説明

音声検索装置、音声検索方法及びプログラム

【課題】検索精度が高い音声検索装置、音声検索方法及びプログラムを提供する。
【解決手段】検索対象取得部62は、検索対象の音声データに含まれる各音素を中心音素とし、中心音素とその音素の前側直近の音素と後側直近の音素とを含むトライフォンが時系列順に配列されたトライフォン列Aを取得する。入力部64は、音声データに対して検索する検索語を入力する。検索語取得部66は、入力部64によって入力された検索語を音素列に変換し、トライフォン列Bを取得する。探索部67は、トライフォン列Bの最初及び最後のバイフォンを除くトライフォン列であるトライフォン列Cとトライフォン列Aに含まれる部分列との類似度を算出し、算出された類似度が所定の条件を満たす部分列を、トライフォン列Aから抽出する。出力部69は、探索部67によって抽出された部分列の音声データにおける再生開始時間を表示する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、音声検索装置、音声検索方法及びプログラムに関する。
【背景技術】
【0002】
音声データに含まれる音声をキーワードで検索する場合、音声データをモデル化するのが一般的である。このようなモデルの1つにトライフォンがある(例えば、特許文献1及び2参照)。トライフォンは、3音素の音素モデルである。トライフォンは、音声データに含まれる各音素を中心音素とし、中心音素と、その中心音素の前側直近の音素と、後側直近の音素とを含む。最終的に、音声データは、トライフォンが時系列順に並べられたトライフォン列にモデル化される。
【0003】
トライフォン列に変換された音声データに含まれる音声をキーワードで検索する場合には、キーワードもトライフォン列にモデル化する必要がある。キーワードのトライフォン列は、音声データのトライフォン列の一部と比較される。比較の結果、キーワードのトライフォン列と類似度の高い部分が音声データのトライフォン列から検索される。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2006−11257号公報
【特許文献2】特開2011−39468号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
キーワードの最初の音素には、前側に音素がないため、最初の音素を中心音素とする音素モデルは、トライフォンではなく、2音素のバイフォンとなる。同様に、キーワードの最後の音素には、後側に音素がないため、最後の音素を中心音素とする音素モデルは、バイフォンとなる。すなわち、キーワードのトライフォン列の最初及び最後の音素モデルは、バイフォンとなる。
【0006】
音声データのトライフォン列とキーワードのトライフォン列との比較は、すべてがトライフォンであるトライフォン列と、一部にバイフォンを含むトライフォン列との比較となる。キーワードのトライフォン列に含まれるバイフォンは、両者の類似度を下げる要因となり、検索におけるノイズとなる。この結果、キーワードの検索精度が低下する。
【0007】
本発明は、上記実情に鑑みてなされたものであり、検索精度が高い音声検索装置、音声検索方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するため、本発明に係る音声検索装置は、
検索対象の音声データに含まれる各音素を中心音素とし、中心音素とその音素の前側直近の音素及び後側直近の音素の少なくとも一方とを含む音素モデルが時系列順に配列された第1の音素モデル列を取得する検索対象取得部と、
前記音声データに対して検索する検索語を音素列に変換し、変換した音素列を構成する各音素を中心音素とし、中心音素とその中心音素の前側直近の音素及び後側直近の音素の少なくとも一方とを含む音素モデルが時系列順に配列された第2の音素モデル列を取得する検索語取得部と、
前記第2の音素モデル列の最初及び最後の少なくとも一方の音素モデルを除く音素モデル列である第3の音素モデル列と前記第1の音素モデル列に含まれる部分列との第1の類似度を算出し、算出された前記第1の類似度が所定の条件を満たす部分列を、前記第1の音素モデル列から抽出する探索部と、
前記探索部により抽出された前記部分列に対応する前記音声データに関する情報を出力する出力部と、
を備える。
【発明の効果】
【0009】
本発明によれば、検索精度が高くなる。
【図面の簡単な説明】
【0010】
【図1】本発明の実施形態1に係る音声検索装置のハードウェア構成を示すブロック図である。
【図2】本発明の実施形態1に係る音声検索装置の機能構成を示すブロック図である。
【図3】検索対象の音声データに基づいて生成されたトライフォン列Aを示す図である。
【図4】検索語に基づいて生成された音素列、トライフォン列B及びトライフォン列Cを示す図である。
【図5】2つのトライフォン列で定義されるノードを示す図である。
【図6】トライフォン間距離テーブルの内容を示す図である。
【図7】連続DPマッチングで用いる漸化式を説明する図である。
【図8】部分列の抽出方法を説明する図である。
【図9】本発明の実施形態1に係る音声検索処理のフローチャートである。
【図10】本発明の実施形態1に係る探索処理のフローチャートである。
【図11】本発明の実施形態2に係る探索処理のフローチャートである。
【図12】本発明の実施形態3に係る探索処理のフローチャートである。
【図13】本発明の実施形態4に係る探索処理のフローチャートである。
【発明を実施するための形態】
【0011】
(実施形態1)
本発明の実施形態1について、図面を参照して詳細に説明する。まず、図1を参照して、本実施形態に係る音声検索装置100のハードウェア構成について説明する。図1に示すように、音声検索装置100は、ROM1(Read Only Memory)と、RAM2(Random Access Memory)と、外部記憶装置3と、入力装置4と、出力装置5と、CPU6(Central Processing Unit)とを備える。
【0012】
ROM1は、各種初期設定、ハードウェアの検査、プログラムのロード等を行うための初期プログラムを記憶する。RAM2は、CPU6が実行する各種ソフトウェアプログラム、これらのソフトウェアプログラムの実行に必要なデータ等を一時的に記憶する。外部記憶装置3は、例えば、ハードディスク等であって、各種ソフトウェアプログラム、データ等を記憶する。これらソフトウェアプログラムの中には、アプリケーションソフトウェアプログラムやOS(Operating System)のような基本ソフトウェアプログラムなどが含まれている。
【0013】
各種データには、音声データが含まれる。音声データは、例えば、ニュース放送等の音声、録音された会議の音声、映画の音声等に係る音声データである。
【0014】
入力装置4は、例えば、キーボード等である。入力装置4は、ユーザがキーボードを用いて操作入力したテキストデータ等をCPU6に入力する。出力装置5は、例えば、液晶ディスプレイ等の画面、スピーカ等を備える。出力装置5は、CPU6によって出力されたテキストデータを画面に表示し、音声データをスピーカから出力する。
【0015】
CPU6は、外部記憶装置3に記憶されたソフトウェアプログラムをRAM2に読み出して、そのソフトウェアプログラムを実行制御することにより、以下の機能構成を実現する。
【0016】
次に、図2を参照して、音声検索装置100の機能構成を説明する。音声検索装置100は、音声データ記憶部61、検索対象取得部62、トライフォン列記憶部63、入力部64、変換テーブル記憶部65、検索語取得部66、探索部67、トライフォン間距離記憶部68、出力部69を備える。音声データ記憶部61、トライフォン列記憶部63、変換テーブル記憶部65及びトライフォン間距離記憶部68は、外部記憶装置3の記憶領域に構築されている。
【0017】
音声データ記憶部61は、検索対象の音声データを記憶する。検索対象取得部62は、音声データ記憶部61に記憶された検索対象の音声データに基づくトライフォン列A(第1の音素モデル列)を取得する。トライフォンとは、中心音素とその音素の前側直近の音素と後側直近の音素とを含む音素モデルである。トライフォン列Aは、検索対象の音声データに含まれる各音素を中心音素とするトライフォンが時系列順に配列されたものである。トライフォン列Aは、音響モデルとして、例えば、トライフォンHMM(Hidden Markov Model)を用いて生成される。検索対象取得部62は、トライフォンHMMを利用してトライフォン列Aを生成するトライフォン音韻認識エンジンとして機能する。
【0018】
トライフォンは、「前側直近の音素−中心音素+後側直近の音素」で表現される。トライフォンを時系列順に配列したものがトライフォン列となる。例えば、図3に示すように、音声データに基づいて生成されたトライフォン列Aの一部は、「a−o+N」、「o−N+s」、「N−s+e」、「s−e:+sh」、「e−sh+i」、「sh−i+N」、「i−N+g」、「N−g+o」、「g−o:+sh」、「o−sh+o」、「sh−o+r」、「o−r+i」、「r−i+k」、「i−k+o」、「k−o:+z」、「o−z+a」、「z−a+g」となる。
【0019】
検索対象取得部62は、音声データに基づいてトライフォン列Aを予め生成しておき、トライフォン列記憶部63に記憶させる。このとき、検索対象取得部62は、生成した各トライフォンと、そのトライフォンに対応する音声データの再生開始時間とが対応付けられた情報テーブルを作成し、トライフォン列記憶部63に記憶させる。また、検索対象取得部62は、生成した各トライフォンに対応する音声データを、情報テーブルの再生開始時間に対応付けてトライフォン列記憶部63に記憶させる。
【0020】
入力部64は、音声データに対して検索する検索語を入力する。より詳細には、入力部64は、入力装置4が備えるキーボードを用いてユーザが操作入力した検索語、例えば「信号処理」のテキストデータを検索語取得部66に入力する。
【0021】
変換テーブル記憶部65は、テキストデータと音素とが対応付けられた変換テーブルを記憶する。検索語取得部66は、入力部64によって入力された検索語に基づくトライフォン列B(第2の音素モデル列)を取得する。より詳細には、まず、検索語取得部66は、入力部64によって入力された検索語を音素列に変換する。検索語の音素列への変換では、検索語取得部66は、変換テーブル記憶部65に記憶された変換テーブルを参照し、テキストデータを音素に変換する。続いて、検索語取得部66は、変換した音素を時系列順に配列し、音素列に変換する。
【0022】
検索語取得部66は、変換した音素列を構成する各音素を中心音素とし、中心音素とその中心音素の前側直近の音素と後側直近の音素とを含むトライフォンが時系列順に配列されたトライフォン列B(第2の音素モデル列)を生成する。
【0023】
例えば、入力部64によって入力された検索語が「信号処理」の場合には、図4に示すように、検索語取得部66は、「信号処理」を、音素列「sh」、「i」、「N」、「g」、「o:」、「sh」、「o」、「r」、「i」に変換する。続いて、検索語取得部66は、変換された音素列に基づいて、トライフォン列Bとして、「sh+i」、「sh−i+N」、「i−N+g」、「N−g+o」、「g−o:+sh」、「o−sh+o」、「sh−o+r」、「o−r+i」、「r−i」を生成する。上述のように、生成されたトライフォン列Bは、最初及び最後にバイフォンを含む。
【0024】
探索部67は、トライフォン列Bの最初及び最後のトライフォンを除くトライフォン列であるトライフォン列C(第3の音素モデル列)とトライフォン列Aに含まれる部分列との類似度を算出する。探索部67は、検索語取得部66から出力されたトライフォン列Bに基づいてトライフォン列Cを生成する。トライフォン列Cは、図4に示すように、トライフォン列Bの最初のバイフォン「sh+i」と、最後のバイフォン「r−i」が除かれて、「sh−i+N」、「i−N+g」、「N−g+o」、「g−o:+sh」、「o−sh+o」、「sh−o+r」、「o−r+i」となる。
【0025】
探索部67は、類似度をトライフォン列Aとトライフォン列Cとの連続DP(Dynamic Programming)マッチングで算出する。連続DPマッチングは、既知の任意の方法を用いてよいが、本実施形態では、探索部67は、以下の方法で連続DPマッチングを実行する。
【0026】
まず、探索部67は、トライフォン列Cに含まれる各トライフォンに対応する行と、トライフォン列Aに含まれる各トライフォンに対応する列とで構成されるノードの集合を定義する。以下では、一例として図5に示すように、ノードがトライフォン列Cの7個のトライフォンに対応する7行、トライフォン列Aに含まれる10個のトライフォンに対応する10列に配置された場合を説明する。なお、i行j列に位置するノードをノード(i,j)とし、図5に示すノードの集合を探索テーブルとする。
【0027】
次に、探索部67は、各ノード(i,j)についてコストX(i,j)を定義する。コストX(i,j)は、トライフォン列Cの最初のトライフォンに対応するノード(i=1のノード)からノード(i,j)までたどった場合に、たどったノードに対応するトライフォン列Cとトライフォン列Aの部分列とのマッチングの誤差、すなわち類似度を示す。
【0028】
コストX(i,j)は、以下のように更新される。まず、探索部67は、探索テーブルの1行目のノード(ノード(1,1)からノード(1,10))のコストX(コストX(1,1)からコストX(1,10))に、それぞれトライフォン列Cの最初のトライフォンと、それに対応するトライフォン列Aのトライフォンとの距離を初期値として代入する。
【0029】
より詳細には、トライフォン列Cのi番目のトライフォンとトライフォン列Aのj番目のトライフォンとの距離をd(i,j)とすると、探索部67は、コストX(1,j)にd(1,j)を代入する。また、探索部67は、ノード(1,1)を除く1列目のノード(ノード(2,1)からノード(7,1))のコストX(コストX(2,1)からコストX(7,1))に、想定されるコストXの最大値より十分に大きな値を初期値として代入する。
【0030】
距離d(i,j)は、トライフォン間距離記憶部68に記憶されたトライフォン間距離テーブルを参照して求められる。図6に示すように、トライフォン間距離テーブルは、トライフォン同士の全ての組み合わせについて実験的に求められた距離dを格納している。図6の例では、「a−a+a」に対する「a−a+i」、「a−a+u」、「o−w+o」の距離dは、それぞれ「5」、「7」、「100」である。「a−a+i」に対する「a−a+u」、「o−w+o」との距離dは、それぞれ「20」、「99」である。また、「a−a+u」に対する「o−w+o」の距離dは、「98」である。また、同一のトライフォン間の距離dは「0」である。
【0031】
トライフォン間の距離dは、例えば、そのトライフォンに含まれる3つの音素間の距離の平均であってもよい。この場合、音素間の距離は、音響モデルを用いて各音素の特徴量からあらかじめ求められている。音素の特徴量は、例えば、音素の波形データの周波数帯域における短時間スペクトルである。
【0032】
初期値が代入されたノード同士は、トライフォンの一致又は置換、挿入及び脱落に対応するパスで互いに接続される。ここで、図7を参照して、一致又は置換、挿入及び脱落について詳細に説明する。図7に示すように、一致又は置換は、ノード(i−1,j−1)とノード(i,j)との接続である。挿入は、ノード(i−1,j−2)とノード(i,j)との接続である。脱落は、ノード(i−2,j−1)とノード(i,j)との接続である。
【0033】
次に、探索部67は、コストX(i,j)を、一致又は置換、挿入及び脱落それぞれに対応する次の漸化式で更新する。
【0034】
【数1】

