中文拼写纠错医疗领域数据集 MCSCSet: A Specialist-annotated Dataset for Medical-domain Chinese Spelling Correction

论文信息

论文地址:

  1. https://arxiv.org/pdf/2210.11720.pdf (本笔记参考的版本)
  2. https://dl.acm.org/doi/pdf/10.1145/3511808.3557636

论文代码 : https://github.com/yzhihao/MCSCSet

阅读前提:需要对CSC任务有一定的了解

论文内容:提出了医疗领域的CSC数据集 MCSCSet(Medical Chinese Spelling Correction Dataset )

摘要(Abstract)

该论文提出了一个医疗领域的CSC数据集。

数据集大小:200K 个样本(医学专家人工标记)

数据集来源:腾讯医典(https://baike.qq.com/)的查询日志

作者还提供了一个benchmark模型作为baseline用户后续比较

1. 介绍(Introduction)

现有的CSC模型都是通用的(Open-Domain),并不适用于特定领域(Specific Domain)。例如对于某一个Open-Domain训练出的模型在本文提出的医疗数据集MCSCSet下的表现如:

在这里插入图片描述
该模型在SIGHAN-15(Open-Domain数据集)下表现很好,但在MCSCSet(Specific Domain)表现就很差。

医疗术语通常有5种错误,如下图:

中文拼写纠错医疗领域数据集 MCSCSet: A Specialist-annotated Dataset for Medical-domain Chinese Spelling Correction_第1张图片
其中前两种属于CSC的范畴

本论文的主要贡献如下:

  1. MCSCSet:首次提出了一个医疗领域的CSC数据集
  2. 提供了一个医疗领域的混淆集
  3. 提供了benchmark模型

2. 相关工作

3. 医疗领域CSC任务定义(Medical-domain CSC Task)

医疗领域的CSC任务在定义上和CSC任务完全一致。即:

给定输入文本序列 X = { x 0 , x 1 , x 2 , ⋯   , x n } X=\{x_0, x_1, x_2, \cdots, x_n\} X={x0,x1,x2,,xn} x i x_i xi 表示一个字符。经过修正函数 F ( X ) F(X) F(X) 修正后,输出修正结果序列 Y = { y 0 , y 1 , y 2 , ⋯   , y n } Y=\{y_0, y_1, y_2, \cdots, y_n\} Y={y0,y1,y2,,yn},其中输入文本长度和输出文本长度一致,即只修改错字,不处理少字和多字的情况。

在数据分布上,医疗领域CSC和传统CSC的不同点如下:

  1. 医疗本文包含大量的医疗术语(medical terms),这些术语不常见且很复杂。
  2. 错字通常发生在医疗实体(medical entities)上。例如:布洛分
  3. 要修改错字需要有医疗相关知识

4. 医疗领域CSC数据集(The Medical-Domain CSC Dataset)

4.1 数据样本筛选(Medical Query Selection)

200K条样本的收集过程如下:

  1. 首先从“腾讯医典”的查询日志中收集到了900K+条数据
  2. 去除包含个人信息的样本,例如姓名,ID等。
  3. 去除过长(超过50个字)和过短(少于3个字)的样本
  4. 去除不包含医疗实体的字
  5. 最后剩余200+样本

4.2 数据标注过程(Annotation Process)

数据标注过程如下:

  1. 将医疗实体用“{}”括起来,并标记其错误类型。
  2. 将医疗实体的错字修正。注意:不考虑非医疗实体的常见字
  3. 若句子中的医疗实体不包含错字,那就人工造个错字。

最终的样本样例如下:

{拔知齿}要做手术吗	{拔智齿}要做手术吗	字音/字形
{膝盖前交叉忍带断裂}术后{康复训练}	{膝盖前交叉韧带断裂}术后{康复训练}	字音
{手臂内侧}{经络堵赛}症状	{手臂内侧}{经络堵塞}症状	字形

注意,如果第二点我没有理解错的话。这个数据集的部分错误可能是人造的。

4.3 数据格式和统计情况(Data Format and Statistics)

样本样本里如下表所示:

中文拼写纠错医疗领域数据集 MCSCSet: A Specialist-annotated Dataset for Medical-domain Chinese Spelling Correction_第2张图片
与现有CSC数据集相比,有几个优点:

  1. 它在识别错误时是按照词的维度的。传统的CSC数据集只会告诉你“尺”错了,但不会告诉你“智尺”是一个词
  2. 该数据集告诉你这个错误是“字形/字音”的错误。

数据集的统计情况如下:

中文拼写纠错医疗领域数据集 MCSCSet: A Specialist-annotated Dataset for Medical-domain Chinese Spelling Correction_第3张图片

训练集:验证集:测试集=8:1:1

句子长度分布情况如下图:

中文拼写纠错医疗领域数据集 MCSCSet: A Specialist-annotated Dataset for Medical-domain Chinese Spelling Correction_第4张图片

大部分的句子长度都在10个字左右

医疗实体的词频情况如图所示:

中文拼写纠错医疗领域数据集 MCSCSet: A Specialist-annotated Dataset for Medical-domain Chinese Spelling Correction_第5张图片

大部分的医疗实体词只出现了一次

错误类型的分布情况如下:

中文拼写纠错医疗领域数据集 MCSCSet: A Specialist-annotated Dataset for Medical-domain Chinese Spelling Correction_第6张图片 大部分错误都是字音相似,还有一部分是字形相似。仅有少数样本是重复、缺字或语序混乱。

作者提供的数据集也包含“重复、缺字或语序混乱”这三种样本,因此其也是可以用于语法纠错的


作者还提供了一个适合医疗领域的混淆集,样例如图所示:

中文拼写纠错医疗领域数据集 MCSCSet: A Specialist-annotated Dataset for Medical-domain Chinese Spelling Correction_第7张图片

5. 实验(Experiments)

5.1 实验设置(Experiment Setup)

5.2 基准模型(Benchmark Models)

  • BERT-Corector:https://aclanthology.org/2021.acl-short.56/
  • Soft-Masked BERT:https://arxiv.org/abs/2005.07421
  • MedBERT-Corrector:作者自己构建的模型

5.3 基准实验(Benchmark Experiments)

作者的实验情况如下:

中文拼写纠错医疗领域数据集 MCSCSet: A Specialist-annotated Dataset for Medical-domain Chinese Spelling Correction_第8张图片

不过作者没说这个指标是Character-level还是Correction-level的

个人总结

  1. 作者提供了一个人工标注的医疗领域的CSC数据集。包含200K个样本,按8:1:1的比例分为了训练集、验证集和测试集。

你可能感兴趣的:(机器学习,深度学习,中文拼写纠错,CSC)