(57)【要約】【課題】推論のコントロールを動的に行う。【解決手段】  本発明の推論装置は、仮説記録部、知識記録部、価値推論記録部、アブダクション実行部、時間要素選択部、価値組合せ計算部を備える。仮説記録部は、時間に関する情報である時間要素が対応付けられた仮説を記録する。知識記録部は、仮説と結果の関係または一般法則を示す事実知識を記録する。価値推論記録部は、仮説に対する性質を示す情報である価値要素を記録する。アブダクション実行部は、結果が得られる仮説を、仮説記録部に記録された仮説の中から検索し、仮説の集合を生成する。時間要素選択部は、仮説の集合の中で、時間に関する条件を満足する仮説のみを選択する。価値要素選択部は、仮説の集合の中で、価値要素が嗜好の情報と整合する仮説のみを選択する。価値組合せ計算部は、価値推論記録部が記録する価値要素から、仮説の組合せの価値要素を求める。【選択図】図７
2011253270.tif 000002
【特許請求の範囲】
【請求項１】
時間に関する情報である時間要素が対応付けられた仮説を記録する仮説記録部と、
仮説と結果の関係または一般法則を示す事実知識を記録する知識記録部と、
結果の情報が入力され、仮説の情報を出力する入出力部と、
前記結果が得られる仮説を、前記仮説記録部に記録された仮説の中から検索し、仮説の集合を生成するアブダクション実行部と、
前記仮説の集合の中で、あらかじめ定めた時間に関する条件を満足する仮説のみを選択し、前記入出力部が出力する仮説の情報とする時間要素選択部と、
を備える推論装置。
【請求項２】
仮説を記録する仮説記録部と、
仮説と結果の関係または一般法則を示す事実知識を記録する知識記録部と、
仮説に対する性質を示す情報である価値要素を記録する価値推論記録部と、
結果の情報、嗜好の情報が入力され、仮説の情報を出力する入出力部と、
前記結果が得られる仮説を、前記仮説記録部に記録された仮説の中から検索し、仮説の集合を生成するアブダクション実行部と、
前記仮説の集合の中で、価値要素が前記嗜好の情報と整合する仮説のみを選択し、前記入出力部が出力する仮説の情報とする価値要素選択部と、
を備える推論装置。
【請求項３】
仮説を記録する仮説記録部と、
仮説と結果の関係または一般法則を示す事実知識を記録する知識記録部と、
仮説に対する性質を示す情報である価値要素を記録する価値推論記録部と、
結果の情報、仮説の組合せの情報が入力され、仮説の情報、計算結果を出力する入出力部と、
前記結果が得られる仮説を、前記仮説記録部に記録された仮説の中から検索し、仮説の集合を生成し、当該仮説の集合に含まれる仮説を前記入出力部が出力する仮説の情報とするアブダクション実行部と、
前記価値推論記録部が記録する価値要素から、前記仮説の組合せの価値要素をあらかじめ定めた基準で求め、前記入出力部が出力する計算結果とする価値組合せ計算部と、
を備える推論装置。
【請求項４】
時間に関する情報である時間要素が対応付けられた仮説を記録する仮説記録部と、
仮説と結果の関係または一般法則を示す事実知識を記録する知識記録部と、
仮説に対する性質を示す情報である価値要素を記録する価値推論記録部と、
結果の情報、嗜好の情報が入力され、仮説の情報を出力する入出力部と、
前記結果が得られる仮説を、前記仮説記録部に記録された仮説の中から検索し、仮説の集合を生成するアブダクション実行部と、
前記仮説の集合の中で、あらかじめ定めた時間に関する条件を満足する仮説のみを選択する時間要素選択部と、
前記時間要素選択部が選択した仮説の中で、価値要素が前記嗜好の情報と整合する仮説のみを選択し、前記入出力部が出力する仮説の情報とする価値要素選択部と、
を備える推論装置。
【請求項５】
時間に関する情報である時間要素が対応付けられた仮説を記録する仮説記録部と、
仮説と結果の関係または一般法則を示す事実知識を記録する知識記録部と、
仮説に対する性質を示す情報である価値要素を記録する価値推論記録部と、
結果の情報、仮説の組合せの情報が入力され、仮説の情報、計算結果を出力する入出力部と、
前記結果が得られる仮説を、前記仮説記録部に記録された仮説の中から検索し、仮説の集合を生成するアブダクション実行部と、
前記仮説の集合の中で、あらかじめ定めた時間に関する条件を満足する仮説のみを選択し、前記入出力部が出力する仮説の情報とする時間要素選択部と、
前記価値推論記録部が記録する価値要素から、前記仮説の組合せの価値要素をあらかじめ定めた基準で求め、前記入出力部が出力する計算結果とする価値組合せ計算部と、
を備える推論装置。
【請求項６】
請求項１〜５のいずれかに記載された推論装置として、コンピュータを機能させる推論プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、指定された結果が得られる仮説を推論する推論装置、推論プログラムに関する。
【背景技術】
【０００２】
推論システムには、アブダクション（仮説推論）、インダクション（帰納推論）、ディダクション（演繹推論）などがあり、おのおの研究開発の歴史がある。インダクションはclassificationや学習として認識され、本願で扱う推論とは異なる。本願に関連する推論に関しては、演繹を行うことで行為等の結果を推測するプロダクションシステムとしても知られているディダクション、ある結果となるための材料や要素を推測するアブダクションがある。アブダクションは推論速度に問題があるといいながらも、その推論の柔軟さから設計問題などに使われている。そして、推論技術の研究としては、非特許文献１や非特許文献２が知られている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Charniak E. and Shimony S. E., “Cost-based abduction and MAP explanation”, Artif. Intell., Vol. 66, pp345〜374 (1994).
【非特許文献２】Poole D., Goebel R., and Aleliunas R., “Theorist: A logical reasoning system for defaults and diagnosis”, The knowledge frontier, Essays in the representation of knowledge (Cercone N.J., McCalla G. Eds.), pp331〜352 Springer-Verlag (1987).
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来技術の推論に用いる知識のレベルに関しては、柔軟性がない。つまり、注目すべき知識の性質に注目できる柔軟な知識の扱いができていない。例えば、非特許文献１では、仮説にコスト（重み）を事前に付けることにより、生成される仮説に付けられたコストの総和を参照しながら仮説生成を行うことができる。しかし、指標はコストというややあいまいなものとなってしまう。
【０００５】
そこで、本発明では、推論のコントロール（特に、仮説生成のコントロール）を動的に行うことができるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
本発明の第１の推論装置は、仮説記録部、知識記録部、入出力部、アブダクション実行部、時間要素選択部を備える。仮説記録部は、時間に関する情報である時間要素が対応付けられた仮説を記録する。知識記録部は、仮説と結果の関係または一般法則を示す事実知識を記録する。入出力部は、結果の情報が入力され、仮説の情報を出力する。アブダクション実行部は、前記結果が得られる仮説を、前記仮説記録部に記録された仮説の中から検索し、仮説の集合を生成する。時間要素選択部は、前記仮説の集合の中で、あらかじめ定めた時間に関する条件を満足する仮説のみを選択し、前記入出力部が出力する仮説の情報とする。
【０００７】
本発明の第２の推論装置は、仮説記録部、知識記録部、価値推論記録部、入出力部、アブダクション実行部、価値要素選択部を備える。仮説記録部は、仮説を記録する。知識記録部は、仮説と結果の関係または一般法則を示す事実知識を記録する。価値推論記録部は、仮説に対する性質を示す情報である価値要素を記録する。入出力部は、結果の情報、嗜好の情報が入力され、仮説の情報を出力する。アブダクション実行部は、前記結果が得られる仮説を、前記仮説記録部に記録された仮説の中から検索し、仮説の集合を生成する。価値要素選択部は、前記仮説の集合の中で、価値要素が前記嗜好の情報と整合する仮説のみを選択し、前記入出力部が出力する仮説の情報とする。
【０００８】
本発明の第３の推論装置は、仮説記録部、知識記録部、価値推論記録部、入出力部、アブダクション実行部、価値組合せ計算部を備える。仮説記録部は、仮説を記録する。知識記録部は、仮説と結果の関係または一般法則を示す事実知識を記録する。価値推論記録部は、仮説に対する性質を示す情報である価値要素を記録する。入出力部は、結果の情報、仮説の組合せの情報が入力され、仮説の情報、計算結果を出力する。アブダクション実行部は、前記結果が得られる仮説を、前記仮説記録部に記録された仮説の中から検索し、仮説の集合を生成し、当該仮説の集合に含まれる仮説を前記入出力部が出力する仮説の情報とする。価値組合せ計算部は、前記価値推論記録部が記録する価値要素から、前記仮説の組合せの価値要素をあらかじめ定めた基準で求め、前記入出力部が出力する計算結果とする。
【０００９】
なお、本発明の第１の推論装置と第２の推論装置を組み合わせてもよいし、第１の推論装置と第３の推論装置を組み合わせてもよい。
【発明の効果】
【００１０】
本発明の推論装置によれば、推論で用いる知識または仮説に具体的な要素を付加しているので、推論のコントロール（特に、仮説生成のコントロール）を動的に行うことができる。
【図面の簡単な説明】
【００１１】
【図１】実施例１の推論装置の機能構成例を示す図。
【図２】実施例１の推論装置の処理フローを示す図。
【図３】実施例２の推論装置の機能構成例を示す図。
【図４】実施例２の推論装置の処理フローを示す図。
【図５】実施例３の推論装置の機能構成例を示す図。
【図６】実施例３の推論装置の処理フローを示す図。
【図７】実施例４の推論装置の機能構成例を示す図。
【図８】実施例４の推論装置の処理フローを示す図。
【図９】実施例５の推論装置の機能構成例を示す図。
【図１０】実施例５の推論装置の処理フローを示す図。
【発明を実施するための形態】
【００１２】
まず、前提として普通の推論を示す。事実知識をＦ、ある行為が行われるときの仮説をｈ、結果をＯとすると、ディダクション（演繹推論）では、Ｆ∪ｈ｜＝Ｏと記述できる。ここで、“｜＝”は２文字で表現しているが、本明細書中では、左辺から右辺を説明できるという意味の１つの記号を表している。事実知識Ｆは、一般的なルールなどを含み、知識ベースの中に準備されているとする。例えば、ＣＤ（コンパクトディスク）の音楽を聴く時の例で考えてみる。事実知識Ｆの中に
ＣＤ（ｘ，ｙ，ｚ）→Ｌｉｓｔｅｎ＿Ｔｏ（ｘ）
ＣＤ（ｘ，ｙ，ｚ）→Ｌｉｓｔｅｎ＿Ｔｏ（ｘ，ｙ）
ただし、ｘは作曲家、ｙは曲を特定する番号（例えば、交響曲の番号）、ｚは指揮者や演奏者などとする。
のような知識が含まれているとする。そして、ＣＤ（作曲家Ａ，７，指揮者ａ）を仮説ｈとして選択した場合、
Ｆ∪ＣＤ（作曲家Ａ，７，指揮者ａ）｜＝Ｌｉｓｔｅｎ＿Ｔｏ（作曲家Ａ）
となる。この式は、仮説ＣＤ（作曲家Ａ，７，指揮者ａ）を採用することで、Ｌｉｓｔｅｎ＿Ｔｏ（作曲家Ａ）という結果が得られたと解釈できる。個々までは、普通のプロダクションシステムである。
【００１３】
さて、ここで、結果Ｏとなるためのｈを求める問題に変える。つまり、上記ではＬｉｓｔｅｎ＿Ｔｏ（作曲家Ａ）となるための仮設ｈを求める問題となる。この手の推論はある結果を得るための事象、マテリアルなどを推論するもので、アブダクション（仮説推論）という推論法であり、非特許文献２などにも示されている。本発明は、アブダクション（仮説推論）で用いる知識に具体的な要素を付加する。
【００１４】
以下の仮説ｈの候補が記録されているとする。
【００１５】
ＣＤ（作曲家Ａ，７，指揮者ａ）
ＣＤ（作曲家Ａ，７，指揮者ｂ）
ＣＤ（作曲家Ａ，９，指揮者ｃ）
ＣＤ（作曲家Ａ，７，指揮者ｄ）
ＣＤ（作曲家Ａ，７，指揮者ｃ）
ＣＤ（作曲家Ｂ，４０，指揮者ｅ）
ＣＤ（作曲家Ｃ，１，指揮者ａ）
ＣＤ（作曲家Ａ，８，指揮者ｆ）
ＣＤ（作曲家Ｄ，，指揮者ｇ）
ＣＤ（作曲家Ａ，７，指揮者ｉ）
ＣＤ（作曲家Ａ，３，指揮者ａ）
ここで、ＣＤ（ｘ，ｙ，ｚ）→Ｌｉｓｔｅｎ＿Ｔｏ（ｘ）を事実知識Ｆとして使い、結果をＬｉｓｔｅｎ＿Ｔｏ（作曲家Ａ）とした場合は、仮説の集合｛ＣＤ（作曲家Ａ，７，指揮者ａ），ＣＤ（作曲家Ａ，７，指揮者ｂ），ＣＤ（作曲家Ａ，９，指揮者ｃ），ＣＤ（作曲家Ａ，７，指揮者ｄ），ＣＤ（作曲家Ａ，７，指揮者ｃ），ＣＤ（作曲家Ａ，８，指揮者ｆ），ＣＤ（作曲家Ａ，７，指揮者ｉ），ＣＤ（作曲家Ａ，３，指揮者ａ）｝を生成する。通常のアブダクションでは、このように可能なすべての仮説の集合を生成している。また、アブダクションでは、仮説ｈは事実知識Ｆと矛盾してはならない。
【００１６】
本発明では、上記のようなアブダクションで用いる知識または仮説に具体的な要素を付加する。以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【実施例１】
【００１７】
実施例１では、仮説に時間要素ｔを付加する。ｔとしては日、時間、分、年などが考えられるし、ｈ（ｔ，ｄａｙ）などとしてもよいが、本明細書では、ｈ［ｔ］のように表現する。例えば、時間要素ｔは当該仮説を使ってからの時間を意味し、ｈ［３０］は仮説ｈを使ってから３０日経過したことを意味する。また、特別な事象として、ｔ＝−１は仮説を使ったことがないことを意味する。なお、時相論理では、ある時点以降に論理式等が有効である／ないということを特殊な記号を含む論理式で表わすが、本件は、論理式の有効性ではなく、仮説の有効性に着目する。時間を考慮する推論の式は、Ｆ∪ｈ［ｔ］｜＝Ｏのように記述される。
【００１８】
図１に実施例１の推論装置の機能構成例を、図２に実施例１の推論装置の処理フローを示す。推論装置１００は、仮説記録部１９１、知識記録部１９２、入出力部１１０、アブダクション実行部１２０、時間要素選択部１３０を備える。あらかじめ仮説記録部１９１は、時間に関する情報である時間要素ｔが対応付けられた仮説ｈ［ｔ］を記録する。例えば、
ＣＤ（作曲家Ａ，７，指揮者ａ）［２５］
ＣＤ（作曲家Ａ，７，指揮者ｂ）［１００］
ＣＤ（作曲家Ａ，９，指揮者ｃ）［２］
ＣＤ（作曲家Ａ，７，指揮者ｄ）［−１］
ＣＤ（作曲家Ａ，７，指揮者ｃ）［１］
ＣＤ（作曲家Ａ，７，指揮者ｉ）［１０］
ＣＤ（作曲家Ａ，３，指揮者ａ）［１２］
ＣＤ（作曲家Ｂ，４０，指揮者ｅ）［３］
ＣＤ（作曲家Ｃ，１，指揮者ａ）［３９］
ＣＤ（作曲家Ａ，８，指揮者ｆ）［８］
ＣＤ（作曲家Ｄ，，指揮者ｇ）［４４］
が仮説記録部１９１に記録されているとする。知識記録部１９２は、仮説ｈと結果Ｏの関係または一般法則を示す事実知識Ｆを記録する。例えば、上述の
ＣＤ（ｘ，ｙ，ｚ）→Ｌｉｓｔｅｎ＿Ｔｏ（ｘ）
ＣＤ（ｘ，ｙ，ｚ）→Ｌｉｓｔｅｎ＿Ｔｏ（ｘ，ｙ）
が知識記録部１９２に記録されているとする。
【００１９】
入出力部１１０に、結果の情報が入力される（Ｓ１１１）。アブダクション実行部１２０は、入力された結果Ｏが得られる仮説ｈ［ｔ］を、知識記録部１９２が記録している事実知識Ｆを用いて、仮説記録部１９１に記録された仮説ｈ［ｔ］の中から検索し、仮説ｈ［ｔ］の集合を生成する（Ｓ１２０）。例えばＬｉｓｔｅｎ＿Ｔｏ（作曲家Ａ）が入力された結果であれば、仮説の集合として、｛ＣＤ（作曲家Ａ，７，指揮者ａ）［２５］，ＣＤ（作曲家Ａ，７，指揮者ｂ）［１００］，ＣＤ（作曲家Ａ，９，指揮者ｃ）［２］，ＣＤ（作曲家Ａ，７，指揮者ｄ）［−１］，ＣＤ（作曲家Ａ，７，指揮者ｃ）［１］，ＣＤ（作曲家Ａ，７，指揮者ｉ）［１０］，ＣＤ（作曲家Ａ，３，指揮者ａ）［１２］，ＣＤ（作曲家Ａ，８，指揮者ｆ）［８］｝が生成される。
【００２０】
時間要素選択部１３０は、仮説の集合の中で、あらかじめ定めた時間に関する条件を満足する仮説のみを選択し、仮説の情報とする（Ｓ１３０）。入出力部１１０は、時間要素選択部１３０が選択した仮説の情報を出力する（Ｓ１１４）。「あらかじめ定めた時間に関する条件」としては、ｔ≧１５またはｔ＝−１を条件とする例がある。この条件の場合、１５日以上聴いていないＣＤが選択される。つまり、最近そのユーザが聴いていないＣＤがユーザに示される。ｔ≧１５またはｔ＝−１が条件の場合であれば、｛ＣＤ（作曲家Ａ，７，指揮者ａ）［２５］，ＣＤ（作曲家Ａ，７，指揮者ｂ）［１００］，ＣＤ（作曲家Ａ，７，指揮者ｄ）［−１］｝が選択され、出力される。
【００２１】
従来のアブダクションでは、前述のように、仮説に人為的に重みを付けるなどの方法で、仮説生成に制約をかけていたが、本実施例のように時間という要素でユーザの嗜好志向の仮説選択が可能になる。
【００２２】
なお、上記の時間に関する条件をｔ＝−１のみとすれば、まだ聴いたことのない仮設ＣＤ（作曲家Ａ，７，指揮者ｄ）［−１］のみが選択されることになる。また、時間要素ｔに関しては、例えば、ＣＤなどのオブジェクトにＩＣチップなどを付与し、アクセスした日からの日数を自動的にカウントできるようにしてもよい。このチップはセンサなどからアクセスし、どこからでもデータ、場所などを獲得できるようにすればよい。
【００２３】
さらに、違う条件として次のような例もあり得る。商店などで、かなり前に販売した後、長期に渡って販売していないものに関しては、消費者の価値観にそぐわないもの、あるいは必要ないものである可能性もある。しがたって、時間要素ｔの値が大きいものを選択から外す例も考えられる。このように、「あらかじめ定めた時間に関する条件」は、推論装置１００の使用目的に適合するよう、適宜定めればよい。
【実施例２】
【００２４】
本実施例では、仮説の性格付けのような項として、仮説に対する性質を示す情報である価値要素を導入する。そして、仮説自体から得られる効果などに関してメインの推論の外でさらに推論を行うことを可能にする。
【００２５】
図３に実施例２の推論装置の機能構成例を、図４に実施例２の推論装置の処理フローを示す。推論装置２００は、仮説記録部９９１、知識記録部１９２、価値推論記録部１９３、入出力部２１０、アブダクション実行部１２０、価値要素選択部１４０を備える。仮説記録部９９１は、仮説ｈを記録する。例えば、
ＣＤ（作曲家Ａ，７，指揮者ａ）
ＣＤ（作曲家Ａ，７，指揮者ｂ）
ＣＤ（作曲家Ａ，９，指揮者ｃ）
ＣＤ（作曲家Ａ，７，指揮者ｄ）
ＣＤ（作曲家Ａ，７，指揮者ｃ）
ＣＤ（作曲家Ｂ，４０，指揮者ｅ）
ＣＤ（作曲家Ｃ，１，指揮者ａ）
ＣＤ（作曲家Ａ，８，指揮者ｆ）
ＣＤ（作曲家Ｄ，，指揮者ｇ）
ＣＤ（作曲家Ａ，７，指揮者ｉ）
ＣＤ（作曲家Ａ，３，指揮者ａ）
が記録されているとする。知識記録部１９２は、仮説ｈと結果Ｏの関係または一般法則を示す事実知識を記録する。例えば、上述の
ＣＤ（ｘ，ｙ，ｚ）→Ｌｉｓｔｅｎ＿Ｔｏ（ｘ）
ＣＤ（ｘ，ｙ，ｚ）→Ｌｉｓｔｅｎ＿Ｔｏ（ｘ，ｙ）
が知識記録部１９２に記録されているとする。価値推論記録部１９３は、仮説ｈに対する性質を示す情報である価値要素を記録する。例えば、
ＣＤ（作曲家Ａ，７，指揮者ａ）→洗練された
ＣＤ（作曲家Ａ，７，指揮者ｂ）→クラシックな
ＣＤ（作曲家Ａ，７，指揮者ｄ）→モダンな
ＣＤ（作曲家Ａ，７，指揮者ｃ）→情熱的な
ＣＤ（作曲家Ａ，３，指揮者ａ）→勇ましい
ＣＤ（作曲家Ａ，９，指揮者ｃ）→近代的な
ＣＤ（作曲家Ａ，７，指揮者ｉ）→楽しい
ＣＤ（作曲家Ｂ，４０，指揮者ｅ）→悲しい
ＣＤ（作曲家Ｃ，１，指揮者ａ）→壮大な
ＣＤ（作曲家Ａ，８，指揮者ｆ）→明るい
ＣＤ（作曲家Ｄ，，指揮者ｇ）→リフレッシュ
のような式が記録されている。右辺が、価値要素を示している。このような知識は、ユーザ自信があらかじめ入力しても良いし、ＣＤの流通業者などが提供してもよい。
【００２６】
入出力部２１０に、結果Ｏの情報が入力される（Ｓ１１１）。アブダクション実行部１２０は、結果Ｏが得られる仮説ｈを、知識記録部１９２が記録している事実知識Ｆを用いて、仮説記録部９９１に記録された仮説ｈの中から検索し、仮説ｈの集合を生成する（Ｓ１２０）。例えばＬｉｓｔｅｎ＿Ｔｏ（作曲家Ａ）が入力された結果であれば、仮説の集合｛ＣＤ（作曲家Ａ，７，指揮者ａ），ＣＤ（作曲家Ａ，７，指揮者ｂ），ＣＤ（作曲家Ａ，９，指揮者ｃ），ＣＤ（作曲家Ａ，７，指揮者ｄ），ＣＤ（作曲家Ａ，７，指揮者ｃ），ＣＤ（作曲家Ａ，８，指揮者ｆ），ＣＤ（作曲家Ａ，７，指揮者ｉ），ＣＤ（作曲家Ａ，３，指揮者ａ）｝を生成する。
【００２７】
そして、ユーザが、入出力部２１０に嗜好の情報を入力する（Ｓ１１２）。価値要素選択部１４０は、仮説の集合の中で、価値要素が嗜好の情報と整合する仮説ｈのみを選択する（Ｓ１４０）。入出力部２１０は、価値要素選択部１４０が選択した仮説の情報を出力する（１１３）。例えば、ユーザが「洗練された」を入力すればＣＤ（作曲家Ａ，７，指揮者ａ）を奨め、「クラシックな」を入力すればＣＤ（作曲家Ａ，７，指揮者ｂ）を奨め、「モダンな」を入力すればＣＤ（作曲家Ａ，７，指揮者ｄ）を奨めるように出力すればよい。
【００２８】
本実施例の推論装置は、このように仮説の性質を考慮するので、推論のコントロール（特に、仮説生成のコントロール）を動的に行うことができる。
【実施例３】
【００２９】
本実施例では、単体の仮説の性質だけでなく、仮説の組合せの性質を考慮する。そして、この仮説推論のために、新しい概念としてweak nogoodとstrong nogoodを導入する。
【００３０】
＜strong nogood＞
このnogoodは、仮説ｈが事実知識Ｆと矛盾する場合に示されるものであり、無視できない禁止制約である。つまり、普通の仮説推論におけるnogoodと同じである。例えば、ＬＳＩ回路設計の問題の場合、同じ場所に異なった素子を置くことができないという制約が、nogoodで表現できるが、そのような制約である。また、例えば、雨の日にシルクの服を着てはいけないというstrong nogoodは、
rain, Cloth_up(_,_,silk) → nogood(strong)
のように表現すればよい。なお、Cloth_up(ｘ，ｙ，ｚ)は上着を示しており、ｘはブランド名、ｙは色、ｚは素材を示している。また、アンダーバー（ _ ）は、その項目を限定していないことを示している。
【００３１】
＜weak nogood＞
このnogoodは、推論全体では考慮されないnogoodを示す。つまり、ある推論では考慮しなくてもよいnogoodである。例えば、ジーパン絹のジャケットを合わせるのはあまり好ましくないと考えられるが、クリティカルに禁止されるものでもないので、weak nogoodであまり良くないことを表現する。やや否定される組合せであるが、ユーザの意思でこの組合せを選択することもできる。この例は、
Cloth_up(_,_,silk), Cloth_bottom(_, navy, jeans) → nogood(weak)
のように表現すればよい。なお、Cloth_bottom(ｘ，ｙ，ｚ)はズボンまたはスカートを示しており、ｘはブランド名、ｙは色、ｚは素材を示している。また、この表現は、仮説の組合せを表現しており、組合せとしてのweak nogoodを示している。
【００３２】
図５に実施例３の推論装置の機能構成例を、図６に実施例３の推論装置の処理フローを示す。推論装置３００は、仮説記録部９９１、知識記録部１９２、価値推論記録部１９３、入出力部３１０、アブダクション実行部１２０、価値組合せ計算部１５０を備える。仮説記録部９９１、知識記録部１９２、価値推論記録部１９３、アブダクション実行部１２０は、実施例２と同じであるが、本実施例を理解しやすくするために、異なる例を用いて説明する。例えば、仮説記録部９９１は、仮説として、
Cloth_up(ブランドＡ，pink，cotton)
Cloth_up(ブランドＢ，gold，silk)
Cloth_up(ブランドＢ，red，wool)
Cloth_up(ブランドＣ，black，wool)
Cloth_up(ブランドＤ，blue，poly)
Cloth_bottom(ブランドＢ，black，wool)
Cloth_bottom(ブランドＡ，navy，jeans)
を記録する。また、知識記録部１９２は、例えば、事実知識として
Cloth_up(ｘ，ｙ，ｚ) → Ｐｕｔ＿ｏｎ
Cloth_up(ｘ，ｙ，ｚ) →Ｐｕｔ＿ｏｎ（ｘ）
Cloth_bottom(ｘ，ｙ，ｚ) →Ｐｕｔ＿ｏｎ
Cloth_bottom(ｘ，ｙ，ｚ) →Ｐｕｔ＿ｏｎ（ｘ）
Cloth_up(_，_，_), Cloth_bottom(_，_，_) →Ｐｕｔ＿ｏｎ
を記録する。価値推論記録部１９３は、例えば、仮説に対する性質を示す情報である価値要素として、
Cloth_up(ブランドＡ，_，_) →カジュアル
Cloth_up(ブランドＢ，gold，_) →豪華な
Cloth_up(ブランドＣ，black，_) →フォーマル
Cloth_up(_，_，silk) →フォーマル
Cloth_up(ブランドＤ，blue，_) →カジュアル
Cloth_up(_，red，_) →豪華
Cloth_bottom(ブランドＢ，black，_) →フォーマル
カジュアル,フォーマル →カジュアル
rain，Cloth_up(_，_，silk) →nogood(strong)
Cloth_up(_,_,silk)，Cloth_bottom(ブランドＡ, navy, jeans) → nogood(weak)
を記録する。
【００３３】
入出力部３１０に、結果Ｏの情報が入力される（Ｓ１１１）。アブダクション実行部１２０は、入力された結果Ｏが得られる仮説ｈを、仮説記録部９９１に記録された仮説ｈの中から検索し、仮説ｈの集合を生成する（Ｓ１２０）。入出力部３１０は、アブダクション実行部１２０が生成した仮説の集合に含まれる仮説の情報を表示する（Ｓ１１４）。上記の例において、Ｐｕｔ＿ｏｎが結果として入力された場合、｛Cloth_up(ブランドＡ，pink，cotton)，Cloth_up(ブランドＢ，gold，silk)，Cloth_up(ブランドＢ，red，wool)，Cloth_up(ブランドＣ，black，wool)，Cloth_up(ブランドＤ，blue，poly)，Cloth_bottom(ブランドＢ，black，wool)，Cloth_bottom(ブランドＡ，navy，jeans)｝の中のCloth_upとCloth_bottomの全ての組合せが表示される。
【００３４】
入出力部３１０には、仮説の組合せの情報が入力される（Ｓ１１５）。価値組合せ計算部１５０は、価値推論記録部１９３が記録する価値要素から、仮説の組合せの価値要素をあらかじめ定めた基準で求め、計算結果とする（Ｓ１５０）。なお、「あらかじめ定めた基準」は、価値推論記録部１９３に組合せごとの計算結果を記録しておけばよい。入出力部３１０は、価値組合せ計算部１５０が求めた計算結果を出力する（Ｓ１１６）。上記の例で、表示された仮説の情報から、Cloth_up(ブランドＤ，blue，poly)とCloth_bottom(ブランドＢ，black，wool)とを入力した場合、Cloth_up(ブランドＤ，blue，poly)はカジュアルであり、Cloth_bottom(ブランドＢ，black，wool)はフォーマルという価値要素を持っている。そして、価値推論記録部１９３には「カジュアル,フォーマル →カジュアル」という知識も記録されているので、この仮説の組合せの計算結果として「カジュアル」が出力される。また、Cloth_up(ブランドＢ，gold，silk)とCloth_bottom(ブランドＡ，navy，jeans)の組合せを入力した場合、価値推論記録部１９３には「Cloth_up(_,_,silk)，Cloth_bottom(ブランドＡ, navy, jeans) → nogood(weak)」という知識が記録されているので、この仮説の組合せの計算結果として「nogood(weak)」が出力される。つまり、あまり好ましくないことが出力される。ただし、ユーザがいいと思えば組み合わせることも可能である。ユーザ側から見れば、推論装置から示された仮説を組み合わせることで、新たな価値観を見つけることができ、選択の自由が広がる。また、あまり良くないとされるものでも、自己の価値観で選択することもできる。このようなことは、従来のように価値観まで固定した推論方法では実現できないことである。
【実施例４】
【００３５】
本実施例では、実施例１と実施例２の方法を組み合わせる。図７に実施例４の推論装置の機能構成例を、図８に実施例４の推論装置の処理フローを示す。推論装置４００は、仮説記録部１９１、知識記録部１９２、価値推論記録部１９３、入出力部４１０、アブダクション実行部１２０、時間要素選択部１３０、価値要素選択部１４０を備える。仮説記録部１９１は、時間に関する情報である時間要素ｔが対応付けられた仮説ｈ［ｔ］を記録する。知識記録部１９２は、仮説ｈと結果Ｏの関係または一般法則を示す事実知識Ｆを記録する。価値推論記録部１９３は、仮説ｈに対する性質を示す情報である価値要素を記録する。
【００３６】
入出力部４１０に、結果Ｏの情報が入力される。アブダクション実行部１２０は、入力された結果Ｏが得られる仮説ｈ［ｔ］を、知識記録部１９２に記録された事実知識Ｆを用いて、仮説記録部１９１に記録された仮説ｈ［ｔ］の中から検索し、仮説の集合を生成する。
【００３７】
時間要素選択部１３０は、仮説の集合の中で、あらかじめ定めた時間に関する条件を満足する仮説のみを選択する（Ｓ１３０）。入出力部４１０に、嗜好の情報が入力される（Ｓ１１２）。価値要素選択部１４０は、時間要素選択部１３０が選択した仮説ｈ［ｔ］の中で、価値要素が嗜好の情報と整合する仮説ｈ［ｔ］のみを選択する（Ｓ１４０）。入出力部４１０は、価値要素選択部１４０が選択した仮説の情報を出力する（Ｓ１１３）。
【００３８】
このような処理なので、本実施例の推論装置は、実施例１と実施例２の両方の効果を得ることができる。また、この仕組みを使えば、ＣＤを聴いているときに、それと関連するものや同じ傾向のもので最近聴いていないもの、もしくはぜんぜん聴いていないものがあるかどうかを探索できる。さらに、顧客に関するデータを持っているレコード店などでは、この推論を利用して顧客がよく買う商品と同じ傾向の商品に絞って推薦したりできる。あるいは、反対にこれまでとまったく異なる傾向の商品の推薦も可能である。
【実施例５】
【００３９】
本実施例では、実施例１と実施例３の方法を組み合わせる。図９に実施例５の推論装置の機能構成例を、図１０に実施例５の推論装置の処理フローを示す。推論装置５００は、仮説記録部１９１、知識記録部１９２、価値推論記録部１９３、入出力部５１０、アブダクション実行部１２０、時間要素選択部１３０、価値組合せ計算部１５０を備える。仮説記録部１９１は、時間に関する情報である時間要素ｔが対応付けられた仮説ｈ［ｔ］を記録する。知識記録部１９２は、仮説ｈと結果Ｏの関係または一般法則を示す事実知識Ｆを記録する。価値推論記録部１９３は、仮説ｈに対する性質を示す情報である価値要素を記録する。
【００４０】
入出力部５１０に、結果の情報が入力される（Ｓ１１１）。アブダクション実行部１２０は、結果Ｏが得られる仮説ｈ［ｔ］を、知識記録部１９２に記録された事実認識を用いて、仮説記録部１９１に記録された仮説ｈ［ｔ］の中から検索し、仮説の集合を生成する（Ｓ１２０）。時間要素選択部１３０は、仮説の集合の中で、あらかじめ定めた時間に関する条件を満足する仮説のみを選択する（Ｓ１３０）。「あらかじめ定めた条件」とは、実施例１で説明したように、推論装置の使用目的に応じて適宜定めればよい。入出力部５１０は、時間要素選択部１３０が選択した仮説の情報を出力する（Ｓ１１４）。
【００４１】
入出力部５１０に、仮説の組合せの情報が入力される（Ｓ１１５）。価値組合せ計算部１５０は、価値推論記録部１９３が記録する価値要素から、仮説の組合せの価値要素をあらかじめ定めた基準で求める。入出力部５１０が、価値組合せ計算部１５０が求めた計算結果（価値要素）を出力する。
【００４２】
このような処理なので、本実施例の推論装置は、実施例１と実施例２の両方の効果を得ることができる。また、この仕組みを使えば、季節、天気などとの組合せも可能になる。ちなみに、本実施例の推論を普通の推論で実現しようとすれば、推論が複雑になる上、推論のための知識の整備も難しくなる。さらに、本発明の良いところは、価値判断を行わない普通の推論を行う構成部（本発明の場合には、アブダクション実行部１２０）を変更する必要がないことである。
【００４３】
なお、図７の推論装置に価値組合せ計算部１５０を追加し（図７に点線で表示）、入出力部を実施例に応じた入出力ができる入出力部４１０’に変更すれば、実施例１から実施例５までのすべての推論装置として選択的に動作できる推論装置４００’となる。実際には、このような推論装置を構成し、必要に応じて実施例１から実施例５のいずれかの推論装置として機能させればよい。
【００４４】
上述の各実施例の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【００４５】
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【００４６】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【００４７】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【００４８】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【産業上の利用可能性】
【００４９】
本発明は、仮説推論を用いてユーザに様々な提案を行うようなシステムに利用することができる。
【符号の説明】
【００５０】
１００、２００、３００、４００、５００  推論装置
１１０、２１０、３１０、４１０、５１０  入出力部
１２０  アブダクション実行部            １３０  時間要素選択部
１４０  価値要素選択部                  １５０  価値組合せ計算部
１９１、９９１  仮説記録部              １９２  知識記録部
１９３  価値推論記録部
【図１】
2011253270.tif 000003
【図２】
2011253270.tif 000004
【図３】
2011253270.tif 000005
【図４】
2011253270.tif 000006
【図５】
2011253270.tif 000007
【図６】
2011253270.tif 000008
【図７】
2011253270.tif 000009
【図８】
2011253270.tif 000010
【図９】
2011253270.tif 000011
【図１０】
2011253270.tif 000012