リップルダウンルール

リップルダウンルールRDR )は、知識獲得へのアプローチ方法の一つです。知識獲得とは、人間の専門家から知識ベースシステムへの知識の移転を指します。

入門資料

リップルダウンルールは、知識獲得のための漸進的なアプローチであり、一連の手法を網羅しています。RDRは、エキスパートシステムGARVAN-ES1 (Compton and Jansen 1988) の保守経験に基づいて、 ComptonとJansenによって提案されました。オリジナルのGARVAN-ES1 (Horn et al. 1985) は、テスト駆動開発に基づく知識獲得プロセスを採用していました。このプロセスでは、システムによって適切に分類されなかった新しい事例をデータベースに追加し、それらを用いて知識ベースを漸進的に改良していました。追加された事例のうち、システムの助言と矛盾する結論を持つものは「コーナーストーン事例」と呼ばれていました。その結果、知識が改良されるたびにデータベースは反復的に成長しました。そして、データベースを用いて知識の変更をテストできるようになりました。Teiresiasによって提供されたものと同様の知識獲得ツールは、矛盾するルールを発見し、修正を支援するために開発されました。これらのツールは、各事例によって発動されたルールと、矛盾を解消するための知識の「編集」に関する提案を表示します。

RDR フレームワークでは、人間の専門家の知識は現在のコンテキストに基づいて獲得され、段階的に追加されます。Compton と Jansen は、専門家の知識はある程度、彼女が正しい理由を正当化するために「作り上げられた」ものであり、彼女がどのようにしてこの正しい解釈 (または結論) に達したかを説明するものではないと主張しました。正当化は、現在のケースから識別された特徴に基づいています。専門家は、特定のコンテキストに対応するケースを分類するためのルールを作成します。このルールで、クラスに属するすべてのケースを分類できる可能性は低いです。Compton と Jansen は、私たちが伝える知識はコンテキストにおける正当化であるため、単一のエレガントなコンテキストフリー ルールを作成することは不可能であると主張しました。これは、知識はコンテキスト内でのみ真であるため、他の知識の基礎となる絶対的な知識は存在しないことを意味します (Compton and Jansen 1990)。

方法論

リップルダウンルールは、データ構造と知識獲得シナリオで構成されています。人間の専門家の知識はデータ構造に格納され、一連のルールとしてコード化されています。人間の専門家の知識をRDRの知識ベースシステムに転送するプロセスは、知識獲得シナリオで説明されています。

データ構造

リップルダウンルールには、単一分類リップルダウンルール(SCRDR)、複数分類リップルダウンルール(MCRDR)、ネストリップルダウンルール(NRDR)、繰り返し推論複数分類リップルダウンルール(RIMCRDR)など、様々な構造があります。ここで説明するRDRのデータ構造は、最も単純な構造であるSCRDRです。

データ構造は決定木に似ています。各ノードにはルールがあり、その形式は「IF cond1 AND cond2 AND ... AND condN THEN 結論」です。Cond1は条件(ブール評価)です。例えば、A=1、isGreater(A,5)、average(A,">",average(B))などです。各ノードには2つの後続ノードがあり、これらの後続ノードは「ELSE」または「EXCEPT」によって先行ノードに接続されます。

SCRDR ツリー (再帰的に定義) の例を以下に示します。

IF (OutLook = "SUNNY" AND Temperature = "COOL") THEN PLAY="TENNIS" EXCEPT Child-1 ELSE Child-2

ここで、Child-1とChild-2もSCRDRツリーです。例えば、Child-1は次のようになります。

IF (風 = "風が強い"、かつ湿度 = "高い") THEN Play="SQUASH" EXCEPT NoChild ELSE NoChild

知識獲得シナリオ

人間の専門家がシステムにケースを提供し、誤分類されたケースの分類を修正するための新しいルールを追加します。例えば、ルールChild-1は、ケース[OutLook="SUNNY", Temperature="COOL", Wind="WINDY", Humidity="HIGH", ForeCast="STORM", Play="SQUASH"]の分類を修正するために追加されます。このケースはPlay="TENNIS"と誤分類されています。

ルールが人間の専門家によって構築される場合、このルールの条件は誤分類されたケースによって満たされる必要があり、また親ルール (このコンテキストでは最初のルール) によって正しく分類された以前のケースによって満たされてはなりません。

実装

以下は、RDR の既知の実装の一覧です。

  • RDR (MCRDR) フレームワークのアルファ バージョンは、ニューサウスウェールズ大学 (UNSW) とタスマニア大学 (UTAS) の研究チームによって開発され、ARC によって資金提供されました。
  • RDR (MCRDR) ドキュメント分類器は、UNSW の Yang Sok Kim 博士と UTAS の Byeong Ho Kang 教授によって開発されました。
  • Erudine Behavior Engineは、知識獲得とビジネスプロセスモデリングのための方法論の一部としてRDRを採用した商用ソフトウェア製品です。Javaで実装されています。
  • Ballarat Incremental Knowledge Engine(BIKE)は、C++で記述された包括的なオープンソース実装です。単一分類および複数分類のRDR用のプラグインが含まれています。
  • Pacific Knowledge Systems (PKS) は、複数分類のリップルダウン ルールに基づいた RippleDown Expert という商用製品を使用しています。
  • JavaデータマイニングソフトウェアWekaには Ridorと呼ばれるInduct RDRのバージョンがあります。Ridorはデータセットからルールを学習し、テストセット内のクラスを予測することを主な目的としています。
  • RDRPOSTagger ツールキット: 品詞タグ付けのための単一分類リップルダウンルール
  • RDRsegmenter ツールキット: 単語分割のための単一分類リップルダウンルール

参照

参考文献