(57)【要約】  グラフの更新において、リンクにおける確率を適切に更新するため、本発明の情報処理装置は、ノードとノードの接続関係を示すリンクとを含むグラフにおいて、リンクに設定された第１の確率を基に計算されるノードにおける第２の確率を計算する確率計算手段と、リンクの両端となるノードにおける第２の確率が所定の条件を満たす場合に、そのリンクを抽出するリンク抽出手段と、抽出されたリンク及びグラフに関連する第１の情報を出力するリンク出力手段と、第１の情報に関連する第２の情報を取得する更新情報取得手段と、第２の情報を基にグラフにおけるリンクの第１の確率を更新する推論更新手段とを含む。
2018179161.tif 000002
【特許請求の範囲】
【請求項１】
ノードと前記ノードの接続関係を示すリンクとを含むグラフにおいて、前記リンクに設定された第１の確率を基に計算される前記ノードにおける第２の確率を計算する確率計算手段と、
前記リンクの両端となる前記ノードにおける前記第２の確率が所定の条件を満たす場合に、その前記リンクを抽出するリンク抽出手段と、
抽出された前記リンク及び前記グラフに関連する第１の情報を出力するリンク出力手段と、
前記第１の情報に関連する第２の情報を取得する更新情報取得手段と、
前記第２の情報を基に前記グラフにおける前記リンクの前記第１の確率を更新する推論更新手段と
を含む情報処理装置。
【請求項２】
前記リンク出力手段が、
前記第１の情報として、
前記リンクを示す情報と、前記リンクの確率と、前記グラフを示す情報と、前記リンクを含む前記グラフにおける観測ノードとクエリノードとを示す情報とを出力する
請求項１に記載の情報処理装置。
【請求項３】
前記確率計算手段が、
前記第２の確率として、前記グラフにおいて前記観測ノードから前記クエリノードへの方向である順方向に沿って前記観測ノードから前記クエリノードまでの経路の第３の確率と、前記グラフにおいて前記クエリノードから前記観測ノードへの方向である逆方向に沿って前記ノードから前記クエリノードまでの経路の第４の確率とを計算し、
前記リンク抽出手段が、
前記リンクの両端における前記ノードの前記第３の確率と前記第４の確率とを用いて前記所定の条件を満たすか否かを判定する
請求項２に記載の情報処理装置。
【請求項４】
前記確率計算手段が、前記第１の確率が更新された前記グラフを用いて前記第２の確率を再計算し、
前記リンク抽出手段が、再計算された前記第２の確率を基に前記リンクを再抽出し、
前記リンク出力手段が、再抽出された前記リンクに関連する前記第１の情報を再出力し、
更新情報取得手段が、再出力された前記第１の情報に関連する前記第２の情報を再取得し、
前記推論更新手段が、再取得された前記第２の情報を基に前記グラフにおける前記第１の確率を再更新する
請求項１ないし３のいずれか１項に記載の情報処理装置。
【請求項５】
ノードと前記ノードの接続関係を示すリンクとを含むグラフにおいて、前記リンクに設定された第１の確率を基に計算される前記ノードにおける第２の確率を計算し、
前記リンクの両端となる前記ノードにおける前記第２の確率が所定の条件を満たす場合に、その前記リンクを抽出し、
抽出された前記リンク及び前記グラフに関連する第１の情報を出力し、
前記第１の情報に関連する第２の情報を取得し、
前記第２の情報を基に前記グラフにおける前記リンクの前記第１の確率を更新する
情報処理方法。
【請求項６】
ノードと前記ノードの接続関係を示すリンクとを含むグラフにおいて、前記リンクに設定された第１の確率を基に計算される前記ノードにおける第２の確率を計算する処理と、
前記リンクの両端となる前記ノードにおける前記第２の確率が所定の条件を満たす場合に、その前記リンクを抽出する処理と、
抽出された前記リンク及び前記グラフに関連する第１の情報を出力する処理と、
前記第１の情報に関連する第２の情報を取得する処理と、
前記第２の情報を基に前記グラフにおける前記リンクの前記第１の確率を更新する処理と
をコンピュータに実行させるプログラムをコンピュータ読み取り可能に記録する記録媒体。
【請求項７】
請求項１ないし４のいずれか１項に記載の前記情報処理装置と、
前記情報処理装置から前記第１の情報を取得して表示する表示装置と、
前記第２の情報を取得して、前記情報処理装置に送信する入力装置と
を含む情報処理システム。
【請求項８】
請求項１ないし４のいずれか１項に記載の前記情報処理装置と、
前記情報処理装置に前記グラフを送信し、前記情報処理装置から更新された前記グラフを受信し、更新された前記グラフを用いて推論を実行する推論装置と
を含む情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報の処理に関し、特に、事象間の関連を表すグラフを処理する情報処理装置などに関する。
【背景技術】
【０００２】
情報処理技術に進歩に伴い、知識などの情報を処理する技術が、広く用いられている（例えば、特許文献１及び２を参照）。【０００３】
特許文献１は、クラスタリングの技術を用いた予測モデルにおいて最高確率となる経路を決定し、決定した経路を基に欠損データを予測する技術を開示している。【０００４】
特許文献２は、ユーザから、知識とフィルタリングに関連する条件と表示のための制約とを獲得し、獲得した情報を基にユーザが欲しいデータを取得する技術を開示している。【０００５】
知識を処理する技術の一つとして、事象とその関係に関する命題を処理する自動推論がある。自動推論の分野において、推論に用いられる有向グラフ（以下、「推論グラフ」と呼ぶ）は、事象をノードとし、事象間の関係である命題をリンクとする。なお、命題は、「知識」に対応する。以下の説明では、ある事情（事象１）と他の事象（事象２）との関係である命題（リンク）を、「事象１→事象２」と表す。なお、命題（リンク）が階層構造となっている場合、命題（リンク）「事象１→事象２」は、事象１と事象２とが直接的に接続されている場合に限られず、事象１と事象２との接続の間に他の事象及び／又は命題を含んだ接続でもよい。つまり、リンクは、他の事象及び／又は命題を含んでもよい。【０００６】
なお、ノードは、節又は頂点と呼ばれる場合もある。また、リンクは、エッジ（枝又は辺）又は弧と呼ばれる場合もある。【０００７】
リンクが成り立つ確率（例えば、事象１が成立する場合の、事象２が成立する確率）が、リンクの重みとして定義される（例えば、特許文献３を参照）。【０００８】
推論グラフにおいて、実現されたノード（例えば、センサで検出した事象）は、観測と呼ばれる。また、推論グラフにおいて、問い合わせの対象となるノード（例えば、ユーザが知りたい事象）が、クエリ（query）と呼ばれる。例えば、推論グラフにおいて、ノードとして「ブザーが鳴った」と「人が侵入した」とを含むとする。この推論グラフを用いて「ブザーが鳴った」ことを検出した場合に「人が侵入した」ことを推定する場合、ノード「ブザーが鳴った」が観測（観測ノード）であり、ノード「人が侵入した」がクエリ（クエリノード）である。【０００９】
推論グラフを処理する情報処理装置は、推論グラフにおいて、リンクの確率を基に、観測とクエリとをつなぐリンクの集合である経路（パス）の確率を計算する。【００１０】
そして、情報処理装置は、最も高い確率となるパス、又は、確率が高い方から所定の範囲のパスを推論の結果として出力する。このように、パスの確率は、パスの選択に用いられ、パスの重要度を示す指標の一つである。【００１１】
なお、情報処理装置において高い確率となるパスを計算することは、推論グラフにおける最短経路問題に帰着する。つまり、情報処理装置は、最短経路問題を解くことで、最適なパスを計算できる。最短経路問題については、例えば、非特許文献１に説明が記載されている。【００１２】
さらに、推論グラフを用いる情報処理装置は、推論グラフに含まれるリンクの確率を更新する（例えば、特許文献３を参照）。パスに含まれるリンクの確率が高くなると、パスの確率は高くなる。つまり、リンクの確率は、リンクの重要度の指標の一つである。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開２０１６−０３８６２６号公報
【特許文献２】特開２００８−１５２７３９号公報
【特許文献３】国際公開第２０１６／１２１０５４号
【非特許文献】
【００１４】
【非特許文献１】“最短経路問題”、［Online］、ウィキペディア、［2017年3月6日検索］、インターネット（URL:https://ja.wikipedia.org/wiki/%E6%9C%80%E7%9F%AD%E7%B5%8C%E8%B7%AF%E5%95%8F%E9%A1%8C）
【発明の概要】
【発明が解決しようとする課題】
【００１５】
しかし、リンクの確率を更新するための情報は、必ずしも全て取得できるわけではない。そのため、推論グラフに含まれるリンクの確率の値が、適切に更新されない場合が発生する。そして、リンクの確率が本来あるべき値より小さい場合、そのリンクを含むパスの確率は、本来の値より低くなる。その結果、情報処理装置は、そのリンクを含むパス（本来は確率が高いパス）を推論の結果として出力できない。この場合、利用者は、有望な推論のパス（本来確率が高くなるパス）を見逃してしまう。【００１６】
その対策としては、推論グラフに含まれるリンクの重要の程度（具体的には、リンクの確率）をユーザに問い合わせる方法が想定される。【００１７】
しかし、一般的な推論グラフは、非常に多くのリンクを含む。そのため、全てのリンクの確率をユーザに問い合わせることは、実質的に実行不可能であるか、非常に多くの時間を要する。【００１８】
そこで、問い合わせるリンクの数を減らすため、確率の低いリンクを選択して問い合わせることが想定される。【００１９】
しかし、推論グラフは、多くのノードを含む。そして、大部分のノードは、相互の関係性が低い。そのため、推論グラフに含まれる大部分のリンクは、関係性が低いため、その確率がほぼ０に近いリンクである。このように、確率が低いリンクにおいて、大部分のリンクは、推論において重要ではない。つまり、大部分の確率が低いリンクは、利用者に問い合わせる必要がないリンクである。【００２０】
そのため、推論グラフに含まれるリンクの確率の更新において、ユーザへの問い合わせに適したリンクを選択することが望まれている。【００２１】
しかし、特許文献１ないし３及び非特許文献１は、推論グラフの更新に当たり、利用者に問い合わせるための適切なリンクを選択する技術を開示していない。つまり、特許文献１ないし３及び非特許文献１に記載の技術は、推論グラフの更新において、リンクにおける確率を適切には更新できないという問題点があった。【００２２】
本発明の目的は、上記問題点を解決し、推論グラフの更新において、リンクにおける確率を適切に更新する情報処理装置などを提供することにある。
【課題を解決するための手段】
【００２３】
本発明の一形態における情報処理装置は、ノードとノードの接続関係を示すリンクとを含むグラフにおいて、リンクに設定された第１の確率を基に計算されるノードにおける第２の確率を計算する確率計算手段と、リンクの両端となるノードにおける第２の確率が所定の条件を満たす場合に、そのリンクを抽出するリンク抽出手段と、抽出されたリンク及びグラフに関連する第１の情報を出力するリンク出力手段と、第１の情報に関連する第２の情報を取得する更新情報取得手段と、第２の情報を基にグラフにおけるリンクの第１の確率を更新する推論更新手段とを含む。【００２４】
本発明の一形態における情報処理方法は、ノードとノードの接続関係を示すリンクとを含むグラフにおいて、リンクに設定された第１の確率を基に計算されるノードにおける第２の確率を計算し、リンクの両端となるノードにおける第２の確率が所定の条件を満たす場合に、そのリンクを抽出し、抽出されたリンク及びグラフに関連する第１の情報を出力し、第１の情報に関連する第２の情報を取得し、第２の情報を基にグラフにおけるリンクの第１の確率を更新する。【００２５】
本発明の一形態における記録媒体は、ノードとノードの接続関係を示すリンクとを含むグラフにおいて、リンクに設定された第１の確率を基に計算されるノードにおける第２の確率を計算する処理と、リンクの両端となるノードにおける第２の確率が所定の条件を満たす場合に、そのリンクを抽出する処理と、抽出されたリンク及びグラフに関連する第１の情報を出力する処理と、第１の情報に関連する第２の情報を取得する処理と、第２の情報を基にグラフにおけるリンクの第１の確率を更新する処理とをコンピュータに実行させるプログラムをコンピュータ読み取り可能に記録する。【００２６】
本発明の一形態における情報処理システムは、上記の情報処理装置と、情報処理装置から第１の情報を取得して表示する表示装置と、第２の情報を取得して、情報処理装置に送信する入力装置とを含む。【００２７】
本発明の一形態における情報処理システムは、上記の情報処理装置と、情報処理装置にグラフを送信し、情報処理装置から更新されたグラフを受信し、更新されたグラフを用いて推論を実行する推論装置とを含む。
【発明の効果】
【００２８】
本発明に基づけば、推論グラフの更新において、リンクにおける確率を適切に更新するとの効果を奏することができる。
【図面の簡単な説明】
【００２９】
【図１】図１は、本発明における第１の実施形態に係る情報処理装置の構成の一例を示すブロック図である。
【図２】図２は、第１の実施形態に係る情報処理装置を含む情報処理システムの一例を示すブロック図である。
【図３】図３は、第１の実施形態に係る情報処理装置の動作の一例を示す流れ図である。
【図４】図４は、第１の実施形態に係る確率計算部における動作の一例を示す流れ図である。
【図５】図５は、第１の実施形態に係る情報処理装置のハードウェア構成の一例を示すブロック図である。
【図６】図６は、説明に用いる推論グラフを示す図である。
【図７】図７は、図６の推論グラフにおけるノードの一例を示す図である。
【図８】図８は、図６の推論グラフにおけるリンクの確率を示す図である。
【図９】図９は、第１の実施形態の順方向のスコアの初期状態を示す図である。
【図１０】図１０は、図９の次の状態を示す図である。
【図１１】図１１は、図１０の次の状態を示す図である。
【図１２】図１２は、図１１の次の状態を示す図である。
【図１３】図１３は、図１２の次の状態を示す図である。
【図１４】図１４は、図１３の次の状態を示す図である。
【図１５】図１５は、図１４の次の状態を示す図である。
【図１６】図１６は、図１５の次の状態を示す図である。
【図１７】図１７は、第１の実施形態の逆方向のスコアの初期状態を示す図である。
【図１８】図１８は、図１７の次の状態を示す図である。
【図１９】図１９は、図１８の次の状態を示す図である。
【図２０】図２０は、図１９の次の状態を示す図である。
【図２１】図２１は、図２０の次の状態を示す図である。
【図２２】図２２は、図２１の次の状態を示す図である。
【図２３】図２３は、図２２の次の状態を示す図である。
【図２４】図２４は、図２３の次の状態を示す図である。
【図２５】図２５は、順方向のスコアと逆方向のスコアの一例を示す図である。
【図２６】図２６は、リンクに対する評価値を示す図である。
【図２７】図２７は、リンクの確率の更新後の一例を示す図である。
【図２８】図２８は、情報処理装置を含む第２の情報処理システムの一例を示すブロック図である。
【発明を実施するための形態】
【００３０】
次に、本発明の実施形態について図面を参照して説明する。
【００３１】
なお、各図面は、本発明の実施形態を説明するためのものである。ただし、本発明は、各図面の記載に限られるわけではない。また、各図面の同様の構成には、同じ番号を付し、その繰り返しの説明を、省略する場合がある。また、以下の説明に用いる図面において、本発明の説明に関係しない部分の構成については、記載を省略し、図示しない場合もある。また、図面中の矢印の方向は、一例を示すものであり、ブロック間の信号の向きを限定するものではない。
【００３２】
＜第１の実施形態＞
以下、図面を参照して、第１の実施形態について説明する。
【００３３】
［構成の説明］
まず、図面を参照して、情報処理装置２０を含むシステムの一例である、情報処理システム１０について説明する。
【００３４】
図２は、本発明における第１の実施形態に係る情報処理装置２０を含む情報処理システム１０の構成の一例を示すブロック図である。
【００３５】
情報処理システム１０は、入力装置５０と、情報処理装置２０と、記憶装置３０と、表示装置４０とを含む。
【００３６】
入力装置５０は、情報処理装置２０が処理に必要となる情報を取得し、情報処理装置２０に送信する。例えば、入力装置５０は、キーボードを含み、ユーザの入力操作を検出し、入力結果を情報処理装置２０に送信する。
【００３７】
記憶装置３０は、情報処理装置２０が用いる推論グラフ（以下、単に「グラフ」とも呼ぶ）を記憶する。例えば、記憶装置３０は、ハードディスク装置、光磁気ディスク装置、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、又はディスクアレイ装置である。記憶装置３０は、データベースとして構築されてもよい。
【００３８】
表示装置４０は、情報処理装置２０の出力を表示する。例えば、表示装置４０は、液晶ディスプレイである。
【００３９】
なお、入力装置５０と表示装置４０とは、別の装置ではなく、一つの装置でもよい。例えば、入力装置５０と表示装置４０とは、タッチパッドと液晶ディスプレイを含むタッチパネルでもよい。さらに、入力装置５０と表示装置４０と記憶装置３０とは、１つの装置でもよい。例えば、入力装置５０と表示装置４０と記憶装置３０とは、タッチパネルを含むタブレット型コンピュータでもよい。
【００４０】
情報処理装置２０は、後ほど詳細に説明するように、入力装置５０から必要な情報を取得し、記憶装置３０に記憶されている推論グラフを用いて所定の条件を満たすリンクに関連する情報を表示装置４０に出力する。表示装置４０は、リンクに関する情報を表示する。入力装置５０は、リンクに関する情報に対応する更新情報を取得して、情報処理装置２０に送信する。情報処理装置２０は、表示装置４０に表示された情報に対応する更新情報を入力装置５０から取得し、必要に応じて推論グラフを更新し、記憶装置３０に保存する。
【００４１】
次に、図面を参照して、情報処理装置２０の構成について説明する。
【００４２】
図１は、本発明における第１の実施形態に係る情報処理装置２０の構成の一例を示すブロック図である。情報処理装置２０は、確率計算部２１０と、リンク抽出部２２０と、リンク出力部２３０と、更新情報取得部２４０と、推論更新部２５０とを含む。
【００４３】
確率計算部２１０は、情報処理装置２０の処理対象である推論グラフに関連する情報を取得する。確率計算部２１０が取得する推論グラフに関連する情報は、任意である。例えば、確率計算部２１０は、観測と、クエリと、リンクの確率を含む推論グラフを取得してもよい。この場合、例えば、確率計算部２１０は、図１に示されている入力装置５０から、処理対象となる推論グラフと、観測と、クエリとを取得してもよい。あるいは、確率計算部２１０は、入力装置５０から、ノード（事象）と、ノードの関係であるリンク（ノードの接続関係とその確率）とを取得し、処理対象となる推論グラフを作成してもよい。
【００４４】
また、確率計算部２１０が推論グラフに関連する情報を取得する取得元は、任意である。例えば、確率計算部２１０は、入力装置５０からではなく、記憶装置３０に記録されている情報を取得してもよい。この場合、ユーザは、予め、入力装置５０を用いて記憶装置３０に情報を保存しておけばよい。あるいは、確率計算部２１０は、図示しない外部の装置から、推論グラフを取得してよい。
【００４５】
確率計算部２１０は、取得又は作成した推論グラフを所定の装置（例えば、図１の記憶装置３０）に保存してもよい。
【００４６】
そして、確率計算部２１０は、推論グラフにおけるリンクに設定されている確率（以下、「リンク確率」又は「第１の確率」と呼ぶ）を用いて、各ノードに対して、そのノードを含むパスにおける確率を計算する。ここで、パスにおける確率とは、パスの始点のノードと終点のノードを接続するパスに含まれるリンクにおけるリンク確率の積の最大値である。
【００４７】
より詳細には、確率計算部２１０は、各ノードにおいて、観測に対応するノード（観測ノード）を始点とし、そのノードを終点としたパスの確率を計算する。さらに、確率計算部２１０は、そのノードを始点とし、クエリに対応するノード（クエリノード）を終点としたパス（経路）の確率を計算する。以下、このように計算される確率を、「ノード確率」又は「第２の確率」と呼ぶ。
【００４８】
つまり、確率計算部２１０は、ノード確率として、次のように、２つのノード確率を計算する。確率計算部２１０は、推論グラフにおける観測ノードからクエリノードへの方向である順方向に沿ってノードをたどり、観測ノードから各ノードまでのパスの確率を計算する。以下、確率計算部２１０が推論グラフの順方向に沿って計算したノード確率を「第１のノード確率」又は「第３の確率」と呼ぶ。さらに、確率計算部２１０は、推論グラフにおけるクエリノードから観測ノードへの方向である逆方向に沿ってノードをたどり、各ノードからクエリノードまでのパスの確率を計算する。以下、確率計算部２１０が推論グラフの逆方向に沿って計算したノード確率を「第２のノード確率」又は「第４の確率」と呼ぶ。
【００４９】
ただし、第１のノード確率の計算及び第２のノード確率の計算の順番は、任意である。確率計算部２１０は、第１のノード確率から計算してよく、第２のノード確率から計算してもよい。さらに、確率計算部２１０は、第１のノード確率と第２のノード確率とを並列に計算してもよい。
【００５０】
リンク抽出部２２０は、各リンクにおいて、リンクの両端となるノードにおけるノード確率を用いて、ユーザなどに出力するリンクを抽出する。より詳細には、リンク抽出部２２０は、リンクの両端のノードにおけるノード確率が所定の条件を満たすリンクを抽出する。この場合の条件と、そのリンクに設定されている確率を上げると、そのリンクを含むパスの確率が高くなる可能性が大きなリンクを抽出する条件である。
【００５１】
このような条件を満たすリンクの抽出として、リンク抽出部２２０は、ノード確率を変数とする評価関数を用いる。評価関数の一例として、以下の説明では、数式１として示されている評価関数を用いる。なお、ｐ（Ａ→Ｂ）は、ノードＡからノードＢまでのパスの確率を示す。例えば、ｐ（観測→リンクの始点）は、観測のノードから対象となるリンクの始点となるノードまでのパスの確率である。この確率は、上記において確率計算部２１０が計算しているノード確率である。例えば、リンクの始点のノードをノードＡとすると、ｐ（観測→ノードＡ）は、ノードＡにおける第１のノード確率（順方向のノード確率）である。また、ｐ（ノードＡ→クエリ）は、ノードＡにおける第２のノード確率（逆方向のノード確率）である。
［数式１］
評価関数（リンク）＝ｐ（観測→リンクの始点）×ｐ（リンクの終点→クエリ）−ｍａｘ（ｐ（観測→リンクの始点）×ｐ（リンクの始点→クエリ）、ｐ（観測→リンクの終点）×ｐ（リンクの終点→クエリ））
上記の評価関数において、ｍａｘは、括弧内の値の中で最も大きな値を選択する関数である。数式１の右辺の第１項は、そのリンクを含まない場合の観測からクエリまでのパスの確率である。第２項は、そのリンクを含む場合の観測からクエリまでのパスの最大の確率である。つまり、評価関数は、そのリンクを含むパスにおいて、そのリンクを含まない場合とリンクを含む場合とにおける確率の変化である。つまり、評価関数は、「そのリンクの確率を高くする（そのリンクに対応する命題が成り立つようにする）と、そのリンクを含むパス（推論パス）の確率が高くなる」という条件を満たしやすい場合に、値が高くなる関数である。
【００５２】
リンク抽出部２２０は、評価関数の値が所定の条件を満たすリンクを抽出する。例えば、リンク抽出部２２０は、評価関数の値が最も高いリンクを抽出する。あるいは、リンク抽出部２２０は、評価関数の値が高い方から所定数のリンクを抽出してもよい。あるいは、リンク抽出部２２０は、評価関数の値が所定の閾値より大きなリンクを抽出してもよい。
【００５３】
リンク出力部２３０は、リンク抽出部２２０が抽出したリンクに関連する情報（以下、「リンク情報」又は「第１の情報」と呼ぶ）を、出力する。例えば、リンク出力部２３０は、図２に示されている表示装置４０に、リンク情報を出力する。
【００５４】
なお、出力されるリンク情報は、後ほど説明する更新情報に対応して決定されればよい。例えば、リンク情報は、リンクを示す情報（例えば、リンクの番号又は名称など）と、そのリンクの確率と、そのリンクを含む推論パスを示す情報（例えば、推論パスに含まれるノードとリンクの名称）である。あるいは、例えば、リンク情報は、表示装置４０において、そのリンクを表示するための情報である。その場合のリンク情報の一例は、次のような情報を含む。
（１）推論グラフの情報
（２）推論グラフにおけるリンクを含むパスの情報
（３）推論グラフにおける観測とクエリとの情報
（４）推論グラフにおけるリンクの情報
（５）リンクの確率
表示装置４０は、これらの情報を基に、後ほど説明する更新情報を取得するための情報を表示すればよい。
【００５５】
更新情報取得部２４０は、リンク出力部２３０が出力したリンク情報に関連する情報（以下、「更新情報」又は「第２の情報」）を取得する。更新情報とは、抽出されたリンクの確率の更新に関連する情報である。例えば、更新情報取得部２４０は、更新情報として、表示装置４０が表示するリンク出力部２３０の出力に対するユーザの判定結果を、入力装置５０から取得する。
【００５６】
より詳細には、例えば、更新情報は、リンクに対する確率を更新するか否かを示す情報である。あるいは、更新情報は、リンクに対する更新後の確率である。例えば、更新情報取得部２４０は、入力装置５０からリンクの確率の更新値を取得してもよい。
【００５７】
あるいは、更新情報取得部２４０は、次のように動作してもよい。リンク出力部２３０がリンク情報を出力後、更新情報取得部２４０は、表示装置４０に確率を更新するか否かの問い合わせを表示させる。そして、更新情報取得部２４０は、入力装置５０から更新するとの指示を取得した場合、表示装置４０に、更新するための確率を入力するように表示させる。そして、更新情報取得部２４０は、入力装置５０から、更新するための確率を取得する。そして、更新情報取得部２４０は、取得した確率を推論更新部２５０に送信する。更新情報取得部２４０は、入力装置５０から更新しないとの指示を取得した場合、処理を終了する。
【００５８】
推論更新部２５０は、更新情報取得部２４０が取得した更新情報（例えば、リンクにおける更新後の確率）を基に、推論グラフにおけるリンクに設定されているリンク確率を更新する。
【００５９】
このように、情報処理装置２０は、推論グラフにおけるリンク確率を更新できる。
【００６０】
なお、情報処理装置２０は、更新後の推論グラフを出力してもよい。例えば、推論更新部２５０は、リンク出力部２３０を介して表示装置４０に更新後の推論グラフを送信してもよい。この場合、表示装置４０は、受信した更新後の推論グラフを表示する。ユーザは、この表示を基に、更新後の推論グラフを確認できる。
【００６１】
さらに、情報処理装置２０は、更新後の推論グラフを用いて、同様の動作を繰り返してもよい。例えば、更新情報取得部２４０が、更新しないとの更新情報を取得するまで、情報処理装置２０は、次の動作を繰り返してもよい。
【００６２】
確率計算部２１０が、リンク確率（第１の確率）が更新された推論グラフを用いてノード確率（第２の確率）を再計算する。リンク抽出部２２０が、再計算されたノード確率（第２の確率）を基にリンクを再抽出する。リンク出力部２３０が、再抽出されたリンクに関連するリンク情報（第１の情報）を再出力する。更新情報取得部２４０が、再出力されたリンク情報（第１の情報）に関連する更新情報（第２の情報）を再取得する。推論更新部２５０が、再取得された更新情報（第２の情報）を基に推論グラフにおけるリンク確率（第１の確率）を再更新する。
【００６３】
上記の動作の場合、表示装置４０は、再出力されたリンク情報を基に表示を実行する。そして、前回の動作においてリンクの確率が適切に更新されている場合、再出力されたリンク情報は、前回更新されたリンクを含まない。一方、前回の動作においてリンクの確率が適切に更新されていない場合、再出力されたリンク情報は、前回更新されたリンクを含む。そのため、ユーザは、表示装置４０における新たな表示を基に、リンクの確率が適切に更新されたか否か確認できる。
【００６４】
［動作の説明］
次に、図面を参照して第１に実施形態に係る情報処理装置２０の動作について説明する。
【００６５】
図３は、第１の実施形態に係る情報処理装置２０の動作の一例を示す流れ図である。
【００６６】
確率計算部２１０は、推論グラフに関連する情報を取得する。そして、確率計算部２１０は、ノード確率（第１のノード確率及び第２のノード確率）を計算する（ステップＳ１１０）。例えば、確率計算部２１０は、入力装置５０又は記憶装置３０から推論グラフに関連する情報を取得し、ノード確率を計算する。
【００６７】
この動作について図面を参照して詳細に説明する。
【００６８】
図４は、第１の実施形態に係る確率計算部２１０における動作の一例を示す流れ図である。
【００６９】
確率計算部２１０は、推論グラフに関連する情報を取得する（ステップＳ２１０）。
【００７０】
確率計算部２１０は、推論グラフにおいて、観測を始点として、終点（クエリ）への方向である順方向にノード確率（第１のノード確率）を計算する（ステップＳ２２０）。
【００７１】
さらに、確率計算部２１０は、推論グラフにおいて、クエリを終点として、始点（観測）への方向である逆方向にノード確率（第２のノード確率）を計算する（ステップＳ２３０）。
【００７２】
このように、確率計算部２１０は、各ノードに対して２つのノード確率を計算する。
【００７３】
図３を参照した説明に戻る。
【００７４】
リンク抽出部２２０は、計算されたノード確率を基に、両端のノードにおけるノード確率が所定の条件を満たすリンクを抽出する（ステップＳ１２０）。
【００７５】
リンク出力部２３０は、抽出されたリンク及び推論グラフに関連する情報（リンク情報）を出力する（ステップＳ１３０）。例えば、リンク出力部２３０は、表示装置４０にリンク情報を出力する。
【００７６】
更新情報取得部２４０は、更新情報を取得する（ステップＳ１４０）。例えば、更新情報取得部２４０は、入力装置５０から更新情報を取得する。
【００７７】
推論更新部２５０は、更新情報を基に、推論グラフを更新する（ステップＳ１５０）。具体的には、推論更新部２５０は、更新すると判定されたリンクの確率を更新する。
【００７８】
［効果の説明］
このように、第１の実施形態に係る情報処理装置２０は、推論グラフの更新において、リンクにおける確率を適切に更新するとの効果を奏することができる。
【００７９】
その理由は、次のとおりである。
【００８０】
確率計算部２１０が、ノードとノードの接続関係を示す推論リンクとを含むグラフにおいて、リンクに設定されたリンク確率（第１の確率）を基に計算されるノードにおけるノード確率（第２の確率）を計算する。リンク抽出部２２０が、リンクの両端となるノードにおけるノード確率（第２の確率）が所定の条件を満たす場合に、そのリンクを抽出する。リンク出力部２３０が、抽出されたリンク及びグラフに関連するリンク情報（第１の情報）を出力する。更新情報取得部２４０が、リンク情報（第１の情報）に関連する更新情報（第２の情報）を取得する。推論更新部２５０が、更新情報（第２の情報）を基にグラフにおけるリンクのリンク確率（第１の確率）を更新する。
【００８１】
ここで、リンク抽出部２２０は、リンクの両端のノード確率を基に、そのリンクの確率を高くすると、そのリンクを含むパスの確率が高くなる可能性が高いリンクを抽出する。そして、リンク出力部２３０は、そのリンクに関連する情報を出力する。つまり、リンク出力部２３０は、ユーザへの問い合わせとして適切なリンクに関連する情報を出力する。そのため、更新情報取得部２４０は、適切なリンクに関連する更新情報を取得する。その結果、推論更新部２５０は、リンクにおける確率を適切に更新できる。
【００８２】
さらに、確率計算部２１０は、ノード確率として、２つのノード確率を計算する。この計算は、推論グラフにおいて、順方向と逆方向との２つの方向での計算であり、推論グラフ内のリンクを行き来するなど複雑な計算を含まない。そのため、確率計算部２１０における計算は、複雑な計算を含む一般的な最適化の計算に比べ、負荷が低い計算である。
【００８３】
［ハードウェア構成］
次に、情報処理装置２０のハードウェアの構成について説明する。
【００８４】
以上の説明した情報処理装置２０は、次のように構成される。
【００８５】
例えば、情報処理装置２０の各構成部は、ハードウェア回路で構成されてもよい。また、情報処理装置２０において、各構成部は、ネットワークを介して接続した複数の装置を用いて、構成されてもよい。また、情報処理装置２０において、複数の構成部は、１つのハードウェアで構成されてもよい。
【００８６】
さらに、情報処理装置２０は、入力装置５０、表示装置４０、及び記憶装置３０のいずれか一部、又は、全てを含んでもよい。
【００８７】
また、情報処理装置２０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）とを含むコンピュータ装置として実現されてもよい。情報処理装置２０は、上記構成に加え、さらに、入出力接続回路（ＩＯＣ：Ｉｎｐｕｔ  ａｎｄ  Ｏｕｔｐｕｔ  Ｃｉｒｃｕｉｔ）を含むコンピュータ装置として実現されてもよい。さらに、情報処理装置２０は、ネットワークインターフェース回路（ＮＩＣ：Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃｉｒｃｕｉｔ）を含むコンピュータ装置として実現されてもよい。
【００８８】
図５は、情報処理装置２０のハードウェア構成の一例である情報処理装置６０の構成を示すブロック図である。
【００８９】
情報処理装置６０は、ＣＰＵ６１０と、ＲＯＭ６２０と、ＲＡＭ６３０と、内部記憶装置６４０と、ＩＯＣ６５０と、ＮＩＣ６８０とを含み、コンピュータ装置を構成している。
【００９０】
ＣＰＵ６１０は、ＲＯＭ６２０からプログラムを読み込む。そして、ＣＰＵ６１０は、読み込んだプログラムに基づいて、ＲＡＭ６３０と、内部記憶装置６４０と、ＩＯＣ６５０と、ＮＩＣ６８０とを制御する。そして、ＣＰＵ６１０を含むコンピュータは、これらの構成を制御し、図１に示されている、確率計算部２１０と、リンク抽出部２２０と、リンク出力部２３０と、更新情報取得部２４０と、推論更新部２５０としての各機能を実現する。
【００９１】
ＣＰＵ６１０は、各機能を実現する際に、ＲＡＭ６３０又は内部記憶装置６４０を、プログラムの一時記憶媒体として使用してもよい。
【００９２】
また、ＣＰＵ６１０は、コンピュータで読み取り可能にプログラムを記憶した記憶媒体７００が含むプログラムを、図示しない記憶媒体読み取り装置を用いて読み込んでもよい。あるいは、ＣＰＵ６１０は、ＮＩＣ６８０を介して、図示しない外部の装置からプログラムを受け取り、ＲＡＭ６３０に保存して、保存したプログラムを基に動作してもよい。
【００９３】
ＲＯＭ６２０は、ＣＰＵ６１０が実行するプログラム及び固定的なデータを記憶する。ＲＯＭ６２０は、例えば、Ｐ−ＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ−ＲＯＭ）又はフラッシュＲＯＭである。
【００９４】
ＲＡＭ６３０は、ＣＰＵ６１０が実行するプログラム及びデータを一時的に記憶する。ＲＡＭ６３０は、例えば、Ｄ−ＲＡＭ（Ｄｙｎａｍｉｃ−ＲＡＭ）である。
【００９５】
内部記憶装置６４０は、情報処理装置６０が長期的に保存するデータ及びプログラムを記憶する。また、内部記憶装置６４０は、ＣＰＵ６１０の一時記憶装置として動作してもよい。内部記憶装置６４０は、記憶装置３０として動作してもよい。内部記憶装置６４０は、例えば、ハードディスク装置、光磁気ディスク装置、ＳＳＤ、又はディスクアレイ装置である。
【００９６】
ここで、ＲＯＭ６２０と内部記憶装置６４０とは、不揮発性（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ）の記憶媒体である。一方、ＲＡＭ６３０は、揮発性（ｔｒａｎｓｉｔｏｒｙ）の記憶媒体である。そして、ＣＰＵ６１０は、ＲＯＭ６２０、内部記憶装置６４０、又は、ＲＡＭ６３０に記憶されているプログラムを基に動作可能である。つまり、ＣＰＵ６１０は、不揮発性記憶媒体又は揮発性記憶媒体を用いて動作可能である。
【００９７】
ＩＯＣ６５０は、ＣＰＵ６１０と、入力機器６６０及び表示機器６７０とのデータを仲介する。ＩＯＣ６５０は、例えば、ＩＯインターフェースカード又はＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）カードである。さらに、ＩＯＣ６５０は、ＵＳＢのような有線に限らず、無線を用いてもよい。
【００９８】
入力機器６６０は、情報処理装置６０の操作者からの入力指示を受け取る機器である。入力機器６６０は、入力装置５０として動作してもよい。入力機器６６０は、例えば、キーボード、マウス又はタッチパネルである。
【００９９】
表示機器６７０は、情報処理装置６０の操作者に情報を表示する機器である。表示機器６７０は、表示装置４０として動作してもよい。表示機器６７０は、例えば、液晶ディスプレイである。
【０１００】
ＮＩＣ６８０は、ネットワークを介した図示しない外部の装置とのデータのやり取りを中継する。ＮＩＣ６８０は、入力装置５０、記憶装置３０、及び／又は、表示装置４０との情報を仲介してもよい。ＮＩＣ６８０は、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）カード又はＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスカードである。さらに、ＮＩＣ６８０は、有線に限らず、無線を用いてもよい。
【０１０１】
このように構成された情報処理装置６０は、情報処理装置２０と同様の効果を得ることができる。その理由は、情報処理装置６０のＣＰＵ６１０が、プログラムに基づいて情報処理装置２０と同様の機能を実現できるためである。
【０１０２】
［詳細例］
次に、図面を参照して、第１の実施形態におけるノード確率の計算及び評価関数の計算の詳細例などを説明する。
【０１０３】
図６は、以下の説明に用いる推論グラフを示す図である。図６において、ｖ１ないしｖ７がノードである。ノード間の矢印（ｓ１ないしｓ８）が、リンクである。各リンクには、その確率（ｐ（ｓ１）ないしｐ（ｓ８））が設定されている。
【０１０４】
図７は、図６の推論グラフにおけるノードの一例を示す図である。図７に示すノード（事象）は、特殊詐欺に関連するノード（事象）である。観測は、ノードｖ１である「知らない人物から電話がかかってくる」とする。また、クエリは、ノードｖ７である「詐欺が成立する」とする。つまり、この場合の推論は、観測（知らない人物から電話がかかってくる）とクエリ（詐欺が成立する）とをつなぐパスに関する推定である。
【０１０５】
図８は、図６の推論グラフにおけるリンクの確率を示す図である。なお、あるノード（事象）において、そのノードから発生するリンク（命題）は、複数のリンクが同時に発生する場合もあり、いずれのリンクも発生しない場合もある。例えば、ノードｖ１（知らない番号から電話がかかってくる）が発生した場合、ノードｖ２（振り込み先を伝えられる）へのリンクと、ノードｖ４（場所を伝えられる）へのリンクとが同時に発生する場合がある。そのため、ノードから出ているリンクの確率の合計は、１に限られず、１を超えている場合もあり、１未満の場合もある。
【０１０６】
なお、以下の説明においてノード確率は、リンク確率との区別を容易にするため、「スコア」と呼ぶ。また、以下の説明において、数値の比較を容易にするため、確率の値は、小数第三位までの表示とする。
【０１０７】
（順方向の計算）
確率計算部２１０は、順方向のスコア（第１のスコア）の計算として、次のような計算を実行する。
（１）確率計算部２１０は、初期値として、観測のノードのスコアを「１．０００」、他の全てのノードのスコアを「０．０００」とする。さらに、確率計算部２１０は、全てのノードを未処理とする。
（２）確率計算部２１０は、未処理のノードがなくなるまで、以下の（３）及び（４）の動作を繰り返す。
（３）確率計算部２１０は、未処理のノードの中からスコアの値が最も高いノードを一つ選択する。そして、確率計算部２１０は、そのノードから順方向に出ている全てのリンクの先となっている他のノードのスコアを次の２つの値の高い方に設定する。つまり、確率計算部２１０は、第２の値（そのノードから順方向にリンクを経由した場合のスコア）が第１の値（現在のスコア）より高い場合に、スコアを更新する。
［第１の値］他のノードの現在のスコア
［第２の値］（そのノードのスコア）×（そのノードから他のノードへのリンクの確率）
（４）確率計算部２１０は、そのノードを処理済みとする。
【０１０８】
この計算の過程を、以下、図面を参照して説明する。
【０１０９】
図９は、第１の実施形態の順方向のスコアの初期状態を示す図である。
【０１１０】
図９に示すように、確率計算部２１０は、観測であるノードｖ１のスコアを「１．０００」と、他のノードのスコアを「０．０００」とする。なお、以下の説明において、ノードの第１のスコア（順方向のスコア）を示す関数として「Ｓｆ（・）」を用いる。
【０１１１】
図９において、未処理のノードの中で最もスコアの高いノードは、ノードｖ１である。
【０１１２】
そこで、確率計算部２１０は、最もスコアの値が高いノードであるノードｖ１（これは、観測ノードである）を選択する。
【０１１３】
そして、確率計算部２１０は、ノードｖ１から出ているリンク（リンクｓ１とｓ４）の先であるノード（ノードｖ２とｖ４）のスコアを設定する。例えば、ノードｖ２のスコアは、「０．０００」である（図９を参照）。また、「ノードｖ１のスコア×リンクｓ１の確率」は、「１．０００×０．９００＝０．９００」である。そのため、確率計算部２１０は、ノードｖ２のスコアＳｆ（ｖ２）を「０．９００」に更新する。同様に、確率計算部２１０は、ノードｖ４のスコアＳｆ（ｖ４）を、「１．０００」に更新する。
【０１１４】
そして、確率計算部２１０は、ノードｖ１を処理済みとする。
【０１１５】
図１０は、上記で説明している動作である図９の次の状態を示す図である。以下の説明において、処理対象として選択されたノードは、太線とする。また、更新されたスコアは、下線を付す。また、処理済みのノードには、下線を付す。
【０１１６】
例えば、図１０において、確率計算部２１０は、ノードｖ１を処理対象として選択する。そのため、ノードｖ１の枠は、太線として示されている。また、ノードｖ２及びｖ４のスコア（Ｓｆ（ｖ２）及びＳｆ（ｖ４））は、更新されているため、下線が付されている。そして、確率計算部２１０がノードｖ１を処理済みとするため、ノードｖ１は下線が付されている。
【０１１７】
図１０において、未処理のノードが残っている。さらに、図１０において、未処理のノードの中で最も高いスコアは、ノードｖ４である。そこで、確率計算部２１０は、ノードｖ４を処理対象として選択し、同様の処理を実行する。
【０１１８】
図１１は、図１０の次の状態を示す図である。図１１に示すように、確率計算部２１０は、ノードｖ４から出ているリンクｓ５の先のノードｖ５のスコアＳｆ（ｖ５）を「１．０００」に更新する。
【０１１９】
図１１において、未処理のノードが残っている。さらに、図１１において、未処理のノードの中で最も高いスコアは、ノードｖ５である。そこで、確率計算部２１０は、ノードｖ５を処理対象として選択し、同様の処理を実行する。
【０１２０】
図１２は、図１１の次の状態を示す図である。図１２に示されているように、確率計算部２１０は、ノードｖ３及びｖ６のスコア（Ｓｆ（ｖ３）及びＳｆ（ｖ６）を更新する。
【０１２１】
図１２において、未処理のノードが残っている。さらに、図１２において、未処理のノードの中で最も高いスコアは、ノードｖ２である。そこで、確率計算部２１０は、ノードｖ２を処理対象として選択し、同様の処理を実行する。
【０１２２】
図１３は、図１２の次の状態を示す図である。図１３に示されているように、確率計算部２１０は、ノードｖ３のスコアＳｆ（ｖ３）を更新する。
【０１２３】
図１３において、未処理のノードが残っている。さらに、図１３において、未処理のノードの中で最も高いスコアは、ノードｖ３である。そこで、確率計算部２１０は、ノードｖ３を処理対象として選択し、同様の処理を実行する。
【０１２４】
図１４は、図１３の次の状態を示す図である。図１４に示されているように、確率計算部２１０は、ノードｖ７のスコアＳｆ（ｖ７）を更新する。
【０１２５】
図１４において、未処理のノードが残っている。さらに、図１４において、未処理のノードの中で最も高いスコアは、ノードｖ７である。そこで、確率計算部２１０は、ノードｖ７を処理対象として選択し、同様の処理を実行する。
【０１２６】
図１５は、図１４の次の状態を示す図である。ただし、ノードｖ７は、クエリである。つまり、ノードｖ７から出力される順方向のリンクはない。そのため、確率計算部２１０は、スコアを計算せずに、ノードｖ７を処理済みとする。
【０１２７】
図１５において、未処理のノードが残っている。さらに、図１５において、未処理のノードの中で最も高いスコアは、ノードｖ６である。そこで、確率計算部２１０は、ノードｖ６を処理対象として選択し、同様の処理を実行する。
【０１２８】
図１６は、図１５の次の状態を示す図である。ノードｖ６からリンクｓ８を経由した場合のスコアは、「０．１００」であり、ノードｖ７の現在のスコアＳｆ（ｖ７）（＝０．５０４）より低い。そのため、確率計算部２１０は、ノードｖ７のスコアＳｆ（ｖ７）を更新しない。そして、確率計算部２１０は、ノードｖ６を処理済みとする。
【０１２９】
図１６において、未処理のノードはない。そのため、確率計算部２１０は、順方向の処理を終了する。
【０１３０】
（逆方向の計算）
確率計算部２１０は、逆方向のスコア（第２のスコア）の計算として、次のような計算を実行する。逆方向のスコアの計算は、順方向のスコア（第１のスコア）の計算に対して、（１）と（３）が異なる。
（１）確率計算部２１０は、初期値として、クエリのノードのスコアを「１．０００」、他の全てのノードのスコアを「０．０００」とする。さらに、確率計算部２１０は、全てのノードを未処理とする。
（２）確率計算部２１０は、未処理のノードがなくなるまで、以下の（３）及び（４）の動作を繰り返す。
（３）確率計算部２１０は、未処理のノードの中からスコアの値が最も高いノードを一つ選択する。そして、確率計算部２１０は、そのノードに入っている全てのリンクの先となっている他のノードのスコアを次の２つの値の高い方に設定する。つまり、確率計算部２１０は、第２の値（そのノードから逆方向にリンクを経由した場合のスコア）が第１の値（現在のスコア）より高い場合に、スコアを更新する。
［第１の値］他のノードの現在のスコア
［第２の値］（そのノードのスコア）×（そのノードから他のノードへのリンクの確率）
（４）確率計算部２１０は、そのノードを処理済みとする。
【０１３１】
この計算の過程を、以下、図面を参照して説明する。
【０１３２】
図１７は、第１の実施形態の逆方向のスコアの初期状態を示す図である。
【０１３３】
図１７に示すように、確率計算部２１０は、クエリであるノードｖ７のスコアを「１．０００」と、他のノードのスコアを「０．０００」とする。なお、以下の説明において、ノードの第２のスコア（逆方向のスコア）を示す関数として「Ｓｒ（・）」を用いる。
【０１３４】
図１７において、未処理のノードの中で最もスコアの高いノードは、ノードｖ７である。
【０１３５】
そこで、確率計算部２１０は、最もスコアの値が高いノードであるノードｖ７（これは、クエリノードである）を選択する。そして、確率計算部２１０は、ノードｖ７に入っているリンク（リンクｓ３及びｓ８）の先であるノードｖ３及びｖ６のスコア（Ｓｒ（ｖ３）及びＳｒ（ｖ６））を更新し、ノードｖ７を処理済みとする。
【０１３６】
図１８は、図１７の次の状態を示す図である。
【０１３７】
図１８において、未処理のノードが残っている。さらに、図１８において、未処理のノードの中で最も高いスコアは、ノードｖ６である。そこで、確率計算部２１０は、ノードｖ６を処理対象として選択し、同様の処理を実行する。
【０１３８】
図１９は、図１８の次の状態を示す図である。図１９に示すように、確率計算部２１０は、ノードｖ６に入っているリンクｓ７の先のノードｖ５のスコアＳｒ（ｖ５）を「０．１００」に更新する。
【０１３９】
図１９において、未処理のノードが残っている。さらに、図１９において、未処理のノードの中で最も高いスコアは、ノードｖ３である。そこで、確率計算部２１０は、ノードｖ３を処理対象として選択し、同様の処理を実行する。
【０１４０】
図２０は、図１９の次の状態を示す図である。図２０に示すように、確率計算部２１０は、ノードｖ３に入っているリンク（リンクｓ２及びｓ６）の先のノード（ノードｖ２及びｖ５）のスコア（Ｓｒ（ｖ２）及びＳｒ（ｖ５））を更新する。
【０１４１】
図２０において、未処理のノードが残っている。さらに、図２０において、未処理のノードの中で最も高いスコアは、ノードｖ２である。そこで、確率計算部２１０は、ノードｖ２を処理対象として選択し、同様の処理を実行する。
【０１４２】
図２１は、図２０の次の状態を示す図である。図２１に示すように、確率計算部２１０は、ノードｖ２に入っているリンクｓ１の先のノードｖ１のスコアＳｒ（ｖ１）を更新する。
【０１４３】
図２１において、未処理のノードが残っている。さらに、図２１において、未処理のノードの中で最も高いスコアは、ノードｖ１である。そこで、確率計算部２１０は、ノードｖ１を処理対象として選択し、同様の処理を実行する。
【０１４４】
図２２は、図２１の次の状態を示す図である。ただし、ノードｖ１は、観測ノードである。そのため、ノードｖ１に入るリンクはない。そこで、確率計算部２１０は、スコアを計算せず、ノードｖ１を処理済みとする。
【０１４５】
図２２において、未処理のノードが残っている。さらに、図２２において、未処理のノードの中で最も高いスコアは、ノードｖ５である。そこで、確率計算部２１０は、ノードｖ５を処理対象として選択し、同様の処理を実行する。
【０１４６】
図２３は、図２２の次の状態を示す図である。図２３に示すように、確率計算部２１０は、ノードｖ５に入っているリンクｓ５の先のノードｖ４のスコアＳｒ（ｖ４）を更新する。
【０１４７】
図２３において、未処理のノードが残っている。さらに、図２３において、未処理のノードの中で最も高いスコアは、ノードｖ４である。そこで、確率計算部２１０は、ノードｖ４を処理対象として選択し、同様の処理を実行する。
【０１４８】
図２４は、図２３の次の状態を示す図である。図２４に示すように、ノードｖ４からリンクｓ４を介したスコアは、現在のノードｖ１のスコアＳｒ（ｖ１）より低い。そこで、確率計算部２１０は、スコアを更新せずに、ノードｖ４を処理済みとする。
【０１４９】
図２４において、未処理のノードはない。そのため、確率計算部２１０は、逆方向の計算を終了する。
【０１５０】
（評価関数の計算）
図面を参照して、リンク抽出部２２０における評価関数に関連する動作を説明する。
【０１５１】
図２５は、確率計算部２１０が計算した、順方向のスコアと逆方向のスコアとの一例を示す図である。図２５に示されているスコアは、上記の説明の結果である。図２５において、各ノードのスコアは、（順方向のスコア，逆方向のスコア）として示されている。
【０１５２】
リンク抽出部２２０は、上記のスコアを数式１の評価関数に適用して、各リンクの評価関数の値（評価値）を算出する。
【０１５３】
例えば、リンクｓ７の評価値は、次のように算出される。リンクｓ７の始点はノードｖ５である。また、リンクｓ７の終点は、ノードｖ６である。そして、評価関数の各項に含まれる値は、図２５を参照すると、次のとおりである。
（１）観測（ｖ１）からリンクの始点（ｖ５）までの順方向のスコア：ｐ（観測（ｖ１）→リンクの始点（ｖ５））＝１．０００」
（２）リンクの始点（ｖ５）からクエリ（ｖ７）までの逆方向のスコア：ｐ（リンクの始点（ｖ５）→クエリ（ｖ７））＝０．３５０
（３）観測（ｖ１）からリンクの終点（ｖ６）までの順方向のスコア：ｐ（観測（ｖ１）→リンクの終点（ｖ６））＝０．１００
（４）リンクの終点（ｖ６）からクエリ（ｖ７）までの逆方向のスコア：ｐ（リンクの終点（ｖ６）→クエリ（ｖ７））＝１．０００
上記の値を評価関数に適用すると、リンクｓ７の評価値は、次のとおりとなる。
評価関数（ｓ７）＝１．０００×１．０００−ｍａｘ（１．０００×０．３５０，０．１００×１．０００）＝１．０００−ｍａｘ（０．３５０，０．１００）＝１．０００−０．３５０＝０．６５０
リンク抽出部２２０は、同様に全てのリンクに対して評価値を計算する。
【０１５４】
図２６は、全てのリンクに対する評価値を示す図である。
【０１５５】
そして、リンク抽出部２２０は、評価値が所定の条件を満たすリンクを抽出する。例えば、リンク抽出部２２０は、最も評価値が高いリンクを抽出してもよい。この場合、リンク抽出部２２０は、リンクｓ７を抽出する。あるいは、リンク抽出部２２０は、評価値が高い方から所定数のリンクを抽出してもよい。あるいは、リンク抽出部２２０は、評価値が所定の閾値より高いリンクを抽出してもよい。
【０１５６】
（表示の例）
情報処理装置２０の動作の理解の参考として、表示装置４０における表示例を用いて動作を説明する。
【０１５７】
例えば、上記のように、リンク抽出部２２０は、リンクｓ７「ｖ５（お金を持って出かける）→ｖ６（お金を渡す）」を抽出したとする。リンク出力部２３０は、リンクｓ７に関連する情報を出力する。この情報は、リンクｓ７を示す情報と、リンクｓ７を含む推論パス（今の場合、「ノードｖ１→ｖ４→ｖ５→ｖ６→ｖ７」とする）を示す情報とを含むとする。
【０１５８】
そこで、例えば、表示装置４０は、「「お金を持って出かける→お金を渡す」との知識は、成り立ちますか？」を表示する。さらに、表示装置４０は、「この知識が成り立つと、「知らない番号から電話がかかってくる→場所を伝えられる→お金を持って出かける→お金を渡す→詐欺が成立する」という推論のパスが、高い確率でつながります。」と表示する。
【０１５９】
そして、更新情報取得部２４０は、例えば、入力装置５０から、上記の表示に対する更新情報を取得する。例えば、更新情報取得部２４０が、リンクｓ７に対する確率を取得した場合、推論更新部２５０は、リンクｓ７の確率を更新する。
【０１６０】
図２７は、図８に示す確率において、リンクｓ７の確率の更新後の一例を示す図である。図８及び図２７を参照すると、リンクｓ７の確率が、０．１００から１．０００に更新されている。
【０１６１】
ユーザが、リンクの確率を判断する場合、上記のように、一般的にリンクを含む推論のパスを基に判断する。そのため、リンク出力部２３０は、パスのような推論グラフの少なくとも一部を含むリンク情報を出力することが望ましい。
【０１６２】
（他の実施形態）
なお、ここまでの説明は、情報処理装置２０が単独の装置として動作する場合を説明した。しかし、情報処理装置２０は、他の装置が用いる推論グラフを更新してもよい。
【０１６３】
図２８は、情報処理装置２０の含む第２の情報処理システム１１の一例を示すブロック図である。
【０１６４】
情報処理システム１１は、情報処理装置２０と、推論装置７０とを含む。
【０１６５】
推論装置７０は、推論グラフを用いて所定の推論を実行する。例えば、推論装置７０は、犯罪に関連する事象を保存しているデータベースから情報を取得し、取得した情報を基に推論グラフを作成する。この場合に取得する情報の一例は、図７及び８に示されている情報である。
【０１６６】
そして、推論装置７０は、推論グラフを用いて、観測からクエリへの過程を推論する。
【０１６７】
情報処理装置２０は、推論装置７０から、推論グラフ（観測とクエリを含む）を取得する。そして、情報処理装置２０は、これまでの説明と同様の動作を基に、推論グラフを更新する。そして、情報処理装置２０は、更新した推論グラフを推論装置７０に送信する。
【０１６８】
推論装置７０は、受信した更新後の推論グラフを用いて推論する。既に説明したとおり、情報処理装置２０は、リンクの確率を更新前より適切な値に更新している。そのため、推論装置７０は、より適切な推論を実現できる。
【０１６９】
このように、情報処理装置２０は、外部の装置である推論装置７０における推論動作を向上させるとの効果を奏することができる。
【０１７０】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成及び詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【０１７１】
１０    情報処理システム
１１    情報処理システム
２０    情報処理装置
３０    記憶装置
４０    表示装置
５０    入力装置
６０    情報処理装置
７０    推論装置
２１０    確率計算部
２２０    リンク抽出部
２３０    リンク出力部
２４０    更新情報取得部
２５０    推論更新部
６１０    ＣＰＵ
６２０    ＲＯＭ
６３０    ＲＡＭ
６４０    内部記憶装置
６５０    ＩＯＣ
６６０    入力機器
６７０    表示機器
６８０    ＮＩＣ
７００    記憶媒体
【図１】
2018179161.tif 000003
【図２】
2018179161.tif 000004
【図３】
2018179161.tif 000005
【図４】
2018179161.tif 000006
【図５】
2018179161.tif 000007
【図６】
2018179161.tif 000008
【図７】
2018179161.tif 000009
【図８】
2018179161.tif 000010
【図９】
2018179161.tif 000011
【図１０】
2018179161.tif 000012
【図１１】
2018179161.tif 000013
【図１２】
2018179161.tif 000014
【図１３】
2018179161.tif 000015
【図１４】
2018179161.tif 000016
【図１５】
2018179161.tif 000017
【図１６】
2018179161.tif 000018
【図１７】
2018179161.tif 000019
【図１８】
2018179161.tif 000020
【図１９】
2018179161.tif 000021
【図２０】
2018179161.tif 000022
【図２１】
2018179161.tif 000023
【図２２】
2018179161.tif 000024
【図２３】
2018179161.tif 000025
【図２４】
2018179161.tif 000026
【図２５】
2018179161.tif 000027
【図２６】
2018179161.tif 000028
【図２７】
2018179161.tif 000029
【図２８】
2018179161.tif 000030
【国際調査報告】
2018179161.tif 000031
2018179161.tif 000032