أتمتة رقمنة الإيصالات باستخدام OCR و Deep Learning PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

أتمتة رقمنة الإيصال باستخدام OCR والتعلم العميق

أتمتة رقمنة الإيصال باستخدام OCR والتعلم العميق

هل تريد أتمتة استخراج البيانات من الإيصالات؟ تحقق من Nanonets المدربة مسبقًا OCR إيصال or بناء الخاصة بك OCR إيصال مخصص. يمكنك أيضا جدولة عرض لمعرفة المزيد حول حالات استخدام AP لدينا!


OCR إيصال أو رقمنة الإيصال تعالج التحدي المتمثل في استخراج المعلومات تلقائيًا من الإيصال. في هذه المقالة ، أغطي النظرية الكامنة وراء رقمنة الإيصالات وتنفيذ خط أنابيب من طرف إلى طرف باستخدام OpenCV و تسراكت. أراجع أيضًا بعض الأوراق المهمة التي تتناول رقمنة الاستلام باستخدام التعلم العميق.

ما هي رقمنة الإيصال؟

تحمل الإيصالات المعلومات اللازمة لحدوث التجارة بين الشركات ، ومعظمها على الورق أو بتنسيقات شبه منظمة مثل ملفات PDF وصور الورق / النسخ الورقية. من أجل إدارة هذه المعلومات بشكل فعال ، تقوم الشركات باستخراج وتخزين المعلومات ذات الصلة الواردة في هذه الوثائق. تقليديا تم تحقيق ذلك عن طريق استخراج المعلومات ذات الصلة وإدخالها يدويا في قاعدة بيانات وهي عملية كثيفة العمالة ومكلفة.

تتناول رقمنة الإيصالات التحدي المتمثل في استخراج المعلومات تلقائيًا من الإيصال.

يمكن أن يخدم استخراج المعلومات الأساسية من الإيصالات وتحويلها إلى مستندات منظمة العديد من التطبيقات والخدمات ، مثل الأرشفة الفعالة والفهرسة السريعة وتحليلات المستندات. يلعبون أدوارًا حاسمة في تبسيط العمليات كثيفة الوثائق وأتمتة المكاتب في العديد من المجالات المالية والمحاسبية والضريبية.

أتمتة رقمنة الإيصال باستخدام OCR والتعلم العميق

في حاجة قوية إيصال التعرف الضوئي على الحروف or ماسح الإيصالات لاستخراج البيانات من الإيصالات؟ تحقق من شبكات النانو إيصال OCR API!


من سيجد رقمنة الإيصال مفيدة؟

إليك بعض المجالات التي يمكن أن تحدث فيها رقمنة الإيصال تأثيرًا كبيرًا:

أتمتة الحسابات الدائنة والمدينة

إن حساب حسابات الدفع (AP) وحسابات القبض (AR) يدويًا أمر مكلف ويستغرق وقتًا طويلاً ويمكن أن يؤدي إلى الخلط بين المديرين والعملاء والموردين. مع الرقمنة ، يمكن للشركات القضاء على هذه العيوب ويمكن أن يكون لها المزيد من المزايا - زيادة الشفافية وتحليلات البيانات ورأس المال العامل المحسن والتتبع الأسهل.

تحسين سلسلة التوريد

سلاسل التوريد هي العمود الفقري للعديد من وظائف الشركة السليمة. إدارة المهام ، وتدفق المعلومات ، وتدفق المنتج هو المفتاح لضمان السيطرة الكاملة على العرض والإنتاج. هذا أمر ضروري إذا كان على المنظمات تلبية أوقات التسليم والتحكم في تكاليف الإنتاج.

تشترك الشركات التي تزدهر حقًا هذه الأيام في شيء مهم: سلسلة التوريد المرقمنة. 89٪ من الشركات مع سلاسل التوريد الرقمية ، تتلقى طلبات مثالية من الموردين الدوليين ، مما يضمن التسليم في الوقت المحدد. أحد العناصر الرئيسية لتحقيق الجيل التالي من سلسلة التوريد الرقمية 4.0 ، هو أتمتة التقاط البيانات وإدارتها ، والكثير من هذه البيانات هو شكل الإيصالات و الفواتير. يعمل الإدخال اليدوي للإيصالات كعقبة عبر سلسلة التوريد ويؤدي إلى تأخيرات غير ضرورية. إذا تمت رقمنة معالجة الإيصالات ، فقد تؤدي إلى مكاسب كبيرة في الوقت والكفاءة.


هل لديك مشكلة OCR في الاعتبار؟ تريد رقمنة الفواتير، ملفات PDF أو لوحات الأرقام؟ رئيس لأكثر من النانو وبناء نماذج التعرف الضوئي على الحروف مجانا!


لماذا هي مشكلة صعبة؟

