Jure Dimec*,
Sašo
Džeroski**, Ljupčo
Todorovski*, Dimitar
Hristovski*
*Inštitut za biomedicinsko informatiko Medicinske fakultete,
Vrazov trg 2, 1105 Ljubljana, tel. 31 32 33, fax. 311 540,
**Inštitut Jožef Stefan, Jamova 39, 1111 Ljubljana
Povzetek
Predstavljamo razvoj informacijskih orodij za organiziranje in iskanje slovenskih in angleških medicinskih dokumentov, dostopnih na Svetovnem spletu. Orodja, zaenkrat še v testni fazi, omogočajo avtomatsko opisovanje vsebine dokumentov, iskanje z iskalnimi zahtevami v naravnem jeziku in rangiranje zadetkov po izračunani relevantnosti. Iskalnik se zaveda stanja poizvedbe, zato lahko iskalec z iskanjem s povratno zanko postopno izboljšuje kvaliteto iskanja.
Abstract
The development of information tools for the organization and searching of Slovene and English medical documents is presented. The tools, presently in testing phase, provide automatic subject description of documents, searching with natural language queries and ranking of search hits according to their relevance. The search engine is state-full allowing searcher to use relevance feedback in order to perform incremental improvement of search quality.
Digitalne knjižnice v današnji rudimentarni obliki le deloma rešujejo problem obilice nepreverjenih dokumentov na Internetu. Dobro informacijsko orodje, namenjeno zahtevnemu iskalcu, bi moralo omogočiti kvalitetno preiskovanje informacijskih virov, zbranih v lokalni digitalni knjižnici in istočasno nuditi individualiziran dostop do množice potencialno koristnih dokumentov na Svetovnem spletu.
V okviru projekta "Inteligentno shranjevanje in iskanje slovenskih in angleških medicinskih dokumentov na Internetu" smo se lotili obeh nalog. Raziskati želimo (a) možnosti gradnje baze z avtomatsko zgrajenimi vsebinskimi opisi nestrukturiranih in strukturiranih dokumentov, (b) razviti iskalnik, namenjen preiskovanju baze z iskalnimi zahtevami v naravnem jeziku, in (c) z metodami strojnega učenja zgraditi uporabniške profile z opisom uporabnikovih informacijskih potreb, v obliki, ki bi omogočala avtomatizirano iskanje relevantnih dokumentov na Svetovnem spletu. Velika večina naravoslovnih dokumentov pri nas je v slovenščini ali angleščini, zato smo se v jezikovno-odvisnih postopkih gradnje baze dokumentov in iskalnika omejili na ta jezika.
Prispevek začenjamo z opisom postopkov avtomatskega indeksiranja. V nadaljevanju opisujemo gradnjo iskalnika in predstavimo primer poizvedbe po testni bazi. Delo, opravljeno na področju strojnega učenja, bomo predstavili ob drugi priliki.
Avtomatsko indeksiranje običajno poteka v treh korakih:
Testno bazo sestavljajo dokumenti iz dveh strokovnih revij, dostopnih tudi v elektronski obliki (JAMA (slovenska izdaja) in ISIS, glasilo slovenske Zdravniške zbornice) ter bibliografski zapisi in izvlečki iz nacionalne baze Biomedicina Slovenica.
Tudi krnjenje (stemming) je jezikovno-odvisen postopek in od njega je v največji meri odvisna kvaliteta avtomatskega indeksiranja in, posledično, kvaliteta iskanja. Pri krnjenju poskušamo najti niz znakov, imenujemo ga krn, ki lahko predstavlja vse oblike neke besede in istočasno to besedo loči od vseh ostalih. Pogosto, vendar ne nujno, krn ustreza korenu besede. Krnjenje je še posebej pomembno pri avtomatskem indeksiranju besedil v jezikih z bogato morfologijo, kakršna je tudi slovenščina.
Do sedaj sta nam znana dva poskusa izdelave algoritmov za krnjenje slovenskih besedil, namenjena gradnji tekstovnih baz [2, 3]. Oba sta temeljila na obsežnih seznamih končnic. Prvi algoritem je bil enostaven: za vsako besedo v postopku je v seznamu 1205 končnic poiskal najdaljšo končnico, ki je ustrezala zaključku besede in na mestu ujemanja razcepil besedo na krn in odbitek. Edino dodatno pravilo je bila najmanjša dovoljena dolžina krna. Drugi, Popovičev algoritem [3], je bil bistveno bolj zapleten. 5276 končnic v seznamu je razdelil na osem skupin. Poleg enostavnega ujemanja in pravila o najmanjši dolžini krna je moralo končno zaporedje znakov v krnu ustrezati določenemu vzorcu, značilnemu za skupino, v katero je sodila končnica. Poleg teh osmih pravil je algoritem uporabljal tudi pravila o popravljanju krnov in pravila o izjemah.
Popovičev algoritem je bil relativno uspešen pri krnjenju slovenskih besedil s splošno vsebino. Ko smo ga preizkusili pri krnjenju slovenskih medicinskih besedil, so se pokazale tri pomanjkljivosti: (a) časovna potratnost, (b) neprimernost za strokovni medicinski jezik, v katerem so zelo pogoste tujke in poslovenjeni izrazi, temelječi na grški ali latinski osnovi, ter (c) tendenca k premočnemu krnjenju, pri katerem dve ali več podobnih besed prispeva isti krn.
V okviru projekta smo razvili nov, poenostavljen algoritem za krnjenje slovenskih besedil. Pri analizi rezultatov krnjenja s Popovičevim algoritmom smo ugotovili, da gre največji del primerov premočnega krnjenja na račun brisanja soglasnikov na koncu krnov. Krni podobnih besed se pogosto ločijo le po zaključnih soglasnikih ali soglasniških skupinah, kar je v skladu z dejstvom, da soglasniki v jeziku nosijo večjo količino informacije od samoglasnikov. Analiza pojavljanja soglasniških parov v zaključkih besed je omogočila sestavo enostavnih pravil za selektivno pretvorbo soglasniških parov v posamezne soglasnike ali prazne nize.
Novi algoritem za krnjenje je dvostopenjski in uporablja dva seznama končnic. V prvem seznamu so samo končnice, ki razcepijo besedo med soglasnikom in samoglasnikom, seveda če pozicija ustreza ostalim pogojem. Algoritem odreže najdaljšo končnico iz seznama, ki se ujema z zaključkom besede, nevarnosti premočnega krnjenja pa smo se izognili z novim pravilom o najmanjši dovoljeni dolžini krna. Pravilo postavlja premično mejo odreza in, poenostavljeno rečeno, dovoljuje odrez tem daljše končnice, čim daljši krn pri tem ostane.
Drugi korak poteka v zanki, ki zaporedoma pretvarja končne soglasniške pare. Zanka se zaključi, ko na koncu besede preostane en sam soglasnik, ali pa v bazi končnic ni pravila za končni soglasniški par.
Algoritem temelji izključno na preprosti statistični analizi besed v učni množici slovenskih medicinskih besedil in nima namena modelirati jezikovnih zakonitosti nastajanja besedne oblike. Rezultati zato niso optimalni, vendar menimo, da smo dosegli učinkovito razmerje med kvaliteto krnjenja in računsko potratnostjo postopka.
Neizogibna lastnost Interneta je dinamičnost, zato je pogostnost besednega krna v bazi nemogoče določiti med postopkom avtomatskega indeksiranja. V tej fazi besednemu krnu lahko določimo frekvenco v dokumentu, dokončno povedno moč pa izračunamo med iskanjem, glede na vsebino baze v tistem trenutku. Dokumenti, ki jih indeksiramo, izvirajo s Spleta, zato lahko frekvence besed dopolnimo tudi z informacijami, implicitno vsebovanimi v oznakah HTML. Vsaj načeloma je za vsebino dokumenta manj pomembna beseda, ki jo najdemo v običajnem besedilu, od tiste, ki je poudarjena, ta pa spet manj od besede, ki izvira iz enega od naslovov.
Q | = | število besednih krnov, skupnih dokumentu j in iskalni zahtevi k, |
frekvij | = | frekvenca krna i v dokumentu j, |
najv_frekvj | = | največja frekvenca katerekoli besede v dokumentu j, |
N | = | število dokumentov v bazi, |
ni | = | število dokumentov s krnom i, |
wHTML | = | vrednost oznake v HTML, |
C, K | = | konstanti, namenjeni prilagajanju postopka različnim lastnostim baze. |
Iskalnik, ki ga predstavljamo, ves čas pozna identiteto iskalca, zato smo lahko implementirali tudi iskanje s povratno zanko, ki poteka v treh korakih:
Jedro postopka je reformulacija iskalne zahteve. Pri tem sistem ponovno
izračuna povedne moči vseh krnov iz dokumentov, ki jih je iskalec označil
kot relevantne. Tako lahko nekateri besedni krni v iskalni zahtevi, ki
se pretežno pojavljajo v relevantnih dokumentih, dobijo večjo težo, dodajo
pa se tudi nekateri novi. Povedno moč w besede i v dokumentu
j,
relevantnem za iskalno zahtevo k, tako izračunamo kot:
,
kjer je
pij
|
|
verjetnost pojavljanja besede i v dokumentih, relevantnih za iskalno zahtevo j, |
qij
|
|
verjetnost pojavljanja besede i v dokumentih, nerelevantnih za iskalno zahtevo j, |
C, frekvik in wHTML pa imajo enak pomen,
kot v prejšnjem poglavju. Sliki 1 in 2 prikazujeta rezultate prvega iskanja
in iskanja s povratno zanko na iskalno zahtevo "okužbe z virusom HIV".
Na obeh slikah simbol pomeni
zapis iz bibliografske baze Biomedicina Slovenica, simbol pa
popolni dokument v lokalni digitalni knjižnici. Simbol pomeni,
da dokument ni bil označen kot relevanten, s simbolom pa
so označeni dokumenti, za katere je iskalec menil, da so relevantni in
ki so prispevali podatke za reformulacijo iskalne zahteve.
Slika 1: Rezultati iskanja na iskalno zahtevo "okužbe z virusm HIV".
Med pregledanimi dokumenti sta bila dva označena kot relevantna.
Slika 2: Rezultati iskanja s povratno zanko, sproženim v situaciji na sliki 1. Vidni so tudi novi besedni krni, dodani prejšnji iskalni zahtevi.
Avtomatsko opisovanje vsebine dokumentov je jezikovno-odvisen postopek, ki v največji meri določa kvaliteto iskanja. Lingua franca spletnih strani je angleščina, čeprav nekateri iskalniki zmorejo tudi postopke za zelo omejeno število drugih velikih jezikov. Slovenski dokumenti v veliki meri ostajajo nepoiskani. Zaenkrat nam ni znan obstoj delujočega slovenskega iskalnika, ki bi omogočal kaj več kot iskalne zahteve v obliki ročno krnjenih ključnih besed, čeprav so že obstajale testne implementacije, vendar ne v spletnem okolju [3, 7]. Menimo, da naš iskalnik lahko vsaj deloma zapolni to praznino.
Bazo vsebinskih opisov in kazalcev na dokumente, iskalnik in module za odkrivanje dokumentov smo si zamislili kot orodje za uporabo digitalne knjižnice medicinskih dokumentov. V prihodnosti načeloma lahko odpade vsebinska omejitev, kajti večina postopkov, ki smo jih razvili je vsebinsko neodvisna. Zaenkrat se osredotočamo na vključevanje preverjenih dokumentov v slovenščini in angleščini, uporabnih pri strokovnem, študijskem in raziskovalnem delu v slovenskem zdravstvu. Ena od posledic navedenih samoomejitev je tudi relativno majhna baza.
Velikost baze vsebinskih opisov nam omogoča izpeljavo postopkov, ki si jih pri velikih iskalnikih zaenkrat še ne morejo privoščiti. Zavedamo se, da dobrega iskanja ni mogoče opraviti v enem koraku, zato smo velik del pozornosti posvetili sposobnosti iskalnika, da se zaveda identitete iskalca in trenutnega stanja poizvedbe. S tem so bili tudi dani pogoji za uvedbo iskanja s povratno zanko.
V okviru projekta smo preliminarno preizkusili uporabo metod za strojno učenje na problemu učenja relevantnosti dokumentov iz primerov. Uporabili smo zbirko dokumentov omenjeno v drugem razdelku, v kateri so dokumenti označeni glede na relevantnost za vsako od 50 testnih iskalnih zahtev [7]. Vsako od iskalnih zahtev obravnamo kot posebno informacijsko potrebo in učni problem, kjer je vsak od dokumentov v zbirki primer: pozitiven, če je relevanten za podano iskalno zahtevo in negativen, če ni. Zbirka vsebuje 335 izvlečkov angleščini ter njihove slovenske prevode. Pri vsakem učnem problemu smo vseh 770 dokumentov obravnavali naenkrat. Uporabili smo zelo enostavno predstavitev dokumentov kot množico besed.
Za učenje smo uporabili sistem za strojno učenje relacij TILDE [8]. Za razliko od sitemov za atributno strojno učenje, ki uporabljajo reprezentacijo dokumentov s fiksno dolžino, sistemi za učenje relacij lahko uporabijo manj restriktivne oz. bolj bogate predstavitve. Sistem TILDE generira logična odločitvena drevesa, ki jih v danem primeru lahko prevedemo na urejene sezname pravil.
Oglejmo si kot primer iskalno zahtevo št. 10, ki se glasi: "Nastanek, diagnostika in zdravljenje ulkusa, še posebej razjede želodca in dvanajstnika" oz. "The origin, diagnosis and treatment of ulcer, especially duodenal and gastric ulcerations" Iz primerov za to zahtevo (od 770 je vsega 8 relevantnih dokumentov, 4 v slovenšcini in 4 v angleščini), TILDE generira naslednje drevo:
+--yes: rel_10
+--no: ulkusa ?
+--no: not_rel_10
Oglejmo si še zahtevo št. 31, ki se glasi: "Uporaba ultrazvoka v diagnostiki" oz. "Use of ultrasound in diagnosis". Iz primerov za to zahtevo (od 770 je vsega 22 relevantnih dokumentov, 11 v slovenšcini in 11 v angleščini), TILDE generira drevo s pomenim: "Dokument je relevanten, če v njemu nastopa kakšna od besed ultrazvočni, sonography, ultrazvokom, ultrasound, echocardiographic, ehokardiografija, hoechst, laser, ali ultrazvočno, sicer je nerelevanten." Opazno je, da se pojavi več variant besede ultrazvok, ki imajo enak krn. V prihodnje bomo uporabili predstavitev dokumentov s krni, ki bo predvidoma dala kot rezultat manjša in bolj zanesljiva drevesa za ocenjevanje relevantnosti dokumentov.