1 基本概念
1.1 定義と特徴
常識推論とは、人間が日常生活で暗黙裡に用いる常識知識に基づき、不完全な情報から妥当な結論を導き出す推論能力を指す。その特徴として、推論結果が常に確定的であるとは限らず、新しい情報が加わることで結論が変更される可能性がある点が挙げられる。また、文脈依存性が高く、同じ知識でも状況によって異なる推論結果が導かれる。
1.2 常識知識の性質
常識知識は、一般に「物は落下する」「他人を傷つけてはいけない」といった、大多数の人間が共有する前提的な知識である。これらの知識は明示的に教えられることなく獲得される場合が多く、膨大かつ多様である。さらに、常識知識は多くの場合、例外を許容する(例:「鳥は飛ぶ」がペンギンには当てはまらない)ため、厳密な論理体系で扱うことが困難である。
1.3 推論の非単調性
常識推論は非単調推論の一種であり、前提が増えると以前に導かれた結論が撤回されることがある。例えば、「鳥は飛ぶ」という知識から「トゥイーティーは鳥である」という事実に基づき「トゥイーティーは飛ぶ」と推論した後、「トゥイーティーはペンギンである」という情報が加わると、当初の結論は取り消される。この性質は、論理的単調性(前提が増えれば結論も増える)に反するため、伝統的な一階述語論理では扱いにくい。
2 形式的アプローチ
2.1 非単調論理
2.1.1 デフォルト論理
レイモンド・リーターによって提案されたデフォルト論理は、典型的な場合に成立する「デフォルトルール」を用いて非単調推論を形式化する。デフォルトルールは「通常、XはYである」という形をとり、矛盾が生じない限り適用される。例えば、「鳥は通常飛ぶ」というデフォルトルールと「トゥイーティーは鳥である」という事実から「トゥイーティーは飛ぶ」が導かれるが、ペンギンであるという例外が存在する場合はこのルールの適用が阻害される。
2.1.2 真矛盾論理
真矛盾論理は、矛盾を許容する論理体系であり、矛盾する情報が存在しても推論を続行できるようにする。常識推論においては、複数の矛盾する常識知識(例:「鳥は飛ぶ」と「ペンギンは飛ばない」)を同時に扱う必要がある場面で有用である。ただし、矛盾の管理が複雑になるという課題がある。
2.2 確率的推論
2.2.1 ベイジアンネットワーク
ベイジアンネットワークは、変数間の条件付き依存関係を有向非巡回グラフで表現し、確率的推論を行う枠組みである。常識知識を確率分布として符号化することで、不確実性を伴う推論が可能となる。例えば、「雨が降ると地面が濡れる」という知識を条件付き確率で表現し、「地面が濡れている」という観測から「雨が降った」確率を逆推定できる。
2.2.2 マルコフ論理ネットワーク
マルコフ論理ネットワークは、一階述語論理と確率的グラフィカルモデルを統合した手法である。論理式に重みを付与し、その重みに基づいて確率的推論を行う。常識知識を重み付き論理式として表現することで、複数の知識間のトレードオフを考慮した推論が実現される。例えば、「鳥は飛ぶ」という知識に高い重みを与え、例外(ペンギンなど)には低い重みを与えることで、柔軟な推論が可能になる。
2.3 定性推論
定性推論は、数値計算を伴わずに、物理システムや因果関係の大まかな振る舞いを推論する手法である。常識推論の文脈では、オブジェクト間の空間的・時間的関係(例:「より大きい」「よりも前」)を定性値で表現し、定性的な結論を導く。例えば、「AはBより大きく、BはCより大きい」から「AはCより大きい」という推移律を適用する。
3 主要な課題
3.1 フレーム問題
フレーム問題は、行動の結果として変化しない事柄をいかに効率的に扱うかという問題である。常識推論では、例えば「ロボットが部屋に入る」とき、「壁の色は変わらない」「天井はそのまま」といった無数の不変情報を逐次推論するのは非現実的である。この問題は、人工知能の初期から認識され、非単調論理の研究を促進した。
3.2 資格問題
資格問題は、ある行動を実行するために必要な前提条件をすべて列挙することが困難であるという問題を指す。例えば「鳥は飛ぶ」という知識には、「鳥が怪我をしていない」「鳥が檻に入っていない」「十分な風力がある」など無数の資格条件が潜んでいる。これらをすべて記述することは不可能であり、常識推論では暗黙の前提として扱う必要がある。
3.3 ランプライティング問題
ランプライティング問題は、観測結果と行動の因果関係をどのように認定するかという問題である。例えば、照明スイッチを押した後に部屋が明るくなった場合、その原因がスイッチ操作にあるのか、他の要因(誰かが窓を開けたなど)にあるのかを判断するには、多くの常識知識が必要となる。この問題は、因果推論の枠組みで研究されている。
4 応用と実装
4.1 自然言語処理
自然言語処理において、常識推論はテキストの含意関係認識や質問応答、談話解析などに応用される。例えば、「太郎は財布を忘れた」という文から「太郎は支払いができないかもしれない」と推論するには、常識知識が必要である。近年では、大規模言語モデルが暗黙の常識知識を学習することで、従来の知識ベース手法に代わりつつある。
4.2 ロボティクス
ロボティクスでは、常識推論が行動計画や障害物回避、物体操作に利用される。例えば、テーブルの上のコップを掴む際、コップが倒れる可能性や内部に液体が入っている可能性を考慮する必要がある。リアルタイム性が要求されるため、効率的な推論手法の実装が課題である。
4.3 知識ベースシステム
知識ベースシステムでは、明示的に記述された常識知識ルールを用いて推論を行う。代表的な例として、Doug Lenatらが開発したCycプロジェクトがある。Cycは数百万単位の常識アサーションを記述し、非単調論理に基づく推論エンジンで運用される。しかし、知識ベースのメンテナンスや不完全性の問題が指摘されている。
5 歴史と研究動向
5.1 初期の試み(Cycプロジェクトなど)
常識推論の研究は、1950年代の人工知能創成期に端を発する。1970年代には、非単調論理の理論的基盤が確立され、デフォルト論理や真矛盾論理が提案された。1984年に開始されたCycプロジェクトは、大規模な常識知識ベースの構築を目指した先駆的な試みであり、長年研究コミュニティに影響を与えた。しかし、明示的な知識記述の労力と不完全性が課題として残った。
5.2 現代のアプローチ(大規模言語モデルとの関連)
2010年代以降、ディープラーニングの進展により、大規模言語モデル(例:GPT、BERT)が膨大なテキストから暗黙の常識知識を学習することが可能になった。これらのモデルは、明示的な知識ベースを必要とせずに、柔軟な常識推論を実現する。ただし、モデルのブラックボックス性や一貫性の欠如、バイアスの問題が新たな課題として浮上している。現在は、ニューラルシンボリックアプローチなど、論理と確率的推論を統合する手法が注目されている。