Kaapo Immonen Avainsanapohjaisen luonnollisen kielen käsittelyn (NLP) soveltuvuus rikosilmoitusten luokitteluun Vaasa 2024 Tekniikan ja innovaatiojohtamisen akateeminen yksikkö Tekniikan Kandidaatintutkielma Data-arkkitehtuurin koulutusohjelma 2 VAASAN YLIOPISTO Tekniikan ja innovaatiojohtamisen akateeminen yksikkö Tekijä: Kaapo Immonen Tutkielman nimi: Avainsanapohjaisen luonnollisen kielen käsittelyn (NLP) soveltuvuus rikosilmoitusten luokitteluun Tutkinto: Tekniikan kandidaatti Oppiaine: Data-arkkitehtuuri Työn ohjaaja: Maarit Välisuo Valmistumisvuosi: 2024 Sivumäärä: 62 TIIVISTELMÄ: Suomen poliisin käsiteltäväksi tulee päivittäin yli tuhat rikosilmoitusta. Verkkorikollisuuden kasvu ja rikoskokonaisuuksien jatkuva monimutkaistuminen kuormittavat resurssillisesti rajal- lista rikostutkintaa, ja siksi myös tarve kehittää uusia työkaluja menetelmiä kasvaa. Yksi poten- tiaalinen ratkaisu on käsitellä ihmisen tuottamaa tekstiä tietokoneella hyödyntäen luonnollisen kielen käsittelyä (NLP). Tässä työssä tutkitaan, miten NLP soveltuu luokittelemaan ilmoituksia rikosnimikkeisiin niissä olevan selostuksen perusteella. Työssä perehdytään luonnollisen kielen käsittelyyn dokumenttien luokittelussa ja sen edellytyk- siin. Työssä käsitellään kohinan poistamista hyödyntäen esikäsittelymenetelmiä, kuten stem- mausta ja lemmatisointia. Esitetään, miten esikäsitellyt syötteet muunnetaan numeeriseksi omi- naisavaruudeksi käyttämällä menetelmiä, kuten TF-IDF ja word embedding. Lisäksi tutkielmassa tarkastellaan, miten luokittelualgoritmi optimoidaan ja koulutetaan suorittamaan luokittelua näiden ominaisuuksien perusteella. Työssä toteutettavien mallien suorituskykyä arvioidaan vertaamalla niiden luokittelun tark- kuutta suomalaisten lainvalvontaviranomaisten manuaaliseen luokitteluun. Perinteisten NLP- menetelmien lisäksi työssä käyttöönotetaan ja hienosäädetään esikoulutettu suomenkielinen FinBERT-malli, jotta voidaan tutkia NLP:n mullistaneen transformer-arkkitehtuurin suoritusky- kyä osana vertailuasetelmaa. Mallien vertailussa esikoulutettu FinBERT-malli osoittautui yleistyskyvyltään suorituskykyisim- mäksi malliksi. Myös yksittäisten sanojen merkitystä korostavat TF-IDF-menetelmää hyödyntä- vät mallit suoriutuivat huomattavan hyvin, erityisesti käytettäessä stemmausta esikäsittelyvai- heessa. Lemmatisointiin perustuvat mallit puolestaan heikkenivät liiallisen yksinkertaistamisen vuoksi, ja word embedding -menetelmät tuottivat heikoimmat tarkkuustulokset pienen sanas- ton ja kohinan takia. Tulokset tukevat käsitystä siitä, että NLP-mallit kykenevät tunnistamaan rikosilmoitusten keskei- siä ominaisuuksia, mutta tarkkuutta voidaan parantaa etenkin esikäsittelyn ja ominaisuuksien- poiminnan kehittämisellä. FinBERT-mallin menestys osoittaa, että transformer-arkkitehtuuriin perustuvat mallit ovat erityisen suorituskykyisiä luokittelussa, joissa koulutusdata on rajallista. AVAINSANAT: Avainsanapohjainen AI, Luonnollisen kielen käsittely, NLP, Word Embedding, TF-IDF, Dokumenttien luokittelu 3 Sisällys 1 Johdanto 6 1.1 Tutkielman tavoite ja rakenne 7 2 Tutkielman tausta 9 2.1 Rikosnimikkeet 9 2.1.1 Varkaus 9 2.1.2 Näpistys 10 2.1.3 Petos 11 2.2 Luonnollisen kielen käsittely 12 2.2.1 NLP:n kehitysvaiheet 12 2.2.2 NLP ja tutkielman konteksti 14 3 Teoreettinen viitekehys 15 3.1 Rakenteeton data 15 3.2 Esikäsittely 16 3.2.1 Merkkimuunnokset ja tokenisaatio 17 3.2.2 Ominaisuuksien karsinta 18 3.3 NLP-menetelmät 19 3.3.1 TF-IDF 19 3.3.2 Word embedding 20 3.4 Luokittelualgoritmit 22 3.4.1 Logistinen regressio (LogReg) 23 3.4.2 Tukivektorikone (SVM) 24 3.5 Transformer-arkkitehtuuri 27 3.5.1 FinBERT 29 4 Kokeellinen osa 30 4.1 Käytetty aineisto 30 4.1.1 Koulutusdata 30 4.1.2 Validointidata 33 4.1.3 Vertailudata 33 4 4.2 Esikäsittelyn toteutus 35 4.3 NLP-menetelmien toteutus 36 4.3.1 TF-IDF 36 4.3.2 Word2Vec 37 4.3.3 Yhdistetyt ominaisuudet 39 4.4 Luokittelijoiden toteutus 40 4.5 FinBERT 40 4.6 Koulutusvaihe ja mallien tarkkuus 41 4.6.1 Luokittimien hyperparametrien optimointi 42 4.6.2 Ristivalidointi (CV) 43 4.6.3 Tarkkuuden mittaus 44 5 Tulokset 48 5.1 Konfuusiomatsiisit 51 6 Johtopäätökset 54 6.1 Kehityssuunnat ja suositukset 55 Lähteet 57 Liitteet 61 Liite 1. Kyselytutkimuksen ohjeistus vastaajalle 61 Liite 2. Kuratoidun vertaidulatan määritykset 62 5 Kuviot Kuvio 1. Word2Vec-menetelmän arkkitehtuurimallit (Mikolov ja muut, 2013, s. 5). 21 Kuvio 2. Esimerkki SVM:n päätöspinnasta (Vapnik & Cortes, 2024, s. 275). 25 Kuvio 3. Transformer-arkkitehtuuri (Vaswani ja muut, 2017, s. 3). 28 Kuvio 4. Ristivalidointi parametrioptimoinnissa (Scikit-learn, 2024, Luku 3.1). 44 Kuvio 5. Päätösrajapintojen kaksiulotteinen visualisointi. 47 Kuvio 6. Suorituskyvyltään tarkimpien mallien konfuusiomatriisit 51 Kuvio 7. Suorituskyvyltään heikoimpien mallien konfuusiomatriisit 53 Taulukot Taulukko 1. Datan rakenteet (Mishra & Misra, 2017, s. 742–745). 15 Taulukko 2. Koulutusdatasetin kokoonpano. 32 Taulukko 3. Vertailudatasetin koostumus. 34 Taulukko 4. Esikäsittelyn vaikutus satunnaisesti valittuun syötteeseen. 35 Taulukko 5. TF-IDF: lemmatisoidun otoksen viisi merkittävintä sanaa luokittain. 37 Taulukko 6. Käytetyn Word2Vec-mallin konfiguraatio. 38 Taulukko 7. Käytetyt FinBERT hienosäätöparametrit. 41 Taulukko 8. LogReg: optimaaliset hyperparametrit. 42 Taulukko 9. SVM: optimaaliset hyperparametrit. 43 Taulukko 10. Luokittimien validoinnin tarkkuustulokset. 45 Taulukko 11. Vertailusetin luokittelun tarkkuusarvot. 49 Lyhenteet NLP Natural Language Processing TF-IDF Term Frequency-Inverse Document Frequence FinBERT Finnish bidirectional encoder representations from transformers LogReg Logistic Regression SVM Support Vector Machine 6 1 Johdanto Poliisille kirjattujen rikosilmoitusten määrä vaihtelee vuosittain. Poliisin tietoon rikoksia ja rikkomuksia tuli vuoden 2023 aikana yhteensä 520 300, joista poliisi sai selvitettyä 67,55 % (Tilastokeskus, 2023). Valtakunnallistesti poliisin käsiteltäväksi tulee noin 1 425 ilmoitusta päivittäin. Samalla yhteiskunnan ja globaalin ympäristön muutokset moni- muotoistavat rikoksia, ja hankaloittavat rikostutkinnan toimintaympäristöä. Etenkin digi- talisaation myötä kasvanut verkkorikollisuus kuormittaa poliisia, sillä tutkintakokonai- suudet muuttuvat ja monimutkaistuvat. Rikosilmoituksen voi tehdä kuka tahansa, ja po- liisilla on velvollisuus kirjata sille rikoksena tutkittavaksi ilmoitettavat asiat (Esitutkinta- laki 805/2011, 3:1 §) sekä toimittaa päätös esitutkinnasta ilman aiheetonta viivytystä (Esitutkintalaki 805/2011, 3:11 §). Poliisin toimintaan vaikuttavat muuttuvan toimin- taympäristön ja lainsäädännön lisäksi myös henkilöstö- ja taloudelliset resurssit. Henki- löstöresurssien määrän lisääminen ei yksin ratkaise rikostutkinnan haasteita, vaan on tarve kehittää uusia työkaluja ja menetelmiä, jotka vastaavat paremmin modernin rikos- tutkinnan toimintaympäristön vaatimuksia. Luonnollisen kielen käsittely (engl. natural language processing, NLP) on kasvattanut lä- hivuosina suosiotaan tekoälypohjaisten teknologioiden, erityisesti laajojen kielimallien räjähdysmäisen kasvun myötä. NLP on tekoälyn osa-alue, jonka keskityksenä on ihmisen tuottaman kielen ymmärtäminen ja käsittely tietokoneiden avulla (Eisenstein, 2018, s. 1). Yksi luonnollisen kielen käsittelyn keskeisistä sovelluksista on dokumenttien luokittelu, jossa asiakirjat luokitellaan yhteen tai useampaan luokkaan niiden asiasisällön perus- teella. Rikosilmoitus sisältää selostusosion johon ilmoittaja kirjaa kertomuksen rikoksesta ja sen tapahtumasarjasta. Tämä ihmisen tuottama selostus toimii perustana poliisin päätök- selle siitä, epäilläänkö rikoksen tapahtuneen (Poliisi, n.d). Luonnollisen kielen käsittelyn avulla rikosilmoitusten selostusosioita voidaan analysoida automaattisesti. Selostuk- sesta voidaan automaattisesti tunnistaa oleellisia tietoja tai luokitella ilmoitus tiettyyn 7 rikosnimikkeeseen sen piirteiden perusteella, mikä nopeuttaa ilmoitusten käsittelyä ja tehostaa rikostutkintaa. 1.1 Tutkielman tavoite ja rakenne Tässä kandidaatintutkielmassa arvioidaan, kuinka luonnollisen kielen käsittelyä voidaan soveltaa rikosilmoitusten käsittelyn tehostamiseksi. Erityisesti tutkielmassa tarkastellaan, miten tarkasti avainsanapohjaisia TF-IDF- ja word embedding -menetelmiä hyödyntävät NLP-mallit luokittelevat rikosilmoituksen asianmukaiseen rikosnimikkeeseen sen selos- tuksen perusteella. Avainsanapohjainen lähestymistapa on valittu, sillä se on yksinker- tainen mutta tehokas tapa tunnistaa rikosnimikkeille tyypillisiä ominaispiirteitä, joiden perusteella luokittelu voidaan tehdä. Avainsanapohjaiset luokittelijat vaativat vähem- män koulutusdataa verrattuna syväoppimismalleihin. Tämä tekee niistä sopivia tutkiel- maan, jossa dataa ja resursseja on rajallisesti. Tutkielmassa luokiteltaviksi rikosnimik- keiksi on valittu petos, varkaus ja näpistys. Kokeellisessa osassa toteutettujen NLP-mal- lien luokittelun tuloksia verrataan suomalaisten lainvalvontaviranomaisten tekemään manuaaliseen luokitteluun. Lisäksi tutkielmassa verrataan miten syväoppimisen transformer-arkkitehtuuriin perus- tuva Virtasen ja muiden (2019) kehittämä suomen kielelle esikouluttettu FinBERT-malli (engl. Finnish bidirectional encoder representations from transformers) suoriutuu luokit- telusta verrattuna muihin tutkielmassa toteutettuihin luokittelijoihin. Kandidaatintutkielmassa pyritään vastaamaan seuraaviin kysymyksiin: 1. Soveltuuko avainsanapohjainen luonnollisen kielen käsittely rikosilmoitusten luokitteluun? 2. Miten eri menetelmät ja luokittelijat vaikuttavat luokittelun tarkkuuteen? 3. Suoriutuuko esikoulutettu syväoppimismalli paremmin kuin käyttökohteeseen rajallisella datalla koulutettu luokittelija? Kysymykset 2 ja 3 toimivat kysymyksen 1 alikysymyksinä. Alikysymysten tarkoitus on tu- kea tutkielman menetelmien valintaa, sekä ohjata tulosten perusteella tehtäviä 8 johtopäätöksiä. Tutkielmassa arvioidaan vain NLP-teknologian teknistä soveltuvuutta, eikä esimerkiksi soveltuvuutta käsitellä lainsäädännön tai eettisyyden näkökulmista. Tämä tutkielma jakautuu kolmeen pääosaan: taustaosaan, teoriaosaan ja kokeelliseen osuuteen. Seuraavassa osassa esitellään tutkielman taustaa, jossa tarkastellaan valittu- jen rikosnimikkeiden valintaa ja luonnollisen kielen käsittelyn historiaa sekä aiempia ai- heen tutkimuksia. Teoreettinen viitekehys esitetään pääluvussa 3, jossa käsitellään ko- keellisessa osassa käytettyjen konseptien ja menetelmien teoriaa sekä toimintaa. Lu- vussa tarkastellaan muun muassa datan esikäsittelyä, ominaisuuksien poimintamenetel- miä ja käytettyjä luokittelualgoritmeja. Lisäksi perehdytään transformer-arkkitehtuuriin ja siihen perustuvan FinBERT-mallin toimintaan. Pääluvut 4 ja 5 muodostavat tutkielman kokeellisen osuuden. Luvussa 4 esitellään ko- keellisessa osassa käytetty aineisto ja kuvataan teoreettiseen viitekehykseen perustuvien mallien käytännön toteutusta, niiden konfiguraatioita sekä koulutusvaiheen jälkeistä suorituskykyä. Luvussa 5 analysoidaan mallien lopullista toimivuutta ja tarkastellaan nii- den tekemää luokittelua tarkemmin. Viimeisessä pääluvussa 6 pyritään vastaamaan tut- kielman tutkimuskysymyksiin ja esittämään tulosten perusteella tunnistettuja kehitys- kohteista jatkotutkimuksia varten. 9 2 Tutkielman tausta Tässä luvussa pohjustetaan tarkemmin kandidaatintutkielmaan valittuja rajauksia, sekä esitetään tutkielmalle keskeisiä taustamateriaaleja. Ensimmäisessä alaluvussa esitetään tutkielmaan valitut rikosnimikkeet ja niiden merkittävyys tutkielmalle. Toisessa alalu- vussa esitellään NLP-teknologian keskeiset kehitykset sekä tutustutaan muihin tutkiel- malle relevantteihin luonnollisen kielen käsittelyn tutkimuksiin. 2.1 Rikosnimikkeet Rajallisten resurssien, etenkin käytettävissä olevan datan takia kandidaatintutkielmaan on valittu kolme rikosnimikettä, joiden perusteella NLP-mallien koulutus ja luokittelu suoritetaan. Kolme rikosnimikettä luo moniluokkaisen asetelman, joka on tutkielmalle riittävä arvioidessa avainsanapohjaisen luonnollisen kielen käsittelyn soveltuvuutta pi- täen samalla työmäärän tutkielmalle sopivana. Seuraavissa alaluvuissa esitetään tutkiel- maan valitut rikosnimikkeet sekä perustellaan niiden sopivuutta. 2.1.1 Varkaus Suomen rikoslaissa varkaus määritetään seuraavasti: Joka anastaa toisen hallusta irtainta omaisuutta, on tuomittava varkaudesta sak- koon tai vankeuteen enintään yhdeksi vuodeksi kuudeksi kuukaudeksi. Yritys on rangaistava. (Rikoslaki 769/1990, 28:1 §) Nimikkeenä varkaus on varkausrikosten perusmuotoinen teko. Muut varkausrikokset ku- ten näpistys tai törkeä varkaus sisältävät varkauden tunnusmerkkien lisäksi erikseen määritettyjä ominaispiirteitä tai seikkoja. Tilastokeskuksen (2023) mukaan vuonna 2023 kaikista viranomaisten tietoon tulleista ri- koksista noin neljäsosa oli varkausrikoksia, ja rikoksista n. 45 % sarjoittuivat 10 nimikkeeseen varkaus. Vuonna 2023 varkausrikosten selvitysprosentti oli 37,4 %, ja var- kaus-nimikkeen selvitysprosentti oli huomattavasti matalampi: vain 16,1 %. Beukerin (2023, s. 117) mukaan matalaan selvitysprosenttiin vaikuttaa muun muassa yksinkertai- set, mutta tutkinnallisesti vaikeasti selvitettävät rikokset kuten polkupyörävarkaudet. Beuker perustelee, että selvitysaste voi nousta merkittävästi poliisin onnistuessa selvit- tämään joitakin laajoja rikossarjoja kyseisenä vuonna. Varkaus on valittu tutkielmaan rikosnimikkeeksi, koska se on yhteiskunnallisesti näkyvä sekä tilastollisesti merkittävä osa Suomessa tapahtuvaa rikollisuutta. Luonnollisen kielen käsittely voi tehostaa ilmoitusten käsittelyä automatisoimalla rikosten luokittelua, no- peuttaen käsittelyaikoja. Laajemmin kehitettynä NLP-malli voisi esimerkiksi tunnistaa il- moituksia, jotka ovat selvitettävissä tai potentiaalisesti toisen rikoksen kanssa sarjoittu- via. Automaattinen sarjoitus nopeuttaisi rikosten välisien yhteyksien selvittämistä, ja aut- taa viranomaisia tilannekuvan muodostamisessa sekä operatiivisen toiminnan ohjaami- sessa. 2.1.2 Näpistys Näpistys on toinen tutkielmaan valittu varkausrikos, ja on Suomen rikoslaissa määritetty seuraavasti: Jos varkaus, huomioon ottaen anastetun omaisuuden arvo tai muut rikokseen liit- tyvät seikat, on kokonaisuutena arvostellen vähäinen, rikoksentekijä on tuomittava näpistyksestä sakkoon. Yritys on rangaistava. (Rikoslaki 769/1990, 28:3 §) Näpistys on lievempi muoto varkaudesta. Tilastokeskuksen (2023) mukaan n. 53 % kai- kista vuonna 2023 kirjatuista varkausrikoksista oli näpistyksiä. Tilastoista ilmenee, että näpistysten selvitysprosentti varkausrikoksista korkein: 55,6 %. Beuker (2023, s. 117) pe- rustelee korkeaa selvitysastetta rikostyypin ilmitulotavasta. Hänen mukaansa näpistys tulee yleensä ilmi tekijän jäädessä paikan päällä kiinni, jolloin se voidaan suoraan kirjata selvitetyksi. 11 Rikoslain määritelmän mukaan anastetun omaisuuden arvo on keskeisessä asemassa määrittäessä tekoa varkauden ja näpistyksen välillä (RL 28:3 §). Laissa ei kuitenkaan mää- ritellä tarkkaa rajaa omaisuuden arvolle, jonka perusteella teko on näpistys. Kihlakunnan syyttäjä Pörsti sekä oikeustieteen tohtori Paukku on esittänyt Savolaisen (2024, s. 9) opinnäytetyössä näpistyksen rahamääräiseksi rajaksi 500 euroa. Savolaisen mukaan sa- maa määritystä käytetään Poliisiammattikorkeakoulussa sekä Sisä-Suomen poliisilaitok- sella. Lakisäädännön tulkinnanvaraisuus vaikeuttaa mahdollisten automaatioratkaisui- den tai -teknologioiden käyttöönottamista, sillä järjestelmät vaativat tarkkoja määritel- miä suorittaakseen esimerkiksi luokittelua tarkasti. Näpistys on valittu tutkielmaan, koska se on yhteiskunnallisen merkityksen lisäksi vah- vasti liitännäinen nimikkeeseen varkaus. Valitsemalla kaksi varkausrikosta, voidaan pa- remmin arvioida NLP-mallin kykyä hahmottamaan kahden samankaltaisen nimikkeen vä- liset erot. 2.1.3 Petos Kolmas tutkielmaan valittu rikosnimike on petos. Petoksen määritelmä rikoslaissa on seuraava: Joka, hankkiakseen itselleen tai toiselle oikeudetonta taloudellista hyötyä taikka toista vahingoittaakseen, erehdyttämällä tai erehdystä hyväksi käyttämällä saa toi- sen tekemään tai jättämään tekemättä jotakin ja siten aiheuttaa taloudellista va- hinkoa erehtyneelle tai sille, jonka eduista tällä on ollut mahdollisuus määrätä, on tuomittava petoksesta sakkoon tai vankeuteen enintään kahdeksi vuodeksi. Petoksesta tuomitaan myös se, joka 1 momentissa mainitussa tarkoituksessa dataa syöttämällä, muuttamalla, tuhoamalla tai poistamalla taikka tietojärjestelmän toi- mintaan muuten puuttumalla saa aikaan tietojenkäsittelyn lopputuloksen vääris- tymisen ja siten aiheuttaa toiselle taloudellista vahinkoa. Yritys on rangaistava. (Ri- koslaki 769/1990, 36:1 §) Petos on nimikkeenä petosrikoksen perusmuotoinen teko. Viimeisen vuosikymmenen aikana petosrikosten määrä on kaksinkertaistunut (Beuker, 2023, s. 104). Beuker perus- telee kasvua tietotekniikan kehittymisellä, joka on mahdollistanut tekotavaltaan täysin 12 uudenlaisia petosrikoksia. Tilastokeskuksen (2023) mukaan vuotena 2023 petosrikoksia kirjattiin yhtensä 41 889. Petosrikosten rikoshyöty on mittava, vaikka petosrikokset muodostavat vain noin 8 % kai- kista poliisin tietoon tulleista rikoksista. Finanssiala ry:n (2024) pankeilta kerättyjen tie- tojen mukaan vuonna 2023 petoshuijauksien yritetty kokonaisrikoshyöty Suomessa oli 76,9 miljoonaa euroa. Suomalaisilta huijattu rikoshyöty oli 44,2 miljoonaa euroa, sillä pankit onnistuivat torjumaan tai palauttamaan noin 43 % huijareille menevistä varoista. Huijausmäärät jatkavat kasvuaan, ja vuoden 2024 ensimmäisellä puoliskolla huijausten yritetty rikoshyöty oli jo 45,7 miljoonaa euroa (Finanssiala, 2024). Lisäksi Beuker (2023, s. 115) kertoo, että omaisuusrikoksista yhä suurempi osa on siirtynyt verkkoon. Petos on valittu tutkielmaan, koska se on merkittävyyden lisäksi tekotavaltaan eriävä var- kausrikoksista. Kolmannella rikosnimikkeellä tutkielmaan saadaan luotua moniluokkai- sen luokittelun asetelma, joka on kaksiluokkaista luokittelua sopivampi, sillä realistisesti rikosnimikkeitä on enemmän kuin kaksi. Kaksiluokkainen luokittelu olisi sopiva, mikäli haluttaisiin rikosnimikkeeseen luokittelun sijaan esimerkiksi tunnistaa selostuksesta, onko rikosta ylipäätänsä tapahtunut. Petosrikokset ovat yhä enemmän esillä julkisuu- dessa, koska ne aiheuttavat valtakunnallisesti mittavia taloudellisia menetyksiä suoma- laisille. Tehostamalla ilmoitusten käsittelyä saataisiin nopeammin tietoa esimerkiksi uu- sista tekotavoista, joiden avulla petoksia voidaan tutkia ja ennaltaehkäistä entistä tehok- kaammin. 2.2 Luonnollisen kielen käsittely 2.2.1 NLP:n kehitysvaiheet Luonnollisen kielen käsittelystä, menetelmistä ja niiden soveltuvuudesta eri käyttökoh- teisiin on laajasti tutkimuksia läpi teknologian kehitysvaiheiden. Varhaiset 1980- ja 1990- luvun NLP-menetelmät perustuivat sääntöpohjaisiin, ennalta määritettyihin sanastoihin 13 ja kielioppisääntöihin. Marcus (1993) esittelee Penn Treebank -nimisen esikäsitellyn laa- jan englanninkielisen korpuksen, jossa jokaiselle lauseelle on määritelty erikseen syntak- tinen jäsennys. Jokaiselle Penn Treebank -korpuksen sanalle on määritetty sen osasyno- nyymi sekä syntaktinen rooli lauseessa. Penn Treebankin annotaatio on ollut perustana monessa syntaktisen jäsennyksen mallissa sekä koneoppimisalgoritmien kehityksessä. 1990-luvun loppupuolella etenkin dokumenttien luokittelussa alkoi siirtymä tilastollisiin menetelmiin perustuviin NLP-malleihin. Joachims (1998) demonstroi julkaisussaan, kuinka Vapnikin ja Cortesin kehittämää tukivektorikonetta (engl. Support vector machine, SVM) voidaan hyödyntää tekstien luokittelussa. Tilastollisiin menetelmiin perustuvien mallien etuna on niiden kyky oppia piirteitä ja todennäköisyyksiä korpuksesta, ilman erik- seen määriteltyjä sääntöjä. 2010-luvulla Mikolov ja muut (2013) esittelevät julkaisussaan, kuinka sanoja sekä niiden muodostamien lauseiden välisiä semanttisia suhteita voidaan mallintaa ja käsitellä ma- temaattisina sanavektoreina. Mikolov ja muut esittelevät kehittämänsä neuroverkko- pohjaisen Word2Vec-algoritmin, joka muuntaa syötetyn korpuksen vektoriavaruudeksi. Termi word embedding tarkoittaa asiayhteyden mukaan sanan vektoriesitysmuotoa tai prosessia, jossa sanat muunnetaan vektorimuotoon. Word embedding on NLP-menetel- mänä laajasti käytetty etenkin kone- ja syväoppimisessa. Yksi NLP:n ja syväoppimisen uusimmista kulmakivistä on transformer-arkkitehtuuri, jonka itsehuomio-mekanismi (engl. self-attention) mahdollistaa syötteiden rinnakkaisen prosessoinnin, parantaen mallin koulutusnopeutta huomattavasti (Vaswani ja muut, 2017, s. 6–7). Julkaisun transformer-arkkitehtuuriin perustuva malli suoriutui paremmin kuin perinteisimpiin RNN tai LSTM neuroverkkorakenteisiin pohjautuvat mallit. Transfor- mer-arkkitehtuuri toimii perustana suosioon nousseille esikoulutetuille laajoille kielimal- leille kuten GPT, Claude, Gemini ja BERT. 14 2.2.2 NLP ja tutkielman konteksti Luonnollisen kielen käsittelyä ja sen soveltuvuutta tukemaan turvallisuusviranomaisten toimintaa on tutkittu jonkin verran. Vysotka ja muut (2022) demonstroivat konferenssi- julkaisussa, kuinka NLP-menetelmiä käyttämällä voidaan analysoida rikosilmoituksia tai tunnistaa disinformaatiota ja propagandaa. Etenkin rikollisuuden osa-alueella tutkimuk- set keskittyvät NLP-menetelmien hyödyntämiseen luokittaessa rikollisuuteen liittyviä uu- tisartikkeleita asianmukaisiin rikoslaissa säädettyihin nimikkeisiin tai oikeudenkäynnin prosessin tunnistamiseen rikosasian ja siviiliasian välillä (Bonisoli ja muut, 2021; Shilas- kar ja muut, 2024; Tomar ja Gupta, 2023). Rikoksesta kertovan uutisartikkelin sekä itse rikoksen rikosilmoituksessa voi kuitenkin olla paljon eroavaisuuksia. Esimerkiksi käytetty sanasto, esitetyt yksityiskohdat, tai muun rikostutkinnallisesti tärkeän tiedon muoto voi olla hyvin eriävä uutisen ja rikosilmoituksen välillä. Uutisessa kohderyhmänä on laaja lu- kijayleisö, ja rikosilmoituksessa sitä tutkiva viranomainen. Suomen kielellä aihetta ei ole juurikaan julkisesti tutkittu rikosten luokittelun konteks- tissa. Kuitenkin suomenkielisiä tutkimuksia, joissa käytetään NLP-menetelmiä sovelletta- viin käyttökohteisiin, on saatavilla. Diplomityössään Mähönen (2013) käyttää NLP-mene- telmiä ja luokittelualgoritmeja tekstin luokittelussa. Muita esimerkkejä NLP:n sovelluk- sista suomenkielisen tekstin luokitteluun on vahingon syyn ennustaminen vahingonku- vauksesta sekä uutisten luokittelu sen otsikon perusteella (Jokela, 2022; Mansikka, 2020). Näissä tutkielmissa käytetyt NLP-menetelmät eivät ole riippuvaisia käsiteltävän datan kontekstista, ja ovat sovellettavissa tutkielman tekniseen toteutukseen. Aikaisemmissa tutkielmissa keskitys on ollut lähinnä eri luokittelualgoritmien vertailussa, eikä esimer- kiksi tutkimuksissa olla mitattu miten sama luokittelija suoriutuu käytettäessä eriäviä esi- käsittelyn ja ominaisuudenpoiminnan menetelmiä. 15 3 Teoreettinen viitekehys Tässä luvussa esitetään tutkielmalle keskeiset käsitteet ja teoriat. Luvussa perehdytään etenkin kokeellisessa osassa käytettyihin menetelmiin, jotta voidaan paremmin ymmär- tää niiden toiminta ja toiminnalliset vaatimukset. Kahdessa ensimmäisessä alaluvussa tunnistetaan tutkielmassa käsiteltävän datan rakenne, ja pohjustetaan sille suoritettavan esikäsittelyn merkitys. Kolmannessa alaluvussa käsitellään valittuja NLP-menetelmiä, joita hyödynnetään luokittelualgoritmien koulutuksessa. Neljäs alaluku käsittelee valit- tuja SVM- ja logistisen regression luokittelijoita. Viimeisessä alaluvussa esitetään tar- kemmin transformer-arkkitehtuuria, johon tutkielmassa käytetty esikoulutettu FinBERT- malli perustuu. 3.1 Rakenteeton data Tietojenkäsittelyssä data voidaan jakaa kolmeen luokkaan sen rakenteen perusteella: ra- kenteellinen, semirakenteellinen ja rakenteeton data. Datan rakenne määrittää sen käyt- tömahdollisuudet sekä luo perustan tarvittaville toimenpiteille, joiden avulla dataa voi- daan hyödyntää haluttuun käyttötarkoitukseen. Taulukossa 1 esitetään Mishran ja Mis- ran (2017) käyttämät määritelmät ja käytännön esimerkit datan rakenneluokille. Taulukko 1. Datan rakenteet (Mishra & Misra, 2017, s. 742–745). Datan rakenne Ominaisuudet Esimerkki Rakenteellinen Organisoitua dataa, jolla on selkeä ra- kenne. Suoraan käytettävää. Relaatiotietokannan tietueet Semirakenteel- linen Ei kiinteää rakennetta, mutta sisältää ra- kennetta jäsentäviä elementtejä. XML, JSON, sähköposti Rakenteeton Ei määritettyä rakennetta. Vaatii tiedon- louhintaa. Vapaamuotoinen teksti, kuvat, videot 16 Taulukon 1 määritysten nojalla rikosilmoitus voidaan luokitella semirakenteelliseksi da- taksi, sillä ilmoitus sisältää jäsenneltyä tietoa ilmoittajasta ja rikoksen ajankohdasta, mutta myös vapaamuotoista ihmisen tuottamaa tekstiä ilmoituksen selostusosiossa. Tut- kielman tavoitteena on tutkia luonnollisen kielen käsittelyn soveltuvuutta luokittele- maan ilmoitus rikosnimikkeeseen sen selostuksen perusteella, joten tutkielmassa käsi- tellään pelkästään rakenteetonta dataa. Seuraavassa alaluvussa käsitellään rakenteetto- malle datalle tehtävää esikäsittelyä. 3.2 Esikäsittely Luonnollisen kielen käsittelyn yksi keskeisistä haasteista on syötteiden käsittely ennen kielellistä prosessointia. Koska NLP pyrkii käsittelemään luonnollista eli ihmisen tuotta- maa kieltä, pitää syötteiden käsittelyssä ottaa huomioon käsiteltävän kielen kieliopilliset säännöt, jotta lauseiden semantiikka säilyy. Suomenkieliseen luonnollisen kielen käsitte- lyyn on saatavilla kattavasti resursseja. Erityisen hyödyllinen on suomalaisten yliopisto- jen, CSC:n ja Kotimaisten kielten keskuksen muodostaman FIN-CLARIN-konsortion yllä- pitämä Kielipankki. Kielipankki tarjoaa runsaasti hyödyllistä aineistoa ja valmiita NLP työ- kaluja, kuten Turun yliopiston ylläpitämä suomen kielellä esikoulutetun FinBERT-mallin (Kielipankki, n.d). Rajallisten resurssien takia tutkielmassa keskitytään vain NLP-menetelmien toimivuuden kannalta tärkeisiin, etenkin ominaisuuksien valintaan liittyviin esikäsittelyvaiheisiin. Tut- kielmassa oletetaan, että käsiteltävä teksti on suomenkielistä, eikä sisällä kirjoitusvir- heitä tai kieleen kuulumattomia merkintöjä. Rajauksien tarkoitus on keskittää tutkielma käsittelemään NLP-menetelmiä. Mähönen (2013, s. 40–44) perustee, että tietokone ei ymmärrä tekstiä samalla tavalla kuin ihminen, ja pelkästään mahdollisten kirjoitusvirhei- den käsittely vaatisi huomattavasti lisätoimenpiteitä syötteiden esikäsittelyssä. 17 Datan esiprosessoinnilla pyritään yhtenäistämään syötteet poistamalla luokituksen kan- nalta epäolennaiset osat datasta, ja siten vähentämään datassa olevaa kohinaa (Man- sikka, 2020, s. 8). Kohinan poistaminen parantaa tarkkuutta vähentämällä käsiteltävien alkioiden määrää. Kohinan poistaminen on merkittävässä asemassa tutkielmalle, sillä käytettävän datasetin rajallisuuden myötä on välttämätöntä, että malli keskittyy käsitte- lemään vain aidosti merkittäviä piirteitä. 3.2.1 Merkkimuunnokset ja tokenisaatio Yksinkertaisin tapa yhtenäistää käsiteltävää dataa lienee merkkimuunnokset. Esikäsitte- lynä merkistöä voidaan yksinkertaistaa esimerkiksi muuttamalla kaikki kirjaimet pieniksi kirjaimiksi tai poistamalla välimerkit ja numerot. Mansikka (2020, s. 8) muistuttaa, että esikäsittelyssä tehdyt toimenpiteet voivat johtaa datassa olevien semanttisten merkityk- sen menettämiseen. Esikäsittelyä toteuttaessa on tärkeä tunnistaa datasta tarvittava tieto, sekä pohtia miten eri toimenpiteet vaikuttavat halutun tiedon eheyteen. Tässä tut- kielmassa tutkitaan avainsanapohjaisen toteutuksen soveltuvuutta luokitteluun, joten esimerkiksi numerot ja välimerkit poistetaan osana esikäsittelyä. On kuitenkin tiedostet- tava, että esikäsitellyistä selostuksista ei voida myöhemmin enää poimia esimerkiksi kel- lonaikoja, tili- tai puhelinnumeroita. Merkkimuunnosten lisäksi toinen esikäsittelyssä suoritettava toimenpide on tokenisointi (engl. tokenization). Mähösen (2013, s. 36) mukaan tokenisoinnissa käsiteltävästä teks- tistä paikannetaan sanarajat, joiden avulla teksti voidaan jakaa pienempiin osiin. Tokeni- saatio on esivaatimus monessa NLP-menetelmässä. Lisäksi se parantaa datan käsiteltä- vyyttä muissa esikäsittelyn vaiheissa. Jokelan (2022, s 11) mukaan tokenisaatio voi olla yksinkertainen toimenpide, jossa sanat erotellaan toisistaan tekstissä olevien välilyön- tien perusteella. Sofistikoituneemmat menetelmät voivat ottaa huomioon myös muita seikkoja sanarajojen paikannuksessa. Myös tokenisaatiota tehdessä on muistettava, että valittu menetelmä voi vaikuttaa käsiteltävän tiedon eheyteen tai sisällön merkitykseen. Esimerkiksi kaksiosaiset käsitteet voivat menettää tai muuttaa merkitystä tokenisoidessa 18 välilyöntien perusteella, ja esimerkiksi musta aukko muuttuisi erikseen käsiteltäviksi to- keneiksi musta ja aukko. 3.2.2 Ominaisuuksien karsinta Ominaisuuksien karsinnalla tai valinnalla tarkoitetaan menetelmiä, joilla käsiteltävää tekstiä yhtenäistetään entisestään kohinan vähentämiseksi (Mansikka, 2020, s.8). Karsin- nalla vähennetään myös käsiteltävien merkkien määrää, johtaen parempaan suoritusky- kyyn. Merkkimuunnosten lisäksi esikäsittelyn aikana voidaan poistaa yleisesti esiintyvät sanat, joilla ei tilastollista merkittävyyttä. Näitä sulkusanoiksi (engl. stop words) kutsut- tuja sanoja esiintyy usein jokaisessa dokumentissa sen luokasta riippumatta, tehden sa- noista merkityksettömiä luokittelun kannalta. Mähösen (2013. s 44) mukaan sulkusanat voidaan poistaa hyödyntäen tilastollisia menetelmiä tai käyttämällä valmiita sulkusa- nalistoja, jotka sisältävät kielessä yleisimmin esiintyvät sanat. Suomen kielessä sulkusa- nojen esimerkkinä Mähönen käyttää Kotimaisten kielten keskuksen listaamia useimmin esiintyviä sanoja kuten: on, ja, se, siksi ja tämä. Suomen kielessä esiintyy paljon eri sana- ja taivutusmuotoja, jotka aiheuttavat kohinaa käsiteltävässä datassa. Tietokone ei kykene esimerkiksi hahmottamaan, että sana pankin ja pankkien ovat taivutusmuotoja sanasta pankki. Manning (Mähönen, 2013, s. 14) esit- tää, että kirjoitusasuun liittyviä haasteita voidaan ratkaista hyödyntäen stemmausta tai lemmatisointia. Hyödyntäessä perusmuotoistamista eli lemmatisointia muutetaan jokai- nen käsiteltävässä datassa esiintyvä sana sen perusmuotoon. Esimerkiksi sanat pankin ja pankkien muutettaisiin perusmuotoon pankki. Stemmaus on suoraviivaisempi mene- telmä, jossa sanasta poistetaan sen loppuosaan liitetty taivutusmuoto. Stemmausta käyttäessä karsittaisiin sana pankin muotoon pan sekä sana pankkien muotoon pank. Tässä tapauksessa lemmanisointi yhtenäistää ominaisuuksia enemmän verrattuna stem- maukseen. Menetelmien välillä valitessa kannattaa pohtia, halutaanko tiettyjen sana- muotojen merkitys säilyttää. 19 3.3 NLP-menetelmät Tässä osiossa syvennytään tutkielmassa käytettyihin luonnollisen kielen käsittelyn me- netelmiin ja niiden taustalla olevaan teoriaan. On huomioitava, että esikäsittelyosiossa esitettyjä toimenpiteitä kuten tokenisaatio, sulkusanojen poisto, stemmaus ja lemmati- sointi voidaan myös mieltää NLP-menetelmiksi. Tässä osiossa käsitellään niitä prosesseja, joilla käsiteltävä luonnollinen kieli muunnetaan numeraaliseen muotoon, jota tietoko- neet pystyvät käsittelemään. Menetelmien tavoitteena on säilyttää käsiteltävän luonnol- lisen kielen ominaispiirteitä vielä muunnoksen jälkeen. 3.3.1 TF-IDF TF-IDF (engl. Term Frequency-Inverse Document Frequence) on menetelmä, joka koros- taa sanojen tärkeyttä suhteessa niiden esiintymistiheyteen, muuntaen samalla luonnol- lisen kielen numeeriseen vektorimuotoon. TF-IDF koostuu kahdesta osasta: termifrek- venssistä (engl. Term Frequency, TF) eli esiintymistiheydestä, sekä käänteisestä doku- menttitiheydestä (engl. Inverse Document Frequence, IDF). Kaavassa 1 on esitetty, miten yksittäisen termin esiintymistiheys voidaan laskea dokumentista. Termi 𝑡𝑖 on laskettavan termin esiintymiskertojen lukumäärä, ja termi d vuorostaan kaikkien termien lukumäärä dokumentissa. 𝑇𝐹(𝑡𝑖, 𝑑) = 𝑡𝑖 𝑑 . (1) Kaavalla 1 voidaan esimerkiksi selvittää, että aiemmassa kappaleessa sanan termi esiin- tymistiheys on noin 0.034. Samalla korostuu myös esikäsittelyn rooli, sillä käytettäessä lemmatisointia sanan termi esiintymistiheys olisi noin 0.068. Käänteisellä dokumenttiyhteydellä voidaan laskea jokaiselle termille IDF-arvo, joka ku- vaa termin harvinaisuutta koko dokumenttikokoelmassa. Mitä harvemmin termi esiintyy käsiteltävissä dokumenteissa, sitä suurempi sen IDF-arvo. Kaavassa 2 on esitetty 20 matemaattinen yhtälö IDF-arvon laskemiseen, missä termi N on dokumenttien luku- määrä ja termi 𝑛𝑖 on niiden dokumenttien määrä, joissa termi 𝑡𝑖 esiintyy. 𝐼𝐷𝐹(𝑡𝑖) = log 𝑁 𝑛𝑖 . (2) Robertson (2004) käsittelee julkaisussaan käänteisen dokumenttiyhteyden tehokkuutta tilastollisena menetelmänä. Hänen mukaansa IDF:n tehokkuus perustuu sen onnistunee- seen implementaatioon intuitiosta, jonka mukaan useassa dokumentissa monesti esiin- tyvä termi ei ole hyvä tilastollinen diskriminaattori. Mikäli dokumenteista ei esikäsitte- lyssä karsittaisi sulkusanoja, saisivat nämä sanat matalan IDF-arvon. Sulkusanojan karsi- misen seurauksena ei tarvitse laskea IDF-arvoja termeille, jotka on tunnistettu etukäteen merkitsemättömiksi. Yhdistämällä termifrekvenssi ja käänteinen dokumenttiyhteys saadaan menetelmä, jolla voidaan laskea termin tärkeys suhteessa sen esiintymistiheyteen. Yhdistetty TF-IDF las- kukaava voidaan esittää yhtälöllä 𝑇𝐹𝐼𝐷𝐹(𝑡𝑖, 𝑑, 𝐷) = 𝑡𝑖 𝑑 × log 𝑁 𝑛𝑖 . (3) Robertsonin (2004, s. 503) mukaan yhdistetty TF-IDF menetelmä on osoittautunut varsin tehokkaaksi ja vaikeasti voitettavaksi, jonka takia se on laajasti käytetty tiedonhaun ja luonnollisen kielen käsittelyn tekniikoissa. Menetelmä on valittu tutkielmaan sen avain- sanapohjaisuuden takia. TF-IDF kykenee tunnistamaan dokumenttiluokille eli rikosnimik- keille tiettyjä merkityksellisiä sanoja, jonka perusteella luokittelu voidaan suorittaa. 3.3.2 Word embedding Word embedding perustuu sanojen esittämiseen vektoreina moniulotteisessa vekto- riavaruudessa siten, että syntaksisesti ja semanttisesti samankaltaiset sanat sijoittuvat 21 lähelle toisiaan (Mikolov ja muut, 2013). Menetelmän on havaittu kykenevän esittämään tehokkaasti semanttisesti toisilleen merkittäviä sanoja. Esimerkiksi kun koulutetusta mallista sanan mies vektorimuoto vähennettiin sanojen kuningas ja nainen vektoreiden summasta, saatiin tulokseksi vektoriesitys sanalle kuningatar (Mikolov ja muut, 2013, s. 2). Tutkielmassa käytetään Mikolovin ja muiden (2013) kehittämää Word2Vec-menetel- mää. Word2Vec algoritmin toteutus perustuu yksinkertaiseen, yhden piilokerroksen si- sältävään neuroverkkomalliin. Mallin toiminta riippuu käytettävästä arkkitehtuurimal- lista. Kuviossa 1 on esitetty Word2Vec:n kaksi arkkitehtuurimallia: Continuous Bag-of- Words (CBOW) ja Skip-gram. Kuvio 1. Word2Vec-menetelmän arkkitehtuurimallit (Mikolov ja muut, 2013, s. 5). Kuvion 1 vasemmalla esitetty CBOW-arkkitehtuuri perustuu kohdesanan ennustamiseen sille annetun kontekstin perusteella. CBOW-arkkitehtuuria käytettäessä kontekstisanat w(t±n) asetetaan vektoreinaan samaan projektioavaruuteen, jonka jälkeen niistä laske- taan keskiarvo (Mikolov ja muut, 2013, s. 4). Ennustettavaksi kohdesanaksi w(t) valitaan se mallin sanastosta löytyvä sana, jonka vektoriesitys vastaa parhaiten laskettua keskiar- vovektoria. Mikolov ja muut (2013, s. 4) kutsuu esittelemäänsä mallia nimellä CBOW, sillä 22 toisin kuin perineinten bag-of-words-malli, se käyttää jatkuvaa, jakautunutta esitysmuo- toa kontekstin esittämiseen. Käytännössä esitysmuodolla tarkoitetaan sanojen moni- ulotteisten vektorimuotojen esittämistä samassa projektioavaruudessa. Kuvion 1 oikealla esitetyn Skip-gram-arkkitehtuurin toimita on käänteinen: malli pyrkii ennustamaan kontekstisanat annetun kohdesanan perusteella. Malli ottaa syötteeksi kohdesanan w(t) ja ennustaa sanoja w(t±n), joiden vektoriesitykset ovat projek- tioavaruudessa lähellä käsiteltävää kohdesanaa (Mikolov ja muut, 2013, s. 4–5). Molemmissa arkkitehtuurimallien toiminnassa on omat vahvuutensa. CBOW-malli on toimintamallinsa takia nopeampi kouluttaa, sillä malli ennustaa yhden sanan lasketun keskiarvon perusteella, kun taas skip-gram laskee puolestaan usean ennustettavan kon- tekstisanan. Toisaalta skip-gram kykenee ennustamaan harvinaisempiakin sanoja, koska se oppii yksittäisten sanojen suhteet kontekstiin. Tutkielman kokeellisessa osassa Word2Vec ajetaan käyttäen skip-gram-arkkitehtuuria, koska se tarjoaa erilaisen lähesty- mistavan käsiteltävän luonnollisen kielen ymmärtämiseen. Yhdistämällä skip-gram-mal- lin vektoriesitykset TF-IDF arvoilla, voidaan huomioida termien tärkeys suhteessa kon- tekstiin. Täten Skip-gram mahdollistaa tärkeiden sanojen painottamisen TF-IDF-arvojen avulla paremmin kuin CBOW-arkkitehtuuri. 3.4 Luokittelualgoritmit Aiemmassa alaluvussa esitetyt NLP-menetelmät eivät itsessään suorita luokittelua, vaan tuottavat käsiteltävästä tekstistä numeraalisia ominaispiirteitä. Jotta ominaispiirteiden perusteella voidaan suorittaa varsinainen luokittelu, tarvitaan erillinen luokittelualgo- ritmi. Tässä alaluvussa esitetään tutkielmassa käytetyt luokittelualgoritmit. Tutkielmaan valitut luokittelualgoritmit ovat diskriminatiivisia malleja, joiden toiminta perustuu luok- kien erottamiseen toisistaan tiettyjen piirteiden perusteella (Jurafsky ja Martin, 2024, s. 77–78). Mallit koulutetaan valvotusti erillisen opetusaineiston avulla. Näiden mallien 23 toiminta tukee tutkielman tavoitetta luokitella selostuksia rajattuihin rikosnimikkeisiin niiden sisällön perusteella. 3.4.1 Logistinen regressio (LogReg) Logistinen regressio on valvotun koneoppimisen perusmalli luonnollisen kielen luokitte- lutehtävissä (Jurafsky ja Martin, 2024, s. 77). Logistista regressiota käytetään pääosin ha- vainnon luokitteluun kahden luokan välillä, mutta se soveltuu myös moniluokkaiseen luokitteluun. Moniluokkaisessa luokittelussa logistinen regressio kuitenkin olettaa, että havainto voi kuulua vain yhteen luokkaan kerrallaan. Logistinen regressio oppii määrittämään sille annetun koulutusdatan perusteella kullekin syötepiirteelle x sen tärkeyttä merkitsevän painovektorin w, sekä vakiotermiksi kutsutun bias-termin b. Kaavassa 4 on esitetty logistisen regression toimintaa kuvaava pistetulo- merkintä, missä z on syötteiden painotettu summa. 𝑧 = 𝑤 × 𝑥 + 𝑏. (4) Painovektori w voi olla positiivinen tai negatiivinen riippuen siitä, onko syötepiirre x luo- kittelupäätöksen kannalta merkittävä negatiiviselle tai positiiviselle luokalle. Kaavalla 4 laskettu painotettu summa ei ole todennäköisyysteorian mukainen, sillä tulos voi olla välin [0, 1] ulkopuolella oleva negatiivinen tai positiivinen reaaliluku. Painotetun arvon muuttamiseksi todennäköisyydeksi 𝑃(𝑦𝑘 = 1|𝑥) tarvitaan sigmoid- tai softmax-funktio (Jokela, 2022, s. 14). Sigmoid soveltuu käytettäväksi vain kaksiluokkaisessa luokittelussa, joten tutkielmassa käytetään softmax-funktiota 𝑠𝑜𝑓𝑡𝑚𝑎𝑥(𝑧𝑖) = 𝑒𝑧𝑖 ∑ 𝑒 𝑧𝑗𝐾 𝑗=1 , 1 ≤ 𝑖 ≤ 𝐾, (5) 24 missä 𝑧𝑖 on käsiteltävän luokan painotettu arvo ja 𝑧𝑗 kaikkien muiden luokkien paino- tettu arvo. Softmax-funktio ottaa syötteeksi vektorin z = [𝑧1, 𝑧2, … , 𝑧𝐾], jossa K on luok- kien määrä, ja muuntaa jokaisen syötteen arvon välille [0, 1] siten, että niiden kokonais- summa on 1 (Jurafsky ja Martin, 2024, s. 85). Lisäksi tarvitaan luokittelijan entropiaa eli epävarmuutta tai -järjestystä ilmaisevaa hä- viöfunktiota, jonka avulla luokittelija optimoidaan suosimaan tarkkoja ja oikeita ennus- teita. Epävarmuus lasketaan suhteuttamalla luokkien välistä todennäköisyysjakaumaa, eli ristientropiaa. Tutkielmassa yksittäisen näytteen ristientropia 𝐿𝑙𝑜𝑔(𝑦, 𝑝) saadaan las- kettua yhtälöllä 𝐿𝑙𝑜𝑔(𝑦, 𝑝) = −(𝑦 log(𝑝) + (1 − 𝑦) log(1 − 𝑝)), 𝑦 ∈ {0, 1}, (6) missä y on näytteen todellinen luokka ja p on softmax-funktiolla ennustettu todennäköi- syys (Scikit-learn, 2024, Luku 3.4.2.12). Logistinen regressio on valittu tutkielmaan koska se on NLP-luokittelun perusmalli, ja siksi hyvä lähtökohta luokittelulle. Jurafskyn ja Martinin (2024, s. 84) mukaan logistinen regressio suoriutuu hyvin tilanteissa, jossa luokkien välillä on paljon samankaltaisuuksia vrt. varkaus ja näpistys. 3.4.2 Tukivektorikone (SVM) Vuonna 1995 Vapnik ja Cortes (1995, s. 274–275) esittelivät uudenlaisen tukivektoriver- kostoihin perustuvan luokitinmallin, joka projisoi syötteet epälineaarisen kuvauksen avulla vektoriavaruuteen, ja pyrkii sitten muodostamaan lineaarisen päätöspinnan syöt- teiden jakamiseksi luokkiin. Vapnikin ja Cortesin (1995, s. 274) mukaan toimintaperiaate varmistaa mallin tehokkaan yleistyskyvyn eli kyvyn luokitella ennalta tuntemattomia näytteitä. Alla olevassa kuviossa 2 hahmotellaan, kuinka tukivektorikone muodostaa syötteiden erottavan lineaarisen päätöspinnan kaksiulotteisessa avaruudessa. 25 Päätöspintaa muodostaessa SVM pyrkii maksimoimaan luokkien välisen marginaalin käyttäen marginaalitasoja. Marginaalitasot kulkevat päätöspintaa lähimpinä olevien syötteiden, eli tukivektorien kautta. Kuvio 2. Esimerkki SVM:n päätöspinnasta (Vapnik & Cortes, 2024, s. 275). SVM on logistisen regression lailla suunniteltu alun perin kaksiluokkaiseen luokitteluun, mutta malli kykenee moniluokkaiseen luokitteluun käyttäessä one-versus-one (OvO) tai one-vs-rest (OvR) implimentaatiota (Scikit-learn, 2024, Luku 1.4.1.1). OvO-toteutuksessa jokaiselle luokkien parille luodaan oma luokitin, ja lopullinen luokka määritetään sen pe- rusteella, mikä luokka saa eniten luokituksia. Jos esimerkiksi käytössä on kolme luokkaa, koulutettaisiin kolme luokitinta pareille AB, AC ja BC. OvR-toteutuksessa jokaiselle luo- kalle koulutetaan luokitin, joka erottaa kaikki kyseisen luokan näytteet muista luokista. Näyte luokitellaan siihen luokkaan, joka saa korkeimman todennäköisyyden. Tutkiel- massa käytetään OvR-toteutusta, sillä se on suorituskyvyltään ja skaalautuvuudeltaan parempi etenkin luokkien määrän kasvaessa. Tukivektorikoneen primaaliongelmaa eli päätöstason optimointia voidaan esittää rajoi- tukset ja määritelmät huomioon ottaen yhtälöllä 26 min 𝑤,𝑏,𝜁 1 2 𝑤𝑇𝑤 + 𝐶 ∑ 𝜁𝑖 𝑛 𝑖=1 , (7) 𝑦𝑖(𝑤𝑇𝜙(𝑥𝑖) + 𝑏) ≥ 1 − 𝜁𝑖 , 𝜁𝑖 ≥ 0, 𝑖 = 1, … , 𝑛, 𝑥𝑖 ∈ ℝ𝑝, 𝑦 ∈ {1, −1}𝑛, missä w on päätöstason suuntaa määrittävä painovektori ja 𝑤𝑇 painovektorin transpoosi. Muuttuja 𝜁𝑖 kuvaa, kuinka paljon näytteet voivat olla marginaalin sisäpuolella. Parametri C säätelee marginaalin maksimoinnin ja luokitteluvirheen minimoinnin välistä tasapai- noa. 𝑦𝑖 on näytteen luokkamerkintä, ja 𝜙(𝑥𝑖) ominaisuusmuutosfunktio, joka muuntaa syöteavaruuden korkeaulotteiseksi ominaisuusavaruudeksi, jossa lineaarinen erotus voi- daan tehdä (Scikit-learn, 2024, Luku 1.4.7). Tämä optimointifunktio on suoraviivainen ja laskennallisesti tehokas. Primaariongelmasta johdettu duaaliongelma on esitetty kaavassa 8, missä α on Lagran- gen kertoimien vektori, jossa jokainen 𝛼𝑖 vastaa näytettä (xi, yi), ja missä e on ykkösmat- riisi (Scikit-learn, 2024, Luku 1.4.7). min 𝛼 1 2 𝛼𝑇𝑄𝛼 − 𝑒𝑇𝛼, 𝑦𝑇𝛼 = 0, 0 ≤ 𝛼𝑖 ≤ 𝐶, 𝑖 = 1, … , 𝑛. (8) Lisäksi kaavassa 8 käytetty matriisi Q voidaan määrittää seuraavasti: 𝑄𝑖𝑗 = 𝑦𝑖𝑦𝑗𝐾(𝑥𝑖𝑥𝑗), 𝐾(𝑥𝑖𝑥𝑗) = 𝜙(𝑥𝑖)𝑇𝜙(𝑥𝑗), (9) missä K on kerneli (Scikit-learn, 2024, Luku 1.4.7). Kerneli mahdollistaa päätöspinnan löy- tämisen myös epälineaarisilla muunnoksilla ilman, että tarvitaan korkeampiulotteisem- paan ominaisuusavaruuteen siirtymistä. Mikäli käytetyn tukivektorikoneen valittu ker- neli on epälineaarinen, käyttää malli duaalifunktiota. Päätöstason optimoinnin jälkeen tukivektorikoneella voidaan suorittaa näytteen x luoki- tus yhtälöllä 27 𝑓(𝑥) = ∑ 𝑦𝑖𝛼𝑖𝐾(𝑥𝑖 , 𝑥) + 𝑏𝑖∈𝑆𝑉 , (10) missä SV tarkoittaa tukivektoreita ja kerneli K laskee samankaltaisuuden tukivektorin 𝑥𝑖 ja näytteen x välillä. Termi b on poikkeama, joka siirtää päätöspintaa sen alkuperäisestä pisteestä. Kokonaisuudessaan tukivektorikoneiden luokittelun tarkkuutta ja soveltuvuutta on tut- kittu paljon viimeisen kolmen vuosikymmenen aikana (Mansikka, 2020; Tomar ja Gupta, 2023; Shilaskar ja muut, 2024; Joachims, 1998). Tukivektorikoneet suoriutuvat monipuo- lisista luokittelutehtävistä säilyttäen tarkkuuden, ja on siksi valittu tutkielmaan. 3.5 Transformer-arkkitehtuuri Kuten aiemmin tutkielmassa on mainittu, yksi luonnollisen kielen käsittelyn kehityksen viimeisimmistä kehityksistä on syväoppimisen transformer-arkkitehtuuri. Tässä kappa- leessa esitellään transformer-arkkitehtuurin peruskonsepti, jotta voidaan ymmärtää tut- kielmassa käytetyn FinBERT-mallin toimintaa. Koska tutkielmassa käsitellään luonnollista kieltä, oletetaan, että transformer-mallin syöte on vapaamuotoista tekstiä. Transformer-arkkitehtuurin toiminta perustuu itsehuomiomekanismiin, jonka avulla malli kykenee huomioimaan jokaisen sanan merkityksen suhteessa kaikkiin muihin sek- venssissä esiintyviin sanoihin (Vaswani ja muut, 2017, s. 5). Toimintaperiaatteen ansiosta malli kykenee oppimaan kontekstin ja semantiikan merkitykset tehokkaasti. Transfor- mer-arkkitehtuurissa itsehuomiomekanismin toimintaa on tehostettu implementoimalla monipäinen itsehuomiointirakenne, joka mahdollistaa monen itsehuomiomekanismin samanaikaisen ajon rinnakkaisesti. Alla olevassa kuviossa 3 on esitetty transformer-arkkitehtuuri. Vaswanin ja muiden (2017) esittämä malli voidaan jakaa kahteen osaan: N kerrosta sisältävään enkooderiin ja de- kooderiin. Enkooderien ja dekooderien määrä riippuu käyttökohteesta. Yksittäinen 28 enkooderin kerros koostuu kahdesta osakerroksesta, joista ensimmäinen sisältää moni- päisen itsehuomiomekanismin. Ensimmäisen osakerroksen tuottamat vektorit käsittelee toisen osakerroksen syöttökerros, joka pyrkii oppimaan piirteitä syötteestä. Molempien vaiheiden jälkeen ulostulot yhdistetään ja normalisoidaan alkuperäiseen syötteeseen. Kuvio 3. Transformer-arkkitehtuuri (Vaswani ja muut, 2017, s. 3). Kuvion 3 oikealla puolella esitetty dekooderi sisältää kolmannen osakerroksen, jossa käy- tetään maskattua itsehuomiomekanismia. Kerroksen alussa oleva maskattu osakerros estää dekooderia ottamasta huomioon sekvenssissä käsiteltävän sanan jälkeen esiintyviä sanoja, jolloin ulostulo on riippuvainen vain ennen käsiteltävää sanaa esiintyvistä sa- noista (Vaswani ja muut, 2017, s. 3). Enkooderit vastaavat syötteen analysoinnista, ja de- kooderit muuntavat analysoituja piirteitä uudeksi sekvenssiksi. 29 Koska transformer-arkkitehtuurissa syötteitä ei käsitellä järjestyksessä vaan rinnan, tulee syötteeseen lisätä paikkakoodaukset ennen enkoodausta tai dekoodausta, jotta malli hahmottaa ja oppii sanojen järjestyksen merkityksen. Kuvion 3 mukaisesti lopussa suo- ritetaan enkooderin tai dekooderin tuottamat piirteet ennustettavaksi tulokseksi (Linear) sekä muutetaan tulos todennäköisyysjakaumaksi (Softmax). 3.5.1 FinBERT Virtanen ja muut (2019) esittelevät julkaisussaan suomen kielellä esikoulutettua versiota BERT-mallista nimeltään FinBERT. Luokitellessa suomenkielisiä uutisia kymmeneen eri luokkaan, FinBERT suoriutui paremmin kuin monikielinen M-BERT riippumatta koulutus- datasetin koosta (Virtanen ja muut, 2019, s.9). FinBERT ei teknisesti eroa aikaisemmin vuonna 2019 Devlinin ja muiden (2019) esittelemästä transformer-arkkitehtuuriin perus- tuvasta BERT-mallista, vaan erona on mallin esikoulutukseen käytetyn materiaalin kieli. Tässä tutkielmassa ei perehdytä tarkemmin Virtasen ja muiden (2019) toteuttamaan Fin- BERT-mallin esikoulutukseen. BERT on diskriminatiivinen malli, jota voidaan käyttää luonnollisen kielen käsittelyn teks- tin syvällistä ymmärtämistä vaativissa tehtävissä. Malli keskittyy sille syötetyn sisällön mallintamiseen ja analysointiin, eikä siksi tarvitse transformer-arkkitehtuurissa esitettyjä sisältöä tuottavia dekoodereita. FinBERT perustuu BERT-mallin perusarkkitehtuuriin, joka koostuu 12 enkooderikerroksesta (Virtanen ja muut, 2019, s.7). Devlinin ja muiden (2019, s. 1) esittelemässä BERT-mallissa käytetään kaksisuuntaista itsehuomiomekanis- mia, joka ottaa huomioon sekvenssissä käsiteltävän sanan ennen ja jälkeen esiintyvät sanat. FinBERT on valittu tutkielmaan, sillä toisin kun tutkielman muut mallit, se ei ole esikou- lutuksen takia sanaston muodostamisessa riippuvainen tutkielman koulutusdatasta. Fin- BERT tuo tutkielman vertailuasetelmaan myös uudemman transformer-pohjaisen toteu- tuksen. 30 4 Kokeellinen osa Tutkielman kokeellisessa osassa on esitelty kandidaatintutkielman osana toteutetut NLP- luokittelijamallit. Ensimmäisessä alaluvussa on esitelty tarkemmin mallien kouluttami- sessa, validoinnissa ja vertailussa käytetty aineisto. Aineiston esittelyn yhteydessä jäsen- netään kokeellisen osan rakenne. Toisessa alaluvussa käsitellään käytettyjen mallien to- teutuksia sekä niiden välisiä eroavaisuuksia. Viimeisessä alaluvussa esitetään kunkin to- teutetun mallin validointivaiheen jälkeiset tarkkuusarvot, jolloin varsinaisia vertailu- asetelman tuloksia analysoidessa voidaan vertailla mallien tarkkuuksien muutosta, ja si- ten arvioida yleistyskykyä. 4.1 Käytetty aineisto Tässä alaluvussa käsitellään kokeellisessa osassa käytettyä aineistoa, joka jakautuu käyt- tötarkoituksen mukaan koulutus-, validointi tai vertailudataksi. Kunkin datasetin sisältö, käyttötarkoitus ja merkitys tutkielmalle on esitetty sille varatussa alaluvussa. Tutkielman aineisto muodostuu näennäisistä selostuksista, joissa kuvataan kuvitteellisia varkaus-, näpistys- tai petosrikoksen tapahtumasarjoja. Jokaiselle selostukselle on mää- ritetty, mihin rikosnimikkeeseen selostus kuuluu. Näiden selostus-nimike-tietueiden luonti- ja keräysprosessi on selostettu seuraavassa osiossa. 4.1.1 Koulutusdata Nimensä mukaisesti koulutusdataa käytetään NLP-mallien kouluttamisvaiheessa, joka on esivaatimuksena luokittelun suorittamiselle. Kouluttamisvaiheessa malli muuntaa koulu- tusdatan numeraalisiksi ominaisuuksiksi, joiden perusteella se oppii luokille ominaiset ja luokittelupäätöksen kannalta tärkeät piirteet. Syötteen muuntaminen ominaisuuksiksi tapahtuu aiemmin esiteltyjen NLP-menetelmien avulla, ja itse luokittelulogiikan ja - 31 päätöksen oppii tekemään valittu luokittelualgoritmi. Varsinaisesti koulutusvaiheessa keskitys on luokittelijan kouluttamisessa valittujen NLP-menetelmien avulla. Tutkielmassa käytetty koulutusdata on tuotettu hyödyntäen seuraavia menetelmiä: 1. Itsenäisesti tuotetut näennäisselostukset. 2. Laajan kielimallin avulla tuotetut näennäisselostukset, joita on tarvittaessa muo- kattu. 3. Anonyymilla kyselytutkimuksella kerätyt näennäisselostukset. Menetelmät 2 ja 3 valittiin tutkielmaan nopeuttamaan ja monipuolistamaan tuotettavaa koulutuskorpusta. Laajan kielimallin avulla tuotettuja selostuksia on tarvittaessa muo- kattu, mikäli niissä esiintyy loogisia epäjohdonmukaisuuksia tai muuta rikosilmoituksen selostuksen kontekstista poikkeavaa. Esimerkiksi, jos kielimallin tuottama rikosselostus sisälsi lopussa maininnan siitä, että rikollinen on saatu kiinni ja tuomittu tehdystä rikok- sesta, on tämä osa jätetty pois. Menetelmä 3 on valittu tutkielmaan vahvistamaan koulutusdatan kieliasullista monipuo- lisuutta ja -äänisyyttä. Kyselytutkimuksessa vastaajaa pyydettiin kirjoittamaan näennäi- nen selostus valitsemastaan rikoksesta. Toteutetun kyselytutkimuksen ohjeistus on esi- tetty liitteessä 1. Kyselyn avulla saatiin kerättyä ihmisten käyttämiä erilaisia kirjoitustyy- lejä ja sanastoa. Monipuolisella koulutusdatalla saadaan laajennettua mallin sanastoa, jolloin mallin kyky löytää luokittelupäätökselle merkittäviä ominaisuuksia on parempi. Selostuksien tuottamiseen on menetelmästä riippumatta käytetty samaa ohjeistusta. Kukin koulutuskorpukseen kuuluva tietue on tuotettu seuraavien ohjeiden ja määritys- ten puitteissa: 1. Valitse, mihin tutkielmassa käytettyyn rikosnimikkeeseen selostus kuuluu. 2. Kuvittele tai keksi rikosnimikkeeseen sopiva tapahtumasarja, ja kirjoita siitä se- lostus ikään kuin tekisit rikosilmoitusta. 32 3. Päätä, mitä tietoa pystyt ilmoituksessa antamaan. Selostusta kirjoittaessa voi ”va- hingossa” unohtaa jotain oleellisia asioita, joita ei itselle tulisi mieleen tai joita on noloa paljastaa. Rikos on kuitenkin varmasti tapahtunut. Muodostettavan sanaston monipuolisuuden varmistamiseksi anonyymissa kyselytutki- muksessa vastaajia on pyydetty kirjoittamaan laatimansa selostus toisen kerran käyttäen eri ilmaisumuotoja ja sanastoa. Myös kielimallin avulla, että itse tuotettujen selostusten osalta on säännöllisesti vaihdettu kirjoitustyyliä, sanastoa ja selostuksessa käytettävää asiajärjestystä. Taulukossa 2 on esitetty tutkielmassa käytetyn koulutusdatasetin koostu- mus. Taulukko 2. Koulutusdatasetin kokoonpano. Menetelmä Petos Näpistys Varkaus Itse luotu 22 20 19 Kielimalli 21 20 19 Kysely 7 10 12 Yhteensä 50 50 50 Koulutusdatasetissä on pyritty tasapainottamaan itse luotujen ja kielimallin luomien se- lostusten määrää, jotta korpus on mahdollisimman monipuolinen, looginen ja realistinen. Settiä on vahvistettu kyselytutkimuksella kerätyillä selostuksilla. Settiä ei voitu tasata kaikkien kolmen menetelmän kesken, johtuen kyselytutkimuksen pienestä jakelusta sekä rajallisesta kuukauden pituisesta vastausikkunasta. Datasetti on tasapainotettu nimikkei- den mukaan, sillä epätasainen jakauma koulutusdatassa voi johtaa enemmän edustetun luokan ylisovittamiseen ja toisen luokan alisovittamiseen. Tasapainotuksella pyritään varmistamaan, että malli oppii erottamaan eri luokat toisistaan tasapuolisesti. Tasapai- notuksen takia tutkielmaan ei ole myöskään otettu esimerkiksi neljättä muu-luokkaa, joka vaatisi kattavan määrän dataa kaikista muista rikosnimikkeistä. 33 4.1.2 Validointidata Validointidata on osa alkuperäistä koulutuskorpusta, ja tuotettu samoin menetelmin kuin koulutusdata. Validointidatasetti muodostetaan erottamalla erillinen otos koulutus- korpuksesta. Validointidatan tarkoitus on arvioida mallin suoritus- ja yleistämiskykyä uu- sille syötteille, jolloin varmistetaan, ettei malli mukaudu liiallisesti sille annettuun koulu- tusdataan eli ylisovitu (engl. overfitting). Ylisovittumisen seurauksena malli olisi hyvin tarkka luokittelemaan juuri koulutusdatan piirteitä, mutta sen yleistyskyky luokitella uutta aineistoa olisi huono. Tutkielmassa koulutusdatasta on eritelty 30 % otos, joka muodostaa validointidatasetin. Validointidataksi eriteltyä dataa ei käytetä mallin koulutuksessa, vaan se toimii erillisenä testinä arvioidakseen koulutusvaiheen aikana saavutettua suorituskykyä. Mallin vali- doinnilla varmistetaan, että malli on aidosti toimintakykyinen ennen lopulliseen vertai- luvaiheeseen siirtymistä. 4.1.3 Vertailudata Vertailudatalla tarkoitetaan niitä tuotettuja selostuksia, joita käytetään arvioidessa to- teutettujen NLP-mallien lopullista suorituskykyä. Datasettiin kuuluvia selostuksia ei käy- tetä koulutusvaiheessa, koska tarkoituksena on mitata toteutettujen mallien yleistämis- kykyä täysin uusilla syötteillä. Kun arvioidaan soveltuvuutta rikosilmoitusten luokitteluun, on oleellista varmistaa ver- tailudatan oikeellisuus ja yhdenmukaisuus viranomaisten käytänteiden kanssa. Vertai- ludatan luokitteli manuaalisesti kolme Suomen poliisissa työskentelevää viranomaista. Lainvalvontaviranomaisen asiantuntemuksen hyödyntämiseksi tutkielmalle haettiin eril- linen tutkimuslupa keskusrikospoliisilta. Manuaalinen luokittelu toteutettiin sähköisen kyselytutkimuksen avulla. Lainvalvontaviranomaisilta kerätyt luokitukset toimivat 34 vertailukohtana lopullisessa luokittelussa, jossa arvioidaan toteutettujen NLP-mallien so- veltuvuutta rikosilmoitusten luokitteluun. Vertailudatasetin luomisessa käytettiin tarkempaa liitteessä 2 esitettyihin määrityksiin perustuvaa kuratointia. Kuratoimalla vertailudataa ennalta määritettyihin asetelmiin voi- daan luokittelua arvioida monipuolisesti pitäen samalla datamassa hallittavana. Lisäksi kuratointia tarvittiin, jotta vertailudata pysyisi sekä tutkielman että lainvalvontaviran- omaisten rajallisten resurssien puitteissa. Alla olevassa taulukossa 3 on esitetty kura- toidun vertailudatasetin koostumus, joka koostuu 44 selostuksesta. Taulukossa 3 esitetyt, ja tutkielmassa käytetyt vertailudatan laatumääritelmät ja selosteet ovat esitetty tar- kemmin liitteessä 2. Taulukko 3. Vertailudatasetin koostumus. Laatu Synonyymi Erilaiset Samanlaiset Suppea 6 kpl 6 kpl 3 kpl Normaali 6 kpl 5 kpl 3 kpl Kattava 6 kpl 6 kpl 3 kpl Yhteensä 18 kpl 17 kpl 9 kpl Viranomaisille luokiteltavaksi lähetetty setti sisälsi 45 ilmoitusta, joista 44 oli käyttökel- poisia tutkielmaan valittujen nimikkeiden perusteella. Valmis datasetti sisältää 15 petos- ja näpistysrikoksen selostusta sekä 14 varkausnimikkeen selostusta. Yksi 15:stä lähete- tystä varkausselostuksista sarjoittui tutkielman ulkopuoliseen moottorikulkuneuvon käyttövarkausnimikkeeseen, jonka takia se jätettiin pois. Vertailudatasetin minimaalinen epätasapainoisuus ei ole merkittävä, koska settiä ei käytetä mallin kouluttamiseen vaan sen yleistyskyvyn testaamiseen. 35 4.2 Esikäsittelyn toteutus Tutkielmassa käytetty data tuotiin ohjelmointialustalle käsiteltäväksi kahtena listana: se- lostus- ja nimikelistana. Selostuksen ja rikosnimikkeen välinen yhteys säilytettiin listan indekseillä siten, että esimerkiksi indeksissä yksi olevan selostuksen nimike sijaitsi vas- taavasti nimikelistan indeksissä yksi. Kokeellisen osan esikäsittelyvaiheen merkkimuun- nokset toteutettiin Python-ohjelmointikielen perusominaisuuksin. Syötteiden tokenisoinnissa, sulkusanojen poistamisessa, sekä stemmauksessa käytettiin Natural Language Toolkit (NLTK) -moduulin valmiita kirjastoja nltk.tokenize, nltk.corpus ja nltk.stem (NLTK, 2024). NLTK-moduuli soveltuu käytettäväksi tutkielmaan koska se on aktiivisesti ylläpidetty, helppokäyttöinen, ja tukee suomen kieltä. Kirjastot tarjoavat val- miin sulkusanalistan ja suomen kielelle konfiguroidun käyttövalmiin stemmerin. Toteu- tettujen merkkimuunnosten, sekä NLTK-kirjastojen tokenisoinnin ja stemmauksen toi- minta on havainnollistettu taulukossa 4. Taulukko 4. Esikäsittelyn vaikutus satunnaisesti valittuun syötteeseen. Tehty toimenpide Teksti Alkuperäinen syöte Huomasin tilitapahtumissani useita luvattomia korttiveloituk- sia, yhteensä 800 euroa. En ole antanut tietojani kenellekään enkä tehnyt kyseisiä ostoksia. Merkkimuunnokset Tokenisointi ['huomasin', 'tilitapahtumissani', 'useita', 'luvattomia', 'kortti- veloituksia', 'yhteensä', 'euroa', 'antanut', 'tietojani', 'kenelle- kään', 'enkä', 'tehnyt', 'kyseisiä', 'ostoksia'] Merkkimuunnokset Tokenisointi Stemmaus ['huomas', 'tilitapahtum', 'use', 'luvattom', 'korttiveloituks', 'yht', 'euro', 'antanu', 'tieto', 'kene', 'enk', 'tehny', 'kyseis', 'os- toks'] Merkkimuunnokset Tokenisointi Lemmatisointi ['huomata', 'tili#tapahtuminen', 'usea', 'luvaton', 'kortti#veloi- tus', 'yhteensä', 'euro', 'antaa', 'tieto', 'kukaan', 'ei', 'tehdä', 'ky- seinen', 'ostos'] 36 Suomen kielen lemmatisointiin käytettiin trankit-kirjastoa, jota TurkuNLP-ryhmä suosit- telee oman vanhemman projektinsa sijaan. Yhä ylläpidetyn Trankit-kirjaston suomenkie- linen malli on koulutettu samalla korpuksella kuin elinkaarensa päätyyn tullut Tur- kuNLP:n malli (TurkuNLP, 2024). Lemmatisoinnin toiminta on kuvattu taulukossa 4. On tärkeä muistaa, että syötteiden esikäsittelyssä käytetään joko stemmausta tai lem- matisointia. Tutkielmaa varten on luotu erilliset stemmausta ja lemmatisointia käyttävät mallit, jotta valitun menetelmän tehokkuutta voidaan arvioida. 4.3 NLP-menetelmien toteutus Tässä alaluvussa esitetään tutkielman koeosassa käytettyjen TF-IDF- ja word embedding -menetelmien toteutus. Nämä teoreettisessa viitekehyksessä tarkemmin esitetyt NLP- menetelmät muuttavat syötteet numeraalisiksi ominaisuuksiksi, joiden perusteella kou- lutettavat NLP-mallit oppivat tekemään luokittelun. 4.3.1 TF-IDF Toteutuksessa esikäsiteltyjen selostusten TF-IDF-arvon laskentaan käytettiin valmista TfidfVectorizer-toteutusta, joka kuuluu osaksi laajasti käytettyä Scikit-learn-kirjastoa. TfidfVectorizer ajettiin oletusparametrein, pois lukien toteutuksen mukana tulleita esi- käsittelytoimintoja, joille ei ollut jo tehdyn esikäsittelyn takia tarvetta. Alapuolella olevassa taulukossa 5 on esitetty lemmatisoidun satunnaisotoksen TF-IDF- arvojen perusteella kullekin käytetylle luokalle viisi merkittävintä sanaa. Taulukosta 5 nähdään, että missään luokassa ei esiinny keskenään samoja sanoja. Tulos viittaa siihen, että luokkien välillä on löydettävissä eroavia ominaisuuksia, mikä on otollista luokittelun kannalta. 37 Taulukko 5. TF-IDF: lemmatisoidun otoksen viisi merkittävintä sanaa luokittain. Petos Näpistys Varkaus Sana TF-IDF Sana TF-IDF Sana TF-IDF pankki 0.1397 tasku 0.0869 pyörä 0.1229 Verkko 0.1137 huomata 0.0842 työ 0.0982 tili 0.0935 lompakko 0.0765 auto 0.0892 tehdä 0.0893 kadota 0.0746 talli 0.0839 saada 0.0805 matka 0.0740 kalu 0.0729 Taulukosta 5 nähdään, että nimikkeen varkaus merkittävin sana on pyörä, mikä on to- dennäköisesti anastettu esine selostuksessa. Luokittelupäätöstä tehdessä ilmoituksessa esiintyessä sana pyörä, on sanan korkean merkittävyyden takia todennäköistä, että se- lostus luokitellaan varkaudeksi. Toisaalta, jos varkausrikoksen selostuksessa ei esiinny sa- naa pyörä, täytyy selostuksesta löytyä muita luokalle merkittäviä sanoja. 4.3.2 Word2Vec Word embedding -menetelmänä kokeellisessa osassa käytettiin Mikolovin ja muiden (2013) kehittämää Word2Vec-mallia. Word2Vec-malli on ajettu taulukon 6 mukaisilla pa- rametreillä. Arvot parametreihin vector_size, window ja min_count on valikoitu suh- teessa käytettävän datasetin pieneen kokoon. Kokonaisfrekvenssin minimiarvoksi on va- littu yksi, koska esikäsittelyssä on poistettu riittävästi kohinaa, ja halutaan ottaa huomi- oon jokainen esiintyvä sana. Parametri workers on valittu sopivaksi suhteessa kokeelli- sessa osassa käytetyn tietokoneen suorituskykyyn. Skip-gram-arkkitehtuurin valinta ja sopivuus on perusteltu tutkielman teoreettisessa viitekehyksessä. Lemmatisoidulle ja stemmatulle syötteille luodaan erilliset mallit, jotta mallin sanasto on yhteensopiva käy- tettävien sanamuotojen kanssa. 38 Taulukko 6. Käytetyn Word2Vec-mallin konfiguraatio. Parametri Arvo Kuvaus vector_size 100 Sanavektoreiden ulottuvuuksien määrä. window 5 Maksimietäisyys nykyisen ja ennustetun sanan välillä lauseessa. min_count 1 Kokonaisfrekvenssin minimiarvo, jotta sana otetaan huomioon. workers 4 Mallin kouluttamiseen käytettyjen säikeiden määrä. sg 1 Käytettävä arkkitehtuuri: 0 = CBOW, 1 = Skip-gram Word2Vec-mallin luomien word embedding -vektorien yhdistämiseen käytettiin keskiar- vopoolausta (engl. average pooling). Keskiarvopoolaus aggregoi sanat yhdeksi doku- menttitason ominaisuusvektoriksi, säilyttäen kuitenkin sanojen merkitystä sen konteks- tissa. Aggregoinnilla saadaan muutettua tekstidokumentit kiinteän pituisiksi vektoreiksi, jotka ovat yhteensopivia valittujen luokittelualgoritmien kanssa. Keskiarvopoolauksessa syöte jaetaan sanajoukoittain ryhmiin tai ikkunoihin W, jonka jäl- keen jokaisesta ikkunasta lasketaan keskiarvo. Viimeisessä vaiheessa vielä ikkunoiden keskiarvoista lasketaan yhteinen keskiarvo. Toimenpiteen voi esittää matemaattisesti yh- tälöllä 𝑢 = 1 𝑚 ∑ ( 1 |𝑊𝑗| ∑ 𝑣𝑣∈𝑊𝑗 𝑚 𝑗=1 ), (11) missä m on ikkunoiden lukumäärä, |𝑊𝑗| on ikkunassa olevien word embeddingien luku- määrä, ja v edustaa yksittäistä word embedding -vektoria. Ikkunoista on otettu keskiarvo, koska se vähentää ominaisuusavaruuden kompleksisuutta ja pienentää ylisovituksen ris- kiä. 39 4.3.3 Yhdistetyt ominaisuudet Tutkielmassa kolmantena ominaisuuksien poimintamenetelmänä käytetään TF-IDF- ja word embedding -ominaisuuksien yhdistettyä muotoa. Jotta ominaisuudet voidaan yh- distää, täytyy TF-IDF matriisi ensin muuntaa tiheäksi matriisiksi, joka on laskennallisesti yhteensopiva keskiarvopoolattujen word embeddingien kanssa. Molemmat ominaisuu- det tulee myös normalisoida, jotta niiden mittakaavat ovat keskenään yhtenäisiä. Nor- malisointi on totutettu tutkielmassa StandardScaler-menetelmällä, joka skaalaa kaikki muuttujat siten, että niiden keskiarvo on 0 ja keskihajonta 1. Normalisoinnin jälkeen omi- naisuudet voidaan yhdistää toisiinsa, jolloin ominaisuusmatriisi sisältää tietoa molem- pien menetelmien ominaispiirteistä. Normalisoidut ominaisuudet on tutkielmassa muo- dostettu alla olevalla ohjelmakoodilla. def combine_tfidf_embeddings(tfidf, embeddings): # Painota ominaisuudet tfidf_weight=0.7 tfidf_weighted = tfidf * tfidf_weight embeddings_weighted = embeddings * (1 - tfidf_weight) # Yhdistä painotetut ominaisuudet combined_features = np.hstack((tfidf_weighted, embeddings_weighted)) return combined_features Toteutuksessa on päädytty painottamaan TF-IDF-arvoja, sillä koulutusvaiheen testauk- sessa menetelmä suoriutui paremmin kuin word embedding. TF-IDF keskittyy yksittäis- ten sanojen korostamiseen ja on toimintakykyinen, vaikka koulutusdatasetti olisi pieni. Luokittelupäätös voi usein perustua vain tiettyjen sanojen tunnistamiseen, ilman tar- vetta ymmärtää monimutkaisia kontekstuaalisia suhteita, joita word embedding -mene- telmät tarjoavat. Yhdistämällä sanan esiintymistiheyden ja semanttisen merkityksen, malli voi hyödyntää sekä sanan tärkeyttä että sen kontekstuaalista merkitystä, mikä voi parantaa luokittelun tarkkuutta. 40 4.4 Luokittelijoiden toteutus Molemmat teoreettisessa viitekehyksessä esitetyt luokittelualgoritmit on toteutettu käyttäen Scikit-learn-kirjaston valmiita luokittelijoita. Tukivektorikone käyttää kirjaston SVC (engl. Support Vector Classification) toteutusta epälineaarisella kernelillä, joka vali- taan myöhemmin esitellyssä hyperparametrien optimoinnissa. Logistisen regression to- teutukseen käytetään valmista LogisticRegression-menetelmää, ja iteraatioiden maksi- mimääräksi on asetettu 1000. Molempien luokittimien toteutuksessa parametri ran- dom_state on asetettu arvoksi 42, varmistaen että mallien toteutus on jokaisella kerralla toistettavissa. Siten voidaan varmistaa, että mahdolliset erot johtuvat muutetuista ase- tuksista tai itse datasta, eikä satunnaisuudesta. Tarkemmat mallikohtaiset hyperpara- metrikonfiguraatiot on esitetty kokeellisen osan koulutusvaiheosiossa. Valitsemalla sekä lineaarisen logistisen regression että epälineaarisen tukivektorikoneen voidaan arvioida, riittääkö yksinkertainen lineaarinen malli rikosilmoitusten luokitteluun vai parantaako monimutkaisempi, epälineaarinen malli luokittelun tarkkuutta. 4.5 FinBERT Esikoulutetusta FinBERT-mallista käytettiin uusinta cased-v1 versiota, ja luokkien mää- räksi alustettiin tutkielman rajausten mukaisesti kolme. Esikoulutetun mallin hienosää- töön käytettiin koulutusdatasettiä. FinBERT suoritti syötteen esikäsittelyn itse, joten eril- listä esikäsittelyä ei tarvittu. Esikoulutetun mallin hienosäädössä malli mukautetaan tiet- tyyn luokittelutehtävään. FinBERT-mallin sanasto ei ole riippuvainen tutkielman koulu- tusdatasta, vaan se käyttää dataa hienosäätääkseen itseään käyttökohteeseen sopivaksi. Taulukossa 7 on esitetty FinBERT mallin hienosäätämiseen käytetyt parametrit. Hie- nosäädön parametreiksi valittiin ne arvot, joilla mallin validoinnin tarkkuus saatiin mak- simoitua. 41 Taulukko 7. Käytetyt FinBERT hienosäätöparametrit. Parametri Arvo Kuvaus train_epochs 5 Kuinka monta kertaa koko koulutusdata käydään läpi koulu- tuksen aikana. train_batch_size 4 Näytteiden eräkoko parametreja päivitettäessä. eval_batch_size 4 Näytteiden eräkoko arvioinnin aikana. warmup_steps 200 Oppimisnopeuden vakauttamisen askelmäärä koulutuksen alussa. weight_decay 0.01 Painojen säännöllistämisen skaalauskerroin. Viisi koulutussykliä valikoitui sopivaksi pienelle koulutusdatasetille, ja malli pystyi oppi- maan hyvin ilman ylisovittumista. Syötteiden eräkoko valittiin sopivaksi suhteutettuna datasetin kokoon. Malli päivittää painoarvonsa jokaisen käsitellyn erän jälkeen, jolloin liian suuri eräkoko pienellä datasetillä johtaisi alisovittamiseen. Parametri warmup_steps estää mallia tekemästä liian suuria päivityksiä koulutuksen alussa. Arvo 200 valikoitui so- pivaksi, koska se on käytettävällä setillä riittävän matala koulutusvaiheen vakautta- miseksi ilman hienosäädön liiallista rajoittamista. Käytetty skaalauskerroin osoittautui testatuista arvoista tasapainoisimmaksi ja tuotti parhaat validointitulokset. Muita testat- tuja kertoimia olivat muun muassa 0.0, 0.001, 0.1 ja 0.0001. Käytetyllä konfiguraatiolla saavutettiin 100 % validointitarkkuus. 4.6 Koulutusvaihe ja mallien tarkkuus Kokeellisen osuuden viimeisessä alaluvussa on esitetty käytettyjen luokittelualgoritmien parametrioptimoinnin toteutus sekä validointivaiheessa mallien tarkkuuden mittaami- seen käytetty menetelmä. Viimeisenä esitetään koulutettujen mallien luokittelutarkkuu- det ennen lopulliseen, yleistyskykyä mittaavaan vertailudatasetin luokitteluun siirty- mistä. 42 4.6.1 Luokittimien hyperparametrien optimointi Luokittimien hyperparametrien optimoinnilla voidaan parantaa mallin suorityskykyä et- simällä asetukset, jotka maksimoivat luokittelualgoritmin suorituskyvyn. Tutkielmassa optimaaliparametrien löytämiseen on käytetty GridSearchCV-toteutusta, jossa käydään läpi kaikki mahdolliset parametrien yhdistelmät ja valitaan se, joka tuottaa parhaan suo- rituskyvyn (Scikit-learn, 2024, Luku 3.2). Suorituskyvyn mittaamiseen on käytetty ristiva- lidointia, jonka toiminta on esitetty tarkemmin seuraavassa alaluvussa. Kaikkien mahdol- listen parametrien läpikäynti on laskennallisesti raskasta, mutta varmistaa optimaalipa- rametrien löytämisen. Tutkielman pienen datasetin takia menetelmä on sopiva, ja eniten aikaa vienyt parametrioptimointi kesti tukivektorikoneella 7.46 sekuntia ja logistisella regressiolla 22.08 sekuntia. GridSearchCV-toteutuksella valitut, oletusasetuksista eroa- vat logistisen regression sekä tukivektorikoneen hyperparametrit on esitetty taulukoissa 8 ja 9. Taulukko 8. LogReg: optimaaliset hyperparametrit. Luokitin Esikäsittely Ominaisuus Parametrit LogReg Stem TF-IDF C: 10 penalty: 'l2' solver: 'saga' LogReg Stem Embedding C: 0.1 penalty: 'l2' solver: 'saga' LogReg Stem Yhdistetty C: 100 penalty: 'l1' solver: 'saga' LogReg Lemma TF-IDF C: 0.1 penalty: 'l2' solver: 'saga' LogReg Lemma Embedding C: 0.1 penalty: 'l2' solver: 'saga' LogReg Lemma Yhdistetty C: 100 penalty: 'l1' solver: 'saga' 43 Taulukko 9. SVM: optimaaliset hyperparametrit. Luokitin Esikäsittely Ominaisuus Parametrit SVM Stem TF-IDF C: 0.1 coef0: 1.0 kernel: 'poly' degree: 5 gamma: 'scale' SVM Stem Embedding C: 1 coef0: 0.5 kernel: 'poly' degree: 2 gamma: 'scale' SVM Stem Yhdistetty C: 0.01 coef0: 0.0 kernel: 'sigmoid' gamma: 'scale' SVM Lemma TF-IDF C: 10 coef0: 0.0 kernel: 'sigmoid' gamma: 'scale' SVM Lemma Embedding C: 10 coef0: 0.5 kernel: 'poly' degree: 2 gamma: 'scale' SVM Lemma Yhdistetty C: 1 coef0: 0.0 kernel: 'sigmoid' gamma: 0.001 4.6.2 Ristivalidointi (CV) Luokittelijoiden parametrioptimointi ja koulutuksen jälkeinen, tarkkuutta mittaava vali- dointi on toteutettu hyödyntäen ristivalidointia. Ristivalidoinnissa data jaetaan useisiin osajoukkoihin (engl. fold), joista jokainen osajoukko toimii vuorollaan validaatiojoukkona ja loput koulutusjoukkona (Scikit-learn, 2024, Luku 3.1). 44 Kuvio 4. Ristivalidointi parametrioptimoinnissa (Scikit-learn, 2024, Luku 3.1). Kuviossa 4 on hahmotettu ristivalidoinnin toiminta. Tutkielmassa kuvion 4 vihreät osa- joukot kuvaavat koulutusdatasettiä ja siniset osajoukot puolestaan validointidataa. Eril- linen kuviossa 4 esitetty beige syötejoukko kuvaa tutkielman vertailudataa. Tutkielmassa jokainen ristivalidointi suoritetaan viidellä osajoukolla käyttäen StratifiedShuffleSplit- menetelmää. Menetelmä muodostaa osajoukot satunnaisesti varmistaen, että kunkin luokan näyteosuudet säilyvät osajoukoissa samoina (Scikit-learn, 2024, Luku 3.1.2.2.2). Menetelmä on valittu tutkielmaan, koska se varmistaa osajoukkojen tasapainon pieniko- koisellakin datasetillä. 4.6.3 Tarkkuuden mittaus Mallien suorituskyvyn mittarina tutkielmassa käytettiin tarkkuustulosta (engl. accuracy score). Moniluokkaisessa luokittelussa tarkkuustulos saadaan selvittämällä kunkin osa- joukon oikeiden ennusteiden y osuus yhtälöllä 45 𝑡𝑎𝑟𝑘𝑘𝑢𝑢𝑠(𝑦, 𝑦̂) = 1 𝑛𝑠 ∑ 1(𝑦̂𝑖 = 𝑦𝑖 𝑛𝑠−1 𝑖=0 ), (12) missä 𝑦̂ on ennustettu luokka ja termi 𝑛𝑠 ennustettavien syötteiden määrä (Scikit-learn, 2024, Luku 3.4.2.2.2). Jos ennustettu syöte vastaa todellista luokkaa, on tarkkuustulos 1; muussa tapauksessa se on 0. Tutkielmassa kullekin viidestä osajoukosta lasketaan tark- kuustulos. Mallin lopullinen tarkkuustulos saadaan laskemalla viiden osajoukon tark- kuustuloksen keskiarvo. Alla olevassa taulukossa 10 on esitetty tutkielmassa koulutettu- jen mallien validointivaiheen tarkkuudet. Malli muodostuu valitusta luokittelualgorit- mista, esikäsittely-, ja ominaisuudenpoimintamenetelmästä. Taulukko 10. Luokittimien validoinnin tarkkuustulokset. Luokitin Esikäsittely Ominaisuus Tarkkuus % LogReg Stem TF-IDF 98.67 LogReg Stem Embedding 83.55 LogReg Stem Yhdistetty 98.22 LogReg Lemma TF-IDF 95.56 LogReg Lemma Embedding 87.56 LogReg Lemma Yhdistetty 97.33 SVM Stem TF-IDF 97.33 SVM Stem Embedding 81.78 SVM Stem Yhdistetty 95.56 SVM Lemma TF-IDF 97.33 SVM Lemma Embedding 88.89 SVM Lemma Yhdistetty 96.00 Taulukosta 10 nähdään, että validoinnissa paras suorituskyky on TF-IDF-menetelmällä riippumatta käytetystä luokittelualgoritmista tai esikäsittelymenetelmästä. Viitaten että yksinkertaisempi, yksittäisten sanojen tärkeyteen keskittyvä menetelmä olisi sopivin va- littuun luokittelutehtävään. Word embeddingien suorituskyky on jokaisessa toteutuk- sessa merkittävästi heikompi. On mahdollista, että pienestä datasetistä muodostettu sa- nasto ei tuota riittävästi luokittelupäätökselle merkittävää tietoa, tai valitut menetelmät 46 kohinan poistamiseen eivät ole riittäviä. On myös mahdollista, että word embedding tuo yhdistettyyn ominaisuuteen lisäarvon sijaan kohinaa, joka vaikuttaa alentavasti tark- kuustulokseen. Valittujen luokittelualgoritmien tai esikäsittelymenetelmien välillä tark- kuustuloksissa ei ole suuria eroavaisuuksia. Pienistä eroista on huomattavissa, että logis- tinen regressio on tukivektorikonetta tarkempi, mikäli syöte on stemmattu (Stem). Lem- matisoinnissa (Lemma) tukivektorikone on suorituskyvyltään hieman tarkempi TF-IDF ja word embedding ominaisuuksilla. Vaikka validointidatasetillä toteutetun ristivalidoinnin perusteella voidaan tehdä johto- päätöksiä mallien suorituskyvystä, eivät tulokset ole riittäviä arvioimaan mallien yleistys- kykyä eli kykyä luokitella täysin uusia selostuksia. Tämä johtuu siitä, että datasetin ollessa pienikokoinen myös validointidatasetti jää rajalliseksi. Rajallisella datalla validointi ja koulutussetin välille saattaa jäädä merkittäviä yhtäläisyyksiä, jotka voivat johtaa suori- tuskyvyn ylipositiiviseen arviointiin. Ristivalidoinnilla saatuja tarkkuuksia voidaan käyt- tää varmistaessa, ettei malli ylisovitu. Ylisovittumisen seurauksena lopulliset tarkkuudet olisivat matalia, sillä joidenkin ristivalidoinnin osajoukkojen tarkkuustulokset olisivat heikkoja, mikä laskisi keskiarvoa. Mallien toiminnan ymmärtämiseksi, voidaan niiden koulutusdatan perusteella muodos- tamia päätösrajapintoja visualisoida kaksiulotteisella kuvaajalla. Kuvion 5 vasemmassa kuvaajassa on esitetty logistisen regression ja oikealla tukivektorikoneen muodostamat päätösrajat heikoiten suoriutuneista word embedding -ominaisuuksista. Visualisointia varten myös ominaisuudet täytyi muuntaa kaksiulotteiseksi. On tärkeä ymmärtää johto- päätöksiä tehdessä, ettei visualisointi kykene esittämään todellista mallin moniulotteista päätöspintaa. On siis mahdollista, että syöte on luokiteltu oikein, vaikka kaksiulotteisessa visualisoinnissa vastaava syöte asettuisi toisen luokan päätöspinnalle. Kuvion 5 kuvaajissa on havaittavissa, että luokkakohtaiset päätösrajat sisältävät paljon toiseen luokkaan kuuluvia syötteitä. Tämä voi tarkoittaa, että mallilla on vaikeuksia löy- tää syötteistä luokkakohtaisia eroavaisuuksia, johtaen huonoon tarkkuuteen. Huono 47 ominaisuuksien erotettavuus voi johtua pienestä koulutusdatasetin koosta tai liiallisesta kohinasta. Vaikutus ei kuitenkaan ole yhtä merkittävä kuin kuvion 5 kaksiulotteiset ku- vaajat indikoivat, sillä suorituskyvyltään heikoimmassa mallissa tarkkuus oli melko kor- kea: 83.55 %. Kuvio 5. Päätösrajapintojen kaksiulotteinen visualisointi. Huomioiden esitetyt perustelut sekä validointivaiheessa saavutetut korkeat tarkkuustu- lokset, voidaan toteutettujen mallien olevan toimintakuntoisia, ja siirtyä arvioimaan nii- den yleistyskykyä vertailudatan avulla. 48 5 Tulokset Tässä luvussa on esitetty tutkielman kokeellisen osan lopullisen, vertailudatan luokitte- lun tarkkuustulokset. Vertailudatasetti koostuu 44 malleille täysin uusista selostuksista, jonka kokoonpano on tarkemmin esitetty yhdessä vertailudatan alaluvussa ja liitteessä 2. Mallin todellista suorituskykyä on asianmukaisempaa arvioida erillisellä vertailudata- setillä, sillä hyvä yleistyskyky on tutkittavan käyttökohteen eli rikosilmoitusten luokitte- luun kriittistä. Lisäksi kuratoidulla vertailudatalla voidaan tehdä tarkempia havaintoja mallin suorituskyvystä syötetarkkuudella. Luvussa esitetään mallien suorituskykyä, ja verrataan vertailudatan tarkkuuslukemia va- lidointivaiheessa saatuihin arvoihin. Alaluvussa esitetään johtopäätöksiä tukeutuen luo- kittelua kuvaaviin konfuusiomatriiseihin. Matriisien perusteella tehtyjä havaintoja konk- retisoidaan tutkimalla tarkemmin virheellisesti luokiteltuja syötteitä. Mallien vertailudatasetin luokittelutarkkuudet on esitetty alla olevassa taulukossa 11. Taulukossa on esitetty jokaisessa mallissa käytetty luokittelualgoritmi, esikäsittely- ja ominaisuuksienpoimintamenetelmä. Lisäksi taulukossa 11 on esitetty oikeiden ennustei- den lukumäärä 44 syötteestä. Tarkkuuden mittaamiseen on käytetty samaa tarkkuustu- losta, eli oikeiden ennusteiden osuutta suhteessa kaikkiin syötteisiin. Myös vertailu- ja validointitarkkuuden välinen muutos on laskettu taulukkoon analyysin tukemiseksi. Jäl- kimmäisenä taulukkoon on sisällytetty hienosäädetyn FinBERT-mallin saavuttama tark- kuus vertailudatan luokittelussa. 49 Taulukko 11. Vertailusetin luokittelun tarkkuusarvot. Luokitin Esikäsittely Ominaisuus Oikein # Tarkkuus % Muutos % LogReg Stem TF-IDF 39 88.64 -10.03 LogReg Stem Embedding 34 77.27 -6.28 LogReg Stem Yhdistetty 39 88.64 -9.58 LogReg Lemma TF-IDF 39 88.64 -6.92 LogReg Lemma Embedding 31 70.45 -17.11 LogReg Lemma Yhdistetty 38 86.36 -10.97 SVM Stem TF-IDF 39 88.64 -8.69 SVM Stem Embedding 34 77.27 -4.51 SVM Stem Yhdistetty 39 88.64 -6.92 SVM Lemma TF-IDF 38 86.36 -10.97 SVM Lemma Embedding 29 65.91 -22.98 SVM Lemma Yhdistetty 36 81.82 -14.18 FinBERT 41 93.18 -6.82 Vertailusetin tuloksista on havaittavissa, että tarkkuus on toteutuksesta riippumatta va- lidointitarkkuutta heikompi. Tämä on oletettavaa, sillä validointidata on alkuperältään eritelty otos koulutusdatasta, ja siten myös epäsuorasti heijastuva koulutukseen käyte- tystä datasta. Vertailudatasetti on täysin muista dataseteistä itsenäinen kokonaisuus, ja on malleille täysin uutta. Siten on mahdollista, että vertailudata on koulutus- ja validoin- tidataan verrattuna mallille vaikeampaa. Heikommasta tarkkuustuloksesta huolimatta taulukossa 11 esitetyt tulokset ovat yhte- näisiä validointivaiheen taulukosta 10 tehtyjen havaintojen kanssa: Toteutetuista mal- leista tarkkuus on paras TF-IDF-luokittimilla ja heikoin word embeddingiä käyttävillä mal- leilla. Aiemmin esitetty perustelu siitä, että yhdistetyssä ominaisuudessa word embed- ding tuo lisäarvon sijaan dataan kohinaa, ei ole yhtä selkeästi näkyvä taulukon 11 tulok- sissa. Tulosten mukaan yhdistetyn ominaisuuden tarkkuus on lähes identtinen TF-IDF:n 50 kanssa, vaikkakin hieman matalampi syötteen ollessa lemmatisoitu. On todennäköistä, että lemmatisointi yksinkertaistaa syötteiden sanoja liikaa, jolloin mallien on vaikea muo- dostaa tarkkaa päätöspintaa syötteiden luokittelemiseksi. Perustelua tukee taulukon 11 tulokset, jossa lemmatisointia käyttävät mallit suoriutuvat huonommin verrattuna stem- mausmalleihin, pois lukien logistisen regression TF-IDF mallia. Ero stemmauksen ja lem- matisoinnin välillä on näkyvä etenkin word embedding -malleissa. Stemmaus poistaa sa- noista vain loppuosan taivutusmuodon, jonka seurauksena mallin sanastoon voi muo- dostua erilaisia variaatioita samasta sanasta. Näiden sanojen välillä voi olla luokittelu- päätöksen kannalta merkittävää tietoa, joka edesauttaa stemmausmallien luokittelu- tarkkuutta. Valitun luokittelualgoritmin vaikutus luokittelutarkkuuteen on minimaalinen validointi- ja vertailudatan tarkkuustuloksien perusteella. Taulukossa 11 on kuitenkin havaittavissa, että logistinen regressio suoriutuu hieman tukivektorikonetta tarkemmin, kun ominai- suutena ei ole pelkkä TF-IDF. Logistisen regression hieman parempi suorituskyky vihjaa siihen, että yksinkertaisempi lineaarinen malli on valittuun luokittelutehtävään sopi- vampi. On mahdollista, että epälineaarinen tukivektorikone muodostaa luokittelutehtä- vään liian monimutkaisen päätösrajapinnan, jolloin se voi ylisovittua pienempien tai ko- hinaa sisältävien ominaisuusjoukkojen kohdalla. Luokittelutehtävään hienosäädetyllä FinBERT-mallilla oli vertailudatasetin luokittelussa paras suorituskyky, ja virheellisiä ennusteita malli teki vain kolme. Mallin erittäin hyvä suorituskyky johtuu todennäköisesti sen kyvystä ymmärtää lauseiden kontekstuaalista merkitystä. Lisäksi mallin esikoulutuksen takia se ei ole sanaston muodostamisessa riip- puvainen koulutusdatasta, kuten muut tutkielman toteutukset. Malli kykenee ymmärtä- mään koulutusdatassa esiintymättömiä sanoja, jolloin sen yleistyskyky on myös parempi. 51 5.1 Konfuusiomatsiisit Tässä alaluvussa esitellään mallien luokitteluprosessia kuvaavia konfuusiomatriiseja, jotka toimivat tukena luokittelusta tehtäviin johtopäätöksiin. Konfuusiomatriisin avulla voidaan hahmottaa, miten luokitin ennustaa sille annettujen syötteiden luokat. Kon- fuusiomatriisin y-akseli kuvaa syötteen oikeaa luokkaa, ja x-akseli mallin tekemää ennus- tetta. Oikein luokitellut syötteet asettuvat matriisiin siten, että ne ovat molempien akse- leiden nähden saman luokan kanssa linjassa. Kuvio 6. Suorituskyvyltään tarkimpien mallien konfuusiomatriisit Yllä olevassa kuviossa 6 on esitetty suorituskyvyltään tarkimpien mallien vertailudatan luokittelun konfuusiomatriisit. Vasemmassa matriisissa on esitetty FinBERT-malli, ja oi- keanpuoleisessa matriisissa stemmausta ja TF-IDF-ominaisuuksia käyttävä logistisen reg- ression malli. Muiden 88.64 % tarkkuusarvon saaneiden mallien konfuusiomatriisit ovat identtisiä kuvion 6 oikeanpuoleisen matriisiin kanssa. Matriiseista on havaittavissa, että kaikki virheelliset luokitukset tapahtuvat luokkien näpistys ja varkaus kesken. Mallit ky- kenevät erottelemaan petosnimikkeeseen kuuluvat selostukset tarkasti. Nimikkeinä var- kaus ja näpistys ovat tekotavaltaan hyvin samanlaisia, ja niiden tyypillinen erottava tekijä on anastetun omaisuuden arvo. Esikäsittelyssä selostuksista kuitenkin poistetaan nume- rot, jolloin menetetään mahdollinen tarkka tieto anastetun omaisuuden arvosta. Pelkkä numeroiden säilyttäminen todennäköisesti heikentäisi suorituskykyä, koska selostuksiin 52 tulisi samalla lisää luokittelulle merkityksetöntä kohinaa, kuten kellonaikoja. Kahden sa- mankaltaisen luokan välillä mallin on vaikeampi löytää oikean luokituspäätöksen kan- nalta merkittäviä ominaisuuksia, jolloin syötteet asettuvat erittäin lähelle luokkien välistä päätöspintaa, tai väärän luokan puolelle. Täysin identtiset tarkkuustulokset ja konfuusiomatriisit indikoivat, että malleilla on to- teutuksesta riippumatta vaikeuksia erotella samankaltaisia syötteitä oikeaan luokkaan. Tarkastellessa luokittelua syötetasolla huomataan, että virheellisiä ennustuksia esiintyy kaikissa liitteessä 2 esitellyissä laatumääritelmissä. Tätä voidaan perustella sillä, että te- kotavan luokittelun kannalta merkittävät sanat esiintyvät jo suppeassakin selostuksessa. Pidemmät selostukset sisältävät usein kertomusta tukevia lisätietoja tai yksityiskohtia, jotka eivät ole rikosnimikkeen tunnistamiseen yhtä oleellisia. Virheellisesti luokitelluista selostuksista jokainen kuului liitteessä 2 esitettyihin tunnistei- siin eriävä tai sama. Esimerkiksi tarkimmissa, 86.64 % tarkkuustuloksen malleissa kolme virheellistä ennustusta kuuluivat tunnisteeseen sama, ja kaksi tunnisteeseen eriävä. Tun- nisteeseen sama kuuluvat selostukset ovat ilmoituksia, joissa on käytetty mahdollisim- man paljon samoja sanoja riippumatta siitä, mihin nimikkeeseen ilmoitus kuuluu. Ha- vainto tukee aiempaa arviota mallien vaikeuksista erotella samankaltaisia syötteitä. Tun- nisteeseen eriävä kuuluvat syötteet ovat täysin uniikkeja selostuksia. On todennäköistä, että selostuksissa on paljon malleille tuntemattomia sanoja tai että selostuksesta karsiu- tuu oleellinen tieto omaisuuden arvosta esikäsittelyn aikana, johtaen virheellisiin luokit- telupäätöksiin. Tarkkuustuloksen parantamiseksi tulisi kehittää etenkin syötteiden esikä- sittelyä ja ominaisuudenpoimintaa. 53 Kuvio 7. Suorituskyvyltään heikoimpien mallien konfuusiomatriisit Yllä olevassa kuviossa 7 on esitetty konfuusiomatriisit malleille, jotka saivat heikoimmat tarkkuustulokset. Molemmat matriisit kuvaavat lemmatisointia käyttäviä malleja, ja tu- kee aiempaa perustelua stemmauksen hyödystä. Myös kuvion 7 matriiseissa on havait- tavissa mallien vaikeudet erotella etenkin varkaus- ja näpistysselostuksia. Word embed- ding -malleilla on myös vaikeuksia petosrikosten luokittelussa. Näiden mallien suoritus- kyvyn parantaminen vaatisi esikäsittelyn kehittämisen lisäksi huomattavasti laajempaa koulutusdataa, jolloin mallin sanastosta saadaan kattavampi. On myös mahdollista, että word embedding on toimintaperiaatteensa vuoksi huonompi valinta kyseiseen luokitte- lutehtävään. Luokittelutehtävän kannalta yksinkertaisempi, yksittäisiin sanoihin keskit- tyvä ratkaisu voi olla tehokkaampi. 54 6 Johtopäätökset Työssä tutkittiin luonnollisen kielen käsittelyä rikostutkinnan kontekstissa. Tutkielman ta- voitteena oli tutkia teknologian soveltuvuutta rikosilmoitusten luokitteluun. Tavoitteen johdonmukaistamiseksi tutkielmalle asetettiin kolme tutkimuskysymystä: 1. Soveltuuko avainsanapohjainen luonnollisen kielen käsittely rikosilmoitusten luokitteluun? 2. Miten eri menetelmät ja luokittelijat vaikuttavat luokittelun tarkkuuteen? 3. Suoriutuuko esikoulutettu syväoppimismalli paremmin kuin käyttökohteeseen rajallisella datalla koulutettu luokittelija? Kysymykset 2 ja 3 toimivat kysymyksen 1 alikysymyksinä. Johtopäätöksien perustana toi- mivat kokeellisen osan toteutuksen aikana tehdyt havainnot ja esitetyt tulokset. Lisäksi tutkielman alaluvussa on esitetty jatkotutkimuksen kannalta mahdollisia kehityssuuntia. Käsiteltäessä ensimmäistä tutkimuskysymystä, voidaan kokeellisen osan yleistyskykyä mittaavien tulosten perusteella todeta, että NLP soveltuu käytettäväksi rikosilmoitusten luokitteluun. Vaikka toteutettujen mallien suorituskykyjen välillä oli suuriakin eroja, on jokainen malli kykenevä luokittelemaan tarkasti toisistaan eroavia rikoksia. NLP-mallit kykenevät löytämään rikosselostuksista kullekin luokalle merkittäviä ominaisuuksia, joi- den perusteella voidaan tehdä luokittelupäätös. Rikosilmoitukset ovat siten luokittelu- kelpoisia syötteitä luonnollisen kielen käsittelyssä. Tutkielman tavoitteena ei ollut suo- raan luokittelutarkkuuden maksimointi, mutta kokeellisessa osassa tunnistettiin konk- reettisia esikäsittelyn ja ominaisuudenpoiminnan kehityskohteita, joilla parantaa suori- tuskykyä. Nämä johtopäätökset viittaavat siihen, että teknologia on itsessään riittävän kypsä käyttötarkoitukseen. Verrattaessa tuloksia käytettyjen menetelmien välillä voidaan todeta, että valittuun luo- kittelutehtävään parhaaksi ominaisuudenpoimintamenetelmäksi osoittautui yksittäisten sanojen merkitystä korostava TF-IDF-menetelmä. Myös korkeasti TF-IDF-arvolla paino- tettu word embeddingien kanssa yhdistetty ominaisuus tuotti varsin korkeita 55 tarkkuustuloksia. Word embedding osoittautui heikoimmaksi menetelmäksi, jota käytet- täessä malleilla oli eniten vaikeuksia oikean ennustuksen tuottamisessa. Valituista luo- kittelualgoritmeista lineaarinen regressio oli tulosten perusteella hieman tarkempi ver- rattuna epälineaariseen tukivektorikoneeseen, vaikkakin valitun luokittelijan vaikutus suorituskykyyn oli minimaalinen. Stemmaus osoittautui lemmatisointiin verrattuna tark- kuuden kannalta paremmaksi esikäsittelyn menetelmäksi. Viitaten siihen, että lemmati- sointi yhdenmukaistaa syötteitä liikaa ja menettää siten luokittelupäätökselle merkittä- vää tietoa. Transformer-arkkitehtuuriin perustuva ja suomen kielellä esikoulutettu FinBERT-malli suoriutui luokittelusta tarkemmin muut toteutetut mallit. Mallin esikoulutettu sanasto ja kyky ymmärtää käsiteltävän sekvenssin eli lauseen kontekstuaalista merkitystä mah- dollisti erittäin hyvän yleistämiskyvyn saavuttamisen pienelläkin koulutusdatalla. 6.1 Kehityssuunnat ja suositukset Päällimmäisenä parannuskohteena on mallien esikäsittelyn ja ominaisuuksienpoiminnan kehittäminen. On oleellista tunnistaa rikosnimikekohtaiset merkittävät ominaispiirteet, jotka tulisi saada poimittua syötteistä ominaisuuksiksi. Nämä ominaisuudet pitää tunnis- taa, poimia ja muuntaa muotoon, joka ei lisää ominaisavaruuteen kohinaa ja heikennä luokittelutarkkuutta. Lisäämällä syötteen käsittelyyn nimettyjen entiteettien erottelun (engl. Named entity recognition, NER), voisi malli tunnistaa ja yhdistää harvinaisia mutta luokittelun kannalta merkityksettömiä tietueita yhtenäiseksi ominaisuudeksi. Esimer- kiksi selostuksissa esiintyvät luvut välillä [0, 500] voitaisiin käsitellä yhtenä tunnisteena, ja vastaavasti luvut välillä [501, 5000] toisena tunnisteena. Näin malli saisi käyttöön var- kauden ja näpistyksen erottavan ominaisuuden ilman jokaisen numeron erikseen käsit- telystä aiheutuvaa kohinaa. Teknologian käytännön soveltamisen edistämiseksi tulisi tutkia, miten mallit suoriutuvat suuremmalla luokkamäärällä. Tutkielmassa tarkasteltiin petosta, varkautta ja näpistystä, 56 mutta Suomen rikoslaissa on huomattavasti enemmän nimikkeitä. Suurin haaste luok- kien lisäämisessä on datan määrän kasvaminen, sillä koulutusdatan tulisi olla tasapainoi- nen kaikkien luokkien välillä. Jotta luokkien lisääminen pysyisi työmäärältään realistisena ja säilyttäisi datan korkean laadun, tunnistetaan tarve saada tutkimuskäyttöön oikeita rikosilmoituksia. Viimeisimpänä parannuskohteena esitetään luokittelulogiikan kehittäminen. Tutkiel- massa toteutetut mallit olettavat, että syöte voi kuulua vain yhteen luokkaan. Todellisuu- dessa rikosilmoituksesta voidaan tunnistaa usea rikosnimike, mikäli selostus sisältää usean rikosnimikkeen täyttävät tunnusmerkistöt. Tutkielmassa käytetty logistisen reg- ression luokittelualgoritmi olettaa syötteen kuuluvan vain yhteen luokkaan, jonka takia se ei sovellu vastaavaan käyttökohteeseen. FinBERT-mallin hyvän suorituskyvyn perus- teella myös monikielisten transformer-mallien, kuten XML-RoBERTan suorituskykyä luo- kittelutehtävään voisi tutkia laajemmin. 57 Lähteet Beuker, A. (2023). Rikollisuustilanne 2022: rikollisuuskehitys tilastojen ja tutkimusten va- lossa. Helsingin yliopisto, kriminologian ja oikeuspolitiikan instituutti. Noudettu 18.10.2024 osoitteesta http://hdl.handle.net/10138/568863 Bonisoli, G., Rollo, F., & Po, L. (2021). Using Word Embeddings for Italian Crime News Categorization. 2021 16th Conference on Computer Science and Intelligence Sys- tems (FedCSIS), 461–470. Noudettu 22.10.2024 osoitteesta https://doi.org/10.15439/2021F118 Cortes, C., Vapnik, V. (1995). Support-vector networks. Machine Learning 20, 273–297 (1995). Noudettu 28.10.2024 osoitteesta https://doi.org/10.1007/BF00994018 Devlin, J., Chang, M.-W., Lee, K., & Toutanova, K. (2019). BERT: Pre-training of Deep Bi- directional Transformers for Language Understanding. arXiv. Noudettu 26.10.2024 osoitteesta https://doi.org/10.48550/arXiv.1810.04805 Eisenstein, J. (2018). Natural Language Processing. Noudettu 16.10.2024 osoitteesta https://cseweb.ucsd.edu/~nnakashole/teaching/eisenstein-nov18.pdf Esitutkintalaki 22.7.2011/805. Finlex. Noudettu 17.10.2024 osoitteesta https://fin- lex.fi/fi/laki/ajantasa/2011/20110805 Finanssiala. (2024). Huijareilla oli aktiivinen vuosi 2023 – Pankit saivat estettyä digihui- jauksia lähes 33 miljoonan euron edestä. Noudettu 19.10.2024 osoitteesta https://www.finanssiala.fi/uutiset/huijareilla-oli-aktiivinen-vuosi-2023-pankit- saivat-estettya-digihuijauksia-lahes-33-miljoonan-euron-edesta/ Finanssiala. (2024). Huijaukset kovassa kasvussa – pankit onnistuivat pysäyttämään yli 18 miljoonaa euroa huijattua rahaa. Noudettu 19.10.2024 osoitteesta https://www.finanssiala.fi/uutiset/huijaukset-kovassa-kasvussa-pankit-onnistui- vat-pysayttamaan-yli-18-miljoonaa-euroa-huijattua-rahaa/ Joachims, T. (1998). Text categorization with Support Vector Machines: Learning with many relevant features. Teoksessa C. Nédellec & C. Rouveirol (Toim.), Machine Learning: ECML-98 (Vsk. 1398, s. 137–142). Springer Berlin Heidelberg. Noudettu 25.10.2024 osoitteesta https://doi.org/10.1007/BFb0026683 http://hdl.handle.net/10138/568863 https://doi.org/10.15439/2021F118 https://doi.org/10.1007/BF00994018 https://doi.org/10.48550/arXiv.1810.04805 https://cseweb.ucsd.edu/~nnakashole/teaching/eisenstein-nov18.pdf https://finlex.fi/fi/laki/ajantasa/2011/20110805 https://finlex.fi/fi/laki/ajantasa/2011/20110805 https://www.finanssiala.fi/uutiset/huijareilla-oli-aktiivinen-vuosi-2023-pankit-saivat-estettya-digihuijauksia-lahes-33-miljoonan-euron-edesta/ https://www.finanssiala.fi/uutiset/huijareilla-oli-aktiivinen-vuosi-2023-pankit-saivat-estettya-digihuijauksia-lahes-33-miljoonan-euron-edesta/ https://www.finanssiala.fi/uutiset/huijaukset-kovassa-kasvussa-pankit-onnistuivat-pysayttamaan-yli-18-miljoonaa-euroa-huijattua-rahaa/ https://www.finanssiala.fi/uutiset/huijaukset-kovassa-kasvussa-pankit-onnistuivat-pysayttamaan-yli-18-miljoonaa-euroa-huijattua-rahaa/ https://doi.org/10.1007/BFb0026683 58 Jokela, J. (2022). Classification of Finnish injury descriptions using BERT. Perustieteiden korkeakoulu, Aalto-yliopisto. Noudettu 3.10.2024 osoitteesta https://aalto- doc.aalto.fi/handle/123456789/115208 Jurafsky, D., Martin, J. Speech and Language Processing. (2024). Noudettu 20.10.2024 osoitteesta https://web.stanford.edu/~jurafsky/slp3/ Kielipankki. (n.d). Kielipankki. Noudettu 2.10.2024 osoitteesta https://www.kieli- pankki.fi/ Mansikka, M. (2020). Uutisdatan luokittelu: Suomenkieliset uutisotsikot. Tampereen yli- opisto. Noudettu 3.10.2024 osoitteesta https://trepo.tuni.fi/han- dle/10024/123571 Marcus, M. (1993). Building a Large Annotated Corpus of English: The Penn Treebank. Defense Technical Information Center. Noudettu 1.11.2024 osoitteesta https://doi.org/10.21236/ADA273556 Mikolov, T., Chen, K., Corrado, G., & Dean, J. (2013). Efficient Estimation of Word Repre- sentations in Vector Space (No. arXiv:1301.3781). arXiv. Noudettu 22.10.2024 osoitteesta http://arxiv.org/abs/1301.3781 Mishra, S., & Misra, A. (2017). Structured and Unstructured Big Data Analytics. 2017 In- ternational Conference on Current Trends in Computer, Electrical, Electronics and Communication (CTCEEC), 740–746. Noudettu 23.10.2024 osoitteesta https://doi.org/10.1109/CTCEEC.2017.8454999 Mähönen, M. (2013). Tekstin luokittelu. Noudettu 3.10.2024 osoitteesta https://trepo.tuni.fi/handle/123456789/21584 NLTK. (2024). Natural Language Toolkit. Noudettu 3.11.2024 osoitteesta https://www.nltk.org/ Poliisi. (n.d). Rikoksen tutkinta—Tutustu esitutkintaan. Noudettu 28.9.2024, osoitteesta https://poliisi.fi/rikoksen-tutkinta Rikoslaki 19.12.1889/39. Finlex. Noudettu 17.10.2024 osoitteesta https://fin- lex.fi/fi/laki/ajantasa/1889/18890039001 https://aaltodoc.aalto.fi/handle/123456789/115208 https://aaltodoc.aalto.fi/handle/123456789/115208 https://web.stanford.edu/~jurafsky/slp3/ https://www.kielipankki.fi/ https://www.kielipankki.fi/ https://trepo.tuni.fi/handle/10024/123571 https://trepo.tuni.fi/handle/10024/123571 https://doi.org/10.21236/ADA273556 http://arxiv.org/abs/1301.3781 https://doi.org/10.1109/CTCEEC.2017.8454999 https://trepo.tuni.fi/handle/123456789/21584 https://www.nltk.org/ https://poliisi.fi/rikoksen-tutkinta https://finlex.fi/fi/laki/ajantasa/1889/18890039001 https://finlex.fi/fi/laki/ajantasa/1889/18890039001 59 Robertson, S. (2004). Understanding inverse document f