Python programozás
MODELL

Entity extraction

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).