知識表示

知識表示係認知科學同人工智能領域當中一個受關注嘅課題，指一個認知系統－無論係人類定係人工智能－內部點樣表示有關「周圍世界點運作」嘅資訊，以及點樣用呢啲資訊對事物作出判斷同預測。

舉個簡單例子說明，想像家陣有一個噉樣嘅神經網絡：個網絡有兩層，每層有若干粒神經細胞，第一層表示「見到嗰樣物件嘅特徵」，而第二層表示「將件物件分做乜嘢類」，第二層每粒神經細胞會同第一層嘅某啲細胞有連繫，喺某啲特定嘅第一層細胞啟動嗰時會跟住啟動，即係話，攞第  粒第二層細胞：

；
 係第二層細胞  嘅啟動程度，
 係第  粒第一層細胞嘅啟動程度，
 係第  粒第一層細胞對第二層細胞  嘅影響力，而  數值可以係 0。

假想第一層細胞每粒代表咗一個特徵，而第二層細胞每粒代表咗一個類別。當個網絡望到外界有一件具有「有毛皮」、「有鬚」同「四隻腳」等特徵嘅物件嗰時，呢啲特徵相應嘅第一層細胞就會啟動，而第二層細胞當中同呢柞細胞有連繫嗰粒－例如代表「貓」嗰粒第二層細胞－就會跟住啟動。噉即係話，呢個網絡曉一接收到某啲特徵，就將件物件歸類做某個相應嘅類別－「貓有毛皮、有鬚、四隻腳」係一個知識，而呢個知識就係用一個神經網絡嘅方式「表示」咗出嚟。

對知識表示嘅研究有相當嘅跨學科性：呢個領域神經基礎

細胞 

神經細胞可以帶有同傳遞資訊：一個腦由極大量嘅神經細胞組成，例如一個正常大人嘅腦據估計有成 860 億粒神經細胞咁多；一粒神經細胞喺接收到某啲特定嘅刺激嗰陣，會用微弱電流等嘅型式傳訊號，例如視網膜上面嗰一大柞感光細胞喺受光刺激嗰時，會射訊號上個腦嘅視覺皮層嗰度，而每種感光細胞都淨係會對某啲特定刺激有反應，所以每當個腦收到呢啲訊號嗰陣，就可以判斷對眼望到乜－「射緊訊號嘅得感應藍色光嘅感光細胞，對眼梗係望緊啲藍色嘅嘢喇」。神經編碼係神經科學一個子領域，專門研究解讀神經細胞帶同傳嘅資訊。

網絡 

想像有個由若干粒神經細胞組成嘅神經網絡。輸入層嗰啲細胞會對某啲外界刺激有啟動反應，隱藏層收到輸入層細胞嘅訊號嗰時會啟動，而最後嗰浸輸出層收到隱藏層細胞嘅訊號嗰時又會啟動。即係話是但搵粒細胞，佢嘅啟動程度  可以用以下條式計：

；
 係粒細胞第  個輸入嘅數值，
 係粒細胞第  個輸入對粒細胞  嘅影響力。

而家假想輸出層有 5 粒細胞，每粒都有一個門檻值，如果嗰粒細胞個  超越門檻值，佢嘅數值會變成 1，否則佢嘅數值會變成 0想像輸入係兩個用二進制表達嘅數，而輸出係一個用二進制表達嘅數，將上述數字變成十進制嘅話：

呢個輸入同輸出關係表示，個神經網絡曉計乘數－係一個將有關乘法嘅知識「表示」咗出嚟嘅網絡。同一道理，假想有個神經網絡，有數以百億計嘅細胞，佢會識處理好複雜嘅輸入，俾好複雜嘅輸出，而且仲能夠運算好複雜嘅輸入輸出關係處理過程

