医疗保健中的 NLP:实体链接

news2024/11/17 1:29:56

一、说明

        HEalthcare和生命科学行业产生大量数据,这些数据是由合规性和监管要求,记录保存,研究论文等驱动的。但随着数据量的增加,搜索用于研究目的的必要文件和文章以及数据结构成为一个更加复杂和耗时的过程。例如,如今,生物医学搜索引擎包含超过40万篇文章,这些文章代表了大量有用的医疗保健信息。但是手动处理如此大量的数据是一条无法通行的路径,而自然语言处理(NLP)等工具有助于从文本数据中提取信息。

        NLP 工具是 AI 的一个分支,包括语音识别、文本分析、翻译和其他与语言相关的目标等应用程序。NLP 提供了通过阅读和理解数据,然后将其转换为可理解的结构化数据,从半结构化/非结构化临床和新兴数据中提取有价值的见解的能力。NLP背后的想法是更好地将人类与计算机的处理能力联系起来,以增强护理并加快治疗的交付并加速研究。

        在自由文本中识别医学术语是NLP任务的第一步,因为自动索引生物医学文献并从临床笔记文本中提取患者的问题列表。在生物医学文献中可以找到许多医学术语:疾病名称(结核病,神经胶质瘤,糖尿病),症状(急性头痛,发烧,腹痛),治疗(化疗,药物治疗),诊断测试(活检,光学相干断层扫描,心电图),化学物质,解剖结构等。除了检测文本中的医学术语外,每个术语都应与医学编码标准相关联:疾病和相关健康问题的国际统计分类(ICD-11),统一医学语言系统(UMLS),当前程序术语(CPT)和许多其他术语。特别是,要成功利用生物医学记录中包含的大量知识,拥有自动索引技术至关重要。NLP 领域的一个概念称为实体链接,它有助于解决此任务。

二、用于概念检测的实体链接

在医疗保健领域,准确的实体链接对于正确理解生物医学背景至关重要。在处理生物医学概念时,人们可能会偶然发现许多问题:许多不同的实体可以有非常相似的提及,实体可以通过各种拼写形式在文本中提及,缩写形式的实体可能不会以独特的方式扩展。面对这些挑战,实体链接 (EL) 中的故障将导致对上下文信息的错误解释。在医疗保健领域,此类错误可能会导致医疗相关决策的风险。

EL在医疗保健领域的另一个特点是公开可用的生物医学EL数据集的可用性非常有限。至少,它使构建和训练 EL 模型的过程复杂化;假设推理数据量很大,这样的EL模型可能不够普遍。但是,在最坏的情况下,某些类别的生物医学实体可能没有在公开可用的数据集中注册,这导致为给定类别的实体手动构建此类训练集。

这就是为什么生物医学文本上的EL在许多方面与其他领域的文本不同。因此,解决这些具有挑战性的任务需要复杂的方法。

三、数据和方法

3.1 词汇表和符号

实体 — 命名的单词或短语(疾病、基因、药物等的名称)。通常,实体是从知识库中提取的。

知识库——实体字典;通常包括规范名称、定义、同义词等。

提及(实体) — 文本中实体的名称。此外,上下文(周围)信息可以被视为提及。

实体链接 — 将文本中对实体的提及映射到其在知识库中的标识。

3.2 模型概述

作为EL模型,我们考虑Siamese神经网络,它旨在学习实体提及和相应概念之间的相似性。

我们构建以下模型(参见图 1)。神经网络的两个分支相应地对应于提及输入和实体输入。每个分支将整个文本映射到密集的向量(从一侧提及上述实体和句子的文本,从另一侧引用知识库的实体级信息)。在训练过程中,模型学习增加从正确链接的对提及+实体中提取的向量之间的余弦相似性,并降低错误配对向量之间的余弦相似性。在推理阶段,每个输入提及都映射到向量空间中,并假定最近的实体向量是相应实体的向量。

暹罗神经网络

图1.暹罗神经网络

然而,这种方法有几个缺点,特别是对于生物医学数据。

3.3 生物医学EL中的问题

        在仅存在少数生物医学EL数据集的情况下,准备准确的训练数据集是一项重要任务。例如,考虑疾病概念链接任务,可以从以下数据集收集训练信息:

–NCBI疾病数据集。NCBI疾病语料库的公开发布包含6.9k种疾病提及,这些疾病被映射到0.8k独特的疾病概念(来自MeSH和OMIM本体)。NCBI疾病数据集的内部精度:<90%。

–MedMentions是生物医学论文的语料库,并提及UMLS实体。它包含 4392 个摘要和 34k 个唯一的 UMLS ID。该数据集不仅仅是一组疾病。MedMentions的内部精度为97.3%。通过保留22种UMLS类型,涵盖疾病和生物过程以及具有定义的实体,可以获得一组4805种UMLS类疾病实体。这些疾病几乎在所有摘要中都有标记,涵盖了15.4k独特疾病的8k提及。

–BC5CDR 语料库由 1.5k 篇 PubMed 文章组成,带有注释的化学物质、疾病和化学-疾病相互作用。通过去除化学物质并仅保留疾病,人们可以获得一组1.5k摘要,其中涵盖了3.1k次提及的疾病。这些提及可以映射到1k个独特的MeSH实体中。

        正如人们所看到的,收集的摘要总数可以达到7k,而其中的提及/实体数量分别约为30k/5k。这表明我们的训练数据因提及实体而高度多样化。此外,绝大多数训练样本包含冗余信息(摘要中的单词,与疾病没有任何共同之处)。

        但是所考虑的模型将单词的索引映射到嵌入中,并且使用具有一些有用信息的非常大的字典来学习这种映射可能不够充分和有效。可以通过以下方式解决此问题:

        -使用预先训练的嵌入(生物医学单词的训练嵌入,例如BioWordVec)-过滤字典并仅保留有用的信息(例如单词,这是提及短语的粒子,知识库中的单词)

使用第二种方法,可以将字典的大小压缩 10-100 倍,这将有利于训练和推理加速。

四、质量增强

        将带有提及的上下文信息放入模型的提及分支中可能会提高 EL 的质量。某些提及可能仅与提及短语正确链接,上下文可能在链接过程中发挥关键作用。有了这个,模型可以接受,期待提及,引用提及的句子。

        由于可以增加提及和相应上下文的开放可能性,因此可以开发这种方法以提高模型的泛化能力。例如,有一对“提及+摘要中的提及句子”和“来自知识库的实体”,可以:

        -创建负(非链接)对,使用句子中的随机单词而不是提及;
        -通过句子中的向前和/或向后单词扩展提及;
        -删除句子的随机部分而不提及部分。

4.1 培训程序

        由于任务是度量学习,因此必须训练模型以找到正确的“提及”-“实体”对之间的相似之处和不正确的对之间的相似之处。这样的模型不能只在正对上训练,因为它不会被训练来区分正确和不正确的链接。另一方面,我们不能为每次提及分配所有负实体,因为我们的数据集将通过幂律扩展提及次数,这对于相对较大的训练 EL 数据集来说可能具有挑战性。

因此,要训练EL模型,必须考虑一些采样过程,例如,三重损失,它适用于三重“提及”-“正确的实体”-“不正确的实体”。此外,可以使用特殊的批次内抽样:通过分配给定批次中批次随机实体中的每个提及,链接到其他提及,可以通过负样本扩展一批正对。

一些提升可以通过处理硬性负样本获得,即错误链接的实体,对于给定的提及,它们比相应的实体更相似。

4.2 质量指标

        通过将概念名称的真实和预测ID与指定的余弦相似性截止值进行比较,测量每个句子的EL质量。评估概念名称实体链接质量的方法是真阳性(TP),真阴性(TN),假阴性(FN)。例:

        -真正的疾病标签(上ID是真的):广泛的认知障碍D003072,如谵妄D003693或ADD010302,以前与高血药水平的SSRIs无关。
        -预测疾病(上 ID 为真,下 ID 为预测):广泛的认知障碍D003072D003072,如谵妄 D003693 或 ADD010302D0220454,以前与 SSRIsD001658 的高血水平无关。
-TP:认知障碍D003072D003072 — 当ID_true等于ID_pred时.
-FP:SSRIsD001658 , ADD010302D0220454 — 当ID_pred不等于ID_true时。
–FN:deliriumD003693 — 当ID_true不等于ID_pred时。

作为准确性指标,我们使用了几个指标来更好地衡量模型准确性:

–精度

–召回

–F1 分数

–马修斯相关系数

–ROC-AUC
–K 精度

五、结果和结论

        在生成的模型中,我们获得了验证数据集的下一个分数(见图 2)。