من الصعب رقمنة الإيصالات لأن الإيصالات بها الكثير من الاختلافات وأحيانًا تكون ذات جودة منخفضة. يقدم مسح الإيصالات أيضًا العديد من القطع الأثرية في نسختنا الرقمية. تشكل هذه القطع الأثرية العديد من تحديات القراءة.

أتمتة رقمنة الإيصال باستخدام OCR والتعلم العميق

فيما يلي قائمة ببعض الأشياء التي تجعل من الصعب اختراقها

  • نص مكتوب بخط اليد
  • الخطوط الصغيرة
  • صور صاخبة
  • تلاشى الصور
  • حركة الكاميرا والاهتزاز
  • العلامات المائية
  • التجاعيد
  • نص باهت

خط أنابيب لرقمنة الإيصال التقليدية

يتضمن خط الأنابيب النموذجي لهذا النوع من النهج الشامل ما يلي:

  • تجهيزها
  • التعرف الضوئي على الحروف
  • استخراج المعلومات
  • تفريغ البيانات
أتمتة رقمنة الإيصال باستخدام OCR والتعلم العميق

دعونا نتعمق في كل جزء من خط الأنابيب. الخطوة الأولى من العملية هي المعالجة المسبقة.

تجهيزها

معظم الإيصالات الممسوحة ضوضاء ولديها قطع أثرية ، وبالتالي لكي يعمل نظام التعرف الضوئي على الحروف وأنظمة استخلاص المعلومات بشكل جيد ، فمن الضروري معالجة الإيصالات مسبقًا. تتضمن طرق المعالجة المسبقة الشائعة - Greccaling و Thresholding (Binarization) وإزالة الضوضاء.

Grayscaling هو ببساطة تحويل صورة RGB إلى صورة درجات رمادية.

تتضمن إزالة الضوضاء عادة إزالة ضوضاء الملح والفلفل أو الضوضاء الغوسية.

تعمل معظم محركات OCR بشكل جيد على الصور بالأبيض والأسود. يمكن تحقيق ذلك عن طريق العتبة ، وهي تعيين قيم البكسل فيما يتعلق بقيمة العتبة المقدمة. تتم مقارنة كل قيمة بكسل مع قيمة الحد. إذا كانت قيمة البكسل أصغر من العتبة ، يتم تعيينها على 0 ، وإلا يتم تعيينها على القيمة القصوى (بشكل عام 255).

يوفر OpenCV خيارات عتبة مختلفة - عتبة بسيطة ، عتبة تكيفية

أتمتة رقمنة الإيصال باستخدام OCR والتعلم العميق

التعرف الضوئي على الحروف

الخطوة التالية في خط الأنابيب هي التعرف الضوئي على الحروف. يتم استخدامه لقراءة النص من الصور مثل مستند ممسوح ضوئيًا أو صورة. تُستخدم هذه التقنية لتحويل أي نوع من الصور التي تحتوي على نص مكتوب (مطبوع أو مكتوب بخط اليد أو مطبوع) تقريبًا إلى بيانات نصية قابلة للقراءة آليًا. يتضمن OCR خطوتين - اكتشاف النص والتعرف على النص.

أتمتة رقمنة الإيصال باستخدام OCR والتعلم العميق

هناك عدد من الأساليب للتعرف الضوئي على الحروف. نهج الرؤية التقليدية للكمبيوتر هو

  • استخدام المرشحات لفصل الشخصيات عن الخلفية
  • تطبيق الكشف الكنتوري للتعرف على الأحرف المصفاة
  • استخدم تصنيف ماجى لتحديد الشخصيات

يعد تطبيق المرشحات وتصنيف الصور أمرًا بسيطًا للغاية ، (فكر في تصنيف MNIST باستخدام SVN) ، ولكن مطابقة الخطوط الكنتورية مشكلة صعبة للغاية وتتطلب الكثير من الجهد اليدوي ولا يمكن تعميمها.

يأتي بعد ذلك نهج التعلم العميق. التعلم العميق يعمم جيدًا. يعد EAST أحد الأساليب الأكثر شيوعًا لاكتشاف النص. EAST (كاشف نص المشهد الدقيق الفعال) هو أسلوب بسيط ولكنه قوي لاكتشاف النص. شبكة EAST هي في الواقع نسخة من U-Net المعروفة ، وهي جيدة لاكتشاف الميزات ذات الأحجام المختلفة.

أتمتة رقمنة الإيصال باستخدام OCR والتعلم العميق

CRNN و STN-التعرف الضوئي على الحروف (شبكات المحولات المكانية) هي أوراق شائعة أخرى تؤدي OCR.

استخراج المعلومات

النهج الأكثر شيوعًا لمشكلة استخراج المعلومات قائم على القواعد ، حيث تتم كتابة القواعد بعد التعرف الضوئي على الحروف لاستخراج المعلومات المطلوبة. هذا نهج قوي ودقيق ، ولكنه يتطلب منك كتابة قواعد أو قوالب جديدة لنوع جديد من المستندات.

