FAKULTETA ZA INFORMACIJSKE ŠTUDIJE V NOVEM MESTU MAGISTRSKA NALOGA ŠTUDIJSKEGA PROGRAMA DRUGE STOPNJE DANIEL KOVAĈEVIĈ RUDOLF Digitally signed by Dani-PC\Dani Date: 2014.02.14 00:44:19 CET Reason: Oddaja magistrske naloge FAKULTETA ZA INFORMACIJSKE ŠTUDIJE V NOVEM MESTU MAGISTRSKA NALOGA RAZVOJ MODELA ZA PODPORO ODLOĈANJA NA PODROĈJU DUŠEVNEGA ZDRAVJA Mentor: doc. dr. Matej Mertik Novo mesto, februar 2014 Daniel Kovaĉeviĉ Rudolf IZJAVA O AVTORSTVU Podpisani Daniel Kovaĉeviĉ Rudolf, študent FIŠ Novo mesto, izjavljam: da sem magistrsko nalogo pripravljal samostojno na podlagi virov, ki so navedeni v magistrski nalogi, da dovoljujem objavo magistrske naloge v polnem tekstu, v prostem dostopu, na spletni strani FIŠ oz. v digitalni knjiţnici, da je magistrska naloga, ki sem jo oddal v elektronski obliki identiĉna tiskani verziji, da je magistrska naloga lektorirana. V Novem mestu, dne _________________ Podpis avtorja ______________________ ZAHVALA Zahvaljujem se mentorju doc. dr. Mateju Mertiku za mentorstvo in za vse usmeritve, podporo in prisluh, ter za posredovano znanje tekom študija. Posebej bi se rad zahvalil Kseniji Ţnidaršiĉ, dr.med.spec.spl.med., ki je kot ekspert ocenila sestavljeni model magistrske naloge. Prav tako bi se rad zahvalil mag. Dubravki Trampuţ, dr. med. in asist. Jasni Kordić Lašiĉ, dr. med. za strokovno pomoĉ pri iskanju definicije duševnih bolezni, ki jih obravnavam v magistrski nalogi. Posebno se zahvaljujem druţini, ki mi je med študijem stala ob strani, mi bila v oporo in navdih. Zahvaljujem se tudi lektorici Katji Seĉenj, ki je strokovno lektorirala mojo magistrsko nalogo ter Ani Malešiĉ, mag. za pomoĉ pri iskanju teorije odloĉanja, ki je kot steber magistrske naloge. Zahvaljujem se tudi vsem ostalim, ki so kakorkoli prispevali, da je magistrska naloga nastala v tej obliki. POVZETEK V magistrski nalogi razpravljamo o tekstovnem rudarjenju, ki je proces podatkovnega rudarjenja, razvitega kot znanstveni pristop iz strojnega uĉenja in statistike. V nalogi obravnavamo raziskovalni problem pridobivanja uporabnega znanja iz nestrukturiranih besedilnih virov za namen podroĉja diagnostike na podroĉju medicine, natanĉneje na podroĉju duševnega zdravja. V nalogi najprej opišemo podroĉje rudarjenja nad besedili, t. i. tekstovno rudarjenje, in nekaj poglavitnih metod, predstavimo domeno diagnostike in izzive na podroĉju duševnega zdravja in na podlagi metodologije, ki smo jo v ta namen razvili, pripravimo model nad pridobljenimi podatki iz besedilnih virov, kar je namenjeno podpori odloĉanju v medicini. Magistrska naloga raziskuje, ali je pridobivanje informacij iz besedilnih virov s pomoĉjo tekstovnega rudarjenja primerno kot orodje za pomoĉ pri diagnostiki v medicini. KLJUČNE BESEDE: Podatkovno rudarjenje, tekstovno rudarjenje, diagnoza, podpora pri odloĉanju. ABSTRACT In the thesis we discuss text mining as the process of data mining developed by scientific approach of machine learning and statistics. The thesis research dealt with the problem of extracting useful knowledge from unstructured text sources for the purpose of the diagnosis in the medical field, specifically in the field of mental health. The paper first describe the mining of texts, so-called text mining, and some of the main methods to present the domain of diagnosis and challenges in the field of mental health and on the basis of the methodology that we have developed, we have prepared a model of the data acquired from text sources, which is designed to support decision-making in medicine. Master's thesis explores the extraction of information from textual sources using text mining tools as appropriate to assist in the medicine diagnosis. KEY WORDS: Data mining, text mining, diagnose, decision support. KAZALO 1 UVOD ................................................................................................................................. 1 2 ODKRIVANJE ZNANJA V PODATKIH .......................................................................... 3 3 2.1 Definicija podatkovnega rudarjenja ............................................................................. 3 2.2 Namen in uporaba odkrivanja znanja v podatkovnih bazah......................................... 4 2.3 Koncept tekstovnega rudarjenja ................................................................................... 5 TEORIJA ODLOĈANJA V DIAGNOZI BOLEZNI ......................................................... 7 3.1 4 5 3.1.1 Postavljanje diagnoze po standardu DSM-5 ....................................................... 10 3.1.2 Postavljanje diagnoze po standardu MKB-10 .................................................... 11 3.2 Odloĉitveni proces v postavljanju diagnoze bolezni .................................................. 12 3.3 Kliniĉni sistem za podporo odloĉanja (CSDD) .......................................................... 16 3.4 Ekspertni sistem ......................................................................................................... 17 3.5 Podatkovno rudarjenje v medicini .............................................................................. 20 FUNKCIJE PODATKOVNEGA RUDARJENJA ............................................................ 21 4.1 Analiza asociacij......................................................................................................... 22 4.2 Analiza skupin ............................................................................................................ 23 4.3 Model za napovedovanje ............................................................................................ 24 4.4 Zaznavanje anomalij................................................................................................... 25 TEHNIKE PODATKOVNEGA RUDARJENJA ............................................................. 26 5.1 6 Standardi za postavljanje diagnoze v medicini na podroĉju duševnega zdravja .......... 8 Klasifikatorji ............................................................................................................... 27 5.1.1 Bayesov klasifikator ............................................................................................ 28 5.1.2 K-NN klasifikator ................................................................................................ 30 5.1.3 SVM klasifikator .................................................................................................. 33 PROCES PODATKOVNEGA RUDARJENJA ............................................................... 37 6.1 Razumevanje problema in njegova identifikacija ...................................................... 37 6.2 Priprava podatkov in ekstrakcija ................................................................................ 38 6.3 Raziskovanje podatkov............................................................................................... 39 6.4 Modeliranje ................................................................................................................ 39 6.5 Ocenjevanje modela ................................................................................................... 40 6.6 Razvoj modela ............................................................................................................ 41 7 ANALIZA IN SELEKCIJA PROGRAMSKEGA ORODJA ........................................... 41 8 PREDSTAVITEV PROBLEMA, PREDSTAVITEV GRADNIKOV IN ORODIJ ......... 44 8.1 Definicija in simptomi shizofrenije ............................................................................ 44 8.2 Definicija in simptomi depresije ................................................................................ 46 8.3 Izbira in predstavitev baze podatkov .......................................................................... 47 8.4 Razumevanje diagnostiĉnega problema ..................................................................... 48 8.5 Priprava podatkov....................................................................................................... 48 8.5.1 Analiza podatkov ................................................................................................. 52 8.5.2 Čiščenje podatkov ............................................................................................... 53 8.5.3 Integracija podatkov ........................................................................................... 55 8.5.4 Redukcija podatkov ............................................................................................. 56 8.6 Metodologija dela ....................................................................................................... 56 8.6.1 Grozdenje – »clustering« .................................................................................... 57 8.6.2 Podobnost dokumentov ....................................................................................... 60 8.6.3 Avtomatizirana klasifikacija – Naivni Bayes. ..................................................... 62 8.6.4 Avtomatizirana klasifikacija – k-NN ................................................................... 66 8.6.5 Avtomatizirana klasifikacija SVM ....................................................................... 68 8.6.6 Asociacijska pravila za Depresijo ....................................................................... 71 8.6.7 Asociacijska pravila za Shizofrenijo ................................................................... 72 8.6.8 Avtomatizirana klasifikacija za Naive Bayes, k-NN in SVM pri spletnem rudarjenju ............................................................................................................ 73 8.6.9 Korelacijski koeficient za primerjavo med atributi ............................................. 74 8.7 9 Razprava o rezultatih .................................................................................................. 75 ZAKLJUĈEK .................................................................................................................... 79 10 LITERATURA IN VIRI ..................................................................................................... 3 PRILOGE KAZALO SLIK Slika 3.1: Blok diagram za postavljanje diagnoze .................................................................... 13 Slika 3.2: Mockler Chart pri postavljanju diagnoze ................................................................. 14 Slika 3.3: Logiĉne komponente procesa za postavljanje diagnoze v medicini ........................ 17 Slika 3.4: Primerjava med klasiĉnimi in ekspertnimi sistemi .................................................. 18 Slika 3.5: Sestava ekspertnega sistema .................................................................................... 19 Slika 4.1: Funkcije podatkovnega rudarjenja ........................................................................... 22 Slika 5.1: Napovedovanje v podatkovnem rudarjenju ............................................................. 27 Slika 5.2: Formula za Bayesov izrek ........................................................................................ 29 Slika 5.3: Primer k-NN algoritma na primeru .......................................................................... 32 Slika 5.4: Grafiĉni prikaz SVM Algoritma .............................................................................. 34 Slika 5.5: Doloĉitev optimalne hiperravnine pri SVM algoritmu (1)....................................... 34 Slika 5.6: Doloĉitev optimalne hiperravnine pri SVM algoritmu (2)....................................... 35 Slika 5.7: Primer loĉevanja vektorjev v SVM klasifikatorju.................................................... 35 Slika 5.8: Ohranjanje ohlapnosti spremenljivk pri algoritmu SVM ......................................... 36 Slika 5.9: Loĉevanje dveh skupin v SVM algoritmu................................................................ 36 Slika 6.1: Proces podatkovnega rudarjenja............................................................................... 37 Slika 8.1: Glavni proces pri sestavljanju lastne podatkovne baze ............................................ 49 Slika 8.2: Doloĉanje imena makroja......................................................................................... 50 Slika 8.3: Iteracija za operator »Loop« .................................................................................... 50 Slika 8.4: Kreiranje vektorja znotraj operatorja Process Documents From Data ..................... 52 Slika 8.5: Operatorji RapidMiner-ja za ĉišĉenje besedila ........................................................ 55 Slika 8.6: Pretvorba PDF v Word s pomoĉjo NitroPDF .......................................................... 55 Slika 8.7: Pretvorba Word v TXT format ................................................................................. 55 Slika 8.8: Operatorji za grozdenje dokumentov ....................................................................... 57 Slika 8.9: Rezultati grozdenja glede na ExampleSet ................................................................ 58 Slika 8.10: Proces podobnosti dokumentov, izbranih s strani eksperta.................................... 60 Slika 8.11: Histogram podobnosti pri podatkih, izbranih s strani eksperta .............................. 61 Slika 8.12: Podobnost pri podatkih, izbranih s strani eksperta ................................................. 61 Slika 8.13: Operatorji za Naivni Bayes .................................................................................... 62 Slika 8.14: Nastavitve za izvedbo navzkriţnega preverjanja pri algoritmu Naivni Bayes....... 62 Slika 8.15: Uĉenje in testiranje modela na podlagi algoritma »Naive Bayes«......................... 63 Slika 8.16: Natanĉnost modela s pomoĉjo algoritma Naivni Bayes......................................... 63 Slika 8.17: Distribucijska tabela operatorja Naivni Bayes ....................................................... 64 Slika 8.18: Primer grafiĉnega prikaza uteţi za parameter »Delusion«..................................... 64 Slika 8.19: Operatorji za k-NN ................................................................................................. 66 Slika 8.20: Nastavitve za izvedbo navzkriţnega preverjanja pri algoritmu k-NN ................... 67 Slika 8.21: Uĉenje in testiranje modela na podlagi algoritma »k-NN« .................................... 67 Slika 8.22: Nastavitve algoritma k-NN .................................................................................... 67 Slika 8.23: Natanĉnost modela s pomoĉjo algoritma k-NN ..................................................... 67 Slika 8.24: Operatorji za SVM ................................................................................................. 69 Slika 8.25: Nastavitve za izvedbo navzkriţnega preverjanja pri algoritmu SVM.................... 69 Slika 8.26: Uĉenje in testiranje modela na podlagi algoritma »SVM« .................................... 69 Slika 8.27: Nastavitve algoritma SVM ..................................................................................... 70 Slika 8.28: Natanĉnost modela s pomoĉjo algoritma k-NN ..................................................... 70 Slika 8.29: Operatorji za asociacijska pravila pri depresiji ...................................................... 71 Slika 8.30: Nastavitve za operatorja »FP-Growth« »Create Association Rules«..................... 71 Slika 8.31: Prikaz asociacij pri depresiji .................................................................................. 72 Slika 8.32: Natanĉnost modela s pomoĉjo algoritma Naivni Bayes......................................... 73 Slika 8.33: Natanĉnost modela s pomoĉjo algoritma k-NN ..................................................... 73 Slika 8.34: Natanĉnost modela s pomoĉjo algoritma SVM...................................................... 74 Slika 8.35: Operatorji za korelacijo dokumentov ..................................................................... 75 KAZALO TABEL Tabela 2.1: Znaĉilnosti in omejitve štirih modelov tekstovnega rudarjenja............................... 6 Tabela 3.1: Tabela kategorij bolezni po MKB-10 standardu ................................................... 10 Tabela 3.2: Kriteriji za diagnozo shizofrenije in depresije po DSM-5 standardu .................... 11 Tabela 3.3: Odloĉitvena tabela simptomov .............................................................................. 15 Tabela 3.4: Odloĉitvena tabela za diagnozo ............................................................................. 15 Tabela 3.5: Obstojeĉi sistemi za kliniĉno podporo odloĉanja .................................................. 16 Tabela 4.1: Primer asociacijskih pravil .................................................................................... 23 Tabela 5.1: Frekvenĉna tabela Bayeseove enaĉbi .................................................................... 29 Tabela 5.2: Verjetnostna tabela Bayesove enaĉbe.................................................................... 30 Tabela 5.3: Izraĉun vseh kasnejših napovedi po Bayesovi enaĉbi ........................................... 30 Tabela 5.4: Primer k-NN z Euclideanovo razdaljo................................................................... 33 Tabela 8.1: Definicija simptomov shizofrenije po standardu DSM-5 ...................................... 44 Tabela 8.2: Kriteriji za diagnozo velike depresivne motnje ..................................................... 46 Tabela 8.3: Kriteriji za diagnozo bipolarne motnje .................................................................. 47 Tabela 8.4: Integracija podatkov za analizo v RapidMiner-ju ................................................. 56 Tabela 8.5: Grozdenje v skupine glede na simptome po standardu DSM-V ........................... 59 Tabela 8.6: Rezultati grafiĉnega prikaza specifiĉne uteţi glede na Naivni Bayes ................... 65 Tabela 8.7: Korelacijska tabela doloĉenih simptomov ............................................................. 75 Tabela 8.8: Povzetek rezultatov metod avtomatizirane klasifikacije ....................................... 76 1. UVOD Raĉunalniško omreţje in digitalizacija dokumentov je postalo hrbtenica znanosti in skoraj vseh podroĉij gospodarstva. Sodobno digitalno obdobje nam je omogoĉilo ogromne koliĉine strojno berljivih dokumentov. Hkrati pa nam je raĉunalništvo omogoĉilo obdelavo besedila, da ga lahko analiziramo na besedni ravni. Na tak naĉin lahko zelo hitro in enostavno preverimo in analiziramo besedilo, ki nam lahko kasneje koristi pri odloĉitvah. Ravno s sprejemanjem odloĉitev se namreĉ sreĉujemo dnevno. Številne pomembne odloĉitve v praksi se pogosto sprejemajo brez podpore metodologij za odloĉanje. Promembne odloĉitve se sprejemajo predvsem v medicini, še posebej, kadar gre za diagnozo bolezni. Napaĉno postavljena diagnoza ima lahko slabe posledice za zdravljenje ĉloveka. Zato je diagnoza v medicini kombinacija razliĉnega in obširnega znanja ter prakse. Sprejemanje odloĉitev o zdravljenju posameznika zna biti oteţen postopek predvsem, kadar gre za bolezni, pri katerih so simptomi podobni. Takšen primer bolezni sta v medicini shizofrenija in depresija. Zato se bomo v magistrski nalogi osredotoĉili na ti dve podroĉji duševnega zdravja. V obeh primerih gre za duševno motnjo. Obe bolezni imata podobne simptome in ju je zato teţko diagnosticirati. Diagnoza med shizofrenijo in depresijo ni povsem zanesljiva, saj imata navedeni bolezni nekaj skupnih lastnosti. Diagnostiki sicer imajo vzorec, po katerem postavljajo diagnozo bolniku, zato se pod diagnozo opredeljuje celota vseh ukrepov za odkrivanje (diagnosticirani rezultat) bolezni. Sodobna raĉunalniška tehnologija nam je v pomoĉ, da lahko analiziramo besedilo, s ĉimer si vsak posameznik tvori »teorijo znanja« s katero si lahko, ĉetudi zgolj naĉelno, pomagamo sprejeti odloĉitev. Na podlagi raĉunalniške analize besedila si lahko tvorimo ekspertne sisteme. Takšni sistemi nam omogoĉajo, da ustvarimo ekspertne sisteme, ki delujejo na osnovi inteligentnega raĉunalniškega sistema in znanja ter procedur sklepanja za reševanje problemov na nekem strokovnem podroĉju. Medicina je ena od znanstvenih podroĉij, za katero lahko pri raziskavah uporabljamo podatkovno rudarjenje. Podatkovno rudarjenje se namreĉ osredotoĉa na iskanje znanja v poljubnih vhodnih podatkih, zato je del procesa KDD (angl. Knowledge Discovery in Database). Proces KDD se osredotoĉa na veĉ strok, kot sta strojno uĉenje in statistika. Zato lahko s pomoĉjo podatkovnega rudarjenja iz veĉdimenzijskih, relacijskih, besedilnih in multimedijskih zbirk podatkov izvleĉemo dodatno znanje, ki lahko koristi tudi za diagnostiko na podroĉju medicine. Tekstovno rudarjenje je specializirano podroĉje podatkovnega 1 rudarjenja. Namreĉ, pri naboru znanstvenih prispevkov imamo ravno opravka s procesiranjem veĉjih koliĉin nestrukturiranih tekstovnih podatkov. S takšnim procesiranjem lahko v naboru znanstvenih prispevkov poišĉemo vzorec v besedilu, ki ga lahko uporabimo za podporo pri postavljanju diagnoze. Cilj tekstovnega rudarjenja pri razkrivanju skritih podatkov s pomoĉjo metod, ki so na eni strani sposobni, da se spopadejo z velikim številom besed in na drugi strani omogoĉa ravnanje z neodloĉnostjo, negotovostjo in nejasnostjo. Magistrska naloga je sestavljena iz dveh delov. Teoretiĉnega in empiriĉnega dela. V teoretiĉnem delu je predstavljena definicija podatkovnega rudarjenja in njene funkcije ter tehnike. Prav tako je predstavljen naĉin postavljanja diagnoze na podlagi standardov ter kakšne sisteme za podporo odloĉanja v medicini poznamo. V empiriĉnem delu pa bomo s pomoĉjo programa RapidMiner, ki je nesporno vodilni svetovni odprtokodni sistem za podatkovno rudarjenje, bomo poskušali analizirati tekst korpusa znanstvenih prispevkov, zbranih s strani eksperta. Namen magistrske naloge je razvoj modela za podporo odloĉanju na podroĉju duševnega zdravja, kjer bomo analizirali besedilne vire ter preverili, oziroma testirali ta model v praksi. Za uresniĉitev namena magistrske naloge bomo morali izpolniti dva cilja: 1. Cilj magistrske je narediti model za podporo odloĉanju pri diagnostiki na podroĉju duševnega zdravja na podlagi nestrukturiranih besedilnih virov. 2. Preveriti napovedni model v praksi. Njegovo veljavnost bomo preverili s pomoĉjo ocene eksperta zdravnice specialistke splošne medicine. Hipotezi, na katere ţelimo odgovoriti, sta: H1: Simptomi pri shizofreniji in depresiji so soodvisni: S pomoĉjo RapidMinerja bomo poskušali ugotoviti, ali enaki simptomi definirajo obe bolezni. H2: Podatkovno rudarni model z analizo besedil lahko pomaga ekspertu pri diagnosticiranju bolezni shizofrenija in depresija. Raziskovalni vprašanji sta: 1. Kakšna je dodana vrednost napovednega modela pri podpori odloĉanju glede diagnoze duševnega zdravja (na podroĉju shizofrenije in depresije)? 2. Ekspert zdravnik bo na podlagi svoje prakse in znanja ugotovil, ali takšen napovedni model sluţi za podporo pri odloĉanju glede diagnoze duševnega zdravja. 2 2. ODKRIVANJE ZNANJA V PODATKIH Odkrivanje znanja v podatkih, oziroma drugaĉe povedano – podatkovno rudarjenje je tehniĉna stroka, ki nam pomaga analizirati vhodne podatke. Pri tem nam je v pomoĉ raĉunalnik kot orodje za analizo podatkov. Raĉunalniška obdelava besedila nam omogoĉa, da besedilo analiziramo na besedni ravni. Gre za relativno enostaven in hiter postopek preverjanja in analiziranja besedila, ki je zaradi hitrosti in natanĉnosti koristno za uporabnika (na primer osnove statistike, kot je število besed, število stavkov, itd.) (Mlakar, 2012). 2.1 Definicija podatkovnega rudarjenja Temelji tehniĉne stroke podatkovnega rudarjenja (angl. data minig) so bili postavljeni v petdesetih letih s pojavom strojnega uĉenja (angl. machine learning). V tem ĉasu so bili razviti prvi algoritmi za iskanje znanja. Prave temelje te stroke so postavili ţe statistiki z opredelitvijo osnovnih pojmov, kot so enota, populacija, vzorec in spremenljivka. Podatkovno rudarjenje je namreĉ del procesa KDD (angl. Knowledge Discovery in Database), ki pa se osredotoĉa na iskanje znanja v poljubnih vhodnih podatkih. Proces KDD se opira na veĉ strok, kot sta strojno uĉenje in statistika. Podatkovno rudarjenje predstavlja kljuĉni proces KDD (Konda in Peljhan 2010, str. 175-176). Mehanizme in tehnike s podroĉja delovanja podatkovnega rudarjenja je skratka mogoĉe opisati kot zdruţitev pristopov strojnega uĉenja in statistike. Iz tega vidika lahko pravimo, da se je podatkovno rudarjenje razvilo iz discipline strojnega uĉenja in statistike (Coenen 2011, str. 26). Zato ima ta tehnika tudi široko podroĉje uporabe glede razliĉnih virov podatkov in uporabljenih metod. Kot vir podatkov lahko poleg veĉdimenzijskih zbirk podatkov uporabljamo tudi relacijske, besedilne in multimedijske zbirke podatkov, zbirke podatkov o ĉasovnih vrstah, skladišĉa podatkov, datoteke in podobne podatke v oblikah, ki jih je teţko ali nemogoĉe predstaviti z dimenzijskim modelom. Najpogostejša podroĉja uporabe podatkovnega rudarjenja so finance, trţenje, telekomunikacije, medicina in astronomija, redkeje kot vir nastopajo besedilni in bibliografski podatki (Hudomalj 2005, str. 42 in 44). Proces odkrivanja zakonitosti v podatkih poteka v veĉ stopnjah: (i) vzorĉenje in selekcija podatkov, (ii) transformacije surovih podatkov, (iii) podatkovno rudarjenje in (iv) interpretacija rezultatov in indukcija spoznanj ter splošnih zakonitosti iz podatkov. 3 Podatkovno rudarjenje je raĉunsko najintenzivnejši del tega procesa, ki vkljuĉuje uporabo metod, tehnik in orodij za avtomatsko konstrukcijo vzorcev, modelov in zakonitosti iz podatkov (Kastrin 2008, str. 52-53). Tehnika rudarjenja podatkov vkljuĉuje uporabo posebnih algoritmov za odkrivanje uporabnega znanja. Algoritmem v podatkovnem rudarjenju je segment raĉunalniške kode, ki opravlja izraĉune na modelu. Napovedna analitika podatkovnega rudarjenja vkljuĉuje številne napovednike, tj. spremenljive dejavnike (faktorje), ki bodo najverjetneje vplivali na prihodnje dogodke (Gilchirst, Mooers, Lehmann, Skrubbeltrang in Vachon 2012, str. 3). Podatkovno rudarjenje specializira tudi podroĉje tekstovnega rudarjenja (angl. text mining), ki je kot multidisciplinarno znanstveno podroĉje in se ukvarja s procesiranjem veĉjih koliĉin nestrukturiranih tekstovnih podatkov, zapisanih v naravnem jeziku z namenom pridobivanja manjše koliĉine visoko kakovostnih informacij. Procesiranje v tem delu pomeni iskanje vzorcev ali korelacije v besedilu oziroma med ducat polji v velikih relacijskih podatkovnih bazah (Brezovnik 2009, str. 11; Çakir in Demirel 2011, str. 1505). 2.2 Namen in uporaba odkrivanja znanja v podatkovnih bazah Podatkovno rudarjenje je torej proces zbiranja, raziskovanja in modeliranja velikega nabora podatkov ter analiza podatkov iz razliĉnih zornih kotov z namenom odkrivanja koristnih informacij (Koh in Chan Kin 2002, str. 4; Çakir in Demirel 2011, str. 1505). Orodja za podatkovno rudarjenje se klasificirajo glede na to, kar lahko izvedejo. Bodisi opis in vizualizacijo, bodisi asociacijo in grozdenje, bodisi klasifikacijo in estimacijo (napoved) (Koh in Chan Kin 2002, str. 4). Programska oprema za to tehniko rudarjenja je analitiĉno orodje za analizo podatkov. To omogoĉa uporabnikom, da analizirajo podatke iz razliĉnih dimenzij in kotov, jih kategorizirajo in povzemajo ugotovljene povezave – korelacije med vzorci (Çakir in Demirel 2011, str. 1505). Torej podatkovno rudarjenje uporablja razliĉne tipe napovednih modelov z namenom izvleĉi informacije iz podatkovne baze (Gilchirst, Mooers, Lehmann, Skrubbeltrang in Vachon 2012, str. 4). Namen podatkovnega rudarjenja oziroma odkrivanja znanja v podatkih je zbrati ĉim veĉ informacij o posameznem vprašanju, tako da analitiki lahko opazijo trend in napovejo, kaj se bo verjetno zgodilo naslednje (Answer™). 4 Omenjeni KDD je torej enostaven proces identifikacije veljavnih, neobiĉajnih, potencialno uporabnih in navsezadnje razumljivih vzorcev v podatkih. Podatkovno rudarjenje je predvsem korak v tem procesu, saj vkljuĉuje uporabo posebnih algoritmov za ekstrakcijo vzorcev (modelov) iz podatkov (Choudhary, Harding in Tiwari 2009, str. 503). KDD in podatkovno rudarjenje sta videti kot sinonima, vendar tehniĉno je podatkovno rudarjenje podproces KDD (Coenen 2011, str. 25). Dodatni koraki v KDD procesu, kot so na primer priprave podatkov, izbor podatkov, ĉišĉenje podatkov, vkljuĉevanje predhodnega znanja in pravilno interpretacijo rezultatov rudarjenja zagotavlja, da koristno znanje izhaja iz podatkov. Pomemben pojem »zanimivost« se obiĉajno jemlje kot splošni ukrep vzorca vrednosti, ki zdruţuje veljavnost, novost, uporabnost, enostavnost in razumljivost. Znanje v tej definiciji je zgolj uporabniško usmerjeno in se doloĉa glede na funkcijo ter mejo, ki jo uporabnik izbere. Vloga zanimivosti je, da je meja veliko število odkritih vzorcev, poroĉa pa se samo tiste, ki so lahko uporabni (Choudhary, Harding in Tiwari 2009, str. 503). Poznamo dve vrsti podatkovnega rudarjenja. Prvo je deskriptivno, drugo pa predikcijsko podatkovno rudarjenje. Z vidika magistrske naloge obravnavamo predikcijsko podatkovno rudarjenje. Ta se ukvarja z iskanjem podatkovnih vzorcev s sposobnostjo generalizacije, ki jo nato poskuša odraţati v odloĉitvah prihodnosti. Ta uporabniku omogoĉa poizvedovanje, kjer v sistem odda zapis z nedefinirano vrednostjo doloĉene lastnosti. Glede na to vrednost in vzorce zapisov iz preteklosti pa sistem lahko predvidi vrednost neznanemu zapisu (Mertik 2013, str. 7). 2.3 Koncept tekstovnega rudarjenja Tekstovno rudarjenje je kot »odkrivanje novih, prej neznanih informacij, s samodejnim pridobivanjem informacij iz razliĉnih pisnih virov« (Zhang in Segall 2010, str. 626). Tekstovno rudarjenje se je razvilo iz diskriminatornih modelov, kot so latentno semantiĉne analize do generativnih modelov, kot so verjetnostno latentna semantiĉna analiza, latentno Dirichletovo dodeljevanje in model korelacije teme (glej Tabela 2.1) (Sangno, Jaeki in Yongjin 2010, str. 2). Preprosto povedano, tekstovno rudarjenje je odkrivanje uporabnih in prej neznanih podatkovnih »draguljev« iz zbirke besedilnih dokumentov. Tekstovno rudarjenje se od 5 podatkovnega rudarjenja loĉi z ugotovitvijo, da se »vzorci tekstovnega rudarjenja razširjajo iz naravnega jezika in ne od strukturiranih podatkovnih baz o dejstvih.« (Zhang in Segall 2010, str. 626). Tabela 2.1: Znaĉilnosti in omejitve štirih modelov tekstovnega rudarjenja Značilnosti / Omejitve Znaĉilnosti Zmanjšuje dimenzionalnost TF-IDF1 z uporabo singularno razpadlih vrednosti (angl. Singular Value Decomposition). Zajema sinonime besed. Latentno semantiĉna Nima robustnega statistiĉnega ozadja. analiza (LSA) Omejitve Teţko je doloĉiti število tem. Teţko je razloţiti vrednosti obremenjevanja z verjetnostnim smislom. Teţko je oznaĉiti temo v nekaterih primerih z uporabo besede v temi. Znaĉilnosti Zmesi komponent so mnogoĉlenske sluĉajne spremenljivke, ki jih je mogoĉe obravnavati kot prikaz »tem«. Vsaka beseda je ustvarjena iz ene teme; razliĉne besede v dokumentu Verjetnostna latentna pa se lahko pridobijo iz razliĉnih tem. semantiĉna analiza VLSA delno obravnava polisemijo (po SSKJ: Veĉpomenskost ali (VLSA) polisemija je jezikovni pojav, ki oznaĉuje lastnost besede ali besedne zveze z veĉ razliĉnimi med seboj povezanimi pomeni). Omejitve VLSA model ni na ravni dokumentov. Znaĉilnosti Upošteva odnose (povezave) med temami, ki uporabljajo logistiĉno normalne porazdelitve. Omogoĉa pojavitve besed v drugih temah. Model korelacije teme (MKT) Omogoĉa temo grafov. Omejitve Zahteva zapletene izraĉune. Vsebuje preveĉ splošnih besed v temah. Model Vir: Lee, Song in Kim (2010, str. 3) Kadar se pojem tekstovno rudarjenje razlaga široko, veliko razliĉnih problemov in tehnik sodi pod podroĉje tega pojma. V veĉini primerov je teţko zagotoviti splošne in pomembne ocene, ker je naloga na posameznem delu teksta, ki ga obravnavamo, lahko zelo obĉutljiva. 1 TF-IDF: je kratica za 'frekvenca izrazov – frekvence obratnega dokumenta' (angl. Term Frequency – Inverse Document Frequency). Teţa TF-IDF se pogosto uporablja za iskanje informacij v tekstovnem rudarjenju. Gre za teţo, ki je statistiĉna mera in se uporablja za oceno, kako pomembna je beseda v dokumentu, v zbirki podatkov ali v korpusu. 6 Razvrstitev dokumenta, ekstrakcija subjekta in polnjene predlog, ki ustrezajo danim razmerjem med subjekti, so centralne dejavnosti tekstovnega rudarjenja. Uporaba strukturiranih podatkov, kot so spletne strani in ne golo besedilo kot vnos odpira nove moţnosti za pridobivanje informacij. Avtomatske tehnike tekstovnega rudarjenja imajo še dolgo pot, preden bodo postale tekmec ĉloveškim sposobnostim, tudi brez posebnega podroĉja znanja, da bi zbrala podatke iz velikih zbirk dokumentov (Witten 2005, str. 20). Aplikacija pri tekstovnem rudarjenju je namenjena klasificiranju v kategorije ali grozde, obseţne zbirke dokumentov (najboljši primer so ĉlanki in novice, drugo je spletna stran). Na splošno je tekstovno rudarjenje proces, kako najbolje predstaviti tekstovne dokumente. Pogosto se uporablja za predstavitev pristop »torba besed« (angl. »bag-of-words«), kjer so dokumenti predstavljeni v smislu zbirke kljuĉnih besed (Coenen 2011, str. 28). Kljuĉne besede so besede, ki jih akademiki oziroma znanstveniki uporabljajo, da razkrijejo notranjo strukturo avtorske obrazloţitve. V korpusnem jezikoslovju so kljuĉne besede tiste besede, ki se pojavljajo statistiĉno z nenavadno frekvenco v besedilu ali korpusu besedil (Scott in Tribble, 2006). Raziskovanje kljuĉnih besed nam pomaga razumeti vrste stvari, ki se jih ljudje trudijo najti, kot tudi besede, ki jih uporabljajo (Stockwell 2005, str. 7). Pri tekstovnem rudarjenju pa si je potrebno postaviti vprašanje, katere kljuĉne besede vkljuĉiti. Te besede lahko definirajo eksperti, ali pa se pridobijo z uporabo drugih tehnik podatkovnega rudarjenja ali tehnik obdelave naravnega jezika (Coenen 2011, str. 28). 3. TEORIJA ODLOČANJA V DIAGNOZI BOLEZNI Teorija odloĉanja predpostavlja, da je tak standard pri roki in se nadaljuje v izraz takšnega standarda v natanĉen in koristen naĉin (Ove Hansson 1994, str. 14). Lonĉariĉ in drugi (2012) opredelijo faze odloĉitvenega procesa po sledeĉem modelu: 1) Opredelitev problema. 2) Doloĉitev kriterijev – doloĉanje kriterijev, na osnovi katerih se sprejemajo odloĉitve. 3) Strukturiranje kriterijev – kriterije se strukturira v drevesno strukturo. 4) Vnos merskih lestvic za posamezne kriterije – za vsak kriterij se vpišejo zaloge vrednosti. 5) Doloĉanje funkcije koristnosti – pri sestavljenih kriterijih se opredelijo deleţi vpliva posameznega podkriterija. V medicini je diagnoza pojem, ki predstavlja proces ugotavljanja bolnikove bolezni in vzrokov, ki so do nje pripeljali. Diagnoza je nujno potrebna, da se lahko bolnika zaĉne 7 zdraviti, saj pred pravilno postavljeno diagnozo zdravnik ne ve, katero bolezen naj zdravi, katera zdravila in posege naj predpiše (eDoktor). Skratka, diagnoza je rezultat strokovne presoje in sprejete odloĉitve o zdravljenju posameznika, druţine ali skupnosti ter prestavlja osnovo za planiranje ustreznih zdravstvenih intervencij, za katere je odgovorno zdravstveno osebje (Šĉavniĉar, 1998, str. 168). Zdravstveno odloĉanje oziroma diagnoza bolezni pri bolnikih predstavlja izziv za kliniĉno prakso, etiĉnega razglabljanja in pravne ureditve (Jox in drugi 2008, str. 153). Diagnostiki sicer imajo vzorec, po katerem postavljajo diagnozo bolniku, zato se pod diagnozo opredeljuje celota vseh ukrepov za odkrivanje (diagnosticirani rezultati) bolezni. Diagnostika zajema ukrepe, kot je zdravstvena anamneza, analize telesnih tkiv in iztrebkov ter drugi testi (DocCheck Flexikon – Das Medizinlexikon zum Medmachen). Razni rezultati analiz in testov so zapisani v obliki znanstvenih prispevkov, ki prispevajo k ugotavljanju diagnoze pri boleznih, vendar je zaradi svojega prevelikega nabora teţko uporabiti kontekst vseh prispevkov in na podlagi teh postaviti diagnozo za bolezen. Poleg tega pa resolucija generalne skupšĉine OZN 46/119 v ĉetrtem principu (Princip 4) navaja, da mora biti diagnoza duševne bolezni narejena v skladu z mednarodnimi zdravstvenimi standardi (Lapanje, 2013). Uĉinkovito izvajanje zahtev standardov nudi zdravstvenim organizacijam okvir za odloĉanje, naĉrtovanje in nenehno izboljševanje aktivnosti na podroĉju zdravstvene oskrbe (Košnik, 2012). Choudhary, Harding in Tiwari 2009, str. 503). 3.1 Standardi za postavljanje diagnoze v medicini na področju duševnega zdravja Kot smo omenili, resolucija generalne skupšĉine OZN 46/119 v ĉetrtem principu (Princip 4) navaja, da mora biti diagnoza duševne bolezni narejena v skladu z mednarodnimi zdravstvenimi standardi (Lapanje, 2013), kot sta na primer standarda ISO 9001 in NIAHO. ISO 9001 omogoĉa integracijo z drugimi sistemi vodenja in vkljuĉitev specifiĉnih zahtev za razliĉne dejavnosti znotraj zdravstva (kot so na primer NIAHO, VVL, HPH in ISO 15189). NIAHO standard zahteva Ministrstvo za zdravje in Zavod za zdravstveno zavarovanje, saj kot standard predpisuje jasne zahteve na podroĉju stroke (diagnostike, zdravljenja, kliniĉne farmacije, prepreĉevanje okuţb itd.). Vendarle se v nalogi osredotoĉamo na podroĉje duševnega zdravja, kjer se zdravniki in psihiatri posluţujejo diagnostiĉnih kriterijev DSM IV, oziroma sedaj ţe DSM V standarda. Gre za Diagnostiĉni in statistiĉni priroĉnik duševnih motenj (DSM), ki ga je objavilo ameriško psihiatriĉno zdruţenje z namenom zagotavljanja 8 skupnega jezika in standardnih meril za klasifikacijo duševnih motenj. DSM se poveliĉuje za standardizacijo psihiatriĉnih diagnostiĉnih kategorij in meril (Lane, 2013). Poleg standarda DSM pa se tudi psihiatri pri postavljanju diagnoze posluţujejo standarda MKB-10 (Kodriĉ, Lašiĉ, 2013). DSM IV, ĉetrta izdaja Diagnostiĉnega in statistiĉnega priroĉnika (angl. Diagnostic and Statistical Manual Fourth Edition), je uradni diagnostiĉni priroĉnik Ameriškega psihiatriĉnega zdruţenja. Priroĉnik je bil objavljen leta 1994, ĉetrta izdaja pa je bila revidirana v letu 2000. Maja leta 2013 pa je ĉetrto izdajo nadomestila peta izdaja. DSM IV se šteje za zlati standard za diagnozo. Ta standard je osnova za vse diagnoze v duševnem razvoju, ĉeprav so te diagnoze podprte z drugimi ocenami, kot so standardizirani inteligenĉni testi (na primer WISC) (Webster, 2013). Peta izdaja Diagnostiĉnega in statistiĉnega priroĉnika duševnih motenj, DSM 5, je bila prav tako odobrena s strani Sveta zaupnikov Ameriškega psihiatriĉnega zdruţenja (APA) 1. decembra 2012 ter objavljena 18. maja 2013 (Cassels, 2012). DSM 5 vsebuje obširno revidirane diagnoze in v nekaterih primerih tudi širi diagnostiĉne opredelitve, medtem ko v drugih primerih zmanjšuje opredelitve (Jayson, 2013). Prva izdaja DSM 5 je prekinila rimsko številĉenje, da omogoĉi veĉjo jasnost glede številk revizije. Pomembna sprememba v peti izdaji je bila ĉrtanje podtipov shizofrenije (Sun, 2013). Nov DSM-5 je tako razdeljen na 9 poglavij (APA, 2013): 1. Nevrološke teţave. 2. Spektrum shizofrenije in drugih psihotiĉnih motenj. 3. Travma in stresorji ter povezane bolezni 4. Disociativne motnje v DSM-5. 5. Odprava motenj. 6. Disforija2 spola v DSM-5. 7. Moteĉe, impulzno krmiljenje in ravnanje motenj v DSM-5. 8. Osebnostne motnje v DSM-5. 9. Spolne motnje v DSM-5. MKB-10 oziroma Mednarodna statistiĉna klasifikacija bolezni in sorodnih zdravstvenih problemov je klasifikacija WHO. Gre za klasifikacijo bolezni po sistemu kategorij, v katerega so uvršĉene bolezni in stanja v skladu z izbranimi merili. Deseta, uporabna revizija je bila izdana leta 1992, ki pa je tudi zadnja v vrsti revizij klasifikacije (MKB-10, 2005). 2 Disforija: (iz Leka, slovenski medicinski e-slovar): blaţji odmik od navadnega razpoloţenja – depresija. 9 Mednarodna klasifikacija bolezni in sorodnih zdravstvenih problemov, 10. popravljena izdaja je razdeljena na 22 poglavij (MKB-10, 2005) (glej tabelo 3.1): Tabela 3.1: Tabela kategorij bolezni po MKB-10 standardu Pog. Kat. Naslov Pog. Kat. I A00-B99 Nekatere infekcijske in parazitske bolezni XII L00-L99 II C00-D48 Neoplazme XIII M00-M99 III D50-D89 XIV N00-N99 IV E00-E90 Bolezni krvi in krvotvornih organov Endokrine, prehranske in presnovne bolezni XV O00-O99 V F00-F99 Duševne in vedenjske motnje XVI P00-P96 VI G00-G99 Bolezni ţivĉevja XVII Q00-Q99 VII H00-H59 Bolezni oĉesa in adneksov XVIII R00-R99 VIII H60-H95 Bolezni ušesa in mastoida XIX S00-T98 IX I00-I99 Bolezni obtoĉil XX V01-Y98 X J00-J99 Bolezni dihal XXI Z00-Z99 XI K00-K93 Bolezni prebavil XXII U00-U99 Naslov Bolezni koţe in podkoţja Bolezni mišiĉnoskeletnega sistema in vezivnega tkiva Bolezni seĉil in spolovil Noseĉnost, porod in poporodno obdobje Nekatera stanja, ki izvirajo v obporodnem obdobju Prirojene malformacije, deformacije in kromosomske nenormalnosti Simptomi, znaki in nenormalni kliniĉni izvidi Poškodbe, zastrupitve in nekatere druge posledice zunanjih vzrokov Zunanji vzroki obolevnosti in umrljivosti Dejavniki, ki vplivajo na zdravstveno Kode za posebno uporabo Vir: WHO (2007) Pri diagnozi se eksperti oziroma psihiatri ravnajo po klasifikaciji (standardih) MKB-10 in DSM-V. Konĉno diagnozo pa postavijo na podlagi kliniĉne slike, nevropsihološke diagnoze in rezultatov nevroslikovitih testov ter opazovanja pacienta (Kordiĉ Lašiĉ, 2013). 3.1.1 Postavljanje diagnoze po standardu DSM-5 Ker se v nalogi osredotoĉamo na dve duševni bolezni, bomo pregledali, kaj pravi standard DSM-5 pri diagnostiki shizofrenije in depresije. 10 Tabela 3.2: Kriteriji za diagnozo shizofrenije in depresije po DSM-5 standardu Ime in oznaka duševne motnje 295.90 Shizofrenija 295.70 Depresija Kriterij Izpolnjena morata biti najmanj dva pogoja od naslednjih pogojev: od katerih eden mora biti bodisi blodnje, halucinacije ali ne-organizirano govorjenje; skrajno neorganizirano ali katatoniĉno vedenje, negativni simptomi. Po DSM-5 gre za shizoafektivno motnjo, ki je v istem razredu kot diagnostika shizofrenije, vendar pa ne v istem razredu kot motnje razpoloţenja. Depresivna motnja ali motnja maniĉnega razpoloţenja hkrati s primarnimi simptomi shizofrenije doloĉa tipe depresije. Depresivno motnjo navadno imenujemo velika depresija, unipolarna depresija ali kliniĉna depresija, kjer ima oseba lahko enega ali veĉ velikih depresivnih epizod. Depresivna epizoda je obdobje, za katerega so znaĉilni sledeĉi simptomi: hudo depresivno razpoloţenje in izguba zanimanja ali veselja pri vsakodnevnih dejavnostih, vendar (depresivne epizode) spremljajo tudi drugi simptomi, kot so obĉutek ţalosti, tesnobe, praznine, brezupa, nemoĉi, brezvrednosti, krivda ali razdraţljivost, izguba apetita ali prenajedanje, teţave z zbranostjo, spominjati se podrobnosti ali sprejetih odloĉitev in misli ali poskusi samomora. Vir: APA – American Psychiatric Association (2013) V osmem poglavju pa bomo navedli pregled vseh simptomov, klasificiranih po standardu DSM-5 za podroĉje shizofrenije in depresije. 3.1.2 Postavljanje diagnoze po standardu MKB-10 Seznam MKB-10 vsebuje 22 poglavij, ki predstavljajo posamezne kategorije bolezni. Z vidika naloge nas zanima peto poglavje, oziroma kategorija F00-F99 z naslovom »Duševne in vedenjske motnje«. V poglavju V MKB-10 opredeljuje duševne in vedenjske motnje v poglavjih od F00 do F99. Shizofrenija in depresija se razvršĉata v svoji poglavji in sicer (MKB-10, 2005): F20-F29: Shizofrenija, shizotipske in blodnjave motnje. F30-F39: Razpoloţenjske (afektivne) motnje. Skratka MKB-10 zelo natanĉno opredeljuje tipe duševnih motenj ter njihov opis. Z vidika magistrske naloge pa nas zanima le splošna opredelitev shizofrenije in depresije, ki pa obe klasifikaciji (MKB-10 in DSM-V) opredeljujeta enako. Bistvene razlike med klasifikacijama so, da MKB-10 ustvarja (je napisan) WHO (Svetovna zdravstvena organizacija) z misijo ustanove javnega zdravstva, medtem ko pa DSM ustvarja eno samo nacionalno poklicno 11 zdruţenje. WHO daje glavni poudarek na klasifikacijo duševnih in vedenjskih motenj z namenom, da pomaga drţavam zmanjšati obolevanje za duševnimi motnjami. Zato je razvoj MKB-10 globalen, multidisciplinaren in veĉjeziĉen, medtem ko so glavna enota za razvoj DSM ameriški psihiatri. MKB-10 je odobren s strani Svetovne zdravstvene organizacije, ki ga sestavljajo ministri za zdravje iz vseh 193 drţav ĉlanic WHO. DSM-V pa je odobrila skupšĉina ameriškega psihiatriĉnega zdruţenja. MKB-10 je razdeljen kolikor se da široko po zelo nizki ceni, s precejšnjimi popusti pri drţavah z nizkimi dohodki in z brezplaĉnim dostopom do interneta. DMS-V pa ustvarja zelo velik del prihodkov za Ameriško psihiatriĉno zdruţenje, ne samo od prodaje knjig, ampak tudi od sorodnih izdelkov ter dovoljenj za avtorske pravice za knjige in znanstvene ĉlanke (APA, 2009). Odločitveni proces v postavljanju diagnoze bolezni 3.2 Sistemi za podporo odloĉanja (angl. Decision Support Systems – DSS) so opredeljeni kot interaktivno raĉunalniško podprti sistemi, namenjeni za pomoĉ odloĉevalcem, da uporabijo podatke in modele z namenom identificirati probleme, jih rešiti in sprejeti odloĉitev. Sistemi za podporo odloĉanja vkljuĉujejo podatke in modele ter so namenjeni za pomoĉ odloĉevalcem v polstrukturiranih in nestrukturiranih procesih odloĉanja. Zagotavljajo podporo odloĉanju in ne nadomešĉajo samega odloĉanja. Poslanstvo sistemov za podporo odloĉanja je izboljšati uĉinkovitost sprejemanja odloĉitve, ne pa uĉinkovitost odloĉitve (Kukar in Rupnik 2007, str. 196). Odloĉitveni proces je torej proces sistematiĉnega zbiranja in urejanja znanja. Proces je namenjen zagotavljanju zadosti informacij za primerno odloĉitev ter dvigu kakovosti odloĉitve (Penev 2006, str. 23). Moderno sekvenĉni model odloĉitvenega procesa Herbert Simon (1960) modificira preko Deweyevega seznama petih faz in jih tako oblikuje v primeren okvir za sprejemanje odloĉitev v organizaciji. Po mnenju Herberta Simona je odloĉanje sestavljeno iz treh glavnih faz: 1. Iskanje priloţnosti za sprejemanje odloĉitev. 2. Iskanje moţnih poti. 3. Izbira med izbranimi potmi (Ove Hansson 1994, str. 10). Boljšo vplivno razdelitev postopka odloĉanja je predlagal Brim (1962), ki je razdelil postopek odloĉanja v naslednjih petih korakih (Ove Hasson 1994, str. 10): 1. Identifikacija problema. 2. Pridobitev potrebnih informacij. 12 3. Proizvodnja moţnih rešitev. 4. Ocena takšnih rešitev. 5. Izbira strategije za opravljanje. Kot zasnova sistema pri sprejemanju odloĉitev oziroma postavljanju diagnoze strokovnjak (psihiater, zdravnik, itd.) uporablja pravilo ekspertnega sistema, ki temelji na znanju. Struktura teh pravil je »ĉe-potem« (angl. IF-Then). »Ĉe« dokazuje stanje in nato prikazuje situacijo, »Potem« pa prikazuje predlog. Za prenos znanja s strokovnjakov (ekspertov) na ta pravila se uporabljajo tri stopnje, ki jih strokovnjak upošteva: 1) blok shema; 2) Mockler Charts: 3) odloĉitvene tabele (Zeki, Malakooti, Ataeipoor in Tabibi 2012, str. 5). Zeki, Malakooti, Ataeipoor in Tabibi (2012) v svojem prispevku predlagajo naslednji blok diagram, Mockler Charts in odloĉitveno tabelo za postavljanje diagnoze pri pacientu. Primere v blok diagramu, Mocklerjevem Chartu in Odloĉitveni tabeli ponazarjamo nakljuĉno za primer bolezni »depresije« in »shizofrenije«. Slika 3.1: Blok diagram za postavljanje diagnoze Diagnoza Pacientova situacija Starost pacienta Efektivni faktorji Simptomi Testi Moški Simptom 1. (npr. halucinacije) Simptom 2. (npr. prisluhi) Debelost Starost >= 25 Nosečniški test Ženska & Nenoseča Simptom 3. (npr. glavobol) Simptom 4. (npr. zamegljen vid) Visok krnvni tlak Zgodovina družine (v boleznih) Drugi testi Ženska & Noseča Simptom 5. Drugi efektivni faktorji Vir: Kovaĉeviĉ Rudolf, lastni prikaz (2014) Diagnosticiranje mora biti del, ki je sestavljen iz lastnosti, na podlagi katerih bi razliĉne kombinacije teh lastnosti omogoĉale uĉinkovitejše nagibanje k razliĉnim diagnozam (Zeki, Malakooti, Ataeipoor in Tabibi 2012, str. 5). Naslednja faza je oblikovanje Mockler Chart diagrama, ki temelji na prejšnji shemi – Block Diagram, na kateri mora uporabnik (pacient) odgovoriti na vprašanja. 13 Slika 3.2: Mockler Chart pri postavljanju diagnoze Vir: Kovaĉeviĉ Rudolf, lastni prikaz (2014) Ta Mocklerjev Chart diagram za postavljanje diagnoze je pripravljen zato, da prikaţe odnos testov, bolnikove (pacientove) situacije, bolnikove starosti, simptomov in efektivnih faktorjev. Simptomi v Mocklerjevem Chartu odgovarjajo na vprašanja in odloĉitve, ki so v zvezi z doloĉitvijo bolnikovih simptomov, ki diagnozirajo bodisi shizofrenijo, bodisi depresijo. V efektivnih faktorjih Mocklerjevega Charta so prikazana vprašanja in izbire, ki doloĉajo, ali je bolnikov status riziĉenalizdrav. Zadnji Mocklerjev Chart pa se nanaša na teste diagnoze bolnikov, da bi pokazali in ugotovili stanje bolnika (Zeki, Malakooti, Ataeipoor in Tabibi 2012, str. 7). Po ustvarjanju Mocklerjevega Charta je potrebno oblikovati povezano »Odloĉitveno tabelo«, ki temelji na Mocklerjevem Chartu. Zato je potrebno sestaviti tri odloĉitvene tabele: 1. Odloĉitvena tabela simptomov 2. Odloĉitvena tabela efektivnih faktorjev 3. Odloĉilna tabela testov 14 V tabeli na primer (glej tabelo 3.3) prikazujemo primer odloĉitvene tabele simptomov. Na enak naĉin se izdelajta ostali tabeli. Nato se rezultati vseh treh odloĉitvenih tabel zdruţijo v eno skupno tabelo (glej tabelo 3.4): odloĉitvena tabela za diagnozo. Tabela 3.3: Odloĉitvena tabela simptomov Diagnoza Simptomi Zamegljen vid Dehidracija Izguba koncentracije Utrujenost Izguba teţe brez razloga Halucinacije Vznemirjenost Obĉutek ţalosti Brezupje Zdrav Bolan (npr. shizofrenija/depresija Ne Ne Ne Ne Ne Ne Ne Ne Ne Da Da Da Da Da Da Da Da Da Vir: Kovaĉeviĉ Rudolf, lastni prikaz (2014) Torej konĉna odloĉitvena tabela za diagnozo prikazuje razliĉne kombinacije bolnikovega stanja, starost bolnika, simptome, efektivne faktorje in teste, kjer se na podlagi njihove analize zagotavlja konĉna odloĉitev diagnoze. Jasno je, da vsaka vrstica te tabele prikazuje pravilo odloĉitve za postavljanje diagnoze (Zeki, Malakooti, Ataeipoor in Tabibi 2012, str. 10). V tabeli (glej tabelo 3.4) prikazujemo le primer, kako naj bi bila odloĉitvena tabela sestavljena. Tabela 3.4: Odloĉitvena tabela za diagnozo Zdrav Zdrav Zdrav Situacija pacienta ------- Starost pacienta ------- Nezdrav Moški < 20 Nezdrav Ţenska & Nenoseĉa >= 20 Halucinacije --- Nezdrav Moški --- Hitro vznemirjanje --- Testi Simptomi Zdrav Zdrav Glavobol Obĉutek brezupa Vir: Kovaĉeviĉ Rudolf, lastni prikaz (2014) 15 Efektivni faktorji Zdrav Pri tveganju Zdrav --- Diagnoza Zdrav Pri tveganju Veĉ pozornosti Depresija – tip A Shizofrenija – tip A Depresija – tip B 3.3 Klinični sistem za podporo odločanja (CSDD) Kliniĉni sistem za podporo odloĉanja (Clinical Decision Support System) je kot »aktivni sistem znanja, ki uporablja dve ali veĉ postavk pacientovih podatkov z namenom ustvarjanja nasvetov za konkretne primere« (Decision support systems, 2005). To pomeni, da je CDSS preprosto sistem za podporo odloĉanja, ki se osredotoĉa na uporabo upravljanja znanja na tak naĉin, da se doseţe kliniĉen nasvet za oskrbo pacientov, ki temelji na veĉih postavkah pacientovih podatkov. Kliniĉni sistemi za podporo odloĉanja ponavadi zahtevajo zdravniško napoved v realnem ĉasu in razvrstitev na podlagi multivariatnih podatkov, ki imajo veliko atributov in izrazov. Eden od glavnih algoritmov v kliniĉnem sistemu za podporo odloĉanja je drevo odloĉanja (Zhang, Fong, Fiaidhi in Mohammed 2012, str. 1). Kliniĉni sistemi za podporo odloĉanja (CDSS) so torej raĉunalniški programi, ki so namenjeni zagotavljanju strokovne podpore zdravstvenim delavcem za izdelavo kliniĉne odloĉitve (sprejetju diagnoze) (Hongyang 2006, str. 6). Cilj teh sistemov je pomagati zdravstvenim delavcem, da analizirajo podatke o pacientu in sprejemajo odloĉitve v zvezi z diagnozo, prepreĉevanje in zdravljenje zdravstvenih teţav ter izboljšati kakovost oskrbe pacientov v okoljih z omejenimi sredstvi (Hongyang 2006, str. 6; Anokwa in drugi 2012, str. 14). Obstaja kar nekaj kliniĉnih sistemov za podporo odloĉanja (glej tabelo 3.5). Tabela 3.5: Obstojeĉi sistemi za kliniĉno podporo odloĉanja Ime Odloĉitveno drevo za preiskavo kontaktne tuberkuloze Iliada Umetna nevronska mreţa, namenjena napovedovanju dispozicije in dolţine bivanja pri otrocih, okuţenih z bronhitisom BioStream: arhitektura sistema obdelave fizioloških signalov v realnem ĉasu MYCIN Avtor Temelj Gerald, LB., Tang, S., in Bruce, Tradicionalno odloĉitveno drevo F. ter ostali (2002) Razvit s strani Univerze v Utahu, oddelek za informatiko in Bayesova mreţa medicino Walsh, P., Cunningham, P., Rothenberg, Sj., O'Doherty, S., Hoey, H. in Healy, R. Nevronska mreţa Amir Bar-Or, David Goddeau, Jennifer Healey, Leonidas Kontothanasis, Fiziĉni podatkovni tok odkrivanja Beth QRS Logan, Alex Nelson, JM Van Thong Razvit v Univerzi Stanford, avtor Upošteva pravila dr. Edward Shortliffe Vir: Zhang, Fong, Fiaidhi in Mohammed (2012, str. 2) 16 Ena glavnih razlik med kliniĉnimi sistemi za podporo odloĉanja in podatkovnim rudarjenjem temelji na »pogonu« znanja. V sistemih za podporo odloĉanju, ki v osnovi uporabljajo pravila ekspertnih sistemov, mora biti »pogon« za sklepanje opremljen z dejstvi in pravili, povezanimi z asociativnim pravilom »ĉe-potem« (Hardin in Chhieng 2007, str. 45). Klasiĉni (CDSS) kliniĉni sistem za podporo odloĉanja vkljuĉuje tudi opozorila, opomnike, naroĉila mnoţic, izraĉune odmerka zdravila, ki samodejno opominjajo zdravstvenike o posebnem ukrepu ali pa poskrbi za povzetek, ki zagotavlja povratne informacije na podlagi kazalnikov kakovosti (Bright in drugi 2013, str. 29). Skratka obstaja veliko razliĉnih metodologij, ki jih CDSS lahko uporablja za zagotavljanje podpore zdravstvenim strokovnjakom (Wagholikar, Sundararajan, Deshpande 2011, str. 10). Logiĉne komponente procesa za postavljanje diagnoze v medicini so predstavljene na spodnji sliki (glej sliko 3.3). Slika 3.3: Logiĉne komponente procesa za postavljanje diagnoze v medicini Vir: Wagholokar, Sundararajan in Deshpande (2011, str. 3030) 3.4 Ekspertni sistem Ekspertni sistemi podpirajo strokovno delo strokovnjakov, ki se ukvarjajo s postavljanjem diagnoz, procesom odloĉanja ali obvladovanjem kompleksnih situacij, kjer je potrebno znanje ĉloveškega eksperta na ozkem in dobro definiranem podroĉju (Pavloviĉ, Ĉerenak, Pavloviĉ in Rozman 2007, str. 13). Na podlagi raĉunalniške analize besedila se lahko tvorijo ekspertni sistemi, ki kot raĉunalniška rešitev sluţijo za pomoĉ pri reševanju problemov (CoLos, 2013; Pavloviĉ, Ĉerenak, Pavloviĉ in Rozman 2007, str. 13). Tak sistem nam omogoĉa ustvarjanje ekspertnega sistema, ki deluje kot inteligentni raĉunalniški sistem in ki uporablja znanje ter procedure sklepanja za reševanje problemov na naĉeloma ozkem strokovnem podroĉju. Ekspertni sistem ni nadomestek za eksperte, vendar pa omogoĉa širšo uporabo njihovega znanja, omogoĉa boljše delo neekspertom in tudi pomaga pri delu ekspertov ter posnema 17 razumske procese, ki jih eksperti uporabljajo za reševanje specifiĉnih problemov (CoLos, 2013, Pavloviĉ, Ĉerenak, Pavloviĉ in Rozman 2007, str. 13). Zato se ekspertni sistemi imenujejo tudi »sistemi, ki temeljijo na znanju« (angl. »knowledgebased systems«) ali »programi na osnovi sklepanja« (angl. »inference-based programs«). Inteligentna aktivnost omogoĉa ekspertnim sistemom reševanje problemov tako, da uporablja poleg informacij tudi znanje za procesiranje (Zeki, Malakooti, Ataeipoor in Tabibi 2012, str. 4). Primerjava med klasiĉnimi in ekspertnimi sistemi je prikazana na spodnji sliki (glej sliko 3.4). Slika 3.4: Primerjava med klasiĉnimi in ekspertnimi sistemi 'klasični' sistemi ALGORITEM (determinizem) PODATKI ekspertni sistemi REZULTATI SKLEPANJE (nedeterminizem) BAZA ZNANJA Vir: CoLos (2013) Razlika med klasiĉnimi in ekspertnimi sistemi (glej sliko 3.4) je, da podatke obdelujemo s sklepanjem (nedeterministiĉno) ter na podlagi baze znanja, ki ga poda ekspert (strokovnjak) na tem podroĉju. Skupna lastnost vsem ekspertnim sistemom je, da so narejeni za reševanje nekega konkretnega problema (Pavloviĉ, Ĉerenak, Pavloviĉ in Rozman 2007, str. 13). Ekspertni sistemi se uporabljajo predvsem za (CoLos, 2013; Pavloviĉ, Ĉerenak, Pavloviĉ in Rozman 2007, str. 13): Interpretiranje: pomoĉ pri dojemanju vsebinskega pomena ĉesa. Napovedovanje: vnaprejšnje doloĉanje poteka ĉesa. Diagnosticiranje: gre za ugotavljanje in doloĉanje vzroka bolezni ali okvar na osnovi simptomov, ki se jih opazuje. Naĉrtovanje: pri naĉrtovanju nam pomagajo pri izdelovanju naĉrta za doloĉeni cilj, z namenom, da se doseţe zastavljeni cilj. 18 Razhrošĉevanje: gre za vgradnjo in predpisovanje rešitev za doloĉene pomanjkljivosti. Inštruiranje: ekspertni sistemi nam pomagajo pri obvladovanju doloĉene uĉne snovi. Zmoţnost pojasnjevanja rešitve, s ĉimer sistem postane transparenten oziroma uporabniku razumljiv. Sistemi so namenjeni pojasnjevanju svoje rešitve v obliki, ki jo uporabnik lahko preveri, ugotovi vzrok svoje napake ali napake sistema. Ekspertni sistem je sestavljen iz treh pomembnih modulov (e-Studij, 2010). Na sliki (glej sliko 3.5) je predstavljena sestava ekspertnega sistema: Baza znanja (Knowledge Base), ki vsebuje znanje, ki je specifiĉno za problemsko domeno. Baza znanja vsebuje: o preprosta dejstva in pravila, ki opisujejo relacije v domeni, o metode in razliĉne ideje ter hevristiko3 za reševanje problemov v domeni. Mehanizem sklepanja (Inference Engine);gre za modul, ki zna uporabljati bazo znanja. Uporabniški vmesnik (User Interface) pa omogoĉa preprosto komunikacijo med sistemom in uporabnikom. Proces spoznavanja domene (angl. domain understanding) namreĉ zajema predstavo o tem, kar je ţe znanega in odkritega v posamezni domeni. Gre za vkljuĉevanje pridobivanja relevannih dejstev, na podlagi ĉesa naĉrtujemo rudarjenje (Mertik 2013, str. 5). Slika 3.5: Sestava ekspertnega sistema Vir: e-Studij (2010) 3 Hevristika: nauk o metodah raziskovanja in pridobivanja novih spoznanj. 19 Ekspertni sistemi so bili na podroĉju medicinskih ved razviti oziroma izraţeni na naslednjih podroĉjih (Pavloviĉ, Ĉerenak, Pavloviĉ in Rozman 2007, str. 13): 3.5 PUFF: Diagnoza pljuĉne bolezni. VM: Spremljanje bolnikov, ki potrebujejo intenzivno nego. ABEL: Diagnoza kislih materialov in elektrolitov. AI/COAG: Diagnoza bolezni krvi. AI/RHEUM: Diagnoza revmatiĉne bolezni. CADUCEUS: Diagnoza bolezni interne medicine. ANNA: Spremljanje in obdelava analize. BLUEBOX: Diagnoza depresije in zdravljenja. MYCIN: Diagnoza in zdravljenje bolezni mikrobov. ONCOCIN: Zdravljenje in vodenje bolnikov s kemoterapijo. ATTENDING: Upravljanje izobraţevanja pri anesteziji. GUIDON: Izobraţevanje bolezni mikrobov. Podatkovno rudarjenje v medicini Podatkovno rudarjenje v medicini se prav tako zanima za manjše primere, ki niso v skladu z vzorci in trendi, medtem ko se tradicionalno podatkovno rudarjenje v glavnem ukvarja z vzorci v podatkovnih nizih. Poleg tega veĉina standardnih metod podatkovnega rudarjenja obiĉajno opisujej, vendar ne pojasnjuje vzorce in trende, medtem ko medicina potrebuje ta pojasnila za boljše razumevanje in diagnostiko (Mertik in Palfy 2013, str. 310). Ena najveĉjih teţav podatkovnega rudarjenja v medicini je, da so surovi medicinski podatki obseţni in raznoliki. Ti podatki se lahko zbirajo iz razliĉnih virov, kot so iz pogovorov z bolniki, laboratorijskih izvidov, pregleda in razlage zdravnikov. Vse te komponente imajo lahko velik vpliv na diagnozo, prognozo in zdravljenje pacienta, zato se tudi ne smejo zanemariti. Obseg in zahtevnost medicinskih podatkov je ena od ovir za uspešno podatkovno rudarjenje. Manjkajoĉi, napaĉni, neskladni ali nestandardni podatki, kot so košĉki informacij, shranjenih na razliĉnih oblikah iz razliĉnih podatkovnih virov, ustvarijo glavno oviro za uspešno podatkovno rudarjenje. Shranjeni podatki postanejo manj uporabni, ĉe niso na voljo v preprosti razumljivi in dostopni obliki (Milovic in Milovic 2012, str. 133). Hierarhiĉna strategija algoritma za odloĉanje v podatkovnem rudarjenju je izjemno moĉno orodje za razumevanje narave medicine. Prav tako je podatkovno rudarjenje kljuĉnega pomena 20 upravljavskega koncepta, predvsem zaradi njegove moĉne vloge za upravljanje informacijskih sistemov (Mowerman, 2007). Torej cilj podatkovnega rudarjenja je odkrivanje novega, zanimivega in uporabnega znanja iz podatkovnih baz. Danes so številne organizacije, vkljuĉno s sodobnimi bolnišnicami, sposobne generirati in zbrati velike koliĉine podatkov. Takšna eksplozivna rast podatkov zahteva avtomatiziran naĉin za pridobivanje koristnega znanja. Zato je medicinsko podroĉje pomembno podroĉje za uporabo podatkovnega rudarjenja (Ngan in drugi, 1999, str. 74). Precej zanimiva ugotovitev je, da so v zadnjih nekaj letih razni dokumenti izpostavljali potencial predvidevanja podatkovnega rudarjenja, da ta lahko sklepa iz kliniĉno pomembnih modelov iz molekularnih podatkov, zato lahko podatkovno rudarjenje zagotovi podporo pri odloĉanju v »noveli« na podroĉju genomske medicine (Bellazzi in Zupan 2008, str. 88) in ne samo na podroĉju splošne medicine. Torej je podatkovno rudarjenje pristop, ki lahko obdeluje podatke z namenom pridobivanja koristnega znanja na celotnem podroĉju medicine. 4. FUNKCIJE PODATKOVNEGA RUDARJENJA Podatkovno rudarjenje se deli na dve glavni kategoriji in štiri podskupine (glej sliko 4.1) (Marn 2010, str. 8): 1. Napovedovalne naloge: Cilj podatkovnega rudarjenja je napovedati vrednost izbranega atributa na podlagi drugih predlaganih atributov, ki imajo znane vrednosti. Gre za neodvisne spremenljivke, medtem ko so odvisne spremenljivke tisti atributi, ki jih išĉemo. 2. Opisovalne naloge: V tem delu podatkovnega rudarjenja gre za opisovanje oziroma iskanje vzorcev v mnoţici podatkov. Tehnike opisovanja se pogosto uporabljajo za raziskovanje podatkov in se jih tudi kombinira z drugimi tehnikami z namenom, da dobljene rezultate lahko razlagamo. Primer za to je razvršĉanje v skupine (angl. clustering). Gre za proces grozdenja podatkovnih objektov v gruĉe, ki je odvisna od podobnosti in njihovih funkcij. Ta proces je veliko enostavnejši za zbiranje in obdelavo podatkov, ki so bili zaznani iz okolja, ter se ga uporabi kot prvi korak pri raziskovanju podatkov (Marn 2010, str. 8; Nithyakalyani in Kumar 2012, str. 1281). 21 Slika 4.1: Funkcije podatkovnega rudarjenja Vir: Kovaĉeviĉ Rudolf, lastni prikaz (2014) 4.1 Analiza asociacij Namen analize asociacij (angl. association analysis) je odkrivanje in deskripcija moĉnih asociacij (povezava med pojmi) ali povezav v podatkih. Ker je pri analizi podatkov lahko med obravnavanimi podatki veliko povezav, nas zanimajo samo tisti, ki imajo najveĉjo podporo (Marn 2010, str. 9). Primer uporabe asociacij je npr. odkrivanje bolezni s podobnimi simptomi. Problem asociacijskega pravila pri podatkovnem rudarjenju je ustvariti vsa asociacijska pravila, ki imajo podporo in zaupanje veĉje od uporabniško doloĉene minimalne podpore in praga zaupanja. Predpostavlja se, da je kakovost asociacijskega pravila odvisna od kakovosti podatkov, iz katerih se izraĉuna pravilo (Berti-Équille 2007, str. 192, 197). Asociacijska pravila sestavljajo (Podpeĉan, 2013): n-skupina (angl. Itemset) A, ki je mnoţica atributov (simptomov) o na primer: A = {Blodnje, Halucinacije} asociacijsko pravilo torej povezuje dve n-skupini: A B o na primer: {Blodnje, Halucinacije, Ĉudna prepriĉanja} govor} pri asociacijskih pravilih uporabljamo dve meri: o podpora (angl. Support) o zaupanje (angl. Confidence) 22 {Neorganiziran Torej pri podpori in zaupanju (Podpeĉan, 2013) imamo: n transakcij in pravilo A podpora, ki jo zapišemo s sledeĉimi enaĉbami: B o ( ) o ( ) ⋀ ( ) ⋀ zapupanje: o ( ) Vzemimo naslednji primer (glej Tabela 4.1). Tabela 4.1: Primer asociacijskih pravil Transakcija Simptomi 1 blodnje, halucinacije, neorganiziran govor, ĉudna prepriĉanja 2 halucinacije, motnje avtistiĉnega spektra 3 halucinacije, ĉudna prepriĉanja, boldnje, motnje pri samooskrbi Vir: Kovaĉeviĉ Rudolf, lastni prikaz (2014) Podpora za {halucinacije, ĉudna prepriĉanja} in {halucinacije, blodnje, motnje pri samooskrbi}: (* (* * +) + +) * + Zaupanje za blodnje halucinacije in halucinacije blodnje: (* +) * (* +) * 4.2 +⋀* * + + +⋀* * + + = 100 % = 50 % Analiza skupin Analiza skupin ali »grozdenje« (angl. clustering) je zbirka relativno preprostih opisnih statistiĉnih metod s potencialno vrednostjo v psihologiji, ki obravnava teoretiĉne in praktiĉne probleme. Obstaja veliko naĉinov analize skupin, iz katerih je moţno izbirati, brez jasnih 23 smernic za pomoĉ raziskovalcem (Clatworthy in drugi 2005, str. 329). Analize skupin se pogosto uporabljajo na podroĉju medicine, kjer se uporabljajo za razvršĉanje bolezni, zdravil in simptomov, iz katerih se nato naredijo zelo uporabne taksonomije. Prav tako tudi na podroĉju psihiatrije, kjer se tehnike uporabljajo za postavljanje diagnoze za shizofrenijo, paranojo in podobno. Analiza skupin je namenjena za obravnavanje in interpretiranje velike koliĉine podatkov ter njih umešĉanje (klasifikacija) na podlagi njihove podobnosti (Takita in drugi 2011, str. 1799; Marn 2010, str. 10). Analiza skupin je dobro uveljavljena tehnika podatkovnega rudarjenja (in pred tem strojno uĉenje). Zanimivo je, da ni »najboljšega« algoritma za grozdenje, ki bi bil uporaben za vse podatke. Namesto tega iz razlogov, ki niso povsem jasni, nekateri algoritmi delujejo bolje na nekaterih podatkovnih nizih kot drugi (Coenen 2011, str. 27). 4.3 Model za napovedovanje Napovedno modeliranje (angl. predictive modeling) je namenjeno izdelavi modela, ki napove vrednost napovedne spremenljivke kot funkcijo neodvisnih spremenljivk. Pri tem loĉimo med dvema tipoma napovednega modeliranja (Marn 2010, str. 8): Klasifikacija (angl. classification). Napovedovanje (angl. prediction). Klasifikacija oziroma razvrstitev se ukvarja z gradnjo »klasifikatorjev«, ki se lahko uporabljajo za »nevidne« podatke, tako da se podatke kategorizira v skupine (razrede). Takšna klasifikacija pa ima vzporednice z oblikovanjem skupin (grozdov). Razlika pa je v tem, da razvrstitev zahteva podatke o vnaprej oznaĉeni vadbi (nauĉenih podatkov), iz katerih bo mogoĉe graditi razvršĉanje (klasifikacijo) (Coenen 2011, str. 27). Torej gre za proceduro, v kateri se išĉe funkcija oziroma model v doloĉeni podatkovni bazi z danimi razredi, ki lahko razlikuje med razredi podatkov. Namen razloĉevanja pa je, da v razrede razvrsti objekte brez razreda. Takšna dobljena funkcija oziroma model je rezultat analize mnoţice podatkov za uĉenje modela, v katerem so objekti z znanim razredom. Znaĉilnost klasifikacije pa je, da se uporablja za napovedovanje diskretnih spremenljivk (Marn 2010, str. 8; Zhang in drugi 2009, str. 450). Dobljeni modeli pa se interpretirajo v razliĉnih oblikah (Marn 2010, str. 8): Pravila za klasificiranje v obliki »ĉe-potem«. 24 Odloĉitvena drevesa (angl. decision tree). Matematiĉne formule. Klasifikator naivni Bayesian (angl. naive Bayesian classificator). Metoda podpornih vektorjev (angl. support vector mechines – SVM). Najbliţji sosed (angl. k-nearest neighbor). Napovedovanje (angl. prediction) je tehnika podatkovnega rudarjenja, ki naredi napoved o vrednosti podatkov z uporabo podatkov z znanimi rezultati, ustvarjenimi v razliĉnih podatkih. Napovedni modeli imajo poseben cilj, ki omogoĉa, da napovejo neznane vrednosti spremenljivk iz vrednosti ostalih spremenljivk, ki so v danem interesu ţe znani (Bhardwaj in Pal 2011, str. 136). Obstaja kar nekaj napovedovalnih algoritmov, vendar so ti odvisni od skupnih izkušenj na podroĉju podatkovnega rudarjenja (Zhang in drugi 2009, str. 451). Tehnike, ki se uporabljajo za napovedovanje, so (Marn 2010, str. 9): Linearna regresija (angl. linear regression). Nelinearna regresija (angl. nonlinear regression). Nevrosnke mreţe (angl. neural network). Namen obeh vrst napovedovalnega modeliranja je ustvariti model, ki bo imel najmanjšo napovedno napako. Torej cilj modela za modeliranje je ustvariti model, ki bo imel najmanjšo razliko med napovednimi in dejanskimi vrednostmi. Model za napovedovanje se predvsem uporablja za predvidevanje oziroma presojanje, katero bolezen ima pacient, na podlagi izvidov (Marn 2010, str. 9). 4.4 Zaznavanje anomalij Anomalija je odstopanje od pravil, nepravilnosti oziroma izjemnosti. Zaznavanje anomalij se nanaša na odkrivanje vzorcev v doloĉenem nizu podatkov, ki niso v skladu z ustaljenim, normalnim vedenjem (Shahreza in drugi 2011, str. 1460). Odkrivanje anomalij se nanaša na temo iskanja vzorcev v podatkih, ki niso v skladu s priĉakovanim ravnanjem ali pa jih je mogoĉe opredeliti na naslednji naĉin: »Ĉe je dan niz podatkovnih toĉk oz. objektov n in število p od priĉakovanih ubeţnikov, se poišĉejo glavni (angl. top) p objekti, ki so obĉutno nepodobni, izjemni ali nekonsistentni glede na preostale podatke (Weisong, Guangmin, Yingije 2012, str. 1). Gre za odkrivanje zapisov, ki imajo obĉutno drugaĉne lastnosti od veĉine; takšnemu postopku pravimo zaznavanje anomalij (angl. anomaly detection). Pri 25 iskanju anomalij moramo biti pozorni, da normalnih zapisov ne identificiramo kot anomalijo. Uĉinkovitost sistema za zaznamovanje anomalij mora imeti visoko raven zaznavanja in nizko raven napaĉne identifikacije zapisov kot anomalij. Sistemi za odkrivanje anomalij delujejo tako, da poskušajo ugotoviti anomalijo (nepravilnost) v okolju (Marn 2010, str. 10; Shahreza in drugi 2011, str. 1461). 5. TEHNIKE PODATKOVNEGA RUDARJENJA Podatkovno rudarjenje se je izkazalo kot kljuĉni element za mnoge aplikacije na podroĉju raĉunalništva. Uporablja se ga kot sredstvo za napovedovanje prihodnje smeri in odkrivanje specifikacij proizvoda ali procesa (Park in drugi 2008, str. 631). Podatkovno rudarjenje zagotavlja tudi orodja za pridobivanje zdravstvenih podatkov z namenom, da izlušĉi pomembne podatke iz medicine in da bi to znanje bilo na voljo vsem osebam, ki se ukvarjajo z raziskovanjem medicine (Ranjan 2009, str. 84). Tradicionalno bi lahko tehnike podatkovnega rudarjenja na splošno opredelili kot: (1) pridobivanje vzorca/identifikatorja, (2) zdruţevanje podatkov v skupine in (3) razvršĉanje/kategorizacija (Coenen 2011, str. 26). V okviru literature najdemo še mnogo drugih tehnik podatkovnega rudarjenja, ki so bile sprejete s podroĉij, kot sta statistika in matematika (na primer linearna regresija itd.). Tehnike, ki nas zanimajo, temeljijo na dejstvu, da napovejo prihodnost na podlagi kategoriĉnih spremenljivk (teksta). Zato je proces, ki nas zanima (glej sliko 5.1), namenjen napovedovanju na podlagi kategoriĉnih spremenljivk. Ker imamo opravka s tekstovnim rudarjenjem, bomo pregledali tiste tehnike, ki nam bodo v pomoĉ pri tekstovnem rudarjenju. 26 Slika 5.1: Napovedovanje v podatkovnem rudarjenju Frekvenčne tabele Klasifikacija Kovariantna matrika Funkcija podobnosti Drugo Napoved Frekvenčna tabela Modeliranje Regresija Kovariantna matrika Funkcija podobnosti Drugo Hierarhično Grozdenje Partitivno Pravila asociacije Vir: Sayad (2010) 5.1 Klasifikatorji Klasifikatorji so tehnike v podatkovnem rudarjenju, ki temeljijo na pravilih »ĉe-potem« (angl. If – Then). »Ĉe« nam pove neko stanje oziroma situacijo (pogoj), ki mora bit izpolnjenamedtem ko »potem« prikazuje predlog oziroma kakšne so konsekvence tega stanja. Pri pravilu »ĉe-potem« velikokrat zaradi boljšega rezultata uporabljamo operatorja »IN« (angl. AND) ter operator »INTUDI« (angl. AndAlso). Operator »IN« vrednoti obe strani, dokler »INTUDI« vrednoti najprej pravilno stran, ĉe je bila leva stran pravilna. Z drugimi besedami, operator »IN« bo preveril vse pogoje v izrazu, preden nadaljuje, medtem ko bo operator »INTUDI« prenehal delati, ĉe bo vedel, da je pogoj napaĉen. Poglejmo si razliko na primeru. Klasifikacija je naloga v podatkovnem rudarjenju, da predvidi oziroma napove vrednosti kategoriĉnih spremenljivk (ciljev ali razredov) z izgradnjo modela, ki temelji na eni ali veĉ številĉnih in / ali kategoriĉnih spremenljivkah (napovednika ali lastnosti) (Sayad, 2010). Poznamo štiri glavne skupine algoritmov za razvršĉanje (Sayad, 2010): 1. Frekvenĉna tabela: a. ZeroR 27 b. OneR c. Naivni Bayes d. Odloĉitvena drevesa 2. Kovariantna matrika: a. Analiza linearne diskriminante b. Logistiĉna regresija 3. Funkcija podobnosti: a. K-najbliţji sosed (K-NN) 4. Drugi: a. Umetna nevronska mreţa b. Metoda podpornih vektorjev (SVM) V nadaljevanju bomo predstavili karakteristike pomembnih klasifikatorjev v podatkovnem rudarjenju. Gre za Bayesov klasifikator, odloĉitvena drevesa, k-NN (k-najbliţji sosed) klasifikator in SVM klasifikator (Metodo podpornih vektorjev). 5.1.1 Bayesov klasifikator Naivni Bayesov klasifikator je preprost verjetnostni klasifikator, ki temelji na uporabi Bayesovega izreka z moĉnimi (naivnimi) predpostavkami neodvisnosti (https://en.wikipedia.org/wiki/Naive_Bayes_classifier). Naivni Bayesov model je enostavno zgraditi, brez zapletenih ponavljajoĉih parametrov ocenjevanja, zaradi ĉesar je še posebej koristen pri zelo velikih podatkovnih bazah. Kljub svoji preprostosti Naivni Bayesov klasifikator pogosto deluje presenetljivo dobro in se pogosto uporablja, ker bolje deluje za sofisticirane metode razvršĉanja (Sayad, 2010). Bayesov izrek doloĉa naĉin izraĉuna posteriorne (zadnje) verjetnosti, P (c | x) od P (c), P(x) in P (x | c). Naivni Bayesov klasifikator predpostavlja, da je uĉinek vrednosti napovednika (x) na doloĉeno skupino (c), neodvisno od vrednosti drugih kazalcev. Ta predpostavka se imenuje pogojno neodvisni razred (Sayad, 2010). Formula Bayesovega izreka je prikazana na sliki 5.2. Bayesov izrek se imenuje tudi »neodvisni Bayes«, ker se ga izvaja na predpostavkah pogojnih neodvisnih opazovanj v razredih (Ottar 1999, str. 129). 28 Slika 5.2: Formula za Bayesov izrek Vir: Sayad (2010) Bayesov izrek iz slike (glej sliko 5.2) sestavljajo (Sayad, 2010): P(c|x) je verjetnost kasnejšega razreda (cilja), podanega s strani napovedovalca (atributa). P(c) je predverjetnostni razred. P(x|c) je verjetnost, ki je verjetnost napovedovalĉevega danega razreda. P(x) je predverjetnostni razred napovedovalĉevega. Kasnejša verjetnost (angl. Posterior Probability) se izraĉuna tako, da se najprej izgradi frekvenĉna tabela za vsak atribut proti cilju (napoved). Potem se preoblikujejo frekvenĉne tabele v verjetnostne tabele in za konec se uporabi enaĉba naivnega Bayesa za izraĉun kasnejše verjetnosti za vsak razred. Razred z najvišjo stopnjo kasnejše verjetnosti je rezultat napovedi (Sayad, 2010). Vzemimo primer frekvenĉne tabele, kjer so bolniki odgovarjali, kateri simptom je pogostejši pri prehladu (glej Tabelo 5.1): Tabela 5.1: Frekvenĉna tabela Bayeseove enaĉbi Prehlad Frekvenĉna tabela Pregled simptomov Skupaj Da Ne Glavobol 3 2 5 Sinusno vnetje 4 0 4 Boleĉine v prsih 2 3 5 9 5 14 Skupaj Vir: Kovaĉeviĉ Rudolf, lastni prikaz (2014) Iz frekvenĉne tabele sledi izgradnja verjetnostne tabele (glej tabelo 5.2). 29 Tabela 5.2: Verjetnostna tabela Bayesove enaĉbe Verjetnostna tabela Pregled simptomov Prehlad Da Ne Glavobol 3/9 (0,33) 2/5 (0,4) Sinusno vnetje 4/9 (0,44) 0/5 (0,0) Boleĉine v prsih 2/9 (0,22) 3/5 (0,6) 9/14 (0,64) 5/14 (0,36) Skupaj 5/14 (0,36) 4/14 (0,28) 5/14 (0,36) Vir: Kovaĉeviĉ Rudolf, lastni prikaz (2014) Iz verjetnostne tabele sledi izraĉun za posamezni atribut: P(x|c) = P(Glavobol | Da) = 3/9 = 0,33 P(x) = P(Glavobol) = 5/14 = 0,36 P(c) = P(Da) = 9/14 = 0,64 Iz tega sledi kasnejša napoved za atribut Glavobol: P(x|c) = P(Da|Glavobol) = 0,33 × 0,64 / 0,36 = 0,60 Sledi izraĉun za ostale atribute (glej tabelo 5.3): Tabela 5.3: Izraĉun vseh kasnejših napovedi po Bayesovi enaĉbi Kasnejša napoved Pregled simptomov Prehlad Da Ne Glavobol 0,60 0,40 Sinusno vnetje 1,00 0,00 Boleĉine v prsih 0,40 0,60 Vir: Kovaĉeviĉ Rudolf, lastni prikaz (2014) Iz rezultatov lahko tolmaĉimo, da je simptom prehlada sinusno vnetje, saj ima najveĉjo kasnejšo napoved, medtem ko boleĉina v prsih ni simptom prehlada, saj ima najveĉjo kasnejšo napoved v atributu »ne«. 5.1.2 K-NN klasifikator K-najbliţjih sosedov (angl. K-nearest neighbors; K-NN) je algoritem, ki shranjuje vse razpoloţljive primere in razvršĉa vse nove primere, ki temeljijo na merjenju podobnosti (na 30 primer funkcije na daljavo). K-NN je bil uporabljen ţe v zaĉetku sedemdesetih kot neparametriĉne tehnike v statistiĉnem ocenjevanju in prepoznavanju vzorcev (Sayad, 2010). KNN oziroma algoritem k-najbliţjega soseda je ne-parametriĉna metoda za razvršĉanje predmetov, ki temeljijo na najbliţjih primerih pri uĉenju (training) v funkciji prostora. K-NN je vrsta, ki temelji na uĉenju na podlagi primerov ali na podlagi lenega uĉenja. K-NN algoritem je najenostavnejši od vseh algoritmov strojnega uĉenja. Ĉe je k = 1, je objekt preprosto dodeljen razredu svojega najbliţjega soseda (https://en.wikipedia.org/wiki/Knearest_neighbors_algorithm). Med tehnikami je k-NN klasifikator, ki se je izkazal za uspešnega, zahvaljujoĉ enostavnem izvajanju implementacije in njegovih dobrih lastnosti generalizacije. Glavna prednost pravila k-NN je, da ne zahteva izrecne gradnje funkcije prostora in da je prilagojen veĉrazrednim problemom (Richard in drugi 2012, str. 295). Algoritem k-NN klasifikatorja predstavlja primer, ki je razvršĉen z veĉino glasov svojih sosedov. Da je zadeva dodeljena razredu najpogostejšega med svojimi K najbliţjimi sosedi, se meri s funkcijo razdalje (angl. Distance function). Ĉe je K = 1, potem je primer preprosto dodeljen v kategorijo (razred) njegovega najbliţjega soseda (Sayad, 2010). Poznamo tri vrste funkcije razdalj (Sayad, 2010): 1. Euclideanova funkcija razdalje: √∑ ( ) 2. Manhattanova funkcija razdalje: ∑ 3. Minkowskijeva funkcija razdalje: (∑ ( ) ) ⁄ Opozoriti je treba tudi, da so vse tri meritve na razdaljo (funkcije) veljavne samo za zvezne spremenljivke. V primeru kategoriĉnih spremenljivk je potrebno uporabiti Hammingovo razdaljo. Ta algoritem prinaša tudi vprašanje o standardizaciji numeriĉnih spremenljivk med 0 in 1, ko imamo opravka s kombinacijo numeriĉnih in kategoriĉnih spremenljivk v naboru podatkov (Sayad, 2010). Hammingova razdalja: ∑ 31 Na primer: X Y Razdalja Moški Moški 0 Moški Ţenska 1 Izbira optimalne vrednosti za K je najbolje narediti tako, da se najprej pregledajo podatki. Na splošno je velika K vrednost natanĉnejša, saj zmanjšuje splošen hrup, vendar zopet ni nobenega jamstva glede natanĉnosti. Preĉno preverjanje (angl. Cross-validation) pa je še en naĉin, da se lahko naknadno s pomoĉjo neodvisnega nabora podatkov ugotovi dobra K vrednost in preveri vrednost (angl. validation). Ţe v preteklosti je bil optimalni K za veĉino nizov podatkov med 3 in 10 (Sayad, 2010). Poglejmo si primer, v katerem upoštevamo naslednje podatke o nezmoţnosti plaĉila kredita (kar lahko privede do depresije posameznik). Obravnavali bomo starost in posojilo, obe spremenljivki sta numeriĉni (napovednika) in »plaĉilna nesposobnost« je cilj. Slika 5.3: Primer k-NN algoritma na primeru Primer k-NN 250000 Posojilo v EUR 200000 150000 Plačilno sposoben 100000 Plačilno nesposoben 50000 0 0 10 20 30 40 50 60 70 Leta Vir: Sayad (2010) Na podlagi tega primera lahko sedaj uporabimo nastavitve za uĉno mnoţico (angl. Training set) za razvrstitev neznanega primera (Starost = 48 in posojilo = 142.000 EUR) z uporabo Euclideanove razdaljo. Ĉe je K = 1, potem je najbliţji sosed zadnji primer pri nastavitvah za uĉno mnoţico doloĉenega s »plaĉilno nesposobnostjo« = DA. Primer k-NN algoritma z Euclideanovo razdaljo je prikazan v tabeli (glej Tabela 5.4). 32 Tabela 5.4: Primer k-NN z Euclideanovo razdaljo Starost Posojilo v € Kreditna sposobnost Razdalja 35 120.000 Ne 22.000 52 18.000 Ne 124.000 23 95.000 Da 47.000 40 62.000 Da 80.000 60 100.000 Da 42.000 48 220.000 Da 78.000 33 150.000 Da 8.000 48 142.000 ? ? 2 3 1 Vir: Sayad (2010) Za izraĉun neznanega primera (starost je 48 let in posojilo 142.000 EUR) bomo uporabili Euclideanovo razdaljo: √( ) ( ) Torej razdalja D neznanega primera je: √( ) ( ) V primeru, da bi uporabili K = 3, obstajata dva »Kreditno nesposobna« = Da in en »Kreditno sposoben« = Ne, od treh najbliţjih sosedov. Napoved za neznanko v tem primeru bi bil ponovno »Kreditno nesposoben« = Da. 5.1.3 SVM klasifikator Support Vector Machine (SVM) opravlja razvršĉanje (klasifikacijo) z iskanjem veĉ ravnin oziroma ploskev (angl. Hyperplane), ki poveĉa razliko med dvema razredoma. Vektorji (primeri), ki opredeljujejo veĉ ravnin, so vektorji podpore (Sayad, 2010). SVM je linearni klasifikator, ki svojo funkcijo uĉi iz znaĉilnosti prostorskih primerov. Da se naredi dobra klasifikacija, je potrebno doloĉiti dobro odloĉitveno površino. Zato je lahko dobro odloĉitveno površino dobiti z doloĉitvijo loĉevanja veĉ ravnin, ki imajo najveĉjo razdaljo do najbliţjih toĉk na uĉni mnoţici (Ibrikci, Ustun in Kaya 2012, str. 1832). Poleg tega je glavna prednost SVM v uporabi pri konveksnem kvadratnem programiranju, ki predvideva samo 33 globalni minimum, tako da se izogne ujetosti v lokalni minimum (Chen in drugi 2012, str. 2507). Slika 5.4: Grafiĉni prikaz SVM Algoritma Vir: Sayad (2010) Algoritem (Sayad, 2010): Doloĉa optimalno veĉ plasti – »hiperravnino«: s poveĉanjem stopnje. Podatke kartografira v visoko dimenzionalni prostor, kjer je laţje razvršĉanje z linearnim odloĉanjem: preoblikuje problem tako, da se podatki preslikajo implicitno v ta prostor. Razširi zgornjo omenjeno definicijo za nelinearno neloĉljive teţave. Da bi doloĉili optimalno hiperravnino (veĉ plasti), je potrebno poveĉati širino stopnje (w) (glej sliko 5.6). Slika 5.5: Doloĉitev optimalne hiperravnine pri SVM algoritmu (1) Vir: Sayad (2010) 34 Slika 5.6: Doloĉitev optimalne hiperravnine pri SVM algoritmu (2) Vir: Sayad (2010) (w) in (b) ugotovimo z reševanjem objektivne funkcije z uporabo kvadratiĉnega programiranja (angl. Quadratic Programming): ‖ ‖ ( ) Dobra lastnost SVM klasifikatorja je, da v primeru, ĉe so podatki linearno loĉljivi, obstaja edinstvena globalna minimalna vrednost. Idealna analiza SVM naj bi pripravila hiperravnino, ki popolnoma loĉi vektorje (primere) v dva neprekrita razreda. Vendar pa popolna loĉitev ni moţna ali pa lahko povzroĉi v modelu z veliko primerov, da se ta ne razvršĉa pravilno. V tej situaciji SVM najde hiperravnino, ki poveĉa stopnjo in zmanjša napaĉno uvršĉanje (Sayad, 2010). Slika 5.7: Primer loĉevanja vektorjev v SVM klasifikatorju Vir: Sayad (2010) 35 Algoritem poskuša ohraniti ohlapnost spremenljivke na niĉ in medtem, ko poveĉuje stopnjo. Vendar pa to ne zmanjša števila napaĉnih razvrstitev, ampak vsoto razdalj od stopenj hiperravni (Sayad, 2010). Slika 5.8: Ohranjanje ohlapnosti spremenljivk pri algoritmu SVM Vir: Sayad (2010) Najenostavnejši naĉin za loĉevanje dveh skupin podatkov je z ravno ĉrto (1 dimenzija), ravno plosko (2 dimenziji) ali z N-dimenzionalnimi hiperravninami. Vendar pa obstajajo situacije, ko lahko nelinearna regija loĉuje skupine bolj uĉinkovito. SVM opravlja to z uporabo funkcije jedra (nelinearno) (angl. kernel function), da preslika podatke v drugaĉen prostor, kjer hiperravnine (linearno) ni mogoĉe uporabiti za loĉevanje. To pomeni, da je nelinearna funkcija nauĉena z linearnim strojnim uĉenjem v obliki visokodimenzionalnega prostora, medtem ko zmogljivost sistema krmili parameter, ki ni odvisen od dimenzij prostora. To se imenuje trik jedra (angl. kernel trick), kar pomeni, da funkcija jedra preoblikuje podatke v visoko dimenzionalne oblike prostora, zato da bi bilo mogoĉe izvesti linearno loĉitev (Sayad, 2010). Slika 5.9: Loĉevanje dveh skupin v SVM algoritmu Vir: Sayad (2010) 36 Poznamo tri vrste SVM algoritmov (Sayad, 2010): Linearni SVM: Nelinearni SVM: ( ) Kernel funkcija SVM: ( ( ) ) 6. PROCES PODATKOVNEGA RUDARJENJA Podatkovno rudarjenje je ponavljajoĉ se proces, ki vkljuĉuje veĉ korakov. Zaĉne se z razumevanjem in opredelitvijo problema in r konĉa z analizo rezultatov in strategijo za uporabo rezultatov (George Harrison, 1997, str. 5). Najbolj popularna metodologija podatkovnega rudarjenja je CRISP-DM (angl. Cross Industry Standard Process for Data Mining). Znaĉilnost te metodologije je ta, da jo je moţno uporabiti v vseh panogah in z vsemi orodji (Marn 2010, str. 23). Faze (koraki/iteracije) CRISP-DM so (Liu in Chen 2007, str. 122): Priprava cilja/namena. Prevajanje – definiranje problema. Ĉišĉenje podatkov. Izgradnja modela. Ocenitev modela. Slika 6.1: Proces podatkovnega rudarjenja Vir: George Harrison (1997, str. 6) 6.1 Razumevanje problema in njegova identifikacija Podatkovno rudarjenje se razlikuje od drugih oblik analitiĉnih procesov v smislu, da je varljivo enostavno uporabiti algoritem podatkovnega rudarjenja za zbirko podatkov ter tako 37 dobiti doloĉene rezultate, vendar brez jasnega razumevanja problema je lahko rezultat brez vrednosti. Z opredelitvijo problema je mišljeno, da bi moral analitik podatkovnega rudarjenja delati s strokovnjakom, da bi bil problem dovolj natanĉno definiran in da so rezultati lahko rešljivi in merljivi. Nekatere rešitve so lahko primerne, druge pa bi lahko bile popolnoma neuporabne (George Harrison 1997, str. 7). Gre za korak, ki je podlaga za druge korake, saj je razumevanje domenske problematike in formulacije problema oziroma vprašanja, na katerega ţelimo odgovoriti, prvi in osnovni korak vsakega projekta podatkovnega rudarjenja (Marn 2010, str. 23). 6.2 Priprava podatkov in ekstrakcija Ko je problem definiran, je potrebno zbrati relevantne podatke. V veĉini primerov so relevantni podatki razširjeni iz obstojeĉih operativnih podatkovnih baz ali pa iz skladišĉa, ki je bilo narejeno z namenom, da sluţi raznolikim potrebam analiz. Pogosto se algoritem podatkovnega rudarjenja ne more izvajati neposredno v podatkovni bazi z veĉ tabel. Tako morajo biti podatki pridobljeni iz relacijske zbirke podatkov in shranjeni v doloĉeni obliki, ki bi bili dostopni za podatkovno rudarjenje. V teh primerih je roĉni postopek ekstrakcije res samo artefakt nezmoţnosti algoritma rudarjenja, da bi se neposredno izvajal v podatkovni bazi (George Harrison 1997, str. 7). Kakovost izbranih podatkov, ki jih uporabimo za podatkovno rudarjenje namreĉ v veliki meri doloĉa kakovost konĉnega produkta. Dejstvo je, da so podatkovne baze, ki jih uporabljamo za rudarjenje, pogosto sestavljene iz heterogenih virov, zato pogosto vsebujejo manjkajoĉe ter protislovne podatke. Priprava podatkov vkljuĉuje (Marn 2010, str. 23): integracijo podatkov, ugotavljanje pristranskosti podatkov, bogatenje podatkov, doloĉanje strukture podatkov, odpravljanje manjkajoĉih vrednosti, redukcija podatkov ter transformacija podatkov. Obstajata dva koraka (dela) pri zbiranju podatkov in jihove ekstrakcije. prvi del je intelektualna vaja pri delu podatkovnega rudarjenja, kjer analitik in ekspert definirata atribute, ki bodo verjetno vplivali na opazovani objekt/subjekt; gre za naravni podaljšek v procesu 38 podatkovnega rudarjenja in razumevanja problema. Drugi del zajema dejansko pisanje kode za obdelavo obstojeĉih zbirk podatkov in za pridobivanje predpisanih informacij (George Harrison 1997, str. 10). 6.3 Raziskovanje podatkov Pri raziskovanju podatkov gre za pribliţno opisovanje podatkov s pomoĉjo statistiĉnih in vizualnih tehnik (Sayad, 2010). Ko imamo zbrane relevantne podatke, je pomembno, da uporabimo nekaj ĉasa za raziskovanje te podatkovne baze in sicer iz dveh razlogov. Prviĉ, analiza podatkov mora biti intimna s podatki, ne samo z vedenjem imena atributov in njihovega pomena, temveĉ tudi z dejansko vsebino baze podatkov. Drugiĉ, obstajajo številni viri napak pri zbiranju podatkov iz veĉ podatkovnih zbirk v enotno analitiĉno bazo podatkov; dober analitik mora opravljati veĉ logiĉnih preverjanj za potrditev pridobljenih podatkov (George Harrison 1997, str. 11). Poznamo dve vrsti raziskovanja podatkov (Sayad, 2010): Univariatne analize: raziskujejo spremenljivke (atribute) enega po enega. Spremenljivke so lahko bodisi kategoriĉne ali numeriĉne. Obstajajo razliĉne statistiĉne in vizualne tehnike preiskovanja vsake vrste spremenljivk posebej. Numeriĉne spremenljivke se lahko preoblikujejo v kategoriĉne »kolege« s postopkom, imenovanim »binning« ali »diskretizacija«. Prav tako je moţno preoblikovati kategoriĉne spremenljivke v številĉno protiuteţs s postopkom, imenovanim »kodiranje«. Bivariatne analize: Hkratna analiza dveh spremenljivk (atributov). Ta raziskuje koncept odnosa med dvema spremenljivkama, bodisi ali obstaja povezava in moĉ tega zdruţenja, bodisi ali obstajajo razlike med dvema spremenljivkama in pomenom teh razlik. 6.4 Modeliranje Napovedno modeliranje je proces, s katerim je model ustvarjen, da napove izid. Ĉe je rezultat kategoriĉen, se imenuje klasifikacija (razvrstitev) in ĉe je rezultat numeriĉen, se imenuje regresija. Opisno modeliranje ali grozdenje je odstop opazovanj v grozde, tako da so ugotovitve v isti gruĉi podobne. Zdruţitev pravil lahko najde zanimive asociacije med opazovanjem (Sayad, 2010). Modeliranje je torej jedro celotnega procesa KDD. Zato 39 uporabljamo razliĉne inteligenĉne metode, s pomoĉjo katerih iz podatkov izlušĉimo vzorce (Marn 2010, str. 24). Najpogostejše tehnike pri modeliranju podatkovnega rudarjenja so: Klasifikacija (razvršĉanje v skupine). Regresija. Grozdenje. Asociacijska pravila. 6.5 Ocenjevanje modela Ocenjevanje modela je sestavni del modela razvojnega procesa. Ta pomaga, da se najde najboljši model, ki predstavlja analizirane podatke in kako dobro bo izbrani model deloval v prihodnosti. Ocenjevanje uspešnosti modela s podatki, ki se uporabljajo za uĉenje, ni sprejemljivo v rudarjenju podatkov, zato ker lahko enostavno ustvari preveĉ optimistiĉne in preveĉ sposobne modele. Obstajata dva naĉina za vrednotenje modelov v podatkovnem rudarjenju »Hold-Out« in »Cross-Validation«. Da bi se izognili zasiĉenosti uporabljata obe metodi testno mnoţico, da oceni uspešnost modela (Sayad, 2010). Metoda »Hold-Out«: V tej metodi se veĉinoma veliki podatkovni nizi nakljuĉno razdelijo na tri podskupine (Sayad, 2010): Učna množica (angl. Training set) je podmnoţica nabora podatkov, ki se uporablja za gradnjo napovednih modelov. Veljavnostna množica (angl. Validation set) je podmnoţica nabora podatkov, ki se uporablja za ocenjevanje uspešnosti modela, zgrajenega v fazi uĉenja. Zagotavlja testno platformo za fino usklajene parametre modela in izbiro najbolj uspešnega modela. Niso pa vsi algoritmi modeliranja potrebni za veljavnostno mnoţico. Testna množica (angl. Test set) ali nevidni primeri so podmnoţica nabora podatkov za oceno verjetnosti uĉinkovitega prihodnjega modela. Ĉe se model prilega uĉni mnoţici mnogo bolje, kot testni, je verjetnost oziroma vzrok za to preprilagodljivost. Metoda »Cross-Validation« ali Prečno preverjanje. Ko imamo na voljo le omejeno koliĉino podatkov, da bi dosegli nepristransko oceno o uspešnosti modela, se uporabi k-kratno preĉno preverjanje, podatke pa delimo v podmnoţice enakih velikosti. Modele k-krat gradimo vsakiĉ, ko zapustimo eno od podskupin iz dodatnega usposabljanja in jo uporabimo kot testno 40 mnoţico. Ĉe je k enak velikosti vzorca, se ta imenuje »pusti enega ven« (angl. »leave-oneout«) (Sayad, 2010). Model ocenjevanja lahko razdelimo na dva dela (Sayad, 2010): Ocenjevanje razvrstitve – klasifikacije. Ocenjevanje regresije. Metode za ocenitev (validacijo) rezultatov tako uporablja razliĉni loĉeni mnoţici, uĉno za uĉenej algoritma podatkovnega rudarjenja in testno za preverjanje algoritma. Ta uĉinkovitost vzorcev na testni mnoţici nam tako poda indikacijo ali vrednost vzorca v še nevidnih podatkih (Mertik 2013, str. 8). 6.6 Razvoj modela Koncept razvoja modela v napovednem podatkovnem rudarjenju se nanaša na uporabo modela za napovedovanje novih podatkov. Izgradnja modela na splošno ni konec projekta. Tudi ĉe je namen modela poveĉati znanje o podatkih, bo pridobljeno znanje treba organizirati in predstaviti na naĉin, da se ga lahko uporabi. Glede na zahteve je razvojna faza lahko enostavna kot ustvarjanje poroĉila ali pa zapletena kot izvajanja implementacije ponovljivega procesa podatkovnega rudarjenja. Vendar, tudi ĉe analitik ne bo izvedel truda za razvoj modela, je pomembno za uporabnika, da v naprej razume, kaj bo treba izvesti zato, da bi se lahko dejansko izkoristili ukrepi ustvarjenega modela (Sayad, 2010). Uporaba podatkovnega modela torej poveĉuje razumevanje dejavnosti uporabnika, da lahko pride do iskanega rezultata. 7. ANALIZA IN SELEKCIJA PROGRAMSKEGA ORODJA Podatkovno rudarjenje ali odkrivanje znanja v podatkih je proces vzorcev v velikih zbirkah podatkov z umetno inteligenco, strojnim uĉenjem, statistiko in sistemov podatkovnih baz (Remarque Koutonin, 2013). Zaradi zahtevnosti podatkovnega rudarjenja in sodobne informacijske tehnologije je razvitih kar nekaj odliĉnih brezplaĉnih orodij za podatkovno rudarjenje. 41 1. RapidMiner: gre za nedvoumno vodilni svetovni odprtokodni sistem za podatkovno rudarjenje. Na voljo je kot samostojna aplikacija za analizo podatkov in kot pogon podatkovnega rudarjenja za integracijo v lastne produkte. RapidMiner je najmoĉnejši in intuitiven grafiĉno uporabniški vmesnik za naĉrtovanje procesov za analizo (http://rapidminer.com/products/rapidminer-studio/). 2. Weka: je zbirka algoritmov strojnega uĉenja za izvajaje nalog podatkovnega rudarjenja. Algoritmi se lahko neposredno uporabijo za nabor podatkov, ali pa se kliĉejo iz lastne Java4 kode. Weka vsebuje orodja za podatkovno predhodno obdelavo, razvršĉanje, regresijo, povezovanje, pridruţitvenih pravil in vizualizacije. Prav tako je zelo primerna za razvoj novih sistemov strojnega uĉenja (http://www.cs.waikato.ac.nz/ml/weka/). 3. PSPP: je program za statistiĉno analizo vzorĉenih podatkov. Ima grafiĉni uporabniški vmesnik in konvencionalni vmesnik z ukazno vrstico. Napisan je v programskem jeziku C5, uporablja znanstveno knjiţnico GNU (angl. GNU Scientific Library) za svoje matematiĉne rutine in praktiĉne površine za generiranje grafov. Gre za brezplaĉno zamenjavo licenĉnega programa SPSS (od IBM-a) z gotovostjo napovedovanja, kaj se bo zgodilo, tako da se s pomoĉjo tega programa lahko naredijo pametne odloĉitve, rešijo problemi in izboljšajo rezultati (https://www.gnu.org/software/pspp/). 4. KNIME: je uporabniku prijazna grafiĉna delovna miza za celoten proces analize: dostop do podatkov, transformacije podatkov, zaĉetka preiskave, moĉna napovedna analitika, vizualizacije in poroĉanja. Gre za odprtokodno integrirano platformo, ki zagotavlja veĉ kot tisoĉ vozlišĉ (modulov) (http://www.knime.org/). 5. Orange: je odprtokodna vizualizacija podatkov in analitik za zaĉetnike in eksperte. Podatkovno rudarjenje se izvaja preko vizualnega programiranja ali Python skripte. Program ima lastne komponente za strojno uĉenje. Je tudi dodatek za bioinformatiko in besedil. Opremljen je tudi s številnimi funkcijami za analizo podatkov (http://orange.biolab.si/). 6. Apache Mahout: je Apache projekt za proizvodnjo brezplaĉnih izvedb distribucij ali drugaĉe razširljivih algoritmov strojnega uĉenja na platformi »Hadoop«. Trenutno Mahout 4 Java: je jezik za raĉunalniško programiranje, ki je soĉasno, temeljeĉ na razredih, objektno usmerjen, in posebej izdelan, da ima ĉim manj odvisnega izvajanja, kot je le mogoĉe. 5 C: na podroĉju raĉunalništva je C programski jezik za splošne inicializacijo zaĉetnih programov. Kot pri veĉini C ima zmogljivost strukturiranega programiranja in omogoĉa podroĉje leksikalne spremenljivke in rekurzijo, medtem, ko je statiĉen tip sistema prepreĉuje številne nenamerne operacije. 42 podpira predvsem štiri koristne funkcije: Priporoĉilo za rudarjenje glede na vedenje uporabnikov; grozdenje; klasifikacijo (razvršĉanje v skupine) in rudarjenje glede na frekvenco nabora podatkov (https://mahout.apache.org/). 7. jHepWork (ali »jWork«): je okolje za znanstveno uĉenje, analizo podatkov in vizualizacijo podatkov, zasnovanih s strani znanstvenikov, inţenirjev in študentov. Program vkljuĉuje številne odprtokodne programske pakete v koherentnem vmesniku, ki uporablja koncept skripte, in ne samo GUI (grafiĉni vmesnik) ali pa koncept na osnovi makrojev. jHepWork se lahko uporablja povsod, kjer imamo analizo velike koliĉine številĉnih podatkov, podatkovnega rudarjenja, statistiĉnih analiz in matematike (naravoslovje, tehnika, modeliranje in analiza finanĉnih trgov) (http://jwork.org/scavis/). 8. Rattle (R analitiĉno orodje za enostavno uĉenje; angl. R Analytical Tool To Learn Easily): predstavlja statistiĉne in vizualne povzetke podatkov, pretvori podatke v obrazce, ki jih je nato mogoĉe zlahka vzorĉiti, graditi nenadzorovane in nadzorovane modele iz podatkov, modele uspešno grafiĉno predstavlja ter obdeluje nove podatkovne nize. Gre za brezplaĉno in odprtokodno orodje podatkovnega rudarjenja, napisanega v statistiĉnem jeziku.R uporablja Gnome grafiĉni vmesnik. Rattle se uporablja v poslovanju, vladnih raziskavah in za pouĉevanje podatkovnega rudarjenja (https://code.google.com/p/rattle/). Vsa zgoraj navedena orodja so namenjena podatkovnemu rudarjenju in strojnemu uĉenju. Izvajajo številne module in operirajo z mnogimi funkcijami. Prav tako izvajajo tehniko klasifikacije, kar je za to magistrsko nalogo pomembno. Vendar veĉina navedenih orodij specifiĉno operira z numeriĉnimi spremenljivkami. Ker imamo v nalogi opravka predvsem s kategoriĉnimi oziroma opisnimi spremenljivkami, nam bo najbolj v korist RapidMiner. Poleg tega, da je najbolj uporabno orodje za podatkovno rudarjenje, izvaja vse potrebne funkcije – operacije za tekstovno rudarjenje. Grafiĉni vmesnik nam daje preglednost nad rezultati rudarjenja, odprtakoda pa moţnost izgradnje lastnih operandov ali samodejnega izboljšanja sistemskih zahtev programa, kar nam daje moţnost, da lahko z zmogljivejšim raĉunalnikom izvajamo operacije z zelo ogromnim podatkovnim nizom. 43 8. PREDSTAVITEV PROBLEMA, PREDSTAVITEV GRADNIKOV IN ORODIJ Pri podatkovnem rudarjenju velikih zbirk dokumentov je potrebno predhodno predprocesirati besedilne dokumente in shraniti podatke v podatkovno strukturo, ki je bolj primerna za nadaljnje procesiranje (Hotho, Nürnberger in Paaß 2005, str. 6). Pred tekstovnim rudarjenjem pa bomo po standardu DSM-5 definirali simptome, ki so znaĉilni za parameter »depresijo« in »shizofrenijo«. 8.1 Definicija in simptomi shizofrenije Shizofrenija je zamišljena kot psihološka motnja (angl. psychotic disorder) in ta spreminja preprosto zahtevo za psihotiĉno patologijo pri diagnozi. Blodnje, halucinacije in neorganiziran govor so lahko temeljni diagnosticirani »pozitivni znaki« z visoko zanesljivostjo in se zato lahko štejejo za zanesljivo diagnozo shizofrenije. Po DSM-5 sta za diagnozo shizofrenije potrebna najmanj dva ali veĉ kriterijev A (ang. Criterion A), pri ĉemer mora biti vsak navzoĉi kriterij signifikanten del ĉasa navzoĉ med obdobjem enega meseca (ali manj, ĉe je ta uspešno zdravljen). Pri tem pa mora vkljuĉevati vsaj enega od simptomov 1 - 3 (Tandon in drugi 2013, str. 3). Tabela 8.1 prikazuje povzetek simptomov po standardu DSM-5 za shizofrenijo, zraven je še angleški zapis, ker kasneje v podatkovnem rudarjenju uporabljamo angleške ĉlanke. Tabela 8.1: Definicija simptomov shizofrenije po standardu DSM-5 Kriterij A: Blodnje (angl. Delusions), Halucinacije (angl. Hallucinations), Neorganiziran govor (angl. Disorganized speech), Skrajno neorganizirano ali nezavestno vedenje (angl. Grossly disorganized or catatonic behavior), Negativni simptomi (na primer zmanjšano ĉustveno izraţanje) (angl. Negative symtopms (i.e. diminished emotional expression or avolition). Kriterij B: Socialna / poklicna disfunkcija (angl. Social/occupational dysfunction): za signifikanten del ĉasa od nastopa motnje enega ali veĉ glavnih podroĉij delovanja, kot so delo, medosebni odnosi ali samooskrba so precej pod ravnjo. (angl. For a significant portion of the time since the onset of the disturbance, one or more major areas of functioning, such as work, interpersonal relations, or selfcare, are markedly below the level achieved prior to the onset (or when the onset is in childhood or adolescence, failure to achieve expected level of interpersonal, academic, or occupational 44 achievement)). Kriterij C: Trajanje: Neskonĉni znaki motenj trajajo vsaj šest mesecev. To šestmeseĉno obdobje mora vkljuĉevati vsaj 1 mesec simptomov (ali manj, ĉe je ta uspešno zdravljen), ki so merilo kriterija A: (na primer aktivna-faza simptomov) in lahko vkljuĉujejo obdobja prodromske ali rezidualne simptome. Med temi prodromskimi in rezidualnimi obdobji se lahko znaki motenj kaţejo s samo negativnimi simptomi ali dvema ali veĉ simptomov, naštetih v kriteriju A, prisotnih v oslabljeni obliki (na primer ĉudna prepriĉanja, nenavadno zaznavanje izkušenj). (angl. Continuous signs of the disturbance persist for at least 6 months. This 6-month period must include at least 1 month of symptoms (or less if successfully treated) that meet Criterion A (i.e., active-phase symptoms) and may include periods of prodromal or residual symptoms. During these prodromal or residual periods, the signs of the disturbance may be manifested by only negative symptoms or by two or more symptoms listed in Criterion A present in an attenuated form (e.g., odd beliefs, unusual perceptual experiences)) Kriterij D: Shizoafektivna in velika razpoloţenjska motnja brez shizoafektivne motnje in depresivne ali bipolarne motnje s psihotiĉnimi znaĉilnostmi so izkljuĉeni, ker soĉasno: 1) se niso pojavile depresivne ali maniĉne epizode s simptomi v aktivni fazi, ali 2) ĉe so se razpoloţenjske epizode pojavile med simptomi v aktivni fazi, in je bilo njihovo celotno trajanje kratko glede na trajanje aktivnih in preostalih obdobij. (angl. Schizoaffective and major mood disorder exclusion Schizoaffective disorder and depressive or bipolar disorder with psychotic features have been ruled out because either (1) no major depressive or manic episodes have occurred concurrently with the active phase symptoms; or (2) if mood episodes have occurred during active-phase symptoms, their total duration has been brief relative to the duration of the active and residual periods) Kriterij E: Snov/splošno razpoloženje, izkljuĉen pogoj snov/splošno zdravstveno stanje: motnje ni mogoĉe prepisati neposrednim fiziološkim uĉinkom snovi (na primer zloraba zdravil) ali pa drugemu zdravstvenemu stanju. (angl. Substance/general mood condition exclusion Substance/general medical condition exclusion: The disturbance is not attributed to the direct physiological effects of a substance (e.g., a drug of abuse, a medication) or another medical condition) Kriterij F: Razmerje do globalnega razvojnega zaostanka ali motnja avtistiĉnega spektra: Ĉe je zgodovina glede motnje avtistiĉnega spektra ali kakšna druga komunikacijska motnja v otroštvu (otroškem nastopu), je dodatna diagnoza shizofrenije le, ĉe so vsaj 1 mesec navzoĉe blodnje ali halucinacije (ali manj, ĉe je ta uspešno zdravljen). (angl. If there is a history of autism spectrum disorder or other communication disorder of childhood onset, the additional diagnosis of schizophrenia is made only if prominent delusions or hallucinations are also present for at least 1 month (or less if successfully treated)) Vir: Tandona in drugi (2013, str. 3) 45 8.2 Definicija in simptomi depresije Po grobi razdelitvi na podlagi standarda DSM-V (enako je v DSM-IV) razdelimo depresijo na dve vrsti: 1) Velika depresivna motnja (angl. Major Depressive Disorder), 2) Bipolarna motnja (angl. Bipolar Disorder). Glede na standard DSM mora oseba, ki trpi za veliko depresivno motnjo imeti depresivne simptome, kot so bodisi depresivno razpoloţenje, bodisi izguba zanimanja ali veselja za dnevne aktivnosti, za obdobje najmanj dveh tednov. Prav tako veliko depresivno motnjo ne moremo diagnosticirati, ĉe ima oseba zgodovino manije (angl. manic), hipomaniĉnih (angl. hypomanic) ali mešanih epizod (angl. mixed episodes) (na primer bipolarna motnja), ali ĉe depresivno razpoloţenje bolje odgovarja shizoafektivni (shizofrenost) (angl. schizoaffective disorder) motnji in ne prekriva shizofrenije, shizofreniformne motnje (angl. schizophreniform disorder), motnje prividov (angl. delusional disorder) ali psihotiĉnih motenj (angl. psychotic disorder) (Schimelpfening, 2012a). Bipolarna motnja oziroma znana tudi kot maniĉna depresija (angl. Manic Depression) je motnja razpoloţenja, v katerem se posameznik izmenjuje med obdobji depresije in obdobji manije. V maniĉnem obdobju lahko oseba doţivlja normalno razpoloţenje; manija je lahko blaga (hipomanija, angl. hypomania) ali ekstremna, da posega v njegovo ţivljenje (Schimelpfening, 2012b). Merila oziroma kriteriji za velike depresivne epizode morajo imeti skupno najmanj pet simptomov (glej tabelo 8.2) v najmanj dveh tednih. Pri tem mora biti en od teh simptomov depresivno razpoloţenje (angl. Depressive mood) ali izguba zanimanja (angl. Loss of interest) (Affiliated Doctors of Orange County, 2008). Tabela 8.2: Kriteriji za diagnozo velike depresivne motnje Depresivno razpoloţenje (angl. Depress mood) Opazno zmanjšanje zanimanja ali veselja v vseh ali skoraj vseh dejavnostih (angl. Markedly diminshed interest or pleasure in all or almost all activities) Signifikantna izguba ali pridobitev telesne teţe ali mase (> 5 % telesne mase), ali poveĉanje ali zmanjšanje apetita (angl. Signifcant weight loss or gain, or increase or decrease in appetite) Nespeĉnost ali prekomerno spanje (hipersomnija) (angl. Insomnia or hypersomnia) Psihomotoriĉna agitacija ali zaostalost (angl. Psychomotor agitation or retardation) Utrujenost ali izguba energije (angl. Fatigue or loss of energy) Obĉutki niĉvrednosti ali neprimerne krivde (angl. Feelings of worthlessness or inappropriate guilt) Zmanjšana koncentracija ali neodloĉnost (angl. Diminished concentration) Ponavljajoĉe se misli o smrti ali samomoru (angl. Recurrent thoughts of death or suicide) Vir: Affiliated Doctors of Orange County (2008) 46 Tabela 8.3: Kriteriji za diagnozo bipolarne motnje Napihnjena samopodoba ali obĉutek veliĉastnosti (angl. Grandiosity). Zmanjšana potreba po spanju (angl. Decreased need for sleep). Veĉja zgovornost kot po navadi (angl. More talkative than usual or pressure). Preletavanje idej ali subjektivna izkušnja, da misli med seboj tekmujejo (angl. Flight of ideas or subjective experience that thoughts are racing). Zmedenost – odvrnjena pozornost (angl. Distractibility). Poveĉana ciljno usmerjena dejavnost ali psihomotoriĉna agitacije (angl. Increase in goal-directed activity or psychomotor agitation) Pretirana vpletenost v prijetne dejavnosti, ki imajo velik potencial za boleĉe posledice (angl. Excessive involvement in pleasurable activities that have a high potential for painful consequences) Vir: Affiliated Doctors of Orange County (2008) Za bipolarno motnjo pa je znaĉilno, da v ĉasu motnje razpoloţenja troje (ali veĉ) od naslednjih simptomov vztraja in so bili prisotne v signifikantni meri (Tabela 8.3). V prilogi (Priloga 1) so priloţene vse angleške besede simptomov depresije in shizofrenije. 8.3 Izbira in predstavitev baze podatkov Osnovna baza podatkov oziroma korpus6 magistrske naloge so ĉlanki o diagnozi shizofrenije in depresije. Ĉlanke je izbral oziroma predlagal ekspert (psiholog). Število izbranih ĉlankov s strani eksperta je bilo 199, uporabljenih pa je bilo 66, ker je veĉina predlaganih ĉlankov starejša od 10 let in niso na voljo v digitalni obliki. S strani podatkovnega rudarjenja pa potrebujemo ĉlanke v digatalni obliki. Pri izbranih 66 ĉlankih je bilo 33 ĉlankov, ki predstavljajo korpus za shizofrenijo in 33, ki predstavljajo korpus za depresijo. Poleg predlagane baze podatkov s strani eksperta smo uporabili bazo podatkov, ki smo jo sestavili s pomoĉjo spletnega rudarjenja – robotnega iskanja podatkov po spletu (veĉ o pripravi v poglavju 8.5). Namen te baze je bil preveriti, ali ima podatkovna baza, ki jo sestavi »robot« enako validacijo kot podatkovna baza, ki jo sestavi ekspert. 6 Korpus (SSKJ): Zbirka. 47 8.4 Razumevanje diagnostičnega problema Diagnoza je kljuĉni proces odloĉitve za rešitev problema. Razumevanje diagnostiĉnega problema pa ima bistveni pomen pri poteku podatkovnega rudarjenja. To nam pomaga, da definiramo logiĉen cilj: podpora pri diagnozi, ki jo ţelimo doseĉi kot rezultat podatkovnega rudarjenja. Vendar za dosego tega rezultata ni dovolj le razumevanje problema, ampak je pomembno tudi, kakšno bazo bomo izbrali, katere tehnike bomo uporabili in katero orodje. Za primer magistrske naloge je ekspert na podroĉju psihiatrije izbral bazo podatkov, za katere kot strokovnjak na svojem podroĉju meni, da so odliĉni priroĉniki za pomoĉ pri diagnozi duševnih bolezni. Diagnostiĉni problem, s katerim se sooĉajo zdravstveni delavci je v tem, da so simptomi pri diagnozi dveh duševnih bolezni (shizofrenija in depresija) podobni, zato je odloĉitev, za katero vrsto bolezni gre, toliko teţja. Kljub standardoma (DSM-V in MKB-10), ki sta na voljo in jasno definirata simptome za posamezno bolezen, se lahko zgodi, da ima uporabnik zdravstvenih storitev simptome, ki definirajo bolezen depresijo oziroma bolezen »A«, v realnosti pa boleha za shizofrenijo oziroma boleznijo »B«. 8.5 Priprava podatkov Priprava podatkov je v procesu tekstovnega (podatkovnega) rudarjenja zelo pomemben del. Priprava podatkov je kot jedro procesa podatkovnega rudarjenja (Marn, 2010). Vsaka podatkovna baza, kjer so njene »vrstice/polja« tekst, so polne raznih nepomembnih stavkov/podatkov (nimajo nobenega vpliva na konĉne rezultate in ugotovitve, na primer ĉe gre za ĉlanke, ki so sestavljeni s pomoĉjo pravila IMRAD, so tako na primer nekoristni naslovi kot so: uvod, raziskava, zakljuĉek, ker ne povedo niĉ konkretnega; medtem ko pa je vsebina takšnih ĉlankov zelo dobra za podatkovno rudarjenje) ali celo nelogiĉnih stavkov (na primer negativno število za višino osebe). Ĉe ţelimo izvesti uĉinkovit KDD, moramo zelo dobro pripraviti podatke. Predvsem pri tekstovnem rudarjenju zna biti priprava podatkov dolgotrajen proces, saj je potrebno vsak posamezen ĉlanek, knjigo, povzetek itd. pregledati, ali je vsebina primerna. Segmente priprave podatkov delimo na: analizo podatkov, ĉišĉenje podatkov, integracija podatkov, redukcija podatkov. Prvi sklop baze podatkov je izbral ekspert in so bili dostopni v PDF formatu. Kot smo ţe omenili, je ekspert izbral 199 prispevkov, ki opisujejo diagnozo za shizofrenijo in depresijo. Od teh smo izbrali 66 prispevkov, ki so bili dostopni v digitalni 48 obliki. Kljub temu, da RapidMiner lahko upravlja s PDF datotekami, smo jih zaradi kasnejšega ĉišĉenja podatkov s pomoĉjo programa Nitro PDF konvertirali v Microsoft Word dokumente. Ĉlanki oziroma prispevki, ki smo jih iskali na podlagi predloga eksperta, so na voljo na spletni strani NCBI – National Center for Biotechnology Information: http://www.ncbi.nlm.nih.gov/. Gre za spletno digitalno knjiţnico, specializirano za medicino. Drugo bazo smo sestavili s pomoĉjo RapidMiner-jevega robota, ki po spletu na doloĉeni spletni strani samodejno »brska« po straneh in samodejno shranjuje datoteke v TXT formatu v doloĉeno mapo. Na tak naĉin lahko ustvarimo ogromno podatkovno bazo. Za postopek smo ustvarili makro, ki nam omogoĉa iteracijo po spletni strani. Postopek za ustvarjanje takšnega procesa v RapidMinerju je naslednji: 1. V glavni proces dodamo operator »Loop«. Namen tega operatorjaje, da iterira podprocese za specifiĉno število, ki ga samodejno doloĉimo. Priporoĉeno je, da to število doloĉimo tako, da na spletni strani, s katere ţelimo izvleĉi kontekst, vpišemo število strani, ki jih ima iskani zadetek. Na primer v bazi NCBI je za »diagnose schizophrenia« 136 zadetkov, od tega je na strani po 10 zadetkov, torej imamo opravka s 14 stranmi. Torej bo naše število iteracij 14 (ker bomo v nadaljevanju s pomoĉjo makroja sestavili proces, ki bo prebrskal teh 14 strani). Lahko pa se doda veĉ iteracij, v tem primeru bo RapidMiner poiskal še veĉ konteksta, vendar bo proces trajal dlje, kot bi z doloĉenimi iteracijami. Skratka »Loop« operator se uporabi zaradi dveh stvari: prviĉ, ker lahko znotraj sebe izvede podprocese, ki uporabijo makro po vsaki iteraciji; drugiĉ, ker fiziĉno doloĉena iteracija ne obremeni streţnika spletne strani. Zna se namreĉ zgoditi, da brez iteracij RapidMinerjev robot preobremeni streţnik, na katerega je naloţena spletna stran, kar pa poslediĉno lahko podre spletno stran. Slika 8.1: Glavni proces pri sestavljanju lastne podatkovne baze Vir: Kovaĉeviĉ Rudolf, lastna raziskava (2014) 49 Loop nastavitve: Oznaĉimo »set iteration macro«. Doloĉimo število iteracij na 10 (deset iteracij, v našem primeru 10 spletnih strani). Oznaĉimo »limit time«. Doloĉimo »timeout« na 60, kar pomeni 60 sekund. Gre za omejitev, ĉe se iteracija na spletni strani ne more izvesti, da po 60 sekundah nadaljuje z drugo. Preden se doloĉijo podprocesi v operatorju »Loop« je potrebno poimenovati makro in doloĉiti njegovo vrednost (kolikokrat naj se izvede). To naredimo tako, da v zavihku »Context« pod rubriko »Macros« vpišemo ime makroja. Na primer »pagePos«, glej sliko 8.2. Slika 8.2: Doloĉanje imena makroja Vir: Kovaĉeviĉ Rudolf, lastna raziskava (2014) »Value« pri »Macros« doloĉimo enako kot število iteracij za »Loop«. 2. Znotraj »Loop« operaterja doloĉimo iteracijo sledeĉih operaterjev (glej sliko 8.3): a) »Generate Macros« b) »Log« c) »Crawl Web« d) »Process Document from Data« Slika 8.3: Iteracija za operator »Loop« Vir: Kovaĉeviĉ Rudolf, lastna raziskava (2014) 3. Znotraj »Generate Macro« doloĉimo uporabo standardne konstante in kreiramo makro imenom »pagePos« (ki smo ga doloĉili v glavnem procesu pod menijem 50 »Context«; to ime makroja bomo še uporabili v operatorju »Crawl Web«) in za funkcijo izraza doloĉimo sledeĉ zapis: %{pagePos}+1 ta zapis nam bo omogoĉal, da se po spletni strani za vsako konĉano iteracijo premaknemo za eno stran naprej. 4. Operator »Log«, ta operator shranjuje podatke v »log tabelo«. 5. Operator »Crawl Web«, gre za najpomembnejši operator, saj omogoĉa, da brskamo po spletu in shranjujemo naloţene spletne strani, in sicer na »ExampleSet«. Pri operatorju »Crawl Web« je pomembno, da URL-ju (naslov spletne strani) dodamo makro zapis %{pagePos}, kar omogoĉi, da se RapidMiner premika po spletni strani za 1 (spletna stran mora vsebovati strani, na primer 1, 2, 3 itd.). Druga pomembna nastavitev je uporabnikov agent, katerega najlaţje ugotovimo s pomoĉjo spletne strani: »http://whatsmyuseragent.com/«. Tretja pomembna nastavitev tega operaterja (kljuĉna nastavitev) je »doloĉanje pravila plazenja« (angl. »crawling rules«). Pri doloĉanju pravila plazenja ukaţete programu, kaj je parameter, po ĉem naj se program premika po spletni strani. Na voljo so štiri nastavitve, priporoĉa pa se uporaba pravila »follow_link_with_matching_text«, kateremu se še doloĉi vrednost pravila (kljuĉna beseda), na podlagi katerega, ĉe se bo izraz ujemal s tekstom v hiperpovezavi, bo operator sledil tej povezavi in jo nalagal na podlagi URL. Problem tega operatorja je, da za razliĉne iskane pojme ne bo našel enakega oziroma uravnoteţenega števila podatkov (rezultat iskanja podatkov za shizofrenijo je bil 200 prispevkov, za depresijo pa 20). 6. Operator »Process Document From Data«. S pomoĉjo tega operatorja shranimo spletne strani, ki jih je našel operator »Crawl Web«. Znotraj tega operatorja pa nastavimo štiri operatorje, s katerimi kreiramo vektorje, ki omogoĉijo, da shranimo najdene spletne strani v obliki formata .TXT (glej sliko 8.4): a) Operator »Extract Content«, ki razširi vsebino s HTML spletne strani. b) Operator »Unescape HTML«, dekodira zaporedje HTML sekvenc v dokumentu (odstrani HTML znaĉke in njihove ukaze). c) Operator »Write Document« ustvari oziroma zapiše vsebino iz HTML dokumenta. d) Operator »Write File« shrani zapisano vsebino iz HTML dokumenta v format .TXT v mapo, ki jo doloĉite. 51 Slika 8.4: Kreiranje vektorja znotraj operatorja Process Documents From Data Vir: Kovaĉeviĉ Rudolf, lastna raziskava (2014) Celoten XML procesa je v prilogi (Priloga 2). 8.5.1 Analiza podatkov Preden se izvede tekstovno rudarjenje, je potreben splošen pregled podatkov. To se mora izvesti zato, da izvemo, kakšna je struktura podatkov, kako so porazdeljeni, kakšna je velikost podatkov. Podatki v magistrski nalogi so razdeljeni na dva dela oziroma korpusa: ĉlanki oziroma prispevki o shizofreniji in ĉlanki oziroma prispevki o depresiji iz razliĉnih obdobij. Struktura podatkov, ki jih analiziramo,izbrana odeksperta, je : Ĉlanki, pisani po pravilih IMRAD (uvod, metodologija, raziskava, analiza, zakljuĉek). Starost ĉlankov je od 1950 (najstarejši) pa do 2013 (najmlajši). Vsi ĉlanki so dostopni v digitalni obliki (PDF format) ali kot skenirano besedilo (JPEG format – slika). Število ĉlankov, ki predstavljajo depresijo, je 33. Število ĉlankov, ki predstavljajo shizofrenijo, je 33. Podatki so v angleškem jeziku. Struktura podatkov, izbrana s strani robota za iskanje teksta (»Crawl Web«), ki jih analiziramo, je: Gre za kombinacijo ĉlankov in povzetkov. Starost ĉlankov je neznana (ker operator »Crawl Web« deluje le na podlagi kljuĉne besede v URL zapisu). Vsi ĉlanki so dostopni v digitalni obliki (TXT format, ker smo dali zahtevo za shranjevanje v tem formatu). 52 Število ĉlankov in povzetkov, ki predstavljajo depresijo, je 20. Število ĉlankov in povzetkov, ki predstavljajo shizofrenijo, je 200 (izbrali smo 20 zaradi protiuteţi depresiji). Podatki so v angleškem jeziku. Analiza podatkov (vsebine) o depresiji in shizofreniji je pokazala: Ĉlanki oziroma prispevki vsebujejo podatke, ki nimajo nobenega vpliva na priĉakovane rezultate (naslovi, elektronske pošte, reference, številke strani, številke). Besedilo, ki se ga bo analiziralo, vsebuje doloĉene znake, ki prav tako nimajo nobenega vpliva na priĉakovane rezultate (pomanjševalnice, pridevniki, vezniki, predlogi). Vsak posamezen ĉlanek, prispevek, povzetek vsebuje kljuĉni besedi bodisi depresijo bodisi shizofrenijo – s tem lahko predvidevamo, da je vsebina usmerjena na problematiko, ki jo ţelimo rešiti. Doloĉeni tekst je v JPEG7 formatu (slika) neprepoznaven za tekstovno rudarjenje v RapidMiner-ju. Podatki pridobljeni s pomoĉjo operatorja »Crawl Web« vsebujejo HTML oznake. Problem JPEG dokumentov smo rešili s pomoĉjo brezplaĉnega programa FreeOCR, razliĉica 4.2. Program FreeOCR skenira sliko in na njej prepozna tekst ter ga izvozi v Wordov dokument. S pomoĉjo tega programa smo dokumente, ki so za RapidMiner neprepoznavni, pretvorili v prepoznavne. Vendar se je pojavil nov problem; pri skeniranju je FreeOCR tvoril veĉje število odstavkov in pretvoril doloĉeno vsebino v nesmiselno. Zato smo morali pregledovati prvotni dokument zato, da smo lahko v novoustvarjenem dokumentu oblikovali odstavke v smiselno celoto. 8.5.2 Čiščenje podatkov Ĉišĉenje podatkov uporabljamo zato, da odstranimo nezaţelene podatke oziroma šume iz mnoţice podatkov, ki jih nameravamo uporabiti za podatkovno modeliranje (Marn 2010, str. 31). Ker ĉlanki oziroma prispevki, posredovani s strani eksperta, vsebujejo podatke, kot so naslovi, elektronske pošte, reference, številke strani, številke in nimajo nobenega vpliva na priĉakovane rezultate, jih je potrebno odstraniti. Ĉlanki, ki jih imamo na voljo, so v PDF 7 Dokumenti, ki so v JPEG formatu, so veĉinoma starejši dokumenti, gre za dokumente, ki so starejši od 15 let. 53 formatu (v tem formatu ne moremo popravljati vsebine), zato smo jih s pomoĉjo programa NitroPDF konvertirali v Word format. V Word formatu smo iz besedila ĉlankov roĉno odstranili nezaţelene podatke. Kasneje smo s pomoĉjo ZillaPDF (brezplaĉni program) konvertirali preĉišĉene Word dokumente v TXT format. To se naredi zato, ker nam TXT dokumenti omogoĉajo, da imamo hitrejši pregled nad vsebino baze (to moţnost imamo sicer tudi pri PDF in Word dokumentih, ampak ker izvajamo teste z bazo, ki vsebuje veĉje število teh dokumentov, je pregled nad vsemi dokumenti poĉasnejši; PDF in Word namreĉ zahtevata doloĉen proces, da jih operacijski sistem zaţene). Za ĉišĉenje podatkov uporabljamo tudi RapidMiner, s katerim s pomoĉjo operatorjev preĉistimo besedilo z doloĉenimi besedami ter posebnimi znaki. Operatorje, ki nam omogoĉajo takšna opravila, se izvaja znotraj operatorja »Process Documents from Files«. Operatorji, ki nam omogoĉajo ta pravila, so (glej sliko 8.5): »Tokenize«: Ta operator razdeli besedilo dokumenta v zaporedje znakov – »tokenov«. Rezultat tega bo znak, ki vsebuje eno samo besedo, kar pa je postopek pred konĉno izgradnjo besednega vektorja. »Filter Stopwords (Dictionary)«: Namen tega operatorja je, da odstrani vse znake, ki so enaki znakom (»besedam«), podanim v dokumentu. Dokument mora vsebovati eno »stop-besedo« na vrstico. (Slovar, ki smo ga uporabili v magistrski nalogi, je priloţen v prilogi (Priloga 3). S pomoĉjo ĉišĉenja besed, ki smo jih dodali v slovar, smo se rešili besed, ki se pojavljajo v bazi pogosto, vendar ne sluţijo rešitvi iskanega problema. »Filter Stopwords (English)«: Gre za podoben operator kot je »Filter Stopwords (Dictionary)«, vendar ima ţe sestavljen slovar, ki vsebuje predvsem angleške kratice, kot so: 's (mnoţina), ies, ed, ly, ing, es, in, for, what, itd. (gre za veznike, predloge, pomanjševalnice, sklanjatve itd.). »Filter Tokens (by Length)«: Filtrira znake na osnovi njihove dolţine, ki jo doloĉimo sami. S pomoĉjo tega filtra dodatno ostranimo dolge znake – besede, kot so URL-ji in druge kratke znake – besede (od 2 znakov naprej). 54 Slika 8.5: Operatorji RapidMiner-ja za ĉišĉenje besedila Vir: Kovaĉeviĉ Rudolf, lastna raziskava (2014) 8.5.3 Integracija podatkov Pri vsakem KDD-ju je potrebna integracija. Gre za poenotenje podatkov, ki prihajajo iz razliĉnih virov, v konsistentno celoto. Podatki iz razliĉnih virov se lahko razlikujejo po poimenovanju atributov, nivoju podatkov, formatu zapisa in podobno (Marn 2010, str. 31). Za tekstovno rudarjenje lahko RapidMiner uporablja razliĉne formate zapisov, na podlagi katerih lahko dela analize. Gre za formate: Microsoft Access, Microsoft Excel, PDF, TXT in CSV. Ţe prej smo omenjali, da je za laţjo analizo s strani uporabnika najboljše uporabljati format TXT, predvsem kadar imamo opravka z veĉjim številom tekstov. V magistrski nalogi smo uporabili naslednji postopek poenotenja ĉlankov, ki nam jih je posredoval ekspert: Primer ĉlanka: »Allardycc J, Boydcll J: Review: The wider social environment and schizophrenia«. V bazi NCBI dostopen v PDF formatu. S pomoĉjo programa NitroPDF smo pretvorili dokument v Word (glej sliko 8.6). Slika 8.6: Pretvorba PDF v Word s pomoĉjo NitroPDF Vir: Kovaĉeviĉ Rudolf, lastna raziskava (2014) Po ĉišĉenju vsebine smo s pomoĉjo programa Word2Txt smo pretvorili Wordov dokument v TXT format (glej sliko 8.7). Slika 8.7: Pretvorba Word v TXT format Vir: Kovaĉeviĉ Rudolf, lastna raziskava (2014) 55 Za analizo smo torej pripravili sledeĉo bazo podatkov (glej tabelo 8.4): Tabela 8.4: Integracija podatkov za analizo v RapidMiner-ju Ĉlanki predlagani s strani eksperta Ĉlanki najdeni na podlagi »Crawl Web« Vrsta parametra Število Format Vrsta parametra Število Format Depresija 33 txt Depresija 20 txt Shizofrenija 33 txt Shizofrenija 20 txt Vir: Kovaĉeviĉ Rudolf, lastna raziskava (2014) 8.5.4 Redukcija podatkov Za uĉinkovito izgradnjo modela pri tekstovnem rudarjenju je pomembno, da imamo polno atributov. Glede na to, da gradimo model, ki bo pomagal pri odloĉitvi diagnoze bolezni, je priporoĉeno, da imamo veĉje število ĉlankov. Namreĉ pri izvedbi testa za praktiĉni del magistrske naloge z manjšim številom ĉlankov (do 10 ĉlankov) se je izkazalo, da tak model ni veljaven. Zato je priporoĉeno, da se pri tekstovnem rudarjenju uporabi najmanj 20 ĉlankov, in sicer za en opazovani parameter (torej, ĉe analiziramo dve vrsti bolezni, je potrebno, da imamo za vsak parameter/bolezen minimalno 20 ĉlankov, ĉe ţelimo, da je model veljaven). Zato redukcija oziroma zmanjševanje podatkov za primer analiziranja teksta glede iskanja razlik oziroma uteţi posameznih znakov glede na parameter ni potrebna. Pri tekstovnem rudarjenju je pomembno, da upravljamo s ĉim veĉ ĉlankov (minimalno 20) , saj imajo tako dobljeni rezultati veĉjo veljavnost in natanĉnejšo napovedno moĉ. 8.6 Metodologija dela Pri tekstovnem rudarjenju smo v magistrski nalogi s pomoĉjo RapidMinerja izvedli naslednje teste: Podobnost dokumentov, izbranih s strani eksperta. Grozdenje – »clustering«. Avtomatizirana klasifikacija – Naivni Bayes. Avtomatizirana klasifikacija – k-NN. Avtomatizirana klasifikacija SVM. Asociacijska pravila za Depresijo. Asociacijska pravila za Shizofrenijo. 56 Avtomatizirana klasifikacija – k-NN za spletne podatke (za primerjavo). Avtomatizirana klasifikacija – Naivni Bayes za spletne podatke (za primerjavo). Korelacijski koeficient za primerjavo med atributi (bolezni). Vsak posamezen proces bomo posebej opisali, natanĉen XML procesa bo priloţen v prilogah. Rezultate bomo razpravljali v analizi. 8.6.1 Grozdenje – »clustering« Operator »Clustering« opravlja razvršĉanje z uporabo algoritma k-povpreĉja (angl. k-means). Grozdenje se ukvarja z zdruţevanjem predmetov, ki so si med seboj podobni in razliĉni od predmetov, ki spadajo k drugim grozdom. Grozdenje je tehnika za pridobivanje informacij od neoznaĉenih podatkov. K-povpreĉje grozdenja je izkljuĉno algoritem grozdenja, to pomeni, da je vsakemu objektu dodeljen natanĉno eden iz niza grozdov. Pri tekstovnem rudarjenju se grozdenje (»clustering«) uporablja za ugotavljanje pripadnosti predmetov (besed), torej v katero skupino spadajo, v našem primeruk shizofreniji, ali depresiji. Vrednosti so izraţene v matriki s številkami 0 ali 1. Ĉe je vrednost 0, pomeni, da predmet ne spada v doloĉeno skupino, ĉe pa je vrednost 1, pomeni, da predmet pripada tej skupini. Operatorja, ki izvajata glavni proces, sta: »Process Documents from Files«. »Clustering«. Na sliki 8.11 je prikazan glavni proces pri grozdenju dokumentov, izbranih s strani eksperta, prav tako so prikazane nastavitve operatorja za grozdenje. Slika 8.8: Operatorji za grozdenje dokumentov Vir: Kovaĉeviĉ Rudolf, lastna raziskava (2014) 57 Na sliki 8.12 je prikazan del rezultatov grozdenja ĉlankov, ki jih je izbral ekspert. Slika 8.9: Rezultati grozdenja glede na ExampleSet Vir: Kovaĉeviĉ Rudolf, lastna raziskava (2014) Na podlagi standarda DSM-V smo izbrali le doloĉene simptome za ponazoritev rezultatov (glej tabelo 8.5). Za raziskavo (glej tabelo 8.5) nismo uporabili vseh simptomov, ker je pri doloĉenih simptomih teţko definirati, kaj konkretno so avtorji ĉlankov ţeleli predstaviti. Glede na rezultate pa lahko vidimo, v katero skupino so pripadali simptomi. Na primer simptom »halucinacija« popolnoma pripada skupini ĉlankov shizofrenije, medtem ko »naklonjenost samomoru« popolnoma pripada skupini ĉlankov depresije. Kljub temu lahko pri doloĉenih simptomih, ki definirajo bodisi shizofrenijo, bodisi depresijo vidimo, da pripadajo drugi skupini. Na primer simptom »samooskrba« (angl. »self-care«), kljub temu, da se ga uvršĉa med simptome shizofrenije, so rezultati pokazali, da spada v skupino depresije. Za simptom »Izrazito zmanjšanje zanimanja ali veselja« (angl. »Markedly diminished interest or pleasure«) pa kljub temu, da ga standard DSM-V uvršĉa pod depresijo, so rezultati pokazali, da je uvršĉen v skupino shizofrenije. Vendar ta odstopanja lahko pripišemo premalemu številu ĉlankov v korpusu ali kontekstu ĉlankov, avtorji so namreĉ lahko v svojih ĉlankih pisali o primerjavi simptomov, zato obstaja moţnost, da so se ti simptomi pojavili v skupini (grozdu) nasprotne skupine. V celoti gledani rezultati pa jasno napovedujejo glede na simptome, kako so ti uvršĉeni bodisi v skupino depresije bodisi v skupino shizofrenije. V prilogi (Priloga 5) je celoten XML proces za grozdenje podatkov. 58 Tabela 8.5: Grozdenje v skupine glede na simptome po standardu DSM-V Grozd (1 – Da spada v to skupino) Shizofrenija Delusions (6) za shizofrenijo | (3) za depresijo Hallucinations (12) za shizofrenijo | (1) za depresijo Disorganized (speech) (1) za shizofrenijo | (4) za depresijo Grossly disorganized or catatonic behavior (7) za shizofrenijo | (4) za depresijo Diminished emotional expression (32) za shizofrenijo | (20) za depresijo Avolition (3) za shizofrenijo | (1) za depresijo Social/occupational dysfunction (22) za shizofrenijo | (19) za depresijo (Disturbance major areas of functioning): - work, (19) za shizofrenijo | (19) za depresijo interpersonal relations, (23) za shizofrenijo | (18) za depresijo self-care, (17) za shizofrenijo | (28) za depresijo Odd beliefs (8) za shizofrenijo | (4) za depresijo History of autism spectrum disorder (9) za shizofrenijo | (7) za depresijo Communication disorder of childhood onset (16) za shizofrenijo | (8) za depresijo Prominent delusions (13) za shizofrenijo | (10) za depresijo Depresija Grozd (1 – Da spada v to skupino) Markedly diminshed interest or pleasure (31) za shizofrenijo | (24) za depresijo Signifcant weight loss or gain (9) za shizofrenijo | (9) za depresijo Increase or decrease in appetite (0) za shizofrenijo | (4) za depresijo Insomnia (0) za shizofrenijo | (2) za depresijo Retardation (4) za shizofrenijo | (8) za depresijo Fatigue (0) za shizofrenijo | (4) za depresijo Loss of energy (3) za shizofrenijo | (6) za depresijo Feelings of worthlessness or inappropriate guilt (0) za shizofrenijo | (3) za depresijo Diminished concentration (3) za shizofrenijo | (4) za depresijo Recurrent thoughts of death or suicide (4) za shizofrenijo | (13) za depresijo Grandiosity (1) za shizofrenijo | (1) za depresijo Decreased need for sleep (2) za shizofrenijo | (9) za depresijo Vir: Kovaĉeviĉ Rudolf, lastna raziskava (2014) 59 8.6.2 Podobnost dokumentov Podobnost dokumentov nam pove, kako so si dokumenti med seboj podobni v ocenjevalni lestvici od 0 do 1. Ĉe je vrednost 1 (n = 1), pomeni, da so dokumenti med seboj zelo podobni. Vrednost 0 (n = 0) pomeni, da si dokumenti med seboj niso podobni. Vrednosti, ki so manjše od 1 in veĉje od 0 ter levo in desno razliĉne od 0,50 (0 < n < 1), pa pomenijo naslednje: ĉe so dokumenti manjši od 0,50 so si tudi manj podobni, medtem ko so si pri vrednosti, ki je veĉja od 0,50 dokumenti bolj podobni. Operatorja, ki izvajata glavni proces, sta: »Process Documents from Files«. »Data Similarity«. Na sliki 8.8 je prikazan glavni proces pri podobnosti dokumentov, izbranih s strani eksperta. Na sliki 8.9 pa je prikazan del rezultata podobnosti podatkov pri procesu podobnosti dokumentov, izbranih s strani eksperta. Slika 8.10: Proces podobnosti dokumentov, izbranih s strani eksperta in nastavitev operatorja Vir: Kovaĉeviĉ Rudolf, lastna raziskava (2014) Rezultati podobnosti podatkov, predlaganih s strani eksperta, so prikazani na sliki 8.9, ki prikazuje histogram podobnosti, slika 8.10 pa vrednosti. 60 Slika 8.11: Histogram podobnosti pri podatkih, izbranih s strani eksperta Vir: Kovaĉeviĉ Rudolf, lastna raziskava (2014) Slika 8.10 prikazuje le del vrednosti pri podobnosti spletnih strani, ki pa pomenijo naslednje: Prvi stolpec »First« pomeni ime ĉlanka oziroma njegovo številko. Ĉe smo na primer pri doloĉanju primera »Example Set« najprej izbrali korpus »Shizofrenije«, bodo vsi ĉlanki v tem korpusu šteti od 1 do n ĉlankov (kolikor jih je v mapi, v našem primeru: 1, 2, 3 … 33), v drugem izbranem korpusu »Depresija« pa bodo vsi ĉlanki šteti od n + (kar pomeni, da ĉe se naš prvi korpus konĉa pri 33 ĉlankih, bo prvi korpus naslednji od konĉanega prejšnjega korpusa in do konca, kolikor jih je v tej mapi, torej v našem primeru: 34, 35, 36 … 66). Slika 8.12: Podobnost pri podatkih, izbranih s strani eksperta Vir: Kovaĉeviĉ Rudolf, lastna raziskava (2014) Dobljeni rezultati so pokazali, da si vsi ĉlanki (66, 33 za depresijo in 33 za shizofrenijo), izbrani s strani eksperta, niso podobni. Nobena podobnost pri primerjavi ĉlankov ni presegla vrednosti 0,5. S tem lahko trdimo, da si ĉlanki niso podobni, ker manj podobni ĉlanki pomenijo veĉjo natanĉnost pri raziskovanju diagnoze. Bolj ko so viri razliĉni, veĉja je natanĉnost za zgraditev modela pri napovedi. V prilogi (Priloga 4) je celoten XML proces za podobnosti podatkov. 61 8.6.3 Avtomatizirana klasifikacija – Naivni Bayes. »Naivni Bayesov« klasifikator je preprost verjetnostni klasifikator, ki temelji na uporabi Bayesovega izreka (od Bayesian statistike) z moĉnimi (naivnimi) neodvisnimi predpostavkami. S pomoĉjo tega operatorja bomo izraĉunali toĉnost našega modela glede na izbrane ĉlanke, njihovo ĉišĉenja in predvsem uĉenje (kako bomo model »nauĉili« - angl. training; ter »testirali« - angl. testing). Operatorji, ki izvajajo glavni proces, so (glej sliko 8.13): »Process Documents from Files«. »Select Atributes«. »Set Role«. »Validation«. Slika 8.13: Operatorji za Naivni Bayes Vir: Kovaĉeviĉ Rudolf, lastna raziskava (2014) Za analizo smo uporabili navzkriţno preverjanje (angl. Cross-Validation), da bi ocenili statistiĉno zmogljivost nauĉenega operatorja (obiĉajno na nevidnih podatkovnih nizih). Ta operator se uporablja predvsem za oceno, kako natanĉno se bo model (nauĉen na doloĉenih operatorjih uĉenja) izvajal v praksi. Zato smo operatorju »Validation« nastavili parametre, prikazane na sliki 8.14 ter znotraj operatorja nastavili operator za uĉenje »Naive Bayes« za testiranje pa »Apply Model« in »Performance« (glej sliko 8.15). Slika 8.14: Nastavitve za izvedbo navzkriţnega preverjanja pri algoritmu Naivni Bayes Vir: Kovaĉeviĉ Rudolf, lastna raziskava (2014) 62 Slika 8.15: Uĉenje in testiranje modela na podlagi algoritma »Naive Bayes« Vir: Kovaĉeviĉ Rudolf, lastna raziskava (2014) Natanĉnost našega sestavljenega modela je 68,20 % s + ali – 9,10 % natanĉnostjo (glej sliko 8.16). Trdimo lahko, da ima sestavljeni model s pomoĉjo algoritma Naivnega Bayesa veljavo tudi v praksi. Slika 8.16: Natanĉnost modela s pomoĉjo algoritma Naivni Bayes Vir: Kovaĉeviĉ Rudolf, lastna raziskava (2014) Rezultati (glej sliko 8.16) natanĉnosti so pokazali, da se napoved (angl. »Prediction«) kategorije »Depresija« dobi 19-krat, napaĉno pa nekajkrat (7-krat). Toĉnost oziroma preciznost razreda »Depresija« pa je 73,08 %, kar je zelo dobro. Napoved kategorije »Shizofrenija« se dobi 26-krat, napaĉno pa 14-krat. Preciznost tega razreda je nekoliko manjša (65,00 %), vendar še zmeraj dovolj visoka, da govorimo o natanĉnem modelu. Na odpoklic razreda (»Class recall«) pa je najveĉja natanĉnost pri kategoriji »Shizofrenija«, saj je ta 78,79 %; verjetno zato, ker se v tej kategoriji beseda »Shizofrenija« veĉkrat pojavlja. Pri kategoriji depresije je nekoliko manjša napovedna natanĉnost (57,58 %), verjetno zato, ker se po standardu DSM-V bolezen definira tudi z drugimi besedami (npr. bipolarna motnja). Ĉe poenostavimo rezultat bi na primeru 100 vzorcev v uĉni mnoţici, vzorce v 68,20 primerih naš model klasificiral pravilno, pri 31,80 pa bi naredil napako. Operator »Naive Bayes« nam omogoĉa vpogled v distribucijo znakov, tako lahko vidimo v distribucijski tabeli (glej sliko 8.17), katere besede imajo najveĉji standardni odklon ali povpreĉje v kategoriji. 63 Slika 8.17: Distribucijska tabela operatorja Naivni Bayes Vir: Kovaĉeviĉ Rudolf, lastna raziskava (2014) Tako ima na primer (glej sliko 8.17) pri kategoriji »Depresija« beseda »depress« najveĉji standardni odklon (0,163). Hkrati to tudi pomeni, da je to najbolj pogosta beseda v tej kategoriji. Operator Naivni Bayes ima poleg distribucijske tabele še grafiĉni prikaz (angl. »Plot View«) specifiĉne teţe (uteţi) znakov glede na kategorijo. S pomoĉjo tega prikaza lahko ugotovimo, kakšno uteţ ima doloĉen znak v kategoriji. Višja uteţ pomeni, da ima specifiĉen znak veĉji pomen v doloĉeni kategoriji. Torej je znak bolj znaĉilen za doloĉeno kategorijo. Na podlagi tega bomo tako kot za grozdenje (poglavje 8.6.2) poiskali, kakšno uteţ imajo simptomi za doloĉeno kategorijo (bodisi depresijo ali shizofrenijo). V tabeli 8.6 bomo vpisovali znak »*« za tisti atribut, ki ima veĉjo uteţ glede na parameter (glej tabelo 8.6). Na sliki 8.18 prikazujemo primer grafiĉnega prikaza glede na uteţ prvega parametra »Delusion«. Slika 8.18: Primer grafiĉnega prikaza uteţi za parameter »Delusion« Vir: Kovaĉeviĉ Rudolf, lastna raziskava (2014) 64 Tabela 8.6: Rezultati grafiĉnega prikaza specifiĉne uteţi glede na Naivni Bayes Parameter (simptom) Atribut Atribut (Depresija) (Shizofrenija) Delusions * Hallucinations * Disorganized (speech) * Grossly disorganized or catatonic behavior * Diminished emotional expression * Avolition * Social/occupational dysfunction * (Disturbance major areas of functioning): - work, interpersonal relations, * self-care, * * Odd beliefs * * History of autism spectrum disorder * Communication disorder of childhood onset * Prominent delusions * Markedly diminshed interest or pleasure * Signifcant weight loss or gain * Increase or decrease in appetite * Insomnia * Retardation * Fatigue * * Loss of energy * Feelings of worthlessness or inappropriate guilt * Diminished concentration * Recurrent thoughts of death or suicide * Grandiosity * Decreased need for sleep * Vir: Kovaĉeviĉ Rudolf, lastna raziskava (2014) Rezultati v tabeli 8.6 so pokazali glede na uteţ, kam spadajo doloĉeni parametri (simptomi). V nekaterih primerih so pokazali, da simptomi, ki po standardu DSM-V pripadajo na primer depresiji, glede na rezultate pripadajo shizofreniji in obratno.Rezultati so povsem odvisni od 65 koliĉine ĉlankov v bazi in njihove vsebine. Ĉe so avtorji opisovali primerjavo med boleznima, je logiĉno, da se bodo pojavljali simptomi ene bolezni kot simptomi druge bolezni. Celotni XML proces za avtomatizirano klasifikacijo s pomoĉjo Naivnega Bayesa je priloţen v prilogi (Priloga 6). 8.6.4 Avtomatizirana klasifikacija – k-NN Operator k-NN upravlja model k-najbliţjega soseda (angl. »k-Nearest Naighbor) iz vhodnih podatkov operatorja »ExampleSet«. Ta model lahko izvaja razvršĉanje ali regresijski model, odvisno od vhoda »ExampleSet«. S pomoĉjo tega operatorja bomo izraĉunali toĉnost našega modela glede na izbrane ĉlanke, njihovo ĉišĉenje in predvsem uĉenje (kako bomo model »nauĉili« - angl. training; ter »testirali« - angl. testing). Operatorji, ki izvajajo glavni proces, so (glej sliko 8.19): »Process Documents from Files«. »Select Atributes«. »Set Role«. »Validation«. Slika 8.19: Operatorji za k-NN Vir: Kovaĉeviĉ Rudolf, lastna raziskava (2014) Za analizo smo prav tako uporabili navzkriţno preverjanje (angl. Cross-Validation), da bi ocenili statistiĉno zmogljivost nauĉenega operatorja. Operatorju »Validation« za k-nn pa smo nastavili parametre, prikazane na sliki 8.20 ter znotraj operatorja nastavili operator za uĉenje: »k-NN« ter za testiranje: »Apply Model«, ter »Performance« (glej sliko 8.21). 66 Slika 8.20: Nastavitve za izvedbo navzkriţnega preverjanja pri algoritmu k-NN Vir: Kovaĉeviĉ Rudolf, lastna raziskava (2014) Slika 8.21: Uĉenje in testiranje modela na podlagi algoritma »k-NN« Vir: Kovaĉeviĉ Rudolf, lastna raziskava (2014) Ker imamo pri podatkovnem rudarjenju opravka s tekstom, je potrebno za k-NN algoritem nastaviti doloĉene nastavitve (glej sliko 8.22). Slika 8.22: Nastavitve algoritma k-NN Vir: Kovaĉeviĉ Rudolf, lastna raziskava (2014) Natanĉnost našega sestavljenega modela je 80,44 % s + ali – 5,40 % natanĉnostjo (glej sliko 8.23).Trdimo lahko, da ima sestavljeni model s pomoĉjo algoritma k-NN moĉno veljavo tudi v praksi. Slika 8.23: Natanĉnost modela s pomoĉjo algoritma k-NN Vir: Kovaĉeviĉ Rudolf, lastna raziskava (2014) 67 Rezultati (glej sliko 8.23) natanĉnosti so pokazali, da se napoved (angl. »Prediction«) kategorije »Depresija« dobi 22-krat, napaĉno pa nekajkrat (2-krat). Toĉnost oziroma preciznost razreda »Depresija« pa je 91,67 %, kar je skoraj odliĉno. Napoved kategorije »Shizofrenija« se dobi 31-krat, napaĉno pa 11-krat. Preciznost tega razreda je nekoliko manjša, vendar zelo dobra (73,81 %) in je dovolj visoka, da govorimo o natanĉnem modelu. Na odpoklic razreda (»Class recall«) pa je najveĉja natanĉnost pri kategoriji »Shizofrenija«, saj je ta 93,94 %. Pri kategoriji depresije je nekoliko manj (66,67 %). Ĉe poenostavimo rezultat bi na primeru 100 vzorcev v uĉni mnoţici, vzorce v 80,44 primerih naš model klasificiral pravilno, pri 19,56 pa bi naredil napako. K-NN operator pri rezultatih opravlja le z vrednostmi pri »ExampleSet«, kjer lahko iz tabele pregledamo vrednosti parametrov v posameznih ĉlankih. Torej kako moĉno je posamezen parameter povezan s posameznim ĉlankom. Celotni XML proces za avtomatizirano klasifikacijo s pomoĉjo k-NN je priloţen v prilogi (Priloga 7). 8.6.5 Avtomatizirana klasifikacija SVM Operator SVM uporablja kot »uĉenec« Java implementacijo za podporo vektorskega strojnega uĉenja mySVM (razvitega s strani Stefan Rueping). Ta metoda uĉenja se lahko uporablja tako za regresijo kot za razvršĉanje, hkrati pa omogoĉa hiter algoritem in dobre rezultate za mnoge uĉne naloge. S pomoĉjo tega operatorja bomo raĉunali toĉnost našega modela glede na izbrane ĉlanke, njihovo ĉišĉenja in predvsem uĉenje (kako bomo model »nauĉili« »testirali« - angl. testing). Operatorji, ki izvajajo glavni proces, so (glej sliko 8.24): »Process Documents from Files«. »Select Atributes«. »Set Role«. »Validation«. 68 angl. training; ter Slika 8.24: Operatorji za SVM Vir: Kovaĉeviĉ Rudolf, lastna raziskava (2014) Za analizo smo prav tako kot za vse ostale operatorje uporabili navzkriţno preverjanje (angl. Cross-Validation), da bi ocenili statistiĉno zmogljivost nauĉenega operatorja. Operatorju »Validation« za SVM pa smo nastavili parametre, prikazane na sliki 8.25 ter znotraj operatorja nastavili operator za uĉenje »SVM« ter za testiranje »Apply Model« in »Performance« (glej sliko 8.26). Slika 8.25: Nastavitve za izvedbo navzkriţnega preverjanja pri algoritmu SVM Vir: Kovaĉeviĉ Rudolf, lastna raziskava (2014) Slika 8.26: Uĉenje in testiranje modela na podlagi algoritma »SVM« Vir: Kovaĉeviĉ Rudolf, lastna raziskava (2014) Ker imamo pri podatkovnem rudarjenju opravka s tekstom, je potrebno za SVM algoritem nastaviti doloĉene nastavitve (glej sliko 8.27). 69 Slika 8.27: Nastavitve algoritma SVM Vir: Kovaĉeviĉ Rudolf, lastna raziskava (2014) Natanĉnost našega sestavljenega modela je 72,42 % z + ali – 13,76 % natanĉnostjo (glej sliko 8.28). Za kar lahko trdimo, da ima sestavljeni model s pomoĉjo algoritma SVM moĉno veljavo tudi v praksi. Slika 8.28: Natanĉnost modela s pomoĉjo algoritma k-NN Vir: Kovaĉeviĉ Rudolf, lastna raziskava (2014) Rezultati (glej sliko 8.28) natanĉnosti so pokazali, da se napoved (angl. »Prediction«) kategorije »Depresija« dobi 26-krat, napaĉno pa nekajkrat (11-krat). Toĉnost oziroma preciznost razreda »Depresija« pa je 70,27 %. Napoved kategorije »Shizofrenija« se dobi 22krat, napaĉno pa 7-krat. Preciznost tega razreda pa je tokrat veĉja (75,86 %) in je dovolj visoka, da govorimo o natanĉnem modelu. Na odpoklic razreda (»Class recall«) pa je najveĉja natanĉnost v kategoriji »Depresija«, saj je ta 78,79 %. V kategoriji shizofrenije je nekoliko manjša (66,67 %). Ĉe poenostavimo rezultat bi na primeru 100 vzorcev v uĉni mnoţici, vzorce v 72,42 primerih naš model klasificiral pravilno, pri 27,58 pa bi naredil napako. SVM operator pri rezultatih opravlja s Kernal Model (SVM) in sicer »Support Vector Table«, iz katere lahko razberemo uteţ posameznega parametra (znaka) v posameznem ĉlanku (podobno kot pri k-NN – ExampleSet). Celotni XML proces za avtomatizirano klasifikacijo s pomoĉjo SVM je priloţen v prilogi (Priloga 8). 70 8.6.6 Asociacijska pravila za Depresijo Asociacijska pravila se sestavijo z namenom, da ugotovimo, na kakšen naĉin so besede med seboj povezane. S tem procesom lahko ustvarimo niz asociacijskih pravil iz danega niza pogostih besed/znakov. Asociacijska pravila so pogosto »ĉe-potem« izrazi, ki pomagajo razkriti razmerje med navidezno nepovezanimi podatki. Za izgradnjo tega procesa se uporabljajo sledeĉi operatorji (glej sliko 8.29): »Process Documents from Files«. »Numerical to Binominal«. »FP-Growth«. »Create Association Rules«. Slika 8.29: Operatorji za asociacijska pravila pri depresiji Vir: Kovaĉeviĉ Rudolf, lastna raziskava (2014) Pri operatorju FP-Growth uporabimo filter slovar besed, ki ga definiramo v operatorju »Process Document from Files« ter doloĉene nastavitve (glej sliko 8.30). Na sliki (glej sliko 8.30) prav tako prikazujemo nastavitve za operator »Create Association Rules«. Slika 8.30: Nastavitve za operatorja »FP-Growth« »Create Association Rules« Vir: Kovaĉeviĉ Rudolf, lastna raziskava (2014) Rezultati asociacijskih pravil so prikazani bodisi grafiĉno bodisi tabelno. Predvsem pa je odvisno od vsebine. Zato bomo za boljši pregled predstavili tabelni prikaz asociacij (angl. Table View) (glej sliko 8.31). Skupno število asociacij pri depresiji je 8480. Zato bomo izbrali 71 le doloĉena pravila, ki se predvsem nanašajo na diagnozo bolezni depresije in nekaj njenih lastnosti. Slika 8.31: Prikaz asociacij pri depresiji Vir: Kovaĉeviĉ Rudolf, lastna raziskava (2014) Nekaj rezultatov, ki smo jih dobili s pomoĉjo asociacijskih pravil: Ljudje, ki so v letih (years – neznano) in imajo problem pri razpoloţenju (mood): sklepamo lahko (conclusion), da trpijo za duševno motnjo – depresijo. Ljudje, ki se jim zmanjša uĉinkovitost dela (work): sklepamo lahko, da je to prav tako posledica duševne motnje. Zdravljenje pri psihiatru se izvede, kadar pacient trpi za duševno motnjo – depresijo. Simptomi duševne motnje – depresije so posledica daljšega meseĉnega roka (pomeni, da depresija ne nastane takoj). Depresija je stanje, oziroma posledica veĉletne duševne motnje. Celotni XML proces za asociacijska pravila pri depresiji je priloţen v prilogi (Priloga 9). 8.6.7 Asociacijska pravila za Shizofrenijo Postopek za asociacijska pravila za shizofrenijo je enak kot za depresijo, le da za operator »Process Documents from Files« v listo dodamo korpus shizofrenije. Vse nastavitve so enake kot pri operatorjih asociacijskih pravil za depresijo. Skupno število asociacij pri shizofreniji je je 21286. Zato bomo izbrali le doloĉena pravila, ki se nanašajo predvsem na diagnozo bolezni shizofrenije in nekaj njenih lastnosti. Ti rezultati so: Starejši kot je pacient, ki boleha za shizofrenijo, trdnejša je (teţje ozdravljiva), zato je pri takšnih pacientih tudi potrebna poveĉana kontrola. Ob prisotni duševni motnji (disorder) obstaja moţnost tveganja za shizofrenijo. 72 Ob komunikacijskih motnjah v otroštvu pri nastopih obstaja moţnost, da se shizofrenija hitreje razvije. Starost vpliva na tveganje nastanka shizofrenije. Hujša oblika shizofrenije pomeni tudi poveĉano kontrolo pacienta, ki boleha za to boleznijo. Celotni XML proces za asociacijska pravila pri shizofreniji je priloţen v prilogi (Priloga 10). 8.6.8 Avtomatizirana klasifikacija za Naive Bayes, k-NN in SVM pri spletnem rudarjenju Pri testu podobnosti dokumentov se je pokazalo, da se pri skupini pojavljajo podobni dokumenti (tudi z vrednostjo 1). V povpreĉju pa so si dokumenti podobni z vrednostjo 0,14, kar pomeni, da je neka doloĉena podobnost med ĉlanki, vendar še zmeraj premajhna, da bi lahko govorili o popolni podobnosti dokumentov. Natanĉnost avtomatizirane klasifikacije za Naivni Bayes znaša 60,44 % s + ali – 13,57 % (glej sliko 8.32). Slika 8.32: Natanĉnost modela s pomoĉjo algoritma Naivni Bayes Vir: Kovaĉeviĉ Rudolf, lastna raziskava (2014) Za k-NN algoritem natanĉnost znaša 64,05 % s + ali – 16,61 % natanĉnostjo. Slika 8.33: Natanĉnost modela s pomoĉjo algoritma k-NN Vir: Kovaĉeviĉ Rudolf, lastna raziskava (2014) Natanĉnost SVM algoritma pa je 71,62 % s + ali – 15,25 % natanĉnostjo. 73 Slika 8.34: Natanĉnost modela s pomoĉjo algoritma SVM Vir: Kovaĉeviĉ Rudolf, lastna raziskava (2014) Rezultati za simptome, ki so znaĉilni za posamezno skupino (bodisi depresijo bodisi shizofrenijo) pa so pokazali moĉno odstopanje od standarda DSM-V. Na primer, simptom »Halucinacije«, ki je bistveni simptom shizofrenije, je dobil najveĉjo uteţ pri kategoriji depresija, kar pa ni pravilno. Doloĉeni parametri (simptomi) sicer ustrezajo standardom DSMV, vendar je odstopanje od glavnih simptomov, ki so znaĉilni za doloĉeno bolezen,preveliko, da bi lahko govorili o napovednem modelu za pomoĉ pri diagnozi. 8.6.9 Korelacijski koeficient za primerjavo med atributi Z operatorjem »Correlation Matrix« bomo ugotovili korelacijo med atributi. Korelacija je statistiĉna tehnika, ki lahko pokaţe, ali in kako moĉno so pari atributov med seboj povezani. Korelacija je število med -1 in 1, ki meri stopnjo asociativnosti med dvema atributoma (depresija in shizofrenija). Pozitivna vrednost korelacije pomeni pozitivno povezanost. V tem primeru so velike vrednosti depresije po navadi povezane z velikimi vrednostmi shizofrenije in obratno, male vrednosti depresije se nagibajo k temu,da so v asociaciji z malimi vrednostmi shizofrenije. Negativna vrednost korelacije pa pomeni negativno ali inverzno povezavo. V tem primeru so velike vrednosti depresije po navadi povezane z majhnimi vrednostmi shizofrenije in obratno. Operatorji, ki sestavljajo korelacijo, so (glej sliko 8.35): »Process Documents from Files«. »Set Role«. »Text to Nominal«. »Nominal to Numerical«. »Correlation Matrix«. 74 Slika 8.35: Operatorji za korelacijo dokumentov Vir: Kovaĉeviĉ Rudolf, lastna raziskava (2014) Za rezultat dobimo celotno korelacijsko matriko (tabelo) z asociacijami. Pregledali bomo le doloĉene simptome ter ugotovili njihovo povezanost z atributa depresije na atribut shizofrenije. Korelacijska tabela z rezultati je predstavljena v tabeli 8.7. Tabela 8.7: Korelacijska tabela doloĉenih simptomov Simptom Korelacijski koeficient Odd beliefs Depresija; 0,262 Disorganized (speech) Depresija; 0,238 Insomnia Depresija; 0,824 Signifcant weight loss or gain Depresija; - 0,820 Decreased need for sleep Depresija; - 0,821 Vir: Kovaĉeviĉ Rudolf, lastna raziskava (2014) V tabeli (glej tabelo 8.7) so rezultati pokazali , da ima nizka vrednost (0,262) parametra (simptoma) »Odd beliefs8«, ki se pojavi v depresiji, majhno povezanost z atributom shizofrenije. Enako velja za simptom »Disorganized (speech)«. Simptom »Insomnia« pa ima veliko vrednost (0,824), kar pomeni, da ima enako povezanost v shizofreniji.Simptoma »Signifcant weight loss or gain« in »Decreased need for sleep« imata negativno povezanost, kar pomeni, da so ti simptomi v veliki povezanosti z atributom depresija,za shizofrenijo pa velja obratno, povezani so v majni meri – nimajo nobenega vpliva na ta atribut. 8.7 Razprava o rezultatih Tekstovno rudarjenje ĉlankov lahko izvleĉe iz podatkov koristne ugotovitve. Da smo izvedli uĉinkovito tekstovno rudarjenje, smo morali najprej pripraviti bazo ĉlankov, ki jih je izbral ekspert. Potem, ko smo poiskali ĉlanke ter jih shranili, smo morali preĉistiti nepotrebno 8 V poglavju 8.1 in 8.2 so prevodi simptomov. 75 vsebino. Gre za vsebino, ki na rezultate nima vpliva (to so ponavadi imena avtorjev, naslovi, zaloţniki, reference in drugi formalni podatki). Vsebina, ki je ostala v ĉlankih, je izkljuĉno raziskovalno delo od povzetka do zakljuĉka. Bazo smo nato razvrstili v dva korpusa. Prvi je predstavljal atribut oziroma bolezen depresijo, drugi pa bolezen shizofrenijo. Po razvrstitvi ĉlankov v dve skupini smo lahko s pomoĉjo RapidMiner-ja izvedli tehnike za tekstovno rudarjenje. Prvo smo izvedli tehniko za ugotavljanje podobnosti dokumentov. S pomoĉjo tehnike ugotavljanja podobnosti dokumentov smo ugotovili, da si ĉlanki, ki jih je izbral ekspert, med seboj niso podobni. To je dobra lastnost, saj manj kot so si podobni ĉlanki, bolj natanĉno je znanje za postavljanje diagnoze, ki smo ga izvleki iz podatkov. Ta test nam je pokazal, da imamo v bazi vsebinsko razliĉne ĉlanke in s tem razpršeno znanje. Bolj kot so si ĉlanki podobni, manjša bi bila natanĉnost pri nadaljnjih ugotovitvah glede simptomov za diagnozo bolezni. Rezultate natanĉnosti modela smo skupaj strnili v tabelo (glej Tabela 8.8) z namenom, da imamo pregled nad vsemi rezultati klasifikatorjev. Tabela 8.8: Povzetek rezultatov metod avtomatizirane klasifikacije Rezultat natanĉnosti Metoda z besedilnimi viri zbrani s strani eksperta Avtomatizirana klasifikacija Naivni Bayes 68,20 % z + ali – 9,10 % Avtomatizirana klasifikacija k-NN 80,44 % z + ali – 5,40 % Avtomatizirana klasifikacija SVM 72,42 % z + ali – 13,76 % Metoda z besedilnimi viri zbrani s pomoĉjo »Crawl Web« Rezultat natanĉnosti Avtomatizirana klasifikacija Naivni Bayes 60,44 % z + ali – 13,57 % Avtomatizirana klasifikacija k-NN 64,05 % z + ali – 16,61 % Avtomatizirana klasifikacija SVM 71,62 % z + ali – 15,25 % Vir: Kovaĉeviĉ Rudolf, lastna raziskava (2014) Z razvršĉanjem v skupine smo ugotovili kategorijo (depresijo ali shizofrenijo), v katero po standardu DSM-V spada posamezni simptom. Razvršĉanje v skupine ali grozdenje je pokazalo glede na standard DSM-V dokaj natanĉno razvršĉanje, saj je vse iskane simptome pravilno razvrstilo v skupino, vkatero spada. V nekaterih primerih kot na primer za simptom signifikantne izgube ali pridobitve teţe, ki po standardu DSM-V definira depresijo, so rezultati pokazali, da se ta parameter enako razvršĉa v obe skupini (depresijo kot shizofrenijo). Razlogov za to je lahko veĉ in sicer moţno je, da so avtorji v ĉlankih opisovali 76 obe bolezni, jih primerjali itd. ali pa je bilo ugotovljeno, da je ta simptom znaĉilen za obe bolezni. Po izvedbi grozdenja smo analizirali avtomatizirano klasifikacijo na podlagi algoritmov kNN, Naivni Bayes in SVM. Vse tri algoritme smo nauĉili tako, da je naš model z vseh treh vidikov algoritmov veljaven za napoved. Pri k-NN je bila natanĉnost 80,44 %, pri Naivnem Bayesu 68,20 %, natanĉnost SVM algoritma pa je bila 72,42 %. Vsi trije algoritmi so torej pokazali, da je model, ki smo ga sestavili s pomoĉjo tekstovnega rudarjenja, natanĉen. Poleg natanĉnosti pa smo s pomoĉjo operatorja, ki izraĉuna algoritem Naivnega Bayesa, dobili še grafiĉni prikaz uteţi posameznih simptomov. Gre za prikaz, ki pove, kakšno uteţ ima posamezen simptom v posamezni kategoriji (depresiji ali shizofreniji). Veĉjo kot ima simptom uteţ, veĉji pomen ima v tej kategoriji. Rezultati so pokazali, da ima veĉina glavnih simptomov, ki definira bolezen, veĉjo uteţ oziroma spada v to pravilno kategorijo. Vendar v doloĉenih primerih ni tako,na primer simptom »nespeĉnost«, ki ga standard DSM-V definira za simptom depresije, je algoritem Naivni Bayes razvrstil v skupino shizofrenije. Razlogov za takšna odstopanja je lahko veĉ. Odvisno je lahko od teme v prispevkih, števila prispevkov, moţno pa je celo, da so avtorji glede na izkušnje in glede na svoje rezultate v raziskavah ugotovili, da doloĉeni simptomi spadajo v drugo kategorijo bolezni kot jih definira standard DSM-V. Zato smo povprašali eksperta9 za mnenje. Ocenjevalnik, ki smo ga predstavili ekspertu, je priloţen v prilogi (Priloga 12). Z ocenjevalnikom smo ţeleli ugotoviti, kako dobri oziroma napovedovalni so rezultati, ki smo jih dobili s pomoĉjo analize v RapidMiner-ju. Ocenjevalnik predstavlja simptome in kategorijo (depresijo in shizofrenijo) ter rezultate, kako je model, ki smo ga sestavili, razvrstil simptome po kategorijah. Ekspert je rezultate ocenil za odliĉno kljub manjšim pripombam in sicer: simptom »Avolition« (Psihiĉno stanje, za katerega je znaĉilno pomanjkanje pogona ali motivacije) bi raje pripisal depresiji kot shizofreniji (rezultat RapidMiner), simptom »Odd beliefs« (ĉudna prepriĉanja) je bolj znaĉilen za shizofrenijo kot pa za obe kategoriji (rezultat RapidMiner), simptom »Retardation« (Psihomotoriĉna agitacija ali zaostalost) je sicer pravilno razvršĉen, znaĉilen je za obe kategoriji, vendar je ekspert mnenja, da je agitacija bolj znaĉilna za shizofrenijo, zaostalost pa depresijo, nato simptom »Fatigue« (Utrujenost) bi raje pripisaldepresiji kot shizofreniji (rezultat RapidMiner), za simptom »Feeling of worthlessness or inappropriate guilt« (Obĉutki niĉvrednosti ali neprimerne krivde) pa meni, da je bolj znaĉilen za depresijo kot shizofrenijo 9 Ekspert: Ksenija Ţnidaršiĉ, dr.med.spec.spl.med. 77 (rezultat RapidMiner); simptom »Grandiosity« (Napihnjena samopodoba ali veliĉastnost) je po mnenju eksperta bolj znaĉilen za paciente, ki bolehajo za shizofrenijo kot depresijo (rezultat RapidMiner). Ekspert je ob pripombah še dodal strokovna pojasnila, zakaj bi pripisal doloĉen simptom k drugi kategoriji. Ekspert je rezultate komentiral tako: »Super pomoč pri diagnostiki psihičnih bolezni. Super bi bilo tudi za diagnostiko ostalih bolezni«. Tehniko asociacijskih pravil smo morali izvesti za vsako kategorijo (bolezen) samostojno. Za obe kategoriji smo morali pri filtriranju dodati še slovar besed, ki je preĉistil podatke tistih besed, ki za raziskavo nimajo pomena. Rezultati asociacijskih pravil so pokazali znaĉilnosti (simptome) posamezne kategorije bolezni, ki so enake definiranim simptomom po standardu DSM-V. Na podlagi asociacijskih pravil za depresijo smo ugotovili, da je depresija posledica duševne motnje pri ljudeh, ki imajo probleme z razpoloţenjem ter da je depresija posledica veĉletne duševne motnje. Za shizofrenijo pa smo ugotovili, da starost vpliva na tveganje nastanka shizofrenije, torej starejši kot je pacient, ki boleha za shizofrenijo, teţje je ozdravljiva. Avtomatizirana klasifikacija obeh bolezni na podlagi podatkov, pridobljenih preko spletnega rudarjenja, pa se je pokazala za manj natanĉno. Algoritem k-NN (64,05 %) in Naivni Bayes (60,44 %) ter SVM (71,62 %) so pokazali, da je natanĉnost modela nekoliko manjša od besedilnih virov, ki jih je izbral ekspert. Pri spletnem rudarjenju oziroma »kravlanju« je problem tudi v pravnih pogojih, doloĉene spletne strani namreĉ ne dopušĉajo tovrstnega pridobivanja podatkov. Kljub temu, da smo pri analizi podobnosti dokumentov dobili razultat, da si dokumenti med seboj niso podobni (povpreĉna vrednost podobnosti znaša 0,14, kar pomeni, da si prispevki med seboj niso podobni) in da je napovedna toĉnost modela manjša od toĉnosti modela sestavljenega iz besedilnih virov, izbranih s strani eksperta, konĉni rezultati niso sprejemljivi. Model je za doloĉene simptome sicer pokazal pravilno razvrstitev v kategorijo, a se je za doloĉene glavne simptome, ki so kljuĉni za diagnozo posamezne kategorije, razvrstitev izkazala za napaĉno. Na primer simptom »halucinacije« – gre za simptom, ki definira tako po standardu DSM-V kot po praksi bolezen shizofrenijo, pri rezultatu tega modela pa je ravno obratno imel simptom je znatno veĉjo uteţ v kategoriji depresij. Korelacijski koeficient nam je pokazal, kakšno povezanost imajo simptomi za depresijo in shizofrenijo. Za rezultate smo izbrali par nakljuĉnih simptomov iz korelacijske matrike in ugotovili, da so v povpreĉju simptomi pozitivno povezani med seboj. To pomeni, da ima 78 simptom, ki ima vpliv na depresijo, enak vpliv tudi pri shizofreniji. Ravno ta pozitivna povezanost povzroĉa problem pri diagnozi depresije ali shizofrenije. Tako ima na primer simptom »Insomnia« ali »nespeĉnost« moĉno pozitivno povezanost pri obeh atributih (depresije in shizofrenije), kar pomeni, da ima za oba atributa moĉan vpliv. 9. ZAKLJUČEK Podatkovno rudarjenje je odliĉna tehnika z vidika iskanja znanja v podatkih. Kot se je izkazalo, je ta tehnika dober »rudar« tudi na podroĉju medicine. Znanost medicine namreĉ pokriva ogromno število raziskav in prispevkov. Ker je medicina znanost, ki od prakse zahteva diagnostiko, se zna pri doloĉenih boleznih pojaviti problem, predvsem kadar so simptomi za bolezni podobni. Shizofrenija in depresija sta duševni bolezni, ki imata podobne simptome, zato ima diagnostik še toliko veĉji problem, kadar ţeli ugotoviti, za katero bolezen gre. Da so si simptomi bolezni podobni smo dokazali s korelacijski test, ki je pokazal, da se simptomi, ki so znaĉilni za depresijo, pojavljajo z enakim vplivom tudi pri shizofreniji. Prav tako smo pri razvšĉanju naleteli na enako ugotovitev, da imajo doloĉeni simptomi enake uteţi oziroma vpliv med boleznima. Cilj magistrske naloge je bil narediti model za podporo odloĉanju pri diagnostiki na podroĉju duševnega zdravja na podlagi nestrukturiranih besedilnih virov. Prvi korak pri izgradnji takšnega modela je bil pridobiti besedilne vire. Seznam besedilnih virov smo pridobili od eksperta na podroĉju psihiatrije. Pri pridobivanju ĉlankov iz spleta na podlagi seznama je bilo potrebno paziti, v kakšnem formatu so. Priporoĉeno je, da se prenašajo v PDF formatu. Ko smo jih pripravili, je sledilo ĉišĉenje posameznih ĉlankov. S tem mislimo, da je bilo potrebno vsak ĉlanek posebej oĉistiti nepotrebnih podatkov, ki nimajo raziskovalnega pomena. Gre za naslove, imena avtorjev, institucije, zaloţnike, spletne strani, reference, številke strani itd. Nato smo pripravili še slovar tujk, na podlagi katerih bo RapidMiner še dodatno preĉistil vsebino. Slovar je namenjen temu, da iz vsebine odstrani najbolj pogoste besede kot so raziskava, prispevek, ĉlanek itd., ker gre za vsebino, ki je v tekstu pogosta, vendar nima raziskovalnega pomena. Za prvo obliko roĉnega ĉišĉenja smo uporabili NitroPDF, ki je program za konvertiranje formata iz PDF v Word. To smo naredili zato, da smo laţje oĉistili vsebino. Nato smo uporabili brezplaĉen program ZillaPDF, ki pretvori Word v TXT format. Pretvorba v TXT format nam omogoĉa 79 laţji pregled nad vsemi ĉlanki. Prvi problem pri tem je, da sta NitroPDF kot tudi Microsoft Word plaĉljiva programa. Zato se priporoĉajo brezplaĉne spletne aplikacije, ki brezplaĉno pretvarjajo PDF format v TXT ali kateri drugi format, s katerim se lahko ureja dokument, kasneje je pomembno le, da se pretvori preĉišĉeni dokumenti v TXT format. Po ĉišĉenju dokumentov sledi sestava modela za analizo. Najprej smo testirali podobnost dokumentov. S tem testom smo ugotovili, da dokumenti med seboj niso podobni. Rezultati tega testa so priĉakovani, saj razliĉni dokumenti pomenijo tudi zanesljivejše kasnejše ugotovitve. Drugi korak je bilo grozdenje. Razvršĉanje v skupine ali grozdenje je postopek, pri katerem smo posamezne parametre (znake ali besede) razvrstili po kategorijah, bodisi depresije bodisi shizofrenije. Pri tem testu smo tudi ugotovili problem enakega pojava istega simptoma za obe kategoriji. Zato smo naredili še tri avtomatizirane klasifikacije, Naivni Bayes, k-NN in SVM. Pri vseh treh testih je rezultat pokazal visoko napovedovalno natanĉnost. Ker je znaĉilnost Naivnega Bayesa, da deluje za sofisticirane metode razvršĉanja, nam je ta klasifikator pokazal uteţi za posamezne parametre (simptome). Na podlagi teh uteţi smo razvrstili parametre v kategorijo bolezni, ki pripada. Za dodatno potrditev razvrstitev parametrov v kategorije smo izvedli asociacijska pravila. Namen sestave teh pravil nam je omogoĉil vpogled v asociacije na posamezen parameter. Torej kakšni so zakljuĉki oziroma asociacijska pravila na parametre, ki vplivajo na bolezen. S tem smo lahko še natanĉneje razvrstili parametre v kategorije. Rezultate smo spravili v »ocenjevalnik«, z namenom, da ga preveri ekspert. Ocena rezultatov našega modela s strani eksperta je odliĉna, komentar je bil, da lahko takšen model pomaga pri diagnostiki psihiĉnih bolezni ne samo specializiranim ekspertom, temveĉ tudi splošnim ekspertom, ki se prav tako sooĉajo s pacienti, ki imajo bodisi depresijo, bodisi shizofrenijo. Predlog eksperta je bil, da naj bi se ta model testiral in uporabil tudi za diagnostiko drugih bolezni. V nalogi smo hoteli tudi primerjati rezultate, ki bi pridobili besedilne vire na spletu samostojno preko »kravlanja«. Torej, da bi sestavili model, ki bi samostojno pridobival besedilne vire. Pri sestavi takšnega modela smo ţe na zaĉetku naleteli na teţavo spletnega naslova digitalne knjiţnice. Problem je, da pri doloĉenih specializiranih spletnih knjiţnicah ni standardiziranega naslova. To pomeni, da ko išĉemo neko vsebino po kljuĉni besedi, ko se jo najde in odpre spletni naslov zgubi niz iskanja po kljuĉnih besedah (odvisno, kako so moderatorji spletne strani poimenovali dokumente). Zaradi tega problema je imel robot za 80 spletno iskanje – kravlanje teţavo pri iskanju vsebine v globino spletnega naslova. Problem je tudi v pravnih pogojih, saj veĉina spletnih strani ne dopušĉa takšne vrste akcij na spletni strani. Rezultati pa so bili manjši od modela, kjer je za besedilne vire izbiral eskpert. Tak model spletnega rudarjenja bo tudi teţko našel uravnoteţeno koliĉino besedilnih virov, saj je za drugo kategorijo našel le osnovni del besedilnih virov. Zato je bil ukrep pri prvi kategoriji manjšati število besedilnih virov na kritiĉno oziroma uravnoteţeno z drugo kategorijo. Rezultati podobnosti dokumentov takšnega modela so zelo razliĉni. Vendar smo pri nekaterih primerjavah podobnosti zasledili popolno podobnost, kar pa ni zaţeleno, saj so tašni rezultati togi, temeljijo na istih predpostavkah. Avtomatizirana klasifikacija takšnega modela se je pokazala za natanĉno, vendar so kljub temu rezultati pokazali pri zelo pomembnih parametrih moĉno odstopanje od standarda in prav tako od modela z besedilnimi viri, ki jih je izbral ekspert. Ugotavljamo, da je model, za katerega smo uporabili besedilne vire, izbrane s strani eksperta natanĉnejši pri napovedi, ter da je primeren za pomoĉ pri diagnostiki.Da besedilne vire izbira ekspert je prednost, saj ta pozna vsebino izbranega besedilnega vira. Spletno iskanje oziroma »kravlanje« je dober naĉin za iskanje besedilnih virov, vendar takšen iskalni »robot« ne preverja konteksta vsebine, zato rezultati niso tako natanĉni za napoved. Model bi bilo vsekakor koristno še dodatno izboljševati, predvsem pri dopolnjevanju slovarja, ki iz teksta odstrani za analizo nepomembne podatke. Z dopolnjevanjem slovarja bi iz vsebine v analizi laţje izlušĉili simptome, asociacije bi bile konkretnejše. TO pomeni, da bi lahko pokazale asociacijsko pravilo med simptomi in še kaj konkretnejšega. Takšen model je lahko odliĉen pripomoĉek za pomoĉ pri diagnozi, vendar ker gre za analizo besedilnih virov, kjer imamo lahko ogromno besedilnih virov, se zna pojaviti tehniĉna slabost, saj za takšno analizo potrebujemo zelo zmogljiv raĉunalnik. Zato se priporoĉa, da se pri izbiri besedilnih virov vsebina predhodno pregleda in prebere vsaj povzetek in se tako besedilni viri, ki nimajo primernega konteksta ţe na zaĉetku pridobivanja virov, odstranijo iz seznama besedil, namenjenih za analizo. 81 10. LITERATURA IN VIRI 1. AFFILIATED DOCTORS OF ORANGE COUNTY (2008) Basic guidelines for major depression in adults in primary care. Dostopno prek: http://www.adoc.us/Providers/ADOC_Depression.pdf (21.1.2014). 2. ANOKWA in drugi (2012) Desing of a phone-based clinical decision support system for resource-limited settings. V: ICTD 12 (2012) Proceedings of the Fifth International Conference on Information and Communication Technologies and Development. ZDA: Association for Computing Machinery, str. 13-24. 3. ANSWER™. What is the purpose of data mining? Dostopno prek: http://wiki.answers.com/Q/What_is_the_purpose_of_data_mining (5.11.2013). 4. APA – AMERICAN PSYCHIATRIC ASSOCIATION (2013) Diagnostic and Statistical Manual of Mental Disorders (5 izdaja). ZDA: American Psychiatric Publishing. 5. APA – AMERICAN PSYCHOLOGICAL ASSOCIATION (2009) ICD vs. DSM. Dostopno prek: http://www.apa.org/monitor/2009/10/icd-dsm.aspx (10.12.2013). 6. BELLAZZI, RICCARDO in ZUPAN, BLAZ (2008) Predictive data mining in clinical medicine: Current issues and gudelines. ZDA: International Journal of Medical Informatics, 77(2), str. 81-97. 7. BERTI-ÉQUILLE, LAURE (2007) Data quality awareness: a case study for cost optimal association rule mining. Nizozemska: Springer Science & Business Media, 11(2), str. 191-215. 8. BHARDWAJ, BRIJESH KUMAR in PAL, SAURABH (2011) Data Mining: A prediction for performance improvement using classification. ZDA: L J S Publishing, 9(4), str. 136-140. 9. BREZOVNIK, JANEZ (2009) Programsko ogrodje za procesiranje besedil v naravnem jeziku. Magistrsko delo. Ljubljana: Fakulteta za elektrotehniko, raĉunalništvo in informatiko. 10. BRIGHT in drugi (2012) Effect of Clinical Decision-Support Systems: A Systematic Review. ZDA: American College of Physicians, 157(1), str. 29-43. 82 11. ÇAKIR, ABDÜLKADIR IN DEMIREL, BURÇIN (2011) A Software Tool for Determination of Breast Cancer Treatment Methods Using Data Mining Approach. ZDA: Springer Science & Business Media, 35(6), str. 1503-1511. 12. CASSELS, CAROLINE (2012) DSM-5 Gets APA's Official Stamp Approval. Dostopno prek: http://www.medscape.com/viewarticle/775496 (14.11.2013). 13. CHEN in drugi (2012) Support Vector Machine Based Diagnostic System for Breast Cancer Using Swarm Intelligence. Nizozemska: Springer Science & Business Media, 36(4), str. 2505-2519. 14. CHOUDHARY, A K, HARDING, J A in TIWARI, M K (2009) Data mining in manufacturing: a review based on the kind of knowledge. Velika Britanija: Springer Science & Business Media, 20(5), str. 501-521. 15. CLATWORTHY in drugi (2005) The use and reporting of cluster analysis in health psychology: A review. Velika Britanija: British Psychological Society, 10(3), str. 329358. 16. COENEN, FRANS (2011) Data mining: past, present and future. Velika Britanija: Cambridge University Press, 26(1), str. 25-29. 17. COLOS (2013) Ekspertni sistemi. Dostopno prek: http://colos1.fri.unilj.si/ERI/RACUNALNISTVO/INFORMATIKA/ekspertni_sistemi.html (11.11.2013). 18. DECISION SUPPORT SYSTEMS (2005) Clinical decision support system (CDSS). Dostopno prek: http://www.openclinical.org/dss.html (19.11.2013). 19. DOCCHECK FLEXIKON – DAS MEDIZINLEXIKON ZUM MEDMACHEN (2013) Diagnostik. Dostopno prek: http://flexikon.doccheck.com/de/Diagnostik (9.11.2013). 20. EDOKTOR (2013) Kaj je diagnoza? Dostopno prek: http://www.edoktor.si/zdravozivljenje/nasveti/158-kaj-je-diagnoza (9.11.2013). 21. E-STUDIJ (2010) Ekspertni sistem. Dostopno prek: http://www.estudij.si/Ekspertni_sistemi (12.11.2013). 22. GEORGE HARRISON, JOHN (1997) Enhancements to the data mining process. Doktorska disertacija. ZDA: Stanford University. 23. GILCHRIST in drugi (2012) Knowledge Discovery in Databases for Competitive Advantage. Kanada: Business And Economics—Management, 3(2), str. 2.15. 24. HARDIN, J. MICHAEL in CHHIENG, DAVID C. (2007) Data Mining and Clinical Decision Support Systems. V: Berner, Eta S. (2007) Clinical Decision Support Systems. ZDA: Springer Science + Business Media, LLC. 83 25. HONGYANG, WEN (2006) The development of ontological model for clinical decision support system: A case study of triage of pediatric hip pain in the emergency department. Magistrska naloga. Kanda: University of Ottawa. 26. HOTHO, ANDREAS, NÜRNBERGER, ANDREAS IN PAAß, GERHARD (2005) A Brief Survey of Text Mining. ZDA: LDV Forum - GLDV Journal for Computational Linguistics and Language Technology, 20(1), str. 19-62. 27. HUDOMALJ, EMIL (2005) Odkrivanje novih informacij v bibliografskih zbirkah podatkov. Ljubljana: Zveza bibliotekarskih društev Slovenije, 49(4), str. 29-49. 28. IBRIKCI, TURGAY, USTUN, DENIZ in KAYA, IREM ERSOZ (2012) Diagnosis of Several Diseases by Using Combined Kernels with Support Vector Machine. Nizozemska: Springer Science & Business Media, 36(3), str. 1831-1840. 29. JAYSON, SHARON (2013) Books blast new version of psychiatry's bible, the DSM. Dostopno prek: http://www.usatoday.com/story/news/nation/2013/05/12/dsmpsychiatry-mental-disorders/2150819/ (15.11.2013). 30. JOX, RALF J., MICHALOWSKI, SABINE, LORENZ, JORN in SHILDMANN, JAN (2008) Substitute decision making in medicine: comparative analysis of the ethico-legal discourse in England and Germany. Nizozemska: Springer Science & Business Media, 11(2), str. 153-163. 31. KASTRIN, ANDREJ (2008) Odkrivanje zakonitosti in podatkovno rudarjenje v psihologiji uporaba odloĉitvenih dreves za napovedovanje doseţka na Lestvici iskanja draţljajev. Ljubljana: Društvo psihologov Slovenije, str. 51-72. 32. KOH, HIAN CHYE in CHAN KIN LEONG GERRY (2002) Data mining and customer relationship marketing in the banking industry. Singapur: Singapore Institute of Management, 24(2), str. 1-27. 33. KONDA, PETER in PELJHAN, JURE (2010) Primer uporabe podatkovnega rudarjenja v skupini NLB. Ljubljana: Slovensko društvo informatika, 18(3), str. 175180. 34. KORDIĈ LAŠIĈ, JASNA (2013) Psihodiagnostika. Dostopno prek: http://vizita.si/zdravnik/?qst_id=84917 (10.12.2013). 35. KOŠNIK, MITJA (2012) NIAHO in ISO 9001 v bolnišnicah: predstavitev izkušenj v Kliniki Golnik. Kranj: Univerzitetna klinika za pljuĉne bolezni in alergijo Golnik. 36. KUKAR, MATJAŢ in RUPNIK, ROK (2007) Data mining based decision support system to support association rules. Ljubljana: Elektrotehniška zveza Slovenije, 74(4), str. 195-200. 84 37. LANE, CHRISOPHER (2013) The NIHM Withdraws Support for DSM-5. Dostopno prek: http://www.psychologytoday.com/blog/side-effects/201305/the-nimhwithdraws-support-dsm-5 (14.11.2013). 38. LAPANJE, GREGOR (2013) Pravo duševnega zdravja. Sprejemi na zdravljenje proti volji. Dostopno na: www.fsd.uni-lj.si/mma/Pravo/2013021620354774/ (9.11.2013). 39. LEE, SANGNO, SONG, JAEKI in KIM, YONGJIN (2010) An Empirical Compparison of Four Text Minig Methods. ZDA: International Association for Computer Information Systems, 51(1), str. 1-10. 40. LIU, S. SANDRA IN CHEN, JIE (2007) Using data mining to segment helathcare markets from patient's preference perspectives. ZDA: Emerald Group Publishing Limited, 22(2), str. 117-134. 41. LONĈARIĆ in drugi (2012) E-raĉunalništvo – Faze odloĉitvenega procesa. Dostopno prek: http://www.ssers.mb.edus.si/gradiva/rac/drugo/informatika/03_informacijski%20sistem/11_datotek a.html (Dostopno dne 9.11.2013). 42. MANKTELOW, J. (2004) Mind Tools – Essential Skills for an Excellent Career. Avstralija: MindTools. 43. MARN, ANŢE (2010) Podatkovno rudarjenje na primeru. Diplomsko delo. Ljubljana: Ekonomska fakulteta. 44. MEDNARODNA KLASIFIKACIJA BOLEZNI IN SORODNIH ZDRAVSTVENIH PROBLEMOV ZA STATISTIĈNE NAMENE (2005) MKB-10: deseta revizija, 2. izdaja. Prevod za 2. izdajo: Irena Kovačič; Urednica: Daša Moravec Berger. Ljubljana: IVZ RS – Inštitut za varovanje zdravja Republike Slovenije. 45. MERTIK, MATEJ (2013) Odkrivanje znanja v podatkih. Novo mesto: Fakulteta za informacijske študije v Novem mestu, Gradiva s primeri, delovno interno gradivo. 46. MERTIK, MATEJ in PALFY MIROSLAV (2013) Medical Datamining: RapidMIner Data Mining USe Cases and Business Analytics Application, edited by Markus Hofmann and Ralf Kilkenberg. Velika Britanija: Chapman and Hall/CRC, 2013, str. 289-318. 47. MILOVIC, BORIS in MILOVIC, MILAN (2012) Prediction and decision making in health care using data mining. Indija: Sohar University, Oman and American University of Kuwait, 1(12), str. 126-136. 85 48. MLAKAR, GAŠPER (2012) Pripomoček za pisanje na podlagi besedilne analize. Diplomsko delo. Ljubljana: Fakulteta za raĉunalništvo in informatiko. 49. MOWERMAN, ILLYA (2007) Data mining in the health care industry. Doktorska disertacija. ZDA: University of Rhode Island. 50. NGAN in drugi (1999) Medical data mining using evolutionary computation. ZDA: Artificial Intelligence in Medicine, 16(1), str. 73-96. 51. NITHYAKALYANI, S. in KUMAR, S SURESH (2012) Data Relay Clustering Algorithm for Wireless Sensor Networks: A Data Mining Approach. ZDA: Science Publications, 8(8), str. 1281-1284. 52. NOCK in drugi (2012) Boosting k-NN for Categorization for Natural Scenes. Nizozemska: Springer Science & Business Media, 100(3), str. 294-314. 53. OTTAR, AASE (1999) Clinical Experience with a Decision Support Computer Program Using Bayes' Theorem to Diagnose Chest Pain Patients. Švica: S. Karger AG, 92(2), str. 128-134. 54. OVE HANSSON, SVEN (1994) Decision Theory. Švedska: Uppsala University. 55. PARK in drugi (2008) Development of a new robust data mining procedure (RDMP) for a multiduscuplinary pharmaceutical process design. ZDA: Institute of Industrial Engineers-Publisher, 2008, str. 631-636. 56. PAVLOVIĈ in drugi (2007). Moţnosti uporabe numeriĉnih metod pri ţlahtnjenju hmelja - idejna zasnova ekspertnega sistema. Ţalec: Hmeljarski bilten, 14(2007), str. 11-17. 57. PENEV, MATEJ (2006) Večkriterijski odločitveni model za izbiro celovite programske rešitve. Magistrsko delo. Ljubljana: Ekonomska fakulteta. 58. PODPEĈAN, VID (2013) Asociacijska pravila. Dostopno prek: http://vihar.ijs.si/UNG2013/materiali/Asociacijska_pravila.pdf (6.2.2014). 59. RANJAN, JAYANTHI (2009) Data mining in pharma sector: benefits. Velika Britanija: Emerald Group Publishing, Limited, 22(1), str. 82-92. 60. REMARQUE KOUTONIN, MAWUNA (2013) The Best Data Mining Tools You Can Use for Free in Your Compny. Dostopno prek: http://www.siliconafrica.com/thebest-data-minning-tools-you-can-use-for-free-in-your-company/ (9.12.2013). 61. SAYAD, SAED (2010) An Introduction to Data Mining. Dostopno prek: http://www.saedsayad.com/ (29.11.2013). 62. SCHIMELPFENING, NANCY (2012a) Major Depressive Disorder. Dostopno prek: http://depression.about.com/cs/diagnosis/a/mdd.htm (21.1.2014). 86 63. SCHIMELPFENING, NANCY (2012b) Bipolar Disorder. Dostopno prek: http://depression.about.com/od/bipolar/g/bipolardisorder.htm (21.1.2014). 64. SCOTT in TRIBBLE (2006) Textual Patterns – Key words and corupus analysis in language education. Velika Britanija: John Benjamins Publishing Company. 65. SHAHREZA in drugi (2011) Anomaly detection using a self-organizing map and particle swarm optimization. Teheran: Sharif University of Technology, 18(6), str. 1460-1468. 66. STOCKWELL, JAY (2005) Keywords Research Tools. Dostopno prek: http://www.keyworddiscovery.com/static/keyword-tool-reviews.pdf (7.11.2013). 67. SUN, LENA H. (2013) Psychiatry's revamped DSM guidebook fuels debate. Dostopno prek: http://www.washingtonpost.com/national/health-science/updates-topsychiatrys-guidebook-change-criteria-for-adhd-autism/2013/05/16/dee4de0c-bd8711e2-97d4-a479289a31f9_story.html (15.11.2013). 68. ŠĈAVNIĈAR, EMA (1998) Negovalna diagnoza. Ljubljana: Zbornica zdravstvene nege, 32(3/4), str. 167-172. 69. TAKITA in drugi (2011) Cluster Analysis of Self-Monitoring Blood Glucose Assessments in Clinical Islet Cell Transplantation for Type 1 Diabetes. ZDA: American Diabetes Association, 34(8), str. 1799-1803. 70. TANDONA in drugi (2013) Definition and description of schizophrenia in the DSM5: Schizophrenia Research. ZDA: Elsevier, 150(1), str. 1-10. 71. WAGHOLOKAR, KAVISHWAR B., SUNDARARAJAN, VIJAYRAGHAVA IN DESHPANDE, ASHOK W. (2011) Modeling Paradigms for Medical Diagnostic Decision Support: A Survey and Future Directions. ZDA: Journal of medical systems, 36(5), str. 3029-3049. 72. WEBSTER, JERRY (2013) DSM IV, the Diagnostic and Statistical Manual. Dostopno prek: http://specialed.about.com/od/specialedacronyms/g/The-Dsm-Iv-TheDiagnostic-And-Statistical-Manual.htm (14.11.2013). 73. WEISONG, HE, GUANGMIN, HU IN YINGJIE, ZHOU (2012) Large-scale IP network behavior anomaly detection and identification using substructure-based approach and multivariate time series mining. Nizozemska: Springer Science & Business Media, 50(1), str. 1-13. 74. WHO. (2007) International Statistical Classification of Diseases and Related Health Problems 10th Revision for 2007. Dostopno prek: http://apps.who.int/classifications/icd10/browse/2010/en (10.2.2014). 87 75. WIKIPEDIA. K-nearest neighbors algorithm. Dostopno prek: https://en.wikipedia.org/wiki/K-nearest_neighbors_algorithm (29.11.2013). 76. WIKIPEDIA. Naive Bayes Classifier. Dostopno prek: https://en.wikipedia.org/wiki/Naive_Bayes_classifier (29.11.2013). 77. WITTEN, I.H. (2005) »Text mining«. V: SINGH, M. P. (ur.) Practical handbook of internet computing. ZDA: Chapman & Hall/CRC Press, Boca Raton, Florida. Dostopno prek: http://www.cs.waikato.ac.nz/~ihw/papers/04-IHW-Textmining.pdf (7.11.2013). 78. ZEKI in drugi (2012) An Expert System for Diabetes Diagnosis. ZDA: American Academic & Scholarly Research Center, 4(5), str. 1-13. 79. ZHANG in drugi (2009) Comparing data mining methods with logistic regression in childhood obesity prediction. Nizozemska: Springer Science & Business Media, 11(4), str. 449-460. 80. ZHANG in drugi (2012) Real-Time Clinical Decision Support System with Data Stream Mining. ZDA: Hindawi Publishing Corporation, str. 1-8. 81. ZHANG, QINGYU IN SEGALL, RICHARD S (2010) Review of data, text and web mining software. Velika Britanija: Emerald Group Publishing, Limited, 39(4), str. 625-655 88 88 PRILOGE Priloga 1: Angleški seznam simptomov depresije in shizofrenije Priloga 2: XML spletnega rudarjenja in priprave podatkov iz spleta Priloga 3: Slovar »stop-besed« Priloga 4: XML procesa podobnosti podatkov izbranih s strani eksperta Priloga 5: XML procesa grozdenja podatkov izbranih s strani eksperta Priloga 6: XML procesa Naivni Bayes podatkov izbranih s strani eksperta Priloga 7: XML procesa k-NN podatkov izbranih s strani eksperta Priloga 8: XML procesa SVM podatkov izbranih s strani eksperta Priloga 9: XML procesa asociacijskih pravil za depresijo Priloga 10: XML procesa asociacijskih pravil za shizofrenijo Priloga 11: XML procesa korelacije podatkov Priloga 12: Ocenjevalnik za eksperta Priloga 1: Angleški seznam simptomov depresije in shizofrenije Shizofrenija Delusions Continuous signs of the disturbance persist – 6 Hallucinations months Disorganized speech Prodromal or residual symptoms Grossly disorganized or catatonic behavior Odd beliefs Negative symtopms Unusual perceptual experiences Diminished emotional expression Substance/general Avolition attributed Social/occupational dysfunction History of autism spectrum disorder Disturbance major areas of functioning: Communication disorder of childhood onset work, interpersonal relations, self-care, mood condition is not Prominent delusions Depresija Depress mood Inflated self-esteem Markedly diminshed interest or pleasure Grandiosity Signifcant weight loss or gain Decreased need for sleep Increase or decrease in appetite More talkative Insomnia Pressure to keep talking Hypersomnia Flight of ideas Psychomotor agitation Subjective experience that thoughts are racing Retardation Distractibility Fatigue Increase in goal-directed activit Loss of energy Psychomotor agitation Feelings of worthlessness or inappropriate guilt Excessive involvement in pleasurable activities Diminished concentration Indecisiveness Recurrent thoughts of death or suicide Priloga 2: XML spletnega rudarjenja in priprave podatkov iz spleta <?xml version="1.0" encoding="UTF-8" standalone="no"?> <process version="5.3.008"> <context> <input/> <output/> <macros> <macro> <key>pagePos</key> <value>50</value> </macro> </macros> </context> <operator activated="true" class="process" compatibility="5.3.008" expanded="true" name="Process"> <process expanded="true"> <operator activated="true" class="loop" compatibility="5.3.008" expanded="true" height="94" name="Loop" width="90" x="246" y="75"> <parameter key="iterations" value="10"/> <parameter key="limit_time" value="true"/> <parameter key="timeout" value="60"/> <process expanded="true"> <operator activated="true" class="generate_macro" compatibility="5.3.008" expanded="true" height="76" name="Generate Macro" width="90" x="112" y="75"> <list key="function_descriptions"> <parameter key="pagePos" value="%{pagePos}+1"/> </list> </operator> <operator activated="true" class="web:crawl_web" compatibility="5.3.001" expanded="true" height="60" name="Crawl Web" width="90" x="112" y="210"> <parameter key="url" value="http://www.ncbi.nlm.nih.gov/pubmedhealth/?term=diagnose%20schizophrenia&page=%{page Pos}"/> <list key="crawling_rules"> <parameter key="follow_link_with_matching_text" value="schizophrenia"/> </list> <parameter key="add_pages_as_attribute" value="true"/> <parameter key="output_dir" value="E:\BigData\SchizophreniaNCBI\%{pagePos}"/> <parameter key="max_pages" value="10"/> <parameter key="max_depth" value="5"/> <parameter key="user_agent" value="Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36"/> </operator> <operator activated="true" class="text:process_document_from_data" compatibility="5.3.002" expanded="true" height="76" name="Process Documents from Data" width="90" x="313" y="210"> <parameter key="keep_text" value="true"/> <parameter key="prune_method" value="absolute"/> <parameter key="prune_below_absolute" value="2"/> <parameter key="prune_above_absolute" value="999"/> <list key="specify_weights"/> <process expanded="true"> <operator activated="true" class="web:extract_html_text_content" compatibility="5.3.001" expanded="true" height="60" name="Extract Content" width="90" x="45" y="30"/> <operator activated="true" class="web:unescape_html" compatibility="5.3.001" expanded="true" height="60" name="Unescape HTML Document" width="90" x="45" y="120"/> <operator activated="true" class="text:write_document" compatibility="5.3.002" expanded="true" height="76" name="Write Document" width="90" x="179" y="30"/> <operator activated="true" class="write_file" compatibility="5.3.008" expanded="true" height="60" name="Write File" width="90" x="313" y="165"> <parameter key="filename" value="e:\BigData\SchizophreniaNCBI\%{t}-%{a}.txt"/> </operator> <connect from_port="document" to_op="Extract Content" to_port="document"/> <connect from_op="Extract Content" from_port="document" to_op="Unescape HTML Document" to_port="document"/> <connect from_op="Unescape HTML Document" from_port="document" to_op="Write Document" to_port="document"/> <connect from_op="Write Document" from_port="document" to_port="document 1"/> <connect from_op="Write Document" from_port="file" to_op="Write File" to_port="file"/> <portSpacing port="source_document" spacing="0"/> <portSpacing port="sink_document 1" spacing="0"/> <portSpacing port="sink_document 2" spacing="0"/> </process> </operator> <operator activated="true" class="log" compatibility="5.3.008" expanded="true" height="76" name="Log" width="90" x="380" y="75"> <list key="log"/> </operator> <connect from_port="input 1" to_op="Generate Macro" to_port="through 1"/> <connect from_op="Generate Macro" from_port="through 1" to_op="Log" to_port="through 1"/> <connect from_op="Crawl Web" from_port="Example Set" to_op="Process Documents from Data" to_port="example set"/> <connect from_op="Process Documents from Data" from_port="example set" to_port="output 1"/> <connect from_op="Log" from_port="through 1" to_port="output 2"/> <portSpacing port="source_input 1" spacing="0"/> <portSpacing port="source_input 2" spacing="0"/> <portSpacing port="sink_output 1" spacing="0"/> <portSpacing port="sink_output 2" spacing="0"/> <portSpacing port="sink_output 3" spacing="0"/> </process> </operator> <connect from_op="Loop" from_port="output 1" to_port="result 1"/> <portSpacing port="source_input 1" spacing="0"/> <portSpacing port="sink_result 1" spacing="0"/> <portSpacing port="sink_result 2" spacing="0"/> </process> </operator> </process> Priloga 3: Slovar »stop-besed« studies total data use using account related provide study findings research similar including association analysis associatted results compared number found evidence further based group table size reported et information al introduction discussion report due Priloga 4: XML procesa podobnosti podatkov izbranih s strani eksperta <?xml version="1.0" encoding="UTF-8" standalone="no"?> <process version="5.3.008"> <context> <input/> <output/> <macros/> </context> <operator activated="true" class="process" compatibility="5.3.008" expanded="true" name="Process"> <process expanded="true"> <operator activated="true" class="text:process_document_from_file" compatibility="5.3.002" expanded="true" height="76" name="Process Documents from Files" width="90" x="45" y="30"> <list key="text_directories"> <parameter key="Depresija" value="C:\Users\Podatkovno rudarenje\literatura\Korpus\DepresijaKorpus"/> <parameter key="Shizofrenija" value="C:\Users\Podatkovno rudarenje\literatura\Korpus\ShizofrenijaKorpus"/> </list> <parameter key="vector_creation" value="Binary Term Occurrences"/> <parameter key="add_meta_information" value="false"/> <parameter key="keep_text" value="true"/> <parameter key="prune_method" value="absolute"/> <parameter key="prune_below_absolute" value="2"/> <parameter key="prune_above_absolute" value="9999"/> <process expanded="true"> <operator activated="true" class="text:tokenize" compatibility="5.3.002" expanded="true" height="60" name="Tokenize" width="90" x="45" y="30"/> <operator activated="true" class="text:transform_cases" compatibility="5.3.002" expanded="true" height="60" name="Transform Cases" width="90" x="179" y="30"/> <operator activated="true" class="text:filter_stopwords_english" compatibility="5.3.002" expanded="true" height="60" name="Filter Stopwords (English)" width="90" x="313" y="30"/> <operator activated="true" class="text:filter_by_length" compatibility="5.3.002" expanded="true" height="60" name="Filter Tokens (by Length)" width="90" x="447" y="30"> <parameter key="min_chars" value="2"/> <parameter key="max_chars" value="99"/> </operator> <connect from_port="document" to_op="Tokenize" to_port="document"/> <connect from_op="Tokenize" from_port="document" to_op="Transform Cases" to_port="document"/> <connect from_op="Transform Cases" from_port="document" to_op="Filter Stopwords (English)" to_port="document"/> <connect from_op="Filter Stopwords (English)" from_port="document" to_op="Filter Tokens (by Length)" to_port="document"/> <connect from_op="Filter Tokens (by Length)" from_port="document" to_port="document 1"/> <portSpacing port="source_document" spacing="0"/> <portSpacing port="sink_document 1" spacing="0"/> <portSpacing port="sink_document 2" spacing="0"/> </process> </operator> <operator activated="true" class="data_to_similarity" compatibility="5.3.008" expanded="true" height="76" name="Data to Similarity" width="90" x="246" y="30"> <parameter key="measure_types" value="NumericalMeasures"/> <parameter key="numerical_measure" value="CosineSimilarity"/> </operator> <connect from_op="Process Documents from Files" from_port="example set" to_op="Data to Similarity" to_port="example set"/> <connect from_op="Data to Similarity" from_port="similarity" to_port="result 1"/> <portSpacing port="source_input 1" spacing="0"/> <portSpacing port="sink_result 1" spacing="0"/> <portSpacing port="sink_result 2" spacing="0"/> </process> </operator> </process> Priloga 5: XML procesa grozdenja podatkov izbranih s strani eksperta <?xml version="1.0" encoding="UTF-8" standalone="no"?> <process version="5.3.008"> <context> <input/> <output/> <macros/> </context> <operator activated="true" class="process" compatibility="5.3.008" expanded="true" name="Process"> <process expanded="true"> <operator activated="true" class="text:process_document_from_file" compatibility="5.3.002" expanded="true" height="76" name="Process Documents from Files" width="90" x="45" y="30"> <list key="text_directories"> <parameter key="Depresija" value="C:\Users\Podatkovno rudarenje\literatura\Korpus\DepresijaKorpus"/> <parameter key="Shizofrenija" value="C:\Users\Podatkovno rudarenje\literatura\Korpus\ShizofrenijaKorpus"/> </list> <parameter key="vector_creation" value="Binary Term Occurrences"/> <parameter key="add_meta_information" value="false"/> <parameter key="keep_text" value="true"/> <parameter key="prune_method" value="absolute"/> <parameter key="prune_below_absolute" value="2"/> <parameter key="prune_above_absolute" value="9999"/> <process expanded="true"> <operator activated="true" class="text:tokenize" compatibility="5.3.002" expanded="true" height="60" name="Tokenize" width="90" x="45" y="30"/> <operator activated="true" class="text:transform_cases" compatibility="5.3.002" expanded="true" height="60" name="Transform Cases" width="90" x="179" y="165"/> <operator activated="true" class="text:filter_stopwords_english" compatibility="5.3.002" expanded="true" height="60" name="Filter Stopwords (English)" width="90" x="313" y="30"/> <operator activated="true" class="text:filter_by_length" compatibility="5.3.002" expanded="true" height="60" name="Filter Tokens (by Length)" width="90" x="447" y="30"> <parameter key="min_chars" value="2"/> <parameter key="max_chars" value="99"/> </operator> <connect from_port="document" to_op="Tokenize" to_port="document"/> <connect from_op="Tokenize" from_port="document" to_op="Transform Cases" to_port="document"/> <connect from_op="Transform Cases" from_port="document" to_op="Filter Stopwords (English)" to_port="document"/> <connect from_op="Filter Stopwords (English)" from_port="document" to_op="Filter Tokens (by Length)" to_port="document"/> <connect from_op="Filter Tokens (by Length)" from_port="document" to_port="document 1"/> <portSpacing port="source_document" spacing="0"/> <portSpacing port="sink_document 1" spacing="0"/> <portSpacing port="sink_document 2" spacing="0"/> </process> </operator> <operator activated="true" class="k_means" compatibility="5.3.008" expanded="true" height="76" name="Clustering" width="90" x="246" y="30"> <parameter key="k" value="40"/> </operator> <connect from_op="Process Documents from Files" from_port="example set" to_op="Clustering" to_port="example set"/> <connect from_op="Clustering" from_port="cluster model" to_port="result 1"/> <connect from_op="Clustering" from_port="clustered set" to_port="result 2"/> <portSpacing port="source_input 1" spacing="0"/> <portSpacing port="sink_result 1" spacing="0"/> <portSpacing port="sink_result 2" spacing="0"/> <portSpacing port="sink_result 3" spacing="0"/> </process> </operator> </process> Priloga 6: XML procesa Naivni Bayes podatkov izbranih s strani eksperta <?xml version="1.0" encoding="UTF-8" standalone="no"?> <process version="5.3.008"> <context> <input/> <output/> <macros/> </context> <operator activated="true" class="process" compatibility="5.3.008" expanded="true" name="Process"> <process expanded="true"> <operator activated="true" class="text:process_document_from_file" compatibility="5.3.002" expanded="true" height="76" name="Process Documents from Files" width="90" x="45" y="30"> <list key="text_directories"> <parameter key="Depresija" value="C:\Users\Podatkovno rudarenje\literatura\Korpus\DepresijaKorpus"/> <parameter key="Shizofrenija" value="C:\Users\Podatkovno rudarenje\literatura\Korpus\ShizofrenijaKorpus"/> </list> <parameter key="prune_method" value="absolute"/> <parameter key="prune_below_absolute" value="2"/> <parameter key="prune_above_absolute" value="999"/> <process expanded="true"> <operator activated="true" class="text:transform_cases" compatibility="5.3.002" expanded="true" height="60" name="Transform Cases" width="90" x="45" y="30"/> <operator activated="true" class="text:tokenize" compatibility="5.3.002" expanded="true" height="60" name="Tokenize" width="90" x="45" y="120"/> <operator activated="true" class="text:filter_stopwords_english" compatibility="5.3.002" expanded="true" height="60" name="Filter Stopwords (English)" width="90" x="45" y="210"/> <operator activated="true" class="text:stem_snowball" compatibility="5.3.002" expanded="true" height="60" name="Stem (Snowball)" width="90" x="45" y="300"/> <operator activated="true" class="text:filter_by_length" compatibility="5.3.002" expanded="true" height="60" name="Filter Tokens (by Length)" width="90" x="313" y="30"> <parameter key="min_chars" value="2"/> <parameter key="max_chars" value="999"/> </operator> <connect from_port="document" to_op="Transform Cases" to_port="document"/> <connect from_op="Transform Cases" from_port="document" to_op="Tokenize" to_port="document"/> <connect from_op="Tokenize" from_port="document" to_op="Filter Stopwords (English)" to_port="document"/> <connect from_op="Filter Stopwords (English)" from_port="document" to_op="Stem (Snowball)" to_port="document"/> <connect from_op="Stem (Snowball)" from_port="document" to_op="Filter Tokens (by Length)" to_port="document"/> <connect from_op="Filter Tokens (by Length)" from_port="document" to_port="document 1"/> <portSpacing port="source_document" spacing="0"/> <portSpacing port="sink_document 1" spacing="0"/> <portSpacing port="sink_document 2" spacing="0"/> </process> </operator> <operator activated="true" class="select_attributes" compatibility="5.3.008" expanded="true" height="76" name="Select Attributes" width="90" x="179" y="30"/> <operator activated="true" class="set_role" compatibility="5.3.008" expanded="true" height="76" name="Set Role" width="90" x="313" y="30"> <parameter key="attribute_name" value="label"/> <parameter key="target_role" value="label"/> <list key="set_additional_roles"/> </operator> <operator activated="true" class="x_validation" compatibility="5.3.008" expanded="true" height="130" name="Validation" width="90" x="514" y="30"> <parameter key="number_of_validations" value="4"/> <process expanded="true"> <operator activated="true" class="naive_bayes" compatibility="5.3.008" expanded="true" height="76" name="Naive Bayes" width="90" x="45" y="30"/> <connect from_port="training" to_op="Naive Bayes" to_port="training set"/> <connect from_op="Naive Bayes" from_port="model" to_port="model"/> <portSpacing port="source_training" spacing="0"/> <portSpacing port="sink_model" spacing="0"/> <portSpacing port="sink_through 1" spacing="0"/> </process> <process expanded="true"> <operator activated="true" class="apply_model" compatibility="5.3.008" expanded="true" height="76" name="Apply Model" width="90" x="112" y="30"> <list key="application_parameters"/> </operator> <operator activated="true" class="performance" compatibility="5.3.008" expanded="true" height="76" name="Performance" width="90" x="246" y="30"/> <connect from_port="model" to_op="Apply Model" to_port="model"/> <connect from_port="test set" to_op="Apply Model" to_port="unlabelled data"/> <connect from_op="Apply Model" from_port="labelled data" to_op="Performance" to_port="labelled data"/> <connect from_op="Performance" from_port="performance" to_port="averagable 1"/> <portSpacing port="source_model" spacing="0"/> <portSpacing port="source_test set" spacing="0"/> <portSpacing port="source_through 1" spacing="0"/> <portSpacing port="sink_averagable 1" spacing="0"/> <portSpacing port="sink_averagable 2" spacing="0"/> <portSpacing port="sink_averagable 3" spacing="0"/> </process> </operator> <connect from_op="Process Documents from Files" from_port="example set" to_op="Select Attributes" to_port="example set input"/> <connect from_op="Select Attributes" from_port="example set output" to_op="Set Role" to_port="example set input"/> <connect from_op="Set Role" from_port="example set output" to_op="Validation" to_port="training"/> <connect from_op="Validation" from_port="model" to_port="result 1"/> <connect from_op="Validation" from_port="training" to_port="result 2"/> <connect from_op="Validation" from_port="averagable 1" to_port="result 3"/> <connect from_op="Validation" from_port="averagable 2" to_port="result 4"/> <portSpacing port="source_input 1" spacing="0"/> <portSpacing port="sink_result 1" spacing="0"/> <portSpacing port="sink_result 2" spacing="0"/> <portSpacing port="sink_result 3" spacing="0"/> <portSpacing port="sink_result 4" spacing="0"/> <portSpacing port="sink_result 5" spacing="0"/> </process> </operator> </process> Priloga 7: XML procesa k-NN podatkov izbranih s strani eksperta <?xml version="1.0" encoding="UTF-8" standalone="no"?> <process version="5.3.008"> <context> <input/> <output/> <macros/> </context> <operator activated="true" class="process" compatibility="5.3.008" expanded="true" name="Process"> <process expanded="true"> <operator activated="true" class="text:process_document_from_file" compatibility="5.3.002" expanded="true" height="76" name="Process Documents from Files" width="90" x="45" y="30"> <list key="text_directories"> <parameter key="Depresija" value="C:\Users\Podatkovno rudarenje\literatura\Korpus\DepresijaKorpus"/> <parameter key="Shizofrenija" value="C:\Users\Podatkovno rudarenje\literatura\Korpus\ShizofrenijaKorpus"/> </list> <parameter key="prune_method" value="absolute"/> <parameter key="prune_below_absolute" value="2"/> <parameter key="prune_above_absolute" value="999"/> <process expanded="true"> <operator activated="true" class="text:transform_cases" compatibility="5.3.002" expanded="true" height="60" name="Transform Cases" width="90" x="45" y="30"/> <operator activated="true" class="text:tokenize" compatibility="5.3.002" expanded="true" height="60" name="Tokenize" width="90" x="45" y="120"/> <operator activated="true" class="text:filter_stopwords_english" compatibility="5.3.002" expanded="true" height="60" name="Filter Stopwords (English)" width="90" x="45" y="210"/> <operator activated="true" class="text:stem_snowball" compatibility="5.3.002" expanded="true" height="60" name="Stem (Snowball)" width="90" x="45" y="300"/> <operator activated="true" class="text:filter_by_length" compatibility="5.3.002" expanded="true" height="60" name="Filter Tokens (by Length)" width="90" x="179" y="30"> <parameter key="min_chars" value="2"/> <parameter key="max_chars" value="999"/> </operator> <connect from_port="document" to_op="Transform Cases" to_port="document"/> <connect from_op="Transform Cases" from_port="document" to_op="Tokenize" to_port="document"/> <connect from_op="Tokenize" from_port="document" to_op="Filter Stopwords (English)" to_port="document"/> <connect from_op="Filter Stopwords (English)" from_port="document" to_op="Stem (Snowball)" to_port="document"/> <connect from_op="Stem (Snowball)" from_port="document" to_op="Filter Tokens (by Length)" to_port="document"/> <connect from_op="Filter Tokens (by Length)" from_port="document" to_port="document 1"/> <portSpacing port="source_document" spacing="0"/> <portSpacing port="sink_document 1" spacing="0"/> <portSpacing port="sink_document 2" spacing="0"/> </process> </operator> <operator activated="true" class="select_attributes" compatibility="5.3.008" expanded="true" height="76" name="Select Attributes" width="90" x="179" y="30"/> <operator activated="true" class="set_role" compatibility="5.3.008" expanded="true" height="76" name="Set Role" width="90" x="313" y="30"> <parameter key="attribute_name" value="label"/> <parameter key="target_role" value="label"/> <list key="set_additional_roles"/> </operator> <operator activated="true" class="x_validation" compatibility="5.3.008" expanded="true" height="130" name="Validation" width="90" x="514" y="30"> <parameter key="number_of_validations" value="5"/> <process expanded="true"> <operator activated="true" class="k_nn" compatibility="5.3.008" expanded="true" height="76" name="k-NN" width="90" x="45" y="30"> <parameter key="k" value="6"/> <parameter key="weighted_vote" value="true"/> <parameter key="measure_types" value="NumericalMeasures"/> <parameter key="numerical_measure" value="CosineSimilarity"/> </operator> <connect from_port="training" to_op="k-NN" to_port="training set"/> <connect from_op="k-NN" from_port="model" to_port="model"/> <portSpacing port="source_training" spacing="0"/> <portSpacing port="sink_model" spacing="0"/> <portSpacing port="sink_through 1" spacing="0"/> </process> <process expanded="true"> <operator activated="true" class="apply_model" compatibility="5.3.008" expanded="true" height="76" name="Apply Model" width="90" x="45" y="30"> <list key="application_parameters"/> </operator> <operator activated="true" class="performance" compatibility="5.3.008" expanded="true" height="76" name="Performance" width="90" x="179" y="30"/> <connect from_port="model" to_op="Apply Model" to_port="model"/> <connect from_port="test set" to_op="Apply Model" to_port="unlabelled data"/> <connect from_op="Apply Model" from_port="labelled data" to_op="Performance" to_port="labelled data"/> <connect from_op="Performance" from_port="performance" to_port="averagable 1"/> <portSpacing port="source_model" spacing="0"/> <portSpacing port="source_test set" spacing="0"/> <portSpacing port="source_through 1" spacing="0"/> <portSpacing port="sink_averagable 1" spacing="0"/> <portSpacing port="sink_averagable 2" spacing="0"/> <portSpacing port="sink_averagable 3" spacing="0"/> </process> </operator> <connect from_op="Process Documents from Files" from_port="example set" to_op="Select Attributes" to_port="example set input"/> <connect from_op="Select Attributes" from_port="example set output" to_op="Set Role" to_port="example set input"/> <connect from_op="Set Role" from_port="example set output" to_op="Validation" to_port="training"/> <connect from_op="Validation" from_port="model" to_port="result 1"/> <connect from_op="Validation" from_port="training" to_port="result 2"/> <connect from_op="Validation" from_port="averagable 1" to_port="result 3"/> <connect from_op="Validation" from_port="averagable 2" to_port="result 4"/> <portSpacing port="source_input 1" spacing="0"/> <portSpacing port="sink_result 1" spacing="0"/> <portSpacing port="sink_result 2" spacing="0"/> <portSpacing port="sink_result 3" spacing="0"/> <portSpacing port="sink_result 4" spacing="0"/> <portSpacing port="sink_result 5" spacing="0"/> </process> </operator> </process> Priloga 8: XML procesa SVM podatkov izbranih s strani eksperta <?xml version="1.0" encoding="UTF-8" standalone="no"?> <process version="5.3.008"> <context> <input/> <output/> <macros/> </context> <operator activated="true" class="process" compatibility="5.3.008" expanded="true" name="Process"> <process expanded="true"> <operator activated="true" class="text:process_document_from_file" compatibility="5.3.002" expanded="true" height="76" name="Process Documents from Files" width="90" x="45" y="30"> <list key="text_directories"> <parameter key="Depresija" value="C:\Users\Podatkovno rudarenje\literatura\Korpus\DepresijaKorpus"/> <parameter key="Shizofrenija" value="C:\Users\Podatkovno rudarenje\literatura\Korpus\ShizofrenijaKorpus"/> </list> <parameter key="prune_method" value="absolute"/> <parameter key="prune_below_absolute" value="2"/> <parameter key="prune_above_absolute" value="999"/> <process expanded="true"> <operator activated="true" class="text:transform_cases" compatibility="5.3.002" expanded="true" height="60" name="Transform Cases" width="90" x="45" y="30"/> <operator activated="true" class="text:tokenize" compatibility="5.3.002" expanded="true" height="60" name="Tokenize" width="90" x="45" y="120"/> <operator activated="true" class="text:filter_stopwords_english" compatibility="5.3.002" expanded="true" height="60" name="Filter Stopwords (English)" width="90" x="45" y="210"/> <operator activated="true" class="text:stem_snowball" compatibility="5.3.002" expanded="true" height="60" name="Stem (Snowball)" width="90" x="45" y="300"/> <operator activated="true" class="text:filter_by_length" compatibility="5.3.002" expanded="true" height="60" name="Filter Tokens (by Length)" width="90" x="179" y="30"> <parameter key="min_chars" value="2"/> <parameter key="max_chars" value="999"/> </operator> <connect from_port="document" to_op="Transform Cases" to_port="document"/> <connect from_op="Transform Cases" from_port="document" to_op="Tokenize" to_port="document"/> <connect from_op="Tokenize" from_port="document" to_op="Filter Stopwords (English)" to_port="document"/> <connect from_op="Filter Stopwords (English)" from_port="document" to_op="Stem (Snowball)" to_port="document"/> <connect from_op="Stem (Snowball)" from_port="document" to_op="Filter Tokens (by Length)" to_port="document"/> <connect from_op="Filter Tokens (by Length)" from_port="document" to_port="document 1"/> <portSpacing port="source_document" spacing="0"/> <portSpacing port="sink_document 1" spacing="0"/> <portSpacing port="sink_document 2" spacing="0"/> </process> </operator> <operator activated="true" class="select_attributes" compatibility="5.3.008" expanded="true" height="76" name="Select Attributes" width="90" x="179" y="30"/> <operator activated="true" class="set_role" compatibility="5.3.008" expanded="true" height="76" name="Set Role" width="90" x="313" y="30"> <parameter key="attribute_name" value="label"/> <parameter key="target_role" value="label"/> <list key="set_additional_roles"/> </operator> <operator activated="true" class="x_validation" compatibility="5.3.008" expanded="true" height="130" name="Validation" width="90" x="514" y="30"> <parameter key="number_of_validations" value="9"/> <process expanded="true"> <operator activated="true" class="support_vector_machine" compatibility="5.3.008" expanded="true" height="112" name="SVM" width="90" x="45" y="30"> <parameter key="kernel_type" value="anova"/> <parameter key="kernel_cache" value="300"/> <parameter key="C" value="9.0"/> </operator> <connect from_port="training" to_op="SVM" to_port="training set"/> <connect from_op="SVM" from_port="model" to_port="model"/> <portSpacing port="source_training" spacing="0"/> <portSpacing port="sink_model" spacing="0"/> <portSpacing port="sink_through 1" spacing="0"/> </process> <process expanded="true"> <operator activated="true" class="apply_model" compatibility="5.3.008" expanded="true" height="76" name="Apply Model" width="90" x="112" y="30"> <list key="application_parameters"/> </operator> <operator activated="true" class="performance" compatibility="5.3.008" expanded="true" height="76" name="Performance" width="90" x="246" y="30"/> <connect from_port="model" to_op="Apply Model" to_port="model"/> <connect from_port="test set" to_op="Apply Model" to_port="unlabelled data"/> <connect from_op="Apply Model" from_port="labelled data" to_op="Performance" to_port="labelled data"/> <connect from_op="Performance" from_port="performance" to_port="averagable 1"/> <portSpacing port="source_model" spacing="0"/> <portSpacing port="source_test set" spacing="0"/> <portSpacing port="source_through 1" spacing="0"/> <portSpacing port="sink_averagable 1" spacing="0"/> <portSpacing port="sink_averagable 2" spacing="0"/> <portSpacing port="sink_averagable 3" spacing="0"/> </process> </operator> <connect from_op="Process Documents from Files" from_port="example set" to_op="Select Attributes" to_port="example set input"/> <connect from_op="Select Attributes" from_port="example set output" to_op="Set Role" to_port="example set input"/> <connect from_op="Set Role" from_port="example set output" to_op="Validation" to_port="training"/> <connect from_op="Validation" from_port="model" to_port="result 1"/> <connect from_op="Validation" from_port="training" to_port="result 2"/> <connect from_op="Validation" from_port="averagable 1" to_port="result 3"/> <connect from_op="Validation" from_port="averagable 2" to_port="result 4"/> <portSpacing port="source_input 1" spacing="0"/> <portSpacing port="sink_result 1" spacing="0"/> <portSpacing port="sink_result 2" spacing="0"/> <portSpacing port="sink_result 3" spacing="0"/> <portSpacing port="sink_result 4" spacing="0"/> <portSpacing port="sink_result 5" spacing="0"/> </process> </operator> </process> Priloga 9: XML procesa asociacijskih pravil za depresijo <?xml version="1.0" encoding="UTF-8" standalone="no"?> <process version="5.3.008"> <context> <input/> <output/> <macros/> </context> <operator activated="true" class="process" compatibility="5.3.008" expanded="true" name="Process"> <process expanded="true"> <operator activated="true" class="text:process_document_from_file" compatibility="5.3.002" expanded="true" height="76" name="Process Documents from Files" width="90" x="45" y="30"> <list key="text_directories"> <parameter key="Depresija" value="C:\Users\Podatkovno rudarenje\literatura\Korpus\DepresijaKorpus"/> </list> <parameter key="vector_creation" value="Binary Term Occurrences"/> <parameter key="add_meta_information" value="false"/> <parameter key="keep_text" value="true"/> <parameter key="prune_method" value="absolute"/> <parameter key="prune_below_absolute" value="2"/> <parameter key="prune_above_absolute" value="9999"/> <process expanded="true"> <operator activated="true" class="text:tokenize" compatibility="5.3.002" expanded="true" height="60" name="Tokenize" width="90" x="45" y="30"/> <operator activated="true" class="text:filter_stopwords_dictionary" compatibility="5.3.002" expanded="true" height="76" name="Filter Stopwords (Dictionary)" width="90" x="45" y="120"> <parameter key="file" value="C:\Users\Dani\Documents\3 Magisterij - FIŠ\Podatkovno rudarenje\slovar.txt"/> </operator> <operator activated="true" class="text:transform_cases" compatibility="5.3.002" expanded="true" height="60" name="Transform Cases" width="90" x="45" y="210"/> <operator activated="true" class="text:filter_stopwords_english" compatibility="5.3.002" expanded="true" height="60" name="Filter Stopwords (English)" width="90" x="45" y="300"/> <operator activated="true" class="text:filter_by_length" compatibility="5.3.002" expanded="true" height="60" name="Filter Tokens (by Length)" width="90" x="179" y="30"> <parameter key="min_chars" value="2"/> <parameter key="max_chars" value="99"/> </operator> <connect from_port="document" to_op="Tokenize" to_port="document"/> <connect from_op="Tokenize" from_port="document" to_op="Filter Stopwords (Dictionary)" to_port="document"/> <connect from_op="Filter Stopwords (Dictionary)" from_port="document" to_op="Transform Cases" to_port="document"/> <connect from_op="Transform Cases" from_port="document" to_op="Filter Stopwords (English)" to_port="document"/> <connect from_op="Filter Stopwords (English)" from_port="document" to_op="Filter Tokens (by Length)" to_port="document"/> <connect from_op="Filter Tokens (by Length)" from_port="document" to_port="document 1"/> <portSpacing port="source_document" spacing="0"/> <portSpacing port="sink_document 1" spacing="0"/> <portSpacing port="sink_document 2" spacing="0"/> </process> </operator> <operator activated="true" class="numerical_to_binominal" compatibility="5.3.008" expanded="true" height="76" name="Numerical to Binominal" width="90" x="179" y="30"/> <operator activated="true" class="fp_growth" compatibility="5.3.008" expanded="true" height="76" name="FP-Growth" width="90" x="313" y="30"> <parameter key="min_number_of_itemsets" value="500"/> </operator> <operator activated="true" class="create_association_rules" compatibility="5.3.008" expanded="true" height="76" name="Create Association Rules" width="90" x="447" y="30"> <parameter key="criterion" value="lift"/> <parameter key="min_confidence" value="0.95"/> </operator> <connect from_op="Process Documents from Files" from_port="example set" to_op="Numerical to Binominal" to_port="example set input"/> <connect from_op="Numerical to Binominal" from_port="example set output" to_op="FPGrowth" to_port="example set"/> <connect from_op="FP-Growth" from_port="frequent sets" to_op="Create Association Rules" to_port="item sets"/> <connect from_op="Create Association Rules" from_port="rules" to_port="result 1"/> <portSpacing port="source_input 1" spacing="0"/> <portSpacing port="sink_result 1" spacing="0"/> <portSpacing port="sink_result 2" spacing="0"/> </process> </operator> </process> Priloga 10: XML procesa asociacijskih pravil za shizofrenijo <?xml version="1.0" encoding="UTF-8" standalone="no"?> <process version="5.3.008"> <context> <input/> <output/> <macros/> </context> <operator activated="true" class="process" compatibility="5.3.008" expanded="true" name="Process"> <process expanded="true"> <operator activated="true" class="text:process_document_from_file" compatibility="5.3.002" expanded="true" height="76" name="Process Documents from Files" width="90" x="45" y="30"> <list key="text_directories"> <parameter key="Shizofrenija" value="C:\Users\Podatkovno rudarenje\literatura\Korpus\ShizofrenijaKorpus"/> </list> <parameter key="vector_creation" value="Binary Term Occurrences"/> <parameter key="add_meta_information" value="false"/> <parameter key="keep_text" value="true"/> <parameter key="prune_method" value="absolute"/> <parameter key="prune_below_absolute" value="2"/> <parameter key="prune_above_absolute" value="9999"/> <process expanded="true"> <operator activated="true" class="text:tokenize" compatibility="5.3.002" expanded="true" height="60" name="Tokenize" width="90" x="45" y="30"/> <operator activated="true" class="text:filter_stopwords_dictionary" compatibility="5.3.002" expanded="true" height="76" name="Filter Stopwords (Dictionary)" width="90" x="45" y="120"> <parameter key="file" value="C:\Users\Dani\Documents\3 Magisterij - FIŠ\Podatkovno rudarenje\Slovar1.txt"/> <parameter key="case_sensitive" value="true"/> </operator> <operator activated="true" class="text:transform_cases" compatibility="5.3.002" expanded="true" height="60" name="Transform Cases" width="90" x="45" y="255"/> <operator activated="true" class="text:filter_stopwords_english" compatibility="5.3.002" expanded="true" height="60" name="Filter Stopwords (English)" width="90" x="179" y="255"/> <operator activated="true" class="text:filter_by_length" compatibility="5.3.002" expanded="true" height="60" name="Filter Tokens (by Length)" width="90" x="313" y="255"> <parameter key="min_chars" value="2"/> <parameter key="max_chars" value="99"/> </operator> <operator activated="true" class="text:generate_n_grams_terms" compatibility="5.3.002" expanded="true" height="60" name="Generate n-Grams (Terms)" width="90" x="447" y="30"/> <connect from_port="document" to_op="Tokenize" to_port="document"/> <connect from_op="Tokenize" from_port="document" to_op="Filter Stopwords (Dictionary)" to_port="document"/> <connect from_op="Filter Stopwords (Dictionary)" from_port="document" to_op="Transform Cases" to_port="document"/> <connect from_op="Transform Cases" from_port="document" to_op="Filter Stopwords (English)" to_port="document"/> <connect from_op="Filter Stopwords (English)" from_port="document" to_op="Filter Tokens (by Length)" to_port="document"/> <connect from_op="Filter Tokens (by Length)" from_port="document" to_op="Generate nGrams (Terms)" to_port="document"/> <connect from_op="Generate n-Grams (Terms)" from_port="document" to_port="document 1"/> <portSpacing port="source_document" spacing="0"/> <portSpacing port="sink_document 1" spacing="0"/> <portSpacing port="sink_document 2" spacing="0"/> </process> </operator> <operator activated="true" class="numerical_to_binominal" compatibility="5.3.008" expanded="true" height="76" name="Numerical to Binominal" width="90" x="45" y="165"/> <operator activated="true" class="fp_growth" compatibility="5.3.008" expanded="true" height="76" name="FP-Growth" width="90" x="45" y="300"> <parameter key="min_number_of_itemsets" value="500"/> </operator> <operator activated="true" class="create_association_rules" compatibility="5.3.008" expanded="true" height="76" name="Create Association Rules" width="90" x="246" y="300"> <parameter key="criterion" value="lift"/> <parameter key="min_confidence" value="0.95"/> </operator> <connect from_op="Process Documents from Files" from_port="example set" to_op="Numerical to Binominal" to_port="example set input"/> <connect from_op="Numerical to Binominal" from_port="example set output" to_op="FPGrowth" to_port="example set"/> <connect from_op="FP-Growth" from_port="frequent sets" to_op="Create Association Rules" to_port="item sets"/> <connect from_op="Create Association Rules" from_port="rules" to_port="result 1"/> <portSpacing port="source_input 1" spacing="0"/> <portSpacing port="sink_result 1" spacing="0"/> <portSpacing port="sink_result 2" spacing="0"/> </process> </operator> </process> Priloga 11: XML procesa korelacije podatkov <?xml version="1.0" encoding="UTF-8" standalone="no"?> <process version="5.3.008"> <context> <input/> <output/> <macros/> </context> <operator activated="true" class="process" compatibility="5.3.008" expanded="true" name="Process"> <process expanded="true"> <operator activated="true" class="text:process_document_from_file" compatibility="5.3.002" expanded="true" height="76" name="Process Documents from Files (2)" width="90" x="45" y="30"> <list key="text_directories"> <parameter key="Depresija" value="C:\Users\Podatkovno rudarenje\literatura\Korpus\DepresijaKorpus1"/> <parameter key="Shizofrenija" value="C:\Users\Podatkovno rudarenje\literatura\Korpus\ShizofrenijaKorpus1"/> </list> <parameter key="keep_text" value="true"/> <process expanded="true"> <operator activated="true" class="text:transform_cases" compatibility="5.3.002" expanded="true" height="60" name="Transform Cases (2)" width="90" x="45" y="30"/> <operator activated="true" class="text:tokenize" compatibility="5.3.002" expanded="true" height="60" name="Tokenize (2)" width="90" x="180" y="30"/> <operator activated="true" class="text:filter_stopwords_english" compatibility="5.3.002" expanded="true" height="60" name="Filter Stopwords (2)" width="90" x="315" y="30"/> <operator activated="true" class="text:stem_snowball" compatibility="5.3.002" expanded="true" height="60" name="Stem (2)" width="90" x="450" y="30"/> <operator activated="true" class="text:filter_by_length" compatibility="5.3.002" expanded="true" height="60" name="Filter Tokens (2)" width="90" x="585" y="30"> <parameter key="min_chars" value="2"/> <parameter key="max_chars" value="999"/> </operator> <connect from_port="document" to_op="Transform Cases (2)" to_port="document"/> <connect from_op="Transform Cases (2)" from_port="document" to_op="Tokenize (2)" to_port="document"/> <connect from_op="Tokenize (2)" from_port="document" to_op="Filter Stopwords (2)" to_port="document"/> <connect from_op="Filter Stopwords (2)" from_port="document" to_op="Stem (2)" to_port="document"/> <connect from_op="Stem (2)" from_port="document" to_op="Filter Tokens (2)" to_port="document"/> <connect from_op="Filter Tokens (2)" from_port="document" to_port="document 1"/> <portSpacing port="source_document" spacing="0"/> <portSpacing port="sink_document 1" spacing="0"/> <portSpacing port="sink_document 2" spacing="0"/> </process> </operator> <operator activated="true" class="set_role" compatibility="5.3.008" expanded="true" height="76" name="Set Role" width="90" x="179" y="30"> <parameter key="attribute_name" value="label"/> <parameter key="target_role" value="label"/> <list key="set_additional_roles"/> </operator> <operator activated="true" class="text_to_nominal" compatibility="5.3.008" expanded="true" height="76" name="Text to Nominal" width="90" x="313" y="30"/> <operator activated="true" class="nominal_to_numerical" compatibility="5.3.008" expanded="true" height="94" name="Nominal to Numerical" width="90" x="447" y="30"> <parameter key="include_special_attributes" value="true"/> <list key="comparison_groups"/> </operator> <operator activated="true" class="correlation_matrix" compatibility="5.3.008" expanded="true" height="94" name="Correlation Matrix" width="90" x="581" y="30"/> <connect from_op="Process Documents from Files (2)" from_port="example set" to_op="Set Role" to_port="example set input"/> <connect from_op="Set Role" from_port="example set output" to_op="Text to Nominal" to_port="example set input"/> <connect from_op="Text to Nominal" from_port="example set output" to_op="Nominal to Numerical" to_port="example set input"/> <connect from_op="Nominal to Numerical" from_port="example set output" to_op="Correlation Matrix" to_port="example set"/> <connect from_op="Correlation Matrix" from_port="matrix" to_port="result 1"/> <portSpacing port="source_input 1" spacing="0"/> <portSpacing port="sink_result 1" spacing="0"/> <portSpacing port="sink_result 2" spacing="0"/> </process> </operator> </process> Priloga 12: Ocenjevalnik za eksperta Parameter (simptom) Atribut Atribut (Depresija) (Shizofrenija) Delusions * Blodnje Hallucinations * Halucinacije Disorganized (speech) * Neorganiziran govor Grossly disorganized or catatonic behavior * Skrajno neorganizirano ali nezavestno vedenje Diminished emotional expression Negativni simptomi (na primer zmanjšano ĉustveno izraţanje) * Avolition Psihiĉno stanje, za katerega je znaĉilno splošno pomanjkanje * pogona ali motivacije za nadaljevanje pomembnih ciljev Social/occupational dysfunction Socialna / poklicna disfunkcija * (Disturbance major areas of functioning): Nastop motnje, enega ali veĉ glavnih podroĉij delovanja, kot so: work, delo, * interpersonal relations, * medosebni odnosi, self-care, * samooskrba Odd beliefs Ĉudna prepriĉanja * History of autism spectrum disorder * Zgodovina motnje avtistiĉnega spektra Communication disorder of childhood onset * Komunikacijska motnja v otroštvu (otroškem nastopu) Markedly diminshed interest or pleasure Opazno zmanjšanje zanimanja ali veselja v vseh ali skoraj vseh dejavnostih * * Signifcant weight loss or gain Signifikantna izguba ali pridobitev telesne teţe ali mase (> 5 % * telesne mase) Increase or decrease in appetite Poveĉanje ali zmanjšanje apetita * Insomnia * Nespeĉnost Retardation Psihomotoriĉna agitacija ali zaostalost * Fatigue * Utrujenost Loss of energy Izguba energije * Feelings of worthlessness or inappropriate guilt * Obĉutki niĉvrednosti ali neprimerne krivde Diminished concentration Zmanjšana koncentracija Recurrent thoughts of death or suicide Ponavljajoĉe se misli o smrti ali samomoru Grandiosity Napihnjena samopodoba ali veliĉastnosti Decreased need for sleep Zmanjšana potreba po spanju * * * * * Ocena natanĉnosti: [slabo] 1 2 3 4 5 [odliĉno] Komentar: ___________________________________________________________________________
© Copyright 2024