[ Skip to the content ]

Institute of Formal and Applied Linguistics Wiki


[ Back to the navigation ]

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
user:zeman:joshua [2009/06/04 11:19]
zeman Příprava spuštění Z-MERTu.
user:zeman:joshua [2009/06/06 12:28]
zeman Binarizace korpusu a extrakce velké gramatiky.
Line 79: Line 79:
 qstat -u '*'</code> qstat -u '*'</code>
  
-===== Použití =====+ 
 +===== Extrakce gramatiky =====
  
 Joshua je nainstalován a funguje. Nyní se musíme naučit, jak ho trénovat a jak ho použít k překladu. Joshua je nainstalován a funguje. Nyní se musíme naučit, jak ho trénovat a jak ho použít k překladu.
Line 86: Line 87:
   * Tokenizovaný a segmentovaný text ve zdrojovém jazyce (en).   * Tokenizovaný a segmentovaný text ve zdrojovém jazyce (en).
   * Tokenizovaný a segmentovaný text v cílovém jazyce (hi).   * Tokenizovaný a segmentovaný text v cílovém jazyce (hi).
-  * Párování vyrobíme [[Giza++|Gizou++]]. +  * Párování vyrobíme [[Giza++|Gizou++]]. Správný soubor s párováním má stejný počet řádků jako zdrojový a cílový text (co řádek, to věta), ale místo slov má na každém řádku posloupnost dvojic čísel (např. "2-0 2-1 2-2 2-3 1-4"). Čísla vyjadřují, kolikáté slovo zdrojové věty je spárované s kolikátým slovem cílové věty. Ten správný soubor s takovýmto obsahem z Gizy++ obvykle vypadne pod jménem ''model/aligned.grow-diag-final-and'' nebo nějakým podobným.
- +
-Správný soubor s párováním vypadá nějak takhle: +
- +
-<code>2-0 2-1 2-2 2-3 1-4 2-5 14-8 13-10 8-11 9-11 8-12 8-13 8-14 8-15 5-16 7-16 6-17 4-18 15-19 +
-0-3 7-4 8-5 9-6 10-7 11-8 12-9 13-10 14-11 15-12 16-13 4-15 2-17 3-18 20-19 18-21 21-22 22-23 22-24 22-25 19-26 23-27 +
-0-0 1-1 2-1 3-2 4-4 5-5 7-9 8-16 9-17 10-17 12-17 13-17 14-17 15-17 17-17 18-17 11-18 18-19 18-20 19-21 +
-1-0 4-2 6-4 7-5 7-6 5-7 7-7 6-8 8-9 7-10 8-11 8-12 8-13 11-14 12-17 +
-0-0 1-1 2-1 3-1 7-2 8-3 9-4 6-5 11-6 11-7 12-10 13-11 14-12 15-13 16-14 22-15 23-15 21-16 26-17 17-20 28-22 29-23 27-26 25-28 30-29 31-30 32-30 33-30 33-31 33 +
--32 34-33</code>+
  
 A takhle pustíme Joshuu, aby z trénovacích dat extrahoval gramatiku. Joshua z nějakého důvodu vyžaduje také testovací soubor se zdrojovým jazykem. Soudě podle příkladu, který dodali, stačí zkopírovat první větu ze zdrojových trénovacích dat. Gramatiku je pak ještě třeba seřadit, vyházet duplicitní pravidla a zagzipovat. A takhle pustíme Joshuu, aby z trénovacích dat extrahoval gramatiku. Joshua z nějakého důvodu vyžaduje také testovací soubor se zdrojovým jazykem. Soudě podle příkladu, který dodali, stačí zkopírovat první větu ze zdrojových trénovacích dat. Gramatiku je pak ještě třeba seřadit, vyházet duplicitní pravidla a zagzipovat.
Line 106: Line 98:
 setenv GRM en-hi.grammar setenv GRM en-hi.grammar
 head -1 $SRC > $TST head -1 $SRC > $TST
