1. 知识图谱在RAG中的困境与突破
去年我在构建一个基于知识图谱的RAG系统时,遇到了一个令人头疼的问题:当我们将文本压缩为(头实体-关系-尾实体)三元组后,系统在多跳问答任务中的表现直线下降。这个问题困扰了我整整三个月,直到我发现了MDER-DR框架才找到解决方案。
1.1 传统知识图谱的局限性
知识图谱(KG)作为结构化知识表示方法,在信息检索领域已经应用多年。但将其直接用于RAG系统时,会出现几个关键问题:
-
语义丢失:将自然语言文本转换为三元组时,约60-70%的上下文信息会被剥离。比如"马云在1999年创立了阿里巴巴"这句话,转换为(马云, 创立, 阿里巴巴)后,时间信息"1999年"就丢失了。
-
多跳推理困难:当需要回答"马云的第一个创业项目是什么"这类问题时,系统需要:
- 先确定马云是谁
- 然后查找他的创业经历
- 最后按时间排序找出第一个项目
这种需要串联多个事实的查询,传统KG很难胜任。
-
检索效率低下:显式的图遍历时间复杂度高,当图谱规模达到百万级节点时,响应时间可能超过10秒。
1.2 MDER-DR框架的核心创新
MDER-DR框架通过两个阶段的创新解决了上述问题:
-
MDER索引阶段:不再是简单存储原始三元组,而是为每个实体生成富含上下文的摘要。这相当于给每个实体打上了"语义标签"。
-
DR检索阶段:采用迭代式查询分解策略,将复杂问题拆解为多个子问题,逐步缩小答案范围。
这个框架最巧妙的地方在于:它没有试图在检索时弥补语义缺失,而是在索引阶段就保留了足够的上下文信息。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. MDER索引策略详解
2.1 四步索引流程
MDER的索引过程可以分为四个关键步骤:
-
映射(Map):
- 使用预训练的语言模型识别文本中的实体和关系
- 不同于传统NER,这里会同时捕捉实体间的潜在关系
- 例如从"特斯拉于2003年由马丁·艾伯哈德和马克·塔彭宁创立"中,不仅能识别出人物和公司实体,还能捕捉到"创始人"关系
-
消歧(Disambiguate):
- 解决像"苹果"这样的多义性问题
- 采用上下文感知的消歧算法,准确率比传统方法提升约
