অ্যামাজন মেশিন লার্নিং সলিউশন ল্যাব (এমএলএসএল) সম্প্রতি নাম-সত্তা স্বীকৃতি (NER) এবং সম্পর্ক লেবেল ব্যবহার করে পাঠ্য টীকা করার জন্য একটি টুল তৈরি করেছে আমাজন সেজমেকার গ্রাউন্ড ট্রুথ. টীকাকাররা এই টুলটি ব্যবহার করে নামযুক্ত সত্তার সাথে পাঠ্য লেবেল করতে এবং তাদের সম্পর্ক লিঙ্ক করতে, যার ফলে অত্যাধুনিক প্রাকৃতিক ভাষা প্রক্রিয়াকরণ (NLP) মেশিন লার্নিং (ML) মডেলের প্রশিক্ষণের জন্য একটি ডেটাসেট তৈরি করা হয়। সবচেয়ে গুরুত্বপূর্ণ, এটি এখন সমস্ত AWS গ্রাহকদের জন্য সর্বজনীনভাবে উপলব্ধ৷
গ্রাহক ব্যবহারের ক্ষেত্রে: Booking.com
Booking.com বিশ্বের শীর্ষস্থানীয় অনলাইন ভ্রমণ প্ল্যাটফর্মগুলির মধ্যে একটি। প্ল্যাটফর্মে কোম্পানির 28 মিলিয়ন+ সম্পত্তি তালিকা সম্পর্কে গ্রাহকরা কী বলছেন তা বোঝা একটি সেরা গ্রাহক অভিজ্ঞতা বজায় রাখার জন্য অপরিহার্য। পূর্বে, Booking.com স্কেলে গ্রাহক-উত্পাদিত পর্যালোচনাগুলি ব্যাখ্যা করার জন্য শুধুমাত্র ঐতিহ্যগত অনুভূতি বিশ্লেষণ ব্যবহার করতে পারত। এই ব্যাখ্যাগুলির নির্দিষ্টতা আপগ্রেড করার জন্য, Booking.com সম্প্রতি একটি দৃষ্টিভঙ্গি-ভিত্তিক অনুভূতি বিশ্লেষণ মডেল প্রশিক্ষণের জন্য একটি কাস্টম টীকাযুক্ত ডেটাসেট তৈরিতে সহায়তার জন্য MLSL-এর দিকে ফিরেছে৷
ঐতিহ্যগত অনুভূতি বিশ্লেষণ হল পাঠ্যের একটি অংশকে ইতিবাচক, নেতিবাচক বা নিরপেক্ষ হিসাবে শ্রেণীবদ্ধ করার প্রক্রিয়া। একক অনুভূতি. ব্যবহারকারীরা কোন বিশেষ অভিজ্ঞতার সাথে সন্তুষ্ট বা অসন্তুষ্ট কিনা তা বিস্তৃতভাবে বোঝার জন্য এটি কাজ করে। উদাহরণস্বরূপ, ঐতিহ্যগত অনুভূতি বিশ্লেষণের সাথে, নিম্নলিখিত পাঠ্যটিকে "নিরপেক্ষ" হিসাবে শ্রেণীবদ্ধ করা যেতে পারে:
হোটেলে আমাদের থাকাটা চমৎকার ছিল। কর্মীরা বন্ধুত্বপূর্ণ এবং রুম পরিষ্কার ছিল, কিন্তু আমাদের বিছানা বেশ অস্বস্তিকর ছিল.
দৃষ্টিভঙ্গি-ভিত্তিক অনুভূতি বিশ্লেষণ বিষয়বস্তুর আরও সূক্ষ্ম বোঝার প্রস্তাব দেয়। Booking.com-এর ক্ষেত্রে, সম্পূর্ণরূপে একটি গ্রাহক পর্যালোচনা নেওয়া এবং এটিকে স্পষ্টভাবে শ্রেণীবদ্ধ করার পরিবর্তে, এটি একটি পর্যালোচনার মধ্যে থেকে অনুভূতি নিতে পারে এবং এটি নির্দিষ্ট দিকগুলিতে বরাদ্দ করতে পারে। উদাহরণস্বরূপ, একটি প্রদত্ত হোটেলের গ্রাহক পর্যালোচনাগুলি নিষ্কলুষ পুল এবং ফিটনেস এলাকার প্রশংসা করতে পারে, তবে রেস্তোরাঁ এবং লাউঞ্জ সম্পর্কে সমালোচনামূলক প্রতিক্রিয়া দিতে পারে।
যে বিবৃতিটি ঐতিহ্যগত অনুভূতি বিশ্লেষণের দ্বারা "নিরপেক্ষ" হিসাবে শ্রেণীবদ্ধ করা হবে, দৃষ্টিভঙ্গি-ভিত্তিক অনুভূতি বিশ্লেষণ সহ, হয়ে উঠবে:
হোটেলে আমাদের থাকাটা চমৎকার ছিল। কর্মীরা বন্ধুত্বপূর্ণ এবং রুম পরিষ্কার ছিল, কিন্তু আমাদের বিছানা বেশ অস্বস্তিকর ছিল.
- হোটেল: ইতিবাচক
- স্টাফ: ইতিবাচক
- রুম: ইতিবাচক
- শয্যা: নেতিবাচক
Booking.com একটি কাস্টম দৃষ্টিভঙ্গি-ভিত্তিক অনুভূতি বিশ্লেষণ মডেল তৈরি করতে চেয়েছিল যা তাদের বলে দেবে অতিথি অভিজ্ঞতার কোন নির্দিষ্ট অংশগুলি (50+ দিকগুলির তালিকা থেকে) ধনাত্মক, নেতিবাচক, বা নিরপেক্ষ.
Booking.com এই মডেলের জন্য একটি প্রশিক্ষণ ডেটাসেট তৈরি করার আগে, তাদের এটি টীকা করার একটি উপায় প্রয়োজন। এমএলএসএল-এর টীকা টুলটি অত্যন্ত প্রয়োজনীয় কাস্টমাইজড সমাধান প্রদান করেছে। হোটেল পর্যালোচনার একটি বড় সংগ্রহে মানব পর্যালোচনা করা হয়েছিল। তারপর, টীকাকারীরা উপযুক্ত স্প্যানগুলিকে একসাথে লিঙ্ক করার আগে অনুভূতি এবং অতিথি-অভিজ্ঞতার পাঠ্য স্প্যান এবং বাক্যাংশগুলির উপর নাম-সত্তার টীকা সম্পূর্ণ করেছেন।
নতুন দিক-ভিত্তিক মডেলটি Booking.com-কে তার গ্রাহকদের জন্য থাকার ব্যবস্থা এবং পর্যালোচনা উভয়ই ব্যক্তিগতকৃত করতে দেয়। প্রতিটি বাসস্থানের ইতিবাচক এবং নেতিবাচক দিকগুলি হাইলাইট করা গ্রাহকদের তাদের নিখুঁত মিল চয়ন করতে সক্ষম করে। উপরন্তু, বিভিন্ন গ্রাহকরা বাসস্থানের বিভিন্ন দিক সম্পর্কে যত্নশীল, এবং নতুন মডেল প্রত্যেকের কাছে সবচেয়ে প্রাসঙ্গিক পর্যালোচনা দেখানোর সুযোগ উন্মুক্ত করে।
লেবেলিং প্রয়োজনীয়তা
যদিও গ্রাউন্ড ট্রুথ একটি অন্তর্নির্মিত NER টেক্সট টীকা করার ক্ষমতা প্রদান করে, এটি সত্তাকে একসাথে লিঙ্ক করার ক্ষমতা প্রদান করে না। এটি মাথায় রেখে, Booking.com এবং MLSL একটি নতুন নামযুক্ত সত্তা স্বীকৃতি পাঠ্য লেবেলিং টুলের জন্য নিম্নোক্ত উচ্চ-স্তরের প্রয়োজনীয়তাগুলি তৈরি করেছে:
- ইনপুট হিসাবে গ্রহণ করে: পাঠ, সত্তা লেবেল, সম্পর্কের লেবেল, এবং শ্রেণিবিন্যাস লেবেল.
- ঐচ্ছিকভাবে পূর্ববর্তী লেবেল এবং সম্পর্ক টীকা সহ ইনপুট প্রাক-টীকাযুক্ত ডেটা হিসাবে গ্রহণ করে.
- টীকাবিহীন বা পূর্ব-টীকাযুক্ত পাঠ্য সহ টীকা উপস্থাপন করে।
- টীকাকারদের একটি সত্তা লেবেল সহ নির্বিচারে পাঠ্য হাইলাইট এবং টীকা করার অনুমতি দেয়৷
- টীকাকারদের দুটি সত্তা টীকাগুলির মধ্যে সম্পর্ক তৈরি করার অনুমতি দেয়৷
- টীকাকারদের সহজেই বড় সংখ্যক সত্তা লেবেল নেভিগেট করার অনুমতি দেয়।
- বিভাগগুলিতে সত্তা লেবেলগুলিকে সমর্থন করে৷
- ওভারল্যাপিং সম্পর্কের অনুমতি দিন, যার অর্থ হল একই টীকাযুক্ত পাঠ্য বিভাগ একাধিক অন্যান্য টীকাযুক্ত পাঠ্য বিভাগের সাথে সম্পর্কিত হতে পারে।
- সত্তা লেবেল টীকাকে ওভারল্যাপ করার অনুমতি দেয়, যার অর্থ হল দুটি টীকা একই টেক্সটকে ওভারল্যাপ করতে পারে। উদাহরণস্বরূপ, "সিয়াটেল স্পেস নিডেল" পাঠ্যটিতে "সিয়াটেল" → "অবস্থান" এবং "সিয়াটেল স্পেস নিডল" → "আকর্ষণ" উভয় টীকা থাকতে পারে।
- আউটপুট বিন্যাস ইনপুট বিন্যাসের সাথে সামঞ্জস্যপূর্ণ, এবং এটি পরবর্তী লেবেলিংয়ের কাজগুলিতে ফেরত দেওয়া যেতে পারে।
- ইমোজি এবং অন্যান্য মাল্টি-বাইট অক্ষর ধারণকারী UTF-8 এনকোড করা পাঠ্য সমর্থন করে।
- বাম থেকে ডান ভাষা সমর্থন করে।
নমুনা টীকা
নিম্নলিখিত নথি বিবেচনা করুন:
আমরা এই হোটেলের অবস্থান পছন্দ! রুফটপ লাউঞ্জ আমাদের স্পেস সুই এর নিখুঁত ভিউ দিয়েছে। এটি পাইক প্লেস মার্কেট এবং ওয়াটারফ্রন্ট থেকে একটি ছোট ড্রাইভ দূরে।
খাবার শুধুমাত্র রুম সার্ভিসের মাধ্যমে পাওয়া যেত, যা একটু হতাশাজনক ছিল কিন্তু এই মহামারী পরবর্তী বিশ্বে অর্থবহ।
সামগ্রিকভাবে, একটি যুক্তিসঙ্গত মূল্যের অভিজ্ঞতা।
এই নথিটি নতুন NER টীকাতে লোড করা হলে নিম্নলিখিত ইন্টারফেসের সাথে একজন কর্মী উপস্থাপন করে:
এই ক্ষেত্রে, কর্মীর কাজ হল:
- সম্পত্তির (অবস্থান, মূল্য, খাদ্য, ইত্যাদি) সম্পর্কিত সত্তা লেবেল করুন
- অনুভূতি সম্পর্কিত সত্তা লেবেল করুন (ইতিবাচক, নেতিবাচক, বা নিরপেক্ষ)
- অতিথির অভিজ্ঞতা সঠিকভাবে ক্যাপচার করতে সম্পত্তি-সম্পর্কিত নামযুক্ত সত্তাকে অনুভূতি-সম্পর্কিত কীওয়ার্ডের সাথে লিঙ্ক করুন
টীকা গতি টুলের একটি গুরুত্বপূর্ণ বিবেচনা ছিল. স্বজ্ঞাত কীবোর্ড শর্টকাট এবং মাউস অঙ্গভঙ্গির একটি ক্রম ব্যবহার করে, টীকাকারীরা ইন্টারফেস চালাতে পারে এবং:
- নামযুক্ত সত্তা টীকা যোগ করুন এবং সরান
- নামযুক্ত সত্তার মধ্যে সম্পর্ক যোগ করুন
- নথির শুরুতে এবং শেষে যান
- নথি জমা দিন
উপরন্তু, ওভারল্যাপিং লেবেল জন্য সমর্থন আছে. উদাহরণ স্বরূপ, Seattle Space Needle
: এই বাক্যাংশে, Seattle
নিজের দ্বারা একটি অবস্থান এবং আকর্ষণ নামের অংশ হিসাবে উভয়ই টীকা করা হয়।
সম্পূর্ণ টীকাটি ডেটার আরও সম্পূর্ণ, সূক্ষ্ম বিশ্লেষণ প্রদান করে:
সম্পর্কগুলি অনেক স্তরে কনফিগার করা যেতে পারে, সত্তা বিভাগ থেকে অন্যান্য সত্তা বিভাগ (উদাহরণস্বরূপ, "খাদ্য" থেকে "অনুভূতি" পর্যন্ত), বা পৃথক সত্তা প্রকারের মধ্যে। সম্পর্কগুলি নির্দেশিত হয়, তাই টীকাকাররা খাবারের মতো একটি দিককে অনুভূতির সাথে লিঙ্ক করতে পারে, তবে এর বিপরীতে নয় (যদি না স্পষ্টভাবে সক্ষম হয়)। সম্পর্ক আঁকার সময়, টীকা টুলটি স্বয়ংক্রিয়ভাবে সম্পর্কের লেবেল এবং দিকনির্দেশ বের করবে।
NER টীকা টুল কনফিগার করা হচ্ছে
এই বিভাগে, আমরা গ্রাহক-নির্দিষ্ট ব্যবহারের ক্ষেত্রে NER টীকা টুলটি কীভাবে কাস্টমাইজ করতে হয় তা কভার করি। এর মধ্যে কনফিগার করা রয়েছে:
- টীকা করার জন্য ইনপুট পাঠ্য
- সত্তা লেবেল
- সম্পর্কের লেবেল
- শ্রেণিবিন্যাস লেবেল
- প্রাক-টীকাযুক্ত ডেটা
- কর্মীর নির্দেশ
আমরা ইনপুট এবং আউটপুট নথি বিন্যাসের সুনির্দিষ্ট বিষয়গুলি কভার করব, পাশাপাশি প্রতিটির কিছু উদাহরণ প্রদান করব।
ইনপুট নথি বিন্যাস
NER টীকা টুলটি নিম্নলিখিত JSON ফর্ম্যাট ইনপুট নথির প্রত্যাশা করে (নামের পাশে একটি প্রশ্ন চিহ্ন সহ ক্ষেত্রগুলি ঐচ্ছিক)।
সংক্ষেপে, ইনপুট বিন্যাসে এই বৈশিষ্ট্যগুলি রয়েছে:
- উভয় ক্ষেত্রেই
entityLabels
orclassificationLabels
(বা উভয়) টীকা প্রয়োজন. - If
entityLabels
দেওয়া হয়, তারপরrelationshipLabels
যুক্ত হতে পারে. - বিভিন্ন সত্তা/বিভাগের লেবেল বা এইগুলির মিশ্রণের মধ্যে সম্পর্ক অনুমোদিত হতে পারে।
- একটি সম্পর্কের "উৎস" হল সেই সত্তা যা দিয়ে নির্দেশিত তীরটি শুরু হয়, যখন "লক্ষ্য" হল যেখানে এটি যাচ্ছে।
ক্ষেত্র | আদর্শ | বিবরণ |
পাঠ | স্ট্রিং | প্রয়োজন। টীকা জন্য ইনপুট পাঠ্য. |
টোকেন সারি | স্ট্রিং[][] | ঐচ্ছিক। ইনপুট পাঠ্যের কাস্টম টোকেনাইজেশন। স্ট্রিং এর অ্যারে অ্যারে. শীর্ষ স্তরের অ্যারে পাঠ্যের প্রতিটি সারির প্রতিনিধিত্ব করে (লাইন বিরতি), এবং দ্বিতীয় স্তরের অ্যারে প্রতিটি সারিতে টোকেন উপস্থাপন করে। ইনপুট পাঠ্যের সমস্ত অক্ষর/রুনগুলিকে অবশ্যই টোকেনরোতে হিসাব করতে হবে, যে কোনো সাদা স্থান সহ। |
ডকুমেন্ট আইডি | স্ট্রিং | ঐচ্ছিক। নথি টীকা করা হচ্ছে ট্র্যাক রাখা গ্রাহকদের জন্য ঐচ্ছিক মান. |
সত্তা লেবেল | বস্তু[] | শ্রেণীবিভাগ লেবেল ফাঁকা থাকলে প্রয়োজন। সত্তা লেবেলের অ্যারে। |
entityLabels[].name | স্ট্রিং | প্রয়োজন। সত্তা লেবেল প্রদর্শন নাম। |
entityLabels[].category | স্ট্রিং | ঐচ্ছিক। সত্তা লেবেল বিভাগের নাম। |
entityLabels[].shortName | স্ট্রিং | ঐচ্ছিক। সম্পূর্ণ নামের পরিবর্তে টীকাকৃত সত্তার উপরে এই পাঠ্যটি প্রদর্শন করুন। |
entityLabels[].shortCategory | স্ট্রিং | ঐচ্ছিক। বিভাগের নামের প্রথম চারটি অক্ষরের পরিবর্তে সত্তা টীকা নির্বাচন ড্রপডাউনে এই পাঠ্যটি প্রদর্শন করুন। |
entityLabels.color | স্ট্রিং | ঐচ্ছিক। "#" উপসর্গ সহ হেক্স রঙের কোড। যদি ফাঁকা হয়, তাহলে এটি স্বয়ংক্রিয়ভাবে সত্তা লেবেলে একটি রঙ বরাদ্দ করবে। |
সম্পর্ক লেবেল | বস্তু[] | ঐচ্ছিক। সম্পর্ক লেবেল অ্যারে. |
সম্পর্কলেবেল[].নাম | স্ট্রিং | প্রয়োজন। সম্পর্ক লেবেল প্রদর্শন নাম. |
RelationshipLabels[].alllowed Relationships | বস্তু[] | ঐচ্ছিক। কোন ধরনের উৎস এবং গন্তব্য সত্তা লেবেল এই সম্পর্ককে বরাদ্দ করা যেতে পারে তা সীমাবদ্ধ করে মানগুলির অ্যারে৷ অ্যারের প্রতিটি আইটেম একসাথে "OR'ed" হয়। |
RelationshipLabels[].alllowed Relationships[].sourceEntityLabelCategories | স্ট্রিং[] | sourceEntityLabelCategories বা sourceEntityLabels (বা উভয়) সেট করার জন্য প্রয়োজন। এই সম্পর্কের জন্য আইনি উৎস সত্তা লেবেল বিভাগের প্রকারের তালিকা। |
RelationshipLabels[].alllowed Relationships[].targetEntityLabelCategories | স্ট্রিং[] | হয় targetEntityLabelCategories বা targetEntityLabels (বা উভয়) সেট করতে হবে। এই সম্পর্কের জন্য আইনি লক্ষ্য সত্তা লেবেল বিভাগের প্রকারের তালিকা। |
RelationshipLabels[].alllowed Relationships[].sourceEntityLabels | স্ট্রিং[] | sourceEntityLabelCategories বা sourceEntityLabels (বা উভয়) সেট করার জন্য প্রয়োজন। এই সম্পর্কের জন্য আইনি উৎস সত্তা লেবেল প্রকারের তালিকা। |
RelationshipLabels[].alllowed Relationships[].sourceEntityLabels | স্ট্রিং[] | হয় targetEntityLabelCategories বা targetEntityLabels (বা উভয়) সেট করতে হবে। এই সম্পর্কের জন্য আইনি লক্ষ্য সত্তা লেবেল প্রকারের তালিকা। |
শ্রেণিবিন্যাস লেবেল | স্ট্রিং[] | entityLabels ফাঁকা থাকলে প্রয়োজনীয়। নথি স্তরের শ্রেণিবিন্যাস লেবেলের তালিকা। |
সত্তা টীকা | বস্তু[] | ঐচ্ছিক। ইনপুট টেক্সট প্রাক-টীকা করার জন্য সত্তার অ্যানোটেশনের অ্যারে। |
entity টীকা[].id | স্ট্রিং | প্রয়োজন। এই সত্তা টীকা জন্য অনন্য শনাক্তকারী. সম্পর্ক অ্যানোটেশনে এই সত্তার উল্লেখ করতে ব্যবহৃত হয়। |
সত্তা টীকা[].শুরু | সংখ্যা | প্রয়োজন। এই সত্তা টীকাটির রুন অফসেট শুরু করুন। |
সত্তা টীকা[].শেষ | সংখ্যা | প্রয়োজন। এই সত্তা টীকা অফসেট শেষ রুন. |
সত্তা টীকা[].টেক্সট | স্ট্রিং | প্রয়োজন। শুরু এবং শেষ রুন অফসেটের মধ্যে পাঠ্য বিষয়বস্তু। |
সত্তার টীকা[].লেবেল | স্ট্রিং | প্রয়োজন। অ্যাসোসিয়েটেড এন্টিটি লেবেলের নাম (এনটিটি লেবেলের নাম থেকে)। |
entityAnotations[].labelCategory | স্ট্রিং | ঐচ্ছিক।সংশ্লিষ্ট সত্তা লেবেল বিভাগ (এন্টিটি লেবেলের বিভাগ থেকে)। |
সম্পর্ক টীকা | বস্তু[] | ঐচ্ছিক। সম্পর্কের টীকাগুলির অ্যারে৷ |
relationshipAnnotations[].sourceEntityAnnotationId | স্ট্রিং | প্রয়োজন। এই সম্পর্কের জন্য উৎস সত্তা টীকা আইডি। |
relationshipAnnotations[].targetEntityAnnotationId | স্ট্রিং | প্রয়োজন। এই সম্পর্কের জন্য টার্গেট সত্তা টীকা আইডি। |
সম্পর্ক টীকা[].লেবেল | স্ট্রিং | প্রয়োজন। সংশ্লিষ্ট সম্পর্ক লেবেলের নাম। |
শ্রেণীবিভাগ টীকা | স্ট্রিং[] | ঐচ্ছিক। ডকুমেন্টের সাথে প্রাক-টীকা করার জন্য শ্রেণীবিভাগের অ্যারে। |
মেটা | লক্ষ্য | ঐচ্ছিক। অতিরিক্ত কনফিগারেশন পরামিতি। |
meta.instructions | স্ট্রিং | ঐচ্ছিক। মার্কডাউন বিন্যাসে লেবেল টীকাকারের জন্য নির্দেশাবলী। |
meta.disableSubmit নিশ্চিতকরণ | বুলিয়ান | ঐচ্ছিক। জমা নিশ্চিতকরণ মডেল নিষ্ক্রিয় করতে সত্য সেট করুন। |
meta.multiClassification | বুলিয়ান | ঐচ্ছিক। শ্রেণীবিভাগ লেবেলগুলির জন্য মাল্টি-লেবেল মোড সক্ষম করতে সত্যে সেট করুন৷ |
এই ইনপুট বিন্যাসের আরও ভাল ধারণা পেতে এখানে কয়েকটি নমুনা নথি রয়েছে
এই স্কিমা মেনে চলা নথিগুলি একটি ইনপুট ম্যানিফেস্টে পৃথক লাইন আইটেম হিসাবে গ্রাউন্ড ট্রুথকে সরবরাহ করা হয়।
আউটপুট ডকুমেন্ট ফরম্যাট
আউটপুট বিন্যাসটি একটি নতুন টীকা টাস্কে সহজেই প্রতিক্রিয়া জানাতে ডিজাইন করা হয়েছে। আউটপুট নথিতে ঐচ্ছিক ক্ষেত্রগুলি সেট করা হয় যদি সেগুলি ইনপুট নথিতেও সেট করা থাকে। ইনপুট এবং আউটপুট ফরম্যাটের মধ্যে একমাত্র পার্থক্য হল meta
অবজেক্ট।
ক্ষেত্র | আদর্শ | বিবরণ |
meta.rejected | বুলিয়ান | যদি টীকাকারী এই নথিটি প্রত্যাখ্যান করে তবে সত্য হিসাবে সেট করা হয়৷ |
meta.rejectedReason | স্ট্রিং | নথি প্রত্যাখ্যান করার জন্য টীকাকারের কারণ দেওয়া হয়েছে। |
meta.runes | স্ট্রিং[] | ইনপুট পাঠ্যের সমস্ত অক্ষরের জন্য রুনসের অ্যারে অ্যাকাউন্টিং। সত্তার টীকা শুরু এবং শেষ অফসেট গণনা করতে ব্যবহৃত হয়। |
এখানে একটি নমুনা আউটপুট নথি যা টীকা করা হয়েছে:
রুনস নোট:
এই প্রসঙ্গে একটি "রুন" হল পাঠ্যের একটি একক হাইলাইট-যোগ্য অক্ষর, যার মধ্যে ইমোজির মতো মাল্টি-বাইট অক্ষর রয়েছে।
- কারণ বিভিন্ন প্রোগ্রামিং ভাষা মাল্টি-বাইট অক্ষরকে ভিন্নভাবে উপস্থাপন করে, প্রতিটি হাইলাইট-সক্ষম অক্ষরকে একটি একক পারমাণবিক উপাদান হিসাবে সংজ্ঞায়িত করার জন্য "Runes" ব্যবহার করার অর্থ হল যে কোনো প্রদত্ত পাঠ্য নির্বাচনকে বর্ণনা করার জন্য আমাদের কাছে একটি দ্ব্যর্থহীন উপায় রয়েছে।
- উদাহরণস্বরূপ, পাইথন সুইডিশ পতাকাকে চারটি অক্ষর হিসাবে বিবেচনা করে:
কিন্তু জাভাস্ক্রিপ্ট একই ইমোজিকে দুটি অক্ষর হিসেবে বিবেচনা করে
কোনো অস্পষ্টতা দূর করতে, আমরা সুইডিশ পতাকাকে (এবং অন্যান্য সমস্ত ইমোজি এবং মাল্টি-বাইট অক্ষর) একটি একক পারমাণবিক উপাদান হিসাবে বিবেচনা করব।
- অফসেট: ইনপুট টেক্সটের সাপেক্ষে রুনের অবস্থান (সূচী 0 দিয়ে শুরু)
গ্রাউন্ড ট্রুথ সহ NER টীকাগুলি সম্পাদন করা
একটি সম্পূর্ণরূপে পরিচালিত ডেটা লেবেলিং পরিষেবা হিসাবে, গ্রাউন্ড ট্রুথ ML-এর জন্য প্রশিক্ষণ ডেটাসেট তৈরি করে৷ এই ব্যবহারের ক্ষেত্রে, আমরা গ্রাউন্ড ট্রুথ ব্যবহার করি টেক্সট নথির সংগ্রহকে টীকা দেওয়ার জন্য কর্মীদের একটি পুলে পাঠাতে। অবশেষে, আমরা মানের জন্য পর্যালোচনা করি।
গ্রাউন্ড ট্রুথ একটি কাস্টম টেমপ্লেট হিসাবে নতুন NER টুল ব্যবহার করে একটি ডেটা লেবেলিং কাজ তৈরি করতে কনফিগার করা যেতে পারে।
বিশেষ করে, আমরা করব:
- টীকা টাস্ক সঞ্চালনের জন্য কর্মীদের একটি ব্যক্তিগত লেবেলিং কর্মীবাহিনী তৈরি করুন
- আমরা যে নথিগুলি টীকা করতে চাই তার সাথে একটি গ্রাউন্ড ট্রুথ ইনপুট ম্যানিফেস্ট তৈরি করুন এবং তারপরে এটি আপলোড করুন অ্যামাজন সিম্পল স্টোরেজ সার্ভিস (অ্যামাজন এস 3)
- প্রি-লেবেলিং টাস্ক এবং পোস্ট-লেবেলিং টাস্ক Lambda ফাংশন তৈরি করুন
- কাস্টম NER টেমপ্লেট ব্যবহার করে একটি গ্রাউন্ড ট্রুথ লেবেলিং কাজ তৈরি করুন
- নথি টীকা
- ফলাফল পর্যালোচনা করুন
এনইআর টুল রিসোর্স
উল্লেখিত সম্পদ এবং নমুনা নথিগুলির একটি সম্পূর্ণ তালিকা নিম্নলিখিত চার্টে পাওয়া যাবে:
লেবেলিং কর্মশক্তি সৃষ্টি
গ্রাউন্ড ট্রুথ কর্মীদের পরিচালনা এবং কাজগুলি বিতরণ করতে সেজমেকার লেবেলিং কর্মীবাহিনী ব্যবহার করে। একটি ব্যক্তিগত কর্মীবাহিনী তৈরি করুন, একটি কর্মী দল যাকে বলা হয় ner-worker-team, এবং প্রাপ্ত নির্দেশাবলী ব্যবহার করে নিজেকে দলে নিয়োগ করুন একটি ব্যক্তিগত কর্মশক্তি তৈরি করুন (Amazon SageMaker Console).
একবার আপনি নিজেকে একটি প্রাইভেট ওয়ার্কফোর্সে যুক্ত করার পরে এবং আপনার ইমেল নিশ্চিত করার পরে, AWS ম্যানেজমেন্ট কনসোল থেকে কর্মী পোর্টাল URL টি নোট করুন:
- নেভিগেট করুন
SageMaker
- নেভিগেট করুন
Ground Truth → Labeling workforces
- নির্বাচন করুন
Private
ট্যাব - URL টি নোট করুন
Labeling portal sign-in URL
কর্মী পোর্টালে লগ ইন করুন এবং লেবেলিং টাস্কগুলিতে কাজ শুরু করুন৷
ইনপুট ম্যানিফেস্ট
গ্রাউন্ড ট্রুথ ইনপুট ডেটা ম্যানিফেস্ট হল একটি JSON-লাইন ফাইল যেখানে প্রতিটি লাইনে একটি একক কর্মী টাস্ক থাকে। আমাদের ক্ষেত্রে, প্রতিটি লাইনে একটি একক JSON এনকোড করা ইনপুট নথি থাকবে যাতে আমরা যে পাঠ্যটি টীকা করতে চাই তা এবং NER টীকা স্কিমা।
একটি নমুনা ইনপুট ম্যানিফেস্ট ডাউনলোড করুন reviews.manifest
থেকে https://assets.solutions-lab.ml/NER/0.2.1/sample-data/reviews.manifest
বিঃদ্রঃ: ইনপুট ম্যানিফেস্টের প্রতিটি সারি একটি শীর্ষ-স্তরের কী প্রয়োজন৷ source
or source-ref
. আপনি আরও শিখতে পারেন একটি ইনপুট ম্যানিফেস্ট ফাইল ব্যবহার করুন অ্যামাজন সেজমেকার ডেভেলপার গাইডে।
Amazon S3 এ ইনপুট ম্যানিফেস্ট আপলোড করুন
AWS ম্যানেজমেন্ট কনসোল ব্যবহার করে বা কমান্ড লাইন থেকে এই ইনপুট ম্যানিফেস্টটিকে একটি S3 বালতিতে আপলোড করুন, যার ফলে প্রতিস্থাপন করুন your-bucket
একটি প্রকৃত বালতি নাম সহ।
কাস্টম কর্মী টেমপ্লেট ডাউনলোড করুন
থেকে NER টুল কাস্টম ওয়ার্কার টেমপ্লেট ডাউনলোড করুন https://assets.solutions-lab.ml/NER/0.2.1/worker-template.liquid.html উত্সটি দেখে এবং স্থানীয়ভাবে বিষয়বস্তু সংরক্ষণ করে, বা কমান্ড লাইন থেকে:
প্রি-লেবেলিং টাস্ক এবং পোস্ট-লেবেলিং টাস্ক Lambda ফাংশন তৈরি করুন
নমুনা প্রি-লেবেলিং টাস্ক ল্যাম্বডা ফাংশন ডাউনলোড করুন: smgt-ner-pre-labeling-task-lambda.py
থেকে https://assets.solutions-lab.ml/NER/0.2.1/sample-scripts/smgt-ner-pre-labeling-task-lambda.py
নমুনা প্রি-লেবেলিং টাস্ক ল্যাম্বডা ফাংশন ডাউনলোড করুন: smgt-ner-post-labeling-task-lambda.py
থেকে https://assets.solutions-lab.ml/NER/0.2.1/sample-scripts/smgt-ner-post-labeling-task-lambda.py
- AWS ম্যানেজমেন্ট কনসোল থেকে প্রি-লেবেলিং টাস্ক Lambda ফাংশন তৈরি করুন:
- নেভিগেট করুন
Lambda
- নির্বাচন করা
Create function
- নির্দিষ্ট করুন
Function name
assmgt-ner-pre-labeling-task-lambda
- নির্বাচন করা
Runtime
→Python 3.6
- নির্বাচন করা
Create function
- In
Function code
→lambda_hanadler.py
, এর বিষয়বস্তু পেস্ট করুনsmgt-ner-pre-labeling-task-lambda.py
- নির্বাচন করা
Deploy
- নেভিগেট করুন
- AWS ম্যানেজমেন্ট কনসোল থেকে পোস্ট-লেবেলিং টাস্ক Lambda ফাংশন তৈরি করুন:
- নেভিগেট করুন
Lambda
- নির্বাচন করা
Create function
- নির্দিষ্ট করুন
Function name
assmgt-ner-post-labeling-task-lambda
- নির্বাচন করা
Runtime
→Python 3.6
- বিস্তৃত করা
Change default execution role
- নির্বাচন করা
Create a new role from AWS policy templates
- প্রবেশ করান
Role name
:smgt-ner-post-labeling-task-lambda-role
- নির্বাচন করা
Create function
- নির্বাচন করুন
Permissions
ট্যাব - নির্বাচন করুন
Role name
:smgt-ner-post-labeling-task-lambda-role
IAM কনসোল খুলতে - ভূমিকায় দুটি নীতি যোগ করুন
- নির্বাচন করা
Attach policies
- সংযুক্ত করুন
AmazonS3FullAccess
নীতি - নির্বাচন করা
Add inline policy
- নির্বাচন করুন
JSON
ট্যাব - নিম্নলিখিত ইনলাইন নীতিতে আটকান:
- নির্বাচন করা
- ফিরে নেভিগেট করুন
smgt-ner-post-labeling-task-lambda
ল্যাম্বডা ফাংশন কনফিগারেশন পৃষ্ঠা - নির্বাচন করুন
Configuration
ট্যাব - In
Function code
→ lambda_hanadler.py
, এর বিষয়বস্তু পেস্ট করুনsmgt-ner-post-labeling-task-lambda.py
- নির্বাচন করা
Deploy
- নেভিগেট করুন
একটি গ্রাউন্ড ট্রুথ লেবেলিং কাজ তৈরি করুন
AWS ম্যানেজমেন্ট কনসোল থেকে:
- নেভিগেট করুন
Amazon SageMaker
সেবা - নেভিগেট করুন
Ground Truth
→Labeling Jobs
. - নির্বাচন করা
Create labeling job
- একটি নির্দিষ্ট করুন
Job Name
- নির্বাচন করা
Manual Data Setup
- ইনপুট ডেটাসেটের অবস্থান নির্দিষ্ট করুন যেখানে আপনি আগে ইনপুট ম্যানিফেস্ট আপলোড করেছিলেন (যেমন, s
3://your-bucket/ner-input/sample-smgt-input-manifest.jsonl
) - একই বালতিতে একটি ভিন্ন ফোল্ডারে নির্দেশ করতে আউটপুট ডেটাসেটের অবস্থান নির্দিষ্ট করুন (যেমন,
s3://your-bucket/ner-output/
) - একটি নির্দিষ্ট করুন
IAM Role
নির্বাচন করেCreate new role
- এই ভূমিকাটি নির্বাচন করে যেকোনো S3 বাকেট অ্যাক্সেস করার অনুমতি দিন
S3 buckets you specify
→Any S3 bucket
নীতি তৈরি করার সময় - একটি নতুন AWS ম্যানেজমেন্ট কনসোল উইন্ডোতে, খুলুন
IAM
কনসোল এবং নির্বাচন করুনRoles
- আপনি এইমাত্র যে ভূমিকাটি তৈরি করেছেন তার নাম খুঁজুন (উদাহরণস্বরূপ,
AmazonSageMaker-ExecutionRole-20210301T154158
) - কনসোলে ভূমিকা খুলতে ভূমিকার নাম নির্বাচন করুন
- নিম্নলিখিত তিনটি নীতি সংযুক্ত করুন:
- সংযুক্তি নীতি নির্বাচন করুন
- সংযুক্ত করুন
AWSLambda_FullAccess
ভূমিকা - নির্বাচন করা
Trust Relationships
→Edit Trust Relationships
- বিশ্বাস সম্পর্ক JSON সম্পাদনা করুন,
- প্রতিস্থাপন করা
YOUR_ACCOUNT_NUMBER
আপনার সংখ্যাসূচক AWS অ্যাকাউন্ট নম্বর সহ, পড়তে: - আস্থার সম্পর্ক রক্ষা করুন
- এই ভূমিকাটি নির্বাচন করে যেকোনো S3 বাকেট অ্যাক্সেস করার অনুমতি দিন
- আগের AWS ম্যানেজমেন্ট কনসোল উইন্ডোতে নতুন গ্রাউন্ড ট্রুথ চাকরিতে ফিরে যান: অধীনে
Task Category
, নির্বাচন করুনCustom
- নির্বাচন করা
Next
- নির্বাচন করা
Worker types
:Private
- নির্বাচন করুন
Private team
:ner-worker-team
যা পূর্ববর্তী বিভাগে তৈরি করা হয়েছিল - মধ্যে
Custom labeling task setup
টেক্সট এরিয়া, ডিফল্ট কন্টেন্ট সাফ করুন এবং কন্টেন্ট পেস্ট করুনworker-template.liquid.html
আগে প্রাপ্ত ফাইল - উল্লেখ
Pre-labeling task Lambda function
পূর্বে তৈরি ফাংশন সহ:smgt-ner-pre-labeling
- উল্লেখ
Post-labeling task Lambda function
আগে তৈরি ফাংশন সহ:smgt-ner-post-labeling
- নির্বাচন করা
Create
নথি টীকা
একবার গ্রাউন্ড ট্রুথ কাজ তৈরি হয়ে গেলে, আমরা নথিগুলি টীকা করা শুরু করতে পারি। আগে তৈরি করা আমাদের কর্মীবাহিনীর জন্য কর্মী পোর্টাল খুলুন (AWS ম্যানেজমেন্ট কনসোলে, নেভিগেট করুন SageMaker
, Ground Truth → Labeling workforces
, Private
, এবং খুলুন Labeling portal sign-in URL
)
সাইন ইন করুন এবং টেবিলে প্রথম লেবেল টাস্ক নির্বাচন করুন, এবং তারপর টীকা খুলতে "কাজ শুরু করুন" নির্বাচন করুন৷ আপনার টীকা সম্পাদন করুন এবং নমুনা নথির তিনটিতে জমা দিন নির্বাচন করুন।
ফলাফল পর্যালোচনা করুন
যেহেতু গ্রাউন্ড ট্রুথ টীকাকাররা কাজগুলি সম্পূর্ণ করে, ফলাফলগুলি আউটপুট S3 বালতিতে পাওয়া যাবে:
একবার লেবেলিং কাজের জন্য সমস্ত কাজ সম্পূর্ণ হয়ে গেলে, একত্রিত আউটপুট পাওয়া যায় output.manifest
ফাইল এখানে অবস্থিত:
এই আউটপুট ম্যানিফেস্টটি হল একটি JSON-লাইন ফাইল যার প্রতি লাইনে পূর্বে নির্দিষ্ট করা "আউটপুট ডকুমেন্ট ফরম্যাটে" একটি টীকাযুক্ত পাঠ্য নথি রয়েছে৷ এই ফাইলটি "ইনপুট ডকুমেন্ট ফরম্যাট"-এর সাথে সামঞ্জস্যপূর্ণ, এবং এটিকে পরবর্তী গ্রাউন্ড ট্রুথ কাজের অন্য রাউন্ডের টীকা দেওয়ার জন্য সরাসরি খাওয়ানো যেতে পারে। বিকল্পভাবে, এটি পার্স করা যেতে পারে এবং একটি ML প্রশিক্ষণের কাজে পাঠানো যেতে পারে। কিছু পরিস্থিতিতে যেখানে আমরা টীকাগুলির দ্বিতীয় রাউন্ড নিয়োগ করতে পারি:
- টীকা প্রক্রিয়াটিকে দুটি ধাপে বিভক্ত করা যেখানে প্রথম টীকাকারী সত্তার টীকা সনাক্ত করে এবং দ্বিতীয় টীকাকার সম্পর্কগুলি আঁকে
- আমাদের একটি নমুনা গ্রহণ
output.manifest
এবং গুণমান নিয়ন্ত্রণ পরীক্ষা হিসাবে পর্যালোচনার জন্য একটি সেকেন্ড, আরও অভিজ্ঞ টীকাকারের কাছে পাঠানো হচ্ছে
কাস্টম গ্রাউন্ড ট্রুথ টীকা টেমপ্লেট
এই নথিতে বর্ণিত NER টীকা টুলটি একটি কাস্টম গ্রাউন্ড ট্রুথ টীকা টেমপ্লেট হিসাবে প্রয়োগ করা হয়েছে। AWS গ্রাহকরা এখানে পাওয়া নির্দেশাবলী ব্যবহার করে তাদের নিজস্ব কাস্টম টীকা ইন্টারফেস তৈরি করতে পারেন:
উপসংহার
একসাথে কাজ করার মাধ্যমে, Booking.com এবং Amazon MLSL একটি শক্তিশালী টেক্সট টীকা টুল তৈরি করতে সক্ষম হয়েছে যা জটিল নাম-সত্তা স্বীকৃতি এবং সম্পর্ক টীকা তৈরি করতে সক্ষম।
আমরা এই পোস্টে বর্ণিত টুলটি চেষ্টা করার জন্য একটি NER টেক্সট টীকা ব্যবহারের ক্ষেত্রে AWS গ্রাহকদের উৎসাহিত করি। আপনি যদি আপনার পণ্য এবং পরিষেবাগুলিতে ML-এর ব্যবহার ত্বরান্বিত করতে সাহায্য করতে চান তবে অনুগ্রহ করে যোগাযোগ করুন আমাজন মেশিন লার্নিং সলিউশন ল্যাব.
লেখক সম্পর্কে
ড্যান নোবেল আমাজনের একজন সফ্টওয়্যার ডেভেলপমেন্ট ইঞ্জিনিয়ার যেখানে তিনি আনন্দদায়ক ব্যবহারকারীর অভিজ্ঞতা তৈরি করতে সহায়তা করেন। তার অবসর সময়ে, তিনি তার পরিবারের সাথে পড়া, ব্যায়াম এবং অ্যাডভেঞ্চার উপভোগ করেন।
প্রি ননিস তিনি আমাজন এমএল সলিউশন ল্যাবের একজন ডিপ লার্নিং আর্কিটেক্ট, যেখানে তিনি বিভিন্ন উল্লম্ব জুড়ে গ্রাহকদের সাথে কাজ করেন এবং তাদের ক্লাউড মাইগ্রেশন যাত্রাকে ত্বরান্বিত করতে এবং অত্যাধুনিক সমাধান এবং প্রযুক্তি ব্যবহার করে তাদের এমএল সমস্যা সমাধানে সহায়তা করেন।
নীহারিকা জয়ন্তী AWS-এর একজন ফ্রন্ট এন্ড ইঞ্জিনিয়ার, যেখানে তিনি Amazon SageMaker গ্রাহকদের জন্য কাস্টম টীকা সমাধান তৈরি করেন। কাজের বাইরে, তিনি জাদুঘরে গিয়ে কাজ করতে পছন্দ করেন।
অমিত বেকা এ একজন মেশিন লার্নিং ম্যানেজার Booking.com, সফ্টওয়্যার ডেভেলপমেন্ট এবং মেশিন লার্নিং-এ 15 বছরের বেশি অভিজ্ঞতা সহ। তিনি মানুষ এবং ভাষার প্রতি মুগ্ধ, এবং কিভাবে কম্পিউটার এখনও উভয়ের দ্বারা বিভ্রান্ত হয়।
- '
- 100
- 11
- 7
- সম্পর্কে
- প্রবেশ
- হিসাব
- হিসাবরক্ষণ
- দিয়ে
- কর্ম
- যোগ
- অতিরিক্ত
- সব
- মর্দানী স্ত্রীলোক
- অ্যামাজন মেশিন লার্নিং
- আমাজন সেজমেকার
- অস্পষ্টতা
- বিশ্লেষণ
- এলাকায়
- সহজলভ্য
- সবার জন্য উপলব্ধ
- ডেস্কটপ AWS
- শুরু
- হচ্ছে
- নির্মাণ করা
- ভবন
- যত্ন
- মামলা
- শ্রেণীবিন্যাস
- মেঘ
- কোড
- সংগ্রহ
- জটিল
- কম্পিউটার
- কনফিগারেশন
- বিবেচনা
- কনসোল
- বিষয়বস্তু
- সুখী
- পারা
- তৈরি করা হচ্ছে
- সংকটপূর্ণ
- গ্রাহক অভিজ্ঞতা
- গ্রাহকদের
- উপাত্ত
- গভীর জ্ঞানার্জন
- বিকাশ
- বিকাশকারী
- উন্নয়ন
- বিভিন্ন
- কাগজপত্র
- না
- সহজে
- প্রভাব
- ইমেইল
- ইমোজি
- উত্সাহিত করা
- প্রকৌশলী
- ইত্যাদি
- উদাহরণ
- ফাঁসি
- আশা
- অভিজ্ঞতা
- অভিজ্ঞতা
- পরিবার
- প্রতিপালিত
- প্রতিক্রিয়া
- ক্ষেত্রসমূহ
- পরিশেষে
- প্রথম
- জুত
- খাদ্য
- বিন্যাস
- পাওয়া
- সম্পূর্ণ
- ক্রিয়া
- GIF
- চালু
- অতিথি
- কৌশল
- সাহায্য
- সাহায্য
- এখানে
- লক্ষণীয় করা
- হোটেল
- কিভাবে
- কিভাবে
- HTTPS দ্বারা
- আমি
- বাস্তবায়িত
- গুরুত্বপূর্ণ
- সুদ্ধ
- সূচক
- স্বতন্ত্র
- IT
- জাভাস্ক্রিপ্ট
- কাজ
- যাত্রা
- চাবি
- লেবেল
- লেবেলগুলি
- ভাষা
- ভাষাসমূহ
- বড়
- নেতৃত্ব
- শিখতে
- শিক্ষা
- আইনগত
- উচ্চতা
- মাত্রা
- লাইন
- LINK
- তরল
- তালিকা
- তালিকা
- স্থানীয়ভাবে
- অবস্থান
- খুঁজছি
- মেশিন লার্নিং
- ব্যবস্থাপনা
- ছাপ
- বাজার
- ম্যাচ
- মেটা
- মন
- ML
- মডেল
- অধিক
- জাদুঘর
- নাম
- স্বভাবিক ভাষা
- স্বাভাবিক ভাষা প্রক্রিয়াকরণ
- প্রয়োজন
- NLP
- সংখ্যার
- অফার
- অফসেট
- অনলাইন
- খোলা
- প্রর্দশিত
- সুযোগ
- অন্যান্য
- সম্প্রদায়
- বাক্যাংশ
- মাচা
- প্ল্যাটফর্ম
- নীতি
- নীতি
- পুকুর
- পোর্টাল
- পোস্ট পৃথিবীব্যাপি
- ক্ষমতাশালী
- মূল্য
- অধ্যক্ষ
- ব্যক্তিগত
- প্রক্রিয়া
- পণ্য
- প্রোগ্রামিং
- প্রোগ্রামিং ভাষা
- সম্পত্তি
- প্রদান
- উপলব্ধ
- পাইথন
- গুণ
- প্রশ্ন
- পড়া
- সম্পর্ক
- আবশ্যকতা
- সংস্থান
- Resources
- রেস্টুরেন্ট
- ফলাফল
- এখানে ক্লিক করুন
- পর্যালোচনা
- রুম
- ঋষি নির্মাতা
- রক্ষা
- স্কেল
- অনুভূতি
- অনুভূতি
- সেবা
- সেট
- সংক্ষিপ্ত
- সহজ
- So
- সফটওয়্যার
- সফটওয়্যার উন্নয়ন
- সলিউশন
- সমাধান
- স্থান
- স্পীড
- শুরু
- বিবৃতি
- থাকা
- স্টোরেজ
- সমর্থন
- লক্ষ্য
- প্রযুক্তি
- উৎস
- সময়
- একসঙ্গে
- টোকেনাইজেশন
- টোকেন
- টুল
- শীর্ষ
- উপরের স্তর
- পথ
- ঐতিহ্যগত
- প্রশিক্ষণ
- ভ্রমণ
- আচরণ করা
- একইরূপে
- আস্থা
- us
- ব্যবহারকারী
- মূল্য
- সংস্করণ
- চেক
- কি
- মধ্যে
- হয়া যাই ?
- কাজ করছে
- শ্রমিকদের
- কর্মীসংখ্যার
- কাজ
- কাজের বাইরে
- কাজ
- বিশ্ব
- বিশ্বের
- would
- বছর