وظیفه MediaPipe Text Classifier به شما امکان می دهد متن را به مجموعه ای از دسته بندی های تعریف شده، مانند احساسات مثبت یا منفی طبقه بندی کنید. دسته ها در طول آموزش مدل تعریف می شوند. این وظیفه بر روی داده های متنی با مدل یادگیری ماشین (ML) به عنوان داده ایستا عمل می کند و لیستی از دسته ها و امتیازات احتمال آنها را خروجی می دهد.
شروع کنید
با دنبال کردن یکی از این راهنماهای پیاده سازی برای پلتفرمی که روی آن کار می کنید، استفاده از این کار را شروع کنید:
- اندروید - نمونه کد - راهنما
- پایتون - نمونه کد - راهنما
- وب - نمونه کد - راهنما
- iOS - مثال کد - راهنما
این راهنماهای مخصوص پلتفرم شما را از طریق اجرای اساسی این کار، از جمله یک مدل توصیه شده و نمونه کد با گزینه های پیکربندی توصیه شده، راهنمایی می کنند.
جزئیات کار
این بخش قابلیت ها، ورودی ها، خروجی ها و گزینه های پیکربندی این کار را شرح می دهد.
امکانات
- پردازش متن ورودی - از توکنسازی خارج از نمودار برای مدلهای بدون نشانهسازی درون گراف پشتیبانی میکند
- سرهای طبقه بندی چندگانه - هر سر می تواند از مجموعه دسته بندی خود استفاده کند
- برچسب محلی نقشه - زبان مورد استفاده برای نام های نمایشی را تنظیم کنید
- آستانه امتیاز - نتایج را بر اساس نمرات پیش بینی فیلتر کنید
- نتایج طبقه بندی Top-k - تعداد نتایج تشخیص را فیلتر کنید
- برچسب لیست مجاز و رد لیست - دسته های شناسایی شده را مشخص کنید
ورودی های وظیفه | خروجی های وظیفه |
---|---|
Text Classifier نوع داده ورودی زیر را می پذیرد:
| Text Classifier لیستی از دسته بندی ها را خروجی می دهد که شامل:
|
گزینه های پیکربندی
این کار دارای گزینه های پیکربندی زیر است:
نام گزینه | شرح | محدوده ارزش | مقدار پیش فرض |
---|---|---|---|
displayNamesLocale | زبان برچسبها را برای استفاده برای نامهای نمایشی ارائه شده در فراداده مدل کار، در صورت وجود، تنظیم میکند. پیش فرض برای انگلیسی en است. با استفاده از TensorFlow Lite Metadata Writer API میتوانید برچسبهای محلی را به ابرداده یک مدل سفارشی اضافه کنید. | کد محلی | en |
maxResults | حداکثر تعداد اختیاری نتایج طبقه بندی با امتیاز بالا را برای بازگشت تنظیم می کند. اگر < 0 باشد، تمام نتایج موجود برگردانده خواهند شد. | هر عدد مثبت | -1 |
scoreThreshold | آستانه امتیاز پیشبینی را تنظیم میکند که بر آستانه ارائهشده در فراداده مدل (در صورت وجود) لغو میشود. نتایج زیر این مقدار رد می شوند. | هر شناور | تنظیم نشده |
categoryAllowlist | فهرست اختیاری نامهای دستهبندی مجاز را تنظیم میکند. در صورت خالی نبودن، نتایج طبقه بندی که نام دسته آنها در این مجموعه نیست فیلتر می شود. نامهای دستهبندی تکراری یا ناشناخته نادیده گرفته میشوند. این گزینه با categoryDenylist منحصر به فرد است و از هر دو نتیجه در یک خطا استفاده می کند. | هر رشته | تنظیم نشده |
categoryDenylist | فهرست اختیاری نامهای دستههایی را که مجاز نیستند را تنظیم میکند. در صورت خالی نبودن، نتایج طبقه بندی که نام دسته آنها در این مجموعه است فیلتر می شود. نامهای دستهبندی تکراری یا ناشناخته نادیده گرفته میشوند. این گزینه با categoryAllowlist منحصر به فرد است و از هر دو نتیجه در خطا استفاده می کند. | هر رشته | تنظیم نشده |
مدل ها
Text Classifier را می توان با بیش از یک مدل ML استفاده کرد. هنگامی که شروع به توسعه با این کار می کنید، با مدل پیش فرض و توصیه شده برای پلتفرم هدف خود شروع کنید. سایر مدلهای موجود معمولاً بین عملکرد، دقت، وضوح و نیازهای منابع، معاوضه ایجاد میکنند و در برخی موارد، ویژگیهای اضافی را نیز شامل میشوند.
مدل های از پیش آموزش دیده برای تحلیل احساسات آموزش دیده اند و پیش بینی می کنند که آیا احساسات متن ورودی مثبت یا منفی است. این مدلها بر روی مجموعه داده SST-2 (Stanford Sentiment Treebank) آموزش داده شدهاند که شامل نقدهای فیلم است که دارای برچسب مثبت یا منفی هستند. توجه داشته باشید که مدل ها فقط از زبان انگلیسی پشتیبانی می کنند. از آنجایی که آنها بر روی مجموعه داده ای از نقدهای فیلم آموزش دیده اند، ممکن است کیفیت متنی را که سایر حوزه های موضوعی را پوشش می دهد کاهش یابد.
مدل طبقهبندی BERT (توصیه میشود)
این مدل از معماری مبتنی بر BERT (مخصوصاً مدل MobileBERT ) استفاده می کند و به دلیل دقت بالا توصیه می شود. این شامل ابرداده است که به کار اجازه می دهد تا توکن سازی BERT خارج از نمودار را انجام دهد.
نام مدل | شکل ورودی | نوع کوانتیزاسیون | نسخه ها |
---|---|---|---|
دسته بندی BERT | [1x128]، [1x128]، [1x128] | محدوده دینامیکی | آخرین |
مدل تعبیه کلمه متوسط
این مدل از معماری تعبیه کلمه متوسط استفاده می کند. این مدل اندازه مدل کوچکتر و تاخیر کمتری را به قیمت دقت پیشبینی کمتر در مقایسه با طبقهبندی BERT ارائه میدهد. سفارشی کردن این مدل از طریق آموزش اضافی نیز سریعتر از انجام آموزش طبقه بندی کننده مبتنی بر BERT است. این مدل حاوی ابرداده است که به کار اجازه می دهد تا توکن سازی regex خارج از نمودار را انجام دهد.
نام مدل | شکل ورودی | نوع کوانتیزاسیون | نسخه ها |
---|---|---|---|
میانگین جاسازی کلمه | 1 × 256 | هیچکدام (float32) | آخرین |
معیارهای وظیفه
در اینجا معیارهای کار برای کل خط لوله بر اساس مدل های از پیش آموزش دیده بالا آمده است. نتیجه تأخیر، متوسط تأخیر پیکسل 6 با استفاده از CPU / GPU است.
نام مدل | تاخیر CPU | تاخیر GPU |
---|---|---|
میانگین جاسازی کلمه | 0.14 میلیثانیه | - |
دسته بندی BERT | 57.68 میلیثانیه | - |
مدل های سفارشی
اگر میخواهید قابلیتهای مدلهای ارائهشده را بهبود یا تغییر دهید، میتوانید از یک مدل ML سفارشیشده برای این کار استفاده کنید. می توانید از Model Maker برای اصلاح مدل های موجود استفاده کنید یا با استفاده از ابزارهایی مانند TensorFlow یک مدل بسازید. مدلهای سفارشی مورد استفاده با MediaPipe باید در قالب TensorFlow Lite باشند و باید شامل ابردادههای خاصی باشند که پارامترهای عملیاتی مدل را توصیف میکنند. قبل از اینکه مدل خود را بسازید، باید از Model Maker برای اصلاح مدل های ارائه شده برای این کار استفاده کنید.