Need Help with Developing a System for Extracting Data from Hebrew Invoices Using Google Vision OCR and GPT

Hello OpenAI community,

I’m currently working on a project where I’m trying to extract data from Hebrew invoices using Google Vision OCR to extract the text from the image, and then using GPT to extract the different instances from the unstructured invoice data.

Specifically, I need to extract the following fields from the invoices: Document type (8 options), Supplier name, Supplier VAT number, invoice number, invoice date, and whether the invoice has VAT.

I’ve been using the chatgpt-3.5-turbo and giving it a prompt with a set of rules to get some results, but unfortunately, they’re not good enough. I’ve tried fine-tuning models on about 4700 examples, but the results are still not satisfactory.

One approach I’ve tried is fine-tuning the model each time on the same OCR text but for different fields. For example, I’ve created one model that knows how to extract only the date. However, the results still fall short of my expectations.

I’ve also experimented with both the Ada and Courie models, but I haven’t seen any significant differences in performance.

Example of my training data:
prompt
חשבון לשירותי כביש 6 פטור מלא מניכוי מס במקור - הטופס זמין באתר האינטרנט\nwww.kvish6.co.il בעמוד "טפסים לפתיחת מנוי".\nחשבונית זו יכול שתכלול חיובים אשר נוצרו בתקופות חיוב קודמות ואשר\nלא חויבת בגינם בעבר.\nדרך ארץ הייווייז (1997) בע"מ\nת"ד 473 ראש העין 4810401\nבתיק איחוד עוסקים מספר 557972627 מדווחות דרך\nארץ הייווייז )1997( )5124752039) ודרך ארץ\nהייווייז קטע 18 (2007) בע"מ )ח"9 513927285(\nלכבוד\nישי עזרא\nבארי 11\nכוכב יאיר\nמספר לקוח 8652474\n- חשבונית מס מספר 1234-963642\nתיאור )לפני מע"מ(\n4486400\nתיאור\nתשלומים עבור נסיעות\nסה"כ סכומים ב-17% מע"מ\nסה"כ מעיימ\nסה"כ כולל מע"מ (ש”ח)\nלתשלום עד\n20/02/2023\nמספר רכב\n22462601\nים\nלחשבון שלא ישולם במועד, יתווספו חיובים והפרשי הצמדה על-פי חוק.\nלהגשת ערר על-פי חוק כביש אגרה )כביש ארצי לישראל) התשנ"ה-1995,\nניתן לפנות בתוך 30 ימים, לוועדת ערר בטלפון 03-6255878,\nטל"ח\nהודעות\nחשבונית 1231336820 בסך 145.07 ש"ח שולמה ב כרטיס אשראי אוטומטי ביום\n11.24 ש"ח לפני מע"מ והתאמות הועברו ל דרך ארץ הייווייז 18 2007 בע"מ\nפירוט חיובים לרכב\nמספר נסיעות\n6\nסכום\n105.19\n105.19\n17.88\n123.07\nwww.kvish6.co.il\nלא לתשלום\nלתשלום חשבוניות\nולביצוע פעולות נוספות סירקו הברקוד\nלבירורים לגבי החשבונית/תשלום באשראי/דיווחי תנועה: 03-9081111 / 6116* אנא ידעו אותנו על\nשינוי בבעלות הרכב,\nאו כל שינוי אחר\nסכום\n105.19\nאיזור אישי חדש!\nביצוע מגוון פעולות בחשבון האישי שלך\nבאופן קל ומיידי ללא המתנה לנציג\n0\n6\nכביש\nתמיד לפני כולם\nהעתק נאמן למקור\nהעתק ניתן לפי בקשת הלקוח.\nהמקור היווה חשבונית מס בהתאם לחוק.\nהעסקה לא בוטלה ןלא שונתה\nיהוי/עוסק מורשה\nמספר לקוח\nסוג לקוח\nתאריך חשבון\nתקופת חשבון\n69443919\n8652174\nפרטי / מנו וידאו\n20/03/2023\n20/02/23-19/03/23\nעדכון\nפרטי מנוי\nבפרטי המנוי, על\nמנת למנוע המשך\nחיוב חשבונכם.\nניתן לבצע מגוון פעולות\nאונליין באתר כביש 6:\nלעדכן רכבים במנוי\nלהירשם לקבלת\nחשבונית במייל\nלבצע בקרה ופעולות\nבחשבון המנוי\nלצפות בפירוט נסיעות\nwww.kvish6.co.il \n###"

completion
“ 20-03-2023\n”

So, I’m reaching out to the OpenAI community to ask for your help. Can you suggest the best approach and model for this task? Any advice, guidance, or resources you can provide would be greatly appreciated.

Thank you in advance for your help!

Hello, I’m looking to build a similar project.
Did you finally find out ?

