(57)【要約】【課題】  検索したい文字列が誤認識されていたり未知語であった場合にも対処可能で、かつ高速に検索することができる音声検索システムを提供する。【解決手段】  連続単語認識手段１２は、検索対象となる音声データを音声データ記憶手段１１から読み出して認識し、単語単位の認識結果を認識結果単語列記憶手段１３に記憶する。単語候補記憶手段１８には、認識結果に出現し得る単語の候補を記憶しておく。単語候補記憶手段１８に記憶されている単語は連続単語認識手段１２の認識語彙と同一である。検索文字列入力手段１４から入力された検索文字列は、検索文字列展開手段１５によって、単語候補記憶手段１８に記憶されている単語を使用して、検索文字列と音響的な距離が近い単語または単語列に展開される。検索手段１６は展開された単語または単語列を認識結果単語列記憶手段１３から検索し、結果を検索結果出力手段１７に出力する。【選択図】  図１
2006031278.tif 000002
【特許請求の範囲】
【請求項１】
検索対象となる音声データの単語単位の音声認識結果を認識結果単語列として記憶する認識結果単語列記憶手段と、
前記音声認識結果に出現し得る単語を候補単語として記憶する単語候補記憶手段と、
入力された検索文字列を前記単語候補記憶手段に記憶されている前記候補単語または前記候補単語の組み合わせからなる候補単語列に展開する検索文字列展開手段と、
前記検索文字列展開手段によって展開された前記候補単語または前記候補単語列を前記認識結果単語列記憶手段から検索する検索手段と、
を備えることを特徴とする音声検索システム。
【請求項２】
前記単語候補記憶手段が、前記音声データから前記認識結果単語列を得るときの認識語彙を記憶していることを特徴とする請求項１に記載の音声検索システム。
【請求項３】
前記認識結果単語列記憶手段に記憶された認識結果に現れる単語のリストを抽出する単語抽出手段を備え、前記単語候補記憶手段が前記リストを記憶することを特徴とする請求項１に記載の音声検索システム。
【請求項４】
前記単語抽出手段が、前記リストを抽出する時に、前記認識結果において各単語の前後に現れる単語について調べて、前後に現れる単語にのみ接続を許した単語間の接続テーブルを作成し、前記単語候補記憶手段が前記リストと共に前記接続テーブルを記憶し、前記検索文字列展開手段は、前記単語候補記憶手段の記憶する前記リストと前記接続テーブルとを参照して、前記検索文字列を接続可能な前記候補単語または前記候補単語列のみに展開する機能を含むことを特徴とする請求項３に記載の音声検索システム。
【請求項５】
前記検索文字列展開手段が、前記検索文字列の音素列または音節列に準ずるサブワード列を入力特徴ベクトル系列とし、前記候補単語を認識語彙として連続単語音声認識アルゴリズムによって単語展開する機能を含むことを特徴とする請求項１に記載の音声検索システム。
【請求項６】
前記検索文字列展開手段が、前記検索文字列を前記単語候補記憶手段が記憶している前記候補単語を用いて展開する時に、前記検索文字列と前記候補単語または前記候補単語列との音響的な距離が近くなるように展開する機能を含むことを特徴とする請求項１に記載の音声検索システム。
【請求項７】
音素または音節の認識誤り傾向を表す混同行列を記憶する混同行列記憶手段を備え、前記検索文字列展開手段が、前記混同行列に基づいて、前記音響的な距離を計算する機能を含むことを特徴とする請求項６に記載の音声検索システム。
【請求項８】
前記検索文字列展開手段が、前記音声データから前記認識結果単語列を得るときに使用した音響モデル中のモデル間距離に基づいて前記音響的な距離を計算する機能を含むことを特徴とする請求項６に記載の音声検索システム。
【請求項９】
前記検索文字列展開手段が、前記音響的な距離に加えて、前記音声データから前記認識結果単語列を得るときに使用した言語モデルを参照して言語的に現れにくい単語や単語列に対してペナルティを与える機能を含むことを特徴とする請求項６に記載の音声検索システム。
【請求項１０】
音声検索システムにより単語列を検索する方法であって、
検索文字列を入力するステップと、
検索対象となる音声データの音声認識結果に出現し得る候補単語または前記候補単語の組み合わせからなる候補単語列に前記検索文字列を展開するステップと、
前記音声認識結果を認識結果単語列として表し、展開された前記候補単語または前記候補単語列を前記認識結果単語列から検索するステップと、
を含むことを特徴とする音声検索方法。
【請求項１１】
前記検索文字列を入力するステップに先立ち、前記音声データに対して音声認識を行い、認識結果として前記候補単語を得るステップを含むことを特徴とする請求項１０に記載の音声検索方法。
【請求項１２】
前記検索文字列を入力するステップに先立ち、前記音声データに対して音声認識を行い、認識結果から抽出された単語のリストを作成するステップを含み、前記検索文字列を展開する前記ステップは、作成された前記リストを参照して展開することを特徴とする請求項１０に記載の音声検索方法。
【請求項１３】
音声検索システムにより単語列を検索する方法であって、
検索対象となる音声データの単語単位の音声認識結果を認識結果単語列として認識結果単語列記憶手段に記憶させるステップと、
前記認識結果に出現し得る単語を候補単語として単語候補記憶手段に記憶させるステップと、
入力された検索文字列を前記単語候補記憶手段に記憶されている前記候補単語または前記候補単語の組み合わせからなる候補単語列に展開するステップと、
前記展開された前記候補単語または前記候補単語列を前記認識結果単語列記憶手段から検索するステップと、
を含むことを特徴とする音声検索方法。
【請求項１４】
前記音声データから前記認識結果単語列を得るときの認識語彙を前記単語候補記憶手段に記憶させるステップをさらに含むことを特徴とする請求項１３記載の音声検索方法。
【請求項１５】
前記認識結果単語列記憶手段に記憶された認識結果に現れる単語のリストを抽出するステップと、前記抽出された単語のリストを前記単語候補記憶手段に記憶させるステップと、をさらに含み、前記候補単語列に展開するステップは、前記記憶された前記リストを参照して展開することを特徴とする請求項１３記載の音声検索方法。
【請求項１６】
音声検索システムを構成するコンピュータに、
検索対象となる音声データの単語単位の音声認識結果を認識結果単語列として認識結果単語列記憶手段に記憶させる処理と、
前記認識結果に出現し得る単語を候補単語として単語候補記憶手段に記憶させる処理と、
入力された検索文字列を前記単語候補記憶手段に記憶されている前記候補単語または前記候補単語の組み合わせからなる候補単語列に展開する検索文字列展開処理と、
前記検索文字列展開処理によって展開された前記候補単語または前記候補単語列を前記認識結果単語列記憶手段から検索する検索処理と、
を実行させるプログラム。
【請求項１７】
前記音声データから前記認識結果単語列を得るときの認識語彙を前記単語候補記憶手段に記憶させる処理をさらに実行させる請求項１６に記載のプログラム。
【請求項１８】
前記認識結果単語列記憶手段に記憶された認識結果に現れる単語のリストを抽出する単語抽出処理と、前記単語抽出処理によって抽出された単語のリストを前記単語候補記憶手段に記憶させる処理と、をさらに実行させ、前記記憶された前記リストを参照して展開するように前記検索文字列展開処理を実行させる請求項１６に記載のプログラム。
【請求項１９】
音声検索システムを構成するコンピュータに、
検索対象となる音声データの単語単位の音声認識結果に出現し得る単語を予め記憶してある単語候補記憶手段中の候補単語または前記候補単語の組み合わせからなる候補単語列に、入力された検索文字列を展開する検索文字列展開処理と、
前記音声認識結果を認識結果単語列として予め記憶してある認識結果単語列記憶手段から、前記検索文字列展開処理によって展開された前記候補単語または前記候補単語列を検索する検索処理と、
を実行させるプログラム。
【請求項２０】
前記音声データに対して音声認識を行い、認識結果として前記候補単語を得る処理をさらに実行させる請求項１９に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声検索システムおよび方法ならびにプログラムに関し、特に音声認識された音声データ中の単語や語句を検索するシステムおよび方法ならびにプログラムに関する。
【背景技術】
【０００２】
従来、この種の音声検索システムは、ニュースや講演などの音声データの中からキーワードを検索し、所望のコンテンツにアクセスするために用いられている。この場合、音声認識が用いられるが、辞書に登録されていない未知語を認識することはできず、また、既知語であっても誤認識は避けられない。このような誤認識を含む音声認識結果から単語や語句を検索するための音声検索システムの一例が、非特許文献１に記載されている。
【０００３】
図１２は、非特許文献１に記載されている音声検索システムの構成を示すブロック図である。図１２において、音声検索システムは、音声データ記憶手段１０１と、連続音素認識手段１０２と、認識結果音素列記憶手段１０３と、検索文字列入力手段１０４と、音素変換手段１０５と、マッチング手段１０６と、検索結果出力手段１０７、とから構成されている。このような構成を有する従来の音声検索システムは、次のように動作する。
【０００４】
音声データ記憶手段１０１には、検索対象となる音声データが記憶されている。連続音素認識手段１０２は、音声データを連続音素認識し、認識結果音素列を認識結果音素列記憶手段１０３に記憶する。一方、検索文字列入力手段１０４から入力された検索文字列は、音素変換手段１０５によって音素列に変換される。マッチング手段１０６は、音素変換された検索文字列と認識結果音素列全体とを音素単位のＤＰ（Dynamic Programming）マッチングにより照合し、あらかじめ定めた閾値よりも累積距離が小さい区間に検索文字列が存在すると判定する。検索結果出力手段１０７は、検索文字列が存在すると判定された音声データの区間を出力する。音素単位のＤＰマッチングを行うことにより、検索したい文字列が誤認識される場合であってもある程度検索することが可能となっている。
【０００５】
なお、連続単語音声認識アルゴリズムの一つとして用いられるフレーム同期ビームサーチについては、特許文献１に記載されている。また、音声認識における各種のサーチ技術に関しては、非特許文献２に記載されている。
【０００６】
【特許文献１】特許第３３４６２８５号公報
【非特許文献１】岡隆一他著、「音素系列表現を用いた音声およびテキスト検索」、電子情報通信学会技術研究報告、2001年、SP2001-29、29-35頁
【非特許文献２】ローレンス・ラビナー（Lawrence Rabiner）他著、「古井貞熙監訳、音声認識の基礎（下）」、NTTアドバンステクノロジ株式会社、1995年、194-229頁
【発明の開示】
【発明が解決しようとする課題】
【０００７】
従来技術の問題点は、検索に必要な計算量が大きいことである。その結果、検索対象となる音声データの規模が大きくなると、検索文字列を入力してから実際に検索結果が得られるまでに長時間待たされることになり、音声検索システムの実用性が低下してしまう。従来技術で必要な計算量が大きい理由は、音素変換された検索文字列と認識結果音素列とのＤＰマッチングにおいて、複数パスの距離計算を音素単位で実行するためである。
【０００８】
本発明の目的は、検索したい文字列が誤認識されていたり未知語であった場合にも対処可能で、かつ高速に検索することができる音声検索システムおよび方法ならびにプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
前記目的を達成する本発明の原理は、入力された検索文字列を、検索対象となる音声データの音声認識結果に出現し得る類似単語または類似単語列に展開してから検索することにある。
【００１０】
本発明の一つのアスペクトに係る音声検索システムは、検索対象となる音声データの単語単位の音声認識結果を認識結果単語列として記憶する認識結果単語列記憶手段と、音声認識結果に出現し得る単語を候補単語として記憶する単語候補記憶手段と、入力された検索文字列を単語候補記憶手段に記憶されている候補単語または候補単語の組み合わせからなる候補単語列に展開する検索文字列展開手段と、検索文字列展開手段によって展開された候補単語または候補単語列を認識結果単語列記憶手段から検索する検索手段と、を備える。
【００１１】
第１の展開形態の音声検索システムにおいて、単語候補記憶手段が、音声データから認識結果単語列を得るときの認識語彙を記憶するように構成されることが好ましい。
【００１２】
第２の展開形態の音声検索システムにおいて、認識結果単語列記憶手段に記憶された認識結果に現れる単語のリストを抽出する単語抽出手段を備え、単語候補記憶手段がリストを記憶するように構成されることが好ましい。
【００１３】
第３の展開形態の音声検索システムにおいて、単語抽出手段が、リストを抽出する時に、認識結果において各単語の前後に現れる単語について調べて、前後に現れる単語にのみ接続を許した単語間の接続テーブルを作成し、単語候補記憶手段がリストと共に接続テーブルを記憶し、検索文字列展開手段は、単語候補記憶手段の記憶するリストと接続テーブルとを参照して、検索文字列を接続可能な候補単語または候補単語列のみに展開する機能を含んで構成されることが好ましい。
【００１４】
第４の展開形態の音声検索システムにおいて、検索文字列展開手段が、検索文字列の音素列または音節列に準ずるサブワード列を入力特徴ベクトル系列とし、候補単語を認識語彙として連続単語音声認識アルゴリズムによって単語展開する機能を含んで構成されることが好ましい。
【００１５】
第５の展開形態の音声検索システムにおいて、検索文字列展開手段が、検索文字列を単語候補記憶手段が記憶している候補単語を用いて展開する時に、検索文字列と候補単語または候補単語列との音響的な距離が近くなるように展開する機能を含んで構成されることが好ましい。
【００１６】
第６の展開形態の音声検索システムにおいて、音素または音節の認識誤り傾向を表す混同行列を記憶する混同行列記憶手段を備え、検索文字列展開手段が、混同行列に基づいて、音響的な距離を計算する機能を含んで構成されることが好ましい。
【００１７】
第７の展開形態の音声検索システムにおいて、検索文字列展開手段が、音声データから認識結果単語列を得るときに使用した音響モデル中のモデル間距離に基づいて音響的な距離を計算する機能を含んで構成されることが好ましい。
【００１８】
第８の展開形態の音声検索システムにおいて、検索文字列展開手段が、音響的な距離に加えて、音声データから認識結果単語列を得るときに使用した言語モデルを参照して言語的に現れにくい単語や単語列に対してペナルティを与える機能を含んで構成されることが好ましい。
【００１９】
本発明の第２のアスペクトに係る音声検索方法は、音声検索システムにより単語列を検索する方法である。この方法は、検索文字列を入力するステップと、検索対象となる音声データの音声認識結果に出現し得る候補単語または候補単語の組み合わせからなる候補単語列に検索文字列を展開するステップと、音声認識結果を認識結果単語列として表し、展開された候補単語または候補単語列を認識結果単語列から検索するステップと、を含む。
【００２０】
第１の展開形態の音声検索方法において、検索文字列を入力するステップに先立ち、音声データに対して音声認識を行い、認識結果として候補単語を得るステップを含んでもよい。
【００２１】
第２の展開形態の音声検索方法において、検索文字列を入力するステップに先立ち、音声データに対して音声認識を行い、認識結果から抽出された単語のリストを作成するステップを含み、検索文字列を展開するステップは、作成されたリストを参照して展開してもよい。
【００２２】
本発明の第３のアスペクトに係る音声検索方法は、音声検索システムにより単語列を検索する方法である。この方法は、検索対象となる音声データの単語単位の音声認識結果を認識結果単語列として認識結果単語列記憶手段に記憶させるステップと、認識結果に出現し得る単語を候補単語として単語候補記憶手段に記憶させるステップと、を含む。また、入力された検索文字列を単語候補記憶手段に記憶されている候補単語または候補単語の組み合わせからなる候補単語列に展開するステップと、展開された候補単語または候補単語列を認識結果単語列記憶手段から検索するステップと、を含む。
【００２３】
第３の展開形態の音声検索方法において、音声データから認識結果単語列を得るときの認識語彙を単語候補記憶手段に記憶させるステップをさらに含んでもよい。
【００２４】
第４の展開形態の音声検索方法において、認識結果単語列記憶手段に記憶された認識結果に現れる単語のリストを抽出するステップと、抽出された単語のリストを単語候補記憶手段に記憶させるステップと、をさらに含み、候補単語列に展開するステップは、記憶されたリストを参照して展開してもよい。
【００２５】
本発明の第４のアスペクトに係るプログラムは、音声検索システムを構成するコンピュータに、検索対象となる音声データの単語単位の音声認識結果を認識結果単語列として認識結果単語列記憶手段に記憶させる処理と、認識結果に出現し得る単語を候補単語として単語候補記憶手段に記憶させる処理と、入力された検索文字列を単語候補記憶手段に記憶されている候補単語または候補単語の組み合わせからなる候補単語列に展開する検索文字列展開処理と、検索文字列展開手段によって展開された候補単語または候補単語列を認識結果単語列記憶手段から検索する検索処理と、を実行させる。
【００２６】
第１の展開形態のプログラムにおいて、音声データから認識結果単語列を得るときの認識語彙を単語候補記憶手段に記憶させる処理をさらに実行させてもよい。
【００２７】
第２の展開形態のプログラムにおいて、認識結果単語列記憶手段に記憶された認識結果に現れる単語のリストを抽出する単語抽出処理と、単語抽出処理によって抽出された単語のリストを単語候補記憶手段に記憶させる処理と、をさらに実行させ、記憶されたリストを参照して展開するように検索文字列展開処理を実行させてもよい。
【００２８】
本発明の第５のアスペクトに係るプログラムは、音声検索システムを構成するコンピュータに、検索対象となる音声データの単語単位の音声認識結果に出現し得る単語を予め記憶してある単語候補記憶手段中の候補単語または候補単語の組み合わせからなる候補単語列に、入力された検索文字列を展開する検索文字列展開処理と、音声認識結果を認識結果単語列として予め記憶してある認識結果単語列記憶手段から、検索文字列展開処理によって展開された候補単語または候補単語列を検索する検索処理と、を実行させる。
【００２９】
第３の展開形態のプログラムにおいて、音声データに対して音声認識を行い、認識結果として候補単語を得る処理をさらに実行させてもよい。
【発明の効果】
【００３０】
本発明によれば、検索したい文字列が誤認識されていたり未知語であった場合にも対処可能で、かつ高速に検索することができる。その理由は、音素単位の認識結果ではなく、より大きな単位である単語単位の認識結果を検索すれば良いことにある。この結果、検索を行う空間が小さくなり、検索速度が向上する。すなわち、入力された検索文字列を単語または単語列に展開してから、単語単位の認識結果を検索するためである。
【００３１】
また、他の理由は、検索時に検索文字列と認識結果との距離をＤＰマッチングなどによって計算しなくても、検索したい文字列が誤認識されている場合にある程度検索できることにある。すなわち、入力された検索文字列の認識結果として可能性の高い単語または単語列に予め展開してから検索するためである。
【００３２】
さらに他の理由は、認識結果にまったく出現する可能性のない単語または単語列を検索することがないことにある。すなわち、検索文字列として未知語が入力された場合でも無駄に検索を行うことがなく、入力された検索文字列を認識結果に出現し得る単語または単語列に展開するためである。
【発明を実施するための最良の形態】
【００３３】
次に、本発明を実施するための最良の形態について図面を参照して詳細に説明する。本発明の実施形態に係る音声検索システムは、検索対象となる音声データの単語単位の音声認識結果を記憶する認識結果単語列記憶手段（図１の１３）と、認識結果単語列に出現し得る単語の候補を記憶しておく単語候補記憶手段（図１の１８）と、単語候補記憶手段に記憶されている単語を使用して音響的な距離が検索文字列に近くなるような単語または単語列に展開する検索文字列展開手段（図１の１５）と、展開された単語または単語列を認識結果単語列から検索する検索手段（図１の１６）とを有する。
【００３４】
以上のように構成される音声検索システムは、入力された検索文字列の認識結果となる可能性が高い単語または単語列を認識結果単語列から検索することにより、検索したい文字列が誤認識されていたり未知語であった場合にも対処可能で、かつ高速に検索することができる。
【００３５】
以下に、実施例に即して音声検索システムをより詳細に説明する。
【実施例１】
【００３６】
図１は、本発明の第１の実施例に係る音声検索システムの構成を示すブロック図である。図１において、音声検索システムは、検索対象となる音声データを記憶する音声データ記憶手段１１と、音声データを連続単語認識する連続単語認識手段１２と、連続単語認識の結果を記憶する認識結果単語列記憶手段１３と、認識結果単語列に出現し得る単語の候補を記憶する単語候補記憶手段１８と、検索したい文字列を入力する検索文字列入力手段１４と、入力された検索文字列を単語または単語列に展開する検索文字列展開手段１５と、展開された単語または単語列を認識結果単語列の中から検索する検索手段１６と、検索結果を出力する検索結果出力手段１７、とから構成されている。
【００３７】
単語候補記憶手段１８は、連続単語認識手段１２の認識語彙を定めた認識辞書を記憶する。このようにすることで、単語候補記憶手段１８が記憶している単語候補は、認識結果に出現し得る単語となる。なお、単語候補記憶手段１８は、必ずしも認識辞書そのものを記憶する必要はなく、例えば、助詞「は」、「が」などの長さの短い単語を認識辞書から除いた単語リストを単語候補記憶手段１８に記憶させても構わない。短い単語を除くことで展開される単語列の数が膨大になってしまうことを防ぐことができる。
【００３８】
次に、図１及び図２を参照して、本発明の第１の実施例に係る音声検索システムの動作について詳細に説明する。図２は、本発明の第１の実施例に係る音声検索システムの動作を示すフローチャート図である。
【００３９】
まず予め、連続単語認識手段１２が、音声データ記憶手段１１から検索対象となる音声データを読み出して連続単語認識を行い、認識結果を認識結果単語列記憶手段１３に記憶する。連続単語認識は、一般的な音声認識手法である音素を単位としたＨＭＭ（Hidden Markov Model）による音響モデルと、ｎ語間の統計確率に基づくn-gramによる言語モデルを用いたサーチによって実現する。なお、音響モデルの単位として音節やそれに準ずるサブワードを用いたり、言語モデルとして文脈自由文法などを使用することも可能である。また、本実施例では、予め音声データ記憶手段１１に格納された音声データを認識して、検索対象となる認識結果単語列を生成する場合について述べるが、これは、本発明における音声データの状態を限定するものではない。例えば、マイクなどから入力された音声に対して、連続単語認識手段１２で逐次に認識処理を実行して音声データを作成することで、リアルタイムに音声検索を行うことも可能である。
【００４０】
また、本実施例では、連続単語認識手段１２は、連続単語認識した認識結果そのものを認識結果単語列記憶手段１３に出力しているが、連続単語認識手段１２は、必ずしも連続単語認識の認識結果をそのまま出力しなくても良い。例えば、連続単語認識によって得られた単語列の各単語をさらに細かく区切って単語を短単位化しても良いし、或いは、単語同士を結合して単語を長単位化しても良い。例として、長単位の「非科学的」を、「非」と「科学」と「的」とのような短単位の単語にする等が挙げられる。このときは、単語候補記憶手段１８に記憶する単語候補も同じように単語の短単位化、長単位化が施された単語にして、認識結果単語列記憶手段１３中に出現する単語の種類を合わせることが望ましい。また、連続単語認識の結果に対して形態素解析をかけた結果を認識結果単語列とすることも本実施例に含まれる。このときは、単語候補記憶手段１８に記憶する単語候補は、形態素解析器の語彙を定めた辞書に含まれる単語とすることが望ましい。
【００４１】
ユーザが音声データから単語または単語列などを検索するときには、まず、キーボードなどの検索文字列入力手段１４から検索したい文字列を入力する（ステップＡ１）。なお、検索文字列の入力は、キーボードなどからの文字列入力に限る必要はなく、マイクなどによる音声入力を音声認識しても良い。例えば、マイクによって入力された音声を連続音素認識した結果や、孤立単語認識した結果を検索文字列とすることも本実施例に含まれる。
【００４２】
次に、検索文字列展開手段１５が、単語候補記憶手段１８に記憶されている単語候補を使用して、検索文字列を単語または単語列に展開する（ステップＡ２）。この展開は、検索文字列と展開する単語または単語列との音響的な距離が近くなるように行う。例えば、検索文字列として「ハリーポッター」を入力した場合を考える。また、単語候補記憶手段１８には「ハリー」、「ポスター」、「は」、「リポーター」、などの単語候補が記憶されているとする。このとき、検索文字列展開手段１５は、単語候補記憶手段１８中の単語候補を並べることで、検索文字列「ハリーポッター」と音響的に近い「ハリー」＋「ポスター」、「は」＋「リポーター」、などの単語列に展開する。もちろん、単語候補記憶手段１８に「ハリーポッター」が存在すれば、「ハリーポッター」という単語にも展開される。この展開は、検索文字列と音響的な距離が近くなるように行われるため、検索文字列の認識結果となる可能性が高い単語列を誤認識も含めて求めることになる。すなわち、「ハリーポッター」を認識すると、認識結果として「ハリー」＋「ポスター」や、「は」＋「リポーター」などの単語列が得られる可能性が高いということになる。このとき、単語候補記憶手段１８は、連続単語認識手段１２の認識語彙であるので、認識結果に出現し得ない無関係な単語列に展開されることはない。以下では、検索文字列展開手段１５が、入力された検索文字列との音響的な距離が近い単語または単語列をどのようにして展開するかについて説明する。
【００４３】
まず、検索文字列展開手段１５は、入力された検索文字列を音素列に変換する。検索文字列を音素列に変換するためには検索文字列の読み情報が必要となるが、これはかな漢字混じりで入力された検索文字列から自動で読みつけしても良いし、或いは、検索文字列入力手段１４でユーザが検索文字列の読みを入力しても良い。ただし、検索文字列をマイクなどからの音声入力を音声認識することで得た場合には、音声認識によって検索文字列の音素列も得られるので、検索文字列展開手段１５は、ここで述べた音素変換を行う必要はない。一方、単語候補記憶手段１８には、各単語候補の音素列の情報も記憶しておく。
【００４４】
検索文字列展開手段１５は、検索文字列と単語候補記憶手段１８に記憶されている単語候補の様々な並びとの音響的な距離を、音素を単位としたＤＰマッチングによって求め、距離があらかじめ定めた閾値以内となる単語列に展開する。なお、本実施例では音素を単位として距離を計算しているが、音節またはそれに準ずるサブワード単位で距離を計算してもよい。その場合は、検索文字列や単語候補を音素列の代わりに音節列やサブワード列に変換する必要がある。
【００４５】
図３は、音素間の距離尺度として、同じ音素間の距離を０、違う音素間の距離を１、音素の挿入時や脱落時の距離を１としたときの、検索文字列の音素列「ｈａｒｉｉｐｏＱｔａａ（ハリーポッター）」（Ｑは促音を表す）と展開単語列の音素列「ｈａｒｉｉ（ハリー）」＋「ｂｏｋｕｓａａ（ボクサー）」との距離をＤＰマッチングによって求めたときの様子である。この例の場合、「ｈａｒｉｉｐｏＱｔａａ（ハリーポッター）」と「ｈａｒｉｉ（ハリー）」＋「ｂｏｋｕｓａａ（ボクサー）」との距離の累積は、４になる。一方、図４は、検索文字列の音素列「ｈａｒｉｉｐｏＱｔａａ（ハリーポッター）」と展開単語列の音素列「ｈａｒｉｉ（ハリー）」＋「ｐｏｓｕｔａａ（ポスター）」との距離をＤＰマッチングによって求めたときの様子で、この場合、両者の距離の累積は、２になる。今、展開するかどうかを決める距離の閾値を３とすると、検索文字列「ハリーポッター」は、検索文字列展開手段１５によって、「ハリー」＋「ポスター」には展開されるが、「ハリー」＋「ボクサー」には展開されないことになる。なお、展開するかどうかを決める距離の閾値は、常に一定値である必要はなく、例えば、検索文字列の長さに応じて閾値を正規化しても良い。
【００４６】
このように、検索文字列との距離が近くなるような単語列を効率的に求めることは、連続単語音声認識で用いられているサーチアルゴリズムによって高速に実現できる。連続単語音声認識とは、入力特徴ベクトルの時系列に近い単語列を求める問題である。連続単語音声認識アルゴリズムによって、入力特徴ベクトルを単語辞書中の単語の様々な組み合わせと照合することで、認識結果となる単語列を求めることができる。ここで、連続単語音声認識における特徴ベクトルの時系列とは、入力音声波形をフレームと呼ばれる時間単位ごとに分析したものである。
【００４７】
一方、本発明における検索文字列展開は、入力検索文字列に近い単語列を求める問題である。これは、上記の連続単語音声認識アルゴリズムにおける入力特徴ベクトルとして、検索文字列の音素列を入力することで実現できる。入力検索文字列と単語の様々な組み合わせとの照合時のスコア計算には、音素間の距離を用いればよい。なお、本実施例では音素列を入力としているが、音節列またはそれに順ずるサブワード列を入力としても良い。
【００４８】
以下では、よく用いられる連続単語音声認識アルゴリズムの一つとして、特許文献１に記載されているようなフレーム同期ビームサーチについて説明する。フレーム同期ビームサーチは、フレームごとに認識結果の候補となる単語列を仮説として展開する一方で、スコアが閾値以下の仮説は消去していくことで、入力特徴ベクトルの時系列と単語列仮説との照合を効率よく行うアルゴリズムである。具体的には、以下のステップ１からステップ３までが繰り返される。
【００４９】
ステップ１：Ｉ番目のフレームの仮説をＩ＋１番目のフレームに展開する。すなわち、Ｉ番目のフレームの仮説が単語終端状態にあれば、辞書中の単語を接続して仮説を展開する。Ｉ番目のフレームの仮説は消去され、Ｉ＋１番目のフレームの仮説だけが記憶される。
【００５０】
ステップ２：Ｉ＋１番目のフレームに展開された仮説のうち、スコアが一定の閾値より良い仮説のみを記憶し、それ以外の仮説を消去する。これは枝狩り(beam pruning)と呼ばれる。
【００５１】
ステップ３：処理すべきフレーム番号Ｉに１を加える。
【００５２】
上記のフレーム同期ビームサーチの入力特徴ベクトルを入力検索音素列に置き換えることで、本発明における検索文字列の展開が実現可能である。フレーム単位の処理は、音素単位の処理とし、スコアは入力検索音素列と展開された単語列仮説との累積音素間距離とすればよい。また、ステップ２の枝狩り処理は、例えば、累積距離が一定値以上になった仮説を消去すればよい。或いは、展開された仮説のうち最も累積距離の小さい仮説を基準として、その距離よりも一定の閾値以上の累積距離を持つ仮説を消去しても良い。このようにすることで、入力検索文字列との距離が近い単語列を効率的に求めることができる。枝狩りの閾値を調整することで、得られる単語列の数を制御することも可能である。
【００５３】
なお、検索文字列の展開アルゴリズムはフレーム同期ビームサーチに限る必要はなく、連続単語音声認識アルゴリズムとして一般的に用いられている手法を適用することもできる。例えば、２段ＤＰマッチング、レベルビルディング法、或いはワンステージ法などによって展開を行うことも可能である。これらのアルゴリズムの詳細は、非特許文献２に記載されている。
【００５４】
また、本実施例では、音素間の距離として同じ音素間のときの距離を０、違う音素間の距離を１としたが、別の距離尺度を使っても良い。例えば、音素間混同行列に基づいて音素間距離を計算しても良い。音素間混同行列とは、音声認識において各音素がどのような音素に認識されやすいかを予め認識実験などにより求め、行列の要素を確率で表したものである。この音素間混同行列の例を図５に示す。図５は、入力音素ｋ、ｇ、ｓ、ｚ、ａ、・・がそれぞれｋ、ｇ、ｓ、ｚ、ａ、・・と認識される確率を行列で表したものである。例えば、音素ｋがｋと認識される確率は０．６、ｇと認識される確率は０．３、ｚと認識される確率は０．１、であることなどが示される。このとき、例えば、音素混同行列中の確率の逆数を音素間距離として定義することができる。このように距離を定義することで、音声認識における誤り傾向を考慮した距離を計算することが可能となる。なお、この場合、確率が０である音素間の距離は、十分に大きな値とする。
【００５５】
また、別の距離尺度として、連続単語認識手段１２が認識時に使用した音響モデルのモデル間距離を使用しても良い。例えば、各音素を表す音響モデルの確率分布間のＫＬ（Kullback-Leibler）距離によって音素間の距離を定義することができる。各音素の音響モデルが１状態かつ単一ガウス分布でモデル化されているとき、２つのモデル間のＫＬ距離は、（１）式で表される。
2006031278.tif 000003
なお、f (x|u, Σ)は、平均ベクトルu、分散共分散行列ΣのK次元ガウス分布であって、（２）式で表される。
2006031278.tif 000004
【００５６】
さらに、音響モデルが複数の状態で表されるときや、状態が混合ガウス分布で表されるときには、例えば、最も距離の近いガウス分布間距離を音素間距離とすればよい。
【００５７】
また、検索文字列展開手段１５が検索文字列を単語または単語列に展開するときに、音響的な近さだけでなく、言語的な制約を加えることも可能である。例えば、検索文字列と展開する単語候補との距離計算を行うときに、連続単語認識手段１２が認識時に使用した言語モデルを参照して、ユニグラム確率が低い単語にはペナルティを与えれば良い。また、バイグラム確率が低い単語連鎖に展開するときにペナルティを与えても良い。
【００５８】
例えば、言語モデルのバイグラム確率の逆数を定数倍するなどして、図６に示すような単語間のペナルティを求めておく。このとき、図４で求めた、検索文字列の音素列「ｈａｒｉｉｐｏＱｔａａ（ハリーポッター）」と展開単語列の音素列「ｈａｒｉｉ（ハリー）」＋「ｐｏｓｕｔａａ（ポスター）」との距離は、音素列間の距離２にペナルティ２を加えて４に修正される。一方、図７に示すように「ｈａｒｉｉｐｏＱｔａａ（ハリーポッター）」と展開単語列の音素列「ｗａ（は）」＋「ｒｉｐｏｏｔａａ（リポーター）」との音素列間距離は３であるが、ペナルティは０．５なので最終的な距離は、３．５に修正される。この結果、言語的により認識結果となりやすい「は」＋「リポーター」の方が距離が近いと判定される。
【００５９】
また、より高次のn-gramに対しても同様である。距離計算のときにこのようなペナルティを加えることで、検索文字列を認識結果に出現しやすい単語または単語列のみに展開することが可能となる。
【００６０】
以上で説明したように、検索文字列展開手段１５によって、入力された検索文字列は、単語候補記憶手段１８が記憶する単語または単語列に展開される。このとき、展開された単語または単語列は、検索文字列を認識した結果得られる可能性の高い単語または単語列である。
【００６１】
最後に、検索手段１６は、検索文字列展開手段１５によって展開された単語または単語列が認識結果単語列記憶手段１３に存在するかどうかを調べる（ステップＡ３、Ａ４）。展開された単語または単語列が認識結果単語列に存在すれば、検索に成功したと判断して、検索結果出力手段１７は、その認識結果単語列に対応する区間を検索結果として出力する（ステップＡ５）。展開された単語または単語列が認識結果単語列に存在しなければ、検索に失敗したと判断して、検索結果出力手段１７は検索不能を示すメッセージを出力する（ステップＡ６）。前述した例のように、検索文字列「ハリーポッター」が「ハリー」＋「ポスター」に展開された場合を考えると、認識結果中に「ハリー」＋「ポスター」が存在したら、その区間を「ハリーポッター」の検索結果として出力する。
【００６２】
また、予め認識結果単語列記憶手段１３に記憶されている認識結果単語列に対して、検索のためのインデックスを作成し、検索手段１６がインデックスを参照することで展開された単語または単語列を検索することも本実施例に含まれる。図８は、検索対象となる音声データの認識結果に対するインデックスの例を示す図である。各単語の出現位置情報が出現した文書番号と文書中の出現位置との組み合わせによって記憶されている。例えば、「ハリーポッター」を展開した単語列「ハリー」＋「ポスター」を検索する場合について示す。図８のインデックスを参照することで「ハリー」は、文書１中の１０単語目と文書１中の２０単語目とに出現し、「ポスター」は、文書１中の１１単語目と文書２中の１０単語目とに出現することが直ちに分かる。その後、「ハリー」と「ポスター」とが連続しているかどうかを調べることで、「ハリー」＋「ポスター」が文書１中の１０単語目から１１単語目にあることが検索できる。このように展開された単語列の検索に図８に示すようなインデックスを利用することで、文書全体を探索する必要がなくなるため、検索の速度を大幅に向上することが可能である。
【００６３】
次に、本実施例の効果について説明する。本実施例では、単語単位の認識結果を単語単位で検索するために、音素列の認識結果を音素単位で検索するのに比べて検索を行う空間が小さくなる。
【００６４】
また、予め検索文字列を誤認識の可能性を考慮した単語または単語列に展開してから検索するために、検索時には検索文字列と認識結果との距離をＤＰマッチングによって計算する必要がない。本実施例では、検索文字列を単語列に展開するときに検索文字列と展開する単語候補との距離計算を行う必要があるが、これは検索対象全体と検索文字列とをＤＰマッチングする従来の方式に比べれば大した計算量ではない。また、展開された単語または単語列を認識結果から検索するときには、インデックスを用いた検索手法を利用できる。
【００６５】
さらに、本実施例では、認識結果単語列を得るときの認識語彙を使用して単語または単語列へ展開しているため、認識結果にまったく出現する可能性のない単語または単語列を検索することはない。
【００６６】
これらの結果、本実施例によって、音声データに対する検索速度が大幅に向上する。
【実施例２】
【００６７】
次に、本発明の第２の実施例について図面を参照して詳細に説明する。
【００６８】
図９は、本発明の第２の実施例に係る音声検索システムの構成を示すブロック図である。図９に示す音声検索システムは、図１に示した音声検索システムに対して、認識結果単語列記憶手段２３に記憶された認識結果に出現する単語のリストを抽出する単語抽出手段２９をさらに備え、単語候補記憶手段２８は、単語抽出手段２９の抽出した単語のリストを記憶している点で異なる。なお、図９において、音声データ記憶手段２１、連続単語認識手段２２、検索文字列入力手段２４、検索文字列展開手段２５、検索手段２６、検索結果出力手段２７は、それぞれ図１における音声データ記憶手段１１、連続単語認識手段１２、検索文字列入力手段１４、検索文字列展開手段１５、検索手段１６、検索結果出力手段１７に相当し、特に記載無き場合には、その説明を省略する。
【００６９】
第１の実施例では、単語候補記憶手段１８には検索文字列展開手段の展開する単語候補として、連続単語認識手段１２の認識語彙が記憶されていた。本実施例では、単語候補記憶手段２８は、単語抽出手段２９の抽出した単語のリストを記憶する。単語抽出手段２９は、認識結果単語列記憶手段２３に記憶されている認識結果を調べて、認識結果に出現する単語のリストを抽出する。このとき、必ずしも認識結果に現れる単語の全てを抽出しなくても良い。例えば、単語が認識結果に現れる頻度を調べて、頻度が極端に少ない単語を抽出しないようにしてもよい。また、長さが短い単語を抽出しないようにしてもよい。このようにして認識結果単語列から抽出された単語のリストが単語候補記憶手段２８に記憶され、検索文字列展開手段２５の展開する単語候補となる。
【００７０】
また、単語抽出手段２９が認識結果に出現する単語を調べるときに、各単語の前後に現れる単語についても調べ、各単語の前後に現れる単語にのみ接続を許した単語間の接続テーブルを作成しても良い。この場合、単語候補記憶手段２８は、単語抽出手段２９が作成する単語のリストと接続テーブルの両方を記憶する。検索文字列展開手段２５は、第１の実施例の検索文字列展開手段１５とほぼ同様の動作を行うが、単語候補記憶手段２８が記憶している接続テーブルも参照し、接続不可能となっている単語列には展開しない点が異なる。
【００７１】
次に、接続テーブルについて説明する。図１０は、認識結果から作成した接続テーブルの例を示す図であって、先行単語に対し後続単語が接続可能（「○」で表わす）か接続不可能（「×」で表わす）かを表している。図１０の接続テーブルを参照すると、認識結果中に「ハリー」＋「ポスター」の並びは存在するが、「ハリー」＋「ボクサー」の並びは存在しないことが分かるため、検索文字列展開手段は「ハリー」＋「ボクサー」への展開を行わない。この結果、展開速度が向上し、また、無駄な検索を行わなくなるため検索速度も向上する。
【００７２】
次に、本実施例の効果について説明する。本実施例では、単語抽出手段２９によって認識結果に現れる単語のリストを抽出して単語候補記憶手段２８に記憶するため、検索文字列展開手段２５は、認識結果に必ず現れる単語のみを使用して検索文字列を単語または単語列に展開できる。このため、単語の展開および検索の両方の効率が良くなり、検索速度がより向上する。
【００７３】
次に、以上で説明した第１および第２の実施例に係る音声検索システムおよび音声検索用プログラムの実装について図面を参照して説明する。
【００７４】
図１１は、本発明の実施例に係る音声検索システムの構成を示すブロック図である。図１１において音声検索システムは、入出力部５１、データ処理部５２、記憶部５３を備える。記憶部５３には、プログラム記憶部５４、単語候補記憶部５５、音声データ記憶部５６、認識結果単語列記憶部５７が備えられる。
【００７５】
入出力部５１は、キーボード、音声入力装置、表示装置などから構成され、音声検索システムにおける各種データの入出力を司る。図１の検索文字列入力手段１４、または図９の検索文字列入力手段２４に相当する。また、入出力部５１は、図１の検索結果出力手段１７、または図９の検索文字列出力手段２７にも相当する。
【００７６】
記憶部５３は、音声検索用プログラムをプログラム記憶部５４に記憶しておく。また、図１または図９にそれぞれ示した音声データ記憶手段１１または２１、認識結果単語列記憶手段１３または２３、単語候補記憶手段１８または２８は、それぞれ記憶部５３内の音声データ記憶部５６、認識結果単語列記憶部５７、単語候補記憶部５５に相当し、データ処理部５２によって読み書きされる。
【００７７】
データ処理部５２は、音声検索プログラムの制御により、図１に示した連続単語認識手段１２、検索文字列入力手段１４、検索文字列展開手段１５、検索手段１６、検索結果出力手段１７、における処理を実行する。あるいは、データ処理部５２は、音声検索プログラムの制御により、図９に示した連続単語認識手段２２、検索文字列入力手段２４、検索文字列展開手段２５、検索手段２６、検索結果出力手段２７、単語抽出手段２９における処理を実行する。また、音声検索プログラムは、音声データ記憶部５６、認識結果単語列記憶部５７、単語候補記憶部５５を参照することによって、入力された検索文字列を検索対象となる音声データから検索するように動作する。
【産業上の利用可能性】
【００７８】
本発明は、放送音声や講演音声などの音声データベースから所望のコンテンツを検索する用途に適用できる。
【図面の簡単な説明】
【００７９】
【図１】本発明の第１の実施例に係る音声検索システムの構成を示すブロック図である。
【図２】本発明の第１の実施例に係る音声検索システムの動作を表すフローチャート図である。
【図３】検索文字列とある展開単語列との距離を求めるときの説明図である。
【図４】検索文字列と他の展開単語列との距離を求めるときの説明図である。
【図５】音素間混同行列の例を表す図である。
【図６】単語間のペナルティの例を表す図である。
【図７】検索文字列とさらに他の展開単語列との距離を求めるときの説明図である。
【図８】検索対象となる音声データの認識結果に対するインデックスの例を示す図である。
【図９】本発明の第２の実施例に係る音声検索システムの構成を示すブロック図である。
【図１０】認識結果から作成した接続テーブルの例を示す図である。
【図１１】本発明の実施例に係る音声検索システムの構成を示すブロック図である。
【図１２】従来の音声検索システムの構成を示すブロック図である。
【符号の説明】
【００８０】
１１、２１  音声データ記憶手段
１２、２２  連続単語認識手段
１３、２３  認識結果単語列記憶手段
１４、２４  検索文字列入力手段
１５、２５  検索文字列展開手段
１６、２６  検索手段
１７、２７  検索結果出力手段
１８、２８  単語候補記憶手段
２９  単語抽出手段
５１  入出力部
５２  データ処理部
５３  記憶部
５４  プログラム記憶部
５５  単語候補記憶部
５６  音声データ記憶部
５７  認識結果単語列記憶部
【図１】
2006031278.tif 000005
【図２】
2006031278.tif 000006
【図３】
2006031278.tif 000007
【図４】
2006031278.tif 000008
【図５】
2006031278.tif 000009
【図６】
2006031278.tif 000010
【図７】
2006031278.tif 000011
【図８】
2006031278.tif 000012
【図９】
2006031278.tif 000013
【図１０】
2006031278.tif 000014
【図１１】
2006031278.tif 000015
【図１２】
2006031278.tif 000016