Automaatne tuvastus pakub ikka valesti: kinnita oma keel

Dikteering on pidevalt vales keeles? Automaatne tuvastus kõigub kakskeelse kõne puhul oma olemuse tõttu. Kinnita keel korra ja see jääbki kinnitatuks.

Teodor Deleanu10. juuli 20266 min lugemist

Kui dikteerid rohkem kui ühes keeles, oled seda tõrget näinud. Sa ütled lause rumeenia keeles ja transkriptsioon tuleb tagasi foneetiliselt moonutatud inglise keelena — päris sõnad, aga mitte ükski neist sinu oma. Või pöördub see keset lauset: esimene pool õiges keeles, teine pool milleski, millele mudel otsustas, et sa üle läksid. Või, minu isiklik lemmik, segatähestikuline supp — ladina tähed, mille sekka on puistatud paar kirillitsa oma, nagu oleks mudel oma panuseid täht-tähelt maandanud.

See ei ole kaebus ühe toote kohta. See on automaatse keeletuvastuse ettenähtav tõrkeviis, sealhulgas Keebye inglise keelele häälestatud vaikevaliku puhul. See tabab aktsendiga inglise keele kõnelejaid ja igaüht, kes päeva jooksul keelt vahetab. Kakskeelne arendaja, kelle Slack on poola keeles ja kelle commit-sõnumid on inglise keeles, annab automaatsele tuvastusele täpselt need segasignaalid, millega ta kõige halvemini hakkama saab.

Kaebuse teine pool on vaiksem, aga sama päris: kui keeleseadistus üldse olemas on, on see sageli maetud. Kolm menüüd sügavale, mootorivalija taha, sellise lüliti taha, mille nimi ei maini keelt üldse. Kui vahetad keelt kakskümmend korda päevas, ei ole maetud seadistus sisuliselt mingi seadistus.

Tahan selgitada, miks see kõikumine tekib — kasutades oma enda toote sõjalugu, sest Keebye’l oli see probleem enne, kui tal oli lahendus —, ja siis näidata, milline päris lahendus välja näeb.

Miks automaatne tuvastus kõigub (ja miks see päris viga ei ole)

Siin on aus mehaanika. Kaasaegsed kõnemudelid teevad keeletuvastust vaikselt, osana dekodeerimisest. Mudel kuulab, moodustab sisemise oletuse selle kohta, mis keelt ta kuuleb, ja dekodeerib selle oletuse vastu. Kui heli on puhas, aktsendita ja ükskeelne, töötab see nii hästi, et sa ei mõtle sellele kunagi.

Sööda talle nüüd päris kõnet. Aktsent nihutab täishäälikuid teise keele foneemide poole. Lauses on kolm ingliskeelset laensõna — igas tehnilises vestluses on. Taustal on laps või sa oled sülearvuti mikrofoni peal. Iga selline asi muudab mudeli sisemise keeleoletuse vähem kindlaks, ja vähekindel oletus võib kaadrite vahel ümber pöörduda. Kui see pöördub, pöördub dekodeerimine kaasa, ja sa saad transkriptsiooni, mis vahetab keset mõtet keelt.

Kõige olulisem osa: enamikus tööriistades ei ankurda seda oletust miski. Mudel otsustab vaikselt, iga lausungi kohta, ja sul ei ole ülekirjutust. See ei ole ühegi rakenduse viga — see ongi see, mis vaikne automaatne tuvastus on. Mudel teeb hinnangulise otsuse, mida sa parandada ei saa.

Ma tean seda lähedalt, sest Keebye vaikimisi mootoril on täpselt see omadus. Parakeet, meie inglise keelele häälestatud vaikevalik, eirab dekodeerimiskihis igasugust keelevihjet — sa ei saa talle öelda, mida sa kohe rääkima hakkad. Selge inglise keele peal on ta suurepärane, seepärast ta vaikevalik ongi. Ebaselge heli peal võib ta keelte vahel kõikuda nagu kõik muu selles kategoorias. Räägin sulle sellest oma toote kohta esimesena, sest lahendus hakkab mõtet omama alles siis, kui oled aktsepteerinud, et probleem elab arhitektuuris, mitte mõne konkurendi lohakuses.

Mida keele kinnitamine tegelikult teeb?

Lahendus on lõpetada mudelilt oletamise palumine. Keebye’ga tuleb kaasa teine seadmesisene mootor — NVIDIA Canary 1B v2, int8-ks kvantiseeritud —, mis katab täpselt 25 keelt: bulgaaria, horvaadi, tšehhi, taani, hollandi, inglise, eesti, soome, prantsuse, saksa, kreeka, ungari, itaalia, läti, leedu, malta, poola, portugali, rumeenia, slovaki, sloveeni, hispaania, rootsi, vene ja ukraina keel. Erinevalt vaikimisi mootorist võtab Canary keelejuhise vastu ja järgib seda.

Keebye teeb selle kättesaadavaks kinnitusena: selgesõnaline keeleseadistus, mis antakse Canary mootorile iga lausungi jaoks. Kinnita rumeenia keel ja dekooder kasutab rumeenia keelt, selle asemel et teha automaatne keelevalik. Tuvastus võib ikka vale olla, eriti laensõnade ja mürarikka heli puhul, aga keelevalik ei ole enam kontrollimata oletus.

