DogDoctor

Mondja, kedves Watson…!

A X. SPSS adatbányászati konferenciának egyik kiemelt témája az IBM Watson Jeopardy! című vetélkedő játékban elért sikere volt, ami kimondva kimondatlanul, mégiscsak a természetes nyelvű feldolgozás és nyelvértés egy újabb állomása volt. Sok érdekes háttéradatot láttunk, illetve volt szerencsénk a demonstrációra kiállított darabot tesztelni, ennek során szerzett tapasztalatainkat az alábbiakban összegezzük.

Mindenekelőtt említsünk meg, hogy bár IBM Watson-ról beszélünk (az IBM Watson Research Centre a fejlesztés helye), az alkotók több elismerést és említést is érdemelnek. Az IBM a Nuance segítségével építette meg a DeepQA motort, amely a Watson alapja; ehhez pedig az MIT Research (teljes nevén: MIT Computer Science and Artificial Intelligence Laboratory) is hozzájárult. Az egész motorjának az IBM főnökét, Charles Lickelt (ötletgazda, szponzor), és a kutatás vezetőjét, David Ferruccit tartják a nemzetközi blogok, leírások (sőt, ma már Wiki) alapján. Tegyük hozzá, hogy szakértőként olyan jeles számítógépes nyelvészt is megnyertek maguknak, mint pl. Boris Katz – korunk egyik legzseniálisabb elemzőjét, az interaktív válaszkereső rendszerek (angolul: Question Answering Systems vagy QA) meghatározó alakját.

Röviden a játékról, csak hogy értsük a körülményeket: a Jeopardy! (magyar licenszben: Mindent vagy semmit!) egy 1964 óta, kisebb-nagyobb megszakításokkal futó játék, ami 2010-ben már a 27. évadnál tart. Az angol változatban a meghatározás a válasz, és a kérdést kell feltenni – pl. “A vállalatot Nagy Kéknek is szokás nevezni” a meghatározás, erre a válasz nem az, hogy IBM, hanem az, hogy “Mi az IBM?”. A játékban a meghatározások egy-egy főcím vagy más néven témakör köré csoportosulnak, ezekből választanak a játékosok. A témakör lehet mondjuk a “Beatles emberek”, ami a játék nevéből is adódóan, nem a 4 tojásfejűről, hanem hozzájuk köthető valamennyi valós vagy fiktív emberről szólhat, pl. Lady Madonna, Desmond, Jude. Még egy csavarás van a játékban: az mondhatja meg a választ – és így szerezhet vagy veszíthet pénzt -, aki előbb nyomja meg a gombot – csak akkor vetélkednek a többiek, ha az első elhibázta. Mikor nyomhat gombot? Ha a kérdés elhangzik (vagy helytelen volt az előző válasz) és egy fehér lámpa jelez a stúdióban.

A Watson-féle Jeopardy! játék néhány háttérinformációja. A játékban – bár úgy tűnik – a Watson fülel és megérti az emberi beszédet, a valóság az, hogy erre nem készítették fel; a szabályok szerint egy a Jeopardy! munkatársai közül a képernyőre kerülő kérdést szöveges(!) formában továbbítja a Watson felé. Ezt már abból is gyanítottuk, hogy az IBM nem rendelkezik beszéd-szöveg (speech-to-text) technológiával, a Nuance pedig nem ennyire jó, ahogy a hazai szakértőktől hallottuk – nem is használták a képességeit. Miután a kérdés (meghatározás) elhangzik, a Watsonnak egy robotkart kell vezérelnie, hogy lenyomja a játékban használt gombot – ebben segítséget nem kapott. A felvillanó fehér fényt a Watson egy fotoszenzor segítségével érzékeli, és “erre ugrik”.

Ezekből az információkból az első észrevételek és megállapítások: (1) a Watsonnak annyi ideje van többletként, hogy a kérdés elhangzása során már folyamatosan dolgozhat, miközben az emberi résztvevők még javában csak a kérdést értelmezik. (2) Ráadásul a reakcióideje is gyorsabb, hiszen egy átlagos embernek 0,3-0,7s kell ahhoz, hogy lereagáljon egy viszonylag egyszerű jelenséget (lásd KRESZ-könyv), míg a fotószenzor + robotkar vezérlő ez idő alatt akár egy E betűt is le tudna írni (lásd autógyár). Tehát ha a kérdés elég rövid és összetett, akkor az embereknek van esélyük – ez látható is a felvételeken. Ha a kérdés “túl könnyű” vagy nagyon hosszú, akkor esélyük sincs. Ezt támasztja alá az is, hogy egy diplomaták számára tartott rendezvényen egy fizikus le is győzte a Watsont azon egyszerű trükkel, hogy nem gondolkodott azon, hogy tudja-e a választ, elég volt “éreznie” a nevek, a kontextus alapján, hogy erről hallott-e már; csak jelzett és azután gondolkodott. (3) A válasz mindig egyszerű, így bonyolult nyelvgenerálási problémákkal nem kell megküzdjön – márpedig ez ma az egyik legkevésbé megoldott terület a számítógépes nyelvtechnológiában. (4) Rengeteg tanuló minta áll rendelkezésre (27 évad játékai!), ami azért – adatbányász fejjel mondva – így sem túl sok.

