آزمایشگاه راهحلهای یادگیری ماشین آمازون (MLSL) اخیراً ابزاری برای حاشیهنویسی متن با شناسایی نهادهای نامگذاری شده (NER) و برچسبهای رابطه ایجاد کرده است. Amazon SageMaker Ground Truth. حاشیه نویسان از این ابزار برای برچسب گذاری متن با موجودیت های نامگذاری شده و پیوند دادن روابط آنها استفاده می کنند، در نتیجه یک مجموعه داده برای آموزش مدل های یادگیری ماشینی (ML) پیشرفته پردازش زبان طبیعی (NLP) ایجاد می کنند. مهمتر از همه، این اکنون به صورت عمومی برای همه مشتریان AWS در دسترس است.
مورد استفاده مشتری: Booking.com
Booking.com یکی از پیشروترین پلتفرم های مسافرتی آنلاین در جهان است. درک آنچه مشتریان در مورد فهرستهای دارایی بیش از ۲۸ میلیون شرکت در این پلتفرم میگویند، برای حفظ تجربه مشتری درجه یک ضروری است. پیش از این، Booking.com تنها می توانست از تجزیه و تحلیل احساسات سنتی برای تفسیر نظرات تولید شده توسط مشتری در مقیاس استفاده کند. بهدنبال ارتقای ویژگیهای این تفاسیر، Booking.com اخیراً برای کمک به ساخت یک مجموعه داده مشروح سفارشی برای آموزش یک مدل تحلیل احساسات مبتنی بر جنبه، به MLSL مراجعه کرده است.
تحلیل احساسات سنتی فرآیند طبقه بندی یک متن به عنوان مثبت، منفی یا خنثی است. احساس منفرد. این به طور گسترده ای کار می کند که آیا کاربران از یک تجربه خاص راضی یا ناراضی هستند. به عنوان مثال، با تجزیه و تحلیل احساسات سنتی، متن زیر ممکن است به عنوان "خنثی" طبقه بندی شود:
اقامت ما در هتل خوب بود. کارکنان دوستانه و اتاق ها تمیز بودند، اما تخت های ما کاملا ناراحت کننده بود.
تحلیل احساسات مبتنی بر جنبه، درک دقیق تری از محتوا ارائه می دهد. در مورد Booking.com، به جای اینکه نظر مشتری را به طور کلی در نظر بگیرد و آن را طبقه بندی کند، می تواند احساسات را از درون یک بررسی گرفته و آن را به جنبه های خاصی اختصاص دهد. برای مثال، نظرات مشتریان در مورد یک هتل خاص ممکن است استخر بینظیر و منطقه تناسب اندام را تحسین کند، اما بازخورد انتقادی را در مورد رستوران و سالن ارائه دهد.
گزاره ای که توسط تحلیل سنتی احساسات به عنوان "خنثی" طبقه بندی می شود، با تحلیل احساسات مبتنی بر جنبه، به این صورت خواهد بود:
اقامت ما در هتل خوب بود. کارکنان دوستانه و اتاق ها تمیز بودند، اما تخت های ما کاملا ناراحت کننده بود.
- هتل: مثبت
- پرسنل: مثبت
- اتاق: مثبت
- تخت: منفی
Booking.com به دنبال ایجاد یک مدل تجزیه و تحلیل احساسات مبتنی بر جنبه سفارشی بود که به آنها بگوید کدام بخشهای خاصی از تجربه مهمان (از فهرستی از 50+ جنبه) است. مثبت, منفی، یا خنثی.
قبل از اینکه Booking.com بتواند یک مجموعه داده آموزشی برای این مدل بسازد، آنها به راهی برای حاشیه نویسی آن نیاز داشتند. ابزار حاشیه نویسی MLSL راه حل سفارشی بسیار مورد نیاز را ارائه کرد. بررسی انسانی روی مجموعه بزرگی از بررسی های هتل انجام شد. سپس، حاشیهنویسها، حاشیهنویسی موجودیت نامگذاری شده را روی گسترهها و عبارات متنی احساس و تجربه مهمان، قبل از پیوند دادن گسترههای مناسب به یکدیگر، تکمیل کردند.
مدل جدید مبتنی بر جنبه به Booking.com این امکان را می دهد که هم اقامتگاه ها و هم نظرات را برای مشتریان خود شخصی کند. برجسته کردن جنبههای مثبت و منفی هر اقامتگاه، مشتریان را قادر میسازد تا مطابقت کامل خود را انتخاب کنند. علاوه بر این، مشتریان مختلف به جنبههای مختلف اقامتگاه اهمیت میدهند و مدل جدید فرصتی را برای نشان دادن مرتبطترین بررسیها به هر یک باز میکند.
الزامات برچسب زدن
اگرچه Ground Truth یک قابلیت حاشیه نویسی متنی NER داخلی را فراهم می کند، اما توانایی پیوند دادن موجودیت ها را به یکدیگر فراهم نمی کند. با در نظر گرفتن این موضوع، Booking.com و MLSL الزامات سطح بالا زیر را برای یک ابزار برچسبگذاری متن شناسایی موجودیت جدید به کار گرفتند که:
- به عنوان ورودی می پذیرد: متن, برچسب های موجودیت, برچسب های رابطهو برچسب های طبقه بندی.
- به صورت اختیاری، داده های از پیش حاشیه نویسی شده را با برچسب قبلی و حاشیه نویسی های رابطه می پذیرد.
- حاشیه نویس را با متن بدون حاشیه یا از پیش حاشیه نویسی ارائه می دهد.
- به حاشیه نویس ها اجازه می دهد تا متن دلخواه را با یک برچسب نهاد برجسته و حاشیه نویسی کنند.
- به حاشیه نویس ها اجازه می دهد تا روابط بین دو حاشیه نویسی موجودیت ایجاد کنند.
- به حاشیه نویس ها اجازه می دهد تا به راحتی تعداد زیادی از برچسب های موجودیت را پیمایش کنند.
- از گروه بندی برچسب های موجود در دسته ها پشتیبانی می کند.
- اجازه دادن به روابط همپوشانی، به این معنی که همان بخش متن مشروح می تواند به بیش از یک بخش متن حاشیه نویسی دیگر مرتبط باشد.
- به حاشیهنویسیهای برچسب موجودیت همپوشانی اجازه میدهد، به این معنی که دو حاشیهنویسی میتوانند روی یک قطعه متن همپوشانی داشته باشند. به عنوان مثال، متن "Seattle Space Needle" می تواند هر دو حاشیه نویسی "Seattle" → "Locations" و "Seattle Space Needle" → "Atractions" را داشته باشد.
- فرمت خروجی با فرمت ورودی سازگار است و می توان آن را به وظایف برچسب گذاری بعدی بازگرداند.
- از متن کدگذاری شده UTF-8 حاوی ایموجی و سایر کاراکترهای چند بایتی پشتیبانی می کند.
- پشتیبانی از زبان های چپ به راست
نمونه حاشیه نویسی
سند زیر را در نظر بگیرید:
ما موقعیت این هتل را دوست داشتیم! سالن روی پشت بام نمای کاملی از سوزن فضایی را به ما داد. همچنین فاصله کمی با بازار پیک و اسکله دارد.
غذا فقط از طریق سرویس اتاق در دسترس بود، که کمی ناامید کننده بود اما در این دنیای پس از همه گیری منطقی است.
به طور کلی، یک تجربه با قیمت مناسب.
بارگیری این سند در حاشیه نویسی جدید NER یک کارگر را با رابط زیر نشان می دهد:
در این مورد، وظیفه کارگر این است که:
- برچسب نهادهای مرتبط با ملک (محل، قیمت، غذا و غیره)
- برچسب گذاری نهادهای مرتبط با احساسات (مثبت، منفی یا خنثی)
- برای ثبت دقیق تجربه مهمان، نهادهای نامگذاری شده مرتبط با دارایی را به کلمات کلیدی مرتبط با احساسات پیوند دهید
سرعت حاشیه نویسی یک نکته مهم در مورد ابزار بود. با استفاده از دنباله ای از میانبرهای صفحه کلید بصری و حرکات ماوس، حاشیه نویس ها می توانند رابط را هدایت کنند و:
- یادداشت های موجودیت نامگذاری شده را اضافه و حذف کنید
- روابط بین موجودات نامگذاری شده را اضافه کنید
- به ابتدا و انتهای سند بروید
- سند را ارسال کنید
علاوه بر این، پشتیبانی از برچسب های همپوشانی وجود دارد. مثلا، Seattle Space Needle
: در این عبارت، Seattle
هم به عنوان یک مکان به تنهایی و هم به عنوان بخشی از نام جاذبه حاشیه نویسی می شود.
حاشیه نویسی تکمیل شده تجزیه و تحلیل دقیق تر و دقیق تری از داده ها ارائه می دهد:
روابط را می توان در سطوح مختلفی پیکربندی کرد، از دسته های موجود به دسته های موجودیت دیگر (به عنوان مثال، از "غذا" تا "احساس")، یا بین انواع موجودیت های منفرد. روابط جهت دار هستند، بنابراین حاشیه نویس ها می توانند جنبه ای مانند غذا را به یک احساس مرتبط کنند، اما نه برعکس (مگر اینکه به صراحت فعال شده باشد). هنگام ترسیم روابط، ابزار حاشیه نویسی به طور خودکار برچسب و جهت رابطه را استنتاج می کند.
پیکربندی ابزار حاشیه نویسی NER
در این بخش، نحوه سفارشی کردن ابزار حاشیه نویسی NER را برای موارد استفاده خاص مشتری توضیح می دهیم. این شامل پیکربندی:
- متن ورودی برای حاشیه نویسی
- برچسب های موجودیت
- برچسب های رابطه
- برچسب های طبقه بندی
- داده های از قبل مشروح شده
- دستورالعمل های کارگر
ما مشخصات فرمت های اسناد ورودی و خروجی را پوشش خواهیم داد و همچنین نمونه هایی از هر کدام را ارائه خواهیم کرد.
فرمت سند ورودی
ابزار حاشیه نویسی NER سند ورودی فرمت شده JSON زیر را انتظار دارد (فیلدهای دارای علامت سوال در کنار نام اختیاری هستند).
به طور خلاصه، فرمت ورودی این ویژگی ها را دارد:
- در هر
entityLabels
orclassificationLabels
(یا هر دو) برای حاشیه نویسی لازم است. - If
entityLabels
داده می شود، سپسrelationshipLabels
اضافه می شود - میتوان بین برچسبهای موجودیت/ردههای مختلف یا ترکیبی از آنها ارتباط برقرار کرد.
- «منبع» یک رابطه، موجودی است که فلش جهتدار با آن شروع میشود، در حالی که «هدف» جایی است که در حال حرکت است.
میدان | نوع | توضیحات: |
متن | رشته | ضروری. متن را برای حاشیه نویسی وارد کنید |
tokenRows | رشته[][] | اختیاری. توکن سازی سفارشی متن ورودی آرایه آرایه های رشته ها. آرایه سطح بالا هر ردیف از متن را نشان می دهد (خطوط شکسته) و آرایه سطح دوم نشان دهنده نشانه های هر ردیف است. همه کاراکترها/رونها در متن ورودی باید در tokenRows، از جمله هر فضای سفید، در نظر گرفته شوند. |
شناسه سند | رشته | اختیاری. ارزش اختیاری برای مشتریان برای پیگیری سند در حال حاشیه نویسی. |
entityLabels | هدف - شی[] | اگر برچسبهای طبقهبندی خالی باشد، الزامی است. آرایه ای از برچسب های موجودیت. |
entityLabels[].name | رشته | ضروری. نام نمایشی برچسب نهاد. |
entityLabels[].category | رشته | اختیاری. نام دسته برچسب نهاد. |
entityLabels[].shortName | رشته | اختیاری. این متن را به جای نام کامل، روی اشخاص حاشیه نویسی شده نمایش دهید. |
entityLabels[].shortCategory | رشته | اختیاری. به جای چهار حرف اول نام دسته، این متن را در منوی انتخاب حاشیه نویسی موجودیت نمایش دهید. |
entityLabels.color | رشته | اختیاری. کد رنگ هگز با پیشوند "#". اگر خالی باشد، به طور خودکار یک رنگ به برچسب موجودیت اختصاص می دهد. |
برچسب های رابطه | هدف - شی[] | اختیاری. مجموعه ای از برچسب های رابطه |
RelationLabels[].name | رشته | ضروری. نام نمایشی برچسب رابطه. |
RelationLabels[].allowedRelationships | هدف - شی[] | اختیاری. آرایه ای از مقادیر که این رابطه را به چه نوع برچسب های موجودیت مبدا و مقصد محدود می کند. هر آیتم در آرایه با هم "OR'ed" است. |
relativeLabels[].allowedRelationships[].sourceEntityLabelCategories | رشته[] | برای تنظیم sourceEntityLabelCategories یا sourceEntityLabels (یا هر دو) مورد نیاز است. فهرست انواع دسته برچسب نهاد منبع حقوقی برای این رابطه. |
relativeLabels[].allowedRelationships[].targetEntityLabelCategories | رشته[] | برای تنظیم targetEntityLabelCategories یا targetEntityLabels (یا هر دو) مورد نیاز است. فهرست انواع دستهبندی برچسب نهاد هدف قانونی برای این رابطه. |
relativeLabels[].allowedRelationships[].sourceEntityLabels | رشته[] | برای تنظیم sourceEntityLabelCategories یا sourceEntityLabels (یا هر دو) مورد نیاز است. فهرست انواع برچسب نهاد منبع قانونی برای این رابطه. |
relativeLabels[].allowedRelationships[].sourceEntityLabels | رشته[] | برای تنظیم targetEntityLabelCategories یا targetEntityLabels (یا هر دو) مورد نیاز است. فهرست انواع برچسب نهاد هدف قانونی برای این رابطه. |
برچسب های طبقه بندی | رشته[] | اگر entityLabels خالی باشد الزامی است. فهرست برچسب های طبقه بندی در سطح سند. |
entity Annotations | هدف - شی[] | اختیاری. آرایه ای از حاشیه نویسی موجودیت برای پیش نویسی متن ورودی با. |
entityAnnotations[].id | رشته | ضروری. شناسه منحصر به فرد برای حاشیه نویسی این نهاد. برای ارجاع به این موجودیت در RelationAnnotations استفاده می شود. |
entityAnnotations[].start | عدد | ضروری. افست rune این حاشیه نویسی موجودیت را شروع کنید. |
entityAnnotations[].end | عدد | ضروری. پایان افست rune این حاشیه نویسی موجودیت. |
entityAnnotations[].text | رشته | ضروری. محتوای متنی بین افست رونی شروع و پایان. |
entityAnnotations[].label | رشته | ضروری. نام برچسب موجودیت مرتبط (از نامهای موجود در entityLabels). |
entityAnnotations[].labelCategory | رشته | Optional.Associated entity label رده (از دسته های موجود در entityLabels). |
حاشیه نویسی رابطه | هدف - شی[] | اختیاری. مجموعه ای از حاشیه نویسی روابط. |
relationshipAnnotations[].sourceEntityAnnotationId | رشته | ضروری. شناسه یادداشت نهاد منبع برای این رابطه. |
relationshipAnnotations[].targetEntityAnnotationId | رشته | ضروری. شناسه یادداشت نهاد هدف برای این رابطه. |
RelationAnnotations[].label | رشته | ضروری. نام برچسب رابطه مرتبط. |
طبقه بندی حاشیه نویسی | رشته[] | اختیاری. مجموعهای از طبقهبندیها برای حاشیهنویسی پیش از سند. |
متا | هدف | اختیاری. پارامترهای پیکربندی اضافی |
متا.دستورالعمل ها | رشته | اختیاری. دستورالعملهای حاشیهنویس برچسبگذاری در قالب Markdown. |
meta.disableSubmitConfirmation | بولی | اختیاری. برای غیرفعال کردن حالت تأیید ارسال، روی true تنظیم کنید. |
متا.چند طبقه بندی | بولی | اختیاری. برای فعال کردن حالت چند برچسبی برای طبقهبندی برچسبها، روی true تنظیم کنید. |
در اینجا چند سند نمونه برای درک بهتر این قالب ورودی آورده شده است
اسنادی که به این طرح پایبند هستند به عنوان موارد خط جداگانه در مانیفست ورودی به Ground Truth ارائه میشوند.
فرمت سند خروجی
فرمت خروجی طوری طراحی شده است که به راحتی به یک کار حاشیه نویسی جدید بازخورد بدهد. فیلدهای اختیاری در سند خروجی در صورتی تنظیم می شوند که در سند ورودی نیز تنظیم شده باشند. تنها تفاوت بین فرمت های ورودی و خروجی در این است meta
هدف - شی.
میدان | نوع | توضیحات: |
متا.رد شد | بولی | اگر حاشیه نویس این سند را رد کرده باشد روی true تنظیم می شود. |
meta.rejectedReason | رشته | دلیل حاشیه نویس برای رد سند ارائه شده است. |
meta.runes | رشته[] | آرایهای از رونها که تمام نویسههای متن ورودی را محاسبه میکنند. برای محاسبه انحرافات شروع و پایان حاشیه نویسی موجودیت استفاده می شود. |
در اینجا یک نمونه سند خروجی است که حاشیه نویسی شده است:
یادداشت رونز:
"Rune" در این زمینه یک کاراکتر منفرد قابل برجسته سازی در متن است، از جمله کاراکترهای چند بایتی مانند ایموجی.
- از آنجایی که زبان های برنامه نویسی مختلف کاراکترهای چند بایتی را متفاوت نشان می دهند، استفاده از "Runes" برای تعریف هر کاراکتر قابل برجسته سازی به عنوان یک عنصر اتمی منفرد به این معنی است که ما یک روش بدون ابهام برای توصیف هر انتخاب متنی داریم.
- به عنوان مثال، پایتون با پرچم سوئد به عنوان چهار کاراکتر رفتار می کند:
اما جاوا اسکریپت با همان ایموجی به عنوان دو کاراکتر رفتار می کند
برای از بین بردن هرگونه ابهام، پرچم سوئد (و سایر شکلکها و کاراکترهای چند بایتی) را به عنوان یک عنصر اتمی واحد در نظر خواهیم گرفت.
- Offset: موقعیت رونی نسبت به متن ورودی (شروع با شاخص 0)
انجام حاشیه نویسی NER با حقیقت پایه
Ground Truth به عنوان یک سرویس برچسبگذاری داده کاملاً مدیریت شده، مجموعه دادههای آموزشی را برای ML ایجاد میکند. برای این مورد، ما از Ground Truth برای ارسال مجموعه ای از اسناد متنی به مجموعه ای از کارگران برای حاشیه نویسی استفاده می کنیم. در نهایت کیفیت را بررسی می کنیم.
Ground Truth را می توان برای ساخت یک کار برچسب گذاری داده با استفاده از ابزار جدید NER به عنوان یک الگوی سفارشی پیکربندی کرد.
به طور خاص، ما:
- یک نیروی کار برچسبگذاری خصوصی از کارگران برای انجام کار حاشیه نویسی ایجاد کنید
- یک مانیفست ورودی Ground Truth با اسنادی که می خواهیم حاشیه نویسی کنیم ایجاد کنید و سپس آن را در آن آپلود کنید سرویس ذخیره سازی ساده آمازون (Amazon S3)
- توابع Lambda وظیفه قبل از برچسب زدن و کار پس از برچسب زدن ایجاد کنید
- با استفاده از الگوی سفارشی NER، یک کار برچسبگذاری Ground Truth ایجاد کنید
- حاشیه نویسی اسناد
- نتایج را مرور کنید
منابع ابزار NER
فهرست کامل منابع مرجع و اسناد نمونه را می توان در نمودار زیر یافت:
برچسب گذاری ایجاد نیروی کار
Ground Truth از نیروی کار برچسب گذاری SageMaker برای مدیریت کارگران و توزیع وظایف استفاده می کند. یک نیروی کار خصوصی، یک تیم کارگری به نام ner-worker-team ایجاد کنید و با استفاده از دستورالعمل های موجود در این قسمت، خود را به تیم اختصاص دهید. ایجاد یک نیروی کار خصوصی (کنسول آمازون SageMaker).
هنگامی که خود را به یک نیروی کار خصوصی اضافه کردید و ایمیل خود را تأیید کردید، به URL پورتال کارگر از کنسول مدیریت AWS توجه کنید:
- هدایت به
SageMaker
- هدایت به
Ground Truth → Labeling workforces
- را انتخاب کنید
Private
برگ - به URL توجه کنید
Labeling portal sign-in URL
برای مشاهده و شروع کار روی برچسب گذاری وظایف، وارد پورتال کارگر شوید.
مانیفست ورودی
مانیفست داده ورودی Ground Truth یک فایل JSON-lines است که در آن هر خط حاوی یک وظیفه کارگر است. در مورد ما، هر خط حاوی یک سند ورودی با کد JSON است که حاوی متنی است که میخواهیم حاشیهنویسی کنیم و طرح حاشیهنویسی NER.
نمونه مانیفست ورودی را دانلود کنید reviews.manifest
از جانب https://assets.solutions-lab.ml/NER/0.2.1/sample-data/reviews.manifest
توجه داشته باشید: هر ردیف در مانیفست ورودی به یک کلید سطح بالا نیاز دارد source
or source-ref
. شما می توانید اطلاعات بیشتری کسب کنید از یک فایل مانیفست ورودی استفاده کنید در راهنمای توسعه دهنده Amazon SageMaker.
مانیفست ورودی را در آمازون 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
- عملکرد Lambda وظیفه پیش برچسبگذاری را از کنسول مدیریت AWS ایجاد کنید:
- هدایت به
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
- هدایت به
- تابع Lambda وظیفه پس از برچسب زدن را از کنسول مدیریت AWS ایجاد کنید:
- هدایت به
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
→ لambda_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
) - نام نقش را برای باز کردن نقش در کنسول انتخاب کنید
- سه خط مشی زیر را ضمیمه کنید:
- گزینه Attach Policy ها را انتخاب کنید
- پیوست کردن
AWSLambda_FullAccess
به نقش - انتخاب کنید
Trust Relationships
→Edit Trust Relationships
- رابطه اعتماد JSON را ویرایش کنید،
- جایگزین کردن
YOUR_ACCOUNT_NUMBER
با شماره حساب AWS خود، برای خواندن: - رابطه اعتماد را حفظ کنید
- با انتخاب به این نقش اجازه دهید به هر سطل S3 دسترسی داشته باشد
- به کار جدید Ground Truth در پنجره قبلی AWS Management Console برگردید: زیر
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
حاشیه نویسی اسناد
هنگامی که کار Ground Truth ایجاد شد، می توانیم حاشیه نویسی اسناد را شروع کنیم. پورتال کارگر را برای نیروی کار ما که قبلاً ایجاد شده است باز کنید (در کنسول مدیریت AWS، به SageMaker
, Ground Truth → Labeling workforces
, Private
، و باز کنید Labeling portal sign-in URL
)
وارد شوید و اولین کار برچسبگذاری را در جدول انتخاب کنید و سپس «شروع به کار» را انتخاب کنید تا حاشیهنویس باز شود. حاشیه نویسی خود را انجام دهید و ارسال را در هر سه سند نمونه انتخاب کنید.
نتایج را مرور کنید
همانطور که حاشیه نویسان Ground Truth وظایف را کامل می کنند، نتایج در سطل خروجی S3 در دسترس خواهند بود:
هنگامی که تمام وظایف برای یک کار برچسب زدن کامل شد، خروجی تلفیقی در دسترس است output.manifest
فایل موجود در اینجا:
این مانیفست خروجی یک فایل خطوط JSON با یک سند متنی مشروح در هر خط در "فرمت سند خروجی" مشخص شده قبلی است. این فایل با "قالب سند ورودی" سازگار است، و میتوان آن را مستقیماً به کار Ground Truth بعدی برای دور دیگری از حاشیهنویسی وارد کرد. متناوبا، می توان آن را تجزیه و به یک کار آموزشی ML فرستاد. برخی از سناریوهایی که ممکن است از دور دوم حاشیه نویسی استفاده کنیم عبارتند از:
- شکستن فرآیند حاشیه نویسی به دو مرحله که در آن حاشیه نویس اول، حاشیه نویسی موجودیت را شناسایی می کند و حاشیه نویس دوم روابط را ترسیم می کند.
- نمونه برداری از ما
output.manifest
و ارسال آن به حاشیه نویس دوم و با تجربه تر برای بررسی به عنوان بررسی کنترل کیفیت
الگوهای حاشیه نویسی حقیقت زمینی سفارشی
ابزار حاشیه نویسی NER شرح داده شده در این سند به عنوان یک الگوی حاشیه نویسی Ground Truth سفارشی پیاده سازی شده است. مشتریان AWS می توانند با استفاده از دستورالعمل های موجود در اینجا، رابط های حاشیه نویسی سفارشی خود را بسازند:
نتیجه
با همکاری یکدیگر، Booking.com و آمازون MLSL توانستند یک ابزار حاشیه نویسی متنی قدرتمند ایجاد کنند که قادر به ایجاد تشخیص و حاشیه نویسی روابط پیچیده با نام موجودیت است.
ما مشتریان AWS را با استفاده از مورد استفاده از حاشیه نویسی متن NER تشویق می کنیم تا ابزار توضیح داده شده در این پست را امتحان کنند. اگر مایل به کمک برای تسریع استفاده از ML در محصولات و خدمات خود هستید، لطفاً با آن تماس بگیرید آزمایشگاه راه حل های یادگیری ماشین آمازون.
درباره نویسنده
دن نوبل یک مهندس توسعه نرم افزار در آمازون است که در آن به ایجاد تجربیات کاربر لذت بخش کمک می کند. در اوقات فراغت از مطالعه، ورزش و ماجراجویی با خانواده لذت می برد.
پری نونیس یک معمار یادگیری عمیق در آمازون ML Solutions Lab است که در آنجا با مشتریان در سطوح مختلف کار می کند و به آنها کمک می کند تا سفر مهاجرت ابری خود را تسریع بخشند و مشکلات ML خود را با استفاده از راه حل ها و فناوری های پیشرفته حل کنند.
نیاریکا جایانتی یک مهندس Front End در AWS است، جایی که او راه حل های حاشیه نویسی سفارشی را برای مشتریان Amazon SageMaker توسعه می دهد. خارج از محل کار، او از رفتن به موزه ها و ورزش کردن لذت می برد.
آمیت بکا مدیر یادگیری ماشین در Booking.com، با بیش از 15 سال تجربه در توسعه نرم افزار و یادگیری ماشین. او شیفته مردم و زبانها است و اینکه چگونه کامپیوترها هنوز در هر دوی اینها گیج هستند.
- '
- 100
- 11
- 7
- درباره ما
- دسترسی
- حساب
- حسابداری (Accounting)
- در میان
- عمل
- اضافه
- اضافی
- معرفی
- آمازون
- آموزش ماشین آمازون
- آمازون SageMaker
- ابهام
- تحلیل
- محدوده
- در دسترس
- در دسترس همه
- AWS
- شروع
- بودن
- ساختن
- بنا
- اهميت دادن
- موارد
- طبقه بندی
- ابر
- رمز
- مجموعه
- پیچیده
- کامپیوتر
- پیکر بندی
- توجه
- کنسول
- محتوا
- محتویات
- میتوانست
- ایجاد
- بحرانی
- تجربه مشتری
- مشتریان
- داده ها
- یادگیری عمیق
- توسعه
- توسعه دهنده
- پروژه
- مختلف
- اسناد و مدارک
- نمی کند
- به آسانی
- اثر
- پست الکترونیک
- از Emoji
- تشویق
- مهندس
- و غیره
- مثال
- اعدام
- انتظار می رود
- تجربه
- تجارب
- خانواده
- تغذیه
- باز خورد
- زمینه
- سرانجام
- نام خانوادگی
- سازگاری
- غذا
- قالب
- یافت
- کامل
- تابع
- GIF
- رفتن
- مهمان
- راهنمایی
- کمک
- کمک می کند
- اینجا کلیک نمایید
- نماد
- هتل
- چگونه
- چگونه
- HTTPS
- IAM
- اجرا
- مهم
- از جمله
- شاخص
- فرد
- IT
- جاوا اسکریپت
- کار
- سفر
- کلید
- برچسب
- برچسب ها
- زبان
- زبان ها
- بزرگ
- برجسته
- یاد گرفتن
- یادگیری
- قانونی
- سطح
- سطح
- لاین
- ارتباط دادن
- مایع
- فهرست
- لیست
- به صورت محلی
- محل
- به دنبال
- فراگیری ماشین
- مدیریت
- علامت
- بازار
- مسابقه
- متا
- ذهن
- ML
- مدل
- بیش
- موزه ها
- نام
- زبان طبیعی
- پردازش زبان طبیعی
- ضروری
- nlp
- تعداد
- پیشنهادات
- چاپ افست
- آنلاین
- باز کن
- باز می شود
- فرصت
- دیگر
- مردم
- عبارات
- سکو
- سیستم عامل
- سیاست
- سیاست
- استخر
- پورتال
- پس از همه گیر
- قوی
- قیمت
- اصلی
- خصوصی
- روند
- محصولات
- برنامه نويسي
- زبانهای برنامه نویسی
- ویژگی
- ارائه
- فراهم می کند
- پــایتــون
- کیفیت
- سوال
- مطالعه
- روابط
- مورد نیاز
- منابع
- منابع
- رستوران
- نتایج
- این فایل نقد می نویسید:
- بررسی
- اتاق
- حکیم ساز
- صرفه جویی کردن
- مقیاس
- حس
- احساس
- خدمات
- تنظیم
- کوتاه
- ساده
- So
- نرم افزار
- توسعه نرم افزار
- مزایا
- حل
- فضا
- سرعت
- شروع
- بیانیه
- ماندن
- ذخیره سازی
- پشتیبانی
- هدف
- فن آوری
- منبع
- زمان
- با هم
- از Tokenization
- نشانه
- ابزار
- بالا
- سطح عالی
- مسیر
- سنتی
- آموزش
- سفر
- درمان
- رفتار می کند
- اعتماد
- us
- کاربران
- ارزش
- نسخه
- چشم انداز
- چی
- در داخل
- مهاجرت کاری
- مشغول به کار
- کارگران
- نیروی کار
- کارگر
- کار کردن
- با این نسخهها کار
- جهان
- جهان
- خواهد بود
- سال