این روزها برای هر مسئلهای سریع میریم سراغ VLMها؛ حتی برای OCR و سؤال-جواب روی اسناد دستنویس. ولی خیلی وقتها این بهترین انتخاب نیست.
اگر هدفتون اینه که روی هزاران/میلیونها سند دستنویس جستجو و Question Answering انجام بدید، اینکه هر بار تصویر رو بدید به یک Vision-Language Model تا دوباره متن رو از روی پیکسلها بخونه، هم گرونه، هم کند، و هم همیشه قابل اعتماد نیست. مدل هر بار باید با یک تصویر شاید تار یا ناخوانا کلنجار بره و نتیجه هم ممکنه هر دفعه کمی متفاوت باشه.
بهجاش اول سعی کنید خود مرحلهی OCR رو تا جای ممکن بهینه کنید.
مثلاً:
* کیفیت تصویر رو بهتر کنید.
* از مدلهای OCR تخصصی یا fine-tuned استفاده کنید.
* خروجی OCR رو با post-processing اصلاح کنید.
* اگر لازمه چند OCR مختلف رو ترکیب کنید یا از domain knowledge (اطلاعات دامنه) استفاده کنید.
وقتی متن باکیفیت استخراج شد، بقیهی مسیر خیلی سادهتر و ارزانتر میشه: متن رو embed و index کنید، جستجو روی متن انجام بدید، و فقط در صورت نیاز تصویر اصلی رو برای راستیآزمایی یا نمایش برگردونید.
همیشه لازم نیست VLM روی مسیر اصلی (hot path) باشه. خیلی وقتها یک OCR خوب + Retrieval متنی هم سریعتره، هم ارزانتر، و هم در مقیاس پایدارتر.
قبل از اینکه برای OCR سراغ VLM برید، از خودتون بپرسید: «آیا واقعا OCRم رو تا آخر بهینه کردهام؟»
این بلاگ خیلی خوب توضیح میده که چطور OCR را با DSPy بهینه کنید. به همراه کد:
https://lancedb.com/blog/make-handwritten-notes-searchable-optimizing-an-ocr-pipeline-with-lancedb
@DevTwitter | <Mehdi Allahyari/>
Post #12524
6.94K
- ❤ 25
- 👍 7
- 👎 3