Opinie transmisa pe platforma Oamenii din Spatele Codului de Stefania Budulan, AI Software Engineer in cadrul Tremend, membra a Smart Alliance – Innovation Technology Cluster.

Intr-un proiect anterior, in care am dezvoltat o solutie de tip Chatbot, am descoperit mai multe informatii care ne-au ajutat la avansarea proiectului, dar care au si adus mai multa claritate in privinta functionalitatilor si limitarilor acestor ”creaturi” cu inteligenta artificiala.

In acest articol, voi aborda un mit comun - acela ca un chatbot poate purta conversatii complexe, indiferent de subiect. In realitate, exista distinctii clare intre tipurile de chatbots, fiecare avand anumite limitari. Am expus, mai jos, doua tipuri de clasificari care simplifica alegerea unui chatbot.

1. Destinat conversatiei vs. Orientat pe anumite actiuni

Aceasta prima clasificare imparte agentii conversationali in chatbots destinati mentinerii unei conversatii - creati pentru a fi interesanti, creativi sau amuzanti, si chatbots care ofera suport clientilor sau functioneaza ca asistenti personali, ajutand utilizatorii sa duca la bun sfarsit o anumita sarcina.

AIception, startup-ul...
Citeste si: Startup-ul romanesc de AI care pregateste o solutie pentru Volkswagen

1.1. Bots destinati conversationali

Un chatbot din prima categorie nu are ca obiectiv rezolvarea unei cerinte specifice, fiind, mai degraba, axat pe conversatie - ofera raspunsuri cat mai creative, evita repetitiile si aduce informatii de interes pentru interlocutor. Un astfel de chatbot poate fi dezvoltat pornind de la un model Sequence to Sequence si antrenat cu perechi de intrebari si raspunsuri. Un exemplu relevant ar putea fi chatbot-ul care vorbeste ca Shakespeare, antrenat initial pe operele originale, sau Replika, o aplicatie al carei scop este sa invete stilul de scriere al interlocutorului pentru a-l replica. Un alt exemplu este Woebot, dezvoltat de Andrew Ng - un nume cunoscut in domeniul Inteligentei Artificiale (IA), creat pentru a ajuta oamenii prin CBT (cognitive behavior therapy, sau terapie cognitiv-comportamentala) si procesarea limbajului natural (NLP). Alte scenarii de utilizare includ generarea anumitor povesti despre locurile noi pe care le vizitezi, sau ascultarea unor descrieri linistitoare ale naturii in timp ce te bucuri de tratament la un centru spa.

1.2. Bots orientati pe anumite actiuni

In cea de-a doua categorie avem chatbots dezvoltati pentru a indeplini sarcini, in contextul anumitor scenarii, cum ar fi plasarea unei comenzi, programarea unui eveniment sau solutionarea unei probleme tehnice. Majoritatea gigantilor din domeniu ofera instrumentele necesare pentru dezvoltarea propriului chatbot, adaptat specificatiilor particulare si usor de integrat cu propriile servicii si dispozitive, precum platforme cloud sau aplicatii de mesagerie. Printre cele mai populare platforme pentru constructia unui bot de la zero se numara Dialogflow de la Google, Amazon Alexa, Bot Framework de la Microsoft, Wit de la Facebook sau Watson de la IBM. In general, aceste optiuni ofera o interfata pentru personalizarea unui set de intentii, entitati si actiuni efectuate in momentul atingerii anumitor stari in cadrul conversatiei, precum si un instrument pentru testarea botului nou dezvoltat.

Reforma drepturilor de autor,...
Citeste si: Parlamentul European a adoptat reforma drepturilor de autor in online

Beneficiile folosirii uneia dintre aceste optiuni sunt incontestabile: puteti obtine un produs minim viabil (MVP), fara a avea prea multe cunostinte anterioare despre IA, puteti proiecta chatbot-ul pentru a se potrivi unui domeniu specific si il puteti integra cu alte servicii pe care le utilizati deja. Mai mult, unele dintre ele pot fi utilizate la nivel de companie gratuit si multe sunt disponibile in mai multe limbi.

2. Chatbots generali vs. Specifici unui domeniu

O alta clasificare a chatbots se bazeaza pe tipul de informatii pe care dorim sa le furnizeze.

Pe de o parte, exista chatbots cu domeniu deschis (generali), care ofera informatii pentru intrebari precum "Cum va fi vremea peste trei zile?", "Cand anume s-a nascut Salvador Dali?" sau "Cate specii de broaste exista la nivel mondial? ". Un astfel de sistem, care s-a imbunatatit de-a lungul anilor si care permite gasirea raspunsurilor la tot felul de intrebari, este Google Search. Folosind algoritmul PageRank, impreuna cu tehnicile NLP, cum ar fi recuperarea informatiei si extragerea de informatii, acest sistem actioneaza, practic, ca un agent de conversatie cu fiecare noua cautare.

Acesti roboti sunt greu de perfectionat, deoarece, nu numai ca limbajul este versatil, dar avem nevoie de anumite cunostinte intrinseci existentei umane, pentru a o intelege in mod corespunzator - ceea ce este si mai greu de inteles si exprimat de catre calculatoare. Asistentii personali, cum ar fi Siri (de la Apple), Cortana (de la Windows), Alexa (de la Amazon) sau Google Assistant incearca sa returneze un raspuns pentru fiecare cerinta pe care o primesc, cel putin prin furnizarea rezultatelor corespunzatoare cautarii pe Internet.

Joita, iAgency: Multe...
Citeste si: Joita, iAgency: Multe brand-uri cunoscute neglijeaza complet SEO

Cu toate acestea, exemplele de mai sus au fost concepute ca agenti de domeniu inchis, si anume pentru a efectua anumite sarcini legate de proprietatile si aplicatiile pe care le puteti gasi pe un anumit dispozitiv. Agentii de domeniu inchis, cunoscuti si ca agenti cu domeniu specific, furnizeaza informatii referitoare la o anumita zona de interes, avand ca scop oferirea raspunsurilor pentru scenarii, in general, simple, precum orientarea vizitatorilor intr-un muzeu si furnizarea de informatii specifice (de ex. locatia unui exponat, anul in care a fost adus etc.). In general, acesti agenti tind sa functioneze bine in practica.

Cu cat scenariile pe care le presupune un chatbot cu domeniu specific sunt mai complexe, cu atat dificultatile de implementare se apropie de cele ale agentilor conversationali generali. Denny Britz, fost intern al echipei Google Brain, explica unele dintre dificultatile implementarii unui astfel de chatbot in acest articol.

Acestea fiind spuse, intrebarea este de ce nu vedem mult mai multi chatbots care indeplinesc sarcini la scara larga, in toate industriile.

Raspunsul scurt este ca aceste sisteme functioneaza aproape fara cusur atunci cand construim scenarii simple, care pot fi usor exprimate printr-un set restrans si aproape complet de exemple si reguli. Ori de cate ori dorim sa adaugam un strat de complexitate, cum ar fi procesarea separata a unei parti din fluxul conversatiei sau specificarea cuvintelor din vocabular ca entitati cu alte valori semantice decat cele pe care le folosim in mod obisnuit, lucrurile devin mai greu de gestionat printr-un model generic.

Desi scopul propus al acestor agenti este inlocuirea muncii obositoare si repetitive a agentilor umani, parerea noastra, pe care ne-am format-o in urma experientei acumulate si pe care o vom detalia intr-un articol viitor, este ca acest lucru nu implica numai crearea si antrenarea unui model complicat de retele neurale.

Sursa foto: Phonlamai Photo_Shutterstock