Kuidas panna reaalaja häälkogemused suures mahus toimima

Ajastus, katkestused, vaikus ja vestluse taastumine kujundavad kogemust sama palju kui sõnad.

Lühikokkuvõte

  • Reaalaja häälkõne annab inimestele põhimõtteliselt uue viisi tehisintellektil põhinevate rakendustega suhtlemiseks. Tippimise või menüüdes liikumise asemel saavad kasutajad rääkida loomulikult ning vastused saabuvad reaalajas tempo ja emotsionaalse kontekstiga.

  • Suurepärase reaalaja häälkogemuse loomine tähendab aktiivse suhtluse koordineerimist. Siit algab tegelik tootearendus. Reaalajakogemus on vahetu ja elutruu. Seda järjepidevalt pakkuva rakenduse loomine on omaette insenertehniline proovikivi.

  • Mudel on vaid üks osa süsteemist. Tootmisrakendused vajavad häälele loodud taristut, vestluse sujuvuse ja sügavama arutluse selget eraldamist ning sündmuspõhist juhtimist, et hallata seanssi selle toimumise ajal.

  • Suur osa allesjäänud raskustest peitub kaitsemeetmetes ja hindamises. Ohutuskontrollid peavad elava heliga sammu pidama, kuid traditsiooniliste hindamisstrateegiatega on keeruline hinnata vestluse ajutisi omadusi, nagu ajastus, toon ja sujuvus.

Sissejuhatus: reaalaja häälkõne kui tooteliides

Enamik häält toetavaid tehisintellektirakendusi töötab praegu ikka ühtmoodi: kõne läheb sisse, tekst tuleb välja, mudel mõtleb ja sünteeshääl loeb vastuse ette. See toimib. Kuid suhtlus tundub täpselt selline, nagu see on: konveier, mitte vestlus.

Reaalaja häälkõne muudab seda. Kasutajad räägivad loomulikult ning saavad vastuseid, mis annavad edasi sobivat tempot, tooni ja emotsionaalset konteksti. Kogemus on kiirem ja sujuvam kui ahelana ühendatud kõnetuvastuskonveierite puhul ning sarnaneb rohkem inimesega vestlemise kui süsteemi kasutamisega.

Oleme näinud, kuidas see loob võimalusi toodetele, millega konveierarhitektuurid hästi toime ei tule. Reaalaja häälagendid saavad lahendada klienditeenindusolukordi, mis muidu nõuaksid pikki ja piiravaid automaatvastaja menüüsid ning kõnede suunamist osakondade vahel. Nad saavad juhendada, uusi kasutajaid sisse elada aidata, eri kanalites ligipääsetavust toetada ja palju muud. Reaalaja häälkõnet tasub arendada kõikjal, kus suuline vestlus on tekstipõhisest liidesest parem.

Ahelmeetod ja reaalajalahendus: mis süsteemi sees muutub

Enamik häält toetavaid rakendusi kasutab nn ahelmeetodit: eraldi mudelitest koosnevat konveierit kõne tekstiks muutmiseks, keele töötlemiseks ja teksti kõneks muutmiseks. Need süsteemid toimivad hästi ja pakuvad palju võimalusi, kuid heli paikneb üksnes protsessi otstes. Eraldi etapid lisavad kohustusliku struktuuri ja viivituse, mistõttu tundub suhtlus päris vestlusest vähem loomulik.

Reaalaja häälkõne kasutab teistsugust lähenemist. Kuulamiseks, mõtlemiseks ja rääkimiseks mõeldud eraldi mudelite asemel teeb üks mudel kõike kolme loomupäraselt, mõistes ning luues samal ajal nii heli kui ka transkriptsioone. Sisend ja väljund toimivad pidevalt, mistõttu saab süsteem vastata loomuliku ajastuse ja emotsionaalse väljendusrikkusega ning säilitada elava vestluse realistliku rütmi. Seetõttu saavad ajastusest, toonist ja katkestuste käsitlemisest toote kesksed osad.

