Mesterséges intelligencia beszélget a cégekkel a Modern Vállalkozások Programjában

2022. augusztus 2. kedd, 06:45
Az MVP 2016 őta több mint 25 ezer vállalkozásnak adott konkrét segítséget, hogy digitálisan fejlődhessen. Személyes, helyszíni tanácsadás keretében, közel 20 ezer auditot végeztünk és adtunk ki fejlesztési tervet is. Munkánk során, az egyik szűk keresztmetszetet a terepen dolgozó tanácsadói erőforrásaink korlátai jelentették eddig. Minden ügyfelünkkel mindig egy „valódi” tanácsadó foglalkozott és az új ügyfelek felkutatását is ők végezték. Ezen a gyakorlaton fog változtatni, hogy az egyszerűbb kommunikációs és akár tanácsadói feladatokat is egy „virtuális tanácsadó” végezze el. Az új generációs mesterséges intelligencia tudása és képességei folyamatosan fejlődnek. Minden beszélgetésből tanulhat az algoritmus. Ebben a cikkben ennek a technológiai hátterét szeretnénk egy kicsit most szakmaibb szemmel bemutatni.

Twitter megosztás
Cikk nyomtatása

A RASA háttere ésjellemzői

A Rasa Open Source a világ egyik legnépszerűbb nyílt forráskódú keretrendszere a chat- és hangalapú virtuális asszisztensek területén. A fejlesztői közösség is az egyik legnagyobb meghaladja a 15 ezret. A nyílt forráskód adta lehetőségek eleve egy folyamatos fejlődési potenciált biztosítanak, de a fejlesztési metodológia is nagyon újszerű.

További információ: https://rasa.com/

A rendelkezésre álló chatbot keretrendszerek közül - példaként a Google és a Microsoft termékeivel összehasonlítva - a RASA alkalmazza a legkövetkezetesebben az új, „soft”; karakterű programozási szemléletet. Az egyik kulcsszava a Conversation-Driven Development (CDD), tehát a párbeszéd- alapú szoftver-fejlesztés. A chatbot-ok esetén a kimeneti termék eleve egy párbeszédre képes algoritmus, de a RASA megalkotói többet mondanak ennél: nem csak kimenetként kell előállnia egy dialógusra képes algoritmusnak, hanem már a tanítási folyamatként elgondolt szoftverfejlesztés első szakaszaiban is a valós párbeszédeken van a hangsúly.

Természetesen van egy előzetes koncepció arról, hogy az adott chatbot-nak milyen tárgyterületeken kell valóban autentikus válaszokat adnia, de semmiképpen sem cél a legitim kérdések és „témák”; teljes körének előzetes és maradéktalan rögzítése. Ennek megfelelően már a fejlesztés korai szakaszában be kell vonni a fejlesztőktől minél függetlenebb tesztelőket és felhasználókat, akik valós párbeszédeket kezdeményeznek a chatbottal (egyre táguló körökben). A tényleges tanítási folyamatoknak ezekre a párbeszédekre kell támaszkodniuk.

A RASA által alkalmazott fogalmi keret - első ránézésre - viszonylag egyszerű. A látogatói inputokat - amelyek lehetnek kérdések, kérések, vélemények és minősítések, továbbá a visszakérdezésre adott válaszok is – „szándékok” alá kell sorolni (ugyanaz a szándék sokféleképpen fogalmazható meg). A másik oldalon az előre meghatározott válaszok (pontosabban válasz-családok) állnak, de ugyanaz a „válaszhoz” ebben az esetben is többféle megfogalmazás tartozhat, és változó paraméterek beiktatására is van lehetőség.

A kérdések és a válaszok között a RASA-ban nincs közvetlen megfeleltetés. A két oldal között a „sztorik” teremtenek viszonylag laza kapcsolatot, amelyek valójában a valós párbeszédekből vett, de utólag ellenőrzött és besorolásokkal ellátott párbeszéd-mintázatok: hogy követték egymást a szándékok és az arra adott válaszok. Ugyanahhoz a válaszhoz többféle úton is el lehet jutni, és a különböző elérési utak nem biztos, hogy minden szövegkörnyezetben ugyanoda vezetnek. A RASA valójában nem ismeri a „logikai ellentmondás” fogalmát (vagy a nevezetes „kizárt harmadik” tételét). Egymással ütköző sztorik esetén a gyakrabban előforduló illetve a minél több és hasonlóbb előzménnyel alátámasztott mintázat érvényesül. A RASA által biztosított tanítási modell korrekciói. Két olyan szempont is van, ami miatt a RASA által alkalmazott programozási modell kisebb korrekciókra és kiegészítésekre szorul. 

Oktató videó: https://www.youtube.com/watch?v=k2uA5gxTM80

1. A RASA által javasolt rendszer-tanítási módszertan csak látszólag egyszerű. A valós párbeszédek közvetlen korrekciós lépései - amelyek során a rendszer új ismeretekre tesz szert - egy expert tudását feltételezik. Nem alkalmasak arra, hogy a tanítási folyamatban olyan szereplők is részt vegyenek, akik elsődlegesen a tárgyi szakterületükben járatosak, de nem látják át a teljes rendszer témaképzési és kommunikációs szabálykészletét. 

