1. 定义
知识图谱:一种结构化的知识表示形式,用于描述实体(如人、地点、事物)之间的关系和属性。它是一个大规模语义网络,旨在捕获丰富的实体之间的关联,并以图形形式呈现,使得计算机可以理解、推理和处理信息。
知识图谱由谷歌于2012年提出(不确定,但都说是),相比之下,LLM、RAG才是新秀。若仅基于知识图谱实现问答(四代微软小冰),可能会有种mate60p->mate30的感jio,所以基于知识图谱做问答,最好要和LLM、RAG联合,取长补短。
2. 相关项目
智能问答+数据库:DB-GPT
项目地址:GitHub - eosphoros-ai/DB-GPT: Revolutionizing Database Interactions with Private LLM Technology
流程:查询语句(自然语言) -> Text2SQL(模型,需构建数据集进行微调) -> SQL语言 -> 查询
(我理解的是这个样滴)
3. 应用场景
-
推荐系统:召回相关性更好,例如,三只松鼠->坚果、良品铺子、百草味(知识图谱),三只松鼠->松鼠,六个老鼠(Embedding),应用实例“美团大脑”。
-
语义搜索:解析自然语言查询语句->构建知识图谱搜索语句->匹配查询。感觉和推荐系统如出一辙,例如搜索“老八的老婆的兄弟媳妇”,若均为名人,应该能搜出来,这是Embedding难以做到的,尚不确定百度、谷歌是不是这么干滴。
-
智能问答:语义搜索的延伸,采用最相关的语义搜索的结果进行回答,例如四代微软小冰,亦可联合生成模型进行回答。
-
辅助决策:重点突出“辅助”,要基于知识图谱实现决策会很复杂,目前可能也就是打个辅助。例如,辅助法案判决,如下图,通过图谱(亦可呈现历史类似案件),辅助法官快速对防卫过当/正当防卫/故意伤害判决书进行分析,是否存在误判或是否需要补充信息等。
4. 知识图谱 vs LLM
优势:
-
结构化信息支持: 知识图谱提供了结构化的信息,以实体、关系和属性的形式组织。这种结构化信息能够更清晰地表达事实和概念之间的关系,便于理解。
-
精准性和可信度: 知识图谱可在特定领域内提供精准、可信的答案,因为它们基于已知事实和结构化信息。相对而言,大模型在回答问题时可能存在捏造事实的情况,精准性和可信度相对较低。
-
易于更新和维护: 知识图谱可以方便地进行更新和维护,整合新信息、修改错误信息均极为简便。而基于LLM的问答对检索结果极具依赖,且优化检索需对检索模型、排序模型进行重新训练、测试。
局限性:知识图谱可能不包含某些非结构化信息,对于开放域的问题回答效果相对有限。
5. 你猜
1)智慧搜索 :
-
支持全文搜索、标签搜索、精确搜索、批量搜索等多种搜索方式。例如,可对想要了解的实体直接进行搜索,其相关实体或属性一目了然,无需输出特定属性,如下:
From:思知机器人 | 对话机器人 | 聊天机器人 | 知识图谱 - OwnThink
-
配合语义解析,支持自然语言提问式搜索。例如,对查询进行信息抽取,将识别出的实体及属性嵌入至预定义的查询语句模板,对知识图谱执行查询,返回查询结果;或采用Text2CQL模型直接将查询转为CQL(Cypher Query Language),进而对知识图谱执行查询,返回查询结果。可预见的,效果有,但不多。
2)智能问答:基于智慧搜索,联合LLM对提问进行回复,应保证图谱知识优先。感觉基于知识图谱的问答效果会远不及基于Embedding的问答(但快),Text2CQL是灾难。以下是思知的对话机器人的问答效果(问题基于上图),Oh, bad...
总结:介绍、门票、位置等描述规范的问题回复速度远高于其它回复,其原理应该是条件判断优先进行知识图谱匹配,搜索不出则采用LLM,但LLM的IQ不那么在线。由此看来,基于知识图谱的问答对问题的格式要求还是相当严格的,稍微加点字或换种描述就废了。综上,知识图谱可以作为LLM的前置判断直接进行回答,但绝不能舍弃RAG。