首页 / 专利库 / 信号处理 / 音素 / 検索インデクス生成装置、検索インデックス生成方法、音声検索装置、音声検索方法及びプログラム

検索インデクス生成装置、検索インデックス生成方法、音声検索装置、音声検索方法及びプログラム

阅读:926发布:2020-05-11

专利汇可以提供検索インデクス生成装置、検索インデックス生成方法、音声検索装置、音声検索方法及びプログラム专利检索,专利查询,专利分析的服务。并且,下面是検索インデクス生成装置、検索インデックス生成方法、音声検索装置、音声検索方法及びプログラム专利的具体信息内容。

検索対象の音声信号を取得する取得手段と、 取得した音声信号の特徴量を解析する単位であるフレーム区間を設定する区間設定手段と、 前記フレーム区間ごとに前記検索対象の音声信号の特徴量を取得する特徴量取得手段と、 前記検索対象の音声信号の特徴量が音響モデルの音素に含まれる各状態の特徴量と一致する確率である出確率を前記フレーム区間ごとに取得する出力確率取得手段と、 前記検索対象の音声信号の中からストップワードに該当するフレーム区間を検出し、検出したストップワードに該当するフレーム区間の出力確率を特定の値に置換するストップワード削除処理手段と、 前記ストップワードに該当するフレーム区間の出力確率を特定の値に置換した後の確率に基づいて、前記検索対象とする音声信号の検索インデックスを生成する検索インデックス生成手段と、 を備える検索インデックス生成装置。前記ストップワード削除処理手段は、 前記検索対象の音声信号の任意の部分と他の部分との類似度を比較する区間として、複数のフレーム区間で構成されるブロック区間を設定し、前記検索対象の音声信号に該ブロック区間を複数設定する比較ブロック設定手段と、 前記設定したブロック区間の全ての組み合わせについて類似度を計算する類似度計算手段と、 類似するブロック区間の数が閾値以上であるブロック区間をストップワードに該当するブロック区間として検出するストップワード区間検出手段と、 ストップワードに該当するブロック区間に含まれるフレーム区間の出力確率を特定の値に置換する検索インデックス修正手段と、 を備えることを特徴とする請求項1に記載の検索インデックス生成装置。前記類似度計算手段は、比較するブロック区間に含まれるフレーム区間の出力確率を、前記比較するブロック区間の対応するフレームごとに乗算し、乗算結果を加算した値を前記比較するブロック区間の類似度とする、 ことを特徴とする請求項2に記載の検索インデックス生成装置。検索対象の音声信号を取得する取得工程と、 取得した音声信号の特徴量を解析する単位であるフレーム区間を設定する区間設定工程と、 前記フレーム区間ごとに前記検索対象の音声信号の特徴量を取得する特徴量取得工程と、 前記検索対象の音声信号の特徴量が音響モデルの音素に含まれる各状態の特徴量と一致する確率である出力確率を前記フレーム区間ごとに取得する出力確率取得工程と、 前記検索対象の音声信号の中からストップワードに該当するフレーム区間を検出し、検出したストップワードに該当するフレーム区間の出力確率を特定の値に置換するストップワード削除処理工程と、 前記ストップワードに該当するフレーム区間の出力確率を特定の値に置換した後の確率に基づいて、前記検索対象とする音声信号の検索インデックスを生成する検索インデックス生成工程と、 を含む検索インデックス生成方法。コンピュータを、 検索対象の音声信号を取得する取得手段、 取得した音声信号の特徴量を解析する単位であるフレーム区間を設定する区間設定手段、 前記フレーム区間ごとに前記検索対象の音声信号の特徴量を取得する特徴量取得手段、 前記検索対象の音声信号の特徴量が音響モデルの音素に含まれる各状態の特徴量と一致する確率である出力確率を前記フレーム区間ごとに取得する出力確率取得手段、 前記検索対象の音声信号の中からストップワードに該当するフレーム区間を検出し、検出したストップワードに該当するフレーム区間の出力確率を特定の値に置換するストップワード削除処理手段、 前記ストップワードに該当するフレーム区間の出力確率を特定の値に置換した後の確率に基づいて、前記検索対象とする音声信号の検索インデックスを生成する検索インデックス生成手段、 として機能させるためのプログラム。検索インデックス生成部と、音声検索部と、を備える音声検索装置であって、 前記検索インデックス生成部は、 検索対象の音声信号を取得する取得手段と、 取得した音声信号の特徴量を解析する単位であるフレーム区間を設定する区間設定手段と、 前記フレーム区間ごとに前記検索対象の音声信号の特徴量を取得する特徴量取得手段と、 前記検索対象の音声信号の特徴量が音響モデルの音素に含まれる各状態の特徴量と一致する確率である出力確率を前記フレーム区間ごとに取得する出力確率取得手段と、 前記検索対象の音声信号の中からストップワードに該当するフレーム区間を検出し、検出したストップワードに該当するフレーム区間の出力確率を特定の値に置換するストップワード削除処理手段と、 前記ストップワードに該当するフレーム区間の出力確率を特定の値に置換した後の第1の確率に基づいて、前記検索対象とする音声信号の検索インデックスを生成する検索インデックス生成手段と、 を備え、 前記音声検索部は、 前記第1の確率を記憶する出力確率記憶手段と、 クエリ音声信号に含まれるフレーム毎に取得され、前記クエリ音声信号の特徴量が前記音響モデルから作成した音素の各状態の特徴量と一致する確率であって、前記音響モデルの音素の各状態と対応付けられた第2の確率と、前記出力確率記憶手段が記憶する第1の確率とに基づいて、前記検索対象の音声信号の中から前記クエリ音声信号が発せられていると推定される推定区間を特定する特定手段と、 を備えることを特徴とする音声検索装置。検索対象の音声信号とクエリ音声信号とを比較する区間であるフレーム毎に、クエリ音声信号の特徴量を取得するクエリ特徴量取得手段と、 前記クエリ特徴量取得手段が取得したクエリ音声信号の特徴量に基づき、前記第2の確率を、音響モデルの音素の各状態と対応付けてフレーム毎に取得するクエリ出力確率取得手段と、 をさらに備えることを特徴とする請求項6に記載の音声検索装置。前記検索対象の音声信号におけるクエリ音声信号の発話時間長を有する区間である尤度取得区間を複数指定する区間指定手段と、 前記区間指定手段が指定した尤度取得区間が前記クエリ音声信号が発せられている区間であることの尤もらしさを示す尤度を、前記第1の確率と前記第2の確率とに基づいて取得する尤度取得手段と、 をさらに備え、 前記区間指定手段は、前記検索対象の音声信号における前記尤度取得区間の先頭位置を変えて複数の尤度取得区間を指定し、 前記尤度取得手段は、前記複数の尤度取得区間のそれぞれについて尤度を取得し、 前記特定手段は、前記区間指定手段が指定した尤度取得区間のそれぞれについて前記尤度取得手段が取得した尤度に基づいて、前記検索対象の音声信号の中から前記クエリ音声信号が発せられていると推定される推定区間を特定する、 ことを特徴とする請求項6又は7に記載の音声検索装置。前記複数の尤度取得区間のそれぞれについて、前記第1の確率と前記第2の確率とを前記尤度取得区間に含まれるフレーム毎に掛け合わせた第3の確率を取得する第2出力確率取得手段をさらに設け、 前記尤度取得手段は、前記第2出力確率取得手段がフレーム毎に取得した第3の確率の対数をとった値を加算して前記尤度取得区間の尤度を取得する、 ことを特徴とする請求項8に記載の音声検索装置。検索対象の音声信号を取得する取得工程と、 取得した音声信号の特徴量を解析する単位であるフレーム区間を設定する区間設定工程と、 前記フレーム区間ごとに前記検索対象の音声信号の特徴量を取得する特徴量取得工程と、 前記検索対象の音声信号の特徴量が音響モデルの音素に含まれる各状態の特徴量と一致する確率である出力確率を前記フレーム区間ごとに取得する出力確率取得工程と、 前記検索対象の音声信号の中からストップワードに該当するフレーム区間を検出し、検出したストップワードに該当するフレーム区間の出力確率を特定の値に置換するストップワード削除処理工程と、 前記ストップワードに該当するフレーム区間の出力確率を特定の値に置換した後の第1の確率に基づいて、前記検索対象とする音声信号の検索インデックスを生成する検索インデックス生成工程と、 クエリ音声信号に含まれるフレーム毎に取得され、前記クエリ音声信号の特徴量が前記音響モデルから作成した音素の各状態の特徴量と一致する確率であって、前記音響モデルの音素の各状態と対応付けられた第2の確率と、前記第1の確率とに基づいて、前記検索対象の音声信号の中から前記クエリ音声信号が発せられていると推定される推定区間を特定する特定工程と、 を含む音声検索方法。コンピュータを、 検索対象の音声信号を取得する取得手段、 取得した音声信号の特徴量を解析する単位であるフレーム区間を設定する区間設定手段、 前記フレーム区間ごとに前記検索対象の音声信号の特徴量を取得する特徴量取得手段、 前記検索対象の音声信号の特徴量が音響モデルの音素に含まれる各状態の特徴量と一致する確率である出力確率を前記フレーム区間ごとに取得する出力確率取得手段、 前記検索対象の音声信号の中からストップワードに該当するフレーム区間を検出し、検出したストップワードに該当するフレーム区間の出力確率を特定の値に置換するストップワード削除処理手段、 前記ストップワードに該当するフレーム区間の出力確率を特定の値に置換した後の第1の確率に基づいて、前記検索対象とする音声信号の検索インデックスを生成する検索インデックス生成手段、 前記第1の確率を記憶する出力確率記憶手段、 クエリ音声信号に含まれるフレーム毎に取得され、前記クエリ音声信号の特徴量が前記音響モデルから作成した音素の各状態の特徴量と一致する確率であって、前記音響モデルの音素の各状態と対応付けられた第2の確率と、前記出力確率記憶手段が記憶する第1の確率とに基づいて、前記検索対象の音声信号の中から前記クエリ音声信号が発せられていると推定される推定区間を特定する特定手段、 として機能させるためのプログラム。

