
人工智慧 - 專家系統
專家系統(ES)是 AI 中一個重要的研究領域。它是由斯坦福大學計算機科學系的研究人員提出的。
什麼是專家系統?
專家系統是開發的計算機應用程式,用於解決特定領域中的複雜問題,達到超越普通人類智慧和專業知識的水平。
專家系統的特點
- 高效能
- 易於理解
- 可靠
- 響應迅速
專家系統的功能
專家系統能夠:
- 提供建議
- 指導和輔助人類決策
- 演示
- 推匯出解決方案
- 診斷
- 解釋
- 解釋輸入
- 預測結果
- 證明結論
- 為問題提出替代方案
它們不能:
- 取代人類決策者
- 擁有人類的能力
- 在知識庫不足的情況下產生準確的輸出
- 改進自身的知識
專家系統的組成部分
ES 的組成部分包括:
- 知識庫
- 推理引擎
- 使用者介面
讓我們簡單地逐一瞭解一下:

知識庫
它包含特定領域的高質量知識。
知識是展現智慧所必需的。任何 ES 的成功都主要取決於收集高度準確和精確的知識。
什麼是知識?
資料是事實的集合。資訊是以資料和事實的形式組織起來的,關於任務領域。資料、資訊和過去的經驗結合在一起被稱為知識。
知識庫的組成部分
ES 的知識庫既儲存事實知識也儲存啟發式知識。
事實知識 - 它是任務領域中知識工程師和學者廣泛接受的資訊。
啟發式知識 - 關於實踐、準確判斷、評估能力和猜測。
知識表示
它是用於組織和形式化知識庫中知識的方法。它以 IF-THEN-ELSE 規則的形式存在。
知識獲取
任何專家系統的成功都主要取決於儲存在知識庫中的資訊的質量、完整性和準確性。
知識庫是由來自各種專家、學者和知識工程師的閱讀資料形成的。知識工程師是一個具有同理心、快速學習和案例分析能力的人。
他透過記錄、訪談和觀察專家在工作中的表現等方式獲取資訊。然後,他以有意義的方式對資訊進行分類和組織,以 IF-THEN-ELSE 規則的形式,供推理機使用。知識工程師還監控 ES 的開發。
推理引擎
推理引擎使用有效的程式和規則來推匯出正確、完美的解決方案至關重要。
在基於知識的 ES 中,推理引擎從知識庫獲取和操作知識以得出特定解決方案。
在基於規則的 ES 中,它:
將規則重複應用於從先前規則應用中獲得的事實。
如果需要,將新知識新增到知識庫中。
當多個規則適用於特定情況時,解決規則衝突。
為了推薦解決方案,推理引擎使用以下策略:
- 前向連結
- 後向連結
前向連結
這是一種專家系統策略,用於回答“接下來會發生什麼?”這個問題。
在這裡,推理引擎遵循條件和推導的鏈,最終推匯出結果。它考慮所有事實和規則,並在得出結論之前對它們進行排序。
此策略用於處理結論、結果或影響。例如,預測利率變化對股市狀況的影響。

後向連結
使用此策略,專家系統可以找到“為什麼會發生這種情況?”問題的答案。
基於已經發生的事情,推理引擎試圖找出過去可能發生過哪些條件導致了這個結果。此策略用於找出原因。例如,人類血液癌症的診斷。

使用者介面
使用者介面提供 ES 使用者與 ES 本身之間的互動。它通常是自然語言處理,以便使用者可以輕鬆使用,並且熟悉任務領域。ES 的使用者不必一定是人工智慧專家。
它解釋了 ES 如何得出特定建議。解釋可能以以下形式出現:
- 在螢幕上顯示自然語言。
- 用自然語言進行口頭敘述。
- 在螢幕上顯示規則編號列表。
使用者介面使跟蹤推論的可信度變得容易。
高效 ES 使用者介面的要求
它應該幫助使用者以最短的時間完成目標。
它應該設計用於使用者現有的或期望的工作實踐。
其技術應適應使用者的需求,而不是反過來。
它應該有效地利用使用者輸入。
專家系統的侷限性
任何技術都不能提供簡單而完整的解決方案。大型系統成本高昂,需要大量的開發時間和計算機資源。ES 存在一些侷限性,包括:
- 技術的侷限性
- 知識獲取困難
- ES 難以維護
- 開發成本高
專家系統的應用
下表顯示了 ES 可以應用的領域。
應用領域 | 描述 |
---|---|
設計領域 | 相機鏡頭設計、汽車設計。 |
醫學領域 | 診斷系統,根據觀察到的資料推斷疾病原因,對人類進行醫療手術。 |
監控系統 | 持續將資料與觀察到的系統或規定的行為進行比較,例如長距離石油管道中的洩漏監控。 |
過程控制系統 | 基於監控控制物理過程。 |
知識領域 | 找出車輛、計算機的故障。 |
金融/商業 | 檢測可能的欺詐、可疑交易、股票市場交易、航空公司排程、貨物排程。 |
專家系統技術
有幾種級別的 ES 技術可用。專家系統技術包括:
專家系統開發環境 - ES 開發環境包括硬體和工具。它們是:
工作站、小型機、大型機。
高階符號程式語言,例如LISt Programming (LISP) 和PROgrammation en LOGique (PROLOG)。
大型資料庫。
工具 - 它們在很大程度上減少了開發專家系統的精力和成本。
功能強大的編輯器和具有多視窗的除錯工具。
它們提供快速原型設計
具有模型、知識表示和推理設計的內建定義。
外殼 - 外殼只不過是一個沒有知識庫的專家系統。外殼為開發人員提供了知識獲取、推理引擎、使用者介面和解釋功能。例如,以下是一些外殼:
Java 專家系統外殼 (JESS),它提供用於建立專家系統的完全開發的 Java API。
Vidwan,1993 年在孟買國家軟體技術中心開發的外殼。它能夠以 IF-THEN 規則的形式進行知識編碼。
專家系統的開發:一般步驟
ES 開發過程是迭代的。開發 ES 的步驟包括:
確定問題領域
- 問題必須適合使用專家系統來解決。
- 為 ES 專案找到任務領域的專家。
- 確定系統的成本效益。
設計系統
確定 ES 技術
瞭解並確定與其他系統和資料庫的整合程度。
瞭解哪些概念可以最好地表示領域知識。
開發原型
從知識庫:知識工程師的工作是:
- 從專家那裡獲取領域知識。
- 以 If-THEN-ELSE 規則的形式表示它。
測試和改進原型
知識工程師使用示例案例來測試原型在效能方面的任何缺陷。
終端使用者測試 ES 的原型。
開發並完成 ES
測試並確保 ES 與其環境的所有元素(包括終端使用者、資料庫和其他資訊系統)的互動。
妥善記錄 ES 專案。
培訓使用者使用 ES。
維護系統
透過定期審查和更新使知識庫保持最新。
隨著這些系統的發展,滿足與其他資訊系統的新介面的需求。
專家系統的優勢
可用性 - 由於軟體的大規模生產,它們很容易獲得。
生產成本低 - 生產成本合理。這使得它們價格合理。
速度 - 它們提供極快的速度。它們減少了個人投入的工作量。
錯誤率低 - 與人為錯誤相比,錯誤率低。
降低風險 - 它們可以在對人類危險的環境中工作。
穩定的響應 - 它們穩定地工作,不會產生情緒化、緊張或疲勞。