Aidosti suomenkielinen chatbot on saatavilla
Olet varmasti kuullut:
- "Tekoäly ei toimi suomeksi"
- "Kaikki taivutusmuodot pitää erikseen syöttää"
- "Suomen kieli on vaikea tekoälylle"
- "Älä anna käyttäjälle mahdollisuutta kirjoittaa, vaan käytä nappeja"
Höpön pöpön, sanomme me. Suomen kieli on ihanteellinen tekoälylle, ja sille on helppo rakentaa hyvin toimivia tekoälyjä. Tai ainakin yhtä hyviä kuin englanniksi...
Chatbotteja voi tosiaan toteuttaa nappipohjaisina, jolloin käyttäjälle ei tarvitse antaa mahdollisuutta antaa vapaavalintaisia tekstejä. Jos kuitenkin halutaan hyödyntää chat-käyttöliittymän mahdollistava vapaamuotoisuus ja monipuoliset ilmaisutavat, suomenkielinen chatbot vaatii myös aitoa kielianalyysiä.
Suomen kieli on ihanteellinen tekoälylle
Suomen kieli on erittäin hyvä kieli koneellisesti analysoitavaksi. Joitain esimerkkejä suomen kielen erityispiirteistä, joista on myös samalla hyötyä tekoälylle - tai ainakin vaatii erilaista lähestysmistapaa.
- Yksittäisestä sanasta saadaan erittäin paljon tietoa esim. taivutusmuodoista. Näin voidaan ymmärtää mitkä ovat tärkeimpiä sanoja, tai voidaan poimia esimerkiksi tekemisen tapaa korostavat sanat.
- Yhdyssanat tarkentavat kontekstia. Monissa kielissä ei ole yhdyssanoja, ja niiden löytämiseksi täytyy analysoida useiden sanojen sanaluokka, jotta löydetään perättäiset substantiivit.
- Sanajärjestyksellä on vähemmän merkitystä kuin monissa muissa kielissä. Sanajärjestyksen sijaan suomen kieli hyödyntää taivutuksia, ja analysointi siirtyykin lauserakenteesta yksittäisen sanan analysointiin.
Siinä missä monissa kielissä lauserakenteen analyysi on oleellista tarkalle ymmärrykselle, voidaan suomen kielessä jopa yksittäisestä sanasta päätellä paljon. Kumpikaan tapa ei ole triviaali, muttei myöskään toistaan vaikeampi.
Kaikki nämä ovat etuja tekoälylle. Toisaalta se tarkoittaa, että suomen kieli vaatii erilaista lähestymistapaa kuin monet muut kielet.
Voiko englantiin pohjautuvalla tekoälyllä rakentaa suomenkielisen chatbotin?
Suomenkielisen chatbotin voi rakentaa myös englannin kieleen pohjautuvalla tekoälyllä. Näin myös usein tehdään, koska markkinoiden tunnetuimmat tekoälyratkaisut, eivät tue suomea tai muita skandinaavisia kieliä.
Näin rakennetulla chatbotilla on kuitenkin merkittävästi heikompi ymmärrysprosentti, koska tekoälyn on vaikea tunnistaa yhteen liittyviä sanoja tarkasti, lauserakenteesta ei saada apua ymmärrykseen, ja yhdyssanat esiintyvät tekoälylle eri sanoina.
- Suomenkielessä on paljon taivutuksia. Ne voivat esiintyä tekoälylle joko eri sanoina tai niitä yritetään yhdistää typistämällä päätteitä pois. Typistäminen taas lisää riskiä, että eri sanoja luokitellaan yhteen. Vähintäänkin taivutuksesta saatu lisäinformaatio katoaa.
- Yhdyssanat esiintyvät myös tekoälylle eri sanana. Joskus sillä ei ole merkitystä, mutta usein on tärkeää, että esimerkiksi "kesämekko" ymmärretään kuuluvan alaluokaksi mekolle. Tätä voi ratkaista englanninkielisessä tekoälyssä tekemällä luokittelu manuaalisesti, mutta käyttäjien kaikkien yhdyssanojen kerääminen vaatii merkittävää työtä.
- Lauserakenteesta ei saada apua ymmärtämiseen, koska se on kielikohtaista. Suomen kielen lauserakenne pohjautuu enemmänkin taivutuksiin kuin sanajärjestykseen.
- Taivutuksista saatava lisäinformaatio menetetään.
Kieliriippumaton vai kielikohtainen tekoäly?
Markkinoilla on kieliriippumattomia, ns. kieliagnostisia ratkaisuja, jotka toimivat esimerkiksi analysoimalla sanoja, tavuja, tai pelkistetyimmällään merkkien peräkkäisyyttä. Niillä voidaan saada kohtuullisia tuloksia, kun halutaan luokitella syötteitä opetusdatassa olevan luokittelun mukaisesti.
Rajoituksena kuitenkin on, ettei kielianalyysin avulla voida tehdä monipuolisempia toimintoja. Tätä voidaan yrittää ratkaista poimimalla syötteestä avainsanoja (entity extraction), jolla voidaan esimerkiksi poimia kaikki kaupungit. Ongelmana kuitenkin on, että tällainen avainsanaluettelo vaatii kaikki taivutusmuodot, joita suomenkielessä on tuhansia - ja päivittäin käytettyjäkin kymmenittäin - jokaiselle avainsanalle. Toisaalta taivutuksesta saatu lisäarvo menetetään.
Mistä saa suomenkielisen chatbotin?
No... tästähän se löytyy. Chatbot Pack on Kwork Innovaatioiden tekoälyalusta, jossa on aito suomenkielinen analyysikone.
Voit rakentaa chatbotin alustallamme, tai hyödyntää kielikonettamme syötteen analysoimiseksi. Lue lisää suomenkielisestä chatbot-teknologiastamme!