Objavljeno: 25.3.2014 | Avtor: Špela Vintar | Monitor April 2014

Vseved ali piflar?

Podjetje Amebis iz Kamnika, ki ga dobro poznamo po Besani, prevajalniku Presis, elektronskih slovarjih Knjižne police in drugih jezikovnih tehnologijah za slovenščino, napoveduje novo orodje za samodejno učenje iz besedil, ki sliši na ime Piflar. Pravzaprav ne gre za novo jezikovno orodje, temveč za pripomoček, ki naj bi uporabniku pomagal pridobivati znanje iz morja besedilnih podatkov, s katerim smo vsak dan obdani. Piflarja naj bi se uporabljalo predvsem v okviru različnih aplikacij, ki ponujajo odgovarjanje na vprašanja ob pomoči zbirke znanja, za namene pričujočega prispevka pa smo ga preizkusili in se o njem pogovorili z glavnim razvijalcem, Petrom Holozanom.

Na področju računalniškega jezikoslovja je odgovarjanje na vprašanja (question answering, QA) dobro znana tema, s katero se raziskovalci ukvarjajo vse od sedemdesetih let prejšnjega stoletja, področje pa se v grobem deli na odgovarjanje na vprašanja zaprtega tipa, kjer se sistem specializira zgolj na določeno področje, in odprtega tipa, kjer naj bi bil sistem sposoben poiskati odgovor na kakršnokoli vprašanje. V obeh primerih se za formalizacijo znanja in računalniško sklepanje uporabljajo ontologije, le da v prvem primeru ozko specializirane, v drugem pa splošne in zatorej tudi manj natančne. Kljub dolgoletnim raziskavam in celo tekmovanjem, ki se vsako leto prirejajo s tega področja in se jih udeležujejo najelitnejše svetovne univerze in laboratoriji, resnično široko uporabnega sistema ni uspelo razviti še nobeni ekipi, se pa ti sistemi uspešno uporabljajo kot pomoč pri odločanju in iskanju informacij na ozko zamejenih področjih, denimo v biomedicini.

Piflar je prvi tak izdelek v našem prostoru, ki se uči iz slovenskih besedil in odgovarja na vprašanja v slovenščini, zato velja Amebisova prizadevanja vsekakor pozdraviti, še posebej, ker je tudi celoten razvoj potekal na slovenskih tleh. Sistem je zasnovan tako, da uporabnik vanj »naloži« učna besedila, ta pa se jezikoslovno in pomensko analizirajo in pretvorijo v množico možnih vprašanj in odgovorov nanje. Ko je sistem naučen, lahko uporabnik ali končna aplikacija poizveduje z vprašanji v naravnem jeziku, Piflar pa nanje po najboljših močeh odgovori, seveda le, če sta se takšno vprašanje in odgovor zgenerirala v učni fazi.

Za preizkus sistema smo izbrali seminarsko nalogo o sladkorni bolezni, ki sta jo izdelali študentki Fakultete za farmacijo Univerze v Ljubljani, ker pa naj bi Piflar razumel tudi angleško, smo priložili še krajše besedilo o isti temi s spletišča http://en.wikibooks.org. Iz slednjega se je Piflarju uspelo naučiti le 12 vprašanj in odgovorov, hkrati pa je njegov glavni razvijalec pojasnil, da je imel sistem precejšnje težave z analizo angleških stavkov, ki so vsebovali vrinjene oklepaje, teh je bilo v testnem besedilu precej. Bolj plodno so bili videti rezultati učenja iz slovenske seminarske naloge, iz katere je Piflar izluščil 341 vprašanj in odgovorov. V nadaljevanju tako komentiramo sistem predvsem na podlagi rezultatov za slovenščino.

Iz vsake povedi v besedilu poskuša sistem generirati čim več vprašanj in odgovorov, pri tem pa imajo prednost kompleksna vprašanja. Na primer, iz povedi Po zaužiti hrani ali pijači pride do dviga glukoze v krvi in insulin je nujno potreben za prehod glukoze iz krvi v celice, sistem ustvari kar osem vprašanj in odgovorov, in sicer:

 

•    Ali pride do dviga glukoze po zaužiti hrani ali pijači v krvi? Da.

•    Kje do dviga glukoze pride v krvi? Po zaužiti hrani ali pijači.

•    Do česa pride po zaužiti hrani ali pijači v krvi? Dvig glukoze.

•    Kje do dviga glukoze pride po zaužiti hrani ali pijači? Po zaužiti hrani ali pijači.

•    Ali je inzulin nujno potreben za prehod glukoze iz krvi v celice? Da.

•    Kaj je nujno potrebno? Inzulin.

•    Kako je inzulin nujno potreben? V celice.

•    Kako je inzulin nujno potreben? Za prehod glukoze.

 

Kot vidimo, so le redka vprašanja res takšna, kot bi jih na podlagi informacij v zgornji povedi postavili sami, po drugi strani pa včasih sistem tudi prijetno preseneti s pravilno obravnavo priredja in luščenjem znanja iz obeh delov povedi. Pri vprašanju 2 se Piflarju zatakne pri pravilni obravnavi prislovnega določila časa (po zaužiti hrani in pijači), poleg tega predložno zvezo v krvi napačno obravnava kot samostojni stavčni člen in ne kot del samostalniške zveze dvig glukoze v krvi. Vprašanja 6, 7 in 8 so bolj ali manj neuporabna, ker so nepopolna in nelogična v povezavi z danimi odgovori.

Spletna aplikacija www.secondego.com je trenutno edina, ki uporablja Piflarja.

Spletna aplikacija www.secondego.com je trenutno edina, ki uporablja Piflarja.