普遍同複雜 
普遍化指一個智能系統對唔同嘅輸入俾同一個輸出：例如家陣有兩個唔同嘅輸入－「一隻身上有七條間條嘅老虎」同「一隻身上有八條間條嘅老虎」，而有一個人感知到；對個人嚟講，喺兩個情況下，最理想嘅輸出都係「識驚、走佬」，而如果有個人類見到前者識走佬，但見到後者唔識嘅話，佢好有可能生存唔到；「普遍」化指緊就係將對一個刺激  嘅知識應用落去第啲同  有啲相似嘅刺激嗰度－而「概念」喺定義上就係指普遍化所產生嘅知識表示，個人睇咗一柞老虎之後心靈當中有咗一個「老虎」嘅概念。普遍化嘅能力對於知識系統嚟講好重要。
複雜化指一個智能系統對唔同嘅輸入俾唔同輸出：假想頭先見親老虎都識走佬嗰個人，佢從來未見過貓，跟住有次佢見到貓，因為貓同老虎外形上有某啲相似嘅地方，所以佢見到隻貓就驚同走佬；但打後佢對貓嘅體驗多咗，發覺貓同危險之間並冇正統計相關，於是佢就學識「見到老虎要走佬，但見到貓唔使」－先前會引起同一個輸出嘅刺激，變成會引起唔同輸出，呢個過程就係所謂嘅複雜化。普遍化同複雜化之間嘅平衡係有智能行為嘅基礎。

聚類分析 

聚類分析係一種常用嚟教智能系統學識做適當知識表示嘅方法。假想而家有若干個個案，每個個案都係兩個變數  同  上有個數值，再用以下個演算法處理吓柞個案嘅數據：

手上有 N 個個案，每個個案俾返個標籤佢。
  將啲個案冚唪唥攞喺 C 呢個聚類入面。

直至 size(C) = 1 為止，一路做
    將淨低嘅個案逐對逐對睇，計每對個案之間嘅距離；
    搵出最接近嗰兩個個案，設做 c1 同 c2；
    將 c1 同 c2 加入 c3 入面，c3 係一個包含咗 c1 同 c2 在內嘅聚類，
    將 c3 加入去 C 入面；
    將 c1 同 c2 由 C 嗰度攞走。

如果個數據庫當中有 8 個個案，上述段演算法會俾類似以下噉嘅知識表示：

C = 
    [[[[case_1, case_8], case_2], case_6], [[[case_3, case_4], case_5], case_7]]

假如柞個案真係有得清楚噉分做兩個聚類嘅話，噉呢個演算法嘅運算過程之中，應該臨尾會出咗兩個  同 ，跟住  同  喺最後嗰步變成一體。聚類分析能夠攞一柞輸入，再俾「將柞個案分做若干類」嘅輸出－所以上述個演算法喺人工智能上可以用嚟模擬人類「睇過一柞物體之後，自動噉喺心目中將柞物體分類」嘅心智過程－由數據嗰度產生「見過嘅物件可以分做邊幾類」嘅知識表示，並且喺下次再撞到個案嗰時，用手上呢個知識表示判斷「呢件物件係乜」。

主成份分析 

主成份分析係另一種常用嚟整知識表示嘅分析法。想像而家又係有柞個案，佢哋每個喺兩個變數上都有其數值，跟住可以畫兩條線，兩條線分別都可以用一條包含  同  嘅算式表達，當中由圖當中可以清楚睇到，長箭咀嗰條線成功噉捕捉更多嘅變異數－亦即係話長箭咀嗰條線所代表嗰個「成份」比較能夠用嚟分辨啲個案，所以比較「重要」。

舉個例說明，假想有柞新數據，啲個案係一隻隻動物，而每個個案一係就係隻老鼠，一係就係隻大笨象， 係隻動物嘅大細，而  係隻動物嘅色水；假設柞數據做咗標準化，用同一樣嘅單位表達  同 ，喺呢柞數據入面，沿「色水」嘅變異數好細，因為老鼠同大笨象都係灰灰啡啡噉色嘅動物，但沿「大細」嘅變異數就會大得好交關，因為老鼠同大笨象喺體型上差好遠－用 PCA 嘅話，會得出「用  作為重心線做分辨有用啲」嘅結果－ PCA 幫到手由一柞數據嗰度，產生出「邊個成份喺用嚟分辨個案上比較有用」嘅資訊，而個智能系統可以用呢個資訊做一個知識表示，攞個知識嚟對將來撞到嘅個案作出判斷。

喺最簡單嗰種情況下，一個做主成份分析嘅演算法大致上係噉：
攞數據；
畫條線出嚟，條線有條式，而條式包含數據當中有嘅變數；
計出沿呢條線嘅變異數有幾多；
改變吓條線嘅參數；
再計出沿條新線嘅變異數有幾多；
一路做步驟 4 同 5，做嗮所有指定咗嘅可能性，最後俾具有最大變異數嗰條線做個演算法嘅輸出。

表示模型

