Szerző: Gálffy Csaba

2016. március 31. 10:30

A beszélgetés az új UI platform

A beszélgetés az új UI – foglalhatjuk össze a Microsoft legfontosabb bejelentését a cég idei fejlesztői konferenciájáról, a San Franciscóban jelenleg zajló Build 2016-ról. Az egyszerű (vagy épp komplex) botokat a kognitív technológiákkal kombináló vízió nagyon ígéretes.

Botok, botok mindenhol

A csevegőbot egyidős az internetes csevegéssel. Ki ne emlékezne például az IRC (első) aranykorából a csatornákat felügyelő és különböző extra szolgáltatásokat nyújtó botokra? Manapság a csevegőappok reneszánszát éljük (köszönhetően a felhős technológiák és az okostelefonok kettős rohamának), így nem véletlen, hogy a csevegőbotok is visszatérőben vannak. A Slack sikerét például jelentős részben annak köszönheti, hogy okosan integrálódik különböző szolgáltatásokkal,amelyeket a botoknak küldött szöveges üzenetekkel a chat felületéről is vezérelni lehet – ha mást nem, a hírhedt Giphy-integrációt minden Slack-felhasználó ismeri.

A KLM csevegőbotja Facebook Messengerben - itt az új platformháború

A Microsoft által idézett adatok szerint a mobiltelefon-használat több, mint felében valamilyen beszélgetős-csevegős aktivitást végez a felhasználó, vagyis vagy telefonál, vagy cseveg, vagy valamilyen formában üzenetet cserél. Ebből azonnal adja magát, hogy ezeket a beszélgetéseket optimalizálni lehet a csevegőbotokkal, amelyek releváns szolgáltatást tudnak nyújtani ezen a felületen is. Például ha a céges csevegésben épp felmerül, hogy milyen pizzát rendeljünk ebédre, akkor ezt érzékelve a chatbot beleszólhat a beszélgetés folyamába.

A felhasználó számára ennek az a hozadéka, hogy a megbeszélteket nem kell egy másik appban vagy a weben duplikálnia, például nem kell újra bepötyögni a mozifilm nevét, a mozit, az időpontot és a helyek számát, azokat a bot a beszélgetés kontextusából össze tudja szedni. Ezzel a mobilappok egyik tipikus felhasználása alól húzná ki a csevegőbot a szőnyeget – érdemes tehát ezzel a területtel fejlesztőként minél gyorsabban megismerkedni.

A csevegőbotnak van hozadéka céges környezetben is, például a meeting- és tárgyalókezelő bot azonnal tudja jelezni a céges chaten a rendelkezésre álló helyeket és időpontokat, anélkül, hogy manuálisan össze kellene nézni azokat egy másik alkalmazásban (például Outlookban).  Ez hatékonyabbá teheti a szervezet működését, és ha közös automata szervezi a találkozókat, akkor azok átrendezése is könnyebb lehet, mivel csak a központi aggyal kell tárgyalni, nem minden résztvevővel egyenként. Ezek persze hipotetikus esetek, de hasonló forgatókönyvekre érdemes gondolni a vállalati botok kapcsán.

3:02
 

Watch how Cortana, Bots and Bing are powering the latest version of Skype (CNET News)

Még több videó

A csevegőbot koncepciója most érkezett oda, hogy meghódítsa a mainstreamet és igazán tömegessé váljon a használata. A felhasználási területek tárháza szinte korlátlan, lényegében szinte minden webes vagy telefonos munkamenet (ügyfélszolgálatot és vevőszolgálatot beleértve) lefordítható csevegőbot-kompatibilisre. Eközben pedig e folyamatok még magasabb szinten automatizálhatóak és testre szabhatóak, ami a mániásan hajszolt ügyfélélményre is jó hatással van, és lehetővé teszi a drága ügyfélszolgálatok további leépítését.

Kognitív megoldások, szolgáltatásként

A csevegőbot szerepe összekötni a meglévő backendet és a csevegőappok felületét, elhozni a meglévő funkcionalitást az új felületre – legyen az hotelfoglalás, pizzarendelés vagy bármi egyéb. A szabványos botok hátránya azonban, hogy gyakorlatilag parancssoros értelmezőként működnek, csak bizonyos paramétereket fogadnak, ami a tömegessé válás útjában komoly akadály. Szükség van tehát egy további rétegre, amely ezeket a botokat használhatóbbá teszi az egyszerű felhasználó számára is.

Captionbot.ai - nem jár messze

