lauantai 19. marraskuuta 2011

Tätä on odotettu: suomenkielinen puheentunnistus

Vihdoinkin se on totta: ohjelma, joka tunnistaa suomenkielistä puhetta suoraan sanelusta. Ja mikä parasta, ohjelma toimii matkapuhelimessa! Aluksi tosin vain Applen iPhonessa, mutta myöhemmin on luvassa myös Android ja ilmeisesti myös Windows Phone -versiot.

Ohjelma on Nuance Communicationsin Dragon Dictation. Yritys ei ehkä kuulosta tutulta, mutta sen teknologiaa käytetään useimmissa puheentunnistusjärjestelmissä. Jopa Applen Siri-tekoälyn puheentunnistus perustuu Nuancen teknologiaan. Kaikessa hiljaisuudessa Nuance on ostanut lähes kaikki vanhat puheteknologiaa kehittäneet yritykset.

Dragon Dictation pilkkoo puheen osiin jo matkapuhelimessa. Tulos lähetetään datayhteydellä palvelimelle, joka suorittaa varsinaisen tunnistuksen. Muutaman sekunnin kuluttua valmis teksti palautetaan puhelimeen.

Käyttöliittymä on yksinkertainen: siinä on vain punainen nappi:

Kun nappia painetaan, ohjelma avaa puhelimen mikrofonin ja tallentaa sanelun:

Sanelu lopetetaan painamalla Valmis. Asetuksista voi valita myös automatiikan, joka lopettaa äänityksen ja aloittaa tulkinnan automaattisesti, kun puheeseen tulee sopiva tauko.

Lopuksi ohjelma näyttää sanelun muutettuna tekstiksi:

Jos jokin kohta on tulkittu väärin, sen voi merkitä sormella tökkäämällä ja korvata uudella sanelulla. Alareunan painikkeilla sanelu siirtyy tekstiviestiksi, sähköpostiksi, leikepöydälle tai Twitter/Facebook-päivitykseksi (näissä oli kokeillessani jokin tilapäinen ongelma).

Sanelun pituudella ei ilmeisesti ole teknistä ylärajaa. Pitkä teksti kannattaa sanella osissa, jolloin uusi tunnistus jatkaa tekstiä aina vanhan perään. Ohjelma toimii myös iPadeissä.

Ohjelma on pelkkä iPhone-sovellus, joten Apple ei salli sen integroimista käyttöliittymään. Siksi ohjelmalla ei voi ohjata puhelinta eikä esimerkiksi komentaa puhelinta aloittamaan sanelua tai viestin kirjoittamista. Edes saapuneeseen sms- tai sähköpostiviestiin ei voi vastata, vaikka juuri niissä tilanteissa sanelulle olisi eniten käyttöä.

Ja sitten se tärkein kysymys: miten luotettavasti tunnistus toimii? Hämmästyttävän hyvin. Rauhallisesti puhutun perustekstin tunnistus onnistui itseltäni ainakin 95-prosenttisesti. Valmistaja kertoi, että tunnistus oppii vielä paremmaksi käytön myötä. Muisti on laitekohtainen.

Mikään ohjelma ei voi tuntea kaikkia suomen sanoja. Valmistajan mukaan tietokannassa on ainakin 300 000 suomenkielistä sanaa. Virheitä näytti tulevan jonkin verran sanojen sija- ja aikamuodoissa (sanelen/sanelin), mikä on hieman outoa, koska nämä kuulostavat selvästi erilaisilta. Aivan kuin haku tietokannasta ei suomen kielen loputtomien sijamuotojen vuoksi olisi aivan tarkka.

Sen sijaan ohjelman kyky erotella sanat toisistaan on ällistyttävä. Puhetta ei tarvitse painottaa luonnottomasti eikä tauottaa keinotekoisesti. Toiminta riippuu myös oman puheen selkeydestä, joten lopullinen toimivuus selviää vasta itse kokeilemalla. Tv-juontajan puheentunnistus ei onnistunut, mutta se saattoi johtua myös kaiuttimesta.

