许可证:apache-2.0
语言:
- 英语
库名称:gliner
数据集:
- knowledgator/GLINER-multi-task-synthetic-data
- knowledgator/biomed_NER
管道标签:token-classification
标签:
- NER
- GLiNER
- 信息抽取
- 编码器
- 实体识别
- 生物医学
基础模型:
- microsoft/deberta-v3-base
- BAAI/bge-base-en-v1.5
指标:
- F1值
GLiNER-BioMed
该模型在论文GLiNER-biomed: 高效开放生物医学命名实体识别模型套件中提出。
代码可在GitHub获取。
GLiNER是一种命名实体识别(NER)模型,能够使用双向Transformer编码器(类似BERT)识别任何类型的实体。它提供了一种实用的替代方案,既克服了传统NER模型局限于预定义实体的缺点,又避免了大型语言模型(LLMs)在资源受限场景下成本高、体积大的问题。
GLiNER-biomed由日内瓦大学DS4DH团队合作开发,是基于GLiNER框架的专为生物医学领域设计的高效开放NER模型套件。该模型通过从大型生成式生物医学语言模型中提取的合成标注数据,在生物医学实体识别任务中实现了零样本和小样本的先进性能。
使用方法
通过pip安装官方GLiNER库:
pip install gliner -U
安装完成后,可轻松加载GLiNER-biomed模型并执行命名实体识别:
from gliner import GLiNER
model = GLiNER.from_pretrained("Ihor/gliner-biomed-bi-large-v1.0")
text = """
患者为45岁男性,被诊断为2型糖尿病和高血压。
医生开具了二甲双胍500mg每日两次和赖诺普利10mg每日一次的处方。
近期实验室检查显示HbA1c水平升高至8.2%。
"""
labels = ["疾病", "药物", "药物剂量", "用药频率", "实验室检查", "检验结果值", "人口统计信息"]
entities = model.predict_entities(text, labels, threshold=0.5)
for entity in entities:
print(entity["text"], "=>", entity["label"])
预期输出:
45岁男性 => 人口统计信息
2型糖尿病 => 疾病
高血压 => 疾病
二甲双胍 => 药物
500mg => 药物剂量
每日两次 => 用药频率
赖诺普利 => 药物
10mg => 药物剂量
每日一次 => 用药频率
HbA1c水平 => 实验室检查
8.2% => 检验结果值
如需处理大量实体并预嵌入,请参考以下代码片段:
labels = ["实体列表"]
texts = ["文本列表"]
entity_embeddings = model.encode_labels(labels, batch_size=8)
outputs = model.batch_predict_with_embeds(texts, entity_embeddings, labels)
性能基准
我们在8个复杂现实数据集上测试了模型性能,并与其他GLiNER模型对比。
(完整基准表格继续...)
加入Discord社区
欢迎通过Discord加入我们的社区,获取最新动态、技术支持和模型讨论。
引用
本工作
若使用GLiNER-biomed模型,请引用:
@misc{yazdani2025glinerbiomedsuiteefficientmodels,
title={GLiNER-biomed: 高效开放生物医学命名实体识别模型套件},
author={Anthony Yazdani and Ihor Stepanov and Douglas Teodoro},
year={2025},
eprint={2504.00676},
archivePrefix={arXiv},
primaryClass={cs.CL},
url={https://arxiv.org/abs/2504.00676},
}
先前工作
@misc{zaratiana2023gliner,
title={GLiNER: 基于双向Transformer的通用命名实体识别模型},
author={Urchade Zaratiana and Nadi Tomeh and Pierre Holat and Thierry Charnois},
year={2023},
eprint={2311.08526},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
@misc{stepanov2024gliner,
title={GLiNER多任务: 面向多种信息抽取任务的通用轻量模型},
author={Ihor Stepanov and Mykhailo Shtopko},
year={2024},
eprint={2406.12925},
archivePrefix={arXiv},
primaryClass={id='cs.LG' full_name='机器学习' is_active=True alt_name=None in_archive='cs' is_general=False description='涵盖机器学习所有研究方向的论文'}
}