استخراج خودکار داده از اسناد و فرمها

در بسیاری از سازمانها هنوز کسی نشسته و از روی فاکتور یا فرم، عدد و تاریخ و نام را در سامانه وارد میکند. این کار پرحجم، تکراری و پرخطاست — و دقیقاً همان شکل کاری است که خودکارسازیاش بیشترین بازده را دارد.
دو کار متفاوت که یکی گرفته میشوند
OCR تصویر را به متن تبدیل میکند. خروجیاش یک رشته متن است، بدون اینکه بداند کدام قسمت شماره فاکتور است و کدام مبلغ.
استخراج ساختاریافته یک قدم بعد است: از آن متن، فیلدهای مشخص را بیرون میکشد و در قالب داده میگذارد.
پروژه شما تقریباً همیشه به هر دو نیاز دارد، و کیفیت نهایی حاصل ضرب این دو است. اگر OCR متن را اشتباه بخواند، هیچ استخراجی درستش نمیکند.
دقت روی فارسی: انتظار واقعبینانه
اتصال حروف، نقطهها، و کیفیت متغیر اسکن باعث میشود دقت OCR فارسی معمولاً پایینتر از انگلیسی باشد. چند چیز آن را بدتر میکنند: اسکن کج یا کمکیفیت، مهر و امضا روی متن، فرمهای دستنویس، و جدولهایی که ساختارشان در تبدیل از بین میرود.
آن مورد آخر در اسناد مالی مهمترین است: اگر ساختار جدول حفظ نشود، اعداد از ردیفهایشان جدا میشوند و خروجی بیمعنا اما ظاهراً معتبر میشود.
پس هدف را صد درصد نگذارید. هدف درست این است که بخش بزرگی از کار خودکار شود و بقیه با بازبینی انسانی کامل شود.
معماریای که در عمل جواب میدهد
سه لایه، به ترتیب:
قاعده، برای هر چیزی که الگوی قطعی دارد. شماره ملی، شبا، کد اقتصادی، شماره موبایل، تاریخ. اینها را با الگو استخراج کنید نه با مدل — دقتشان بالاتر، سرعتشان بیشتر و هزینهشان صفر است.
مدل، برای چیزهایی که قاعده ندارند. نام طرف قرارداد، شرح کالا، بندهای متنی.
اعتبارسنجی، روی هر دو. رقم کنترلی شماره ملی و شبا قابل بررسی است. جمع اقلام فاکتور باید با مبلغ کل بخواند. تاریخ باید معتبر باشد. این لایه ارزان است و بخش بزرگی از خطاها را میگیرد.
نمره اطمینان، چیزی که پروژه را عملی میکند
مهمترین قابلیتی که یک سامانه استخراج باید داشته باشد این است که بگوید چقدر مطمئن است.
با آن، میتوانید آستانه بگذارید: بالای حد مشخص خودکار ثبت شود، زیر آن به صف بازبینی برود. بدون آن، یا باید همه را دستی بررسی کنید — که کل صرفهجویی را از بین میبرد — یا همه را کورکورانه بپذیرید.
آستانه را هم بر اساس هزینه خطا تعیین کنید، نه با یک عدد پیشفرض. برای مبلغ فاکتور که خطایش مالی است، آستانه باید بالا باشد؛ برای شرح کالا، پایینتر.
رابط بازبینی، بخشی که دستکم گرفته میشود
بخشی از سناریوها همیشه به آدم میرسند، و کیفیت این رابط تعیین میکند صرفهجویی واقعی چقدر است.
آنچه لازم دارد: نمایش تصویر سند در کنار فیلدهای استخراجشده، برجستهکردن جای هر فیلد روی تصویر تا بازبین لازم نباشد دنبالش بگردد، فوکوس خودکار روی فیلدهای کماطمینان، و امکان اصلاح سریع با صفحهکلید.
اگر بازبینی هر سند بیشتر از ورود دستی طول بکشد، پروژه شکست خورده است — حتی اگر دقت استخراج بالا باشد.
و اصلاحهای بازبین را ذخیره کنید. آنها بهترین داده برای بهبود سامانهاند و معمولاً دور ریخته میشوند.
سنجههایی که واقعاً مهماند
دقت بهازای هر فیلد، نه یک عدد کلی. شماره فاکتور و مبلغ ممکن است دقت خیلی متفاوتی داشته باشند و میانگینگرفتنشان تصویر را پنهان میکند.
نرخ خودکارسازی: چند درصد اسناد بدون دخالت انسان کامل شدهاند. این عدد مستقیماً همان چیزی است که خریدهاید.
میانگین زمان بازبینی هر سند.
و نرخ خطای عبورکرده: مواردی که سامانه مطمئن بوده و اشتباه کرده. مهمترین عدد، و تنها راه گرفتنش نمونهگیری دستی از خروجیهای پذیرفتهشده است.
پیش از شروع
نمونه واقعی جمع کنید — دستکم چند ده سند از همان جنسی که در عمل میآید، شامل بدترین کیفیتها. تست با اسناد تمیز، نتیجهای میدهد که در تولید تکرار نمیشود.
فهرست فیلدهای لازم را ببندید. هر فیلد اضافه، هم هزینه دارد و هم نقطه خطای بیشتر.
تصمیم بگیرید سند اصلی چقدر نگه داشته میشود و کجا. اگر اسناد حساساند، مسیر پردازش هم باید داخلی باشد؛ محرمانگی داده این را باز کرده است.
و از یک نوع سند شروع کنید، نه از همه. سازمانهایی که با «همه اسناد ورودی» شروع کردهاند معمولاً به جایی نرسیدهاند؛ آنهایی که با پرحجمترین نوع شروع کردهاند، در چند هفته عدد قابل دفاعی داشتهاند.
پیچیدگی قواعد در اسناد مالی و مالیاتی را در ساهوما از نزدیک دیدهایم — و درس اصلیاش این بود که اعتبارسنجی، بیشتر از مدل، کیفیت را میسازد.