جستجوی پیشرفته               
 
OCR چيست؟

فرض کنيد که ما متني را روي کاغذ داريم و مي‌خواهيم آن را وارد رايانه کنيم. اولين روشي که به ذهن مي‌رسد اين است که متن را به تايپيست بدهيم تا با کامپيوتر تايپ کند. اما آيا مي‌شود عين همان متن را وارد رايانه بکنيم تا نيازي به تايپ نباشد؟
البته دستگاه «اسکنر» مي‌تواند تصويري از آن متن را وارد رايانه کند، تا اينجا بخشي از مشکل ما حل شده است. اما رايانه که نه عقلي دارد و نه «زبان» مي‌فهمد، نمي‌تواند حروف و کلمات را از هم تشخيص دهد.
مثلاً اگر از کامپيوتر بخواهيم به ما بگويد که در متن اسکن‌شده کلمة «علي» چند بار آمده است، بي‌آنکه شرمنده شود، مي‌گويد نمي‌توانم تشخيص بدهم! در واقع اين «تصوير ديجيتال‌شده» بايد به «تصوير قابل پردازش» تبديل شود. موضوع اصلي OCR همين است.

OCR سرنام اصطلاحي است که صورت کامل آن در واژه‌نامه‌هاي انگليسي به دو صورت آمده است:
1. Optical Character Recognition
2. Optical Character Reader

انواع OCR
در زبان‌هاي ديگر، به ويژه زبان‌هايي که با حروف لاتيني نوشته مي‌شوند، سال‌هاست که از OCR استفاده مي‌شود. اما در ايران تازه دو سه سالي است که به فکر استفاده از OCR در زبان فارسي افتاده‌ايم.
و اما OCR چند نوع است: يا تايپي است يا دست‌نويس. يعني يا بايد يک متن قبلاً تايپ شده را (مثل کتاب‌ها و روزنامه‌هاي چندين سال قبل، يا حتي متني را که فايل تايپي آن موجود نيست و فقط پرينت آن را داريم) وارد رايانه کنيم، يا متن دست‌نويس را.
متن‌هاي دست‌نويس هم به دو صورت «گسسته» و «پيوسته» وجود دارند: متن «دست‌نويس پيوسته» مثل همان چيزهايي است که ما هرازگاهي که دلمان تنگ مي‌شود روي کاغذ مي‌نويسيم، يا يک نامه، يا يک قطعه شعر و ... اما متن «دست‌نويس گسسته» همان نوشته‌‌هايي است که حروف آن جدا از هم و به صورت گسسته نوشته شده‌اند، مثل نام و نام‌خانوادگي که در فرم‌هاي آزمون ثبت‌نام، به صورت هر حرف داخل يک کادر، نوشته مي‌شوند.
طراحي OCR گسستة فارسي تقريباً در مراحل پاياني کار قرار دارد ولي، OCR پيوسته ظاهراً سال‌هاي زيادي کار مي‌برد.

فارسي ما و مشکلات آن
قبل از اينکه به مراحل ديگر OCR بپردازيم، لازم است اندکي هم به مشکلات خط فارسي ــ يا در واقع ويژگي‌هاي اين خط ــ بپردازيم. اول اينکه ما در فارسي حروف را به صورت چسبيده و پيوسته مي‌نويسيم و اين کار براي تشخيص حرف به حرف نوشته از سوي رايانه (که قرار است در مراحل بعدي آن را تايپ کند) بسيار مشکل است. تصور کنيد که همين کلمه ساده «است» را به حالت‌هاي مختلف مي‌شود نوشت: يکي براي «س» دندانه مي‌گذارد، يکي نمي‌گذارد، يکي آن را مي‌کشد و يکي نمي‌کشد و... حالا اگر همين صورت‌هاي مختلف «س» به «ت» هم بچسبند، تشخيص حروف براي ما انسان‌ها هم سخت مي‌شود، چه رسد به رايانه.