I asked ChatGPT to organize the texts.

Prompt:

I have a jumbled block of texts that was taken from OCR device scanning some document. 
I want you to organize the data in useful way:

חשבון לשירותי כביש 6 פטור מלא מניכוי מס במקור - הטופס זמין באתר האינטרנט
\nwww.kvish6.co.il בעמוד "טפסים לפתיחת מנוי".\nחשבונית זו יכול שתכלול חיובים אשר נוצרו בתקופות חיוב קודמות ואשר\nלא חויבת בגינם בעבר.\nדרך ארץ הייווייז (1997) בע"מ
\nת"ד 473 ראש העין 4810401\nבתיק איחוד עוסקים מספר 557972627 מדווחות דרך\nארץ הייווייז )1997( )5124752039) ודרך ארץ\nהייווייז קטע 18 (2007) בע"מ )ח"9 513927285(\nלכבוד\nישי עזרא\nבארי 11\nכוכב יאיר\nמספר לקוח 8652474
\n- חשבונית מס מספר 1234-963642\nתיאור )לפני מע"מ(\n4486400\nתיאור
\nתשלומים עבור נסיעות\nסה"כ סכומים ב-17% מע"מ\nסה"כ מעיימ\nסה"כ כולל מע"מ (ש”ח)
\nלתשלום עד\n20/02/2023\nמספר רכב\n22462601\nים\nלחשבון שלא ישולם במועד, יתווספו חיובים והפרשי הצמדה על-פי חוק.\nלהגשת ערר על-פי חוק כביש אגרה )כביש ארצי לישראל) התשנ"ה-1995,\nניתן לפנות בתוך 30 ימים, לוועדת ערר בטלפון 03-6255878,\nטל"ח\nהודעות\nחשבונית 1231336820 בסך 145.07 ש"ח שולמה ב כרטיס אשראי אוטומטי ביום\n11.24 ש"ח לפני מע"מ והתאמות הועברו ל דרך ארץ הייווייז 18 2007 בע"מ\nפירוט חיובים לרכב\nמספר נסיעות\n6\nסכום\n105.19\n105.19\n17.88\n123.07
\nwww.kvish6.co.il\nלא לתשלום\nלתשלום חשבוניות\nולביצוע פעולות נוספות סירקו הברקוד\nלבירורים לגבי החשבונית/תשלום באשראי/דיווחי תנועה: 03-9081111 / 6116* אנא ידעו אותנו על\nשינוי בבעלות הרכב,\nאו כל שינוי אחר\nסכום\n105.19\nאיזור אישי חדש!\nביצוע מגוון פעולות בחשבון האישי שלך\nבאופן קל ומיידי ללא המתנה לנציג\n0\n6\nכביש
\nתמיד לפני כולם\nהעתק נאמן למקור\nהעתק ניתן לפי בקשת הלקוח.\nהמקור היווה חשבונית מס בהתאם לחוק.\nהעסקה לא בוטלה ןלא שונתה\nיהוי/עוסק מורשה\nמספר לקוח\nסוג לקוח\nתאריך חשבון\nתקופת חשבון\n69443919\n8652174\nפרטי / מנו וידאו\n20/03/2023\n20/02/23-19/03/23\nעדכון\nפרטי מנוי\nבפרטי המנוי, על\nמנת למנוע המשך\nחיוב חשבונכם.\nניתן לבצע מגוון פעולות\nאונליין באתר כביש 6:\nלעדכן רכבים במנוי\nלהירשם לקבלת\nחשבונית במייל\nלבצע בקרה ופעולות\nבחשבון המנוי\nלצפות בפירוט נסיעות\nwww.kvish6.co.il 

Result:

Based on the jumbled block of text you provided, I have organized the data in a more useful way:

Account Information:
- Account Number: 8652474
- Customer Name: ישי עזרא
- Address: בארי 11, כוכב יאיר
- Car Number: 22462601

Invoice Details:
- Invoice Number: 1234-963642
- Description: תשלומים עבור נסיעות
- Amount Before VAT: 4486400
- VAT Amount (17%): 105.19
- Total Amount (including VAT): 123.07
- Payment Due Date: 20/02/2023

Additional Information:
- This invoice is exempt from original tax deduction.
- The invoice may include charges from previous billing periods that were not previously billed.
- For any inquiries or disputes, contact the Arbitration Committee at 03-6255878.

Payment and Account Actions:
- Online actions can be performed on the personal account page at www.kvish6.co.il.
- For clarifications regarding the invoice, credit card payments, or transaction reports, contact 03-9081111 or 6116*.

Note: The provided text is quite disorganized, and some information may be missing or unclear. The organization above is based on the available information and may not be entirely accurate.

I don’t know Hebrew so I don’t know how accurate the result is.
Maybe if it is accurate, then you can proceed to your next step after this.

1 Like