咱们先从一个日常场景说起:你跟朋友推荐电影,会说“《流浪地球2》特别好看,是科幻片,讲的是人类建行星发动机逃离太阳系的故事,里面的太空电梯特效绝了”。短短几句话里,藏着“电影名称、类型、核心剧情、亮点”这些知识,而且你说得条理清晰,朋友一听就懂。
这其实就是人类的“知识表示”——把脑子里的想法、信息,用别人能理解的方式(比如语言、文字、手势)表达出来。但如果换成电脑,情况就不一样了:它没有“脑子”,只有一堆代码和数据,怎么让它“看懂”《流浪地球2》的相关知识?怎么让它像人一样用这些知识回答问题、推荐电影?这就需要专门的“知识表示”技术,说白了就是一套“把人类知识翻译成电脑能懂的语言”的方法。
接下来咱们就彻底掰扯明白:知识表示到底是啥、人类和电脑的知识表示有啥不一样、电脑有哪些“翻译知识”的套路、这些套路有啥用,保证不用专业术语,全是家常话。
一、先搞懂:知识表示到底是“啥玩意儿”?
其实不管是人还是机器,知识表示的核心就一个:“怎么把知识存起来、说清楚、用得上”。咱们先拆解开,从最基础的概念说起,把地基打牢。
1. 知识是啥?—— 不是“死记硬背”,是“有用的信息+关系”
首先得明确:“知识”不是孤立的“知识点”,比如你知道“苹果是红的”,这只是个信息;但你知道“苹果是水果,能吃,富含维生素,成熟的苹果通常是红的或绿的,能用来做苹果派”,这些**“信息+信息之间的联系”** 才叫知识。
就像一本菜谱,单看“盐5克”是信息,单看“鸡蛋2个”也是信息,但把“先打鸡蛋、再放盐、然后炒”这些步骤和食材联系起来,才是“炒鸡蛋”的知识。知识的价值,恰恰藏在这些“联系”里。
2. 知识表示是啥?—— 给知识“找个合适的表达方式”
知道了知识是“信息+关系”,那知识表示就是“给这些知识找个能被理解、存储、使用的表达方式”。这事儿对人来说很自然,对电脑来说却得“刻意设计”。
咱们举个对比例子:
- 人类的知识表示:你想记住“李白是唐朝诗人,写过《静夜思》”,可能会在脑子里形成一个模糊的“人物卡片”,卡片上写着“李白”,旁边画个箭头指向“唐朝”,再画个箭头指向“《静夜思》”;跟别人说的时候,直接用语言讲出来,或者写在纸上,别人一看就懂。
- 电脑的知识表示:电脑没法理解“人物卡片”,也看不懂手写文字,得把这句话转换成它能处理的“数据结构”。比如用“(李白,朝代,唐朝)”“(李白,作品,《静夜思》)”这样的三元组,或者用节点和线组成的图(李白是节点,唐朝是节点,“朝代”是连接两者的线),这样电脑才能“读”懂谁和谁有关系。
所以简单说,知识表示就是“知识的表达方式”——对人而言,是语言、文字、图画;对电脑而言,是代码、符号、数据结构。而咱们常说的“知识表示技术”,主要就是研究怎么给电脑设计好用的“知识表达方式”。
3. 为啥要搞知识表示?—— 没有“好表达”,知识就是“废品”
你可能会问:“直接把文字输给电脑不行吗?为啥非要搞复杂的表示方法?”
还真不行。就像你给一个不懂中文的老外写“李白,唐,《静夜思》”,他虽然能看到字,但不知道“唐”是朝代、“《静夜思》”是作品,这些文字对他来说就是没用的符号。电脑也是一样,不经过“表示”的知识,对它来说就是一堆乱码。
知识表示的核心价值有三个,咱们用“查字典”的例子就能看懂:
1. 让知识“能被找到”:如果字典里的字是乱序的,你想查“李”字得翻遍整本书;但按拼音排序(这就是一种“表示方法”),几秒钟就能找到。电脑的知识表示也是如此,好的表示方法能让它快速搜到需要的知识。
2. 让知识“能被使用”:你查“李白”时,不仅想知道这个名字,还想知道他的朝代、作品。字典里把这些信息写在“李白”词条下(这也是“表示方法”),你才能把这些知识串起来用。电脑也是,只有把“李白、唐朝、《静夜思》”的关系表示清楚,它才能回答“《静夜思》的作者是哪个朝代的”。
3. 让知识“能被分享”:如果我按拼音查字典,你按部首查,咱们没法交流查书的经验;但大家都用统一的拼音排序,就能轻松分享“查‘李’字在第xx页”。电脑的知识表示也需要统一标准,比如不同AI系统都用“三元组”表示关系,它们之间就能互相“交流”知识。
二、对比看:人类和电脑的知识表示,差别到底在哪?
同样是“表示知识”,人和电脑的思路差得老远。咱们就从“记知识、用知识、更懂知识”三个维度对比,一下子就能看明白两者的核心区别。
1. 记知识:人类“模糊灵活”,电脑“精确死板”
人类记知识就像“搭积木”,不用追求绝对精确,能拼起来用就行;电脑记知识就像“摆拼图”,每一块必须严丝合缝,错一点都不行。
比如记“狗是哺乳动物”这个知识:
- 人类的记法:你可能不会刻意想“哺乳动物的定义是胎生、哺乳”,但看到狗生小狗、用奶喂小狗,就自然把“狗”和“哺乳动物”联系起来;就算遇到“鸭嘴兽(卵生但哺乳)”这种特例,也能灵活调整认知,不会完全推翻之前的知识。
- 电脑的记法:必须先把“哺乳动物”的定义写成精确的规则,比如“如果一种动物是胎生且哺乳,那么它是哺乳动物”,再把“狗是胎生、狗会哺乳”这些信息输进去,最后形成“(狗,属于,哺乳动物)”的精确表示。如果遇到鸭嘴兽,不修改规则的话,电脑就会“纠结”:它哺乳但不胎生,到底是不是哺乳动物?
这背后的原因是:人类的大脑是“模糊处理系统”,能接受不确定性;电脑是“精确计算系统”,只能处理明确的指令和数据。
2. 用知识:人类“靠直觉联想”,电脑“靠规则推理”
遇到问题时,人类用知识靠的是“直觉和联想”,有时候自己都没意识到“为啥这么想”;电脑用知识靠的是“预设的规则”,每一步都能说清楚“怎么来的”。
比如回答“为什么夏天白天比冬天长”:
- 人类的思路:可能先想到“地球绕太阳转”,然后联想到“地球是斜着转的”,再想到“夏天太阳照北半球的时间长”,最后得出结论。整个过程是跳跃的,可能还夹杂着小时候看科普片的记忆,甚至没明确想“黄赤交角”这个专业词,也能说出大概原因。
- 电脑的思路:得先有一套明确的知识表示和推理规则:
1. 存储知识:(地球,绕转对象,太阳)、(地球,自转状态,倾斜)、(倾斜自转+绕太阳公转,导致,不同季节日照时间不同)、(北半球夏天,日照时间,长于冬天)。
2. 执行推理:用户问“夏天白天比冬天长的原因”,电脑先搜“白天长短”相关的知识,找到“日照时间”这个关键,再顺着“日照时间→公转+倾斜自转”的关系链条,最后把这些知识组织成回答。
简单说,人类用知识是“凭感觉走捷径”,电脑是“按规矩走流程”。
3. 懂知识:人类“知其然也知其所以然”,电脑“知其然不知其所以然”
人类记知识的时候,会顺带理解“背后的道理”;但电脑记知识,只是把“符号和关系”存起来,根本不懂这些符号到底是什么意思。
比如“水烧开后会沸腾”这个知识:
- 人类的理解:你不仅知道“水烧开=沸腾”,还知道“这是因为温度到了100c,水分子运动变快”,甚至能联想到“高原上水温不到100c就沸腾,因为气压低”。你懂“水”“温度”“气压”这些概念的实际意义,还能举一反三。
- 电脑的理解:电脑里存储的是“(水,达到温度,100c)→(水,状态变化,沸腾)”“(环境,气压,低)→(水,沸腾温度,低于100c)”这样的规则。它知道“100c”和“沸腾”有关,但根本不知道“水”是啥味道、“沸腾”是啥样子,更不会有“用沸腾的水做饭”的生活联想。
这就是最核心的区别:人类的知识表示是“有意义的理解”,电脑的知识表示是“无意义的符号处理”。就像你能看懂“苹果”是能吃的水果,电脑只知道“苹果”是一个节点,和“水果”“能吃”这些节点有连接。
三、拆套路:电脑常用的“知识表示方法”,用例子讲明白
为了让电脑能处理知识,科学家们设计了十几种表示方法,就像不同的“翻译话术”,各有各的用处。咱们挑最常用的6种,用生活场景当例子,保证一看就懂。
1. 逻辑表示法:像做数学证明,精确但死板
这种方法是把知识写成“逻辑公式”,就像初中数学里的“若A则b”,精确到没朋友,但灵活性差。它的核心是“用符号表达条件和结论”,适合处理严格的推理问题。
举个例子:用逻辑表示法写“如果这本书是张三的,那么它是蓝色封面”。
会写成这样的公式:book(张三) → color(蓝色)
- “book(张三)”是条件:这本书属于张三;
- “→”是“如果…那么…”;
- “color(蓝色)”是结论:封面是蓝色。
实际用处:比如智能题库里的逻辑题,电脑可以用这种方法推理。比如存储“所有直角三角形的两条直角边平方和等于斜边平方”“这个三角形是直角三角形,两条直角边分别是3和4”,电脑就能通过逻辑公式算出“斜边是5”。
优点:绝对精确,不会有歧义;缺点:太死板,没法处理模糊知识。比如“大部分年轻人喜欢奶茶”,“大部分”没法用严格的逻辑公式表示,电脑就处理不了。
2. 产生式表示法:“如果…就…”的规则库,像做饭的菜谱
这种方法是把知识写成一堆“如果A,就做b”的规则,就像菜谱里的“如果水开了,就下饺子”,特别符合人类解决问题的思路。它是AI里用得最久的方法之一,尤其适合做“专家系统”。
举个例子:医疗诊断系统里的知识表示。
- 规则1:如果患者发烧、咳嗽、喉咙痛,就判断可能是感冒;
- 规则2:如果患者发烧超过3天、咳嗽带痰、胸闷,就判断可能是肺炎;
- 规则3:如果是感冒,就推荐吃感冒药、多喝水。
这些规则会存在电脑里,当输入患者症状时,电脑就一条条匹配规则,最后给出结论。
实际用处:除了医疗诊断,还有智能客服的自动回复。比如你问“快递没收到怎么办”,电脑会匹配规则“如果用户问快递未收到→回复‘请提供订单号,帮你查询物流’”。
优点:简单易懂,符合人类思维;缺点:规则太多时会“乱套”。比如同时满足感冒和肺炎的部分症状,电脑可能不知道优先匹配哪条规则。
3. 语义网络表示法:用“节点+线”画知识图,像大脑的联想网络
这种方法是用“节点”代表概念(比如“鸟”“飞机”),用“带标签的线”代表关系(比如“会飞”“有羽毛”),画出来像一张蜘蛛网,特别适合表示“概念之间的联系”。
举个例子:用语义网络表示“鸟”的知识。
- 画一个节点写“鸟”;
- 用线连一个节点“有羽毛”,线上标“属性”;
- 再用线连一个节点“会飞”,线上标“能力”;
- 再用线连一个节点“麻雀”,线上标“属于”(麻雀属于鸟);
- 还能连一个节点“飞机”,线上标“相似点”(都能飞)。
画出来就是一张“鸟的知识网络图”,电脑能顺着线找到各个概念的关系。
实际用处:比如百度、谷歌的“知识图谱”就是用这种方法。你搜“李白”,页面右侧会出现“朝代:唐朝”“作品:《静夜思》”“好友:杜甫”,这些就是语义网络里的节点和关系,电脑顺着网络把相关知识都调出来。
优点:直观,能体现知识的关联性;缺点:关系太复杂时,网络会变得混乱,电脑找起来变慢。
4. 框架表示法:给知识建“模板”,像填简历表
这种方法是给一类事物建一个“框架模板”,就像简历里的“基本信息、教育经历、工作经历”模板,然后把具体事物的信息填进去。适合表示“有固定结构的知识”,比如人物、物品、事件。
举个例子:给“电影”建一个框架模板,再填《流浪地球2》的信息。
plaintext
框架名:电影
槽名1:名称 → 槽值:《流浪地球2》
槽名2:类型 → 槽值:科幻片
槽名3:导演 → 槽值:郭帆
槽名4:核心剧情 → 槽值:人类建行星发动机逃离太阳系
槽名5:上映时间 → 槽值:2023年1月22日
槽名6:评分 → 槽值:9.0(豆瓣)
“框架名”是大类,“槽名”是这类事物的共同属性,“槽值”是具体事物的信息。如果再填《满江红》的信息,就用同一个框架,只改槽值就行。
实际用处:比如视频网站的电影分类系统,用框架表示法存储每部电影的信息,用户搜“2023年上映的科幻片”,电脑就去匹配“类型=科幻片”“上映时间=2023年”的框架,把符合条件的电影列出来。
优点:结构清晰,方便批量处理同类知识;缺点:模板固定,没法表示不符合模板的“特殊知识”。比如遇到一部“既是科幻又是喜剧,还没有导演署名”的电影,框架里没有对应的槽名,就没法填。
5. 面向对象表示法:给知识“打包成对象”,像给物品装礼盒
这种方法是把知识“封装”成“对象”,就像把一个苹果的“颜色、味道、能不能吃”这些信息都装进一个礼盒里,礼盒上还写着“能做什么”(比如“可以削皮吃”“可以做沙拉”)。它把“属性”(是什么)和“方法”(能做什么)打包在一起,是现在编程里最常用的方法之一。
举个例子:用面向对象表示法表示“手机”。
- 对象名:手机
- 属性(是什么):品牌=华为、颜色=黑色、屏幕尺寸=6.7英寸、电量=100%
- 方法(能做什么):打电话(输入号码→拨出)、拍照(点击快门→保存照片)、上网(连接wiFi→打开浏览器)
电脑里的“手机对象”不仅有属性信息,还知道能执行哪些操作。如果要让手机“拍照”,直接调用“拍照方法”就行。
实际用处:比如手机App的开发,每个功能模块都是一个“对象”。比如微信里的“聊天窗口”对象,属性是“聊天对象、聊天记录”,方法是“发送消息、接收消息、撤回消息”,这样开发起来条理特别清晰。
优点:模块化强,能重复使用;缺点:设计“对象”需要花很多心思,要是属性或方法漏了,后续改起来很麻烦。
6. 神经网络表示法:把知识“变成数字向量”,像给知识“编密码”
这种方法是现在最火的,尤其在深度学习里。它把每个概念(比如“猫”“狗”)变成一串数字(比如“猫=[0.2, 0.5, -0.3]”“狗=[0.1, 0.4, -0.2]”),这些数字叫“向量”。数字越像,说明概念越接近——比如“猫”和“狗”的向量很像,因为都是动物;“猫”和“桌子”的向量差别很大。
举个例子:用神经网络表示法处理“词语”。
电脑会把“苹果”变成一个向量,比如“[0.3, 0.6, -0.1, 0.4]”。这个向量不是乱编的,是电脑通过分析几百万条文本,发现“苹果”常和“水果”“吃”“甜”一起出现,所以向量里的数字会和“水果”的向量很接近。
当你问“苹果和香蕉有什么共同点”,电脑会对比两者的向量,发现它们的数字很像,再结合其他知识,得出“都是水果,都能吃”的结论。
实际用处:比如chatGpt这类大模型,就是用这种方法表示知识。它能理解“国王”和“女王”的关系,就像“男人”和“女人”的关系,因为它们的向量差值很相似。还有语音识别,电脑把“你好”的声音变成向量,和存储的“你好”向量对比,就能识别出你说的话。
优点:能处理复杂的模糊知识,比如“开心”和“高兴”的细微差别;缺点:数字向量太抽象,人类看不懂,没法解释“电脑为啥这么想”——比如电脑说“苹果和香蕉很像”,你问“为啥”,它说不出理由,只能说“向量很像”。
四、追历史:知识表示是怎么从“简单符号”进化到“智能向量”的?
知识表示不是一开始就这么高级的,它跟着AI的发展走了快100年,就像从“手写书信”进化到“微信聊天”,一步步变得更高效、更智能。咱们按时间线梳理,看看它的进化脉络。
1. 萌芽期(1940s-1960s):用“规则”表示知识,像写说明书
这个阶段的AI刚起步,科学家们觉得“知识就是规则”,所以知识表示也围绕“规则”展开。
1943年,逻辑学家波斯特第一次提出“产生式规则”,就是“如果A就b”的形式,这是最早的知识表示方法之一。当时的电脑很落后,只能处理简单的规则,比如“如果输入1+1,就输出2”。
到了1950年代,图灵提出“图灵测试”,大家开始想让电脑“像人一样思考”,但那时候的知识表示太简单,比如用逻辑符号表示“苏格拉底是人,人都会死,所以苏格拉底会死”,虽然精确,但只能处理这种简单推理,没法应对复杂知识。
2. 发展期(1970s-1980s):给知识“加结构”,像建房子
这个阶段的科学家发现,光有规则不够,知识得有“结构”,就像房子要有梁有柱。于是出现了“框架表示法”“语义网络表示法”这些带结构的方法。
1972年,纽厄尔和西蒙改进了“产生式规则”,让它能处理“不确定的知识”,比如“如果发烧,有80%的可能是感冒”,这比之前的“非黑即白”规则灵活多了。
1975年,明斯基提出“框架表示法”,把知识分成“框架-槽-侧面”的结构,就像给知识建了标准化的“房子”,比如“动物框架”里有“食性”“栖息地”这些“房间(槽)”,每个房间里还有“细节(侧面)”,比如“食性”里有“食肉”“食草”。
同一时期,夏克从框架发展出“脚本表示法”,专门表示“事件的顺序”,比如“去餐厅吃饭”的脚本:进门→找座位→点餐→吃饭→付钱→离开。电脑用这个脚本,就能理解“小明在餐厅点了汉堡”之后,接下来会做“吃饭”。
这个阶段的AI能做简单的“专家系统”,比如医疗诊断系统、下棋程序,但还是局限在“固定领域”,换个领域就得重新写规则。
3. 成熟期(1990s-2010s):用“网络”连知识,像织渔网
这个阶段的互联网兴起,数据变多了,科学家们发现知识不是孤立的,得“连起来”才有用,于是“语义网”“知识图谱”成了热点。
1998年,“语义网”概念被提出,核心是“让电脑能看懂网页上的知识”。比如网页上写“李白是诗人”,以前电脑只知道是文字,语义网会给它加标签“<人物>李白<\/人物>,<身份>诗人<\/身份>”,这样电脑就能“读”懂网页知识。
2012年,谷歌提出“知识图谱”,用语义网络的方法把海量知识连起来,形成一张巨大的“知识网”。比如你搜“北京”,知识图谱里不仅有“北京是中国首都”,还有“北京的人口”“北京的景点”“北京的历史”,甚至能关联到“北京冬奥会”“北京烤鸭”,电脑顺着这张网能给你推荐一堆相关知识。
这个阶段的AI能做智能搜索、智能推荐,比如淘宝根据你的浏览记录推荐商品,就是靠知识图谱里的“用户-商品-兴趣”关系。
4. 爆发期(2020s至今):用“AI”学知识,像教小孩
现在的阶段,知识表示不用“人手动写规则”了,而是让AI自己“学”知识,核心是“神经网络表示法”。
大模型(比如Gpt、文心一言)通过学习互联网上的万亿条文本,自动把词语、句子变成向量,还能学会“关系”。比如它从没见过“张三喜欢吃苹果”这句话,但见过“李四喜欢吃香蕉”“王五喜欢吃橘子”,就能通过向量分析,知道“喜欢吃”是人和水果之间的关系。
2024年之后,知识表示开始往“多模态”发展,就是把文字、图片、声音的知识都用向量表示。比如电脑能把“猫”的文字、猫的图片、“喵”的叫声变成相似的向量,这样你发一张猫的图片,它就能知道“这是猫,会叫喵,是动物”。
这个阶段的AI越来越“智能”,能写文章、做设计、回答复杂问题,但也带来了新问题:AI学的知识太多太杂,有时候会“胡说八道”(也就是“幻觉”),因为它只是靠向量匹配,不是真的理解知识。
五、看应用:知识表示离我们不远,生活里到处都是
别以为知识表示是“实验室里的东西”,其实咱们每天都在接触。从手机里的App到路上的智能设备,背后都有它的影子。咱们挑几个常见的场景,看看它是怎么发挥作用的。
1. 智能搜索:让“搜答案”变成“给结果”
以前搜东西,比如“李白的诗”,会出来一堆网页,得自己翻;现在用百度、谷歌,直接就能看到“李白的代表作:《静夜思》《望庐山瀑布》”,还能关联到“创作背景”“赏析”,这就是知识表示的功劳。
搜索引擎里藏着一张巨大的知识图谱,用语义网络表示法把“李白”“诗”“朝代”这些知识连起来。当你输入问题,电脑先“理解”你的需求(比如“李白的诗”其实是要“李白的代表作及相关信息”),然后在知识图谱里找相关的节点和关系,最后把结果整理成你能看懂的形式。
甚至现在的搜索能处理“模糊问题”,比如你问“《静夜思》的作者是哪个朝代的,他还有啥有名的诗”,电脑能通过知识图谱里的“《静夜思》-作者-李白-朝代-唐朝-作品-《望庐山瀑布》”的关系链,一次性给你答案。
2. 智能推荐:“猜你喜欢”不是瞎猜,是靠知识关联
你在抖音刷到喜欢的视频,下次会推更多类似的;在淘宝买了一件衬衫,会推裤子、领带——这不是“玄学”,是知识表示在背后发力。
推荐系统里用了“面向对象表示法”和“知识图谱”:
- 把你当成一个“用户对象”,属性包括“年龄、性别、浏览记录、购买记录”;
- 把商品当成“商品对象”,属性包括“类型、风格、价格、关联商品”;
- 用知识图谱把“用户-商品-兴趣”连起来,比如“用户A买了衬衫→衬衫属于男装→男装关联裤子→给用户A推裤子”。
比如你在b站看了《流浪地球2》的解说,系统的知识图谱里有“《流浪地球2》-类型-科幻片-关联-《三体》《星际穿越》”,所以会给你推其他科幻片的解说,这就是“知识关联”带来的精准推荐。
3. 智能客服:24小时不睡觉,靠“规则库”接电话
你打银行、运营商的客服电话,经常会先听到“请说您的需求,比如查账单、办业务”,这背后就是“产生式表示法”的功劳。
智能客服的系统里存着几千条“如果…就…”的规则:
- 如果用户说“查账单”,就回复“请提供您的手机号,我为您查询”;
- 如果用户说“办宽带”,就回复“请问您在哪个城市?我们有100m、200m两种套餐”;
- 如果用户说的话匹配不到规则,就转人工客服。
现在的智能客服更高级了,结合了“神经网络表示法”,能理解“同义词”,比如你说“我的话费还有多少”“查一下余额”“话费剩多少了”,它都能匹配到“查账单”的规则,不用你严格按照它给的关键词说。
4. 医疗诊断:当“AI助手”帮医生看片子
在医院里,AI已经能帮医生看ct片、诊断常见病,这背后是“框架表示法”和“知识图谱”的结合。
医疗AI的系统里存着“疾病框架”:
- 比如“肺炎框架”的槽包括“症状(发烧、咳嗽、痰中带血)、ct表现(肺部有阴影)、病因(细菌感染)、治疗方法(抗生素)”;
- 当输入患者的ct片和症状,AI会把这些信息和“肺炎框架”的槽值对比,如果匹配度超过90%,就提示“可能是肺炎”,再把结果给医生参考。
还有的医疗AI用知识图谱把“疾病-症状-药物”连起来,比如患者对“青霉素”过敏,AI在推荐药物时会自动排除含青霉素的药,避免用药风险。
5. 自动驾驶:路上的“AI司机”,靠“知识”躲障碍
自动驾驶汽车能识别红绿灯、避开行人,本质是把“驾驶知识”用“神经网络表示法”和“语义网络”存起来。
汽车的传感器会把路上的信息(红绿灯、行人、其他车)变成向量,然后和系统里的知识对比:
- 看到“红灯”的向量,就匹配“停车”的规则;
- 看到“行人”的向量,就匹配“减速避让”的规则;
- 知识图谱里还有“红绿灯-路口-限速30km\/h”的关系,所以到路口时会自动减速。
现在的自动驾驶还能“学新知识”,比如遇到“施工路段”,以前没见过,但通过向量分析,发现和“障碍”的向量很像,就会自动减速绕行。
六、聊问题:知识表示再牛,也有“搞不定”的事
虽然知识表示已经很先进了,但还不是“万能的”,还有一堆解决不了的难题,这些难题也是科学家们正在攻关的方向。咱们挑最关键的3个,说说它们的“痛点”。
1. 知识太“杂”:没法把“所有知识”都表示清楚
世界上的知识太多了,有“明确的知识”(比如数学公式、历史事件),还有“模糊的知识”(比如“这件衣服挺好看”“他很开心”),更有“隐性的知识”(比如骑自行车的技巧、做饭的手感)。
现在的知识表示能处理“明确知识”,但对“模糊知识”和“隐性知识”几乎没辙:
- 比如“好看”“开心”这种主观感受,没法用精确的规则或向量表示,电脑不知道“多好看算挺好看”;
- 比如骑自行车的“平衡感”,是靠身体感知的隐性知识,没法用符号或向量写出来,所以现在的AI还学不会骑自行车。
2. 知识会“变”:老知识过时,新知识跟不上
知识不是一成不变的,比如“太阳系有9大行星”后来变成了“8大行星”(冥王星被除名),“新冠病毒的治疗方法”也在不断更新。但电脑的知识表示是“静态”的,更新起来很麻烦。
比如知识图谱里存着“太阳系有9大行星”,当冥王星被除名后,得手动修改所有和“9大行星”相关的节点和关系;如果是大模型,就得重新用新数据训练,花几个月时间和几百万美元,成本特别高。
现在科学家们在研究“动态知识表示”,让AI能自己“更新知识”,比如看到新闻说“冥王星不是行星了”,就自动修改自己的知识,但目前还没完全实现。
3. 知识难“解释”:AI说“对”,但说不出“为啥对”
现在的大模型(比如Gpt-4)经常能给出正确答案,但你问它“怎么想出来的”,它说不清楚——这就是“可解释性差”的问题,根源在“神经网络表示法”。
因为大模型的知识是“向量”,是一堆数字,人类看不懂。比如它说“《静夜思》的作者是李白”,你问“为啥”,它只能重复“因为《静夜思》的作者是李白”,没法像人一样说“因为课本里学过,历史资料里也有记载”。
这个问题在关键领域特别致命,比如医疗AI说“患者得了癌症”,医生得知道“AI是根据哪些症状、哪些检查结果判断的”,如果AI说不清楚,医生根本不敢用。
七、总结:知识表示的本质,是“人与机器的沟通桥梁”
聊了这么多,最后咱们回归本质:知识表示到底是啥?
其实它就是一座“桥梁”——左边是人类的“智慧世界”,有语言、经验、直觉;右边是机器的“数字世界”,有代码、符号、向量。知识表示的任务,就是把左边的东西“翻译”到右边,让机器能帮人干活。
从1943年的“产生式规则”到现在的“大模型向量”,这座桥越建越宽、越建越稳:以前只能过“简单推理”的小自行车,现在能过“复杂决策”的大卡车。但它永远成不了“传送门”,因为机器没法真正“理解”知识,只能“处理”知识。
对咱们普通人来说,不用懂具体的公式和算法,只要知道:那些让生活变方便的智能工具——能精准推荐的淘宝、能快速答疑的搜索、能24小时服务的客服——背后都是知识表示在“默默翻译”。
未来,知识表示会往“更模糊、更动态、更可解释”的方向发展,可能有一天,AI能像人一样理解“开心”的情绪,能自己更新“最新的新闻”,能说清“为啥这么想”。但到那时候,它依然是“工具”,因为真正的智慧,不仅是“处理知识”,更是“创造知识”——这一点,目前还只有人类能做到。