说明书全文

本発明は、検索インデクス生成装置、検索インデックス生成方法、音声検索装置、音声検索方法及びプログラムに関する。

音声検索では、検索対象とする検索語(クエリ)に対応する音声が発話されている箇所を音声信号の中から特定する検索技術を使用する。この音声検索技術では、高速かつ正確な音声検索を実現することが重要となる。

上記音声検索技術の1つとして、非特許文献1は、検索対象の音声信号と検索するクエリ音声信号とを高速に比較する技術を開示している。非特許文献1が開示する技術では、検索対象の音声信号の特徴量とクエリ音声信号の特徴量とを高速に比較する。

Y.Zhang and J.Glass. “An inner−product lower−bound estimate for dynamic time warping,” in Proc. ICASSP,2011,pp.5660−5663.

複数のクエリ音声信号を連続して検索する場合、検索対象の音声信号に含まれるストップワードを検出したくない場合がある。ストップワードとは、検索語として利用する可能性がないため、あるいは利用すると検索効率が低下するため、あらかじめ検索語から除外することを定めた語である。例えば、日本語の場合では、「は」「の」などの助詞や「です」「ます」などの助動詞などが、ストップワードに該当する。また、口癖で頻繁に発話される言語もストップワードに含める場合もある。しかしながら、非特許文献1が開示する技術では、検索対象の音声信号に含まれるストップワードを排除して検索対象のクエリ音声信号を検出する技術は開示されていない。

本発明は、以上のような課題を解決するためのものであり、ストップワードを排除してクエリ音声信号を検索可能な検索インデクス生成装置、検索インデックス生成方法、音声検索装置、音声検索方法及びプログラムを提供することを目的とする。

上記目的を達成するため、本発明に係るインデックス生成装置は、 検索対象の音声信号を取得する取得手段と、 取得した音声信号の特徴量を解析する単位であるフレーム区間を設定する区間設定手段と、 前記フレーム区間ごとに前記検索対象の音声信号の特徴量を取得する特徴量取得手段と、 前記検索対象の音声信号の特徴量が音響モデルの音素に含まれる各状態の特徴量と一致する確率である出確率を前記フレーム区間ごとに取得する出力確率取得手段と、 前記検索対象の音声信号の中からストップワードに該当するフレーム区間を検出し、検出したストップワードに該当するフレーム区間の出力確率を特定の値に置換するストップワード削除処理手段と、 前記ストップワードに該当するフレーム区間の出力確率を特定の値に置換した後の確率に基づいて、前記検索対象とする音声信号の検索インデックスを生成する検索インデックス生成手段と、 を備えることを特徴とする。

本発明によれば、ストップワードを排除してクエリ音声信号を検索することができる。

本発明の実施形態1に係る音声検索装置の物理構成を示す図である。

本発明の実施形態1に係る音声検索装置の機能構成を示す図である。

本発明の実施形態1に係る検索インデックス生成部の機能構成を示す図である。

音素の状態について説明するための図である。

検索インデクスについて説明するための図である。

(a)は、検索対象の音声信号の波形図である。(b)は、検索対象の音声信号において設定されるフレームを示す図である。(c)は、検索対象の音声信号において指定される尤度取得区間を示す図である。

ストップワート削除処理部の機能構成を示す図である。

比較ブロックの生成方法について説明するための図である。

ブロックの類似度の計算方法について説明するための図である。

ストップワード削除処理後の検索インデクスについて説明するための図である。

本発明の実施形態1に係る音声検索部の機能構成を示す図である。

(a)は、クエリ音声信号の波形図である。(b)は、クエリ音声信号において設定されるフレームを示す図である。

クエリ音声信号の出力確率について説明するための図である。

Lower−Bound化処理について説明するための図である。

本発明の実施形態1に係る音声検索装置が実行する検索インデックス生成処理の流れを示すフローチャートである。

ストップワード削除処理の流れを示すフローチャートである。

本発明の実施形態1に係る音声検索装置が実行する音声検索処理の流れを示すフローチャートである。

変形例1に係る音声検索装置の機能構成を示す図である。

比較ブロックの生成方法の変形例について説明するための図である。

以下、本発明の実施形態に係る検索インデクス生成装置、検索インデックス生成方法、音声検索装置、音声検索方法及びプログラムについて、図面を参照しながら説明する。なお、図中同一又は相当する部分には同一符号を付す。

(実施形態1) 実施形態1に係る音声検索装置100は、物理的には、図1に示すように、ROM(Read Only Memory)1と、RAM(Random Access Memory)2と、外部記憶装置3と、入力装置4と、出力装置5と、CPU(Central Processing Unit)6と、バス7と、を備える。

ROM1は、検索インデックス生成プログラム、音声検索プログラムを記憶する。RAM2は、CPU6のワークエリアとして使用される。

外部記憶装置3は、例えば、ハードディスクから構成され、解析対象である音声信号、音響モデル等をデータとして記憶する。また、音声検索装置100が解析対象の音声信号から生成した検索インデックスを記憶する。

入力装置4は、マイク等の音声入力装置から構成される。入力装置4は、ユーザが入力した検索語(クエリ音声信号)を音声データとして外部記憶装置3に供給する。出力装置5は、例えば、液晶ディスプレイの画面、スピーカ等を備える。出力装置5は、CPU6によって出力された音声データをスピーカから出力し、検索した検索語の音声信号における位置等を画面に表示する。

バス7は、ROM1、RAM2、外部記憶装置3、入力装置4、出力装置5、CPU6、を接続する。CPU6は、ROM1に記憶された検索インデックス生成プログラム、音声検索プログラムをRAM2に読み出して、そのプログラムを実行することにより、以下に示す機能を実現する。

音声検索装置100は、機能的には、図2に示すように、検索インデックス生成部110と、音声検索部130と、を備える。

最初に、検索インデックス生成部110の構成について説明する。検索インデックス生成部110は、図3に示すように、音声信号記憶部101と、音響モデル記憶部102と、出力確率記憶部103と、音声信号取得部111と、フレーム設定部112と、特徴量取得部113と、出力確率取得部114と、ストップワード削除処理部120と、を備える。音声信号記憶部101、音響モデル記憶部102、出力確率記憶部103は、外部記憶装置3の記憶領域に構築されている。

音声信号記憶部101は検索対象とする音声信号を記憶する。検索対象の音声信号は、例えばニュース放送等の音声、録音された会議の音声、録音された講演の音声、映画の音声等に係る音声信号である。

音響モデル記憶部102は、モノフォンモデルの音響モデルを記憶する。モノフォンモデルは、1音素毎に生成された音響モデルであり、隣接する音素に依存しない音響モデルである。音声検索装置100は、モノフォンモデルを一般的な方法で学習して、音響モデル記憶部102に予め記憶しておく。

モノフォンモデルとして、例えば、一般的な音声認識で利用される音響モデルであるHMM(Hidden Markov Model;隠れマルコフモデル)を利用できる。HMMは、統計的な手法により音声信号からその音声信号を構成する音素を確率的に推定するためのモデルである。HMMには、時間的な状態の揺らぎを示す遷移確率と、各状態から入力された特徴量と一致する確率(出力確率)と、をパラメータとした標準パターンを用いる。

音素とは、話者により発話された音声を構成する成分の単位である。例えば、「キゾクセイド」という単語は、「k,i,z,o,k,u,s,e,i,d,o」という11個の音素から構成される。音素は、さらに、複数の状態に分割される。

