机器翻译 :seq2seq

seq2seq: 

    机器翻译的模型与其他语言模型的不同之处在于,机器翻译的模型是由编码器和解码器两部分组成。两个部分都需要进行训练。其中解码器我们有时候也称为特征提取器。seq2seq模型结构如下图所示

             

其中绿色部分为编码器(特征提取器),紫色部分为解码器。

若有句子 : i like apple          翻译为: 我 喜欢苹果

其中i like apple 的嵌入向量则是编码器的输入。  编码器的输出为解码器的输入。解码器的输出是 “我”, “喜欢” , “苹果”这几个词的概率。

但是这种选择输出单词的方法存在缺陷: 没一时间的输出都为一个n(n为预料库的规模)维概率向量。这样就加大了计算的开销。为了对这种方法进行改进,定向搜索的方法就应运而生了。

定向搜索

集束宽算法,是定向搜索的一种常用算法,不同于上面所描述的贪心算法。 在训练模型时候设置一个集束宽。 

假设集束宽设为3,实例如下

                  

图左侧为语料库, 右侧为模型输出\widehat{y_1}概率向量。

找出\widehat{y_1}向量中概率最大的3元素,在向量中的位置。然后在预料库中,选出相同位置的3个单词。 

然后将这三个单词的one-hot向量分别作为\widehat{y_1}来进行下一步。

重复以上步骤。直到结束。

会输出多段翻译出来的结果,根据以下公式来评价应该选择哪句话

                                                  

但是由于每个概率都小于1,大量相乘的话,会造成数值溢出。

对这种评价进行了如下的改进

                                                   

有些还会为评价函数加一个系数为\frac{1}{T_y^\alpha }   其中\alpha通常设为0.7。但是目前这种方法并没有经过理论推导, 仅仅从经验上来说它是有用的。

当选择出,来翻译语句后,再做一下定向搜索误差分析。查看翻译效果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值