عدة قواعد فاتورة أنظمة التحليل موجودة في الأدب.

  • Intellix من DocuWare يتطلب نموذجًا مشروحًا يحتوي على الحقول ذات الصلة.
  • سمارت فيكس يستخدم قواعد تكوين مصممة خصيصًا لكل قالب

تعتمد الأساليب المستندة إلى القواعد بشكل كبير على قواعد النموذج المحددة مسبقًا لاستخراج المعلومات من تخطيطات فاتورة محددة

أحد الأساليب التي أصبحت شائعة جدًا في السنوات القليلة الماضية هو استخدام إطار عمل قياسي لاكتشاف الكائنات مثل YOLO و Faster R-CNN للتعرف على الحقول. لذلك بدلاً من اكتشاف النص الخالص ، يتم إجراء التعرف على المجال واكتشاف النص في وقت واحد. هذا يجعل خط الأنابيب أصغر (اكتشاف النص - التعرف - الاستخراج للاكتشاف - التعرف). ليست هناك حاجة لكتابة أي قواعد لأن كاشف الكائنات يتعلم التعرف على هذه الحقول.

تفريغ البيانات

بمجرد استخراج المعلومات الخاصة بك ، يمكن إجراء تفريغ البيانات كما تتطلب حالة الاستخدام الخاصة بنا. غالبًا ما يكون تنسيق JSON لتخزين معلومات الحقول مناسبًا. يمكن تحويل ملفات JSON هذه بسهولة إلى ملفات XML أو أوراق Excel أو ملفات CSV أو ملفات نص عادي بناءً على من يريد العمل مع البيانات وكيف.

إيصال التحويل الرقمي باستخدام تسراكت

الآن بعد أن لدينا فكرة عن خط الأنابيب ، دعنا ننفذه على إيصال مثال. هذا هو الإيصال الذي سنعمل معه. هدفنا في نهاية هذا هو استخراج اسم المطعم والعناصر المشتراة بكميتها وتكلفتها وتاريخ الشراء وإجمالي.

أتمتة رقمنة الإيصال باستخدام OCR والتعلم العميق

تجهيزها

نظرًا لأن إيصالنا موجود بالفعل بتدرج الرمادي ولا يوجد الكثير من الضجيج ، فإنني سأفعل الحد الأدنى فقط من خلال تطبيق حد 210. يمكنك تعديل القيمة للحصول على الناتج الصحيح. أقل من اللازم وسوف تفوتك الكثير. ما يقرب من 255 سيجعل كل شيء أسود.

سنحتاج إلى تثبيت OpenCV أولاً.

pip install opencv-python

إليك رمز العتبة.

import cv2
import numpy as np
from matplotlib import pyplot as plt # Read the image
img = cv2.imread('receipt.jpg',0)
# Simple thresholding
ret,thresh1 = cv2.threshold(img,210,255,cv2.THRESH_BINARY)
cv2.imshow(thresh1,’gray’)

هذا ما يبدو عليه الناتج.

أتمتة رقمنة الإيصال باستخدام OCR والتعلم العميق

كشف النص

للكشف عن النص سأستخدم مكتبة مفتوحة المصدر تسمى تسراكت. إنها مكتبة OCR النهائية وتم تطويرها بواسطة Google منذ عام 2006. يدعم أحدث إصدار من Tesseract (الإصدار 4) التعرف الضوئي على الحروف القائم على التعلم العميق والذي هو أكثر دقة بشكل ملحوظ. يستخدم محرك OCR الأساسي شبكة ذاكرة قصيرة المدى (LSTM).

لنقم أولاً بتثبيت أحدث إصدار من Tesseract.

لأوبونتو

sudo apt install tesseract-ocr

لنظام التشغيل macOS

brew install tesseract --HEAD

بالنسبة لنظام التشغيل windows ، يمكنك تنزيل الثنائيات من هذا صفحة

تحقق من إصدار tesseract الخاص بك.

tesseract -v

انتاج -

tesseract 4.0.0-beta.3
leptonica-1.76.0
libjpeg 9c : libpng 1.6.34 : libtiff 4.0.9 : zlib 1.2.11
Found AVX512BW
Found AVX512F
Found AVX2
Found AVX
Found SSE

قم بتثبيت روابط Tesseract + Python

الآن بعد أن تم تثبيت Tesseract ثنائي ، نحتاج الآن إلى تثبيت روابط Tesseract + Python حتى تتمكن نصوص Python النصية من التواصل مع Tesseract. نحتاج أيضًا إلى تثبيت حزمة اللغة الألمانية لأن الإيصال باللغة الألمانية.

pip install pytesseract
sudo apt-get install tesseract-ocr-deu

