(57)【特許請求の範囲】
【請求項１】
音声データから抽出したサブワードと当該サブワードの前記音声データ中の位置との関係を表す対応表であるサブワード−音声データ対応表を格納する手段と，
入力されたキーワードをサブワード列に変換したキーワード・サブワード列を生成する手段と，
前記サブワード−音声データ対応表から，前記キーワード・サブワード列の先頭にあるサブワードの音声データ中における位置を取得する手段と，
前記取得したサブワードの位置を開始位置とし，前記キーワード・サブワード列の長さによって決定される時間長を有する区間を候補区間として生成する候補区間生成手段と，
前記キーワードと，前記候補区間中の音声データあるいはサブワードとの類似度に基づいて，検索結果として出力する候補区間を選択する候補区間選択手段と，
前記選択された候補区間を検索結果として出力する手段と，
を有することを特徴とする音声データ検索システム。
【請求項２】
請求項１記載の音声データ検索システムにおいて，
音声データから音素，音節あるいは音素n-gram等のサブワードを抽出することにより前記音声データをサブワード列に変換し，前記抽出したサブワードの前記音声データ中の位置をもとに前記サブワード−音声データ対応表を作成する手段を有することを特徴とする音声データ検索システム。
【請求項３】
請求項１記載の音声データ検索システムにおいて，
サブワードの置換や挿入，脱落を登録した補正ルールを格納する手段と，
前記補正ルールに基づいて，前記キーワード・サブワード列中のサブワード毎に，置換可能なサブワードの候補を付加した補正後サブワード列を生成する手段と，
を有し，
前記候補区間生成手段は，前記補正後サブワード列における脱落，挿入，置換の全ての組み合わせを用いて，前記先頭のサブワードとなる可能性がある全てのサブワードについて前記サブワード−音声データ対応表から音声データ中の位置を取得し，取得した位置を前記候補区間の開始位置とすること，
を特徴とする音声データ検索システム。
【請求項４】
請求項１記載の音声データ検索システムにおいて，
前記候補区間選択手段は，前記キーワード・サブワード列中の各サブワードについて，サブワードを含む候補区間を選択し，選択された候補区間に割り当てられたカウント値の加算を行う手段と，
候補区間のカウント値に基づいて候補区間を順序付けし，その結果に基づいて出力する候補区間を選択する手段と，
を有することを特徴とする音声データ検索システム。
【請求項５】
請求項４記載の音声データ検索システムにおいて，
前記候補区間に割り当てられたカウント値の加算を行う手段は，
カウント値の加算を行った際に候補区間に含まれていると判定されたサブワードの位置を記録する領域を候補区間に用意し，新たにカウント値の加算を行う際には，候補区間に含まれていると判定されたサブワードの位置と候補区間に記録されている位置との比較を行い，候補区間に含まれていると判定されたサブワードの位置が記録されている位置より大きい場合は，小さい場合より大きな値をカウント値を加算すること，
を特徴とする音声データ検索システム。
【請求項６】
請求項５記載の音声データ検索システムにおいて，
新たにカウント値の加算を行う際に，該当するサブワードの位置が候補区間に記録されている位置からあらかじめ定められた範囲内に含まれている場合と，それ以外の場合において，カウント値に加算する値を変えること，
を特徴とする音声データ検索システム。
【請求項７】
請求項４記載の音声データ検索システムにおいて，
前記候補区間選択手段は，出力する候補区間を選択する際，前記キーワード・サブワード列の長さに基づいて決定される閾値以上のカウント値を有する候補区間を選択すること，
を特徴とする音声データ検索システム。
【請求項８】
請求項４記載の音声データ検索システムにおいて，
前記補正ルールに基づいて置換又は挿入されたサブワードによって加算されたカウント値と，それ以外のサブワードによって加算されたカウント値を別々に候補区間中に記録し，両者の割合，サブワード列長，カウント値の合計値のいずれか一つ以上に基づいて候補区間に順位付けを行うこと，
を特徴とする音声データ検索システム。
【請求項９】
請求項４記載の音声データ検索システムにおいて，
複数の音声データが存在する場合，それぞれの音声データから検索された候補区間のカウント値，候補区間の数のいずれか一つ以上に基づいて音声データの順序付けを行うこと，
を特徴とする音声データ検索システム。
【請求項１０】
請求項３記載の音声データ検索システムにおいて，
前記補正後サブワード列中における挿入，脱落，置換の可能な組み合わせを用いたサブワード列を組み合わせ毎に生成し，生成された個々のサブワード列について候補区間の生成及び選択を行い，その結果を統合することにより最終的な検索結果を決定すること，
を特徴とする音声データ検索システム。
【請求項１１】
請求項１０記載の音声データ検索システムにおいて，
前記補正後サブワード列中における挿入，脱落，置換の可能な組み合わせを用いて生成されたサブワード列毎の検索結果を統合する際，生成されたサブワード列に含まれる挿入，脱落，置換の数に基づいて候補区間に重み付けを行うことにより，全ての検索結果の順序を決定すること，
を特徴とする音声データ検索システム。
【請求項１２】
請求項１記載の音声データ検索システムにおいて，
前記候補区間選択手段は，前記キーワード・サブワード列と候補区間に含まれるサブワード列とを動的計画法等により比較し，その結果に基づいて出力する候補区間を選択すること，
を特徴とする音声データ検索システム。
【請求項１３】
請求項１記載の音声データ検索システムにおいて，
前記候補区間選択手段は，前記キーワードから生成した音響パラメータと，候補区間に該当する音声データ中の範囲から抽出した音響パラメータとをＨＭＭや動的計画法等により比較することにより出力する候補区間を選択すること，
を特徴とする音声データ検索システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，音声データ中から，ユーザが指定したキーワードが発話されている箇所を検索し，検索結果をユーザに提示する音声データ検索システムに関する。
【背景技術】
【０００２】
音声データ中からユーザが指定したキーワードが発話されている箇所を検索する技術としては，特開2002-221984号公報，特開2002-278579号公報及び特開2005-257954号公報の技術が提案されている。
【０００３】
特開2002-221984号公報では，音声データ及びキーワードをサブ音素系列に変換した後，動的計画法によるワードスポッティング技術により，キーワードから変換したサブ音素系列を音声データから変換したサブ音素系列中から探索する。特開2002-278579号公報では，音声データ及び検索語を音声シンボル列に変換した後，全文検索システムを用いて候補音声区間を検出し，さらに候補音声区間においてワードスポッティング音声認識を行うことにより，検索結果を決定する。特開2005-257954号公報では，音素の出現頻度の統計により決定される展開ルールに基づいて，キーワードから生成された音素列・音節列中の音素を置換した新たな音素列・音節列を生成し，それらと検索対象の音素列・音節列を照合することにより検索を行う。
【０００４】
また，より一般的なデータ系列の検索技術として特開2001-125903号公報の方法が提案されている。特開2001-125903号公報では，参照データ系列をデータ単位で分類することにより，類似しているデータ集合を作成しておく。クエリーのデータ系列が与えられた場合，クエリー中の各データに類似したデータ集合を選択し，選択されたデータ集合中の各データについて，参照データ系列の時間軸上の対応する位置に時間的な順序関係を考慮して投票を行うことによりヒストグラムを作成し，ヒストグラムが連続している区間を検索結果とする。
【０００５】
【特許文献１】特開2002-221984号公報
【特許文献２】特開2002-278579号公報
【特許文献３】特開2005-257954号公報
【特許文献４】特開2001-125903号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記の従来技術は，音声データやデータ系列から，ユーザが指定したキーワードやデータ系列に対応する箇所を高速かつ高精度に検索することを目的とした技術である。しかしながら，上記従来技術では，音声データやデータ系列が大規模になった場合，問題が生じる。
【０００７】
例えば特開2002-221984号公報の技術では，音声データ及びキーワードをサブ音素系列に変換した後，動的計画法を用いて検索を行っている。サブ音素系列は記号であるため，音声の音響パラメータに基づいた検索技術と比較すれば高速な検索は可能となるが，時間の伸縮も考慮した詳細な比較を行うため，検索対象とする音声データ量が大規模になると，その検索時間は無視できなくなる。
【０００８】
特開2002-278579号公報の技術では，テキスト検索に用いられる全文検索技術を用いることにより高速な候補の絞込みを実現している。しかし，全文検索技術を用いた場合，対象とする音声データ中に検索語を構成する音声シンボルが含まれているかどうかのみを判定基準とするため，例えば，音声データ中の音声シンボルの順序が異なっている場合でも候補として検索される場合が多い。また，検索対象とする音声データ(候補音声区間)の長さが長くなる程，検索語が実際に発話されている箇所以外に，検索語を構成する音声シンボルが出現する可能性が高くなり，余分な候補が検出される割合も高くなる。さらには，全文検索技術では，音声データ中の検索語の位置を詳細に判定することが困難になるため，その後に行うワードスポッティング処理に必要となる時間も無視できなくなる。このように，検索対象とする音声データ量が大規模になると，全文検索技術を用いた方式も検索時間の点で問題が生じる。
【０００９】
また，特開2001-125903号公報では，ヒストグラム生成においては高速な処理が期待できるが，連続区間を検出するためには，検索対象となるデータ系列上の時間軸を全て確認する必要があるため，検索対象とする音声データ量が大規模になった場合，やはり検索時間の点で問題が生じる。
【００１０】
一方，音声データをサブ音素列あるいは音声シンボル列，音素列，音節列等に変換するためには音声認識技術が用いられるが，一般的に，音声認識技術には認識誤りが発生するという問題がある。特開2002-221984号公報及び特開2005-257954号公報では，誤認識を想定した検索精度の向上が図られている。特開2002-221984号公報では，あらかじめサブ音素列間の距離を定義しておくことにより誤認識に対処しているが，代表的なサブ音素同士の距離を定義しているのみであるため，誤認識した場合には十分とは言えない。一方，特開2005-257954号公報では，統計的に求めた誤認識のしやすさをルール化し，検索語から生成した音声シンボル列中の音声シンボルを置換して生成した音声シンボル列を用いて検索を実行することにより，検索精度の向上を図っている。しかし，さまざまな置換により生成した音声シンボル列それぞれに対して検索を実行し，その結果を統合するため，生成した音声シンボル列の数に比例して検索時間が増大するため，生成できる音声シンボル列の数に制限が生じる。
【課題を解決するための手段】
【００１１】
以上の問題を解決し，大規模な音声データから，ユーザが指定したキーワードが発話されている音声データ中の箇所を高速かつ高精度に検索するため，本発明では，まず，音声認識技術を用いて音声データを音素，音節あるいは音素n-gram等のサブワード列に変換すると共に，各サブワードとサブワードの音声データ中の位置との対応関係をサブワード−音声データ対応表として記録しておく。
【００１２】
次に，ユーザがキーワードを指定した場合，キーワードからサブワード列を生成し，サブワード列の先頭にあるサブワードの音声データ中の位置をサブワード−音声データ対応表から取得する。取得した音声データ中の位置を開始時刻とし，キーワードから生成したサブワード列の長さに基づいて決定される時間を区間長とする区間を候補区間として生成する。生成された候補区間におけるサブワード列あるいは音響パラメータと，キーワードから生成したサブワード列あるいは音響パラメータを比較することにより，検索結果として出力する候補区間を決定する。
【００１３】
ここで，音声認識誤りである置換，脱落あるいは挿入を想定した補正ルールをあらかじめ用意しておき，補正ルールに基づいて，キーワードから生成したサブワード列中のサブワードに音声認識誤りを想定した補正を付加する。補正された結果，サブワード列の先頭になる可能性のある全てのサブワードについて候補区間を生成する。
【００１４】
また，検索結果として出力する候補区間を選択する際には，キーワードから生成したサブワード列中の各サブワードについて，サブワードを含む候補区間を検索し，検索された候補区間に割り当てられたカウント値の加算を行う。キーワードから生成したサブワード列中の全てのサブワードについて，該当する候補区間のカウント値の加算を行った後，カウント値に基づいて候補区間を順序付けし，その結果に基づいて検索結果として出力する候補区間を選択する。
【発明の効果】
【００１５】
本発明によると，キーワードから生成したサブワード列に基づいて候補区間をあらかじめ絞込むと共に，サブワードを含む候補区間のカウント値に加算を行うという単純な処理で候補区間に順序付けを行うことにより検索結果となる候補区間を選択するため，高速な音声データの検索を行うことが可能となる。また，キーワードから生成したサブワード列に対して，音声認識の誤認識を想定した補正を行った後，候補区間の生成を行うことにより，精度の良い音声データの検索を行うことが可能となる。
【発明を実施するための最良の形態】
【００１６】
以下，本発明の実施の形態について説明する。
【実施例１】
【００１７】
本発明の第一の実施例を図１〜図９により説明する。
【００１８】
図１は，本発明の第一の実施例による音声データ検索システムの構成例を示す概念ブロック図である。図１において，１０１は検索対象である音声データであり，録画されたＴＶ番組から抽出された音声や会議・講演等の録音音声をデータ化して作成されたものを想定する。音声データは，ＴＶ番組毎や講演毎にファイル化され，記録されているものとする。
【００１９】
１０２は，音声データを音素や音節，音素n-gram等のサブワードに変換するための音声認識部であり，音声を文字に変換するための技術として良く知られている音声認識技術を用いることができる。音声認識技術としては，目的とするサブワードを直接出力することが可能な技術も存在するが，文字を出力する技術を用いた場合は，さらに，形態素解析技術等のよく知られた自然言語処理技術を組み合わせることにより，容易にサブワードを得ることが可能である。さらに，本発明における音声認識部１０２では，音声データから得られたサブワードと音声データとの対応関係を表す情報を作成し，サブワード−音声データ対応表１０３に格納する。
【００２０】
１０４は，ユーザが入力したキーワードであり，このキーワードが発話されている箇所を音声データ１０１中から検索する。キーワードの形式としては，キーボードから入力された文字列，あるいはマイクから入力された音声のいずれかであるとする。サブワード列変換部１０５は，キーワード１０４をサブワード列に変換する。キーワードが文字列である場合は，よく知られた自然言語処理技術を用いることにより，サブワード列に容易に変換することができる。また，あらかじめキーワードが予測できる場合は，キーワードとサブワード列の対応表を用意しておき，それを検索することにより，容易にサブワード列を取得することが可能である。また，キーワードが音声である場合は，音声データ１０１をサブワードに変換した場合と同様に，よく知られた音声認識技術を用いることにより，容易にサブワード列に変換することができる。
【００２１】
図１において，候補区間生成部１０６は，キーワード１０４から得られたサブワード列及びサブワード−音声データ対応表の内容に基づいて，キーワード１０４が発話されている可能性があると予測される音声データ上の区間である候補区間を生成する。さらにサブワードカウント部１０７では，サブワード−音声データ対応表の内容に基づいて，キーワード１０４から得られたサブワード列中のサブワードがそれぞれの候補区間中に含まれている数をカウントする。候補区間選択部１０８では，サブワードカウント部１０７でのカウント結果に基づいて，候補区間に順位付けを行い，結果として出力する候補区間の選択を行う。結果出力部１０９では，候補区間選択部１０８で選択された候補区間の情報をモニタ１１０に表示すると共に，候補区間に対応した音声をスピーカ１１１に出力する。
【００２２】
図２は，図１に示した音声データ検索システムを一般的に使用される計算機上で実現した場合の構成図である。図２における２０１は，音声データの検索に必要な各種のプログラムを実行するための情報処理装置である。２０２は，図１におけるキーワード１０４を入力するための入力装置であり，キーワードが文字列の場合はキーボード，音声の場合はマイクを用いることができる。表示装置２０３は，検索結果を出力するための装置であり，図１におけるモニタ１１０やスピーカ１１１に対応する。図２において２０４は，音声データ検索に必要な各種のプログラムや処理の途中経過に関する情報を格納するための記憶装置である。２０５は図１における音声認識部１０２に対応する処理を行うための音声認識プログラム，２０６はサブワード列変換部１０５に対応する処理を行うためのサブワード列変換プログラム，２０７は候補区間生成部１０６に対応する処理を行うための候補区間生成プログラム，２０８はサブワードカウント部１０７に対応する処理を行うためのサブワードカウントプログラム，２０９は候補区間選択部１０８に対応する処理を行う候補区間選択プログラム，２１０は結果出力部１０９に対応する処理を行う結果出力プログラムである。さらに，音声データ２１１，サブワード−音声データ対応表２１２はそれぞれ，図１における１０１，１０３に対応する。
【００２３】
図３を用いて，サブワード−音声データ対応表１０３に格納される情報の形式について説明する。音声認識部１０２から出力される情報は，音声データ１０１中に格納されている各音声データを音声認識した結果得られるサブワード列であるが，各サブワードには，音声データ中の位置を表す情報，例えば，音声データの開始から計測した時間や，あらかじめ定められた時間長で音声データを区切った場合の何番目の区切りかを表す数値，等が付与されているものとする。各サブワードの音声データ中での位置は，よく知られた音声認識技術により容易に取得することが可能である。音声認識部１０２では，音声データから得られたサブワードの情報から，サブワードと音声データ上の位置との対応関係をサブワード−音声データ対応表１０３として図３の形式で格納する。
【００２４】
図３において，サブワード名３０１は対象となるサブワードの名称を表す文字列，登録数３０２は対象となるサブワードに対応する音声データ上の位置に関する情報の数，音声データ名３０３及び３０５は対象となるサブワードが認識された音声データの名称を表す文字列，３０４及び３０６は対象となるサブワードの音声データ上での開始位置を表す数値である。このサブワード−音声データ対応表により，各サブワードがどの音声データのどの位置で認識されているかを容易に見つけることができる。図３では，サブワードの開始位置のみを記録していたが，終了位置も記録するようにしても良い。
【００２５】
次に，図４から図７を用いて，候補区間生成部１０６の処理について説明する。図４は，ユーザが入力したキーワード「speech recognition」をサブワード列変換部１０５においてサブワード列に変換した様子を示している。ここでは，簡単のため，サブワードが音素の場合を示している。以下の説明でも，サブワードが音素であるとして説明を行うが，音節や音素n-gram等の場合においても，サブワードの表記が異なるのみであり，本質的な違いは無い。
【００２６】
図４において，４０１はユーザが入力したキーワードであり，４０２がキーワードから生成されたサブワード列である。キーワードからサブワード列への変換は，よく知られた自然言語処理技術を用いるか，あるいは，あらかじめキーワードとサブワード列の対応表を用意しておき，それを参照することにより行うことができる。
【００２７】
図５は，サブワード−音声データ対応表１０３の一例を示した図である。図５において，５０１はサブワード「s」，５０２はサブワード「p」，５０３はサブワード「I:」，５０４はサブワード「t∫」に関して登録されている情報の一部を示している。例えばサブワード「s」について見ると，登録数はＮｓ個であり，音声データＤ１の開始位置ｔ１，音声データＤ１の開始位置ｔ２，音声データＤ２の開始位置ｔ３，…にサブワード「s」で認識されていることが分かる。
【００２８】
図６に，候補区間生成部１０６における処理の流れ図を示す。候補区間生成部１０６では，まずステップ６０１において，ユーザが入力したキーワードをサブワード列に変換した結果から，先頭にあるサブワードを選択する。ユーザが入力したキーワードが図４に示すキーワードとする場合，サブワード「s」が選択されることになる。次にステップ６０２では，ステップ６０１で選択されたサブワードに関する情報をサブワード−音声データ対応表１０３から取得する。サブワード−音声データ対応表の内容が図５であるとすると，ここでは，サブワード「s」に対応する情報である５０１の内容が取得されることになる。ステップ６０３では，ステップ６０２で取得された情報に含まれる全ての位置情報について，以下の処理が行われたかどうかの判定を行う。全ての位置情報についての処理が完了している場合は，候補区間生成部の処理を終了する。そうでない場合は，ステップ６０４に進む。
【００２９】
ステップ６０４では，ステップ６０２で取得した情報から，サブワードの位置情報を一つ選択する。サブワード−音声データ対応表１０３の形式が図３に示す形式である場合，位置情報として音声データ名と開始位置の組が選択されることになる。ステップ６０５では，選択された位置情報を候補区間の開始位置とし，そこからあらかじめ定められた長さの位置を候補区間の終了位置とする。ここで，終了位置の決定方法としては，開始位置をＴ１，ユーザが入力したキーワードから生成されたサブワード列中のサブワード数をＮ，サブワードの平均時間長をＬ，終了位置をＴ２として，
Ｔ２＝Ｔ１＋Ｎ×Ｌ
により決定することができる。サブワードの平均時間長は，あらかじめいくつかのサンプル音声データを用意し，それらの認識結果からサブワードの時間長を集計することにより容易に求めることが可能である。また，サブワード数で決定するだけでなく，例えば，音声の長さの単位であるモーラを用いて，キーワードのモーラ数と１モーラの平均時間長の積により，候補区間の時間長を求めることもできる。モーラ数は，サブワードとモーラの関係をルールとして用意しておくことにより，サブワード列より容易に求めることが可能である。最後にステップ６０６では，ステップ６０５により決定された候補区間に関する情報を登録し，ステップ６０３に戻る。
【００３０】
以上の処理により登録される候補区間の情報は，図７に示すような形式で格納される。図７において，区間番号７０１は候補区間に付与された番号であり，登録された順につけられる通し番号である。区間番号は，各候補区間を識別するための記号や数値であれば何でも良い。音声データ名７０２は候補区間が含まれる音声データの名称であり，サブワード−音声データ対応表１０３から取得された情報がそのまま登録される。開始位置７０３は候補区間の開始位置であり，これもサブワード−音声データ対応表１０３から取得された情報がそのまま登録されている。終了位置７０４は図６のステップ６０５で決定された候補区間の終了位置である。カウント値７０５は，サブワードの数をカウントするための領域であり，初期値として０が代入される。図５の５０１中には３つの位置情報が示されているため，図７では，それぞれの位置情報に対応する候補区間７０６，７０７及び７０８が登録されている。また，候補区間７０６，７０７及び７０８において，終了位置は，
ｔ１’＝ｔ１＋Ｎ×Ｌ
ｔ２’＝ｔ２＋Ｎ×Ｌ
ｔ３’＝ｔ３＋Ｎ×Ｌ
となる。ここで，上述と同様に，Ｎはキーワードから生成されたサブワード列中のサブワード数，Ｌはサブワードの平均時間長である。
【００３１】
次に，図８及び図９を用いて，図１におけるサブワードカウント部１０７の処理について説明する。ここで，音声データＤ１に関するサブワードの情報に注目し，図５におけるｔ１，ｔ２，ｔ４，ｔ７，ｔ８，ｔ９及び図７におけるｔ１’，ｔ２’の時間的な関係が図８に示すような関係であるとする。この場合，対象となる候補区間は，図７における７０６及び７０７のみである。図８において，８０１は図７における区間番号１，８０２は区間番号２で示される候補区間に対応する。サブワードカウント部１０７では，キーワードから生成されたサブワード列中のサブワードについて，順に，サブワードが候補区間に含まれるかどうかをチェックし，含まれている場合はカウント値に１を加算するという処理を繰り返す。
【００３２】
図４に示すサブワード列の「s p I: t∫」の部分について，この処理が行われた際のカウント値の変化を図９に示す。図９(a)は，処理を開始する前の状態であり，９０１及び９０２は図７における７０６及び７０７と同様に，カウント値が０の状態である。図９(b)はサブワード「s」について処理が行われた状態を示している。サブワード「s」は，いずれの候補区間にも含まれているため，処理が行われた後のカウント値は，９０３及び９０４に示すように，いずれも１になっている。図９(c)はサブワード「p」について処理が行われた状態を示している。サブワード「p」は，区間番号２の候補区間にのみ含まれるため，９０５のカウント値は１のままであり，９０６のカウント値のみ２に増加している。さらに，サブワード「I:」も区間番号２の候補区間のみに含まれるため，図９(d)に示すように，９０７のカウント値は１のまま，９０８のカウント値は３となる。サブワード「t∫」は，いずれの候補区間にも含まれるため，それぞれのカウント値に１が加算され，図９(e)に示すように，９０９のカウント値は２，９１０のカウント値は４となる。
【００３３】
以上の処理では，対象となっているサブワードが候補区間に含まれているかどうかによって，候補区間のカウント値に１を加算するかどうかを決定していたが，対象となっているサブワードの候補区間中における位置に基づいて，加算する値を変更しても良い。例えば，対象となっているサブワードのキーワードから生成されたサブワード列中における順序をＭ，サブワードの平均時間長をＬとした場合，候補区間の（Ｍ×Ｌ）から（Ｍ×（Ｌ＋１））の範囲内に対象となっているサブワードが含まれている場合はカウント値に１を加算し，それ以外の場合は０．５をカウント値に加算するというような処理を行うことができる。カウント値を整数のみとしたい場合は，例えば，対象となっているサブワードが上記の範囲内に含まれている場合はカウント値に２を加算し，それ以外の場合は１を加算するというようにすれば良い。
【００３４】
候補区間選択部１０８では，候補区間のカウント値に基づいて，候補区間の順位付けを行い，結果として出力する候補区間の選択を行う。順位付けの方法としては，候補区間のカウント値が大きいものから順に候補区間を並べることにより行うことができる。また，使用する音声認識技術により，認識されたサブワードの評価値を取得することができる場合，カウント値と評価値の積等を候補区間の評価値として用いて順位付けを行っても良い。さらに，選択される候補区間の数が多い場合，カウント値や評価値に閾値を設け，閾値より大きいもののみを選択するようにしても良い。カウント値の閾値としては，キーワードを変換して得られるサブワード列におけるサブワード数にあらかじめ定められた係数を乗じた値等を使用することができる。例えば，サブワード数×０．８というような式により，閾値を決定すれば良い。さらに，選択された候補区間に基づいて，音声データに順位付けを行うこともできる。この方法としては，例えば，音声データ毎に候補区間の数を集計し，候補区間の数が多い順に音声データを並べることにより行うことができる。また，音声データ毎のカウント値や評価値の和，音声データ毎の平均のカウント値や評価値，候補区間の数と平均のカウント値や評価値との積や，候補区間の数と平均のカウント値や評価値の加重和，等を用いて順位付けを行うことも可能である。
【００３５】
結果出力部１０９では，候補区間選択部１０８で選択された候補区間や音声データをモニタ１１０やスピーカ１１１に出力する。
【００３６】
候補区間の順位付けを行う方法としては，上記の他，候補区間中に含まれるサブワード列を抽出し，キーワードから生成したサブワード列と抽出したサブワード列を動的計画法等の良く知られた技術を用いて比較し，サブワード列間の類似度を求めることにより行うことができる。この際，候補区間中に含まれるサブワードを高速に抽出するため，音声データを音声認識した結果得られるサブワード列を格納しておくようにしても良い。さらに，音声データを音声認識した際に用いる音響パラメータを格納するようにすれば，候補区間中に含まれる音響パラメータとキーワードから生成した音響パラメータを動的計画法やＨＭＭ等の良く知られた技術を用いることにより比較し，候補区間の順位付けを行うこともできる。キーワードから音響パラメータへの変換は，サブワードごとに典型的な音響パラメータを用意し，それらを結合することにより，容易に行うことができる。なお，動的計画法やＨＭＭについては，例えば，Chin-Hui. Lee, Frank K. Soong and Kuldip K. Paliwal編「Automatic Speech & Speaker Recognition」Kluwer Academic Publishers（1996）のChapter 16「Dynamic Programming」(pp.385-411)及びChapter 7「HMM(Hidden Markov Model」(pp.159-184)に説明されている。
【実施例２】
【００３７】
図１０から図１４を用いて，本発明の第二の実施例を説明する。
【００３８】
図１０は，本発明における第二の実施例による音声データ検索システムの構成例を示す概念ブロック図である。図１０では，図１に加えて，サブワード列補正部１００１及び補正ルール１００２が追加された形となっている。図１１は，本発明による第二の実施例による音声データ検索システムを一般的に使用される計算機上で実現した場合の構成図である。図１１では，サブワード列補正部１００１に対応する処理を実行するサブワード列補正プログラム１１０１及び補正ルール１００２に対応する情報が，図２に追加されている。
【００３９】
図１０におけるサブワード列補正部１００１は，ユーザが入力したキーワードから生成されたサブワード列に対して，さらに，音声認識において誤認識が生じた場合に予測されるサブワードを補正ルール１００２の内容に基づいて補正する処理を行う。サブワードの補正は，特開２００５−２５７９５４号公報にあるように，あらかじめいくつかのサンプルとなる音声データに対して音声認識を実行し，その結果に基づいて，各サブワードがどのようなサブワードに誤認識されやすいかをその頻度や前後のサブワードのつながり方等と共に取得し，それらを補正ルールとして用いることにより，容易に実現することができる。
【００４０】
図１２に，補正されたサブワード列の例を示す。図１２において，１２０１はキーワードから生成されたサブワード列，１２０２及び１２０３の行に記載されているサブワードが補正されたサブワードを示す。ここで，１２０２及び１２０３の内容は，例えばサブワード列「s p I: t∫」が「z k I: t∫」になるという意味ではなく，各サブワードについて，誤認識される可能性があるサブワードを示している。すなわち，「s」は「z」及び「-」，「p」は「k」に誤認識される可能性が高いということを意味している。なお「-」は，該当するサブワードが認識されない(脱落する)ことを示している。
【００４１】
候補区間生成部１００３では，補正されたサブワード列を用いて，候補区間の生成を行う。第一の実施例との違いは，まず，図６におけるステップ６０１において，補正されたサブワード列から，先頭になる可能性のあるサブワードを全て選択することである。補正されたサブワード列が図１２に示すサブワード列であるとすると，先頭になる可能性があるサブワードは，認識されないサブワードも考慮して，「s」，「z」，「p」及び「k」となる。ステップ６０２では，これら選択されたサブワード全てに関する位置情報をサブワード−音声データ対応表１０３から取得する。取得した位置情報全てについて，ステップ６０４からステップ６０６を実行する。サブワード−音声データ対応表１０３の内容が図５であるとすると，サブワード「s」及び「p」に関する情報より，図１３に示すような候補区間が生成されることになる。図７に示す候補区間と比較すると，サブワード「p」に関する候補区間１３０１，１３０２及び１３０３が追加されている。
【００４２】
サブワードカウント部１００４では，補正したサブワード列中の全てのサブワードそれぞれについて，サブワードが候補区間中に存在するかどうかを判定し，サブワードが候補区間中に存在した場合，候補区間のカウント値に１を加算する。
【００４３】
候補区間選択部１００５では，第一の実施例と同様に，候補区間のカウント値に基づいて候補区間の順位付けを行うと共に，音声データの順位付けを行い，結果として出力する候補区間の選択を行う。
【００４４】
また，候補区間のカウント値としては，キーワードから生成されたサブワードのみによるカウント値と，補正により追加されたサブワードによるカウント値を別々に計算し，その比率を候補区間や音声データの順位付けに利用するようにしても良い。このためには，候補区間の情報を格納する形式において，カウント値を図１４における１４０１及び１４０２に示すように２つ用意し，例えば，１４０１にはキーワードから生成されたサブワードのカウント値を，１４０２には補正により追加されたサブワードによるカウント値をそれぞれ記録するようにすれば良い。また，候補区間の順位付けにおいては，例えば，キーワードから生成されたサブワードのカウント値で順位付けをした後，キーワードから生成されたサブワードのカウント値が同じ候補区間については，補正により追加されたサブワードによるカウント値でさらに順位付けを行うという方法が考えられる。また，キーワードから生成されたサブワードのカウント値と補正により追加されたサブワードによるカウント値の加重和や加重平均等，両者の値から計算された値を候補区間の評価値として順位付けするという方法でも良い。
【００４５】
さらに，候補区間のカウント値としては１種類のみとし，キーワードから生成されたサブワードのみによってカウント値に加算される値と，補正により追加されたサブワードによってカウント値に加算される値を異なる値とすることもできる。例えば，キーワードから生成されたサブワードが候補区間に含まれる場合はカウント値に２を加算し，補正により追加されたサブワードが候補区間に含まれる場合はカウント値に１を加算するようにすれば良い。また，補正ルールとして，特開２００５−２５７９５４号公報のような技術を用いた場合，音声認識結果中のサブワードの頻度を集計することにより，あるサブワードがどのサブワードにどの程度誤認識されやすいかを表す指標を得ることが可能となる。補正ルールにこのような指標を格納しておくことにより，補正により追加されたサブワードが候補区間に含まれる場合にカウント値に加算する値をさらに詳細に指定することが可能となる。すなわち，高い割合で誤認識されやすいサブワードが候補区間に存在した場合はカウント値に１．５を，中程度の割合で誤認識されやすいサブワードの場合はカウント値に１．０を，誤認識される割合が低いサブワードの場合はカウント値に０．５を加算する，というような処理を行えば良い。
【００４６】
補正したサブワードの利用方法としては，さらに，補正したサブワードも含めた全ての可能なサブワードの組み合わせによるサブワード列をあらかじめ全て求め，それぞれのサブワード列について，検索結果となる候補区間を求めた後，全てのサブワード列に対する候補区間を結合することにより，最終的に検索結果として出力する候補区間を求めるようにしても良い。この際，サブワード列に含まれる補正により付加されたサブワードの数に基づいて候補区間のカウント値や評価値に重み付けを行うことにより，全ての候補区間の順位付けを行うようにすれば良い。
【実施例３】
【００４７】
図１５及び図１６を用いて，本発明の第三の実施例を説明する。第一及び第二の実施例では，候補区間のカウント値は該当するサブワードが候補区間に含まれている場合に加算するという処理を行っていたため，サブワードの順序が異なっている候補区間も結果として選択されるという可能性がある。
【００４８】
そこで，第三の実施例では，候補区間の情報を格納する形式を図１５に示すような形式とする。図１５において，図７との差異は，サブワードの開始位置を格納する領域１５０１である。サブワードの開始位置を格納する領域には，直前に行われたカウント値を加算する処理において，候補区間に含まれていると判定されたサブワードの開始位置を代入する。また，カウント値の加算においては，候補区間に含まれていると判定されたサブワードの開始位置をＰ１，サブワードの開始位置１５０１に格納されている値をＰ２とした場合，Ｐ１とＰ２を比較し，比較結果に基づいてカウント値に加算する値を変更する。例えば，Ｐ１がＰ２より大きければカウント値に１を加算し，Ｐ１がＰ２より小さければカウント値に加算を行わないというような処理を行う，あるいは，Ｐ１がＰ２より大きければカウント値に１を加算し，Ｐ１がＰ２より小さければカウント値に０．５を加算するというような処理や，Ｐ１がＰ２からあらかじめ定められた時間内にある場合はカウント値に１を加算し，そうでない場合はカウント値に０．５を加算するというような処理を行うこともできる。さらには，それらの組み合わせによりカウント値を決定する方法や，Ｐ１とＰ２との関係に基づいて，カウント値を連続的に変更することもできる。
【００４９】
図１５に示す形式を用いたサブワードカウント部１０７及び１００４の処理を図１６により説明する。簡単のため，以下の説明ではサブワード列として「s p I: t∫」のみを想定し，補正により付加されたサブワードは考慮しないものとするが，補正により付加されたサブワードを含む場合も同様である。図１６(a)は，処理を開始する前の状態であり，サブワード「s」に関する位置情報を図５に示すサブワード−音声データ対応表から取得した結果得られた２つの候補区間が示されている。ここで，サブワードの開始位置の領域１６０１及び１６０２には空白を表す「-」が代入されている。図１６(b)は，サブワード「s」に関する処理が行われた後の状態であり，サブワードの開始位置の領域１６０３及び１６０４は，それぞれの候補区間におけるサブワード「s」の開始位置ｔ１及びｔ２がそれぞれ代入される。
【００５０】
さらに図１６(c)は，サブワード「p」に関する処理が行われた後の状態を示している。この場合，まず，サブワード「p」は区間番号２の候補区間にのみ含まれているため，区間番号２の候補区間についてのみ処理が行われる。さらに，サブワード「p」の開始位置ｔ４は，図８より，候補区間に格納されているサブワードの開始位置ｔ２より大きいため，区間番号２の候補区間のカウント値には１が加算され，カウント値は２となる。また，サブワードの開始位置には，サブワード「p」の開始位置が代入されるため，結果として区間番号１の候補区間におけるサブワードの開始位置は１６０５に示すようにｔ１のままとなり，区間番号２の候補区間については１６０６に示すようにサブワード「p」の開始位置であるｔ４に変更される。図１６(d)は，サブワード「I:」に関する処理が行われた後の状態を示している。この場合もサブワード「p」の場合と同様に，区間番号２の候補区間についてのみ処理が行われるため，結果として，区間番号１の候補区間におけるサブワードの開始位置は１６０７に示すようにｔ１のままとなり，区間番号２の候補区間については１６０８に示すようにサブワード「I:」の開始位置であるｔ７に変更される。図１６(e)は，サブワード「t∫」に関する処理が行われた後の状態である。サブワード「t∫」は，図８に示すように，区間番号１及び２の候補区間に含まれるため，両方の候補区間について処理が行われ，それぞれの候補区間におけるサブワードの開始位置は１６０９及び１６１０に示すように，ｔ８及びｔ９となる。
【００５１】
図１５に示す候補区間に関する情報の形式では，直前の処理におけるサブワードの開始位置のみを記録するようにしていたが，全ての処理におけるサブワードの開始位置を記録するようにしても良い。この情報を使用すれば，カウント値への加算を行う際に，候補区間中のサブワードの順序関係を確認することが可能となり，キーワードから生成されたサブワード列と同じ順序のサブワードを含む候補区間のみを選択することが容易に実現できる。
【実施例４】
【００５２】
図１７を用いて，本発明の第四の実施例を説明する。上記の実施例では，単独の計算機上において音声データ検索システムを実現するための実施例を示していた。図１７に示す実施例は，ネットワーク上に分散配置された音声データを同じくネットワーク上に配置された音声データ検索システムにより検索を実行するための構成を示している。
【００５３】
図１７において，１７０１，１７０２及び１７０３は，ネットワーク上でさまざまなサービスを提供するサーバ機能を有する計算機システムである。１７０４はネットワークであり，サーバはこのネットワークを介して接続される。１７０５は，図１及び図１０に示す概念ブロック図あるいは，図２及び図１１に示す構成図で示される音声データ検索システムである。ただし１７０５では，キーワードの取得，及び検索結果の出力をネットワークを介して行うための通信部が追加された形となる。また図１７では，サブワード−音声データ対応表は１７０６として分割して記載されており，音声データも，音声データ検索システム１７０５と同じサーバ上に格納されている音声データ１７０７，あるいは，別のサーバ上に格納されている音声データ１７０８及び１７０９として，別途記載されている。図１７において１７１０は，ユーザからのキーワード入力を行い，ネットワークを介して音声データ検索システム１７０５にキーワードを送信すると共に，検索結果をネットワークを介して取得し，ユーザに提示する機能を有するクライアント端末である。
【００５４】
図１７において音声データ検索システムは，あらかじめネットワークを介してアクセス可能な音声データ１７０７，１７０８及び１７０９に対して音声認識を実行し，その結果を用いてサブワード−音声データ対応表１７０６を作成しておく。これにより，音声データ１７０７，１７０８及び１７０９を対象とした検索を容易に実現することができる。アクセス可能な音声データが追加された場合は，追加された音声データについてのみ音声認識を実行し，その結果から，サブワード毎に位置情報を抽出し，サブワード−音声データ対応表に情報を追加すればよい。図３に示す形式のサブワード−音声データ対応表では，各サブワードに対して位置情報が順に並んだ形式であるため，新たに得られた位置情報を該当するサブワードの情報の最後に追加するのみで，容易に追加された音声データにも対応したサブワード−音声データ対応表を構築することが可能である。
【産業上の利用可能性】
【００５５】
本発明は，ハードディスク・レコーダにおいて，その中に記録された音声を含む大量の動画コンテンツから，ユーザが指定したキーワードを含むコンテンツを検索する機能を実現する技術として利用することができる。また，インターネット上に存在する大量の音声コンテンツ，動画コンテンツからユーザが指定したキーワードを含むコンテンツを検索するサービスを実現する技術として利用することができる。
【図面の簡単な説明】
【００５６】
【図１】本発明を適用した第一の実施例における音声データ検索システムの構成例を示す概念ブロック図である。
【図２】本発明を適用した第一の実施例における音声データ検索システムを計算機上で実現した場合の構成図である。
【図３】サブワード−音声データ対応表に格納される情報の形式を表す図である。
【図４】キーワードからサブワード列への変換結果の一例を示す図である。
【図５】サブワード−音声データ対応表に格納されている情報の一例を示す図である。
【図６】候補区間を生成する処理の流れを示す図である。
【図７】生成された候補区間の内容の一例を示す図である。
【図８】生成された候補区間とその中に含まれるサブワードの時間的な位置関係の一例を示す図である。
【図９】処理の進行に伴って候補区間のカウント値が変化する様子を示す図である。
【図１０】本発明を適用した第二の実施例における音声データ検索システムの構成例を示す概念ブロック図である。
【図１１】本発明を適用した第二の実施例における音声データ検索システムを計算機上で実現した場合の構成図である。
【図１２】サブワード列に補正を行った後の状態の一例を示す図である。
【図１３】サブワード列に補正を行った場合に生成される候補区間の内容の一例を示す図である。
【図１４】候補区間に２種類のカウント値を格納する領域を設けた場合の候補区間の内容の一例を示す図である。
【図１５】候補区間に直前の処理におけるサブワードの開始位置を格納する領域を設けた場合の候補区間の内容の一例を示す図である。
【図１６】カウント値の加算に伴うサブワードの開始位置に格納される値の変化の一例を示す図である。
【図１７】本発明を適用した第四の実施例における音声データ検索システムの構成例を示す図である。
【符号の説明】
【００５７】
１０１  音声データ
１０２  音声認識部
１０３  サブワード−音声データ対応表
１０４  キーワード
１０５  サブワード列変換部
１０６  候補区間生成部
１０７  サブワードカウント部
１０８  候補区間選択部
１０９  結果出力部
１１０  モニタ
１１１  スピーカ
１００１  サブワード列補正部
１００２  補正ルール
【図１】
0004887264.tif 000002
【図２】
0004887264.tif 000003
【図３】
0004887264.tif 000004
【図４】
0004887264.tif 000005
【図５】
0004887264.tif 000006
【図６】
0004887264.tif 000007
【図７】
0004887264.tif 000008
【図８】
0004887264.tif 000009
【図９】
0004887264.tif 000010
【図１０】
0004887264.tif 000011
【図１１】
0004887264.tif 000012
【図１２】
0004887264.tif 000013
【図１３】
0004887264.tif 000014
【図１４】
0004887264.tif 000015
【図１５】
0004887264.tif 000016
【図１６】
0004887264.tif 000017
【図１７】
0004887264.tif 000018