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

Письмо от Александра Строганова #3

Open
gasyoun opened this issue Nov 22, 2017 · 18 comments
Open

Письмо от Александра Строганова #3

gasyoun opened this issue Nov 22, 2017 · 18 comments

Comments

@gasyoun
Copy link
Owner

gasyoun commented Nov 22, 2017

Необходимо решить проблему опознания графических символов для http://www.buddism.ru/ocr/.
За счет программы мы сможем распознать те символы которые будут в шрифтовой таблице.
Можете прислать шрифтовую таблицу в формате RTF или DOC для Word 97?

Однако некоторые буквы по-прежнему не удается найти в таблице и присвоить им значение Юникода.
Без этого мы сможем их распознать только как знак вопроса с порядковым номером.

Есть несколько решений этой проблемы.

  1. Найти текст набранный таким же шрифтом как и Панчатантра и для которого есть набранный и проверенный текст. Это позволит занести в таблицу распознавания все буквы которые есть в этом тексте.

Текст набран частично, с разными вкраплениями, кпд сомнительное.

  1. Проверка распознаваемого текста и замена знаков вопроса на корректные буквы тем кто знает эти начертания и может их опознать.
    В этом случае можно восстановить значение слова и угадать букву по слову в словаре. Поскольку необходимо опознать только лигатуры которых нет в таблице, мы сможем пополнить таблицу недостающими начертаниями лигатур. Для 96-97% точности распознавания нужно проверить около 25 страниц.

Сперва все же давайте занесем 807 лигатур Штиля.
https://www.dropbox.com/s/on106ihxufim27o/Santipur-807-Ligaturen.doc?dl=0
https://www.dropbox.com/s/mbqpmqwghl78e2z/Santipur-807-Ligaturen.pdf?dl=0

https://www.dropbox.com/s/tn93mwdcownjnmh/Siddhanta-807-Ligaturen.doc?dl=0
https://www.dropbox.com/s/kgieaqyxv34abqs/Siddhanta-807-Ligaturen.pdf?dl=0

После попросим https://renuvate.livejournal.com взглянуть, но пока - рано.

  1. Мы можем сделать папку с изображениями проблемных букв. Необходимо будет назвать каждый файл с изображением буквы корректным значением Юникода или приложить текстовой файл.
    По предварительным оценкам нужно назвать около 100 букв начертание которых не удалось найти в таблице.

А вот это, пожалуй, можно попробовать. Только для лигатур нет отдельных юникодных значений, это же конструктор?

  1. Опубликовать таблицу неизвестных букв в группе и надеяться что кто-либо из участников из назовет.

Хуже вариант, но давайте начнем.

  1. Подождать пока мы продвинемся с алгоритмом динамической классификации. Это позволит составить полную таблицу повторяющихся букв книги.
    Далее таблицу все равно нужно будет один раз заполнить вручную корректными значениями юникода.

Не вижу смысла ждать.

  1. У нас есть полный список лигатур из корпуса GRETIL в формате Юникод (в приложении). Можно перевести этот лист в различные кодировки и попробовать найти нужные лигатуры в различных шрифтах.
    Есть ли у вас такой конвертер?

Конвертеров море, не совсем пойму, чем это поможет. В частности http://samskrtam.ru/devanagari-translit-batch/

Образец распознанной страницы из хертелевской Панчатантры:

_page_081

