Greynir

Hvers konar
greinir er það?

Greynir (já, með y!) er máltæknivél Miðeindar. Hann er hjartað í flestum öðrum vörum fyrirtækisins. Greynir kann að vinna með íslenskan texta, með öllum sínum fallbeygingum, samsettu orðum, frjálslegu orðaröð og flóknu málfræði. Hann er skrifaður í forritunarmálinu Python 3 og keyrir á öllum helstu stýrikerfum.

Greynir er opinn og ókeypis hugbúnaður sem nýta má undir GNU GPLv3 leyfi. Ef þú vilt nota Greyni í lokuðum hugbúnaði þá erum við sveigjanleg í samningum um slíkt.

Greynir

Tungumál, talað og skrifað, er samskiptamáti okkar mannanna, og hefur raunar gagnvirk áhrif á það hvernig við hugsum. Það hefur því löngum verið eftirsótt markmið að tölvur geti átt samskipti við okkur á eðlilegu, náttúrulegu máli. Þá er átt við að þær „skilji“ ritmál og talmál sem frá mönnum kemur, og geti svarað okkur til baka með rödd eða a.m.k. rétt formuðum texta.

Til að vinna með texta í tölvum þarf margvísleg hugbúnaðarverkfæri. Samfelldum texta þarf að skipta upp í málsgreinar; aðskilja þarf orð, tölur, dagsetningar, greinarmerki og aðra tóka (tokens); fletta þarf upp hverju orði og athuga hvaða orðflokki og beygingarmyndum það tilheyrir; og greina þarf samhengi orðanna og stöðu þeirra í málsgreininni til að fá mynd af því hvað verið er að segja. Þannig má uppgötva, frá sjónarhóli tölvunnar, hvað verið er að spyrja um, biðja um, eða fullyrða.

Málgreinirinn Greynir innifelur allar helstu hugbúnaðareiningar sem þarf til að vinna með íslenskt ritmál. Hann skiptir texta í málsgreinar og tóka og flettir upp orðmyndum í Beygingarlýsingu íslensks nútímamáls (BÍN), sem er innifalin í búnaðinum. Hann notar síðan djúpþáttun (full constituency parsing) til að teikna upp setningatrén, sem lýsa innri gerð og uppbyggingu málsgreinanna. Þegar setningatrén liggja fyrir má draga upp úr þeim spurningar, fullyrðingar, skipanir eða aðrar upplýsingar sem bundnar eru í textanum.

Radd-appið Embla er gott dæmi um það sem hægt er að gera á grundvelli Greynis. Embla notar Greyni til að þekkja og skilja rétt fram settar spurningar á íslensku. Embla nýtir Greyni einnig til að sjá til þess að svör séu málfræðilega rétt, til dæmis að nafnliðir (svo sem nöfn stoppistöðva strætó) séu í réttum föllum.

Greynir getur meðal annars nýst í verkefni sem tengjast hvers konar upplýsingaheimt úr texta, leitarvélum, tölfræði úr textum og upprunagreiningu, yfirferð texta m.t.t. málfræði, málnotkunar og stíls, spjallmennum (chatbots), fyrirspurnakerfum, raddviðmótum, umfjöllunar- og viðhorfsgreiningu (sentiment analysis) o.m.fl. Þá má nýta hann við undirbúning málheilda sem notaðar eru til að þjálfa djúp tauganet.

Hægt er að nálgast frumforrit Greynis og skjölun hans á GitHub. Greynir skiptist nánar til tekið í Python-pakka sem innihalda annars vegar tókara (Tokenizer), og hins vegar þáttara (ReynirPackage). Þeim til viðbótar er vefforrit með fyrirspurnakerfi (Greynir).

Nánar er fjallað um tæknina að baki Greyni í greininni A Wide-Coverage Context-Free Grammar for Icelandic and an Accompanying Parsing System eftir Vilhjálm Þorsteinsson, Huldu Óladóttur og Hrafn Loftsson (Proceedings of Recent Advances in Natural Language Processing, pp. 1397–1404, Varna, Bulgaria, Sep 2–4, 2019).