”Epämääräisen” tiedon yhdistämien

Slides:



Advertisements
Samankaltaiset esitykset
Hyvässä seurassa on ilo liikkua! ® TUOMARIPALAVERI ”SÄÄNTÖPRIIFFI”
Advertisements

18. Abstraktit tietotyypit
Copyright  Hannu Laine Bittitason-operaatiot Hannu Laine.
Lionsliiton aineistosta koonnut P.Siitonen 4/ KLUBISIHTEERI koulutus Pekka Siitonen Piirisihteeri
15. Loogiset operaatiot.
@ Leena Lahtinen Helia Ohjelman perusrakenteet 1. PERÄKKÄISRAKENNE 2. VALINTARAKENNE 3. TOISTORAKENNE.
Yhtälön ratkaiseminen
Hakukoneet Kotimaiset hakukoneetPortaalit Ulkomaisia hakukoneitaMetahakukoneet.
Moodlen ohje opiskelijoille
Portal-ohje opiskelijoille. 2 Kirjaudu sisään tunnuksella ja salasanalla. Portaliin kirjauduttaessa käytetään samoja tunnuksia kuin muihin VAMKin IT-järjestelmiin.
S ysteemianalyysin Laboratorio Aalto-yliopiston teknillinen korkeakoulu Esitelmä 10 – Juho Kokkala Optimointiopin seminaari - Syksy 2010 Kernel-tasoitus.
JavaScript (c) Irja & Reino Aarinen, 2007
Semantiikka/ Kysy kirjastonhoitajalta 05/2008. Semanttinen vastausliittymä Prototyyppi Opas luotiin FinnOnto-projektin osana (2006). Opas sisälsi vastaajan.
Visuaalinen analytiikka Case: Alkon myymälöiden segmentointi
Suunnitelma ohjelmiston testaukseen
Ohjelman perusrakenteet
Työ, teho ja yksinkertaiset koneet
Tietokanta.
2.8.3 Abstraktit tietotyypit
Aggregaattifunktiot (1)
Power Point – esitysgrafiikkaohjelma lyhyesti
Sisältö: Johdanto kryptografiaan Salakirjoitus
13. Pakkaukset.
Auli Jaakkola 1 Palkkatiedustelun tietomallin mukaisen tilastovastauksen luonti Tässä esimerkissä tiedosto tuotetaan excelistä csv-muotoon. 1.Oletetaan,
Antti-Jussi Lakanen Nuorten peliohjelmointi 2009 / Jyväskylän yliopisto.
KANTATAAJUINEN BINÄÄRINEN SIIRTOJÄRJESTELMÄ AWGN-KANAVASSA
TIETOKONEOHJELMAN RAKENNE OHJELMALLA ON KAKSI OSAA  MÄÄRITYSOSA TIETOJEN KUVAUKSIA VARTEN  SUORITUSOSA TIETOJEN KÄSITTELYÄ VARTEN.
Luovia ihmisiä ajaa eteenpäin ns. kosmologinen motiivi eli pyrkimys rakentaa kosmosta, järjestystä, suhteessa itseen ja maailmaan. Kulttuurin alojen suurista.
(Joskus puhutaan myös komponenttitestauksesta.) Pienin kokonaisuus, joka on järkevä testata erikseen. ● Perinteisesti yksittäinen aliohjelma. ● Olio-ohjelmien.
TMA.003 / L3 ( )1 3. Funktioista 3.1. Kuvaus ja funktio Olkoon A ja B ei-tyhjiä joukkoja. Tulojoukon A  B = {(x,y) | x  A, y  B} osajoukko on.
RSA – Julkisen avaimen salakirjoitusmenetelmä Perusteet, algoritmit, hyökkäykset Matti K. Sinisalo, FL.
Word – joukkokirjeet ja tarrat
Ohjelman perusrakenteet
Tiedon esittäminen.
2. Vuokaaviot.
Tiedonhakumenetelmät Helena Ahonen-Myka Kevät 2004, osa 9 Merkkijonohahmon etsintä selaamalla.
13. Hyvä ohjelmointitapa (osa 1)
PID-säätimen parametrien optimointi GA:lla
Tietovuokaaviot (ei osa UML-kieltä)
Tietoturvan perusteet - Syksy 2005 SSH salattu yhteys & autentikointi Tekijät: Antti Huhtala & Asko Ikävalko (TP02S)
Erilaiset liitokset FROM-osassa voidaan määritellä relaatio myös erilaisia liitosoperaatioita käyttäen Vasen, oikea ja täysi puoliliitos eli ulkoliitos.
Jatkuvan parantamisen Jp-taulu
Miksi tämä on vaikeaa? Ilman minkäänlaisia rajoitteita ongelmat ei ole vaikeita ratkaista. Siihen löytyy jopa valmis ”kaava”. Valitettavasti jokaisessa.
© 2010 IBM Corporation1 Objektien käyttöoikeudet  Kaikilla sisällönhallinnan objekteilla on käyttöoikeudet. Käyttöoikeudet on jaoteltuina Lukuoikeuksiin,
Toistorakenne Toistorakennetta käytetään ohjelmissa sellaisissa tilanteissa, joissa jotain tiettyä ohjelmassa tapahtuvaa toimenpidekokonaisuutta halutaan.
Tiedonhakumenetelmät Helena Ahonen-Myka kevät 2004, osa 3 Indeksointi (1/2), harjoitustyön tehtävänmäärittely.
6. Relaatioalgebra ja relaatiokalkyyli
Muuttujien riippuvuus
© Jukka Juslin1 Osio2 Olio-ohjelmointi: Merkkijonot eli Stringit Jukka Juslin.
Rinnakkaisuus Järjestelmässä, jossa voi olla useita prosesseja rinnakkain suorituksessa voi tulla tilanteita, joissa prosessien suoritusta täytyy kontrolloida.
ITKY104 IT kaikkialla, 2 op Alku- ja perusinfo
Johdetun luokan olion alustus tMyn1 Johdetun luokan olion alustus määrätyillä arvoilla Kun ohjelmassa esiintyy johdetun luokan olion määrittely, järjestelmä.
Javascript 2: Ohjelmointikielen ominaisuudet Jaana Holvikivi Metropolia.
Funktio.
S ysteemianalyysin Laboratorio Aalto-yliopiston teknillinen korkeakoulu Ohjaamaton oppiminen– Heikki Vesterinen Optimointiopin seminaari - Syksy 2010 Ohjaamaton.
Toistorakenne Toistorakennetta käytetään ohjelmissa sellaisissa tilanteissa, joissa jotain tiettyä ohjelmassa tapahtuvaa toimenpidekokonaisuutta halutaan.
Keskusmuistitietokantahakemistot Vilho Raatikka Solid Information Technology Tietokannat NYT! Helsinki,
XSL Teppo Räisänen
XSL Teppo Räisänen
Tietokannat -kurssi KSAO, Datanomit, käytön tuki kevät 2015 Lauri Tapola.
Listat eli luettelot listaelementit ovat lohkoelementtejä:  lista ja listan alkiot alkavat uudelta riviltä  listan jälkeen tuleva elementti alkaa uudelta.
Kuplalajittelu (bubble sort)
Lajittelun sovelluksia Yksilöllisyyden testaaminen Kopioiden poistaminen Mediaani/n:ksi suurimman valinta frekvenssien laskenta/yleisin alkio, l.moodi.
S Ihminen ja tietoliikennetekniikka Harjoitustyön tutkimussuunnitelma, Ryhmä 2: Simo Hakkarainen, 69085B (ryhmänjohtaja) Antti Ratilainen,
Jenna Nyblom Katri Vanhatalo Oskari Anttalainen
UML-luokkakaavio ● Luokkakaavio (class diagram) kuvaa järjestelmän luokkarakennetta ● Mitä luokkia on olemassa ● Minkälaisia luokat ovat ● Luokkien suhteet.
Pasi Tuominen MARC21 -tietuejoukkojen deduplikointi.
Matematiikkaa 3a, Kertausjakso Lukuja © Varga–Neményi ry 2016
Ohjelman perusrakenteet
Dynamic Reporting (DR) -raporttien teon parhaat käytännöt
Esityksen transkriptio:

”Epämääräisen” tiedon yhdistämien Jarkko Venna Numos Oy 15.9.2011 SAS Technical Club, Espoo

Numos Oy Perustettu 2001, toimii Innopolissa Espoossa 10 SAS-osaajaa, useimmat heistä SAS-sertifioituja analytiikan ammattilaisia Palvelutarjontaa mm. : Analyyttinen konsultointi ja koulutus Business Intelligence ja tietovarastointi SAS-konsultointi ja välinekoulutus SAS Instituten kumppani vuodesta 2002 Asiakkaita mm. kaupan, teollisuuden, vakuutuksen ja rahoituksen, terveyden-huollon ja tietoliikenteen aloilta Numos Oy Jarkko Venna

Eri lähteistä tulevan tiedon yhdistäminen Normaali tilanne Eri tietolähteissä on yhteinen uniikki yhdestä tai useammasta kentästä koostuva avain tai avain voidaan muodostaa tietojen perusteella. Tiedon yhdistäminen voidaan tehdä automaattisesti Epämääräinen tilanne Eri tietolähteissä ei ole yhteistä uniikkia avainta eikä sitä voida muodostaa. Datoissa oletetaan kuitenkin olevan yhteisiä tietoja. Tiedon yhdistämistä ei voida yleensä täysin automatisoida. Yhdistettäviä rivejä voi etsiä erilaisilla menetelmillä Numos Oy Jarkko Venna

