【2020】Clinical Concept Embeddings Learned from Massive Sources of MultimodalMedical Data

Pacific Symposium on Biocomputing 2020

文章介绍了一种从大规模多模态医疗数据中学习医学概念嵌入的新方法 cui2vec。

简介

1. 研究背景

  • 词嵌入在自然语言处理中广泛应用,但医疗领域由于隐私等问题缺乏预训练资源。
  • 本工作旨在通过结合多模态医疗数据构建医学概念的嵌入。

2. 相关算法概述

  • word2vec:包括 CBOW 和 skip - gram 模型,后者通过构建目标词和上下文词的向量表示,使共现频繁的词在新空间中距离更近,其关键特征是能在大型语料库上高效训练,如通过负采样近似计算。
  • GloVe:通过拟合加权对数线性模型到共现统计中产生词嵌入,最终的嵌入是单词和上下文向量之和,训练时最昂贵的步骤是构建术语 - 术语共现矩阵。
  • SGNS 与 SPPMI:SGNS 模型隐含地对移位的正点互信息(PMI)矩阵进行因式分解,通过将 PMI 移位并设置负项为 0 得到 SPPMI 矩阵,可使用 SVD 对其进行分解得到低维嵌入,GloVe 也可对共现矩阵进行因式分解。
  • cui2vec 概述:先将所有概念映射到统一的概念唯一标识符空间(CUI),然后构建 CUI - CUI 共现矩阵,根据数据来源不同计算共现方式,最后可通过 GloVe 或 SVD 进行分解得到嵌入。

3. 相关工作

  • 早期使用 word2vec 进行医学概念研究的结果参差不齐,近期 Transformer 模型在许多 NLP 任务中表现出色,Choi 等人的工作与本研究最具可比性,但本研究在数据规模、嵌入方式、评估方法等方面存在差异。

4. 材料与方法

  • 数据来源:来自全美健康保险计划的 6000 万成员的索赔数据库(2008 - 2015 年)、斯坦福的 2000 万条临床记录的概念共现数据集、来自 PubMed Central 的 170 万篇全文期刊文章。
  • 文本归一化和预处理:使用 NILE 系统对照 SNOMED - CT 参考词库将多词概念转换为单个标记,并映射到 UMLS 的 CUI,同时进行标准化处理,如转换为小写、去除标点等。
  • 基准和评估:基于统计功效的概念,通过计算已知关系对的余弦相似度来比较嵌入的相似性,根据引导样本计算零分布,若观察得分大于 95% 分位数则认为具有统计学意义,该指标易于解释,能估计在 5% 假阳性率容忍度下发现的真实关系比例。基准测试包括共病情况、因果关系、国家药物文件参考术语(NDF - RT)、UMLS 语义类型、人类对概念相似性的评估等。
  • 实施细节:遵循 Levy 和 Goldberg 对 word2vec 超参数的建议设置,如平滑单例频率、设置 SPPMI 转换参数、构建最终嵌入等;对于 GloVe 和 word2vec(原始),使用相应的包和参数进行实现;基线是对原始共现矩阵进行 SVD,记为 PCA。

5. 结果

  • 基准结果:在各个数据集和组合数据上,嵌入维度为 500 的 word2vec 表现最佳,且在 PubMed 文章数据集上,基于 SVD 的 word2vec 优于原始算法。
  • 与先前结果比较:本研究为 108477 个独特概念估计嵌入,是迄今为止最大的医学概念嵌入集。与之前发布的嵌入进行比较,cui2vec 在大多数任务中表现更优。

6. 讨论

  • cui2vec 嵌入使用大规模多模态医疗数据创建,在许多情况下达到了先进性能。
  • 提供 cui2vec 嵌入有助于减少医疗数据无标记或难以共享的障碍,对各种临床机器学习任务有用。

7. 代码和数据可用性

  • R 包 cui2vec 可在 github 仓库找到,嵌入的交互式浏览器链接也在文中提供。

8. 致谢

  • ALB 得到 NIH / NHLBI 7K01HL141771 - 02 支持,BK 得到 NIH T32HG002295 支持。

原文翻译

词嵌入是一种流行的方法,用于对广泛用于自然语言处理的词关系进行无监督学习。在本文中,我们提出了一组新的嵌入,用于使用极其庞大的多模态医学数据集合学习的医学概念。依靠最近的理论见解,我们展示了如何将6000万成员的保险索赔数据库、2000万临床笔记集合和170万全文生物医学期刊文章结合起来,将概念嵌入到一个公共空间中,从而产生了有史以来最大的108,477个医学概念的嵌入集。为了评估我们的方法,我们提出了一个基于统计能力的新基准方法论,专门用于测试医学概念的嵌入。我们的方法称为cui2vec,在大多数情况下,相对于以前的方法,它获得了最先进的性能。最后,我们提供了一组可下载的预训练嵌入供其他研究人员使用,以及一个用于交互式探索cui2vec嵌入的在线工具。

