快速上手的生物医学NLP框架KAZU

KAZU - 生物医学NLP框架

注意:最近的2.0版本在自定义模型包和标注的使用上存在较大的向后不兼容性。
欢迎使用KAZU,这是一个与韩国大学合作构建的Python生物医学NLP框架,专为处理生产级工作负载而设计。
该库旨在简化在生产系统中使用最先进的NLP研究的过程。其中包含的部分研究是我们自己的成果,但大部分来自社区,我们对此表示无比感激。
如果您想使用KAZU,请引用我们在EMNLP 2022上发表的论文!

快速开始

安装

需要Python 3.9或更高版本(已在Python 3.11上测试)。
可以:
pip install kazu
或者从发布页面下载wheel文件并在本地安装。
如果您打算在自己的代码库中使用Mypy,请考虑通过以下方式安装KAZU:
pip install kazu[typed]
这将引入kazu依赖项的类型存根,以便mypy在类型检查您的代码库时能够访问尽可能多的相关类型信息。

获取模型包

对于大多数功能,您还需要KAZU模型包。它与每个版本相关联,可以在发布页面上找到。下载后,解压存档并设置:
export KAZU_MODEL_PACK=<解压后存档的路径>
KAZU高度可配置,不过它预装了适用于大多数文献处理用例的默认配置。
要使用这些配置并处理一个简单文档,请参考以下示例代码:

import hydra
from hydra.utils import instantiate
from kazu.data import Document
from kazu.pipeline import Pipeline
from kazu.utils.constants import HYDRA_VERSION_BASE
from pathlib import Path
import os

# Hydra配置保存在模型包中
cdir = Path(os.environ["KAZU_MODEL_PACK"]).joinpath("conf")

@hydra.main(
    version_base=HYDRA_VERSION_BASE, config_path=str(cdir), config_name="config"
)
def kazu_test(cfg):
    pipeline: Pipeline = instantiate(cfg.Pipeline)
    text = "EGFR mutations are often implicated in lung cancer"
    doc = Document.create_simple_document(text)
    pipeline([doc])
    print(f"{doc.get_entities()}")

if __name__ == "__main__":
    kazu_test()

许可证

基于Apache 2.0许可证授权。
KAZU包含了基于兼容许可证的组件。

数据集许可证

  • Chembl, CLO, UBERON: 基于知识共享署名-相同方式共享 3.0 未移植许可证。
  • MONDO, CELLOSAURUS, Gene Ontology: 基于知识共享署名 4.0 未移植许可证。

其他许可的数据集和模型

  • HPO: 自由许可。
  • OPEN TARGETS: 开源目标数据集由某机构提供,可免费用于商业用例。
  • STANZA: 使用了某机构的框架和生物医学NLP模型。
  • SCISPACY: 使用了某机构的生物医学模型。
  • SAPBERT: KAZU使用了SAPBERT的蒸馏版本。
  • GLINER: 使用了某机构的通用命名实体识别模型。
  • SETH: KAZU的SethStep使用Py4j调用SETH突变查找器。
  • Opsin: KAZU的OpsinStep使用Py4j调用OPSIN。
    更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)或者 我的个人博客 https://blog.qife122.com/
    对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)

公众号二维码

公众号二维码

posted @ 2026-01-08 05:59  CodeShare  阅读(4)  评论(0)    收藏  举报