JP2011118774A - 検索装置、検索方法、及び、プログラム - Google Patents
検索装置、検索方法、及び、プログラム Download PDFInfo
- Publication number
- JP2011118774A JP2011118774A JP2009276997A JP2009276997A JP2011118774A JP 2011118774 A JP2011118774 A JP 2011118774A JP 2009276997 A JP2009276997 A JP 2009276997A JP 2009276997 A JP2009276997 A JP 2009276997A JP 2011118774 A JP2011118774 A JP 2011118774A
- Authority
- JP
- Japan
- Prior art keywords
- search
- search result
- word string
- result
- voice
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】入力音声に対応する単語列の検索において行われる音声認識の精度を向上させる。
【解決手段】音声認識部51では、入力音声に対応する単語列の検索結果の対象となる単語列である複数の検索結果対象単語列を用いて、言語モデルが生成され、入力音声が、言語モデルを用いて音声認識される。マッチング部56は、複数の検索結果対象単語列それぞれについて、検索結果対象単語列の発音を表す発音シンボルの並びである検索結果対象発音シンボル列と、入力音声の音声認識結果の発音を表す発音シンボルの並びである認識結果発音シンボル列とのマッチングをとり、出力部57は、そのマッチング結果に基づいて、複数の検索結果対象単語列からの、入力音声に対応する単語列の検索の結果である検索結果単語列を出力する。本発明は、例えば、音声検索を行う場合に適用できる。
【選択図】図9
【解決手段】音声認識部51では、入力音声に対応する単語列の検索結果の対象となる単語列である複数の検索結果対象単語列を用いて、言語モデルが生成され、入力音声が、言語モデルを用いて音声認識される。マッチング部56は、複数の検索結果対象単語列それぞれについて、検索結果対象単語列の発音を表す発音シンボルの並びである検索結果対象発音シンボル列と、入力音声の音声認識結果の発音を表す発音シンボルの並びである認識結果発音シンボル列とのマッチングをとり、出力部57は、そのマッチング結果に基づいて、複数の検索結果対象単語列からの、入力音声に対応する単語列の検索の結果である検索結果単語列を出力する。本発明は、例えば、音声検索を行う場合に適用できる。
【選択図】図9
Description
本発明は、検索装置、検索方法、及び、プログラムに関し、特に、例えば、入力音声に対応する単語列の検索において行われる音声認識の精度を向上させることができるようにする検索装置、検索方法、及び、プログラムに関する。
ユーザから入力される音声である入力音声を用い、その音声に対応するテキスト等の単語列を検索する音声検索の方法としては、例えば、音声認識装置のみを用いる方法がある(例えば、特許文献1を参照)。
音声認識装置のみを用いる音声検索では、音声認識装置において、あらかじめ辞書に登録された単語(語彙)の並びを、音声認識結果の対象として、入力音声の音声認識が行われ、その音声認識結果が、入力音声に対応する単語列の検索の結果である検索結果単語列として出力される。
したがって、音声認識装置のみを用いる音声検索では、入力音声に対応する単語列の検索結果の対象となる単語列(以下、検索結果対象単語列ともいう)は、音声認識結果の対象である、辞書に登録された単語の並びである単語列(本明細書では、1つの単語を含む)だけであるため、ユーザの発話は、音声認識に用いられる辞書に登録された単語の並びに制限される。
そこで、近年においては、ボイスサーチ(Voice Search)と呼ばれる音声検索の方法が提案されている。
ボイスサーチでは、N-gram等の言語モデルを用いて、連続音声認識が行われ、その音声認識結果と、音声認識に用いられる辞書とは別に用意されたDB(Database)に登録されたテキストとのマッチング(DBに登録されたテキストからの、音声認識結果に対応するテキストのテキスト検索)が行われる。
そして、そのマッチングの結果に基づき、音声認識結果にマッチする最上位の、又は、上位N位以内のテキストが、検索結果単語列として出力される。
ボイスサーチでは、音声認識に用いられる辞書とは別に用意されたDBに登録されたテキストが、検索結果対象単語列となるため、そのDBに、多数のテキストを登録しておくことにより、その多数のテキストを、検索結果対象単語列として、音声検索を行うことができる。
すなわち、ボイスサーチによれば、ユーザが、音声認識に用いられる辞書に登録された単語以外の単語を含む発話を行っても、DBに登録された検索結果対象単語列としてのテキストの範囲内で、ある程度の精度の音声検索を行うことができる。
ところで、(連続)音声認識は、一般に、例えば、HMM(Hidden Markov Model)等の音響モデルと、例えば、N-gram等の言語モデルとを用いて行われる。
すなわち、音声認識では、音響モデルを用いて、音声認識結果の候補(仮説)である認識仮説の、音声認識結果としての音響的な尤度を表す音響スコアが求められるとともに、言語モデルを用いて、認識仮説の言語的な尤度を表す言語スコアが求められ、その音響スコア及び言語スコアの両方を考慮して、音声認識結果(となる認識仮説)が求められる。
音声認識において用いられる言語モデルは、例えば、新聞に記載されている単語列を用いて生成される。
したがって、ユーザが、新聞に記載されている文に出現する頻度が低い単語列(出現しない単語列を含む)を含む検索結果対象単語列(以下、低頻度単語列ともいう)を、検索結果単語列として得ようとして、その低頻度単語列の発話を行っても、音声認識において、低頻度単語列について得られる言語スコアが低くなり、正しい音声認識結果を得ることができないことがある。
そして、正しい音声認識結果が得られない場合には、ボイスサーチにおいて、音声認識の後に行われるマッチングでも、音声認識結果に、入力音声に対応する検索結果単語列(入力音声にとって適切な検索結果対象単語列)がマッチせず、その、入力音声に対応する検索結果対象単語列が、検索結果単語列として出力されないことがある。
本発明は、このような状況に鑑みてなされたものであり、入力音声に対応する単語列の検索において行われる音声認識の精度(性能)を向上させることができるようにするものである。
本発明の一側面の検索装置、又は、プログラムは、入力音声に対応する単語列の検索結果の対象となる単語列である複数の検索結果対象単語列を用いて、言語モデルを生成する言語モデル生成部と、入力音声を、前記言語モデルを用いて音声認識する音声認識部と、前記複数の検索結果対象単語列それぞれについて、前記検索結果対象単語列の発音を表す発音シンボルの並びである検索結果対象発音シンボル列と、前記入力音声の音声認識結果の発音を表す発音シンボルの並びである認識結果発音シンボル列とのマッチングをとるマッチング部と、前記検索結果対象発音シンボル列と前記認識結果発音シンボル列とのマッチング結果に基づいて、前記複数の検索結果対象単語列からの、前記入力音声に対応する単語列の検索の結果である検索結果単語列を出力する出力部とを備える検索装置、又は、検索装置として、コンピュータを機能させるためのプログラムである。
本発明の一側面の検索方法は、入力音声に対応する単語列を検索する検索装置が、前記入力音声に対応する単語列の検索結果の対象となる単語列である複数の検索結果対象単語列を用いて、言語モデルを生成し、前記入力音声を、前記言語モデルを用いて音声認識し、前記複数の検索結果対象単語列それぞれについて、前記検索結果対象単語列の発音を表す発音シンボルの並びである検索結果対象発音シンボル列と、前記入力音声の音声認識結果の発音を表す発音シンボルの並びである認識結果発音シンボル列とのマッチングをとり、前記検索結果対象発音シンボル列と前記認識結果発音シンボル列とのマッチング結果に基づいて、前記複数の検索結果対象単語列からの、前記入力音声に対応する単語列の検索の結果である検索結果単語列を出力するステップを含む検索方法である。
以上のような一側面においては、入力音声に対応する単語列の検索結果の対象となる単語列である複数の検索結果対象単語列を用いて、言語モデルが生成され、前記入力音声が、前記言語モデルを用いて音声認識される。そして、前記複数の検索結果対象単語列それぞれについて、前記検索結果対象単語列の発音を表す発音シンボルの並びである検索結果対象発音シンボル列と、前記入力音声の音声認識結果の発音を表す発音シンボルの並びである認識結果発音シンボル列とのマッチングがとられ、そのマッチング結果に基づいて、前記複数の検索結果対象単語列からの、前記入力音声に対応する単語列の検索の結果である検索結果単語列が出力される。
なお、検索装置は、独立した装置であっても良いし、1つの装置を構成している内部ブロックであっても良い。
また、プログラムは、伝送媒体を介して伝送することにより、又は、記録媒体に記録して、提供することができる。
本発明の一側面によれば、入力音声に対応する単語列の検索において行われる音声認識の精度を向上させることができる。
以下、本発明の実施の形態について説明するが、その前に、ボイスサーチによる音声検索の概要について、簡単に説明する。
[ボイスサーチの概要]
ボイスサーチでは、音声認識結果と、検索結果対象単語列としてのテキストとのマッチングは、音声認識結果、及び、検索結果対象単語列のそれぞれの表記を表すシンボルである表記シンボルを用い、単語単位や、表記シンボル単位で行われる。
したがって、音声認識結果の表記シンボルに誤りがあると、マッチングにおいて、入力音声に対応する単語列とはまったく別の検索結果対象単語列が、音声認識結果にマッチし、その結果、そのような、入力音声に対応する単語列とはまったく別の検索結果対象単語列が、検索結果単語列として出力される。
すなわち、ユーザが、入力音声として、例えば、「としのせかい」を発話し、その音声認識結果の表記シンボル列が、例えば、「都市の世界」であった場合、単語単位のマッチングでは、音声認識結果の表記シンボル列「都市の世界」を、「都市/の/世界/」(スラッシュ(/)は、区切りを表す)のように、1個ずつの単語に区切って、マッチングが行われ、表記シンボル単位のマッチングでは、音声認識結果の表記シンボル列「都市の世界」を、「都/市/の/世/界」のように、1個ずつの表記シンボルに区切って、マッチングが行われる。
一方、入力音声「としのせかい」の音声認識結果の表記シンボル列が、例えば、「年の瀬かい」であった場合、単語単位のマッチングでは、音声認識結果の表記シンボル列「年の瀬かい」を、 「/年/の/瀬/かい/」のように、1個ずつの単語に区切って、マッチングが行われ、表記シンボル単位のマッチングでは、音声認識結果の表記シンボル列「年の瀬かい」を、「年/の/瀬/か/い」のように、1個ずつの表記シンボルに区切って、マッチングが行われる。
したがって、入力音声「としのせかい」の音声認識結果の表記シンボル列が、「都市の世界」である場合と、「年の瀬かい」である場合とでは、音声認識結果にマッチする検索結果対象単語列は、大きく異なり、その結果、入力音声に対応する単語列とはまったく別の検索結果対象単語列が、検索結果単語列として出力される一方、入力音声に対応する単語列が、検索結果単語列として出力されないことがある。
以上のように、表記シンボルを用いたマッチングは、音声認識結果との親和性が高くなく、入力音声に対応する単語列が、検索結果単語列として出力されないことがある。
そこで、本実施の形態では、音声認識結果と、検索結果対象単語列とのマッチングを、音声認識結果、及び、検索結果対象単語列のそれぞれの発音を表すシンボルである発音シンボルを用いて行うことで、入力音声に対応する単語列の検索を、ロバストに行うことができるようにし、これにより、入力音声に対応する単語列が、検索結果単語列として出力されないことを防止する。
また、ボイスサーチでは、音声認識結果と、検索結果対象単語列とのマッチングにおいて、音声認識結果と、検索結果対象単語列とが類似している度合いを表す類似度が求められる。
類似度としては、例えば、ベクトル空間法のコサイン距離等が用いられる。
ここで、ベクトル空間において、音声認識結果を表すベクトルを、Xと表すとともに、検索結果対象単語列を表すベクトルを、Yと表すこととすると、音声認識結果と、検索結果対象単語列との類似度としてのコサイン距離は、ベクトルXとYとの内積を、ベクトルXの大きさ(ノルム)|X|と、ベクトルYの大きさ|Y|との乗算値で除算することで求められる。
以上のように、コサイン距離は、内積を、音声認識結果を表すベクトルXの大きさ|X|と検索結果対象単語列を表すベクトルYの大きさ|Y|との乗算値で除算して求められるために、コサイン距離には、音声認識結果と検索結果対象単語列との長さの相違が影響する。
このため、類似度として、コサイン距離を採用すると、例えば、音声認識結果に含まれるのと同一の単語列を含むが、長さが、音声認識結果より長い検索結果対象単語列と、音声認識結果より短い検索結果対象単語列とでは、音声認識結果より短い検索結果対象単語列との類似度が高くなり(類似し)、音声認識結果より長い検索結果対象単語列との類似度が低くなる(類似していない)傾向が強い。
したがって、マッチングの結果得られる類似度が高い上位N位以内の検索結果対象単語列を、検索結果単語列として出力する場合に、音声認識結果に含まれるのと同一の単語列を含むが、長さが、音声認識結果より長い検索結果対象単語列の類似度が低くなって、そのような長い検索結果対象単語列が、検索結果単語列として出力されないことが多くなり、入力音声に対応する単語列の検索の精度が劣化する。
そこで、本実施の形態では、音声認識結果と検索結果対象単語列との長さの相違の影響を軽減するように、コサイン距離を補正した補正距離を、音声認識結果と検索結果対象単語列との類似度として採用することで、入力音声に対応する単語列の検索を、ロバストに行うことができるようにし、これにより、入力音声に対応する単語列の検索の精度の劣化を防止する。
なお、コサイン距離を、音声認識結果と検索結果対象単語列との長さの相違の影響を軽減するように補正した補正距離を求める方法としては、例えば、コサイン距離を求める際に用いられる、検索結果対象単語列の長さに比例する大きさ|Y|に代えて、比例しない値を用いる方法と、大きさ|Y|を用いない方法とがある。
ボイスサーチにおいて、検索結果対象単語列となるテキストは、数十万個等の膨大な個数になることがあり、ユーザの発話に対し、その発話(入力音声)に対応する単語列の検索結果である検索結果単語列を、迅速に出力するには、マッチングを高速に行う必要がある。
そこで、本実施の形態では、逆引きインデクスの利用等によって、マッチングを高速に行う。
また、ボイスサーチの音声認識では、HMM(Hidden Markov Model)等の音響モデルを用いて、音声認識結果の候補(仮説)である認識仮説の、音声認識結果としての音響的な尤度を表す音響スコアが求められるとともに、N-gram等の言語モデルを用いて、認識仮説の言語的な尤度を表す言語スコアとが求められ、その音響スコア及び言語スコアの両方を考慮して、音声認識結果(となる認識仮説)が求められる。
ボイスサーチの音声認識において用いられる言語モデルは、例えば、新聞に記載されている単語列を用いて生成される。
したがって、ユーザが、新聞に記載されている文に出現する頻度が低い単語列(出現しない単語列を含む)を含む検索結果対象単語列(低頻度単語列)を、検索結果単語列として得ようとして、その低頻度単語列の発話を行っても、音声認識において、低頻度単語列について得られる言語スコアが低くなり、正しい音声認識結果を得ることができないことがある。
そして、正しい音声認識結果が得られない場合には、ボイスサーチにおいて、音声認識の後に行われるマッチングでも、音声認識結果に、入力音声に対応する検索結果単語列(入力音声に適切な検索結果対象単語列)がマッチせず、その、入力音声に対応する検索結果対象単語列が、検索結果単語列として出力されないことがある。
具体的には、例えば、ボイスサーチを適用したレコーダにおいて、ユーザの発話に対して、EPG(Electronic Program Guide)から、ボイスサーチによって、ユーザが発話したタイトルの番組を検索して、その番組の録画予約を行う場合には、ボイスサーチでは、まず、ユーザが発話した番組のタイトルの音声認識が行われる。
番組のタイトルには、造語や、メインキャスタの名前(芸名等)、特有の言い回しが使用されていることが多く、したがって、新聞に記載されている記事で、一般に使用されている単語列ではない単語列が含まれることが少なくない。
このような番組のタイトルの発話の音声認識を、新聞に記載されている単語列を用いて生成された言語モデル(以下、汎用の言語モデルともいう)を用いて行うと、番組のタイトルに一致する認識仮説の言語スコアとして、高い値が得られない。
その結果、番組のタイトルに一致する認識仮説が、音声認識結果として得られず、音声認識の精度が劣化する。
そこで、本実施の形態では、入力音声に対応する単語列の検索結果の対象となる単語列である複数の検索結果対象単語列、つまり、ボイスサーチにおいて、音声認識結果とのマッチングをとる単語列である検索結果対象単語列を用いて、いわば専用の言語モデルを生成し、その専用の言語モデルを用いて、音声認識を行うことで、音声認識の精度を向上させる。
すなわち、例えば、上述のように、EPGから、番組のタイトルを検索する場合には、EPGを構成する構成要素(番組のタイトルや、出演者名等)になっている単語列が、音声認識結果とのマッチングをとる検索結果対象単語列となるので、専用の言語モデルは、EPGを構成する構成要素としての検索結果対象単語列を用いて生成される。
ここで、EPGを構成する構成要素(番組のタイトルや、出演者名等)になっている単語列が、検索結果対象単語列である場合には、検索結果対象単語列は、番組のタイトルや、出演者名等のフィールドに分類されている、ということができる。
いま、複数のフィールドに分類される単語列が用意されている場合に、各フィールドの単語列を用いて、フィールドごとの言語モデルを生成し、そのフィールドごとの言語モデルを、1つの言語モデルにインターポーレート(interpolate)して、その1つの言語モデルを用いて、音声認識を行うと、異なるフィールドの単語列(の一部ずつ)を並べた認識仮説の言語スコアが高くなることがある。
すなわち、例えば、上述のように、番組のタイトルや、出演者名等のフィールドに分類されている検索結果対象単語列を用いて生成されたフィールドごとの言語モデルをインターポーレートして得られる1つの言語モデルを用いて音声認識を行うと、ある番組Aのタイトルの一部と、他の番組Bの出演者の出演者名の一部とを並べた単語列が、認識仮説となり、さらに、その認識仮説の言語スコアが高くなることがある。
しかしながら、番組Aのタイトルの一部と、番組Bの出演者名の一部とを並べた単語列は、検索結果対象単語列である、EPGの構成要素には存在しないので、そのような単語列が、音声認識結果にされ得る、言語スコアが高い認識仮説となることは、好ましくない。
そこで、本実施の形態では、検索結果対象単語列が、複数のフィールドに分類されている場合(分類することができる場合)には、各フィールドの検索結果対象単語列を用いて、フィールドごとの言語モデルを生成し、各フィールドの言語モデルを用いて、音声認識を行う。
また、例えば、上述のように、番組のタイトルや、出演者名等のフィールドに分類されているEPGの構成要素を、検索結果対象単語列として、ボイスサーチを行う場合には、ユーザが、例えば、番組のタイトルを発話したときであっても、番組のタイトルのフィールドの検索結果対象単語列だけでなく、すべてのフィールドの検索結果対象単語列と、ユーザの発話の音声認識結果とのマッチングが行われ、その音声認識結果にマッチする検索結果対象単語列が、検索結果単語列として出力される。
したがって、ボイスサーチでは、ユーザがタイトルを発話した番組に無関係な番組、すなわち、例えば、ユーザが発話した番組のタイトルに類似しないタイトルの番組ではあるが、ユーザが発話した番組のタイトルに含まれる単語列に類似する(一致する場合も含む)単語列を、検索結果対象単語列としての詳細情報等に含む番組が、ボイスサーチの結果として得られることがある。
以上のように、ユーザがタイトルを発話した番組に無関係な番組が、ボイスサーチの結果として得られることは、ユーザに煩わしさを感じさせることがある。
そこで、本実施の形態では、検索結果対象単語列が、複数のフィールドに分類されている場合には、音声認識結果とのマッチングを、ユーザが希望するフィールド等の所定のフィールドの検索結果対象単語列だけを対象として行うことを可能にする。
この場合、ユーザは、ある単語列を、タイトルのみに含む番組を検索することや、出演者名のみに含む番組を検索することといった、柔軟な検索を行うことが可能となる。
また、例えば、ボイスサーチを適用したレコーダ等の機器では、レコーダを制御するコマンドとして定義されている単語列に一致する単語列が発話された場合に、番組のボイスサーチを行うことができないことがある。
具体的には、ボイスサーチを適用したレコーダが、例えば、ユーザの発話に対し、ボイスサーチによって、ユーザの発話をタイトル等に含む番組を検索する番組検索の機能を有していることとする。
さらに、レコーダが、番組検索の機能によって検索された1以上の番組のうちの1つの番組を、再生を行う番組として選択することを、ユーザによる発話「選択」に応じて行う音声制御の機能を有していることとする。
ユーザによる発話「選択」に応じて、番組を選択する音声制御の機能は、ボイスサーチの音声認識において、「選択」を、音声認識結果の対象とし、かつ、レコーダにおいて、音声認識結果として得られる「選択」を、レコーダを制御するコマンドとして解釈することで実現することができる。
以上のような、ボイスサーチによる番組選択の機能と、音声制御の機能とを有するレコーダによれば、ユーザは、「選択」を発話することで、番組選択の機能によって得られた番組の中から、レコーダに、再生を行う1つの番組を選択させることができる。
しかしながら、この場合、ユーザは、ボイスサーチによる番組選択の機能によって、番組の検索を行うときに、レコーダを制御するコマンド「選択」に一致する「選択」を発話することができない。
すなわち、この場合、ユーザが、番組のタイトル等に、「選択」を含む番組を、番組検索の機能によって検索しようとして、「選択」を発話すると、ボイスサーチの音声認識において、レコーダを制御するコマンドとしての「選択」が、音声認識結果として得られる。
その結果、レコーダでは、ユーザの発話「選択」がコマンドとして解釈され、番組のタイトル等に、「選択」を含む番組の検索が行われない。
そこで、本実施の形態では、発話に、特定のフレーズを含める等の、ユーザに軽度の負担を許容してもらうことによって、機器を制御するコマンドとして定義されている単語列に一致する単語列が発話された場合であっても、番組のボイスサーチを行う等の、入力音声に対応する単語列の検索を、柔軟に行うことを可能とする。
[本発明を適用した音声検索装置の一実施の形態]
図1は、本発明を適用した音声検索装置の一実施の形態の第1の構成例を示すブロック図である。
図1では、音声検索装置は、音声認識部11、発音シンボル変換部12、検索結果対象記憶部13、形態素解析部14、発音シンボル変換部15、マッチング部16、及び、出力部17を有する。
音声認識部11には、ユーザの発話である入力音声(のデータ)が、図示せぬマイク等から供給される。
音声認識部11は、そこに供給される入力音声を音声認識し、音声認識結果(の、例えば、表記シンボル)を、発音シンボル変換部12に供給する。
発音シンボル変換部12は、音声認識部11から供給される、入力音声の音声認識結果(の、例えば、表記シンボル)を、その音声認識結果の発音を表す発音シンボルの並びである認識結果発音シンボル列に変換し、マッチング部16に供給する。
検索結果対象記憶部13は、複数の検索結果対象単語列、すなわち、マッチング部16において、音声認識結果とのマッチングが行われ、入力音声に対応する単語列の検索の結果である検索結果単語列となり得る単語列(の、例えば、表記シンボルとしてのテキスト)を記憶する。
形態素解析部14は、検索結果対象記憶部13に記憶された検索結果対象単語列の形態素解析を行うことで、検索結果対象単語列を、例えば、単語(形態素)単位に分割し、発音シンボル変換部15に供給する。
発音シンボル変換部15は、形態素解析部14から供給される検索結果対象単語列(の、例えば、表記シンボル)を、その検索結果対象単語列の発音を表す発音シンボルの並びである検索結果対象発音シンボル列に変換し、マッチング部16に供給する。
マッチング部16は、発音シンボル変換部12からの認識結果発音シンボル列と、発音シンボル変換部15からの検索結果対象発音シンボル列とのマッチングをとり、そのマッチング結果を、出力部17に供給する。
すなわち、マッチング部16は、検索結果対象記憶部13に記憶されたすべての検索結果対象単語列それぞれについて、入力音声の音声認識結果とのマッチングを、音声認識結果の発音シンボルと、検索結果対象単語列の発音シンボルとを用いて行う。
マッチング部16は、検索結果対象記憶部13に記憶されたすべての検索結果対象単語列それぞれについて、入力音声の音声認識結果とのマッチングをとり、そのマッチング結果を、出力部17に供給する。
出力部17は、マッチング部16からのマッチング結果に基づいて、検索結果対象記憶部13に記憶された検索結果対象単語列の中からの、入力音声に対応する単語列の検索の結果である検索結果単語列を出力する。
以上のように構成される音声検索装置では、ユーザの発話に応じて、音声検索の処理が行われる。
すなわち、ユーザが発話を行い、その発話としての入力音声が、音声認識部11に供給されると、音声認識部11は、その入力音声を音声認識し、その入力音声の音声認識結果を、発音シンボル変換部12に供給する。
発音シンボル変換部12は、音声認識部11からの入力音声の音声認識結果を、認識結果発音シンボル列に変換し、マッチング部16に供給する。
一方、形態素解析部14は、検索結果対象記憶部13に記憶されたすべての検索結果対象単語列の形態素解析を行い、発音シンボル変換部15に供給する。
発音シンボル変換部15は、形態素解析部14からの検索結果対象単語列を、検索結果対象発音シンボル列に変換し、マッチング部16に供給する。
マッチング部16は、検索結果対象記憶部13に記憶されたすべての検索結果対象単語列それぞれについて、発音シンボル変換部12からの認識結果発音シンボル列と、発音シンボル変換部15からの検索結果対象発音シンボル列とを用いて、入力音声の音声認識結果とのマッチングをとり、そのマッチング結果を、出力部17に供給する。
出力部17では、マッチング部16からのマッチング結果に基づいて、検索結果対象記憶部13に記憶された検索結果対象単語列の中から、入力音声に対応する単語列の検索の結果である検索結果単語列(とする検索結果対象単語列)が選択されて出力される。
したがって、ユーザは、発話を行うだけで、検索結果対象記憶部13に記憶された検索結果対象単語列の中で、ユーザの発話にマッチする検索結果単語列としての検索結果対象単語列を得ることができる。
図2は、本発明を適用した音声検索装置の一実施の形態の第2の構成例を示すブロック図である。
なお、図中、図1の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
図2の音声検索装置は、音声認識部11、検索結果対象記憶部13、形態素解析部14、マッチング部16、及び、出力部17を有する点で、図1の場合と共通し、発音シンボル変換部12及び15に代えて、発音シンボル変換部21が設けられている点で、図1の場合と相違する。
図2において、発音シンボル変換部21は、音声認識部11から供給される入力音声の音声認識結果を、認識結果発音シンボル列に変換し、マッチング部16に供給するとともに、形態素解析部14から供給される検索結果対象単語列を、検索結果対象発音シンボル列に変換し、マッチング部16に供給する。
すなわち、図1では、入力音声の音声認識結果の、認識結果発音シンボル列への変換と、検索結果対象単語列の、検索結果対象発音シンボル列への変換とが、別個の発音シンボル変換部12と15とによって、それぞれ行われるようになっているが、図2では、入力音声の音声認識結果の、認識結果発音シンボル列への変換と、検索結果対象単語列の、検索結果対象発音シンボル列への変換とが、1個の発音シンボル変換部21で、いわば兼用して行われるようになっている。
したがって、図2の音声検索装置では、入力音声の音声認識結果の、認識結果発音シンボル列への変換と、検索結果対象単語列の、検索結果対象発音シンボル列への変換とが、別個の発音シンボル変換部12と15とによって、それぞれ行われるのではなく、発音シンボル変換部21で行われることを除き、図1の場合と同様の音声検索の処理が行われる。
図3は、本発明を適用した音声検索装置の一実施の形態の第3の構成例を示すブロック図である。
なお、図中、図1の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
図3の音声検索装置は、音声認識部11、発音シンボル変換部12、マッチング部16、及び、出力部17を有する点で、図1の場合と共通し、検索結果対象記憶部13、形態素解析部14、及び、発音シンボル変換部15に代えて、検索結果対象記憶部31が設けられている点で、図1の場合と相違する。
図3において、検索結果対象記憶部31は、検索結果対象記憶部13に記憶されるのと同一の検索結果対象単語列(の、例えば、表記シンボル)の他、その検索結果対象単語列を発音シンボルに変換した検索結果対象発音シンボル列を記憶する。
したがって、図3の音声検索装置では、マッチング部16でのマッチングに用いられる検索結果対象発音シンボル列が、検索結果対象記憶部31に記憶されているので、検索結果対象単語列の形態素解析と、検索結果対象発音シンボル列への変換とが行われないことを除き、図1の場合と同様の音声検索の処理が行われる。
図4は、本発明を適用した音声検索装置の一実施の形態の第4の構成例を示すブロック図である。
なお、図中、図1又は図3の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
図4の音声検索装置は、マッチング部16、出力部17、及び、検索結果対象記憶部31を有する点で、図3の場合と共通し、音声認識部11、及び、発音シンボル変換部12に代えて、音声認識部41が設けられている点で、図3の場合と相違する。
図4において、音声認識部41は、入力音声を音声認識し、その入力音声の音声認識結果の認識結果発音シンボル列を、マッチング部16に供給する。
すなわち、音声認識部41は、例えば、図3の音声認識部11と、発音シンボル変換部12とを内蔵している。
したがって、図4の音声検索装置では、音声認識部41が、音声認識結果の、例えば、表記シンボルではなく、認識結果発音シンボル列を出力することを除き、図3の場合と同様の音声検索の処理が行われる。
[音声検索装置を適用した情報処理システム]
図1ないし図4の音声検索装置は、各種の情報処理システム(システムとは、複数の装置が論理的に集合した物をいい、各構成の装置が同一筐体中にあるか否かは、問わない)に適用することができる。
すなわち、図1ないし図4の音声検索装置は、情報処理システムとしての、例えば、番組の録画、及び、再生を行うレコーダに適用することができる。
図1ないし図4の音声検索装置が適用された情報処理システム(以下、音声検索機能付き情報処理システムともいう)としてのレコーダでは、例えば、録画が行われた番組(録画番組)の中から、ユーザが所望する番組を、音声検索によって検索し、再生することができる。
すなわち、ユーザが、再生をしようとする番組の音声検索を行うためのキーワードとして、例えば、入力音声「世界遺産」を発話すると、レコーダでは、録画番組のタイトル等を、検索結果対象単語列として、音声検索を行うことにより、タイトルの発音が、入力音声「世界遺産」の発音に類似する番組が、録画番組の中から検索される。
そして、レコーダでは、音声検索の結果として、タイトルの発音が、入力音声「世界遺産」の発音に類似する、上位N位以内の番組(のタイトル等)が、再生を行う候補の番組(再生候補番組)として、(レコーダが接続されたTV(テレビジョン受像機)等で)表示される。
その後、ユーザが、N個の再生候補番組の中から、再生を行う番組として、1つの番組を選択すると、レコーダでは、その番組が再生される。
ここで、ユーザが、N個の再生候補番組の中から、1つの番組を選択する方法としては、例えば、ユーザが、レコーダを遠隔制御するリモートコマンダを操作して、N個の再生候補番組の中から、1つの番組を選択する方法がある。
また、ユーザが、N個の再生候補番組の中から、1つの番組を選択する方法としては、例えば、N個の再生候補番組の表示が、タッチパネルで行われる場合には、ユーザが、そのタッチパネルを操作して、N個の再生候補番組の中から、1つの番組を選択する方法がる。
さらに、ユーザが、N個の再生候補番組の中から、1つの番組を選択する方法としては、ユーザが、音声によって、N個の再生候補番組の中から、1つの番組を選択する方法がる。
すなわち、N個の再生候補番組のうちの、例えば、2番目の再生候補番組「世界遺産・万里の長城」が、ユーザが再生したい1つの番組である場合には、ユーザは、例えば、再生候補番組の順番である「2番目」や、タイトル「世界遺産・万里の長城」等を発話することによって、その再生候補番組を選択することができる。
また、音声検索機能付き情報処理システムとしてのレコーダでは、例えば、EPGの番組の中から、ユーザが所望する番組を、音声検索によって検索し、録画予約(や視聴予約)をすることができる。
すなわち、ユーザが、録画予約をしようとする番組の音声検索を行うためのキーワードとして、例えば、入力音声「世界遺産」を発話すると、レコーダでは、EPGを構成する構成要素としての番組のタイトル等を、検索結果対象単語列として、音声検索を行うことにより、タイトル等の発音が、入力音声「世界遺産」の発音に類似する番組が、EPGから検索される。
そして、レコーダでは、録画番組の再生を行う場合と同様に、音声検索の結果として、タイトルの発音が、入力音声「世界遺産」の発音に類似する、上位N位以内の番組(のタイトル等)が、録画予約を行う候補の番組(録画候補番組)として表示される。
その後、ユーザが、N個の録画候補番組の中から、録画予約を行う番組として、1つの番組を選択すると、レコーダでは、その番組の録画予約が行われ、さらに、その録画予約に従って、番組の録画が行われる。
ここで、ユーザが、N個の録画候補番組の中から、1つの番組を選択する方法としては、上述の録画番組の再生において、N個の再生候補番組の中から、1つの番組を選択する場合と同様の方法を採用することができる。
なお、図1ないし図4の音声検索装置を適用可能な情報処理システムとしては、上述したレコーダの他、ネットワークで繋がったビデオオンデマンドサイトを通じて、番組(ビデオのコンテンツ)を検索して購入するシステムや、ネットワークで繋がったゲームソフト販売サイトを通じて、ゲームを検索して購入するシステム等がある。
また、音声検索において、検索結果対象単語列としては、各種の単語列を採用することができる。
すなわち、例えば、テレビジョン放送の番組を検索する場合には、番組のタイトルや、出演者名、番組の内容を説明する詳細情報の、番組のメタデータ、番組の画像に重畳される字幕(クローズドキャプション)等(の一部、又は、全部)を、検索結果対象単語列として採用することができる。
また、例えば、楽曲(音楽)を検索する場合には、楽曲のタイトルや、歌詞、アーティスト名等(の一部、又は、全部)を、検索結果対象単語列として採用することができる。
図5は、音声検索機能付き情報処理システムとしてのレコーダにおいて、録画番組を再生する処理を説明する図である。
音声検索機能付き情報処理システムとしてのレコーダにおいて、例えば、録画番組の中から、ユーザが所望する番組を、音声検索によって検索し、再生する場合には、ユーザは、再生をしようとする番組の音声検索を行うためのキーワードとしての、例えば、入力音声「都市の世界遺産」を発話する。
音声検索機能付き情報処理システムとしてのレコーダでは、録画番組のタイトル等を、検索結果対象単語列として、音声検索が行われ、タイトルの発音が、入力音声「都市の世界遺産」の発音に類似する番組が、録画番組の中から検索される。
そして、音声検索機能付き情報処理システムとしてのレコーダでは、音声検索の結果として、タイトルの発音が、入力音声「都市の世界遺産」の発音に類似する、上位N位以内の番組(のタイトル等)が、再生を行う候補の番組である再生候補番組として表示される。
図5では、5個の再生候補番組が(音声検索の検索結果として)表示されている。
再生候補番組の中に、ユーザが所望する番組が存在しない場合には、ユーザは、再生候補番組として、現在表示されている上位N位以内の番組の次の上位N個の番組を、再生候補番組として表示することや、音声検索を行うためのキーワードとして、別のキーワードを用いることを、発話によって要求することができる。
また、再生候補番組の中に、ユーザが所望する番組が存在する場合には、ユーザは、その所望する番組を選択することができる。
ユーザが、所望する番組を選択する方法としては、上述したように、タッチパネルを操作する方法や、リモートコマンダを操作する方法、音声によって選択する方法等がある。
ユーザが、N個の再生候補番組の中から、所望の番組を選択すると、音声検索機能付き情報処理システムとしてのレコーダでは、その番組が再生される。
図6は、ユーザが、N個の再生候補番組の中から、所望の番組を選択する方法を説明する図である。
例えば、N個の再生候補番組が、タッチパネルで表示される場合には、ユーザは、そのタッチパネルに表示されたN個の再生候補番組のうちの、所望の番組(の、例えば、タイトル)の表示部分をタッチすることによって、所望の番組を選択することができる。
また、例えば、N個の再生候補番組が、各再生候補番組を選択的にフォーカスすることができる、リモートコマンダによって移動可能なカーソルとともに表示される場合には、ユーザは、リモートコマンダを操作することにより、所望の番組がフォーカスされるように、カーソルを移動し、さらに、フォーカスされている所望の番組の選択を確定するように、リモートコマンダを操作することで、所望の番組を選択することができる。
さらに、例えば、N個の再生候補番組が、再生候補番組の順番を表す数字を付加して表示されるとともに、リモートコマンダに、数字を指定することができる数字ボタンが設けられている場合には、ユーザは、リモートコマンダの数字ボタンのうちの、所望の番組に付加されている数字を指定する数字ボタンを操作することで、所望の番組を選択することができる。
また、ユーザは、N個の再生候補番組のうちの、所望の番組のタイトルを発話することで、所望の番組を選択することができる。
さらに、例えば、N個の再生候補番組が、再生候補番組の順番を表す数字を付加して表示される場合には、ユーザは、所望の番組に付加されている数字を発話することで、所望の番組を選択することができる。
図7は、音声検索機能付き情報処理システムとしてのレコーダの他の処理を説明する図である。
図5では、録画番組からの音声検索の検索結果として、5個等の複数の再生候補番組が表示されるが、図5では、1個だけの再生候補番組が表示される。
すなわち、ユーザが、再生をしようとする番組の音声検索を行うためのキーワードとしての、例えば、入力音声「都市の世界遺産」を発話すると、音声検索機能付き情報処理システムとしてのレコーダでは、録画番組のタイトル等を、検索結果対象単語列として、音声検索が行われ、タイトルの発音が、入力音声「都市の世界遺産」の発音に類似する番組が、録画番組の中から検索される。
そして、音声検索機能付き情報処理システムとしてのレコーダでは、音声検索の検索結果として、タイトルの発音が、入力音声「都市の世界遺産」の発音に類似する、最上位の1個の番組(のタイトル等)が、再生候補番組として表示される。
この場合、ユーザは、音声検索の結果得られた1個の再生候補番組を、再生を行う番組として選択(受理)するか、又は、別の番組を、再生候補番組として表示し直すかを選択することができる。
例えば、音声検索機能付き情報処理システムとしてのレコーダを遠隔制御するリモートコマンダに、受理を指定する受理ボタンと、別の番組を再生候補番組として表示し直すことを指定する別の番組ボタンとが設けられている場合には、ユーザは、受理ボタン、又は、別の番組ボタンを操作することで、音声検索の結果得られた1個の再生候補番組を、再生を行う番組として選択するか、又は、別の番組を、再生候補番組として表示し直すかを指定することができる。
また、例えば、ユーザは、受理を指定する音声としての、例えば、「OK」、又は、別の番組を再生候補番組として表示し直すことを指定する音声としての、例えば、「違う」を発話することで、音声検索の結果得られた1個の再生候補番組を、再生を行う番組として選択するか、又は、別の番組を、再生候補番組として表示し直すかを指定することができる。
音声検索機能付き情報処理システムとしてのレコーダでは、音声検索の結果得られた1個の再生候補番組を、再生を行う番組として選択することが指定された場合、その再生候補番組が再生される。
また、別の番組を、再生候補番組として表示し直すことが指定された場合、音声検索機能付き情報処理システムとしてのレコーダでは、現在表示されている1個の再生候補番組の次の順位の再生候補番組が表示される。
図8は、音声検索機能付き情報処理システムとしての各種の機器が行う処理を説明する図である。
図8Aは、音声検索機能付き情報処理システムとしてのレコーダにおいて、録画予約を行う処理を説明する図である。
ユーザが、録画予約をしようとする番組の音声検索を行うためのキーワードとしての入力音声を発話すると、レコーダでは、EPGを構成する構成要素としての番組のタイトル等を、検索結果対象単語列として、音声検索を行うことにより、タイトル等の発音が、入力音声の発音に類似する番組が、EPGから検索される。
そして、レコーダでは、音声検索の結果として、タイトルの発音が、入力音声の発音に類似する、上位N位以内の番組(のタイトル等)が、録画予約を行う候補の番組である録画候補番組として表示される。
その後、ユーザが、N個の録画候補番組の中から、録画予約を行う番組として、1つの番組を選択すると、レコーダでは、その番組の録画予約が行われ、さらに、その録画予約に従って、番組の録画が行われる。
図8Bは、音声検索機能付き情報処理システムとしての、番組(ビデオのコンテンツ)を購入する番組購入システムにおいて、番組を購入する処理を説明する図である。
ユーザが、購入をしようとする番組の音声検索を行うためのキーワードとしての入力音声を発話すると、番組購入システムでは、例えば、インターネット等のネットワークを介して、番組を販売するビデオオンデマンドサイトにアクセスし、そのビデオオンデマンドサイトが販売している番組のタイトル等を、検索結果対象単語列として、音声検索(ビデオオンデマンド検索)を行うことにより、タイトル等の発音が、入力音声の発音に類似する番組が検索される。
そして、番組購入システムでは、音声検索の結果として、タイトルの発音が、入力音声の発音に類似する、上位N位以内の番組(のタイトル等)が、購入の候補の番組である購入候補番組として表示される。
その後、ユーザが、N個の購入候補番組の中から、購入する番組として、1つの番組を選択すると、番組購入システムでは、その番組の購入処理、すなわち、ビデオオンデマンドサイトからの番組のダウンロードや、番組の代金の支払いのための課金処理等が行われる。
図8Cは、音声検索機能付き情報処理システムとしての、楽曲(音楽)を購入する音楽購入システムにおいて、楽曲を購入する処理を説明する図である。
ユーザが、購入をしようとする楽曲の音声検索を行うためのキーワードとしての入力音声を発話すると、音楽購入システムでは、例えば、インターネット等のネットワークを介して、楽曲を販売する楽曲販売サイトにアクセスし、その楽曲販売サイトが販売している楽曲のタイトル(曲名)等を、検索結果対象単語列として、音声検索を行うことにより、タイトル等の発音が、入力音声の発音に類似する楽曲が検索される。
そして、音楽購入システムでは、音声検索の結果として、タイトルの発音が、入力音声の発音に類似する、上位N位以内の楽曲(のタイトル等)が、購入の候補の楽曲である購入候補楽曲として表示される。
その後、ユーザが、N個の購入候補楽曲の中から、購入する楽曲として、1つの楽曲を選択すると、音楽購入システムでは、その楽曲の購入処理が行われる。
図8Dは、音声検索機能付き情報処理システムとしての、楽曲(音楽)を再生する音楽再生システムにおいて、記録媒体に記録された楽曲を再生する処理を説明する図である。
ユーザが、再生をしようとする楽曲の音声検索を行うためのキーワードとしての入力音声を発話すると、音楽再生システムでは、記録媒体に記録された楽曲のタイトル(曲名)等を、検索結果対象単語列として、音声検索を行うことにより、タイトル等の発音が、入力音声の発音に類似する楽曲が、記録媒体から検索される。
そして、音楽再生システムでは、音声検索の結果として、タイトルの発音が、入力音声の発音に類似する、上位N位以内の楽曲(のタイトル等)が、再生を行う候補の楽曲である再生候補楽曲として表示される。
その後、ユーザが、N個の再生候補楽曲の中から、再生を行う楽曲として、1つの楽曲を選択すると、音楽再生システムでは、その楽曲の再生が行われる。
図8Eは、音声検索機能付き情報処理システムとしての、ゲームソフト(ソフトウェア)を購入するゲームソフト購入システムにおいて、ゲームソフトを購入する処理を説明する図である。
ユーザが、購入をしようとするゲームソフトの音声検索を行うためのキーワードとしての入力音声を発話すると、ゲームソフト購入システムでは、例えば、インターネット等のネットワークを介して、ゲームソフトを販売するゲームソフト販売サイトにアクセスし、そのゲームソフト販売サイトが販売しているゲームソフトのタイトル(曲名)等を、検索結果対象単語列として、音声検索を行うことにより、タイトル等の発音が、入力音声の発音に類似するゲームソフトが検索される。
そして、ゲームソフト購入システムでは、音声検索の結果として、タイトルの発音が、入力音声の発音に類似する、上位N位以内のゲームソフト(のタイトル等)が、購入の候補のゲームソフトである購入候補ゲームソフトとして表示される。
その後、ユーザが、N個の購入候補ゲームソフトの中から、購入するゲームソフトとして、1つのゲームソフトを選択すると、ゲームソフト購入システムでは、そのゲームソフトの購入処理が行われる。
なお、音声検索は、ビデオオンデマンドサイト(図8B)や、楽曲販売サイト(図8C)、ゲームソフト販売サイト(図8E)等のサイトに接続される情報処理システム側で行うのではなく、サイト側で行うことが可能である。
また、図1ないし図4の音声検索装置は、上述した情報処理システム以外にも適用可能である。
すなわち、図1ないし図4の音声検索装置は、例えば、ユーザが歌詞の一部を発話すると、その歌詞を含む楽曲を検索する情報処理システムや、ユーザがセリフの一部を発話すると、そのセリフを含む映画のコンテンツを検索する情報処理システム、ユーザが記述の一部を発話すると、その記述を含む書籍や雑誌を検索する情報処理システム等に適用することができる。
[音声検索装置を適用したレコーダの構成例]
図9は、図1ないし図4の音声検索装置を適用した情報処理システムとしてのレコーダの構成例を示すブロック図である。
図9において、レコーダは、音声検索装置50、レコーダ機能部60、コマンド判定部71、制御部72、及び、出力I/F(Interface)73を有する。
音声検索装置50は、図1ないし図4の音声検索装置のうちの、例えば、図1の音声検索装置と同様に構成されている。
すなわち、音声検索装置50は、音声認識部51、発音シンボル変換部52、検索結果対象記憶部53、形態素解析部54、発音シンボル変換部55、マッチング部56、及び、出力部57を有する。
音声認識部51ないし出力部57は、図1の音声認識部11ないし出力部17とそれぞれ同様に構成される。
なお、音声検索装置50は、図1の音声検索装置の他、図2ないし図4の音声検索装置のうちのいずれかと同様に構成することができる。
レコーダ機能部60は、チューナ61、記録再生部62、及び、記録媒体63を有し、テレビジョン放送の番組の記録(録画)及び再生を行う。
すなわち、チューナ61には、図示せぬアンテナで受信された、例えば、ディジタル放送によるテレビジョン放送信号が供給される。
チューナ61は、そこに供給されるテレビジョン放送信号を受信し、そのテレビジョン放送信号から所定のチャンネルのテレビジョン放送信号を抽出して、ビットストリームを復調し、記録再生部62に供給する。
記録再生部62は、チューナ61から供給されるビットストリームから、EPGや番組のデータ等を抽出し、出力I/F73に供給する。
また、記録再生部62は、EPGや番組のデータを、記録媒体63に記録(録画)する。
さらに、記録再生部62は、記録媒体63から、番組のデータを再生し、出力I/F73に供給する。
記録媒体63は、例えば、HD(Hard Disk)等であり、記録媒体63には、記録再生部62によって、EPGや番組のデータが記録される。
コマンド判定部71には、音声認識部51から、入力音声の音声認識結果が供給される。
コマンド判定部71は、音声認識部51からの入力音声の音声認識結果に基づいて、その入力音声が、レコーダを制御するコマンドであるかどうかを判定し、その判定結果を、制御部72に供給する。
制御部72は、コマンド判定部72からの、入力音声がコマンドであるかどうかの判定結果に基づき、コマンドに従った処理を行い、また、音声検索装置50、及び、レコーダ機能部60等の、レコーダを構成するブロックを制御する。その他、制御部72は、図示せぬリモートコマンダの操作等に従った処理を行う。
出力I/F73には、記録再生部62から、EPGや番組のデータが供給される。また、出力I/F73には、出力部57から、音声検索装置50での音声検索の結果である検索結果単語列が表示された検索結果表示画面が供給される。
出力部I/F73は、例えば、TV等の、少なくとも画像を表示することができる表示デバイスと接続されるインタフェースであり、記録再生部62からのEPGや番組のデータ、及び、出力部57からの検索結果表示画面を、出力部I/F73に接続された、例えば、図示せぬTVに供給する。
以上のように構成される図9のレコーダでは、記録媒体63に記録されたEPGを構成する構成要素である番組のタイトルや、出演者名、詳細情報等が、検索結果対象記憶部53に供給されて記憶される。
さらに、図9のレコーダでは、記録媒体63に録画(記録)された番組(録画番組)のメタデータである、番組のタイトルや、出演者名、詳細情報等が、検索結果対象記憶部53に供給されて記憶される。
したがって、図9の音声検索装置50では、番組のタイトルや、出演者名、詳細情報等を、検索結果対象単語列として、音声検索が行われる。
[発音シンボルを用いたマッチング]
図9の音声検索装置50の音声検索では、音声認識部51において、入力音声の音声認識が行われ、マッチング部56において、その音声認識結果と、検索結果対象記憶部53に記憶された検索結果対象単語列とのマッチングが行われる。
図10は、音声認識結果と検索結果対象単語列とのマッチングを、音声認識結果、及び、検索結果対象単語列それぞれの表記シンボルを用い、単語単位で行う場合の処理を示す図である。
図10では、入力音声「都市の世界遺産自由の女神」に対して、音声認識結果「都市の世界遺産自由の女神」が得られ、その音声認識結果「都市の世界遺産自由の女神」が、「都市/の/世界/遺産/自由/の/女神」のように、単語単位に区切られている。
そして、単語単位の音声認識結果「都市/の/世界/遺産/自由/の/女神」と、単語単位の検索結果対象単語列としての、例えば、番組のタイトルとのマッチングがとられている。
図11は、音声認識結果と検索結果対象単語列とのマッチングを、音声認識結果、及び、検索結果対象単語列それぞれの表記シンボルを用い、単語単位で行う場合と、表記シンボル単位で行う場合とを説明する図である。
いま、入力音声「Lime Wire」に対し、音声認識結果「Dime Wired」が得られたとする。
入力音声が「Lime Wire」であるので、その入力音声の音声認識結果に最もマッチする検索対象単語列は、入力音声と同一の「Lime Wire」であることが望ましい。
しかしながら、いまの場合、入力音声「Lime Wire」に対して得られている音声認識結果が「Dime Wired」であるため、音声認識結果「Dime Wired」と、検索対象単語列「Lime Wire」とのマッチングを、表記シンボルを用いて、単語単位で行った場合には、1つの単語もマッチ(一致)しない。
一方、音声認識結果「Dime Wired」と、検索対象単語列「Lime Wire」とのマッチングを、表記シンボルを用いて、表記シンボル単位で行うと、4つの文字列(キャラクタ)がマッチする。
ここで、図11の表記シンボル単位のマッチングでは、音声認識結果「Dime Wired」の先頭と最後のそれぞれに、発話の最初と最後を表す文字である$を付加した文字列「$Dime Wired$」から、先頭の位置を1表記シンボルずつずらしながら抽出した、連続する4つの表記シンボルとしての文字列(キャラクタ)「$Dim」、「Dime」、「ime_w」、「me_wi」、「e_wir」、「wire」、「ired」、及び、「red$」と、検索対象単語列「Lime Wire」の先頭と最後のそれぞれに、発話の最初と最後を表す文字である$を付加した文字列「$Lime Wire$」から、先頭の位置を1表記シンボルずつずらしながら抽出した、連続する4つの表記シンボルとしての文字列「$Lim」、「Lime」、「ime_w」、「me_wi」、「e_wir」、「wire」、及び、「ire$」とが一致するかどうかが判定されている。なお、文字列「ime_w」等において、アンダーバー(_)は、単語の区切りを表す。
以上から、表記シンボルを用いたマッチングでは、単語単位よりも、表記シンボル単位の方が、ロバストなマッチングを行うことができる。
しかしながら、表記シンボルを用いたマッチングでは、入力音声に対応する単語列が、検索結果単語列として出力されないことがある。
すなわち、表記シンボルは、発音に一致しないことがある。
具体的には、例えば、ひらがな「は」の発音(読み)は、「は」である場合と、「わ」である場合があるが、表記シンボルでは、発音の違いを表現することができない。
また、表記シンボルでは、複数の読みがある漢字、すなわち、例えば、「市」については、その読み(発音)が「し」であるのか、又は、「いち」であるのかを、表現することができない。
一方、例えば、表記シンボルで表された単語列「都市の世界遺産」と「年の瀬解散」とは、発音は一致するが、表記シンボルでは、「の」以外は異なる。
このため、音声認識結果が、「都市の世界遺産」である場合と、「年の瀬解散」である場合とでは、表記シンボルを用いたマッチングでは、異なるマッチング結果が得られるが、このことは、音声検索の性能に、必ずしも有利ではない。
すなわち、図12は、表記シンボルを用いたマッチングで、発音は一致するか、表記が異なる音声認識結果に対して異なるマッチング結果が得られることが、音声検索の性能に有利でないことを説明する図である。
図12では、入力音声「都市の世界遺産」の音声認識が行われ、その入力音声「都市の世界遺産」と発音は一致するが、表記が異なる、誤った音声認識結果「年の瀬解散」が得られている。
また、図12では、音声認識結果「年の瀬解散」を、「年/の/瀬/解/散」のように、表記シンボル単位に区切って、表記シンボル単位でのマッチングが行われている。
さらに、図12では、マッチングをとる検索結果対象単語列としての、例えば、番組のタイトルとして、「都市の世界遺産都市の遺産」、「瀬戸の歯医者さん」、及び、「衆院解散の年」の3つが用意されている。
音声認識結果「年の瀬解散」と、検索結果対象単語列「都市の世界遺産都市の遺産」とでは、表記シンボル単位では、図中、丸印を付してある1個の表記シンボル「の」しか一致しない。
また、音声認識結果「年の瀬解散」と、検索結果対象単語列「瀬戸の歯医者さん」とでは、表記シンボル単位では、図中、丸印を付してある2個の表記シンボル「瀬」及び「の」が一致する。
さらに、音声認識結果「年の瀬解散」と、検索結果対象単語列「衆院解散の年」とでは、表記シンボル単位では、図中、丸印を付してある4個の表記シンボル「解」、「散」、「の」及び「年」が一致する。
したがって、表記シンボル単位でのマッチングにおいて求められる、音声認識結果と検索結果対象単語列との類似度としては、音声認識結果「年の瀬解散」と、検索結果対象単語列「衆院解散の年」との類似度が、最も高くなる。
すなわち、表記シンボル単位でのマッチングにおいて求められる類似度として、例えば、コサイン距離を採用することとする。
また、単語列を表すベクトルとして、例えば、単語列に存在する表記シンボルに対応するコンポーネントを1とするとともに、単語列に存在しない表記シンボルに対応するコンポーネントを0とするベクトルを採用し、2つの単語列の類似度としてのコサイン距離を、その2つの単語列を表すベクトルを用いて求めることとする。
この場合、表記シンボル単位でのマッチングでは、音声認識結果「年の瀬解散」と、検索結果対象単語列「都市の世界遺産都市の遺産」との類似度として、0.15が、音声認識結果「年の瀬解散」と、検索結果対象単語列「瀬戸の歯医者さん」との類似度として、0.32が、音声認識結果「年の瀬解散」と、検索結果対象単語列「衆院解散の年」との類似度として、0.73が、それぞれ求められる。
したがって、例えば、マッチングの結果得られる類似度が最上位の検索結果対象単語列を、検索結果単語列として出力することとすると、入力音声「都市の世界遺産」の音声認識が誤り、音声認識結果「年の瀬解散」が得られた場合には、検索結果対象単語列としての3つの番組のタイトル「都市の世界遺産都市の遺産」、「瀬戸の歯医者さん」、及び、「衆院解散の年」のうちの、「衆院解散の年」が、検索結果単語列として出力されることになる。
入力音声「都市の世界遺産」に対しては、上述の3つの番組のタイトル「都市の世界遺産都市の遺産」、「瀬戸の歯医者さん」、及び、「衆院解散の年」のうちの、1番目の番組のタイトル「都市の世界遺産都市の遺産」が、検索結果単語列として出力されることが適切である。
しかしながら、入力音声「都市の世界遺産」が、発音(読み)では一致するが、表記が異なる「年の瀬解散」に音声認識されると、入力音声「都市の世界遺産」に対して適切な番組のタイトル「都市の世界遺産都市の遺産」ではなく、「都市の世界遺産」とはまったく関係がないような番組のタイトル「衆院解散の年」が、検索結果単語列として出力される。
なお、入力音声「都市の世界遺産」に対して、表記が一致する「都市の世界遺産」が、音声認識結果として得られた場合には、入力音声「都市の世界遺産」に対して適切な番組のタイトル「都市の世界遺産都市の遺産」との類似度が最上位となり、「都市の世界遺産都市の遺産」が、検索結果単語列として出力される。
以上のように、音声認識結果が、「都市の世界遺産」である場合と、「年の瀬解散」である場合とでは、表記シンボルを用いたマッチングでは、マッチング結果(音声認識結果と、各検索結果対象単語列との類似度)が異なり、その結果、入力音声「都市の世界遺産」に対して適切な番組のタイトル「都市の世界遺産都市の遺産」が、検索結果単語列として出力される場合と、そのような適切なタイトルが出力されず、入力音声「都市の世界遺産」とはまったく関係がないような番組のタイトル「衆院解散の年」が、検索結果単語列として出力される場合とがある。
そこで、音声検索装置50(図9)のマッチング部56では、入力音声に対して適切な番組のタイトルが、検索結果単語列として出力されないことを防止するため、発音シンボルを用いたマッチングが行われる。
ここで、発音シンボルは、例えば、音節、又は、音素の発音を表すシンボルであり、日本語については、例えば、読みを表すひらがなを採用することができる。
発音シンボルを用いたマッチングでは、マッチングの単位として、音節(の1つ)や、音節の2以上の連鎖、音素(の1つ)、音素の2以上の連鎖等を採用することができる。
なお、発音シンボルを用いたマッチングにおいて、どのようなマッチングの単位を採用するかによって、マッチング結果、ひいては、音声検索の性能は異なる。
図13は、マッチング部56(図9)でのマッチングの単位として、音節2連鎖(連続する2つの音節)を採用する場合の、図9の発音シンボル変換部52の処理を説明する図である。
発音シンボル変換部52には、音声認識部51から、入力音声の音声認識結果(の、例えば、表記シンボル)が供給される。
発音シンボル変換部52は、音声認識部51から供給される音声認識結果を、音節の並びに変換する。
さらに、発音シンボル変換部52は、音声認識結果の音節の並びの先頭から、注目する注目音節を、後方に、1音節ずつずらしていきながら、注目音節と、その注目音節の直後の音節との2つの音節である音節2連鎖を抽出し、その音節2連鎖の並びを、認識結果発音シンボル列として、マッチング部56(図9)に供給する。
図14は、マッチング部56(図9)でのマッチングの単位として、音節2連鎖を採用する場合の、図9の発音シンボル変換部55の処理を説明する図である。
発音シンボル変換部55には、検索結果対象記憶部53に記憶された検索結果対象単語列としての、番組のタイトル等が、形態素解析部54で形態素解析されて供給される。
発音シンボル変換部55は、形態素解析部54から供給される検索結果対象単語列を、音節の並びに変換する。
さらに、発音シンボル変換部55は、検索結果対象単語列の音節の並びの先頭から、注目する注目音節を、後方に、1音節ずつずらしていきながら、注目音節と、その注目音節の直後の音節との2つの音節である音節2連鎖を抽出し、その音節2連鎖の並びを、検索結果対象発音シンボル列として、マッチング部56(図9)に供給する。
図15は、図9のマッチング部56が、音節2連鎖の単位で行うマッチングを説明する図である。
マッチング部56が、認識結果発音シンボル列と、検索結果対象発音シンボル列との、音節2連鎖の単位でのマッチングとして、認識結果発音シンボル列と、検索結果対象発音シンボル列との類似度としての、例えば、コサイン距離を求める場合、マッチング部56は、認識結果発音シンボル列を構成する音節2連鎖に基づいて、認識結果発音シンボル列を表すベクトルである認識結果ベクトルを求める。
すなわち、マッチング部56は、例えば、認識結果発音シンボル列に存在する音節2連鎖に対応するコンポーネントを1とするとともに、認識結果発音シンボル列に存在しない音節2連鎖に対応するコンポーネントを0とするベクトルを、認識結果発音シンボル列を表す認識結果ベクトルとして求める。
さらに、マッチング部56は、検索結果対象記憶部53に記録された各検索結果対象単語列としての、例えば、番組のタイトル等についても、同様に、検索結果対象単語列の検索結果対象発音シンボル列を構成する音節2連鎖に基づいて、検索結果対象発音シンボル列を表すベクトルである検索結果対象ベクトルを求める。
そして、マッチング部56は、認識結果ベクトルと、検索結果対象ベクトルとの内積を、認識結果ベクトルの大きさと検索結果対象ベクトルの大きさとの乗算値で除算した値であるコサイン距離を、音声認識結果と、検索結果対象ベクトルに対応する検索結果対象単語列との類似度として求める、音節2連鎖の単位でのマッチングを行う。
図16は、単語単位でのマッチング、(1つの)音節単位でのマッチング、及び、音節2連鎖単位でのマッチングの結果を示す図である。
なお、図16では、図12と同様に、入力音声「都市の世界遺産」に対して、誤った音声認識結果「年の瀬解散」が得られており、検索結果対象単語列としての、例えば、番組のタイトルとして、「都市の世界遺産都市の遺産」、「瀬戸の歯医者さん」、及び、「衆院解散の年」の3つが用意されている。
また、図16では、表記シンボルを用いての、単語単位でのマッチング、発音シンボルを用いての、音節単位でのマッチング、及び、発音シンボルを用いての、音節2連鎖単位でのマッチングが行われている。
さらに、図16では、音声認識結果「年の瀬解散」の単語又は発音シンボル(音節)と一致する、検索結果対象単語列の単語又は発音シンボルには、丸印を付してある。
単語単位でのマッチングでは、音声認識結果「年の瀬解散」と、検索結果対象単語列「都市の世界遺産都市の遺産」、「瀬戸の歯医者さん」、及び、「衆院解散の年」それぞれとの類似度(コサイン距離)として、それぞれ、0.22,0.25、及び、0.75が求められる。
したがって、例えば、マッチングの結果得られる類似度が最上位の検索結果対象単語列を、検索結果単語列として出力することとすると、入力音声「都市の世界遺産」の音声認識が誤り、音声認識結果「年の瀬解散」が得られた場合には、表記シンボルを用いての、単語単位でのマッチングでは、検索結果対象単語列としての3つの番組のタイトル「都市の世界遺産都市の遺産」、「瀬戸の歯医者さん」、及び、「衆院解散の年」のうちの、音声認識結果「年の瀬解散」との類似度が0.75で最上位の検索結果対象単語列「衆院解散の年」が、検索結果単語列として出力されることになる。
入力音声「都市の世界遺産」に対しては、上述の3つの番組のタイトル「都市の世界遺産都市の遺産」、「瀬戸の歯医者さん」、及び、「衆院解散の年」のうちの、1番目の番組のタイトル「都市の世界遺産都市の遺産」が、検索結果単語列として出力されることが適切である。
しかしながら、入力音声「都市の世界遺産」が、発音(読み)では一致するが、表記が異なる「年の瀬解散」に音声認識されると、表記シンボルを用いての、単語単位でのマッチングでは、入力音声「都市の世界遺産」に対して適切な番組のタイトル「都市の世界遺産都市の遺産」ではなく、「都市の世界遺産」とはまったく関係がないような番組のタイトル「衆院解散の年」が、検索結果単語列として出力される。
なお、表記シンボルを用いてのマッチングを、単語単位ではなく、表記シンボル単位で行った場合も、図12で説明したように、入力音声「都市の世界遺産」の誤った音声認識結果「年の瀬解散」に対して、入力音声「都市の世界遺産」とはまったく関係がないような番組のタイトル「衆院解散の年」が、検索結果単語列として出力される。
発音シンボルを用いての、音節単位のマッチングでは、音声認識結果「年の瀬解散」と、検索結果対象単語列「都市の世界遺産都市の遺産」、「瀬戸の歯医者さん」、及び、「衆院解散の年」それぞれとの類似度として、それぞれ、0.82,1.0、及び、0.75が求められる。
したがって、例えば、マッチングの結果得られる類似度が最上位の検索結果対象単語列を、検索結果単語列として出力することとすると、入力音声「都市の世界遺産」の音声認識が誤り、音声認識結果「年の瀬解散」が得られた場合には、発音シンボルを用いての、音節単位でのマッチングでは、検索結果対象単語列としての3つの番組のタイトル「都市の世界遺産都市の遺産」、「瀬戸の歯医者さん」、及び、「衆院解散の年」のうちの、音声認識結果「年の瀬解散」との類似度が1.0で最上位の検索結果対象単語列「瀬戸の歯科医さん」が、検索結果単語列として出力される。
すなわち、入力音声「都市の世界遺産」が、発音では一致するが、表記が異なる「年の瀬解散」に音声認識されると、発音シンボルを用いての、音節単位でのマッチングでは、入力音声「都市の世界遺産」に対して適切な番組のタイトル「都市の世界遺産都市の遺産」ではなく、「都市の世界遺産」とはまったく関係がないような番組のタイトル「瀬戸の歯科医さん」が、検索結果単語列として出力される。
なお、表記シンボルを用いての、単語単位でのマッチングでは、入力音声「都市の世界遺産」に対して適切な番組のタイトル「都市の世界遺産都市の遺産」の類似度が、3つの検索結果対象単語列の中で、第3位(最下位)の値である0.22になっているが、発音シンボルを用いての、音節単位でのマッチングでは、入力音声「都市の世界遺産」に対して適切な番組のタイトル「都市の世界遺産都市の遺産」の類似度が、3つの検索結果対象単語列の中で、第2位の値である0.82になっている。
したがって、発音シンボルを用いての、音節単位でのマッチングは、入力音声「都市の世界遺産」に対して適切な番組のタイトル「都市の世界遺産都市の遺産」の類似度が、表示シンボルを用いての、単語単位でのマッチングの場合よりも上位である点で、表示シンボルを用いての、単語単位でのマッチングより有効であるということができる。
発音シンボルを用いての、音節2連鎖単位のマッチングでは、音声認識結果「年の瀬解散」と、検索結果対象単語列「都市の世界遺産都市の遺産」、「瀬戸の歯医者さん」、及び、「衆院解散の年」それぞれとの類似度として、それぞれ、0.68,0.43、及び、0.48が求められる。
したがって、例えば、マッチングの結果得られる類似度が最上位の検索結果対象単語列を、検索結果単語列として出力することとすると、入力音声「都市の世界遺産」の音声認識が誤り、音声認識結果「年の瀬解散」が得られた場合であっても、発音シンボルを用いての、音節2連鎖単位でのマッチングでは、検索結果対象単語列としての3つの番組のタイトル「都市の世界遺産都市の遺産」、「瀬戸の歯医者さん」、及び、「衆院解散の年」のうちの、音声認識結果「年の瀬解散」との類似度が0.68で最上位の検索結果対象単語列、すなわち、入力音声「都市の世界遺産」に対して適切な番組のタイトル「都市の世界遺産都市の遺産」が、検索結果単語列として出力される。
以上のように、発音シンボルを用いてのマッチングによれば、表記シンボルを用いてのマッチングを行う場合に比較して、入力音声に対応する単語列の検索を、ロバストに行うことができる。
すなわち、発音シンボルを用いてのマッチングによれば、音声認識が誤った場合でも、入力音声に対応する単語列が、検索結果単語列として出力されないことを防止(低減)することができる。
[コサイン距離を補正した補正距離]
マッチング部56(図9)において、音声認識結果(の認識結果発音シンボル列)と、検索結果対象単語列(の検索結果対象発音シンボル列)との類似度として、コサイン距離を採用する場合、例えば、上述したように、認識結果発音シンボル列に存在する音節(2連鎖)に対応するコンポーネントを1とするとともに、認識結果発音シンボル列に存在しない音節に対応するコンポーネントを0とするベクトルが、認識結果発音シンボル列を表す認識結果ベクトルとして求められる。
さらに、マッチング部56では、同様にして、検索結果対象単語列の検索結果対象発音シンボル列を表す検索結果対象ベクトルが求められる。
ここで、本実施の形態では、認識結果ベクトルのコンポーネントの値を、そのコンポーネントに対応する音節が、認識結果発音シンボル列に存在するかどうかで、1又は0とすることとするが、認識結果ベクトルのコンポーネントの値としては、そのコンポーネントに対応する音節が、認識結果発音シンボル列に出現する頻度であるtf(Term Frequency)を採用することが可能である。
また、認識結果ベクトルのコンポーネントの値としては、その他、例えば、ある検索結果対象単語列には偏って出現する音節に対しては大になり、多くの検索結果対象単語列に万遍なく出現する音節に対しては小になるidf(Invert Document Frequency)や、tfとidfとの両方を加味したTF-IDFを採用することができる。
検索結果対象ベクトルについても、同様である。
いま、認識結果ベクトルを、VUTRと表すとともに、検索結果対象記憶部53(図9)に記憶されたi番目の検索結果対象単語列の検索結果対象ベクトルを、VTITLE(i)と表すこととすると、音声認識結果と、i番目の検索結果対象単語列との類似度としてのコサイン距離Dは、式(1)に従って計算される。
D=VUTR・VTITLE(i)/(|VUTR||VTITLE(i)|)
・・・(1)
・・・(1)
式(1)において、・は、内積を表し、|x|は、ベクトルxの大きさ(ノルム)を表す。したがって、コサイン距離Dは、認識結果ベクトルVUTRと、検索結果対象ベクトルVTITLE(i)との内積VUTR・VTITLE(i)を、認識結果ベクトルVUTRの大きさ|VUTR|と検索結果対象ベクトルVTITLE(i)の大きさ|VTITLE(i)|との乗算値|VUTR||VTITLE(i)|で除算することにより求めることができる。
コサイン距離Dは、0.0ないし1.0の範囲の値をとり、値が大きいほど、認識結果ベクトルVUTRが表す認識結果発音シンボル列と、検索結果対象ベクトルVTITLE(i)が表す検索結果対象発音シンボル列とが類似していることを表す。
上述したように、コサイン距離Dは、認識結果ベクトルVUTRと、検索結果対象ベクトルVTITLE(i)との内積VUTR・VTITLE(i)を、認識結果ベクトルVUTRの大きさ|VUTR|と検索結果対象ベクトルVTITLE(i)の大きさ|VTITLE(i)|との乗算値で除算することにより求められるため、コサイン距離Dには、音声認識結果と検索結果対象単語列との長さの相違が影響する。
ここで、音声認識結果、及び、検索結果対象単語列の長さとは、音声認識結果と検索結果対象単語列とのマッチング、つまり、類似度としてのコサイン距離Dの計算を、表記シンボルを用いて、表記シンボル単位で行う場合には、音声認識結果、及び、検索結果対象単語列の表記シンボルの個数を、類似度の計算を、表記シンボルを用いて、単語単位で行う場合には、音声認識結果、及び、検索結果対象単語列の単語の個数を、類似度の計算を、発音シンボルを用いて、音韻単位で行う場合には、音声認識結果、及び、検索結果対象単語列の音韻の個数を、類似度の計算を、発音シンボルを用いて、音韻2連鎖単位で行う場合には、音声認識結果、及び、検索結果対象単語列の音韻2連鎖の個数を、それぞれ意味する。
いま、説明を簡単にするために、音声認識結果と検索結果対象単語列とのマッチングとしてのコサイン距離Dの計算を、表記シンボルを用いて、単語単位で行うこととすると、類似度としての式(1)のコサイン距離Dの演算は、検索結果対象ベクトルVTITLE(i)の大きさ|VTITLE(i)|による除算を含むため、例えば、音声認識結果と同一の単語列を含むが、長さ(ここでは、単語の個数)が、長い検索結果対象単語列と、短い検索結果対象単語列とでは、短い検索結果対象単語列との類似度は高くなり(コサイン距離Dが大になり)、長い検索結果対象単語列との類似度は低くなる(コサイン距離Dが小になる)傾向が強い。
したがって、長さが長い検索結果対象単語列の一部が、音声認識結果として得られても、その音声認識結果と、長さが長い検索結果対象単語列との類似度が、上位にならず、そのような検索結果対象単語列が、検索結果単語列として出力されないために、入力音声に対応する単語列の検索の精度が劣化することがある。
つまり、例えば、長いタイトルの一部が発話された場合に、その長いタイトルの類似度が、上位にならず、その長いタイトルが、検索結果単語列として出力されないことがある。
また、同様の理由により、所定の検索結果対象単語列と同一の単語列を含むが、長さが、長い音声認識結果と、短い音声認識結果とでは、長い音声認識結果と所定の検索結果対象単語列との類似度は、低くなり、短い音声認識結果と所定の検索結果対象単語列との類似度は、高くなる傾向が強い。
したがって、所定の検索結果対象単語列と同一の単語列を含むが、長さが長い音声認識結果については、その所定の検索結果対象単語列の類似度は、上位にならず、その所定の検索結果対象単語列が、検索結果単語列として出力されないために、入力音声に対応する単語列の検索の精度が劣化することがある。
つまり、例えば、短いタイトルを含む長い発話がされた場合に、その短いタイトルの類似度が、上位にならず、その短いタイトルが、検索結果単語列として出力されないことがある。
そこで、マッチング部56(図9)では、音声認識結果と検索結果対象単語列との長さの相違の影響を軽減するように、コサイン距離Dを補正した補正距離を、音声認識結果と検索結果対象単語列との類似度として採用することができる。
音声認識結果と検索結果対象単語列との類似度として、補正距離を採用する場合には、上述の音声認識結果と長い検索結果対象単語列との類似度、及び、長い音声認識結果と検索結果対象単語列との類似度が低くなることが防止され、その結果、入力音声に対応する単語列の検索を、ロバストに行うことができ、入力音声に対応する単語列の検索の精度の劣化を防止することができる。
補正距離としては、第1の補正距離と、第2の補正距離とがある。
第1の補正距離は、コサイン距離Dを求める式(1)の演算において、検索結果対象単語列の長さに比例する、検索結果対象ベクトルVTITLE(i)の大きさ|VTITLE(i)|に代えて、検索結果対象単語列の長さに比例しない値|VUTR|×√(|VTITLE(i)|/|VUTR|)、すなわち、認識結果ベクトルVUTRの大きさ|VUTR|と検索結果対象ベクトルVTITLE(i)の大きさ|VTITLE(i)|との乗算値の平方根√(|VTITLE(i)||VUTR|)を用いて求められる。
ここで、コサイン距離Dを求める式(1)の演算において、検索結果対象ベクトルVTITLE(i)の大きさ|VTITLE(i)|に代えて用いる値を、以下、代用サイズS(i)ともいう。
第1の補正距離D1は、式(2)に従って求められる。
D1=VUTR・VTITLE(i)/(|VUTR|S(i))
=VUTR・VTITLE(i)/(|VUTR||VUTR|×√(|VTITLE(i)|/|VUTR|))
=VUTR・VTITLE(i)/(|VUTR|√(|VTITLE(i)||VUTR|))
・・・(2)
=VUTR・VTITLE(i)/(|VUTR||VUTR|×√(|VTITLE(i)|/|VUTR|))
=VUTR・VTITLE(i)/(|VUTR|√(|VTITLE(i)||VUTR|))
・・・(2)
図17は、代用サイズS(i)として、認識結果ベクトルVUTRの大きさ|VUTR|と検索結果対象ベクトルVTITLE(i)の大きさ|VTITLE(i)|との乗算値の平方根√(|VTITLE(i)||VUTR|)を用いる場合の、検索結果対象ベクトルVTITLE(i)の大きさ|VTITLE(i)|と、代用サイズS(i)との関係を示す図である。
なお、図17では、認識結果ベクトルVUTRの大きさ|VUTR|を、5としてある。
また、図17では、代用サイズS(i)として、検索結果対象ベクトルVTITLE(i)の大きさ|VTITLE(i)|を用いる場合、つまり、式(1)のコサイン距離Dの演算において、検索結果対象ベクトルVTITLE(i)の大きさ|VTITLE(i)|をそのまま用いる場合の、検索結果対象ベクトルVTITLE(i)の大きさ|VTITLE(i)|と、代用サイズS(i)との関係も示してある。
認識結果ベクトルVUTRの大きさ|VUTR|と検索結果対象ベクトルVTITLE(i)の大きさ|VTITLE(i)|との乗算値の平方根√(|VTITLE(i)||VUTR|)は、|VTITLE(i)|が小さい場合、つまり、検索結果対象単語列の長さが短い場合には、|VTITLE(i)|より大になり、|VTITLE(i)|が大きい場合、つまり、検索結果対象単語列の長さが長い場合には、|VTITLE(i)|より小になる。
その結果、式(2)に従って求められる第1の補正距離D1は、式(1)に従って求められるコサイン距離Dに比較して、音声認識結果の長さに対する検索結果対象単語列の長さとしての、検索結果対象ベクトルVTITLE(i)の大きさ|VTITLE(i)|の違いの影響が少ない値、すなわち、音声認識結果と検索結果対象単語列との長さの相違の影響が軽減された値となる。
第2の補正距離は、コサイン距離Dを求める式(1)の演算において、検索結果対象単語列の長さに比例する、検索結果対象ベクトルVTITLE(i)の大きさ|VTITLE(i)|に代えて、認識結果ベクトルVUTRの大きさ|VUTR|を、代用サイズS(i)として用いて求められる。
したがって、第2の補正距離D2は、式(3)に従って求められる。
D2=VUTR・VTITLE(i)/(|VUTR|S(i))
=VUTR・VTITLE(i)/|VUTR|2
・・・(3)
=VUTR・VTITLE(i)/|VUTR|2
・・・(3)
第2の補正距離D2は、検索結果対象ベクトルVTITLE(i)の大きさ|VTITLE(i)|を用いずに求められるので、音声認識結果の長さに対する検索結果対象単語列の長さとしての、検索結果対象ベクトルVTITLE(i)の大きさ|VTITLE(i)|の違いの影響がない値、すなわち、音声認識結果と検索結果対象単語列との長さの相違の影響が軽減(除去)された値となる。
図18は、音声認識結果と検索結果対象単語列との類似度として、コサイン距離D、第1の補正距離D1、及び、第2の補正距離D2を採用した場合のマッチングのシミュレーションの結果を示す図である。
なお、図18のシミュレーションでは、短い発話「世界遺産」に対して、正しい音声認識結果「世界遺産」が得られたこととし、検索結果対象単語列としての番組のタイトルとして、長いタイトル「THE世界遺産都市の遺産スペシャルイタリアローマベネチア」と、短いタイトル「世界情勢」とを採用した。
さらに、マッチングは、表記シンボルを用いて、単語単位で行った。
また、図18では、音声認識結果「世界遺産」の単語「世界/遺産」と一致する、検索結果対象単語列としての番組のタイトルの単語には、アンダーラインを付してある。
タイトル「THE世界遺産都市の遺産スペシャルイタリアローマベネチア」では、音声認識結果「世界遺産」に対して、「世界」と「遺産」との2つの単語が一致する。
一方、タイトル「世界情勢」では、音声認識結果「世界遺産」に対して、「世界」の1つの単語だけが一致する。
したがって、タイトル「THE世界遺産都市の遺産スペシャルイタリアローマベネチア」と、タイトル「世界情勢」とでは、音声認識結果「世界遺産」と一致する単語の数が多いタイトル「THE世界遺産都市の遺産スペシャルイタリアローマベネチア」の類似度の方が、タイトル「世界情勢」の類似度よりも上位になることが適切である。
しかしながら、類似度として、コサイン距離Dを採用した場合、長いタイトル「THE世界遺産都市の遺産スペシャルイタリアローマベネチア」の一部「世界遺産」に一致する音声認識結果「世界遺産」については、短いタイトル「世界情勢」の類似度が、0.5となり、長いタイトル「THE世界遺産都市の遺産スペシャルイタリアローマベネチア」の類似度が、0.4472となって、短いタイトル「世界情勢」の類似度の方が、長いタイトル「THE世界遺産都市の遺産スペシャルイタリアローマベネチア」の類似度よりも上位となる。
すなわち、類似度として、コサイン距離Dを採用した場合には、長いタイトル「THE世界遺産都市の遺産スペシャルイタリアローマベネチア」の一部「世界遺産」に一致する短い音声認識結果「世界遺産」と、その長いタイトル「THE世界遺産都市の遺産スペシャルイタリアローマベネチア」との長さの相違の影響により、音声認識結果「世界遺産」に対して適切な長いタイトル「THE世界遺産都市の遺産スペシャルイタリアローマベネチア」の類似度が上位にならない。
一方、類似度として、補正距離を採用した場合、長いタイトル「THE世界遺産都市の遺産スペシャルイタリアローマベネチア」の類似度の方が、短いタイトル「世界情勢」の類似度よりも上位となる。
すなわち、類似度として、第1の補正距離D1を採用した場合、音声認識結果「世界遺産」については、短いタイトル「世界情勢」の類似度が、0.5となり、長いタイトル「THE世界遺産都市の遺産スペシャルイタリアローマベネチア」の類似度が、0.6687となって、長いタイトル「THE世界遺産都市の遺産スペシャルイタリアローマベネチア」の類似度の方が、短いタイトル「世界情勢」の類似度よりも上位となる。
また、類似度として、第2の補正距離D2を採用した場合、音声認識結果「世界遺産」については、短いタイトル「世界情勢」の類似度が、0.5となり、長いタイトル「THE世界遺産都市の遺産スペシャルイタリアローマベネチア」の類似度が、1.0となって、長いタイトル「THE世界遺産都市の遺産スペシャルイタリアローマベネチア」の類似度の方が、短いタイトル「世界情勢」の類似度よりも上位となる。
以上のように、類似度として、補正距離を採用した場合には、長い検索結果対象単語列の一部に一致する音声認識結果と、その長い検索結果対象単語列との長さの相違の影響が軽減され、音声認識結果「世界遺産」に対して適切な長いタイトル「THE世界遺産都市の遺産スペシャルイタリアローマベネチア」の類似度が上位になる。
図19は、音声認識結果と検索結果対象単語列との類似度として、コサイン距離D、第1の補正距離D1、及び、第2の補正距離D2を採用した場合のマッチングの他のシミュレーションの結果を示す図である。
なお、図19のシミュレーションでは、長い発話「世界遺産都市の遺産イタリアローマベネチアナポリフィレンツェ」に対して、正しい音声認識結果「世界遺産都市の遺産イタリアローマベネチアナポリフィレンツェ」が得られたこととし、検索結果対象単語列としての番組のタイトルとして、短いタイトル「世界遺産」と、長いタイトル「探検ロマン世界遺産イタリアフィレンツェ歴史地区」とを採用した。
さらに、マッチングは、表記シンボルを用いて、単語単位で行った。
また、図19では、音声認識結果「世界遺産都市の遺産イタリアローマベネチアナポリフィレンツェ」の単語「世界/遺産/都市/の/遺産/イタリア/ローマ/ベネチア/ナポリ/フィレンツェ」と一致する、検索結果対象単語列としての番組のタイトルの単語には、アンダーラインを付してある。
タイトル「世界遺産」では、音声認識結果「世界遺産都市の遺産イタリアローマベネチアナポリフィレンツェ」に対して、「世界」と「遺産」との2つの単語が一致する。
一方、タイトル「探検ロマン世界遺産イタリアフィレンツェ歴史地区」では、音声認識結果「世界遺産都市の遺産イタリアローマベネチアナポリフィレンツェ」に対して、「世界」、「遺産」、「イタリア」、及び、「フィレンツェ」の4つの単語が一致する。
したがって、タイトル「世界遺産」と、タイトル「探検ロマン世界遺産イタリアフィレンツェ歴史地区」とでは、音声認識結果「世界遺産都市の遺産イタリアローマベネチアナポリフィレンツェ」と一致する単語の数が多いタイトル「探検ロマン世界遺産イタリアフィレンツェ歴史地区」の類似度の方が、タイトル「世界遺産」の類似度よりも上位になることが適切である。
しかしながら、類似度として、コサイン距離Dを採用した場合、長い音声認識結果「世界遺産都市の遺産イタリアローマベネチアナポリフィレンツェ」については、長いタイトル「探検ロマン世界遺産イタリアフィレンツェ歴史地区」の類似度が、0.4472となり、短いタイトル「世界遺産」の類似度が、0.4772となって、長いタイトル「探検ロマン世界遺産イタリアフィレンツェ歴史地区」の類似度の方が、短いタイトル「世界遺産」の類似度よりも上位にならない。
すなわち、類似度として、コサイン距離Dを採用した場合には、長い音声認識結果「世界遺産都市の遺産イタリアローマベネチアナポリフィレンツェ」と、短い検索結果対象単語列「世界遺産」との長さの相違の影響により、音声認識結果「世界遺産都市の遺産イタリアローマベネチアナポリフィレンツェ」に対して適切な長いタイトル「探検ロマン世界遺産イタリアフィレンツェ歴史地区」の類似度が上位にならない。
一方、類似度として、補正距離を採用した場合、長いタイトル「探検ロマン世界遺産イタリアフィレンツェ歴史地区」の類似度の方が、短いタイトル「世界遺産」の類似度よりも上位となる。
すなわち、類似度として、第1の補正距離D1を採用した場合、長い音声認識結果「世界遺産都市の遺産イタリアローマベネチアナポリフィレンツェ」については、長いタイトル「探検ロマン世界遺産イタリアフィレンツェ歴史地区」の類似度が、0.4229となり、短いタイトル「世界遺産」の類似度が、0.2991となって、長いタイトル「探検ロマン世界遺産イタリアフィレンツェ歴史地区」の類似度の方が、短いタイトル「世界遺産」の類似度よりも上位となる。
また、類似度として、第2の補正距離D2を採用した場合、長い音声認識結果「世界遺産都市の遺産イタリアローマベネチアナポリフィレンツェ」については、長いタイトル「探検ロマン世界遺産イタリアフィレンツェ歴史地区」の類似度が、0.4となり、短いタイトル「世界遺産」の類似度が、0.2となって、長いタイトル「探検ロマン世界遺産イタリアフィレンツェ歴史地区」の類似度の方が、短いタイトル「世界遺産」の類似度よりも上位となる。
以上のように、類似度として、補正距離を採用した場合には、長い音声認識結果と、短い検索結果対象単語列との長さの相違の影響が軽減され、音声認識結果「世界遺産都市の遺産イタリアローマベネチアナポリフィレンツェ」に対して適切な長いタイトル「探検ロマン世界遺産イタリアフィレンツェ歴史地区」の類似度が上位になる。
したがって、補正距離によれば、音声認識結果と検索結果対象単語列との長さの相違の影響が軽減されることにより、入力音声に対応する単語列の検索を、ロバストに行うことができ、入力音声に対応する単語列の検索の精度の劣化を防止することができる。
[音声認識部51の構成例]
図20は、図9の音声認識部51の構成例を示すブロック図である。
図20において、音声認識部51は、認識部81、辞書記憶部82、音響モデル記憶部83、言語モデル記憶部84、及び、言語モデル生成部85を有する。
認識部81には、入力音声が供給される。
認識部81は、そこに供給される入力音声を、辞書記憶部82、音響モデル記憶部83、及び、言語モデル記憶部84を必要に応じて参照しながら、例えば、HMM法等に基づいて音声認識し、入力音声の音声認識結果を出力する。
すなわち、辞書記憶部82は、音声認識の結果の対象となる各単語(語彙)について、その発音に関する情報(音韻情報)等が記述された単語辞書を記憶する。
音響モデル記憶部83は、音声認識を行う音声の言語における個々の音素や音節などの音響的な特徴を表す音響モデルを記憶する。ここでは、HMM法に基づいて音声認識を行うので、音響モデルとしては、例えば、HMMが用いられる。
言語モデル記憶部84は、辞書記憶部82の単語辞書に登録されている各単語が、どのように連鎖する(つながる)かを記述した文法規則である言語モデルを記憶する。ここで、言語モデルとしては、例えば、文脈自由文法(CFG)や、統計的な単語連鎖確率(N-gram)等の文法規則を用いることができる。
認識部81は、辞書記憶部82の単語辞書を参照することにより、音響モデル記憶部83に記憶されている音響モデルを接続することで、単語の音響モデル(単語モデル)を構成する。
さらに、認識部81は、幾つかの単語モデルを、言語モデル記憶部84に記憶された言語モデルを参照することにより接続し、そのようにして接続された単語モデルを用いて、HMM法によって、入力音声を認識する。
すなわち、認識部81は、そこに供給される入力音声の特徴量(例えば、ケプストラム等)が観測される尤度が最も高い単語モデルの系列を検出し、その単語モデルの系列に対応する単語列を、音声認識結果として出力する。
具体的には、認識部81は、接続された単語モデルに対応する単語列について、入力音声の特徴量の出現確率を累積し、その累積値を、入力音声の特徴量が観測される尤度である認識スコアとして、その認識スコアを最も高くする単語列を、音声認識結果として出力する。
認識スコアは、一般に、音響モデル記憶部83に記憶された音響モデルによって与えられる音響的な尤度(以下、音響スコアともいう)と、言語モデル記憶部84に記憶された言語モデルによって与えられる言語的な尤度(以下、言語スコアともいう)とを総合的に評価することで求められる。
すなわち、音響スコアとしては、例えば、HMM法による場合には、単語モデルを構成する音響モデルから、入力音声の特徴量が観測される確率が、例えば、単語ごとに計算される。また、言語スコアとしては、例えば、バイグラムによる場合には、注目している単語と、その単語の直前の単語とが連鎖(連接)する確率が求められる。
そして、各単語についての音響スコアと言語スコアとを総合的に評価して、認識スコアが求められ、その認識スコアに基づいて、音声認識結果が確定される。
ここで、あるK個の単語からなる単語列におけるk番目の単語をwkとして、その単語wkの音響スコアをA(wk)と、言語スコアをL(wk)と、それぞれ表すとき、その単語列の認識スコアSは、例えば、式(4)に従って計算される。
S=Σ(A(wk)+Ck×L(wk))
・・・(4)
・・・(4)
式(4)において、Σは、kを1からKに変えてのサメーションをとることを表す。また、Ckは、単語wkの言語スコアL(wk)にかける重みを表す。
認識部81では、例えば、式(4)に示す認識スコアが、上位M(Mは1以上の整数)位以内の単語列w1,w2,・・・,wKが求められ、その単語列w1,w2,・・・,wKが、音声認識結果として出力される。
ここで、入力音声Xが、単語列Wである(条件付き)確率を、P(W|X)と表すこととすると、確率P(W|X)は、ベイズの定理により、入力音声Xが発生する確率P(X)、単語列Wが発生する確率P(W)、及び、単語列Wを発話したときに入力音声Xが観測される確率P(X|W)を用いて、式P(W|X)=P(W)P(X|W)/P(X)で表される。
式P(W|X)=P(W)P(X|W)/P(X)において、確率P(W|X)が、認識スコアに、確率P(W)が、言語スコアに、確率P(X|W)が音響スコアに、それぞれ相当する。
なお、辞書記憶部82の単語辞書に、T個の単語が登録されているとすると、そのT個の単語を用いて構成しうるT個の単語の並びは、TT通り存在する。したがって、単純には、認識部81では、このTT通りの単語列を評価し(認識スコアを計算し)、その中から、入力音声に最も適合するもの(認識スコアが上位M以内のもの)を決定しなければならない。
そして、単語辞書に登録する単語数Tが増えれば、その単語数分の単語の並びの数は、単語数の単語数乗通りになるから、評価の対象としなければならない単語列は、膨大な数となる。
さらに、一般には、入力音声中に含まれる単語の数は未知であるから、T個の単語の並びからなる単語列だけでなく、1単語、2単語、・・・、T-1単語からなる単語列も、評価の対象とする必要がある。したがって、評価すべき単語列の数は、さらに膨大なものとなるから、迅速な音声認識を行うには、そのような膨大な単語列の中から、音声認識結果として確からしいものを効率的に決定する必要がある。
そこで、認識部81では、例えば、ある認識仮説としての単語列についての音響スコアを求める過程において、その途中で得られる音響スコアが所定の閾値以下となった場合に、その認識仮説の認識スコアの計算を打ち切るという音響的な枝刈りや、言語スコアに基づいて、認識スコアの計算の対象とする認識仮説を絞り込む言語的な枝刈りが行われる。
ところで、図9のレコーダにおいて、上述したように、ユーザが発話した入力音声に応じて、録画番組の中から、ユーザが所望する番組を検索して再生する場合や、EPGから、ユーザが所望する番組を検索して録画予約をする場合には、ユーザは、入力音声として、番組のタイトルや、出演者名、詳細情報に含まれる記述等の、番組のメタデータ(EPGの構成要素でもある)を発話することが予想される。
そして、番組のメタデータ、すなわち、例えば、番組のタイトルには、造語や、メインキャスタの名前(芸名等)、特有の言い回し等の、新聞に記載されている記事で一般に使用されている単語列ではない単語列が含まれる。
このような番組のタイトルの発話の音声認識を、新聞に記載されている単語列を用いて生成された言語モデルである、汎用の言語モデルを用いて行うと、番組のタイトルに一致する認識仮説の言語スコアとして、高い値が得られない。
その結果、番組のタイトルに一致する認識仮説が、音声認識結果として得られず、音声認識の精度が劣化する。
そこで、図20の音声認識部51は、言語モデル生成部85を有している。
言語モデル生成部85は、図9の音声検索装置50の検索結果対象記憶部53に記憶された検索結果対象単語列を用いて、言語モデルを生成する。
ここで、上述したように、検索結果対象記憶部53には、記録媒体63に記録されたEPGを構成する構成要素である番組のタイトルや、出演者名、詳細情報等、及び、記録媒体63に録画された録画番組のメタデータである、番組のタイトルや、出演者名、詳細情報等が、検索結果対象単語列として記憶される。
図21は、検索結果対象記憶部53に記憶される検索結果対象単語列としての番組のメタデータの例を示す図である。
番組のメタデータとしては、例えば、番組のタイトル、出演者名、及び、詳細情報等がある。
言語モデル生成部85では、ユーザが入力音声として(一部を)発話することが予想される、検索結果対象単語列としての番組のタイトルや、出演者名、詳細情報等を用いて、いわば、番組の検索に専用の言語モデルが生成される
なお、検索結果対象単語列が、EPGを構成する構成要素(番組のメタデータ)である、番組のタイトルや、出演者名、詳細情報等としての単語列である場合には、検索結果対象単語列は、番組のタイトルや、出演者名、詳細情報等のフィールドに分類されている、ということができるが、このようなフィールドに分類されている検索結果対象単語列を用いての専用の言語モデルの生成では、各検索結果対象単語列が、いずれのフィールドに属するかを区別せずに、1つの専用の言語モデルを生成することもできるし、各フィールドの検索結果対象単語列を用いて、フィールドごとの言語モデルを生成し、そのフィールドごとの言語モデルをインターポーレートして、1つの専用の言語モデルを生成することもできる。
言語モデル生成部85で生成された専用の言語モデルは、言語モデル記憶部84に供給されて記憶される。
したがって、認識部81では、そのような専用の言語モデルを用いて、言語スコアが求められるので、汎用の言語モデルを用いる場合に比較して、音声認識の精度を向上させることができる。
なお、図20では、言語モデル生成部85を、音声認識部51の内部に設けるようにしたが、言語モデル生成部85は、音声認識部51の外部に設けることが可能である。
また、言語モデル記憶部84には、言語モデル生成部85が生成する言語モデルとは、別に、汎用の言語モデルを記憶させておくことができる。
図22は、図20の言語モデル生成部85での言語モデルの生成の処理を説明する図である。
言語モデル生成部85は、検索結果対象記憶部53(図9)に記憶された各検索結果対象単語列を形態素解析する。さらに、言語モデル生成部85は、検索結果対象単語列の形態素解析結果を用いて、例えば、単語Aの後に単語Bが続く確率を表すバイグラム等の言語モデルを学習し、専用の言語モデルとして、言語モデル記憶部84に供給して記憶させる。
なお、言語モデル生成部85において、EPGの構成要素を、検索結果対象単語列として用いて、専用の言語モデルを生成する場合、例えば、所定の曜日や、最新の1週間等の、今後の放送が予定されている所定の期間のEPGを用いて、専用の言語モデルを生成することができる。
図9のレコーダにおいて、ユーザが発話した入力音声に応じて、EPGから、ユーザが所望する番組を検索して録画予約をする場合に、ユーザが、所定の曜日に放送される番組に興味を持っていることが分かっているときには、所定の曜日のEPGを用いて、専用の言語モデルを生成することにより、所定の曜日に放送される番組についての音声認識の精度を向上させることができ、ひいては、その所定の曜日に放送される番組が、検索結果単語列として出力されやすくなる。
また、図9のレコーダにおいて、ユーザが発話した入力音声に応じて、EPGから、ユーザが所望する番組を検索して録画予約をする場合に、最新の1週間のEPGを用いて、専用の言語モデルを生成することにより、最新の1週間の間に放送される番組についての音声認識の精度を向上させることができ、ひいては、その最新の1週間の間に放送される番組が、検索結果単語列として出力されやすくなる。
さらに、言語モデル生成部85において、EPGの構成要素を、検索結果対象単語列として用いて、専用の言語モデルを生成する場合には、最近のEPG、すなわち、放送時刻がより近い番組のEPGの構成要素である検索結果単語列における単語の並びほど、高い言語スコアが与えられるように、専用の言語モデルを生成することができる。
この場合、放送時刻がより近い番組についての音声認識の精度を向上させることができ、ひいては、放送時刻がより近い番組が、検索結果単語列として出力されやすくなる。
ところで、検索結果対象単語列が、上述のように、複数のフィールドに分類されている場合に、その検索結果対象単語列から、1つの専用の言語モデルを生成し、その1つの専用の言語モデルを用いて、音声認識を行うと、異なるフィールドの検索結果対象単語列の一部ずつを並べた認識仮説の言語スコアが高くなることがある。
すなわち、例えば、上述のように、番組のタイトル、出演者名、及び、詳細情報のフィールドに分類されている検索結果対象単語列を用いて生成された1つの専用の言語モデルを用いて音声認識を行うと、例えば、ある番組Aのタイトルの一部と、他の番組Bの出演者の出演者名の一部とを並べた単語列が認識仮説になったときに、その認識仮説の言語スコアが高くなることがある。
しかしながら、番組Aのタイトルの一部と、番組Bの出演者名の一部とを並べた単語列は、検索結果対象単語列である、EPGの構成要素には存在しないので、そのような単語列が、音声認識結果にされ得る、言語スコアが高い認識仮説となることは、好ましくない。
また、例えば、上述のように、番組のタイトル、出演者名、及び、詳細情報のフィールドに分類されている検索結果対象単語列を、特に区別することなく用いて、マッチング部56(図9)でマッチングを行う場合には、ユーザが、例えば、番組のタイトルを発話したときであっても、番組のタイトルのフィールドの検索結果対象単語列だけでなく、すべてのフィールドの検索結果対象単語列と、ユーザの発話の音声認識結果とのマッチングが行われ、その音声認識結果にマッチする検索結果対象単語列が、検索結果単語列として出力される。
したがって、この場合、ユーザがタイトルを発話した番組に無関係な番組、すなわち、例えば、ユーザが発話した番組のタイトルに類似しないタイトルの番組ではあるが、ユーザが発話した番組のタイトルに含まれる単語列に類似する(一致する場合も含む)単語列を、検索結果対象単語列としての出演者名や詳細情報に含む番組が、検索結果単語列として出力されることがある。
以上のように、ユーザがタイトルを発話した番組に無関係な番組が、検索結果単語列として出力されることは、その検索結果単語列としての番組の中から、録画予約を行う番組を探して選択しようとするユーザに煩わしさを感じさせることがある。
そこで、マッチング部56(図9)では、検索結果対象単語列が、複数のフィールドに分類されている場合には、音声認識結果とのマッチングを、ユーザが希望するフィールド等の所定のフィールドの検索結果対象単語列だけを対象として行うようにすることができる。
しかしながら、所定のフィールドの検索結果対象単語列だけを対象として、音声認識結果とのマッチングを行う場合でも、図22の専用の言語モデルを用いた音声認識では、例えば、上述したように、ある番組Aのタイトルの一部と、他の番組Bの出演者の出演者名の一部とを並べた単語列が認識仮説になって、その認識仮説の言語スコアが高くなり、ひいては、その認識仮説が、音声認識結果となることがある。
そして、そのような音声認識結果とのマッチングを、所定のフィールドの検索結果対象単語列だけを対象として行っても、ユーザが録画予約を希望する番組が検索される可能性が高いとはいえない。
そこで、図20の音声認識部51では、言語モデル生成部85は、フィールドごとに、そのフィールドの検索結果対象単語列を用いて、言語モデルを生成することができ、認識部81は、各フィールドについて、そのフィールドの言語モデルを用いて音声認識を行い、フィールドごとの音声認識結果を求めることができる。
さらに、この場合、マッチング部56(図9)では、音声認識結果と検索結果対象単語列とのマッチングを、フィールドごとに行うこともできるし、フィールドの区別なく行うこともできる。
図23は、図20の言語モデル生成部85でのフィールドごとの言語モデルの生成の処理を説明する図である。
いま、検索結果対象記憶部53(図9)に記憶されている検索結果対象単語列が、番組のタイトル、出演者名、及び、詳細情報のそれぞれのフィールドに分類されていることとすると、言語モデル生成部85は、検索結果対象記憶部53に記憶された番組のタイトルのフィールド(以下、番組タイトルフィールドともいう)の検索結果対象単語列を形態素解析する。
さらに、言語モデル生成部85は、番組タイトルフィールドの検索結果対象単語列の形態素解析結果を用いて、例えば、バイグラム等の言語モデルを学習することで、番組タイトルフィールド用の言語モデルを生成し、言語モデル記憶部84に供給して記憶させる。
また、言語モデル生成部85は、検索結果対象記憶部53に記憶された出演者名のフィールド(以下、出演者名フィールドともいう)の検索結果対象単語列を形態素解析する。
さらに、言語モデル生成部85は、出演者名の検索結果対象単語列の形態素解析結果を用いて、例えば、バイグラム等の言語モデルを学習することで、出演者目フィールド用の言語モデルを生成し、言語モデル記憶部84に供給して記憶させる。
同様にして、言語モデル生成部85は、検索結果対象記憶部53に記憶された詳細情報のフィールド(以下、詳細情報フィールドともいう)の検索結果対象単語列を用いて、詳細情報フィールド用の言語モデルを生成し、言語モデル記憶部84に供給して記憶させる。
図24は、各フィールドの言語モデルを用いて音声認識を行い、フィールドごとの音声認識結果を求め、音声認識結果と検索結果対象単語列とのマッチングを、フィールドごとに行う場合の、図9の音声検索装置50の処理を説明する図である。
認識部81は、入力音声の音声認識を、番組タイトルフィールド用の言語モデル、出演者名フィールド用の言語モデル、及び、詳細情報フィールド用の言語モデルのそれぞれを用いて、独立に行う。
認識部81は、番組タイトルフィールド用の言語モデルを用いた音声認識では、認識スコアが上位の1以上の認識仮説を求め、番組タイトルフィールドの音声認識結果とする。
さらに、認識部81は、出演者名フィールド用の言語モデルを用いた音声認識でも、認識スコアが上位の1以上の認識仮説を求め、出演者名フィールドの音声認識結果とする。
同様に、認識部81は、詳細情報フィールド用の言語モデルを用いた音声認識でも、認識スコアが上位の1以上の認識仮説を求め、詳細情報フィールドの音声認識結果とする。
そして、マッチング部56(図9)は、番組タイトルフィールドの音声認識結果とのマッチングを、検索結果対象記憶部53(図9)に記憶された検索結果対象単語列のうちの番組タイトルフィールドの検索結果対象単語列だけを対象として行う。
さらに、マッチング部56は、出演者名フィールドの音声認識結果とのマッチングを、検索結果対象記憶部53に記憶された検索結果対象単語列のうちの出演者名フィールドの検索結果対象単語列だけを対象として行う。
同様に、マッチング部56は、詳細情報フィールドの音声認識結果とのマッチングを、検索結果対象記憶部53に記憶された検索結果対象単語列のうちの詳細情報フィールドの検索結果対象単語列だけを対象として行う。
そして、出力部57(図9)は、フィールドごとに、マッチング結果に基づいて、音声認識結果との類似度(例えば、コサイン距離や補正距離等)が上位N位以内の検索結果対象単語列を、検索結果単語列として出力する。
図24では、入力音声「世界遺産」に対して、番組タイトルフィールド、出演者名フィールド、及び、詳細情報フィールドそれぞれの音声認識結果として、いずれも、「世界遺産」が求められている。
そして、音声認識結果と検索結果対象単語列とのマッチングが、フィールドごとに行われ、番組タイトルフィールド、出演者名フィールド、及び、詳細情報フィールドそれぞれの検索結果単語列として、類似度が上位3位以内の検索結果対象単語列が出力されている。
なお、図24では、検索結果単語列としての検索結果対象単語列において、発音シンボルが、音声認識結果とマッチする部分には、アンダーラインを付してある。
出力部57(図9)では、フィールドごとに、音声認識結果との類似度によって、検索結果対象単語列を順位付けし、上位N位以内の検索結果対象単語列を、検索結果単語列として出力する他、フィールドに関係なく(すべてのフィールドに亘って)、検索結果対象単語列を順位付けする、いわば総合順位の順位付けを行い、総合順位が上位N位以内の検索結果対象単語列を、検索結果単語列として出力することができる。
図25は、出力部57の、総合順位を求める部分の構成例を示すブロック図である。
図25において、出力部57は、総合スコア計算部91を有する。
総合スコア計算部91には、音声認識部51で求められる、各フィールドの音声認識結果の信頼性を表す音声認識信頼度が供給される。
ここで、音声認識信頼度としては、例えば、認識スコアを採用することができる。
また、総合スコア計算部91には、マッチング部56で求められる、各フィールドの検索結果対象単語列の類似度が供給される。
総合スコア計算部91は、フィールドごとに、音声認識結果の音声認識信頼度と、検索結果対象単語列の類似度とを、総合的に評価して、検索結果対象単語列が、入力音声に対応する単語列にマッチする度合いを表す総合スコアを求める。
すなわち、ある検索結果対象単語列を、注目単語列として、その注目単語列に注目すると、総合スコア計算部91は、音声認識結果の音声認識信頼度、及び、その音声認識結果と注目単語列との類似度のそれぞれを、必要に応じて、例えば、0.0ないし1.0の範囲の値に正規化する。
さらに、総合スコア計算部91は、音声認識結果の音声認識信頼度、及び、その音声認識結果と注目単語列との類似度の加重平均値や、相乗平均値等を、注目単語列の総合スコアとして求める。
そして、総合スコア計算部91は、総合スコアが高い順に、検索結果対象単語列に対して、順位を付ける。
図26は、図25の総合スコア計算部91の構成例を示すブロック図である。
図26において、総合スコア計算部91は、番組タイトル総合スコア計算部92、出演者名総合スコア計算部93、詳細情報総合スコア計算部94、及び、スコア比較順位付け部95を有する。
番組タイトル総合スコア計算部92には、音声認識部51で求められる、番組タイトルフィールドの音声認識結果の音声認識信頼度、及び、マッチング部56で求められる、番組タイトルフィールドの音声認識結果と、番組タイトルフィールドの検索結果対象単語列との類似度が供給される。
番組タイトル総合スコア計算部92は、番組タイトルフィールドの検索結果対象単語列を、順次、注目単語列として、番組タイトルフィールドの音声認識結果の音声認識信頼度、及び、その音声認識結果と注目単語列との類似度を用いて、注目単語列の総合スコアを求め、スコア比較順位付け部95に供給する。
出演者名総合スコア計算部93には、音声認識部51で求められる、出演者名フィールドの音声認識結果の音声認識信頼度、及び、マッチング部56で求められる、出演者名フィールドの音声認識結果と、出演者名フィールドの検索結果対象単語列との類似度が供給される。
出演者名総合スコア計算部93は、出演者名フィールドの検索結果対象単語列を、順次、注目単語列として、出演者名フィールドの音声認識結果の音声認識信頼度、及び、その音声認識結果と注目単語列との類似度を用いて、注目単語列の総合スコアを求め、スコア比較順位付け部95に供給する。
詳細情報総合スコア計算部94には、音声認識部51で求められる、詳細情報フィールドの音声認識結果の音声認識信頼度、及び、マッチング部56で求められる、詳細情報フィールドの音声認識結果と、詳細情報フィールドの検索結果対象単語列との類似度が供給される。
詳細情報総合スコア計算部94は、詳細情報フィールドの検索結果対象単語列を、順次、注目単語列として、詳細情報フィールドの音声認識結果の音声認識信頼度、及び、その音声認識結果と注目単語列との類似度を用いて、注目単語列の総合スコアを求め、スコア比較順位付け部95に供給する。
スコア比較順位付け部95は、番組タイトル総合スコア計算部92、出演者名総合スコア計算部93、及び、詳細情報総合スコア計算部94それぞれからの総合スコアを比較して、昇順に並べ、総合スコアの高い順に、検索結果対象単語列に総合順位を付ける。
そして、出力部57は、総合順位が上位N位以内の検索結果対象単語列を、検索結果単語列として出力する。
図24では、認識部81において、各フィールドの言語モデルを用いて音声認識を行い、フィールドごとの音声認識結果を求めたが、認識部81では、すべてのフィールドに亘る、いわば総合的な音声認識結果を求めることができる。
図27は、各フィールドの言語モデルを用いて音声認識を行い、すべてのフィールドに亘る総合的な音声認識結果を求め、音声認識結果と検索結果対象単語列とのマッチングを、フィールドごとに行う場合の、図9の音声検索装置50の処理を説明する図である。
図27でも、図24の場合と同様に、認識部81は、入力音声の音声認識を、番組タイトルフィールド用の言語モデル、出演者名フィールド用の言語モデル、及び、詳細情報フィールド用の言語モデルのそれぞれを用いて、独立に行い、番組タイトルフィールド、出演者名フィールド、及び、詳細情報フィールドそれぞれの音声認識結果を求める。
さらに、認識部81は、番組タイトルフィールド、出演者名フィールド、及び、詳細情報フィールドそれぞれの音声認識結果のすべての中から、認識スコアが上位の1以上の音声認識結果を検出し、その音声認識結果を、マッチング部56でのマッチングに用いる、いわば総合的な音声認識結果とする。
マッチング部56(図9)は、総合的な音声認識結果とのマッチングを、検索結果対象記憶部53(図9)に記憶された検索結果対象単語列のうちの番組タイトルフィールドの検索結果対象単語列、出演者名フィールドの検索結果対象単語列、及び、詳細情報フィールドの検索結果対象単語列のそれぞれを対象として行う。
そして、出力部57(図9)は、フィールドごとに、マッチング結果に基づいて、音声認識結果としての類似度が上位N位以内の検索結果対象単語列を、検索結果単語列として出力する。
図27では、入力音声「世界遺産」に対して、総合的な音声認識結果として、「世界遺産」が求められている。
そして、音声認識結果と検索結果対象単語列とのマッチングが、フィールドごとに行われ、番組タイトルフィールド、出演者名フィールド、及び、詳細情報フィールドそれぞれの検索結果単語列として、類似度が上位3位以内の検索結果対象単語列が出力されている。
なお、図27では、図24と同様に、検索結果単語列としての検索結果対象単語列において、発音シンボルが、音声認識結果とマッチする部分には、アンダーラインを付してある。
以上のように、認識部81が、フィールドごとの音声認識結果ではなく、総合的な音声認識結果を求める場合でも、出力部57(図9)では、フィールドに関係なく(すべてのフィールドに亘って)、検索結果対象単語列を順位付けする、総合順位の順位付けを行い、総合順位が上位N位以内の検索結果対象単語列を、検索結果単語列として出力することができる。
図28は、認識部81が、総合的な音声認識結果を求める場合の、出力部57の、総合順位を求める部分の構成例を示すブロック図である。
図28において、出力部57は、類似度比較順位付け部96を有する。
類似度比較順位付け部96には、マッチング部56で求められる、各フィールドの検索結果対象単語列の類似度が供給される。
なお、図27において、認識部81で求められる音声認識信頼度としての認識スコアは、総合的な音声認識結果の認識スコアであり、フィールドごとに存在する値ではないため、類似度比較順位付け部96には、供給されない。
類似度比較順位付け部96は、番組タイトルフィールドの検索結果対象単語列、出演者名フィールドの検索結果対象単語列、及び、詳細情報フィールドの検索結果対象単語列それぞれの類似度すべてを比較して、昇順に並べ、類似度の高い順に、検索結果対象単語列に総合順位を付ける。
そして、出力部57は、総合順位が上位N位以内の検索結果対象単語列を、検索結果単語列として出力する。
[検索結果単語列の表示]
図29は、出力部57(図9)が出力する検索結果単語列の表示画面の例を示す図である。
検索結果単語列の表示画面(以下、検索結果表示画面ともいう)においては、検索結果単語列のうちの、入力音声の音声認識結果にマッチ(類似、及び、一致)する単語やシラブル等の部分(以下、発話対応部分ともいう)を、強調して表示することができる。
図29は、発話対応部分を強調せずに表示した検索結果表示画面と、発話対応部分を強調して表示した検索結果表示画面とを示している。
図29では、発話対応部分が、アンダーラインを付すことによって強調されている。
なお、発話対応部分を強調する方法としては、その他、例えば、発話対応部分をブリンク(blink)で表示する方法や、色を変えて表示する方法、フォントの種類や大きさを変えて表示する方法等がある。
また、発話対応部分は、そのすべてを強調するのではなく、発話対応部分のうちの、音声認識結果の信頼性(音声認識信頼度)の高い部分等の一部分だけを強調して表示することができる。
さらに、検索結果単語列が長い場合には、検索結果表示画面では、検索結果単語列のうちの、発話対応部分と、その前後の部分だけを表示することができる。
検索結果表示画面において、検索結果単語列の発話対応部分(又は、その一部)を強調して表示することにより、ユーザは、音声認識が正しく行われているかどうかを把握し、さらに、発話の言い直しを行うべきかどうかを判断することができる。
[特定のフレーズを含む入力音声による音声検索]
図30は、特定のフレーズを含む入力音声による音声検索の例を示す図である。
図9のレコーダにおいて、コマンド判定部71は、音声認識部51から供給される音声認識結果に基づいて、ユーザからの入力音声が、レコーダを制御するコマンドであるかどうかを判定する。
すなわち、コマンド判定部71は、レコーダを制御するコマンドとして定義された文字列(以下、コマンド文字列ともいう)を記憶しており、音声認識部51からの音声認識結果が、コマンド文字列に一致するかどうかによって、ユーザからの入力音声が、レコーダを制御するコマンドであるかどうかを判定する。
コマンド判定部71は、入力音声がコマンドでないと判定した場合、すなわち、音声認識部51からの音声認識結果が、コマンド文字列に一致しない場合、入力音声がコマンドでない旨の判定結果を、制御部72に供給する。
この場合、制御部72は、例えば、マッチングを実行するように、マッチング部56を制御する。したがって、音声検索装置50では、マッチング部56において、音声認識結果と検索結果対象単語列とのマッチングが行われ、出力部57において、そのマッチング結果に基づいて、検索結果単語列が出力される。
一方、コマンド判定部71は、入力音声がコマンドであると判定した場合、すなわち、音声認識部51からの音声認識結果が、コマンド文字列に一致する場合、入力音声がコマンドである旨の判定結果を、音声認識結果に一致するコマンド文字列とともに、制御部72に供給する。
この場合、制御部72は、音声検索装置50の処理を制限する制御を行う。したがって、音声検索装置50では、マッチング部56において、マッチングは実行されず、検索結果単語列は出力されない。
さらに、この場合、制御部72は、コマンド判定部71からのコマンド文字列から解釈されるコマンドに従って、レコーダ機能部60を制御する等の処理を行う。
したがって、コマンド判定部71において、コマンド文字列として、例えば、録画番組の中から、再生を行う番組を選択するコマンドに解釈されるコマンド文字列「選択」や、番組を再生するコマンドに解釈されるコマンド文字列「再生」等が記憶されている場合に、音声認識部51が、例えば、コマンド文字列「再生」に一致する音声認識結果「再生」を出力したときには、制御部72では、コマンド文字列「再生」から解釈されるコマンドに従い、例えば、番組を再生するように、レコーダ機能部60が制御される。
ところで、以上のように、音声認識結果がコマンド文字列に一致する場合に、音声検索装置50の処理を制限すると、コマンド文字列に一致する単語列をキーワードとして、音声検索を行うことができなくなる。
そこで、図9のレコーダでは、音声検索を行う場合には、その旨を指示する特定のフレーズとしての、例えば、「音声検索で」等を含む入力音声を、ユーザに発話してもらうことで、コマンド文字列に一致する単語列をキーワードとして、音声検索を行うことができるようになっている。
なお、特定のフレーズは、入力音声中の、例えば、最初や最後に含めることができるが、以下では、入力音声中の最初に含めることとする。
ユーザは、単語「再生」をキーワードとして、そのキーワード「再生」を含む番組の検索を、音声検索によって行いたい場合には、音声検索を指示する特定のフレーズとしての、例えば、「音声検索で」と、キーワード「再生」とを続けて発話する。
この場合、音声認識部51には、入力音声「番組検索で再生」が供給され、音声認識部51では、その入力音声「番組検索で再生」の音声認識が行われる。
ここで、入力音声「番組検索で再生」の音声認識では、入力音声「番組検索で再生」に一致する認識仮説の言語スコアが低い場合、入力音声「番組検索で再生」に一致する音声認識結果が出力されないことがある。
ここでは、ユーザに、特定のフレーズ「番組検索で」を含む入力音声「番組検索で再生」を発話してもらうことによって、キーワード「再生」を含む番組の音声検索を行うので、特定のフレーズを含む入力音声に対して、少なくとも、特定のフレーズを含む単語列が音声認識結果として出力されないことは、好ましくない。
すなわち、音声認識部51では、特定のフレーズを含む入力音声「番組検索で再生」に対して、その特定のフレーズを含む音声認識結果を得ることが必要であり、そのためには、例えば、特定のフレーズを含む認識仮説の言語スコアが低くなることを防止する必要がある。
そこで、音声認識部51(図20)では、言語モデル生成部85において、検索結果対象記憶部53(図9)に記憶された検索結果対象単語列とともに、特定のフレーズをも用いて、言語モデルが生成される。
これにより、言語モデルとして、例えば、バイグラムを採用する場合には、特定のフレーズと、検索結果対象単語列を構成する単語とが並ぶ場合に、高い値の言語スコアが与えられる言語モデル(以下、特定フレーズ用言語モデルともいう)が生成される。
なお、検索結果対象記憶部53(図9)に記憶された検索結果対象単語列には、コマンド文字列を含めておくこととする。
また、音声認識部51では、言語モデル生成部85において、特定のフレーズを用いず、検索結果対象記憶部53(図9)に記憶された検索結果対象単語列だけを用いて、つまり、特定のフレーズを含まない単語列を用いて、特定フレーズ用言語モデルの他の言語モデルであるフレーズなし言語モデルが生成される。
特定フレーズ用言語モデルによれば、特定のフレーズを含む認識仮説(単語列)の言語スコアとして、特定のフレーズを含まない認識仮説の言語スコアよりも高い値が与えられる。
また、フレーズなし言語モデルによれば、特定のフレーズを含まない認識仮説(単語列)の言語スコアとして、特定のフレーズを含む単語列の言語スコアよりも高い値が与えられる。
音声認識部51では、特定フレーズ用言語モデル、及び、フレーズなし言語モデルを用いて、音声認識が行われる。
特定フレーズ用言語モデル、及び、フレーズなし言語モデルを用いた音声認識では、フレーズなし言語モデルを用いるが、特定フレーズ用言語モデルを用いない音声認識に比較して、特定のフレーズと、検索結果対象単語列を構成する単語とが並ぶ認識仮説に、高い値の言語スコアが与えられる。
したがって、特定のフレーズを含む入力音声については、特定のフレーズと、検索結果対象単語列を構成する単語とが並ぶ認識仮説の言語スコア(及び音響スコア)、ひいては、認識スコアが、特定フレーズ用言語モデルを用いない音声認識の場合に比較して高くなり、特定のフレーズを含む入力音声に対して、その特定のフレーズを含む認識仮説の言語スコアが低くなって、音声認識結果として出力されないことを防止することができる。
図30は、図9の音声認識部51において、特定フレーズ用言語モデル、及び、フレーズなし言語モデルを用いて、音声認識が行われる場合の、音声検索の例を示している。
ユーザが、例えば、図30に示すように、特定のフレーズ「音声検索で」を含む入力音声「音声検索で再生」を発話した場合、音声認識部51では、その入力音声「音声検索で再生」が音声認識される。
上述したように、音声認識部51では、特定フレーズ用言語モデルを用いて、音声認識が行われるので、特定のフレーズ「音声検索で」を含む入力音声については、特定のフレーズを含む認識仮説「音声検索で再生」の言語スコア(及び音響スコア)、ひいては、認識スコアが、特定フレーズ用言語モデルを用いない場合よりも十分に高くなる。
その結果、特定のフレーズ「音声検索で」を含む入力音声については、特定のフレーズを含む認識仮説「音声検索で再生」が音声認識結果として出力される。
音声認識部51が出力する音声認識結果「音声検索で再生」は、発音シンボル変換部52と、コマンド判定部71とに供給される。
音声認識結果「音声検索で再生」は、特定のフレーズ「音声検索で」を含むため、コマンド文字列に一致しないので、コマンド判定部71では、入力音声がコマンドでないと判定される。
したがって、制御部72は、音声検索装置50の処理を制限する制御を行わない。
一方、発音シンボル変換部52では、音声認識部51からの音声認識結果「音声検索で再生」が、認識結果発音シンボル列に変換され、マッチング部56に供給される。
また、マッチング部56には、検索結果対象記憶部53から、形態素解析部54、及び、発音シンボル変換部55を介して、検索結果対象単語列の検索結果対象発音シンボル列が供給される。
マッチング部56は、認識結果発音シンボル列に、特定のフレーズ(の発音シンボル)が含まれている場合には、認識結果発音シンボル列から、特定のフレーズを除去し、その削除後の認識結果発音シンボル列と、検索結果対象発音シンボル列とのマッチングを行う。
そして、マッチング部56は、認識結果発音シンボル列と、検索結果対象発音シンボル列とのマッチング結果としての類似度を、出力部57に供給する。
出力部57は、マッチング部56からのマッチング結果としての類似度に基づいて、その類似度が上位N位以内の検索結果対象単語列を、検索結果単語列として出力する。
図30では、特定のフレーズを含む入力音声「音声検索で再生」に対して、上位2位以内の検索結果対象単語列としての番組のタイトルが、検索結果単語列として出力されている。
ここで、いまの場合、マッチング部56では、以上のように、特定のフレーズを除去した認識結果発音シンボル列と、検索結果対象発音シンボル列とのマッチング、すなわち、特定のフレーズを除去した音声認識結果と、検索結果対象単語列とのマッチングが行われ、そのマッチング結果に基づいて、特定のフレーズを除去した音声認識結果にマッチする検索結果対象単語列が、検索結果単語列として出力される。
したがって、この場合、検索結果対象単語列は、入力音声から特定のフレーズを除いた(除去した)音声に対応する単語列の検索結果の対象となる単語列であるということができる。
一方、ユーザが、例えば、図30に示すように、特定のフレーズを含まず、かつ、コマンド文字列に一致する入力音声「再生」を発話した場合、音声認識部51では、その入力音声「再生」が音声認識され、音声認識結果「再生」が、発音シンボル変換部52と、コマンド判定部71とに供給される。
音声認識結果「再生」は、コマンド文字列「再生」に一致するので、コマンド判定部71は、入力音声がコマンドであると判定し、入力音声がコマンドである旨の判定結果を、音声認識結果に一致するコマンド文字列「再生」とともに、制御部72に供給する。
制御部72は、コマンド判定部71から、入力音声がコマンドである旨の判定結果が供給されると、音声検索装置50の処理を制限する制御を行う。したがって、音声検索装置50では、音声検索は行われず、検索結果単語列は出力されない。
さらに、制御部72は、コマンド判定部71からのコマンド文字列「再生」から解釈されるコマンドに従って、番組の再生を行うように、レコーダ機能部60を制御する。
以上のように、音声認識部51では、特定フレーズ用言語モデル、及び、フレーズなし言語モデルを用いて、音声認識が行われるので、特定のフレーズを含む入力音声、及び、特定のフレーズを含まない入力音声の両方を、精度良く音声認識することができる。
さらに、音声検索を行う場合には、ユーザに、特定のフレーズを含む発話をしてもらうことで、ユーザの発話が、音声検索の要求であるのか、又は、レコーダを制御するコマンドあるのかを区別し、コマンド文字列に一致する単語列であっても、その単語列をキーワードとして、音声検索を行うことができる。
すなわち、ユーザの発話に、特定のフレーズが含まれるかどうかによって(又は、ユーザの発話が、コマンド文字列に一致するのかどうかによって)、音声検索と、レコーダの制御とを切り替えることができる。
なお、図30では、検索結果対象単語列に、コマンド文字列を含めておき、言語モデル生成部85において、特定のフレーズを用いず、検索結果対象単語列だけを用いて、フレーズなし言語モデルを生成することとしたが、フレーズなし言語モデルとしては、その他、例えば、コマンド文字列のみを用いて生成した言語モデルを採用することが可能である。
また、図30では、コマンド判定部71において、音声認識部51からの音声認識結果に基づき、その音声認識結果が、コマンド文字列に一致するかどうかによって、ユーザからの入力音声が、レコーダを制御するコマンドであるかどうかを判定することとしたが、コマンド判定部71では、その他、例えば、マッチング部56のマッチング結果に基づいて、入力音声が、レコーダを制御するコマンドであるかどうかを判定することができる。
すなわち、この場合、コマンド文字列として、レコーダを制御するコマンド固有の単語列、つまり、検索結果対象単語列に出現する可能性が極めて低い(理想的には、検索結果対象単語列に出現する可能性がない)単語列を採用する。
例えば、レコーダに再生を行わせるコマンドのコマンド文字列として、「再生」に代えて、「レコーダコントロール再生」等を採用する。
さらに、コマンド文字列を、検索結果対象単語列に含めておき、マッチング部56において、検索結果対象単語列の検索結果対象発音シンボル列と、音声認識結果の全体の認識結果発音シンボル列とのマッチングを行い、そのマッチング結果を、コマンド判定部71に供給する。
そして、コマンド判定部71では、マッチング部56からのマッチング結果に基づき、音声認識結果の全体(の認識結果発音シンボル列)とのマッチングによって得られる類似度が最上位の検索結果対象単語列が、コマンド文字列に一致する場合には、入力音声がコマンドであると判定し、最上位の検索結果対象単語列が、コマンド文字列に一致しない場合には、入力音声がコマンドでないと判定する。
コマンド判定部71において、入力音声がコマンドであると判定された場合、制御部72は、そのコマンドに従った処理を行うとともに、出力部57が、マッチング部56のマッチング結果に基づいて、検索結果単語列を出力することを制限する。
一方、コマンド判定部71において、入力音声がコマンドでないと判定された場合、制御部72は、入力音声の音声認識結果に、特定のフレーズが含まれるときには、認識結果発音シンボル列から、特定のフレーズを除去し、その削除後の認識結果発音シンボル列と、検索結果対象発音シンボル列とのマッチングを行うように、マッチング部56を制御するとともに、マッチング部56のマッチング結果に基づいて、検索結果単語列を出力するように、出力部57を制御する。
なお、以上のように、コマンド文字列として、コマンド固有の単語列を採用する場合にはコマンド判定部71において、入力音声に、特定のフレーズが含まれるか否かにかかわらず、入力音声が、コマンドであるか否かを判定することができるので、ユーザは、音声検索を行うのに、特定のフレーズを含む入力音声を発話せずに、音声検索のキーワードだけの入力音声を発話することができる(ユーザは、音声検索を行うのに、特定のフレーズを発話する必要はない)。
この場合、コマンド判定部71において、入力音声がコマンドでないと判定されたときには、制御部72は、マッチング部56で既に行われている、検索結果対象単語列と、音声認識結果の全体とのマッチングのマッチング結果に基づいて、検索結果単語列を出力するように、出力部57を制御する。
図31は、特定のフレーズを含む入力音声による音声検索の他の例を示す図である。
図27で説明したように、検索結果対象単語列が、例えば、番組タイトルフィールド、出演者名フィールド、及び、詳細情報フィールド等の複数のフィールドに分類されている場合には、音声認識部51(図9)では、各フィールドの検索結果対象単語列から、フィールドごとの言語モデルである番組タイトルフィールド用の言語モデル、出演者名フィールド用の言語モデル、及び、詳細情報フィールド用の言語モデルを生成し、そのフィールドごとの言語モデルを用いて、音声認識を行い、フィールドごとの音声認識結果を求めることができる。
さらに、音声認識部51では、番組タイトルフィールド、出演者名フィールド、及び、詳細情報フィールドそれぞれの音声認識結果のすべての中から、認識スコアが上位の1以上の音声認識結果を検出し、その音声認識結果を、マッチング部56でのマッチングに用いる、総合的な音声認識結果とすることができる。
そして、マッチング部56(図9)では、フィールドごとの検索結果対象単語列と、音声認識結果とのマッチングを行うことができ、出力部57(図9)では、フィールドごとに、マッチング結果に基づいて、音声認識結果との類似度が上位N位以内の検索結果対象単語列を、検索結果単語列として出力することができる。
この場合、フィールドごとに、検索結果単語列が出力される。
すなわち、番組タイトルフィールド、出演者名フィールド、及び、詳細情報フィールドそれぞれの検索結果単語列が出力される。
したがって、ユーザが、例えば、タイトルに所定の文字列を含む番組を検索しようとして、その所定の文字列を発話した場合であっても、番組タイトルフィールドの検索結果対象単語列だけでなく、番組タイトルフィールド、出演者名フィールド、及び、詳細情報フィールドそれぞれについて、音声認識結果にマッチする検索結果対象単語列が、検索結果単語列として出力される。
その結果、ユーザが発話した所定の文字列にマッチしないタイトルの番組であっても、その所定の文字列にマッチする出演者名や詳細情報を、メタデータとして含む番組が、検索結果単語列として出力されることがある。
以上のように、ユーザが発話した所定の文字列にマッチしないタイトルの番組が、検索結果単語列として出力されることは、ユーザに煩わしさを感じさせることがある。
また、例えば、番組を検索する場合に、タイトルに、所定の文字列を含む番組だけを検索することや、出演者名に、所定の文字列を含む番組だけを検索すること等ができれば便利である。
そこで、図9のレコーダでは、音声検索を行う場合には、音声検索を指示し、かつ、音声認識結果とのマッチングをとる検索結果対象単語列のフィールドを表す特定のフレーズとしての、例えば、「番組名検索で」や「人名検索で」等を含む入力音声を、ユーザに発話してもらうことで、音声認識結果とのマッチングをとる検索結果対象単語列のフィールドを、特定のフィールドに制限して、音声検索を行うことができるようになっている。
音声認識結果とのマッチングをとる検索結果対象単語列のフィールドを、特定のフィールドに制限して、音声検索を行う場合には、音声認識部51(図20)の言語モデル生成部85において、フィールドごとに、検索結果対象記憶部53(図9)に記憶された検索結果対象単語列と、フィールドを表す特定のフレーズであるフィールドフレーズとを用いて、言語モデルが生成される。
すなわち、例えば、上述したように、検索結果対象単語列が、番組タイトルフィールド、出演者名フィールド、及び、詳細情報フィールドの3つのフィールドに分類されている場合には、言語モデル生成部85は、番組タイトルフィールドを表す特定のフレーズであるフィールドフレーズとしての、例えば、「番組名検索で」と、番組タイトルフィールドの検索結果対象単語列とを用いて、番組タイトルフィールド用の言語モデルを生成する。
さらに、言語モデル生成部85は、出演者名フィールドを表すフィールドフレーズとしての、例えば、「人名検索で」と、出演者名フィールドの検索結果対象単語列とを用いて、出演者名フィールド用の言語モデルを生成するとともに、詳細情報フィールドを表すフィールドフレーズとしての、例えば、「詳細情報検索で」と、詳細情報フィールドの検索結果対象単語列とを用いて、詳細情報フィールド用の言語モデルを生成する。
なお、言語モデルとして、例えば、バイグラムを採用する場合には、番組タイトルフィールド用の言語モデルによれば、番組タイトルフィールドのフィールドフレーズ「番組名検索で」と、番組タイトルフィールドの検索結果対象単語列を構成する単語とが並ぶ場合に、高い値の言語スコアが与えられる。
出演者名フィールド用の言語モデル、及び、詳細情報フィールド用の言語モデルでも、同様である。
音声認識部51では、番組タイトルフィールド用の言語モデル、出演者名フィールド用の言語モデル、及び、詳細情報フィールド用の言語モデルを用いて、音声認識が行われる。
番組タイトルフィールド用の言語モデル、出演者名フィールド用の言語モデル、及び、詳細情報フィールド用の言語モデルを用いた音声認識によれば、番組タイトルフィールドのフィールドフレーズ「番組名検索で」と、番組タイトルフィールドの検索結果対象単語列を構成する単語とが並ぶ認識仮説、出演者名フィールドのフィールドフレーズ「人名検索で」と、出演者名フィールドの検索結果対象単語列を構成する単語とが並ぶ認識仮説、及び、詳細情報フィールドのフィールドフレーズ「詳細情報検索で」と、詳細情報フィールドの検索結果対象単語列を構成する単語とが並ぶ認識仮説に、高い値の言語スコアが与えられる。
したがって、フィールドフレーズを含む入力音声が発話された場合に、その入力音声を、精度良く音声認識することができる。
音声認識結果とのマッチングをとる検索結果対象単語列のフィールドを、特定のフィールドに制限して、音声検索を行う場合には、以上のように、音声認識部51(図20)において、フィールドごとの言語モデルを用いて音声認識が行われる他、マッチング部56において、音声認識結果に含まれるフィールドフレーズが表すフィールド(音声認識結果を得るのに用いられた言語モデルのフィールド)の認識対象単語列だけを対象として、音声認識結果とのマッチングがとられ、出力部57において、そのマッチング結果に基づいて、検索結果単語列が出力される。
図31は、図9の音声認識部51において、フィールドごとの言語モデルを用いて、音声認識が行われ、マッチング部56において、音声認識結果に含まれるフィールドフレーズが表すフィールドの認識対象単語列だけを対象として、音声認識結果とのマッチングがとられる場合の、音声検索の例を示している。
ユーザが、例えば、図31に示すように、番組タイトルフィールドのフィールドフレーズ「番組名検索で」を含む入力音声「番組名検索で○○」を発話した場合、音声認識部51では、その入力音声「番組名検索で○○」が音声認識される。
上述したように、音声認識部51では、番組タイトルフィールド用の言語モデル、出演者名フィールド用の言語モデル、及び、詳細情報フィールド用の言語モデルを用いて音声認識が行われるため、番組タイトルフィールドのフィールドフレーズ「番組名検索で」を含む入力音声「番組名検索で○○」に対しては、番組タイトルフィールドのフィールドフレーズ「番組名検索で」を含む認識仮説「番組名検索で○○」の言語スコア(及び音響スコア)、ひいては、認識スコアが、番組タイトルフィールドのフィールドフレーズ「番組名検索で」を含まない認識仮説(番組タイトルフィールドのフィールドフレーズ「番組名検索で」以外のフィールドフレーズを含む認識仮説を含む)の認識スコアよりも十分に高くなる。
その結果、番組タイトルフィールドのフィールドフレーズ「番組名検索で」を含む入力音声については、その番組タイトルフィールドのフィールドフレーズを含む認識仮説「番組名検索で○○」が音声認識結果となる一方、番組タイトルフィールドのフィールドフレーズを含まない認識仮説が音声認識結果となることを防止することができる。
音声認識部51が出力する音声認識結果「番組名検索で○○」は、発音シンボル変換部52を介して、認識結果発音シンボル列に変換され、マッチング部56に供給される。
また、マッチング部56には、検索結果対象記憶部53から、形態素解析部54、及び、発音シンボル変換部55を介して、検索結果対象単語列の検索結果対象発音シンボル列が供給される。
マッチング部56は、認識結果発音シンボル列に、フィールドフレーズ(の発音シンボル)が含まれている場合には、認識結果発音シンボル列から、フィールドフレーズを除去し、その削除後の認識結果発音シンボル列とのマッチングを、検索結果対象単語列のうちの、認識結果発音シンボル列に含まれていたフィールドフレーズが表すフィールドの検索結果対象単語列の検索結果対象発音シンボル列のみを対象として行う。
そして、マッチング部56は、認識結果発音シンボル列と、検索結果対象発音シンボル列とのマッチング結果としての類似度を、出力部57に供給する。
したがって、マッチング部56では、番組タイトルフィールドのフィールドフレーズを含む音声認識結果「番組名検索で○○」については、番組タイトルフィールドの検索結果対象単語列だけを対象として、音声認識結果(フィールドフレーズを除去した音声認識結果)とのマッチングがとられる。
出力部57は、マッチング部56からのマッチング結果としての類似度に基づいて、その類似度が上位N位以内の検索結果対象単語列を、検索結果単語列として出力する。
したがって、ユーザが、番組タイトルフィールドのフィールドフレーズを含む入力音声「番組名検索で○○」を発話した場合には、番組タイトルフィールドの検索結果対象単語列を対象として、音声認識結果「番組名検索で○○」からフィールドフレーズを除去した文字列「○○」とのマッチングがとられ、その結果、タイトルが、文字列「○○」にマッチする番組が、検索結果単語列として出力される。
また、ユーザが、例えば、図31に示すように、出演者名フィールドのフィールドフレーズ「人名検索で」を含む入力音声「人名検索で○○」を発話した場合、音声認識部51では、その入力音声「人名検索で○○」が音声認識される。
上述したように、音声認識部51では、番組タイトルフィールド用の言語モデル、出演者名フィールド用の言語モデル、及び、詳細情報フィールド用の言語モデルを用いて音声認識が行われるため、出演者名フィールドのフィールドフレーズ「人名検索で」を含む入力音声「人名検索で○○」に対しては、出演者名フィールドのフィールドフレーズ「人名検索で」を含む認識仮説「人名検索で○○」の言語スコア(及び音響スコア)、ひいては、認識スコアが、出演者名フィールドのフィールドフレーズ「人名検索で」を含まない認識仮説の認識スコアよりも十分に高くなる。
その結果、出演者名フィールドのフィールドフレーズ「人名検索で」を含む入力音声については、その出演者名フィールドのフィールドフレーズを含む認識仮説「人名検索で○○」が音声認識結果となる一方、出演者名フィールドのフィールドフレーズを含まない認識仮説が音声認識結果となることを防止することができる。
音声認識部51が出力する音声認識結果「人名検索で○○」は、発音シンボル変換部52を介して、認識結果発音シンボル列に変換され、マッチング部56に供給される。
また、マッチング部56には、検索結果対象記憶部53から、形態素解析部54、及び、発音シンボル変換部55を介して、検索結果対象単語列の検索結果対象発音シンボル列が供給される。
マッチング部56は、認識結果発音シンボル列に、フィールドフレーズ(の発音シンボル)が含まれている場合には、認識結果発音シンボル列から、フィールドフレーズを除去し、その削除後の認識結果発音シンボル列とのマッチングを、検索結果対象単語列のうちの、認識結果発音シンボル列に含まれていたフィールドフレーズが表すフィールドの検索結果対象単語列の検索結果対象発音シンボル列のみを対象として行う。
そして、マッチング部56は、認識結果発音シンボル列と、検索結果対象発音シンボル列とのマッチング結果としての類似度を、出力部57に供給する。
したがって、マッチング部56では、出演者名フィールドのフィールドフレーズを含む音声認識結果「人名検索で○○」については、出演者名フィールドの検索結果対象単語列だけを対象として、音声認識結果(フィールドフレーズを除去した音声認識結果)とのマッチングがとられる。
出力部57は、マッチング部56からのマッチング結果としての類似度に基づいて、その類似度が上位N位以内の検索結果対象単語列を、検索結果単語列として出力する。
したがって、ユーザが、出演者名フィールドのフィールドフレーズを含む入力音声「人名検索で○○」を発話した場合には、出演者名フィールドの検索結果対象単語列を対象として、音声認識結果「人名検索で○○」からフィールドフレーズを除去した文字列「○○」とのマッチングがとられ、その結果、出演者名が、文字列「○○」にマッチする番組が、検索結果単語列として出力される。
以上から、ある文字列「○○」をキーワードとして、番組の検索を行う場合であっても、入力音声に含めるフィールドフレーズによっては、異なる番組が、検索結果として得られることがある。
なお、フィールドフレーズとしては、1つのフィールドを表すフレーズだけでなく、複数のフィールドを表すフレーズも採用することができる。
また、フィールドとしては、図9のレコーダを制御するコマンドが属するフィールドを採用することができる。この場合、音声認識結果に含まれるフィールドフレーズによって、入力音声が、コマンドであるかどうかを判定することができ、さらに、入力音声がコマンドである場合に、マッチング部56でのマッチングによって、コマンドの種類(コマンドが、どのような処理を要求するコマンドであるのか)を検索することができる。
[マッチングの高速化、及び、記憶容量の削減]
図32は、検索結果対象ベクトルと、ベクトル代用情報とを示す図である。
音声検索装置50(図9)において、検索結果単語列を、迅速に出力するには、例えば、マッチングを高速に行う必要がある。
一方、音声認識結果と、検索結果対象単語列とのマッチングにおいて、類似度としてのコサイン距離や補正距離を求める場合に、検索結果対象発音シンボル列を表す検索結果対象ベクトルと、認識結果発音シンボル列を表す認識結果ベクトルとが必要となるが、音声認識結果が得られるたびに、検索結果対象記憶部53(図9)に記憶された検索結果対象単語列を、検索結果対象ベクトルに変換するのでは、マッチングに時間を要し、マッチングの高速化を妨げることになる。
そこで、類似度の計算に必要な検索結果対象ベクトルは、検索結果対象記憶部53(図9)に記憶された検索結果対象単語列から、あらかじめ求めておき、マッチング部56が内蔵する図示せぬメモリに記憶しておくことで、マッチングの高速化を図る方法がある。
しかしながら、検索結果対象ベクトルを、マッチング部56が内蔵するメモリに記憶させておくこととすると、そのメモリとして、膨大な容量のメモリが必要となる。
すなわち、例えば、検索結果対象ベクトルのコンポーネントの値を、そのコンポーネントに対応する音節が、検索結果対象発音シンボル列に存在するかどうかで、1又は0とすることとすると、発音シンボルの種類数が、C個である場合には、検索結果対象ベクトルは、C次元のベクトルとなる。
例えば、発音シンボルとして、日本語の音節を表すシンボルを採用した場合、発音シンボルの種類数Cは、100ないし300個程度になる。
さらに、例えば、発音シンボルの種類数Cが、100個であったとしても、マッチングの単位として、音節2連鎖を採用した場合には、検索結果対象ベクトルは、10000(=100×100)次元のベクトルとなる。
そして、検索結果対象ベクトルの次元が、D次元であり、検索結果対象記憶部53(図9)に記憶された検索結果対象単語列の個数が、Z個であるとすると、マッチング部56が内蔵するメモリには、D×Z個の(検索結果対象ベクトルの)コンポーネントを記憶するだけの記憶容量が必要となる。
ところで、検索結果対象ベクトルは、一般に、疎ベクトル(Sparse Vector)、つまり、ほとんどのコンポーネントが0になっているベクトルであることが多い。
そこで、マッチング部56では、各検索結果対象ベクトルについて、検索結果対象ベクトルの0でないコンポーネントに対応する音節の発音シンボル(マッチングの単位として、音節2連鎖を採用する場合には、0でないコンポーネントに対応する音節2連鎖の発音シンボル列)(を特定するID(Identification))だけを、内蔵するメモリに記憶する。
なお、検索結果対象ベクトルのコンポーネントの値として、例えば、そのコンポーネントに対応する音節が、検索結果対象発音シンボル列に出現する頻度(tf)を採用する場合には、検索結果対象ベクトルの0でないコンポーネントに対応する音節(を特定するID)と、その音節が出現する頻度(検索結果対象ベクトルのコンポーネントの値)との組だけが、マッチング部56が内蔵するメモリに記憶される。
検索結果対象ベクトルの0でないコンポーネントに対応する音節の発音シンボルだけを、マッチング部56が内蔵するメモリに記憶する場合には、i番目の検索結果対象単語列の検索結果対象ベクトルにおいて、0でないコンポーネントの数が、K(i)個であるとすると、マッチング部56が内蔵するメモリには、K(1)+K(2)+・・・+K(Z)個の発音シンボルを記憶するだけの記憶容量があれば良い。
ここで、検索結果対象ベクトルのコンポーネントがとる値は、0及び1の2値であるのに対して、発音シンボルがとる値としては、上述したように、100ないし300個程度の値があるから、検索結果対象ベクトルの1つのコンポーネントは、1ビットで表現することができるが、発音シンボルを表現するには、7ないし9ビット程度が必要である。
しかしながら、検索結果対象ベクトルのほとんどのコンポーネントは0になっているので、検索結果対象ベクトルにおいて、0でないコンポーネントの数K(i)は、小さい値となり、K(1)+K(2)+・・・+K(Z)個の発音シンボルを記憶するだけの記憶容量は、D×Z個の(検索結果対象ベクトルの)コンポーネントを記憶するだけの記憶容量に比較して、小さくなる。
したがって、マッチング部56において、各検索結果対象ベクトルについて、検索結果対象ベクトルの0でないコンポーネントに対応する音節の発音シンボルだけを、内蔵するメモリに記憶することで、そのメモリに必要な記憶容量を、検索結果対象ベクトルそのものを記憶する場合に比較して削減することができる。
ここで、マッチング部56が内蔵するメモリに記憶される、検索結果対象ベクトルの0でないコンポーネントに対応する音節の発音シンボルは、検索結果対象ベクトルに代わる情報であるので、以下、適宜、ベクトル代用情報ともいう。
図32は、検索結果対象ベクトルと、その検索結果対象ベクトルに代わるベクトル代用情報とを示している。
検索結果対象ベクトルのコンポーネントの値は、そのコンポーネントに対応する音節が、検索結果対象発音シンボル列に存在するかどうかで、1又は0になっている。
一方、検索結果対象ベクトルに代わるベクトル代用情報は、その検索結果対象ベクトルの0でないコンポーネントに対応する音節の発音シンボルだけから構成されている。
ここで、図32のベクトル代用情報では、検索結果対象単語列(検索結果対象発音シンボル列)において、複数回出現する、同一の音節の発音シンボルは、かっこ付きの数字を付すことで区別されている。
すなわち、図32において、例えば、検索結果対象単語列「せかいいさん」には、同一の音節「い」の発音シンボルが2回出現するが、ベクトル代用情報では、その2回出現する音節「い」の発音シンボルのうちの、1つ目の発音シンボルが、「い」で表されるとともに、2つ目の発音シンボルが、「い」に、2つ目であることを表すかっこ付きの数字「(2)」を付した「2(2)」で表されており、これにより、2回出現する音節「い」の発音シンボルそれぞれが区別されている。
なお、ベクトル代用情報では、検索結果対象単語列に複数回出現する、同一の音節の発音シンボルを、区別しないで表現することもできる。
すなわち、図32において、例えば、検索結果対象単語列「せかいいさん」に2回出現する、同一の音節「い」の発音シンボルは、ベクトル代用情報において、音節「い」(を特定するID)と、その音節「い」が出現する頻度である「2」との組(い,2)によって表現することが可能である。
以上のように、マッチング部56が内蔵するメモリにおいて、検索結果対象ベクトルに代えて、ベクトル代用情報を記憶する場合には、マッチングにおいて、検索結果対象ベクトルを記憶する場合には必要であった、検索結果対象ベクトルの0のコンポーネントへのアクセス(メモリからの0のコンポーネントの読み出し)を行わずに済むので、メモリの記憶容量を削減する他、マッチングを高速化することができる。
図33は、マッチング部56が内蔵するメモリにおいて、検索結果対象ベクトルに代えて、ベクトル代用情報を記憶する場合の、音声認識結果と検索結果対象単語列との類似度の計算を説明する図である。
なお、図33では、図32と同様に、ベクトル代用情報において、検索結果対象単語列に複数回出現する、同一の音節の発音シンボルが、区別されて表現されている。後述する図34及び図35でも、同様である。
また、図33では、検索結果対象単語列(の検索結果対象発音シンボル列)が、検索結果対象ベクトルに代えて、ベクトル代用情報で表現されているのと同様にして、音声認識結果(の認識結果発音シンボル列)も、認識結果ベクトルに代えて、ベクトル代用情報で表現されている。後述する図35でも、同様である。
音声認識結果と検索結果対象単語列との類似度として、コサイン距離や補正距離を求める場合には、認識結果ベクトルVUTRと、検索結果対象ベクトルVTITLE(i)との内積VUTR・VTITLE(i)、及び、認識結果ベクトルVUTRの大きさ|VUTR|が必要となる。
また、コサイン距離、及び、補正距離のうちの第1の補正距離を求める場合には、検索結果対象ベクトルVTITLE(i)の大きさ|VTITLE(i)|が、さらに必要となる。
認識結果ベクトルVUTRの大きさ|VUTR|は、音声認識結果のベクトル代用情報を構成するコンポーネントとしての発音シンボルの数の総和の平方根を計算することで求めることができる。
検索結果対象ベクトルVTITLE(i)の大きさ|VTITLE(i)|も、検索結果対象単語列のベクトル代用情報を用い、認識結果ベクトルVUTRの大きさ|VUTR|と同様にして求めることができる。
また、認識結果ベクトルVUTRと、検索結果対象ベクトルVTITLE(i)との内積VUTR・VTITLE(i)は、内積VUTR・VTITLE(i)の初期値を0とし、音声認識結果のベクトル代用情報を構成する発音シンボルを、順次、注目シンボルにして、検索結果対象単語列のベクトル代用情報の中に、注目シンボルに一致する発音シンボルが存在する場合には、内積VUTR・VTITLE(i)を1だけインクリメントしていくことで求めることができる。
したがって、音声認識結果と検索結果対象単語列との類似度としてのコサイン距離や補正距離は、音声認識結果、及び、検索結果対象単語列のベクトル代用情報を用いて求めることができる。
ところで、内積VUTR・VTITLE(i)を、上述のように、検索結果対象単語列のベクトル代用情報の中に、音声認識結果のベクトル代用情報を構成する発音シンボルのうちの注目シンボルに一致する発音シンボルが存在する場合には、内積VUTR・VTITLE(i)を1だけインクリメントすることで求める方法(以下、第1の内積計算方法ともいう)では、マッチング部56が内蔵するメモリに記憶された検索結果対象単語列のベクトル代用情報を構成する発音シンボルの1つ1つにアクセスし、注目シンボルに一致するかどうかを確認する必要がある。
したがって、第1の内積計算方法では、検索結果対象単語列のベクトル代用情報を構成する発音シンボルのうちの、音声認識結果のベクトル代用情報を構成する発音シンボルに一致しない発音シンボルにもアクセスしなければならない点で、内積VUTR・VTITLE(i)の計算、ひいては、マッチングに時間を要する。
そこで、マッチング部56では、発音シンボルから、その発音シンボルを、ベクトル代用情報に有する検索結果対象単語列を検索することができる逆引きインデクスを、検索結果対象単語列のベクトル代用情報から、あらかじめ作成しておき、その逆引きインデクスを利用して、内積VUTR・VTITLE(i)を計算することができる。
ここで、ベクトル代用情報は、検索結果対象単語列から、その検索結果対象単語列が有する音節の発音シンボルを検索することができるインデクスであるということができるが、逆引きインデクスによれば、その逆の検索、つまり、発音シンボルから、その発音シンボルを、ベクトル代用情報に有する検索結果対象単語列を検索することができる。
図34は、検索結果対象単語列のベクトル代用情報から、逆引きインデクスを作成する方法を説明する図である。
マッチング部56は、ベクトル代用情報のコンポーネントになり得るすべての発音シンボルについて、発音シンボルと、その発音シンボルを、ベクトル代用情報のコンポーネントとして有する検索結果対象単語列を特定する検索結果対象IDとを対応付けることで、逆引きインデクスを作成する。
図34の逆引きインデクスによれば、例えば、発音シンボル「い」を、ベクトル代用情報のコンポーネントとして有する検索結果対象単語列が、検索結果対象IDが3の検索結果対象単語列と、検索結果対象IDが3の検索結果対象単語列とであることを、即座に検出(検索)することができる。
図35は、逆引きインデクスを利用して、内積VUTR・VTITLE(i)を計算する方法(以下、第2の内積計算方法ともいう)を説明する図である。
第2の内積計算方法では、マッチング部56は、各検索結果単語列についての内積VUTR・VTITLE(i)の初期値を0とし、音声認識結果のベクトル代用情報を構成する発音シンボルを、順次、注目シンボルにして、逆引きインデクスから、注目シンボルに一致する発音シンボルを、ベクトル代用情報のコンポーネントとして有する検索結果対象単語列(の検索結果対象ID)を検出する。
そして、マッチング部56は、注目シンボルに一致する発音シンボルを、ベクトル代用情報のコンポーネントとして有する検索結果対象単語列については、その検索結果対象単語列についての内積VUTR・VTITLE(i)を1だけインクリメントしていく。
第2の内積計算方法によれば、逆引きインデクスの発音シンボルのうちの、音声認識結果のベクトル代用情報を構成する発音シンボルに一致しない発音シンボルには、アクセスしないので、その点で、第1の内積計算方法より、内積VUTR・VTITLE(i)の計算を短時間で行うことができ、その結果、マッチングの高速化を図ることができる。
なお、その他、例えば、類似度の計算のうちの、音声認識部51での音声認識が行われる前にすることができる計算部分を、事前に行って、マッチング部56が内蔵するメモリに保持しておくことによって、マッチングの高速化を図ることができる。
すなわち、例えば、類似度として、コサイン距離、又は、第1の補正距離を採用する場合には、上述したように、内積VUTR・VTITLE(i)、認識結果ベクトルVUTRの大きさ|VUTR|、及び、検索結果対象ベクトルVTITLE(i)の大きさ|VTITLE(i)|が必要となる。
内積VUTR・VTITLE(i)、認識結果ベクトルVUTRの大きさ|VUTR|、及び、検索結果対象ベクトルVTITLE(i)の大きさ|VTITLE(i)|のうちの、検索結果対象ベクトルVTITLE(i)の大きさ|VTITLE(i)|は、音声認識が行われる前に計算することができる。
したがって、検索結果対象ベクトルVTITLE(i)の大きさ|VTITLE(i)|を、あらかじめ計算しておき、マッチング部56が内蔵するメモリに保持しておくことによって、マッチングの高速化を図ることができる。
[音声検索装置50の処理]
図36は、図9の音声検索装置50の処理を説明するフローチャートである。
ステップS11において、音声検索装置50は、必要な前処理を行う。
すなわち、音声検索装置50は、前処理として、例えば、記録媒体63に記録されたEPGを構成する構成要素である番組のタイトルや、出演者名、詳細情報等を読み出して、検索結果対象記憶部53に供給し、検索結果対象単語列として記憶させる処理を行う。
また、音声検索装置50では、音声認識部51が、前処理として、検索結果対象記憶部53に記憶された検索結果対象単語列を用いて、言語モデルを生成する処理を行う。
なお、ステップS11の前処理は、例えば、1日ごとに、所定の時刻に行われる。あるいは、ステップS11の前処理は、記録媒体63に録画されている録画番組が変更されたときや、記録媒体63に記録されているEPGが変更(更新)されたとき等に行われる。
最新の前処理の後、ユーザが発話を行い、その発話としての入力音声が、音声認識部51に供給されると、音声認識部51は、ステップS12において、その入力音声を音声認識する。
なお、音声認識部51での音声認識は、最新の前処理で生成された言語モデルを用いて行われる。
音声認識部51が入力音声の音声認識を行うことにより得られる音声認識結果は、発音シンボル変換部52を介することにより、認識結果発音シンボル列となって、マッチング部56に供給される。
また、マッチング部56には、検索結果対象記憶部53に記憶された検索結果対象単語列が、形態素解析部54及び発音シンボル変換部55を介することにより、検索結果対象発音シンボル列となって、供給される。
マッチング部56は、ステップS13において、検索結果対象記憶部53に記憶されたすべての検索結果対象単語列それぞれについて、音声認識部51から発音シンボル変換部52を介して供給される認識結果発音シンボル列と、検索結果対象記憶部53から形態素解析部54及び発音シンボル変換部55を介して供給される検索結果対象発音シンボル列とのマッチングをとり、そのマッチング結果を、出力部57に供給する。
すなわち、マッチング部56は、検索結果対象記憶部53に記憶された各検索結果対象単語列について、音声認識結果との類似度としての、例えば、補正距離等を計算し、その類似度を、マッチング結果として、出力部57に供給する。
なお、マッチング部56は、認識結果発音シンボル列が、特定のフレーズ(の発音シンボル)を含む場合には、その特定のフレーズを除いた認識結果発音シンボル列と、検索結果対象発音シンボル列とのマッチングをとる。
出力部57は、ステップS14において、マッチング部56からのマッチング結果に基づいて、検索結果対象記憶部53に記憶された検索結果対象単語列の中から、入力音声に対応する単語列の検索の結果である検索結果単語列(とする検索結果対象単語列)を選択して出力する。
すなわち、出力部57は、検索結果対象記憶部53に記憶された検索結果対象単語列の中から、音声認識結果との類似度が上位N位以内の検索結果対象単語列を、検索結果単語列として選択して出力する。
なお、検索結果対象単語列が、例えば、番組のタイトルや、出演者名、詳細情報である場合において、音声認識結果との類似度が上位N位以内の検索結果対象単語列の中に、タイトル以外の、例えば、出演者名(又は詳細情報)があるときには、出力部57では、その出演者名とともに、又は、その出演者名に代えて、その出演者名をメタデータとして有する番組のタイトルを、検索結果単語列として選択することが可能である。
[本発明を適用したコンピュータの説明]
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
そこで、図37は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク105やROM103に予め記録しておくことができる。
あるいはまた、プログラムは、リムーバブル記録媒体111に格納(記録)しておくことができる。このようなリムーバブル記録媒体111は、いわゆるパッケージソフトウエアとして提供することができる。ここで、リムーバブル記録媒体111としては、例えば、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリ等がある。
なお、プログラムは、上述したようなリムーバブル記録媒体111からコンピュータにインストールする他、通信網や放送網を介して、コンピュータにダウンロードし、内蔵するハードディスク105にインストールすることができる。すなわち、プログラムは、例えば、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送することができる。
コンピュータは、CPU(Central Processing Unit)102を内蔵しており、CPU102には、バス101を介して、入出力インタフェース110が接続されている。
CPU102は、入出力インタフェース110を介して、ユーザによって、入力部107が操作等されることにより指令が入力されると、それに従って、ROM(Read Only Memory)103に格納されているプログラムを実行する。あるいは、CPU102は、ハードディスク105に格納されたプログラムを、RAM(Random Access Memory)104にロードして実行する。
これにより、CPU102は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU102は、その処理結果を、必要に応じて、例えば、入出力インタフェース110を介して、出力部106から出力、あるいは、通信部108から送信、さらには、ハードディスク105に記録等させる。
なお、入力部107は、キーボードや、マウス、マイク等で構成される。また、出力部106は、LCD(Liquid Crystal Display)やスピーカ等で構成される。
ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含む。
また、プログラムは、1のコンピュータ(プロセッサ)により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
11 音声認識部, 12 発音シンボル変換部, 13 検索結果対象記憶部, 14 形態素解析部, 15 発音シンボル変換部, 16 マッチング部, 17 出力部, 21 発音シンボル変換部, 31 検索結果対象記憶部, 41 音声認識部, 51 音声認識部, 52 発音シンボル変換部, 53 検索結果対象記憶部, 54 形態素解析部, 55 発音シンボル変換部, 56 マッチング部, 57 出力部, 60 レコーダ機能部, 61 チューナ, 62 記録再生部, 63 記録媒体, 71 コマンド判定部, 72 制御部, 73 出力I/F, 81 認識部, 82 辞書記憶部, 83 音響モデル記憶部, 84 言語モデル記憶部, 85 言語モデル生成部, 91 総合スコア計算部, 92 番組タイトル総合スコア計算部, 93 出演者名総合スコア計算部, 94 詳細情報総合スコア計算部, 95 スコア比較順位付け部, 96 類似度比較順位付け部, 101 バス, 102 CPU, 103 ROM, 104 RAM, 105 ハードディスク, 106 出力部, 107 入力部, 108 通信部, 109 ドライブ, 110 入出力インタフェース, 111 リムーバブル記録媒体
Claims (7)
- 入力音声に対応する単語列の検索結果の対象となる単語列である複数の検索結果対象単語列を用いて、言語モデルを生成する言語モデル生成部と、
前記入力音声を、前記言語モデルを用いて音声認識する音声認識部と、
前記複数の検索結果対象単語列それぞれについて、前記検索結果対象単語列の発音を表す発音シンボルの並びである検索結果対象発音シンボル列と、前記入力音声の音声認識結果の発音を表す発音シンボルの並びである認識結果発音シンボル列とのマッチングをとるマッチング部と、
前記検索結果対象発音シンボル列と前記認識結果発音シンボル列とのマッチング結果に基づいて、前記複数の検索結果対象単語列からの、前記入力音声に対応する単語列の検索の結果である検索結果単語列を出力する出力部と
を備える検索装置。 - 前記複数の検索結果対象単語列は、複数のフィールドに分類されており、
前記言語モデル生成部は、前記フィールドごとに、そのフィールドの前記検索結果対象単語列を用いて、前記言語モデルを生成し、
前記音声認識部は、前記複数のフィールドそれぞれについて、そのフィールドの言語モデルを用いて音声認識を行い、前記フィールドごとの音声認識結果を求める
請求項1に記載の検索装置。 - 前記マッチング部は、前記フィールドごとに、前記検索結果対象単語列の検索結果対象発音シンボル列と、前記音声認識結果の認識結果発音シンボル列とのマッチングを行い、
前記出力部は、前記フィールドごとの、前記検索結果対象発音シンボル列と前記認識結果発音シンボル列とのマッチング結果に基づいて、前記検索結果単語列を、前記フィールドごとに出力する
請求項2に記載の検索装置。 - 前記複数のフィールドに分類されている前記複数の検索結果対象単語列は、EPGを構成する構成要素であり、
前記言語モデル生成部は、所定の期間分の前記EPGを用いて、前記言語モデルを生成する
請求項3に記載の検索装置。 - 前記言語モデル生成部は、前記音声認識において、最近のEPGを構成する構成要素である検索結果対象単語列における単語の並びほど、音声認識結果としての言語的な尤度を表す言語スコアとして、高い値が与えられるように、前記言語モデルを生成する
請求項4に記載の検索装置。 - 入力音声に対応する単語列を検索する検索装置が、
前記入力音声に対応する単語列の検索結果の対象となる単語列である複数の検索結果対象単語列を用いて、言語モデルを生成し、
前記入力音声を、前記言語モデルを用いて音声認識し、
前記複数の検索結果対象単語列それぞれについて、前記検索結果対象単語列の発音を表す発音シンボルの並びである検索結果対象発音シンボル列と、前記入力音声の音声認識結果の発音を表す発音シンボルの並びである認識結果発音シンボル列とのマッチングをとり、
前記検索結果対象発音シンボル列と前記認識結果発音シンボル列とのマッチング結果に基づいて、前記複数の検索結果対象単語列からの、前記入力音声に対応する単語列の検索の結果である検索結果単語列を出力する
ステップを含む検索方法。 - 入力音声に対応する単語列の検索結果の対象となる単語列である複数の検索結果対象単語列を用いて、言語モデルを生成する言語モデル生成部と、
入力音声を、前記言語モデルを用いて音声認識する音声認識部と、
前記複数の検索結果対象単語列それぞれについて、前記検索結果対象単語列の発音を表す発音シンボルの並びである検索結果対象発音シンボル列と、前記入力音声の音声認識結果の発音を表す発音シンボルの並びである認識結果発音シンボル列とのマッチングをとるマッチング部と、
前記検索結果対象発音シンボル列と前記認識結果発音シンボル列とのマッチング結果に基づいて、前記複数の検索結果対象単語列からの、前記入力音声に対応する単語列の検索の結果である検索結果単語列を出力する出力部と
して、コンピュータを機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009276997A JP2011118774A (ja) | 2009-12-04 | 2009-12-04 | 検索装置、検索方法、及び、プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009276997A JP2011118774A (ja) | 2009-12-04 | 2009-12-04 | 検索装置、検索方法、及び、プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011118774A true JP2011118774A (ja) | 2011-06-16 |
Family
ID=44283999
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009276997A Withdrawn JP2011118774A (ja) | 2009-12-04 | 2009-12-04 | 検索装置、検索方法、及び、プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011118774A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103440865A (zh) * | 2013-08-06 | 2013-12-11 | 普强信息技术(北京)有限公司 | 语音识别的后处理方法 |
WO2019035373A1 (ja) * | 2017-08-17 | 2019-02-21 | ソニー株式会社 | 情報処理装置、情報処理方法、およびプログラム |
-
2009
- 2009-12-04 JP JP2009276997A patent/JP2011118774A/ja not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103440865A (zh) * | 2013-08-06 | 2013-12-11 | 普强信息技术(北京)有限公司 | 语音识别的后处理方法 |
WO2019035373A1 (ja) * | 2017-08-17 | 2019-02-21 | ソニー株式会社 | 情報処理装置、情報処理方法、およびプログラム |
JPWO2019035373A1 (ja) * | 2017-08-17 | 2020-10-08 | ソニー株式会社 | 情報処理装置、情報処理方法、およびプログラム |
JP7279636B2 (ja) | 2017-08-17 | 2023-05-23 | ソニーグループ株式会社 | 情報処理装置、情報処理方法、およびプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2011068170A1 (ja) | 検索装置、検索方法、及び、プログラム | |
US11545142B2 (en) | Using context information with end-to-end models for speech recognition | |
JP5610197B2 (ja) | 検索装置、検索方法、及び、プログラム | |
JP6550068B2 (ja) | 音声認識における発音予測 | |
US11056104B2 (en) | Closed captioning through language detection | |
US7949530B2 (en) | Conversation controller | |
US9640175B2 (en) | Pronunciation learning from user correction | |
US9418152B2 (en) | System and method for flexible speech to text search mechanism | |
US7842873B2 (en) | Speech-driven selection of an audio file | |
US11501764B2 (en) | Apparatus for media entity pronunciation using deep learning | |
JP2008134475A (ja) | 入力された音声のアクセントを認識する技術 | |
US20120041947A1 (en) | Search apparatus, search method, and program | |
US20080027725A1 (en) | Automatic Accent Detection With Limited Manually Labeled Data | |
JP5326169B2 (ja) | 音声データ検索システム及び音声データ検索方法 | |
US20130080155A1 (en) | Apparatus and method for creating dictionary for speech synthesis | |
Nouza et al. | Making czech historical radio archive accessible and searchable for wide public | |
Wang | Experiments in syllable-based retrieval of broadcast news speech in Mandarin Chinese | |
JP2011118775A (ja) | 検索装置、検索方法、及び、プログラム | |
JP5196114B2 (ja) | 音声認識装置およびプログラム | |
JP2011118774A (ja) | 検索装置、検索方法、及び、プログラム | |
JP5366050B2 (ja) | 音響モデル学習装置、音声認識装置、及び音響モデル学習のためのコンピュータプログラム | |
Lee et al. | Integrating recognition and retrieval with user feedback: A new framework for spoken term detection | |
US20110165541A1 (en) | Reviewing a word in the playback of audio data | |
Ohta et al. | Evaluating spoken language model based on filler prediction model in speech recognition. | |
Yu | Efficient error correction for speech systems using constrained re-recognition |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20130205 |