关键词:机器学习;电子病历;理赔数据;自然语言处理

1.介绍

词嵌入已经成为机器学习和自然语言处理(NLP)中表示稀疏、高维数据的一种非常流行的方式。基于神经网络的词嵌入的现代概念源于Bengio等人的神经语言模型。1尽管这个想法与许多其他方法密切相关,特别是潜在语义分析(LSA)2和语言的超空间模拟(HAL)。3词嵌入的动机是观察到单词的传统表示,如one-Hot编码,是高维和低效的,因为这种编码没有捕获源文本中单词之间的相似性或相关性信息。中心思想是一个单词可以用“它所保持的公司”来表征,4因此出现在给定单词周围的上下文单词编码了大量关于该单词含义的信息。词嵌入通过创建一个低维空间来对这种上下文信息进行建模,以便出现在相似上下文中的词将在这个新空间中附近。

word2vec中的嵌入方法自推出以来变得非常流行,嵌入现在是许多NLP任务中的标准组件。主要应用是使用“迁移学习”,首先使用大量未标记文本源(来自网络爬行、维基百科转储等)学习嵌入,然后将嵌入用作监督任务中的模型组件(例如,循环神经网络),该模型接受预训练的嵌入作为输入。已经证明迁移学习可以像处理图像数据一样工作,6为在许多NLP应用中利用迁移学习开辟了许多可能性。在医学数据的背景下,最近的例子表明,迁移学习对于成像任务非常有效,7,8这在很大程度上是由于在ImageNet数据库上预先训练的预训练计算机视觉模型9-11的可用性。

机器学习在医疗保健领域有着巨大的潜力;13然而,由于隐私问题,许多研究人员无法获得大量非成像医疗保健数据。与机器学习和自然语言处理的其他领域相比,这导致医疗保健和医学应用缺乏预先训练的资源。此外,由于医疗保健数据有多种形式,流行的词嵌入算法,如word2vec和GloVe,14最初是为文本开发的,不能直接应用于多种医疗保健数据。

这项工作的主要目标是通过结合极其大量的多模态医疗数据来源,为医学概念构建一套全面的嵌入,我们称之为cui2vec。

2. word2vec和GloVe概述

2.1. word2vec

引入word2vec5的原始工作实际上包含了一系列模型和算法,包括连续词袋(CBOW)模型和skip-gram模型。CBOW模型在给定窗口内定义的上下文的情况下预测目标词的概率,而skip-gram模型在给定目标词的情况下预测周围上下文。具体来说,skip-gram模型5寻求构建目标词w和上下文词c的向量表示,使得在源文本中频繁出现的<w, c>对的条件概率p(w|c)高。对于本文的其余部分,我们将分别使用w和c来指代目标词和上下文词,并使用and,\vec{c}$来指代1Xd的即时目标词和上下文嵌入。在skip-gram模型下,给定目标词$w$,在固定窗口内观察上下文词c的条件概率与其对应向量的点积成正比,并且由下面的softmax函数给出:

分母中的总和超过源语料库中所有唯一的上下文词。请注意,这个总和通常是棘手的,需要近似值来有效估计。因此,向量编码关于单词$u$出现在随机选择的文本中的可能性的信息,给定单词c已经被观察到。

word2vec的一个关键特性是能够在大型语料库上进行有效训练的技术。例如,负采样通过随机采样当前窗口中没有出现的$k$上下文单词来近似分母中的总和。这允许算法以有限内存要求和并行方式运行,从而提高训练速度并支持在非常大的语料库上进行训练。15事实上,Mikolov等人的关键点是,在各种基准上训练一个简单且可扩展的模型比复杂的非线性模型具有更好的准确性。

2.2. GloVe

单词表示的全局向量(GloVe)14是在Mikolov等人之后不久引入的。并且在几个重要方面有所不同。GloVe通过将加权对数线性模型拟合到共现统计数据来生成单词嵌入。给定一个目标词$w$和一个上下文词c同时出现$y$次,GloVe解决了以下最小二乘最佳化问题:$\underset{\vec{w},\vec{c},b_{w},b_{c}}{armin}f(y)\old(\vec{w}\vec{c}^{T}+b_{w}+b_{c}-log(y)\right)^{2}$其中$b_{w},b_{c}$分别是单词和上下文偏差,$f(y)$是一个加权函数,由以下参数给出:$f(y)=\lew\{\开始{数组}{cl}\lev(\frac y}{max}{y_{max}}\right)^{\alpha}&y<y_{max}\\1&y\geqy_{max}\end{数组}\right。$单词i的最终嵌入是该单词的结果单词和上下文向量的总和。这对所有$w, c$对重复,并使用随机梯度下降迭代训练。最昂贵的步骤是构建术语-术语共现矩阵,这是开始训练之前所必需的

