GraphRAG 的知识图谱由大语言模型在离线抽取阶段自动构建,无需人工标注,其核心是"文本块 → 图元素 → 图聚合"的三步转化。
1. 文本块切分
- 源文档被分割为粒度适中的文本块,用于后续的实体与关系抽取
- 切分粒度直接影响抽取质量:官方实验表明,在 HotPotQA 数据集上,采用 600 token 的分块所抽取的实体引用数量,接近 2400 token 分块的两倍
- 分块越短,实体召回率越高,但需要更多的 LLM 调用,需在召回率与效率之间权衡
2. 图元素抽取
- 大语言模型对每个文本块识别实体(名称、类型、描述)与关系(源实体、目标实体、关系描述)
- 抽取结果以分隔元组的形式输出,实体与关系共同构成图的节点与边
- 可通过多轮"gleanings"(补全式抽取)机制,促使模型补全首轮遗漏的实体,从而在较大分块下仍保持抽取质量
3. 图聚合与去重
- 各文本块抽取出的实体与关系被聚合为统一的无向加权图
- 边的权重反映实体在语料中共现的频率与强度
- 指向同一实体的不同名称变体会被归并为规范节点,图谱对命名不一致具有一定容错能力