emLem - szótövesítő

Az eszközről

Mire jó? Mit csinál?

A morfológiai elemző az egyes morfémák szintjéig menő részletes elemzést ad az egyes szóalakokra: a toldalékok azonosításán túl összetételi tagokra bontja a szót, képzőket azonosít. A morfológiai elemzés eredményét felhasználó modulok többsége számára nincs szükség ilyen részeletes elemzésre. Elegendő az adott szóalak szótári alakjának, szófajának és inflexiós jegyeinek (jel, rag) azonosítása. A tövesítő eszköz feladata, hogy a morfológiai elemző részletes elemzéseiből kiszámolja a szó tövét, (képzőt tartalmazó szó esetén) annak eredő szófaját, azonosítsa az inflexiós jegyeket, és a részletes elemzés helyett (illetve mellett) ezeket adja vissza.
A morfológiai elemző gyakran ugyanazon szóalakhoz több különböző részletességű elemzést készít, amelyeknek szótöve, szófaja, inflexiós jegyei azonosak. Ennek az az oka, hogy az elemző tőtára számtalan morfológiailag komplex, összetett, illetve képzett lexikalizált elemet tartalmaz. Az elemző ugyanakkor ezeknek az alakoknak nagy részét produktívan is előállítja. A lemmatizálást követően ezek a valódi vagy látszólagos többértelműségek megszűnnek, így a tövesítő kimenete jóval alkalmasabb az olyan feladatok támogatására, mint a szófaji egyértelműsítés, a tulajdonnév-felismerés vagy a szintaktikai elemzés.

Mi a bemenet?

A tövesítő bemenete a morfológiai elemzés eredménye. A tövesítéshez szükség van a szót alkotó egyes morfok felszíni és lexikai alakjára (csak tövek és képzők esetén), illetve a hozzá tartozó morfoszintaktikai címkére.

Mi a kimenet?

A részletes morfológiai elemzésből állítja elő a tövesítő a szótövet, szófajcímkét és inflexiós jegyeket tartalmazó egyszerűsített elemzést.

Egy példa a működésre.

A morfológiai elemzés kimenete:

fejetlenséget
1. fej[/N]etlen[_Abe/Adj]ség[_Nz_Abstr/N]et[Acc]
2. fej[/V]etlen[_NegPtcp/Adj]ség[_Nz_Abstr/N]et[Acc]
3. fej~etlen[/Adj]ség[_Nz_Abstr/N]et[Acc]
4. fej~etlen~ség[/N]et[Acc]

[/N] főnév
[/Adj] melléknév
[_Abe/Adj] névszói fosztóképző (eredménye: melléknév)
[Acc] tárgyeset (accusativus)
[_Nz_Abstr/N] absztrakt tulajdonságnév-képző (eredménye: főnév)
[_NegPtcp/Adj] igei fosztóképző (eredménye: melléknév)

A lemmatizáló a fenti elemzésekből az alábbi egyetlen egyszerűsített elemzést állítja elő:
fejetlenség[/N][Acc]

Az ebben megmaradó szemantikai többértelműséget (a 'fej' alak igei vagy főnévi értelmezésétől függően) a morfológiai elemzés (és a szófaji egyértelműsítés) szintjén nem lehet feloldani.


Fejlesztőknek

Fejlesztőknek

Forrás https://github.com/dlt-rilmta/hunlp-GATE/tree/master/Lang_Hungarian/resources/hfst
Emellett az adott platformon működő hfst-lookup programot le kell tölteni az http://apertium.projectjj.com oldalról.
Forrásnyelv Eredetileg C++ nyelven íródott, ezt Javára lett portolva, a Helsinki Finite-State Transducer (HFST) eszközkészlet részét képező hfst-lookup programot hívja meg, ennek elemzéseiből állítja elő a kimenetét.
Input formátum Unicode kódolású szöveg. Soronként egy szó.
Output formátum A bemeneti szó elemzéseit (soronként egy) üres sor zárja. Az egyes elemzések alakja: bemeneti szó [tab] részletes elemzés [tab] lemma [tab] szófaj és inflexiós címkék.
Futtatás java -jar hfst-wrapper.jar
Licenc GNU Lesser General Public License (LGPL v3)
Egyebek A lemmatizáló futtatásához Java JRE futtatókörnyezetre van szükség. Emellett a HFST eszközkészlet hfst-lookup programját használja, ezért ezt és az elemző bináris lexikonát a lemmatizáló mellett el kell helyezni. A lemmatizáló konfigurációját a hfst-wrapper.props fájl tartalmazza.