Detektor jezika uvijek daje odgovor, čak i na kašalj. Ostavite detekciju uključenom za čist ili miješani zvuk, a jezik navedite kad se jedan jezik govori uz buku ili jak naglasak.
Svaka transkripcija počinje pitanjem koje čitatelj nikad ne vidi: koji je ovo jezik? Ako se pogriješi, ostatak sustava uporno radi na proizvodnji tečne besmislice. Ovaj članak objašnjava na što detektor jezika sluša, kako se detekcija ponaša za zvuk uživo i za datoteke te kada je bolje sami navesti jezik.
Detektor jezika ne razumije što se govori. Gleda sam zvuk: zalihu suglasnika i samoglasnika, kako su slogovi naglašeni, ritam fraza i kratke, česte riječi na kojima se oslanja svaki jezik. Španjolski ima vlastiti skup samoglasnika i ritam; nizozemski 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 iz početka zvuka, kao vjerojatnost za svaki jezik koji poznaju. Iz takvog dizajna slijede dvije stvari. Vjerojatnosti uvijek zbrajaju do jedan, pa ne postoji odgovor „nema jezika“: tišina, kašalj ili glazbena najava dobit će jezik, često s pouzdanom ocjenom uz sebe. A odluka se donosi iz početka, što je najlošiji mogući uzorak. Mnoge snimke počinju pozdravima, imenima i nazivima mjesta, koji nose vrlo malo jezičnog signala: „Good morning, Maria, welcome to Berlin“ gotovo je jednako njemački koliko i engleski. Druge počinju tišinom ili kašljem, a detektor kojeg se pita da odluči na temelju toga odlučit će ipak, s pouzdanjem, bez ikakvog sadržaja. I stvarni zvuk to čini: rumunjska propovijed koja počinje sobnom bukom i „Bună dimineața“ lako se može čuti kao talijansko „Buona domenica“, uz potpunu sigurnost.
Cijena pogrešnog odgovora također je gora nego što zvuči. Prepoznavač koji dekodira na krivom jeziku ne pogriješi u pravopisu; on prepisuje. „For God so loved the world“, dekodirano kao rumunjski, postalo je „Forgot to love the world“. Rumunjsko „mândria slujește“, dekodirano kao engleski, postalo je „Pride serves“, što je točan prijevod rečenice koju nitko nije tražio da se prevede. Riječi su tečne, a transkript ne daje nikakav znak da nešto nije u redu, što pogrešku čini skupom.
Pet stvari najčešće zavarava detektore:
Koji će vas od tih problema pogoditi ovisi o tome stiže li zvuk uživo ili već stoji u datoteci.
Za transkripciju uživo nema cijele snimke za pregled. Zvuk stiže dok se govori, a transkript mora stići zajedno s njim. Zato se jezik detektira dok govornik govori i prati se ako promijeni jezik. To znači i napomena uz prekidač Spoken language kad na nadzornoj ploči pokrenete transkripciju uživo: jezik govornika detektira se automatski, a govornik može prijeći na drugi jezik u bilo kojem trenutku.
Promjena jezika potvrdi se prije primjene, pa jedan šumni dio ne odvuče transkript u drugi jezik. Slaba točka je početak: ako su prve riječi šumni pozdrav, prvi redak može biti na krivom jeziku. Navođenje jezika to izbjegava.
Datoteke rade drukčije, jer je cijela snimka već tu.
Datoteka je lakši problem: nema potrebe vjerovati prvim sekundama. Za datoteku se jezik odlučuje iz snimke kao cjeline, pa šumni pozdrav na početku ne može odlučiti o jeziku.
Jezik datoteke je i dalje radna pretpostavka, a ne konačna presuda. Snimka koja se zaista promijeni u jeziku usred puta, poput intervjua koji u drugoj polovici prelazi s engleskog na rumunjski, prati se umjesto da se forsira, a ona koja se izmjenjuje između jezika cijelo vrijeme također je obrađena.
Detektor koji odluči jednom i nikad se ne osvrne siguran je na krivom mjestu.
Nijedan detektor mnogo ne pomaže kad je cijela snimka bučna. Detekcija je zadana jer je u većini slučajeva točna i ne košta ništa. Za neke snimke ipak treba navesti jezik, a nadzorna ploča kaže koje: navođenje govornog jezika poboljšava točnost na bučnim snimkama i uz jake naglaske.
To su slučajevi u kojima detektor ima najmanje za što se uhvatiti. Buka uklanja signale o kojima detektor ovisi; jak naglasak ih pomiče prema drugom jeziku; a srodan par nudi malo signala uopće. Engleski govornik s jakim portugalskim naglaskom u reverberantnoj dvorani teško je prepoznati samo po zvuku, i ako ga detektor krivo odredi, transkript će engleski govor pretvarati u portugalski za sve dok greška traje. Navođenje jezika uklanja pitanje, pa sav trud ide u riječi.
Kratka lista provjere:
Navođenje jezika postavka je transkripcije, a ne vašeg računa, pa možete odlučiti za svaku snimku zasebno. Sve navedeno svodi se na jednu opciju u API-ju.
spokenLanguage znači detekciju; session.update tijekom tokaU API-ju je spokenLanguage kôd jezika, poput en; ako ga izostavite, jezik se detektira. Pojavljuje se u settings transkripcije datoteke ili poveznice i u opcijama sesije u stvarnom vremenu. Detekcija i navođenje obuhvaćaju isti skup od 100 jezika. Prijevod na do 10 njih zaseban je izbor i ne ovisi o tome koji je jezik detektiran ili naveden. Kako prijevod prati govor, opisano je u članku Kašnjenje prijevoda uživo, objašnjeno.
{ "name": "Board meeting", "settings": { "spokenLanguage": "en", "speakerLabels": "auto" } }
Sesija u stvarnom vremenu uzima istu opciju pri stvaranju, a možete je promijeniti dok zvuk teče. Tekstualni okvir session.update s novim spokenLanguage primjenjuje se na govor od tog trenutka nadalje; postavljanje na "" ili "auto" vraća sesiju na detekciju, a nepodržani kôd se zanemaruje. Prikaz titlova s gumbom za jezik može omogućiti operateru da navede jezik čim vidi krivi prvi redak, bez ponovnog spajanja.
{ "type": "session.update", "spokenLanguage": "ro" }
Popis kodova s njihovim nazivima nalazi se na GET /v1/languages, za što nije potreban ključ. Cijeli tok rada u stvarnom vremenu, od stvaranja sesije na vašem poslužitelju do čitanja nacrta i potvrđenih dijelova, opisan je u članku Transkripcija u stvarnom vremenu preko WebSocketa, a interaktivna referenca nalazi se na {{api}}/docs. Na nadzornoj ploči isti izbor je prekidač Spoken language kad pokrenete novu transkripciju, a ključevi za API nalaze se pod Developers.