شباهت حروف
مشکل ديگر خط ما اين است که حرف‌هاي فارسي بسيار به هم شبيه‌اند. مثلاً در نظر بگيريد که تفاوت «ر» با «ز» با «ذ» يا «ب» با «ت» تنها در يک نقطه است، و چون نقطه جزء بسيار کوچکي است، اگر يک خط يا حتي يک لک کوچک روي کاغذ بيفتد، تشخيص حروف از هم بسيار دشوار مي‌شود و دردسر جدي براي بازشناسي حروف توسط رايانه ايجاد مي‌کند. اينها تازه مشکلات خط فارسي است. دربارة اعداد فارسي هم اين مشکل وجود دارد: صفر ما يک نقطه کوچک است که مي‌تواند رايانه را به اشتباه بيندازد؛ اعداد 4، 3، 2، 1 هم بسيار به هم شبيه هستند و تنها تفاوتشان يک دندانه کوچک است.
به دلايل گفته شده OCR درمرحلة کنوني در کشور ما مربوط به «دست‌نويس‌هاي گسسته» يا متن‌هاي تايپي پيوسته است، و تا بازشناسي متن‌هاي دست‌نويس پيوسته توسط کامپيوتر راه زيادي در پيش است، چون در دست‌نويس‌هاي گسسته، اگرچه حروف به هم شباهت دارند، حداقل جداجدا نوشته شده‌اند. در متن‌هاي پيوسته تايپي هم مشکل کشيده شدن يک حرف يا شکسته نوشته شدن حروف را نداريم.
البته به گفته مسئولان شرکت «پايا» در حال حاضر هم نرم‌افزارهايي وجود دارد که متن دست‌نويس پيوسته را تبديل به حروف جدا ازهم و گسسته مي‌کنند، ولي ضريب خطاي اين نرم‌افزارها زياد است و به شکل صنعتي درنيامده‌اند.

بازشناسي حروف و الگو
تا اينجا گفتيم تصوير صفحه‌اي که در آن حروف به طور جداجدا (هر حرف داخل يک کادر) نوشته شده است، به وسيلة اسکن وارد رايانه مي‌شود. مرحلة بعدي اين است که حروف بازشناسي شوند، يعني مکان آنها از ديگر خطوط (مثل خطوط کادري که داخل آن نوشته شده) بازشناسي شود، و اگر متن پيوسته تايپي است، حروف جدا شوند و زوايد تصوير حذف شود. مثلاً اگر دانش‌آموزي «س» را به گونه‌اي نوشت که بيرون از کادر بود، به رايانه بفهمانيم که بي‌دقتي شده است او بايد همان حرف داخل کادر را بخواند.
در مرحلة بعدي که «بازشناسي الگو» نام دارد، با تعدادي شرط مي‌شود فهميد که مثلاً حرفي «الف» است يا نه، و رايانه تشخيص مي‌دهد که حرف «پ» است يا «ب». براي اين تشخيص لازم است که تصوير حرف «الف» با الف‌هاي نمونه ــ که قبلاً به رايانه داده شده است ــ منطبق شود. الفباي نمونه قبلاً از روي يک مجموعه بزرگ آموزشي تهيه شده و ويژگي‌هاي مشترک از آن استخراج شده است. اما از آنجا که تنوع صورت‌ها نوشتاري يک حرف به صورت دست‌‌نويس بسيار زياد است، مدلي آماري استخراج مي‌شود که در آن شباهت ويژگي‌هاي استخراج‌ شدة قبلي با نمونه ورودي به رايانه بررسي مي‌شود. در اينجا «بازشناسي الگو» با روش‌هاي آماري انجام مي‌شود که روش معمول در سيستم‌هاي OCR است.
اگر فکر مي‌کنيد که کار تمام شده است در اشتباهيد، چون تازه مي‌رسيم به دنبالة حروف. مثلاً اگر کسي همان حرف «س» را با دنباله بنويسد، رايانه بايد تشخيص دهد که اين حرف فقط «س» است، يا مثلاً «ي» هم به آن چسبيده است.

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

بانک‌هاي ما و ديگران
مهندس «رزازي» دربارة مشکل بانک‌هاي اطلاعاتي در زبان فارسي مي‌گويد: «در دنيا براي توسعة OCR و ارزيابي آن، بانک‌هاي اطلاعاتي استاندارد ساخته شده است که در آنها همة کلمات وجود دارند، يعني بانک هم مشکل ديجيتال کلمه را دارد، و هم تصويرش را. اما براي زبان فارسي، اين بانک‌هاي اطلاعاتي چه براي ارزيابي و چه براي توسعه، استاندارد شده نيست. در واقع هر کسي براي خودش يک بانک اطلاعاتي مي‌سازد، و اين نمونه‌هاي متفاوت مشکلاتي را ايجاد مي‌کند. مثلاً براي ثبت‌نام دانش‌آموزاني که در آزمون مدارس تيزهوشان شرکت کرده بودند، يک بانک اطلاعاتي حاوي نام‌هاي فارسي، از روي اطلاعات فرم‌هاي سال‌هاي قبل، تهيه شد که از روي آن کلماتي که خيلي شبيه به نام‌هاي فارسي بودند تشخيص داده مي‌شد. مثلاً اگر رايانه کلمه‌اي را «مصيبت» تشخيص داد، براساس بانک اطلاعاتي معلوم مي‌شود که «مصيب» بوده است که يک نام ايراني است.
علي، ولي، قلي ... و سيب

