没有合适的资源?快使用搜索试试~ 我知道了~
软件影响13(2022)100373原始软件出版物大规模精确的临床和生物医学命名实体识别VeyselKocaman,David TalbyJohn Snow Labs Inc.,16192 Coastal Highway,刘易斯,DE,19958,美国自动清洁装置保留字:火花自然语言处理命名实体识别医学文本生物医学净入学率A B标准我们介绍了一种敏捷的生产级临床和生物医学命名实体识别(NER)算法,该算法基于Apache Spark之上构建的修改后的BiLSTM-CNN-Char DL架构。我们的NER实现在8个著名的生物医学NER基准中的7个和3个临床概念提取挑战上建立了新的最先进的准确性:2010年i2 b2/VA临床概念提取,2014年n2 c2去识别和2018年n2 c2药物提取。此外,使用此实现训练的临床NER模型的准确性优于商业实体提取解决方案AWS Medical Comprehend和GoogleCloud HealthcareAPI大幅提高(分别为8.9%和6.7%),而不使用内存密集型语言模型。代码元数据当前代码版本v3.4.4用于此代码版本的代码/存储库的永久链接https://github.com/SoftwareImpacts/SIMPAC-2022-75可再生胶囊的永久链接https://codeocean.com/capsule/1573505/tree/v1法律代码许可证Apache-2.0许可证代码版本控制系统使用git,maven软件代码语言、工具和服务使用scala、python、java、R编译要求,操作环境依赖jdk 8,spark如果可用,链接到开发人员文档/手册https://nlp.johnsnowlabs.com/api/问题支持电子邮件info@johnsnowlabs.com1. 背景电子健康记录(EHR)是临床医生跟踪患者护理的主要信息来源大型医疗机构的EHR单是一个医院化通常会产生大约150,000条数据。从这些数据中获得的潜在好处是巨大的。总的来说,这种规模的EHR代表了20万年的医生智慧和1亿年的患者结果数据,涵盖了大量罕见疾病和疾病。这些记录包括给药原因、患者既往疾病和既往治疗结果等信息。据估计,非结构化数据占当前可用医疗保健数据[2]。考虑到美国医生在一个典型的工作日中花费近6个小时在EHR中记录的统计数据,EHR是生物医学研究中经验数据的最大来源,解锁这些信息并将其用于下游分析可以显着推进生物医学和临床研究。EHR的广泛采用和患者数字化信息源的日益丰富为发现先前未识别的关联打开了新的大门,并通过最先进的机器学习(ML)算法和新的统计方法加速了知识发现。由于从非结构化文本数据中提取信息的固有障碍以及医疗保健领域中规定的高精确度,手动数据抽象在该行业中已经普遍存在。本文中的代码(和数据)已由Code Ocean认证为可复制:(https://codeocean.com/)。更多关于生殖器的信息徽章倡议可在https://www.elsevier.com/physical-sciences-and-engineering/computer-science/journals上查阅。*通讯作者。电子邮件地址:veysel@johnsnowlabs.com(V. Kocaman),david@johnsnowlabs.com(D. Talby)。https://doi.org/10.1016/j.simpa.2022.100373接收于2022年6月21日;接受于2022年7月11日2665-9638/©2022作者。由Elsevier B.V.出版。这是一篇开放获取的文章,使用CC BY许可证(http://creativecommons.org/licenses/by/4.0/)。可在ScienceDirect上获得目录列表软件影响杂志 首页:www.journals.elsevier.com/software-impacts诉Kocaman和D.Talby软件影响13(2022)1003732据估计,非结构化数据占当前可用医疗数据的80%以上[2]。然而,从EHR中自动提取共同趋势或其他见解需要时间密集的人工审查,并且所提取的数据可以用于临床研究、准确的临床建模或其他管理任务。输入这些系统的信息可以在结构化字段中找到,其值以电子方式输入(例如实验室测试订单或结果)[3],但这些记录中的大多数时间信息都是非结构化的,因此很大程度上无法进行统计分析[4]。由于手动抽象是一个昂贵、耗时且容易出错的过程,因此人们越来越需要自然语言处理(NLP)应用程序来自动化临床抽象过程,并通过快速、可扩展和安全的数据管道提供EHR数据使用智能系统从 EHR中提取有价值的信 息始于命名实体识别(NER),这是常见NLP任务(如问答,主题建模,信息检索等)的关键构建块[5]。在医疗领域,NER通过给出临床笔记的第一个有意义的块,然后将它们作为后续下游任务的输入,例如临床断言状态[6],临床实体解析器[7]和敏感数据的去识别[8],发挥着最关键的作用。然而,由于命名实体的复杂正交结构,临床和药物实体的分割被认为是生物医学NER系统中的一项艰巨任务[9]。ML方法将临床NER任务制定为序列标记问题,其旨在为给定的输入序列(来自临床文本的单个单词)找到最佳标签序列[10]。许多排名靠前的NER系统应用了条件随机场(CRF)模型[11],这是传统ML算法中使用最广泛的解决方案之一。典型的最先进的临床NER系统通常利用来自不同语言水平的特征,包括拼写信息(例如,字母的大写、前缀和后缀),句法信息(例如,词性(POS)标签)、词n元语法、词嵌入,以及语义信息(例如,UMLS概念唯一标识符(Unique Identifier)[10]。 这些特征通常用于基于LSTM [12]的神经网络框架[13在过去的一年里,预训练大型神经语言模型和丰富的上下文嵌入,如BERT [16]和ELMO [17],也导致了NER系统和BERT模型的许多临床变体的令人印象深刻的收益,如BioBert [18],ClinicalBert [19],Blue-Bert [20],SciBert [21]和PubmedBert [22]已被精心制作,以解决具有最先进结果的生物医学和临床NER任务。然而,由于这些方法在训练和推理期间都需要大量的计算资源,因此在与经典预训练嵌入(例如Glove [23])相同的有限计算资源下,将它们用于生产通常是不切实际的。最近的一项研究[24]经验表明,经典的预训练嵌入可以匹配行业规模数据上的上下文嵌入,并且通常在基准任务上的准确率(绝对)在5%到10%尽管人们对NER系统的兴趣越来越大,而且这些突破性的进步也越来越多,但易于使用的生产就绪模型和工具却很少。这是临床NLP预防的主要障碍-用户可以将最新的算法应用到他们的数据管道中,并快速应用它们。另一方面,专门用于处理生物医学和临床文本的NLP工具包,如MetaMap [25]和cTAKES [26]通常不使用新的研究创新,如单词表示或神经网络,因此产生较少在不影响准确性的情况下利用计算集群,也不支持Apache Spark等内存中分布式数据处理解决方案。1在这项研究中,我们通过实验表明,Spark NLP库的当前NER模块[29]在流行的生物医学基准数据集和临床概念提取挑战(如2010年i2b2/VA挑战[6],2014年n2 c2去识别挑战[30]和2018年n2 c2药物提取挑战[31])上取得了最新的最先进的结果,并超过了商业实体提取解决方案,AWS Medical Comprehend2和Google Cloud Healthcare API3 大幅提高(分别为8.9%和6.7%)-不使用像BERT这样的内存密集型上下文嵌入。使用众所周知的BiLSTM-CNN-Char NER架构的修改版本[14]到Apache Spark环境中,这个NER模块已经可以扩展到其他口语语言,无需代码更改,并且可以在Spark集群中扩展。关于NER模型的示例代码可以在官方github仓库中找到4本文的具体创新贡献如下:• 提供第一个生产级、可扩展的NER实现,易于在任何数据集上训练,无需修改架构。• 提供最先进的NER模型,在生物医学和临床NER基准数据集上获得最高分数,并提供AWS Medical Comprehend和Google CloudHealthcare API等优秀的商业实体提取解决方案。• 解释Spark NLP中的NER模型实现,Spark NLP是唯一一个可以在Spark集群中扩展并支持多种流行编程语言(Python,R,Scala和Java)的NLP库。2. 执行Spark NLP中NER模型的深度神经网络架构是BiLSTM-CNN-Char框架,这是Chiu等人提出的架构的略微修改版本。它是一种神经网络架构,使用混合双向LSTM和卷积神经网络(CNN)架构自动检测单词和字符级特征,无需大多数特征工程步骤。在原始框架中,CNN从字符级特征中提取固定长度的特征向量。对于每个字,这些向量被连接并馈送到BLSTM网络,然后到输出层。他们使用了一个堆叠的双向递归神经网络,该网络具有长短期记忆单元,将单词特征转换为命名实体标签分数。每个单词的提取特征被馈送到前向LSTM网络和后向LSTM网络中。每个网络在每个时间步的输出由线性层和log-softmax层解码为每个标签类别的对数概率。然后将这两个向量简单地相加以产生最终输出。总之,50维预训练的单词嵌入用于单词特征,25维字符嵌入用于字符特征,大写特征(allCaps,upperInitial,mixedCaps,noinfo)用于大小写特征。他们还利用词汇作为外部知识的一种形式,如[32]所提出的。我们以多种方式修改了这个架构尽管[33]通过强大的词汇特征报告了更好的结果,但在试验了不同的参数和组件后,我们决定删除词汇特征以降低复杂性,并依赖于预训练的生物医学嵌入,套管特征和字符特征通过CNN。作为句子的代表,准确的结果[27,28]。今年,两个新的图书馆,Stanza [27]和SciSpacy [28]走上了舞台,找到了解决上述问题的方法,并发布了新的基于Python的软件库。这两个库都提供了开箱即用的临床和生物医学预训练NER模型,利用了上述最先进的深度学习框架。然而,这些库或工具都不能扩展第1https://spark.apache.org2https://aws.amazon.com/comprehend/medical/3https://cloud.google.com/healthcare4https://colab.research.google.com/github/JohnSnowLabs/spark-nlp-workshop/blob/master/tutorials诉Kocaman和D.Talby软件影响13(2022)1003733通过2个嵌套序列(单词字符),以每个字符嵌入到维度为25的字符嵌入矩阵中的方式应用CNN。然后,1D卷积层处理嵌入的字符向量序列,然后进行MaxPooling操作。这样,每个单词都有一个矢量表示。我们使用了25个过滤器,内核大小为3。值得一提的是,字符特征在NER模型中被证明是非常有用的,并且提供了一定程度的拼写错误和拼写错误免疫力。图1解释了我们的NER模型1的整体架构。我们在Tensorflow(TF)中实现了该模型,并使用了LSTMBlock-FusedCell;这是一种基于[34]的非常高效的LSTM实现,并为整个LSTM使用单个TF操作。这些实验表明,它比LSTMBlockCell更快,内存效率更高然后我们使用TensorFlow API在Scala中实现了这个框架。此设置被移植到Spark中,并允许驱动程序节点使用驱动程序节点上的所有可用核心运行整个训练。Spark NLP还提供了每个TensorFlow组件的CuDA版本,这些组件在可用时利用GPU加速虽然NER架构从单词标记中提取字符级别的特征,但最有用的特征来自每个标记的语义向量。由于在NER任务中特定于领域的词嵌入的有效性[35],我们使用PubMed摘要和案例研究的skip-gram模型训练自定义生物医学词嵌入,如[36]所述,用于使用上下文信息学习单词的分布式表示。经过训练的词嵌入有200个维度,词汇量为220万。 为了比较在我们的训练嵌入中使用生物医学数据的有效性,我们还使用了300维预训练的GloVe嵌入,其中包含60亿个令牌(由GloVe 6 B表示),在维基百科和Gigaword-5数据集上训练[23]。在本研究中使用的生物医学数据集上,该领域特定词嵌入实现的平均词覆盖率为99.5%,Glove6B嵌入的覆盖率为96.1%。2.1. 实验在本节中,我们将描述数据集、评估指标,并概述实验设置。我们基本上设置了三个不同的实验:• 在TF(通过Keras)和Spark NLP中使用相同的DL架构对生物医学NER数据集进行性能和时序评估。• 过去在i2b2和n2c2挑战中研究的• 对商业实体提取解决方案、AWS Medical Comprehend和GoogleCloud Healthcare API进行基准测试。2.1.1. 数据集NLP系统的开发取决于对相关数据的访问尽管最近努力去识别(附录7)和发布用于研究的叙述性EHR,但这些数据集仍然非常罕见。因此,临床NLP作为一个领域已经落后,为了解决这个问题,研究人员已经发布了各种数据源。对于我们的第一个实验,我们在[37]提供的8个公开可用的生物医学NER 数 据 集 上 训 练 了 各 个 NER 模 型 : AnatEM , BC 5CDR , BC4CHEMD,BioNLP 13 CG,JNLPBA,Linnaeus,NCBI-DiseaseS800这些模型涵盖了从解剖分析到遗传学和细胞生物学等领域的各种实体类型。为了简洁起见,我们不包括有关数据集性质的细节,读者可以参考引用的论文以获取更多信息。我们的第二个实验是基于3个不同的临床概念提取挑战。这些挑战由国家NLP临床挑战(n2 c2)(以前称为i2 b2-整合生物学和床边信息学)的研究人员组织。这些挑战有多个子任务,但是,根据本文的范围,我们Fig. 1. 我们提出的NER架构。虽然字符嵌入和大小写特征的特征向量具有固定的维度,但提供了主上下文通过令牌嵌入,其可以使用多种方法来生成(例如,GloVE、BERT),并且可以具有不同的尺寸。把我们的注意力放在NER子任务上。这些挑战得到了我们用于实验的注释数据集的支持。我们使用2010年i2 b2/VA挑战[6]来测试临床实体的性能,使用2014年i2 b2去识别挑战[30]来测试PHI概念的性能,使用2018年n2 c2药物提取挑战[31]来测试药物/药物实体的性能。这些数据集的简明细节见附录7,而广泛的细节可在引用的论文中找到。我们的第三个实验是将我们提出的解决方案与商业上可用的NLP解决方案进行详细比较虽然有几种商业NLP解决方案可以轻松使用机器学习从非结构化文本中提取相关的医疗信息。AWS Medical Comprehend(AMC)[38]和Google Cloud Platform(GCP)Healthcare NLP是目前使用最广泛和最受欢迎的服务。由于这两个服务使用的数据都是保密的,并且考虑到开发内部数据集非常昂贵和耗时,我们可以强烈假设,除了专有的内部数据集外,它们必须包括公开的数据集以及用于培训目的。为了测试这一假设,为了公平比较,我们从MIMIC-III数据集[39]中抽取了1000份临床笔记作为测试集,并由两名医生对它们进行注释,我们之所以选择这些实体类型,是因为AMC和GCP的工具中都有这些实体,它们在源数据集中的数量很高。关于这些服务之间的实体映射的细节可以在附录7中找到。问题和测试实体最初来自2010年i2 b2/VA,药物实体来自2018年n2 c2挑战,但AMC和GCP使用额外的数据集对模型进行了优化,以实现更好的泛化[40]。为了进行公平的比较,我们还通过合并2012年i2b2挑战赛[41]中的问题和测试实体以及OpenFDA [42]中的药物实体来丰富数据集。我们在实验中使用的所有数据集都遵循IOB2(内部,外部,开始)[43]标记方案,因为这是我们用于NER实现的主要标记方案。还有其他的标记方案,如BIOES(开始,内部,外部,结束,单一),诉Kocaman和D.Talby软件影响13(2022)1003734据报道,在我们的NER架构的原始实现中使用的,在IOB上具有相当大的性能改进,例如快速收敛,并且在预测令牌边界时表现更好[32],因为它具有显式的边界标记。然而,我们在使用BIOES方案时遇到了各种性能问题,例如在早期收敛非常快,但随后未能进一步推广并陷入局部极小值,因此决定使用BIO方案进行实验。有关其他标记方案的更多详细信息,请参见附录7。2.1.2. 实验设置所有实验都在由Google提供的Colab5我们使用标准的训练和测试数据集来训练和评估模型,并报告宏观和微观平均F1得分(不包括O)。为了与现有基准进行比较,论文,微平均用于公平比较,因为这些论文主要报告微评分,因此,我们使用相同的政策来评估临床数据集上的商业API。然而,对于不依赖外部数据的比较(例如,Keras和我们的实现之间的比较),使用宏平均,因为它不受类不平衡问题的影响,并且更能代表模型在超参数调整方面,我们通过随机搜索调整超参数来运行实验,以找到能产生最佳结果的最佳最终参数值以及检测范围见附录7。3. 结果NER系统通常是端到端NLP管道的一部分,通过该管道输入文本,然后应用几个文本预处理步骤。由于我们实现的DL算法是逐行的,并且特征(嵌入和大小写)是逐标记的,因此句子分割和标记化是最重要的步骤,可以提高准确性。使用基于DL的句子检测器模块[44]和SparkNLP中高度可定制的基于规则的标记器,我们确保生成的特征更具信息性。如果标记为训练集中的实体的标记不能与其附加的字符和标点分离,则在获取嵌入时可能会将其视为词汇表外的单词,这会损害学习。3.1. 生物医学NER基准的准确性在我们之前的研究[45]中,我们通过广泛的实验表明,Spark NLP库中的NER模块在8个基准数据集中的7个中超过了Stanza报告的生物医学NER基准,并且在SciSpacy报告的每个数据集中都没有使用BERT等重上下文嵌入。我们在表1中给出了我们的结果。 除了是唯一一个能够在任何Spark集群中扩展训练和推理的NLP库之外,Spark NLP NER架构还在七个公共生物医学基准上获得了最先进的结果,而无需使用BERT等内存密集型上下文嵌入。此外,与Stanza相比,我们报告了三个基准数据集的显著改进,包括BC4CHEMD:93.72%(4.1%增益),Species800:80.91%(4.6%增益)和JNLPBA:81.29%(5.2%增益)。基准测试表明,具有预训练临床嵌入的Spark NLP NER模型在78个生物医学数据集。同样令人惊讶的是,尽管我们-使用通用嵌入(GloVe 6 B),我们的NER模型在一半的基准测试中超过了Stanzahttps://colab.research.google.com/3.2. TensorFlow的准确性速度与Spark NLP由于上一节中的实验涉及超参数调优(具体来说是批量大小和epoch计数),因此我们定义了一个新的实验,用于测试我们在标准Keras框架下在Spark中实现的速度和准确性指标,同时保持所有数据集的超参数不变。此外,为了使实验具有可重复性,我们使用了相同的生物医学数据集和上述标准Glove 6B嵌入。我们训练了几个模型,以比较我们在Spark 中 的 NER 实 现 的 训 练 速 度 和 性 能 , 以 及 使 用 Keras API 在TensorFlow中的相同DL架构。结果表明,Spark NLP实现在宏F1得分方面击败了相同架构的8次中的7次,并且在单台机器上训练一半的数据集时更快,在两种设置中使用所有可用的核心,如表2所示。这些结果表明,Spark NLP不仅仅是TensorFlow上的包装器;准确性的提高主要来自我们修改后的NER DL架构以及Spark本身,使用最先进的DAG(有向无环图)调度器,查询优化器和物理执行引擎。TensorFlow实现和生物医学NER数据集的代码作为补充材料共享3.3. 临床NER基准的准确性使用上一节中解释的n2c2挑战中的官方训练集,我们训练了NER模型,并获得了挑战中使用的官方测试集的指标。结果见表3。结果表明,所提出的NER模型比迄今为止在这些数据集上发表的最佳结果3.4. 准确性与商业NER服务有几种商业NLP解决方案可以轻松使用机器学习从非结构化文本中提取相关的医疗信息。AWS Medical Comprehend(AMC)[38]和Google Cloud Platform(GCP)Healthcare NLP是目前使用最广泛和最受欢迎的服务。在AWS和谷歌已经拥有的高质量数据的推动下,他们的解决方案有望达到最高质量,并更好地推广看不见的临床文本。我们构建自定义测试数据(在上一节中解释过),以将这些商业解决方案与我们的解决方案进行比较。由于抽样测试集来自与模型训练集不同的分布,因此结果不是 和官方测试集上的一样高然而,使用Spark NLP实现训练的临床NER模型在不使用像transformer这样的内存密集型语言模型的情况下,大大超过了商业实体提取解决方案(分别为8.9%和6.7%)。基准测试结果可以在表4中看到,并且可以根据请求共享示例注释4. 讨论由于在撰写本文时JVM中Tensorflow实现的架构设计选择,将模型训练分布然而,能够从大量数据中以最先进的精度获得大规模预测将克服上述缺点。正如我们在结果部分所解释的那样,使用所提出的模型进行训练也比普通TF中相同架构的基础版本更快。为了在内存较少的本地机器上训练大型模型,我们实现了一个动态内存优化功能,可以在设置训练时打开和关闭通过此实现,我们可以决定是否需要收集和生成要素诉Kocaman和D.Talby软件影响13(2022)1003735表1使用内部临床手套嵌入、开源手套嵌入(6B)和Bert for Token Classification(BFTC)的NER性能,该Bert用于生物医学领域中不同数据集的生物标记基础案例。报告的所有分数均为微平均测试F1,不包括O。Stanza结果来自[27]中报道的论文。官方培训和验证在原始测试集上测试经训练的模型之前,集合被合并并用于训练。出于可重复性的目的,我们使用[37]提供的这些数据集的预处理版本(也被Stanza使用)。粗体分数代表最好成绩(本分析忽略BFTC评分)。结果可以用共享的Colab笔记本复制在官方存储库:https://github.com/JohnSnowLabs/spark-nlp-workshop。数据集Spark NLP临床Emb.Spark NLPBiobert(BFTC)Spark NLPGloVe 6B Emb.StanzaNCBI-疾病BC5CDR89.7390.89 88.32 88.08BC4CHMED93.7294.39 92.32 89.65林奈86.26 82.20 85.5188.27品种80080.9182.59 79.22 76.35JNLPBA81.29AnatEM89.1391.65 87.74 88.18BioNLP 13-CG85.5887.83 84.30 84.34表2在每个数据集的相同设置下,使用TensorFlow和Spark NLP中相同的BiLSTM-CNN-Char架构对生物医学NER数据集进行性能评估。Spark NLP实现在8次中有7次击败了相同的架构在宏F1得分方面,在一半的数据集中训练速度更快(宏平均F1得分,嵌入手套6B_300d,lr 0.001,dropout 0.5,LSTM状态大小200,epoch 10,批量大小128,优化器Adam)。粗体字母表示最佳结果。Tensorflow 1.15(Keras)Spark NLP数据集时间(秒)macro-F1时间(秒)macro-F1BC 5CDR-疾病409 0.840336 0.858BC5CDR-chem 438 0.848367 0.894BC4CHMED 2954 0.8902719 0.936NCBI-疾病312 0.882269 0.883JNLPBA495品种8002150.813 2320.820林奈709 0.787730 0.759表32010年i2 b2/VA临床概念提取、2014年i2 b2去识别挑战和2018年n2 c2药物提取挑战的性能指标。分数表示官方测试分数上的实体级(跨度匹配)微F1分数(严格匹配,不包括O本研究省略了基于BERT的基准测试,以便在类似的DL架构之间进行公平的比较。Spark NLP Latest SOTA2010年i2 b2/VA0.8760.862 [6]2014年n2c20.9610.955 [47]2018年n2c20.8990.896 [31]表4我们的NER模型与AWS Medical Comprehend(AMC)和Google Cloud Platform(GCP)Healthcare API在MIMIC-III数据库中随机抽样的1000份临床记录上的比较。测试在三个主要实体类(问题、测试、药物)和Spark NLP临床NER模型上运行在宏观F1评分方面,平均分别比AMC和GCP高8.9%和6.7%Spark NLP临床模型AWS Medical Comprehend GCP Healthcare API实体样本精确召回F1精确召回F1精确召回F1问题48910.7260.5390.4780.5070.8500.5160.6420.7820.6620.7170.5940.7030.576 0.461 0.512药品10284 0.946 0.882 0.913 0.815 0.9100.8600.962 0.8850.922Avg. 0.7590.670 0.692然后分批送入网络或分批收集生成后分批送入网络。事实证明,这对于加快大型内存机器和驱动程序节点上的训练过程非常有用。我们还实现了一个批量预测,其中Spark expert收集我们拥有的所有行(最多一个批量大小),合并该组行中找到的所有句子,将它们一起馈送到网络。然后,算法将它们视为批量句子,给出 将其返回到规划器(MapPartitions规划器),并再次将其拆分为行。因此,从批处理中创建和收集并发送到Tensorflow的特征将以更大的组进行批处理,使我们在生产中的推理速度提高2.5到3倍分布式处理和集群计算主要用于处理大量数据,而使用Spark处理小数据将付出代价。如果我们想用一个类比来说明这一点,我们可以说Spark就像一辆机车与一辆自行车赛跑。如果负载较轻,自行车将获胜,它加速更快,更灵活,但如果负载较重,机车可能需要一段时间才能达到速度,但最终会更快。为了避免Spark在小数据上的开销,我们在Spark NLP中实现了Lightpipeline概念,相当于Spark ML Pipeline,但旨在处理更少量的数据。Spark NLP LightPipelines是将Spark ML管道转换为单台机器,但多线程任务,对于少量数据,速度提高了10倍以上。要使用它们,我们只需插入一个经过训练的(合适的)管道,然后注释一个纯文本。我们甚至不需要将输入文本转换为数据帧,以便将其馈送到管道中,该管道首先接受数据帧作为输入。这个功能是相当有用的,当涉及到获得一个预测的几个诉Kocaman和D.Talby软件影响13(2022)1003736图二、在 S p a r k N L P f o r H e a l t h c a r e 中 支持NER模型和命名实体。在将模型部署到集群上以处理大量数据之前,从经过训练的DL模型中提取文本行。5. 结论尽管人们对NLP研究和NER系统的兴趣越来越大,并且取得了突破性的进展,但在临床和生物医学领域,易于使用的生产就绪模型和工具非常稀缺,这是临床NLP研究人员将最新算法应用到工作流程中并立即开始使用在这项研究中,我们通过对各种临床和生物医学数据集的实验表明,Spark NLP库的NER模块不需要手工制作的功能或特定于任务的资源,在流行的生物医学数据集和临床概念提取挑战上达到了最先进的分数(2010年i2 b2/VA、2014年n2 c2去识别和2018年n2 c2药物浸提)和超过市售的实体浸提溶液,AWS Medical Comprehend和Google CloudHealthcare API分别提高了8.9%和6.7%,而不使用transformers等重型语言模型。使用众所周知的BiLSTM-CNN-Char NER架构的修改版本以及基于DL的句子检测器和高度可定制的标记化到Spark环境中,即使使用通用的GloVe嵌入和没有词汇特征,我们也能够在生物医学领域实现最先进的结果,并产生比Stanza更好的结果。 8个基准数据集。我们还介绍了我们的实现在生物医学数据集上在相同的设置下击败了Keras中的相同架构,在宏F1得分方面,8次中有7次,并且在单台机器上训练一半的数据集Spark NLP的NER模块还可以扩展到其他口语,无需代码更改,并且可以在Spark集群中扩展。 此外,该模型作为Spark NLP库的一部分可在生产级代码库中使用;可以在任何Spark集群中扩展训练和推理;具有GPU支持和流行编程语言(如Python,R,Scala和Java)的库;并且已经扩展到支持其他人类语言而无需更改代码。此外,该模型可在生产级代码库中作为开源Spark NLP库的一部分使用,并且可以使用附录7中提供的单行代码训练新的NER模型。在撰写本研究时,Spark NLP forHealthcare从100多个预训练的NER模型中提供了400多个临床实体(图1)。 2)的情况。6. 影响概述下载超过2500万次,Spark NLP带有超过5000个预训练模型及其许可扩展,Spark NLP for Healthcare带有600多个预训练临床模型,这些模型都是使用最新的最先进算法开发和训练的,以大规模解决医疗保健领域的现实问题。在这项研究中深入研究的NER算法已被广泛用于学术界和工业界,因为它在任何Spark NLP管道中都占有重要地位。相同的NER架构在七个公共生物医学基准上获得了新的最先进的结果[45],而不使用BERT等繁重的上下文嵌入; [48]利用预训练的医疗保健NER模型来分析Covid-19文献;[49] 引入了预训练的NER模型,可以与文本分类器和关系提取一起使用,以从不受监管的媒体(如社交媒体)中提取药物不良反应; [50,51]使用其中一个预训练的NER模型从自由文本注释中提取临床风险因素,以通过利用具有共享临床特征的更流行疾病的信息,创建用于从多模式电子医疗记录中开发预测模型的功能;[52]使用临床语言模型生成代谢组学软件的数据库; [53]研究了预训练的NER模型对分析两个主要媒体(CNN和Guardian)中的Covid-19相关新闻的影响,并通过将挖掘的医疗症状,程序,药物和指导与通常提到的人口统计和职业群体相关联,分析了关键实体,短语,偏见以及它们在新闻报道中如何随时间变化。同一项研究还分析了有关药物和疫苗制造商的药物不良事件的提取,这些事件在主要新闻媒体报道时会对疫苗犹豫产生影响。CRediT作者贡献声明概念化,方法论,写作初稿,软件,数据管理. 大卫·塔尔比:软件,调查,监督,写作竞合利益作者声明,他们没有已知的竞争性财务利益或个人关系,可能会影响本文报告的工作诉Kocaman和D.Talby软件影响13(2022)1003737致谢我们感谢我们的同事和研究伙伴,他们为Spark NLP库以前和现在的发展做出了贡献。我们也感谢我们的用户和客户,他们通过反馈和建议帮助我们改进了库。附录A. 补充数据与本文相关的补充材料可以在https://doi.org/10.1016/j.simpa.2022.100373上找到。引用[1]A. Esteva,A.罗比凯湾Ramsundar,V. Kuleshov,M. DePristo,K.周角,澳-地Cui,G. Corrado,S. Thrun,J. Dean,《医疗保健深度学习指南》,Nat. 25(1)(2019)24-29。[2] Y. Juhn , H. Liu , Artificial intelligence approaches using natural languageprocessing to advance EHR-based clinical research,J. Allergy Clin. Immunol. 145(2)(2020)463-469.[3] A. Liede,R.K. Hernandez,M. Roth,G. Calkins,K.拉拉比湖Nicacio,使用技术支持的抽象验证电子健康记录中骨转移的国际疾病分类编码,临床流行病学。7(2015)441。[4] T.B. Murdoch,A.S. Detsky,大数据在医疗保健中的必然应用,JAMA 309(13)(2013)1351-1352。[5]V. Yadav,S. Bethard,关于深度学习模型中命名实体识别的最新进展的调查,2019,arXiv预印本arXiv:1910.11470。[6] 单位Uzuner,B.R.南,S. Shen,S.L. DuVall,2010年I2 b2/VA挑战临床文本中的概念,断言和关系,J. Am. Med.Inf.Assoc.18(5)(2011)552-556。[7]D. Tzitzivacos,国际疾病分类第10版(ICD-10)::主条目,CME:Your SA J.CPD 25(1)(2007)8[8] 单位Uzuner,Y. Luo,P. Szolovits,评估自动去识别的最新技术,J。Am. Med.INF. Assoc. 14(5)(2007)550[9] S.刘湾,澳-地唐角,澳-地Chen,X. Wang,语义特征对基于机器学习的药物名称识别系统的影响:词嵌入与手动构建的 词典,信息6(4)(2015)848-865。[10] Y. Wu,M. Jiang,J. Xu,D. Zhi,H. Xu,使用深度学习模型进行临床命名实体识别,见:AMIA年度研讨会论文集,第2017卷,美国医学信息学协会,2017年,第100页。一八一二年[11]J. Laffe , A. 麦 卡 勒 姆 足 球 俱 乐 部 Pereira , Conditional Random Fields :ProbabilisticModelsfor Segmentation and Labeling Sequence Data,2001。[12]S.胡志华,长时记忆与短时记忆的关系,国立成功大学,硕士论文。第9卷第8期(1997年), 第 1735-1780页。[13]Z. 黄 ,W. Xu, K. Yu ,Bidirectional LSTM-CRF models for sequence tagging ,2015,arXiv preprintarXiv:1508.01991。[14]J.P. Chiu,E. Nichols,双向LSTM-CNN的命名实体识别,Trans. Assoc. Comput.语言学家4(2016)357[15]X. Ma,E. Hovy,通过双向lstm-cnns-crf进行端到端序列标记,2016,arXiv预印本arXiv:1603.01354。[16]J.德夫林,M.- W. Ch
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功