A természetes nyelvfeldolgozás (angolul: Natural Language Processing, rövidítve NLP) a számítógépes nyelvészet és a mesterséges intelligencia határterületén elhelyezkedő tudományág. Célja, hogy a számítógépek képesek legyenek az emberi nyelvű szövegeket és hangot feldolgozni, értelmezni, sőt előállítani. Bár az NLP mint terület az 1950-es évekre nyúlik vissza — Alan Turing 1950-es, gondolkodó gépekről szóló tanulmányától számítjuk —, széleskörű alkalmazásai csak az elmúlt másfél évtizedben váltak köznapi jelenséggé.

NLP Python könyv — a természetes nyelvfeldolgozás egyik alapvető kézikönyve

Az NLTK (Natural Language Toolkit) Python könyvtár kézikönyve — az NLP oktatás egyik legszélesebb körben használt forrása. Forrás: Wikimedia Commons (CC BY-SA 2.0).

A szöveg feldolgozásának lépései

Amikor egy NLP rendszer szöveggel találkozik, nem egyszerre „érti meg" az egészet. Az értelmezés egy lépéssorozaton keresztül történik, amelyek egymásra épülnek.

Tokenizáció

Az első lépés a szöveg kisebb egységekre — tokenekre — bontása. Ezek általában szavak vagy mondatok, de lehetnek morfémák (szótő + toldalék) is. A tokenizáció látszólag egyszerű feladat, de a magyar agglutináló nyelv esetén különösen összetett: egyetlen szóalak akár 5–6 morfémából is állhat.

Például a „megcsináltathatnánk" szó elemzése morfemikusan:

meg- + csinál + -tat + -hat + -nánk Ige + igekötő + faktitív képző + lehetséges módosító + feltételes mód, 1. személy, többes szám

Egy angol mondatban az egyszerű whitespace-alapú tokenizáció megfelelő lehet, a magyarban ez önmagában nem elegendő.

Morfológiai elemzés (POS tagging)

A tokenizált szövegben minden tokenhez szófaji jelölést rendelünk. Ez a folyamat a szövegkörnyezet alapján dönti el, hogy egy adott szó főnév, ige, melléknév vagy más szófaj-e. A POS tagging (Part-of-Speech tagging) lehetővé teszi a mondatszerkezet elemzését.

Szintaktikai elemzés (parsing)

A mondatelemzés a szavak közötti grammatikai kapcsolatokat tárja fel. A függőségi elemzés (dependency parsing) például megmutatja, hogy melyik szó az alany, melyik az állítmány, és melyek a bővítmények. Ez az információ elengedhetetlen az olyan feladatokhoz, mint a kérdésmegértés vagy az összefoglalás.

Szemantikai elemzés

A szemantikai réteg a szó szerinti jelentés mögé lát. Például az entitásfelismerés (Named Entity Recognition, NER) azonosítja a szövegben a személyneveket, helyszíneket, szervezeteket és dátumokat. A szótár alapú módszerek mellett a neurális hálók ma már kontextustól függő jelentéseket is kezelni tudnak.

A kontextusfüggő szóértelmezés egyik bevett módszere a Word Sense Disambiguation (WSD). Például a „bank" szó más jelentéssel bír a „folyópart" és a „pénzintézet" kontextusában — ezt a rendszernek automatikusan fel kell ismernie.

Az NLP főbb feladatai

Az NLP kutatás és alkalmazás számos konkrét feladatot ölel fel:

  • Gépi fordítás: Szöveg automatikus átültetése egyik nyelvről a másikra. A Google Translate és a DeepL ilyen rendszerekre épül.
  • Érzelemelemzés (Sentiment Analysis): Szöveg pozitív, negatív vagy semleges tónusának meghatározása. Használják termékértékelések elemzésére és social media figyelésre.
  • Szövegösszefoglalás: Hosszú dokumentumok rövid kivonatolása — kivonat alapú (extractive) vagy újrafogalmazó (abstractive) módszerrel.
  • Kérdés-válasz rendszerek: Adott kérdésre a releváns szövegrész azonosítása és a válasz visszaadása.
  • Szövegosztályozás: Dokumentumok kategóriákba sorolása — például levelek spam/nem spam besorolása.

Kihívások a magyar nyelvnél

A legtöbb NLP eszköz és modell angolra optimalizált, és az angolhoz hasonló szerkezetű indo-európai nyelvekre terjeszthető ki legkönnyebben. A magyar ezzel szemben számos sajátossággal bír:

  • Szabad szórend: az „A macska eszik halat" és a „Halat eszik a macska" azonos alapjelentéssel bír, de más hangsúlyt fejez ki.
  • Gazdag toldalékolás: egy főnév nominális eset, számjel és különféle névutók kombinációját hordozhatja.
  • Igekötők elváló viselkedése: a „megcsinálom" és az „én is meg fogom csinálni" kifejezésben az igekötő más pozícióban áll.

Emiatt a magyarban speciális morfológiai elemzőkre van szükség. A nyilvánosan elérhető eszközök közé tartozik az magyarlanc, az MTA SZTAKI és az ELTE által fejlesztett elemzőrendszer.

Az NLP fejlődése

Az elmúlt tíz évben az NLP területét gyökeresen átalakította a Transformer architektúra megjelenése (Vaswani et al., 2017, Google Brain). A figyelmi mechanizmusokon (attention mechanism) alapuló modellek — mint a BERT, GPT és T5 — hatékonyan kezelik a hosszú kontextusokat és a kétértelmű kifejezéseket.

A Hugging Face modeltárában ma már több tucat magyar nyelvű vagy többnyelvű modell érhető el, köztük a SZTAKI-HLT/hubert-base-cc és a NYTK/NYTK-NerKor-Cars-HuBERT-Large, amelyek a hazai kutató közösség munkájának eredményei.

Összegzés

A természetes nyelvfeldolgozás ma az alkalmazott mesterséges intelligencia egyik legtöbbet hivatkozott területe. A szövegfeldolgozás lépéseinek — tokenizáció, morfológia, szintaxis, szemantika — megértése alapja minden NLP rendszer tervezésének. Magyar nyelv esetén a morfológiai komplexitás miatt külön figyelmet érdemel a megfelelő eszközök kiválasztása.

A cikkben hivatkozott eszközök és modellek nyilvánosan elérhető forrásokból származnak. Az egyes rendszerek funkcionalitása és elérhetősége idővel változhat.