Lyhyt johdatus NooJ:iin

Sisällys

Oppimistavoitteet

  • Ohjelman käyttöönotto (asennus, dokumentaatio, aineiston syöttö, perustulosteet)
  • Konkordanssin käyttö (hakusanat, säännölliset lausekkeet, rinnakkaiset haut)
  • Visualisointi
  • Valmiiden kieliopillisten tägien käyttö
  • Yksinkertaisten kielioppien kirjoittaminen

Ohjelman käyttöönotto

Asennus

Ohjelman kotisivu on osoitteessa http://www.nooj4nlp.net/. Lataa ohjelma sen alla olevalta lataussivulta.

Ohjelman käyttö Windowsissa

Ohjelmaa voi käyttää ainakin Metsätalon luokassa 25 suoraan. Se on asennettuna C:\NoojApp Käynnistettävä binääritiedosto löytyy hakemistosta _App

Ohjelma on toteutettu C# -kielellä eli kyseessä on .NET-ohjelma. Windowsissa riittää että lataa ja purkaa zip-muotoisen ohjelman http://www.nooj4nlp.net/pages/download.html .

Ohjelman käyttö Macissa

Ohjelman ajaminen edellyttää Mono-ajoympäristön version 2.10.5 asentamista. Mono on alustariippumaton .NET ympäristö ja sen uusimman asennuspaketin voi ladata osoitteesta http://www.go-mono.com/mono-downloads/download.html, mutta se on väärä. Oikea versio (2.10.5) on saatavilla osoitteesta http://download.mono-project.com/archive/2.10.5/download/. Jos aluksi sentaa väärän eli uudemman version joutuu vaikeuksiin, sillä vanha asennuspaketti ei tämän jälkeen asennu tarvittavalla tavalla. Installointipaketin sisältä löytyy tähän ongelmaan apua: ohjelma /Volumes/MonoFramework-MRE-2.10.9/MonoFramework-MRE-2.10.9_11.macos10.xamarin.x86.pkg/Contents/Resources/uninstallMono.sh poistaa uudemman asennuksen, jotta vanhempi Mono-versio voidaan palauttaa. Vanhemman version uudelleenasentamista ennen on huolehdittava, että vain asennettava asennuspaketti on mountattuna, muuten uudelleenasennus ei ehkä onnistu.

Macissa jakelupaketista NooJApp.zip syntyy avattaessa hakemistopuu, jonka hakemistossa NooJApp/_Mono/ on ajettavat ohjelmat, Nooj.app ja Nooj.exe. Ohjelma käynnistetään tästä hakemistosta eikä ohjelmaaa Nooj.app pidä ilmeisesti siirtää hakemiston ulkopuolelle esim. Applications -hakemistoon.

  • Ohjelman Nooj.App klikkaaminen näytti käynnistävän ohjelman normaalisti. Ohjelma pyysi asentamaan Mono 2.10.5:n ja ohjasin latauksen alkuun mallikkaasti, koska Mono ei ollut ennestään asennettuna. Kaikki toimi tämän jälkeen erinomaisesti.
  • Installointiohjeissa ( Installation.pdf) kehotetaan käynnistämään ohjelma kuitenkin komentorivin komennolla mono Nooj.exe. Tätä ennen on X11 ja Mono oltava asennettuna sekä on varmistuttava siitä, että Mono käyttää X11:ta. Tätä varten annetaan komento export MONO_MWF_MAC_FORCE_X11=1 ennen Monon käynnistämistä.

Ohjelman käyttö Linuxissa (kirjoittanut EIR)

Tarvitsemme tarkistetut ohjeet ohjelman käyttämiseksi Linuxissa ja erikseen myös CSC:n hippu-koneella.

Ohjeissa kehotetaan asentamaan ensin mono (v4), jolla saa .NET -ympäristössä toteutetut ohjelmat kääntymään *nix -ympäristössä:

Debian / Ubuntu:

sudo apt-get install mono-4.0-service
sudo apt-get install libmono-system-runtime-serialization-formatters-soap4.0-cil

Tämän jälkeen siirrytään hakemistoon, jonne ohjelma on purettu .zip -tiedostosta ja ajetaan .exe -tiedosto monon avulla:

cd path_to_nooj_directory
mono Nooj.exe

