(57)【特許請求の範囲】
【請求項１】
予め登録されたクエリを、隣接する音素に依存しない第１の音響モデルの音素を並べて、第１の音素列に変換する第１の変換手段と、
前記クエリを、隣接する音素に依存する第２の音響モデルの音素を並べて、第２の音素列に変換する第２の変換手段と、
音声信号の入力を受け付ける音声信号受付手段と、
前記音声信号受付手段によって入力が受け付けられた前記音声信号の特徴量が、前記第１の音響モデルの各音素から出力される出力確率を、フレーム毎に取得する第１の出力確率取得手段と、
前記第１の出力確率取得手段によってフレーム毎に取得された、前記第１の音響モデルの各音素の出力確率を、順次キューに格納するキュー格納手段と、
前記キューに格納された前記第１の音響モデルの各音素の出力確率のうち、前記第１の音素列に対応する音素の出力確率を累積することにより、累積確率を取得する累積確率取得手段と、
前記累積確率取得手段によって取得された累積確率が第１の条件を満たした場合、前記第１の条件を満たす前記累積確率が取得された前記音声信号の区間を含む所定の区間における前記音声信号の特徴量が、前記第２の音素列に含まれる各音素から出力される第２の出力確率を、フレーム毎に取得する第２の出力確率取得手段と、
前記第２の出力確率取得手段によって取得された第２の出力確率に基づいて、前記音声信号において前記クエリに対応する音声が発せられていることの尤もらしさを示す尤度を取得する尤度取得手段と、
前記尤度取得手段によって取得された尤度が第２の条件を満たした場合、前記音声信号において前記クエリに対応する音声が発せられていると判定する判定手段と、
を備えることを特徴とする音声認識装置。
【請求項２】
前記第１の出力確率取得手段によって取得された、前記第１の音響モデルの各音素の出力確率のうちから、フレーム毎に最大の出力確率を特定し、前記第１の音響モデルの各音素の出力確率を、フレーム毎に、特定した最大の出力確率で正規化する正規化手段をさらに備え、
前記キュー格納手段は、前記正規化手段によって正規化された出力確率を、前記キューに格納する、
ことを特徴とする請求項１に記載の音声認識装置。
【請求項３】
前記累積確率取得手段によって前記累積確率が取得された前記音声信号の区間において、前記キューに格納された前記第１の音響モデルの各音素の出力確率のうちから、フレーム毎に最大の出力確率を特定し、特定した最大の出力確率を累積することにより、第２の累積確率を取得する第２の累積確率取得手段をさらに備え、
前記第１の条件は、前記累積確率取得手段によって取得された累積確率を、前記第２の累積確率取得手段によって取得された第２の累積確率で除算した値が、第１の閾値以上である場合に、満たされる、
ことを特徴とする請求項１又は２に記載の音声認識装置。
【請求項４】
前記尤度取得手段は、前記第２の出力確率取得手段によって取得された第２の出力確率に基づいて、前記尤度を、動的計画法により取得し、
前記第２の出力確率取得手段によって取得された出力確率のうち、音素認識によって認識された音素の出力確率に基づいて、前記尤度取得手段によって前記尤度が取得された前記音声信号の区間において前記クエリが発せられていることの尤もらしさを示す第２の尤度を取得する第２の尤度取得手段をさらに備え、
前記第２の条件は、前記尤度取得手段によって取得された尤度を、前記第２の尤度取得手段によって取得された第２の尤度で除算した値が、第２の閾値以上である場合に、満たされる、
ことを特徴とする請求項１から３のいずれか１項に記載の音声認識装置。
【請求項５】
前記第１の変換手段は、予め登録された複数のクエリを、それぞれ前記第１の音響モデルの音素を並べて、複数の第１の音素列に変換し、
前記累積確率取得手段は、前記複数の第１の音素列のそれぞれについて、前記キューに格納された前記第１の音響モデルの各音素の出力確率のうち、対応する音素の出力確率を累積することにより、前記累積確率を取得し、
前記累積確率取得手段によって、前記複数のクエリのそれぞれについて取得された累積確率に基づいて、前記複数のクエリのうちから候補クエリを決定する候補決定手段をさらに備え、
前記第２の変換手段は、前記候補クエリを前記第２の音素列に変換し、
前記第２の出力確率取得手段は、前記候補クエリについて取得された累積確率が前記第１の条件を満たした場合、前記第１の条件を満たす前記累積確率が取得された前記音声信号の区間を含む所定の区間における前記音声信号の特徴量が、前記第２の音素列に含まれる各音素から出力される第２の出力確率を、フレーム毎に取得し、
前記尤度取得手段は、前記第２の出力確率取得手段によって取得された第２の出力確率に基づいて、前記音声信号において前記候補クエリに対応する音声が発せられていることの尤もらしさを示す尤度を取得し、
前記判定手段は、前記尤度取得手段によって取得された尤度が前記第２の条件を満たした場合、前記音声信号において前記候補クエリに対応する音声が発せられていると判定する、
ことを特徴とする請求項１から４のいずれか１項に記載の音声認識装置。
【請求項６】
前記判定手段によって、前記音声信号において前記クエリに対応する音声が発せられていると判定された場合、前記キューに格納された出力確率のうち、前記クエリに対応する音声が発せられていると判定された区間の出力確率を削除して、前記第１の出力確率取得手段、前記キュー格納手段、前記累積確率取得手段、前記第２の出力確率取得手段、前記尤度取得手段、及び前記判定手段の処理を繰り返す繰り返し手段をさらに備える、
ことを特徴とする請求項１から５のいずれか１項に記載の音声認識装置。
【請求項７】
予め登録されたクエリを、隣接する音素に依存しない第１の音響モデルの音素を並べて、第１の音素列に変換する第１の変換ステップと、
前記クエリを、隣接する音素に依存する第２の音響モデルの音素を並べて、第２の音素列に変換する第２の変換ステップと、
音声信号の入力を受け付ける音声信号受付ステップと、
前記音声信号受付ステップで入力が受け付けられた前記音声信号の特徴量が、前記第１の音響モデルの各音素から出力される出力確率を、フレーム毎に取得する第１の出力確率取得ステップと、
前記第１の出力確率取得ステップでフレーム毎に取得された、前記第１の音響モデルの各音素の出力確率を、順次キューに格納するキュー格納ステップと、
前記キューに格納された前記第１の音響モデルの各音素の出力確率のうち、前記第１の音素列に対応する音素の出力確率を累積することにより、累積確率を取得する累積確率取得ステップと、
前記累積確率取得ステップで取得された累積確率が第１の条件を満たした場合、前記第１の条件を満たす前記累積確率が取得された前記音声信号の区間を含む所定の区間における前記音声信号の特徴量が、前記第２の音素列に含まれる各音素から出力される第２の出力確率を、フレーム毎に取得する第２の出力確率取得ステップと、
前記第２の出力確率取得ステップで取得された第２の出力確率に基づいて、前記音声信号において前記クエリに対応する音声が発せられていることの尤もらしさを示す尤度を取得する尤度取得ステップと、
前記尤度取得ステップで取得された尤度が第２の条件を満たした場合、前記音声信号において前記クエリに対応する音声が発せられていると判定する判定ステップと、
を含む音声認識方法。
【請求項８】
コンピュータを、
予め登録されたクエリを、隣接する音素に依存しない第１の音響モデルの音素を並べて、第１の音素列に変換する第１の変換手段、
前記クエリを、隣接する音素に依存する第２の音響モデルの音素を並べて、第２の音素列に変換する第２の変換手段、
音声信号の入力を受け付ける音声信号受付手段、
前記音声信号受付手段によって入力が受け付けられた前記音声信号の特徴量が、前記第１の音響モデルの各音素から出力される出力確率を、フレーム毎に取得する第１の出力確率取得手段、
前記第１の出力確率取得手段によってフレーム毎に取得された、前記第１の音響モデルの各音素の出力確率を、順次キューに格納するキュー格納手段、
前記キューに格納された前記第１の音響モデルの各音素の出力確率のうち、前記第１の音素列に対応する音素の出力確率を累積することにより、累積確率を取得する累積確率取得手段、
前記累積確率取得手段によって取得された累積確率が第１の条件を満たした場合、前記第１の条件を満たす前記累積確率が取得された前記音声信号の区間を含む所定の区間における前記音声信号の特徴量が、前記第２の音素列に含まれる各音素から出力される第２の出力確率を、フレーム毎に取得する第２の出力確率取得手段、
前記第２の出力確率取得手段によって取得された第２の出力確率に基づいて、前記音声信号において前記クエリに対応する音声が発せられていることの尤もらしさを示す尤度を取得する尤度取得手段、
前記尤度取得手段によって取得された尤度が第２の条件を満たした場合、前記音声信号において前記クエリに対応する音声が発せられていると判定する判定手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声認識装置、音声認識方法及びプログラムに関する。
【背景技術】
【０００２】
近年、音声や動画等のマルチメディアコンテンツの拡大・普及に伴い、高精度且つ高速な音声認識技術が求められている。その中で、与えられたクエリ（キーワード）が発話されている箇所を音声信号の中から特定するワードスポッティングの技術が研究されている。
【０００３】
例えば非特許文献１は、音声信号同士を高速に比較する方法を開示している。これにより、音声で入力されたクエリに対応する箇所を音声信号の中から高速に特定することができ、高速なワードスポッティングが実現可能になる。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Ｙ．Ｚｈａｎｇ  ａｎｄ  Ｊ．Ｇｌａｓｓ．  “Ａｎ  ｉｎｎｅｒ−ｐｒｏｄｕｃｔ  ｌｏｗｅｒ−ｂｏｕｎｄ  ｅｓｔｉｍａｔｅ  ｆｏｒ  ｄｙｎａｍｉｃ  ｔｉｍｅ  ｗａｒｐｉｎｇ”，  ｉｎ  Ｐｒｏｃ．  ＩＣＡＳＳＰ，２０１１，ｐｐ．５６６０−５６６３．
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、非特許文献１ではクエリを音声で入力するため、ワードスポッティングの対象となる音声が複数の話者の音声を含んでいた場合、クエリ入力者の音声と特徴が似ている話者の発話が優先されることがある。また、クエリを音声で入力する方法は、クエリ入力者の音声が音響的に特異である場合、又はそもそもクエリ入力者が発声困難な場合には、利用できない。
【０００６】
本発明は、以上のような課題を解決するためのものであり、高精度且つ高速なワードスポッティングが可能な音声認識装置、音声認識方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明に係る音声認識装置は、
予め登録されたクエリを、隣接する音素に依存しない第１の音響モデルの音素を並べて、第１の音素列に変換する第１の変換手段と、
前記クエリを、隣接する音素に依存する第２の音響モデルの音素を並べて、第２の音素列に変換する第２の変換手段と、
音声信号の入力を受け付ける音声信号受付手段と、
前記音声信号受付手段によって入力が受け付けられた前記音声信号の特徴量が、前記第１の音響モデルの各音素から出力される出力確率を、フレーム毎に取得する第１の出力確率取得手段と、
前記第１の出力確率取得手段によってフレーム毎に取得された、前記第１の音響モデルの各音素の出力確率を、順次キューに格納するキュー格納手段と、
前記キューに格納された前記第１の音響モデルの各音素の出力確率のうち、前記第１の音素列に対応する音素の出力確率を累積することにより、累積確率を取得する累積確率取得手段と、
前記累積確率取得手段によって取得された累積確率が第１の条件を満たした場合、前記第１の条件を満たす前記累積確率が取得された前記音声信号の区間を含む所定の区間における前記音声信号の特徴量が、前記第２の音素列に含まれる各音素から出力される第２の出力確率を、フレーム毎に取得する第２の出力確率取得手段と、
前記第２の出力確率取得手段によって取得された第２の出力確率に基づいて、前記音声信号において前記クエリに対応する音声が発せられていることの尤もらしさを示す尤度を取得する尤度取得手段と、
前記尤度取得手段によって取得された尤度が第２の条件を満たした場合、前記音声信号において前記クエリに対応する音声が発せられていると判定する判定手段と、
を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、高精度且つ高速なワードスポッティングが可能となる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態に係る音声認識装置の物理構成を示す図である。
【図２】本発明の実施形態に係る音声認識装置の機能構成を示す図である。
【図３】（ａ）は、音声信号の波形図である。（ｂ）は、音声信号において設定されるフレームを示す図である。
【図４】（ａ）は、フレーム毎に取得された各音素の出力確率の例を示す図である。（ｂ）は、フレーム毎に最大出力確率で正規化された出力確率の例を示す図である。
【図５】キューに格納された出力確率とクエリとの対応関係を概念的に示す図である。
【図６】出力確率をＬｏｗｅｒ−Ｂｏｕｎｄ化する例を示す図である。
【図７】ＤＰマッチングによる最尤系列の探索を、音声信号のフレームとクエリのトライフォン及びバイフォンとのマトリックスを用いて示す図である。
【図８】本発明の実施形態に係る音声認識装置が実行する音声認識事前処理の流れを示すフローチャートである。
【図９】本発明の実施形態に係る音声認識装置が実行する音声認識処理の流れを示す第１のフローチャートである。
【図１０】本発明の実施形態に係る音声認識装置が実行する音声認識処理の流れを示す第２のフローチャートである。
【図１１】本発明の実施形態に係る音声認識装置が実行する音声認識処理の流れを示す第３のフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について、図面を参照して説明する。なお、図中同一又は相当する部分には同一符号を付す。
【００１１】
本発明の実施形態に係る音声認識装置は、入力された音声信号（音声ストリーム信号）に対して、予め登録された１以上のクエリ（キーワード）のいずれかが発声・発話されている信号であるか否かを順次判定することにより音声を認識する、ワードスポッティング方式の音声認識装置である。
【００１２】
本発明の実施形態に係る音声認識装置は、物理的には図１に示すように構成される。音声認識装置１００は、ＲＯＭ（Read Only Memory）１と、ＲＡＭ（Random Access Memory）２と、外部記憶装置３と、入力装置４と、出力装置５と、ＣＰＵ（Central Processing Unit）６と、を備える。
【００１３】
ＲＯＭ１は、各種初期設定、ハードウェアの検査、プログラムのロード等を行うための初期プログラムを記憶する。ＲＡＭ２は、ＣＰＵ６が実行する各種ソフトウェアプログラム、これらのソフトウェアプログラムの実行に必要なデータ等を一時的に記憶する。
【００１４】
外部記憶装置３は、例えば、ハードディスク等であって、各種ソフトウェアプログラム、データ等を記憶する。これらソフトウェアプログラムの中には、アプリケーションソフトウェアプログラムやＯＳ（Operating System）のような基本ソフトウェアプログラムなどが含まれている。
【００１５】
入力装置４は、例えば、マイクロフォン等の音声入力装置、及びＰＣＭ（Pulse Code Modulation）等のサンプリングを行うＡＤＣ（Analog Digital Converter：アナログ−デジタル変換器）等を備える。入力装置４は、音声入力装置から入力されたアナログ音声信号を、ＡＤＣによってデジタル音声信号に変換する。また、入力装置４は、キーボード等を備え、ユーザがキーボードを用いて操作入力したテキストデータ等をＣＰＵ６に入力する。
【００１６】
出力装置５は、例えば、液晶ディスプレイ等の画面、スピーカ等を備える。出力装置５は、ＣＰＵ６によって出力されたテキストデータや画像を画面に表示し、音声データをスピーカから出力する。
【００１７】
ＣＰＵ６は、命令やデータを転送するための伝送経路であるシステムバスを介して音声認識装置１００の各部と接続され、音声認識装置１００全体を制御する。具体的には、ＣＰＵ６は、外部記憶装置３に記憶されたソフトウェアプログラムをＲＡＭ２に読み出して、そのソフトウェアプログラムを実行制御することにより、以下に図２に示す機能構成を参照して説明するように、音声認識装置１００の各部として機能する。
【００１８】
音声認識装置１００は、機能的には図２に示すように構成される。音声認識装置１００は、クエリ記憶部１０１と、モノフォンモデル記憶部１０２と、トライフォンモデル記憶部１０３と、継続長記憶部１０４と、第１の変換部１１１と、継続長取得部１１２と、第２の変換部１１３と、音声信号受付部１２１と、フレーム指定部１２２と、第１の出力確率取得部１２３と、正規化部１２４と、キュー格納部１２５と、第１の累積確率取得部１２６と、候補決定部１２７と、第２の累積確率取得部１２８と、第２の出力確率取得部１２９と、第１の尤度取得部１３０と、第２の尤度取得部１３１と、判定部１３２と、繰り返し部１３３と、を備える。クエリ記憶部１０１、モノフォンモデル記憶部１０２、トライフォンモデル記憶部１０３、及び継続長記憶部１０４は、外部記憶装置３の記憶領域に構築されている。
【００１９】
クエリ記憶部１０１は、ワードスポッティングの対象となる１以上のクエリ（キーワード）を、文字列（テキスト）情報で記憶する。この１以上のクエリは、例えば入力装置４として備えられたキーボードを介してユーザが入力することにより、クエリ記憶部１０１に予め登録される。或いは、音声認識装置１００は、外部の機器とネットワークを介して通信する通信装置を備え、通信装置を介して外部の機器から１以上のクエリを取得して、取得した１以上のクエリをクエリ記憶部１０１に予め登録しておくこともできる。
【００２０】
モノフォンモデル記憶部１０２及びトライフォンモデル記憶部１０３は、音響モデルを記憶する。音響モデルは、クエリとして取得可能な文字列を構成する各音素の周波数特性をモデル化したものである。具体的に、モノフォンモデル記憶部１０２は、モノフォン（１音素）による音響モデル（モノフォンモデル）を記憶し、トライフォンモデル記憶部１０３は、トライフォン（３音素）による音響モデル（トライフォンモデル）を記憶する。
【００２１】
モノフォンモデルは、１音素毎に生成された音響モデルであり、隣接する音素に依存しない、すなわち前後の音素状態との状態遷移を固定化した音響モデルである。トライフォンモデルは、３音素毎に生成された音響モデルであり、隣接する音素に依存する、すなわち前後の音素状態との状態遷移を考慮した音響モデルである。音声認識装置１００は、モノフォンモデル及びトライフォンモデルを一般的な方法で学習して、それぞれモノフォンモデル記憶部１０２及びトライフォンモデル記憶部１０３に予め記憶しておく。なお、トライフォンモデル記憶部１０３は、クエリを構成する先頭及び末尾の音素を評価するために、３音素毎に生成された音響モデルだけでなく、２音素毎に生成された音響モデルであるバイフォンモデルについても、予め学習して記憶しておく。以下、トライフォンモデルを、３音素毎に生成された音響モデルだけでなく、２音素毎に生成された音響モデルであるバイフォンモデルも含むモデルとして、説明する。
【００２２】
モノフォンモデル及びトライフォンモデルとして、例えば、一般的な音声認識で利用される音響モデルであるＨＭＭ（Hidden Markov Model；隠れマルコフモデル）を利用できる。ＨＭＭは、統計的な手法により音声信号からその音声信号が出力される元となった言葉を確率的に推定するためのモデルである。ＨＭＭは、時間的な状態の揺らぎを示す遷移確率と、各状態から入力された特徴量を出力する確率（出力確率）と、をパラメータとした標準パターンを用いる。この出力確率は、所定の重み係数で重み付けされたガウス（正規）分布を加算した混合ガウス分布によって表される。
【００２３】
継続長記憶部１０４は、音響モデルで利用される各音素の平均継続長を、各音素の状態単位で記憶する。各音素の平均継続長とは、各音素が発せられるときの平均的な時間長である。各音素の状態とは、各音素を時間方向に細分化した単位であり、音響モデルの最小単位に相当する。各音素には予め状態数が定められている。
【００２４】
以下では、各音素に定められた状態数が「３」である場合を例にとって説明する。例えば、音素「ａ」は、この音素の発話開始時を含む第１状態「ａ１」と、中間状態である第２状態「ａ２」と、発話終了時を含む第３状態「ａ３」と、の３つの状態に分けられる。音響モデルで利用される全音素の数をＱとした場合、（３×Ｑ）個の状態が存在する。音声認識装置１００は、（３×Ｑ）個の状態のそれぞれについて、大量の音声信号のデータから継続長の平均値を算出し、継続長記憶部１０４に予め記憶しておく。
【００２５】
なお、音声認識精度の向上のためには、音響モデルを学習するための音声信号、及び、音素の平均継続長を算出するための音声信号は、認識対象の音声信号が発せられたドメイン（環境）と同じドメインで発せられたものであることが好適である。例えば、認識対象が会議室で録音された音声信号である場合には、会議室で録音された音声信号を用いて音響モデルを学習し、音素の平均継続長を算出することが好適である。しかし、音響モデルを学習するための音声信号、及び、音素の平均継続長を算出するための音声信号は、認識対象の音声信号が発せられたドメインと異なるドメインで発せられたものであってもよい。
【００２６】
第１の変換部１１１は、クエリ記憶部１０１に予め登録された１以上のクエリそれぞれを、隣接する音素に依存しない第１の音響モデルであるモノフォンモデルの音素を並べて、第１の音素列であるモノフォン音素列に変換する。すなわち、第１の変換部１１１は、予め文字列として登録された１以上のクエリのそれぞれについて、文字列を構成する文字と同順で、各文字を発声したときの音素（モノフォン）を並べることにより、各クエリをモノフォン音素列に変換する。
【００２７】
例えば、予め登録された１以上のクエリの中に、日本語「ラーメン」の文字列が含まれる場合、「ラーメン」は「ｒ」と「ａ：」と「ｍ」と「ｅ」と「Ｎ」との５つの音素（モノフォン）を含むため、第１の変換部１１１は、モノフォン音素列「ｒ，ａ：，ｍ，ｅ，Ｎ」を生成する。また、予め登録された１以上のクエリの中に、英語「ｃａｋｅ」の文字列が含まれる場合、「ｃａｋｅ」は「ｋ」と「ｅ」と「ｉ」と「ｋ」との４つの音素（モノフォン）を含むため、第１の変換部１１１は、モノフォン音素列「ｋ，ｅ，ｉ，ｋ」を生成する。
【００２８】
継続長取得部１１２は、第１の変換部１１１の変換により生成されたモノフォン音素列に含まれる各音素の平均継続長を、継続長記憶部１０４から取得する。そして、取得した平均継続長に基づいて、各クエリに対応する音声の発話時間長を導出する。
【００２９】
すなわち、クエリ記憶部１０１には１以上のクエリが文字列情報で登録されているため、各クエリに対応する音声の発話時間長の情報を直接的には得ることができない。そのため、継続長記憶部１０４には、モノフォンの状態毎に発話の際の典型的な継続長が予め用意され、継続長取得部１１２は、継続長記憶部１０４に記憶された状態毎の継続長を加算して、各クエリに対応する音声の発話時間長を見積もる。
【００３０】
例えばモノフォン音素列が「ｒ，ａ：，ｍ，ｅ，Ｎ」である場合、継続長取得部１１２は、これら５つの音素における３状態それぞれについて継続長記憶部１０４に記憶された、合わせて１５個の平均継続長を取得する。そして、取得した１５個の平均継続長を加算して得られた時間長を、このモノフォン音素列が生成されたクエリに対応する音声の発話時間長として導出する。
【００３１】
第２の変換部１１３は、クエリ記憶部１０１に予め登録された１以上のクエリのそれぞれを、隣接する音素に依存する第２の音響モデルであるトライフォンモデルの音素を並べて、第２の音素列であるトライフォン音素列に変換する。すなわち、第２の変換部１１３は、例えば、予め登録された１以上のクエリの中に、日本語「ラーメン」の文字列が含まれる場合、「ラーメン」は「ｒ−ａ：＋ｍ」と「ａ：−ｍ＋ｅ」と「ｍ−ｅ＋Ｎ」との３つのトライフォンを含むため、第２の変換部１１３は、これら３つのトライフォンを、クエリの文字列を構成する文字と同順で並べることにより、トライフォン音素列を生成する。なお、第２の変換部１１３は、これら３つのトライフォンに加えて、「ラーメン」における先頭のバイフォン「ｒ＋ａ：」と末尾のバイフォン「ｅ−Ｎ」も、トライフォン音素列に含める。
【００３２】
音声信号受付部１２１は、ワードスポッティングの対象となる音声信号の入力を受け付ける。音声信号受付部１２１は、例えば入力装置４として備えられたマイクロフォン等の音声入力装置を介して入力された音声信号を受け付ける。音声信号受付部１２１によって受け付けられる音声信号として、例えば会話、会議、ニュース放送、映画等の音声信号が挙げられる。
【００３３】
フレーム指定部１２２は、音声信号受付部１２１によって入力が受け付けられた音声信号における先頭フレームから順に、フレームを１つずつ指定する。
【００３４】
フレームとは、音声信号における所定の時間長を有する時間窓である。具体的に図３を参照して、音声信号において設定されるフレームについて説明する。図３（ａ）は、先頭から末尾までの時間長Ｔの認識対象の音声信号の波形図である。縦軸は波形の振幅（エネルギー）の大きさを示し、横軸は時間ｔを示す。図３（ｂ）は、図３（ａ）に示す音声信号において設定されるフレームを示す。第０フレームから第（Ｎ−１）フレームまで、それぞれフレーム長ＦのＮ個のフレームが、所定のシフト長Ｓずつシフトして設定される。
【００３５】
フレーム長Ｆ及びシフト長Ｓは、音響モデルの作成時に設定した時間長に合わせる（例えば、フレーム長Ｆ＝２５ｍｓｅｃ、シフト長Ｓ＝１０ｍｓｅｃ等）。シフト長Ｓよりもフレーム長Ｆの方が長いため、各フレームは、隣接するフレームと時間長（Ｆ−Ｓ）だけ重複する。
【００３６】
図２に示した音声認識装置１００の機能構成の説明に戻る。第１の出力確率取得部１２３は、音声信号受付部１２１によって入力が受け付けられた音声信号の特徴量が、モノフォンモデルの各音素から出力される出力確率を、フレーム毎に取得する。
【００３７】
具体的に説明すると、第１の出力確率取得部１２３は、フレーム指定部１２２によって順次指定されたフレーム毎に、音声信号受付部１２１によって入力が受け付けられた音声信号の特徴量を算出する。音声信号の特徴量は、例えばケプストラムやメルケプストラムと呼ばれる音声データを周波数軸上に変換して得られる周波数軸系特徴パラメータと、音声データのエネルギー２乗和やその対数を計算することにより得られるパワー系特徴パラメータと、を組み合わせることによって得られる。
【００３８】
例えば、特徴量は、周波数軸系特徴パラメータ１２成分（１２次元）とパワー系特徴パラメータ１成分（１次元）、直前の時間窓の各成分との差分を取ったもの、すなわち△周波数軸系特徴パラメータ１２成分（１２次元）と△パワー系特徴パラメータ１成分（１次元）、及び直前の時間窓の各成分との差分の差分を取ったもの、すなわち△△周波数軸系特徴パラメータ１２成分（１２次元）の、合計３８成分を有する３８次元ベクトル量として構成される。
【００３９】
特徴量を算出すると、第１の出力確率取得部１２３は、算出した特徴量に基づいて、この特徴量がモノフォンモデルの各音素の各状態から出力される出力確率を、フレーム指定部１２２によって順次指定されたフレーム毎に取得する。出力確率は、複数のガウス分布を重み付きで加算した正規混合連続分布によって表される。
【００４０】
具体的には、第１の出力確率取得部１２３は、モノフォンモデル記憶部１０２から全音素のモノフォンモデルを取得して、算出した特徴量と、取得した全音素のモノフォンモデルのそれぞれとを、状態毎に比較する。そして、フレーム毎及び状態毎に、全音素のモノフォンモデルのそれぞれについて出力確率を算出する。日本語や英語におけるモノフォンは約４０種類あり、１音素に３つの状態が含まれるため、１フレーム当たり、約１２０（＝４０×３）個の出力確率が算出される。
【００４１】
図４（ａ）に、フレーム毎に取得された各音素の出力確率の例を示す。図４（ａ）に示すように、第１の出力確率取得部１２３は、モノフォンモデルの各音素「ａ」、「ｂ」、・・・の各状態「ａ１」、「ａ２」、「ａ３」、「ｂ１」、「ｂ２」、・・・について、第０フレームから順に、出力確率を取得する。
【００４２】
正規化部１２４は、第１の出力確率取得部１２３によって取得された、モノフォンモデルの各音素の出力確率のうちから、フレーム毎に最大の出力確率を特定し、モノフォンモデルの各音素の出力確率を、フレーム毎に、特定した最大の出力確率で正規化する。すなわち、音声信号の中には大きい出力確率が得られ易いフレームと大きい出力確率が得られ難いフレームとが存在するため、正規化部１２４の正規化により、フレーム間での出力確率のばらつきを減らす。具体的に図４（ａ）、（ｂ）を参照して説明する。
【００４３】
正規化部１２４は、フレーム毎の最大の出力確率として、例えば図４（ａ）において点線で囲われた出力確率、すなわち、第０フレームでは音素「ｂ」の第２状態「ｂ２」の出力確率、第１フレーム及び第２フレームでは音素「ａ」の第１状態「ａ１」の出力確率、第３フレームでは音素「ａ」の第２状態「ａ２」の出力確率等を特定する。フレーム毎の最大の出力確率を特定すると、正規化部１２４は、各フレームにおいて、モノフォンモデルの各音素の出力確率を、特定した最大の出力確率で除算することにより正規化する。
【００４４】
図４（ｂ）に、フレーム毎に最大出力確率で正規化された出力確率の例を示す。例えば第０フレームでは、音素「ｂ」の第２状態「ｂ２」の出力確率が最大の出力確率であるため、正規化部１２４は、各音素の各状態の出力確率を、状態「ｂ２」の出力確率で除算する。その結果、状態「ｂ２」の出力確率は１に変換され、他の出力確率は、状態「ｂ２」の出力確率を基準とした相対値に変換される。このように、正規化部１２４は、第１の出力確率取得部１２３によって取得された、モノフォンモデルの各音素の出力確率を正規化する。
【００４５】
図２に示した音声認識装置１００の機能構成の説明に戻る。キュー格納部１２５は、第１の出力確率取得部１２３によってフレーム毎に取得され、且つ、正規化部１２４によって正規化された、モノフォンモデルの各音素の出力確率を、順次キューに格納する。
【００４６】
キュー格納部１２５は、キューがいっぱいになるまで、フレーム指定部１２２によって指定された順に、すなわち先頭の第０フレームから順に、第１の出力確率取得部１２３によって取得されたモノフォンモデルの各音素の状態毎の出力確率を格納する。キューの長さは、最低限、クエリ記憶部１０１に予め登録された１以上のクエリの発話時間長の中で、最長の時間長に相当するフレーム数分の出力確率を格納できる長さであれば十分である。
【００４７】
第１の累積確率取得部１２６は、キューに格納されたモノフォンモデルの各音素の出力確率のうち、第１の変換部１１１によって変換されたモノフォン音素列に対応する音素の出力確率を累積することにより、第１の累積確率を取得する。これにより、入力を受け付けた音声信号における、出力確率がキューに格納された区間が、クエリが発話されている区間に該当するか否かの指標を得る。この第１の累積確率を、以下では「累積確率Ａ」と呼ぶ。
【００４８】
なお、クエリ記憶部１０１に複数のクエリが登録されている場合には、第１の累積確率取得部１２６は、登録された複数のクエリのそれぞれについて、それぞれから変換されたモノフォン音素列に対応する音素の出力確率を累積することにより、累積確率Ａを取得する。
【００４９】
具体的に図５に示すように、キューが、第０フレームから第（Ｍ−１）フレームまでのＭ個のフレームに亘ってモノフォンモデルの各音素の状態毎の出力確率を格納している場合であって、クエリ記憶部１０１に予め２つのクエリ「ラーメン」及び「あいうえお」が登録されている場合を例にとって説明する。
【００５０】
クエリ「ラーメン」のモノフォン音素列「ｒ，ａ：，ｍ，ｅ，Ｎ」は、５音素及び１５の状態を含むため、第１の累積確率取得部１２６は、これら各音素の各状態とキューに格納されたフレームとの対応関係を、継続長取得部１１２によって導出された各音素の状態毎の継続長に基づいて、定める。例えば先頭の状態「ｒ１」の継続長が２フレームに相当する場合、この状態「ｒ１」は、キューの先頭から２フレームである第０フレーム及び第１フレームに対応付けられる。また、次の状態「ｒ２」の継続長が４フレームに相当する場合、この状態「ｒ２」は、次の４フレームである第２フレームから第５フレームに対応付けられる。このように、末尾の状態「Ｎ３」まで、状態とフレームとの対応関係が順次定められる。
【００５１】
状態とフレームとの対応関係が定められると、第１の累積確率取得部１２６は、キューに格納されたモノフォンモデルの各音素の状態毎の出力確率のうちから、各フレームにおいて、対応付けられた状態の出力確率を抽出する。例えば、第１の累積確率取得部１２６は、先頭の状態「ｒ１」に対応付けられた第０フレーム及び第１フレームにおいて、キューに格納されたモノフォンモデルの各音素の状態毎の出力確率のうちから、状態「ｒ１」の出力確率を抽出し、次の状態「ｒ２」に対応付けられた第２フレームから第５フレームにおいて、キューに格納されたモノフォンモデルの各音素の状態毎の出力確率のうちから、状態「ｒ２」の出力確率を抽出する。このように、第１の累積確率取得部１２６は、末尾の状態「Ｎ３」まで、各状態の出力確率を抽出する。
【００５２】
第１の累積確率取得部１２６は、クエリ「あいうえお」についても同様の処理を実行する。すなわち、クエリ「あいうえお」のモノフォン音素列「ａ，ｉ，ｕ，ｅ，ｏ」を構成する５音素及び１５の状態について、先頭の状態「ａ１」から末尾の状態「ｏ３」まで順に、キューに格納されたフレームとの対応関係を定める。そして、キューに格納されたモノフォンモデルの各音素の状態毎の出力確率のうちから、各フレームにおいて、対応付けられた状態の出力確率を抽出する。
【００５３】
第１の累積確率取得部１２６は、このように予め登録された１以上のクエリのそれぞれについて、各フレームにおいて抽出した出力確率を累積することにより、累積確率Ａを取得する。より詳細に説明すると、累積確率Ａを取得する際、第１の累積確率取得部１２６は、抽出した出力確率のそれぞれを、その出力確率を含む連続する複数のフレームにおいて抽出された複数の出力確率の中で値が最大の出力確率に置換する。この置換処理は、Ｌｏｗｅｒ−Ｂｏｕｎｄ化と呼ばれる。
【００５４】
具体的に図６を参照して、Ｌｏｗｅｒ−Ｂｏｕｎｄ化を説明する。図６において、実線はフレーム毎に取得された出力確率を示す。縦軸は出力確率の高さを下になるほど高くなるように示し、横軸は時間ｔを示す。第１の累積確率取得部１２６は、各フレームの出力確率を、その前後ｎフレームの中で最大の出力確率に置き換える。ｎは、例えば１００ｍｓｅｃに相当するフレーム数に設定される。置換の結果、実線で示した出力確率は、破線で示したＬＢ（Ｌｏｗｅｒ−Ｂｏｕｎｄ）化出力確率のように、時間方向において値の変化が小さくなった出力確率に変換される。
【００５５】
このようなＬＢ化により、継続長記憶部１０４に記憶された各音素の平均継続長と実際の継続長との誤差、及び、継続長取得部１１２によって導出されたクエリに対応する音声の発話時間長と実際の発話時間長との誤差を、前後ｎフレームの範囲内で吸収することができる。第１の累積確率取得部１２６は、クエリ記憶部１０１に予め登録された１以上のクエリのそれぞれについて、ＬＢ化によって置換された出力確率の対数をとって得られる値を加算する。これにより、予め登録された１以上のクエリのそれぞれについて、累積確率Ａを取得する。
【００５６】
図２に示した音声認識装置１００の機能構成の説明に戻る。候補決定部１２７は、第１の累積確率取得部１２６によって取得された累積確率Ａに基づいて、予め登録された１以上のクエリの中から、候補クエリを決定する。候補クエリとは、予め登録された１以上のクエリの中で、キューに出力確率が保持された区間の音声信号の中で発話されている可能性が高いと評価されるクエリである。
【００５７】
具体的に説明すると、候補決定部１２７は、第１の累積確率取得部１２６によって取得された累積確率Ａを比較し、予め登録された１以上のクエリの中で累積確率Ａが最大のクエリを、候補クエリと決定する。予め登録されたクエリの個数が２以上である場合には、候補決定部１２７は、累積確率Ａが最大の１つの候補クエリを決定する。一方で、予め登録されたクエリの個数が１つである場合には、この１つのクエリが必ず候補クエリとして決定されるため、候補決定部１２７の処理自体を省略することができる。
【００５８】
第２の累積確率取得部１２８は、入力が受け付けられた音声信号の区間のうち、候補決定部１２７によって決定された候補クエリの累積確率Ａが取得された区間において、キューに格納されたモノフォンモデルの各音素の出力確率のうちから、フレーム毎に最大の出力確率を特定し、特定した最大の出力確率を累積することにより、第２の累積確率を取得する。この第２の累積確率を、以下では「累積確率Ｂ」と呼ぶ。上述したように、キューに格納された出力確率は、フレーム毎に正規化部１２４によって正規化されているため、各フレームにおける最大の出力確率は１である。そのため、それを累積して得られた累積確率Ｂは、候補クエリの長さに相当する量になる。
【００５９】
第２の出力確率取得部１２９は、候補クエリの累積確率Ａを累積確率Ｂで除算した値Ａ／Ｂが、予め定められた第１の閾値ｋ以上であるか否かを判定する。値Ａ／Ｂが予め定められた第１の閾値ｋ未満である場合、その候補クエリは棄却される。一方、値Ａ／Ｂが予め定められた第１の閾値ｋ以上である場合（以下、累積確率Ａが第１の条件を満たした場合という。）、第２の出力確率取得部１２９は、音声信号の特徴量が、トライフォン音素列に含まれる各音素から出力される第２の出力確率を、フレーム毎に取得する。
【００６０】
すなわち、上述した累積確率Ａ及びＢを取得するまでの音声認識処理は、モノフォンモデルを用いた比較的計算量の少ない処理であった。これに対し、候補クエリの累積確率Ａが第１の条件を満たした場合には、この候補クエリは、入力された音声信号において発話されている可能性が高い。そのため、音声認識装置１００は、このような候補クエリに対しては、トライフォンモデル及び動的計画法（ＤＰ（Dynamic Programming）マッチング）に基づくより精度の高い音声認識処理を実行する。そして、このような精度の高い音声認識処理に移行するための判定基準として、候補クエリの累積確率Ａの値をそのまま用いず、候補クエリの累積確率Ａを、最大の出力確率を累積して得られた累積確率Ｂで除算して得られた値Ａ／Ｂを用いることにより、長さの異なる複数の候補クエリに対しても、予め用意された１つの閾値ｋを用いて判定することが可能になる。
【００６１】
累積確率Ａが第１の条件を満たした場合、第２の出力確率取得部１２９は、キューの先頭のフレームから、候補クエリの発話時間長の２倍の長さの区間を指定する。そして、第２の出力確率取得部１２９は、指定した区間における音声信号の特徴量が、第２の変換部１１３によって候補クエリから変換されたトライフォン音素列に含まれる各音素から出力される出力確率を、第２の出力確率として、フレーム毎に取得する。
【００６２】
具体的に説明すると、第２の出力確率取得部１２９は、トライフォンモデル記憶部１０３からトライフォンモデルを取得する。そして、指定した区間において、第１の出力確率取得部１２３によって算出された音声信号の各フレームにおける特徴量と、候補クエリから変換されたトライフォン音素列に含まれる各トライフォンのモデルとを比較する。そして、各フレームにおける特徴量が各トライフォンから出力される確率を計算する。
【００６３】
第１の尤度取得部１３０は、第２の出力確率取得部１２９によって取得された第２の出力確率に基づいて、音声信号において候補クエリに対応する音声が発せられていることの尤もらしさを示す第１の尤度を取得する。尤度とは、候補クエリに対応する音声と音声信号との類似の度合を示す指標である。この第１の尤度を、以下では「尤度Ｃ」と呼ぶ。
【００６４】
具体的に説明すると、第１の尤度取得部１３０は、尤度Ｃを、動的計画法（ＤＰマッチング）により取得する。ＤＰマッチングにおいて、第１の尤度取得部１３０は、候補クエリの発話時間長の２倍の長さに相当する指定された区間における各フレームと、トライフォン音素列に含まれる各音素と、の対応を探索する。すなわち、第１の尤度取得部１３０は、指定された区間の音声信号から、候補クエリに対応する音声が発せられていると仮定した場合に、その区間内の各フレームの音声信号がどの音素に対応するのかを探索する。
【００６５】
ＤＰマッチングについて、図７を参照して具体的に説明する。図７では、候補クエリが「ラーメン」であって、この候補クエリについて継続長取得部１１２によって導出された発話時間長が、理解を容易にするために例えば１０フレームに相当すると仮定する。第２の出力確率取得部１２９は、入力を受け付けた音声信号のうち、キューに保持された先頭のフレームから、候補クエリの発話時間長の２倍の長さに相当する２０フレームの区間を、ＤＰマッチングのためのマッチング区間として指定する。例えばキューに保持された先頭のフレームが第０フレームである場合、第２の出力確率取得部１２９は、図７に示すように、第０フレームから第１９フレームまでの２０フレームの区間をマッチング区間として指定する。
【００６６】
第２の出力確率取得部１２９は、マッチング区間の各フレームにおける、「ラーメン」のトライフォン音素列を構成する３つのトライフォン「ｒ−ａ：＋ｍ」、「ａ：−ｍ＋ｅ」、「ｍ−ｅ＋Ｎ」及び両端の２つのバイフォン「ｒ＋ａ：」、「ｅ−Ｎ」のそれぞれの出力確率を取得する。そして、第１の尤度取得部１３０は、「ラーメン」のトライフォン音素列を構成する３つのトライフォン「ｒ−ａ：＋ｍ」、「ａ：−ｍ＋ｅ」、「ｍ−ｅ＋Ｎ」及び両端の２つのバイフォン「ｒ＋ａ：」、「ｅ−Ｎ」のそれぞれと、指定した２０フレームのそれぞれと、の対応を探索する。例えば図７は、第０から第１フレームが先頭のバイフォン「ｒ＋ａ：」に対応し、第２から第６フレームがトライフォン「ｒ−ａ：＋ｍ」に対応し、第７から第９フレームがトライフォン「ａ：−ｍ＋ｅ」に対応し、第１０から第１２フレームがトライフォン「ｍ−ｅ＋Ｎ」に対応し、第１３フレームが末尾のバイフォン「ｅ−Ｎ」に対応すると仮定した場合の経路を、斜線を付した枠及び矢印で示している。第１の尤度取得部１３０は、トライフォン又はバイフォンと対応付けられた第０フレームから第１３フレームまでの区間を、候補クエリに対応する音声が発せられている可能性が高い区間であって、尤度Ｃを取得すべき尤度取得区間であると決定する。
【００６７】
このように、第１の尤度取得部１３０は、マッチング区間におけるフレームとトライフォン又はバイフォンとを対応付ける。そして、対応付けによって得られた経路に沿って出力確率を累積し、累積した値が最小となる最尤系列をＤＰマッチングにより探索する。最尤系列を見付けると、第１の尤度取得部１３０は、得られた最尤系列の経路に沿って、出力確率の対数軸上での和をとることによって、尤度Ｃを算出する。
【００６８】
なお、第１の尤度取得部１３０は、ＤＰマッチングによって最尤系列が得られた区間の時間長が、候補クエリの発話時間長の０．５倍の時間長に達していない場合には、時間長が短すぎるため、その最尤系列を棄却する。すなわち、第１の尤度取得部１３０は、継続長取得部１１２によって導出された候補クエリの発話時間長の０．５倍から２倍の長さの区間の中から、ＤＰマッチングにより最尤系列を探索して、尤度取得区間を決定し、尤度Ｃを取得する。
【００６９】
図２に示した音声認識装置１００の機能構成の説明に戻る。第２の尤度取得部１３１は、第１の尤度取得部１３０によって尤度Ｃが取得された尤度取得区間において、音素認識を実行する。そして、第２の尤度取得部１３１は、第２の出力確率取得部１２９によって取得された第２の出力確率のうち、音素認識によって認識された音素の出力確率に基づいて、尤度取得区間において候補クエリが発せられていることの尤もらしさを示す第２の尤度を取得する。この第２の尤度を、以下では「尤度Ｄ」と呼ぶ。
【００７０】
具体的に説明すると、第２の尤度取得部１３１は、尤度取得区間において、フレーム毎に、候補クエリから変換されたトライフォン音素列に含まれる各音素のうちから、出力確率が最大の音素を認識する。そして、第２の尤度取得部１３１は、音素認識によってフレーム毎に認識された音素の出力確率の対数軸上での和をとることによって、尤度Ｄを算出する。
【００７１】
音声認識によってフレーム毎に認識された音素（各フレームにおいて出力確率が最大の音素）は、ＤＰマッチングによって各フレームに対応付けられた音素とは必ずしも一致しない。そのため、尤度Ｄは、尤度Ｃとは異なる値になる。より詳細には、各フレームにおいて最大の出力確率を累積して得られた値であるため、尤度Ｃよりも大きな値になる。
【００７２】
判定部１３２は、尤度Ｃを尤度Ｄで除算した値が、予め定められた第２の閾値ｍ以上であるか否かを判定する。値Ｃ／Ｄが予め定められた第２の閾値ｍ未満である場合、候補クエリは棄却される。一方、値Ｃ／Ｄが予め定められた第２の閾値ｍ以上である場合（以下、尤度Ｃが第２の条件を満たした場合という。）、判定部１３２は、音声信号において候補クエリに対応する音声が発せられていると判定する。すなわち、判定部１３２は、尤度Ｃ及びＤが取得された尤度取得区間の音声信号が、候補クエリに対応する音声が発せられている区間であると判定する。
【００７３】
判定部１３２によって判定された結果は、出力装置５が備える画面を介して外部に表示される。例えば、判定部１３２は、その区間の位置情報と候補クエリとを出力装置５に表示する。これにより、現在入力されている音声信号において、予め登録された１以上のクエリのうちの候補クエリに対応する音声が発せられていることを、ユーザに報知する。
【００７４】
判定部１３２は、判定基準として、ＤＰマッチングにより得られた尤度Ｃの値をそのまま用いず、尤度Ｃを尤度Ｄで除算して得られた値Ｃ／Ｄを用いる。これは、尤度Ｃは、対象となる音声が発せられている環境によって左右される指標であるためである。すなわち、音素認識により得られた尤度Ｄを基準とした相対値を判定基準とすることで、環境による誤差を抑え、判定精度を上げることができる。
【００７５】
繰り返し部１３３は、音声信号においてクエリに対応する音声が発せられていると判定されると、キューに格納された出力確率のうち、候補クエリに対応する音声が発せられていると判定された区間の出力確率を削除する。そして、繰り返し部１３３は、音声認識処理をフレーム指定部１２２の処理に戻す。
【００７６】
すなわち、候補クエリに対応する音声が発せられていると判定された区間は、もはや再度の判定が不要となるため、繰り返し部１３３は、その区間の出力確率を全てキューから削除する。そして、入力を受け付けた音声信号における、候補クエリに対応する音声が発せられていると判定された区間の直後のフレームが、フレーム指定部１２２によって指定され、フレーム指定部１２２から判定部１３２までの処理が繰り返される。これにより、判定部１３２は、音声信号の入力を受け付ける度に、入力を受け付けた音声信号が予め登録された１以上のクエリのうちのいずれかのクエリに該当するか否かを、順次判定していく。これにより、入力を受け付けた音声信号に対するワードスポッティング方式の音声認識を実行する。
【００７７】
以上のような音声認識装置１００が実行する音声認識処理の流れについて、図８から図１１に示すフローチャートを参照して説明する。
【００７８】
まず、図８に示すフローチャートを参照して、音声認識装置１００が、認識対象（ワードスポッティング対象）の音声信号の入力を受け付ける前に実行する、音声認識事前処理の流れについて説明する。図８に示すフローチャートの処理は、クエリ記憶部１０１に１以上のクエリが予め登録されている状態において、ユーザからキーボード等を介して開始の指示を受け付けると、開始する。
【００７９】
図８に示すフローチャートの処理が開始すると、第１の変換部１１１及び第２の変換部１１３は、クエリ記憶部１０１から、予め登録された１以上のクエリを取得する（ステップＳ１）。１以上のクエリを取得すると、第１の変換部１１１及び第２の変換部１１３は、それぞれ、取得した各クエリをモノフォン音素列及びトライフォン音素列に変換する（ステップＳ２）。
【００８０】
各クエリをモノフォン音素列及びトライフォン音素列に変換すると、継続長取得部１１２は、継続長記憶部１０４から、モノフォン音素列に含まれる各音素の継続長を取得する（ステップＳ３）。そして、継続長取得部１１２は、各クエリに対応する音声の発話時間長を導出する（ステップＳ４）。具体的には、継続長取得部１１２は、取得した１以上のクエリのそれぞれについて、継続長記憶部１０４において音素の状態毎に記憶された平均継続長を取得して、取得した平均継続長を加算することにより、各クエリに対応する音声の発話時間長を導出する。以上で、音声認識事前処理は終了する。
【００８１】
次に、図９から図１１に示すフローチャートを参照して、音声認識装置１００が実行する音声認識処理の流れについて説明する。
【００８２】
図９に示すフローチャートの処理は、音声認識装置１００が音声認識可能なモードになっている状態において、音声信号受付部１２１が入力装置４を介して認識対象（ワードスポッティング対象）の音声信号の入力を受け付けると（ステップＳ１１）、開始する。
【００８３】
音声信号の入力を受け付けると、音声認識処理は、入力を受け付けた音声信号の先頭から末尾まで、フレームを順に指定して、クエリに該当する音声が発話されているか否かを繰り返し判定する処理に移行する。まず、フレーム指定部１２２は、入力を受け付けた音声信号の先頭フレームを指定する（ステップＳ１２）。
【００８４】
フレーム指定部１２２がフレームを指定すると、第１の出力確率取得部１２３は、指定したフレームにおける音声信号の特徴量を算出する（ステップＳ１３）。そして、第１の出力確率取得部１２３は、算出した特徴量に基づいて、モノフォンモデルの各音素について、指定されたフレームにおける出力確率を取得する（ステップＳ１４）。具体的には、第１の出力確率取得部１２３は、モノフォンモデル記憶部１０２に記憶されたモノフォンモデルの全音素について、指定されたフレームにおける音声信号の特徴量が出力される出力確率を、状態毎に算出する。
【００８５】
モノフォンモデルの各音素の出力確率を取得すると、正規化部１２４は、取得したモノフォンモデルの各音素の出力確率を、最大の出力確率で正規化する（ステップＳ１５）。キュー格納部１２５は、モノフォンモデルの各音素の正規化された出力確率をキューに格納する（ステップＳ１６）。そして、キュー格納部１２５は、キューがいっぱいになったか否かを判定する（ステップＳ１７）。
【００８６】
キューがいっぱいになっていない場合（ステップＳ１７；ＮＯ）、フレーム指定部１２２は、直前に指定したフレームの次のフレーム（直前に先頭の第０フレームを指定した場合には第１フレーム）を指定して（ステップＳ１８）、音声認識処理はステップＳ１３に戻る。そして、キューが満たされるまで、ステップＳ１３〜Ｓ１７の処理が繰り返される。すなわち、第１の出力確率取得部１２３は、新たに指定されたフレームにおいて、音声信号の特徴量を算出し、モノフォンモデルの各音素の出力確率を、状態毎に取得する。キュー格納部１２５は、新たに指定されたフレームにおいて取得された出力確率を正規化して、キューに格納する。このように、キュー格納部１２５は、キューが満たされるまで、音声信号の先頭フレームから順に、モノフォンモデルの各音素の正規化した出力確率をキューに格納していく。
【００８７】
キューがいっぱいになると（ステップＳ１７；ＹＥＳ）、音声認識処理は、図１０に示すフローチャートの処理に移行する。図１０に示すフローチャートにおいて、第１の累積確率取得部１２６は、クエリ記憶部１０１に予め登録された１以上のクエリのそれぞれについて、累積確率Ａを取得する（ステップＳ２１）。すなわち、第１の累積確率取得部１２６は、予め登録された１以上のクエリを順に指定し、キューに格納されたモノフォンモデルの各音素の出力確率のうち、指定したクエリに対応する音素の出力確率の対数軸上での和をとることにより、各クエリについて累積確率Ａを取得する。このとき、第１の累積確率取得部１２６は、例えば図６に示したように、ＬＢ化によって時間方向の誤差を吸収する。
【００８８】
各クエリの累積確率Ａを取得すると、候補決定部１２７は、取得された各クエリの累積確率Ａを比較して、１以上のクエリのうちから候補クエリを決定する（ステップＳ２２）。候補クエリを決定すると、第２の累積確率取得部１２８は、決定された候補クエリについて、累積確率Ｂを取得する（ステップＳ２３）。すなわち、第２の累積確率取得部１２８は、候補クエリの累積確率Ａを取得した区間と同じ位置及び長さの区間において、フレーム毎に特定された最大の出力確率を累積することにより、累積確率Ｂを取得する。
【００８９】
累積確率Ｂを取得すると、第２の出力確率取得部１２９は、累積確率Ａを累積確率Ｂで除算した値Ａ／Ｂが、予め定められた第１の閾値ｋ以上か否かを判定する（ステップＳ２４）。すなわち、第２の出力確率取得部１２９は、累積確率Ａが第１の条件を満たしたか否かを判定する。
【００９０】
値Ａ／Ｂが第１の閾値ｋ未満である場合（ステップＳ２４；ＮＯ）、候補決定部１２７は、決定した候補クエリを棄却する（ステップＳ２５）。そして、キュー格納部１２５は、キューに格納された先頭フレームの出力確率を削除して（ステップＳ２６）、音声認識処理はステップＳ１８に戻る。すなわち、フレーム指定部１２２が次のフレームを指定して、新たに指定されたフレームについて、ステップＳ１３〜Ｓ２４の処理が繰り返される。このように、キューに出力確率が格納される音声信号の区間を１フレーム分だけシフトされて、改めて累積確率Ａ及びＢが取得される。
【００９１】
一方、ステップＳ２４において、値Ａ／Ｂが第１の閾値ｋ以上である場合（ステップＳ２４；ＹＥＳ）、音声認識処理は、図１１に示すフローチャートにおける、トライフォンモデル及び動的計画法（ＤＰマッチング）に基づくより精度の高い音声認識処理に移行する。
【００９２】
図１１に示すフローチャートにおいて、第２の出力確率取得部１２９は、キューの先頭のフレームから、候補クエリの発話時間長の２倍の長さの区間を指定する（ステップＳ３１）。そして、第２の出力確率取得部１２９は、指定した区間において、候補クエリのトライフォン音素列に含まれる各音素の第２の出力確率を取得する（ステップＳ３２）。
【００９３】
トライフォンモデルによる第２の出力確率を取得すると、第１の尤度取得部１３０は、ＤＰマッチングにより尤度Ｃを取得する（ステップＳ３３）。すなわち、第１の尤度取得部１３０は、トライフォンモデルによる出力確率に基づいて、候補クエリの発話時間長の２倍の長さに相当する指定された区間において、ＤＰマッチングを実行することにより最尤系列を探索し、尤度Ｃを取得する。
【００９４】
尤度Ｃを取得すると、第２の尤度取得部１３１は、音素認識により尤度Ｄを取得する（ステップＳ３４）。すなわち、第２の尤度取得部１３１は、第１の尤度取得部１３０によって尤度Ｃが取得された尤度取得区間において、音素認識を実行する。そして、音素認識によって認識された音素の出力確率を累積することにより、尤度Ｄを取得する。
【００９５】
尤度Ｄを取得すると、判定部１３２は、尤度Ｃを尤度Ｄで除算した値Ｃ／Ｄが、予め定められた第２の閾値ｍ以上か否かを判定する（ステップＳ３５）。すなわち、判定部１３２は、尤度Ｃが第２の条件を満たしたか否かを判定する。
【００９６】
値Ｃ／Ｄが第２の閾値ｍ未満である場合（ステップＳ３５；ＮＯ）、候補決定部１２７は、決定した候補クエリを棄却する（ステップＳ３６）。そして、キュー格納部１２５は、キューに格納された先頭フレームの出力確率を削除して（ステップＳ３７）、音声認識処理はステップＳ１８に戻る。すなわち、フレーム指定部１２２が次のフレームを指定して、新たに指定されたフレームについて、ステップＳ１３〜Ｓ３５の処理が繰り返される。このように、キューに出力確率が格納される音声信号の区間を１フレーム分だけシフトされて、改めて累積確率Ａ及びＢが取得され、また尤度Ｃ及びＤが取得される。
【００９７】
一方、ステップＳ３５において、値Ｃ／Ｄが第２の閾値ｍ以上である場合（ステップＳ３５；ＹＥＳ）、判定部１３２は、候補クエリに対応する音声が発せられたと判定する（ステップＳ３８）。そして、判定部１３２は、出力装置５により、判定結果を出力する（ステップＳ３９）。
【００９８】
判定結果を出力すると、繰り返し部１３３は、キューに格納された出力確率のうち、候補クエリの区間の出力確率をキューから削除する（ステップＳ４０）。そして、繰り返し部１３３は、音声認識処理をステップＳ１８に戻す。すなわち、フレーム指定部１２２が次のフレームを指定して、新たに指定されたフレームについて、ステップＳ１３〜Ｓ４０の処理が繰り返される。
【００９９】
このように、繰り返し部１３３は、入力を受け付けた音声信号の末尾に達するまで、１フレームずつシフトさせて、入力を受け付けた音声信号が、予め登録された１以上のクエリのいずれかに該当するか否かを順次判定（音声認識）する。最終的に、音声信号の全区間の音声認識が終了すると、音声認識装置１００が実行する音声認識処理は終了する。
【０１００】
以上説明したように、本発明の実施形態に係る音声認識装置１００は、音声信号の入力を受け付け、入力を受け付けた音声信号において、予め文字列（テキスト）で登録された１以上のクエリのいずれかに対応する音声が発せられているか否かを判定する。特に、音声認識装置１００は、まず状態遷移を固定化した高速な音響モデルであるモノフォンモデルを用いた計算量が少ない判定処理によって高速な枝刈りを行い、残った候補に対して、予め登録された１以上のクエリのいずれかに該当するか否かを詳細に評価することで、最終的な認識結果を得る。その結果、高精度且つ高速なワードスポッティングが可能となる。
【０１０１】
（変形例）
以上に本発明の実施形態について説明したが、上記実施形態は一例であり、本発明の適用範囲はこれに限られない。すなわち、本発明の実施形態は種々の応用が可能であり、あらゆる実施の形態が本発明の範囲に含まれる。
【０１０２】
例えば、上記実施形態において、候補決定部１２７は、予め登録された１以上のクエリの中で、第１の累積確率取得部１２６によって取得された累積確率Ａが最大のクエリ、すなわち１つのクエリを、候補クエリと決定した。しかし、本発明においては、候補決定部１２７は、複数のクエリを候補クエリとして残してもよい。例えば、候補決定部１２７は、予め登録された複数のクエリの中で、累積確率Ａが大きい順に複数のクエリを候補クエリとして決定することができる。この場合、音声認識装置１００は、決定された複数の候補クエリのそれぞれについて、上述したようにＤＰマッチングと音素認識とを実行して、各候補クエリが発声されているか否かを判定する。
【０１０３】
また、候補決定部１２７は、候補クエリを決定する際、各クエリについて取得された累積確率Ａを対応するクエリの発話時間長で除算し、除算して得られた値が最大のクエリを候補クエリと決定してもよい。或いは、候補決定部１２７は、除算して得られた値が大きい順に複数の候補クエリを決定してもよい。すなわち、累積確率Ａは、発話時間長に相当するフレームに亘って出力確率を累積したものであるため、発話時間長が長いほど大きくなる。そのため、累積確率Ａを発話時間長で除算することにより、クエリの長さの違いによる累積確率Ａのばらつきを吸収することができる。
【０１０４】
また、本発明に係る音声認識装置は、出力確率を正規化する正規化部１２４、累積確率Ｂを取得する第２の累積確率取得部１２８、及び尤度Ｄを取得する第２の尤度取得部１３１等を備えなくてもよい。すなわち、本発明に係る音声認識装置は、上記実施形態に係る音声認識装置１００よりも、簡略化した構成を備えたものであってもよい。音声認識装置が正規化部１２４を備えない場合、キュー格納部１２５は、第１の出力確率取得部１２３によって取得された出力確率を、正規化せずキューに格納する。音声認識装置が第２の累積確率取得部１２８を備えない場合、第１の条件が満たされたか否かは、累積確率Ａの値が予め定められた閾値を超えたか否か等、累積確率Ａのみによって決められる。音声認識装置が第２の尤度取得部１３１を備えない場合、第２の条件が満たされたか否かは、尤度Ｃの値が予め定められた閾値を超えたか否か等、尤度Ｃのみによって決められる。
【０１０５】
また、上記実施形態では、音声認識装置１００は、ＣＰＵ６を備えていた。しかし、本発明では、音声認識装置１００は、ＣＰＵ６の代わりに、ＡＳＩＣ（Application Specific Integrated Circuit）等の専用の制御回路を備え、制御回路が装置全体を制御してもよい。
【０１０６】
なお、本発明に係る機能を実現するための構成を予め備えた音声認識装置として提供できることはもとより、プログラムの適用により、既存のパーソナルコンピュータや情報端末機器等を、本発明に係る音声認識装置として機能させることもできる。すなわち、上記実施形態で例示した音声認識装置１００による各機能構成を実現させるためのプログラムを、既存のパーソナルコンピュータや情報端末機器等を制御するＣＰＵ等が実行できるように適用することで、本発明に係る音声認識装置として機能させることができる。また、本発明に係る音声認識方法は、音声認識装置を用いて実施できる。
【０１０７】
また、このようなプログラムの適用方法は任意である。プログラムを、例えば、コンピュータが読取可能な記録媒体（ＣＤ−ＲＯＭ（Compact Disc Read-Only Memory）、ＤＶＤ（Digital Versatile Disc）、ＭＯ（Magneto Optical disc）等）に格納して適用できる他、インターネット等のネットワーク上のストレージにプログラムを格納しておき、これをダウンロードさせることにより適用することもできる。
【０１０８】
以上、本発明の好ましい実施形態について説明したが、本発明は係る特定の実施形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲とが含まれる。以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
【０１０９】
（付記１）
予め登録されたクエリを、隣接する音素に依存しない第１の音響モデルの音素を並べて、第１の音素列に変換する第１の変換手段と、
前記クエリを、隣接する音素に依存する第２の音響モデルの音素を並べて、第２の音素列に変換する第２の変換手段と、
音声信号の入力を受け付ける音声信号受付手段と、
前記音声信号受付手段によって入力が受け付けられた前記音声信号の特徴量が、前記第１の音響モデルの各音素から出力される出力確率を、フレーム毎に取得する第１の出力確率取得手段と、
前記第１の出力確率取得手段によってフレーム毎に取得された、前記第１の音響モデルの各音素の出力確率を、順次キューに格納するキュー格納手段と、
前記キューに格納された前記第１の音響モデルの各音素の出力確率のうち、前記第１の音素列に対応する音素の出力確率を累積することにより、累積確率を取得する累積確率取得手段と、
前記累積確率取得手段によって取得された累積確率が第１の条件を満たした場合、前記音声信号の特徴量が、前記第２の音素列に含まれる各音素から出力される第２の出力確率を、フレーム毎に取得する第２の出力確率取得手段と、
前記第２の出力確率取得手段によって取得された第２の出力確率に基づいて、前記音声信号において前記クエリに対応する音声が発せられていることの尤もらしさを示す尤度を取得する尤度取得手段と、
前記尤度取得手段によって取得された尤度が第２の条件を満たした場合、前記音声信号において前記クエリに対応する音声が発せられていると判定する判定手段と、
を備えることを特徴とする音声認識装置。
【０１１０】
（付記２）
前記第１の出力確率取得手段によって取得された、前記第１の音響モデルの各音素の出力確率のうちから、フレーム毎に最大の出力確率を特定し、前記第１の音響モデルの各音素の出力確率を、フレーム毎に、特定した最大の出力確率で正規化する正規化手段をさらに備え、
前記キュー格納手段は、前記正規化手段によって正規化された出力確率を、前記キューに格納する、
ことを特徴とする付記１に記載の音声認識装置。
【０１１１】
（付記３）
前記累積確率取得手段によって前記累積確率が取得された前記音声信号の区間において、前記キューに格納された前記第１の音響モデルの各音素の出力確率のうちから、フレーム毎に最大の出力確率を特定し、特定した最大の出力確率を累積することにより、第２の累積確率を取得する第２の累積確率取得手段をさらに備え、
前記第１の条件は、前記累積確率取得手段によって取得された累積確率を、前記第２の累積確率取得手段によって取得された第２の累積確率で除算した値が、第１の閾値以上である場合に、満たされる、
ことを特徴とする付記１又は２に記載の音声認識装置。
【０１１２】
（付記４）
前記尤度取得手段は、前記第２の出力確率取得手段によって取得された第２の出力確率に基づいて、前記尤度を、動的計画法により取得し、
前記第２の出力確率取得手段によって取得された出力確率のうち、音素認識によって認識された音素の出力確率に基づいて、前記尤度取得手段によって前記尤度が取得された前記音声信号の区間において前記クエリが発せられていることの尤もらしさを示す第２の尤度を取得する第２の尤度取得手段をさらに備え、
前記第２の条件は、前記尤度取得手段によって取得された尤度を、前記第２の尤度取得手段によって取得された第２の尤度で除算した値が、第２の閾値以上である場合に、満たされる、
ことを特徴とする付記１から３のいずれか１つに記載の音声認識装置。
【０１１３】
（付記５）
前記第１の変換手段は、予め登録された複数のクエリを、それぞれ前記第１の音響モデルの音素を並べて、複数の第１の音素列に変換し、
前記累積確率取得手段は、前記複数の第１の音素列のそれぞれについて、前記キューに格納された前記第１の音響モデルの各音素の出力確率のうち、対応する音素の出力確率を累積することにより、前記累積確率を取得し、
前記累積確率取得手段によって、前記複数のクエリのそれぞれについて取得された累積確率に基づいて、前記複数のクエリのうちから候補クエリを決定する候補決定手段をさらに備え、
前記第２の変換手段は、前記候補クエリを前記第２の音素列に変換し、
前記第２の出力確率取得手段は、前記候補クエリについて取得された累積確率が前記第１の条件を満たした場合、前記音声信号の特徴量が、前記第２の音素列に含まれる各音素から出力される第２の出力確率を、フレーム毎に取得し、
前記尤度取得手段は、前記第２の出力確率取得手段によって取得された第２の出力確率に基づいて、前記音声信号において前記候補クエリに対応する音声が発せられていることの尤もらしさを示す尤度を取得し、
前記判定手段は、前記尤度取得手段によって取得された尤度が前記第２の条件を満たした場合、前記音声信号において前記候補クエリに対応する音声が発せられていると判定する、
ことを特徴とする付記１から４のいずれか１つに記載の音声認識装置。
【０１１４】
（付記６）
前記判定手段によって、前記音声信号において前記クエリに対応する音声が発せられていると判定された場合、前記キューに格納された出力確率のうち、前記クエリに対応する音声が発せられていると判定された区間の出力確率を削除して、前記第１の出力確率取得手段、前記キュー格納手段、前記累積確率取得手段、前記第２の出力確率取得手段、前記尤度取得手段、及び前記判定手段の処理を繰り返す繰り返し手段をさらに備える、
ことを特徴とする付記１から５のいずれか１つに記載の音声認識装置。
【０１１５】
（付記７）
予め登録されたクエリを、隣接する音素に依存しない第１の音響モデルの音素を並べて、第１の音素列に変換する第１の変換ステップと、
前記クエリを、隣接する音素に依存する第２の音響モデルの音素を並べて、第２の音素列に変換する第２の変換ステップと、
音声信号の入力を受け付ける音声信号受付ステップと、
前記音声信号受付ステップで入力が受け付けられた前記音声信号の特徴量が、前記第１の音響モデルの各音素から出力される出力確率を、フレーム毎に取得する第１の出力確率取得ステップと、
前記第１の出力確率取得ステップでフレーム毎に取得された、前記第１の音響モデルの各音素の出力確率を、順次キューに格納するキュー格納ステップと、
前記キューに格納された前記第１の音響モデルの各音素の出力確率のうち、前記第１の音素列に対応する音素の出力確率を累積することにより、累積確率を取得する累積確率取得ステップと、
前記累積確率取得ステップで取得された累積確率が第１の条件を満たした場合、前記音声信号の特徴量が、前記第２の音素列に含まれる各音素から出力される第２の出力確率を、フレーム毎に取得する第２の出力確率取得ステップと、
前記第２の出力確率取得ステップで取得された第２の出力確率に基づいて、前記音声信号において前記クエリに対応する音声が発せられていることの尤もらしさを示す尤度を取得する尤度取得ステップと、
前記尤度取得ステップで取得された尤度が第２の条件を満たした場合、前記音声信号において前記クエリに対応する音声が発せられていると判定する判定ステップと、
を含む音声認識方法。
【０１１６】
（付記８）
コンピュータを、
予め登録されたクエリを、隣接する音素に依存しない第１の音響モデルの音素を並べて、第１の音素列に変換する第１の変換手段、
前記クエリを、隣接する音素に依存する第２の音響モデルの音素を並べて、第２の音素列に変換する第２の変換手段、
音声信号の入力を受け付ける音声信号受付手段、
前記音声信号受付手段によって入力が受け付けられた前記音声信号の特徴量が、前記第１の音響モデルの各音素から出力される出力確率を、フレーム毎に取得する第１の出力確率取得手段、
前記第１の出力確率取得手段によってフレーム毎に取得された、前記第１の音響モデルの各音素の出力確率を、順次キューに格納するキュー格納手段、
前記キューに格納された前記第１の音響モデルの各音素の出力確率のうち、前記第１の音素列に対応する音素の出力確率を累積することにより、累積確率を取得する累積確率取得手段、
前記累積確率取得手段によって取得された累積確率が第１の条件を満たした場合、前記音声信号の特徴量が、前記第２の音素列に含まれる各音素から出力される第２の出力確率を、フレーム毎に取得する第２の出力確率取得手段、
前記第２の出力確率取得手段によって取得された第２の出力確率に基づいて、前記音声信号において前記クエリに対応する音声が発せられていることの尤もらしさを示す尤度を取得する尤度取得手段、
前記尤度取得手段によって取得された尤度が第２の条件を満たした場合、前記音声信号において前記クエリに対応する音声が発せられていると判定する判定手段、
として機能させるためのプログラム。
【符号の説明】
【０１１７】
１…ＲＯＭ、２…ＲＡＭ、３…外部記憶装置、４…入力装置、５…出力装置、６…ＣＰＵ、１００…音声認識装置、１０１…クエリ記憶部、１０２…モノフォンモデル記憶部、１０３…トライフォンモデル記憶部、１０４…継続長記憶部、１１１…第１の変換部、１１２…継続長取得部、１１３…第２の変換部、１２１…音声信号受付部、１２２…フレーム指定部、１２３…第１の出力確率取得部、１２４…正規化部、１２５…キュー格納部、１２６…第１の累積確率取得部、１２７…候補決定部、１２８…第２の累積確率取得部、１２９…第２の出力確率取得部、１３０…第１の尤度取得部、１３１…第２の尤度取得部、１３２…判定部、１３３…繰り返し部
【図１】
0006604013.tif 000002
【図２】
0006604013.tif 000003
【図３】
0006604013.tif 000004
【図４】
0006604013.tif 000005
【図５】
0006604013.tif 000006
【図６】
0006604013.tif 000007
【図７】
0006604013.tif 000008
【図８】
0006604013.tif 000009
【図９】
0006604013.tif 000010
【図１０】
0006604013.tif 000011
【図１１】
0006604013.tif 000012