机器翻译:基础与模型学习笔记——机器翻译基础

机器翻译:基础与模型学习笔记——机器翻译基础

[TOC]

现代翻译系统的基础:从数据中自动学习翻译知识,并运用这些知识对新的文本进行翻译。

机器翻译的发展历程

  • 早期:基于书写的规则,存在覆盖范围小、噪声非常敏感的特点;
  • 发展:基于数据驱动,即统计机器翻译。机器翻译的建模、训练和推断都可以自动地从数据中学习;
  • 爆发:基于神经网络的深度学习方法,存在诸多的优点:
    • 端到端学习不依赖于过多的先验假设,避免了某些短语划分产生的对齐问题;
    • 表示能力更强,离散化的句子转化为向量表示,更容易处理;
    • 算力提升形成基础;

机器翻译现状和挑战

现状:在开放式任务下效果不是很好,无法和人工翻译抗衡。

机器翻译常见方法

基于规则的方法

定义:通过形式文法定义的规则引入源语言和目标语言中的语言学知识,类似于编译器的实现,其基本实现如下图所示,很有编译器前后端的味道。

以此为基础,产生了基于转换的方法以及基于中间语言的方法。基于转换的方法就是为每一组特定的源语言和目标语言构建系统,基于上述的词汇层、句法层和语义层实现转换。相较于转换法,中间语言独立于源语言和目标语言,使多个翻译系统实现复用,中间语言方法实现的重要基础使能否充分表达源语言的信息。

优点:

  1. 语法和算法分离,便于更改;
  2. 翻译规则的书写颗粒度具有很大的可伸缩性;
  3. 适用的应用场景多,即大规模系统翻译和小规模精细翻译都可以靠更改规则集实现;
  4. 规则方法不存在长距离依赖的问题;

缺点:规则维护困难、实现效果较差。

数据驱动的方法

基于实例的机器翻译实现:构建实例库进行源语言匹配,对错误匹配词语进行单独翻译得到最终结果。

基于统计的机器翻译实现:适用单语语料学习语言模型,适用双语平行语料学习翻译模型,并使用这些统计模型实现单一过程的建模,基本实现如下图所示:

神经机器翻译

统计语言建模基础

KL距离和熵

自信息:代表单一事件发生时包含的信息多少。

信息熵:量化整个概率分布中的不稳定性或信息量。

KL距离:衡量同一变量不同分布的不同,即相对熵。其物理意义是判断相比于适用概率分布P(X)来编码P(X)时信息量增加了多少。

交叉熵:当概率分布P(X)固定时,求关于Q的交叉熵的最小值等价于求KL距离的最小值,二者都是用来描述两个分布的差异的。

n-gram语言模型

背景:对于单个词语出现的概率,可以使用频率进行替换。但是如何计算句子出现的概率呢?传统的方法分为两种,一方面统计词串出现的次数,利用极大似然估计计算P(低频事件处理不当);另一方面对多个联合出现的事件进行独立性假设,相乘得到最终的结果(破坏单词之间的依赖性)。

定义:利用条件概率实现,每次预测都只考虑前n-1个历史单词,对应马尔科夫模型。

然后需要研究的就是如何计算P(Wm|W1W2…Wm-1)了,如果只是使用条件概率进行估计,很容易出现C(W1W2)=0的情况、或者未出现的未登录词。

平滑

定义:在保证概率和为1的情况下,为0概率事件分配一部分概率;

加法平滑:

加法平滑

古德图灵估计:

重新规定时间发生的次数,原来出现r+1次的统计量设定次数,其中nr代表在语料库中出现r次的n-gram有多少个:

Kneser-Ney平滑方法:

它是通过Absolute Discounting平滑算法推导得到的,公式如下:

这里d代表被裁剪的值,λ是一个正则化常数,这里的P(wi)最初为原始的1-gram概率函数,后续进行提升,可以考虑前一个词的影响评估当前词作为第二个词出现的可能性,归一化之后的公式如下所示:

考虑到概率的非负性,对分子进行了约束,最终得到了Kneser-Ney公式:

模型最优解搜索

方法:深度优先遍历、广度优先遍历、构建解空间树;

评判优劣方法:完备性、最优性、时间空间复杂度;

序列生成任务:寻找所有单词序列组成的解空间树中权重综合最大的一条路径;

模型评价

困惑度:反应语言模型对序列可能性预测能力的一种评估。

相关性:人工和自动评价之间的相关性,这种性质存在不确定性,对于BLEU方法而言,分数越高并不一定和人工评价的相关性越高,往往会存在一些流利度的问题;

显著性检验:对于提升的评价指标,构建假设检验确定效果是否提升,常用的为BOOSTRAP提升法,构建多个随机测试集重复试验

词法分析和语法分析基础

命名实体:类似于编译原理中的token表的构建,实现和语料的一一对应。想要获取命名实体,序列标注是不可避免的。

序列标注常见策略:

  • BIO格式:Begin、inside和outside(非命名实体单元)
  • BIOES格式:Begin、inside、outside、end和single

这里引出特征的概念,一个token往往具有很多的特征,在满足了大部分特征时我们才会进行特定token和名词的匹配,因此特征的构建(特征工程)十分重要。

当然,我们也可以根据语料库中已有的词频等信息直接构建概率图模型。

隐马尔科夫模型

**区分隐含和可见:**对于隐马尔科夫模型,首先最重要的是分清什么是隐含状态和可见状态。对于投掷六枚质量不均匀的硬币实验而言,每次投掷之后的实验结果是可见的,而每一枚硬币的正反概率是隐含的。可以说,隐含状态影响可见状态。

两个约束:

  • 当前位置的隐含状态和前一个位置的隐含状态相关;
  • 当前位置的可见状态和当前位置的隐含状态相关;