Diagramm võrdleb ahelana üles ehitatud häälekonveierit reaalaja häälmudeliga, mis loob kasutaja helist otse heli ja transkriptsiooni.

Reaalajakogemus on ahvatlev, sest see tundub vahetu, kuid keeruline, sest miski ei oota oma järjekorda. Selle toetamiseks ei piisa kiirest ja täpsest heliloomest. Raske on kõik muu. Mudel töötab aktiivse seansi sees. Kõik seda ümbritsev – olek, ohutus, orkestreerimine ja juhtimine – peab toimima vestlusega paralleelselt samas reaalaja tempos.

Ahelana üles ehitatud häälrakenduses annavad voorupõhised vestlused selge edasi-tagasi struktuuri. Kasutaja räägib, süsteem vastab ja algab järgmine etapp. Reaalaja häälkõne sellist struktuuri ei paku. Mõlemad pooled võivad rääkida korraga või ei räägi kumbki ja valitseb vaikus. Kasutaja võib vastuse poole pealt katkestada või esitada jätkuküsimuse enne, kui süsteem on rääkimise lõpetanud. Katkestused pole enam erandjuhud, vaid muutuvad keskseks suhtlusmustriks.

Just seetõttu on reaalajarakendused olemuselt koordineerimisülesanne ning mudelit ümbritsev süsteem on sama tähtis kui mudel ise.

Mida on tootmiskeskkonnas vaja

Sellise süsteemi suuremahuliseks käitamiseks tuleb see luua spetsiaalselt aktiivse suhtluse jaoks. Tootmiskeskkonda jõudvates süsteemides kordub kolm põhiosa.

Häälele loodud taristu

Reaalaja häälseansid peavad toetama heli voogedastust, kõnevoorude vahetumist, katkestusi, ühenduse elutsüklit ja agendi tööd. Olenevalt rakenduse kasutuskohast võib vaja minna ka telefoniside tuge. Need on kasutuskogemuse põhiosad ja rakenduse skaleerimise seisukohalt kesksed.

Esimene nõue on häälele loodud seansikiht. Reaalajas side (RTC) raamistikud annavad rakendusele keskkonna, kus hallata osalejaid, voogedastada heli ja käitada agente telefonisidekeskkonnas. Meie kogemuse põhjal on eriti kasulik olnud Livekit, mis pakub väikese latentsusega WebRTC-pinu ning kvaliteetset mürasummutust ja värina vähendamist kohe valmiskujul. Selle kihi ise loomine pole lisanduvat keerukust tavaliselt väärt.

Eralda rääkimine mõtlemisest – vähemalt praegu

Reaalaja häälkõne mitme agendiga arhitektuuri põhiolemus on vastutusalade eraldamine.

Reaalaja häälmudelid sobivad väga hästi vestlusheli voogedastuseks, kuid pole optimeeritud sügavamaks arutluseks. Selliseid ülesandeid nagu tööriistade kutsumine, teabeotsing või struktureeritud otsustamine on parem täita teise mudeliga.

Kasulik lahendus on vastaja ja mõtleja arhitektuur.

Vastaja on reaalaja häälagent. Tema ülesanne on hoida aktiivset suhtlust: kuulata, rääkida, katkestustega toime tulla ja säilitada vestluse sujuvus. Selle loomisel seatakse esikohale reageerimiskiirus, selgus ja emotsionaalne järjepidevus.

Vastaja ja mõtleja arhitektuuri diagramm, kus kasutaja heli liigub väljundheli loovale vastajale, mõtleja aga koordineerib tööriistu ning saadab konteksti vastajale tagasi.

Mõtleja on eraldi agent, mida käitab arutlusvõimeline mudel. See töötab põhivoo väliselt ning tegeleb tööriistade kasutamise, teabeotsingu ja plaanimisega. Vastaja saab mõtleja vajaduse korral appi kutsuda ja tulemused vestlusse tagasi tuua.

Mõnel juhul võib mõtleja arutlusega ise tegeleda. Teistel juhtudel võib see orkestreerida erialaagentide kogumit. Põhiidee on anda see töö arutlusülesanneteks paremini sobivale mudelile.

