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