Mitä ohjelmointikieliä käytetään chatbottien luomiseen?

Suosittuja kieli chatbottien toteutukseen ovat kaikki yleiset ohjelmointikielet. Periaatteessa kaikkein vahimmatkin tietokoneohjelmat ovat olleet jonkinlaisia “chatbotteja”: niille annetaan kirjallinen käsky ja ulos tulee vastaus tekstinä. Nykyään chatbot voi tarkoittaa tekoälyllä varustettua keskustelukumppania tai vaikkapa nappien avulla vaihe vaiheelta avautuvaa valikkoa, eikä sille ole yhteisesti sovittua määritelmää. Oikeastaan kaikki ohjelmat, missä syötteenä ja tulosteena on tekstiä, ovat eräällä tapaa chatbotteja.

Yleisiä chatbot-ohjelmointikieliä ovat C#, Java, ja PHP. Erityisasemassa ehkä on Python, koska siinä on paljon valmiita kirjastoja luonnollisen kielen analysointiin, tilastollisiin menetelmiin ja koneoppimiseen.

Ohjelmointikielten sijaan tärkeämpää on yleensä ohjelmistokehyksen (framework) valinta, kuten .NET ja NodeJS. .NET:ssä käytetään C#-ohjelmointikieltä ja NodeJS:ssä JavaScriptiä. Usein kehykset kulkevatkin käsi kädessä ohjelmointkielen kanssa.

Edelleen niiden päälle on rakennettu chatbottien rakentamiseen tarkoitettuja kehyksiä. .NET ja Java ovat ensisijassa kaupallisten chatbot-ohjelmistojen kieliä, joista ehkä suosituin on Microsoft Bot Framework.

Joitain suosituimpia avoimen lähdekoodin chatbot-kehyksiä ovat Rasa (Python), Botkit (Javascript), Chatterbot (PHP), Botpress (Javascript) ja Botman (PHP) Niistä voit lukea lisää esim. täällä The Most Popular Chatbot Projects on GitHub – Chatbot Pack

Olen nähnyt myös varsin hienoja komentoskriptitiedostolla (.bat) tehtyjä chatbotteja. Näissä tekijän oivalluskyvyn avulla voidaan saavuttaa hienoja tuloksia ja kiertää ohjelmointiympäristön rajoitukset.

Ohjelmointikielien lisäksi chatbotteja voidaan tehdä kuvauskielillä (markup language). Kuvauskielten avulla tuodaan chatbot-ohjelmistoon tietosisältö, jota käsitellään muulla ohjelmointikielellä tehdyillä algoritmeillä. Ylivoimaisesti suosituin kuvaus kieli on Artificial Intelligence Markup Language, eli AIML. Siitä voit lukea lisää täällä: AIML Chatbots – Chatbot Pack

Yllä on kuvattu ohjelmointityökaluja, joilla chatbotin voi ohjelmoida itse. Chatbotin ohjelmointi itse voi kuitenkin olla hukkaan käytettyä aikaa, sillä markkinoilla on paljon erilaisia chatbot-alustoja ja -rakennusympäristöjä. Ne tarjoavat valmiita graafisia työkaluja chatbotin tekemiseen, logeihin, analytiikkaan, tietoturvaan, integrointeihin ja niin edelleen. Chatbotin ohjelmointi on monesti nopeaa ja helppoa, mutta näiden oheistoimintojen rakentaminen ei välttämättä niin helposti onnistu. Kehitän yhtä tällaista chatbot-alustaa päivätyökseni (chatbotpack.fi)