Az előző cikk folytatása...

KIBU: Ahogy a virtuális valóság-tervezés egyre csökkenő időtávban újra és újra visszatér – az ’50-es, ’70-es, ’90-es, 2000-es évek után 2012-től éljük az ötödik nagy hullámát –, úgy a természetes nyelvfeldolgozásnak is vannak ilyen nagy korszakai? Hajlamosak vagyunk elfogódottan nézni a korunkra, mintha minden most történne először. Az automatizációról körülbelül 300 éve folyik diskurzus a különböző filozófiai iskolákban és politikai gazdaságtanokban.

Módszertani fordulatok a 20. században

NAGYFI RICHÁRD: A ’60-es évek a textuális fordulattal egy ilyen időszak volt. Ekkor jutottak először arra a programozók, hogy ha a számítógépes programok szabályok alapján működnek, a nyelvnek pedig vannak szabályai, akkor ez a kettő terület könnyen megfeleltethető egymásnak. Az MIT-n dolgozó informatikusok átmentek a nyelvészekhez, hogy figyeljetek, mondjátok meg a nyelv összes szabályát, hogy ne kelljen többet dolgoznotok. Megmondták a nyelv összes szabályát, mondták, hogy mindjárt végzünk. Aztán visszamentek 5 év múlva, kértek még több szabályt. Visszajöttek még 5 év múlva és mondták, hogy ezt igazából nem lehet megoldani, mert nem úgy működik a nyelv, ahogy gondolták. Ma ugyanez történik, próbáljuk szabályok közé szorítani, de a nyelv nem így működik. A nyelvnél emberibb dolog nincs, egy ez egy teljes egészében kreatív, folyamatosan változó entitás és nagyon nehéz úgy alakítani, hogy gépek számára feldolgozható legyen. Ez magyarázza azt, hogy még számtalan területen lehet használni a mesterséges intelligenciát, de ahhoz, hogy számokká alakítsál nyelvet, még mindig rengeteg problémába ütközünk. A mai napig, ha a keresési szavak alapján ajánl neked valamit a Google, annak csak egy kis részéhez jut hozzá magának a keresett tartalomnak a nyelvi feldolgozásán keresztül.

Az utóbbi években a nyelvfeldolgozás területén tapasztalt fellángolás alapját az adta, hogy hatalmas előrelépés történt a neuronhálók segítségével a képfeldolgozásban. Gyakorlatilag megoldhatatlannak hitt problémákat oldottak meg majdnem 5 év alatt. Majd arra gondoltak, hogy valami hasonlót lehetne csinálni a nyelvvel is. Ha nem is az emberéhez hasonló módon, de kialakítható egy olyan belső modell a mondatok alapján, ami adott szavak megjelenésén vagy nem megjelenésén túl, azok egymáshoz való viszonyát is képes megtanulni. Ömagában ez a fejlemény még mindig nem elegendő arra, hogy a nyelvet megoldjuk. Javult a teljesítmény, sokat fejlődtek azok a metrikák, amik alapján meg tudjuk mondani egy szövegről, hogy inkább pozitív vagy inkább negatív. Tudunk szöveget generálni, attitűdöt és hangulatot vizsgálni (sentiment analízis), polaritást mérni. Minden tényező javult nyelvfeldolgozásban, de a nyelvet egyáltalán nem oldottuk meg. Akárhány szabályt hozol, lesz egy plusz egyedik szabály vagy kivétel, ami miatt az egész nem szorítható egyértelmű matematikai keretek közé.

Forrás: http://homepages.inf.ed.ac.uk/s1478528/kdd12-emoticon.pdf

KIBU: Mégis egyre fokozódik a fixáció a chatbotokon. Ha a 2016-os amerikai elnökválasztási kampányban a különböző twitterbotok árasztották el vagy tették lehetetlenné az értelmes politikai párbeszédet, mára a különböző privát vállalkozások ügyfélszolgálati funkcióit szervezik ki egyre növekvő mértékben beszélgető robotoknak.

RICHÁRD: Szerintem már nincs akkora fixáció a chatbotokon, csak Magyarországra ért későn ide. A home assistent-ek ma a legnépszerűbbek, ami egy furcsa fejlemény számomra, mert elég buták annak ellenére, hogy végtelen mennyiségű adatból tudnak dolgozni a neten. Nagyon ügyes szabályokkal próbálják kitalálni, hogy az egyszerű tőmondatok alapján, amikkel bombázzuk, mit is szeretnénk. 

KIBU: Te magad is programoztál egy irodai asszisztenst, aki Stella névre hallgat és különlegessége, hogy mindezt magyar nyelven. Bizonyos előre betanított téma köré felépített funkciói lesznek? 

RICHÁRD: Chatbotot, de minden AI-t is úgy célszerű tervezni, hogy megadsz egy szűk célterületet, aminek jól definiáltak a határai és ezt a feladatot jól meg tudja csinálni. Ezen a feladaton kívül viszont már teljesen bután működik, és emberként nem is igazán érted, hogy megy félre az egész. A Google Duplex, amit nemrég mutattak be, az teljesen felfoghatatlan számomra. Mintha kimaradt volna öt év, ahhoz képest, ahol a többi piaci szereplő van és ahol ők tartanak a chatbotként telefonáló megoldásukkal, ami az ember nevében tud lefoglalni fodrászhoz, meg étterembe időpontokat. Miközben meglepődünk és örülünk, hogy van ilyen, érdemes azt is fontolóra venni, hogy ezzel megoldották az audio spam automatizálását. Ha eddig kaptál levelet a nigériai hercegtől, hogy Babar elvesztette a pénzét és küldjél neki 1000 dollárt, hogy milliomos legyél, most már az is lesz, hogy emberek felhívnak valakinek a hangján és elbeszélgetsz velük egy 10 percet. A végén pedig nem lesz rá szükség, hogy felvegyél 1000 telefonos ügyfélszolgálati asszisztenst, akiknek az a munkája, hogy rábeszéljenek egy termékre. 

