دوشنبه, ۲۴ اردیبهشت, ۱۴۰۳ / 13 May, 2024
OCR و زبان فارسی
● OCR چیست؟
فرض کنید که ما متنی را روی کاغذ داریم و میخواهیم آن را وارد رایانه کنیم. اولین روشی که به ذهن میرسد این است که متن را به تایپیست بدهیم تا با کامپیوتر تایپ کند. اما آیا میشود عین همان متن را وارد رایانه بکنیم تا نیازی به تایپ نباشد؟ البته دستگاه «اسکنر» میتواند تصویری از آن متن را وارد رایانه کند، تا اینجا بخشی از مشکل ما حل شده است. اما رایانه که نه عقلی دارد و نه «زبان» میفهمد، نمیتواند حروف و کلمات را از هم تشخیص دهد. مثلاً اگر از کامپیوتر بخواهیم به ما بگوید که در متن اسکنشده کلمهٔ «علی» چند بار آمده است، بیآنکه شرمنده شود، میگوید نمیتوانم تشخیص بدهم! در واقع این «تصویر دیجیتالشده» باید به «تصویر قابل پردازش» تبدیل شود. موضوع اصلی OCR همین است.
● OCR سرنام اصطلاحی است که صورت کامل آن در واژهنامههای انگلیسی به دو صورت آمده است:
۱. Optical Character Recognition
۲. Optical Character Reader
● انواع OCR
در زبانهای دیگر، به ویژه زبانهایی که با حروف لاتینی نوشته میشوند، سالهاست که از OCR استفاده میشود. اما در ایران تازه دو سه سالی است که به فکر استفاده از OCR در زبان فارسی افتادهایم.
و اما OCR چند نوع است: یا تایپی است یا دستنویس. یعنی یا باید یک متن قبلاً تایپ شده را (مثل کتابها و روزنامههای چندین سال قبل، یا حتی متنی را که فایل تایپی آن موجود نیست و فقط پرینت آن را داریم) وارد رایانه کنیم، یا متن دستنویس را. متنهای دستنویس هم به دو صورت «گسسته» و «پیوسته» وجود دارند: متن «دستنویس پیوسته» مثل همان چیزهایی است که ما هرازگاهی که دلمان تنگ میشود روی کاغذ مینویسیم، یا یک نامه، یا یک قطعه شعر و ... اما متن «دستنویس گسسته» همان نوشتههایی است که حروف آن جدا از هم و به صورت گسسته نوشته شدهاند، مثل نام و نامخانوادگی که در فرمهای آزمون ثبتنام، به صورت هر حرف داخل یک کادر، نوشته میشوند. طراحی OCR گسستهٔ فارسی تقریباً در مراحل پایانی کار قرار دارد ولی، OCR پیوسته ظاهراً سالهای زیادی کار میبرد.
● فارسی ما و مشکلات آن
قبل از اینکه به مراحل دیگر OCR بپردازیم، لازم است اندکی هم به مشکلات خط فارسی ــ یا در واقع ویژگیهای این خط ــ بپردازیم. اول اینکه ما در فارسی حروف را به صورت چسبیده و پیوسته مینویسیم و این کار برای تشخیص حرف به حرف نوشته از سوی رایانه (که قرار است در مراحل بعدی آن را تایپ کند) بسیار مشکل است. تصور کنید که همین کلمه ساده «است» را به حالتهای مختلف میشود نوشت: یکی برای «س» دندانه میگذارد، یکی نمیگذارد، یکی آن را میکشد و یکی نمیکشد و... حالا اگر همین صورتهای مختلف «س» به «ت» هم بچسبند، تشخیص حروف برای ما انسانها هم سخت میشود، چه رسد به رایانه.
● شباهت حروف
مشکل دیگر خط ما این است که حرفهای فارسی بسیار به هم شبیهاند. مثلاً در نظر بگیرید که تفاوت «ر» با «ز» با «ذ» یا «ب» با «ت» تنها در یک نقطه است، و چون نقطه جزء بسیار کوچکی است، اگر یک خط یا حتی یک لک کوچک روی کاغذ بیفتد، تشخیص حروف از هم بسیار دشوار میشود و دردسر جدی برای بازشناسی حروف توسط رایانه ایجاد میکند. اینها تازه مشکلات خط فارسی است. دربارهٔ اعداد فارسی هم این مشکل وجود دارد: صفر ما یک نقطه کوچک است که میتواند رایانه را به اشتباه بیندازد؛ اعداد ۴، ۳، ۲، ۱ هم بسیار به هم شبیه هستند و تنها تفاوتشان یک دندانه کوچک است.
به دلایل گفته شده OCR درمرحلهٔ کنونی در کشور ما مربوط به «دستنویسهای گسسته» یا متنهای تایپی پیوسته است، و تا بازشناسی متنهای دستنویس پیوسته توسط کامپیوتر راه زیادی در پیش است، چون در دستنویسهای گسسته، اگرچه حروف به هم شباهت دارند، حداقل جداجدا نوشته شدهاند. در متنهای پیوسته تایپی هم مشکل کشیده شدن یک حرف یا شکسته نوشته شدن حروف را نداریم. البته به گفته مسئولان شرکت «پایا» در حال حاضر هم نرمافزارهایی وجود دارد که متن دستنویس پیوسته را تبدیل به حروف جدا ازهم و گسسته میکنند، ولی ضریب خطای این نرمافزارها زیاد است و به شکل صنعتی درنیامدهاند.
● بازشناسی حروف و الگو
تا اینجا گفتیم تصویر صفحهای که در آن حروف به طور جداجدا (هر حرف داخل یک کادر) نوشته شده است، به وسیلهٔ اسکن وارد رایانه میشود. مرحلهٔ بعدی این است که حروف بازشناسی شوند، یعنی مکان آنها از دیگر خطوط (مثل خطوط کادری که داخل آن نوشته شده) بازشناسی شود، و اگر متن پیوسته تایپی است، حروف جدا شوند و زواید تصویر حذف شود. مثلاً اگر دانشآموزی «س» را به گونهای نوشت که بیرون از کادر بود، به رایانه بفهمانیم که بیدقتی شده است او باید همان حرف داخل کادر را بخواند.
در مرحلهٔ بعدی که «بازشناسی الگو» نام دارد، با تعدادی شرط میشود فهمید که مثلاً حرفی «الف» است یا نه، و رایانه تشخیص میدهد که حرف «پ» است یا «ب». برای این تشخیص لازم است که تصویر حرف «الف» با الفهای نمونه ــ که قبلاً به رایانه داده شده است ــ منطبق شود. الفبای نمونه قبلاً از روی یک مجموعه بزرگ آموزشی تهیه شده و ویژگیهای مشترک از آن استخراج شده است.
اما از آنجا که تنوع صورتها نوشتاری یک حرف به صورت دستنویس بسیار زیاد است، مدلی آماری استخراج میشود که در آن شباهت ویژگیهای استخراج شدهٔ قبلی با نمونه ورودی به رایانه بررسی میشود. در اینجا «بازشناسی الگو» با روشهای آماری انجام میشود که روش معمول در سیستمهای OCR است.
اگر فکر میکنید که کار تمام شده است در اشتباهید، چون تازه میرسیم به دنبالهٔ حروف. مثلاً اگر کسی همان حرف «س» را با دنباله بنویسد، رایانه باید تشخیص دهد که این حرف فقط «س» است، یا مثلاً «ی» هم به آن چسبیده است.
● مدلسازی یا پردازش زبانی
مرحله بعدی «مدلسازی زبانی» یا «پردازش زبانی» نام دارد. حروف به هم چسبیده، که کلمه را درست میکنند، باید معنیدار یا شناختهشده باشند. در این مرحله بررسی میشود که چه کلماتی در زبان وجود دارد؟ چه ترکیبهایی از کلمات مجاز است؟
و... البته در مراحل پیشرفتهتر، مدلسازی گرامری (دستور زبان) و مدلسازی معنایی هم وجود دارد که تشخیص میدهد جمله از لحاظ دستوری و معنایی درست است یا بیمفهوم است. اما در OCR گسسته ــ که بیشتر برای ثبتنام استفاده شده ــ شباهت یک کلمه به نام، نام خانوادگی، شهر و ... کافی است.
برای تشخیص ترکیبهای مجاز یک کلمه یا معنیدار بودن یک کلمه نیز به تهیهٔ بانکهای اطلاعاتی (Data base) نیاز داریم. در این بانکها مثلاً تمام نامهای کوچک و بزرگ ایرانیان قبلاً جمعآوری شده است و هنگام تطبیق یک کلمه با آن مشخص میشود که رایانه حروف آن را دست تشخیص داده یا نه. بنابراین نقش این بانک اطلاعاتی بسیار مهم است، چون اگر نامی در آن ثبت نشده باشد، کلمهای که آن نام را شامل شود، به طور خودکار از برنامه OCR حذف میشود یا پیغام میآید که: «این کلمه اشتباه است» در صورتی که ممکن است مثلاً نام «هشام» در بین نامهای ایرانی وجود داشته باشد، ولی قبلاً در بانک اطلاعاتی ثبت نشده باشد.
● بانکهای ما و دیگران
مهندس «رزازی» دربارهٔ مشکل بانکهای اطلاعاتی در زبان فارسی میگوید: «در دنیا برای توسعهٔ OCR و ارزیابی آن، بانکهای اطلاعاتی استاندارد ساخته شده است که در آنها همهٔ کلمات وجود دارند، یعنی بانک هم مشکل دیجیتال کلمه را دارد، و هم تصویرش را. اما برای زبان فارسی، این بانکهای اطلاعاتی چه برای ارزیابی و چه برای توسعه، استاندارد شده نیست. در واقع هر کسی برای خودش یک بانک اطلاعاتی میسازد، و این نمونههای متفاوت مشکلاتی را ایجاد میکند.
مثلاً برای ثبتنام دانشآموزانی که در آزمون مدارس تیزهوشان شرکت کرده بودند، یک بانک اطلاعاتی حاوی نامهای فارسی، از روی اطلاعات فرمهای سالهای قبل، تهیه شد که از روی آن کلماتی که خیلی شبیه به نامهای فارسی بودند تشخیص داده میشد. مثلاً اگر رایانه کلمهای را «مصیبت» تشخیص داد، براساس بانک اطلاعاتی معلوم میشود که «مصیب» بوده است که یک نام ایرانی است.
منبع: iranwsis.org
نمایندگی زیمنس ایران فروش PLC S71200/300/400/1500 | درایو …
دریافت خدمات پرستاری در منزل
پیچ و مهره پارس سهند
تعمیر جک پارکینگ
خرید بلیط هواپیما
ایران صادق زیباکلام مجلس شورای اسلامی مجلس انتخابات مجلس دوازدهم انتخابات مجلس انتخابات مجلس دوازدهم دولت انتخابات مجلس شورای اسلامی ستاد انتخابات کشور دولت سیزدهم
قتل سیل تهران هواشناسی شهرداری تهران آتش سوزی زلزله سازمان هواشناسی وزارت بهداشت پلیس بارش باران هلال احمر
حقوق سربازان سلامت وزارت جهاد کشاورزی خودرو قیمت دلار قیمت خودرو قیمت طلا گاز بازار خودرو نمایشگاه نفت ایران خودرو بانک مرکزی
فضای مجازی نمایشگاه کتاب کتاب نمایشگاه کتاب تهران سینمای ایران تلویزیون رضا عطاران دفاع مقدس سینما نمایشگاه بینالمللی کتاب تهران تئاتر
فناوری کره زمین
اسرائیل رژیم صهیونیستی غزه فلسطین جنگ غزه روسیه آمریکا حماس افغانستان سازمان ملل اوکراین رفح
فوتبال پرسپولیس استقلال رئال مادرید لیگ برتر بازی هوادار باشگاه پرسپولیس لیگ برتر فوتبال ایران لیگ برتر ایران سپاهان باشگاه استقلال
هوش مصنوعی شفق قطبی خورشید مریم میرزاخانی ایلان ماسک ناسا اپل تبلیغات نوآوری گوگل
رژیم غذایی کاهش وزن درمان و آموزش پزشکی دیابت فشار خون قهوه بارداری افسردگی