RAZVOJ METODOLOGIJE ZA AVTOMATIČNO KLASIFIKACIJO

ELEKTRONSKIH PUBLIKACIJ V UNIVERZALNO DECIMALNO KLASIFIKACIJO - UDK

Matjaž Kragelj, študent
dr. Mirjana Kljajić Borštnar, mentorica

 Digitalna knjižnica Slovenije (2006-2008)

- kopija publikacij na dLib.si ali
 

- vsebina namesto originalnega portala
 

- povečevanje števila partnerjev
 

- največja porast števila/količine
   publikacij na dLib.si

 

- začetek arhiviranja v repozitorij
   po shemi OAIS

 Ne dosti kasneje (2008-2011)

image: https://wiki.archivematica.org

  • arhivska kopija se pošlje v repozitorij (Fedora commons)
  • ogledna kopija dostopna javnosti/uporabnikom
  • metapodatki (arhiv + javni dostop)

 

 

 OAIS - Open Archival Information System

 Avtomatizacija digitalizacije

  • 1995 - 2015  (Zunanji izvajalci digitalizacije)
    • priprava tehničnih dokumentacij
    • pogodbe, javna naročila
    • prevzemi, zapisniki, pregledi, popravki,...

 

  • 2015 - 2020 (Zunanji izvajalci + digitalizacija znotraj NUK)
    • nabava strojne opreme
    • razvoj programske opreme
    • 30-50% digitalizacije "in house"

 

  • 2021 - (Večina digitalizacije "in house")

 Avtomatizacija digitalizacije

 Avtomatizacija digitalizacije

 Avtomatizacija digitalizacije

 Avtomatizacija digitalizacije

- predstavitev zgolj z (meta)podatki

 Vizualizacija podatkov....brez!

- graf: publikacija / avtorji

- uporabniški vmesnik

 Vizualizacija podatkov: publikacije - avtorji

https://www.nuk.uni-lj.si/d3/test/knjiznica_1980.html

 - graf: oznake vsebine / naslovi

 Vizualizacija podatkov: predmetne oznake - naslovi

 Podatkovno rudarjenje

 

 

Analiza teksta vključuje iskanje informacij, leksikovno analizo za proučevanje razdelitve frekvence besed, prepoznavanje vzorcev, označevanje, ekstrakcijo informacij, tehnike preiskovanja podatkov, z vključevanjem povezav, vizualizacijo in prediktivno analizo.

 

 

- proces pridobivanja visokokvalitetnih informacij iz teksta

  • Knjižno gradivo predstavlja enega od temeljev naše kulturne dediščine
     
  • Digitalna knjižnica Slovenije vsebuje več kot 840.000 enot publikacij
     
  • 70% vseh elektronskih publikacij dostopnih na portalu Digitalne knjižnice Slovenije (www.dlib.si) ni bibliografsko obdelanih
     
  • Za te publikacije - iskanje mogoče samo po naslovu, številki in polnem besedilu
     

  • S pomočjo text mininga je moč ustvariti klasifikacijo, fasete oz. filtre,..

 Podatkovno rudarjenje - dLib.si

 Podatkovno rudarjenje - dLib.si (UDK)

Univerzalna decimalna klasifikacija (UDK) :

 

Obsegajo sistematično ureditev vseh področij človeškega znanja. Celotno človeško vedenje je razporejeno v deset glavnih skupin, ki so označene s številkami od 0 do 9

 

 

 

 

Vanj se lahko vgrajujejo vrstilci za nova znanja. Vrstilci so neodvisni od jezika ali pisave in so sestavljeni iz arabskih številk ter sprejetih znakov

Trenutno preveden v 51 jezikov

0 Znanost in znanje. Organizacije. Informacije. Dokumentacija. Bibliotekarstvo. Institucije. Publikacije  1 Filozofija. Psihologija  2 Teologija. Verstva  3 Družbene vede. Politika. Ekonomija. Pravo. Izobraževanje  5 Matematika. Narovoslovje  6 Uporabne znanosti. Medicina. Tehnika  7 Umetnost. Arhitektura. Fotografija. Glasba. Šport  8 Jezik. Književnost  9 Geografija. Biografija. Zgodovina

 Podatkovno rudarjenje (primeri gradiva)

  • Laibacher Zeitung (časopis) – 58.500+ številk
  • Ljubljanski Zvon (časnik) – 11.000+ člankov
  • Dom in svet (literarni mesečnik) – 16.000+ člankov

 

UDK= 821.163.6 --> Slovenska književnost