**基本实现:**这里主要讲在中文分词中的应用,对于长度为n的序列,估算转移概率和发射概率,预设n-1个状态,利用前向后向算法更新状态,同时估计模型参数,找到最有可能的预测结果。

翻译质量评价

译文评价的常用标准为流畅度和忠诚度,常用的方法为人工评价和自动评价,实现的基本形式如下图所示:

人工评价的基本实现通过打分制或者多系统对抗排名实现的,与之相对的自动评价虽然评价成果较差,但是随着深度学习网络的引入,整体的指导性还是不断提升的。

自动评价

  • 存在参考示例的评价:
    • 基于距离的方法,根据预测和参考示例的距离进行评价;
    • 基于n-gram的BLEU指标:
    • 基于词对齐的方法:精确模型->波特词干模型(对精确匹配后的模型进行尚未对齐单词的)->同义词模型;
    • 基于检测点的方法:设置检查点数据库,对特殊的多义词、固定搭配短语、特殊句型进行标注,个人感觉类似于注意力机制,对部分检查点进行测试即可;
  • 存在多个参考示例的评价:
    • HyTER:类似于无穷自动机,构建多个状态的空间转换图,对于同义词组标注多状态,从而规定新的hit标准,然后使用上述的n-gram方法和词对齐方法;
    • 分布式方法质量评测:利用词嵌入方法将单词和句子投影到低维空间,使具有相似句法和语义的单词彼此接近。
  • 无参考的评价:基于单词质量或者短语质量进行评价;

**基于n-gram的BLEU指标推导过程:**首先继承基于距离的准确率计算方法:

Pn=counthitcountoutputP_n = \frac{count_{hit}}{count_{output}}

考虑到存在hit的重复问题,对分子进行截断操作,即:

counthit=min(counthit,countoutput)count_{hit}* = min(count_{hit} , count_{output})

考虑到短句存在的高分倾向问题,进行惩罚(c代表翻译后的长度,r代表参考长度):

BP={1c>rexp(1rc)cr\left.BP\quad=\quad\left\{\begin{array}{lcl}1&c>r\\\exp(1-\frac{r}{c})&c\leq r\end{array}\right.\right.

最终得到计算结果:

BLEU=BPexp(n=1wnlogPn)BLEU = BP · exp(\sum_{n=1}w_n · logP_n)

基于词对齐的Meteor评价方法推导推导,整体公式如下所示:

score=Fmean(1Penalty)score = F_{mean} ·(1−Penalty)

其中Fmean代表调和均值,是综合召回率和准确率得到的;后一部分为惩罚项,是为了惩罚将原句分割的块数过多导致的语义混乱问题,Penalty的公式如下:

Penalty=0.5(countchunkscounthit)3Penalty = 0.5 ·(\frac{count_{chunks}}{count_{hit}})^3

其中count_chunks代表匹配的块数,对于Penalty参数而言,匹配的块数越少,证明句子的连贯性越强,能够得到更加稳定的序列。

HyTER方法的基本实现:

词嵌入方法的基本实现方法(投影实现的基本方法):

相关知识

长距离依赖问题

长距离依赖问题根本上是前馈神经网络产生了梯度消失的问题,在机器翻译中的问题就是无法结合之前的语境做出正确的预测。这一点有点像之前在进行vqa论文复现时存在的问题。例如,给出一张绿色香蕉的图片,询问香蕉颜色。由于在训练过程中的数据图片以及fvqa的结果都是黄色香蕉,因此得到了错误的回答。回到长距离依赖问题上。

分布越尖锐熵越低,分布越均匀熵越高

对于概率分布而言,取极端的情况,只有两种事件发生,概率分别为0和100%,显然只会发生第二件事,因此这个分布包含的信息就很少,信息熵较低。

偏置(bias)

一个英文单词的翻译结果可能往往就是那几个词,不仅要学习这种偏置,还需要避免偏置在测试集的某些特殊情况下产生错误。

未登录词(OOV Word)

什么是未登录词 Out-of-vocabulary(OOV)?-CSDN博客

Forward-Backward Algorithm

HMM(1)—概率计算问题,前向后向算法 - 知乎 (zhihu.com)

可以具体推导一下,感觉还是可以的,大概明白了前向和后向的算法实现。

EM算法

EM算法详解 - 知乎 (zhihu.com)

相关学术会议

  • AACL,全称 Conference of the Asia­Pacific Chapter of the Association for Computational Linguistics.
  • ACL,全称 Annual Conference of the Association for Computational Linguistics
  • EMNLP,全称 Conference on Empirical Methods in Natural Language Processing

Future Work

  • 平滑方法的拓展;
  • 基于n-gram的超大规模数据进行语言模型训练;
  • 命名实体的更多新思路:隐马尔科夫模型、条件随机场、最大熵和支持向量机;
  • 自动翻译和人工翻译的相关性研究,自动翻译的流利度评价问题,以及如何解决;

   转载规则


《机器翻译:基础与模型学习笔记——机器翻译基础》 xhsioi 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
CoLaDa论文阅读笔记 CoLaDa论文阅读笔记
CoLaDa: A Collaborative Label Denoising Framework for Cross-lingual Named Entity Recognition 本文代码:vert-papers/papers/Co
2023-10-14
下一篇 
2023年计算机保研经验分享|次九rk8% 2023年计算机保研经验分享|次九rk8%
2023年计算机保研经验分享|次九rk8% 注:本次记录只代表个人观点,仅供参考。 前言 首先不得不感慨一下今年计算机保研的艰难程度,今年相比往年更加注重综合能力的考核,已然不是绩点为王的时代了。非常难受的是,我的绩点、科研和竞赛都比较
2023-10-01
  目录