一个用于深度学习本体工程的软件包。
新闻 :newspaper:
- 通过将
openprompt
移至可选依赖项来修复热点问题。(v0.9.1) - 小功能增强;重组软件包布局。(v0.8.9)
- 部署
deeponto.onto.taxonomy
;添加结构推理器类型。(v0.8.8) - 部署各种新的本体处理功能,特别是用于推理和语言化;更新OAEI评估工具。(v0.8.7)
- 对某些方法进行小修改,并将所有实用方法设置为直接导入。(v0.8.5)
- 在
deeponto.align.oaei
部署OAEI工具,用于子存储库OAEI-Bio-ML中的脚本以及错误修复。(v0.8.4) - 修复BERTMap(推理时卡住)和本体对齐评估的错误。(v0.8.3)
- 部署
deeponto.onto.OntologyNormaliser
和deeponto.onto.OntologyProjector
(v0.8.0)。 - 直接上传Java依赖项并从pip依赖项中移除mowl(v0.7.5)。
- 部署
deeponto.subs.bertsubs
和deeponto.onto.pruning
模块(v0.7.0)。 - 部署
deeponto.probe.ontolama
和deeponto.onto.verbalisation
模块(v0.6.0)。 - 基于OWLAPI重建整个软件包;从基本依赖项中移除owlready2(从v0.5.x开始)。
查看完整的更新日志和常见问题。常见问题页面目前包含的信息不多,但会根据反馈进行更新。
关于
$\textsf{DeepOnto}$ 旨在为实现深度学习模型、构建资源和进行各种本体工程目的的评估提供构建块。
- 文档:https://krr-oxford.github.io/DeepOnto/。
- Github仓库:https://github.com/KRR-Oxford/DeepOnto。
- PyPI:https://pypi.org/project/deeponto/。
安装
OWLAPI
$\textsf{DeepOnto}$ 依赖于OWLAPI版本4.5.22(用Java编写)来处理本体。
我们遵循mOWL中实现的方法,使用JPype来桥接Python和Java虚拟机(JVM)。请查看JPype的安装页面以成功初始化JVM。
Pytorch
$\textsf{DeepOnto}$ 依赖于Pytorch作为深度学习框架。
我们建议在安装$\textsf{DeepOnto}$之前安装Pytorch,按照Pytorch网页上列出的命令进行操作。请注意,用户可以选择GPU(带CUDA)或CPU版本的Pytorch。
如果最新的Pytorch版本导致任何兼容性问题,请使用以下已知可行的命令(使用CUDA 11.6
):
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu116
$\textsf{DeepOnto}$的基本使用不依赖于GPU,但为了高效训练深度学习模型,请确保torch.cuda.is_available()
返回True
。
从PyPI安装
其他依赖项在 setup.cfg
和 requirements.txt
中指定,应该与 deeponto
一起安装。
# 需要 Python>=3.8
pip install deeponto
我们已被告知 openprompt
与其他几个包存在冲突,在搭载 M1 芯片的 MacOS 上难以解决,因此我们现在将其设置为可选依赖。然而,它是 deeponto.complete.ontolama
中 OntoLAMA 代码的主要依赖。要使用 OntoLAMA,请单独安装 openprompt
,或使用以下命令安装 DeepOnto:
pip install deeponto[ontolama]
从 Git 仓库安装
要安装最新的、可能尚未发布的 deeponto 版本,你可以直接从仓库安装。
pip install git+https://github.com/KRR-Oxford/DeepOnto.git
主要特性
图:DeepOnto 架构示意图。
本体处理
DeepOnto 的基类是 [Ontology
][deeponto.onto.Ontology],它作为引入 OWLAPI 功能的主要入口点,如访问本体实体、查询祖先/后代(和父/子)概念、删除实体、修改公理和检索注释。参见加载本体的快速使用。除了这些基本功能外,还构建了几个重要的子模块来增强核心模块,包括以下内容:
-
本体推理 ([
OntologyReasoner
][deeponto.onto.OntologyReasoner]):DeepOnto 的每个实例都有一个推理器作为其属性。它用于进行推理活动,如获取推断的上位和下位概念,以及检查蕴含和一致性。 -
本体剪枝 ([
OntologyPruner
][deeponto.onto.OntologyPruner]):该子模块旨在纳入从输入本体中提取子本体的剪枝算法。我们目前实现了[2]中提出的算法,该算法在目标删除类的声明(原子或复杂)父类和子类之间引入了包含公理。 -
本体语言化 ([
OntologyVerbaliser
][deeponto.onto.OntologyVerbaliser]):这里实现了[4]中提出的递归概念语言化器,它可以根据本体中可用的实体名称或标签自动将复杂的逻辑表达式转化为文本句子。参见本体概念语言化。 -
本体投影 ([
OntologyProjector
][deeponto.onto.OntologyProjector]):这里实现了 OWL2Vec* 本体嵌入中采用的投影算法,用于将本体的 TBox 转换为一组 RDF 三元组。相关代码修改自 mOWL 库。 -
本体归一化 ([
OntologyNormaliser
][deeponto.onto.OntologyNormaliser]):实现的 $\mathcal{EL}$ 归一化也修改自 mOWL 库,用于将 TBox 公理转换为归一化形式,以支持例如几何本体嵌入。 -
本体分类 ([
OntologyTaxonomy
][deeponto.onto.OntologyTaxonomy]):从本体中提取的分类是一个有向无环图,用于表示包含层次结构,常用于支持基于图的深度学习应用。
工具和资源
基于核心本体处理模块实现了各种工具和资源。目前,DeepOnto 支持以下内容:
-
BERTMap [1] 是一个基于 BERT 的本体匹配(OM)系统,最初在此仓库中开发,但现在在 DeepOnto 中维护。参见 使用 BERTMap 和 BERTMapLt 进行本体匹配。
-
Bio-ML [2] 是一个 OM 资源,已在 OAEI 的 Bio-ML 赛道中使用。参见 Bio-ML:全面文档。
-
BERTSubs [3] 是一个用于本体包含关系预测的系统。我们已将其原始实验代码转换到这个项目中。参见 使用 BERTSubs 进行包含关系推理。
-
OntoLAMA [4] 是对语言模型进行本体包含关系推理的评估。参见 OntoLAMA:数据集概述和使用指南,了解数据集的使用和基于提示的探测方法。
许可证
!!! license "许可证"
版权所有 2021-2023 Yuan He。
版权所有 2023 Yuan He, Jiaoyan Chen。
保留所有权利。
根据 Apache License 2.0 版获得许可;
除非符合许可证的要求,否则你不得使用此文件。
你可以在以下位置获得许可证副本:*<http://www.apache.org/licenses/LICENSE-2.0>*
除非适用法律要求或书面同意,根据许可证分发的软件按"原样"提供,不附带任何形式的明示或暗示的保证或条件。有关许可证下的权限和限制的具体规定,请参阅许可证。
引用
我们$\textsf{DeepOnto}$系统论文的预印本目前可在arxiv上获取。
Yuan He, Jiaoyan Chen, Hang Dong, Ian Horrocks, Carlo Allocca, Taehun Kim, 和 Brahmananda Sapkota. DeepOnto:一个用于深度学习本体工程的Python包。 arXiv预印本 arXiv:2307.03067 (2023)。
我们的论文已被语义网期刊接受。
!!! 引用 "引用"
```
@article{he2023deeponto,
title={DeepOnto: A Python Package for Ontology Engineering with Deep Learning},
author={He, Yuan and Chen, Jiaoyan and Dong, Hang and Horrocks, Ian and Allocca, Carlo and Kim, Taehun and Sapkota, Brahmananda},
journal={arXiv preprint arXiv:2307.03067},
year={2023}
}
```
相关出版物
- [1] Yuan He‚ Jiaoyan Chen‚ Denvar Antonyrajah 和 Ian Horrocks. BERTMap:基于BERT的本体对齐系统。第36届人工智能促进协会会议论文集(AAAI-2022)。/arxiv/ /aaai/
- [2] Yuan He‚ Jiaoyan Chen‚ Hang Dong, Ernesto Jiménez-Ruiz, Ali Hadian 和 Ian Horrocks. 适用于机器学习的等价和包含本体匹配生物医学数据集。第21届国际语义网大会(ISWC-2022,最佳资源论文候选)。/arxiv/ /iswc/
- [3] Jiaoyan Chen, Yuan He, Yuxia Geng, Ernesto Jiménez-Ruiz, Hang Dong 和 Ian Horrocks. 用于本体包含预测的上下文语义嵌入。万维网期刊(WWWJ-2023)。/arxiv/ /wwwj/
- [4] Yuan He‚ Jiaoyan Chen, Ernesto Jiménez-Ruiz, Hang Dong 和 Ian Horrocks. 本体包含推理的语言模型分析。计算语言学协会发现(ACL-2023)。/arxiv/ /acl/
- [5] Yuan He, Jiaoyan Chen, Hang Dong, 和 Ian Horrocks. 探索用于本体对齐的大型语言模型。第22届国际语义网大会(ISWC-2023 海报与演示)。/arxiv/ /iswc/
如有任何错误或疑问,请提交GitHub问题或通过以下方式向维护者(Yuan He或Jiaoyan Chen)发送电子邮件:
名字.姓氏@cs.ox.ac.uk