Syitä avainten puuttumiseen Data on peräisin eri järjestelmistä. Esimerkiksi yritetään yhdistää kahden kaupan tuoterekisteriä. Samoja tuotteita on myynnissä molemmissa mutta eri tuotenimikkeellä/numerolla Datassa on virheitä Dataa on syötetty käsin ja avaimet voivat sisältää kirjoitusvirheitä Yhdistettävien datojen koodaus on erilainen Esimerkiksi käytetään lyhenteitä ja lyhentämättömiä termejä tai erilaisia tapoja lyhentää sanoja Numos Oy Jarkko Venna

Kirjoitusvirheitä sisältävien avainten yhdistäminen Perusstrategia Haetaan jokaiselle avaimelle vastine siten, että avaimen muuttaminen vastineeksi vaatii mahdollisimman pieniä muutoksia. Muutoksia voivat olla esim. Merkin vaihtuminen toiseksi, merkin lisääminen tai poistaminen, kahden peräkkäisen merkin paikan vaihtaminen. Muutosoperaatioille voidaan antaa erilaiset kustannukset. Kun merkkijonon toiseksi muuntamisen kustannukset lasketaan yhteen saadaan merkkijonojen välinen ”etäisyys”. Numos Oy Jarkko Venna

Merkkijonoetäisyyksien laskeminen SAS:lla COMPLEV(string-1, string-2 <,cutoff> <,modifiers>) Laskee Levenstein etäisyyden kahden merkkijonon välillä Etäisyys on muunnokseen tarvittavien lisäysten, poistojen tai yhden merkin vaihtojen lukumäärä Symmetrinen COMPGED(string-1, string-2 <,cutoff> <,modifiers>) Laskee yleistetyn muokkausetäisyyden kahden merkkijonon välillä 14 eri muokkausoperaatiota kuten lisäys alkuu, poisto alusta tai merkin kahdentaminen Muokkausoperaatioiden kustannuksia voi muuttaa CALL COMPCOST functiolla Symmetrinen ainoastaan kun kustannukset on määritelty sopivasti Jos on käytettävissä oikeiksi tiedettyjä pareja voidaan kustannukset optimoida parhaan tuloksen saamiseksi Numos Oy Jarkko Venna

Esimerkki: Levensthein etäisyydestä Sanojen "kitten" ja "sitting" välinen etäisyys on 3 kitten → sitten (korvataan 's' 'k‘:lla) sitten → sittin (korvataan 'i' 'e‘:llä) sittin → sitting (lisätään 'g' loppuun). Numos Oy Jarkko Venna