अनु च । च्यै
प्रसन्नवदनो हष्टः स्पष्टो वाचा सरोषदृक् ।
सभायां वक्ति मामर्षः माव?म्मो नरः शुचिः ।।९५४ ।।
तद् एष टुष्टचारिन्नो दृश्यते । स्त्रीधर्षणाद् वध्य इति ?ऌायाम्
आरोप्यताम् इति ।
अथ तं वध्यस्थानं नीयमानम् आऌोक्य देवशर्मा तान्
धर्माधिकृतान् गत्वा प्रोवाच । भोः अत्यायेनैष वराको नापितो
वध्यते माधुसमाचारः । तच् छ्रूयतां मम वाक्यम् ।
जम्बुको हुडयुइेन वयं चाषाढभूतिना ।
दूतिका परकार्येण न्नयो दोषाः स्वयंकृताः ।।९५५ ।।
अथ ते सभ्यम् तम् ?चुः । भो भगवन् कथम् एतत् । ततश्
च देवशर्मा तेषां वृ?न्तन्नतम् अयि सवि?रं न्यवेदत् । अथ
तच् छ्रूत्वा ते सर्वे विस्मितमनमो नापितं विमुच्यैवं प्रोचुः ।
अवध्यो ब्रा?णो बाऌः स्त्री तपस्वी च रोगभाक् ।
विहिता व्यङ्गता तेषाम् अपराधे गरीयसि ।।९५६ ।।
तद् अस्या स्वकर्मवशाद् एव नासिकछेदः संवृन्तः । ततो राज
निग्रहः कर्णच्छेदः कर्यः । तथानुष्ठते देवशर्मापि दृष्टन्त?येन
स्वहदयं सस्थाप्य स्वकोयमठायतनम् अगमत् ।।

@RimeOCRLIB
Copy link

Публикую изображение неопознанных букв на сегодня
screen shot 2017-11-22 at 09 26 57
Необходимо назвать каждую букву в кодировке Юникод или ITRANS

@SergeA
Copy link

SergeA commented Nov 22, 2017

по картинкам:
1 क्षि
2 रु
3 न्त
4 ऊ
5 त्र
6 म्बु
7 छ्रू
8 क्ति
9 क्त
10 स्त्री

@SergeA
Copy link

SergeA commented Nov 22, 2017

अनु च । च्यै глюк
प्रसन्नवदनो हृ ष्टः स्पष्टो वाचा सरोषदृक् ।
सभायां वक्ति मा सामर्षः माव?म्मो सावष्टम्भो три ошибки नरः शुचिः ।।५४ ।।
तद् एष टुदुष्टचारिन्नोत्रो दृश्यते । स्त्रीधर्षणाद् वध्य इति ?ऌा शूलायाम्
आरोप्यताम् इति ।
अथ तं वध्यस्थानं नीयमानम् आऌो लोक्य देवशर्मा तान्
धर्माधिकृतान् गत्वा प्रोवाच । भोः अत्यान्यायेनैष वराको नापितो
वध्यते मा सा धुसमाचारः । तच् छ्रूयतां मम वाक्यम् ।
जम्बुको हुडयुइेद्धेन वयं चाषाढभूतिना ।
दूतिका परकार्येण न्नत्रयो दोषाः स्वयंकृताः ।।५५ ।।
अथ ते सभ्यम्सभ्यास् две ошибки तम् ? चुः । भो भगवन् कथम् एतत् । ततश्
च देवशर्मा तेषां वृ?न्तन्नतम्वृत्तान्तत्रयम् три ошибкиयिपि सवि ? स्तरं न्यवेदत् । अथ
तच् छ्रू छ्रु त्वा ते सर्वे विस्मितमनमोसो नापितं विमुच्यैवं प्रोचुः ।
अवध्यो ब्रा ? ह्मणो बाऌःलः स्त्री तपस्वी च रोगभाक् ।
विहिता व्यङ्गङ्गिता तेषाम् अपराधे गरीयसि ।।५६ ।।
तद् अस्या स्याःस्वकर्मवशाद् एव नासिकाछेदः संवृन्तःत्तः । ततो राज
निग्रहः कर्णच्छेदः कार्यः । तथानुष्ठष्ठिते देवशर्मापि दृष्ट ष्टा न्त ? द्वयेन
स्वहृदयं संस्थाप्य स्वकोकीयमठायतनम् अगमत् ।।

@RimeOCRLIB
Copy link

Дорогой SergeA.
От всей души благодарен вам за помощь. Постараемся подготовить таблицу лигатур и таблицу неопознанных букв для следующих страниц книги.
Сарва Мангалам!
Александр.

@SergeA
Copy link

SergeA commented Nov 22, 2017

