KR Review

Blackteaxx發表於2024-06-03

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 \} \]

  • 連詞

  • 量詞

  • 原子謂詞公式

  • 合式公式

  • 轄域、轄域變元、自由變元

  • 變元替換:需要注意換名不能替換成已有的變元名

知識表示的步驟

例: 表示知識“所有教師都有自己的學生”

  1. 確定論域:人
  2. 確定謂詞:教師、學生、教
  3. 表示知識:\(\forall x \exists y \text{ 教師}(x) \to \text{ 學生}(y) \land \text{教}(x, y)\)

應用

機器人移動盒子的例子

需要定義謂詞Domain、以及一系列改變狀態的操作

使用謂詞解修道士與野人問題

產生式表示法

邏輯表示只強調真實性,忽略了前提與結論間的特定關係

是使用最多的知識表示方法

  • 事實: 斷言一個語言變數的值或斷言多個語言變數之間關係的陳述句
    例子: John is a studentJohn is a good student
  • 事實的表示
    三元組: (物件,屬性, 值 )或(關係,物件 1,物件 2)
  • 規則: 描述事物之間的因果關係,由條件和結論組成的陳述句
    例子: IF John is a student THEN John is a good student

由於規則的不確定性,產生式系統的推理過程是不確定的,同時可能會產生衝突

其求解過程是一種反覆進行的“匹配—衝突消解—執行”過程

語義網路

語義網路是一種有向圖, 用實體及其語義關係來表達知識
結點代表實體,表示各種事物、概念、屬性、狀態、事件、動作等;
弧代表語義關係,表示連結的實體間的語義聯絡,它必須帶有標識

基本語義關係有:

  • ISA:表示實體與其類別的關係
  • AKO:表示實體與其上位類的關係
  • HAVE:表示實體與其屬性的關係

img

表達全稱量詞\(\forall\), 需要網路分割槽,即使用一個概念節點來表示全稱量詞的範圍

img

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.