(57)【特許請求の範囲】
【請求項１】
言語の音声表現に用いられる音素の集合のうち、互いに言語音が類似している音素をそれぞれ含む少なくとも一つの部分集合を登録する音素テーブルと、
指定されたキーワードに含まれる音素の配列を取得する取得部と、
前記キーワードに含まれる個々の音素を、当該音素を含む部分集合中の他の音素で置き換えることにより、音素の配列が異なる少なくとも一つの派生キーワードを生成する生成部と、
前記キーワードおよび前記派生キーワードのそれぞれを検索キーワードとして、各検索キーワードについて、音声データから、当該検索キーワードを表す音声に類似する類似音声を記録している箇所を、類似箇所として検索し、前記音声データにおいて前記類似箇所が現れる時刻を示す時刻情報を、検索結果に付加する検索部と、
前記各検索結果に含まれる前記時刻情報に基づいて、前記音声データにおいて時間的に重複する前記類似箇所を１つの検索結果として統合する統合部とを有し、
前記統合部は、
前記各検索結果を類似箇所の開始時刻が早い順に注目し、注目の検索結果の類似箇所の開始時刻および終了時刻に基づく所定の条件を満たす他の検索結果を検出して、注目の検索結果と検出した他の検索結果とをグループ化し、グループ内の検索結果の中で最も確信度が高いものを、グループを代表する検索結果として特定することで、グループ内の検索結果を統合するグループ化部を有する
ことを特徴とする音声データ検索装置。
【請求項２】
請求項１に記載の音声データ検索装置において、
前記グループ化部は、前記所定の条件として、他の検索結果の類似箇所の開始時刻が注目の検索結果の類似箇所の開始時刻を先頭とする所定の時間の範囲に含まれ、かつ、他の検索結果の類似箇所の終了時刻が注目の検索結果の類似箇所の終了時刻を中心とする所定の時間の範囲に含まれるとの条件を設定する
ことを特徴とする音声データ検索装置。
【請求項３】
請求項１又は請求項２に記載の音声データ検索装置において、
前記類似箇所に記録された音声について、前記音声で表される言葉の表記を訂正するために入力される訂正情報に基づいて、前記音素テーブルを更新する更新部を有し、
前記更新部は、
前記訂正情報に含まれる音素の配列と前記キーワードを示す音素の配列とを比較することにより、２つの音素の配列中で互いに異なる音素を音素対として抽出する抽出部と、
前記抽出部によって抽出された前記音素対を含む新たな部分集合を前記音素テーブルに追加する追加部とを有する
ことを特徴とする音声データ検索装置。
【請求項４】
コンピュータが、
言語の音声表現に用いられる音素の集合のうち、互いに言語音が類似している音素をそれぞれ含む少なくとも一つの部分集合を登録する音素テーブルを有しており、
指定されたキーワードに含まれる音素の配列を取得する取得工程と、
前記キーワードに含まれる個々の音素を、当該音素を含む部分集合中の他の音素で置き換えることにより、音素の配列が異なる少なくとも一つの派生キーワードを生成する生成工程と、
前記キーワードおよび前記派生キーワードのそれぞれを検索キーワードとして、各検索キーワードについて、音声データから、当該検索キーワードを表す音声に類似する類似音声を記録している箇所を、類似箇所として検索し、前記音声データにおいて前記類似箇所が現れる時刻を示す時刻情報を、検索結果に付加する検索工程と、
前記各検索結果に含まれる前記時刻情報に基づいて、前記音声データにおいて時間的に重複する前記類似箇所を１つの検索結果として統合する統合工程とを含む処理を実行し、
前記統合工程は、
前記各検索結果を類似箇所の開始時刻が早い順に注目し、注目の検索結果の類似箇所の開始時刻および終了時刻に基づく所定の条件を満たす他の検索結果を検出して、注目の検索結果と検出した他の検索結果とをグループ化し、グループ内の検索結果の中で最も確信度が高いものを、グループを代表する検索結果として特定することで、グループ内の検索結果を統合するグループ化工程を含む
ことを特徴とする音声データ検索方法。
【請求項５】
言語の音声表現に用いられる音素の集合のうち、互いに言語音が類似している音素をそれぞれ含む少なくとも一つの部分集合を登録する音素テーブルを有するコンピュータに、
指定されたキーワードに含まれる音素の配列を取得する取得工程と、
前記キーワードに含まれる個々の音素を、当該音素を含む部分集合中の他の音素で置き換えることにより、音素の配列が異なる少なくとも一つの派生キーワードを生成する生成工程と、
前記キーワードおよび前記派生キーワードのそれぞれを検索キーワードとして、各検索キーワードについて、音声データから、当該検索キーワードを表す音声に類似する類似音声を記録している箇所を、類似箇所として検索し、前記音声データにおいて前記類似箇所が現れる時刻を示す時刻情報を、検索結果に付加する検索工程と、
前記各検索結果に含まれる前記時刻情報に基づいて、前記音声データにおいて時間的に重複する前記類似箇所を１つの検索結果として統合する統合工程とを含む処理を実行させ、
前記統合工程は、
前記各検索結果を類似箇所の開始時刻が早い順に注目し、注目の検索結果の類似箇所の開始時刻および終了時刻に基づく所定の条件を満たす他の検索結果を検出して、注目の検索結果と検出した他の検索結果とをグループ化し、グループ内の検索結果の中で最も確信度が高いものを、グループを代表する検索結果として特定することで、グループ内の検索結果を統合するグループ化工程を含む
ことを特徴とする音声データ検索プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本件開示は、蓄積された音声データからキーワードが発音されている部分を検索する音声データ検索装置、音声データ検索方法および音声データ検索プログラムに関する。
【背景技術】
【０００２】
録音され、蓄積された音声データから、所望のキーワードが発音された箇所を検索する技術として、例えば、蓄積された音声データに対して音声認識を行い、得られたテキスト情報に対してキーワード検索を行う技術が提案されている(特許文献１参照)。また、蓄積された音声データから、発音されたキーワードを表す音声データに類似した部分を検出することによって、蓄積された音声データの中で所望のキーワードが発音された箇所を検索する技術も提案されている(特許文献２参照)。
【０００３】
これらの従来技術は、例えば、テレビジョン放送などを録画した際に得られる音声データを蓄積した音声データベースの検索やコールセンターにおける電話のやり取りを録音して得られる音声データを蓄積した音声データベースからの検索に用いられる場合が多い。
【０００４】
上述した従来技術は、音声データベースに蓄積された音声データが、雑音の少ない環境において標準的な発音で発声された音声を記録したものである場合に、所望のキーワードが発音された箇所を高い精度で検索することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平８−２４９３４３号公報
【特許文献２】特開２００９−０５８５４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、ポータブルビデオレコーダなどの撮影装置やＩＣ(Integrated Circuit)レコーダなどの小型録音装置の普及に伴って、小規模な事業者や団体あるいは個人を含む多様な利用者が、それぞれの用途のために音声を録音する機会が増大している。このような多様な利用者が音声を録音する環境は様々であり、また、録音対象の音声を発声する話者の特徴も様々である。例えば、屋外で音声を録音する場合には、話者の音声の他に風の音などが雑音として混入する場合がある。また、個々の話者は、例えば、訛りや話し方の癖など、それぞれ発音の特徴を持っている場合がある。つまり、上述したような多様な利用者の手元に蓄積されている音声データは、従来技術において想定されている標準的な特徴を持つ音声データではない場合が多々ある。
【０００７】
このため、例えば、個人がポータブルビデオレコーダなどで撮影したビデオに含まれる音声データについて、上述した従来技術による検索を行った場合に、所望のキーワードを発音した音声が記録されている箇所の一部を検索できない場合があった。
【０００８】
本件開示の装置は、蓄積された音声データからキーワードを発音した音声が記録された箇所を漏れなく検索することが可能な音声データ検索装置、音声データ検索方法および音声データ検索プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
一つの観点による音声データ検索装置は、言語の音声表現に用いられる音素の集合のうち、互いに言語音が類似している音素をそれぞれ含む少なくとも一つの部分集合を登録する音素テーブルと、指定されたキーワードに含まれる音素の配列を取得する取得部と、前記キーワードに含まれる個々の音素を、当該音素を含む部分集合中の他の音素で置き換えることにより、音素の配列が異なる少なくとも一つの派生キーワードを生成する生成部と、前記キーワードおよび前記派生キーワードのそれぞれを検索キーワードとして、各検索キーワードについて、音声データから、当該検索キーワードを表す音声に類似する類似音声を記録している箇所を、類似箇所として検索し、前記音声データにおいて前記類似箇所が現れる時刻を示す時刻情報を、検索結果に付加する検索部と、前記各検索結果に含まれる前記時刻情報に基づいて、前記音声データにおいて時間的に重複する前記類似箇所を１つの検索結果として統合する統合部とを有し、前記統合部は、前記各検索結果を類似箇所の開始時刻が早い順に注目し、注目の検索結果の類似箇所の開始時刻および終了時刻に基づく所定の条件を満たす他の検索結果を検出して、注目の検索結果と検出した他の検索結果とをグループ化し、グループ内の検索結果の中で最も確信度が高いものを、グループを代表する検索結果として特定することで、グループ内の検索結果を統合するグループ化部を有する。
【００１０】
また、別の観点による音声データ検索方法は、コンピュータが、言語の音声表現に用いられる音素の集合のうち、互いに言語音が類似している音素をそれぞれ含む少なくとも一つの部分集合を登録する音素テーブルを有しており、指定されたキーワードに含まれる音素の配列を取得する取得工程と、前記キーワードに含まれる個々の音素を、当該音素を含む部分集合中の他の音素で置き換えることにより、音素の配列が異なる少なくとも一つの派生キーワードを生成する生成工程と、前記キーワードおよび前記派生キーワードのそれぞれを検索キーワードとして、各検索キーワードについて、音声データから、当該検索キーワードを表す音声に類似する類似音声を記録している箇所を、類似箇所として検索し、前記音声データにおいて前記類似箇所が現れる時刻を示す時刻情報を、検索結果に付加する検索工程と、前記各検索結果に含まれる前記時刻情報に基づいて、前記音声データにおいて時間的に重複する前記類似箇所を１つの検索結果として統合する統合工程とを含む処理を実行し、前記統合工程は、前記各検索結果を類似箇所の開始時刻が早い順に注目し、注目の検索結果の類似箇所の開始時刻および終了時刻に基づく所定の条件を満たす他の検索結果を検出して、注目の検索結果と検出した他の検索結果とをグループ化し、グループ内の検索結果の中で最も確信度が高いものを、グループを代表する検索結果として特定することで、グループ内の検索結果を統合するグループ化工程を含む。
【００１１】
また、別の観点による音声データ検索プログラムは、言語の音声表現に用いられる音素の集合のうち、互いに言語音が類似している音素をそれぞれ含む少なくとも一つの部分集合を登録する音素テーブルを有するコンピュータに、指定されたキーワードに含まれる音素の配列を取得する取得工程と、前記キーワードに含まれる個々の音素を、当該音素を含む部分集合中の他の音素で置き換えることにより、音素の配列が異なる少なくとも一つの派生キーワードを生成する生成工程と、前記キーワードおよび前記派生キーワードのそれぞれを検索キーワードとして、各検索キーワードについて、音声データから、当該検索キーワードを表す音声に類似する類似音声を記録している箇所を、類似箇所として検索し、前記音声データにおいて前記類似箇所が現れる時刻を示す時刻情報を、検索結果に付加する検索工程と、前記各検索結果に含まれる前記時刻情報に基づいて、前記音声データにおいて時間的に重複する前記類似箇所を１つの検索結果として統合する統合工程とを含む処理を実行させ、前記統合工程は、前記各検索結果を類似箇所の開始時刻が早い順に注目し、注目の検索結果の類似箇所の開始時刻および終了時刻に基づく所定の条件を満たす他の検索結果を検出して、注目の検索結果と検出した他の検索結果とをグループ化し、グループ内の検索結果の中で最も確信度が高いものを、グループを代表する検索結果として特定することで、グループ内の検索結果を統合するグループ化工程を含む。
【発明の効果】
【００１２】
本件開示の音声データ検索装置、音声データ検索方法および音声データ検索プログラムによれば、蓄積された音声データからキーワードを発音した音声が記録された箇所を漏れなく検索することが可能である。
【図面の簡単な説明】
【００１３】
【図１】音声データ検索装置の一実施形態を示す図である。
【図２】音素テーブルの例を示す図である。
【図３】派生キーワードの生成を説明する図（その１）である。
【図４】派生キーワードの生成を説明する図（その２）である。
【図５】検索結果の例を示す図である。
【図６】検索結果の時間軸上での分布を説明する図である。
【図７】音声データ検索装置の別実施形態を示す図である。
【図８】キーワードテーブルの例を示す図である。
【図９】音声データ検索装置の別実施形態を示す図である。
【図１０】音素テーブルの更新を説明する図である。
【図１１】音声データ検索装置の別実施形態を示す図である。
【図１２】対応管理テーブルの例を示す図である。
【図１３】音声データ検索装置のハードウェア構成例を示す図である。
【図１４】音声データ検索方法のフローチャートの一例を示す図である。
【図１５】派生キーワードを生成する処理のフローチャートの例を示す図である。
【図１６】誤った検索結果を排除する処理のフローチャートの例を示す図である。
【図１７】検索結果を統合する処理のフローチャートの例を示す図である。
【図１８】検索結果を提示する処理のフローチャートの例を示す図である。
【図１９】音素テーブルを更新する処理のフローチャートの例を示す図である。
【発明を実施するための形態】
【００１４】
以下、図面に基づいて、本発明の実施形態について詳細に説明する。
【００１５】
図１は、音声データ検索装置の一実施形態を示す。図１に例示した音声データ検索装置１０は、入力装置２を介して入力される利用者からの指示に応じて、音声データ蓄積装置１に蓄積された音声データに対する検索処理を行い、得られた検索結果を、出力装置３を介して利用者に提示する。
【００１６】
音声データ検索装置１０は、音素テーブル１１と、取得部１２と、生成部１３と、検索部１４とを含んでいる。
【００１７】
音素テーブル１１は、音声による言語表現に用いられる音素の集合のうち、互いに類似した特徴を持つ音素をそれぞれ含む少なくとも一つの部分集合を登録している。この音素テーブル１１は、音声データ蓄積装置１０に音声データとして記録された音声で表現される言語ごとに設けてもよい。
【００１８】
図２は、音素テーブル１１の一例を示している。図２に例示した音素テーブル１１は、音素の集合に含まれる各部分集合を識別する部分集合ＩＤ(IDentifier)に対応して、当該部分集合に含まれる音素を示す音素表記を格納している。
【００１９】
例えば、図２に示した部分集合ＩＤ「Ｐｊ」で示される部分集合Ｐｊは、日本語において、長音化しやすい母音の一例である音韻「おう」、「おお」、「おー」をそれぞれ示す音素表記「ｏｕ」、「ｏｏ」、「ｏｈ」を含んでいる。また、部分集合ＩＤ「Ｐｋ」で示される部分集合Ｐｋは、日本語において、長音化しやすい母音の別の例である音韻「えい」、「ええ」、「えー」をそれぞれ示す音素表記「ｅｉ」、「ｅｅ」，「ｅｈ」を含んでいる。
【００２０】
図２の例は、音素テーブル１１に登録される部分集合の一例であり、音素テーブル１１は、例示した以外の部分集合を含んでいてもよい。例えば、話し言葉としての言語表現の中では、単語の読みを表す音素の配列に含まれるｊ番目の音素が、別の音素に近い発音で発音される場合がある。このような場合に、上述したｊ番目の音素と、この音素に近い発音を持つ別の音素とを含む部分集合を、互いに類似した特徴を持つ音素を含む部分集合として、音素テーブル１１に登録しておくことが望ましい。なお、このような部分集合の例は、例えば、様々な話者による音声を解析することによって、予め集積しておくことが可能である。
【００２１】
また、図１に例示した取得部１２は、入力装置２を介して検索キーを含む利用者からの指示を受け取り、この指示に基づいて、検索キーとして指定されたキーワードに含まれる音素の配列を示す音素表記を取得する。例えば、入力装置２が日本語入力用のキーボードを含む場合に、取得部１２は、キーボードを介して入力されたキーワードの読みを表すローマ字表記から、当該キーワードの読みを表す音素の配列を示す音素表記を取得してもよい。また、入力装置２がマイクロホンを含む場合に、取得部１２は、マイクロホンを介して受け取ったキーワードを表す音声データを解析することにより、発音されたキーワードに含まれる個々の音素の配列を示す音素表記を取得してもよい。更に、キーワードを表す音声データを解析して得られる結果から、取得部１２は、アクセントの位置や抑揚を示す情報を音素表記の一部として取得してもよい。
【００２２】
図１に例示した生成部１３は、取得部１２で得られたキーワードの音素表記と上述した音素テーブル１１とに基づいて、複数の派生キーワードを示す音素表記を生成する。生成部１３は、取得部１２から受け取った音素表記に含まれる個々の音素を示す音素表記を、当該音素を含む部分集合の要素として音素テーブル１１に登録された他の音素を示す音素表記で置き換えることにより、複数の派生キーワードを示す音素表記を生成する。
【００２３】
図３は、派生キーワードの生成を説明する図(その１)である。図３において、符号ＫＷ０は、入力装置２を介して入力されたキーワードの音素表記の一例を示し、符号ＫＷ１，ＫＷ２，ＫＷ３は、入力されたキーワードの音素表記ＫＷ０に基づいて生成部１３が生成した派生キーワードの音素表記をそれぞれ示す。
【００２４】
図３に例示したキーワードの音素表記ＫＷ０は、図１に示した入力装置２から取得部１２が受け取ったキーワードの読み「ろうすい」から得られる音素表記の一例である。この音素表記ＫＷ０は、「ら」行の子音を示す音素表記「ｒ」と、二重母音「おう」を示す音素表記「ｏｕ」と、「さ」行の子音を示す音素表記「ｓ」と、母音「う」，「い」をそれぞれ示す音素表記「ｕ」，「ｉ」とを含んでいる。なお、以下の説明において、言葉の読みに含まれる個々の音素を、言葉の読みを示す音素表記を記号「／」で区切ることによって示す。
【００２５】
図３に例示した派生キーワードの音素表記ＫＷ１，ＫＷ２，ＫＷ３は、上述した音素表記ＫＷ０の２番目の音素「おう」を、図１に示した生成部１３が、音素テーブル１１に登録された、この音素を含む部分集合の要素でそれぞれ置き換えることによって得られる。
【００２６】
例えば、生成部１３は、音素表記ＫＷ０の２番目の音素を示す音素表記「ｏｕ」を、当該音素表記を含む部分集合Ｐｊに含まれる音素表記「ｏｏ」を用いて置き換えることにより、音素表記ＫＷ２を生成する。同様に、生成部１３は、音素表記ＫＷ０の２番目の音素を示す音素表記「ｏｕ」を、当該音素表記を含む部分集合Ｐｊに含まれる音素表記「ｏｈ」を用いて置き換えることにより、音素表記ＫＷ３を生成する。なお、図３に示した音素表記ＫＷ１は、生成部１３が、音素表記ＫＷ０の２番目の音素を示す音素表記「ｏｕ」を、部分集合Ｐｊの要素の一つである音素表記「ｏｕ」自身で置き換えることで得られる。
【００２７】
図１に示した生成部１３は、例えば、取得部１２から受け取った音素表記に含まれる各音素について順次に注目し、音素テーブル１１に登録された部分集合に含まれる最初の音素を検出したときに、上述したようにして派生キーワードを生成する。その後、生成部１３は、生成した派生キーワードを示す各音素表記に含まれる上述した音素以降の部分に含まれる各音素に注目し、同様にして派生キーワードを更に生成してもよい。このようにして、生成部１３は、図４に示すように、元のキーワードを根とする木構造の枝又は葉として位置づけられる派生キーワードを網羅的に生成することができる。
【００２８】
図４は、派生キーワードの生成を説明する図(その２)である。図４において、符号ＫＷ０は、入力装置２を介して入力されたキーワードの音素表記の一例を示し、符号ＫＷ１，ＫＷ２，ＫＷ３は、入力されたキーワードの音素表記ＫＷ０に基づいて生成部１３が生成した派生キーワードの音素表記をそれぞれ示す。また、符号ＫＷ１−１、ＫＷ１−２，ＫＷ１−３は、派生キーワードＫＷ１から分岐した葉にあたる派生キーワードの音素表記をそれぞれ示す。同様に、符号ＫＷ２−１、ＫＷ２−２，ＫＷ２−３は、派生キーワードＫＷ２から分岐した葉にあたる派生キーワードの音素表記をそれぞれ示す。また、符号ＫＷ３−１、ＫＷ３−２，ＫＷ３−３は、派生キーワードＫＷ３から分岐した葉にあたる派生キーワードの音素表記をそれぞれ示す。
【００２９】
図４に例示したキーワードの音素表記ＫＷ０「ｋ／ａ／ｂ／ｕ／ｋ／ｏｕ／ｎ／ｏ／ｈ／ｅ／ｎ／ｊｙ／ｏｕ／」は、図１に示した入力装置２から取得部１２が受け取ったキーワードの読み「かぶこうのへんじょう」から得られる音素表記の一例である。
【００３０】
図４に例示した派生キーワードの音素表記ＫＷ１，ＫＷ２，ＫＷ３は、上述した音素表記ＫＷ０の６番目の音素「おう」を、図１に示した生成部１３が、音素テーブル１１に登録された、この音素を含む部分集合の要素でそれぞれ置き換えることによって得られる。
【００３１】
そして、派生キーワードの音素表記ＫＷ１で示された最後の音素「おう」を、上述した部分集合Ｐｊの３つの要素を用いて置き換えることにより、図１に示した生成部１３は、図４に示した音声表記ＫＷ１−１、ＫＷ１−２，ＫＷ１−３を生成する。同様にして、派生キーワードの音素表記ＫＷ２で示された最後の音素「おう」を、上述した部分集合Ｐｊの３つの要素を用いて置き換えることにより、生成部１３は、図４に示した音声表記ＫＷ２−１、ＫＷ２−２，ＫＷ２−３を生成する。更に、派生キーワードの音素表記ＫＷ３で示された最後の音素「おう」を、上述した部分集合Ｐｊの３つの要素を用いて置き換えることにより、生成部１３は、図４に示した音声表記ＫＷ３−１、ＫＷ３−２，ＫＷ３−３を生成する。
【００３２】
生成部１３は、このようにして生成した派生キーワードのうち、木構造の葉として位置づけられた派生キーワードの集合を、検索に用いる検索キーワードとして、図１に示した検索部１４に渡す。これにより、取得部１２が取得したキーワードとともに、このキーワードを示す音素表記の一部を音素テーブル１１で示された他の音素で置き換えて得られる派生キーワードを含む検索キーワードの集合を検索部１４に渡すことができる。
【００３３】
検索部１４は、生成部１３から受け取った各検索キーワードについて、音声データ蓄積装置１に蓄積された音声データに対する検索処理を行い、当該検索キーワードを表す音声に類似する類似音声を記録している箇所を、類似箇所として検出する。この検索部１４は、例えば、検索キーワードを表す音素表記からこの検索キーワードの発音を表す音声を生成し、この音声と音声データとのマッチングを行うことによって類似箇所を検索してもよい。また、検索部１４は、検索対象の音声データに対して音声認識処理を行うことで得られた認識結果と、検索キーワードを表す音素表記とのマッチングを行うことによって、類似箇所を検索してもよい。つまり、検索部１４は、検索キーワードを音声として与えるタイプの音声検索エンジンを用いて実現してもよいし、検索対象の音声データの音声認識結果を利用して検索するタイプの音声検索エンジンを用いて実現してもよい。
【００３４】
ここで、検索キーワードの集合に含まれる、上述した生成部１３によって生成された各派生キーワードは、元のキーワードが発音された際の発音の揺らぎや雑音の混入によって、元のキーワードを標準的な発音で発音したときに得られる音声からの変形例に相当する。
【００３５】
したがって、検索部１４が音声データに対してこれらの検索キーワードを検索することにより、発音の揺らぎや雑音の混入によって変形された音声を含めて、元のキーワードを発音した際の音声に類似した音声が記録された類似箇所を示す情報を漏れなく取得できる。
【００３６】
検索部１４は、検索キーワードについての検索処理で得た類似箇所が音声データにおいて表れる時刻を特定する時刻情報として、当該類似箇所の先頭に対応する開始時刻と当該部分の末尾に対応する終了時刻を含む検索結果を出力してもよい。また、検索部１４は、検索処理で得た類似箇所に記録された音声が、検索処理に用いた検索キーワードを発音した音声である可能性の高さを示す確信度を、検索結果の一部として出力してもよい。
【００３７】
図５は、検索結果の例を示している。図５において、符号Ｄ１は、検索対象の音声データを示す。また、図５において、符号Ｒ１，Ｒ２，Ｒ３，Ｒ４は、図１に示した検索部１４による検索結果として得られた音声データの範囲をそれぞれ示す。
【００３８】
図５において、検索結果Ｒ１は、音素表記「ｒ／ｏｈ／ｓ／ｕ／ｉ」で示される検索キーワードに対応する検索結果であり、音声データの先頭を時刻の基準とする時間軸ｔにおいて時刻ｔｓ１〜時刻ｔｅ１までの範囲に相当する。また、検索結果Ｒ２は、音素表記「ｒ／ｏｕ／ｓ／ｕ／ｉ」で示される検索キーワードに対応する検索結果であり、音声データの先頭を時刻の基準とする時間軸ｔにおいて時刻ｔｓ２〜時刻ｔｅ２までの範囲に相当する。同様に、検索結果Ｒ３は、音素表記「ｒ／ｏｏ／ｓ／ｕ／ｉ」で示される検索キーワードに対応する検索結果であり、音声データの先頭を時刻の基準とする時間軸ｔにおいて時刻ｔｓ３〜時刻ｔｅ３までの範囲に相当する。また、検索結果Ｒ４は、音素表記「ｒ／ｏｕ／ｓ／ｕ／ｉ」で示される検索キーワードに対応する検索結果であり、音声データの先頭を時刻の基準とする時間軸ｔにおいて時刻ｔｓ４〜時刻ｔｅ４までの範囲に相当する。
【００３９】
図５に示した検索結果Ｒ２，Ｒ４は、音素表記「ｒ／ｏｕ／ｓ／ｕ／ｉ」で示される元のキーワードが標準的な発音で発音された際に得られる音声に類似した音声が記録された箇所を示している。一方、検索結果Ｒ１，Ｒ３は、話者の発音の癖や周囲の雑音などによって、元のキーワードの変形例である音素表記「ｒ／ｏｈ／ｓ／ｕ／ｉ」あるいは音素表記「ｒ／ｏｏ／ｓ／ｕ／ｉ」に類似した音声が記録された箇所を示している。これらの箇所は、いずれも、検索キーとして指定された「ろうすい」が発音された際の音声を記録している可能性のある箇所である。
【００４０】
このように、図１に例示した音声データ検索装置１０によれば、音声データとして記録された音声の話者が持つ発音の癖や録音時の環境にかかわらず、指定したキーワードが発音された際の音声である可能性のある音声が記録された箇所を漏れなく検索できる。
【００４１】
図１に示した検索部１４は、このようにして得た全ての検索結果を、取得部１２が検索キーとして受け取った元のキーワードについての検索結果として、出力装置３を介して利用者に提示する。
【００４２】
つまり、本件開示の音声データ検索装置１０は、検索キーとして指定したキーワードが発音された際の音声が記録された箇所として、このキーワードに対応する標準的な音声とともに、話者の癖や雑音などで変形した音声が記録された箇所も提示可能である。
【００４３】
これにより、音声データ蓄積装置１に蓄積された音声データが、標準的な発音の話者の音声を雑音の少ない環境で記録した音声データに限らず、多種多様な話者が様々な環境で記録した音声データからキーワードが発音された箇所を検索することができる。
【００４４】
例えば、屋外などの雑音の多い環境での作業過程を記録したビデオデータなどは、収録担当者や作業に従事した人物が発声したキーワードを、雑音によって変形された音声として記録している可能性がある。更に、このようなビデオデータにおける話者は、癖のある発音をする場合も多いために、従来技術では、このようなビデオデータなどに含まれる音声データからのキーワード検索を行うことは困難であった。
【００４５】
本件開示の音声データ検索装置１０によれば、癖のある発音をする話者の音声を屋外などの雑音の多い環境で記録したビデオデータなどに含まれる音声データを検索対象とするキーワード検索を実現することができる。これにより、音声データ検索技術の適用分野を、標準的な特徴を持つ音声が蓄積された音声データベースからの検索に限らず、多種多様な話者が様々な環境で記録した音声データを蓄積した音声データベースの検索にも拡大することができる。
【００４６】
ところで、検索キーワードに含まれる派生キーワードは、元のキーワードに含まれる音素の一部を類似した音韻を表す音素によって置き換えたものであるから、複数の検索キーワードを発音した際に得られる音声は互いに類似している。このため、検索対象の音声データに記録された音声が、複数の検索キーワードに対応する音声の中間的な特徴を持っている場合などには、図６に示すように、異なる検索キーワードに対応する検索結果が時間軸ｔ上において重複して分布する可能性がある。また、検索対象の音声データにおいて、先に記録された単語の末尾部分から次に記録された単語の先頭部分までの期間における音素の配列と検索キーワードの音素表記とが偶然に一致する可能性もある。このような場合に、上述した検索部１４は、先に記録された単語の末尾部分から次に記録された単語の先頭部分までの期間を誤って検索してしまう可能性がある。
【００４７】
図６は、検索結果の時間軸ｔ上での分布を説明する図である。なお、図６に示した要素のうち、図５に示した要素と同等のものについては、同一の符号を付して示し、その説明は省略する。また、図６において、符号Ｒ５は、上述した検索結果Ｒ１〜Ｒ４とは別の検索結果を示す。
【００４８】
図６の例では、検索結果Ｒ１と検索結果Ｒ２とが、時間軸ｔにおいてほぼ重なり合って分布しており、一方、検索結果Ｒ３と検索結果Ｒ４とは、それぞれ時間軸ｔにおいて、独立して分布している。また、図６に示した検索結果Ｒ５に含まれる開始時刻ｔｓ５から終了時刻ｔｅ５までの期間は、他の検索結果Ｒ１〜Ｒ４でそれぞれ示される期間に比べて、大幅に長い期間となっている。
【００４９】
次に、音声データ検索装置１０によって、複数の検索キーワードに対応して得られた検索結果が、時間軸上で重複している場合に、これらの検索結果を集約した上で提示する手法について説明する。また、併せて、検索部１４によって誤って得られた検索結果を、利用者への提示に先立って排除する手法について説明する。
【００５０】
図７は、音声データ検索装置１０の別実施形態を示している。なお、図７に示した構成要素のうち、図１に示した構成要素と同等のものについては、同一の符号を付して示し、その説明は省略する。
【００５１】
図７に例示した音声データ検索装置１０において、キーワードテーブル１３１は、生成部１３によって生成された派生キーワードおよび元のキーワードを含む検索キーワード群を保持する。
【００５２】
図８は、キーワードテーブル１３１の一例を示している。図８に示したキーワードテーブル１３１は、各検索キーワードを示すキーワードＩＤに対応して、各検索キーワードを表す音素表記と、当該音素表記に含まれる音素数とを含む情報を保持している。
【００５３】
図８に示したキーワードテーブル１３１は、キーワードＩＤ「ＫＷ０」に対応して、元のキーワードの音素表記「ｒ／ｏｕ／ｓ／ｕ／ｉ」と、音素数「５」を含む情報を保持している。同様に、このキーワードテーブル１３１は、キーワードＩＤ「ＫＷ１」に対応して、派生キーワードＫＷ１の音素表記「ｒ／ｏｕ／ｓ／ｕ／ｉ」と、音素数「５」を含む情報を保持している。また、このキーワードテーブル１３１は、キーワードＩＤ「ＫＷ２」に対応して、派生キーワードＫＷ２の音素表記「ｒ／ｏｏ／ｓ／ｕ／ｉ」と、音素数「５」を含む情報を保持している。更に、このキーワードテーブル１３１は、キーワードＩＤ「ＫＷ３」に対応して、派生キーワードＫＷ３の音素表記「ｒ／ｏｈ／ｓ／ｕ／ｉ」と、音素数「５」を含む情報を保持している。なお、このキーワードテーブル１３１において、各キーワードＩＤに対応して保持されている発音時間長Ｔ０，Ｔ１，Ｔ２，Ｔ３については、後述する。
【００５４】
図７に示した検索部１４は、上述したキーワードテーブル１３１を介して各検索キーワードを表す音素表記を受け取り、受け取った音素表記に基づいて、音声データ蓄積装置１に蓄積された音声データを対象とした検索処理を実行する。
【００５５】
図７に示した音声データ検索装置１０において、検索部１４で得られた検索結果は、判別部１５および統合部１６を介して出力装置３に渡される。この判別部１５は、検索部１４で得られた検索結果の中から、検索キーワードのいずれかを単語として発音して得られた可能性の高い音声を記録した箇所を示す検索結果を判別し、判別した検索結果を統合部１６に渡す機能を有する。また、統合部１６は、各検索結果に含まれる時刻情報に基づいて、時間的に重複した箇所を示す検索結果を１つの検索結果に統合する機能を有する。
【００５６】
図７に示した判別部１５は、推定部１５１と、時間長データ保持部１５２と、算出部１５３と、選択部１５４とを含んでいる。時間長データ保持部１５２は、例えば、個々の音素について、当該音素が発音される際の標準的な時間長を示す情報を保持しており、この情報に基づいて、推定部１５１は、後述するようにして、各検索キーワードに対応する発音時間長を推定する。
【００５７】
推定部１５１は、キーワードテーブル１３１を参照することにより、各検索キーワードに対応する音素表記を取得する。また、推定部１５１は、各検索キーワードに対応する音素表記に含まれる各音素について、時間長データ保持部１５２を参照することにより、各音素に対応する時間長を取得する。推定部１５１は、各検索キーワードの音素表記に従って、各音素に対応する時間長を加算することで、個々の検索キーワードを発音する際に要する標準的な時間長を推定する。また、このようにして各検索キーワードについて得た推定結果を、推定部１５１は、当該検索キーワードを示すキーワードＩＤに対応する発音時間長を示す情報としてキーワードテーブル１３１に格納する。
【００５８】
例えば、図８に示した発音時間長Ｔ０，Ｔ１，Ｔ２，Ｔ３は、各キーワードＩＤに対応して示した音素表記に基づいて、推定部１５１によって推定された発音時間長の値を示している。なお、図８の例では、キーワードＩＤ「ＫＷ０」に対応する音素表記とキーワードＩＤ「ＫＷ１」に対応する音素表記とは同一であるので、これらに対応してキーワードテーブル１３１に保持された発音時間長Ｔ０，Ｔ１もまた同一である。
【００５９】
図７に示した算出部１５３は、検索部１４で得られた各検索結果に含まれる開始時刻および終了時刻に基づいて、当該検索結果で示される箇所に記録された音声が継続する時間の長さを示す継続時間長を算出する。
【００６０】
例えば、この算出部１５３は、図６に示した検索結果Ｒ１に対応する終了時刻ｔｅ１から開始時刻ｔｓ１を減算することにより、この検索結果Ｒ１で示される箇所に記録された音声データに対応する継続時間長を算出してもよい。
【００６１】
図７に示した選択部１５４は、算出部１５３が各検索結果について算出した継続時間長を受け取るとともに、当該検索結果を導いた検索キーワードに対応してキーワードテーブル１３１に保持された発音時間長を取得する。この選択部１５４は、算出部１５３から受け取った継続時間長と、キーワードテーブル１３１を参照して得られた発音時間長とを比較する。そして、継続時間長と発音時間長とが所定の許容範囲内で一致する場合に限って、選択部１５４は、検索部１４から受け取った検索結果を統合部１６に渡す検索結果として選択する。なお、選択部１５４は、所定の許容範囲として、例えば、発音時間長の０．５倍から１．５倍程度の範囲を設定することにより、音声データ蓄積装置１に蓄積された音声データに音声が記録された話者が話す速度が様々であることに対応することが望ましい。また、推定部１５１によって個々の検索キーワードについて推定された発音時間長のばらつきが小さい場合は、選択部１５４は、これらの発音時間長の平均値と検索結果に対応する継続時間長とを比較してもよい。
【００６２】
ここで、継続時間長と発音時間長とが所定の許容範囲内で一致する場合は、検索結果で示された箇所に記録された音声は、検索キーワードを単語として発音した際に記録された音声である可能性が高い。一方、検索結果に対応して得られた継続時間長が発音時間長の許容範囲よりも長いとき、この検索結果で示された箇所に記録された音声が、複数の単語に跨る音素の並びに対応する音声である可能性が高い。また、検索結果に対応して得られた継続時間長が発音時間長の許容範囲よりも短いとき、この検索結果で示された箇所に記録された音声が、雑音である可能性が高い。すなわち、選択部１５４によって、継続時間長と発音時間長とが所定の許容範囲内で一致しないとされた検索結果は、複数の単語に属する音素の並びを記録した部分などを誤って検索した結果である可能性が高い。
【００６３】
このように、選択部１５４は、検索結果に対応して得られた継続時間長と発音時間長とが所定の許容範囲内で一致するか否かに基づいて、この検索結果を統合部１６に渡すか否かを決定することで、検索部１４で得られた検索結果の中から誤った検索結果を排除する。
【００６４】
例えば、選択部１５４は、図６に示した検索結果Ｒ５の継続時間長が、検索キーワードから推定される発音時間長Ｔ０，Ｔ１，Ｔ２，Ｔ３のどれに比べても明らかに長いことから、この検索結果Ｒ５を誤った検索結果として排除する。
【００６５】
このようにして、この選択部１５４を有する判別部１５は、検索キーワードを発音して得られた音声を記録した箇所を示している可能性の高い検索結果を判別し、判別した検索結果を統合部１６に渡すことができる。
【００６６】
図７に示した統合部１６は、検索結果保持部１６１と、ソート部１６２と、グループ生成部１６３とを含んでいる。
【００６７】
検索結果保持部１６１は、検索部１４が各検索キーワードについての検索を行って得た全ての検索結果のうち、判別部１５によって判別された検索結果を受け取り、これらの検索結果を保持する。
【００６８】
ソート部１６２は、検索結果保持部１６１に保持された検索結果を、それぞれの検索結果に含まれる開始時刻に基づいて、開始時刻が昇順になるようにソートする。グループ化部１６３は、検索結果保持部１６１に保持されたソート後の検索結果を開始時刻が早い順に注目し、注目する検索結果の開始時刻および終了時刻に基づいて設定したグループ化条件を満たす検索結果を検出する。また、グループ化部１６３は、注目する検索結果と、当該検索結果に対応して検出した検索結果とを含む検索結果のグループを生成し、このグループに含まれる各検索結果に基づいて、当該グループを代表する検索結果を特定する。
【００６９】
ここで、このグループ化部１６３で採用するグループ化条件として好適な例を、図６を用いて説明する。例えば、図６に示した検索結果Ｒ１に注目したときのグループ化条件は、この検索結果Ｒ１の開始時刻ｔｓ１を先頭とする所定の時間τｓの範囲と、検索結果の終了時刻ｔｅ１を中心とする所定の時間τｅの範囲とで示すことができる。なお、時間τｓおよび時間τｅは、例えば、各検索キーワードについて推定した発音時間長の平均値などに基づいて、予め決定しておくことが望ましい。
【００７０】
グループ化部１６３は、図６に示した検索結果Ｒ２のように、開始時刻ｔｓ２が、開始時刻ｔｓ１を基準とする範囲に含まれ、かつ、終了時刻ｔｅ２が、終了時刻ｔｅ１を基準とする範囲が含まれている検索結果を、検索結果Ｒ１が属するグループＧ１に含める。
【００７１】
一方、図６に示した検索結果Ｒ３の開始時刻ｔｓ３を基準とする所定の時間τｓの範囲には、他の検索結果の開始時刻が含まれないので、グループ化部１６３は、この検索結果Ｒ３を、単独で一つのグループＧ２とする。同様の理由から、グループ化部１６３は、検索結果Ｒ４を、単独で一つのグループＧ３とする。
【００７２】
グループ化部１６３は、上述したようにして生成した各グループについて、例えば、当該グループに含まれる検索結果の中で最も高い確信度を含む検索結果を、当該グループを代表する検索結果として選択することで、グループ内の検索結果を統合する。
【００７３】
このようにして統合した検索結果を出力装置３に渡すことにより、時間的に重複して分布する複数の検索結果をそのまま利用者に提示する代わりに、これらの検索結果を統合した一つの検索結果を利用者に提示することができる。
【００７４】
つまり、図７に示した音声データ検索装置１０によれば、検索結果の提示を受けた利用者が、誤った検索結果や時間的に重複した検索結果を排除する手間を省くことができる。
【００７５】
次に、検索結果で示される音声の提示を受けた利用者が、この音声によって表された言葉の読みを訂正するための訂正指示をしたときに、この訂正指示に含まれる訂正情報に基づいて、音素テーブル１１を更新する手法について説明する。
【００７６】
図９は、音声データ検索装置１０の別実施形態を示している。なお、図９に示した構成要素のうち、図７に示した構成要素と同等のものについては、同一の符号を付して示し、その説明は省略する。
【００７７】
図９に例示した音声データ検索装置１０は、入力装置２からの訂正指示を受け取り、この訂正指示に訂正情報として含まれる音素表記に基づいて、音素テーブル１１を更新する更新部１７を含んでいる。この更新部１７は、受け付け部１７１と、抽出部１７２と、追加部１７３とを含んでいる。
【００７８】
受け付け部１７１は、検索結果で示される音声を利用者に提示した際に、この音声によって表される言葉の読みを訂正する指示とともに、正解の読みとして、利用者が入力装置２を介して入力した文字列を受け付ける。また、受け付け部１７１は、入力装置２から受け取った文字列を、この文字列に対応する音素表記に変換し、この変換で得られた音素表記を、検索結果として提示した音声によって表される言葉の読みの正解を示す音素表記として抽出部１７２に渡す。
【００７９】
抽出部１７２は、受付部１７１から受け取った音素表記と、キーワードテーブル１３１に元のキーワードに対応して保持された音素表記とを照合することにより、２つの音素表記において異なっている音素を音素対として抽出する。そして、追加部１７３は、抽出部１７１によって抽出された個々の音素対について、当該音素対に含まれる２つの音素を含む新たな部分集合を生成し、この部分集合を音素テーブル１１に追加することにより、音素テーブル１１を更新する。
【００８０】
図１０は、音素テーブル１１の更新を説明する図である。なお、図１０に示した要素のうち、図２および図３に示した要素と同等のものについては、同一の符号を付して示し、その説明は省略する。
【００８１】
図１０において、符号ＰＤは、受付部１７１が入力装置２から受け取った情報に基づいて生成した、読みの正解を示す音素表記を示している。なお、図１０に例示した読みの正解を示す音素表記ＰＤは、入力装置２から受け取った文字列「るすい」を発音した際の音素の配列「ｒ／ｕ／ｓ／ｕ／ｉ」を示している。
【００８２】
図９に示した抽出部１７２は、図１０に示した音素表記ＰＤに含まれる各音素と、キーワードテーブル１３１にキーワードＩＤ「ＫＷ０」に対応して保持された元のキーワードを示す音素表記ＫＷ０に含まれる各音素とを照合する。この照合処理により、抽出部１７２は、音素表記ＰＤと音素表記ＫＷ０とが異なっている部分として、音素表記ＰＤにおいて２番目の音素「ｕ」と、音素表記ＫＷ０において同じく２番目の音素「ｏｕ」とを音素対として抽出する。
【００８３】
このことは、読みの正解を示す音素表記ＰＤの２番目の音素「ｕ」が、話者の話し方の癖や雑音の混入などのために、検索対象の音声データにおいては、元のキーワードを示す音声表記ＫＷ０の２番目の音素「ｏｕ」に近い音声となっていることを示している。
【００８４】
つまり、上述したようにして抽出部１７２が抽出した音素対は、言語の表現において交換して用いられる可能性が新たに発見された音素を含む新たな部分集合であり、また、検索対象の音声に記録された音声の特徴を示す情報でもある。したがって、図９に示した追加部１７３が、抽出部１７２によって抽出された音素対に含まれる２つの音素を含む部分集合を音素テーブル１１に追加することにより、音素テーブル１１に、音声データに記録された音声の特徴を反映させることができる。
【００８５】
なお、図１０に例示した音素テーブル１１は、音素表記ＰＤと音素表記ＫＷ０との差分として抽出された音素「ｕ」と音素「ｏｕ」とを含む音素対を、部分集合ＩＤ「Ｐｍ」で示される部分集合として登録している。
【００８６】
このように、図９に例示した更新部１７を有する音声データ検索装置１０によれば、検索結果を示す音声の提示に応じて利用者が返した情報に基づいて、音素テーブル１１を更新することができる。これにより、音素テーブル１１に、音声データに記録された音声の特徴を反映させることができるので、以降に検索キーとして指定されるキーワードについての検索処理の精度を向上することが可能である。
【００８７】
次に、音声データ蓄積装置１が、それぞれ異なる特徴を持つ話者の音声を記録した音声データを蓄積している場合に好適な音声データ検索装置１０の実施形態について、図１１および図１２を参照しつつ説明する。
【００８８】
図１１は、音声データ検索装置の別実施形態を示している。なお、図１１に示した構成要素のうち、図９に示した構成要素と同等のものについては、同一の符号を付して示し、その説明は省略する。
【００８９】
図１１に示した音声データ蓄積装置１は、複数の音声データＤ１，Ｄ２，…を蓄積している。また、図１１に示した音素テーブル１１は、複数のテーブルデータｔ−０，ｔ−１，…，ｔ−ｎと、対応管理テーブル１１１と、テーブル選択部１１２とを含んでいる。
【００９０】
図１１に示したテーブルデータｔ−０は、音声データ蓄積装置１に蓄積された音声データの検索に用いる検索キーワードの生成に共通して適用可能な部分集合を含む汎用の音素テーブルである。一方、図１１に示したテーブルデータｔ−１，…，ｔ−ｎは、上述したテーブルデータｔ−０に対して、更新部１７が個々の音声データあるいは個々の話者の特徴を反映することによって得られる音素テーブルである。
【００９１】
例えば、図１１に示した更新部１７は、音声データ蓄積装置１に蓄積された各音声データを検索対象とした検索処理が初めて行われたときに、当該音声データに対応するテーブルデータを作成する。更新部１７は、例えば、上述した汎用のテーブルデータｔ−０に、当該音声データに記録された音声の特徴を示す部分集合を追加することにより、この音声データに対応する新たなテーブルデータを作成してもよい。なお、音声データ蓄積装置１内に、同一の話者の音声を記録した複数の音声データが蓄積されている場合、更新部１７は、個々の話者に対応してテーブルデータを作成してもよい。
【００９２】
また、更新部１７は、新たなテーブルデータを作成したときに、作成したテーブルデータと音声データとの対応関係を示す情報を対応管理テーブル１１１に登録する。
【００９３】
対応管理テーブル１１１は、例えば、図１２に示すように、個々の音声データを識別する音声データＩＤと、上述した更新部１７によって、この音声データに対応して作成されたテーブルデータを示すテーブルデータＩＤとの対応関係を示す情報を含んでいる。
【００９４】
図１２は、対応管理テーブルの例を示している。図１２(Ａ)は、個々の音声データに対応して、テーブルデータＩＤを格納した対応管理テーブル１１１の例を示している。また、図１２(Ｂ)は、個々の話者の識別する話者ＩＤに対応して、当該話者の音声を記録した音声データを示す音声データＩＤと、上述したテーブルデータＩＤとを格納した対応管理テーブル１１１の例を示している。
【００９５】
図１２(Ａ)に示した対応管理テーブル１１１は、音声データＩＤ「Ｄ１」に対応して、テーブルデータｔ−１を示すテーブルデータＩＤ「ｔ−１」を保持している。一方、図１２に示した対応管理テーブル１１１は、音声データＩＤ「Ｄ１」，「Ｄ２」に共通する話者を示す話者ＩＤ「Ｓ１」を保持しており、また、この話者ＩＤに対応して上述したテーブルデータＩＤ「ｔ−１」を保持している。
【００９６】
テーブル選択部１１２は、入力装置２から受け取った検索対象の音声データを示す情報と対応管理テーブル１１１に保持された情報とに基づいて、生成部１３が派生キーワードの生成に用いるテーブルデータを選択する。
【００９７】
テーブル選択部１１２は、例えば、検索対象の音声データを示す音声データＩＤを受け取ったときに、上述した対応関係テーブル１１１を参照し、音声データＩＤに対応して格納されたテーブルデータＩＤで示されるテーブルデータを生成部１３に渡す。
【００９８】
生成部１３は、検索対象の音声データに対応するデータテーブルを用いることにより、新たに指定されたキーワードから、検索対象の音声データの特徴を反映した派生キーワードを生成することができる。
【００９９】
このようにして得られた派生キーワードは、汎用の音素テーブルで示された音声の変形例とともに、それまでの検索結果に基づいて、データテーブルに追加された、当該音声データに特徴的な部分集合で示される音声の変形例を含んでいる。したがって、これらの派生キーワードを含む検索キーワードについて、検索部１４が検索処理を行うことにより、当該音声データに記録された音声を発声した話者が元のキーワードを発音した音声を記録した可能性のある箇所を更に網羅的に検出できる。
【０１００】
また、図１１に示した更新部１７は、検索結果を示す音声の提示に応じて利用者が返した情報に基づく更新処理を、検索対象の音声データに対応するデータテーブルに対して行う。更新部１７は、更新処理に先立って、例えば、対応管理テーブル１１１を参照することにより、検索対象の音声データに対応するデータテーブルを示すデータテーブルＩＤを取得する。そして、更新部１７は、入力装置２から受け取った指示に応じて抽出した音素対を含む部分集合を、上述したデータテーブルＩＤで示されるデータテーブルに対して個別に追加する。このように、個々の音声データを対象とした検索を実行するごとに、更新部１７が、対応するデータテーブルを更新していくことにより、各音声データに対応するデータテーブルに、個々の音声データの特徴を示す情報をそれぞれ蓄積することができる。
【０１０１】
つまり、図１１に示したように、複数のテーブルデータｔ−０，ｔ−１，…，ｔ−ｎを含む音素テーブル１１を有する音声データ検索装置１０によれば、検索対象の音声データに対応して使い分けることができる。
【０１０２】
このような音声データ検索装置１０は、例えば、民俗学などの資料として収録された音声のように、多種多様な地方の訛りや話し方の癖を持つ人物の音声を蓄積した音声データベースを検索する用途などに好適である。
【０１０３】
以上に説明した本件開示の音声データ検索装置１０は、例えば、パーソナルコンピュータなどのコンピュータ装置を用いて実現することができる。
【０１０４】
図１３は、音声データ検索装置１０のハードウェア構成の一例を示している。なお、図１３に示した構成要素のうち、図１に示した構成要素と同等のものについては、同一の符号を付して示し、その説明は省略する。
【０１０５】
コンピュータ装置２０は、プロセッサ２１と、メモリ２２と、ハードディスク装置２３と、音声検索エンジン２４と、周辺機器インタフェース２５と、光学ドライブ装置２８と、ネットワークインタフェース３０とを含んでいる。また、コンピュータ装置２０は、更に、表示装置２６と、音声出力装置２７と、マイクロホン３１と、キーボード３２とを含んでいる。上述したプロセッサ２１と、メモリ２２と、ハードディスク装置２３と、音声検索エンジン２４と、周辺機器インタフェース２５と、光学ドライブ装置２８と、ネットワークインタフェース３０とは、バスを介して互いに接続されている。また、このバスには、更に、表示装置２６と、音声出力装置２７と、マイクロホン３１と、キーボード３２とが接続されている。
【０１０６】
図１３において、音声データ検索装置１０は、プロセッサ２１と、メモリ２２と、ハードディスク装置２３と、音声検索エンジン２４と、周辺機器インタフェース２５とを含んでいる。また、入力装置２は、マイクロホン３１とキーボード３２との少なくとも一方を含んでおり、出力装置３は、表示装置２６およびスピーカなどの音声出力装置２７を含んでいる。
【０１０７】
上述した光学ドライブ装置２８は、光ディスクなどのリムーバブルディスク２９を装着可能であり、装着したリムーバブルディスク２７に記録された情報の読出および記録を行う。また、コンピュータ装置２０は、周辺機器インタフェース２５を介して、ビデオレコーダ３３やＩＣレコーダ３４に接続されている。図１３に例示したビデオレコーダ３３およびＩＣレコーダ３４は、それぞれ音声データ蓄積装置１の一例である。また、コンピュータ装置２０は、ネットワークインタフェース３０を介して、インターネットなどの外部ネットワークに接続されていてもよく、また、音声データ蓄積装置１は、ネットワーク内に配置されていてもよい。
【０１０８】
図１３に例示したメモリ２２は、コンピュータ装置２０のオペレーティングシステムとともに、プロセッサ２１が上述した音声データ検索処理を実行するためのアプリケーションプログラムを格納している。なお、上述した音声データ検索処理を実行するためのアプリケーションプログラムおよび音素テーブルを形成するための情報は、例えば、光ディスクなどのリムーバブルディスク２９に記録して頒布することができる。そして、このリムーバブルディスク２９を光学ドライブ装置２８に装着して読み込み処理を行うことにより、音声データ検索処理を実行するためのアプリケーションプログラムを、メモリ２２およびハードディスク装置２３に格納させてもよい。また、このときに、音素テーブルを形成するための情報に基づいて、例えば、ハードディスク装置２３に、音素テーブル１１を形成してもよい。なお、音素テーブルを形成するための情報は、例えば、音声データ蓄積装置１に蓄積された多数の音声データに記録された言語表現において、共通して交換される可能性がある音素の集合を示す情報を含んでいることが望ましい。また、音声データ検索処理を実行するためのアプリケーションプログラムおよび音素テーブル１１をメモリ２２およびハードディスク装置２３に読み込ませる作業は、ネットワークインタフェース３０を介して実行することもできる。
【０１０９】
そして、プロセッサ２１は、メモリ２２に格納された音声データ検索処理のためのアプリケーションプログラムを実行することにより、図１に例示した取得部１２および生成部１２の機能を果たす。そして、プロセッサ２１が、生成部１２の機能を果たすことで生成した派生キーワードを含む検索キーワード群を、音声検索エンジン２４に渡すことにより、本件開示の音声データ検索方法に従う検索処理を実行する。
【０１１０】
図１４は、音声データ検索方法のフローチャートの一例を示している。図１４に示したステップ３０１〜ステップ３０６の各処理は、音声データ検索処理のためのアプリケーションプログラムに含まれる各アプリケーションプログラムをプロセッサ２１が実行することによって実現することができる。
【０１１１】
音声データ検索処理のためのアプリケーションプログラムは、入力装置２から渡される情報に基づいて、検索キーとして指定されたキーワードを表す音素表記を取得する処理をプロセッサ２１に実行させるためのアプリケーションプログラムを含んでいる。図１４に示したステップ３０１において、プロセッサ２１は、このアプリケーションプログラムを実行することにより、キーワードを表す音素表記を取得する。つまり、プロセッサ２１がステップ３０１の処理を実行することは、プロセッサ２１と、メモリ２２およびハードディスク装置２３との協働によって、図１に例示した取得部１２を実現する手法の一例である。
【０１１２】
また、音声データ検索処理のためのアプリケーションプログラムは、キーワードを表す音素表記に基づいて、派生キーワードを生成する処理をプロセッサ２１に実行させるためのアプリケーションプログラムを含んでいる。図１４に示したステップ３０２において、プロセッサ２１は、このアプリケーションプログラムを実行することで、派生キーワードを生成する。つまり、プロセッサ２１がステップ３０３の処理を実行することは、プロセッサ２１と、メモリ２２およびハードディスク装置２３との協働によって、図１に例示した生成部１３を実現する手法の一例である。
【０１１３】
更に、音声データ検索処理のためのアプリケーションプログラムは、生成した派生キーワードを含む検索キーワードについての検索処理を音声検索エンジン２４に実行させる処理をプロセッサ２１に実行させるためのアプリケーションプログラムを含んでいる。図１４に示したステップ３０３において、プロセッサ２１は、このアプリケーションプログラムを実行することで、音声検索エンジン２４に音声検索処理を実行させる。つまり、プロセッサ２１がステップ３０３の処理を実行することは、プロセッサ２１と、メモリ２２、ハードディスク装置２３および音声検索エンジン２４との協働によって、図１に例示した検索部１４を実現する手法の一例である。
【０１１４】
また、音声データ検索処理のためのアプリケーションプログラムは、音声検索エンジン２４で得られた検索結果の中から、誤った検索結果を排除する処理をプロセッサ２１に実行させるためのアプリケーションプログラムを含んでいる。図１４に示したステップ３０４において、プロセッサ２１は、このアプリケーションプログラムを実行することで、誤った検索結果を排除する。つまり、プロセッサ２１がステップ３０４の処理を実行することは、プロセッサ２１と、メモリ２２およびハードディスク装置２３との協働によって、図７に例示した判別部１５を実現する手法の一例である。
【０１１５】
また、音声データ検索処理のためのアプリケーションプログラムは、音声検索エンジン２４で得られた検索結果を、これらの検索結果が時間軸上での分布に基づいて統合する処理をプロセッサ２１に実行させるためのアプリケーションプログラムを含んでいる。図１４に示したステップ３０５において、プロセッサ２１は、このアプリケーションプログラムを実行することにより、検索結果を統合する。つまり、プロセッサ２１がステップ３０５の処理を実行することは、プロセッサ２１と、メモリ２２およびハードディスク装置２３との協働によって、図７に例示した統合部１６を実現する手法の一例である。
【０１１６】
そして、音声データ検索処理のためのアプリケーションプログラムは、得られた検索結果を、出力装置３を介して利用者に提示する処理をプロセッサ２１に実行させるためのアプリケーションプログラムを含んでいる。また、図１４に示したステップ３０６において、プロセッサ２１は、このアプリケーションプログラムを実行することにより、得られた検索結果を利用者に提示する。
【０１１７】
このように、プロセッサ２１が、この音声データ検索処理のためのアプリケーションプログラムを実行することにより、本件開示の音声データ検索方法に従って、音声データから所望のキーワードを発音した音声が記録された箇所を検索することができる。なお、プロセッサ２１は、音声データ検索処理のためのアプリケーションプログラムに含まれる各アプリケーションプログラムを実行することで得た処理結果を示す情報を、メモリ２２あるいはハードディスク装置２３に保持する。
【０１１８】
以下、音声データ検索処理のためのアプリケーションプログラムに含まれる各アプリケーションプログラムに基づく処理について説明する。
【０１１９】
図１５は、派生キーワードを生成する処理のフローチャートの一例を示している。図１５に示したステップ３１１〜ステップ３１８の各処理は、派生キーワードを生成する処理のためのアプリケーションプログラムに含まれる処理の一例であり、図１４のステップ３０２の処理に相当する。また、これらのステップ３１１〜ステップ３１８の各処理は、プロセッサ２１によって実行される。
【０１２０】
まず、プロセッサ２１は、図１４に示したステップ３０１の処理で得られたキーワードを表す音素表記を、メモリ２２あるいはハードディスク装置２３に設けたキーワードテーブル１３１に格納する(ステップ３１１)。
【０１２１】
次いで、プロセッサ２１は、上述した音素表記にｊ番目の音素として含まれる音素を注目音素として選択し(ステップ３１２)、選択した注目音素について、ステップ３１３〜ステップ３１８の処理を実行する。なお、プロセッサ２１は、注目音素の選択に用いる変数ｊに予め初期値「１」を設定しておき、上述した音素表記に含まれる全ての音素について、以下のステップ３１３〜ステップ３１８の処理を実行することが望ましい。
【０１２２】
ステップ３１３において、プロセッサ２１は、メモリ２２あるいはハードディスク装置２３に設けられた音素テーブル１１を参照し、注目音素を含む部分集合が音素テーブル１１に登録されているか否かを判定する。
【０１２３】
ステップ３１３の肯定判定ルートにおいて、プロセッサ２１は、まず、音素テーブル１１から注目音素を含む部分集合を取得する(ステップ３１４)。次いで、プロセッサ２１は、図３および図４を用いて説明したようにして、ステップ３１４で取得した部分集合に属する各音素を用いて注目音素を置き換えた音素表記を作成する(ステップ３１５)。また、プロセッサ２１は、ステップ３１５の処理で作成した音素表記のそれぞれを、ステップ３１１で格納した元のキーワードから派生した派生キーワードとして、キーワードテーブル１３１に追加する(ステップ３１６)。
【０１２４】
一方、ステップ３１３の否定判定ルートにおいて、プロセッサ２１は、ステップ３１４からステップ３１６の処理をスキップする。ステップ３１３の肯定判定ルートと否定判定ルートは、ステップ３１７において合流し、このステップ３１７において、プロセッサ２１は、注目音素が元のキーワードを表す音素表記に含まれる最後の音素であるか否かを判定する。
【０１２５】
ステップ３１７の否定判定ルートにおいて、プロセッサ２１は、上述した変数ｊに数値「１」を加算し(ステップ３１８)、その後、ステップ３１２の処理に戻って、新たな注目音素についての処理を開始する。このようにして、プロセッサ２１は、図１４に示したステップ３０１の処理で得られた元のキーワードを表す音素表記に含まれる各音素について、上述したステップ３１２〜ステップ３１８の処理を繰り返す。
【０１２６】
そして、元のキーワードを表す音素表記に含まれる全ての音素についての処理が完了したときに、プロセッサ２１は、ステップ３１７の肯定判定ルートに進み、派生キーワードを生成する処理を終了する。
【０１２７】
このように、プロセッサ２１が、ステップ３１１〜ステップ３１８の処理を実行することにより、元のキーワードを様々な人物が発音した場合に得られる可能性のある変形例を示す派生キーワードを生成し、キーワードテーブル１３１に保持することができる。
【０１２８】
そして、プロセッサ２１は、これらの派生キーワードを含む検索キーワードの集合を音声検索エンジン２４に渡し、図１３に示した音声検索エンジン２４に、これらの検索キーワードに基づく検索処理を実行させる。
【０１２９】
音声検索エンジン２４は、図１３に示したビデオレコーダ３３あるいはＩＣレコーダ３４内に蓄積された検索対象の音声データから、各検索キーワードを発音した際に得られる音声と類似する音声が記録された箇所をそれぞれ検出する。そして、音声検索エンジン２４は、検出した箇所を特定する情報および当該箇所に記録された音声が検索キーワードを発音した際に得られる音声であることの確信度を示す検索結果を、メモリ２２あるいはハードディスク装置２３に設けた格納場所に保持する。なお、音声検索エンジン２４は、検索処理で得られた検索結果を、検索に用いた検索キーワードごとに保持することが望ましい。また、プロセッサ２１は、音声検索エンジン２４に対して音声検索処理の実行を指示するのに先立って、ビデオレコーダ３３あるいはＩＣレコーダ３４に記録された検索対象の音声データを、メモリ２２あるいはハードディスク装置２３に読み込んでおいてもよい。
【０１３０】
音声検索エンジン２４によって得られた検索結果の中には、図６を用いて説明したように、検索キーワードを示す音素の配列が単語として発音されていない箇所を誤って検出して得られる検索結果も含まれている。プロセッサ２１は、このような誤った検索結果を排除する処理を、図１６に示すようなフローチャートに示した各処理として実行することで、検索キーワードを示す音素の配列を単語として発音した音声が記録されている箇所を示す検索結果を判別する。
【０１３１】
図１６は、誤った検索結果を排除する処理のフローチャートの例を示している。図１６に示したステップ３２１〜ステップ３３１の各処理は、誤った検索結果を排除する処理のためのアプリケーションプログラムに含まれる処理の一例であり、図１４のステップ３０４の処理に相当する。また、これらのステップ３２１〜ステップ３３１の各処理は、プロセッサ２１によって実行される。
【０１３２】
プロセッサ２１は、まず、キーワードテーブル１３１に保持された元のキーワードおよび派生キーワードを含む検索キーワードそれぞれについて、これらが発音された場合に得られる音声の長さを示す発音時間長を推定する(ステップ３２１)。ステップ３２１において、プロセッサ２１は、各検索キーワードに対応する音素表記に含まれる各音素が発音される際の標準的な時間長の総和を求めることにより、それぞれの発音時間長を推定する。なお、各音素が発音される際の標準的な時間長を示す情報は、例えば、音声データ検索処理のためのアプリケーションプログラムとともに、図１３に示したリムーバブルディスク２９に記録しておくことができる。
【０１３３】
このように、プロセッサ２１が、ステップ３２１の処理を実行することは、プロセッサ２１と、メモリ２２およびハードディスク装置２３との協働によって、図７に例示した推定部１５１を実現する手法の一例である。また、プロセッサ２１は、ステップ３２１の処理の過程で、各検索キーワードについて推定した発音時間長を、上述したキーワードテーブル１３１に格納することが望ましい。
【０１３４】
次に、プロセッサ２１は、キーワードテーブル１３１に保持された検索キーワードの総数Ｎを取得するとともに、注目する検索キーワードを示す変数ｋに初期値「１」を設定する(ステップ３２２)。
【０１３５】
次いで、プロセッサ２１は、キーワードテーブル１３１にｋ番目の派生キーワードとして保持された検索キーワードを注目する検索キーワードとして、ステップ３２３およびステップ３２４の処理を実行する。このステップ３２３において、プロセッサ２１は、注目する検索キーワードに対応して保持された検索結果の総数ｎｋを取得するとともに、これらの検索結果の中で注目する検索結果を示す変数ｊに初期値「１」を設定する。また、プロセッサ２１は、ステップ３２４において、キーワードテーブル１３１を参照することにより、注目する検索キーワードに対応する発音時間長Ｔｋを取得する。
【０１３６】
次に、プロセッサ２１は、注目する検索キーワードに対応して保持された検索結果の中から、ｊ番目の検索結果に注目し、ステップ３２５〜ステップ３２８の処理を実行する。
【０１３７】
ステップ３２５において、プロセッサ２１は、ｊ番目の検索結果に含まれる情報によって特定された音声データの範囲の開始時刻および終了時刻に基づいて、当該範囲に記録されている音声の長さを示す継続時間長ｔｊを算出する。このように、プロセッサ２１が、ステップ３２５の処理を実行することにより、図７に示した算出部１５３の機能を実現することができる。
【０１３８】
次いで、プロセッサ２１は、ステップ３２５で算出した継続時間長ｔｊとステップ３２４で取得した注目する検索キーワードの発音時間長Ｔｋとが、式(１)に示す条件を満たすか否かを判定する(ステップ３２６)。
条件：｜ｔｊ−Ｔｋ｜＞Ｔｈｄ      ・・・(１)
なお、式(１)において定数Ｔｈｄは、継続時間長ｔｊと発音時間長Ｔｋとの差分についての許容範囲の大きさを示す閾値であり、プロセッサ２１は、この差分が閾値Ｔｈｄを超えている場合に、継続時間長ｔｊと発音時間長Ｔｋとが一致しないと判断する。つまり、式(１)は、プロセッサ２１が、継続時間長ｔｊと発音時間長Ｔｋとが一致しないと判断する条件を示している。
【０１３９】
継続時間長ｔｊがこの条件を満たす場合に(ステップ３２６の肯定判定)、プロセッサ２１は、注目する検索結果で示される音声データの範囲に記録された音声は、注目する検索キーワードが発音された音声ではない可能性が高いと判断する。そして、ステップ３２６の肯定判定ルートにおいて、プロセッサ２１は、注目する検索キーワードに対応して上述した格納場所に保持されたｊ番目の検索結果を削除する(ステップ３２７)。
【０１４０】
一方、継続時間長ｔｊがこの条件を満たさない場合に(ステップ３２６の否定判定)、プロセッサ２１は、注目する検索結果で示される音声データの範囲に記録された音声は、注目する検索キーワードが発音された音声である可能性が高いと判断する。そして、ステップ３２６の否定判定ルートにおいて、プロセッサ２１は、ステップ３２７の処理をスキップすることで、注目する検索キーワードに対応して得られたｊ番目の検索結果を、上述した格納場所に保持させたまま維持する。
【０１４１】
このように、プロセッサ２１が、ステップ３２６の判定結果に応じてステップ３２７を実行することで、検索キーワードを発音した音声が記録された箇所を示す検索結果を判別し、判別した検索結果を上述した格納場所に残すことができる。つまり、プロセッサ２１は、ステップ３２６およびステップ３２７の処理により、図７に示した選択部１５３の機能を実現し、上述したようにして判別した検索結果を出力対象として選択することができる。
【０１４２】
上述したステップ３２６の肯定判定ルートと否定判定ルートとは、ステップ３２８において合流する。このステップ３２８において、プロセッサ２１は、変数ｊとステップ３２３で取得した検索結果の数ｎｋとを比較することにより、注目する検索キーワードについて得られた全ての検索結果についての処理が終了したか否かを判定する。
【０１４３】
変数ｊが検索結果の数ｎｋ未満である場合に(ステップ３２８の肯定判定)、プロセッサ２１は、ステップ３２９の処理に進み、このステップ３２９において、変数ｊに数値「１」を加算した後に、ステップ３２５の処理に戻る。そして、プロセッサ２１は、新たな検索結果について、ステップ３２５〜ステップ３２９の処理を繰り返す。
【０１４４】
このようにして、注目する検索キーワードについて音声検索エンジン２４によって得られた全ての検索結果の処理が終了したときに、プロセッサ２１は、ステップ３２８の否定判定ルートに従って、ステップ３３０の処理に進む。
【０１４５】
このステップ３３０において、プロセッサ２１は、変数ｋとステップ３２２で取得した検索検索キーワードの数Ｎとを比較することにより、全ての検索キーワードについての処理が終了したか否かを判定する。
【０１４６】
変数ｋが検索キーワードの数Ｎ未満である場合に(ステップ３３０の肯定判定)、プロセッサ２１は、ステップ３３１の処理に進み、このステップ３３１において、変数ｋに数値「１」を加算した後に、ステップ３２３の処理に戻る。そして、プロセッサ２１は、新たな検索キーワードについて、ステップ３２３〜ステップ３３１の処理を繰り返す。
【０１４７】
このようにして、全ての検索キーワードについての処理が終了したときに、プロセッサ２１は、ステップ３３０の否定判定ルートに従って、誤った検索結果を排除する処理を修了し、図１４に示したステップ３０５の処理に進む。
【０１４８】
なお、プロセッサ２１は、例えば、音声検索エンジン２４によって個々の検索キーワードについての検索処理が行われるごとに、誤った検索結果を排除する処理として、ステップ３２３〜ステップ３２９の処理を実行してもよい。
【０１４９】
このように、音声検索エンジン２４によって得られた検索結果から、誤った検索結果を排除することにより、各検索キーワードを単語として発音した音声が記録されている箇所を示す検索結果を判別することができる。また、プロセッサ２１は、このようにして判別した検索結果を、メモリ２２あるいはハードディスク装置２３に設けた検索結果保持部１６１に保持する。そして、この検索結果保持部１６１に保持された検索結果について、図１７に示す各ステップの処理を実行することにより、図６を用いて説明した統合処理を実行する。
【０１５０】
図１７は、検索結果を統合する処理のフローチャートの例を示している。図１７に示したステップ３４１〜ステップ３５０の各処理は、検索結果を統合する処理のためのアプリケーションプログラムに含まれる処理の一例であり、図１４のステップ３０５の処理に相当する。また、これらのステップ３４１〜ステップ３５０の各処理は、プロセッサ２１によって実行される。
【０１５１】
プロセッサ２１は、上述した検索結果保持部１６１に保持された検索結果を参照し、各検索結果で特定される音声データの部分の開始時刻に基づいて、これらの検索結果を開始時刻順に並べ替える(ステップ３４１)。このように、プロセッサ２１が、ステップ３４１の処理を実行することにより、図７に示したソート部１６２の機能を実現することができる。
【０１５２】
次いで、プロセッサ２１は、上述した検索結果格納部１６１に保持された検索結果の総数ｎを取得するとともに、注目する検索結果を示す変数ｊおよび後述する統合処理で生成されるグループを識別するための変数ｋに初期値「１」を設定する(ステップ３４２)。
【０１５３】
次に、プロセッサ２１は、ｋ番目のグループとして、ステップ３４１の処理によってｊ番目に並べられた検索結果を先頭の検索結果とするグループｋを作成する（ステップ３４３）。そして、プロセッサ２１は、ｊ＋１番目以降に並べられた検索結果が、ｊ番目の検索結果と統合可能であるか否かを、次に述べるようにして判定する。
【０１５４】
プロセッサ２１は、変数ｊと検索結果の総数ｎとを比較することにより、ｊ番目の検索結果が開始時刻順で末尾に並べられた検索結果であるか否かを判定する（ステップ３４４）。変数ｊが検索結果の総数ｎ未満である場合に、プロセッサ２１は、ｊ番目の検索結果が開始時刻順で末尾に並べられた検索結果ではないと判断し、ステップ３４４の肯定判定ルートに従って、ステップ３４５〜ステップ３５０の処理を実行する。
【０１５５】
ステップ３４４の肯定判定ルートにおいて、プロセッサ２１は、まず、上述した変数ｊに数値「１」を加算することにより、新たな検索結果を注目する検索結果として選択する(ステップ３４５)。
【０１５６】
次いで、プロセッサ２１は、新たに注目する検索結果となったｊ番目の検索結果の開始時刻とグループｋの先頭の検索結果の開始時刻との差分ｄを算出する(ステップ３４６)。図６を用いて説明すると、プロセッサ２１は、検索結果Ｒ１がグループｋの先頭の検索結果である場合に、ステップ３４６において、この検索結果Ｒ１の開始時刻ｔｓ１と、新たに注目する検索結果となった検索結果Ｒ２の開始時刻ｔｓ２との差分ｄを算出する。
【０１５７】
次に、プロセッサ２１は、ステップ３４６の処理で算出した差分ｄが所定の閾値Ｔｈｇ未満であるか否かを判定することにより、注目する検索結果で特定される範囲がグループの先頭の検索結果で示される範囲と重複するか否かを判断する(ステップ３４７)。プロセッサ２１は、このステップ３４７の処理において、所定の閾値Ｔｈｇとして、例えば、図６に示した範囲τｓの幅に相当する値を設定することが望ましい。
【０１５８】
ステップ３４６の処理で算出した差分ｄが所定の閾値Ｔｈｇ未満である場合に、プロセッサ２１は、グループｋの先頭の検索結果によって特定される音声データの範囲と、検索結果ｊによって特定される音声データの範囲とは時間軸上で重複していると判断する。例えば、図６に示した例では、グループＧ１の先頭となっている検索結果Ｒ１に対応する開始時刻ｔｓ１と検索結果Ｒ２に対応する開始時刻ｔｓ２との差は、上述した範囲τｓの幅に含まれている。この場合に、プロセッサ２１は、この検索結果Ｒ１と検索結果Ｒ２とによってそれぞれ特定される音声データの範囲は時間軸上で重複していると判断し、ステップ３４７の肯定判定ルートに進む。
【０１５９】
ステップ３４７の肯定判定ルートにおいて、プロセッサ２１は、まず、ステップ３４８において、ステップ３４５で選択した検索結果ｊをグループｋの要素の一つとする。次いで、プロセッサ２１は、この検索結果ｊを含めたグループｋの要素の中で代表となる検索結果を特定することで、グループｋに属する検索結果を一つの検索結果に統合する(ステップ３４９)。このステップ３４９において、プロセッサは、例えば、グループｋに属する検索結果の中で、最も確信度の高い検索結果を、このグループｋの代表となる検索結果として選択することが望ましい。
【０１６０】
これらの処理を実行した後に、プロセッサ２１は、ステップ３４４の処理に戻り、未処理の検索結果があることを確認した上で、次の検索結果に注目した処理を開始する。つまり、プロセッサ２１は、グループｋの先頭の検索結果によって特定される音声データの範囲と重複する範囲を特定する検索結果が続いている限り、ステップ３４４〜ステップ３４９の処理を繰り返し、これらの検索結果を一つの検索結果に統合していく。
【０１６１】
一方、注目する検索結果ｊの開始時刻とグループｋの先頭の検索結果の開始時刻との差分ｄが上述した閾値Ｔｈｇ以上となったときに(ステップ３４７の否定判定)、プロセッサ２１は、２つの検索結果がそれぞれ特定する範囲は重複していないと判断する。このステップ３４７の否定判定ルートにおいて、プロセッサ２１は、上述した変数ｋに数値「１」を加算した後に(ステップ３５０)、ステップ３４３の処理に戻り、検索結果ｊを先頭とする新たなグループｋを作成する。
【０１６２】
このように、プロセッサ２１が、ステップ３４７の肯定判定ルートあるいは否定判定ルートに従って、ステップ３４３〜ステップ３５０の処理を実行することにより、時間軸上で重複する範囲を特定する検索結果をグループ化することができる。つまり、上述したように、プロセッサ２１が、ステップ３４３〜ステップ３５０の処理を実行することにより、図７に示したグループ化部１６３の機能を実現することができる。また、このグループ化処理を行う過程で、プロセッサ２１がステップ３４９の処理を実行することにより、個々のグループに含まれる検索結果を一つの検索結果に統合することができる。
【０１６３】
このようにして、検索結果保持部１６１に保持された全ての検索結果についての処理が完了したときに、プロセッサ２１は、ステップ３４４の否定判定ルートに従って検索結果を統合する処理を終了し、図１４に示したステップ３０６の処理に進む。
【０１６４】
図１８は、検索結果を提示する処理のフローチャートの例を示している。図１８に示したステップ３５１〜ステップ３６０の各処理は、検索結果を提示する処理のためのアプリケーションプログラムに含まれる処理の一例であり、図１４のステップ３０６の処理に相当する。また、これらのステップ３５１〜ステップ３６０の各処理は、プロセッサ２１によって実行される。
【０１６５】
まず、プロセッサ２１は、上述した統合処理の過程で、各グループについて特定された代表の検索結果で特定される箇所に記録された音声を、当該グループに対応する音声として再生する(ステップ３５１)。このステップ３５１において、プロセッサ２１は、上述した統合処理結果として得られた複数のグループの中から、例えば、検索対象の音声データの時間軸において、この音声データの先頭に近い順に、再生対象のグループを選択する。次いで、プロセッサ２１は、選択したグループについて特定した代表の検索結果に基づいて、この検索結果で示される範囲に記録された音声を表す情報を検索対象の音声データから抽出する。このようにして抽出した音声を表す情報を、プロセッサ２１は、図１３に示した音声出力装置２７に渡し、この情報に基づく音声の再生を指示する。このようにして、統合された検索結果のそれぞれで特定された箇所に記録された音声を再生することで、検索対象の音声データに記録された音声の中で、利用者が検索キーとして指定したキーワードが発音されている箇所を順次に利用者に提示することができる。
【０１６６】
次に、プロセッサ２１は、図１３に示した入力装置２を介して入力される利用者からの指示を受け付ける(ステップ３５２)。次いで、プロセッサ２１は、ステップ３５２の処理で受け付けた指示が、検索結果として提示した音声を表す音素表記を修正する旨の修正指示であるか否かを判定する(ステップ３５３)。
【０１６７】
利用者から修正指示が入力された場合に、プロセッサ２１は、ステップ３５３の肯定判定ルートに進み、ステップ３５４〜ステップ３５８の処理を実行する。
【０１６８】
ステップ３５３の肯定判定ルートにおいて、プロセッサ２１は、まず、入力装置２を介して入力される正解の音素表記ＰＤを受け付ける(ステップ３５４)。このステップ３５４において、プロセッサ２１は、利用者が図１３に示したキーボード３１を操作することによって入力した文字列を、正解の音素表記ＰＤを示す情報として取得することが望ましい。この場合に、プロセッサ２１は、キーボード３１を介して入力された文字列を、この文字列に対応する音素表記に変換し、この変換で得られた音素表記を、検索結果として提示した音声によって表される言葉の読みの正解を示す音素表記ＰＤとして受け付ける。このように、プロセッサ２１が、ステップ３５３の肯定判定ルートにおいてステップ３５４の処理を実行することは、図９に示した受付部１７１の機能を実現する手法の一つである。
【０１６９】
次に、プロセッサ２１は、ステップ３５４で受け付けた正解の音素表記ＰＤと指定されたキーワードを表す音素表記ＫＷ０とを照合することにより、この２つの音素表記の差分を抽出する(ステップ３５５)。このステップ３５５において、プロセッサ２１は、図１０を用いて説明したように、正解の音素表記ＰＤに含まれる各音素とキーワードを表す音素表記ＫＷ０に含まれる各音素とを照合し、互いに異なっている音素を、音素対としてそれぞれ抽出する。このように、プロセッサ２１が、ステップ３５３の肯定判定ルートにおいてステップ３５５の処理を実行することは、図９に示した抽出部１７２の機能を実現する手法の一つである。
【０１７０】
次いで、プロセッサ２１は、ステップ３５５で差分として抽出した音素対の中から、例えば、音素表記の先頭に近い順に一つを注目する音素対として選択する（ステップ３５６）。次に、プロセッサ２１は、選択した音素対について、図１９に示すようにして、メモリ２２あるいはハードディスク装置２３に設けられた音素テーブル１１を更新する処理を行う(ステップ３５７)。
【０１７１】
図１９は、音素テーブル１１を更新する処理のフローチャートの例を示している。図１９に示したステップ３６１〜ステップ３６３の各処理は、検索結果を提示する処理のためのアプリケーションプログラムに含まれる処理の一部として含まれた音素テーブル１１を更新する処理の一例であり、図１８のステップ３５７の処理に相当する。また、これらのステップ３６１〜ステップ３６３の各処理は、プロセッサ２１によって実行される。
【０１７２】
まず、プロセッサ２１は、上述した音素テーブル１１に対して、注目する音素対に含まれる２つの音素の双方を含む部分集合についての検索を実行する(ステップ３６１)。次いで、プロセッサ２１は、ステップ３６１の検索処理によって、２つの音素の双方を含む部分集合が得られたか否かを判定する(ステップ３６２)。
【０１７３】
例えば、図１０に示した例のように、差分として抽出された、音素「ｏｕ」と音素「ｕ」との両者を含む部分集合が音素テーブル１１に登録されていない場合に、プロセッサ２１は、ステップ３６２の否定判定ルートに進む。
【０１７４】
このステップ３６２の否定判定ルートにおいて、プロセッサ２１は、上述した２つの音素を含む新たな部分集合を音素テーブル１１に追加することにより、音素テーブル１１を更新する(ステップ３６３)。その後、プロセッサ２１は、音素テーブル１１を更新する処理を終了して、図１８のステップ３５８の処理に進む。
【０１７５】
一方、ステップ３６１の検索処理によって、２つの音素の双方を含む部分集合が得られた場合に(ステップ３６２の肯定判定)、プロセッサ２１は、注目する音素対についての音素テーブル１１の更新は不要であると判断する。したがって、ステップ３６２の肯定判定ルートにおいて、プロセッサ２１は、上述したステップ３６３の処理をスキップし、音素テーブル１１に対する更新処理を終了し、図１８のステップ３５８の処理に進む。
【０１７６】
ステップ３５８において、プロセッサ２１は、ステップ３５５の処理で差分として抽出した全ての音素対についての処理が完了したか否かを判定する。未処理の音素対がある場合に、プロセッサ２１は、ステップ３５８の否定判定ルートに従ってステップ３５６の処理に戻り、新たな音素対に注目した処理を開始する。
【０１７７】
このように、ステップ３５３の肯定判定ルートにおいて、プロセッサ２１が、ステップ３５６〜ステップ３５８の処理を繰り返すことにより、図９に示した更新部１７３の機能を実現することができる。このようにして、検索結果を提示する処理を行う過程で、提示した検索結果について利用者が入力した情報を用いて、検索対象の音声データの特徴を音素テーブル１１に反映することにより、以降に音声データ検索処理を実行する際の精度の向上を図ることができる。
【０１７８】
一方、ステップ３５３の否定判定ルートにおいて、プロセッサ２１は、ステップ３５２で受け付けた指示に応じて、当該指示に対応する処理を実行する(ステップ３５９)。
【０１７９】
ステップ３５３の肯定判定ルートと否定判定ルートとは、ステップ３６０において合流する。このステップ３６０において、プロセッサ２１は、上述した検索結果の統合処理で生成された全てのグループについての提示が完了したか否かを判定する。
【０１８０】
まだ提示済みでないグループが残っている場合に(ステップ３６０の否定判定)、プロセッサ２１は、ステップ３５１に戻って、新たなグループについての処理を開始する。このようにしてステップ３５１〜ステップ３６０の処理を繰り返し実行していくことにより、全てのグループについての提示処理が完了したときに、プロセッサ２１は、ステップ３６０の肯定判定ルートに従って検索結果の提示処理を終了する。
【０１８１】
上述したように、本件開示の音声データ検索装置１０は、図１３に示したコンピュータ装置２０のプロセッサ２１が、メモリ２２、ハードディスク装置２３、音声検索エンジン２４および周辺機器インタフェース２５と協働することによって実現可能である。
【０１８２】
なお、利用者が直接操作するコンピュータ装置２０に音声検索エンジン２４を搭載する代わりに、例えば、音声検索エンジンの機能をネットワーク経由で提供することによって、検索部１４の機能を実現してもよい。同様に、図１に示した音素テーブル１１、取得部１２、生成部１３および図７に示した判別部１５、統合部１６の機能も、ネットワーク上に配置されたサーバ装置が対応するプログラムを実行することによって実現してもよい。
【０１８３】
また、本件開示の音声データ検索方法は、図１４に例示したフローチャートに限られることはなく、例えば、図７に示した判別部１５に相当するステップ３０４の処理と統合部１６に相当するステップ３０５の処理との一方のみを含んでもよい。また、ステップ３０３で得られた検索結果をそのまま利用者に提示する音声データ検索方法もまた、本件開示の音声データ検索方法の一例であり、この場合にも、音声データに含まれるキーワードを発音した音声を記録した箇所を漏れなく検索することが可能である。また、図１４にステップ３０６として示した検索結果を提示する処理は、利用者からの修正指示に応じて音素テーブル１１を更新する処理を含まなくてもよい。
【０１８４】
以上の説明に関して、更に、以下の各項を開示する。
(付記１)
言語の音声表現に用いられる音素の集合のうち、互いに言語音が類似している音素をそれぞれ含む少なくとも一つの部分集合を登録する音素テーブルと、
指定されたキーワードに含まれる音素の配列を取得する取得部と、
前記キーワードに含まれる個々の音素を、当該音素を含む部分集合中の他の音素で置き換えることにより、音素の配列が異なる少なくとも一つの派生キーワードを生成する生成部と、
前記音声データから、前記キーワードおよび前記派生キーワードに類似する類似音声を記録している箇所を類似箇所として検索する検索部と
を備えたことを特徴とする音声データ検索装置。
(付記２)
請求項１に記載の音声データ検索装置において、
前記検索部は、前記音声データにおいて前記類似箇所が現れる時刻を示す時刻情報を、前記検索部による検索結果に付加し、
音声データ検索装置は、
前記各検索結果に含まれる前記時刻情報に基づいて、前記音声データにおいて時間的に重複する前記類似箇所を１つの検索結果として統合する統合部を備える
ことを特徴とする音声データ検索装置。
(付記３)
付記１に記載の音声データ検索装置において、
前記検索部は、前記音声データにおいて前記類似箇所が現れる時刻を示す時刻情報を、前記検索部による検索結果に付加し、
音声データ検索装置は、
前記キーワードおよび前記派生キーワードの発音に要する時間を示す発音時間長をそれぞれ推定する推定部と、
前記時刻情報に基づいて、前記類似箇所に記録された類似音声の長さを示す継続時間長を算出する算出部と、
前記継続時間長と、前記類似音声に対応する前記キーワードおよび前記派生キーワードについて推定された前記発音時間長との差が所定値以下のときに、前記検索部による検索結果を出力対象として選択する選択部とを有する
ことを特徴とする音声データ検索装置。
(付記４)
付記１又は付記２に記載の音声データ検索装置において、
前記類似箇所に記録された音声について、前記音声で表される言葉の表記を訂正するために入力される訂正情報に基づいて、前記音素テーブルを更新する更新部を有し、
前記更新部は、
前記訂正情報に含まれる音素の配列と前記キーワードを示す音素の配列とを比較することにより、２つの音素の配列中で互いに異なる音素を音素対として抽出する抽出部と、
前記抽出部によって抽出された前記音素対を含む新たな部分集合を前記音素テーブルに追加する追加部とを有する
ことを特徴とする音声データ検索装置。
(付記５)
コンピュータが、
言語の音声表現に用いられる音素の集合のうち、互いに言語音が類似している音素をそれぞれ含む少なくとも一つの部分集合を登録する音素テーブルを有しており、
指定されたキーワードに含まれる音素の配列を取得し、
前記キーワードに含まれる個々の音素を、当該音素を含む部分集合中の他の音素で置き換えることにより、音素の配列が異なる少なくとも一つの派生キーワードを生成し、
前記音声データから、前記キーワードおよび前記派生キーワードに類似する類似音声を記録している箇所を類似箇所として検索する
ことを特徴とする音声データ検索方法。
(付記６)
言語の音声表現に用いられる音素の集合のうち、互いに言語音が類似している音素をそれぞれ含む少なくとも一つの部分集合を登録する音素テーブルを有するコンピュータに、
指定されたキーワードに含まれる音素の配列を取得し、
前記キーワードに含まれる個々の音素を、当該音素を含む部分集合中の他の音素で置き換えることにより、音素の配列が異なる少なくとも一つの派生キーワードを生成し、
前記音声データから、前記キーワードおよび前記派生キーワードに類似する類似音声を記録している箇所を類似箇所として検索する
処理を実行させることを特徴とする音声データ検索プログラム。
【符号の説明】
【０１８５】
１…音声データ蓄積装置；２…入力装置；３…出力装置；１０…音声データ検索装置；１１…音素テーブル；１２…取得部；１３…生成部；１４…検索部；１５…判別部；１６…統合部；１７…更新部；２０…コンピュータ装置；２１…プロセッサ；２２…メモリ；２３…ハードディスク装置(ＨＤＤ)；２４…音声検索エンジン；２５…周辺機器インタフェース；２６…表示装置；２７…音声出力装置；２８…光学ドライブ装置；２９…リムーバブルディスク；３０…ネットワークインタフェース；３１…マイクロホン；３２…キーボード；３３…ビデオレコーダ；３４…ＩＣ(Integrated Circuit)レコーダ；１１１…対応管理テーブル；１１２…テーブル選択部；１３１…キーワードテーブル；１５１…推定部；１５２…時間長データ保持部；１５３…算出部；１５４…選択部；１６１…検索結果保持部；１６２…ソート部；１６３…グループ生成部；ｔ−０，ｔ−１，…，ｔ−ｎ…データテーブル；ＮＷ…ネットワーク
【図１】
0005849819.tif 000002
【図２】
0005849819.tif 000003
【図３】
0005849819.tif 000004
【図４】
0005849819.tif 000005
【図５】
0005849819.tif 000006
【図６】
0005849819.tif 000007
【図７】
0005849819.tif 000008
【図８】
0005849819.tif 000009
【図９】
0005849819.tif 000010
【図１０】
0005849819.tif 000011
【図１１】
0005849819.tif 000012
【図１２】
0005849819.tif 000013
【図１３】
0005849819.tif 000014
【図１４】
0005849819.tif 000015
【図１５】
0005849819.tif 000016
【図１６】
0005849819.tif 000017
【図１７】
0005849819.tif 000018
【図１８】
0005849819.tif 000019
【図１９】
0005849819.tif 000020