سـعید
مدیر بازنشسته
OCR چیست؟
برای فارسی ما و مشکلات آن

OCR سرنام اصطلاحی است که صورت کامل آن در واژهنامههای انگلیسی به دو صورت آمده است:
Optical Character Recognition
Optical Character Reader
● انواع OCR
در زبانهای دیگر، به ویژه زبانهایی که با حروف لاتینی نوشته میشوند، سالهاست که از OCR استفاده میشود. اما در ایران تازه دو سه سالی است که به فکر استفاده از OCR در زبان فارسی افتادهایم.
و اما OCR چند نوع است: یا تایپی است یا دستنویس. یعنی یا باید یک متن قبلاً تایپ شده را (مثل کتابها و روزنامههای چندین سال قبل، یا حتی متنی را که فایل تایپی آن موجود نیست و فقط پرینت آن را داریم) وارد رایانه کنیم، یا متن دستنویس را.متنهای دستنویس هم به دو صورت «گسسته» و «پیوسته» وجود دارند: متن «دستنویس پیوسته» مثل همان چیزهایی است که ما هرازگاهی که دلمان تنگ میشود روی کاغذ مینویسیم، یا یک نامه، یا یک قطعه شعر و ... اما متن «دستنویس گسسته» همان نوشتههایی است که حروف آن جدا از هم و به صورت گسسته نوشته شدهاند، مثل نام و نامخانوادگی که در فرمهای آزمون ثبتنام، به صورت هر حرف داخل یک کادر، نوشته میشوند.
طراحی OCR گسستة فارسی تقریباً در مراحل پایانی کار قرار دارد ولی، OCR پیوسته ظاهراً سالهای زیادی کار میبرد.
● فارسی ما و مشکلات آن
قبل از اینکه به مراحل دیگر OCR بپردازیم، لازم است اندکی هم به مشکلات خط فارسی ــ یا در واقع ویژگیهای این خط ــ بپردازیم. اول اینکه ما در فارسی حروف را به صورت چسبیده و پیوسته مینویسیم و این کار برای تشخیص حرف به حرف نوشته از سوی رایانه (که قرار است در مراحل بعدی آن را تایپ کند) بسیار مشکل است. تصور کنید که همین کلمه ساده «است» را به حالتهای مختلف میشود نوشت: یکی برای «س» دندانه میگذارد، یکی نمیگذارد، یکی آن را میکشد و یکی نمیکشد و... حالا اگر همین صورتهای مختلف «س» به «ت» هم بچسبند، تشخیص حروف برای ما انسانها هم سخت میشود، چه رسد به رایانه.
● شباهت حروف
مشکل دیگر خط ما این است که حرفهای فارسی بسیار به هم شبیهاند. مثلاً در نظر بگیرید که تفاوت «ر» با «ز» با «ذ» یا «ب» با «ت» تنها در یک نقطه است، و چون نقطه جزء بسیار کوچکی است، اگر یک خط یا حتی یک لک کوچک روی کاغذ بیفتد، تشخیص حروف از هم بسیار دشوار میشود و دردسر جدی برای بازشناسی حروف توسط رایانه ایجاد میکند. اینها تازه مشکلات خط فارسی است. دربارة اعداد فارسی هم این مشکل وجود دارد: صفر ما یک نقطه کوچک است که میتواند رایانه را به اشتباه بیندازد؛ اعداد ۴، ۳، ۲، ۱ هم بسیار به هم شبیه هستند و تنها تفاوتشان یک دندانه کوچک است.
به دلایل گفته شده OCR درمرحلة کنونی در کشور ما مربوط به «دستنویسهای گسسته» یا متنهای تایپی پیوسته است، و تا بازشناسی متنهای دستنویس پیوسته توسط کامپیوتر راه زیادی در پیش است، چون در دستنویسهای گسسته، اگرچه حروف به هم شباهت دارند، حداقل جداجدا نوشته شدهاند. در متنهای پیوسته تایپی هم مشکل کشیده شدن یک حرف یا شکسته نوشته شدن حروف را نداریم. در حال حاضر هم نرمافزارهایی وجود دارد که متن دستنویس پیوسته را تبدیل به حروف جدا ازهم و گسسته میکنند، ولی ضریب خطای این نرمافزارها زیاد است و به شکل صنعتی درنیامدهاند.
● بازشناسی حروف و الگو
تا اینجا گفتیم تصویر صفحهای که در آن حروف به طور جداجدا (هر حرف داخل یک کادر) نوشته شده است، به وسیلة اسکن وارد رایانه میشود. مرحلة بعدی این است که حروف بازشناسی شوند، یعنی مکان آنها از دیگر خطوط (مثل خطوط کادری که داخل آن نوشته شده) بازشناسی شود، و اگر متن پیوسته تایپی است، حروف جدا شوند و زواید تصویر حذف شود. مثلاً اگر دانشآموزی «س» را به گونهای نوشت که بیرون از کادر بود، به رایانه بفهمانیم که بیدقتی شده است او باید همان حرف داخل کادر را بخواند.
در مرحلة بعدی که «بازشناسی الگو» نام دارد، با تعدادی شرط میشود فهمید که مثلاً حرفی «الف» است یا نه، و رایانه تشخیص میدهد که حرف «پ» است یا «ب». برای این تشخیص لازم است که تصویر حرف «الف» با الفهای نمونه ــ که قبلاً به رایانه داده شده است ــ منطبق شود. الفبای نمونه قبلاً از روی یک مجموعه بزرگ آموزشی تهیه شده و ویژگیهای مشترک از آن استخراج شده است. اما از آنجا که تنوع صورتها نوشتاری یک حرف به صورت دستنویس بسیار زیاد است، مدلی آماری استخراج میشود که در آن شباهت ویژگیهای استخراج شدة قبلی با نمونه ورودی به رایانه بررسی میشود. در اینجا «بازشناسی الگو» با روشهای آماری انجام میشود که روش معمول در سیستمهای OCR است.
اگر فکر میکنید که کار تمام شده است در اشتباهید، چون تازه میرسیم به دنبالة حروف. مثلاً اگر کسی همان حرف «س» را با دنباله بنویسد، رایانه باید تشخیص دهد که این حرف فقط «س» است، یا مثلاً «ی» هم به آن چسبیده است.