190923

fkv-kokous 23.9.2019 Paikalla Aili, Thomas, Trond

Asialista

  • Tilanne
  • Priorisointi
  • yaml-testit
  • make check
  • Ailin ja Thomaksen konkreettiset kysymykset:

Tilanne

Me kaikki seuraamme tilanetta, ja joku meistä, erityisesti Aili, kutsuu kokoon.

Analysaattorin yleistilanne on hyvä (ks. alhaalla), mutta . Kattavus ei ole ihan niin hyvä, vain %.

Korpustilanne on parantanut, 380 000 sanaa, mutta parannuksia on.

Korpissa on 2400 sanaa rinnakkaistekstiä:

http://gtweb.uit.no/f_korp/?mode=parallel#parallel_corpora=fkv&corpus=fkv_ruijan_kaiku_20140418

Jos nyt kahden viikon aikana lisätään tekstejä ja rinnakkaislinkkeja freecorpusiin, saadaan ne Korpiin lokakuussa.

Priorisointi

  1. Rinnakkaistekstit
  2. Kattavuus pitää parantaa

54475/456285 = 11,9%, siis kattavuus on 88,0 %.

yaml-testit

SUMMARY for the gt-norm-dial_Por fst(s): PASSES: 10770 / FAILS: 2 / TOTAL: 10772
SUMMARY for the generating gt-norm-dial_Jok fst(s): PASSES: 1433 / FAILS: 0 / TOTAL: 1433
SUMMARY for the generating gt-norm-dial_Var fst(s): PASSES: 2949 / FAILS: 0 / TOTAL: 2949

Kaksi virhettä, seuraavat:

---------------------------------------------------------
Test 0: Noun - perintö - ei tsekattu (Lexical/Generation)
---------------------------------------------------------
[15/25][FAIL] perintö+N+Pl+Par => Missing results: perinttöi
[15/25][FAIL] perintö+N+Pl+Par => Unexpected results: perinöitä

Test 0 - Passes: 24, Fails: 1, Total: 25
-------------------------------------------------------
Test 1: Noun - perintö - ei tsekattu (Surface/Analysis)
-------------------------------------------------------
[15/25][FAIL] perinttöi => Missing results: perintö+N+Pl+Par

make check

Nämä hankalat neljä verbiä

ei+V+Inf	ei+V+Inf	+?
liuota+V+Inf	liuvota
livota+V+Inf	lijota
noveta+V+Inf	nojeta
silmästä+V+Inf	silmäistä

Ks. myös tiedostot

  • test/src/morphology/missing_verbs_lemmas.xfst.txt
  • test/src/morphology/generated-verbs.xfst.txt

Toistaa voi komennolla:

echo liuota+V+Inf|dfkv

Korpuskääntäminen

Päivittää convert2xml:

cd ~/main/tools/CorpusTools
python setup.py install --user --install-scripts=$HOME/bin --record installed_files.txt

Jos saat "Permission denied", niin olisit pitänyt tehdä asiat toisin aikaisemmin .Trond katsoo. Quick fix:

sudo python setup.py install --user --install-scripts=$HOME/bin --record installed_files.txt

Kääntää korpus

cd ~/freecorpus
convert2xml orig/fkv

Ja sitten tsekata, montako sanaa meillä on:

 ccat -l fkv ~/freecorpus/converted/fkv|wc -w

Tänään ainakin 362382.

Tärkeä kysymys. Mikä on kattavuus? Montako sanaa analysaattori tunnistaa?

(vastaus tulossa)

Ailin ja Thomaksen kysymykset:

convert2xml

Miten voimme tulkita convert2xml-virheitä: Log (Error at: 162)

Mitä tarkoittaa >ect=“‘’“/>   ? Mitä se tekkee?
    <xsl:variable name="sub_email" select="''"/>ect="''"/> 
Poistimme tämän xsl-tiedostosta, ja sitten convert2xml onnistui.

'"/>ect="' olisi pitänyt olla sähköpostiosoite.

sub_email-rivi pitää sisältää

    <xsl:variable name="sub_email" select="'jonkun_postiosoite@joku_paikka.no'"/>

Kommentti: kokeilima xmllint ja se toimii kans korpuspuolela, jos feili oon xml: ssä.

Jos saa "Could not convert":

  1. Katso lokista.
  2. Jos ongelma jatkuu, päivitä convert2xml (katso ylääällä, kohta Korpuskääntäminen)
  3. kokeile uudestaan
  4. Jos sekään ei auta, kysy.

Asiantuntija on Børre, borre.gaup@uit.no, tai Zulipissa.

xsl

Emme löydä feiliä tässä xsl-tiedostossa:

