SOTA #
ICD coding #
某篇ACL里提到,在该数据集上BERT不如LSTM,这下直接回到1997了
Model | Innovation | miF1 | miAUC | |
---|---|---|---|---|
CAML | NAACL 2018 | 开山之作,Baseline,CNN+Label Attention | 53.9 | 98.6 |
LAAT | IJCAI 2020 | LSTM; 用attention计算不同层级的标签表示;上一级的得分被拼接到下一级用于预测; | 57.5 | 98.8 |
RAC | MLHC 2021 | Convolved embdding+self attention编码文本,然后与code attention交互(最接近BERT的一个工作) | ||
EffectiveCAN | EMNLP 2021 | CNN+多尺度+label attention | 58.9 | 98.8 |
MSMN | ACL 2022 short | LSTM;在计算Label attention时,考虑了Label的多个同义词,以更好地捕获Label-wise上下文。 | 58.4 | 99.2 |
[Hierarchical BERT]( 2204.09600 (arxiv.org)) | Arxiv 2022 | 先用BERT得到句子级别的表示,然后用Transformer得到整篇文档级别的表示 | 57.6 | |
MSMN+ KEPTLongformer | EMNLP 2022 | 首先用UMLS上的同义词对Clinical Longformer进行对比学习预训练(先进行完形填空),来获得一个知识注入的文本编码器;将label描述和文本共同输入Longformer,以进行充分的交互,但由于计算量过大,所以需要先用别的方法产生一个初始的分类结果。 Longformer相比BERT可以接受更长的上下文。 |
59.9 | |
Text2Tree | EMNLP 2023 | |||
HCDD | Arxiv 2024 | 层次结构+对比学习 | ||
[MRR]( 2405.19093 (arxiv.org)) | Arxiv 2024 | 粗召回topk+检索知识重排 | 60.3 | 99.5 |
多分类如果采用micro平均,则有:precision = recall = f1 = accuracy,详见 机器学习系列 | 01:多类别分类任务(multi-class)中为何precision,recall和F1相等?
Mortality/SOL/durg prediciton #
GraphCare | ICML 2024 | 首先构造一个巨大的KG,然后将每个病人病历报告中的关键词建立成子图,然后送进GNN进行预测。 | ||
GT-BEHRT | ICML 2024 | 将每一个Visit用GNN编码成embedding,作为BERT的输入token,再让BERT建模时序信息。 | ||
EMERGE | Arxiv 2024 | 用LLM+RAG产生病理报告的进一步描述,然后微调GRU根据数据做出精确诊断 |
通用文本分类 #
2018 BERT
2019
SpanBert:对 Bert 预训练的一次深度探索 - 知乎 (zhihu.com) 不只是span mask,还有基于span边界预测指定位置的监督
RoBERTa模型总结 - 知乎 (zhihu.com) 去除NSP,大batch_size,动态mask
T5 模型:NLP Text-to-Text 预训练模型超大规模探索 - 知乎 (zhihu.com) Google出品,大量实验,大量结论,可用于指导调参
2021
SimCSE论文解读 - 知乎 (zhihu.com) 句子嵌入sota,但不一定利于下游任务
无监督对比学习SIMCSE理解和中文实验操作-CSDN博客 细节
Sentence-T5|谷歌提出文本表示新SOTA (qq.com) 双塔结构,多加了一层投影和L2-Norm
注意:有监督对比loss上的temperature=100,之前无监督对比学习的T都很小
对比学习在文本分类任务中的应用实践 - 知乎 (zhihu.com) 混合对比学习和分类监督
Dataset #
Iflytek #
样本数 | 类别数 | |
---|---|---|
主训练集 | 48095 | 950 |
辅助训练集 | 34867 | 316 |
验证集 | 2265 | 147 |
测试集-等级 | 3128 | 140 |
测试集-基层 | 3308 | 136 |
测试集-抗攻击 | 957 | 118 |
测试集-高价值 | 1122 | 108 |
MIMIC III #
考虑一下用什么Backbone,个人偏好Longformer,但是也可以试试LSTM+GNN
以及,严重怀疑卷不动了
MIMIC-III Full | Train | Dev | Test |
---|---|---|---|
Doc. | 47,723 | 1,631 | 3,372 |
Avg # words per Doc. | 1,434 | 1,724 | 1,731 |
Avg # codes per Doc. | 15.7 | 18.0 | 17.4 |
Total # codes | 8,692 | 3,012 | 4,085 |
MIMIC-III 50 | Train | Dev | Test |
---|---|---|---|
Doc. | 8,066 | 1,573 | 1,729 |
Avg # words per Doc. | 1,478 | 1,739 | 1,763 |
Avg # codes per Doc. | 5.7 | 5.9 | 6.0 |
Total # codes | 50 | 50 | 50 |
共计26张表格
类型 | 文件名 | 内容 |
---|---|---|
ID | SUBJECT_ID | 病人ID |
HADM_ID | 住院ID | |
ICUSTAY_ID | ICU的ID | |
Event | NOTEEVENTS | 出院概括 |
OUTPUTEVENTS | 测量结果 | |
LABEVENTS | 化验结果 | |
Dict (共计5张) | D_ICD_DIAGNOSES | ICD诊断代码表 |
D_ICD_PROCEDURES | ICD治疗代码表 | |
D_ITEMS | Item对应表 |
ID用于连接多个表格,整合多个表格,得到下列文件:
Dataset | |
---|---|
MIMIC-III full | train_full.csv, test_full.csv, dev_full.csv |
MIMIC-III 50 | train_50.csv, test_50.csv, dev_50.csv |
KG #
中文KG #
BKG | |||||
---|---|---|---|---|---|
CMeKG | 北京大学、郑州大学以及鹏城实验室 | 1万余种疾病、近2万种药物、1万余个症状、3千种诊疗技术 | |||
CUMLS | 中国医学科学院医学信息研究所基于 UMLS 开发 | 医学主题词 3 万多条、入口词 3 万多条、医学术语 10 万多条和医学词汇素材 30 万多条。 | |||
医药卫生知识服务系统 | 中国医学科学院医学信息研究所 | ||||
OMAHA | 浙江数字医疗卫生技术研究院 | ||||
英文KG #
UMLS | 词汇库,444 万实体和 1610 万实体名称; 为词汇库提供统一的分类,共有 127 种;提供实体类型关系,54种,包括等级关系和相关关系; 专业词典和词汇处理工具,包含约 45万条生物医学和常用英语词汇条目以及 80余万条词汇变化形式 |
|
SNOMED CT | 由2大医学术语库SNOMED RT 和 CTV3合并 | |
Linked Life Data | 基因、蛋白质、疾病、药物、分子相互作用、通路、靶点和临床试验相关信息 |
互联网大厂 #
腾讯医疗健康 | 300万个实体、2100万条关系 | |
阿里Doctor you | ||
百度灵医 | 疾病知识9700+,典型病例3600+,国家临床路径1200+,医学词典17万+,医学计算器270+,心电图760+,临床检验330+,临床决策知识2600+ | |
平安医疗科技 | 60万医学概念、530万医学关系 |
Result #
Iflytek 950 #
Ablation Study #
Model | 等级 | 基层 | 抗攻击 | 高价值 |
---|---|---|---|---|
FastText | ||||
TextCNN | ||||
BERT+AttentionPooling | ||||
BERT+MaxPooling | ||||
BERT + Conv1d+Pooling | ||||
BERT + Chpater, 对同一个向量进行分类 | ||||
BERT + Chpater, 对不同Conv1d进行分类 | ||||
BERT + Chpater, 逻辑值相加 | ||||
BERT+Chapter, 逻辑值相乘 | ||||
BERT+Chapter, Conv |
Baseline: BERT + Pooling + Softmax #
等级 | 基层 | 抗攻击 | 高价值 | |
---|---|---|---|---|
BERT+max pooling | 0.86 | 0.82 | 0.60 | 0.87 |
Backbone lr decay (0.1) | 0.86 | 0.84 | 0.62 | 0.78 |
Layer-wise lr rate decay | 0.86 | 0.83 | 0.60 | 0.87 |
BERT | ||||
Hierarchical #
等级 | 基层 | 抗攻击 | 高价值 | |
---|---|---|---|---|
Baseline | 0.86 | 0.82 | 0.60 | 0.87 |
3层,1+1+2 | 0.71 | 0.77 | 0.55 | 0.77 |
3层,1+1+3 | 0.82 | 0.81 | 0.62 | 0.83 |
3层,联合概率$P(y)=\prod_{y_i}P(y_i)$ 其中$P(y_i)=\begin{cases}sigmoid(z_i),y_i=1\newline 1-sigmoid(z_i),y_i=0\end{cases}$ |
Contrastive Learning #
等级 | 基层 | 抗攻击 | 高价值 | |
---|---|---|---|---|
Baseline | 0.86 | 0.82 | 0.60 | 0.87 |
50%概率加mask,$\tau=1, \lambda=0.1$ | ||||
医生复核 #
等级 | 基层 | 抗攻击 | 高价值 | |
---|---|---|---|---|
Baseline | 0.86 | 0.82 | 0.60 | 0.87 |
引擎+医生复核 | 97.70 | 98.12 | 90.91 | 99.38 |