没有合适的资源?快使用搜索试试~ 我知道了~
软件影响8(2021)100058原始软件出版物Spark NLP:大规模的自然语言理解VeyselKocaman,David TalbyJohn Snow Labs Inc.,16192 Coastal Highway,刘易斯,DE,19958,美国A R T I C L E I N F O保留字:火花自然语言处理深度学习Tensorflow集群代码元数据A B标准Spark NLP是一个基于Apache Spark ML的自然语言处理(NLP)库。它为机器学习管道提供了简单,高性能,准确的NLP注释,可以在分布式环境中轻松扩展。Spark NLP提供超过192种语言的1100多个预训练管道和模型。它支持几乎所有可以在集群中无缝使用的NLP任务和模块下载超过2.7自2020年1月以来,Spark NLP已被54%的医疗机构使用,成为全球当前代码版本v2.7.1用于此代码版本的代码/存储库的永久链接https://github.com/SoftwareImpacts/SIMPAC-2021-5可再生胶囊的永久链接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.com软件元数据当前软件版本2.7.1此版本可执行文件的永久链接https://github.com/JohnSnowLabs/spark-nl可再生胶囊的永久链接https://codeocean.com/capsule/1573505/tree/v1法律软件许可证Apache-2.0许可证计算平台/操作系统Linux,Ubuntu,OSX,Microsoft Windows,类Unix安装要求依赖jdk 8,spark如果可用,请链接到用户手册-如果正式出版,请在参考列表中引用该出版物https://nlp.johnsnowlabs.com/api/问题支持电子邮件info@johnsnowlabs.com1. Spark NLP library自然语言处理(NLP)是许多数据科学系统中的关键组件,这些系统必须理解或推理文本。常见的用例包括问答、释义或总结、情感分析、自然语言BI、语言建模和消歧。然而,NLP始终只是更大的数据处理管道的一部分,并且由于此过程中涉及的非平凡步骤,因此越来越需要一体化解决方案来简化大规模文本预处理的负担,以及使用NLP解决数据科学问题的各个步骤之间的连接点。一个好的NLP库应该能够正确地将自由文本转换为结构化特征,并让用户训练自己的NLP模型,这些模型可以轻松地输入下游机器学习(ML)或深度学习(DL)管道。Spark NLP被开发为所有NLP任务的单一统一解决方案,是唯一可以扩展培训和本文中的代码(和数据)已由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.2021.100058接收日期:2021年1月21日;接收日期:2021年1月22日;接受日期:2021年1月24日2665-9638/©2021作者。由Elsevier B. V.发布,这是CC BY-NC-ND许可证下的开放获取文章(http://creativecommons.org/licenses/by-nc-nd/4.0/)。可在ScienceDirect上获得目录列表软件影响杂志 首页:www.journals.elsevier.com/software-impacts诉Kocaman和D.Talby软件影响8(2021)1000582Fig. 1. Spark NLP流水线的流程图。当我们在管道上使用Spark数据帧fit()时,它的文本列被馈送到DocumentAssembler()Transformer中,创建一个新的列文档作为任何Spark数据帧的Spark NLP的初始入口点。然后,它的文档列被送入SentenceDetector()模块进行拆分将文本转换为句子数组,并创建新列“句子”。然后,“句子"列被输入到Tokenizer()中,每个句子都被标记化, 已创建“令牌”。然后,对令牌进行规范化(基本文本清理),并为每个令牌生成单词嵌入。现在,数据已经准备好被输入NER模型,然后输入断言模型。图二. 命名实体识别是医疗文本挖掘管道的基本构建块,并为下游任务提供支持,例如断言状态,实体链接,去识别和关系提取。图三. 通过在各种数据集上训练的临床NER模型预测的样本临床实体。Spark NLP企业版中有超过40个预训练的NER模型在任何Spark集群中进行推理,利用迁移学习并实施NLP研究中最新和最好的算法和模型,同时提供关键任务的企业级解决方案。它是一个开源的自然语言处理库,构建在Apache Spark和Spark ML之上。它提供了一个简单的API来与ML管道集成,并由John Snow Labs Inc提供商业支持,John Snow Labs Inc是一家屡获殊荣的医疗保健AI和NLP公司。Spark NLP的注释器利用基于规则的算法、机器学习和深度学习模型,这些模型使用TensorFlow实现,TensorFlow在准确性、速度、可扩展性和内存利用率方面进行了大量优化。此设置与Apache Spark紧密集成,让驱动程序节点使用驱动程序节点上的所有可用核心运行整个训练。每个TensorFlow组件都有一个CuDA版本,以便在可用时在GPU上启用训练模型。Spark NLP是用Scala编写的,提供开源API。 在Python、Java 、Scala 和 R 中 - 这 样用 户 就 不需 要 知道底 层实 现 细 节(TensorFlow、Spark等)在由于它有一个活跃的发布周期(2019年发布了26个新版本,2020年又发布了26个新版本),NLP领域的最新趋势和研究被迅速接受和实施,可以在集群环境中很好地扩展,使常见的NLP管道运行速度比传统库的固有设计限制快几个数量级。Spark NLP库有两个版本:开源和企业。开源版本具有任何NLP库都可以预期的所有功能和组件,使用最新的DL框架和研究趋势。企业库是授权的(免费用于学术目的),旨在解决医疗保健领域的现实问题,并扩展了开源版本。 许可版本具有以下模块,以各种方式帮助研究人员和数据收集者:命名实体识别(NER)、断言状态(否定范围)检测、关系提取、实体解析(SNOMED、RxNorm、ICD 10等),临床拼写检查、上下文解析器、text2SQL、去识别和模糊处理。每个版本的组件的高级概述可参见图。 四、诉Kocaman和D.Talby软件影响8(2021)1000583见图4。Spark NLP库有两个版本(开源和企业),每个版本都带有一组预训练的模型和管道,可以开箱即用,无需进一步的训练或数据集。2. 对研究领域2019冠状病毒病大流行带来了关于该病毒的学术研究激增-导致2020年1月至6月期间新发表了23,634篇文章[1],并在2019冠状病毒病开放研究数据集上加速至6月至11月每周增加8,800篇文章[2]。如此大量的出版物使得研究人员无法阅读每一篇出版物,从而增加了应用自然语言处理(NLP)和文本挖掘技术进行半自动文献综述的兴趣[3]。与此同时,人们越来越需要对电子健康记录(EHR)进行自动文本挖掘,以找到新研究所指向的临床指征。EHR是临床医生跟踪患者护理的主要信息来源。输入这些系统的信息可以在结构化字段中找到,其值以电子方式输入(例如,实验室测试订单或结果)[4],但大多数情况下,这些记录中的信息是非结构化的,因此很大程度上无法进行统计分析[5]。这些记录包括诸如给药原因、患者既往疾病或既往治疗结果等信息,并且它们是生物医学研究中经验数据的最大来源,允许在高度相关的疾病中获得重大科学发现,癌症和阿尔茨海默尽管人们对NLP研究和NER系统的兴趣越来越大,而且取得了突破性的进展, 在生物医学和临床领域,使用生产就绪的模型和工具是稀缺的,这是临床NLP研究人员将最新算法应用到他们的工作流程中并立即开始使用的主要障碍之一。另一方面,专门用于处理生物医学和临床文本的NLP工具包,如MetaMap [7]和cTAKES [8]通常不使用新的研究创新,如上面讨论的单词表示或神经网络,因此产生不太准确的结果[9,10]。我们引入SparkNLP作为解决所有这些问题的一站式解决方案这种文本挖掘系统中的主要构建块被称为实体识别(NER)-它被认为是问答,主题建模,信息检索等的关键先驱。在医疗领域,NER从临床笔记中识别出第一个有意义的块,然后将其作为后续下游任务的输入馈送到处理管道,例如临床断言状态检测[12],临床实体解析[13]和敏感数据的去识别[14]。然而,临床和药物实体的分割被认为是生物医学NER系统中的困难任务,因为命名实体的复杂正交结构[15]。来自临床文本的样本NER 预测可以在图中找到。3.第三章。临床NLP管道中NER模型的下一步是在给定上下文的情况下为每个命名实体分配断言状态。 断言的状态解释了命名实体(例如,临床发现、程序、实验室结果)如何通过分配标签(例如,存在(“患者患有糖尿病”)、不存在(“患者否认恶心”)、条件性(“爬楼梯时呼吸困难”)或与其他人相关(“抑郁症家族史”))与患者相关。在COVID-19的背景下,应用准确的断言状态检测是至关重要的,因为大多数患者将被测试并询问相同的一组症状和合并症-因此将文本挖掘管道限制为在没有上下文的情况下识别医疗术语在实践中是没有用的。这种管道的流程图可以在图中看到。1.一、在我们之前的研究中[16],我们通过广泛的实验表明,Spark NLP库中的NER模块在8个基准数据集中的7个中超过了Stanza报告的生物医学NER基准,并且在SciSpacy报告的每个数据集中都没有使用像BERT这样的重上下文嵌入。将众所周知的BiLSTM-CNN-Char NER架构[ 17 ]的修改版本使用到Spark环境中,我们还提出,即使使用通用GloVe嵌入(GloVe 6 B)并且没有词汇特征,我们也能够在生物医学领域实现最先进的结果,并且在8个基准数据集中的4个中产生比Stanza更好的结果(表1)。在另一项研究中[19],我们引入了一组预训练的NER模型,这些模型都是使用相同的深度学习架构在生物医学和临床数据集上训练的。然后,我们展示了如何通过将这些模型组合在统一的可扩展管道中,从非结构化电子健康记录(EHR)和COVID-19开放研究数据集(CORD- 19)中提取知识和相关信息,并分享了结果,以说明从科学论文中提取有价值的信息。结果表明,CORD- 19中的论文包含了这个新的NLP管道可以识别的多种实体类型,断言状态检测是对这些实体的有用过滤器(图1)。2)的情况。所选实体类型中最常见的短语见表2。 这预示着下游分析的丰富性,可以使用这种结构化和规范化的数据来完成-例如聚类,降维,语义相似性,可视化或基于图形的分析,以识别相关概念。此外,为了评估流水线的工作速度以及它如何有效地扩展以利用计算集群,我们在诉Kocaman和D.Talby软件影响8(2021)1000584表1生物医学领域不同数据集的NER性能。报告的所有分数均为微平均测试F1,不包括O。Stanza结果来自于[9],SciSpaCy结果来自[10]中报道的剪切介质模型。官方的训练集和验证集被合并并用于训练,然后模型被 在原始测试集上进行评估。为了重现性的目的,我们使用[18]提供的这些数据集的预处理版本,也被Stanza使用。Spark-x前缀下表显示了我们的实施情况。粗体分数表示相应行中的最佳分数BC5CDR化学,疾病89.7388.32 88.08 83.92BC4CHIMD化学93.7292.32 89.65 84.55Linnaeus物种86.26 85.5188.2781.74物种800物种80.9179.22 76.35 74.06JNLPBA细胞内5型81.2979.78 76.09 73.21AnatEM解剖89.1387.74 88.18 84.14BioNLP 13-CG 16种癌症遗传学类型85.5884.30 84.34 77.60表2通过解析CORD-19数据集[2]中的100篇文章,使用Spark NLP中名为jsl_ner_wip的NER模型预测了所选实体类型中最常见的10个术语。 从模型中获得预测,我们可以获得一些关于论文中提到的最常见的疾病或症状或最常见的生命体征的有价值的信息。和心电图的结果根据这个表,最常见的症状是咳嗽和炎症,而最常见的药物成分提到是奥司他韦和抗生素我们也可以说,心源性振荡和心室颤动是心电图的常见观察结果,而发热和体温过低是心电图的常见观察结果。最常见的生命体征病证病症传染病症状药物成分程序生命体征结果EKG结果感染性疾病艾滋病毒咳嗽奥司他韦复苏发热低VT脓毒症H1N1炎症生物制剂心脏手术低温心源性振荡流感结核危重病VLP气管切开术缺氧显著变化感染性休克流感坏死抗生素心肺复苏呼吸衰竭一氧化碳减少氧转运哮喘 肺结核出血生理盐水接种低血压室颤肺炎肝炎病毒病变抗病毒支气管镜高碳酸血症显著阻抗增加COPD麻疹细胞肿胀槲皮素插管呼吸急促室颤胃肠炎大流行性 流感出血氯化钠转染呼吸窘迫无脉电活动病毒感染季节性流感腹泻利巴韦林支气管肺泡灌低氧血症轻中度低温狂犬病毒性诺沃克因子尸检发热心源性振荡本地模式和集群模式:发现与单机运行相比,令牌化速度快20倍,而实体提取速度快3.5倍。3. 对工业和学术合作作为Spark NLP的创建者,John Snow Labs公司一直在支持全球各地的研究人员,向他们分发免费许可证,以便在研究项目和大学的研究生课程中使用所有许可模块,在需要时提供实践支持,组织研讨会和峰会以收集杰出的演讲者,并与顶级制药公司的研发团队合作开展项目,以帮助他们释放埋藏在其生态系统中的非结构化文本数据的潜力。Spark NLP已经为领先的医疗保健和制药公司提供支持, 包括 Kaiser Permanente, McKesson , Merck 和 Roche。 由于Spark NLP也可以离线使用并部署在气隙网络中,因此公司和医疗机构无需担心暴露受保护的健康信息(PHI)。有关这些项目和案例研究的详细信息,请参见[20]、[21]、[22](见表1)。竞合利益作者声明,他们没有已知的竞争性财务利益或个人关系,可能会影响本文报告的工作致谢我们感谢我们的同事和研究伙伴,他们为Spark NLP库以前和现在的发展做出了贡献。我们也感谢我们的用户和客户,他们通过反馈和建议帮助我们改进了库。引用[1]J.A. T da Silva,P. Tsigaris,M. Erfanmanesh,在与Covid-19相关的主要数据库中出版的卷,Scientometrics(2020)1-12。[2] L.L. Wang , K. 洛 , Y 。 拉 塞 卡 尔 河 Reas , J. Yang , D. Eide , K.芬 克 河K i n n e y ,Z. Liu,W. Merrill等人,CORD-19:COVID-19开放研究数据集,2020年,ArXiv。[3] X.成角,澳-地Cao,S.廖,COVID-19,MERS和SARS文献综述:使用文本挖掘和潜在Dirichlet分配,J。 INF. Sci. (2020年)。[4]A. Liede,R.K. Hernandez,M. Roth,G. Calkins,K.拉拉比湖Nicacio,验证国际疾病分类编码的骨转移在电子健康记录中使用技术使能的抽象,临床流行病学。7(2015)441。[5]T.B. Murdoch,A.S. Detsky,大数据在医疗保健中的必然应用,JAMA 309(13)(2013)1351-1352。[6]G.佩雷拉湾孔多克尔湾布罗德本特湾布林河Stewart,与痴呆患者对乙酰胆碱酯酶抑制反应相关的因素:来自伦敦二级精神卫生保健病例登记的队列研究,PLoSOne 9(11)(2014)e109484。[7]A.R. Aronson,F.- M. Lang,MetaMap概述:历史视角和最新进展,J. Am.医疗报告。17(3)(2010)229[8] G.K.放大图片作者:Savova,J.J. Masanz,P.V. Ogren,J. Zheng,S. Sohn,K.C.Kipper-Schlemer , C.G. Chute , Mayo 临 床 文 本 分 析 和 知 识 提 取 系 统(cTAKES):架构 ,组件 评估和 应用。Am. Med. 告知 。Assoc. 17( 5)(2010)507-513。[9]Y. Zhang, Y. Zhang,P. Qi,C.D. Manning,C.P. Langlotz,在stanza python nlp库中的生物医学和临床英语模型包,2020,arXiv预印本arXiv:2007.14640。[10] M.诺伊曼,D.金岛Beltagy,W. Ammar,Scispacy:Fast and Robust Models forBiomedical Natural Language Processing , 2019 , arXiv preprintarXiv :1902.07669.[11] V. Yadav,S. Bethard,关于深度学习模型中命名实体识别的最新进展的调查,2019,arXiv预印本arXiv:1910.11470。[12] 单位Uzuner,B.R.南,S. Shen,S.L. DuVall,2010年i2 b2/VA挑战临床文本中的概念,断言和关系,J. Am.医疗报告。18(5)(2011)552-556。[13] D. Tzitzivacos,国际疾病分类第10版(ICD-10)::主文章,CME:Your SAJ.CPD 25(1)(2007)8-10。[14] 单位Uzuner,Y. Luo,P. Szolovits,评估自动去识别的最新技术,J。Am.Med. 告知。Assoc. 14(5)(2007)550[15] S.刘湾,澳-地唐角,澳-地Chen,X. Wang,语义特征对基于机器学习的药物名称识别系统的影响:词嵌入与手动构建的词典,信息6(4)(2015)848-865。数据集实体火花 - 生物医学Spark - GloVe 6BStanzaSciSpacyNCBI-疾病疾病89.1387.1987.4981.65诉Kocaman和D.Talby软件影响8(2021)1000585[16] V. Kocaman,D. Talby,Biomedical Named Entity Recognition at Scale,2020,arXiv预印本arXiv:2011.06315。[17] J.P. Chiu,E. Nichols,双向LSTM-CNN的命名实体识别,Trans. Assoc. Comput。语言学家4(2016)357-370。[18] X. Wang,Y. Zhang,X.任,Y. Zhang,M. Zitnik,J. Shang,C. Langlotz,J.Han,交叉型生物医 学命名实体识别与深度 多任务学习,生物信息学 35(10)(2019)1745-1752。[19] V. Kocaman,D. Talby,Improving clinical document understanding on COVID-19research with spark NLP,2020,arXiv preprintarXiv:2012.04005.[20] J.S.实验室,Apache Spark NLP for Healthcare:Lessons learned building real-world healthcare AI systems,2021,https://databricks.com/session_na20/apache-spark-nlp-for-healthcare-lessons-learned-building-real-world-healthcare-ai-systems,(在线; 2021年1月22日访问)。[21] J.S.实验室,NLP案例研究,2021,https://www.johnsnowlabs.com/nlp-case-studies/,(在线;访问日期:2021年1月22日)。[22] J.S.实验室,人工智能案例研究,2021年,https://www.johnsnowlabs.com/ai-case-studies/,(在线; 2021年1月22日访问)。
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz
- 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
- SPC统计方法基础知识.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功