该存储库由作为课程自然语言处理的项目组成 - 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隔开的实际翻译,它返回了评估中输入文件的精度和召回