Tunnistus toimii yllättävän hyvin myös autossa tai taustahälinässä. Ohjelma onkin omiaan tekstiviestien tai sähköpostien saneluun.

Paketin toinen ohjelma on Dragon Search, joka etsii puhutut sanat Googlesta, Wikipediasta, Youtubesta ym. Hausta voi olla hyötyä autoilijalle, joka etsii esimerkiksi yrityksen osoitetta tai haluaa selvittää mihin asti tavaratalo on avoinna.

Puheentunnistus ei ole täydellistä, mutta lopputulos on vähintään yhtä hyvä kuin iPhonen näppäimistöltä kirjoitettaessa. Silloin puhelin vaihtelee itse sanoja toiseksi. Jos "oikeinkirjoitus" on kytketty pois päältä, tekstiin jää lyöntivirheitä.

Yksi ongelma on kuitenkin jäljellä: lyhyt tekstiviesti tai FB-päivitys on helppo sanella, mutta jo sähköpostiviesti tai muu pidempi teksti vaatii ennakkosuunnittelua. Harva pystyy miettimään tekstin päässään niin valmiiksi, että sen voi syöttää sanelemalla. Vaikka tunnistus onnistuisi 100-prosenttisesti, lopullista tekstiä pitää muokata asian saamiseksi ymmärrettävään muotoon. Puheentunnistus on hyvä väline tekstin syöttöön, mutta editoinnissa tarvitaan näppäimistöä.

Itse olen ällistynyt toimivasta puheentunnistuksesta. Muistan ensimmäiset 1980-luvun hardware-lisäkortit, joilla pc yritettiin saada tunnistamaan muutamia englanninkielisiä avainsanoja. Ne eivät koskaan toimineet kunnolla. Testasin myös 1990-luvulla useita IBM Viavoicen ja Dragonin ohjelmia, jotka vaativat parin tunnin harjoittelun ja erillisen headsetin. Lopputuloksena oli auttavasti toimiva englanninkielen sanelu.

Nyt kaikki toimii puhujariippumattomasti, ilman harjoittelua, matkapuhelimessa - ja vieläpä suomeksi! Se on vähintäänkin hämmästyttävää. Tätä päivää en uskonut näkeväni.

Kehitysmahdollisuudet ovat huimat. Dragonin ohjelma tekee pelkän tunnistuksen, mutta siihen olisi helppoa yhdistää myös käännös. Muutaman vuoden kuluttua ikiaikainen unelma vieraan kielen simultaanitulkista muuttuu todeksi. Jo nyt Google Translate (ja erityisesti sen Conversation mode) toteuttaa tästä suuren osan.

Dragon Dictate tulee ilmaisena latauksena iTunesiin 23.11.2011. Ohjelma löytyy helpoiten hakutoiminnolla, hakusanaksi Nuance.

16 kommenttia:

Hermiitti kirjoitti...

Lääkäreistä kun on ollut puhetta viime aikoina tässäkin blogissa, niin tuli vaan mieleeni, että voisiko tätä saneluihmekonetta käyttää lääkäreiden saneluiden puhtaaksikirjoittajan apuna?

Itselleni taas on kirjoittaminen huomattavasti helpompaa kuin puhuminen, joten siksi en ehkä ikinä siirry kirjoittamisesta saneluun missään palveluissa ellei ole pakko.

Ilari Stenroth kirjoitti...

Muuten kiva, mutta tällä ei voine sanella luottamuksellisia viestejä, kun kerran kaikki sanelu lähetetään verkkoon ja palveluntarjoajan palvelimille. Stand-alone -puheentunnistussovellus voisi avata ovia innovaatioille muun muassa vanhusten ja invalidien apuvälinekehityksessä.

Ilkka Pirttimaa kirjoitti...

Olisipa kiva, jos heiltä tulisi API, jolla tuon voi liittää muihin sovelluksiin.

Kariw kirjoitti...

Odotan innostuneena: Ehkä saan taas jotakin aikaan, kun en voi puolustella saamattomuutta sujuvan näppäimistön puutteella. Kiitos.

jaska kirjoitti...

