-- JussiPiitulainen - 2010-11-23

  • Set PIAN = ALERT! Tätä välinettä ei vielä kokeiltu ALERT!

Kielipankin työkalujen toimivuus

Kielipankissa on seuraavanlaisia työkaluja, joiden on hyvä toimia erityisesti kielipankin käytön tähden. Luokittelu on niin sanotusti suuntaa antava.

  • hakuliittymiä (Lemmie, DMA, wordnet, myöhemmin FinnWordNet (Fiwn, fiwn))
  • kielenanalyysivälineitä (jäsentimiä)
  • kieliteknologisia työkaluja
  • yleiskäyttöisiä ohjelmointivälineitä (ohjelmointikielet, XML, merkkikoodit)

Komentorivityökalujen ja niihin liittyvän sälän toivotaan toimivan hipussa. Hippua on kaksi: hippu1 ja hippu2. Ainakin osa työkaluista toimii vain toisessa, joten tämäkin kokeillaan. Hipun module-järjestelmä tekee mahdolliseksi asentaa samoista ohjelmista eri versioita. Komento module avail antaa listan asennetuista module-yksiköistä. Osa on (default) eli oletusarvoisesti käytössä. Muita voi ottaa käyttöön komennolla module load. Järjestelmä perustuu ympäristömuuttujien asettamiseen niin että komentotulkki löytää käyttäjän haluamat välineet hakupoluiltaan.

module whatis kieli: load the language research modules = mitä?

Aha. module whatis on yleensäkin yhtä tyhjän kanssa. Nyt module whatsit siipaleena voisi kertoa, mikä tämä siipaleena on, mutta ei se kerro. Hakemistoista hakemalla module-järjestelmän palaset löytyvät ja niistä saattaa nähdä, mitä module:en kuuluu. (Epäilen muuten, että kaikki modulet eivät oikeasti modifies CLASSPATH vaikka ne väittävätkin. Jotkin esimerkiksi sen sijaan lisäävät jotain PATH:iin.)

Verkkoliittymät eivät toimi niinkään tietyssä palvelimessa kuin tietyssä verkko-osoitteessa. Toisaalta kokeiltaviin kuuluisi ehkä SUI ja sieltä aukeava komentoriviliittymä.

Lista alla perustuu CSC:n verkkosivuun, mutta heti huomataan, että siinä sivussa ei ole edes kaikki mitä on, saati kaikki mitä pitäisi olla. Siksi laajennamme ilman eri huomautusta.

Puutteita!

Megaphone Huomio! CSC:n listasta puuttuvat tykkänään meille tärkeät HFST:t ja omorit ja kaikki mitä meillä täällä tänään tehdään. Ne pitää lisätä tähän listaan. Mitä ne ovat? (Yksi lähde on tutkia mitä löytyy hipun module availista.)

  • muita automaatti- ja transduktorijuttuja (Anssi näytti foman. Onko foma siellä? on)
    • module avail: foma
    • kuulee puhuttavan jostain nimeltä lexc ja twolc, ehkä yo. module:issa, ehkä ei
  • mjn tietysti puuttuu, kun se on vain minulla, jos edes, mutta ehkä ensi kuussa
  • onko meillä ehkä visuaalis- tai tilastoluonteisia mielenkiinnon kohteita hipussa jo tai sinne haluttavia? R!

Hakuliittymiä

Näitähän on kometorivikäyttäjillekin, ja sitten verkkoliittymiä eli selaimessa.

dma

"Digitaalisen muoto-opin arkisto" ALERT! Tätä välinettä ei vielä kokeiltu ALERT! Tätä pitää kai hakea SUI:sta. Näytti se siellä olevan.

lemmieshell

"Kielipankin korpushakuohjelma Lemmien komentorivikäyttöliittymä"

CSC:n ohjesivun lemmieshell mukaan tämmöinen on ja käynnistyy hipussa komennolla lemmieshell.

Mutta ei tätä näy olevan. Module-järjestelmästäkään ei löydy mitään tämän kaltaista.

Paitsi että kyllä se siellä kuitenkin on, lojuu levyllä siellä missä muutkin modulen kieli aka ling palaset vaikka ei olekaan module eikä hakupoluilla. Mikä mättää?

wordnet

Taitanee olla luonteeltaan hakuliittymä. module avail: wordnet/1.6 (default)

