Automatický diakritikovač pre online dokumenty

Nechcete [stat] sami vo vetre? Vyhnite sa trapasom bez diakritiky!

Kvôli pandémii sa výrazne urýchlil presun kancelárskej práce do virtuálneho priestoru. Pre zlepšenie efektivity sme zvyknutí pracovať kolaboratívne a online. Pri písaní v slovenčine niekedy kvôli rýchlosti alebo pohodlnosti píšeme bez diakritiky. Text bez diakritiky je však menej čitateľný, môže spôsobiť nedorozumenia alebo môže pôsobiť neprofesionálne. 

V KInITe sme fascinovaní automatickým spracovaním prirodzeného jazyka (NLP, z angl. Natural Language Processing). Skúmame, ako ho neustále vylepšovať, pričom sa zameriavame na rôzne úlohy, ako napr. analýza sentimentu, určovanie sémantickej podobnosti textov či modelovanie jazyka. 

Jednou z menších úloh NLP je aj obnova (alebo tiež doplňovanie) diakritiky, ktorá je v úzadí aj preto, že nepredstavuje zásadný problém pre veľké svetové jazyky ako je napr. angličtina. Nás na Slovensku sa však tento problém týka. Keď potrebujeme mať dokumenty v reprezentatívnom stave, nechceme, aby nám doplňovanie diakritiky trvalo večnosť.

Úloha automatickej obnovy diakritiky je vo svojej podstate úlohou predikcie ďalšieho znaku na základe predchádzajúcich (niekedy aj nasledujúcich) slov alebo znakov (tzv. kontextu). V KInITe sme vytvorili diakritikovač založený na modeli obojsmernej dvojvrstvovej rekurentnej neurónovej siete, ktorý sme natrénovali na veľkom množstve slovenských textov [1]. Náš model sa naučil dopĺňať a odstraňovať diakritiku ich “prečítaním”.

Zaujímalo nás, ako sme na tom v porovnaní s ďalšími existujúcimi riešeniami, a preto sme náš diakritikovač vedecky overili.

V súčasnosti už existujú viaceré riešenia, ktoré dosahujú vyššiu úspešnosť (založené napr. na veľkých neurónových jazykových modeloch). Ich zlepšenie o pár desiatok či stotín percent je však často na úkor vyššej výpočtovej a pamäťovej zložitosti, čo sa v praxi môže odraziť do vyššej spotreby energie a väčšej ekologickej záťaže. Naša metóda doplňovania diakritiky pomocou kompaktnejšieho modelu je v tomto ohľade šetrnejšia.


V KInITe sme diakritikovanie nepoňali len ako vedecký experiment. Vyvinuli sme praktický nástroj určený pre každého, kto pracuje s dokumentami v online prostredí. Predstavujeme Diakritikovač. Je to tzv. doplnok pre Google dokumenty pre rýchle a automatizované doplňovanie aj odstraňovanie diakritiky v slovenských online dokumentoch. Všetky potrebné informácie o tejto šikovnej pomôcke nájdete na tejto stránke: diakritikovac.kinit.sk.

Veríme, že vďaka rýchlej inštalácii a jednoduchému používaniu si nájde mnoho fanúšikov aj mimo KInITu. Špeciálnu pozornosť sme venovali aj ochrane osobných údajov a posúdeniu z pohľadu etiky. Diakritikovač je úplne zadarmo dostupný pre verejnosť.

Mimochodom, automatizované obnovenie diakritiky môžeme využiť aj ako medzikrok pre ďalšie spracovanie a analýzu textu, keďže prítomnosť diakritiky v texte môže výrazne ovplyvniť význam textu, a napomôcť jeho lepšiemu porozumeniu v iných úlohách spracovania textu.

PS: Tento príspevok bol napísaný bez diakritiky, ktorá bola doplnená pomocou KInIT Diakritikovača. Pomýlil sa len v dvoch slovách zo 437 🙂

[1] Náplava, Jakub; Straka, Milan; Hajič, Jan and Straňák, Pavel, 2018, Corpus for training and evaluating diacritics restoration systems, LINDAT/CLARIAH-CZ digital library at the Institute of Formal and Applied Linguistics (ÚFAL), Faculty of Mathematics and Physics, Charles University, http://hdl.handle.net/11234/1-2607.