项目简介:scibert_scivocab_uncased-finetuned-ner
scibert_scivocab_uncased-finetuned-ner 是一个基于SciBERT的模型,该模型经过调整以执行命名实体识别(NER),主要用于识别药物名称和药物不良反应。模型采用了最新的自然语言处理技术,旨在帮助医学研究人员和专业人士更加便捷地提取相关医学文本信息。
目标与背景
该项目的主要目标是利用SciBERT模型来识别医疗文本中的命名实体。SciBERT是一个为科学文本特别优化的BERT变体,通过微调,它能够识别和分类与药物相关的实体和事件。这一功能对于需要处理大量医学文献的研究人员来说尤为重要。
功能详解
模型会将输入的文本标记分为以下五类:
B-DRUG
:药物实体的开头部分I-DRUG
:药物实体内部B-EFFECT
:不良反应实体的开头部分I-EFFECT
:不良反应实体内部O
:不属于上述任何一种实体的部分
这种分类方式优化了对文本的解析能力,使得模型能够高效地捕捉复杂医学术语和信息。
数据集
该项目使用了ade_corpus_v2数据集。该数据集包含丰富的不良药物反应信息,是训练和测试此类模型的理想选择。
使用方式
开始使用此模型进行推理非常简单。用户只需像下面展示的那样设置一个NER管道:
from transformers import (AutoModelForTokenClassification,
AutoTokenizer,
pipeline,
)
model_checkpoint = "jsylee/scibert_scivocab_uncased-finetuned-ner"
model = AutoModelForTokenClassification.from_pretrained(model_checkpoint, num_labels=5,
id2label={0: 'O', 1: 'B-DRUG', 2: 'I-DRUG', 3: 'B-EFFECT', 4: 'I-EFFECT'}
)
tokenizer = AutoTokenizer.from_pretrained(model_checkpoint)
model_pipeline = pipeline(task="ner", model=model, tokenizer=tokenizer)
print( model_pipeline ("Abortion, miscarriage or uterine hemorrhage associated with misoprostol (Cytotec), a labor-inducing drug."))
示例
该模型已经在多个医学场景中得到测试和验证,例如:
- 解析与米非司酮(Cytotec)相关的流产或子宫出血
- 识别与多种镇静剂及镇痛药(如地西泮,吗啡)相关的成瘾问题
- 与阿司匹林治疗相关的肠道出血
- 识别与COX-2抑制剂(如Vioxx)相关的心血管疾病
相关资源
- SciBERT模型:提供科学文本处理基础。
- 数据集:ade_corpus_v2
总的来说,scibert_scivocab_uncased-finetuned-ner为医学信息提取提供了高效的工具,能够显著提升医学信息获取的准确性和效率。