Ещё раз пробежался по распознанному, заметил ещё несколько промахов OCR:
в 3-й строке माव?म्मो = सावष्टम्भो (3 ошибки)
в 8-й माधुसमाचारः = साधु ...
в 13-й छ्रूत्वा = छ्रु ...
в 17-й दृष्टन्त?येन = दृष्टा ...
(также впишу выше)

Ещё заметил ошибку автора, который непоследовательно пишет नासिकाछेदः и कर्णच्छेदः, тогда как в обоих словах должно быть либо छ, либо च्छ. Но это уже из другой оперы.

@SergeA
Copy link

SergeA commented Nov 22, 2017

Помимо перепуток похожих букв (स>म, भ>म и пр.) обращают на себя внимание ошибки алгоритма с потерей элементов:

  1. потеря черты долгой ā ा (सभ्यास् , नासिकाछेदः , कार्यः , दृष्टान्त)
  2. потеря краткой i ि (व्यङ्गिता, तथानुष्ठिते)
  3. потеря анусвары ं (संस्थाप्य)
  4. потеря висарги ः (अस्याः)

Ожидал увидеть ошибки там, где автор сделал пометки галочками, но похоже, что программа их вообще не заметила. Проигнорированы звёздочки и знак переноса, хотя эти значки нередко используются в санскритских книжках наряду с запятыми, скобками, вопросами, восклицаниями и кавычками. Схожий с апострофом знак половинной данды, к сожалению, в юникоде отсутствует. Так что даже при всём желании правильно распознать его не выйдет. Хотя почему бы его не определить как апостроф? В книгах этот значок практически не встречается.

@RimeOCRLIB
Copy link

RimeOCRLIB commented Nov 22, 2017

День добрый.
Предыдущую правку внесли в таблицу, замечания по диактрике учтем.
Можно попросить проверить следующую порцию распознавания с учетом предыдущей правки?
isha_01_


।। अँ ।।
श्नोमच्छङ्करार्यविरचितमाष्ययुता
र्इदाबारयोपानेषत् ।
अँ पूर्णमदः पूर्णमिदं पूर्णात्पूर्णमुदच्यते ।
पूर्णस्य पूर्णमसदाय पूर्णमेवावँशिष्यते ।। अँ शान्तिः शान्तिः शान्तिः ।।
«र्इशा वास्यंः इत्यादयो मन्त्राः कर्मस्वनियु१? तेषासकर्मशेषस्यात्मनी
याथात्म्यप्रकाशकत्वात् । या?त्म्यं चात्मनः शुद्न??वापापविद्न?त्वैकत्वनित्यत्वाश
रीरत्वसर्वगतत्वदि वक्ष्यमाणम् । त?? कर्मणा विरुध्यते इति यु?? एवैषां कर्म
स्वविनियोगः .१।। न ह्यवंल्लक्षमात्मनी याथात्म्यं उ?पा? विकार्य आप्यं
सस्कायं वा क??भोक??रूपं वा येन कर्मशोषता स्यत् सर्वासामुपनिषदां अत्म
याथात्म्यनिरूपणनैवोपक्षयात् ।। २ ।। गीतानां मोक्षघर्माणां चैवं परत्वात् ।
तस्मात् आत्मनः अनेकत्वक??त्वभो??त्वादि च अशुद्न??त्वपापविद्न??त्वादि चोपा-
दात लोकबुद्नि?मिद्नं? ?कर्माणि विहितानि ।।

