本研究で設計・作成する概念学習システム CONCEPT-LR は、ユーザが与える事 例、制約知識等と、システムに内蔵された知識ベースおよび学習機能を基に、 新しい概念の学習や高度な概念の学習を行い知識ベースの高度化を行うもので ある。現在のシステムにおける学習機能としては、述語論理を基にした a) 帰 納的学習と、b) 類推による学習を備えている。本章では、CONCEPT-LR のシス テム構成について述べ、概念学習とそのアルゴリズムを説明する。
(1) 概念・事例・制約知識
ここでは、CONCEPT-LR の学習において背景となっている概念・事例・制約知 識について説明する。
CONCEPT-LR では、一階述語論理の述語で概念を表現する。また、ホーン節の 一種である確定節で概念の定義を表現する。概念をその定義の獲得の仕方の違 いにより事実節( H← という形の節)、非自己再帰節 ( H←B 1∧…∧Bn という形をしており、 B1 ,…,Bn の中に H と同じ述語を含まない節)、自己再帰節 ( H←B 1∧…∧Bn の形をしており、 B1 ,…,Bn の中に H と同じ述語を含む)の3つに分類する。概念の解釈はSLD導出を用いて行う。
CONCEPT-LR に概念学習を行わせる場合、ユーザーは事例と制約知識を入力す る必要がある。事例とは、述語で表現されたある概念の例のことである。その 例が正しい例である場合は正事例、誤った例である場合は負事例と呼ばれる。
制約知識は、学習の効率を上げるための知識であり、 領域知識、 再帰的データ構造知識、 等価知識から成る。以下でそれぞれについて 説明する。
この知識があれば、 a と c との関係を求める際、 b が間に入ることが 簡単に判る。
(2) CONCEPT-LR の概念学習アルゴリズム
ここでは、概念学習システム CONCEPT-LR で扱うことのできる学習方法につい て説明する。当初、CONCEPT-LR に塔載する学習アルゴリズムとして a) 帰納 的学習、b) 類推による学習、c) 高次高階概念の学習の3つを考えていたが、 現時点実装できているのはa) と b) の2つだけである。高次高階概念学習につ いては現在そのアルゴリズムについて検討を行っている最中である。
● 帰納的学習のアルゴリズム
帰納的学習は、ユーザーが入力した事例の真偽と現在までに学習された概念
データベースにおける事例の解釈が異なる以下の2つの場合に実行される。
● 類推による学習のアルゴリズム
類推による学習は、2 つの述語の対応関係から、別の 2 つの節の対応関係を類推
する学習法である。類推による学習を図--1を用いて行う。
![]() |
類推は、A と X の対応関係、B と Y の対応関係が類似している場合 に行われる。A, B, X が既知、Y が未知の概念であるとする。まず、A か ら X の対応関係を求める (1)、次に A から B への対応関係を求める (2)。そしてその対応関係から B と Y の対応関係を類推し、 Yの定義を求める (3)。
概念の対応関係は、条件部の述語と対象領域の対応により示される。これを求 めるには、まずヘッド部の対応から対象領域の対応の一部を求める。次に、そ の対象領域の対応と述語の引数の数から条件部の述語の対応を求める。 対応が求まったら、その引数部の対応から対象領域の対応が求まる。これを繰り 返すことで対応関係が求まる。
対応関係が求まれば、A と B の対応を用いて、A と X の対応関係を B と Y の対応関係に変換する。この際、A と B の対応関係で記述さ れない述語が存在する場合、領域の対応と引数の数を基にして今までに定義さ れた述語の中から探す。最終的に得られた対応関係を用いて 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 に示す。
![]() |
各モジュールについて説明する。
このモジュールは、事例の入力を行い、その真偽によって一般化による学習や 特殊化による学習を起動する。
このモジュールは、定義が既知の3つの概念と、それに類似した未知の1つの 概念を入力し、学習を行う。
● CONCEPT-LR の実現と評価
先に説明した CONCEPT-LR の4つのモジュールは、それぞれ KLIC プロセスと
して実現されている。そしてそれらのプロセスをストリーム通信によって結合
し、図 --2のようなプロセスネットワークを構成することによっ
てシステムを構成している。これにより、各モジュールの独立性が高まり、新
しい学習アルゴリズムの追加などに際しては、学習モジュールのみの更新で容
易に行うことができる。
CONCEPT-LR は、ユーザとの対話によって知識を獲得する対話的なシステムで あるから、対話応答性を良くするため、学習機能の並列化による効率化を行っ ている。現在並列化を行っているのは、推論操作において最もコストのかかる 正当化の処理である。
KLIC による 並列化は、並列化したい部分をプラグマによって明示的に指定す る。プラグマによって指定されたゴールは、必ず並列化に評価される。従っ て、並列化されたゴールの粒度が細いと、並列化に伴うオーバヘッドの影響で、 効率的な並列処理が出来ないという問題がある。そこで、正当化に用いる全て の述語をグルーピングしてプロセッサ台数と同数のグループを構成し、その各 グループを並列に実行させる方法で並列処理を実現した。
並列化の効果を調べるため評価実験を行った。表 --1に実験結果 を示す。この実験は、1000人分の家族関係のデータを用いて、祖父の概念を学 習する際の正当化の処理時間を、使用するプロセッサ台数を変えて計測したも のである。この表から判るように、並列化により、逐次の場合に比べておよそ 1.7 倍のスピードアップになっている。
![]() |
(4) CONCEPT-LR の使用例
CONCEPT-LR による対話的な概念学習の実例を図--3に示す。下線は ユーザの入力を示す。目的の概念に対する背景知識については、ユーザとの対 話によって既に学習できているものとする。図--3では、ユーザー は概念学習方法の選択において、帰納的学習を選択している。次に、学習させ る概念の事例とその真偽値を入力する。この場合、 father(jeffrey,kate)すなわち、''Jeffrey は Kate の 父である'' という 事例と、その真理値 true を入力する。概念データベースに父の概念が 無いため、一般化による学習モジュールが起動される。システムは入力された 事例の正当化を行い、結果を表示する。そしてそれぞれの条件について一般化 を試みる。一般化は、システムが提示した事例が正事例であるかどうかをユー ザーが判断することによって行われる。このようにして最終的に父についての 正しい概念が学習され、概念データベースに追加される。
![]() |