"Muuten kiva, mutta tällä ei voine sanella luottamuksellisia viestejä, kun kerran kaikki sanelu lähetetään verkkoon ja palveluntarjoajan palvelimille. Stand-alone -puheentunnistussovellus voisi avata ovia innovaatioille muun muassa vanhusten ja invalidien apuvälinekehityksessä."

Tässä voi olla vaaran paikka, koska esim. lääkäri saattaisi ottaa tällaisen sovelluksen käyttöön asiaa kummemmin miettimättä ja vaarantaisi siten potilaiden yksityisyydensuojan.

Laajemmassa käyttöönotossa tällainenkin näkökulma ehkä jo tajuttaisiin ottaa huomioon.

Petteri Järvinen kirjoitti...

Eipä taida olla puheentunnistuksella paljon merkitystä, kun lääkärin tietokoneen tiedostot on luultavasti varmuuskopioitu amerikkalaiseen pilvipalveluun...

Igor kirjoitti...

Microsoftin englanninkielisessä Wordissa on ollut jo useissa versioissa vakiona mukana Speech-to-Text englanninkielisenä. Se on lisensioitu joltain laatufirmalta (en muista keneltä!) ja se on ollut ihan toimiva:
http://support.microsoft.com/kb/306901

Mutta on jo aika saada kohtuuhintaista suomenkielellekin. On jotain kokeiluja ollut ja on jotain kaupallisiakin (kalliita?) puheentunnistussovelluksiakin ollut tarjolla:
http://lingsoft.fi/?lang=fi&doc_id=36&aw&gclid=CO6w8s-vw6wCFcQXzQodrXsopw

Hermiitti kirjoitti...

Juu, kumminkin käsitin, että puheentunnistaminen on käynyt koneelle helpommaksi. En ole perillä näistä tietoliikenneasioista ikinä ollutkaan.

Anonyymi kirjoitti...

@Hermiitti: Nuancen tuotteita käytetään jo lääkärihommissa maailmalla juurikin saneluun. Tämä iPhone-sovellus on vain ns. julkinen proof of concept. Ja on muuten tilanteita, joissa se kirjoittaminen ei ole puhumista helpompaa: esim. autoillessa ei sähköpostien (tai tekstiviestien) naputtelu ole kovin helppoa.

@Ilari Stenroth: nykyisten laitteiden laskentakyky ei oikein piisaa stand-alone-tunnistukseen. Vaatii lisäksi melkoisen sanakirjaston.

@Ilkka Pirttimaa: API on ollut saatavilla jo pitkään, joten ei muuta kuin kehittämään vaikka pelejä.

mr kirjoitti...
Kirjoittaja on poistanut tämän kommentin.
mr kirjoitti...

Tein blogitekstin innoittamana tällaisen.

Päivänavaus

MR

Ilkka Pirttimaa kirjoitti...

@mr kiitos vinkistä. Latasin APIn -- Sitä on helppo käyttää, mutta suomenkieltä ei ole tuettuna, ei puheen tunnistuksessa eikä puheen tuottamisessa.

Ilkka Pirttimaa kirjoitti...

@mr kiitos vinkistä. Latasin APIn -- Sitä on helppo käyttää, mutta suomenkieltä ei ole tuettuna, ei puheen tunnistuksessa eikä puheen tuottamisessa.

Anonyymi kirjoitti...

Eipä löydy Suomen Appstoresta, eikä suostu Jenkkilässä suomalaiselle appleid:lle myymään. Kiertotie hankkimiseen?

Anonyymi kirjoitti...

@Ilkka Pirttimaa: Nuancelta kerrottiin että suomen kieli tulee myöhemmin saataville tuohon SDK:n.
Ohjelmistonhan voi kehittää jo nyt.

Kuitenkin kieli taitaa olla vain yksi parametri, koska tunnistus tehdään palvelimella?

Petteri Järvinen kirjoitti...

Latausosoitteet:

Dragon Dictation iPhonelle/iPadille: http://itunes.apple.com/fi/app/dragon-dictation/id341446764?mt=8,

Dragon Search iPhonelle: http://itunes.apple.com/fi/app/dragon-search/id341452950?mt=8

Website Security Test