説明

ベイジアンネットワークシステム、当該システムに供する選定サーバ、及びプログラム

【課題】不特定な条件による事前の選定(絞り込み)を可能にする。
【解決手段】データ選定部12は、事前に、モデルデータ記憶部46に予め記憶されたベイジアンネットワークモデル461に含まれている不特定多数の選択対象データを対象にして、各選択対象データに対応する各入力変数に対して任意の値をセットした場合の出力変数の確率が最大となる確率の最大値と閾値一時保持部24に保持されている閾値とを比較し、確率の最大値が閾値以上であるときに、入力変数と確率の最大値に対応する任意の値との組み合わせを入力変数ホワイトリスト261に登録しておき、ベイジアンネットワークによる出力変数の確率計算を行う場合に、入力変数と確率の最大値に対応する任意の値との組み合わせが入力変数ホワイトリストに保持されている選択対象データのみを確率計算の対象として、確率計算部41に確率計算を行わせる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ベイジアンネットワークの推論を利用して、多数のデータの中から、優先順位を付けて幾つかのデータを選択するベイジアンネットワークシステム、当該システムに供する選定サーバ、及びプログラムに関する。
【背景技術】
【0002】
統計的推定を行うアプリケーションとして、ベイジアンネットワーク(Bayesian network)と呼ばれるものがある。このベイジアンネットワークは、データが複数の変数(事象)の因果関係に基づく過程を経て生成されたものであるか否かを事前知識として統計モデル(以下、「ベイジアンネットワークモデル」と称する)の中に仮定し、任意のデータから逆にそのデータを生成する源となるデータ源を推定する。このベイジアンネットワークは、任意のデータ(入力条件)に対する出力変数の確率計算を行うことにより、統計的推定を行う。
【0003】
近年、このベイジアンネットワークを、様々な選択の対象となるデータ(以下、「選択対象データ」と称する)の中から特定のデータを選定するシステムに組み込むことが、提案されている。以下、ベイジアンネットワークが組み込まれたシステムを、「ベイジアンネットワークシステム」と称する。
【0004】
ベイジアンネットワークシステムは、各選択対象データに関連した入力条件を入力して、その入力条件に対する出力変数の確率計算を行う。ベイジアンネットワークシステムは、この出力変数の確率計算により各選択対象データの出力値(評価値)を算出し、各選択対象データに対して、算出された各選択対象データの評価値の高低を判定することにより、各選択対象データの適合度(すなわち、各選択対象データの入力条件に適合する度合い)を評価する。これにより、ベイジアンネットワークシステムは、様々な選択対象データの中から特定のデータを選定する。
【0005】
ベイジアンネットワークシステムは、様々な分野に適用することが可能である。
例えば、ベイジアンネットワークシステムは、IT(Infomation Technology;情報通信技術)分野で利用されているシステムであって、様々なコンテンツの中から利用者が利用する可能性の高いコンテンツを選定するシステムに、適用することが可能である。
【0006】
また、例えば、ベイジアンネットワークシステムは、救急医療分野で利用されているシステムであって、救急患者が発生した場合に、救急患者の搬送を支援するために、最適な病院の候補を幾つか選定して、その候補を救急車両に通知するシステム(以下、「救急患者の搬送支援用システム」と称する)に適用することが可能である。
【0007】
ところで、ベイジアンネットワークは、様々な選択対象データの中から特定のデータを選定する場合に、入力条件に対して様々な因果関係を仮定する。このとき、ベイジアンネットワークは、扱う変数の個数が多くなるほど、計算量が爆発的に増大する。そのため、ベイジアンネットワークは、扱う変数の個数が多くなると、膨大な計算時間が必要となる。
【0008】
そこで、計算時間を短縮するために、確率計算の対象となる選択対象データを事前に選定する(絞り込む)技術が、提案されている(例えば、特許文献1参照)。
特許文献1に開示された技術は、様々なコンテンツの中から特定のコンテンツを選定する場合に、例えば、上映時間等の条件に基づいて、選定の対象となる幾つかのコンテンツを事前に絞り込むものである。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2007−058398号公報(段落49、図2)
【発明の概要】
【発明が解決しようとする課題】
【0010】
しかしながら、特許文献1に開示された技術は、以下に説明するように、不特定な変数を絞り込みの条件として用いることができないため、不適切な絞り込みを行う場合がある、という課題があった。
【0011】
すなわち、特許文献1に開示された技術は、上映時間等の予め指定された所定の変数を絞り込みの条件として用い、その所定の変数に基づいて選択対象データを画一的に絞り込むだけである。そのため、特許文献1に開示された技術は、例えば、救急患者の搬送支援用システムに適用された場合に、以下のような不適切な絞り込みを行う場合がある。
【0012】
特許文献1に開示された技術は、救急患者の搬送支援用システムに適用された場合に、例えば搬送時間や搬送距離等の予め指定された所定の変数を絞り込みの条件として用い、その所定の変数に基づいて選択対象データを画一的に絞り込むことになる。
この場合に、特許文献1に開示された技術は、多数の病院の中から、単純に、確率計算の対象として、短時間で搬送できる病院や救急患者のいる場所から近い病院に、絞り込むことになる。
【0013】
そのため、例えば、救急患者が心筋梗塞や脳梗塞等を発症している場合に、特許文献1に開示された技術は、外科とは無関係な眼科や小児科等の病院を確率計算の対象(母データ)として残し、無関係な対象が残っている母データを対象にして、母データに含まれるすべてのデータの確率計算を行う。したがって、この場合に、特許文献1に開示された技術は、膨大な量の無駄な確率計算を行うことになる。そのため、計算回数が膨大になり、これにより、処理時間が長期化する。例えば、特許文献1に開示された技術は、1件の計算に0.1秒の時間がかかるとすると、1000件の無駄な確率計算を行うだけで100秒(1分40秒)もの時間が必要となる。特許文献1に開示された技術は、この時間だけ、救急患者を危険にさらすことになる。
【0014】
また、特許文献1に開示された技術は、本来であれば救急患者に対して最適な病院であるにも関わらず、その病院が絞り込みの条件に一致しないために、その病院を母データから省く場合がある。この場合に、特許文献1に開示された技術は、その最適な病院を選定することができない。なお、「最適な病院」とは、例えば、(1)手術室や救急ベッドの空きがあり、救急患者を受け入れることが可能である、(2)対応可能な医師が在籍していて、医師が現在対応可能な状況にある、(3)短時間での搬送が可能である、等の条件を満たしている病院を意味している。
【0015】
しかも、特許文献1に開示された技術は、対応可能な病院が母データに残っていない場合に、最悪の場合に、救急患者の搬送先として、不適切な病院を選定する(例えば、心筋梗塞や脳梗塞等を発症している救急患者の搬送先として、眼科や小児科の病院を選定する)可能性がある。
【0016】
以上の通り、特許文献1に開示された技術は、救急患者の搬送支援用システムに適用された場合に、不適切な絞り込みを行う場合がある。そのため、特許文献1に開示された技術は、救急患者の搬送支援用システムに適用することができなかった。
【0017】
本発明は、前記した課題を解決するためになされたものであり、ベイジアンネットワークモデルで用いられている不特定な変数を絞り込みの条件として用いることができるベイジアンネットワークシステム、当該システムに供する選定サーバ、及びプログラムを提供することを主な目的とする。
【課題を解決するための手段】
【0018】
前記目的を達成するため、第1発明は、ベイジアンネットワークシステムであって、複数の選択対象データを評価するために、ベイジアンネットワークによる出力変数の確率計算を行うベイジアンネットワークサーバと、確率計算の対象となる選択対象データを事前に選定する選定サーバとを有するベイジアンネットワークシステムであって、前記ベイジアンネットワークサーバは、各選択対象データの因果関係を規定するベイジアンネットワークモデルを予め記憶するモデルデータ記憶部と、利用者のデータ及び前記選択対象データを入力変数とし、出力変数に対応する出力値を評価値として、前記ベイジアンネットワークによる出力変数の確率計算を行う確率計算部とを備えており、前記選定サーバは、事前に選定する条件として用いることが可能な選択対象データを規定することにより、確率計算の対象となる選択対象データを事前に選定するデータ選定部と、前記評価値の閾値を一時的に保持する閾値一時記憶部と、前記評価値が前記閾値を超えるための入力変数の条件を入力変数ホワイトリストとして保持する入力変数ホワイトリスト記憶部とを備え、前記選定サーバの前記データ選定部は、前記利用者のデータが与えられると、事前に、前記モデルデータ記憶部に予め記憶された前記ベイジアンネットワークモデルに含まれている不特定多数の選択対象データを対象にして、前記利用者のデータをセットし、選択対象データに対応する各入力変数のひとつに任意の値をセットした場合の前記出力変数の確率が最大となる値を確率の最大値とし、当該確率の最大値と前記閾値一時保持部に保持されている前記閾値とを比較し、当該確率の最大値が前記閾値以上であるときに、前記入力変数とセットした任意の値との組み合わせを前記入力変数ホワイトリストに登録することにより、前記事前に選定する条件として用いることが可能な選択対象データを規定しておき、前記ベイジアンネットワークによる出力変数の確率計算を行う場合に、前記入力変数と前記確率の最大値に対応する任意の値との組み合わせが前記入力変数ホワイトリストに保持されている選択対象データのみを確率計算の対象として、前記ベイジアンネットワークサーバの前記確率計算部に、確率計算を行わせる構成とする。
【0019】
このベイジアンネットワークシステムは、確率の最大値(すなわち、選択対象データに対応する各入力変数に対して任意の値をセットした場合の出力変数の確率が最大となる値)が閾値以上であるときに、入力変数とセットした任意の値との組み合わせを入力変数ホワイトリストに保持する。そして、このベイジアンネットワークシステムは、入力変数ホワイトリストに保持された組み合わせのみを、確率計算の対象として、確率計算部に、確率計算を行わせる。
したがって、このベイジアンネットワークシステムは、入力変数ホワイトリストに保持された組み合わせを確率計算の絞り込みの条件として機能させる。そのため、このベイジアンネットワークシステムは、ベイジアンネットワークモデルで用いられている不特定な変数を絞り込みの条件として用いることができる。
【0020】
また、第2発明は、複数の選択対象データを評価するために、複数の選択対象データを評価するために、利用者のデータと選択対象データとを入力変数とし、出力変数に対応する出力値を評価値として、ベイジアンネットワークによる出力変数の確率計算を確率計算部に行わせる際に、確率計算の対象となる選択対象データを事前に選定する選定サーバであって、事前に選定する条件として用いることが可能な選択対象データを規定することにより、確率計算の対象となる選択対象データを事前に選定するデータ選定部と、前記評価値の閾値を一時的に保持する閾値一時記憶部と、前記評価値が前記閾値を超えるための入力変数の条件を入力変数ホワイトリストとして保持する入力変数ホワイトリスト記憶部とを備え、前記データ選定部は、前記利用者のデータが与えられると、事前に、各選択対象データの因果関係を規定するベイジアンネットワークモデルに含まれている不特定多数の選択対象データを対象にして、前記利用者のデータをセットし、選択対象データに対応する各入力変数のひとつに任意の値をセットした場合の前記出力変数の確率が最大となる値を確率の最大値とし、当該確率の最大値と前記閾値一時保持部に保持されている前記閾値とを比較し、当該確率の最大値が前記閾値以上であるときに、前記入力変数とセットした任意の値との組み合わせを前記入力変数ホワイトリストに登録することにより、前記事前に選定する条件として用いることが可能な選択対象データを規定しておき、前記ベイジアンネットワークによる出力変数の確率計算を行う場合に、前記入力変数と前記確率の最大値に対応する任意の値とが前記入力変数ホワイトリストに保持されている選択対象データのみを確率計算の対象として、前記確率計算部に、確率計算を行わせる構成とする。
【0021】
この選定サーバは、第1発明のベイジアンネットワークシステムと同様に、確率の最大値(すなわち、選択対象データに対応する各入力変数に対して任意の値をセットした場合の出力変数の確率が最大となる値)が閾値以上であるときに、入力変数とセットした任意の値との組み合わせを入力変数ホワイトリストに保持する。そして、この選定サーバは、入力変数ホワイトリストに保持された組み合わせのみを、確率計算の対象として、確率計算部に、確率計算を行わせる。
したがって、この選定サーバは、入力変数ホワイトリストに保持された組み合わせを確率計算の絞り込みの条件として機能させる。そのため、この選定サーバは、第1発明のベイジアンネットワークシステムと同様に、ベイジアンネットワークモデルで用いられている不特定な変数を絞り込みの条件として用いることができる。
【0022】
また、第3発明は、コンピュータを、複数の選択対象データを評価するために、利用者のデータと選択対象データとを入力変数とし、出力変数に対応する出力値を評価値として、ベイジアンネットワークによる出力変数の確率計算を確率計算部に行わせる際に、確率計算の対象となる選択対象データを事前に選定する選定サーバとして機能させるプログラムであって、前記コンピュータを、事前に選定する条件として用いることが可能な選択対象データを規定することにより、確率計算の対象となる選択対象データを事前に選定するデータ選定部と、前記評価値の閾値を一時的に保持する閾値一時記憶部と、前記評価値が前記閾値を超えるための入力変数の条件を入力変数ホワイトリストとして保持する入力変数ホワイトリスト記憶部とを備え、前記データ選定部は、前記利用者のデータが与えられると、事前に、各選択対象データの因果関係を規定するベイジアンネットワークモデルに含まれている不特定多数の選択対象データを対象にして、前記利用者のデータをセットし、選択対象データに対応する各入力変数のひとつに任意の値をセットした場合の前記出力変数の確率が最大となる値を確率の最大値とし、当該確率の最大値と前記閾値一時保持部に保持されている前記閾値とを比較し、当該確率の最大値が前記閾値以上であるときに、前記入力変数とセットした任意の値との組み合わせを前記入力変数ホワイトリストに登録することにより、前記事前に選定する条件として用いることが可能な選択対象データを規定しておき、前記ベイジアンネットワークによる出力変数の確率計算を行う場合に、前記入力変数と前記確率の最大値に対応する任意の値との組み合わせが前記入力変数ホワイトリストに保持されている選択対象データのみを確率計算の対象として、前記確率計算部に、確率計算を行わせる、前記選定サーバとして機能させる。
【0023】
このプログラムは、第2発明の選定サーバを実現する。
したがって、このプログラムは、第2発明の選定サーバと同様に、ベイジアンネットワークモデルで用いられている不特定な変数を絞り込みの条件として用いることができる。
【発明の効果】
【0024】
第1発明によれば、ベイジアンネットワークモデルで用いられている不特定な変数を絞り込みの条件として用いることができるベイジアンネットワークシステムを提供することができる。
また、第2発明によれば、第1発明に係るシステムに供する選定サーバを、さらに、第3発明によれば、第2発明に係る選定サーバをコンピュータにより実現するプログラムを提供することができる。
【図面の簡単な説明】
【0025】
【図1】実施形態に係るベイジアンネットワークシステムの構成を示す図である。
【図2】実施形態に用いる利用者データの構成を示す図である。
【図3】実施形態に用いる状況データの構成を示す図(1)である。
【図4】実施形態に用いる状況データの構成を示す図(2)である。
【図5】実施形態に用いる入力変数ホワイトリストの構成を示す図である。
【図6】実施形態に用いるベイジアンネットワークモデルの構成を示す図(1)である。
【図7】実施形態に用いるベイジアンネットワークモデルの構成を示す図(2)である。
【図8】実施形態に用いるベイジアンネットワークモデルの構成を示す図(3)である。
【図9】実施形態に用いる登録データの構成を示す図(1)である。
【図10】実施形態に用いる登録データの構成を示す図(2)である。
【図11】実施形態に係るベイジアンネットワークシステムの全体の動作を示すフローチャート(1)である。
【図12】実施形態に係るベイジアンネットワークシステムの全体の動作を示すフローチャート(2)である。
【図13】実施形態に係るベイジアンネットワークシステムの全体の動作を示すフローチャート(3)である。
【図14】実施形態に係るベイジアンネットワークシステムの全体の動作を示すフローチャート(4)である。
【図15】実施形態に係るベイジアンネットワークシステムの事前計算処理時の動作を示すフローチャート(1)である。
【図16】実施形態に係るベイジアンネットワークシステムの事前計算処理時の動作を示すフローチャート(2)である。
【図17】実施形態に係るベイジアンネットワークシステムの事前計算処理時の動作を示すフローチャート(3)である。
【図18】実施形態に係るベイジアンネットワークシステムの事前計算処理時の動作を示すフローチャート(4)である。
【図19】実施形態に係るベイジアンネットワークシステムの事前計算処理時の動作を示すフローチャート(5)である。
【発明を実施するための形態】
【0026】
以下、図面を参照して、本発明の実施の形態(以下、「本実施形態」と称する)につき詳細に説明する。なお、各図は、本発明を十分に理解できる程度に、概略的に示してあるに過ぎない。よって、本発明は、図示例のみに限定されるものではない。また、各図において、共通する構成要素や同様な構成要素については、同一の符号を付し、それらの重複する説明を省略する。
【0027】
<ベイジアンネットワークシステムの構成>
以下、図1を参照して、本実施形態に係るベイジアンネットワークシステムの構成につき説明する。図1は、実施形態に係るベイジアンネットワークシステムの構成を示す図である。
【0028】
ここでは、まず、本実施形態に係るベイジアンネットワークシステム101の全体構成について説明し、次に、ベイジアンネットワークシステム101の特徴的な構成要素である選定サーバ1の構成について説明する。
【0029】
(ベイジアンネットワークシステムの全体構成)
まず、本実施形態に係るベイジアンネットワークシステム101の全体構成について説明する。
【0030】
ベイジアンネットワークシステム101は、複数の選択対象データを評価するために、ベイジアンネットワークによる出力変数の確率計算を行うシステムである。ここでは、ベイジアンネットワークシステム101は、救急患者の搬送支援用システム(すなわち、救急患者の搬送を支援するために、最適な病院の候補を幾つか選定して救急車両に通知するシステム)に適用した形態になっているものとして説明する。しかしながら、ベイジアンネットワークシステム101は、他の分野(例えば、求職者に求人データを紹介する職業紹介分野等)のシステムに適用することが可能である。なお、「選択対象データ」は、変数と値とが組み合わされた構成となっており、図6に示すように、運用に応じて複数の選択対象データの因果関係が階層的に規定されることにより、病院選定モデル(ベイジアンネットワークモデル)461を構成する。
【0031】
ベイジアンネットワークシステム101は、管理センタ100の内部に設置された機器と管理センタ100の外部に設置された機器とからなる。管理センタ100は、最適な病院や医師の候補を幾つか選定して、その候補を救急車両に通知するための施設である。なお、「最適な病院」とは、前記した通り、(1)手術室や救急ベッドの空きがあり、救急患者を受け入れることが可能である、(2)対応可能な医師が在籍していて、医師が現在対応可能な状況にある、(3)短時間での搬送が可能である、等の条件を満たしている病院を意味している。
【0032】
管理センタ100の内部に設置された機器としては、選定サーバ1、ベイジアンネットワークサーバ4、及びデータベースサーバ5がある。これらの機器は、例えばLAN(Local Area Network)等の通信回線によって通信可能に接続されている。
【0033】
選定サーバ1は、確率計算の対象となる選択対象データを事前に選定する(絞り込む)サーバである。なお、「確率計算の対象となる選択対象データ」とは、後記する状況データS1c,S2c(図3(c)及び図4(c)参照)を構成するデータの中の、後記するホワイトリスト261に保持された変数と値とに一致するデータである。
【0034】
ここでは、選定サーバ1による確率計算の対象となる選択対象データを選定する動作を、「絞り込み」と称する。この「絞り込み」の詳細については、「選択対象データの絞り込みの動作」の章で説明する。
【0035】
選定サーバ1は、救急患者が発生した場合に、後記する救急車両端末200から救急患者に関するデータ(以下、「患者データ」と称する)Uを取得(受信)し、患者データUに基づいて、ベイジアンネットワークサーバ4に、ベイジアンネットワークによる確率計算を行わせて、最適な病院の候補を選定させ、選定された最適な病院の候補を救急車両端末200に通知(データ送信)する。
選定サーバ1の詳細な構成については、「選定サーバの構成」の章で説明する。
【0036】
ベイジアンネットワークサーバ4は、汎用のベイジアンネットワークソフトウェアが導入されたサーバである。ベイジアンネットワークサーバ4は、既に公知の構成要素であるので、ここでは、主要な構成のみを説明する。
【0037】
ベイジアンネットワークサーバ4は、ベイジアンネットワークによる出力変数の確率計算を行うことにより、複数の選択対象データを評価する。ここでは、ベイジアンネットワークサーバ4は、選択対象を病院(医師を含む)とし、ベイジアンネットワークによる出力変数の確率計算を行うことにより、各病院(医師を含む)を評価して、複数の病院の中から最良の病院の候補を選定する。
【0038】
ベイジアンネットワークサーバ4は、確率計算部41、モデルデータ記憶部46、及び計算用記憶部47を有している。
【0039】
モデルデータ記憶部46は、ベイジアンネットワークモデル461を予め記憶する記憶手段である。「ベイジアンネットワークモデル461」とは、各選択対象データの因果関係を規定する知識モデルである。ここでは、モデルデータ記憶部46は、ベイジアンネットワークモデル461として、後記する病院選定モデル(図6参照)を予め記憶している。
【0040】
確率計算部41は、選択対象データを入力変数とし、出力変数に対応する出力値を評価値として、ベイジアンネットワークによる出力変数の確率計算を行う機能手段である。ここでは、確率計算部41は、利用者データ(ここでは、患者データU)に含まれている選択対象データを入力変数とし、各病院の評価値を計算して、評価値が高い病院を選定する。
【0041】
計算用記憶部47は、確率計算部41による計算処理に際して、各種のデータが保持される記憶手段である。
【0042】
ベイジアンネットワークサーバ4は、例えば、後記する入力変数411a(図6参照)の設定、後記する中間変数412a(図6参照)の設定、後記する出力変数413a(図6参照)の確率計算等の機能等の、汎用のベイジアンネットワークソフトウェアによって実現される機能を有している。
【0043】
データベースサーバ5は、各種のデータを予め登録するサーバである。以下、データベースサーバ5に記憶されたデータを、「登録データ」と称する。なお、ここでは、基準となるデータを記憶部に記憶する動作を「登録」と称する。データベースサーバ5は、既に公知の構成要素であるので、ここでは、主要な構成のみを説明する。
【0044】
データベースサーバ5は、登録データ記憶部50を有している。
登録データ記憶部50は、登録データを登録する記憶手段である。「登録データ」は、後記する状況データS(図3及び図4参照)に対して各種のデータを補完する際に用いられる。ここでは、登録データ記憶部50は、登録データとして、病院に関するデータ(以下、「病院データ」と称する)51や、医師に関するデータ(以下、「医師データ」と称する)52等を予め登録している。以下、「データベースサーバ5」を、「病院医師データベース5」と称する。
【0045】
ここでは、病院医師データベース5は、選定サーバ1を介して病院データシステム300から病院データ51及び医師データ52を取得し、その病院データ51及び医師データ52を登録データ記憶部50に登録する構成となっているものとして説明する。なお、病院医師データベース5は、図示せぬ記憶媒体から病院データ51及び医師データ52を読み取り、その病院データ51及び医師データ52を登録データ記憶部50に登録することもできる。
【0046】
管理センタ100の外部に設置された機器としては、入力端末200、及び外部システム300がある。これらの機器は、通信回線400を介して、選定サーバ1と通信可能に接続されている。ここでは、通信回線400は、選定サーバ1と入力端末200との間を無線で接続し、ベイジアンネットワークシステム101と外部システム300との間を有線又は無線で接続しているものとして説明する。
【0047】
入力端末200は、選定サーバ1に対して、利用者に関するデータ(以下、「利用者データ」と称する)Uを入力する端末装置である。ここでは、入力端末200は、図示せぬ救急車両に搭載されており、救急患者が発生した場合に、救急車両に乗車している救急隊員によって、患者データUが入力され、その患者データUを選定サーバ1に送信する構成となっている。以下、「入力端末200」を「救急車両端末200」と称する。ここでは、救急車両端末200は、データの入力機能、送信機能、及び受信機能を有する汎用のコンピュータや携帯電話機等によって構成されているものとして説明する。
【0048】
救急車両端末200は、患者データUの送信に対する応答として、選定サーバ1からベイジアンネットワークサーバ4によって選定された最適な病院の候補データを受信する。救急隊員は、その候補データを参照して、候補の中から最適と考えられる病院(例えば、最も近い病院)を選択して、救急患者をその病院に搬送する。
【0049】
救急車両端末200は、好ましくは、常時、GPS(Global Positioning System)等の図示せぬ位置検出手段によって自身の位置(すなわち、救急車両の位置)を識別しておき、患者データUを選定サーバ1に送信するときに、患者データUとともに、救急車両の位置データを選定サーバ1に送信する構成になっているとよい。
【0050】
外部システム300は、動的に変化するデータ(以下、「状況データS」と称する)を選定サーバ1に送信するシステムである。ここでは、外部システム300は、図示せぬ各病院に設けられており、状況データSとして、病院の設備の利用状況を表すデータ(以下、「病院状況データS1」と称する)や医師の在席状況を表すデータ(以下、「医師状況データS2」と称する)を選定サーバ1に送信する構成となっている。以下、「外部システム300」を、「病院データシステム300」と称する。また、「病院状況データS1」と「医師状況データS2」とを総称して、「病院・医師状況データS」と称する。
【0051】
病院データシステム300は、常時、手術室や救急ベッド等の設備の利用状況を管理しており、定期的に、「手術室の空きがある」や「救急ベッドの空きがある」等の、病院状況データS1を生成して、選定サーバ1に送信する。
【0052】
また、病院データシステム300は、例えば、各医師によって所持されているICカード等の記憶媒体をセンサで検出する構成となっており、この構成により各医師の現在位置を識別して、定期的に、「(対応可能な)医師が医局にいる」や、「医師が手術中である」、「医師が外来対応中である」、「医師が不在である」等の、医師状況データS2を生成して、データを選定サーバ1に送信する。
【0053】
なお、選定サーバ1は、病院状況データS1を受信すると、病院医師データベース5に予め登録されている病院データ51(図9参照)を参照して、任意のデータ(例えば、住所512や、病院分類513、診療科514、医師リスト515等のデータ)を病院状況データS1に付加する。これにより、選定サーバ1は、病院況データS1を補完する。
【0054】
同様に、選定サーバ1は、医師状況データS2を受信すると、病院医師データベース5に予め登録されている医師データ52(図10参照)を参照して、任意のデータ(例えば、専門診療科522や、所属523等のデータ)を医師状況データS2に付加する。これにより、選定サーバ1は、医師状況データS2を補完する。
【0055】
(選定サーバの構成)
次に、ベイジアンネットワークシステム101の特徴的な構成要素である選定サーバ1の構成について説明する。
【0056】
選定サーバ1は、救急車両端末200から患者データUを取得する機能、最良の病院の候補データを救急車両端末200に通知する機能、病院データシステム300から病院データ51及び医師データ52を取得する機能、病院データ51及び医師データ52を病院医師データベース5に登録する機能、後記する変数と値との組み合わせをベイジアンネットワークサーバ4にセット(設定保存)する機能、後記する確率の最大値をベイジアンネットワークサーバ4に計算させる機能、入力変数と確率の最大値に対応する任意の値との組み合わせを絞り込みの条件として後記する入力変数ホワイトリスト記憶部26に保持する機能、及び、ベイジアンネットワークによる出力変数の確率計算をベイジアンネットワークサーバ4に行わせる機能等を有している。これらの機能は、以下の構成によって実現される。
【0057】
選定サーバ1は、CPUによって構成された演算部10、RAMや、ROM、HDD等によって構成された記憶部20、キーボードやマウス等によって構成された入力部31、ディスプレイやプリンタ等によって構成された出力部32、及び、外部の機器と通信を行うためのI/O33を有している。
【0058】
演算部10は、主制御部11、データ選定部12、及び通信制御部13を、機能手段として備えている。
主制御部11は、選定サーバ1全体の動作を制御する機能手段である。
データ選定部12は、確率計算の対象となる選択対象データを事前に絞り込む機能手段である。
通信制御部13は、外部の機器との通信を制御する機能手段である。
【0059】
各機能手段は、演算部10を構成するCPUが、後記するプログラム記憶部21に予め記憶された選定プログラム211を実行することによって、実現されている。なお、各機能手段の動作は、選定プログラム211によって規定されている。また、各機能手段は、図示せぬタイマによって計測される時間に応じて動作する。以下、これらの点については、データ処理では常套手段であるので、その詳細な説明を省略する。
【0060】
記憶部20は、プログラム記憶部21、出力候補数記憶部22、入力データ一時記憶部23、選定用記憶部24、閾値一時記憶部25、及び、入力変数ホワイトリスト記憶部26を、記憶手段として備えている。
【0061】
プログラム記憶部21は、コンピュータを選定サーバ1として機能させる選定プログラム211を予め記憶する記憶手段である。ここでは、プログラム記憶部21は、図示せぬ変換用のテーブルデータを予め登録しているものとして説明する。この「変換用のテーブルデータ」は、利用者データUや状況データS等を入力変数と値との組み合わせからなる形態に変換するためのデータである。この「変換用のテーブルデータ」は、プログラム記憶部21以外の記憶手段に登録されるようにしてもよい。
【0062】
出力候補数記憶部22は、救急車両端末200に出力(通知)する候補の数(以下、「出力候補数」と称する)を予め保持する記憶手段である。ここでは、出力候補数記憶部22は、例えば、出力候補数として「3」の値を予め保持しているものとして説明する。
【0063】
入力データ一時記憶部23は、救急車両端末200から受信した利用者データ(ここでは、患者データU)や、病院データシステム300から受信した状況データ(ここでは、病院・医師状況データS)等を、一時的に保持する記憶手段である。ここでは、「保持」とは、頻繁に更新される可能性のあるデータを記憶手段に記憶する動作を意味している。
【0064】
選定用記憶部24は、選定処理に用いる各種のデータを一時的に保持する記憶手段である。選定用記憶部24は、例えば、図2(b)に示す患者データUbや、図3(b)及び図3(c)に示す病院状況データS1b,S1c、図4(b)及び図4(c)に示す医師状況データS2b,S2c等を保持する。
【0065】
閾値一時記憶部25は、特定の条件に適合する度合い(以下、「適合度」と称する)の閾値を一時的に保持する記憶手段である。
【0066】
入力変数ホワイトリスト記憶部26は、評価値(出力値)が閾値を超えるための入力変数の条件を規定する入力変数ホワイトリスト(以下、単に「ホワイトリスト」と称する)261を保持する記憶手段である。
【0067】
<ベイジアンネットワークシステムで用いられるデータの構成>
以下に、図2〜図10を参照して、ベイジアンネットワークシステム101で用いられるデータの構成につき説明する。ここでは、利用者データの構成、状況データの構成、ホワイトリスト261の構成、ベイジアンネットワークモデル(ここでは、病院選定モデル461)の構成、登録データ(ここでは、病院データ51及び医師データ52)の構成の順に説明する。
【0068】
(利用者データの構成)
まず、図2を参照して、利用者データ(ここでは、患者データU)の構成を説明する。図2は、実施形態に用いる利用者データの構成を示す図である。
【0069】
図2(a)は、入力端末(ここでは、救急車両端末200)から選定サーバ1に送信された状態の利用者データU(以下、「利用者データ(患者データ)Ua」と称する)の構成の一例を示している。図2(a)に示す例では、患者データUaは、「発生場所=C市T町;年齢=50代;性別=男性;疾患=心疾患;既往症=無;重症度=重症;緊急度=緊急」等のデータを含む構成となっている。
【0070】
また、図2(b)は、ベイジアンネットワークでの使用に好適な形態に変換された状態の利用者データU(以下、「利用者データ(患者データ)Ub」と称する)の構成を示している。利用者データUbは、変数とその変数に対応する値との組み合わせによって構成される。図2(b)に示す例では、患者データUbは、「<患者疾患>=<心疾患>;<患者重症度>=<重症>;<患者緊急度>=<緊急>」等のデータを含む構成となっている。図示例では、等記号の左辺が変数を表しており、等記号の右辺が左辺の変数に対応する値を表している。
【0071】
(状況データの構成)
次に、図3及び図4を参照して、状況データ(ここでは、病院・医師状況データS)の構成を説明する。図3及び図4は、それぞれ、実施形態に用いる状況データの構成を示す図である。
【0072】
図3(a)は、外部システム(ここでは、病院データシステム300)から選定サーバ1に送信された状態の、病院の設備の利用状況を表す状況データS(以下、「状況データ(病院状況データ)S1a」と称する)の構成の一例を示している。図3(a)に示す例では、病院状況データS1aは、「病院=H病院;手術室=使用可;処置室=使用可;救急ベッド=空(5床以上)」等のデータを含む構成となっている。
【0073】
また、図3(b)は、ベイジアンネットワークでの使用に好適な形態に変換された状態の、病院の設備の利用状況を表す状況データS(以下、「状況データ(病院状況データ)S1b」と称する)の構成を示している。状況データS1bは、変数とその変数に対応する値との組み合わせによって構成されている。図3(b)に示す例では、病院状況データS1bは、「病院名=H病院;住所=C市T町1−2;病院分類=三次救急;診療科=内科,外科,…;医師リスト=(D医師,E医師)」等のデータを含む構成となっている。
【0074】
また、図3(c)は、任意のデータが補完された状態の、病院の設備の利用状況を表す状況データS(以下、「状況データ(病院状況データ)S1c」と称する)の構成を示している。図3(c)に示す例では、病院状況データS1cは、「(病院名=H病院;住所=C市T町1−2;病院分類=三次救急;診療科=内科,外科,…;医師リスト=(D医師,E医師));(病院名=I病院;住所=C市U町2−3;病院分類=二次救急;診療科=内科,外科,…;医師リスト=(F医師;G医師);…」等のデータを含む構成となっている。図3(c)に示す例では、複数の病院状況データS1が連結された構成となっている。
【0075】
図4(a)は、外部システム(ここでは、病院データシステム300)から選定サーバ1に送信された状態の、医師の在席状況を表す状況データS(以下、「状況データ(医師状況データ)S2a」と称する)の構成の一例を示している。図4(a)に示す例では、医師状況データS2aは、「医師名=D医師;状況=医局」及び「医師名=E医師;状況=手術中」等のデータを含む構成となっている。
【0076】
また、図4(b)は、ベイジアンネットワークでの使用に好適な形態に変換された状態の、医師の在席状況を表す状況データS(以下、「状況データ(医師状況データ)S2b」と称する)の構成を示している。状況データS2bは、変数とその変数に対応する値との組み合わせによって構成されている。図4(b)に示す例では、医師状況データS2bは、「氏名=D;専門診療科=心臓血管外科;所属=H病院」及び「氏名=E;専門診療科=脳血管外科;所属=H病院」等のデータを含む構成となっている。
【0077】
また、図4(c)は、任意のデータが補完された状態の、医師の在席状況を表す状況データS(以下、「状況データ(医師状況データ)S2c」と称する)の構成を示している。図4(c)に示す例では、複数の医師状況データS2が連結された構成となっている。図4(c)に示す例では、医師状況データS2cは、「(氏名=D;専門診療科=心臓血管外科;所属=H病院);(氏名=E;専門診療科=脳神経外科;所属=H病院);…」等のデータを含む構成となっている。
【0078】
(ホワイトリストの構成)
次に、図5を参照して、選定サーバ1の入力変数ホワイトリスト記憶部26に保持されるホワイトリスト261の構成を説明する。図5は、実施形態に用いる入力変数ホワイトリストの構成を示す図である。図5(a)は、ホワイトリスト261の模式的な構成を示しており、図5(b)及び図5(c)は、ホワイトリスト261の具体的な構成を示している。
【0079】
ホワイトリスト261は、図5(a)に示す「変数={値1,値2,…}」のように、変数とその変数に対応する値とを組み合わせた構成となる。
具体的には、ホワイトリスト261は、図5(b)に示す「<医師心臓血管外科>={<対応可>,<対応可(限定的)>},…」のような構成や、図5(c)に示す「<予測搬送時間>={<10分未満>,<20分未満>,<30分未満>},<病院分類>={<三次救急>},<医師心臓血管外科>={<対応可>,<対応可(限定的)>},<医師脳神経外科>={<対応可>,<対応可(限定的)>,<対応不可>},…」のような構成となる。
入力変換ホワイトリスト記憶部26は、様々な入力条件に応じて、複数種類のホワイトリスト261を保持する。
【0080】
(ベイジアンネットワークモデルの構成)
次に、図6〜図8を参照して、ベイジアンネットワークモデルサーバ4のモデルデータ記憶部46に予め記憶されるベイジアンネットワークモデル(ここでは、病院選定モデル461)の構成を説明する。図6〜図8は、それぞれ、実施形態に用いるベイジアンネットワークモデルの構成を示す図である。図6は、ベイジアンネットワークモデルである病院選定モデル461の全体構成を示しており、図7は、病院選定モデル461を構成する選択対象データ53A(図6参照)の入力条件に対する出力変数の確率の表(以下、「条件付確率表」と称する)を示しており、図8は、選択対象データ53B(図6参照)の条件付確率表を示している。
【0081】
図6に示すように、ベイジアンネットワークモデルである病院選定モデル461は、各選択対象データ53の因果関係を階層的に規定している。病院選定モデル461を構成する各選択対象データ53は、変数とその変数に対応する値とが組み合わされた構成となっている。
【0082】
各選択対象データ53の変数は、入力変数411a、中間変数412a、及び、出力変数413aのいずれか1つとなる。なお、「入力変数411a」とは、利用者データ(ここでは、患者データU)や登録データ(ここでは、病院データ51及び医師データ52)を入力するための変数を意味する。「中間変数412a」とは、入力変数411aと出力変数413aとの間の中間的な変数を意味する。「出力変数413a」とは、確率計算の結果となる変数を意味する。
【0083】
図6は、変数が入力変数411aとなる選択対象データ53を「●」印で示し、変数が中間変数412aとなる選択対象データ53を「▲」印で示し、変数が出力変数413aとなる選択対象データ53を「■」印で示している。また、図6は、変数が入力変数411aとなる選択対象データ53として、患者データ41A、救急車両・病院データ41B、病院データ41C、医師データ41D等を示している。ただし、図6に示す変数は、ベイジアンネットワークモデルの構成や入力条件次第で、入力変数411aが中間変数や出力変数に、中間変数412aが入力変数や出力変数に、さらに、出力変数413aが入力変数や中間変数に変化する場合もある。
【0084】
また、図6は、患者データ41Aの入力変数411aとして、<患者疾患>、<患者重症度>、<患者緊急度>等があることを、また、救急車両・病院データ41Bの入力変数411aとして、<予測搬送時間>があることを、また、病院データ41Cの入力変数411aとして、<病院分類>があることを、さらに、医師データ41Dの入力変数411aとして、<医師心臓血管外科>、<医師脳神経外科>、<医師整形外科>、<医師外科>等があることを示している。入力変数411aは、対応する値411bとして、それぞれに設定可能な範囲が組み合わされる。
【0085】
また、図6は、中間変数412aとして、<緊急適合度>、<重症適合度>、<緊急・重症適合度>、<心疾患適合度>、<脳疾患適合度>、<外傷適合度>、<診療科適合度>等があることを示している。中間変数412aは、対応する値として、<Y>又は<N>の2値が組み合わされる。変数が中間変数412aとなっている選択対象データ53は、出力値が<Y>及びは<N>のいずれか一方となる。出力値は、<Y>の場合に、適合度が<N>の場合よりも高くなるように設定される。
【0086】
また、図6は、出力変数413aとして、<総合適合度>があることを示している。出力変数413aは、対応する値として、<Y>又は<N>の2値が組み合わされる。変数が出力変数413aとなっている選択対象データ53は、出力値が<Y>及びは<N>のいずれか一方となる。この出力変数413aに対応する出力値が、ベイジアンネットワークによる出力変数の確率計算の評価値となる。出力値は、<Y>の場合に、適合度が<N>の場合よりも高くなるように設定される。病院選定の処理では、ベイジアンネットワークによる確率計算で、最終的に、出力変数<総合適合度>の値が<Y>である確率が出力される。
【0087】
なお、図6に示す例では、病院選定モデル461は、患者の年齢、性別、既往症等のデータを含んでいないが、実際の運用では、これらのデータが必要となる。
同様に、病院選定モデル461は、病院の手術室、処置室、救急ベッド等のデータを含んでいないが、実際の運用では、これらのデータが必要となる。
【0088】
図7は、<患者疾患>、<医師心臓血管外科>、及び、<医師外科>を変数とする選択対象データ(心疾患適合度)53A(図6参照)の条件付確率表(すなわち、入力条件に対する出力変数の確率の表)を示している。この条件付確率表は、すべての中間変数、出力変数について存在する。
【0089】
図7に示す例では、変数<心疾患適合度>の値が<Y>である確率は、例えば、親である変数<患者疾患>の値が<心疾患>であり、変数<医師心臓血管外科>の値が<対応可>である場合に、変数<医師外科>の値に関わらず、「1」となっている。
また、変数<心疾患適合度>の値が<Y>である確率は、例えば、親である変数<患者疾患>の値が<心疾患>であり、変数<医師心臓血管外科>の値が<対応可(限定的)>である場合に、変数<医師外科>の値に関わらず、「0.7」となっている。
また、変数<心疾患適合度>の値が<Y>である確率は、例えば、親である変数<患者疾患>の値が<心疾患>であり、変数<医師心臓血管外科>の値が<対応不可>である場合に、変数<医師外科>の値に応じて、それぞれ、「0.2」、「0.1」、「0」となっている。
【0090】
図8は、<心疾患適合度>、<脳疾患適合度>、及び、<外傷適合度>の3つを変数とする選択対象データ(疾患診療科適合度)53B(図6参照)の条件付確率表を示している。
【0091】
図8に示す例では、変数<疾患診療科適合度>の値が<Y>である確率は、例えば、親である変数<心疾患適合度>の値が<Y>であり、変数<脳疾患適合度>の値が<Y>であり、変数<外傷適合度>の値に関わらず、「0.8」となっている。
また、変数<疾患診療科適合度>の値が<Y>である確率は、例えば、親である変数<心疾患適合度>の値が<N>であり、変数<脳疾患適合度>の値が<Y>であり、変数<外傷適合度>の値に応じて、それぞれ、「0.7」、「0.5」となっている。
【0092】
(登録データの構成)
次に、図9及び図10を参照して、病院医師データベース5の登録データ記憶部50に保持される登録データ(ここでは、病院データ51及び医師データ52)の構成を説明する。図9及び図10は、それぞれ、実施形態に用いる登録データの構成を示す図である。図9は、病院データ51の構成の一例を示しており、図10は、医師データ52の構成の一例を示している。
【0093】
図9に示す例では、病院データ51は、病院名511、住所512、病院分類513、診療科514、及び、医師リスト515等のデータを備える構成となっている。
図10に示す例では、医師データ52は、氏名521、専門診療科522、及び、所属523等のデータを備える構成となっている。
【0094】
<ベイジアンネットワークシステムの動作>
以下、ベイジアンネットワークシステム101の動作につき説明する。ベイジアンネットワークシステム101は、事前計算処理時(図12のS155及び図15〜図19のS605〜S710参照)に特徴的な動作を行う。この事前計算処理では、ベイジアンネットワークシステム101は、選択対象データ(ここでは、病院・医師状況データS1c,S2c(図3(c)及び図4(c)参照)を構成するデータ)の絞り込みを行っている。
【0095】
ここでは、まず、選択対象データの絞り込みの動作について説明し、次に、図11〜図19を参照して、ベイジアンネットワークシステム101の全体の動作について、事前計算処理前の動作、事前計算処理時の動作、及び、事前計算処理後の動作の順に、説明する。なお、図11〜図14は、それぞれ、実施形態に係るベイジアンネットワークシステムの全体の動作を示すフローチャートである。また、図15〜図19は、それぞれ、実施形態に係るベイジアンネットワークシステムの事前計算処理時の動作を示すフローチャートである。なお、ここでは、選定サーバ1は、ベイジアンネットワークサーバ4から病院選定モデル461を事前に取得して記憶部20(例えば、選定用記憶部24)に記憶しており、その病院選定モデル461が利用自在な状態になっているものとして説明する。
【0096】
(選択対象データの絞り込みの動作)
まず、選択対象データの絞り込みの動作について説明する。
選択サーバ1は、病院・医師状況データS1c,S2c(図3(c)及び図4(c)参照)を構成する選択対象データを対象にして、絞り込みの条件として用いることが可能な選択対象データを規定する。これにより、選択サーバ1は、確率計算の対象となる選択対象データを絞り込む。以下、「絞り込みの条件として用いることが可能な選択対象データの規定」を、「絞り込みの条件の規定」と称する。「絞り込みの条件の規定」は、入力変数と値との組み合わせをホワイトリスト261(図1及び図5参照)に保持することによって行われる。
【0097】
以下、「絞り込みの条件の規定」について説明する。
まず、選択サーバ1のデータ選定部12が、病院・医師状況データS1c,S2c(図3(c)及び図4(c)参照)を構成する選択対象データを対象にして、各選択対象データに対応する各入力変数に対して任意の値をセット(設定保存)した場合の出力変数の確率を、ベイジアンネットワークサーバ4の確率計算部41に計算させる。このとき、データ選定部12は、子変数Ckに対応する(組み合わされている)値が<Y>となっている各選択対象データを対象にして、出力変数の確率を、確率計算部41に計算させる(図17のS675及びS680参照)。これにより、データ選定部12は、値が最大となる出力変数の確率を、確率計算部41に計算させる。以下、出力変数の確率が最大となる値を、「確率の最大値」と称する。ここでは、確率の最大値に対して、符号「Vpjmax」(図17のS680参照)を付与して説明する。なお、符号「Vpjmax」の「V」は、値(Value)を意味している。また、「子変数」とは、ベイジアンネットワークモデル(ここでは、病院選定モデル461)において、任意の入力変数に対して下位に属する変数を意味する。ここでは、子変数に対して、符号「Ck」(図15のS615参照)を付与して説明する(ただし、k=1,2,…である)。なお、符号「Ck」の「C」は、子(Child)を意味している。
【0098】
次に、データ選定部12は、確率計算部41によって算出された確率の最大値Vpjmaxと、閾値一時保持部24に保持されている閾値とを比較する。データ選定部12は、この比較で、確率の最大値Vpjmaxが閾値以上であるときに、入力変数Niと確率の最大値Vpjmaxに対応する任意の値Vpとの組み合わせをホワイトリスト261(図1及び図5参照)に保持する。これにより、「絞り込みの条件の規定」が行われる。
【0099】
(事前計算処理前の動作)
次に、図11及び図12を参照して、ベイジアンネットワークシステム101の事前計算処理前の動作につき説明する。なお、ベイジアンネットワークシステム101は、図示せぬタイマによって計測された時間に基づいて動作する。また、ベイジアンネットワークシステム101の一連の動作は、記憶部に読み出し自在に予め記憶されたプログラムによって規定されている。また、各データは、記憶手段に読み出し自在に一旦記憶されてから、その後の処理を行う所要の構成要素に出力される。以下、これらの点については、データ処理では常套手段であるので、その詳細な説明を省略する。
【0100】
図11及び図12に示すように、選定サーバ1は、起動すると、以下の動作を開始する。
まず、選定サーバ1のデータ選定部12は、ベイジアンネットワークサーバ4(図ではBNサーバ)に対して、初期化命令(−)を送信する(S105)。なお、符号「(−)」は、命令が引数を含んでいないことを示している。
ベイジアンネットワークサーバ4の確率計算部41は、選定サーバ1から初期化命令(−)を受信すると、これに応答して、計算用記憶部47に保持された過去のデータを初期化した後、モデルテータ記憶部46から病院選定モデル461を読み出す(S110)。これにより、確率計算部41は、ベイジアンネットワークによる確率計算を行うことが可能な状態となる。
この後、選定サーバ1のデータ選定部12は、緊急車両端末200からの患者データUの入力待ちの状態になる(S115)。
【0101】
緊急車両端末200は、救急患者が発生した場合に、救急隊員によって患者データUが入力される。救急隊員は、救急患者の容態に応じて、判る範囲内で、例えば、図2(a)に示す患者データUaを救急車両端末200に入力する。救急車両端末200は、患者データUaの入力を受け付けると、入力された患者データUaを選定サーバ1に送信する(S120)。
【0102】
選定サーバ1のデータ選定部12は、患者データUaを受信すると、受信した患者データUaを入力データ一時記憶部23に保持する。この後、データ選定部12は、記憶部20のプログラム記憶部21(又は、記憶部)に登録されている図示せぬ変換用のテーブルデータを参照して、患者データUaを、入力変数と値との組み合わせからなる患者データUb(図2(b)参照)の形態に変換して、選定用記憶部24に保持する(S125)。
【0103】
この後、データ選定部12は、病院データシステム300に対して、病院・医師状況データSを送信させるために、データ送信依頼(−)を送信する(S130)。
病院データシステム300は、データ送信依頼(−)を受信すると、これに応答して、設備の利用状況を表す病院・医師状況データSとして、例えば、図3(a)に示す病院状況データS1aや図4(a)に示す医師状況データS2aを選定サーバ1に送信する(S135)。
【0104】
選定サーバ1のデータ選定部12は、病院・医師状況データS1a,S2aを受信すると、受信した病院・医師状況データS1a,S2aを入力データ一時記憶部23に保持する。この後、データ選定部12は、記憶部20のプログラム記憶部21(又は、記憶部)に登録されている図示せぬ変換用のテーブルデータを参照して、病院・医師状況データS1a,S2aを入力変数と値との組み合わせからなる病院・医師状況データS1b,S2b(図3(b)及び図4(b)参照)の形態に変換して、選定用記憶部24に保持する(S140)。なお、このとき、データ選定部12は、医師の専門診療科に応じて、図4(a)及び図4(b)に示すように、医師の「医局」、「手術中」等のデータを、<医師心臓血管外科>、<医師脳神経外科>、<医師整形外科>、及び、<医師外科>のいずれか1つの入力変数と、その入力変数に対応する値(例えば、<対応可>、<対応可(限定的)>、及び<対応不可>のいずれか1乃至複数の値)に変換する。
【0105】
この後、選定サーバ1のデータ選定部12は、病院医師データベース5に登録されている図9に示す病院データ51や図10に示す医師データ52を参照して、病院・医師状況データS1b,S2bに対して、任意のデータを付加(補完)して、病院・医師状況データS1c,S2c(図3(c)及び図4(c)参照)の形態に変更して、選定用記憶部24に保持する(S145)。
【0106】
また、このとき、データ選定部12は、患者データUの「発生場所」と病院状況データS1bの「住所」とに基づいて予測搬送時間を計算する。そして、データ選定部12は、<予測搬送時間>を入力変数とし、<算出時間>を値として、入力変数<予測搬送時間>と値<算出時間>との組み合わせデータを生成し、病院状況データS1cに付加して(又は、対応付けて)、選定用記憶部24に保持する。
【0107】
この後、データ選定部12は、閾値一時記憶部25に保持する閾値として値「1.0」に設定し(S150)、以下のようにして事前計算処理を行う(S155)。なお、値「1.0」は、適合度が100%であることを意味している。
【0108】
(事前計算処理時の動作)
次に、図15〜図19を参照して、ベイジアンネットワークシステム101の事前計算処理時の動作につき説明する。
【0109】
ここでは、図6に示す患者データ41A以外の入力変数を、変数Ni(ただし、i=1,2,…である)とし、各変数Niに対応する(組み合わされている)各値を値Vj(ただし、j=1,2,…である)として、説明する。なお、「患者データ41A以外の入力変数」とは、具体的には、図6に示す救急車両・病院データ41Bの<予測搬送時間>、病院データ41Cの<病院分類>、医師データ41Dの<医師心臓血管外科>、<医師脳神経外科>、<医師整形外科>、及び<医師外科>等の変数を意味している。
【0110】
図15〜図19に示すように、まず、選定サーバ1のデータ選定部12は、ホワイトリスト261をリセットする(S605)。
【0111】
次に、データ選定部12は、各変数Niについて、以下に説明するS610〜S710の処理を行う。
【0112】
(各変数Niについて)
まず、データ選定部12は、変数Niのすべての子変数Ckを取得(受信)するために、子変数送信命令(Ni)をベイジアンネットワークサーバ4に送信して、変数Niのすべての子変数Ckの送信をベイジアンネットワークサーバ4に指示する(S610)。このとき、データ選定部12は、例えば、変数Niが病院データ41Cの<病院分類>(図6参照)である場合に、子変数送信命令(Ni)として子変数送信命令(<病院分類>)をベイジアンネットワークサーバ4に送信する。
【0113】
ベイジアンネットワークサーバ4の確率計算部41は、子変数送信命令(Ni)を受信すると、これに応答して、S110(図11参照)で読み出された病院選定モデル461に基づいて、変数Niのすべての子変数Ckを特定する。このとき、確率計算部41は、例えば、変数Niが病院データ41Cの<病院分類>である場合に、すべての子変数Ckとして<重症適合度>を特定する。確率計算部41は、変数Niのすべての子変数Ckを特定すると、特定したすべての子変数Ckを選定サーバ1に送信する(S615)。
【0114】
これにより、選択サーバ1は、変数Niのすべての子変数Ckを取得(受信)する。
選択サーバ1のデータ選定部12は、変数Niのすべての子変数Ckを取得すると、これに応答して、取得したすべての子変数Ckを選定用記憶部24に保持する。
【0115】
次に、データ選定部12は、各子変数Ckについて、以下に説明するS620〜S710の処理を行う。
【0116】
(各子変数Ckについて)
まず、データ選定部12は、各子変数Ckのすべての親変数Plを取得(受信)するために、親変数送信命令(Ck)をベイジアンネットワークサーバ4に送信して、各子変数Ckのすべての親変数Plの送信をベイジアンネットワークサーバ4に指示する(S620)。このとき、データ選定部12は、例えば、子変数Ckが<重症適合度>(図6参照)である場合に、親変数送信命令(Ck)として親変数送信命令(<重症適合度>)をベイジアンネットワークサーバ4に送信する。なお、「親変数」とは、ベイジアンネットワークモデル(ここでは、病院選定モデル461)において、任意の入力変数に対して上位に属する変数を意味する。ここでは、親変数に対して、符号「Pl」(図15のS625参照)を付与して説明する(ただし、l=1,2,…である)。なお、符号「Pl」の「P」は、親(Parent)を意味している。
【0117】
ベイジアンネットワークサーバ4の確率計算部41は、親変数送信命令(Ck)を受信すると、これに応答して、S110(図11参照)で読み出された病院選定モデル461に基づいて、各子変数Ckのすべての親変数Plを特定する。このとき、確率計算部41は、例えば、子変数Ckが<重症適合度>である場合に、すべての親変数Plとして<患者重症度>及び<病院分類>を特定する。確率計算部41は、各子変数Ckのすべての親変数Plを特定すると、特定したすべての親変数Plを選定サーバ1に送信する(S625)。
【0118】
これにより、選択サーバ1は、各子変数Ckのすべての親変数Plを取得(受信)する。
選択サーバ1のデータ選定部12は、各子変数Ckのすべての親変数Plを取得すると、これに応答して、取得したすべての親変数Plを選定用記憶部24に保持する。
【0119】
次に、データ選定部12は、各変数Niに対応する各値Vjについて、以下に説明するS630〜S710の処理を行う。
【0120】
(各値Vjについて)
まず、データ選定部12は、変数クリア命令(−)をベイジアンネットワークサーバ4に送信して、計算用記憶部47にセットされているすべての入力変数、中間変数、出力変数の値のクリア(消去)をベイジアンネットワークサーバ4に指示する(S630)。
【0121】
ベイジアンネットワークサーバ4の確率計算部41は、変数クリア命令(−)を受信すると、これに応答して、計算用記憶部47にセットされているすべての入力変数、中間変数、出力変数の値をクリアする(S635)。
【0122】
次に、選定サーバ1のデータ選定部12は、変数セット命令(入力変数,値)(ここでは、変数セット命令(患者データU,値))をベイジアンネットワークサーバ4に送信して、入力変数とその入力変数に対応する値との組み合わせの計算用記憶部47へのセットをベイジアンネットワークサーバ4に指示する(S640)。
【0123】
具体的には、データ選定部12は、S125で入力データ一時記憶部23に保持された患者データUを参照して、変数セット命令(患者データU,値)として、変数セット命令((<患者疾患>,<心疾患>);(<患者重症度>,<重症>);(<患者緊急度>,<緊急>))を生成して、ベイジアンネットワークサーバ4に送信する。
【0124】
ベイジアンネットワークサーバ4の確率計算部41は、変数セット命令(入力変数,値)(ここでは、変数セット命令(患者データU,値))を受信すると、これに応答して、変数セット命令(入力変数,値)によって指定されたすべての入力変数と値との組み合わせを計算用記憶部47にセットする(S645)。
【0125】
具体的には、確率計算部41は、変数セット命令(入力変数,値)が変数セット命令((<患者疾患>,<心疾患>);(<患者重症度>,<重症>);(<患者緊急度>,<緊急>))である場合に、変数<患者疾患>と値<心疾患>との組み合わせ、変数<患者重症度>と値<重症>との組み合わせ、及び、変数<患者緊急度>と<緊急>との組み合わせを、計算用記憶部47にセットする。
【0126】
この後、選定サーバ1のデータ選定部12は、各変数Niに対応する各値を「Vj」(ただし、j=1,2,…である)とし、変数セット命令(Ni,Vj)をベイジアンネットワークサーバ4に送信して、入力変数Niとその入力変数Niに対応する値Vjとの組み合わせの計算用記憶部47へのセットをベイジアンネットワークサーバ4に指示する(S650)。
【0127】
ベイジアンネットワークサーバ4の確率計算部41は、変数セット命令(Ni,Vj)を受信すると、これに応答して、変数セット命令(Ni,Vj)によって指定されたすべての入力変数Niと値Vjとの組み合わせを計算用記憶部47にセットする(S655)。
【0128】
次に、選定サーバ1のデータ選定部12は、各親変数Plについて、以下に説明するS660〜S695の処理を行う。
【0129】
まず、データ選定部12は、各親変数Plに対応する各値を「VPj」(ただし、j=1,2,…である)とし、各親変数Plについて、各親変数Plに対応する各値VPjが計算用記憶部47に未セットであるか否かを判定する(S660)。
【0130】
S660の判定で、各値VPjが未セットであると判定された場合(“Y”の場合)に、データ選定部12は、各親変数Plと各値VPjとの組み合わせをベイジアンネットワークサーバ4にセットさせる必要がある。そのため、この場合に、選定サーバ1は、各親変数Plに対応する各値VPjについて、以下に説明するS665〜S680の処理を行う。
【0131】
一方、S660の判定で、各値VPjが未セットでないと判定された場合(“N”の場合)に、データ選定部12は、各親変数Plと各値VPjとの組み合わせをベイジアンネットワークサーバ4にセットさせる必要がないため、各親変数Plに対応する各値VPjについて何もする必要がない。したがって、この場合に、処理は、S700に進む。
【0132】
なお、各値VPjが未セットでないと判定された場合とは、例えば、親変数Plが図6に示す入力変数<重症適合度>の親変数<患者重症度>である場合に、各値VPjとして、<死亡>、<重篤>、<重症>、<中等症>、及び、<軽症>のいずれかの値が既にセットされていることを意味する。また、親変数Plが図6に示す入力変数<重症適合度>の親変数<病院分類>である場合に、各値VPjとして、<三次救急>及ぶ<二次救急>のいずれかの値が既にセットされていることを意味する。
【0133】
前記した通り、S660の判定で、各値VPjが未セットであると判定された場合(“Y”の場合)に、データ選定部12は、各親変数Plに対応する各値VPjについて、以下に説明するS665〜S680の処理を行う。
【0134】
(各値VPjについて)
まず、データ選定部12は、変数セット命令(Pl,VPj)をベイジアンネットワークサーバ4に送信して、各親変数Plとその親変数に対応する値VPjとの組み合わせの計算用記憶部47へのセットをベイジアンネットワークサーバ4に指示する(S665)。
【0135】
ベイジアンネットワークサーバ4の確率計算部41は、変数セット命令(Pl,VPj)を受信すると、これに応答して、変数セット命令(Pl,VPj)によって指定されたすべての親変数Plと値VPjとの組み合わせを計算用記憶部47にセットする(S670)。
【0136】
この後、選定サーバ1のデータ選定部12は、確率計算命令(Ck,“Y”)をベイジアンネットワークサーバ4に送信して、各子変数Ckに対応する値が「Y」である場合の確率の計算をベイジアンネットワークサーバ4に指示する(S675)。
【0137】
ベイジアンネットワークサーバ4の確率計算部41は、確率計算命令(Ck,“Y”)を受信すると、これに応答して、確率計算命令(Ck,“Y”)によって指定されたすべての子変数Ckについて、ベイジアンネットワークにより、子変数Ckに対応する値が「Y」である場合の確率を計算する(S680)。
【0138】
確率計算部41は、すべての子変数Ckについて、確率を計算すると、確率が最大になる場合の親変数Plに対応する値(以下、「確率の最大値」と称する)VPjmaxを選定サーバ1に送信する。
【0139】
これにより、選択サーバ1は、確率の最大値VPjmaxを取得(受信)する(S685)。
選択サーバ1のデータ選定部12は、確率の最大値VPjmaxを取得すると、これに応答して、取得した確率の最大値VPjmaxを選定用記憶部24に保持する。
【0140】
この後、データ選定部12は、変数セット命令(Pl,VPjmax)をベイジアンネットワークサーバ4に送信して、各親変数Plと確率の最大値VPjmaxとの組み合わせの計算用記憶部47へのセットをベイジアンネットワークサーバ4に指示する(S690)。
【0141】
例えば、図7に示すように、変数Niが<医師心臓血管外科>であり、値Vjが<対応不可>であり、変数Ckが<心疾患適合度>であり、変数Plが<医師外科>である場合に、変数Ck<心疾患適合度>の値が<Y>である確率は、変数Pl<医師外科>の値Vpjが<対応可>のときに「0.2」となり、値Vpjが<対応可(限定的)>のときに「0.1」となり、値Vpjが<対応不可>のときに「0」となる。そのため、この場合に、確率の最大値VPjmaxは、値<対応可>となる。
したがって、この場合に、データ選定部12は、変数セット命令(Pl,VPjmax)として、変数セット命令(<医師外科>,<対応可>)を生成して、ベイジアンネットワークサーバ4に送信する。
【0142】
ベイジアンネットワークサーバ4の確率計算部41は、変数セット命令(Pl,VPjmax)を受信すると、これに応答して、変数セット命令(Pl,VPjmax)によって指定された親変数Plと確率の最大値VPjmaxとの組み合わせを計算用記憶部47にセットする(S695)。
【0143】
この後、選定サーバ1のデータ選定部12は、子変数Ckが出力変数であるか否かを判定する(S700)。
【0144】
S700の判定で、子変数Ckが出力変数であると判定された場合(“Y”の場合)に、データ選定部12は、入力データ一時記憶部23に保持されている確率の最大値VPjmaxと閾値一時記憶部25に保持されている閾値とを比較して、確率の最大値VPjmaxが閾値以上であるか否かを判定する(S705)。
【0145】
一方、S700の判定で、子変数Ckが出力変数でないと判定された場合(“N”の場合)に、データ選定部12は、子変数Ckを変数Niとして入力データ一時記憶部23にセットして(S710)、S610(「Niの子変数の送信指示」)以降の処理を再帰的に行う。すなわち、データ選定部12は、子変数Ckを入力変数Niと見なして、各入力変数Niについての処理を再帰的に行う。ただし、データ選定部12は、処理を再帰的に行う場合に、S630〜S645(「すべての入力・中間・出力変数のクリア指示」〜「入力変数に値をセット」)の処理を行わないようにする。また、データ選定部12は、処理を再帰的に行った結果、最大の確率値VPjmaxが閾値以上となった場合に、S715で、変数Niと値Vjとをホワイトリスト261に追加する。
【0146】
S705の判定で、確率の最大値VPjmaxが閾値以上であると判定された場合(“Y”の場合)に、データ選定部12は、変数Niと値Vjとをホワイトリスト261に追加する(S715)。これにより、データ選定部12は、事前計算処理を終了する。
【0147】
一方、S705の判定で、確率の最大値VPjmaxが閾値以上でないと判定された場合(“N”の場合)に、データ選定部12は、何もせずに、事前計算処理を終了する。
【0148】
以上で、事前計算処理は、終了となる。
選定サーバ1は、この事前計算処理により、幾つかの変数Niとその変数Niに対応する幾つかの値Vjとの組み合わせが、ホワイトリスト261に保持される。
【0149】
(事前計算処理後の動作)
次に、図12〜図14を参照して、ベイジアンネットワークシステム101の事前計算処理後の動作につき説明する。
【0150】
S155の後、選定サーバ1のデータ選定部12は、S145で選定用記憶部24に保持された各病院・医師状況データS1c,S2cについて、以下に説明するS160〜S180の処理を行う。
【0151】
(各病院・医師状況データについて)
まず、選定サーバ1のデータ選定部12は、S125で選定用記憶部24に保持された患者データUbに基づいて、参照するホワイトリスト261を特定する。そして、データ選定部12は、S145で選定用記憶部24に保持された各病院・医師状況データSについて、各病院・医師状況データSの変数と値との組み合わせに一致する組み合わせの変数Niと値Vjとが、ホワイトリスト261に保持されているか否かを判定する(S160)。
【0152】
S160の判定で、一致する組み合わせの変数Niと値Vjとがホワイトリスト261に保持されていないと判定された場合(“N”の場合)に、処理は、S185に進む。
【0153】
一方、S160の判定で、一致する組み合わせの変数Niと値Vjとがホワイトリスト261に保持されていると判定された場合(“Y”の場合)に、データ選定部12は、一致する組み合わせの変数Niと値Vjとに基づいて、入力変数セット命令(Ni,Vj)を生成し、入力変数セット命令(Ni,Vj)をベイジアンネットワークサーバ4に送信して、各入力変数Niと値Vjとの組み合わせの計算用記憶部47へのセットをベイジアンネットワークサーバ4に指示する。
【0154】
さらに、データ選定部12は、出力変数の計算確率命令(S)をベイジアンネットワークサーバ4に送信して、出力変数の確率(適合度)の計算をベイジアンネットワークサーバ4に指示する(S165)。なお、「(S)」は、引数が、各病院・医師状況データSの変数と値との組み合わせに一致するすべての組み合わせの変数Ni及び値Vjであることを意味している。
【0155】
これにより、データ選定部12は、各病院・医師状況データSの変数と値との組み合わせに一致する選択対象データ53のみを対象にして、各選択対象データ53の出力変数の確率(適合度)の計算を指示する。
【0156】
ベイジアンネットワークサーバ4の確率計算部41は、出力変数の計算確率命令(−)を受信すると、これに応答して、計算用記憶部47にセットされている各入力変数Niと値Vjとの組み合わせに基づいて、出力変数の確率(適合度)を計算する(S170)。
確率計算部41は、出力変数の確率(適合度)を計算すると、各適合度を選定サーバ1に送信する。
【0157】
これにより、選択サーバ1は、各適合度を取得(受信)する。
選択サーバ1のデータ選定部12は、各適合度を取得すると、これに応答して、取得した各適合度を各病院・医師状況データS1c,S2cとを対応付けて選定用記憶部24に保持する。
【0158】
この後、データ選定部12は、取得した各適合度と閾値一時記憶部25に保持されている閾値とを比較して、各適合度について、適合度が閾値以上であるか否かを判定する(S175)。
【0159】
S175の判定で、適合度が閾値以上でないと判定された場合(“N”の場合)に、処理は、S185に進む。
【0160】
一方、S175の判定で、適合度が閾値以上であると判定された場合(“Y”の場合)に、データ選定部12は、閾値以上と判定された適合度に対応付けられている各病院・医師状況データS1c,S2cを、有力候補として、選定用記憶部24に保持する(S180)。
【0161】
次に、選定サーバ1のデータ選定部12は、選定用記憶部24に保持されている有力候補の数と出力候補数記憶部22に保持されている出力候補数とを比較して、有力候補の数が出力候補数以上であるか否かを判定する(S185)。
【0162】
S185の判定で、有力候補の数が出力候補数以上であると判定された場合(“Y”の場合)に、データ選定部12は、有力候補として選定用記憶部24に保持されている適合度に対応付けられている各病院・医師状況データS1c,S2cを、最適な病院の候補データとして、救急車両端末200に送信する(S190)。これにより、ベイジアンネットワークシステム101は、一連の処理を終了する。
【0163】
一方、S185の判定で、有力候補の数が出力候補数以上でないと判定された場合(“N”の場合)に、データ選定部12は、閾値一時記憶部25に保持されている閾値を任意の値(例えば、0.2)だけ下げて、新しい閾値を生成し、生成した新しい閾値を閾値一時記憶部25に保持する(S195)。この後、処理は、S155に戻る。その結果、ベイジアンネットワークシステム101は、S155の事前計算処理を再び行う。
【0164】
以上の通り、本実施形態に係るベイジアンネットワークシステム101は、S155の事前計算処理を行うことにより、出力変数の確率が閾値を超える可能性がある入力変数とその入力変数に対応する値とをホワイトリスト261として予め保持しておき、各病院・医師状況データS1c,S2cについて、入力変数とその入力変数に対応する値とがホワイトリスト261に保持されているか否かを判定することにより、保持されている場合にのみ、ベイジアンネットワークによる確率計算を行う。
【0165】
このようなベイジアンネットワークシステム101によれば、選択対象データの絞り込みの条件として、ベイジアンネットワークモデルで用いられている不特定な変数を用いることができる。したがって、ベイジアンネットワークシステム101によれば、不特定な条件による事前の適切な選定(絞り込み)が可能となる。
これにより、確率計算の対象となる選択対象データを事前に適切に選定する(絞り込む)ことができる。その結果、出力変数の確率の計算回数を軽減することができ、処理速度を向上させることができる。
【0166】
このようなベイジアンネットワークシステム101は、無関係な対象が母データに残らないように、各選択対象データを絞り込む。そのため、このベイジアンネットワークシステム101は、無駄な確率計算を行うことがなくなり、計算回数を低減でき、処理時間を短縮することができる。
【0167】
また、ベイジアンネットワークシステム101は、最適な対象が母データに残るように、各選択対象データを絞り込む。例えば、ベイジアンネットワークシステム101は、救急患者の搬送支援用システムに適用された場合に、「最適な病院」が母データに残るように、各選択対象データを絞り込む。そのため、このベイジアンネットワークシステム101は、最適な対象を選定することができる。
【0168】
本発明は、前記した実施形態に限定されることなく、本発明の要旨を逸脱しない範囲で種々の変更や変形を行うことができる。
【0169】
例えば、選定サーバ1は、図15〜図19に示す事前計算処理を、図11〜図14に示す処理とは無関係に、定期的に行うようにしてもよい。この場合に、図16に示すS640で、選定サーバ1からベイジアンネットワークサーバ4に送信される変数セット命令の引数は、例えば、病院選定モデル461を構成している選択対象データ53の中の任意のものが用いられるようにするとよい。
【0170】
また、例えば、選定サーバ1は、図11及び図12に示すS130〜S145の処理を、図11に示すS125及びS125の処理とは無関係に、定期的に行うようにしてもよい。
【0171】
また、例えば、救急車両端末200は、音声送信機能を有する無線装置や携帯電話機等によって構成することが可能である。この場合に、救急車両に乗車している救急隊員は、音声で救急患者の状況や救急車両の位置等を管理センタ100に通知し、一方、管理センタ100で勤務しているオペレータは、通知された救急患者の状況や救急車両の位置等のデータを選定サーバ1に入力することになる。
【0172】
また、本発明は、他の分野のシステムに適用することが可能である。
例えば、本発明は、ベイジアンネットワークシステム101を、(1)ベイジアンネットワークサーバ4が、病院選定モデル461の代わりに、求人データに関する各種のデータの因果関係を規定したベイジアンネットワークモデルをモデルデータ記憶部41に予め記憶し、(2)データベースサーバが、登録データとして、企業・団体等の法人に関するデータを登録データ記録部50に記憶し、(3)入力端末200が、患者データUの代わりに、求職者に関するデータを選定サーバ1に送信し、(4)外部システム300が、病院・医師状況データSの代わりに、企業・団体等の法人の動的なデータを送信する構成にすることにより、職業紹介分野のシステムに適用することができる。
また、本発明は、例えば、レストランや旅行等のデータコンテンツの推薦や検索、病院選定や担当者選定等の選定処理、商品の推薦等の分野のシステムにも適用することが可能である。
【符号の説明】
【0173】
1 選定サーバ
4 ベイジアンネットワークサーバ
5 病院医師データベースサーバ
10 演算部(CPU)
11 主制御部
12 データ選定部
13 通信制御部
20 記憶部(RAM,ROM,HDD等)
21 プログラム記憶部
22 出力候補数記憶部
23 入力データ一時記憶部
24 選定用記憶部
25 閾値一時記憶部
26 入力変数ホワイトリスト記憶部
31 入力部
32 出力部
33 I/O
41 確率計算部
46 モデルデータ記憶部
47 計算用記憶部
50 登録データ
51 登録データ(病院データ)
52 登録データ(医師データ)
53 選択対象データ
100 管理センタ
101 ベイジアンネットワークシステム
200 入力端末(救急車両端末)
211 選定プログラム
261 ホワイトリスト
300 外部システム(病院データシステム)
400 通信回線
411a 入力変数
411b,412b,413b 値
412A,412B サンプルデータ
412a 中間変数
413a 出力変数
461 ベイジアンネットワークモデル(病院選定モデル)
U 利用者データ(患者データ)
S 状況データ(病院・医師状況データ)

【特許請求の範囲】
【請求項1】
複数の選択対象データを評価するために、ベイジアンネットワークによる出力変数の確率計算を行うベイジアンネットワークサーバと、確率計算の対象となる選択対象データを事前に選定する選定サーバとを有するベイジアンネットワークシステムであって、
前記ベイジアンネットワークサーバは、
各選択対象データの因果関係を規定するベイジアンネットワークモデルを予め記憶するモデルデータ記憶部と、
利用者のデータ及び前記選択対象データを入力変数とし、出力変数に対応する出力値を評価値として、前記ベイジアンネットワークによる出力変数の確率計算を行う確率計算部とを備えており、
前記選定サーバは、
事前に選定する条件として用いることが可能な選択対象データを規定することにより、確率計算の対象となる選択対象データを事前に選定するデータ選定部と、
前記評価値の閾値を一時的に保持する閾値一時記憶部と、
前記評価値が前記閾値を超えるための入力変数の条件を入力変数ホワイトリストとして保持する入力変数ホワイトリスト記憶部とを備え、
前記選定サーバの前記データ選定部は、
前記利用者のデータが与えられると、
事前に、前記モデルデータ記憶部に予め記憶された前記ベイジアンネットワークモデルに含まれている不特定多数の選択対象データを対象にして、前記利用者のデータをセットし、選択対象データに対応する各入力変数のひとつに任意の値をセットした場合の前記出力変数の確率が最大となる値を確率の最大値とし、当該確率の最大値と前記閾値一時保持部に保持されている前記閾値とを比較し、当該確率の最大値が前記閾値以上であるときに、前記入力変数とセットした任意の値との組み合わせを前記入力変数ホワイトリストに登録することにより、前記事前に選定する条件として用いることが可能な選択対象データを規定しておき、
前記ベイジアンネットワークによる出力変数の確率計算を行う場合に、前記入力変数と前記確率の最大値に対応する任意の値との組み合わせが前記入力変数ホワイトリストに保持されている選択対象データのみを確率計算の対象として、前記ベイジアンネットワークサーバの前記確率計算部に、確率計算を行わせる
ことを特徴とするベイジアンネットワークシステム。
【請求項2】
請求項1に記載のベイジアンネットワークシステムにおいて、
前記選定サーバの前記データ選定部は、前記ベイジアンネットワークサーバの前記確率計算部に前記確率の最大値を計算させることにより、前記ベイジアンネットワークサーバから前記確率の最大値を取得する
ことを特徴とするベイジアンネットワークシステム。
【請求項3】
請求項2に記載のベイジアンネットワークシステムにおいて、
前記選定サーバの前記データ選定部は、前記ベイジアンネットワークサーバの前記確率計算部に前記確率の最大値を計算させるに際して、
前記ベイジアンネットワークサーバから、入力変数Niの子である1乃至複数の変数Ckを取得するとともに、各々の前記変数Ckの親である1乃至複数の変数Plを取得し、
取得された各々の前記変数Plに対応する値がセットされていない場合に、前記ベイジアンネットワークサーバの前記確率計算部に、前記ベイジアンネットワークによって前記変数Plに対応する各値の確率計算を行わせて、前記変数Ckの確率が最大となるように、前記変数Plに対応する値を前記ベイジアンネットワークサーバの前記確率計算部にセットさせ、
さらに、前記変数Ckが出力変数でない場合に、前記変数Ck及び前記変数Plの取得、及び、前記変数Plに対応する値のセットを再帰的に繰り返し行い、
前記変数Ckが出力変数である場合に、既に前記ベイジアンネットワークサーバにセットされた前記変数Plに対応する値で、前記ベイジアンネットワークサーバの前記確率計算部に、確率計算を行わせる
ことを特徴とするベイジアンネットワークシステム。
【請求項4】
請求項3に記載のベイジアンネットワークシステムにおいて、
前記ベイジアンネットワークサーバは、
前記モデルデータ記憶部に予め記憶された前記ベイジアンネットワークモデルに基づいて、前記入力変数Niの子である前記変数Ck、及び、前記変数Ckの親である前記変数Plを前記選定サーバに提供する
ことを特徴とするベイジアンネットワークシステム。
【請求項5】
複数の選択対象データを評価するために、利用者のデータと選択対象データとを入力変数とし、出力変数に対応する出力値を評価値として、ベイジアンネットワークによる出力変数の確率計算を確率計算部に行わせる際に、確率計算の対象となる選択対象データを事前に選定する選定サーバであって、
事前に選定する条件として用いることが可能な選択対象データを規定することにより、確率計算の対象となる選択対象データを事前に選定するデータ選定部と、
前記評価値の閾値を一時的に保持する閾値一時記憶部と、
前記評価値が前記閾値を超えるための入力変数の条件を入力変数ホワイトリストとして保持する入力変数ホワイトリスト記憶部とを備え、
前記データ選定部は、
前記利用者のデータが与えられると、
事前に、各選択対象データの因果関係を規定するベイジアンネットワークモデルに含まれている不特定多数の選択対象データを対象にして、前記利用者のデータをセットし、選択対象データに対応する各入力変数のひとつに任意の値をセットした場合の前記出力変数の確率が最大となる値を確率の最大値とし、当該確率の最大値と前記閾値一時保持部に保持されている前記閾値とを比較し、当該確率の最大値が前記閾値以上であるときに、前記入力変数とセットした任意の値との組み合わせを前記入力変数ホワイトリストに登録することにより、前記事前に選定する条件として用いることが可能な選択対象データを規定しておき、
前記ベイジアンネットワークによる出力変数の確率計算を行う場合に、前記入力変数と前記確率の最大値に対応する任意の値とが前記入力変数ホワイトリストに保持されている選択対象データのみを確率計算の対象として、前記確率計算部に、確率計算を行わせる
ことを特徴とする選定サーバ。
【請求項6】
請求項5に記載の選定サーバにおいて、
前記データ選定部は、前記確率計算部に前記確率の最大値を計算させることにより、前記確率計算部から前記確率の最大値を取得する
ことを特徴とする選定サーバ。
【請求項7】
請求項6に記載の選定サーバにおいて、
前記データ選定部は、前記確率計算部に前記確率の最大値を計算させるに際して、
前記ベイジアンネットワークモデルに基づいて、入力変数Niの子である1乃至複数の変数Ckを取得するとともに、各々の前記変数Ckの親である1乃至複数の変数Plを取得し、
取得された各々の前記変数Plに対応する値がセットされていない場合に、前記確率計算部に、前記ベイジアンネットワークによって前記変数Plに対応する各値の確率計算を行わせて、前記変数Ckの確率が最大となるように、前記変数Plに対応する値を前記確率計算部にセットさせ、
さらに、前記変数Ckが出力変数でない場合に、前記変数Ck及び前記変数Plの取得、及び、前記変数Plに対応する値のセットを再帰的に繰り返し行い、
前記変数Ckが出力変数である場合に、既に前記確率計算部にセットさせた前記変数Plに対応する値で、前記確率計算部に、確率計算を行わせる
ことを特徴とする選定サーバ。
【請求項8】
請求項5乃至請求項7のいずれか一項に記載の選定サーバにおいて、
前記確率計算部は、当該選定サーバの内部に設けられている、又は、当該選定サーバと接続されるベイジアンネットワークサーバの内部に設けられている
ことを特徴とする選定サーバ。
【請求項9】
コンピュータを、複数の選択対象データを評価するために、利用者のデータと選択対象データとを入力変数とし、出力変数に対応する出力値を評価値として、ベイジアンネットワークによる出力変数の確率計算を確率計算部に行わせる際に、確率計算の対象となる選択対象データを事前に選定する選定サーバとして機能させるプログラムであって、
前記コンピュータを、
事前に選定する条件として用いることが可能な選択対象データを規定することにより、確率計算の対象となる選択対象データを事前に選定するデータ選定部と、
前記評価値の閾値を一時的に保持する閾値一時記憶部と、
前記評価値が前記閾値を超えるための入力変数の条件を入力変数ホワイトリストとして保持する入力変数ホワイトリスト記憶部とを備え、
前記データ選定部は、
前記利用者のデータが与えられると、
事前に、各選択対象データの因果関係を規定するベイジアンネットワークモデルに含まれている不特定多数の選択対象データを対象にして、前記利用者のデータをセットし、選択対象データに対応する各入力変数のひとつに任意の値をセットした場合の前記出力変数の確率が最大となる値を確率の最大値とし、当該確率の最大値と前記閾値一時保持部に保持されている前記閾値とを比較し、当該確率の最大値が前記閾値以上であるときに、前記入力変数とセットした任意の値との組み合わせを前記入力変数ホワイトリストに登録することにより、前記事前に選定する条件として用いることが可能な選択対象データを規定しておき、
前記ベイジアンネットワークによる出力変数の確率計算を行う場合に、前記入力変数と前記確率の最大値に対応する任意の値との組み合わせが前記入力変数ホワイトリストに保持されている選択対象データのみを確率計算の対象として、前記確率計算部に、確率計算を行わせる、前記選定サーバとして機能させる
ことを特徴とするプログラム。
【請求項10】
請求項9に記載のプログラムにおいて、
前記コンピュータを、
前記データ選定部が、前記確率計算部に前記確率の最大値を計算させることにより、前記確率計算部から前記確率の最大値を取得する、前記選定サーバとして機能させる
ことを特徴とするプログラム。
【請求項11】
請求項10に記載のプログラムにおいて、
前記コンピュータを、
前記データ選定部が、前記確率計算部に前記確率の最大値を計算させるに際して、
前記ベイジアンネットワークモデルに基づいて、入力変数Niの子である1乃至複数の変数Ckを取得するとともに、各々の前記変数Ckの親である1乃至複数の変数Plを取得し、
取得された各々の前記変数Plに対応する値がセットされていない場合に、前記確率計算部に、前記ベイジアンネットワークによって前記変数Plに対応する各値の確率計算を行わせて、前記変数Ckの確率が最大となるように、前記変数Plに対応する値を前記確率計算部にセットさせ、
さらに、前記変数Ckが出力変数でない場合に、前記変数Ck及び前記変数Plの取得、及び、前記変数Plに対応する値のセットを再帰的に繰り返し行い、
前記変数Ckが出力変数である場合に、既に前記確率計算部にセットさせた前記変数Plに対応する値で、前記確率計算部に、確率計算を行わせる、前記選定サーバとして機能させる
ことを特徴とするプログラム。
【請求項12】
請求項9乃至請求項11のいずれか一項に記載のプログラムにおいて、
前記コンピュータを、前記確率計算部を有する前記選定サーバとして、又は、前記確率計算部を有するベイジアンネットワークサーバに接続される前記選定サーバとして機能させる
ことを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate


【公開番号】特開2011−76391(P2011−76391A)
【公開日】平成23年4月14日(2011.4.14)
【国際特許分類】
【出願番号】特願2009−227507(P2009−227507)
【出願日】平成21年9月30日(2009.9.30)
【国等の委託研究の成果に係る記載事項】(出願人による申告)国等の委託研究の成果に係る特許出願(平成21年度経済産業省産業技術研究開発「車載ITシステムを活用した緊急医療体制の構築」再委託研究、産業技術力強化法第19条の適用を受けるもの)
【出願人】(000000295)沖電気工業株式会社 (6,645)