快速上手的生物医学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/
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)
公众号二维码

公众号二维码


浙公网安备 33010602011771号