説明

隠れマルコフモデル探索装置及び方法及びプログラム

【課題】 離散型隠れマルコフモデルの探索コストを低減する。
【解決手段】 本発明は、シーケンスを確率密度関数に従う発生モデルを有する状態の遷移として表現する探索対象となる隠れマルコフモデルを格納するデータ記憶手段から読み出された探索対象である隠れマルコフモデルについて、近似の粒度を固定して、それぞれの粒度に対する尤度を計算し、計算された尤度と所定の閾値とを比較して該尤度が該閾値より小さくなるまで該尤度計算を繰り返し、該閾値より小さくなった尤度を新たな解候補として探索結果記憶手段に格納する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、隠れマルコフモデル探索装置及び方法及びプログラムに係り、特に、与えられた問い合わせシーケンスまたはデータストリームのサブシーケンスに対して、隠れマルコフモデルのデータ集合の中からモデルを探索するための隠れマルコフモデル探索装置及び方法及びプログラムに関する。
【背景技術】
【0002】
隠れマルコフモデル(HMM: Hidden Morkov Model)の基礎的理論は主として1960年代に研究されている。HMMはシーケンスを確率的密度関数に従う発生モデルを有する状態の遷移として表現するデータモデルであり、ノイズに強い特長がある。このためHMMは音声認識、自然言語処理、遺伝子解析などの多くのアプリケーションにおいて使われている。
【0003】
HMMにおける探索手法、特に問い合わせシーケンスに対する探索手法としては、モデルを並び替えてからひとつひとつを粒度を細かくして探索する方法がある(例えば、特許文献1、非特許文献1参照)。