状態とは、音素を構成する最小の時間単位である。各音素に定められた状態数が「3」である場合を例にとって説明する。例えば、音声「あ」の音素「a」は、図4に示すように、この音素の発声開始時を含む第1の状態「a1」と、中間状態である第2の状態「a2」と、発声終了時を含む第3の状態「a3」と、の3つの状態に分けられる。すなわち、1音素は3つの状態から構成される。全ての音素が3つの状態から構成されている場合、音響モデルで利用される全音素の数をmとすると、(m×3)個の状態が存在する。

音素の各状態の特徴量は、音素の状態ごとに音声信号から抽出した音声の特徴を表す数値である。この特徴量は、音声データを周波数軸上に変換して得られる周波数軸系特徴パラメータと、音声データのエネルギーの2乗和やその対数を計算することにより得られるパワー系特徴パラメータと、を組み合わせることによって得られる。

例えば周知のように、特徴量は、周波数軸系特徴パラメータ12成分(12次元)とパワー系特徴パラメータ1成分(1次元)、直前の時間窓の各成分との差分を取った周波数軸系特徴パラメータ12成分(12次元)とパワー系特徴パラメータ1成分(1次元)、及び、直前の時間窓の各成分との差分の差分を取った周波数軸系特徴パラメータ12成分(12次元)の、合計38成分を有する38次元ベクトル量として構成される。

図3に戻って、出力確率記憶部103は、検索インデックス生成部110が生成した図5に示すようなストップワード削除処理前の検索インデックスを記憶する。また、後述するストップワード削除処理後の検索インデックスを記憶する。検索インデックスとは、検索対象の音声信号に複数のフレームを設定し、そのフレームごとの音声の特徴量と音響モデルの音素の各状態の特徴量とが一致する確率である出力確率を記憶したテーブルである。

音声信号取得部111は、音声信号記憶部101から検索対象とする音声信号を取得する。

フレーム設定部112は、音声信号の特徴量を取得する音声信号における区間の単位であるフレームを設定する。フレームとは、検索対象の音声信号とクエリ音声信号とを比較する時間窓である。本実施形態では、音素の状態ごとに検索対象の音声信号とクエリ音声信号とを比較して音声検出を行う。フレームの時間長には例えば、40msを用いる。

検索対象の音声信号にフレームごとの区間を設定する方法について図6を参照して説明する。図6(a)は、先頭から末尾までの時間長Tの検索対象の音声信号の波形図である。縦軸は音声信号の強度を示し、横軸は時間を示す。図6(b)は、図6(a)に示す音声信号において設定されるフレームを示す。フレーム設定部112は、図6(b)に示すように、フレーム長tの区間を1シフト長Sずつシフトして、検索対象の音声信号にフレーム番号f1からfNの区間を設定する。フレーム番号f1の区間は、音声信号の先頭から始まる時間長tの区間である。フレーム番号f2の区間は、音声信号の先頭から1シフト長Sだけシフトした位置から始まる時間長tの区間である。フレーム設定部112は、以下同様に、シフト長Sずつシフトしてフレーム番号fNまで設定する。

シフト長Sは、検索の精度を決める長さである。シフト長Sは、フレーム長tより短い値に設定される固定値である。例えば、フレーム長をt=40msとした場合は、シフト長をS=10msのように設定する。

特徴量取得部113は、検索対象の音声信号の特徴量をフレーム番号f1からfNのフレーム毎に取得する。

出力確率取得部114は、取得した特徴量と音響モデルの音素の各状態の特徴量とを比較することにより、フレーム番号f1からfNのフレームに含まれる音声信号の特徴量が音響モデルの音素の各状態の特徴量と一致する確率である出力確率をフレーム毎に取得し、図5に示すような音素の各状態と対応付けた検索インデックスとして出力確率記憶部103に記憶する。この検索インデックスは、後述するストップワード削除処理前の検索インデックスである。

図5は、音素の種類がm種類であり、音素を構成する状態の数が3である検索インデックスの例である。図5の1列目は、シフト長Sずつシフトして作成したフレームのフレーム番号を示す。フレームごとの特徴量が音素の各状態の特徴量と一致する確率をf(x,y,z)で表す。x(x=1〜N)はフレーム番号を示し、y(y=1〜m)は音素番号を示し、z(z=1〜3)は状態番号を示す。f(1,1,1)は、フレーム番号f1のフレームに含まれる音声信号の特徴量が、音響モデルに含まれる音素1の状態1の特徴量と一致する確率を表す。フレーム番号fXのフレームに含まれる音声信号の特徴量が、音響モデルに含まれる音素番号yの状態zの特徴量と一致する確率をf(x,y,z)で表す。

図3に戻って、ストップワード削除処理部120は、検索対象の音声信号の中からストップワードに該当するフレーム区間を検出し、検出したストップワードに該当するフレーム区間の出力確率を特定の値「0」に置換する処理を行う。そのために、ストップワード削除処理部120は、図7に示すように、比較ブロック設定部121と、類似度計算部122と、ストップワード区間検出部123と、検索インデックス修正部124と、を備える。

比較ブロック設定部121は、検索対象の音声信号の任意の部分と他の部分との類似度を比較する区間として、複数のフレーム区間で構成されるブロック区間を設定し、そのブロック区間を検索対象の音声信号に複数設定する。ブロック区間の時間長は、例えば、1秒程度の時間長になるように設定する。

図8を参照しながら、より具体的に説明する。比較ブロック設定部121は、まず、音声信号の先頭であるフレームf1から始まるBlockA1を設定する。ブロック区間の時間長を約1秒とした場合、ブロック区間に含まれるフレームの数は数十フレームとなるが、理解を容易にするために、ここでは各ブロックが4つのフレーム(j=4)で構成される場合について説明する。したがって、BlockA1は、フレームf1,f2,f3,f4で構成される。次に、比較ブロック設定部121は、BlockA1に隣接するフレームf5,f6,f7,f8で構成されるBlockB1,1を設定する。さらに、比較ブロック設定部121は、BlockB1,1の先頭フレームf5からpフレーム(図8では、p=1)後のフレームから始まる4ブロック(f6,f、7,f、8,f9)で構成されるBlockB1,2を設定する。比較ブロック設定部121は、以下同様にして、音声信号の最後のフレームを含むBlockB1,bまで設定する。

設定ずるブロック区間のシフト量を決めるpの値は、ストップワード区間の検出精度を決める値である。ブロック区間の時間長が1秒である場合、ブロック区間の時間長よりもシフト量が小さくなるように、例えば、0.1秒になるように、pの値を決める。しかし、ここでは理解を容易にするために、p=1として説明する。

次に、比較ブロック設定部121は、音声信号の先頭からpフレーム進めたフレームfp(図8では、p=1)から始まるBlockA2を設定する。したがって、BlockA2は、フレームf2,f3,f4,f5で構成される。次に、比較ブロック設定部121は、BlockA2に隣接するフレームf6,f7,f8,f9から構成されるBlockB2,1を設定する。次に、比較ブロック設定部121は、BlockB2,1の先頭フレームf6からp(図8では、p=1)フレーム後のフレームf7から始まる4ブロック(f7,f8,f9,f10)で構成されるBlockB2,2を設定する。比較ブロック設定部121は、以下同様にして、音声信号の最後のフレームを含むBlockB2,b−1まで設定する。

比較ブロック設定部121は、以下同様にして、pフレームずつシフトして、BlockA3、BlockA4、・・・・を設定し、それぞれについて、BlockB3,1からBlockB3,b−2、BlockB4,1からBlockB4,b−3、・・・・・を設定する。

類似度計算部122は、比較ブロック設定部121が設定したブロック区間の全ての組み合わせについて類似度を計算する。具体的には、図9に示すように、BlockA1に含まれるフレームf1,f2,f3,f4の出力確率と、BlockB1,1に含まれる対応するフレームf5,f6,f7,f8の出力確率とを掛け合わせ、それらを加算する。

より具体的には、フレームf1とフレームf5に対応する音素の状態の出力確率を掛け合わせる。つまり、音素1の状態1同士の出力確率を掛け合わせる。この処理を音素Mの状態3まで行う。そして、音素1の状態1から音素Mの状態3まで掛け合わせた値を加算する。この処理をフレームf2とフレームf6、フレームf3とフレームf7、フレームf4とフレームf8についても行う。そして、加算した値を4フレーム分合計する。この合計した値が、BlockA1とBlockB1,1との類似度を示す値である。その加算結果をBlockA1とBlockB1,1との類似度として記憶する。

2つのブロック区間がストップワードに該当する場合、それぞれのブロック区間に含まれる各フレームの対応する音素の各状態の出力確率は、ともに大きな値が格納されている。したがって、対応するフレームの出力確率を掛け合わせても、ある程度大きな値となる。一方、ストップワードに該当しない場合には、対応する音素の各状態の少なくとも何れか一方の出力確率が「0」に近い値となっていることが想定される。したがって、対応するフレームの出力確率を掛け合わせると「0」に近い値となることが想定される。

