Semantični viri in tehnologije

Delovni sklop 3

V tretjem sklopu bomo izdelali osrednjo digitalno slovarsko bazo v odprtem dostopu, ki združuje različne tipe jezikovnih podatkov o slovenščini. Avtomatsko bomo izdelali semantično mrežo, na njeni osnovi pa zgradili vire, npr. korpus za izvajanje semantičnih analiz, in orodja za razdvoumljanje pomenov in prepoznavanje semantičnih premikov, za avtomatsko povzemanje besedil in odgovarjanje na vprašanja. Razvita orodja bodo dvignila razvoj jezikovnih tehnologij za slovenščino na raven, primerljivo z večjimi svetovnimi jeziki.

Predvideni učinki ali kazalniki

  • Nadgradili bomo digitalno slovarsko bazo, ki združuje različne jezikovne vire, ki so na voljo za izdelavo semantičnih jezikovnih tehnologij.
  • Pripravili bomo navodila za označevanje oziroma nadgradnjo korpusov za semantično procesiranje naravnega jezika.
  • Izdelali bomo semantično mrežo in podporna orodja za ekstrakcijo pomenskih delov iz besedil.

Digitalna slovarska baza in orodja za procesiranje besedil

Center za jezikovne vire in tehnologije Univerze v Ljubljani razvija digitalno slovarsko bazo – podatkovni model, ki predvideva vključitev vseh podatkov o slovenščini, od morfoloških, skladenjskih, semantičnih, kolokacijskih do večjezičnih in drugih – v enotno organizirano relacijsko bazo, kar bo omogočalo hitro iskanje in izgradnjo specifičnih virov za izdelavo orodij za semantične tehnologije.

V okviru projekta bomo dokončali izdelavo splošnega modela digitalne slovarske baze in prikazali uporabnost pretvorbe obstoječih podatkovnih virov v enoten model, vanj pa bomo vključili tudi vse vrste jezikovnih podatkov iz pridobljenih oziroma odkupljenih jezikovnih virov. Vključeni podatki v relacijski bazi bodo omogočili zainteresiranim raziskovalcem in ostalim uporabnikom, da bodo hitro dostopali do vseh vrst odprto dostopnih informacij o slovenščini, kot so: seznam iztočnic, pripadajoči morfološki podatki (besedna vrsta, lastnosti, pregibne oblike), skladenjske sestave večbesednih enot, pomenska členjenost, odnosi med koncepti (sopomenskost, protipomenskost, hipo- ali hipernimija), kolokativnost, medjezične povezave konceptov (preko Wordneta, Babelneta) in podobno.

Izdelali bomo načrt in zasnovo spletnega orodja za izvajanje analiz nad besedili po vzoru orodij, kot so GATE, UIMA oziroma idejno zastavljen model nutIE. Namen orodja bo zagotoviti lažjo uporabo razvitih orodij za netehnične uporabnike, ki bodo lahko uvozili lastne podatke oz. korpus, zaporedno izvajali posamezne analize procesiranja naravnega jezika ter evalvirali in predstavili rezultate na grafičen način.

Semantična mreža

Semantična mreža je podatkovna struktura, ki vsebuje ključne koncepte in grafično prikazuje razmerja med njimi. Predstavlja pomembno izhodišče za prepoznavanje imenskih entitet, ekstrakcijo povezav in odkrivanje koreferenčnosti, ki sestavljajo osnovni pristop k pridobivanju informacij. V okviru projekta bomo zgradili orodja za reševanje vsakega od teh treh postopkov na podlagi ustrezne arhitekture globokih nevronskih mrež, ki bodo temeljile na uporabi kontekstnih vektorskih vložitev, kot sta ELMo in BERT.

Prvi ustrezen način prepoznavanja imenskih entitet za slovenski jezik je bil narejen nad korpusom ssj500k, ki vsebuje ročno označene imenske entitete štirih tipov. Za odkrivanje koreferečnosti je bil prav tako nad korpusom ssj500k izdelan manjši koreferenčni korpus coref149, pred kratkim pa je bil zgrajen tudi večji koreferenčni korpus SentiCoref 1.0, ki bo uporabljen za nadgradnjo besedilnih zbirk. Oba definirata koreferenčne povezave, ki izhajajo iz imenskih entitet, ne navajata pa različnih tipov koreferenčnosti. Zato bomo v okviru te aktivnosti izdelali navodila za označevanje vseh treh glavnih nalog ekstrakcije informacij, kar bo služilo sklopu 1 za izdelavo oziroma nadgradnjo korpusa, ki bo poleg semantičnih oznak vseboval oznake tudi na sintaktični ravni.

