GraphRAG 采用 Leiden 算法进行社区检测,将知识图谱划分为语义内聚的社区群组。
1. Leiden 算法的作用
- Leiden 算法是一种基于模块度优化的图聚类方法,用于将连接紧密的节点划分为同一社区
- 相比早期常用的 Louvain 算法,Leiden 算法能够保证划分出的社区内部连通性更好,避免出现断裂的子社区
- 该算法由 Traag 等人在 2019 年提出,是 GraphRAG 层级社区结构的技术基础
2. 社区检测在流程中的位置
- 社区检测发生在知识图谱构建完成之后、社区摘要生成之前
- 算法将庞大的实体网络切分为大小不一的社区,为后续并行生成摘要提供分组依据
- 借助社区的模块性,系统可以在索引阶段和查询阶段并行处理各社区,提升整体效率