GraphRAG概述
GraphRAG概述
文章目录
- GraphRAG概述
- Preliminaries
- 知识图谱
- NRE(Named Entity Recognition)
- RE(Relation Extraction)
- AE(Attribute Extraction)
- GraphRAG
Preliminaries
知识图谱
知识图谱是一种基于图结构的语义网络,用于表现现实世界中的实体及其之间的关系。通过将复杂的信息抽象为“实体-关系-实体”的三元组结构,构建出复杂的知识网络,从而支持高效的信息检索、语义理解和推理。
知识图谱三元组是知识图谱中的基本构成单元,用于描述实体之间的关系或实体的属性。三元组由主体(Subject)、谓词(Predicate)和宾语(Object)组成(SPO),形式为**<主体,谓词,宾语>**,在知识图谱中表现为节点和边的结构,其中节点代表实体或概念,边代表实体间的关系或实体的属性。
在知识图谱中,三元组通常用来表示两种类型的信息:
-
实体间的关系:例如,<北京,是首都,中国>,其中“北京”和“中国”是实体,“是首都”是它们之间的关系。
-
实体的属性:例如,<特朗普,职业,美国总统>,其中“特朗普”是实体,“职业”是属性,“美国总统”是属性值。
NRE(Named Entity Recognition)
它的目标是识别文本中具有特定意义的实体,并将其分类到预定义的类别中。
常见实体类别:人名、地名、组织机构名、时间、日期、货币等。
实体识别可以用BERT做,见https://zhuanlan.zhihu.com/p/74803327。
RE(Relation Extraction)
旨在从文本中识别实体之间的预定义语义关系。
AE(Attribute Extraction)
从非结构化文本中抽取出实体的属性以及属性值。
GraphRAG
传统RAG不能很好关注文本语料的全局信息(缺乏全局理解和感知),GraphRAG首先使用LLM从源文档建立知识图谱,然后将图谱按照层次的community分区图谱,最后通过“map-reduce”汇聚每个community summaries的部分回复,生成全局的回复。
Index阶段:
如上图紫色部分的框图,为知识图谱的索引建立流程。经历分块、实体提取、图谱建立、社区检测、社区总结等多个流程。
推理阶段:
绿色部分为推理过程。给定用户查询,使用来自不同层次的社区摘要来回答问题,最后汇聚生成最终答案。