Hogyan javította a Verloop.io ASR-pontosságát hibajavítási technikákkal?

A hangalapú, társalgási AI megfelelő válaszokkal megoldja az ügyfelek kérdéseit. Ez egy sor lépést foglal magában – a hangot szöveggé alakítják, a természetes/beszélt nyelv megértési modelljei a releváns szándékokat és entitásokat vonják ki a szövegből, és végül a megfelelő válasz kerül keretbe a felhasználó számára.

Ehhez jó ASR-rendszerekre van szükség a robusztus Voice AI felépítéséhez.

Az ilyen rendszereknek ezért kell

  1. Magas szintű pontossággal
  2. Legyen képes jól működni a különböző tartományokban, és helyesen azonosítani az adott területeken elhangzott szavakat/kifejezéseket

A hangasszisztens építése során az egyik legnagyobb kihívás az ASR-rendszerek által okozott hibák hatásának csökkentése. Az ASR-hibák lépcsőzetes hatást gyakorolnak a nyelvértési modellekre, és végül károsítják a későbbi feladatokat.

Az ASR teljesítményének általános mérésére szolgáló mérőszám a Word Error Rate (WER). A szóhibaarány a pontatlanul lefordított szavak teljes számának százalékos aránya, beleértve a beszúrást, törlést és helyettesítést, amelyet az ASR hajt végre azon szavak teljes számában, amelyeknek jelen kellett volna lenniük, ha a fordítás 100%-os pontosságú volt. A jelenlegi felhőszolgáltató ASR modellek WER-je 20-30% körüli a hívásfelvételeknél.

A hibák általában alacsonyak, ha általános mondatokat használnak. Azonban ezek általában 35%-ot tesznek ki, ha tartományspecifikus mondatokat mondanak el. Ez a szám tovább növekszik, ha a beszélő dialektusa és környezete túl zajossá válik, vagy nagyon eltér a tanítási adatoktól. A felhőszolgáltató ASR modellek többsége sem veszi fel a szervezet nevét, az indiai neveket és a rövidítéseket, egyesít két szót, ha fonetikailag hasonló, és nem törli a szavakat a zajos környezetben.

Ezek közül néhány javítható, míg néhány sokkal nehezebb. A nevek hibázása például nem javítható könnyen, azonban a kifejezések helyettesítése könnyebben javítható.

Míg az ASR-rendszerek megfelelő pontosságot adnak a gyakran kimondott szavakhoz, nem ismerik fel a tartományspecifikus szavakat. Például:

Ha az első lépés hibás eredményt produkál, a következő részek, pl. a válaszok is szenvednek.

Az egyik megoldás az egyéni modellek betanítása az egyes tartományokhoz. Az egyéni modellek képzése minden tartományhoz azonban nehéznek bizonyulhat, mivel az ilyen feladatokhoz korlátozottan állnak rendelkezésre megjegyzésekkel ellátott adatok.

A másik módszer a tartományspecifikus utófeldolgozási technikák alkalmazása. Az utófeldolgozási technikák akár mély tanulási modellekkel, akár egyszerűbb klasszikus technikákkal valósíthatók meg.

Különféle utófeldolgozási lehetőségekkel kísérleteztünk, amelyek megfeleltek az alacsony késleltetésű követelményeknek. Kísérleteztünk mély tanulási megközelítésekkel is, a BERT-alapú modellek és a T5 segítségével a helyes mondat előrejelzésére. Ebben a blogban néhány klasszikus módszerekkel végzett kísérletünkről beszélünk.

ASR utófeldolgozás

Az utófeldolgozási technika két részre osztható:

  1. A hibaszó/kifejezés észlelése
  2. A hibaszó/kifejezés lecserélése a megfelelő szóra/kifejezésre

Hibaszavak észlelése:

Az átírt szöveg javításának első lépése azoknak a helyeknek a felderítése, ahol az ASR hibázott. Különféle megközelítésekkel kísérleteztünk, és jól működött a valószínűség alapú KL-divergencia modell, ahol minden szóra kiszámítjuk a KL-eltérést, és ha az meghaladja a küszöbértéket, akkor a szó helytelennek lesz jelölve. [1]. A kl-div kiszámítása a következőképpen történik:

