Egyéb

Chatbot megoldások a WordPressben

Az előrejelzések és különböző trendek azt jósolják, hogy a fogyasztói interakciókat egyre inkább ember nélkül kezelik majd. A közelmúltban megvizsgáltam, mi is a helyzet valójában ezen a téren, milyen lehetőségeink vannak, ha WordPress-el készült weboldalunban chat robotot szeretnénk munkába állítani. Kutatásomnak a relevanciáját a chatbotok (tőlünk nyugatabbra eső országokban) hatalmas kiépítése bizonyítja. Valójában ma a chatbotokat számos üzleti feladat megoldására használják számos iparágban, például az e-kereskedelemben, bank- és biztosítási szolgáltatások szektorban, egészségügyben, távközlésben, logisztikában, szórakoztató iparban, a médiában és sok más területen. A chatbotok alkalmazása már kisebb weboldalon is releváns lehet, így ezen képességünk fejlesztése előnyhöz juttathat a versenytársakkal szemben.

A chatbot kutatás folyamata, eredménye

2016 volt a chatbot-ok éve, azóta eltelt pár év és egyre csak bővül a szállítók száma. Mivel egyszemélyes kutatásom erőforrásai korlátozottak, így le kellett szűkíteni a vizsgálandó eszközök számát. Kutatásom két nagy szoftver szállító a Microsoft és az IBM megoldásaira korlátozódik, pedig számos komoly alternatíva létezik még.

A kutatás eredményének összegzésében saját tapasztalataimat egészítem majd ki interneten fellelhető összehasonlító tanulmányokban talált információkkal.

Mindkét platformra regisztráltam és megpróbáltam elkészíteni a saját chatbot-omat. Az rendelkezésre álló idő rövidsége miatt, csak egy nagyon alap (fapados) megoldásig jutottam el. Nem tűztem ki nagy célokat, első körben megelégedtem azzal,  hogy udvariasan válaszoljon a robot a köszöntésre, majd a “betájoljam” a látogatót, hogy mire is számíthat a robottal kapcsolatban.

A két platform: https://cloud.ibm.com , https://signup.azure.com/

 

Mindkét rendszer esetében van ingyenes kipróbálási lehetőség, a teljes funkcionalitás elérhető, de időbeni vagy kredit korlátjai vannak.

(Például a Microsoft esetében elég hamar elhasználtam a kreditemet, így utána már nem fértem hozzá a korábban létrehozott projektemhez, még korlátozott funkcionalitással sem– ez egy picit kiábrándító volt.)

IBM Watson felület:

Microsoft felhő:

 

A két framework bemutatása

IBM Watson:

Chatbots Journal és Mindbowser által végzet kutatási tanulmány szerint az IBM Watsont a vállalkozások 61% -a választja botépítő platformként. Az IBM Watson Conversation lényegében egy DIY (Do It Yourself) bot keretrendszer. Könnyen használható grafikus környezettel rendelkezik, amely virtuális ügynökök és botok létrehozását teszi lehetővé természetes nyelv interakcióhoz. A Watson egyik legfontosabb része egy beszélgetési szolgáltatás. Az IBM Watson beszélgetési szolgáltatása neurális hálózatra épül (1 milliárd Wikipédia szó). Az információfeldolgozó rendszer újszerű szerkezete megérti a szándékokat, értelmezi az entitásokat és párbeszédeket. A Watson keretrendszer NLP-je (Natural Language Processing) elemzi a szöveget, hogy a tartalomból meta-adatokat nyerjen ki, mint például fogalmak, entitások, kulcsszavak, kategóriák, kapcsolatok és szemantikai szerepek. Megért 9 nyelven (sajnos a magyar nincs  a támogatott nyelvek között – de használható vele is csak nem érti a ragozásokat). Továbbá olyan fejlesztői eszközöket is kínál, mint a Node SDK (Software Development Kit), a Java SDK, a Python SDK, az iOS SDK és az Unity SDK. Háromféle csomagban lehet elérni: ingyenes, szabványos és prémium előfizetéseket kínál az IBM.

Microsoft LUIS + Bot framework:

