Sisällön automaattinen moniluokittelu



Samankaltaiset tiedostot
Sisällön automaattinen moniluokittelu Suunnitteludokumentti v1.01

Sisällön automaattinen moniluokittelu Toteutusdokumentti v0.6

Sisällön automaattinen moniluokittelu. Testausdokumentti versio

Sisällön automaattinen moniluokittelu. Määrittelydokumentti Versio 1.2

Lohtu-projekti. Ylläpitäjän dokumentti. Versiohistoria: Ensimmäinen versio Andreas Asuja

SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet

Kirjasto Relaatiotietokannat Kevät Auvinen Annemari Niemi Anu Passoja Jonna Pulli Jari Tersa Tiina

Tapahtumakalenteri & Jäsentietojärjestelmä Ylläpito

Ylläpitodokumentti. Ohjelmistotuotantoprojektin tietojärjestelmä OhtuTie

Ovid Medline käyttöohjeita (10/2010)

XML prosessori. XML prosessointi. XML:n kirjoittaminen. Validoiva jäsennin. Tapahtumaohjattu käsittely. Tapahtumaohjattu käsittely.

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

Ylläpitodokumentti. Oppimistavoitteiden hallintajärjestelmä harri

Harjoituksen aiheena on tietokantapalvelimen asentaminen ja testaaminen. Asennetaan MySQL-tietokanta. Hieman linkkejä:

ASENNUS- JA KÄYTTÖOHJE

TIEDONHAKU INTERNETISTÄ

Asennusohje. Sahara-ryhmä. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Ohje kehitysympäristöstä. Dokumentti: Ohje kehitysympäristöstä.doc Päiväys: Projekti : AgileElephant

Lohdutus - tietokantadokumentti

Ohjelmisto on selainpohjaisen käyttöliittymän tarjoava tietokantajärjestelmä merikotkien seurantaan WWF:n Merikotka-työryhmän tarpeisiin.

WWW-sivut HTML-kielellä esitettyä hypertekstiaineistoa

Tietotyypit ja operaattorit

Uutta Remote Support Platform 3.1 -versiossa

SELVITYSRAPORTTI LABRA-VERKON MYSQL:n JA PHP:n KÄYTTÖÖNOTOSTA. Jarkko Kähkönen

Asennusohje. Sahara-ryhmä. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

RATKI 1.0 Käyttäjän ohje

PubMed lääketieteellinen kokoteksti- ja viitetietokanta

Tietokanta.java Luokka tarjoaa välineet tietokannan lukemiseen. Haetuista tiedoista muodostetaan kurssi- ja opetus-olioita.

TIEDONHALLINTA - SYKSY Luento 11. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences

Etsi aineistoa, uusi lainoja, tee varauksia. Onnistuneita hetkiä Juolukan parissa!

Ylläpitodokumentti. PLAYOFF Jari Anttila Sanna Fröblom Aarno Sandvik Tommi Paavilainen Miikka Kohijoki. Päivi Pääkkö, ohjaaja

LINUX-HARJOITUS, MYSQL

Kehitysohje. ETL-työkalu. ExtraTerrestriaLs / Aureolis Oy

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL

KÄYTTÖOHJE. Servia. S solutions

Tietokannat II -kurssin harjoitustyö

T Testiraportti TR-3. ETL-työkalu

Raporttiarkiston (RATKI) käyttöohjeet Ohjeet

Operaattoreiden ylikuormitus. Operaattoreiden kuormitus. Operaattoreiden kuormitus. Operaattoreista. Kuormituksesta

CIRI Ontologiaperustainen tiedonhakuliittymä

Käyttöohje. Boa Open Access. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Ehto- ja toistolauseet

CSE-A1200 Tietokannat

2 Eläinlistan kautta voidaan tallentaa tietoja kuolleille eläimille

Salasanojen turvallinen tallentaminen KeePass ohjelmalla

3. Taulujen määrittely ja muuttaminen

HAKURATKAISUN ANATOMIA - KURKISTUS PELLIN ALLE

Verkkokirjaston hakuohjeet

Peltotuki Pron Lohkotietopankkimoduli tärkkelysperunalle

Kieliversiointityökalu Java-ohjelmistoon. Ohje

Tiedonhaku korkeakouluopinnoissa

Valppaan asennus- ja käyttöohje

