زمانی را تصور کنید كه قصد دارید متن دست نوشته خود را وارد کامپیوتر نمائید. اولين روشي كه به ذهنتان خطور می کند اين است كه متن مورد نظر را تايپ نمائید. اما آيا ميشود همان متن را وارد رايانه كنيد تا دیگر نيازي به تايپ آن نباشد؟
البته با استفاده از ((اسكنر)) ميتوانید تصويري از آن متن را وارد کامپیوتر کنید، اما مشکل اصلی اینجاست که کامپیوتر توانایی تشخیص حروف و كلمات را از هم ندارد.
مثلاً اگر بخواهيم کامپیوتر در متن اسكن شده كلمه ((رایانه)) را بررسی کند و بگوید که چند بار در متن اسکن شده تکرار شده است ميگويد نميتوانم تشخيص دهم! در واقع اين ((تصوير ديجيتالشده)) بايد به ((تصوير قابل پردازش)) تبديل شود. موضوع اصلي OCR همين است.
سالهاست كه از OCR در زبانهاي ديگر مخصوصاً زبانهايي كه با حروف لاتين نوشته ميشوند استفاده ميشود. اما در ايران به تازگی به فکر استفاده از OCR افتادهايم.
OCR به دو نوع تايپي و دستنويس می باشد. يعني يا بايد يك متنی را که قبلاً تايپ شده است را وارد کامپیوتر نمائیم، يا یک متن دستنويس شده را.
زبان فارسی و مشکلات مربوط به آن
ما در فارسي حروف را به صورت چسبيده مينويسيم و اين كار براي تشخيص حروف نوشته شده از طرف کامپیوتر بسيار دشوار است. فرض كنيد كه همين كلمه ساده ((هست)) را به حالتهاي مختلف ميشود نوشت: يكي براي «س» دندانه ميگذارد، يكي نميگذارد، يكي آن را ميكشد و يكي نميكشد و... حالا اگر همين صورتهاي مختلف «س» به «ت» هم بچسبند، تشخيص حروف بسیار دشوار می شود.
مشكل ديگر اين است كه حروف فارسي بسيار به یکدیگر شباهت دارند. به عنوان مثال در نظر بگيريد كه تفاوت «ب» با «ت» يا «ط» با «ظ» تنها در يك نقطه است، و چون نقطه جزء بسيار كوچكي است، اگر يك خط كوچك روي كاغذ بيفتد، تشخيص حروف از هم بسيار سخت ميشود لازم به ذکر است که درباره اعداد فارسي هم اين مشكل وجود دارد: صفر ما شبیه يك نقطه ریز است كه ميتواند کامپیوتر را به اشتباه بيندازد؛ اعداد زیادی هم هستند که بسيار به هم شبيه هستند و تنها تفاوتشان يك دندانه كوچك است.
به دلايل گفته شده OCR درحال حاضر در كشور ما مربوط به ((دستنويسهاي گسسته)) يا متنهاي تايپي پيوسته است.
در مرحله اول به وسيله اسكنر، تصوير صفحهاي كه در آن حروف به صورت جداگانه نوشته شده اند را وارد کامپیوتر می نمائیم. و در مرحله دوم می بایست حروف بازشناسی شوند، يعني مكان آنها از ديگر خطوط بازشناسي شوند، و چنانچه متن پيوسته تايپي می باشد، حروف از یکدیگر جدا شوند و زوايد تصوير حذف شوند. در مرحله سوم كه ((بازشناسي الگو)) نام دارد، با تعدادي شرط ميشود فهميد كه مثلاً حرفی ((ج)) هست یا خیر، و کامپیوتر تشخيص ميدهد كه حرف «ط» است يا ((ظ.)) براي اين تشخيص لازم است كه تصوير حرف ((ج)) با ج هاي نمونه كه قبلاً به رايانه داده شده است منطبق شود.
مرحله چهارم ((مدلسازي زباني)) است. حروف به هم چسبيده، كه كلمه را می سازند می بایست معنيدار باشند. در اين مرحله بررسي ميشود كه چه لغاتی در زبان موجود هستند؟و چه تركيبی از كلمات مجاز هستند؟در نتیجه براي تشخيص این مورد به تهيه بانك اطلاعاتي (Data base) نياز داريم.
در جهان جهت توسعه OCR ، بانكهای اطلاعاتي استاندارد ساخته شده است كه در آنها همه لغات وجود دارند، به این معنی که بانك هم شكل ديجيتال كلمه را دارد، و هم شکل تصویری آن را. اما براي زبان فارسي، اين بانكهای اطلاعاتي استاندارد شده نيست. در حقیقت هر كسي براي خودش يك بانك اطلاعاتي ساخته است و این مورد سبب ایجاد مشکلات بسیاری می شود.