2.3.嵌入作为修改的共现矩阵的分解

Levy和Goldberg之前的工作16表明,通常被认为是最先进的带有负采样的skip-gram模型(SGNS)17隐式分解了单词-上下文对的移位、正的逐点互信息(PMI)矩阵。逐点互信息(PMI)是单词和上下文单词之间关联的度量,可以通过语料库中单词-上下文对的计数来计算,由:$PMI(w, c)=\frac{p(w,c)}{p(w)*p(c)}$其中$p(w,c)$是单词w和上下文单词c在同一上下文窗口中出现的次数除以单词-上下文对的总数,而$p(w),p(c)$分别是$w$和c的单例频率。如果我们将PMI移动一些常数$log(k)$(其中$k$是原始word2vec论文中的负样本数5)并将所有负条目设置为0,并考虑得到的移动正逐点互信息矩阵(SPPMI),我们恢复了word2vec的SGNS模型的隐含目标。元素明智的SSPMI变换如下所示:$SPPMI(w, c)=max(PMI(w,c)-log(k),0)(5)$

因此,可以使用任何因式分解方法(例如奇异值分解(SVD))简单地对SSPMI矩阵进行因式分解,以获得单词的低维嵌入。这一发现至关重要,因为它将word2vec与基于共现统计的传统基于计数的方法联系起来。

GloVe最初是根据显式矩阵分解提出的,并提供了一种算法来执行这种分解(随机梯度下降以最小化平方误差之和)。因此,在这个统一的框架下,word2vec和GloVe的起点都是构建一个术语-术语共现矩阵。这种洞察力使我们能够在可能包含非文本数据源的问题上使用这些算法,因为我们可以使用任何可以计算这种共现的数据来实现共现矩阵。然后我们只需使用GloVe算法直接分解这个矩阵,或者使用SVD分解SSMPI矩阵来创建word2vec样式嵌入

2.4. cui2vec概述

医学数据本质上是多模态的,有多种形式,包括自由文本(在医学出版物和临床笔记中)和电子医疗记录(EHR)中诊断和程序的计费代码。cui2vec系统的工作原理是首先使用统一医学语言系统(UMLS)的同义词库将所有这些概念映射到一个公共概念唯一标识符空间(CUI)中。接下来,构建一个CUI-CUI共现矩阵,但共现的计算方式取决于源数据。对于非临床文本数据(例如,期刊文章),首先对其进行预处理(参见第3节)并分块为10个单词的固定长度窗口,共现被视为CUI-CUI对在同一窗口中的外观。对于索赔数据,ICD-9代码被映射到UMLS CUI,并将共现计算为在任何30天内出现两个CUI的患者数量。最后,对于临床记录,我们将共现计算为两个CUI以与以前的工作类似的方式出现在同一个30天“垃圾箱”中,18但请参阅原始出版物19以获得精确定义。一旦创建了主共现矩阵,它可以直接被GloVe分解或转换为SSPMI矩阵,并使用SVD分解以创建word2vec嵌入。

相关工作

机器学习和自然语言处理在临床应用方面有着悠久的历史,但出于本文的目的,我们将我们的评论局限于直接寻求创建临床概念的低维表示的论文,本着word2vec和GloVe的精神。第一次使用word2vec进行医学概念的研究是在2013年最初的word2vec论文发表后不久进行的,并报告了混合的结果,尽管De Vine等人21报告了人类评估概念相似性和相关性方面的最先进性能。最近,基于变压器的模型23-26在许多NLP任务中展示了最先进的性能。阿尔森泽等人26使用临床笔记来微调BERT。

Liu等27使用在维基百科和ICU笔记上联合训练的嵌入来执行临床笔记中常见的缩写的自动扩展。最后,Choi等Al.18进行了与本研究最具可比性的工作,该研究使用类似的数据源为UMLS CUI创建嵌入。Choi等人使用了400万患者的索赔数据库和一种新的方法论来创建一组临床嵌入以及Finlayson等人的笔记。19

2.5.这项工作的贡献

