Amazon Machine Learning Solutions Lab (MLSL) نے حال ہی میں نام کی ہستی کی شناخت (NER) کے ساتھ متن کی تشریح کرنے کے لیے ایک ٹول بنایا ہے ایمیزون سیج میکر گراؤنڈ ٹروتھ. تشریح کنندگان اس ٹول کا استعمال نام شدہ اداروں کے ساتھ متن کو لیبل کرنے اور ان کے تعلقات کو جوڑنے کے لیے کرتے ہیں، اس طرح جدید ترین قدرتی زبان کی پروسیسنگ (NLP) مشین لرننگ (ML) ماڈلز کی تربیت کے لیے ڈیٹاسیٹ تیار کرتے ہیں۔ سب سے اہم بات، یہ اب عوامی طور پر تمام AWS صارفین کے لیے دستیاب ہے۔
کسٹمر کے استعمال کا کیس: Booking.com
Booking.com دنیا کے معروف آن لائن ٹریول پلیٹ فارمز میں سے ایک ہے۔ یہ سمجھنا کہ پلیٹ فارم پر کمپنی کی 28 ملین+ پراپرٹی کی فہرستوں کے بارے میں صارفین کیا کہہ رہے ہیں، اعلی درجے کے کسٹمر کے تجربے کو برقرار رکھنے کے لیے ضروری ہے۔ اس سے پہلے، Booking.com صرف روایتی جذباتی تجزیے کو استعمال کر سکتا تھا تاکہ کسٹمر کے تیار کردہ جائزوں کی پیمانے پر تشریح کی جا سکے۔ ان تشریحات کی خصوصیت کو اپ گریڈ کرنے کے لیے، Booking.com نے حال ہی میں ایک پہلو پر مبنی جذباتی تجزیہ ماڈل کی تربیت کے لیے حسب ضرورت تشریح شدہ ڈیٹا سیٹ بنانے میں مدد کے لیے MLSL کا رخ کیا۔
روایتی جذباتی تجزیہ متن کے ٹکڑے کو مثبت، منفی یا غیر جانبدار کے طور پر درجہ بندی کرنے کا عمل ہے۔ واحد جذبات. یہ وسیع پیمانے پر سمجھنے کے لیے کام کرتا ہے کہ آیا صارف کسی خاص تجربے سے مطمئن یا غیر مطمئن ہیں۔ مثال کے طور پر، روایتی جذباتی تجزیہ کے ساتھ، درج ذیل متن کو "غیر جانبدار" کے طور پر درجہ بندی کیا جا سکتا ہے:
ہوٹل میں ہمارا قیام اچھا تھا۔ عملہ دوستانہ تھا اور کمرے صاف ستھرے تھے، لیکن ہمارے بستر کافی غیر آرام دہ تھے۔
پہلو پر مبنی جذباتی تجزیہ مواد کی زیادہ باریک بینی کی تفہیم پیش کرتا ہے۔ Booking.com کے معاملے میں، مجموعی طور پر گاہک کا جائزہ لینے اور اسے واضح طور پر درجہ بندی کرنے کے بجائے، یہ جائزے کے اندر سے جذبات لے کر اسے مخصوص پہلوؤں پر تفویض کر سکتا ہے۔ مثال کے طور پر، دیئے گئے ہوٹل کے کسٹمر کے جائزے بے عیب پول اور فٹنس ایریا کی تعریف کر سکتے ہیں، لیکن ریستوراں اور لاؤنج کے بارے میں تنقیدی رائے دیتے ہیں۔
وہ بیان جسے روایتی جذباتی تجزیہ کے ذریعہ "غیر جانبدار" کے طور پر درجہ بندی کیا گیا ہو گا، پہلو پر مبنی جذباتی تجزیہ کے ساتھ، یہ ہو جائے گا:
ہوٹل میں ہمارا قیام اچھا تھا۔ عملہ دوستانہ تھا اور کمرے صاف ستھرے تھے، لیکن ہمارے بستر کافی غیر آرام دہ تھے۔
- ہوٹل: مثبت
- عملہ: مثبت
- کمرہ: مثبت
- بستر: منفی
Booking.com نے حسب ضرورت پہلو پر مبنی جذباتی تجزیہ ماڈل بنانے کی کوشش کی جو انہیں بتائے گی کہ مہمان کے تجربے کے کون سے مخصوص حصے (50+ پہلوؤں کی فہرست سے) تھے۔ مثبت, منفی، یا غیر جانبدار.
اس سے پہلے کہ Booking.com اس ماڈل کے لیے تربیتی ڈیٹاسیٹ بنا سکے، انہیں اس کی تشریح کرنے کے لیے ایک طریقہ درکار تھا۔ MLSL کے تشریحی ٹول نے انتہائی ضروری حسب ضرورت حل فراہم کیا۔ ہوٹل کے جائزوں کے ایک بڑے ذخیرے پر انسانی جائزہ لیا گیا۔ اس کے بعد، تشریح کرنے والوں نے مناسب اسپین کو ایک ساتھ جوڑنے سے پہلے جذبات اور مہمان کے تجربے کے متن کے اسپین اور فقرے پر نامزد ہستی کی تشریح مکمل کی۔
نئے پہلو پر مبنی ماڈل Booking.com کو اپنے صارفین کے لیے رہائش اور جائزے دونوں کو ذاتی نوعیت دینے دیتا ہے۔ ہر رہائش کے مثبت اور منفی پہلوؤں کو اجاگر کرنا صارفین کو اپنے بہترین میچ کا انتخاب کرنے کے قابل بناتا ہے۔ اس کے علاوہ، مختلف گاہک رہائش کے مختلف پہلوؤں کا خیال رکھتے ہیں، اور نیا ماڈل ہر ایک کو انتہائی متعلقہ جائزے دکھانے کا موقع فراہم کرتا ہے۔
لیبلنگ کی ضروریات
اگرچہ گراؤنڈ ٹروتھ ایک بلٹ ان NER ٹیکسٹ تشریح کی صلاحیت فراہم کرتا ہے، لیکن یہ اداروں کو آپس میں جوڑنے کی صلاحیت فراہم نہیں کرتا ہے۔ اس بات کو ذہن میں رکھتے ہوئے، Booking.com اور MLSL نے ایک نئے نام شدہ ہستی کی شناخت ٹیکسٹ لیبلنگ ٹول کے لیے درج ذیل اعلیٰ سطحی تقاضوں پر کام کیا جو:
- ان پٹ کے طور پر قبول کرتا ہے: متن, ہستی کے لیبل, تعلقات کے لیبل، اور درجہ بندی کے لیبل.
- اختیاری طور پر سابقہ لیبل اور رشتہ تشریحات کے ساتھ پہلے سے تشریح شدہ ڈیٹا کو ان پٹ کے طور پر قبول کرتا ہے۔.
- تشریح کنندہ کو بغیر تشریح شدہ یا پہلے سے تشریح شدہ متن کے ساتھ پیش کرتا ہے۔
- تشریح کاروں کو ہستی کے لیبل کے ساتھ صوابدیدی متن کو نمایاں کرنے اور تشریح کرنے کی اجازت دیتا ہے۔
- تشریح کاروں کو دو ہستی تشریحات کے درمیان تعلق پیدا کرنے کی اجازت دیتا ہے۔
- تشریح کرنے والوں کو بڑی تعداد میں ہستی کے لیبل آسانی سے نیویگیٹ کرنے کی اجازت دیتا ہے۔
- ہستی کے لیبلز کو زمروں میں گروپ کرنے کی حمایت کرتا ہے۔
- اوور لیپنگ تعلقات کی اجازت دیں، جس کا مطلب ہے کہ ایک ہی تشریح شدہ ٹیکسٹ سیگمنٹ ایک سے زیادہ دیگر تشریح شدہ ٹیکسٹ سیگمنٹ سے متعلق ہوسکتا ہے۔
- اوور لیپنگ ہستی لیبل تشریحات کی اجازت دیتا ہے، جس کا مطلب ہے کہ دو تشریحات متن کے ایک ہی ٹکڑے کو اوورلیپ کر سکتی ہیں۔ مثال کے طور پر، "Seattle Space Needle" کے متن میں "Seattle" → "مقامات"، اور "Seattle Space Needle" → "Atractions" دونوں تشریحات ہو سکتی ہیں۔
- آؤٹ پٹ فارمیٹ ان پٹ فارمیٹ کے ساتھ مطابقت رکھتا ہے، اور اسے بعد میں لیبلنگ کے کاموں میں فیڈ کیا جا سکتا ہے۔
- ایموجی اور دیگر ملٹی بائٹ حروف پر مشتمل UTF-8 انکوڈ شدہ متن کو سپورٹ کرتا ہے۔
- بائیں سے دائیں زبانوں کی حمایت کرتا ہے۔
نمونہ تشریح
درج ذیل دستاویز پر غور کریں:
ہمیں اس ہوٹل کا مقام پسند آیا! چھت والے لاؤنج نے ہمیں خلائی سوئی کا کامل نظارہ دیا۔ یہ پائیک پلیس مارکیٹ اور واٹر فرنٹ سے بھی تھوڑی دور ہے۔
کھانا صرف روم سروس کے ذریعے دستیاب تھا، جو تھوڑا مایوس کن تھا لیکن اس وبائی امراض کے بعد کی دنیا میں معنی خیز ہے۔
مجموعی طور پر، ایک مناسب قیمت کا تجربہ۔
اس دستاویز کو نئی NER تشریح میں لوڈ کرنا ایک کارکن کو درج ذیل انٹرفیس کے ساتھ پیش کرتا ہے۔
اس صورت میں، کارکن کا کام یہ ہے کہ:
- پراپرٹی سے متعلقہ اداروں کو لیبل کریں (مقام، قیمت، خوراک، وغیرہ)
- جذبات سے متعلق اداروں کو لیبل کریں (مثبت، منفی، یا غیر جانبدار)
- مہمانوں کے تجربے کو درست طریقے سے حاصل کرنے کے لیے جائیداد سے متعلقہ نامزد اداروں کو جذبات سے متعلقہ مطلوبہ الفاظ سے جوڑیں
تشریح کی رفتار ٹول کا ایک اہم خیال تھا۔ بدیہی کی بورڈ شارٹ کٹس اور ماؤس اشاروں کی ترتیب کا استعمال کرتے ہوئے، تشریح کرنے والے انٹرفیس کو چلا سکتے ہیں اور:
- نامزد ہستی تشریحات شامل کریں اور ہٹا دیں۔
- نامزد اداروں کے درمیان تعلقات شامل کریں۔
- دستاویز کے آغاز اور اختتام پر جائیں۔
- دستاویز جمع کروائیں۔
مزید برآں، اوور لیپنگ لیبلز کے لیے سپورٹ موجود ہے۔ مثال کے طور پر، Seattle Space Needle
: اس جملے میں Seattle
خود سے ایک مقام کے طور پر اور کشش کے نام کے ایک حصے کے طور پر تشریح کی جاتی ہے۔
مکمل شدہ تشریح اعداد و شمار کا ایک مکمل، باریک بینی سے تجزیہ فراہم کرتی ہے:
رشتوں کو کئی سطحوں میں ترتیب دیا جا سکتا ہے، ہستی کے زمرے سے لے کر دوسرے ہستی کے زمرے (مثال کے طور پر، "خوراک" سے "جذبات" تک)، یا انفرادی ہستی کی اقسام کے درمیان۔ تعلقات کو ہدایت دی جاتی ہے، لہذا تشریح کرنے والے کھانے جیسے پہلو کو جذبات سے جوڑ سکتے ہیں، لیکن اس کے برعکس نہیں (جب تک کہ واضح طور پر فعال نہ ہو)۔ رشتوں کو ڈرائنگ کرتے وقت، تشریح کا ٹول خود بخود رشتے کے لیبل اور سمت کا اندازہ لگائے گا۔
NER تشریح کے آلے کو ترتیب دینا
اس سیکشن میں، ہم اس بات کا احاطہ کرتے ہیں کہ کس طرح کسٹمر کے مخصوص استعمال کے معاملات کے لیے NER تشریحی ٹول کو اپنی مرضی کے مطابق بنایا جائے۔ اس میں ترتیب دینا شامل ہے:
- تشریح کرنے کے لیے ان پٹ ٹیکسٹ
- ہستی کے لیبلز
- رشتے کے لیبلز
- درجہ بندی کے لیبلز
- پہلے سے بیان کردہ ڈیٹا
- کارکن کی ہدایات
ہم ان پٹ اور آؤٹ پٹ دستاویز فارمیٹس کی تفصیلات کا احاطہ کریں گے، ساتھ ہی ساتھ ہر ایک کی کچھ مثالیں فراہم کریں گے۔
ان پٹ دستاویز کی شکل
NER تشریحی ٹول مندرجہ ذیل JSON فارمیٹ شدہ ان پٹ دستاویز کی توقع کرتا ہے (نام کے آگے سوالیہ نشان والی فیلڈز اختیاری ہیں)۔
مختصراً، ان پٹ فارمیٹ میں یہ خصوصیات ہیں:
- یا تو
entityLabels
orclassificationLabels
(یا دونوں) تشریح کرنے کی ضرورت ہے۔ - If
entityLabels
دیا جاتا ہے، پھرrelationshipLabels
شامل کیا جا سکتا ہے۔ - مختلف ہستی/کیٹیگری لیبلز یا ان کے مرکب کے درمیان تعلقات کی اجازت دی جا سکتی ہے۔
- رشتے کا "ذریعہ" وہ ہستی ہے جس سے ہدایت شدہ تیر شروع ہوتا ہے، جب کہ "ٹارگٹ" وہ جگہ ہے جہاں سے یہ جا رہا ہے۔
فیلڈ | قسم | Description |
متن | سٹرنگ | درکار ہے۔ تشریح کے لیے متن داخل کریں۔ |
ٹوکن قطاریں | تار[][] | اختیاری. ان پٹ ٹیکسٹ کی حسب ضرورت ٹوکنائزیشن۔ تاروں کی صفوں کی صف۔ اوپری سطح کی صف متن کی ہر قطار کی نمائندگی کرتی ہے (لائن بریک)، اور دوسری سطح کی صف ہر قطار پر ٹوکن کی نمائندگی کرتی ہے۔ ان پٹ ٹیکسٹ میں تمام حروف/رنز کا حساب ٹوکن روز میں ہونا چاہیے، بشمول کسی بھی سفید جگہ۔ |
دستاویز کی شناخت | سٹرنگ | اختیاری. گاہک کے لیے اختیاری قدر کہ وہ دستاویز کو نوٹ کیے جانے پر نظر رکھیں۔ |
entityLabels | چیز[] | اگر درجہ بندی لیبل خالی ہے تو درکار ہے۔ ہستی کے لیبلوں کی صف۔ |
entityLabels[].name | سٹرنگ | درکار ہے۔ ہستی کا لیبل ڈسپلے نام۔ |
entityLabels[].category | سٹرنگ | اختیاری. ہستی لیبل کے زمرے کا نام۔ |
entityLabels[].shortName | سٹرنگ | اختیاری. اس متن کو مکمل نام کے بجائے تشریح شدہ اداروں پر ڈسپلے کریں۔ |
entityLabels[].shortCategory | سٹرنگ | اختیاری. اس متن کو زمرہ کے نام کے پہلے چار حروف کی بجائے ہستی تشریح سلیکٹ ڈراپ ڈاؤن میں دکھائیں۔ |
entityLabels.color | سٹرنگ | اختیاری. "#" سابقہ کے ساتھ ہیکس کلر کوڈ۔ اگر خالی ہے، تو یہ خود بخود ہستی کے لیبل کو ایک رنگ تفویض کر دے گا۔ |
تعلقات کے لیبلز | چیز[] | اختیاری. تعلقات کے لیبلز کی صف۔ |
رشتہ لیبلز[]۔نام | سٹرنگ | درکار ہے۔ رشتہ کا لیبل ڈسپلے نام۔ |
ریلیشن لیبلز[]. اجازت یافتہ تعلقات | چیز[] | اختیاری. قدروں کی صف اس بات کو محدود کرتی ہے کہ اس تعلق کو کس قسم کے ماخذ اور منزل ہستی کے لیبلز تفویض کیے جا سکتے ہیں۔ صف میں ہر آئٹم ایک ساتھ "OR'ed" ہے۔ |
ریلیشن لیبلز | تار[] | sourceEntityLabelCategories یا sourceEntityLabels (یا دونوں) کو سیٹ کرنے کی ضرورت ہے۔ اس تعلق کے لیے قانونی ماخذ ہستی لیبل کے زمرے کی اقسام کی فہرست۔ |
ریلیشن لیبلز[].اجازت یافتہ رشتے | تار[] | TargetEntityLabelCategories یا targetEntityLabels (یا دونوں) کو سیٹ کرنے کی ضرورت ہے۔ اس تعلق کے لیے قانونی ہدف ہستی کے لیبل زمرہ کی اقسام کی فہرست۔ |
ریلیشن لیبلز[]. اجازت یافتہ رشتہ | تار[] | sourceEntityLabelCategories یا sourceEntityLabels (یا دونوں) کو سیٹ کرنے کی ضرورت ہے۔ اس تعلق کے لیے قانونی ماخذ ہستی کے لیبل کی اقسام کی فہرست۔ |
ریلیشن لیبلز[]. اجازت یافتہ رشتہ | تار[] | TargetEntityLabelCategories یا targetEntityLabels (یا دونوں) کو سیٹ کرنے کی ضرورت ہے۔ اس تعلق کے لیے قانونی ہدف ہستی کے لیبل کی اقسام کی فہرست۔ |
درجہ بندی لیبلز | تار[] | اگر entityLabels خالی ہے تو درکار ہے۔ دستاویز کی سطح کی درجہ بندی کے لیبلز کی فہرست۔ |
entity تشریحات | چیز[] | اختیاری. ان پٹ ٹیکسٹ کو پہلے سے تشریح کرنے کے لیے ہستی تشریحات کی صف۔ |
entityAnnotations[].id | سٹرنگ | درکار ہے۔ اس ہستی تشریح کے لیے منفرد شناخت کنندہ۔ رشتہ تشریحات میں اس ہستی کا حوالہ دینے کے لیے استعمال کیا جاتا ہے۔ |
entityAnnotations[].start | تعداد | درکار ہے۔ اس ہستی تشریح کا رن آفسیٹ شروع کریں۔ |
entityAnnotations[].end | تعداد | درکار ہے۔ اس ہستی تشریح کے اختتامی رون آفسیٹ۔ |
entityAnnotations[].text | سٹرنگ | درکار ہے۔ شروع اور اختتام Rune آفسیٹ کے درمیان متنی مواد۔ |
entityAnnotations[].label | سٹرنگ | درکار ہے۔ وابستہ ہستی کے لیبل کا نام (اینٹی لیبلز میں موجود ناموں سے)۔ |
entityAnnotations[].labelCategory | سٹرنگ | اختیاری۔ وابستہ ہستی لیبل زمرہ (اینٹی لیبلز میں زمرہ جات سے)۔ |
تعلقات کی تشریحات | چیز[] | اختیاری. تعلقات کی تشریحات کی صف۔ |
رشتہ تشریحات[].sourceEntityAnnotationId | سٹرنگ | درکار ہے۔ اس تعلق کے لیے ماخذ ہستی کی تشریح ID۔ |
رشتہ تشریح[].targetEntityAnnotationId | سٹرنگ | درکار ہے۔ اس رشتے کے لیے ہدف ہستی کی تشریح ID۔ |
رشتہ تشریحات[].لیبل | سٹرنگ | درکار ہے۔ وابستہ رشتہ لیبل کا نام۔ |
درجہ بندی تشریحات | تار[] | اختیاری. دستاویز کو پہلے سے تشریح کرنے کے لیے درجہ بندی کی صف۔ |
میٹا | اعتراض | اختیاری. اضافی کنفیگریشن پیرامیٹرز۔ |
meta.instructions | سٹرنگ | اختیاری. مارک ڈاؤن فارمیٹ میں لیبلنگ اینوٹیٹر کے لیے ہدایات۔ |
meta.disableSubmit Confirmation | بولین | اختیاری. تصدیقی موڈل جمع کرانے کو غیر فعال کرنے کے لیے درست پر سیٹ کریں۔ |
meta.multiClassification | بولین | اختیاری. درجہ بندی لیبلز کے لیے ملٹی لیبل وضع کو فعال کرنے کے لیے درست پر سیٹ کریں۔ |
اس ان پٹ فارمیٹ کو بہتر طور پر سمجھنے کے لیے یہاں چند نمونہ دستاویزات ہیں۔
وہ دستاویزات جو اس اسکیما پر عمل کرتی ہیں، گراؤنڈ ٹروتھ کو ان پٹ مینی فیسٹ میں انفرادی لائن آئٹمز کے طور پر فراہم کی جاتی ہیں۔
آؤٹ پٹ دستاویز کی شکل
آؤٹ پٹ فارمیٹ کو ایک نئے تشریحی کام میں آسانی سے رائے دینے کے لیے ڈیزائن کیا گیا ہے۔ آؤٹ پٹ دستاویز میں اختیاری فیلڈز سیٹ کیے جاتے ہیں اگر وہ ان پٹ دستاویز میں بھی سیٹ کیے گئے ہوں۔ ان پٹ اور آؤٹ پٹ فارمیٹس کے درمیان فرق صرف یہ ہے۔ meta
اعتراض
فیلڈ | قسم | Description |
meta.rejected | بولین | اگر تشریح کنندہ نے اس دستاویز کو مسترد کر دیا تو درست پر سیٹ ہے۔ |
meta.rejectedReason | سٹرنگ | دستاویز کو مسترد کرنے کے لیے تشریح کنندہ کی وجہ دی گئی ہے۔ |
meta.runes | تار[] | ان پٹ ٹیکسٹ میں موجود تمام حروف کے حساب سے رونز کی صف۔ ہستی تشریح شروع اور اختتامی آفسیٹس کا حساب لگانے کے لیے استعمال کیا جاتا ہے۔ |
یہاں ایک نمونہ آؤٹ پٹ دستاویز ہے جس کی تشریح کی گئی ہے:
Runes نوٹ:
اس سیاق و سباق میں ایک "رن" متن میں ایک ہی نمایاں کرنے کے قابل کردار ہے، جس میں ایموجی جیسے ملٹی بائٹ حروف بھی شامل ہیں۔
- چونکہ مختلف پروگرامنگ زبانیں ملٹی بائٹ حروف کو مختلف طریقے سے پیش کرتی ہیں، ہر نمایاں کرنے کے قابل کردار کو ایک واحد جوہری عنصر کے طور پر بیان کرنے کے لیے "رنز" کا استعمال کرنے کا مطلب یہ ہے کہ ہمارے پاس کسی بھی متن کے انتخاب کو بیان کرنے کا ایک غیر مبہم طریقہ ہے۔
- مثال کے طور پر، Python سویڈش پرچم کو چار حروف کے طور پر دیکھتا ہے:
لیکن جاوا اسکرپٹ ایک ہی ایموجی کو دو حروف کی طرح سمجھتا ہے۔
کسی بھی ابہام کو ختم کرنے کے لیے، ہم سویڈش پرچم (اور دیگر تمام ایموجی اور ملٹی بائٹ حروف) کو ایک واحد جوہری عنصر کے طور پر استعمال کریں گے۔
- آفسیٹ: ان پٹ ٹیکسٹ کی نسبت رن پوزیشن (انڈیکس 0 سے شروع)
زمینی سچائی کے ساتھ NER تشریحات کو انجام دینا
مکمل طور پر منظم ڈیٹا لیبلنگ سروس کے طور پر، گراؤنڈ ٹروتھ ML کے لیے تربیتی ڈیٹا سیٹس بناتا ہے۔ اس استعمال کے معاملے کے لیے، ہم متنی دستاویزات کا مجموعہ کارکنوں کے ایک پول کو تشریح کے لیے بھیجنے کے لیے گراؤنڈ ٹروتھ کا استعمال کرتے ہیں۔ آخر میں، ہم معیار کا جائزہ لیتے ہیں۔
نئے NER ٹول کو حسب ضرورت ٹیمپلیٹ کے طور پر استعمال کرتے ہوئے ڈیٹا لیبلنگ جاب بنانے کے لیے گراؤنڈ ٹروتھ کو کنفیگر کیا جا سکتا ہے۔
خاص طور پر، ہم کریں گے:
- تشریح کا کام انجام دینے کے لیے کارکنوں کی ایک پرائیویٹ لیبلنگ ورک فورس بنائیں
- ان دستاویزات کے ساتھ گراؤنڈ ٹروتھ ان پٹ مینی فیسٹ بنائیں جن کی ہم تشریح کرنا چاہتے ہیں اور پھر اسے اپ لوڈ کریں ایمیزون سادہ اسٹوریج سروس (ایمیزون S3)
- پری لیبلنگ ٹاسک اور پوسٹ لیبلنگ ٹاسک لیمبڈا فنکشنز بنائیں
- اپنی مرضی کے مطابق NER ٹیمپلیٹ کا استعمال کرتے ہوئے گراؤنڈ ٹروتھ لیبلنگ جاب بنائیں
- دستاویزات کی تشریح کریں۔
- نتائج کا جائزہ لیں۔
NER ٹول ریسورسز
حوالہ شدہ وسائل اور نمونہ دستاویزات کی مکمل فہرست درج ذیل چارٹ میں مل سکتی ہے:
افرادی قوت کی تخلیق کا لیبل لگانا
گراؤنڈ ٹروتھ کارکنوں کو منظم کرنے اور کاموں کی تقسیم کے لیے SageMaker لیبلنگ ورک فورس کا استعمال کرتا ہے۔ ایک نجی افرادی قوت بنائیں، ایک ورکر ٹیم جسے ner-worker-team کہا جاتا ہے، اور اس میں موجود ہدایات کا استعمال کرتے ہوئے اپنے آپ کو ٹیم کو تفویض کریں۔ ایک نجی افرادی قوت بنائیں (ایمیزون سیج میکر کنسول).
ایک بار جب آپ اپنے آپ کو نجی افرادی قوت میں شامل کر لیتے ہیں اور اپنے ای میل کی تصدیق کر لیتے ہیں، 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 ماخذ کو دیکھ کر اور مواد کو مقامی طور پر محفوظ کر کے، یا کمانڈ لائن سے:
پری لیبلنگ ٹاسک اور پوسٹ لیبلنگ ٹاسک لیمبڈا فنکشنز بنائیں
نمونہ پری لیبلنگ ٹاسک لیمبڈا فنکشن ڈاؤن لوڈ کریں: 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
- واضح کریں a
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-لائنز فائل ہے جس میں پہلے بیان کردہ "آؤٹ پٹ دستاویز فارمیٹ" میں فی لائن ایک تشریح شدہ ٹیکسٹ دستاویز ہے۔ یہ فائل "ان پٹ دستاویز فارمیٹ" کے ساتھ مطابقت رکھتی ہے، اور اسے تشریح کے دوسرے دور کے لیے براہ راست گراؤنڈ ٹروتھ جاب میں فیڈ کیا جا سکتا ہے۔ متبادل طور پر، اسے پارس کیا جا سکتا ہے اور ایم ایل ٹریننگ جاب پر بھیجا جا سکتا ہے۔ کچھ منظرنامے جہاں ہم تشریحات کا دوسرا دور استعمال کر سکتے ہیں وہ ہیں:
- تشریح کے عمل کو دو مراحل میں توڑنا جہاں پہلا تشریح کنندہ ہستی تشریحات کی شناخت کرتا ہے اور دوسرا تشریح کنندہ تعلقات کو کھینچتا ہے۔
- ہمارا ایک نمونہ لے رہا ہے۔
output.manifest
اور اسے کوالٹی کنٹرول چیک کے طور پر جائزہ لینے کے لیے ایک سیکنڈ، زیادہ تجربہ کار تشریح کار کو بھیجنا
کسٹم گراؤنڈ ٹروتھ انوٹیشن ٹیمپلیٹس
اس دستاویز میں بیان کردہ NER تشریحی ٹول کو اپنی مرضی کے مطابق گراؤنڈ ٹروتھ انوٹیشن ٹیمپلیٹ کے طور پر لاگو کیا گیا ہے۔ AWS صارفین یہاں موجود ہدایات کا استعمال کرتے ہوئے اپنے حسب ضرورت تشریحی انٹرفیس بنا سکتے ہیں:
نتیجہ
ایک ساتھ کام کرنے سے، Booking.com اور Amazon MLSL ایک طاقتور ٹیکسٹ اینوٹیشن ٹول تیار کرنے میں کامیاب ہو گئے جو پیچیدہ نام کی ہستی کی شناخت اور تعلقات کی تشریحات بنانے کے قابل ہے۔
ہم اس پوسٹ میں بیان کردہ ٹول کو آزمانے کے لیے NER ٹیکسٹ تشریح استعمال کیس والے AWS صارفین کی حوصلہ افزائی کرتے ہیں۔ اگر آپ اپنی مصنوعات اور خدمات میں ایم ایل کے استعمال کو تیز کرنے میں مدد چاہتے ہیں، تو براہ کرم رابطہ کریں۔ ایمیزون مشین لرننگ سلوشنز لیب.
مصنفین کے بارے میں
ڈین نوبل ایمیزون میں سافٹ ویئر ڈویلپمنٹ انجینئر ہے جہاں وہ صارف کے خوشگوار تجربات بنانے میں مدد کرتا ہے۔ اپنے فارغ وقت میں، وہ اپنے اہل خانہ کے ساتھ پڑھنے، ورزش کرنے اور مہم جوئی کرنے سے لطف اندوز ہوتا ہے۔
پرائی نونس ایمیزون ایم ایل سلوشنز لیب میں ایک ڈیپ لرننگ آرکیٹیکٹ ہے، جہاں وہ مختلف عمودی حصوں میں صارفین کے ساتھ کام کرتا ہے، اور ان کی کلاؤڈ مائیگریشن کے سفر کو تیز کرنے، اور جدید ترین حل اور ٹیکنالوجیز کا استعمال کرتے ہوئے ان کے ایم ایل کے مسائل کو حل کرنے میں مدد کرتا ہے۔
نہاریکا جینتی AWS میں فرنٹ اینڈ انجینئر ہے، جہاں وہ Amazon SageMaker صارفین کے لیے حسب ضرورت تشریحی حل تیار کرتی ہے۔ کام سے باہر، وہ عجائب گھروں میں جانے اور ورزش کرنے سے لطف اندوز ہوتی ہے۔
امیت بیکا میں مشین لرننگ مینیجر ہے۔ Booking.comسافٹ ویئر ڈویلپمنٹ اور مشین لرننگ میں 15 سال سے زیادہ کے تجربے کے ساتھ۔ وہ لوگوں اور زبانوں سے متوجہ ہے، اور کس طرح کمپیوٹر اب بھی دونوں کی طرف سے پریشان ہیں۔
- '
- 100
- 11
- 7
- ہمارے بارے میں
- تک رسائی حاصل
- اکاؤنٹ
- اکاؤنٹنگ
- کے پار
- عمل
- اس کے علاوہ
- ایڈیشنل
- تمام
- ایمیزون
- ایمیزون مشین لرننگ
- ایمیزون سیج میکر
- محیط
- تجزیہ
- رقبہ
- دستیاب
- سب کے لیے دستیاب ہے۔
- AWS
- شروع
- کیا جا رہا ہے
- تعمیر
- عمارت
- پرواہ
- مقدمات
- درجہ بندی
- بادل
- کوڈ
- مجموعہ
- پیچیدہ
- کمپیوٹر
- ترتیب
- غور
- کنسول
- مواد
- مندرجات
- سکتا ہے
- تخلیق
- اہم
- گاہک کا تجربہ
- گاہکوں
- اعداد و شمار
- گہری سیکھنے
- ترقی
- ڈیولپر
- ترقی
- مختلف
- دستاویزات
- نہیں کرتا
- آسانی سے
- اثر
- ای میل
- emoji کے
- کی حوصلہ افزائی
- انجینئر
- وغیرہ
- مثال کے طور پر
- پھانسی
- امید ہے
- تجربہ
- تجربات
- خاندان
- فیڈ
- آراء
- قطعات
- آخر
- پہلا
- فٹنس
- کھانا
- فارمیٹ
- ملا
- مکمل
- تقریب
- GIF
- جا
- مہمان
- رہنمائی
- مدد
- مدد کرتا ہے
- یہاں
- نمایاں کریں
- ہوٹل
- کس طرح
- کیسے
- HTTPS
- IAM
- عملدرآمد
- اہم
- سمیت
- انڈکس
- انفرادی
- IT
- جاوا سکرپٹ
- ایوب
- سفر
- کلیدی
- لیبل
- لیبل
- زبان
- زبانیں
- بڑے
- معروف
- جانیں
- سیکھنے
- قانونی
- سطح
- سطح
- لائن
- LINK
- مائع
- لسٹ
- لسٹنگس
- مقامی طور پر
- محل وقوع
- تلاش
- مشین لرننگ
- انتظام
- نشان
- مارکیٹ
- میچ
- میٹا
- برا
- ML
- ماڈل
- زیادہ
- عجائب گھر
- نام
- قدرتی زبان
- قدرتی زبان عملیات
- ضرورت
- ویزا
- تعداد
- تجویز
- آفسیٹ
- آن لائن
- کھول
- کھولتا ہے
- مواقع
- دیگر
- لوگ
- جملے
- پلیٹ فارم
- پلیٹ فارم
- پالیسیاں
- پالیسی
- پول
- پورٹل
- وبائی بیماری
- طاقتور
- قیمت
- پرنسپل
- نجی
- عمل
- حاصل
- پروگرامنگ
- پروگرامنگ زبانوں
- جائیداد
- فراہم
- فراہم کرتا ہے
- ازگر
- معیار
- سوال
- پڑھنا
- تعلقات
- ضروریات
- وسائل
- وسائل
- ریستوران میں
- نتائج کی نمائش
- کا جائزہ لینے کے
- جائزہ
- کمروں
- sagemaker
- بچت
- پیمانے
- احساس
- جذبات
- سروسز
- مقرر
- مختصر
- سادہ
- So
- سافٹ ویئر کی
- سوفٹ ویئر کی نشوونما
- حل
- حل
- خلا
- تیزی
- شروع کریں
- بیان
- رہنا
- ذخیرہ
- حمایت
- ہدف
- ٹیکنالوجی
- ماخذ
- وقت
- مل کر
- ٹوکن بنانا
- ٹوکن
- کے آلے
- سب سے اوپر
- اوپر کی سطح
- ٹریک
- روایتی
- ٹریننگ
- سفر
- علاج
- علاج کرتا ہے
- بھروسہ رکھو
- us
- صارفین
- قیمت
- ورژن
- لنک
- کیا
- کے اندر
- کام
- کام کیا
- کارکنوں
- افرادی قوت۔
- کام کر
- حل کرنا
- کام کرتا ہے
- دنیا
- دنیا کی
- گا
- سال