(१) नह्यवमिति-यः कर्मशेषः स उत्पाघो दृष्टो यथा पुरोडाशादिः । विकर्यः
सोमादिः ।आप्यो मन्त्रादिः । संस्कर्यो व्रोह्यादिः । तदुत्यादिरूपत्वंव्यापक व्यावर्त-
मानमात्मयाथात्म्यस्य कर्मशेषत्वमपि व्यावर्तति । तथाऽऽत्माथात्म्यं कर्तृभोत्तृ च न
भवति । येन ममेदं ससीहितसाचनं ततो मया कर्तव्यमित्यहङ्कारान्वयरःसरः कर्त्रन्वयः
स्यादित्याह-न?वमिति ।
(२) गीतानां सोक्षघर्माणसमिति र्इशावास्यमित्युपक्रम्य सपर्यगाच्छुक्रमित्युपसंहा-
रादनेजदेकं तदन्तरस्य सर्वस्येत्यभयासदर्शना?वा आ?व?पूर्वतामङ्कीनात्को मोहः
कः शोक एकत्वमनुप?यत इति फलवक्तासंकीर्तनात् कुर्ववेन्नेहेति विजीविषोर्मेददर्शिनः
कर्मकरणनुवादेनासुर्यानाम त इति निन्दयैकत्म्यदर्शनस्य रतुतत्वात्कस्मिन्रपो मातरि?वा

@RimeOCRLIB
Copy link

и еще таблица неопознанных букв
screen shot 2017-11-22 at 17 24 21

@RimeOCRLIB
Copy link

Пока точность распознавания 3-4 ошибки на строку. В основном это ошибки расстановки гласных и диакритических знаков. Для точного распознавания нужно написать функцию которая будет проверять местоположение каждого знака по отношению к основной лигатуре и собирать все составные элементы лигатуры. Отладка займет некоторое время, очень благодарен всем за помощь в распознавании согласных и проверку текста.

@SergeA
Copy link

SergeA commented Nov 23, 2017

и еще таблица неопознанных букв

  1. द्ध
  2. плохая печать, вероятно च्च
  3. तृ
  4. क्त

@SergeA
Copy link

SergeA commented Nov 23, 2017

во втором образце много случаев съедания текста (1-2-3-х слогов)
не понимает ॐ ई
теряет ा े
иногда превращает ा в स

।। अँ ।।
श्नो श्री मच्छङ्क रा राचा потерян слог! र्यविरचितमा भा ष्ययुता
र्इ दा शा बा वा रयो स्यो पानेषत् ।
अँ पूर्णमदः पूर्णमिदं पूर्णात्पूर्णमुदच्यते ।
पूर्णस्य पूर्ण मस मा दाय पूर्णमेवा वँ शिष्यते ।। अँ शान्तिः शान्तिः शान्तिः ।।
«र्इ शा वा स्यंः स्यं" неправильно распознана кавычка इत्यादयो मन्त्राः कर्मस्व नियु१? विनियुक्ताः зажёвано полслова तेषा कर्मशेषस्यात्म नी नो
याथात्म्यप्रकाशकत्वात् । या ? था типогр.брак त्म्यं चात्मनः शु द्न??वा द्धत्वा पापवि द्न? द्ध त्वैकत्वनित्यत्वाश
रीरत्वसर्वगत त्व त्वा दि वक्ष्यमाणम् । त ?? च्च कर्मणा विरुध्यते इति यु ?? क्त एवैषां कर्म
स्वविनियोगः .१।। । (१)ह्य ह्ये वंल्ल क्ष क्षण потерян слог मात्म नी नो याथात्म्यं उ ?पा? त्पाद्यं विका र्य र्यं आप्यं
सं स्का यं र्यं वा क ?? र्तृ भो क?? क्तृ रूपं वा येन कर्म शो शेषता स्य स्या त् सर्वासामुपनिषदां त्म
याथात्म्यनिरूप णे नैवोपक्षयात् ।। २ ।। (२) गीतानां मोक्ष र्माणां चैवं परत्वात् ।
तस्मात् आत्मनः अनेकत्वक ?? र्तृ त्वभो ?? क्तृ त्वादि च अशु द्न?? द्ध त्वपापवि द्न?? द्ध त्वादि चोपा-
दा लोकबु द्नि? द्धि मि सि द्नं? ? द्धं कर्माणि विहितानि ।।
(१) न ह्य ह्येवमिति-यः कर्मशेषः स उत्पा घो द्यो दृष्टो यथा पुरोडाशादिः । वि कार्यः
सोमादिः ।आप्यो मन्त्रादिः । सं स्क स्कार्यो व्रो व्रीह्यादिः । तदु त्या त्पाद्याзажёвано दिरूपत्वंव्याप कं व्यावर्त-
मानमात्मयाथात्म्यस्य कर्मशेषत्वमपि व्यावर्तति । तथाऽऽत्मा था याथाзажёвано त्म्यं कर्तृभो त्तृ क्तृ च न
भवति । येन ममेदं ससीहितसा नं ततो मया कर्तव्यमित्यहङ्कारान्व यपुзажёвано रःसरः कर्त्रन्वयः
स्यादित्याह-न ? ह्ये типогр.брак वमिति ।
(२) गीतानां सो मोक्ष र्मा णस णा मिति र्इ शावास्यमित्युपक्रम्य सपर्यगाच्छुक्रमित्युपसंहा-
रादनेजदेकं तदन्तरस्य सर्वस्येत्य भया भ्या सदर्शना ? न्नैनद्देзажёвано वा आ ? प्नु? न्नित्य पूर्वता ङ्की ना र्तनाзажёвано त्को मोहः
कः शोक एकत्वमनुप ?य श्य त इति फलव क्ता त्ता संकीर्तनात् कुर्ववे न्ने न्नेवेзажёвано हेति विजीविषो र्मे र्भेтипогр.брак ददर्शिनः
कर्मकर णा नुवादेनासुर्यानाम त इति निन्दयै का त्म्यदर्शनस्य रतु स्तु तत्वा त्क त्त स्मि न्र न्न पो मातरि ?वा श्वा

