掘金 人工智能 09月14日
GraphRAG图数据质量评估与优化
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文深入探讨了GraphRAG在实际应用中常遇到的图数据质量问题,如实体识别错误、代词指代不清、图结构不合理以及数据陈旧等。文章强调,这些问题并非模型本身所致,而是源于图数据质量的不足,并指出精确的图数据质量评估对于避免模型“胡说八道”至关重要。文中提出了包括节点、边、结构和一致性检查等在内的多维度评估思路,并提供了实体和关系比较的Python代码示例,旨在帮助用户量化评估GraphRAG的图数据质量,并为持续改进提供依据。

📊 **图数据质量是GraphRAG的基石**:文章指出,GraphRAG模型表现不佳的根本原因往往在于图数据的质量问题,而非模型本身。无论是实体识别不准、代词指代不明、图结构稀疏或爆炸,还是数据陈旧,都会直接影响RAG的问答效果。因此,确保图数据的准确性、完整性和时效性是GraphRAG成功的关键。

🚦 **为何要重视图数据质量评估**:进行图数据质量评估,有助于将问题精准定位到数据层面,而非归咎于模型。这能指导用户进行有针对性的优化,确保模型在可靠的数据基础上运行,从而实现长久稳定的高质量输出。此外,量化评估指标也能促进团队间的有效协作,并为持续改进GraphRAG方案提供数据支持。

💡 **多维度图数据质量评估体系**:文章提出了一套全面的评估思路,包括:节点指标(精确率、召回率、F1、去重率)、边指标(精确率、召回率、F1)、结构指标(连通性、稀疏度/密度)以及一致性检查(逻辑冲突)。这种多角度的审视能够全面发现图数据中的潜在问题。

🧑‍💻 **实践中的评估代码示例**:文章提供了Python代码示例,用于评估实体和关系的提取质量。通过比较预测实体与真实实体(基于名称和类型)以及预测关系与真实关系(基于源实体、目标实体),可以计算出精确率、召回率和F1分数。这些代码为实际操作提供了可行的参考,帮助用户验证优化方案的效果。

前言

你是不是也遇到过这种尴尬:用 GraphRAG 搞了个酷炫的知识图谱,本以为问答会变得智能又丝滑,结果模型输出一堆“答非所问”?别急,这锅可能不在模型,而在 图数据质量。今天我们就来聊聊:


🐛 GraphRAG 那些“坑”

GraphRAG 很强大,但也有不少小毛病,我们以GraphRAG:让 RAG 更聪明的一种新玩法中的数据为例:

 2023 年的深圳,一家名为「星河机器人」的初创公司与华为签署了合作协议,计划联合研发下一代类人机器人。这项合作由星河机器人的创始人李明推动,他此前曾在麻省理工学院学习人工智能。协议中提到,华为将提供 5G 通讯技术与昇腾芯片,而星河机器人则负责机器人的操作系统与感知算法。与此同时,在北京,中科院自动化研究所也在进行类似的研究,其负责人王芳曾多次公开表示,中国在未来十年内有望在机器人与脑机接口的结合上取得突破。值得注意的是,王芳与李明在 2021 年上海的「全球人工智能大会」上曾经同台演讲,探讨过 AI 与神经科学的交叉应用。如果这两条研发路线最终能够汇合,可能会加速人形机器人在医疗康复与工业制造中的落地。

    实体识别乱七八糟

      有中文也有英文:李明LI MING,应该是同意个实体。

      ,应该是文本分割造成问题。

      2023,这个应该是时间。

    代词迷失

      句子里出现“他”,模型就像迷路的小羊:“他”是谁来着?

    图结构要么稀疏要么爆炸

      稀疏:检索不到答案。爆炸:一堆无关节点连成网,噪声大到怀疑人生。

    数据陈旧没更新

      还在用去年的数据回答今年的问题,妥妥“历史遗留 bug”。

这些问题的共同根源?👉 图数据质量差。如果图数据不靠谱,RAG 再聪明也只能“胡说八道”。


🚦 为什么图数据质量评估很重要


📊 评估思路(别慌,其实很简单)

    节点指标
      精确率 (Precision)、召回率 (Recall)、F1:预测实体对不对。去重率:有多少重复节点。
    边指标
      同样用 Precision / Recall / F1:连接是否正确。
    结构指标
      连通性:节点之间有没有合理路径。稀疏度 / 密度:过稀疏=找不到信息,过密=噪声太多。
    一致性检查
      有没有逻辑冲突:比如 A→B 和 B→A 意思完全相反。

🧪 让我们动手评估!(示例代码)

评估代码需要根据我们自己的图数据类型来的,我们这边仅提供实体与关系这两类的评估,我们这边提供的不一定是最优的结果,我们的重点通过这个评估的代码,我们判断我们优化的方案是否有效!

🗂️ 示例数据

我们这边使用之前的GraphRAG:让 RAG 更聪明的一种新玩法的样例数据,下面是人工识别的出来的实体与关系信息:

实体:

[  {    "id": "1",    "title": "深圳",    "type": "GEO",    "description": "深圳是中国南方科技中心城市,星河机器人与华为的合作地点",    "coreference": null  },  {    "id": "2",    "title": "星河机器人",    "type": "ORGANIZATION",    "description": "星河机器人是一家专注于类人机器人研发的初创公司",    "coreference": null  },  {    "id": "3",    "title": "华为",    "type": "ORGANIZATION",    "description": "华为是一家全球领先的科技公司,提供 5G 通讯技术和昇腾芯片",    "coreference": null  },  {    "id": "4",    "title": "类人机器人",    "type": "ORGANIZATION",    "description": "类人机器人是星河机器人与华为联合研发的高级机器人技术",    "coreference": null  },  {    "id": "5",    "title": "李明",    "type": "PERSON",    "description": "李明是星河机器人的创始人,曾在麻省理工学院学习人工智能",    "coreference": null  },  {    "id": "6",    "title": "李明",    "type": "PERSON",    "description": "李明是星河机器人的创始人,曾在麻省理工学院学习人工智能",    "coreference": "他"  },  {    "id": "7",    "title": "麻省理工学院",    "type": "GEO",    "description": "麻省理工学院是李明学习人工智能的著名学术机构",    "coreference": null  },  {    "id": "8",    "title": "5G通讯技术",    "type": "ORGANIZATION",    "description": "5G 通讯技术是华为为类人机器人研发提供的关键技术",    "coreference": null  },  {    "id": "9",    "title": "昇腾芯片",    "type": "ORGANIZATION",    "description": "昇腾芯片是华为为类人机器人研发提供的高性能芯片",    "coreference": null  },  {    "id": "10",    "title": "机器人操作系统",    "type": "ORGANIZATION",    "description": "机器人操作系统由星河机器人开发,用于类人机器人控制",    "coreference": null  },  {    "id": "11",    "title": "感知算法",    "type": "ORGANIZATION",    "description": "感知算法由星河机器人开发,用于类人机器人的环境感知",    "coreference": null  },  {    "id": "12",    "title": "北京",    "type": "GEO",    "description": "北京是中科院自动化研究所的所在地,科技研究重镇",    "coreference": null  },  {    "id": "13",    "title": "中科院自动化研究所",    "type": "ORGANIZATION",    "description": "中科院自动化研究所从事机器人与脑机接口研究",    "coreference": null  },  {    "id": "14",    "title": "王芳",    "type": "PERSON",    "description": "王芳是中科院自动化研究所的负责人,研究机器人与脑机接口",    "coreference": null  },  {    "id": "15",    "title": "中科院自动化研究所",    "type": "ORGANIZATION",    "description": "中科院自动化研究所从事机器人与脑机接口研究",    "coreference": "其"  },  {    "id": "16",    "title": "中国",    "type": "GEO",    "description": "中国是机器人与脑机接口研究的重要国家",    "coreference": null  },  {    "id": "17",    "title": "未来十年",    "type": "EVENT",    "description": "未来十年是中国机器人与脑机接口技术的突破期",    "coreference": null  },  {    "id": "18",    "title": "脑机接口",    "type": "ORGANIZATION",    "description": "脑机接口是中科院自动化研究所研究的前沿技术",    "coreference": null  },  {    "id": "19",    "title": "王芳",    "type": "PERSON",    "description": "王芳是中科院自动化研究所的负责人,研究机器人与脑机接口",    "coreference": null  },  {    "id": "20",    "title": "李明",    "type": "PERSON",    "description": "李明是星河机器人的创始人,曾在麻省理工学院学习人工智能",    "coreference": null  },  {    "id": "21",    "title": "李明和王芳",    "type": "PERSON",    "description": "李明和王芳在2021年全球人工智能大会上同台演讲",    "coreference": "他们"  },  {    "id": "22",    "title": "2021年",    "type": "EVENT",    "description": "2021 年是全球人工智能大会的举办时间",    "coreference": null  },  {    "id": "23",    "title": "上海",    "type": "GEO",    "description": "上海是2021年全球人工智能大会的举办城市",    "coreference": null  },  {    "id": "24",    "title": "全球人工智能大会",    "type": "EVENT",    "description": "全球人工智能大会是2021年李明与王芳同台演讲的平台",    "coreference": null  },  {    "id": "25",    "title": "人工智能",    "type": "ORGANIZATION",    "description": "人工智能是李明和王芳研究的重点领域",    "coreference": null  },  {    "id": "26",    "title": "神经科学",    "type": "ORGANIZATION",    "description": "神经科学是王芳在全球人工智能大会上探讨的领域",    "coreference": null  },  {    "id": "27",    "title": "医疗康复",    "type": "ORGANIZATION",    "description": "医疗康复是人形机器人的潜在应用领域",    "coreference": null  },  {    "id": "28",    "title": "工业制造",    "type": "ORGANIZATION",    "description": "工业制造是人形机器人的潜在应用领域",    "coreference": null  },  {    "id": "29",    "title": "人工智能",    "type": "ORGANIZATION",    "description": "人工智能是星河机器人和华为合作研发的核心技术领域",    "coreference": null  },  {    "id": "30",    "title": "神经科学",    "type": "ORGANIZATION",    "description": "神经科学是全球人工智能大会探讨的交叉研究领域",    "coreference": null  },  {    "id": "31",    "title": "AI与神经科学的交叉应用",    "type": "ORGANIZATION",    "description": "AI 与神经科学的交叉应用是李明与王芳在大会上探讨的主题",    "coreference": null  },  {    "id": "32",    "title": "两条研发路线",    "type": "ORGANIZATION",    "description": "两条研发路线指星河机器人和中科院自动化研究所的类人机器人与脑机接口研究",    "coreference": null  }]

关系

[  {    "id": 1,    "source": "星河机器人",    "target": "华为",    "description": "星河机器人与华为签署了合作协议,计划联合研发项目",    "relationship_strength": 0.9  },  {    "id": 2,    "source": "星河机器人",    "target": "深圳",    "description": "星河机器人位于深圳,这座城市是其运营的基础",    "relationship_strength": 0.8  },  {    "id": 3,    "source": "星河机器人",    "target": "2023年",    "description": "2023年是星河机器人与华为合作的关键年份",    "relationship_strength": 0.8  },  {    "id": 4,    "source": "星河机器人",    "target": "合作协议",    "description": "星河机器人与华为签署的合作协议是双方合作的基础",    "relationship_strength": 0.9  },  {    "id": 5,    "source": "华为",    "target": "深圳",    "description": "华为的总部位于深圳,这使得两者在地理上紧密相关",    "relationship_strength": 0.8  },  {    "id": 6,    "source": "华为",    "target": "2023年",    "description": "2023年是华为与星河机器人签署合作协议的年份",    "relationship_strength": 0.8  },  {    "id": 7,    "source": "华为",    "target": "合作协议",    "description": "华为与星河机器人签署的合作协议是其研发合作的一部分",    "relationship_strength": 0.9  },  {    "id": 8,    "source": "星河机器人",    "target": "李明",    "description": "李明是星河机器人的创始人,推动公司的研发项目",    "relationship_strength": 1.0  },  {    "id": 9,    "source": "星河机器人",    "target": "类人机器人",    "description": "星河机器人专注于类人机器人的研发,致力于推动这一领域的发展",    "relationship_strength": 0.9  },  {    "id": 10,    "source": "李明",    "target": "类人机器人",    "description": "李明推动了类人机器人的研发项目,代表了技术的进步",    "relationship_strength": 0.8  },  {    "id": 11,    "source": "华为",    "target": "麻省理工学院",    "description": "华为与麻省理工学院在人工智能领域有合作关系,可能涉及技术交流或研究项目",    "relationship_strength": 0.5  },  {    "id": 12,    "source": "中科院自动化研究所",    "target": "王芳",    "description": "王芳是中科院自动化研究所的负责人,负责该机构的研究方向和发展",    "relationship_strength": 1.0  },  {    "id": 13,    "source": "中科院自动化研究所",    "target": "中国",    "description": "中科院自动化研究所的研究与中国的科技发展密切相关",    "relationship_strength": 0.7  },  {    "id": 14,    "source": "中科院自动化研究所",    "target": "北京",    "description": "中科院自动化研究所位于北京,受该城市的科技环境影响",    "relationship_strength": 0.8  },  {    "id": 15,    "source": "王芳",    "target": "中国",    "description": "王芳的研究观点与中国未来的发展方向密切相关",    "relationship_strength": 0.7  },  {    "id": 16,    "source": "中国",    "target": "未来十年",    "description": "未来十年是中国在科技和经济发展方面的重要时期",    "relationship_strength": 0.7  },  {    "id": 17,    "source": "中国",    "target": "王芳",    "description": "王芳在中国的机器人与脑机接口研究领域工作",    "relationship_strength": 0.7  },  {    "id": 18,    "source": "王芳",    "target": "李明",    "description": "王芳与李明在2021年上海的「全球人工智能大会」上曾经同台演讲",    "relationship_strength": 0.6  },  {    "id": 19,    "source": "王芳",    "target": "全球人工智能大会",    "description": "王芳在2021年上海的「全球人工智能大会」上演讲",    "relationship_strength": 0.6  },  {    "id": 20,    "source": "李明",    "target": "全球人工智能大会",    "description": "李明在2021年上海的「全球人工智能大会」上演讲",    "relationship_strength": 0.6  },  {    "id": 21,    "source": "人形机器人",    "target": "医疗康复",    "description": "人形机器人在医疗康复中被应用以加速康复过程",    "relationship_strength": 0.7  },  {    "id": 22,    "source": "人形机器人",    "target": "工业制造",    "description": "人形机器人在工业制造中被应用以提高生产效率",    "relationship_strength": 0.7  },  {    "id": 23,    "source": "星河机器人",    "target": "5G 通讯技术",    "description": "星河机器人使用华为提供的 5G 通讯技术进行类人机器人研发",    "relationship_strength": 0.8  },  {    "id": 24,    "source": "星河机器人",    "target": "昇腾芯片",    "description": "星河机器人使用华为提供的昇腾芯片进行类人机器人研发",    "relationship_strength": 0.8  },  {    "id": 25,    "source": "星河机器人",    "target": "机器人操作系统",    "description": "星河机器人负责开发机器人操作系统用于类人机器人",    "relationship_strength": 0.8  },  {    "id": 26,    "source": "星河机器人",    "target": "感知算法",    "description": "星河机器人负责开发感知算法用于类人机器人",    "relationship_strength": 0.8  },  {    "id": 27,    "source": "中科院自动化研究所",    "target": "脑机接口",    "description": "中科院自动化研究所研究机器人与脑机接口的结合",    "relationship_strength": 0.8  },  {    "id": 28,    "source": "王芳",    "target": "脑机接口",    "description": "王芳推动中科院自动化研究所的脑机接口研究",    "relationship_strength": 0.8  },  {    "id": 29,    "source": "李明",    "target": "人工智能",    "description": "李明在麻省理工学院学习人工智能,奠定了其技术背景",    "relationship_strength": 0.7  },  {    "id": 30,    "source": "王芳",    "target": "神经科学",    "description": "王芳在全球人工智能大会上探讨 AI 与神经科学的交叉应用",    "relationship_strength": 0.6  },  {    "id": 31,    "source": "全球人工智能大会",    "target": "上海",    "description": "全球人工智能大会于2021年在上海举办",    "relationship_strength": 0.7  },  {    "id": 32,    "source": "类人机器人",    "target": "脑机接口",    "description": "类人机器人与脑机接口的研发路线可能汇合以加速技术应用",    "relationship_strength": 0.5  }]

🧑‍💻 评估代码

这边人工打标的数据是json或者parquet格式,graphrag存储格式:parquet

核心逻辑:


🥫graphrag生成的实体

graphrag具体的部署与运行请参考GraphRAG:让 RAG 更聪明的一种新玩法部分,这边补充下本文测试的对应的配置:

模型:

default_chat_model:gpt-4o-mini

default_embedding_model:BAAI/bge-m3

encoding_model:cl100k_base

文件分割配置

chunks:  size: 50  overlap: 10

🎉 运行结果示例


🔍 小结 & Tips

🎯 一句话总结:想让你的 GraphRAG 不再“答非所问”?先从图数据质量评估开始吧,让你的知识图谱稳得像“地基打得牢”的摩天大楼!

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

GraphRAG 知识图谱 数据质量 RAG 评估 优化 AI 自然语言处理 Graph Data Quality Knowledge Graph Evaluation Optimization NLP
相关文章