ДигиТекс је вишеплатформна апликација за дигитализацију докумената на српском језику, заснована на оптичком препознавању карактера и језичким моделима за српски језик.
Документ који је предмет дигитализације се најпре трансформише у слику помоћу Поплера, док је за препознавање текста на слици задужен Гугл Тесеракт. Коначно, текст се обрађује језичким моделом за српски језик, што омогућава прецизније одређивање вероватноће сваке речи у контексту, као и аутоматско исправљање лоше рашчитаног текста.
Дигитекс се може покретати као Фласк веб апликација на рачунарима са различитим оперативним системима, за шта је неопходно инсталирати Пајтон 3.12, или се може скинути и покренути компајлована верзија која у себи садржи неопходан софтвер (за Виндоус оперативне системе).
- Учитавање докумената припремљених у виду јединствене ПДф датотеке или ЗИП датотеке са сликама страна;
- Датотека се у сваком случају претвара у низ слика, које се аутоматски побољшавају (препознавање и уклањање артефакта, увеличавање, исправљање неповољне ротације);
- Преузимање парова оригиналних и побољшаних слика путем интерфејса.
- Групно (булк) процесирање - bulk.py
- Одабир модела за оптичко препознавање карактера: српска ћирилица, српска латиница, ћирилица + латиница (подразумевано);
- Оптичко препознавање на клик, паралелно на процесору, са аутоматским препознавањем броја језгара/нити за оптималну брзину.
- Рашчитани документ (у ХОЦР) формату се препроцесира, при чему се за сваки параграф одређује припадност по ступцима, маргине и поравнање, а те информације се уграђују у документ;
- За речи у документу се такође утврђују позиције и одређују маргине, како би се пронашли кандидати за спајање прелома;
- Препознате преломљене речи се аутоматки спајају;
- Упаривање препознатог текста са сликама.
- Речи из документа се класификују према поузданости рашчитавања, а непоуздани кандидати се додатно проверавају у контексту, како би се израчунале нове поузданости тачности;
- Непоуздане речи се процесирају у максималном контексту како би се произвели могући кандидати за исправак. Кандидати се упоређују са оригиналном ниском, како би се одабрао адекватан исправак, уколико постоји;
- Излаз језичког модела се комбинује са оригиналним документом, при чему се он обогаћује информацијама о новим вероватноћама и евентуалним исправкама.
- Документ се током обраде учитава у интерфејс страну по страну;
- Пре приказивања, интерфејс обогаћује документ додатним кућицама (по једна за сваки параграф и сваку линију), које омогућавају групну обраду са неколико функција: померање горе доле, брисање и обележавање као добро препознато;
- Исправљене речи обележене су плавом бојом, несигурне жутом, а параграфи који се не уклапају ни у један ступац црвеном бојом, при чему је кроз интерфејс могуће подесити граничну вероватноћу за обележавање као и сатурацију маркера;
- Свака проверена (кликнута) реч се обележава као исправна;
- Речи се могу директно исправљати, при чему су исправке обележене зеленом бојом;
- Верзије измена (undo и redo)
- Проналажења дела текста на оригиналној слици
- Замена текста сликом
- Уметање преломних тачака у документу
- У сваком тренутку се документ може сачувати, и у сваком тренутку се може учитати претходно сачувани документ;
- Документ се поред чувања у овом, ДигиТекс формату, може сачувати и као текст или ХТМЛ.
- модел који ће се корисити и његова архитектура [model и modern]
- форсирање рада модела на процесору [cuda]
- максимални контекст и паралелна обрада модела [context_size и batch_size]
- минимална поузданост за ОЦР и за комбиновану поузданост (ОЦР + језички модел)[min_conf_combined и min_conf_ocr]
- индекс минималне сумње у позуданост језичког модела[reasonable_doubt_index]
- праг перплексности за израчунавање веорватноћа [max_perplexity]
- префикс и суфикс који се лепи на текст који се обрађује [prefix и suffix]
- тежина сличности речи по дужини [len_sim_weight]
- тежина сличности речи по садржају [sim_weight]
- тежина сличности речи по типографским сличностима слова [mapped_sim_weight]
- максимална дужина за израчунавање сличности по дужини [max_len_similarity]
- количник повећања вероватноће при исправљању уобичајених грешака (usual_suspects.json) [usual_suspects_boost]
- индекс утицаја језичког модела на вероватноћу појединих речи [lm_influence]
- индекс поузданости преко које језички модел исправља речи [lm_fix_over]
- листа валидних бројева ступаца [valid_columns]
- подешавања ХТМЛ излаза [html_config]
- CSS-а за ХТМЛ приказ [css]
- регуларни израз за поделу документа на делове [insert_break_regex]
- порука у конзоли након преламања [break_message]
- регуларни изрази и DOM упити за доделу посебних класа [special_classes]
Скините прекомпајловану апликацију доступну на Гитхаб репозиторијуму софтвера и покрените програм на вашем рачунару.
-
Преузмите апликацију у целости и сачувајте је на вашем рачунару.
-
Инсталирајте Пајтон интерпретер (препоручена верзија 3.12)
-
У командној линији подесите радно окружење на директоријум у којем је похрањен преузети софтвер
cd ./direktorijum/digiteks/softvera- Инсталиратје неопходне Пајтон пакете
pip install -r requirements.txt-
Преузмите инсталацију пакета tesserocr за вашу верзију Пајтон интерпретера на овој адреси
-
Инсталирајте преузети пакет (tesserocr)
pip install <путања/преузетог/пакета/име>.whl- Покрените апликацију
python main.py-
Преузмите апликацију у целости и сачувајте је на вашем рачунару.
-
Инсталирајте Пајтон интерпретер (препоручена верзија 3.12)
-
У командној линији подесите радно окружење на директоријум у којем је похрањен преузети софтвер
cd ./direktorijum/digiteks/softvera- Инсталиратје неопходне Пајтон пакете
pip install -r requirements.txt- Инсталирајте Tesseract
sudo apt-get install tesseract-ocr libtesseract-dev libleptonica-dev pkg-config- Инсталирајте Poppler
sudo apt-get install -y poppler-utils- Инсталирајте пакет (tesserocr)
pip install tesserocr- Покрените апликацију
python main.py-
Преузмите апликацију у целости и сачувајте је на вашем рачунару (нпр. у директоријуму var/www/digiteks).
-
Инсталирајте Пајтон интерпретер (препоручена верзија 3.12)
-
У командној линији подесите радно окружење на директоријум у којем је похрањен преузети софтвер
cd ./direktorijum/digiteks/softvera- Инсталиратје неопходне Пајтон пакете
sudo -H pip3 install -r requirements.txt- Инсталирајте Tesseract
sudo apt-get install tesseract-ocr libtesseract-dev libleptonica-dev pkg-config ffmpeg libsm6 libxext6- Инсталирајте Poppler
sudo apt-get install -y poppler-utils- Инсталирајте пакет (tesserocr)
sudo -H pip3 install tesserocr- Инсталација и подешавање apache веб сервера
sudo apt install apache2
apache2 -v
sudo apt-get install libapache2-mod-wsgi-py3
sudo a2enmod rewrite
sudo a2enmod wsgi
sudo nano /etc/apache2/sites-available/digiteks.confУ конфигурациону датотеку упишите:
<VirtualHost *:5001>
WSGIDaemonProcess digiteks user=www-data group=www-data threads=5
WSGIScriptAlias / /var/www/digiteks/digiteks.wsgi
<Directory /var/www/digiteks>
WSGIProcessGroup digiteks
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from 127.0.0.1 ::1/128 <ADRESA SERVERA>
</Directory>
</VirtualHost>
sudo nano /etc/apache2/ports.conf
Listen 5001Урадите неопходно ажурирање и рестарт сервиса
sudo a2ensite digiteks
sudo service apache2 restartи апликација ће бити покренута и доступна на порту 5001
python bulk.py <путања_до_директоријума_са_датотекама> -j <језик_за_ОЦР> -i <тип_излаза>
- путања_до_директоријума_са_датотекама је обавезна, а обрађују се све ПДФ датотеке и слике пронађене у директоријуму
- језик_за_ОЦР (j) није обавезан а подразумевана вредност је "srp+srp_latn+eng". Могуће вредности су:
- "srp+srp_latn+eng"
- "srp_latn+srp+eng"
- "srp"
- "srp_latn"
- "eng"
- "equ"
- тип_излаза (i) није обавезан а подразумевана вредност и тренутно једина опција је "hocr".
- Додатна унапређења у виду бољег препознавања текста и структуре документа.
