NER alapfogalmak
A Named Entity Recognition (NER) feladata a szövegben szereplő releváns adategységek — entitások — azonosítása és osztályozása. Chatbot kontextusban tipikus entitástípusok: dátum, összeg, terméknév, helyszín, rendelésszám.
Az entitásfelismerés kimenete az intent felismerés kiegészítője: míg az intent megmondja, mit akar a felhasználó, az entitások megmondják, mire vonatkozik a kérés.
BIO címkézés
Az ML-alapú NER modellek token-szintű címkézést használnak. A BIO séma három címke típust definiál:
- B- (Beginning) — entitás kezdete
- I- (Inside) — entitás folytatása
- O (Outside) — nem entitás
Példa: „Szeretném módosítani a B-DATE holnap I-DATE O szállítást” — a „holnap” egy DATE entitást képez.
Szabályalapú NER
Reguláris kifejezések és szótár-alapú szabályok gyorsan implementálhatók strukturált adatokhoz: email címek, telefonszámok, rendelésszámok (pl. ORD-\d{6}).
A spaCy EntityRuler komponense lehetővé teszi egyedi szabályok definiálását és kombinálását a beépített NER modellel. A szabályok token-pattern alapúak: [{"LOWER": "rendelés"}, {"IS_DIGIT": true}].
A szabályalapú megközelítés előnye a magyarázhatóság és a nulla betanítási költség; hátránya, hogy nem generalizál jól a szabályokon kívüli esetekre.
ML-alapú NER
A spaCy magyar nyelvű modellje (hu_core_news_md) alap entitásokat (személy, hely, szervezet) ismer fel. Domain-specifikus entitásokhoz fine-tuning vagy custom NER modell szükséges. A Hugging Face token classification pipeline hasonló célra használható.
Hibrid architektúrában a szabályalapú réteg kezeli a formázott adatokat (rendelésszám, dátum), az ML modell pedig a kontextusfüggő entitásokat (terméknév, szándék-specifikus kifejezések).