这里介绍的工作在几个重要方面与现有工作不同。首先,我们可以访问一个更大的6000万患者索赔数据库和一组更大的170万全文文章(不限于摘要),这应该能够实现更大和更高质量的嵌入集。其次,Choi等人生成的嵌入对于每个数据源都是不同的,而我们将所有概念映射到一个共同的共现空间中,以生成一组可用于不同类型临床数据的任务的嵌入。这种共现空间映射还允许我们使用使用基于转换器的模型难以集成的多模态数据。我们还提出了一个新的和扩展的评估方法论,它既更容易解释,而且我们相信,它是一种更自然的方法来对临床嵌入集进行基准测试,这些嵌入集将在未来的医学嵌入工作中普遍使用。最后,我们相信我们的方法结合了许多关于调整参数的最佳实践(见第3节),这也提高了性能。总之,这项工作为108,477个医学概念提供了一组新的嵌入,这是有史以来最大的此类集合,这些嵌入来自三个临床数据来源,在几乎所有基准测试上都等于或超过了现有的最先进水平。

3 .材料和方法

3.1。数据源

这些数据来自以下三个独立的来源:一个来自美国全国健康保险计划的无法识别的索赔数据库,该计划在2008-2015年期间有6000万名成员,一个来自斯坦福大学2000万笔记的概念共现数据集,19以及一个从PubMed Central获得的170万全文期刊文章的开放获取集合。出于这项研究的目的,保险公司要求不透露姓名。

3.2.文本规范化和预处理

对于文本数据,首先根据一些标准词汇或同义词库进行规范化是很重要的。词嵌入对标记进行操作,许多医学概念可以跨越多个标记。为了将多词概念折叠成一个标记,我们使用了叙事信息线性提取(NILE)28系统,该系统根据系统化医学命名法-临床术语(SNOMED-CT)29参考同义词库进行了标准化。然后将SNOMED-CT ID映射到UMLS.30中的概念唯一标识符(CUI)。该管道将所有字母转换为小写,删除标点符号,并用它们的CUI表示替换所有医学概念(例如,C0006287中的“支气管肺发育不良”和C0678226中的“由此产生”)。例如,我们的管道将转换以下句子(取自之前的工作31):支气管肺发育不良于1967年首次由Northway及其同事描述为早产儿因氧气和机械通气导致的肺部损伤。

进入以下规范化表示:

C0006287于1967年首次被northway及其同事描述为C0021294 C0678226 C0030054和C0199470中的C0024109 C3263722

基准和评估

基准测试策略利用了先前发表的医学概念之间的“已知”关系。我们通过计算一对概念对应向量的余弦相似性来比较它们的嵌入有多相似,并使用这种相似性来评估这两个概念是否相关。词向量1$\vec{w}_{2}$之间的余弦相似性由:$cos\old(\vec{w_{1}},\vec{w_{2}}\right)=\frac{w_{1}w_{2}^{T}}{\并行w_{1}\并行_{2}\并行w_{2}\并行_{2}}$,如果向量相同,则为1,如果向量正交,则为0。一种方法是通过均值精度或折损累计增益等排名指标将已知关系的余弦相似性与所有其他关系进行排名。然而,这种策略有几个限制。主要问题是,许多概念可能正确地排名高于查询概念,但它们可能不是已知关系数据库的一部分。因此,排名指标可能会错误地惩罚一组嵌入,仅仅因为一些真实的关系排名更高,但没有包含在“已知”关系列表中。

【假设我们有一个医学概念嵌入的任务,我们想知道 “感冒” 这个概念与其他概念的相关性。我们使用余弦相似性来计算 “感冒” 与其他概念的向量之间的相似程度。

 

按照上述提到的排名策略,我们会将 “感冒” 与其他概念的余弦相似性进行排名。例如,通过均值精度或折损累计增益等指标来确定排名。

 

然而,这种方法存在问题。比如说,有一个概念 “咳嗽”,它与 “感冒” 在实际医学中是有密切关系的,但它可能没有被包含在我们事先确定的已知关系数据库中。当我们进行排名时,“咳嗽” 这个概念可能会因为与 “感冒” 的余弦相似性较高而排名较高,但由于它不在已知关系数据库里,所以排名指标可能会认为这种情况是不正常的,从而错误地惩罚了与 “感冒” 相关的这组嵌入。

 

这就是为什么这种排名策略存在限制,因为它可能无法准确地反映出实际存在的医学概念之间的关系。】

