1 歴史

1.1 創始と初期構想(1984-1990年)

CYCプロジェクトは、1984年にスタンフォード大学人工知能研究者ダグラス・レナートによって開始された。レナートは、当時のAIシステムが特定領域に特化している一方で、人間ならば当然知っているような常識(例えば「物体を落とせば下に落ちる」「水は飲めるが机は飲めない」)を欠いているという問題を認識していた。彼は、数百万の常識的知識を明示的に符号化すれば、機械が人間と同様の推論を行えるようになると考え、マイクロエレクトロニクス・アンド・コンピュータ・テクノロジー・コーポレーション(MCC)の支援のもとでプロジェクトを立ち上げた。初期の数年間は知識表現言語の設計と基本的な知識ベースの構築に費やされ、約10名の研究者が手作業で膨大な常識事実を記述した。

1.2 知識収集の拡大と公開(1990-2000年)

1990年代に入ると、CYCの知識ベースは急速に拡大し、数十万単位概念ルールを格納するようになった。レナートは、プロジェクトをより広く認知させるため、1995年にCYCをMCCからスピンオフさせ、Cycorp社を設立した。1990年代後半には、知識ベースの質を向上させるための自動知識獲得技術の研究が進められるとともに、一部の成果が学術界に公開された。また、自然言語処理タスクへの応用が模索され始め、CYCの常識知識が曖昧性解消や推論に役立つことが示された。

1.3 商用化とオープンソース化(2000年以降)

2000年以降、CycorpはCYCを商用製品として販売する試みを本格化させた。しかし、市場での成功は限定的であり、大規模な常識知識ベースの維持・更新コストが課題となった。2002年には、知識ベースの一部を誰でも利用できるようにしたOpenCycが公開され、2006年には研究目的のためのResearchCycがリリースされた。2017年には、より広範なオープンソース化を進め、知識ベースの一部をGitHub上で公開した。現在もCycorpは継続的に知識ベースを拡張しているが、商業的にはニッチな専門家システムや軍事・諜報分野での利用が主となっている。

2 アーキテクチャ

2.1 CycL知識表現言語

CYCは、独自に設計された知識表現言語CycLを用いて知識を記述する。CycLは一階述語論理を基盤としながらも、より表現力の高い高階述語論理の要素を組み込んでおり、概念間の複雑な関係やメタ知識を表現できる。すべての知識は「文」(assertion)として表現され、各文は一意の識別子を持つ。

2.1.1 述語論理と高階表現

