Mesterséges neurális hálózat felépítése
Mesterséges neurális hálózat felépítésének sematikus ábrázolása – az NLP-modellek alapja. Forrás: Wikimedia Commons

A természetes nyelvfeldolgozás (Natural Language Processing, NLP) az a tudományterület, amely számítógépes módszerekkel elemzi, értelmezi és generálja az emberi nyelvet. A természetes nyelvi megértés (Natural Language Understanding, NLU) az NLP egy részterülete, amely kifejezetten a szöveg mögötti jelentés azonosítására összpontosít.

A chatbotok és virtuális asszisztensek kontextusában az NLU az a réteg, amely meghatározza, mit akar a felhasználó – ezt aztán a párbeszéd-menedzser dolgozza fel tovább.

Az NLP-csővezeték lépései

A szöveg feldolgozása általában több egymást követő lépésen keresztül történik. Ezt a folyamatot nevezzük NLP-csővezetéknek (pipeline):

  1. Tokenizálás – A szöveg kisebb egységekre (tokenekre) bontása
  2. Normalizálás – Kis-nagybetű átalakítás, írásjelek kezelése
  3. Szótő-visszavezetés / lemmázás – A szóalakok visszavezetése alapalakra
  4. Szófajcímkézés (POS tagging) – Névszók, igék, melléknevek azonosítása
  5. Entitáscímkézés (NER) – Tulajdonnevek, dátumok, helyszínek azonosítása
  6. Szándékfelismerés – A mondat kommunikatív céljának meghatározása

Tokenizálás

A tokenizálás a szöveg szavakra, mondatokra vagy kisebb egységekre bontásának folyamata. Az angol nyelvhez képest a magyar tokenizálás összetettebb, mivel az összetett szavak és a ragozás miatt egy-egy token több morfémát is tartalmazhat.

Például: „futóversenyeken" – tokenizáláskor egy token, de morfológiai szinten: fut + ó + verseny + en + (LOC.PLUR)

# Python példa – alapszintű tokenizálás (nltk) import nltk szoveg = "A chatbot a felhasználói kérdéseket értelmezi." tokenek = nltk.word_tokenize(szoveg, language='hungarian') # ['A', 'chatbot', 'a', 'felhasználói', 'kérdéseket', 'értelmezi', '.']

Szótő-visszavezetés és lemmázás

A stemming (szótő-visszavezetés) heurisztikus módszerekkel vágja le a ragokat. Gyors, de nem mindig pontos. A lemmázás morfológiai elemzéssel határozza meg az alaplakot, pontosabb, de számításigényesebb.

Magyar szövegek feldolgozásához a Debreceni Nyári Egyetem és az MTA Nyelvtudományi Intézet fejlesztette emtsv eszközcsomag lemmázási modult is tartalmaz, amely a morfológiai elemzőre épít.

Szófajcímkézés (POS tagging)

A szófajcímkézés minden tokenhez hozzárendel egy grammatikai kategóriát: főnév, ige, melléknév, határozószó stb. Ez az NLU szempontjából azért fontos, mert egy névszói szerkezet nagyobb valószínűséggel entitásjelölt, míg egy igei csoport az action-típusú intentek felismerésénél segít.

Elnevezett entitásfelismerés (NER)

A Named Entity Recognition (NER) azonosítja és kategorizálja a szövegben a megnevezett entitásokat. Tipikus kategóriák:

  • PERSON – személyek neve
  • ORG – szervezetek neve
  • LOC / GPE – helyszínek, városok
  • DATE / TIME – időpontok, időtartamok
  • MONEY – pénzösszegek

A chatbot-kontextushoz illesztett egyedi entitástípusok (pl. termékkód, rendelésszám) tanítása az NLU-motor tréningfázisában történik.

Szándékfelismerő modellek

A modern NLU-motorok szándékfelismeréshez leggyakrabban osztályozó modelleket alkalmaznak. A folyamat:

  1. A szöveget vektor-reprezentációvá alakítja (szóvektorok vagy transzformer-modellek alapján).
  2. Az osztályozó modell hozzárendeli a legvalószínűbb intentet, és egy bizalomszintet (confidence score) ad vissza.
  3. Ha a bizalomszint küszöb alá esik, a fallback mechanizmus aktiválódik.

Szóvektorok (word embeddings)

A szóvektorok olyan numerikus reprezentációk, amelyek megőrzik a szavak szemantikai kapcsolatait. A Word2Vec, FastText és GloVe módszerek a legismertebb ilyen eszközök. Ezekből magyar nyelvű előre betanított modellek is elérhetők, pl. a FastText weboldalán.

Transzformer-alapú modellek

A BERT és utódai (RoBERTa, XLM-R) kontextusfüggő reprezentációkat állítanak elő, és jelentősen javítják a szándékfelismerés pontosságát ambiguózus mondatok esetén is. Magyarspecifikus BERT-modell érhető el a HuggingFace platformon (SZTAKI HuBERT).

Chatbot NLP feldolgozás
A szövegbevitel és a feldolgozási csővezeték kapcsolata a chatbot-architektúrában. Forrás: Wikimedia Commons

NLP-eszközök értékelésénél figyelembe vett szempontok

Amikor NLU-motort vagy NLP-könyvtárat választanak egy projekthez, az alábbi szempontok szoktak meghatározóak lenni:

  • Magyar nyelvű támogatottság: Rendelkezésre áll-e előre betanított modell, szótár, lemmázó.
  • Adatvédelem: Szerveren fut-e a modell, vagy felhőalapú API-t igényel.
  • Sebessége és erőforrásigénye: Valós idejű alkalmazáshoz elegendő-e a válaszidő.
  • Karbantartás és közösség: Aktívan fejlesztik-e, elérhetők-e dokumentáció és példák.

Referencia: Az NLP és NLU területének szabványos szakmai anyagai megtalálhatók a ACL Anthology adatbázisában, ahol peer-reviewed konferenciakiadványok is elérhetők.