[ 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:25]
zeman Oprava nedorozumění ohledně ref.txt.
user:zeman:joshua [2009/06/10 00:05]
zeman Nesoulad mezi zdrojáky a dokumentací z svn a release balíkem.
Line 9: Line 9:
   * http://joshua.sourceforge.net/ - download, trocha dokumentace (hlavně té automaticky vygenerované, javadoc)   * http://joshua.sourceforge.net/ - download, trocha dokumentace (hlavně té automaticky vygenerované, javadoc)
   * http://sourceforge.net/projects/joshua - kupodivu ne totéž jako nahoře. Download (ale viz též níže), jinak toho tu moc není   * http://sourceforge.net/projects/joshua - kupodivu ne totéž jako nahoře. Download (ale viz též níže), jinak toho tu moc není
 +
  
 ===== Instalace ===== ===== Instalace =====
Line 27: Line 28:
 <code>cd $JOSHUA <code>cd $JOSHUA
 svn co https://joshua.svn.sourceforge.net/svnroot/joshua/trunk joshua</code> svn co https://joshua.svn.sourceforge.net/svnroot/joshua/trunk joshua</code>
 +
 +Poznámka: Na začátku června 2009 jsem měl problémy se zdrojáky získanými přímo z SVN (třída SuffixArray neobsahovala metodu main()), ale možná to byl jen dočasný výpadek dokumentace, protože šlo o věci, které se vzápětí v nové release verzi dělají jinak. Každopádně mi vždy fungovalo, když jsem si ze
 +
 +http://joshua.sourceforge.net/
 +
 +přešel na link Download a stáhnul si aktuální release verzi.
  
 Přeložit Joshuu: Přeložit Joshuu:
Line 79: Line 86:
 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 94:
   * 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 105:
 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 117:
 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 =====

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