Asko Ikävalko, k TP02S-D. Ohjelmointi (C-kieli) Projektityö. Työn valvoja: Olli Hämäläinen

Harjoitustyö: virtuaalikone

Valitse ruudun yläosassa oleva painike Download Scilab.

Hakuohjeet Haku Tiedonhaun tulokset

Muita tietokantaobjekteja. Näkymät, synonyymit, indeksointi, valtuudet ja systeemihakemisto

MUITA TIETOKANTAOBJEKTEJA NÄKYMÄT, SYNONYYMIT, INDEKSOINTI, VALTUUDET JA SYSTEEMIHAKEMISTO

Action Request System

Option GlobeSurfer III pikakäyttöopas

zotero

Taulukot. Jukka Harju, Jukka Juslin

Tiedonhaku. Esim. kymenlaakso muutosjohtami* Laila Hirvisaari Tuntematon sotilas Ruksi tyhjentää hakukentän.

Tilastokeskuksen rajapintapalveluiden käyttöönotto MapInfo - ohjelmistossa Ohjeita laatiessa on käytetty MapInfon versiota 11.5.

Access-kyselyt. Luetteloinnin kehittämispäivä Mia Kujala

Sisältö. 22. Taulukot. Yleistä. Yleistä

WordPress Multisiten varmuuskopiointi

3. TAULUJEN MÄÄRITTELY JA MUUTTAMINEN

Ohjeet asiakirjan lisäämiseen arkistoon

ASENNUS JA KÄYTTÖOHJE

Uuden Peda.netin käyttöönotto

Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.4.0

Asennusohje. Sahara-ryhmä. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Mathcad 14.0 Single User -asennus

KÄYTTÖVALTUUSHALLINTA (KVH) 1 (14) Käyttöohje rekisterinpidon yhteyshenkilölle

Tehtävä 1. Tietojen lisääminen, poistaminen, päivittäminen ja tulostaminen

CINAHL(EBSCO) käyttöohjeita (10/2010)

1 www-sivujen teko opetuksessa

My easyfairs -palvelun käyttö

Vinkkejä musiikin tiedonhakuun OUTI-verkkokirjastossa

CSE-A1200 Tietokannat

XHTML - harjoitus. Tehtävä1: Tee xhtml tiedosto käyttäen notepad (muistio) ohjelmaa. Tiedoston tallennus notepad (muistio) ohjelmassa:

Tietokantasovellus: drinkkiarkisto

DL SOFTWARE Uumajankatu 2 Umeågatan FIN VAASA/VASA FINLAND +358-(0) Fax +358-(0)

Opintopiiritehtävä 3: Verkkohuutokauppa

ASIO Lyhytkurssiohjelman hakupalvelun kuvaus

Tietokantakurssit / TKTL

Yleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma.

HELIA 1 (15) Outi Virkki Tietokantasuunnittelu

Tiedostonhallinta. Yleistä

ECDL Tietokannat. Copyright 2015 ECDL Foundation ECDL Tietokannat Sivu 1 / 7

L models. Käyttöohje. Ryhmä Rajoitteiset

TIETOKANTOJEN PERUSTEET OSIO 11 MARKKU SUNI

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit

Tiedonhallinnan perusteet. H11 Ovien ja kulun valvontajärjestelmän tietokanta

Visual Case 2. Miika Kasnio (C9767)

Tik Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu KÄYTTÖOHJE. LiKe Liiketoiminnan kehityksen tukiprojekti

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014

Transkriptio:

Sisällön automaattinen moniluokittelu Käyttöohje v0.2 Helsinki 3. joulukuuta 2002 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Ohjelmistotuotantoprojekti samo Marko Konttinen Tarmo Pellikka Pia Rantalahti Kari Silén Markku Vahter Pirkko Wahlström

Versiohistoria Versio Pvm Kommentti Tekijä 0.1 26.11.02 Ensimmäinen versio Markku Vahter 0.2 03.12.02 -Lisätty seuraavat luvut: 2 Ohjelmistovaatimukset 3 Järjestelmän asennus -Luku Indekseri korjattu kommenttien mukaan -Luku 6: lisätty tekstiä ja kuvia hakukoneen käytöstä Kari Silén, Markku Vahter