不同相似性阈值的不同质量指标图表

图2.不同相似性阈值的不同质量指标图表

我们发现,对一个概念的正确和不正确描述的分离质量最好,相似度约为0.8。也就是说,如果描述和概念向量之间的余弦相似性大于 0.8,那么这个对很可能是正确的。

对于 K 处的精度计算,验证样本中的每个概念都必须选择 K 最接近的描述,并记住正确描述的数量。如果模型是完美的,那么对于每个概念,最接近的(K = 1)描述都是正确的。我们在原始(非乘法)验证样本上进行了此实验。结果,我们得到了以下 K = 5 时的精度值(见表 1)。

前 5 个描述的精度为 K

表 1.前 5 个描述的精度为 K

K 的精度表明,对于验证样本中的概念,最接近的描述是正确的,准确率为 85%,正确的描述位于前 5 个最接近的概率为 97%。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/853104.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Hadoop理论及实践-HDFS四大组件关系(参考Hadoop官网)

NameNode&#xff08;名称节点&#xff0c;Master主节点&#xff09; NameNode主要功能 1、NameNode负责管理HDFS文件系统的元数据&#xff0c;包括文件&#xff0c;目录&#xff0c;块信息等。它将元数据Fsimage与Edit_log持久化到硬盘上。一个是Fsimage(镜像文件&#xff09…

c++遍历当前windows目录

前言 设置vs的高级属性为使用多字节字符集&#xff0c;不然会报char类型的实参与LPCWSTR类型的形参类型不兼容的错误 代码 #include <iostream> #include <cstring> #include <windows.h>void listFiles(const char* dir);int main() {using namespace st…

APT80DQ60BG-ASEMI快恢复二极管APT80DQ60BG

编辑&#xff1a;ll APT80DQ60BG-ASEMI快恢复二极管APT80DQ60BG 型号&#xff1a;APT80DQ60BG 品牌&#xff1a;ASEMI 芯片个数&#xff1a;双芯片 封装&#xff1a;TO-3P 恢复时间&#xff1a;≤80ns 工作温度&#xff1a;-55C~150C 浪涌电流&#xff1a;600A 正向电…

企业如何挑选适合自己需求的文件传输软件

随着科技的日新月异&#xff0c;文件传输已成为我们生活中不可或缺的一部分。无论是在工作场合还是在日常生活中&#xff0c;我们经常需要传输各种格式和大小的文件&#xff0c;如文档、照片、音频和视频等。然而&#xff0c;在选择适合自己需求的文件传输软件时&#xff0c;很…

postgresql|数据库|角色(用户)管理工作---授权和去权以及usage和select两种权限的区别

前言&#xff1a; postgresql做为一个比较复杂的关系型的重型数据库&#xff0c;不管是安装部署&#xff0c;还是后期的运行维护&#xff0c;都还是有比较多的细节问题需要引起关注。 例如&#xff0c;用户权限的合理分配&#xff0c;那么&#xff0c;什么是权限的合理分配呢…

使用js开发交互式地图应用

引言&#xff1a; 如今&#xff0c;地图应用已经成为我们日常生活中重要的一部分。无论是寻找路线、查看附近的商店还是探索未知的地区&#xff0c;地图应用都帮助我们轻松实现这些需求。在本文中&#xff0c;我们将学习使用js开发一个交互式地图应用&#xff0c;并加入代码示例…

小红书种草笔记怎么写标题更吸引人?

小红书作为我国领先的社交电商平台&#xff0c;种草笔记更是以其独特的形式和内容吸引了大量用户。如何写好一篇种草笔记的标题&#xff0c;成为了许多小红书用户关注的焦点。如何在小红书上写出一篇高质量的种草笔记&#xff0c;吸引万千粉丝关注&#xff1f;本文伯乐网络传媒…

nginx部署本地umi build项目

一、安装 brew install nginxBrew 安装可以参考网上教程 https://juejin.cn/post/6986190222241464350 安装后启动nginx服务查看是否成功 brew services start nginx启动报错 Error: undefined method launchd_service_path‘ for xxx 解决&#xff1a;更新brew brew updat…

基于vue-admin-template的动态路由的问题解决