Tietojen yhdistäminen kun yhteistä avainta ei ole lainkaan Perusstrategia Ajatellaan yhdistettävät rivit datassa dokumenteiksi ja käytetään dokumenttihakua tietojen yhdistämiseen. Toinen datoista täytyy valita perusdataksi josta toista dataa vastaavia dokumentteja etsitään Numos Oy Jarkko Venna

Dokumentin muuttaminen numeeriseksi vektoriksi vertailua varten Lasketaan kunkin dokumentissa esiintyvän sanan esiintymiskertojen määrä. Dokumentin vektori esityksessä dokumenttijoukon jokainen sana on vektorin solu ja sen arvona on sanojen esiintymiskertojen lukumäärä dokumentissa Esim. I went fishing to the lake. The lake was green. Indeksi:arvo sana 1:1 Went 2:1 Fishing 3:2 Lake 4:1 Was 5:1 Green 6:1 I 7:0 Blue Numos Oy Jarkko Venna

TF-IDF-koodaus Vektorikoodauksen perusversion ongelmana on että jokainen sana on yhtä tärkeä. Parempi tulos saadaan muuttamalla sanojen painotuksia. TF-IDF: Term frequency – Inverse document frequency Sana frekvenssi (tf) = Sanan esiintymiskertojen määrä dokumentissä Käänteinen dokumentti frekvenssi (idf) = Dokumenttien kokonaismäärä jaettuna niiden dokumenttien määrällä jossa sana esiintyy. Usein painoa muokataan käyttäen logaritmia esim. (Log(tf)+1)*log(idf) Joissakin tilanteissa on järkevää jättää idf osio pois koodauksesta. Numos Oy Jarkko Venna

Dokumenttien välisen etäisyyden laskeminen Yleensä käytetään cosini etäisyyttä Cos(θ)=A∙B/||A|| ||B|| Cosinietäisyys jättää dokumentin pituuden huomioimatta etäisyyttä laskettaessa. Numos Oy Jarkko Venna

Laajennus kirjoitusvirheitä sisältävälle datalle Jos data sisältää kirjoitus virheitä tai eri muotoja samoista sanoista. Voidaan tf-idf koodauksesta tehdä sumea versio. Ideana on hakea merkkijonoetäisyyttä käyttäen hakudokumentin sanaa parhaiten perusdatasta löytyvä sana ja käyttää sitä koodausta tehtäessä sanan itsensä sijasta. Etäisyyttä laskettaessa voidaan eri sanojen merkitys painottaa sen mukaan kuinka hyvin sanat vastaavat toisiaan. Numos Oy Jarkko Venna

Esim: Sumea TDF-IDF Perus datassa sanat Kissa, kissoja, peruna Haetaan sanalla kissat Levensthein etäisyydet hakusanasta perussanoihin ovat Kissa 1, Kissoja 3 ja peruna 6. Sallitaan maksimissaan kaksi muutosta sanassa. Paras sopivuus hakusanan kanssa on sanalla kissa ja sen painoksi etäisyyslaskennassa saataisiin (2-1+1)/(2+1)=2/3 Numos Oy Jarkko Venna

Huomioita Sanastosta kannattaa poistaa hyvin yleiset sanat Sanat kannattaa muuntaa perusmuotoonsa Mikäli datasta on olemassa jotakin lisäinformaatiota ,esim. aikaleimoja, jonka avulla voidaan sulkea pois vaihtoehtoja niitä kannattaa käyttää. Joskus pelkää logiikkaa käyttäen voi yhdistää datat eikä monimutkaisempia menetelmiä tarvita Kannattaa alottaa yksinkertaisemmalla menetelmällä ja edetä monimutkaisempiin mikäli yksinkertaisempi ei tuota tulosta. Kannattaa edetä vaiheittain ja poistaa käsiteltävästä datasta ne rivit jotka on jo saatu yhdistettyä. Numos Oy Jarkko Venna

Kysymyksiä