事例ベースの推論 – 定義

日常の問題を解決するために、私たちは自然と経験を活用します。私たちは、すでに遭遇した同様の状況を覚えています。次に、それらを現在の状況と比較して新しいソリューションを構築し、それが私たちの経験に加わります。

Case Based Reasoning (CBR) は、この人間の行動を模倣します。知識ベースから類似のケースを見つけて、問題のケースに適用することで問題を解決します。このテクノロジーは約 15 年前に登場しましたが、このテーマに関する最初の研究は 1977 年にイェール大学で行われたシャンクとエイベルソンの実験に遡ります。しかし、データマイニングなどの認知科学分野に属する他の技術と比較すると、まだあまり知られていません。後者とはアプローチが異なります。実際、ここでは類似のケースを見つけるために間接的にデータを使用するだけであり、そこから解決策を生成します。

プロセスのステップ

CBR システムにはケースベースがあります。各ケースには説明と解決策が記載されています。この情報を使用するために、エンジンも存在します。これにより、提起された問題と同様のケースが見つかります。分析後、エンジンは検証が必要な適切なソリューションを提供します。最後に、エンジンは問題とその解決策をケース ベースに追加します。

この図は、ケースベースの推論システムのプロセスの主なステップを明確に示しています。これらの段階では、次の 3 つの大きな問題が生じます。

  • ケースの表現
  • 症例を見つける
  • 適応関数の作成

したがって、その名にふさわしい事例ベースの推論システムを開発するには、これらの問題のそれぞれに対する効果的な解決策を見つける必要があります。復習と学習は、最初の 3 つから生じるもう 2 つの問題です。

事例ベースの推論 - 定義

ケースの表現

症例の表現は、CBR システムの作成において重要な位置を占めます。実際、この表現によって、データベース内のケースの検索の効率と速度が決まります。したがって、それぞれの場合にどのような情報を保存するかを選択し、どのような形式で保存するかを確認する必要があります。

ケースの構造

ケースは、さまざまなタイプの情報を表す多くの特性によって説明されます。

  • 問題の説明
  • 解決策とそれに至るまでの手順
  • 評価結果
  • 失敗の説明

すべての CBR が各タイプの情報を使用するわけではありません。もちろん、問題の説明と提供される解決策は必須の要素です。特定の特性 (最も特徴的なもの) は、ケースを検索および追加する際のインデックスとして使用されます。インデックスは、最大限のケースに関係し、将来の推論で再利用できるように、十分に具体的であると同時に抽象的である必要があります。また、事件を迅速に推測できるようにする必要もあります。

一般に、ケースを属性と値のペアのリストとして考えます。各ペアは特性に対応します。属性は型指定されています。たとえば、ReMind で使用される型は次のとおりです。

  • 古典的なタイプ:テキスト、整数、実数、ブール値、日付。
  • シンボル タイプ:ツリーに保存されるシンボルのリストを列挙できます。ツリーのルートには最も一般的なシンボルが含まれ、葉にはより具体的なシンボルが含まれます。
  • ケースタイプ:検討中のケースのサブパートであるケースを参照できます。
  • 式のタイプ:この属性の値は、式の計算の結果です。
  • リスト タイプ:このタイプは、以前のタイプを使用するオブジェクトのリストです。

記憶の整理

次に、ケースを結び付けるための組織とインデックス作成モデルを構築する必要があります。このモデルは特定の品質を備えている必要があります。まず第一に、追加によって古いケースへのアクセスが保証されることが必要です。同様の症例の検索では、症例ベースがいっぱいになるにつれて一定の複雑さを維持する必要があります。 CBR システムは、大規模なケースベースでのみ興味深いものであり、同様のケースを迅速に発見できるソリューションを検討する必要があることは明らかです。通常、この理由でインデックスを使用します。

ケースを注文するにはさまざまな方法がありますが、既存のすべてのモデルをすぐに検討します。特に次の 2 つのモデルに焦点を当てます。

  • 動的メモリモデル
  • カテゴリベースのモデル

シンプルモデル

まず、最も単純なモデルである線形組織から始めましょう。もちろん、この組織は事件の記憶全体を管理するために使用されるわけではありません。ただし、ケースの小さなサブセットのレベルで他のより複雑なモデルと暗黙的に組み合わせることができます。

メモリを決定木の形式で編成することが可能です。各ノードはインデックスの 1 つに関する質問に対応し、スレッドはさまざまな回答に対応します。できるだけ効果的にするには、ツリーは正しい順序で質問をし、できるだけ浅くする必要があります。このツリーは動的に構築する必要があります。これを構築するための最良の方法は、データ マイニングを使用することです。

もう 1 つのモデルは、メモリをプロトタイプの階層として構築することです。プロトタイプを使用すると、ケースの特性に基づいて条件を記述することができます。これらの条件を検証するすべてのケースは、このプロトタイプに関連付けられています。プロトタイプは継承階層で編成されます。したがって、より具体的なプロトタイプが継承する一般的なプロトタイプを指定できます。決定木をこのプロトタイプの階層と組み合わせることで、興味深い構造が得られます。 「ターミナル」プロトタイプは、ケースをリストではなく決定ツリーに保存するようになります。プロトタイプ階層はシステムのアプリオリな知識を表し、動的に生成される決定ツリーにより、かなり柔軟な構造が可能になります。

動的メモリモデル

動的メモリ モデルは、Robert Schank と Janet Kolodner によって導入されました。このモデルでは、ケースは一般化エピソードと呼ばれる階層構造に格納されます。メモリ構成パケットの MOP についても説明します。同様の特性を持つさまざまなケースは、より一般的な構造、つまり一般化されたエピソードにグループ化されます。これらには、次の 3 つのオブジェクト タイプが含まれます。

  • 規範:一般化されたエピソードの下に索引付けされた各ケースに共通する特徴。
  • インデックス:一般化されたエピソードに含まれるケースを区別する要素。インデックスには、名前と値の 2 つのフィールドがあります。それは別のエピソードを指している場合もあれば、単に事件を指している場合もあります。
  • 事例:システムに関する知識。したがって、インデックスを介してアクセスされます。

この図は、動的メモリ モデルのアイデアを示しています。木に似た構造をしています。オブジェクトには 3 つのタイプが記載されていますが、インデックスと値が区別されるという違いがあります。また、特定のケースにはさまざまな方法でアプローチできることにも気づくことができます。したがって、このモデルは冗長です。

類似事例はルートノードから検索されます。現在の問題と最も共通する特徴を持つ一般化されたエピソードを探します。次に、私たちが取り組んでいる一般化されたエピソードの標準にはない特徴を表すインデックスを調べます。選択されるインデックスと値のペアは、問題に最も類似したものです。ここから、別の一般化されたエピソードに到達するか、この場合はプロセスを再度開始するか、提起された問題と同様のケースを取得します。

新しいケースを追加する手順は、類似したケースを検索する場合と同様に機能します。実際、グラフ内のパスは同一です。現在のケースと最も多くの共通点を持つ一般化されたエピソードが見つかった場合、追加を実行します。これを行うには、新しいケースを一般化されたエピソードの他のスレッドから区別するインデックスと値のペアを生成する必要があります。同じペアのケースがすでに存在する場合は、これら 2 つのケースを含む新しい一般化されたエピソードを作成します。

したがって、ケースを見つけることを可能にするインデックスを使用して識別ネットワークを取得します。一般化されたエピソードは主にインデックス構造です。この標準により、基礎となるケースに関する一般的な知識を表現できるようになり、インデックスと値のペアによって特異性が定義されます。

ただし、このインデックス作成プロセスにより、ケース数に比べてインデックスの指数関数的に増加する可能性があります。したがって、パフォーマンスが低下する場合でも、インデックスの選択に一定の制限を追加するのが一般的です。

カテゴリベースのモデル

このモデルは前モデルの代替品です。ここで、事例を事例ともいう。指針となる考え方は、現実はケースによって広範に定義されるべきであるということです。一般に名前や値で表される特徴は、カテゴリに属する​​かどうかによって重要度が異なります。

このモデルでは、ケース ベースはカテゴリとケースのネットワークです。インデックスはリンクであり、次の 3 つのタイプがあります。

  • 注意:特性をカテゴリまたはケースにリンクします。
  • 例:カテゴリを、それが関連付けられているケースにリンクします。
  • 違い:限られた数の特徴のみが異なる 2 つのケースを接続すること。

以下の図は、利用可能なさまざまなタイプのリンクを示しています。ただし、これは 1 つのカテゴリのみを表します。したがって、例はいくつかのカテゴリに属する​​可能性があることを付け加えておきます。

類似のケースの検索では、新しい問題に最も近い特性を持つカテゴリを見つけます。それが見つかると、最も典型的なケースが返されます。

類似の事例を検索する

同様の事例を探す前に、提起された問題を研究する必要があります。可能であれば、その特徴だけでなくコンテキストも特定する必要があります。特定の情報が欠落している場合、特定の特性が無視されたり、ユーザーに質問されたりする可能性があります。 CBR システムがノイズの多いデータや一貫性のないデータを特定し、修正することを試みる必要があるのは、研究そのものへの序文であるこのステップです。このために、データ クリーニング ツールを使用できます。知識モデルを使用して他の人の特徴を推測することも可能です。通常、これらの操作はすべて、次のステップに進む前にユーザーの承認が必要です。

検索は、フィルタリングと選択の 2 つのフェーズに分かれています。これら 2 つの段階では、静的インデックスと動的インデックスが使用されます。どの特徴がインデックスとして選択されるかを決定するには、さまざまな方法があります。以下を使用できます。

  • すべての機能
  • いくつかの特徴
  • 過去の特性の定義
  • 最も差別的な特徴

CBR システムを作成するときにインデックスを選択することができます。その場合は静的インデックスについて説明します。それらが自動的に、またはヒューマン マシンインターフェイスを通じて選択される場合、それらは動的と呼ばれます。最後に、一部の CBR はさまざまなインデックスを重要視します。

フィルタリング

フィルタリングのステップでは、まず検索で使用されるケースの数を減らします。このステップをスキップして、選択項目に直接進むことができます。さまざまなアルゴリズムがありますが、これらは多くの場合、ある種のケース表現に関連付けられています。たとえば、MOP 表現、つまり動的メモリ表現の場合、フィルタリングはケースのセットを問題に近い MOP に減らすことから構成されます。インデックスを順番に下っていくことで到達します。

選択

フィルタリングステップ中に取得されたケースのセットから、同様のケースの新しいセットを構築します。これを行うには、最近傍アルゴリズムまたはその他のヒューリスティックを使用して、提示された問題と候補ケースの間の類似性を測定できます。実際には、インデックスを介して新しいケースを他のケースと比較するだけです。各指標の類似度から全体の類似度を求めます。

したがって、各インデックスには、検索セット内の 2 つの値間の類似性を測定する関数が必要です。ケースがシンボリック複合タイプで構成されている場合、これは問題になる可能性があります。しかし、この問題は CBR に特有のものではなく、アナロジー研究の特徴です。したがって、多くの場合、データの種類ごとに類似性を計算する方法がすでに存在します。一般に、計算関数は区間に属する値を返します。

選択ヒューリスティックを使用することで、この最近傍法を強化することができます。最適な選択を行うためには、問題に最も類似したケースを見つける必要はなく、問題の解決に最も役立つケースを見つける必要があります。ヒューリスティックでは以下を選択する必要があります。

  • 問題の目的の一部を解決するケース
  • 最も重要な特徴を共有するケース
  • 最も具体的なケース
  • 最もよく使われるケース
  • 最近の事例
  • 最も適応しやすいケース

症例の再利用と適応

単純な CBR システムでは、同様のケースが見つかった場合、現在の問題に対して提案されている解決策を直接再利用します。このタイプのシステムでは、類似性があれば十分であり、見つかったケースと問題の間の違いは無視できると考えられます。

この進め方はまだ満足のいくものではありません。問題と同じケースが見つかることはほとんどないため、多くの場合、既存のソリューションを適応させる必要があります。したがって、適応は、現在の問題と見つかった同様のケースから新しい解決策を構築することで構成されます。このフェーズでは、見つかったケースと問題の相違点と、新しいソリューションに転送するための有用な情報に焦点を当てます。

適応には 2 つのタイプがあります。

  • 変革的適応
  • 派生適応

変革的適応

変革的適応には、過去の事例からのソリューションを直接再利用することが含まれます。このタイプの適応では、同様のケースの解決策がどのように生成されたかは考慮されません。私たちは適応の法則を使用して古いソリューションを変革します。これらの法律は、CBR システムの適用範囲によって異なります。

派生適応

このタイプの適応は、ケースごとに解決策につながる推論の段階がデータベースに保存されている場合に使用できます。微分適応には、同じ推論を新しい問題に適用することが含まれます。新しいソリューションを構築するときは、選択した古いソリューションがたどったパスを優先し、失敗したパスを回避します。ただし、新しいケースは異なりますが、新しい副目的が追求されます。

事例ベースの推論 - 定義

その他の可能な適応

他のタイプの適応も可能です。たとえば、適応のケースを使用できます。これは、適応全般に特化した CBR システムを検討することに相当します。それは特定の領域に特化したものではなく、かなり抽象的な適応ケースを含みます。

別のアプローチは、ケースを階層的に分類することです。このアプローチにより、ケースを可能な限り高い抽象レベルで再利用できるため、新しい状況に簡単に適用できるようになります。ソリューションのサブパートを適応させるために、システムは一般的なソリューションのコンテキストを参照します。

リビジョン

システムによって問題が生成された後、問題の解決策がテストされます。このステップは通常、CBR の外部にあります。分野に応じて、シミュレーションソフトウェアまたは専門家に依頼できます。特に治療の検査を行う医療分野では、評価の期間が非常に長くなる可能性があることを忘れないでください。この評価が決定的であれば、この新しい経験を維持します。これは後で学習する学習フェーズです。ただし、解決策が満足のいくものでない場合は、修復するか、少なくとも失敗の理由を説明する必要があります。これが改訂フェーズです。

したがって、レビュー段階では、まず失敗の理由を特定しようとします。これを行うには、特定の目標が達成されなかった理由を説明しようとします。収集された情報は、適応段階で使用される失敗の記憶を強化します。したがって、次世代のソリューションでは、システムが間違いを繰り返すことはありません。

システムがソリューションが失敗した理由を特定すると、修復を試みることができます。この修復段階は、別の適応機能とみなすことができます。唯一の違いは、修復では、不適切な正しい解決策ではなく、問題に適応した間違った解決策に基づいて作業することです。失敗の説明を頼りに修正を加えていきます。

学ぶ

これは CBR サイクルの最終段階です。このフェーズでは、新しいケースとその検証済みのソリューションがケース ベースに追加されます。したがって、どの情報をどのような形式で保存する必要があるか、またこの新しいケースをデータベースにどのようにインデックス付けするかを決定する必要があります。

既存の事件の助けを借りずに、たとえば専門家の知識の助けを借りて事件が解決された場合、それは間違いなくデータベースに追加されるべきです。一方、解決策が古い事例から生成された場合、手順はより複雑になります。実際、新しいケースを直接追加する必要は必ずしもありません。たとえば、新しいソリューションの起源である前のケースを一般化できます。別の方法では、この新しいケースを一般化されたカテゴリまたはエピソードに統合することができます。

保存する情報については、問題の特徴と解決策を保存する必要があることは明らかです。特定の領域では、簡単に推測できる特性や問題に関係のない特性を無視することができます。解決に至った根拠の説明を記録することも可能です。これにより、前に見たように微分適応を使用できるようになります。前の段落で見たように、失敗を保存することもできます。失敗や誤った推論のケースをベースに追加できます。

次に、このケースを見つけるためにシステムがどのタイプのインデックスを使用するかを決定する必要があります。既存のソフトウェアのほとんどは、すべての機能を使用します。他の方法では、データベースをスキャンして、追加するケースで最も特徴的な特徴を見つけます。

最後に、新しいケースをデータベースに統合する必要があります。このフェーズでは、類似したケースを検索するときにシステムが類似点をより簡単に検出できるように、既存のケースのインデックス付けを変更します。実際には、ソリューションの構築において有用なケースに到達することを可能にしたケースにつながるインデックスの重みを増やします。逆に、システムは、失敗につながるケースにつながるインデックスの重みを減らします。結局のところ、私たちは特定の特性を優先します。

トレーニングの最後に、処理したばかりの問題をシステムに尋ねてシステムをテストするのは興味深いかもしれません。このようにして、システムが期待どおりに動作するかどうかを確認できます。

使用されている技術

データマイニング

データ マイニングの使用は、データのインデックス付けに有利であることがわかります。インデックス作成は CBR にとって非常に重要なポイントです。このおかげで類似度計算が行われます。インデックスはさまざまな基準を参照しており、データマイニングにより、インデックスを構築するための最も識別的な、したがって最も代表的な基準を示すことが可能になります。

さらに、類似度関数によって実行されるケース間の距離の計算は、新しいケースとベース内のすべての古いケースの間で論理的に行われます。データマイニングのおかげで、現在のケースに関係のないケースを直接除外するクラスが形成されます。したがって、類似度関数を使用した距離の計算は同じクラス内でのみ実行され、実行時間が大幅に短縮されます。

データクリーニング

データ クリーニングにより、CBR システムのパフォーマンスを向上させることもできます。これにより、CBR に記録されたデータが正確であり、完全に誤った推論につながる可能性のある不正確なケースがないことが保証されます。ただし、CBR のデータベースに矛盾するケースが存在する場合がありますが、実際の生活に存在する矛盾した経験から結論を導き出すことはできなくなります。

ファジーロジック

ファジーロジックは、オブジェクトを 1 つのセットまたは別のセットに分類することが難しい領域で使用されます。このテクノロジーを使用すると、CBR システムに多くの利点がもたらされます。

  • 不正確さの管理の改善:古典的な論理では、不正確さは推論を台無しにする可能性がありますが、ファジィ ロジックを使用する場合は十分に許容されます。
  • 言語的数量詞をシステムが使用できる数値情報に変換します。症例の説明がテキストの場合、特性が「非常に」、「少し」、「およそ」などの数量詞によって修飾される可能性が高くなります。これらは 0 と 1 の間の値に簡単に変換されます。
  • 継続的な実際の値の管理が容易になります。インデックス作成とケース検索の実装が簡単になります。
  • 信頼性と関連性の概念の導入:保存されている情報ごと、または新しいケースの特徴ごとに、情報と関連性に対する信頼を使用します。たとえば、情報が信頼できないソースからのものである場合、信頼性は低くなります。別の言い方をすると、関連性は問題に対する情報の重要性を表します。

一部の CBR システムは、ケース ストレージからのファジー ロジックを使用します。各ケースの関連性と信頼度を管理します。しかし、ファジー ロジックの主な用途は、類似のケースを検索することです。ここでも、システムは信頼度と関連性の度合いを使用して類似性を計算します。最後に、この手法を使用して適応を最適化することも可能です。

事例ベースの推論プロジェクト

  • CHEF : このソフトウェアは、CBR 技術を使用して料理レシピを作成することを目的としています。ユーザーが入手可能な食品をプログラムに指定すると、CHEF はこれらの材料からレシピを開発しようとします。これを行うために、CBR は他の CBR と同様に動作します。有効なレシピの「ケース」の非常に大規模なデータベースを持ち、模倣によって、選択された材料を含む新しいレシピを作成しようとします。 CHEF には、失敗を考慮し、再現を避けるために失敗を保存するという特徴があります。ユーザーが課した制約が強すぎて解決策が見つからない場合、CHEF は失敗の理由を示す説明を提供します。
  • SWALE : SWALEプロジェクトは、異常な状況についての説明を提供することを目指しています。特に、動物や人間のの原因について説明します。たとえば、番組では、壮年期有名な競走馬の予期せぬ死を、運動能力向上薬の過剰摂取による自転車選手の死と比較します
  • PERSUADER : PERSUADER は、ケースベースの推論に基づいた紛争管理ツールです。それは交渉/調停の原則に基づいて機能します。彼は、グループの問題解決のために文書化された解決策を提供することができます。 PERSUADER は、紛争のさまざまな主体間で相互に合意された和解を構築できることを保証します。
事例ベースの推論 - 定義
  1. المنطق المعتمد على الحالة – arabe
  2. Raonament basat en casos – catalan
  3. Fallbasiertes Schließen – allemand
  4. Case-based reasoning – anglais
  5. Kazo-bazita konkludado – espéranto
  6. Razonamiento basado en casos – espagnol

事例ベースの推論 – 定義・関連動画

サイエンス・ハブ

知識の扉を開け、世界を変える。