類似度計算部122は、同様にして、BlockA1とBlockB1,b−1までの類似度を算出して記憶する。類似度計算部122は、同様にして、BlockA2以後についても類似度を算出して記憶する。類似度計算部122は、以上のようにして、比較ブロック設定部121が設定したブロック区間の全ての組み合わせについて類似度を算出して記憶する。

ストップワード区間検出部123は、類似するブロック区間の数が閾値以上であるブロック区間をストップワードに該当するブロック区間として検出する。具体的には、ストップワード区間検出部123は、類似度が高いブロック区間を1つのグループに統合し、統合されたブロック数が多いグループに統合されているブロック区間をストップワードに該当するブロック区間として検出する。グループに統合されたブロック区間の数が多いほど、ストップワードが発せられた位置である可能性が高いからである。

具体的には、類似度計算部122が計算したブロック区間の全ての組み合わせの中で、同じブロック区間を含む全てのブロック区間のペアを選択する。そして、選択したブロック区間のペアの類似度の合計が最も高いブロック区間のペアを一つに統合する。また、その統合されたペアの類似度を低い方の類似度に置き換える。

例えば、BlockAとBlockBの類似度がQ、BlockBとBlockCとの類似度がRであり、Q>Rであったとする。次に、同じブロック区間としてBblockBについて処理する場合、BlockBと他の任意のBlockXiとの類似度がXiであったとする。そして、(Q+R)の値が、BlockBと他のどのBlockXiとの類似度Xiとの和よりも大きかったとする。つまり、(Q+R)>(Q+Xi)であったとする。この場合、最も類似度が大きい(Q+R)に関係するBlockAとBlockBとBlockCとを一つのグループとして統合する。統合後のBlockAとBblockBとBlockCとの類似度は、類似度Qと類似度Rの低い方の類似度Rとする。そして、元の組み合わせ(BlockAとBlockBの組み合わせ、BlockBとBlockCの組み合わせ)の類似度は削除する。つまり、以上の処理によって、3つのブロックが統合された1つのグループが形成され、最も高い類似度Qが削除される。

ストップワード区間検出部123は、元の組み合わせの類似度(BlockAとBlockBの組み合わせの類似度Q、BlockBとBlockCの組み合わせの類似度R)を削除し、BlockAとBlockBとBlockCとの組み合わせの類似度を類似度Rとして追加する。そして、新たな類似度の全ての組み合わせについて同様の処理を行う。この一連の処理を一回行うごとに、1つのブロック区間が何れかのグループに統合され、最も高い類似度が1つ削除されることになる。ストップワード区間検出部123は、全ての組み合わせの類似度が予め設定した閾値以下になるまでこの処理を継続する。

ストップワードは出現頻度が高いので、グループに統合されるブロック区間の数が多い場合、そのグループに統合されたブロック区間はストップワードに該当する確率が高い。そこで、ストップワード区間検出部123は、統合されたグループに属するブロック数が閾値以上であるグループに属するブロック区間を、ストップワードに該当するブロック区間として検出する。

検索インデックス修正部124は、ストップワードに該当するブロック区間に含まれるフレーム区間の出力確率を特定の値「0」に置換する。例えば、ストップワードに該当するフレームがフレームf3,f4,・・・であった場合、図10に示すように、検索インデックスの該当するフレームの出力確率を「0」に置換する。

次に、音声検索部130の構成について説明する。音声検索部130は、図11に示すように、音響モデル記憶部102と、出力確率記憶部103と、クエリ記憶部104と、クエリ出力確率記憶部105と、クエリ音声信号取得部131と、フレーム列作成部132と、クエリ特徴量取得部133と、クエリ出力確率取得部134と、区間指定部135と、第2出力確率取得部136と、置換部137と、尤度取得部138と、繰り返し部139と、特定部140と、を備える。音響モデル記憶部102、出力確率記憶部103、クエリ記憶部104、クエリ出力確率記憶部105は、外部記憶装置3の記憶領域に構築されている。

ユーザは、音声検索装置100に対して、検索対象の音声信号から目的の音声が発話されている部分を検索するための検索語(クエリ)を音声で入力する。本実施形態では、クエリが連続した音声として継続して入力される場合について説明する。

音響モデル記憶部102は、音声インデックス生成時と同じ音響モデルを記憶する。出力確率記憶部103は、検索インデックス生成部110が生成した検索インデックスを記憶する。クエリ記憶部104は、クエリ音声信号取得部131が供給する分割後のクエリ音声信号を、エリアを分けて記憶する。クエリ出力確率記憶部105は、音声検索部130が生成するクエリ音声信号の特徴量が音響モデルに含まれる音素の各状態の特徴量と一致する確率(第2の確率)を記憶する。

クエリ音声信号取得部131は、入力装置4を介してユーザが入力したクエリ音声信号を音声データとして取得する。そして、クエリ音声信号取得部131は、連続して入力されるクエリ音声信号を特定の時間長ごとに分割し、クエリ記憶部104に記憶する。クエリ音声信号取得部131は、例えば、連続して入力されるクエリ音声信号を1秒ごとのクエリ音声信号に分割し、クエリ1、クエリ2、クエリ3、・・・・のように分割したクエリ音声信号とする。そして、分割したクエリ音声信号(クエリ1、クエリ2、クエリ3、・・・・)をクエリ記憶部104にエリア1、エリア2、エリア3、・・・のようにエリアを分けて記憶する。

フレーム列作成部132は、クエリ記憶部104からクエリ音声信号取得部131により分割されたクエリ音声信号を1つずつ取得する。つまり、クエリ記憶部104のエリア1に記憶されているクエリ1を取得し、クエリ1に対する音声検索処理が終了すると、エリア2に記憶されているクエリ2を取得する。そして、フレーム列作成部132は、取得したクエリ音声信号について、フレーム長ごとの区間に分割したフレーム列を作成する。

クエリ音声信号のフレーム列について図12を参照して説明する。図12(a)は、先頭から末尾までの時間長Lのクエリ音声信号の波形図である。時間長Lはクエリ音声信号が発話される時間長(発話時間長)である。縦軸はクエリ音声信号の強度を示し、横軸は時間を示す。図12(b)は、図12(a)に示すクエリ音声信号において設定されるフレームを示す。フレーム列作成部132は、図12(b)に示すように、フレーム長tの区間を1シフト長Sずつシフトして、クエリ音声信号にフレーム番号g1からgkの区間を設定する。フレーム長tは、検索インデックスを生成した際に用いたフレーム長t(例えば、40ms)と同じにする。シフト長Sも検索インデックス生成時と同じシフト長S(例えば、10ms)とする。フレーム番号g1の区間は、クエリ音声信号の先頭から始まる時間長tの区間である。フレーム番号g2の区間は、クエリ音声信号の先頭から1シフト長Sだけシフトした位置から始まる時間長tの区間である。フレーム列作成部132は、以下同様に、シフト長Sずつシフトしてフレーム番号gkまでフレームを設定する。

図11に戻って、クエリ特徴量取得部133は、フレーム列作成部132が作成したフレーム列を構成するフレーム(g1〜gk)ごとに、クエリ音声信号の特徴量を取得する。

クエリ出力確率取得部134は、クエリ特徴量取得部133が取得した特徴量に基づいて、この特徴量が音響モデルに含まれる音素の各状態の特徴量と一致する確率(第2の確率)をフレーム(g1〜gk)ごとに取得し、音素の各状態と対応付けてクエリ出力確率記憶部105に記憶する。図13は、音素の種類がm種類であり、音素の状態数が3の場合の例である。音素の種類数「m」と状態数「3」は、検索インデックスの作成時と同じ数とする。図13の1列目は、フレーム列作成部132が作成したフレーム列を構成するフレームのフレーム番号を示す。そして、フレーム列を構成するフレーム(g1〜gk)の特徴量が、音素の各状態の特徴量と一致する確率をg(a,y,z)で表す。a(a=1〜k)はクエリ音声信号のフレーム番号を示し、y(y=1〜m)は音素番号を示し、z(z=1〜3)は状態番号を示す。

クエリ音声信号のフレーム数kは、クエリ音声信号の発話時間長Lとシフト長Sを用いて、k=L/Sで求めた値の小数点以下を切り捨てた自然数である。

