توی این پروژه سعی دارم که مدل های آماده OCR مثل مدل tesseract رو با مدل های پردازش زبان طبیعی تلفیق کنم تا دقت و کارایی خیلی بالاتری پیدا بکنند
برای اینکار از کارکرد مغز انسان الهام گرفتم. در حین خوندن یک متن شما با کلمه ای مواجه میشید که دقیقا املای کلمه رو نمیتونید درست تشخیص بدید (مخصوصا هنگام خوندن متن دستنویس) و در این مرحله نا خودآگاه به محتوای کلی متن توجه میکنید و کلمه چالشی رو حدس میزنید به طور مثال شما میدونید که متنی که حاوی آدرس یک محل به خصوص هست حاوی کلمه "خلبان" نیست و احتمال خیلی زیاد کلمه "خیابان" بوده مدل OCR های آماده ای که وجود داره این چالش رو برای کاربر دارن که کاربر باید متن رو ویراست کنه تا غلط های املایی رو برطرف کنه (این چالش در مدل هایی که برای خطوط دستنویس آموزش میبینن بیشتر بروز داره)
و من توی این پروژه از مدل Nevise که برای اصلاح املای زبان فارسی آموزش دیده استفاده کردم تا این چالش تا حد زیادی برطرف بشه البته به این اکتفا نکردم و آپشن های دیگه ای که فکر میکردم کاربر میتونه از اونها بهره ببره رو اضافه کرد ۱.اصلاح املایی ۲.خلاصه سازی متن ۳.پرسش سوال از متن ورودی ۴.Semantic Search
بخش سوال از متن ورودی در واقع یک مدل Q&A آموزش دیده برای زبان فارسی هست یکی از چالش هایی که کاربر میتونه برای پیدا کردن محتوای موردنظر از یک ورودی داشته باشه پیدا کردن و سرچ کردن کلمات کلیدی که میخواد هست این مدل با درک کردن سوالی که کاربر از محتوا داره بخشی که میخواد رو در اختیارش قرار میده و برای استخراج اطلاعات توی پلتفرم هایی که متون زیادی دارند خیلی کاربردیه
این بخش هم کاربرد زیادی برای پیدا کردن جملات مشابه داره و جملات رو از لحاظ معنایی طبقه بندی میکنه
دقت کنید که من مدل هایی که استفاده کردم رو آموزش ندادم و سعی کردم بهترین مدل موجود از قبل آموزش دیده رو استفاده کنم با فاین تیون کردن هر کدوم از مدل ها روی داده های خودمون میتونیم دقتشون رو بالاتر ببریم
just open the ipynb in your colab and run it!