@RimeOCRLIB
Copy link

Собрали таблицу лигатур которые встречаются в корпусе текстов GRETIL
Для устойчивого распознавания с точностью выше 90% (это четыре ошибки на строку) нужно написать функцию которая будет проверять местоположение каждого знака по отношению к основной лигатуре и собирать все составные элементы лигатуры.
Эта же функция нужна для других языков.
На время разработки мы можем использовать для распознавания программу Оливера Хельвига одну копию которой он любезно предоставил.
Точность распознавания можно оценить по приложенному образцу распознавания.
Для распознавания вы можете пересылать файлы на бесплатный сервис
http://www.buddism.ru/ocr

@RimeOCRLIB
Copy link

__page_057
संमतो ऽहं विभोर् नित्यम् । इति मत्वा व्यतिव्रजेत् । न कृच्छ्रेष्व अपि मर्यादां । स भवेद् राजवल्लभः वृ ४९ ।
ँद्विधद्वेषपरो नित्यम् । इष्टानाम् इष्टकर्मकृत् । 3 यो नरो नरनाथस्य । स भवेद् राजवल्लभः ।। ४२

  • न कुर्यान् नरनाद्यस्य । यो परिभिः सह संगतिम् ।
    न निन्दां न विवादं च । स भवेद् राजवल्लभः ।। ४३ ।। ८ यो रणं शरणं यद्वन् । मन्यते भयवर्जितः ।
    प्रवासं स्वपुरावासं । स मवेद् राजवल्लभः ।। ४४ ।।
    क्ष्मं यो यमदूताभं । मद्यं हालाहलोपमम् । 9 पह्येद् दारान् यथाकारान् । स भवेद् राजवल्लभः 1४४ तु
    करटक आह । अथ भवासू तव गत्वा प्रथमम् एव किं वक्ष्यति । तत् तावद् उच्यताम् । सो ऽव्रवीत् । '. '४

अयि च ।

उत्तराद् उत्तरं वाक्यम् ' उत्तराद् एव जायते ।
मुवृष्टिगुणसंपव्राद् ' बीजाद् बीजम्दृवाऽपरम् तु ४६ ।।
अपायसंदर्शनजां विपत्तिम्?. उपायसंदर्शनजां च सिद्धिम्।
मेधाविनो नीतिगुणप्रयुक्तां पुरः स्फुरन्तीम् इव दर्शयन्ति ।। ४७७ खश्' '8 कल्पयति येन पृत्तिं ' सदसि च सद्भिः प्रशस्यते येन ।
स गुणसूतेन गुणवता ' विवर्धनीयश्(च रक्ष्यश्(च ४४८ ह .द्वा

