知識表現( KR ) は、知識ベースシステムで知識として形式的に表現するために情報を構造化された方法でモデル化することを目的としているのに対し、知識表現と推論( KRR、KR&R、またはKR² ) は、知識を理解し、推論し、解釈することも目的としている。KRR は、人工知能(AI)の分野で広く使用されており、医療状態の診断や自然言語対話などの複雑なタスクを解決するためにコンピュータシステムが使用できる形式で世界に関する情報を表現することを目標としている。KR は、人間が問題を解決し知識を表現する方法に関する心理学[ 1 ]の知見を取り入れ、複雑なシステムの設計と構築を容易にする形式を設計する。KRR はまた、さまざまな種類の推論を自動化するために論理学の知見を取り入れている。
従来の知識表現(KRR)は、知識の宣言的表現に重点を置いています。関連する知識表現形式には、主に語彙、シソーラス、意味ネットワーク、公理系、フレーム、ルール、論理プログラム、オントロジーなどがあります。自動推論エンジンの例としては、推論エンジン、定理証明器、モデル生成器、分類器などがあります。
より広い意味では、畳み込みニューラルネットワークやトランスフォーマーなどのニューラルネットワークアーキテクチャを含む機械学習のパラメータ化モデルも、知識表現形式のファミリーとみなすことができます。知識ベースシステムに最も適した形式はどれかという問題は、長い間、広範な議論の対象となってきました。たとえば、Frank van Harmelen らは、知識表現形式としての論理の適合性について議論し、反論理主義者によって提示された議論を検討しました。[ 2 ] Paul Smolensky は、記号形式主義の限界を批判し、それをコネクショニストアプローチと統合する可能性を探りました。[ 3 ]
コンピュータによる知識表現の初期の研究は、1959年にアレン・ニューウェルとハーバート・A・サイモンによって開発された汎用問題解決システム(GPS)や、同じく1959年にジョン・マッカーシーによって提案されたアドバイス・テイカーなど、汎用問題解決システムに焦点を当てていました。GPSは、計画と分解のためのデータ構造を特徴としていました。システムはまず目標を設定し、その目標をサブ目標に分解し、各サブ目標を達成できる戦略を構築しようとしました。一方、アドバイザー・テイカーは、常識的な推論を実現するために述語論理の使用を提案しました。
人工知能(AI)における知識表現の初期のアプローチの多くは、今日の知識グラフに似たグラフ表現や意味ネットワークを使用していた。こうしたアプローチでは、問題解決はグラフ探索[ 4 ]や、 A*探索アルゴリズムのような経路探索の一形態であった。典型的な応用例としては、ロボットの計画立案やゲームプレイなどが挙げられる。
他の研究者たちは、数学を形式化し、数学的定理の証明を自動化するために数理論理学を用いるという考えに基づき、一階述語論理のための自動定理証明器の開発に注力した。この方向における大きな一歩となったのが、ジョン・アラン・ロビンソンによる分解法の開発である。
その一方で、ジョン・マッカーシーとパット・ヘイズは、因果関係の法則に関する常識的な知識を論理的に表現するものとして状況計算を開発した。コーデル・グリーンは、状況計算に解決法を適用することでロボットの計画形成の方法を示した。彼はまた、質問応答や自動プログラミングに解決法を使用する方法も示した。[ 5 ]
対照的に、マサチューセッツ工科大学(MIT)の研究者たちは、解決統一証明手続きパラダイムを拒否し、代わりに知識の手続き的埋め込みを提唱した。[ 6 ]論理表現の使用と手続き的表現の使用の間の結果として生じた対立は、1970年代初頭に論理プログラミングとPrologの開発によって解決され、SLD解決を使用してホーン節を目標削減手続きとして扱うようになった。
論理プログラミングの初期開発は、主にヨーロッパの現象でした。北米では、エド・ファイゲンバウムやフレデリック・ヘイズ=ロスなどのAI研究者が、汎用的な推論ではなく、ドメイン固有の知識の表現を提唱しました。[ 7 ]
これらの取り組みは心理学における認知革命と、知識表現に焦点を当てたAIの段階につながり、1970年代と80年代にはエキスパートシステム、プロダクションシステム、フレーム言語などが生まれました。一般的な問題解決者ではなく、AIは医療診断などの特定のタスクにおいて人間の能力に匹敵できるエキスパートシステムに焦点を移しました。[ 8 ]
エキスパートシステムは、AI システムを、問題領域に関する事実とルールを含む知識ベースと、知識ベースの知識を適用してその領域内の質問に答え、問題を解決する推論エンジンに分けるという、今日でも使用されている用語を生み出しました。これらの初期のシステムでは、知識ベースの事実はかなりフラットな構造である傾向があり、基本的にルールで使用される変数の値に関する主張でした。[ 9 ]
一方、マービン・ミンスキーは1970年代半ばにフレームの概念を開発しました。 [ 10 ]フレームはオブジェクトクラスに似ています。それは、世界の事物、問題、潜在的な解決策を記述するカテゴリの抽象的な記述です。フレームは当初、自然言語の理解や、レストランで食べ物を注文するなどのさまざまなデフォルトの期待が検索空間を絞り込み、システムが動的な状況に対して適切な応答を選択できるようにする社会的状況など、人間とのインタラクションを目的としたシステムで使用されていました。
フレームコミュニティとルールベースの研究者が、それぞれのアプローチに相乗効果があることに気づくのに時間はかかりませんでした。フレームは、クラス、サブクラス、スロット(データ値)として記述され、可能な値にさまざまな制約がある現実世界を表現するのに適していました。ルールは、医療診断を行うプロセスなどの複雑なロジックを表現して利用するのに適しています。フレームとルールを組み合わせた統合システムが開発されました。最も強力でよく知られているものの1つは、Intellicorpの1983年の知識工学環境(KEE)です。KEEには、順方向および逆方向の連鎖を備えた完全なルールエンジンがありました。また、トリガー、スロット(データ値)、継承、メッセージパッシングを備えた完全なフレームベースの知識ベースもありました。メッセージパッシングはAIではなくオブジェクト指向コミュニティで生まれたものですが、KEEなどの環境や、Symbolics、Xerox、Texas InstrumentsのLispマシンのオペレーティングシステムで、AI研究者にもすぐに受け入れられました。[ 11 ]
フレーム、ルール、オブジェクト指向プログラミングの統合は、さまざまな研究プロジェクトからスピンオフした KEE や Symbolics などの商業ベンチャーによって大きく推進されました。同時に、商業的な焦点があまりなく、数学的論理と自動定理証明によって推進された別の研究の流れがありました。この研究で最も影響力のある言語の 1 つは、80 年代半ばのKL-ONE言語でした。KL-ONE は、厳密な意味論、 Is-A 関係などの概念の形式的な定義を持つフレーム言語でした。[ 12 ] KL-ONE およびLoomなど、KL-ONE の影響を受けた言語には、IF-THEN ルールではなく形式論理に基づく自動推論エンジンがありました。この推論エンジンは分類器と呼ばれます。分類器は、宣言のセットを分析し、新しいアサーションを推論できます。たとえば、形式的に指定されていない別のクラスのサブクラスまたはスーパークラスとしてクラスを再定義できます。このようにして、分類器は推論エンジンとして機能し、既存の知識ベースから新しい事実を推論することができます。分類器は、知識ベース(KL-ONE言語の場合はオントロジーとも呼ばれる)の一貫性チェックも提供できます。[ 13 ]
知識表現研究のもう 1 つの分野は、常識的推論の問題でした。人間の自然言語で機能するソフトウェアを作成しようとして最初に気づいたことの 1 つは、人間は、常識的な物理学の基本原理、因果関係、意図など、私たちが当然のこととして受け入れているが、人工エージェントには全く明らかではない、現実世界に関する広範な知識基盤を日常的に利用しているということです。例としては、イベント駆動型ロジックでは、外部の力によって動かされない限り、物事はある瞬間から次の瞬間まで位置を維持するという公理が必要であるというフレーム問題があります。自然言語を使用して人間と会話でき、世界に関する基本的なステートメントや質問を処理できる真の人工知能エージェントを作成するには、この種の知識を表現することが不可欠です。[ 14 ]マッカーシーとヘイズの状況計算に加えて、この問題に取り組む最も野心的なプログラムの 1 つは、ダグ・レナットのCycプロジェクトでした。 Cycは独自のフレーム言語を確立し、多数のアナリストがその言語で常識的推論のさまざまな領域を文書化した。Cycに記録された知識には、時間、因果関係、物理学、意図などに関する常識モデルが含まれていた。[ 15 ]
知識表現の出発点は、1985年にブライアン・C・スミスによって初めて形式化された知識表現仮説である。 [ 16 ]
機械的に具現化された知的なプロセスは、a) 外部の観察者である私たちが、そのプロセス全体が示す知識の命題的説明を表すものとして自然に捉える構造的要素と、b) そのような外部の意味的帰属とは無関係に、その知識を顕現させる行動を生み出す上で形式的だが因果的かつ本質的な役割を果たす要素から構成される。
知識表現研究において最も活発な分野の一つがセマンティックWebです。セマンティックWebは、既存のインターネットの上に意味(セマンティクス)の層を追加しようとしています。キーワードによるWebサイトやページのインデックス作成ではなく、セマンティックWebは概念の大規模なオントロジーを作成します。概念の検索は、従来のテキストのみの検索よりも効果的になります。フレーム言語と自動分類は、将来のセマンティックWebのビジョンにおいて重要な役割を果たします。自動分類により、開発者は絶えず進化する知識ネットワークに秩序を与える技術を得ることができます。静的で、その場で進化できないオントロジーを定義することは、インターネットベースのシステムにとって非常に制約となります。分類器技術は、インターネットの動的な環境に対処する能力を提供します。
国防高等研究計画局(DARPA)が主に資金提供した最近のプロジェクトでは、フレーム言語と分類器が XML に基づくマークアップ言語と統合されています。リソース記述フレームワーク(RDF) は、オブジェクトのクラス、サブクラス、プロパティを定義する基本的な機能を提供します。Webオントロジー言語(OWL) は、追加の意味論レベルを提供し、分類エンジンとの統合を可能にします。[ 17 ] [ 18 ]
知識表現とは、人工知能の一分野であり、複雑な問題を解決するために利用できる、世界に関する情報を捉えるコンピュータ表現の設計に焦点を当てている。
知識表現の正当性は、従来の手続き型コードが複雑な問題を解決するのに最適な形式ではないという点にある。知識表現を用いることで、複雑なソフトウェアを手続き型コードよりも容易に定義・保守できるようになり、エキスパートシステムにも応用できる。
例えば、専門家とコードではなくビジネスルールに基づいて話し合うことで、ユーザーと開発者の間の意味的なギャップが縮小し、複雑なシステムの開発がより実用的になる。
知識表現は自動推論と密接に関係している。なぜなら、知識を明示的に表現する主な目的の1つは、その知識について推論したり、推論を行ったり、新しい知識を主張したりすることだからである。事実上すべての知識表現言語には、システムの一部として推論エンジンまたは推論エンジンが備わっている。[ 19 ]
知識表現形式設計における重要なトレードオフは、表現力と扱いやすさの間のトレードオフである。[ 20 ]高い表現力と数学の多くを形式化する能力を持つ一階述語論理(FOL)は、知識表現言語の表現力を比較するための標準となっている。
一階述語論理(FOL)は、知識表現形式として、使いやすさと実装効率という2つの点で欠点があると言えるでしょう。第一に、FOLは表現力が非常に高いため、同じ情報を表現する方法が複数存在し、複雑な数学的手法で表現された知識を形式化したり、理解したりすることがユーザーにとって困難になる場合があります。第二に、証明手順が複雑なため、複雑な証明や説明を理解するのが難しく、実装効率も低くなる可能性があります。結果として、制約のないFOLは多くのソフトウェア開発者にとって敷居が高いものとなり得ます。
1970年代のAI研究における重要な発見の一つは、FOLほどの表現力を持たない言語でも、FOLとほぼ同等の表現力を提供できるだけでなく、一般の開発者とコンピュータの両方にとって理解しやすいということだった。データベースからセマンティックネット、プロダクションシステムに至るまで、初期のAI知識表現形式の多くは、表現力と表現の自然さ、効率性のバランスを取るための様々な設計上の決定に基づいていると見なすことができる。[ 21 ]特に、このバランスを取る行為は、ルールベースのエキスパートシステムにおけるIF-THENルールの開発の原動力となった。
同様のバランス感覚は、論理プログラミング(LP)および論理プログラミング言語Prologの開発の動機でもありました 。論理プログラムはルールベースの構文を持ち、これはプロダクションルールのIF-THEN構文と混同されやすいものです。しかし、論理プログラムは明確に定義された論理意味論を持つのに対し、プロダクションシステムにはそれがありません。
論理プログラミングの最も初期の形態は、FOL のホーン節サブセットに基づいていました。しかし、後の LP の拡張には、失敗推論規則としての否定が含まれており、LP はデフォルト推論のための非単調論理になっています。結果として得られる LP の拡張セマンティクスは、ホーン節と FOL の標準セマンティクスの変形であり、一意の名前の仮定と閉じた世界の仮定の一形態を含むデータベースセマンティクスの一形態です[ 22 ]。これらの仮定は、FOL の標準セマンティクスを使用して明示的に記述および推論することがはるかに困難です。
このテーマに関する1993年の重要な論文で、MITのランドール・デイビスは、知識表現フレームワークを分析するための5つの異なる役割を概説した。[ 23 ]
知識表現と推論は、セマンティック Webの重要な実現技術です。自動分類機能を備えたフレーム モデルに基づく言語は、既存のインターネットの上に意味論のレイヤーを提供します。今日一般的なテキスト文字列による検索ではなく、論理クエリを定義し、それらのクエリに対応するページを見つけることが可能になります。[ 17 ]これらのシステムにおける自動推論コンポーネントは、分類器と呼ばれるエンジンです。分類器は、ルールではなく知識ベース内の包含関係に焦点を当てます。分類器は、新しいクラスを推論し、新しい情報が利用可能になるとオントロジーを動的に変更することができます。この機能は、絶えず変化し進化するインターネットの情報空間に最適です。[ 24 ]
セマンティックWebは、知識表現と推論の概念をXMLベースのマークアップ言語と統合します。リソース記述フレームワーク(RDF)は、Is-A関係やオブジェクトプロパティなどの基本機能を使用して、インターネット上の知識ベースオブジェクトを定義するための基本機能を提供します。Webオントロジー言語(OWL)は、追加のセマンティクスを追加し、自動分類推論エンジンと統合します。[ 18 ]
1985年、ロン・ブラフマンは知識表現の核心的な問題を次のように分類した。[ 25 ]
知識抽出とは、構造化データ(リレーショナルデータベース、XMLなど)および非構造化データ(テキスト、文書、画像など)から知識を生成することです。生成される知識は、機械可読かつ機械解釈可能な形式である必要があり、推論を容易にする形で知識を表現しなければなりません。自然言語処理(NLP)における情報抽出(IE)や抽出・変換・ロード(ETL)と方法論的には類似していますが、主な基準は、抽出結果が構造化情報の生成やリレーショナルスキーマへの変換にとどまらないことです。既存の形式的知識の再利用(識別子やオントロジーの再利用)またはソースデータに基づくスキーマの生成が必要となります。
RDB2RDF W3Cグループ[ 29 ]は、リレーショナルデータベースからリソース記述フレームワーク(RDF)を抽出するための言語を標準化していました。知識抽出のもう1つの一般的な例は、Wikipediaを構造化データに変換し、既存の知識にマッピングすることです(DBpediaとFreebaseを参照)。
知識ベースシステムの黎明期には、知識ベースはかなり小規模でした。概念実証ではなく、実際の問題を解決することを目的とした知識ベースは、明確に定義された問題に焦点を当てる必要がありました。例えば、医療診断というトピック全体ではなく、特定の種類の疾患の医療診断といった具合です。
知識ベース技術が大規模化するにつれて、より大規模な知識ベースと、相互に通信および統合できるモジュール型の知識ベースの必要性が明らかになりました。これにより、複数のプロジェクトで使用できる大規模な知識ベースを設計および構築するオントロジーエンジニアリングという分野が生まれました。この分野の主要な研究プロジェクトの 1 つはCycプロジェクトでした。Cyc は、専門知識だけでなく常識的な知識も含む巨大な百科事典的知識ベースを構築しようとする試みでした。人工知能エージェントを設計する際に、人間が当然のこととして受け入れている常識的な知識を表現することが、自然言語を使用して人間と対話できる AI を作るために不可欠であることがすぐに認識されました。Cyc はこの問題に対処することを目的としていました。彼らが定義した言語はCycLとして知られています。
CycL以降、多くのオントロジー言語が開発されてきました。そのほとんどは宣言型言語であり、フレーム言語であるか、一階述語論理に基づいています。これらの言語にとって、モジュール性(特定のドメインや問題領域の境界を定義する能力)は不可欠です。なぜなら、Tom Gruberが述べているように、「すべてのオントロジーは条約であり、共有するという共通の動機を持つ人々の間の社会的合意である」からです。汎用オントロジーを不可能にする競合する異なる見解が常に多数存在します。汎用オントロジーはあらゆるドメインに適用可能でなければならず、異なる知識領域を統合する必要があります。[ 30 ]
液体のオントロジー[ 31 ] 、電子回路の表現に広く用いられている集中定数モデル(例:[ 32 ])、時間、信念、さらにはプログラミングそのもののオントロジーなど、さまざまなタスク領域のためのオントロジーを構築しようとする試みには長い歴史があります。これらのそれぞれが、世界の一部を見る方法を提供します。
例えば、集中定数モデルでは、回路を構成要素とそれらの間の接続という観点から捉え、信号が接続に沿って瞬時に流れると考える。これは有用な見方ではあるが、唯一の見方ではない。デバイス内の電気力学を考慮する必要がある場合は、異なる存在論が必要となる。この場合、信号は有限の速度で伝播し、これまで入出力特性を持つ単一の構成要素と見なされていた物体(抵抗器など)は、電磁波が流れる拡張媒体として捉える必要があるかもしれない。
オントロジーは、もちろんさまざまな言語や表記法(論理学、LISPなど)で記述できます。重要なのは言語の形式ではなく、その内容、つまり世界を考えるための概念の集合です。簡単に言えば、重要なのは接続や構成要素といった概念であり、それらを述語として記述するかLISPの構成要素として記述するかという選択ではありません。
{{cite web}}: CS1 maint: bot: 元の URL の状態が不明です (リンク)。Meltzer, B. および Michie, D. 編著、『Machine Intelligence 4』、エジンバラ:エジンバラ大学出版局、463–502 ページ。The good news in reducing KR service to theorem proving is that we now have a very clear, very specific notion of what the KR system should do; the bad new is that it is also clear that the services can not be provided... deciding whether or not a sentence in FOL is a theorem... is unsolvable.