Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Numbers in Arabic script are getting reversed #2263

Closed
Shreeshrii opened this issue Feb 23, 2019 · 19 comments
Closed

Numbers in Arabic script are getting reversed #2263

Shreeshrii opened this issue Feb 23, 2019 · 19 comments

Comments

@Shreeshrii
Copy link
Collaborator

Current 4.0.0-alpha traineddata for Arabic script do not recognize numerals in Arabic script. Traineddata finetuned to include these recognizes them but reverses the order. This is probably because tesseract is treating Arabic script numerals the same as Arabic script letters in terms of directionality.

However, as per Unicode Bidirectional Algorithm basics:

Numbers
A quick word about numbers. Numbers in RTL scripts run left-to-right within the right-to-left flow, but they are handled by the bidi algorithm a little differently than words. They are said to have weak directionality. The two examples in the picture illustrate this difference.

one two ثلاثة 1234 خمسة AND one two ثلاثة ١٢٣٤ خمسة

Numeric digits run left-to-right, but don't break directional runs. See live demo.

The first example uses European digits, '1234', the second expresses the same number using Arabic-Indic digits, ١٢٣٤. In both cases, the digits in the number are read left-to-right.

Because it is weakly typed, the number is seen as part of the preceding Arabic text, so the two Arabic words that surround the number are treated as part of the same directional run - even though the sequence of digits runs LTR on screen.

@Shreeshrii
Copy link
Collaborator Author

arabic-toc

@Shreeshrii
Copy link
Collaborator Author

The following is the recognition with the finetuned traineddata:

الجفا . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... ٢٧٨
غرام مُميت . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... ٣٧٨
الفؤاد الكسير . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... ٤٧٨
عَقيقَ في عقيق في عقيقي . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. ٥٧٨
الباب الحادي عشر: مُتفرزقات . . . . . . . . . . . . . . . . . . . . . . . . . ... ... .. ... ٧٧٨
الاي ..................................... ... .. .. ....... ٩٧٨
مَديح الشاي . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... ... ٩٩٨٨
مشك الشاي . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. ... ٧٩٨٨
ليلة الشاي . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... ٢٩٨٨
رجال السر . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... ٣٨٨
في فضل الاجتماع . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . ٤٨٨
شحججة . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... ٩٨٨
للهِ دَؤ بني رَوَاحة ............................................ ٦٨٨
خطة عَبْسِيةَ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... ٧٨٨
مزايا الزمان . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. ... ٨٨٨
عَشرَاء . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... ... ٩٨٨
قطع علاقة في عتاب ......................................... ٩٩٨
مُعاتبة . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. ... ٢٩٨
السمكة . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... ... ٤٩٨
نظرة . . . . . . . . . . . . . . . . ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. .. ٩٩٨
القطار . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... ... ٦٩٨
المعالي . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... .. ٩٨٩٨
المصادر والمراجع . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... ٠٠٩
الفهرس . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. .. ٢٠٩
١٩

@Shreeshrii
Copy link
Collaborator Author

For reference here is recognition with official traineddata.

tessdata_fast

