Veel keeletuvastusest

earth.png

Nagu ikka, tuleb kõigepealt ise jalgratas leiutada ja alles siis uurida, et kas keegi juba varem midagi taolist teinud pole. Tavaliselt on.

Igatahes, viimased paar päeva olen uurinud n-gram’ide teooriat ehk seda, mis on (reeglina) keeletuvastuse taga (muuhulgas saab n-gram’e ka teisteks vajadusteks kasutada, aga konkreetselt on siis juttu keeletuvastusest).

Meie süsteemis käivad asjad küll natuke teisiti, meie nimelt arvutame kokku üldise sõnade esinemise (mitte järgnevuse) sageduse mingis keeles ning omistame igale sõnale teatud punktide arvu (ja seda logaritmiliselt, kuna vähemalt üks keerulisem valem peaks ikka süsteemis kasutusel olema või mis). Ja kui nüüd mingit tundmatut teksti analüüsime, siis vaatame palju tekst vastavalt esinenud sõnadele mingis keeles punkte saab ning suurima punktiarvuga keele pakumegi vastusena välja.

Tavaliselt see töötab, aga alati mitte – juhul kui on tegu keelega, mille sõnu süsteemis sees pole või on analüüsitav tekst liiga lühike ning sisaldab sõnu, mis on mitmes keeles olemas (nt: “on”). Kuid need juhused on õnneks seda harvemad, palju keeli sisse süsteemi jõuab kanda. Vaevalt et näiteks Eestis või Leedus väga-väga palju vietnami või mõne eksootilise Aafrika keele huvilisi olema satub, nii et valede tulemuste tõttu kasutatava süsteemi toimimise sassi löövad.

Blog.tr.ee-s oleks taolist keeletuvastust vaja näiteks selleks, et kui me tahaks lubada inimestel kõiki suvalisi blogisid süsteemi sisse lükata, aga samas soovime, et inimesed näeksid esilehel vaid omakeelseid asju. Tuleb eestlane lehele ja näeb esilehel eestikeelseid asju, tuleb soomlane, näeb soomekeelseid.

[Hetkel tunneb pooleliolev blog.tr.ee uus versioon juba ära järgnevaid (17) keeli: eesti, hispaania, inglise, läti, leedu, norra, poola, portugali, prantsuse, rootsi, rumeenia, saksa, soome, tšehhi, türgi, ungari ja vene keelt.]

Hobilingvistidele, kes vajavad natuke keerulisemaid keeli ära tundmiseks, kui meie keeledemo sait seda võimaldab, soovitan kasutada programmi nimega Lextek language Identifier (tunneb ära üle 260 keele), mida saab tõmmata siit.