-java -cp $JOSHUA/bin joshua.prefix_tree.ExtractRules --source=$SRC --target=$TGT --alignments=$ALI --test=$TST --output=$GRM.unsorted --maxPhraseLength=5+java -cp $JOSHUA/bin joshua.prefix_tree.ExtractRules 
 +    --source=$SRC --target=$TGT --alignments=$ALI --test=$TST 
 +    --output=$GRM.unsorted --maxPhraseLength=5
 sort -u $GRM.unsorted > $GRM sort -u $GRM.unsorted > $GRM
 gzip $GRM</code> gzip $GRM</code>
Line 116: Line 110:
 Binarizovat zdrojovou část korpusu. Binarizovat zdrojovou část korpusu.
  
-<code>java -cp bin joshua.corpus.suffix_array.SuffixArray $WORK/corpus/train.clean.en $WORK/model/vocab.en.bin $WORK/model/corpus.en.bin $WORK/model/suffixes.en.bin</code>+<code>java -cp $JOSHUA/bin joshua.corpus.suffix_array.SuffixArray 
 +    $WORK/corpus/train.clean.en 
 +    $WORK/model/vocab.en.bin 
 +    $WORK/model/corpus.en.bin 
 +    $WORK/model/suffixes.en.bin 
 +java -cp $JOSHUA/bin joshua.corpus.suffix_array.SuffixArray \ 
 +    $WORK/corpus/train.clean.hi \ 
 +    $WORK/model/vocab.hi.bin \ 
 +    $WORK/model/corpus.hi.bin \ 
 +    $WORK/model/suffixes.hi.bin 
 +java -cp $JOSHUA/bin joshua.corpus.alignment.AlignmentGrids \ 
 +    $WORK/model/aligned.grow-diag-final-and \ 
 +    $WORK/model/alignments.bin</code>
  
 Takto se extrahuje gramatika pro konkrétní testovací data s pomocí binarizovaného korpusu: Takto se extrahuje gramatika pro konkrétní testovací data s pomocí binarizovaného korpusu:
  
-<code bash>java -Xmx2000m -Xms2000m -cp $JOSHUA/bin joshua.prefix_tree.ExtractRules --binary-source=true --binary-target=true --source=model/corpus.en.bin --target=model/corpus.hi.bin --source-vocab=model/vocab.en.bin --target-vocab=model/vocab.hi.bin --source-suffixes=model/suffixes.en.bin --target-suffixes=model/suffixes.hi.bin --alignmentsType=MemoryMappedAlignmentGrids --alignments=model/alignments.bin --test=corpus/test.lowercased.en --output=model/en-hi.grammar.unsorted --maxPhraseLength=5</code> +<code>java -Xmx2000m -Xms2000m -cp $JOSHUA/bin joshua.prefix_tree.ExtractRules 
 +    --binary-source=true --binary-target=true 
 +    --source=model/corpus.en.bin --target=model/corpus.hi.bin 
 +    --source-vocab=model/vocab.en.bin --target-vocab=model/vocab.hi.bin 
 +    --source-suffixes=model/suffixes.en.bin --target-suffixes=model/suffixes.hi.bin 
 +    --alignmentsType=MemoryMappedAlignmentGrids --alignments=model/alignments.bin 
 +    --test=corpus/test.lowercased.en 
 +    --output=model/en-hi.grammar.unsorted 
 +    --maxPhraseLength=5</code>
  
 ===== Decoding ===== ===== Decoding =====
Line 273: Line 286:
 <code>-dir /net/work/people/zeman/hindstina/mert # working directory <code>-dir /net/work/people/zeman/hindstina/mert # working directory
 -s src.txt # source sentences file name -s src.txt # source sentences file name
--r ref     # target sentences file name (in this case, file name prefix)+-r ref.txt # target sentences file name
 -rps 1     # references per sentence -rps 1     # references per sentence
 -maxIt 5   # maximum MERT iterations -maxIt 5   # maximum MERT iterations

[ Back to the navigation ] [ Back to the content ]