الآن بعد أن قمنا بتثبيت Tesseract فلنبدأ في اكتشاف مربعات النص.تسراكت لديه وظائف مضمنة لاكتشاف مربعات النص.

import pytesseract
from pytesseract import Output
import cv2 img = cv2.imread('receipt.jpg')
d = pytesseract.image_to_data(img, output_type=Output.DICT)
n_boxes = len(d['level'])
for i in range(n_boxes): (x, y, w, h) = (d['left'][i], d['top'][i], d['width'][i], d['height'][i]) img = cv2.rectangle(img, (x, y), (x + w, y + h), (0, 0, 255), 2) cv2.imshow(img,'img')

فيما يلي إخراج رمز الكشف عن النص.

أتمتة رقمنة الإيصال باستخدام OCR والتعلم العميق

التعرف على النص

سنقوم Tesseract لأداء OCR. يستخدم Tesseract 4 نهج التعلم العميق الذي يؤدي بشكل أفضل بكثير من معظم تطبيقات المصدر المفتوح الأخرى.

إليك رمز التعرف على النص. على الرغم من أنها بسيطة للغاية ، إلا أن هناك الكثير الذي يوضع تحت غطاء المحرك.

extracted_text = pytesseract.image_to_string(img, lang = 'deu')

ها هو الناتج الخام.

'BerghotelnGrosse Scheideggn3818 GrindelwaldnFamilie R.MüllernnRech.Nr. 4572 30.07.2007/13:29: 17nBar Tisch 7/01n2xLatte Macchiato &ä 4.50 CHF 9,00n1xGloki a 5.00 CH 5.00n1xSchweinschnitzel ä 22.00 CHF 22.00nIxChässpätz 1 a 18.50 CHF 18.50nnTotal: CHF 54.50nnIncl. 7.6% MwSt 54.50 CHF: 3.85nnEntspricht in Euro 36.33 EURnEs bediente Sie: UrsulannMwSt Nr. : 430 234nTel.: 033 853 67 16nFax.: 033 853 67 19nE-mail: grossescheidegs@b luewin. ch'

إليك الإخراج المنسق

Berghotel
Grosse Scheidegg
3818 Grindelwald
Familie R.Müller Rech.Nr. 4572 30.07.2007/13:29: 17
Bar Tisch 7/01
2xLatte Macchiato &ä 4.50 CHF 9,00
1xGloki a 5.00 CH 5.00
1xSchweinschnitzel ä 22.00 CHF 22.00
IxChässpätz 1 a 18.50 CHF 18.50 Total: CHF 54.50 Incl. 7.6% MwSt 54.50 CHF: 3.85 Entspricht in Euro 36.33 EUR
Es bediente Sie: Ursula MwSt Nr. : 430 234
Tel.: 033 853 67 16
Fax.: 033 853 67 19
E-mail: grossescheidegs@b luewin. ch

تحتاج إلى رقمنة المستندات أو الإيصالات أو الفواتير ولكن كسول جدا للكود؟ رئيس لأكثر من النانو وبناء نماذج التعرف الضوئي على الحروف مجانا!


استخراج المعلومات

كما ذكرت من قبل ، فإن الطريقة الأكثر شيوعًا لاستخراج المعلومات هي اتباع نهج قائم على القواعد.

ستتبع جميع الإيصالات من هذا الفندق هيكلًا ثابتًا وستظهر المعلومات على خطوط مختلفة. ينعكس هذا في ناتج التعرف الضوئي على الحروف حيث يتم تمثيل الخطوط الجديدة بالحرف "n". باستخدام هذه دعونا نكتب مجموعة من القواعد لاستخراج المعلومات. يمكن تطبيق مجموعة القواعد هذه على أي إيصال من هذا الفندق نظرًا لأنها ستتبع نفس التنسيق.

أتمتة رقمنة الإيصال باستخدام OCR والتعلم العميق

سوف أستخرج اسم المطعم وتاريخ المعاملة والعناصر المشتراة وكميتها والتكاليف الإجمالية لكل عنصر والمبلغ الإجمالي باستخدام أوامر الثعبان البسيطة والتعبيرات العادية.

هذا قاموس حيث سأخزن المعلومات المستخرجة.

receipt _ocr = {}

الخطوة الأولى هي استخراج اسم المطعم. سيكون موقع اسم المطعم ثابتًا في جميع الإيصالات وذلك في أول سطرين. دعونا نستخدم هذا لإنشاء قاعدة.

splits = extracted_text.splitlines()
restaurant_name = splits[0] + '' + splits[1]

بعد ذلك ، نستخرج تاريخ المعاملة. التعبير العادي للتاريخ واضح جدًا.


