(57)【特許請求の範囲】
【請求項１】
状態を識別する状態識別子を含む３以上の状態情報と、状態から状態への遷移を示し、遷移のクラスを識別するクラス識別子と遷移する確率を示すクラス連鎖確率とを有する２以上の遷移情報とを有する第一の重みつき有限状態トランスデューサ（第一ＷＦＳＴ）を格納している第一ＷＦＳＴ格納部と、
クラス識別子と当該クラス識別子で識別されるクラスに属する１以上の要素情報とを有する２以上のクラス情報を格納しているクラス情報格納部と、
状態識別子を受け付ける受付部と、
前記受付部が受け付けた状態識別子で識別される状態からの遷移のクラスを識別する２以上のクラス識別子を前記第一ＷＦＳＴ格納部から取得し、当該２以上の各クラス識別子に対応する２以上の要素情報を前記クラス情報格納部から取得する要素情報取得部と、
前記要素情報取得部が取得した２以上の要素情報をソートするソート部と、
前記ソート部がソートした２以上の各要素情報に対応するクラス連鎖確率を用いて、前記２以上の各要素情報の遷移確率を取得する遷移確率取得部と、
前記受付部が受け付けた状態識別子で識別される状態からの遷移を示す遷移情報として、前記ソート部がソートした２以上の各要素情報と、当該各要素情報の遷移確率とを有する２以上の遷移情報を取得し、第二の重みつき有限状態トランスデューサ（第二ＷＦＳＴ）を取得する第二ＷＦＳＴ構成部と、
前記第二ＷＦＳＴ構成部が取得した第二ＷＦＳＴを用いて、予め決められた処理を行う処理部とを具備する情報処理装置。
【請求項２】
前記受付部は、
２以上の各状態識別子を、順次、受け付け、
前記要素情報取得部は、
前記受付部が状態識別子を受け付けた場合に、当該状態識別子で識別されるアクティブな状態からの遷移のクラスを識別する２以上のクラス識別子を前記第一ＷＦＳＴ格納部から直ちに取得し、当該２以上の各クラス識別子に対応する２以上の要素情報を前記クラス情報格納部から取得し、
前記第二ＷＦＳＴ構成部は、
前記受付部が受け付けた状態識別子で識別される状態からの遷移を示す遷移情報として、前記ソート部がソートした２以上の各要素情報と、当該各要素情報の遷移確率とを有する２以上の各遷移情報を、順次、動的に取得する請求項１記載の情報処理装置。
【請求項３】
前記クラス情報は、
クラス識別子と、１以上の要素情報と、当該１以上の各要素情報の重みとを有し、
前記遷移確率取得部は、
前記ソート部がソートした２以上の各要素情報に対応するクラス連鎖確率と前記２以上の各要素情報に対応する重みとを用いて、前記２以上の各要素情報の遷移確率を取得する請求項１または請求項２記載の情報処理装置。
【請求項４】
前記ソート部は、
前記要素情報取得部が取得した２以上の要素情報をヒープソートのアルゴリズムによりソートする請求項１から請求項３いずれか記載の情報処理装置。
【請求項５】
前記受付部は、
音声情報を受け付け、当該音声情報を１以上の状態識別子に分割し、
前記処理部は、
前記受付部が受け付けた音声情報に対して、音声認識処理を行い、音声認識処理の結果を取得し、出力する請求項１から請求項４いずれか記載の情報処理装置。
【請求項６】
記録媒体に、
状態を識別する状態識別子を含む３以上の状態情報と、状態から状態への遷移を示し、遷移のクラスを識別するクラス識別子と遷移する確率を示すクラス連鎖確率とを有する２以上の遷移情報とを有する第一の重みつき有限状態トランスデューサ（第一ＷＦＳＴ）と、
クラス識別子と当該クラス識別子で識別されるクラスに属する１以上の要素情報とを有する２以上のクラス情報を格納しており、
コンピュータを、
状態識別子を受け付ける受付部と、
前記受付部が受け付けた状態識別子で識別される状態からの遷移のクラスを識別する２以上のクラス識別子を前記記録媒体から取得し、当該２以上の各クラス識別子に対応する２以上の要素情報を前記記録媒体から取得する要素情報取得部と、
前記要素情報取得部が取得した２以上の要素情報をソートするソート部と、
前記ソート部がソートした２以上の各要素情報に対応するクラス連鎖確率を用いて、前記２以上の各要素情報の遷移確率  を取得する遷移確率取得部と、
前記受付部が受け付けた状態識別子で識別される状態からの遷移を示す遷移情報として、前記ソート部がソートした２以上の各要素情報と、当該各要素情報の遷移確率とを有する２以上の遷移情報を取得し、第二の重みつき有限状態トランスデューサ（第二ＷＦＳＴ）を取得する第二ＷＦＳＴ構成部と、
前記第二ＷＦＳＴ構成部が取得した第二ＷＦＳＴを用いて、予め決められた処理を行う処理部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クラスＮ−ｇｒａｍモデルに対応する重みつき有限状態トランスデューサを処理する情報処理装置等に関するものである。
【背景技術】
【０００２】
音声認識や機械翻訳等の音声言語処理システムにおいて、重み付き有限状態トランスデューサ(Weighted Finite-State Transducer:ＷＦＳＴ)に基づく効率的なデコーディングを行う技術が存在する（非特許文献１参照）。
【０００３】
また、一般に、音声言語処理システムでは、言語の尤もらしさを評価する言語モデルが用いられる。この言語モデルとして、予め大量のテキストコーパスから推定された単語連鎖確率によって表されるＮ−ｇｒａｍモデルなどがある。特に、クラスＮ−ｇｒａｍモデルは、一つ以上の単語をグループ化したクラスの集合を定義して、そのクラスの連鎖確率によって言語をモデル化する（非特許文献２参照）。クラスＮ−ｇｒａｍモデルは、同じような文脈で出現する単語をクラス化することにより、テキストコーパスには現れなかった単語列に対しても適切な確率を付与できるメリットがある。また、クラスＮ−ｇｒａｍモデルは、システムに新規単語を追加する際も、適当なクラスに追加すればよく、コーパスを用いて新たに連鎖確率を推定し直す必要がないというメリットがある。
一方、音声やテキスト等のシステムへの入力に対して、種々のモデルに基づいて、最も尤もらしい解（音声認識結果や翻訳結果）を求めるデコーディングにおいては、重みつき有限状態トランスデューサ（以下、適宜「ＷＦＳＴ」と言う。）に基づく手法が用いられる。ＷＦＳＴは、種々のモデルを統一的な形式で表現し、それらを合成することにより全探索空間を構成し、当該全探索空間を最適化することにより非常に効率的な解探索処理が可能となるデータ構造である。
【０００４】
また、従来、音声認識中に必要な状態や状態遷移のみをオンデマンドで合成するｏｎ−ｔｈｅ−ｆｌｙ合成という技術があった（非特許文献３参照）。
【０００５】
また、ＷＦＳＴを用いた音声認識技術があった（特許文献１参照）。さらに、ＷＦＳＴを用いた機械翻訳術があった（特許文献２参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−８４９４２号公報
【特許文献２】特開２００６−３９８０４号公報
【非特許文献】
【０００７】
【非特許文献１】Mehryar Mohri, Fernando C. N. Pereira, and Michael Riley. Weighted Finite-State Transducers in Speech Recognition. Computer Speech and Language, 16(1):69-88, 2002.
【非特許文献２】C. Allauzen, M. Mohri, B. Roark, "Generalized algorithms for constructing statistical language models", in Proc. ACL2003, pp. 40-47, 2003.
【非特許文献３】大西 翼，ディクソン・ポール，岩野 公司*，古井 貞煕，"WFST音声認識デコーダにおけるon-the-fly合成の最適化処理"，電子情報通信学会論文誌, D Vol.J92-D, No.7 pp.1026-1035 (2009)
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、クラスＮ−ｇｒａｍモデルをＷＦＳＴで表現すると非常に多くの状態遷移が必要となり、デコーディング時のメモリ使用量が著しく増加してしまう、という課題があった。また、メモリ使用量を削減するために、ｏｎ−ｔｈｅ−ｆｌｙ合成を利用する場合には、クラスの連鎖確率を表すＷＦＳＴとクラスから単語に展開するＷＦＳＴとをオンデマンドで合成し、さらに別のＷＦＳＴと合成するために、状態遷移を単語ＩＤでソートする必要がある。このオーバヘッドはデコーディングの計算量を著しく増加させる、という課題があった。
【課題を解決するための手段】
【０００９】
本第一の発明の情報処理装置は、状態を識別する状態識別子を含む３以上の状態情報と、状態から状態への遷移を示し、遷移のクラスを識別するクラス識別子と遷移する確率を示すクラス連鎖確率とを有する２以上の遷移情報とを有する第一の重みつき有限状態トランスデューサ（第一ＷＦＳＴ）を格納している第一ＷＦＳＴ格納部と、クラス識別子とクラス識別子で識別されるクラスに属する１以上の要素情報とを有する２以上のクラス情報を格納しているクラス情報格納部と、状態識別子を受け付ける受付部と、受付部が受け付けた状態識別子で識別される状態からの遷移のクラスを識別する２以上のクラス識別子を第一ＷＦＳＴ格納部から取得し、２以上の各クラス識別子に対応する２以上の要素情報をクラス情報格納部から取得する要素情報取得部と、要素情報取得部が取得した２以上の要素情報をソートするソート部と、ソート部がソートした２以上の各要素情報に対応するクラス連鎖確率を用いて、２以上の各要素情報の遷移確率を取得する遷移確率取得部と、受付部が受け付けた状態識別子で識別される状態からの遷移を示す遷移情報として、ソート部がソートした２以上の各要素情報と、各要素情報の遷移確率とを有する２以上の遷移情報を取得し、第二の重みつき有限状態トランスデューサ（第二ＷＦＳＴ）を取得する第二ＷＦＳＴ構成部と、第二ＷＦＳＴ構成部が取得した第二ＷＦＳＴを用いて、予め決められた処理を行う処理部とを具備する情報処理装置である。
【００１０】
かかる構成により、クラスＮ−ｇｒａｍモデルを表現したＷＦＳＴを少ないメモリ使用量で、かつ少ない計算量で使用することができる。
【００１１】
また、本第二の発明の情報処理装置は、第一の発明に対して、受付部は、２以上の各状態識別子を、順次、受け付け、要素情報取得部は、受付部が状態識別子を受け付けた場合に、状態識別子で識別されるアクティブな状態からの遷移のクラスを識別する２以上のクラス識別子を第一ＷＦＳＴ格納部から直ちに取得し、２以上の各クラス識別子に対応する２以上の要素情報をクラス情報格納部から取得し、第二ＷＦＳＴ構成部は、受付部が受け付けた状態識別子で識別される状態からの遷移を示す遷移情報として、ソート部がソートした２以上の各要素情報と、各要素情報の遷移確率とを有する２以上の各遷移情報を、順次、動的に取得する情報処理装置である。
【００１２】
かかる構成により、クラスＮ−ｇｒａｍモデルを表現したＷＦＳＴを少ないメモリ使用量で、かつ少ない計算量で使用することができる。
【００１３】
また、本第三の発明の情報処理装置は、第一または第二の発明に対して、クラス情報は、クラス識別子と、１以上の要素情報と、１以上の各要素情報の重みとを有し、遷移確率取得部は、ソート部がソートした２以上の各要素情報に対応するクラス連鎖確率と２以上の各要素情報に対応する重みとを用いて、２以上の各要素情報の遷移確率を取得する情報処理装置である。
【００１４】
かかる構成により、クラスＮ−ｇｒａｍモデルを表現したＷＦＳＴを少ないメモリ使用量で、かつ少ない計算量で使用することができる。
【００１５】
また、本第四の発明の情報処理装置は、第一から第三いずれかの発明に対して、ソート部は、要素情報取得部が取得した２以上の要素情報をヒープソートのアルゴリズムによりソートする情報処理装置である。
【００１６】
かかる構成により、クラスＮ−ｇｒａｍモデルを表現したＷＦＳＴをさらに少ない計算量で使用することができる。
【００１７】
また、本第五の発明の情報処理装置は、第一から第四いずれかの発明に対して、受付部は、音声情報を受け付け、音声情報を１以上の状態識別子に分割し、処理部は、受付部が受け付けた音声情報に対して、音声認識処理を行い、音声認識処理の結果を取得し、出力する情報処理装置である。
【００１８】
かかる構成により、クラスＮ−ｇｒａｍモデルを表現したＷＦＳＴを少ないメモリ使用量で、かつ少ない計算量で使用して、音声認識処理を行うことができる。
【発明の効果】
【００１９】
本発明による情報処理装置によれば、クラスＮ−ｇｒａｍモデルを表現したＷＦＳＴを少ないメモリ使用量で、かつ少ない計算量で使用することができる。
【図面の簡単な説明】
【００２０】
【図１】実施の形態１における情報処理装置のブロック図
【図２】同情報処理装置の動作について説明するフローチャート
【図３】同第一ＷＦＳＴを示す図
【図４】同クラス情報管理表を示す図
【図５】同ソートされた要素識別子の集合を示す図
【図６】同ヒープソートを説明する図
【図７】同コンピュータシステムの概観図
【図８】同コンピュータシステムのブロック図
【発明を実施するための形態】
【００２１】
以下、情報処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【００２２】
（実施の形態１）
本実施の形態において、クラスＮ−ｇｒａｍモデルに対応するＷＦＳＴを処理し、音声認識処理、または機械翻訳処理等の予め決められた処理を行う情報処理装置について説明する。
【００２３】
図１は、本実施の形態における情報処理装置１のブロック図である。情報処理装置１は、第一ＷＦＳＴ格納部１１、クラス情報格納部１２、受付部１３、要素情報取得部１４、ソート部１５、遷移確率取得部１６、第二ＷＦＳＴ構成部１７、および処理部１８を具備する。
【００２４】
第一ＷＦＳＴ格納部１１は、第一の重みつき有限状態トランスデューサ（第一ＷＦＳＴ）を格納している。第一ＷＦＳＴとは、クラスＮ−ｇｒａｍのモデルを実現したＷＦＳＴである。また、第一ＷＦＳＴは、３以上の状態情報と、２以上の遷移情報とを有する。状態情報は、状態を識別する状態識別子を含む。状態識別子は、例えば、状態のＩＤ、入力クラスと出力クラスの組などである。また、遷移情報は、状態から状態への遷移（アーク）を示し、遷移のクラスを識別するクラス識別子と遷移する確率を示すクラス連鎖確率とを有する。クラス識別子は、例えば、クラスのＩＤ、クラス名などである。また、クラス連鎖確率とは、入力クラスから出力クラスに遷移する確率を示す情報である。なお、クラス連鎖確率は、確率を示す情報であれば良い。つまり、クラス連鎖確率は、確率自体でなくとも良く、入力クラスから遷移可能性のある１以上の出力クラスへの遷移情報（アーク）の総和は「１」であるとは限らない。
【００２５】
クラス情報格納部１２は、２以上のクラス情報を格納している。クラス情報は、クラスに関する情報であり、クラス識別子と１以上の要素情報とを有する。要素情報は、クラス識別子で識別されるクラスに属する情報である。また、要素情報とは、例えば、単語、音素、単語の読みを示す情報、単語列等である。また、クラス情報は、クラス識別子と、１以上の要素情報と、１以上の各要素情報の重みとを有することは好適である。要素情報の重みとは、要素情報がクラスに属する重みである。重みは、例えば、クラスの中から要素情報が選択される場合の、選択され易さまたは選択され難さを示す情報であり、例えば、選択される確率を示す情報である。また、クラス情報は、一つの要素情報のみである場合もあり得る。かかる場合、クラス識別子と要素情報とが同一である場合もあり得る。そして、この場合、クラス情報は要素情報のみであるが、クラス識別子と要素情報とを有することと同一視するものとする。
【００２６】
受付部１３は、状態識別子を受け付ける。また、受付部１３は、２以上の各状態識別子を、順次、受け付けても良い。また、受付部１３は、例えば、音声情報を受け付け、音声情報を１以上の状態識別子（例えば、音素）に分割しても良い。また、受付部１３は、例えば、１以上の単語からなる文を受け付け、文を１以上の状態識別子（例えば、単語や形態素）に分割しても良い。受付部１３が音声情報や文等を受け付けた場合も、当該音声情報や文等を分割して得られた１以上の状態識別子を、受付部１３は受け付けたものとする。
【００２７】
ここで、受け付けとは、キーボードやマウス、マイク、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。なお、状態識別子や状態識別子の元になる音声情報や文などの入力手段は、キーボードやマウスやメニュー画面によるもの等、何でも良い。
【００２８】
要素情報取得部１４は、受付部１３が受け付けた状態識別子で識別される状態からの遷移のクラスを識別する１以上のクラス識別子を第一ＷＦＳＴ格納部１１から取得する。そして、要素情報取得部１４は、取得した１以上の各クラス識別子に対応する２以上の要素情報をクラス情報格納部１２から取得する。
【００２９】
また、要素情報取得部１４は、受付部１３が状態識別子を受け付けた場合に、状態識別子で識別されるアクティブな状態からの遷移のクラスを識別する２以上のクラス識別子を第一ＷＦＳＴ格納部１１から直ちに取得し、２以上の各クラス識別子に対応する２以上の要素情報をクラス情報格納部１２から取得しても良い。
【００３０】
ソート部１５は、要素情報取得部１４が取得した２以上の要素情報をソートする。なお、要素情報取得部１４が一つのクラス識別子に対応する要素情報のみを取得した場合、ソート部１５の処理は不要である。また、ソート部１５は、要素情報取得部１４が取得した２以上の要素情報をヒープソートのアルゴリズムによりソートすることは好適である。ここでのソートとは、要素情報をキーとしてソートすることである。また、ソートアルゴリズムは、ヒープソートが好適であるが、マージソート、クイックソート等、他のソートアルゴリズムでも良い。
【００３１】
遷移確率取得部１６は、ソート部１５がソートした２以上の各要素情報に対応するクラス連鎖確率を用いて、２以上の各要素情報の遷移確率を取得する。なお、要素情報に対応するクラス連鎖確率とは、要素情報が属するクラスに対応するクラス連鎖確率である。クラスに対応するクラス連鎖確率とは、クラスを識別するクラス識別子と対になるクラス連鎖確率である。かかるクラス連鎖確率は、第一ＷＦＳＴが有する。また、遷移確率は連鎖確率と言っても良い。
【００３２】
また、遷移確率取得部１６は、ソート部１５がソートした２以上の各要素情報に対応するクラス連鎖確率と２以上の各要素情報に対応する重みとを用いて、２以上の各要素情報の遷移確率を取得することは好適である。ここで、遷移確率は、クラス連鎖確率と要素情報の重みとをパラメータとする増加関数により算出される。遷移確率取得部１６は、例えば、クラス連鎖確率と重みとの積や和により算出する。
【００３３】
第二ＷＦＳＴ構成部１７は、受付部１３が受け付けた状態識別子で識別される状態からの遷移を示す遷移情報（アーク）として、ソート部１５がソートした２以上の各要素情報と、各要素情報の遷移確率とを有する２以上の遷移情報（アーク）を生成し、第二の重みつき有限状態トランスデューサ（第二ＷＦＳＴ）を取得する。ここで、第二ＷＦＳＴとは、アクティブな状態と、その状態からの遷移の部分は、少なくともＮ−ｇｒａｍモデルに対応するＷＦＳＴである。なお、第二ＷＦＳＴの一部（例えば、アクティブな状態とその状態からの遷移の部分以外の部分）は、クラスＮ−ｇｒａｍモデルであっても良い。
【００３４】
また、第二ＷＦＳＴ構成部１７は、受付部１３が受け付けた状態識別子で識別される状態からの遷移を示す遷移情報として、ソート部１５がソートした２以上の各要素情報と、各要素情報の遷移確率とを有する２以上の各遷移情報を、順次、動的に生成することは好適である。
【００３５】
処理部１８は、第二ＷＦＳＴ構成部１７が取得した第二ＷＦＳＴを用いて、予め決められた処理を行う。ここで予め決められた処理とは、例えば、音声認識処理や機械翻訳処理等である。ただし、予め決められた処理は、第二ＷＦＳＴを記録媒体に蓄積するだけの処理でも良い。
【００３６】
例えば、処理部１８は、受付部１３が受け付けた音声情報に対して、音声認識処理を行い、音声認識処理の結果を取得し、出力する。また、例えば、処理部１８は、受付部１３が受け付けた原言語の文に対して、目的言語への機械翻訳を行い、機械翻訳の結果を取得し、出力する。なお、ＷＦＳＴを用いて、音声認識処理や機械翻訳処理を行うことは公知技術であるので、詳細な説明を省略する。なお、ここで、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタへの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
【００３７】
第一ＷＦＳＴ格納部１１、およびクラス情報格納部１２は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。第一ＷＦＳＴ格納部１１等に第一ＷＦＳＴ等が記憶される過程は問わない。例えば、記録媒体を介して第一ＷＦＳＴ等が第一ＷＦＳＴ格納部１１等で記憶されるようになってもよく、通信回線等を介して送信された第一ＷＦＳＴ等が第一ＷＦＳＴ格納部１１等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された第一ＷＦＳＴ等が第一ＷＦＳＴ格納部１１等で記憶されるようになってもよい。
【００３８】
要素情報取得部１４、ソート部１５、遷移確率取得部１６、第二ＷＦＳＴ構成部１７、および処理部１８は、通常、ＭＰＵやメモリ等から実現され得る。要素情報取得部１４等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００３９】
次に、情報処理装置１の動作について図２のフローチャートを用いて説明する。なお、図２のフローチャートの前処理として、受け付けた情報から１以上の状態識別子を取得し、当該１以上の状態識別子を順次、ステップＳ２０１で受付部１３に渡すようにしても良い。なお、受け付けた情報から１以上の状態識別子を取得する処理は、例えば、受け付けた文を１以上の単語に分割し、状態識別子である単語を、１以上取得する処理である。
【００４０】
（ステップＳ２０１）受付部１３は、状態識別子を受け付けたか否かを判断する。状態識別子を受け付ければステップＳ２０２に行き、状態識別子を受け付けなければステップＳ２０１に戻る。
【００４１】
（ステップＳ２０２）要素情報取得部１４は、ステップＳ２０１で受け付けられた状態識別子を用いて、アクティブな状態を決定する。要素情報取得部１４は、例えば、受け付けられた状態識別子と一致する状態識別子を第一ＷＦＳＴ格納部１１から検索する。
【００４２】
（ステップＳ２０３）要素情報取得部１４は、ステップＳ２０２で検索した状態識別子で識別される状態（アクティブな状態）からのすべての遷移のクラスを識別する２以上のクラス識別子を第一ＷＦＳＴ格納部１１から取得する。
【００４３】
（ステップＳ２０４）要素情報取得部１４は、カウンタｉに１を代入する。
【００４４】
（ステップＳ２０５）要素情報取得部１４は、ステップＳ２０３で取得したクラス識別子の中で、ｉ番目のクラス識別子が存在するか否かを判断する。ｉ番目のクラス識別子が存在すればステップＳ２０６に行き、存在しなければステップＳ２０８に行く。
【００４５】
（ステップＳ２０６）要素情報取得部１４は、ｉ番目のクラス識別子と対になる１以上の要素情報をクラス情報格納部１２から取得し、図示しないバッファに一時蓄積する。なお、要素情報取得部１４は、ｉ番目のクラス識別子がクラス情報格納部１２に存在しない場合、ｉ番目のクラス識別子を要素情報として、図示しないバッファに一時蓄積することは好適である。
【００４６】
（ステップＳ２０７）要素情報取得部１４は、カウンタｉを１、インクリメントし、ステップＳ２０５に戻る。
【００４７】
（ステップＳ２０８）ソート部１５は、図示しないバッファ内のすべての要素情報をソートする。なお、ソートは、ヒープソートのアルゴリズムで行われることは好適である。
【００４８】
（ステップＳ２０９）遷移確率取得部１６は、カウンタｊに１を代入する。
【００４９】
（ステップＳ２１０）遷移確率取得部１６は、ソートされた要素情報の中で、ｊ番目の要素情報が存在するか否かを判断する。ｊ番目の要素情報が存在すれば、ステップＳ２１１に行き、存在しなければステップＳ２１４に行く。
【００５０】
（ステップＳ２１１）遷移確率取得部１６は、ｊ番目の要素情報が属するクラスに対応するクラス連鎖確率を、第一ＷＦＳＴから取得する。また、遷移確率取得部１６は、ｊ番目の要素情報に対応する重みをクラス情報格納部１２から取得する。そして、遷移確率取得部１６は、演算式「遷移確率＝ｆ（クラス連鎖確率，重み）」を実行し、遷移確率を取得する。なお、演算式ｆは、例えば、「クラス連鎖確率×重み」または「クラス連鎖確率＋重み」等である。
【００５１】
（ステップＳ２１２）第二ＷＦＳＴ構成部１７は、アクティブな状態からの遷移を示す遷移情報（アーク）として、ｊ番目の要素情報と、ステップＳ２１１で取得された遷移確率とを有する遷移情報（アーク）を生成する。
【００５２】
（ステップＳ２１３）遷移確率取得部１６は、カウンタｊを１、インクリメントし、ステップＳ２１０に戻る。
【００５３】
（ステップＳ２１４）処理部１８は、第二ＷＦＳＴ構成部１７が取得した第二ＷＦＳＴを用いて、予め決められた処理を行う。
【００５４】
（ステップＳ２１５）処理部１８は、処理を終了するか否かを判断する。処理を終了するとの判断の場合は処理を終了し、処理を終了しないとの判断の場合はステップＳ２０１に戻る。なお、例えば、処理部１８は、受付部１３が受け付けた情報から得られた１以上の状態識別子に対する処理がすべて終了したか否かを判断し、すべて終了した場合に、処理を終了するか否かを判断する。
【００５５】
以下、本実施の形態における情報処理装置１の具体的な動作について説明する。ここでは、情報処理装置１は音声認識処理を行う装置である、とする。
【００５６】
今、第一ＷＦＳＴ格納部１１は、図３に示す第一ＷＦＳＴを格納している。なお、第一ＷＦＳＴは、クラスＮ−ｇｒａｍのモデルを実現したＷＦＳＴの一部である。図３に示す第一ＷＦＳＴの状態情報は、入力のクラスのクラス識別子と、出力のクラスのクラス識別子とを有する。図３の３１は、状態の例である。図３の３１の［地名］は入力のクラスのクラス識別子であり、図３の３１の［から］は出力のクラスのクラス識別子である。なお、ここでの［から］は、要素識別子（一つの要素識別子のみを有するクラス識別子）である。また、図３の３２は遷移（アーク）の例である。そして、図３の３２の［交通手段］は遷移情報を構成する情報であり、遷移のクラスを識別するクラス識別子である。また、図３の３２のｐ１は、遷移情報を構成するクラス連鎖確率である。なお、要素識別子は、要素情報と同じでも良いし、要素情報を識別する情報でも良い。
【００５７】
また、クラス情報格納部１２は、図４に示すクラス情報管理表を保持している。クラス情報管理表は、２以上のクラス情報を有する。クラス情報は、クラス識別子、要素識別子、および重みを有する。なお、クラス情報は、重みを有さなくても良い。かかる場合、例えば、要素情報の重みは、クラス情報に含まれる要素情報において、均等であると考えられる。つまり、クラス情報が重みを有さず、かつ、当該クラスに属する要素情報が３つの場合、例えば、各要素情報の重みは１／３である。また、クラス情報管理表において、クラス情報内の要素情報は、予めソートされている、とする。
【００５８】
かかる状況において、ユーザは「東京から新幹線で行くには」と発声した、とする。
【００５９】
次に、受付部１３は、音声情報「東京から新幹線で行くには」を受け付ける。そして、受付部１３は、受け付けた音声情報を、「東京／から／新幹線／で／行く／に／は」と分割した、とする。
【００６０】
そして、情報処理装置１は、「東京から」までの音声認識処理を行い、現在の状態を「［地名］，［から］」であると決定した、とする。なお、ここまでの処理の詳細は、後述する処理と同様である。
【００６１】
そして、情報処理装置１の受付部１３は、状態識別子「［地名］，［から］」を受け付けた、とする。
【００６２】
次に、要素情報取得部１４は、受け付けられた状態識別子「［地名］，［から］」を用いて、第一ＷＦＳＴ（図３）を検索し、アクティブな状態を、図３の３１の状態である、と決定する。
【００６３】
次に、要素情報取得部１４は、アクティブな状態からの遷移先のクラスを識別する２つのクラス識別子（［交通手段］、［地名］）を図３の第一ＷＦＳＴから取得する。
【００６４】
次に、要素情報取得部１４は、クラス識別子［交通手段］に属する要素識別子（「新幹線」「バス」「マイカー」・・・）を、図４のクラス情報管理表から取得し、バッファに一時蓄積する。また、要素情報取得部１４は、クラス識別子［地名］に属する要素識別子（「大阪」「東京」「横浜」・・・）を、図４のクラス情報管理表から取得しバッファに追記する。
【００６５】
次に、ソート部１５は、バッファ内のすべての要素情報をキーとしてヒープソートする。そして、要素情報取得部１４は、バッファに、図５に示すソートされた要素情報の集合を得る。要素情報の集合では、交通手段と地名とが混在している。
【００６６】
なお、ヒープソートについて、図６を用いて説明する。クラスＣ１、Ｃ２、・・・、Ｃｋの各要素情報「ｅ１１，ｅ１２，・・・」、「ｅ２１，ｅ２２，・・・」、・・・、「ｅｋ１，ｅｋ２，・・・」が存在する、とする。かかる場合、第一に、各クラスのリストの最初の要素情報をヒープにプッシュする。第二に、ヒープから要素情報ｅｉｊをポップしてマージリストへ挿入する。第三に、ｉ番目のリストのｊ＋１番目の要素情報があればヒープにプッシュし、無ければ第二の処理に戻る。そして、ヒープとリストの両方が空になったら終了する。なお、ヒープとは、最小（または最大）の要素が常に木の根に配置される２分木のデータ構造である。
【００６７】
上記の第二の処理における繰り返しは、ソートする全要素数がｎ回であり、ヒープへのプッシュ、および、ヒープからのポップはヒープの要素数（最大でｋ）の、底を２とする対数（ｌｏｇ２）に比例する。従って、全体でＯ（ｎｌｏｇ２ｋ）の計算量となる。なお、従来は、クイックソートを用いてもＯ（ｎｌｏｇ２ｎ）の計算量が必要であった。つまり、一般に、ｋ＜＜ｎなので本発明の計算量削減の効果は非常に大きいと言える。
【００６８】
次に、遷移確率取得部１６は、各要素情報が属するクラスに対応するクラス連鎖確率（ｐ１またはｐ２）を取得する。また、遷移確率取得部１６は、各要素情報の重み（ｗ１１，ｗ１２，・・・，ｗ２１等）を図４のクラス情報管理表から取得する。そして、遷移確率取得部１６は、演算式「遷移確率＝ｆ（クラス連鎖確率，重み）」を実行し、各要素情報の遷移確率を取得する。
【００６９】
次に、第二ＷＦＳＴ構成部１７は、アクティブな状態からの遷移を示す遷移情報（アーク）として、要素情報と遷移確率とを有する２以上の遷移情報（アーク）を生成する。かかる処理により、第二ＷＦＳＴが生成される。
【００７０】
次に、処理部１８は、第二ＷＦＳＴを用いて、音声認識処理を行う。なお、ＷＦＳＴを用いた音声認識技術は公知技術であるので詳細な説明を省略する。
【００７１】
以上、本実施の形態によれば、クラスＮ−ｇｒａｍモデルを表現したＷＦＳＴを少ないメモリ使用量で、かつ少ない計算量で使用することができる。
【００７２】
また、本実施の形態において、２以上の要素情報をヒープソートのアルゴリズムによりソートすることにより、クラスＮ−ｇｒａｍモデルを表現したＷＦＳＴをさらに少ない計算量で使用することができる。
【００７３】
なお、本実施の形態において生成した第二ＷＦＳＴは、音声認識処理、機械翻訳処理に限らず、いかなる処理に利用しても良い。
【００７４】
さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをＣＤ−ＲＯＭなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記録媒体に、状態を識別する状態識別子を含む３以上の状態情報と、状態から状態への遷移を示し、遷移のクラスを識別するクラス識別子と遷移する確率を示すクラス連鎖確率とを有する２以上の遷移情報とを有する第一の重みつき有限状態トランスデューサ（第一ＷＦＳＴ）と、クラス識別子と当該クラス識別子で識別されるクラスに属する１以上の要素情報とを有する２以上のクラス情報を格納しており、コンピュータを、状態識別子を受け付ける受付部と、前記受付部が受け付けた状態識別子で識別される状態からの遷移のクラスを識別する２以上のクラス識別子を前記記録媒体から取得し、当該２以上の各クラス識別子に対応する２以上の要素情報を前記記録媒体から取得する要素情報取得部と、前記要素情報取得部が取得した２以上の要素情報をソートするソート部と、前記ソート部がソートした２以上の各要素情報に対応するクラス連鎖確率を用いて、前記２以上の各要素情報の遷移確率を取得する遷移確率取得部と、前記受付部が受け付けた状態識別子で識別される状態からの遷移を示す遷移情報として、前記ソート部がソートした２以上の各要素情報と、当該各要素情報の遷移確率とを有する２以上の遷移情報を取得し、第二の重みつき有限状態トランスデューサ（第二ＷＦＳＴ）を取得する第二ＷＦＳＴ構成部と、前記第二ＷＦＳＴ構成部が取得した第二ＷＦＳＴを用いて、予め決められた処理を行う処理部として機能させるためのプログラム、である。
【００７５】
また、上記プログラムにおいて、前記受付部は、２以上の各状態識別子を、順次、受け付け、前記要素情報取得部は、前記受付部が状態識別子を受け付けた場合に、当該状態識別子で識別されるアクティブな状態からの遷移のクラスを識別する２以上のクラス識別子を前記第一ＷＦＳＴ格納部から直ちに取得し、当該２以上の各クラス識別子に対応する２以上の要素情報を前記クラス情報格納部から取得し、前記第二ＷＦＳＴ構成部は、前記受付部が受け付けた状態識別子で識別される状態からの遷移を示す遷移情報として、前記ソート部がソートした２以上の各要素情報と、当該各要素情報の遷移確率とを有する２以上の各遷移情報を、順次、動的に取得するものとして、コンピュータを機能させるプログラムであることは好適である。
【００７６】
また、上記プログラムにおいて、前記クラス情報は、クラス識別子と、１以上の要素情報と、当該１以上の各要素情報の重みとを有し、前記遷移確率取得部は、前記ソート部がソートした２以上の各要素情報に対応するクラス連鎖確率と前記２以上の各要素情報に対応する重みとを用いて、前記２以上の各要素情報の遷移確率を取得するものとして、コンピュータを機能させるプログラムであることは好適である。
【００７７】
また、上記プログラムにおいて、前記ソート部は、前記要素情報取得部が取得した２以上の要素情報をヒープソートのアルゴリズムによりソートするものとして、コンピュータを機能させるプログラムであることは好適である。
【００７８】
また、上記プログラムにおいて、前記受付部は、音声情報を受け付け、当該音声情報を１以上の状態識別子に分割し、前記処理部は、前記受付部が受け付けた音声情報に対して、音声認識処理を行い、音声認識処理の結果を取得し、出力するものとして、コンピュータを機能させるプログラムであることは好適である。なお、上記プログラムにおいて、前記処理部は、音声翻訳を行っても良い。
【００７９】
また、図７は、本明細書で述べたプログラムを実行して、上述した実施の形態の情報処理装置等を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図７は、このコンピュータシステム３００の概観図であり、図８は、コンピュータシステム３００のブロック図である。
【００８０】
図７において、コンピュータシステム３００は、ＤＶＤ−ＲＡＭドライブ、ＣＤ−ＲＯＭドライブを含むコンピュータ３０１と、キーボード３０２と、マウス３０３と、モニタ３０４、マイク３０５とを含む。
【００８１】
図８において、コンピュータ３０１は、ＤＶＤ−ＲＡＭドライブ３０１１、ＣＤ−ＲＯＭドライブ３０１２に加えて、ＭＰＵ３０１３と、ＣＤ−ＲＯＭドライブ３０１２及びＤＶＤ−ＲＡＭドライブ３０１１に接続されたバス３０１４と、ブートアッププログラム等のプログラムを記憶するためのＲＯＭ３０１５とに接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのＲＡＭ３０１６と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク３０１７とを含む。ここでは、図示しないが、コンピュータ３０１は、さらに、ＬＡＮへの接続を提供するネットワークカードを含んでも良い。
【００８２】
コンピュータシステム３００に、上述した実施の形態の情報処理装置等の機能を実行させるプログラムは、ＣＤ−ＲＯＭ３１０１、またはＤＶＤ−ＲＡＭ３１０２に記憶されて、ＣＤ−ＲＯＭドライブ３０１２またはＤＶＤ−ＲＡＭドライブ３０１１に挿入され、さらにハードディスク３０１７に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ３０１に送信され、ハードディスク３０１７に記憶されても良い。プログラムは実行の際にＲＡＭ３０１６にロードされる。プログラムは、ＣＤ−ＲＯＭ３１０１、ＤＶＤ−ＲＡＭ３１０２またはネットワークから直接、ロードされても良い。
【００８３】
プログラムは、コンピュータ３０１に、上述した実施の形態の情報処理装置等の機能を実行させるオペレーティングシステム（ＯＳ）、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能（モジュール）を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム３００がどのように動作するかは周知であり、詳細な説明は省略する。
【００８４】
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【００８５】
また、上記各実施の形態において、各処理（各機能）は、単一の装置（システム）によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
【００８６】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【００８７】
以上のように、本発明にかかる情報処理装置は、クラスＮ−ｇｒａｍモデルを表現したＷＦＳＴを少ないメモリ使用量で、かつ少ない計算量で使用することができる、という効果を有し、音声認識装置等として有用である。
【符号の説明】
【００８８】
１  情報処理装置
１１  第一ＷＦＳＴ格納部
１２  クラス情報格納部
１３  受付部
１４  要素情報取得部
１５  ソート部
１６  遷移確率取得部
１７  第二ＷＦＳＴ構成部
１８  処理部
【図１】
0005881157.tif 000002
【図２】
0005881157.tif 000003
【図３】
0005881157.tif 000004
【図４】
0005881157.tif 000005
【図５】
0005881157.tif 000006
【図６】
0005881157.tif 000007
【図７】
0005881157.tif 000008
【図８】
0005881157.tif 000009