Jatko-opiskelua

Tutkimussuunnitelmaa:

Taideteollisen alan tutkimukseen liittyvän sähköisten tietohakujen hallintasovelluksen kehitys

Application for managing electronic searches for researchers

avainsanat: hakukone, verkko-ohjelmointi, selaimen lisäosat, tietokanta, ohjelmointi, Javascript, Python, Ruby, tiedon louhinta, kone-oppiminen, natural language processing

Johdanto

Internetin tarjoama tietomassa tarjoaa tutkijalle tiedonhallinnan haasteen. Tämä haaste on myös mahdollisuus sillä periaatteessa sähköiset aineistot mahdollistavat kattavan kartoituksen siitä minkälaista tutkimusta ja tietoa omasta tutkimusalueesta maailmalla löytyy. Yleensä tämä selvitystyö on kuitenkin inhimillisesti mahdoton tehdä manuaalisesti jos haluaa perinpohjin selvittää mitä kaikkea tutkimusaiheeseen liittyvää tietoa maailmasta löytyy. Aiheesta kuin aiheesta löytyy miltei loputtomasti tietoa.

Otetaan esimerkkiskenaario: Haluan tutkia seuraavanlaista taideteollisen alan aihepiiriä: kuntoilupelit.

 

Tiedonintressini on se, että tutkimuksen tulisi palvella kuntoilupelin suunnittelua ja prototyypittämistä erityisesti ohjelmisto- ja käyttöliittymäsuunnittelun näkökulmasta.

Hakusana ‘exergames’ tuottaa suositussa hakukoneessa noin 237 000 tulosta (haku vuonna 2012). Tämä tuntuu vielä aika pieneltä määrältä kun verrataan tulokseen hakusanoilla ‘sports video game’, joka tuottaa noin 1 790 000 000 tulosta. Google scholar (http://scholar.google.fi/) tuottaa samalla haulla noin 151 000 tulosta

Jos laitan hakusanaksi Google scholar:iin ‘exergame design prototype’ niin tuloksia on vain 193.

193 tulosta on vielä manuaalisesti hallittavissa.  Mutta jos laitan saman haun googleen, tuloksia on noin 207 000.  On mahdotonta lukea näitä kaikkia sivuja edes silmäillen. Kun otetaan huomioon, että läpi pitäisi käydä satoja tai ehkäpä tuhansia muitakin hakuja, on yhtälö vähintäänkin haasteellinen.

Miten tietomassaa pitäisi lähestyä kun miljoonia hakutuloksia tuottavia hakuja tulisi tehtyä tutkimuksen aikana satoja, ellei tuhansia? 1

Koska esimerkin tutkimusaihe on ohjelmistokehitys- ja taideteolliselta alalta on olennaista myös kartoittaa tietoa, joka löytyy blogeista, mediauutisoinnista, keskustelupalstoilta ja yritysten sivuilta. Pitäytyminen pelkästään akateemiseen lähdeaineistoon ei ole perusteltua. Potentiaalisen tietomäärän hallinta on haaste. Ohjelmallisesti on tietysti mahdollista hallita suurempiakin tietomassoja. Peruslähtökohtakysymys on se minkälaisilla strategioilla tällaista tutkimusprojektiin potentiaalisesti kuuluvaa tietomassaa tulisi lähestyä ja hallita? Jos tutkimusaiheeseen liittyviä dokumentteja on vaikkapa miljardi ja jokainen dokumentti sisältää esimerkiksi 1-50 sivua on selvää, että on rajausta tehtävä, mutta millä kriteerein?

Näihin kysymyksiin pyrkii vastaamaan apuohjelma, johon sisään rakennetaan tutkimusaineistotiedonhallinnan strategia väitöskirjatutkimuksen tekemistä varten. Tutkimusprojektini on siis samalla ohjelmistokehitys- ja datanhallintaan kytkeytyvän tutkimusmenetelmän kehitysprojekti.

Yhteenveto ja erittely sovelluksen toiminnallisista ominaisuuksista:

-automaattinen hakutulosdokumenttien lataaminen
-dokumenttityyppien tunnistus
-dokumentin rakenteiden tunnistus
-dokumenttien konversiot hallittavampaan / luettavampaan muotoon
-hakujen ja tuloksien metadatan (hakusanat, tilastotiedot, url, title, h1, muistiinpanot, tagit, jne) automaattinen tallentuminen tietokantaan
-duplikaattihakujen ja hakutulosten uudelleen ohjaus paikallisiin tiedostoihin
-tutkimuskysymyksiin kustomoitu tiedonlouhinta aineistosta
-avainsanojen esiintymisten tilastolliset analyysit
-luetun tekstin automaattinen merkintä luetuksi
-muistiinpanojen tallennukset
-kirjanmerkkien hallinta
-sähkökirjojen muistiinpanojen integrointi
-tietokantahakujen hallinta
-tietokantahakujen tuottamien kategoriasanastojen automaattinen analyysi
-“natural language processing” algoritmien ja ohjelmistokirjastojen sovellusmahdollisuuksien kartoitus
-integraatio muiden yleisten apuohjelmien kanssa

Sovelluksessa käytettävät ohjelmointi- ja ohjelmistotekniikat:
python, ruby, javascript, jQuery, sql, sqlite, mysql, php, xml, html

Tutkimus- ja kehitysprojektin tarkempi suunnitelma

sovelluksen toiminnallisuuden näkökulmasta:

1) Automaattinen hakutulosdokumenttien lataaminen

