تشخیص دستخط فارسی

سؤالی که در پروژههای اسناد مکرر پرسیده میشود: «فرمهای دستنویس ما را هم میتوانید بخوانید؟»
جواب صادقانه: گاهی، و نه بهآسانی متن چاپی. و تفاوت آنقدر زیاد است که باید پیش از هر برآوردی روشن شود.
چرا چند مرتبه سختتر است
متن چاپی، محدود است: چند فونت، شکل ثابت هر حرف، فاصلهگذاری منظم.
دستخط هیچکدام را ندارد:
هر نفر شکل متفاوتی مینویسد — و حتی یک نفر، دو بار یکسان نمینویسد.
اتصال دلبخواهی. در فارسی حروف بهطور طبیعی متصلاند و در دستخط، اتصالهایی اضافه میشود که در قاعده نیست.
نقطهها جابهجا و ادغام میشوند. در دستخط سریع، سه نقطهٔ «ش» یک خط میشود و دو نقطهٔ «ی» به هم میچسبند. و همانطور که در OCR فارسی گفتیم، نقطه تفاوت بین حروف را میسازد — پس این تنها بزرگترین منبع خطاست.
کشیدگی دلبخواهی. نویسنده حروف را میکشد تا خط پر شود.
بدون خط پایه. نوشته بالا و پایین میرود.
و کمبود شدید دادهٔ آموزشی. دادهٔ برچسبخوردهٔ دستخط فارسی، در برابر انگلیسی، بسیار کم است. این ریشهٔ عملی بیشتر محدودیتهاست.
کجا امروز واقعاً جواب میدهد
طیف را روشن ببینید:
اعداد جدا در خانههای مجزا — مثل فرمهای بانکی با خانه برای هر رقم: بسیار خوب. این مسئلهٔ تقریباً حلشدهای است.
کلمات از فهرست بسته — نام شهر، نوع کالا، بله/خیر: خوب، چون میتوان خروجی را با فهرست تطبیق داد.
تیک و علامت انتخاب: بسیار خوب. این سادهترین و قابلاتکاترین حالت است و اغلب نادیده گرفته میشود.
عبارت کوتاه در فیلد مشخص — نام و نام خانوادگی: متوسط، با نیاز به بازبینی.
متن آزاد چندخطی: ضعیف. برای این حالت، انتظار خودکارسازی کامل واقعبینانه نیست.
نکتهٔ کلیدی: هرچه دامنه محدودتر، نتیجه بهتر. و دامنه را معمولاً میشود با طراحی فرم محدود کرد.
طراحی فرمی که تشخیص را ممکن میکند
اگر فرم را خودتان طراحی میکنید — که در پروژههای سازمانی معمولاً همینطور است — این بخش مهمتر از انتخاب مدل است.
خانهٔ جدا برای هر کاراکتر. بیشترین اثر در کل این فهرست. نوشتن در خانه، مسئله را از تشخیص خط متصل به تشخیص حرف منفرد تبدیل میکند.
کادر مشخص با رنگ قابل حذف. خطوط راهنما به رنگی که در پیشپردازش قابل حذف باشد.
انتخاب بهجای نوشتن، هر جا ممکن است. تیک زدن از نوشتن هم برای کاربر سریعتر است و هم برای سامانه قابل اتکاتر.
نشانههای همترازی در گوشههای فرم، تا تصویر خودکار صاف و همتراز شود.
فضای کافی. فیلدی که کوچک باشد، نوشتهٔ فشرده میگیرد.
راهنمای نمونه. یک نمونهٔ پر شده کنار فیلد.
و اگر امکانش هست: فرم را دیجیتال کنید. بهترین راهحل تشخیص دستخط، حذف دستخط است — که در حذف کاغذ از فرایندها و جمعآوری داده میدانی مسیرش را نوشتهایم.
اعتبارسنجی، که اینجا ضروریتر است
چون دقت پایینتر است، لایهٔ اعتبارسنجی وزن بیشتری پیدا میکند:
- تطبیق با فهرست بسته. خروجی «تهرن» با فهرست شهرها تطبیق داده میشود و «تهران» میشود.
- قواعد ساختاری. کد ملی رقم کنترلی دارد، شمارهٔ تلفن طول مشخصی.
- قواعد ریاضی در فرمهای عددی — همان اهرمی که در استخراج جدول گفتیم.
- تطبیق با دادههای موجود. اگر شمارهٔ مشتری خوانده شد، نامش را از پایگاه داده بیاورید و با نام نوشتهشده مقایسه کنید.
آن مورد آخر قویترین است: دادهٔ سازمانی شما، بهترین تصحیحکنندهٔ خطاست.
بازبینی، که حذف نمیشود
در تشخیص دستخط، بازبینی انسانی بخشی از معماری است، نه استثنا.
طراحیای که کار میکند:
- درجهٔ اطمینان هر فیلد، و آستانهٔ متفاوت بر اساس اهمیت.
- تصویر همان فیلد کنار مقدار — نه کل صفحه. بازبین باید در یک نگاه قضاوت کند.
- ترتیب بازبینی بر اساس ریسک، نه ترتیب ورود.
- امکان تأیید گروهی برای فیلدهای پراطمینان.
سنجهٔ درست: زمان بازبینی هر فرم. اگر از ورود کامل دستی کمتر است، پروژه سود میدهد — حتی اگر دقت مدل چشمگیر نباشد.
برآورد واقعبینانه
اگر پروژهای در این حوزه دارید، اینها را از ابتدا بگویید:
دقت متن آزاد فارسی دستنویس، در حدی نیست که بدون بازبینی به کار برود. هر برآوردی که این را فرض کند، غلط است.
دادهٔ آموزشی خودتان لازم میشود. برای فرمهای خاص سازمان، تنظیم مدل روی چند صد نمونهٔ برچسبخورده، بیشترین جهش را میدهد — و برچسبزدن آن نمونهها، قلم مستقلی در برآورد است، نه جزئیات.
و اگر فرم قابل بازطراحی است، بازطراحیاش ارزانترین بهبود است — چند برابر ارزانتر از هر کار مدلی.
و یک سؤال که باید اول پرسیده شود
پیش از هر پروژهٔ تشخیص دستخط: چرا این فرم دستنویس است؟
اگر جواب «همیشه اینطور بوده» است، شاید مسئلهٔ واقعی چیز دیگری است. فرمی که با موبایل و بهصورت دیجیتال پر شود، نه فقط مسئلهٔ تشخیص را حذف میکند، بلکه اعتبارسنجی در لحظه، موقعیت مکانی و زمان دقیق هم میدهد.
تشخیص دستخط، راهحل درست برای اسناد گذشته و شرایطی است که کاغذ اجتنابناپذیر است — نه راهحل درست برای فرایندی که میشود از ابتدا دیجیتال طراحی کرد.