相反,我们提出了一种基于统计幂概念的新方法。对于已知的关系对$(x, y)$,我们首先通过绘制10,000个引导带样本$(x^{*},y^{*})$ 其中$x^{*}$和$y^{*}$分别与x和$y$属于同一类别来计算分数的零分布。例如,在评估“早产儿”(这是一种疾病或综合征)是否与“支气管肺发育不良”(也是一种疾病或综合征)相关时,我们会从“疾病或综合征”类中随机抽取两个概念并计算它们的余弦相似度,然后重复此过程10,000次以创建引导带零分布。然后,我们比较观察到的x和y之间的分数,如果它大于引导分布的第95个百分位数,则宣布它具有统计学意义(例如,单边测试为$p<0.05$)。将此过程应用于已知关系的集合,我们计算拒绝无关系的统计能力,这是我们在所有实验中报告的数量,除了与人类相似性评估的比较。这个指标还有一个额外的好处,即易于解释,因为它是在允许5%误判率的情况下对发现的分数真实关系的估计。

这段话的意思是这样的:

我们提出了一种新方法,这个方法基于统计幂概念。假如我们有一对已知关系的概念,比如 “早产儿” 和 “支气管肺发育不良”,它们都属于 “疾病或综合征” 类别。我们先进行这样一个操作,从 “疾病或综合征” 这个类别里随机抽取两个概念,比如第一次抽到 “感冒” 和 “肺炎”,然后计算它们的余弦相似度,接着重复这样的随机抽取和计算一万次,这样就得到了一个零分布,就好像有了一个范围参考。然后呢,我们再看看我们原本要研究的 “早产儿” 和 “支气管肺发育不良” 之间的分数,如果这个分数比刚才那一万次随机得到的分数分布中的第 95 个百分位数还大,那就说明它具有统计学意义,就好像做了一个单边测试,概率小于 0.05 的时候我们就认为有意义。把这个过程用到很多已知关系的集合上,我们就能算出拒绝没有关系的统计能力,这个能力就是我们在实验中要报告的一个量,除了和人类相似性评估比较的时候不用。这个指标的好处是容易理解,因为它在允许有 5% 错误判断的情况下,能估计出那些被发现的分数是不是真的有关系。

 

举个例子,就好比我们要判断两个学生的数学成绩是不是真的有很大差异。我们先随机找一万对学生的数学成绩,算出他们成绩的差异分布。然后看我们要研究的那两个学生的成绩差异,如果比那一万对随机学生成绩差异的第 95 个百分位数还大,我们就说这两个学生的成绩差异有统计学意义,也就是他们很可能真的有很大的成绩差异。

  1. 第 95 个百分位数

    • 假如有一组数据,将这些数据从小到大排列。第 95 个百分位数就是在这组数据中,有 95% 的数据小于或等于这个值。
    • 例如,有 100 个学生的考试成绩,把成绩从小到大排列后,第 95 个百分位数对应的成绩就是在这 100 个成绩中,有 95 个学生的成绩小于或等于这个值,只有 5 个学生的成绩高于这个值。
  2. 单边测试

    • 在统计学中,单边测试是一种假设检验的方法。它主要是检验某个参数是否大于(或小于)某个特定值,而不是检验是否不等于某个值。
    • 比如,我们想检验一种新药物是否比旧药物更有效。单边测试就会假设新药物的效果不比旧药物差(这是原假设),然后去收集数据来判断新药物的效果是否显著大于旧药物(这是备择假设)。如果在给定的显著性水平下(比如上面提到的),数据表明新药物的效果确实显著大于旧药物,那么我们就拒绝原假设,接受新药物更有效的备择假设。

以下是本研究中使用的基准的列表,以及每个基准的具体细节。我们提供了每个类别中已知关系的示例,以帮助读者理解每个基准捕获的关系类型。

进入以下规范化表示:

C0006287于1967年首次被northway及其同事描述为C0021294 C0678226 C0030054和C0199470中的C0024109 C3263722

基准和评估

基准测试策略利用了先前发表的医学概念之间的“已知”关系。我们通过计算一对概念对应向量的余弦相似性来比较它们的嵌入有多相似,并使用这种相似性来评估这两个概念是否相关。词向量1$\vec{w}_{2}$之间的余弦相似性由:$cos\old(\vec{w_{1}},\vec{w_{2}}\right)=\frac{w_{1}w_{2}^{T}}{\并行w_{1}\并行_{2}\并行w_{2}\并行_{2}}$,如果向量相同,则为1,如果向量正交,则为0。一种方法是通过均值精度或折损累计增益等排名指标将已知关系的余弦相似性与所有其他关系进行排名。然而,这种策略有几个限制。主要问题是,许多概念可能正确地排名高于查询概念,但它们可能不是已知关系数据库的一部分。因此,排名指标可能会错误地惩罚一组嵌入,仅仅因为一些真实的关系排名更高,但没有包含在“已知”关系列表中。

