(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）等）に格納して適用できる他、インターネット等のネットワーク上のストレージにプログラムを格納しておき、これをダウンロードさせることにより適用することもできる。
【０１０８】
以上、本発明の好ましい実施形態について説明したが、本発明は係る特定の実施形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲とが含まれる。以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
【０１０９】
（付記１）
検索文字列を取得する検索文字列取得手段と、
前記検索文字列取得手段が取得した検索文字列を音素列に変換する変換手段と、
前記変換手段が変換した音素列に含まれる各音素の継続長を取得し、該取得した継続長に基づいて、前記検索文字列に対応する音声の発話時間長を導出する時間長導出手段と、
検索対象の音声信号における前記時間長導出手段が導出した時間長の区間である尤度取得区間を指定する区間指定手段と、
前記区間指定手段が指定した尤度取得区間が前記検索文字列に対応する音声が発せられている区間であることの尤もらしさを示す尤度を取得する尤度取得手段と、
前記区間指定手段が指定する尤度取得区間を変えて、前記区間指定手段及び前記尤度取得手段の処理を繰り返す繰り返し手段と、
前記区間指定手段が指定した尤度取得区間のそれぞれについて前記尤度取得手段が取得した尤度に基づいて、前記検索対象の音声信号の中から前記検索文字列に対応する音声が発せられていることが推定される推定区間を特定する特定手段と、
を備えることを特徴とする音声検索装置。
【０１１０】
（付記２）
前記検索対象の音声信号の特徴量が前記音素列に含まれる各音素から出力される出力確率を、フレーム毎に取得する出力確率取得手段をさらに備え、
前記尤度取得手段は、前記区間指定手段が指定した尤度取得区間において前記出力確率取得手段が取得した出力確率に基づいて、該尤度取得区間の前記尤度を取得する、
ことを特徴とする付記１に記載の音声検索装置。
【０１１１】
（付記３）
前記区間指定手段が指定した尤度取得区間における前記検索対象の音声信号の特徴量を、フレーム毎に算出する特徴量算出手段をさらに備え、
前記出力確率取得手段は、前記特徴量算出手段が算出した特徴量に基づいて、前記出力確率を取得する、
ことを特徴とする付記２に記載の音声検索装置。
【０１１２】
（付記４）
前記検索対象の音声信号に含まれるフレーム毎に、音響モデルの各音素と、該各音素から前記検索対象の音声信号の特徴量が出力される出力確率と、を対応付けて記憶する出力確率記憶手段をさらに備え、
前記出力確率取得手段は、前記変換手段が前記検索文字列を前記音素列に変換すると、該音素列に含まれる各音素に対応付けて記憶された出力確率を、前記出力確率記憶手段に記憶された出力確率の中から取得する、
ことを特徴とする付記２に記載の音声検索装置。
【０１１３】
（付記５）
前記出力確率取得手段がフレーム毎に取得した出力確率のそれぞれを、該出力確率を含む連続する複数のフレームにおいて取得された複数の出力確率の中で値が最大の出力確率に置換する置換手段をさらに備え、
前記尤度取得手段は、前記置換手段による置換後の出力確率に基づいて、前記区間指定手段が指定した尤度取得区間の前記尤度を取得する、
ことを特徴とする付記２から４のいずれか１つに記載の音声検索装置。
【０１１４】
（付記６）
前記変換手段は、隣接する音素に依存しない音響モデルの音素を並べて、前記検索文字列を前記音素列に変換し、
前記尤度取得手段は、前記音素列に基づいて、前記区間指定手段が指定した尤度取得区間の前記尤度を取得し、
前記尤度取得手段が取得した尤度に基づいて、前記区間指定手段が指定した尤度取得区間の中から前記推定区間の複数の候補を選択する選択手段と、
隣接する音素に依存する第２の音響モデルの音素を並べて、前記検索文字列を第２の音素列に変換する第２の変換手段と、
前記第２の音素列に基づいて、前記選択手段が前記推定区間の候補として選択した区間が前記検索文字列に対応する音声が発せられている区間であることの尤もらしさを示す第２の尤度を、前記選択手段が選択した複数の候補のそれぞれについて取得する第２の尤度取得手段と、
をさらに備え、
前記特定手段は、前記第２の尤度取得手段が取得した第２の尤度に基づいて、前記選択手段が選択した複数の候補の中から前記推定区間を特定する、
ことを特徴とする付記２から５のいずれか１つに記載の音声検索装置。
【０１１５】
（付記７）
前記選択手段は、前記区間指定手段が指定した尤度取得区間の中から、所定の選択時間長毎に、該所定の選択時間長の区間の中から開始する尤度取得区間の中で前記尤度が最大の尤度取得区間を１つずつ選択することにより、前記推定区間の複数の候補を選択する、
ことを特徴とする付記６に記載の音声検索装置。
【０１１６】
（付記８）
前記時間長導出手段は、前記検索文字列取得手段が取得した１つの検索文字列に対応する音声の発話時間長として、互いに異なる複数の時間長を導出し、
前記区間指定手段は、前記検索対象の音声信号における前記時間長導出手段が導出した時間長の区間である尤度取得区間を、前記複数の時間長のそれぞれについて指定し、
前記尤度取得手段は、前記区間指定手段が前記複数の時間長のそれぞれについて指定した尤度取得区間の前記尤度を取得し、
前記特定手段は、前記尤度取得手段が取得した尤度に基づいて、前記区間指定手段が前記複数の時間長のそれぞれについて指定した尤度取得区間の中から前記推定区間を特定する、
ことを特徴とする付記１から７のいずれか１つに記載の音声検索装置。
【０１１７】
（付記９）
検索文字列を取得する検索文字列取得ステップと、
前記検索文字列取得ステップで取得した検索文字列を音素列に変換する変換ステップと、
前記変換ステップで変換した音素列に含まれる各音素の継続長を取得し、該取得した継続長に基づいて、前記検索文字列に対応する音声の発話時間長を導出する時間長導出ステップと、
検索対象の音声信号における前記時間長導出ステップで導出した時間長の区間である尤度取得区間を指定する区間指定ステップと、
前記区間指定ステップで指定した尤度取得区間が前記検索文字列に対応する音声が発せられている区間であることの尤もらしさを示す尤度を取得する尤度取得ステップと、
前記区間指定ステップで指定する尤度取得区間を変えて、前記区間指定ステップ及び前記尤度取得ステップの処理を繰り返す繰り返しステップと、
前記区間指定ステップで指定した尤度取得区間のそれぞれについて前記尤度取得ステップで取得した尤度に基づいて、前記検索対象の音声信号の中から前記検索文字列に対応する音声が発せられていることが推定される推定区間を特定する特定ステップと、
を含む音声検索方法。
【０１１８】
（付記１０）
コンピュータを、
検索文字列を取得する検索文字列取得手段、
前記検索文字列取得手段が取得した検索文字列を音素列に変換する変換手段、
前記変換手段が変換した音素列に含まれる各音素の継続長を取得し、該取得した継続長に基づいて、前記検索文字列に対応する音声の発話時間長を導出する時間長導出手段、
検索対象の音声信号における前記時間長導出手段が導出した時間長の区間である尤度取得区間を指定する区間指定手段、
前記区間指定手段が指定した尤度取得区間が前記検索文字列に対応する音声が発せられている区間であることの尤もらしさを示す尤度を取得する尤度取得手段、
前記区間指定手段が指定する尤度取得区間を変えて、前記区間指定手段及び前記尤度取得手段の処理を繰り返す繰り返し手段、
前記区間指定手段が指定した尤度取得区間のそれぞれについて前記尤度取得手段が取得した尤度に基づいて、前記検索対象の音声信号の中から前記検索文字列に対応する音声が発せられていることが推定される推定区間を特定する特定手段、
として機能させるためのプログラム。
【符号の説明】
【０１１９】
１…ＲＯＭ、２…ＲＡＭ、３…外部記憶装置、４…入力装置、５…出力装置、６…ＣＰＵ、１００，３００…音声検索装置、１０１…音声信号記憶部、１０２…モノフォンモデル記憶部、１０３…トライフォンモデル記憶部、１０４…時間長記憶部、１０５…出力確率記憶部、１１１…検索文字列取得部、１１２…変換部、１１３…時間長導出部、１１４…区間指定部、１１５…特徴量算出部、１１６…出力確率取得部、１１７…置換部、１１８…尤度算出部、１１９…繰り返し部、１２０…選択部、１２１…第２の変換部、１２２…第２の出力確率取得部、１２３…第２の尤度算出部、１２４…特定部
【図１】
0005888356.tif 000002
【図２】
0005888356.tif 000003
【図３】
0005888356.tif 000004
【図４】
0005888356.tif 000005
【図５】
0005888356.tif 000006
【図６】
0005888356.tif 000007
【図７】
0005888356.tif 000008
【図８】
0005888356.tif 000009