拼写纠正系列
java 实现中英文拼写检查和错误纠正?可我只会写 CRUD 啊!
单词拼写纠正-03-leetcode edit-distance 72.力扣编辑距离
NLP 开源项目
前言
大家好,我是老马。
下面学习整理一些其他优秀小伙伴的设计、论文和开源实现。
摘要
本文介绍了NLPTEA 2020中文语法错误诊断(CGED)共享任务,该任务旨在识别学习中文作为外语的学生在书写中出现的语法错误类型、错误发生的范围以及推荐的纠正措施。
我们描述了任务定义、数据准备、性能评估指标以及评估结果。在注册参加该共享任务的30支队伍中,17支队伍开发了系统并提交了总共43个实验结果。
系统的表现取得了显著进展,检测层面的F1得分达到了91%,位置层面的得分为40%,纠正层面的得分为28%。
所有带有标准答案的数据集和评分脚本都已公开,供研究人员使用。
1 引言
自动化语法检查在英语作为外语的学习者中已取得显著进展。
帮助我们的学习者(HOO)是一系列纠正文本错误的共享任务(Dale 和 Kilgarriff,2011;Dale 等,2012)。
2013年和2014年的CoNLL共享任务集中于语法错误修正,增加了教育应用研究在自然语言处理(NLP)社区中的可见度(Ng 等,2013;2014)。
这些学习技术大多集中在英语作为外语(EFL)学习者上,而相对较少有语法检查应用程序是为了支持中文作为外语(CFL)学习者开发的。
现有的一些应用程序使用了多种技术,例如统计学习(Chang 等,2012;Wu 等,2010;Yu 和 Chen,2012)、基于规则的分析(Lee 等,2013)、神经网络建模(Zheng 等,2016;Fu 等,2018)和混合方法(Lee 等,2014;Zhou 等,2017)。
为了应对CFL学习者数据在机器学习和语言学分析中的有限可用性,ICCE-2014关于教育应用的自然语言处理技术(NLP-TEA)研讨会组织了一个针对CFL语法错误诊断的共享任务(Yu 等,2014)。
该共享任务的第二版本在NLP-TEA与ACL-IJCNLP-2015(Lee 等,2015)和COLING-2016(Lee 等,2016)同时举办。
从那时起,它的名称被确定为中文语法错误诊断(CGED)。
作为IJCNLP 2017的一部分,该共享任务再次组织(Rao 等,2017)。
在与ACL 2018的NLP-TEA研讨会联合举办时,CGED再次被组织(Rao 等,2018)。
这些共享任务的主要目的是提供一个共同的设置,使得使用不同语言因素和计算技术的方法研究者能够比较他们的结果。这种技术评估使得研究人员能够交换经验,推动该领域的发展,最终为这一共享任务开发出最优的解决方案。
本文其余部分组织如下:第2节详细描述任务,第3节介绍构建的数据集,第4节提出评估指标,第5节报告参与者方法的结果,最后在第6节得出结论。
2 任务描述
本共享任务的目标是开发自然语言处理(NLP)技术,自动诊断(并进一步修正)中文语法错误,这些错误出现在中文作为外语(CFL)学习者写作的句子中。
此类错误定义为PADS:冗余词(用大写字母"R"表示)、缺失词("M")、词语选择错误("S")和词语顺序错误("W")。
输入句子可能包含一个或多个此类错误。
开发的系统应指示给定单元(包含1至5个句子)中嵌入了哪些错误类型以及错误出现的位置。
每个输入单元都有一个唯一的编号"sid"。如果输入没有语法错误,系统应返回:"sid, correct"。如果输入单元包含语法错误,则输出格式应包括四个项目:"sid, start_off, end_off, error_type",其中start_off和end_off分别表示语法错误发生的起始和结束字符的位置,error_type应为定义的错误之一:"R"、"M"、"S"或"W"。每个字符或标点符号占用一个位置进行计数。
示例句子及相应注释如表1所示。今年,我们只有一个HSK的评测任务轨道。
表1:示例句子及相应注释
汉语水平考试(HSK)
示例 1
输入: (sid=00038800481) 我根本不能了解这妇女辞职回家的现象。在这个时代,为什么放弃自己的工作,就回家当家庭主妇?
输出:
00038800481, 6, 7, S
00038800481, 8, 8, R
(注释:"了解"应改为"理解"。另外,"这"是冗余词。)
示例 2
输入: (sid=00038800464) 我真不明白。她们可能是追求一些前代的浪漫。
输出:
00038800464, correct
示例 3
输入: (sid=00038801261) 人战胜了饥饿,才努力为了下一代作更好的、更健康的东西。
输出:
00038801261, 9, 9, M
00038801261, 16, 16, S
(注释:"能"缺失,单词"作"应改为"做"。正确句子应为"才能努力为了下一代做更好的")
示例 4
输入: (sid=00038801320) 饥饿的问题也是应该解决的。世界上每天由于饥饿很多人死亡。
输出:
00038801320, 19, 25, W
(注释:"由于饥饿很多人"应改为"很多人由于饥饿")
3 数据集
我们共享任务中使用的学习者语料来自汉语水平考试(HSK,Hanyu Shuiping Kaoshi,中文水平测试)的写作部分(Cui 等,2011;Zhang 等,2013)。母语为中文的讲者被训练为手动标注语法错误,并提供与每个错误相应的修正。
然后,数据被分成两个互斥的子集,如下所示:
- 训练集:该集合中的所有单元用于训练语法错误诊断系统。每个单元包含1到5个句子,标注了语法错误及其相应的修正。所有单元以SGML格式表示,如表2所示。我们提供了1129个训练单元,总共有2909个语法错误,错误类型包括冗余(678个实例)、缺失(801个)、词语选择(1228个)和词语顺序(201个)。除了提供的数据集,参与的研究团队还被允许使用其他公共数据进行系统开发和实施。使用其他数据的情况应在最终的系统报告中说明。
-
Table 3: The statistics of correct sentences in testing set.
#Units #Correct #Erroneous
1,457 (100%) 307 (21.07%) 1,150 (78.93%)
测试集:该集合由用于评估系统性能的测试单元组成。
表3展示了今年测试集的统计数据。根据HSK写作部分的抽样,超过40%的句子没有错误。
这一情况在测试集中进行了模拟,以测试系统在识别假阳性(false positive)时的表现。错误类型的分布(见表4)与训练集相似。正确句子的比例来自HSK在线动态语料库的样本数据。
表4:测试集中错误类型的分布
错误类型
- 冗余(#R):769(21.05%)
- 缺失(#M):864(23.65%)
- 词语选择错误(#S):1694(46.36%)
- 词语顺序错误(#W):327(8.95%)
- 总错误数(#Error):3654(100%)
评估结果
表6总结了17个参与团队的提交统计数据。
在官方测试阶段,每个参与团队最多可以提交三次运行结果。
在17个团队中,11个团队在修正层次(Correction-level)提交了测试结果,共计43次提交。
表6:所有参与者的提交统计
参与者(按名称排序)提交统计
参与者 | 提交次数(#Runs) | 修正层次(Correction-level) |
---|---|---|
Boli | 2 | √ |
CYUT | 2 | - |
DumbCat | 1 | √ |
Flying | 3 | √ |
LDU | 3 | - |
NJU-NLP | 3 | - |
OrangePlus | 3 | √ |
PCJG | 3 | √ |
SDU_MLA | 1 | - |
SPPD | 3 | - |
TextCC-CloudPoineer | 3 | √ |
TMU-NLP | 1 | √ |
UNIPUS-Flaubert | 3 | √ |
XHJZ | 3 | √ |
YD_NLP | 3 | √ |
ZZUNLP-HAN | 3 | √ |
ZZUNLP-YAN | 3 | - |
结论
本研究描述了2020年NLP-TEA共享任务,用于中文语法错误诊断,包括任务设计、数据准备、性能指标和评估结果。
无论实际表现如何,所有提交都为开发中文语法错误诊断系统做出了共同努力,会议记录中的个别报告为计算机辅助语言学习(CFL)提供了有价值的见解。
我们希望为此次共享任务收集和标注的数据集能够促进并加速该研究领域的未来发展。
因此,所有带有金标准的数据集和评分脚本都可以在以下网站上公开获取:http://www.cged.science。
致谢
我们感谢所有参与者参加我们的共享任务。
Lung-Hao Lee在咨询和投标方面提供了大量帮助。
Xiangyu Chi、Mengyao Suo、Yuhan Wang和Shufan Zhou在数据审查方面做出了重要贡献。
本研究得到了国家语言委员会项目(YB135-90)的支持。
参考资料
https://github.com/wdimmy/Automatic-Corpus-Generation/blob/master/README.md