Kasu on lihtne: vastaja jääb kiireks, vestluslikuks ja keskendunuks, mõtleja aga teeb tööd, mis vajab rohkem aega, konteksti või struktuuri.

Tipptasemel mudelite edasine areng võib selle lahenduse tarbetuks muuta, kuid praegu on see muster meie kogemuse põhjal ühe agendiga lahendustest järjepidevalt parem.

Sündmuspõhine juhtimine

Reaalaja häälsüsteemid loovad loomupäraselt pideva sündmuste voo.

Kasutajad hakkavad rääkima, teevad pause ja katkestavad. Transkriptsioone uuendatakse järk-järgult. Vastuseid luuakse ja voogedastatakse. Saabuvad välised tulemused. Seansi tingimused muutuvad. Kõike seda saab jäädvustada, voogedastada ja talletada põhisündmustena, millest kujunes vestluse praegune olek. Nendeta kaotame võimaluse sekkuda üksikasjalikult ja sihipäraselt.

Sündmuspõhine lähenemine võimaldab seda selgelt hallata. Süsteem jäädvustab sündmused nende toimumisel, uuendab seansi olekut ja käivitab sobivad järeltoimingud.

Lihtsad töötlejad hoiavad reaalajavoo reageerimisvõimelisena, mahukamad ülesanded – näiteks olekumasinate uuendamine, mõõdikute logimine, tundliku teabe eemaldamine, andmebaaside uuendamine ja seansist väljumine – käivitatakse aga asünkroonsete taustatoimingutena.

Funktsioonide lisamisel võib nende taustatoimingute arv kiiresti kasvada. Isegi väikesed tootemuudatused võivad luua uusi sündmuste vooge ja sõltuvusi. Selle paralleelsuse hästi struktureeritud arhitektuur on tähtis, et süsteem jääks arenedes arusaadavaks ja töökindlaks.

Sündmuspõhine lähenemine toetab ka üht olulist tootevajadust: vestluse enda kujundamist. Reaalaja helisüsteem ei loo ainult vastuseid, vaid juhib ka tempot, käsitleb vaikust ja katkestusi ning otsustab, kuidas ja millal seanss lõpetada. Need käitumisviisid kuuluvad tootekogemusse ja nende teadlik kavandamine annab parema tulemuse.

Kui seansi olek muutub kõnevoorude arvu, möödunud aja või kasutaja käitumise põhjal, saab süsteem anda vastajale sihipäraseid juhiseid. See võib paluda agendil aidata kasutajal seanssi kokku võtta, kui ajalimiit läheneb, või anda täpsustavaid juhiseid, kui suhtlus takerdub. Need sekkumised on lihtsad, kuid muudavad kogemuse läbimõelduks ja sidusaks.

Hästi kavandatud süsteemil on seansi olekust selge ülevaade: kes räägib, kuidas vestlus edeneb ja millised tingimused on täidetud. Sündmuste voo pidevalt uuendatav olek võimaldab anda õigeid juhiseid õigel ajal.

Kaitsemeetmed peavad toimima reaalaja tempos

Kasutajatele mõeldud tehisintellektis pole kaitsemeetmed valikulised. Need aitavad tagada ohutuse, nõuetele vastavuse ja töökindluse ning ennetada väärkasutust. Voorupõhises süsteemis on nende rakendamiseks selged hetked: pärast kasutaja kõnelemist või enne vastuse edastamist.

Reaalaja häälkõne kaotab enamiku neist mugavatest kontrollpunktidest. Kasutaja sisend saabub pidevalt. Heliväljundi voogedastus võib juba käia. Valmis transkriptsioonid jäävad sageli helist maha. Kui süsteem ootab enne kontrollimist terviklikke sõnumeid, ei tundu vestlus enam reaalajas toimivana.

Seetõttu peavad kaitsemeetmed toimima vestlusega paralleelselt, et säilitada elutruu suhtlus. Üks võimalus on suunata heli puhvrisse ja hinnata asünkroonselt transkriptsiooni katkeid kohe, kui need valmivad. Nii saab ohutuskontrolle teha peaaegu reaalajas, ilma et see suhtlust blokeeriks.

