SciSpaCy: 面向生物医学文本处理的自然语言处理工具包

SciSpaCy: 面向生物医学文本处理的自然语言处理工具包

scispacyallenai/scispacy: Scispacy 是一个用于自然语言处理的 Python 库,提供了针对科学领域文本的文本处理和分析功能,可以用于文本挖掘,信息提取和知识图谱构建等任务。项目地址:https://gitcode.com/gh_mirrors/sc/scispacy

一、项目介绍

SciSpaCy 是由 Allen 研究院人工智能部门(AI2)开发的一款面向生物医学及科学领域文本处理的开放源码工具库。它基于spaCy框架,引入了专门针对该领域的模型以解决实体识别、词性标注、语法分析等任务。Allen 研究院人工智能部门是一家非盈利研究机构,其使命是通过高影响力的AI研究与工程贡献于人类社会。

二、项目快速启动

创建Python环境

确保你的系统中已安装 conda 或类似工具以创建虚拟环境。SciSpaCy 支持 Python 版本 3.6 及以上。

设置conda环境
conda create -n scispacy python=3.9
source activate scispacy # Linux/MacOS
conda activate scispacy # Windows
pip install scispacy
pip install https://s3-us-west-2.amazonaws.com/ai2-s2-scispacy/releases/v0.5.4/en_core_sci_sm-0.5.4.tar.gz

加载模型并处理文本数据

SciSpaCy 提供了几种预训练好的模型,下面是一个简单的例子,演示如何加载 en_core_sci_sm 模型:

import spacy
nlp = spacy.load('en_core_sci_sm')
doc = nlp('Alterations in the hypocretin receptor 2 and preprohypocretin genes produce narcolepsy in some animals.')
print(doc.text)
for token in doc:
    print(token.text, token.lemma_, token.pos_)

执行上述代码将会打印出给定句子中的词汇及其词干形式和词性。

三、应用案例和最佳实践

SciSpaCy 在生物医学文献挖掘方面表现优异。例如,在提取疾病名称、药物或基因信息时,SciSpaCy 的命名实体识别(NER)功能可以准确地标记这些实体类型。此外,对于涉及大量专业术语的文献,SciSpaCy 中的更大词汇量模型 (en_core_sci_md) 和带有Scibert编码器的模型 (en_core_sci_scibert) 能够提供更精确的理解能力。

示例代码: 实体识别

from spacy.lang.en import English
from scispacy.linking import EntityLinker
import os
import sys 
sys.path.append(os.getcwd())

nlp = English()
linker = EntityLinker(resolve_abbreviations=True, name="umls")
nlp.add_pipe(linker)

text = """The patient presented with symptoms of type 1 diabetes mellitus."""
doc = nlp(text)

# Print all entities found, along with their respective Wikipedia links.
for ent in doc.ents:
    print(f"{ent} -> {ent._.kb_id}")

四、典型生态项目

SciSpaCy 作为一款高度集成的工具箱,不仅可以独立运行,还能够整合到多个生态系统中,如生物医学知识图谱构建、临床决策支持系统以及科研论文自动摘要等领域。与其他NLP框架(如NLTK、Stanford CoreNLP)相比,SciSpaCy 专长在于处理学术与医疗健康相关文本,使其成为这一领域的首选解决方案之一。

以上就是关于 SciSpaCy 开源项目的简要介绍和使用指南,希望对从事生物医学研究的同学有所帮助。如果你对这个项目感兴趣或者有任何疑问欢迎随时留言交流!


附录: SciSpaCy Github 地址:https://github.com/allenai/scispacy

scispacyallenai/scispacy: Scispacy 是一个用于自然语言处理的 Python 库,提供了针对科学领域文本的文本处理和分析功能,可以用于文本挖掘,信息提取和知识图谱构建等任务。项目地址:https://gitcode.com/gh_mirrors/sc/scispacy

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秦俐冶Kirby

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值