Tokenizáció: A szöveg felbontásának folyamata
A tokenizáció az NLP első és egyik legkritikusabb lépése. Ebben a fázisban a nyers szöveges adatot kisebb, kezelhető egységekre, úgynevezett tokenekre bontjuk. Ezek a tokenek lehetnek szavak, írásjelek vagy akár szórészletek (sub-words) is. A modern rendszerek, mint amilyeneket az érdi projektekben is alkalmazunk, gyakran a Byte Pair Encoding (BPE) módszert használják.
A tokenizáció lépései:
- Normalizálás: A szöveg egységesítése (kisbetűssé alakítás, felesleges szóközök eltávolítása).
- Szegmentálás: A mondatok határainak kijelölése a szövegkörnyezet alapján.
- Token generálás: A szavak felosztása a szótárban szereplő elemekre.
- Indexelés: Minden egyes tokenhez egy egyedi numerikus azonosító hozzárendelése.
Vektoros ábrázolás és beágyazások
Mivel a számítógépek nem értenek a szavak nyelvén, minden tokent egy többdimenziós térben elhelyezkedő vektorrá kell alakítanunk. Ezt nevezzük Word Embedding-nek. Ebben a térben a hasonló jelentésű szavak (például "autó" és "jármű") közel kerülnek egymáshoz. Ez teszi lehetővé a matematikai műveletek elvégzését a nyelvi elemeken.
Statikus beágyazások
Word2Vec vagy GloVe modellek, ahol egy szónak egyetlen fix vektora van a kontextustól függetlenül.
Kontextuális beágyazások
BERT vagy GPT alapú modellek, ahol a vektor változik attól függően, hogy a szó milyen környezetben szerepel.
A Transzformer architektúra felépítése
A transzformerek forradalmasították az NLP világát 2017-ben az "Attention is All You Need" publikációval. A legfontosabb újítás a "Self-Attention" mechanizmus, amely lehetővé teszi a modell számára, hogy egy mondaton belül súlyozza a szavak közötti kapcsolatokat, függetlenül azok távolságától.
A transzformer modell Encoder-Decoder struktúrájának egyszerűsített vázlata.
Műszaki szójegyzék
Inference: Az a folyamat, amikor a már betanított modell valós adatokat kap, és jóslatokat vagy elemzéseket végez.
Fine-tuning: Egy előre betanított modell (pl. Llama-3) továbbképzése egy specifikus adathalmazon, például tisztított helyi szövegeken.
Context Window: Az a maximális tokenszám, amit a modell egyetlen művelet során képes figyelembe venni (pl. 8k, 32k vagy 128k token).