بخشی از مقاله
چکیده
تشخیص الگو امری است که در زندگی روزمره ما به وفور رخ میدهد، مانند تشخیص صدای افراد مختلف، تشخیص چهره افرادی که با آنها روبرو میشویم و یا تشخیص نوع دستخط افراد مختلف. تشخیص الگو، مسیرهای مختلفی را در گذشته طی کرده و هدف آن، دستهبندی اشیاء به تعدادی کلاس میباشد. تشخیص ارقام دست-نویس فارسی یکی از زیرشاخههای تشخیص الگو به حساب میآید و از سه بخش اصلی پیشپردازش، استخراج ویژگی و دستهبندی تشکیل شده است. هدف از بخش پیشپردازش، نرمالیزه کردن دادههای ورودی است.
در بخش استخراج ویژگی، مجموعهای از ویژگیهایی استخراج میشوند که آن نمونه را از دیگر نمونهها متمایز می-سازد. در بخش دستهبندی، باید نمونههای هر الگو با مرز مشخصی از بقیه نمونهها تفکیک شوند. ما در این مقاله، از الگوریتم شبکه عصبی بمنظور جداسازی کلاس ارقام دستنویس فارسی استفاده کردهایم و آزمایشات خود را بر روی پایگاه داده TMU انجام دادهایم.
-1 مقدمه
تشخیص الگو هنگامی انجام میشود که انسان سعی میکند که سادهترین نوعهای شناسایی را که به راحتی توسط مغز انجام میشود، توسط رایانه انجام دهد. امروزه با پیشرفت علوم رایانه و بالا رفتن سرعت تجزیه و تحلیل برنامههای رایانهای، پیشرفت زیادی در زمینه اجرای الگوریتمهای تشخیص الگو به کمک رایانه صورت گرفته است. این الگوریتمها در زمینههای گوناگون به کار رفتهاند. برای مثال، در زمینه تشخیص حروف و ارقام دستنویس، تشخیص اصوات مختلف، و غیره از الگوریتمهای تشخیص الگو استفاده شده است.
تکنولوژیهای متفاوتی از جمله نروفازی، Boosting، Bagging، درخت تصمیمگیری، SVM، منطق فازی، شبکه-های عصبی، الگوریتم ژنتیک، KNN، مدل مخفی مارکوف، قانون بیزین، و غیره در آشکارسازی الگوها کاربرد دارند.
وارد کردن اطلاعات به کامپیوتر، از طریق صفحه کلید انجام میشود، اما استفاده از دستنوشتهها به دلایلی در برخی مکانها و زمانها ترجیح داده میشود که از جمله آنها میتوان به موارد زیر اشاره کرد:
-1 امکان تایپ در بعضی از مکانها وجود ندارد.
-2 نوشتن با قلم خیلی آسان و سریع انجام میپذیرد.
تشخیص کاراکترهای دستنویس، همواره مورد توجه پژوهشگران مختلف بوده است 24]،.[25 اولین پژوهشها در زمینه تشخیص کاراکترهای دستنویس مربوط به خطوط چینی و ژاپنی میباشد. در زمینه تشخیص دست-نوشتههای لاتین نیز تحقیقات زیادی انجام شده است.
تحقیقات در زمینه تشخیص دستنوشتههای لاتین از حدود 50 سال پیش آغاز شده، در حالی که تحقیقات در مورد کاراکترهای عربی و فارسی به 28 سال پیش می-رسد.
امروزه، تشخیص دستنوشتههای فارسی، در بسیاری از سازمانهای دولتی و غیردولتی کاربرد گسترده-ای دارند. تشخیص کاراکترهای دستنوشته، کاربردهای زیادی نظیر خواندن مبالغ چکها، کدپستی، و سایر اطلاعات فرمهای گوناگون را دارد که با توجه به کاربرد آن، نیاز به دقت بالایی دارد
سیستمهای جدید «OCR» متون چاپی و دستنوشته با واژگان کم، به نحو تقریبا خوبی عمل میکنند. با وجود اینکه محصولاتی هم بوجود آمدهاند که سعی در تشخیص نوشتههای بدون قید دارند، اما این سیستمها دقت کمی دارند
فارسی، زبان اصلی مورد استفاده در ایران، افغانستان و بخشی از تاجیکستان است. با توجه به استفاده گسترده آن، مشکل شناخت دستنوشته خط فارسی، علاقه به مطالعه این زمینه را در جامعه بوجود آورده است2]،.[22 تاکنون، پژوهشهایی در زمینه تشخیص دستنوشتههای فارسی صورت گرفته که مبتنی بر روشهای استخراج ویژگی، و استفاده از دستهبند آموزشپذیر است
در حوزه زبان فارسی، به دلیل شباهتی که برخی ارقام به هم دارند ایجاد یک سیستم تشخیص با دقت خوب، برای استفاده عملی با مشکلاتی مواجه است. به همین دلیل، توسعه روشهایی برای بهبود دقت در آنها ضروری است
در سالهای اخیر، تعدادی مقاله و پایان نامه در زمینه تشخیص الگوهای دستنوشته منتشر شدهاند که نقطه تمرکز بیشتر آنها، ارائه روشهایی برای استخراج ویژگیهایی بوده که دقت و سرعت تشخیص را افزایش میدهند، به عنوان مثال، در یک تحقیق که در مورد حروف دستنویس فارسی انجام شده است از ویژگیهای گشتاوری و طبقهکننده بیز برای بازشناسی استفاده شده است
در تحقیق دیگری که برای بازشناسی ارقام دستنویس فارسی انجام شده است از مکانهای مشخصه طبقهبندی بیز و زنجیره مارکف استفاده شده است
در روش دیگری که انجام شده است بازشناسی نهایی ارقام دستنویس فارسی به کمک روشهای فازی انجام شده است
همچنین، در مقالهای که کریمی و همکارانش [10] ارائه کردند، روشی به منظور تشخیص ارقام دستنوشته فارسی پیشنهاد شده است. چارچوب ارائه شده در این مقاله، شامل 3 بخش اساسی پیشپردازش، استخراج ویژگی، و دستهبندی میباشد، به طوری که در بخش استخراج ویژگی، یک مجموعه ویژگی شامل 115 ویژگی از روی ارقام دستنوشته فارسی استخراج شده است و در مرحله دستهبندی، الگوریتمهای تجمعی به منظور جداسازی کلاس نمونهها - ارقام - از یکدیگر بکار گرفته شده است. ارزیابی نتایج بر روی پایگاه داده ارقام TMU انجام شده، و بهترین نرخ بازشناسی ارقام دستنوشته فارسی، 96/725 درصد گزارش شده است.
نفیسی و کبیر از ویژگیهای مکانهای مشخصه و طبقه بند بیز و زنجیره مارکوف برای بازشناسی ارقام استفاده کردهاند.[15] کتابدار [9] یک روش ساختاری مبتنی بر نازک سازی تصویر برای بازشناسی ارقام ارائه داده است.
نبوی و همکارانش [13] از سه طبقهبند شبکه عصبی با پارامترهای آموزش متفاوت که با ویژگی مکان مشخصه آموزش دیدهاند برای بازشناسی ارقام دستنویس فارسی استفاده کردهاند.
عزمی و کبیر [8] از ویژگیهای گشتاوری و طبقهبند آماری بیز برای بازشناسی حروف دستنویس فارسی استفاده کردهاند.
درویش [4] از تطابق اشکال که نوعی تطابق کلیشه پیچیده است برای بازشناسی ارقام دستنویس استفاده کرده است.
راشدی و همکارانش [5] از ویژگیهای ساختاری که از کانتورهای بیرونی تصویر استخراج شدهاند و با استفاده از درخت تصمیم برای بازشناسی ارقام دستنویس استفاده کردهاند. مجد و رضوی هم برای بازشناسی ارقام دستنویس فارسی از روشهای فارسی استفاده کردهاند.
سلطانزاده و رحمتی [23] از ماشین بردار پشتیبان و با استفاده از ترکیب 4 ویژگی پروفایل بیرونی در چهار جهت افقی، عمودی، قطری، راست، و چپ، تعداد تغییرات پیکسلها در جهتهای افقی و عمودی اندازه و ویژگی افکنش افقی و عمودی برای بازشناسی ارقام استفاده کردهاند.
مراحل کلی تشخیص کاراکترها شامل سه مرحله پیشپردازش، استخراج ویژگی و دستهبندی میباشد. مرحله پیشپردازش، شامل تمام مراحلی است که موجب بهتر شدن کیفیت تصاویر میشود. در مرحله استخراج ویژگی، هدف استخراج ویژگیهایی است که سبب تفکیک کلاس نمونههای مختلف از یکدیگر شوند. از جمله این ویژگی-ها میتوان به ویژگی گرادیان، تبدیل فوریه، کد حلقه مکانی، موجکها، پروجکشنهای افقی و عمودی، و غیره اشاره کرد. هدف از مرحله دستهبندی، جداسازی نمونههای مختلف از یکدیگر میباشد. در این مرحله نیز الگوریتمهای متفاوتی از قبیل درخت تصمیم باینری، شبکههای عصبی، Bagging، مدل مخفی مارکوف، قانون بیزین، و غیره وجود دارند که محققان مختلف با توجه به شرایط متفاوت از آنها استفاده کردهاند
اگر چه تاکنون در زمینه تشخیص کاراکترهای دستنویس پیشرفتهایی انجام شده، اما عملا هنوز یک سیستم که بتواند با سرعت و دقت بالا و بطور غیر محدود به تشخیص دستنوشتههای فارسی بپردازد، ساخته نشده است. بطور خلاصه میتوان اینگونه بیان داشت که اصلیترین هدف این تحقیق، بکارگیری الگوریتمهای هوش مصنوعی در شناسایی ارقام دستنوشته فارسی بوده است.
باقیمانده این مقاله، به قرار زیر ادامه پیدا میکند: در بخش 2، به بحث هوش مصنوعی و یادگیری ماشین پرداخته شده است. در بخش 3 به بررسی چارچوب پیشنهادیمان پرداختهایم. در بخش 4 به پیادهسازی و مدلسازی چارچوب پیشنهادیمان پرداختهایم و نهایتا در بخش 5 به جمعبندی و نتیجهگیری پرداختهایم.
-2 هوش مصنوعی و یادگیری ماشین
افزایش بازدهی سیستمها، ضرورت هوشمند شدن آنها و تاثیرشان بر اکثر زمینههای زندگی انسانها، سبب پیدایش علمی بنام هوش مصنوعی گردید. هوش مصنوعی، قدرت یادگیری و هوشمندی را برای سیستمها به ارمغان آورد و شاخهای از علوم است که از رفتارهای طبیعت الهام گرفته شده و توسط فلاسفه و ریاضیدانانی نظیر بول مطرح گردید.
یادگیری ماشین یکی از شاخههای هوش مصنوعی است که به کامپیوترها این توانایی را میدهد تا یاد بگیرند. هدف یادگیری ماشین این است که کامپیوتر یا ماشین - در کلیترین مفهوم آن - بتواند به تدریج و با افزایش دادهها، کارایی بهتری در انجام وظیفه مورد نظر پیدا کند. پژوهشگران برآنند که روشهای هوش مصنوعی را بر مسائل تازهای اعمال کنند.
هوش مصنوعی، اغلب بمنظور تصمیمگیری در زمینههای مختلفی مانند مسیریابی در شبکههای حسگر بیسیم، مسیریابی در شبکههای چندپخشی، تشخیص الگو، تشخیص کاراکترها، پزشکی، تشخیص خطا، تشخیص چهره، بیومتریک، زیستشناسی، تشخیص بیماریهایی از جمله دیابث، سرطان، ناباروری، تشخیص تقلب، بیومتریک، دادهکاوی، تشخیص پلاک خودرو برای کنترل ترافیک، کنترل محیطهای کشاورزی، فراگیری شیوه گام برداری برای روباتها، و غیره بکار گرفته می شوند.
از جمله الگوریتمهای هوش مصنوعی، میتوان به تئوری بیزین، خوشهبندی، الگوریتم تجمع ذرات پرندگان - PSO - ، الگوریتم مورچگان - ACO - ، الگوریتم ژنتیک - GA - ، ماشین بردار پشتیبان - SVM - ، درخت تصمیم باینری، شبکههای عصبی - NN - ، مارکوف، نزدیکترین همسایگی و غیره اشاره کرد.
یادگیری ماشین، شاخهای از هوش مصنوعی است که توانایی هوشمندی را برای کامپیوترها یا ماشینها فراهم میکند. یادگیری ماشین، شامل مرحله آموزش و آزمایش میباشد و هدف از آن، این است که ابتدا ماشین با نمونه هایی آموزش داده شود و سپس مورد آزمایش قرار گیرد