Incorporating medical knowledge in BERT for clinical relation extraction
目录
这篇文章的工作量是比较大的,感觉像是在工程实践中创作出来的。
我们对不同技术进行了全面检查,以将医学知识添加到预训练的 BERT 模型中以进行临床关系提取。
论文的贡献点是:尝试了多种信息融合的方法,比较了模型的有效性。
论文的创新点:使用Bert完成Relation分类问题。前提是融合生物知识。
模型
Module 01——使用Bert生成文本嵌入表示
在实体周围添加特殊的marker,在确定表示方法时
一种直接采用[CLS]的embedding作为整个sentence的表示;
另外是采用[CLS]和entity的embedding做concatenate后,通过linear层得到表示。
Module 02——Text and UMLS Concept Alignment
将entity匹配到UMLS中的概念,丰富实体表示。
Module 03——Generating UMLS Knowledge Graph Embeddings
在创建KG嵌入的方法上有:基于翻译的模型 TransE (Bordes et al., 2013)、两个语义匹配模型 DistMult (Yang et al., 2014) 和 ComplEx (Trouillon et al., 2016) 以及基于卷积网络的模型 (Dettmers et al., 2018)和 ConvKB(Nguyen 等人,2017)创建 UMLS 知识图嵌入。
文中确定使用方法时,我们评估这些方法在链接预测任务上的有效性,该任务预测与给定实体具有特定关系的实体,即预测 h 给定 (r, t) 或 t 给定 (h, r)。在这些 KGE 方法中,ComplEx 在链接预测任务上表现最好。因此,我们在实验中仅使用来自 ComplEx 的知识图嵌入。
Module 04——Integrating UMLS knowledge with BERT
ClinicalBERT-EE-KGE: 第一个技术是将知识图嵌入与来自 ClinicalBERT 的文本嵌入相结合,并将它们提供给关系分类器。
ClinicalBERT-EE-MLP:预训练的语言模型,例如 BERT,通常在微调期间以较小的学习率训练 2 到 5 个 epoch,而从 KGE 提取的图嵌入特征需要以更高的学习率训练更长的时间。如果我们直接将 BERT 输出与 KGE 特征连接起来,那么关系分类器可能不会从 KGE 特征中受益太多。为了解决这个问题,我们首先用知识图嵌入训练一个多层每感知器(MLP),用于关系分类。MLP 隐藏层的输出与关系分类中的 BERT 文本嵌入相结合。使用经过训练的 MLP 可确保模型在使用预训练的 BERT 模型在少量 epoch 的集成中训练时不会欠拟合。
ClinicalBERT with Relation Indicator:我们将来自 UMLS 的知识添加为 BERT 输入中的第二个句子。然后,我们将原始输入句子和合成的第二个句子输入预训练的 ClinicalBERT,它将使用这些知识丰富的句子来预测关系标签。以“concept1 relationship concept2”的形式构造第二个输入句子。
ClinicalBERT with Entity Definition:在这种方法中,我们不仅使用输入句子微调 BERT,还使用两个实体的文本描述进行微调。(对于输入句子中的实体,我们从 UMLS 中提取它们对应的概念定义。它们被用作 BERT 的输入以获取概念嵌入 (ClinicalBERT-EE-ED CT)。我们还可以使用其定义(ClinicalBERT-EE-ED ST)生成语义类型嵌入。这些定义作为输入馈送到单独的 BERT 模型。)
ClinicalBERT-EE-KB:通过联合优化知识图谱目标和掩码语言模型目标,将 UMLS 知识融合到 BERT 中
ClinicalBERT-EE-KB-MLM:在这种方法中,我们仅使用掩码语言模型 (MLM) 目标使用 UMLS 信息对 BERT 进行预训练。我们使用 UMLS 提供的缩写将三元组映射为自然语言句子(例如,基于三元组 (fever, may_be_treatment_by, ibuprofen) 生成类似“fever may be treated by ibuprofen” 的句子
Model summary
在融合阶段上,是during Bert training还是Bert prediction阶段;
在知识类型上,是domain text还是UMLS concept,还是 UMLS concept and semantic type definitions;
在融合方式上,有concatenation,还有两个预训练共同优化(Bert 和 Graph)还有Bert tune还有Bert中融入信息之后在tune。