A Mindbowser tanulmánya szerint a vállalkozások 41 százaléka mondta azt, hogy inkább a Microsoft Bot keretrendszert részesíti előnyben. Saját Bot Builder SDK-val rendelkezik, amely tartalmazza a .NET SDK-t és a Node.js SDK-t. A teljes rendszer három részből áll: a Bot Connector, a Developer Portal és a Bot Directory. A keretrendszer a Direct Line REST API-t nyújtja, amely egy botot egy alkalmazásban vagy webhelyen fogadhat. Nyílt forráskódú és mindenki számára elérhető a Githubon, és támogatja a több mint 30 nyelvre történő automatikus fordítást (itt a keretrendszert kell érteni, nem a kontextusok nyelvi megértését). A Microsoft Bot Framework megérti a felhasználók szándékait. Lehetőség van a LUIS beépítésére a természetes nyelvi megértésre, a Cortana hangra és a Bing API-kra a kereséshez. A
Microsoft a nyelvi megértésre a LUIS (Language Understanding) szolgáltatást kínálja, ami szándékokat és entitásokat használ. Az aktív tanulási technológia a LUIS egyik jellemzője. A Bing és Cortana már létező, világszínvonalú, előre gyártott modelleket is használhat. A HTTP végpontra történő telepítés egy kattintással történik; visszaadja a könnyen használható JavaScript objektum jelölést (JSON). A LUIS programozható REST API-kat kínál, amelyeket a fejlesztők használhatnak az alkalmazások létrehozásának automatizálására. Emellett itt is több SDK is rendelkezésre áll: C SDK, Python SDK, Node JS SDK és Android SDK. Támogatott nyelvek: angol, francia, olasz, német, spanyol, brazil portugál, japán, koreai és kínai. A LUIS ingyenes és szabványos előfizetési csomagokat kínál.

Alapvető különbségek:

  • Az IBM beszélgetési szolgáltatása kizárólag a beszélgetésekre vonatkozik. Míg az egész társalgási (dialógus) ökoszisztémát a Bot keretrendszer kezeli.
  • A LUIS képes dinamikusan kivonni az entitásokat, míg a Watson egy előre meghatározott értéklistán keresztül végez extrakciót.
  • LUIS sokkal ML-orientáltabb (Machine Learning), mint Watson. A LUIS kifejezetten elemzi a kifejezésmintákat a dinamikus entitás kitermeléshez.
  • Az IBM Watson 3 csomagot kínál a felhasználóknak, míg a Microsoft LUIS részletes árképzési formátumot tartalmaz attól függően, hogy milyen kognitív szolgáltatásokat választunk előzetesen.
  • A Bot fejlesztése a Watson keretrendszerrel meglehetősen egyszerű. Előre épített chatbotja van, de kevésbé rugalmas, inkább statikus és nem szabható úgy testre, mint a Microsoft Bot keretrendszere.
  • A Microsoft integrációs eleme is figyelemre méltó. Az IBM csak 4 csatornára csatlakozik, míg a Microsoft 14-re integrálódik, beleértve az IBM által támogatottakat is. (Néhány népszerű csatorna a GroupMe, a Skype, a Slack, az SMS, a telegram, a webes csevegés, a Facebook Messenger és az e-mail. Ezenkívül a Microsoft PaaS opciót biztosít az Azure-on, kizárólag botokra. )
Bot Name Features Programming languages / Apps / Integration Technical details Channels
IBM Watson Conversation Service Built on a neural network (one billion Wikipedia words).

Has three main components: Intents, Entities, Dialog

Node SDK
Java SDK
Python SDK
iOS SDK
Unity SDK
speech
image
text
 Microsoft Bot Framework  Understands the user’s intent.

To give your bot more human-like senses, you can incorporate LUIS for natural language understanding, Cortana for voice, and the Bing APIs for search.

Bot Builder SDK (.NET SDK and Node.js SDK.)
Bot Connector
Developer Portal
Bot Directory
 The framework provides the Direct Line REST API, which you can use to host your bot in an app or website. from your website or app to text/SMS, Skype, Slack, Facebook Messenger, Office 365 mail, Teams and other popular services.
Microsoft Language Understanding Intelligent Service (LUIS) Uses intents and entities.

All LUIS applications are centered around a domain-specific topic  or content related.

Active learning.

You can use pre-existing, world-class, pre-built models from Bing and Cortana.

Deploy models to an HTTP endpoint with one click. LUIS returns easy-to-use JSON.

C# SDK
Python SDK
Node JS SDK
Android SDK
LUIS offers a set of programmatic REST APIs that can be used by developers to automate the application creation process. Activate your language understanding models from your application on any device.

You can incorporate LUIS for natural language understanding, Cortana for voice, and the Bing APIs for search.

 

