(57)【要約】【課題】異なる話速の音声信号の中から検索語を高精度に検索する。【解決手段】音声検索装置１００は、検索文字列に対応する音声の発話時間長として、複数の異なる話速に対応した複数の時間長を有する区間を設定し、複数の時間長のそれぞれについて、検索対象の音声信号に複数の時間長を有する区間を尤度取得区間として複数指定する区間指定部１１５と、尤度取得区間が検索文字列に対応する音声が発せられている区間であることの尤もらしさを示す尤度を取得する尤度取得部１１９と、尤度取得区間の中から予め設定された第１の時間ごとに尤度取得区間を選択する選択部１２１と、選択部１２１が選択した複数の尤度取得区間の中から検索文字列に対応する音声が発せられていることが推定される推定区間を特定する特定部１２５と、を備える。【選択図】図２
2017015847.tif 000002
【特許請求の範囲】
【請求項１】
検索文字列に対応する音声の発話時間長として、複数の異なる話速に対応した複数の時間長を有する区間を設定し、前記複数の時間長のそれぞれについて、検索対象の音声信号に前記複数の時間長を有する区間を尤度取得区間として複数指定する区間指定手段と、
前記区間指定手段が指定した尤度取得区間が前記検索文字列に対応する音声が発せられている区間であることの尤もらしさを示す尤度を取得する尤度取得手段と、
前記区間指定手段が指定した尤度取得区間の中から、予め設定された第１の時間ごとに尤度取得区間を選択する選択手段と、
前記選択手段が選択した複数の尤度取得区間の中から前記尤度取得手段が取得した尤度に基づいて、前記検索対象の音声信号の中から前記検索文字列に対応する音声が発せられていることが推定される推定区間を特定する特定手段と、
を備えることを特徴とする音声検索装置。
【請求項２】
複数の話速に対応する音素に関する継続時間長を記憶する記憶手段と、
前記検索文字列を音素列に変換する変換手段と、
前記変換手段が変換した音素列に含まれる各音素の継続時間長を前記記憶手段から取得する時間長取得手段と、
前記時間長取得手段が取得した継続時間長に基づいて、前記検索文字列に対応する音声の発話時間長として、複数の異なる話速に対応した複数の時間長を導出する時間長導出手段と、をさらに備え、
前記区間指定手段は、検索対象の音声信号における前記時間長導出手段が導出した時間長を有する区間である尤度取得区間を、前記複数の時間長のそれぞれについて複数指定し、
前記選択手段は、前記区間指定手段が指定した尤度取得区間の中から、予め定められた第１の時間ごとに、該第１の時間の中から開始する複数の時間長を有する尤度取得区間の中で前記尤度が最大の尤度取得区間を１つずつ選択する、
ことを特徴とする請求項１に記載の音声検索装置。
【請求項３】
前記第１の時間は、
前記時間長導出手段が導出した異なる話速に対応した複数の時間長の中で、最も短い時間長よりも短い時間長である、
ことを特徴とする請求項２に記載の音声検索装置。
【請求項４】
前記選択手段は、
話速に対応した時間長ごとに前記第１の時間を指定し、話速に対応した時間長に分類した尤度取得区間の中から、前記第１の時間ごとに、該第１の時間の中から開始する尤度取得区間の中で前記尤度が最大の尤度取得区間を、異なる話速に対応した時間長ごとに１つずつ選択する第１の選択手段と、
前記第１の選択手段が選択した前記尤度取得区間の中から、予め設定された第２の時間ごとに、該第２の時間の中から開始する尤度取得区間の中で前記尤度が最大の尤度取得区間を１つずつ選択する第２の選択手段と、
を備え、
前記第１の時間は、前記時間長導出手段が導出した話速に対応した時間長よりも短い時間長であり、
前記第２の時間は、前記時間長導出手段が導出した異なる話速に対応した複数の時間長の中で、最も短い時間長よりも短い時間長である、
ことを特徴とする請求項２に記載の音声検索装置。
【請求項５】
前記区間指定手段が指定した尤度取得区間における前記検索対象の音声信号の特徴量を、音声信号と音素モデルとを比較する区間であるフレームごとに取得する特徴量取得手段と、
前記検索対象の音声信号の特徴量が前記音素列に含まれる各音素から出力される出力確率を、フレームごとに取得する出力確率取得手段と、
をさらに備え、
前記尤度取得手段は、前記区間指定手段が指定した尤度取得区間に含まれるフレームごとに取得された出力確率の対数をとった値を加算して該尤度取得区間の前記尤度を取得する、
ことを特徴とする請求項２から４のいずれか１項に記載の音声検索装置。
【請求項６】
前記出力確率取得手段がフレームごとに取得した出力確率のそれぞれを、そのフレームとそのフレームの前のＮ１個のフレームとそのフレームの後のＮ２個のフレームの中で最大の出力確率に置換する置換手段をさらに備え、
前記Ｎ１と前記Ｎ２は０を含む自然数であって、前記Ｎ１と前記Ｎ２のいずれかは０ではなく、
前記尤度取得手段は、前記置換手段による置換後の出力確率に基づいて、前記区間指定手段が指定した尤度取得区間の前記尤度を取得する、
ことを特徴とする請求項５に記載の音声検索装置。
【請求項７】
検索文字列に対応する音声の発話時間長として、複数の異なる話速に対応した複数の時間長を有する区間を設定し、前記複数の時間長のそれぞれについて、検索対象の音声信号に前記複数の時間長を有する区間を尤度取得区間として複数指定する区間指定ステップと、
前記区間指定ステップで指定した尤度取得区間が前記検索文字列に対応する音声が発せられている区間であることの尤もらしさを示す尤度を取得する尤度取得ステップと、
前記区間指定ステップで指定した尤度取得区間の中から、予め設定された第１の時間ごとに尤度取得区間を選択する選択ステップと、
前記選択ステップで選択した複数の尤度取得区間の中から前記尤度取得ステップで取得した尤度に基づいて、前記検索対象の音声信号の中から前記検索文字列に対応する音声が発せられていることが推定される推定区間を特定する特定ステップと、
を含む音声検索方法。
【請求項８】
コンピュータを、
検索文字列に対応する音声の発話時間長として、複数の異なる話速に対応した複数の時間長を有する区間を設定し、前記複数の時間長のそれぞれについて、検索対象の音声信号に前記複数の時間長を有する区間を尤度取得区間として複数指定する区間指定手段、
前記区間指定手段が指定した尤度取得区間が前記検索文字列に対応する音声が発せられている区間であることの尤もらしさを示す尤度を取得する尤度取得手段、
前記区間指定手段が指定した尤度取得区間の中から、予め設定された第１の時間ごとに尤度取得区間を選択する選択手段、
前記選択手段が選択した複数の尤度取得区間の中から前記尤度取得手段が取得した尤度に基づいて、前記検索対象の音声信号の中から前記検索文字列に対応する音声が発せられていることが推定される推定区間を特定する特定手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声検索装置、音声検索方法及びプログラムに関する。
【背景技術】
【０００２】
音声や動画等のマルチメディアコンテンツの拡大・普及に伴い、高精度なマルチメディア検索技術が求められている。その中で音声検索においては、検索対象とする検索語（クエリ）に対応する音声が発話されている箇所を音声信号の中から特定する音声検索の技術が研究されている。この音声検索では、高速かつ正確に音声検索をする技術が重要となる。
【０００３】
非特許文献１は、音声信号同士を高速に比較する方法を開示している。これにより、音声で入力されたクエリに対応する箇所を、検索対象の音声信号の中から高速に特定することができる。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Ｙ．Ｚｈａｎｇ  ａｎｄ  Ｊ．Ｇｌａｓｓ．  “Ａｎ  ｉｎｎｅｒ−ｐｒｏｄｕｃｔ  ｌｏｗｅｒ−ｂｏｕｎｄ  ｅｓｔｉｍａｔｅ  ｆｏｒ  ｄｙｎａｍｉｃ  ｔｉｍｅ  ｗａｒｐｉｎｇ，”  ｉｎ  Ｐｒｏｃ．  ＩＣＡＳＳＰ，２０１１，ｐｐ．５６６０−５６６３．
【発明の概要】
【発明が解決しようとする課題】
【０００５】
非特許文献１が開示する技術では、検索対象の音声の話速とクエリ入力者の話速とが異なる場合には、同じ発話内容に対する時間長が一致しないので検索精度が低くなるという問題がある。
【０００６】
本発明は、以上のような課題を解決するためのものであり、異なる話速の音声信号の中から検索語を高精度に検索することが可能な音声検索装置、音声検索方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明に係る音声検索装置は、
検索文字列に対応する音声の発話時間長として、複数の異なる話速に対応した複数の時間長を有する区間を設定し、前記複数の時間長のそれぞれについて、検索対象の音声信号に前記複数の時間長を有する区間を尤度取得区間として複数指定する区間指定手段と、
前記区間指定手段が指定した尤度取得区間が前記検索文字列に対応する音声が発せられている区間であることの尤もらしさを示す尤度を取得する尤度取得手段と、
前記区間指定手段が指定した尤度取得区間の中から、予め設定された第１の時間ごとに尤度取得区間を選択する選択手段と、
前記選択手段が選択した複数の尤度取得区間の中から前記尤度取得手段が取得した尤度に基づいて、前記検索対象の音声信号の中から前記検索文字列に対応する音声が発せられていることが推定される推定区間を特定する特定手段と、
を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、異なる話速の音声信号の中から検索語を高精度に検索することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態１に係る音声検索装置の物理構成を示す図である。
【図２】本発明の実施形態１に係る音声検索装置の機能構成を示す図である。
【図３】音素の状態について説明するための図である。
【図４】話速に対応する発話時間長の導出について説明するための図である。
【図５】（ａ）は、検索対象の音声信号の波形図である。（ｂ）は、検索対象の音声信号において設定されるフレームを示す図である。（ｃ）は、検索対象の音声信号において指定される尤度取得区間を示す図である。
【図６】出力確率をＬｏｗｅｒ−Ｂｏｕｎｄ化する例を示す図である。
【図７】選択部による候補区間の選択方法について説明するための図である。
【図８】選択部による候補区間の選択方法について説明するための図である。
【図９】選択部による候補区間の選択方法について説明するための図である。
【図１０】本発明の実施形態１に係る音声検索装置が実行する音声検索処理の流れを示すフローチャートである。
【図１１】検索文字列に対応する区間を特定する処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態に係る音声検索装置、音声検索方法及びプログラムについて、図面を参照しながら説明する。なお、図中同一又は相当する部分には同一符号を付す。
【００１１】
（実施形態１）
実施形態１に係る音声検索装置１００は、物理的には、図１に示すように、ＲＯＭ（Read Only Memory）１と、ＲＡＭ（Random Access Memory）２と、外部記憶装置３と、入力装置４と、出力装置５と、ＣＰＵ（Central Processing Unit）６と、バス７と、を備える。
【００１２】
ＲＯＭ１は、音声検索プログラムを記憶する。ＲＡＭ２は、ＣＰＵ６のワークエリアとして機能する。
【００１３】
外部記憶装置３は、例えば、ハードディスクから構成され、解析対象である音声信号、後述するモノフォンモデル、トライフォンモデル及び音素の時間長をデータとして記憶する。
【００１４】
入力装置４は、例えば、キーボードや音声認識装置から構成される。キーボードから入力した検索語はテキストデータとしてＣＰＵ６に供給する。音声認識装置は検索語として入力した音声データを認識し、テキストデータとしてＣＰＵ６に供給する。出力装置５は、例えば、液晶ディスプレイの画面、スピーカを備える。出力装置５は、ＣＰＵ６によって出力されたテキストデータを画面に表示し、音声データをスピーカから出力する。
【００１５】
ＣＰＵ６は、ＲＯＭ１に記憶された音声検索プログラムをＲＡＭ２に読み出して、その音声検索プログラムを実行することにより、以下に示す機能を実現する。バス７は、ＲＯＭ１、ＲＡＭ２、外部記憶装置３、入力装置４、出力装置５、ＣＰＵ６、を接続する。
【００１６】
音声検索装置１００は、機能的には、図２に示すように、音声信号記憶部１０１と、モノフォンモデル記憶部１０２と、トライフォンモデル記憶部１０３と、時間長記憶部１０４と、検索文字列取得部１１１と、変換部１１２と、時間長取得部１１３と、時間長導出部１１４と、区間指定部１１５と、特徴量取得部１１６と、出力確率取得部１１７と、置換部１１８と、尤度取得部１１９と、繰り返し部１２０と、選択部１２１（第１選択部１２１ａ、第２選択部１２１ｂ）と、第２の変換部１２２と、第２の出力確率取得部１２３と、第２の尤度取得部１２４と、特定部１２５と、を備える。音声信号記憶部１０１、モノフォンモデル記憶部１０２、トライフォンモデル記憶部１０３、及び時間長記憶部１０４は、外部記憶装置３の記憶領域に構築されている。
【００１７】
音声信号記憶部１０１は、検索対象の音声信号を記憶する。検索対象の音声信号は、例えばニュース放送等の音声、録音された会議の音声、録音された講演の音声、映画の音声等に係る音声信号である。
【００１８】
モノフォンモデル記憶部１０２及びトライフォンモデル記憶部１０３は、音響モデルを記憶する。音響モデルは、検索文字列として取得可能な文字列を構成する各音素の周波数特性等をモデル化したものである。具体的には、モノフォンモデル記憶部１０２は、モノフォン（１音素）による音響モデル（モノフォンモデル）を記憶し、トライフォンモデル記憶部１０３は、トライフォン（３音素）による音響モデル（トライフォンモデル）を記憶する。
【００１９】
音素とは、話者により発話された音声を構成する成分の単位である。例えば、「貴族制度：キゾクセイド」という単語は、「ｋ」、「ｉ」、「ｚ」、「ｏ」、「ｋ」、「ｕ」、「ｓ」、「ｅ」、「ｉ」、「ｄ」、「ｏ」という１１個の音素から構成される。
【００２０】
モノフォンモデルは、１音素毎に生成された音響モデルであり、隣接する音素に依存しない。すなわち、前後の音素状態との状態遷移を固定化した音響モデルである。トライフォンモデルは、３音素毎に生成された音響モデルであり、隣接する音素に依存する。すなわち、前後の音素状態との状態遷移を考慮した音響モデルであり、モノフォンモデルに比べると多くの情報を有している。音声検索装置１００は、モノフォンモデル及びトライフォンモデルを一般的な方法で学習して、それぞれモノフォンモデル記憶部１０２及びトライフォンモデル記憶部１０３に予め記憶しておく。
【００２１】
モノフォンモデル及びトライフォンモデルとして、例えば、一般的な音声認識で利用される音響モデルであるＨＭＭ（Hidden Markov Model；隠れマルコフモデル）を利用できる。ＨＭＭは、統計的な手法により音声信号からその音声信号を構成する音素を確率的に推定するためのモデルである。ＨＭＭには、時間的な状態の揺らぎを示す遷移確率と、各状態から入力された特徴量を出力する確率（出力確率）と、をパラメータとした標準パターンを用いる。
【００２２】
時間長記憶部１０４は、音響モデルで利用される各音素の継続時間長を異なる話速のグループに分けて、各音素の状態単位で記憶する。各音素の継続時間長とは、各音素が発せられるときの平均的な時間長である。各音素の状態とは、各音素を時間方向に細分化した単位であり、音響モデルの最小単位に相当する。各音素には予め状態数が定められている。例えば、各音素に定められた状態数が「３」である場合を例にとって説明する。例えば、音声「あ」の音素「ａ」は、図３に示すように、この音素の発声開始時を含む第１の状態「ａ１」と、中間状態である第２の状態「ａ２」と、発声終了時を含む第３の状態「ａ３」と、の３つの状態に分けられる。すなわち、１音素は３つの状態から構成される。音響モデルで利用される全音素の数をＱとした場合、（３×Ｑ）個の状態が存在する。音声検索装置１００は、（３×Ｑ）個の状態のそれぞれについて、大量の音声信号のデータから継続時間長の平均値を取得し、時間長記憶部１０４に予め記憶しておく。
【００２３】
本実施形態では、音素の継続時間長のグループを「早め」、「普通」、「遅め」の３段階の話速に対応するグループに分ける。時間長記憶部１０４は、大量の音声データを「早め」、「普通」、「遅め」の３段階の話速のグループに分け、各話速のグループごとに音素の継続時間長の平均を求め、話速に対応するグループごとに継続時間長を記憶しておく。
【００２４】
検索文字列取得部１１１は、入力装置４を介してユーザが入力した検索文字列を取得する。すなわち、ユーザは、音声検索装置１００に対して、検索対象の音声信号から目的の音声が発話されている部分を検索するための検索語（クエリ）を、文字列（テキスト）で与える。
【００２５】
変換部１１２は、隣接する音素に依存しない音響モデルであるモノフォンモデルの音素を、検索文字列取得部１１１が取得した検索文字列に従って並べて、検索文字列を音素列に変換する。すなわち、変換部１１２は、検索文字列に含まれる文字と同順で、各文字を発声したときの音素（モノフォン）を並べることにより、検索文字列をモノフォン音素列に変換する。
【００２６】
本実施形態では、日本語の「キゾクセイド」を検索する場合について説明する。検索文字列として日本語「キゾクセイド」が入力された場合、「キゾクセイド」は「ｋ」と「ｉ」と「ｚ」と「ｏ」と「ｋ」と「ｕ」と「ｓ」と「ｅ」と「ｉ」と「ｄ」と「ｏ」との１１の音素（モノフォン）を含むため、変換部１１２は、音素列「ｋ，ｉ，ｚ，ｏ，ｋ，ｕ，ｓ，ｅ，ｉ，ｄ，ｏ」を生成する。
【００２７】
時間長取得部１１３は、時間長記憶部１０４から３段階の話速に対応した音素の状態毎の継続時間長を取得する。時間長導出部１１４は、変換部１１２が出力した音素列に含まれる各音素の状態毎の継続時間長を時間長取得部１１３から取得する。そして、取得した継続時間長に基づいて、検索文字列に対応する音声の時間長（以下、発話時間長）を導出する。
【００２８】
具体的には、時間長導出部１１４は、まず、「ｋ，ｉ，ｚ，ｏ，ｋ，ｕ，ｓ，ｅ，ｉ，ｄ，ｏ」の１１個の音素に対応する継続時間長を「早め」用の音素の継続時間長のグループから取得する。正確には、各音素は、３つの状態を有しており、状態毎に継続時間長のデータが蓄積されているので、３３個の継続時間長のデータを取得する。そして、取得した継続時間長を加算して音素列「ｋ，ｉ，ｚ，ｏ，ｋ，ｕ，ｓ，ｅ，ｉ，ｄ，ｏ」の話速「早め」用の発話時間長を導出する。次に、「普通」用の音素の継続時間長のグループから、同様にして３３個の継続時間長のデータを取得して、話速「普通」用の発話時間長を導出する。以下、同様にして、「遅め」用の音素の継続時間長のグループから３３個の継続時間長のデータを取得して、発話時間長を導出する。
【００２９】
図４を用いて、より詳しく説明する。図４の２列目は、検索語「キゾクセイド」の１１音素の３３状態を記載している。３列目は、各音素の状態に対応する継続時間長を、時間長記憶部１０４の話速「早め」用の継続時間長のグループから取得した値である。そして、継続時間長を３３個合計した値（６１６ｍｓ）が、話速「早め」用の発話時間長である。４列目は、各音素の状態に対応する継続時間長を、時間長記憶部１０４の話速「普通」用の継続時間長のグループから取得した値である。そして、継続時間長を３３個合計した値（７７０ｍｓ）が、話速「普通」用の発話時間長である。以下同様にして、時間長導出部１１４は、話速「遅め」用の発話時間長（８４７ｍｓ）を導出する。
【００３０】
すなわち、音声検索装置１００は、音素の状態毎に発話の際の典型的な３種類の継続時間長を予め時間長記憶部１０４に用意しておき、検索語について話速に対応する３つの発話時間長を導出する。
【００３１】
図２に戻って、区間指定部１１５は、音声信号記憶部１０１から検索対象の音声信号を取得して、検索対象の音声信号における先頭から順に、時間長導出部１１４が導出した発話時間長の区間を尤度取得区間として指定する。尤度とは、検索対象の音声と音響モデルから作成した検索文字列に対応する音素列との類似の度合を示す指標である。区間指定部１１５は、検索文字列から変換された音素列と音声信号とを比較するため、指定した尤度取得区間内の音声信号を切り出して、切り出した音声信号を音素列に含まれる各音素の状態に対応するフレームに分割する。区間指定部１１５は、時間長導出部１１４が導出した３つの時間長のそれぞれについて、切り出した音声信号に含まれる各フレームと音素列に含まれる各音素の状態とを対応付ける。
【００３２】
フレームとは、音素の１状態の時間長を有する時間窓である。具体的に図５を参照して、検索対象の音声信号に設定されるフレームについて説明する。図５（ａ）は、先頭から末尾までの時間長Ｔの検索対象の音声信号の波形図である。縦軸は波形の振幅を示し、横軸は時間ｔを示す。図５（ｂ）は、図５（ａ）に示す音声信号において設定されるフレームを示す。１行目は、音声信号の先頭から始まる第０フレーム列である。「キゾクセイド」の音素数は１１音素で、３３状態あるので、第０フレーム列に含まれるフレーム数は３３個である。話速に対応して音素の継続時間長が異なるので、フレーム長Ｆも話速に対応して異なることになる。したがって、音声信号の先頭から始まる第０フレーム列も、「早め」、「普通」、「遅め」の３段階の話速に対応して３つのフレーム列を設定する。
【００３３】
例えば、話速「早め」用の第０フレーム列は、図４の３列目の時間長を用いるので、第１フレームの時間長は１６ｍｓ、第２フレームの時間長は２０ｍｓとなる。話速「早め」用のフレーム長は、第０フレーム列から第（Ｐ−１）フレーム列まで同じ時間長である。同様に、話速「普通」用の第０フレーム列は、図４の４列目の時間長を用いるので、第１フレームの時間長は２０ｍｓ、第２フレームの時間長は２５ｍｓとなる。話速「遅め」用の第０フレーム列は、図４の５列目の時間長を用いるので、第１フレームの時間長は２２ｍｓ、第２フレームの時間長は２８ｍｓとなる。
【００３４】
２行目の第１フレーム列は、音声信号の先頭から所定のシフト長Ｓだけシフトして設定する。第１フレーム列もフレーム数は３３個であり、話速に対応して３つのフレーム列を設定する。以後、同様にしてフレーム列の先頭位置を１シフト長Ｓずつシフトして第（Ｐ−１）フレーム列まで、それぞれ３つのフレーム列を設定する。
【００３５】
シフト長Ｓは、音声信号のどの位置に検索対象の検索語（クエリ）が存在するかを検索する検索位置の精度を決める長さである。シフト長Ｓは、最も短いフレーム長よりも短い値に設定される固定値である。本実施形態においては、図４に示す音素の状態の最短が１４ｍｓであるので、それより短い１０ｍｓとする。
【００３６】
図５（ｃ）は、検索対象の音声信号において区間指定部１１５により指定される尤度取得区間を示す。区間指定部１１５は、まず始めに、話速「早め」の発話時間長（６１６ｍｓ）の区間を時間長Ｌの第０尤度取得区間に指定する。第０フレーム列が話速に対応して３つあるので、発話時間長（７７０ｍｓ）の区間を話速「普通」用の第０尤度取得区間に指定する。発話時間長（８４７ｍｓ）の区間を話速「遅め」用の第０尤度取得区間に指定する。次に、音声信号の先頭から１シフト長Ｓだけシフトした位置から始まる第１フレーム列の区間を第１尤度取得区間に指定する。第１尤度取得区間についても３つ指定する。以下、同様にして、第（Ｐ−１）フレーム列の区間に対応する第（Ｐ−１）尤度取得区間までを３つずつ指定する。
【００３７】
図２に戻って、特徴量取得部１１６は、区間指定部１１５が指定した尤度取得区間における検索対象の音声信号の特徴量を、フレーム毎に取得する。この特徴量は、音声データを周波数軸上に変換して得られる周波数軸系特徴パラメータと、音声データのエネルギーの２乗和やその対数を取得することにより得られるパワー系特徴パラメータと、を組み合わせることによって得られる。
【００３８】
例えば周知のように、特徴量は、周波数軸系特徴パラメータ１２成分（１２次元）とパワー系特徴パラメータ１成分（１次元）、および、直前の時間窓の各成分との差分を取った周波数軸系特徴パラメータ１２成分（１２次元）と、パワー系特徴パラメータ１成分（１次元）、及び、直前の時間窓の各成分との差分の差分を取った周波数軸系特徴パラメータ１２成分（１２次元）の、合計３８成分を有する３８次元ベクトル量として構成される。
【００３９】
図２に戻って、出力確率取得部１１７は、特徴量取得部１１６が取得した特徴量に基づいて、この特徴量が音素列に含まれる各音素から出力される確率（出力確率）を、フレーム毎に取得する。具体的には、出力確率取得部１１７は、モノフォンモデル記憶部１０２からモノフォンモデルを取得して、特徴量取得部１１６が取得した各フレームにおける特徴量と、変換部１１２が変換した音素列に対応するモノフォンモデルとを比較する。そして、音声信号の各フレームにおける特徴量が対応するモノフォンモデルの各状態から出力される確率を取得する。
出力確率取得部１１７は、この出力確率を区間指定部１１５が指定した話速に対応する３つの尤度取得区間について、尤度取得区間に含まれる３３個のフレームのそれぞれに対して出力確率を取得する。
【００４０】
置換部１１８は、出力確率取得部１１７が取得した出力確率のそれぞれを、隣接する前後数フレームの中で最大の出力確率に置換する。この置換処理は、Ｌｏｗｅｒ−Ｂｏｕｎｄ化と呼ばれる。この処理も３つの尤度取得区間のそれぞれについて行う。
【００４１】
具体的に図６を参照して、Ｌｏｗｅｒ−Ｂｏｕｎｄ化について説明する。図６において、実線はフレーム毎に取得された出力確率を示す。縦軸は出力確率の高さを下になるほど高くなるように示し、横軸は時間ｔを示す。置換部１１８は、各フレームの出力確率を、そのフレームと、そのフレームの前のＮ１個のフレームと、そのフレームの後のＮ２個のフレームの中で最大の出力確率に置き換える。Ｎ１とＮ２は０を含む自然数であるが、Ｎ１とＮ２のいずれかは０ではないものとする。
【００４２】
Ｎ１＝Ｎ２＝２の場合について説明する。フレーム列内の第０フレームの出力確率は、その前にフレームが無いので、自身の第０フレームとその後の第１フレームと第２フレームの中で最大の出力確率と置換する。第１フレームの出力確率は、その前の第０フレームと自身の第１フレームとその後の第２フレームと第３フレームの中で最大の出力確率と置換する。第２フレームの出力確率は、その前の第０フレームと第１フレームと、自身の第２フレームと、その後の第３フレームと第４フレームの中で最大の出力確率と置換する。このように、第３３フレームまで置換処理を行う。置換の結果、実線で示した出力確率は、破線で示したＬｏｗｅｒ−Ｂｏｕｎｄ化出力確率のように、時間方向において値の変化が小さくなった出力確率に変換される。
【００４３】
このようなＬｏｗｅｒ−Ｂｏｕｎｄ化により、時間長記憶部１０４に記憶された各音素の継続時間長と実際の音声信号の継続時間長との誤差、及び、時間長導出部１１４が導出した検索文字列に対応する音声の発話時間長と実際の音声信号の発話時間長との誤差を、前後数フレームの範囲内で小さくすることができる。
【００４４】
図２に戻って、尤度取得部１１９は、置換部１１８による置換後の出力確率に基づいて、区間指定部１１５が指定した尤度取得区間が検索文字列に対応する音声が発せられている区間であることの尤もらしさを示す尤度を取得する。具体的には、尤度取得部１１９は、置換後の出力確率の対数をとって得られる値を、尤度取得区間の先頭から末尾までの全フレーム、この例では３３フレームにわたって加算することにより、この尤度取得区間の尤度を取得する。すなわち、出力確率が高いフレームを多く含む尤度取得区間ほど、尤度取得部１１９が取得する尤度は高くなる。これを話速に対応する３つの尤度取得区間について行う。
【００４５】
繰り返し部１２０は、区間指定部１１５が指定する尤度取得区間の音声信号における指定区間を変えて、区間指定部１１５、特徴量取得部１１６、出力確率取得部１１７、置換部１１８、及び尤度取得部１１９の処理を繰り返すように各部を制御する。
【００４６】
具体的に図５（ｂ）と（ｃ）を参照して説明すると、繰り返し部１２０の制御を受けて、区間指定部１１５は尤度取得区間の先頭位置を１シフト長（Ｓ＝１０ｍｓ）分シフトさせて第１尤度取得区間を新たに指定し、指定した第１尤度取得区間をフレームに分割して第１フレーム列を指定する。第１尤度取得区間についても話速に対応する３つの尤度取得区間を指定する。そして、繰り返し部１２０は、新たに指定した第１尤度取得区間において、上述した特徴量取得部１１６から尤度取得部１１９までの処理と同様の処理を各部に実行させて、第１尤度取得区間の尤度を取得するように各部を制御する。
【００４７】
同様に、繰り返し部１２０は、第２尤度取得区間から第（Ｐ−１）尤度取得区間まで、区間指定部１１５が指定する尤度取得区間を１シフト長（Ｓ＝１０ｍｓ）ずつシフトさせて、シフト後の尤度取得区間のそれぞれについて尤度を取得するように各部を制御する。その結果、検索対象の音声信号を１シフト長Ｓずつシフトした尤度取得区間のそれぞれに対して、モノフォンモデルから作成した音素列「ｋ，ｉ，ｚ，ｏ，ｋ，ｕ，ｓ，ｅ，ｉ，ｄ，ｏ」に対する尤度が取得される。
なお、検索対象の音声信号の中で指定可能な尤度取得区間の数Ｐは、音声信号の時間長Ｔと尤度取得区間の時間長Ｌとシフト長Ｓとを用いて、Ｐ＝（Ｔ−Ｌ＋Ｓ）／Ｓと定められる。話速に対応して３つずつ設定されるので、尤度取得区間は、全部で３Ｐ個の尤度取得区間のそれぞれに対して尤度を求めることになる。
【００４８】
選択部１２１は、尤度取得部１１９が取得した尤度に基づいて、区間指定部１１５が指定した尤度取得区間の中から、検索文字列に対応する音声が発せられていることが推定される推定区間の候補を尤度が高い順にｘ個選択する。すなわち、選択部１２１は、後段のトライフォンモデルに基づくより精度の高い尤度取得の取得処理量を抑えるため、尤度を取得した３Ｐ個の尤度取得区間の中から最終的な検索結果の候補となる区間ｘ個を予備的に選択し、残りの尤度取得区間を候補から除外する。
【００４９】
このとき、区間指定部１１５が指定した尤度取得区間は多くの重なりを有するため、尤度が高い区間は時系列的に連続して存在することが多い。そのため、選択部１２１が、尤度取得区間の中で単純に尤度が高い区間から順に推定区間の候補を選択すると、選択される区間が検索対象の音声信号における一部に集中する可能性が大きくなる。
【００５０】
これを避けるために、選択部１２１は、第１選択部１２１ａと第２選択部１２１ｂを備え、推定区間の候補を検索対象の音声信号全体にわたって満遍なく選択する。第１選択部１２１ａは、第１の時間を設け、第１の時間ごとに、この第１の時間の中から開始する尤度取得区間の中で尤度が最大の尤度取得区間を１つずつ選択する。この第１の時間は、発話時間長Ｌよりも短い時間に設定する。例えば、発話時間長Ｌの１／ｍに相当する時間長のように設定する。ｍの値は、サンプリング定理を考慮するとｍ≧２となるが、本実施形態ではｍ＝２．２として説明する。具体的には、検索語「キゾクセイド」の話速「早め」の発話時間長Ｌは６１６ｍｓであるので、ｍ＝２．２とし、第１の時間を２８０ｍｓに設定する。そして、第１の時間（Ｌ／ｍ）毎に１個ずつ尤度取得区間を候補として選択し、残りは候補から除外する。これにより、第１選択部１２１ａは、推定区間の候補を、検索対象の音声信号全体にわたって満遍なく選択する。
【００５１】
第１選択部１２１ａは、３つの話速ごとに生成した区間のそれぞれについてこの処理を行う。第１選択部１２１ａは、話速「普通」に対応する区間に対しては、７７０ｍｓの１／２．２の３５０ｍｓを第１の時間とし、話速「遅め」に対応する区間に対しては、８４７ｍｓの１／２．２の３８５ｍｓを第１の時間とする。そして、各話速に対応する区間について、第１の時間毎に１個ずつ尤度取得区間を候補として選択し、残りは候補から除外する。
【００５２】
第１選択部１２１ａは、選択した区間の候補を尤度が高い順にソートし、尤度が高いｘ個の区間を候補として選択する。第１選択部１２１ａは、３つの話速のそれぞれについてｘ個の区間を選択するので、合計３ｘ個の区間を選択する。話速に応じた選択時間長毎にｘ個の区間の候補を選択した例を図７に示す。図中の「フレーム列番号」の欄には、図５に示した１シフト長Ｓずつシフトしたフレーム列番号を記載してある。第０フレーム列はシフト量が０なのでフレーム列番号を「０」とし、第１フレーム列はシフト量がＳ×１なのでフレーム列番号を「１」とする。第ｎフレーム列はシフト量がＳ×ｎなのでフレーム列番号を「ｎ」とする。すなわち、第ｎフレームの先頭位置は、音声信号の先頭位置からＳ×ｎシフトした位置となる。図中の「尤度」の欄には、その尤度取得区間について尤度取得部１１９が取得した尤度の値を記載している。ここでは、尤度の数値が小さいほど尤度が高いことを示している。
【００５３】
次に、第２選択部１２１ｂは、図７に示した３つの話速に分類された尤度取得区間を合わせて、図８に示すように、尤度取得区間に対応するフレーム列番号順にソートする。図の３列目の欄には、その尤度取得区間がどの話速倍率（早め：０．８倍、普通：１．０倍、遅め：１．１倍）に基づいて生成された区間であるかを記載している。
【００５４】
そして、第２選択部１２１ｂは、図８に示す尤度取得区間の中から、尤度取得区間の最短時間長よりも短い第２の時間ごとに、この第２の時間の中から開始する尤度取得区間の中で尤度が最大の尤度取得区間を１つずつ選択する。例えば、第２の時間は、最短発話時間長の１／ｍ（ｍ＝２．２）以下の時間長とする。
【００５５】
このとき、ある区間の開始位置とその前後の区間の開始位置との間隔が第２の時間以下である場合、第２選択部１２１ｂは、該当区間とその前後の区間の尤度を比較し、尤度の高い方の区間を選択する。
【００５６】
図８と図９を用いて具体的に説明する。第２の時間を図４に示す最短発話時間長「６１６ｍｓ」の１／２．２である２８０ｍｓとする。これを音声信号に付与したフレーム列番号に対応させると、シフト長Ｓが１０ｍｓであるので、２８フレーム（ｎ＝２８）列毎の間隔になる。そこで、第２の時間をフレーム数に換算して、２８フレーム列番号ごとに尤度取得区間を選択する。
【００５７】
図８の項番１と２は２８フレーム列番号以上離れているので、項番２は選択対象の候補となる。しかし、項番２と次の項番３のフレーム列番号は２８離れていない。項番２と３とを比較すると、項番３の方が尤度が高い。したがって、第２選択部１２１ｂは、項番２ではなく項番３を選択する。項番３と４とは同じフレーム列番号で始まるが、項番４よりも項番３の方が尤度が高いので、第２選択部１２１ｂは、項番３を選択する。
【００５８】
項番５のフレーム列番号は、その前に選択した項番３のフレーム列番号から２８以上離れているので選択対象の候補となる。しかし、項番５と次の項番６のフレーム列番号は２８離れていない。項番５と６とを比較すると、項番５の方が尤度が高い。したがって、第２選択部１２１ｂは、項番５をそのまま選択する。項番７のフレーム列番号は、その前に選択した項番５のフレーム列番号から２８以上離れているので選択対象の候補となる。項番７と次の項番８のフレーム列番号は２８以上離れている。したがって、第２選択部１２１ｂは、項番７をそのまま選択する。以下同様にして、第２選択部１２１ｂは、候補とする区間を選択して、図９に示す一次選択の最終候補の区間を選択する。図９に示すように、第２選択部１２１ｂが選択した区間の候補には、異なる話速に基づいて生成された区間が含まれる。
【００５９】
第２選択部１２１ｂは、上記の処理により得た図９に示す区間の候補を尤度が高い順にソートし、尤度が高い区間をｘ個選択する。
【００６０】
第２選択部１２１ｂによる選択結果は、出力装置５が備える画面を介して外部に表示される。その後、音声検索装置１００は、選択したｘ個の区間に対して、トライフォンモデル及び動的計画法（ＤＰ（Dynamic Programming）マッチング）に基づくより精度の高い尤度取得処理を実行する。ＤＰマッチングは、解析区間の尤度が最大になるように状態遷移を選択する手法である。トライフォンモデルでは、前後の音素との状態遷移を考慮する必要があるので、ＤＰマッチングにより、尤度取得区間の尤度が最大となるように、前後の音素の状態遷移を決める。
【００６１】
第２の変換部１２２は、隣接する音素に依存する第２の音響モデルであるトライフォンモデルの音素を、検索文字列取得部１１１が取得した検索文字列に従って並べて、検索文字列を第２の音素列であるトライフォン音素列に変換する。例えば、検索文字列として日本語「キゾクセイド」が入力された場合、「キゾクセイド」は「ｋ−ｉ＋ｚ」と「ｉ−ｚ＋ｏ」と「ｚ−ｏ＋ｋ」と「ｏ−ｋ＋ｕ」と「ｋ−ｕ＋ｓ」と［ｕ−ｓ＋ｅ」と「ｓ−ｅ＋ｉ」と「ｅ−ｉ＋ｄ」と「ｉ−ｄ＋ｏ」との９つのトライフォンを含むため、第２の変換部１２２は、これら９つのトライフォンを並べたトライフォン音素列を生成する。さらに、始端と終端には２音素からなるバイフォン「ｋ＋ｉ」と「ｄ−ｏ」を割り当てることもある。この場合には、予めバイフォンモデルを外部記憶装置３に記憶しておく。なお、「−」記号の左側にある音素は中心音素よりも前にあり、「＋」記号の右側にある音素は中心音素よりも後にあることを示す。
【００６２】
第２の出力確率取得部１２３は、第２選択部１２１ｂが推定区間の候補として選択したｘ個の尤度取得区間における検索対象の音声信号の特徴量が、第２の変換部１２２が変換した第２の音素列（トライフォン音素列）に含まれる各音素から出力される出力確率を、フレーム毎に取得する。具体的には、第２の出力確率取得部１２３は、トライフォンモデル記憶部１０３からトライフォンモデルを取得して、特徴量取得部１１６が取得した各フレームにおける特徴量と、トライフォン音素列に含まれる各トライフォンのモデルとを比較する。そして、各フレームにおける特徴量が各トライフォンから出力される確率を取得する。
【００６３】
第２の尤度取得部１２４は、第２選択部１２１ｂが推定区間の候補として選択したｘ個の尤度取得区間が検索文字列に対応する音声が発せられている区間であることの尤もらしさを示す第２の尤度を取得する。第２の尤度は、第２の音素列であるトライフォン音素列に基づいて取得されるため、モノフォン音素列に基づいて尤度取得部１１９が取得した尤度に比べて、より精度が高い指標である。
【００６４】
第２の尤度取得部１２４は、第２の出力確率取得部１２３が取得した出力確率に基づいて、第２選択部１２１ｂが限定した尤度取得区間に含まれる各フレームについて、音声信号の特徴量とトライフォン音素列に含まれるトライフォンモデルとの対応を、ＤＰマッチングにより探索する。そして、第２選択部１２１ｂが選択した尤度取得区間における各フレームのそれぞれについて取得された出力確率の対数をとって得られる値を加算することにより、その区間における第２の尤度を得る。
【００６５】
特定部１２５は、第２の尤度取得部１２４が取得した第２の尤度に基づいて、第２選択部１２１ｂが選択したｘ個の区間の候補の中から、検索対象の音声信号の中から検索文字列に対応する音声が発せられていることが推定される推定区間を特定する。例えば、特定部１２５は、第２の尤度取得部１２４が取得した第２の尤度が高い順にソートし、尤度が高い順に所定の数の区間を、推定区間として特定する。もしくは、尤度が所定の値以上の区間を推定区間として特定する。特定部１２５が特定した区間の位置情報は、最終的な検索結果として、出力装置５が備える画面を介して外部に表示される。
【００６６】
以上のような物理的構成及び機能的構成を有する音声検索装置１００が実行する音声検索処理について、図１０に示すフローチャートを参照して説明する。
【００６７】
ユーザは、予め、「早め」、「普通」、「遅め」の３段階の話速に対応する大量の音声データから、各話速に対応する音素の状態毎の継続時間長を求め、時間長記憶部１０４に記憶しておく。解析対象の音声信号は、例えば、１時間の講演の録音された音声とし、音声信号記憶部１０１に記憶しておく。ここでは、検索対象のクエリは、「キゾクセイド」とする。
【００６８】
ＣＰＵ６が、ＲＯＭ１から音声検索プログラムを読み出して、音声検索プログラムを実行することにより、図１０に示すフローチャートは開始する。ユーザが、検索対象のクエリ「キゾクセイド」を入力装置４から入力し、検索文字列取得部１１１が検索文字列を取得する（ステップＳ１１）。検索文字列取得部１１１が検索文字列を取得すると、変換部１１２及び第２の変換部１２２は、検索文字列を音素列に変換し（ステップＳ１２）、音素列の音素順に音響モデルの音素を並べる（ステップＳ１３）。具体的には、変換部１１２は、検索文字列をモノフォンモデルによるモノフォン音素列「ｋ，ｉ，ｚ，ｏ，ｋ，ｕ，ｓ，ｅ，ｉ，ｄ，ｏ」に変換し、第２の変換部１２２は、検索文字列をトライフォンモデルによる９つのトライフォン音素列「ｋ−ｉ＋ｚ」と「ｉ−ｚ＋ｏ」と「ｚ−ｏ＋ｋ」と「ｏ−ｋ＋ｕ」と「ｋ−ｕ＋ｓ」と［ｕ−ｓ＋ｅ」と「ｓ−ｅ＋ｉ」と「ｅ−ｉ＋ｄ」と「ｉ−ｄ＋ｏ」とに変換する。また、バイフォンモデル「ｋ＋ｉ」と「ｄ−ｏ」を追加しても良い。
【００６９】
検索文字列を音素列に変換すると、時間長導出部１１４は、検索文字列に対応する音声の発話時間長を３種類導出する（ステップＳ１４）。具体的には、時間長導出部１１４は、時間長記憶部１０４において音素の状態毎に記憶された継続時間長を加算することにより、検索文字列に対応する音声の発話時間長を導出する。時間長記憶部１０４は、「早め」、「普通」、「遅め」の３段階の音素の継続時間長のグループを記憶している。従って、時間長導出部１１４は、音素の継続時間長のグループのそれぞれに対して時間長を導出するので、発話時間長として３種類の時間長を導出する。
【００７０】
具体的には、図４を用いて説明したように、時間長導出部１１４は、検索語「キゾクセイド」の発話時間長として、話速「早め」用の発話時間長（６１６ｍｓ）、話速「普通」用の発話時間長（７７０ｍｓ）、話速「遅め」用の発話時間長（８４７ｍｓ）、を導出する。
【００７１】
図１０に戻って、時間長導出部１１４が３つの時間長を導出すると、区間指定部１１５は、最初に、図４の２列目に示す話速「早め」用の発話時間長に対応する第１尤度取得区間として、音声信号の先頭から（０ｍｓ〜６１６ｍｓ）の区間を指定する（ステップＳ１５）。そして、第１尤度取得区間を「ｋ１」から「ｏ３」までの３３状態に対応するフレームに分割した第０フレーム列を指定する。次に、同様にして、話速「普通」に対して音声信号の先頭から（０ｍｓ〜７７０ｍｓ）までの第０尤度取得区間を指定し、話速「遅め」に対して音声信号の先頭から（０ｍｓ〜８４７ｍｓ）までの区間を第０尤度取得区間として指定する。３つの尤度取得区間の先頭位置は同じであるが、時間長が異なるので終了位置は異なった位置となる。
【００７２】
区間指定部１１５が尤度取得区間を指定すると、特徴量取得部１１６は、指定した尤度取得区間の音声信号の特徴量を、フレーム毎に取得する（ステップＳ１６）。具体的には、まず、話速「早め」用の第０フレーム列の第１フレームについて、図４に示す音素「ｋ１」に対応する特徴量を取得する。次に、第０フレーム列の第２フレームについて、音素「ｋ２」に対応する特徴量を取得する。以下、同様にして、第０フレーム列の第３３フレームの「ｏ３」までの話速「早め」用の特徴量を取得する。話速「早め」用の第０フレーム列について特徴量の取得が終わったら、次に、話速「普通」用の第０フレーム列について、同様にして３３フレーム分の特徴量を取得する。以下、同様にして、話速「遅め」用の第０フレーム列について、３３フレーム分の特徴量を取得する。
【００７３】
そして、出力確率取得部１１７は、特徴量取得部１１６が取得した特徴量と検索語の音素に対応するモノフォンモデルとに基づいて、この特徴量が音素列に含まれる各音素から出力される出力確率を、フレーム毎に取得する（ステップＳ１７）。すなわち、（話速３種類×フレーム数３３フレーム）分の出力確率を求める。
【００７４】
出力確率取得部１１７が出力確率を取得すると、置換部１１８は、フレーム毎に取得した出力確率を、そのフレームとそのフレーム前のＮ１個のフレームとそのフレーム後のＮ２個のフレームの、合計（１＋Ｎ１＋Ｎ２）個のフレームの中で最大の出力確率に置き換えることにより、Ｌｏｗｅｒ−Ｂｏｕｎｄ化処理を実行する（ステップＳ１８）。これにより、時間長導出部１１４が導出した発話時間長と実際の音声信号の発話時間長との誤差を縮小する。
【００７５】
尤度取得部１１９は、Ｌｏｗｅｒ−Ｂｏｕｎｄ化後の出力確率をフレームごとに対数をとって加算することにより、区間指定部１１５が指定した尤度取得区間の尤度を取得する（ステップＳ１９）。尤度取得部１１９は、区間指定部１１５が指定した３つ話速に対応する尤度取得区間に対してこの処理を行う。尤度取得部１１９が尤度を取得すると、繰り返し部１２０は、検索対象の音声信号における全区間の尤度取得が終了したか否かを判別する（ステップＳ２０）。
【００７６】
全区間の尤度取得が終了していない場合（ステップＳ２０；Ｎｏ）、区間指定部１１５が直前に指定した第０尤度取得区間を１シフト長（Ｓ＝１０ｍｓ）だけシフトした第１尤度取得区間を指定する（ステップＳ２１）。そして、その区間を分割して第１フレーム列として指定し、音声検索処理はステップＳ１６に戻る。したがって、話速「早め」に対する第１尤度取得区間として、音声信号の先頭から（１０ｍｓ〜６２６ｍｓ）までの区間を指定する。話速「普通」に対する第１尤度取得区間として音声信号の先頭から（１０ｍｓ〜７８０ｍｓ）までの区間を指定し、話速「遅め」に対する第１尤度取得区間として音声信号の先頭から（１０ｍｓ〜８５７ｍｓ）までの区間を指定する。
【００７７】
そして、繰り返し部１２０は、区間指定部１１５が新たに指定した尤度取得区間に対して上述したステップＳ１６〜Ｓ２０の処理を繰り返して、特徴量取得、出力確率取得、Ｌｏｗｅｒ−Ｂｏｕｎｄ化処理を行って、尤度を取得するように各部を制御する。このように、繰り返し部１２０は、検索対象の音声信号の末尾に達するまで、尤度取得区間を１シフト長（Ｓ＝１０ｍｓ）ずつシフトさせて順次尤度を取得するように、区間指定部１１５、特徴量取得部１１６、出力確率取得部１１７、置換部１１８、尤度取得部１１９を制御する。
【００７８】
最終的に、全区間の尤度取得が終了すると（ステップＳ２０；Ｙｅｓ）、音声検索処理は、取得した尤度に基づいて検索文字列に対応する区間を特定する処理（ステップＳ２２）に移行する。この特定処理の詳細については、図１１に示すフローチャートを参照して説明する。
【００７９】
全区間の尤度取得処理が終了すると、第１選択部１２１ａは、区間指定部１１５が指定した話速に対応した３つの発話時間長ごとにＰ個ずつ指定した尤度取得区間の中から、第１の時間毎に最も尤度が高い区間を１つずつ選択する（ステップＳ１０１）。この選択を話速毎に行う。第１の時間は、各話速の時間長の１／ｍの時間長とする。例えば、ｍ＝２．２とすると、図４に示す話速「早め」に対応する第１の時間は、時間長６１６ｍｓの１／２．２の２８０ｍｓとなる。話速「普通」に対応する第１の時間は、時間長７７０ｍｓの１／２．２である３５０ｍｓとなる。話速「遅め」に対応する第１の時間は、時間長８４７ｍｓの１／２．２である３８５ｍｓとなる。
【００８０】
第１選択部１２１ａは、この選択した区間を尤度が高い順にソートし、尤度が高い区間を話速毎にｘ個ずつ（合計３ｘ個）選択する（ステップＳ１０２）。図７は、第１の時間ごとに１つずつ尤度取得区間を選択し、尤度が高い１０個ずつを選択した例である。
【００８１】
次に、第２選択部１２１ｂは、図８に示すように、選択した合計３ｘ個の区間をフレーム列番号順にソートする（ステップＳ１０３）。そして、第２の時間ごとに、その区間で始まる尤度取得区間の中で最も尤度が高い区間を１つずつ選択する（ステップＳ１０４）。第２の時間は、最短発話時間長よりも短い時間長とする。例えば、最短発話時間長Ｌの１／ｍ（ｍ＝２．２）とした場合、図４に示す例では、話速「早め」の時間長６１６ｍｓの１／２．２の２８０ｍｓを第２の時間とする。そして、２８０ｍｓごとに最も尤度が高い区間を選択する。さらに、第２選択部１２１ｂは、以上の処理により選択した区間の中から、尤度が高い順にｘ個の区間を選択する（ステップＳ１０５）。
【００８２】
このように、選択部１２１は、最終的な検索結果として特定する区間の候補を、異なる話速に基づく区間を含み、検索対象の音声信号の全体から満遍なく候補が残るように予備選択する。
【００８３】
選択部１２１による予備選択の後、第２の出力確率取得部１２３は、トライフォン音素列に基づいて、選択部１２１が選択したｘ個の区間における出力確率を、フレーム毎に取得する（ステップＳ１０６）。そして、第２の尤度取得部１２４は、選択部１２１が選択した区間の尤度をＤＰマッチングにより取得する（ステップＳ１０７）。すなわち、第２の出力確率取得部１２３及び第２の尤度取得部１２４は、トライフォンモデル及びＤＰマッチングに基づいて、出力確率取得部１１７及び尤度取得部１１９に比べて精度の高い尤度取得処理を実行する。
【００８４】
第２の尤度取得部１２４が第２の尤度を取得すると、特定部１２５は、取得した第２の尤度に基づいて、検索文字列に対応する区間を特定する（ステップＳ１０８）。例えば、特定部１２５は、第２の尤度取得部１２４が取得した第２の尤度が高い順に所定の数の区間を、検索文字列に対応する音声が発せられていることが推定される区間として特定する。ステップＳ１０８の処理が終了すると、図１１に示すフローチャートの処理は、図１０に示すフローチャートのステップＳ２３に遷移する。
【００８５】
図１０に示すフローチャートの説明に戻って、検索文字列に対応する区間を特定すると、特定部１２５は、出力装置５を介して特定結果を出力する（ステップＳ２３）。以上により、音声検索装置１００が実行する音声検索処理は終了する。
【００８６】
以上説明したように、実施形態１に係る音声検索装置１００は、異なる話速に対応した複数の音素の継続時間長を使用して、検索対象の音声信号の中からクエリに対応する音声が発せられていることが推定される区間を特定するので、検索対象の話速が異なる場合でも、検索対象の音声信号の中から、クエリに対応する音声区間を特定できる。
【００８７】
また、実施形態１に係る音声検索装置１００は、取得処理負荷が軽い予備選択において異なる話速に対応する多くの継続時間長を使用した取得処理を行うことにより、高い検索精度を確保している。そして、予備選択で候補の区間数を限定することにより、情報量が多いトライフォンモデルを用いた高精度ではあるが取得処理が重たい処理を減らしている。その結果、音声検索装置１００は、取得処理量を抑えつつ、高精度に音声検索できる。
【００８８】
また、第１の時間を各発話時間長よりも短い時間長とし、第２の時間を最短発話時間長よりも短い時間長とする。これにより、候補とする区間を限定しつつ尤度が高い区間を漏らすことなく検索することが出来る。
【００８９】
また、実施形態１に係る音声検索装置１００は、第１選択部１２１ａで候補となる区間を話速毎に選択し、その選択した区間の候補からさらに候補となる区間を選択する。このように２段階で候補となる区間を選択することにより、選択処理に使用するメモリ領域を削減することが出来る。
【００９０】
なお、ステップＳ１０１からステップＳ１０３の処理を省略することも出来る。この場合は、３つの話速に基づく３Ｐ個の区間をフレーム列番号順にソートする必要があるので、多くのメモリ領域を必要とする。どちらの方式の方がＣＰＵの処理負荷が高くなるかは、処理プログラムの作り方によって異なる。
【００９１】
また、以上の実施形態１の説明では、音素の継続時間長の話速を３段階のグループに分類した場合について説明したが、本発明の用途はこれには限定されない。音素の継続時間長を細かく分類するほど検索精度は上がるが、処理負荷が大きくなり処理時間は長くなる。しかし、モノフォンモデルを用いた予備検索は、トライフォンモデルを用いた検索に対して処理負荷が軽い。そのため、モノフォンモデルの継続時間長のグループ数を１０倍にしても、音声検索処理の全体時間はあまり増加しない。この傾向を踏まえて、装置仕様の要求にあった継続時間長のグループ数を決めることが望ましい。
【００９２】
また、以上の実施形態の説明では、選択部１２１は話速に対応した３つの時間長に基づくそれぞれＰ個の尤度取得区間の中から、尤度の高い順に各ｘ個を選択する場合について説明した。しかし、選択の仕方はこれに限定されることはない。例えば、特定の尤度の値を閾値として、その値以上の尤度取得区間を選択してもよい。特定部１２５が行う最終的な推定区間の特定においても、第２の尤度が高い順に所定の数の区間を推定区間として特定するのではなく、尤度が所定の値以上である区間を推定区間として特定してもよい。
【００９３】
また、実施形態１の説明では、区間指定部１１５が１シフト長Ｓずつフレーム列の先頭位置をシフトさせ、シフトさせる毎に特徴量の取得と出力確率の取得と尤度の取得を行う処理をＰ回繰り返す説明をした。しかし、区間指定部１１５が、最初に第０フレーム列から第（Ｐ−１）フレーム列と第０尤度取得区間から第（Ｐ−１）尤度取得区間を指定した後で、特徴量と出力確率と尤度の取得をするようにしてもよい。
【００９４】
また、バイフォンモデルを併用する場合には、モノフォンモデルでの予備選択をした後で、バイフォンモデルを用いた２次選択を行い、その後でトライフォンモデルを用いた３次選択（最終選択）をすることもできる。また、モノフォンモデルを用いた予備検索においてモノフォンモデルとバイフォンモデルを組み合わせた１次選択とすることも、トライフォンモデルを用いた最終選択においてバイフォンモデルとトライフォンモデルとを組み合わせた最終選択とすることもできる。
【００９５】
また、上記の尤度取得手段の説明では、各フレームの出力確率の対数をとって加算する説明を行った。しかし、各フレームの出力確率をかけ算する処理であるので、対数をとらずにそのまま出力確率のかけ算をしてもよいし、対数の代わりに近似式を用いてもよい。
【００９６】
また、検索精度を要求されない場合には、Ｌｏｗｅｒ−Ｂｏｕｎｄ化処理を省略することもできる。検索精度を要求される場合においても、多くの話速に対応する継続時間長を用いて検索する場合には、Ｌｏｗｅｒ−Ｂｏｕｎｄ化処理を省略できる場合がある。
【００９７】
また、以上の説明では、検索語を入力装置４からテキストデータとして入力する場合について説明したが、検索語を音声認識装置のマイクに音声データとして入力し、音声認識装置で検索語を認識するようにしてもよい。
【００９８】
また、上記の説明では、第１の時間と第２の時間を一定の時間として説明した。しかし、この時間は、ユーザが入力装置４から任意に設定できるようにしてもよい。また、第１の時間と第２の時間はそれぞれ一定である必要はなく、検索する音声信号の検索位置に応じて可変出来るようにしてもよい。例えば、検索対象の音声信号の前半では第１の時間を第１の値とし検索対象の音声信号の後半では第１の時間を第２の値に可変出来るようにしてもよい。
【００９９】
また、大量の音声データを異なる話速に分類する分類の仕方として、年代別、業界別（ニュース、スポーツ、芸能等）等の話速が異なる母集団毎に音声データを分類してもよい。
【０１００】
また、本発明に係る機能を実現するための構成を予め備えた音声検索装置として提供できることはもとより、プログラムの適用により、既存のパーソナルコンピュータや情報端末機器等を、本発明に係る音声検索装置として機能させることもできる。すなわち、上記実施形態で例示した音声検索装置１００による各機能構成を実現させるためのプログラムを、既存のパーソナルコンピュータや情報端末機器等を制御するＣＰＵ等が実行できるように適用することで、本発明に係る音声検索装置として機能させることができる。また、本発明に係る音声検索方法は、音声検索装置を用いて実施できる。
【０１０１】
また、このようなプログラムの適用方法は任意である。プログラムを、例えば、コンピュータが読取可能な記録媒体（ＣＤ−ＲＯＭ（Compact Disc Read-Only Memory）、ＤＶＤ（Digital Versatile Disc）、ＭＯ（Magneto Optical disc）等）に格納して適用できる他、インターネット等のネットワーク上のストレージにプログラムを格納しておき、これをダウンロードさせることにより適用することもできる。
【０１０２】
以上、本発明の好ましい実施形態について説明したが、本発明は係る特定の実施形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲とが含まれる。以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
【０１０３】
（付記１）
検索文字列に対応する音声の発話時間長として、複数の異なる話速に対応した複数の時間長を有する区間を設定し、前記複数の時間長のそれぞれについて、検索対象の音声信号に前記複数の時間長を有する区間を尤度取得区間として複数指定する区間指定手段と、
前記区間指定手段が指定した尤度取得区間が前記検索文字列に対応する音声が発せられている区間であることの尤もらしさを示す尤度を取得する尤度取得手段と、
前記区間指定手段が指定した尤度取得区間の中から、予め設定された第１の時間ごとに尤度取得区間を選択する選択手段と、
前記選択手段が選択した複数の尤度取得区間の中から前記尤度取得手段が取得した尤度に基づいて、前記検索対象の音声信号の中から前記検索文字列に対応する音声が発せられていることが推定される推定区間を特定する特定手段と、
を備えることを特徴とする音声検索装置。
【０１０４】
（付記２）
複数の話速に対応する音素に関する継続時間長を記憶する記憶手段と、
前記検索文字列を音素列に変換する変換手段と、
前記変換手段が変換した音素列に含まれる各音素の継続時間長を前記記憶手段から取得する時間長取得手段と、
前記時間長取得手段が取得した継続時間長に基づいて、前記検索文字列に対応する音声の発話時間長として、複数の異なる話速に対応した複数の時間長を導出する時間長導出手段と、をさらに備え、
前記区間指定手段は、検索対象の音声信号における前記時間長導出手段が導出した時間長を有する区間である尤度取得区間を、前記複数の時間長のそれぞれについて複数指定し、
前記選択手段は、前記区間指定手段が指定した尤度取得区間の中から、予め定められた第１の時間ごとに、該第１の時間の中から開始する複数の時間長を有する尤度取得区間の中で前記尤度が最大の尤度取得区間を１つずつ選択する、
ことを特徴とする付記１に記載の音声検索装置。
【０１０５】
（付記３）
前記第１の時間は、
前記時間長導出手段が導出した異なる話速に対応した複数の時間長の中で、最も短い時間長よりも短い時間長である、
ことを特徴とする付記２に記載の音声検索装置。
【０１０６】
（付記４）
前記選択手段は、
話速に対応した時間長ごとに前記第１の時間を指定し、話速に対応した時間長に分類した尤度取得区間の中から、前記第１の時間ごとに、該第１の時間の中から開始する尤度取得区間の中で前記尤度が最大の尤度取得区間を、異なる話速に対応した時間長ごとに１つずつ選択する第１の選択手段と、
前記第１の選択手段が選択した前記尤度取得区間の中から、予め設定された第２の時間ごとに、該第２の時間の中から開始する尤度取得区間の中で前記尤度が最大の尤度取得区間を１つずつ選択する第２の選択手段と、
を備え、
前記第１の時間は、前記時間長導出手段が導出した話速に対応した時間長よりも短い時間長であり、
前記第２の時間は、前記時間長導出手段が導出した異なる話速に対応した複数の時間長の中で、最も短い時間長よりも短い時間長である、
ことを特徴とする付記２に記載の音声検索装置。
【０１０７】
（付記５）
前記区間指定手段が指定した尤度取得区間における前記検索対象の音声信号の特徴量を、音声信号と音素モデルとを比較する区間であるフレームごとに取得する特徴量取得手段と、
前記検索対象の音声信号の特徴量が前記音素列に含まれる各音素から出力される出力確率を、フレームごとに取得する出力確率取得手段と、
をさらに備え、
前記尤度取得手段は、前記区間指定手段が指定した尤度取得区間に含まれるフレームごとに取得された出力確率の対数をとった値を加算して該尤度取得区間の前記尤度を取得する、
ことを特徴とする付記２から４のいずれかに記載の音声検索装置。
【０１０８】
（付記６）
前記出力確率取得手段がフレームごとに取得した出力確率のそれぞれを、そのフレームとそのフレームの前のＮ１個のフレームとそのフレームの後のＮ２個のフレームの中で最大の出力確率に置換する置換手段をさらに備え、
前記Ｎ１と前記Ｎ２は０を含む自然数であって、前記Ｎ１と前記Ｎ２のいずれかは０ではなく、
前記尤度取得手段は、前記置換手段による置換後の出力確率に基づいて、前記区間指定手段が指定した尤度取得区間の前記尤度を取得する、
ことを特徴とする付記５に記載の音声検索装置。
【０１０９】
（付記７）
検索文字列に対応する音声の発話時間長として、複数の異なる話速に対応した複数の時間長を有する区間を設定し、前記複数の時間長のそれぞれについて、検索対象の音声信号に前記複数の時間長を有する区間を尤度取得区間として複数指定する区間指定ステップと、
前記区間指定ステップで指定した尤度取得区間が前記検索文字列に対応する音声が発せられている区間であることの尤もらしさを示す尤度を取得する尤度取得ステップと、
前記区間指定ステップで指定した尤度取得区間の中から、予め設定された第１の時間ごとに尤度取得区間を選択する選択ステップと、
前記選択ステップで選択した複数の尤度取得区間の中から前記尤度取得ステップで取得した尤度に基づいて、前記検索対象の音声信号の中から前記検索文字列に対応する音声が発せられていることが推定される推定区間を特定する特定ステップと、
を含む音声検索方法。
【０１１０】
（付記８）
コンピュータを、
検索文字列に対応する音声の発話時間長として、複数の異なる話速に対応した複数の時間長を有する区間を設定し、前記複数の時間長のそれぞれについて、検索対象の音声信号に前記複数の時間長を有する区間を尤度取得区間として複数指定する区間指定手段、
前記区間指定手段が指定した尤度取得区間が前記検索文字列に対応する音声が発せられている区間であることの尤もらしさを示す尤度を取得する尤度取得手段、
前記区間指定手段が指定した尤度取得区間の中から、予め設定された第１の時間ごとに尤度取得区間を選択する選択手段、
前記選択手段が選択した複数の尤度取得区間の中から前記尤度取得手段が取得した尤度に基づいて、前記検索対象の音声信号の中から前記検索文字列に対応する音声が発せられていることが推定される推定区間を特定する特定手段、
として機能させるためのプログラム。
【符号の説明】
【０１１１】
１…ＲＯＭ、２…ＲＡＭ、３…外部記憶装置、４…入力装置、５…出力装置、６…ＣＰＵ、７…バス、１００…音声検索装置、１０１…音声信号記憶部、１０２…モノフォンモデル記憶部、１０３…トライフォンモデル記憶部、１０４…時間長記憶部、１１１…検索文字列取得部、１１２…変換部、１１３…時間長取得部、１１４…時間長導出部、１１５…区間指定部、１１６…特徴量取得部、１１７…出力確率取得部、１１８…置換部、１１９…尤度取得部、１２０…繰り返し部、１２１…選択部、１２１ａ…第１選択部、１２１ｂ…第２選択部、１２２…第２の変換部、１２３…第２の出力確率取得部、１２４…第２の尤度取得部、１２５…特定部
【図１】
2017015847.tif 000003
【図２】
2017015847.tif 000004
【図３】
2017015847.tif 000005
【図４】
2017015847.tif 000006
【図５】
2017015847.tif 000007
【図６】
2017015847.tif 000008
【図７】
2017015847.tif 000009
【図８】
2017015847.tif 000010
【図９】
2017015847.tif 000011
【図１０】
2017015847.tif 000012
【図１１】
2017015847.tif 000013