نکتة ديگر اين است که يک بانک اطلاعاتي بايد شامل تعدادي کلمات خام باشد، بلکه «بسامد» آن واژگان، يعني ميزان استعمال و تکرار کلمات در زبان و مشخصات آماري آن‌ها هم بايد ثبت شده باشد، والا کارايي زيادي ندارد. مثلاً «علي» نامي است که شباهت زيادي به «ولي» و «قلي» دارد. کارهاي آماري در بانک اطلاعاتي بايد طوري انجام شده باشد که تعداد «علي» بيشتر باشد، تا و بعد نوبت «ولي» و «قلي» برسد، چون درصد بسامدي «علي» به لحاظ آماري و کاربرد در ميان نام‌هاي بيشتر است.
در OCR فارسي گسسته، اگر فقط مربوط به نام‌ها و نام‌خانوادگي باشد، کار ساده‌تر است از حالتي که در OCR پيوسته وجود دارد. چون در OCR پيوسته هر کلمه‌اي ممکن است وجود داشته باشد مثل «سيب»، اما در بانک اطلاعاتي نام‌ها همه مي‌دانيم که سيب نام يک شخص نيست بلکه نام يک ميوه است! بنابراين در OCR همواره سعي مي‌شود که درصد خطا کاهش يابد، تا کلمات در حد ممکن درست تشخيص داده شوند. اگرچه طراحان هنوز به صددرصد صحت نرسيده‌اند، ولي نگران نتايج آزمون خود نباشيد، چون تمامي اطلاعات مربوط به شما چندين بار کنترل مي‌شوند و از سازوکار reject (يا مردودي) در رايانه هم استفاده مي‌شود. در اين روش اگر رايانه نتوانست کلمه‌اي را تشخيص دهد، مي‌فهمد که نفهميده است و در خروجي‌‌اش مي‌آورد که: «من اين کلمه را نفهميده‌ام» و کار به سيستم دستي مي‌رود و در آنجا تصحيح مي‌شود. اين فرايند در پست خيلي کارايي دارد. در هر جاي دنيا که تفکيک نامه‌ها و ديگر مرسولات پستي به وسيلة OCR انجام مي‌شود، بعضي از نامه‌ها در سيستم کامپيوتري وارد سازوکار «مردودي» مي‌شوند و به طور دستي مورد بررسي مجدد قرار مي‌گيرند. هم‌اکنون در سطح محدودي از OCR در پست کشور ما نيز استفاده مي‌شود، چون در پست هم کد پستي چندرقمي و ديگر اطلاعات به صورت گسسته و داخل کادرهايي نوشته مي‌شود، و کار آسان‌تر است.

در مورد خطاي OCR در تشخيص کلمات، مسئولان شرکت «پايا» نظر جالبي دارند:
«حتي با تعبية سيستم مردودي (reject) هم ممکن است خطايي در تشخيص کلمات وجود داشته باشد. بايد در نظر داشته باشيم که هيچ سيستم پردازشگري (از جمله انسان) بدون خطا نيست. نکته مهم اين است که يک سيستم ماشيني درصد خطاي کمتري نسبت به انسان داشته باشد تا جايگزين خوبي براي انسان باشد. مسئله اين نيست که خطا را به صفر برسانيم. هر قدر که فناوري جلوتر مي‌رود، ميزان خطا هم بيشتر کاهش مي‌يابد.»
مدير شرکت «دوران نوين» هم به گونه‌اي ديگر به همين موضوع اشاره مي‌کند: «انتظار ما از مسئولان طرح «تکفا» آن است که با موضوع OCR واقع‌بينانه‌تر برخورد شود، و در بحث مربوط به هزينه‌هاي پروژه و انتظاراتي که از OCR مي‌رود، واقعيت‌ها در نظر گرفته شود. ديدگاه کنوني مسئولان تکفا آن است که کل مشکل «خطا» تا 100درصد حل شود، در حالي که فکر مي‌کنم حل مسائل مربوط به هوش مصنوعي نياز به روش تدريجي دارد. مثلاً در زبان عربي هم، نرم‌افزار «صخر» در نسخة اول خود فقط تا حدود 40درصد دقت داشت، در حالي که اکنون پس از گذشت 13 سال از اولين نسخه آن دقت به مرز 98 درصد رسيده است.»
همان‌طور که اشاره شد از OCR در ثبت‌نام آزمون «سازمان ملي استعدادهاي درخشان» در سال‌هاي 81 و 82 استفاده شد که از طريق آن 000,440 نفر به طور ماشيني ثبت‌نام شدند. اين روش باعث شد که در سال 81 (نمونه اول) 45 درصد در هزينه‌ها و 25 درصد در زمان ثبت‌نام صرفه‌جويي شود. در سال بعد (82) اين رقم به 50 درصد رسيد. نرم‌افزاري که در اين آزمون‌ها مورد استفاده قرار گرفت براي هر کدام از موارد صحت بازشناسي متفاوتي داشت و در مجموع کار آن خوب بود (به جدول توجه کنيد):

