Sabre:生物医学实体和关系的序列注释器
项目描述
军刀
Saber(生物医学实体和关系的序列注释器)是一种基于深度学习的生物医学领域 信息提取工具。
安装
要安装 Sabre,您需要python>=3.5
. 如果尚未安装,python>=3.5
可以通过以下方式安装
- 官方安装程序
- 自制, 在 MacOS (
brew install python3
) - Miniconda3 / Anaconda3
(可选)激活您的虚拟环境(请参阅下面的帮助)
$ conda activate saber
# Notice your command prompt has changed to indicate that the environment is active
(saber) $
然后安装 Sabre
(saber) $ pip install saber
要获取 Sabre 的最新开发版本,请直接从该存储库安装它pip
(saber) $ pip install https://github.com/BaderLab/saber.git
或者通过克隆存储库然后使用pip
来安装包
(saber) $ git clone https://github.com/BaderLab/saber.git
(saber) $ cd saber
(saber) $ pip install .
现在,您需要安装所需的Spacy模型和keras-contrib存储库(即使您安装了pip install saber
.
# keras-contrib
(saber) $ pip install git+https://www.github.com/keras-team/keras-contrib.git
# NeuralCoref medium model built on top of Spacy, this might take a few minutes to download!
(saber) $ pip install https://github.com/huggingface/neuralcoref-models/releases/download/en_coref_md-3.0.0/en_coref_md-3.0.0.tar.gz
(可选)创建和激活虚拟环境
使用pip
时一般建议在虚拟环境中安装包,以避免修改系统状态。创建一个名为的虚拟环境saber
使用 virtualenv 或 venv
使用虚拟环境
$ virtualenv --python=python3 /path/to/new/venv/saber
使用venv
$ python3 -m venv /path/to/new/venv/saber
接下来需要激活环境
$ source /path/to/new/venv/saber/bin/activate
# Notice your command prompt has changed to indicate that the environment is active
(saber) $
使用康达
如果你使用Conda,你可以创建一个以saber
运行命名的环境
$ conda create -n saber python=3.6
然后激活环境
$ conda activate saber
# Again, your command prompt should change to indicate that the environment is active
(saber) $
快速开始
如果您的目标是使用 Sabre 来注释生物医学文本,那么您可以使用网络服务或预训练模型。如果您只是想检查 Sabre,而不在本地安装任何东西,请尝试使用Google Colaboratory notebook。
谷歌实验室
查看 Sabre 的最快方法是使用 Google Colaboratory notebook ( )。为了能够运行单元格,请选择“在 Playground 中打开”,或者,将副本保存到您自己的 Google Drive 帐户(文件 > 在 Drive 中保存副本)。
网络服务
要将 Sabre 用作本地Web 服务,请运行
(saber) $ python -m saber.cli.app
或者,如果您愿意,可以从Docker Hub拉取并运行 Sabre 映像
# Pull Saber image from Docker Hub
$ docker pull pathwaycommons/saber
# Run docker (use `-dt` instead of `-it` to run container in background)
$ docker run -it --rm -p 5000:5000 --name saber pathwaycommons/saber
目前有两个端点,/annotate/text
和/annotate/pmid
。两者都期望POST
带有 JSON 有效负载的请求,例如,
{
"text": "The phosphorylation of Hdm2 by MK2 promotes the ubiquitination of p53."
}
或者
{
"pmid": 11835401
}
例如,在本地运行 Web 服务并使用cURL
$ curl -X POST 'http://localhost:5000/annotate/text' \
--data '{"text": "The phosphorylation of Hdm2 by MK2 promotes the ubiquitination of p53."}'
Sabre Web 服务 API 的文档可在此处找到。
预训练模型
首先,导入Saber
类。这是Saber的界面
from saber.saber import Saber
要加载预训练模型,首先创建一个Saber
对象
saber = Saber()
然后加载我们选择的模型
saber.load('PRGE')
您可以在Web 服务 API 文档或此存储库中的saber/pretrained_models文件夹中查看所有预训练模型,或者通过运行以下代码行
from saber.constants import ENTITIES; print(list(ENTITIES.keys()))
要使用模型注释文本,只需调用Saber.annotate()
方法
saber.annotate("The phosphorylation of Hdm2 by MK2 promotes the ubiquitination of p53.")
有关更多详细信息,请参阅文档。
文档
Sabre API 的文档可以在这里找到。Web 服务 API在此处有自己的文档。最后,我们提供了一个jupyter notebook,介绍了 Sabre 的主要使用方法。有关设置JupyterLab的帮助,请参阅此处。