zoukankan      html  css  js  c++  java
  • 中药说明书命名实体识别方案总结

    中药说明书命名实体识别方案总结

    参考链接:https://github.com/positivepeng/2020-tianchi-ChMedNER

    阅读上面搜罗的几个方案,对每个方案进行概述,并写一个 CheckList 方便自己回忆思考,每个点都可以尝试一下,不保证有效,炼丹。

    冠军方案

    链接:https://github.com/z814081807/DeepNER

    概述:模型采用 BERT + CRF,使用 UER 预训练模型,差分学习率,采用和 BERT 一样的参数初始化,滑动参数平均。在这个基础上,引入几个优化。第一,对抗训练,FGM 和 PGD。第二,使用混合精度训练,提高速度。第三,模型融合,不同数据划分、随机数种子和句子长度,不同模型(BERT + SPAN,BERT + MRC)。第四,半监督学习,充分利用初赛的测试集。

    CheckList

    • 使用不同的预训练模型,UER
    • 差分学习率
    • 参数初始化
    • 滑动参数平均
    • 对抗训练,FGM 和 PGD 等
    • 混合精度加快速度
    • 模型融合,不同模型、不同数据
    • 半监督学习
    • BERT 最后四层动态加权
    • BERT 后面再接一个模块,BiLSTM、DGCNN 等
    • 数据增强,对同类实体词进行随机替换
    • 使用 focal loss、dice loss 缓解标签不平衡
    • 构造领域词典,修正模型输出
    • 预处理,清洗无效字符,长句切分,切分出来过短的句子合并

    亚军方案

    链接:https://tianchi.aliyun.com/forum/postDetail?spm=5176.12586969.1002.6.25a33e5b7SqxIw&postId=154948

    概述:暴力十折 BERT + CRF,模型融合。第一阶段,先用十折 BERT base + CRF + FGM 融合模型,用这个模型去清洗数据,然后将原始数据和清洗数据混合。第二阶段,用上面的数据,十折 BERT large + CRF,模型融合。很暴力。

    CheckList

    • 数据清洗,用模型去预测训练集,解决漏标、错标、手滑
    • 尝试考虑词汇的模型 Lattice LSTM、Soft-Lexicon、FLAT
    • 模型融合策略:保留召回率高的模型,设置投票的阈值尽可能提高准确率。十折,要 7 票才保留,阈值越高,越准确,但是召回越低。反之,阈值越低,准确率越低,召回率越高。

    亚军方案

    链接:https://tianchi.aliyun.com/forum/postDetail?spm=5176.12586969.1002.12.25a33e5b7SqxIw&postId=154826

    概述:关注数据集特点!模型架构,BERT + BiLSTM + CRF + FGM。在这个基础上,根据数据集特点进行优化。第一,实体补全。相同的句子,在不同位置上标注不同。第二,增加长度特征。这队观察到漏标和样本长度有关系,要让模型学习到这个特征,所以引入了长度特征。模型融合策略,和上个方案中类似。

    CheckList

    这个方案更多地关注数据集特点,他们的方案不一定能用到别处。不过看到他们关注数据集特点并给出解决方法,特别佩服。

    • 实体补全。
    • 增加长度特征。

    季军方案

    链接:https://tianchi.aliyun.com/forum/postDetail?spm=5176.12586969.1002.3.25a33e5b7SqxIw&postId=155024

    概述:BERT + BiLSTM + CRF / SPAN + FGM。

    CheckList

    • 针对错标,标签矫正。选择标签最多的类别作为真实标记。
    • 数据增强。初赛数据做伪标签。
    • BERT 不同层动态权重融合。
    • 标签平滑。
    • 预热学习率,任务层一开始是随机的,可能对 BERT 产生影响,所以刚开始小一些,后面就按照原来的学习率进行。
    • 对抗训练,FGM。
    • 参数滑动平均,SWA。
    • 模型融合,不同阈值策略。训练集出现过的实体和没出现过的实体采用不同的阈值。

    其他方案

    链接:https://tianchi.aliyun.com/forum/postDetail?spm=5176.12586969.1002.9.25a33e5bTKPiNR&postId=154762

    概述:各种模型融合。

    CheckList

    • 领域语料库上进行微调。
    • 模型融合策略:每一折的每一个模型,去投票。
  • 相关阅读:
    Stream 和 byte[] 之间的转换
    C# Process类_进程_应用程序域与上下文之间的关系
    C# Process类_进程管理器Demo
    C# attribute_特性
    SqlDataAdapter类
    SqlDataReader类
    SqlCommand类
    SqlConnection类
    DataTable类
    C# 语法技巧_三目运算_switch_case
  • 原文地址:https://www.cnblogs.com/zzk0/p/15082766.html
Copyright © 2011-2022 走看看