図11に戻って、区間指定部135は、音声信号からクエリ音声信号の発話時間長Lの区間を尤度取得区間として複数指定する。尤度取得区間は、その区間からクエリ音声信号が発せられている尤度を取得する区間である。尤度とは、検索対象の音声とクエリ音声信号との類似の度合いを示す指標である。図6(c)を参照して説明する。区間指定部135は、まず、検索対象の音声信号の先頭フレームf1から始まるクエリ音声信号の発話時間長Lの区間を第1尤度取得区間として指定する。本実施形態では、クエリ音声信号を構成するフレームのフレーム数をk個としているので、第1フレームf1から第kフレームfkの区間を第1尤度取得区間として指定する。

次に、区間指定部135は、音声信号の第2フレームf2から第(k+1)フレームfk+1の区間を第2尤度取得区間として指定する。以下同様に、第P尤度取得区間まで指定する。なお、検索対象の音声信号の中で指定可能な尤度取得区間の数Pは、音声信号の時間長Tと尤度取得区間の時間長(クエリ音声信号の発話時間長)Lとシフト長Sとを用いて、P=(T−L+S)/Sで求めた値の小数点以下を切り捨てた自然数である。

図11に戻って、第2出力確率取得部136は、クエリ音声信号を構成する各フレームが検索対象の音声信号を構成する各フレームと一致する確率(第3の確率)を取得する。具体的には、クエリ音声信号の各フレームの特徴量が音素の各状態の特徴量と一致する確率(第2の確率)と、検索対象の音声信号の検索インデックスに記憶した確率(第1の確率)とを掛け合わせることにより、クエリ音声信号の各フレーム(g1〜gk)の特徴量が検索対象の音声信号の各フレーム(f1〜fN)の特徴量と一致する確率(第3の確率)を求める。

図10と図13を参照して具体的に説明する。区間指定部135が、音声信号の先頭フレームf1から始まる第1尤度取得区間を指定すると、第2出力確率取得部136は、クエリ音声信号の先頭フレームg1と音声信号の先頭フレームf1について音素の各状態の出力確率を掛け合わせることにより、クエリ音声信号の第1フレームg1が検索対象の音声信号の第1フレームf1と一致する確率を取得する。

具体的には、第2出力確率取得部136は、クエリ音声信号の第1フレームg1と音声信号の第1フレームf1が、ともに音素1の状態1である確率P(1,1,1)を式(1)から求める。クエリ音声信号の第1フレームg1と音声信号の第1フレームf1が、ともに音素2の状態1である確率P(1,2,1)を式(2)から求める。以下同様にして、第2出力確率取得部136は、クエリ音声信号の第1フレームg1と音声信号の第1フレームf1が、ともに音素mの状態3である確率P(1,m,3)を式(3)から求める。 P(1,1,1)=f(1,1,1)×g(1,1,1) ・・・式(1) P(1,2,1)=f(1,2,1)×g(1,2,1) ・・・式(2) P(1,m,3)=f(1,m,3)×g(1,m,3) ・・・式(3)

このように、第2出力確率取得部136は、クエリ音声信号の第1フレームg1について(m×3)個の確率(第3の確率)を取得する。そして、(m×3)個の確率を掛け合わせることにより、クエリ音声信号の第1フレームg1が検索対象の音声信号の第1フレームf1と一致する確率である出力確率P(1,1)を式(4)により取得する。

次に、第2出力確率取得部136は、クエリ音声信号の第2フレームg2と音声信号の第2フレームf2に対応する音素の各状態の出力確率を掛け合わせることにより、クエリ音声信号の第2フレームg2が検索対象の音声信号の第2フレームf2と一致する確率を取得する。具体的には、第2出力確率取得部136は、クエリ音声信号の第2フレームg2について(m×3)個の出力確率を取得する。そして、(m×3)個の出力確率を掛け合わせることにより、クエリ音声信号の第2フレームg2が検索対象の音声信号の第2フレームf2と一致する確率である出力確率P(1,2)を式(5)により取得する。

以下同様にして、第2出力確率取得部136は、クエリ音声信号の第kフレームgkまでの出力確率P(1,k)を式(6)により取得する。

クエリ音声信号が検索対象の音声信号の先頭フレームf1から始まる場合について出力確率の取得が終わると、区間指定部135は、音声信号の第2フレームf2から始まる第2尤度取得区間を指定する。第2出力確率取得部136は、クエリ音声信号の先頭フレームg1を検索対象の音声信号の第2フレームf2に合わせて同様の計算を行う。

以下同様にして、第2出力確率取得部136は、第P尤度取得区間までの出力確率を求める。第2出力確率取得部136は、クエリ音声信号の先頭フレームg1を検索対象の音声信号の第sフレームfsに合わせた場合(第s尤度取得区間)のクエリ音声信号の第jフレームgjの出力確率を式(8)にて求める。

図11に戻って、置換部137は、第2出力確率取得部136が取得した出力確率のそれぞれを、そのフレームと隣接する前後数フレームの中で最大の出力確率に置換する。この置換処理は、Lower−Bound化と呼ばれる。

具体的に図14を参照して、Lower−Bound化を説明する。図14において、実線はフレーム毎に取得された出力確率を示す。縦軸は出力確率の高さを下になるほど高くなるように示し、横軸は時間を示す。置換部137は、各フレームの出力確率を、そのフレームと、そのフレームの前のN1個のフレームと、そのフレームの後のN2個のフレームの中で最大の出力確率に置き換える。N1とN2は0を含む自然数であるが、N1とN2のいずれかは0ではないものとする。

クエリ音声信号の先頭フレームg1を音声信号の先頭フレームf1に合わせた場合で、N1=2、N2=2として説明する。置換部137は、クエリ音声信号の第1フレームg1の出力確率P(1,1)を、その前にフレームが無いので、自身の第1フレームg1のP(1,1)とその後の第2フレームg2のP(1,2)と第3フレームg3のP(1,3)の中で最大の出力確率と置換する。置換部137は、クエリ音声信号の第2フレームg2の出力確率P(1,2)を、その前の第1フレームg1のP(1,1)と自身の第2フレームg2のP(1,2)とその後の第3フレームg3のP(1,3)と第4フレームg4のP(1,4)の中で最大の出力確率と置換する。置換部137は、クエリ音声信号の第3フレームg3の出力確率P(1,3)を、その前の第1フレームg1のP(1,1)と第2フレームg2のP(1,2)と、自身の第3フレームg3のP(1,3)と、その後の第4フレームg4のP(1,4)と第5フレームg5のP(1,5)の中で最大の出力確率と置換する。このように、置換部137は、第kフレームまで置換処理を行う。置換の結果、図14に実線で示した出力確率は、破線で示したLower−Bound化後の出力確率のように、時間方向において値の変化が小さくなった出力確率に変換される。

図11に戻って、尤度取得部138は、置換部137による置換後の出力確率に基づいて、区間指定部135が指定した尤度取得区間がクエリ音声信号が発せられている区間であることの尤もらしさを示す尤度を取得する。具体的には、尤度取得部138は、置換後の出力確率の対数をとって得られる値を、尤度取得区間の先頭から末尾までの全フレーム、この例ではkフレームにわたって加算することにより、この尤度取得区間の尤度を取得する。すなわち、出力確率が高いフレームを多く含む尤度取得区間ほど、尤度取得部138が取得する尤度は高くなる。

繰り返し部139は、区間指定部135が指定する尤度取得区間の音声信号における指定区間を変えて、区間指定部135、第2出力確率取得部136、置換部137、及び尤度取得部138の処理を繰り返すように各部を制御する。1回目の処理では、検索対象の音声信号の第1フレームf1から始まる第1尤度取得区間の尤度を求めたので、2回目は、検索対象の音声信号の第2フレームf2から始まる第2尤度取得区間の尤度を求める。以後1フレームずつシフトして、第P尤度取得区間までの尤度を求める。

特定部140は、尤度取得部138が取得したP個の尤度に基づいて、検索対象の音声信号の中からクエリ音声信号が発せられていると推定される推定区間を特定する。例えば、特定部140は、尤度取得部138が取得した尤度が高い順に尤度取得区間をソートし、尤度が高い順に所定の数の区間を、推定区間として特定する。もしくは、尤度が所定の閾値以上の区間を推定区間として特定する。特定部140が特定した区間の位置情報は、検索結果として、出力装置5が備える画面を介して外部に表示される。

以上のような物理的構成及び機能的構成を有する音声検索装置100が実行する検索インデックス生成処置について、図15に示すフローチャートを参照しながら説明する。

検索対象の音声データは予め音声信号記憶部101に記憶されており、音響モデルは音響モデル記憶部102に記憶されているものとする。CPU6が、ROM1から検索インデックス生成プログラムを読み出して、検索インデックス生成プログラムを実行することにより、図15に示すフローチャートは開始する。

検索インデックス生成プログラムが実行されると、音声信号取得部111は、音声信号記憶部101から検索対象とする音声信号を読み出す(ステップS11)。次に、フレーム設定部112は、図6を用いて説明したように、音声信号をフレーム長ごとに区分したフレームを設定する(ステップS12)。次に、特徴量取得部113は、検索対象の音声信号の特徴量をフレーム番号f1からfNのフレーム毎に取得する(ステップS13)。

