本文へスキップ
hdknr blog

記号的 AI(知識表現とエキスパートシステム)

知識を明示的なルールやトリプレットで表し、推論エンジンで結論を導くトップダウン型の AI。エキスパートシステム、オントロジー、セマンティックウェブ、知識グラフへと続く系譜

概要

人間が推論するときの考え方をまねるトップダウンのアプローチ。知識をコンピュータが扱える形で表し(知識表現)、それを使って結論を導く(推論)。20 世紀半ばから AI の主流で、エキスパートシステムの成功を生んだが、専門家から知識を取り出して保守するコストがスケールせず AI の冬を招いた。

主役はニューラルネットワークに移ったが、どの結論がどのルールから出たかを説明できる性質と、定義を変えれば振る舞いを制御しながら変えられる性質はニューラルネットワークにはなく、説明や制御が要る場面で今も使われる。Wikidata のような知識グラフとしても生きている。

詳細

知識はデータとは別物(DIKW)

段階意味
データ物理的な媒体に記録されたもの。人とは独立に存在し受け渡せる
情報データを頭の中で解釈したもの
知識情報が世界モデルに統合された、関連する概念のネットワーク
知恵知識をいつ、どう使うかというメタ知識

知識表現は、左端のアルゴリズム(そのまま実行できるが柔軟性がない)と右端の自然言語(表現力は最大だが自動推論に使えない)の間で形式を選ぶ問題になる。

知識表現の 4 分類

エキスパートシステムの構成

知識と推論を分けておくことで、専門家は推論の仕組みを知らなくてもルールを書ける。知識の引き出しには AND-OR ツリーが便利で、それをルールに直して載せる。

順方向推論と逆方向推論

順方向(データ駆動)逆方向(ゴール駆動)
出発点作業メモリの初期データ求めたい属性(ゴール)
進め方条件を満たすルール(競合集合)から競合解決で 1 つ選んで適用、を繰り返すゴールを結論に持つルールを仮説として選び、条件をサブゴールとして再帰的に証明。導くルールがない属性だけユーザーに聞く
向く場面データが最初から揃っている質問(検査)を最小限にしたい。医療診断型

競合解決の戦略には「最初に見つかったルール」「ランダム」「条件をいちばん多く満たす具体的なルール」などがある。Python では CLIPS を模した Experta(Rete アルゴリズム)で順方向推論を書ける。教材は「ルールが 200 程度を超えるまでは知的な振る舞いには見えない」と注意している。

オントロジーとセマンティックウェブ

同じ発想をウェブ規模に広げたもの。記述論理に基づく知識表現、世界で一意な URI による概念の識別、RDF / RDFS / OWL(Web Ontology Language)の 3 つに支えられ、すべてを主語・述語・目的語のトリプレットで表す。

教材で間違えやすい用語

関連ページ

ソース記事