بخش ۱
مدل تصمیمگیری چیست و چرا میزان را ساختیم
بهطور خلاصه
مدلهای تصمیمگیری مثل Jev بهجای تولید متن، احتمال هر گزینهٔ مجاز را برمیگردانند. ما همین توانایی را برای فارسی میخواستیم، در مدلی که روی سرور خود سازمان اجرا شود.
احتمالاً اسم Jev را شنیدهاید. شرکت TypeSafe در ۲۴ شهریور ۱۴۰۵ این مدل را بهعنوان اولین عضو دستهای تازه معرفی کرد و اسم آن را مدلهای «System One» گذاشت؛ اشارهای به «سیستم ۱» در نظریهٔ دانیل کانمن، یعنی فکر سریع و شهودی. دو هفته بعد، در ۹ مهر، Cloudflare هم مدلهای Clef و Clef-Flash را با همان API و با وزنهای باز منتشر کرد.
اینها مدلهای تصمیمگیریاند؛ مدلهایی که برای یک کار مشخص ساخته شدهاند: خواندن یک پیام یا رکورد و انتخاب پاسخ درست از میان گزینههای از پیش تعیینشده.
مدل تصمیمگیری برخلاف چتبات متن تولید نمیکند. یک رکورد، مثلاً پیام مشتری یا یک ردیف JSON، همراه چند سؤال با گزینههای مشخص به آن داده میشود و مدل برای هر سؤال، احتمال همهٔ گزینههای مجاز را در یک پردازش برمیگرداند. پاسخ همیشه یکی از گزینههایی است که خودتان تعریف کردهاید و درصدها را میشود مبنای تصمیم قرار داد. برای همین این مدلها در کارهایی مثل ارجاع تیکت، مدیریت محتوا و تحلیل نظر از چتباتها مناسبترند؛ چتبات پاسخ را کلمهبهکلمه میسازد، گاهی خروجی خراب یا برچسبی خارج از گزینهها برمیگرداند و درصد اطمینانش معمولاً پشتوانهای ندارد.
با چتبات
با مدل تصمیمگیری
اما گزینههای موجود برای ما کافی نبودند. سرویس Jev میزبانیشده است، پس داده باید از سازمان خارج شود. مدلهای Clef را میشود محلی اجرا کرد، اما سنگیناند؛ نسخهٔ 9B حدود ۱۹ گیگابایت و نسخهٔ 27B حدود ۵۵ گیگابایت حجم دارد. ما مدلی میخواستیم که فارسی واقعی را خوب بفهمد، از متن محاورهای و فینگلیش تا تعارف و کنایه، و آنقدر سبک باشد که روی سرور خود سازمان و حتی یک لپتاپ اجرا شود. میزان برای همین ساخته شد و اولین نسخهاش ده روز بعد از انتشار Clef، در ۱۹ مهر، آماده بود.
سؤالها سه نوعاند: انتخاب برای برگزیدن یک گزینه از میان چند گزینه، بله/خیر، و سطح برای مقیاسهای مرتب مثل شدت از ۰ تا ۳. در سؤالهای سطح، میزان علاوه بر احتمال هر سطح، سطح موردانتظار را هم برمیگرداند که برای مرتبسازی کارها مفید است.
انتخاب choice
یک گزینه از میان چند گزینه
مشتری راضی است یا ناراضی؟
بله/خیر noul
احتمال اینکه پاسخ «بله» باشد
مشتری درخواست بازگشت وجه کرده است؟
سطح score
یک مقیاس مرتب، مثل شدت از ۰ تا ۳
شدت مشکل در کدام سطح است؟
سطح موردانتظار: ۲٫۰۰
{
"state": {"review": "غذا سرد رسید و پیک هم خیلی بداخلاق بود"},
"questions": {
"sentiment": {"type": "choice", "instructions": "حس کلی مشتری چیست؟",
"criteria": {"positive": "راضی", "negative": "ناراضی"}},
"refund": {"type": "noul", "instructions": "آیا مشتری درخواست بازگشت پول کرده؟"}
}
}{"answers": {
"sentiment": {"type": "choice", "choice": "negative", "confidence": 0.989,
"probabilities": {"negative": 0.989, "positive": 0.011}},
"refund": {"type": "noul", "noul": 0.040}
}}نتیجهٔ این طراحی در عمل این است که هر تصمیم حدود ۵۵ میلیثانیه طول میکشد، خروجی همیشه ساختار ثابتی دارد و درصدها آنقدر قابل اعتمادند که میشود بر اساسشان تعیین کرد کدام مورد خودکار انجام شود و کدام به کارشناس برسد.