【0035】
上記漸化式の上段は、一致又は置換の場合に対応する。この場合、探索部67は、コストX(i−1,j−1)にd(i,j)を加算する。上記漸化式の中段は、挿入の場合に対応する。この場合、探索部67は、コストX(i−1,j−2)にd(i,j−1)及びd(i,j)の平均を加算し、さらに挿入コストαを加算する。上記漸化式の下段は脱落の場合に対応する。この場合、探索部67は、コストX(i−2,j−1)にd(i,j)及びd(i−1,j)を加算し、さらに脱落コストβを加算する。なお、挿入コストα及び脱落コストβはあらかじめ設定された定数である。
【0036】
なお、上記漸化式は、例えば2つのトライフォン列を挿入する場合に対応する式として、コストX(i−1,j−3)にd(i,j−2)とd(i,j−1)とd(i,j)の平均を加算し、さらに挿入コストγを加算する式を漸化式に加える等の任意の変形が可能である。
【0037】
探索部67は、上記のようにX(i,j)を更新する。次に、探索部67は、i=7の各ノードのうち、コストX(7,j)が最も小さいノードを選択する。以下、コストX(7,9)が最も小さい場合を例にとって説明する。
【0038】
図8に示すように、探索部67は、選択されたコストX(7,9)が算出された経路を遡ることによって、トライフォン列Cの1番目のトライフォンにマッチングされたトライフォン列Aの3番目のトライフォンを特定する。この結果、探索部67は、トライフォン列Aの3番目から9番目までを含む部分列を抽出する。このとき、コストX(7,9)は、トライフォン列Cとトライフォン列Aに含まれる部分列との類似度に相当する。
【0039】
このように、連続DPマッチングを実行することによって、探索部67は、算出されたコストXが、所定の条件として最も小さい部分列をトライフォン列Aから抽出する。
【0040】
なお、探索部67は、コストXが最も小さいノードを選択したが、コストXが所定の閾値未満であること及びコストXが小さい順に所定順位内にあることのいずれかを所定の条件として、ノードを選択することによって、部分列を抽出するようにしてもよい。
【0041】
部分列を抽出した探索部67は、抽出された部分列に対応する音声データに関する情報を出力する。抽出された部分列に対応する音声データに関する情報は、例えば、抽出された部分列の最初のトライフォンに対応する再生開始時間及び抽出された部分列に対応する音声データである。探索部67は、トライフォン列記憶部63に記憶された情報テーブルを参照して、当該再生開始時間と音声データとを取得し、当該再生開始時間と音声データとを出力部69に出力する。
【0042】
出力部69は、探索部67によって抽出された部分列に対応する音声データに関する情報を出力装置5に出力する。より具体的には、出力部69は、探索部67から出力された再生開始時間を、出力装置5が備える画面を介して表示する。ここで、ユーザによって入力装置4を介して抽出された部分列に対応する音声データの再生の指示が入力されると、出力部69は、探索部67から出力された音声データを、スピーカを介して出力するようにしてもよい。
【0043】
次に、図9を参照しながら、本実施形態における音声検索装置100による音声検索処理のフローについて詳細に説明する。前提として、トライフォン列記憶部63には、図3に示すトライフォン列Aがすでに記憶されているものとする。
【0044】
入力部64は、検索語「信号処理」に対応するテキストデータを検索語取得部66に入力する(ステップS1)。検索語取得部66は、入力されたテキストデータに基づいてトライフォン列Bを生成する(ステップS2)。続いて、探索部67は、トライフォン列Cから部分列を抽出する探索処理を実行する(ステップS3)。
【0045】
ここで、図10を参照しながら、探索処理(ステップS3)を詳細に説明する。探索部67は、トライフォン列Bの最初及び最後のバイフォンを除いたトライフォン列Cを生成する(ステップS11)。続いて、探索部67は、トライフォン列Cとトライフォン列Aとで連続DPマッチングを実行する(ステップS12)。続いて、探索部67は、連続DPマッチングの結果から、コストXが最も小さい部分列を抽出する(ステップS13)。次に、図9に戻って、出力部69は、抽出された部分列に対応する再生開始時間を、画面を介して表示する(ステップS4)。そして、音声検索装置100は、音声検索処理を終了する。
【0046】
以上詳細に説明したように、本実施形態に係る音声検索装置100は、トライフォン列Bの最初及び最後のバイフォンを除いたトライフォン列Cを用いて連続DPマッチングを実行する。そのため、バイフォンを含むトライフォン列Bを用いて上記連続DPマッチングを実行した場合と比較して、バイフォンの音素数がトライフォンの音素数と一致しないことによるコストXの増加を防ぐことができる。これにより、検索精度が高くなる。
【0047】
(実施形態2)
次に、本発明の実施形態2について、詳細に説明する。本実施形態における音声検索装置100のハードウェア構成及び機能構成は、上記実施形態1と同じであるが、探索部67の機能が異なる。検索語が短い、すなわちトライフォン列Bを構成するトライフォンの数が少ない場合には、バイフォンを削除するとトライフォン列Cを構成するトライフォンの数が少なくなって、検索語に係るデータ量が極端に少なくなることがある。この結果、検索精度がかえって低下することがある。
【0048】
そこで、探索部67は、トライフォン列Bを構成するトライフォンの数が閾値未満である場合には、トライフォン列Bとトライフォン列Aに含まれる部分列とのコストY(第2の類似度)を算出する。そして、探索部67は、算出されたコストYが最も小さい部分列を、トライフォン列Aから抽出する。一方、探索部67は、トライフォン列Bを構成するトライフォンの数が閾値以上である場合には、トライフォン列Cとトライフォン列Aに含まれる部分列とのコストX(第1の類似度)を算出する。
【0049】
本実施形態における音声検索装置100による音声検索処理のフローについて詳細に説明する。本実施形態に係る音声検索処理のフローは、上記実施形態1に係る音声検索処理における探索処理(ステップS3)が異なる。以下では、図11を参照しながら、本実施形態の探索処理について上記実施形態1と異なる部分を主に説明する。
【0050】
探索部67は、トライフォン列Bを構成するトライフォンの数が閾値以上であるか否かを判定する(ステップS21)。トライフォン列Bを構成するトライフォンの数が閾値以上の場合(ステップS21;Yes)、探索部67は、上記実施形態1のステップS11からステップS13と同様に、ステップS22からステップS24を実行する。続いて、音声検索装置100は、音声検索処理に戻り、ステップS4を実行して、音声検索処理を終了する。
【0051】
一方、トライフォン列Bを構成するトライフォンの数が閾値未満の場合(ステップS21;No)、探索部67は、トライフォン列Bとトライフォン列Aとで連続DPマッチングを行う(ステップS25)。続いて、探索部67は、コストYが最も小さい部分列を抽出する(ステップS24)。そして、音声検索装置100は、音声検索処理に戻り、ステップS4を実行して、音声検索処理を終了する。
【0052】
以上詳細に説明したように、本実施形態によれば、トライフォン列Bを構成するトライフォンの数に応じて、トライフォン列Cを用いてコストXを算出するか、トライフォン列Bを用いてコストYを算出するかが選択される。こうすることで、トライフォン列Bのトライフォンの数が少ない場合に、トライフォン列Bの最初及び最後のバイフォンを除くことによってデータ量が極端に少なくなるのを防ぐことができる。この結果、検索精度が高くなる。
【0053】
(実施形態3)
次に、本発明の実施形態3について、詳細に説明する。本実施形態における音声検索装置100のハードウェア構成及び機能構成は、上記実施形態1と同じであるが、探索部67の機能が異なる。探索部67は、コストX(第1の類似度)及びコストY(第2の類似度)を両方算出し、コストX、Yが最も小さい部分列を抽出する。
【0054】
本実施形態における音声検索装置100による音声検索処理のフローについて詳細に説明する。本実施形態に係る音声検索処理のフローは、上記実施形態1に係る音声検索処理における探索処理(ステップS3)が異なる。以下では、図12を参照しながら、本実施形態の探索処理について、上記実施形態1と異なる部分を主に説明する。
【0055】
探索部67は、トライフォン列Bとトライフォン列Aとで連続DPマッチングを行う(ステップS31)。続いて、探索部67は、トライフォン列Cを生成する(ステップS32)。続いて、探索部67は、トライフォン列Cとトライフォン列Aとで連続DPマッチングを行う(ステップS33)。そして、探索部67は、コストX、Yが最も小さい部分列を抽出する(ステップS34)。続いて、音声検索装置100は、音声検索処理に戻り、ステップS4を実行して、音声検索処理を終了する。
【0056】
以上詳細に説明したように、本実施形態によれば、トライフォン列Bを構成するトライフォンの数が少なく、バイフォンを除くことによってデータ量が極端に少なくなる場合には、コストYに基づいて部分列が抽出される。一方、トライフォンの数が十分あって、バイフォンを除くことが有利な場合には、コストXに基づいて部分列が抽出される。このように、トライフォンの数に柔軟に対応して部分列を抽出することができるので、検索精度をさらに向上させることができる。
【0057】
(実施形態4)
次に、本発明の実施形態4について、詳細に説明する。本実施形態における音声検索装置100のハードウェア構成及び機能構成は、上記実施形態1と同じであるが、探索部67の機能が異なる。探索部67は、トライフォン列Bの最初及び最後のバイフォンの重みを、トライフォン列Bを構成する残りのトライフォンより軽減して、トライフォン列Bとトライフォン列Aに含まれる部分列とのコストZを算出し、算出されたコストZが最も小さい部分列を、トライフォン列Aから抽出する。
【0058】
例えば、探索部67は、トライフォン列Bの最初のバイフォン「sh+i」と、これに対応するトライフォン列Aのトライフォンとの距離dに1/2を乗じた値と、トライフォン列Bの最後のバイフォン「r−i」と、これに対応するトライフォン列Aのトライフォンの距離dに1/2を乗じた値を算出する。探索部67は、この算出した値を用いて、連続DPマッチングを行う。そして、探索部67は、トライフォン列Bとトライフォン列Aに含まれる部分列とのコストZを算出し、算出されたコストZが最も小さい部分列を抽出する。
【0059】
次に、本実施形態における音声検索装置100による音声検索処理のフローについて詳細に説明する。本実施形態に係る音声検索処理のフローは、上記実施形態1に係る音声検索処理における探索処理(ステップS3)が異なる。以下では、図13を参照しながら、本実施形態の探索処理について、上記実施形態1と異なる部分を主に説明する。
【0060】
探索部67は、トライフォン列Bとトライフォン列Aとで連続DPマッチングを行う(ステップS41)。ただし、コストZの算出では、探索部67は、トライフォン列Bの最初及び最後のバイフォンとトライフォン列Aのトライフォンとの距離dに1/2を乗じる。続いて、探索部67は、コストZが最も小さい部分列を抽出する(ステップS42)。そして、音声検索装置100は、音声検索処理に戻り、ステップS4を実行して、音声検索処理を終了する。
【0061】
以上説明したように、本実施形態によれば、コストの算出における、トライフォン列Bの最初及び最後のバイフォンとトライフォン列Aのトライフォンとの距離の重みを軽減する。こうすることで、トライフォン列Bの最初及び最後のバイフォンの音素数がトライフォン列Aのトライフォンの音素数と一致しないことによるコストZの増加を小さくすることができる。この結果、検索精度が高まる。
【0062】
また、上記各実施形態において、探索部67は、コストが所定の閾値未満であること及びコストが小さい順に所定順位内にあることのいずれかを所定の条件として、部分列を抽出してもよいとした。こうすることで、検索語に合致又は類似する部分列が複数抽出され場合には、ユーザは複数の検索結果を確認できる。
【0063】
また、上記各実施形態では、類似度を連続DPマッチングで算出するようにした。これにより、類似度を効率的に算出できる。
【0064】
また、上記各実施形態では、音素モデルをトライフォンとした。トライフォンを用いずに、音素で表現すると、例えば音素「r」は、前側直近と後側直近の音素に関わらず「r」と表現される。一方、トライフォンを用いると、同じ音素「r」でも、例えば「o−r+i」のように、前側直近の音素が「o」、前側直近の音素が「i」であるという情報を含めて表現することができる。このように、トライフォンは、より多くのデータ量を含むため、より精密に音素を表現することができ、検索精度が向上する。
【0065】
なお、音声データ記憶部61に記憶される検索対象の音声データは、CPU6がCD(Compact Disc)、DVD(Digital Versatile Disc)等の媒体から読み込むようにしてもよいし、インターネット回線を介してサーバ等からダウンロードするようにしてもよい。また、音声データのデータ形式は、WAVE形式、AIFF(Audio Interchange File Format)形式等であってもよい。
【0066】
なお、検索語は、「信号処理」等の単語に限らず、複数の単語を含むキーワード、語句等であってもよい。
【0067】
なお、探索部67は、トライフォン列Bの最初及び最後のバイフォンのいずれか一方を除いたトライフォン列をトライフォン列Cとして生成してもよい。
【0068】
なお、上記実施形態2における、トライフォン列Bを構成するトライフォンの数の閾値は、十個以上二十個未満が好ましく、十数個がより好ましい。
【0069】
また、入力部64は、入力装置4を介して入力された検索語としての音声データに対して音声認識処理等をしてもよい。入力部64は、音声認識処理によって音声データが変換されたテキストデータを検索語取得部66に入力する。より具体的には、入力装置4は、例えば、マイクロフォンを備え、入力部64は、マイクロフォンに対してユーザが発声した「信号処理」に対応する音声データを、音声認識処理によってテキストデータに変換して、検索語取得部66に入力する。こうすることで、ユーザは、検索語を発声して入力することができるので、さらに利便性が向上する。
【0070】
なお、上記各実施形態では、探索部67は、抽出された部分列を構成するトライフォンの内、最初のトライフォンの再生開始時間を出力部69に出力するようにした。こうすることで、ユーザが、表示された再生開始時間を指定して音声データの再生を指示することによって、検索語に合致する部分から音声データを再生することができる。また、探索部67は、トライフォン列記憶部63に記憶された情報テーブルを参照して、抽出された部分列とその前後数秒とを含む音声データをトライフォン列記憶部63から取得し、当該音声データを出力部69に出力してもよい。この場合、出力部69は、探索部67から出力された音声データを、出力装置5が備えるスピーカを介して出力する。こうすることで、ユーザは、検索結果を確認する上で、検索語に合致する音声の前後を含めて確認できるので、利便性がさらに高まる。
【0071】
また、探索部67は、抽出された部分列とその前後数秒とを含む音声データとともに抽出された部分列における最初のトライフォンの再生開始時間を出力部69に出力してもよい。この場合、探索部67は、所定の条件を満たす複数の部分列における最初のトライフォンの再生開始時間を出力してもよい。探索部67は、コストXが小さい上位、例えば、5つの部分列の再生開始時間、及び各再生開始時間に対応付けられたその部分列とその前後数秒とを含む音声データを出力部69に出力してもよい。この場合、出力部69によって、上位5つの部分列の再生開始時間が画面に表示される。さらに、出力部69は、標示された上位5つの部分列の再生開始時間のうち、ユーザによって選択された再生開始時間に対応する音声データを出力するようにしてもよい。
【0072】
また、探索部67は、検索対象の音声データが複数であった場合に、抽出された部分列を含む音声データのデータ名を音声データ記憶部61から取得して、出力部69に出力してもよい。この場合、出力部69は、探索部67から出力された音声データのデータ名を、画面に表示する。
【0073】
また、探索部67は、経路を遡る処理を省略し、i=7の各ノードのうち、コストXが最も小さいノードから所定数のノードに対応するトライフォンを含む部分列を抽出してもよい。このように経路を遡る処理を省略すると、部分列を概略的に抽出することになるが、部分列の抽出に要する計算量を抑えることができる。
【0074】
なお、上記各実施形態では、音素の特徴量を、音素の波形データの周波数帯域における短時間スペクトルとしたが、音素の特徴量は、音素の周波数帯域における短時間スペクトルの対数値等であってもよい。
【0075】
また、検索対象取得部62、検索語取得部66は、検索対象の音声データ及び検索語が変換された音素列に基づいてバイフォン列をそれぞれ生成してもよい。この場合、最初の音素の前側直近、及び最後の音素の後側直近に音素がないため、最初及び最後の音素モデルは、「sh」と「i」のように1音素のみのモノフォンとなる。探索部67は、検索語のバイフォン列の最初及び最後のモノフォン(「sh」、「i」)を除いたバイフォン列と検索対象のバイフォン列に含まれる部分列とで連続DPマッチングを行えばよい。
【0076】
また、上記各実施形態では、トライフォン間の距離dを、そのトライフォンに含まれる3つの音素間の距離の平均としたが、トライフォンの中心音素間の距離の重みを大きくして算出した3つの音素間の距離の重み付け平均としてもよい。
【0077】
なお、音声検索装置100は、テレビ受像機、地上デジタル放送受信機、録画装置、録音装置、PC(Personal Computer)、携帯電話機等の携帯端末、PHS(Personal Handy-phone System)、PDA(Personal Digital Assistant又はPersonal Data Assistance)、ゲーム機等であってもよい。
【0078】
なお、上記各実施形態において、実行されるソフトウェアプログラムは、フレキシブルディスク、CD−ROM(Compact Disc Read-Only Memory)、DVD、MO(Magneto-Optical disc)等のコンピュータ読み取り可能な記録媒体に格納して配布し、そのソフトウェアプログラムをインストールすることにより、上述の処理を実行するシステムを構成することとしてもよい。
【0079】
また、ソフトウェアプログラムをインターネット等の通信ネットワーク上の所定のサーバ装置が有するディスク装置等に格納しておき、例えば、搬送波に重畳させて、ダウンロード等するようにしてもよい。
【0080】
また、上述の機能を、OSが分担して実現する場合又はOSとアプリケーションソフトウェアプログラムとの協働により実現する場合等には、OS以外の部分のみを媒体に格納して配布してもよく、また、ダウンロード等してもよい。
【0081】
以上、本発明の好ましい実施形態について説明したが、本発明は係る特定の実施形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲が含まれる。以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
【0082】
(付記1)
検索対象の音声データに含まれる各音素を中心音素とし、中心音素とその音素の前側直近の音素及び後側直近の音素の少なくとも一方とを含む音素モデルが時系列順に配列された第1の音素モデル列を取得する検索対象取得部と、
前記音声データに対して検索する検索語を音素列に変換し、変換した音素列を構成する各音素を中心音素とし、中心音素とその中心音素の前側直近の音素及び後側直近の音素の少なくとも一方とを含む音素モデルが時系列順に配列された第2の音素モデル列を取得する検索語取得部と、
前記第2の音素モデル列の最初及び最後の少なくとも一方の音素モデルを除く音素モデル列である第3の音素モデル列と前記第1の音素モデル列に含まれる部分列との第1の類似度を算出し、算出された前記第1の類似度が所定の条件を満たす部分列を、前記第1の音素モデル列から抽出する探索部と、
前記探索部により抽出された前記部分列に対応する前記音声データに関する情報を出力する出力部と、
を備える音声検索装置。
【0083】
(付記2)
前記探索部は、
前記第2の音素モデル列を構成する前記音素モデルの数が閾値未満である場合には、前記第2の音素モデル列と前記第1の音素モデル列に含まれる部分列との第2の類似度を算出し、算出された前記第2の類似度が所定の条件を満たす部分列を、前記第1の音素モデル列から抽出する、
ことを特徴とする付記1に記載の音声検索装置。
【0084】
(付記3)
前記探索部は、
前記第1の類似度及び前記第2の音素モデル列と前記第1の音素モデル列に含まれる部分列との第2の類似度を両方算出し、前記第1、第2の類似度が所定の条件を満たす部分列を、前記第1の音素モデル列から抽出する、
ことを特徴とする付記1に記載の音声検索装置。
【0085】
(付記4)
検索対象の音声データに含まれる各音素を中心音素とし、中心音素とその音素の前側直近の音素及び後側直近の音素の少なくとも一方とを含む音素モデルが時系列順に配列された第1の音素モデル列を取得する検索対象取得部と、
前記音声データに対して検索する検索語を音素列に変換し、変換した音素列を構成する各音素を中心音素とし、中心音素とその中心音素の前側直近の音素及び後側直近の音素の少なくとも一方とを含む音素モデルが時系列順に配列された第2の音素モデル列を取得する検索語取得部と、
前記第2の音素モデル列の最初及び最後の少なくとも一方の音素モデルの重みを、前記第2の音素モデル列を構成する残りの音素モデルより軽減して、前記第2の音素モデル列と前記第1の音素モデル列に含まれる部分列との類似度を算出し、算出された前記類似度が所定の条件を満たす部分列を、前記第1の音素モデル列から抽出する探索部と、
前記探索部により抽出された前記部分列に対応する前記音声データに関する情報を出力する出力部と、
を備える音声検索装置。
【0086】
(付記5)
前記探索部は、
前記類似度が所定の閾値以上であること及び前記類似度が高い順に所定順位内にあることのいずれかを前記所定の条件として、前記部分列を抽出する、
ことを特徴とする付記1乃至4のいずれかに記載の音声検索装置。
【0087】
(付記6)
前記探索部は、
前記類似度を連続DPマッチングで算出する、
ことを特徴とする付記1乃至5のいずれかに記載の音声検索装置。
【0088】
(付記7)
前記音素モデルは、
中心音素とその中心音素の前側直近の音素と後側直近の音素とを含むトライフォンである、
ことを特徴とする付記1乃至6のいずれかに記載の音声検索装置。
【0089】
(付記8)
検索対象の音声データに含まれる各音素を中心音素とし、中心音素とその音素の前側直近の音素及び後側直近の音素の少なくとも一方とを含む音素モデルが時系列順に配列された第1の音素モデル列を取得する検索対象取得工程と、
前記音声データに対して検索する検索語を音素列に変換し、変換した音素列を構成する各音素を中心音素とし、中心音素とその中心音素の前側直近の音素及び後側直近の音素の少なくとも一方とを含む音素モデルが時系列順に配列された第2の音素モデル列を取得する検索語取得工程と、
前記第2の音素モデル列の最初及び最後の少なくとも一方の音素モデルを除く音素モデル列である第3の音素モデル列と前記第1の音素モデル列に含まれる部分列との第1の類似度を算出し、算出された前記第1の類似度が所定の条件を満たす部分列を、前記第1の音素モデル列から抽出する探索工程と、
前記探索工程において抽出された前記部分列に対応する前記音声データに関する情報を出力する出力工程と、
を含む音声検索方法。
【0090】
(付記9)
検索対象の音声データに含まれる各音素を中心音素とし、中心音素とその音素の前側直近の音素及び後側直近の音素の少なくとも一方とを含む音素モデルが時系列順に配列された第1の音素モデル列を取得する検索対象取得工程と、
前記音声データに対して検索する検索語を音素列に変換し、変換した音素列を構成する各音素を中心音素とし、中心音素とその中心音素の前側直近の音素及び後側直近の音素の少なくとも一方とを含む音素モデルが時系列順に配列された第2の音素モデル列を取得する検索語取得工程と、
前記第2の音素モデル列の最初及び最後の少なくとも一方の音素モデルの重みを、前記第2の音素モデル列を構成する残りの音素モデルより軽減して、前記第2の音素モデル列と前記第1の音素モデル列に含まれる部分列との類似度を算出し、算出された前記類似度が所定の条件を満たす部分列を、前記第1の音素モデル列から抽出する探索工程と、
前記探索工程において抽出された前記部分列に対応する前記音声データに関する情報を出力する出力工程と、
を含む音声検索方法。
【0091】
(付記10)
コンピュータを、
検索対象の音声データに含まれる各音素を中心音素とし、中心音素とその音素の前側直近の音素及び後側直近の音素の少なくとも一方とを含む音素モデルが時系列順に配列された第1の音素モデル列を取得する検索対象取得部、
前記音声データに対して検索する検索語を音素列に変換し、変換した音素列を構成する各音素を中心音素とし、中心音素とその中心音素の前側直近の音素及び後側直近の音素の少なくとも一方とを含む音素モデルが時系列順に配列された第2の音素モデル列を取得する検索語取得部、
前記第2の音素モデル列の最初及び最後の少なくとも一方の音素モデルを除く音素モデル列である第3の音素モデル列と前記第1の音素モデル列に含まれる部分列との第1の類似度を算出し、算出された前記第1の類似度が所定の条件を満たす部分列を、前記第1の音素モデル列から抽出する探索部、
前記探索部により抽出された前記部分列に対応する前記音声データに関する情報を出力する出力部、
として機能させるプログラム。
【0092】
(付記11)
コンピュータを、
検索対象の音声データに含まれる各音素を中心音素とし、中心音素とその音素の前側直近の音素及び後側直近の音素の少なくとも一方とを含む音素モデルが時系列順に配列された第1の音素モデル列を取得する検索対象取得部、
前記音声データに対して検索する検索語を音素列に変換し、変換した音素列を構成する各音素を中心音素とし、中心音素とその中心音素の前側直近の音素及び後側直近の音素の少なくとも一方とを含む音素モデルが時系列順に配列された第2の音素モデル列を取得する検索語取得部、
前記第2の音素モデル列の最初及び最後の少なくとも一方の音素モデルの重みを、前記第2の音素モデル列を構成する残りの音素モデルより軽減して、前記第2の音素モデル列と前記第1の音素モデル列に含まれる部分列との類似度を算出し、算出された前記類似度が所定の条件を満たす部分列を、前記第1の音素モデル列から抽出する探索部、
前記探索部により抽出された前記部分列に対応する前記音声データに関する情報を出力する出力部、
として機能させるプログラム。
【符号の説明】
【0093】
1…ROM、2…RAM、3…外部記憶装置、4…入力装置、5…出力装置、6…CPU、61…音声データ記憶部、62…検索対象取得部、63…トライフォン列記憶部、64…入力部、65…変換テーブル記憶部、66…検索語取得部、67…探索部、68…トライフォン間距離記憶部、69…出力部、100…音声検索装置