本発明は、与えられた問い合わせシーケンスまたはデータストリームのサブシーケンスに対してデータ集合の中からモデルを探索する問題を対象とする。探索はモデルによって推定される尤度によって行われる。
【0004】
本発明を適用可能なビデオメタデータサービスについて述べる。近年、PSP(Play Station Portable)(登録商標)、iPod(登録商標)、AV500などが双方向型のビデオ再生のためのプラットフォームになりつつある。ビデオがデジタルの形でローカルのハードディスクに格納されたり、インターネット上で配信されれば、今までにない新しいビデオの視聴の仕方が可能になる。例えば、視聴者は好きな部分でビデオを停止し、また再生することができる。また、ローカルにビデオを格納することにより、ランダムアクセスにビデオを再生することができる。さらに、ビデオに関連付けられたメタデータと視聴者の興味を用いることにより更に進んだ視聴が可能となる。例えば、2時間のニュース番組にメタデータが関連付けられていれば、その中の10分間の天気予報だけを視聴することができ、大きな時間の節約になる。また、サッカー番組にメタデータが関連付けられていれば、ゲームの最も盛り上がるゴールシーンのみを視聴することもできる。過去の研究に見られるようにモデルを尤度によって選択することによってビデオシーンにメタデータを関連付けることができる。ビデオの内容と視聴者の興味によりパーソナライズされたメタデータは、視聴者のビデオデバイスの中で関連付けられる。
【0005】
連続型HMMの探索問題は音声認識の分野で多く研究されてきた。それは音声認識の処理時間の多く(30〜70%)が連続型HMMの尤度の計算にかかるからである。連続型HMMの状態は典型的に8〜64個のガウス関数で構成され、尤度計算するにはそれぞれのガウス関数を別々に計算しなければならない。計算コストを落とすためにHuntらは線形判別分析によりガウス関数の数を減らす手法を提案した。また、尤度が既に計算されたガウス関数の部分セットのみ用いる手法も示されている。嵯峨山らやRamachandrulaらは連続型HMMを離散型HMMに置き換える手法を提案した。離散型HMMの尤度はスカラ量子化された確率のテーブルを引くことで計算できる。これらの研究は発明の手法と併用することにより、より効果的かつ高速な探索が可能となる。
【0006】
また、隠れマルコフモデルにおける探索手法として、問い合わせシーケンスに対する探索手法がある。この手法はモデルを並び替えてから一つ一つを粒度を細かくして探索するものである(例えば、特許文献1、非特許文献1参照)。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2008−96742号公報
【非特許文献】
【0008】
【非特許文献1】Yasuhiro Fujiwara, Yasushi Sakurai, Masashi Yamamuro: "Special: Efficient and Exact Model Identification for Hidden Markov Models", In Proceeding of the 14th ACM SIGKDD International Conference on Knowledge discovery and Data Mining.
【発明の概要】
【発明が解決しようとする課題】
【0009】
一般的に離散型HMMであっても尤度計算するには、状態の数が多くまたデータ集合の規模が大きいため、多くの処理時間がかかる。そこで、離散型HMMの探索コスを低減することが必要となる。
【0010】
本発明は、上記の点に鑑みなされたもので、以下の2つの点を解決し、上記の特許文献1、非特許文献1の手法よりさらに高速な隠れマルコフモデル探索装置及び方法及びプログラムを提供することを目的とする。
【0011】
(1)離散型HMMのデータセットと問い合わせシーケンスX=(x,x,…,x)が与えられたとき、シーケンスXに対して最も高い尤度を与えるモデルを検索する。
【0012】
(2)離散型HMMのデータセットとデータストリームから切り出されたサブシーケンスX=(x,x,…,x)(xは最新のシーケンスの値とする)が与えられたとき、サブシーケンスXに対して最も高い尤度を与えるモデルを検索する。
【課題を解決するための手段】
【0013】
図1は、本発明の原理を説明するための図である。
【0014】
本発明(請求項1)は、問い合わせシーケンスに対して最も尤度の高いモデルを探索する隠れマルコフモデル探索装置であって、
シーケンスを確率密度関数に従う発生モデルを有する状態の遷移として表現する探索対象となる隠れマルコフモデルを格納するデータ記憶手段120と、
データ記憶手段120から読み出された検索対象である隠れマルコフモデルについて、与えられた粒度に対する尤度を計算する尤度計算手段112と、
近似の粒度を固定して、それぞれの粒度における尤度を尤度計算手段112に計算させ、計算された尤度と所定の閾値とを比較して該尤度が該閾値より小さくなるまで該尤度計算手段112を実行させ、得られた尤度を新たな解候補として探索結果記憶手段113に格納する計算判定手段111と、を有する。
【0015】
本発明(請求項2)は、データストリームのサブシーケンスに対して最も尤度の高いモデルを探索する隠れマルコフモデル探索装置であって、
シーケンスを確率密度関数に従う発生モデルを有する状態の遷移として表現する探索対象となる隠れマルコフモデルを格納するデータ記憶手段と、
データ記憶手段から読み出された検索対象である隠れマルコフモデルについて、与えられた粒度に対する尤度を計算する尤度計算手段と、
探索におけるはじめの解の候補として1時刻前の解を探索結果記憶手段に格納し、それぞれのモデルの1時刻前の粒度より1つ荒い粒度に対する尤度を尤度計算手段に計算させ、該尤度計算手段で計算された尤度と所定の閾値とを比較して該尤度が該閾値より小さくなるまで該尤度計算手段を実行させ、得られた尤度を新たな解候補として該探索結果記憶手段に格納する計算判定手段と、を有する。
【0016】
図2は、本発明の原理を説明するための図である。
【0017】
本発明(請求項3)は、問い合わせシーケンスに対して最も尤度の高いモデルを探索する隠れマルコフモデル探索方法において、
コンピュータが、
シーケンスを確率密度関数に従う発生モデルを有する状態の遷移として表現する探索対象となる隠れマルコフモデルを格納するデータ記憶手段から読み出された探索対象である隠れマルコフモデルについて、近似の粒度を固定して、それぞれの粒度における尤度を計算し(ステップ1,2)、
計算された尤度と所定の閾値とを比較して該尤度が該閾値より小さくなるまで該尤度計算を繰り返し(ステップ3)、得られた尤度を新たな解候補として探索結果記憶手段に格納する(ステップ4)。
【0018】
本発明(請求項4)は、データストリームのサブシーケンスに対して最も尤度の高いモデルを探索する隠れマルコフモデル探索方法において、
コンピュータが、
1時刻前の解を始めの解の候補として探索結果記憶手段に格納しておき、
シーケンスを確率密度関数に従う発生モデルを有する状態の遷移として表現する探索対象となる隠れマルコフモデルを格納するデータ記憶手段から読み出された探索対象である隠れマルコフモデルについて、それぞれのモデルに対する1時刻前の粒度より1つ荒い粒度に対する尤度を計算し、
計算された尤度と所定の閾値とを比較して該尤度が該閾値より小さくなるまで尤度の計算を繰り返し、得られた尤度を新たな解候補として探索結果記憶手段に格納する。
【0019】
本発明(請求項5)は、請求項1または2に記載の隠れマルコフモデル探索装置を構成する各手段としてコンピュータを機能させるための隠れマルコフモデル探索プログラムである。
【発明の効果】
【0020】
上記のように本発明によれば、以下のような効果を奏する。
【0021】
・高速処理:モデルのデータ集合が大きくても高速に探索が可能である。
【0022】
・探索漏れ無し:本発明の手法により探索されたモデルは厳密に正確である。
【0023】
・モデルの構造に制限なし:モデルには複数の構造があるが、どの構造でも探索が可能である。
【0024】
本発明では、高速な探索を探索結果の厳密性を両立させるために、尤度を近似して探索の解候補を絞り込んでから厳密な尤度を計算する。本発明では、データ集合の中から必要最低限のものに対してのみ厳密な尤度を計算するので、高速処理が可能となる。
【図面の簡単な説明】
【0025】
【図1】本発明の原理構成図である。
【図2】本発明の原理を説明するための図である。
【図3】本発明の一実施の形態における隠れマルコフモデル探索装置の構成図である。
【図4】本発明の一実施の形態における探索部の構成図である。
【図5】HMMの種類を示す図である。
【図6】トレリス構造を示す図である。
【図7】本発明における手法の概要である。
【図8】本発明の一実施の形態における尤度の計算アルゴリズムである。
【図9】本発明の一実施の形態における問い合わせシーケンスに対する探索処理のアルゴリズムである。
【図10】本発明の一実施の形態におけるデータストリームに対する探索処理のアルゴリズムである。
【図11】関連文献における探索手法との比較である。
【図12】実験におけるデータストリームに対する探索処理時間を示す図である。
【発明を実施するための形態】
【0026】
以下、図面と共に本発明の実施の形態を説明する。
【0027】
本発明は、与えられた問い合わせシーケンスまたはデータストリームのサブシーケンスに対してデータ集合の中からモデルを探索する問題を対象とする。探索はモデルによって推定される尤度によって行われる。
【0028】
本発明を適用可能なビデオメタデータサービスについて述べる。近年、PSP(Play Station Portable)(登録商標)、iPod(登録商標)、AV500などが双方向型のビデオ再生のためのプラットフォームになりつつある。ビデオがデジタルの形でローカルのハードディスクに格納されたり、インターネット上で配信されれば、今までにない新しいビデオの視聴の仕方が可能になる。例えば、視聴者は好きな部分でビデオを停止し、また再生することができる。また、ローカルにビデオを格納することにより、ランダムアクセスにビデオを再生することができる。さらに、ビデオに関連付けられたメタデータと視聴者の興味を用いることにより更に進んだ視聴が可能となる。例えば、2時間のニュース番組にメタデータが関連付けられていれば、その中の10分間の天気予報だけを視聴することができ、大きな時間の節約になる。また、サッカー番組にメタデータが関連付けられていれば、ゲームの最も盛り上がるゴールシーンのみを視聴することもできる。過去の研究に見られるようにモデルを尤度によって選択することによってビデオシーンにメタデータを関連付けることができる。ビデオの内容と視聴者の興味によりパーソナライズされたメタデータは、視聴者のビデオデバイスの中で関連付けられる。
【0029】
連続型HMMの探索問題は音声認識の分野で多く研究されてきた。それは音声認識の処理時間の多く(30〜70%)が連続型HMMの尤度の計算にかかるからである。連続型HMMの状態は典型的に8〜64個のガウス関数で構成され、尤度計算するにはそれぞれのガウス関数を別々に計算しなければならない。計算コストを低減するためにHuntらは線形判別分析によりガウス関数の数を減らす手法を提案した。また、尤度が既に計算されたガウス関数の部分セットのみ用いる手法も示されている。嵯峨山らやRamachandrulaらは連続型HMMを離散型HMMに置き換える手法を提案した。離散型HMMの尤度はスカラ量子化された確率のテーブルを引くことで計算できる。これらの研究は発明の手法と併用することにより、より効果的かつ高速な探索が可能となる。本発明では、これらの手法を併用し、
(1)モデルの状態を結合し、尤度の上限値により高速に解候補を絞り込み、
(2)モデルを様々な近似の粒度で探索し、
(3)モデルの尤度計算を打ち止めて、尤度の低いモデルを高速に枝刈りする。
【0030】
以下に、本発明の詳細について述べる。
【0031】
図3は、本発明の一実施の形態における隠れマルコフモデル探索装置の構成を示す。
【0032】
隠れマルコフモデル探索装置100は、探索部110とデータ格納部120を有する。
【0033】
データ格納部120は、探索対象となる隠れマルコフモデルが格納されたデータベース等の記憶媒体である。探索部110は、隠れマルコフモデルの探索を行う。図4に示すように、探索部110は、計算判定部111、尤度計算部112、探索結果保存部113から構成される。計算判定部111は、与えられた粒度で尤度計算部112に尤度を計算させ、所定の閾値と計算された近似尤度を比較して、その結果に基づいて尤度計算部112に再計算させる、または、再計算を終了させる。計算された尤度と探索結果保存部113に格納されている解の候補と比較して、計算された尤度が格納されている解の候補より高い尤度であれば、探索結果保存部113の解の候補を更新する。尤度計算部112は、計算判定部111における判定結果を受けて、隠れマルコフモデルの近似尤度または正確な尤度を計算する。なお、尤度計算部112は図示しないが、途中の解を格納するためのメモリを具備するものとする。探索結果保存部113は、メモリやハードディスク装置等の記憶媒体であり、探索処理における解候補の保存を行う。
【0034】
HMMはシーケンスを確率密度関数に従う発生モデルを有する状態の遷移として表現するデータモデルである。
【0035】
以下に、本明細書で用いる主な記号とその定義を示す。
【0036】
K:k-近傍探索のパラメータ;
:時刻t(t=1,…,n)のシーケンスXの値;
:HMMのi(i=1,…,m)番目の状態
n:シーケンスXの長さ;
m:状態の数;
α={α}:uの初期遷移確率;
β={β}:uからuの状態遷移確率;
γ(v)={γi(v}:状態uにおけるシンボルv(j=1,…,s)のシンボル出力確率;
Φ:正確な尤度;
Ψ:近似尤度
本発明は、以下の2つの問題を対象とする。
【0037】
問題1:離散型HMMのデータセットと問い合わせシーケンスX=(x,x,…,xn)が与えられたとき、シーケンスXに対して最も高い尤度を与えるモデルを検索する。
【0038】
問題2: 離散型HMMのデータセットとデータストリームから切り出されたサブシーケンスX=(x,x,…,x)(xは最新のシーケンスの値とする)が与えられたとき、サブシーケンスXに対して最も高い尤度を与えるモデルを検索する。
【0039】
本発明の手法を説明する前に簡単にHMMについて説明する。HMMは以下の要素で構成される。
【0040】
初期状態確率:α={α}時刻1において状態がu(i=1,…,m)である確率。
【0041】
状態遷移確率:β={βij}時刻が1つ進んだときに状態uから状態uへ遷移する確率。
【0042】
シンボル出力確率:γ(v)={γ(v)}状態uにおいてシンボルvを出力する確率(j=1,…,s)。
【0043】
HMMを説明するために壷とボールの例を用いる。
【0044】
赤や青などの色のついたボールが入っている壷が複数あることを考える。はじめにある確率によって壷を選ぶ。そしてボールを一つ取り出し、その色を記録する。次の壷は現在の壷の選択によって関連付けされた確率に従って選択する。そしてボールの色の記録を繰り返す。これらの操作によってボールの色の系列が得られる。
【0045】
この例において、壷は状態に対応し、色の系列はシーケンスに対応する。すなわち初期状態確率は初めに選択する壷の確率であり、状態遷移確率は次の壷の選択確率であり、シンボル出力確率はどの色のボールを選択するかの確率である。
【0046】
HMMは図5のように状態遷移確率βの構造によって分類することができる。図5において白い円は「状態」を表し、矢印は「遷移」を表す。全ての状態から他の全ての状態へ遷移できるタイプとして全結合HMMとエルゴディックHMM(図5(a))がある。エルゴディックHMMは全結合HMMを包含し、全ての状態が他の全ての状態へ有限であるが、非周期的な回数で遷移できる特徴がある。1回で任意の状態に遷移できるエルゴディックHMMや全結合HMMにおいて状態遷移確率βは、正の係数βijを用いて以下のようになる。
【0047】
【数1】

また、他のタイプとしてleft-right HMM(図5(b))がある。left-right HMMは状態を並べたときに左から右へ遷移する特徴がある。状態遷移確率の係数はj<iのときβij=0となり、i≠1でα=0となる。また、left-right HMMにおいては状態間を多く遷移しないように制約が課せられていることがあり、状態遷移確率の係数はj>i+△―1のときβij=0となる。例えば、状態遷移確率βは△=3のときβijを用いて以下のようになる。
【0048】
【数2】

シーケンスXの尤度Φは、Viterbiアルゴリズムにより計算される。先の壷とボールの例では尤度の計算は、ボールの系列が与えられた時にそれを出力する。壷の遷移の最大確率を計算することに対応する。尤度は以下のように求める。
【0049】
【数3】

Viterbiアルゴリズムでは、図6のように状態を縦軸に、時間を横軸に並べたときに構成されるトレリス構造において、各状態における確率の最大値を動的計画法によって求めている。
【0050】
以下に、探索部110の具体的な動作を説明する。
【0051】
[例1]
モデルとシーケンスが以下のようであるとする。
【0052】
【数4】

Viterbiアルゴリズムは以下のように計算される。
【0053】
φ11=1,φ12=0.5, φ13=0, φ14=0
φ21=0,φ22=0.75・0.5,φ23=(0.5)2。・0.25, φ25=0
φ31=0,φ32=0, φ33=0, φ34=(0.5)2・(0.25)2
結果的に尤度はΦ=(0.5)3・(0.25)2となり、その尤度を与える状態遷移はu,u,u,uとなる。尤度計算部112は、上記のようにして求めた尤度と状態遷移を計算判定部111に渡す。これにより、計算判定部111は、探索結果保存部113に格納されている解の候補と計算された尤度とを比較して、尤度が解の候補より大きい場合には、当該尤度で探索結果保存部113の値を更新する。
【0054】
HMMの構造に制約がない場合、すなわちエルゴディックHMMの場合のViterbiアルゴリズムの計算量はO(nm2)となる。これは全ての状態において、前の時刻の状態全てから遷移する確率を計算するからである。そのためナイーブに全てのモデルの尤度を計算するには、特にモデルの状態数が多くまたモデルの数が多いと莫大な計算コストがかかる。ナイーブに解く手法を今後「Naive Viterbi」と表現する。
【0055】
探索部110の計算判定部111は、以下の3つの機能を有する。まず、概要を示し、その後に各々の詳細について述べる。
【0056】
●トレリス構造の縮退:
先に述べたとおり、トレリス構造が大きい場合Viterbiアルゴリズムは高い計算コストを必要とする。そこで、図7に示すように、計算判定部112では、状態をクラスタリングし、結合することによって状態の数を削減する。この状態数の削減により、トレリス構造は縮退され、高速に尤度を計算することが可能になる。トレリス構造を縮退させるために粒度qが与えられたとき、m個の状態はm/g個に削減される。この結果、尤度計算部112の尤度の計算量はO(nm2/g2)に低減化される。
【0057】
トレリス構造を縮退することには2つのメリットがある。まずはじめのメリットはトレリス構造を縮退して探索を行っても探索漏れは発生しないことが保証されることである。これは後に示すとおり縮退後の近似尤度は厳密な尤度より小さくならないためである。そのため近似尤度を計算するのみで、探索結果の候補を少ない計算コストで得ることができる。
【0058】
2番目のメリットとして、どのようなタイプのモデルにも適用できることが挙げられる。これは状態をクラスタリングするときにモデルの確率の制約を用いないからである。
【0059】
●複数の近似粒度:
トレリス構造を縮退することで計算される近似尤度により高速な探索が可能になるが、近似計算には近似精度と計算時間のトレードオフが存在する。すなわちトレリス構造を過度に縮退させると、尤度計算部112の近似尤度の計算コストは小さくなるが、近似尤度の上限値は大きくなってしまう。そのため、本発明では、探索処理において徐々にトレリス構造のサイズを大きくしていき、近似尤度の精度を上げていく。
【0060】
複数の近似粒度を用いることでモデルの厳密な尤度に応じた近似粒度で計算させることができる。尤度が小さいモデルは低い粒度の近似で枝刈りすることができるが、尤度が大きいモデルは高い粒度の近似でないと枝刈りができない。言い換えれば低い粒度で枝刈りした結果として高い尤度のモデルを得られる。そのため本発明では、低い粒度の結果のみに対して高い粒度の近似を計算する。結果として相反する近似精度と計算時間のバランスをとることができる。
【0061】
●状態遷移の枝刈り:
本発明は、探索結果の厳密性を保証している。トレリス構造を縮退することにより高速な探索が可能になるが、厳密に正確な探索結果は近似尤度からは求めることができない。そのため、本発明では、近似尤度で求めた候補に対して厳密な尤度を求めている。しかし、厳密な尤度を計算するには大きなコストがかかる。
【0062】
本発明では、尤度計算の中には探索処理として必要のないものも含まれるため、図7のようにトレリス構造における尤度計算を高速に打ち切る。例えば、後段の[例1]において探索途中の解の候補の尤度が0.25であるときに、時刻1における状態u2とu3の尤度は0.25より小さいため、時刻2においてこれらの状態から遷移する確率は計算する必要はない。同じように時刻3において状態u3からの確率は計算する必要はない。時刻3において全ての状態の確率は0.25より小さいため、尤度計算を打ち切ることができる。
【0063】
探索途中のK番目に高い尤度が大きくなるほど、より効果的に計算を打ち切ることができる。ここで、K番目に高い尤度は探索処理が進むほど大きくなるので、結果的にモデルの数が多くても効果的に探索することができる。
【0064】
また、計算の途中では尤度は単調減少するため、問い合わせのシーケンスが長くなるほど状態遷移の打ち切りは効果的になる。これは、ユーザやアプリケーションによって問い合わせの長さが異なることを考えると、非常に有効な性質である。
【0065】
また、状態遷移の打ち切りは厳密なトレリス構造のみに対してではなく、縮退後のトレリス構造に対しても適用できる。すなわち、状態遷移を打ち切ることで、近似計算を高速化できる。
【0066】
●トレリス構造の縮退:
本発明ではモデルのオリジナルの状態を結合することによりトレリス構造を縮退して、尤度計算部112に近似尤度を計算させる。近似尤度で枝刈りを行っても探索漏れは発生しないことが保証される。
【0067】
粒度gが与えられたとき、状態をクラスタリングし結合することで、m・nのトレリス構造をm/g・nに縮退する。状態uとuが同じクラスタになった場合、結合によって得られた状態u´の確率を各要素の確率の中で最大値を用いて以下のように定義する。
【0068】
[定義1]
状態uとuが同じクラスタになった場合、結合後の確率は
α´i=max(αi,αj);
β´ii=max(βii,βij,βji,βjj),
β´ik=max(βik,βjk),
β´ki=max(βki,βkj)(k≠i,k≠j);
γ´i (vk)=max(γi (vk),γj (vk))
となる。
【0069】
[例1]
例1のHMMにおいて状態u1とu2が同じクラスタになった後の確率は以下のようになる。
【0070】
【数5】

上記の例において、確率はそれぞれ、
α´1=max(α1,α2),
β´11=max(β11,β12,β21,β22),
β´12=max(β13,β23),
β´21=max(β31,β32),
γ´1(1)=max(γ1(1),γ2(1)),
γ´1(2)=max(γ1(2),γ2)(2)),
γ´1(3)=max(γ1(3),γ2(3))
と計算する。2つの状態が同じクラスタになる場合について説明したが、3つ以上の場合でも同様に計算する。
【0071】
クラスタリングを行うために、状態の特徴量Fiを以下のように定義する。
【0072】
[定義2]
Fi=(αi:βi1,…,βim,β1i,…,βmi;γi (v1),…,γi (v)). (4)
状態をクラスタリングするため、k-means法(文献:J. MacQueen, Some methods for classification and analysis of multivariate observations., 1967)を用いる。トレリス構造を縮退する手法は、クラスタリング方法の選択とは完全に独立したものであるため、他のクラスタリング方法(例えば、BIRCH: Tian Zhang and Raghu Ramakrishnan and Miron Livny, BIRCH: An Efficient Data Clustering Method for Very Large Databases, SIGMOD Conference, 1996)を用いることも可能である。
【0073】
状態を結合することにより厳密なトレリス構造の縦のサイズを減らすことができる。すなわち、[例1]のトレリス構造の縦のサイズは"3"であるが、[例1]のサイズは"2"である。トレリス構造の横のサイズを減らすには、後述するように、状態遷移の枝刈りを用いる。
【0074】
尤度計算部112は、近似尤度Ψを、結合後の状態数m´(=m/g)と確率α´、β´、γ´(v)を用いて以下のように計算する。
【0075】
【数6】