UDK= 008(497.4)"18/19“ --> Jezik, književnost (Slovenija) 18XX-19XX.

 

ZA VSE TRI „časopise“ velja: zgolj en zapis v knjižničnem katalogu COBISS za vse pripadajoče publikacije časopisa

 Podatkovno rudarjenje (primeri gradiva)

Text

 Podatkovno rudarjenje (primeri gradiva)

Text

 Podatkovno rudarjenje

HIPOTEZA:

 

Ali lahko (s pomočjo metod strojnega učenja) z verjetnostjo vsaj 0.8,

za vsako naključno publikacijo, ki vstopa v sistem, pozitivno potrdimo avtomatsko dodeljen vsaj en primeren UDK vrstilec?

 Podatkovno rudarjenje

STRUKTURA PUBLIKACIJ na dLib.si

(časovna komponenta - leto nastanka)

 

 

znanstveno časopisje
cca. 70.000 enot

staro časopisje
90% celotnega dLib.si

 Podatkovno rudarjenje - raziskava

V prvi iteraciji se ukvarjamo z znanstvenimi besedili,

v drugi s starimi članki.

 

POTEK RAZISKAVE po fazah:

 

1) Izbor podatkov ( MSSQL, izbor člankov, URN, naslov, UDK-ji, Full-text)

2) Izvoz podatkov (export metapodatkov in polnega besedila v .json)

3) Priprava podatkov (čiščenje, lematizacija)

4) Pretvorba besedil v vektorje (doc2vec, tfidfVectorizer)

5) Strojno učenje (nadzorovano, nenadzorovano)

6) Analiza rezultatov

 

 Podatkovno rudarjenje - raziskava

1,2) Izbor in izvoz podatkov

 Podatkovno rudarjenje - raziskava

1,2) Izbor in izvoz podatkov

Text

 3) čiščenje, lematizacija

čebel, čebela, čebelah, čebelam, čebelama, čebelami, čebele, čebeli, čebelo, bčela, zhbele, zhebela, zhebelle, zhebéla, zhebéle, bzhéla, bčela, bčela, bčele, zhbel, zhbelam, zhbelami, zhbele, zhebelam, zhebelam, zhebéla, zhebéle, zhebęla, zhebęli, čebele, čbela, čbele, čbéla, čbéla, čebel, čebelami, čebele

čebelar, čebelarja, čebelarje, čebelarjem, čebelarjema, čebelarjev, čebelarji, čebelarjih, čebelarju, zhbelar, zhbelarja, zhbelarjam, zhbelarjev, zhbelarji

  • umikanje stop-words
  • lematizacija (korenjenje)
  • upraba slovarjev (staro besedišče)

4) Tokenizacija in vektorizacija v TF-IDF

term frequency–inverse document frequency

https://medium.com/@MSalnikov/text-clustering-with-k-means-and-tf-idf-f099bcf95183

 Podatkovno rudarjenje - raziskava

 

Algoritem razdeli dane vhodne podatke, po svojih kriterijih, v več kategorij, ki imajo svoje značilnosti. To se imenuje rojenje (clustering). Število kategorij in njihove značilnosti izlušči algoritem iz vhodnih podatkov, brez nadzora učitelja. 

Nenadzorovano učenje (unsupervised learning):

odkrivanje zakonitosti učnih primerov.

 

Vprašanje:
- ali lahko primere razdelimo v smiselne skupine?
 

CILJ:

 Podatkovno rudarjenje - raziskava

Nenadzorovano učenje (clustering, k-means)

https://bigdata-madesimple.com/possibly-the-simplest-way-to-explain-k-means-algorithm/

k-means je iterativni algoritem. Deluje v dveh korakih

  • vsaki točki dodeli gručo (glede na najbližji centroid)
  • premik centroida na povprečje (center) točk v gruči

k=število gruč

 Podatkovno rudarjenje - raziskava

Nenadzorovano učenje (clustering, k-means)

  • znanstvena besedila
  • UDK določen v metapodatkih
  • iščemo UDK na nivoju 1
  • k-means (k=9)

 Podatkovno rudarjenje - raziskava

Nenadzorovano učenje (clustering, k-means)

  • znanstvena besedila
  • UDK določen v metapodatkih
  • iščemo UDK na nivoju 2
  • k-means (k=?) zakaj?

 Podatkovno rudarjenje - raziskava

Nenadzorovano učenje (k-means 3d predstavitev):

 Podatkovno rudarjenje - raziskava

Nenadzorovano učenje (k-means 3d predstavitev):

