Több nyelv, egy tudásbázis — hogyan mûködik az AI Chat fordítása
A legtöbb többnyelvû chat-rendszer két módon hibázik: vagy mindent fordít CMS-szinten (nyelvenként szerkesztett duplikátum-content, drágán, lassan), vagy mindent fordít beszélgetés közben (drága a tokenelszámolás, és a szakkifejezések eltorzulnak). A Nortinia AI Chat egy harmadik utat választott: egy nyelven írt forrás, fordítás-tudatos retrieval.
A koncepció: egyszer embedolunk, többször keresünk
A tenant a tudásbázist egyetlen forrás-nyelven írja meg — a hazai piacokon ez tipikusan magyar. Ez lehet termékleírás, FAQ, ÁSZF-pont, vagy belsõ knowledge-base bejegyzés.
A pipeline:
- Embedding — minden dokumentum-chunk-ot a forrás-nyelven embedolunk multilingual modellel (text-embedding-3-large vagy hasonló). A modell a szemantikát kódolja, nem a felszíni szavakat. Egy magyar "szállítási idõ" embedding és egy angol "delivery time" embedding közel van a vektorban.
- Query — a látogató bármely nyelven kérdezhet. A kérdést a látogató nyelvén embedoljuk. A vektorkeresés ugyanabban a térben fut.
- Generálás — a top-k chunk visszakerül a modellnek a forrás-nyelven, és a modell a válasz-nyelven fogalmaz. A prompt explicit utasítást ad: "A user nyelve magyar / angol / német — válaszolj abban."
Kulcs: a tudásbázis tartalmát soha nem fordítjuk elõre. A modell a tartalom jelentését fordítja oda-vissza a beszélgetés közben.
A glossary-overrride a szakkifejezésekre
Van ahol a generikus fordítás nem elég. Jogi, regulatorikus, vagy brand-specifikus kifejezések kötött formában kell hogy megjelenjenek. Erre a per-tenant glossary szolgál:
{
"glossary": {
"hu": {
"ÁSZF": "ÁSZF",
"GDPR-megfelelõség": "GDPR-megfelelõség",
"Pro csomag": "Pro csomag"
},
"en": {
"ÁSZF": "Terms of Service (ÁSZF)",
"GDPR-megfelelõség": "GDPR compliance",
"Pro csomag": "Pro plan"
},
"de": {
"ÁSZF": "AGB",
"GDPR-megfelelõség": "DSGVO-Konformität",
"Pro csomag": "Pro-Tarif"
}
}
}
A prompt-építéskor a glossary-bejegyzéseket szigorú instrukcióként adjuk át. A modell tudja: ha az "ÁSZF" szót használja, az angol felé "Terms of Service (ÁSZF)" formában, nem "general conditions"-ként.
A három nyelv amit a legtöbbet teszteltünk
Magyar, angol, német. Ezeken a flotta teljes forgalmának 96%-a fut. A pontosság (válaszhelyesség human-eval alapján) a következõ:
- Magyar → magyar: 94.2% (a forrásnyelv, természetesen a legjobb)
- Magyar → angol: 91.8% (a generikus fordítás itt nagyon jó)
- Magyar → német: 88.3% (a glossary-override nélkül 79% volt — a komponált szakszavak miatt)
A sarokeset: magyar összetett fõnevek
A magyar nyelv egyik sajátossága, hogy szóösszetétellel végtelen új fõnevet képez. "Ügyfélelégedettségfelmérés" — ez egy valódi szó, de a tokenizer nem ismeri. Az embedding minõsége ezekre csökken (mert ritkák a tréning-corpus-ban).
Amit csinálunk: a tenant indexelés elõtt egy pre-processor pass-on átengedi a forrás-szöveget, amely a túl hosszú összetett fõneveket részekre bontja. Az eredmény: "ügyfélelégedettség-felmérés" lesz belõle, amit a tokenizer már természetesen kezel. Egy korai chunk-pontosság-tesztben ez a pass 6.4%-kal javította az embedding-keresés pontosságát magyar source-on.
A boring gyakorlat
Néhány dolog, amit a tenantnek be kell tartania ahhoz, hogy ez jól mûködjön:
- Egy forrásnyelv per dokumentum-csoport. Ne keverj egy FAQ-bejegyzésen belül HU + EN szöveget — az embedding zajos lesz.
- Glossary minden brand-szóra. Termékneveket, csomagneveket, jogi rövidítéseket be kell írni.
- Tesztelés human-eval-lal. Negyedévente 50 kérdés / nyelvi pár random mintán — ha valami romlik, idõben látjuk.
Tanulság
A többnyelvûség az AI chat-ben nem ingyen jön. De a duplán-szerkesztett-tudásbázis modell költségébõl 80%-ot megtakaríthatsz, ha jól csinálod. A maradék 20% a glossary + human-eval — az ára egy negyedévi munka, ami beépül a rendszerbe.