چگونه خط پردازش OCR اسنادی ساختیم که واقعاً برای تجارت بین‌المللی کار می‌کند

تیم Atlas Verified
·
۲۳ مهر ۱۴۰۴
·
6 دقیقه مطالعه
چگونه خط پردازش OCR اسنادی ساختیم که واقعاً برای تجارت بین‌المللی کار می‌کند

اگر تا به حال کوشیده‌اید با یک خدمت OCR عمومی، داده‌های ساختاریافته را از بارنامه استخراج کنید، نتیجه را از قبل می‌دانید: کار نمی‌کند. دست‌کم نه به‌شکلی قابل اتکا. و در انطباق تجارت بین‌المللی، «غیرقابل اتکا» همان «اصلاً کار نمی‌کند» است.

در Atlas Verify، هزاران سند تجاری را پردازش می‌کنیم: بارنامه‌ها، گواهی‌های ارگانیک، گواهی‌های بهداشت گیاهی، گواهی‌های مبدأ، فاکتورهای تجاری، فهرست‌های بسته‌بندی و ده‌ها نوع دیگر. در آغاز، همه پلتفرم‌های عمده OCR موجود در بازار را ارزیابی کردیم. همگی در یک آزمون شکست خوردند: سندی به آن‌ها بدهید که مشخصاً برای آن آموزش ندیده‌اند، و خروجی از ناقص تا به‌طرز خطرناکی اشتباه خواهد بود.

این مطلب توضیح می‌دهد چرا یک خط پردازش سفارشی اسناد ساختیم، چه چیزی اسناد تجاری را به‌طور خاص دشوار می‌کند و چه اصول مهندسی‌ای رویکرد ما را هدایت می‌کنند.

مشکل تنوع اسناد

بیشتر خدمات OCR برای مجموعه محدودی از انواع سند بهینه شده‌اند. Google Document AI در فاکتورها و رسیدها عالی عمل می‌کند. AWS Textract فرم‌های ساختاریافته را خوب مدیریت می‌کند. Azure Form Recognizer را می‌توان با الگوهای سفارشی آموزش داد. اما تجارت بین‌المللی تنوع حیرت‌انگیزی از مدارک تولید می‌کند.

فقط در سامانه خودمان، بیش از 35 نوع متمایز سند را مدیریت می‌کنیم. بارنامه هیچ شباهتی به گواهی ارگانیک ندارد. گواهی بهداشت گیاهی USDA تقریباً هیچ شباهت ساختاری با گواهی صادرشده از سوی اتحادیه اروپا ندارد. اطلاعیه ورود یک خط کشتیرانی ممکن است PDF ساختاریافته با جدول‌های واضح باشد؛ در خطی دیگر، فکس اسکن‌شده‌ای با یادداشت‌های دست‌نویس است.

نکته اساسی این است که هر نوع سند طرحواره خاص خود را دارد: مجموعه مشخصی از فیلدهایی که برای راستی‌آزمایی انطباق اهمیت دارند. بارنامه به فرستنده، گیرنده، طرف اطلاع‌رسانی، شماره‌های کانتینر، نام کشتی، بنادر بارگیری و تخلیه و شرح کالا نیاز دارد. گواهی ارگانیک به نهاد گواهی‌دهنده، نام واحد، شناسه NOP، محصولات گواهی‌شده و تاریخ‌های اعتبار نیاز دارد.

ابزارهای OCR عمومی این طرحواره‌ها را درک نمی‌کنند. متن را استخراج می‌کنند. شاید جدول‌ها را شناسایی کنند. اما نمی‌دانند رشته «MEDU4107760» یک شماره کانتینر است یا «NOP ID: 7880315519» شناسه‌ای حیاتی است که باید در برابر USDA Organic Integrity Database راستی‌آزمایی شود. بدون آگاهی از طرحواره، OCR صرفاً تبدیل پرهزینه متن است.

چرا «به‌اندازه کافی خوب» خطرناک است

در بیشتر کاربردهای نرم‌افزاری، نرخ دقت 95% عالی است. در انطباق تجاری، یک مسئولیت و خطر محسوب می‌شود.

یک شماره کانتینر را در نظر بگیرید. قالب استاندارد آن (ISO 6346) چهار حرف و سپس هفت رقم است که رقم آخر، رقم کنترل است. اگر OCR فقط یک کاراکتر را اشتباه بخواند، مثلاً «0» به «O» یا «8» به «B» تبدیل شود، شماره کانتینر نامعتبر است. سامانه‌های پایین‌دستی که تلاش می‌کنند آن کانتینر را ردیابی کنند، هیچ نتیجه‌ای برنمی‌گردانند و زنجیره راستی‌آزمایی بی‌سروصدا می‌شکند.