Za ekstrakcijo povezav za slovenščino pa modeli še niso izdelani, prav tako še ne obstajajo korpusi, ki bi omogočali izgradnjo modela za njihovo prepoznavanje. V okviru projekta bomo zato razvili orodje za avtomatsko ekstrakcijo povezav, ki bo uporabljalo logična pravila, zgrajena na podlagi semantičnih shem za izboljšavo kandidatnih relacij. Kandidatne relacije bodo tipično pridobljene na podlagi posameznih stavkov besedila in se bodo ovrednotile na podlagi konsistence s pravili na nivoju celotnega besedila. To lahko izloči napake, ki jih je na nivoju stavka in brez predznanja iz semantičnih shem težko ali celo nemogoče prepoznati.

Razdvoumljanje in vektorske predstavitve besed

Trenutno najuspešnejši strojni pristop k obdelavi in razumevanju naravnega jezika so globoke nevronske mreže. Te za svoje delovanje potrebujejo predstavitev besedil v številski obliki, ki besede preslikajo v vektorsko obliko tako, da se semantična podobnost besed prenese v razdalje med vektorji. Vektorske vložitve so danes osnovni predpogoj za uspešno procesiranje naravnega jezika in so nujno potrebne za prepoznavanje in generiranje govora, za povzemanje besedil, odgovarjanje na vprašanja, razdvoumljanje pomenov, razreševanje koreferenčnosti, strojno prevajanje in luščenje terminologije. Nekaj osnovnih vektorskih vložitev za slovenščino že obstaja, npr. samostojne vložitve tipa word2vec, fastText in ELMo ter večjezične tipa BERT in XLM-R. Raziskave kažejo, da je za kakovostne vložitve potrebna kar največja in najbolj kakovostna zbirka besedil, zato bomo v okviru projekta na osnovi obstoječih korpusov Gigafida 2.0, KAS, FRENK in v projektu zbranih besedilnih virov zgradili samostojne kontekstne vložitve tipa BERT in ELMo.

Razdvoumljanje pomenov besed je proces, ki določi, kateri pomen večpomenske besede je uporabljen v določeni komunikacijski situaciji, npr. 'klop' kot lesen predmet za sedenje ali kot zajedavec). Za določanje vseh pomenov neke besede, ki je prvi korak, bomo primarno uporabili slovenski WordNet, kot pomožni vir pa različne slovarje, npr. digitalno slovarsko bazo, SSKJ. Pri razdvoumljanju bomo izhajali iz več različic Leskovega algoritma, boljše rezultate pa predvidevamo z uporabo globokih nevronskih mrež. Preizkusili bomo več arhitektur globokih nevronskih mrež in jih kombinirali z različnimi vektorskimi vložitvami, primernimi za morfološko bogate jezike, kot je slovenščina. Za potrebe učenja razdvoumljanja bomo v sodelovanju z delovnim sklopom 1 zgradili podatkovno množico, kjer bomo s pomočjo človeških označevalcev posameznim rabam različnih besed pripisali pomen iz danega nabora. Na tej podatkovni množici bomo naučili modele strojnega učenja. Kot končno izboljšavo sistema za razdvoumljanje bomo uporabili semantično mrežo iz tega delovnega sklopa. Orodje bomo ovrednotili na neuporabljenem delu zbrane podatkovne množice. Potencialne napake pri napovedih pomenov bomo analizirali in po potrebi učno množico dopolnili z dodatnimi primeri.

Semantični premiki in diahrone analize

Jezik je spreminjajoča se struktura, ki se nenehno prilagaja spremembam v kulturnem okolju in novim potrebam njegovih govorcev. Hkrati se tudi pomen besed, ki so elementi jezika, spreminja z vsakim kontekstom, v katerem se pojavijo. V daljšem časovnem obdobju se kontekst rabe besede lahko spremeni do te mere, da med prvotno in trenutno rabo skoraj ni več prekrivanja, še pogosteje pa beseda dobi dodaten pomen, npr. 'miška', ki se vedno bolj uporablja le v računalniškem kontekstu. V krajšem obdobju pa so semantični premiki manj očitni in težje merljivi, a hkrati bolj relevantni, saj njihovo odkrivanje omogoča kvantitativno analizo kratkoročnih družbenih in kulturnih diskurzov in s tem na podatkih osnovano razumevanje in načrtovanje družbenih politik.