次に、出力確率取得部114は、検索対象の音声信号に設定したフレーム番号f1からfNの区間が、音響モデルの音素の各状態と一致する確率である出力確率を取得し、図5に示すような検索インデックスを生成し、出力確率記憶部103に記憶する(ステップS14)。

次に、ストップワード削除処理部120は、検索対象の音声信号の中からストップワードに該当するフレーム区間を検出し、検出したストップワードに該当するフレーム区間の出力確率を特定の値「0」に置換する処理を行う(ステップS15)。ストップワード削除処理については、図16に示すフローチャートを参照しながら詳細に説明する。

ストップワード削除処理が始まると、比較ブロック設定部121は、検索対象の音声信号の任意の部分と他の部分との類似度を比較する区間として、複数のフレーム区間で構成されるブロック区間を設定し、そのブロック区間を検索対象の音声信号に複数設定する。具体的には、比較ブロック設定部121は、図8を用いて説明したように、比較するブロック区間の基準となる複数のBlockAiを設定する。比較ブロック設定部121は、最初のBlockAiとして検索インデックスの先頭フレームから始まる4つのフレーム区間をBlockA1として設定する(ステップS31)。

次に、比較ブロック設定部121は、BlockA1の先頭位置からj(図8では、j=4)フレーム後であるフレームf5を先頭位置とするBlockB1,1を設定する(ステップS32)。そして、類似度計算部122は、BlockA1とBlockB1,1の類似度を計算する(ステップS33)。

ストップワード削除処理部120は、BlockB1,1が検索インデックスの最終フレームを含む位置に到達しているか否かを判別する(ステップS34)。検索インデックスの最終フレームを含む位置に到達していない場合(ステップS34:No)、BlockBの位置をp(図8では、p=1)フレーム分進め、フレームf6から始まるBlockB1,2を設定する(ステップS35)。そして、類似度算出部122は、BlockA1とBlockB1,2の類似度を計算する(ステップS33)。

ストップワード削除処理部120は、この処理をBlockBが検索インデックスの最終フレームを含む位置に到達するまで繰り返す。BlockBが検索インデックスの最終フレームを含む位置に到達した場合(ステップS34:Yes)、ストップワード削除処理部120は、BlockAiが検索インデックスの最終フレームからj(j=4)フレーム前まで到達しているか否かを判別する(ステップS36)。検索インデックスの最終フレームのj(j=4)フレーム前には到達していない場合(ステップS36:No)、BlockAの位置をp(図8では、p=1)フレーム分進め、フレームf2から始まるBlockA2を設定する(ステップS37)。そして、BlockA2について、ステップS32からステップS35の処理を繰り返す。

BlockAiが検索インデックスの最終フレームからjフレーム前のフレームを含む位置まで到達した場合(ステップS36:Yes)、ストップワード区間検出部123は、類似度が高いブロック区間同士を1つのグループに統合し、統合されたグループに含まれるブロック区間の数が多いブロック区間をストップワードに該当するブロック区間として検出する。具体的には、ストップワード区間検出部123は、同じブロック区間を含む2つのブロック区間の類似度を加算して類似度の合計を算出する。この類似度の算出処理を全てのブロック区間のペアについて計算する。

次に、ストップワード区間検出部123は、算出した類似度について、同じブロック区間を含む全てのペアを作成する。例えば、BlockBに注目した場合、BlockBと他のBlockXiとの類似度を、BlockXiを変えた全ての組み合わせについて計算する。そして、計算した類似度の中の任意の2つを選択した類似度のペアを、全ての組み合わせで作成する。そして、この類似度のペアに含まれる2つの類似度の合計が、最も大きいペアに関係するブロック区間を一つのグループに統合する。(ステップS38)。また、ストップワード区間検出部123は、統合されたブロック区間同士の類似度を、2つのブロック区間の類似度の低い方の値に変更する。このとき、ストップワード区間検出部123は、グループに統合されているブロック区間の数をカウントする。最初の統合処理では、このグループに含まれるブロック区間の数は3である。

ストップワード区間検出部123は、統合後のブロック区間の類似度の全てが、予め決められた値以下か否かを判別する(ステップS39)。そして、統合後のブロック区間の類似度の全てが、予め決められた値以下では無い場合(ステップS39:No)、統合後のブロック区間についてステップS38、S39の処理を繰り返す。

統合後のブロック区間の類似度の全てが、予め決められた値以下であると判別した場合(ステップS39:Yes)、ストップワード区間検出部123は、グループに統合されたブロック区間の数が予め設定された閾値以上であるグループに統合されたブロック区間を、ストップワードに該当するブロック区間として検出する。

そして、検索インデックス修正部124は、ストップワードに該当するブロック区間に含まれるフレーム区間の出力確率を特定の値「0」に置換処理する。検索インデックス修正部124は、この置換処理により、図10を用いて説明したストップワード削除後の検索インデックスを生成する(ステップS40)。ステップS40の処理を終えると、図15に示すステップS15の処理も終了する。以上で、検索インデックス生成処理の説明を終える。

次に、音声検索装置100が実行する音声検索処理について、図17に示すフローチャートを参照しながら説明する。

ユーザは、予め、音響モデルを音響モデル記憶部102に記憶しておく。また、検索対象の音声信号から作成した図10に示すストップワード削除処理後の第1の確率を示す検索インデックスを予め作成し、出力確率記憶部103に記憶しておく。また、ユーザは、連続するクエリ音声信号を入力装置4から音声信号として入力する。

CPU6が、ROM1から音声検索プログラムを読み出して、音声検索プログラムを実行することにより、図17に示すフローチャートは開始する。

ユーザが、検索対象の連続するクエリ音声信号を入力装置4から入力すると、クエリ音声信号取得部131は、連続するクエリ音声信号を特定の長さに分割する。例えば、1秒ごとに連続するクエリ音声信号を分割する。そして、分割したクエリ音声信号をクエリ記憶部104にエリアを分けて記憶する(ステップS51)。

次に、フレーム列作成部132は、クエリ記憶部104から分割された1つのクエリ音声信号を取得する(ステップS52)。そして、フレーム列作成部132は、図12(b)を用いて説明したように、クエリ記憶部104から取得したクエリ音声信号をフレームごとに分割したフレーム列を作成する(ステップS53)。

次に、クエリ特徴量取得部133は、クエリ音声信号のフレーム列を構成するフレームごとに特徴量を取得する(ステップS54)。

次に、クエリ出力確率取得部134は、クエリ音声信号のフレームごとに取得した特徴量が音響モデルの音素の各状態の特徴量と一致する確率(第2の確率)を取得し(ステップS55)、図13に示すように、取得した出力確率を音素の各状態と対応付けてクエリ出力確率記憶部105に記憶する。

クエリ音声信号の出力確率(第2の確率)の取得が終わると、区間指定部135は、クエリ音声信号が検索対象の音声信号と一致する確率(第3の確率)を取得する尤度取得区間を複数設定し、尤度取得部138は、それぞれの尤度取得区間からクエリ音声信号が発せられている尤度を取得する。

そのために、区間指定部135は、まず、検索インデックスの先頭フレームf1から始まる第1尤度取得区間を指定する(ステップS56)。そして、第2出力確率取得部136は、式(4)によりクエリ音声信号の第1フレームg1が検索対象の音声信号の第1フレームf1と一致する確率(第3の確率)を求める。同様にして、第2出力確率取得部136は、クエリ音声信号の第kフレームgkまでの出力確率(第3の確率)を式(6)により求める(ステップS57)。

第2出力確率取得部136が出力確率を取得すると、置換部137は、フレーム毎に取得した出力確率を、そのフレームとそのフレーム前のN1個のフレームとそのフレーム後のN2個のフレームの、合計(1+N1+N2)個のフレームの中で最大の出力確率に置き換えることにより、Lower−Bound化処理を実行する(ステップS58)。

尤度取得部138は、Lower−Bound化後の出力確率をフレームごとに対数をとって加算することにより、区間指定部135が指定した尤度取得区間の尤度を取得する(ステップS59)。尤度取得部138が尤度を取得すると、繰り返し部139は、検索対象の音声信号における全区間の尤度取得が終了したか否かを判別する(ステップS60)。

全区間の尤度取得が終了していない場合(ステップS60;No)、繰り返し部139は、検索インデックスの位置を1フレーム進めた次の尤度取得区間を指定する(ステップS61)。そして、区間指定部135が新たに指定した尤度取得区間に対して上述したステップS57〜S60の処理を繰り返す。

区間指定部135が第s尤度取得区間を指定すると、第2出力確率取得部136は、第s尤度取得区間に含まれるk個のフレームのそれぞれについて、式(8)により出力確率を求める(ステップS57)。そして、求めたフレーム毎の出力確率をLower−Bound化処理を実行する(ステップS58)。尤度取得部118は、Lower−Bound化後の出力確率をフレームごとに対数をとって加算することにより、区間指定部135が指定した尤度取得区間の尤度を取得する(ステップS59)。

このように、繰り返し部139は、第P尤度取得区間までの尤度を順次取得するように、区間指定部135、第2出力確率取得部136、置換部137、尤度取得部138を制御する。

最終的に、全区間の尤度取得が終了すると(ステップS60;YES)、音声検索装置100は、取得した尤度に基づいてクエリ音声信号に対応する区間を特定する処理(ステップS62)に移行する。特定部140は、例えば、尤度取得区間ごとに取得したP個の尤度を尤度が高い順にソートし、尤度が閾値以上である区間を検索結果の区間として特定する。特定部140がクエリ音声信号に対応する区間を特定すると、特定部140は、出力装置5を介して特定結果を出力する(ステップS63)。

音声検索装置100は、終了操作が無い場合(ステップS64:No)、クエリ記憶部104から次のjフレーム分のクエリを取得し(ステップS65)、そのクエリについて音声検索を継続する。一方、ユーザによる検索処理の終了操作がなされた場合は(ステップS64:Yes)、音声検索処理を終了する。

(変形例1) 上記の説明では、音声検索装置100が、検索インデックス生成部110を備える場合について説明したが、検索インデックス生成部110と音声検索部130とが別々の装置に実装されていてもよい。また、音声検索装置100が検索インデックス生成部110を備えない場合、図18に示すように、音声検索装置100の音声検索部130に、ストップワード削除処理部120の設けるようにしてもよい。この場合、音声検索部130は、図5に示すようなストップワード削除処理前の検索インデックスを出力確率記憶部103に記憶する。そして、ストップワード削除処理部120は、取得したストップワード削除処理前の検索インデックスからストップワードに該当するフレーム区間を検出し、該当するフレーム区間の出力確率を特定の値「0」に置換し、図10に示すようなストップワード削除処理後の検索インデックスを生成する。ストップワード削除処理後の検索インデックスを用いた音声検索処理については、実施形態1の説明と同じである。

(変形例2) ストップワードに該当するフレーム区間の検出方法は、実施形態1で説明した方法に限定する必要は無い。ブロック区間同士の類似度が高く、類似するブロック区間の数が多いブロック区間をストップワードに該当するブロック区間として検出すればよい。例えば、図19に示すように、比較ブロック設定部121は、音声信号の先頭フレームf1と設定したBlockAiとの間にj(ここでは、j=1)フレーム以上ある場合には、BlockAiの前にもBlockBi,−1等を設定する。そして、類似度計算部122は、BlockAiの後に設定したBlockBとの類似度計算に加え、BlockAiの前に設定したBlockBとの類似度の計算も行う。

そして、ストップワード区間検出部123は、注目するBlockAiとの類似度が閾値以上であるBlockBの数をカウントする。具体的には、BlockA1と類似すると判別されたBlockBの数をk1、BlockA2と類似すると判別されたBlockBの数をk2とする。以下同様に、BlockAiと類似すると判別されたBlockBの数をkiとする。例えば、BlockAiと類似すると判別されたBlockBが、3つであった場合は、ki=3とする。さらに、ストップワード区間検出部123は、カウントしたkiの値が閾値以上であるか否かを判別し、閾値以上であったkiに関係するブロック区間をストップワードに該当するブロック区間として検出する。類似度が高いブロック区間が多数存在する場合、そのブロック区間はストップワードが発せられている区間である可能性が高いからである。

検索インデックス修正部124は、ストップワードに該当するブロック区間に含まれるフレームの出力確率を特定の値「0」に置換する。他の処理動作については、実施形態1の説明と同じである。

以上に説明したように、実施形態1に係る音声検索装置100は、解析対象の音声信号をフレーム区間に分割し、分割したフレーム区間ごとに音声の特徴量を取得する。そして、フレーム区間ごとに音響モデルの特徴量と一致する出力確率を求め、ストップワード削除処理前の検索インデックスを生成する。音声検索装置100は、ストップワード削除処理前の検索インデックスの中からストップワードに該当するフレーム区間を検出し、検出したストップワードに該当するフレーム区間の出力確率を特定の値「0」に置換する。このストップワード削除処理後の検索インデックスを用いてクエリ音声信号の検索処理を行うと、該当区間の尤度が「0」になるので、ストップワード区間を排除してクエリ音声信号を検索可能な検索インデックスを生成することができる。

また、ストップワード検出処理部120は、検索対象の音声信号に設定した全てのブロック間の類似度を計算し、類似するブロック区間が多いブロック区間をストップワード区間として検出する。ストップワード検出処理部120は、このように、全てのブロック区間の組み合わせの類似度を計算するので、ストップワード区間を漏れなく検出することができる。

また、実施形態1に係る音声検索装置100は、検索インデックスの中でストップワードに該当するフレーム区間の出力確率を特定の値「0」に置換する。音声検索装置100は、このストップワード削除処理後の検索インデックスを用いて連続するクエリ音声信号の音声検索をするので、ストップワードに該当するフレームの出力確率が「0」になり、該当区間を含む尤度取得区間の尤度は低くなる。したがって、音声検索装置100は、ストップワードを排除してクエリ音声信号を検索することができる。

なお、以上の実施形態の説明では、音響モデルとしてモノフォンモデルを使用して音声検索する場合について説明した。しかし、本発明の用途はこれには限定されない。例えば、バイフォンモデルやトライフォンモデルを使用して音声検索する場合にも適用できる。

また、以上の実施形態では、モノフォンモデルを用いた一次検索に本発明を適用した場合について説明したが、実施形態1のステップS63の後で、トライフォンモデルを用いた二次検索を行い、さらに検索精度を向上させてもよい。

また、本発明に係る機能を実現するための構成を予め備えた音声検索装置として提供できることはもとより、プログラムの適用により、既存のパーソナルコンピュータや情報端末機器等を、本発明に係る音声検索装置として機能させることもできる。すなわち、上記実施形態で例示した音声検索装置100による各機能構成を実現させるためのプログラムを、既存のパーソナルコンピュータや情報端末機器等を制御するCPU等が実行できるように適用することで、本発明に係る音声検索装置100として機能させることができる。また、本発明に係る音声検索方法は、音声検索装置を用いて実施できる。

また、このようなプログラムの適用方法は任意である。プログラムを、例えば、コンピュータが読取可能な記録媒体(CD−ROM(Compact Disc Read-Only Memory)、DVD(Digital Versatile Disc)、MO(Magneto Optical disc)等)に格納して適用できる他、インターネット等のネットワーク上のストレージにプログラムを格納しておき、これをダウンロードさせることにより適用することもできる。

以上、本発明の好ましい実施形態について説明したが、本発明は係る特定の実施形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲とが含まれる。以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。

(付記1) 検索対象の音声信号を取得する取得手段と、 取得した音声信号の特徴量を解析する単位であるフレーム区間を設定する区間設定手段と、 前記フレーム区間ごとに前記検索対象の音声信号の特徴量を取得する特徴量取得手段と、 前記検索対象の音声信号の特徴量が音響モデルの音素に含まれる各状態の特徴量と一致する確率である出力確率を前記フレーム区間ごとに取得する出力確率取得手段と、 前記検索対象の音声信号の中からストップワードに該当するフレーム区間を検出し、検出したストップワードに該当するフレーム区間の出力確率を特定の値に置換するストップワード削除処理手段と、 前記ストップワードに該当するフレーム区間の出力確率を特定の値に置換した後の確率に基づいて、前記検索対象とする音声信号の検索インデックスを生成する検索インデックス生成手段と、 を備える検索インデックス生成装置。

(付記2) 前記ストップワード削除処理手段は、 前記検索対象の音声信号の任意の部分と他の部分との類似度を比較する区間として、複数のフレーム区間で構成されるブロック区間を設定し、前記検索対象の音声信号に該ブロック区間を複数設定する比較ブロック設定手段と、 前記設定したブロック区間の全ての組み合わせについて類似度を計算する類似度計算手段と、 類似するブロック区間の数が閾値以上であるブロック区間をストップワードに該当するブロック区間として検出するストップワード区間検出手段と、 ストップワードに該当するブロック区間に含まれるフレーム区間の出力確率を特定の値に置換する検索インデックス修正手段と、 を備えることを特徴とする付記1に記載の検索インデックス生成装置。

(付記3) 前記類似度計算手段は、比較するブロック区間に含まれるフレーム区間の出力確率を、前記比較するブロック区間の対応するフレームごとに乗算し、乗算結果を加算した値を前記比較するブロック区間の類似度とする、 ことを特徴とする付記2に記載の検索インデックス生成装置。

(付記4) 検索対象の音声信号を取得する取得工程と、 取得した音声信号の特徴量を解析する単位であるフレーム区間を設定する区間設定工程と、 前記フレーム区間ごとに前記検索対象の音声信号の特徴量を取得する特徴量取得工程と、 前記検索対象の音声信号の特徴量が音響モデルの音素に含まれる各状態の特徴量と一致する確率である出力確率を前記フレーム区間ごとに取得する出力確率取得工程と、 前記検索対象の音声信号の中からストップワードに該当するフレーム区間を検出し、検出したストップワードに該当するフレーム区間の出力確率を特定の値に置換するストップワード削除処理工程と、 前記ストップワードに該当するフレーム区間の出力確率を特定の値に置換した後の確率に基づいて、前記検索対象とする音声信号の検索インデックスを生成する検索インデックス生成工程と、 を含む検索インデックス生成方法。

(付記5) コンピュータを、 検索対象の音声信号を取得する取得手段、 取得した音声信号の特徴量を解析する単位であるフレーム区間を設定する区間設定手段、 前記フレーム区間ごとに前記検索対象の音声信号の特徴量を取得する特徴量取得手段、 前記検索対象の音声信号の特徴量が音響モデルの音素に含まれる各状態の特徴量と一致する確率である出力確率を前記フレーム区間ごとに取得する出力確率取得手段、 前記検索対象の音声信号の中からストップワードに該当するフレーム区間を検出し、検出したストップワードに該当するフレーム区間の出力確率を特定の値に置換するストップワード削除処理手段、 前記ストップワードに該当するフレーム区間の出力確率を特定の値に置換した後の確率に基づいて、前記検索対象とする音声信号の検索インデックスを生成する検索インデックス生成手段、 として機能させるためのプログラム。

(付記6) 検索インデックス生成部と、音声検索部と、を備える音声検索装置であって、 前記検索インデックス生成部は、 検索対象の音声信号を取得する取得手段と、 取得した音声信号の特徴量を解析する単位であるフレーム区間を設定する区間設定手段と、 前記フレーム区間ごとに前記検索対象の音声信号の特徴量を取得する特徴量取得手段と、 前記検索対象の音声信号の特徴量が音響モデルの音素に含まれる各状態の特徴量と一致する確率である出力確率を前記フレーム区間ごとに取得する出力確率取得手段と、 前記検索対象の音声信号の中からストップワードに該当するフレーム区間を検出し、検出したストップワードに該当するフレーム区間の出力確率を特定の値に置換するストップワード削除処理手段と、 前記ストップワードに該当するフレーム区間の出力確率を特定の値に置換した後の第1の確率に基づいて、前記検索対象とする音声信号の検索インデックスを生成する検索インデックス生成手段と、 を備え、 前記音声検索部は、 前記第1の確率を記憶する出力確率記憶手段と、 クエリ音声信号に含まれるフレーム毎に取得され、前記クエリ音声信号の特徴量が前記音響モデルから作成した音素の各状態の特徴量と一致する確率であって、前記音響モデルの音素の各状態と対応付けられた第2の確率と、前記出力確率記憶手段が記憶する第1の確率とに基づいて、前記検索対象の音声信号の中から前記クエリ音声信号が発せられていると推定される推定区間を特定する特定手段と、 を備えることを特徴とする音声検索装置。

(付記7) 検索対象の音声信号とクエリ音声信号とを比較する区間であるフレーム毎に、クエリ音声信号の特徴量を取得するクエリ特徴量取得手段と、 前記クエリ特徴量取得手段が取得したクエリ音声信号の特徴量に基づき、前記第2の確率を、音響モデルの音素の各状態と対応付けてフレーム毎に取得するクエリ出力確率取得手段と、 をさらに備えることを特徴とする付記6に記載の音声検索装置。

(付記8) 前記検索対象の音声信号におけるクエリ音声信号の発話時間長を有する区間である尤度取得区間を複数指定する区間指定手段と、 前記区間指定手段が指定した尤度取得区間が前記クエリ音声信号が発せられている区間であることの尤もらしさを示す尤度を、前記第1の確率と前記第2の確率とに基づいて取得する尤度取得手段と、 をさらに備え、 前記区間指定手段は、前記検索対象の音声信号における前記尤度取得区間の先頭位置を変えて複数の尤度取得区間を指定し、 前記尤度取得手段は、前記複数の尤度取得区間のそれぞれについて尤度を取得し、 前記特定手段は、前記区間指定手段が指定した尤度取得区間のそれぞれについて前記尤度取得手段が取得した尤度に基づいて、前記検索対象の音声信号の中から前記クエリ音声信号が発せられていると推定される推定区間を特定する、 ことを特徴とする付記6又は7に記載の音声検索装置。

(付記9) 前記複数の尤度取得区間のそれぞれについて、前記第1の確率と前記第2の確率とを前記尤度取得区間に含まれるフレーム毎に掛け合わせた第3の確率を取得する第2出力確率取得手段をさらに設け、 前記尤度取得手段は、前記第2出力確率取得手段がフレーム毎に取得した第3の確率の対数をとった値を加算して前記尤度取得区間の尤度を取得する、 ことを特徴とする付記8に記載の音声検索装置。

(付記10) 検索対象の音声信号を取得する取得工程と、 取得した音声信号の特徴量を解析する単位であるフレーム区間を設定する区間設定工程と、 前記フレーム区間ごとに前記検索対象の音声信号の特徴量を取得する特徴量取得工程と、 前記検索対象の音声信号の特徴量が音響モデルの音素に含まれる各状態の特徴量と一致する確率である出力確率を前記フレーム区間ごとに取得する出力確率取得工程と、 前記検索対象の音声信号の中からストップワードに該当するフレーム区間を検出し、検出したストップワードに該当するフレーム区間の出力確率を特定の値に置換するストップワード削除処理工程と、 前記ストップワードに該当するフレーム区間の出力確率を特定の値に置換した後の第1の確率に基づいて、前記検索対象とする音声信号の検索インデックスを生成する検索インデックス生成工程と、 クエリ音声信号に含まれるフレーム毎に取得され、前記クエリ音声信号の特徴量が前記音響モデルから作成した音素の各状態の特徴量と一致する確率であって、前記音響モデルの音素の各状態と対応付けられた第2の確率と、前記第1の確率とに基づいて、前記検索対象の音声信号の中から前記クエリ音声信号が発せられていると推定される推定区間を特定する特定工程と、 を含む音声検索方法。

(付記11) コンピュータを、 検索対象の音声信号を取得する取得手段、 取得した音声信号の特徴量を解析する単位であるフレーム区間を設定する区間設定手段、 前記フレーム区間ごとに前記検索対象の音声信号の特徴量を取得する特徴量取得手段、 前記検索対象の音声信号の特徴量が音響モデルの音素に含まれる各状態の特徴量と一致する確率である出力確率を前記フレーム区間ごとに取得する出力確率取得手段、 前記検索対象の音声信号の中からストップワードに該当するフレーム区間を検出し、検出したストップワードに該当するフレーム区間の出力確率を特定の値に置換するストップワード削除処理手段、 前記ストップワードに該当するフレーム区間の出力確率を特定の値に置換した後の第1の確率に基づいて、前記検索対象とする音声信号の検索インデックスを生成する検索インデックス生成手段、 前記第1の確率を記憶する出力確率記憶手段、 クエリ音声信号に含まれるフレーム毎に取得され、前記クエリ音声信号の特徴量が前記音響モデルから作成した音素の各状態の特徴量と一致する確率であって、前記音響モデルの音素の各状態と対応付けられた第2の確率と、前記出力確率記憶手段が記憶する第1の確率とに基づいて、前記検索対象の音声信号の中から前記クエリ音声信号が発せられていると推定される推定区間を特定する特定手段、 として機能させるためのプログラム。

1…ROM、2…RAM、3…外部記憶装置、4…入力装置、5…出力装置、6…CPU、7…バス、100…音声検索装置、101…音声信号記憶部、102…音響モデル記憶部、103…出力確率記憶部、104…クエリ記憶部、105…クエリ出力確率記憶部、110…検索インデックス生成部、111…音声信号取得部、112…フレーム設定部、113…特徴量取得部、114…出力確率取得部、120…ストップワード削除処理部、121…比較ブロック設定部、122…類似度計算部、123…ストップワード区間検出部、124…検索インデックス修正部、130…音声検索部、131…クエリ音声信号取得部、132…フレーム列作成部、133…クエリ特徴量取得部、134…クエリ出力確率取得部、135…区間指定部、136…第2出力確率取得部、137…置換部、138…尤度取得部、139…繰り返し部、140…特定部

高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