همین اصل درباره شناسه‌های NOP، کدهای HS، شماره‌های IMO و تاریخ‌های گواهی صدق می‌کند. خطای یک کاراکتر می‌تواند معنا را کاملاً تغییر دهد. کد HS برابر با 0901.11 (قهوه، برشته‌نشده، کافئین‌زدایی‌نشده) در مقابل 0901.12 (قهوه، برشته‌نشده، کافئین‌زدایی‌شده)، نرخ‌های تعرفه، الزامات نظارتی و نمایه‌های ریسک متفاوتی را فعال می‌کند.

معماری ما

خط پردازش اسناد ما سه مرحله دارد که هرکدام برای بیشینه کردن دقت در مواجهه با چالش‌های مشخص مستندات تجاری طراحی شده‌اند.

مرحله 1: طبقه‌بندی سند — پیش از استخراج هرگونه داده، ابتدا تشخیص می‌دهیم با چه نوع سندی روبه‌رو هستیم. این طبقه‌بندی تعیین می‌کند کدام طرحواره استخراج اعمال شود، چه فیلدهایی جست‌وجو شوند و نتایج چگونه اعتبارسنجی شوند.

مرحله 2: استخراج آگاه از طرحواره — پس از طبقه‌بندی سند، مدل استخراج ویژه همان نوع را اعمال می‌کنیم که دقیقاً می‌داند دنبال چه فیلدهایی بگردد و آن‌ها معمولاً در کجای آن نوع سند ظاهر می‌شوند. این اساساً با OCR عمومی متفاوت است که همه‌چیز را استخراج می‌کند و تفسیر را به کاربر می‌سپارد.

مرحله 3: اعتبارسنجی متقابل — داده‌های استخراج‌شده به‌طور خودکار با منابع داده خارجی تطبیق متقابل داده می‌شوند. شماره‌های کانتینر با APIهای خطوط کشتیرانی اعتبارسنجی می‌شوند. شناسه‌های NOP در برابر USDA Organic Integrity Database بررسی می‌شوند. کدهای بندر در برابر World Port Index راستی‌آزمایی می‌شوند. این مرحله هم خطاهای OCR و هم داده‌های تقلبی را شناسایی می‌کند.

درس‌های آموخته‌شده

پس از پردازش ده‌ها هزار سند تجاری، چند اصل روشن شده است:

1. راه‌حل تخصصی حوزه از راه‌حل عمومی بهتر است. هر تلاش برای استفاده از خدمت OCR عمومی به آن‌قدر پردازش پس از استخراج نیاز داشت که زمان مهندسی صرف‌شده برای اصلاح خروجی آن، از زمانی که برای ساخت راه‌حل سفارشی لازم بود بیشتر شد.

2. طبقه‌بندی زیربناست. تشخیص نادرست نوع سند، به‌صورت زنجیره‌ای بر همه گام‌های بعدی اثر می‌گذارد. روی دقت طبقه‌بندی سرمایه‌گذاری زیادی می‌کنیم، چون همه مراحل پایین‌دستی به آن وابسته‌اند.

3. اعتبارسنجی مهم‌تر از استخراج است. استخراج شماره کانتینر مفید است. تأیید اینکه آن کانتینری واقعی روی کشتی‌ای واقعی در بندر درست است، چیزی است که واقعاً برای انطباق اهمیت دارد.

4. خروجی ساختاریافته، خودکارسازی را ممکن می‌کند. هدف، دیجیتال کردن اسناد برای خواندن انسان نیست؛ تولید داده‌های ساختاریافته قابل خواندن برای ماشین است که مستقیماً به گردش‌کارهای خودکار راستی‌آزمایی وارد شوند.

ساخت خط پردازش قابل اتکای اسناد برای تجارت بین‌المللی واقعاً دشوار است. اسناد متنوع‌اند، الزامات دقت بسیار سخت‌گیرانه‌اند و پیامدهای خطا چشمگیر است. اما این کار زیربنایی نیز هست: هر قابلیت راستی‌آزمایی که می‌سازیم، به توانایی خواندن و درک دقیق اسنادی وابسته است که همراه کالاها در زنجیره‌های تأمین جهانی حرکت می‌کنند.

از این مقاله لذت بردید؟

آن را با شبکه خود به اشتراک بگذارید