特許第6014751号(P6014751)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立製作所の特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6014751
(24)【登録日】2016年9月30日
(45)【発行日】2016年10月25日
(54)【発明の名称】情報処理方法および情報処理システム
(51)【国際特許分類】
   G06N 5/02 20060101AFI20161011BHJP
   G06N 5/04 20060101ALI20161011BHJP
【FI】
   G06N5/02 120
   G06N5/04
【請求項の数】14
【全頁数】18
(21)【出願番号】特願2015-507831(P2015-507831)
(86)(22)【出願日】2013年3月29日
(86)【国際出願番号】JP2013059439
(87)【国際公開番号】WO2014155641
(87)【国際公開日】20141002
【審査請求日】2015年5月28日
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】100100310
【弁理士】
【氏名又は名称】井上 学
(74)【代理人】
【識別番号】100098660
【弁理士】
【氏名又は名称】戸田 裕二
(74)【代理人】
【識別番号】100091720
【弁理士】
【氏名又は名称】岩崎 重美
(72)【発明者】
【氏名】宮越 純一
(72)【発明者】
【氏名】宮本 篤志
【審査官】 大塚 俊範
(56)【参考文献】
【文献】 特開2011−138432(JP,A)
【文献】 特開2003−114977(JP,A)
【文献】 特開2012−198839(JP,A)
【文献】 金澤 明浩,決定木を利用した交通渋滞予測手法に関する考察,情報処理学会研究報告,日本,社団法人情報処理学会,2004年 3月 2日,第2004巻,No.19,p.141-148
【文献】 毛利 仁士,事例ベースによる交通渋滞予測手法,電子情報通信学会論文誌,日本,社団法人電子情報通信学会,1999年11月25日,第J82-B巻,第11号,p.1993-2001
【文献】 市河 研一,新ビジネス創出への取り組み,NTT技術ジャーナル,社団法人電気通信協会,2007年 3月 1日,第19巻,第3号,p.27-30
(58)【調査した分野】(Int.Cl.,DB名)
G06N 5/02
G06N 5/04
(57)【特許請求の範囲】
【請求項1】
ユーザインタフェースからの対象となる事例の選択を受け付けるステップと、
ストレージに保存されている時系列データから、選択された事例に対応する事象を抽出し、抽出した事象に対して頂点の情報を生成するステップと、
前記時系列データの時間の情報、および前記ストレージに保存されている前記時系列データの源の関係性の情報に基づいて前記頂点の辺の情報を生成するステップと、
前記頂点間の類似性から複数の前記頂点の情報を統合するステップと、を有することを特徴とする情報処理方法。
【請求項2】
請求項1に記載の情報処理方法において、
前記時系列データは、空間的に分散して配置されたセンサ群で取得され、
前記関係性の情報は、前記センサ群の配置に関する情報であることを特徴とする情報処理方法。
【請求項3】
請求項に記載の情報処理方法において、
前記センサ群は道路に配置されており、
前記センサ群の配置に関する情報は、各センサ間が前記道路上で隣り合っているか否かの情報であることを特徴とする情報処理方法。
【請求項4】
請求項1に記載の情報処理方法において、
統合された前記頂点の情報に基づいて前記頂点間の遷移確率を求めるステップを有することを特徴とする情報処理方法。
【請求項5】
請求項4に記載の情報処理方法において、
前記ユーザインタフェースからの開始頂点の選択を受け付けるステップと、
求めた遷移確率に基づいて、選択された開始頂点を起点とした頂点群で形成されるシナリオを出力するステップと、を有することを特徴とする情報処理方法。
【請求項6】
請求項5に記載の情報処理方法において、
前記シナリオは、選択された開始頂点を起点として各頂点から最も高い遷移確率の辺で接続される頂点群で形成されていることを特徴とする情報処理方法。
【請求項7】
請求項5に記載の情報処理方法において、
前記シナリオは、選択された開始頂点を起点として各頂点から最も低い遷移確率の辺で接続される頂点群で形成されていることを特徴とする情報処理方法。
【請求項8】
対象となる事例の選択を受け付けるユーザインタフェースと、
時系列データおよび前記時系列データの源の関係性の情報を保存するストレージと、を有し、
前記時系列データから、選択された事例に対応する事象を抽出し、抽出した事象に対して頂点の情報を生成し、
前記時系列データの時間の情報、および前記関係性の情報に基づいて前記頂点の辺の情報を生成し、
前記頂点間の類似性から複数の前記頂点の情報を統合する情報処理システム。
【請求項9】
請求項8に記載の情報処理システムにおいて、
前記時系列データを取得する空間的に分散して配置されたセンサ群を有し、
前記関係性の情報は、前記センサ群の配置に関する情報であることを特徴とする情報処理システム。
【請求項10】
請求項9に記載の情報処理システムにおいて、
前記センサ群は道路に配置されており、
前記センサ群の配置に関する情報は、各センサ間が前記道路上で隣り合っているか否かの情報であることを特徴とする情報処理システム。
【請求項11】
請求項8に記載の情報処理システムにおいて、
統合された前記頂点の情報に基づいて前記頂点間の遷移確率を求めることを特徴とする情報処理システム。
【請求項12】
請求項8に記載の情報処理システムにおいて、
前記ユーザインタフェースから開始頂点の選択を受け付け、
求めた遷移確率に基づいて、選択された開始頂点を起点とした頂点群で形成されるシナリオを出力することを特徴とする情報処理システム。
【請求項13】
請求項12に記載の情報処理システムにおいて、
前記シナリオは、選択された開始頂点を起点として各頂点から最も高い遷移確率の辺で接続される頂点群で形成されていることを特徴とする情報処理システム。
【請求項14】
請求項12に記載の情報処理システムにおいて、
前記シナリオは、選択された開始頂点を起点として各頂点から最も低い遷移確率の辺で接続される頂点群で形成されていることを特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理方法および情報処理システムに関し、特にグラフ処理を実行する情報処理システムとその情報処理方法に関する。
【背景技術】
【0002】
社会インフラや都市などを効率的に設計、運用するためのツールとして、実社会を予測するためのシミュレータが注目されている。このシミュレータにおいては、予測精度そのものの追求よりも、想定外などを含む「可能性の束」を提示することが求められている。
【0003】
可能性の束は、複数の、シナリオと呼ばれる対象の時間変化を表現したものから構成され、シナリオは、センサのログやシミュレータの出力結果等である。例えば、対象の事例が渋滞であるならば、シナリオは渋滞の長さ等の時間変化を表現したものである。可能性の束の提示を受けることができれば、シミュレータのユーザは複数のシナリオを観測することで、対象の変化の可能性を得ることができる。
【0004】
特許文献1に開示の技術では、シナリオの表現として確率過程グラフを用い、確率過程グラフに基づいて、希少な事例などの予測を行っていた。特許文献1に開示の技術では、事例がプログラムの性能、シナリオが命令の実行順序(即ち命令の時間変化)として可能性の束を算出しており、算出された可能性の束から希少な事例(プログラムのボトルネック)の発見、解析をしている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】米国特許出願公開第2012/0197854号明細書
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、特許文献1に開示の技術である確率過程グラフは、対象がプログラムや文章や音楽などの場合に適合するが、渋滞などの対象が複数に分裂したり、複数が一つに統合したりする事例には適合できない。例えば、前者の文章の例では、日本語の文章で「私」の次に来る単語は「は」や「たち」などのどれかひとつだが、後者の渋滞では、ある渋滞の次の場合に、対象の渋滞が二つの区間に(即ち二つの渋滞に)分裂、また二つの渋滞が一つの区間に(即ち一つの渋滞に)統合する場合がある。
【0007】
したがって、渋滞等の対象は、従来の確率過程グラフでは扱えない課題がある。この課題は、確率過程グラフの頂点がひとつの状態しか保持していないことに起因する。各頂点は、接続された複数の辺にそれぞれ付加された遷移確率に従って、複数の辺のどれかひとつの辺に沿って他の頂点へ遷移する。そのため、各頂点から複数の頂点に平行して遷移することができず、状態が分裂したり統合したりする場合に対応できない。
【0008】
本発明は、ひとつの頂点から複数の頂点に平行して遷移する場合にも対応する情報処理を提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明では、時系列データから事象を抽出して、抽出した事象に対して頂点を生成し、時系列データの時間の情報および時系列データの源の関係性の情報に基づいて頂点の辺を生成し、頂点間の類似性から複数の頂点を統合することで、上述の課題を解決する。
【発明の効果】
【0010】
本発明により、ひとつの頂点から複数の頂点に平行して遷移する場合にも対応することができ、ひいては可能性の束の算出、希少な事例の発見や解析ができる。
【図面の簡単な説明】
【0011】
図1】本発明の実施例である情報処理システムのブロック図である。
図2】情報処理システムのグラフ処理の動作のフローチャートである。
図3A】時系列データの例を示す図である。
図3B】時系列データの例を示す図である。
図4A】関係性データの例を示す図である。
図4B】関係性データの例を示す図である。
図4C】関係性データの例の元となる道路上へのセンサ配置の例を示す図である。
図5】事例生成処理のフローチャートである。
図6A】事象抽出の具体例を示す図である。
図6B】事象抽出の具体例を示す図である。
図6C】事例グラフデータの例を示す図である。
図7A】事例生成処理の具体例を示す図である。
図7B】事例グラフデータの例を示す図である。
図8】シナリオ生成処理のフローチャートである。
図9A】事例グラフデータの例を示す図である。
図9B】事象グラフデータのグラフ表記の例を示す図である。
図9C】類似頂点リストの例を示す図である。
図10A】シナリオグラフデータのグラフ表記の例を示す図である。
図10B】シナリオグラフデータの例を示す図である。
図11】可能性の束生成処理のフローチャートである。
図12】トラバース処理のフローチャートである。
図13A】シナリオデータの具体例を示す図である。
図13B】シナリオデータのグラフ表記の例を示す図である。
図14】実施例2におけるトラバース処理のフローチャートである。
図15】実施例2におけるシナリオデータの具体例である。
図16A】実施例3におけるシナリオデータの具体例である。
図16B】実施例3におけるシナリオデータのグラフ表記の例を示す図である。
図17】実施例3におけるシナリオグラフ生成処理のフローチャートである。
図18】本発明の実施例である情報処理システムおよびユーザ端末の構成を示す図である。
図19】入力された事例グラフデータについて頂点の統合がなされ、重みつきの確率過程グラフが作成される概念を示す模式図である。
【発明を実施するための形態】
【実施例1】
【0012】
本発明の情報処理システムおよび情報処理方法の実施例について以下に説明する。図1に、本実施例の情報処理システム101のブロック図を示す。
【0013】
情報処理システム101は、グラフ処理装置110と、データベース125と、事例データベース126とを有する。グラフ処理装置110は、対象選択器120と、事例生成器122と、シナリオグラフ生成器123と、可能性の束生成器124とを有する。グラフ処理装置110は、時系列データ107および関係性データ108を入力とし、シナリオグラフデータ105および可能性の束データ102を出力する。可能性の束102は、ユーザに提示するためにユーザインタフェース(I/F)127へ出力される。
【0014】
本実施例では、例として渋滞を対象としたグラフ処理を処理対象として説明する。ここで、時系列データ107の例を図3A,Bに示す。時系列データ107は、データベース125に保存される。図3Aには、時刻別の通行車両数の時系列データ300を、図3Bにはデータ300に対応する平均車速の時系列データ301を示した。時系列データ107は、道路に配置されたセンサ毎に取得されるものであり、道路を通過する通行車両数および同平均車速が取得される。
【0015】
関係性データ108の例を図4A,Bに示す。また、図4A,Bに示した関係性データ108の元になる道路に対するセンサの配置を図4Cに示す。
【0016】
関係性データ108は、時系列データの源と源との間の関係性を表したデータであり、本実施例ではセンサ間の関係性を表したデータである。関係性データ108は、データベース125に保存される。図4Cに示した交差点402を含む道路上に分散して配置されたセンサ1〜7を、各センサを頂点とし、隣り合うセンサを辺でつないでグラフ表記すると図4Aのグラフ400になる。また、図4Bのセンサ間の関係性のデータ401は、図4Aのグラフ400をデータ構造で表記したものである。センサ間の関係性のデータ401では、センサ間に関係性がある場合は「1」、無い場合は「0」となる。本実施例では、関係性は道路による繋がりを表し、例えば、道路1の道路2との交差点402に配置されたセンサ1と道路2に配置されたセンサ2は、道路1と道路2が交差点で接続されており、またセンサ同士がグラフ400上で隣り合って接続されているので関係性があり、センサ2とセンサ3はグラフ400上で隣り合って接続されていないので、関係性がない。本実施例では、渋滞を事例とし、関係性はセンサ群の空間的な配置関係であるが、他の実施例としては、会社の倒産を事例とし、関係性は会社間の取引関係とすることもできる。
【0017】
図18に、情報処理システム101およびユーザ端末1801のハードウェア構成を示す。情報処理システム101とユーザ端末1801の間は、ネットワーク1802および無線基地局1803を介して、無線接続される。本実施例では、無線接続の例を示したが、有線接続でも実施可能である。また、本実施例の道路上に配置されたセンサ群(センサ1,2,・・・)1804は、ネットワーク1802を介して情報処理システム101と接続される。これにより、情報処理システム101は、時系列データの源であるセンサ群1804からの情報を収集し、時系列データ107を作成して、データベース125に保存することができる。
【0018】
情報処理システム101は、中央処理装置(CPU)1805と、主記憶1806と、ストレージ1807と、ネットワークインタフェース(I/F)1808とを有する。情報処理システム101の対象選択器120、事例生成器122、シナリオグラフ生成器123、および可能性の束生成器124は、プログラムとしてストレージ1807に保存され、CPU1805および主記憶1806で実行される。
【0019】
ユーザ端末1801は、例えばタブレット端末などの携帯端末であり、ユーザI/F127を実現する。ユーザ端末1801は、CPU1809と、主記憶1810と、ストレージ1811と、タッチパネル1812と、ネットワークI/F1813とを備える。ユーザ端末1801は、タッチパネル1812で対象の事例の選択などのユーザからの入力を受け付け、タッチパネル1812の液晶画面に可能性の束102などを表示する。
【0020】
次に、本実施例の情報処理システム101によるグラフ処理について説明する。図2に、情報処理システム101のグラフ処理の動作のフローチャートを示す。
【0021】
先ず、対象の選択のステップ201で、ユーザは対象の事例を選択する。本実施例では、ユーザは、対象選択器120からユーザ端末1801のタッチパネル1812を介して提示される対象の候補うち「渋滞」を対象として選択したとする。対象として「渋滞」が選択されたことを受信した対象選択器120は、事例生成器122に、対象の定義103として「渋滞」の定義を送信する。本実施例では、「渋滞」の定義は、平均車速20km/h以下とする。対象の定義103は、予めストレージ1807に保存しておいてもよいし、ユーザがタッチパネル1812から入力できるようにしてもよい。また、対象選択器120は、対象の定義103として、さらに、昨日と一昨日の事例と指定して、事例生成器122に送信する。昨日と一昨日という事例の期間は、ユーザがタッチパネル1812から入力できるようにしてもよいし、予め設定しておいてもよい。
【0022】
対象の定義103を受信した事例生成器122は、受信した対象の定義103に対応する時系列データ107と関係性データ108とをデータベース125から取得する。図2においては、当該処理はステップ202とステップ203に相当する。
【0023】
事例生成処理204について説明する。事例生成処理204は事例生成器122で実行される。事例生成器122は、対象の定義103、時系列データ107、および関係性データ108を入力とし、事例グラフデータ106を出力とする。
【0024】
事例生成処理204の詳細フローチャートを図5に記す。処理501−1〜501−2間のループ処理において、事例生成器122は、時系列データ107を走査し、事象(本実施例では渋滞)を抽出し(処理502)、抽出された事象に対応する頂点の情報を生成する(処理503)。
【0025】
図6A,B,Cに処理502および処理503の例を示す。事例生成器122は、平均車速の時系列データ301において、対象の定義103に適合する事象を抽出する。ここでは平均時速20km/h以下に適合する事象である図6Aで楕円601〜603で囲んだ事象1〜3が抽出される。抽出された事象は頂点の情報として生成され、グラフ表記では図6Bに示したグラフ610の頂点となり、データ構造で表現すると図6Cに示した事例グラフデータ620のエントリになる。各頂点の情報は、事例グラフデータ620の各エントリのように、頂点データとして、センサ識別情報(ID)やセンサデータの取得の時刻などの時系列データの情報と対応付けられて、主記憶1806やストレージ1807に保持される(処理504)。
【0026】
続いて、事例生成器122は、生成された頂点の情報から任意の2つの頂点に対するループ処理(処理505−1〜505−2)を実行する。ここで、説明のために仮に、任意の2つの頂点として選択された頂点をそれぞれ、頂点Aおよび頂点Bとする。事例生成器122は、当該2つの頂点の情報に保持されている時刻のデータから、頂点間のセンサデータの取得の時間間隔を処理506で評価する。時間間隔(頂点Bのセンサデータの取得の時刻と頂点Aのセンサデータの取得の時刻の間の時間)が0より大きく予め決められた閾値よりも小さい場合、事例生成器122は、処理507において、当該2つの頂点の関係性を関係性データ401から取得する。事例生成器122は、取得した関係性を処理508で評価し、関係性が「1」、即ち関係性がある場合は、処理509において当該2つの頂点間(ここでは頂点Aと頂点Bの間)に辺の情報を出力する。出力された辺の情報は、頂点Aの情報の辺データの頂点Bの列に「1」として保存される。一方、処理507、処理509のいずれかの評価で条件を充たさない(Nであった)場合は、事例生成器122は、辺の情報を出力しない。したがって、辺の情報は「0」のままになる。以上のようにして、事例生成器122は辺の情報を生成する。
【0027】
図7A,Bに、処理505−1〜処理505−2の処理の例を示す。ここで閾値を2とし、図6Cの頂点1(611)と頂点2(612)を例に説明する。頂点1(611)と前記頂点2(612)は、事例グラフデータ620から時間間隔(頂点2の時刻(=4)−頂点1の時刻(=3)=1)が1であり、処理506の評価式(0<1<2)が成り立つ。また、センサ間の関係性のデータ401より関係性があり処理508の評価式(関係性=1)が成り立つ。従って、頂点1と頂点2間で図7Aのグラフ表記700の辺1(701)の情報が図7Bの辺データ711のように出力される。同様に、事例生成器122は、頂点1と頂点3間で辺2(702)の情報を出力し、頂点2と頂点3間には辺の情報を出力しない。ここで、辺は時間方向に大きくなる方向に対して方向を持つ有向辺である。以上の生成された辺の情報をデータ表記で示すと、図7Bの事例グラフデータ710の各エントリのようになる。
【0028】
以上の処理で、事例生成器122は、対象の定義103、時系列データ107および関係性データ108を入力とし、事例グラフデータ106を出力する。
【0029】
次に、シナリオグラフ生成処理205について説明する。シナリオグラフ生成処理は、事例グラフデータの複数のエントリを統合し、シナリオグラフ(確率過程グラフ)を生成する処理である。
【0030】
シナリオグラフ生成処理205は、シナリオグラフ生成器123で実行される。シナリオグラフ生成器123は、事例グラフデータ106を入力とし、シナリオグラフデータ105を出力とする。
【0031】
シナリオグラフ生成処理205のフローチャートを図8に示す。先ず処理801において、シナリオグラフ生成器123は、事例グラフデータを取得する。その後、シナリオグラフ生成器123は、事例グラフデータから任意の1頂点を選択(選択した頂点を頂点Aとする)するループ処理(802−1〜802−2)を実行する。
【0032】
シナリオグラフ生成器123は、頂点Aが既に類似頂点として選択されているかどうかの評価を処理803で実施し、選択されていない場合は処理804に移行する。続いて、シナリオグラフ生成器123は、取得した事例グラフデータから頂点A以外の頂点を選択(選択した頂点を頂点Bとする)するループ処理(805−1〜805〜2)を実行する。処理806にて、シナリオグラフ生成器123は、頂点Aと頂点Bの類似度を計算する。類似度は、例えば、それぞれの頂点が保持する平均速度などのデータの差分絶対値を指標とする。シナリオグラフ生成器123は、処理807において、求めた類似度と予め指定された閾値とを比較して評価し、評価式(類似度<閾値)が充たされれば、処理808に移行し、頂点Bを頂点Aの類似頂点として類似頂点リストに登録する。
【0033】
処理801〜805−2までの処理の具体例を図9A,B,Cに示す。例として、処理801でシナリオグラフ生成器123が取得した事例グラフデータを、図9Aに示した事例グラフデータ1(900)と事例グラフデータ2(920)とする。それぞれの事例グラフデータは対象の定義103で指定されたものであり、事例グラフデータ1が昨日のデータで、事例グラフデータ2が一昨日のデータに対応する。事象グラフデータ1および事象グラフデータ2のグラフ表記をそれぞれ図9Bのグラフ910およびグラフ930に示す。
【0034】
シナリオグラフ生成器123は、先ず頂点Aとして事例グラフデータ1の頂点1を選択する。頂点Aは、類似頂点として選択されたことは無い。ループ処理805にて、シナリオグラフ生成器123は、頂点Bとして事例グラフデータ1の頂点2を選択する。そして、シナリオグラフ生成器123は、頂点Aと頂点Bの平均車速から類似度を計算(頂点Aの平均車速(=15)−頂点Bの平均車速(=10)=5)し、閾値と比較する。ここで、閾値は1とすると、処理807の評価式(5<1)は充足しないことになり、頂点Bは類似頂点リストに追加されない。シナリオグラフ生成器123は、処理805−1に戻り、頂点Bとして事例グラフデータ1の頂点3を選択し、同様に処理する。ここでも、評価式は充足されないので頂点Bは類似頂点リストに追加されない。続いて同様に、シナリオグラフ生成器123は、事例グラフデータ2の頂点1を処理する。事例グラフデータ2の頂点1は処理807の評価式を充足するので、類似頂点リストに追加される。これを繰り返し、図9Cに示した類似頂点リスト940が生成される。ここで、類自頂点リスト940の頂点Aの列に事例グラフデータ2の頂点1が含まれないが、これは事例グラフデータ1を先に処理したために、事例グラフデータ2の頂点1が類似頂点として選択されたためである。
【0035】
次に、処理810以降を説明する。処理810にて、シナリオグラフ生成器123は、辺識別子を定義し、「2」で初期化する。その後、シナリオグラフ生成器123は、頂点Aに対する類似頂点リストから頂点を選択(選択した頂点を類似頂点とする)するループ処理(811−1〜811−2)を実行する。
【0036】
処理812において、シナリオグラフ生成器123は、類似頂点の辺データを取得し、辺データが「1」のデータ、即ち関係性のある頂点に対する辺、を「2」で初期化された辺識別子に変更する(処理813)。そして処理814にて、シナリオグラフ生成器123は、類似頂点の頂点データおよび変更された辺データを頂点Aの情報に保存する。シナリオグラフ生成器123は、当該ループの最後に辺識別子に1を加える。辺識別子に1を加える理由は、辺識別子が重複した値を持つことを回避するためであり、変形例としては、1以外の数字または重複リストなどによっても実現できる。以上を類似頂点リストの頂点がなくなるまで繰り返すことによって、頂点Aと類似する頂点を、頂点Aに統合し、辺識別子によって、統合された辺と統合前の辺とを区別することが可能となる。これらを繰り返すことによって、事例グラフデータの複数のエントリを、一つのグラフデータに統合できる。ここで、統合されたグラフデータをシナリオグラフデータと呼ぶ。
【0037】
処理810〜処理811−2までの処理の具体例を図10A,Bに示す。図10では、簡単のため、事例グラフデータ1の頂点1を頂点11、事例グラフデータ2の頂点1を頂点21のように記載する。頂点Aが頂点11の際に、類似頂点リスト940の対応する類似頂点は頂点21である。従って、処理812にて、シナリオグラフ生成器は頂点21の辺データを取得する。頂点21の辺データでは、頂点22に対応する辺が「1」となっているため、処理813にて、シナリオグラフ生成器123は、辺データを辺識別子「2」に書き換える。そして処理814にて、シナリオグラフ生成器123は、頂点21の保持するデータを頂点11に追加する。以上を繰り返すことによって、図10Bに示したシナリオグラフデータ1010が生成される。このとき、シナリオグラフデータ1010のグラフ表記は図10Aのグラフ1000のように描け、複数の事例グラフデータのエントリが一つに統合されたことが分かる。さらに、シナリオグラフデータ1010では、辺識別情報データ1011から、統合前の辺を区別できる。
【0038】
以上の処理で、シナリオグラフ生成処理205では、事例グラフデータ106が入力され、シナリオグラフデータ105が出力される。
【0039】
次に可能性の束生成処理206について説明する。可能性の束生成処理は、シナリオグラフデータを元に、複数のシナリオ(これを可能性の束と定義する)を生成する処理である。複数のシナリオは、時系列データと関係性データから予測された、例えば、未来の起き得る事例群であり、ユーザは複数のシナリオを本実施例のシステムによって得ることで、想定していなかった事例などを発見できる。
【0040】
可能性の束生成処理206は、可能性の束生成器124で実行される。可能性の束生成器124は、シナリオグラフデータ105を入力とし、可能性の束102を出力とする。
【0041】
可能性の束生成処理206のフローチャートを図11に示す。先ず、処理1101において、可能性の束生成器124は、シナリオグラフデータを取得する。その後、可能性の束生成器124は頂点リストを初期化し(処理1102)、ユーザがタッチパネル1812から開始頂点の選択をする(処理1103)。処理1103では、例えば、グラフ処理装置110はユーザに対し、タッチパネル1802を介して取得したシナリオデータに基づいてシナリオグラフを提示し、ユーザは提示されたシナリオグラフ内から開始頂点を選択する。
【0042】
処理1104にて、可能性の束生成器124は、選択された開始頂点を頂点リストへ追加する。次に、可能性の束生成器124は処理1105のトラバース処理を実行するが、当該処理は再帰関数となっており、トラバース処理内部でトラバース処理を実行している。
【0043】
トラバース処理1105のフローチャートを図12に示す。トラバース処理では、選択された頂点の辺データを取得(処理1201)し、取得した辺データに格納されている辺識別子のうちから確率的に遷移する辺識別子を取得(処理1202)し、取得した辺識別子の遷移確率を算出し(処理1203)、算出した遷移確率から遷移する辺を選択する(処理1204)。
【0044】
処理1203では、遷移確率は、0を除く辺識別子の種類数を母数として、各識別子の種類間で等しい遷移確率とする。また処理1204では、可能性の束生成器124は、算出した遷移確率に基づいて最も低い遷移確率を持つ辺を選択する。遷移確率に差ができうるのは、統合される複数の頂点がそれぞれ同じ統合された頂点への遷移確率を有すると、統合により遷移確率がその和となるためである。
【0045】
図19は、入力された事例グラフデータについて頂点の統合がなされ、重みつきの確率過程グラフが作成される概念を示した模式図である。図19の左の二つの事例グラフ1901間で、2組(1902、1903)の頂点が類似の特徴を持つために統合され、図19の右に示したように他の辺に対して重みが大きい辺を有する確率過程グラフ1904ができる。
【0046】
次に、処理1205で、可能性の束生成器124は、選択された辺に含まれる辺識別子と同一の辺識別子を持つ全ての辺の辺データを取得する。可能性の束生成器124は、取得した辺データが0かどうか評価し(処理1206)、0で無かった場合、取得した辺のループ処理(1207−1〜1207−2)を実行する。当該ループ処理内では、該辺の接続先の頂点を選択し(処理1208)、頂点リストに追加(処理1209)、そして、トラバース処理1105を実行する再帰処理となる。
【0047】
上記の処理を行うことで得られた頂点リストをシナリオとして登録することで、シナリオグラフデータ105から、選択された開始頂点を起点としたシナリオを生成することができる。また、複数の開始頂点を選択することで、複数のシナリオを生成することができる。当該複数のシナリオを可能性の束と呼ぶ。
【0048】
処理1101〜処理1106までの処理の具体例を示す。本例では、可能性の束生成器124は、図10Bのシナリオグラフデータ1000を処理1101にて取得する。またここで、処理1103で選択された開始頂点を頂点11とする。処理1104において、頂点11が頂点リストに追加される。その後トラバース処理1105において、可能性の束生成器124は、頂点11の辺データを取得し(処理1201)、確率的に遷移する辺識別子を取得する(処理1202)。頂点11の0を除く辺識別子の種類数は2(1と2の2種類)であるから、確率的に遷移する辺識別子は辺識別子1と辺識別子2である。次に処理1203において、頂点11の辺識別子の種類数は2であるから、辺識別子1の遷移確率は1/2、辺識別子2の遷移確率は1/2となる。本実施例では、最小となる確率の辺が複数あった場合には、若い番号の辺識別子を選択する。したがって本例では、処理1205で辺識別子1が選択される。ここで、遷移確率に差が生じる場合としては、仮に例えば、頂点Xから頂点Yに向かう辺があり、頂点Xと頂点11とが類似し、また頂点Yと頂点22とが類似する場合であり、この場合には頂点11から頂点22に遷移する確率が2/3で、頂点11から頂点12および頂点13に遷移する確率の1/3よりも高くなる。辺識別子1を持つ辺は頂点12と頂点13であり、頂点12と頂点13は並行して遷移するので、処理1207−1〜1207−2のループ処理では頂点12と頂点13が対象となる。まず頂点12が選択され(処理1208)、頂点12が頂点リストへ登録される(処理1209)。次のトラバース処理では頂点12が選択された頂点として処理される。当該頂点は接続する辺を持たないため、評価式(処理1206)が偽となり、トラバース処理が終了する。頂点13においても頂点12と同様に処理される。
【0049】
以上の処理から、頂点リストには頂点11、頂点12、頂点13が登録されており、これがシナリオデータとなる。この登録されたシナリオデータを図13Aに示す。シナリオデータ1310は各頂点の頂点データと辺データを保持している。また、シナリオデータ1310のグラフ表記を図13Bのグラフ1300に示す。さらに、処理1103で複数の頂点が選択されることで、単一のシナリオだけでなく、複数のシナリオ、すなわち可能性の束を得ることができる。
【0050】
最後に、可能性の束生成処理206は、生成した可能性の束となるシナリオデータを事例データベース126に保存し、タッチパネル1812に可能性の束を提示する(処理207)。
【0051】
以上の処理(処理201〜207)によって、グラフ処理装置110は、時系列データと関係性データを入力とし、シナリオグラフデータ(確率過程グラフ)を生成し、シナリオグラフデータから複数のシナリオ、即ち可能性の束を出力する。
【0052】
以上のように、本実施例の情報処理システム101は、ひとつの頂点から複数の頂点に平行して遷移する場合にも対応することができ、ひいては可能性の束の算出、希少な事例の発見や解析ができる。また、本実施例では、もっとも小さい遷移確率となる辺を処理1204で選択したが、逆に処理1204でもっとも高い遷移確率となる辺を選択することで、もっとも起こりそうな事例の発見や解析が可能となる。
【実施例2】
【0053】
実施例2では、実施例1の可能性の束生成処理206の処理1203において、最小の確率で遷移する辺でなく、全ての辺である場合を説明する。実施例2は一つの開始頂点から複数のシナリオを作成する効果がある。
【0054】
図14に、実施例2におけるトラバース処理のフローチャートを示す。図12と同一の処理は同じ符号を付してある。実施例1と比較すると、処理1210、1211、1212、1213が異なる。
【0055】
処理1210では、可能性の束生成器124は、頂点リストをメモリに保存する。これは、次処理である処理1211で辺識別子のループを行う際、各辺識別子の処理で同一の頂点リストから開始するためである。例えば、頂点リストに頂点Aが格納されている場合、可能性の束生成器124は、処理1210で前記頂点リストを保存し、処理1211−1で辺識別子として辺識別子Aを選択し、処理1212で、処理1212で保存した頂点リストを取得する。
【0056】
その後の処理で、例えば、頂点リストに頂点Bが追加されると、頂点リストには頂点Aと頂点Bが格納されている。次に処理1211−1に戻って辺識別子Bが選択され、処理1212で、処理1210で保存した頂点リストを取得する。その後の処理で、例えば、頂点リストに頂点Cが追加されると、頂点リストには頂点Aと頂点Cが格納されている。即ち、頂点Aから頂点Bへ遷移するシナリオと頂点Aから頂点Cへ遷移するシナリオの二つのシナリオを生成できた。
【0057】
また、処理1213では、選択頂点に対し遷移確率データを付加する。前記遷移確率データは処理1203で算出した値である。図15に、遷移確率データを付加したシナリオデータ1500を示す。遷移確率データは各辺に定義され、図15の例では頂点11から頂点12と頂点13へ遷移する確率は0.5(50%)であることを示している。前記遷移確率は複数のシナリオ間で、シナリオの発生確率を評価する際に用いられる。
【0058】
以上の処理により、一つの開始頂点から複数のシナリオを生成できる。
【実施例3】
【0059】
実施例3では、実施例1において、辺識別子を持つ代わりに仮想頂点の配置によって解決する方法である場合を説明する。実施例3は階層的な辺の識別が可能になる効果がある。
【0060】
図17に仮想頂点を用いた場合のシナリオグラフ生成処理フローチャートを示す。図17図8の結合子「1」以降の処理を記載している。また、図8と同一処理は同一符号を付している。
【0061】
処理812において、シナリオグラフ生成器123は、類似頂点の辺データを取得した後、処理1701にて前記辺データの数が1より大きいかどうかの評価を行う。前記評価が偽であった場合、シナリオグラフ生成器123は、実施例1の処理814と同様の処理を行う。一方、前記評価が真であった場合、シナリオグラフ生成器123は、仮想頂点を生成する(処理1702)。次に、シナリオグラフ生成器123は、類似頂点の頂点データを頂点Aに追加し(処理1703)、前記類自頂点の辺データに仮想頂点を追加する(処理1704)。これら処理により、頂点Aは、類似頂点のデータを持ち、仮想頂点に対し辺を持つ。さらに、シナリオグラフ生成器123は、処理1705において類似頂点の辺データを仮想頂点の辺データに保存することで、頂点Aから仮想頂点を媒介し他の頂点に接続する。また複数の仮想頂点を用いることで、仮想頂点から仮想頂点への辺など階層的なグラフを生成できる。
【0062】
図16A,Bに、仮想頂点を用いた場合のシナリオデータの例を示す。図16Aに示したように、シナリオデータ1610は、仮想頂点識別子1611と仮想頂点辺データ1612を有する。前記仮想頂点識別子は、仮想頂点のとき1、それ以外は0となるデータである。頂点11は仮想頂点辺データによって仮想頂点100に接続する。仮想頂点100は辺データによって頂点12および頂点13に接続する。また、頂点データは、頂点11に保持され、仮想頂点は頂点データを持たない。以上のシナリオデータ1610のグラフ表記を図16Bのグラフ1600に示す。前記グラフ表記では、仮想頂点は、実施例1における同一辺識別子を持つ辺の分岐点の役割を示していることがわかる。
【符号の説明】
【0063】
101:情報処理システム、110:グラフ処理装置、120:対象選択器、122:事例生成器、123:シナリオグラフ生成器、124:可能性の束生成器、125:データベース、126:事例データベース、1801:ユーザ端末、1802:ネットワーク、1803:無線基地局、1804:センサ群、1805:中央処理装置(CPU)、1806:主記憶、1807:ストレージ、1808:ネットワークインタフェース(I/F)、1809:CPU、1810:主記憶、1811:ストレージ、1812:タッチパネル、1813:ネットワークI/F。
図1
図2
図3A
図3B
図4A
図4B
図4C
図5
図6A
図6B
図6C
図7A
図7B
図8
図9A
図9B
図9C
図10A
図10B
図11
図12
図13A
図13B
図14
図15
図16A
図16B
図17
図18
図19