JPH0410131A - プロダクションシステムにおける質問項目の動的生成方法 - Google Patents
プロダクションシステムにおける質問項目の動的生成方法Info
- Publication number
- JPH0410131A JPH0410131A JP11474590A JP11474590A JPH0410131A JP H0410131 A JPH0410131 A JP H0410131A JP 11474590 A JP11474590 A JP 11474590A JP 11474590 A JP11474590 A JP 11474590A JP H0410131 A JPH0410131 A JP H0410131A
- Authority
- JP
- Japan
- Prior art keywords
- rule
- data item
- pattern matching
- truth
- data
- 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
- 238000000034 method Methods 0.000 title claims description 16
- 238000004519 manufacturing process Methods 0.000 title claims description 6
- 238000012545 processing Methods 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 abstract description 13
- 101150101567 pat-2 gene Proteins 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 9
- 238000004458 analytical method Methods 0.000 description 5
- 230000001419 dependent effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
一本発明はエキスパートシステムにおいて、利用者に入
力を促す質問項目の動的生成方法に関する。
力を促す質問項目の動的生成方法に関する。
近年、専門家の知識を計算機の中に取り込み、あたかも
専門家のごとく計算機を動作させるエキスパートシステ
ムの開発が目ざましい。この種のエキスパートシステム
では、通常、事実を表現するフレームと、このフレーム
との照合によりファイア(発火)されるルールから構成
される。さらに、ルールは、フレームとの照合を行う左
辺部と、この左辺部が照合成功すると実行される右辺部
(実行部とも言う)から構成される。
専門家のごとく計算機を動作させるエキスパートシステ
ムの開発が目ざましい。この種のエキスパートシステム
では、通常、事実を表現するフレームと、このフレーム
との照合によりファイア(発火)されるルールから構成
される。さらに、ルールは、フレームとの照合を行う左
辺部と、この左辺部が照合成功すると実行される右辺部
(実行部とも言う)から構成される。
第2図は、事実を表現するフレームの例である。
フレーム10は名称11により区別される。ここでは、
名称は「太部」である。フレームは、データを入力すべ
き属性として「スロット」を持ち。
名称は「太部」である。フレームは、データを入力すべ
き属性として「スロット」を持ち。
スロットはスロット名称12とスロット値13から構成
される。第2図の例では、「同居」、「障害者」、「年
令」、「続柄」等がスロットであり、「同居」スロット
の値として「同」が入力されている。スロット値rni
lJは、まだスロット値が取得されていないことを示す
。このフレームのスロット値は、システムが動作開始し
た段階では入力されておらず、システムからの要求によ
り順次蓄えられてゆくものである。スロット値がnil
であることは、今後、エキスパートシステムの利用者か
ら取得する必要があることを意味している。
される。第2図の例では、「同居」、「障害者」、「年
令」、「続柄」等がスロットであり、「同居」スロット
の値として「同」が入力されている。スロット値rni
lJは、まだスロット値が取得されていないことを示す
。このフレームのスロット値は、システムが動作開始し
た段階では入力されておらず、システムからの要求によ
り順次蓄えられてゆくものである。スロット値がnil
であることは、今後、エキスパートシステムの利用者か
ら取得する必要があることを意味している。
ルールは、このフレームと照合を取られるものであり、
例えば第3図の様な記述を用いて表わされる。第3図で
は、ルールをルール表現と表形式でそれぞれ示している
。
例えば第3図の様な記述を用いて表わされる。第3図で
は、ルールをルール表現と表形式でそれぞれ示している
。
例えば、第3図(a)に示すルール表現の最初のルール
(if にtj耶 同居 同)
−年令 ?!(≧70))
― 続柄 ? j (Eember’ K母実父義母義
父)))0鄭 障害 噸 一一一〉 −咎摘七法頃 8閣ωの) においで、rifJからr−−−>Jまでが「左辺部」
であり、この左辺部は、(太部同居間)の様な「パタン
照合節」から構成される。
父)))0鄭 障害 噸 一一一〉 −咎摘七法頃 8閣ωの) においで、rifJからr−−−>Jまでが「左辺部」
であり、この左辺部は、(太部同居間)の様な「パタン
照合節」から構成される。
ここで、上記のパタン照合節は、フレーム「太部」の「
同居」スロットのスロット値が「同」であれば「真」と
なり、スロット値がそれ以外の時には「偽」となる。例
えば、スロット値が「別」であれば、パタン照合節は「
偽」となる。尚、スロット値がrnilJであれば、こ
のパタン照合節の値は「真偽未定」となる。これは、デ
ータが取得されていないので、真偽を決定すること自体
が意味を持たないからである。この様に、パタン照合節
が、「真」「偽」「真偽未定」の3値をとることが、ル
ールの特徴のひとつである。なお、ルール中のr ’>
j (member’ (実母実父義母義父))」は
当該スロット値がLISP関数のmemberの第1引
数として与えられ、′(実母実父義母義父)がそのme
mber関数の第2引数であることを意味している。具
体的には、フレーム「太部」の「続柄」スロットの値が
nilで無く、実母、実父、義母。
同居」スロットのスロット値が「同」であれば「真」と
なり、スロット値がそれ以外の時には「偽」となる。例
えば、スロット値が「別」であれば、パタン照合節は「
偽」となる。尚、スロット値がrnilJであれば、こ
のパタン照合節の値は「真偽未定」となる。これは、デ
ータが取得されていないので、真偽を決定すること自体
が意味を持たないからである。この様に、パタン照合節
が、「真」「偽」「真偽未定」の3値をとることが、ル
ールの特徴のひとつである。なお、ルール中のr ’>
j (member’ (実母実父義母義父))」は
当該スロット値がLISP関数のmemberの第1引
数として与えられ、′(実母実父義母義父)がそのme
mber関数の第2引数であることを意味している。具
体的には、フレーム「太部」の「続柄」スロットの値が
nilで無く、実母、実父、義母。
義父の何れかであれば、パタン照合節は「真」となり、
スロットの値がnilで無く、実母、実父、義母、義父
の何れかであればパタン照合節は「偽」となる。スロッ
ト値がnilの時には、このパタン照合節の値は「未確
定」である。従って、member以下のLISP関数
を評価した結果が、パタン照合節の結果として反映され
ることを意味している。
スロットの値がnilで無く、実母、実父、義母、義父
の何れかであればパタン照合節は「偽」となる。スロッ
ト値がnilの時には、このパタン照合節の値は「未確
定」である。従って、member以下のLISP関数
を評価した結果が、パタン照合節の結果として反映され
ることを意味している。
第3図(a)のルールにおいて、r−−一>Jより右は
、右辺部(実行部とも言う)であり、左辺部のパタン照
合節が全て「真」となれば、この右辺部が実行される。
、右辺部(実行部とも言う)であり、左辺部のパタン照
合節が全て「真」となれば、この右辺部が実行される。
上記の例の場合は、「太部」の控除金額が85万円であ
ることがフレーム上に記憶される。
ることがフレーム上に記憶される。
上記ルール表現では、相互のルールの関係が読み取りに
くいので、より整理された形として、表形式で表現した
ものが、第3図(b)の表形式である。表の意味とする
ところは、第3図(a)のルール表現と同じである。
くいので、より整理された形として、表形式で表現した
ものが、第3図(b)の表形式である。表の意味とする
ところは、第3図(a)のルール表現と同じである。
プロダクションシステムでは、この様に事実データをフ
レームにより表現し、それに照合すべきルールを設け、
ルールの左辺部を構成するパタン照合節の全てが「真」
となったルールに関して、その右辺部を実行する形で、
処理を行っていく。
レームにより表現し、それに照合すべきルールを設け、
ルールの左辺部を構成するパタン照合節の全てが「真」
となったルールに関して、その右辺部を実行する形で、
処理を行っていく。
周知の様に、エキスパートシステムには、設計型、分析
型等の多種があるが、利用者から入力されたデータ項目
に基づき、予め準備されている結論の内からひとつを選
ぶ分析型エキスパートシステムが最も広く利用されてい
る。上述の例も、この様な分析型のエキスパートシステ
ムの例である。
型等の多種があるが、利用者から入力されたデータ項目
に基づき、予め準備されている結論の内からひとつを選
ぶ分析型エキスパートシステムが最も広く利用されてい
る。上述の例も、この様な分析型のエキスパートシステ
ムの例である。
さて、第3図(a)の様にルール表現を用いて、扶養判
定を行う時に、最初は、太部に関する種々の属性情報「
同居」 [年令j 「続柄] F障害J等は入力されて
いないものとする。エキスパートシステムにおける大き
な課題は、これら入力項目をいったいどんな順序で質問
すれば、少ない質問項目で目的の結論を得られるかを判
断することである。効率的な質問順序を理論的に求める
方法として、よく知られたものにID3がある(詳細は
。
定を行う時に、最初は、太部に関する種々の属性情報「
同居」 [年令j 「続柄] F障害J等は入力されて
いないものとする。エキスパートシステムにおける大き
な課題は、これら入力項目をいったいどんな順序で質問
すれば、少ない質問項目で目的の結論を得られるかを判
断することである。効率的な質問順序を理論的に求める
方法として、よく知られたものにID3がある(詳細は
。
共立出版社発行、知識獲得と学習シリーズ第1巻、知識
獲得入門、5.2節、「帰納的推論機構」に詳しい)。
獲得入門、5.2節、「帰納的推論機構」に詳しい)。
ID3では、まず、当該データ項目に次に入力される入
力値の集合を準備する必要がある。次に、その値の各々
が入力された後に、結論が持つエントロピーを計算する
。結論がエントロピーを持つのは、更に引き続いたデー
タ項目入力より異なる結論が導かれるからである。各々
の入力値に対応したエントロピーが計算された後、各入
力値が生じうる確率から、当該入力項目のエントロピー
を計算する。以上のエントロピー計算を、未入力の各デ
ータ項目全てに対して、実行することにより、各データ
項目を選択することによるエントロピー減少値をデータ
項目間で比較できる。もつとも多くエントロピーが減少
する項目が、次に入力すべき項目である。このID3ア
ルゴリズムを繰返し用いることにより、最も効率良く(
即ち、少ない質問回数期待値で)結論に至る、分析ツリ
ーを作ることができる。
力値の集合を準備する必要がある。次に、その値の各々
が入力された後に、結論が持つエントロピーを計算する
。結論がエントロピーを持つのは、更に引き続いたデー
タ項目入力より異なる結論が導かれるからである。各々
の入力値に対応したエントロピーが計算された後、各入
力値が生じうる確率から、当該入力項目のエントロピー
を計算する。以上のエントロピー計算を、未入力の各デ
ータ項目全てに対して、実行することにより、各データ
項目を選択することによるエントロピー減少値をデータ
項目間で比較できる。もつとも多くエントロピーが減少
する項目が、次に入力すべき項目である。このID3ア
ルゴリズムを繰返し用いることにより、最も効率良く(
即ち、少ない質問回数期待値で)結論に至る、分析ツリ
ーを作ることができる。
従来の分析型エキスパートシステムでは、ID3アルゴ
リズムにより、分析ツリーを予め作成し、このツリーを
エキスパートシステムの動作時に利用することが多かっ
た。しかし、この方法には、以下に述べる様に、いくつ
かの問題点がある。
リズムにより、分析ツリーを予め作成し、このツリーを
エキスパートシステムの動作時に利用することが多かっ
た。しかし、この方法には、以下に述べる様に、いくつ
かの問題点がある。
(1)計算量が大
各項目について、入力データをふらせる必要があり、処
理量が多い。従って、システム作成時にのみ実行可能で
ある。
理量が多い。従って、システム作成時にのみ実行可能で
ある。
(2)人力データ集合が予測困難なものに適用困難第3
図の例では、「続柄」データ項目には、あらかじめどん
な項目が入ってくるかを予想できる。しかし、「年令」
の様に、数値をそのまま扱う場合には、予めどんな値が
入っているかを予想することはできない。従って、ID
3により分析ツリーを作成するためには、領域に区切ら
れた数値データを作成する等の特殊な処理を必要とし、
分析ツリーの構築が面倒である。
図の例では、「続柄」データ項目には、あらかじめどん
な項目が入ってくるかを予想できる。しかし、「年令」
の様に、数値をそのまま扱う場合には、予めどんな値が
入っているかを予想することはできない。従って、ID
3により分析ツリーを作成するためには、領域に区切ら
れた数値データを作成する等の特殊な処理を必要とし、
分析ツリーの構築が面倒である。
(3)変数によるスロット値の「渡り」に対応不能第3
図のルールでは、スロット値に対する検査は単項演算で
ある。しかし、現実のルールでは、あるパタン照合項目
で取得したスロット値を他のパタン照合節で利用するこ
とが多い。この様なものには、ID3は適用できない。
図のルールでは、スロット値に対する検査は単項演算で
ある。しかし、現実のルールでは、あるパタン照合項目
で取得したスロット値を他のパタン照合節で利用するこ
とが多い。この様なものには、ID3は適用できない。
(4)ルールを変更するごとに、ID3の動作が必要
ID3の処理が重いため、システムインプリメンタがル
ールをデバッグする際においてルールの変更を行う毎に
、ID3アルゴリズムを起動する必要があった。
ールをデバッグする際においてルールの変更を行う毎に
、ID3アルゴリズムを起動する必要があった。
以上の問題点の他、もうひとつ考えなければならない点
に、「現実問題として、ID3で細かくエントロピーを
計算する意味があるのか?」という問題がある。即ち、
ID3では、各入力データ項目は独立であり、相互に依
存が無いとしている。
に、「現実問題として、ID3で細かくエントロピーを
計算する意味があるのか?」という問題がある。即ち、
ID3では、各入力データ項目は独立であり、相互に依
存が無いとしている。
しかし、現実にはその様なことは有り得ない。例えば、
扶養家族で70才を超える方は、通常、実母であること
が多い。また、入力データ項目の組合せとして、有り得
ないものも多い。従って、細かくエントロピーを計算す
ること自体にどこまで意義があるかどうかは疑問である
。
扶養家族で70才を超える方は、通常、実母であること
が多い。また、入力データ項目の組合せとして、有り得
ないものも多い。従って、細かくエントロピーを計算す
ること自体にどこまで意義があるかどうかは疑問である
。
さらに、「人間が聞きたい順序」がかならずしも、「機
械が理論的に聞きいた順序」にはならない点も問題であ
る。例えば、第2図の例で、扶養親族が障害者か否かと
言うデータ項目は、現実には、最後の最後まで引き延ば
されて質問される。
械が理論的に聞きいた順序」にはならない点も問題であ
る。例えば、第2図の例で、扶養親族が障害者か否かと
言うデータ項目は、現実には、最後の最後まで引き延ば
されて質問される。
人間にとっては、どうしても質問してなければならない
時のみに止めたい項目であるからである。
時のみに止めたい項目であるからである。
従って、この項目は、扶養家族であることが確定してか
ら聞くのが普通である。また、人間は、ある程度関連し
たものは習慣的に纏めて聞くことも注意すべきである。
ら聞くのが普通である。また、人間は、ある程度関連し
たものは習慣的に纏めて聞くことも注意すべきである。
例えば、医療診断では、赤ちゃんの生年月日2体重、性
別は、医者は最初に聞いてしまう。この様な理由から、
細かいエントロピー計算をして、質問順序を最適化して
も、本来、あまり意味が無い。
別は、医者は最初に聞いてしまう。この様な理由から、
細かいエントロピー計算をして、質問順序を最適化して
も、本来、あまり意味が無い。
本発明の目的は、僅かな計算量でデータ入力項目の決定
を行うことができ、これによりルールを修正するごとに
ID3を起動して分岐ツリーを作成する手間を省いたエ
キスパートシステムを提供することにある。
を行うことができ、これによりルールを修正するごとに
ID3を起動して分岐ツリーを作成する手間を省いたエ
キスパートシステムを提供することにある。
上記目的を達成するために、本発明は、ルールとフレー
ムとの照合を行った結果、左辺部に偽となるパタン照合
節を含まないルールを取り出し、当該ルールの左辺部に
現れる真偽未定のパタン照合節の出現回数を、パタン照
合の対象となるフレーム上のデータ項目毎にカウントし
、最もカウント数が多いデータ項目を利用者に対して次
に入力促進すべき項目として指定するようにしたことで
ある。
ムとの照合を行った結果、左辺部に偽となるパタン照合
節を含まないルールを取り出し、当該ルールの左辺部に
現れる真偽未定のパタン照合節の出現回数を、パタン照
合の対象となるフレーム上のデータ項目毎にカウントし
、最もカウント数が多いデータ項目を利用者に対して次
に入力促進すべき項目として指定するようにしたことで
ある。
本発明は、エントロピーの細かい計算を行わず、ルール
中に現れる当該項目に関連したパタン照合節の個数のみ
で、データ入力項目の決定を行うものであり、ID3の
エントロピー算呂と同等の処理を、より少ない計算意で
近似時に実行できる。
中に現れる当該項目に関連したパタン照合節の個数のみ
で、データ入力項目の決定を行うものであり、ID3の
エントロピー算呂と同等の処理を、より少ない計算意で
近似時に実行できる。
以下に、本発明が利用するエントロピーの近似計算手法
について説明する。
について説明する。
まず、第4図に示す様に、ルールを表形式で記述したと
する。表の列(縦方向)が同一のデータ項目(これをA
O、A 1 、 A 2 、− A nで表す)との
パタン照合節を表し1表の行(横方向)がひとつのルー
ル(これをRO、Rl 、 R2、−Rnとする)を表
す。ルールRiに含まれる全てのパタン照合節が「真J
となれば、当該ルールは実行される。しかし、横方向の
パタン照合節の少なくとも一つが「偽」となれば、この
ルールは「偽」となり、ルールは実行されない。データ
項目AJに対応したルールRJ中のパタン照合節が真と
なる確率を、ここではPi、jと表す。ルールR1がデ
ータ項目Ajとは無関係の場合には、Pi、j=1
(1)であることに注意されたい
。
する。表の列(縦方向)が同一のデータ項目(これをA
O、A 1 、 A 2 、− A nで表す)との
パタン照合節を表し1表の行(横方向)がひとつのルー
ル(これをRO、Rl 、 R2、−Rnとする)を表
す。ルールRiに含まれる全てのパタン照合節が「真J
となれば、当該ルールは実行される。しかし、横方向の
パタン照合節の少なくとも一つが「偽」となれば、この
ルールは「偽」となり、ルールは実行されない。データ
項目AJに対応したルールRJ中のパタン照合節が真と
なる確率を、ここではPi、jと表す。ルールR1がデ
ータ項目Ajとは無関係の場合には、Pi、j=1
(1)であることに注意されたい
。
また、ルールは全部でn個あり、データ項目A○、Al
、A2.・・・Anを逐次入力してゆくことにより、ル
ールの内1個が「真」となり、残りが「偽」となるもの
とする。右辺部が実行されるのは、「真」となったルー
ルであるから、外部的効果としては、「偽」となったル
ールは無関係である。明らかに、ルールRiが最終的に
真となる確率は、 で表される。従って、データが入力される前のエントロ
ピーは となる。
、A2.・・・Anを逐次入力してゆくことにより、ル
ールの内1個が「真」となり、残りが「偽」となるもの
とする。右辺部が実行されるのは、「真」となったルー
ルであるから、外部的効果としては、「偽」となったル
ールは無関係である。明らかに、ルールRiが最終的に
真となる確率は、 で表される。従って、データが入力される前のエントロ
ピーは となる。
今、ここで、データ項目AO,Al、A2.・・・An
が未投入である状態で、データ項目Ajが投入されたと
する。この結果、ルールn個の中で、生き残るのは である。この時、ルールの持つエントロピーは、式(3
)と同様にして、 となる。
が未投入である状態で、データ項目Ajが投入されたと
する。この結果、ルールn個の中で、生き残るのは である。この時、ルールの持つエントロピーは、式(3
)と同様にして、 となる。
式(5)から、エントロピーを極力減少させるには、Σ
Pi、jが小さいデータ項目AJを選択することを推奨
すべきであることがわかる。言い換えると、当該データ
項目について、パタン照合節ができるだけ多く現れるデ
ータ項目を次に質問する項目として選択すべきである。
Pi、jが小さいデータ項目AJを選択することを推奨
すべきであることがわかる。言い換えると、当該データ
項目について、パタン照合節ができるだけ多く現れるデ
ータ項目を次に質問する項目として選択すべきである。
正確には、式(5)には、当該データ項目を入力すると
ルールが「偽」となる確率Pi、jが関連している。従
って、Pi、jの値が予め予想できるなら、その値を表
形式ルールとともに記憶しておいても良い。しかし、実
現のエキスパートシステムの保守を考えるならば、この
様な手法は、保守者を混乱させる危険をはらんでいる。
ルールが「偽」となる確率Pi、jが関連している。従
って、Pi、jの値が予め予想できるなら、その値を表
形式ルールとともに記憶しておいても良い。しかし、実
現のエキスパートシステムの保守を考えるならば、この
様な手法は、保守者を混乱させる危険をはらんでいる。
そこで、本発明では、あくまで、パタン照合節の個数の
みを問題とする。但し、なんらかの方法、即ち、各ルー
ルの出現確率をそのルールに属するパタン照合節のP
x + Jの代わりに利用する等、上記(5)式をその
まま利用する方式も本発明の趣旨に含めて考えることが
できる。
みを問題とする。但し、なんらかの方法、即ち、各ルー
ルの出現確率をそのルールに属するパタン照合節のP
x + Jの代わりに利用する等、上記(5)式をその
まま利用する方式も本発明の趣旨に含めて考えることが
できる。
以下、本発明の一実施例について図面により説明する。
第1図は本発明による質問項目の動的生成システムの一
実施例のブロック図である。本システム1において、フ
レーム記憶部2はフレーム知識を記憶し、ルール記憶部
3はルール知識を記憶している。これらフレーム記憶部
2、ルール記憶部3は、従来のプロダクションシステム
において利用されているものと同等であるので、詳細な
説明は省略する。本発明の特徴は、ルール真偽判定部4
、カウント記憶部5ならびにデータ項目選択部6にある
。ルール真偽判定部4は、ルールの真偽を判定し、デー
タ項目のカウント値を更新するものである。カウント記
憶部5は、各データ項目に対するカウント値を記憶する
ものである。データ項目選択部6は、最終的なカウント
値から、次に利用者にデータ要求すべきデータ項目を決
定するものである。
実施例のブロック図である。本システム1において、フ
レーム記憶部2はフレーム知識を記憶し、ルール記憶部
3はルール知識を記憶している。これらフレーム記憶部
2、ルール記憶部3は、従来のプロダクションシステム
において利用されているものと同等であるので、詳細な
説明は省略する。本発明の特徴は、ルール真偽判定部4
、カウント記憶部5ならびにデータ項目選択部6にある
。ルール真偽判定部4は、ルールの真偽を判定し、デー
タ項目のカウント値を更新するものである。カウント記
憶部5は、各データ項目に対するカウント値を記憶する
ものである。データ項目選択部6は、最終的なカウント
値から、次に利用者にデータ要求すべきデータ項目を決
定するものである。
さて、ルール記憶部3からルールが次々と読み出され、
フレーム記憶部2に記憶されたフレームデータと照合さ
れる。この結果、全てのルールの真偽がルール真偽判定
部4において決定される。
フレーム記憶部2に記憶されたフレームデータと照合さ
れる。この結果、全てのルールの真偽がルール真偽判定
部4において決定される。
これらのルールの中で、「偽」が確定しているルール、
即ち、当該ルールの左辺部において、現状のフレームデ
ータから「偽」となるパタン照合部を少なくとも一個含
むルールに対しては、本システム1はなんら関与しない
。しかし、当該ルールの左辺部において、現状のフレー
ムデータから「偽」となるパタン照合節を含まない、す
なわち、「真偽未定」のルールに対しては、本システム
1は積極的に関与する。即ち、ルール真偽判定部4では
、真偽未定のルールについて、当該ルールの左辺部を構
成する真偽未定のパタン照合節を探し出し、真偽未定の
パタン照合節が存在した時には、そのパタン照合節の照
合対象となるデータ項目カウント値を1だけカウントア
ツプする指示をカウント記憶部5に出す。カウント記憶
部5はデータ項目の名称とカウント値を対として記憶す
るもので、カウント動作の当初に全てのカウント値をク
リアし、ルール真偽判定部4から特定データ項目につい
て、カウントアツプが指定されると、当該データ項目の
カウント値を1加算する。この結果、全てのルールに対
して真偽を調べた後では、カウント記憶部5には、各デ
ータ項目毎に、真偽未定のルールの左辺部に当該データ
項目が出現する回数がカウントされ蓄えられることにな
る。データ項目選択部6では、このカウント記憶部5の
カウンタ値から、カウント値を最大とするデータ項目を
選び出して、外部に送信する。
即ち、当該ルールの左辺部において、現状のフレームデ
ータから「偽」となるパタン照合部を少なくとも一個含
むルールに対しては、本システム1はなんら関与しない
。しかし、当該ルールの左辺部において、現状のフレー
ムデータから「偽」となるパタン照合節を含まない、す
なわち、「真偽未定」のルールに対しては、本システム
1は積極的に関与する。即ち、ルール真偽判定部4では
、真偽未定のルールについて、当該ルールの左辺部を構
成する真偽未定のパタン照合節を探し出し、真偽未定の
パタン照合節が存在した時には、そのパタン照合節の照
合対象となるデータ項目カウント値を1だけカウントア
ツプする指示をカウント記憶部5に出す。カウント記憶
部5はデータ項目の名称とカウント値を対として記憶す
るもので、カウント動作の当初に全てのカウント値をク
リアし、ルール真偽判定部4から特定データ項目につい
て、カウントアツプが指定されると、当該データ項目の
カウント値を1加算する。この結果、全てのルールに対
して真偽を調べた後では、カウント記憶部5には、各デ
ータ項目毎に、真偽未定のルールの左辺部に当該データ
項目が出現する回数がカウントされ蓄えられることにな
る。データ項目選択部6では、このカウント記憶部5の
カウンタ値から、カウント値を最大とするデータ項目を
選び出して、外部に送信する。
第5図はデータ項目選択部6の処理フローの一例を示し
たものである。ここで、カウント記憶部5には各データ
項目の名称とカウンタ値が第6図の様に対データとして
記憶されているものとする。
たものである。ここで、カウント記憶部5には各データ
項目の名称とカウンタ値が第6図の様に対データとして
記憶されているものとする。
データ項目選択部6では、まず、最大カウント数を0と
し、最大カウントデータ項目をNILとしておく (ス
テップ101)。次に、データ項目カウント値をカウン
ト記憶部5から項目名称とともに読み込む(ステップ1
02)。もし、カウント値が従来記憶しているカウント
値よりも大きければ、最大カウント値を新しい値に更新
し、データ項目が尽きたかどうかを調べる(ステップ1
03.104,105)。もし、カウント値が従来記憶
しているカウンタ値を越えられないと、そのまま、デー
タ項目が尽きたかどうかを調へる(ステップ103,1
04)。データ項目が尽きていない時には、ステップ1
02に戻り、次のデータ項目カウンタ値をカウント記憶
部5から読み出す。
し、最大カウントデータ項目をNILとしておく (ス
テップ101)。次に、データ項目カウント値をカウン
ト記憶部5から項目名称とともに読み込む(ステップ1
02)。もし、カウント値が従来記憶しているカウント
値よりも大きければ、最大カウント値を新しい値に更新
し、データ項目が尽きたかどうかを調べる(ステップ1
03.104,105)。もし、カウント値が従来記憶
しているカウンタ値を越えられないと、そのまま、デー
タ項目が尽きたかどうかを調へる(ステップ103,1
04)。データ項目が尽きていない時には、ステップ1
02に戻り、次のデータ項目カウンタ値をカウント記憶
部5から読み出す。
データ項目が尽きた時には、記憶されている最大カウン
トのデータ項目名称を、利用者に次に要求すべきデータ
項目として出力しくステップ106)、処理が終了とな
る。
トのデータ項目名称を、利用者に次に要求すべきデータ
項目として出力しくステップ106)、処理が終了とな
る。
第7図はルール真偽判定部4の処理フローの一例を示し
たものである。
たものである。
ルール真偽判定部4では、まず、最初にルール記憶部3
からルールを一つ取り出す(ステップ201)。次に、
このルールを構成する左辺部について、この左辺部を構
成するパタン照合節の真偽を判断する(ステップ202
)。具体的には、各パタン照合節に対応するフレームデ
ータをフレーム記憶部2から取り出しくステップ202
a)、そのデータ項目値をもちいて、パタン照合節の真
偽を判定する(ステップ202b)。読み出されたデー
タ項目値がNILの時には、このパタン照合節の真偽は
「真偽未確定」となる。
からルールを一つ取り出す(ステップ201)。次に、
このルールを構成する左辺部について、この左辺部を構
成するパタン照合節の真偽を判断する(ステップ202
)。具体的には、各パタン照合節に対応するフレームデ
ータをフレーム記憶部2から取り出しくステップ202
a)、そのデータ項目値をもちいて、パタン照合節の真
偽を判定する(ステップ202b)。読み出されたデー
タ項目値がNILの時には、このパタン照合節の真偽は
「真偽未確定」となる。
ひとつのルールに関して、パタン照合節の真偽が全て確
定すると、ルール真偽判定部4は、該ルールの左辺部を
構成するパタン照合節に「偽」となるものが存在するか
どうかを確認する(ステップ203)。「偽」となるパ
タン照合節が存在すると、その他のパタン照合節がたと
え「真」であっても、もはやそのルールが「真」となる
可能性は無い。従って、そのルールについては、なんら
のカウント動作を行う必要もない。ルール左辺部を構成
するパタン照合節に「偽」が無ければ、ルール真偽判定
部4は、該ルールの左辺部のパタン照合節の中で、「真
偽未確定」のものを取り出し、当該データ項目のカウン
タ値を1だけカウントアツプする指示をカウント記憶部
5に送出する(ステップ204)。
定すると、ルール真偽判定部4は、該ルールの左辺部を
構成するパタン照合節に「偽」となるものが存在するか
どうかを確認する(ステップ203)。「偽」となるパ
タン照合節が存在すると、その他のパタン照合節がたと
え「真」であっても、もはやそのルールが「真」となる
可能性は無い。従って、そのルールについては、なんら
のカウント動作を行う必要もない。ルール左辺部を構成
するパタン照合節に「偽」が無ければ、ルール真偽判定
部4は、該ルールの左辺部のパタン照合節の中で、「真
偽未確定」のものを取り出し、当該データ項目のカウン
タ値を1だけカウントアツプする指示をカウント記憶部
5に送出する(ステップ204)。
ルール真偽判定部4では、上記動作を全てのルールに対
して繰り返す(ステップ205)。これによりカウント
数を持つデータ項目をデータ項目選択部6が調べること
により、最大のカウント数を持つデータ項目が選ばれる
ことになる。
して繰り返す(ステップ205)。これによりカウント
数を持つデータ項目をデータ項目選択部6が調べること
により、最大のカウント数を持つデータ項目が選ばれる
ことになる。
以上の処理により、式(5)が近似的に計算され、次に
質問するデータ項目がエントロピーの観点から指定され
る。
質問するデータ項目がエントロピーの観点から指定され
る。
以上の説明では、ルールの真偽値は毎回計算されるとし
た。しかし、当業者であれば、フレームデータが変更さ
れた部分についてのみルールの真偽値を再計算する方法
を考えることは容易である。
た。しかし、当業者であれば、フレームデータが変更さ
れた部分についてのみルールの真偽値を再計算する方法
を考えることは容易である。
ひとつの方法は、広くプロダクションシステムに利用さ
れてるreteネットワークを利用する方法である。ま
た、他の方法は、それよりは効率は悪いが、変化部分の
みを再計算するオブジェクト駆動的な考え方でルール真
偽判定部を構成することである。
れてるreteネットワークを利用する方法である。ま
た、他の方法は、それよりは効率は悪いが、変化部分の
みを再計算するオブジェクト駆動的な考え方でルール真
偽判定部を構成することである。
また、以上の説明では、あるルールがさらに他ルールの
パタン照合節に出現する階層的なルールの場合について
は述べていない。この場合には。
パタン照合節に出現する階層的なルールの場合について
は述べていない。この場合には。
式(5)をそのまま適用することはできない。しかしな
がら、もともとエントロピーの厳密な計算が意味を持た
ないとの現実を踏まえて考えれば、中間的な結論を導く
ための未確定データ項目が、そのままこの中間的な結論
を利用している他のルールの結論を得るための未確定デ
ータ項目と読み直すことにより、本発明の趣旨を実行で
きる。
がら、もともとエントロピーの厳密な計算が意味を持た
ないとの現実を踏まえて考えれば、中間的な結論を導く
ための未確定データ項目が、そのままこの中間的な結論
を利用している他のルールの結論を得るための未確定デ
ータ項目と読み直すことにより、本発明の趣旨を実行で
きる。
また、以上の説明では、あるパタン照合節でバインドさ
れたデータ値を他のパタン照合節での判定に利用する例
は示していない。しかしながら。
れたデータ値を他のパタン照合節での判定に利用する例
は示していない。しかしながら。
本発明の趣旨によれば、パタン照合節の「真偽」のみが
計算に必要であるから、この様な場合についても、複数
のパタン照合節を「渡っている」変数については、以下
の様にすれば容易に本発明を適用できる。
計算に必要であるから、この様な場合についても、複数
のパタン照合節を「渡っている」変数については、以下
の様にすれば容易に本発明を適用できる。
(1)パタン照合節の真偽判定を行う際において、当該
「渡り」変数が未確定の場合には、当該パタン照合節で
バインドを行い、当該パタン照合節は「真偽未確定」と
して扱う。
「渡り」変数が未確定の場合には、当該パタン照合節で
バインドを行い、当該パタン照合節は「真偽未確定」と
して扱う。
(11) 当該ルールのそれまでのパタン照合節の処
理において、「渡り」変数が確定している時には、パタ
ン動作をその確定値を利用して実施し、その真偽値を現
在パタン照合しているパタン照合節の真偽値として用い
るのみでなく、その「渡り」変数をバインドしたパタン
照合節の真偽値としても利用する。
理において、「渡り」変数が確定している時には、パタ
ン動作をその確定値を利用して実施し、その真偽値を現
在パタン照合しているパタン照合節の真偽値として用い
るのみでなく、その「渡り」変数をバインドしたパタン
照合節の真偽値としても利用する。
以上の説明から明らかな如く、本発明の質問項目の動的
生成方法によれば、次のような効果が得られる。
生成方法によれば、次のような効果が得られる。
(1)従来方式に比べて、極めて少ない計算量で、質問
回数の少ない質問順序決定が可能である。
回数の少ない質問順序決定が可能である。
(2)従来方式とは異なり、パタン照合節の照合対象と
なる入力データ集合が予測困難なものに適用可能である
。
なる入力データ集合が予測困難なものに適用可能である
。
(3)変数によるスロット値の「渡り」に対応できる。
即ち、あるパタン照合項目で取得したスロット値を他の
パタン照合節で利用することが可能である。
パタン照合節で利用することが可能である。
(4)ルールを変更しても、従来の様に、そのつど処理
をし直す必要が無い。
をし直す必要が無い。
第1図は本発明の一実施例のブロック図、第2図はフレ
ームの一例を示す図、第3図はルールの一例を示す図、
第4図はエントロピーの計算を説明するための図、第5
図はデータ項目選択部の処理フロー図、第6図はカウン
ト記憶部のデータ構造を示す図、第7図はルール真偽判
定部の処理フロー図である。 1・・・質問項目の動的生成システム、2・・フレーム
記憶部、 3・・・ルール記憶部、4・・・ルール真偽
判定部、 5・・・カウント記憶部。 6・・・データ項目選択部、 10・・・フレーム
、11・・・名称、 12・・・スロット名称、13・
・・スロット値。 す1外門yll!1力t7焔シZデム 第2図 7咥ムl1−1?!J −ン1 童 工 α、 y ・ ・ 匡
ームの一例を示す図、第3図はルールの一例を示す図、
第4図はエントロピーの計算を説明するための図、第5
図はデータ項目選択部の処理フロー図、第6図はカウン
ト記憶部のデータ構造を示す図、第7図はルール真偽判
定部の処理フロー図である。 1・・・質問項目の動的生成システム、2・・フレーム
記憶部、 3・・・ルール記憶部、4・・・ルール真偽
判定部、 5・・・カウント記憶部。 6・・・データ項目選択部、 10・・・フレーム
、11・・・名称、 12・・・スロット名称、13・
・・スロット値。 す1外門yll!1力t7焔シZデム 第2図 7咥ムl1−1?!J −ン1 童 工 α、 y ・ ・ 匡
Claims (1)
- (1)事実知識を記憶するフレームと、当該フレームと
照合されて真・偽・真偽未定とが決定されるパタン照合
節を左辺部に、当該左辺部中の全てのパタン照合節が真
となった時に実行される実行部を右辺部に持つルールと
を用いて、処理を行うプロダクションシステムにおいて
、 ルールとフレームとの照合を行った結果、左辺部に偽と
なるパタン照合節を含まないルールを取り出し、当該ル
ールの左辺部に現れる真偽未定のパタン照合節の出現回
数を、照合の対象となるフレーム上のデータ項目毎にカ
ウントし、最もカウント数が多いデータ項目を利用者に
対して次に入力促進すべき項目として指定することを特
徴とする質問項目の動的生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11474590A JPH0410131A (ja) | 1990-04-27 | 1990-04-27 | プロダクションシステムにおける質問項目の動的生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11474590A JPH0410131A (ja) | 1990-04-27 | 1990-04-27 | プロダクションシステムにおける質問項目の動的生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0410131A true JPH0410131A (ja) | 1992-01-14 |
Family
ID=14645605
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11474590A Pending JPH0410131A (ja) | 1990-04-27 | 1990-04-27 | プロダクションシステムにおける質問項目の動的生成方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0410131A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019028895A (ja) * | 2017-08-02 | 2019-02-21 | 富士通株式会社 | 検出プログラム、検出方法及び検出装置 |
-
1990
- 1990-04-27 JP JP11474590A patent/JPH0410131A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019028895A (ja) * | 2017-08-02 | 2019-02-21 | 富士通株式会社 | 検出プログラム、検出方法及び検出装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lacave et al. | A review of explanation methods for Bayesian networks | |
Iancu | Heart disease diagnosis based on mediative fuzzy logic | |
Lawrence et al. | Counterfactual learning from human proofreading feedback for semantic parsing | |
JPH0410131A (ja) | プロダクションシステムにおける質問項目の動的生成方法 | |
Ariasih | Expert System to Diagnose Diseases of Mental Health with Forward Chaining and Certainty Factor | |
Hadjichristodoulou et al. | Probabilistic logic programming with well-founded negation | |
WO2019131342A1 (ja) | 論理計算装置、論理計算方法、およびプログラム | |
WO2024031813A1 (zh) | 一种通用自学习系统及基于通用自学习系统的自学习方法 | |
McLeish | A model for non-monotonic reasoning using Dempster's rule | |
JP2016021262A (ja) | 論理推論システム、計算学習装置および論理推論方法 | |
Raza et al. | An Application of Peircean Triadic Logic: Modelling Vagueness | |
Perkov et al. | Tableau-based translation from first-order logic to modal logic | |
Christoff et al. | Dynamic social networks logic | |
Yan et al. | A multi-agent system for nested inquiry dialogues | |
do Amaral | Model outlines: A visual language for DL concept descriptions | |
Li | Ray-Knight compactification of birth and death processes | |
JPH02260035A (ja) | ファジィ表現による知識ベースを持つエキスパートシステム | |
Urbański | Evaluation of Abductive Hypotheses: A Logical Perspective | |
Prentzas et al. | An explanation mechanism for integrated rules | |
Aversa et al. | A fuzzy logic approach to decision support in medicine | |
WO2022153470A1 (ja) | 情報処理装置、及び情報処理方法 | |
Yan et al. | Hypothesis-driven agent dialogues for dementia assessment | |
Gajda et al. | A connectionist approach to abductive problems: employing a learning algorithm | |
Wiśniewski | 3 An Essay on Inferential Erotetic Logic | |
Kovács et al. | First-Order Theorem Proving in Rigorous Systems Engineering |