import re
# regex for date. The pattern in the receipt is in 30.07.2007 in DD:MM:YYYY date_pattern = r'(0[1-9]|[12][0-9]|3[01])[.](0[1-9]|1[012])[.](19|20)dd'
date = re.search(date_pattern, extracted_text).group()
receipt_ocr['date'] = date
print(date)

انتاج -

‘30.10.2007’

بعد ذلك نستخرج جميع المعلومات المتعلقة بالعناصر والتكلفة.

تحتوي العناصر على فرنك سويسري وهو الفرنك السويسري. دعونا نكتشف كل تكرارات الفرنك السويسري. يمكننا الآن اكتشاف الخطوط من خلال التعرف على الأحرف بين 2 n والتي تحتوي على CHF. أنا أكتشف الإجمالي هنا أيضًا.

# get lines with chf
lines_with_chf = []
for line in splits: if re.search(r'CHF',line): lines_with_chf.append(line) print(lines_with_chf)

انتاج -

2xLatte Macchiato &ä 4.50 CHF 9,00
1xSchweinschnitzel ä 22.00 CHF 22.00
IxChässpätz 1 a 18.50 CHF 18.50
Total: CHF 54.50
Incl. 7.6% MwSt 54.50 CHF: 3.85

إذا لاحظت ، فقد Tesseract عنصرًا واحدًا لأنه اكتشف CH بدلاً من CHF. سأغطي التحديات في أنظمة التعرف الضوئي على الحروف التقليدية في القسم التالي.

# get items, total, ignore Incl
items = []
for line in lines_with_chf: print(line) if re.search(r'Incl',line): continue if re.search(r'Total', line): total = line else: items.append(line) # Get Name, quantity and cost all_items = {}
for item in items: details = item.split() quantity_name = details[0] quantity = quantity_name.split('x')[0] name = quantity_name.split('x')[1] cost = details[-1] all_items[name] = {'quantity':quantity, 'cost':cost} total = total.split('CHF')[-1] # Store the results in the dict
receipt_ocr['items'] = all_items
receipt_ocr[‘total’] = total import json receipt_json = json.dumps(receipt_ocr)
print(receipt_json)

طباعة مخرجات JSON -

{'date': '30.07.2007', 'items': {'Chässpätz': {'cost': '18.50', 'quantity': 'I'}, 'Latte': {'cost': '9,00', 'quantity': '2'}, 'Schweinschnitzel': {'cost': '22.00', 'quantity': '1'}}, 'total': ' 54.50'}

تم استخراج جميع المعلومات الرئيسية وإلقاءها في الإيصال.

مشاكل النهج التقليدي

على الرغم من أننا استخرجنا المعلومات ، فإن خط الأنابيب أعلاه يفوت بعض الأشياء وهو دون المستوى الأمثل. لكل إيصال جديد ، نحتاج إلى كتابة مجموعة جديدة من القواعد ، وبالتالي لا يمكن تطويرها.

يمكن أن يكون هناك الكثير من الاختلافات في التخطيطات والخطوط وأحجام الخطوط والمستندات المكتوبة بخط اليد وما إلى ذلك. ستؤثر الاختلافات في التخطيطات على النهج المستندة إلى القواعد ويجب أخذها في الحسبان ، والتي تصبح مملة للغاية. الاختلافات في الخط وحجم الخط تجعل من الصعب التعرف على المعلومات واستخراجها.

لماذا يكون خط أنابيب التعلم العميق من الأفضل إلى النهاية أفضل؟

واحدة من أكبر المشاكل مع النهج القياسي هو عدم وجود تعميم. لا يمكن تعميم النهج المستندة إلى القواعد ، ويجب كتابة قواعد جديدة لأي قالب جديد. كما يجب أيضًا مراعاة أي تغييرات أو اختلافات في النموذج الحالي.

سيكون نهج التعلم العميق قادرًا على تعلم هذه القواعد ، وسيكون قادرًا على التعميم عبر تخطيطات مختلفة بسهولة ، بشرط أن تكون لدينا في مجموعة بيانات التدريب الخاصة بنا.

التعلم العميق واستخراج المعلومات

أراجع هنا بعض الأوراق التي تستخدم مناهج التعلم العميق من البداية إلى النهاية.

لطيف

CUTIE: تعلم فهم المستندات باستخدام مستخرج معلومات النص العالمي التلافيفي

تقترح هذه الورقة طريقة استخلاص المعلومات الأساسية القائمة على التعلم مع متطلبات محدودة من الموارد البشرية. فهو يجمع المعلومات من المعنى الدلالي والتوزيع المكاني للنصوص في المستندات. يطبق نموذجهم المقترح ، مستخلص معلومات النص العالمي التلافيفي (CUTIE) ، الشبكات العصبية التلافيفية على النصوص الشبكية حيث يتم تضمين النصوص كميزات ذات دلالات دلالية.

أتمتة رقمنة الإيصال باستخدام OCR والتعلم العميق