És itt jön a képbe a kognitív számítástechnika – a Microsoft esetében ez a Cognitive Services névre hallgat. A rendszer jelenleg 22 különböző API-t kínál, melyekkel változatos bemenetek dolgozhatóak fel, jöhet a szöveges input mellett hanganyag (diktálástól a zenéig), kép, sőt, akár videó is.  A felhős rendszer (mert természetesen a Cognitive Services az Azure-ben fut és szolgáltatásként vehető igénybe) a bemeneti adatokban igyekszik azonosítani a parancs paramétereit – egy pizzarendelés esetében például a rendelésre utaló igét, a pizzák számát, a feltéteket, a pizza méretét és természetesen a kézbesítés helyét. A szolgáltatás képes a felhasználókat meg is személyesíteni, így az első néhány rendelés után például megtanulja, hogy mit jelent az „otthon” és az „iroda”.

A haditervben kritikus szerep hárul a fejlesztőkre. A megoldás mögé ugyanis tényleges szolgáltatást kell illesztenie valakinek. Ahogy a már említett Giphy-bot esetében is szükség van a gigantikus, kulcsszavak mentén rendszerezett GIF-gyűjteményre, úgy minden bot mögé kell valamilyen szolgáltatás, legyen az pizzarendelés vagy bármi egyéb. Ez azt is jelenti, hogy a Microsoft botplatformja akkor lesz sikeres, ha a fejlesztők felkarolják, és frontendként a saját szolgáltatásaik elé építik majd. A verseny pedig nagyon erős – ma már hasonló kognitív megoldásokat épít például a HPE, az IBM és a Google is.

Tanulni, tanulni, tanulni

A kognitív rendszerek persze nem tökéletesek. A mögöttes technológia alapvetően probabilisztikus (valószínűségi, statisztikai alapon működik), így értelemszerűen nem is ad tökéletes választ minden alkalommal. Ilyenkor ideális esetben a rendszer vissza tud kapcsolni az emberi operátorhoz, aki a különösen komplex, vagy valami miatt nehezen értelmezhető parancsot is teljesíteni tudja. A gépi tanulás lényege pedig pont az, hogy ezekből a tévedésekből tud okulni, és visszacsatolásos alapon egyre pontosabbá válik. Egyik oldalon ez fantasztikus, de másik oldalon ez bonyolult etikai kérdést is teremt: az alkalmazottak ugyanis pont arra tanítják a gépet, hogy hatékonyabban tudja elvégezi a munkájukat és ezzel közvetlenül hozzájárulnak a munkahelyük megszűnéséhez.

Hogy mennyire nagyon nehéz terület ez, arra maga a Microsoft mutatott rá egyébként a napokban. A cég reklám jelleggel dobta be a Tay névre keresztelt Twitter-botot, amely a mai tinik nyelvezetét és attitűdjeit volt hivatott utánozni. A kísérlet kulcseleme, hogy a botot tanulásra hegyezte ki a cég, tehát olyan algoritmust kapott, amely a bot stílusát és mondanivalóját a beszélgetőpartnerekéhez, a Twitter közösségéhez közelítette. A reklámfogás látványosan visszacsapott, Tay tizenéves stílusán néhány óra alatt fogást találtak a szélsőségesek, a bot pedig hamarosan vállalhatatlan politikai állásfoglalásokat tett Twitteren.

Okosság-as-a-service

A kognitív szolgáltatások persze a csevegőbotoktól függetlenül is bevethetőek (és ez persze fordítva is igaz), tehát a gépi tanulásos és mély neurális hálókon alapuló technológia tetszőleges területen bevethető. A 22 API öt nagy területet fed le: a gépi látáshoz tartozik a képelemző, hangulat- és arcfelismerő, illetve videoelemző szolgáltatás, ez utóbbi még csak bétában. A beszélt nyelv alá a hangazonosítás, beszédfelismerés, illetve az egyedi esetekre testre szabható CRIS motor, amely például gyerekhangokra, vagy erős háttérzajra is finomhangolható. Jönnek az írott szöveggel foglalkozó API-k, mint a helyesírás-ellenőrző, nyelvtani elemző, a szövegfelismerő, nyelvmodellező, ezek mindenike más-más célra vethető be.

