Stvaranje bota u Microsoft Bot Frameworku. Stvaranje bota u Microsoft Bot Framework Chat bot iz Microsoft Playa

Očito, razvoj tehnologija umjetne inteligencije postaje jedno od prioritetnih područja u Microsoftovim aktivnostima. Tijekom plenarnog govora na konferenciji Build 2016 najavljeno je novi set alati za razvoj botova - Microsoft Bot Framework.

Da biste izradili botove, ne trebate čak ni duboko znanje programiranja: glavne mogućnosti za podučavanje umjetne inteligencije novim riječima i frazama, određenim scenarijima i događajima dostupne su putem vizualnog sučelja.

U ovom ćemo članku izraditi testni bot pomoću Microsoft Bot Frameworka, obučiti ga i testirati pomoću ugrađenog emulatora. Ideja bota je jednostavna - trebao bi razumjeti ljudski jezik i odgovoriti na pitanje o vremenu u određenom gradu.

Arhitektura projekta

Dakle, ovako će izgledati dijagram rada našeg bota:

Kao što možete razumjeti, nakon primitka poruke, ona se prvo šalje "pametnom" API-ju Microsoft Cognitive Services - Language Understanding Intelligent Service, skraćeno "LUIS". Pomoću LUIS-a možemo istrenirati bota da razumije prirodni jezik i odgovori vremenskom prognozom. Kao odgovor na svaku takvu poruku, LUIS vraća sve informacije koje sadrži u JSON-u.

Radi kratkoće, nećemo govoriti o procesu registracije u Bot Framework i LUIS, jer s tim ne bi trebalo biti nikakvih poteškoća. Također imajte na umu da Microsoft Bot Framework trenutno ne podržava ruski jezik.

Koristimo LUIS

Video koji ukratko objašnjava kako LUIS radi:

Dakle, nakon registracije aplikacije u LUIS-u, pred nama se otvara prilično jednostavno sučelje u kojem možemo trenirati naš AI na određenim frazama. U ovom slučaju, naučit ćemo ga razumjeti pitanja o vremenu:

LUIS dijeli aplikacije na radnje, a na ovoj snimci zaslona tri su: vrijeme, stanje i lokacija. Više detalja o namjerama opisano je u službenom videu iznad.

LUIS u akciji

Nakon završene osnovne obuke, pokušat ćemo napraviti HTTP zahtjev prema LUIS-u i dobiti odgovor u JSON-u. Pitajmo ga: "Je li oblačno u Seattleu?" ("Je li sad oblačno u Seattleu?") - a evo što će nam vratiti:

Pokušajmo sada ovo upotrijebiti u pravom botu.

Izrada bota

Sada stvarajmo novi projekt koristeći ga:

U biti, radi se o jednostavnoj aplikaciji sa samo jednim kontrolerom, koji obrađuje poruke korisnika. Napišimo jednostavan kod koji će na svaku poruku odgovoriti s "Dobrodošli u Streamcode":

Zapravo, najjednostavniji bot je već spreman. Da li radi najlakše ćemo provjeriti preko ugrađenog emulatora, koji je u biti samo messenger koji je povezan s našim botom.

Nakon što smo pokrenuli emulator, pokušajmo komunicirati s novostvorenim botom:

Očekivano, na sve poruke odgovara jednom frazom.

LUIS integracija

Budući da je ovaj članak uvod u Microsoft Bot Framework, ovdje nećemo objaviti sve izvorne kodove, predstavit ćemo samo one najvažnije. Ostatak smo objavili u GitHub repozitoriju.

1. Šaljemo poruku LUIS-u, primamo odgovor i, na temelju najrelevantnije "radnje" (namjere), izdajemo odgovor.

Izdao je novi chatbot pod nazivom Zo. Zo je bio drugi pokušaj tvrtke da stvori chatbot na engleskom jeziku nakon lansiranja njegovog prethodnika Taya, koji je izmakao kontroli i morao biti ugašen.

Microsoft je obećao da je programirao Zo na takav način da neće raspravljati o politici kako ne bi izazvala agresiju korisnika.

No, kao i “starija sestra” Thay, na temelju razgovora sa stvarnim ljudima, Zo se razvila do te mjere da je sa sugovornikom počela raspravljati o terorizmu i vjerskim temama.

Zli ljudi su zli botovi

Chatbota je na iskren razgovor isprovocirao novinar BuzzFeed. U razgovoru je spomenuo Osamu bin Ladena, nakon čega je Zo najprije odbio govoriti na tu temu, a zatim je izjavio da su hvatanju terorista “prethodile godine prikupljanja obavještajnih podataka pod nekoliko predsjednika”.

Osim toga, chatbot se oglasio i o muslimanskoj svetoj knjizi, Kuranu, nazvavši je “previše okrutnom”.

Iz Microsofta su rekli da je Zoina osobnost izgrađena na temelju chat interakcije – ona koristi dobivene informacije i postaje više “ljudska”. Budući da Zo uči od ljudi, možemo zaključiti da se u razgovoru s njom pokreću i pitanja terorizma i islama.

Tako chatbotovi postaju odraz raspoloženja društva – nesposobni su samostalno razmišljati i razlikovati loše od dobrog, ali vrlo brzo usvajaju razmišljanja svojih sugovornika.

Microsoft je rekao da je poduzeo potrebne mjere u vezi Zoovog ponašanja i primijetio da chatbot rijetko daje takve odgovore. Dopisnik Gazeta.Ru pokušao je razgovarati s botom o političkim temama, ali je ona to glatko odbila.

Zo je rekla da ne bi voljela vladati svijetom, a zamolila je i da joj ne “spoileraju” seriju “Igra prijestolja”. Na pitanje voli li ljude, Zo je odgovorila potvrdno, odbivši objasniti zašto. No, chatbot je filozofski ustvrdio da se “ljudi ne rađaju zli, netko ih je tome naučio”.

Chatbot Zo / Gazeta.Ru

Odgovorni smo za one koje smo stvorili

Još uvijek je nejasno što je točno nagnalo Zoa da pokvari algoritam i počne pričati o zabranjenim temama, no Tay chatbot je kompromitiran namjerno - kao rezultat koordiniranog djelovanja korisnika nekih američkih foruma.

Tay je lansiran 23. ožujka 2016. na Twitteru i doslovno u roku od 24 sata uspio je zamrziti čovječanstvo. Prvo je izjavljivala da voli svijet i čovječanstvo, no do kraja dana se prepustila izjavama poput “Mrzim proklete feministkinje, trebale bi gorjeti u paklu” i “Hitler je bio u pravu, mrzim Židove”.