CCKS 2021 DoesBERTKnowWhichAnswerBeyondtheQuestion 翁诣轩,夏飞,夏茂晋,余强,黄金凤 CCKS2021:面向中文医疗科普知识的内容理解(二)医疗科普知识答非所问识别 CONTENT 数据 01介绍 方案 02介绍 最终 03结果 数据 01介绍 1 数据介绍 Question: 脸总是起痘是闭口粉刺,还总是泛红怎么治疗呢? Description: 脸总是起痘泛红是闭口粉刺,该用什么药 Answer: 答非所问 皮肤光亮泛红,很可能是由化妆品过敏引起的过敏,如果脸部表皮薄,可能有皮肤冲洗过敏,所以应停止使用化品,然后应用炉甘石洗剂,也可以采取抗过敏药物治疗内部,并避免辛辣刺激性食物,别熬夜,多喝水,没特效药,注意生,可用扑尔敏试试。 2数据介绍 数据集分布 合计负样本正样本 B榜测试集 A榜测试集 训练集 训练集 总数:40000 答非所问样本:13333 正常样本:26667 A榜测试集 总数:5000 B榜测试集 总数:10000 数据集分布 方案 02介绍 2 方案介绍 基线方案 将Question+Description+Answer拼接后输入给BERT 在BERT的输出值后添加一个分类层 对这个输出值进行损失计算,要求对样本进行二分类 我们测试了三款预训练模型权重MacBERTRoBertaMRCBERT 并选取其中表现最佳的MRCBERT模型作为基线模型 基于BERT的二分类选择 83.6 83.4 83.2 83 82.8 82.6 82.4 82.2 82 预训练模型性能 MacBertLargeRobertaLargeMRCBERTLarge 测试集准确率 2 方案介绍 R-Drop R-Drop是进一步的正则方法。 相比于只对标签求损失, 我们开启模型的Dropout,并设置概率为0.3, 每个mini-batch中,每个数据样本过两次带有Dropout的同一个模型。R-Drop再使用KL散度约束两次的输出一致。 样本1 样本1 预测结果1 预训练模型开启Dropout loss2 预测结果2 loss1 loss1 样本1标签 样本1标签 两次Dropout,使得相同的预测结果之间的距离接近 2 方案介绍 数据增广 通过编辑距离,我们在患者问句中查找相似句,找到相似句后,再将相似句的答句作为新的答句,依此构建新的答非所问句子。 能够有效弥补原始数据集中,答非所问样本较少的问题,实现了数据增广。 Question1 Description1 Answer1 Label1=正常 编辑距离搜索 Question1:高血压能喝黑茶吗?Question2:高血压能喝奶茶吗? Question2 Description1 Answer1 Label=答非所问 Question2 Description2 Answer2 Label2=正常 利用编辑距离构建答非所问样本 2 方案介绍 小学习率 我们通过使用小学习率在TEST集与VALID集中进行二次微调。 先后测试了从2e-7到2e-4的各种学习率,最终选择 2e-6的学习率。 测试发现相比不进行微调与使用较大学习率微调 模型效果提升明显。 2e-690.6 2e-790.34 2e-590.32 Baseline90.21 2e-467.67 小学习率二次微调 2 84.6 84.4 84.2 84 83.8 83.6 83.4 83.2 83 82.8 方案介绍 BaseLine+对抗学习+R-Drop+数据增广+小学习率+模型融合 Baseline 基于BERT模型的微调 对抗学习 使用FGM对抗,增加鲁棒性 R-Drop 两次Dropout,求KL散度 数据增广 通过编辑距离,人为制造答非所问句 小学习率 在valid集和test集中使用小学习率微调 模型融合 多组不同随机数的模型结果融合 测试集 整体方案 最终 03结果 3 最终结果 Rank TeamName Score Rank TeamName Score 1 DeepBlueA I 84.963 1 OurTeam 70.698 84.379 4 84.436 FREE 3 SpaceOddity A Space 69.778 3 69.972 I DeepBlueA 2 84.498 OurTeam 2 Oddity 4 united 68.96 B 3 效果展示 智源社区:POSTER POSTER展示: https://hub.baai.ac.cn/view/13216 代码展示: https://github.com/WENGSYX/CCKS2021-Scheme-Sharing CCKS 2021 Thankyou 翁诣轩,夏飞,夏茂晋,余强,黄金凤 DoesBERTKnowWhichAnswerBeyondtheQuestion