151201
SamEst meeting 01.12.2015
Agenda
- FST
- Estonian Oahpa
- MT fin-est
- MT fin-sme
- Võro FST and Võro Oahpa
- Articles
- Next meeting
FST
Network negation bug
nägema generates wrong forms. Why do not things behave?
http://sourceforge.net/p/hfst/bugs/321/
Also http://www.meso.ee/~jjpp/hfst-vs-xfst-testcase.tgz
Parallel forms
What to do with the parallel forms that are (almost) never used? We should tag them differently.
In January there was a command line for finding parallel forms. Look for the command line now. The wheel could be reinvented, albeit long.
Heiki-Jaan has been playing with the fst (making a toy fst) with the Apertium interface.
We have to look at the corpus to see what forms should be preferred. We should in theory have all of them, but in practice one form is used for one lemma and another form for another lemma.
Examples of parallel forms that have appeared in MT:
- Contraction: ei ole/pole
- olema+V+Pers+Prs+Ind+Neg: ole GI;
- ei+V+Neg#olema+V+Pers+Prs+Ind+Neg: pole GI;
- olema+V+Pers+Prs+Ind+Neg: ole GI;
- Emphaticness sinu/su
- ütelda/öelda
- nad/nemad
- väikese/väikse
- Plural forms: koeradele/koertele, küsimusesse/küsimusse, lapsile/lastele
York:York<n><sg><nom> Yorke:York<n><pl><par> Yorki:York<n><sg><ill> Yorkisid:York<n><pl><par>+Use/Rare Yorkisse:York<n><sg><ill>+Use/Hyp tüng:tüng<n><sg><nom> tüngasid:tüng<n><pl><par> !! tünga:tüng<n><sg><ill> tüngasse:tüng<n><sg><ill>+Use/Hyp lexc: York DUCK ; ! York Yorki Yorki Yorke tüng:tüng PIIM ; ! tüng tünga tünga tüngasid kuld:ku%{ll%}%{d%}%>%{i%}%{hyp%} PIIM ; ! kuld kulla kulda kuldasid (kuldi) LEXICON DUCK ! stable type (aktiivne muuttüüp) almost == TAUD, but final stop weak grade does not change %<n%>%<sg%>%<nom%>: # ; %<n%>:%{WF%}%>i N_SG_SUBPARA ; ! sg gen + sg cases depending on it + pl nom %<n%>%<sg%>%<par%>:%>i # ; ! ducki %<n%>%<sg%>%<ill%>:%>i # ; ! ducki %<n%>%<sg%>%<ill%>%+Use%/Hyp:%{WF%}%>i%>sse # ; %<n%>:%>i%>de N_DE_PL_SUBPARA ; ! pl gen + pl cases depending on it %<n%>%<pl%>%<par%>:%>e # ; ! ducke %<n%>%<pl%>%<par%>%+Use%/Rare:%>i%>sid # ; ! duckisid+Use/Rare LEXICON PIIM ! unstable type (passiivne muuttüüp) sepp, kaup, ... %<n%>%<sg%>%<nom%>: # ; %<n%>:%{W%}%>a N_SG_SUBPARA ; ! sg gen + sg cases depending on it + pl nom %<n%>%<sg%>%<par%>:%>a # ; ! piima %<n%>%<sg%>%<ill%>:%>a # ; ! piima %<n%>%<sg%>%<ill%>%+Use%/Hyp:%{W%}%>a%>sse # ; %<n%>:%>a%>de N_DE_PL_SUBPARA ; ! pl gen + pl cases depending on it ! pl par stem vowel (u, i, 0) is lexically determined and usage-wise tagged ! kingi, kingasid+Use/Rare vs. puudi+Use/Rare, puudasid %<n%>%<pl%>%<par%>:%>%{a%}%>%{sid%} PL_PAR ; ! piimasid, piimi+Use/Rare
Tag interpretation (by system):
- +Use/Rare: Means: Discard in CG)
- +Use/Hyp Means: Same as Err/Orth
- Err/Orth: Orthographic error (but ignore the Academy when needed)
- Use/NG: Do not generate
- We have two forms for a single analysis, and one is dispreferred (dispreferred gets Use/NG)
Solution:
- +Use/NG instead of +Use/Hyp (??) and let +Use/Rare be a signal to CG
- Use either lexica or flags ad lib for distinguishing between patterns
Estonian Oahpa
- Vasta-S is working. Testing to be done, more templates needed (now 4).
- There has been comments on Vasta-S by Tiina and Kadri --> improvements.
- Plan to show it to teachers at Tartu University in January
Estonian Oahpa (Leksa, Morfa-S, Morfa-C) has been shown in schools.
Note: Leksa should be developed more (student modeling).
MT
fin-est
These problems thus to be fixed before starting on transfer rules:
- generation errors (double + missing + lexicalised)
Out of ~900 generation errors in texts/opik.fin.txt around 350 are of the type "stem is not found in the Estonian morphology".
23 #Maria<np><sg><gen> ^Maria/*Maria$ 13 #Helsinki<np><sg><ine> ^Helsinki/*Helsinki$ 7 #ennen<adv> ^ennen/*ennen$ 9 #tõepoolest<adv> ^tõepoolest/tõde<n><sg><gen>+poolene<adj><sg><par>/tõde<n><sg><gen>+poolest<adv>/tõde<n><sg><gen>+pool²<n><pl><ela >/tõde<n><sg><gen>+pool¹<n><sg><ela>/tõsi<n><sg><gen>+poolene<adj><sg><par>/tõsi<n><sg><gen>+poolest<adv>/tõsi<n><sg><gen>+pool²<n><pl><ela>/tõsi< n><sg><gen>+pool¹<n><sg><ela>$ 3 #tema<prn><sg><acc> ^tema/*tema$ NB! not acc, but par !! 3 #vabariik<n><sg><gen> ^vabariik/vaba<adj><sg><nom>+riik<n><sg><nom>$ 2 #eeskujulik<adj><sg><nom> ^eeskujulik/ees<adp>+kujulik<adj><sg><nom>/ees<adv>+kujulik<adj><sg><nom>$ 1 #pesema<vblex><pers><prs><ind><p3><sg> ^pesema/*pesema$ 1 #autobuss<n><sg><gen> ^autobuss/auto<n><sg><gen>+buss<n><sg><nom>/auto<n><sg><nom>+buss<n><sg><nom>$ 1 #Aafrika<np><sg><nom> ^Aafrika/*Aafrika$ <e><p><l>linja-auto<s n="n"/></l><r>autobuss<s n="n"/></r></p></e> <e><p><l>bussi<s n="n"/></l><r>buss<s n="n"/></r></p></e> $ echo pesema | hfst-lookup src/analyser-gt-norm.hfstol pesema pesema+? inf echo 'tema+Pron+Sg+Par' | hfst-lookup generator-mt-gt-norm.hfst tema+Pron+Sg+Par teda 0,000000 $ echo tema | hfst-lookup src/analyser-gt-norm.hfstol tema tema+? inf $ echo 'tema+Pron+Sg+Nom' | hfst-lookup src/generator-gt-norm.hfstol tema+Pron+Sg+Nom ta 0,000000 buss+N:buss 22_I; ! (22_S -> +S) at: buss, bt: bussi, bn: bussi, btv: busse, b\ autobuss+N:auto#buss 22_I; ! (22_S -> +S) at: buss, bt: bussi, bn: bussi, btv: busse, b\
etc.
Types:
- Stem is missing (Maria, pesema, tema, Aafrika)
- Stem can be formed by (sensible) dynamic compounding (vaba+riik)
- Stem can be formed with (not so) sensible dynamic compounding (auto+buss)
fin-sme
Fran did sme-fin, with good results. The whole story was translated into
MISSÄ DUOMMÁ ON? Duommá ja Máret on puutarhassa. On hyvä sää tänään, on tosi lämmin. Mut eilen oli tosi kylmä! Ne ei voinut leikkiä silloin ulkona. Duommá ja Máret tykkää leikkiä, ne leikkii aina yhdessä puutarhassa ison talon edessä. Duommá on pieni poika ja se on kuuden vuoden vanha. Pieni tyttönen on sen sisko, se on viiden vuoden vanha. Duommálla on pieni koiranen, sekin on nyt puutarhassa. Koira tykkää leikkiä sen kahden lapsenkaa. Koira on tosi iloinen nyt. Onks Máretilla myös koira? Ei, Máretilla ei oo koira, sillä on kissa. Mut kissa on talossa, kissa nukkuu. Niiden äiti on talon sisälle kissankaa yhdessä, se katsoo ikkunan ulos ja näkee Duommá ja Máret leikkimässä. Duommá juoksee nopeasti ison vanhan puun luo, se lymyää Máretilla. Tiedätkö miks? Máret istuu ja sillä olla kädet silmien edestä. Se ei näe mitään ja se laskee. Miks se tekee niin? Ja myös Duommá tekee puun luota? Se on leikki. Kun Máret lopettaa laskemasta, se katsoo ympärille. Se etsii Duommá: minne se meni? Näitkö sen? Máret ei tiedä missä Duommá on. Se kysyy koirassa: "Näitkö Duommá?". Mut koira tietysti ei osaa puhua! Máret ei saa vastauksen kysymykseen. Ei kukaan saa vastauksen, kun puhuu koirienkaa! Máret katsoo äidissä lasin luota, sen äiti nauraa. Máret ajatellee, että se on nähnyt minne Duommá on mennyt: "Kerro muhun missä se on!", se sanoo äitiin. "Ei Máret, en voi kertoa suhun!", se vastaa. Vaikka se todennäköisesti tietää missä poika on, se ei haluu kertoa. Máret kävellee hitaasti puutarhan läpi. Se yrittää edelleen etsiä Duommá. Se katsoo pöydän alta ja tuolien alta, mut Duommá ei oo siellä. Se katsoo joka sijassa, mut ei se voi löytää Duommá. Sit se kuullee äänen, se tulee ison vanhan puun luota. Voisko olla Duommá? Tuossa se ääni on taas! Se kuunnellee huolellisesti. Ei oo lintu eikin minkäänlainen muu eläin. Nyt se kuullee se hyvin. Pitää olla Duommá! Sit se näkee pienin kädenkin ja kun se tulee lähemmäs, sit se näkee sen pään myös! Máret nauraa ja sanoo: "Löysin sut!". Ne molemmat on ilossa ja menee taloon, on aika syödä jokin ja juoda vähän veden!
https://svn.code.sf.net/p/apertium/svn/branches/courses/2015-tartu/practicals/spectre360
The result here is made by:
- identical tags
- 16 transfer rules
The result is still in branches (it is a proof of concept, using private fst's both for sme and fin).
The path forward for this is to port the results to nursery.
Võru
Võru FST
Vro Wikipedia: 45% of the wordforms are recognised (50% recognised on a small story)
Missing words, top list from WP:
1716 kihlkunnan kihlkunnan +? 1499 vai vai +? 1183 perrä perrä +? 672 Põlva Põlva +? 665 kallendri kallendri +? 603 Gregoriusõ Gregoriusõ +? 600 Rõugõ Rõugõ +? 587 kõgõ kõgõ +? 527 ärq ärq +? 496 Eesti Eesti +? 483 nink nink +? 423 oja oja +? 416 vällä vällä +? 397 Kanepi Kanepi +? 370 sõs sõs +? 361 Räpinä Räpinä +? 349 timä timä +? 348 ni ni +? 345 Vahtsõliina Vahtsõliina +? 331 nii nii +? 324 kihlkunna kihlkunna +? 306 liigaastagal liigaastagal +? 305 põh põh +? 298 Urvastõ Urvastõ +? 290 olliq olliq +? 276 internetitunnus internetitunnus +?
Lexicon size:
10970 src/morphology/stems/nouns_newwords.lexc 9419 src/morphology/stems/nouns.lexc 4885 src/morphology/stems/verbs_newwords.lexc 4718 src/morphology/stems/verbs.lexc 851 src/morphology/stems/adjectives.lexc 336 src/morphology/stems/adverbs.lexc 205 src/morphology/stems/abbreviations.lexc 50 src/morphology/stems/exceptions.lexc 50 src/morphology/stems/acronyms.lexc 16 src/morphology/stems/punctuation.lexc 9 src/morphology/stems/pronouns.lexc 7 src/morphology/stems/conjunctors.lexc 5 src/morphology/stems/quantifiers.lexc 5 src/morphology/stems/interjections.lexc 4 src/morphology/stems/adpositions.lexc
Võru CG
- Mariann Loosaar intends to work on Võro CG (morphological disambiguation) for her bachelor's thesis.
Võru Oahpa
- Sort words ending by -nõ to adjectives and substantives, add more words to semantic classes for Oahpa (Sulev)
- Adjectives in Morfa-S have been set up. More forms needed to get it work properly.
- Numra is fine, Leksa is fine
- Morfa-S and Morfa-C - nouns and verbs are working but there are still lots of erroneous verb forms => work on the FST.
Bug reports:
- Leksa: tahtma책 ville, 책 ønske - should be å ville, å ønske
- Numra is too picky on date formats. Look at the sloppifyer for sma, it has been commented out. 12.2 was not accepted, but should (probably) be.
- Answer without q seen as correct (but should there be a hint mechanism)
- Answer without palatalisation is optional (both kats and kats' and kats´ accepted)
- cf. south saami ï (correct) vs. i (in use)
Usage: Showed Oahpa in beginner's course, and in a lecture to Kindergarten teachers. Question from Tallinn, on e-learning.
In the Estonian language technology conference in Tartu Sulev demonstrated the Oahpa, and it was favourably recieved.
Treebank gold standard corpus
These are three attempts at getting it right:
ettei ettei ettei+Pcle+CS ettei että+CSei+Neg+Act+Sg3 ettei että#ei+CS
The fin fst has no tag +CSei declared in fin/src/morphology/root.lexc
What it should be is:
ettei että+CS#ei+Neg+Act+Sg3
Useful for weird analyses:
huest -X print-space -X show-flags
(or hufin etc.)
echo ettei | hufin -X print-space -X show-flags ettei e t t e i +Pcle +CS 0.000000 ettei e t t ä # e i +CS 0.000000 ettei e t t ä +CS e i +Neg +Act +Sg3 0.000000
alias huest
alias huest='$HLOOKUP $GTHOME/langs/est/src/analyser-gt-desc.hfstol'
source $GTHOME/gt/script/init.d/lookup-init.sh
Articles
(to be looked at during forthcoming meetings)
- Monitor the "before" (implementation) articles
- Move article topics from "after" to "before"
The "before" articles
Contrastive/comparative tag/grammar article
Heiki-Jaan, Trond, Fran, ...
Article before spellchecker is out?
Relevant for Võru
The "after" articles
The usual MT articles
-- next year EAMT (deadline February?) for finest?
Looking not at BLEU/WER, but at robustness:
Oahpa implementation article
The first work-in-progress article has appeared in the Nodalida'15 ICALL workshop proceedings. Link to the article: https://aclweb.org/anthology/W/W15/W15-1906.pdf
Oahpa usage article
(when in use)
Next meeting
15. Dec. (Tromsø 0900) (Tartu 1000)
Issues to look at: Status, Articles, Establishing subgroups.