2011. február 23.

Watson!

"When you have eliminated the impossible, whatever remains, however improbable, must be the truth." (Sir Arthur Conan Doyle)

Sherlock Holmes mondása különösen igaz az IBM Watson rendszerére amiről szerencsére a magyar híradásokból is tudjuk hogy legyűrte a népszerű Jeopardy vetélkedő legjobb játékosait. Érdemes megnézni magát a vetélkedőt is, legtöbb nagy videómegosztó oldalon megtalálható. Most csupán arra vállalkozunk hogy áttekintjük a Watson mögött rejlő fontosabb technológiai megoldásokat és egy kicsit értelmezzük hogy mit jelent ez a győzelem.


 

Honnét jön Watson tudása?
Watson ún. strukturálatlan adatokkal dolgozik. Ez persze koránt sem jelenti azt hogy ő maga nem adott struktúrát tudásának, csupán annyit tesz ez hogy a Jeopardy vetélkedőn szóba jöhető területekről szóló nagy mennyiségű szöveges adattal töltötték fel a Watson "hosszútávú emlékezetét", azaz adatbázisát. Az adatbázist az Apache UIMA (korábban IBM UIMA) [Unstructured Information Management - strukturálatlan információkezelő rendszer] "emésztette meg". Akit érdekelnek a részletek, az kattintson a linkre, itt csak dióhéjban annyit jegyzünk meg hogy a rendszer egyrészt egy klasszikus természetes nyelvfeldolgozó rendszere, aminek újdonsága abban áll hogy jól skálázható (azaz gigászi adatmennyiségekkel is megbirkózik).

Hogyan keresi ki a válaszokat Watson?
Az UIMA által Watson tehát kiokoskodott sok összefüggést és rendszerezte tudását. Ennek eredménye egy 500 GB-os tudástár lett amit nem egyszerű végigbogarászni minden egyes kérdés esetében. Ezért a már strukturált tudáshalmazt egy Hadoop klaszteren tárolták [lásd itt]. A Hadoop rendszer egy MapReduce implementáció és hogy ez mit jelent segítségül hívjuk egy korábbi posztunkat (akit bővebben érdekel a téma, olvassa el az egész A MapReduce paradigma nagy mennyiségű szöveges fájl feldolgozásához című írásunkat).
"A MapReduce elve szerint a nagy adathalmazokon végzett műveleteket két fázisban célszerű elvégezni, először a map fázisban, hasonlóan a mi Haskell példánkhoz, a "szétszórt" adatokon egy műveletet végez el a rendszer, majd ezt aggregálja a Reduce fázisban a rendszer (a fold megfelelője). Így nem kell a programozónak foglalkoznia a köztes eredményekkel, az elosztott adatokon sokkal egyszerűbb és gazdaságosabb előbb helyben elvégezni a Map fázist, majd valahol összegyűjteni a Reduce fázis eredményeit. "

Hogyan értelmezzük Watson sikerét?
Először is örüljünk neki! A nagy nyilvánosság jót tett a szakmának, sokak szerint megint "szexi" lett a számítógépes nyelvészet és a mesterséges intelligencia területe, azaz több tehetséges fiatal és több befektetni való pénz érkezhet a kutatólaborokba. De mennyire értelmezhető ez a siker úgy hogy közelebb kerültünk a mesterséges intelligencia céljához? A klasszikus célhoz, az emberi képességek imitáláshoz semmikép nem kerültünk közelebb. Az elmúlt évtizedben megjelent egy új irányzat ami szakított a mesterséges intelligencia terminussal és elkezdte intelligens rendszerek (intelligent systems) névvel illetni magát. Maga a Watson mint rendszer (hiszen egy rendszerről van szó, nem egy önálló gépről, vagy pár összekapcsolt egységről) ennek az irányzatnak a csúcsa jelenleg.

Vegyük azonban figyelembe Kaszparov véleményét is, akit 1997 vert meg az IBM Deep Blue gépe (itt csak két pontot emelünk ki ebből, a teljes írást itt találhatja meg a kedves olvasó).
  • A convincing victory under strict parameters, and if we stay within those limits Watson can be seen as an incremental advance in how well machines understand human language. But if you put the questions from the show into Google, you also get good answers, even better ones if you simplify the questions. To me, this means Watson is doing good job of breaking language down into points of data it can mine very quickly, and that it does it slightly better than Google does against the entire Internet.
  • Much like how computers play chess, reducing the algorithm into "crunchable" elements can simulate the way humans do things in the result even though the computer's method is entirely different. If the result—the chess move, the Jeopardy answer—is all that matters, it's a success. If how the result is achieved matters more, I'm not so sure. For example, Deep Blue had no real impact on chess or science despite the hype surrounding its sporting achievement in defeating me. If Watson's skills can be translated into something useful, something groundbreaking, that is the test. If all it can do is beat humans on a game show Watson is just a passing entertainment akin to the wind-up automata of the 18th century.
Azaz a rendszer remek információfeldolgozó és még nem látjuk hogy pontosan mire is való ez az egész. Ebben pedig teljesen igaza van a nagy sakkozónak. De ez nem jelenti azt hogy haszontalan volt ez a kísérlet. Tekintsük inkább egy ún. "proof of concept"-nek. Az alapvető elgondolás hogy lehetséges a strukturálatlan adatok között rendet rakni, ezeket az adatokat pedig képesek vagyunk gyorsan és mégis nagy pontossággal visszakeresni. A lényeg nem azon van hogy egy gép legyőzte az embereket. Watson nem versenyzett, a készítői nevezték be, ők győztek (legalábbis szerintem).

Watson nem úgy működik mint mi emberek. Sokkal inkább mint az emberfeletti dedukciós képességekkel rendelkező Sherlock Holmes, aki a legvalószínűbb magyarázatot keresi minden kérdésre...

Nincsenek megjegyzések: