第1章 初识知识图谱:藏在搜索引擎里的知识魔法
你有没有过这样的经历?周末刷短视频看到博主说“姚明12岁的女儿身高已经超过1米9”,心里痒痒的,打开搜索引擎输入「姚明女儿身高」,刚敲完回车,搜索框右侧直接跳出来一张信息卡片:姚沁蕾,2010年出生,2022年时身高1米9,是前中国男篮运动员姚明与妻子叶莉的女儿,爱好篮球和钢琴——连她参加青少年篮球比赛的现场照片都附在后面,根本不用你点进一堆网页里翻找。又或者学苏轼的《念奴娇·赤壁怀古》,好奇这位大文豪平时都和哪些人来往,搜「苏轼朋友圈」,直接跳出关系网:和他并称“唐宋八大家”的父亲苏洵、弟弟苏辙,和他唱和诗词的好友佛印,还有被贬黄州时一起种地、互相调侃的王巩,甚至连他们互相寄送的诗作标题都列得清清楚楚。
这时候你可能会纳闷:为什么现在的搜索这么“懂你”?不用翻好几页网页,答案直接送到你面前?这背后藏着的魔法,就是我们今天要认识的——知识图谱。
---
一、搜索的“进化史”:从找链接到找答案
要理解知识图谱的价值,我们得先看看没有它的时候,搜索引擎是怎么工作的。相信大部分人都经历过“传统搜索”的痛点:比如你要查“苏轼的朋友有哪些”,搜索结果前几页都是各种问答链接、博客文章,你得点进去一篇一篇看,有的文章写了十几个人,你找半天才能找到佛印的名字,有的文章还夹杂着错误信息,比如把和苏轼完全不是一个朝代的李白列成他的朋友,你得自己分辨真假。
传统搜索引擎的本质是关键词匹配:你输入“姚明女儿身高”,它就去海量网页里找同时包含“姚明”“女儿”“身高”这几个词的页面,再按照网页的权重、更新时间排序给你。这种模式有两个明显的短板:
- 第一,结果太散:你要的信息可能藏在第10页的某个链接里,或者分散在好几篇文章里,你得自己拼凑;
- 第二,真假难辨:只要有网页写了“姚明女儿身高2米2”,哪怕这是谣言,也可能被排在前面,机器根本不知道这句话是对是错。
那有没有办法让机器“看懂”知识,直接把准确的答案整理好给你?这就是知识图谱诞生的初衷。
::: tip 电子版小提示 你可以现在打开任意一个搜索引擎,搜一个你熟悉的名人,比如“袁隆平”,看看搜索结果里有没有直接跳出来的信息卡片?卡片里列了哪些内容?可以先在心里记下来,等下我们就会拆解这些内容是怎么来的。 :::
---
二、知识图谱到底是什么?三个核心要素搞懂它
如果用一句话解释知识图谱,它就是把世界上零散的知识,整理成一张机器能看懂的“关系大网”。这张网里的每一个知识点都不是孤立存在的,而是和其他知识点有明确的联系,就像你微信里的好友关系网:你是网里的一个点,你的朋友、同学、家人都是其他点,你们之间的关系是“好友”“同学”“家人”,机器一看这些关系,就能马上知道你的社交圈是什么样的。
这张“知识大网”的核心只有三个要素,非常好理解:
1. 实体:网里的“点”
实体就是真实存在的、具体的事物,可以是人、地点、物品、事件、概念,比如“姚明”“姚沁蕾”“北京”“泰坦尼克号沉没事件”“篮球”“北宋”这些都是实体。每个实体都是网里的一个独立节点,有自己唯一的身份标识,就像你的身份证号一样,不会和其他人混淆。
2. 属性:实体的“个人简介”
属性就是实体本身自带的特点和信息,比如“姚明”的属性有:身高2米26、出生年份1980年、职业是篮球运动员、籍贯江苏苏州;“姚沁蕾”的属性有:出生年份2010年、身高1米9、爱好篮球和钢琴。属性就是给每个实体做的“个人档案”,把它的关键信息都列出来。
3. 关系:点与点之间的“连线”
关系就是两个实体之间的联系,比如“姚明”和“姚沁蕾”之间的关系是“父女”,“姚沁蕾”和“篮球”之间的关系是“爱好”,“苏轼”和“苏洵”之间的关系是“父子”,“苏轼”和“佛印”之间的关系是“好友”。这些关系就是网里的“连线”,把不同的实体串在一起。
我们拿大家都熟悉的《流浪地球》举个例子,它的知识图谱片段是这样的: | 实体1 | 关系 | 实体2 | 实体1的属性 | 实体2的属性 | |-------|------|-------|------------|------------| | 《流浪地球》 | 导演是 | 郭帆 | 上映年份2019年、类型科幻电影 | 出生年份1980年、职业导演 | | 《流浪地球》 | 主演是 | 吴京 | 改编自刘慈欣的同名小说 | 出生年份1974年、职业演员 | | 《流浪地球》 | 改编自 | 刘慈欣 | 票房46.87亿 | 出生年份1963年、职业科幻作家 | | 吴京 | 好友是 | 刘德华 | —— | 出生年份1961年、职业演员 |
你看,就这么几行内容,就把《流浪地球》相关的核心知识都串起来了,机器只要看了这张表,就能马上回答“《流浪地球》的导演是谁?”“吴京在《流浪地球》里是什么角色?”“《流浪地球》是改编自谁的小说?”这些问题,根本不用去翻网页找答案。
::: note 纸书小知识 在知识图谱的专业术语里,刚才说的“实体-关系-实体”的组合叫做“三元组”,是知识图谱最小的组成单元。你可以把三元组理解成一个“知识小句子”:第一个空填“谁”,第二个空填“什么关系”,第三个空填“和谁”,比如“苏轼”“是”“北宋文学家”,就是一个最简单的三元组。无数个三元组拼在一起,就变成了庞大的知识网。 :::
---
三、知识图谱的成长史:从20年前的预言到现在的“知识魔法”
知识图谱不是突然冒出来的新技术,它的发展历程甚至比大部分同学的年龄还要大,我们可以把它分成三个阶段来看:
第一个阶段:预言阶段(1998年)——语义网的设想
知识图谱的“祖先”是万维网的发明者蒂姆·伯纳斯-李(Tim Berners-Lee)在1998年提出的语义网概念。你可能不知道,我们现在用的万维网,本质上是“给人看的网页”:网页里的文字、图片、视频都是给人浏览的,机器只能识别这些内容的“格式”,根本看不懂“内容是什么意思”。
比如一篇新闻里写“苹果发布了新手机”,机器只能看到“苹果”“发布”“新手机”这几个汉字,不知道“苹果”是指科技公司,不是水果,“新手机”是电子产品,也不知道“苹果”和“新手机”的关系是“公司发布了产品”。蒂姆·伯纳斯-李就想:如果给网页里的所有内容都加上“语义标签”,明确标注每个词是什么实体、是什么关系,让机器也能“看懂”知识,那互联网就不仅仅是一个信息的集合,而是一张真正的“知识大网”了。
这个想法在当时太超前了,直到2012年才真正落地。
第二个阶段:落地阶段(2012年)——谷歌知识图谱的推出
2012年,谷歌正式推出了谷歌知识图谱(Google Knowledge Graph),这是知识图谱历史上第一个大规模商用的产品。谷歌为什么要做这个?因为当时的用户搜索体验太差了:你搜“泰坦尼克号”,出来的结果一半是电影链接,一半是历史事件链接,你得自己判断你要的是哪一个,很多用户搜一个内容要点三四次才能找到想要的答案,太麻烦了。
谷歌就想:能不能把常见的人、事、物、地点、作品这些知识都整理成结构化的关系网,用户搜的时候直接把整理好的答案放在最上面,不用他们点进去找?于是谷歌花了几年时间,把英文世界里的几亿个实体、几十亿条关系都整理成了知识图谱,上线之后,用户的搜索点击率直接降了20%,因为大部分答案直接在搜索页就看到了,不用点进网页。
谷歌知识图谱上线之后,其他公司也纷纷跟进:百度推出了“百度知心”,搜人名、搜电影、搜景点都会直接出信息卡片;阿里巴巴推出了“阿里知识图谱”,用在淘宝、天猫的搜索和推荐里;微信的“搜一搜”也接入了知识图谱,你搜个名人、搜个医院,直接出准确的信息。
第三个阶段:融合阶段(2020年至今)——知识图谱与大模型手拉手
2020年之后,人工智能进入了“大模型时代”,ChatGPT、文心一言、通义千问这些大模型可以像人一样聊天、写文章、解题,很快就火遍了全球。但很快大家就发现大模型有个很大的问题:它会“胡说八道”。
比如你问文心一言“苏轼和李白见过面吗?”,如果它没有知识图谱的约束,可能会编造一个“他们在长安的宴会上见过”的故事,但实际上苏轼是北宋人,李白是唐朝人,差了快200年,根本不可能见面。为什么会这样?因为大模型是从海量的文本里“学”知识的,它不知道哪些知识是对的,哪些是编造的,只要文本里出现过,它就可能学进去。
这时候大家就想到了知识图谱:知识图谱里的知识都是经过人工或算法验证的,准确率非常高,如果把知识图谱和大模型结合起来,让大模型在回答问题的时候先查知识图谱里的准确知识,再组织语言回答,就能既保持大模型的对话能力,又不会胡说八道了。现在大部分主流的大模型都已经接入了知识图谱,你问它常识类的问题,准确率已经非常高了。
::: tip 电子版延伸阅读 如果你对语义网的原始论文感兴趣,可以搜索《Tim Berners-Lee 1998 Semantic Web》,这篇论文发表在《科学美国人》杂志上,是知识图谱领域的开山之作,里面详细描述了语义网的设想,虽然有些内容现在已经过时,但核心思路直到现在还在用。 :::
---
四、知识图谱的核心价值:让机器真正“懂”世界
你可能会问:知识图谱不就是把知识整理成表格吗?和我平时用的百度百科有什么区别?区别可大了,我们可以从三个维度来看:
1. 从“给人看”到“给机器用”
百度百科的知识是写在文章里的,是给人阅读的,比如百度百科里写“苏轼,字子瞻,号东坡居士,北宋文学家,唐宋八大家之一”,人一看就懂,但机器只能看到一堆汉字,不知道“苏轼”是人物,“北宋”是朝代,“唐宋八大家”是一个称号,也不知道它们之间的关系。而知识图谱里的知识是结构化的,每个实体、属性、关系都有明确的标签,机器一看就知道“苏轼”的“所处朝代”是“北宋”,“称号”是“唐宋八大家”,完全不用额外理解。
2. 从“孤立知识”到“关联网络”
百度百科里的每个词条都是独立的,你要找苏轼和苏辙的关系,得分别点进两个人的词条里找,而知识图谱里的知识是关联的,你只要点进“苏轼”的实体,就能直接看到他所有的关系:父亲是苏洵,弟弟是苏辙,好友是佛印、王巩,被贬的地方是黄州,写的作品有《赤壁赋》《念奴娇·赤壁怀古》,所有的知识都是连在一起的,不用你到处找。
3. 从“固定信息”到“灵活扩展”
百度百科的词条内容是比较固定的,你要加个“苏轼爱吃什么”的属性,得等编辑审核通过才能加上,而知识图谱是灵活扩展的,比如你要加“苏轼爱吃红烧肉”的关系,只要在知识图谱里加一个三元组“苏轼”“爱吃”“红烧肉”就行,不用改任何底层结构,想加多少关系就加多少。
我们可以用一个对比图来看传统搜索、普通知识库和知识图谱的区别:
```mermaid graph TD A[用户搜“苏轼的朋友”] --> B[传统搜索引擎] A --> C[百度百科等知识库] A --> D[知识图谱] B --> B1[返回一堆包含关键词的网页链接<br>需要用户自己点进去找、分辨真假] C --> C1[返回苏轼的词条页面<br>用户需要自己滑动找“亲友”部分,关联知识需要跳转其他词条] D --> D1[直接返回苏轼的关系网卡片<br>好友、亲属、同时代文人全部列清楚,附带对应实体的简介] ```
你看,同样的搜索需求,知识图谱的效率是最高的,用户体验也是最好的。
---
五、生活中的知识图谱:你早就见过它了!
很多同学可能觉得知识图谱是很高深的技术,和自己没关系,其实你早就天天在用知识图谱了,只是没发现而已。我们平时用的很多APP的核心功能,背后都有知识图谱在支撑: 1. 搜索引擎的信息卡片:你搜任何名人、景点、电影、电视剧,直接跳出来的包含简介、照片、相关推荐的信息卡片,就是知识图谱最直接的应用; 2. 智能助手的问答:你问Siri“姚明身高多少”,小爱同学“苏轼是哪个朝代的”,它们能直接给出准确答案,不是去网上搜的,是直接查的知识图谱; 3. 音乐/视频APP的推荐:你在网易云音乐搜“周杰伦”,下面不仅会列他的歌曲,还会列他的好友歌手比如方文山、五月天,以及和他风格相似的歌手,这就是知识图谱的人物关系、风格关联在起作用; 4. 地图APP的景点信息:你在高德地图搜“故宫”,直接出来的开放时间、门票价格、周边美食、推荐路线,都是知识图谱整理好的; 5. 搜题APP的知识点总结:你用作业帮、小猿搜题搜一道数学题,不仅会给你答案,还会告诉你这道题对应的知识点是“一元一次方程”,以及相关知识点的讲解链接,这就是知识图谱的知识点关联在起作用。
::: tip 电子版互动小游戏 现在你可以打开你常用的搜索引擎,搜下面这几个内容,看看哪些直接跳出了信息卡片: 1. 你最喜欢的明星的名字 2. 你最近看过的一部电影的名字 3. 你所在城市的名字 4. 你学过的一个历史人物的名字
然后把卡片里的内容列出来,试着找一找里面有哪些实体、属性和关系,看看你能不能自己拆解出这个内容的知识图谱片段。 :::
---
六、本章互动:动手做你的第一个小型知识图谱
光看不练假把式,现在我们来做一个超简单的知识图谱,只需要5分钟: 1. 先想一个你熟悉的人,比如你的偶像、你喜欢的动漫角色、你的家人,比如我就选“我的偶像谷爱凌”; 2. 列3个和这个实体相关的实体:比如“谷爱凌”“北京”“自由式滑雪”; 3. 给每个实体写2个属性:比如谷爱凌的属性是“出生年份2003年”“职业自由式滑雪运动员”,北京的属性是“中国首都”“2022年冬奥会举办地”,自由式滑雪的属性是“冬奥会项目”“需要完成空翻、转体等动作”; 4. 写2个关系:比如“谷爱凌”“出生地是”“北京”,“谷爱凌”“擅长项目是”“自由式滑雪”。
你看,你已经做出一个超迷你的知识图谱了!是不是很简单?
---
七、全书学习路径:从入门到实践
本书一共15章,我们会从零开始,一步步带你玩转知识图谱:
- 第2-4章:带你从零开始构建自己的知识图谱,学会怎么找数据、怎么整理知识、怎么用工具做出来;
- 第5-7章:讲知识图谱和大模型的结合,学会怎么用知识图谱让大模型更聪明,怎么用知识图谱做大模型应用;
- 第8-12章:讲知识图谱在各个领域的应用,从学习、娱乐到科研、生活,你会发现知识图谱能帮你解决很多实际问题;
- 第13-14章:讲知识图谱的未来发展,以及怎么用知识图谱解决复杂的实际问题;
- 第15章:项目实践,带你做一个完整的知识图谱项目,比如“我的兴趣知识图谱”“班级同学关系知识图谱”,做完这个项目,你就能完全掌握知识图谱的核心能力了。
::: note 纸书思考题 1. 你平时用搜索引擎的时候,遇到过哪些“搜了半天找不到答案”的情况?你觉得知识图谱能不能解决这些问题? 2. 如果让你给“王者荣耀”这个游戏做一个小型知识图谱,你会列出哪些实体、属性和关系?试着写下来。 3. 你觉得知识图谱还能用在哪些你熟悉的场景里?开动脑筋想一想,说不定下一个创新的知识图谱应用就出自你的想法。 :::
---
本章小结
今天我们认识了藏在搜索引擎里的“知识魔法”——知识图谱,知道了它是怎么把零散的知识整理成机器能看懂的“关系大网”,了解了它从1998年的语义网设想,到2012年谷歌推出商用产品,再到现在和大模型融合的发展历程,也知道了它的三个核心要素:实体、属性、关系。其实知识图谱一点都不神秘,它就是帮我们整理知识、让机器能看懂知识的工具,未来它会用到我们生活的方方面面,帮我们更高效地获取知识、解决问题。
下一章,我们会带你从零开始,动手构建你的第一个小型知识图谱,不用会编程,不用有基础,跟着步骤做就行,到时候你会发现,原来做知识图谱这么简单!
你有没有过这样的经历?周末刷短视频看到博主说“姚明12岁的女儿身高已经超过1米9”,心里痒痒的,打开搜索引擎输入「姚明女儿身高」,刚敲完回车,搜索框右侧直接跳出来一张信息卡片:姚沁蕾,2010年出生,2022年时身高1米9,是前中国男篮运动员姚明与妻子叶莉的女儿,爱好篮球和钢琴——连她参加青少年篮球比赛的现场照片都附在后面,根本不用你点进一堆网页里翻找。又或者刷《哈利波特》的剪辑,好奇“赫敏的扮演者还演过哪些电影”,搜完直接跳出艾玛·沃特森的信息卡:除了《哈利波特》系列,她还主演了《美女与野兽》《小妇人》,现在是联合国妇女署的亲善大使,经常为女性权益发声,甚至连她和丹尼尔·雷德克里夫、鲁伯特·格林特的戏外 friendship 都列得一清二楚。再或者学苏轼的《念奴娇·赤壁怀古》,好奇这位大文豪平时都和哪些人来往,搜「苏轼朋友圈」,直接跳出关系网:和他并称“唐宋八大家”的父亲苏洵、弟弟苏辙,和他唱和诗词的好友佛印,还有被贬黄州时一起种地、互相调侃的王巩,甚至连他们互相寄送的诗作标题都列得清清楚楚。
这时候你可能会纳闷:为什么现在的搜索这么“懂你”?不用翻好几页网页,答案直接送到你面前?这背后藏着的魔法,就是我们今天要认识的——知识图谱。
---
一、搜索的“进化史”:从找链接到找答案
要理解知识图谱的价值,我们得先看看没有它的时候,搜索引擎是怎么工作的。相信大部分人都经历过“传统搜索”的痛点:比如你要查“苏轼的朋友有哪些”,搜索结果前几页都是各种问答链接、博客文章,你得点进去一篇一篇看,有的文章写了十几个人,你找半天才能找到佛印的名字,有的文章还夹杂着错误信息,比如把和苏轼完全不是一个朝代的李白列成他的朋友,你得自己分辨真假。再比如你搜“鲁迅和周树人谁大”,传统搜索会出来一堆网页说“鲁迅是周树人的笔名”,但没有人告诉你周树人1881年出生,鲁迅这个笔名是1918年才开始用的,你得自己拼凑时间线才能得出答案。
传统搜索引擎的本质是关键词匹配:你输入“姚明女儿身高”,它就去海量网页里找同时包含“姚明”“女儿”“身高”这几个词的页面,再按照网页的权重、更新时间排序给你。谷歌2012年上线知识图谱之前做过统计,用户平均每次搜索需要点击3.2次网页,才能找到自己想要的准确答案,剩下的搜索结果要么是重复内容,要么是无关信息,要么是错误谣言。这种模式有三个明显的短板:
- 第一,结果太散:你要的信息可能藏在第10页的某个链接里,或者分散在好几篇文章里,你得自己拼凑;
- 第二,真假难辨:只要有网页写了“姚明女儿身高2米2”,哪怕这是谣言,也可能被排在前面,机器根本不知道这句话是对是错;
- 第三,无法回答复杂问题:你搜“姚明的妻子的女儿的身高”,传统搜索引擎根本理解不了这个嵌套关系,只能给你一堆包含关键词的网页,根本给不出直接答案。
那有没有办法让机器“看懂”知识,直接把准确的答案整理好给你?这就是知识图谱诞生的初衷。
::: tip 电子版小提示 你可以现在打开任意一个搜索引擎,搜一个你熟悉的名人,比如“袁隆平”,看看搜索结果里有没有直接跳出来的信息卡片?卡片里列了哪些内容?可以先在心里记下来,等下我们就会拆解这些内容是怎么来的。你也可以试试搜“鲁迅和周树人谁大”,看看现在的搜索结果是不是直接