النموذج المقترح, يعالج مشكلة استخراج المعلومات الرئيسية

  • أولاً إنشاء نصوص شبكية مع المقترح طريقة رسم الخرائط الموضعية. لتوليد بيانات الشبكة للشبكة العصبية التلافيفية ، تتم معالجة صورة المستند الممسوحة ضوئيًا بواسطة محرك OCR للحصول على النصوص ومواضعها المطلقة / النسبية. يتم تعيين النصوص من صورة المستند الأصلية الممسوحة ضوئيًا إلى الشبكة المستهدفة ، بحيث تحافظ الشبكة المعيّنة على العلاقة المكانية الأصلية بين النصوص ولكنها أكثر ملاءمة لاستخدامها كمدخلات للشبكة العصبية التلافيفية.
  • ثم يتم تطبيق نموذج CUTIE على النصوص الشبكية. يتم ترميز المعلومات الدلالية الغنية من النصوص الشبكية في المرحلة الأولى من الشبكة العصبية التلافيفية مع طبقة تضمين الكلمة.

يسمح CUTIE بالنظر في الوقت نفسه في كل من المعلومات الدلالية والمعلومات المكانية للنصوص في صورة المستند الممسوحة ضوئيًا ويمكنه الوصول إلى نتيجة جديدة من الفن لاستخراج المعلومات الأساسية.

نموذج CUTIE

لديهم نموذجان CUTIE-A و CUTIE-B. CUTIE-A المقترحة عبارة عن شبكة عصبية تلافيفية عالية السعة تجمع بين ميزات الدقة المتعددة دون أن تفقد ميزات عالية الدقة. CUTIE-B هي شبكة تلافيفية مع تلاشي فظيع لتوسيع مجال الرؤية ووحدة تجميع الهرم المكاني الأذيني (ASPP) لالتقاط السياقات متعددة المستويات. يقوم كل من CUTIE-A و CUITE-B بإجراء عملية ترميز معاني دلالة مع طبقة تضمين كلمة في المرحلة الأولى.

تتشابه مهمة CUTIE مع مهمة التجزئة الدلالية. تحتوي الشبكة المعينة على نقاط بيانات متفرقة (رموز نصية) على النقيض من الصور التي يتم نشرها باستخدام وحدات البكسل. النصوص الرئيسية المعيارية الموضعية للشبكة إما قريبة من بعضها أو بعيدة عن بعضها البعض بسبب أنواع مختلفة من تخطيطات الوثيقة. لذلك ، فإن دمج قدرة معالجة السياق متعدد النطاق يفيد الشبكة.

بيانات

يتم تقييم الطريقة المقترحة على تحدي القراءة القوي لـ ICDAR 2019 على مجموعة بيانات SROIE وهي أيضًا على مجموعة بيانات ذاتية البناء مع 3 أنواع من صور المستندات الممسوحة ضوئيًا.

مجموعة بيانات ICDAR 2019 SROIE يستخدم الذي يحتوي على 1000 صورة إيصال كاملة ممسوحة ضوئيًا. تحتوي كل صورة إيصال على حوالي أربعة حقول نصية رئيسية ، مثل اسم البضائع وسعر الوحدة والتاريخ والتكلفة الإجمالية. يتكون النص الموضح في مجموعة البيانات بشكل أساسي من أرقام وأحرف إنجليزية.

تحتوي مجموعة البيانات التي تم إنشاؤها ذاتيًا على 4 و 484 مستند إيصال إسباني ممسوح ضوئيًا ، بما في ذلك إيصالات سيارات الأجرة وإيصالات الوجبات الترفيهية (ME) وإيصالات الفنادق ، مع 9 فئات معلومات رئيسية مختلفة.

النتائج

يتم تقييم الأداء العام باستخدام متوسط ​​الدقة (AP - ويتم قياسه من حيث الدقة لكل فئة عبر الفئات التسع) ودقة متوسطة ناعمة (softAP) حيث يتم تحديد التنبؤ بفئة المعلومات الرئيسية على أنه صحيح إذا كانت الحقائق الأساسية إيجابية يتم توقعها بشكل صحيح حتى لو تم تضمين بعض الإيجابيات الخاطئة في التنبؤ النهائي. يوفر التحليل المشترك لـ AP و softAP فهمًا أفضل لأداء النموذج.

يمكنك مشاهدة النتائج في الجدول أدناه.

أتمتة رقمنة الإيصال باستخدام OCR والتعلم العميق

GCNs لـ VRDs

تحويل الرسم البياني لاستخراج المعلومات متعددة الوسائط من المستندات الغنية بصريًا

تقدم هذه الورقة نموذجًا قائمًا على التفاف الرسم البياني لدمج المعلومات النصية والمرئية المقدمة في المستندات الغنية بصريًا (VRDs). يتم تضمين عمليات تضمين الرسم البياني لتلخيص سياق مقطع نصي في المستند ، كما يتم دمجها مع تضمين النصوص لاستخراج الكيان.

