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
- Rinnakkaistekstit
- 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”:
- Katso lokista.
- Jos ongelma jatkuu, päivitä convert2xml (katso ylääällä, kohta Korpuskääntäminen)
- kokeile uudestaan
- 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:
- Päivitä corpustools
- kokeile muita tiedostoja:
- Jos convert2xml ei koskaan toimi, niin vika on päivityksessä / pythonissa
- Jos convert2xml toimii muualla, mutta ei tälle tiedostolle, niin:
- Joka vika on tiedostossa (ks. sähköpostiosoite ylhäällä=
- 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.
- Siinä on yhteisiä tiedostoja: arabic_roman_digits.lexc
- alkuperäinen on
../../giella-shared/smi/src/morphology/stems/arabic_roman_digits.lexc
- alkuperäinen on
- Siinä on yhdistettyjä tiedostoja:
- smi-acronyms.lexc on giella-shared-hakemistosta
- fkv-acronyms.lexc löytyy fkv/src/morphology/stems/-hakemistosta
- 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.