freecorpus/orig/fkv/facta/kainun_institutti
Tuomas:kainun_institutti thomas$ convert2xml .
WARNING:corpustools.convertermanager:Could not convert ./alkukursi_3._osa.docx
Converter: Not valid XML. More info in the log file: /Users/thomas/freecorpus/orig/fkv/facta/kainun_institutti/alkukursi_3._osa.docx.log
Ehotus: Voiko feili olla siinä ette yhessä dokumentissä oon esim 1.,2.,3. ja toisessa a.,b.,c. Jos oon, niin piämäkö net oikaista kaikki dokumenttii missä oon tämäntyyppissii feilii?

Virheilmoitus:

convert2xml orig/fkv/facta/kainun_institutti/alkukursi_3._osa.docx
Converter: Not valid XML. More info in the log file: /Users/trond/freecorpus/orig/fkv/facta/kainun_institutti/alkukursi_3._osa.docx.log
<string>:1:0:ERROR:VALID:DTD_INVALID_CHILD: Element p is not declared in p list of possible children
  • Ongelma: p is not declared in p list of possible children
  • Vastaus: Bugzilla tai meili Børrelle, kopio Trondille.

Toinen asia: ai(ð)an. Analysaattori ei ymmärrä tälläistä muotoa.

xsl-tiedoston lopussa lukee:

                <xsl:with-param name="target" select="'str1/str2/str3/'"/>                                                                                   
                <xsl:with-param name="replacement" select="'rpl1/rpl2/rpl3/'"/>   

Me halutaan se noin (eli: me poistetaan hakasulut):

                <xsl:with-param name="target" select="'(ð)/'"/>                                                                                   
                <xsl:with-param name="replacement" select="'ð/'"/>   
svn up orig/fkv/facta/kainun_institutti/alkukursi_1._osa.docx.xsl
ccat converted/fkv/facta/kainun_institutti/alkukursi_1._osa.docx.xml |grep 'ð'
Vastaus:
converted/fkv/facta/kainun_institutti/alkukursi_1._osa.docx.xml:    <p>kah(ð)eksen</p>


convert2xml orig/fkv/facta/kainun_institutti/alkukursi_1._osa.docx

see orig/fkv/facta/kainun_institutti/alkukursi_1._osa.docx.xsl
see orig/fkv/facta/kainun_institutti/alkukursi_4._osa.docx.xsl


     <xsl:template match="p[parent::body][not(./em | ./span)][text()]">
         <xsl:variable name="text" select='current()' />
         <xsl:variable name="type" select='@type' />
@@ -346,12 +346,12 @@
 
             <xsl:call-template name="globalTextReplace">
                 <xsl:with-param name="inputString" select="$text"/>
                 <xsl:with-param name="target" select="'(ð)/(i)/u(a/u)/'"/>
                 <xsl:with-param name="replacement" select="'ð/i/uu/'"/>
                 <xsl:with-param name="continue" select="0"/>
             </xsl:call-template>
         </xsl:element>
     </xsl:template>

Aamu(a/u)
kuus(i)

kah(ð)eksen ¶
yh(ð)eksen ¶

kahðeksen ¶
yhðeksen ¶

paradigmat

Saattaisko Trond lisätä pl ess tahi kom generoithuin paradigmhoin?

Tehty. Päivitys tulossa.

twolc

kivvoin

Lexical string ('q' = quit): kiv0a>^AO>i5>n  
Surface string ('q' = quit): kivvo>0>i>n
k
i
v
0:v
a:o
>
REJECTED: "a:o before Pl i and Pret i" fails in state 27.
  • Kysymys: Miksi se sanoo, että a: o feilaa, kun a: o menee läpi?
  • Vastaus: Se sanoo, että sääntö feilaa, ei, että a:o feilaa.
ufkv
kivvoin
kivvoin	kiva+A+Sg+Superl+Nom
kivvoin	kiva+A+Pl+Gen

kivvii

kiv0e>i2>^V
kivv0>i>i

Error: Strings have an unequal number of symbols.

Mystistä: Molemmilla on 9.

lexc

  • Lexc: n jono voi joskus olla näin:
LEXICON jotain
                 +A+Dial/Por :^Por     x_12_si ;
                 
LEXCIOB x_12_si
+Pl+Dial/Por:^E2I%>i2 gen_Vn          ; ! vuossiin, ei vuottiin, hirssiin

Kysymys: Onko ongelmallista, että jonossa on Dial/Por-taggi kaksi kertaa?

+A+Dial/Por :^Por +Pl+Dial/Por:^E2I%>i2%>^Vn

Trond: Luulen, että vastaus on ei.

Koska, nimittäin:

  • Por-analysaattori: Poista tagi Dial/Por
  • Muut analysaattorit: Poista jonot, joissa on tagi Dial/Por

Mutta tsekkaa, onko tuplatagi järkevä, vai voiko sitä välttää. Onko siis tarpeellista sanoa asia kahdesti?

Jos kuitenkin on ongelmia, asiaintuntija on Sjur.

LKuokittelu

Kommentti siitä mitä oon tehty:

Niistä luokituksista ei tullee feilii tällä hetkelä, mutta oon yksi mihin tiän ette tullee feilii jos aktivoima esim var

  • TODO: selvittää kannattaako siirtää osa sanoista toiseen ryhmään vai muuttaa tämän ryhmän nimen
  • TODO: jos tulee ongelmia var murteen lyhyt i: llisen superlatiivin kanssa meidän täytyy siirtää kaikki -o ja -y loppuiset adjektiivit.) > Kommentti: oon jo tehty.

Trond ei ole vielä henkisesti valmis ajattelemaan var-ongelmia... Mutta on hyvä ajatella sitä jo nyt. Aili: oon jo tehty.

convert2xml

  • Mistä tämmöiset feilit johtuuvat:
Ailis-MacBook-Pro:lyrics aili$ convert2xml .
Traceback (most recent call last):
  File "/Users/aili/bin/convert2xml", line 11, in <module>
    load_entry_point('CorpusTools==0.24.2', 'console_scripts', 'convert2xml')()
  File "/Users/aili/Library/Python/2.7/lib/python/site-packages/CorpusTools-0.24.2-py2.7.egg/corpustools/convertermanager.py", line 232, in main
    manager.convert_in_parallel()
  File "/Users/aili/Library/Python/2.7/lib/python/site-packages/CorpusTools-0.24.2-py2.7.egg/corpustools/convertermanager.py", line 93, in convert_in_parallel
    list(six.moves.zip([self] * len(self.files), self.files)))
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/multiprocessing/pool.py", line 253, in map
    return self.map_async(func, iterable, chunksize).get()
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/multiprocessing/pool.py", line 572, in get
    raise self._value
TypeError: str() takes at most 1 argument (2 given)
Ailis-MacBook-Pro:lyrics aili$

Oonko virhe pythonissa?

Prosedyyri:

  1. Päivitä corpustools
  2. kokeile muita tiedostoja:
    1. Jos convert2xml ei koskaan toimi, niin vika on päivityksessä / pythonissa
    2. Jos convert2xml toimii muualla, mutta ei tälle tiedostolle, niin:
      1. Joka vika on tiedostossa (ks. sähköpostiosoite ylhäällä=
      2. tal halutaan uutta convert2xml-versiota. Børre tietää.

Katsotaan sitä huomenna klo 11.

Tiedosto

  • Minkälainen tiedosto on tämä? (generated_files/smi-fkv-numerals.lexc)
LEXC test 3: analyser-gt-norm.hfstol + generated_files/smi-fkv-numerals.lexc - 420/7/427 FAIL
LEXC test 3: analyser-gt-norm.xfst + generated_files/smi-fkv-numerals.lexc - 420/7/427 FAIL

Tiedosto src/morphology/generated-files/00README.txt  sanoo vähän.

  1. Siinä on yhteisiä tiedostoja: arabic_roman_digits.lexc
    1. alkuperäinen on ../../giella-shared/smi/src/morphology/stems/arabic_roman_digits.lexc
  2. Siinä on yhdistettyjä tiedostoja:
    1. smi-acronyms.lexc on giella-shared-hakemistosta
    2. fkv-acronyms.lexc löytyy fkv/src/morphology/stems/-hakemistosta
    3. smi-fkv-acronyms.lexc on niiden yhdistelmä.

Tiedosto fkv/src/morphology/Makefile.am on kapellimestari, joka hoitaa kaikki tämän.

Tiedosto fkv/src/morphology/Makefile pitää olla uudempi kuin fkv/src/morphology/Makefile.am

ls -lt src/morphology/Makefile*

thomasbk:fkv thomas$ ls -lt src/morphology/Makefile*
-rw-r--r--  1 thomas  staff  33304 Sep 23 13:50 src/morphology/Makefile
-rw-r--r--  1 thomas  staff  32330 Aug 19 09:56 src/morphology/Makefile.in
-rw-r--r--  1 thomas  staff   3850 Jul  1 13:32 src/morphology/Makefile.am

Kovempi konsti (vie aikaa):

make distclean
./autogen.sh
./configure 
make -j

distclean ottaa pois kaikki rakenetut tiedostot, myös makefileit

Jos Makefile ei ole, niin kirjoita fkv: ssa

./autogen.sh
./configure --with-suosikki-asetuksesi

Sen jälkeen tsekkaat, oletko päivittänyt src/morphology/Makefile

make check

Toinen asia: Make check feilaa hfst: llä: The file lexicon.tmp.hfst did not compile cleanly.

hfst: Näin on. hfst-twolc on tiukempi kuin twolc. Tätä pitää tutkia.

test-grammar

Mistä tämä tulee:

? devtools/test_grammar_checker.sh

Se tulee Divvun-rhmän kielioppikorjausprojektista. Tee niin:

rm devtools/test_grammar_checker.sh

Seuraava kokous:

Huomenna klo 11.