相反,我们提出了一种基于统计幂概念的新方法。对于已知的关系对$(x, y)$,我们首先通过绘制10,000个引导带样本$(x^{*},y^{*})$ 其中$x^{*}$和$y^{*}$分别与x和$y$属于同一类别来计算分数的零分布。例如,在评估“早产儿”(这是一种疾病或综合征)是否与“支气管肺发育不良”(也是一种疾病或综合征)相关时,我们会从“疾病或综合征”类中随机抽取两个概念并计算它们的余弦相似度,然后重复此过程10,000次以创建引导带零分布。然后,我们比较观察到的x和y之间的分数,如果它大于引导分布的第95个百分位数,则宣布它具有统计学意义(例如,单边测试为$p<0.05$)。将此过程应用于已知关系的集合,我们计算拒绝无关系的统计能力,这是我们在所有实验中报告的数量,除了与人类相似性评估的比较。这个指标还有一个额外的好处,即易于解释,因为它是在允许5%误判率的情况下对发现的分数真实关系的估计。

以下是本研究中使用的基准的列表,以及每个基准的具体细节。我们提供了每个类别中已知关系的示例,以帮助读者理解每个基准捕获的关系类型

合并症:合并症是一种经常伴随原发性诊断的疾病或病症。我们针对艾迪生病、自闭症、心脏病、肥胖症、精神分裂症、1 型糖尿病和 2 型糖尿病创建了一组精选的合并症。这些合并症摘自梅奥诊所的疾病和病症百科全书 32、维基百科和默克手册 33。

– 例如:原发病:早产儿(CUI:C0021294)合并症:支气管肺发育不良(CUI:C0006287)

因果关系:UMLS 包含一个表 (MRREL),其中包含已知导致特定结果的实体。我们从 MRREL 表中提取了已知关系因果关系、致病因素和诱导关系的实例。我们通过计算与原因具有相同语义类型的随机抽样概念和与结果具有相同语义类型的随机抽样概念的相似性来计算这些关系的零分布。

– 例如:原因:水母刺伤(CUI:C0241955)结果:伊鲁坎吉综合征(CUI:C1655386)

• 国家药物档案参考术语 (NDF-RT):NDF-RT 由美国退伍军人事务部退伍军人健康管理局创建。我们使用可能预防和可能治疗的关系提取药物与疾病的关系。我们使用随机药物-疾病对的引导分数评估了检测可能治疗和可能预防关系的能力。

– 例如:药物:阿昔单抗(CUI:C0288672)可能治疗:心肌缺血(CUI:C0151744)

• UMLS 语义类型:语义类型是关于概念属于哪个类别的元信息,这些类别按层次结构排列。我们从 UMLS 提供的 MRSTY 文件中提取了每个概念可用的最具体的语义类型。为了评估检测两个概念是否属于同一语义类型的能力,我们从不同的语义类型类别中随机抽取了概念,并计算了分数的边际零分布。

UMLS 语义类型解释

可以把 UMLS 语义类型想象成给各种物品分类的标签。比如在一个超市里,商品有不同的类别,有的是食品类,食品类里又可以分为水果、蔬菜、零食等更具体的类别。UMLS 中的概念就像超市里的商品,语义类型就是这些商品的分类标签,而且这些标签是按照层次结构排列的,就像水果、蔬菜都属于食品这个大类别一样。

 

评估检测同一语义类型的方法解释

假设我们要评估一个系统判断两个概念是否属于同一语义类型的能力。我们就像从不同的盒子(不同的语义类型类别)里随机摸出两个物品(概念)。然后看看这两个物品是不是属于同一类(同一语义类型)。每次摸完记录下一个分数(比如可以是一个表示相似程度的数值)。重复这个随机摸取和记录分数的过程很多次,这样得到的一堆分数分布就是分数的边际零分布。

 

举例

假设 UMLS 中有几个语义类型类别,比如 “动物类”“植物类”“矿物类”。我们从 “动物类” 和 “植物类” 中分别随机抽取一个概念,比如 “猫” 和 “苹果树”,计算它们的某个相似性分数。然后再从 “植物类” 和 “矿物类” 中随机抽取两个概念,比如 “玫瑰花” 和 “铁矿石”,也计算相似性分数。重复这样的过程 1000 次,得到的这 1000 个相似性分数的分布就是边际零分布。

 

什么是边际零分布

边际零分布是通过随机从不同的类别中抽取概念并计算某个分数得到的分布。它代表了在两个概念完全随机抽取且不属于同一语义类型(或者没有特定关系)的情况下,这个分数的分布情况。这个分布可以作为一个参考,用来判断当我们实际检测两个概念时,如果它们的分数在这个分布中的位置很特殊(比如高于某个百分位数),就可以认为这两个概念可能属于同一语义类型或者有特定关系。