基于vue-admin-template的动态路由的问题解决 1.问题一&#xff1a;页面无法显示 控制台报如下错误&#xff1a; 首先经过一番网上搜索&#xff0c;有说是webpack的原因&#xff0c;调试后发现不是&#xff0c;然后再排查后台返回的组件地址。 由于我的前端拼接组件地址的代…

使用威胁情报源可为大家提供更好的DDoS防护

DDoS&#xff08;分布式拒绝服务&#xff09;攻击已成为各种企业&#xff08;小到区域性小公司大到各种跨国公司&#xff09;的主要威胁&#xff0c;DDoS 攻击可能会对企业造成重大损害和破坏&#xff0c;比如对目标公司的声誉产生不利影响并导致收入损失。这也是为什么现在许多…

c++map和set剖析

文章参考文献&#xff1a;cplusplus 博主&#xff1a;拖拉机厂第一代码手 gitee:拖拉机厂第一代码手 c专栏&#xff1a;C 目录 &#x1f9d9;&#x1f3fc;‍♂set剖析&#x1f9da;&#x1f3fc;set简介&#x1f9da;&#x1f3fc;set模板参数列表&#x1f9da;&#x1f3fc;s…

大模型中常用的分词器Tokenizer学习总结记录与代码实现

最近大模型领域内如火如荼&#xff0c;很多企业、个人组织都陆续进入这个领域&#xff0c;笔者最近也是在接触大模型相关的技术领域&#xff0c;本文的主要目的就是想记录总结汇总大模型常用到的分词器算法&#xff0c;总结记录&#xff0c;学习备忘&#xff01;由于博主本身知…

巨人互动|Google海外户Google Analytics的优缺点是什么?

Google Analytics是一个由谷歌开发的网站分析工具&#xff0c;旨在帮助网站和移动应用程序运营者收集和分析数据&#xff0c;以更好地了解用户行为和改进业务。虽然Google Analytics具有许多优势&#xff0c;但也存在一些缺点。在本文中&#xff0c;我们将探讨Google Analytics…

cuda安装

1.cuda 11.8网址 CUDA Toolkit 11.8 Downloads | NVIDIA Developer 2.安装 sh cuda_11.8.0_520.61.05_linux.run 直接accept 移动上下到driver上&#xff0c;再enter一下取消driver的更新 更新一下.bashrc&#xff0c;cp -r ~/.bashrc xxx export PATH/usr/local/cuda-11.…

慢慢来,这次一定能搞懂Promise

1.Promise到底是个什么东西&#xff1f; 让我们使用万能console打印一下它的内容。 根据控制控制台的输出可见Promise 是一个构造函数&#xff0c;本身身上有 all、reject、resolve 这几个方法&#xff0c;原型&#xff08;prototype&#xff09;上有 then、catch 等方法。 根…

JVM源码剖析之Java命令行参数全解

最近&#xff0c;有一位网友询问关于Java命令行参数方面的问题&#xff0c;因为在Java中参数有很多种&#xff0c;有不少的读者一直没弄明白&#xff0c;所以特意写下此篇文章。 此篇文章分2大块&#xff0c;第一块是不同参数的解释&#xff0c;第2块就是JVM源码论证&#xff…

理解 Python 的 for 循环

前言 嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 在本篇博客中&#xff0c;我们将讨论 Python 中 for 循环的原理。 我们将从一组基本例子和它的语法开始&#xff0c;还将讨论与 for 循环关联的 else 代码块的用处。 然后我们将介绍迭代对象、迭代器和迭代器协议&…

低代码平台——减少开发bug,解放程序员

目录 一、前言 二、低代码提供了哪些功能 三、低代码对程序员的好处 四、小结 一、前言 在计算机语言的世界里&#xff0c;一直存在着一个千奇百怪的生物——bug。bug产生的本质是因为写代码&#xff0c;于是一种真理就诞生了。真理如下&#xff1a;只要写代码&#xff0c;就会…

【多维定向滤波器组和表面波】表面变换:用于高效表示多维 s 的多分辨率变换(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

信创麒麟操作系统卸载docker,并分别用在线、yum、rpm三种方式安装信创的docker

备注&#xff1a;操作前建议对机器打快照备份&#xff0c;或者备份好数据&#xff0c;如未使用&#xff0c;第一次部署的情况可直接操作 一、卸载DataEase自带的docker # 停止服务 service dataease stop# 删除 docker 可执行文件 rm -f /usr/bin/containerd-shim-runc-v2 r…