該存儲庫由作為課程自然語言處理的項目組成 - 2014年春季。課程由Dipti Misra Sharma博士,Ravi Jampani博士和Akula Arjun Arjun Arjun Reddy先生指示。
這裡有詳細的報告
##要求
##問題中的問題,實現了基於短語的模型。基於短語的模型是一個簡單的機器翻譯模型,僅基於詞彙翻譯,即短語的翻譯。這需要一個詞典將短語從一種語言映射到另一種語言。我們首先找到單詞的一致性。接下來,使用雙文本語料庫,我們訓練模型併計算翻譯概率。除了翻譯概率外,我們使用語言模型來反映英語的流利度。
源文件夾由以下方法組成:
###主要功能
運行以下命令創建隨機的X句子:
python preprocess.py sourcecorpus targetcorpus numberSentences fortraining
它將生成四個文件:
Trainingsource.txt tribent.target.txt testingsource.txt testingtarget.txt
Trainingsource.txt,Trainingtarget.txt:包含給定數量的句子
testingsource.txt,testingtarget.txt:包含5個測試句子,我們以後使用
接下來,運行單詞對齊工具Giza ++以獲得對齊。
為了運行Giza ++,請執行以下操作:
./plain2snt.out Trainingsource.txt Trainingtarget.txt
./giza++ -s tribingsource.vcb -t tribenttarget.vcb -c trainingsource_trainingtarget.snt
如果上一步給出了錯誤,請執行:
./snt2cooc.out tribingsource.vcb triagntarget.vcb trieningsource_trainingtarget.snn> cooc.cooc.cooc.cooc.cooc.cooc.cooc
./giza+ -s trainingsource.vcb -t triagntarget.vcb -c trainingsource_trainingtarget.snt -oocurrencefile cooc.cooc.cooc.cooc.cooc
這將生成幾個文件。 A3文件中存在單詞對齊。重複此步驟,通過交換trainingsource.txt和triaghtarget.txt以獲取另一個方向對齊。 letsourcealignment.txt和targetAlignment.txt是兩個文件。然後,我們獲得如下的短語:
python phraseextraction.py sourcealignment.txt targetAlignment.txt
這些短語是在文件短語中生成的。接下來,我們計算翻譯概率。
運行以下命令:
python find translationprobability.py phrases.txt
它將生成兩個文件:
TranslationProbiabilitySourceGiventArget.txt
TranslationProbiabilityTargetGivenSource.txt
python languagemodelinput.py trainsource.txt trains.txt
python languagemodelinput.py traintarget.txt traint.txt
為此創建ZIP文件,該文件現在已成為語言模型的輸入。運行如下:
./ngt -i =“ gunzip -c trains.gz” -n = 3 -o = train.www -b = yes
./tlm -tr = train.www -n = 3 -lm = wb -o = trains.lm
./ngt -i =“ gunzip -c traint.gz” -n = 3 -o = train.www -b = yes
./tlm -tr = train.www -n = 3 -lm = wb -o = traint.lm
從對齊矩陣中獲得翻譯可探針後,它結合了語言模型的翻譯概率並返回FindTranslationProbise。
運行兩個方向的follwowwow命令:
python finalscore.py translation probibilityTargetGivenSource.txt trainsource.lm finaltranslationprobibalitytargetgivensource.txt
python finalscore.py translationprobiablesosourcegiventarget.txt traintarget.lm finaltranslationprobabilitysourcegiventarget.txt
它返回文件最終翻譯概率
python finalscore.py finaltranslationprobibilitytargetGivenSource.txt testingtarget.txt
python fenalscore.py finaltranslationprobibalizationsourcegiventarget.txt testingSource.txt
###輔助功能:
###錯誤分析
方法誤解。 PY以非常特定的格式作為輸入。給定源句子,翻譯的句子和由newline隔開的實際翻譯,它返回了評估中輸入文件的精度和召回