NLP eszközök fejlesztése
ALAPFOGALMAK

Mi az NLP?

Definíció és cél

A természetes nyelvfeldolgozás (Natural Language Processing, NLP) a számítógépes módszerek azon ága, amely emberi nyelvű szöveget dolgoz fel gépi olvasható formában. Chatbot-fejlesztésben az NLP feladata a felhasználói bemenet megértése, strukturálása és értelmezhető reprezentációvá alakítása.

Egy ügyfélszolgálati chatbot esetén például a „Szeretném módosítani a szállítási címemet” mondatból az NLP modul kinyeri a szándékot (cím módosítás) és a releváns entitásokat (szállítási cím).

Fő komponensek

Az NLP rendszerek tipikusan az alábbi lépésekből állnak:

  • Tokenizáció — a szöveg szavakra vagy al-tokenekre bontása
  • Normalizálás — kisbetűsítés, írásjelek kezelése, stemming vagy lemmatizáció
  • Szándékfelismerés (intent classification) — a felhasználó céljának azonosítása
  • Entitásfelismerés (NER) — kulcsfontosságú adatok kinyerése
  • Szöveggenerálás — válaszok vagy összefoglalók előállítása
Mesterséges neurális háló séma
Neurális háló alapú NLP modellek — Wikimedia Commons

Tipikus NLP pipeline

Egy gyakorlati pipeline Python környezetben a következőképpen épül fel: nyers szöveg beolvasása → előfeldolgozás → modell inferencia → utófeldolgozás → válaszgenerálás. A spaCy és a Hugging Face Transformers könyvtárak mindkét irányban támogatást nyújtanak: a spaCy gyors prototípusokhoz, a Transformers pedig finomhangolt nyelvi modellekhez alkalmas.

Az előfeldolgozás minősége közvetlenül befolyásolja a downstream modell teljesítményét. Magyar nyelvű chatbotoknál külön figyelmet érdemel az ékezetes karakterek kezelése és a morfológiai gazdagság.

NLP a chatbotban

Chatbot-architektúrában az NLP modul a bemeneti réteg és a dialóguskezelő között helyezkedik el. A modul kimenete strukturált JSON formátumú reprezentáció: {"intent": "modify_address", "entities": [{"type": "address", "value": null}]}. Ez a reprezentáció teszi lehetővé, hogy a dialóguskezelő a megfelelő válaszfolyamatot indítsa.

Kezdő projekteknél érdemes egyszerű szabályalapú NLP-t kombinálni ML-alapú intent felismeréssel — hibrid megközelítésnek nevezzük. A rule-based réteg kezeli a gyakori, jól definiált kérdéseket, az ML modell pedig a változatosabb bemeneteket.