(57)【要約】【課題】ライフイベントの予測結果を、分かりやすく表示する。【解決手段】ライフイベントに関する時系列データを用いて将来のライフイベントを予測することにより得られる将来のライフイベントが、ライフイベントが生じるスコアを基に時系列で表示される。本技術は、例えば、ライフイベントの予測結果を表示する場合に適用することができる。【選択図】図１８
2017027145.tif 000002
【特許請求の範囲】
【請求項１】
ライフイベントに関する時系列データを用いて将来のライフイベントを予測することにより得られる前記将来のライフイベントを、ライフイベントが生じるスコアを基に時系列で表示部に表示する表示制御を行う制御部を備える
表示制御装置。
【請求項２】
前記制御部は、所定のライフイベントから、他のライフイベントが生じる生起条件をさらに表示する表示制御を行う
請求項１に記載の表示制御装置。
【請求項３】
前記スコアは、前記生起条件の選択に応じて計算し直される
請求項２に記載の表示制御装置。
【請求項４】
前記制御部は、前記ライフイベントが生じるスコアをさらに表示する表示制御を行う
請求項１に記載の表示制御装置。
【請求項５】
前記ライフイベントは、ヒト、ヒトの集合体若しくはヒトの集合体によって形成されるもの、又は、物のライフイベントである
請求項１に記載の表示制御装置。
【請求項６】
前記将来のライフイベントは、ライフイベントに関する時系列データを用いて学習が行われた、ネットワーク構造を有するモデルを用いて予測される
請求項１に記載の表示制御装置。
【請求項７】
前記将来のライフイベントは、前記モデルの一部であるサブセットモデルを用いて予測される
請求項６に記載の表示制御装置。
【請求項８】
前記サブセットモデルは、ライフイベントに関する時系列データを用いた学習により更新され、
前記モデルは、更新後の前記サブセットモデルを用いて更新される
請求項７に記載の表示制御装置。
【請求項９】
前記モデルは、HMM(Hidden Markov Model)である
請求項６に記載の表示制御装置。
【請求項１０】
前記サブセットモデルは、
前記HMMの状態をクラスタリングし、
前記HMMの状態のクラスタリング結果を用いて、ライフイベントに関する時系列データの各サンプルが属するクラスタを、前記時系列データが属する所属クラスタとして検索し、
前記HMMから、前記所属クラスタに属する状態を切り出す
ことにより得られる状態で構成されるサブセットHMMである
請求項９に記載の表示制御装置。
【請求項１１】
前記サブセットモデルを用いて、前記将来のライフイベントを予測する予測部をさらに備える
請求項７に記載の表示制御装置。
【請求項１２】
ライフイベントに関する時系列データを用いて将来のライフイベントを予測することにより得られる前記将来のライフイベントを、ライフイベントが生じるスコアを基に時系列で表示部に表示する表示制御を行う
ことを含む表示制御方法。
【請求項１３】
ライフイベントに関する時系列データを用いて将来のライフイベントを予測することにより得られる前記将来のライフイベントを、ライフイベントが生じるスコアを基に時系列で表示部に表示する表示制御を行う制御部
として、コンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、表示制御装置、表示制御方法、及び、プログラムに関し、特に、例えば、ライフイベントの予測結果を、分かりやすく表示することができるようにする表示制御装置、表示制御方法、及び、プログラムに関する。
【背景技術】
【０００２】
例えば、ユーザの行動履歴としての、ユーザの行動を表す行動の時系列データから、ユーザの未来のライフイベント、すなわち、例えば、ユーザが未来にいる場所や、ユーザの未来の行動を表す時系列データを、確率を用いて予測し、ユーザへの提示等に利用する方法が提案されている（例えば、特許文献１や２を参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開2011-118777号公報
【特許文献２】特許第5664398号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、ユーザ等の未来のライフイベントを予測した場合には、そのライフイベントの予測結果を、分かりやすく表示することが要請されている。
【０００５】
本技術は、このような状況に鑑みてなされたものであり、ライフイベントの予測結果を、分かりやすく表示することができるようにするものである。
【課題を解決するための手段】
【０００６】
本技術の表示制御装置、又は、プログラムは、ライフイベントに関する時系列データを用いて将来のライフイベントを予測することにより得られる前記将来のライフイベントを、ライフイベントが生じるスコアを基に時系列で表示部に表示する表示制御を行う制御部を備える表示制御装置、又は、そのような表示制御装置として、コンピュータを機能させるためのプログラムである。
【０００７】
本技術の表示制御方法は、ライフイベントに関する時系列データを用いて将来のライフイベントを予測することにより得られる前記将来のライフイベントを、ライフイベントが生じるスコアを基に時系列で表示部に表示する表示制御を行うことを含む表示制御方法である。
【０００８】
本技術の表示制御装置、表示制御方法、及び、プログラムにおいては、ライフイベントに関する時系列データを用いて将来のライフイベントを予測することにより得られる前記将来のライフイベントが、ライフイベントが生じるスコアを基に時系列で表示部に表示される。
【０００９】
なお、表示制御装置は、独立した装置であっても良いし、１つの装置を構成している内部ブロックであっても良い。
【００１０】
また、プログラムは、伝送媒体を介して伝送することにより、又は、記録媒体に記録して、提供することができる。
【発明の効果】
【００１１】
本技術によれば、ライフイベントの予測結果を、分かりやすく表示することができる。
【００１２】
なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
【図面の簡単な説明】
【００１３】
【図１】時系列データの利用例を説明する図である。
【図２】未来予測の例を説明する図である。
【図３】欠損モーダル予測の例を説明する図である。
【図４】再帰的未来予測を行う予測装置の構成例を示すブロック図である。
【図５】時系列データベース１０からの時系列データの検索が繰り返し行われることを抑制する方法を説明する図である。
【図６】複数の時系列データの類似する区間を束ねて、その複数の時系列データを、ネットワーク構造の形にしたネットワークモデルを説明する図である。
【図７】バッチ学習HMMとインクリメンタルHMMとを説明する図である。
【図８】サブセット方式の概要を説明する図である。
【図９】HMMを用いて行われる計算を説明する図である。
【図１０】サブセットHMMを生成するサブセットHMM生成装置の構成例を示すブロック図である。
【図１１】サブセットHMM生成装置で行われるクラスタテーブルの生成の処理の例と、サブセットHMMの生成の処理の例とを説明するフローチャートである。
【図１２】サブセットHMMの生成の処理を説明するフローチャートである。
【図１３】サブセットHMMを生成するサブセットHMMの生成の処理を、さらに説明する図である。
【図１４】ネットワークモデルを用いて予測時系列データを予測（生成）する予測装置の構成例を示すブロック図である。
【図１５】予測時系列生成部５３での予測時系列データの生成（予測）の例を説明する図である。
【図１６】将来のライフイベントの提示の例を説明する図である。
【図１７】予測状態系列を簡略化して表示する表示例を示す図である。
【図１８】予測状態系列の表示の表示例（スコア／時刻順表示の表示例）を示す図である。
【図１９】生起条件付きスコア／時刻順表示の表示例を示す図である。
【図２０】予測状態系列を構成する状態と、ライフイベントとの対応関係の例を示す図である。
【図２１】本技術を適用したライフイベントサービスシステムの一実施の形態の構成例を示すブロック図である。
【図２２】サーバ６１、及び、クライアント６２の機能的な構成例を示すブロック図である。
【図２３】提示部８８に表示されるユーザインターフェースの表示例を示す図である。
【図２４】母集団設定UI１０２の詳細例を示す図である。
【図２５】目標設定UI１０３の詳細例を示す図である。
【図２６】ライフイベントサービスシステムが行うネットワークモデルの学習の処理の例を説明するフローチャートである。
【図２７】ライフイベントサービスシステムが行うライフイベントの予測の処理の例を説明するフローチャートである。
【図２８】ヒトのライフイベントのネットワーク構造の例を模式的に示す図である。
【図２９】ライフイベントサービスシステムを適用した学歴職業選択予測システムの構成例を示すブロック図である。
【図３０】ライフイベントサービスシステムを適用した健康予測システムの構成例を示すブロック図である。
【図３１】物のライフイベントのネットワーク構造の例を模式的に示す図である。
【図３２】ヒトの集合体、又は、ヒトの集合体によって形成されるもののライフイベントのネットワーク構造の例を模式的に示す図である。
【図３３】本技術を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【発明を実施するための形態】
【００１４】
＜時系列データの利用例＞
【００１５】
図１は、時系列データの利用例を説明する図である。
【００１６】
ここで、昨今、データ、特に、多数のデータであるビッグデータを活用するシステムが次々と提案され、構築されている。
【００１７】
データを活用するシステムが収集する情報は、ユーザ個人（ヒト）や、ユーザのグループ、物のプロフィール等のように、静的で、すなわち、時間的に変化しない（時間に依存しない）、サイズの比較的小さい情報であった。
【００１８】
しかしながら、昨今、技術の進歩とともに、データを活用するシステムでは、ユーザの行動履歴や、センサのセンシング出力等のサイズの大きい時系列データを収集することが可能になっている。
【００１９】
多数の時系列データを収集することが可能になると、これらの時系列データを用いて、未来の予測が可能になる。
【００２０】
例えば、前述の特許文献１や２では、ユーザの行動を表す時系列データから、ユーザが未来にいる場所や、ユーザの未来の行動を予測する方法が提案されている。
【００２１】
特許文献１や２に記載の方法では、例えば、１分後や１時間後の場所や行動の確率が求められ、そのような１分や１時間のタイムスケールで未来が予測される。
【００２２】
１分や１時間のタイムスケールでの未来の予測は、例えば、１時間から１日程度の時系列データを収集し、その時系列データを用いて、データベースの構築や、モデルの学習を行うことで、そのデータベースやモデルを用いて行うことができる。
【００２３】
しかしながら、実際のユーザの興味としては、１分後や１時間後の未来よりも、もっと長いタイムスケールの未来を知りたいことが多い。１分後や１時間後の未来は、自分の経験と意思でおおよそ決まり、ユーザ自身が、その未来をおおよそ知っているので、わざわざ、システムに予測してもらうまでもないからである。
【００２４】
一方、例えば、１ヶ月や、１年、１０年等の長いタイムスケールの未来を、ユーザ自身の経験や意志から見通すことは困難である。長いタイムスケールの未来の予測には、例えば、事前に様々なヒトの時系列データを多数集めて、その時系列データの傾向を用いることが必要となる。
【００２５】
ところで、ユーザが、未来を知りたいと思う対象は、必ずしも自分自身とは限らない。例えば、自分の子供や孫といった親族等の他のヒトの未来が知りたいことがある。
【００２６】
また、一人のヒトの他、自分が所属しているグループや組織等のヒトの集合体、例えば、会社や、サークル、国家、社会体制等の未来を知りたいことがある。
【００２７】
例えば、組織に所属するユーザは、その組織が将来どのように変わるかを予測することができれば、組織の中を、あるいは、組織の外を、どのように渡り歩くべきかの指針を得ることができる。
【００２８】
さらに、例えば、組織を運営するユーザは、その組織の未来の予測結果とともに、その未来を招く条件、すなわち、例えば、組織を繁栄させ、存続させるには、どのような施策を施し、どのような施策を避けるべきかを知りたいことがある。
【００２９】
なお、グループや組織等のヒトの集合体は、例えば、平和主義者やフェミニスト等のように、構成員の境界が必ずしも明確でない集合体であっても良い。
【００３０】
以上のような、ヒトやヒトの集合体の他、ヒトの集合体によって形成されるもの、すなわち、例えば、文化や流行等の未来を知りたいこともある。例えば、丸文字や絵文字の文化の流行り廃りや、現在の流行語が将来定着するかどうかを知りたいことがある。
【００３１】
さらに、ユーザは、自分が所有する物（動産、及び、不動産を含む）や、興味がある物、利用している物、その他の任意の物の未来を知りたいと思うことも多い。例えば、ユーザが所有する車や、楽器、住居、近所の道路や、橋梁、ビル等の建造物について、将来どのようになっているかを知りたいことがある。
【００３２】
また、物については、どれくらいの期間、どのような使い方をしたら、実質的な劣化が生じるかや、金銭価値の低下が生じるのかを知りたいことがある。また、そのような将来の劣化や金銭価値の低下を抑制する方法を知りたいことがある。
【００３３】
ビッグデータによれば、様々な事例を集約し、その様々な事例を、現在の事例に当てはめることで、未来を予測する有用な情報を抽出することができる。
【００３４】
例えば、ビックデータから、ユーザと同じような経緯を辿った他のユーザの事例を探し、その事例から、未来の情報を集約すれば、ユーザの将来の姿を予測することができる。
【００３５】
したがって、ビックデータは、上述したような未来の予測（未来を知ること）に有用である。
【００３６】
しかしながら、上述のように、ビックデータから、事例を探して、未来を予測する方法では、未来を、適切に予測することが困難な場合がある。
【００３７】
すなわち、例えば、ビックデータに、最長で、１年程度の（長さの）時系列データしか含まれていない場合には、長くても、その時系列データの長さに相当する未来、つまり、１年程度の先の未来までしか予測することができず、それより先の、例えば、１０年後の未来を予測することは困難である。
【００３８】
そのため、ビックデータに含まれる最長の時系列データの長さに相当する未来よりも先の未来を予測する方法の提案が要請されている。
【００３９】
さらに、上述したヒトや、ヒトの集合体、ヒトの集合体によって形成されるもの、物のライフイベントについては、どれだけ先の未来であるかにかかわらず、未来を予測した予測結果は、ユーザに分かりやすく提示することが要請されている。
【００４０】
特に、より先の未来の予測を行った場合には、未来に生じ得る可能性があるライフイベントとして、様々な分岐を伴う多数のライフイベントが得られる。さらに、あるライフイベントからの分岐では、分岐先を決める条件としての選択肢が存在し、いずれの選択肢を選択するかによって、ライフイベントからの分岐先が変化することがあり得る。
【００４１】
以上のような、様々な分岐を伴う多数のライフイベントについては、分岐先を決める条件（所定のライフイベントから、他のライフイベントが生じる条件）とともに、ユーザに分かりやすく提示することが要請されている。
【００４２】
さらに、あるライフイベントからの分岐先を決める条件としての選択肢については、ユーザによる選択肢の選択を可能にし、ユーザが選択した選択肢が選択された場合に生じるライフイベントを提示することが要請される。
【００４３】
そこで、本技術では、より先の未来で生じるライフイベントを予測することを可能とする。さらに、本技術では、ライフイベントの予測結果や、ライフイベントからの分岐先を決める条件を、ユーザに分かりやすく提示することを可能とする。また、本技術では、ライフイベントからの分岐先を決める条件としての選択肢を、ユーザが選択することを可能とする。
【００４４】
図１において、時系列データベース１０は、多数の時系列データを記憶している。すなわち、例えば、ヒトや、ヒトの集合体、ヒトの集合体によって形成されるもの、物のライフイベントに関する多数の時系列データが収集され、その多数の時系列データが、時系列データベース１０に記憶されている。
【００４５】
また、時系列データベース１０には、クエリとなる時系列データである入力時系列データが与えられる。
【００４６】
時系列データベース１０からは、入力時系列データに応じた時系列データが検索される。時系列データベース１０から検索された、入力時系列データに応じた時系列データは、検索時系列データとして出力され、例えば、未来のライフイベントの予測等に、必要に応じて利用される。
【００４７】
検索時系列データを利用して行われることとしては、例えば、入力時系列データ以外の時系列データの予測（推定）がある。時系列データの予測には、例えば、未来予測と、欠損モーダル予測とがある。
【００４８】
未来予測では、入力時系列データの未来の時系列データが予測（推定）される。
【００４９】
すなわち、未来予測では、例えば、入力時系列データに類似する時系列データが、時系列データベース１０から検索される。そして、例えば、時系列データベース１０の検索の結果得られる検索時系列データの、入力時系列データに類似する部分よりも未来の部分が、未来予測の予測結果として出力される。
【００５０】
欠損モーダル予測では、入力時系列データにおいて、一部のモーダルのモーダルデータが欠損している場合に、その欠損しているモーダルのモーダルデータが予測（推定）される。
【００５１】
すなわち、入力時系列データとしては、複数のモーダルのデータであるモーダルデータを含むマルチストリームを採用し得る。
【００５２】
欠損モーダル予測では、マルチストリームの入力時系列データにおいて、一部のモーダルのモーダルデータが欠損している場合に、その欠損しているモーダルのモーダルデータが予測（推定）される。
【００５３】
すなわち、欠損モーダル予測では、例えば、入力時系列データが有するモーダルデータと類似するモーダルデータを有する時系列データが、時系列データベース１０から検索される。そして、例えば、時系列データベース１０の検索の結果得られる検索時系列データが有するモーダルデータの中の、入力時系列データでモーダルデータが欠損しているモーダルのモーダルデータが、欠損モーダル予測の予測結果として出力される。
【００５４】
ここで、複数のモーダルのモーダルデータを有する時系列データとしては、例えば、ユーザのテストの点数の時系列データ、及び、そのユーザが進学した学校の時系列データ（学校を表す時系列データ）等を複数のモーダルのモーダルデータとして有する時系列データ等がある。
【００５５】
＜未来予測＞
【００５６】
図２は、未来予測の例を説明する図である。
【００５７】
未来予測では、入力時系列データに類似する類似区間を有する１以上の時系列データが、時系列データベース１０から、検索時系列データとして検索される。
【００５８】
さらに、１以上の検索時系列データそれぞれから、入力時系列データよりも未来の時系列データが抽出される。そして、その未来の時系列データから、入力時系列データの未来を予測した予測時系列データが生成される。
【００５９】
すなわち、例えば、１以上の検索時系列データそれぞれから抽出された１以上の未来の時系列データのうちの１つが、予測時系列データとして選択されるか、又は、その１以上の未来の時系列データをマージして、予測時系列データが生成される。
【００６０】
＜欠損モーダル予測＞
【００６１】
図３は、欠損モーダル予測の例を説明する図である。
【００６２】
欠損モーダル予測では、一部のモーダルのモーダルデータが欠損した入力時系列データに含まれる、欠損していないモーダルのモーダルデータと類似するモーダルデータを有する１以上の時系列データが、時系列データベース１０から、検索時系列データとして検索される。
【００６３】
さらに、１以上の検索時系列データから、入力時系列データにおいてモーダルデータが欠損しているモーダルのモーダルデータが、欠損モーダルデータとして抽出される。そして、その欠損モーダルデータから、入力時系列データにおいて欠損しているモーダルのモーダルデータを予測した予測時系列データ（欠損モーダル予測データ）が生成される。
【００６４】
すなわち、例えば、１以上の検索時系列データそれぞれから抽出された１以上の欠損モーダルデータのうちの１つが、欠損モーダル予測データとして選択されるか、又は、その１以上の欠損モーダルデータをマージして、欠損モーダル予測データが生成される。
【００６５】
本技術は、未来予測、及び、欠損モーダル予測のいずれにも適用することができるが、以下では、未来予測、及び、欠損モーダル予測のうちの、例えば、未来予測を例に、説明を行う。
【００６６】
いま、図２の未来予測を、単純未来予測ともいうこととすると、単純未来予測では、検索時系列データの最も未来の時点（時刻）までしか予測することができない。
【００６７】
そこで、より先の未来を予測する方法として、単純未来予測で得られた予測時系列データを、入力時系列データとして用いて、単純未来予測を行うことを、必要な回数だけ繰り返すことにより、必要なだけ先の未来までの予測時系列データを得る方法がある。
【００６８】
ここで、上述のように、単純未来予測で得られた予測時系列データを、入力時系列データとして用いて、単純未来予測を行うことを繰り返す未来予測を、再帰的未来予測ともいう。
【００６９】
＜再帰的未来予測を行う予測装置の構成例＞
【００７０】
図４は、再帰的未来予測を行う予測装置の構成例を示すブロック図である。
【００７１】
図４において、予測装置は、時系列データベース１０、検索部１１、及び、予測時系列生成部１２を有し、図１の時系列データベース１０を用いて構成される。
【００７２】
検索部１１には、未来を予測する対象の時系列データが、クエリとなる入力時系列データとして供給される。
【００７３】
検索部１１は、入力時系列データに類似する時系列データを、時系列データベース１０から検索し、その検索の結果得られる１以上の時系列データを、検索時系列データとして、予測時系列生成部１２に供給する。
【００７４】
予測時系列生成部１２は、検索部１１からの１以上の検索時系列データのそれぞれから、入力時系列データよりも未来の部分（区間）を、予測時系列データとして抽出する。
【００７５】
さらに、予測時系列生成部１２は、１以上の検索時系列データのそれぞれから抽出した１以上の予測時系列データを、新たな入力時系列データとして、検索部１１に供給する。
【００７６】
検索部１１は、予測時系列生成部１２からの１以上の新たな入力時系列データそれぞれについて、その新たな入力時系列データに類似する時系列データを、時系列データベース１０から検索する。
【００７７】
以下、予測時系列生成部１２において、例えば、予測時系列データとして、必要な未来の時点までの時系列データが得られるまで等の、あらかじめ定められた収束条件が満たされるまで、検索部１１及び予測時系列生成部１２は、同様の処理を繰り返す。
【００７８】
そして、予測時系列データとして、必要な未来の時点までの時系列データが得られる等の、収束条件が満たされると、予測時系列生成部１２は、いままでに得られた予測時系列データを用いて、入力時系列データより未来の時系列データであって、必要な未来の時点までの時系列データを生成し、その時系列データを、最終的な予測時系列データとして出力する。
【００７９】
図４の再帰的未来予測を行う予測装置では、時系列データベース１０からの、入力時系列データに類似する時系列データの検索と、その検索の結果得られる検索時系列データからの、予測時系列データの抽出とを繰り返し行う必要がある。
【００８０】
時系列データベース１０からの時系列データの検索は、負荷の高い処理であるため、そのような検索を繰り返し行うことは、適切ではない。
【００８１】
時系列データベース１０からの時系列データの検索が繰り返し行われることを抑制する方法としては、類似する区間を有する時系列データを接続した長い時系列データを、時系列データベース１０に記憶させる方法がある。
【００８２】
＜時系列データの検索が繰り返し行われることを抑制する方法＞
【００８３】
図５は、類似する区間を有する時系列データを接続した長い時系列データを、時系列データベース１０に記憶させることにより、時系列データベース１０からの時系列データの検索が繰り返し行われることを抑制する方法を説明する図である。
【００８４】
図４の検索部１１において、時系列データの検索が繰り返し行われる場合の、その検索は、時系列データベース１０に記憶された時系列データを対象として行われる。
【００８５】
そこで、時系列データの検索が繰り返し行われることを抑制するために、時系列データベース１０に記憶された時系列データから、類似する区間を有する時系列データどうしをあらかじめ検索しておく。さらに、その類似する区間が重複するように、時系列データどうしを接続することを、必要な長さの時系列データが得られるまで繰り返し、そのような時系列データを、時系列データベース１０に記憶させておく。
【００８６】
これにより、時系列データベース１０からの時系列データの検索が繰り返し行われることを抑制しつつ、（最初の）入力時系列データよりも、より未来の時点までの予測時系列データを得ることができる。
【００８７】
すなわち、時系列データベース１０に、互いに一部が類似する時系列データが多数記憶されている場合には、そのような時系列データの類似する区間が重複するように、時系列データを接続することにより、長い時系列データを得ることができる。
【００８８】
その結果、検索部１１では、そのような長い時系列データを、検索時系列データとして検索することができ、予測時系列生成部１２では、より未来の時点までの予測時系列データとしての時系列データを予測することができる。
【００８９】
したがって、より未来の時点までの予測時系列データを得るにあたって、検索部１１で時系列データの検索が繰り返し行われることを抑制することができる。
【００９０】
ところで、図５で説明したように、時系列データベース１０に記憶された時系列データどうしを、類似する区間が重複するように接続する場合には、いわゆる組み合わせ爆発が生じることがある。
【００９１】
すなわち、ある時系列データとの間で、類似する区間を有する時系列データ（以下、類似時系列データもいう）として、複数の時系列データが存在する場合には、ある時系列データと、複数の類似時系列データそれぞれとが接続され、類似時系列データの数と同一の数の新たな時系列データが生成される。
【００９２】
さらに、新たな時系列データに対して、類似時系列データが複数存在する場合には、同様にして、その複数の類似時系列データの数と同一の数の新たな時系列データが生成される。
【００９３】
時系列データベース１０に記憶された時系列データどうしを、類似する区間が重複するように接続する場合には、以上のようにして、新たな時系列データが繰り返し生成されることで、膨大な数の新たな時系列データが生成される組み合わせ爆発が生じることがある。
【００９４】
そこで、時系列データベース１０に記憶された時系列データどうしを、類似する区間が重複するように接続するに際して、類似する区間を、いわば束ねて、時系列データを、ネットワーク構造（ツリー構造を含む）のネットワークモデルの形で保持する。
【００９５】
以上のように、時系列データを、ネットワークモデルの形にすることで、組み合わせ爆発を抑制することができる。
【００９６】
なお、時系列データを、上述のように、ネットワークモデルの形にする場合には、束ねた区間（類似する区間）を通過する時系列データの頻度の情報（例えば、束ねた区間において、いくつの時系列データを束ねたかの情報）や、束ねた区間から他の束ねた区間への遷移の情報、束ねた区間で観測される観測値の分布の情報、すなわち、束ねた区間の時系列データのサンプル値の分布の情報を記憶することで、類似する区間を束ねることによる情報の損失を抑制する。
【００９７】
＜時系列データを、ネットワーク構造の形にしたネットワークモデル＞
【００９８】
図６は、複数の時系列データの類似する区間を束ねて、その複数の時系列データを、ネットワーク構造の形にしたネットワークモデルを説明する図である。
【００９９】
図６Ａは、複数の時系列データの類似する区間を束ねる様子を示している。
【０１００】
図６Ａに示すように、複数の時系列データの類似する区間を束ねることで、ネットワークモデルが構成される。
【０１０１】
複数の時系列データの類似する区間を束ねて、ネットワークモデルを構成するに際しては、上述したように、頻度の情報や、遷移の情報、観測値の分布の情報が、別途記憶される。
【０１０２】
図６Ｂは、複数の時系列データの類似する区間を束ねることで構成されたネットワークモデルの例を示している。
【０１０３】
図６Ｂにおいて、c1で示す部分は、束ねた区間や、束ねた区間を分割した区間を表す。束ねた区間どうしの間では、分岐や合流が生じうる。図６Ｂにおいて、c2で示す部分は、束ねた区間（束ねた区間を分割した区間を含む）のうちの、分岐しない区間の集まりを表す。
【０１０４】
ネットワークモデルとしては、例えば、マルコフモデル（状態遷移モデル）や、HMM(Hidden Markov Model)、重み付き有限状態トランスデューサ、線形動的システム（例えば、カルマンフィルタや、パーティクルフィルタ等）等の時系列遷移モデル（状態遷移モデル）を採用することができる。
【０１０５】
ネットワークモデルとして、HMMを採用した場合、図６のネットワークモデルにおいて、c1で示す部分は、HMMの状態を表し、c2で示す部分は、例えば、分岐しない状態（一方向の状態遷移のみか、一方向の状態遷移及び自己遷移のみを行う状態）の集まりを表す。
【０１０６】
図６Ｃは、図６Ｂのネットワークモデルのグラフィカルモデルの例を示している。
【０１０７】
図６Ｃのグラフィカルモデルでは、状態ztにおいて、観測値xtが観測される。観測値xtには、S個の種類がある。
【０１０８】
以下、ネットワークモデルとして、HMMを採用した場合を例に、説明を行う。
【０１０９】
HMMについては、頻度の情報として、例えば、状態iにいた回数（状態iを通過した回数）f(i)が求められる。状態iにいた回数f(i)は、式（１）に従って計算することができる。
【０１１０】
【数１】
2017027145.tif 000003
・・・（１）
【０１１１】
式（１）において、γ(t,i)は、例えば、時刻tに、状態iにいた場合には、1となり、時刻tに、状態iにいない場合には、0となる関数であり、時刻tに状態iにいたかどうかを表す。
【０１１２】
また、Tは、類似する区間を束ねる対象の時系列データ、すなわち、HMMの学習に用いられる時系列データである学習時系列データの時間長（時系列データのサンプル数）を表す。
【０１１３】
式（１）の関数γ(t,i)は、例えば、ビタビアルゴリズムに従って、学習時系列データに対する最尤状態系列s={s1,s2,...,sT}を求め、その最尤状態系列sに基づき、式（２）に従って計算することができる。ここで、stは、時刻tにいる状態を表す。
【０１１４】
【数２】
2017027145.tif 000004
・・・（２）
【０１１５】
式（２）において、δi,jは、i=jのときに1となり、i≠jのときに0となる関数を表す。
【０１１６】
式（２）によれば、時刻tの状態stが、状態iである場合に、関数γ(t,i)は、1となり、時刻tの状態stが、状態i以外の状態である場合に、関数γ(t,i)は、0となる。
【０１１７】
式（１）によれば、関数γ(t,i)を、学習時系列データの各サンプル（時刻）、すなわち、t=1,2,...,Tに亘って加算することで、状態iにいた回数f(i)が求められる。
【０１１８】
なお、頻度の情報としての状態iにいた回数は、直前に求められた回数を用いて、いわばインクリメンタルに求めることができる。
【０１１９】
すなわち、1ないしs番目の学習時系列データについて、状態iにいた回数を、f(s,i)と表すこととする。また、s+1番目の学習時系列データについて、時刻tに状態iにいたかどうかを表す関数を、γ(s+1,t,i)と表すこととする。さらに、s+1番目の学習時系列データの時間長を、T(s+1)と表すこととする。
【０１２０】
この場合、1ないしs+1番目の時系列データについて、状態iにいた回数f(s+1,i)は、1ないしs番目の時系列データについて、状態iにいた回数f(s,i)を用い、式（３）に従って求めることができる。
【０１２１】
【数３】
2017027145.tif 000005
・・・（３）
【０１２２】
HMMについては、観測値の分布の情報として、観測値をモデル化した観測モデルの情報が求められる。
【０１２３】
HMMは、状態ごとに、観測モデルを有する。
【０１２４】
観測値、すなわち、（学習）時系列データのサンプル値が、連続値である場合、観測モデルとしては、例えば、ガウス分布を採用することができる。
【０１２５】
ガウス分布は、平均値（平均ベクトル）と分散（分散共分散行列）とで規定される。したがって、観測モデルとして、ガウス分布を採用する場合、ガウス分布を規定する平均値と分散とが、観測値の分布の情報として求められる。
【０１２６】
状態iの観測モデルとしてのガウス分布の平均値μ(i)、及び、分散σ2(i)は、それぞれ、式（４）及び式（５）に従って求めることができる。
【０１２７】
【数４】
2017027145.tif 000006
・・・（４）
【０１２８】
【数５】
2017027145.tif 000007
・・・（５）
【０１２９】
式（４）及び式（５）において、x(t)は、時系列データの時刻tのサンプル値（観測値）を表す。
【０１３０】
なお、複数のデータxの分散は、xと、xの期待値（平均値）E(x)との差x-E(x)の2乗の期待値E((x-E(x))2)として定義されるが、この期待値E((x-E(x))2)は、xの2乗の期待値E(x2)と、xの期待値の2乗(E(x))2との差E(x2)-(E(x))2に等しい。
【０１３１】
式（５）において、分散σ2(i)は、xと、xの期待値E(x)との差x-E(x)の2乗の期待値E((x-E(x))2)を計算することにより求められているが、分散σ2(i)は、xの2乗の期待値E(x2)と、xの期待値の2乗(E(x))2との差E(x2)-(E(x))2を計算することにより求めることもできる。
【０１３２】
また、観測値の分布の情報としての、ガウス分布の平均値及び分散は、直前に求められたガウス分布の平均値及び分散を用いて、インクリメンタルに求めることができる。
【０１３３】
すなわち、1ないしs番目の時系列データについての、状態iのガウス分布の平均値及び分散を、それぞれ、μ(s,i)及びσ2(s,i)と表すこととする。また、s番目の時系列データの時刻tのサンプル値を、x(s,t)と表すこととする。
【０１３４】
この場合、1ないしs+1番目の時系列データについての、状態iのガウス分布の平均値μ(s+1,i)及び分散σ2(s+1,i)は、1ないしs番目の時系列データについての、状態iのガウス分布の平均値μ(s,i)及び分散σ2(s,i)を用い、式（６）及び式（７）に従って、それぞれ求めることができる。
【０１３５】
【数６】
2017027145.tif 000008
・・・（６）
【０１３６】
【数７】
2017027145.tif 000009
・・・（７）
【０１３７】
観測値x(t)、すなわち、時系列データのサンプル値x(t)が、離散値である場合には、その離散値となり得る離散シンボルそれぞれが観測される確率（観測確率）の集合を、観測モデルとして採用することができる。
【０１３８】
ここで、観測モデルとしての観測確率の集合（分布）を、多項分布と呼ぶこととする。
【０１３９】
状態iの観測モデルとしての多項分布が表す、離散シンボルkが観測される観測確率p(i,k)は、式（８）に従って求めることができる。
【０１４０】
【数８】
2017027145.tif 000010
・・・（８）
【０１４１】
式（８）によれば、状態iにおいて、時系列データの時刻tの観測値（サンプル値）x(t)として、離散シンボルkが観測された総数Σγ(t,i)δk,x(t)を、状態iにいた総数Σγ(t,i)で除算することにより、観測確率p(i,k)が求められる。
【０１４２】
なお、観測値の分布の情報としての、観測確率（で構成される多項分布）は、直前に求められた観測確率を用いて、インクリメンタルに求めることができる。
【０１４３】
すなわち、1ないしs番目の時系列データについての、状態iにおける離散シンボルkの観測確率を、p(s,i,k)と表すこととする。
【０１４４】
この場合、1ないしs+1番目の時系列データについての、状態iにおける離散シンボルkの観測確率p(s+1,i,k)は、1ないしs番目の時系列データについての、状態iにおける離散シンボルkの観測確率p(s,i,k)を用い、式（９）に従って求めることができる。
【０１４５】
【数９】
2017027145.tif 000011
・・・（９）
【０１４６】
HMMについては、遷移の情報としての遷移確率パラメータが必要である。遷移確率パラメータは、例えば、状態iから状態jに遷移した状態遷移の回数（通過回数）f(i,j)から求められる。状態遷移の回数f(i,j)は、式（１０）に従って計算することができる。
【０１４７】
【数１０】
2017027145.tif 000012
・・・（１０）
【０１４８】
式（１０）において、ξ(t,i,j)は、時刻tに、状態iにいて、時刻t+1に、状態jにいた場合には、1となり、他の場合には、0となる関数であり、時刻tから時刻t+1にかけて、状態iから状態jへの（状態）遷移が生じたかどうかを表す。
【０１４９】
式（１０）の関数ξ(t,i,j)は、例えば、ビタビアルゴリズムに従って、時系列データに対する最尤状態系列s={s1,s2,...,sT}を求め、その最尤状態系列sに基づき、式（１１）に従って計算することができる。
【０１５０】
【数１１】
2017027145.tif 000013
・・・（１１）
【０１５１】
式（１１）によれば、時刻tの状態stが、状態iであり、かつ、時刻t+1の状態st+1が、状態jである場合に、関数ξ(t,i,j)は、1となり、他の場合には、関数ξ(t,i,j)は、0となる。
【０１５２】
式（１０）によれば、関数ξ(t,i,j)を、時系列データの各サンプル（時刻）、すなわち、t=1,2,...,T-1に亘って加算することで、状態iから状態jへの（状態）遷移の回数（頻度）f(i,j)が求められる。
【０１５３】
状態iから状態jへの遷移の回数f(i,j)が求められると、状態iから状態jへの遷移が生じる（状態）遷移確率p(j|i)は、式（１２）に従って求めることができる。
【０１５４】
【数１２】
2017027145.tif 000014
・・・（１２）
【０１５５】
式（１２）によれば、遷移確率p(j|i)は、状態iから状態jへの遷移の回数f(i,j)を、状態iについて規格化することにより、すなわち、状態iを遷移元として生じる遷移の総数Σf(i,j)で正規化することにより求めることができる。
【０１５６】
なお、遷移の情報としての遷移の回数は、直前に求められた遷移の回数を用いて、いわばインクリメンタルに求めることができる。
【０１５７】
すなわち、1ないしs番目の時系列データについての、状態iから状態jへの遷移の回数を、f(s,i,j)と表すこととする。また、s+1番目の時系列データについての、時刻tから時刻t+1にかけて、状態iから状態jへの遷移が生じたかどうかを表す関数を、ξ(s+1,t,i,j)と表すこととする。
【０１５８】
この場合、1ないしs+1番目の時系列データについての、状態iから状態jへの遷移の回数f(s+1,i,j)は、1ないしs番目の時系列データについての、状態iから状態jへの遷移の回数f(s,i,j)を用い、式（１３）に従って求めることができる。
【０１５９】
【数１３】
2017027145.tif 000015
・・・（１３）
【０１６０】
ここで、上述の場合には、γ(t,i)が、時刻tに状態iにいたかどうかを0又は1で表す関数であり、ξ(t,i,j)が、時刻tから時刻t+1にかけて、状態iから状態jへの遷移が生じたかどうかを0又は1で表す関数であることとした。
【０１６１】
すなわち、上述の場合には、γ(t,i)及びξ(t,i,j)を、最尤状態系列s={s1,s2,...,sT}に基づき、式（１４）及び式（１５）に従って、それぞれ求めることとした。
【０１６２】
【数１４】
2017027145.tif 000016
・・・（１４）
【０１６３】
【数１５】
2017027145.tif 000017
・・・（１５）
【０１６４】
γ(t,i)及びξ(t,i,j)としては、以上のような、0又は1をとる関数を採用する他、0ないし1の範囲の値をとる事後確率を採用することができる。
【０１６５】
事後確率としてのγ(t,i)及びξ(t,i,j)は、式（１６）及び式（１７）で、それぞれ表される。
【０１６６】
【数１６】
2017027145.tif 000018
・・・（１６）
【０１６７】
【数１７】
2017027145.tif 000019
・・・（１７）
【０１６８】
式（１６）において、p(zt=i|X={x1,x2,...,xT})は、時系列データX={x1,x2,...,xT}が観測されたときに、時刻tにいる状態ztが状態iである事後確率としての状態確率を表す。
【０１６９】
また、式（１７）において、p(zt=i,zt+1=j|X={x1,x2,...,xT})は、時系列データX={x1,x2,...,xT}が観測されたときに、時刻tにいる状態ztが状態iであり、時刻t+1にいる状態zt+1が状態jである事後確率を表す。
【０１７０】
式（１６）の事後確率（状態確率）p(zt=i|X={x1,x2,...,xT})、及び、式（１７）の事後確率p(zt=i,zt+1=j|X={x1,x2,...,xT})は、フォワードバックワードアルゴリズムに基づき、式（１８）及び式（１９）に従って、それぞれ求めることができる。
【０１７１】
【数１８】
2017027145.tif 000020
・・・（１８）
【０１７２】
【数１９】
2017027145.tif 000021
・・・（１９）
【０１７３】
式（１８）及び式（１９）において、α(t,i)は、時系列データ（のサンプル値）x1,x2,...,xtが観測され、時刻tに、状態iにいる前向き確率を表し、フォーワードアルゴリズムに基づいて求められる。
【０１７４】
β(t,i)は、時刻tに、状態iにいて、その後、時系列データxt+1,xt+2,...,xTが観測される後ろ向き確率を表し、バックワードアルゴリズムに基づいて求められる。
【０１７５】
また、p(xt|i)は、状態iにおいて、時刻tに観測値xtが観測される観測確率を表し、p(j|i)は、状態iから状態jへの遷移確率を表す。
【０１７６】
ところで、通常のHMMでは、そのHMMのネットワーク構造、すなわち、HMMの状態遷移の構造（ステートマシンの構造）を、あらかじめ決めておく必要がある。
【０１７７】
そして、HMMの学習では、（学習）時系列データを、HMMのネットワーク構造に当てはめるように、HMMのパラメータが、例えば、Baum-Welchアルゴリズムに基づいて求められる。
【０１７８】
通常のHMMの学習では、HMMのネットワーク構造は、学習時系列データによって変化することはない。
【０１７９】
ところで、本件発明者は、例えば、文献Ａ（特開2012-008659号公報）や、文献Ｂ（特開2012-108748号公報）に記載のアルゴリズムを拡張することにより、時系列データどうしの類似する区間を、HMMの同一の状態にまとめ、新たな時系列データに対して、HMMのネットワーク構造(状態遷移の構造）を、柔軟に拡張することができるHMMを開発した。以下、このHMMを、インクリメンタルHMMともいうこととする。
【０１８０】
また、通常のHMMでは、学習時系列データとして用意された時系列データのすべてを一度に用いてパラメータを求める学習であるバッチ学習が行われる。そこで、通常のHMMを、バッチ学習HMMともいうこととする。
【０１８１】
＜バッチ学習HMMとインクリメンタルHMM＞
【０１８２】
図７は、バッチ学習HMMとインクリメンタルHMMとを説明する図である。
【０１８３】
バッチ学習HMMでは、そのバッチ学習HMMのネットワーク構造（状態遷移の構造）が、あらかじめ決まっている。バッチ学習HMMのネットワーク構造は、そのバッチ学習HMMの設計者により設計される。
【０１８４】
代表的なネットワーク構造のバッチ学習HMMとしては、例えば、一方向性モデル（left to right model)や、エルゴディックモデルがある。
【０１８５】
一方向性モデルは、例えば、水平方向に直線状に並んだ各状態について、その状態か、その状態よりも右側にある状態への状態遷移のみが許されたHMMである。
【０１８６】
エルゴディックモデルは、任意の状態への遷移が許される、最も自由度が高いHMMである。
【０１８７】
バッチ学習HMMの学習では、そのバッチ学習HMMのネットワーク構造があらかじめ決められた上で、学習時系列データが、一度に、バッチ学習HMMに与えられ、バッチ学習HMMの（モデル）パラメータの学習（推定）が行われる。
【０１８８】
バッチ学習HMMでは、学習時系列データを、ネットワーク構造があらかじめ決められたバッチ学習HMMに当てはめるように、パラメータの学習が行われる。
【０１８９】
そして、バッチ学習HMMでは、学習時系列データを用いた学習において、その学習時系列データに基づき、あらかじめ決められたネットワーク構造とは別のネットワーク構造が構築されることはない。
【０１９０】
なお、バッチ学習HMMでは、学習時系列データを用いた学習の結果として、ある状態間の遷移確率が0になることで、実質的に、その状態間の遷移がないネットワーク構造が構築されることがある。しかしながら、その場合でも、遷移確率が0の状態間には、その状態間の状態遷移を表すリンクが存在し、そのリンクが存在しないネットワーク構造、すなわち、あらかじめ決められたネットワーク構造と別のネットワーク構造が構築されるわけではない。
【０１９１】
一方、インクリメンタルHMMの学習では、学習時系列データが与えられると、インクリメンタルHMMの中から、学習時系列データに適合する部分（学習時系列データの各サンプルと類似する観測値が観測される状態（群））が検索される。
【０１９２】
いま、この検索を、適合検索ということとすると、適合検索は、インクリメンタルHMMにおいて、学習時系列データの各サンプル値が観測される、サンプルごとの尤度p(xt|X,θ)を用いて行われる。
【０１９３】
ここで、尤度p(xt|X,θ)は、パラメータθのインクリメンタルHMMにおいて、学習時系列データX={x1,x2,...xT}が観測されたときに、時刻tに、観測値xtを観測する尤度を表す。
【０１９４】
尤度p(xt|X,θ)は、式（２０）に従って求めることができる。
【０１９５】
【数２０】
2017027145.tif 000022
・・・（２０）
【０１９６】
式（２０）において、p(xt|zt,θ)は、パラメータθのインクリメンタルHMMにおいて、時刻tに、状態ztにいて、その状態ztで、観測値xtを観測する確率を表す。
【０１９７】
p(zt|X,θ)は、パラメータθのインクリメンタルHMMにおいて、学習時系列データX={x1,x2,...xT}が観測されたときに、時刻tに、状態ztにいる状態確率（事後確率）を表す。
【０１９８】
Nは、パラメータθのインクリメンタルHMMの状態数を表す。
【０１９９】
式（２０）によれば、時刻tに、状態ztにいて、その状態ztで、観測値xtを観測する確率p(xt|zt,θ)と、時刻tに、状態ztにいる状態確率p(zt|X,θ)との積p(xt|zt,θ)p(zt|X,θ)の和を、パラメータθのインクリメンタルHMMのすべての状態1ないしNについてとることで、パラメータθのインクリメンタルHMMにおいて、学習時系列データX={x1,x2,...xT}が観測されたときに、時刻tに、観測値xtを観測する尤度p(xt|X,θ)が求められる。
【０２００】
式（２０）の尤度p(xt|X,θ)は、インクリメンタルHMMにおいて、学習時系列データのサンプル値としての観測値xtが観測される確率を表し、インクリメンタルHMMの中に、サンプル値xtに適合する状態が存在すれば、大きな値になる。逆に、インクリメンタルHMMの中に、サンプル値xtに適合する状態が存在しなければ、式（２０）の尤度p(xt|X,θ)は、小さな値になる。
【０２０１】
インクリメンタルHMMの学習では、尤度p(xt|X,θ)の値が大きく、インクリメンタルHMMの中に、サンプル値xtに適合する状態が存在する場合には、その状態のパラメータに、サンプル値xtが反映される（取り込まれる）。
【０２０２】
一方、尤度p(xt|X,θ)の値が小さく、インクリメンタルHMMの中に、サンプル値xtに適合する状態が存在しない場合には、サンプル値xtを反映する新たな状態が、インクリメンタルHMMに追加される。
【０２０３】
以下、学習時系列データの区間の中で、インクリメンタルHMMの状態に適合するサンプル値の区間を、既知区間ともいい、インクリメンタルHMMの状態に適合しないサンプル値の区間を、未知区間ともいうこととする。
【０２０４】
また、学習時系列データについて行う既知区間又は未知区間の判定を、既知未知判定ともいうこととする。既知未知判定では、学習時系列データについての、式（２０）の尤度p(xt|X,θ)が閾値処理される。そして、学習時系列データの区間の中で、尤度p(xt|X,θ)が閾値より大である区間が既知区間であると判定され、尤度p(xt|X,θ)が閾値以下である区間が、未知区間であると判定される。
【０２０５】
学習時系列データの未知区間については、インクリメンタルHMMの中に適合する状態が存在しないため、その未知区間（のサンプル値の系列）をモデル化（学習）する新たな状態が必要である。
【０２０６】
そこで、インクリメンタルHMMでは、学習時系列データの未知区間をモデル化する新たな状態が追加される。
【０２０７】
新たな状態を追加する追加方法には、例えば、ルールベースの方法と、学習ベースの方法とがある。
【０２０８】
ルールベースの方法では、あらかじめ設けられた、状態の追加用のルールに従って、新たな状態が追加される。
【０２０９】
例えば、学習時系列データがマルチストリームであり、したがって、未知区間のサンプル値が、複数のモーダルデータをコンポーネントとして有している場合を考える。ルールベースの方法では、学習時系列データに含まれるモーダルデータのうちの１又は２以上のモーダルデータが、あらかじめ指定された所定値以下若しくは所定値以上の値、又は、所定の範囲内の値である場合に、新たな状態を追加し、他の場合に、新たな状態を追加しないというルールを、状態の追加用のルールとして採用することができる。
【０２１０】
一方、学習ベースの方法では、学習時系列データの未知区間の学習が行われる。学習時系列データの未知区間の学習は、インクリメンタルHMMとは別のHMMを新たに用意し、その別のHMMを用いて行われる。そして、学習ベースの方法では、未知区間の学習結果に基づいて、新たな状態がインクリメンタルHMMに追加される。
【０２１１】
すなわち、学習ベースの方法では、別のHMMとして、例えば、未知区間の長さ(サンプル数）以上の状態数を有する一方向性モデルが用意され、その別のHMMの学習が、未知区間の学習時系列データを用い、Baum-Welchアルゴリズムに従って行われる。
【０２１２】
そして、学習後の別のHMMの状態の中で、実際に使用される状態（未知区間の学習時系列データを学習（獲得）した状態）が、インクリメンタルHMMに追加する新たな状態に選択される。
【０２１３】
すなわち、学習後の別のHMMについて、未知区間に対する最尤状態系列が求められ、その最尤状態系列を構成する状態が、新たな状態として選択される。
【０２１４】
又は、学習後の別のHMMの各状態について、未知区間に対する状態確率（事後確率）が求められ、状態確率が0より大の状態が、新たな状態として選択される。
【０２１５】
インクリメンタルHMMに追加する新たな状態に対しては、インクリメンタルHMMを構成する状態と整合がとれるように、状態を特定する状態番号が付される。すなわち、例えば、新たな状態に対しては、インクリメンタルHMMの状態に付されている状態番号と通し番号になるように、状態番号が付される。
【０２１６】
これにより、インクリメンタルHMMには、未知区間に適合する新たな状態が追加される。
【０２１７】
インクリメンタルHMMに追加された新たな状態のパラメータ（後述する初期確率π、遷移確率a、及び、観測モデル等）は、初期値としての、例えば、0にリセットされる。そして、インクリメンタルHMMについて、学習時系列データを用いた学習、すなわち、インクリメンタルHMMのパラメータθの更新が行われる。
【０２１８】
インクリメンタルHMMのパラメータθとしては、バッチ学習HMM（通常のHMM）と同様に、初期確率π、遷移確率a、及び、観測モデル（のパラメータ）φの３種類がある。
【０２１９】
ここで、インクリメンタルHMMの状態の数を、N個とする。
【０２２０】
初期確率πは、初期確率πiをコンポーネントとするN次元のベクトルである。初期確率πiは、最初に、状態iにいる確率を表す。インクリメンタルHMMでは、初期確率πiとして、学習により得られる値を用いる他、例えば、等確率1/Nを用いることができる。
【０２２１】
遷移確率aは、遷移確率aijをコンポーネントとするN×N行列である。遷移確率aijは、状態iを遷移元とするとともに、状態jを遷移先とする状態遷移が生じる確率を表す。遷移確率aijの多くが0である場合、遷移確率aは、スパースな行列になる。
【０２２２】
観測モデルφは、時系列データのコンポーネントになっているモーダル（データ）ごとに存在する。時系列データのコンポーネントになっているモーダルの数が、M個であるとすると、観測モデルφは、モーダルごとの観測モデルの集合{φ(1)，φ(2)，．．．，φ(M)}になる。
【０２２３】
ここで、φ(m)は、M個のモーダルのうちのm番目のモーダルの観測モデルを表す。観測モデルφは、状態ごとに存在する。
【０２２４】
観測モデルのパラメータφ(m)は、m番目の（モーダルの）モーダルデータの観測を、どのようなモデルでモデル化するかによって異なる。
【０２２５】
例えば、m番目のモーダルデータが連続値であり、そのモーダルデータの観測をガウス分布でモデル化する場合には、観測モデルのパラメータφ(m)は、m番目のモーダルデータの平均値μと分散σ2になる。
【０２２６】
以下、状態iの観測モデルφ(m)としてのガウス分布の平均値と分散とを、μi(m)とσi(m)2とそれぞれ表すこととする（φ(m)={μi(m)，σi(m)2}）。
【０２２７】
また、例えば、m番目のモーダルデータが、K個の離散シンボル1,2,...Kで表される離散値であり、その離散シンボルの観測を多項分布でモデル化する場合には、観測モデルのパラメータφ(m)は、m番目のモーダルデータとして、離散シンボル1,2,...Kがそれぞれ観測される確率{p1,p2,...pK}になる。
【０２２８】
以下、状態iの観測モデルφ(m)としての離散シンボルkが観測される観測確率を、pi,k(m)と表すこととする（φ(m)={pi,1(m),pi,2(m),...,pi,K(m)}）。
【０２２９】
インクリメンタルHMMの学習（インクリメンタルHMMのパラメータθの更新）では、学習時系列データの各サンプル値が、インクリメンタルHMMのどの状態にどれくらい適合するかの度合いとしての、状態の事後確率（状態確率）γt(i)と、状態遷移の事後確率ξt(i,j)とが算出される。
【０２３０】
状態の事後確率γt(i)は、学習時系列データが観測されたときに、時刻tに状態iにいる確率を表し、状態遷移の事後確率ξt(i,j)は、学習時系列データが観測されたときに、時刻tに状態iにいて、状態jに遷移する確率を表す。
【０２３１】
事後確率γt(i)及びξt(i,j)は、式（２１）及び式（２２）に従って、それぞれ算出することができる。なお、式（２１）及び式（２２）は、それぞれ、上述の式（１８）及び式（１９）と同様の式である。
【０２３２】
【数２１】
2017027145.tif 000023
・・・（２１）
【０２３３】
【数２２】
2017027145.tif 000024
・・・（２２）
【０２３４】
ここで、学習時系列データの時間長（サンプル数）をTとして、学習時系列データを、X={x1,x2,...,xT}で表すこととする。
【０２３５】
式（２１）及び式（２２）において、αt(zt)は、時刻tまでの学習時系列データのサンプル値x1,x2,...,xtが観測され、時刻tに、状態ztにいる前向き確率を表し、フォーワードアルゴリズムに基づいて求められる。
【０２３６】
すなわち、前向き確率αt(zt)は、式（２３）で表される漸化式に従って求めることができる。
【０２３７】
【数２３】
2017027145.tif 000025
・・・（２３）
【０２３８】
式（２３）において、π(zt)は、最初に、状態ztにいる初期確率を表す。
【０２３９】
また、式（２１）及び式（２２）において、βt(zt)は、時刻tに、状態ztにいて、その後、時刻t+1以降の学習時系列データのサンプル値xt+1,xt+2,...,xTが観測される後ろ向き確率を表し、バックワードアルゴリズムに基づいて求められる。
【０２４０】
すなわち、後ろ向き確率βt(zt)は、式（２４）で表される漸化式に従って求めることができる。
【０２４１】
【数２４】
2017027145.tif 000026
・・・（２４）
【０２４２】
インクリメンタルHMMのパラメータθ、すなわち、初期確率π、遷移確率a、及び、観測モデルφは、式（２１）の事後確率γt(i)、及び、式（２２）の事後確率ξt(i,j)を用い、以下のように更新される。
【０２４３】
ここで、以下では、時系列データがマルチストリームであり、複数であるM個のモーダルのモーダルデータを有する場合の、そのモーダルを表す添え字(m)については、記載を、適宜省略する。
【０２４４】
初期確率πiは、式（２５）に従い、初期確率π'iに更新される。
【０２４５】
【数２５】
2017027145.tif 000027
・・・（２５）
【０２４６】
遷移確率aijは、式（２６）に従い、遷移確率a'ijに更新される。
【０２４７】
【数２６】
2017027145.tif 000028
・・・（２６）
【０２４８】
観測モデルφとして多項分布を用いる場合のパラメータである観測確率pi,kは、式（２７）に従い、観測確率p'i,kに更新される。
【０２４９】
【数２７】
2017027145.tif 000029
・・・（２７）
【０２５０】
観測モデルφとしてのガウス分布を規定する平均値μiは、式（２８）に従い、平均値μ'iに更新される。
【０２５１】
【数２８】
2017027145.tif 000030
・・・（２８）
【０２５２】
観測モデルφとしてのガウス分布を規定する分散σi2を求めるのに用いる分散パラメータβiは、式（２９）に従い、分散パラメータβ'iに更新される。
【０２５３】
【数２９】
2017027145.tif 000031
・・・（２９）
【０２５４】
分散σi2は、分散パラメータβiを用い、式σi2=βi−μi2に従って求めることができる。
【０２５５】
ここで、式（２５）のγi(π)、式（２６）のγij(a)、及び、式（２７）ないし式（２９）のγi(φ)は、それぞれ、初期確率π、遷移確率a、及び、観測モデルφの更新用の係数である。
【０２５６】
係数γi(π)、γij(a)、及び、γi(φ)は、式（３０）、式（３１）、及び、式（３２）に従って、それぞれ求められる。
【０２５７】
【数３０】
2017027145.tif 000032
・・・（３０）
【０２５８】
【数３１】
2017027145.tif 000033
・・・（３１）
【０２５９】
【数３２】
2017027145.tif 000034
・・・（３２）
【０２６０】
式（３０）ないし式（３２）において、max(X1,X2)は、X1及びX2のうちの大きい方を出力する関数を表す。
【０２６１】
また、γ(π)min、γ(a)min、及び、γ(φ)minは、あらかじめ決められる定数であり、例えば、0等を採用することができる。
【０２６２】
式（３０）において、Ni(π)は、事後確率γ1(i)が累積加算されていく変数である。式（３１）において、Nij(a)は、時刻t=1,2,...,T-1の事後確率ξt(i,j)が累積加算されていく変数である。式（３２）において、Ni(φ)は、時刻t=1,2,...,Tの事後確率γt(i)が累積加算されていく変数である。
【０２６３】
インクリメンタルHMMでは、新たな状態が追加された後のパラメータθ（初期確率π、遷移確率a、及び、観測モデルφ）の更新のために、パラメータθの他、変数Ni(π)，Nij(a)、及び、Ni(φ)を記憶しておく必要がある。
【０２６４】
変数Ni(π)，Nij(a)、及び、Ni(φ)は、図６等で説明した頻度の情報に相当し、遷移確率aは、図６等で説明した遷移の情報に相当し、観測モデルφは、図６等で説明した観測値の分布の情報に相当する。。
【０２６５】
なお、事後確率γt(i)及びξt(i,j)は、式（２１）及び式（２２）に従って、それぞれ算出する他、学習時系列データに対する最尤状態系列を、ビタビアルゴリズムに従って求め、その最尤状態系列に応じて、0又は1に設定することができる。
【０２６６】
すなわち、時刻tの事後確率γt(i)については、時刻tの最尤状態iの事後確率γt(i)のみを1に設定し、他の状態i'の事後確率γt(i')を0に設定することができる。
【０２６７】
また、時刻tの事後確率ξt(i,j)については、時刻tの最尤状態iから、時刻t+1の最尤状態jへの状態遷移の事後確率ξt(i,j)のみを1に設定し、他の状態遷移の事後確率ξt(i',j')（時刻tの最尤状態iから、時刻t+1の最尤状態j以外の状態Jへの状態遷移の事後確率ξt(i,J)と、時刻tの最尤状態i以外の状態Iから、時刻t+1の任意の状態J'への状態遷移の事後確率ξt(I,J')）を0に設定することができる。
【０２６８】
図７のバッチ学習HMMにおいて、矢印A1は、バッチ学習HMMに与えられた学習時系列データが通過する経路を示している。バッチ学習HMMでは、学習時系列データは、既存の状態のいずれかに束ねられ、新たな状態が追加されることはない。
【０２６９】
また、図７のインクリメンタルHMMにおいて、矢印A2は、インクリメンタルHMMに与えられた学習時系列データが通過する経路を示している。
【０２７０】
図７のインクリメンタルHMMでは、学習時系列データの中のある区間が、既存の状態1に適合し、その状態1に束ねられている。同様に、学習時系列データの所定の区間が、既存の状態2,11,19,20に、それぞれ束ねられている。
【０２７１】
また、学習時系列データの他の区間は、インクリメンタルHMMの既存の状態に適合せず（既存の状態で観測される観測値に類似せず）、そのため、その学習時系列データの他の区間を束ねる状態として、新たな状態26,27,28（状態番号が26,27,28の新たな状態）が、インクリメンタルHMMに追加されている。
【０２７２】
そして、学習時系列データの他の区間は、新たな状態26,27,28に束ねられている。
【０２７３】
インクリメンタルHMMでは、以上のように、必要に応じて、新たな状態を追加しながら、学習時系列データを順次束ね、パラメータθ（初期確率π、遷移確率a、及び、観測モデルφ）を更新していくことができる。
【０２７４】
ところで、HMM等のネットワークモデルによれば、多数の時系列データを最小化した形で保持することができるが、学習時系列データの数が膨大である場合には、HMMの更新や、時系列データの予測（検索）の負荷が大になることがある。
【０２７５】
すなわち、例えば、学習時系列データの数が膨大である場合には、ネットワークモデルの規模が大になり、そのような規模が大きなネットワークモデルについては、パラメータの更新や、時系列データの予測（検索）の処理のコストが大になる。
【０２７６】
また、規模が大きなネットワークモデルには、多数のユーザがアクセスすることが予想されるが、多数のユーザが、ネットワークモデルにアクセスすると、アクセスの衝突等が生じ、パラメータの更新や、時系列データの予測の処理の処理時間が増加する。
【０２７７】
そこで、本技術では、ネットワークモデルから、そのネットワークモデルの一部であるサブセットモデルを切り出し、そのサブセットモデルを用いて、パラメータの更新、及び、時系列データの予測を行うことを可能とする。
【０２７８】
さらに、本技術では、パラメータの更新後のサブセットモデルを、元のネットワークモデルにマージする（戻す）ことを可能とする。
【０２７９】
ここで、ネットワークモデルを、サブセットモデル単位で処理する方式、すなわち、ネットワークモデルからサブセットモデルを切り出し、サブセットモデルを用いたパラメータの更新や時系列データの予測を行うこと、及び、サブセットモデルを、元のネットワークモデルにマージすることを、サブセット方式ともいう。
【０２８０】
＜サブセット方式＞
【０２８１】
図８は、サブセット方式の概要を説明する図である。
【０２８２】
図８において、ネットワークモデル２１は、例えば、インクリメンタルHMMの全体であり、以下、全体HMM２１ともいう。図８では、全体HMM２１は、例えば、エルゴディックな構造になっている。
【０２８３】
サブセット方式では、全体HMM２１から、そのHMM２１の一部であるサブセットモデルとしてのサブセットHMM２２が切り出される。サブセットHMM２２は、全体HMM２１と同様に、インクリメンタルHMMである。
【０２８４】
全体HMM２１から、サブセットHMM２２となる状態（群）を切り出す切り出し方法としては、例えば、第１の切り出し方法や、第２の切り出し方法等がある。
【０２８５】
第１の切り出し方法では、あらかじめ指定された観測値の分布に適合する状態が、サブセットHMM２２となる状態として切り出される。
【０２８６】
すなわち、第１の切り出し方法では、例えば、あるモーダルのモーダルデータを含む時系列データと、他のモーダルのモーダルデータを含む時系列データとが、学習時系列データとして与えられる場合において、各モーダルのモーダルデータが、ユニークなストリームId(Identification)で識別されるとき、所定のストリームIdを指定することにより、そのストリームIdで識別されるモーダルのモーダルデータが観測値として観測され得る状態を、サブセットHMM２２となる状態として切り出すことができる。
【０２８７】
また、第１の切り出し方法では、例えば、観測値について、値や値の範囲を指定することにより、その値の観測値や、その値の範囲の観測値が観測され得る状態を、サブセットHMM２２となる状態として切り出すことができる。
【０２８８】
さらに、第１の切り出し方法では、観測確率の閾値を指定することにより、その閾値以上又は閾値以下の観測確率で、観測値が観測される状態を、サブセットHMM２２となる状態として切り出すことができる。
【０２８９】
その他、第１の切り出し方法では、ハッシュ関数等を用いて、全体HMM２１の状態を、複数のクラスタにクラスタリングしておき、クラスタを直接又は間接的に指定することにより、そのクラスタに属する状態を、サブセットHMM２２となる状態として、高速に切り出すことができる。
【０２９０】
第２の切り出し方法では、あらかじめ指定された状態と、その状態に接続された状態とが切り出される。
【０２９１】
すなわち、第２の切り出し方法では、例えば、１以上の状態が指定され、その状態から遷移していくことが可能な状態が探索される。そして、その探索により得られる状態が、サブセットHMM２２となる状態として切り出される。
【０２９２】
ここで、ある状態を最初の状態として、その最初の状態に直接又は間接的に接続している状態（最初の状態から遷移していくことが可能な状態）を探索する場合の、その最初の状態を、ルート状態ともいう。
【０２９３】
第２の切り出し方法において指定される１以上の状態は、ルート状態となる。
【０２９４】
第２の切り出し方法において、状態の探索は、例えば、探索を行うステップ数（回数）の閾値を設定し、その閾値に等しいステップ数だけ行うことができる。
【０２９５】
また、状態の検索は、例えば、ルート状態からの深さ（ルート状態から辿り着くのに必要な状態遷移の数）の閾値を設定し、その閾値に等しい深さまで行うことができる。
【０２９６】
さらに、状態の検索では、例えば、その状態の検索の結果としての、ルート状態を最初の状態とする状態系列が生起される確率（例えば、状態系列が生起される状態遷移の遷移確率の積）の閾値を設定し、その閾値以上の確率で生起される状態系列の状態だけを検索することができる。
【０２９７】
その他、状態の探索は、例えば、文献Ｃ（特開2011-59924号公報）に記載されているツリー探索アルゴリズムに従って行うことができる。
【０２９８】
なお、全体HMM２１からの、そのHMM２１の一部であるサブセットモデルとしてのサブセットHMM２２の切り出しでは、全体HMM２１のうちの、サブセットHMM２２となる状態（及び状態遷移）のコピーが生成されることとする。したがって、全体HMM２１からの、サブセットHMM２２の切り出しでは、そのサブセットHMM２２として切り出される状態（及び状態遷移）は、全体HMM２１から削除されない。
【０２９９】
サブセット方式では、以上のようにして、全体HMM２１から切り出されたサブセットHMM２２を用いて、時系列データの予測を行うことができる。
【０３００】
したがって、サブセット方式によれば、例えば、サーバとクライアントとからなるサーバクライアントシステムにおいて、全体HMM２１を、サーバに記憶させ、その全体HMM２１から切り出されたサブセットHMM２２を、クライアントに配布することができる。そして、クライアントでは、サーバから配布されたサブセットHMM２２を用いて、時系列データを予測することができる。
【０３０１】
すなわち、クライアントは、サーバに対して、時系列データの予測を要求せずに、サーバから配布されたサブセットHMM２２を用いて、時系列データを予測することができる。この場合、クライアントから、サーバに対して、時系列データの予測を要求するリクエストがなくなる（減少する）ので、時系列データの予測を要求するために、サーバが記憶している全体HMM２１に対して、多数のクライアントがアクセスすることによるサーバの処理時間の増加を抑制することができる。
【０３０２】
サブセット方式では、サブセットHMM２２の学習（パラメータの更新）を行うことができる。サブセットHMM２２の学習は、サブセットHMM２２をインクリメンタルHMMとして扱って行うことができる。
【０３０３】
図８では、学習時系列データがサブセットHMM２２に与えられ、サブセットHMM２２の学習が行われることで、サブセットHMM２２が、サブセットHMM２３に更新されている。
【０３０４】
サブセットHMM２３では、サブセットHMM２２に対して、図８において点線で示す2個の新たな状態が追加されている。
【０３０５】
図８では、学習時系列データは、サブセットHMM２３の、太線で示す状態（及び状態遷移）と、点線で示す新たな状態（及び状態遷移）とを通過しており、その通過した状態に束ねられている。
【０３０６】
なお、サブセットHMM２３の、太線で示す状態は、学習時系列データの区間のうちの、式（２０）の尤度p(xt|X,θ)を用いた既知未知判定で、既知区間と判定される区間が通過する状態である。また、サブセットHMM２３の、点線で示す新たな状態は、学習時系列データの区間のうちの、式（２０）の尤度p(xt|X,θ)を用いた既知未知判定で、未知区間と判定される区間が通過する状態である。
【０３０７】
サブセットHMM２２の学習では、サブセットHMM２２に対し、未知区間に応じて、点線で示す新たな状態が追加され、サブセットHMM２３の構造が構成される。
【０３０８】
そして、学習時系列データを用いて、サブセットHMM２３のパラメータ（初期確率π、遷移確率a、及び、観測モデルθ）、並びに、頻度の情報に相当する変数Ni(π)，Nij(a)、及び、Ni(φ)が、式（２５）ないし式（３２）に従って更新される。すなわち、例えば、サブセットHMM２３の、既知区間に対応する（適合する）状態の観測モデルθ等は、学習時系列データの既知区間のサンプル値を用いて更新される。また、例えば、サブセットHMM２３の、未知区間に対応する（適合する）状態の観測モデルθ等は、学習時系列データの未知区間のサンプル値を用いて更新される。
【０３０９】
サブセット方式では、更新後のサブセットHMM２３が、全体HMM２１にマージされ、これにより、全体HMM２１は、全体HMM２４に更新される。
【０３１０】
更新後のサブセットHMM２３の、全体HMM２１へのマージは、例えば、全体HMM２１の、サブセットHMM２３に対応する部分、すなわち、サブセットHMM２３に更新される前のサブセットHMM２２の部分を、更新後のサブセットHMM２３に置き換えることで行うことができる。
【０３１１】
なお、全体HMM２１の、サブセットHMM２３に対応する部分の状態番号と、サブセットHMM２３の状態番号とが異なる場合には、更新後のサブセットHMM２３を、全体HMM２１にマージするときに、例えば、サブセットHMM２３の状態番号が、全体HMM２１の、サブセットHMM２３に対応する部分の状態番号に一致するように変更される。
【０３１２】
また、サブセットHMM２３に新たな状態が追加された場合には、全体HMM２１の、サブセットHMM２３に対応する部分に、サブセットHMM２３に追加された新たな状態と置き換える状態が追加され、その状態の追加後の、サブセットHMM２３に対応する部分が、更新後のサブセットHMM２３に置き換えられる。
【０３１３】
サブセット方式によれば、例えば、あるクライアントCAにおいて、全体HMMから、サブセットHMM#Aを切り出し、そのサブセットHMM#Aを新する学習を行い、更新後のサブセットHMM#Aを、全体HMMにマージすることにより、全体HMMを更新することができる。
【０３１４】
さらに、サブセット方式によれば、他のクライアントCBにおいて、全体HMMから、サブセットHMM#Bを切り出し、そのサブセットHMM#Bを更新する学習を行い、更新後のサブセットHMM#Bを、全体HMMにマージすることにより、全体HMMを更新することができる。
【０３１５】
全体HMMの、サブセットHMM#Aや#Bに対応する部分（以下、対応部分ともいう）を、サブセットHMM#Aや#Bに差し替えることで、サブセットHMM#Aや#Bの（全体HMMへの）マージを行う場合には、例えば、サブセットHMM#Aの（全体HMMへの）マージと、サブセットHMM#Bのマージとを、シーケンシャルに行うことにより、全体HMMは、クライアントCAでの学習と、クライアントCBでの学習とが反映されたHMMになる。
【０３１６】
一方、サブセットHMM#Aのマージと、サブセットHMM#Bのマージとを同時に行う場合には、サブセットHMM#Aや#Bのマージは、全体HMMの対応部分を、サブセットHMM#Aや#Bに差し替えることにより行うのではなく、サブセットHMM#Aや#Bの学習により更新された更新後のサブセットHMM#Aや#Bと、更新前のサブセットHMM#Aや#Bとの、パラメータの算出に用いる頻度の情報どうしの差分情報等を用いて、全体HMMの対応部分のパラメータを更新することで行う必要がある。
【０３１７】
以下、サブセットHMM#Aのマージと、サブセットHMM#Bのマージとを同時に行う場合の処理について説明する。
【０３１８】
いま、インクリメンタルHMMのパラメータを、まとめて、パラメータpというとともに、頻度の情報に相当する式（３０）ないし式（３２）の変数Ni(π)，Nij(a)、及び、Ni(φ)を、まとめて、頻度情報Fと表すこととする。
【０３１９】
ここで、パラメータp及び頻度情報Fは、インクリメンタルHMMの状態や状態遷移ごとに存在し、本来、状態や状態遷移を表す添え字を付して表現すべきであるが、ここでは、状態や状態遷移を表す添え字は、省略する。
【０３２０】
インクリメンタルHMMの学習において、パラメータpは、大ざっぱには、式（３３）に従って求められる。
【０３２１】
【数３３】
2017027145.tif 000035
・・・（３３）
【０３２２】
式（３３）において、Qは、学習時系列データから得られる一時的な変数（以下、一時変数ともいう）である。変数Qは、パラメータp及び頻度情報Fと同様に、本来、状態や状態遷移を表す添え字を付して表現すべきであるが、ここでは、状態や状態遷移を表す添え字は、省略する。
【０３２３】
いま、全体HMMのパラメータpが、式（３３）で表されることとして、その全体HMMに、サブセットHMM#A及び#Bを、同時にマージして、全体HMMを更新することとすると、更新後の全体HMMのパラメータp'は、式（３４）で表される。
【０３２４】
【数３４】
2017027145.tif 000036
・・・（３４）
【０３２５】
式（３４）において、頻度情報Fは、全体HMMの更新のために、パラメータpとともに記憶しておくべき情報である。（更新前の）頻度情報Fを、（更新前の）パラメータpとともに記憶しておくことにより、変数Qは、パラメータp及び頻度情報Fを用い、式Q=pFに従って求めることができる。
【０３２６】
△FAは、サブセットHMM#Aの更新後の頻度情報F'Aと、更新前の頻度情報FAとの差分情報であり、式（３５）で表される。
【０３２７】
【数３５】
2017027145.tif 000037
・・・（３５）
【０３２８】
△FBは、サブセットHMM#Bの更新後の頻度情報F'Bと、更新前の頻度情報FBとの差分情報であり、式（３６）で表される。
【０３２９】
【数３６】
2017027145.tif 000038
・・・（３６）
【０３３０】
△QAは、サブセットHMM#Aのパラメータを求めるのに用いられる、学習時系列データから得られる一時変数の差分情報であり、式（３７）で表される。
【０３３１】
【数３７】
2017027145.tif 000039
・・・（３７）
【０３３２】
式（３７）において、QA及びQ'Aは、サブセットHMM#Aの更新前及び更新後の一時変数をそれぞれ表し、pA及びp'Aは、サブセットHMM#Aの更新前及び更新後のパラメータをそれぞれ表す。
【０３３３】
△QBは、サブセットHMM#Bのパラメータを求めるのに用いられる、学習時系列データから得られる一時変数の差分情報であり、式（３８）で表される。
【０３３４】
【数３８】
2017027145.tif 000040
・・・（３８）
【０３３５】
式（３８）において、QB及びQ'Bは、サブセットHMM#Bの更新前及び更新後の一時変数をそれぞれ表し、pB及びp'Bは、サブセットHMM#Bの更新前及び更新後のパラメータをそれぞれ表す。
【０３３６】
全体HMMに、サブセットHMM#A及び#Bを、同時にマージして、全体HMMを更新する場合には、更新後の全体HMMのパラメータp'は、式（３４）に従い、頻度情報FAの差分情報△FA、及び、頻度情報FBの差分情報△FB等を用いて求めることができる。
【０３３７】
式（３５）ないし式（３８）から、更新後の全体HMMのパラメータp'を表す式（３４）は、式（３９）で表すことができる。
【０３３８】
【数３９】
2017027145.tif 000041
・・・（３９）
【０３３９】
式（３９）の計算に必要なpA，p'A，pB，p'B、及び、p、並びに、FA，F'A，FB，F'B、及び、Fは、更新前のパラメータ(pA，pB，p)、更新後のパラメータ(p'A，p'B)、更新前の頻度情報(FA，FB，F)、及び、更新後の頻度情報(F'A，F'B)であり、したがって、これらをすべて記憶しておくことで、式（３９）に従い、全体HMMに、サブセットHMM#A及び#Bを、同時にマージして、全体HMMを更新すること、すなわち、更新後の全体HMMのパラメータp'を求めることができる。
【０３４０】
なお、全体HMMの更新時には、全体HMMの次の更新のために、全体HMMの頻度情報Fは、式（４０）に従って、頻度情報F'に更新される。
【０３４１】
【数４０】
2017027145.tif 000042
・・・（４０）
【０３４２】
式（４０）の計算に必要なFA，F'A，FB，F'B、及び、Fは、すべて、式（３９）の計算のために記憶しておくべき情報であり、したがって、全体HMMの頻度情報Fは、式（４０）に従って、頻度情報F'に更新することができる。
【０３４３】
全体HMMに、サブセットHMM#A及び#Bを、同時にマージする場合には、例えば、サブセットHMM#AのパラメータpAとp'A、及び、頻度情報FAとF'A、並びに、サブセットHMM#BのパラメータpBとp'B、及び、頻度情報FBとF'Bを、全体HMMに与えることにより、式（３９）及び式（４０）に従って、全体HMMのパラメータp及び頻度情報Fを更新することができる。
【０３４４】
なお、サブセットHMM#Aのマージと、サブセットHMM#Bのマージとを、シーケンシャルに行う場合と、同時に行う場合とでは、更新後の全体HMMは、必ずしも一致するわけではない。
【０３４５】
＜全体HMMからのサブセットHMMの切り出し＞
【０３４６】
図９は、HMMを用いて行われる計算を説明する図である。
【０３４７】
HMMについては、事後確率や観測確率等の様々な確率が計算される。
【０３４８】
図９Ａは、HMMについて計算される確率が記憶されるメモリ空間を模式的に示している。
【０３４９】
HMMについて計算される確率は、例えば、図９Ａに示すように、HMMの状態数Nと、確率の計算に用いられる時系列データの長さ（サンプル数）（系列長）Tとの積に対応するメモリ空間（以下、確率テーブルともいう）に保持される。
【０３５０】
ここで、図９のメモリ空間としての確率テーブルでは、横（列）方向が時系列データの長さTになっており、縦（行）方向がHMMの状態数Nになってる。
【０３５１】
HMMを処理するアルゴリズムのほとんどは、確率テーブルの要素になる確率の計算が、ボトルネックとなる。
【０３５２】
HMMの状態数Nが大になって、HMMの規模が大になると、確率テーブルが大になり、計算すべき確率が増加する。すなわち、確率テーブルの確率を計算する計算時間は、HMMの状態数Nに比例して大になる。
【０３５３】
このように、確率テーブルの確率を計算する計算時間が、HMMの状態数Nに比例して大になることが、HMMの規模を大にすることを困難にしている。
【０３５４】
ところで、確率テーブルの確率の計算に用いる時系列データ（入力時系列データや、学習時系列データ等）が長くない場合には、その時系列データは、HMMが網羅する観測空間（観測値の空間）のごく一部を占めるにすぎない。
【０３５５】
したがって、確率テーブルの確率の計算に用いる時系列データが長くない場合には、確率の計算の対象となる状態の数は、それほど多くはない。
【０３５６】
すなわち、確率テーブルは、多くの行の要素としての確率が、すべて0の、スパースなテーブルになる。
【０３５７】
図９Ｂは、スパースなテーブルになっている確率テーブルの例を示す図である。
【０３５８】
いま、説明を簡単にするため、確率テーブルに記憶される確率として、例えば、状態確率だけに注目することとすると、図９Ｂの確率テーブルにおいて斜線を付してある行にだけ、非ゼロの状態確率が記憶され、他の行の状態確率は、すべて0になっている。
【０３５９】
ここで、例えば、観測モデルが、ガウス分布である場合には、そのガウス分布の平均値μと、時系列データの各サンプル値とが大きく離れているときや、ガウス分布の分散が小さいとき等に、観測モデルを有する状態の状態確率は（ほぼ）0になる。
【０３６０】
また、例えば、観測モデルが、多項分布である場合には、その多項分布に従って観測し得る離散シンボルが、時系列データのサンプル値に存在しないとき、その観測モデルを有する状態の状態確率は0になる。
【０３６１】
以上のような、状態確率が0になる状態について、状態確率の計算から、あらかじめ省くことができれば、確率テーブルに記憶される状態確率の計算時間を短縮することができる。
【０３６２】
しかしながら、状態確率が0になるかどうかは、状態確率を計算してみなければ分からない。
【０３６３】
そこで、本技術では、状態確率が非ゼロになる状態（又は、状態確率が所定の微小値(<<1)以上の状態）を、状態確率を計算することなく予測する非ゼロ状態予測を行い、その非ゼロ状態予測によって、状態確率が非ゼロであると予測された状態（以下、非ゼロ状態ともいう）だけを対象として、確率テーブルに記憶される状態確率を計算することを可能とする。
【０３６４】
図９Ｃは、非ゼロ状態予測を説明する図である。
【０３６５】
図９Ｃの確率テーブルにおいて斜線を付してある部分は、非ゼロの状態確率が記憶される行を表している。
【０３６６】
さらに、図９Ｃの確率テーブルにおいて影を付してある部分は、非ゼロ状態予測によって、非ゼロ状態であると予測された状態の行を表してる。
【０３６７】
非ゼロ状態予測が正確であるほど、すなわち、図９において影を付してある部分が、図９において斜線を付してある部分に一致するほど、状態確率の計算を、効率良く行うことができる。
【０３６８】
全体HMMからの、サブセットHMMの切り出しは、例えば、非ゼロ状態予測によって、非ゼロ状態を予測し、その非ゼロ状態を、サブセットHMMを構成する状態として切り出す（抽出する）ことにより行うことができる。
【０３６９】
非ゼロ状態予測では、例えば、全体HMMの状態を複数のクラスタにクラスタリングしておき、確率テーブルの確率の計算に用いる時系列データについて、その時系列データの各サンプル値が属するクラスタを、時系列データが属する所属クラスタとして検索することで得られる、所属クラスタに属する状態を、非ゼロ状態として予測することができる。
【０３７０】
そして、サブセットHMMの切り出しでは、非ゼロ状態予測で得られる非ゼロ状態（所属クラスタに属する状態）を、全体HMMから切り出し、その非ゼロ状態で、サブセットHMMを構成することができる。
【０３７１】
図１０は、以上のように、非ゼロ状態予測によって、サブセットHMMの切り出しを行うことにより、サブセットHMMを生成するサブセットHMM生成装置の構成例を示すブロック図である。
【０３７２】
図１０において、サブセットHMM生成装置は、HMM記憶部３１、クラスタリング部３２、クラスタテーブル記憶部３３、時系列データ記憶部３４、クラスタ検索部３５、及び、サブセット切り出し部３６を有する。
【０３７３】
HMM記憶部３１は、全体HMMを記憶している。
【０３７４】
クラスタリング部３２は、HMM記憶部３１に記憶された全体HMMの状態を、複数のクラスタにクラスタリングする。
【０３７５】
クラスタリング部３２での全体HMMの状態のクラスタリングは、状態間の距離に応じて行うことができる。
【０３７６】
状態間の距離、すなわち、１の状態と他の１の状態との距離としては、例えば、１の状態で観測される観測値の確率分布と、他の１の状態で観測される観測値の確率分布との距離を採用することができる。
【０３７７】
２つの確率分布（どうし）の距離としては、例えば、カルバックライブラー距離がある。
【０３７８】
その他、状態で観測される観測値が連続値である場合には、状態の観測値の代表値である代表観測値（例えば、観測モデルがガウス分布である場合には、平均値μ）を用いて計算することができる、例えば、マンハッタン距離や、ユークリッド距離、マハラビノス距離等を、状態間の距離として採用することができる。
【０３７９】
また、１の状態で観測される観測値の確率分布と、他の１の状態で観測される観測値の確率分布との重なり具合を、１の状態と他の１の状態との類似度として求め、その類似度に対応する値、すなわち、例えば、類似度に反比例するような値を、１の状態と他の１の状態との距離として採用することができる。
【０３８０】
例えば、観測モデルがガウス分布である場合には、状態iと状態jとの類似度f(i,j)は、ガウス分布のパラメータ（である平均値μと分散Σ）を用い、例えば、式（４１）に従って計算することができる。
【０３８１】
【数４１】
2017027145.tif 000043
・・・（４１）
【０３８２】
式（４１）において、μi及びΣiは、状態iの観測モデルとしてのガウス分布の平均値（平均ベクトル）及び分散（分散共分散行列）を、それぞれ表し、xは、観測値を表す。
【０３８３】
N(x;μ,Σ)は、平均値がμで、分散がΣのガウス分布を表す。
【０３８４】
式（４１）の類似度f(i,j)は、状態iのガウス分布N(x;μi,Σi)と、状態jのガウス分布N(x;μj,Σj)とが一致しているとき、1になり、一致していないとき、0以上1未満の値になる。
【０３８５】
なお、観測モデルとして、ガウス分布以外の確率分布を採用する場合には、式（４１）において、ガウス分布N(x;μ,Σ)に代えて、観測モデルとしての確率分布を表す関数が用いられる。
【０３８６】
観測モデルが多項分布である場合には、状態iと状態jとの類似度f(i,j)は、多項分布が表す、離散シンボルを観測する観測確率を用い、例えば、式（４２）に従って計算することができる。
【０３８７】
【数４２】
2017027145.tif 000044
・・・（４２）
【０３８８】
式（４２）において、kは、離散シンボルを表し、Kは、離散シンボルの個数を表す。pi,kは、状態iにおいて、離散シンボルkが観測される観測確率を表す。
【０３８９】
式（４２）の類似度f(i,j)は、状態iの多項分布（状態iで離散シンボル1ないしKが観測される観測確率pi,1ないしpi,Kの分布）と、状態jの多項分布とが一致しているとき、1になり、一致していないとき、0以上1未満の値になる。
【０３９０】
式（４１）や式（４２）に示したような、状態iと状態jとの類似度f(i,j)からは、例えば、式（４３）に従って、状態iと状態jとの距離d(i,j)を求めることができる。
【０３９１】
【数４３】
2017027145.tif 000045
・・・（４３）
【０３９２】
式（４３）の距離d(i,j)は、状態iとjとのそれぞれで観測される観測値の確率分布どうしが近いほど（重なりが多いほど）、0に近い値になり、状態iとjとのそれぞれで観測される観測値の確率分布どうしが遠いほど（重なりが少ないほど）、大きな値になる。したがって、式（４３）の距離d(i,j)は、状態iとjとの距離尺度として用いることができる。
【０３９３】
なお、式（４１）の積分や、式（４１）のガウス分布N(x;μ,Σ)を表現する式に含まれるネイピア数(e)のべき乗、式（４１）及び式（４２）のルート（√）、式（４３）の対数(log)の計算は、計算コストが比較的大きい。
【０３９４】
一方、クラスタリングに用いる距離d(i,j)の計算は、それほど厳密でなくても問題はない。
【０３９５】
式（４１）ないし式（４３）の積分や、ネイピア数のべき乗、ルート、対数の計算については、厳密な計算を行う場合との比較で、大小関係を維持することができる範囲で、適宜、近似計算を行うことや、省略することができる。例えば、式（４１）及び式（４２）のルートの計算は、省略することができる。また、例えば、式（４１）の積分の計算は、台形の面積を求める計算によって近似することができる。
【０３９６】
また、状態で観測される観測値がマルチストリーム、すなわち、複数のモーダルのモーダルデータである場合には、各モーダルデータについて、類似度を求め、その類似度を足し合わせる形で、距離を求めることができる。
【０３９７】
すなわち、状態iとjとのそれぞれで観測されるモーダルmのモーダルデータの分布どうしの類似度を、fm(i,j)と表すとともに、モーダルの（総）数を、Mと表すこととすると、状態iとjの距離d(i,j)は、式（４４）に従って計算することができる。
【０３９８】
【数４４】
2017027145.tif 000046
・・・（４４）
【０３９９】
なお、類似度fm(i,j)（の対数log(fm(i,j))）の足し合わせは、式（４５）に示すように、モーダルmごとの重みwmを用いた重み付け加算により行うことができる。
【０４００】
【数４５】
2017027145.tif 000047
・・・（４５）
【０４０１】
式（４５）において、重みwmを0とすることにより、モーダルmを無視した距離d(i,j)を求めることができる。すなわち、クラスタリングに影響する（させる）モーダルやクラスタリングに影響しない（させない）モーダルを選択することができる。
【０４０２】
クラスタリング部３２での全体HMMの状態のクラスタリングは、以上のような状態間の距離d(i,j)に応じて行うことができる。
【０４０３】
すなわち、状態のクラスタリングは、状態間の距離d(i,j)を用い、k-means法や、階層クラスタリング等の手法により行うことができる。
【０４０４】
クラスタリング部３２は、全体HMMの状態のクラスタリングの結果に基づき、クラスタテーブルを生成し、クラスタテーブル記憶部３３に供給する。
【０４０５】
クラスタテーブルには、少なくとも、クラスタを表すクラスタ番号と、そのクラスタに属する（クラスタリングされた）状態の状態番号とが対応付けられて登録されている。
【０４０６】
クラスタテーブル記憶部３３は、クラスタリング部３２からのクラスタテーブルを記憶する。
【０４０７】
時系列データ記憶部３４は、確率テーブルの確率の計算に用いる時系列データ、すなわち、サブセットHMMの切り出しに用いる切り出し時系列データを記憶する。
【０４０８】
例えば、あるユーザ向けのサブセットHMM#Aの切り出しを行う場合には、例えば、そのユーザのライフイベントに関する時系列データが、切り出し時系列データとして、時系列データ記憶部３４に記憶される。
【０４０９】
クラスタ検索部３５は、クラスタテーブル記憶部３３に記憶されたクラスタテーブルを参照し、時系列データ記憶部３４に記憶された切り出し時系列データについて、その切り出し時系列データの各サンプル値が属するクラスタを、切り出し時系列データが属する所属クラスタとして検索する。
【０４１０】
すなわち、クラスタ検索部３５は、クラスタテーブルにクラスタ番号が登録された各クラスタと、切り出し時系列データの各サンプル値との距離を求め、その距離が最小のクラスタ、又は、その距離が閾値以下のクラスタを、所属クラスタとして検出する。
【０４１１】
クラスタと、切り出し時系列データのサンプル値との距離としては、クラスタのセントロイドと、切り出し時系列データのサンプル値との距離を採用することができる。
【０４１２】
例えば、観測モデルがガウス分布である場合には、クラスタに属する状態の観測モデルとしてのガウス分布の平均値の平均値及び分散を、クラスタのセントロイドの平均値及び分散として採用することができる。
【０４１３】
さらに、切り出し時系列データのサンプル値が、そのサンプル値の分布を表す分布情報を伴う場合には、クラスタと、切り出し時系列データのサンプル値との距離は、クラスタのセントロイドの平均値及び分散で規定されるガウス分布と、切り出し時系列データのサンプル値の分布情報とから、式（４１）で説明した類似度f(i,j)と同様の、クラスタと、切り出し時系列データのサンプル値との類似度を求めることができる。
【０４１４】
そして、クラスタと、切り出し時系列データのサンプル値との類似度を用いて、式（４３）で説明した距離d(i,j)と同様の、クラスタと、切り出し時系列データのサンプル値との距離を求めることができる。
【０４１５】
一方、切り出し時系列データのサンプル値が、そのサンプル値の分布を表す分布情報を伴わない場合には、そのサンプル値そのものを用いて、クラスタと、切り出し時系列データのサンプル値との距離が求められる。
【０４１６】
すなわち、切り出し時系列データのサンプル値（及び観測モデルの観測値）が連続値である場合には、クラスタcと、切り出し時系列データのサンプル値としての連続値xとの類似度f(c,x)が、式（４６）に従って求められる。
【０４１７】
【数４６】
2017027145.tif 000048
・・・（４６）
【０４１８】
式（４６）において、N(x',μc,Σc)は、クラスタcのセントロイドの平均値μc及び分散Σcで規定されるガウス分布を表す。δ(x)は、x=0のときに1となり、xが0以外のときに0となる関数である。
【０４１９】
切り出し時系列データのサンプル値が離散値である場合には、クラスタcと、切り出し時系列データのサンプル値としての離散値（離散シンボル）xとの類似度f(c,x)が、式（４７）に従って求められる。
【０４２０】
【数４７】
2017027145.tif 000049
・・・（４７）
【０４２１】
式（４７）において、pc,kは、クラスタcのセントロイドで離散シンボルkが観測される観測確率を表す。δi,jは、i=jのときに1となり、i≠jのときに0となるクロネッカのデルタを表す。
【０４２２】
クラスタcのセントロイドで離散シンボルkが観測される観測確率としては、例えば、クラスタcに属する各状態で離散シンボルkが観測される観測確率の平均等を採用することができる。
【０４２３】
以上のように、類似度f(c,x)を求めた後は、例えば、式（４３）と同様にして、類似度f(c,x)を用いて、クラスタと、切り出し時系列データのサンプル値との距離を求めることができる。
【０４２４】
なお、式（４６）では、関数δ(x)に代えて、値（関数値）に広がりがある関数を採用することができる。式（４７）のδi,jについても、同様である。
【０４２５】
また、式（４６）や式（４７）の計算にあたっては、式（４１）ないし式（４３）の計算の場合と同様に、積分やルート等の計算については、適宜、近似計算を行うことや、省略することができる。
【０４２６】
ここで、状態で観測される観測値、及び、切り出し時系列データのサンプル値が、マルチストリームである場合、すなわち、複数のモーダルのモーダルデータである場合には、状態間の距離を求める式（４４）の場合と同様に、各モーダルデータについての類似度を足し合わせる形で、クラスタと、切り出し時系列データのサンプル値との距離を求めることができる。
【０４２７】
また、この足し合わせは、式（４５）で説明したように、重み付け加算により行うことができる。
【０４２８】
クラスタ検索部３５は、以上のようにして、クラスタテーブルにクラスタ番号が登録された各クラスタと、切り出し時系列データの各サンプル値との距離を求めると、その距離が最小のクラスタ、又は、その距離が閾値以下のクラスタを、切り出し時系列データが属する所属クラスタとして検出する。
【０４２９】
そして、クラスタ検索部３５は、所属クラスタに属する状態の状態番号を、サブセット切り出し部３６に供給する。
【０４３０】
サブセット切り出し部３６は、HMM記憶部３１に記憶された全体HMMから、クラスタ検索部３５からの状態番号で特定される状態を抽出する（切り出す）ことで、その状態で構成されるサブセットHMMを生成して出力する。
【０４３１】
なお、１のクラスタテーブルを用いて、切り出し時系列データが属する所属クラスタを検出する場合には、切り出し時系列データが、クラスタの境界付近に分布するときに、ロバストに、サブセットHMMを生成することが困難なことがあり得る。
【０４３２】
そこで、サブセットHMMの生成では、状態のクラスタリングを、複数のクラスタリング方法によって行い、複数のクラスタテーブルを生成することができる。さらに、サブセットHMMの生成では、複数のクラスタテーブルのそれぞれから、切り出し時系列データが属する所属クラスタを検出し、その複数のクラスタテーブルのそれぞれから検出された所属クラスタに属する状態で、サブセットHMMを生成することができる。この場合、あるクラスタリング方法のクラスタリングでは、切り出し時系列データが、クラスタの境界付近に分布するが、他のクラスタリング方法のクラスタリングでは、切り出し時系列データが、クラスタの境界付近に分布しないことを期待することができ、その結果、ロバストに、サブセットHMMを生成することができる。ここで、複数のクラスタリング方法としては、例えば、異なるアルゴリズムの複数のクラスタリング方法や、同一のアルゴリズムではあるが、パラメータ（初期パラメータ等）が異なる複数のクラスタリング方法を採用することができる。
【０４３３】
また、クラスタリング部３２での状態のクラスタリング、及び、クラスタ検索部３５での所属クラスタの検出は、ハッシュ関数を用いて行うようにしてもよい。
【０４３４】
上述したように、状態間の距離に応じて、状態のクラスタリングを行い、クラスタと、切り出し時系列データのサンプル値との距離が最小のクラスタを、所属クラスタとして検出する場合には、状態間の距離や、クラスタと、切り出し時系列データのサンプル値との距離を計算する必要があり、これらの距離の計算コストが比較的大きくなることがあり得るが、ハッシュ関数を用いることにより、計算コストを抑制することができるからである。
【０４３５】
以下、クラスタリング部３２での状態のクラスタリング、及び、クラスタ検索部３５での所属クラスタの検出を、ハッシュ関数を用いて行う例を説明する。
【０４３６】
状態のクラスタリングでは、状態で観測される観測値が近傍にある状態どうしは、同一のクラスタにクラスタリングされるべきであるため、状態のクラスタリングには、近い値の入力に対して、同じ値を出力する種類のハッシュ関数を用いることができる。
【０４３７】
ここで、近い値の入力に対して、同じ値を出力する種類のハッシュ関数としては、局所性鋭敏型ハッシュ(LSH(Locality Sensitive Hashing)等がある。局所性鋭敏型ハッシュでは、入力される値の距離を定義する距離関数によってアルゴリズムが異なる。
【０４３８】
全体HMMの状態の観測モデルが、例えば、ガウス分布である場合には、観測値の距離として、ユークリッド距離を用いることができる。ユークリッド距離については、局所性鋭敏型ハッシュのアルゴリズムとして、例えば、pStableのアルゴリズムを採用することができる。pStableのアルゴリズムによれば、クエリに対して、近傍のサンプルを効率良く探索して列挙することができる。
【０４３９】
pStableのアルゴリズムについては、例えば、Datar, M.; Immorlica, N., Indyk, P., Mirrokni, V.S. (2004). "Locality-Sensitive Hashing Scheme Based on p-Stable Distributions". Proceedings of the Symposium on Computational Geometry.に、詳細が記載されている。
【０４４０】
ハッシュ関数を用いた状態のクラスタリングでは、クラスタリング部３２は、例えば、状態で観測される確率が最も高い観測値であるガウス分布の平均値を、ハッシュ関数に入力することで、ハッシュ値（ハッシュ関数の出力）を求める。
【０４４１】
クラスタリング部３２は、全体HMMのすべての状態について、ハッシュ値を求め、同一のハッシュ値の状態を検出する。
【０４４２】
そして、クラスタリング部３２は、同一のハッシュ値の状態の状態番号と、そのハッシュ値とを対応付けたクラスタテーブルを生成し、クラスタテーブル記憶部３３に記憶させる。
【０４４３】
この場合、クラスタテーブルのハッシュ値を、クラスタを表すクラスタ番号として扱うことができる。
【０４４４】
ハッシュ関数を用いた所属クラスタの検出では、クラスタ検索部３５は、切り出し時系列データの各サンプル値を、ハッシュ関数に入力し、ハッシュ値を求める。
【０４４５】
そして、クラスタ検索部３５は、切り出し時系列データの各サンプル値について、そのサンプル値のハッシュ値をクラスタ番号とするクラスタを、切り出し時系列データが属する所属クラスタとして検出する。
【０４４６】
クラスタ検索部３５は、所属クラスタを検出すると、その所属クラスタに属する状態の状態番号を、サブセット切り出し部３６に供給する。
【０４４７】
以上のように、状態のクラスタリング、及び、所属クラスタの検出を、ハッシュ関数を用いて行う場合には、状態間等の距離を計算することなく、状態のクラスタリング、及び、所属クラスタの検出を行うことができる。
【０４４８】
図１１は、図１０のサブセットHMM生成装置で行われるクラスタテーブルの生成の処理の例と、サブセットHMMの生成の処理の例とを説明するフローチャートである。
【０４４９】
なお、以下では、例えば、状態間の距離に応じて、状態のクラスタリングを行い、クラスタと、切り出し時系列データのサンプル値との距離に応じて、所属クラスタを検出することとする。
【０４５０】
クラスタテーブルの生成では、ステップＳ２１において、クラスタリング部３２は、HMM記憶部３１に記憶された全体HMMの状態を、状態間の距離に応じて、複数のクラスタにクラスタリングし、処理は、ステップＳ２２に進む。
【０４５１】
ステップＳ２２では、クラスタリング部３２は、ステップＳ２１でのクラスタリングの結果に従い、クラスタ番号と状態番号とを対応付けて登録したクラスタテーブルを生成し、クラスタテーブル記憶部３３に供給して、処理は、ステップＳ２３に進む。
【０４５２】
ステップＳ２３では、クラスタテーブル記憶部３３は、クラスタリング部３２からのクラスタテーブルを記憶し、クラスタテーブルの生成の処理は終了する。
【０４５３】
サブセットHMMの生成では、ステップＳ３１において、クラスタ検索部３５は、クラスタテーブル記憶部３３に記憶されたクラスタテーブルにクラスタ番号が登録された各クラスタと、時系列データ記憶部３４に記憶された切り出し時系列データの各サンプル値との距離を求め、処理は、ステップＳ３２に進む。
【０４５４】
ステップＳ３２では、クラスタ検索部３５は、クラスタと、切り出し時系列データのサンプル値との距離が近いクラスタ（距離が閾値以下のクラスタ）を、切り出し時系列データについての所属クラスタとして検出（検索）し、処理は、ステップＳ３３に進む。
【０４５５】
ステップＳ３３では、クラスタ検索部３５は、クラスタテーブル記憶部３３に記憶されたクラスタテーブルを参照し、所属クラスタに属する状態（の状態番号）を、リストにリストアップ（登録）し、サブセット切り出し部３６に供給して、処理は、ステップＳ３４に進む。
【０４５６】
ここで、所属クラスタに属する状態が登録されたリストを、所属状態リストともいう。
【０４５７】
ステップＳ３４では、サブセット切り出し部３６は、HMM記憶部３１に記憶された全体HMMから、クラスタ検索部３５からの所属状態リストにリストアップされている状態を抽出することで、その状態で構成されるサブセットHMMを生成して出力し、サブセットHMMの生成の処理は終了する。
【０４５８】
以上の図１１のサブセットHMMの生成の処理は、図８で説明した第１の切り出し方法を利用した処理に該当する。
【０４５９】
ところで、図１１のサブセットHMMの生成では、切り出し時系列データについての所属クラスタに属する状態だけで、サブセットHMMを生成するが、所属クラスタに属する状態だけでは、サブセットHMMの状態として、不十分であることがある。
【０４６０】
すなわち、例えば、あるユーザA向けのサブセットHMM#Aの切り出しを行う場合において、そのユーザAのライフイベントに関する時系列データを切り出し時系列データとして、その切り出し時系列データについての所属クラスタに属する状態だけで、サブセットHMMを生成したときに、そのサブセットHMMにおいて、ユーザAのライフイベントとして観測され得る観測値が観測される状態が網羅されていないことがある。
【０４６１】
そこで、サブセットHMMは、切り出し時系列データについての所属クラスタに属する状態の他、その所属クラスタに属する状態から遷移可能な状態をも用いて構成することができる。
【０４６２】
図１２は、切り出し時系列データについての所属クラスタに属する状態と、その所属クラスタに属する状態から遷移可能な状態とで構成されるサブセットHMMを生成するサブセットHMMの生成の処理を説明するフローチャートである。
【０４６３】
ステップＳ５１において、クラスタ検索部３５は、図１１のステップＳ３１と同様に、クラスタテーブルにクラスタ番号が登録された各クラスタと、切り出し時系列データの各サンプル値との距離を求め、処理は、ステップＳ５２に進む。
【０４６４】
ステップＳ５２では、クラスタ検索部３５は、図１１のＳ３２と同様に、クラスタと、切り出し時系列データのサンプル値との距離が近いクラスタを、切り出し時系列データについての所属クラスタとして検出し、処理は、ステップＳ５３に進む。
【０４６５】
ステップＳ３３では、クラスタ検索部３５は、クラスタテーブル記憶部３３に記憶されたクラスタテーブルを参照し、所属クラスタに属する状態（の状態番号）を、仮の状態リストに登録（リストアップ）し、処理は、ステップＳ５４に進む。
【０４６６】
ステップＳ５４では、クラスタ検索部３５は、仮の状態リストに登録されている状態の１つを、注目状態に選択する。さらに、クラスタ検索部３５は、注目状態を、仮の状態リストから削除するとともに、所属状態リストに、注目状態（の状態番号）を登録して、処理は、ステップＳ５４からステップＳ５５に進む。
【０４６７】
ステップＳ５５では、クラスタ検索部３５は、HMM記憶部３１に記憶された全体HMMにおいて、注目状態から遷移可能な状態の検索（ツリー検索）を、例えば、注目状態に近い状態から順次行うことで、注目状態から遷移可能な状態（以下、遷移可能状態ともいう）の１つを検出し、処理は、ステップＳ５６に進む。
【０４６８】
ここで、ステップＳ５５での遷移可能状態の検索は、例えば、上述の文献Ｃに記載されている方法で行うことができる。
【０４６９】
ステップＳ５６では、クラスタ検索部３５は、ステップＳ５５で検出された遷移可能状態が、所属状態リストに登録済みであるかどうかを判定する。
【０４７０】
ステップＳ５６において、遷移可能状態が、所属状態リストに登録済みでないと判定された場合、処理は、ステップＳ５７に進む。
【０４７１】
ステップＳ５７では、クラスタ検索部３５は、ステップＳ５５で検出された遷移可能状態と、切り出し時系列データの各サンプル値との距離が、所定値以上であるかどうかを判定する。
【０４７２】
ステップＳ５７において、遷移可能状態と、切り出し時系列データの各サンプル値との距離が、所定値以上でないと判定された場合、処理は、ステップＳ５８に進む。
【０４７３】
ステップＳ５８では、クラスタ検索部３５は、ステップＳ５５で検出された遷移可能状態（の状態番号）を、所属状態リストに登録し、処理は、ステップＳ５９に進む。
【０４７４】
したがって、ステップＳ５５で検出された遷移可能状態は、まだ、その遷移可能状態が所属状態リストに登録されておらず、かつ、遷移可能状態と、切り出し時系列データの各サンプル値との距離が、所定値以上でない場合にのみ、所属状態リストに登録される。
【０４７５】
ステップＳ５９では、クラスタ検索部３５は、ステップＳ５８で所属状態リストに登録された遷移可能状態が、仮の状態リストに登録されているかどうかを判定する。
【０４７６】
ステップＳ５９において、所属状態リストに登録された遷移可能状態が、仮の状態リストに登録されていると判定された場合、処理は、ステップＳ６０に進む。
【０４７７】
ステップＳ６０では、クラスタ検索部３５は、仮の状態リストに登録されている遷移可能状態を、仮の状態リストから削除する。そして、処理は、ステップＳ６０からステップＳ５５に戻り、遷移可能状態の検索が続行され、次の遷移可能状態が検出される。
【０４７８】
一方、ステップＳ５６において、遷移可能状態が、所属状態リストに登録済みであると判定されるか、又は、ステップＳ５７において、遷移可能状態と、切り出し時系列データの各サンプル値との距離が、所定値以上であると判定された場合、注目状態から遷移可能な遷移可能状態の検索が打ち切られ、処理は、ステップＳ６１に進む。
【０４７９】
ステップＳ６１では、クラスタ検索部３５は、仮の状態リストに、まだ、状態が登録されているかどうかを判定する。
【０４８０】
ステップＳ６１において、仮の状態リストに、まだ、状態が登録されていると判定された場合、処理は、ステップＳ５４に戻り、仮の状態リストに登録されている状態の１つが、注目状態に新たに選択され、以下、同様の処理が繰り返される。
【０４８１】
また、ステップＳ６１において、仮の状態リストに、状態が登録されていないと判定された場合、すなわち、仮の状態リストに登録された、所属クラスタに属する状態のすべてについて、その状態から遷移可能な遷移可能状態の検索が終了した場合、クラスタ検索部３５は、所属状態リストを、サブセット切り出し部３６に供給して、処理は、ステップＳ６２に進む。
【０４８２】
ステップＳ６２では、サブセット切り出し部３６は、図１１のステップＳ３４と同様に、HMM記憶部３１に記憶された全体HMMから、クラスタ検索部３５からの所属状態リストにリストアップされている状態を抽出することで、その状態で構成されるサブセットHMMを生成して出力し、サブセットHMMの生成の処理は終了する。
【０４８３】
以上の図１２のサブセットHMMの生成の処理は、図８で説明した第１の切り出し方法と、第２の切り出し方法との両方を利用した処理に該当する。
【０４８４】
図１３は、切り出し時系列データについての所属クラスタに属する状態と、所属クラスタに属する状態から遷移可能な状態とで構成されるサブセットHMMを生成するサブセットHMMの生成の処理を、さらに説明する図である。
【０４８５】
図１３では、切り出し時系列データについての所属クラスタに属する状態として、状態4,5,17が検出され、仮の状態リストに登録されている。
【０４８６】
そして、図１３では、状態4,5,17それぞれについて、その状態から遷移可能な遷移可能状態の検索が行われ、状態6ないし9，18，19、及び、21ないし24が、遷移可能状態として検出されている。
【０４８７】
これにより、図１３では、所属クラスタに属する状態としての状態4,5,17、並びに、遷移可能状態としての状態6ないし9，18，19、及び、21ないし24が、所属状態リストに登録される。
【０４８８】
以上のようなインクリメンタルHMM、及び、サブセット方式によれば、時系列データをそのまま記憶する場合に比較して、記憶容量を削減することができる。
【０４８９】
また、インクリメンタルHMM、及び、サブセット方式によれば、組み合わせ爆発が生じることを防止することができる。
【０４９０】
さらに、インクリメンタルHMM、及び、サブセット方式によれば、計算コストを削減することができる。
【０４９１】
また、インクリメンタルHMM、及び、サブセット方式によれば、追加的学習が可能となる。
【０４９２】
さらに、インクリメンタルHMM、及び、サブセット方式によれば、HMMの構造、つまり、状態数や状態遷移の自由度を大にすることができる。
【０４９３】
さらに、インクリメンタルHMM、及び、サブセット方式によれば、全体HMMが大規模になっても、サブセットHMMの単位で、学習（更新）及び予測を行うことができるので、少ない計算コストで、学習及び予測を行うことができる。
【０４９４】
また、インクリメンタルHMM、及び、サブセット方式によれば、サーバから、全体HMMから切り出されたサブセットHMMを、クライアントに送信し、クライアントにおいて、サブセットHMMに、ユーザのライフイベントに関する時系列データを与えて、サブセットHMMの学習や、時系列データの予測を行うことができる。
【０４９５】
したがって、サーバに、ユーザのライフイベントに関する時系列データそのものを送信せずに、学習及び予測を行うことができるので、クライアントから、サーバに、ユーザのライフイベントに関する時系列データを送信する場合に、その時系列データが盗聴等されることにより生じるプライバシーの問題を回避することができる。
【０４９６】
＜ネットワークモデルを用いて予測時系列データを予測する予測装置の構成例＞
【０４９７】
図１４は、ネットワークモデルを用いて予測時系列データを予測（生成）する予測装置の構成例を示すブロック図である。
【０４９８】
図１４において、予測装置は、モデル記憶部５１、状態推定部５２、及び、予測時系列生成部５３を有する。
【０４９９】
モデル記憶部５１は、例えば、インクリメンタルHMM等のネットワークモデル（のパラメータ）を記憶している。
【０５００】
状態推定部５２には、未来を予測する対象の時系列データが、クエリとなる入力時系列データとして供給される。
【０５０１】
状態推定部５２は、入力時系列データを用い、モデル記憶部５１に記憶されたインクリメンタルHMMの各状態にいる状態確率を算出する。さらに、状態推定部５２は、状態確率に基づいて、インクリメンタルHMMにおいて、現在いる状態である現在状態を推定し、予測時系列生成部５３に供給する。
【０５０２】
ここで、現在状態を推定する方法としては、例えば、ビタビアルゴリズムやフォワードアルゴリズムがある。例えば、ビタビアルゴリズムによれば、入力時系列データから、最も尤度が高い現在状態（ネットワークモデルを構成するノード）を推定することができる。また、フォワードアルゴリズムによれば、入力時系列データから、現在状態の確率分布を求めることができる。
【０５０３】
なお、状態推定部５２では、図４の予測装置の検索部１１に比較して、入力時系列データについて、モデル記憶部５１に記憶されたインクリメンタルHMMを十分に活用し、効率良く処理を行うことができる。
【０５０４】
予測時系列生成部５３は、モデル記憶部５１に記憶されたインクリメンタルHMMに基づき、状態推定部５２からの現在状態に対して、入力時系列データよりも未来の１以上の時系列データを予測し、予測時系列データとして出力する。
【０５０５】
すなわち、予測時系列生成部５３は、モデル記憶部５１に記憶されたインクリメンタルHMMの状態遷移を利用して、入力時系列データよりも未来の時系列データを再構築する。
【０５０６】
HMMの状態遷移を利用した時系列データの再構築（予測）については、例えば、特許文献２や、上述の文献Ａ、文献Ｄ（特開2011-252844号公報）に記載されている方法等を採用することができる。例えば、上述の文献Ａに記載されている方法によれば、現在状態から始点として、状態遷移が可能な遷移先の状態を繰り返し探索することで、状態系列をリストアップし、その状態系列の各状態で観測される観測値の代表値（例えば、ガウス分布の平均値や観測確率が最も高い離散シンボル）を、各モーダルについて並べることで、マルチストリームの時系列データを、未来の時系列データとして得ることができる。
【０５０７】
なお、図１４の予測装置では、図４の予測装置のように、予測時系列生成部１２から検索部１１に対して、予測時系列データを、新たな入力時系列データとしてフィードバックするループが存在しない。
【０５０８】
したがって、図１４の予測装置では、図４の予測装置のように、時系列データベース１０からの時系列データの検索という負荷の高い処理が繰り返し行われることがない。
【０５０９】
図１５は、図１４の予測時系列生成部５３での予測時系列データの生成（予測）の例を説明する図である。
【０５１０】
予測時系列生成部５３は、モデル記憶部５１に記憶されたインクリメンタルHMMの現在状態を始点として、状態遷移を順次辿っていき、状態系列を生成するツリー探索を行う。ツリー探索では、状態遷移が分岐することがあるが、状態遷移の分岐では、例えば、遷移確率等に応じて、優先的に辿っていく状態遷移が決定される。
【０５１１】
ツリー探索は、深さ優先及び幅優先のうちのいずれで行うこともできる。深さ優先及び幅優先のうちのいずれを採用するかは、例えば、ユーザやアプリケーションからの指定等に応じて決定することができる。
【０５１２】
ツリー探索は、所定の終了条件が満たされたときに終了する。
【０５１３】
終了条件としては、例えば、あらかじめ終了状態に設定された状態に到達したことや、遷移元に戻る状態遷移、及び、自己遷移しかない、いわば端点の状態に到達したこと、ループを構成する状態遷移で接続された状態群の中のいずれかの状態に到達したこと等を採用することができる。
【０５１４】
また、終了条件として、あらかじめ終了状態に設定された状態に到達したことを採用する場合には、終了状態としては、例えば、観測モデルのパラメータが所定の条件を満たす状態等を採用することができる。
【０５１５】
なお、ツリー探索の結果得られる状態系列は、ツリー探索の終了条件によって変化する。
【０５１６】
予測時系列生成部５３は、終了条件が満たされると、ツリー探索を終了する。ツリー探索の結果としては、ツリー探索で辿った状態遷移の遷移先の状態を、現在状態を始点として順次並べた状態系列が得られる。
【０５１７】
ツリー探索で得られる状態系列の数は、そのツリー探索で生じる分岐の数に対応する。
【０５１８】
予測時系列生成部５３は、ツリー探索の結果得られる１以上の状態系列それぞれに対して、その状態系列を構成する各状態において観測される観測値の代表値（例えば、ガウス分布の平均値）をサンプル値とする時系列データを、予測時系列データとして生成する。
【０５１９】
なお、ツリー探索を、上述の文献Ａや文献Ｄに記載されている方法で行う場合には、あらかじめ指定した特定の状態に到達する確率を求めることができる。さらに、特定の状態に到達する確率を用いて、所定の観測値（の系列）が観測される確率（例えば、所定のライフイベントが観測される（生じる）確率）を求めることができる。特許文献２に記載されている方法でも、同様の処理を行うことができる。
【０５２０】
＜将来のライフイベントの提示＞
【０５２１】
図１６は、将来のライフイベントの提示の例を説明する図である。
【０５２２】
図１４の予測装置では、モデル記憶部５１に記憶されるインクリメンタルHMMの学習を、例えば、ライフイベントに関する時系列データを用いて行うことにより、ライフイベントに関する時系列データを予測した予測時系列データや、その予測時系列データが観測される状態系列（以下、予測状態系列ともいう）等を得ることができる。そして、予測時系列データや予測状態系列からは、ライフイベントの予測結果である将来のライフイベントを得ることができる。
【０５２３】
ここで、本明細書における状態系列（予測状態系列を含む）とは、状態が分岐なしに一直線状に並んだ一の系列（以下、一直線系列ともいう）をいう場合と、状態が分岐や合流を伴ってネットワーク構造を構成している系列（以下、ネットワーク系列ともいう）をいう場合とがある。ネットワーク系列は、複数の一直線系列をまとめた系列で、ある一直線系列と他の一直線系列とで共通（同一）の状態が、１の状態にまとめて表現される。
【０５２４】
予測時系列データや予測状態系列から得られる将来のライフイベントについては、ユーザに分かりやすく提示することが要請される。
【０５２５】
図１６は、将来のライフイベントの提示としての、例えば、将来のライフイベントの表示の例を模式的に示している。
【０５２６】
将来のライフイベントの表示としては、例えば、予測状態系列（ネットワーク系列）のネットワーク構造をそのまま表示することができる。
【０５２７】
しかしながら、予測状態系列をそのまま表示する場合には、ユーザが、その予測状態系列の表示を見ても、予測状態系列が何を意味するのかを理解することは、困難である。
【０５２８】
そこで、予測状態系列については、その予測状態系列を構成する各状態に対して、その状態において観測される観測値の代表値に対応するライフイベントを付与して表示することができる。
【０５２９】
この場合、ユーザは、予測状態系列を、観測空間上の概念、すなわち、ライフイベントとひも付け、これから起こるライフイベントの分岐や合流を認識することができる。
【０５３０】
また、予測状態系列において、ある１の状態から複数の状態への状態遷移が生じ得る分岐については、その複数の状態それぞれへの状態遷移に対するスコアを、遷移確率等を用いて、容易に算出することができる。
【０５３１】
予測状態系列の分岐において、複数の状態それぞれへの状態遷移に対するスコアを表示することにより、ユーザは、例えば、分岐先の複数の状態それぞれに対応するライフイベントが生じる生じやすさを認識することができる。
【０５３２】
さらに、予測状態系列の各状態については、（現在状態から、）その状態に到達するスコアを、遷移確率等を用いて、容易に算出することができる。
【０５３３】
予測状態系列の各状態において、その状態に到達するスコアを表示することにより、ユーザは、予測状態系列の各状態に対応するライフイベントが生じる生じやすさを認識することができる。
【０５３４】
図１６では、予測状態系列が、モデル記憶部５１に記憶されたインクリメンタルHMM（又は、そのインクリメンタルHMMから切り出されたサブセットHMM）とともに、そのインクリメンタルHMMの構造の中に含めた形で表示されている。
【０５３５】
このように、予測状態系列を、インクリメンタルHMMとともに表示することで、ユーザは、現在状態を、インクリメンタルHMMの全体の中での自己の位置づけとして認識することができる。
【０５３６】
さらに、ユーザは、インクリメンタルHMMの状態の中で、現在状態から（状態遷移を辿ったときに）辿り着けない状態に対応するライフイベントを、将来に起こり得ないライフイベントとして認識することができる。
【０５３７】
ところで、図１４の予測装置のモデル記憶部５１に記憶されたインクリメンタルHMMや、予測状態系列の規模が大である場合には、予測状態系列の全体や、その予測状態系列を含むインクリメンタルHMMの全体を表示することが困難になる。
【０５３８】
そこで、将来のライフイベントの表示では、予測状態系列をそのまま表示するのではなく、予測状態系列を簡略化して表示することができる。
【０５３９】
図１７は、予測状態系列を簡略化して表示する表示例を示す図である。
【０５４０】
図１７では、予測状態系列の状態のうちの現在状態に対応するライフイベント（を表すシンボル）と、あらかじめ決められた特徴的なライフイベントに対応する状態に対応するライフイベントとが、各ライフイベントに対応する状態に到達するスコアとともに、ネットワーク構造で表示されている。
【０５４１】
すなわち、図１７では、例えば、予測状態系列のある分岐や合流から、次の分岐や合流までの間にある状態群の単位で、その状態群の中から、１以上の状態が、特徴的なライフイベントに対応する状態として選択され、その状態に対応するライフイベント（を表すシンボル）が表示されている。
【０５４２】
以上のように、予測状態系列のすべての状態（に対応するライフイベント）ではなく、予測状態系列の状態から、特徴的なライフイベントに対応する状態を選択することにより、状態を絞り込んで、予測状態系列の表示を行うことで、ユーザは、予測状態系列の全体像を、容易に俯瞰することができる。
【０５４３】
なお、予測状態系列を、インクリメンタルHMMとともに表示する場合にも、同様に、特徴的なライフイベントに対応する状態を選択して表示することができる。
【０５４４】
図１８は、予測状態系列の表示の表示例を示す図である。
【０５４５】
すなわち、図１８は、予測状態系列等から得られる将来のライフイベントの表示例を示している。
【０５４６】
図１８では、予測状態系列の状態（又は、予測状態系列の状態のうちの、特徴的なライフイベントに対応する状態）に対応するライフイベント（を表すシンボル）のネットワーク構造が、ライフイベントが生じるスコアを基に時系列で表示されている。
【０５４７】
すなわち、図１８では、直交する２方向をそれぞれライフイベントが生じるスコア及び時刻として、予測状態系列の状態に対応するライフイベントが表示されている。具体的には、横軸を、ライフイベントが生じるスコアとするとともに、縦軸を、ライフイベントが生じる時刻（順番）として、予測状態系列の状態に対応するライフイベントが、スコア順、及び、時刻順に並べて表示されている。
【０５４８】
例えば、図１８において、左から右方向は、スコアが小さくなる方向になっており、したがって、ある１行に並ぶライフイベントは、起こりやすい順に、左から右に向かって並んでいる。
【０５４９】
また、例えば、図１８において、上から下方向は、時刻が経過する方向になっており、したがって、下方向のライフイベントほど、より先の未来のライフイベントになっている。
【０５５０】
なお、ここでは、左から右方向を、スコアが小さくなる方向とし、上から下方向を、時刻が経過する方向としたが、スコアが小さくなる方向や、時刻が経過する方向は、これに限定されるものではない。
【０５５１】
すなわち、例えば、右から左方向を、スコアが小さくなる方向とし、下から上方向を、時刻が経過する方向とすることができる。また、例えば、左から右方向を、時刻が経過する方向とし、上から下方向を、スコアが小さくなる方向とすることができる。さらに、例えば、画面の水平方向の中央部を、スコアが最も高い位置とし、その中央部から左方向及び右方向のそれぞれを、スコアが小さくなる方向にすることができる。
【０５５２】
ここで、図１８の表示例のように、予測状態系列の状態に対応するライフイベントのネットワーク構造を、スコア順、及び、時刻順に並べた表示を、スコア／時刻順表示ともいう。
【０５５３】
スコア／時刻順表示によれば、将来のライフイベントを、ユーザに、分かりやすく表示することができる。
【０５５４】
すなわち、スコア／時刻順表示によれば、将来のライフイベントが、スコア順に並んで表示されるので、ユーザは、どのようなライフイベントが生じやすいのかを、容易に認識することができる。
【０５５５】
また、スコア／時刻順表示によれば、将来のライフイベントが、時刻順に並んで表示されるので、ライフイベントが、どのような順番で生じていくのかを、容易に認識することができる。
【０５５６】
なお、スコア／時刻順表示において、予測状態系列の状態に対応するライフイベントのネットワーク構造を、１画面内に表示することができない場合には、そのネットワーク構造は、左右方向や上下方向にスクロール（スライド）することができるように表示される。
【０５５７】
この場合、画面を、左方向にスクロールすることにより、より右方向に位置するスコアの低いライフイベントを表示させることができる。また、画面を、上方向にスクロールすることにより、より下方向に位置する先の時刻で生じ得るライフイベントを表示させることができる。
【０５５８】
スコア／時刻順表示の画面のスクロールについては、スクロールバー（スライドバー）を、画面の上又は下と、左又は右とに表示し、ユーザによるスクロールバーの操作に応じて、画面のスクロールを行うことができる。
【０５５９】
また、例えば、ユーザによる画面のスライド操作（やフリック操作）を、タッチパネルで検出し、そのスライド操作に応じて、スコア／時刻順表示の画面をスライド（スクロール）することができる。
【０５６０】
また、スコア／時刻順表示において、予測状態系列の状態に対応するライフイベントの表示（ライフイベントを表すシンボル）としては、アイコン等の画像や、テキスト、動画等へのリンクを表すマーク等を採用することができる。図１８では、ライフイベントの表示として、例えば、矩形のアイコンが採用されている。
【０５６１】
さらに、スコア／時刻順表示では、図１７の場合と同様に、ライフイベントとともに、そのライフイベントが生じるスコア（ライフイベントに対応する状態に到達する確率）を表示することができる。
【０５６２】
以上のようなスコア／時刻順表示は、例えば、スマートフォン等の携帯端末のように、サイズが限られた表示画面（ユーザインターフェース）に、予測状態系列の状態に対応するライフイベントのネットワーク構造を表示する場合に有用である。
【０５６３】
図１８では、タイムゾーン（時刻）t1の行に、ライフイベントv1,v2,v3,v4が、その順で、左から右方向に並んでいる。したがって、タイムゾーンt1では、ライフイベントv1,v2,v3,v4は、その順で生じやすい。
【０５６４】
また、図１８では、タイムゾーンt2(>t1)の行に、ライフイベントv2と状態遷移（を表す矢印）で接続されたライフイベントv5,v6,v7,v8が、その順で、左から右方向に並んでいる。ライフイベントv5,v6,v7,v8は、ライフイベントv2と状態遷移で接続されているので、タイムゾーンt1で、ライフイベントv2が生じた場合に、その後のタイムゾーンt2で生じ得る。
【０５６５】
そして、タイムゾーンt2のライフイベントv5,v6,v7,v8は、その順で生じやすい。
【０５６６】
さらに、図１８では、タイムゾーンt3(>t2)の行に、ライフイベントv9,v10,v11,v12が、その順で、左から右方向に並んでいる。
【０５６７】
また、ライフイベントv9ないしv12のうちの、ライフイベントv10ないしv12は、タイムゾーンt2のライフイベントv6と状態遷移で接続されている。
【０５６８】
したがって、ライフイベントv10ないしv12は、タイムゾーンt2で、ライフイベントv6が生じた場合に、その後のタイムゾーンt3で生じ得る。
【０５６９】
図１８では、最大の矩形で表されるライフイベントv6は、注目している注目イベントになっている。
【０５７０】
また、図１８では、注目イベントになっているライフイベントv6のタイムゾーンt2の他のライフイベントv5,v7,v8を表す矩形は、他のタイムゾーンt1及びt3のライフイベントv1ないしv4、及び、v9ないしv12を表す矩形よりも大きくなっている。
【０５７１】
したがって、ユーザは、注目イベント（図１８では、ライフイベントv6）を、容易に認識することができる。さらに、ユーザは、注目イベントが生じ得る時刻（図１８では、タイムゾーンt2）に生じ得る他のライフイベント（図１８では、ライフイベントv5,v7,v8）を、容易に認識することができる。なお、ライフイベントを表す矩形のアイコンは、例えば、時刻が注目イベントから遠ざかるほど、小さいサイズにすることができる。また、ライフイベントを表す矩形のアイコンは、例えば、そのライフイベントのスコアに応じたサイズにすることができる。
【０５７２】
注目イベントとするライフイベントは、例えば、ユーザの操作に応じて選択することができる。デフォルトでは、例えば、現在状態に対応するライフイベントを、注目イベントに選択することができる。
【０５７３】
また、例えば、スコア／時刻順表示の画面の中心部分に位置するライフイベントを、注目イベントに選択することができる。この場合、スコア／時刻順表示の画面の中心部分に位置するライフイベントを、画面をスライドさせて変更することにより、注目イベントに選択されるライフイベントを変更することができる。
【０５７４】
その他、スコア／時刻順表示では、例えば、注目イベントに選択されたライフイベントが、画面の中心部分に位置するように、ライフイベントのネットワーク構造を表示することができる。
【０５７５】
スコア／時刻順表示では、予測状態系列等から得られる将来のライフイベントとともに、その将来のライフイベントのうちの、任意のライフイベントから、他のライフイベントが生じる条件（以下、生起条件ともいう）を表示することができる。
【０５７６】
ここで、以下、将来のライフイベントとともに、生起条件を表示するスコア／時刻順表示を、生起条件付きスコア／時刻順表示ともいう。
【０５７７】
図１９は、生起条件付きスコア／時刻順表示の表示例を示す図である。
【０５７８】
図１９では、ライフイベントv1の後に生じ得るライフイベントv2,v3,v4,v5それぞれが、ライフイベントv1と状態遷移で接続されている。
【０５７９】
さらに、ライフイベントv1と、ライフイベントv2,v3,v4,v5それぞれとを接続する状態遷移の途中に、そのライフイベントv2,v3,v4,v5それぞれが生じる生起条件c1,c2,c3,c4が表示されている。
【０５８０】
以上のような生起条件付きスコア／時刻順表示によれば、ユーザは、ライフイベントv1が生じた後に、どのような条件を満たせば（又は満たさなければ）、ライフイベントv2,v3,v4,v5が生じるかを、容易に認識することができる。
【０５８１】
ここで、HMMにおいて、ある状態（に対応するライフイベント）に到達するスコアとしての確率を精度良く計算するためには、その状態に到達するまでに実際に観測された時系列データ（実際の観測値）が必要である。
【０５８２】
しかしながら、将来のライフイベントに対応する状態については、その将来になるまでは、実際の観測値を観測することはできない。
【０５８３】
そのため、スコア／時刻順表示を行う場合には、将来のライフイベントに対応する状態に到達するスコア（将来のライフイベントが生じるスコア）としての確率として、例えば、現在状態から、将来のライフイベントに対応する状態に到達するまでの状態系列における状態遷移の遷移確率の積を用いることができる。
【０５８４】
生起条件付きスコア／時刻順表示で表示される生起条件c1ないしc4は、それぞれ、ライフイベントv1が生じたとき（生じた後）、どのような時系列データが観測されれば、ライフイベントv2ないしv5が生じるかを表す、その時系列データの条件である。
【０５８５】
したがって、生起条件c1ないしc4としては、時系列データとしての離散値がとるべき具体的な離散シンボルの値や、時系列データとしての連続値が分布すべき区間等を採用することができる。
【０５８６】
すなわち、例えば、状態において観測される観測値が連続値であり、観測モデルとして、ガウス分布が採用されている場合において、ライフイベントv2に対応する状態のガウス分布の平均値がav2であり、ライフイベントv3に対応する状態のガウス分布の平均値がav3であるとする。さらに、平均値av2を中心とする所定の幅の区間を、sec2と表すとともに、平均値av3を中心とする所定の幅の区間を、sec3と表すこととする。
【０５８７】
この場合、ライフイベントv2が生じる生起条件c1としては、時系列データとして、区間sec2の時系列データが観測されることを採用し、ライフイベントv3が生じる生起条件c2としては、時系列データとして、区間sec3の時系列データが観測されることを採用することができる。なお、ここでは、説明を簡単にするため、区間sec2とsec3とは、重複しないこととする。
【０５８８】
図２０は、予測状態系列を構成する状態と、ライフイベントとの対応関係の例を示す図である。
【０５８９】
すなわち、図２０は、予測状態系列の例を示している。
【０５９０】
図２０の予測状態系列では、状態st1から、状態st2,st3,st4,st5のうちのいずれの状態にも状態遷移が可能になっている。
【０５９１】
上述の図１９は、図２０の予測状態系列について、生起条件付きスコア／時刻順表示を行った場合の表示例を示している。
【０５９２】
図１９の生起条件付きスコア／時刻順表示のライフイベントv1ないしv5は、図２０の予測状態系列の状態st1ないしst5に、それぞれ対応する。
【０５９３】
この場合、例えば、状態st2ないしst5において観測され得る観測値に含まれる所定の値が観測されることが、それぞれ、生起条件c1ないしc4となる。
【０５９４】
状態において観測され得る観測値に含まれる所定の値としては、例えば、観測モデルがガウス分布である場合には、そのガウス分布の平均値を中心とする所定の幅の区間内の値を採用することができる。また、例えば、観測モデルが多項分布である場合には、その多項分布において観測確率が0より大の離散シンボルを、状態において観測され得る観測値に含まれる所定の値として採用することができる。
【０５９５】
ここで、例えば、状態st2,st3,st4,st5に対応するライフイベントv2,v3,v4,v5を、それぞれ、大学UA,UB,UC,UDへの進学とする。さらに、状態st2ないしst5で観測される観測値が、大学へ進学する前に受けた模試TRの学力偏差値であるとする。
【０５９６】
この場合、生起条件C1,C2,C3,C4は、模試TRの学力偏差値に関する条件となる。
【０５９７】
（インクリメンタル）HMMの学習は、大学UA,UB,UC,UDに進学したユーザが、その進学前に受けた模試TRの学力偏差値を用いて行われる。
【０５９８】
状態の観測モデルが、例えば、ガウス分布である場合、HMMの学習により、状態st2では、大学UAに進学したユーザが受けた模試TRの学力偏差値の分布が、ガウス分布によってモデル化される。同様に、HMMの学習により、状態st3,st4,st5では、大学UB,UC,UDに進学したユーザが受けた模試TRの学力偏差値の分布が、ガウス分布によって、それぞれモデル化される。
【０５９９】
状態st2については、例えば、その状態st2のガウス分布を規定する平均値と分散に基づいて、大学UAに入学したユーザが模試TRで獲得している可能性（頻度）が高い、模試TRの学力偏差値の範囲（区間）を模試TRで獲得することを、状態st2に対応する大学UAへの進学が生じる生起条件c1として決定することができる。生起条件c2ないしc4も、生起条件c1と同様に決定することができる。
【０６００】
なお、生起条件付きスコア／時刻順表示では、ユーザは、生起条件を選択することができる。ある生起条件が選択された場合、あるライフイベントの後に、ユーザが選択した生起条件が満たされることによって生じるライフイベントに対応する状態に到達するスコアは、生起条件を満たす観測値を入力時系列データとしてサブセットHMMに与えて、計算し直すことができ、その後に生じ得るライフイベントに対応する状態に到達するスコアも、計算し直すことができる。
【０６０１】
さらに、あるライフイベントの後に生じ得る他のライフイベントについても、そのライフイベントに対応する状態に到達するスコアを計算し直すことができる。
【０６０２】
生起条件付きスコア／時刻順表示では、以上のようなスコアの計算のし直しの後、その計算し直されたスコアに応じて、ライフイベントの並びの変更を行うことができる。さらに、生起条件付きスコア／時刻順表示において、ライフイベントとともに、そのライフイベントが生じるスコアを表示する場合には、そのスコアの表示を、計算し直されたスコアに変更することができる。
【０６０３】
したがって、ユーザは、インタラクティブに、将来のライフイベントを確認することができる。すなわち、生起条件付きスコア／時刻順表示において、ユーザは、生起条件を選択することにより、将来のライフイベント（のスコア）が、どのように変化するかを確認することができる。
【０６０４】
＜ライフイベントサービスシステムの一実施の形態＞
【０６０５】
図２１は、本技術を適用したライフイベントサービスシステムの一実施の形態の構成例を示すブロック図である。
【０６０６】
図２１において、ライフイベントサービスシステムは、１のサーバ６１と、１以上のクライアント６２とが、ネットワーク６３を介して接続されたサーバクライアントシステムになっている。
【０６０７】
図２１のライフイベントサービスシステムは、上述した技術を適宜利用して、将来のライフイベントを予測し、その将来のライフイベントの予測結果を、図１８や図１９で説明したスコア／時刻順表示等によって、ユーザに分かりやすく表示することができる。
【０６０８】
なお、図２１のライフイベントサービスシステムにおいて、１のサーバ６１の役割は、複数のサーバに分担させることができる。
【０６０９】
図２１において、サーバ６１は、ライフイベントに関する時系列データを用いて学習が行われたネットワークモデルとしての、例えば、本体HMMの記憶等を行う。
【０６１０】
クライアント６２は、必要に応じて、例えば、インターネット等のネットワーク６３を介して、クライアント６２のユーザ等のライフイベントに関する時系列データを、サーバ６１に提供する。
【０６１１】
また、クライアント６２は、サーバ６１に記憶された本体HMM（から切り出されたサブセットHMM）を利用して、将来のライフイベントを予測し、その予測結果である将来のライフイベントを、ユーザに提示する。
【０６１２】
すなわち、例えば、クライアント６２は、将来のライフイベントのスコア／時刻順表示等を行う。
【０６１３】
ここで、以下では、特に断らない限り、スコア／時刻順表示には、図１８のスコア／時間順表示と、図１９の生起条件付きスコア／時刻順表示とが含まれることとする。
【０６１４】
また、クライアント６２としては、上述のように、ライフイベントに関する時系列データを、サーバ６１に提供する時系列データ提供処理と、将来のライフイベントを、ユーザに提示するライフイベント提示処理との両方を行うクライアントの他、時系列データ提供処理、及び、ライフイベント提示処理のうちの一方だけを行うクライアントが存在しても良い。
【０６１５】
以上のようなサーバ６１とクライアント６２とで構成されるライフイベントサービスシステムは、ライフイベントに関して、限られた区間の時系列データを収集し、その時系列データを用いて、遠い将来（のライフイベント）を予測し、ユーザに提示する。
【０６１６】
遠い将来の予測の提示は、ユーザの操作等に応じて全体像を把握しやすいように行われる。
【０６１７】
遠い将来の予測の提示が行われることにより、ユーザは、その予測を参照して、現在の指針や、未来の目標を決めることができる。
【０６１８】
遠い将来の予測の対象としては、例えば、ヒト、ヒトの集合体（グループ）、物（建造物（住居、ビル）、車、ペット、植物）等がある。
【０６１９】
遠い将来の予測の対象のライフイベントとしては、例えば、その対象が取り得るライフステージがある。対象のライフステージには、その対象の始まり（出現）から終了（消滅）までの間の様々なライフステージがある。
【０６２０】
例えば、ヒトの経歴に関するライフステージには、誕生-学生-社会-リタイア-死等がある。また、例えば、ヒトの健康に関するライフステージには、健康-罹患-回復-死等がある。さらに、例えば、組織の経歴に関するライフステージには、設立-拡大-分裂-解散等がある。また、例えば、物のライフステージには、購入-使用-転売-廃棄等がある。さらに、例えば、植物やペットのライフステージには、誕生-成長-老-死がある。
【０６２１】
＜サーバ６１及びクライアント６２の構成例＞
【０６２２】
図２２は、図２１のサーバ６１、及び、クライアント６２の機能的な構成例を示すブロック図である。
【０６２３】
図２２において、サーバ６１は、データ取得部７１、モデル学習部７２、モデル記憶部７３、サブセット取得部７４、及び、モデル更新部７５を有する。クライアント６２は、データ取得部８１、モデル学習部８２、サブセット記憶部８３、設定部８４、ライフイベント予測部８５、情報抽出部８６、提示制御部８７、及び、提示部８８を有する。
【０６２４】
なお、図２２において、クライアント６２を構成するモデル学習部８２、サブセット記憶部８３、ライフイベント予測部８５、情報抽出部８６、及び、提示制御部８７の１以上は、クライアント６２に設けるのではなく、サーバ６１に設けることができる。
【０６２５】
データ取得部７１は、ライフイベントに関する時系列データを取得し、モデル学習部７２に供給する。データ取得部７１では、ライフイベントに関する時系列データを、例えば、クライアント６２の後述するデータ取得部８１から取得することができる。その他、データ取得部７１では、例えば、図示せぬデータベースや、ユーザが装着しているウエアラブルデバイス、各種の物理量をセンシングするセンサ等から取得することができる。
【０６２６】
ここで、ライフイベントに関する時系列データとは、ライフイベントや、ライフイベントを決定づける要素（ライフイベントに影響する要素）の時系列データである。
【０６２７】
ライフイベントを決定づける要素としては、例えば、ヒトの行動、判断、評価の履歴、関係する外部情報等がある。また、あるライフイベントについては、他のライフイベントが、あるライフイベントを決定づける要素になり得る。
【０６２８】
ライフイベントに関する時系列データの具体例は、ライフイベントを予測するアプリケーションによって異なる。
【０６２９】
例えば、ヒトのライフイベントには、就職がある。就職というライフイベントが生じるまでには、例えば、小学校入学や、中学校入学、高校入学、大学入学等のライフイベントを経由する。
【０６３０】
この小学校入学、中学校入学、高校入学、大学入学、就職という経歴が、ライフイベントに関する時系列データに該当する。
【０６３１】
また、大学等の学校への入学を決定づける要素としては、学業成績や、特殊技能に関する成績（例えば、大会優勝や、入賞等）等があるが、これらの要素も、ライフイベントに関する時系列データに該当する。
【０６３２】
さらに、大学等の学校への入学を決定づける要素としては、日々の行動の時間配分、例えば、ある単位期間あたりに勉強に費やした時間や、スポーツ等の習い事に費やした時間等があり、これらの要素も、ライフイベントに関する時系列データに該当する。なお、ここでいう単位期間は、任意の期間を採用することができ、例えば、１日でも、１ヶ月でも、１年でも良い。
【０６３３】
また、例えば、ヒトのライフイベントには、様々な疾病の罹患や、死がある。疾病の罹患や、死というライフイベントが生じるまでには、様々なライフイベントを経由するが、それらのライフイベントの系列が、ライフイベントに関する時系列データに該当する。
【０６３４】
さらに、疾病の罹患や、死を決定づける要素としては、日々の生活スタイル、例えば、食事、睡眠、働き方、余暇の過ごし方、嗜好性等があり、これらの要素も、ライフイベントに関する時系列データに該当する。
【０６３５】
ライフイベントに関する時系列データは、例えば、疾病の罹患の時系列等の１のモーダルのストリームだけを含むシングルストリームであっても良いし、疾病の罹患の時系列、及び、就職前の経歴の時系列等のような複数のモーダルのストリーム（モーダルデータ）を含むマルチストリームであっても良い。
【０６３６】
データ取得部７１は、以上のようなライフイベントに関する時系列データを取得し、モデル学習部７２に供給する。
【０６３７】
ここで、以下、ライフイベントに関する時系列データを、イベント時系列データともいう。
【０６３８】
モデル学習部７２は、データ取得部７１から供給されるイベント時系列データを用いて、モデル記憶部７３に記憶されたネットワークモデルとしての、例えば、インクリメンタルHMMの学習を行う。
【０６３９】
モデル記憶部７３は、ネットワークモデルとしての、例えば、インクリメンタルHMM（のパラメータ）を記憶する。
【０６４０】
ここで、モデル記憶部７３に記憶されたインクリメンタルHMMは、例えば、図８等で説明したサブセット方式で処理される全体HMMである。
【０６４１】
サブセット取得部７４は、モデル記憶部７３に記憶された全体HMMから、サブセットHMMを切り出すことにより取得し、クライアント６２のサブセット記憶部８３に供給（送信）する。
【０６４２】
ここで、サブセット取得部７４には、切り出し情報が供給される。切り出し情報は、サブセットHMMの切り出しに用いられる情報である。
【０６４３】
例えば、全体HMMから切り出されたサブセットHMMを用いてライフイベントを予測する予測対象（ヒト、ヒトの集合体若しくはヒトの集合体によって形成されるもの、又は、物）が属する母集団の情報や、その予測対象のライフイベントに関する時系列データ等が、切り出し情報といて採用される。
【０６４４】
具体的には、例えば、ライフイベントの予測対象が、クライアント６２のユーザである場合には、クライアント６２のユーザが属する母集団の情報や、そのユーザのライフイベントに関する時系列データが、切り出し情報として採用される。
【０６４５】
クライアント６２のユーザが属する母集団の情報としては、例えば、ユーザの性別や年齢層等の、ユーザが属する様々なカテゴリの情報がある。サブセット取得部７４は、このような母集団の情報を用いて、モデル記憶部７３に記憶された全体HMMから、クライアント６２のユーザの性別や年齢層に一致するユーザのイベント時系列データを学習した状態（そのようなユーザのイベント時系列データが束ねられた状態）を、サブセットHMMとして切り出す。
【０６４６】
また、サブセット取得部７４は、クライアント６２のユーザのライフイベントに関する時系列データを、図１０で説明した切り出し時系列データとして用いて、同じく図１０で説明した非ゼロ状態予測によるサブセットHMMの切り出しを行うことができる。
【０６４７】
モデル更新部７５は、後述するサブセット記憶部８３から供給（送信）されるサブセットHMMを取得し、図８で説明したように、そのサブセットHMMを、モデル記憶部７３に記憶された全体HMMにマージすることで、その全体HMMを更新する。
【０６４８】
データ取得部８１は、クライアント６２のユーザのライフイベントに関する時系列データを取得し、学習時系列データとして、モデル学習部８２に供給する。データ取得部８１では、クライアント６２のユーザのライフイベントに関する時系列データを、例えば、そのユーザからの入力や、ユーザが装着しているウエアラブルデバイス、各種の物理量をセンシングするセンサ等から取得することができる。その他、例えば、ユーザが通う病院のデータベースに登録されているユーザのカルテや、ユーザが通う学校のデータベースに登録されているユーザの成績表等を、クライアント６２のユーザのライフイベントに関する時系列データとして取得することができる。
【０６４９】
なお、データ取得部８１は、必要に応じて、クライアント６２のユーザのライフイベントに関する時系列データを、サーバ６１のデータ取得部７１に供給（送信）することができる。
【０６５０】
モデル学習部８２は、データ取得部８１からの学習時系列データを用いて、サブセット記憶部８３に記憶されたサブセットHMMの更新（学習）を行う。
【０６５１】
サブセット記憶部８３は、サブセット取得部７４からのサブセットHMMを記憶する。また、サブセット記憶部８３は、必要に応じて、モデル学習部８２によって更新されたサブセットHMMを、サーバ６１のモデル更新部７５に供給（送信）する。
【０６５２】
設定部８４は、クライアント６２のユーザの操作等に応じて、各種の情報を設定する。
【０６５３】
すなわち、設定部８４は、例えば、ユーザの操作によって入力された、そのユーザのライフイベントに関する時系列データを、ライフイベントの予測に用いる入力時系列データに設定し、ライフイベント予測部８５に供給する。なお、ユーザは、実際に起こったライフイベントに関する時系列データは勿論、その時系列データの一部を変更した時系列データや、仮想的な未来のライフイベントを含む時系列データ等を入力することができる。
【０６５４】
また、設定部８４は、例えば、ユーザの操作に応じて、ライフイベントの目標を表す目標情報を設定し、ライフイベント予測部８５、及び、情報抽出部８６に供給する。
【０６５５】
さらに、設定部８４は、例えば、ユーザの操作に応じて、予測制御情報を設定し、ライフイベント予測部８５に供給する。
【０６５６】
予測制御情報は、ライフイベント予測部８５でのイベント時系列データ（ライフイベントに関する時系列データ）の予測を制御する情報であり、例えば、サブセットHMMを用いたツリー探索によって求める状態系列の長さ（深さ）や本数の上限値等を含む。
【０６５７】
ライフイベント予測部８５は、図１４の状態推定部５２及び予測時系列生成部５３と同様に、サブセット記憶部８３に記憶されたサブセットHMMを用い、設定部８４からの入力時系列データに対して、その入力時系列データより未来の予測時系列データ（入力時系列データ以降の未来の予測時系列データ）を生成し、情報抽出部８６に供給する。
【０６５８】
すなわち、ライフイベント予測部８５は、設定部８４からの入力時系列データを用い、サブセット記憶部８３に記憶されたサブセットHMMの各状態にいる状態確率を算出する。
【０６５９】
さらに、ライフイベント予測部８５は、状態確率に基づいて、現在状態（入力時系列データの最後のサンプル値に対応する状態）を推定する。
【０６６０】
その後、ライフイベント予測部８５は、サブセット記憶部８３に記憶されたサブセットHMMの現在状態を始点として、状態遷移を順次辿っていき、予測状態系列となる状態系列を生成するツリー探索を行う。
【０６６１】
ツリー探索で生成される予測状態系列の長さや本数は、設定部８４からライフイベント予測部８５に供給される予測制御情報に従って決定される。
【０６６２】
また、設定部８４からライフイベント予測部８５に対して、目標情報が供給される場合には、ツリー探索は、その目標情報に対応する状態に到達するまで行われる。これにより、ライフイベント予測部８５では、現在状態から、目標状態に対応する状態に到達するまでの状態系列が、予測状態系列として生成される。
【０６６３】
ライフイベント予測部８５は、ツリー探索の結果得られる１以上の予測状態系列それぞれに対して、その予測状態系列を構成する各状態において観測される観測値の代表値（例えば、ガウス分布の平均値）をサンプル値とする時系列データを、予測時系列データとして生成する。
【０６６４】
そして、ライフイベント予測部８５は、予測時系列データを、予測状態系列や、その予測状態系列の状態に到達するスコア等とともに、情報抽出部８６に供給する。
【０６６５】
情報抽出部８６は、ライフイベント予測部８５からの予測時系列データや予測状態系列等から、ユーザに将来のライフイベントを提示するのに必要な情報を、提示情報として抽出し、提示制御部８７に供給する。
【０６６６】
例えば、情報抽出部８６は、ライフイベント予測部８５からの予測状態系列の中に、設定部８４からの目標情報に対応する状態に到達する予測状態系列が複数存在する場合には、その複数の予測状態系列について、目標情報に対応する状態に到達するスコアを加算した加算値を、目標到達可能性を表す値として求める。
【０６６７】
また、例えば、情報抽出部８６は、目標情報に対応する状態に到達する複数の予測状態系列の中から、最もスコアが高い予測状態系列を、最も起こりやすい予測状態系列として選択する。
【０６６８】
さらに、例えば、情報抽出部８６は、目標情報に対応する状態に到達する複数の予測状態系列の中から、所定の条件を満たす予測状態系列（例えば、あらかじめ決められた特徴的なライフイベントに対応する状態を含む予測状態系列等）を、特徴的な予測状態系列として選択する。
【０６６９】
また、例えば、情報抽出部８６は、ライフイベント予測部８５からの予測状態系列の分岐に対して、その分岐先の状態への状態遷移が生じる条件、すなわち、図１９で説明した生起条件を、サブセット記憶部８３を参照することで生成する。
【０６７０】
さらに、例えば、情報抽出部８６は、ライフイベント予測部８５からの予測時系列データから、予測状態系列の必要な状態について、その状態に対応するライフイベントを認識し、そのライフイベントを表すシンボル（例えば、アイコン等）を生成する。
【０６７１】
また、例えば、情報抽出部８６は、目標情報に対応する状態に到達する予測状態系列について、その目標情報に対応する状態に到達するまでの所要時間を予測することができる場合には、その所要時間を予測する。
【０６７２】
情報抽出部８６は、以上のような目標到達可能性を表す値や、最も起こりやすい予測状態系列、特徴的な予測状態系列、予測状態系列の状態に対応するライフイベントを表すシンボル、目標情報に対応する状態に到達するまでの所要時間等を、必要に応じて、提示情報として抽出し、提示制御部８７に供給する。
【０６７３】
提示制御部８７は、情報抽出部８６からの提示情報に応じて、提示部８８を制御することにより、将来のライフイベント等を、クライアント６２のユーザに提示させる。
【０６７４】
提示部８８は、提示制御部８７の制御に従い、将来のライフイベント等を提示する。
【０６７５】
提示部８８でのライフイベントの提示は、画像（テキストを含む）や音声によって行うことができる。また、ライフイベントの提示は、例えば、クライアント６２が内蔵する図示せぬデバイスや、クライアント６２とは別の外部デバイスの所定の機能の作動として行うことができる。
【０６７６】
以下では、提示部８８としては、画像を表示する表示装置を採用し、提示部８８でのライフイベントの提示としては、図１７に示した表示や、図１８及び図１９で説明したスコア／時刻順表示が行われることとする。
【０６７７】
＜提示部８８の表示例＞
【０６７８】
図２３は、提示部８８に表示されるユーザインターフェースの表示例を示す図である。
【０６７９】
図２３において、提示部８８に表示されるユーザインターフェースは、プロフィール情報設定UI(User Interface)１０１、母集団設定UI１０２、目標設定UI１０３、予測実行リクエストUI１０４、ライフイベント／スコア提示UI１０５、及び、ライフイベント／プロセス提示UI１０６を有する。
【０６８０】
なお、提示部８８は、タッチパネルで構成することができる。プロフィール情報設定UI１０１ないしライフイベント／プロセス提示UI１０６は、ユーザによるタッチや、ユーザによるマウス等のポインティングデバイスによって操作することができる。
【０６８１】
プロフィール情報設定UI１０１は、ライフイベントを予測する予測対象（ヒト、ヒトの集合体若しくはヒトの集合体によって形成されるもの、又は、物）のプロフィールを設定するときに、ユーザによって操作される。
【０６８２】
例えば、予測対象が、ヒトとしての、クライアント６２のユーザ等である場合には、そのユーザの性別や、生年月日、出身地、住所、所属グループ、趣味、嗜好等の個人情報を、予測対象のプロフィールとして設定することができる。
【０６８３】
また、例えば、予測対象がヒトのグループ（集合体）である場合には、そのグループの結成日や、目的、構成人員の情報等を、予測対象のプロフィールとして設定することができる。
【０６８４】
さらに、例えば、予測対象が物である場合には、その物の作成（生産）日や作成方法等を、予測対象のプロフィールとして設定することができる。
【０６８５】
ここで、プロフィール情報設定UI１０１は、予測対象のプロフィールを設定した後は、提示部８８に、常時表示する必要はない。すなわち、予測対象のプロフィールを設定した後は、プロフィール情報設定UI１０１は、提示部８８に表示しないようにすることができる。但し、提示部８８を表示しない場合には、ユーザが、予測対象のプロフィールを更新したい場合や、修正（変更）したい場合等に備えて、ユーザによる所定操作等の所定のイベントに応じて、プロフィール情報設定UI１０１を、提示部８８に表示させることとする。
【０６８６】
また、プロフィール情報設定部UI１０１によって設定された予測対象のプロフィールの一部、又は、全部は、必要に応じて、ライフイベント／プロセス提示UI１０６で表示することができる。
【０６８７】
母集団設定UI１０２は、サーバ６１（図２２）のサブセット取得部７４に切り出し情報として与えられる母集団の情報を設定するときに、ユーザによって操作される。
【０６８８】
なお、サーバ６１（図２２）のサブセット取得部７４に切り出し情報として与えられる母集団の情報については、サーバ６１が、デフォルトの情報を設定することができる。
【０６８９】
すなわち、サーバ６１では、ユーザが、プロフィール情報設定UI１０１を操作することにより設定したプロフィールの必要なカテゴリ（年齢層や性別等）の情報等から、そのユーザに対して、母集団の情報としてのデフォルトの情報を設定することができる。
【０６９０】
母集団設定UI１０２は、ユーザが、デフォルトの情報でない母集団の情報の設定したいときに操作される。
【０６９１】
母集団の情報には、ライフステージ等の時間で区切られる情報と、そのような情報以外の、いわば静的に区切られる情報とがある。
【０６９２】
例えば、予測対象がヒトである場合には、母集団の情報としては、ヒトの年齢層や、所属状態（職業、学歴等）、嗜好性（辛いもの好き等）、趣味（スポーツ、音楽）等がある。例えば、年齢層や所属状態は、時間で区切られる母集団の情報に該当し、嗜好性や趣味は、静的に区切られる母集団の情報に該当する。
【０６９３】
なお、時間で区切られる母集団の情報の時系列には、自然に終端が現れるが、静的に区切られる母集団の情報の時系列には、終端が現れないことが起こりうる。また、サーバ６１（図２２）のサブセット取得部７４において、母集団の情報を切り出し情報として用いて、サブセットHMMの切り出しの処理を行う場合には、その切り出し情報としての母集団の情報が、時間で区切られる母集団の情報であるときと、静的に区切られる母集団の情報であるときとで、サブセットHMMの切り出しの処理が変わることがある。
【０６９４】
目標設定UI１０３は、目標情報を設定するときに、ユーザによって操作される。デフォルトでは、目標情報が設定されていない状態になっている。
【０６９５】
目標情報が設定されていない場合には、クライアント６２（図２２）のライフイベント予測部８５では、予測状態系列の最後の状態を、特定の状態に制限せずに、予測状態系列のツリー探索が行われる。
【０６９６】
一方、目標状態が設定されている場合には、クライアント６２（図２２）のライフイベント予測部８５では、予測状態系列の最後の状態を、目標情報に対応する状態に制限して、予測状態系列のツリー探索が行われる。
【０６９７】
予測実行リクエストUI１０４は、将来のライフイベントの予測を指示するときに、ユーザによって操作される。
【０６９８】
ライフイベント／スコア提示UI１０５は、例えば、スコア／時刻順表示（図１８、図１９）等において、スコアの表示を、オン又はオフするときに、ユーザによって操作される。また、ライフイベント／スコア提示UI１０５は、スコアの再計算（計算のし直し）を要求するとき等に、ユーザによって操作される。
【０６９９】
ライフイベント／プロセス提示UI１０６には、将来のライフイベントの予測の予測結果が、スコア／時刻順表示（図１８、図１９）や図１７に示した表示の形式で表示される。
【０７００】
図２４は、図２３の母集団設定UI１０２の詳細例を示す図である。
【０７０１】
母集団設定UI１０２は、図２４に示すように、プルダウンメニューで構成することができる。母集団設定UI１０２としてのプルダウンメニューでは、母集団となるカテゴリの選択肢を表示することができる。
【０７０２】
この場合、ユーザが、母集団設定UI１０２としてのプルダウンメニューから、選択肢を選択することで、その選択肢が、母集団の情報として設定される。
【０７０３】
なお、母集団設定UI１０２としては、ユーザが、母集団の情報を、プルダウンメニューの選択肢から選択するUIではなく、任意の情報（カテゴリ）を入力することができるUIを採用することができる。
【０７０４】
図２５は、図２３の目標設定UI１０３の詳細例を示す図である。
【０７０５】
目標設定UI１０３は、図２５に示すように、プルダウンメニューで構成することができる。目標設定UI１０３としてのプルダウンメニューでは、目標となるライフイベントの選択肢を表示することができる。
【０７０６】
この場合、ユーザが、目標設定UI１０３としてのプルダウンメニューから、選択肢を選択することで、その選択肢が、目標情報として設定される。
【０７０７】
なお、目標設定UI１０３としては、ユーザが、目標情報を、プルダウンメニューの選択肢から選択するUIではなく、任意の情報（ライフイベント）を入力することができるUIを採用することができる。
【０７０８】
＜ネットワークモデルの学習＞
【０７０９】
図２６は、図２１のライフイベントサービスシステムが行うネットワークモデルの学習の処理の例を説明するフローチャートである。
【０７１０】
ここで、図２１のライフイベントサービスシステムが行うネットワークモデルの学習の処理としては、モデル記憶部７３（図２２）に記憶された全体HMMの学習を、サブセットHMMを用いずに行う第１の学習処理と、全体HMMの更新を、サブセットHMMのマージによって行う第２の学習処理とがある。
【０７１１】
第１の学習処理は、例えば、サーバ６１のオペレータの操作に応じて開始することができる。
【０７１２】
第１の学習処理では、ステップＳ１０１において、サーバ６１（図２２）のデータ取得部７１が、ライフイベントに関する時系列データを取得し、モデル学習部７２に供給して、処理は、ステップＳ１０２に進む。
【０７１３】
ステップＳ１０２では、モデル学習部７２が、データ取得部７１からの時系列データを用いて、モデル記憶部７３に記憶された全体HMMの学習を行い、第１の学習処理は終了する。
【０７１４】
第２の学習処理は、あらかじめ決められたタイミングで開始することや、ユーザの操作に応じて開始することができる。
【０７１５】
第２の学習処理では、ステップＳ１１１において、クライアント６２（図２２）のデータ取得部８１は、例えば、クライアント６２のユーザのライフイベントに関する時系列データを、学習時系列データとして取得する。そして、データ取得部８１は、学習時系列データを、モデル学習部８２に供給して、処理は、ステップＳ１１１からステップＳ１１２に進む。
【０７１６】
ステップＳ１１２では、クライアント６２は、サーバ６１に対して、サブセットHMMをリクエストして取得する。
【０７１７】
すなわち、クライアント６２は、例えば、ステップＳ１１１でデータ取得部８１が取得した学習時系列データを、切り出し情報として、サーバ６１に送信し、サブセットHMMをリクエストする。
【０７１８】
サーバ６１（図２２）のサブセット取得部７４は、例えば、クライアント６２からの切り出し情報としての学習時系列データを、図１０で説明した切り出し時系列データとして用いて、同じく図１０で説明した非ゼロ状態予測によるサブセットHMMの切り出しを行い、そのサブセットHMMを、クライアント６２に送信する。
【０７１９】
クライアント６２では、サブセット記憶部８３が、サーバ６１のサブセット取得部７４からのサブセットHMMを受信して記憶する。
【０７２０】
なお、ここでは、クライアント６２は、学習時系列データを切り出し情報として、サーバ６１に送信することとしたが、切り出し情報としては、その他、モデル記憶部７３に記憶された全体HMMの学習に用いられた時系列データの観測空間内の所定の範囲や、モデル記憶部７３に記憶された全体HMMの状態空間内の所定の範囲を指定する範囲情報を採用することができる。
【０７２１】
切り出し情報として範囲情報が採用される場合には、その範囲情報によって指定される観測空間の範囲の観測値が観測されやすい状態や、範囲情報が指定する状態空間の範囲の状態で構成されるサブセットHMMが切り出される。
【０７２２】
また、サブセット取得部７４では、図１２で説明したように、切り出し情報から得られる状態の他、さらに、切り出し情報から得られる状態から遷移可能な状態を含むサブセットHMMを切り出すことができる。
【０７２３】
サブセット記憶部８３が、サブセットHMMを記憶すると、処理は、ステップＳ１１２からステップＳ１１３に進み、モデル学習部８２は、データ取得部８１からの学習時系列データを用いて、サブセット記憶部８３に記憶されたサブセットHMMの更新（学習）を行う。
【０７２４】
サブセットHMMの更新は、図７で説明したように行われる。
【０７２５】
すなわち、サブセットHMMの更新では、学習時系列データXについて、式（２０）の尤度p(xt|X,θ)が求められる。そして、尤度p(xt|X,θ)の閾値処理が行われることで、学習時系列データの区間について、既知未知判定が行われる。
【０７２６】
既知未知判定の結果得られる、学習時系列データの既知区間については、例えば、ビタビアルゴリズム等に従って、最尤状態系列が求められ、その最尤状態系列を構成する状態が、既知区間に適合する状態として検出される。
【０７２７】
既知区間に適合する状態のパラメータ（初期確率π、遷移確率a、及び、観測モデルφ）は、学習時系列データの既知区間のサンプル値を用い、式（２５）ないし式（２９）に従って更新される。
【０７２８】
また、頻度の情報としての式（３０）ないし式（３２）の変数Ni(π)，Nij(a)、及び、Ni(φ)も更新されて保持される。
【０７２９】
既知未知判定の結果得られる、学習時系列データの未知区間については、サブセットHMMとは別のHMMが用意され、その別のHMMの学習が、学習時系列データの未知区間のサンプル値を用いて、Baum-Welchアルゴリズムに従って行われる。
【０７３０】
そして、学習後の別のHMMについて、例えば、未知区間に対する最尤状態系列を構成する状態が、サブセットHMMに追加する新たな状態として選択され、サブセットHMMに追加される。サブセットHMMに追加された新たな状態のパラメータ（初期確率π、遷移確率a、及び、観測モデルφ）は、学習時系列データの未知区間のサンプル値を用い、式（２５）ないし式（２９）に従って更新される。
【０７３１】
なお、サブセットHMMの更新は、新たな状態を、サブセットHMMに追加した後に、学習時系列データ全体を用いて行うことができる。
【０７３２】
サブセットHMMに追加された新たな状態については、その後のサブセットHMMの更新のために、頻度の情報としての式（３０）ないし式（３２）の変数Ni(π)，Nij(a)、及び、Ni(φ)が保持される。なお、新たな状態については、変数Ni(π)は、学習時系列データから得られる事後確率にγ0(i)に等しく、変数Nij(a)は、学習時系列データから得られる事後確率ξt(i,j)の、t=1,2,...,T-1についての和Σξt(i,j)に等しく、変数Ni(φ)は、学習時系列データから得られる事後確率γt(i)の、t=1,2,...,Tについての和Σγt(i)に等しい。
【０７３３】
サブセットHMMの更新が終了すると、処理は、ステップＳ１１３からステップＳ１１４に進み、サブセット記憶部８３は、ステップＳ１１３で更新されたサブセットHMM（のパラメータ）を、頻度の情報とともに、サーバ６１のモデル更新部７５に送信する。
【０７３４】
さらに、ステップＳ１１４では、サブセット記憶部８３は、モデル更新部７５に全体HMMの更新をリクエストし、処理は、ステップＳ１１５に進む。
【０７３５】
ステップＳ１１５では、モデル更新部７５は、全体HMMの更新のリクエストに応じて、サブセット記憶部８３からの頻度の情報を用いて、同じくサブセット記憶部８３からのサブセットHMMを、モデル記憶部７３に記憶された全体HMMにマージすることで、その全体HMMを、図８で説明したように更新し、第２の学習処理は終了する。その後、サーバ６１及びクライアント６２は、他の処理が可能な状態になる。
【０７３６】
第２の学習処理では、クライアント６２からサーバ６１に対して、学習時系列データとしての、クライアント６２のユーザのライフイベントに関する時系列データそのものではなく、学習時系列データが匿名化された、学習時系列データの統計的な情報、すなわち、サブセットHMMや頻度の情報が送信され、そのサブセットHMMや頻度の情報を用いて、全体HMMが更新される。
【０７３７】
したがって、クライアント６２からサーバ６１に対して、ユーザのライフイベントに関する時系列データそのものが送信されないので、ユーザのライフイベントに関する時系列データ、すなわち、ユーザの個人情報の漏洩を防止し、プライバシーを保護することができる。
【０７３８】
＜ライフイベントの予測＞
【０７３９】
図２７は、図２１のライフイベントサービスシステムが行うライフイベントの予測の処理の例を説明するフローチャートである。
【０７４０】
例えば、ライフイベントサービスシステム（図２１）のサーバ６１及びクライアント６２は、予測実行リクエストUI１０４（図２３）が操作されると、ライフイベントの予測の処理を開始する。
【０７４１】
なお、ライフイベントの予測の処理は、その他、例えば、所定のアプリケーションにリンクされたアイコンが操作された場合や、ユーザから所定のコマンドが入力された場合等に開始することができる。
【０７４２】
さらに、ライフイベントの予測の処理は、所定のイベントが生じた場合に開始することができる。所定のイベントとしては、例えば、データ取得部８１で取得される時系列データや、プロフィール情報設定UI１０１を操作することで設定されるプロフィールに、あらかじめ決められた変化が生じたこと等を採用することができる。
【０７４３】
ライフイベントの予測の処理では、ステップＳ１２１において、サーバ６１（図２２）のサブセット取得部７４が、全体HMMからサブセットHMMを構成する状態として切り出す状態の範囲を表す母集団を決定し、処理は,ステップＳ１２２に進む。
【０７４４】
すなわち、クライアント６２において、母集団設定UI１０２（図２３）の操作がされず、母集団の情報が設定されていない場合には、サブセット取得部７４は、母集団のデフォルトの情報に従って、母集団を決定する。
【０７４５】
また、クライアント６２において、母集団設定UI１０２が操作され、母集団の情報が設定されている場合には、サブセット取得部７４は、母集団設定UI１０２の操作に応じて設定された母集団の情報に従って、母集団を決定する。
【０７４６】
ステップＳ１２２では、ライフイベント予測部８５及び情報抽出部８６が、設定部８４から供給される目標情報に応じて、その目標状態に対応する状態を目標状態に決定して、処理は、ステップＳ１２３に進む。なお、設定部８４において、目標情報が設定されていない場合、ステップＳ１２２では、目標状態は決定されない。
【０７４７】
ステップＳ１２３では、サブセット記憶部８３が、サブセットHMMのリクエストを、サブセット取得部７４に供給する。サブセット取得部７４は、サブセット記憶部８３からのサブセットHMMのリクエストに応じて、サブセットHMMを取得し、サブセット記憶部８３に供給する。サブセット記憶部８３は、サブセット取得部７４からのサブセットHMMを取得して記憶し、処理は、ステップＳ１２３からステップＳ１２４に進む。
【０７４８】
ここで、サブセット取得部７４は、モデル記憶部７３に記憶された全体HMMとしてのインクリメンタルHMMの状態のうちの、ステップＳ１２１で決定した母集団に属する状態を、サブセットHMMの状態となる状態として切り出し、又は、母集団に属する状態の中から、サブセットHMMの状態となる状態を切り出し、その状態から構成されるサブセットHMMを生成する。
【０７４９】
全体HMMの状態のうちの母集団に属する状態の中からの、サブセットHMMの状態となる状態の切り出しは、例えば、図１０で説明した、クライアント６２のユーザのライフイベントに関する時系列データを切り出し時系列データとして用いた非ゼロ状態予測により行うことができる。
【０７５０】
なお、サーバ６１では、サブセットHMMを、あらかじめユーザごとに用意にしておき、クライアント６２からサーバ６１に、サブセットHMMのリクエストが送信されてきたときには、そのリクエストを送信してきたクライアント６２のユーザ用のサブセットHMMを、サーバ６１からクライアント６２に送信することができる。
【０７５１】
ユーザごとのサブセットHMMは、例えば、一日の中で、あらかじめ決められたタイミングに生成することができる。さらに、ユーザごとのサブセットHMMの生成は、例えば、ユーザのクライアント６２からのサブセットHMMのリクエストが送信されてくるタイミングを予測し、そのタイミングになる直前等に行うことができる。ユーザのクライアント６２からのサブセットHMMのリクエストが送信されてくるタイミングの予測は、過去に行われたサブセットHMMのリクエストの履歴等に基づいて行うことができる。例えば、サブセットHMMのリクエストのタイミングについて、そのリクエストがあった曜日や時間帯ごとのヒストグラムを生成し、リクエストの頻度が閾値を超える曜日や時間帯の直前等に、サブセットHMMを生成することができる。
【０７５２】
ステップＳ１２４では、設定部８４が、ライフイベントの予測に用いる入力時系列データに設定し、ライフイベント予測部８５に供給して、処理は、ステップＳ１２５に進む。
【０７５３】
例えば、設定部８４は、ユーザの操作によって入力された、そのユーザのライフイベントに関する時系列データを、ライフイベントの予測に用いる入力時系列データに設定することができる。
【０７５４】
また、例えば、設定部８４は、データ取得部８１が取得したクライアント６２のユーザのライフイベントに関する時系列データの中から選択された１の時系列データを、入力時系列データに設定することができる。入力時系列データに設定する１の時系列データの選択は、例えば、ユーザの操作に応じて行うことができる。
【０７５５】
ステップＳ１２５では、ライフイベント予測部８５は、サブセット記憶部８３に記憶されたサブセットHMMを用い、設定部８４からの入力時系列データに対して、その入力時系列データより未来の予測時系列データを生成する。
【０７５６】
すなわち、ライフイベント予測部８５は、設定部８４からの入力時系列データを用い、サブセット記憶部８３に記憶されたサブセットHMMの状態の中から、現在状態（入力時系列データの最後のサンプルに対応する状態）を推定する。
【０７５７】
さらに、ライフイベント予測部８５は、サブセット記憶部８３に記憶されたサブセットHMMの現在状態を始点として、遷移確率が大きい順に状態遷移を辿っていって状態を探索し、予測状態系列となる状態系列を生成するツリー探索を、例えば、深さ優先探索で行う。
【０７５８】
ツリー探索で生成される予測状態系列の長さや本数は、設定部８４からライフイベント予測部８５に供給される予測制御情報に従って決定される。
【０７５９】
なお、１の予測状態系列については、予測制御情報に従って決定された長さ（深さ）に到達しない場合であっても、状態遷移がループを構成する状態群のうちのいずれかの状態に到達した場合には、状態の探索を終了する。
【０７６０】
また、ステップＳ１２２で目標状態が決定されている場合には、ツリー探索は、その目標情状態に到達するまで行われる。これにより、ライフイベント予測部８５では、現在状態から、目標状態に対応する目標状態に到達するまでの状態系列が、予測状態系列として生成される。
【０７６１】
ライフイベント予測部８５は、ツリー探索の結果得られる１以上の予測状態系列それぞれに対して、その予測状態系列を構成する各状態において観測される観測値の代表値（例えば、ガウス分布の平均値）をサンプル値とする時系列データを、予測時系列データとして生成する。
【０７６２】
そして、ライフイベント予測部８５は、予測時系列データを、予測状態系列や、その予測状態系列の状態に到達するスコア等とともに、情報抽出部８６に供給し、処理は、ステップＳ１２５から、ステップＳ１２６に進む。
【０７６３】
ステップＳ１２６では、情報抽出部８６は、ライフイベント予測部８５からの予測時系列データや予測状態系列等から、ユーザに将来のライフイベントを提示するのに必要な情報を、提示情報として抽出して、提示制御部８７に供給し、処理は、ステップＳ１２７に進む。
【０７６４】
例えば、情報抽出部８６は、ライフイベント予測部８５からの予測状態系列の中に、目標状態に到達する予測状態系列が複数存在する場合には、その複数の予測状態系列について、目標状態に到達するスコアを加算した加算値を、目標到達可能性を表す値として求める。
【０７６５】
また、例えば、情報抽出部８６は、目標状態に到達する複数の予測状態系列の中から、最もスコアが高い予測状態系列を、最も起こりやすい予測状態系列として選択する。
【０７６６】
さらに、例えば、情報抽出部８６は、ライフイベント予測部８５からの予測状態系列の分岐に対して、その分岐先の状態への状態遷移が生じる条件、すなわち、図１９で説明した生起条件を、サブセット記憶部８３を参照することで生成する。
【０７６７】
さらに、例えば、情報抽出部８６は、ライフイベント予測部８５からの予測時系列データから、予測状態系列の必要な状態について、その状態に対応するライフイベントを認識し、そのライフイベントを表すシンボル（例えば、アイコン等）を生成する。
【０７６８】
情報抽出部８６は、以上のような目標到達可能性を表す値や、最も起こりやすい予測状態系列、予測状態系列の状態に対応するライフイベントを表すシンボル等を、必要に応じて、提示情報として抽出し、提示制御部８７に供給する。
【０７６９】
ステップＳ１２７では、提示制御部８７は、情報抽出部８６からの提示情報に応じて、例えば、図１７の表示や、図１８や図１９のスコア／時刻順表示を行う画面（以下、ライフイベント画面ともいう）を生成し、提示部８８に表示させて、ライフイベントの予測の処理は終了する。
【０７７０】
なお、ステップＳ１２５での予測時系列データ及び予測状態系列の生成と、ステップＳ１２６及びステップＳ１２７での予測時系列データ等からの提示情報の抽出、その提示情報からのライフイベント画面の生成、及び、そのライフイベント画面の表示とは、１回だけ行うこともできるし、繰り返し行うこともできる。
【０７７１】
例えば、将来のライフイベントの全体像を把握することができるようなライフイベント画面や、目標到達可能性を表す値を表示するライフイベント画面を生成する場合には、ステップＳ１２５において、必要な予測時系列データ及び予測状態系列のすべてを生成し、ステップＳ１２６及びＳ１２７において、その予測時系列データ及び予測状態系列から、提示情報を抽出し、その提示情報からライフイベント画面を生成して表示する。
【０７７２】
一方、例えば、あるライフイベントに注目し、その注目している注目イベントに至るまでのプロセス（注目イベントに至るまでに生じるライフイベント）と、注目イベントに至ったあとのプロセス（注目イベントに至った後に生じるライフイベント）とを表示するライフイベント画面を生成する場合には、ステップＳ１２５において、注目イベントに至るまでのプロセスと至った後のプロセスとを得るのに必要な予測時系列データ及び予測状態系列のすべてを生成し、ステップＳ１２６及びＳ１２７において、その予測時系列データ及び予測状態系列から、提示情報を抽出し、その提示情報からライフイベント画面を生成して表示する。
【０７７３】
そして、注目イベントが、例えば、ユーザの操作等に応じて変更された場合には、再び、ステップＳ１２５に戻り、変更後の注目イベントに至るまでのプロセスと至った後のプロセスとを得るのに必要な予測時系列データ及び予測状態系列のすべてを生成し、ステップＳ１２６及びＳ１２７において、その予測時系列データ及び予測状態系列から、提示情報を抽出し、その提示情報からライフイベント画面を生成して表示することを繰り返す。
【０７７４】
＜ヒトのライフイベントを予測するアプリケーションの具体例＞
【０７７５】
図２８は、ヒトのライフイベントのネットワーク構造の例を模式的に示す図である。
【０７７６】
すなわち、図２８は、ヒトのライフイベントに関する時系列データを用いて学習が行われたネットワークモデルとしての全体HMMの例を模式的に示している。
【０７７７】
ここで、図２１のライフイベントサービスシステムは、様々な対象のライフイベントを予測するアプリケーションに適用することができる。
【０７７８】
ライフイベントを予測する予測対象としては、上述したように、ヒトや、ヒトの集合体ヒトの集合体によって形成されるもの、物がある。
【０７７９】
ヒトの集合体若しくはヒトの集合体によって形成されるものの具体例としては、例えば、グループ、企業、国家、文化、宗教、ブーム等がある。
【０７８０】
物の具体例としては、例えば、車、楽器、建造物、住居、ビル、道路、橋梁、植物、ペット等がある。
【０７８１】
ヒトのライフイベントとしては、例えば、誕生、入学、卒業、就職、出会い、離別、結婚、離婚、出産、購買、疾病罹患、出世、表彰、失脚、転職、リタイア、死等がある。これらのヒトのライフイベントを決定づける要素としては、例えば、生活スタイル（例えば、勤務、勉強、運動、移動、娯楽、家族サービスの配分時間と程度（ヘビーかライトか、その中間も含む）等）、食事スタイル（例えば、食事時間、食事回数（一日当たりの食事回数、週当たりの外食回数）、摂取量（総カロリー、塩分、糖分）等）、活動の成果（例えば、成績、収入、支出、役職、社会的な信頼、成果物の量と評価等）、外部要因（例えば、他者とのコミュニケーション、他者からの評価等）等がある。
【０７８２】
ヒトの集合体若しくはヒトの集合体によって形成されるものののライフイベントとしては、例えば、設立、規模拡大、規模縮小、人員拡大、人員縮小、合併、分裂、解散等がある。これらのヒトの集合体若しくはヒトの集合体によって形成されるもののライフイベントを決定づける要素としては、例えば、活動状況（例えば、活動時間、活動程度等）、活動の成果（例えば、成績、収入、支出、社会的な信頼、成果物の量と評価等）、外部要因（例えば、外部からの利用量、利用程度等）等がある。
【０７８３】
物のライフイベントとしては、例えば、購買、消費、転売、破損、メンテナンス、破棄、処分等がある。これらの物のライフイベントを決定づける要素としては、例えば、使用、メンテナンスの時間と程度、需要、供給価格等がある。
【０７８４】
図２８において、ライフイベントLI1は、ヒトの誕生を表しており、ライフイベントLI2は、ヒトの死を表している。ヒトの一生は、誕生を表すライフイベントLI1から出発し、様々な状態遷移を経由して、最終的には、死を表すライフイベントLI2に到達する。
【０７８５】
図２８では、遷移確率に基づき、あるライフイベントから次のライフイベントが生じる可能性を表すスコアが、状態遷移を表す矢印に付されている。
【０７８６】
図２１のライフイベントサービスシステムによれば、様々なヒトのライフイベントや、ライフイベントを決定づける要素としての行動、評価、判断履歴等の多数の時系列データを、ネットワークモデルとしての、例えば、HMMによってモデル化することができる。
【０７８７】
さらに、図２１のライフイベントサービスシステムによれば、図２８に示すように、多数の時系列データをモデル化したHMMによって、ヒトのライフイベントを、ネットワーク構造で表示することができる。
【０７８８】
また、図２１のライフイベントサービスシステムによれば、図２８に示すように、遷移確率に基づき、あるライフイベントから次のライフイベントが生じるスコアを表示することができる。
【０７８９】
その他、図２１のライフイベントサービスシステムでは、図示していないが、HMMによってモデル化された時系列データの分布の様子を表示することができる。
【０７９０】
ここで、ライフイベントに関する多数の時系列データのモデル化は、その多数の時系列データにおいて類似する区間を次々と束ねながら接続することで行うことができる。多数の時系列データのモデル化に際しては、束ねた時系列データの頻度の情報、束ねた区間の観測値（時系列データのサンプル値）の分布の情報、束ねた区間から他の束ねた区間への遷移の情報が記憶される。
【０７９１】
多数の時系列データのモデル化は、例えば、エルゴディックなHMMを用いて行うことができる。多数の時系列データのモデル化には、特に、HMMのネットワーク構造(状態遷移の構造）を、柔軟に拡張することができるインクリメンタルHMMが有用である。
【０７９２】
多数の時系列データをモデル化したインクリメンタルHMMでは、観測モデルは、その多数の時系列データが表すライフイベントや、ライフイベントを決定づける行動、評価、判断等の観測値を生成するモデルになる。
【０７９３】
例えば、ライフイベントには、ユニークなID(Identification)を割り当てておくことで、ライフイベントについては、各IDで表されるライフイベントが観測される観測確率が、多項分布を観測モデルとして用いてモデル化される。この場合、ライフイベントを表すIDが、観測モデルで観測される離散シンボルの観測値となる。
【０７９４】
同様に、ライフイベントを決定づける行動や、評価、判断等の履歴が、別の観測モデルを用いてモデル化される。ライフイベントを決定づける行動や、評価、判断等の要素の中で、連続値で観測される要素は、例えば、ガウス分布を観測モデルとして用いてモデル化され、離散値で観測される要素は、例えば、多項分布を観測モデルとして用いてモデル化される。
【０７９５】
多数の時系列データを、インクリメンタルHMMでモデル化し、すなわち、多数の時系列データを用いてインクリメンタルHMMの学習を行い、そのインクリメンタルHMMにおいて、観測モデルにおいて特徴的なライフイベントが観測される観測確率が大きい状態と、そのような状態どうしを接続する状態遷移とを抽出することにより、多数の時系列データが表すライフイベントの全体像を俯瞰する、図２８に示したようなネットワーク構造を構成することができる。
【０７９６】
なお、図２８のネットワーク構造は、ヒトのライフイベントの全体像を俯瞰するために、多数のライフイベントや状態遷移を省略したネットワーク構造であり、実際に、ヒトのライフイベントに関する多数の時系列データを用いた学習を行ったインクリメンタルHMMによれば、巨大なネットワーク構造が構成される。
【０７９７】
そこで、図２１のライフイベントサービスシステムでは、そのような巨大なネットワーク構造のうちの必要な箇所だけを切り出して表示することができる。
【０７９８】
すなわち、全体HMMから、その一部のサブセットHMMを切り出し、そのサブセットHMMを用いて、将来のライフイベントの予測を行うことができる。
【０７９９】
サブセットHMMの切り出しでは、例えば、観測値の値や値の範囲を指定することにより、その値の観測値や、その値の範囲の観測値が観測され得る状態を、サブセットHMMとなる状態として切り出すことができる。また、サブセットHMMの切り出しでは、例えば、状態そのものを指定することにより、その状態を、サブセットHMMとなる状態として切り出すことができる。
【０８００】
例えば、全体HMMの状態が、ヒトの年齢が観測値として観測される観測モデルとしてのガウス分布を有する場合において、そのヒトの年齢として、30以下等が指定されたときには、ガウス分布の平均値が30以下の状態を、サブセットHMMとなる状態として切り出すことができる。
【０８０１】
さらに、サブセットHMMとなる状態としては、例えば、ライフイベントを予測するユーザ（ヒト）とプロフィールが適合する状態、すなわち、ライフイベントを予測するユーザのプロフィールと似ているプロフィールのユーザのライフイベントに関する時系列データを学習した状態を切り出すことができる。
【０８０２】
例えば、ユーザと性別が一致する状態や、ユーザと家族構成や、居住地域、労働形態、住まいの特徴等が似ている状態等を、サブセットHMMとなる状態として切り出すことができる。
【０８０３】
ユーザのプロフィールが時系列データで与えられる場合には、例えば、その時系列データ（のサンプル値）が観測され得る状態を検出することにより、ユーザとプロフィールが適合する状態を絞り込むことができる。
【０８０４】
また、HMMの学習を、例えば、性別等のプロフィール別に行っておけば、ユーザとプロフィールが適合するHMMを選択することにより、ユーザとプロフィールが適合する状態を絞り込むことができる。
【０８０５】
＜学歴職業選択予測システムの構成例＞
【０８０６】
図２９は、図２１のライフイベントサービスシステムを適用した学歴職業選択予測システムの構成例を示すブロック図である。
【０８０７】
図２９の学歴職業選択予測システムは、ヒトの遠い未来を予測して提示するアプリケーションの１つの例であり、例えば、年齢を30以下に絞って、職業選択（就職）を予測する。
【０８０８】
例えば、図２９の学歴職業選択予測システムにおいて、小学生のライフイベントに関する時系列データの入力に対して、その小学生の未来の職業選択について予測を行う場合には、小学生から職業選択までに至る期間において、未来の職業選択を決めるのに影響する時系列データを収集する必要がある。
【０８０９】
小学生から職業選択までに至る期間において、未来の職業選択を決めるのに影響する時系列データとしては、例えば、学業成績（例えば、教育機関から入手することができる、自己申告、親からの申告でも入手することができる）、塾等の課外学業成績（塾等の期間から入手することができる、自己申告、親からも可能）、クラブ活動（教育機関等から入手することができる）、稽古事、スポーツ（指導者等から入手する）、親の関与度合い（SNS等にアップロードされた日記等の情報から入手する）、生活スタイル（いつ起床し、何時に食事をして、何時に睡眠をとったか等を、センサ等を使って入手する）、子供同士の関係（良好な関係、恋愛等の情報がわかればさらによい）、住んでいる場所、活動範囲等がある。
【０８１０】
なお、小学生から職業選択までに至る期間において、未来の職業選択を決めるのに影響する時系列データとしては、上述のような時系列データがすべて必須であるわけではない。また、小学生から職業選択までに至る期間において、未来の職業選択を決めるのに影響する時系列データは、上述のような時系列データだけに限定されるものではない。
【０８１１】
未来の職業選択について予測を行う場合には、入学（卒業）した学校や、就いた職業のデータ等をモーダルデータとして含む時系列データを収集する必要がある。
【０８１２】
学校のデータとしては、例えば、入学した小学校や、中学校、大学の学校名や学部等がある。職業のデータとしては、例えば、就職先の会社名や、業種、職種等がある。
【０８１３】
図２９において、学歴職業選択予測システムは、情報一元管理サーバ１２１、モデル管理サーバ１２２、及び、表示端末１２３を有する。
【０８１４】
情報一元管理サーバ１２１、及び、モデル管理サーバ１２２は、図２１のライフイベントサービスシステムのサーバ６１に相当し、そのサーバ６１の機能を分担する。
【０８１５】
表示端末１２３は、図２１のライフイベントサービスシステムのクライアント６２に相当する。
【０８１６】
情報一元管理サーバ１２１は、上述のような、未来の職業選択を決めるのに影響する時系列データ、及び、学校や職業のデータ等を含む時系列データを、未来の職業選択の予測に必要な時系列データとして収集する。
【０８１７】
情報一元管理サーバ１２１において、未来の職業選択の予測に必要な時系列データは、学校や、家庭、通信教育、塾、習い事先等の様々な場所から収集することができる。また、未来の職業選択の予測に必要な時系列データは、ユーザ本人やユーザの家族等から入力してもらうことができる。
【０８１８】
なお、情報一元管理サーバ１２１で収集された時系列データのうちの、ユーザの時系列データについては、例えば、そのユーザ本人又はそのユーザの家族が、表示端末１２３から、情報一元管理サーバ１２１にアクセスすることで見ることができる。
【０８１９】
また、情報一元管理サーバ１２１で収集された時系列データについては、学校、通信教育、塾、習い事先等からは、それぞれが提供した時系列データしか見ることができない。
【０８２０】
モデル管理サーバ１２２は、情報一元管理サーバ１２１で収集された時系列データを必要に応じて用いて学習を行うことで、全体HMMを生成する。さらに、モデル管理サーバ１２２は、全体HMMから、表示端末１２３のユーザに適したサブセットHMMを切り出し、表示端末１２３に送信する。なお、モデル管理サーバ１２２において、サブセットHMMを切り出す全体HMMとしては、学習がされていない状態の全体HMMを採用することができる。
【０８２１】
表示端末１２３では、モデル管理サーバ１２２からのサブセットHMMが、表示端末１２３のユーザのライフイベントに関する時系列データを用いて、例えば、定期的に更新され、更新後のサブセットHMM（及び頻度の情報（例えば、式（３０）ないし式（３２）の変数Ni(π)，Nij(a)、及び、Ni(φ)））が、モデル管理サーバ１２２に送信される。
【０８２２】
したがって、表示端末１２３からモデル管理サーバ１２２には、表示端末１２３のユーザの個人情報としての時系列データが、更新後のサブセットHMMという匿名化された形で送信される。
【０８２３】
モデル管理サーバ１２２は、表示端末１２３からの更新後のサブセットHMMを、全体HMMにマージすることで、その全体HMMを更新する。モデル管理サーバ１２２において、様々なユーザが職業選択を行うまでのライフイベントに関する時系列データを用いて更新されたサブセットHMMが、全体HMMにマージされることで、全体HMMでは、様々なユーザが職業選択を行うまでのライフイベントに関する情報が獲得される。
【０８２４】
表示端末１２３のユーザの未来の職業選択の予測を行う場合には、モデル管理サーバ１２２において、全体HMMから、表示端末１２３のユーザのプロフィールに適合した状態で構成されるサブセットHMMが切り出され、表示端末１２３に供給される。
【０８２５】
例えば、上述したように、年齢を30以下に絞って、職業選択を予測する場合には、年齢が30以下に適合する状態（観測モデルで観測される年齢の観測値が30以下の状態）で構成されるサブセットHMMが、全体HMMから切り出される。
【０８２６】
表示端末１２３は、情報一元管理サーバ１２１等から、表示端末１２３のユーザのいままでのライフイベントに関する時系列データを取得し、その時系列データを、モデル管理サーバ１２２からのサブセットHMMに、入力時系列データとして与えることで、入力時系列データの未来を予測した予測時系列データ、及び、その予測時系列データが観測される予測状態系列を生成する。
【０８２７】
そして、表示端末１２３では、予測時系列データ、及び、予測状態系列に基づいて、未来のライフイベントとしての、表示端末１２３のユーザが就くと予測される職業のネットワーク構造が、図１７に示した表示や、図１８及び図１９に示したスコア／時刻順表示で表示される。
【０８２８】
また、表示端末１２３では、ユーザが、例えば、ピアニスト等の、目標とする職業を入力した場合には、予測時系列データ、及び、予測状態系列に応じて、ユーザが、将来、目標とする職業に就くことができるスコアを求めて表示することができる。
【０８２９】
さらに、表示端末１２３では、ユーザが、将来、目標とする職業に就くライフイベントが生じる生起条件を求め、生起条件付きスコア／時刻順表示（図１９）で表示することができる。
【０８３０】
例えば、表示端末１２３において、その表示端末１２３のユーザとしての小学生について、その小学生の現在までの学業成績、課外学業成績、クラブ活動等の時系列データを、入力時系列データとして、将来のライフイベントを予測した場合には、まず、私立中学校を受験し、そのまま高校に進学し、国公立の大学を受験して、有名企業に就職するという経緯を辿るのが一般的で、そのような経緯を辿る確率はどれくらいであるといった、将来のライフイベントの表示を行うことができる。
【０８３１】
また、例えば、表示端末１２３では、その表示端末１２３のユーザとしての小学生について、その小学生の現在までの稽古事、スポーツ、習い事への両親の関与度合い、生活スタイル等の時系列データを、入力時系列データとして、将来のライフイベントを予測した場合には、まず、市立中学校を受験し、その後、音楽に目覚めて音楽高校に進学して、音楽大学を受験して、ピアノコンクールに入賞してピアニストになるという経緯を辿れば、目標とする職業であるピアニストになることができ、ピアニストになる確率は、どれくらいである、といった、将来のライフイベントの表示を行うことができる。
【０８３２】
なお、ここでは、代表的なライフイベントだけを例示して、将来のライフイベントの予測結果としての、小学生から最終的な職業選択に至るまでの経緯を説明したが、小学生から最終的な職業選択に至るまでには、多数のライフイベント、及び、分岐が存在する。
【０８３３】
そのような多数のライフイベント、及び、分岐を、図１６に示したように表示した場合、すなわち、将来のライフイベントの予測結果としての予測状態系列（ネットワーク系列）のネットワーク構造を、その予測状態系列を構成する各状態に対して、対応するライフイベントを付与して表示した場合には、ユーザがわかりにくい恐れがある。
【０８３４】
一方、将来のライフイベントの予測結果としての多数のライフイベント、及び、分岐については、スコア／時刻順表示（図１８、図１９）を行うことにより、ユーザは、各ライフイベントが生じる可能性、及び、時間の経過を把握し易くなる。したがって、ライフイベントの予測結果を、ユーザに分かりやすく表示することができる。
【０８３５】
なお、スコア／時刻順表示では、図１８で説明したように、将来のライフイベントの予測結果としてのライフイベント（及び生起条件）のネットワーク構造を、１画面内に表示することができない場合には、そのネットワーク構造は、ユーザの操作に応じて、スクロールするように表示される。
【０８３６】
この場合、ユーザは、ライフイベントのネットワーク構造を、必要に応じてスクロールする操作を行いながら、インタラクティブに、最終的な職業選択のライフイベントに至るまでの経路を辿ることができる。ライフイベントのネットワーク構造が大規模であり、そのような大規模なネットワーク構造を表示する画面が、省スペースの表示画面である場合には、ユーザは、必要に応じてスクロールの操作を行うことで、大規模なネットワーク構造の全体を把握することができる。
【０８３７】
また、図１９の生起条件付きスコア／時刻順表示によれば、あるライフイベントから、ある分岐先のライフイベントが生じる生起条件が表示されるので、例えば、その後の成績がどのようになったら所望の分岐先のライフイベントが生じるか、この試験でどのような点数が得られたらどの分岐先のライフイベントが生じるか、どの行動にどれくらい時間を割いたら、所望の分岐先のライフイベントが生じるか等を、ユーザが把握することができる。
【０８３８】
したがって、ユーザは、生起条件付きスコア／時刻順表示を見ることにより、どこでどのような努力するべきかを試行錯誤しながら、目標に到達する確率を高くする行動を探索することができる。
【０８３９】
＜健康予測システムの構成例＞
【０８４０】
図３０は、図２１のライフイベントサービスシステムを適用した健康予測システムの構成例を示すブロック図である。
【０８４１】
図３０の健康予測システムは、ヒトの遠い未来を予測して提示するアプリケーションの１つの例であり、例えば、年齢を30以上に絞って、健康状態を予測する。
【０８４２】
未来の健康状態を予測する場合には、健康状態に影響するライフイベントに関する時系列データを収集する必要がある。
【０８４３】
健康状態に影響するライフイベントに関する時系列データとしては、例えば、生活スタイル（例えば、残業時間、休日出勤、海外出張、日帰り出張（会社データ））、生きがい（例えば、仕事満足度）、娯楽率（例えば、パチンコ等の趣味の有無）、ストレス（例えば、ストレス本体、ストレス耐性、ストレス対処働き甲斐、存在価値、性格（悲観的か））、収入、借金、他者とのかかわり、会話有無、既婚、交友、親しい友人、食生活（例えば、食事種別（高カロリー頻度、塩分、糖分、脂分、外食、夜食）、食事頻度（毎食とっているか、無駄な夜食をとっていないか）、肥満率）等がある。
【０８４４】
さらに、未来の健康状態を予測する場合に有用な時系列データとして、健康状態のクラス（健康、病気種別、死亡）がある。
【０８４５】
図３０において、健康予測システムは、情報一元管理サーバ１２１、モデル管理サーバ１２２、及び、表示端末１２３を有し、図２９の学歴職業選択予測システムと同様に構成される。
【０８４６】
但し、図３０では、情報一元管理サーバ１２１は、上述のような、健康状態に影響するライフイベントに関する時系列データ、及び、健康状態のクラスを表す時系列データを、未来の健康状態の予測に必要な時系列データとして収集する。
【０８４７】
情報一元管理サーバ１２１において、未来の健康状態の予測に必要な時系列データは、勤務先、家庭、趣味の集まり、病院等の様々な場所から収集することができる。また、未来の健康状態の予測に必要な時系列データは、ユーザ本人やユーザの家族等から入力してもらうことができる。
【０８４８】
なお、情報一元管理サーバ１２１で収集された時系列データのうちの、ユーザのライフイベントに関する時系列データについては、例えば、そのユーザ本人又はそのユーザの家族が、表示端末１２３から、情報一元管理サーバ１２１にアクセスすることで見ることができる。
【０８４９】
また、情報一元管理サーバ１２１で収集された時系列データについては、勤務先、家庭、趣味の集まり、病院等からは、それぞれが提供した時系列データしか見ることができない。
【０８５０】
モデル管理サーバ１２２は、情報一元管理サーバ１２１で収集された時系列データを必要に応じて用いて学習を行うことで、全体HMMを生成する。さらに、モデル管理サーバ１２２は、全体HMMから、表示端末１２３のユーザに適したサブセットHMMを切り出し、表示端末１２３に送信する。なお、モデル管理サーバ１２２において、サブセットHMMを切り出す全体HMMとしては、学習がされていない状態の全体HMMを採用することができる。
【０８５１】
表示端末１２３では、モデル管理サーバ１２２からのサブセットHMMが、表示端末１２３のユーザのライフイベントに関する時系列データを用いて、例えば、定期的に更新され、更新後のサブセットHMM（及び頻度の情報（例えば、式（３０）ないし式（３２）の変数Ni(π)，Nij(a)、及び、Ni(φ)））が、モデル管理サーバ１２２に送信される。
【０８５２】
したがって、表示端末１２３からモデル管理サーバ１２２には、表示端末１２３のユーザの個人情報としての時系列データが、更新後のサブセットHMMという匿名化された形で送信される。
【０８５３】
モデル管理サーバ１２２は、表示端末１２３からの更新後のサブセットHMMを、全体HMMにマージすることで、その全体HMMを更新する。モデル管理サーバ１２２において、様々なユーザの健康状態に関係するライフイベントに関する時系列データを用いて更新されたサブセットHMMが、全体HMMにマージされることで、全体HMMでは、様々なユーザの健康状態に関係するライフイベントに関する情報が獲得される。
【０８５４】
表示端末１２３のユーザの未来の健康状態の予測を行う場合には、モデル管理サーバ１２２において、全体HMMから、表示端末１２３のユーザのプロフィールに適合した状態で構成されるサブセットHMMが切り出され、表示端末１２３に供給される。
【０８５５】
例えば、上述したように、年齢を30以上に絞って、健康状態を予測する場合には、年齢が30以上に適合する状態（観測モデルで観測される年齢の観測値が30以上の状態）で構成されるサブセットHMMが、全体HMMから切り出される。
【０８５６】
表示端末１２３は、情報一元管理サーバ１２１等から、表示端末１２３のユーザのいままでのライフイベントに関する時系列データを取得し、その時系列データを、モデル管理サーバ１２２からのサブセットHMMに、入力時系列データとして与えることで、入力時系列データの未来を予測した予測時系列データ、及び、その予測時系列データが観測される予測状態系列を生成する。
【０８５７】
そして、表示端末１２３では、予測時系列データ、及び、予測状態系列に基づいて、未来のライフイベントとしての、表示端末１２３のユーザについて予測される未来の健康状態のネットワーク構造が、図１７に示した表示や、図１８及び図１９に示したスコア／時刻順表示で表示される。
【０８５８】
すなわち、表示端末１２３では、例えば、表示端末１２３のユーザが今の生活を続けていくと、将来、どのような疾病に罹患するか、その罹患の確率、それまでの経緯等を詳しく表示することができる。
【０８５９】
また、表示端末１２３では、例えば、未来の健康状態のネットワーク構造の各分岐において、生起条件としての行動の選択肢と、各行動の選択肢から至る疾病に罹患する確率（疾病に到達するスコア）を表示することができる。
【０８６０】
ユーザが、未来の健康状態のネットワーク構造の分岐において、行動の選択肢を選択すると、表示端末１２３では、ユーザが選択した行動の選択肢としての生起条件を満たす観測値を入力時系列データとしてサブセットHMMに与え、予測時系列データ、及び、予測状態系列を生成し直すことができる。
【０８６１】
さらに、表示端末１２３では、生成し直された予測時系列データ、及び、予測状態系列に基づき、未来のライフイベントとしての、表示端末１２３のユーザについて予測される未来の健康状態のネットワーク構造を表示し直すことができる。
【０８６２】
この場合、ユーザが行動の選択肢を選択する前のネットワーク構造とは異なるネットワーク構造が表示され得る。すなわち、例えば、ある疾病に至るまでに通過するライフイベントや、その疾病に罹患する確率等が、ユーザが行動の選択肢を選択する前から変更されて表示される。
【０８６３】
ヒトについては、図２９で説明した未来の職業選択の予測や、図３０で説明した未来の健康状態の予測の他、例えば、出世、失脚、出会い、別れ等に関係する様々なライフイベントに関して、時系列データを収集して、HMMの学習を行い、そのHMMを用いた予測を行うことができる。そして、様々なライフイベントについて、そのライフイベントが生じる確率（ライフイベントに対応する状態に到達するスコア）や、そのライフイベントに至るまでに生じ得るライフイベント（ライフイベントが生じる経緯）、そのライフイベントが生じる生起条件等の情報を求め、ユーザに提供することができる。
【０８６４】
＜物のライフイベントを予測するアプリケーションの具体例＞
【０８６５】
図３１は、物のライフイベントのネットワーク構造の例を模式的に示す図である。
【０８６６】
すなわち、図３１は、物のライフイベントに関する時系列データを用いて学習が行われたネットワークモデルとしての全体HMMの例を模式的に示している。
【０８６７】
図２１のライフイベントサービスシステムは、図２９や図３０で説明したようなヒトのライフイベントを予測するアプリケーションの他、物のライフイベントを予測するアプリケーションに適用することができる。
【０８６８】
物の中では、特に、例えば、長期にわたって保有する耐久消費財のような物については、ライフイベントの予測が広く求められる。例えば、住居、建物、塔等の建造物、道路や橋梁等の公共施設、車、楽器等の耐久消費財については、メンテナンスの頻度、保管位置、稼働率、管理の仕方等が、将来のライフイベントとしての転売時の価格、寿命等に影響する。
【０８６９】
図３１は、耐久消費財としての車（自動車）のライフイベントの全体HMMとしてのネットワーク構造の例を模式的に示している。
【０８７０】
車のライフイベントとしては、例えば、新車販売、使用、車検、故障、中古（中古販売価格）、事故、廃車等がある。また、このような車のライフイベントを決定づける要素としては、例えば、走行距離、速度、ガソリン使用状況、設備（バッテリ、エアコン等）、使用状況、稼働率（平日休日別に）、道路種類（高速道路、一般道、道路の混雑具合等）、道路メンテナンス状況（アスファルト、砂利道等）、ユーザのプロフィールや使用傾向（丁寧か乱暴か等）、日照条件、ガソリン単価の変動（稼働率に関係する）等の時系列データがある。
【０８７１】
ここで、図３１において、ライフイベントLI21は、新車販売（新車の生産）を表しており、ライフイベントLI22及びLI23は、廃車を表している。
【０８７２】
車のライフイベントを決定づける要素としての時系列データのうちの、走行距離や速度等は、例えば、車に搭載したGPS(Global Positioning System)や速度メータ等の計器類から取得することができる。ガソリン使用状況や燃費等は、例えば、ガソリン残量の時系列データの時間微分を行うこと等により容易に取得することができる。ガソリンをどれくらいの頻度で補充するか等は、例えば、計器類から取得することができる。設備（バッテリ、エアコン室内灯、ミラー類）の使用状況等は、例えば、車に、その使用状況等をセンシングするセンサを取り付けることで、そのようなセンサから取得することができる。車の稼働率は、例えば、GPSや残量メータ等の計器類から容易に計測することができる。稼働率や道路種類、道路メンテナンス状況は、例えば、車に搭載されている計器類や、車に別途搭載した加速度センサ等を利用して計測することができる。ユーザのプロフィール、すなわち、例えば、男女、年齢層、職業等の情報は、例えば、アプリケーションを最初に利用するときに、ユーザに登録してもらうことができる。
【０８７３】
ユーザの使用傾向は、例えば、ユーザのプロフィールから推定することができる。また、ユーザの使用傾向については、例えば、速度計や加速度センサの計測値、アクセルやブレーキの使用頻度等から、例えば、丁寧、乱暴、ミスが多い、反応が速い、遅い等の使用傾向を推定することができる。さらに、ユーザの使用傾向としては、その他、例えば、車を保管する場所が車庫の中か外か等の情報を収集することができる。車を保管する場所の情報を収集するときには、あわせて、日照状態（降雨量）、湿度等の車を保管している条件（状況）を取得することができる。車を保管している条件としては、その他、例えば、海岸からの距離等により、塩害の度合を計測して取得することができる。ガソリン単価の変動については、車の稼働率その他に影響するので、車のライフイベントの予測に必要な時系列データの１つとして取得することが望ましい。
【０８７４】
図２１のライフイベントサービスシステムでは、サーバ６１が、上述のような時系列データを、車のライフイベントの予測に必要な時系列データとして収集し、その時系列データを用いて学習を行うことで、全体HMMを生成する。
【０８７５】
一方、クライアント６２では、例えば、サーバ６１からサブセットHMMが取得され、そのサブセットHMMに、クライアント６２のユーザが保有する車のいままでのライフイベントに関する時系列データを入力時系列データとして与えることで、入力時系列データの未来を予測した予測時系列データ、及び、その予測時系列データが観測される予測状態系列が生成される。
【０８７６】
そして、クライアント６２では、予測時系列データ、及び、予測状態系列に基づいて、車の未来のライフイベントとしての、例えば、車の中古価格（中古販売価格）や、耐用年数等が、図１７に示した表示や、図１８及び図１９に示したスコア／時刻順表示で表示される。
【０８７７】
なお、図２１のライフイベントサービスシステムにおいて、サブセットHMMには、例えば、サーバ６１で収集された時系列データのうちの、クライアント６２のユーザが保有する車のいままでのライフイベントに関する時系列データを入力時系列データとして与えることができる。この場合、クライアント６２のユーザは、クライアント６２のユーザが保有する車に関する時系列データを、サブセットHMMに与える操作を意識せずに済む。
【０８７８】
また、上述した、未来のライフイベントとしての、車の中古価格（中古販売価格）や、耐用年数等を、図１７に示した表示や、図１８及び図１９に示したスコア／時刻順表示で行うことは、クライアント６２のユーザが、例えば、車を新車で購入したユーザである場合に行うことができる。
【０８７９】
さらに、車の中古価格（中古販売価格）や、耐用年数等を、図１７に示した表示や、図１８及び図１９に示したスコア／時刻順表示で行うことは、クライアント６２のユーザが、例えば、中古車ディーラや、車の中古車購入者等である場合に行うことができる。
【０８８０】
＜ヒトの集合体、又は、ヒトの集合体によって形成されるもののライフイベントを予測するアプリケーションの具体例＞
【０８８１】
図３２は、ヒトの集合体、又は、ヒトの集合体によって形成されるもののライフイベントのネットワーク構造の例を模式的に示す図である。
【０８８２】
ここで、ヒトの集合体としては、例えば、趣味の集まり、サークル、会社、自治体、ボランティア団体、宗教団体、国家等の組織がある。ヒトの集合体によって形成されるものとしては、例えば、文化や流行等がある。
【０８８３】
図２１のライフイベントサービスシステムは、図２９や図３０で説明したようなヒトのライフイベントを予測するアプリケーション、及び、図３１で説明したような物のライフイベントを予測するアプリケーションの他、ヒトの集合体、又は、ヒトの集合体によって形成されるもののライフイベントを予測するアプリケーションに適用することができる。
【０８８４】
図３２は、ヒトの集合体としての会社のライフイベントに関する時系列データを用いて学習が行われたネットワークモデルとしての全体HMMの例を模式的に示している。
【０８８５】
会社のライフイベントとしては、例えば、設立、事業規模の拡大、人員の拡大、合併、不祥事、ライバルとの戦い、事業規模の縮小、人員の削減、組織の分裂、解散等がある。また、このような会社のライフイベントを決定づける要素としては、例えば、キャッシュフロー、株価（株主からの期待）、事業売上（利益）、人員規模、研究開発規模、市場規模、競合他社の情報等の時系列データがある。
【０８８６】
ここで、図３２において、ライフイベントLI31は、会社の設立を表しており、ライフイベントLI32は、会社の解散を表している。
【０８８７】
会社のライフイベントに関する時系列データ、すなわち、会社のライフイベントの時系列データや、会社のライフイベントを決定づける時系列データは、例えば、インターネット上のwebサイトから取得することができる。
【０８８８】
図２１のライフイベントサービスシステムでは、サーバ６１が、会社のライフイベントに関する時系列データを、webサイト等から収集し、その時系列データを用いて学習を行うことで、全体HMMを生成する。
【０８８９】
一方、クライアント６２では、例えば、サーバ６１からサブセットHMMが取得され、そのサブセットHMMに、将来のライフイベントを予測したい会社のいままでのライフイベントに関する時系列データを入力時系列データとして与えることで、入力時系列データの未来を予測した予測時系列データ、及び、その予測時系列データが観測される予測状態系列が生成される。
【０８９０】
そして、クライアント６２では、予測時系列データ、及び、予測状態系列に基づいて、会社の未来のライフイベントとしての、例えば、規模拡大や、規模縮小、解散等が、図１７に示した表示や、図１８及び図１９に示したスコア／時刻順表示で表示される。会社の未来のライフイベントとしての規模拡大や、規模縮小、解散等は、そのライフイベントが生じる確率（そのライフイベントに対応する状態に到達するスコア）とともに表示することができる。
【０８９１】
以上のような会社等の組織の未来のライフイベントの表示は、例えば、組織の運営者（例えば、会社の経営者）が、これからの組織の運営方法の検討等を行うにあたって参考にすることができる。さらに、組織の未来のライフイベントの表示は、例えば、組織に所属する人（例えば、会社の従業員）が、その組織の中での振る舞い方を決定するにあたって参考にすることができる。
【０８９２】
なお、本実施の形態では、時系列データを学習するネットワークモデルとして、HMMを採用することとしたが、ネットワークモデルとしては、その他、例えば、カルマンフィルタや、パーティクルフィルタ等の線形動的システム、その他の状態遷移モデルを採用することができる。
【０８９３】
＜本技術を適用したコンピュータの説明＞
【０８９４】
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【０８９５】
そこで、図３３は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
【０８９６】
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク２０５やROM２０３に予め記録しておくことができる。
【０８９７】
あるいはまた、プログラムは、リムーバブル記録媒体２１１に格納（記録）しておくことができる。このようなリムーバブル記録媒体２１１は、いわゆるパッケージソフトウエアとして提供することができる。ここで、リムーバブル記録媒体２１１としては、例えば、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory)，MO(Magneto Optical)ディスク，DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリ等がある。
【０８９８】
なお、プログラムは、上述したようなリムーバブル記録媒体２１１からコンピュータにインストールする他、通信網や放送網を介して、コンピュータにダウンロードし、内蔵するハードディスク２０５にインストールすることができる。すなわち、プログラムは、例えば、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送することができる。
【０８９９】
コンピュータは、CPU(Central Processing Unit)２０２を内蔵しており、CPU２０２には、バス２０１を介して、入出力インタフェース２１０が接続されている。
【０９００】
CPU２０２は、入出力インタフェース２１０を介して、ユーザによって、入力部２０７が操作等されることにより指令が入力されると、それに従って、ROM(Read Only Memory)２０３に格納されているプログラムを実行する。あるいは、CPU２０２は、ハードディスク２０５に格納されたプログラムを、RAM(Random Access Memory)２０４にロードして実行する。
【０９０１】
これにより、CPU２０２は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU２０２は、その処理結果を、必要に応じて、例えば、入出力インタフェース２１０を介して、出力部２０６から出力、あるいは、通信部２０８から送信、さらには、ハードディスク２０５に記録等させる。
【０９０２】
なお、入力部２０７は、キーボードや、マウス、マイク等で構成される。また、出力部２０６は、LCD(Liquid Crystal Display)やスピーカ等で構成される。
【０９０３】
ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含む。
【０９０４】
また、プログラムは、１のコンピュータ（プロセッサ）により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【０９０５】
さらに、本明細書において、システムとは、複数の構成要素（装置、モジュール（部品）等）の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、１つの筐体の中に複数のモジュールが収納されている１つの装置は、いずれも、システムである。
【０９０６】
なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【０９０７】
例えば、本技術は、１つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【０９０８】
また、上述のフローチャートで説明した各ステップは、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０９０９】
さらに、１つのステップに複数の処理が含まれる場合には、その１つのステップに含まれる複数の処理は、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０９１０】
また、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
【０９１１】
なお、本技術は、以下のような構成をとることができる。
【０９１２】
＜１＞
ライフイベントに関する時系列データを用いて将来のライフイベントを予測することにより得られる前記将来のライフイベントを、ライフイベントが生じるスコアを基に時系列で表示部に表示する表示制御を行う制御部を備える
表示制御装置。
＜２＞
前記制御部は、所定のライフイベントから、他のライフイベントが生じる生起条件をさらに表示する表示制御を行う
＜１＞に記載の表示制御装置。
＜３＞
前記スコアは、前記生起条件の選択に応じて計算し直される
＜２＞に記載の表示制御装置。
＜４＞
前記制御部は、前記ライフイベントが生じるスコアをさらに表示する表示制御を行う
＜１＞ないし＜３＞のいずれかに記載の表示制御装置。
＜５＞
前記ライフイベントは、ヒト、ヒトの集合体若しくはヒトの集合体によって形成されるもの、又は、物のライフイベントである
＜１＞ないし＜４＞のいずれかに記載の表示制御装置。
＜６＞
前記将来のライフイベントは、ライフイベントに関する時系列データを用いて学習が行われた、ネットワーク構造を有するモデルを用いて予測される
＜１＞ないし＜５＞のいずれかに記載の表示制御装置。
＜７＞
前記将来のライフイベントは、前記モデルの一部であるサブセットモデルを用いて予測される
＜６＞に記載の表示制御装置。
＜８＞
前記サブセットモデルは、ライフイベントに関する時系列データを用いた学習により更新され、
前記モデルは、更新後の前記サブセットモデルを用いて更新される
＜７＞に記載の表示制御装置。
＜９＞
前記モデルは、HMM(Hidden Markov Model)である
＜６＞ないし＜８＞のいずれかに記載の表示制御装置。
＜１０＞
前記サブセットモデルは、
前記HMMの状態をクラスタリングし、
前記HMMの状態のクラスタリング結果を用いて、ライフイベントに関する時系列データの各サンプルが属するクラスタを、前記時系列データが属する所属クラスタとして検索し、
前記HMMから、前記所属クラスタに属する状態を切り出す
ことにより得られる状態で構成されるサブセットHMMである
＜９＞に記載の表示制御装置。
＜１１＞
前記サブセットモデルを用いて、前記将来のライフイベントを予測する予測部をさらに備える
＜７＞に記載の表示制御装置。
＜１２＞
ライフイベントに関する時系列データを用いて将来のライフイベントを予測することにより得られる前記将来のライフイベントを、ライフイベントが生じるスコアを基に時系列で表示部に表示する表示制御を行う
ことを含む表示制御方法。
＜１３＞
ライフイベントに関する時系列データを用いて将来のライフイベントを予測することにより得られる前記将来のライフイベントを、ライフイベントが生じるスコアを基に時系列で表示部に表示する表示制御を行う制御部
として、コンピュータを機能させるためのプログラム。
【符号の説明】
【０９１３】
１０  時系列データベース，  １１  検索部，  １２  予測時系列生成部，  ２１  全体HMM，  ２２，２３  サブセットHMM，  ２４  全体HMM，  ３１  HMM記憶部，  ３２  クラスタリング部，  ３３  クラスタテーブル記憶部，  ３４  時系列データ記憶部，  ３５  クラスタ検索部，  ３６  サブセット切り出し部，  ５１  モデル記憶部，  ５２  状態推定部，  ５３  予測時系列生成部，  ６１  サーバ，  ６２  クライアント，  ６３  ネットワーク，  ７１  データ取得部，  ７２  モデル学習部，  ７３  モデル記憶部，  ７４  サブセット取得部，  ７５  モデル更新部，  ８１  データ取得部，  ８２  モデル学習部，  ８３  サブセット記憶部，  ８４  設定部，  ８５  ライフイベント予測部，  ８６  情報抽出部，  ８７  提示制御部，  ８８  提示部，  １０１  プリフィール情報設定UI，  １０２  母集団設定UI，  １０３  目標設定UI，  １０４  予測実行リクエストUI，  １０５  ライフイベント／スコア提示UI，  １０６  ライフイベント／プロセス提示UI，  １２１  情報一元管理サーバ，  １２２  モデル管理サーバ，  １２３  表示端末，  ２０１  バス，  ２０２  CPU，  ２０３  ROM，  ２０４  RAM，  ２０５  ハードディスク，  ２０６  出力部，  ２０７  入力部，  ２０８  通信部，  ２０９  ドライブ，  ２１０  入出力インタフェース，  ２１１  リムーバブル記録媒体
【図１】
2017027145.tif 000050
【図２】
2017027145.tif 000051
【図３】
2017027145.tif 000052
【図４】
2017027145.tif 000053
【図５】
2017027145.tif 000054
【図６】
2017027145.tif 000055
【図７】
2017027145.tif 000056
【図８】
2017027145.tif 000057
【図９】
2017027145.tif 000058
【図１０】
2017027145.tif 000059
【図１１】
2017027145.tif 000060
【図１２】
2017027145.tif 000061
【図１３】
2017027145.tif 000062
【図１４】
2017027145.tif 000063
【図１５】
2017027145.tif 000064
【図１６】
2017027145.tif 000065
【図１７】
2017027145.tif 000066
【図１８】
2017027145.tif 000067
【図１９】
2017027145.tif 000068
【図２０】
2017027145.tif 000069
【図２１】
2017027145.tif 000070
【図２２】
2017027145.tif 000071
【図２３】
2017027145.tif 000072
【図２４】
2017027145.tif 000073
【図２５】
2017027145.tif 000074
【図２６】
2017027145.tif 000075
【図２７】
2017027145.tif 000076
【図２８】
2017027145.tif 000077
【図２９】
2017027145.tif 000078
【図３０】
2017027145.tif 000079
【図３１】
2017027145.tif 000080
【図３２】
2017027145.tif 000081
【図３３】
2017027145.tif 000082