Ei taida olla ehjä. Komento wn tuottaa huutoa, että erinäisiä tietokantatiedostoja ei löydy hakemistosta /usr/local/wordnet1.6/dict/. Tämä ei ole mikään ihme, kun kyseistä hakemistoa ei hipussa näy olevan.

Komento wnb näyttäisi olevan jonkinlainen selain, mutta se ei myöskään löydä omia osiaan.

Jyrki huomautti, että tämä on kovin vanha versio. Uudempi pitäisi asentaa.

Ja löytyivät ne tietokantatiedostot, sieltä missä module muutenkin. Olisiko ehkä jokin ympäristömuuttuja sitä varten?

www-lemmie

"WWW-käyttöliittymä Kielipankin korpushakuohjelma Lemmieen" ALERT! Tätä välinettä ei vielä kokeiltu ALERT!

Kielenanalyysivälineet (valmiit jäsentimet)

CSC:n verkkosivulta Ohjelmistot ja tietokannat kohdasta Kielentutkimus löytyy lista kielipankin aineistoista ja työkaluista. Siitä poimimme seuraavat ja selvitämme, mitä ne ovat, missä ne ovat ja miten ne ehkä toimivat.

module whatis connexor: englannin, suomen ja ruotsin Machinese Syntax Parsers, oletettavasti en,fi,sv-fdg, modifies CLASSPATH? mutta module on oletuksena; hakemistolistaus vahvistaa että on juuri nämä kolme __ja sieltä näyttää löytyvän dokumentaatiotakin!__

module whatis lingsoft: load Lingsoft parsers, ei kerro mitä niitä on, modifies CLASSPATH? mutta module on oletuksena; ah, hakemistolistaus näyttää ne kaikki

Connexorin jäsentimet en-fdg, fi-fdg ja sv-fdg

module whatis connexor

CSC:n sivun mukaan nämä ovat modulessa kieli ja vain kielipankin käyttäjien käytössä, ja SUI:ssa on lisää dokumentaatiota (vain kielipankin käyttäjille) mutta ei sitä näyttänyt olevan. selvitettäneen, ehkä

Hippuun asennetut Connexorin jäsentimet tarjoavat osittaisen dependenssisyntaksin

  • englannille: en-fdg
  • suomelle: fi-fdg
  • ruotsille: sv-fdg
Nämä toimivat vain hippu1:ssä; hippu2:ssa ne ilmoittavat rajoituksesta stdoutiin. Hippuun lisensoidut versiot ovat jo vanhoja vuodelta 2002.

Manuaalisivuja (man-sivuja) ei ole. Osaava käyttäjä löytää PDF-muotoista dokumentaatiota sieltä, missä ohjelmat ovat. Ohjelmissa on valitsin --help, joka tarjoaa hyödyllisen määrän tietoa.

Nämä Connexorin jäsentimet tulostavat tekijänoikeusilmoituksen stderriin ja jäsennystuloksen stdoutiin. Tekijänoikeusilmoitus viittaa yritykseen vanhentuneella yksiännäisellä nimellä Conexor. Sivua www.conexor.fi ei enää ole. Nykyinen osoite on http://www.connexor.fi.

Nämä vanhat jäsentimet tuntevat vain Latin1-merkkikoodin. UTF-8 ei ole tarjolla.

Valitsimella --text saa tekstimuotoisen tuloksen. Oletuksena tai valitsimella --xml tulostusmuoto on XML:ää, johon lisävalitsimella saa DTD:n mukaan. Validius pitäisi tutkia. Käytettyjen morfo-syntaktisten merkintöjen kuvauksen saa myös mukaan tulokseen. XML-tulosta ei pidä muuttaa tekstinä UTF-8:ksi, vaan sitä on parasta käsitellä juuri XML:nä.

[1033] hippu1$ echo Myrphy was wrong. | en-fdg --text 2> /dev/null
1   Myrphy   myrphy   subj:>2   @SUBJ %NH Heur N NOM SG
2   was   be   main:>0   @+FMAINV %VA V PAST
3   wrong   wrong   ha:>2   @ADVL %EH ADV
4   .   .
5   <s>   <s>

[1023] hippu1$ echo Ei meillä pelätä. |
               iconv -t latin1 |
               fi-fdg --text 2> /dev/null | iconv -f latin1