به نظر مي‌آيد که در چند سال آينده و با پيشرفت OCR فارسي و کاهش هر چه بيشتر خطاي آن، در آزمون‌هاي بزرگ‌تري مانند آزمون سراسري دانشگاه‌ها نيز بتوان از آن استفاده کرد.

سرنوشت OCR دست‌نويس
در مورد OCR پيوسته دست‌نويس نيز روند کار به همان صورتي است که شرح داديم، اما آنچه کار را دشوارتر مي‌کند، قطعه‌بندي و جداجدا کردن حروف به هم چسبيده و تشخيص آنهاست. اگر اين روند طي شود، اين اميد وجود دارد که روزي از OCR پيوسته دست‌نويس فارسي هم در سطح گسترده‌اي استفاده شود. البته OCR پيوسته دست‌نويس حتي در زبان انگليسي هم هنوز به کاربرد وسيع و عملي نرسيده است. مهندس «رزازي» دراين مورد مي‌گويد: « OCRانگليسي در سيستم عامل windows وجود دارد که همراه با office فروخته مي‌شود، ولي فکر نکنيد که نامه‌هاي اداري انگليسي که با دست‌نويس نوشته شده‌اند همه با OCR تايپ مي‌شوند. اين کار براي به نتيجه رسيدن به حداقل يک روند 10 ساله را بايد طي کند. OCR فارسي يک مرحله عقب‌تر است، پس زمان بيشتري مي‌برد.»
مهندس «صديق»، مديرعامل شرکت «پايا» هم مي‌گويد: «همين OCR فارسي گسسته هم تا چند سال پيش يک رؤيا بود، ولي ديديم که محقق شده است و به مرور پيشرفته‌تر هم خواهد شد. بنابراين طراحي OCR پيوسته فارسي هم، اگرچه سال‌ها طول مي‌کشد، ولي مطمئناً به نتيجه خواهد رسيد. اين طرح يک طرح تحقيقاتي است که در دانشگاه‌ها دنبال مي‌شود و هنوز به يک محصول صنعتي قابل استفاده در سطح کلان و کاربردي براي عموم نرسيده است. ولي در حال حاضر نمونه‌هاي دانشگاهي و آزمايشگاهي آن در داخل کشور وجود دارد و موضوع رساله دکتري برخي از دانشجويان است.»
بنابراين بين 10 تا 20 سال آينده، آن‌گونه که مسئولان شرکت «پايا» مي‌گويند، OCR پيوسته دست‌نويس فارسي هم وارد بازار خواهد شد.
دکتر فيلي هم در پاسخ به اين سؤال که «آيا طراحي OCR پيوستة فارسي روزي تحقق خواهد يافت؟» پاسخ مي‌دهد: «بله ولي به تدريج.»
به هر حال براساس قرارداد «تکفا» با شرکت‌هاي ايراني، تا کمتر از يک ماه ديگر، نسخه‌نهايي (البته نه صددرصد تکميل‌شده) OCR فارسي دست‌نويس گسسته و تايپي پيوسته ارائه خواهد شد. مدير شرکت «دوران نوين» در اين مورد مي‌گويد: «پروژة OCR گسسته در مراحل پاياني خود قرار دارد ولي داراي مشکلاتي در تشخيص انواع اسکنرها و انواع فونت‌هاست که در حال رفع آن هستيم. اين نرم‌افزار در حال حاضر امکان تشخيص فونت‌هاي تايپي فارسي با دقت زياد را دارد، ولي مشکل جدي آن است که با اسکنرهاي مختلف نتايج نامناسبي مي‌دهد.» وي از اهميت اين طرح در بعد کلان ملي هم مي‌گويد: «با توجه به اين که مشکل OCR براي بسياري از زبان‌هاي دنيا مانند انگليسي عملاً حل شده است، اگر در کشور ما هم به نتيجة نهايي برسد در افزايش سطح اطلاعات فارسي در دنياي ديجيتالي امروز (از جمله در اينترنت) بسيار اهميت خواهد داشت.

منبع: iranwsis.org

صفحه اصلی | پروژه های آماده  | ورود به سایت | عضویت | سفارش پروژه | ارسال پروژه | معرفی سایت به دیگران با SMS | تبادل لینک | توانایی ها | تماس با ما 
کلیه حقوق متعلق به سایت IranProject.Ir می باشد ، استفاده از مطالب و پروژه های سایت با ذکر منبع بلامانع می باشد.