في هذه الورقة يسمون الوثيقة VRD وسألتزم بها.

يتم تصميم كل مستند على هيئة رسم بياني لمقاطع نصية ، حيث يتكون كل مقطع نصي من موضع المقطع والنص الموجود فيه. يتكون الرسم البياني من العقد التي تمثل مقاطع النص ، والحواف التي تمثل التبعيات المرئية ، مثل الأشكال النسبية والمسافة ، بين عقدتين.

أتمتة رقمنة الإيصال باستخدام OCR والتعلم العميق

تلخص عمليات تضمين الرسم البياني الناتجة عن التفاف الرسم البياني سياق مقطع نصي في المستند ، والذي يتم دمجه بشكل أكبر مع تضمين النصوص لاستخراج الكيان باستخدام نموذج BiLSTM-CRF القياسي.

الموديل

يقوم النموذج أولاً بتشفير كل جزء من النص في المستند إلى تضمين الرسم البياني ، باستخدام طبقات متعددة من التفاف الرسم البياني. يمثل التضمين المعلومات في مقطع النص بالنظر إلى سياقه المرئي والنصي. السياق المرئي هو تخطيط المستند والمواضع النسبية للمقطع الفردي للمقاطع الأخرى. السياق النصي هو مجموع المعلومات النصية في الوثيقة بشكل عام ؛ يتعلم النموذج تعيين أوزان أعلى للنصوص من مقاطع الجوار. ثم تجمع الورقة بين تضمين الرسم البياني مع تضمين النص وتطبيق BiLSTM-CRFmodel قياسي لاستخراج الكيان.

أتمتة رقمنة الإيصال باستخدام OCR والتعلم العميق

بيانات

يتم استخدام مجموعتي بيانات في العالم الحقيقي. وهي فواتير ضريبة القيمة المضافة (VATI) وإيصالات الشراء الدولية (IPR). يتكون VATI من 3000 صورة محمّلة بواسطة المستخدم ولديه 16 كيانًا بدقة. الكيانات سبيل المثال هي أسماء المشتري / البائع والتاريخ ومبلغ الضريبة. الفواتير باللغة الصينية ، ولها نموذج ثابت لأنها فاتورة قياسية وطنية.

IPR عبارة عن مجموعة بيانات من 1500 مستند إيصال ممسوح ضوئيًا باللغة الإنجليزية ولديها 4 كيانات يجب تحديدها (رقم الفاتورة واسم البائع واسم الدافع والمبلغ الإجمالي). يوجد 146 قوالب للإيصالات.

النتائج

يتم استخدام درجة F1 لتقييم أداء النموذج في جميع التجارب. يحتوي الجدول أدناه على النتائج في مجموعات بيانات thr 2.

أتمتة رقمنة الإيصال باستخدام OCR والتعلم العميق

يطبق الخط الأساسي I BiLSTM-CRF على كل مقطع نصي ، حيث يكون كل جزء نصي جملة فردية.

يطبق خط الأساس XNUMX نموذج وضع العلامات على مقاطع النص المتسلسلة.

أسرع- RCNN + AED

نهج التعلم العميق للتعرف على الاستلام

تقدم هذه الورقة نهج التعلم العميق للتعرف على الإيصالات الممسوحة ضوئيا. يحتوي نظام التعرف على وحدتين رئيسيتين: الكشف عن النص القائم على شبكة اقتراح النص الاتصالي والتعرف على النص بناءً على التشفير القائم على الانتباه. حقق النظام 71.9٪ من الدرجة F1 لمهمة الكشف والاعتراف.

كشف النص

تشبه بنية CTPN أسرع R-CNN ، مع إضافة طبقة LSTM. يتكون نموذج الشبكة بشكل أساسي من ثلاثة أجزاء: استخراج الميزة بواسطة VGG16 ، LSTM ثنائي الاتجاه ، وانحدار الصندوق المحيط

أتمتة رقمنة الإيصال باستخدام OCR والتعلم العميق

التعرف على النص

يستخدم جهاز AED في التعرف على أسطر النص. يحتوي جهاز AED على وحدتين رئيسيتين: DenseNet لاستخراج الميزات من صورة نصية و LSTM جنبًا إلى جنب مع نموذج الانتباه لتوقع نص الإخراج.

أتمتة رقمنة الإيصال باستخدام OCR والتعلم العميق

بيانات

يتم استخدام مجموعة البيانات من SROIE 2019. قاموا بتقسيم بيانات التدريب إلى تدريب ، والتحقق ، والاختبار ، واختاروا بشكل عشوائي 80٪ من إيصالات التدريب ، و 10٪ من إيصالات التحقق ، والباقي للاختبار. ينتج عن ذلك 500 إيصال للتدريب ، و 63 إيصالاً للتحقق ، و 63 إيصالاً للاختبار.