1   Ei   ei   main>0   @MAIN Aux V PASS
2   meillä   me      @NH PRON PL P1 ADE
3   pelätä   pelätä   obj>1   @MAIN V PASS IND PRES NEG
4   .   .
5   <s>   <s>

[1018] hippu1$ echo Härifrån tvättas det! |
               iconv -t latin1 |
               sv-fdg --text 2> /dev/null | iconv -f latin1
1   Härifrån   härifrån   advl>2   @ADVL ADV
2   tvättas   tvätta   main>0   @MAIN V PASS IND PRES
3   det   det   subj>2   @NH PRON NEU SG NOM
4   !   !   
5   <p>   <p>   

Kielikoneen textmorfo pintajäsennin suomen kielelle

Käynnistyy hippu2:ssa, ei man-sivua, ääkkösongelmia?

mikä on textmorfo.sh, missä dokumentaatio?

module whatis texmorfo: load textmorfo, ei kerro mitään lisää

UTF-8-ääkköset pätkittäin hämärät:

[1045] hippu2$ echo Ei meillä pelätä. | textmorfo 2> /dev/null
BaseForm=meillä pelätä,SurfaceForm=meillä pelätä,...
BaseForm=_PERIOD,SurfaceForm=.,Category=Delimiter...
BaseForm=Ei,SurfaceForm=Ei,Category=Verb,Case=,Nu...
-------------------------------------------------...

Näyttää ymmärtävän latinaa mutta tuottaa sitten vänkyrä-ääkkösiä:

[1046] hippu2$ echo Ei meillä pelätä. |
               iconv -t latin1 | textmorfo 2> /dev/null