– 示例:概念:甲硝唑(CUI:C0025872,语义类型:药理物质)概念:氯法齐明(CUI:C0008996,语义类型:药理物质)

• 概念相似度的人工评估:先前的研究 34 评估了住院医生如何看待 566 对 UMLS 概念之间的关系。每个概念对都有一个平均测量值,即住院医生判断两个概念的相似度或相关性。我们报告了此基准的嵌入中人工评估分数与余弦相似度之间的 Spearman 相关性。

3.3. 实施细节

word2vec 和 GloVe 都有许多超参数,它们会对性能产生巨大影响。在 word2vec 中,负样本数量、上下文窗口大小、上下文单例频率的平滑量以及是否使用上下文向量来构建最终嵌入等参数都是从业者必须选择的选项。Levy 和 Goldberg35 对这些超参数对 word2vec 性能的影响进行了一系列系统的实验,我们在本研究中遵循他们的建议。具体来说,我们对所有基于奇异值分解 (SVD) 的 word2vec 实验使用了以下设置:

• 通过常数指数项平滑单频。在 (4) 中,我们不使用 $p(w)$,而是使用 $p(w)^{\alpha}$,其中 $\alpha$ 设置为 0.75。在 Levy 和 Goldberg 中,他们建议仅平滑上下文单例频率,但我们的共现矩阵是对称的,因此当它是“单词”和“上下文”时,单例频率没有差异。

• 使用 R 编程语言中 irlba 包36,37 的增强隐式重启 Lanczos 双对角化算法对稀疏 SPPMI 矩阵进行 SVD 分解。

为了与 PubMed 文章中的传统 word2vec 算法进行比较,我们使用了 gensim python 包中提供的实现。38 我们使用了 skip-gram 算法、分层 softmax、10 个负样本和 10 的窗口大小。我们使用了 R 包 text2vec 中提供的 GloVe 实现。39 我们使用目标词和上下文向量的总和作为最终嵌入,并设置 $y_{max }=100$ 。作为基准,我们对原始共现矩阵执行了 SVD,并将这些结果报告为 $PCA$

4结果

4.1. 基准测试结果

我们在基准测试中比较了 GloVe、word2vec 和 $PCA$ 创建的嵌入,以确定哪种算法和嵌入维度在每个单独的数据集和组合数据上产生了最佳结果。这些结果显示在表 1 中。最佳配置是嵌入维度为 500 的 word2vec,因为它在几乎所有基准测试中都获得了最高性能。有趣的是,我们只看到嵌入维度对基于功率的基准测试产生了适度的影响(参见补充材料)。同样值得注意的是,我们可以与原始 word2vec 算法进行的最直接比较是使用 PubMed 文章。在这个数据集上,基于 SVD 的 word2vec 比原始算法更好,如表 1 中的第二行组所示。

使用组合数据的 500 维 word2vec 样式嵌入在所有后续实验中被称为 cui2vec 嵌入。

表 1:GloVe、PCA 和 word2vec 在嵌入维度为 500 时的比较。第 1-4 列报告检测已知关系的能力,第 5 列报告人类对嵌入的概念相似性和余弦相似性的评估之间的 Spearman 相关性。每个基准/数据集组合的最佳结果以粗体显示。索赔数据集仅包含诊断代码,不包含药物,因此未报告 NDFRT 基准的结果。

4.2 与先前结果的比较

总的来说,我们能够使用组合数据集估计 108,477 个独特概念的嵌入,这使得它成为迄今为止最大的医学概念嵌入集。图 1 显示了使用 UpSet 可视化方法在不同数据源中发现的 108,477 个概念的各种交集的可视化。

