[本発明を適用したレコーダの一実施の形態]
図1は、本発明の検索装置を適用したレコーダの一実施の形態の構成例を示すブロック図である。
図1において、レコーダは、音声検索装置10、レコーダ機能部20、操作部31、制御部32、及び、出力I/F(Interface)33を有する。
音声検索装置10には、ユーザが発話した入力音声(のデータ)が、図示せぬマイク等から供給される。
音声検索装置10は、そこに供給される入力音声を用いて、例えば、ボイスサーチによる音声検索を行い、その結果得られる検索結果単語列を、出力I/F33に供給する。
レコーダ機能部20は、チューナ21、記録再生部22、及び、記録媒体23を有し、テレビジョン放送の番組の記録(録画)及び再生を行う。
すなわち、チューナ21には、図示せぬアンテナで受信された、例えば、ディジタル放送によるテレビジョン放送信号が供給される。
チューナ21は、そこに供給されるテレビジョン放送信号を受信し、そのテレビジョン放送信号から所定のチャンネルのテレビジョン放送信号を抽出して、ビットストリームを復調し、記録再生部22に供給する。
記録再生部22は、チューナ21から供給されるビットストリームから、EPG(Electronic Program Guide)や番組のデータ等を抽出し、出力I/F33に供給する。
また、記録再生部22は、EPGや番組のデータを、記録媒体23に記録(録画)する。
さらに、記録再生部22は、記録媒体23から、番組のデータを再生し、出力I/F33に供給する。
記録媒体23は、例えば、HD(Hard Disk)等であり、記録媒体23には、記録再生部22によって、EPGや番組のデータが記録される。
操作部31は、リモートコマンダや、レコーダの筐体に設けられたボタン、図示せぬディスプレイにGUI(Graphics User Interface)として表示されるボタン等で構成される。操作部31は、ユーザによって操作され、その操作に対応した操作信号を、制御部32に供給する。
制御部32は、操作部31からの操作信号等に従い、音声検索装置10、及び、レコーダ機能部20等の、レコーダを構成するブロックの制御、その他の処理を行う。
出力I/F33には、記録再生部22から、EPGや番組のデータが供給される。また、出力I/F33には、音声検索装置10から、入力音声に対する音声検索の結果である検索結果単語列が供給される。
出力部I/F33は、例えば、TV(テレビジョン受像機)等の、少なくとも画像を表示することができる表示デバイスと接続されるインタフェースであり、記録再生部22からのEPGや番組のデータ、及び、音声検索装置10からの検索結果単語列を、出力部I/F33に接続された、例えば、図示せぬTVに供給して表示させる。
[音声検索装置10の構成例]
図2は、図1の音声検索装置10の構成例を示すブロック図である。
図2では、音声検索装置10は、音声認識部51、発音シンボル変換部52、検索結果対象記憶部53、形態素解析部54、発音シンボル変換部55、マッチング部56、生成部57、及び、ユーザ情報推定部58を有し、ボイスサーチによる音声検索を行う。
ここで、従来のボイスサーチでは、音声認識結果と、検索結果対象単語列としてのテキストとのマッチングが、音声認識結果、及び、検索結果対象単語列のそれぞれの表記を表すシンボルである表記シンボルを用い、単語単位や、表記シンボル単位で行われる。
したがって、音声認識結果の表記シンボルに誤りがあると、マッチングにおいて、入力音声に対応する単語列とはまったく別の検索結果対象単語列が、音声認識結果にマッチし、その結果、そのような、入力音声に対応する単語列とはまったく別の検索結果対象単語列が、検索結果単語列として出力される。
すなわち、ユーザが、入力音声として、例えば、「としのせかい」を発話し、その音声認識結果の表記シンボル列が、例えば、「都市の世界」であった場合、単語単位のマッチングでは、音声認識結果の表記シンボル列「都市の世界」を、「都市/の/世界/」(スラッシュ(/)は、区切りを表す)のように、1個ずつの単語に区切って、マッチングが行われ、表記シンボル単位のマッチングでは、音声認識結果の表記シンボル列「都市の世界」を、「都/市/の/世/界」のように、1個ずつの表記シンボルに区切って、マッチングが行われる。
一方、入力音声「としのせかい」の音声認識結果の表記シンボル列が、例えば、「年の瀬かい」であった場合、単語単位のマッチングでは、音声認識結果の表記シンボル列「年の瀬かい」を、 「/年/の/瀬/かい/」のように、1個ずつの単語に区切って、マッチングが行われ、表記シンボル単位のマッチングでは、音声認識結果の表記シンボル列「年の瀬かい」を、「年/の/瀬/か/い」のように、1個ずつの表記シンボルに区切って、マッチングが行われる。
したがって、入力音声「としのせかい」の音声認識結果の表記シンボル列が、「都市の世界」である場合と、「年の瀬かい」である場合とでは、音声認識結果にマッチする検索結果対象単語列は、大きく異なり、その結果、入力音声に対応する単語列とはまったく別の検索結果対象単語列が、検索結果単語列として出力される一方、入力音声に対応する単語列が、検索結果単語列として出力されないことがある。
以上のように、表記シンボルを用いたマッチングは、音声認識結果との親和性が高いとはいえず、入力音声に対応する単語列が、検索結果単語列として得られないことがある。
そこで、音声検索装置10では、音声認識結果と、検索結果対象単語列とのマッチングを、音声認識結果、及び、検索結果対象単語列のそれぞれの発音を表すシンボルである発音シンボルを用いて行うことで、入力音声に対応する単語列の検索を、ロバストに行うことができるようにし、これにより、入力音声に対応する単語列が、検索結果単語列として出力されないことを防止する。
すなわち、図2の音声検索装置10において、音声認識部51には、ユーザの発話である入力音声(のデータ)が、図示せぬマイク等から供給される。
音声認識部51は、そこに供給される入力音声を音声認識し、音声認識結果(の、例えば、表記シンボル)を、発音シンボル変換部52に供給する。
発音シンボル変換部52は、音声認識部51から供給される、入力音声の音声認識結果(の、例えば、表記シンボル)を、その音声認識結果の発音を表す発音シンボルの並びである認識結果発音シンボル列に変換し、マッチング部56に供給する。
検索結果対象記憶部53は、複数の検索結果対象単語列、すなわち、マッチング部56において、音声認識結果とのマッチングが行われ、入力音声に対応する単語列の検索の結果である検索結果単語列となり得る単語列(の、例えば、表記シンボルとしてのテキスト)を記憶する。
ここで、検索結果対象記憶部53には、例えば、図1のレコーダの記録媒体23に記録されたEPGを構成する構成要素である番組のタイトルや、出演者名、番組の内容の詳細情報等が供給されて記憶される。
また、検索結果対象記憶部53には、例えば、図1のレコーダの記録媒体23に録画(記録)された番組(録画番組)のメタデータである、番組のタイトルや、出演者名、詳細情報等が供給されて記憶される。
したがって、本実施の形態では、音声検索装置10において、番組のタイトルや、出演者名、詳細情報等を、検索結果対象単語列として、音声検索が行われる。
形態素解析部54は、検索結果対象記憶部53に記憶された検索結果対象単語列の形態素解析を行うことで、検索結果対象単語列を、例えば、単語(形態素)単位に分割し、発音シンボル変換部55に供給する。
発音シンボル変換部55は、形態素解析部54から供給される検索結果対象単語列(の、例えば、表記シンボル)を、その検索結果対象単語列の発音を表す発音シンボルの並びである検索結果対象発音シンボル列に変換し、マッチング部56に供給する。
マッチング部56は、発音シンボル変換部52からの認識結果発音シンボル列と、発音シンボル変換部55からの検索結果対象発音シンボル列とのマッチングをとり、そのマッチング結果を、生成部57に供給する。
すなわち、マッチング部56は、検索結果対象記憶部53に記憶されたすべての検索結果対象単語列それぞれについて、入力音声の音声認識結果とのマッチングを、音声認識結果の発音シンボルと、検索結果対象単語列の発音シンボルとを用いて行う。
マッチング部56は、検索結果対象記憶部53に記憶されたすべての検索結果対象単語列それぞれについて、入力音声の音声認識結果とのマッチングをとり、そのマッチング結果を、生成部57に供給する。
なお、認識結果発音シンボル列と検索結果対象発音シンボル列とのマッチングでは、認識結果発音シンボル列と検索結果対象発音シンボル列とが類似している度合いを表す類似度が求められる。
類似度としては、例えば、ベクトル空間法のコサイン距離等を用いることができる。
生成部57は、マッチング部56からのマッチング結果に基づいて、検索結果対象記憶部53に記憶された検索結果対象単語列の中からの、入力音声に対応する単語列の検索の結果である検索結果単語列を生成する。
すなわち、例えば、生成部57は、マッチング部56からのマッチング結果としての類似度が上位の検索結果対象単語列を、検索結果対象記憶部53に記憶された検索結果対象単語列の中から選択し、検索結果単語列とする。
ユーザ情報推定部58には、音声認識部51に供給されるのと同一の入力音声が供給される。
ユーザ情報推定部58は、入力音声から、その入力音声の発話者であるユーザの身体性、及び、心的態度のうちの少なくとも一方を推定し、その推定結果を表すユーザ情報を出力する。ユーザ情報推定部58が出力するユーザ情報は、マッチング部56や生成部57に供給される。
ここで、ユーザ情報推定部58は、非言語情報抽出部58A、及び、パラ言語情報抽出部58Bを有する。
非言語情報抽出部58Aは、ユーザ情報推定部58に供給されるユーザの入力音声から、そのユーザの身体性に関する情報である非言語情報を抽出する。
パラ言語情報抽出部58Bは、ユーザ情報推定部58に供給されるユーザの入力音声から、そのユーザの心的態度に関する情報であるパラ言語情報を抽出する。
そして、ユーザ情報推定部58は、非言語情報抽出部58Aで抽出された非言語情報、及び、パラ言語情報抽出部58Bで抽出されたパラ言語情報のうちの、一方、又は、両方を、ユーザ情報として、マッチング部56や生成部57に供給する。
したがって、ユーザ情報には、非言語情報と、パラ言語情報とがある。
非言語情報抽出部58Aでは、例えば、ユーザの入力音声のピッチの検出や、ユーザの入力音声を用いた話者識別等によって、入力音声を発話したユーザ(発話者)の性別や、入力音声を発話したユーザの年齢層(例えば、ユーザが、子供か、大人かという情報)、入力音声を発話したユーザが、どのユーザであるのかというユーザを特定する情報(例えば、ユーザの氏名や、ユーザを特定するID(Identification)等)等の、ユーザの身体性に関する情報が、非言語情報として、入力音声から抽出(推定)される。
また、パラ言語情報抽出部58Bでは、例えば、ユーザの入力音声のピッチ(声の高さ)や、パワー(声の大きさ)、発話速度(声の速さ)等の韻律情報の検出等によって、ユーザが強調を意図しているという情報等の、ユーザの意図や感情等の心的態度に関する情報が、パラ言語情報として、入力音声から抽出(推定)される。
具体的には、例えば、パラ言語情報抽出部58Bでは、入力音声の音声区間のうちの、ユーザが強調して発話を行っている強調区間が、パラ言語情報として推定される。
ユーザ情報推定部58は、以上のような非言語情報やパラ言語情報を、ユーザ情報として、マッチング部56や生成部57に供給する。
なお、マッチング部56、及び、生成部57のうちの少なくとも一方は、ユーザ情報推定部58から供給されるユーザ情報に応じて、処理を変更する。
すなわち、図2の音声検索装置10には、複数の動作モードが用意されており、その複数の動作モードのうちの1つである通常モードでは、マッチング部56、及び、生成部57は、それぞれ、ユーザ情報推定部58から供給されるユーザ情報を用いずに、マッチングの処理、及び、検索結果単語列の生成の処理を行う。
また、動作モードには、通常モードの他、後述する関連単語利用マッチングモード、関連単語利用ソートモード、及び、重み付けマッチングモードがある。
動作モードが、関連単語利用マッチングモード、又は、重み付けマッチングモードに設定されている場合、マッチング部56は、後述するように、ユーザ情報推定部58から供給されるユーザ情報を用いて、マッチングの処理を行う。
また、動作モードが、関連単語利用ソートモードに設定されている場合、生成部57は、後述するように、ユーザ情報推定部58から供給されるユーザ情報を用いて、検索結果単語列の生成の処理を行う。
音声検索装置10の動作モードは、例えば、ユーザが、操作部31を操作することにより設定することができる。
以上のように構成される音声検索装置10では、ユーザの発話に応じて、ボイスサーチによる音声検索の処理が行われる。
すなわち、ユーザが発話を行い、その発話としての入力音声が、音声認識部51に供給されると、音声認識部51は、その入力音声を音声認識し、その入力音声の音声認識結果を、発音シンボル変換部52に供給する。
発音シンボル変換部52は、音声認識部51からの入力音声の音声認識結果を、認識結果発音シンボル列に変換し、マッチング部56に供給する。
一方、形態素解析部54は、検索結果対象記憶部53に記憶されたすべての検索結果対象単語列の形態素解析を行い、発音シンボル変換部55に供給する。
発音シンボル変換部55は、形態素解析部54からの検索結果対象単語列を、検索結果対象発音シンボル列に変換し、マッチング部56に供給する。
マッチング部56は、検索結果対象記憶部53に記憶されたすべての検索結果対象単語列それぞれについて、発音シンボル変換部52からの認識結果発音シンボル列と、発音シンボル変換部55からの検索結果対象発音シンボル列とを用いて、入力音声の音声認識結果とのマッチングをとり、そのマッチング結果を、生成部57に供給する。
生成部57では、マッチング部56からのマッチング結果に基づいて、検索結果対象記憶部53に記憶された検索結果対象単語列の中から、入力音声に対応する単語列の検索の結果である検索結果単語列(とする検索結果対象単語列)が選択されて出力される。
したがって、ユーザは、発話を行うだけで、検索結果対象記憶部53に記憶された検索結果対象単語列の中で、ユーザの発話にマッチする検索結果単語列(としての検索結果対象単語列)を得ることができる。
なお、音声検索装置10において、ユーザが発話した入力音声は、音声認識部51に供給される他、ユーザ情報推定部58にも供給される。ユーザ情報推定部58は、そこに供給される入力音声から、ユーザ情報を推定し、マッチング部56、及び、生成部57に供給する。
マッチング部56、及び、生成部57のそれぞれは、動作モードに応じて、ユーザ情報推定部58からのユーザ情報を用いて、又は、用いずに、処理を行う。
以上のような音声検索装置10を有する図1のレコーダでは、例えば、録画が行われた番組(録画番組)の中から、ユーザが所望する番組を、音声検索によって検索し、再生することができる。
すなわち、ユーザが、再生をしようとする番組の音声検索を行うためのキーワードとして、例えば、入力音声「世界遺産」を発話すると、音声検索装置10では、検索結果対象記憶部53に検索結果対象単語列として記憶されている、録画番組のタイトル等を対象として、音声検索を行うことにより、タイトルの発音が、入力音声「世界遺産」の発音に類似する所定数の番組のタイトルが、検索結果単語列として生成され、出力I/F33に供給される。
そして、出力I/F33は、検索結果単語列としての番組のタイトルを、再生を行う候補の番組(再生候補番組)として、(レコーダと接続されたTV(テレビジョン受像機)等で)表示させる。
その後、ユーザが、再生候補番組の中から、再生を行う番組として、1つの番組を、操作部31を操作すること等により選択すると、レコーダ機能部20では、その番組が再生される。
なお、図2では、2つの発音シンボル変換部52及び55が設けられているが、2つの発音シンボル変換部52及び55は、1つの発音シンボル変換部で兼用することが可能である。
また、図2では、検索結果対象記憶部53に、検索結果対象単語列の表記シンボル(としてのテキスト)を記憶させておくこととしたが、検索結果対象記憶部53には、検索結果対象単語列(の表記シンボル)の他、その検索結果対象単語列を発音シンボルに変換した検索結果対象発音シンボル列を記憶させておくことが可能である。
この場合、音声検索装置10は、形態素解析部54、及び、発音シンボル変換部55を設けずに構成することができる。
また、図2では、音声認識部51において、入力音声を音声認識し、音声認識結果の表記シンボルを出力するようにしたが、音声認識部51では、音声認識結果の発音シンボル(認識結果発音シンボル列)を出力するようにすることが可能である。
この場合、音声検索装置10は、発音シンボル変換部52を設けずに構成することができる。
[マッチング部56によるマッチング]
図3ないし図10を参照して、図2のマッチング部56によるマッチングについて説明する。
図3は、音声認識結果、及び、検索結果対象単語列のそれぞれの表記を表すシンボルである表記シンボルを用いて行われる、音声認識結果と、検索結果対象単語列としてのテキストとのマッチングを説明する図である。
ここで、表記シンボルは、発音に一致しないことがある。
具体的には、例えば、ひらがな「は」の発音(読み)は、「は」である場合と、「わ」である場合があるが、表記シンボルでは、発音の違いを表現することができない。
また、表記シンボルでは、複数の読みがある漢字、すなわち、例えば、「市」については、その読み(発音)が「し」であるのか、又は、「いち」であるのかを、表現することができない。
一方、例えば、表記シンボルで表された単語列「都市の世界遺産」と「年の瀬解散」とは、発音は一致するが、表記シンボルでは、「の」以外は異なる。
このため、音声認識結果が、「都市の世界遺産」である場合と、「年の瀬解散」である場合とでは、表記シンボルを用いたマッチングでは、異なるマッチング結果が得られるが、このことは、音声検索の性能に、必ずしも有利ではない。
すなわち、図3は、表記シンボルを用いたマッチングで、発音は一致するか、表記が異なる音声認識結果に対して異なるマッチング結果が得られることが、音声検索の性能に有利でないことを説明する図である。
図3では、入力音声「都市の世界遺産」の音声認識が行われ、その入力音声「都市の世界遺産」と発音は一致するが、表記が異なる、誤った音声認識結果「年の瀬解散」が得られている。
また、図3では、音声認識結果「年の瀬解散」を、「年/の/瀬/解/散」のように、表記シンボル単位に区切って(スラッシュ(/)は、区切りを表す)、表記シンボル単位でのマッチングが行われている。
さらに、図3では、マッチングをとる検索結果対象単語列としての、例えば、番組のタイトルとして、「世界遺産都市の遺産」、「瀬戸の歯医者さん」、及び、「衆院解散の年」の3つが用意されている。
音声認識結果「年の瀬解散」と、検索結果対象単語列「世界遺産都市の遺産」とでは、表記シンボル単位では、図中、丸印を付してある1個の表記シンボル「の」しか一致しない。
また、音声認識結果「年の瀬解散」と、検索結果対象単語列「瀬戸の歯医者さん」とでは、表記シンボル単位では、図中、丸印を付してある2個の表記シンボル「瀬」及び「の」が一致する。
さらに、音声認識結果「年の瀬解散」と、検索結果対象単語列「衆院解散の年」とでは、表記シンボル単位では、図中、丸印を付してある4個の表記シンボル「解」、「散」、「の」及び「年」が一致する。
したがって、表記シンボル単位でのマッチングにおいて求められる、音声認識結果と検索結果対象単語列との類似度としては、音声認識結果「年の瀬解散」と、検索結果対象単語列「衆院解散の年」との類似度が、最も高くなる。
すなわち、表記シンボル単位でのマッチングにおいて求められる類似度として、例えば、コサイン距離を採用することとする。
また、単語列を表すベクトルとして、例えば、単語列に存在する表記シンボルに対応するコンポーネントを1とするとともに、単語列に存在しない表記シンボルに対応するコンポーネントを0とするベクトルを採用し、2つの単語列の類似度としてのコサイン距離を、その2つの単語列を表すベクトルを用いて求めることとする。
この場合、表記シンボル単位でのマッチングでは、音声認識結果「年の瀬解散」と、検索結果対象単語列「世界遺産都市の遺産」との類似度として、0.15が、音声認識結果「年の瀬解散」と、検索結果対象単語列「瀬戸の歯医者さん」との類似度として、0.32が、音声認識結果「年の瀬解散」と、検索結果対象単語列「衆院解散の年」との類似度として、0.73が、それぞれ求められる。
したがって、例えば、マッチングの結果得られる類似度が最上位の検索結果対象単語列を、検索結果単語列とすることとすると、入力音声「都市の世界遺産」の音声認識が誤り、音声認識結果「年の瀬解散」が得られた場合には、検索結果対象単語列としての3つの番組のタイトル「世界遺産都市の遺産」、「瀬戸の歯医者さん」、及び、「衆院解散の年」のうちの、「衆院解散の年」が、検索結果単語列とされることになる。
入力音声「都市の世界遺産」に対しては、上述の3つの番組のタイトル「世界遺産都市の遺産」、「瀬戸の歯医者さん」、及び、「衆院解散の年」のうちの、1番目の番組のタイトル「世界遺産都市の遺産」が、検索結果単語列とされることが適切である。
しかしながら、入力音声「都市の世界遺産」が、発音(読み)では一致するが、表記が異なる「年の瀬解散」に音声認識されると、入力音声「都市の世界遺産」に対して適切な番組のタイトル「世界遺産都市の遺産」ではなく、「都市の世界遺産」とはまったく関係がないような番組のタイトル「衆院解散の年」が、検索結果単語列とされる。
なお、入力音声「都市の世界遺産」に対して、表記が一致する「都市の世界遺産」が、音声認識結果として得られた場合には、入力音声「都市の世界遺産」に対して適切な番組のタイトル「世界遺産都市の遺産」との類似度が最上位となり、「世界遺産都市の遺産」が、検索結果単語列とされる。
以上のように、音声認識結果が、「都市の世界遺産」である場合と、「年の瀬解散」である場合とでは、表記シンボルを用いたマッチングでは、マッチング結果(音声認識結果と、各検索結果対象単語列との類似度)が異なり、その結果、入力音声「都市の世界遺産」に対して適切な番組のタイトル「世界遺産都市の遺産」が、検索結果単語列とされる場合と、そのような適切なタイトルが検索結果単語列とされず、入力音声「都市の世界遺産」とはまったく関係がないような番組のタイトル「衆院解散の年」が、検索結果単語列とされる場合とがある。
そこで、音声検索装置10(図2)のマッチング部56では、入力音声に対して適切な番組のタイトルが、検索結果単語列として出力されないことを防止するため、発音シンボルを用いたマッチングが行われる。
ここで、発音シンボルは、例えば、音節、又は、音素の発音を表すシンボルであり、日本語については、例えば、読みを表すひらがなを採用することができる。
発音シンボルを用いたマッチングでは、マッチングの単位として、音節(の1つ)や、音節の2以上の連鎖、音素(の1つ)、音素の2以上の連鎖等を採用することができる。
なお、発音シンボルを用いたマッチングにおいて、どのようなマッチングの単位を採用するかによって、マッチング結果、ひいては、音声検索の性能は異なる。
図4は、マッチング部56(図2)でのマッチングの単位として、音節2連鎖(連続する2つの音節)を採用する場合の、図2の発音シンボル変換部52の処理を説明する図である。
発音シンボル変換部52には、音声認識部51から、入力音声の音声認識結果(の、例えば、表記シンボル)が供給される。
発音シンボル変換部52は、音声認識部51から供給される音声認識結果を、音節の並びに変換する。
さらに、発音シンボル変換部52は、音声認識結果の音節の並びの先頭から、注目する注目音節を、後方に、1音節ずつずらしていきながら、注目音節と、その注目音節の直後の音節との2つの音節である音節2連鎖を抽出し、その音節2連鎖の並びを、認識結果発音シンボル列として、マッチング部56(図2)に供給する。
図5は、マッチング部56(図2)でのマッチングの単位として、音節2連鎖を採用する場合の、図2の発音シンボル変換部55の処理を説明する図である。
発音シンボル変換部55には、検索結果対象記憶部53に記憶された検索結果対象単語列としての、番組のタイトル等が、形態素解析部54で形態素解析されて供給される。
発音シンボル変換部55は、形態素解析部54から供給される検索結果対象単語列を、音節の並びに変換する。
さらに、発音シンボル変換部55は、検索結果対象単語列の音節の並びの先頭から、注目する注目音節を、後方に、1音節ずつずらしていきながら、注目音節と、その注目音節の直後の音節との2つの音節である音節2連鎖を抽出し、その音節2連鎖の並びを、検索結果対象発音シンボル列として、マッチング部56(図2)に供給する。
マッチング部56では、認識結果発音シンボル列と、検索結果対象発音シンボル列との、音節2連鎖の単位でのマッチングとして、認識結果発音シンボル列と、検索結果対象発音シンボル列との類似度としての、例えば、コサイン距離を求める場合、認識結果発音シンボル列を構成する音節2連鎖に基づいて、認識結果発音シンボル列を表すベクトルである認識結果ベクトルが求められる。
すなわち、マッチング部56は、例えば、認識結果発音シンボル列に存在する音節2連鎖に対応するコンポーネントを1とするとともに、認識結果発音シンボル列に存在しない音節2連鎖に対応するコンポーネントを0とするベクトルを、認識結果発音シンボル列を表す認識結果ベクトルとして求める。
さらに、マッチング部56は、検索結果対象記憶部53に記録された各検索結果対象単語列としての、例えば、番組のタイトル等についても、同様に、検索結果対象単語列の検索結果対象発音シンボル列を構成する音節2連鎖に基づいて、検索結果対象発音シンボル列を表すベクトルである検索結果対象ベクトルを求める。
そして、マッチング部56は、認識結果ベクトルと、検索結果対象ベクトルとの内積を、認識結果ベクトルの大きさと検索結果対象ベクトルの大きさとの乗算値で除算した値であるコサイン距離を、音声認識結果と、検索結果対象ベクトルに対応する検索結果対象単語列との類似度として求める、音節2連鎖の単位でのマッチングを行う。
図6は、単語単位でのマッチング、(1つの)音節単位でのマッチング、及び、音節2連鎖単位でのマッチングの結果を示す図である。
なお、図6では、図3と同様に、入力音声「都市の世界遺産」に対して、誤った音声認識結果「年の瀬解散」が得られており、検索結果対象単語列としての、例えば、番組のタイトルとして、「世界遺産都市の遺産」、「瀬戸の歯医者さん」、及び、「衆院解散の年」の3つが用意されている。
また、図6では、表記シンボルを用いての、単語単位でのマッチング、発音シンボルを用いての、音節単位でのマッチング、及び、発音シンボルを用いての、音節2連鎖単位でのマッチングが行われている。
さらに、図6では、音声認識結果「年の瀬解散」の単語又は発音シンボル(音節)と一致する、検索結果対象単語列の単語又は発音シンボルには、丸印を付してある。
単語単位でのマッチングでは、音声認識結果「年の瀬解散」と、検索結果対象単語列「世界遺産都市の遺産」、「瀬戸の歯医者さん」、及び、「衆院解散の年」それぞれとの類似度(コサイン距離)として、それぞれ、0.22,0.25、及び、0.75が求められる。
したがって、例えば、マッチングの結果得られる類似度が最上位の検索結果対象単語列を、検索結果単語列として出力することとすると、入力音声「都市の世界遺産」の音声認識が誤り、音声認識結果「年の瀬解散」が得られた場合には、表記シンボルを用いての、単語単位でのマッチングでは、検索結果対象単語列としての3つの番組のタイトル「世界遺産都市の遺産」、「瀬戸の歯医者さん」、及び、「衆院解散の年」のうちの、音声認識結果「年の瀬解散」との類似度が0.75で最上位の検索結果対象単語列「衆院解散の年」が、検索結果単語列とされることになる。
入力音声「都市の世界遺産」に対しては、上述の3つの番組のタイトル「世界遺産都市の遺産」、「瀬戸の歯医者さん」、及び、「衆院解散の年」のうちの、1番目の番組のタイトル「世界遺産都市の遺産」が、検索結果単語列とされることが適切である。
しかしながら、入力音声「都市の世界遺産」が、発音(読み)では一致するが、表記が異なる「年の瀬解散」に音声認識されると、表記シンボルを用いての、単語単位でのマッチングでは、入力音声「都市の世界遺産」に対して適切な番組のタイトル「世界遺産都市の遺産」ではなく、「都市の世界遺産」とはまったく関係がないような番組のタイトル「衆院解散の年」が、検索結果単語列とされる。
なお、表記シンボルを用いてのマッチングを、単語単位ではなく、表記シンボル単位で行った場合も、図3で説明したように、入力音声「都市の世界遺産」の誤った音声認識結果「年の瀬解散」に対して、入力音声「都市の世界遺産」とはまったく関係がないような番組のタイトル「衆院解散の年」が、検索結果単語列とされる。
発音シンボルを用いての、音節単位のマッチングでは、音声認識結果「年の瀬解散」と、検索結果対象単語列「世界遺産都市の遺産」、「瀬戸の歯医者さん」、及び、「衆院解散の年」それぞれとの類似度として、それぞれ、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(図1)において、音声認識結果(の認識結果発音シンボル列)と、検索結果対象単語列(の検索結果対象発音シンボル列)との類似度として、コサイン距離を採用する場合、例えば、上述したように、認識結果発音シンボル列に存在する音節(2連鎖)に対応するコンポーネントを1とするとともに、認識結果発音シンボル列に存在しない音節に対応するコンポーネントを0とするベクトルが、認識結果発音シンボル列を表す認識結果ベクトルとして求められる。
さらに、マッチング部56では、同様にして、検索結果対象単語列の検索結果対象発音シンボル列を表す検索結果対象ベクトルが求められる。
ここで、本実施の形態では、認識結果ベクトルのコンポーネントの値を、そのコンポーネントに対応する音節が、認識結果発音シンボル列に存在するかどうかで、1又は0とすることとするが、認識結果ベクトルのコンポーネントの値としては、そのコンポーネントに対応する音節が、認識結果発音シンボル列に出現する頻度であるtf(Term Frequency)を採用することが可能である。
また、認識結果ベクトルのコンポーネントの値としては、その他、例えば、ある検索結果対象単語列には偏って出現する音節に対しては大になり、多くの検索結果対象単語列に万遍なく出現する音節に対しては小になるidf(Invert Document Frequency)や、tfとidfとの両方を加味したTF-IDFを採用することができる。
検索結果対象ベクトルについても、同様である。
いま、認識結果ベクトルを、VUTRと表すとともに、検索結果対象記憶部53(図1)に記憶されたi番目の検索結果対象単語列の検索結果対象ベクトルを、VTITLE(i)と表すこととすると、音声認識結果と、i番目の検索結果対象単語列との類似度としてのコサイン距離Dは、式(1)に従って計算される。
D=VUTR・VTITLE(i)/(|VUTR||VTITLE(i)|)
・・・(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(図2)では、音声認識結果と検索結果対象単語列との長さの相違の影響を軽減するように、コサイン距離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)
式(2)において、認識結果ベクトル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)
第2の補正距離D2は、検索結果対象ベクトルVTITLE(i)の大きさ|VTITLE(i)|を用いずに求められるので、音声認識結果の長さに対する検索結果対象単語列の長さとしての、検索結果対象ベクトルVTITLE(i)の大きさ|VTITLE(i)|の違いの影響がない値、すなわち、音声認識結果と検索結果対象単語列との長さの相違の影響が軽減(除去)された値となる。
図7は、音声認識結果と検索結果対象単語列との類似度として、コサイン距離D、第1の補正距離D1、及び、第2の補正距離D2を採用した場合のマッチングのシミュレーションの結果を示す図である。
なお、図7のシミュレーションでは、短い発話「世界遺産」に対して、正しい音声認識結果「世界遺産」が得られたこととし、検索結果対象単語列としての番組のタイトルとして、長いタイトル「THE世界遺産都市の遺産スペシャルイタリアローマベネチア」と、短いタイトル「世界情勢」とを採用した。
さらに、マッチングは、表記シンボルを用いて、単語単位で行った。
また、図7では、音声認識結果「世界遺産」の単語「世界/遺産」と一致する、検索結果対象単語列としての番組のタイトルの単語には、アンダーラインを付してある。
タイトル「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世界遺産都市の遺産スペシャルイタリアローマベネチア」の類似度が上位になる。
図8は、音声認識結果と検索結果対象単語列との類似度として、コサイン距離D、第1の補正距離D1、及び、第2の補正距離D2を採用した場合のマッチングの他のシミュレーションの結果を示す図である。
なお、図8のシミュレーションでは、長い発話「世界遺産都市の遺産イタリアローマベネチアナポリフィレンツェ」に対して、正しい音声認識結果「世界遺産都市の遺産イタリアローマベネチアナポリフィレンツェ」が得られたこととし、検索結果対象単語列としての番組のタイトルとして、短いタイトル「世界遺産」と、長いタイトル「探検ロマン世界遺産イタリアフィレンツェ歴史地区」とを採用した。
さらに、マッチングは、表記シンボルを用いて、単語単位で行った。
また、図8では、音声認識結果「世界遺産都市の遺産イタリアローマベネチアナポリフィレンツェ」の単語「世界/遺産/都市/の/遺産/イタリア/ローマ/ベネチア/ナポリ/フィレンツェ」と一致する、検索結果対象単語列としての番組のタイトルの単語には、アンダーラインを付してある。
タイトル「世界遺産」では、音声認識結果「世界遺産都市の遺産イタリアローマベネチアナポリフィレンツェ」に対して、「世界」と「遺産」との2つの単語が一致する。
一方、タイトル「探検ロマン世界遺産イタリアフィレンツェ歴史地区」では、音声認識結果「世界遺産都市の遺産イタリアローマベネチアナポリフィレンツェ」に対して、「世界」、「遺産」、「イタリア」、及び、「フィレンツェ」の4つの単語が一致する。
したがって、タイトル「世界遺産」と、タイトル「探検ロマン世界遺産イタリアフィレンツェ歴史地区」とでは、音声認識結果「世界遺産都市の遺産イタリアローマベネチアナポリフィレンツェ」と一致する単語の数が多いタイトル「探検ロマン世界遺産イタリアフィレンツェ歴史地区」の類似度の方が、タイトル「世界遺産」の類似度よりも上位になることが適切である。
しかしながら、類似度として、コサイン距離Dを採用した場合、長い音声認識結果「世界遺産都市の遺産イタリアローマベネチアナポリフィレンツェ」については、長いタイトル「探検ロマン世界遺産イタリアフィレンツェ歴史地区」の類似度が、0.4472となり、短いタイトル「世界遺産」の類似度が、0.4772となって、長いタイトル「探検ロマン世界遺産イタリアフィレンツェ歴史地区」の類似度の方が、短いタイトル「世界遺産」の類似度よりも上位にならない。
すなわち、類似度として、コサイン距離Dを採用した場合には、長い音声認識結果「世界遺産都市の遺産イタリアローマベネチアナポリフィレンツェ」と、短い検索結果対象単語列「世界遺産」との長さの相違の影響により、音声認識結果「世界遺産都市の遺産イタリアローマベネチアナポリフィレンツェ」に対して適切な長いタイトル「探検ロマン世界遺産イタリアフィレンツェ歴史地区」の類似度が上位にならない。
一方、類似度として、補正距離を採用した場合、長いタイトル「探検ロマン世界遺産イタリアフィレンツェ歴史地区」の類似度の方が、短いタイトル「世界遺産」の類似度よりも上位となる。
すなわち、類似度として、第1の補正距離D1を採用した場合、長い音声認識結果「世界遺産都市の遺産イタリアローマベネチアナポリフィレンツェ」については、長いタイトル「探検ロマン世界遺産イタリアフィレンツェ歴史地区」の類似度が、0.4229となり、短いタイトル「世界遺産」の類似度が、0.2991となって、長いタイトル「探検ロマン世界遺産イタリアフィレンツェ歴史地区」の類似度の方が、短いタイトル「世界遺産」の類似度よりも上位となる。
また、類似度として、第2の補正距離D2を採用した場合、長い音声認識結果「世界遺産都市の遺産イタリアローマベネチアナポリフィレンツェ」については、長いタイトル「探検ロマン世界遺産イタリアフィレンツェ歴史地区」の類似度が、0.4となり、短いタイトル「世界遺産」の類似度が、0.2となって、長いタイトル「探検ロマン世界遺産イタリアフィレンツェ歴史地区」の類似度の方が、短いタイトル「世界遺産」の類似度よりも上位となる。
以上のように、類似度として、補正距離を採用した場合には、長い音声認識結果と、短い検索結果対象単語列との長さの相違の影響が軽減され、音声認識結果「世界遺産都市の遺産イタリアローマベネチアナポリフィレンツェ」に対して適切な長いタイトル「探検ロマン世界遺産イタリアフィレンツェ歴史地区」の類似度が上位になる。
したがって、補正距離によれば、音声認識結果と検索結果対象単語列との長さの相違の影響が軽減されることにより、入力音声に対応する単語列の検索を、ロバストに行うことができ、入力音声に対応する単語列の検索の精度の劣化を防止することができる。
図9は、検索結果対象ベクトルと、ベクトル代用情報とを示す図である。
ここで、音声検索装置10(図2)において、検索結果単語列を、迅速に出力するには、例えば、マッチングを高速に行う必要がある。
一方、音声認識結果と、検索結果対象単語列とのマッチングにおいて、類似度としてのコサイン距離や補正距離を求める場合に、検索結果対象発音シンボル列を表す検索結果対象ベクトルと、認識結果発音シンボル列を表す認識結果ベクトルとが必要となるが、音声認識結果が得られるたびに、検索結果対象記憶部53(図1)に記憶された検索結果対象単語列を、検索結果対象ベクトルに変換するのでは、マッチングに時間を要し、マッチングの高速化を妨げることになる。
そこで、類似度の計算に必要な検索結果対象ベクトルは、検索結果対象記憶部53(図1)に記憶された検索結果対象単語列から、あらかじめ求めておき、マッチング部56が内蔵する図示せぬメモリに記憶しておくことで、マッチングの高速化を図る方法がある。
しかしながら、検索結果対象ベクトルを、マッチング部56が内蔵するメモリに記憶させておくこととすると、そのメモリとして、膨大な容量のメモリが必要となる。
すなわち、例えば、検索結果対象ベクトルのコンポーネントの値を、そのコンポーネントに対応する音節が、検索結果対象発音シンボル列に存在するかどうかで、1又は0とすることとすると、発音シンボルの種類数が、C個である場合には、検索結果対象ベクトルは、C次元のベクトルとなる。
例えば、発音シンボルとして、日本語の音節を表すシンボルを採用した場合、発音シンボルの種類数Cは、100ないし300個程度になる。
さらに、例えば、発音シンボルの種類数Cが、100個であったとしても、マッチングの単位として、音節2連鎖を採用した場合には、検索結果対象ベクトルは、10000(=100×100)次元のベクトルとなる。
そして、検索結果対象ベクトルの次元が、D次元であり、検索結果対象記憶部53(図1)に記憶された検索結果対象単語列の個数が、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でないコンポーネントに対応する音節の発音シンボルは、検索結果対象ベクトルに代わる情報であるので、以下、適宜、ベクトル代用情報ともいう。
図9は、検索結果対象ベクトルと、その検索結果対象ベクトルに代わるベクトル代用情報とを示している。
検索結果対象ベクトルのコンポーネントの値は、そのコンポーネントに対応する音節が、検索結果対象発音シンボル列に存在するかどうかで、1又は0になっている。
一方、検索結果対象ベクトルに代わるベクトル代用情報は、その検索結果対象ベクトルの0でないコンポーネントに対応する音節の発音シンボルだけから構成されている。
ここで、図9のベクトル代用情報では、検索結果対象単語列(検索結果対象発音シンボル列)において、複数回出現する、同一の音節の発音シンボルは、かっこ付きの数字を付すことで区別されている。
すなわち、図9において、例えば、検索結果対象単語列「せかいいさん」には、同一の音節「い」の発音シンボルが2回出現するが、ベクトル代用情報では、その2回出現する音節「い」の発音シンボルのうちの、1つ目の発音シンボルが、「い」で表されるとともに、2つ目の発音シンボルが、「い」に、2つ目であることを表すかっこ付きの数字「(2)」を付した「い(2)」で表されており、これにより、2回出現する音節「い」の発音シンボルそれぞれが区別されている。
なお、ベクトル代用情報では、検索結果対象単語列に複数回出現する、同一の音節の発音シンボルを、区別しないで表現することもできる。
すなわち、図9において、例えば、検索結果対象単語列「せかいいさん」に2回出現する、同一の音節「い」の発音シンボルは、ベクトル代用情報において、音節「い」(を特定するID)と、その音節「い」が出現する頻度である「2」との組(い,2)によって表現することが可能である。
以上のように、マッチング部56が内蔵するメモリにおいて、検索結果対象ベクトルに代えて、ベクトル代用情報を記憶する場合には、マッチングにおいて、検索結果対象ベクトルを記憶する場合には必要であった、検索結果対象ベクトルの0のコンポーネントへのアクセス(メモリからの0のコンポーネントの読み出し)を行わずに済むので、メモリの記憶容量を削減する他、マッチングを高速化することができる。
図10は、マッチング部56が内蔵するメモリにおいて、検索結果対象ベクトルに代えて、ベクトル代用情報を記憶する場合の、音声認識結果と検索結果対象単語列との類似度の計算を説明する図である。
なお、図10では、図9と同様に、ベクトル代用情報において、検索結果対象単語列に複数回出現する、同一の音節の発音シンボルが、区別されて表現されている。
また、図10では、検索結果対象単語列(の検索結果対象発音シンボル列)が、検索結果対象ベクトルに代えて、ベクトル代用情報で表現されているのと同様にして、音声認識結果(の認識結果発音シンボル列)も、認識結果ベクトルに代えて、ベクトル代用情報で表現されている。
音声認識結果と検索結果対象単語列との類似度として、コサイン距離や補正距離を求める場合には、認識結果ベクトル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だけインクリメントしていくことで求めることができる。
したがって、音声認識結果と検索結果対象単語列との類似度としてのコサイン距離や補正距離は、音声認識結果、及び、検索結果対象単語列のベクトル代用情報を用いて求めることができる。
[音声検索装置10の処理]
図11は、図1の音声検索装置10の処理(音声検索の処理)を説明するフローチャートである。
ステップS11において、音声検索装置10は、必要な前処理を行う。
すなわち、音声検索装置10は、前処理として、例えば、記録媒体23に記録されたEPGを構成する構成要素である番組のタイトルや、出演者名、詳細情報等を読み出して、検索結果対象記憶部53に供給し、検索結果対象単語列として記憶させる等の、入力音声が供給される前に行うことができる処理を行う。
なお、ステップS11の前処理は、例えば、1日ごとに、所定の時刻に行われる。あるいは、ステップS11の前処理は、記録媒体23に録画されている録画番組が変更されたときや、記録媒体23に記録されているEPGが変更(更新)されたとき等に行われる。
最新の前処理の後、ユーザが発話を行い、その発話としての入力音声が、音声認識部51、及び、ユーザ情報設定部58に供給されると、ステップS12において、ユーザ情報推定部58は、そこに供給される入力音声から、非言語情報及びパラ言語情報のうちの一方、又は、両方を推定し、その推定結果(非言語情報、パラ言語情報)を、ユーザ情報として、マッチング部56、及び、生成部57に供給(出力)する。
そして、ステップS13において、音声認識部51は、そこに供給される入力音声を音声認識する。
音声認識部51が入力音声の音声認識を行うことにより得られる音声認識結果は、発音シンボル変換部52を介することにより、認識結果発音シンボル列となって、マッチング部56に供給される。
また、マッチング部56には、検索結果対象記憶部53に記憶された検索結果対象単語列が、形態素解析部54及び発音シンボル変換部55を介することにより、検索結果対象発音シンボル列となって、供給される。
マッチング部56は、ステップS14において、検索結果対象記憶部53に記憶されたすべての検索結果対象単語列それぞれについて、音声認識部51から発音シンボル変換部52を介して供給される認識結果発音シンボル列と、検索結果対象記憶部53から形態素解析部54及び発音シンボル変換部55を介して供給される検索結果対象発音シンボル列とのマッチングをとり、そのマッチング結果を、生成部57に供給する。
すなわち、マッチング部56は、検索結果対象記憶部53に記憶された各検索結果対象単語列について、音声認識結果との類似度としての、例えば、コサイン距離、又は、補正距離等を計算し、その類似度を、マッチング結果として、生成部57に供給する。
生成部57は、ステップS15において、マッチング部56からのマッチング結果に基づいて、検索結果単語列を生成し、音声検索装置10は、音声検索の処理を終了する。
すなわち、生成部57は、検索結果対象記憶部53に記憶された検索結果対象単語列の中から、音声認識結果との類似度が上位N位以内の検索結果対象単語列を、検索結果単語列として選択する。
そして、生成部57で得られた検索結果単語列は、出力I/F33(図1)に供給される。
なお、検索結果対象単語列が、例えば、番組のタイトルや、出演者名、詳細情報である場合において、音声認識結果との類似度が上位N位以内の検索結果対象単語列の中に、タイトル以外の、例えば、出演者名(又は詳細情報)があるときには、生成部57では、その出演者名とともに、又は、その出演者名に代えて、その出演者名をメタデータとして有する番組のタイトルを、検索結果単語列として選択することが可能である。
ここで、音声検索装置10の動作モードが、通常モードに設定されている場合、マッチング部56、及び、生成部57は、それぞれ、ユーザ情報推定部58から供給されるユーザ情報を用いずに、上述したようなマッチングの処理(通常モードのマッチングの処理)、及び、検索結果単語列の生成の処理(通常モードの検索結果単語列の生成の処理)を行う。
一方、動作モードが、関連単語利用マッチングモード、又は、重み付けマッチングモードに設定されている場合、マッチング部56は、ユーザ情報推定部58から供給されるユーザ情報を用いて、マッチングの処理を行う。
また、動作モードが、関連単語利用ソートモードに設定されている場合、生成部57は、後述するように、ユーザ情報推定部58から供給されるユーザ情報を用いて、検索結果単語列の生成の処理を行う。
関連単語利用マッチングモードのマッチングの処理、重み付けマッチングモードのマッチングの処理、及び、関連単語利用ソートモードの検索結果単語列の生成の処理については、後述する。
なお、図11では、ステップS12の処理後、ステップS13の処理を行うこととしたが、ステップS12及びS13については、ステップS13の処理を、ステップS12の処理より先に行ってもよいし、ステップS12及びS13の処理を同時(並列)に行ってもよい。
[ユーザ情報推定部58によるユーザ情報の推定]
図12は、図1のユーザ情報推定部58によるユーザ情報の推定の処理を説明する図である。
ここで、上述したように、ユーザ情報には、非言語情報と、パラ言語情報とがある。
そして、ユーザ情報推定部58では、非言語情報抽出部58Aが、例えば、ユーザの入力音声のピッチの検出や、ユーザの入力音声を用いた話者識別等によって、入力音声を発話したユーザ(発話者)の性別や、入力音声を発話したユーザの年齢層(例えば、ユーザが、子供か、大人かという情報)、入力音声を発話したユーザが、どのユーザであるのかというユーザを特定する情報(例えば、ユーザの氏名や、ユーザを特定するID等)等の、ユーザの身体性に関する情報である非言語情報を、入力音声から抽出(推定)する。
図12は、非言語情報抽出部58Aが、入力音声を発話したユーザの性別を、非言語情報(ひいては、ユーザ情報)として推定する方法を説明する図である。
すなわち、図12は、女性が発生した入力音声(女声)「料理」、及び、男性が発生した入力音声(男声)「料理」それぞれの波形、ピッチ、及び、パワーを示している。
女性の音声のピッチ(周波数)は、平均的に、男性の音声のピッチよりも高いので、非言語情報抽出部58Aは、例えば、そのようなピッチによって、入力音声を発話したユーザの性別を推定する。
すなわち、図12において、女声「料理」のピッチの最高周波数は、男声「料理」のピッチの最高周波数の2倍(1オクターブ)以上の周波数になっており、女声「料理」のピッチは、平均的に、男声「料理」のピッチよりも高い。
そこで、非言語情報抽出部58Aは、入力音声のピッチを検出し、その入力音声の(音声区間の)ピッチの平均値である平均ピッチを求める。さらに、非言語情報抽出部58Aは、入力音声の平均ピッチと、性別を推定するのにあらかじめ設定された性別用閾値との大小関係に基づいて、入力音声を発話したユーザの性別を推定する。
具体的には、非言語情報抽出部58Aは、入力音声の平均ピッチが、性別用閾値以上(又は、より大)であれば、入力音声を発話したユーザの性別が、女性であると推定する。
また、非言語情報抽出部58Aは、入力音声の平均ピッチが、性別用閾値以上でなければ、入力音声を発話したユーザの性別が、男性であると推定する。
図12では、性別用閾値として、160Hzが設定されている。また、図12では、女声「料理」の平均ピッチは、229.41Hzになっており、男声「料理」の平均ピッチは、116.07Hzになっている。
したがって、図12では、女声「料理」のユーザの性別は、女性であると推定され、男声「料理」のユーザの性別は、男性であると推定される。
なお、非言語情報抽出部58Aでは、その他、例えば、入力音声から、ピッチや、パワー、抑揚等の韻律情報を抽出し、その韻律情報を用いて、入力音声を発話したユーザが、どのユーザであるのかというユーザを特定する情報(例えば、ユーザの氏名や、ユーザを特定するID等)を得る話者識別(ユーザの同定)を行うことができる。
非言語情報抽出部58Aにおいて、以上のように、入力音声を発話したユーザを推定し、そのユーザを特定する情報(以下、ユーザ特定情報ともいう)を得る話者識別を行う場合には、その話者識別によって推定される(得られる)ユーザ特定情報と、そのユーザ特定情報によって特定されるユーザの嗜好や行動履歴(例えば、ユーザが高頻度で視聴、又は、録画を行う番組のタイトルやジャンル、操作部31(図1)の操作の履歴等)、ユーザの性別、及び、年齢等のユーザに関する情報とを対応付けたテーブル(以下、ユーザテーブルともいう)を、レコーダにおいて、あらかじめ作成して記憶しておくことができる。
この場合、非言語情報抽出部58Aでは、話者識別を行い、ユーザテーブルにおいて、話者識別の結果得られるユーザ特定情報に対応付けられている情報を参照して、入力音声を発話したユーザの性別を推定することができる。
なお、非言語情報抽出部58Aにおいて、話者識別によって、ユーザを推定する場合には、そのユーザを特定するユーザ特定情報を、非言語情報、ひいては、ユーザ情報として、ユーザ情報推定部58からマッチング部56や生成部57に供給することができる。
ここで、非言語情報抽出部58Aでは、入力音声を発話したユーザの性別やユーザ特定情報の他、入力音声の平均ピッチの高低によって、ユーザの年齢層を推定し(例えば、入力音声の平均ピッチが所定値より高い場合には、ユーザが子供であると推定し、入力音声の平均ピッチが所定値以下である場合には、ユーザが大人であると推定し)、そのユーザの年齢層を、非言語情報、ひいては、ユーザ情報として、マッチング部56や生成部57に供給することができる。
図13は、図1のユーザ情報推定部58によるユーザ情報の推定の処理を説明する図である。
ここで、上述したように、ユーザ情報には、非言語情報と、パラ言語情報とがある。
そして、ユーザ情報推定部58では、パラ言語情報抽出部58Bが、例えば、ユーザの入力音声のピッチ(声の高さ)や、パワー(声の大きさ)、発話速度(声の速さ)等の韻律情報の検出等によって、入力音声の音声区間のうちの、ユーザが強調して発話を行っている強調区間を、入力音声から、ユーザの意図や感情等の心的態度に関する情報であるパラ言語情報として推定する。
そして、ユーザ情報推定部58は、強調区間を表すユーザ情報を、ユーザ情報推定部58からマッチング部56や生成部57に供給する。
図13は、パラ言語情報抽出部58Bが、入力音声の音声区間中の強調区間を、パラ言語情報として推定する方法を説明する図である。
すなわち、図13は、「世界遺産」の発話を、強調をせずに行った入力音声(通常音声)、及び、一部を強調して行った入力音声(強調音声)それぞれの波形、ピッチ、及び、パワーを示している。
ここで、強調音声「世界遺産」では、「世界遺産」のうちの「遺産」、すなわち、音素で表記すれば、"sekaiisaN"のうちの"isaN"が強調して発話されている。
図13において、通常音声「世界遺産」と、強調音声「世界遺産」とについては、強調して発話された部分(以下、強調部分ともいう)である「遺産」(のうちの、特に、"saN")のピッチやパワーに、特徴的な違いがみられる。
そこで、パラ言語情報抽出部58Bは、入力音声のピッチやパワーに基づいて、強調区間を推定する。
すなわち、パラ言語情報抽出部58Bは、例えば、入力音声のピッチを検出し、その平均ピッチを求める。さらに、パラ言語情報抽出部58Bは、例えば、平均ピッチに、所定の係数(例えば、1.2等の1.0以上の値)を乗算した乗算値を、強調区間の推定のための強調用閾値として求め、入力音声のピッチと、強調用閾値との大小関係に基づいて、入力音声の(音声区間中の)強調区間を推定する。
具体的には、パラ言語情報抽出部58Bは、入力音声の音声区間中の、ピッチが強調用閾値以上(又は、より大)である区間を、強調区間の候補区間として検出し、その候補区間を強調区間として推定する。
図13の通常音声については、平均ピッチが、119.59Hzになっており、その平均ピッチに、所定の係数としての1.2を乗算した乗算値である強調用閾値が、143.51Hzになっている。
そして、通常音声の音声区間においては、ピッチが、強調用閾値である143.51Hzを超える区間が存在しないので、候補区間は、検出されない。
一方、図13の強調音声については、平均ピッチが、175.58Hzになっており、その平均ピッチに、所定の係数としての1.2を乗算した乗算値である強調用閾値が、210.94Hzになっている。
そして、強調音声の音声区間においては、ピッチが、強調用閾値である143.51Hzを超える区間が存在し、すなわち、「遺産」の区間において、ピッチが強調用閾値を超えており、その「遺産」の区間が、候補区間として検出され、ひいては、強調区間として推定される。
なお、隣接する2つの強調区間の最小の時間間隔としてあらかじめ設定された第1の時間T1内に、他の候補区間が存在しない、いわば孤立した候補区間については、その孤立した候補区間の幅が、1つの強調区間の最小の時間としてあらかじめ設定された第2の時間Tより小である場合には、その候補区間は、強調区間としては、短すぎるので、強調区間に推定しないことができる。
また、隣接する2つの候補区間の時間間隔が、第1の時間T1より小である場合には、その2つの候補区間は、時間的に先行する候補区間の先頭から、時間的に後行する候補区間の終わりまでの1つの強調区間に推定することができる。
図14は、パラ言語情報抽出部58Bが、入力音声の音声区間中の強調区間を、パラ言語情報として推定する方法を説明する図である。
すなわち、図14は、「レオナルド」の発話を、強調をせずに行った入力音声(通常音声)、及び、一部を強調して行った入力音声(強調音声)それぞれの波形、ピッチ、及び、パワーを示している。
ここで、強調音声「レオナルド」では、「レオナルド」のうちの「ナ」、すなわち、音素で表記すれば、"reonarudo"のうちの"na"が強調して発話されている。
図14において、通常音声「レオナルド」と、強調音声「レオナルド」とについては、強調部分である「ナ」(のうちの、特に、"a")のピッチやパワーに、特徴的な違いがみられる。
そこで、パラ言語情報抽出部58Bは、入力音声のピッチやパワーに基づいて、強調区間を推定する。
すなわち、パラ言語情報抽出部58Bは、図13の場合と同様に、入力音声のピッチを検出し、その平均ピッチを求める。さらに、パラ言語情報抽出部58Bは、平均ピッチに、所定の係数としての、例えば、1.2を乗算した乗算値を、強調用閾値として求め、入力音声のピッチと、強調用閾値との大小関係に基づいて、候補区間を検出し、ひいては、入力音声の(音声区間中の)強調区間を推定する。
図14の通常音声については、平均ピッチが、121.51Hzになっており、その平均ピッチに、所定の係数としての1.2を乗算した乗算値である強調用閾値が、145.81Hzになっている。
そして、通常音声の音声区間においては、ピッチが、強調用閾値である145.81Hzを超える区間が存在しないので、候補区間は、検出されない。
一方、図14の強調音声については、平均ピッチが、131.63Hzになっており、その平均ピッチに、所定の係数としての1.2を乗算した乗算値である強調用閾値が、157.96Hzになっている。
そして、強調音声の音声区間においては、ピッチが、強調用閾値である157.96Hzを超える区間が存在し、すなわち、「ナ」の区間において、ピッチが強調用閾値を超えており、その「ナ」の区間が、候補区間として検出され、ひいては、強調区間として推定される。
なお、ピッチは、主として、母音の影響を受けるので、候補区間の先頭が母音である場合には、その候補区間は、その先頭に存在する母音を含む音節の先頭(例えば、母音に先行する子音の先頭)の位置まで拡張し、その拡張後の候補区間を、強調区間として推定することができる。
以上においては、パラ言語情報抽出部58Bにおいて、ピッチを用いて、強調区間を推定したが、強調区間は、ピッチの他、パワーや発話速度を用いて推定することができる。
すなわち、パラ言語情報抽出部58Bでは、例えば、音声区間のうちの、パワーが、所定の閾値(例えば、パワーの平均値に所定の係数を乗算した乗算値)以上の区間を候補区間として検出し、その候補区間を強調区間として推定することができる。
また、パラ言語情報抽出部58Bでは、例えば、音声区間のうちの、発話速度が、所定の閾値以下の区間を候補区間として検出し、その候補区間を強調区間として推定することができる。
図15は、パラ言語情報抽出部58Bが、入力音声の音声区間中の強調区間を、発話速度を用いて推定する方法を説明する図である。
すなわち、図15は、「レオナルド」の発話を、一部を強調して行った入力音声(強調音声)、及び、「レオナ」の発話を、一部を強調して行った入力音声(強調音声)それぞれの波形、ピッチ、及び、パワーを示している。
強調音声「レオナルド」では、「レオナルド」のうちの「ナ」、すなわち、音素で表記すれば、"reonarudo"のうちの"na"が強調して発話されている。
また、強調音声「レオナ」では、「レオナ」のうちの「ナ」、すなわち、音素で表記すれば、"reona"のうちの"na"が強調して発話されている。
ここで、図15では、発話速度を、発話の一部で遅くすることで、その発話の一部が強調されている。
パラ言語情報抽出部58Bは、発話速度を用いて、強調区間を推定する場合には、音声区間の各音素の区間(時間)(以下、音素区間ともいう)の逆数を、その音素の発話速度として求める。
そして、パラ言語情報抽出部58Bは、発話速度と、所定の閾値との大小関係に基づいて、入力音声の(音声区間中の)強調区間を推定する。
具体的には、パラ言語情報抽出部58Bは、入力音声の音声区間中の、発話速度が所定の閾値以下(又は、より小)である区間、つまり、その所定の閾値の逆数が表す時間である、例えば、1秒以上の音素区間を、強調区間の候補区間として検出し、その候補区間を強調区間として推定する。
図15の強調音声「レオナルド」については、音素"a"の音素区間が、1.06秒で、1秒以上になっており、候補区間として検出される。
また、図15の強調音声「レオナ」についても、音素"a"の音素区間が、1.33秒で、1秒以上になっており、候補区間として検出される。
したがって、図15の強調音声「レオナルド」及び「レオナ」については、いずれも、音素"a"の音素区間が、強調区間として推定される。
なお、音素区間を、1秒以上とすることができる音素は、主として母音であるため、候補区間の先頭が母音である場合には、その候補区間は、その先頭に存在する母音を含む音節の先頭の位置まで拡張し、その拡張後の候補区間を、強調区間として推定することができる。
ここで、上述の場合には、パラ言語情報抽出部58Bにおいて、ピッチ、パワー、及び、発話速度のうちの1つを用いて、強調区間を推定したが、強調区間の推定は、ピッチ、パワー、及び、発話速度のうちの複数を用いて行うことが可能である。
すなわち、パラ言語情報抽出部58Bでは、例えば、ピッチを用いて検出された候補区間と、パワーを用いて検出された候補区間とが重なる区間や、ピッチを用いて検出された候補区間と、パワーを用いて検出された候補区間とのうちの少なくとも一方になっている区間を、強調区間として推定することが可能である。
また、パラ言語情報抽出部58Bでは、ユーザに、同一の発話を、通常音声と、強調音声とで、連続して行ってもらい、1回目の発話である通常音声のピッチ、パワー、及び、発話速度と、2回目の発話である強調音声のピッチ、パワー、及び、発話速度とを、それぞれ比較し、その比較において、ピッチ、パワー、又は、発話速度に顕著な差(閾値以上の差)が存在する区間を、強調区間として推定することができる。
[関連単語利用マッチングモードのマッチング]
図16は、図2の音声検索装置10の動作モードが、関連単語利用マッチングモードに設定されている場合に、マッチング部56が図11のステップS14で行う、関連単語利用マッチングモードのマッチングの処理を説明するフローチャートである。
ステップS21において、マッチング部56は、ユーザ情報推定部58から供給されるユーザ情報に関連する関連単語を取得する。
すなわち、例えば、ユーザ情報推定部58(の非言語情報抽出部58A)において、入力音声を発話したユーザの性別が推定され、その推定結果である性別を表す(非言語情報を含む)ユーザ情報が、マッチング部56に供給されている場合には、マッチング部56は、ステップS21において、ユーザ情報が表すユーザの性別に関連する関連単語を取得する。
ここで、ユーザ情報が表すユーザの性別が、「女性」である場合、その「女性」に関連する関連単語としては、例えば、「女」、「オンナ」、「お母さん」、「ママ」、「スイーツ」、「おやつ」、「ダイエット」、「お弁当」等がある。
また、ユーザ情報が表すユーザの性別が、「男性」である場合、その「男性」に関連する関連単語としては、例えば、「男」、「オトコ」、「お父さん」、「パパ」、「つまみ」、「酒」等がある。
ユーザの性別に関連する関連単語は、装置の設計者が、あらかじめ、音声検索装置10に登録しておくことができる。
さらに、音声検索装置10において、例えば、インターネット上のwebページや、所定のコーパス等の、文のデータベースを対象として、「男性」や「女性」等の性別を表す単語とともに出現する頻度が高い単語を検索し、その単語を、ユーザの性別に関連する関連単語として登録しておくことができる。
また、例えば、ユーザ情報推定部58(の非言語情報抽出部58A)において、話者識別により、入力音声を発話したユーザが推定され、そのユーザを特定するユーザ特定情報を表す(非言語情報を含む)ユーザ情報が、マッチング部56に供給されている場合には、マッチング部56は、ステップS21において、ユーザ情報が表すユーザ特定情報によって特定されるユーザに関連する関連単語を取得する。
ここで、図1のレコーダでは、上述したように、ユーザ特定情報と、そのユーザ特定情報によって特定されるユーザの嗜好や行動履歴(例えば、ユーザが高頻度で視聴、又は、録画を行う番組のタイトルやジャンル、操作部31(図1)の操作の履歴等)等のユーザに関する情報とを対応付けたユーザテーブルがあらかじめ作成されて記憶されていることとする。
この場合、マッチング部56は、ユーザテーブルにおいて、ユーザ情報が表すユーザ特定情報に対応付けられている情報である、例えば、ユーザが高頻度で視聴、又は、録画を行う番組のタイトルやジャンル等(を表す単語列の各単語)を、ユーザ情報が表すユーザ特定情報によって特定されるユーザに関連する関連単語として取得する。
なお、ユーザテーブルには、ユーザが、そのユーザに関連する関連単語となる単語を、操作部31(図1)を操作することにより登録することができる。
マッチング部56は、ユーザ情報推定部58から供給されるユーザ情報に関連する関連単語を取得すると、ステップS22において、音声認識部51から発音シンボル変換部52を介して供給される認識結果発音シンボル列に、関連単語を付加する。
すなわち、マッチング部56は、認識結果発音シンボル列の、先頭、又は、最後に、関連単語の発音シンボル列を付加する。
そして、マッチング部56は、ステップS23において、検索結果対象記憶部53に記憶されたすべての検索結果対象単語列それぞれについて、関連単語が付加された認識結果発音シンボル列と、検索結果対象記憶部53から形態素解析部54及び発音シンボル変換部55を介して供給される検索結果対象発音シンボル列とのマッチングをとり(類似度を計算し)、そのマッチング結果(類似度)を、生成部57に供給して、処理はリターンする。
したがって、マッチング部56においては、通常モードでは、認識結果発音シンボル列そのものと、検索結果対象発音シンボル列とのマッチングがとられるが、関連単語利用マッチングモードでは、関連単語が付加された認識結果発音シンボル列と、検索結果対象発音シンボル列とのマッチングがとられる。
その結果、関連単語利用マッチングモードでは、発話者であるユーザ(自身や性別)に応じて異なる、柔軟な検索結果単語列を得ることができる。
すなわち、例えば、ユーザの性別が推定され、その性別を表すユーザ情報が、ユーザ情報推定部58からマッチング部56に供給されている場合に、ユーザ情報が表すユーザの性別が「女性」であるときには、マッチング部56では、「女性」に関連する上述した関連単語「女」等を、認識結果発音シンボル列に付加してマッチングがとられる。
したがって、関連単語「女」等を、認識結果発音シンボル列に付加しないでマッチングがとられる場合(通常モードのマッチング)に比較して、発話を行った女性のユーザに適した検索結果対象単語列が、上位に位置するマッチング結果、ひいては、そのような検索結果対象単語列が、検索結果単語列となった検索結果を得ることができる。
また、ユーザ情報が表すユーザの性別が「男性」であるときには、マッチング部56では、「男性」に関連する上述した関連単語「男」等を、認識結果発音シンボル列に付加してマッチングがとられる。
したがって、関連単語「男」等を、認識結果発音シンボル列に付加しないでマッチングがとられる場合に比較して、発話を行った男性のユーザに適した検索結果対象単語列が、上位に位置するマッチング結果、ひいては、そのような検索結果対象単語列が、検索結果単語列となった検索結果を得ることができる。
さらに、例えば、ユーザが推定され、そのユーザを特定するユーザ特定情報を表すユーザ情報が、ユーザ情報推定部58からマッチング部56に供給されている場合には、マッチング部56では、ユーザ情報が表すユーザ特定情報によって特定されるユーザが高頻度で視聴する番組のタイトル等を、関連単語として、認識結果発音シンボル列に付加してマッチングがとられる。
したがって、ユーザが高頻度で視聴する番組のタイトル等を、認識結果発音シンボル列に付加しないでマッチングがとられる場合(通常モードのマッチング)に比較して、発話を行ったユーザの嗜好に合致した(ユーザに適した)検索結果対象単語列が、上位に位置するマッチング結果、ひいては、そのような検索結果対象単語列が、検索結果単語列となった、ユーザ個人に特化した検索結果を得ることができる。
なお、関連単語利用マッチングモードにおいて、マッチング部56は、複数の関連単語を取得した場合には、例えば、各関連単語を、順次、注目する注目単語に選択し、その注目単語を、認識結果発音シンボル列に付加して、検索結果対象発音シンボル列とのマッチングをとる。
[関連単語利用ソートモードのマッチング]
図17は、図2の音声検索装置10の動作モードが、関連単語利用ソートモードに設定されている場合に、生成部57が図11のステップS15で行う、関連単語利用ソートモードの検索結果単語列の生成の処理を説明するフローチャートである。
ステップS31において、生成部57は、ユーザ情報推定部58から供給されるユーザ情報に関連する関連単語を取得する。
すなわち、生成部57は、図16のステップS21において、マッチング部56が関連単語を取得する場合と同様にして、ユーザ情報推定部58からのユーザ情報が表すユーザの性別に関連する関連単語や、そのユーザ情報が表すユーザ特定情報によって特定されるユーザに関連する関連単語を取得する。
生成部57は、ユーザ情報推定部58から供給されるユーザ情報に関連する関連単語を取得すると、ステップS32において、マッチング部56からのマッチング結果である類似度に基づいて、検索結果対象記憶部53に記憶された検索結果対象単語列をソートし、ソート後の検索結果対象単語列のリスト(以下、検索結果候補リストともいう)を生成する。
すなわち、生成部57は、検索結果対象記憶部53に記憶された検索結果対象単語列を、類似度の昇順に登録した検索結果候補リストを生成する。
そして、ステップS33において、生成部57は、検索結果候補リストの検索結果対象単語列のうちの、関連単語を含む検索結果対象単語列(以下、関連単語あり単語列ともいう)が上位に位置するように、検索結果候補リストの検索結果対象単語列をソートする。
すなわち、生成部57は、検索結果候補リストの検索結果対象単語列から、関連単語あり単語列を検出し、その関連単語あり単語列を、その関連単語あり単語列どうしの順位の位置関係を維持したまま、検索結果候補リストの上位の位置に移動する。
したがって、類似度が高い(大きい)検索結果対象単語列であっても、関連単語を含まない場合には、その検索結果対象単語列の、検索結果候補リスト上の順位は、関連単語あり単語列の順位よりも下位になる。
その後、ステップS34において、生成部57は、検索結果候補リストの上位N個の検索結果対象単語列を、検索結果単語列として選択することにより、検索結果単語列を生成して、処理はリターンする。
したがって、生成部57においては、通常モードでは、検索結果対象記憶部53に記憶された検索結果対象単語列の中で、類似度が上位N個の検索結果対象単語列が、検索結果単語列として選択されるが、関連単語利用ソートモードでは、関連単語を含む検索結果単語列(関連単語あり単語列)の中で、類似度が上位N個の検索結果単語列が、検索結果単語列として選択される。
その結果、関連単語利用ソートモードでは、ユーザ(発話者)に応じて異なる、柔軟な検索結果単語列を得ることができる。
すなわち、図18は、ユーザの性別を表すユーザ情報が、ユーザ情報推定部58から生成部57に供給される場合に、生成部57において、関連単語利用ソートモードで生成される検索結果単語列を示す図である。
いま、女性のユーザと、男性のユーザとが、いずれも、入力音声「料理」を発話したとすると、通常モードでは、生成部57において、女性のユーザについても、男性のユーザについても、類似度が上位N個の検索結果対象単語列が、検索結果単語列として選択される。したがって、通常モードでは、ユーザが女性であっても、男性であっても、同一の入力音声「料理」に対して、同一の検索結果単語列が得られる。
一方、関連単語利用ソートモードでは、ユーザ情報が表すユーザの性別が「女性」である場合には、生成部57では、「女性」に関連する図17で説明した関連単語「女」、「オンナ」、「お母さん」、「ママ」、「スイーツ」、「おやつ」、「ダイエット」、「お弁当」等を含む検索結果対象単語列のうちの、類似度が上位N個(図18では、5個)の検索結果対象単語列が、ユーザの性別である「女性」向けの検索結果単語列として選択される。
また、ユーザ情報が表すユーザの性別が「男性」である場合には、生成部57では、「男性」に関連する図17で説明した関連単語「男」、「オトコ」、「お父さん」、「パパ」、「つまみ」、「酒」等を含む検索結果対象単語列のうちの、類似度が上位N個の検索結果対象単語列が、ユーザの性別である「男性」向けの検索結果単語列として選択される。
したがって、関連単語利用ソートモードでは、入力音声を発話したユーザの性別によって、その性別のユーザに適した検索結果対象単語列が、検索結果単語列となった検索結果を得ることができる。
図19は、ユーザを特定するユーザ特定情報を表すユーザ情報が、ユーザ情報推定部58から生成部57に供給される場合に、生成部57において、通常モードと、関連単語利用ソートモードとのそれぞれで生成される検索結果単語列を示す図である。
いま、ユーザが、入力音声「料理」を発話したとすると、通常モードでは、生成部57において、どのユーザについても、入力音声「料理」との類似度が上位N個の検索結果対象単語列が、検索結果単語列として選択される。すなわち、通常モードでは、発話者が、どのユーザであっても、同一の入力音声「料理」に対して、同一の検索結果単語列が得られる。
一方、関連単語利用ソートモードでは、ユーザ情報が表すユーザ特定情報によって特定されるユーザが、例えば、タイトルが「食彩浪漫」という番組を頻繁に視聴しており、そのタイトル「食彩浪漫」が、関連単語として取得されたとすると、生成部57では、関連単語「食彩浪漫」を含む検索結果対象単語列のうちの、入力音声「料理」との類似度が上位N個(図18では、5個)の検索結果対象単語列が、入力音声「料理」を発話したユーザに特化した検索結果単語列として選択される。
したがって、関連単語利用ソートモードでは、入力音声を発話したユーザが頻繁に視聴する番組等の、そのユーザの嗜好等によって、そのユーザに適した検索結果対象単語列が、検索結果単語列となった検索結果を得ることができる。
なお、関連単語利用ソートモードにおいて、生成部57は、複数の関連単語を取得した場合には、例えば、関連単語を含む検索結果対象単語列(関連単語あり単語列)であれば、その関連単語あり単語列に含まれる関連単語の数に関係なく、関連単語あり単語列が上位に位置するように、検索結果候補リストの検索結果対象単語列をソートすることもできるし、関連単語あり単語列に含まれる関連単語の数に応じて、検索結果候補リストの検索結果対象単語列をソートすることもできる。
生成部57において、関連単語あり単語列に含まれる関連単語の数に応じて、検索結果候補リストの検索結果対象単語列をソートする場合には、含まれる関連単語の数が多い関連単語あり単語列ほど、上位、又は、下位に位置するように、検索結果候補リストの検索結果対象単語列をソートすることができる。
ここで、図16で説明した関連単語利用マッチングモードでも、図18や図19に示した、関連単語利用ソートモードで得られる場合と同様の、ユーザに適した検索結果単語列を得ることができる。
[重み付けマッチングモードのマッチング]
図20は、図2の音声検索装置10の動作モードが、重み付けマッチングモードに設定されている場合に、マッチング部56が図11のステップS14で行う、重み付けマッチングモードのマッチングの処理を説明するフローチャートである。
ステップS41において、マッチング部56は、音声認識部51から発音シンボル変換部52を介して供給される認識結果発音シンボル列から、ユーザ情報推定部58から供給されるユーザ情報が表す強調区間の発音シンボル(列)を、重み付け対象シンボルとして検出する。
その後、ステップS42において、マッチング部56は、検索結果対象記憶部53に記憶されたすべての検索結果対象単語列それぞれについて、認識結果発音シンボル列と、検索結果対象記憶部53から形態素解析部54及び発音シンボル変換部55を介して供給される検索結果対象発音シンボル列とのマッチング(類似度の計算)を、認識結果発音シンボル列のうちの、重み付け対象シンボルに重み付けをして実行する。
そして、マッチング部56は、マッチング結果(類似度)を、生成部57に供給して、処理はリターンする。
したがって、マッチング部56においては、認識結果発音シンボル列と、検索結果対象発音シンボル列とのマッチングは、通常モードでは、特に重み付けをすることなく行われるが、重み付けマッチングモードでは、認識結果発音シンボル列のうちの、強調区間の発音シンボルである重み付け対象シンボルに重み付けをして行われる。
その結果、重み付けマッチングモードでは、入力音声中の、ユーザが強調して発話を行った強調部分に応じて異なる、柔軟な検索結果単語列を得ることができる。
図21は、重み付けマッチングモードのマッチングの処理を説明する図である。
すなわち、図21Aは、マッチング部56が、重み付けマッチングモードにおいて、検索結果対象ベクトルに代えて、ベクトル代用情報を用いて行う、音声認識結果と検索結果対象単語列との類似度の計算(マッチング)を説明する図である。
なお、図21Aでは、図9及び図10と同様に、ベクトル代用情報において、検索結果対象単語列に複数回出現する、同一の音節の発音シンボルが、区別されて表現されている。
また、図21Aでは、図10と同様に、検索結果対象単語列(の検索結果対象発音シンボル列)が、検索結果対象ベクトルに代えて、ベクトル代用情報で表現されているのと同様にして、音声認識結果(の認識結果発音シンボル列)も、認識結果ベクトルに代えて、ベクトル代用情報で表現されている。
図10で説明したように、音声認識結果と検索結果対象単語列との類似度として、コサイン距離や補正距離を求める場合には、認識結果ベクトルVUTRと、検索結果対象ベクトルVTITLE(i)との内積VUTR・VTITLE(i)が必要となる。
通常モードでは、内積VUTR・VTITLE(i)は、内積VUTR・VTITLE(i)の初期値を0とし、音声認識結果のベクトル代用情報を構成する発音シンボルを、順次、注目シンボルにして、検索結果対象単語列のベクトル代用情報の中に、注目シンボルに一致する発音シンボルが存在する場合には、内積VUTR・VTITLE(i)を1だけインクリメントしていくことで求められる。
一方、重み付けマッチングモードでは、注目シンボルが、重み付け対象シンボルでない場合には、検索結果対象単語列のベクトル代用情報の中に、注目シンボルに一致する発音シンボルが存在すれば、内積VUTR・VTITLE(i)は、通常モードと同様に、1だけインクリメントされる。
また、注目シンボルが、重み付け対象シンボルである場合には、検索結果対象単語列のベクトル代用情報の中に、注目シンボルに一致する発音シンボルが存在すれば、内積VUTR・VTITLE(i)は、通常モードの場合のインクリメント量である1に、重みを付した値(例えば、2等の、1より大きな値)だけインクリメントされる。
その結果、重み付けマッチングモードでは、入力音声の音声認識結果の認識結果発音シンボル列のうちの、ユーザが強調して発話を行った強調部分の発音シンボル(重み付け対象シンボル)と同一の発音シンボルを、検索結果対象発音シンボル列の中に含む検索結果対象単語列の類似度が、通常モードの場合よりも大になり、そのような検索結果対象単語列が、検索結果単語列として得られ易くなる。
図21Bは、入力音声「世界遺産」を、「遺産」を強調して発話した場合に、通常モードと、重み付けマッチングモードとのそれぞれで求められる類似度としてのコサイン距離を示している。
図21Bには、3つの検索結果対象単語列「THE世界遺産」、「世界の空」、及び、「賢者の遺産」のそれぞれについて、通常モードと、重み付けマッチングモードとのそれぞれで求められる、入力音声「世界遺産」(の音声認識結果)との類似度が示されている。
通常モードでは、入力音声「世界遺産」のすべてを含む検索結果対象単語列「THE世界遺産」の類似度は0.926に、入力音声の一部「世界」を含む検索結果対象単語列「世界の空」の類似度は0.500に、入力音声の他の一部「遺産」を含む検索結果対象単語列「賢者の遺産」の類似度は0.463に、それぞれなっている。
したがって、入力音声の一部を含む検索結果対象単語列「世界の空」、及び、「賢者の遺産」については、検索結果対象単語列「世界の空」の類似度(0.500)が、検索結果対象単語列「賢者の遺産」の類似度(0.463)に比較して大きいので、入力音声「世界遺産」の強調部分「遺産」を含まない検索結果対象単語列「世界の空」の方が、入力音声「世界遺産」の強調部分「遺産」を含む検索結果対象単語列「賢者の遺産」に比較して、入力音声「世界遺産」に対する検索結果単語列として得られ易い。
一方、重み付けマッチングモードでは、入力音声「世界遺産」のすべてを含む検索結果対象単語列「THE世界遺産」の類似度は0.949に、入力音声の一部「世界」を含む検索結果対象単語列「世界の空」の類似度は0.378に、入力音声の他の一部「遺産」を含む検索結果対象単語列「賢者の遺産」の類似度は0.556に、それぞれなっている。
したがって、入力音声の一部を含む検索結果対象単語列「世界の空」、及び、「賢者の遺産」については、検索結果対象単語列「世界の空」の類似度(0.378)が、検索結果対象単語列「賢者の遺産」の類似度(0.556)に比較して小さいので、入力音声「世界遺産」の強調部分「遺産」を含む検索結果対象単語列「賢者の遺産」の方が、入力音声「世界遺産」の強調部分「遺産」を含まない検索結果対象単語列「世界の空」に比較して、入力音声「世界遺産」に対する検索結果単語列として得られ易い。
以上のように、重み付けマッチングモードでは、強調部分を含む検索結果対象単語列の類似度が、通常モードの場合よりも大になり、そのような検索結果対象単語列が、検索結果単語列として得られ易くなる。
図22は、入力音声「世界遺産」を、「遺産」を強調して発話した場合に、通常モードと、重み付けマッチングモードとのそれぞれで得られる検索結果単語列を示す図である。
通常モードでは、入力音声「世界遺産」のすべてを含む検索結果対象単語列が、検索結果単語列として得られるとともに、入力音声「世界遺産」のうちの強調部分でない部分「世界」のみを含む検索結果対象単語列と、入力音声「世界遺産」のうちの強調部分「遺産」のみを含む検索結果対象単語列とが、ほぼ均等な数だけ、検索結果単語列として得られる。
一方、重み付けマッチングモードでは、入力音声「世界遺産」のすべてを含む検索結果対象単語列が、通常モードの場合と同様に、検索結果単語列として得られるとともに、入力音声「世界遺産」のうちの強調部分「遺産」のみを含む検索結果対象単語列が、通常モードの場合よりも多く、検索結果単語列として得られる。
逆に言えば、重み付けマッチングモードでは、入力音声「世界遺産」のうちの強調部分でない部分「世界」を含むが、強調部分「遺産」を含まない検索結果対象単語列が、検索結果単語列として得られることを抑えることができる。
[本発明を適用したコンピュータの説明]
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
そこで、図23は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク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のコンピュータ(プロセッサ)により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
すなわち、例えば、音声検索装置10の処理の一部、又は、全部は、LANやインターネット上のサーバに、必要なデータを送信して行ってもらうことが可能である。