next up previous
Next: 研究の成果 Up: 「論理型言語KLICを用いた概念学習システムの研究」に関する成果概要 Previous: 研究の背景と目的

研究の内容

本研究で設計・作成する概念学習システム CONCEPT-LR は、ユーザが与える事 例、制約知識等と、システムに内蔵された知識ベースおよび学習機能を基に、 新しい概念の学習や高度な概念の学習を行い知識ベースの高度化を行うもので ある。現在のシステムにおける学習機能としては、述語論理を基にした a) 帰 納的学習と、b) 類推による学習を備えている。本章では、CONCEPT-LR のシス テム構成について述べ、概念学習とそのアルゴリズムを説明する。


(1) 概念・事例・制約知識

ここでは、CONCEPT-LR の学習において背景となっている概念・事例・制約知 識について説明する。

CONCEPT-LR では、一階述語論理の述語で概念を表現する。また、ホーン節の 一種である確定節で概念の定義を表現する。概念をその定義の獲得の仕方の違 いにより事実節( H← という形の節)、非自己再帰節 ( HB 1∧…∧Bn という形をしており、 B1 ,…,Bn の中に H と同じ述語を含まない節)、自己再帰節 ( HB 1∧…∧Bn の形をしており、 B1 ,…,Bn の中に H と同じ述語を含む)の3つに分類する。概念の解釈はSLD導出を用いて行う。

CONCEPT-LR に概念学習を行わせる場合、ユーザーは事例と制約知識を入力す る必要がある。事例とは、述語で表現されたある概念の例のことである。その 例が正しい例である場合は正事例、誤った例である場合は負事例と呼ばれる。

制約知識は、学習の効率を上げるための知識であり、 領域知識 再帰的データ構造知識 等価知識から成る。以下でそれぞれについて 説明する。

領域知識
一般にある概念が扱う対象は、特定の領域に限定される。このため、概念が扱 う対象の領域を明示すれば、対象の探索範囲を狭めることができる。 CONCEPT-LR は、概念が扱う対象の分類を領域知識、ある概念がどの領域を対 象とするかを示す知識を述語のタイプ付け知識と呼ぶ。領域は、具体的な対象 を表す定数項、複数の対象にある1つの対象を関係付ける関数項、その領域が 含む部分領域から成る。

再帰的データ構造知識
再帰的データ構造知識とは、再帰的な連結関係を定義する知識である。ここ で再帰的な連結関係とは、下に示すように、ある領域 D の各対象 a,b,c,d,… が関係 r によって連鎖的に連結されているときの関係 r のことである。

この知識があれば、 ac との関係を求める際、 b が間に入ることが 簡単に判る。

等価知識
概念の中には、形が異っても意味的には同じものがある。意味が同じだが形が 異なる概念を別々に扱うより、まとめて扱う方が効率が良い。述語名や引数の 並びが異なっても同じ意味を持つ述語を指定するのが等価知識である。


(2) CONCEPT-LR の概念学習アルゴリズム

ここでは、概念学習システム CONCEPT-LR で扱うことのできる学習方法につい て説明する。当初、CONCEPT-LR に塔載する学習アルゴリズムとして a) 帰納 的学習、b) 類推による学習、c) 高次高階概念の学習の3つを考えていたが、 現時点実装できているのはa) と b) の2つだけである。高次高階概念学習につ いては現在そのアルゴリズムについて検討を行っている最中である。

● 帰納的学習のアルゴリズム
帰納的学習は、ユーザーが入力した事例の真偽と現在までに学習された概念 データベースにおける事例の解釈が異なる以下の2つの場合に実行される。

正事例が概念データベースで偽と解釈される場合
正事例が偽と解釈される場合、CONCEPT-LR はその事例を成り立たせる新たな 定義を概念データベースに追加する。その概念が事実節により定義されるなら、 単にその事例を概念の定義に追加する。それ以外の場合、その定義を獲得する ため、まずその事例を成り立たせるための最も特殊な節を生成する( 正当 化)。次に、その節の条件の中から、本当に必要な条件を探す( 一般化)。 そうしてできた節を概念の定義として追加する。非再帰的概念の場合を例とし て、正当化と一般化について説明する。

負事例が真と解釈された場合
この場合、負事例を真と解釈するのに用いた節の中に、誤った定義節が含まれ ることになる。その節を探すため、システムは解釈に用いられた節のそれぞれ について、その条件部が本当に正しかったのかをユーザーに尋ねる。もし条件 が全て正しいのに結論が誤っている場合、その節は誤った節である。こうして 探した節について学習をやり直すことで、正しい解釈を行えるようになる。

● 類推による学習のアルゴリズム
類推による学習は、2 つの述語の対応関係から、別の 2 つの節の対応関係を類推 する学習法である。類推による学習を図--1を用いて行う。

  
図 --1: 類推による学習

類推は、AX の対応関係、BY の対応関係が類似している場合 に行われる。A, B, X が既知、Y が未知の概念であるとする。まず、A か ら X の対応関係を求める (1)、次に A から B への対応関係を求める (2)。そしてその対応関係から BY の対応関係を類推し、 Yの定義を求める (3)。

概念の対応関係は、条件部の述語と対象領域の対応により示される。これを求 めるには、まずヘッド部の対応から対象領域の対応の一部を求める。次に、そ の対象領域の対応と述語の引数の数から条件部の述語の対応を求める。 対応が求まったら、その引数部の対応から対象領域の対応が求まる。これを繰り 返すことで対応関係が求まる。

対応関係が求まれば、AB の対応を用いて、AX の対応関係を BY の対応関係に変換する。この際、AB の対応関係で記述さ れない述語が存在する場合、領域の対応と引数の数を基にして今までに定義さ れた述語の中から探す。最終的に得られた対応関係を用いて Y の定義を獲 得する。

●高次高階概念の学習

概念は、対象間の性質や関係のことであるので、高階概念は、その概念の間の 性質や関係のことであると言える。このような高階概念には、類似性、反射律、 対称律、反対称律、推移律、結合律等がある。概念の学習が、その概念が成り 立つための条件を求めるものなので、高階概念の学習も、その高階概念が成り 立つための条件を求めるものとなる。


(3) 概念学習システム CONCEPT-LR

概念学習システム CONCEPT-LR は、ICOT で開発された KLIC (Shared-Memory 版) を用いて実現されている。実装は 6台の Alpha 21064 プロセッサを備え た DEC7000 上の OSF/1 オペレーティングシステムの下で行ったが、KLIC の みを用いて記述されているため、KLIC が動作すればどの環境でも動作 するものと思われる。

CONCEPT-LR は概念の表現を一階述語論理の述語を用いて行うため、述語をファ ンクタという形で直接表現できる KLIC を用いることで、自然にかつ容易に実 現されている。


●CONCEPT-LRのシステム構成

CONCEPT-LR は、制約知識獲得モジュール、学習モジュール、知識ベースモ ジュール、インタフェースモジュールの4つのモジュールと、知識を保存する 知識ベースから成る。CONCEPT-LR のシステム構成を図 --2 に示す。

 
図 --2: CONCEPT-LRのシステム構成

各モジュールについて説明する。

制約知識の獲得モジュール
ユーザーから提示された制約知識を知識ベースの対応する各サブ知識ベースに 追加するモジュールである。このモジュールによって入力できる制約知識は、 領域知識、述語のタイプ付け知識、再帰的データ構造知識、等価知識である。

学習モジュール
このモジュールは実際に学習を行う部分である。当初の計画では学習機能とし て、帰納的学習、類推による学習、高次高階概念の学習という3つのアルゴリ ズムを備える予定であったが、現在のところ、帰納的学習、類推による学習の 2つのアルゴリズムをサポートしている。学習モジュールは、これら2つの学習 機能をサポートする2つのサブモジュールから構成される。

知識ベースモジュール
知識ベースモジュールは、学習モジュールからの知識ベースファイルへのアク セスを制御する。

ユーザインタフェースモジュール
ユーザからの入力を制約知識獲得モジュールや学習モジュールに受け渡す。 また、これらのモジュールから提示された事例の真偽をユーザに尋ねる。

知識ベース
推論学習の対象となる知識ベースであり、概念データベース、事例知識ベース、 領域知識ベース、類似知識ベース、再帰的構造知識ベース、タイプ付け知識ベー ス、等価知識ベースから構成される。それぞれの知識ベースは、ファイルとし てディスク上に存在する。


● CONCEPT-LR の実現と評価
先に説明した CONCEPT-LR の4つのモジュールは、それぞれ KLIC プロセスと して実現されている。そしてそれらのプロセスをストリーム通信によって結合 し、図 --2のようなプロセスネットワークを構成することによっ てシステムを構成している。これにより、各モジュールの独立性が高まり、新 しい学習アルゴリズムの追加などに際しては、学習モジュールのみの更新で容 易に行うことができる。

CONCEPT-LR は、ユーザとの対話によって知識を獲得する対話的なシステムで あるから、対話応答性を良くするため、学習機能の並列化による効率化を行っ ている。現在並列化を行っているのは、推論操作において最もコストのかかる 正当化の処理である。

KLIC による 並列化は、並列化したい部分をプラグマによって明示的に指定す る。プラグマによって指定されたゴールは、必ず並列化に評価される。従っ て、並列化されたゴールの粒度が細いと、並列化に伴うオーバヘッドの影響で、 効率的な並列処理が出来ないという問題がある。そこで、正当化に用いる全て の述語をグルーピングしてプロセッサ台数と同数のグループを構成し、その各 グループを並列に実行させる方法で並列処理を実現した。

並列化の効果を調べるため評価実験を行った。表 --1に実験結果 を示す。この実験は、1000人分の家族関係のデータを用いて、祖父の概念を学 習する際の正当化の処理時間を、使用するプロセッサ台数を変えて計測したも のである。この表から判るように、並列化により、逐次の場合に比べておよそ 1.7 倍のスピードアップになっている。

  
表 --1: 帰納的学習の正当化における並列化の評価


(4) CONCEPT-LR の使用例

CONCEPT-LR による対話的な概念学習の実例を図--3に示す。下線は ユーザの入力を示す。目的の概念に対する背景知識については、ユーザとの対 話によって既に学習できているものとする。図--3では、ユーザー は概念学習方法の選択において、帰納的学習を選択している。次に、学習させ る概念の事例とその真偽値を入力する。この場合、 father(jeffrey,kate)すなわち、''Jeffrey は Kate の 父である'' という 事例と、その真理値 true を入力する。概念データベースに父の概念が 無いため、一般化による学習モジュールが起動される。システムは入力された 事例の正当化を行い、結果を表示する。そしてそれぞれの条件について一般化 を試みる。一般化は、システムが提示した事例が正事例であるかどうかをユー ザーが判断することによって行われる。このようにして最終的に父についての 正しい概念が学習され、概念データベースに追加される。

  
図 --3: CONCEPT-LR による概念学習の例



next up previous
Next: 研究の成果 Up: 「論理型言語KLICを用いた概念学習システムの研究」に関する成果概要 Previous: 研究の背景と目的



www-admin@icot.or.jp