مکالمات آنلاین در زندگی مدرن همه جا وجود دارد و صنایع از بازی های ویدیویی گرفته تا ارتباطات از راه دور را در بر می گیرد. این منجر به رشد تصاعدی در میزان دادههای مکالمه آنلاین شده است که به توسعه پیشرفتهترین سیستمهای پردازش زبان طبیعی (NLP) مانند رباتهای گفتگو و مدلهای تولید زبان طبیعی (NLG) کمک کرده است. با گذشت زمان، تکنیک های مختلف NLP برای تجزیه و تحلیل متن نیز تکامل یافته است. این امر نیاز به یک سرویس کاملاً مدیریت شده را ضروری می کند که می تواند با استفاده از تماس های API بدون نیاز به تخصص گسترده یادگیری ماشین (ML) در برنامه ها ادغام شود. AWS خدمات AWS AI از پیش آموزش دیده را ارائه می دهد درک آمازون، که می تواند به طور موثر موارد استفاده از NLP شامل طبقه بندی، خلاصه سازی متن، شناسایی موجودیت و موارد دیگر را برای جمع آوری بینش از متن مدیریت کند.
علاوه بر این، مکالمات آنلاین منجر به پدیده گسترده ای از استفاده غیر سنتی از زبان شده است. تکنیکهای NLP سنتی اغلب بر روی این دادههای متنی ضعیف عمل میکنند، زیرا واژگان دائماً در حال تکامل و خاص دامنهای که در پلتفرمهای مختلف وجود دارد، و همچنین انحرافات واژگانی قابل توجه کلمات از انگلیسی مناسب، تصادفی یا عمداً به عنوان نوعی حمله خصمانه. .
در این پست، ما چندین رویکرد ML را برای طبقهبندی متن مکالمات آنلاین با ابزارها و خدمات موجود در AWS شرح میدهیم.
پیش نیازها
قبل از فرو رفتن عمیق در این مورد، لطفاً پیش نیازهای زیر را تکمیل کنید:
- راه اندازی حساب AWS و یک کاربر IAM ایجاد کنید.
- تنظیم کنید AWS CLI و SDK های AWS.
- (اختیاری) خود را تنظیم کنید محیط Cloud9 IDE.
مجموعه داده
برای این پست از تعصب ناخواسته Jigsaw در مجموعه داده های طبقه بندی سموم، معیاری برای مشکل خاص طبقه بندی سمیت در مکالمات آنلاین. مجموعه داده برچسبهای سمیت و همچنین چندین ویژگی زیرگروه مانند زشت، حمله هویت، توهین، تهدید و صریح جنسی را ارائه میکند. برچسبها بهعنوان مقادیر کسری ارائه میشوند، که نشاندهنده نسبت حاشیهنویسهای انسانی هستند که معتقد بودند این ویژگی برای یک قطعه متن خاص اعمال میشود، که به ندرت متفق القول هستند. برای تولید برچسبهای باینری (مثلاً سمی یا غیر سمی)، یک آستانه 0.5 برای مقادیر کسری اعمال میشود و نظرات با مقادیر بیشتر از آستانه به عنوان کلاس مثبت آن برچسب در نظر گرفته میشوند.
تعبیه زیر کلمه و RNN
برای اولین رویکرد مدلسازی، ما از ترکیبی از جاسازی زیرکلمه و شبکههای عصبی مکرر (RNN) برای آموزش مدلهای طبقهبندی متن استفاده میکنیم. تعبیههای زیر کلمه توسط معرفی شدند بویانوفسکی و همکاران در سال 2017 به عنوان یک پیشرفت نسبت به روش های قبلی جاسازی در سطح کلمه. مدلهای skip-gram سنتی Word2Vec برای یادگیری یک نمایش برداری ایستا از یک کلمه هدف که به طور بهینه زمینه آن کلمه را پیشبینی میکند، آموزش دیدهاند. از سوی دیگر، مدلهای فرعی، هر کلمه هدف را به صورت کیسهای از کاراکترهای n-gram که کلمه را تشکیل میدهند، نشان میدهند که در آن یک n-gram از مجموعهای از n کاراکتر متوالی تشکیل شده است. این روش به مدل جاسازی اجازه میدهد تا مورفولوژی زیربنایی کلمات مرتبط در مجموعه و همچنین محاسبه جاسازیها را برای کلمات بدیع و خارج از واژگان (OOV) بهتر نشان دهد. این امر به ویژه در زمینه مکالمات آنلاین مهم است، فضای مشکلی که در آن کاربران اغلب کلمات را اشتباه املایی می کنند (گاهی عمداً برای فرار از تشخیص) و همچنین از واژگانی منحصر به فرد و دائماً در حال تکامل استفاده می کنند که ممکن است توسط یک مجموعه آموزشی عمومی قابل درک نباشد.
آمازون SageMaker آموزش و بهینه سازی یک مدل جاسازی زیرکلمه بدون نظارت بر روی مجموعه داده های متنی دامنه خاص خود را با استفاده از ابزار داخلی آسان می کند. الگوریتم BlazingText. همچنین میتوانیم مدلهای همهمنظوره موجود را که بر روی مجموعه دادههای بزرگ متن آنلاین آموزش داده شدهاند، مانند موارد زیر دانلود کنیم مدل های زبان انگلیسی مستقیماً از fastText در دسترس هستند. از نمونه نوت بوک SageMaker خود، به سادگی موارد زیر را برای دانلود یک مدل fastText از پیش آموزش دیده اجرا کنید:
چه تعبیههای خود را با BlazingText آموزش داده باشید یا یک مدل از پیش آموزش دیده دانلود کرده باشید، نتیجه یک مدل باینری فشرده است که میتوانید با کتابخانه gensim برای جاسازی یک کلمه هدف به عنوان یک بردار بر اساس زیرکلمههای تشکیل دهنده آن استفاده کنید:
بعد از اینکه بخش معینی از متن را پیش پردازش کردیم، میتوانیم از این رویکرد برای تولید یک نمایش برداری برای هر یک از کلمات تشکیلدهنده (که با فاصله جدا شدهاند) استفاده کنیم. سپس از SageMaker و یک چارچوب یادگیری عمیق مانند PyTorch برای آموزش یک RNN سفارشی با هدف طبقهبندی باینری یا چند برچسبی برای پیشبینی سمی بودن یا نبودن متن و نوع خاصی از سمیت بر اساس مثالهای آموزشی برچسبگذاری شده استفاده میکنیم.
برای آپلود متن از پیش پردازش شده خود در سرویس ذخیره سازی ساده آمازون (Amazon S3)، از کد زیر استفاده کنید:
برای شروع آموزش مدل مقیاس پذیر و چند GPU با SageMaker، کد زیر را وارد کنید:
در داخل ، ما یک مجموعه داده PyTorch را تعریف می کنیم که توسط train.py
برای آماده سازی داده های متنی برای آموزش و ارزیابی مدل:
توجه داشته باشید که این کد پیش بینی می کند که vectors.zip
فایل حاوی جاسازی های fastText یا BlazingText شما در آن ذخیره می شود .
علاوه بر این، میتوانید به راحتی مدلهای متن سریع آموزشدیده را به تنهایی در نقاط پایانی SageMaker برای محاسبه بردارهای جاسازی شده برای استفاده در وظایف مربوطه در سطح کلمه مستقر کنید. موارد زیر را ببینید نمونه GitHub برای جزئیات بیشتر.
ترانسفورماتور با صورت در آغوش گرفته
برای رویکرد مدلسازی دوم، ما به استفاده از ترانسفورماتورها که در مقاله معرفی شدهاند، انتقال میدهیم توجه تنها چیزی است که نیاز دارید. ترانسفورماتورها مدلهای یادگیری عمیقی هستند که برای اجتناب عمدی از دامهای RNN با تکیه بر مکانیزم توجه به خود برای ایجاد وابستگی جهانی بین ورودی و خروجی طراحی شدهاند. معماری مدل ترانسفورماتور امکان موازی سازی بسیار بهتری را فراهم می کند و می تواند در زمان آموزش نسبتاً کوتاه به عملکرد بالایی دست یابد.
ساخته شده بر اساس موفقیت ترانسفورماتور، BERT، معرفی شده در مقاله BERT: پیش آموزش ترانسفورماتورهای دو جهته عمیق برای درک زبان، پیش آموزش دو طرفه برای بازنمایی زبان اضافه شد. با الهام از کار Cloze، BERT با مدلسازی زبان ماسکشده (MLM) از قبل آموزش دیده است، که در آن مدل یاد میگیرد کلمات اصلی را برای نشانههای ماسکشده تصادفی بازیابی کند. مدل BERT همچنین در کار پیشبینی جمله بعدی (NSP) برای پیشبینی اینکه آیا دو جمله در ترتیب خواندن صحیح هستند، از قبل آموزش داده شده است. از زمان ظهور آن در سال 2018، BERT و تغییرات آن به طور گسترده در کارهای طبقه بندی متن استفاده شده است.
راه حل ما از یک نوع BERT به نام RoBERTa استفاده می کند که در مقاله معرفی شده است RoBERTa: رویکرد پیشآموزشی BERT بهینه شده قوی. RoBERTa عملکرد BERT را در انواع وظایف زبان طبیعی با آموزش مدل بهینهسازی شده، از جمله مدلهای آموزشی طولانیتر روی مجموعهای 10 برابر بزرگتر، با استفاده از فراپارامترهای بهینهسازی شده، پوشاندن تصادفی پویا، حذف وظیفه NSP و موارد دیگر بهبود میبخشد.
مدل های مبتنی بر RoBERTa ما از این استفاده می کنند ترانسفورماتورهای صورت در آغوش کشیدن کتابخانه، که یک فریم ورک منبع باز محبوب پایتون است که پیاده سازی های با کیفیت بالا از انواع مدل های ترانسفورماتور پیشرفته را برای انواع وظایف NLP ارائه می دهد. Hugging Face با AWS شریک شده است به شما امکان می دهد تا به راحتی مدل های Transformer را در SageMaker آموزش و استقرار دهید. این قابلیت از طریق در دسترس است تصاویر کانتینر یادگیری عمیق AWS Face در آغوش کشیدهکه شامل کتابخانه های Transformers، Tokenizers و Datasets و ادغام بهینه شده با SageMaker برای آموزش مدل و استنتاج است.
در پیادهسازی، ما ستون اصلی معماری RoBERTa را از چارچوب Hugging Face Transformers به ارث بردهایم و از SageMaker برای آموزش و استقرار مدل طبقهبندی متن خودمان استفاده میکنیم، که ما آن را RoBERTox مینامیم. RoBERTox از رمزگذاری جفت بایت (BPE) استفاده می کند ترجمه ماشین عصبی کلمات نادر با واحدهای فرعی، برای تبدیل متن ورودی به نمایش زیرکلمه. سپس میتوانیم مدلها و توکنایزرهای خود را بر روی دادههای Jigsaw یا هر مجموعه بزرگ دامنه خاص (مانند گزارشهای چت از یک بازی خاص) آموزش دهیم و از آنها برای طبقهبندی متن سفارشیسازی شده استفاده کنیم. کلاس مدل طبقه بندی سفارشی خود را در کد زیر تعریف می کنیم:
قبل از آموزش، دادههای متنی و برچسبهای خود را با استفاده از مجموعه دادههای Hugging Face آماده میکنیم و نتیجه را در Amazon S3 آپلود میکنیم:
ما آموزش مدل را به روشی مشابه RNN آغاز می کنیم:
در نهایت، قطعه کد پایتون زیر روند ارائه RoBERTox از طریق یک نقطه پایانی زنده SageMaker برای طبقهبندی متن بلادرنگ برای درخواست JSON را نشان میدهد:
ارزیابی عملکرد مدل: مجموعه داده تعصب ناخواسته منبت کاری اره مویی
جدول زیر شامل معیارهای عملکردی برای مدلهای آموزش دیده و ارزیابی شده از دادههای مسابقه Jigsaw Unintended Bias in Toxicity Detection Kaggle است. ما مدل هایی را برای سه کار متفاوت اما مرتبط با هم آموزش دادیم:
- مورد باینری - مدل بر روی مجموعه داده آموزشی کامل آموزش داده شد تا پیشبینی شود
toxicity
فقط برچسب - مورد ریز دانه – زیر مجموعه داده های آموزشی که برای آن
toxicity>=0.5
برای پیشبینی سایر برچسبهای زیرنوع سمیت (obscene
,threat
,insult
,identity_attack
,sexual_explicit
) - کیس چند وظیفه ای - مجموعه داده آموزش کامل برای پیش بینی هر شش برچسب به طور همزمان استفاده شد
ما مدلهای RNN و RoBERTa را برای هر یک از این سه کار با استفاده از برچسبهای کسری ارائهشده توسط Jigsaw آموزش دادیم، که با نسبت حاشیهنویسهایی که فکر میکردند برچسب برای متن مناسب است، و همچنین با برچسبهای باینری همراه با وزن کلاس در شبکه مطابقت دارد. عملکرد از دست دادن در طرح برچسبگذاری باینری، نسبتها در آستانه 0.5 برای هر برچسب موجود (1 در صورت برچسب> 0.5، 0 در غیر این صورت)، و توابع از دست دادن مدل بر اساس نسبتهای نسبی هر برچسب باینری در مجموعه داده آموزشی وزن شدند. در همه موارد، ما دریافتیم که استفاده از برچسبهای کسری مستقیماً منجر به بهترین عملکرد میشود، که نشاندهنده ارزش افزوده اطلاعات ذاتی در میزان توافق بین حاشیهنویسها است.
ما دو معیار مدل را نشان میدهیم: دقت متوسط (AP)، که خلاصهای از منحنی دقت-یادآوری را با محاسبه میانگین وزنی مقادیر دقت بهدستآمده در هر آستانه طبقهبندی ارائه میکند، و ناحیه زیر منحنی مشخصه عملکرد گیرنده (AUC) ، که عملکرد مدل را در آستانه طبقه بندی با توجه به نرخ مثبت واقعی و نرخ مثبت کاذب جمع می کند. توجه داشته باشید که کلاس واقعی برای یک نمونه متن معین در مجموعه آزمایشی مربوط به بزرگتر یا مساوی بودن نسبت واقعی 0.5 است (1 اگر label>=0.5، 0 در غیر این صورت).
. | جاسازی زیر کلمه + RNN | روبرتا | ||
. | برچسب های کسری | برچسب های باینری + وزن کلاس | برچسب های کسری | برچسب های باینری + وزن کلاس |
دوتایی | AP=0.746، AUC=0.966 | AP=0.730، AUC=0.963 | AP=0.758، AUC=0.966 | AP=0.747، AUC=0.963 |
ریزدانه | AP=0.906، AUC=0.909 | AP=0.850، AUC=0.851 | AP=0.913، AUC=0.913 | AP=0.911، AUC=0.912 |
چند کاره هستند | AP=0.721، AUC=0.972 | AP=0.535، AUC=0.907 | AP=0.740، AUC=0.972 | AP=0.711، AUC=0.961 |
نتیجه
در این پست، دو رویکرد طبقهبندی متن برای مکالمات آنلاین با استفاده از خدمات AWS ML ارائه کردیم. میتوانید این راهحلها را در سراسر پلتفرمهای ارتباط آنلاین تعمیم دهید، با صنایعی مانند بازیها که احتمالاً از توانایی بهبود یافته برای شناسایی محتوای مضر سود میبرند. در پستهای آینده، قصد داریم در مورد معماری سرتاسری برای استقرار یکپارچه مدلها در حساب AWS شما بحث کنیم.
اگر برای تسریع استفاده از ML در محصولات و فرآیندهای خود کمک میخواهید، لطفاً با آن تماس بگیرید آزمایشگاه راه حل های آمازون ام ال.
درباره نویسنده
رایان برند یک دانشمند داده در آزمایشگاه راه حل های یادگیری ماشین آمازون است. او تجربه خاصی در استفاده از یادگیری ماشینی برای مشکلات در مراقبت های بهداشتی و علوم زیستی دارد و در اوقات فراغت خود از خواندن تاریخ و داستان های علمی تخیلی لذت می برد.
سوراو بابش دانشمند داده در آزمایشگاه راه حل های آمازون ML است. او راه حل های AI/ML را برای مشتریان AWS در صنایع مختلف توسعه می دهد. تخصص او پردازش زبان طبیعی (NLP) است و علاقه زیادی به یادگیری عمیق دارد. در خارج از محل کار از خواندن کتاب و مسافرت لذت می برد.
لیوتنگ ژو یک دانشمند کاربردی در آزمایشگاه راه حل های آمازون ML است. او راه حل های سفارشی AI/ML را برای مشتریان AWS در صنایع مختلف می سازد. او در پردازش زبان طبیعی (NLP) تخصص دارد و علاقه زیادی به یادگیری عمیق چند وجهی دارد. او یک تنور غنایی است و از خواندن اپرا در خارج از محل کار لذت می برد.
سیا غلامی یک دانشمند ارشد داده در آزمایشگاه راه حل های آمازون ML است، جایی که راه حل های AI/ML را برای مشتریان در صنایع مختلف می سازد. او مشتاق پردازش زبان طبیعی (NLP) و یادگیری عمیق است. سیا خارج از محل کار از گذراندن وقت در طبیعت و بازی تنیس لذت می برد.
دانیل هوروویتز مدیر علوم هوش مصنوعی کاربردی است. او تیمی از دانشمندان را در آزمایشگاه راه حلهای آمازون ML رهبری میکند که برای حل مشکلات مشتریان و تشویق پذیرش ابر با ML کار میکنند.
- '
- "
- 10
- 100
- 7
- a
- توانایی
- درباره ما
- تسریع
- حساب
- رسیدن
- دست
- در میان
- اضافه
- اتخاذ
- توافق
- AI
- خدمات هوش مصنوعی
- معرفی
- اجازه می دهد تا
- آمازون
- مقدار
- تحلیل
- API
- برنامه های کاربردی
- اعمال می شود
- درخواست
- با استفاده از
- روش
- رویکردها
- مناسب
- معماری
- محدوده
- خواص
- در دسترس
- میانگین
- AWS
- کیسه
- محک
- سود
- بهترین
- بهتر
- میان
- بزرگتر
- کتاب
- می سازد
- ساخته شده در
- صدا
- مورد
- موارد
- کاراکتر
- کلاس
- طبقه بندی
- ابر
- رمز
- ترکیب
- ترکیب شده
- نظرات
- ارتباط
- رقابت
- کامل
- مرکب
- محاسبه
- محاسبه
- محاسبه
- متوالی
- به طور مداوم
- تماس
- ظرف
- شامل
- محتوا
- گفتگو
- گفتگو
- ایجاد
- منحنی
- سفارشی
- مشتری
- مشتریان
- داده ها
- دانشمند داده
- عمیق
- گسترش
- گسترش
- توصیف
- طراحی
- جزئیات
- کشف
- مشخص کردن
- پروژه
- مختلف
- بعد
- مستقیما
- بحث و تبادل نظر
- نمایش دادن
- دانلود
- راندن
- در طی
- پویا
- هر
- به آسانی
- به طور موثر
- قادر ساختن
- پشت سر هم
- نقطه پایانی
- انگلیسی
- وارد
- موجودیت
- ارزیابی
- در حال تحول
- مثال
- مثال ها
- موجود
- تجربه
- تخصص
- وسیع
- چهره
- روش
- داستان
- نام خانوادگی
- پیروی
- فرم
- به جلو
- یافت
- کسری
- چارچوب
- رایگان
- از جانب
- کامل
- تابع
- قابلیت
- توابع
- بیشتر
- آینده
- بازی
- بازیها
- بازی
- سوالات عمومی
- همه منظوره
- تولید می کنند
- نسل
- جهانی
- بیشتر
- رشد
- دسته
- سر
- بهداشت و درمان
- کمک
- کمک کرد
- زیاد
- با کیفیت بالا
- تاریخ
- HTTPS
- انسان
- هویت
- پیاده سازی
- مهم
- بهبود یافته
- بهبود
- شامل
- از جمله
- لوازم
- اطلاعات
- ذاتی
- ورودی
- بینش
- الهام بخش
- نمونه
- توهین
- یکپارچه
- ادغام
- IT
- اره منبت کاری اره مویی
- کار
- کلید
- شناخته شده
- آزمایشگاه
- برچسب
- برچسب
- برچسب ها
- زبان
- بزرگ
- بزرگتر
- لایه
- منجر می شود
- یاد گرفتن
- یادگیری
- رهبری
- کتابخانه
- علوم زندگی
- احتمالا
- زنده
- بار
- دستگاه
- فراگیری ماشین
- ساخت
- باعث می شود
- اداره می شود
- مدیر
- ماسک
- ماسک
- مسابقه
- ماتریس
- مکانیزم
- حافظه
- روش
- متریک
- قدرت
- ML
- مدل
- مدل
- بیش
- چندگانه
- طبیعی
- طبیعت
- شبکه
- شبکه
- بعد
- دفتر یادداشت
- عدد
- پیشنهادات
- آنلاین
- عملیاتی
- بهینه سازی
- بهینه
- سفارش
- اصلی
- دیگر
- در غیر این صورت
- خود
- مقاله
- ویژه
- مشارکت کرد
- احساساتی
- کارایی
- قطعه
- سیستم عامل
- بازی
- لطفا
- محبوب
- مثبت
- پست ها
- پیش بینی
- پیش گویی
- آماده
- قبلی
- مشکل
- مشکلات
- روند
- فرآیندهای
- در حال پردازش
- محصولات
- طرح
- ارائه
- فراهم می کند
- مطالعه
- زمان واقعی
- بهبود یافتن
- مربوط
- از بین بردن
- نشان دادن
- نمایندگی
- نمایندگی
- درخواست
- برگشت
- بازده
- نقش
- دویدن
- مقیاس پذیر
- طرح
- علم
- علوم
- دانشمند
- دانشمندان
- بدون درز
- بخش
- سرویس
- خدمات
- خدمت
- تنظیم
- چند
- کوتاه
- قابل توجه
- مشابه
- ساده
- پس از
- شش
- اندازه
- راه حل
- مزایا
- حل
- فضا
- فضاها
- تخصص دارد
- تخصص
- خاص
- هزینه
- وضعیت هنر
- ایالات
- ذخیره سازی
- موفقیت
- سیستم های
- هدف
- وظایف
- تیم
- تکنیک
- ارتباط از راه دور
- آزمون
- La
- سه
- آستانه
- از طریق
- زمان
- بار
- نشانه
- ابزار
- مشعل
- سنتی
- قطار
- آموزش
- انتقال
- ترجمه
- سفر
- زیر
- منحصر به فرد
- استفاده کنید
- کاربران
- اعتبار سنجی
- ارزش
- تنوع
- مختلف
- تصویری
- بازی های ویدئویی
- چه
- WHO
- در داخل
- بدون
- کلمات
- مهاجرت کاری
- کارگر
- شما