語義網絡 

語義網絡係知識表示常用嘅一種模型。一個基本嘅語義網絡有以下組成部份：個網絡有若干個節點，每個節點代表一個概念，而節點之間會有一啲連繫，兩個概念之間嘅連繫表達佢哋之間嘅關係；語義網絡可以用嚟模擬促發效應－喺是但一個時間點，每個節點都有個數代表佢嘅「啟動程度」，而一個節點啟動會令佢掕住嘅節點跟住啟動，同佢連繫愈強嘅節點就會掕住啟動得愈勁；而呢點似十足人嘅促發效應－人都係噉，一講起一樣嘢嗰陣傾向諗起啲同嗰樣嘢相關嘅嘢，例如實驗就噉做過，實驗者叫受試者喺聽到個「狼」字嗰陣有咁快得咁快撳個掣，而喺聽「狼」打前聽到個「狗」字嘅受試者對「狼」嘅反應會變快。

語義網絡可以用機械學習方法產生，例如一個人工智能程式接收咗一柞動物嘅影像，用聚類分析將柞影像分做若干個物種，程式內部每個物種俾個名佢，然後再按聚類分析嘅結果產生一個語義網絡。

貝葉斯知識 

有認知科學家主張，人同第啲動物嘅心靈係按貝葉斯定理學習判斷世界嘅系統。假想有兩件事件， 同 ， 係  發生嘅機會率， 係  發生嘅機會率，根據貝葉斯定理，可以用以下呢條式計：

舉個例說明，有一個地區，個地區嘅人當中有 0.1% 嘅都有一隻病；而家有個新測試，而打前嘅醫學研究顯示，如果個病人真係有嗰隻病，個測試有 90% 機會呈陽性反應，但就算個病人冇嗰隻病，個測試都有 9% 嘅機會呈陽性反應。家吓有個住喺呢個地區嘅人去做咗個測試，出咗陽性結果，用貝葉斯定理嚟計嘅話，佢真係有嗰種病嘅機會率大約係 10% 。

根據主張貝葉斯腦假說嘅認知科學家，一個心靈會透過自己過去嘅經驗，計算一大柞  嘅數值，以此表示自己對「世界係點運作」嘅認識，而呢個知識表示就係所謂嘅「對世界嘅內部模型」：想像一個心靈，佢內部會記住若干份經驗，而佢可以按過去嘅經驗計返 －例如係喺一個實驗裏面，研究者定時定候電隻動物，而隻動物冇能力迴避；隻動物記得 10 次俾人電嘅事件，而喺某幾次事件當中佢有嘗試避開個痛楚，喺某幾次入面佢冇，但次次都一樣遭俾人電；佢個腦計咗之後會發現，自己行動咗跟住受痛楚嘅機率同自己唔行動而受痛楚嘅機率相約，－即係一個「我作唔作出行動結果都係會受痛楚」嘅知識表示，令佢進入「發現自己好無助」嘅狀態。

第啲模型 
迴歸模型，表達「若干個連續性變數之間大致成乜關係」嘅知識。
人工神經網絡，一種能夠正確噉由輸入計輸出，但推論方法冇得開口講明嘅知識表示法。
決策樹，將知識表示成一連串「如果 A 數值等如點點點，噉 B 數值就大概會係點點點」嘅決策。
支援向量機，用嚟將物件按若干個變數分類嘅知識。
... 等等。

本體工程 

本體工程係電腦科學嘅一個子領域，研究點建造本體：定義上，一個本體係一柞概念嘅集合，會表明呢啲概念之間嘅啦掕，可以話係語義網絡嘅一種；本體嘅特徵係，佢啲概念要有明確講到出嚟嘅定義。例：一個用嚟表示打機相關知識嘅本體噉，會包含「電子遊戲」、「遊戲機」同「遊戲設計」等嘅概念嘅定義，跟住仲會有一柞連結，表明概念之間嘅啦掕，例如「遊戲機」會有條拎連去「電子遊戲」嗰度，而「遊戲設計」又會有條拎連落「電子遊戲」嗰度－形成一個描述打機相關概念同呢啲概念之間嘅關係嘅本體。

本體工程對於製作人工智能嚟講相當有用，最幫到手教電腦做自動推理嘅工作－一個程式有咗一個本體，就會有能力答「貓屬於貓科，貓科屬於哺乳類，噉貓係咪屬於哺乳類？」等嘅問題，而答呢類問題嘅能力正正係智能嘅一個重要指標。

