(57)【要約】【課題】クラスの絞り込み検出ができる。【解決手段】検出プログラムは、階層構造を含む知識ベースの個々の対象クラスのうちの特定のクラス、及び対象クラスと背反する否定クラスにおける特定のクラスに対応するクラスのうちいずれかに、入力クラスが該当するか否かを判定する処理をコンピュータに実行させる。検出プログラムは、入力クラスが特定のクラス及び対応するクラスのいずれにも該当しないと判定された場合に、判定された特定のクラスに関する情報を出力する処理をコンピュータに実行させる。【選択図】図４
2019028895.tif 000002
【特許請求の範囲】
【請求項１】
階層構造を含む知識ベースの個々の対象クラスのうちの特定のクラス、及び前記対象クラスと背反する否定クラスにおける前記特定のクラスに対応するクラスのうちいずれかに、入力クラスが該当するか否かを判定し、
前記判定する処理において、前記入力クラスが前記特定のクラス及び前記対応するクラスのいずれにも該当しないと判定された場合に、判定された前記特定のクラスに関連する情報を出力する
処理をコンピュータに実行させることを特徴とする検出プログラム。
【請求項２】
前記判定する処理は、前記入力クラスが前記特定のクラス及び前記対応するクラスのいずれにも該当しないと判定した場合に、前記特定のクラスの下位クラスが存在するか否かをさらに判定し、前記下位クラスが存在すると判定された場合、前記下位クラス、及び前記否定クラスにおける前記下位クラスに対応するクラスのうちいずれかに、前記入力クラスが該当するか否かを判定する処理を繰り返し、
前記出力する処理は、前記下位クラスが存在しないと判定された場合に、判定された前記特定のクラスに関連する情報を出力することを特徴とする請求項１に記載の検出プログラム。
【請求項３】
前記対象クラスを、下位クラスが存在しない単一概念を定義した基本クラスと論理式結合とで定義し、さらに前記否定クラスを、前記基本クラスと前記対象クラスの論理式集合と背反する論理式集合とで定義する処理をさらにコンピュータに実行させ、
前記出力する処理は、前記下位クラスが存在しないと判定されたクラスである基本クラスを、未定義のクラスとして出力することを特徴とする請求項２に記載の検出プログラム。
【請求項４】
前記入力クラスが前記特定のクラス及び前記対応するクラスのうちいずれかに該当すると判定された場合に、当該該当すると判定されたクラスより下位のクラス、及び前記該当すると判定されたクラスに対応する背反するクラス以下のクラスを、以後の前記判定する処理の対象から除外することを特徴とする請求項１乃至３のいずれか１つに記載の検出プログラム。
【請求項５】
前記判定する処理は、前記対象クラスの階層構造における最上位のクラスを、前記特定のクラスとして処理を行うことを特徴とする請求項１乃至４のいずれか１つに記載の検出プログラム。
【請求項６】
コンピュータが、
階層構造を含む知識ベースの個々の対象クラスのうちの特定のクラス、及び前記対象クラスと背反する否定クラスにおける前記特定のクラスに対応するクラスのうちいずれかに、入力クラスが該当するか否かを判定し、
前記判定する処理において、前記入力クラスが前記特定のクラス及び前記対応するクラスのいずれにも該当しないと判定された場合に、判定された前記特定のクラスに関連する情報を出力する
処理を行うことを特徴とする検出方法。
【請求項７】
階層構造を含む知識ベースの個々の対象クラスのうちの特定のクラス、及び前記対象クラスと背反する否定クラスにおける前記特定のクラスに対応するクラスのうちいずれかに、入力クラスが該当するか否かを判定する判定部と、
前記判定部において、前記入力クラスが前記特定のクラス及び前記対応するクラスのいずれにも該当しないと判定された場合に、判定された前記特定のクラスに関連する情報を出力する出力部と
を有する検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検出プログラム、検出方法及び検出装置に関する。
【背景技術】
【０００２】
知識ベースと推論機構を用いて、取得した情報から結果を導き出すことにより、専門家による施行をコンピュータに行わせるエキスパートシステムが知られている。例えば、限定条件の論理値の「真」、「偽」に、「不明」を加えた３論理値を用いる技術が知られている。また、ある診断結果を同定するための知識が１つのオブジェクトにカプセル化されることにより、新しいオブジェクトを作成し、その診断結果を同定するための診断対象の情報を属性の値として与えることにより診断結果を追加できる技術も知られている。さらに、与えられた複数のデータから簡単化によって作成した和積標準形の各項を、データを分類するための概念として取り出し、各データを、取り出された各項を満たすデータごとに重複を許して分類する技術が知られている。当該技術においては、項ごとの概念に対応する各概念クラスを作成して、概念階層を作成する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０２−２０４８３５号公報
【特許文献２】特開平０８−０９５７８８号公報
【特許文献３】特開平１０−２７５０８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、上記技術においては、入力クラスに「該当」する検出対象クラスを検出するが、入力クラスで未定になっていたことで、入力クラスが非該当になった対象クラスの定義は検出しない。例えば、上記技術においては、条件が「未定」であるために入力クラスに該当しない場合も、条件が「否定」された場合も、実行結果は同様に「非該当」となるので、未定義の条件がどれであるかを特定することができない。
【０００５】
一つの側面では、クラスの絞り込み検出ができる検出プログラム、検出方法及び検出装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
一つの態様において、検出プログラムは、階層構造を含む知識ベースの個々の対象クラスのうちの特定のクラス、及び対象クラスと背反する否定クラスにおける特定のクラスに対応するクラスのうちいずれかに、入力クラスが該当するか否かを判定する処理をコンピュータに実行させる。検出プログラムは、入力クラスが特定のクラス及び対応するクラスのいずれにも該当しないと判定された場合に、判定された特定のクラスに関する情報を出力する処理をコンピュータに実行させる。
【発明の効果】
【０００７】
一つの態様によれば、クラスの絞り込み検出ができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、対象クラスの一例を示す図である。
【図２Ａ】図２Ａは、入力クラスが対象クラスに非該当となる一例を示す図である。
【図２Ｂ】図２Ｂは、入力クラスが対象クラスに非該当となる別の一例を示す図である。
【図３Ａ】図３Ａは、実施例１における対象クラスの否定クラスの一例を示す図である。
【図３Ｂ】図３Ｂは、実施例１における対象クラスの否定クラスの別の一例を示す図である。
【図４】図４は、実施例１における検出システムの一例を示す図である。
【図５】図５は、実施例１におけるクラスリストの一例を示す図である。
【図６】図６は、実施例１における病名マスタの一例を示す図である。
【図７】図７は、実施例１における患者マスタの一例を示す図である。
【図８】図８は、実施例１における患者選択画面の一例を示す図である。
【図９Ａ】図９Ａは、実施例１における対象クラスの一例を示す図である。
【図９Ｂ】図９Ｂは、実施例１における対象クラスの否定クラスの一例を示す図である。
【図１０】図１０は、実施例１における検出処理の途中経過の一例を示す図である。
【図１１】図１１は、実施例１における検出処理の途中経過の別の一例を示す図である。
【図１２】図１２は、実施例１における検出処理の途中経過の別の一例を示す図である。
【図１３】図１３は、実施例１における検出処理の途中経過の別の一例を示す図である。
【図１４】図１４は、実施例１における検出処理の結果の一例を示す図である。
【図１５】図１５は、実施例１における推論結果画面の一例を示す図である。
【図１６】図１６は、実施例１における症例特定画面の一例を示す図である。
【図１７】図１７は、実施例１における検出処理の一例を示すフローチャートである。
【図１８】図１８は、検出プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【０００９】
以下に、本願の開示する検出プログラム、検出方法及び検出装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、以下に示す各実施例は、矛盾を起こさない範囲で適宜組み合わせても良い。なお、以下の実施例において、先に説明した図面に示す部位と同一の部位には同一の符号を付し、重複する説明は省略する。
【実施例１】
【００１０】
本実施例における、後に説明する検出装置１００は、例えば診療ガイドライン等に基づいて、入力クラスの推論処理を行い、推論処理の結果を出力する。診療ガイドラインは、医療現場において適切な診断と治療を補助することを目的に、専門家が疾病の予防・診断、治療、予後推定など診療の根拠や手順についで最新の情報をまとめた指針である。本実施例における診療ガイドラインは、例えば、文章で記載された診断条件と、診断条件に合致する場合において、処方することが推奨される薬や、生活習慣の改善などの対処方法との組み合わせを含む。本実施例における検出装置１００は、例えば図１に示すような対象クラスに対する入力クラスの推論処理を行い、推論処理の結果に合致した対処方法などを出力する。図１は、対象クラスの一例を示す図である。図１は、本実施例における検出装置１００を用いて、患者の症例を推論する場合における対象クラスの一例を示す。
【００１１】
本実施例において、対象クラスは、診療ガイドライン等に示される診断条件等を、当該診断条件に含まれる、単一概念である個別の条件を論理結合することにより生成される。例えば、図１は、「脳梗塞で、ＳＢＰ値が２００以上」という文章で記載された診断条件に基づいて生成される対象クラスの一例である。なお、本実施例における検出装置１００は、例えば入力クラスが図１に示される対象クラスに合致すると判定した場合、「脳梗塞で、ＳＢＰ値が２００以上」という診断条件に対応する処方薬や対処方法などを出力する。また、以下において、診断条件に含まれる個別の条件であり、それ以上細分化することができない単一概念を「基本クラス」と表記する場合がある。
【００１２】
図１に示す対象クラス１１１１は、「脳梗塞である」という基本クラス１１０１と、「ＳＢＰ値が２００以上」という基本クラス１１０２とのＡＮＤ結合により示される。すなわち、基本クラス１１０１を「Ａ」、基本クラス１１０２を「Ｂ」とすると、対象クラス１１１１は「Ａ  ａｎｄ  Ｂ」という論理式により示される。なお、以下において、各基本クラスは「Ａ」などの英大文字で示すものとする。
【００１３】
図１に示す対象クラス１１１１は、入力クラスが、「Ａ：病名、脳梗塞」という基本クラス１１０１と、「Ｂ：２００＜＝ＳＢＰ値」という基本クラス１１０２との両方が該当する（「ｉｓ−ａ」関係にある）場合に「該当」となる。すなわち、対象クラス１１１１は、入力クラスが、基本クラス１１０１又は１１０２のうちいずれか一方が非該当となる場合には「非該当」となる。
【００１４】
ところで、出力結果が「非該当」となる場合には、入力クラスに含まれる条件が未定であり、いずれかの基本クラスに該当するか否かが不明である場合と、入力クラスに含まれる条件が、いずれかの基本クラスの否定に該当する場合とがある。図２Ａは、入力クラスが対象クラスに非該当となる一例を示す図である。図２Ａは、入力クラス２２００が「病名が慢性脳梗塞」であり、ＳＢＰ値の検査結果は不明である場合の推論結果を示す。
【００１５】
図２Ａが示す例においては、後に説明する病名マスタ１２３に基づいて、病名は「脳梗塞」に含まれると判定されるため、入力クラス２２００は基本クラスＡ１１０１に「該当」すると推論される。一方、ＳＢＰ値の検査結果は未定であるため、入力クラス２２００は基本クラスＢ１１０２については「非該当」であると判定される。この場合、図２Ａに示す例においては、ベン図において斜め線がクロスする範囲１１１１に入力クラス２２００の推論結果２２０１（縦線で示される範囲）が含まれるか否かが未定である。この結果、入力クラス２２００は、対象クラス１１１１について「非該当」と推論される。
【００１６】
次に、図２Ｂは、入力クラスが対象クラスに非該当となる別の一例を示す図である。図２Ｂは、入力クラス３２００が「病名がラクナ梗塞、ＳＢＰ値の検査結果は１９０」である場合の推論結果を示す。
【００１７】
図２Ｂが示す例においても、病名マスタ１２３に基づいて、病名は「脳梗塞」に含まれると判定されるため、入力クラス３２００は基本クラスＡ１１０１に「該当」すると推論される。一方、ＳＢＰ値の検査結果「１９０」は、基本クラスＢ１１０２については「非該当」であると判定される。この場合、図２Ｂに示す例においては、ベン図において斜め線がクロスする範囲１１１１に入力クラス３２００の推論結果３２０１（縦線で示される範囲）が含まれない。この結果、入力クラス３２００は、対象クラス１１１１についても「非該当」と推論される。
【００１８】
以上説明した例においては、入力クラス２２００及び３２００のいずれについても、対象クラス１１１１に対して「非該当」であると判定されるが、条件が未定であるのか否定されるのかは不明である。また、以上の例においては、条件が未定である場合において、どの条件が判明すれば対象クラス１１１１に該当するか否かを判定できるかが不明である。例えば、入力クラス２２００の推論結果２２０１は、対象クラス１１１１に該当する余地があるが、入力クラス３２００の推論結果３２０１は、対象クラス１１１１の「否定」に該当する。しかし、以上説明した例においては、いずれの入力クラスについても、出力結果としては「非該当」であることが示されるだけで、条件が未定であるのか否定されるのかは不明である。
【００１９】
一方、本実施例においては、対象クラス１１１１の「否定クラス」を生成し、入力クラスが否定クラスに該当するか否かについてさらに判定する。なお、本実施例における否定クラス「！Ｒ」は、対象クラスに含まれる基本クラスに背反するクラスを論理結合することにより生成される。例えば、「Ａ  ａｎｄ  Ｂ」である対象クラス１１１１の否定クラス「！Ｒ」は、「！Ａ  ｏｒ  ！Ｂ」となる。なお、以下において、クラスＸに背反するクラスを、「！Ｘ」又は「¬Ｘ」と表現する場合がある。また、以下において、対象クラスの否定クラスを、単に「否定クラス」と表記する場合がある。
【００２０】
図３Ａは、実施例１における対象クラスの否定クラスの一例を示す図である。図３Ａに示すように、否定クラス４１１１は、基本クラスＡ１１０１に背反する基本クラス４１０１「！Ａ：病名が脳梗塞ではない」と、基本クラスＢ１１０２に背反する基本クラス４１０２「！Ｂ：ＳＢＰ値＜２００」とのＯＲ結合４２１１により生成される。すなわち、図３Ａに示す否定クラス４１１１は、入力クラスが、基本クラス４１０１と、基本クラス４１０２との少なくともいずれかに該当する（「ｈａｓ−ａ」関係にある）場合（横線で示す範囲４９１１に該当しない場合）に「該当」となる。
【００２１】
例えば、入力クラス２２００は、基本クラス４１０１には非該当であると判定され、基本クラス４１０２に対しても「非該当」であると判定される。この場合、入力クラス２２００は、否定クラス４１１１に対する出力結果は「非該当」となる。
【００２２】
一方、図３Ｂは、実施例１における対象クラスの否定クラスの別の一例を示す図である。図３Ｂに示すように、入力クラス３２００は、基本クラス４１０１には非該当であると判定されるが、基本クラス４１０２に対しては「該当」すると判定される。この場合、入力クラス３２００は、否定クラス４１１１に対しては「該当」であると判定される。
【００２３】
例えば、入力クラス２２００の推論結果４２２１（縦線で示される範囲）は、図３Ａに示すように、ＯＲ結合４２１１に含まれない範囲４９１１に該当するか否かが未定である。この場合、入力クラス２２００は、否定クラス４１１１に「非該当」であると判定される。一方、入力クラス３２００の推論結果４２３１（縦線で示される範囲）は、図３Ｂに示すように、ＯＲ結合４２１１に含まれない範囲４９１１に該当することはない。このため、入力クラス３２００は、否定クラス４１１１に「該当」すると判定される。すなわち、本実施例においては、対象クラス１１１１に対してはいずれも「非該当」であった入力クラス２２００及び３２００が、否定クラス４１１１に対しては「非該当」と「該当」とに推論結果が分かれる。例えば、否定クラスに対する出力結果が「非該当」である場合、入力クラスの一部の条件が未定であることが特定でき、「該当」である場合、入力クラスが対象クラスに対して否定されたことを特定できる。これにより、入力クラスが対象クラスに「非該当」であると出力された場合において、入力クラスのうち一部の条件が未定であるのか、又は入力クラスが否定されたのかを判別することができる。すなわち、入力クラス３２００については、入力クラスが否定されたことを特定でき、入力クラス２２００については、入力クラスのうち一部の条件が未定であることを特定できる。
【００２４】
さらに、本実施例における検出装置１００は、入力クラスが、対象クラス及び否定クラスのいずれにも「非該当」である場合、各クラスの下位クラスに対して、推論処理を繰り返す。例えば、図２Ａが示す例においては、検出装置１００は、入力クラス２２００が対象クラス１１１１に対して「非該当」であるので、対象クラス１１１１の下位クラスである基本クラス１１０１及び１１０２に対して、入力クラスの推論処理を繰り返す。この際、検出装置１００は、図３Ａに示す対象クラス１１１１に対応する否定クラス４１１１の下位クラスである基本クラス４１０１及び４１０２に対しても、入力クラスの推論処理を繰り返す。
【００２５】
図２Ａが示す例においては、検出装置１００は、入力クラス２２００は基本クラス１１０１には「該当」し、基本クラス１１０２には「非該当」であると判定する。また、図３Ａが示す例においては、検出装置１００は、入力クラス２２００が、基本クラス１１０１に対応する基本クラス４１０１には「非該当」であり、基本クラス１１０２に対応する基本クラス１１０２にも「非該当」であると判定する。すなわち、入力クラス２２００は、対象クラスの下位クラスである基本クラス１１０２に対しても、否定クラスの下位クラスである基本クラス４１０２に対しても「非該当」であると判定される。この場合、検出装置１００は、入力クラス２２００に対して「非該当」である基本クラス１１０２及び基本クラス４１０２を、未定クラスとして出力する。これにより、基本クラス１１０２及び基本クラス４１０２に関する条件、すなわち「ＳＢＰ値」が未定であり、ＳＢＰ値が判明すれば対象クラス１１１１に該当するか否かを判定できることを特定できる。
【００２６】
以上説明したように、検出装置は、階層構造を持つクラス及びその否定クラスに入力クラスが該当しない場合、各下位クラスへ推論を繰り返し、「非該当」である基本クラスを未定クラスとして出力するので、どの基本クラスに関する条件が未定であるかを特定できる。これにより、例えば推論結果を確認した医師は、どの項目を特定すれば対象クラスに該当するかを知ることができる。
【００２７】
［機能ブロック］
次に、本実施例における検出システムについて、図４を用いて説明する。図４は、実施例１における検出システムの一例を示す図である。図４に示す検出システム１は、検出装置１００と、利用者端末９００とを有する。
【００２８】
本実施例において、検出装置１００及び利用者端末９００は、無線又は有線のネットワークＮを通じて通信可能に接続される。なお、図４における利用者端末９００の台数は一例であり、検出システム１が任意の数の利用者端末９００を含むような構成であってもよい。
【００２９】
図４に示す利用者端末９００は、検出装置１００による検出処理の利用者により利用される。利用者端末９００は、利用者により入力された情報を検出装置１００に送信し、検出装置１００から受信した情報を出力する。なお、利用者端末９００は、例えばスマートフォンやタブレット、ノート型コンピュータなどの携帯可能なコンピュータであるが、これに限られず、据置型のコンピュータなどであってもよい。
【００３０】
本実施例における検出装置１００は、図４に示すように、通信部１１０と、記憶部１２０と、制御部１３０とを有する。なお、本実施例における検出装置１００は、例えば利用者端末９００から処理要求を受け付けるサーバコンピュータ等のコンピュータであるが、これに限られない。検出装置１００は、例えばパーソナルコンピュータ等のスタンドアロン型コンピュータであってもよく、またスマートフォンやタブレット、ノート型コンピュータなどの携帯可能なコンピュータであってもよい。
【００３１】
通信部１１０は、有線又は無線を問わず、利用者端末９００など、その他のコンピュータ等との通信を制御する。通信部１１０は、例えばＮＩＣ（Network  Interface  Card）等の通信インタフェース等である。
【００３２】
記憶部１２０は、例えば制御部１３０が実行するプログラムや、各種データなどを記憶する。また、記憶部１２０は、知識ベース１２１、クラス格納部１２２、病名マスタ１２３及び患者マスタ１２４を有する。記憶部１２０は、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリなどの半導体メモリ素子や、ＨＤＤ（Hard  Disk  Drive）などの記憶装置に対応する。
【００３３】
知識ベース１２１は、診療ガイドラインに含まれる診断条件と処方薬や対処方法などとの組み合わせなどの各種の情報を記憶する。知識ベース１２１は、例えば「脳梗塞で、ＳＢＰ値が２００以上」等の診断条件と、診断条件に対応する処方薬や対処方法との組み合わせを記憶する。なお、知識ベース１２１には、例えば通信部１１０を通じて利用者端末９００又は外部のデータベース等から受信した情報が予め入力される。
【００３４】
クラス格納部１２２は、後に説明する推論部１３４等が処理するクラスに関する情報を記憶する。クラス格納部１２２は、例えば図１に示す対象クラス１１１１に関する情報、図２Ａに示す入力クラス２２００に関する情報、及び図３Ａに示す否定クラス４１１１に関する情報を記憶する。なお、クラス格納部１２２に記憶される情報は、例えば後に説明するクラス生成部１３２により入力される。
【００３５】
また、クラス格納部１２２は、推論部１３４による処理の途中経過に関する情報であるクラスリストをさらに記憶する。図５は、実施例１におけるクラスリストの一例を示す図である。図５に示すように、クラス格納部１２２は、クラスに関する情報として、例えば「推論対象クラスリスト」と、「除外クラスリスト」と、「未定基本クラスリスト」とを記憶する。なお、クラスリストの内容は、後に説明する対象クラス特定部１３３又は下位クラス抽出部１３５により登録され又は更新される。
【００３６】
図５において、「推論対象クラスリスト」は、推論部１３４による、入力クラスを用いたその後の推論処理の対象とするクラスの一覧を記憶する。「除外クラスリスト」は、推論部１３４による推論処理の対象から除外されるクラスの一覧を記憶する。除外されるクラスは、例えば、入力クラスが対象クラス又は否定クラスに該当したと判定された場合における、当該クラス及び当該クラスに背反するクラス、並びにそれらの下位クラスである。「未定基本クラスリスト」は、推論部１３４により、入力クラスが「非該当」であると判定された、対象クラス又は否定クラスに含まれる基本クラスの一覧を記憶する。
【００３７】
図５に示す例においては、推論部１３４が次に入力クラスを用いた推論処理を行うクラスは「¬Ｃ  ａｎｄ  ¬Ｄ」であること、及び「Ａ  ｏｒ  Ｂ」及び「¬Ａ  ａｎｄ  ¬Ｂ」については推論処理が行われないことを記憶する。また、図５に示す例は、「Ｃ」及び「Ｄ」の各基本クラスは「非該当」であることが特定されたことを記憶する。
【００３８】
図４に戻って、病名マスタ１２３は、病名の階層関係に関する情報を記憶する。図６は、実施例１における病名マスタの一例を示す図である。図６に示すように、病名マスタ１２３は、例えば「病名」クラスの下位クラスとして、「脳梗塞」クラス１２３１、「糖尿病」クラス、及びその他のクラスを記憶する。また、図６に示す病名マスタ１２３は、例えば「脳梗塞」クラス１２３１の下位クラスとして、「急性脳梗塞」クラス１２３２、「慢性脳梗塞」クラス、「ラクナ梗塞」クラス１２３３、「アテローム血栓性脳梗塞」クラス及びその他のクラスを記憶する。
【００３９】
例えば、推論部１３４は、入力クラスが「病名：ラクナ梗塞」を含む場合、図４に示す病名マスタ１２３を参照し、入力クラスが「ラクナ梗塞」クラス１２３３の上位クラスである「脳梗塞」クラス１２３１に該当すると判定する。また、推論部１３４は、入力クラスが「病名：Ｉ型糖尿病」を含む場合、「Ｉ型糖尿病」クラス１２３９は「脳梗塞」クラス１２３１の下位クラスではないため、入力クラスが「脳梗塞」クラス１２３１には「非該当」であると判定する。
【００４０】
図４に戻って、患者マスタ１２４は、患者に関する情報を記憶する。図７は、実施例１における患者マスタの一例を示す図である。図７に示すように、患者マスタ１２４は、例えば、「年齢」及び「性別」、「病名１」及び「病名２」、「ＳＢＰ値」並びに「しびれ」及び「めまい」の各項目を、「患者ＩＤ」に対応付けて記憶する。本実施例において、患者マスタ１２４は、患者１人につき１つのレコードを記憶する。なお、患者マスタ１２４には、例えば通信部１１０を通じて利用者端末９００又は外部のデータベース等から受信した情報が予め入力される。
【００４１】
図７において、「患者ＩＤ」は、患者を一意に識別する識別子（IDentifer）を記憶する。「病名１」及び「病名２」は、当該患者について判明している病名を記憶し、「ＳＢＰ値」は、当該患者のＳＢＰ値の検査結果を記憶し、「しびれ」及び「めまい」は、当該患者について確認されている症状を記憶する。なお、病名の数、検査結果及び症状の種類は一例であり、患者マスタ１２４がその他の検査結果又は症状を記憶したり、３以上の病名を記憶したりするような構成であってもよい。
【００４２】
図４に戻って、制御部１３０は、検出装置１００の全体的な処理を司る処理部である。制御部１３０は、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等によって、内部の記憶装置に記憶されているプログラムがＲＡＭを作業領域として実行されることにより実現される。また、制御部１３０は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現されるようにしてもよい。
【００４３】
制御部１３０は、受付部１３１、クラス生成部１３２、対象クラス特定部１３３、推論部１３４、下位クラス抽出部１３５及び出力部１３６を有する。なお、受付部１３１、クラス生成部１３２、対象クラス特定部１３３、推論部１３４、下位クラス抽出部１３５及び出力部１３６は、プロセッサが有する電子回路の一例やプロセッサが実行するプロセスの一例である。
【００４４】
受付部１３１は、通信部１１０を通じて、利用者端末９００などから各種要求や入力を受け付ける。受付部１３１は、例えば図８に示すような画面を、通信部１１０を通じて利用者端末９００に表示させることにより、利用者端末９００から患者情報の入力を受け付ける。図８は、実施例１における患者選択画面の一例を示す図である。図８に示す患者選択画面８０００は、患者ＩＤの入力を受け付けるエリア８００１と、検索ボタン８０１１とを含む。
【００４５】
受付部１３１は、利用者端末９００において入力された患者ＩＤを、通信部１１０を通じて受信すると、患者マスタ１２４を参照し、患者ＩＤに対応する患者に関する情報を取得する。そして、受付部１３１は、取得した情報から入力クラスを生成し、クラス生成部１３２及び推論部１３４に出力する。
【００４６】
受付部１３１は、例えば入力された患者ＩＤ「０Ｂ１０１０」に対応する患者の入力クラスとして、「年齢：５５歳」、「性別：女性」「病名：ラクナ梗塞、高血圧症」を生成する。一方、受付部１３１は、「不明」である「ＳＢＰ値」、「しびれ」及び「めまい」については、入力クラスに含めなくてもよく、又は各項目が「不明」であることを示す入力クラスを生成してもよい。
【００４７】
また、受付部１３１は、後に説明する、診断条件に該当するか否かを判定するために必要な情報の入力または選択を、利用者端末９００から受け付ける。受付部１３１は、受け付けた診断条件に該当するか否かを判定するために必要な情報を用いて入力クラスを更新し、更新後の入力クラスを推論部１３４に出力する。
【００４８】
図４に戻って、クラス生成部１３２は、受付部１３１から取得した入力クラスをもとに、対象クラス及び対象クラスの否定クラスを生成する。クラス生成部１３２は、知識ベース１２１に記憶された診断条件を読み出して、診断条件に含まれる基本クラスを特定し、基本クラスを論理結合することにより、対象クラスを生成する。また、クラス生成部１３２は、生成した対象クラスに含まれる各基本クラスに背反するクラスを論理結合することにより、対象クラスの否定クラスを生成する。クラス生成部１３２は、生成した対象クラス及び否定クラスを、対象クラス特定部１３３に出力する。
【００４９】
図９Ａは、実施例１における対象クラスの一例を示す図である。図９Ａは、クラス生成部１３２が、例えば「病名が脳梗塞であるか、又は発症後４８時間経過後のＳＢＰ値が２００を超え３００以下、かつしびれ又はめまいがある」という診断条件から生成する対象クラスを示す。図９Ａに示すように、クラス生成部１３２は、当該診断条件から「Ａ：病名が脳梗塞」、「Ｂ：２００＜発症後４８時間経過後のＳＢＰ値＜＝３００」、「Ｃしびれあり」及び「Ｄ：めまいあり」という各基本クラス５００１ａ乃至５００１ｄを生成する。
【００５０】
また、クラス生成部１３２は、各基本クラス５００１ａ乃至５００１ｄを論理結合することにより、「（Ａ  ｏｒ  Ｂ）  ａｎｄ  （Ｃ  ｏｒ  Ｄ）」という対象クラス５１１１を生成する。すなわち、各基本クラス５００１ａ乃至５００１ｄは、対象クラス５１１１の下位クラスである。なお、「（Ａ  ｏｒ  Ｂ）」は、対象クラス５１１１の下位クラスであり、かつ基本クラスＡ５００１ａ及び基本クラスＢ５００１ｂの上位クラスである。同様に、「（Ｃ  ｏｒ  Ｄ）」は、対象クラス５１１１の下位クラスであり、かつ基本クラスＣ５００１ｃ及び基本クラスＤ５００１ｄの上位クラスである。なお、対象クラス５１１１の各下位クラスは、特定のクラスの一例であり、対象クラス５１１１の最上位のクラスは、対象クラスの階層構造における最上位のクラスの一例である。
【００５１】
また、クラス生成部１３２は、図９Ｂに示すような、対象クラス５１１１の否定クラス６１１１を生成する。図９Ｂは、実施例１における対象クラスの否定クラスの一例を示す図である。図９Ｂに示すように、クラス生成部１３２は、各基本クラス５００１ａ乃至５００１ｄに背反する基本クラス６００１ａ乃至６００１ｄを生成する。例えば、基本クラス５００１ｂに背反する基本クラス６００１ｂは、「¬Ｂ：発症後４８時間経過後のＳＢＰ値＜＝２００  ｏｒ  発症後４８時間経過後のＳＢＰ値＞３００」」である。
【００５２】
そして、クラス生成部１３２は、各基本クラス６００１ａ乃至６００１ｄを論理結合することにより、「（¬Ａ  ａｎｄ  ¬Ｂ）  ｏｒ  （¬Ｃ  ａｎｄ  ¬Ｄ）」という、否定クラス６１１１を生成する。なお、「（¬Ａ  ａｎｄ  ¬Ｂ）」は、否定クラス６１１１の下位クラスであり、かつ基本クラス「¬Ａ」６００１ａ及び基本クラス「¬Ｂ」６００１ｂの上位クラスである。同様に、「（¬Ｃ  ａｎｄ  ¬Ｄ）」は、否定クラス６１１１の下位クラスであり、かつ基本クラス「¬Ｃ」６００１ｃ及び基本クラス「¬Ｄ」６００１ｄの上位クラスである。また、「（¬Ａ  ａｎｄ  ¬Ｂ）」は、対象クラス５１１１のうちの特定のクラス「Ａ  ｏｒ  Ｂ」に対応するクラスの一例であり、「（¬Ｃ  ａｎｄ  ¬Ｄ）」は、対象クラス５１１１のうちの特定のクラス「Ｃ  ｏｒ  Ｄ」に対応するクラスの一例である。
【００５３】
図４に戻って、対象クラス特定部１３３は、推論部１３４による推論の対象となるクラスを特定する。対象クラス特定部１３３は、クラス生成部１３２から対象クラス及び否定クラスの出力を受け、推論対象クラスリストに各クラスを追加する。例えば、対象クラス特定部１３３は、対象クラス５１１１及び否定クラス６１１１の出力を受けると、「（Ａ  ｏｒ  Ｂ）  ａｎｄ  （Ｃ  ｏｒ  Ｄ）」及び「（¬Ａ  ａｎｄ  ¬Ｂ）  ｏｒ  （¬Ｃ  ａｎｄ  ¬Ｄ）」を推論対象クラスリストに追加する。
【００５４】
次に、対象クラス特定部１３３は、推論部１３４から推論結果を取得して、推論対象クラスリストを更新する。対象クラス特定部１３３は、推論部１３４から、入力クラスが推論対象クラスリストのクラスに該当するという推論結果を取得すると、当該クラスを推論対象クラスリストから削除するとともに、除外クラスリストに追加する。
【００５５】
一方、対象クラス特定部１３３は、推論部１３４から、入力クラスが推論対象クラスリストのクラスに「非該当」であるという推論結果を取得すると、当該クラスを下位クラス抽出部１３５に出力する。
【００５６】
対象クラス特定部１３３は、下位クラス抽出部１３５から当該クラスの下位クラスの出力を受けると、当該クラスを推論対象クラスリストから削除するとともに、出力を受けた下位クラスを推論対象クラスリストに追加する。一方、対象クラス特定部１３３は、下位クラス抽出部１３５から当該クラスが基本クラスであることを示す情報の出力を受けると、当該クラスを推論対象クラスリストから削除するとともに、当該クラスを未定基本クラスリストに追加する。
【００５７】
推論部１３４は、クラス生成部１３２から取得した入力クラスが、推論対象クラスリストに追加された各クラスに該当するか否かを判定する検出処理を行う。推論部１３４は、例えば「年齢：５５歳」、「性別：女性」「病名：ラクナ梗塞、高血圧症」という入力クラスを受付部１３１から取得し、推論対象クラスリストに追加された対象クラス５１１１又は否定クラス６１１１に該当するか否かを判定する。
【００５８】
推論部１３４は、入力クラスが推論対象クラスリストに追加された各クラスに該当するか否かを判定した結果を、対象クラス特定部１３３及び出力部１３６に出力する。そして、推論部１３４は、対象クラス特定部１３３により、推論対象クラスリストから全てのクラスが削除されるまで処理を繰り返す。
【００５９】
また、推論部１３４は、受付部１３１から、診断条件に該当するか否かを判定するために必要な情報を用いて更新された入力クラスの出力を受けると、更新された入力クラスを用いて処理を繰り返す。
【００６０】
推論部１３４は、入力クラスが、対象クラス又は否定クラスの最上位のクラスに「該当」すると判定した場合、推論処理を終了し、処理結果を出力部１３６に出力する。
【００６１】
下位クラス抽出部１３５は、クラス格納部１２２を参照して、対象クラス特定部１３３から出力されたクラスの下位クラスを特定する。下位クラス抽出部１３５は、対象クラス特定部１３３から、例えば図９Ａに示すクラス「（Ａ  ｏｒ  Ｂ）  ａｎｄ  （Ｃ  ｏｒ  Ｄ）」の出力を受けると、当該クラスの下位クラス「Ａ  ｏｒ  Ｂ」及び「Ｃ  ｏｒ  Ｄ」を特定する。
【００６２】
一方、下位クラス抽出部１３５は、当該クラスに下位クラスが存在しない、すなわち当該クラスが基本クラスに該当すると判定した場合、当該クラスが基本クラスであることを示す情報を、対象クラス特定部１３３に出力する。例えば、下位クラス抽出部１３５は、対象クラス特定部１３３からクラス「Ａ」の出力を受けると、クラス「Ａ」は基本クラスであることを示す情報を出力する。
【００６３】
出力部１３６は、推論部１３４による推論結果を、例えば通信部１１０を通じて利用者端末９００に出力する。例えば、出力部１３６は、クラス格納部１２２を参照し、推論対象クラスリストから全てのクラスが削除されるまで待機する。出力部１３６は、推論対象クラスリストから全てのクラスが削除されたと判定した場合、推論部１３４による推論結果と、クラス格納部１２２の未定基本クラスリストに追加されたクラスとを出力する。
【００６４】
また、出力部１３６は、推論部１３４から、入力クラスが対象クラス又は否定クラスの最上位のクラスに「該当」すると判定する処理結果の出力を受けた場合、後に説明する症例特定画面８２００を、通信部１１０を通じて利用者端末９００に出力する。
【００６５】
次に、検出装置１００による処理について、図１０乃至図１４を用いて説明する。図１０は、実施例１における検出処理の途中経過の一例を示す図である。まず、受付部１３１は、利用者端末９００から、患者を特定する情報を取得し、患者に対応する入力クラスを生成し、クラス生成部１３２及び推論部１３４に出力する。以下においては、受付部１３１が、「病名がラクナ梗塞」という入力クラス７００１を生成した場合について説明する。
【００６６】
クラス生成部１３２は、図９Ａに示すような対象クラス５１１１、及び図９Ｂに示すような対象クラスの否定クラス６１１１を生成し、対象クラス特定部１３３に出力する。対象クラス特定部１３３は、図１０に示すように、対象クラス５１１１及び否定クラス６１１１を、クラス格納部１２２の推論対象クラスリストに追加する。
【００６７】
次に、推論部１３４は、受付部１３１から出力された入力クラス７００１が、推論対象クラスリストに追加された対象クラス５１１１又は否定クラス６１１１に該当するか否かを推論する。
【００６８】
この場合において、推論部１３４は、推論対象クラスリストに追加された対象クラス５１１１及び否定クラス６１１１については、いずれも「非該当」であると判定し、推論結果を対象クラス特定部１３３に出力する。例えば、入力クラス７００１は「Ｃ  ｏｒ  Ｄ」が該当しないために対象クラス５１１１に「非該当」である。また、入力クラス７００１は、「（¬Ａ  ａｎｄ  ¬Ｂ）」及び「（¬Ｃ  ａｎｄ  ¬Ｄ）」のいずれにも該当しないために、否定クラス６１１１にも「非該当」である。なお、本実施例においては、現段階では各クラスのどの部分が該当しないかは出力されない。
【００６９】
対象クラス特定部１３３は、入力クラスが「非該当」であるという推論結果を受け付けると、推論対象クラスリストに追加された対象クラス５１１１及び否定クラス６１１１を、下位クラス抽出部１３５に出力する。
【００７０】
下位クラス抽出部１３５は、対象クラス５１１１の下位クラス及び否定クラス６１１１の下位クラスをそれぞれ特定する。図１０においては、対象クラス特定部１３３は、「Ａ  ｏｒ  Ｂ」及び「Ｃ  ｏｒ  Ｄ」、並びに「（¬Ａ  ａｎｄ  ¬Ｂ）」及び「（¬Ｃ  ａｎｄ  ¬Ｄ）」を特定し、対象クラス特定部１３３に出力する。
【００７１】
対象クラス特定部１３３は、下位クラスの出力を受けると、図１１に示すように、クラス格納部１２２の推論対象クラスリストに追加された対象クラス５１１１及び否定クラス６１１１を削除するとともに、各下位クラスを推論対象クラスリストに追加する。
【００７２】
図１１は、実施例１における検出処理の途中経過の別の一例を示す図である。図１１に示すように、クラス格納部１２２には、推論対象クラスリストとして、特定された下位クラスである「Ａ  ｏｒ  Ｂ」及び「Ｃ  ｏｒ  Ｄ」、並びに「（¬Ａ  ａｎｄ  ¬Ｂ）」及び「（¬Ｃ  ａｎｄ  ¬Ｄ）」が追加される。そして、推論部１３４は、推論対象クラスリストに追加された各クラスに対して、処理を繰り返す。すなわち、推論部１３４は、各クラスに入力クラスが該当するか否かを判定する。
【００７３】
この場合において、推論部１３４は、符号７０１１に示すように、入力クラス７００１が、クラス「Ａ  ｏｒ  Ｂ」に該当すると判定し、推論結果を対象クラス特定部１３３に出力する。入力クラス７００１の「ラクナ梗塞」は「脳梗塞」の一例であるので、入力クラス７００１は、基本クラスＢに該当するか否かに関わらず、クラス「Ａ  ｏｒ  Ｂ」に該当することが判明するためである。
【００７４】
推論結果を受けた対象クラス特定部１３３は、図１２に示すように、クラス「Ａ  ｏｒ  Ｂ」をクラス格納部１２２の推論対象クラスリストから削除し、除外クラスリストに追加する。また、対象クラス特定部１３３は、クラス「Ａ  ｏｒ  Ｂ」に対応する、背反するクラス「（¬Ａ  ａｎｄ  ¬Ｂ）」についても、同様にクラス格納部１２２の推論対象クラスリストから削除し、除外クラスリストに追加する。入力クラスが、一方のクラスに該当することが判明した場合、背反するもう一方のクラスには非該当であることが判明するためである。これにより、図１１の符号７０２１及び７０３１に示す各クラスについては、推論部１３４による処理の対象から除外される。
【００７５】
図１２は、実施例１における検出処理の途中経過の別の一例を示す図である。推論部１３４は、クラス格納部１２２の除外クラスリストに追加された各クラスに対しては、処理を繰り返さない。すなわち、推論部１３４は、除外クラスリストに追加された各クラスの下位クラスを特定して推論処理を行うことはない。例えば、図１１に示す例において、推論部１３４は、図１１の符号７０２１及び７０３１に示される、クラス「Ａ  ｏｒ  Ｂ」の下位クラス「Ａ」及び「Ｂ」、並びにクラス「（¬Ａ  ａｎｄ  ¬Ｂ）」及びその下位クラス「¬Ａ」及び「¬Ｂ」に対する推論処理は行わない。
【００７６】
次に、推論部１３４は、推論対象クラスリストを参照し、追加された「Ｃ  ｏｒ  Ｄ」及び「¬Ｃ  ａｎｄ  ¬Ｄ」の各クラスについて入力クラス７００１が該当するか否かを判定する。この場合において、推論部１３４は、入力クラス７００１が、いずれのクラスにも「非該当」であると判定し、推論結果を対象クラス特定部１３３に出力する。入力クラス７００１は、「Ｃ」、「Ｄ」、「¬Ｃ」及び「¬Ｄ」のいずれにも該当しないためである。なお、本実施例においては、現段階でも各クラスのどの部分が該当しないかは出力されない。
【００７７】
対象クラス特定部１３３は、入力クラスが「非該当」であるという推論結果を受け付けると、推論対象クラスリストに追加された「Ｃ  ｏｒ  Ｄ」及び「¬Ｃ  ａｎｄ  ¬Ｄ」の各クラスを、下位クラス抽出部１３５に出力する。下位クラス抽出部１３５は、「Ｃ  ｏｒ  Ｄ」及び「¬Ｃ  ａｎｄ  ¬Ｄ」の各クラスの下位クラスをそれぞれ特定する。図１２においては、下位クラス抽出部１３５は、「Ｃ」、「Ｄ」、「¬Ｃ」及び「¬Ｄ」を特定し、対象クラス特定部１３３に出力する。
【００７８】
対象クラス特定部１３３は、図１３に示すように、クラス格納部１２２の推論対象クラスリストに追加された「Ｃ  ｏｒ  Ｄ」及び「¬Ｃ  ａｎｄ  ¬Ｄ」の各クラスを削除するとともに、出力を受けた各下位クラスを推論対象クラスリストに追加する。図１３は、実施例１における検出処理の途中経過の別の一例を示す図である。図１３に示すように、クラス格納部１２２の推論対象クラスリストには、出力された下位クラス「Ｃ」、「Ｄ」、「¬Ｃ」及び「¬Ｄ」が追加される。
【００７９】
次に、推論部１３４は、推論対象クラスリストを参照し、推論対象クラスリストに追加された「Ｃ」、「Ｄ」、「¬Ｃ」及び「¬Ｄ」の各クラスについても、入力クラス７００１が該当するか否かを判定する。この場合において、推論部１３４は、入力クラス７００１が、いずれのクラスにも「非該当」であると判定し、推論結果を対象クラス特定部１３３に出力する。すなわち、入力クラス７００１は、基本クラスＣ５００１ｃ及び対応する基本クラス「¬Ｃ」６００１ｃのいずれに対しても非該当であることが判明する。同様に、入力クラス７００１は、基本クラスＤ５００１ｄ及び対応する基本クラス「¬Ｄ」６００１ｄのいずれに対しても非該当であることが判明する。
【００８０】
対象クラス特定部１３３は、入力クラスが「非該当」であるという推論結果を受け付けると、推論対象クラスリストに追加された「Ｃ」、「Ｄ」、「¬Ｃ」及び「¬Ｄ」の各クラスを、下位クラス抽出部１３５に出力する。この場合において、下位クラス抽出部１３５は、「Ｃ」、「Ｄ」、「¬Ｃ」及び「¬Ｄ」が基本クラスであるので、全てのクラスが基本クラスであることを示す情報を対象クラス特定部１３３に出力する。
【００８１】
対象クラス特定部１３３は、図１４に示すように、クラス格納部１２２の推論対象クラスリストに追加された「Ｃ」、「Ｄ」、「¬Ｃ」及び「¬Ｄ」の各クラスを削除して、未定基本クラスリストに追加する。そして、出力部１３６は、クラス格納部１２２の未定基本クラスリストに追加されたクラスと、推論部１３４から取得した推論結果とを含む処理結果を、通信部１１０を通じて利用者端末９００に出力する。
【００８２】
図１４は、実施例１における検出処理の結果の一例を示す図である。出力部１３６は、入力クラスが、クラス「Ａ  ｏｒ  Ｂ」に該当すること、及び「Ｃ」、「Ｄ」、「¬Ｃ」及び「¬Ｄ」の各基本クラスが未定であることを示す情報を、利用者端末９００に出力する。この際、出力部１３６は、図１５に示すような、未定基本クラスの入力または選択を要求する画面を出力する。図１５は、実施例１における推論結果画面の一例を示す図である。
【００８３】
図１５に示すように、推論結果画面８１００は、未定クラスに関する情報の入力又は選択を求めるエリア８１０１と、決定ボタン８１１１とを含む。例えば、エリア８１０１は、基本クラスＣ５００１ｃ及び基本クラス「¬Ｃ」６００１ｃに関する条件並びに基本クラスＤ５００１ｄ及び基本クラス「¬Ｄ」６００１ｄに関する条件、すなわち「しびれ」及び「めまい」の有無に関する情報を含む。出力部１３６は、このような画面を利用者端末９００に表示させることにより、診断条件に該当するか否かを判定するために必要な情報の入力または選択を促すことができる。
【００８４】
受付部１３１は、利用者端末９００から、診断条件に該当するか否かを判定するために必要な情報の入力または選択を受け付けた場合、入力クラスを更新して推論部１３４に出力する。推論部１３４は、更新された入力クラスを用いて推論処理を繰り返した結果、更新された入力クラスが対象クラスの最上位のクラスに合致すると判定する。この場合、推論部１３４は、入力クラスが対象クラス又は否定クラスの最上位のクラスに「該当」すると判定する処理結果を出力部１３６に出力する。
【００８５】
出力部１３６は、図１６に示すような症例特定画面８２００を、通信部１１０を通じて利用者端末９００に出力する。図１６は、実施例１における症例特定画面の一例を示す図である。図１６に示す症例特定画面８２００は、入力クラスが対象クラス又は否定クラスに「該当」することにより推定できる対処方法、処方薬などを示す情報８２０１を含む。
【００８６】
［処理の流れ］
次に、本実施例における処理について、図１７を用いて説明する。図１７は、実施例１における検出処理の一例を示すフローチャートである。図１７に示すように、検出装置１００の受付部１３１は、例えば通信部１１０を通じて利用者端末９００から患者に関する情報を含む開始指示を受け付けるまで待機する（Ｓ１００：Ｎｏ）。
【００８７】
受付部１３１は、開始指示を受け付けたと判定した場合（Ｓ１００：Ｙｅｓ）、受け付けた患者に関する情報を、クラス生成部１３２に出力する。患者に関する情報を取得したクラス生成部１３２は、知識ベース１２１を参照して、基本クラスを取得する。また、クラス生成部１３２は、患者マスタ１２４を参照して、患者に関する情報に対応する入力クラスを生成する（Ｓ１０１）。
【００８８】
次に、クラス生成部１３２は、取得した基本クラスの論理式を結合し（Ｓ１０２）、対象クラスを生成する（Ｓ１０３）。また、クラス生成部１３２は、対象クラスに背反する否定クラスを生成し（Ｓ１０４）、生成した対象クラス及び否定クラスを対象クラス特定部１３３に出力する。
【００８９】
対象クラス特定部１３３は、出力を受けた対象クラス及び否定クラスを、クラス格納部１２２の推論対象クラスリストに追加する（Ｓ１０５）。次に、推論部１３４は、クラス格納部１２２を参照し、推論対象クラスリストに追加された対象クラス及びその否定クラスを抽出する（Ｓ１０６）。そして、推論部１３４は、入力クラスが、抽出した対象クラス又はその否定クラスに該当するか否かを判定する（Ｓ１１０）。
【００９０】
推論部１３４は、入力クラスが、抽出した対象クラス又はその否定クラスに「非該当」であると判定した場合（Ｓ１１０：Ｎｏ）、推論結果を対象クラス特定部１３３に出力する。
【００９１】
対象クラス特定部１３３は、当該対象クラスが基本クラスであるか否かを判定する（Ｓ１２０）。対象クラス特定部１３３は、当該対象クラスが基本クラスであると判定した場合（Ｓ１２０：Ｙｅｓ）、当該対象クラスを未定基本クラスリストに追加し（Ｓ１２１）、Ｓ１４０に移行する。
【００９２】
一方、対象クラス特定部１３３は、当該対象クラスが基本クラスではないと判定した場合（Ｓ１２０：Ｎｏ）、下位クラス抽出部１３５から下位クラスを取得する（Ｓ１３１）。そして、対象クラス特定部１３３は、取得した下位クラスを推論対象クラスリストに追加し（Ｓ１３２）、Ｓ１４０に移行する。
【００９３】
Ｓ１１０に戻って、推論部１３４は、入力クラスが、抽出した対象クラス又はその否定クラスに「該当」すると判定した場合（Ｓ１１０：Ｙｅｓ）、該当したクラスが、対象クラス又はその否定クラスの最上位のクラスであるか否かを判定する（Ｓ１１１）。推論部１３４は、該当したクラスが最上位のクラスであると判定した場合（Ｓ１１１：Ｙｅｓ）、推論結果を出力部１３６に出力する。出力部１３６は、処理結果を利用者端末９００に出力し（Ｓ１４１）、処理を終了する。
【００９４】
一方、対象クラス特定部１３３は、該当したクラスが最上位のクラスではないと判定された場合（Ｓ１１１：Ｎｏ）、該当したクラスの下位のクラス、並びに該当したクラスに背反するクラス及びその下位のクラスを、推論対象クラスリストから削除する。あわせて、対象クラス特定部１３３は、推論対象クラスリストから削除した各クラスを、除外クラスリストに追加する（Ｓ１１２）。
【００９５】
そして、対象クラス特定部１３３は、推論対象クラスリストが「Ｎｕｌｌ」であるか、すなわち推論対象クラスリストに追加されたクラスが全て削除されたか否かを判定する（Ｓ１４０）。推論対象クラスリストが「Ｎｕｌｌ」ではないと判定された場合（Ｓ１４０：Ｎｏ）、推論部１３４は、Ｓ１０６に戻って処理を繰り返す。一方、推論対象クラスリストが「Ｎｕｌｌ」であると判定された場合（Ｓ１４０：Ｙｅｓ）、出力部１３６は、処理結果を利用者端末９００に出力し（Ｓ１４１）、処理を終了する。
【００９６】
［効果］
以上説明したように、本実施例における検出プログラムは、階層構造を含む知識ベースの個々の対象クラスのうちの特定のクラス、及び対象クラスと背反する否定クラスにおける特定のクラスに対応するクラスのうちいずれかに、入力クラスが該当するか否かを判定する処理をコンピュータに実行させる。検出プログラムは、入力クラスが特定のクラス及び対応するクラスのいずれにも該当しないと判定された場合に、判定された特定のクラスに関する情報を出力する処理をコンピュータに実行させる。これにより、クラスの絞り込み検出ができる。
【００９７】
また、本実施例における検出プログラムは、対象クラスを、下位クラスが存在しない単一概念を定義した基本クラスと論理式結合とで定義し、さらに否定クラスを、基本クラスと前記対象クラスの論理式集合と背反する論理式集合とで定義してもよい。また、検出プログラムの出力する処理は、前記下位クラスが存在しないと判定されたクラスである基本クラスを、未定義のクラスとして出力してもよい。これにより、特定するべき入力クラスを検出できる。
【００９８】
さらに、前記入力クラスが前記特定のクラス及び前記対応するクラスのうちいずれかに該当すると判定された場合に、当該該当すると判定されたクラスより下位のクラス、及び前記該当すると判定されたクラスに対応する背反するクラス以下のクラスを、以後の前記推論する処理の対象から除外してもよい。これにより、推論処理の対象とするクラスの数を削減することができる。
【実施例２】
【００９９】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。また、図示した各処理は、上記の順番に限定されるものではなく、処理内容を矛盾させない範囲において、同時に実施してもよく、順序を入れ替えて実施してもよい。
【０１００】
［システム］
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、対象クラス特定部１３３と下位クラス抽出部１３５とを統合してもよく、またクラス格納部１２２を、対象クラス及び否定クラスの格納部とクラスリストの格納部とに分散してもよい。
【０１０１】
さらに、各装置で行われる各種処理機能は、ＣＰＵ（またはＭＰＵ、ＭＣＵ（Micro  Controller  Unit）等のマイクロ・コンピュータ）上で、その全部または任意の一部を実行するようにしてもよい。また、各種処理機能は、ＣＰＵ（またはＭＰＵ、ＭＣＵ等のマイクロ・コンピュータ）で解析実行されるプログラム上、またはワイヤードロジックによるハードウェア上で、その全部または任意の一部を実行するようにしてもよいことは言うまでもない。  
【０１０２】
［検出プログラム］
また、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータシステムの一例を説明する。図１８は、検出プログラムを実行するコンピュータの一例を示す図である。
【０１０３】
図１８に示すように、コンピュータ３００は、ＣＰＵ３１０、ＲＯＭ３２０、ＨＤＤ３３０、ＲＡＭ３４０を有する。これら３１０〜３４０の各部は、バス４００を介して接続される。
【０１０４】
ＲＯＭ３２０には上記実施例１の各処理部と同様の機能を発揮する検出プログラム３２０ａが予め記憶される。例えば、上記実施例１の受付部１３１、クラス生成部１３２、対象クラス特定部１３３、推論部１３４、下位クラス抽出部１３５及び出力部１３６と同様の機能を発揮する検出プログラム３２０ａを記憶させる。なお、検出プログラム３２０ａについては、適宜分離しても良い。
【０１０５】
そして、ＣＰＵ３１０が、検出プログラム３２０ａをＲＯＭ３２０から読み出して実行することで、実施例１の各制御部と同様の動作を実行する。すなわち、検出プログラム３２０ａは、実施例１の受付部１３１、クラス生成部１３２、対象クラス特定部１３３、推論部１３４、下位クラス抽出部１３５及び出力部１３６と同様の動作を実行する。
【０１０６】
なお、上記した検出プログラム３２０ａについては、必ずしも最初からＲＯＭ３２０に記憶させることを要しない。検出プログラム３２０ａはＨＤＤ３３０に記憶させてもよい。
【０１０７】
例えば、コンピュータ３００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」にプログラムを記憶させておく。そして、コンピュータ３００がこれらからプログラムを読み出して実行するようにしてもよい。
【０１０８】
さらには、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ３００に接続される「他のコンピュータ（またはサーバ）」などにプログラムを記憶させておく。そして、コンピュータ３００がこれらからプログラムを読み出して実行するようにしてもよい。
【符号の説明】
【０１０９】
１  検出システム
１００  検出装置
１１０  通信部
１２０  記憶部
１２１  知識ベース
１２２  クラス格納部
１２３  病名マスタ
１２４  患者マスタ
１３０  制御部
１３１  受付部
１３２  クラス生成部
１３３  対象クラス特定部
１３４  推論部
１３５  下位クラス抽出部
１３６  出力部
９００  利用者端末
【図１】
2019028895.tif 000003
【図２Ａ】
2019028895.tif 000004
【図２Ｂ】
2019028895.tif 000005
【図３Ａ】
2019028895.tif 000006
【図３Ｂ】
2019028895.tif 000007
【図４】
2019028895.tif 000008
【図５】
2019028895.tif 000009
【図６】
2019028895.tif 000010
【図７】
2019028895.tif 000011
【図８】
2019028895.tif 000012
【図９Ａ】
2019028895.tif 000013
【図９Ｂ】
2019028895.tif 000014
【図１０】
2019028895.tif 000015
【図１１】
2019028895.tif 000016
【図１２】
2019028895.tif 000017
【図１３】
2019028895.tif 000018
【図１４】
2019028895.tif 000019
【図１５】
2019028895.tif 000020
【図１６】
2019028895.tif 000021
【図１７】
2019028895.tif 000022
【図１８】
2019028895.tif 000023