近似尤度の計算量はO(nm2/g2)となる。これはViterbiアルゴリズムと同様にn個の各時刻においてm/g個の状態の中から最大の確率を有するものを選択するからである。
【0076】
Ψは厳密なトレリス構造による尤度Φの上限値となる。
【0077】
[補助定理1]
状態を結合後のモデルとシーケンスが与えられたとき、以下の関係が成立する。
【0078】
Φ≦Ψ (6)
[証明1]
オリジナルの状態ui(1≦i≦m)が状態u´i(1≦i≦m´)へクラスタリングされたとすると、
φi1≦α´i・γ´i(x1)=ψi1
となるので、2≦t≦nのとき、
【0079】
【数7】

よって、
【0080】
【数8】

が成り立つ。
【0081】
上記の[補助定理1]の性質を用いて探索漏れなくモデルを探索することができる。
【0082】
[補助定理2]
Ψを用いて探索することは、探索漏れが発生しないことの十分条件である。
【0083】
[証明2]
解の尤度をεとしたとき、探索漏れが発生しないことを保証するためには、Φ≧εであるときΨ≧εでなければならない。ところで式(6)より、
ε≦Φ≦Ψ
となるので探索漏れは発生しない。
【0084】
●複数の近似尤度:
これまでは一つの粒度でトレリス構造を縮退し近似尤度を計算することを前提に説明した。しかし、近似の粒度が低ければ近似精度も低くなるなど、近似の粒度が異なればその精度も異なるため、モデル毎の厳密な尤度に応じて近似の粒度が異なることが望ましい。そのため、本発明では一つの粒度ではなく、複数の粒度の近似を用いてモデルを探索する。すなわち、計算判定部111は、探索において徐々に近似粒度を上げて尤度計算部112に尤度計算させていく。
【0085】
本発明では、h個の粒度を用いる。レベルi(1≦i≦h)の近似においては粒度gを用いて、m個の状態を
【0086】
【数9】

