Detektor jezika uvijek daje odgovor, čak i na kašalj. Ostavite detekciju uključenom za čist ili višejezičan zvuk, a jezik navedite kada se jedan jezik govori uz šum ili jak akcenat.
Svaka transkripcija počinje pitanjem koje čitalac nikad ne vidi: koji je ovo jezik? Ako se pogriješi, ostatak sistema se uzalud trudi da proizvede tečan nesmisao. Ovaj članak objašnjava čemu detektor jezika osluškuje, kako se detekcija ponaša za zvuk uživo i za datoteke, te kada je bolje da sami navedete jezik.
Detektor jezika ne razumije šta se govori. Gleda sam zvuk: inventar suglasnika i samoglasnika, kako su slogovi naglašeni, ritam fraza i kratke, česte riječi na koje se oslanja svaki jezik. Španski ima svoj skup samoglasnika i ritam; holandski i njemački dijele mnogo toga, ali se razilaze u nekoliko glasova. Nekoliko sekundi jasnog govora obično je dovoljno da ih razlikuje.
Mnogi prepoznavači to rade kao nusproizvod prepoznavanja riječi. Jezik odlučuju na osnovu početka zvuka, kao vjerovatnoću za svaki jezik koji poznaju. Iz te konstrukcije slijede dvije stvari. Vjerovatnoće uvijek zbrajaju do jedan, pa nema odgovora „nikakav jezik“: tišina, kašalj ili muzička špica također dobiju jezik, često uz samouvjeren rezultat. A odluka se donosi iz početka, što je najlošiji uzorak koji možete izabrati. Mnoge snimke počinju pozdravima, imenima i nazivima mjesta, koji nose vrlo malo jezičkog signala: „Dobro jutro, Maria, dobrodošli u Berlin“ je gotovo jednako njemački koliko i engleski. Drugi počinju tišinom ili kašljem, a detektor kojeg pitate da odluči na osnovu toga će ipak odlučiti, samouvjereno, a da nema ništa. I stvarni zvuk to radi: rumunska propovijed koja počinje sobnom bukom i riječima „Bună dimineața“ lako može biti shvaćena kao talijansko „Buona domenica“, uz potpunu sigurnost.
Cijena pogrešnog odgovora također je veća nego što zvuči. Prepoznavač koji dekodira na pogrešnom jeziku ne pogriješi u pisanju, nego prepisuje. „For God so loved the world“, dekodirano kao rumunski, postalo je „Forgot to love the world“. Rumunski „mândria slujește“, dekodirano kao engleski, postalo je „Pride serves“, što je tačan prijevod rečenice koju niko nije tražio da se prevede. Riječi su tečne, a transkript ne daje nikakav znak da nešto nije u redu, i zato je greška skupa.
Pet stvari najčešće zavara detektore:
Koji od ovih problema vas pogađa zavisi od toga da li zvuk stiže uživo ili već stoji u datoteci.
Za transkripciju uživo nema cijele snimke da se pogleda. Zvuk stiže dok se govori, a transkript mora stići s njim. Zato se jezik detektuje dok govornik priča, i prati se ako pređe na drugi. Ovo znači napomena ispod prekidača Spoken language kada pokrenete transkripciju uživo na kontrolnoj ploči: jezik govornika se detektuje automatski, a govornik može prebaciti jezik u bilo kojem trenutku.
Prelazak se potvrdi prije nego što se primijeni, pa jedan šumni dio ne odvuče transkript u drugi jezik. Slaba tačka je početak: ako su prve riječi šumni pozdrav, prva linija može biti u pogrešnom jeziku. Navođenje jezika to sprječava.
Datoteke funkcionišu drugačije, jer je cijela snimka već tu.
Datoteka je lakši problem: nema potrebe vjerovati prvim sekundama. Za datoteku se jezik odlučuje na osnovu cijele snimke, pa šumni pozdrav na početku ne može da ga odredi.
Jezik datoteke je i dalje radna pretpostavka, a ne presuda. Snimak koji se zaista mijenja usred toka, poput intervjua koji u drugoj polovini prelazi s engleskog na rumunski, prati se umjesto da se forsira, a snimak koji se stalno izmjenjuje između jezika također se obrađuje.
Detektor koji odluči jednom i nikad se ne osvrne je samouvjeren na pogrešnom mjestu.
Nijedan detektor malo ne pomaže kada je cijela snimka bučna. Detekcija je podrazumijevana opcija jer je u većini slučajeva tačna i ne košta vas ništa. Za neke snimke, međutim, trebalo bi navesti jezik, a kontrolna ploča kaže koje su to: navođenje govornog jezika poboljšava tačnost na bučnim snimcima i kod jakih akcenata.
To su slučajevi u kojima detektor ima najmanje podataka za rad. Šum uklanja signale o kojima detektor zavisi; jak akcenat ih pomjera prema drugom jeziku; srodni par pruža malo signala na početku. Engleski govornik s jakim portugalskim akcentom u dvorani s odjekom teško je smjestiti samo na osnovu zvuka, i ako ga detektor pogrešno smjesti, transkript će govor na engleskom pretvarati u portugalski za svako vrijeme dok greška traje. Navođenje jezika uklanja pitanje, pa sav trud ide u riječi.
Kratak kontrolni spisak:
Navođenje jezika je postavka transkripcije, a ne vašeg računa, pa možete odlučiti za svaku snimku posebno. Sve navedeno se svodi na jednu opciju API-ja.
spokenLanguage izostavljen znači detekcija; session.update tokom tokaU API-ju je spokenLanguage kod jezika, kao en; ako ga izostavite, jezik se detektuje. Pojavljuje se u settings transkripcije datoteke ili linka i u opcijama realtime sesije. Detekcija i navođenje obuhvataju isti skup od 100 jezika. Prevođenje na do 10 njih je zasebna odluka i ne zavisi od toga koji je jezik detektovan ili naveden. Kako prijevod uživo prati govor, objašnjeno je u članku Kašnjenje prijevoda uživo, objašnjeno.
{ "name": "Board meeting", "settings": { "spokenLanguage": "en", "speakerLabels": "auto" } }
Realtime sesija prima istu opciju pri kreiranju, a možete je mijenjati dok zvuk teče. Tekstualni okvir session.update s novim spokenLanguage primjenjuje se na govor od tog trenutka; postavljanjem na "" ili "auto" sesija se vraća na detekciju, a nepodržani kod se ignoriše. Prikaz titlova s dugmetom za jezik može operateru omogućiti da navede jezik čim vidi pogrešnu prvu liniju, bez ponovnog povezivanja.
{ "type": "session.update", "spokenLanguage": "ro" }
Spisak kodova s nazivima je na GET /v1/languages, za koji ključ nije potreban. Cijeli tok realtime-a, od kreiranja sesije na vašem serveru do čitanja nacrta i potvrđenih dijelova, opisan je u članku Transkripcija u stvarnom vremenu preko WebSocket-a, a interaktivna referenca je na {{api}}/docs. Na kontrolnoj ploči isti izbor je prekidač Spoken language kada pokrenete novu transkripciju, a ključevi za API nalaze se pod Developers.