《Neural Language Correction with Character-Based Attention》论文解读

此篇文章,作者使用character-based的seq-2seq模型结合attention 模型的经典的处理自然语言的解决方案,但是作者采用了一个比较特殊的处理,在seq2seq模型的decoder层后又加了一个语言模型,实现了一个文本纠错的模型。现在常用的解决方案是使用语言模型来生成n-grams的score或者使用SMT(statistical machine translation)的方法。但是这些方法没法不能灵活的解决一些错误,比如拼写错误,大小写和标点符号错误等。
其中有三类错误是在NLC(Neural Language Correction)领域是很难解决的:第一个,错误拼写,这种错误常用的处理方式是使用固定的词典;第二个,为止词的处理;第三个,介词等的错误使用。如果使用模板的方式来应对如此多的情形是非常困难的。于是,借助于神经网络的模型。
模型结构
总结来讲,本文结构主要的特点或者亮点如下:

  1. Encoder层采用多层双向GRU,且cell的数量遵循金字塔状。
  2. Decoder层结合Atttention model
  3. Character level
  4. 使用 Beam Search, 来结合Encoder-docoder和Language model,作为re-ranker.
  5. 在模型最后,为了控制准确率(Controlling Precision),作者训练一个额外的分类器来判断执行此次修改是不是ok的。

=====================================================================================

  • Character level

两点原因:1.做NLC经常出现的错误是是拼写错误,特别是英文中。2.传统方法处理OOVs,比如多位数字,表情符号或者网页地址,通过神经网络可以作为变通的方法。尽管character lavel会使得要处理的序列变长,因为毕竟正确的更多,所以character常常只需要从source复制到target。

  • Encoder 采用多层双向GRU,且cell的数量遵循金字塔状

每层的cell个数减半。这样做的目的是为了减少参数数量。尽管使用character-level的方式可以减少每一time step的softmax的计算,但是使用attention model需要在每一time step考虑 所有 encoder 的隐层状态(hidden state),因此使用金字塔状的多层结构,最顶层的cell个数变少,这样就可以大大减少计算复杂性。

  • 使用 Beam Search, 来结合Encoder-docoder和Language model,作为re-ranker

在k时刻, Beam 使用下面的 $score$ 来rank所有的输出假设,:

$$ s_{k}(y_{1:y}|x) = \log P_{NN}(y_{1:k}|x) + \lambda \log P_{LM}(y_{1:k}) $$

后一部分代表语言模型,前面部分是Decoder的输出. 其中超参数 $\lambda$ 决定了语言模型的占比。为了防止不公平惩罚到更长的句子,对$score$除以假设的字长度来规则化(normalization)。语言模型$P_{LM}(.)$仅仅在遇到空格或者句子结束才被加入到上面的式子中,因为这个模型事character-level的,但是语言模型必须是word-level。

  • Controlling Precision

当做NLC时,控制precision比控制recall更重要,因为一次不正确的修正比一次错失的错误要更严重。为了过滤荒谬的编辑(spurious edit),作者额外的训练了一个分类器。首先,在所有训练集上运行模型的Decoder,得到候选修正句 (candidate corrected sentences),然后用这些候选修正句跟未修正的句子做字符级别的对齐来最小化 字级编辑距离(word-level Levenshtein distance) , 重复这个对齐和修正的过程得到黄金修复句子, 然后这些未修改句子作为黄金编辑(gold edit)'好的'编辑'坏的'编辑 作为要区分的两类,其中,'好的'编辑看做与黄金编辑有交集,而'坏的'编辑黄金编辑中不包含的。作者使用编辑特征(edit features)训练一个多层的神经网络二类分类器,所使用的特征有1.编辑距离特征 2.词向量特征。然后设定一个阈值 $p_{min}$ ,只有当预测的概率大于这个阈值时才接受此次是正确的修正。

===============================================================================
补充知识点:
Beam Search
仿射变换

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

推荐阅读更多精彩内容