– nykyisten valmiiden Firefox ja Chrome selainten lisäosien toiminnallisuuden analyysi
– selaimen lisäosan toteutus (Javascript)
– tarvittavien apuskriptien kehitys Python kielellä
– verkko-ohjelmointi
– nykyisten tarjolla olevien ohjelmistokirjastojen ja sovellusten kartoitus ensisijaisesti python, ruby ja javascript kielillä

2) Dokumenttityyppien tunnistus

– Ruby tai Python skripti
– tietokantaan luodaan dokumentille metadataleima (onko kyseessä teksti, html, kuva, xml, powerpoint, word, pdf tai joku muu dokumentti)
– sql tietokantasuunnittelu

3) Dokumentin rakenteiden ja alustava sisällön tunnistus

-tunnistus: tieteellinen artikkeli, blogikirjoitus, foorumisivu, yrityksen markkinointisivu, uutinen, jne..
– html rakenteiden analyysi: löytyykö h, p, elementtejä (miten paljon tekstiä p elementeissä) jne.
– Ruby ja/tai Python kirjastot
– manuaalisen tarkistuksen ja tarkennuksen tuottamien sääntöjen helppo syöttömahdollisuus tunnistusalgoritmeihin (”human-assisted machine learning”)

4) Dokumenttien konversiot hallittavampaan / luettavampaan muotoon

– ePub formaatin mahdollisuuksien kartoitus
– verkkodokumenttien konversioalgoritmit epub formaattiin
– konversiot luettavaan muotoon sähköisellä lukulaitteella (e-ink, iPad, mobiili laitteet)
– turhien elementtien tunnistus ja filtteröitin  (pois mainokset, footerit jne.)
– konversiot teksti ja ePub muotoon
– useampien dokumenttien yhdistäminen yhdeksi epub dokumentiksi per haku

5) Hakujen ja tuloksien metadatan (hakusanat, tilastotiedot, hakutulos url, title, h1, muistiinpanot, tagit, jne) automaattinen tallentuminen tietokantaan

– sql tietokantasuunnittelu ja implementointi metadatan hallintaan
– aikaisempien hakutulosten helppo hakutoiminto
– sqlite, mysql, javascript, ruby skriptien integrointi

6) Duplikaattihakujen ja hakutulosten uudelleen ohjaus paikallisiin tiedostoihin

– selaimen lisäosan ominaisuuden kehittäminen

7) Tutkimuskysymyksiin kustomoitu tiedonlouhinta

– optimoidut hakutoiminnot metadatasta ja ladatusta aineistosta
– avainsanojen esiintymisten tilastolliset analyysit
– dokumenttien relevanssin automatisoidut analyysit
– koneoppimistoiminnallisuuksien soveltaminen (relevanssin tarkistus manuaalisesti ja korjausten integrointi koodiin)
– natural language processing algoritmien ja ohjelmistokirjastojen sovellusmahdollisuuksien kartoitus

8) Luetun tekstin tuottama metadata

– luetun merkintä luetuksi
– metadatatietojen päivitys tietokantaan
– muistiinpanojen tallennukset

9) muistiinpanojen  ja kirjanmerkkien hallinta

– metadata
– selaimen lisäosa kirjainmerkkien hallintaan ja muiden toiminnallisuuksien integrointiin
– Sähkökirjojen muistiinpanojen integrointi
– sähkökirjan lukulaitteen muistiinpanojen integrointi

10) Tietokantahakujen hallinta ja ristiinhallinta hakukoneiden kanssa

– metadata sähköisistä tietokantahauista
– tietokantahakujen tuottamien kategoriasanastojen automaattinen analyysi
– kategoriasanastojen linkittymisten visualisointi

11) Integraatio muiden yleisten apuohjelmien kanssa

– refworks
– sosiaaliset kirjanmerkit (Diigo, tms. )
– muistiinpanosovellukset (Evernote tms.)

Projektin tiedonintressi on ensisijaisesti käytäntölähtöinen. Miten laajaa verkossa saatavilla aineistoa voisi parhaiten hyödyntää osana tutkimusprojektia? Tutkimus-case on:

“Kuntoilupelin ohjelmistosuunnittelu ja prototyypittäminen”

 

Tiedonhaun apuohjelman kehittämisen yhteydessä on myös tarpeen arvioida tieteenfilosofisia kysymyksiä. Miten verkon mittavat datamäärät ja niiden hyödyntäminen muuttaa tutkimuksen teon luonnetta?

.

 

  1. Jos tutkimusprojekti kestää neljä vuotta ja tekisin keskimäärin 10 hakua päivässä, syntyisi tutkimuksen kuluessa (240 * 4 * 10 hakua) eli lähemmäs kymmentuhatta hakua. Jos jokainen haku tuottaa keskimäärin esimerkiksi 100 000 tuhatta tulosta pitäisi tutkimusprojektin aikana yrittää hallita noin miljardia hakutulosta 

Leave a Reply

Your email address will not be published. Required fields are marked *