【生物医学NLP信息抽取:药物识别、基因识别与化学物质实体识别教程与应用】

github地址:https://github.com/xy200303/bioner

基于Docker的一键化部署

  1. 创建容器网络。这是为了将solr和主体项目放在同一个局域网环境下,使得主体项目可以调用solr进行数据查询。
bash 复制代码
docker network create bioner-network
  1. 下载并运行主体项目bioner
bash 复制代码
docker run --name bioner --network bioner-network --gpus all -it -p 127.0.0.1:5000:5000 -e SOLR_URL="http://bioner-solr:8983/solr/" xy200303/bioner:latest
  1. 下载并启动运行solr服务器
bash 复制代码
docker run --name bioner-solr --network bioner-network -it -p 8983:8983 xy200303/solr-bioner:latest
  1. 进入solr服务器,初始化数据
bash 复制代码
docker exec -it bioner-solr bash
cd /app
bash init.sh

网页界面

访问地址: https://librairy.github.io/bio-ner/.

网页界面允许轻松使用该系统,只需粘贴要处理的文本并点击分析按钮。这些数据将通过AJAX调用发送到系统,系统将返回在以下视图中标注和归一化的数据:

结果标注

标注结果将以彩色框表示,其中每个框代表一个实体类别。

结果归一化

归一化结果将以表格形式呈现每个实体类别。将检索出找到的术语以及存储在Solr数据库中的ID。如果在处理的文本中出现与https://www.covid19dataportal.org/biochemistry?db=opentargetshttps://proconsortium.org/cgi-bin/textsearch_pro?search=search\&field0=ALLFLDS\&query0=ncbitaxon%3A2697049 相关的COVID术语,将出现一个额外的表格。

JSON格式结果

为了便于后续使用检索到的信息,还提供了一个Json文本框。

模型

针对每个实体类别(疾病、化学品、遗传物质)提出了一个模型。因此,最终系统由三个模型组成,每个模型负责对其对应的实体类别进行标注。系统会自动检查模型是否已存储在其对应的https://github.com/librairy/bio-ner/tree/master/models 中。如果缺少模型,系统会自动从其对应的Huggingface仓库下载缓存的版本,我们提出的模型已上传至该仓库。以下是所提出模型的仓库地址:

更多详细信息请参见: https://github.com/alvaroalon2/bio-nlp/tree/master/models。如果需要,这些模型可用于其他系统。

微调

微调过程是在Google Colab上使用TPU完成的。为此,我们提供了https://github.com/librairy/bio-ner/blob/master/fine-tuning/Fine_tuning.ipynb Jupyter笔记本,它使用了 https://github.com/librairy/bio-ner/blob/master/fine-tuning/ 中的脚本,这些脚本部分改编自 https://github.com/dmis-lab/biobert-pytorch 中最初提出的脚本,以便允许TPU执行和使用更新版本的huggingface-transformers。

嵌入可视化

关于可视化的详细信息以及一个示例,请参见 https://github.com/librairy/bio-ner/tree/master/Embeddings。

相关推荐
摘星编程7 小时前
深入理解CANN ops-nn BatchNormalization算子:训练加速的关键技术
python
魔芋红茶7 小时前
Python 项目版本控制
开发语言·python
lili-felicity7 小时前
CANN批处理优化技巧:从动态批处理到流水线并行
人工智能·python
一个有梦有戏的人7 小时前
Python3基础:进阶基础,筑牢编程底层能力
后端·python
dazzle7 小时前
机器学习算法原理与实践-入门(三):使用数学方法实现KNN
人工智能·算法·机器学习
摘星编程7 小时前
解析CANN ops-nn中的Transpose算子:张量维度变换的高效实现
python
Liekkas Kono7 小时前
RapidOCR Python 贡献指南
开发语言·python·rapidocr
玄同7657 小时前
Python 后端三剑客:FastAPI/Flask/Django 对比与 LLM 开发选型指南
人工智能·python·机器学习·自然语言处理·django·flask·fastapi
爱吃泡芙的小白白8 小时前
环境数据多维关系探索利器:Pairs Plot 完全指南
python·信息可视化·数据分析·环境领域·pairs plot