«چند میشه؟» سه کلمه است و هیچکدامش «قیمت» نیست. اگر ربات دایرکت اینستاگرام تو با این قانون کار میکند که «هر پیامی کلمهی قیمت داشت، جدول قیمت را بفرست»، این مشتری یا هیچ جوابی نمیگیرد یا جوابی میگیرد که به پرسشش نمیخورد. برای او هم مهم نیست که پشت صحنه چه شده است؛ فقط میبیند که حرفش فهمیده نشد.
رباتهای ارزان تقریبا همه همین کار را میکنند: دنبال کلمه میگردند، نه دنبال منظور. قرار نیست اینجا ثابت شود که چنین رباتی به درد نمیخورد. قرار است یک آزمون چهلوپنجدقیقهای یاد بگیری که با پیامهای خود تو نشان میدهد این روش چه سهمی از کار را برمیدارد، و چرا راهحل «یک کلمهی دیگر هم اضافه کنم» از جایی به بعد وضع را بدتر میکند.
یک قانون، چهار پیام، یک جواب درست
قانون سادهای را در نظر بگیر: «اگر پیام کلمهی ارسال داشت، شرایط ارسال را بفرست.» حالا چهار مشتری اینها را مینویسند:
| پیام مشتری | ربات چه میکند | نتیجه |
|---|---|---|
| «ارسال به شیراز چقدر طول میکشه؟» | شرایط ارسال را میفرستد | درست گرفت |
| «چطوری میرسه دستم؟» | هیچ قانونی فعال نمیشود | ندید |
| «اینو ارسال کردم براتون، دیدید؟» | شرایط ارسال را میفرستد | اشتباه گرفت |
| «پست چند روزهست؟» | هیچ قانونی فعال نمیشود | ندید |
از چهار پیام فقط یکی جواب درست گرفت. دو پیام همان منظور را داشتند و کلمه را نداشتند؛ مشتری معمولا با زبان خودش مینویسد، نه با اصطلاحی که تو در قانون گذاشتهای. و یک پیام کلمه را داشت و منظور را نه: او دارد میگوید چیزی برایت فرستاده، و ربات برایش شرایط ارسال میفرستد.
وسوسه این است که «پست» و «میرسه» را هم به قانون اضافه کنی. ولی «میرسه» در «کی میرسه پولم؟» هم هست، و با همین یک کلمه یک جواب بیربط تازه ساختهای.
ندیدن و اشتباه گرفتن دو خطای هموزن نیستند
هر سیستمی که با تطبیق کلمه کار میکند دو جور خطا دارد. در خطای اول، پیام منظور روشنی داشت و هیچ قانونی آن را نگرفت؛ مشتری جوابی نمیگیرد و نتیجه میگیرد «الان نیستند». در خطای دوم، قانونی فعال شد که ربطی به پیام نداشت؛ مشتری جواب بیربط میگیرد و نتیجه میگیرد «اینها حرفم را نمیفهمند».
اولی یک فرصت ازدسترفته است. دومی قضاوتی دربارهی کیفیت کسبوکار توست، و از این هم بدتر: مشتری یک لحظه خیال کرده حرفش فهمیده شده است.
مشکل اصلی اینجاست که این دو خطا به هم بستهاند. هر کلیدواژهی تازه ندیدن را کم میکند و اشتباه گرفتن را زیاد. هیچ تعدادی از قانونها هر دو را با هم پایین نمیآورد.
نگهبانی که فقط فهرست اسمها را دارد دو جور اشتباه میکند: کسی را که واقعا کار دارد ولی اسمش با املای دیگری نوشته شده راه نمیدهد، و همنام یکی از اسمهای فهرست را راه میدهد. بلندتر کردن فهرست هر دو اشتباه را بیشتر میکند، نه کمتر.
نگهبانی که میفهمد طرف برای چه آمده از این تله بیرون است، ولی گرانتر هم هست. پس پیش از فکر کردن به او، باید بدانی نگهبان فعلی چقدر اشتباه میکند.
آزمون سی پیام: خودت نقش ربات را بازی کن
برای این آزمون فقط دایرکت خودت و یک برگه کاغذ لازم است. اگر هنوز رباتی نداری هم میتوانی انجامش بدهی، و در آن حالت جلوی یک خرید زودهنگام را هم میگیرد.
- قانونها را اول بنویس. هر قانون یعنی کلمه یا کلمههای محرک و جوابی که فرستاده میشود. اگر ربات نداری، قانونهایی را بنویس که اگر قرار بود بسازی مینوشتی. این کار باید پیش از دیدن پیامها تمام شود، وگرنه ناخودآگاه قانونی میسازی که همان پیامها را بگیرد.
- سی پیام را عینا بردار. با غلط املایی، با فینگلیش، با شکلک. اگر تمیزشان کنی، سیستم را روی چیزی آزمودهای که هیچوقت نمیبیند.
- فقط پیام اول هر گفتوگو. همان است که ربات باید بفهمد؛ پیامهای بعدی معنایشان را از ادامهی گفتوگو میگیرند.
- سختگیر باش. اگر قانونت «قیمت» است و پیام «چند میشه»، آن را «گرفت» حساب نکن. ربات مترادف نمیشناسد.
- هر پیام را در یکی از چهار دسته بگذار: درست گرفت، نگرفت، اشتباه گرفت، و بیقصد. دستهی آخر پیامهایی است مثل «سلام» و «هستید؟» که هنوز چیزی نخواستهاند.
- بشمار، ولی با مخرج درست. بیقصدها را کنار بگذار و سه عدد را از میان باقی پیامها بنویس: چند تا درست، چند تا ندیده، چند تا اشتباه.
کنار گذاشتن بیقصدها تقلب نیست. هیچ قانونی قرار نبود «سلام» را بگیرد، و اگر آنها را در حساب بیاوری عددت بیدلیل بد میشود. تعدادشان هم معمولا بیشتر از انتظار است؛ خیلی از مشتریها اول یک سلام میفرستند و منتظر میمانند ببینند کسی هست یا نه.
عددهای یک فروشندهی لوازم ورزشی
برای اینکه ببینی این شمارش به کجا میرسد، یک مثال را دنبال میکنیم. این مثال فرضی است و عددهایش فقط روش را نشان میدهند. فروشنده پنج قانون داشت. از سی پیام، ۴ پیام بیقصد بود و ۲۶ پیام چیزی میخواست. از آن ۲۶ پیام، ۱۱ تا درست گرفته شد، ۱۳ تا دیده نشد و ۲ تا اشتباه گرفته شد. یعنی نیمی از مشتریهایی که منظور روشنی داشتند هیچ جوابی نمیگرفتند.
واکنش طبیعی این بود که برای هر کدام از آن ۱۳ پیام یک کلیدواژهی تازه بنویسد. پنج قانون شد هجده قانون، و نتیجه اینطور عوض شد:
| نتیجه | پنج قانون | هجده قانون، روی همان سی پیام | هجده قانون، روی سی پیام هفتهی بعد |
|---|---|---|---|
| درست گرفت | ۱۱ | ۲۱ | ۱۴ |
| نگرفت | ۱۳ | ۲ | ۹ |
| اشتباه گرفت | ۲ | ۳ | ۴ |
چرا ستون وسط را باید دور ریخت
ستون وسط عالی به نظر میرسد: ۲۱ پیام از ۲۶ پیام. ولی قانونهای تازه از روی همین سی پیام ساخته شده بودند، و آزمودنشان روی همانها مثل امتحان دادن با برگهی جواب است. آزمون منصفانه پیام تازه میخواهد. هفتهی بعد، از ۲۷ پیامی که منظور روشن داشتند فقط ۱۴ تا درست گرفته شد.
پس معاملهی واقعی این بود: تعداد قانونها سه و نیم برابر شد، سهم جواب درست از «کمتر از نصف» به «کمی بیشتر از نصف» رسید، و جواب بیربط از ۲ مورد در ۲۶ پیام به ۴ مورد در ۲۷ پیام رسید؛ یعنی تقریبا دو برابر. دور بعد هم بدتر است: قانون بیستونهم تقریبا هیچ پیام تازهای نمیگیرد و فقط خطا اضافه میکند.
همین نسبتها در یک ماه کاری
فرض کن این فروشنده ماهی ۲۰۰ پیام اول با منظور روشن میگیرد. با پنج قانون، ۸۴ نفر جواب درست میگیرند، ۱۰۰ نفر بیجواب میمانند و ۱۶ نفر جواب بیربط میگیرند. با هجده قانون، این سه عدد میشود ۱۰۴ و ۶۶ و ۳۰.
بیست نفر بیشتر جواب درست گرفتند و چهارده نفر بیشتر جواب بیربط. اگر جواب بیربط را دو برابر بیجوابی مضر بدانی، چون اعتماد را میبرد و نه فقط فرصت را، سود خالص این همه کار تقریبا صفر است. رباتهای کلیدواژهای معمولا به همین دلیل رها میشوند: نه چون کار نمیکنند، چون بهتر کردنشان نتیجه نمیدهد.
بخشی از خطا اصلا به فهم زبان ربط ندارد
فارسی برای تطبیق کلمه زبان سختی است، و چند دلیلش کاملا فنی است:
- نیمفاصله و فاصله. «میخوام» و «میخوام» و «می خوام» برای ربات سه رشتهی متفاوتاند. قانونی که یکی را بگیرد دو تای دیگر را نمیگیرد.
- دو شکل از یک حرف. صفحهکلیدهای مختلف برای «ی» و «ک» حرفهای متفاوتی میفرستند که به چشم یکیاند.
- فینگلیش. «gheymat» و «قیمت» یک منظورند و از نظر ربات هیچ ربطی به هم ندارند.
- شکستهنویسی. آنچه در قانون «میشود» نوشتهای در دایرکت تقریبا همیشه «میشه» است.
مورد دوم تنها موردی است که با یکسانسازی سادهی حروف کاملا حل میشود. برای همین، از میان پیامهایی که در آزمونت «نگرفت» شدند، جدا بشمار چند تا فقط به خاطر املا یا نیمفاصله بود. اگر عدد قابل توجهی شد، اولین کارت یکسانسازی حروف و فاصله است، نه خرید سیستم تازه. این دو دسته را در یادداشتت هم جدا نگه دار، چون یکی رایگان حل میشود و دیگری نه.
چه وقت همین ربات ساده کافی است
اگر در دور اول دیدی بیشتر پیامها درست گرفته شدهاند، اول به خودت شک کن. یا موقع شمردن آسان گرفتهای، یا پیامها را از حافظه بازنویسی کردهای و همان بینظمیای را که ربات را میشکند پاک کردهای.
ولی احتمال سومی هم هست: شاید واقعا پیامهایت یکنواختاند. اگر یک محصول مشخص میفروشی و همه یک چیز میپرسند، این کاملا ممکن است، و خبر خوبی است. رباتی با پنج قانون دقیق برایت کافی است؛ هم ارزانتر است و هم میفهمی چرا چه جوابی داد.
یک نگاه آخر هم لازم است. اگر هم جواب درستت زیاد است و هم جواب بیربطت، قانونهایت زیادی گشادند. آن مشکل با قانون دقیقتر حل میشود، نه با سیستم دیگر. و اگر بعد از اضافه کردن کلیدواژهها هیچ جواب بیربط تازهای ندیدی، احتمالا کلیدواژههایت عین جملهی همان پیام بودهاند؛ چنین قانونی فقط همان یک پیام را میگیرد و فهرستت را بلند میکند بدون اینکه چیزی عوض شود.
چهار پرسش از کسی که میگوید رباتش به بیشتر پیامها جواب میدهد
«جواب میدهد» و «درست جواب میدهد» دو چیزند. رباتی که به هر پیامی بگوید «متوجه نشدم، لطفا واضحتر بنویسید» به همهی پیامها جواب داده است. پس وقتی چنین ادعایی شنیدی اینها را بپرس:
- چه سهمی را درست جواب میدهد، و روی چه پیامهایی سنجیده شده است؟ اگر روی نمونههای خودشان بوده، به کار تو نمیآید.
- چند بار جواب بیربط میدهد؟ اگر این عدد را نمیدانند یعنی نمیسنجندش، و این همان خطایی است که بیشترین ضرر را میزند.
- میتوانم سی پیام واقعی خودم را بدهم و نتیجه را ببینم؟ این تنها آزمون معتبر است و طفره رفتن از آن خودش یک جواب است.
- وقتی نمیفهمد چه میکند: سکوت، جواب عمومی، یا سپردن به آدم؟ و کدام را من میتوانم تعیین کنم؟
سیستمی که بهجای کلمه به منظور نگاه میکند از معاملهی «ندیدن در برابر اشتباه گرفتن» بیرون است. ولی تا عدد خودت را نداشته باشی، نمیدانی آن معامله برایت چقدر گران تمام میشود و اصلا لازم است از آن بیرون بیایی یا نه. ادامهی همین کار، یعنی گروه کردن همان سی پیام بر اساس منظور، در مینیدورهی رایگان «چتبات کور» آمده است. اگر عددهایت گفتند پنج قانون کافی نیست، جزئیات این خدمت را هم میتوانی ببینی: پاسخگویی که معنای پیام را میفهمد و برای هر جواب نشان میدهد چرا آن را داده است.