项目简介
iText2KG 是一个 Python 包,旨在通过利用大型语言模型从文本文档中提取实体和关系,逐步构建具有已解析实体和关系的一致知识图。它具有零样本功能,允许跨各个领域提取知识,而无需进行专门的培训。该软件包包括用于文档蒸馏、实体提取和关系提取的模块,确保实体和关系得到解析和唯一。它不断用新文档更新知识图谱并将其集成到 Neo4j 中进行可视化表示
iText2KG即插即用,适用于多种场景,比如科学论文、网站、简历的图谱转换,性能优于现有基线
特点:
1、可以根据新文档不断更新知识图谱,将新信息整合到已有结构中
2、不需要针对特定领域进行训练,可以跨领域提取知识
3、包含模块用于文档提炼、实体提取和关系提取,确保提取的实体和关系是唯一且解析过的,减少错误和重复信息
4、支持将提取的实体和关系整合到 Neo4j 数据库中,并提供可视化界面
整体架构
iText2KG
包由四个主要模块组成,它们协同工作以从非结构化文本构建和可视化知识图。整体架构概览:
-
Document Distiller
:该模块处理原始文档并根据用户定义的模式将它们重新格式化为语义块。它通过关注相关信息并以预定义的格式构建它来提高信噪比。
-
增量实体提取器
:该模块从语义块中提取唯一的实体并解决歧义,以确保每个实体都得到明确定义。它使用余弦相似性度量来将本地实体与全局实体进行匹配。
-
增量关系提取器
:该模块识别提取的实体之间的关系。它可以以两种模式运行:使用全局实体通过潜在信息丰富图形,或使用本地实体以获得更精确的关系。
-
图集成器和可视化
:该模块将提取的实体和关系集成到 Neo4j 数据库中,提供知识图的可视化表示。它允许对结构化数据进行交互式探索和分析。
LLM被提示提取代表一个独特概念的实体,以避免语义上混合的实体。下图展示了使用 Langchain JSON Parser 提取实体和关系的提示。它们分为以下几类:蓝色 - 由 Langchain 自动格式化的提示;常规——我们设计的提示;和斜体 - 专门设计的实体和关系提取提示。(a) 提示关系提取,(b) 提示实体提取。
https://github.com/AuvaLab/itext2kg/