JPH01147629A - 質問応答装置 - Google Patents
質問応答装置Info
- Publication number
- JPH01147629A JPH01147629A JP62308000A JP30800087A JPH01147629A JP H01147629 A JPH01147629 A JP H01147629A JP 62308000 A JP62308000 A JP 62308000A JP 30800087 A JP30800087 A JP 30800087A JP H01147629 A JPH01147629 A JP H01147629A
- Authority
- JP
- Japan
- Prior art keywords
- inference
- rule
- backward
- fact
- facts
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/046—Forward inferencing; Production systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/042—Backward inferencing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Devices For Executing Special Programs (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〈産業上の利用分野〉
この発明は、効率の良い推論を可能にする質問応答装置
に関する。
に関する。
〈従来の技術〉
前向き推論方式で用いるルールの否定は条件だけに付け
ることができ、その意味は”ワーキングメモリにマツチ
する事実が無い”である。また、後向き推論方式で用い
るルールの否定は条件とワーキングメモリ上の事実との
両方に付けることができ、その意味は“〜でない”であ
る。また、確信度を用いた後向き推論では、確信度によ
って肯定/否定が逆になる事がある。そのため、萌向き
推論機構と後向き推論機構を併せ持つ質問応答装置では
、異なった否定の意味付けが行われている。
ることができ、その意味は”ワーキングメモリにマツチ
する事実が無い”である。また、後向き推論方式で用い
るルールの否定は条件とワーキングメモリ上の事実との
両方に付けることができ、その意味は“〜でない”であ
る。また、確信度を用いた後向き推論では、確信度によ
って肯定/否定が逆になる事がある。そのため、萌向き
推論機構と後向き推論機構を併せ持つ質問応答装置では
、異なった否定の意味付けが行われている。
したがって、従来の質問応答装置では、前向き推論機構
かまたは向き推論機構の一方のみを採用している。また
、両方の推論機構を用いている場合には、上述のように
後向き推論では“ワーキングメモリにマツチする要素が
無い”という否定(〜が無い)の条件を扱うことができ
ないので、前向き推論で事実の削除を行うと後向き推論
ができなくなる場合がある。そのため、前向き推論で事
実の削除ができないようにし、さらに前向き推論で事実
の削除ができないため、前向き推論で競合集合を作らな
いようにしている。
かまたは向き推論機構の一方のみを採用している。また
、両方の推論機構を用いている場合には、上述のように
後向き推論では“ワーキングメモリにマツチする要素が
無い”という否定(〜が無い)の条件を扱うことができ
ないので、前向き推論で事実の削除を行うと後向き推論
ができなくなる場合がある。そのため、前向き推論で事
実の削除ができないようにし、さらに前向き推論で事実
の削除ができないため、前向き推論で競合集合を作らな
いようにしている。
また、上述のように前向き推論と後向き推論を併せ持つ
質問応答装置では、異なった否定の意味付けを行ってい
るので、前向き推論に用いるルールの結論部で、は否定
(〜でない)の事実を生成しないようにしている。
質問応答装置では、異なった否定の意味付けを行ってい
るので、前向き推論に用いるルールの結論部で、は否定
(〜でない)の事実を生成しないようにしている。
〈発明が解決しようとする問題点〉
このように、従来の前向き推論機構と後向き推論機構を
併せ持つ質問応答装置では、前向き推論に用いるルール
の結論部で否定(〜でない)の事実を生成しないように
しているので、前向き推論の結論部で否定(〜でない)
の事実を作り、それを後向き推論で利用することができ
ない。したがって、ルールの本構造に従って探索を行う
後向き推論では、否定の結論を得るためには、必ず否定
の結論を得るまでルールを探索しなければならず、推論
の効率が悪いという問題がある。また、後向き推論に用
いるルールの条件部で否定(〜が無い)の条件を扱うこ
とができないので、前向き推論で事実の削除ができない
という問題や、後向き推論においである条件にマツチす
る事実がワーキングメモリ上に無い場合はその都度質問
を行わなければならないという問題がある。
併せ持つ質問応答装置では、前向き推論に用いるルール
の結論部で否定(〜でない)の事実を生成しないように
しているので、前向き推論の結論部で否定(〜でない)
の事実を作り、それを後向き推論で利用することができ
ない。したがって、ルールの本構造に従って探索を行う
後向き推論では、否定の結論を得るためには、必ず否定
の結論を得るまでルールを探索しなければならず、推論
の効率が悪いという問題がある。また、後向き推論に用
いるルールの条件部で否定(〜が無い)の条件を扱うこ
とができないので、前向き推論で事実の削除ができない
という問題や、後向き推論においである条件にマツチす
る事実がワーキングメモリ上に無い場合はその都度質問
を行わなければならないという問題がある。
そこで、この発明の目的は、前向き推論で否定(〜でな
い)の事実を生成できるようにし、また、後向き推論に
おいて否定(〜が無い)の条件を扱えるようにすること
によって、後向き推論において不必要な探索や質問をす
る必要がなく、効率のよい推論ができる質問応答装置を
提供することにある。
い)の事実を生成できるようにし、また、後向き推論に
おいて否定(〜が無い)の条件を扱えるようにすること
によって、後向き推論において不必要な探索や質問をす
る必要がなく、効率のよい推論ができる質問応答装置を
提供することにある。
〈問題点を解決するための手段〉
上記目的を達成するため、この発明は、前向き推論制御
方式で用いる前向き推論ルールおよび後向き推論制御方
式で用いる後向き推論ルールを格納したルールメモリと
、事実を格納したワーキングメモリと、上記ワーキング
メモリに対する事実の追加・削除を行う前向き推論制御
部と、探索ルールの木構造に従って探索を行う後向き推
論制御部とを有する質問応答装置において、上記ルール
メモリに格納された上記前向き推論ルールの結論部に、
必要に応じて否定の事実の生成を指示する指令が付加さ
れ、上記ルールメモリに格納された上記後向き推論ルー
ルの条件部に、必要に応じて上記ワーキングメモリに対
応する事実が無ければ真となる条件が付加されて、前向
き推論によって生成される否定の事実を後向き推論に用
いることを可能にし、また、対応する事実が上記ワーキ
ングメモリ上に無くとも後向き推論を可能にしたことを
特徴としている。
方式で用いる前向き推論ルールおよび後向き推論制御方
式で用いる後向き推論ルールを格納したルールメモリと
、事実を格納したワーキングメモリと、上記ワーキング
メモリに対する事実の追加・削除を行う前向き推論制御
部と、探索ルールの木構造に従って探索を行う後向き推
論制御部とを有する質問応答装置において、上記ルール
メモリに格納された上記前向き推論ルールの結論部に、
必要に応じて否定の事実の生成を指示する指令が付加さ
れ、上記ルールメモリに格納された上記後向き推論ルー
ルの条件部に、必要に応じて上記ワーキングメモリに対
応する事実が無ければ真となる条件が付加されて、前向
き推論によって生成される否定の事実を後向き推論に用
いることを可能にし、また、対応する事実が上記ワーキ
ングメモリ上に無くとも後向き推論を可能にしたことを
特徴としている。
〈作用〉
質問応答装置に、前向き推論制御方式で用いる萌向き推
論ルールおよび後向き推論制御方式で用いる後向き推論
ルールが入力されてルールメモリに格納される。また、
事実が入力されてワーキングメモリに格納される。その
際に必要に応じて、上記前向き推論ルールの結論部には
否定の事実の生成を指示する指令が、また上記後向き推
論ルールの条件部には上記ワーキングメモリに対応する
事実が無ければ真となる条件が付加されている。
論ルールおよび後向き推論制御方式で用いる後向き推論
ルールが入力されてルールメモリに格納される。また、
事実が入力されてワーキングメモリに格納される。その
際に必要に応じて、上記前向き推論ルールの結論部には
否定の事実の生成を指示する指令が、また上記後向き推
論ルールの条件部には上記ワーキングメモリに対応する
事実が無ければ真となる条件が付加されている。
したがって、前向き推論制御部での前向き推論によって
生成される否定の事実を、後向き推論制御部での後向き
推論に用いることができ、後向き推論における否定の結
論を得るための不必要な探索を無くすることが可能とな
る。また、対応する事実が上記ワーキングメモリ上に無
くても質問することなく後向き推論を行うことが可能と
なる。
生成される否定の事実を、後向き推論制御部での後向き
推論に用いることができ、後向き推論における否定の結
論を得るための不必要な探索を無くすることが可能とな
る。また、対応する事実が上記ワーキングメモリ上に無
くても質問することなく後向き推論を行うことが可能と
なる。
〈実施例〉
以下、この発明を図示の実施例により詳細に説明する。
第1図は前向き推論制御機構と後向き推論制御機構を併
せ持つ質問応答装置(以下、単に質問応答装置と言う)
の構成図である。上記質問応答装置lは全体の制御部2
.前向き推論部3.後向き推論部4およびワーキングメ
モリ5を有する。
せ持つ質問応答装置(以下、単に質問応答装置と言う)
の構成図である。上記質問応答装置lは全体の制御部2
.前向き推論部3.後向き推論部4およびワーキングメ
モリ5を有する。
上記全体の制御部2は、後に述べるように質問応答動作
の開始や終了、前向き/後向きの推論制御、入力データ
の解析1本質問応答装置lに対するコマンドの処理およ
び推論によって得られたルールの実行時におけるアクシ
ョンの処理などの制御を行う。
の開始や終了、前向き/後向きの推論制御、入力データ
の解析1本質問応答装置lに対するコマンドの処理およ
び推論によって得られたルールの実行時におけるアクシ
ョンの処理などの制御を行う。
すなわち、入力処理部6は、図示しないプログラム作成
装置で別途編集された事実・ルールを含むファイルを読
み込んで解析し、このファイルの内容を事実、前向き推
論ルール、後向き推論ルール。
装置で別途編集された事実・ルールを含むファイルを読
み込んで解析し、このファイルの内容を事実、前向き推
論ルール、後向き推論ルール。
本質問応答装置lに対するコマンドに分類する。
そして、分類した結果が事実の場合にはワーキングメモ
リ5に、前向き推論ルールの場合は前向き推論部3のル
ール記憶部11に、後向き推論ルールの場合は後向き推
論部4のルール記憶部12に格納する一方、コマンドの
場合はコマンド処理部7を呼び出す。そうすると、上記
コマンド処理部7は、コマンドの内容に応じて、推論の
開始、ワーキングメモリ5のメモリ内容の表示および戦
略の特定等の外部から質問応答装置1に対する命令の処
理を行う。例えば推論の開始コマンドが人力された場合
は、推論の制御部lOを呼び出して推論を始める。外部
関数処理部8は推論の実行中に外部の関数が呼び出され
た場合の処理を行う。アクション処理部9は後に詳述す
るように前向き推論、後向き推論の実行中に行われるア
クションの処理を行う。
リ5に、前向き推論ルールの場合は前向き推論部3のル
ール記憶部11に、後向き推論ルールの場合は後向き推
論部4のルール記憶部12に格納する一方、コマンドの
場合はコマンド処理部7を呼び出す。そうすると、上記
コマンド処理部7は、コマンドの内容に応じて、推論の
開始、ワーキングメモリ5のメモリ内容の表示および戦
略の特定等の外部から質問応答装置1に対する命令の処
理を行う。例えば推論の開始コマンドが人力された場合
は、推論の制御部lOを呼び出して推論を始める。外部
関数処理部8は推論の実行中に外部の関数が呼び出され
た場合の処理を行う。アクション処理部9は後に詳述す
るように前向き推論、後向き推論の実行中に行われるア
クションの処理を行う。
上記前向き推論部3は、ワーキングメモリ5に記憶され
た事実とルール記憶部11に記憶されたルールの条件と
の照合を行い、条件が成立したルールと対応する事実の
組とから成る競合集合を作成して競合集合記憶部13に
記憶する。そして、競合解決によって競合集合の中から
1つのルールを選択し、この選択されたルールの結論部
のアクションを実行する。 − 上記後向き推論部4は、後向き推論のルール記憶部12
に記憶された後向き推論ルールに従って目標を設定し、
ワーキングメモリ5を参照して目標が成立しているかを
調べる。
た事実とルール記憶部11に記憶されたルールの条件と
の照合を行い、条件が成立したルールと対応する事実の
組とから成る競合集合を作成して競合集合記憶部13に
記憶する。そして、競合解決によって競合集合の中から
1つのルールを選択し、この選択されたルールの結論部
のアクションを実行する。 − 上記後向き推論部4は、後向き推論のルール記憶部12
に記憶された後向き推論ルールに従って目標を設定し、
ワーキングメモリ5を参照して目標が成立しているかを
調べる。
上記のような構成の質問応答装置lを用いて質問応答を
実行する場合は、次のような手順で行う。
実行する場合は、次のような手順で行う。
(1)図示しないプログラム作成装置によって、事実や
ルールから成るファイルを作成する。
ルールから成るファイルを作成する。
(2)このファイルの内容を質問応答装置1で解析し、
記憶装置(第1図のルール記憶部11.12およびワー
キングメモリ5)に格納する。
記憶装置(第1図のルール記憶部11.12およびワー
キングメモリ5)に格納する。
(3)上記各記憶装置11,12.5に記憶した事実や
ルールを用いて後に詳述するようにして推論を実行する
。正しく動作しない場合は(1)に戻る。
ルールを用いて後に詳述するようにして推論を実行する
。正しく動作しない場合は(1)に戻る。
本発明は、上記手順(1)においてどのような構文を用
いて知識のファイルを作成するか、(2)においてどの
ように変換してルール記憶部t 1.12やワーキング
メモリ5に格納するか、(3)においてどのようにして
推論を実行するかに関するものである。
いて知識のファイルを作成するか、(2)においてどの
ように変換してルール記憶部t 1.12やワーキング
メモリ5に格納するか、(3)においてどのようにして
推論を実行するかに関するものである。
(A) 知識の構文
上記知識には事実とルールが有る。以下、この事実とル
ールの各々の構文について説明する。本実施例における
確信度は、−100から100までの整数値で表される
。
ールの各々の構文について説明する。本実施例における
確信度は、−100から100までの整数値で表される
。
第1表に知識ファイル中の事実の構文の例を示す。
第1表
第1表に示した4つの事実の例において、最初の事実は
“熱が有る”で事実のパターン(後に詳述)を表し、“
;”で事実の終わりを示している。“;”の前に数字が
無ければその事実の確信度はl゛00てあり確定した事
実として扱われる。2番目の事実は“病名は風邪です”
という事実の確信度が80であることを示している。3
番目の事実は“病名は肺炎です”という事実の確信度が
−50であることを示している。確信度が負の数の場合
は事実が゛否定されている事を表す。4番目の事実は3
番目の事実を否定形で表現したものである。先頭の“!
”が否定であることを示す。3番目の事実と4番目の事
実は全く同等に扱われる。
“熱が有る”で事実のパターン(後に詳述)を表し、“
;”で事実の終わりを示している。“;”の前に数字が
無ければその事実の確信度はl゛00てあり確定した事
実として扱われる。2番目の事実は“病名は風邪です”
という事実の確信度が80であることを示している。3
番目の事実は“病名は肺炎です”という事実の確信度が
−50であることを示している。確信度が負の数の場合
は事実が゛否定されている事を表す。4番目の事実は3
番目の事実を否定形で表現したものである。先頭の“!
”が否定であることを示す。3番目の事実と4番目の事
実は全く同等に扱われる。
事実に対する存在の型は無い。事実に対する存在/無い
は後述するようにルールの条件部内の各条件につけられ
て、その条件が成立するか否かの判断に用いられる。
は後述するようにルールの条件部内の各条件につけられ
て、その条件が成立するか否かの判断に用いられる。
次に、第2表に知識ファイル中のルールの構文の一例を
示す。
示す。
第2表
ルールは、ルール名“く風邪の診断〉“1条件部“もし
〜”、結論部“ならば〜”および確信度“80”からな
り、一つのルールの終わりは“;”である。確信度は省
略可能であり、省略された場合には上述のように100
とみなされる。第2表の例での確信度は80である。ル
ールの確信度が80であるという意味は、“条件部の各
条件にマツチしたワーキングメモリ5の事実の確信度の
うち最も低い確信度が100の場合に、新しく追加され
る事実の確信度が80である”と言うことである。もし
、最も低い値の確信度が100でない場合には、ルール
の確信度80を100として比例配分する。
〜”、結論部“ならば〜”および確信度“80”からな
り、一つのルールの終わりは“;”である。確信度は省
略可能であり、省略された場合には上述のように100
とみなされる。第2表の例での確信度は80である。ル
ールの確信度が80であるという意味は、“条件部の各
条件にマツチしたワーキングメモリ5の事実の確信度の
うち最も低い確信度が100の場合に、新しく追加され
る事実の確信度が80である”と言うことである。もし
、最も低い値の確信度が100でない場合には、ルール
の確信度80を100として比例配分する。
上記ルールの3番目の条件に付加されている記号“−”
は、この条件は“〜が無い”の条件であることを表し、
“病名は風邪です”という事実がワーキングメモリ5に
記憶されていないならば、この条件が真であることを示
している。
は、この条件は“〜が無い”の条件であることを表し、
“病名は風邪です”という事実がワーキングメモリ5に
記憶されていないならば、この条件が真であることを示
している。
上記ルールの意味は、“熱が有る”と“寒気が有る”の
事実がワーキングメモリ5に有り、“病名は風邪です”
の事実がワーキングメモリ5に無いならば、“病名は風
邪のようです”を表示して“病名は風邪です°の事実を
ワーキングメモリ5に追加するという意味である。
事実がワーキングメモリ5に有り、“病名は風邪です”
の事実がワーキングメモリ5に無いならば、“病名は風
邪のようです”を表示して“病名は風邪です°の事実を
ワーキングメモリ5に追加するという意味である。
(B) 記憶方法
上述のような構文構造を有する事実およびルールは、第
1図の入力処理部6による入力処理によって、事実はワ
ーキングメモリ5に、ルールはルール記憶部11または
12に格納される。
1図の入力処理部6による入力処理によって、事実はワ
ーキングメモリ5に、ルールはルール記憶部11または
12に格納される。
先ず、事実のワーキングメモリ5への記憶方法について
説明する。例えば第1表に例示した4つの事実は、第2
図に示す構造で記憶する。本実施例の質問応答装置lで
は、メモリを効率良く利用するため、事実の格構造を別
途記憶する領域を設けている。そして、ワーキングメモ
リ5の格構造の欄には、実際の格構造を格納している領
域の対応する格構造の配列番号を割り当てている。さら
に、ワーキングメモリ5には確信度、フラグおよびポイ
ンタを割り当てる。
説明する。例えば第1表に例示した4つの事実は、第2
図に示す構造で記憶する。本実施例の質問応答装置lで
は、メモリを効率良く利用するため、事実の格構造を別
途記憶する領域を設けている。そして、ワーキングメモ
リ5の格構造の欄には、実際の格構造を格納している領
域の対応する格構造の配列番号を割り当てている。さら
に、ワーキングメモリ5には確信度、フラグおよびポイ
ンタを割り当てる。
第2図において、最初の欄の格構造lは“〜が有る”と
いう事実の構造を示し、格構造2は“〜は〜です”とい
う事実の構造を示す。実際のワーキングメモリ5上では
、上述のように対応する格構造の領域の配列番号が入っ
ている。2番目の欄の確信度には実際の値が入っている
。3番目の欄のフラグはワーキングメモリ5内の各要素
が肯定か否定かを表現するためのフラグであり、このフ
ラグはビット単位で意味付けされている。最後の欄のポ
インタには格体言の配列番号(またはアドレス)が入っ
ている。
いう事実の構造を示し、格構造2は“〜は〜です”とい
う事実の構造を示す。実際のワーキングメモリ5上では
、上述のように対応する格構造の領域の配列番号が入っ
ている。2番目の欄の確信度には実際の値が入っている
。3番目の欄のフラグはワーキングメモリ5内の各要素
が肯定か否定かを表現するためのフラグであり、このフ
ラグはビット単位で意味付けされている。最後の欄のポ
インタには格体言の配列番号(またはアドレス)が入っ
ている。
次に、ルールのルール記憶部11または12への記憶方
法について説明する。例えば、第2表に示したルールを
第3図に示す構造でルール記憶部11.12に記憶する
。本実施例ではルールら事実と同様に、メモリを効率良
く利用するためにルールの条件部および結論部を別領域
に記憶し、条件部と結論部の欄には上記別領域の対応す
る条件部と結論部の位置を示すポインタを格納している
。
法について説明する。例えば、第2表に示したルールを
第3図に示す構造でルール記憶部11.12に記憶する
。本実施例ではルールら事実と同様に、メモリを効率良
く利用するためにルールの条件部および結論部を別領域
に記憶し、条件部と結論部の欄には上記別領域の対応す
る条件部と結論部の位置を示すポインタを格納している
。
ここでは、ルールの中心となる構造のみを示している。
また、第1図では前向き推論と後向き推論のルール記憶
部11.12の領域を別々に図示しているが、実際には
前向き推論と後向き推論で領域を共有し、第3図の2番
目の欄に示すタイプによって前向き推論ルールと後向き
推論ルールとを区別するようにしている。
部11.12の領域を別々に図示しているが、実際には
前向き推論と後向き推論で領域を共有し、第3図の2番
目の欄に示すタイプによって前向き推論ルールと後向き
推論ルールとを区別するようにしている。
次に、ルールの条件の記憶方法について説明する。第4
図に条件の記憶構造を示す。これは、第3図のルールの
構造において、条件のポインタが指している先の領域の
構造である。条件の構造も第2図の事実の構造と同じよ
うに、格体言が別領域に別けて記憶されている。条件の
構造の最初の欄は条件の型を示している。上記型はメモ
リ上ではビットごとに意味付けされている。“否定”は
上述の事実の場合の否定と同じである。“存在”はこの
条件にマツチするような事実がワーキングメモリ5上に
存在するならば、この条件が成立する事を示す。一方、
“無い”は、この条件にマツチするような事実がワーキ
ングメモリ5上に無いならば、この条件が成立する事を
示す。格構造とポインタの欄は上述の事実の場合と同じ
である。評価式の欄は条件中に変数が用いられ、変数に
対する制約が有る場合に用いられる。実際に評価式の欄
に格納する内容は式の構造へのポインタである。
図に条件の記憶構造を示す。これは、第3図のルールの
構造において、条件のポインタが指している先の領域の
構造である。条件の構造も第2図の事実の構造と同じよ
うに、格体言が別領域に別けて記憶されている。条件の
構造の最初の欄は条件の型を示している。上記型はメモ
リ上ではビットごとに意味付けされている。“否定”は
上述の事実の場合の否定と同じである。“存在”はこの
条件にマツチするような事実がワーキングメモリ5上に
存在するならば、この条件が成立する事を示す。一方、
“無い”は、この条件にマツチするような事実がワーキ
ングメモリ5上に無いならば、この条件が成立する事を
示す。格構造とポインタの欄は上述の事実の場合と同じ
である。評価式の欄は条件中に変数が用いられ、変数に
対する制約が有る場合に用いられる。実際に評価式の欄
に格納する内容は式の構造へのポインタである。
さらに、ルールの結論部の記憶方法について説明する。
第3図のルールの構造において結論部のポインタを指し
ている先の領域の構造である。第5図に示すように、結
論部のアクションはアクション名とその引数からなる。
ている先の領域の構造である。第5図に示すように、結
論部のアクションはアクション名とその引数からなる。
第2表の例におけるアクションは表示(“displa
y”)と事実の追加(“make”)である。表示の場
合には、変数の表示などと文字列の表示を区別して処理
するために、文字列の表示の場合には“DISPLAY
W”という値を入れる。事実の追加の場合にはそのまま
の“MAKE”という値を入れておく。最後には“AC
TIONEND”を入れておく。
y”)と事実の追加(“make”)である。表示の場
合には、変数の表示などと文字列の表示を区別して処理
するために、文字列の表示の場合には“DISPLAY
W”という値を入れる。事実の追加の場合にはそのまま
の“MAKE”という値を入れておく。最後には“AC
TIONEND”を入れておく。
ここでDISPLAYW”どMAKE”、“ACTIO
NEND”は、実際には整数値であり、本実施例では分
かりやすくするために上記文字列で代表しであるが、実
際には例えば“DISPLAYW”を11“λIAKE
”を2、“ACTIONEND”を0のように割り当て
ている。
NEND”は、実際には整数値であり、本実施例では分
かりやすくするために上記文字列で代表しであるが、実
際には例えば“DISPLAYW”を11“λIAKE
”を2、“ACTIONEND”を0のように割り当て
ている。
(C) 前向き推論の実行
前向き推論は次のような実行手順によって実行する。
■ ルールの条件部内の各条件とワーキングメモリ5の
事実とを照合し、全ての条件が成立しているルールを選
び出す。この際に、ある1つのルールについて、その条
件部を成立させるワーキングメモリ5の事実の組が複数
通り有るならばそれらは区別される。各条件が成立して
選び出されたルールを実行可能なルールと呼ぶ。この実
行可能なルールとそのルールに対応する事実の組との集
まりを競合集合と呼ぶ。
事実とを照合し、全ての条件が成立しているルールを選
び出す。この際に、ある1つのルールについて、その条
件部を成立させるワーキングメモリ5の事実の組が複数
通り有るならばそれらは区別される。各条件が成立して
選び出されたルールを実行可能なルールと呼ぶ。この実
行可能なルールとそのルールに対応する事実の組との集
まりを競合集合と呼ぶ。
■ ■で求めた競合集合の中から1つだけを選択する。
このように競合集合の中から1つだけ選択することを競
合解決と呼び、選択する場合の選択の仕方を競合解決の
戦略(以下、単に戦略)と呼ぶ。競合集合が無い場合は
推論を終了する。
合解決と呼び、選択する場合の選択の仕方を競合解決の
戦略(以下、単に戦略)と呼ぶ。競合集合が無い場合は
推論を終了する。
■ 競合解決の結果選択された一つのルールの結論部を
実行する。このことをルールの発火(単に発火)と呼ぶ
。発火が終了すると■に戻る。
実行する。このことをルールの発火(単に発火)と呼ぶ
。発火が終了すると■に戻る。
ルールが実行されるたびに、次のルールとワーキングメ
モリ5の照合が行われるが、以前に発火されたルールと
ワーキングメモリ5上の事実の組み合わせは、二度と競
合集合に加えられることは無い。
モリ5の照合が行われるが、以前に発火されたルールと
ワーキングメモリ5上の事実の組み合わせは、二度と競
合集合に加えられることは無い。
(C−1)マツチング
ルールの各条件とワーキングメモリ5上の事実について
、次のようにしてパターン、確信度および肯定/否定の
3種類に関する照合を行う。
、次のようにしてパターン、確信度および肯定/否定の
3種類に関する照合を行う。
■ パターンが一致するか否かが調べられる。
パターンとは“熱が有る”のように格構造“〜が有る”
とその値“熱”との組合せの事を言う。条件として変数
が用いられることもあり、この場合は変数に束縛されて
いる値を用いてパターンが一致するかを判断する。
とその値“熱”との組合せの事を言う。条件として変数
が用いられることもあり、この場合は変数に束縛されて
いる値を用いてパターンが一致するかを判断する。
■ 確信度と肯定/否定とを組み合わせて第3表に従っ
てマツチングを判断する。
てマツチングを判断する。
−以下余白一
第3表
■ 条件が、“無い”ならば真偽を反転させる。
このようにして、ルール内の条件部の総ての条件が成立
すると、成立したルールとワーキングメモリ5の事実の
組みを、第1図の前向き推論部3の競合集合記憶部13
に登録する。競合集合の記憶構造は第6図の構造を有し
ている。競合集合の要素の構造はルール番号、マツチン
グしたワーキングメモリ5の要素の番号、マツチング時
の変数の束縛および戦略によって順番に並べるためのポ
インタから成っている。このような記憶の構造を、マツ
チングした総てのルールとワーキングメモリ5の事実に
ついて作成する。
すると、成立したルールとワーキングメモリ5の事実の
組みを、第1図の前向き推論部3の競合集合記憶部13
に登録する。競合集合の記憶構造は第6図の構造を有し
ている。競合集合の要素の構造はルール番号、マツチン
グしたワーキングメモリ5の要素の番号、マツチング時
の変数の束縛および戦略によって順番に並べるためのポ
インタから成っている。このような記憶の構造を、マツ
チングした総てのルールとワーキングメモリ5の事実に
ついて作成する。
(C−2)競合解決
(C−1)で作られた競合集合の要素は、その時点での
戦略に従って並べ変えられる。本実施例では、総ての要
素が求まってから並べ変えを行うのではな(,1つの要
素が求まるたびに、求まった要素を要素のリストに挿入
して行く。各要素は第6図に示したポインタによって、
第7図のように鎖状につながれている。
戦略に従って並べ変えられる。本実施例では、総ての要
素が求まってから並べ変えを行うのではな(,1つの要
素が求まるたびに、求まった要素を要素のリストに挿入
して行く。各要素は第6図に示したポインタによって、
第7図のように鎖状につながれている。
新しい要素が作られた場合は、次の手順によって新しい
要素を要素の鎖に挿入する。
要素を要素の鎖に挿入する。
■ 競合集合の先頭の要素を比較の対象とする。
■ 現在の戦略に従って新しい要素と先頭の要素とを比
較する。
較する。
■ その結果、新しく作られた要素のほうが優先される
ならば、比較の対象となっている要素の前に挿入して終
了する。
ならば、比較の対象となっている要素の前に挿入して終
了する。
■ そうでなければ、現在の比較の対象となりている要
素のつぎの要素をあらたに比較の対象とする。比較の対
象が無いならば、新しく作られた要素を最後に加えて終
了する。
素のつぎの要素をあらたに比較の対象とする。比較の対
象が無いならば、新しく作られた要素を最後に加えて終
了する。
■ ■に戻る。
本実施例において、上記■で用いる戦略としては、“L
EX”と“MEA”と“cf”戦略が有る。
EX”と“MEA”と“cf”戦略が有る。
(C−3)ルール実行
(C−2)で競合解決が終わった段階で、競合集合の要
素から1つの要素を選びだし、そのルール番号にしたが
って、そのルールの結論部を実行する。
素から1つの要素を選びだし、そのルール番号にしたが
って、そのルールの結論部を実行する。
ここで、この発明に係る否定の事実を生成してワーキン
グメモリ5に追加する場合について説明する。第4表は
否定の事実を追加する前向き推論ルールの構文を示す。
グメモリ5に追加する場合について説明する。第4表は
否定の事実を追加する前向き推論ルールの構文を示す。
否定の事実をワーキングメモリ5に追加するためのアク
ションは、第2表に示す肯定の事実をワーキングメモリ
5に追加する場合と同様に“make”を使う。そして
パターンの先頭に“!”をつける。すなわち、“病名は
風邪です”の否定を作るには第4表に示すように“!“
記号をパターン“病名は風邪です”の前に置く。
ションは、第2表に示す肯定の事実をワーキングメモリ
5に追加する場合と同様に“make”を使う。そして
パターンの先頭に“!”をつける。すなわち、“病名は
風邪です”の否定を作るには第4表に示すように“!“
記号をパターン“病名は風邪です”の前に置く。
第4表
上記第4表のルールをルール記憶部11に記憶する際の
構造は次のようになる。すなわち、第5図のアクション
“MAKE“の引数“パターン”によって指示されるパ
ターンの構造の先頭に“!”を挿入して、“!病名は風
邪です゛とすればよい。
構造は次のようになる。すなわち、第5図のアクション
“MAKE“の引数“パターン”によって指示されるパ
ターンの構造の先頭に“!”を挿入して、“!病名は風
邪です゛とすればよい。
このようにして、前向き推論によって生成された否定の
事実は、後向き推論の際に用いることができる。
事実は、後向き推論の際に用いることができる。
(D)後向き推論
後向き推論の場合について説明する。後向き推論は与え
られたルールの木構造を探索して条件の成立/不成立を
判断し、条件が成立すれば次の枝に進む。必要に応じて
(探索すべき枝が無い等)質問を行う。そして、質問で
得られた事実や成立した各々の後向き推論ルールの結論
部で得られた事実をワーキングメモリ5の要素として追
加し、最終の目標が充足されるまで探索を行う。質問の
結果や後向き推論ルールの結論部における確信度と否定
/肯定のフラグとが付いた事実がワーキングメモリ5に
書き込まれる。その際に、後向き推論で条件の成立/不
成立を判断する基準は、前向き推論と同じく第3表によ
る。
られたルールの木構造を探索して条件の成立/不成立を
判断し、条件が成立すれば次の枝に進む。必要に応じて
(探索すべき枝が無い等)質問を行う。そして、質問で
得られた事実や成立した各々の後向き推論ルールの結論
部で得られた事実をワーキングメモリ5の要素として追
加し、最終の目標が充足されるまで探索を行う。質問の
結果や後向き推論ルールの結論部における確信度と否定
/肯定のフラグとが付いた事実がワーキングメモリ5に
書き込まれる。その際に、後向き推論で条件の成立/不
成立を判断する基準は、前向き推論と同じく第3表によ
る。
従来の後向き推論では、ある条件にマツチする事実(ワ
ーキングメモリ5の要素)が無い場合に、上述のように
質問を行っていた。そこで、知識をルール化する際に、
前向き推論で使われている“ワーキングメモリに無いな
らば”条件が成立するという否定(〜が無い)の条件を
、後向き推論のルール中に記述できるよう、にすれば、
後向き推論においてマツチする事実が無い場合に質問を
行う必要がない。
ーキングメモリ5の要素)が無い場合に、上述のように
質問を行っていた。そこで、知識をルール化する際に、
前向き推論で使われている“ワーキングメモリに無いな
らば”条件が成立するという否定(〜が無い)の条件を
、後向き推論のルール中に記述できるよう、にすれば、
後向き推論においてマツチする事実が無い場合に質問を
行う必要がない。
第5表は、後向き推論のルールの条件部に、“ワーキン
グメモリに無いならば”の否定の条件を記述した後向き
推論ルールの構文を示す。
グメモリに無いならば”の否定の条件を記述した後向き
推論ルールの構文を示す。
第5表
このルールによれば、1.2番目の条件が成立したらア
クション“priority”を実行し、3番目の条件
でワーキングメモリ5に“病名は風邪です”の事実が無
ければ“病名は風邪のようです”を表示して、“病名は
風邪です”という結論が確信度80で成立する。
クション“priority”を実行し、3番目の条件
でワーキングメモリ5に“病名は風邪です”の事実が無
ければ“病名は風邪のようです”を表示して、“病名は
風邪です”という結論が確信度80で成立する。
第8図、第9図に上記第5表のルールおよびそのルール
の条件の記憶構造を示す。第9図において、3番目の要
素の最上位の欄が“肯定/無い”となっており、要素3
に対応する条件はワーキングメモリ5に(格構″?X2
でその値が“病名”と“風邪“である)事実が無い場合
に真となることを示している。また、2番目と3番目の
要素のアクションの欄には2番目と3番目の条件が成立
したときに実行するアクション(第5表の“prior
ity”、“display”)の構造へのポインタが
格納される。
の条件の記憶構造を示す。第9図において、3番目の要
素の最上位の欄が“肯定/無い”となっており、要素3
に対応する条件はワーキングメモリ5に(格構″?X2
でその値が“病名”と“風邪“である)事実が無い場合
に真となることを示している。また、2番目と3番目の
要素のアクションの欄には2番目と3番目の条件が成立
したときに実行するアクション(第5表の“prior
ity”、“display”)の構造へのポインタが
格納される。
すなわち、この発明の質問応答装置を用いれば次のこと
が可能となる。
が可能となる。
(イ)前向き推論におけるルールの結論部で否定(〜で
ない)の事実を生成してワーキングメモリ5に追加すれ
ば、ワーキングメモリ5に追加された上記否定(〜でな
い)の事実を後向き推論での否定(〜でない)の条件と
のマツチングに利用することができる。したがって、後
向き推論において否定の条件と否定の事実とのマツチン
グが成立した場合は、例えばその否定の枝の探索を中止
するようにしておけば、否定の条件と否定の事実がマツ
チした後は、否定の結論を得るための不要な探索を行う
必要がなくなる。
ない)の事実を生成してワーキングメモリ5に追加すれ
ば、ワーキングメモリ5に追加された上記否定(〜でな
い)の事実を後向き推論での否定(〜でない)の条件と
のマツチングに利用することができる。したがって、後
向き推論において否定の条件と否定の事実とのマツチン
グが成立した場合は、例えばその否定の枝の探索を中止
するようにしておけば、否定の条件と否定の事実がマツ
チした後は、否定の結論を得るための不要な探索を行う
必要がなくなる。
(ロ)前向き推論においてワーキングメモリ5の事実の
削除を行った場合、後向き推論におけるルールの条件に
(〜が無い)の条件を付加することによって、質問を行
う必要がなく推論が継続される。
削除を行った場合、後向き推論におけるルールの条件に
(〜が無い)の条件を付加することによって、質問を行
う必要がなく推論が継続される。
したがって、効率の良い推論が可能となる。
〈発明の効果〉
以上より明らかなように、この発明は、前向き推論ルー
ルおよび後向き推論ルールを格納したルールメモリと、
事実を格納したワーキングメモリと、前向き推論制御部
と、後向き推論制御部とを有する質問応答装置の、上記
ルールメモリに格納された上記前向き推論ルールの結論
部に、必要に応じて否定の事実の生成を指示する指令を
付加するようにしたので、前向き推論によって生成した
否定の事実を後向き推論に用いることが可能になる。し
たがって、後向き推論において否定の結論を得るための
不必要な探索の必要がなくなり、効率のよい推論ができ
る。
ルおよび後向き推論ルールを格納したルールメモリと、
事実を格納したワーキングメモリと、前向き推論制御部
と、後向き推論制御部とを有する質問応答装置の、上記
ルールメモリに格納された上記前向き推論ルールの結論
部に、必要に応じて否定の事実の生成を指示する指令を
付加するようにしたので、前向き推論によって生成した
否定の事実を後向き推論に用いることが可能になる。し
たがって、後向き推論において否定の結論を得るための
不必要な探索の必要がなくなり、効率のよい推論ができ
る。
また、上記後向き推論ルールの条件部に、必要に応じて
上記ワーキングメモリに対応する事実が無ければ真とな
る条件を付加するようにしたので、対応する事実が上記
ワーキングメモリ上に無くとも後向き推論を行うことが
可能になる。したがって、ある条件にマツチする事実が
無いための質問が不必要になり、効率のよい推論ができ
る。
上記ワーキングメモリに対応する事実が無ければ真とな
る条件を付加するようにしたので、対応する事実が上記
ワーキングメモリ上に無くとも後向き推論を行うことが
可能になる。したがって、ある条件にマツチする事実が
無いための質問が不必要になり、効率のよい推論ができ
る。
第1図はこの発明の質問応答装置の一実施例を示す構成
図、第2図(より−キングメモリに記憶された事実の構
造を示す図、第3図はルール記憶部に記憶された前向き
推論ルールの構造を示す図、第4図は前向き推論ルール
の条件部の記憶構造を示す図、第5図はルールの結論部
の記憶構造を示す図、第6図は競合集合の要素の記憶構
造を示す図、第7図は競合集合の要素が鎖状につながれ
た状態を示す図、第8図はルール記憶部に記憶された後
向き推論ルールの構造を示す図、第9図は後向き推論ル
ールの条件部の記憶構造を示す図である。 1・・・質問応答装置、 2・・・全体の制御部、
3・・・前向き推論部、 4・・・後向き推論部
、5・・・ワーキングメモリ、 6・・・入力処理部
、7・・・コマンド処理部、 、 訃・・外部関数処理
部、9・・・アクション処理部、 10・・・推論の
制御部、11.12・・・ルール記憶部、13・・・競
合集合記憶部、14・・・目標記憶部。
図、第2図(より−キングメモリに記憶された事実の構
造を示す図、第3図はルール記憶部に記憶された前向き
推論ルールの構造を示す図、第4図は前向き推論ルール
の条件部の記憶構造を示す図、第5図はルールの結論部
の記憶構造を示す図、第6図は競合集合の要素の記憶構
造を示す図、第7図は競合集合の要素が鎖状につながれ
た状態を示す図、第8図はルール記憶部に記憶された後
向き推論ルールの構造を示す図、第9図は後向き推論ル
ールの条件部の記憶構造を示す図である。 1・・・質問応答装置、 2・・・全体の制御部、
3・・・前向き推論部、 4・・・後向き推論部
、5・・・ワーキングメモリ、 6・・・入力処理部
、7・・・コマンド処理部、 、 訃・・外部関数処理
部、9・・・アクション処理部、 10・・・推論の
制御部、11.12・・・ルール記憶部、13・・・競
合集合記憶部、14・・・目標記憶部。
Claims (1)
- (1)前向き推論制御方式で用いる前向き推論ルールお
よび後向き推論制御方式で用いる後向き推論ルールを格
納したルールメモリと、事実を格納したワーキングメモ
リと、上記ワーキングメモリに対する事実の追加・削除
を行う前向き推論制御部と、探索ルールの木構造に従っ
て探索を行う後向き推論制御部とを有する質問応答装置
において、上記ルールメモリに格納された上記前向き推
論ルールの結論部に、必要に応じて否定の事実の生成を
指示する指令が付加され、 上記ルールメモリに格納された上記後向き推論ルールの
条件部に、必要に応じて上記ワーキングメモリに対応す
る事実が無ければ真となる条件が付加されて、 前向き推論によって生成される否定の事実を後向き推論
に用いることを可能にし、また、対応する事実が上記ワ
ーキングメモリ上に無くとも後向き推論を可能にしたこ
とを特徴とする質問応答装置。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62308000A JPH01147629A (ja) | 1987-12-03 | 1987-12-03 | 質問応答装置 |
| DE3852938T DE3852938T2 (de) | 1987-12-03 | 1988-11-30 | Abfragevorrichtung und -methode. |
| EP88120025A EP0318983B1 (en) | 1987-12-03 | 1988-11-30 | Interrogating device and method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62308000A JPH01147629A (ja) | 1987-12-03 | 1987-12-03 | 質問応答装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH01147629A true JPH01147629A (ja) | 1989-06-09 |
Family
ID=17975694
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP62308000A Pending JPH01147629A (ja) | 1987-12-03 | 1987-12-03 | 質問応答装置 |
Country Status (3)
| Country | Link |
|---|---|
| EP (1) | EP0318983B1 (ja) |
| JP (1) | JPH01147629A (ja) |
| DE (1) | DE3852938T2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2013097594A (ja) * | 2011-11-01 | 2013-05-20 | Bank Of Tokyo-Mitsubishi Ufj Ltd | 推論装置および推論方法 |
-
1987
- 1987-12-03 JP JP62308000A patent/JPH01147629A/ja active Pending
-
1988
- 1988-11-30 DE DE3852938T patent/DE3852938T2/de not_active Expired - Fee Related
- 1988-11-30 EP EP88120025A patent/EP0318983B1/en not_active Expired - Lifetime
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2013097594A (ja) * | 2011-11-01 | 2013-05-20 | Bank Of Tokyo-Mitsubishi Ufj Ltd | 推論装置および推論方法 |
| US8856059B2 (en) | 2011-11-01 | 2014-10-07 | The Bank of Tokyo—Mitsubishi UFJ, Ltd. | Inference device and inference method |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0318983B1 (en) | 1995-02-01 |
| EP0318983A3 (en) | 1990-04-11 |
| DE3852938T2 (de) | 1995-10-05 |
| EP0318983A2 (en) | 1989-06-07 |
| DE3852938D1 (de) | 1995-03-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5485544A (en) | History sensitive help control method and system | |
| JPH01147627A (ja) | 質問応答装置 | |
| RU96119968A (ru) | Система обработки и способ ее функционирования | |
| JPH0424826A (ja) | プロダクションシステムとプロダクションシステムの変換装置 | |
| JPH01147628A (ja) | 質問応答装置 | |
| Martens et al. | On the semantics of meta-programming and the control of partial deduction in logic programming | |
| JPH0120771B2 (ja) | ||
| JPS6219940A (ja) | 高速推論処理方式 | |
| JPH05341999A (ja) | 実時間で状態を表わす網状判断回路網 | |
| EP0318983B1 (en) | Interrogating device and method | |
| JPS6275736A (ja) | プロローグ処理方法 | |
| Rinker | CASCADES OF VIOLENCE: WAR, CRIME, AND PEACEBUILDING ACROSS SOUTH ASIA | |
| JPH04256023A (ja) | マイクロ命令実行方式 | |
| JPS603656B2 (ja) | 計算機のメモリ拡張方式 | |
| JPH0635704A (ja) | 人工知能システムの推論方式 | |
| JPH01277941A (ja) | 推論ステップ方式 | |
| JPH07101384B2 (ja) | インデント処理装置 | |
| JPS6051949A (ja) | 制御装置 | |
| JPS63223982A (ja) | 図形処理装置 | |
| JPH0239327A (ja) | 推論方法 | |
| JPS62204340A (ja) | デ−タ処理装置 | |
| JPH02230330A (ja) | 推論装置 | |
| JPH08272612A (ja) | パイプライン計算機シミュレータ | |
| JPH0520055A (ja) | 特別データ判別機能付き記憶装置 | |
| JPS61206041A (ja) | プログラム言語の拡張方法 |