Ch2 知識表示
What is knowledge representation?
Knowledge: DIKW (Data, Information, Knowledge, Wisdom)
Knowledge Representation: the process of encoding knowledge into a form/architecture that can be used by a computer.
Way of representing knowledge:
- Logic-based representation
- Production representation
- Architectural representation: Semantic Networks, Frames
- 過程表示法
一階謂詞邏輯表示法
強調 表示式 truth-preserving operation
基礎概念
回憶離散數學裡數理邏輯內容:
-
命題
-
真值
-
論域: 由所討論物件的全體構成的集合
-
個體: 論域中的元素,表示獨立存在的事物或概念(可以是變元/常量)
-
謂詞:表示個體間關係的符號,是一個函式
設\(D\)為論域,\(P\)為謂詞,\(x\)為個體,$P: D^n \to { T, F } $是一個對映,其中
\[D^n = \{(x_1, x_2, \dots, x_n) | x_i \in D \} \] -
函式:表示個體間的對映關係,是一個函式
設\(D\)為論域,\(f\)為函式,\(x\)為個體,\(f: D^n \to D\)是一個對映,其中
\[D^n = \{(x_1, x_2, \dots, x_n) | x_i \in D \} \] -
連詞
-
量詞
-
項
-
原子謂詞公式
-
合式公式
-
轄域、轄域變元、自由變元
-
變元替換:需要注意換名不能替換成已有的變元名
知識表示的步驟
例: 表示知識“所有教師都有自己的學生”
- 確定論域:人
- 確定謂詞:教師、學生、教
- 表示知識:\(\forall x \exists y \text{ 教師}(x) \to \text{ 學生}(y) \land \text{教}(x, y)\)
應用
機器人移動盒子的例子
需要定義謂詞、Domain、以及一系列改變狀態的操作
使用謂詞解修道士與野人問題
產生式表示法
邏輯表示只強調真實性,忽略了前提與結論間的特定關係
是使用最多的知識表示方法
- 事實: 斷言一個語言變數的值或斷言多個語言變數之間關係的陳述句
例子:John is a student
,John is a good student
- 事實的表示
三元組: (物件,屬性, 值 )或(關係,物件 1,物件 2) - 規則: 描述事物之間的因果關係,由條件和結論組成的陳述句
例子:IF John is a student THEN John is a good student
由於規則的不確定性,產生式系統的推理過程是不確定的,同時可能會產生衝突
其求解過程是一種反覆進行的“匹配—衝突消解—執行”過程
語義網路
語義網路是一種有向圖, 用實體及其語義關係來表達知識。
結點代表實體,表示各種事物、概念、屬性、狀態、事件、動作等;
弧代表語義關係,表示連結的實體間的語義聯絡,它必須帶有標識。
基本語義關係有:
- ISA:表示實體與其類別的關係
- AKO:表示實體與其上位類的關係
- HAVE:表示實體與其屬性的關係
表達全稱量詞\(\forall\), 需要網路分割槽,即使用一個概念節點來表示全稱量詞的範圍
Knowledge Graph
The Knowledge Graph is a knowledge base used by Google to enhance its search engine's search results with semantic-search information gathered from a wide variety of sources.