Chatbot-terminologian esittely

Chatbot on ihmisille paluu perinteisiin kommunikaation muotoihin: teksti ja ääni. Nämä ovat keskusteluissa tyypillisesti käytettäviä viestintäväyliä, joten voidaan puhua myös keskustelevista käyttöliittymistä (engl. conversational user interface). Kyse on siis robotista, jolla voi lähettää viestejä ja joka vastaa niihin mielekkäällä tavalla. Chatbotin synonyyminä käytetään usein myös sanaa botti. Botti voi myös tarkoittaa muissa yhteyksissä jotain muuta.

Chatbot on käyttäjän luonnollisella kielellä kirjoittamaan viestiin vastaava ohjelmisto. Kyse on siis input/output-järjestelmästä, jossa järjestelmälle lähetetään viesti (input), joka muuttaa järjestelmän sisäistä tilaa, ja vastaa käyttäjälle (output). Syötteen ja vasteen lisäksi chatbotilla on sisäinen tila, joka koostuu tyypillisesti sijainnista keskustelupolussa ja käyttäjän antamista tiedoista (keskustelun sisäiset muuttajat).

Hyvin suunniteltu sisältö, eli dialogi vaikuttaa keskustelevalta. Dialogi on ennakolta suunniteltu polku keskustelulle (keskustelupolku), jossa keskustelu haarautuu riippuen käyttäjältä kerätyisetä tai muualta kerätyistä tiedoista. Dialogien suunnittelemisessa käytetään bottimuotoilua. Dialogien asiasisältöä ja opetusdataa tekee bottikuiskaaja.

Osaa chatboteista voidaan kuvata termillä nappibotti. Se tarkoittaa chatbottia, jolle käyttäjä voi vastata valitsemalla ennakkoon valituista vaihtoehdoista painamalla nappia. Joskus käytetään myös termiä ”sääntöpohjainen botti”.

Keskusteleva tekoäly, eli AI-chatbot, on yksi chatbottien alakäsite. Keskustelevuus on illuusio älykkyydestä, eikä nykyinen teknologia kykene aitoon ihmisen kaltaiseen keskusteluun. Keskustelevan tekoälyn perusperiaate on luokitella käyttäjän tuleva viesti. Tyypillisesti luokittelu tehdään aikeen, eli intention, mukaan. Esimerkiksi käyttäjän aie voi olla tehdä soittaa, jolloin hänelle tarjotaan puhelinnumeroa. Aikeet voidaan luokitella aiehierarkiaksi, jossa sisemmillä tasoilla on tarkemmin tunnistettu aie, ja ylätasoilla on aihepiiri. Myös konteksti voidaan joskus ymmärtää aikeen yläkäsitteeksi, toisaalta joskus konteksti tarkoittaa käyttäjästä kerättyjä tietoja (muuttujia), eikä kontekstille ole yksiselitteistä määritelmää.

Tekoäly kannattanee ymmärtää tässä yhteydessä lopputuloksen pohjalta: osaako botti vastata käyttäjän viesteihin todellisessa tilanteessa. Ihmisille on tyypillistä, että kirjoituksemme on ainutlaatuista ja täsmälleen samanlaisina toistuvat sanavalinnat ovat poikkeuksia. Tästä näkökulmasta ”toistuvia kysymyksiä” ei ole olemassa, vaan käyttäjät kysyvät samaa asiaa eri tavoilla.

Tyypillistä keskustelevaa tekoälyä opetetaan antamalla opetus- tai esimerkkilauseita (engl. utterance) käyttäjän hypoteettisista viesteistä. Tekoälyn tehtävä on oppia esimerkeistä, niin ettei kaikkia sanoja, lauserakenteita tai sanoja tarvitse opettaa. Kyse on tällöin koneoppivasta järjestelmästä ja ohjatusta oppimisesta. Toinen toteutustapa on hyödyntää sääntöpohjaista tekoälyä, jolloin kuvataan esimerkiksi mitä sanoja saa tai ei saa olla käyttäjän viesteissä kussakin aikeessa. Tyypillistä on, että chatbotin tekoälyjärjestelmä ja tekstinymmärryksen toteutustapa (NLP/NLU pipeline) koostuu joukosta tehtäviä, joista osa on koneoppimiseksi luokiteltavia algoritmejä. Puhtaasti yksittäiseen algoritmiin (esim. syväoppivat neuroverkot) pohjautuvat chatbotit ovat harvinaisia, ja niidenkin tuloksia voitaneen parantaa esi- tai jälkikäsittelyllä.

Palvelubotit tarkoittavat chatbotteja, jotka kykenevät tekemään toimenpiteitä kysymyksiin vastaamisen lisäksi. Esimerkiksi palvelubotti voi tehdä soittopyynnön johonkin toiseen järjestelmään, tallentaa huoltopyynnön tai vaikka tehdä monipuolisen ostotapahtuman käyttäjän puolesta. Palvelubotit vaativat taustajärjestelmäintegraatioita, jotka useimmiten tehdäään käsityönä tai integraatiohubin avustuksella.

Bottiverkosto, eli multibotit, ovat botin kyvykkyys siirtää keskustelu botilta toiselle. Käytännössä tämä voi näkyä niin, että chatbot ehdottaa siirtymistä toiseen bottiin, tai käyttöliittymä siirtyy botista toiseen automaattisesti. Käyttäjä ei aina edes huomaa bottisiirron tapahtuneen.

Nykyaikaisilla chatboteille voitaisiin käyttää nimitystä hybridibotteja. Luokittelu nappi-, tekoäly-, ja palvelubotteihin voi olla hyödyllinen osana bottimuotoilua. Kaupalliset toimijat käyttävät termejä myös korostaakseen omia vahvuuksiaan. Moderneista ratkaisuista löytyy kuitenkin lähes aina kaikkien näiden osia.