Noojin Mono-asennusopas pelottelee, että muiden kuin oppaassa mainittujen käyttöjärjestelmien ja Linux-jakelujen tapaukissa Monon voi joutua kääntämään lähdekoodista. Ainakaan Sabayon-jakelussa tämä ei pitänyt paikkaansa, vaan asennus oli jopa Debiania, Fedoraa ja Suseakin helpompaa. Jakelussa on Rigo-niminen ohjelmien/pakettien asennus- ja poisto-ohjelma, jolla Mono installoitui hetkessä (Sabayonissa on aina viimeisimmät versiot ohjelmista ja kirjastoista). Jakelun oletus pakkausohjelma purki Noojin zip-tiedoston käyttiksen graafisella puolella, ja ohjelma lähti nikottelematta käyntiin, kunhan oivalsi sen seikan (jota ei hirveän selvästi ollut käyttöoppaassa selostettu), että Nooj-hakemistossa on kaksi alihakemistoa, joissa nooj.exe luuraa: /_App ja /_Mono. Monolla toimiva exe on tietenkin /_Mono-alihakemistossa. /_App:ssa on ohjelman Windows-versio. (kirjoittanut KLa)

Ohjelman käyttö CSC:n ympäristössä

CSC:n Hippu-koneelle NooJ on asennettu epävirallisesti. Valitettavasti NooJ ei ole kovin nopea Hipulla, tämä voi johtua siitä, että NooJin käyttämä Mono-ympäristö ei kovin hyvin tue SMP:ta (Symetric Multiprocessing). NooJ ei ole virallisesti tuettu eikä ole "kieli"-moduulissa mukana. Näin käynnistätte NooJin hipulla:

$ module load nooj
$ nooj

Katso alustavat FinCLARINin käyttöohjeet NooJille.

Dokumentaatio

Osoitteessa http://www.nooj4nlp.net/pages/references.html on NooJ-tietoa ja käyttöohjeita. 200-sivuinen manuaali on osoitteessa http://www.nooj4nlp.net/NooJManual.pdf.

Aineiston lukeminen ohjelmaan

Olemassa olevan tekstin valinta (kirjoittanut EIR)

1. Nooj:n ylävalikosta: File => Open => Text 2. Valitana tiedostojärjestelmästä haluttu teksti

Avattavan tekstitiedoston pääte on .not, joka ei ole pelkkää raakatekstiä. Siinä on mukana vaihtelevasti ainakin binääriosio ja mahdollisesti tekstin annotaatioita.

Oman tekstin luominen (kirjoittanut MK)

1. File => New => Text 2. Valitaan käytettävä kieli (1), merkistöasetukset (2), ja tekstijakson erotin (3) 3. Syötetään tekstimateriaali ja tallennetaan tiedosto. Teksti tallentuu .not -tiedostopäätteisenä

Tekstiä voi annotoida NooJin kielioppien avulla esimerkiksi siten, että valitaan TEXT => Linguistic Analysis. Tämän jälkeen etsitään haluamia annotoitavia pätkiä valitsemalla TEXT => Locate, sen jälkeen täppä kohtaan a Nooj Grammar ja määritellään haluttu kielioppitiedosto. Saadaan konkordanssi-ikkuna. Tässä vaiheessa voi filtteröidä pois epätoivottuja matcheja (right-click, filter out selected lines jne.). Valitaan tämän jälkeen CONCORDANCE => Annotate Text. Annotoidun tekstin saa ulos esimerkiksi valitsemalla TEXT => Export annotated text as an XML document, jolloin teksti tallettuu automaattisesti samaan hakemistoon tekstin .not-tiedoston kanssa ja annotaatiot on merkitty XML-tageina (tähän tapaan: <DET TYPE="Dnum">four</DET>).

TODO: Mitä muuta omalle tekstille voi tehdä?

Perustulosteet

Konkordanssin käyttö (kirjoittanut HR)

Avataan tiedosto, esim. "_The portrait of a lady.not" Text-valikosta valitaan "Locate". Avautuvassa paneelissa voi valita etsitäänkö pelkästään tekstin perusteella vai käytetäänkö PERL regexiä tai sitten NooJ regexiä. PERL regexin avulla voisimme hakea esim. sananmuotoja grave & gravely, ja etsiä missä ympäristössä ne esiintyvät:

grave(ly)?

NooJ regexillä voi etsiä konkordanssit esim. go-verbin eri muodoista, joiden jälkeen tulee adverbi. Esim:

<look><ADV>

Tulokset saa näkyville haluamalla värillä sivun alaosassa olevista painikkeista. Lisäksi näytettäviä tuloksia voi indeksoida erilaisin hakukriteerein (esim. lyhyimmät / pisimmät / kaikki tulokset).

Valmiiden kieliopillisten tägien käyttö (kirjoittanut EIR)

Noojiin on sisäänrakennettu tiettyjä tageja, joita voi käyttää esim. konkordanssien etsimisessä. Ne kirjoitetaan muotoon

Alla joitakin esimerkkejä:

A Adjective artistic, blue
ADV Adverb suddenly, slowly
CONJC Coordination conjunction and
CONJS Subordination conjunction if, however
DET Determiner this, the, my
INT Interjection ouch, damn
N Noun (substantive) apple, tree
PREP Preposition of, from
PRO Pronoun me, you
V Verb eat, sleep