BaseForm=me,SurfaceForm=meill{,Category=Pronoun,Ca...
BaseForm=_PERIOD,SurfaceForm=.,Category=Delimiter,...
BaseForm=pel{tt{{,SurfaceForm=pel{t{,Category=Verb...
BaseForm=Ei,SurfaceForm=Ei,Category=Verb,Case=,Num...
--------------------------------------------------...

Voisi kuvitella, että tämä merkkikoodi olisi yksi niistä kansallisista ASCII-varianteista, jotka jotkut meistä vielä lämmöllä muistavat, mutta asia ei ole edes niin. Iso ö (Ö) tulee nimittäin kahtena. (En muutenkaan ymmärrä tulosta. Missä järjestyksessä luennat ovat? Missä dokumentaatio? Onko jokin ohjelma, joka osaa tulkita tuloksen niin, että \\ on sille vain yksi Ö? Jotain CSV:tä tämä?)

Ruotsalaisten ASCII-vastine käyttäytyy siis näin:

[1069] hippu2$ echo Pöllöjä. PÖLLÖJÄ! | iconv -t latin1 |
               textmorfo 2> /dev/null | iconv -f iso646-se
BaseForm=_PERIOD,SurfaceForm=.,Category=Delimiter,Case=,Numb...
BaseForm=Pöllö,SurfaceForm=Pöllöjä,Category=Noun,Case=Part,N...
------------------------------------------------------------...
BaseForm=_EXCLAMATION,SurfaceForm=!,Category=Delimiter,Case=...
BaseForm=PÖÖLLÖÖ,SurfaceForm=PÖÖLLÖÖJÄ,Category=Noun,Case=Pa...
------------------------------------------------------------...

(Näyttää tunnistavan virkerajoja. Pointti on kuitenkin tuo PÖÖLLÖÖ.)

Lingsoftin jäsentimet eri kielille

CSC:n sivu listaa joitakin Lingsoftin työkaluja, mutta hipussa voi huomata, että niitä on asennettuna enemmänkin. Kaikki löytynevät samasta bin-hakemistosta. Versiot näyttävät olevan varsin uusia, vuodelta 2010.

module whatsit lingsoft

Tarjolla on morfologinen analyysi *twol-nimisissä työkaluissa, sen yksiselitteistäminen *cg-nimisissä työkaluissa, ja lopuksi pintamuotojen tuottaminen *gen-nimisissä työkaluissa.

Oletusmerkistönä on Latin-1 mutta UTF-8:aa varten on valitsin -u. Niukat mutta hyödylliset man-sivut on, ja ne viittaavat verkkosivuille ohjelmakohtaisia lisätietoja varten.

Ohjelmat itse eivät tarjoa juuri mitään dokumentaatiota. __Mahdollisesti dokumentaation tulostus ei toimi:__ se näyttää viittaavan ohjelmaan lsindex-cmd, joka ei ole hakupolulla:

[1046] hippu1$ fincg --help

FINCG
Copyright (C) Lingsoft, Inc. 2010

/v/linux26_x86_64/appl/ling/lingsoft/bin/fincg: illegal option -- -
Usage: /v/linux26_x86_64/appl/ling/lingsoft/bin/fincg [lsindex-cmd options] [file] ...
Tai ehkä kyseistä komentorividokumentaatiota vain ei ole. Kuka tietää?

Esimerkkinä Lingsoftin kielityökaluista aakkosjärjestyksessä ensimmäiset, tanskan dancg, dangen ja dantwol.

[1055] hippu1$ echo sattes ofte spørgsmål | dancg -u 2> /dev/null
"<sattes>"
   "sætte"  V FIN PRT PAS
"<ofte>"
   "ofte"  U <adv> <pos>
"<spørgsmål>"
   "spørgsmål"  N INT PL UBEST NOM
   "spørgsmål"  N INT SG UBEST NOM

[1061] hippu1$ echo sætte+V+FIN+PRT+PAS | dangen -u 2> /dev/null
sattes Sattes 

[1060] hippu1$ echo sattes ofte spørgsmål | dantwol -u 2> /dev/null
"<sattes>"
   "sætte"  V FIN PRT PAS
   "sat"  A POS UK PL UB GEN
   "sat"  A POS UK SG BEST GEN
   "sætte"  V INF PCP2 UK PL UB GEN
   "sætte"  V INF PCP2 UK SG BEST GEN

"<ofte>"
   "ofte"  U <adv> <pos>

"<spørgsmål>"
   "spørgsmål"  N INT SG UBEST NOM
   "spørgsmål"  N INT PL UBEST NOM

Englannille on vain engcg. en kokeillut Ne Lingsoftin työkalut, joita olen kokeillut, näyttävät kaikki toimivan hyvin.

Suomen fincg ja fintwol tuli kokeiltua, fingen ei.

[1032] hippu2$ echo Ei meillä pelätä. | fincg -u 2> /dev/null 
"<Ei>"
   "ei"  NEGV V SG3 <up>
"<meillä>"
   "me"  PERS PRON ADE PL
"<pelätä>"
   "pelätä"  V INF1 LAT
   "pelätä"  V PRES PSS NEG
"<.>"
   "."  PUNCT

[1081] hippu2$ echo Ei meillä pelätä. | fintwol -u 2> /dev/null 
"<Ei>"
   "ei"  NEGV V SG3 <up>

"<meillä>"
   "me"  PERS PRON ADE PL

"<pelätä>"
   "pelätä"  V INF1 NOM
   "pelätä"  V PRES PSS NEG

"<.>"
   "."  <NON-TWOL>

Saksalle on gergen ja gertwol, ei yksiselitteistystä. en kokeillut

Nynorskille on samoin nnogen ja nnotwol, ei yksiselitteistystä. en kokeillut

Bokmålille on kaikki kolme: nobcg, nobgen, nobtwol. en kokeillut

Venäjälle on vain morfologinen analyysi, rustwol. en kokeillut vielä, mutta kiinnostaa katsoa, miten kyrillistä merkistöä käsitellään, öö, man-sivu sanoo tästäkin että latin-1, mutta eihän se voi olla?

Ruotsille on niin ikään kolme: swecg, swegen ja swetwol. Kokeilin paria:

[1058] hippu2$ echo Härifrån tvättas det! | swecg -u 2> /dev/null 
"<Härifrån>"
   "härifrån"  <**c> ADV
"<tvättas>"
   "tvätta"  V PASS PRES
"<det>"
   "den"  <DEM> PRON NEU DEF SG NOM
"<!>"
   "!"  CLB <PUNCT>

[1075] hippu2$ echo Härifrån tvättas det! | swetwol -u 2> /dev/null 
"<Härifrån>"
   "härifrån"  <**c> ADV

"<tvättas>"
   "tvätta"  V PASS INF
   "tvätta"  V PASS PRES

"<det>"
   "den"  <DEM/ART> <DF/MD> DET NEU DEF SG NOM
   "den"  <DEM> PRON NEU DEF SG NOM

"<!>"
   "$!"  <PUNCT>

OMor: Open Source Morphologies

Paikallista vapaasti käytettävää kehitystyötä. Tärkeä. Lienee siellä ainakin omorfi. Viitattava verkkosivulle OMorFiHome tässä ja jäljemmäs HFST:hen.

salama

"IAAS the Swahili Language Manager" ALERT! Tätä välinettä ei vielä kokeiltu ALERT!

Kieliteknologisia välineitä

Näillä tehdään yllä esiteltyjä kielenanalyysivälineitä.

AT&T:n työkalukokoelmat

fsmlibrary FSM Library "työkaluja äärellisten automaattien käsittelyyn" ALERT! Tätä välinettä ei vielä kokeiltu ALERT!

grmlibrary GRM library "työkaluja kielioppien tekemiseen" ALERT! Tätä välinettä ei vielä kokeiltu ALERT!

lextools "työkaluja äärellistilaiseen kielen analyysiin" ALERT! Tätä välinettä ei vielä kokeiltu ALERT!

Alustava havainto: fsm- ja grm-alkuisia kilkkeitä on, module-järjestelmä tuntee ja kieliryhmä näkee; lextools tai lex-alkuiset työkalut ovat olemassa mutta huolellisesti piilossa tiedostojärjestelmän uumenissa, eivät näkyvissä päinkään.

Käynnistynevät pyydettäessä kauniisti ja taitaa olla sekä man-sivut että --help, mutta pitää varmistaa.

Helsinki Finite-State Things (T is for Transducer Technology?)

Näyttää olevan tätä lajia. Katsotaan tässä myös Stuttgart-FST ja OpenFST.

Dokumentaatiota pitäisi löytyä: HfstHome.

kwic tools

"KWIC-konkordanssityökaluja" ALERT! Tätä välinettä ei vielä kokeiltu ALERT!

CSC:n ohjesivun kwic tools mukaan tämmöinen on ja koostuu komennoista kw-alg ja kw-align-hits (muistankin hämärästi tämmöiset, mutta sen jälkeen on tapahtunut paljon). Ei näitä näy, hipussa.

(Ei kun löytyvät ne sieltä module-hakemiston uumenista. Hakupolulta siis kuitenkaan eivät.)

pc-parse

"morfologisen ja syntaktisen jäsennyksen työkaluja" ALERT! Tätä välinettä ei vielä kokeiltu ALERT!

CSC:n ohjesivu pc-parse ei aivan kerro, mitä komentoja käytetään, paitsi pcpatr ehkä, mutta koko pitkä lista työkaluja on hakupolulla. Täällähän on pckimmo, muun muassa, copyright SIL.

Nämä eivät ymmärrä valitsinta --help, mutta ovat kuitenkin avuliaita, kun eivät ymmärrä.

Ohjesivuilla mainittuja hakemistoja kuten pckimmo/test/eng en löydä.

Yleiskäyttöisiä ohjelmointivälineitä

Nämä eivät ole erityisesti kieliteknologiaa.

Esimerkiksi Sicstus on ihan muuta, mutta se on listat CSC:n sivulla. Oletan, että se on siellä siksi, että meillä oli tapana opettaa Prologia ja käytimme siinä sitä. Siitä on kauan.

libxml2 ja libxslt

GNOME:sta, osaavat useita standardeja (XML, DTD, XML Schema, Relax NG, XPath, XInclude, XSLT, ehjä versio käyttöön module:na, monta kokeiltuna Pythonin lxml-kirjastoa käyttäen.)

Pitäisi selvittää näiden käyttö ainakin Javan kanssa myös, ehkä C:n tai C++:n mutta siinä joku muu voisi olla viisaampi, samoin kuin Perlin kanssa.

  • procxslt
  • xml_grep tai jokin sellainen oli myös

Python

Python 3 alkaa olla varsin kurantti ja pari versiota on asennettu, käyttöön module:na. Yksi näistä tekee gmoneja mutta osaa lxml:n, toinen ei tee mutta ei osaa.

saxon

"Saxon XSLT processor" ALERT! Tätä välinettä ei vielä kokeiltu ALERT!

sicstus prolog

"Prolog-kehitysympäristö" module avail: sicstus/{4.0.7 (default), 4.1.3}

Käynnistyy ja ainakin äkkiä kokeilemalla toimii. Pitäisi palauttaa mieleen, miten kirjastoja otetaan käyttöön ja kokeilla sekin.

Topic revision: r9 - 2010-11-30 - JussiPiitulainen
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback