咱們先從一個日常場景說起:你跟朋友推薦電影,會說“《流浪地球2》特別好看,是科幻片,講的是人類建行星發動機逃離太陽系的故事,裡面的太空電梯特效絕了”。短短几句話裡,藏著“電影名稱、型別、核心劇情、亮點”這些知識,而且你說得條理清晰,朋友一聽就懂。
這其實就是人類的“知識表示”——把腦子裡的想法、資訊,用別人能理解的方式(比如語言、文字、手勢)表達出來。但如果換成電腦,情況就不一樣了:它沒有“腦子”,只有一堆程式碼和資料,怎麼讓它“看懂”《流浪地球2》的相關知識?怎麼讓它像人一樣用這些知識回答問題、推薦電影?這就需要專門的“知識表示”技術,說白了就是一套“把人類知識翻譯成電腦能懂的語言”的方法。
接下來咱們就徹底掰扯明白:知識表示到底是啥、人類和電腦的知識表示有啥不一樣、電腦有哪些“翻譯知識”的套路、這些套路有啥用,保證不用專業術語,全是家常話。
一、先搞懂:知識表示到底是“啥玩意兒”?
其實不管是人還是機器,知識表示的核心就一個:“怎麼把知識存起來、說清楚、用得上”。咱們先拆解開,從最基礎的概念說起,把地基打牢。
1. 知識是啥?—— 不是“死記硬背”,是“有用的資訊+關係”
首先得明確:“知識”不是孤立的“知識點”,比如你知道“蘋果是紅的”,這只是個資訊;但你知道“蘋果是水果,能吃,富含維生素,成熟的蘋果通常是紅的或綠的,能用來做蘋果派”,這些**“資訊+資訊之間的聯絡”** 才叫知識。
就像一本菜譜,單看“鹽5克”是資訊,單看“雞蛋2個”也是資訊,但把“先打雞蛋、再放鹽、然後炒”這些步驟和食材聯絡起來,才是“炒雞蛋”的知識。知識的價值,恰恰藏在這些“聯絡”裡。
2. 知識表示是啥?—— 給知識“找個合適的表達方式”
知道了知識是“資訊+關係”,那知識表示就是“給這些知識找個能被理解、儲存、使用的表達方式”。這事兒對人來說很自然,對電腦來說卻得“刻意設計”。
咱們舉個對比例子:
- 人類的知識表示:你想記住“李白是唐朝詩人,寫過《靜夜思》”,可能會在腦子裡形成一個模糊的“人物卡片”,卡片上寫著“李白”,旁邊畫個箭頭指向“唐朝”,再畫個箭頭指向“《靜夜思》”;跟別人說的時候,直接用語言講出來,或者寫在紙上,別人一看就懂。
- 電腦的知識表示:電腦沒法理解“人物卡片”,也看不懂手寫文字,得把這句話轉換成它能處理的“資料結構”。比如用“(李白,朝代,唐朝)”“(李白,作品,《靜夜思》)”這樣的三元組,或者用節點和線組成的圖(李白是節點,唐朝是節點,“朝代”是連線兩者的線),這樣電腦才能“讀”懂誰和誰有關係。
所以簡單說,知識表示就是“知識的表達方式”——對人而言,是語言、文字、圖畫;對電腦而言,是程式碼、符號、資料結構。而咱們常說的“知識表示技術”,主要就是研究怎麼給電腦設計好用的“知識表達方式”。
3. 為啥要搞知識表示?—— 沒有“好表達”,知識就是“廢品”
你可能會問:“直接把文字輸給電腦不行嗎?為啥非要搞複雜的表示方法?”
還真不行。就像你給一個不懂中文的老外寫“李白,唐,《靜夜思》”,他雖然能看到字,但不知道“唐”是朝代、“《靜夜思》”是作品,這些文字對他來說就是沒用的符號。電腦也是一樣,不經過“表示”的知識,對它來說就是一堆亂碼。
知識表示的核心價值有三個,咱們用“查字典”的例子就能看懂:
1. 讓知識“能被找到”:如果字典裡的字是亂序的,你想查“李”字得翻遍整本書;但按拼音排序(這就是一種“表示方法”),幾秒鐘就能找到。電腦的知識表示也是如此,好的表示方法能讓它快速搜到需要的知識。
2. 讓知識“能被使用”:你查“李白”時,不僅想知道這個名字,還想知道他的朝代、作品。字典裡把這些資訊寫在“李白”詞條下(這也是“表示方法”),你才能把這些知識串起來用。電腦也是,只有把“李白、唐朝、《靜夜思》”的關係表示清楚,它才能回答“《靜夜思》的作者是哪個朝代的”。
3. 讓知識“能被分享”:如果我按拼音查字典,你按部首查,咱們沒法交流查書的經驗;但大家都用統一的拼音排序,就能輕鬆分享“查‘李’字在第XX頁”。電腦的知識表示也需要統一標準,比如不同AI系統都用“三元組”表示關係,它們之間就能互相“交流”知識。
二、對比看:人類和電腦的知識表示,差別到底在哪?
同樣是“表示知識”,人和電腦的思路差得老遠。咱們就從“記知識、用知識、更懂知識”三個維度對比,一下子就能看明白兩者的核心區別。
1. 記知識:人類“模糊靈活”,電腦“精確死板”
人類記知識就像“搭積木”,不用追求絕對精確,能拼起來用就行;電腦記知識就像“擺拼圖”,每一塊必須嚴絲合縫,錯一點都不行。
比如記“狗是哺乳動物”這個知識:
- 人類的記法:你可能不會刻意想“哺乳動物的定義是胎生、哺乳”,但看到狗生小狗、用奶喂小狗,就自然把“狗”和“哺乳動物”聯絡起來;就算遇到“鴨嘴獸(卵生但哺乳)”這種特例,也能靈活調整認知,不會完全推翻之前的知識。
- 電腦的記法:必須先把“哺乳動物”的定義寫成精確的規則,比如“如果一種動物是胎生且哺乳,那麼它是哺乳動物”,再把“狗是胎生、狗會哺乳”這些資訊輸進去,最後形成“(狗,屬於,哺乳動物)”的精確表示。如果遇到鴨嘴獸,不修改規則的話,電腦就會“糾結”:它哺乳但不胎生,到底是不是哺乳動物?
這背後的原因是:人類的大腦是“模糊處理系統”,能接受不確定性;電腦是“精確計算系統”,只能處理明確的指令和資料。
2. 用知識:人類“靠直覺聯想”,電腦“靠規則推理”
遇到問題時,人類用知識靠的是“直覺和聯想”,有時候自己都沒意識到“為啥這麼想”;電腦用知識靠的是“預設的規則”,每一步都能說清楚“怎麼來的”。
比如回答“為甚麼夏天白天比冬天長”:
- 人類的思路:可能先想到“地球繞太陽轉”,然後聯想到“地球是斜著轉的”,再想到“夏天太陽照北半球的時間長”,最後得出結論。整個過程是跳躍的,可能還夾雜著小時候看科普片的記憶,甚至沒明確想“黃赤交角”這個專業詞,也能說出大概原因。
- 電腦的思路:得先有一套明確的知識表示和推理規則:
1. 儲存知識:(地球,繞轉物件,太陽)、(地球,自轉狀態,傾斜)、(傾斜自轉+繞太陽公轉,導致,不同季節日照時間不同)、(北半球夏天,日照時間,長於冬天)。
2. 執行推理:使用者問“夏天白天比冬天長的原因”,電腦先搜“白天長短”相關的知識,找到“日照時間”這個關鍵,再順著“日照時間→公轉+傾斜自轉”的關係鏈條,最後把這些知識組織成回答。
簡單說,人類用知識是“憑感覺走捷徑”,電腦是“按規矩走流程”。
3. 懂知識:人類“知其然也知其所以然”,電腦“知其然不知其所以然”
人類記知識的時候,會順帶理解“背後的道理”;但電腦記知識,只是把“符號和關係”存起來,根本不懂這些符號到底是甚麼意思。
比如“水燒開後會沸騰”這個知識:
- 人類的理解:你不僅知道“水燒開=沸騰”,還知道“這是因為溫度到了100℃,水分子運動變快”,甚至能聯想到“高原上水溫不到100℃就沸騰,因為氣壓低”。你懂“水”“溫度”“氣壓”這些概念的實際意義,還能舉一反三。
- 電腦的理解:電腦裡儲存的是“(水,達到溫度,100℃)→(水,狀態變化,沸騰)”“(環境,氣壓,低)→(水,沸騰溫度,低於100℃)”這樣的規則。它知道“100℃”和“沸騰”有關,但根本不知道“水”是啥味道、“沸騰”是啥樣子,更不會有“用沸騰的水做飯”的生活聯想。
這就是最核心的區別:人類的知識表示是“有意義的理解”,電腦的知識表示是“無意義的符號處理”。就像你能看懂“蘋果”是能吃的水果,電腦只知道“蘋果”是一個節點,和“水果”“能吃”這些節點有連線。
三、拆套路:電腦常用的“知識表示方法”,用例子講明白
為了讓電腦能處理知識,科學家們設計了十幾種表示方法,就像不同的“翻譯話術”,各有各的用處。咱們挑最常用的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:上映時間 → 槽值年1月22日
槽名6:評分 → 槽值:9.0(豆瓣)
“框架名”是大類,“槽名”是這類事物的共同屬性,“槽值”是具體事物的資訊。如果再填《滿江紅》的資訊,就用同一個框架,只改槽值就行。
實際用處:比如影片網站的電影分類系統,用框架表示法儲存每部電影的資訊,使用者搜“2023年上映的科幻片”,電腦就去匹配“型別=科幻片”“上映時間=2023年”的框架,把符合條件的電影列出來。
優點:結構清晰,方便批次處理同類知識;缺點:模板固定,沒法表示不符合模板的“特殊知識”。比如遇到一部“既是科幻又是喜劇,還沒有導演署名”的電影,框架裡沒有對應的槽名,就沒法填。
5. 物件導向表示法:給知識“打包成物件”,像給物品裝禮盒
這種方法是把知識“封裝”成“物件”,就像把一個蘋果的“顏色、味道、能不能吃”這些資訊都裝進一個禮盒裡,禮盒上還寫著“能做甚麼”(比如“可以削皮吃”“可以做沙拉”)。它把“屬性”(是甚麼)和“方法”(能做甚麼)打包在一起,是現在程式設計裡最常用的方法之一。
舉個例子:用物件導向表示法表示“手機”。
- 物件名:手機
- 屬性(是甚麼):品牌=華為、顏色=黑色、螢幕尺寸=6.7英寸、電量=100%
- 方法(能做甚麼):打電話(輸入號碼→撥出)、拍照(點選快門→儲存照片)、上網(連線WiFi→開啟瀏覽器)
電腦裡的“手機物件”不僅有屬性資訊,還知道能執行哪些操作。如果要讓手機“拍照”,直接呼叫“拍照方法”就行。
實際用處:的開發,每個功能模組都是一個“物件”。比如微信裡的“聊天視窗”物件,屬性是“聊天物件、聊天記錄”,方法是“傳送訊息、接收訊息、撤回訊息”,這樣開發起來條理特別清晰。
優點:模組化強,能重複使用;缺點:設計“物件”需要花很多心思,要是屬性或方法漏了,後續改起來很麻煩。
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學的知識太多太雜,有時候會“胡說八道”(也就是“幻覺”),因為它只是靠向量匹配,不是真的理解知識。
五、看應用:知識表示離我們不遠,生活裡到處都是
別以為知識表示是“實驗室裡的東西”,其實咱們每天都在接觸。從到路上的智慧裝置,背後都有它的影子。咱們挑幾個常見的場景,看看它是怎麼發揮作用的。
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能像人一樣理解“開心”的情緒,能自己更新“最新的新聞”,能說清“為啥這麼想”。但到那時候,它依然是“工具”,因為真正的智慧,不僅是“處理知識”,更是“創造知識”——這一點,目前還只有人類能做到。