A tudással kapcsolatos halmazhoz tartozik az akadémiai kutatásokat rendszerező illetve az entitásokat (fogalmakat, személyeket, stb.) azonosító és elemző szolgáltatás, valamint a strukturált adathalmazon operáló tudásfeltáró megoldás. Ugyanide tartozik az ajánlómotor is, amit például webshopok vethetnek be. Az utolsó terület pedig a keresés, ahol a Bingre támaszkodó API-k sorakoznak (kép- és videokereső, híraggregátor és persze a webes keresés). Ezek a szolgáltatások tetszőleges alkalmazásokba (például asztali és mobilappok, backendek) integrálhatóak, a tesztfázis alatt egyelőre ingyenesen.

Hogyan néz ki ez a gyakorlatban?

De térjünk vissza az új területre, a botokhoz. A Microsoft Bot Framework három elemből áll. A Bot Builder SDK már el is érhető GitHubon, ez az alap építőkocka, amely lehetővé teszi egyszerű dialógusok, beszélgetésstruktúrák felépítését. Ehhez tartozik egy emulátor is, amelyben tesztelhetőek a bot által adott reakciók illetve a backend felé kibocsátott kimenetet is megnézhetjük. Az SDK (értelemszerűen) tartalmazza a szükséges könyvtárakat és fejlesztői eszközöket is.

A Bot Connectorra hárul a feladat, hogy az így megépített botot különböző csevegésekbe tudjuk integrálni, mint SMS, email, Skype, Slack, vagy egyéb csatornák. Ez a Connector képes például gépi fordításra is (elvben több, mint 30 nyelvről), valamint a felhasználók és az adatbázis menedzsmentjére is - ehhez megfelelő vezérlőpanelt biztosít a fejlesztőknek.

A harmadik elem a Bot Directory lesz, ez egyelőre nem érhető még el. Ez gyakorlatilag egy bot bolt lesz, ahol a felhasználók végignézhetik, hogy milyen szolgáltatásokhoz létezik már csevegőbot és hozzáadhatják azokat a használt csevegőrendszereikhez (Skype-hoz, Slackhez, stb.). Ide csak azok a botok kerülnek fel, amelyek a Bot Frameworköt használják és a Microsoft áldását is megszerzik.

A megközelítés egyébként reakció az okostelefonos problémákra – rengeteg cég panaszkodik arra, hogy két-három mobilappot és három weboldalt (mobil, tablet, desktop) fenntartani már horror. Ha ehhez a következő években hozzájön, hogy minden csevegőcsatornához külön botot kell gyúrni, akkor a digitális csőd táblát sok kkv kiteheti. Innen jött az ötlet, hogy a Microsoft még a terület felfedezési fázisában elkezdi a keresztplatformos fejlesztés felé vinni a koncepciót, és egységes metaplatformhoz rendeli a különböző csatornákat, amelyek így csupán egyszerű belépési pontjai a nagyobb rendszernek.

Skype bot béta, fejlesztőknek és felhasználóknak

A fentiek alapján nyilván nem meglepő, hogy a Skype tehát bot-támogatással egészül ki egyelőre béta (Microsoft-terminológiában előnézeti) státuszban. A Skype Bots egyelőre kizárólag szöveges kommunikációval működik, de a cég ígérete szerint később érkezik a hangalapú és a videós verzió is. A bejelentéssel egyidőben elindult a Skype Bots fejlesztői programja is, az ilyenkor szokásos SDK-val, API-val és a munkafolyamatokkal együtt. A botok használatához szükség van a legfrissebb stabil verzió letöltésére, mind a mobilos, mind az asztali kliensek esetében.

Az egyik első Skype chatbot

Kié a metaplatform?

Miután a Microsoftnak nem osztottak lapot a mobilos operációs rendszerek versenyében, a cég minden erejével a különböző „metaplatformokra”, az operációs rendszerek fölé ernyőként nyúló platformokra fókuszál. Ilyen az Office-ökoszisztéma, ilyen az Azure backend, és ebbe a logikába illeszkedik a csevegőbotok fenti koncepciója is. Ez ugyanis egy olyan fejlesztői platform, amelynek tetszőleges rendszeren lehet kimenetele, ráadásul minden olyan csevegőrendszerbe beépülhet, amelynek tulajdonosa támogatja a külső botokat.

A csevegőbotok területe pedig a következő években indul robbanásnak. A Facebook a Messenger platformmal már most nagyon agresszíven pozícionálja magát ebben a versenyben, de a már említett Slack, Telegram, HipChat és társai is elindították saját lovukat a versenyben. A Skype-pal a Microsoft ezek ellen is csatába megy, de közben a chatbot-platform az összes versenytársra boruló ernyőként indul, és itt egyelőre nincs egyértelmű versenytársa az absztrakciós lánc legvégén.

a címlapról