190923
fkv-kokous 23.9.2019
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ä,
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,
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.
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
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ää.
- Joka vika on tiedostossa (ks. sähköpostiosoite ylhäällä=
- Jos convert2xml ei koskaan toimi, niin vika on päivityksessä / pythonissa
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 ../../giella-shared/smi/src/morphology/stems/arabic_roman_digits.lexc
- 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ä.
- smi-acronyms.lexc on giella-shared-hakemistosta
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.