以下呢段係一段用網絡本體語言表達嘅一個本體，用嚟描述一啲有關意大利薄餅嘅知識：

Namespace(p = <http://example.com/pizzas.owl#>)
Ontology( <http://example.com/pizzas.owl#>
   Class(p:Pizza partial
     restriction(p:hasBase someValuesFrom(p:PizzaBase)))
   DisjointClasses(p:Pizza p:PizzaBase)
   Class(p:NonVegetarianPizza complete
     intersectionOf(p:Pizza complementOf(p:VegetarianPizza)))
   ObjectProperty(p:isIngredientOf Transitive
     inverseOf(p:hasIngredient))
)

舉個例子說明，呢段碼 ObjectProperty 嗰行會同個程式指明個本體入面某啲物件嘅特性，呢行指令講咗幾樣嘢：首先，「係某某嘅原料」呢個關係係有遞移性嘅－即係教部電腦，如果 A 係 B 嘅原料而 B 係 C 嘅原料，噉佢可以推斷 A 係 C 嘅原料；呢行指令仲表明咗「係某某嘅原料」係「原料包含咗」嘅反轉－所以運用呢個本體嘅人工智能程式可以做「夏威夷薄餅原料包含咗菠蘿，所以菠蘿係夏威夷薄餅嘅原料」嘅推理。

本體同相關技術有唔少應用價值，一個簡單嘅例子係攞嚟喺搜尋器嗰度俾建議：當一個用家搜尋某個關鍵字嗰陣，個搜尋器程式可以用一個事先學習形成嘅語義網絡，估計個用家跟住最有可能會想搜尋啲乜，然後將最有可能會想搜尋嘅嘢列做「建議」。

知識
知識論
心智表徵
認知
人工神經網絡
深度神經網絡
自動推理
數據探勘
知識提取

文獻 

Ronald J. Brachman; What IS-A is and isn't. An Analysis of Taxonomic Links in Semantic Networks; IEEE Computer, 16 (10); October 1983
Ronald J. Brachman, Hector J. Levesque Knowledge Representation and Reasoning, Morgan Kaufmann, 2004 ISBN 978-1-55860-932-7
Ronald J. Brachman, Hector J. Levesque (eds) Readings in Knowledge Representation, Morgan Kaufmann, 1985, ISBN 0-934613-01-X
Chein, M., Mugnier, M.-L. (2009), Graph-based Knowledge Representation: Computational Foundations of Conceptual Graphs, Springer, 2009,ISBN 978-1-84800-285-2.
Randall Davis, Howard Shrobe, and Peter Szolovits; What Is a Knowledge Representation? AI Magazine, 14(1):17-33,1993
Ronald Fagin, Joseph Y. Halpern, Yoram Moses, Moshe Y. Vardi Reasoning About Knowledge, MIT Press, 1995, ISBN 0-262-06162-7
Jean-Luc Hainaut, Jean-Marc Hick, Vincent Englebert, Jean Henrard, Didier Roland: Understanding Implementations of IS-A Relations. ER 1996: 42-57
Hermann Helbig: Knowledge Representation and the Semantics of Natural Language, Springer, Berlin, Heidelberg, New York 2006
Frank van Harmelen, Vladimir Lifschitz and Bruce Porter: Handbook of Knowledge Representation 2007.
Arthur B. Markman: Knowledge Representation Lawrence Erlbaum Associates, 1998
John F. Sowa: Knowledge Representation: Logical, Philosophical, and Computational Foundations. Brooks/Cole: New York, 2000
Adrian Walker, Michael McCord, John F. Sowa, and Walter G. Wilson: Knowledge Systems and Prolog, Second Edition, Addison-Wesley, 1990
Mary-Anne Williams and Hans Rott: "Frontiers in Belief Revision, Kluwer", 2001.

攷

拎 

What is a Knowledge Representation? by Randall Davis and others.
Introduction to Knowledge Modeling by Pejman Makhfi.
Introduction to Description Logics course by Enrico Franconi, Faculty of Computer Science, Free University of Bolzano, Italy.
DATR Lexical knowledge representation language.
Loom Project Home Page.
Description Logic in Practice: A CLASSIC Application.
The Rule Markup Initiative.
Nelements KOS - a non-free 3d knowledge representation system.

知識
人工智能