Topic Representation Learning for SMT with Neural Language Model

翻译领域的一篇论文

第一遍阅读

1.1 论文类型

  这篇论文提出了新的模型,试图提高翻译的准确率

1.2 论文领域

  Statiscal Machine Translation。机器翻译是这篇文章最主要的背景。当然啦这不是我研究的重点,所以在这篇论文中提及到的如何将训练好的结果应用到机器翻译这个任务上这一部分内容将不会被特别细致的学习。

  information Enrichment数据增强。数据增强指的是在数据有限的情况下,通过增加其他相关数据或者有效利用现有数据的一种手段,这是本文中第二个大的主题。

1.3 假设正确性讨论

  基本假设一:机器翻译在斟酌用词的时候,应该考虑的不只是句子提供的信息,必须考虑主题的信息。举例来说,Finallly we write our user reponses to the buffer,e.g. passing it to the driver这个句子中的driver指的应该是计算机驱动程序,如果我们提前知道这是一篇计算机方面的文章那么就很容易能够知道是这个意思,不然的话是不是会考虑有可能是司机的意思呢?换句话说,主题的确定对于翻译来说是大有裨益的。

  基本假设二:information Retreival的技术手段可以用来扩充数据,在进行主题提取的过程中,如果只有一个句子,是分析不出来什么主题的。在这种情况下,采用信息获取的手段 ,以当前句子作为查询手段去语料库中查找所有的匹配的文件,然后分析这些文件的主题。

  基本假设三:神经网络的主题模型。与传统的Latent Dirichlat Distribution不同,在本文中使用了神经网络的方式对文本进行了主题的提取,最终使用一个向量来表示主题。

1.4 主要贡献

  最大的贡献当然是在传统的模型改进,使得主题模型的信息能够得以利用。


第二遍阅读

Topic Representation Learning for SMT with Neural Language Model_第1张图片
模型图

  最最最关键的模型图插不上去哇。。。貌似是sm.ms的图床挂啦。那么我就简单的描述一下模型的基本过程吧。记住,我们的基本目标是为了能够获得主题的向量表示,我们希望这个向量能够捕获的主题语义越多越好。这就引入了主题的两个特征:①任何一篇文本的内容,都是根据(至少是部分根据)主题生成的②双语语料库中表示同一个句子的主题向量应该是距离上十分接近的。我们呢就希望我们生成的向量能够向着这个方向努力,如果结果不大好也最起码能挣扎着往好的方向动一动吧。

  所以我们的基本计算向量的过程应该包含两个调节的过程,分别根据上面两个特征进行调节。首先我们需要手头上有两个平行的句子和,我们首先用这两个句子分别去查两个语言各自语料库中所有相关的文档(Information Retreival-TFIDF),获得的文档拼接成一个大文档所有的词都是用向量表示(VSM),然后采用一些bag of words的方式,得到一个文档的表示,这就是我们需要调整的向量。根据第一个特征,我们可以这么做:在原来的文本上做一些手脚。我们在生成文本的向量之前把一些词给”挡住”(mask),挡住之后根据剩下的所有单词的向量生成这个文档的向量表示。然后根据这个生成出来的向量回过头去预测这些被“挡住”的向量,这样的话就可以计算出来一个reconstruction error的损失函数,有了损失函数我们就可以反向传播了你说是不是。然后呢,我们还能利用第二个特征,就是我们调完了之后,再去计算一下两个语言单独生成的向量之间的距离,作为我们的similarity error,又可以进行第二阶段的学习啦。

2.1 第一阶段:pre-training

  第一阶段就是计算重构损失,并且利用重构损失进行学习的过程。具体的操作过程前面也描述过了,在这里我们再稍微详细的描述一下下。首先我们前面提过在这里使用的是bag of words的模型来生成文章的向量,但是我,想到这篇文章采用的技术那么古老。并不是我想想的那样把每个单词的词向量找到,然后求个平均哇啥的。这里呢是最简单的,一个文本直接用一个向量表示,这个向量呢每一维度都表示一个语料库中的一个单词,当前的文本中如果包含这个单词就标个1,如果没有就标个0,这玩意叫n-of-V向量,然后呢“遮挡一下”(其实就是随便挑几个1给改成0),把这个向量降维(其实就是乘了一个参数矩阵),降维之后再输入到一个激活函数中,激活函数的输出就是我们想要的文本的向量表示。至此,可以反向重构了,我们再次利用例外一个映射矩阵给我们这个向量升维度,然后再激活一下就很容易得到一个和原来维度差不多的向量。我们希望这俩向量差距不要太大哇,这里使用L2 norm反向传播进行学习。

Topic Representation Learning for SMT with Neural Language Model_第2张图片
预训练模型

2.2 第二阶段:fine-tuning

  这一步就简单啦,我们在上一步中根据不同语料库生成了不同的句子表示,在这里我们希望这俩表示应该是完全一样的是最完美的,就算不是完全一样也最起码距离很近,所以这里使用了cosine距离作为了损失函数进行学习。值得一提的是,这里还用到了负采样,并且使用了max_margin的方式整合了正负样本,求出最终损失函数。不过需要注意我们不能跟其他地方一样,随便采样哇。万一采样踩到了是同一个主题的可咋办?所以这里需要额外处理一下就是挑选的负样本尽量就是词绝大部分都不一样。

2.3 第三阶段:incorporate with Machine Translation

  这部分不想多写,主要用途有两个:①提取出来的向量直接作为翻译的特征之一②在挑选候选翻译句子的时候,使用这个similarity作为参考依据。


第三遍阅读

3.1 数据准备

Topic Representation Learning for SMT with Neural Language Model_第3张图片
数据集

Topic Representation Learning for SMT with Neural Language Model_第4张图片
数据集

3.2 评价标准

3.3 Baseline

Topic Representation Learning for SMT with Neural Language Model_第5张图片
baseline

3.4 实验结果

  这篇论文比较优秀的一点在于,针对提出的两大创新:使用information retrival;使用topic representation分别做了实验来检验效果。


总结和收获

你可能感兴趣的:(Topic Representation Learning for SMT with Neural Language Model)