Miksi sanelu epäonnistuu suomeksi
Olet kokeillut sanelua. Painoit mikrofoni-kuvaketta, puhuit selkeästi, ja sait takaisin tekstin, joka ei muistuttanut sanomaasi. Tämä ei ollut sinun vikasi. Sanelujärjestelmät eivät ole rakennettu suomelle.
Lupaus, joka ei toteudu
Applen, Googlen ja Microsoftin sanelutyökalut lupaavat vapautta näppäimistöstä. Puhu, ja teksti ilmestyy. Yksinkertaista. Paitsi että se ei ole yksinkertaista — ainakaan suomeksi.
Kokeile sanella ”käyttöjärjestelmäpäivitys”. Saat takaisin jotain kuten ”käyttö järjestelmä päivitys” — kolme erillistä sanaa yhden sijaan. Tai ”kayttojarjestelmapaivitys” ilman pisteitä kirjainten päällä. Tai pahimmillaan jotain aivan käsittämätöntä.
Useimmat suomalaiset ovat kokeilleet sanelua kerran tai kahdesti, todenneet sen toimimattomaksi ja palanneet näppäimistön ääreen. He eivät ajattele asiaa enää. Sanelu on jäänyt mieleen työkaluna, joka ei toimi. Mutta ongelma ei ole sanelu itsessään. Ongelma on se, miten se on rakennettu.
Englannin varjossa
Suurin osa puheentunnistusteknologiasta on kehitetty englanniksi. Englanti on kielimallien äidinkieli. Harjoitusdata on pääosin englanniksi. Arkkitehtuurit on optimoitu englannin rakenteelle: lyhyet sanat, yksinkertainen taivutus, selvät sanavälit.
Kun näitä malleja sovelletaan suomeen, ne törmäävät kieleen, joka toimii täysin eri logiikalla. Suomi on agglutinoiva kieli — merkitys rakentuu liittämällä päätteitä ja liitteitä sanan perään. Yksittäinen suomen sana voi vastata kokonaista englanninkielistä lausetta.
”Talossanikohan” tarkoittaa ”I wonder if it might be in my house too”. Yksi sana. Malli, joka on oppinut odottamaan sanavälejä sanojen väliin, ei tiedä mitä tällä tekee.
Ä ja ö katoavat
Suomen kielessä ä ja ö ovat itsenäisiä kirjaimia, eivät a:n tai o:n muunnelmia. ”Tuli” ja ”tuuli” ovat eri sanoja. ”Väli” ja ”vali” tarkoittavat eri asioita. Pisteet kirjainten päällä eivät ole koristus — ne muuttavat merkityksen kokonaan.
Silti monet sanelujärjestelmät kohtelevat ä:tä ja ö:tä toisen luokan merkkeinä. Ne korvataan a:lla ja o:lla, tai ne kirjoitetaan väärin erityisesti silloin, kun sana on monimutkaisempi. Tämä ei ole pieni kauneusvirhe. Se tuottaa tekstin, joka on joko väärin tai käsittämätöntä.
Täytesanojen ongelma
Jokainen puhuja käyttää täytesanoja. Englanniksi ne ovat ”um”, ”uh”, ”like”. Suomeksi ne ovat ”niinku”, ”tota”, ”silleen”, ”tälleen”, ”niin”, ”et”. Ne ovat osa luonnollista puhetta, mutta niillä ei ole paikkaa kirjoitetussa tekstissä.
Englanninkielisten täytesanojen tunnistaminen on kohtuullisen helppo ongelma — lista on lyhyt ja vakiintunut. Suomenkielisten täytesanojen tunnistaminen on huomattavasti vaikeampaa. ”Niin” voi olla täytesana tai merkityksellinen sana kontekstista riippuen. ”Et” voi olla täytesana tai kieltomuoto. Järjestelmän pitää ymmärtää konteksti, ei vain tunnistaa äänteitä.
Perinteiset sanelujärjestelmät eivät tätä tee. Tuloksena on teksti, jossa ”niinku” ja ”tota” toistuvat lauseiden seassa, tehden kirjoitetusta tekstistä lukukelvotonta.
Sanelu, joka ei ymmärrä kielen rakennetta, ei ole sanelua. Se on äänitallenne kirjaimina.
Yhdyssanojen pilkkominen
Suomen yhdyssanat ovat sanelujärjestelmien pahin painajainen. Järjestelmät, jotka on koulutettu englanninkielisellä datalla, odottavat sanavälejä sanojen välissä. Kun suomalainen puhuu ”tietoliikenneyhteysvirhe”, järjestelmä kuulee kolme tai neljä erillistä sanaa ja lisää välilyönnit.
”Tieto liikenne yhteys virhe.” Neljä sanaa, joilla ei ole merkitystä erikseen. Tai pahimmillaan järjestelmä yrittää sovittaa äänteitä muihin kieliin ja tuottaa jotain täysin tunnistamattomia.
Tämä ei ole marginaalinen ongelma. Suomen kieli toimii yhdyssanojen varassa. Niitä ei voi välttää. Jos sanelujärjestelmä ei osaa käsitellä yhdyssanoja, se ei osaa käsitellä suomea.
Pienen kielen kohtalo
Suomea puhuu noin 5,5 miljoonaa ihmistä. Englantia puhuu yli miljardi. Kun teknologiayritykset allokoivat resursseja kielimallien kehittämiseen, suomi ei ole prioriteetti. Se saa murto-osan harjoitusdatasta, murto-osan testauksesta, murto-osan kehitysajasta.
Tulos on järjestelmä, joka ”tukee suomea” — teknisesti. Puheentunnistus on päällä, suomen voi valita asetuksista. Mutta tuen laatu on niin heikko, ettei sitä voi käyttää vakavasti. Se on rasti ruutuun, ei aito ratkaisu.
Suomenkielinen käyttäjä ansaitsee parempaa kuin ”teknisesti tuettu”. Hän ansaitsee järjestelmän, joka todella ymmärtää suomea.
Mitä toisin tehty sanelu vaatii
Suomen kielen sanelu vaatii täysin erilaista lähestymistapaa kuin englannin. Se vaatii mallin, joka ymmärtää agglutinoivan kielen logiikan — että yksi sana voi sisältää useita merkitystasoja ja ettei sanavälejä voi odottaa samoissa kohdissa kuin englanniksi.
Se vaatii ä ja ö:n kohtelua itsenäisinä kirjaimina, ei muunnelmina. Se vaatii suomenkielisten täytesanojen tunnistamista kontekstin perusteella. Se vaatii yhdyssanojen pitämistä kokonaisina. Ja se vaatii riittävästi suomenkielistä harjoitusdataa, jotta malli todella tuntee kielen.
Aivo on rakennettu näiden vaatimusten ympärille. Ei englanninkielisestä mallista muokattuna, vaan alusta asti pohjoismaisia kieliä varten suunniteltuna. Suomen kielen agglutinoiva rakenne, erikoismerkit ja puheenomaisuudet eivät ole poikkeuksia, jotka pitää kiertää — ne ovat lähtökohta.
Sanelu ei ole epäonnistunut. Se ei ole vielä onnistunut. Ero on merkittävä.
Sanelu, joka ymmärtää suomea
Kokeile Aivoa ilmaiseksi — ääninäppäimistö, joka on rakennettu ymmärtämään suomen kielen rakenne. Toimii jokaisessa sovelluksessa.