Child pages
  • YSA-asiasanojen tarkistus
Skip to end of metadata
Go to start of metadata

ONKI-palvelussa on saatavilla YSA-sanasto yhtenä tiedostona. Tämä ohjelma vertaa tallennettuja asiasanoja tämän tiedoston YSA-termeihin. Tuloksena on listaus asiasanoista, jotka eivät löytyneet sanastosta tai sen toinen indikaattori tai osakenttä 2 on väärin. YSA:ssa ei ole vapaan indeksoinnin sanoja ja esim. tuotenimiä tämä ei löydä.

Ohjelman asennus ja valmistelut

check_terms.pl on Perl-ohjelma, jota voi ajaa palvelimella. Kopioi tämä tiedosto kotihakemistoosi ja tälle on hyvä tehdä oma hakemisto. Katso ls -l -komennolla, että ohjelmalla on suoritusoikeudet - x -lippu. Tarvittaessa lisää x-lippu tällä komennolla:

chmod a+x check_terms.pl

Seuraavaksi tarvitaan YSA:n sanoja. Tällä komennolla voit hakea ne suoraan palvelimelle:

wget -O ysat.rdf 'http://onki.fi/fi/browser/downloadfile/ysa?o=http://www.yso.fi/onto/ysa&f=ysa/lib.helsinki-ysa-skos.rdf'

Nyt meillä on koko sanasto ysat.rdf -tiedostona. Sanat ovat Unicode merkistössä (UTF-8). Tiedosto on XML-muodossa ja koska Perlin XML-käsittely tuntuu olevan hidasta, niin päädyin muuttamaan tiedoston tavalliseksi tekstitiedostoksi, jossa on yksi asiasana omalla rivillään. Tämä komentorivi poimii sanat ysa-sanat.txt -tiedosoon:

grep skos:prefLabel ysat.rdf | perl -ne 'm/>([^<].*?[^>])<\// && print$1."\n"' > ysa-sanat.txt

Edellinen komento poimii käytettävät termit prefLabel-kentästä. Korvattavat termit ovat altLabel-kentissä ja niitähän ei pitäisi käyttää, esim. ei kotikissa, vaan kissa. Korvattavat termit voi poimia mukaan kunhan vaihtaa komentoriville altLabel:n ja muuttaa komentorivin tulostuksen ohjauksen olemassa olevan tiedoston perään >> ysa-sanat.txt.

Parametrit

Listan parametreistä saa ajamalla pelkän komennon ilman parametrejä (./check_terms.pl).

  • field kertoo tarkistettavan kentän ja osakentän, esim. 650a
  • ind2 on toisen indikaattorin sisältö mikä siellä pitäisi olla, esim. 7
  • sub2 kertoo mitä osakentässä 2 pitäisi olla
  • termfile kertoo asiasanatiedoston, johon asiasanaa verrataan
  • report kertoo raporttitiedoston
  • input bib-tietueet sisältävä tiedosto
  • user käyttäjätunnut tietokantayhteyttä varten
  • password salasana tietokantayhteyttä varten

Nämä parametrit eivät ole pakollisia

  • okfile tiedosto, johon kirjoitetaan kaikki tarkistuksen läpäisseet asiasanat
  • ignorecase kertoo, että vertailu käsittelee pienet ja isot kirjaimet samanarvoisina
  • tablespace tietokantakyselyssä käytetty taulukkotila, esim, harjoitustietokantaa varten
Tarkistus suoraan tietokannasta

Tarkistettavat tietueet voi tulla Voyager-tietokannasta tai tiedostosta. Tietokannasta ajettuna komentorivi on

./check_terms.pl --field=650a --ind2=7 --sub2=ysa --termfile=ysa-sanat.txt --output=report.txt --user=user --password=password
Tarkistus tiedostosta

Tiedostosta ajettuna pitää tietueet käydä ensin hakemassa Pmarcexport:lla tai jollain muulla konstilla. Tämän etuna on selvästi nopeampi toiminta varsinkin jos on tarkoitus tehdä useita tarkistusajoja. Koko tietokannan saa ulos tällä komennolla oman tietokannan sbin-hakemistossa. Huomaa, että tietuetiedosto tulee sbin-hakemistoon, josta se kannattaa kopioida esim. samaan hakemistoon kuin tarkistustohjelma.

cd /m1/voyager/omatietokanta/sbin
./Pmarcexport -rB -mR -tALL -obibit-20121214.bib

Nyt kun tietueet ovat tiedostossa, niin komentorivi tarkistusajolle on:

./check_terms.pl --field=650a --ind2=7 --sub2=ysa --termfile=ysa-sanat.txt --output=report.txt --input=bibit-20121214.bib
Ohjelman tekemä raportti

Raportissa on bib-id, toisen indikaattorin sisältö, osakenttä 2:n sisältö, tieto siitä löytyikö termi sanastosta, termi a-osakentästä ja lopuksi koko asiasanakentän sisältö. Nämä tiedot on tabulaattori-merkillä eroteltu.

Tässä ohjelman käyttämä totuustaulu, jonka mukaan raporttin tulee rivejä:

toinen indikaattori
--ind2

osakenttä 2
--sub2

YSA-termi
--termfile

7

ysa

 

7

 

löytyy sanastosta

 

ysa

löytyy sanastosta

 

 

löytyy sanastosta

 

ysa


Tässä muutamia esimerkkirivejä mitä raporttiin voi tulla.

1. Termi löytyi sanastosta, mutta toinen indikaattori ei ole 7 ja osakenttää 2 ei näy.

96395   ind2=4  sub2=   term found      termodynamiikka  4 |a termodynamiikka

2. Termi löytyi, mutta tässä se on merkitty toiseen sanastoon.

96078   ind2=7  sub2=ktta       term found      tuohi    7 |a tuohi |2 ktta

3. Termi on tallennettu YSA-terminä, mutta sitä ei löydy sanastosta. Haku ONKI-palvelusta paljastaa, että kyseessä on korvattava termi suuralueverkotalueverkot.

10294   ind2=7  sub2=ysa        not found       suuralueverkot   7 |a suuralueverkot |2 ysa

4. Termi löytyi sanastosta, mutta osakentässä 2 on pieni typo.

149769  ind2=7  sub2=usa       term found      yhteisöllisyys  7 |a yhteisöllisyys |2 usa

5. Tyhjä asiasana

151693  ind2=7  sub2=ysa       not found                7 |a  |2 ysa
  • No labels