D(p||q) = Σ p(x)log(p(x)/(1-p(x))

ahol p(x) a célszó együttes előfordulásának feltételes valószínűsége
egy x kontextus szóval a c kontextusszó X halmazában.

A KL-Div modellünk betanításához egy 60 000 felhasználói csevegési megnyilatkozást tartalmazó adatkészletet használtunk. A csúszóablak technikát alkalmaztuk a csevegési megszólalásunk során, ahol a középső szó volt a célszó, a környező szó pedig a kontextusszavak, pl.-> „Helló a nevem Shivam Raj”, 5-ös ablakmérettel, az ablak a „Hello my name is Shivam” szóból áll, a „name” középső szóval a célszó, és a „Hello”, „my”, „is” és „Shivam” szavakat tekintik kontextusszavaknak. A teljes képzési korpusz felhasználásával kiszámítjuk az egyes szavak valószínűségét és a szó előfordulásának feltételes valószínűségét a kontextus szóban.

A következtetés időpontjában a „Be akarok jelentkezni a szállodába” szöveget az ASR-rendszer „Ki akarom menni a szállodába”-ra konvertálja. Egy 5-ös méretű ablakot használva, ahol a szövegkörnyezeti szavak „akarok”, „akar”, „a szálloda”, „szálloda”, és a célszó „csirke” volt, azt látjuk, hogy a csirke szó soha nem járt olyan szavakkal, mint „akarok”, „ to”, „the”, „hotel” a képzési adatokban, magas KL divergencia értéket adva, és ezért helytelen szóként jelölve meg.

Csereszavak keresése:

Ha megtalálta a helytelen szót, a következő lépés az, hogy megfelelő javítással helyettesítse. Tiszta valószínűségi és távolságalapú megközelítésekkel ellenőriztük a megfelelő helyettesítő szót, de a pontosság alacsony volt.

Ennek megoldására egy előszűrési technikát adtunk hozzá, amely kiszűrte a korpuszból azokat a szavakat, amelyek zajt okozhatnak, és ronthatják az eredményeinket. Ehhez a képzési adatmintákat egy trie-alapú javaslat megalkotására használták fel, például a múlt és a jövő kontextusának felhasználásával.

1. ábra: A következő szójavaslathoz használt trie-alapú adatstruktúra a megadott kontextus alapján

Ha a múltbeli kontextus a „foglalásom” volt, a javaslatok olyan szavak, amelyek a „foglalásom” után következtek a képzési korpuszunkban, például „jegy”, „terem” stb. Ez leszűkítette a jelölt szavakat, csak a trie-alapúakat figyelembe véve. cserére javasolt szavakat. Abban az időben, amikor egy ASR-rel átírt „book my limit” szöveg érkezik, a „book my”-t használjuk múltbeli kontextusként, és az összes javasolt szót a trie-ből a „limit” szó lehetséges helyettesítőjeként. Ezeken a jelölt szavakon belül a fonetikai és szótávolság súlyozott függvényével keressük meg a helyes helyettesítő szavunkat. Ezzel a megközelítéssel 31%-os pontossággal tudtuk pótolni a hibákat, javítva az általános ASR szöveg előrejelzését.

Következtetés

Az utófeldolgozási technikákkal végzett kísérletek nyilvánvalóan 31%-os WER javulást mutattak az egyéni adatkészletünk utófeldolgozása után. Az utófeldolgozás előtti WER 27% volt, és az utófeldolgozás után tovább csökkent 19%-ra.

Míg a Deep Learning megközelítés alkalmazása jól működhet, ha sok tartomány-specifikus képzési adat áll rendelkezésre, mégis költségesnek bizonyulhat a valós idejű rendszer által támasztott nehéz számítási és késleltetési követelmények miatt.

Technológiánk a hagyományos módszerekre épül a trie adatstruktúra, a fonetikai távolságok, a valószínűségi modellek és a KL-Div megközelítések felhasználásával. Ez gyorssá teszi, és könnyen használható a meglévő csővezetékekben. Ezenkívül szükségtelenné válik egyéni modellek betanítása és karbantartása minden egyes tartományhoz/klienshez.