Pytorch学习记录-微软基于Seq2Seq的GEC(流畅度提升学习和推断机制)

Pytorch学习记录-GEC语法纠错08
五月第二周要结束了,接下来的三个月主要是文献阅读,准备8、9月的开题报告,技术类的文献集中在GEC和Text maching的应用方面,读完之后找demo复现,然后应用。
理论方面的论文也都是英文的

7. Reaching Human-level Performance in Automatic Grammatical Error Correction: An Empiricale Study

这是微软亚洲研究院在2018年的一个报告,采用了一种全新的学习和推断机制,在CoNLL-2014以及JFLEG两个权威语法自动纠正评测数据集上,首次实现了机器语法自动检查结果超越人类参照水平。这项最新的语法改错技术也催生了“微软小英”作文打分这一全新的功能。

7.1 摘要

  • 现在Seq2Seq已经是主流趋势了,研究者搞了一个更牛逼的流畅度提升学习和推断机制
  • 这个机制基于“错误-正确”句子对进行训练。
  • 流畅度提升推理允许模型通过多个推理步骤递增地校正句子。
  • 将流畅性提升学习和推理与卷积式seq2seq模型相结合。
  • 最后的得分很猛,在CoNLL-2014上75.72, JFLEG 测试集上62.42GLEU,这使其成为首个在两个基准数据集上都达到人类水平(CoNLL72.58,JFLEG62.37)的GEC系统。新加坡的那个模型搞了那么多整合最后才勉强达到54.79。

7.2 介绍

近些年Seq2Seq模型使得GEC得到极大的发展,但是大多数Seq2Seq模型都有两个问题:

  • 只使用少量“对-错”句子进行训练。训练数据限制了模型生成


    image.png
  • seq2seq模型通常无法通过单轮seq2seq推理完美地纠正具有许多语法错误的句子

为了解决这个问题,研究者开发了一个流畅度提升学习和推断机制

流畅度提升学习,Seq2Seq模型使用原始纠错句子和自己生成的流畅度较差句子进行训练,将它们与训练数据中正确句子配对,从而构建新的纠错句对。
模型的推断方面,流畅度提升推断机制能够允许模型对错误句子进行多轮纠错,只要每一次提议的编辑能够提升语句的流畅度。具有多重语法错误的句子,一部分错误会被优先修正,修正的部分能让上下文更加清晰(有利于接下来的语法纠错)。进一步提出了使用两个 seq2seq 模型进行往返纠错方法,其解码顺序是从左到右和从右到左的 seq2seq 模型。又因为从左到右和从右到左的解码器使用不同的上下文信息解码序列,所以它们对于特定的错误类型有独特的优势。往返纠错可以充分利用它们的优势并互补,这可以显著提升召回率。

7.3 背景:神经语法纠错

典型的基于NMT的GEC是使用Seq2Seq(encoder-decoder)结合attention机制的模型。

  • 原始句子x^r=(x_1^r,x_2^r,...,x_M^r),其中M为句子中单词数目
  • 纠正后句子x^c=(x_1^c,x_2^c,...,x_N^c),其中N为句子中单词数目
    模型通过最大似然估计(maximum likelihood estimation)学习概率映射P(x^c|x^r),进而学习模型参数 Θ_crt 以最大化以下公式。
    \Theta_{crt}^*=argmax_{\Theta_{crt}}\Sigma_{(x^r,x^c)\in S^*} logP(x^c|x^r; \Theta_{crt})
    其中S^*是“对-错”句对。

模型推断,输出的句子为x^o=(x_1^o,...,x_L^o),这一过程需要最大化下列公式。
P(x^o|x^r=\prod _{i=1}^LP(x_i^o|x^r,x^o_{<i}; \Theta_crt)

7.4 流畅度提升学习

用于GEC的常规seq2seq模型仅从原始纠错的句子对中学习模型参数。但是这种纠错后的句子对不够充分。许多神经GEC模型的概括性不是很好。GEC和NMT不同的地方时,它的最终目标是让句子更加通顺,而不用改变其原始含义。因此任何满足流利提升条件的句对都能够作为训练例子。
这里,研究者定义f(x)作为句子x的流利度得分。
f(x)=\frac {1}{1+H(x)}
H(x)=-\frac{\Sigma_{i=1}^{|x|}logP(x_i|x_{<i})}{|x|}

  • P(x_i | x_{<i})是给定上下文 x_{<i}x_i 的概率,由语言模型计算得到。
  • |x| 是句子 x 的长度。
  • H(x) 是句子 x 的交叉熵,范围为 [0, +∞)。因此 f(x) 的范围为 (0, 1]

流畅度提升学习的核心是在训练中生成流畅度提升句对,在这里提供了三种流畅度提升学习策略:反向提升(back-boost)、自提升(self-boost)和双向提升(dual-boost)。


image.png

7.4.1 反向提升

7.4.2 自提升

7.4.3 双向提升

7.5 流畅度提升推断

7.5.1 多轮纠错

7.5.2 往返纠错

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,869评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,716评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,223评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,047评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,089评论 6 395
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,839评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,516评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,410评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,920评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,052评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,179评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,868评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,522评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,070评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,186评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,487评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,162评论 2 356

推荐阅读更多精彩内容