"čista" skupina: 27 - Krščanstvo

več kot 90% elementov ima UDK skupino 27

gruča (cluster) sili na dva dela
58 - botanika

59 - zoologija

 Podatkovno rudarjenje - raziskava

 

Algoritem uči stroj s podanimi pari vhodnih in želenih izhodnih podatkov. Pri tem želene izhodne vrednosti določa učitelj, oz. človek - nadzornik.

Algoritem nadzorovanega učenja analizira podatke o vadbi in izdela sklepano funkcijo, ki jo lahko uporabimo za preslikavo novih primerov. Optimalni scenarij bo omogočil algoritmu, da pravilno določi oznake razredov za nove primerke.

Nadzorovano učenje (supervised learning):

 Nadzorovano učenje - TFIDF matrika

podatki: 70.000+ znanstvenih dokumentov

razmerje učna / testna množica: 80% - 20%

  • uporabimo prog. jezik Python, jupyter notebook, knjižnice in funkcije paketa Scikitlearn
  • očistimo besedilo
    (stop words, uporabimo zgolj besede, ki  so v našem slovarju)
  • kreiramo matriko (tfidfVectorizer, fasttext)
  • uporabljeni algoritmi za klasifikacijo:
  1. Support Vector Machines (SVM)
  2. Multilayer Perceptron (MLP)
  3. Logistic Regression
  4. Naive Bayes Classifier

 

 Nadzorovano učenje

Večina znanstvenih člankov ima dodeljen več kot en UDK vrstilec.

Ko testiramo naučen model, dobimo navadno dodeljenih več kot en UDK za posamezen članek (v testni množici).


Spremenimo / dopolnimo hipotezo:


Ali lahko zagotovimo, z verjetnostjo vsaj 0.8, da bo naključni primerek iz testne množice "padel" v enega izmed prvih štirih (max. frequency) predlaganih UDK s strani modela?





 Nadzorovano učenje

Support Vector Machine:                natančnost: 0.963, f1: 0.8489

Multilayer Perceptron:                     natančnost: 0.944, f1: 0.8046

Logistic regression:                             natančnost: 0.940, f1: 0.6561

Naive Bayes:                                            natančnost: 0.872, f1: 0.7427

 

 

 

 

 

Precision - Precision is the ratio of correctly predicted positive observations to the total predicted positive observations. The question that this metric answer is of all passengers that labeled as survived, how many actually survived? High precision relates to the low false positive rate.

Recall (Sensitivity) - Recall is the ratio of correctly predicted positive observations to the all observations in actual class - yes. The question recall answers is: Of all the passengers that truly survived, how many did we label? We have got recall of 0.631 which is good for this model as it’s above 0.5.

A confusion matrix (za MLP algoritem)

 Nadzorovano učenje - fasttext

podatki: 70.000+ znanstvenih dokumentov