Sisältö 1 Johdanto...1 2 Ohjelmistovaatimukset...1 3 Järjestelmän asennus...1 4 Indekseri...2 4.1 Ohjelman ajaminen...2 4.2 Toiminnot...3 4.3 Tyypillisiä indekserin käyttötapoja...4 4.4 Konfiguraatiotiedostot...4 4.5 Indekserin asennus...6 5 Change2basic...7 5.1 Ohjelman ajaminen...7 6 Hakukone...7 Liite 1: tables.sql...13 Liite 2: grant_priviliges.sql...14 Liite 3: systemconfig.dtd...15 Liite 4: sourceconfig.dtd...16

1 1 Johdanto Tämä dokumentti on ohjelmistotuotantoprojekti Samo:n (Sisällön automaattinen moniluokittelu) käyttäohje. 2 Ohjelmistovaatimukset Järjestelmä käyttää seuraavia ohjelmistokomponentteja: Apachen Xalan (http://xml.apache.org/xalan-j/) Apachen Xerces (http://xml.apache.org/xerces2-j/) Hewlett-Packard Labs:n Jena-toolkit 1.5 (http://www.hpl.hp.com/semweb/jena-top.htmls) PostgreSQL:n JDBC-tietokanta-ajuri (http://www.postgresql.com) Connexorin Fdg3 morfologinen analysaattori (http://www.connexor.com) Mozilla www-selain (http://www.mozilla.org) tai Internet Explorer-selain (http://www.microsoft.com/ie) Java 1.3.2 (http://java.sun.com) 3 Järjestelmän asennus Jotta järjestämää voitaisiin käyttää, pitää servlet-ympäristö olla asennettuna. Ympäristö luodaan ohjeen www.cs.helsinki.fi/compfac/servlets.html mukaan. CD:n hakemistosta XXX löytyvä SearchServlet.class sijoitetaan hakemistoon <user_name>/jserv/servlets, joka on olemassa servletympäristön luonnin jälkeen. Hakemistossa <user_name>/jserv/etc olevaan environment-tiedostoon on määriteltävä, että käytetään Postgres-tietokantaa. Tämä tehdään poistamalla #-merkki export CLASSPATH-rivin edestä. Lisäksi täytyy lisätä script-komento, jolla asetetaan CLASSPATH:it osoittamaan samoluokkien jar-tiedostoihin (set_cp.sh). Jar-paketit löytyvät CD:n hakemistosta jars. XML-muotoisessa konfiguraatiotiedostossa määritellään järjestelmän tarvitsemat asetukset. Tiedoston rakenne ja käyttö on määritelty luvussa 4.4.2. Tällä hetkellä systemconfig-tiedosto pitää löytyä hakemistosta: <user_name>/samo/test/utils/ nimellä tst_config.xml. Käyttäjäkohtainen servlet-kone on käynnistettävä ohjeen mukaan ennen kuin hakukonetta voidaan ajaa. Käynnistys voidaan tehdä myös skriptillä: http://www.cs.helsinki.fi/group/samo/samo_servlet.php Hakukoneen aloitussivu search.html löytyy CD:n hakemistosta XXX. Se voidaan kopioidaan esim. käyttäjän omaan public-html hakemistoon. Lisäksi sen koodiin täytyy asettaa servletin osoite: <FORM METHOD="POST" ACTION="http://db.cs.helsinki.fi/s/<user_name>/SearchServlet"> Hakujen suorittamista varten pitää tietokantaan ensin indeksoida RDF-muotoista materiaalia. Indeksoinnin suorittaminen on kerrottu luvussa 4.

2 Ontologian (RDF(S)-tiedoston) label-kenttien arvojen pitää olla perusmuodossa, jotta hakujen laventaminen toimisi. Luvussa 5 esitellään työkalu muunnosta varten. Hakukoneen käyttäminen on kerrottu luvussa 6. 4 Indekseri Indekseri-osajärjestelmän tehtävänä on muodostaa hakemisto joukosta RDF dokumentteja. Tekstimuotoisen käyttöliittymän indekseriin tarjoaa IndexMain, joka saa parametreina osoitteet XML-muotoisiin konfiguraatiotiedostoihin systemconfig ja sourceconfig. Konfiguraatiotiedostojen syntaksi on määritelty vastaavissa dtd:eissä systemconfig.dtd ja sourceconfig.dtd (liitteenä). 4.1 Ohjelman ajaminen Käyttäjän oikeudet Jos käytettävä tietokanta edellyttää käyttäjätunnusta ja/tai salasanaa on ne annettava konfiguraatiotiedostossa tai komentoriviparametreina. Käyttäjällä täytyy olla tietokantaan päivitysoikeudet. Parametrit Komentoriviparametrit annetaan nimi-arvo pareina muodossa 'nimi=arvo', jossa siis nimi annetaan ensin ja arvo nimen jälkeen '=' -merkillä nimestä erotettuna. Komentoriviparametrit erotetaan toisistaan välilyönnillä. Jos ohjelman käynnistää ilman parametreja, tulostaa se seuraavan lyhyen ohjeen: Käyttö: Anna parametrit muodossa NIMI=ARVO, eli erota nimi ja arvo toisistaan '=' merkillä. Parametrit: NIMI ARVO systemconfig url osoite systeemi-konfiguraatiotiedostoon. PAKOLLINEN Loput parametrit ovat valinnaisia: sourceconfig url osoite lähde-konfiguraatiotiedostoon. Anna tämä jos haluat indeksoida jotain. username Anna käyttäjänimi, jos tietokanta edellyttää sitä, eikä sitä ole annettu systemconfig -tiedostossa. userpassword Anna salasana, jos tietokanta edellyttää sitä, eikä sitä ole annettu systemconfig -tiedostossa. reset YES tai NO. Oletusarvo on NO. Suoritetaan ennen indeksointia. updateweights YES tai NO. Oletusarvo on YES. Suoritetaan inedksoinnin jälkeen. Tarkempi selitys: systemconfig: Ainoa pakollinen parametri. Ilman tätä indekseri ei toimi. Arvona tulee antaa URLosoite systeemin konfiguraatiotiedostoon. Konfiguraatiotiedoston tulee sijaita paikassa, josta ohjelma voi sen lukea. Esimerkki: systemconfig=file:samo/indexer/systemconfig.xml

sourceconfig: Jos haluat indeksoida materiaalia, anna parametrin arvona URL-osoite sourceconfig-tiedostoon vastaavasti kuin systemconfig:lle username: Jos käytettävä tietokanta edellyttää käyttäjätunnustä, eikä sitä ole systemconfig -konfiguraatiotiedostossa annettu, on se annettava tämän parametrin arvona. Jos komentoriviparametrina annetaan käyttäjän tunnus, jätetään konfiguraatiotiedostossa annettu käyttäjätunnus huomioimatta. Esimerkki: username=samo_admin userpassword: Jos käytettävä tietokanta edellyttää salasanaa, eikä sitä ole systemconfig -konfiguraatiotiedostossa annettu, on se annettava tämän parametrin arvona. Jos komentoriviparametrina annetaan salasana, jätetään konfiguraatiotiedostossa annettu salasana huomioimatta. reset: Oletusarvoisesti indeksiä ei tyhjennetä ennen uuden materiaalin lisäämistä. Jos haluat tyhjentää indeksin ennen uuden materiaalin lisäämistä anna käynnistyksen yhteydessä komentoriviparametri reset ja sen arvona YES. Esimerkki: reset=yes updateweights: Oletusarvoisesti indeksin viittauksille lasketaan painoarvo materiaalin lisäyksen jälkeen. Jos haluat jättää painot laskematta anna käynnistyksen yhteydessä komentoriviparametri updateweights ja sen arvona NO. Esimerkki: updateweights=no Indekseri käynnistetään käynnistämällä IndexMain eli kirjoittamalla: java samo.indexer.indexmain Käynnistyksen yhteydessä on IndexMain:lle annettava komentoriviparametreina tarvittavat tiedot. Käynnistyskomento ja sen yhteydessä annettavat komentoriviparametrit on annettava samalla rivillä -riviä ei saa katkaista. Esimerkki: mkonttin@stubben-15:~$ java samo.indexer.indexmain systemconfig=file:config.xml sourceconfig=file:sourceconfig.xml username=samo_tester userpassword=testing 4.2 Toiminnot Kaikista allaolevista esimerkeistä on jätetty pois parametrit username ja userpassword, mutta nämä luonnollisesti täytyy myös antaa muiden paramterien tavoin käynnistyksen yhteydessä, jos niitä ei konfiguraatio-tiedostossa ole määritelty. indeksointi: Jos haluat indeksoida uutta materiaalia anna käynnistyksen yhteydessä komentoriviparametrin sourceconfig arvona URL-osoite tiedostoon, jossa luetellaan indeksoitava aineisto. Esimerkki: mkonttin@stubben-15:~$java samo.indexer.indexmain systemconfig=file:config.xml sourceconfig=file:sourceconfig.xml alustus: Oletusarvoisesti alustusta ei tehdä. Jos haluat alustaa eli tyhjentää indeksin, anna komentoriviparamteri reset ja sen arvona YES. Alustus voidaan suorittaa samalla ajokerralla kuin 3

uuden materiaalin lisäys. Alustus tapahtuu luonnollisesti tällöin ennen uuden materiaalin lisäämistä eli indeksointia. Esimerkki alustuksesta indeksoinnin yhteydessä : mkonttin@stubben-15:~$java samo.indexer.indexmain systemconfig=file:config.xml sourceconfig=file:sourceconfig.xml reset=yes Alustus voidaan tehdä myös erikseen. Tällöin jätetään parametri sourceconfig pois. Esimerkki: mkonttin@stubben-15:~$java samo.indexer.indexmain systemconfig=file:config.xml reset=yes painojen laskeminen: Hakukoneen tuloksien parantamiseksi indeksin dokumenttiviitteille on hyvä laskea painot. Oletusarvoisesti painojen laskeminen tehdään aina uuden materiaalin lisäyksen jälkeen. Voit määrätä ettei painoja lasketa antamalla komentoriviparametrina updateweights arvona NO. ohje: Jos et anna indekserille mitään parametreja tai virheellisiä parametreja, tulostaa se aiemmin esitellyn lyhyen ohjeen. 4.3 Tyypillisiä indekserin käyttötapoja Kerralla suuren aineiston indeksoiminen Samalla ajokerralla suoritetaan toiminnot alustus, indeksointi ja painojen laskeminen. Indeksiä ei oletusarvoisesti tyhjennetä ennen indeksointia, joten alustus täytyy implisiittisesti määrätä komentoriviparametrilla reset. Painojen laskeminen tehdään oletusarvoisesti. Esimerkki: mkonttin@stubben-15:~$java samo.indexer.indexmain systemconfig=file:config.xml sourceconfig=file:sourceconfig.xml reset=yes Aineiston lisääminen erissä ja indeksin päivittäminen Jos lisäät indeksiin materiaalia useassa erässä et halua ensimmäisen lisäyksen jälkeen alustaa tietokantaa (muuten aikaisemmin lisäämäsi materiaali poistetaan indeksistä.) Alustus jätetään oletusarvoisesti tekemättä. Jos haluat säästää aikaa ja jättää painot laskematta, voit määrätä niin antamalla komentoriviparametrin updateweights arvoksi NO. Oletusarvoisesti painot lasketaan aina lisäyksen jälkeen. Painot lasketaan aina koko indeksille kerralla. Tämän käyttötavan variantti on tapaus jossa jo indeksoidusta materiaalista indeksoidaan eri ominaisuudet (property) kuin aikaisemmin. Varoitus: Indeksi vääristyy, jos vahingossa lisäät uudestaan jo kerran indeksoimasi aineiston (samasta aineistosta samat ominaisuudet). 4.4 Konfiguraatiotiedostot 4.4.1 sourceconfig Lähdekonfiguraatiotiedoston rakenne on määritelty seuraavasti: <!ELEMENT source ((file_uri)+)> 4

5 <!ELEMENT file_uri (#PCDATA)> Esim. sourceconfig konfiguraatiotiedoston sisällöstä: <?xml version= 1.0 encoding= ISO-8859-1?> <source> <file_uri>http://www.cs.helsinki.fi/samo/esim1.rdf</file_uri> <file_uri>http://www.cs.helsinki.fi/samo/esim2.rdf</file_uri> <file_uri>http://www.cs.helsinki.fi/samo/esim3.rdf</file_uri> </source> Kohdetiedostojen tulee olla syntaksiltaan xml/rdf:ää, jotta niitä pystytään käsittelemään Jenalla. Kohdetiedostoista käsitellään kaikki kuvaukset (Description) ja kustakin kuvauksesta käytetään indeksointiin hakusanoja, jotka löytyvät haluttujen ominaisuuksien (Property) objekteista (Object). Vain literaalimuotoiset (merkkijonot) objektit käsitellään. Käsiteltävät ominaisuudet ilmoitetaan systemconfig-konfiguraatiotiedostossa. 4.4.2 systemconfig Tiedostossa systemconfig annetaan indekserille tiedot, joita se tarvitsee toimiakseen. Indekseri tarvitsee erityisesti yhteystiedot (sijainti ja portin numero) morfologiseen analysaattoriin Fdg3 sekä käytettävään tietokantaan. Indekseri ja hakukone käyttävät samaa kofiguraatiotiedostoa. Tämän vuoksi konfiguraatiotiedostossa voidaan antaa myös ontologian sijainti, vaikkei indekseri sitä käytäkään. Indekseri voi käyttää hukkasanalistaa suodattamaan turhat sanat pois. Hukkasanat ovat yleisiä suomenkielen sanoja, jotka kantavat vähän semanttista merkitystä ja ovat funktioltaan pikemminkin syntaktisia. Tällaisia sanoja ovat yleisesti mm. pronominit ja partikkelit. Kokoelmasta käytetään suomessa nimitystä hukkasanalista tai estolista ja englanniksi vastaavasti nimitystä stoplist tai stopwordlist. Hukkasanalistan voi koota esimerkiksi käymällä läpi suuren tekstiaineiston, kuten tuhansia lehtiartikkeleita, ja poimimalla sieltä n yleisintä sanaa. Indexer muuntaa hukkasanalistaan lisättävät sanat perusmuotoonsa, joten yksi sanamuoto kustakin sanasta riittää. Indekseri lukee hukkasanalistan tiedostosta, jossa saa olla vain 1 sana per rivi. Tiedoston sijainti tulee kertoa Indekserille systemconfig -konfiguraatiotiedostossa. Asetukset: db - indeksin tiedot: osoite. Osoitteessa tulee antaa myös protokolla. Tietokantaa käytetään jdbc:n kautta, joten osoitten alkuun tulee jdbc. Tämän jälkeen tulee tietokannan protokolla, postgresql:lle se on postgresql. Osoitteen osana tulee antaa myös tietokantayhteyden portinnumero, attribuuttia port ei käsitellä tietokantayhteyden portinnumeron määrittämiseen. Esimerkki: jdbc:postgresql://www.cs.helsinki.fi:1234/samo db/user jos tietokanta edellyttää käyttäjältä salasanaa ja/tai tunnusta, voidaan ne antaa konfiguraatiotiedostossa. Turvallisuussyistä ei indekserin käyttäjän tietoja kannata tallentaa konfiguraatiotiedostoon vaan antaa ne komentoriviparametreina, sillä indeksin käyttö edellyttää varsin kattavia oikeuksia tietokantaan. Yleensä konfiguraatiotiedostoon talletetaan hakukoneen käyttäjän tiedot, sillä on kätevää käyttää indekserille ja hakukoneelle samaa konfiguraatiotiedostoa. Fdg - yhteystiedot (sijainti ja portin numero) morfologiseen analysaattoriin Fdg3

ontologylocation Indekseri ei käytä ontologiaa, joten indekserin kannalta tämä asetus on turha ja voidaan jättää pois. StopListLocation URL osoite hukkasanalistaan, jos sellaista halutaan käyttää. Hukkasanalistan käyttö ei ole pakollista, joten ei ole tämän asetuksen antaminenkaan. properties: namespace, lokaali nimi, paino. Indeksoitavien ominaisuuksien nimet tulee ilmoittaa konfiguraatiotiedostossa. Indekseri ei käytä tietoa ominaisuuksien painoarvoista, mutta ne on kätevä tallettaa samaan konfiguraatiotiedostoon hakukonetta varten. Propertyn nimi koostuu kahdesta osasta: ns. Nimiavaruudesta ja paikallisesta nimesta. Propertyn koko nimi saadaan katenoimalla nämä. Esimerkki: Haluttujen ominaisuuksien määrääminen systemconfig:ssa: <properties> <namespace name= www.cs.helsinki.fi/samo > <property weight= 0.20 >property1</property> <property weight= 0.20 >property2</property> </namespace> <namespace name= www.cs.helsinki.fi/seco > <property weight= 0.20 >property1</property> <property weight= 0.20 >property2</property> </namespace> </properties> Tämän konfiguraation mukaan käsiteltäisiin kaikki resursseista löytyneet ominaisuudet nimeltään: www.cs.helsinki.fi/samo#property1 www.cs.helsinki.fi/samo#property2 www.cs.helsinki.fi/seco#property1 www.cs.helsinki.fi/seco#property2 4.5 Indekserin asennus 4.5.1 Tietokannan asennus Tietokannan asennus postgresql tietokannanhallintajärjestelmään (DBMS): 1. Luo uusi tietokanta. 2. Luo tietokantaan kaksi käyttäjää: indekseriä varten esim. 'samo_indexer' ja hakukonetta varten esim.samo_searcher. Käyttäjät on hyvä varmistaa salasanalla. 3. Indekserin käyttäjällä on oltava päivitys- ja poisto-oikeudet tietokannan tauluihin. Taulujen luoja saa nämä oikeudet automaattisesti, joten on kätevintä luoda nuo taulut indekserin käyttäjänä. Taulumäärittelyt on talletettu tiedostoon tables.sql (liitteenä). 4. Anna hakukoneen käyttäjälle lukuoikeudet tauluihin. Oikeuksien määritykset on talletettu tiedostoon grant_priviliges.sql (liitteenä). 5. Tietokannan turvallisuusasetuksia saattaa olla syytä muokata niin, että tietokantayhteys saalitaan muilta koneilta. 4.5.2 Ohjelman asennus Aseta ohjelmakirjastot samo_fdg.jar, samo_utils.jar ja samo_indexer.jar luokkapolkuun (classpath). 6

Myös muut ohjelmiston käyttämät kirjastot tulee löytyä luokkapolusta (kts. Ohjelmistovaatimukset.) Nämä ovat apachen xml-työkalut xalan ja xerces, Hewlett-Packard Labs:n Jena-toolkit versio 1.5, sekä postgresql:n JDBC-tietokanta-ajuri. 5 Change2basic Ohjelma muuntaa ontologian (RDF(S)-tiedoston) perusmuotoon. Ohjelma sijaitsee paketissa samo_utils.jar, joka löytyy CD:n jars-hakemistosta. 5.1 Ohjelman ajaminen Luokkapolusta (classpath) tulee löytyä samo_fdg.jar ja samo_utils.jar-ohjelmakirjastojen lisäksi myös Jena-Toolkit versio 1.5:n kirjastot. Ohjelma saa parametrina kaksi tiedostoa: lähde- ja kohdetiedoston. Esimerkki: java samo.utils.change2basic source.rdfs target.rdfs AJETAANKOHAN SITÄ NOIN? LÖYTYYKÖ SE TUOSTA PAKETISTA? Ohjelma käy läpi source.rdfs-tiedostoa ja muuttaa jokaisen label-kentän arvot perusmuotoon. Tulos kirjoitetaan target.rdfs nimiseen tiedostoon. 6 Hakukone Hakukoneen aloitussivu on esitetty kuvassa 1. Sivulta löytyy kenttä Hakulause, johon kirjoitetaan hakulause. Syvyys-nimisessä alasvetolistassa on numeroarvoja nollasta yhdeksään. Nämä kuvaavat lavennuksen syvyyttä ontologiassa. 7

8 Kuva 1 Hakukoneen aloitussivu Lavennuksella tarkoitetaan hakusanan/sanojen alikäsitteiden hakemista ontologiasta. Esimerkiksi sanalla eläin voisi olla ontologiaan koodattuna alikäsitteet koira, kissa ja lintu. Näille taas voisi löytyä alikäsitteet susikoira, siamilainen ja varis. Nyt jos käyttäjä määrittäisi haun syvyydeksi nolla, ei hakua lavennnettaisi yhtään tasoa alaspäin vaan haettaisiin indeksistä viitteitä ainoastaan sanalla eläin. Mikäli syvyys olisi ollut yksi, hakua olisi laajennuttu yksi taso alaspäin ja näin olisi haettu viitteitä termeillä eläin, koira, kissa ja lintu. Syvyydellä kaksi haku olisi laajentunut käsittämään termit eläin, koira, kissa, lintu, susikoira, siamilainen ja varis. Kuvassa kaksi on tilanne, jossa käyttäjä on määritellyt hakusanaksi sanan dosentti ja lavennuksen syvyydeksi kaksi. Nappulan Hae painaminen käynnistää haun.

Kuva 2 Parametrien antaminen Kuvassa kolme on kyseisen haun tulos. Löydettyjen viitteiden lukumäärä tulostetaan lauseen Tuloksen koko perään. Tämän jälkeen tulevat viitteet, jotka toimivat samalla linkkeinä tiedostoon. 9

10 Kuva 3 Tulossivu Hakulauseissa voidaan käyttää myös loogisia operaattoreita. Operaattorit ovat JA, TAI ja EI. JA-operaattori (looginen konjunktio) kaventaa hakua. JA-operaattoria käytetään silloin, kun halutaan JA-operaattorilla yhdistettyjen hakusanojen esiintyvän samassa dokumentissa. Esimerkiksi hakulause kissat JA koirat antaa hakutulokseksi vain ne dokumentit, joissa esiintyy molemmat hakusanat. TAI-operaattori (looginen disjunktio) laajentaa hakua. TAI-operaattoria voidaan käyttää laajentamaan hakua koskemaan hakutermien synonyymeja tai muita läheisiä sanoja. Esimerkiksi hakulause kissat TAI katit antaa tulokseksi ne dokumentit, joissa esiintyy molemmat hakusanat tai toinen niistä.

11 EI-operaattori (looginen negaatio) karsii hakutulosta. EI-operaattori sulkee pois sanat ja käsitteet, joiden ei haluta esiintyvän hakutuloksessa. Esimerkiksi hakulause koirat EI lelukoirat rajaa lelukoirat hakutuloksen ulkopuolelle. Sulkeita voidaan käyttää hakusanojen ryhmittelyssä. Ne mahdollistavat monimutkaisemmat halulauseet. Esimerkiksi hakulause ((koira TAI kissa) ei HEVONEN) viitteet, jossa esiintyy sana koira tai kissa (tai molemmat) muttei sanaa hevonen. Sanaliitot tai fraasit erotetaan lainaus-merkeillä, esimerkiksi Suomen lippu. Aloitussivun Ohje-linkistä avautuu ohjesivu, jolla neuvotaan boolen operaattorien käytöstä ja lavennuksen syvyydestä. Kuva 4 Käyttöohje Hakukone osaa ilmoittaa tapahtuneista virheistä. Kuvassa viisi on tilanne, jossa hakulauseesta on puuttunut Boolen operaattori.

Kuva 5 Virheilmoitus 12

13 Liite 1: tables.sql CREATE TABLE term ( word VARCHAR(100) NOT NULL, num_of_references INTEGER, PRIMARY KEY(word) ); CREATE TABLE about ( uri VARCHAR(100) NOT NULL, PRIMARY KEY(uri) ); CREATE TABLE docref ( about_uri VARCHAR(100) NOT NULL, weight REAL, id INTEGER NOT NULL, term_word VARCHAR(100) NOT NULL, FOREIGN KEY(about_uri) REFERENCES about(uri), FOREIGN KEY(term_word) REFERENCES term(word), PRIMARY KEY(id) ); CREATE TABLE property ( name VARCHAR(100) NOT NULL, occurrences_of_term INTEGER, docref_id INTEGER NOT NULL, FOREIGN KEY(docref_id) REFERENCES docref(id), PRIMARY KEY(name, docref_id) ); CREATE SEQUENCE docref_id_sequence START 1;

14 Liite 2: grant_priviliges.sql GRANT SELECT ON TABLE term TO samo_searcher; GRANT SELECT ON TABLE about TO samo_searcher; GRANT SELECT ON TABLE docref TO samo_searcher; GRANT SELECT ON TABLE property TO samo_searcher;

15 Liite 3: systemconfig.dtd <!ELEMENT config (system, (properties)?)> <!-- systeemin asetukset --> <!ELEMENT system (db, fdg, (ontologylocation)?, (stoplistlocation)?)> <!ELEMENT db (user?, location)> <!ELEMENT fdg (location)> <!ELEMENT ontologylocation #PCDATA)> <!ELEMENT stoplistlocation #PCDATA)> <!ELEMENT location (#PCDATA)> <!ATTLIST location port CDATA #REQUIRED> <!ELEMENT user EMPTY> <!ATTLIST user name CDATA #REQUIRED password CDATA #IMPLIED> <!-- suodatin --> <!-- käsiteltävät ominaisuudet --> <!ELEMENT properties (namespace+)> <!ELEMENT namespace (property+)> <!ELEMENT property (#PCDATA)> <!ATTLIST namespace name CDATA #REQUIRED> <!ATTLIST property weight CDATA #REQUIRED>

16 Liite 4: sourceconfig.dtd <!ELEMENT source ((file_uri)+)> <!ELEMENT file_uri (#PCDATA)>