(57)【特許請求の範囲】
【請求項１】
過去にサンプルされた状態列の文脈木の配置を用いて、状態列の各位置において過去何個前までの状態まで参照するかを示す次数を決定する次数決定部と、
状態列の対象位置における観測系列と、当該対象位置を基準として前記決定された次数だけ前の位置から当該対象位置までの状態遷移とが同時に起こる確率である前向き確率を前記状態列の各位置において決定する確率決定部と、
前記状態列の各位置において、前記決定された当該位置における前記前向き確率を用いて、状態を確率的にサンプリングして状態列を決定する状態列決定部と、
前記決定された状態列を用いて、前記文脈木を更新する更新部と、
を備え、
更新後の前記文脈木を用いて、前記次数決定部で前記次数が決定され、その後、前記確率決定部、前記状態列決定部、及び前記更新部の処理が繰り返される
情報処理システム。
【請求項２】
前記文脈木は、階層ベイズモデルによって推定されたサンプル済の状態列の配置である
請求項１に記載の情報処理システム。
【請求項３】
前記確率決定部は、前記前向き確率を計算するときの前記観測系列の確率の計算において、これまでの全ての観測系列を使用する
請求項１または２に記載の情報処理システム。
【請求項４】
前記文脈木は前記状態遷移の文脈木と出力変数の文脈木とがあって、
前記出力変数の文脈木は状態の数だけある
請求項１から３のいずれか一項に記載の情報処理システム。
【請求項５】
前記決定された状態列の各位置における次数を用いて、状態列の各位置における閾値を確率的にサンプリングする閾値決定部を更に備え、
前記確率決定部は、前記状態列の各位置において、前記決定された当該位置における前記閾値未満の遷移確率を無視して、前記決定された当該位置における前記閾値以上の遷移確率を用いて前記前向き確率を計算する
請求項１から４のいずれか一項に記載の情報処理システム。
【請求項６】
少なくとも一つの情報処理装置を備える情報処理システムが実行する情報処理方法であって、
過去にサンプルされた状態列の文脈木の配置を用いて、状態列の各位置において過去何個前までの状態まで参照するかを示す次数を決定する次数決定手順と、
状態列の対象位置における観測系列と、当該対象位置を基準として前記決定された次数だけ前の位置から当該対象位置までの状態遷移とが同時に起こる確率である前向き確率を前記状態列の各位置において決定する確率決定手順と、
前記状態列の各位置において、前記決定された当該位置における前記前向き確率を用いて、状態を確率的にサンプリングして状態列を決定する状態列決定手順と、
前記決定された状態列を用いて、前記文脈木を更新する更新手順と、
を有し、
更新後の前記文脈木を用いて、前記次数決定手順で前記次数が決定され、その後、前記確率決定手順、前記状態列決定手順、及び前記更新手順の処理が繰り返される
情報処理方法。
【請求項７】
コンピュータを、
過去にサンプルされた状態列の文脈木の配置を用いて、状態列の各位置において過去何個前までの状態まで参照するかを示す次数を決定する次数決定部と、
状態列の対象位置における観測系列と、当該対象位置を基準として前記決定された次数だけ前の位置から当該対象位置までの状態遷移とが同時に起こる確率である前向き確率を前記状態列の各位置において決定する確率決定部と、
前記状態列の各位置において、前記決定された当該位置における前記前向き確率を用いて、状態を確率的にサンプリングして状態列を決定する状態列決定部と、
前記決定された状態列を用いて、前記文脈木を更新する更新部と、
として機能させるためのプログラムであって、
更新後の前記文脈木を用いて、前記次数決定部で前記次数が決定され、その後、前記確率決定部、前記状態列決定部、及び前記更新部の処理が繰り返されるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
時系列データを処理するための手法として、隠れマルコフモデル（Hidden Markov Model：HMM）が広く使われている。音声認識においては音声信号を音声符号に変換するための音響モデルとして、自然言語処理では形態素解析や品詞推定等に用いられる。多くの場合、計算量の問題から出力となる状態は１つ前の状態にのみ依存する１次マルコフモデル、あるいは長い状態の依存を考慮する場合でも２次マルコフモデルが用いられている。しかし、現実のデータにおいてある時刻の状態が直前の状態にのみ依存しているとは限らない。時刻ｔ−２よりも更に過去の状態に依存している場合もあれば，現在時刻ｔの状態はそれ以前の状態とは独立である場合も考えられる。これまで提案されてきたHMMの手法では、状態数をデータによって可変にするinfinite HMM(非特許文献１参照)や、出力変数（Emission）で過去の値への依存を考慮するAuto-Regressive HMM(非特許文献２参照)等が提案されている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】M.J.Beal, Z.Ghahramani, and C.E.Rasmussen, "The Infinite Hidden Markov Model," NIPS, 2001
【非特許文献２】Murphy, Kevin P. "Switching kalman filters." technical report, UC Berkeley, 1998
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、各時刻ｔの状態について２次を超える高次のモデルはこれまで計算量的に難しい。また仮に計算量の問題が無かったとしてもデータスパースネスの問題から現実的ではなかった。
【０００５】
本発明は、上記問題に鑑みてなされたものであり、隠れマルコフモデルにおいて二つ以上前の状態を考慮しつつ計算量を抑えることを可能とする情報処理システム、情報処理方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の第１の態様に係る情報処理システムは、過去にサンプルされた状態列の文脈木の配置を用いて、状態列の各位置において過去何個前までの状態まで参照するかを示す次数を決定する次数決定部と、状態列の対象位置における観測系列と、当該対象位置を基準として前記決定された次数だけ前の位置から当該対象位置までの状態遷移とが同時に起こる確率である前向き確率を前記状態列の各位置において決定する確率決定部と、前記状態列の各位置において、前記決定された当該位置における前記前向き確率を用いて、状態を確率的にサンプリングして状態列を決定する状態列決定部と、前記決定された状態列を用いて、前記文脈木を更新する更新部と、を備え、更新後の前記文脈木を用いて、前記次数決定部で前記次数が決定され、その後、前記確率決定部、前記状態列決定部、及び前記更新部の処理が繰り返される。
【０００７】
この構成によれば、必要なところは高次まで参照し、必要ないところは低次までしか参照しないので、探索範囲が減り、計算量を抑えることができる。
【０００８】
本発明の第２の態様に係る情報処理システムは、第１の態様に係る情報処理システムであって、前記文脈木は、階層ベイスモデルによって推定されたサンプル済の状態列の配置である。
【０００９】
この構成によれば、状態遷移の事前分布が、指数的に減少する分布（べき乗則を表す分布）となる。状態遷移の事前分布は、次数が大きくなるとともにより急峻な分布となる。サンプルされた状態遷移から推定された高次の遷移確率は、事前分布を入れたことで少数の高次の状態遷移が高い確率を持ち、その他のほとんどの状態遷移はゼロではないが小さい確率が与えられる。これにより、次数が高次の場合は、ほとんどの状態遷移を無視することができ、計算の爆発を避けられるとともに、ほとんどの状態遷移の確率が0となってしまうデータスパースネスの問題も解決できる。
【００１０】
本発明の第３の態様に係る情報処理システムは、第１または２の態様に係る情報処理システムであって、前記確率決定部は、前記前向き確率を計算するときの前記観測系列の確率の計算において、これまでの全ての観測系列を使用する。
【００１１】
この構成によれば、観測系列について最大の次数まで考慮することができるので、観測系列について全ての問題を考慮することができる。
【００１２】
本発明の第４の態様に係る情報処理システムは、第１から３のいずれかの態様に係る情報処理システムであって、前記文脈木は前記状態遷移の文脈木と出力変数の文脈木とがあって、前記出力変数の文脈木は状態の数だけある。
【００１３】
この構成によれば、状態毎に出力変数確率を変更することができる。例えば、状態が品詞を表す場合には、状態が名詞のときと動詞のときとで出力確率を変更することができる。
【００１４】
本発明の第５の態様に係る情報処理システムは、第１から４のいずれかの態様に係る情報処理システムであって、前記決定された状態列の各位置における次数を用いて、状態列の各位置における閾値を確率的にサンプリングする閾値決定部を更に備え、前記確率決定部は、前記状態列の各位置において、前記決定された当該位置における前記閾値未満の遷移確率を無視して、前記決定された当該位置における前記閾値以上の遷移確率を用いて前記前向き確率を計算する。
【００１５】
この構成によれば、閾値未満の遷移確率を無視できるので、状態が増えたとしても計算量の増加を抑えることができる。
【００１６】
本発明の第６の態様に係る情報処理方法は、過去にサンプルされた状態列の文脈木の配置を用いて、状態列の各位置において過去何個前までの状態まで参照するかを示す次数を決定する次数決定手順と、状態列の対象位置における観測系列と、当該対象位置を基準として前記決定された次数だけ前の位置から当該対象位置までの状態遷移とが同時に起こる確率である前向き確率を前記状態列の各位置において決定する確率決定手順と、前記状態列の各位置において、前記決定された当該位置における前記前向き確率を用いて、状態を確率的にサンプリングして状態列を決定する状態列決定手順と、前記決定された状態列を用いて、前記文脈木を更新する更新手順と、更新後の前記文脈木を用いて、前記次数決定手順で前記次数が決定され、その後、前記確率決定手順、前記状態列決定手順、及び前記更新手順の処理が繰り返される手順と、を有する。
【００１７】
この構成によれば、必要なところは高次まで参照し、必要ないところは低次までしか参照しないので、探索範囲が減り、計算量を抑えることができる。
【００１８】
本発明の第７の態様に係るプログラムは、コンピュータを、過去にサンプルされた状態列の文脈木の配置を用いて、状態列の各位置において過去何個前までの状態まで参照するかを示す次数を決定する次数決定部と、状態列の対象位置における観測系列と、当該対象位置を基準として前記決定された次数だけ前の位置から当該対象位置までの状態遷移とが同時に起こる確率である前向き確率を前記状態列の各位置において決定する確率決定部と、前記状態列の各位置において、前記決定された当該位置における前記前向き確率を用いて、状態を確率的にサンプリングして状態列を決定する状態列決定部と、前記決定された状態列を用いて、前記文脈木を更新する更新部と、として機能させるためのプログラムであって、更新後の前記文脈木を用いて、前記次数決定部で前記次数が決定され、その後、前記確率決定部、前記状態列決定部、及び前記更新部の処理が繰り返されるプログラムである。
【００１９】
この構成によれば、必要なところは高次まで参照し、必要ないところは低次までしか参照しないので、探索範囲が減り、計算量を抑えることができる。
【発明の効果】
【００２０】
本発明によれば、必要なところは高次まで参照し、必要ないところは低次までしか参照しないので、探索範囲が減り、計算量を抑えることができる。
【図面の簡単な説明】
【００２１】
【図１】本実施形態に係るvHMMの生成モデルである。
【図２】観測ngramの文脈木の一例である。
【図３】次数ｎtが２の場合の状態遷移確率について説明するための図である。
【図４】本実施例に係る情報処理システム１０の概略ブロック図である。
【図５】本実施例に係るＣＰＵ１の機能ブロック図である。
【図６】一つ前の位置ｔ−１に状態番号１の状態であるときの位置ｔにおける確率分布の一例である。
【図７】一つ前の位置ｔ−１から位置ｔへの遷移確率を表す表である。
【図８】文末の一例を示す図である。
【図９】vHMMの学習アルゴリズムの一例を示すフローチャートである。
【図１０】一実験例において設定されたＢＯＳからの遷移確率の真値である。
【図１１】一実験例において設定された遷移確率の真値である。
【図１２】一実験例におけるＢＯＳからの遷移確率の推定結果である。
【図１３】一実験例における遷移確率の推定結果である。
【図１４】一実験例における学習時の状態数の変化である。
【発明を実施するための形態】
【００２２】
＜本実施形態の概要＞
本発明の実施形態（以下、本実施形態という）では、第１に、iHMMの状態依存の次数ｎを確率変数として扱い、次数ｎそのものもデータから決定する。さらに出力変数（Emission）にも確率変数として次数ｎを与え、出力変数（Emission）の次数ｎもデータから推定する。これにより、必要なところは高次まで参照し、必要ないところは低次までしか参照しないので、探索範囲が減り、計算量を抑えることができる。
【００２３】
更に、本実施形態というでは、第２に、状態遷移及び観測値について事前分布を与えることにより、高次HMMの場合に問題となるデータスパースネスの問題を解決する。以下、本発明の実施形態について、図面を参照しながら説明する。
【００２４】
本実施形態では，ビームサンプリング（Beam Sampling：J.V.Gael et. Al, “Beam Sampling for The Infinite Hidden Markov Model,” ICML2008.)を基にし、（１）状態遷移及び出力変数（Emission）の事前分布として階層Pitman-Yor過程(以下、HPYLMという、Yee.Whye.Teh, ”Hierarchical Bayesian Language Model based on Pitman-Yor Processes,” ACL2006.)を用いる。ただし、Tehの提案するHPYLMでは、次数ｎは固定となるため、ここでは可変次数を扱えるよう拡張を行った持橋らのVPYLM(Mochihashi, et. al. “Infinite Markov Model.” NIPS 2007.)を用いる。
【００２５】
＜ビームサンプリング（Beam Sampling）＞
まず、ベースとなるビームサンプリング（Beam Sampling）について説明する。
ビームサンプリングは，infinite HMM（iHMM）の状態列のサンプリングに動的計画法を用いて効率よく計算を行う手法である。従来のinfinite HMMでは、状態数無限を扱うために、ラティスを構築して動的計画法で計算することが難しく、そのため系列（状態列）の各位置ｔにおける状態の確率はそれぞれ独立と仮定し、各位置ｔの状態のみを逐次的に更新してパラメータを更新するギブスサンプリング（Gibbs Sampling）を用いていた。
【００２６】
それに対して、ビームサンプリングでは、出現確率に対して補助変数（閾値ともいう）ｕを設定し、出現確率が補助変数ｕ以上となる状態まで抽出しそれ以外の状態を一つの状態にまとめるスライスサンプリング（slice sampling）を用いる。このスライスサンプリングを用いることで無限の状態数を有限の状態数に抑えることができる。このため、動的計画法を用いることで状態列を効率よく同時にサンプリングすることができる。
【００２７】
＜iHMMについて＞
続いて、本実施形態で提案するVariable order infinite hidden Markov model (vHMM)について説明する前に、その比較としてiHMMについて説明する。iHMMの生成モデルを次の式で表される。
【００２８】
【数１】
0006603610.tif 000002
【００２９】
yは観測値を表し、sは状態を表す。iHMMでは状態数を無限とするため、(1)式の状態遷移確率及び、word emission確率（状態から観測が生成される条件付き確率）に事前分布として階層ディリクレ過程を導入する。（１）式の同時確率から状態列をサンプリングする際、状態数が無限の場合にはHMMのラティスを組むことができない。そこで，ビームサンプリングでは系列（状態列）の各位置ｔに対して補助変数ｕを導入する。ｕは[0,πst-1st]の値の一様分布からサンプリングされる。
【００３０】
【数２】
0006603610.tif 000003
【００３１】
πは状態遷移確率を表し、πst-1stはサンプル済みの状態列の位置ｔ−１からｔへの状態遷移の確率を表す。
【００３２】
系列（状態列）の全ての位置で、状態Ｋへの遷移確率がｕtを下回るまでStick-breaking process(SBP)によって状態を生成し、状態Ｋをインクリメントする。状態が生成された際に、状態Kから既存の状態への遷移は、SBPで作られた各状態のGlobal Transition Probabilityを集中度パラメータとしてディリクレ過程から生成する。上記の手続きによって、補助変数ｕによって各位置ｔでの状態遷移は有限に抑えられる。
系列（状態列）の各位置ｔにおける状態と観測値の同時確率（前向き確率）の式を以下に示す。
【００３３】
【数３】
0006603610.tif 000004
【００３４】
式（２）より，前向き確率は再帰式によって表され、動的計画法によって効率良く計算が可能となる。
【００３５】
＜vHMMについて＞
続いて、本実施形態において提案するvHMMについて説明する。図１は、本実施形態に係るvHMMの生成モデルである。図１に示すように、状態列ｓ＝[s0, s1, s2, …, sT]の各位置において過去何個前までの状態まで参照するかを示す次数が可変である。また、観測系列ｙ＝[y0, y1, y2, …, yT]の各位置において過去何個前までの出力を参照するかを示す次数が可変である。状態列ｓの次数と、観測系列ｙの次数は独立である。
【００３６】
本実施形態で提案するvHMMでは、系列（状態列）の各位置ｔについて次数ｎを導入する。vHMMの生成モデルは次の式で表される。
【００３７】
【数４】
0006603610.tif 000005
【００３８】
ここで、右辺の１番目の確率ｐ（ｙ0t｜ｓt）は出力確率を表し、右辺の２番目の確率ｐ（ｓt｜ｓt―nt+1t-1）は状態遷移確率を表す。また、右辺の３番目の確率ｐ（ｓ，ｙ，ｎ）は、transition VPYLMの代理客の配置ｚから次数ｎを確率的にサンプリングするときの確率である。
【００３９】
ここで、図２を用いて出力確率を説明する。図２は、観測ngramの文脈木の一例である。図２の文脈木において、木の各ノードがレストランを表す。観測されたngramに対応するレストランに客を追加する状況を想定する。図２の例では、“2 1 3”というtrigram は１回、“2 1 5”というtrigramは２回観測されている。単純に考えると“2 1 3”というtrigramの出力確率P(3|2,1)=P(pass0)×P(pass1)×P(stop2)×1/6であり、“2 1 5”というtrigramの出力確率P(5|2,1)=P(pass0)×P(pass1)×P(stop2)×2/6であるが、実際には階層的なスムージングが入るため、予測確率の計算は次のように計算される。なお、P(pass0)は０階層を通過する確率、P(pass1)は１階層を通過する確率、P(stop2)は２階層で止まる確率である。
すなわち、予測確率は、次のステップにより計算される。
１．文脈uと単語wを受け取る。
２．次数（オーダー）nの積分消去を実行する。
その際に、（１）次数（オーダー）nについて、ｎ次で停止する確率Ｐ（ｎ｜context）を計算する。（２）次数（オーダー）をnとした時の、ｎ次の文脈｜u｜＝ｎで単語ｗが生成する確率であるngram確率Ｐ（ｗ｜context,n）を計算する。確率Ｐ（ｎ｜context）と、ngram確率Ｐ（ｗ｜context,n）を掛け合わせた物を全てのnについて足し合わせることにより、予測確率が算出される。ここで、確率Ｐ（ｎ｜context）と、ngram確率Ｐ（ｗ｜context,n）はそれぞれ次の式で表される。
【００４０】
【数５】
0006603610.tif 000006
【００４１】
a，bはそれぞれ文脈の深さnにおいて客が停止した回数，通過した回数を表す．VPYLMの更新時に，観測されたn-gramの次数nをサンプリングし，深さnの文脈へ客を追加することで，対応する文脈のレストランが持つaの頻度は更新され，そこに至るまでの文脈木の経路にある全てのレストランの持つbの頻度が更新される．αおよびβはベータ分布のハイパーパラメータを表し，通常は一様分布となるようα，βともに1が入る。
n-gram確率のcは文脈に対応するレストランにおける単語wの観測頻度，tは文脈に対応するレストランにおける単語wについて，チャイニーズレストランプロセスで推定されたテーブル数を表し，単語wが低次の文脈から生成されたと推定された回数を意味する。d，θはPitman-Yor 言語モデルのハイパーパラメータであり，dは深さnにおける頻度に対するディスカウントを，θは低次のn-gram確率を用いたスムージングの強さをコントロールする。π(context)は親の文脈を表し，文脈を1つ落とし低次のn-gramを見ることを意味する。
【００４２】
続いて、図３を用いて次数ｎtが２の場合の状態遷移確率について説明する。図３は、次数ｎtが２の場合の状態遷移確率について説明するための図である。図３において、表Ｔ１には、位置ｔ−２の状態番号及び位置ｔ−１の状態番号が与えられたときに、位置ｔにおいて状態番号３が出現する確率が示されている。例えば、次数ｎtが２の場合において、位置ｔ−２の状態番号が１で且つ位置ｔ−１の状態番号が２の場合、位置ｔで状態番号が３になる確率はＰ１２である。
【００４３】
状態遷移及び出力変数にVPYLMを用いるため、新規状態への遷移確率は、次の式で表される。
【００４４】
【数６】
0006603610.tif 000007
【００４５】
ここで、Ｇ0は、新規の状態クラスの生成確率である。例えば、１から１０までの状態クラスがあったときに、１１〜∞が一つにまとめられた状態クラスから、一つの１１の状態クラスを作る確率がＧ0となる。
【００４６】
状態列ｓの各状態はそれぞれが生成された隠れた次数ｎが存在すると仮定している．ｚは階層Ｐｉｔｍａｎ−Ｙｏｒ過程の階層Chinese  restaurant  process表現（Chinese  restaurant  franchise）における代理客の配置を表す隠れ変数である。vHMMのビームサンプリングでも同様に補助変数（閾値ともいう）ｕtを導入する。ｕtは状態列の各位置ｔで異なり、各位置ｔで以下のようにサンプルされる。
【００４７】
【数７】
0006603610.tif 000008
【００４８】
すなわち、状態列の各位置ｔにおいて、平均０且つ分散ｐ（ｓt｜ｓt―nt+1t-1）の一様分布から、補助変数（閾値ともいう）ｕtがサンプリングされる。ここで、状態列の各位置ｔにおいて、ｎt自身もサンプリングされる。次数ｎの項は，ベイズの定理から次のように展開できる。
【００４９】
【数８】
0006603610.tif 000009
【００５０】
ここで式（４）の右辺の第１項はVPYLMで計算した状態のn-gram確率である。式（４）右辺の第２項にはVPYLMに置ける次数ｎでの代理客の停止確率が使用される。このように、次数ｎでの停止確率を用いて学習時には、状態列の各位置でｎtがサンプリングされる。
vHMMの前向き確率を次の式で表される。
【００５１】
【数９】
0006603610.tif 000010
【００５２】
ここで、ｎt＞ｎt-1の場合、ｔ−１が持つ低次の前向き確率で高次の前向き確率を近似する。一方、ｎt＜ｎt-1の場合、ｔ−１の前向き確率を周辺化してｔの次数にあわせる。
式（５）により，vHMMが高次の場合でもビームサンプリング（Beam Sampling）が適用できる。また、状態列の持つ隠れ変数をChinese Restaurant Franchise （ＣＲＦ）の代理客の配置から推定しサンプルすることで、データから次数自体も得ることができる。状態遷移確率は事前分布として一例として階層Pitman-Yor過程を用いており、学習時のラティスに新規の状態Ｋ＋１を各位置で持たせることで，iHMM同様に状態数自体もデータから推定することができる。
【００５３】
＜本実施形態の効果＞
本実施形態のiHMMを用いることで，既存のHMMを用いた手法では扱えなかった、高次の状態依存を効率良く扱うことが可能となる。また、データが持つ本来の次数も学習を行うことで、データの持つ複雑さを事前に仮定することなしに得ることができる。
従来、高次HMMの学習は状態遷移の組合せが爆発するため、使用可能な学習データでは十分学習が行えず、精度を出すことができなかった。しかし。提案手法では階層Pitman-Yor過程を事前分布に置くことによって適切なスムージングを行い、入手可能なサイズのデータからでも精度を落とすことなく高次HMMの学習が行える。また，階層Pitman-Yor過程を事前分布として置くことにより，高次の状態遷移確率は、より急峻な分布を持つ。そのため、ビームサンプリング（Beam Sampling）では殆どの状態遷移が足切りされ、高次でも効率良く前向き確率の計算が可能となる。
【００５４】
＜実施例＞
続いて、本発明の一つの実施例について説明する。図４は、本実施例に係る情報処理システム１０の概略ブロック図である。図４に示すように、ＣＰＵ（Central Processing Unit）１、入力部２、ＲＡＭ（Random Access Memory）３、記憶部４を備える。入力部２、ＲＡＭ３及び記憶部４は、ＣＰＵ１とバスを介して接続されている。
入力部２は、ユーザの入力を受け付け、受け付けた入力を示す情報をＣＰＵ１へ出力する。
ＲＡＭ３には、情報を一時的に保持する。
記憶部４には、ＣＰＵ１が読み出して実行するプログラムが格納されている。また、記憶部４には、文脈木に関する情報が記憶されている。
【００５５】
ＣＰＵ１は、記憶部４に格納されているプログラムを読み出して実行することにより、図５に示す次数決定部１１、閾値決定部１２、確率決定部１３、状態列決定部１４、更新部１５及び判定部１６として機能する。図５は、本実施例に係るＣＰＵ１の機能ブロック図である。
【００５６】
次数決定部１１は、記憶部４を参照して、過去にサンプルされた状態列ｓの文脈木の配置を用いて、状態列の各位置において過去何個前までの状態まで参照するかを示す次数を決定する。例えば、次数決定部１１は、状態列ｓの各位置の次数を、ベータ分布の期待値でサンプリングする。
ここで、文脈木は、階層ベイスモデルによって推定されたサンプル済の状態列の配置である。本実施形態では一例として、階層ベイスモデルは、階層ピットマンヨー過程である。なお、階層ベイスモデルは、階層ディリクレ過程（HDP）でもよい。
【００５７】
この構成によれば、状態遷移の事前分布が、指数的に減少する分布（べき乗則を表す分布）となる。状態遷移の事前分布は、次数ｎが大きくなるとともに急激に減衰する特性を有し、この状態遷移の事前分布がベータ分布に乗算されることによって、状態遷移の確率分布が生成される。これにより、次数ｎが高次の項に対しては、ほとんどの高次の状態遷移の遷移確率が小さくなるので、ほとんどの高次の次数の状態遷移を無視することができ、計算の爆発を避けられるとともに、階層ベイズモデルを事前分布に用いた適切なスムージングによってデータスパースネスの問題も解決できる。
【００５８】
また、文脈木は状態遷移の文脈木と出力変数の文脈木とがあって、出力変数の文脈木は状態の数だけある。これにより、状態毎に出力変数確率を変更することができる。例えば、状態が品詞を表す場合には、状態が名詞のときと動詞のときとで出力確率を変更することができる。
【００５９】
閾値決定部１２は、決定された状態列の各位置における次数を用いて、状態列の各位置ｔにおける閾値を確率的にサンプリングする。
【００６０】
確率決定部１３は、状態列の対象位置における観測系列ｙと、当該対象位置を基準として決定された次数だけ前の位置から当該対象位置までの状態遷移とが同時に起こる確率である前向き確率を状態列の各位置において決定する。
このとき確率決定部１３は、前向き確率を計算するときの観測系列ｙの確率の計算において、これまでの全ての観測系列を使用する。これにより、観測系列について最大の次数まで考慮することができるので、観測系列について全ての問題を考慮することができる。
【００６１】
具体的には例えば、確率決定部１３は、式（７）に従って、前向き確率を状態列の各位置において決定する。
【００６２】
図６は、一つ前の位置ｔ−１に状態番号１の状態であるときの位置ｔにおける確率分布の一例である。ここで例えば閾値ｕt＝０．１であるとすると、状態番号１〜１０は閾値ｕt＝０．１以上であるが、状態番号１１〜∞は閾値ｕt未満である。この場合、例えば、一つ前の位置ｔ−１から位置ｔへの遷移確率は、例えば図７のように表される。図７は、一つ前の位置ｔ−１から位置ｔへの遷移確率を表す表である。図７の表において、位置ｔ−１の状態番号が１の場合、位置ｔにおいて状態番号１〜１０は閾値ｕt＝０．１以上の遷移確率を示し、状態番号１１〜∞は一つに合算された遷移確率が示されている。
【００６３】
確率決定部１３は例えば、状態列の各位置において、決定された当該位置ｔにおける閾値ｕt未満の遷移確率（例えば、図７の表における状態番号１１〜∞の遷移確率）を無視して、決定された当該位置における閾値ｕt以上の遷移確率（例えば、図７の表における状態番号１〜１０の遷移確率）を用いて前向き確率を計算する。より詳細には、確率決定部１３は例えば、当該位置における閾値ｕt以上の確率を持つ遷移について、当該位置に到達する全ての状態遷移と観測系列の同時確率を周辺化することで前向き確率を計算する。
【００６４】
この構成によれば、閾値ｕt未満の遷移確率（例えば、図７の表における状態番号１１〜∞の遷移確率）を無視できるので、状態が増えたとしても計算量の増加を抑えることができる。
【００６５】
状態列決定部１４は、状態列の各位置において、決定された当該位置における前向き確率を用いて、状態を確率的にサンプリングして状態列を決定する。図８は、文末の一例を示す図である。具体的には、図８に示すように、状態列決定部１４は、状態列の各位置において、決定された当該位置における前向き確率を用いて、状態列の文末から確率的に状態をサンプリングする。
【００６６】
更新部１５は、決定された状態列を用いて、記憶部４に記憶されている文脈木を更新する。そして、更新後の文脈木を用いて、次数決定部１１で再び次数が決定され、その後、閾値決定部１２、確率決定部１３、状態列決定部１４、及び更新部１５の処理が繰り返される。
【００６７】
続いて上記の構成を有する情報処理システム１０の動作について図９を用いて説明する。図９は、vHMMの学習アルゴリズムの一例を示すフローチャートである。
【００６８】
（ステップＳ１０１）まずＣＰＵ１は、入力として観測系列ｙを取得する。
【００６９】
（ステップＳ１０２）次にＣＰＵ１は、初期値として状態列ｓをランダムに設定する。
【００７０】
（ステップＳ１０３）次にＣＰＵ１は、状態遷移確率と出力変数（Emission）確率を更新する。
【００７１】
（ステップＳ１０４）次に次数決定部１１は、状態列の各位置において次数を決定する。
【００７２】
（ステップＳ１０５）次に閾値決定部１２は、状態列の各位置における閾値を確率的にサンプリングする。
【００７３】
（ステップＳ１０６）次に確率決定部１３は、状態列の各位置において前向き確率を決定する。
【００７４】
（ステップＳ１０７）次に状態列決定部１４は、状態列の各位置において、決定された当該位置における前向き確率を用いて、状態を確率的にサンプリングして状態列を決定する。
【００７５】
（ステップＳ１０８）次に更新部１５は、決定された状態列を用いて、状態遷移の文脈木と出力変数の文脈木を更新する。
【００７６】
（ステップＳ１０９）次に更新部１５は、状態遷移確率と出力変数（Emission）確率を更新する。
【００７７】
（ステップＳ１１０）次に判定部１６は、収束条件を満たすか否か判定する。収束条件を満たす場合、終了する。収束条件を満たさない場合、処理がステップＳ１０４に戻る。
【００７８】
＜実験データ＞
続いて、本実施例に係る一実験例について説明する。本実験例では、長さ２０の系列を１００件生成し、語彙数８、状態数４とし、初期状態数１０、遷移の最大次数６（７−ｇｒａｍ）、出力変数の最大次数４（５−ｇｒａｍ）で学習した。
【００７９】
図１０は、一実験例において設定されたＢＯＳからの遷移確率の真値である。ＢＯＳから状態番号１の状態に遷移することが示されている。図１１は、一実験例において設定された遷移確率の真値である。図１１の表では、遷移先の状態番号と遷移先の状態番号によって遷移確率が特定される。例えば、ＢＯＳからは状態番号１の状態に遷移するので、この状態番号１の状態から更に状態番号が２、３の状態に遷移する。
【００８０】
図１２は、一実験例におけるＢＯＳからの遷移確率の推定結果である。ＢＯＳから状態番号１の状態への遷移確率が１に近い値になっており、他の状態への遷移確率が０に近い値になっており、学習が成功したことを示している。
【００８１】
また、図１３は、一実験例における遷移確率の推定結果である。状態番号１の状態から状態番号２、３の状態への遷移確率が真値０．５に近い値になっており、他の状態への遷移確率が真値０に近い値になっており、学習が成功したことを示している。
【００８２】
図１４は、一実験例における学習時の状態数の変化である。図１４は縦軸が状態数で横軸が計算の繰り返し回数である。図１４に示すように、４００回の計算の繰り返しで、状態数が５に収束している。
【００８３】
なお、本実施例では一台の情報処理システム１０が各処理を実行したが、これに限らず、複数の情報処理装置を備える情報処理システムが、各処理を、それらの複数の情報処理装置で分散して処理してもよい。
【００８４】
また、本実施例の情報処理システムの各処理を実行するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、当該記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、プロセッサが実行することにより、本実施例の情報処理システムに係る上述した種々の処理を行ってもよい。
【００８５】
以上、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【００８６】
１：ＣＰＵ（Central Processing Unit）
２：入力部
３：ＲＡＭ
４：記憶部
１０：情報処理システム
１１：次数決定部
１２：閾値決定部
１３：確率決定部
１４：状態列決定部
１５：更新部
１６：判定部
【図１】
0006603610.tif 000011
【図２】
0006603610.tif 000012
【図３】
0006603610.tif 000013
【図４】
0006603610.tif 000014
【図５】
0006603610.tif 000015
【図６】
0006603610.tif 000016
【図７】
0006603610.tif 000017
【図８】
0006603610.tif 000018
【図９】
0006603610.tif 000019
【図１０】
0006603610.tif 000020
【図１１】
0006603610.tif 000021
【図１２】
0006603610.tif 000022
【図１３】
0006603610.tif 000023
【図１４】
0006603610.tif 000024