NLPTEA-2017 CGED比赛第一名
1.Alibaba at IJCNLP-2017 Task 1: Embedding Grammatical Features into
LSTMs for Chinese Grammatical Error Diagnosis Task
相关介绍:http://www.sohu.com/a/206342111_473283
NLPTEA-2018 CGED比赛第一名
2.Chinese Grammatical Error Diagnosis using Statistical and Prior
Knowledge driven Features with Probabilistic Ensemble Enhancement
相关介绍:http://www.10tiao.com/html/617/201807/2650793125/1.html
1. 中文语法纠错的动机
学汉语的人越来越多,帮助学生学习,缓解老师压力。
2. 处理的任务
语病识别(识别句子是否有错误)、语病分类(识别具体的错误类型)、语病定位(识别错误的位置)、语病修正(提供修正的建议)。
其中,错误类型有四种,少词,多词,用词错误,词序错误,2018的语法纠错任务相比2017多了语病修正的模块,对于缺词和错词,需提供修正的建议。具体的错误样本数据见下图。
3. 方法
第二篇论文在第一篇论文的基础上做了一些改进
(1)引入一些新的语言学特征(先验知识)
(2)概率集成方法(集成多个Bi-LSTM + CRF模型)
(3)模板匹配用于后处理
前三个任务,检测,识别,定位使用了Bi-LSTM + CRF 序列标注模型同时来做,这里的Bi-LSTM + CRF 是基于字的。模型的整体框架见下图,正确的句子为“锻炼能力”,使用的是BIO标注,B表示错误的开始,I 表示错误的内部,O表示错误的外部,S代表用词错误这一语法错误类别(上图):
BiLSTM+CRF的前向的过程得到发射矩阵,即每个位置对应的的标签的概率。后向过程以及维特比解码过程,更新所有参数包括转移矩阵,bilstm的参数,以及随机初始化的输入特征对应的参数。 2017年阿里的论文中该模型用到的特征见下图:
(1)字嵌入向量 ,随机初始化得到的
(2)二元字向量的组合
(3)词性标注向量 ,由需要标注的这个字所在的词的词性决定 ,同时会标注是这个词的开始B,还是内部I
(4)词性的得分,从大的预料中统计得到 。因为有的词既可以做名词又可以做动词,对于做动词或者名词,其中的你某个可能比较常见,得分就比较高。
(5)所在的词和上一个词,下一个词的PMI互信息得分
(6)依存特征
2018的篇论文多加了三个特征
(7)分词信息,例如这里的加的特征是B-word(动力),表示当前输入的这个词是"动力"这个词的开始。
(8)高斯ePMI, 这个不是特别理解,只知道ePMI 不再是统计相邻单词的互信息,而是计算wi和wj距离为j-i的共现程度,放个论文截图
(9)词语的词性的共现程度?不是很理解,放个论文截图
论文中用的一些集成方法:
2017的论文:因为在模型的训练过程中有权重参数的随机初始化,dropout的随机初始化,数据每个batch的训练顺序,模型训练好后存在差异。
(1)直接merg每个模型的结果。R值上升,P值下降很多。
(2)争对第一中方法做了一些优化,将每个Bi-LSTM+CRF模型得到的后20%的结果删除。提高了P值但是仍然没有超过的单个的模型。
(3)投票,论文中集成了三个模型,得到了最好的F1值。
2018的论文做了一些改进,提出了两种集成策略:
(4)基于概率的集成方法,进行序列标注是对于每个模型的输出,加权求平均。随机初始化一个权重参数。
(5)基于ranking的方法。通过实验发现使用Adam的优化方法的模型比使用SGD的优化方法在recall指标上表现比较好,但是直接merger adam 优化的模型,会使得p值较差。将每个Bi-LSTM+CRF模型得到的前40%结果保存下来。 去掉后20%结果的模型。
2018论文的模型整体架构图:
语病修正(对缺词错误,以及使用不当错误进行纠正):参赛系统采取了端到端的神经网络模型与词汇点互信息相结合,将语病位置空出,根据上下文以及语病信息对于该位置正确的词汇进行推测。
(1)ePMI排序
(2)seq2seq + attention
比如说存在名词错误,把这个位置空出进行decoder(需要用到前面的位置识别的结果吗?),生成正确的?decoder 部分不会引入很多错误嘛? ePMI是产生候选词吗?还有些不太懂的地方。