الباب الحادي عشر : مطرّقات ‏ ...............2.2.2.2.2.2.2.2.2.222.2.2.2.2.2.2.... لالالم
شاي ........ي.ييييييييييييييييييي ...م022 020000262000222 0.... قلام
لح اع ا ع ا يي يي ا ا ع اي ا ا ا ا ا ا ع يا ا ا ا ا ا ا ع ا ل ا ا ا 00
مزايا الزمان ‏ ................ي.....يي..ية.ثثمة نمم نم م.م م.م .... للم
عَشُرَاء تتيييييييييمةمةث ممم ةم ة مم ةم ة ممم م ةلمم ل م ممم ملم م... 44م
قطم علاقة في عتاب ‏ ............2..2.2.22. .606660022622202 00006.... [اؤم
هعائية ......ث..ييييييييممي .مم ممم مم ممم مم ممم مم م م ملم م ممم م.. 17وقم
السمكة ...........ي.ييييييييي.ي.يي.م 60006200 606060666066200 06.... 4454
لظلرة ....ث..ي..ييثيءام ميم ممم ممم مم م 0666066 606660666660600 6... 4460م
المُعالي ............ي.ي.ي.ييييي.مييثثية تمي .ةمث مث م ننم مم ..... 444
المصادر والمراجع ‏ ...............يي.يييييييةيية. تت لل ا م ا ملل فو
القهرض ............ي.ي ...يي ي ةيم مهم مم مم ف ة ةن ة تت ةم ةن م .ل لانو
41

tessdata_best

الجا اال ااا ااا ...مر .ممم ...م.م تتم م.م تم .متي الالامْ
غرام ميت ....... ...م.م ...متم متتتتت ييل الام
الفؤادالكير ...................... ...م ...م.م ...م ...م.م ...تلت غلام
عَقِيقّ في عَقَيق في عقيقٍ ترتمم .م.م ت .مم متت م ممت .ممم ت .رمم يي لام
الباب الحادي عشر: مُطْرّقات .. ...اي الالام,/
الاي .ءءء ءءء لمملا حلام
من اليد ا الا
ملك الشاي ............. ...تت .......................... لهم
لبلةَالشاي ................................................ لظم
رجالالسّر .......... .اتا لات ...مم .ل تكلم
في فضل الاجتماع سه
ا
لل نر بي زَرَاكة ني اهم
خطةعَبسِية .... ...الما ...ا ...تلت ...لل امال ل لالم
سي
عَشْرَاء للا الالالال امال لالم لاما الام اكلم
قطع علاقة في عتاب .. ...ل احم
ا
السلمكة ...ءءء الالالال لال مالالا ااا كم
لطظْرة .ءءء ءءء الالال الل ءءء الالالال اماملا ا فكم
ا اا
الْمعَالي .لل ...ءءء مال ءءء مالالا ااا امكم,
المصادر والمراجع ......................ت...................... 0ف
الفهرس .................ا.ا ...رمم .م.م .مم رترت مم تيمم م.م يليل 970
47

@Shreeshrii
Copy link
Collaborator Author

This is not the case with all RTL languages. Hebrew numbers are recognized correctly.

hebrew-numbers

רַאש.ונָה ראשון ‏ אַחַת אֶחָד
שְיֶה || שני | שְתַיִם | שְנם
שלישית שלִישי | שלש | שֶלשָה
רביעית | רביעי | אַרְבַּע | אַרְבְעָה
חמישית חֶמִישי | חֶמש | הַמשָה
ששית | ששי | שש | ששָה
שְבִיעית שְבִיעִי | שְבַע | שְבְעָה
שְמִנִית | שְמִנִי שְמונֶה | שְמוּנֶה
תְשיית תֶשיעִי | תַשַע | הַטְעָה

@Shreeshrii
Copy link
Collaborator Author

@jbreiden Can you please check whether Arabic TOC image is recognized correctly at Google? Thanks!

@amitdo
Copy link
Collaborator

amitdo commented Feb 23, 2019

What was the source for finetuning?

Rendered text images via text2image or 'real' images?

@amitdo
Copy link
Collaborator

amitdo commented Feb 23, 2019

Hebrew uses 0123456789.

What you have in the image is words, not numbers:

רַאש.ונָה ראשון ‏ אַחַת אֶחָד

first(female form) first (male) one (f) one (m).

Here is an example in Hebrew:

הוא נולד בשנת 1962 בחיפה

He was born in 1962 in Haifa

@Shreeshrii
Copy link
Collaborator Author

What was the source for finetuning?

Rendered text images via text2image or 'real' images?

text2image via tesstrain.sh

@Shreeshrii
Copy link
Collaborator Author

Shreeshrii commented Feb 23, 2019

Hebrew use 0123456789.

OK. So then this kind of issue will not apply.

EDIT: Here is a test for Hebrew using cropped section from the image for issue #2207 The numbers are being recognized correctly, except for the corner case where line begins with a number (28 is recognized as 8).

heb-numbers

יתקיים ביום ראשון יייט במרחשון תשע'יט,
8 באוקטובר 2018 בשעה 15:00 בקמפוס המזמין ברח'
מעגל בית המדרש 7, בעת הכרם, ירושלים. מקום
מפגש:ליד עמדת השומר בכניסה הראשית.
עד ליום שני כ'"ז במרחשוון תשע"ט, 5 בנובמבר 2018 עד
השעה 16:00,
עד ליום שני ייא בכסלו תשע'"ט, 19 בנובמבר 2018 עד
השעה 16:00,

@Fahad-Alsaidi
Copy link

The following is the recognition with the finetuned traineddata:

الجفا . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... ٢٧٨
غرام مُميت . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... ٣٧٨
الفؤاد الكسير . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... ٤٧٨
عَقيقَ في عقيق في عقيقي . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. ٥٧٨
الباب الحادي عشر: مُتفرزقات . . . . . . . . . . . . . . . . . . . . . . . . . ... ... .. ... ٧٧٨
الاي ..................................... ... .. .. ....... ٩٧٨
مَديح الشاي . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... ... ٩٩٨٨
مشك الشاي . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. ... ٧٩٨٨
ليلة الشاي . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... ٢٩٨٨
رجال السر . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... ٣٨٨
في فضل الاجتماع . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . ٤٨٨
شحججة . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... ٩٨٨
للهِ دَؤ بني رَوَاحة ............................................ ٦٨٨
خطة عَبْسِيةَ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... ٧٨٨
مزايا الزمان . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. ... ٨٨٨
عَشرَاء . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... ... ٩٨٨
قطع علاقة في عتاب ......................................... ٩٩٨
مُعاتبة . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . .. ... ٢٩٨
السمكة . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... ... ٤٩٨
نظرة . . . . . . . . . . . . . . . . ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. .. ٩٩٨
القطار . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... ... ٦٩٨
المعالي . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... .. ٩٨٩٨
المصادر والمراجع . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... ٠٠٩
الفهرس . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. .. ٢٠٩
١٩

@Shreeshrii
This result is great. Is this finetuned traineddata public ? where can I get it? thanks

@Shreeshrii
Copy link
Collaborator Author

Shreeshrii commented Feb 23, 2019

I am still experimenting with finetuning. You can get the traineddata files from https://github.com/Shreeshrii/tessdata_arabic

Note: the training_texts have not been updated in the repo yet - I have used numerals in both Arabic and English scripts, added Arabic punctuation and added a few lines in the format of the Table of Contents. Training text is about 5000 lines, Eval text is approx. 500 lines and I am doing plus-minus training using script/Arabic.traineddata as the starting point.

I finetuned with only one font at a time- so latest files are

  • ara-Amiri
  • ara-Scheherazade
  • ara-Scheherazade-int (Integer model of above, much smaller file)

On my random eval set the error rate is 3-4%. However, as noted in this issue, the numerals are in reverse order.

  • ara-Amiri-invert (included sample with white text on black background)
  • ara-Amiri-invert-int (Integer model of above, much smaller file)
    These have a much higher error rate.

I am now testing finetuning with multiple fonts.

@Shreeshrii
Copy link
Collaborator Author

As a test, here is another TOC in Arabic document with numbers in Latin script, image taken from https://tex.stackexchange.com/questions/213222/chapter-numbering-in-table-of-contents

These seem to be recognized correctly in the finetuned traineddata.

كلمة المتزجم
تقديم الكتاب
الباب الأول. التحليل التوافقي 1

  1. مقدمة . . . . . .. ..... ..... . 1
  2. للدالأسسيلعد . .. ..... ............: . 2
    1.3 التباديل ......... 4
    1.4 التوافيق .. ...... ..... 6
    1.5 معاملات كثيرات الحدود ......... 11
    "1.6 عدد الحلول الصحيحة للمعادلات 0 } } : . : : . : 0 : . : . . : . 15
    ملخص الفصل ....... 19
    مسائل . . . . . . . . .. . .. ... ..... ..... 19
    تمارين نظرية .......... 23
    اختبارات ذاتية في المسائل والتمارين . . . . . . . . . . . . . . . . 26
    الباب الثاني. مسلمات الاحتمالات 29
    2.1 مقئمة. . . . . . .. .. ..... ..... 29
    2.2 فراغ العينة و الحوادث ..... ...... ...... 29
    2.3 مسلمات الاحتملات . . . . . . . . . . .. ... ...... 35
    2.4 بعض المبرهنات البسيطة ..... ...... . . 38
  3. فراغات العينة بتائح متكافة الفرص . . . . . . . . . . .. . . . . 44

arabic-toc-numbers

tessdata_best

كلمة المترجم
تقديم الكتاب
الباب الأول. التحليل التوافقي 1
1 مقلمة..... مام .امم مم .امي .1
2 يدا الأماني للعد تيتا متيل 20
3 الباديل يي 4
4 التوافيق لام م .م م يي 6
5 معاملات كثيرات الحدود 11
“1.6 عد الحلول الصحيحة للمعادلات .ايا ا ل 15
ملخص الفصل ااا 19
مسائل ...تت ...ل تت م يل 19
تمارين نظرية يني ليلل 23
اختبارات ذاتية في المسائل والتمارين . .اا ل 00 0.2000 26
الباب الثاني. مسلّمات الاحتمالات 29
1 مقلمة ا تلت تت تت لت تت .تت يي 29
2 فاغ العينة و الحوادث بي تت .م تت م ل .يل 29
3 مسلمات الاحصالات تت تت م م م لما 35
4 بض المبرهنات البسيطة مت . .م م م يي 38
5 فاغات العينة بتائج متكاففة القرضص ااا ااا 44

@Shreeshrii
Copy link
Collaborator Author

Shreeshrii commented Feb 25, 2019

Fixed via #2270

Here is the display of OCRed output in notepad++ in RTL view.

arabic-toc-ocr-notepad

Original image is linked at #2263 (comment)

@Shreeshrii
Copy link
Collaborator Author

See #2270 (comment) for links to test image with numbers at beginning, middle and end of line and OCR results.

Thanks @amitdo for reviewing.

@mohdbm
Copy link

mohdbm commented Nov 12, 2020

@Shreeshrii
I would like to participate in finetuning Arabic recognition in tesseract5, how can I contact you, since I need your help in helping me understanding how I can finetune and train tesseract, how can I generate a training set, and many other questions... Thank you

@mohdbm
Copy link

mohdbm commented Nov 12, 2020

since when I tried to recognize the above image using standard tesseract v5.0.0.20190623, using Arabic language only, I achieved the below result:
image

@mohdbm
Copy link

mohdbm commented Nov 12, 2020

so I would like to get from you the knowledge on how to use the finetuned data to:

  1. recognize Arabic punctuation
  2. recognize Arabic-Indic Digits
  3. working to include more fonts

@Shreeshrii
Copy link
Collaborator Author

Shreeshrii commented Nov 12, 2020 via email

@MostafaAbdElRasoul
Copy link

Fixed via #2270

Here is the display of OCRed output in notepad++ in RTL view.

arabic-toc-ocr-notepad

Original image is linked at #2263 (comment)

I tried ara.traineddata , Arabic.traineddata and ara-Amiri.traineddata all don't have the Arabic (Indian) numbers but have the normal (English) numbers

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants