Difference between revisions of "User talk:Francis Tyers/Experiments"

From Apertium
Jump to navigation Jump to search
Line 1: Line 1:
==Trace==
==Trace==


===A bad rule===
===A "bad" rule===


<pre>
<pre>
Line 36: Line 36:
</pre>
</pre>


===A good rule===
===A "good" rule===


<pre>
<pre>

Revision as of 12:16, 16 September 2012

Trace

A "bad" rule


The final rule:

  <rule c="74 381: 0.9999999999" weight="9999999999.0000019073">
    <match lemma="kinnig" tags="vblex.*"><select lemma="présenter" tags="vblex.*"/></match>
    <match lemma="e" tags="pr"/>
  </rule>

From the n-gram file:

  # crispiness            weight       total_freq   default_freq max_freq     freq_of_max_tl  sl_word        tl_word
  + 9999999999.0000019073 0.9999999998 1.0000000001 0.0000000001 0.9999999999 0.9999999999    kinnig<vblex>  présenter<vblex>
  kinnig<vblex> e<pr>

From the language model:

 See example below in "good rule".

A bad application in the test file:

10433 ]	^un<det><ind><sp>/un<det><ind><GD><ND>$ ^diplom# skol-veur<n><m><sg>/diplôme universitaire<n><m><sg>$ ^micher<n><f><pl>/métier<n><m><pl>$ 
^e brezhoneg<adv>/en breton<adv>$ ^a<vpart>/@a<vpart>$ ^bezañ<vblex><prh><p3><sg><@+FMAINV>/être<vblex><prh><p3><sg><@+FMAINV>$ 
!!! ^kinnig<vblex><pp>/proposer<vblex><pp>$ ^e<pr>/en<pr>/dans<pr>$ !!! ^skourr<n><m><pl>/branche<n><f><pl>$ ^Gwengamp<np><top><sg>/Guingamp<np><loc>$ 
^ha<cnjcoo>/et<cnjcoo>$ ^Aradon<np><top><sg>/Arradon<np><loc>$ ^skol#-m#eur<n><f><sg>/université<n><f><sg>$ ^katolik<adj><mf><sp>/catholique<adj><mf><ND>$ 
^an<det><def><sp>/le<det><def><GD><ND>$ ^kornôg<n><m><sg>/ouest<n><m><sg>$ ^da skouer<adv>/par exemple<adv>$ ^.<sent>/.<sent>$ 

From the parallel corpus (e.g. the alignment is ok):

Un diplôme universitaire « métiers en langue bretonne » est, par exemple, proposé sur les antennes de Guingamp et d’Arradon de l’Université Catholique de l’Ouest. 

A "good" rule


The final rule:

  <rule c="2 7: 0.9999999999" weight="9999999999.0000019073">
    <match lemma="diskouezadeg" tags="n.*"/>
    <match lemma="kinnig" tags="vblex.*"> <!-- default translation is "proposer" -->
      <select lemma="présenter" tags="vblex.*"/></match>
  </rule>

From the n-gram file:

  # crispiness            weight       total_freq   default_freq max_freq     freq_of_max_tl  sl_word        tl_word
  + 9999999999.0000019073 0.9999999998 1.0000000001 0.0000000001 0.9999999999 0.9999999999    kinnig<vblex>  présenter<vblex>         
  diskouezadeg<n> kinnig<vblex>   

The output of the language model on the source sentences translated into the TL:

0.0000000000	||	.[][6440 0].[]	 	Il écrivit la préface du catalogue de l'exposition offerte dans 1943 avec les *diskouezva *Pétridès , il eut du succès ..
0.0000000000	||	.[][6440 1].[]	 	Il écrivit la préface du catalogue de l'exposition déposée dans 1943 avec les *diskouezva *Pétridès , il eut du succès ..
0.0000000001	||	.[][6440 2].[]	 	Il écrivit la préface du catalogue de l'exposition offerte en 1943 avec les *diskouezva *Pétridès , il eut du succès ..
0.0000000000	||	.[][6440 3].[]	 	Il écrivit la préface du catalogue de l'exposition déposée en 1943 avec les *diskouezva *Pétridès , il eut du succès ..
0.0000000001	||	.[][6440 4].[]	 	Il écrivit la préface du catalogue de l'exposition proposée en 1943 avec les *diskouezva *Pétridès , il eut du succès ..
0.0000000342	||	.[][6440 5].[]	 	Il écrivit la préface du catalogue de l'exposition présentée dans 1943 avec les *diskouezva *Pétridès , il eut du succès ..
0.9999999657	|@|	.[][6440 6].[]	 	Il écrivit la préface du catalogue de l'exposition présentée en 1943 avec les *diskouezva *Pétridès , il eut du succès ..
0.0000000000	||	.[][6440 7].[]	 	Il écrivit la préface du catalogue de l'exposition proposée dans 1943 avec les *diskouezva *Pétridès , il eut du succès ..

-62.5979	||	.[][6440 0].[]	 	Il écrivit la préface du catalogue de l'exposition offerte dans 1943 avec les *diskouezva *Pétridès , il eut du succès ..
-61.5204	||	.[][6440 1].[]	 	Il écrivit la préface du catalogue de l'exposition déposée dans 1943 avec les *diskouezva *Pétridès , il eut du succès ..
-59.4907	||	.[][6440 2].[]	 	Il écrivit la préface du catalogue de l'exposition offerte en 1943 avec les *diskouezva *Pétridès , il eut du succès ..
-60.445	||	.[][6440 3].[]	 	Il écrivit la préface du catalogue de l'exposition déposée en 1943 avec les *diskouezva *Pétridès , il eut du succès ..
-59.5134	||	.[][6440 4].[]	 	Il écrivit la préface du catalogue de l'exposition proposée en 1943 avec les *diskouezva *Pétridès , il eut du succès ..
-56.6975	||	.[][6440 5].[]	 	Il écrivit la préface du catalogue de l'exposition présentée dans 1943 avec les *diskouezva *Pétridès , il eut du succès ..
-49.2317	|@|	.[][6440 6].[]	 	Il écrivit la préface du catalogue de l'exposition présentée en 1943 avec les *diskouezva *Pétridès , il eut du succès ..
-61.1621	||	.[][6440 7].[]	 	Il écrivit la préface du catalogue de l'exposition proposée dans 1943 avec les *diskouezva *Pétridès , il eut du succès ..

Translation from the parallel corpus:

Il préface le catalogue de l'exposition présentée en 1943 par la galerie Pétridès, qui remporte un succès triomphal.

Processing

Basque→Spanish

 2081  cat europako_testuak_memoria_2010.tmx | iconv -f utf-16 -t utf-8 > europako_testuak_memoria_2010.tmx.u8
 2082  cat 2010_memo_orokorra.tmx | iconv -f utf-16 -t utf-8 > 2010_memo_orokorra.tmx.u8
 2088  python3 process-tmx.py europako_testuak_memoria_2010.tmx.u8 > europako_testuak_memoria_2010.txt
 2090  python3 process-tmx.py 2010_memo_orokorra.tmx.u8 > 2010_memo_orokorra.txt
 2091  cat 2010_memo_orokorra.txt | grep '^es' | cut -f2- > 2010_memo_orokorra.es.txt
 2092  cat 2010_memo_orokorra.txt | grep '^eu' | cut -f2- > 2010_memo_orokorra.eu.txt
 2094  cat europako_testuak_memoria_2010.txt | grep '^es' | cut -f2- > europako_testuak_memoria_2010.es.txt
 2095  cat europako_testuak_memoria_2010.txt | grep '^eu' | cut -f2- > europako_testuak_memoria_2010.eu.txt
 2099  cat europako_testuak_memoria_2010.es.txt 2010_memo_orokorra.es.txt > opendata.es
 2100  cat europako_testuak_memoria_2010.eu.txt 2010_memo_orokorra.eu.txt > opendata.eu


$ wc -l opendata.e*
   782325 opendata.es
   782325 opendata.eu


 2114  perl /home/fran/local/bin/scripts-20120109-1229/training/clean-corpus-n.perl opendata eu es opendata.clean 1 40

 2117  cat opendata.clean.eu |apertium-destxt | apertium -f none -d ~/source/apertium-eu-es/ eu-es-pretransfer > opendata.tagged.eu
 2126  cat opendata.clean.es |apertium-destxt | apertium -f none -d ~/source/apertium-eu-es/ es-eu-pretransfer > opendata.tagged.es &


 2132  seq 1 771238 > opendata.lines
 2133  paste opendata.lines opendata.tagged.eu opendata.tagged.es | grep '<' | cut -f1 > opendata.lines.new
 2134  paste opendata.lines opendata.tagged.eu opendata.tagged.es | grep '<' | cut -f2 > opendata.tagged.eu.new
 2135  paste opendata.lines opendata.tagged.eu opendata.tagged.es | grep '<' | cut -f3 > opendata.tagged.es.new

 2137  mv opendata.lines.new opendata.lines
 2138  mv opendata.tagged.es.new opendata.tagged.es
 2139  mv opendata.tagged.eu.new opendata.tagged.eu

 2146  cat opendata.tagged.eu | lt-proc -b ~/source/apertium-eu-es/eu-es.autobil.bin  >/tmp/eu-es.bil1

 2148  cat opendata.tagged.eu | lt-proc -b ~/source/apertium-eu-es/eu-es.autobil-noRL.bin  >/tmp/eu-es.bil2

$ tail -n 1 /tmp/*.poly
==> /tmp/eu-es.bil1.poly <==
1.00240014637

==> /tmp/eu-es.bil2.poly <==
1.3015831681

 2191  mv /tmp/eu-es.bil2 opendata.biltrans.eu-es

 2258  cat opendata.tagged.es | python /home/fran/source/apertium-lex-tools/scripts/process-tagger-output.py es > opendata.token.es
 2007  cat opendata.tagged.eu |  python /home/fran/source/apertium-lex-tools/scripts/process-tagger-output.py eu > opendata.token.eu
 2014  cat opendata.biltrans.eu-es | python /home/fran/source/apertium-lex-tools/scripts/process-biltrans-output.py > opendata.token.eu-es &

$ nohup perl ~/local/bin/scripts-20120109-1229/training/train-model.perl -scripts-root-dir \
 /home/fran/local/bin/scripts-20120109-1229/ -root-dir . -corpus opendata.token -f eu -e es -alignment grow-diag-final-and \
 -reordering msd-bidirectional-fe  -lm 0:5:/home/fran/corpora/europarl/europarl.lm:0 >log 2>&1 &

 2011  paste opendata.lines opendata.token.eu opendata.token.es  | grep -v '\*.*\*.*\*.*\*.*\*.*\*.*\*.*\*.*\*.*\*' | cut -f1 > opendata.lines.new&
 2013  paste opendata.lines opendata.token.eu opendata.token.es  | grep -v '\*.*\*.*\*.*\*.*\*.*\*.*\*.*\*.*\*.*\*' | cut -f2 > opendata.eu.new &
 2014  paste opendata.lines opendata.token.eu opendata.token.es  | grep -v '\*.*\*.*\*.*\*.*\*.*\*.*\*.*\*.*\*.*\*' | cut -f3 > opendata.es.new &


 2017  mv opendata.lines.new opendata.lines
 2018  mv opendata.es.new opendata.token.es
 2019  mv opendata.eu.new opendata.token.eu


 2032  paste opendata.lines opendata.token.eu opendata.token.es  | grep -v '<sent>.*<sent>.*<sent>.*<sent>.*<sent>.*<sent>' | cut -f1 > opendata.lines.new
 2033  paste opendata.lines opendata.token.eu opendata.token.es  | grep -v '<sent>.*<sent>.*<sent>.*<sent>.*<sent>.*<sent>' | cut -f2 > opendata.eu.new &
 2034  paste opendata.lines opendata.token.eu opendata.token.es  | grep -v '<sent>.*<sent>.*<sent>.*<sent>.*<sent>.*<sent>' | cut -f3 > opendata.es.new &
 2035  mv opendata.lines.new opendata.lines
 2036  mv opendata.es.new opendata.token.es
 2037  mv opendata.eu.new opendata.token.eu

 2055  cat opendata.token.es | sed 's/ *$//g' > opendata.token.es.new
 2056  cat opendata.token.eu | sed 's/ *$//g' > opendata.token.eu.new
 2057  mv opendata.token.es.new opendata.token.es
 2058  mv opendata.token.eu.new opendata.token.eu


English→Spanish


 2114  perl /home/fran/local/bin/scripts-20120109-1229/training/clean-corpus-n.perl europarl en es europarl.clean 1 40

 2056  cat europarl.clean.en | apertium-destxt | apertium -f none -d ~/source/apertium-en-es en-es-pretransfer > europarl.tagged.en &
 2057  cat europarl.clean.es | apertium-destxt | apertium -f none -d ~/source/apertium-en-es es-en-pretransfer > europarl.tagged.es &

 2073  paste europarl.lines europarl.tagged.en europarl.tagged.es | grep '<' | cut -f1 > europarl.lines.new
 2074  paste europarl.lines europarl.tagged.en europarl.tagged.es | grep '<' | cut -f2 > europarl.tagged.en.new
 2075  paste europarl.lines europarl.tagged.en europarl.tagged.es | grep '<' | cut -f3 > europarl.tagged.es.new

 2087  paste europarl.lines europarl.tagged.en europarl.tagged.es | grep -v '<sent>.*<sent>.*<sent>.*<sent>.*<sent>.*<sent>' | grep -v '\*.*\*.*\*.*\*.*\*.*\*.*\*.*\*.*\*.*\*' | cut -f1 >europarl.lines.new
 2088  bg
 2089  paste europarl.lines europarl.tagged.en europarl.tagged.es | grep -v '<sent>.*<sent>.*<sent>.*<sent>.*<sent>.*<sent>' | grep -v '\*.*\*.*\*.*\*.*\*.*\*.*\*.*\*.*\*.*\*' | cut -f2 >europarl.en.new&
 2090  paste europarl.lines europarl.tagged.en europarl.tagged.es | grep -v '<sent>.*<sent>.*<sent>.*<sent>.*<sent>.*<sent>' | grep -v '\*.*\*.*\*.*\*.*\*.*\*.*\*.*\*.*\*.*\*' | cut -f3 >europarl.es.new&

 2097  nohup cat europarl.tagged.en | python ~/source/apertium-lex-tools/scripts/process-tagger-output.py en > europarl.token.en &
 2098  nohup cat europarl.tagged.es | python ~/source/apertium-lex-tools/scripts/process-tagger-output.py es > europarl.token.es &
 2099  nohup cat europarl.biltrans.en-es | python ~/source/apertium-lex-tools/scripts/process-biltrans-output.py > europarl.token.en-es &

Macedonian→English




:%s/еfу/еѓу/g
:%s/аfа/аѓа/g
:%s/оfа/оѓа/g
:%s/уfе/уѓе/g
:%s/нfи/нѓи/g
:%s/Ѓиниfиќ/Ѓинѓиќ/g
:%s/еfе/еѓе/g
:%s/уfм/уѓм/g
:%s/рfи/рѓи/g
:%s/ fе / ѓе /g
:%s/рfе/рѓе/g
:%s/уfи/уѓи/g
:%s/ fу/ ѓу/g
:%s/Караfорѓевиќ/Караѓорѓевиќ/g
:%s/Холанfанец/Холанѓанец/g
:%s/реfаваат/реѓаваат/g
:%s/Швеfанката/Швеѓанката/g
:%s/Новозеланfани/Новозеланѓани/g
:%s/Мрfан/Мрѓан/g
:%s/Анfелка/Анѓелка/g
:%s/рfосаната/рѓосаната/g
:%s/оттуfуваоето/оттуѓуваоето/g
:%s/Енfел/Енѓел/g
:%s/Караfорѓевиќ/Караѓорѓевиќ/g
:%s/маfународната/маѓународната/g
:%s/Пеfа/Пеѓа/g
:%s/маfепсник/маѓепсник/g
:%s/Караfорѓе/Караѓорѓе/g
:%s/Граfевинар/Граѓевинар/g
:%s/Меfаши/Меѓаши/g
:%s/Ванfел/Ванѓел/g
:%s/Караfиќ/Караѓиќ/g
:%s/Анfели/Анѓели/g
:%s/саfи/саѓи/g
:%s/маfионичарски/маѓионичарски/g
:%s/Караfорѓевиќ/Караѓорѓевиќ/g
:%s/панаfур/панаѓур/g
:%s/Ѓерf/Ѓерѓ/g
:%s/Ѓинѓиf/Ѓинѓиѓ/g


 2042  paste setimes.mk setimes.en| grep -v '^(' | cut -f1 > setimes.mk.new
 2043  paste setimes.mk setimes.en| grep -v '^(' | cut -f2 > setimes.en.new
 2044  paste setimes.en.new setimes.mk.new | grep -v '^(' | cut -f1 > setimes.en
 2045  paste setimes.en.new setimes.mk.new | grep -v '^(' | cut -f2 > setimes.mk

perl /home/fran/local/bin/scripts-20120109-1229/training/clean-corpus-n.perl setimes mk en setimes.clean 1 40 


 2052  cat setimes.clean.mk | apertium-destxt | apertium -f none -d ~/source/apertium-mk-en/ mk-en-pretransfer > setimes.tagged.mk&
 2054  cat setimes.clean.en | apertium-destxt | apertium -f none -d ~/source/apertium-mk-en/ en-mk-pretransfer > setimes.tagged.en&

 2063  seq 1 190503 > setimes.lines
 2064  paste setimes.lines setimes.tagged.mk setimes.tagged.en | grep '<' | cut -f1 > setimes.lines.new
 2065  paste setimes.lines setimes.tagged.mk setimes.tagged.en | grep '<' | cut -f2 > setimes.mk.new
 2066  paste setimes.lines setimes.tagged.mk setimes.tagged.en | grep '<' | cut -f3 > setimes.en.new
 2067  mv setimes.en.new setimes.tagged.en
 2068  mv setimes.mk.new setimes.tagged.mk
 2069  mv setimes.lines.new setimes.lines

 2077  nohup cat setimes.tagged.mk | lt-proc -b ~/source/apertium-mk-en/mk-en.autobil.bin > setimes.biltrans.mk-en &


 2122  cat setimes.tagged.mk |  python ~/source/apertium-lex-tools/scripts/process-tagger-output.py mk > setimes.token.mk &
 2123  cat setimes.tagged.en |  python ~/source/apertium-lex-tools/scripts/process-tagger-output.py en > setimes.token.en &