Diagramm võrdleb seansi ajal elavat heli ja transkriptsioonikatkeid töötlevaid reaalaja kaitsemeetmeid voorupõhiste kaitsemeetmetega, mis kontrollivad sisendit ja väljundit enne ning pärast vastust.

Kaitsemeetme käivitumisel saab süsteem reageerida konteksti arvestades: suunata vestluse mujale, kohandada käitumist või vajaduse korral seansi lõpetada. Nii toimivad kaitsemeetmed reaalajas ega halvenda kasutuskogemust.

reaalajas hindamine on keeruline

Reaalajas vestleva süsteemi hindamise teeb kõige raskemaks see, et mõnda olulisimat omadust – ajastust, katkestusi, vestluse sujuvust ja tooni – ei saa hinnata üksnes transkriptsioonide põhjal.

Tavapärased hindamiskonveierid annavad süsteemile realistlikke stsenaariume, jälgivad väljundeid ja annavad neile hinde. Tekstipõhiste või ahelana üles ehitatud helisüsteemide puhul on see lihtne: saada tekst sisse ja kontrolli väljuvat teksti. Reaalajas on sisendiks elav heli ning kõige olulisem vestlusdünaamika avaldub ajas: kuidas agent tuleb toime kattuva kõnega, kui kiiresti ta vastab ja kuidas taastab vestluse pärast katkestust.

Käsitsi testimine ehk otse agendiga rääkimine hõlmab neid omadusi, kuid seda ei saa hästi skaleerida. Transkriptsioonipõhist automatiseerimist saab skaleerida, kuid see kõrvaldab signaali, mis eristab head reaalajakogemust halvast.

Ühest meetodist ei piisa. Praktiline lahendus on kombineerida eri kihte.

  • Agentidevaheline hindamine: teine reaalaja-agent, millele on antud ülesanne kehastada kindlat kasutajapersoonat, vestleb testitava süsteemiga. Kolmas, hindajana tegutsev LLM annab suhtlusele hinde. See võimaldab mahukalt testida kogu heliahelat, sealhulgas ajastust ja katkestuste käsitlemist.

  • Mittefunktsionaalsed mõõdikud: esimese helini kuluv aeg ja transkriptsiooni meelestatuse analüüs annavad vestluse kvaliteedile kvantitatiivsed asendusmõõdikud.

  • Käsitsi kvalitatiivne ülevaatus: see on endiselt hädavajalik, et märgata automatiseeritud mõõdikute tähelepanuta jäänud probleeme, eriti tooni ja loomulikkuse puhul.

Ükski meetod ei hõlma kõike. Reaalaja-agentide tootmiskeskkonda juurutamiseks tuleb kasutada kõiki kolme kihti. Isegi siis on reaalajaheli hindamise tööriistad tekstipõhise tehisintellekti omadest veel vähem arenenud.

Kokkuvõte

Reaalaja häälkõne muudab toote olemust. Ajastus, katkestused, vaikus ja vestluse taastumine mõjutavad kasutajakogemust sama palju kui sõnad.

See tähendab, et mudel on vaid üks osa süsteemist. Tootmiskõlblik reaalaja häälkõne vajab häälele loodud seansikihti, rääkimise ja arutluse selget eraldamist ning aktiivset seanssi ümbritsevat sündmuspõhist juhtimist. Kaitsemeetmed jäävad latentsuse pudelikaelaks, kuid leidlike lahendustega saab suure osa reaalajakogemusest säilitada.

Süsteemikogumi nõrgim osa on endiselt hindamine. Veel pole välja kujunenud kindlat viisi, kuidas testida meeldiva reaalaja häälkõne aluseks olevaid omadusi: ajastust, tooni, katkestuste käsitlemist ja vestluse sujuvust. Kuni selline viis puudub, peavad seda tehnoloogiat kasutavad meeskonnad kombineerima automaatteste, agentidevahelisi katseid ja käsitsi ülevaatust.

Autorid

Oliver Wood, Sam Smith