Saját tapasztalatok vs. interneten fellelhető összehasonlítások

Chatbot építő felületek bemutatása:

IBM Watson

Az IBM chatbot építésekor „Intents”, „Entities” és „Dialog” -kból építkezünk:

 

Intents:

Entities:

 

Dialogs:

 

Az így létrehozott chatbotot beépített felületen tesztelni is tudjuk:

 

Microsoft LUIS + Bot

Sajnos a cikk írásakor már elfogyott a creditem és lejárt a 30 nap próbaidő így már nem tudok belépni a Microsoft chatbot építő felületére (el is tűnt a projektem, nem hozzáférhető).

A korábban létrehozott chatbot-ból így nem tudok idemásolni képernyőképeket.

 

Tapasztalatok:

Mindkét felület viszonylag logikusan van felépítve. Az IBM esetében a dialógusok létrehozásához mindenképpen érdemes átrágni magunkat egy-két példán, oktatóvideón. Nekem aki inkább kódol, mint dobozokat húzogat, néha nem volt egyszerű megérteni a működési mechanizmusát.

 

 

Összefoglalás

Ha egyszerű és statikus chatbotokat szeretnénk építeni, a Watson könnyebben „megtanulható”, mint a Microsoft. Ez magában foglal mindent a beszélgetési szolgáltatáson belül. Ha azonban vállalati szintű (enterprise) chat-botokat szeretnénk fej-leszteni, akkor talán a Microsoft győztes.

Napról napra változik mindkét keretrendszer, újabb és újabb szolgáltatásokkal, funkciókkal bővülnek, finomodnak, így ez tanulmány csak egy pillanatfelvétel, érdemes a konkrét döntés előtt újra tájékozódni.

 

Az alábbiakban összegyűjtöttem még más alternatívákat is, talán majd egy következő cikkben megvizsgálok majd egyiket-másikat közülük.

Bot Name Project Link
IBM Watson Conversation Service https://www.ibm.com/watson/developercloud/conversation.html
AgentBot http://agentbot.net/en/
Twyla https://www.twylahelps.com/
Pypestream https://www.pypestream.com/
Live Agent https://www.ladesk.com/
DigitalGenius https://www.digitalgenius.com/
Semantic Machines http://www.semanticmachines.com/
Msg.ai http://msg.ai/
 wit.ai https://wit.ai/
rasa NLU https://rasa.ai/
Api.ai https://api.ai/
 Microsoft Bot Framework https://docs.botframework.com/en-us/
Microsoft Language Understanding Intelligent Service (LUIS) https://www.microsoft.com/cognitive-services/en-us/language-understanding-intelligent-service-luis
Chatfuel https://chatfuel.com/
Pandorabots https://www.pandorabots.com/
ChatterBot http://chatterbot.readthedocs.io/en/stable/
Octane.ai https://octaneai.com/
Rebot.me http://rebot.me/
ManyChat https://manychat.com/
FlowXO https://flowxo.com/
Gubshup https://www.gupshup.io/developer/home
Reply.ai https://www.reply.ai/
KITT.AI http://kitt.ai/
It’s Alive https://itsalive.io/
ChatScript https://github.com/bwilcox-1234/ChatScript

 

Egy érdekesség:

https://developer.ibm.com/recipes/tutorials/how-to-build-a-chatbot-with-watson-conversation-using-microsoft-botframework/

(Hogyan építsünk Watson chatbot-ot Microsoft botframework alapon…)

Ha ki szeretnéd próbálni kattints a jobb sarokban a chatbot-ra:

 

 

The following two tabs change content below.

Zoltán

Pete Zoltánnak hívnak és már 18 éve foglalkozom az internetes technikával, honlapokat és webes alkalmazásokat fejlesztek cégeknek, intézményeknek, magánszemélyeknek. Jelenleg számos weboldal felügyeletét látom el, amelyek között vannak kkv-k, kisvállalkozások, magánszemélyek. Tartalmát tekintve, hobby oldal, céges oldal, webáruház, nonprofit oldal, intranet, extranet. Kezdetben magam kódoltam a honlapokat, azok motorját, de később áttértem a CMS-rendszerek (tartalomkezelő rendszerek) használatára, amit nem bántam meg. A CMS-k közül a WordPress a nagy kedvencem. A WordPress mellett kipróbáltam jó pár más nyílt forráskódú tartalomkezelőt is - Jomla, Drupal vagy a másik platformról SenseNet, MojoPortal, Orchard és még sok-sok mást.