Piflar ima še nekaj drugih težav, denimo nezmožnost pravilnega določanja osebka, kadar je ta izpuščen. V slovenščini lahko, podobno kot v nekaterih drugih jezikih, »varčujemo« tako, da osebek - če ga je mogoče razbrati iz osebne glagolske oblike – izpustimo (npr. Prišel je namesto On je prišel), predmet pa nadomestimo z zaimkom (Nisem ga videl). V besedilih moramo izpuščene ali nadomeščene osebke in predmete pravilno raztolmačiti. To človeku navadno ni težko, računalniškim programom pa zelo, saj se zaimek lahko nanaša tudi na nekaj, kar je bilo omenjeno več povedi nazaj. Piflar tako iz povedi Bolniku zdrava prehrana in gibanje nista dovolj, nujno potrebuje insulin izlušči vprašanje Kaj potrebuje inzulin nujno? in odgovori: Ono. Zelo podoben primer je še Lahko pa na tem mestu nastane tudi krvni strdek, ki popolnoma zapre žilo, iz katerega bi že zelo lenoben šolar sklepal, da žilo zapre krvni strdek, Piflar pa si na vprašanje, kaj zapre žilo, spet jedrnato odgovori z Ono.

Nekaj zgledov, kaj vse zmore Piflar

Vpr.: Kaj je okvarjeno pri diabetični nefropatiji v ledvicah?

Odg.: Drobne krvne žile.

Vpr.: Kako so inzulin pridobivali do 1981?

Odg.: Le iz svinjskih ali govejih trebušnih slinavk.

Vpr.: Kaj je druga vrsta srednje dolgega inzulina?

Odg.: Lente, njegovo tržno ime.

Vpr.: Kaj je doseženo s počasnim pronicanjem hormona iz podkožnega tkiva v krvni obtok?

Odg.: Daljši čas delovanja inzulina.

Vpr.: Ali je inzulin hormon, ki omogoča skladiščenje energije?

Odg.: Da.

Vpr.: Kaj je trebušna slinavka?

Odg.: Druga največja žleza človeškega telesa.

Kot smo videli že prej, je precejšnja težava tudi pravilno prepoznavanje prislovnih določil, pa tudi razvrščanje podatkov v povedi po pomembnosti. Tako se Piflar iz stavka V Sloveniji je preko 120.000 bolnikov žal nauči zgolj vprašanje Kje je preko 120 000 bolnikov? in nanj pravilno odgovori: v Sloveniji, ne vpraša pa se po številu bolnikov v Sloveniji. Ustreli tudi nekaj prav ljubkih kozlov, generira, denimo, vprašanje Ali ni bolnišnica pred nosečnost imela sladkorne bolezni? Nesmiselna bolnišnica je po vsej verjetnosti rezultat napačnega razdvoumljanja besede bolnica, ki lahko pomeni zdravstveno ustanovo ali žensko, ki ima bolezen. Nadvse jedrnato izzveni tudi dejstvo Kaj je? Ono.

Pogled v drobovje

Kako je sistem pravzaprav zgrajen in kaj se dogaja v ozadju, smo povprašali glavnega razvijalca,  Petra Holozana, ki v podjetju Amebis vodi tudi razvoj prevajalnika Presis in analizatorja Besana. Najprej nas je zanimalo, ali sistem za luščenje in shranjevanje znanja uporablja kakšne semantične vire in ali si morda pomaga s katero od standardnih ontologij, kot je Cyc. Izvedeli smo, da Piflar uporablja Amebisovo semantično bazo Ases, ki je osnova tudi za prevajalnik in analizato. Trenutno ni predvidena uporaba kakšnih drugih semantičnih virov ali ontologij, poleg tega je sistem piflar v dobesednem pomenu, saj se uči in odgovarja na ravni ene povedi, različnih podatkov pa še ne povezuje.

V zvezi z načrtovanimi scenariji uporabe ter morebitnimi aplikacijami, ki bi že uporabljale Piflarja, smo izvedeli, da je sistem že integriran v storitev SecondEgo (www.secondego.com), ki ponuja personaliziranega virtualnega agenta za vgradnjo v spletno mesto. Tudi sicer si je Piflarja težko predstavljati kot samostojno orodje, bolj kot nekaj, kar se v kontekstu konkretne aplikacije dogradi in prilagodi. Zaenkrat ni predvideno, da bi uporabnik sam nadgrajeval slovarsko bazo, prav tako ni predvideno širjenje zbirke znanja z množičenjem. Edino, kar sistem dopušča, če seveda to dopušča tudi aplikacija, v katero je vgrajen, je dodajanje lastnih povedi.

Če povzamemo, je delovanje Piflarja v resnici še daleč od pravega luščenja znanja in samodejnega sklepanja, namesto tega sistem bolj ali manj spretno obrača povedi in iz njih kuje vprašanja ter odgovore. Za kakršnokoli resnejšo uporabnost bi morala biti v ozadju zbirka znanja, v kateri bi se naučena dejstva med seboj povezovala s splošnimi in področno specifičnimi relacijami, sistem pa bi moral imeti že vgrajeno čim večjo zbirko splošnega znanja, ki bi se nadgrajevalo z uporabnikovimi besedili. Kot priznavajo tudi v Amebisu, je sistem zdaj bolj mišljen za prikaz trenutnih zmogljivosti jezikovnih tehnologij za slovenščino, to pa ne pomeni, da kakšno mladostno spletišče ob pomoči Piflarja, ali morda blagozvočneje imenovanega klepetalnega agenta, ne bi moglo požeti več klikov kot sicer.

Naroči se na redna tedenska ali mesečna obvestila o novih prispevkih na naši spletni strani!

Komentirajo lahko le prijavljeni uporabniki

 
  • Polja označena z * je potrebno obvezno izpolniti
  • Pošlji