V okviru tega delovnega sklopa bomo izboljšali obstoječo metodo za merjenje diahronih semantičnih premikov v medijskem poročanju o posameznih relevantnih temah s pomočjo kontekstualnih besednih vložitev in jo prilagodili za širšo uporabnost. Trenutna metoda namreč ne omogoča identifikacije najpogostejših pomenov posamezne besede v določenem časovnem obdobju in merjenja razlik v distribuciji pomenov besed v različnih obdobjih, kar bi omogočalo natančnejšo diahrono analizo in izboljšalo delovanje metode. Te pomanjkljivosti bomo odpravili z nadgradnjo metode, in sicer s pomočjo uporabe nenadzorovanega gručenja pomenov v besedne pomene in pomenske sklope. Nadaljnje delo v okviru projekta bo vključevalo tudi ročno izdelavo testne množice za merjenje učinkovitosti posameznih metod za zaznavanje časovnih semantičnih premikov, ki trenutno za slovenščino še ne obstaja.

Avtomatsko povzemanje

Strojno povzemanje besedil naslavlja problem vse večje količine tekstovnih podatkov, v katerih želimo hitro in učinkovito najti pomembne informacije. Obstajata dva glavna pristopa k avtomatskemu povzemanju: ekstraktivni, ki iz danega besedila izloči najpomembnejše stavke, in abstraktivni pristop, ki na svoj način izrazi najpomembnejše informacije. Zaradi slabosti ekstraktivnega povzemanja, ki se kaže v nepovezanosti izluščenih stavkov, redundantnih informacijah in slabi berljivosti povzetka, se sodobnejši pristopi osredotočajo na abstraktivno povzemanje. Za krajša besedila, npr. novice,  se je uveljavil pristop z globokimi nevronskimi mrežami in kontekstnimi vložitvami tipa BERT. Za daljša besedila najuspešnejši pristopi delujejo tako, da najprej predstavijo celotno besedilo v obliki grafa s pomočjo semantične mreže ali semantičnih trojk, nato izluščijo najpomembnejše dele grafa, čemur sledi pretvorba v abstraktiven povzetek s pomočjo globokih nevronskih mrež.

Preizkusili bomo več modelov globokih nevronskih mrež, primernih za povzemanje v slovenščini. Za krajša besedila bomo uporabili arhitekturi LSTM in transformer ter slovenske kontekstne vložitve, kot sta tipa ELMo in BERT.  Za daljša besedila bomo uporabili kombiniran ekstraktivno-abstraktiven pristop, ki besedilo najprej pretvori v graf, nato pa semantično najpomembnejša vozlišča grafa ubesedi. Za uspešno učenje povzemalnih modelov bomo v sodelovanju z delovnim sklopom 1 zgradili veliko učno množico povzetkov. Pri krajših povzetkih se bomo osredotočili na novice, pri daljših pa na zaključna dela študentov, zbrana v korpusu KAS. Razvite modele bomo ovrednotili z avtomatskimi metrikami, berljivost in točnost povzetkov pa tudi s pomočjo človeške evalvacije.

Avtomatsko odgovarjanje na vprašanja

Sistemi za odgovarjanje na vprašanja vračajo odgovor na zastavljeno vprašanje v naravnem jeziku glede na podana besedila. Odgovor je lahko neposreden izvleček besedila, avtomatsko povzet odgovor ali pa se za pripravo odgovora zahteva še dodatno znanje. V zadnjem času se naloge z odgovarjanjem na vprašanja ukvarjajo predvsem z razumevanjem besedila in s sklepanjem iz njega. Na domensko omejenih področjih je možno izdelati predloge za obdelavo vprašanj in za pripravo odgovorov. V splošnem pa se pojavi problem, ker takšnih predlog ni mogoče posplošiti na poljubno domeno ali problem. 
V okviru projekta bomo preizkusili več nevronskih modelov za odgovarjanje na vprašanja, ki na podatkovnih množicah za angleški jezik dosegajo najboljše rezultate, npr. XLNet, RoBERTa in ostale izvedenke modelov BERT, in jih prilagodili za slovenski jezik. V sodelovanju s sklopom 1 bo zgrajen učni korpus po vzoru evalvacijskih nalog iz SuperGLUE, saj za slovenski jezik še ne obstaja primerna množica, ki bi vsebovala celovita besedila in sezname vprašanj in odgovorov, vezanih nanje. Razvite modele bomo avtomatsko ovrednotili glede na prekrivnost pojavnic s pričakovanim odgovorom. Pri tem bomo osredotočeni predvsem na natančnost, ki jasneje definira pravilnost vrnjenih odgovorov.

Vsa orodja, razvita v delovnem sklopu 3, bodo prosto dostopna na spletu za nadaljnjo uporabo z vso pripadajočo izvorno kodo.

Izvedite več o drugih projektnih sklopih

Strojno prevajanje

Strojno prevajanje

Terminološki portal

Terminološki portal

Vzdrževanje infrastrukturnega centra za jezikovne vire in tehnologije

Vzdrževanje infrastrukturnega centra za jezikovne vire in tehnologije

© 2020. Vse pravice pridržane