個に結合する。最も粗い粒度をg1とすると、レベルが上がるにつれてg1も大きくなり、近似尤度の精度も上がっていく。
【0087】
尤度計算部112は、まずレベル1の
【0088】
【数10】

個に状態を結合した近似尤度を全てのモデルに対して計算する。近似尤度によって解の候補を求めて、その厳密な尤度εを計算する。εより小さい近似尤度を持つモデルは枝刈りできる。そうでないモデルに対しては、尤度計算部112でレベル2の近似尤度を計算し、計算判定部111において、同様に近似尤度がεより小さいか調べる。この操作をレベルがhになるまで行う。結果的にモデルを厳密な尤度に従った近似の尤度に従った近似の粒度によって枝刈りすることができる。複数の近似尤度によるアルゴリズムは探索アルゴリズムと共に後述する。
【0089】
●状態遷移の枝刈り:
本発明では、状態遷移の枝刈りに関しては2つの重要な性質を用いる。第一に尤度を計算するときに、各状態の尤度は既に遷移した過去の時刻の全ての状態の尤度より大きくならない。これは各状態の尤度は以前の時刻の尤度を用いて計算されるためである。
【0090】
第二に、探索処理においては解候補を保持し、新たにεより高い尤度のモデルが見つかったとき解候補を更新するため、εは大きくなり続ける。
【0091】
この2つの性質を用いて尤度の計算において枝刈りを行うが、枝刈りするための推定値ψitを以下のように導入する。
【0092】
【数11】

