فارسی روی هر توکنایزری گرانتر از انگلیسی است
یک متن فارسی تقریباً دو برابر معادل انگلیسیاش توکن مصرف میکند. اگر ماشینحساب یک محصول این را نادیده بگیرد، صورتحساب مشتری ایرانی را حدود شصت درصد کمبرآورد میکند.
توکنایزرهای مدلهای امروزی روی متن انگلیسی آموزش دیدهاند و بهینه شدهاند. نتیجهاش برای ما این است: همان جمله، به فارسی، توکن بیشتری میگیرد.
عدد سرانگشتیای که ما در محاسباتمان استفاده میکنیم:
| زبان | توکن بهازای هر کلمه |
|---|---|
| انگلیسی | حدود ۱٫۳ |
| فارسی | حدود ۲٫۲ |
یعنی یک مقالهٔ ۸۰۰ کلمهای فارسی، تقریباً بهاندازهٔ یک مقالهٔ ۱۳۵۰ کلمهای انگلیسی هزینه دارد.
چرا اینطور است
چند دلیل روی هم جمع میشوند:
- حروف غیرلاتین گرانترند. بسیاری از توکنایزرها متن یونیکد را به بایت میشکنند و هر کاراکتر فارسی دو بایت است.
- نیمفاصله و ی/ک. «میرود» ممکن است سه تکه شود. «ي» عربی و «ی» فارسی از نظر مدل دو کاراکتر متفاوتاند، و متنی که هر دو را دارد بدتر شکسته میشود.
- ارقام. «۱۲۳۴» فارسی و «1234» لاتین یکسان توکنایز نمیشوند.
چه کاری از دست ما برمیآید
دو کار، و هر دو را کردهایم.
اول، صادق بودن در عدد. ماشینحساب صفحهٔ پلنها با نسبت ۲٫۲ کار میکند، نه با نسبت انگلیسی. اگر با نسبت انگلیسی حساب میکردیم، عددی که به شما نشان میدادیم حدود شصت درصد کمتر از صورتحساب واقعیتان بود — که به آن میگویند فروش، نه تخمین.
دوم، کم کردن مصرف در جاهایی که میشود. چند تصمیم مهندسی که مستقیم روی صورتحساب اثر دارد:
- نرمالسازی ورودی. ی و ک عربی به فارسی، نیمفاصلهٔ استاندارد، ارقام یکدست. هم جستوجو بهتر میشود، هم توکن کمتری مصرف میشود.
- حافظهٔ کوتاه و هدفمند. فرستادن کل تاریخچهٔ گفتوگو در هر درخواست، سادهترین راه دو برابر کردن هزینه است. آوند خلاصهٔ بهروزشده میفرستد، نه بایگانی.
- مدل مناسب برای کار مناسب. دستهبندی یک ایمیل با مدل پیشرو، مثل جابهجا کردن یک صندلی با کامیون است. کارهای سبک روی مدل سبک میروند و این تصمیم در پنل قابل مشاهده است.
نتیجهٔ عملی
اگر جایی دیدید که یک محصول ایرانی «هزار توکن رایگان» تبلیغ میکند، حساب کنید آن هزار توکن به فارسی چند جمله است. معمولاً کمتر از چیزی است که به نظر میرسد.
ما ترجیح دادیم بهجای عدد بزرگ توکن، عدد تومان نشان بدهیم — چون تنها واحدی است که همه یکسان میفهمند.