Hogyan lehet elérni egy ennyire gyors feldolgozási sebességet a természetes nyelvű szövegértésben? Lássuk csak: 750 szerver, 2880 processzormag állt rendelkezésre, 16TB memóriával. A háttértáron meg az operációs rendszer malmozott. Még ha egy viszonylag nagy (100.000+) vonzatkerettárat képzelünk mögé nyelvi indexelésnek, amely tudomásunk szerint exponenciális elszállású számítási idővel bír a magyar nyelvre nézve, de polinom az angolra (hja, kérem, az nem flektál, nem agglutinál, szórend is merevebb), akkor is viszonylag gyorsan végez ez az architektúra. De vajon ezt csinálja?!

A válasz az, hogy nem – pedig tehetné. Ismerve Ferrucci és Katz korábbi munkáit, illetve a fejlesztők témában adott nyilatkozatait; azt kell sejtsük, hogy statisztikai valószínűségeket keres a szövegekben, kontextus alapján. Rendben van, de hogyan!? – kérdezzük. Amennyire a kérdésekből és a tévedésekből látszik, neveket és jellemzően alanyi esetű főnévi kifejezéseket keres, és ezek gyakorisági előfordulásai alapján egy indexben keresi meg a témakörnek megfelelő, gyakori előfordulási nevet vagy fogalmat (ennek is alanyi esetűnek kell lenni, mert különben téveszt – lásd Voldemort esetét; igaz erre a jelenségre más magyarázatot is találtunk). Az adatbányászati konferencián bemutatott SPSS Text Analytics példája is mutatja, hogy ez működhet, sőt, ha a kérdéseket beadjuk a Google-nek, akkor is a jó válaszokat tartalmazó oldalak felül lesznek – már “csak” (hmm…) a szövegből kell kihámozni a választ. Miben téveszt jellemzően:

  1. a birtokos kifejezések értelmezésében – erről a legtöbbet éppen az U1 Research tudna mondani,
  2. a meghatározások értelmezésében (láthatóan nem érti a kifejezéseket, a leíró mondatokat nem is próbálja értelmezni),
  3. az időterek (pl. 1950-es évek) és általában az absztrakt kategóriák értelmezésében, azonosításában,
  4. végül a (rész)tagadást tartalmazó mondatokban.

Azaz az utolsó három területen továbbra sincs meg a várva várt áttörés, ez egy picit csalódás. De vajon hogyan generálta a rímekben adott válaszokat?!

Összefoglalóan az alábbiakat mondhatjuk el a magunk részéről. Az eredmény csodálatos, és el kell ismerni – akár marketing, akár szakmai, akár IT oldalról nézve egy zseniális húzás volt a játékban való részvétel. Nagyon jó volt látni, hallani, és élő demonstrációban bizonyítani (bizonyítva látni), hogy tart már itt a számítógépes nyelvészet. Másik oldalról azonban jelenleg úgy tűnik, hogy jelentős (szakmai) újdonságot a DeepQA nem fog hozni a természetes nyelvű szövegértésben, hacsak a felhők (clouds) mindenkinek nem adnak 80kWh fogyasztású gigaszerverparkokat, hogy megkeressék a rossz helyre tett kulcsukat. Szomorúnak tartjuk, hogy a zöld IT korszakában még vannak olyan projektek, amelyek ekkora pazarlás mellett bizonyítják egy-egy technológia életképességét; és bár egyesek szerint remek ez a szervererő-demonstráció, de a XXI. században ez inkább már visszalépésnek tekinthető. Csúnyán fogalmazva: ez egy elég izomagyú (vö. brute force) algoritmus, ha ennyi erőforrás kell hozzá. Ugyanakkor, ha a Moore-törvény még mintegy 20-30 évig kitart (az Intel és az Oracle szerint 14 évig valószínű az asztali számítógépek piacán – de hol vannak a tabletek ehhez képest!?), akkor talán húsz-huszonöt év múlva lehet egy zsebre rakható dobozba zárt Watson nálunk. Kis képzavarral, a beszélő gépet unokáink látni fogják…

Posted in Egyéb.