A számítógépes szövegértelmezés matematikai alapjai az 1960-as évek vektortér-modelljeire nyúlnak vissza, de az igazi áttörést a mély neurális hálók alkalmazása hozta meg az elmúlt évtizedben. A mai NLP rendszerek rendkívül összetett, többmillió paraméteres modelleket alkalmaznak, amelyek képesek a szöveg jelentésének finomságait is visszaadni.
Szóbeágyazások t-SNE vizualizációja 19. századi irodalmi szövegekből. A közel elhelyezkedő pontok szemantikailag hasonló szavakat jelölnek. Forrás: Wikimedia Commons (CC BY-SA 4.0).
Vektortér-modellek
A legkorábbi számítógépes szövegértelmezési módszerek a dokumentumokat számos dimenziós vektorokban ábrázolták, ahol minden dimenzió egy szónak felel meg, értéke pedig a szó előfordulásának mértékét tükrözi.
TF-IDF
A Term Frequency–Inverse Document Frequency (TF-IDF) az egyik legelterjedtebb klasszikus szövegreprezentációs módszer. Lényege, hogy egy szó fontosságát nem csak a dokumentumon belüli előfordulási gyakorisága (TF), hanem a dokumentumgyűjteményen belüli ritkaságának fordítottja (IDF) is befolyásolja.
A TF-IDF jól működik szövegosztályozásra és keresésre, de nem képes megragadni a szavak közötti szemantikai kapcsolatokat — például azt, hogy az „autó" és a „jármű" rokon értelmű kifejezések.
Szóbeágyazások: Word2Vec
A Word2Vec (Mikolov et al., 2013, Google) módszer sűrű, alacsony dimenziós vektorokat — beágyazásokat — rendel minden szóhoz, amelyek a szavak közötti szemantikai kapcsolatokat kódolják. A kulcsgondolat: a hasonló kontextusban megjelenő szavaknak hasonló vektorokkal kell rendelkezniük.
A Word2Vec két architektúrával dolgozik:
- CBOW (Continuous Bag of Words): A kontextusszavakból jósolja meg a célszót.
- Skip-gram: A célszóból jósolja meg a kontextusszavakat.
A Word2Vec beágyazásokkal valóban elvégezhető a közismert vektoros „királyság − király + nő ≈ királynő" analógiaszámítás, ami azt mutatja, hogy a szemantikai kapcsolatok a vektortérben geometriailag is megjelennek.
A Word2Vec egyik korlátja, hogy minden szóhoz egyetlen statikus vektort rendel, függetlenül a kontextustól. A „bank" szó azonos vektort kap a „folyópart" és a „pénzintézet" értelmében is.
Kontextusfüggő reprezentációk
ELMo
Az ELMo (Embeddings from Language Models, Peters et al., 2018, AllenNLP) az első széles körben ismert kontextusfüggő beágyazási módszer. Mélyrétegű kétirányú LSTM-et alkalmaz, amelynek közbenső rétegei különböző szintű kontextuális információkat kódolnak.
BERT
A BERT (Bidirectional Encoder Representations from Transformers, Devlin et al., 2018, Google AI) az NLP terület egyik mérföldköve. Transformer kódolóra épül, és kétirányú kontextust vesz figyelembe — a szó előtt és után megjelenő szövegrészt egyaránt. A BERT előtanítása két feladaton alapul:
- Masked Language Modeling (MLM): A szöveg szavainak véletlenszerű elfedése, és azok jóslása a kontextusból.
- Next Sentence Prediction (NSP): Annak megítélése, hogy két mondat egymás után következik-e az eredeti szövegben.
A Transformer architektúra
A Transformer (Vaswani et al., 2017) az önfigyelmi mechanizmusra (self-attention) épül. Az önfigyelem lehetővé teszi, hogy a modell az egész bemeneti szekvencia bármely pozícióját figyelembe vegye, amikor egy adott token reprezentációját számítja — hatékonyan kezelve a hosszú távolságú függőségeket, amelyek az LSTM-ek számára nehézséget jelentetek.
Figyelmi mechanizmus (attention)
Az attention mechanizmus lényege, hogy a szöveg minden szava „rákérdezhet" a többi szóra, és az eredeti bemeneti szekvencia súlyozott kombinációját kapja vissza. Három vektort definiálunk:
A multi-head attention ennek párhuzamos, több „fejjel" futtatott változata, amely különböző típusú kapcsolatokat tud egyszerre kódolni.
Magyar nyelvű modellek
A magyar NLP közösség az elmúlt években több nyilvánosan elérhető modellt tett közzé:
- HuBERT — a SZTAKI-HLT által fejlesztett magyar BERT modell, a Hugging Face-en elérhető (SZTAKI-HLT/hubert-base-cc).
- NYTK-NerKor modellek — névelem-felismerésre és szövegcímkézésre finomhangolt változatok.
- mBERT — a Google többnyelvű BERT modellje, amely 104 nyelvet kezel, köztük a magyart is, bár a specifikusan magyarral tanított modelleknél gyengébb teljesítménnyel.
Értékelési módszerek
Az NLP modellek teljesítményének mérésére több szabványos metrikát alkalmaznak:
- Accuracy: A helyesen besorolt minták aránya. Kiegyensúlyozatlan adathalmazon félrevezető lehet.
- F1-score: A pontosság (precision) és a teljesség (recall) harmonikus közepe. Kiegyensúlyozatlan osztályok esetén megbízhatóbb.
- BLEU-score: Gépi fordítás értékelésére. Az automatikusan előállított fordítás és a referenciafordítás n-gram egyezését méri.
- Perplexity: Nyelvmodellek értékelésére. Azt méri, mennyire „meglepő" a teszt szöveg a modell számára — alacsonyabb érték jobb modellt jelöl.
Összegzés
A szövegértelmezési algoritmusok fejlődése a statisztikai vektortér-modellektől a kontextusfüggő, milliárdos paraméteres Transformer modellekig tartott. Minden réteg — TF-IDF, Word2Vec, BERT — a ráépülő alkalmazási réteget is meghatározza: a módszer kiválasztása az adott feladat méretétől, az elérhető tanítóadatoktól és a számítási kapacitástól függ. Magyar nyelven a morfológiai sajátosságok kezelése az algoritmus kiválasztásának is részét képezi.