Palaging may sagot ang language detector, kahit sa ubo. Iwan naka-on ang detection para sa malinis o halo-halong wika na audio, at pangalanan ang wika kapag isang wika ang sinasalita sa gitna ng ingay o may mabigat na accent.
Bawat transcription ay nagsisimula sa tanong na hindi kailanman nakikita ng mambabasa: anong wika ito? Kapag mali ang sagot, ang natitirang pipeline ay nagsisikap nang husto para makagawa ng matatas pero walang saysay na output. Ipinapaliwanag ng artikulong ito kung ano ang pinakikinggan ng language detector, paano kumikilos ang detection para sa live na audio at para sa mga file, at kailan mas mabuting ikaw mismo ang magpangalan ng wika.
Hindi naiintindihan ng language detector ang sinasabi. Tinitingnan nito ang mismong tunog: ang imbentaryo ng mga katinig at patinig, kung paano binibigyang-diin ang mga pantig, ang ritmo ng mga parirala, at ang maiikli at madalas na salita na sinasandalan ng bawat wika. May sariling hanay ng patinig at ritmo ang Espanyol; malaki ang pagkakapareho ng Dutch at German pero naghihiwalay sila sa ilang tunog. Kadalasan, sapat na ang ilang segundo ng malinaw na pananalita para mapag-iba sila.
Ginagawa ito ng maraming recognizer bilang bahagi ng pagkilala sa mga salita. Tinutukoy nila ang wika mula sa simula ng audio, bilang probability para sa bawat wikang alam nila. Dalawang bagay ang sumusunod sa disenyong iyon. Laging nagdaragdag sa isa ang mga probability, kaya walang sagot na "walang wika": ang katahimikan, ubo o music sting ay nakakakuha rin ng wika, kadalasan may kumpiyansang score. At ang desisyon ay ginagawa mula sa simula, na siyang pinakamasamang sample na maaari mong piliin. Maraming recording ang nagsisimula sa pagbati, pangalan at pangalan ng lugar, na may napakakaunting signal ng wika: ang "Good morning, Maria, welcome to Berlin" ay halos kasing-German ng English. May iba namang nagsisimula sa katahimikan o ubo, at ang detector na pinapili sa ganoon ay magdedesisyon pa rin, nang may kumpiyansa, batay sa wala talagang laman. Nangyayari rin ito sa totoong audio: ang sermon sa Romanian na nagsisimula sa ingay ng kuwarto at "Bună dimineața" ay madaling marinig bilang Italyanong "Buona domenica", nang buong katiyakan.
Mas mahal din ang halaga ng maling sagot kaysa sa tunog nito. Ang recognizer na nagde-decode sa maling wika ay hindi lang nagmamali ng baybay; muli nitong isinusulat ang pangungusap. Ang "For God so loved the world", nang i-decode bilang Romanian, ay naging "Forgot to love the world". Ang Romanian na "mândria slujește", nang i-decode bilang English, ay naging "Pride serves", na tumpak na pagsasalin ng pangungusap na walang humiling na isalin. Matatas ang mga salita at walang anumang palatandaan sa transcript na may mali, at iyon ang nagpapamahal sa error.
Limang bagay ang pinakamadalas na nanlilinlang sa mga detector:
Alin sa mga ito ang tatama sa iyo ay nakasalalay kung live dumarating ang audio o nasa file na.
Sa live na transcription, walang buong recording na titingnan. Dumarating ang audio habang sinasalita, at kailangang dumating din ang transcript kasabay nito. Kaya ang wika ay natutukoy habang nagsasalita ang nagsasalita, at sinusundan kung lumipat sila. Ito ang ibig sabihin ng note sa ilalim ng switch na Spoken language kapag sinimulan mo ang live na transcription sa Dashboard: awtomatikong natutukoy ang wika ng nagsasalita, at maaari silang lumipat anumang oras.
Kinukumpirma muna ang pagpapalit bago ito ipatupad, kaya hindi nahihila ang transcript sa ibang wika dahil sa iisang maingay na bahagi. Ang mahinang bahagi ay ang simula: kung ang unang mga salita ay maingay na pagbati, maaaring lumabas sa maling wika ang unang linya. Naiiwasan ito kapag pinangalanan ang wika.
Iba ang takbo ng mga file, dahil buo na ang recording.
Mas madaling problema ang file: hindi na kailangang magtiwala sa unang ilang segundo. Para sa file, nadedesisyunan ang wika mula sa buong recording, kaya hindi maitatakda ng maingay na pagbati sa simula ang resulta.
Working assumption pa rin ang wika ng file, hindi huling hatol. Ang recording na tunay na nagbabago ng wika sa kalagitnaan, gaya ng interview na lumilipat mula English patungong Romanian sa ikalawang kalahati, ay sinusundan sa halip na pinipilit, at ang recording na nagpapalit-palit ng wika sa buong haba ay hinahawakan din.
Ang detector na nagdedesisyon nang minsan at hindi na bumabalik ay tiwala sa maling lugar.
Walang detector na malaki ang naitutulong kapag maingay ang buong recording. Ang detection ang default dahil tama ito sa karamihan ng pagkakataon at wala kang ginagastos. Pero sa ilang recording, dapat mong pangalanan ang wika, at sinasabi ng Dashboard kung alin ang mga iyon: ang pagtukoy sa sinasalitang wika ay nagpapabuti ng katumpakan sa maiingay na recording at sa mabibigat na accent.
Ito ang mga kasong pinakakaunti ang mapagkukunang mayroon ang detection. Inaalis ng ingay ang mga cue na inaasahan ng detector; inililipat ng mabigat na accent ang mga ito patungo sa ibang wika; at kakaunti na ang cue ng magkakaugnay na pares sa simula pa lang. Mahirap tukuyin ang isang English na nagsasalita na may matinding Portuguese accent sa maalingawngaw na bulwagan mula sa tunog lang, at kapag mali ang pagkakatukoy, gagawing Portuguese ang English na pananalita hangga't tumatagal ang pagkakamali. Inaalis ng pagpapangalan ng wika ang tanong, kaya buong pagsisikap ay napupunta sa mga salita.
Maikling checklist:
Ang pagpapangalan ng wika ay setting ng transcription, hindi ng account mo, kaya maaari mong piliin kada recording. Ang lahat ng nasa itaas ay nauuwi sa iisang API option.
spokenLanguage, ibig sabihin ay detect; session.update habang tumatakbo ang streamSa API, ang spokenLanguage ay language code gaya ng en; kapag inalis mo ito, natutukoy ang wika. Lumalabas ito sa settings ng file o link transcription at sa mga option ng realtime session. Magkapareho ang 100 wikang sakop ng detection at ng pagpapangalan. Ang pagsasalin sa hanggang 10 sa mga ito ay hiwalay na pagpili, at hindi ito nakadepende sa kung anong wika ang natukoy o pinangalanan. Ang paraan ng pagsabay ng pagsasalin sa pananalita ay paksa ng Ang latency ng live na pagsasalin, ipinaliwanag.
{ "name": "Board meeting", "settings": { "spokenLanguage": "en", "speakerLabels": "auto" } }
Tinatanggap din ng realtime session ang parehong option kapag ginawa ito, at maaari mo itong palitan habang umaagos ang audio. Ang session.update text frame na may bagong spokenLanguage ay ina-apply sa pananalita mula sa puntong iyon; ang pagtatakda nito sa "" o "auto" ay ibinabalik ang session sa detection, at ang hindi suportadong code ay binabalewala. Ang caption view na may button ng wika ay puwedeng hayaan ang operator na pangalanan ang wika sa sandaling makita nila ang maling unang linya, nang hindi nire-reconnect.
{ "type": "session.update", "spokenLanguage": "ro" }
Nasa GET /v1/languages ang listahan ng mga code kasama ang mga pangalan nito, at hindi ito nangangailangan ng key. Nasa Real-time na transcription sa WebSocket ang buong realtime flow, mula sa paglikha ng session sa iyong server hanggang sa pagbasa ng mga draft at commit, at nasa {{api}}/docs ang interactive reference. Sa Dashboard, parehong pagpili ang Spoken language switch kapag sinimulan ang bagong transcription, at ang mga key para sa API ay nasa ilalim ng Developers.