Pytorch学习记录-GEC语法纠错03
五月第一周要结束了,接下来的三个月主要是文献阅读,准备8、9月的开题报告,技术类的文献集中在GEC和Text maching的应用方面,读完之后找demo复现,然后应用。
理论方面的论文也都是英文的
2. Alibaba at IJCNLP-2017 Task 1: Embedding Grammatical Features into LSTMs for Chinese Grammatical Error Diagnosis Task
2017年国际自然语言处理联合会议(IJCNLP 2017)中文语法纠错第一名。在这里,使用的是Chinese Grammatical Error Diagnosis(CGED中文语法错误诊断)
2.1 摘要
- 任务:处理四中语法错误(多词(R)、少词(M)、错词(S)、词序错误(W))
- 处理方式:我们将任务视为序列标记问题,并设计一些手工技术来解决
- 模型结构:基于LSTM-CRF模型和3个合成策略
2.2 介绍
中文的特点(古老和多样化),既没有单数/复数变化,也没有动词的紧张变化,具有更灵活的表达但松散的结构语法,使用更短的句子但很少有短语。它也有更多的重复,而在英文中这种重复会被省略。
中-英文GED之间的相似之处:固定的词汇搭配,可以从英语NLP研究中获得经验。
2.3 CGED
- NLPTea CGED开始于2014年,由CFL提供训练数据。
- 数据包括四类错误,多词(R)、少词(M)、错词(S)、词序错误(W)(注意,这个和上一篇的词汇错误有一些不同,上一篇五个错误是从语法规则上来讨论,这里是对词的讨论)。
- 在提供测试数据集的情况下,需要开发CGED来检测:(1)句子是否正确; (2)句子包含哪些错误; (3)确切的错误位置。
2.4 相关工作
在CoNLL2013和2014年的shared Task中获得了很多关于英文GED的成果。
- 手工制作规则
- 统计模型
- 翻译模型
- GED的搭配问题
- LSTM在这类任务中是有效的
CGED可以借鉴英文的成果,2012年一个基于条件随机场(CRF)分类器用于词序错误查找;2014年基于规则的诊断系统;NLPTea在2014-2016年CGED,哈工大基于CRF+BiLSTM模型,朝阳科技大学基于CRF模型的POS语言特征
2.5 方法
2.5.1 模型
将CGED看成是一个序列标记问题,HIT之前使用过基于CRF和LSTM的模型解决序列标记问题,在CRF的帮助下,LSTM模型表现更好。因此,这篇论文使用的也是双向LSTM作为RNN单元对输入句子进行建模。
2.5.2 特征工程
由于缺乏训练数据,任务严重依赖先验知识:POS特征。即是说特征工程对于这类任务十分重要,研究者列出了他们使用的特征。
- 字嵌入向量 ,随机初始化得到的
- 二元字向量,Bigram是这项任务中的一个信息性和区别性的特征,它让模型很容易学习到相邻字符之间的搭配程度
- 词性标注向量 ,由需要标注的这个字所在的词的词性决定 ,同时会标注是这个词的开始B,还是内部I
- 词性的得分,从大的训练数据中统计得到 。因为有的词既可以做名词又可以做动词,对于做动词或者名词,其中的你某个可能比较常见,得分就比较高。
- 相邻词汇搭配,在训练数据中,发现相邻单词之间发生了错误的搭配,基于这一点计算PMI信息得分
研究者将PMI得分作为LSTM-CRF模型的输入特征嵌入低维度向量,在字符级解决任务后,研究者还将位置指标添加到离散的PMI得分中。 - 依存特征,相邻词汇的PMI分数能够代表临近次会,而搭配关系并不仅仅局限在临近词汇,这时就需要依存特征。
2.5.3 模型集成
由于随机初始化和随机丢失的原因,模型的结果不是很理想,研究者使用了3种不同的集成方式来提高结果。
- 第一个是简单整合所有的结果
- 第二个是对模型生成的错误结果进行排序,最后20%的结果删除。提高了P值但是仍然没有超过的单个的模型
- 第三个是投票
在所有实验中,使用了4组不同的参数,并为每个参数组训练了2个模型,因此总共使用了8个模型。