ここで、βmaxとγmax(v)は以下のように状態遷移確率とシンボル出力確率の最大値である。
【0093】
【数12】

推定値ψitはViterbiパスが時刻tで状態uiを通るとしたときの尤度の上限値となる。
【0094】
[定理1]
φin≦ψit (9)
尤度の計算において枝刈りは推定値ψitを用いて行う。すなわち、εより推定値が小さい状態からの遷移は計算しない。厳密なトレリス構造に対する状態遷移の枝刈りのアルゴリズムを図8に示す。状態遷移の枝刈りでは遷移集合を用いて処理を行う。遷移集合はトレリス構造のそれぞれの時刻毎に設定される。時刻tの状態uiの推定値がε以上であれば、時刻tの遷移集合に状態uiが加えられる。尤度を計算するときは時刻t−1の遷移集合に含まれる状態からの遷移のみを用いる。もしある時刻における遷移集合が空集合であれば、そのモデルは解集合となりえないため、尤度計算を打ち切る。近似尤度の計算においても同様のアルゴリズムで処理を行う。
【0095】
●探索処理:
前述の通り、Naive Viterbiを処理するには大きな計算量を要する。本発明では高速に解を求めるために近似尤度を用いて尤度の低い殆どのモデルの枝刈りを行う。計算コストのかかる厳密な尤度計算は必要最低限に限定される。
【0096】
問い合わせシーケンスに対する探索処理と、データストリームに対する探索処理は以下の通りである。
【0097】
(1)問い合わせシーケンスに対する探索処理:
探索処理においては、計算判定部111において近似の粒度を固定し、尤度計算部112においてそれぞれの粒度における解の候補を計算する。具体的には探索処理ではまず全てのモデルに対して最も粗い近似尤度を計算する。最も高い近似尤度を与えるモデルを解の候補として、そのモデルの厳密な尤度を計算する。その厳密な尤度によってモデルの枝刈りを行い、残ったモデルに対して2番目の粒度の近似尤度を計算する。最も高い近似尤度を与えるモデルの厳密な尤度を計算し、もし、計算判定部111は、探索結果保存部113に格納されている1番目の粒度による解の候補より高い尤度だったら、当該探索結果保存部113の解の候補を更新する。同様の処理を粒度を細かくしながら続けていく。
【0098】
探索処理のアルゴリズムを図9に示す。同図において、Φiは粒度giの尤度を示す。なお、ここでΦ0は厳密な尤度とする。また、Mはモデルの集合を表す。
【0099】
(2)データストリームに対する探索処理:
データストリームは時々刻々と変化していくが、その変化の割合はそれほど多くはないことに着目した処理を行う。具体的には、計算判定部111は、それぞれのモデルに対する近似の粒度を1時刻前の粒度より1つ荒い粒度にし、また、探索におけるはじめの解の候補として1時刻前の解を用いる。その他の処理は問い合わせシーケンスに対する探索処理と同様であるので、その説明を省略する
当該データストリームに対する探索処理のアルゴリズムを図10に示す。同図において、Miは粒度giの尤度を計算するモデルの集合を示し、M´iは1つ前の時刻において計算した最も細かい粒度がgiであるモデルの集合とする。
【0100】
≪評価実験≫
本発明の有効性を示すために実験を行った。実験はエルゴディックHMMとleft-right HMMに対して行った。実験では探索におけるCPUの計算時間を比較した。
【0101】
実験は、Intel Xeon quad CPU 3.33 GHz、メインメモリが32GBのマシンで行った。
【0102】
実験データは以下のものを用いた。
【0103】
・EEG:
このデータセットはEEGとアルコール依存症の関係を調べるために行われた大規模な実験で得られたものであり、UCIのWebサイトからダウンロードすることができる(http://www.ncbi.nlm.nih.gov)。
【0104】
・Chromosome:
人間の第2,18,21,22番遺伝子のデータであり、NCBIのWebサイトから得ることができる(http://archive.ics.uci.edu/ml/)。
【0105】
・Traffic:
このデータセットはUCIのWebサイトから得たフリーウェイ交通量の測定値である(http://www.ncbi.nlm.nih.gov)。
【0106】
・UNIX:
このデータセットはUCIのWebサイトから得たUNIXの操作履歴である(http://www.ncbi.nlm.nih.gov)。
【0107】
状態数を変化させて実験を行った。実験ICおいてシーケンスの長さm=256とした。
【0108】
(1)問い合わせシーケンスに対する従来技術との比較:
隠れマルコフモデルにおける探索手法、特に、問い合わせシーケンスに対する探索手法として、前述の特許文献1、非特許文献1に記載の技術がある。これらの文献における手法は、モデルを並び替えてから一つ一つ粒度を細かくし探索する特徴がある。
【0109】
本発明の手法の優位性を示すためにそれぞれの手法における探索処理の時間の比較実験を行った。実験結果を図11に示す。実験において状態数を100とし、モデルの数を10000とした。図11において「SPIRAL」とあるのは本発明による手法、「Sort」とあるのは特許文献1、非特許文献1による手法とする。
【0110】
本発明の手法は、特にエルゴディックHMMに対して有効であることがわかる。O(nm2)だけのコストが誘導を計算する時に必要になるが、粒度毎に解候補を計算することでその計算コストを低減することができることがわかる。本発明による手法は、特許文献1、非特許文献1による手法に対して30倍まで高速な探索を行うことができた。
【0111】
(2)データストリームに対する探索処理時間:
本実験ではストリームに対応したアルゴリズムと問い合わせシーケンスに対応したアルゴリズム、及びViterbiアルゴリズムとの比較を行った。それぞれのアルゴリズムの実験結果をStream-SPIRAL、SPIRAL、Viterbiとして図12に示す。実験において状態数を100とし、モデルの数を10000とした。
【0112】
ストリームに対応したアルゴリズムはその他のアルゴリズムに対して優位であり、特にViterbiアルゴリズムに対しては490倍高速であることが確認された。ストリームに対応したアルゴリズムは問い合わせシーケンスに対応したアルゴリズムとおおよそ同様であるが、解候補と粒度の決定方法が異なる。これらの決定方法が探索処理時間に大きな影響を与えることがわかる実験結果になった。
【0113】
また、上記の探索部110の動作をプログラムとして構築し、隠れマルコフモデル探索装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。
【0114】
また、構築されたプログラムをハードディスクや、フレキシブルディスク・CD−ROM等の可搬記憶媒体に格納し、コンピュータにインストールする、または、配布することが可能である。
【0115】
なお、本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において種々変更・応用が可能である。
【産業上の利用可能性】
【0116】
本発明は、ビデオメタサービスに適用可能である。
【符号の説明】
【0117】
100 隠れマルコフモデル探索装置
110 探索部
111 計算判定手段、計算判定部
112 尤度計算手段、尤度計算部
113 探索結果記憶手段、探索結果保存部
120 データ記憶手段

【特許請求の範囲】
【請求項1】
問い合わせシーケンスに対して最も尤度の高いモデルを探索する隠れマルコフモデル探索装置であって、
シーケンスを確率密度関数に従う発生モデルを有する状態の遷移として表現する探索対象となる隠れマルコフモデルを格納するデータ記憶手段と、
前記データ記憶手段から読み出された検索対象である隠れマルコフモデルについて、与えられた粒度に対する尤度を計算する尤度計算手段と、
近似の粒度を固定して、それぞれの粒度における尤度を前記尤度計算手段に計算させ、計算された尤度と所定の閾値とを比較して該尤度が該閾値より小さくなるまで該尤度計算手段を実行させ、所定の閾値より小さくなった尤度を新たな解候補として探索結果記憶手段に格納する計算判定手段と、
を有することを特徴とする隠れマルコフモデル探索装置。
【請求項2】
データストリームのサブシーケンスに対して最も尤度の高いモデルを探索する隠れマルコフモデル探索装置であって、
シーケンスを確率密度関数に従う発生モデルを有する状態の遷移として表現する探索対象となる隠れマルコフモデルを格納するデータ記憶手段と、
前記 データ記憶手段から読み出された検索対象である隠れマルコフモデルについて、与えられた粒度に対する尤度を計算する尤度計算手段と、
探索におけるはじめの解の候補として1時刻前の解を探索結果記憶手段に格納し、それぞれのモデルの1時刻前の粒度より1つ荒い粒度に対する尤度を前記尤度計算手段に計算させ、該尤度計算手段で計算された尤度と所定の閾値とを比較して該尤度が該閾値より小さくなるまで該尤度計算手段を実行させ、得られた尤度を新たな解候補として該探索結果記憶手段に格納する計算判定手段と、
を有することを特徴とする隠れマルコフモデル探索装置。
【請求項3】
問い合わせシーケンスに対して最も尤度の高いモデルを探索する隠れマルコフモデル探索方法において、
コンピュータが、
シーケンスを確率密度関数に従う発生モデルを有する状態の遷移として表現する探索対象となる隠れマルコフモデルを格納するデータ記憶手段から読み出された探索対象である隠れマルコフモデルについて、近似の粒度を固定して、それぞれの粒度に対する尤度を計算し、
計算された尤度と所定の閾値とを比較して該尤度が該閾値より小さくなるまで該尤度計算を繰り返し、得られた尤度を新たな解候補として探索結果記憶手段に格納することを特徴とする隠れマルコフモデル探索方法。
【請求項4】
データストリームのサブシーケンスに対して最も尤度の高いモデルを探索する隠れマルコフモデル探索方法において、
コンピュータが、
1時刻前の解を始めの解の候補として探索結果記憶手段に格納しておき、
シーケンスを確率密度関数に従う発生モデルを有する状態の遷移として表現する探索対象となる隠れマルコフモデルを格納するデータ記憶手段から読み出された探索対象である隠れ隠れマルコフモデルについて、それぞれのモデルに対する1時刻前の粒度より1つ荒い粒度に対する尤度を計算し、
計算された尤度と所定の閾値とを比較して該尤度が該閾値より小さくなるまで尤度の計算を繰り返し、得られた尤度を新たな解候補として探索結果記憶手段に格納することを特徴とする隠れマルコフモデル探索方法。
【請求項5】
請求項1または2に記載の隠れマルコフモデル探索装置を構成する各手段としてコンピュータを機能させるための隠れマルコフモデル探索プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2011−28320(P2011−28320A)
【公開日】平成23年2月10日(2011.2.10)
【国際特許分類】
【出願番号】特願2009−170351(P2009−170351)
【出願日】平成21年7月21日(2009.7.21)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】