KIBU: A magyar nyelvnek a specifikumairól nyilván egymillió példát tudnál mondani, mi jelentette mégis a legnagyobb kihívást?

RICHÁRD: Az egész magyar nyelv a kivételek kivétele, teljesen más logikával működik, mint a számítástechnikai standardként használt angol nyelv. A magyarban nem lehet hatékonyan alkalmazni azokat a leegyszerűsítéseket, amiket más nyelveken probléma nélkül használsz annak érdekében, hogy számmá alakíts szavakat. A magyar nyelvben ezek az egyszerűsítések másfajta információ elvesztésével is járnak. Ha az angolban leveszem a toldalékot a szavakról, akkor elveszik az igeidő meg esetleg a többes szám és az egyes szám harmadik személyt jelölő rag. Ha a magyarban elveszed az igéből az igekötőt és a ragozást, akkor gyakorlatilag bármi lehet az ige, nem jutsz közelebb a jelentéséhez.

KIBU: Nyilván a prefix nélkül a "kicsinálni", "becsinálni", "megcsinálni", "felcsinálni" nem egészen csereszabatosak igekötő nékül…

RICHÁRD: Annak érdekében, hogy össze lehessen vetni a szavakat, át kell őket alakítani számokká, hogy majd ezeket a számokat vesd össze. Ezt úgy éred el, hogy kivonod a szótöveket és az ezekhez kapcsolt pozitívabb vagy negatívabb értékeket hasonlítod össze. Ezen kívül a magyarban a szórend – azon kívül, hogy nyomatékosítod az alanyt meg az állítmányt –, minimális szerepet játszik a mondatszerkezetben. Megpróbálod megtalálni a szótöveket, vagy tőmorfémákat és megnézed, milyen más szótövekkel vagy tőmorfémákkal együtt jelennek meg. Figyelembe veszed a szórendet, de magyarban ez sem annyira fontos, mert főként nyomatékosításra használjuk, de a szavak felcserélése esetén is értelmes mondatokat kaphatunk, más nyelvekkel ellentétben. Míg más nyelvekben nem tudsz akármilyen szórendet használni és korlátozott a lehetőség, hogy milyen szavak következhetnek egymás után, ezzel segítve a chatbot előrejelzéseit, a magyar nyelvben ezt se teheted meg, mert túl nagy a szabadság. Annyira kötetlen a nyelv, hogy sokkal nehezebb megmondani, hogy pusztán a szavaknak a megjelenése vagy nem megjelenése alapján mi az, amiről beszélni akarsz.

KIBU: Feltételezem, hogy több chatbot tulajdonosaként nagy tapasztalatod van abban, hogy az emberek milyen interakciókat alakítanak ki ezekkel a mesterséges perszónákkal. Voltak számodra olyan meglepő viselkedésmintázatok, amik nagy előfurdulással jelentek meg? Beszélnek-e máshogy, mint ahogy embertársaikkal tennék?

RICHÁRD: A magyarban nem igazán vannak chatbotok, mert kicsi ez a piac és nehéz technikailag "betörni" a nyelvet. Léteznek chatbot szoftverek, például a Microsoftnak is, ami a felmondott példamondat alapján próbálja meg kitalálni, hogy a következő mondat a példamondathoz hasonló-e. „Kérek pizzát”, „akarok pizzát enni”, „éhes vagyok” – ennyiből beazonosítja, hogy valamennyi mondat tartalmaz egy pizzarendelő szándékot és amikor következőleg azt mondod, hogy "gyere együnk egy szelet pizzát", ezt is ehhoz fogja hozzárendelni. Ezek a chatbot template-ek sokkal alacsonyabb hatásfokkal működnek magyarul, mert ugyanazokat a megoldásokat használják, mint bármilyen más nyelvre és rengeteg szabály nem működik magyarul. Az általam programozott rendszer direkt a magyar nyelvre kihegyezve tud ilyen chatbotokat felépíteni úgy, hogy minden absztakciót, amit neked kéne kitalálni, elmaszkol és ilyen nagyon egyszerű parancsokat kivonatol, amiből összerak egy dialógust.

Azt tapasztaltam, hogy az emberek nem tudják, hogy magyar nyelven elérhető olyan fejlesztés; így bármi, ami magyar nyelven működik, azon nagyon meg tudnak lepődni. Viszont ha a legelején, 2-3 alkalommal rossz választ kapnak, akkor szinte mind otthagyják és nem írnak többet. Valójában ha elég sokáig használsz egy chatbotot, akkor előbb utóbb nem fogja tudni a választ, így csak idő kérdése, hogy a varázslat eltűnjön. Vannak olyan emberek, akik tanítani is próbálják a chatbotodat, és boldogan látják, ha kicsit okosabb lesz idővel, mert úgy érzik, ehhez ők is hozzátettek.