النتائج

بالنسبة للكشف عن النص ، يستخدم الورق تقاطعًا مع الاتحاد (TIoU) الواعي بالضيق للتعرف على النص ، استخدم الورق F1 و Precision و Recall.

أتمتة رقمنة الإيصال باستخدام OCR والتعلم العميق

يوضح الجدول I نتيجة CTPN بثلاثة شروط: CTPN على الصور الأصلية ؛ المعالجة المسبقة + CTPN ، والمعالجة المسبقة + CTPN + التحقق من التعرف الضوئي على الحروف. يوضح الجدول 2 نتائج شبكة AED.

أتمتة رقمنة الإيصال باستخدام OCR والتعلم العميق

هناك بالطبع طريقة أسهل وأكثر بديهية للقيام بذلك.


في حاجة قوية إيصال التعرف الضوئي على الحروف لاستخراج البيانات من الإيصالات؟ تحقق من شبكات النانو إيصال OCR API!


التعرف الضوئي على الحروف مع نانونات

التحديث رقم 1: لقد أصدرنا للتو إيصال التعرف الضوئي على الحروف نموذج مدرب مسبقًا. توجه إلى https://app.nanonets.com وابدأ الاختبار!

أتمتة رقمنة الإيصال باستخدام OCR والتعلم العميق

واجهة برمجة تطبيقات التعرف الضوئي على الحروف لشبكات النانو يسمح لك ببناء نماذج التعرف الضوئي على الحروف بسهولة. لا داعي للقلق بشأن المعالجة المسبقة لصورك أو القلق بشأن مطابقة القوالب أو إنشاء محركات قائمة على القواعد لزيادة دقة طراز OCR الخاص بك.

يمكنك تحميل بياناتك أو التعليق عليها أو ضبط النموذج على التدريب وانتظار الحصول على التنبؤات من خلال واجهة مستخدم قائمة على المتصفح دون كتابة سطر واحد من التعليمات البرمجية أو القلق بشأن وحدات معالجة الرسومات أو العثور على الهياكل المناسبة لنماذج التعلم العميق. يمكنك أيضًا الحصول على استجابات JSON لكل توقع لدمجها مع الأنظمة الخاصة بك وإنشاء تطبيقات مدعومة بالتعلم الآلي مبنية على أحدث خوارزميات وبنية تحتية قوية.

باستخدام واجهة المستخدم الرسومية: https://app.nanonets.com/

يمكنك أيضًا استخدام واجهة برمجة تطبيقات Nanonets-OCR باتباع الخطوات التالية:

الخطوة 1: استنساخ الريبو ، تثبيت التبعيات

git clone https://github.com/NanoNets/nanonets-ocr-sample-python.git
cd nanonets-ocr-sample-python
sudo pip install requests tqdm

الخطوة 2: احصل على مفتاح API المجاني
احصل على مفتاح API المجاني من http://app.nanonets.com/#/keys

أتمتة رقمنة الإيصال باستخدام OCR والتعلم العميق

الخطوة 3: تعيين مفتاح API كمتغير بيئة

export NANONETS_API_KEY=YOUR_API_KEY_GOES_HERE

الخطوة 4: إنشاء نموذج جديد

python ./code/create-model.py

ملحوظة: يؤدي هذا إلى إنشاء MODEL_ID الذي تحتاجه للخطوة التالية

الخطوة 5: إضافة معرف النموذج باسم متغير البيئة

export NANONETS_MODEL_ID=YOUR_MODEL_ID

ملحوظة: ستحصل على YOUR_MODEL_ID من الخطوة السابقة

الخطوة 6: تحميل بيانات التدريب
تم العثور على بيانات التدريب في images (ملفات الصور) و annotations (التعليقات التوضيحية لملفات الصور)

python ./code/upload-training.py

الخطوة 7: نموذج القطار
بمجرد تحميل الصور ، ابدأ في تدريب النموذج

python ./code/train-model.py

الخطوة 8: الحصول على حالة النموذج
النموذج يستغرق ~ 2 ساعة للتدريب. سوف تتلقى رسالة بريد إلكتروني بمجرد تدريب النموذج. في غضون ذلك ، تحقق من حالة النموذج

python ./code/model-state.py

الخطوة 9: جعل التنبؤ
بمجرد تدريب النموذج. يمكنك عمل تنبؤات باستخدام النموذج

python ./code/prediction.py ./images/151.jpg

لمزيد من القراءة

تحديث:
تمت إضافة المزيد من مواد القراءة حول أحدث التطورات في أتمتة رقمنة الإيصالات باستخدام التعرف الضوئي على الحروف والتعلم العميق.

الطابع الزمني:

اكثر من الذكاء الاصطناعي والتعلم الآلي