razmerje učna / testna množica: 80% - 20%

  • uporabimo prog. jezik Python, jupyter notebook, knjižnice in funkcije paketa Scikitlearn
  • očistimo besedilo
    (stop words, uporabimo zgolj besede, ki  so v našem slovarju)
  • kreiramo matriko (slovar fasttext - ni potrebno kreirati tfidf,
    besedišče je Wikipedia, bazo razvili na Facebooku.
  • uporabljeni algoritmi za klasifikacijo:
  1. Support Vector Machines (SVM)
  2. Multilayer Perceptron (MLP)
  3. Logistic Regression
  4. Naive Bayes Classifier

 Nadzorovano učenje - fasttext

Support Vector Machine:               natančnost: 0.931, f1: 0.7823

Multilayer Perceptron:                    natančnost: 0.943, f1: 0.8142

Logistic regression:                            natančnost: 0.839, f1: 0.4206

Naive Bayes:                                           natančnost: 0.753, f1: 0.5901

 

 

 

 

Precision - Precision is the ratio of correctly predicted positive observations to the total predicted positive observations. The question that this metric answer is of all passengers that labeled as survived, how many actually survived? High precision relates to the low false positive rate.

Recall (Sensitivity) - Recall is the ratio of correctly predicted positive observations to the all observations in actual class - yes. The question recall answers is: Of all the passengers that truly survived, how many did we label? We have got recall of 0.631 which is good for this model as it’s above 0.5.

 Nadzorovano učenje - stara besedila

obstoječi model (na 70.000 člankih) bomo uporabili za klasifikacijo

200.000+ starih člankov, besedil

 

ponovimo:

  • članki niso bibliografsko obdelani
  • imajo lahko tudi zgolj en UDK (od nadrejenega zapisa - celotne revije)
  • struktura članka varira
  • dolžina članka varira (od nekaj vrstic - npr. osmrtnica, do novele)
  • jezik besedil je drugačen kot današnji
  • članki so digitalizirani, niso digitalni (napake pri OCR)

Uporabljeni algoritmi:

Support Vector Machines (SVM), Multilayer Perceptron (MLP), Logistic Regression (LOG), Naive Bayes Classifier (NB) in K-nearest neighbors algorithm (k-NN).

 Nadzorovano učenje - rezultati

  • izmed 200.000+ publikacij jih sistem avtomatično umesti v isti UDK, kot ga ima nadrejeni zapis - cca. 40.000 člankov
    Izberemo testni nabor (naključno izbrani članki)  - cca. 100 člankov
  • članke posredujemo bibliotekarjem, spet uporabimo max. top 4 izračunane UDK

PRIMER:
TITLE: Turki pred Svetim Tilnom, URN: URN:NBN:SI:doc-GKC44XJL, UDCfull: 050

LOG: [('02', 0.2588), ('070', 0.1872), ('027', 0.0485), ('821', 0.0482), ('930', 0.04372932160459208), ('908', 0.0207), ('27', 0.01577), ('81', 0.0149), ('655', 0.0126), ('050', 0.0117)]

SVM: [('070', 0.4878), ('02', 0.3359), ('027', 0.0866), ('929', 0.0128), ('821', 0.0073), ('026', 0.0062), ('025', 0.0052), ('016', 0.0043), ('930', 0.0036), ('002', 0.0035)]

KNN: [('070', 0.5039), ('02', 0.2984), ('027', 0.1976)] in sorodno za ostale algoritme

 

 Nadzorovano učenje - rezultati

še dva primera:

 

  • Ruski jezik in njegovi stvaritelji
    https://www.dlib.si/details/URN:NBN:SI:DOC-IGJY1XPD, iz časopisa Dom in svet (1929),
    UDK – 8 ( Jeziki. Lingvistika. Literatura)
    • Izračunani UDK: 81 - Jezikoslovje in jeziki
    • Izračunani UDK: 811 - Languages
  • Razstava šolskih glasil
     https://www.dlib.si/details/URN:NBN:SI:DOC-PX196IA1, iz časopisa Naša skupnost (1978),
    UDK – 352 (najnižje ravni uprave. lokalna uprava. občinska, mestna uprava. lokalne oblasti
    )
    • Computed UDC: 373 - Vzgoja in izobraževanje
    • Computed UDC: 37 - Vrste šol, ki zagotavljajo splošno izobrazbo
    • Computed UDC: 821 - Književnost posameznih jezikov in jezikovnih družin

 Nadzorovano učenje - rezultati

Bibliotekar "pobarva / potrdi" predlagani UDK, če je:

  • pravi
  • lahko bi bil pravi
  • je boljši, kot UDK revije (nadrejenega zapisa)

 

PRIMER članka: ELEKTRIČNI ROBOT, Slovenski gospodar, 1938

 

V Preravi na češkoslovaškem so uvedli mehanično napravo, ki avtomatično regulira prižiganje in ugašanje luči.
Robot sestoji iz dveh celic. Prva je v poslopju mestne elektrarne, druga pa na transformatorju, čim se znoči, reagirata obe celici na spremembo svetlobe s tem, da zažarijo povsod električne luči.

 

UDK nadrejenega zapisa: 070 - Časopisi. Tisk. Novinarstvo.

 Nadzorovano učenje - rezultati

 Nadzorovano učenje - rezultati

Med predlaganimi UDK sta:
 

620: Preiskava materiala. Blagoznanstvo. Energetske centrale. Energetika.

621: Splošno o strojništvu. Jedrska tehnika. Elektrotehnika.
Mehanska tehnologija nasploh

 Nadzorovano učenje - rezultati

Primer: Deželni zbor, Slovenski gospodar, 1899

V predzadnji seji je utemeljeval poslanec Hagenhofer svoj predlog za ustanovitev deželne hipotečne banke. Povedal je, da je deželni zbor že od leta 1862 sem mnogokra sklepal o tej zadevi, da je pa stvar vednc obtičala. Skušal je dokazati, da bi dolžnik vknjiženih dolgov gotovo nad 1 milijon gld obresti vsako leto manje plačevali, če imamc tak deželni denarni zavod. Stvar se je izročila posebnemu gospodarskemu odseku, kis« bo izvolil v seji 14. aprila in bo štel lš udov. Nemški naprednjaki in narodnjaki se vložili predlog, da ima ustavoverni odsek obstoječ iz 12 udov, presoditi krivico, ki s« baje Nemcem godi vsled tega, da vlada zda na podlagi znanega § 14 temeljnega zakon* opravlja vse državine posle. V seji 11. aprje Poš vtemeljeval ta predlog ter zopet ii zopet tarnal nad zatiranjem Nemcev v Avstriji. Kdo se mu ne bi smejal? Saj ti ljudje sami sebi ne morejo verjeti, ko kričijo o zatiranji nemštva v Avstriji! V seji 12­ aprila je vtemeljeval poslanec Hagenhofer svoj predlog, naj se odpravijo vse mitnice na nedržavnih cestah in mostih; poslanec Kurz pa predlog o zatiranji škodljivih mrčesov; poslanec Mosdorfer stavi predlog, da prevzame dežela v svojo skrb vse ceste po deželi in poslanec Žička r predlog, da se ima popraviti struga Sotle v okrajih Rogatec, Šmarje, Kozje in Brežice. Vsi štirje predlogi so se izročili odseku za deželno kulturo v presojo. Finančni odsek je v seji 11. aprila sklenil zboljSati plačilo profesorjem na višji deželni realki v Gradcu in na 5razredni gimnaziji v Ptuju. To zboljšanje se ima pričeti s 1. januarjem 1899. Profesorji na državnih gimnazijah zavživajo zboljšanje že od 1. oktobra 1898. Tudi meščanskim učiteljem se je zboljšala plača (po večini glasov) od 1. januvarija t. 1. Ob enem je sklenil finančni odsek deželnemu zboru priporočati predlog, da se višja deželna realka v Gradcu podržavi. Oskrbovalna vsprejetišča prizadevajo deželi leto za letom več stroškov. Že lani je sklenil finančni odsek, naj se odpravijo vsaj nekatera vsprejetišča; a vlada ni pritrdila temu predlogu. Letos se je ta predlog ponovil in se je nasvetovalo marsikaj, da se znižajo ti stroški, ki so preračunjeni za 1. 1899 na 114.000 gold. Ko so se ta vsprejetišča od liberalne nemške | večine deželnega zbora vstanovila, se je reklo: ljudje, ki bodo semkaj zahajali, naj ali delajo kot obrtniki ali pa pomagajo pri poljedelstvu. A liberalci s« se zmotili. Iz teh vsprejetišč ne dobiš lahko kakšnega delavca. Vlada se pa protivi zategavoljo odpravi kakšnega vsprejetišča, ker se boji, da se po tistem kraju začne potem beračenje.

 

UDK nadrejenega zapisa: 070 - Časopisi. Tisk. Novinarstvo.

 Nadzorovano učenje - rezultati

Primer: Deželni zbor, Slovenski gospodar, 1899

 Nadzorovano učenje - rezultati

Zaključek in predlogi za nadalnje delo:

 

  • Bibliotekarji so uspeli za vsak članek (staro besedilo) potrditi / izbrati vsaj enega izmed predlaganih UDK vrstilcev.
  • za boljšo potrditev bi potrebovali več dela na strani bibliotekarjev - več pregledanih besedil.
     
  • boljše rezultate (manj različnih predlaganih UDK vrstilcev) bi dobili z večanjem baze znanja - učne množice starih besedil (sedaj znanstveni članki)
  • crowdsourcing

 

 

 Nadzorovano učenje - uporaba

Možna uporaba:

 

  • klasificirati vsa starejša (bibliografsko neobdelena) besedila
     
  • ponuditi bibliotekarju pri klasifikaciji novega dokumenta "drugo mnenje"
     
  • iz klasifikacij tujih publikacij ugotoviti tematiko besedila

Hvala za pozornost.

 

Matjaž Kragelj, študent
dr. Mirjana Kljajić Borštnar, mentorica 

RAZVOJ METODOLOGIJE ZA AVTOMATIČNO KLASIFIKACIJO ELEKTRONSKIH PUBLIKACIJ V UNIVERZALNO DECIMALNO KLASIFIKACIJO - UDK

By Matjaž Kragelj

RAZVOJ METODOLOGIJE ZA AVTOMATIČNO KLASIFIKACIJO ELEKTRONSKIH PUBLIKACIJ V UNIVERZALNO DECIMALNO KLASIFIKACIJO - UDK

  • 246