大多数概念仅出现在一个语料库中,但有 16,299 个(14%)出现在多个来源中。我们评估了通过 clinicalml github 存储库(https://github.com/clinicalml/embeddings)获得的先前发布的嵌入,以与我们的 cui2vec 嵌入进行比较。请注意,所有三个比较嵌入都来自不同的数据源,并且很少有共同的概念,因此我们被迫在 cui2vec 和每组嵌入之间进行成对比较。

第一个比较是针对 15,905 个概念的 300 维嵌入(其中12,568个与cui2vec相同)来自400万患者的索赔数据库。结果显示在表2中。我们观察到cui2vec在大多数任务中优于参考嵌入,在某些情况下大幅领先,尽管Choi等人的嵌入在人类评估基准中具有优势。接下来,我们比较了28,394个概念的300维嵌入,这些概念来自Finlayson等人19中作为Choi等人的一部分发表的同一组临床笔记。18总共有21,789个概念在cui2vec和这组嵌入之间具有共同点。这里cui2vec在大多数基准测试中再次表现更好,在某些情况下大幅领先。最后,我们将cui2vec与来自348,566篇PubMed摘要的59,266个概念的200维嵌入进行了比较,这些摘要首次发表在De Vine等人。42共有33,376个概念用于基准测试。在这个数据集上,我们观察到一个巨大的相对改进,cui2vec在所有基准测试中都表现得更好,如表2所示。

4.3.讨论

在这项研究中,我们使用极其庞大和多模态的医学数据源创建了迄今为止最全面的108,299个临床嵌入集。与之前的结果相比,cui2vec嵌入在许多情况下都达到了最先进的性能。尽管医疗保健数据比以往任何时候都多,但其中大部分要么是未标记的,要么是弱标记的,因此以无监督的方式提取有意义的结构的能力极其重要。另一个潜在的障碍是大多数医疗保健数据来源不容易共享,这限制了一些研究人员使用本地数据的小来源。我们希望通过提供我们的cui2vec嵌入来减少这两个障碍,这些嵌入是使用大型和全国性的医疗保健数据源创建的。我们相信这些嵌入对于各种面向临床的机器学习任务通常会很有用。

代码和数据的可用性

可以在github存储库中找到实现cui2vec系统的R包cui2vec。可以在此处找到嵌入的交互式浏览器。

亮点总结

期刊:Pacific Symposium on Biocomputing 2020 背景:词嵌入在自然语言处理中广泛应用,但医疗领域缺乏预训练资源。目标:使用多模态数据构建医学概念的嵌入(cui2vec)。

主要工作:将6000万成员的保险索赔数据库、2000万临床笔记集合和170万全文生物医学期刊文章结合起来,将概念嵌入到一个公共空间中,从而产生了有史以来最大的108,477个医学概念的嵌入集。为了评估我们的方法,我们提出了一个基于统计能力的新基准方法论,专门用于测试医学概念的嵌入。我们的方法称为cui2vec,在大多数情况下,相对于以前的方法,它获得了最先进的性能。

方法:

1.概念映射:首先使用统一医学语言系统(UMLS)的词库,将所有医学概念映射到统一的概念唯一标识符空间(CUI)。

2.构建共现矩阵:然后根据不同的数据来源构建 CUI - CUI 共现矩阵。对于非临床文本数据(如期刊文章),预处理后分成长度为 10 个单词的固定窗口,同一窗口中 CUI - CUI 对的出现计为一次共现;对于索赔数据,将 ICD - 9 代码映射到 UMLS CUIs,两个 CUIs 在 30 天内出现在同一患者中计为一次共现;对于临床笔记,两个 CUIs 在同一 30 天 “箱” 中出现计为一次共现。

3.嵌入生成:创建主共现矩阵后,可通过 GloVe 直接分解该矩阵,或将其转换为 SPPMI 矩阵并使用 SVD 进行分解,从而创建 word2vec 风格的嵌入。

优势

数据优势:使用了更大的索赔数据库(6000 万患者)和更多的全文文章(170 万篇),能产生更大、更高质量的嵌入。 嵌入统一:将所有概念映射到共同的共现空间,生成单一的嵌入集,可用于处理不同类型临床数据的任务,并且便于整合多模态数据。 评估方法创新:提出了基于统计功效的新评估方法,更具解释性,是未来医学嵌入工作通用的基准测试方法。

评估方法: 本文的评估方法基于统计功效,主要用于评估医学概念嵌入的性能。具体步骤如下: 基准测试策略:利用先前发布的医学概念之间的 “已知” 关系。通过计算概念对相应向量的余弦相似性,来比较嵌入的相似性,并以此评估两个概念是否相关。 统计功效评估:对于一个已知关系对 (x, y),首先通过抽取 10,000 个自助样本 (x*, y*) 来计算得分的零分布。例如,当评估 “早产婴儿”(疾病或综合征)与 “支气管肺发育不良” 的关系时,会从 “疾病或综合征” 类中随机采样两个概念,并计算它们的余弦相似性,重复此过程 10,000 次以创建自助零分布。 显著性判断:将 x 和 y 的观察得分与自助分布进行比较,如果大于 95% 分位数(即 p < 0.05,单侧检验),则声明其具有统计学意义。 统计功效计算:对所有已知关系应用此程序,计算拒绝无关系零假设的统计功效,即在容忍 5% 假阳性率的情况下发现真实关系的比例。 这种评估方法的优点是易于解释,能够更准确地评估嵌入在发现真实医学概念关系方面的能力,避免了传统排名指标可能出现的错误惩罚问题,因为传统排名指标可能会因为一些真实关系未包含在 “已知” 关系列表中而对嵌入进行错误评估。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值