CycLでは、個体とコレクション(概念)を区別し、それらに関する命題述語を用いて記述する。例えば「すべての鳥は飛べる」という知識は (#$implies (#$isa ?X #$Bird) (#$capability ?X #$Flying)) のように表される。さらに、述語自体を引数に取る高階述語も利用可能であり、「あるルールは信頼性が高い」といったメタ知識も記述できる。

2.1.2 コンテキスト(マイクロ理論

CYCの重要な特徴は「マイクロ理論」(microtheory)の導入である。マイクロ理論とは、特定のトピック、時間、場所、状況に限定された知識のコンテキストを表す。例えば「生物学の知識」と「常識的物理知識」はそれぞれ別のマイクロ理論に格納される。これにより、矛盾する可能性のある知識(例えば「鳥は飛べる」と「ペンギンは飛べない」)を異なるコンテキストで共存させることができ、推論時には適切なマイクロ理論をアクティブにすることで一貫性を保つ。

2.2 推論エンジン

CYCには、符号化された知識を基に推論を行うエンジンが組み込まれている。この推論エンジンは、複数の推論方式を組み合わせて利用する。

2.2.1 演繹推論

演繹推論は、CYCの基盤となる推論方式である。知識ベースに格納された公理とルールから、論理的に必然的な結論を導き出す。例えば「人間は生物である」「ソクラテスは人間である」という知識から「ソクラテスは生物である」を導く。CYCの演繹推論は、前向き連鎖と後ろ向き連鎖の両方をサポートし、複雑なルールチェーンを効率的に探索するための最適化が施されている。

2.2.2 アブダクション

アブダクション(仮説推論)は、観察された事実を最もよく説明する仮説を生成する推論方式である。CYCでは、完全な演繹では答えられない質問に対して、常識的な説明を候補として提示するために用いられる。例えば「地面が濡れている」という観測から「雨が降った」という仮説を導く。アブダクションは、CYCの知識ベース内の因果ルールを利用して行われ、複数の仮説の中から最も尤もらしいものを選択する。

2.3 知識ベースの構成

CYCの知識ベースは、階層的に整理された多数の要素から構成される。

2.3.1 概念(コレクション)

概念は「コレクション(Collection)」と呼ばれ、共通の属性を持つ個体の集合を表す。例えば「鳥」「哺乳類」「飲み物」などがコレクションに当たる。コレクション間には継承関係(is-a)が定義され、上位概念から下位概念へ属性が継承される。上位概念は「#$Animal」、下位概念は「#$Dog」のような形で表現される。

2.3.2 個体(individuals)

個体は、具体的な実体を表す。例えば「ソクラテス」「東京タワー」「地球」などが該当する。個体は一つ以上のコレクションのインスタンスであり、そのコレクションが持つ属性を継承する。個体には一意の識別子が与えられ、さらに属性(例えば「身長」「色」)を持つことができる。

2.3.3 公理とルール

公理(axiom)は、真であると仮定される基本的な知識文である。ルール(rule)は、条件部と結論部からなる含意文であり、推論エンジンによって新しい知識を生成するために用いられる。例えば「もしXが鳥であり、かつXがペンギンでなければ、Xは飛べる」といったルールが存在する。これらの公理とルールは、常識推論の基盤を提供する。

3 知識の内容

CYCの知識ベースは、人間の常識を網羅的にカバーすることを目指して構築されてきた。その内容は多岐にわたる。

3.1 時空間知識

時間と空間に関する基本的な知識が含まれる。時間については、時間の順序、持続時間、同時性、時制などが記述される。例えば「ある出来事が別の出来事の後に起こる」「物体は同じ時間に二つの場所に存在できない」といったルールがある。空間については、位置、距離、方向、領域、包含関係などが定義され、「机の上に本がある」「東京は日本にある」といった知識が格納されている。

3.2 因果関係と常識ルール

原因と結果に関する知識が豊富に含まれる。例えば「火をつけると物が燃える」「水を加熱すると沸騰する」「人が押すと物体が動く」といった物理的な因果関係に加え、「勉強すれば成績が上がる」「嘘をつくと信用を失う」といった社会的因果関係も記述されている。これらのルールは、推論エンジンによるアブダクションや予測に利用される。

3.3 社会的・心理的知識

人間の社会行動や心理状態に関する知識も収録されている。例えば「人は他人の感情を推測する」「贈り物をすると相手は喜ぶ」「約束を守ることは良いこととされる」といった規範や意図・信念・欲求に関する知識が含まれる。また、役割(親、教師、医者)や制度(結婚、法律、貨幣)についての記述もある。

3.4 物理世界の常識

日常的な物理現象に関する知識が多数格納されている。例えば「固い物は柔らかい物よりも傷つけにくい」「液体は容器の形に合わせて変形する」「重力はすべての物体に下向きの力を及ぼす」といった知識のほか、道具の使い方(「ハサミで紙を切ることができる」)、食品の性質(「アイスクリームは冷たく、溶ける」)など、具体的な常識が網羅されている。

4 応用と展開

4.1 自然言語理解

CYCの常識知識は、自然言語処理における曖昧性解消(単語の多義性、照応解析、省略補完)に利用される。例えば「彼は銀行に行った」という文において、「銀行」が「金融機関」か「河岸」かを判断する際、CYCの知識ベースにある「通常人はお金を扱うために金融機関に行く」という常識ルールが参照される。また、暗黙の前提(例えば「人が車を運転するには車のキーが必要」)を補完することで、テキストの深い理解を支援する。

4.2 質問応答システム

CYCは、複雑な質問に対して常識推論を必要とする回答を生成する質問応答システムの基盤として使用される。例えば「もし雨が降ったら、地面はどうなるか?」といった質問に対して、因果ルールから「濡れる」と推論する。また、複数の知識を組み合わせて「東京から大阪まで新幹線で行くのと飛行機で行くのではどちらが速いか?」といった比較質問にも対応できる。

4.3 医療・法律専門家支援

専門家システムの分野では、CYCの常識知識をドメイン知識と組み合わせることで、診断や法的判断を支援する試みが行われてきた。医療では、症状から疾患を推測する際に、常識的な因果関係(例えば「発熱は感染症の兆候である」)を利用する。法律では、契約書や法令の解釈に必要な常識(例えば「約束は守られるべき」)を背景知識として提供する。

4.4 OpenCycとResearchCyc

OpenCycは、CYCの知識ベースのサブセット(数百万の概念と数十万の事実)を公開したもので、研究や教育目的で無償利用できる。ただし、完全版に比べて知識の密度と精度は低い。ResearchCycは、より大規模な知識ベースを含む研究用ライセンスであり、大学や研究機関に提供されている。これらにより、外部の研究者がCYCの知識を利用した実験を行えるようになった。

5 批判と課題

5.1 知識獲得のボトルネック

CYCの最大の課題は、知識の獲得に膨大な人手がかかることである。専門家が常識を一つ一つ手作業で符号化するため、コストが高く、カバレッジの拡大が遅い。自動知識抽出技術の導入も試みられたが、ノイズや不正確さの問題が残る。結果として、知識ベースは常に不完全であり、予期しない状況で推論が失敗することが多い。

5.2 表現の限界

CycLの表現力には限界がある。例えば、曖昧さ、比喩、感情、感覚情報(色の見え方、痛みの感じ方)を正確に記述することは困難である。また、確率的な知識(「おそらく雨が降る」)やデフォルトルール(「通常は鳥は飛べる」)の表現は可能だが、厳密な意味論と矛盾が生じる場合がある。文化や個人差に依存する知識の扱いも難しい。

5.3 スケーラビリティ問題

知識ベースが巨大になるにつれて、推論の効率が低下する。すべてのルールを網羅的に探索すると、組合せ爆発を起こす可能性がある。Cycorpは様々な最適化手法(ヒューリスティクス、インデックス、並列処理)を導入しているが、完全な解決には至っていない。また、知識ベースのメンテナンス(矛盾の検出、更新、一貫性保証)にも多大な労力を要する。

5.4 機械学習との対比

近年の深層学習の成功(大規模言語モデルなど)と比較すると、CYCのアプローチは旧態依然とみなされることがある。機械学習はデータから自動的に常識を獲得できる一方、CYCは人手に依存する。ただし、機械学習モデルは説明可能性に欠け、論理的一貫性が保証されないという欠点がある。レナートらは、CYCのような記号的知識と機械学習を組み合わせたハイブリッドアプローチが重要だと主張している。

6 関連プロジェクト

6.1 WordNet

WordNetは、プリンストン大学が開発した大規模な英語語彙データベースである。単語を同義語集合(synset)にまとめ、上位語・下位語などの意味関係を定義している。CYCが論理的な常識知識を重視するのに対し、WordNetは語彙の意味ネットワークに特化しており、自然言語処理の分野で広く利用されている。両プロジェクトは知識表現の相互運用性について議論されることがある。

6.2 ConceptNet

ConceptNetは、MITメディアラボの研究者らが開発した、オープンな常識知識ベースである。ウェブクラウドソーシングや自然言語処理技術を利用して、大規模な常識知識を自動的に収集する点が特徴である。CYCが厳密な論理形式にこだわるのに対し、ConceptNetはより緩やかな関係(「〜の原因は」「〜の目的は」)で知識を表現し、多言語対応も進んでいる。両者は競合というより補完関係にある。

6.3 DBpedia

DBpediaは、ウィキペディアの情報を構造化された知識ベースに変換したプロジェクトである。RDF形式でデータを公開し、SPARQLクエリで検索可能である。CYCのような推論機能は持たないが、膨大な実世界のエンティティ(人物、場所、組織、作品など)に関する事実を大量に含む。CYCの常識知識とDBpediaの具体的事実を組み合わせる試みも行われている。