کلمهٔ پرتکرار الزاماً بیاطلاع نیست. اگر پیش از تحلیلِ متن،واژهای مانند «نیست»یا«قبل»را حذف کنیم،ممکن است دو جملهٔ متفاوت به ورودیِ یکسان برسند. اینجا سه برخوردِ واقعیِ توکنها را با یک فهرستِ عمداً بد میسازیم؛ استفاده از چنین فهرستی را به کتابخانه یا محصولِ خاصی نسبت نمیدهیم.
کلماتِ توقف برای کدام وظیفه؟
Stop wordsنامِ فهرستی از واژههایی است که یک خطِ لوله برای هدفی مشخص کنار میگذارد. حذفِ آنها میتواند اندازهٔ نمایش را کم کند،اما دربارهٔ بیاهمیتبودنِ معنایشان حکمِ عمومی نمیدهد. حتی هدفِ سبکشناسی با تشخیصِ نیتِ مشتری نیازِ یکسانی ندارد. قراردادِ توکنسازی هم باید با همان فهرست سازگار باشد.
در تمرینِ ما،واژه با str.splitروی فاصله جدا میشود. نیمفاصله،شکلِ حروف وریشهیابی تغییر نمیکنند. فهرستِ نامناسب را خودِ نویسنده ساخته است تا اثرِ حذف معلوم شود؛ این خروجیِ پیشفرضِ stopwordفارسیِ scikit-learnیا یک فهرستِ معتبرِ توصیهشده نیست.
سه برخورد را ببینیم
| دو جملهٔ اصیل | خروجیِ مشترک پس از فهرستِ بد | تمایزِ ازدسترفته |
|---|---|---|
| ارسال رایگان است / ارسال رایگان نیست | ارسال رایگان | وجود یا نبودِ خدمت |
| پرداخت فقط بعد از تایید / پرداخت قبل از تایید | پرداخت تایید | شرط وترتیب |
| لغو را انجام بده / لغو را انجام نده | لغو انجام | مجوز یا منعِ عمل |
فهرستِ بد شامل است،نیست،فقط،بعد،قبل،از،را،بده ونده است. حذفِ این توکنها واقعاً در کد اجرا شده وهر سه زوج به فهرستِ توکنِ برابر رسیدهاند. قضاوتِ متفاوتبودنِ معنایِ جملهها توضیحِ انسانیِ مثال است؛ برنامه معنی را تشخیص نداده،فقط برابریِ خروجیها را حساب کرده است.
این برخورد پیش از مدل رخ میدهد. اگر تنها همین فهرستِ توکنِ پاکشده به مرحلهٔ بعد برسد،آن مرحله نمیتواند از رویِ دو ورودیِ یکسان،واژهٔ حذفشده را با قطعیت بازیابی کند. نگهداشتنِ متنِ اصلی و ردِ تبدیل برای عیبیابی اهمیت دارد؛ از این مثال نتیجه نمیشود که هر روشِ پیشپردازش همیشه مضر است.
یک سیاستِ محدودِ محافظت را هم اجرا کنیم
در نسخهٔ دوم،نیست،فقط،بعد،قبل ونده را از فهرستِ حذف خارج میکنیم. روی همین سه زوج دیگر برخوردی رخ نمیدهد. این تغییر فقط همان ورودیها را کنترل کرده است؛ فهرستِ کاملِ نفی وشرطِ فارسی،حفظِ معنایِ همهٔ جملهها یا دقتِ مدل از آن ثابت نمیشود.
کد برای هر توکن،شمارهٔ جایگاه و وضعیتِ حذف را نگه میدارد؛ ردیفِ متناظرِ خروجی به توکنِ اصلی برمیگردد. همچنین بررسی شده که حذفِ «نیست»بهصورتِ زیررشته،«نیستند»را خراب نکند و«میکنم»بدونِ سیاستِ اضافی یک توکن باقی بماند. حذفِ واژهٔ کامل با جایگزینیِ خامِ حروف فرق دارد.
آزمونِ مدل بعد از کنترلِ تبدیل
آزمونِ سؤالِ منفی در چت رفتارِ پاسخ را میسنجد؛ این صفحه منشأ احتمالیِ ازبینرفتنِ تمایز در مرحلهٔ حذفِ توکن را اجرا میکند. افزایشِ داده با حفظِ برچسب هم مسئلهٔ دیگری است:تولیدِ نمونهٔ تازه واعتبارِ برچسبِ ارثبرده،نه پاکسازیِ ورودیِ جاری.
پیش از حذف،چند زوجِ مربوط به نفی،استثنا،مبلغ وزمان را برای وظیفهٔ خود نگه دارید. پس از تغییر،هم خروجیِ تبدیل وهم رفتارِ مدلِ واقعی را جدا بررسی کنید. این تمرین هیچ مدل یا چتِ واقعی را اجرا نکرده است. برای پاسخگوییِ مشتری،نمونههایِ مجاز و پاسخِ موردِ انتظار را در راهاندازیِ چتِ اپرا مطرح کنید؛ روشِ پیشپردازشِ داخلیِ محصول از این نمونه نتیجه نمیشود.
فایل تمرین و منبع
حذفِ واقعیِ توکن،ردیابیِ محلِ حذف وکنترلِ سه برخورد · دو فهرستِ صریح وتمامِ توکنهایِ نگهداشته/حذفشده
منابع در ۳ نوامبر ۲۰۲۶ خوانده شدند؛ این تاریخ، تاریخ انتشار منبع نیست. مثالها و فایلهای این راهنما آموزشی و ساختهٔ تحریریهاند.