Niutrans:基于短语的统计翻译系统
1. Data preparation数据准备阶段
a) Training data 训练数据 LM-training-set和 LM-training-set
b) Tuning data 调参参数(相当于超参数:来调整权重参数)
c) Test data 测试效果的(类似交叉验证)
d) Evaluation data 评估
注意:
1)、LM:语言模型language model无需对齐
2)、在TM训练数据模型中,需要对齐
2. Training Translation Model
输入的数据有该模型的数据有:
Chinese.txt
english.txt
Alignment.txt 对齐文本:根据一致性原则来生成
输出得到的数据为:
reordering.table:排序表,从一种语言到另外一种语言之间偏移了多少的概率
phrase.translation.table:短语到短语之间转换的概率表
处理过程:利用GIZA,先扫描输入数据中所有的单词,然后用滑动窗口扫描得出短语之间的对照关系,并利用短语一致性的原则来筛选得出最后的结果。
3、Training n-gram language model语言模型
最终建立成一个字典树,可以自行加载你想要的。
4、Generating Configuration File
由于底层是用C++写的,所以运算速率还可以。
实际上生成一个配置文件,从而便于搭建出一个服务sever。
5、Table Filtering(Optional)
如果在五千万平行语料中生成了一个模型,但这个模型在线上加载时将非常消耗内存。
如果是对一些子领域进行处理的时候,例如只想要实现对医学领域文本的处理,那就可以只选取加载和医学领域相关的短语,其余的就不加载了。
因此就是做一下过滤,只抽取出你想要的短语。
6、Weight Tuning
可以理解为和机器学习中超参数的选择类似。
7、Decoding Test Sentences
解码只找最优的一条路径:1best.out
如果想要解码得到两条最优路径:2best.out
8、Recasing(Suppose that the target language is English)
将英文的首字母全部大写,即还原成英语句子的样子。
9、Detokenizer
修改完善一些标点符号
10、Evaluation评估
转化格式,用一个xml格式的进行评估,比对标准的和你自己生成的xml文件。得到评估结果。