【生物医学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。

相关推荐
大连好光景1 分钟前
回顾机器学习几个模型(监督+分类任务)
决策树·随机森林·机器学习·逻辑回归·svm
X journey1 分钟前
机器学习进阶(14):交叉验证
人工智能·算法·机器学习
心静财富之门1 小时前
Flask 详细讲解 + 实战实例(零基础可学)
后端·python·flask
架构师老Y1 小时前
003、Python Web框架深度对比:Django vs Flask vs FastAPI
前端·python·django
疯狂成瘾者2 小时前
语义分块提升RAG检索精度
python
小陈工4 小时前
Python Web开发入门(十七):Vue.js与Python后端集成——让前后端真正“握手言和“
开发语言·前端·javascript·数据库·vue.js·人工智能·python
A__tao8 小时前
Elasticsearch Mapping 一键生成 Java 实体类(支持嵌套 + 自动过滤注释)
java·python·elasticsearch
研究点啥好呢8 小时前
Github热门项目推荐 | 创建你的像素风格!
c++·python·node.js·github·开源软件
迷藏4948 小时前
**发散创新:基于Rust实现的开源合规权限管理框架设计与实践**在现代软件架构中,**权限控制(RBAC)** 已成为保障
java·开发语言·python·rust·开源
明日清晨9 小时前
python扫码登录dy
开发语言·python