2. A hibajavításra, a helytelen vagy idővel elavuló válaszok kiküszöbölésére egy MI alapú rendszerben is szükség van. Olyan támogató eszközökre van szükség, amelyek segítenek a témakör-képzés viszonylagos koherenciájának folyamatos fenntartásában és korrekciójában (javaslatokkal, a hasonló látogatói kérdések és szándékok feltérképezésével).

A valós párbeszéd-igényekre támaszkodó tényleges rendszer-tanítási folyamatnak nem az MI expertek az egyedüli szereplői. Első körben a tanácsadóknak kell jelezniük, hogy a chatbot mely válaszait érzik hiányosnak vagy hibásnak, szükség szerint az általuk helyesnek tartott válasz megadásával. A szakmai jellegű válaszok esetén a tartalmi koherencia biztosítása érdekében jóváhagyási folyamatokat is be kell iktatni. A jóváhagyott válaszjavaslatok - ideértve a szándékok és témakörök szerinti kategorizálásra tett opcionális javaslatokat is - csak ezt követően kerülnek az expertekhez, akiknek - azon túl, hogy ismerik a konkrét keretrendszer szintaktikai előírásait és belső logikáját - átfogó képük van a már meglévő szándék-készletről, illetve az általános stilisztikai elvárásokról.

A COREtxt tanítási modellje 

A COREtxt tanítási modelljében a tetszőleges lépésszámú sztorik helyett olyan elemi kérdés-válasz szekvenciák jelennek meg, amelyek maximum háromlépésesek.

A "három lépéses sztori" a chatbot-user-chatbot szekvenciára utal. A chatbot oldalán egy-egy válaszadás több részlépésből állhat (action, utter, form-megjelenítés), amelyek a RASA story-kban külön step-ként jelennek meg (tehát egy "háromlépéses" sztori akár 5-10 RASA step-et is jelenthet)

A két fő típus: 

1. intent-response hozzárendelés   -  két lépéses sztorinak felel meg, tehát egy általános (nem kontextuális) kérdés-felelet párnak. Ugyanahhoz az intent-hez pontosan egy nem-kontextuális válasz tartozik (bár mind az intent-nek, mind a válasznak több megfogalmazása lehet).

2. előzményes intent-response hozzárendelés   -  három lépéses sztorinak felel meg:  response0 - intent - response. Ugyanaz az intent tetszőleges számú előzményes hozzárendelésben szerepelhet, de itt is megszorítás, hogy ugyanazon előzmény esetén a válasz definit. Előfordulhat olyan intent is, amihez csak előzményes válaszok tartoznak (hiányos jellegénél fogva önmagában nem adható rá értelmes válasz, csak a kontextus, tehát az aktuális téma ismeretében).  

Ennek a két elemi típusnak azért van kiemelt szerepe, mert  1. nem-expertek (tanácsadók, jóváhagyók) számára is könnyen értelmezhetők   2. a kétféle hozzárendelés rekurzív alkalmazásával a RASA lényegében minden releváns sztorit le tud képezni (különösen, ha figyelembe vesszük azt is, hogy a tényleges beszélgetésben a response0 előzmény akkor is érvényesülhet, ha nem közvetlenül az intent előtt hangzott el, hanem pár lépéssel korábban).

Az alapszintű intent-response hozzárendeléssel leképezhető a chatbot által kezelt összes "Gyakran ismételt kérdés". A tanácsadó (vagy a jóváhagyó) egyszerűen egy konkrét kérdésre adott konkrét válasz megadásával tud megadni egy ilyen hozzárendelést.

Az előzményes hozzárendelés ehhez képest csak annyi többlet-feladatot ad a rendszer-tanításkor, hogy a válasz megadásán azt is jelezni kell, ha az adott kérdésre az adott válasz csak az előző válasz ismeretében érvényes (a válasz "előzményes" vagy nem).

Példák az előzményes intent-response hozzárendelésekre:

- a normál beszélgetésekben rendkívül gyakran fordulnak elő olyan hiányos mondatok, amelyek az előző válaszban foglalt valamilyen részinformációra, témakörre hivatkoznak. Az előzményes intent-response hozzárendelésnek ez a legkézenfekvőbb esete.

- elkalandozás vagy közbevetés  esetén visszatérés a kiinduló tematikához

- ismétlődően elhangzó kérdés esetén a korábbitól érdemben eltérő válasz adása (a második és a harmadik ismétlődésre adott reakció is eltérhet egymástól).

- több lépéses érvelésmenetek leképezése (ez nem elsődleges célja egy chatbotnak, hiszen az elsődleges célja az információközlés, de néhány gyakran visszatérő érvelésmenetet indokolt lehet leképezni)

Kott Ferenc – Emődy Zsolt

Fotó: pixabay.com

Minden Jog Fenntartva - Modern Vállalkozások Programja