Konkordanssien etsiminen sanakirjamuodolla/taivutusmuodolla (kirjoittanut HR)

A) Tee oma taivutuskielioppi

  1. Ylävalikosta File | New | Grammar
  2. Valitse sopivat kielet, vaikkapa fi ja fi
  3. Voit tehdä kieliopin joko tekstinä tai graafisella käyttöliittymällä makusi mukaan. Huomaa kuitenkin, että graafista kielioppia ei voi muokata tekstinä eikä päinvastoin.
  4. Tee kielioppi, joka tunnistaa kaikki lekseemin sanamuodot
  5. Tallenna nimellä [sopiva_nimi].

B) Luo oma sanakirja

  1. Ylävalikosta File | New | Dictionary
  2. Valitse sama kieli kuin kohdassa A2
  3. Kirjoita risuaidalla kommentoitujen rivien jälkeen
#use [sopiva_nimi].nof
  1. Lisää rivejä, joissa on sanakirjamuoto (tai juuri) jotka taipuvat kuten kieliopissasi, esim.
saattaa,V+FLX=Saattaa
karttaa,V+FLX=Saattaa
auttaa,V+FLX=Saattaa ..
jossa rivin alku kertoo lekseemin, V=Verbi, FLX=Saattaa, kertoo sen, että verbi taipuu kuten verbin 'Saattaa' taivutus kieliopissasi.
  1. Tallenna kielioppisi

C) Muokkaa kielioppisi .nod -tiedostoksi

  1. Ylävalikosta Lab | Dictionary
  2. Klikkaa Set, ja valitse kohdassa B6 tallentamasi sanakirja
  3. Klikkaa Compile

D) Ota sanakirja käyttöön

  1. Ylävalikosta Info | Preferences
  2. Valitse sama kieli kuin kohdissa A2 ja B2
  3. Siirry välilehdelle Lexical analysis
  4. Valitse kohdassa C3 luomasi .nod-tiedosto
  5. Klikkaa Apply

E) Testaa omalla tekstilläsi

  1. Ylävalikosta File | New | Text
  2. Valitse sama kieli kuin kohdissa A2, B2 ja D2
  3. Kirjoita teksti, josta pitäisi löytyä joitain kielioppisi kuvaamia sanamuotoja, esim.
Saatan olla oikeassakin.
  1. Tallenna.
  2. Ylävalikosta TEXT | Linguistic analysis
  3. Ylävalikosta TEXT | Locate
  4. Valitse NooJ Regular expression
  5. Kirjoita tekstiboksiin vaikkapa tai tms. muoto, joka on kuvattu kieliopissasi.
  6. Samoin taipuvien sanojen, jotka on kuvattu sanakirjassa, pitäisi myös löytyä aivan vastaavasti, esim.

F) Virhemetsästys

  1. Jos homma ei pelaa, tarkista ainakin seuraavat asiat.
  2. Kaikkien .dic, .nof, .nod -tiedostojen sekä _properties.def tulee löytyä Lexical analysis -kansiosta valitsemasi kielen alta.
  3. Tarkista, että käyttämäsi _properties.def -tiedosto on järjellinen
  4. Tarkista, että kaikkien luomiesi tiedostojen kieli on sama
  5. Aina kun muokkaat kielioppiasi, täytyy .nod-tiedosto luoda uudestaan, jotta muutokset päivittyvät

Visualisointi

Yksinkertaisten kielioppien kirjoittaminen (kirjoittanut SP)

Graafinen versio

Uuden kieliopin luominen:

  • Valitse ylävalikosta File -> New -> Grammar
  • Valitse kieliopin kielet (esim. englanti ja englanti)
  • Valitse "graphical editor", jotta pääset rakentamaan kielioppia automaattina
Kieliopin muokkaaminen:
  • Solmut
    • Solmun luominen/muokkaaminen: ctrl+klik piirtoalueessa/solmun päällä
    • Solmun muokkaamisen lopettaminen: ctrl+enter
    • Solmun valitseminen: klik
  • Kaaret
    • Kaaren luonti kahden solmun välille: klikkaa lähtösolmua (vilkkuu) ja sitten klikkaa loppusolmua
    • Kaaren poisto: klikkaa poistettavan kaaren lähtösolmua ja loppusolmua
      • Huom! Kaaria voi mennä kahteen suuntaan kahden solmun välissä, joten ole tarkkana minkä kaaren poistat
    • Muista yhdistää alkutila (nuoli) sekä lopputila (pallo ristillä) kielioppiisi, jotta se toimii oikein

-- AnssiYliJyra - 2012-11-29 ja opiskelijat (kirjoittaja-attribuointi opettajan; voi sisältää virheitä)

Topic revision: r11 - 2013-02-02 - AnssiYliJyra
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2018 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback