(57)【要約】【課題】推論ルール修正の為に正事例／負事例の入力を用いる推論ルール修正において、入力する正事例若しくは負事例を探す際の手間を軽減する。【解決手段】推論システムにて利用される推論ルールを修正する推論ルール修正システムが、修正対象とする推論ルールを参照したユーザから推論ルールの修正指示情報を受け付け、受け付けた該修正指示に含まれる或る属性に基づいて、前記或る属性以外の他の属性に属する推論対象を算出し、算出した該推論対象について前記ユーザに質問する。【選択図】図１
2014164666.tif 000002
【特許請求の範囲】
【請求項１】
推論システムにて利用される推論ルールを修正する推論ルール修正システムであって、
修正対象とする推論ルールを参照したユーザから推論ルールの修正指示情報を受け付け、受け付けた該修正指示に含まれる或る属性に基づいて、前記或る属性以外の他の属性に属する推論対象を算出し、算出した該推論対象について前記ユーザに質問することを特徴とする推論ルール修正システム。
【請求項２】
請求項１に記載の推論ルール修正システムであって、
前記算出した推論対象についての前記質問に対する回答が負事例である場合には、前記算出した推論対象に基づいて他の推論対象を算出し、算出した前記他の推論対象について新たに質問を行うことを特徴とする推論ルール修正システム。
【請求項３】
請求項１又は２に記載の推論ルール修正システムであって、
前記算出した推論対象についての前記質問に対する回答が正事例である場合には、前記算出した推論対象を前記修正対象とする推論ルールの新たな条件属性とすることを特徴とする推論ルール修正システム。
【請求項４】
請求項１乃至３の何れか１項に記載の推論ルール修正システムであって、
前記修正指示に含まれる属性との親子関係に基づいて前記他の属性となる属性を算出する手段と、
前記算出した他の属性に属する代表的な推論対象を算出する手段と、
前記代表的な推論対象についての前記質問の結果に応じて、新たに前記他の属性を算出する手段と、
を備えることを特徴とする推論ルール修正システム。
【請求項５】
請求項１乃至４の何れか１項に記載の推論ルール修正システムであって、
前記修正対象とする推論ルールを用いて推論を実行する推論実行手段を更に備え、
前記推論実行手段の推論結果に基づいて前記修正対象とする推論ルールを修正し、前記推論実行手段は修正後の推論ルールを用いてさらに推論を実行することを特徴とする推論ルール修正システム。
【請求項６】
推論システムにて利用される推論ルールを修正する推論ルール修正方法であって、
修正対象とする推論ルールを参照したユーザから推論ルールの修正指示情報を受け付け、受け付けた該修正指示に含まれる或る属性に基づいて、前記或る属性以外の他の属性に属する推論対象を算出し、算出した該推論対象について前記ユーザに質問することを特徴とする推論ルール修正方法。
【請求項７】
推論システムにて利用される推論ルールを修正する推論ルール修正装置としてコンピュータを機能させる推論ルール修正プログラムであって、
修正対象とする推論ルールを参照したユーザから推論ルールの修正指示情報を受け付け、受け付けた該修正指示に含まれる或る属性に基づいて、前記或る属性以外の他の属性に属する推論対象を算出し、算出した該推論対象について前記ユーザに質問することを特徴とする推論ルール修正装置としてコンピュータを機能させることを特徴とする推論ルール修正プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、推論ルールを修正する為の、推論ルール修正システム、推論ルール修正方法及び推論ルール修正プログラムに関する。
【背景技術】
【０００２】
人間の専門家（エキスパート）の意思決定能力をエミュレートするコンピュータシステムである推論システム（エキスパートシステムとも呼ばれる）が多くの分野で用いられている。
【０００３】
ここで、推論システムでは専門家の知識を推論ルールとして蓄積する。そして、推論システムに含まれる推論エンジンが、この推論ルールに基づき、与えられた事象に対しての推論を行う。ここで、推論システムを運用し、適切な推論結果を得るためには推論ルールを適宜修正することが重要となる。
【０００４】
このような推論ルールの修正に関する技術の一例が特許文献１及び特許文献２に記載されている。
【０００５】
特許文献１の推論ルール修正システムは次のように動作する。
【０００６】
まず、人間の専門家（以下、「ユーザ」と呼ぶ。）から推論ルールの修正指示情報を受け取る。ここで、特許文献１における修正指示情報には、推論ルールと、正事例又は負事例とが含まれる。次に、正事例又は負事例とされた対象の要素を分析し、ユーザから入力された事例（正事例又は負事例）と同じ事例が正しく推論されるような推論ルールの修正候補を算出する。そして、算出した推論ルールの修正候補をユーザに提示し、ユーザに修正候補を選択させる。最後にユーザの選択した修正候補に基づいて推論ルールを修正する。
【０００７】
また、推論ルール修正システムの別の一例が、特許文献２に記載されている。特許文献２の推論ルール修正システムは次のように動作する。
【０００８】
まず、或る初期事象とこの或る初期事象から当然推論されるはずである結論事象を含む教師データを記憶する。次に、教師データと同じ或る初期事象に対して推論エンジンが推論した帰結事象と、教師データに含まれる帰結事象とを比較する。
【０００９】
そして、比較した結果、教師データの帰結事象と推論エンジンによる帰結事象が同一であれば、今回推論エンジンが使用した推論ルールの修正は不要である。一方で、教師データの帰結事象と推論エンジンによる帰結事象が異なっている場合には、今回推論エンジンが使用した推論ルールを修正する必要がある。そこで、修正する必要がある推論ルールに関しては、教師データと同じ或る初期事象に対して推論エンジンが推論した帰結事象が、教師データの帰結事象と一致するような推論ルールの修正案を作成する。続いて、作成した推論ルールの修正案をユーザに提示し、更に、ユーザに選択させる。最後にユーザの選択した修正案に基づいて推論ルールを修正する。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開平６−１４９９１９号公報
【特許文献２】特開平１‐２８７７４６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
上述したような、特許文献１及び特許文献２等に記載の一般的な技術を用いることによりユーザの選択に基づいて推論ルールを修正することが可能となる。しかしながら、これらの一般的な技術には以下のような問題点が存在する。
【００１２】
まず、第１の問題点について説明する。上述した特許文献１に記載の技術では、推論ルール修正のためにユーザが正事例であるのか又は負事例であるのか、ということを入力する。更に、ユーザが修正候補を選択する。もっとも、特許文献１においては単一の正事例／負事例を用いてしか推論ルールを修正しておらず、修正後の推論ルールが最適であるという保証は全く無い。つまり、或る正事例／負事例を用いて推論ルールを修正したとしても、この修正後の推論ルールについて他の正事例もしくは負事例が見つかるかもしれない。従って結局、全ての属性の推論対象の各々についてユーザが確認したうえで推論ルールの正事例か負事例かを判断する必要がある。これでは、ユーザにとって多大な手間となってしまう。これが第１の問題点である。
【００１３】
次に、第２の問題点は、特許文献２の技術を利用する際に、教師データを用意する手間がユーザにとって多大になってしまう点である。
【００１４】
その理由は、推論ルール修正の為には初期状態における帰結事象である教師データを用意する必要があるが、初期状態が複雑な場合には教師データを用意するのが困難になるからである。
【００１５】
この点、特許文献２の明細書中に記載されている具体例では、初期状態は複雑ではない。従って、この例に限るのであれば教師データを用意するのはさほど大変ではないと言える。しかし、他の複雑な初期状態であれば教師データを用意するのは困難である。例えば特許文献１に例示されているような複雑な初期状態に対して特許文献２に記載の技術を適用させるとするならば、予め回路図の中から正事例となる部分を抽出して教師データを作成しておく必要がある。この教師データを用意する手間は上記第１の問題点の、正事例若しくは負事例を全て見つけるという手間と変わらない。
【００１６】
つまり、上記第２の問題点の『予め教師データを作っておく手間』は、上記第１の問題点の『全ての属性毎の推論対象をユーザが確認し推論ルールの正事例か負事例かを判断する手間』と同義である。その理由は、『教師データと推論結果の差分』とは、すなわち『推論ルールの正事例／負事例』だからである。従って、以後の説明においては、第１の問題点を解決することを課題として考えるが、これは実質的に第２の問題点をも解決することに他ならない。
【００１７】
そこで本発明は、推論ルール修正の為に正事例／負事例の入力を用いる推論ルール修正において、入力する正事例／負事例を探す際の手間を軽減することが可能な、推論ルール修正システム、推論ルール修正方法及び推論ルール修正プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１８】
本発明の第１の観点によれば、推論システムにて利用される推論ルールを修正する推論ルール修正システムであって、修正対象とする推論ルールを参照したユーザから推論ルールの修正指示情報を受け付け、受け付けた該修正指示に含まれる或る属性に基づいて、前記或る属性以外の他の属性に属する推論対象を算出し、算出した該推論対象について前記ユーザに質問することを特徴とする推論ルール修正システムが提供される。
【００１９】
本発明の第２の観点によれば、推論システムにて利用される推論ルールを修正する推論ルール修正方法であって、修正対象とする推論ルールを参照したユーザから推論ルールの修正指示情報を受け付け、受け付けた該修正指示に含まれる或る属性に基づいて、前記或る属性以外の他の属性に属する推論対象を算出し、算出した該推論対象について前記ユーザに質問することを特徴とする推論ルール修正方法が提供される。
【００２０】
本発明の第３の観点によれば、推論システムにて利用される推論ルールを修正する推論ルール修正装置としてコンピュータを機能させる推論ルール修正プログラムであって、修正対象とする推論ルールを参照したユーザから推論ルールの修正指示情報を受け付け、受け付けた該修正指示に含まれる或る属性に基づいて、前記或る属性以外の他の属性に属する推論対象を算出し、算出した該推論対象について前記ユーザに質問することを特徴とする推論ルール修正装置としてコンピュータを機能させることを特徴とする推論ルール修正プログラムが提供される。
【発明の効果】
【００２１】
本発明によれば、推論ルール修正の為に正事例／負事例の入力を用いる推論ルール修正において、入力する正事例若しくは負事例を探す際の手間を軽減することが可能となる。
【図面の簡単な説明】
【００２２】
【図１】本発明の実施形態の基本的構成を表すブロック図である。
【図２−１】本発明の実施形態の基本的動作の具体例全体を表すフローチャート（１／２）である。
【図２−２】本発明の実施形態の基本的動作の具体例全体を表すフローチャート（２／２）である。
【図３】推論結果受信処理の詳細な内容を表すフローチャートである。
【図４】初期質問オントロジーリスト作成処理を表すフローチャートである。
【図５】属性／条件オントロジー取得処理を表すフローチャートである。
【図６】属性／条件オントロジー取得処理において、条件オントロジーが複数存在していた時にその中から一つの条件オントロジーを選ぶ方法を説明するための概念図である。
【図７】初期質問オントロジーリスト生成時処理で、入力が負事例の時の初期オントロジーリストの作り方を説明するための概念図である。
【図８】推論ルール修正用オントロジーリスト生成処理を表すフローチャートである。
【図９】質問推論対象算出処理を表すフローチャートである。
【図１０】質問オントロジーリスト再構成処理を表すフローチャートである。
【図１１】推論ルール修正処理を表すフローチャートである。
【図１２】本発明の実施形態を具体化した実施例基本的構成を表すブロック図である。
【図１３】オントロジー情報データベースに記憶される情報の具体例を示す図である。
【図１４】推論対象データベースに記憶される情報の具体例を示す図である。
【図１５】推論ルールデータベースに記憶される情報の具体例を示す図である。
【図１６】推論結果データベースに記憶される情報の具体例を示す図である。
【図１７】電解コンデンサとセラミックコンデンサの共通の親を説明するための図である。
【図１８】推論ルール修正処理を行なった後に推論結果データベースに記憶される情報の具体例を示す図である。
【発明を実施するための形態】
【００２３】
次に、本発明を実施するための形態について図面を参照して詳細に説明する。ここで、本実施形態では推論ルール修正のために入力する正事例／負事例を探す際の手間が低減される推論ルール修正システムを提供することを目的としている。そして、本実施形態ではこの目的を達成するために、一部の或る属性についての推論対象を探して指定することで、この或る属性以外の他の属性に関する推論対象を探す手間が低減されるようにする。
【００２４】
図１を参照すると本発明の実施形態は、推論ルール修正システム１００、推論システム２００及び入出力部３００を含む。
【００２５】
更に、推論ルール修正システム１００は、オントロジー情報記憶部１０１、一時記憶部１０２、推論結果受信部１０３、推論ルール修正管理部１０４、初期質問オントロジーリスト作成部１０５、質問推論対象算出部１０６、質問オントロジーリスト再構成部１０７及び推論ルール修正処理部１０８を含む。
【００２６】
また、推論システム２００は、推論結果記憶部２０１、推論対象記憶部２０２、推論ルール記憶部２０３及び推論実行部２０４を含む。
【００２７】
推論ルール修正システム１００は、推論システム２００が推論を実行する際に利用する推論ルールを修正するシステムである。また、推論システム２００は、推論ルール修正システム１００が修正をした推論ルールに基づいて推論を行うシステムである。更に、入出力部３００は推論ルールを修正するユーザであるユーザ３０１が直接操作する端末である。
【００２８】
これら、推論ルール修正システム１００、推論システム２００及び入出力部３００は、それぞれがハードウェア及びソフトウェアの組み合わせにより実現される。具体的にどのようなハードウェア等で実現するのかについては、後述する実施例の説明において詳細に述べる。
【００２９】
本実施形態に含まれる、これら各機能ブロックはそれぞれ次のように動作する。
【００３０】
推論結果受信部１０３は、推論に関する各種の情報を受信する機能を含む。具体的には、推論結果受信部１０３は、推論ルール修正システム１００外の推論システム２００に含まれる推論結果記憶部２０１、推論対象記憶部２０２及び推論ルール記憶部２０３から各種情報を取得する。すなわち、推論結果記憶部２０１から推論結果情報を、推論対象記憶部２０２から推論対象情報を、推論ルール記憶部２０３から推論ルール情報をそれぞれ取得する。
【００３１】
また推論結果受信部１０３は、前記各種情報を取得した後に、取得した推論結果情報、推論対象情報及び推論ルール情報を一時記憶部１０２に記憶させる処理を行う。加えて、取得した推論結果情報、推論対象情報及び推論ルール情報を、入出力部３００に出力させる処理を行う。ここで、一時記憶部１０２は各種情報を少なくとも一時的に記憶可能な記憶装置であり、推論ルール修正システム１００に含まれる各部から読み込み及び書き込みが可能である。また、入出力部３００における出力としてはディスプレイへの表示や紙媒体への印刷が考えられる。
【００３２】
推論ルール修正管理部１０４は、入出力部３００より入力された修正指示情報を受け付ける。そして、受け付けた修正指示情報に基づいて各部に処理を行わせる。具体的には、初期質問オントロジーリスト作成部１０５に質問オントロジーリストの生成処理を行わせる。また、質問推論対象算出部１０６に質問推論対象の算出処理を行わせる。更に、質問オントロジーリスト再構成部１０７に質問オントロジーの再構成処理を行わせる。更に、推論ルール修正処理部１０８に推論ルール修正処理を行わせる。
【００３３】
ここで本実施形態における修正指示情報は、修正対象とする推論ルール情報、選択した推論対象情報（以下「選択推論情報」と呼ぶ。）及び事例種別情報の組により実現される。ここで、事例種別情報とは、選択推論対象が修正対象とする推論ルールにとって「正事例」であるかそれとも「負事例」であるかということを表現する情報である。
【００３４】
初期質問オントロジーリスト作成部１０５は、推論ルール修正処理部１０４から修正指示情報を受け取り、修正指示情報で指定された推論ルール情報を一時記憶部１０２から取得する。また、修正指示情報で指定された推論対象情報を同様に一時記憶部１０２から取得する。更に、オントロジー情報をオントロジー情報記憶部１０１から取得する。そして、推論ルールの条件となっているオントロジーと、推論対象の属性のオントロジーとで共通する親オントロジーを算出する。更に、算出した共通の親オントロジーを質問オントロジーリストの構成要素として設定する。そして、質問オントロジーリストを推論ルール修正管理部１０４に送信する。
【００３５】
質問推論対象算出部１０６は、推論ルール修正処理部１０４から質問オントロジーリストを受け取る。そして受け取った質問オントロジーリストに含まれる質問オントロジーの中で先頭の質問オントロジーを取得する。また、一時記憶部１０２から推論対象情報を取得する。そして、取得した全ての推論対象情報の中から、質問オントロジーが推論対象の属性となっている推論対象を取得する。取得した推論対象と質問オントロジーの組と質問オントロジーリストとを推論ルール修正管理部１０４に送信する。
【００３６】
質問オントロジーリスト再構成部１０７は、推論ルール修正処理部１０４から修正指示情報、質問オントロジー及び質問オントロジーリストを受け取る。そして、受け取った質問オントロジーリストを再構成する。再構成する方法は、修正指示情報が正事例ならば、質問オントロジーの子オントロジーの中で属性オントロジーでも条件オントロジーでも無いものを質問オントロジーリストに追加する。一方、修正指示情報が負事例の場合は、質問オントロジーの子オントロジーの中で、属性オントロジーが子孫オントロジーに含まれないものを質問オントロジーリストに追加する。
【００３７】
推論ルール修正処理部１０８は、推論ルール修正処理部１０４から推論ルール修正用オントロジーリストを受け取る。また、オントロジー情報記憶部１０１からオントロジー情報を受け取る。そして、推論ルール修正用オントロジーリストの要素のオントロジーのうち上下関係にあり推論ルールとするには不適切であるオントロジーを削除した後、修正ルール修正用オントロジーの全ての論理和になるように推論ルールを修正する。
【００３８】
推論結果記憶部２０１は、推論システムの推論結果を記憶する。推論対象記憶部２０２は、推論システムが推論する対象を記憶する。推論ルール記憶部２０３は、推論システムが用いる推論ルールを記憶する。
【００３９】
推論実行部２０４は、推論ルール記憶部２０３が記憶する推論ルールを用いて、推論対象記憶部２０２が記憶する推論対象について推論を行う。推論結果は推論結果記憶部２０１に記憶させる。なお、本発明は推論ルールを修正することを要旨としているので推論実行部２０４は必ずしも必要ではない。また、推論実行部２０４における具体的な推論方法に関しては本発明の要旨ではなく、当業者にとっても良く知られているので詳細な説明を省略する。
【００４０】
入出力部３００は、ユーザに推論結果を表示する機能と、ユーザに質問を提示する機能と、ユーザから修正指示情報を受け付ける機能とを持つ。
【００４１】
次に、フローチャートを参照して本実施形態の全体動作について詳細に説明する。
【００４２】
図２−１及び図２−２は、本実施の形態の全体動作を表すフローチャートである。また、図３、４、５、８、９、１０及び１１は、図２に含まれる各ステップにおける処理を更に詳細に表すフローチャートである。
【００４３】
図２−１及び図２−２を参照すると、まず推論ルール修正システム１００は、推論結果の受信処理を行う（ステップＳ１）。ここで、推論結果受信処理の詳細な内容を表すフローチャートである図３を参照して本ステップについて説明する。
【００４４】
まず、推論結果受信部１０３は、推論結果記憶部２０１から推論結果情報を、推論対象記憶部２０２から推論対象情報を、推論ルール記憶部２０３から推論ルール情報をそれぞれ取得する（ステップＳ１−１）。
【００４５】
そして推論結果受信部１０３は、推論結果情報、推論対象情報及び推論ルール情報を一時記憶部１０２に記憶する（ステップＳ１−２）。また、推論結果受信部１０３は、推論結果情報を入出力部３００に引き渡す。
【００４６】
次に、入出力部３００は、ユーザに推論結果情報を提示する（ステップＳ１−３）。
【００４７】
次に、入出力部３００は、ユーザからの修正指示情報の入力を受け付ける（ステップＳ１−４）。そして入出力部３００は、受け付けた修正指示情報を、推論ルール修正管理部１０４に引き渡す。
【００４８】
推論ルール修正管理部１０４は、入出力部３００から修正指示情報を受け取る（ステップＳ２）。そして推論ルール修正管理部１０４は、受け取った修正指示情報を、修正指示情報として一時記憶部１０２に記憶する（ステップＳ３）。また、受け取った修正指示情報と全く同じデータを初期修正指示情報として一時記憶部１０２に記憶する。
【００４９】
次に、推論ルール修正システム１００は、初期質問オントロジーリスト作成処理を行う（ステップＳ４）。ここで、初期質問オントロジーリスト作成処理の詳細な内容を表すフローチャートである図４を参照して本ステップについて説明する。
【００５０】
初期質問オントロジーリスト生成部１０５は、まず一時記憶部１０２から修正指示情報を取得する（ステップＳ４−１）。
【００５１】
次に、推論ルール修正システム１００は、属性／条件オントロジー取得処理を行う（ステップＳ４−２）。ここで、属性／条件オントロジー取得処理の詳細な内容を表すフローチャートである図５を参照して本ステップについて説明する。
【００５２】
一時記憶部１０２に記憶されている推論対象記憶部２０２から取得した推論対象情報から、修正指示情報に含まれる選択推論対象の属性情報（以下、「属性オントロジー」と呼ぶ。）を取得する（ステップＳ４−２−１）。また、一時記憶部１０２に記憶されている推論ルール記憶部２０３から取得した推論ルール情報から、修正指示情報に含まれる修正対象推論ルール情報の条件情報（以下、「条件オントロジー」と呼ぶ。）を取得する（ステップＳ４−２−２）。
【００５３】
そして、取得した条件オントロジーが複数であるか否かを判定する（ステップＳ４−２−３）。ここで、ステップＳ４−２−３における判定とは具体的に言えば、推論ルールの条件部が論理和で結合されているか否かということになる。すなわち、推論ルールの条件部が論理和で結合されていれば条件オントロジーが複数であることとなる。
【００５４】
取得した条件オントロジーが複数だった場合（ステップＳ４−２−３においてＹｅｓ）、何れかの条件オントロジーを選択する必要がある。そこで、取得した複数の条件オントロジーそれぞれについて、条件オントロジーと属性オントロジーとの共通の親を算出する。共通の親の算出は、オントロジー情報記憶部１０１が記憶しているオントロジー情報を用いることにより行われる（ステップＳ４−２−４）。
【００５５】
そして、算出した共通の親オントロジー群の中で最も下層にある親オントロジーを算出するのに用いた条件オントロジーを、修正対象の条件オントロジーとして設定する（ステップＳ４−２−５）。
【００５６】
一方、取得した条件オントロジーが複数で無かった場合（ステップＳ４−２−３においてＮｏ）は、取り出した条件オントロジーをそのまま修正対象の条件オントロジーとして設定する（ステップＳ４−２−５）。
【００５７】
最後に、ステップＳ４−２−１において取得した属性オントロジーと、ステップＳ４−２−５において設定した条件オントロジーをそれぞれ一時記憶部１０２に記憶する（ステップＳ４−２−６）。
【００５８】
ここで、ステップＳ４−２−４及びステップＳ４−２−５における処理について図６に表される具体例を参照して補足説明する。
【００５９】
今回の具体例では、図６に表されるオントロジーツリーにおいて、条件オントロジーがＢとＩであると仮定する。すなわち、条件オントロジーが複数の場合（ステップＳ４−２−３においてＹｅｓ）である。そして、この時属性オントロジーがＧであることが分かったとする。そして、取得した複数の条件オントロジーそれぞれについて、条件オントロジーと属性オントロジーとの共通の親を算出する（ステップＳ４−２−４）。
【００６０】
この場合、条件オントロジーＩと属性オントロジーＧの共通の親はＤであり、条件オントロジーＢと属性オントロジーＧの共通の親はＡである。
【００６１】
算出した共通の親オントロジー群であるオントロジーＡとオントロジーＤを比較すると、オントロジーＤの方が下層に存在している。よって、本具体例ではオントロジーＤを算出するのに用いた条件オントロジーであるオントロジーＩが修正対象の条件オントロジーとして設定される（ステップＳ４−２−５）。
【００６２】
次に、初期質問オントロジーリスト生成部１０５は、条件オントロジーと属性オントロジーとの共通の親オントロジーを算出する。共通の親の算出は、オントロジー情報記憶部１０１が記憶しているオントロジー情報を用いることにより行われる（ステップＳ４−３）。
【００６３】
次に、初期質問オントロジーリスト生成部１０５は、一時記憶部１０２から修正指示情報を取得し、修正指示情報に含まれる事例種別情報が「正事例」であるかそれとも「負事例」であるかを判定する（ステップＳ４−４）。
【００６４】
事例種別情報が「正事例」の場合（ステップＳ４−４においてＹｅｓ）は、条件オントロジーと属性オントロジーとの共通の親オントロジーを質問オントロジーとして質問オントロジーリストに含ませることにより質問オントロジーリストを作成する（ステップＳ４−５）。
【００６５】
一方、事例種別情報が「負事例」の場合（ステップＳ４−４においてＮｏ）は、まず、条件オントロジーと属性オントロジーとの共通の親オントロジーの子オントロジーの中で、その子孫に属性オントロジーを含まないオントロジー群を質問オントロジー群とする。そして、この質問オントロジー群をリスト化することにより質問オントロジーリストを作成する（ステップＳ４−６）。なお、質問オントロジーリストの作成は、オントロジー情報記憶部１０１に記憶されているオントロジー情報を利用することにより行われる。
【００６６】
次に、条件オントロジーと属性オントロジーとの共通の親オントロジーの子孫オントロジーの中で、属性オントロジーを子孫とするオントロジー群を全て抽出する。そして、抽出したオントロジー群全てについて、その子オントロジーの中でその子孫に属性オントロジーを含まないオントロジー群を質問オントロジー群として質問オントロジーリストに追加する（ステップＳ４−７）。なお、ステップＳ４−６と同様に、質問オントロジーリストの作成は、オントロジー情報記憶部１０１に記憶されているオントロジー情報を利用することにより行われる。
【００６７】
ここで、ステップＳ４−６及びステップＳ４−７に関して、より明確に説明するため図７に表される具体例を参照する。本具体例は、事例種別情報が「負事例」の場合（ステップＳ４−４においてＮｏ）の質問オントロジーリストの作成についての例である。
【００６８】
図７のオントロジーツリーにおいて、条件オントロジーＡと属性オントロジーＬの共通の親オントロジーはオントロジーＡである。
【００６９】
ステップＳ４−６ではオントロジーＡの子オントロジーの中で、その子孫に属性オントロジーを含まないオントロジー群を質問オントロジー群とし、この質問オントロジー群をリスト化することにより質問オントロジーリストを作成する。本例では、オントロジーＡの子はオントロジーＢ、オントロジーＣ及びオントロジーＤである。この中でオントロジーＤについては子孫に属性オントロジーＬを含んでいる。そこで、オントロジーＤは質問オントロジーリストには追加されない、一方で、子孫に属性オントロジーＬを含まない、オントロジーＢとオントロジーＣは質問オントロジーリストに追加される。
【００７０】
ステップＳ４−７では、まず、共通の親オントロジーの子孫オントロジーの中で、属性オントロジーを子孫とするオントロジーを全て抽出する。本例では、オントロジーＡの子孫オントロジーの中で、属性オントロジーＬを子孫とするオントロジーとして、オントロジーＤ、オントロジーＨ及びオントロジーＩの３つが抽出される。次に、抽出したオントロジー群全てについて、その子オントロジーの中でその子孫に属性オントロジーを含まないオントロジー群を質問オントロジー群として質問オントロジーリストに追加する。抽出したオントロジーＤ、オントロジーＨ及びオントロジーＩそれぞれについて見ていく。
【００７１】
オントロジーＤの子オントロジーはオントロジーＧとオントロジーＨである。この中で子孫に属性オントロジーＬを含まないのはオントロジーＧである。従って、まずオントロジーＧを質問オントロジーリストに追加する。
【００７２】
オントロジーＨの子オントロジーはオントロジーＩとオントロジーＪである。この中で子孫に属性オントロジーＬを含まないのはオントロジーＪである。従って、オントロジーＪを質問オントロジーリストに更に追加する。
【００７３】
オントロジーＩの子オントロジーはオントロジーＫとオントロジーＬである。この中で子孫に属性オントロジーＬを含まないのはオントロジーＫである。従って、オントロジーＫを質問オントロジーリストに更に追加する。以上の処理で、質問オントロジーリストにオントロジーＧ、オントロジーＪ及びオントロジーＫが追加される。
【００７４】
最後に、初期質問オントロジーリスト生成部１０５は質問オントロジーリストを一時記憶部１０２に記憶する（ステップＳ４−７）。
【００７５】
次に、推論ルール修正システム１００は、推論ルール修正用オントロジーリスト生成処理を行う（ステップＳ５）。ここで、推論ルール修正用オントロジーリスト生成処理の詳細な内容を表すフローチャートである図８を参照して本ステップについて説明する。
【００７６】
推論ルール修正管理部１０４は、推論ルール修正用オントロジーリストを生成し一時記憶部１０２に記憶する（ステップＳ５−１）。
【００７７】
そして、一時記憶部１０２に記憶されている修正指示情報を取得し、修正指示情報に含まれる事例種別情報が「正事例」であるか「負事例」であるかを判定する（ステップＳ５−２）。
【００７８】
事例種別情報が「正事例」の場合（ステップＳ５−２においてＹｅｓ）は、推論ルール修正管理部１０４は、一時記憶部１０２に記憶されている条件オントロジーと属性オントロジーとを取得し、取得した条件オントロジーと属性オントロジーとを構成要素とする推論ルール修正用オントロジーをステップＳ５−１で作成した推論ルール修正用オントロジーリストに追加する（ステップＳ５−３）。
【００７９】
一方、事例種別情報が「負事例」の場合は（ステップＳ５−２においてＮｏ）、推論ルール修正管理部１０４は何もしない。
【００８０】
次に、推論ルール修正システム１００は、質問推論対象算出処理を行う（ステップＳ６）。ここで、質問推論対象算出処理の詳細な内容を表すフローチャートである図９を参照して本ステップについて説明する。
【００８１】
質問推論対象算出部１０６は、一時記憶部１０２から質問オントロジーリストを取得する（ステップＳ６−１）。
【００８２】
次いで、質問推論対象算出部１０６は、取得した質問オントロジーリストの中から先頭の質問オントロジーを取得する（ステップＳ６−２）。
【００８３】
次いで、質問推論対象算出部１０６は、取得した質問オントロジーを再度取得することがないように、質問オントロジーリストから削除する（ステップＳ６−３）。
【００８４】
次いで、質問推論対象算出部１０６は、一時記憶部１０２に記憶されている推論対象記憶部２０２から推論対象情報を取得する。そして、取得した推論対象情報に含まれる推論対象の中から属性が質問オントロジーと一致する推論対象を全て抽出する（ステップＳ６−４）。
【００８５】
もしも、１つ以上の推論対象を抽出した場合は、抽出した推論対象の中から、推論対象をランダムに１つ選択し、選択した推論対象を質問推論対象とする（ステップＳ６−５）。
【００８６】
最後に、質問推論対象算出部１０６は、質問推論対象と質問オントロジーと質問オントロジーリストとを一時記憶部１０２に記憶する。
【００８７】
次に、推論ルール修正管理部１０４は、一時記憶部１０２から質問推論対象と質問オントロジーと質問オントロジーリストとを取得し、質問推論対象を取得できたかどうかを判定する（ステップＳ７）。
【００８８】
もし質問推論対象を取得できなかったならば（ステップＳ７においてＮｏ）、推論ルール修正管理部１０４は、質問オントロジーリスト再構成部１０７に質問オントロジーリストの再構成指示を出す（ステップＳ１１）。ステップＳ１１の内容については後述する。
【００８９】
一方、もし質問推論対象を取得できたならば（ステップＳ７においてＹｅｓ）、推論ルール修正管理部１０４は、入出力部３００に質問推論対象を引き渡す。そして、入出力部３００は、推論ルール修正管理部１０４から質問推論対象を受け取り、ユーザに質問として提示する（ステップＳ８）。
【００９０】
次に、入出力部３００はユーザからの質問に対する修正指示情報を受け取る。ここで修正指示情報として受け取るのは、修正対象とする推論ルール情報、システムがユーザに質問した推論対象情報、推論対象が推論ルールにとって「正事例」か「負事例」ということを表現する事例種別情報の組である。そして、入出力部３００は推論ルール修正管理部１０４に修正指示情報を引き渡す。
【００９１】
次いで、推論ルール修正管理部１０４は、入出力部３００から修正指示情報を受け取り、一時記憶部１０２に記憶する。
【００９２】
そして、推論ルール修正管理部１０４は、修正指示情報に含まれる事例種別情報が「正事例」か「負事例」かの判定を行う（ステップＳ９）。
【００９３】
「正事例」の場合は（ステップＳ９においてＹｅｓ）、一時記憶部１０２に記憶されている推論ルール修正用オントロジーリストに質問オントロジーを追加する（ステップＳ１０）。
【００９４】
一方、「負事例」の場合（ステップＳ９においてＮｏ）は、推論ルール修正管理部１０４は、質問オントロジーリスト再構成部１０７に質問オントロジーリストの再構成指示を出す（ステップＳ１１）。
【００９５】
次に、推論ルール修正システム１００は、質問オントロジーリスト再構成処理を行う（ステップＳ１１）。ここで、質問オントロジーリスト再構成処理の詳細な内容を表すフローチャートである図１０を参照して本ステップについて説明する。
【００９６】
質問オントロジーリスト再構成部１０７は、一時記憶部１０２から質問オントロジーと質問オントロジーリストとを取得する（ステップＳ１１−１）。
【００９７】
次に、質問オントロジーリスト再構成部１０７は、一時記憶部１０２から初期修正指示情報を取得する（ステップＳ１１−２）。
【００９８】
次に、質問オントロジーリスト再構成部１０７は、初期修正指示情報の事例種別情報が「正事例」か「負事例」かの判定を行う（ステップＳ１１−３）。
【００９９】
初期修正指示情報が「正事例」の場合（ステップＳ１１−３においてＹｅｓ）は、質問オントロジーリスト再構成部１０７は、質問オントロジーの子オントロジー群の中で、属性オントロジーでも条件オントロジーでもないオントロジーを全て質問オントロジーリストの末尾に追加する（ステップＳ１１−４）。この際、オントロジー情報記憶部１０１に記憶されているオントロジー情報を用いる。なお、ステップＳ１１−４における処理は、オントロジー情報記憶部１０１からオントロジー情報を取得することにより行われる。
【０１００】
一方、初期修正指示情報が「負事例」の場合は（ステップＳ１１−３においてＮｏ）、質問オントロジーリスト再構成部１０７は、質問オントロジーの子オントロジー群の中で、修正指示情報に含まれる推論対象の属性オントロジーが子孫オントロジーに含まないものを質問オントロジーリストの末尾に追加する（ステップＳ１１−５）。この際、オントロジー情報記憶部１０１に記憶されているオントロジー情報を用いる。
【０１０１】
最後に、質問オントロジーリスト再構成部１０７は、一時記憶部１０２に質問オントロジー情報を記憶する。
【０１０２】
次に、推論ルール修正管理部１０４は、一時記憶部１０２から質問オントロジーリストを取得する。
【０１０３】
そして、推論ルール修正管理部１０４は、質問オントロジーリストが空であるかを判定する（ステップＳ１２）。
【０１０４】
もし、質問オントロジーリストが空でなければ（ステップＳ１２においてＮｏ）、推論ルール修正管理部１０４は、質問対象算出部１０６に質問対象を算出するよう指示を出す。すなわち、再度ステップＳ６に戻って処理を繰り返す。
【０１０５】
一方、もし、質問オントロジーリストが空であるならば（ステップＳ１２においてＹｅｓ）、推論ルール修正管理部１０４は、推論ルール修正処理部１０８に推論ルールを修正するための指示を出し、ステップＳ１３へと進む。
【０１０６】
次に、推論ルール修正システム１００は、推論ルール修正処理を行う（ステップＳ１３）。ここで、推論ルール修正処理の詳細な内容を表すフローチャートである図１１を参照して本ステップについて説明する。
【０１０７】
推論ルール修正処理部１０８は、一時記憶部１０２から推論ルール修正用オントロジーリストを取得する（ステップＳ１３−１）。そして、推論ルール修正用オントロジーリストの要素をすべて取り出す。
【０１０８】
次に、取り出した推論ルール修正用オントロジーリストの要素のそれぞれについてオントロジーの上下関係をチェックする。そして、上下関係が存在する場合には、下側のオントロジーを削除する（ステップＳ１３−２）。上側のオントロジーを用いて推論ルールを修正するのであれば、これに加えて下側のオントロジーをも用いて推論ルールを修正する必要は無いからである。なお、ステップＳ１３−２における処理は、オントロジー情報記憶部１０１からオントロジー情報を取得することにより行われる。この際、オントロジー情報記憶部１０１に記憶されているオントロジー情報を用いる。
【０１０９】
最後に、推論ルール修正処理部１０８は、取り出した要素の全ての論理和として推論ルールを修正し、推論ルール記憶部２０３に修正後の情報を登録する（ステップＳ１３−３）。
【０１１０】
以上説明した本実施形態の推論ルール修正システム１００についてまとめる。本実施形態の推論ルール修正システム１００は、推論ルール修正管理部１０４によって、入出力部３００より送信された修正指示情報を受け付け、修正指示情報に基づき、初期質問オントロジーリスト作成部１０５に質問オントロジーリストの生成処理、質問推論対象算出部１０６に質問推論対象の算出処理、質問オントロジーリスト再構成部１０７に質問オントロジーの再構成処理、推論ルール修正処理部１０８に推論ルール修正処理を行わせる。
【０１１１】
これにより推論ルール修正システム１００は、ユーザが一部の属性についての推論対象を探して指定した際に、他の属性に関する推論対象を探索し、ユーザに推論ルールの正事例となりえるかを質問することができる。その結果、推論ルール修正システム１００は、ユーザが他の属性に関する推論対象を探す手間を削減することができる、という効果を奏する。
【０１１２】
次に、上述した実施形態をより具体化した実施例を参照して説明を行う。
【０１１３】
図１２は、本発明を実施するための実施例を表すブロック図である。
【０１１４】
図１２に表されるように本実施例は、推論ルール修正システム１０００、推論システム２０００及び利用者端末（クライアント）３０００を含む。ここで、推論ルール修正システム１０００は、推論ルール修正システム１００に相当するものである。また、推論システム２０００は、推論システム２００に相当するものである。更に、利用者端末３０００は、入出力部３００に相当するものである。
【０１１５】
また、推論ルール修正システム１０００は、推論ルール修正システムサーバ１００１とオントロジー情報データベース１００２とを含む。
【０１１６】
更に、推論システム２０００は、推論システムサーバ２００１と、推論結果データベース２００２と、推論ルールデータベース２００３と、推論対象データベース２００４とを含む。なお、図１２では「データベース」の文言を「ＤＢ」と表記する。
【０１１７】
そして、推論ルール修正システムサーバ１００１と推論システムサーバ２００１、推論ルール修正システムサーバ１００１と利用者端末（クライアント）３０００は、それぞれインターネットやイントラネットといった特に種別を限定されない任意のネットワーク４０００を介して接続される。
【０１１８】
なお、図１２において推論ルール修正システムサーバ１００１とオントロジー情報データベース１００２とは別個に表記されているが、推論ルール修正システムサーバ１００１がオントロジー情報データベース１００２を内蔵していても良い。
【０１１９】
また同様に、推論システムサーバ２００１と、推論結果データベース２００２推論対象データベース２００３及び推論ルールデータベース２００４とは別個に表記されているが、推論システムサーバ２００１が推論結果データベース２００２推論対象データベース２００３及び推論ルールデータベース２００４を内蔵していても良い。
【０１２０】
また、推論ルール修正システムサーバ１００１及び推論システムサーバ２００１は、それぞれが単独のサーバ装置により実現されても良いが、複数のサーバ装置が協働することにより実現されても良い。加えて、これらサーバ装置は本実施例特有の装置により実現されても良いが、汎用のサーバ装置に本実施例特有のソフトウェアを組み込むことにより実現されても良い。
【０１２１】
また、推論システムサーバ２００１は、推論ルール修正システムサーバ１００１が推論結果データベース２００２、推論対象データベース２００３及び推論ルールデータベース２００４へアクセスするためのインターフェースに過ぎず、必ずしも推論を行う機構を含んでいる必要はない。本実施例では推論システムサーバ２００１は、推論を行う機構は含んでいない。すなわち、推論システムサーバ２００１は、データベースの運用並びに管理の為のデータベース管理システム（ＤＢＭＳ:database management system）として実現される。また、オントロジー情報データベース１００２、推論結果データベース２００２、推論ルールデータベース２００３及び推論対象データベース２００４はそれぞれが、単独の記憶装置により実現されても良く、それぞれが、複数の記憶装置の協働により実現されても良い。加えて、単独の記憶装置により複数のデータベースが実現されても良い。
【０１２２】
利用者端末３０００は、利用者が使用する端末であり、入出力部３００としての機能を実現する。具体的には、ディスプレイ等の表示装置とキーボードやマウスといった入力装置並びにこれらを制御するコンピュータにより実現される。また、このコンピュータは、本実施例特有の装置により実現されても良いが、汎用のパーソナルコンピュータに本実施例特有のソフトウェアを組み込むことにより実現されても良い。なお、図１２では、利用者端末３０００が１つのみ図示されているが、本実施例では、複数の利用者端末３０００を含んでいても良い。
【０１２３】
次に、図１３〜図１６には各データベースに記憶される情報の具体例が表されている。
【０１２４】
ここで、図１３はオントロジー情報データベース１００２に記憶される情報の具体例を示す図である。図１３の例では、複数のオントロジーを識別するための名称と、各オントロジーの親のオントロジーのオントロジーを識別するための名称が格納されている。例えばオントロジー「ＣＰＵ」の親オントロジーはオントロジー「汎用ＬＳＩ」であり、オントロジー「汎用ＬＳＩ」の親オントロジーはオントロジー「汎用ＩＣ」であり、オントロジー「汎用ＩＣ」の親オントロジーはオントロジー「部品種別」となる。
【０１２５】
また、図１４は推論対象データベース２００４に記憶される情報の具体例を示す図である。図１４の例では、推論対象を識別するための名称と、各推論対象に対応する属性オントロジーを識別するための名称が格納されている。推論対象名は、今回の例のように推論対象が部品であるならば、各部品の型番や商品名といった情報である。また、図１４の例では、例えば「部品Ａ」の属性オントロジーのオントロジー名は「コンデンサ」である。
【０１２６】
更に、図１５は推論ルールデータベース２００３に記憶される情報の具体例を示す図である。図１５の例では、推論ルールの識別子として推論ルールを識別するための名称と、各ルールに対応する条件オントロジーを識別するための名称が格納されている。また、１つのルールに対し複数の条件オントロジーが論理和により対応付けられることもあり得る。例えば、図１５の例では、ルール４の条件オントロジーとしてメモリ及びＣＰＵが論理和により対応付けられている。
【０１２７】
更に、図１６は推論結果データベース２００２に記憶される情報の具体例を示す図である。図１６の例では、各ルールに基づいて推論を行った場合の推論結果が格納されている。具体的には、推論エンジンが或るルールに基づいた推論を実行した場合の推論結果として、推論された推論対象が格納されている。例えばルール１に基づいた推論を実行した場合には推論結果として、推論対象部品Ａ〜部品Ｈが推論されたこととなる。
【０１２８】
次に、本実施例の動作を説明する。
【０１２９】
前提として、利用者端末３０００には、推論結果が表示されている。すなわち、ステップＳ１−１〜ステップＳ１−３までの処理は終了している。ここで利用者端末３０００に表示されている推論結果とは、推論結果データベース２００２に記憶されていた推論結果である。すなわち、推論ルール修正システムサーバ１００１が推論システムサーバ２００１を介して推論結果データベース２００２より取得し、利用者端末３０００に引き渡した情報である。
【０１３０】
まず利用者端末３０００は、修正指示情報をユーザから受け付ける（ステップＳ１−４）。本例では、利用者端末３０００上に表示されている推論結果の中から「ルール３」の「正事例」として「部品Ｈ」が修正指示情報としてユーザから選択されたとする。利用者端末３０００は推論ルール修正システムサーバ１００１に修正指示情報を送信する。
【０１３１】
ここで修正指示情報とは、修正対象ルール「ルール３」、選択推論対象「部品Ｈ」、事例種別「正事例」を組にしたデータである。
【０１３２】
推論ルール修正システムサーバ１００１は、利用者端末３０００より修正指示情報（修正対象ルール「ルール３」、選択推論対象「部品Ｈ」、事例種別「正事例」）を受信する（ステップＳ２）。
【０１３３】
そして推論ルール修正システムサーバ１００１は、修正指示情報を推論ルール修正システムサーバ１００１内部の記憶部（一時記憶部１０２に相当、以下「メモリ」と呼ぶ。）に格納する（ステップＳ３）。また、修正指示情報と全く同じデータを初期修正指示情報としてメモリに格納する。
【０１３４】
次いで、推論ルール修正システムサーバ１００１は、推論対象データベース２００４から読み込まれメモリに格納されている推論対象情報を取得する。そして、取得した推論対象情報から、修正指示情報に含まれている選択推論対象である「部品Ｈ」に関する属性オントロジーを取得する（ステップＳ４−１、ステップＳ４−２−１）。今回は属性オントロジーとして「セラミックコンデンサ」が取得される。
【０１３５】
次いで、推論ルール修正システムサーバ１００１は、推論ルールデータベース２００３から読み込まれメモリに格納されている推論ルール情報を取得する。そして、取得した推論ルール情報から、修正指示情報に含まれている修正対象ルールである「ルール３」に関する条件オントロジーを取得する（ステップＳ４−２−２）。今回は条件オントロジーとして「電解コンデンサ」が取得される。
【０１３６】
次いで、推論ルール修正システムサーバ１００１は、取得した条件オントロジーが複数であるか判定する（ステップＳ４−２−３）。今回は「電解コンデンサ」しか取得していないので（ステップＳ４−２−３においてＮｏ）、何も行わない。
【０１３７】
次いで、推論ルール修正システムサーバ１００１は、利用する条件オントロジーを算出する（ステップＳ４−２−５）。今回は、「電解コンデンサ」を条件オントロジーとして採用する。
【０１３８】
次に、推論ルール修正システムサーバ１００１は、取得した属性オントロジーと算出した条件オントロジーをメモリに格納する（ステップＳ４−２−６）。今回は、属性オントロジーとして「セラミックコンデンサ」を、条件オントロジーとして「電解コンデンサ」をメモリに格納する。
【０１３９】
次いで、推論ルール修正システムサーバ１００１は、メモリに格納されているオントロジー情報を用いて共通の親オントロジーを算出する（ステップＳ４−３）。今回は、図１７のオントロジーツリーに表されるように共通の親オントロジーとして「固定コンデンサ」が算出される。
【０１４０】
次いで、推論ルール修正システムサーバ１００１は、メモリにある修正指示情報を参照し修正指示情報に含まれる事例種別が「正事例」であるか否かを判定する（ステップＳ４−４）。今回は「正事例」であると判定される（ステップＳ４−４においてＹｅｓ）。
【０１４１】
次いで、推論ルール修正システムサーバ１００１は、共通の親オントロジーである「固定コンデンサ」を質問オントロジーとし、この「固定コンデンサ」を構成要素とした質問オントロジーリストを生成する（ステップＳ４−５）。
【０１４２】
そして、質問オントロジー「固定コンデンサ」と、質問オントロジーリスト（質問オントロジーリストに含まれているのは「固定コンデンサ」である。）とをメモリに格納する。
【０１４３】
次いで、推論ルール修正システムサーバ１００１は、推論ルール修正用オントロジーリストを空の状態で生成しメモリに格納する（ステップＳ５−１）。
【０１４４】
そして、推論ルール修正システムサーバ１００１は、メモリに格納されている修正指示情報の事例種別を参照し、「正事例」であるか否か判定する（ステップＳ５−２）。ここでは修正指示情報の事例種別は「正事例」であると判定される（ステップＳ５−２においてＹｅｓ）。「正事例」であると判定されたので、メモリに格納されている条件オントロジー「電解コンデンサ」、属性オントロジー「セラミックコンデンサ」を参照する。そして、これら「電解コンデンサ」と「セラミックコンデンサ」とを推論ルール修正用オントロジーリストに追加する（ステップＳ５−３）。
【０１４５】
次に、推論ルール修正システムサーバ１００１は、質問オントロジーリストの要素から「固定コンデンサ」を削除する（ステップＳ６−１〜ステップＳ６−３）。本処理により、質問オントロジーリストは空となる。
【０１４６】
次に、推論ルール修正システムサーバ１００１は、メモリに格納されている推論対象情報から、質問オントロジー「固定コンデンサ」が属性オントロジーとなっている推論対象を取得する（ステップＳ６−４）。今回は、属性オントロジーが「固定コンデンサ」の推論対象は存在しないので、何も取得されない。
【０１４７】
次に、推論ルール修正システムサーバ１００１は、質問推論対象を取得できたかを判定する（ステップＳ７）。前記の通り今回は質問推論対象を取得できていないので「Ｎｏ」と判定される（ステップＳ７においてＮｏ）。
【０１４８】
次に、推論ルール修正システムサーバ１００１は、メモリに格納されているオントロジー情報を参照して、質問オントロジー「固定コンデンサ」の子オントロジー「電解コンデンサ」及び「チップコンデンサ」を取得する（ステップＳ１１−１）。
【０１４９】
次に、推論ルール修正システムサーバ１００１は、メモリから初期修正指示情報を取得する（ステップＳ１１−２）。
【０１５０】
次に、推論ルール修正システムサーバ１００１は、初期修正指示情報の事例種別情報が「正事例」か「負事例」かの判定を行う（ステップＳ１１−３）。今回は、初期修正指示情報が「正事例」であるので（ステップＳ１１−３においてＹｅｓ）、取得した「電解コンデンサ」、「チップコンデンサ」それぞれについて条件オントロジー「電解コンデンサ」もしくは属性オントロジー「セラミックコンデンサ」であるかをチェックする。
【０１５１】
その結果、「電解コンデンサ」は条件オントロジーであると判明したため、「チップコンデンサ」のみを質問オントロジーリストの末尾に追加する（ステップＳ１１−４）。その結果質問オントロジーリストの要素は「チップコンデンサ」となる。
【０１５２】
次に、推論ルール修正システムサーバ１００１は、質問オントロジーリストが空かどうかを判定する（ステップＳ１２）。今回は、質問オントロジーリストの要素に「チップコンデンサ」があるため、「空ではない」と判定される（ステップＳ１２においてＮｏ）。
【０１５３】
次に、推論ルール修正システムサーバ１００１は、質問オントロジーリストから先頭の要素である「チップコンデンサ」を取得し、「チップコンデンサ」を質問オントロジーとする（ステップＳ６−１、ステップＳ６−２）。
【０１５４】
そして、質問オントロジーリストの要素から「チップコンデンサ」を削除する（ステップＳ６−３）。本処理により、質問オントロジーリストは空となる。
【０１５５】
次に、推論ルール修正システムサーバ１００１は、メモリに格納されている推論対象情報から、質問オントロジー「チップコンデンサ」が属性オントロジーとなっている推論対象を取得する（ステップＳ６−４）。今回は、「部品Ｆ」が推論対象として取得される。
【０１５６】
次に、推論ルール修正システムサーバ１００１は、質問推論対象を取得できたかを判定する（ステップＳ７）。前記の通り今回は質問推論対象として「部品Ｆ」を取得できたので「Ｙｅｓ」と判定される（ステップＳ７においてＹｅｓ）。
【０１５７】
次に、推論ルール修正システムサーバ１００１は、ユーザに質問を行うために利用者端末３０００に質問推論対象「部品Ｆ」を利用者端末３０００に送信する。利用者端末３０００は、質問推論対象「部品Ｆ」が推論ルール「ルール３」の正事例であるか否かを質問する（ステップＳ８）。
【０１５８】
ここで、ユーザは「部品Ｆ」が推論ルール「ルール３」の負事例であると判断し、そのように利用者端末３に入力を行なったとする（ステップＳ９においてＮｏ）。
【０１５９】
利用者端末３０００は推論ルール修正システムサーバ１００１に修正指示情報を送信する。ここで修正指示情報とは、修正対象ルール「ルール３」、選択推論対象「部品Ｆ」、事例種別「負事例」を組にしたデータである。
【０１６０】
推論ルール修正システムサーバ１００１は、利用者端末３０００より修正指示情報（修正対象ルール「ルール３」、選択推論対象「部品Ｆ」、事例種別「負事例」）を受信する（ステップＳ１１−１、ステップＳ１１−２）。
【０１６１】
そして、推論ルール修正システムサーバ１００１は、受け取った修正指示情報が「正事例」であるか、それとも「負事例」であるかを判定する（ステップＳ１１−３）。今回は、「負事例」と判定される（ステップＳ１１−３においてＮｏ）。
【０１６２】
次に、推論ルール修正システムサーバ１００１は、メモリに格納されているオントロジー情報を参照して、質問オントロジー「チップコンデンサ」の子オントロジー「セラミックコンデンサ」を取得する。次に、取得した「セラミックコンデンサ」について条件オントロジー「電解コンデンサ」もしくは属性オントロジー「セラミックコンデンサ」であるかをチェックする。その結果、「セラミックコンデンサ」は属性オントロジー「セラミックコンデンサ」判明したため、質問オントロジーリストには何も追加しない（ステップＳ１１−４）。これにより、質問オントロジーリストは空となる。
【０１６３】
次に、推論ルール修正システムサーバ１００１は、質問オントロジーリストが空かどうかを判定する（ステップＳ１２）。今回は、質問オントロジーリストは「空である」と判定される（ステップＳ１２においてＹｅｓ）。
【０１６４】
次に、推論ルール修正システムサーバ１００１は、メモリに格納されている推論ルール修正用オントロジーリストを参照し、推論ルール修正用オントロジーの上下関係を判定する（ステップＳ１３−１、ステップＳ１３−２）。
【０１６５】
今回、推論ルール修正用オントロジーは「電解コンデンサ」、「セラミックコンデンサ」であり、これらオントロジー間には上下関係は存在しないので、何もしない。
【０１６６】
最後に、推論ルール修正システムサーバ１００１は、修正対象ルールを推論ルール修正用オントロジーリストの要素の論理和に修正する。今回は、修正対象ルール「ルール３」の条件オントロジーを推論ルール修正用オントロジーの論理和である「電解コンデンサ」または「セラミックコンデンサ」とする。
【０１６７】
そして、推論ルール修正システムサーバ１００１は、推論システムサーバ２００１に「ルール３」の条件を「電解コンデンサ」ｏｒ「セラミックコンデンサ」に修正するように命令を出す。
【０１６８】
推論システムサーバ２００１は、推論ルール記憶部２００４の該当部分のルールを修正する（ステップＳ１３−３）。
【０１６９】
以上説明した本実施形態並びに本実施例によれば、推論ルール修正の為に正事例／負事例の入力を用いる推論ルール修正において、入力する正事例若しくは負事例を探す際の手間を軽減することが可能となる。
【０１７０】
その理由は、一部の或る属性についての推論対象を探して指定することで、この或る属性以外の他の属性に関する推論対象に対して正事例／負事例の入力が行えるからである。より具体的に言うと、推論ルール修正システムが推論ルールを修正するにあたり、推論ルールの他の条件となりえる質問するべき属性を算出し、その属性を持つ推論対象のなかで代表的なものを算出し、算出された推論対象をユーザに質問することで、推論ルールの修正を行うからである。
【０１７１】
なお、上記の推論ルール修正システム及び推論システムのそれぞれは、ハードウェア、ソフトウェア又はこれらの組合わせにより実現することができる。また、上記の推論ルール修正システム及び推論システムが協働することにより行なわれる推論ルール修正方法も、ハードウェア、ソフトウェア又はこれらの組合わせにより実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
【０１７２】
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば、光磁気ディスク）、ＣＤ−ＲＯＭ(Read Only Memory)、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ(Programmable ROM)、ＥＰＲＯＭ(Erasable PROM)、フラッシュＲＯＭ、ＲＡＭ(random access memory）)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【０１７３】
また、上述した実施形態は、本発明の好適な実施形態ではあるが、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
【０１７４】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【０１７５】
（付記１）  推論システムにて利用される推論ルールを修正する推論ルール修正システムであって、
修正対象とする推論ルールを参照したユーザから推論ルールの修正指示情報を受け付け、受け付けた該修正指示に含まれる或る属性に基づいて、前記或る属性以外の他の属性に属する推論対象を算出し、算出した該推論対象について前記ユーザに質問することを特徴とする推論ルール修正システム。
【０１７６】
（付記２）  付記１に記載の推論ルール修正システムであって、
前記算出した推論対象についての前記質問に対する回答が負事例である場合には、前記算出した推論対象に基づいて他の推論対象を算出し、算出した前記他の推論対象について新たに質問を行うことを特徴とする推論ルール修正システム。
【０１７７】
（付記３）  付記１又は２に記載の推論ルール修正システムであって、
前記算出した推論対象についての前記質問に対する回答が正事例である場合には、前記算出した推論対象を前記修正対象とする推論ルールの新たな条件属性とすることを特徴とする推論ルール修正システム。
【０１７８】
（付記４）  付記１乃至３の何れか１に記載の推論ルール修正システムであって、
前記修正指示に含まれる属性との親子関係に基づいて前記他の属性となる属性を算出する手段と、
前記算出した他の属性に属する代表的な推論対象を算出する手段と、
前記代表的な推論対象についての前記質問の結果に応じて、新たに前記他の属性を算出する手段と、
を備えることを特徴とする推論ルール修正システム。
【０１７９】
（付記５）  付記１乃至４の何れか１に記載の推論ルール修正システムであって、
前記修正対象とする推論ルールを用いて推論を実行する推論実行手段を更に備え、
前記推論実行手段の推論結果に基づいて前記修正対象とする推論ルールを修正し、前記推論実行手段は修正後の推論ルールを用いてさらに推論を実行することを特徴とする推論ルール修正システム。
【０１８０】
（付記６）  推論システムにて利用される推論ルールを修正する推論ルール修正方法であって、
修正対象とする推論ルールを参照したユーザから推論ルールの修正指示情報を受け付け、受け付けた該修正指示に含まれる或る属性に基づいて、前記或る属性以外の他の属性に属する推論対象を算出し、算出した該推論対象について前記ユーザに質問することを特徴とする推論ルール修正方法。
【０１８１】
（付記７）  推論システムにて利用される推論ルールを修正する推論ルール修正装置としてコンピュータを機能させる推論ルール修正プログラムであって、
修正対象とする推論ルールを参照したユーザから推論ルールの修正指示情報を受け付け、受け付けた該修正指示に含まれる或る属性に基づいて、前記或る属性以外の他の属性に属する推論対象を算出し、算出した該推論対象について前記ユーザに質問することを特徴とする推論ルール修正装置としてコンピュータを機能させることを特徴とする推論ルール修正プログラム。
【０１８２】
（付記８）  属性の親子関係をオントロジー情報として記憶するオントロジー情報記憶手段と、
推論結果情報と推論ルール情報と推論対象情報と修正指示情報と質問オントロジー情報と推論ルール修正用オントロジー情報とを記憶する一時記憶手段と、
推論結果情報、推論ルール情報、推論対象情報を受け付け前記一時記憶手段に記憶する推論結果受信手段と、
推論ルールの修正指示情報を受け付け、質問の生成処理と推論ルールの修正処理との処理の切り替えを管理する推論ルール修正管理手段と、
推論ルールの条件と修正推論対象の属性との共通親オントロジーを見つけ、質問するべき属性の初期候補を算出する初期質問オントロジー算出手段と、
質問するべき属性を持つ代表的な推論対象を算出する質問推論対象算出手段と、
修正指示情報に基づき推論ルールの他の条件となりえる質問するべき属性の候補群を算出する質問オントロジーリスト再構成手段と、
修正指示情報に基づき推論ルールを修正する推論ルール修正手段と
を備えることを特徴とする推論ルール修正システム。
【０１８３】
（付記９）  推論の結果を記憶しておくための推論結果記憶手段と、
推論した対象を記憶しておくための推論対象記憶手段と、
推論のルールを記憶しておくための推論ルール記憶手段と
推論結果の表示や推論ルールの修正指示内容の入力をするための入出力手段とを備えた
付記８記載の推論ルール修正システム。
【０１８４】
（付記１０）  属性の親子関係をオントロジー情報として記憶するオントロジー情報記憶手段と、
推論結果情報と推論ルール情報と推論対象情報と修正指示情報と質問オントロジー情報と推論ルール修正用オントロジー情報とを記憶する一時記憶手段と、
推論結果情報、推論ルール情報、推論対象情報を受け付け前記一時記憶手段に記憶する推論結果受信手段と、
推論ルールの修正指示情報を受け付け、質問の生成処理と推論ルールの修正処理との処理の切り替えを管理する推論ルール修正管理手段と、
推論ルールの条件と修正推論対象の属性との共通親オントロジーを見つけ、質問するべき属性の初期候補を算出する初期質問オントロジー算出手段と、
質問するべき属性を持つ代表的な推論対象を算出する質問推論対象算出手段と、
修正指示情報に基づき推論ルールの他の条件となりえる質問するべき属性の候補群を算出する質問オントロジーリスト再構成手段と、
修正指示情報に基づき推論ルールを修正する推論ルール修正手段と
を備えることを特徴とする推論ルール修正装置。
【０１８５】
（付記１１）  推論の結果を記憶しておくための推論結果記憶手段と、
推論した対象を記憶しておくための推論対象記憶手段と、
推論のルールを記憶しておくための推論ルール記憶手段と
推論結果の表示や推論ルールの修正指示内容の入力をするための入出力手段とを備えた
付記１０記載の推論ルール修正装置。
【０１８６】
（付記１２）  属性の親子関係をオントロジー情報として記憶するオントロジー情報記憶ステップと、
推論結果情報と推論ルール情報と推論対象情報と修正指示情報と質問オントロジー情報と推論ルール修正用オントロジー情報とを記憶する一時記憶ステップと、
推論結果情報、推論ルール情報、推論対象情報を受け付け前記一時記憶手段に記憶する推論結果受信ステップと、
推論ルールの修正指示情報を受け付け、質問の生成処理と推論ルールの修正処理との処理の切り替えを管理する推論ルール修正管理ステップと、
推論ルールの条件と修正推論対象の属性との共通親オントロジーを見つけ、質問するべき属性の初期候補を算出する初期質問オントロジー算出ステップと、
質問するべき属性を持つ代表的な推論対象を算出する質問推論対象算出ステップと、
修正指示情報に基づき推論ルールの他の条件となりえる質問するべき属性の候補群を算出する質問オントロジーリスト再構成ステップと、
修正指示情報に基づき推論ルールを修正する推論ルール修正ステップと
を含むことを特徴とする推論ルール修正方法。
【０１８７】
（付記１３）  推論の結果を記憶しておくための推論結果記憶ステップと、
推論した対象を記憶しておくための推論対象記憶ステップと、
推論のルールを記憶しておくための推論ルール記憶ステップと
推論結果の表示や推論ルールの修正指示内容の入力をするための入出力ステップとを含むことを特徴とする
付記１２記載の推論ルール修正方法。
【０１８８】
（付記１４）  コンピュータに
属性の親子関係をオントロジー情報として記憶するオントロジー情報記憶処理と、
推論結果情報と推論ルール情報と推論対象情報と修正指示情報と質問オントロジー情報と推論ルール修正用オントロジー情報とを記憶する一時記憶処理と、
推論結果情報、推論ルール情報、推論対象情報を受け付け前記一時記憶手段に記憶する推論結果受信処理と、
推論ルールの修正指示情報を受け付け、質問の生成処理と推論ルールの修正処理との処理の切り替えを管理する推論ルール修正管理処理と、
推論ルールの条件と修正推論対象の属性との共通親オントロジーを見つけ、質問するべき属性の初期候補を算出する初期質問オントロジー算出処理と、
質問するべき属性を持つ代表的な推論対象を算出する質問推論対象算出処理と、
修正指示情報に基づき推論ルールの他の条件となりえる質問するべき属性の候補群を算出する質問オントロジーリスト再構成処理と、
修正指示情報に基づき推論ルールを修正する推論ルール修正処理と
を実行させるための推論ルール修正プログラム。
【０１８９】
（付記１５）  推論の結果を記憶しておくための推論結果記憶処理と、
推論した対象を記憶しておくための推論対象記憶処理と、
推論のルールを記憶しておくための推論ルール記憶処理と
推論結果の表示や推論ルールの修正指示内容の入力をするための入出力処理とを
コンピュータにさらに実行させることを特徴とする付記１４記載の推論ルール修正プログラム。
【０１９０】
（付記１６）  推論結果の表示や推論ルールの修正指示内容の入力をするための入出力手段
を備えたことを特徴とする端末。
【０１９１】
（付記１７）  属性の親子関係をオントロジー情報として記憶するオントロジー情報記憶手段と、
推論結果情報と推論ルール情報と推論対象情報と修正指示情報と質問オントロジー情報と推論ルール修正用オントロジー情報とを記憶する一時記憶手段と、
推論結果情報、推論ルール情報、推論対象情報を受け付け前記一時記憶手段に記憶する推論結果受信手段と、
推論ルールの修正指示情報を受け付け、質問の生成処理と推論ルールの修正処理との処理の切り替えを管理する推論ルール修正管理手段と、
推論ルールの条件と修正推論対象の属性との共通親オントロジーを見つけ、質問するべき属性の初期候補を算出する初期質問オントロジー算出手段と、
質問するべき属性を持つ代表的な推論対象を算出する質問推論対象算出手段と、
修正指示情報に基づき推論ルールの他の条件となりえる質問するべき属性の候補群を算出する質問オントロジーリスト再構成手段と、
修正指示情報に基づき推論ルールを修正する推論ルール修正手段と
を備えたことを特徴とするサーバ。
【０１９２】
（付記１８）  推論の結果を記憶しておくための推論結果記憶手段と、
推論した対象を記憶しておくための推論対象記憶手段と、
推論のルールを記憶しておくための推論ルール記憶手段とを
さらに備えたことを特徴とする付記１７記載のサーバ。
【産業上の利用可能性】
【０１９３】
本発明は、推論エンジンを搭載する推論装置を管理する推論ルール修正装置や、推論ルール修正装置をコンピュータに実現するためのプログラムといった用途に好適である。
【符号の説明】
【０１９４】
１００、１０００  推論ルール修正システム
１０１  オントロジー情報記憶部
１０２  一時記憶部
１０３  推論結果受信部
１０４  推論ルール修正管理部
１０５  初期質問オントロジーリスト作成部
１０６  質問推論対象算出部
１０７  質問オントロジーリスト再構成部
１０８  推論ルール修正処理部
２００、２０００  推論システム
２０１  推論結果記憶部
２０２  推論対象記憶部
２０３  推論ルール記憶部
３００  入出力部
１００１  推論ルール修正システムサーバ
１００２  オントロジー情報データベース
２００１  推論システムサーバ
２００２  推論結果データベース
２００３  推論ルールデータベース
２００４  推論対象データベース
３０００  利用者端末
【図１】
2014164666.tif 000003
【図２−１】
2014164666.tif 000004
【図２−２】
2014164666.tif 000005
【図３】
2014164666.tif 000006
【図４】
2014164666.tif 000007
【図５】
2014164666.tif 000008
【図６】
2014164666.tif 000009
【図７】
2014164666.tif 000010
【図８】
2014164666.tif 000011
【図９】
2014164666.tif 000012
【図１０】
2014164666.tif 000013
【図１１】
2014164666.tif 000014
【図１２】
2014164666.tif 000015
【図１３】
2014164666.tif 000016
【図１４】
2014164666.tif 000017
【図１５】
2014164666.tif 000018
【図１６】
2014164666.tif 000019
【図１７】
2014164666.tif 000020
【図１８】
2014164666.tif 000021