अपृष्टम् तस्य तद् ब्रूयाद् । द्यस्य नृचेत् पराभवम्। एष एव सतां धर्मो । विपरीतम् ततो ऽन्यथा ।। ४९1

करटक आह । दुराराध्या हि राजानः । उक्तं च ।.?
भोगिनः कञ्चकासक्ताः । कूराः कुटिलगामिनः ।
सुरौद्रा मनत्रसाध्याश्( च । राजानः पव्रगा इव ५९ म विषमाः कठिनात्मानो । भऽनीचा भनीचजनाश्रयाः । - हिंस्रैर् अनुगता नित्यं । राजानः पर्वता इव! ५५ नखिनां च नदीनां च । शृङ्गिणां शस्त्रधारिणाम् ।
विश्वासो नोपगन्तव्यः । स्त्रीषु राजकुलेषु च ।। ५२ तु
सो ऽब्रवीत् । सत्यम् एतत् । किं तु ।
यस्य यस्य हि यो भावम् । तस्य तस्य हि तं नरः ।
अनुप्रविश्य मेधावी । चिप्रम् आत्मवशं नयेत् ।। प३ ।

Сарва Мангалам!

@SergeA
Copy link

SergeA commented Nov 24, 2017

Я думаю, что работу базового алгоритма лучше отрабатывать не на каких попало сканах, а на специально генерируемых образцах. Можно брать любой текст с того же гретиля в латинице или прописать собственные списки образцов лигатур и т.п., конвертировать в дэванагари, сохранить в картинку с любым из доступных шрифтов, распознать, конвертируется обратно в транслит, сверить с исходником, проанализировать результат. Такой способ не требует постоянного присутствия знатоков языка для выявления ошибок.

@RimeOCRLIB
Copy link

RimeOCRLIB commented Nov 25, 2017

SergeA совершенно верно, это хорошее предложение.
На основании списка лигатур из собрания GRETIL мы можем распознать все лигатуры набранные шрифтами, которые поддерживают сборку данных лигатур. Однако в большинстве текстов которые нужно распознавать используется старые шрифты, начертания многих букв в которых сильно отличаются от современных. Также большая часть лигатур в современных шрифтах не собирается. Одним из решений этой задачи может быть создание двух версий OpenType шрифта Деванагари которые будут содержать полный набор лигатур (около 10 000) и старом и современном написании.
В рамках проекта распознавания тибетского языка мы разработали шрифт и систему скриптов для создания шрифтов с большим количеством лигатур (10 000 для тибетского языка). Этот шрифт мы использовали для обучения программы. На этой основе можно решить задачу полного шрифта Деванагари на основе уже существующих Open Source шрифтов.
Будет большой пользой обсудить сотрудничество в этом направлении.
Сарва Мангалам!

@gasyoun
Copy link
Owner Author

gasyoun commented Nov 29, 2019

С тех пор https://ocr.sanskritdictionary.com/ сделал прорыв. 10 000 лиатур для деванагари нет, но эталонов разных может и 100 000 мало. Сравнивали с современным состоянием указанной тулзы ли @RimeOCRLIB?

@RimeOCRLIB
Copy link

Положение дел на сегодня для OCRLib C++
За три года мы написали новое ядро программы. На основе этого ядра возможно тренировать нейросеть для распознавания рукописного и печатного текста. Постепенно готовим распознавание текстов Открытой Библиотеки Буддийских Текстов. В основном сейчас разбираемся с организационными трудностями. https://ocr.sanskritdictionary.com/ пока не тестировал, сорадуюсь их успехам. Поскольку они не публикуют исходный код то очевидно речь идет о использовании уже существующего кода, например Tesserakt. Одним из наиболее прогрессивных на сегодня является программа Transkribus. Это платный сервис который не публикует исходный код. Поэтому работы еще много.

@gasyoun
Copy link
Owner Author

gasyoun commented Feb 16, 2021

Tesserakt, совершенно верно. Мартин не публиковал код, но всегда можно спросить.

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

3 participants