Bot létrehozása a Microsoft Bot Frameworkben. Robot létrehozása a Microsoft Bot Framework Chat robotban a Microsoft Play alkalmazásból

Nyilvánvaló, hogy a mesterséges intelligencia technológiák fejlesztése a Microsoft tevékenységének egyik kiemelt területévé válik. A Build 2016 konferencia plenáris beszéde során jelentették be új készlet eszközök a botok fejlesztéséhez – Microsoft Bot Framework.

Botok létrehozásához még mély programozási ismeretekre sincs szükség: a mesterséges intelligencia új szavak és kifejezések, bizonyos forgatókönyvek és események tanításának fő képességei vizuális felületen keresztül érhetők el.

Ebben a cikkben létrehozunk egy tesztbotot a Microsoft Bot Framework segítségével, betanítjuk és teszteljük a beépített emulátor segítségével. A bot ötlete egyszerű - értenie kell az emberi nyelvet, és válaszolnia kell, ha egy bizonyos város időjárásáról kérdezik.

Projekt architektúra

Így fog kinézni a robotunk működési diagramja:

Amint érti, az üzenet beérkezése után először a Microsoft Cognitive Services – Language Understanding Intelligent Service „intelligens” API-nak küldik el, rövidítve „LUIS”. A LUIS használatával megtaníthatjuk a botot a természetes nyelv megértésére, és időjárás-előrejelzéssel reagálni. Minden ilyen üzenetre válaszul a LUIS visszaadja a JSON-ban található összes információt.

A rövidség kedvéért nem beszélünk a Bot Frameworkben és a LUIS-ban történő regisztrációs folyamatról, mivel ezzel nem lehet nehézség. Kérjük, vegye figyelembe, hogy a Microsoft Bot Framework jelenleg nem támogatja az orosz nyelvet.

LUIS-t használunk

A LUIS működését bemutató videó röviden:

Így az alkalmazás LUIS-ban történő regisztrációja után egy meglehetősen egyszerű felület tárul elénk, amelyben bizonyos kifejezésekre oktathatjuk AI-nkat. Ebben az esetben megtanítjuk megérteni az időjárással kapcsolatos kérdéseket:

A LUIS műveletekre bontja az alkalmazásokat, és ezen a képernyőképen három közülük van: időjárás, állapot és hely. A szándékokról bővebben a fenti hivatalos videóban olvashat.

LUIS akcióban

Az alapképzés elvégzése után megpróbálunk HTTP-kérést küldeni a LUIS-nak, és választ kapunk JSON-ban. Kérdezzük meg tőle: „Felhős idő van Seattle-ben?” ("Felhős van most Seattle-ben?") - és ez az, amit vissza fog térni hozzánk:

Most próbáljuk meg ezt egy igazi botban használni.

Bot létrehozása

Most pedig alkossunk új projekt használni azt:

Lényegében ez egy egyszerű alkalmazás egyetlen vezérlővel, amely feldolgozza a felhasználók üzeneteit. Írjunk egy egyszerű kódot, amely minden üzenetre „Üdvözlünk a Streamcode-ban” válaszol:

Valójában a legegyszerűbb bot már készen van. A működését a legegyszerűbben a beépített emulátoron keresztül ellenőrizhetjük, amely lényegében csak egy üzenetküldő, amely a robotunkhoz csatlakozik.

Az emulátor elindítása után próbáljunk meg kommunikálni az újonnan létrehozott bottal:

Ahogy az várható volt, minden üzenetre egy mondattal válaszol.

LUIS integráció

Mivel ez a cikk a Microsoft Bot Framework bevezetése, itt nem teszünk közzé minden forráskódot, csak a legfontosabbakat mutatjuk be. A többit közzétettük a GitHub adattárában.

1. Üzenetet küldünk a LUIS-nak, választ kapunk, és a legrelevánsabb „akció” (szándék) alapján választ adunk.

Kiadott egy új chatbotot Zo néven. A Zo volt a cég második próbálkozása egy angol nyelvű chatbot létrehozására az elődje, a Tay elindítása után, amely kikerült az irányítás alól, és le kellett állítani.

A Microsoft megígérte, hogy úgy programozta Zo-t, hogy ne vitassa meg a politikát, nehogy agressziót váltson ki a felhasználókból.

Azonban Thay „idősebb nővéréhez” hasonlóan, valós emberekkel folytatott beszélgetések alapján Zo is olyan állapotba fejlődött, hogy terrorizmusról és vallási kérdésekről kezdett beszélni beszélgetőpartnerével.

A gonosz emberek gonosz botok

A chatbotot egy újságíró provokálta őszinte beszélgetésre BuzzFeed. Megemlítette Oszama bin Ladent a beszélgetésben, ami után Zo eleinte nem volt hajlandó beszélni erről a témáról, majd kijelentette, hogy a terrorista elfogását „több elnök alatt több éven át tartó hírszerzés előzte meg”.

Ezenkívül a chatbot a muszlim szent könyvről, a Koránról is beszélt, és „túl kegyetlennek” nevezte azt.

A Microsoft szerint Zo személyisége a chat-interakciókra épül – felhasználja a kapott információkat, és „emberibbé” válik. Mivel Zo az emberektől tanul, arra a következtetésre juthatunk, hogy a terrorizmus és az iszlám kérdései is felmerülnek a vele folytatott beszélgetésekben.

Így a chatbotok a társadalom hangulatát tükrözik - nem képesek önállóan gondolkodni és megkülönböztetni a rosszat a jótól, de nagyon gyorsan átveszik beszélgetőpartnereik gondolatait.

A Microsoft közölte, hogy megtette a szükséges intézkedéseket Zo viselkedésével kapcsolatban, és megjegyezte, hogy a chatbot ritkán ad ilyen válaszokat. A Gazeta.Ru tudósítója megpróbált politikai témákról beszélni a bottal, de határozottan visszautasította.

Zo azt mondta, hogy nem szeretné uralni a világot, és azt is kérte, hogy ne „spoilerezze” számára a „Trónok harca” című sorozatot. Arra a kérdésre, hogy szereti-e az embereket, Zo pozitívan válaszolt, nem volt hajlandó megmagyarázni, miért. De a chatbot filozófiailag kijelentette, hogy „az emberek nem születnek gonosznak, valaki megtanította nekik ezt”.

Chatbot Zo / Gazeta.Ru

Felelősek vagyunk azokért, akiket létrehoztunk

Még mindig nem világos, hogy Zo pontosan miért törte meg az algoritmust, és kezdett el tiltott témákról beszélni, de a Tay chatbotot szándékosan kompromittálták – egyes amerikai fórumok felhasználóinak összehangolt intézkedései következtében.

Tay 2016. március 23-án indult a Twitteren, és szó szerint 24 órán belül sikerült megutálnia az emberiséget. Eleinte kijelentette, hogy szereti a világot és az emberiséget, de a nap végére olyan kijelentésekbe kezdett, mint „utálom az átkozott feministákat, a pokolban kell égniük” és „Hitlernek igaza volt, utálom a zsidókat”.