En språkdetektor gir alltid et svar, selv på en hoste. La gjenkjenningen være på for ren eller flerspråklig lyd, og oppgi språket når ett språk snakkes over støy eller med sterk aksent.
Hver transkripsjon starter med et spørsmål leseren aldri ser: hva slags språk er dette? Får man det galt, jobber resten av prosessen hardt for å produsere flytende vrøvl. Denne artikkelen forklarer hva en språkdetektor lytter etter, hvordan gjenkjenningen oppfører seg for direkte lyd og for filer, og når du er bedre tjent med å oppgi språket selv.
En språkdetektor forstår ikke hva som sies. Den ser på selve lyden: beholdningen av konsonanter og vokaler, hvordan stavelser trykkes, rytmen i setningene og de korte, hyppige ordene som alle språk støtter seg på. Spansk har sitt eget vokalsett og sin egen rytme; nederlandsk og tysk deler mye, men skiller lag på en håndfull lyder. Noen sekunder med tydelig tale er vanligvis nok til å skille dem.
Mange talegjenkjennere gjør dette som et biprodukt av å gjenkjenne ordene. De avgjør språket ut fra starten av lyden, som en sannsynlighet for hvert språk de kjenner. To ting følger av den utformingen. Sannsynlighetene summerer seg alltid til én, så det finnes ikke svaret «ingen språk»: stillhet, en hoste eller et musikkinnslag får også et språk, ofte med en selvsikker poengsum. Og avgjørelsen tas ut fra starten, som er det dårligste utvalget man kunne valgt. Mange opptak begynner med hilsener, navn og stedsnavn, som bærer svært lite språksignal: «Good morning, Maria, welcome to Berlin» er nesten like tysk som engelsk. Andre begynner med stillhet eller en hoste, og en detektor som bes avgjøre der, avgjør likevel, med selvsikkerhet, ut fra ingenting. Også virkelig lyd gjør dette: en rumensk preken som åpner med romstøy og «Bună dimineața» kan lett høres som italiensk «Buona domenica», med full sikkerhet.
Kostnaden av et feil svar er også verre enn det høres ut som. En gjenkjenner som avkoder på feil språk, stavefeiler ikke; den skriver om. «For God so loved the world», dekodet som rumensk, ble til «Forgot to love the world». Det rumenske «mândria slujește», dekodet som engelsk, ble til «Pride serves», som er en korrekt oversettelse av en setning ingen ba om å få oversatt. Ordene er flytende, og transkripsjonen viser ingen tegn til at noe er galt, og det er det som gjør feilen dyr.
Fem ting lurer detektorer oftest:
Hvilken av disse som gjelder deg, avhenger av om lyden kommer direkte eller allerede ligger i en fil.
For en direktetranskripsjon finnes det ikke noe helt opptak å se på. Lyden kommer etter hvert som den blir sagt, og transkripsjonen må komme med den. Språket gjenkjennes derfor mens taleren snakker, og følges hvis de bytter. Det er dette notatet under Spoken language-bryteren betyr når du starter en direktetranskripsjon i dashbordet: talerens språk gjenkjennes automatisk, og de kan bytte når som helst.
Et bytte bekreftes før det tas i bruk, slik at ett støyete parti ikke drar transkripsjonen over på et annet språk. Det svake punktet er åpningen: hvis de første ordene er en støyete hilsen, kan den første linjen komme på feil språk. Å oppgi språket unngår det.
Filer fungerer annerledes, fordi hele opptaket allerede er der.
En fil er et bedre problem: det er ikke nødvendig å stole på de første sekundene. For en fil avgjøres språket ut fra hele opptaket, slik at en støyete hilsen i starten ikke kan avgjøre det.
Språket for en fil er likevel en arbeidsantakelse, ikke en dom. Et opptak som faktisk skifter språk underveis, som et intervju som går fra engelsk til rumensk i andre halvdel, følges i stedet for å tvinges, og et opptak som veksler mellom språk gjennom hele, håndteres også.
En detektor som avgjør én gang og aldri ser tilbake, er selvsikker på feil sted.
Ingen detektor hjelper mye når hele opptaket er støyete. Gjenkjenning er standard fordi den stort sett er riktig og ikke koster deg noe. For noen opptak bør du likevel oppgi språket, og dashbordet sier hvilke: å oppgi det talte språket gir bedre treffsikkerhet på støyete opptak og sterke aksenter.
Dette er tilfellene der gjenkjenningen har minst å jobbe med. Støy fjerner signalene en detektor er avhengig av; en sterk aksent forskyver dem mot et annet språk; et nært beslektet par gir få signaler å begynne med. En engelsktalende med en sterk portugisisk aksent i en hall med gjenlyd er vanskelig å plassere ut fra lyden alene, og hvis detektoren plasserer dem feil, gjør transkripsjonen engelsk tale om til portugisisk så lenge feilen varer. Å oppgi språket fjerner spørsmålet, slik at all innsatsen går til ordene.
En kort sjekkliste:
Å oppgi språket er en innstilling for transkripsjonen, ikke for kontoen din, så du kan bestemme per opptak. Alt over koker ned til ett API-valg.
spokenLanguage betyr gjenkjenning; session.update midt i strømmenI API-et er spokenLanguage en språkkode som en; utelater du den, gjenkjennes språket. Den finnes i settings for en fil- eller lenketranskripsjon, og i alternativene for en direkte økt. Gjenkjenning og oppgitt språk dekker de samme 100 språkene. Oversettelse til opptil 10 av dem er et eget valg, og det avhenger ikke av hvilket språk som ble gjenkjent eller oppgitt. Hvordan oversettelsen holder tritt med talen, er tema i Forsinkelse i direkte oversettelse, forklart.
{ "name": "Board meeting", "settings": { "spokenLanguage": "en", "speakerLabels": "auto" } }
En direkte økt tar det samme alternativet når den opprettes, og du kan endre det mens lyden flyter. En session.update-tekstramme med en ny spokenLanguage gjelder for tale fra da av; setter du den til "" eller "auto", går økten tilbake til gjenkjenning, og en kode som ikke støttes ignoreres. En visning av undertekster med en språkknapp kan la operatøren oppgi språket i det øyeblikket de ser en feil første linje, uten å koble til på nytt.
{ "type": "session.update", "spokenLanguage": "ro" }
Listen over koder, med navnene deres, finnes på GET /v1/languages, som ikke krever nøkkel. Hele flyten for direkte transkripsjon, fra å opprette en økt på serveren din til å lese utkast og bekreftede linjer, står i Sanntidstranskripsjon over en WebSocket, og den interaktive referansen finnes på {{api}}/docs. I dashbordet er det samme valget Spoken language-bryteren når du starter en ny transkripsjon, og nøkler til API-et ligger under Utviklere.