【特許請求の範囲】
【請求項1】
検索対象の音声データに含まれる各音素を中心音素とし、中心音素とその音素の前側直近の音素及び後側直近の音素の少なくとも一方とを含む音素モデルが時系列順に配列された第1の音素モデル列を取得する検索対象取得部と、
前記音声データに対して検索する検索語を音素列に変換し、変換した音素列を構成する各音素を中心音素とし、中心音素とその中心音素の前側直近の音素及び後側直近の音素の少なくとも一方とを含む音素モデルが時系列順に配列された第2の音素モデル列を取得する検索語取得部と、
前記第2の音素モデル列の最初及び最後の少なくとも一方の音素モデルを除く音素モデル列である第3の音素モデル列と前記第1の音素モデル列に含まれる部分列との第1の類似度を算出し、算出された前記第1の類似度が所定の条件を満たす部分列を、前記第1の音素モデル列から抽出する探索部と、
前記探索部により抽出された前記部分列に対応する前記音声データに関する情報を出力する出力部と、
を備える音声検索装置。
【請求項2】
前記探索部は、
前記第2の音素モデル列を構成する前記音素モデルの数が閾値未満である場合には、前記第2の音素モデル列と前記第1の音素モデル列に含まれる部分列との第2の類似度を算出し、算出された前記第2の類似度が所定の条件を満たす部分列を、前記第1の音素モデル列から抽出する、
ことを特徴とする請求項1に記載の音声検索装置。
【請求項3】
前記探索部は、
前記第1の類似度及び前記第2の音素モデル列と前記第1の音素モデル列に含まれる部分列との第2の類似度を両方算出し、前記第1、第2の類似度が所定の条件を満たす部分列を、前記第1の音素モデル列から抽出する、
ことを特徴とする請求項1に記載の音声検索装置。
【請求項4】
検索対象の音声データに含まれる各音素を中心音素とし、中心音素とその音素の前側直近の音素及び後側直近の音素の少なくとも一方とを含む音素モデルが時系列順に配列された第1の音素モデル列を取得する検索対象取得部と、
前記音声データに対して検索する検索語を音素列に変換し、変換した音素列を構成する各音素を中心音素とし、中心音素とその中心音素の前側直近の音素及び後側直近の音素の少なくとも一方とを含む音素モデルが時系列順に配列された第2の音素モデル列を取得する検索語取得部と、
前記第2の音素モデル列の最初及び最後の少なくとも一方の音素モデルの重みを、前記第2の音素モデル列を構成する残りの音素モデルより軽減して、前記第2の音素モデル列と前記第1の音素モデル列に含まれる部分列との類似度を算出し、算出された前記類似度が所定の条件を満たす部分列を、前記第1の音素モデル列から抽出する探索部と、
前記探索部により抽出された前記部分列に対応する前記音声データに関する情報を出力する出力部と、
を備える音声検索装置。
【請求項5】
前記探索部は、
前記類似度が所定の閾値以上であること及び前記類似度が高い順に所定順位内にあることのいずれかを前記所定の条件として、前記部分列を抽出する、
ことを特徴とする請求項1乃至4のいずれか一項に記載の音声検索装置。
【請求項6】
前記探索部は、
前記類似度を連続DPマッチングで算出する、
ことを特徴とする請求項1乃至5のいずれか一項に記載の音声検索装置。
【請求項7】
前記音素モデルは、
中心音素とその中心音素の前側直近の音素と後側直近の音素とを含むトライフォンである、
ことを特徴とする請求項1乃至6のいずれか一項に記載の音声検索装置。
【請求項8】
検索対象の音声データに含まれる各音素を中心音素とし、中心音素とその音素の前側直近の音素及び後側直近の音素の少なくとも一方とを含む音素モデルが時系列順に配列された第1の音素モデル列を取得する検索対象取得工程と、
前記音声データに対して検索する検索語を音素列に変換し、変換した音素列を構成する各音素を中心音素とし、中心音素とその中心音素の前側直近の音素及び後側直近の音素の少なくとも一方とを含む音素モデルが時系列順に配列された第2の音素モデル列を取得する検索語取得工程と、
前記第2の音素モデル列の最初及び最後の少なくとも一方の音素モデルを除く音素モデル列である第3の音素モデル列と前記第1の音素モデル列に含まれる部分列との第1の類似度を算出し、算出された前記第1の類似度が所定の条件を満たす部分列を、前記第1の音素モデル列から抽出する探索工程と、
前記探索工程において抽出された前記部分列に対応する前記音声データに関する情報を出力する出力工程と、
を含む音声検索方法。
【請求項9】
検索対象の音声データに含まれる各音素を中心音素とし、中心音素とその音素の前側直近の音素及び後側直近の音素の少なくとも一方とを含む音素モデルが時系列順に配列された第1の音素モデル列を取得する検索対象取得工程と、
前記音声データに対して検索する検索語を音素列に変換し、変換した音素列を構成する各音素を中心音素とし、中心音素とその中心音素の前側直近の音素及び後側直近の音素の少なくとも一方とを含む音素モデルが時系列順に配列された第2の音素モデル列を取得する検索語取得工程と、
前記第2の音素モデル列の最初及び最後の少なくとも一方の音素モデルの重みを、前記第2の音素モデル列を構成する残りの音素モデルより軽減して、前記第2の音素モデル列と前記第1の音素モデル列に含まれる部分列との類似度を算出し、算出された前記類似度が所定の条件を満たす部分列を、前記第1の音素モデル列から抽出する探索工程と、
前記探索工程において抽出された前記部分列に対応する前記音声データに関する情報を出力する出力工程と、
を含む音声検索方法。
【請求項10】
コンピュータを、
検索対象の音声データに含まれる各音素を中心音素とし、中心音素とその音素の前側直近の音素及び後側直近の音素の少なくとも一方とを含む音素モデルが時系列順に配列された第1の音素モデル列を取得する検索対象取得部、
前記音声データに対して検索する検索語を音素列に変換し、変換した音素列を構成する各音素を中心音素とし、中心音素とその中心音素の前側直近の音素及び後側直近の音素の少なくとも一方とを含む音素モデルが時系列順に配列された第2の音素モデル列を取得する検索語取得部、
前記第2の音素モデル列の最初及び最後の少なくとも一方の音素モデルを除く音素モデル列である第3の音素モデル列と前記第1の音素モデル列に含まれる部分列との第1の類似度を算出し、算出された前記第1の類似度が所定の条件を満たす部分列を、前記第1の音素モデル列から抽出する探索部、
前記探索部により抽出された前記部分列に対応する前記音声データに関する情報を出力する出力部、
として機能させるプログラム。
【請求項11】
コンピュータを、
検索対象の音声データに含まれる各音素を中心音素とし、中心音素とその音素の前側直近の音素及び後側直近の音素の少なくとも一方とを含む音素モデルが時系列順に配列された第1の音素モデル列を取得する検索対象取得部、
前記音声データに対して検索する検索語を音素列に変換し、変換した音素列を構成する各音素を中心音素とし、中心音素とその中心音素の前側直近の音素及び後側直近の音素の少なくとも一方とを含む音素モデルが時系列順に配列された第2の音素モデル列を取得する検索語取得部、
前記第2の音素モデル列の最初及び最後の少なくとも一方の音素モデルの重みを、前記第2の音素モデル列を構成する残りの音素モデルより軽減して、前記第2の音素モデル列と前記第1の音素モデル列に含まれる部分列との類似度を算出し、算出された前記類似度が所定の条件を満たす部分列を、前記第1の音素モデル列から抽出する探索部、
前記探索部により抽出された前記部分列に対応する前記音声データに関する情報を出力する出力部、
として機能させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2013−88488(P2013−88488A)
【公開日】平成25年5月13日(2013.5.13)
【国際特許分類】
【出願番号】特願2011−226266(P2011−226266)
【出願日】平成23年10月13日(2011.10.13)
【出願人】(000001443)カシオ計算機株式会社 (8,748)
【Fターム(参考)】