2012-01-02 6 views
1

http://code.google.com/p/berkeleyaligner/からトランクコードをダウンロードした後、私は、Eclipse上で私のビルド・パスにプロジェクトを追加しました。下のコードでは、私はsourceFileとtargetFileから読み込んだ各センテンスペアのアラインメントを抽出できます。 調整後、BerkeleyAlignerからAlignmentタイプを読み取る方法は?BerkeleyAlignerからAlignmentタイプを読み取るには? - Javaの

import edu.berkeley.nlp.wa.mt.Alignment; 
import edu.berkeley.nlp.wa.mt.SentencePair; 
import edu.berkeley.nlp.wordAlignment.combine.WordAlignerCombined; 
public static void main(String[] args) { 
BufferedReader brSrc = new BufferedReader(new FileReader ("sourceFile")); 
BufferedReader brTrg = new BufferedReader(new FileReader ("targetFile")); 
while ((currentSrcLine = brSrc.readLine()) !=null) { 
    String currentTrgLine = brTrg.readline(); 
    // Reads into BerkeleyAligner SentencePair format. 
    SentencePair src2trg = new SentencePair(sentCounter, params.get("source"), 
     Arrays.asList(srcLine.split(" ")), Arrays.asList(trgLine.split(" "))); 
    // Generate Alignment type from SentencePair 
    WordAlignerCombined aligner; 
    Alignment alignedPair = aligner.alignSentencePair(src2trg); 
    // How do i print out the Alignment??? 
    } 
} 

sourceFile:

this is the first line in the textfile. 
that is the second line. 
foo bar likes to eat bar foo. 

targetFile:

Dies ist die erste Textzeile in der Datei. 
das ist die zweite Zeile. 
foo bar gerne bar foo essen. 
+0

いくつかのヒント 'http://code.google.com/p/tdx-nlp/source/browse/trunk/pa2/java/src/cs224n/assignments/WordAlignmentTester.java? r = 67である。しかし、私はまだそれを呼び出す方法を考えている – alvas

答えて

1

GIZAを印刷します。 Alignmentは、そのための方法があります

public void writeGIZA(PrintWriter out, int idx) 

GIZAである:

"# sentence pair (%d) source length %d target length %d alignment score : 0\n" 
"NULL ({ %s })" 
" %s ({ %s })" (englishSentence.get(i), StrUtils.join(alignments)) 

idxちょうど文ペアIDです。

outは、印刷したいところです。

関連する問題