Seadistust loetakse jooksvalt, iga dikteeringu kohta. Muuda seda ja järgmine hoia-ja-räägi kasutab uut keelt ilma rakenduse taaskäivitamiseta. See loeb rohkem, kui kõlab: keelejuhtnupp on palju kasulikum siis, kui selle vahetamine tööd ei katkesta.

Ja kuna Canary töötab seadmes nagu kõik muu Keebye’s, ei maksa kinnitamine sulle privaatsuslugu. Mudel on umbes 1,3 GB, laaditakse korra alla; pärast seda ei lahku su rumeenia, su poola, su ukraina keel kunagi masinast. (Miks me üldse arvame, et kohalik mitmekeelne dikteerimine loeb, on omaette postitus — arendaja dikteerimine ei tohiks olla ainult ingliskeelne. See siin on selle praktiline järg: too postitus kaitseb keeli, see siin räägib nende päriselt kasutatavaks tegemisest.)

Kaks klikki, mitte kolm menüüd sügavale

Kinnitus, milleni sa ei jõua, on kinnitus, mida sa ei kasuta, seega elab vaheti menüüribal. Keebye menüüriba ikoonil on menüü „Dictation Language“ kureeritud lühinimekirjaga 11 keelest — inglise, rumeenia, prantsuse, saksa, hispaania, itaalia, portugali, hollandi, poola, vene, ukraina. Kaks klikki ükskõik millisest rakendusest: klõpsa menüüribal, klõpsa keelel. Sa ei ava Settingsit, sa ei lahku aknast, kus sa töötasid.

Täielik 25 keele nimekiri elab Settingsis nende keelte jaoks, mis lühinimekirja ei mahu. Aga lühinimekiri katab enamiku kakskeelse töö igapäevase reaalsuse: sa kirjutad oma tiimile ühes keeles ning kliendile või AI-agendile teises, ja vahetus ei tohi midagi maksta.

Väärt teada on veel üks valik, sest see muudab täielikult seda, kuidas mõned inimesed kinnitust kasutavad: inglise keelde tõlkimise lüliti. Räägi oma keeles, kursorile maandub inglise keel — sama mootor, sama seadmesisene täitmine. Kui su sisemonoloog jookseb rumeenia keeles, aga väljund peab olema inglise keeles (commit-sõnumid, promptid kodeerimisagendile, vastused rahvusvahelisele tiimile), kaotab see ära tõlkesammu, mida sa peas tegid. Ma kasutan seda rohkem, kui ootasin.

Mis kinnitamine sulle maksma läheb

25 keelt on 25 keelt. Pilvepõhised dikteerimistööriistad loetlevad palju rohkem, sest heli saatmine suurele serveripoolsele mudelile on odav viis keeli juurde panna. See ongi seadmesisese lähenemise päris kompromiss: mudel, mis mahub su Maci, katab maailmast vähem kui mudel, mis täidab andmekeskuse. Kui su keelt ei ole nendes 25-s, siis Keebye mitmekeelne mootor sind täna ei kata, ja ma ütlen seda pigem välja, kui ümardan üles.

Kinnitus tähendab kinnitust. See on determinismi teine pool ja tahan sellest otse rääkida: kui kinnitad rumeenia keele ja räägid siis inglise keeles, dekodeerib Keebye su inglise keele truult valesti rumeenia keelena, kuni sa vahetad. Mootor teeb täpselt seda, mida sa käskisid. Automaatse tuvastuse kogu võlu oli selles, et sa ei pidanud sellele kunagi mõtlema — kinnitus vahetab selle mugavuse ennustatavuse vastu. Minu kogemuses on vahetus seda väärt, sest vale oletus, mida sa kontrollida ei saa, on halvem kui vale seadistus, mille sa kahe klikiga parandad. Aga see on vahetus, mitte tasuta lõuna.

Menüüriba lühinimekiri on 11 keelt, mitte 25. Kui su igapäevases paaris on näiteks soome või kreeka keel, käid ühe poole pärast Settingsis. Kureerimine tähendab, et kellegi keel kiirmenüüsse ei jõudnud.

Kuhu see kaebuse jätab

Kategooriaülene kaebus — „mu dikteering tuleb pidevalt vales keeles välja“ — on tegelikult kaebus vaikivate otsuste kohta. Mudel oletas, oletus oli vale ja ei olnud mingit viisi talle teisiti öelda. Iga lahendus, mis oletamise alles jätab (parem tuvastus, pikemad heliaknad, kindluslävendid), teeb tõrke lihtsalt harvemaks ja veidramaks. Lahendus, mis kaebuse päriselt lõpetab, on anda otsus kasutajale tagasi.

Kui sa elad seda praegu mõne teise tööriistaga, on meie võrdluslehed ausad selles, kuhu iga tööriist sobib — nii Keebye vs Superwhisper kui ka Keebye vs Wispr Flow katavad muu hulgas keeleküsimust. Kinnituse enda proovimiseks alusta allpool tasuta prooviperioodi, mängi uuesti läbi selle artikli alguses olnud rumeenia- või poolakeelne lause ja vaata, kui suur osa kõikumisest tuli kontrollimata oletusest, mitte sinu aktsendist.

Kinnita keel, mida sa päriselt kasutad

Alusta tasuta prooviperioodi ja mängi uuesti läbi üks emakeelne vastus, mille automaatne tuvastus varem sassi ajas.

Start free trial

Early access: we'll email you the moment the macOS build is ready — your 14 days start when you first sign in from the app.

Loe edasi