図1は、本発明の第1の実施例である音声入力された複合名詞の検索装置1を示すブロック図である。
音声入力された複合名詞の検索装置1は、音声入力部2と、音声認識部3と、音声認識用ソフトウェア3Sと、音声認識結果出力部4と、実在検索語候補リスト作成部5と、対話制御部6と、音声出力部7と、音声出力用ソフトウェア7Sと、システムデータベース8とを有する。
音声入力された複合名詞の検索装置1において、音声入力部2を介して入力された利用者Pの音声が音声認識部3へ送られ、音声認識部3は、入力音声を音声認識処理する際に、システムデータベース8を利用する。また、音声認識部3は、利用者Pによる入力音声について、音声認識用ソフトウェア3Sを利用して、認識処理を実行する。
システムデータベース8は、検索データベース81と、検索補助データベース82と、YES/NOデータベース83とによって構成されている。
検索データベース81は、複数の単名詞で構成されている複合名詞が検索語として登録され、しかも、上記検索語が各単名詞に区切られて登録されているデータベースである。
検索補助データベース82は、検索データベース81に登録されている全検索語を構成する単名詞が、その頻度の高い順に登録され、しかも、この頻度の高い順に登録されている単名詞が、その頻度の高い方から順に、所定の数(検索装置1では500)毎に分割されて、複数の単名詞集合群が形成されているデータベースである。
YES/NOデータベース83は、利用者Pが応答した内容(たとえば、はい/いいえ、YES/NO)を認識するデータベースである。
音声認識用ソフトウェア3Sは、検索装置1の処理の場面に合わせて、検索データベース81または検索補助データベース82を、システムデータベース8から選択するものである。
検索語が音声入力されると、検索補助データベース82を参照し、また、利用者Pへの正誤確認に対する応答を認識する場合は、YES/NOデータベース83が参照される。
また、音声認識部3は、音声認識処理の際に、音声認識用ソフトウェア3Sを使用し、音声出力部7は、音声出力の際に、音声出力用ソフトウェア7Sを使用する。
次に、検索装置1について、より具体的に説明する。
なお、以下の説明では、企業名等、法人名義を確定するサービスの入力インタフェース部分に、音声入力された複合名詞の検索装置1が設けられている場合について説明する。
日本全国の電話帳に掲載されている法人名義は2200万件も存在し、2200万件の中から1つの法人名義を特定するには相当の時間がかかり、したがって、現行の音声認識技術では、対話処理実時間(検索装置と利用者Pとがやりとりする場合、上記利用者Pにストレスまたは不自然さを感じさせない時間)内で法人名義を認識処理することが不可能であり、しかも、この場合、非常に似通ったデータが多いので、認識精度が非常に低い。
図2は、検索データベース81中の法人名義が複合名詞で構成され、この複合名詞が、それを構成する単名詞毎に区切って登録されている具体例を示す図である。
検索データベース81に登録されている法人名義を構成している各名詞の頻度を調べ、単名詞を頻度順に記録し、検索補助データベース82を作成する。つまり、検索補助データベース82は、検索データベース81に登録されている法人名義を構成している各単名詞について、その頻度をカウントし、頻度順に登録してあるデータベースである。
なお、上記2200万件の法人名義を構成する単名詞の総数は、650万種類である。
図3は、検索装置1において、検索補助データベース82の具体例を示す図である。
検索補助データベース82中の単名詞は、検索データベース812登録されている複合名詞を構成する単名詞であり、その使用頻度の高い順に並べられ、使用頻度が高い方から500個づつ取り出し、この500個の名詞を1つの単名詞集合群とする。
使用頻度が最も高い単名詞を含む集合群を、第1の単名詞集合群G1(他の単名詞集合群よりも優先して認識する対象である単名詞集合群)とし、その次に使用頻度が高い単名詞を含む単名詞集合群を、第2の単名詞集合群G2とし、以下、使用頻度が高い順に、第3の単名詞集合群G3、第4の単名詞集合群G4、……とする。
1つの集合群を構成する名詞の数をnとすると、検索装置1では、n=500であり、この数は、次のようにして決められる。つまり、対話処理実時間(検索装置と利用者Pとがやりとりする場合、上記利用者Pにストレスまたは不自然さを感じさせない時間である)内に音声認識用ソフトウェア3Sが処理可能な単名詞の数をTとし、検索データベース81に登録されている全検索語の平均単名詞数をMとすると、n=T/Mである。
具体的には、対話処理実時間内に音声認識用ソフトウェア3Sが処理可能な単名詞の数Tが1500であるとし、検索データベース81に登録されている全検索語の平均単名詞数Mが3であるとすると、n=T/M=1500/3=500である。
なお、単名詞集合群G1、G2、G3、G4、……のそれぞれを構成する単名詞の数nは、500以外の数でもよいが、上記のように、対話処理実時間内に処理可能な単名詞の数T(音声認識用ソフトウェア3Sの性能)と、検索データベース81に登録されている検索語が有する単名詞の数の平均Mとによって定められる。
図4は、検索装置1において、検索語を確定する処理プロセスを具体的に示すフローチャートである。
この前提として、検索データベース81、検索補助データベース82が作成されているとする。
まず、検索したい法人名義(複合名詞)を、単名詞に区切った形で音声入力するように、利用者Pに要求する(S0)。そして、単名詞集合群の順位を示す関数kを1とする。
ここで、複合名詞「横須賀/市民/病院」が検索語として音声入力された場合について考える。まず、音声入力された単名詞「横須賀」、「市民」、「病院」のそれぞれについて、第1の単名詞集合群G1を使用し、音声認識部3が認識処理を行う(S1)。つまり、第1の単名詞集合群G1の範囲内で、音声認識部3が認識処理を行う。そして、音声認識結果出力部4が、その認識結果を出力する。
音声入力された単名詞「横須賀」、「市民」、「病院」のうちで、単名詞「横須賀」、「病院」は、第1の単名詞集合群G1に含まれているが、「市民」の頻度順位は、図3に示すように、頻度順位790位であるので、第1の単名詞集合群G1には含まれ図、第2の単名詞集合群G2に含まれている。
図5は、検索装置1において、音声入力された検索語(複合名詞)を構成する各単名詞に対する認識結果と、その認識尤度とが対応している認識結果リストの具体例を示す図である。
1つの単名詞が音声入力されると、この音声入力された単名詞に対する複数の構成名詞候補と、これら複数の構成名詞候補のそれぞれに対する認識尤度とを、音声認識結果出力部4が出力し、この出力された構成名詞候補と認識尤度とを対応させて、認識結果リストを作成する(S1)。このようにして作成された認識結果リストが、図5に示されている。
たとえば、単名詞「横須賀」を音声入力すると、この入力された音声を、音声認識部3が、図5に示すように、「横須賀」、「横浜」、「須加浜」、「横横」、……と認識し、「横須賀」の認識尤度が97であり、「横浜」の認識尤度が90であり、「須加浜」の認識尤度が89であり、「横横」の認識尤度が80である。
なお、構成名詞候補についての認識尤度は、検索データベース81を作るときに、予め定められている。
ここで、認識尤度が所定の閾値以上である構成名詞候補を、有力構成名詞候補とする。なお、検索装置1では、上記所定の閾値を80とする。つまり、認識尤度が80以上である構成名詞候補が、有力構成名詞候補である。
そして、図5に示す各認識結果から、認識尤度が80以上である単名詞を、有力構成名詞候補として選択する(S2)。
図5に示すように、音声入力された単名詞「横須賀」については、「横須賀」、「横浜」、「須加浜」、「横々」の4候補が有力構成名詞候補として選択され、音声入力された単名詞「市民」ついては、「市立」の1つの候補が有力構成名詞候補として選択され、音声入力された単名詞「病院」については、「病院」、「美容院」の2候補が有力構成名詞候補として選択される。これら有力構成名詞候補を利用し、実在検索語候補リストを作成する(S3)。なお、実在検索語候補リストは、検索データベース81に実在する検索語のうちで、利用者Pに提示し、確認を求める検索語の候補を集めたリストである。
ところで、補助データベース82における単名詞「市民」の頻度順位は、図2に示すように、790位であるので、第1の単名詞集合群G1には、単名詞「市民」が含まれていない。したがって、図5に示す「市民」に対する認識結果には、単名詞「市民」が含まれていない。
図6は、検索装置1において、実在検索語候補リスト作成の様子を示す図である。
図5に示す認識結果のうちで認識尤度が80以上である単名詞を組み合わせた場合、この組み合わせのうちで、検索データベース81に登録されている単名詞の組み合わせは、「横須賀/市立/病院」と「横浜/市立/病院」との2つの組み合わせであり、この2つの組み合わせが、検索データベース81に実在する検索語候補である実在検索語候補として選択される。このようにして選択された実在検索語候補をリスト化すると、図6の下部に示す実在検索語候補リストが作成される(S3)。
検索装置1において、検索語認識尤度は、図6に示すように、各単名詞の認識尤度を加算したものである。なお、検索語認識尤度を算出する場合、各単名詞の認識尤度を乗算するようにしてもよい。
そして、実在検索語候補リストの中に、利用者Pによる確認処理のみで検索語を確定することができる条件を満たす候補が存在する否かを、判断する(S21)。
ここで、検索語認識尤度の閾値が予め定められ、所定の検索語候補の検索語認識尤度が、検索語認識尤度の閾値を越えていれば、その検索語候補は、利用者Pによる確認処理のみで検索語を確定することができる条件を満たしていると判断する。なお、検索装置1においては、上記検索語認識尤度の閾値が270であると定められているとする。
そして、検索語候補を利用者Pにディスプレイ等で提示し、確認を求め(S22)、利用者PがYESの応答をすれば(S23)、検索処理を終了する。
図6に示す実在検索語候補リスト中の検索語候補は、それらのどれも、検索語認識尤度の閾値270を越えないので、図6に示す実在検索語候補リスト中の検索語候補は、全て、利用者Pによる確認処理のみでは検索語を確定することができない。
このように検索語を確定することができない場合に備えて、第2の単名詞集合群G2の範囲で単名詞の認識、認識尤度の算出等の処理を、予め実行しておく。すなわち、検索語候補を利用者Pにディスプレイ等で提示し、確認を求める処理(S22)および利用者Pによる応答(S23)と並行して、第2の単名詞集合群G2の範囲で単名詞の認識、認識尤度の算出(S12)、有力構成名詞候補の再選出(S13)、実在検索語候補リストの更新(S14)を実行する。
つまり、まず、単名詞集合群の順位を示す関数kを1インクリメントし(S11)、k=2とし、認識処理が終了した第1の単名詞集合群G1の次に使用頻度が高い第2の単名詞集合群G2(頻度順位が500位〜1,000位である単名詞によって構成されている単名詞集合群)の範囲で、認識し、この認識結果を利用し、有力構成名詞候補の再抽出を試みる(S12、S13、S14)。
図4に示すフローチャートにおいて、ステップS3の後に、ステップ21に進むルートとは別に、ステップS11に進むルートが破線で示されている。これは、ステップS21〜S23のルーチンと、ステップS11〜S15のルーチンとが並行処理されるという意味である。つまり、第1の単名詞集合群G1について利用者Pとの対話処理(S21〜S23)が実行されている間に、第2の単名詞集合群G2について、有力構成名詞候補の再選出、実在検索語候補リストの更新等(S11〜S15)が実行される。
また、その後に、必要であれば、第2の単名詞集合群G2について利用者Pとの対話処理(S21〜S23)が実行されている間に、第3の単名詞集合群G3について、有力構成名詞候補の再選出、実在検索語候補リストの更新等(S11〜S15)が実行され、さらに、第3の単名詞集合群G3について利用者Pとの対話処理(S21〜S23)が実行されている間に、第4の単名詞集合群G4について、有力構成名詞候補の再選出、実在検索語候補リストの更新等(S11〜S15)が実行される。これらの並行処理が、必要に応じて、さらに繰り返される。
図7は、検索装置1において、更新された認識結果リストの具体例を示す図である。
図7では、第2の単名詞集合群G2の範囲で認識された認識結果が追加され、有力構成名詞候補が更新されたリストが示されている。
なお、図2に示すように、補助データベース82における単名詞「市民」の頻度順位は、790位であるので、第2の単名詞集合群G2に単名詞「市民」が含まれ、したがって、図7に示す更新された認識結果リストには、音声入力された単名詞「市民」に対する認識結果の中に、有力構成名詞候補として、「市民」が含まれている。
図8は、検索装置1において、実在検索語候補リストを作成する処理を実行した結果、得られる実在検索語候補リストを示す図である。
実在検索語候補リストを作成する処理を実行した結果、図8に示す実在検索語候補リストが得られ、上記閾値270を越える検索語認識尤度を有している検索語候補は、「横須賀/市民/病院」、「横浜/市民/病院」であり、これらのうちの「横須賀/市民/病院」について、利用者Pに提示し、その正誤確認を行う(S22)。
正誤確認において、利用者Pから肯定を示す応答(YES)が得られると(S23)、検索語が確定されたものとして処理を終了する。
ところで、音声認識対象語彙数が大規模であり、しかも、似通った語彙が多い場合、従来の音声認識技術では認識処理時間が長くなるので、従来例では、利用者Pが音声入力した検索語を、その利用者Pにストレスを与えずに一定時間内で検索することは、非常に困難であり、また、認識装置の精度の低下が避けられない。
そこで、検索装置1では、検索対象(検索語)を、単名詞の羅列からなる複合名詞だけに限定し、単名詞で1つづつ区切って、検索語を入力するように利用者Pに指示し、利用者Pが入力した各単名詞について、検索語を構成する単名詞を使用頻度順に保持している検索補助データベース82を認識対象として認識処理する。この点が、検索装置1の特徴である。
検索データベース81に登録されている検索語の総数よりも、検索補助データベース82に登録されている単名詞の総数が少ないことが期待されるが、検索補助データベース82に登録されている単名詞の総数は、対話処理実時間内で処理不可能な数である場合が多い。このように、検索補助データベース82に登録されている単名詞の総数が、対話処理実時間内で処理不可能な数であり、しかも、検索補助データベース82に登録されている単名詞を一度に処理しようとすれば、利用者Pを待機させざるを得ない。
そこで、検索装置1では、検索補助データベース82中の単名詞を、使用頻度順に並べ、これを、対話処理実時間内で処理可能な一定の所定数づつに分割して、複数の単名詞集合群を構成し、使用頻度の高い単名詞順に認識処理を行い、各単名詞集合群に対する認識結果を検索語候補選定対話する時間に、残りの単名詞集合群に対する認識処理を行う。これによって、1つの検索語について1回目の検索語候補選定対話が終わると、直ちに、2回目の検索語候補選定対話が行われ、必要ならば、3回目、4回目、……の検索語候補選定対話が引き続いておこなわれるので、利用者Pを待機させる暇がない。
すわなち、検索装置1の内部の処理状況を利用者Pが一切見ることができないので、あたかも、検索データベース81に登録されている検索語を一括して認識処理を行っているかのように見える。
また、検索装置1によれば、各単名詞に対する認識結果から、有力構成名詞候補を選択し、これら選択された有力構成名詞候補の全組み合わせの中から、検索データベース81に実在する検索語候補のみを選択し、利用者Pによる確認処理のみで確定できる条件を満たすと判断できる検索語候補を、利用者Pに提示をする。したがって、検索装置1では、存在確率が高い検索語順に、認識結果を抽出することができる。
すなわち、検索装置1では、1回で認識処理する単名詞の数を絞ることによって、利用者Pを待機させることがなく、しかも、使用される頻度の高い単名詞から順に、認識処理することによって、存在確率が高い検索語順に、認識結果を抽出することができる。
換言すれば、検索装置1では、音声認識を利用して複合名詞を検索する場合、認識対象が大多数であることから生じる認識処理時間の長さを利用者Pに感じさせず、誤認識によって正誤確認の繰り返しを余儀なくさせることによるストレスを、利用者Pに感じさせず、しかも、高精度な自然性を備えている。
図9は、検索装置1における検索データベース81を一般的に示す図である。
検索データベース81は、対話処理実時間内で音声認識処理が不可能な数の検索語を保持し、各検索語は、単名詞に分割された形で登録されている。
つまり、たとえば検索語である複合名詞N1は、単名詞n1、n2、n3によって構成され、検索データベース81には、複合名詞N1として、単名詞n1、n2、n3が、単名詞毎に区切られた状態で登録されている。
図10は、検索補助データベース82を一般的に示す図である。
検索補助データベース82は、検索データベース81に登録されている全検索語を構成する各単名詞の使用頻度をそれぞれ算出し、単名詞を頻度順に並べた状態で登録しているデータベースである。
検索補助データベース82が登録している単名詞の数は、検索データベース81の検索語数よりも少ないことが予想されるが、対話処理実時間内には処理不可能な数で構成される。
検索補助データベース82では、頻度が高い順に単名詞が並べられ(序列化し)、予め定められた対話処理実時間内に処理可能な単名詞の数づつ、単名詞を分割し(単名詞の上記序列を分割し)、単名詞集合群を形成した状態で登録されている。最も頻度の高い単名詞を含む単名詞集合群を、第1の単名詞集合群G1という。
また、検索装置1を、記録媒体の発明として把握することができる。
つまり、検索装置1は、複数の単名詞で構成されている複合名詞が検索語として登録され、しかも、上記検索語が各単名詞に区切られて登録されている検索データベースを作成する検索データベース作成手順と、上記検索データベースに登録されている全検索語を構成する単名詞が、その頻度の高い順に登録され、しかも、この頻度の高い順に登録されている単名詞が、その頻度の高い方から順に、所定の数毎に分割されて、複数の単名詞集合群が形成されている検索補助データベースを作成する検索補助データベース作成手順と、利用者Pが上記検索語を単名詞毎に入力すると、上記入力された単名詞毎に、上記複数の単名詞集合群のうちで、最も頻度が高い単名詞を含む第1の単名詞集合群の範囲内で認識処理し、認識尤度を対応させて、認識結果リストを作成する認識結果リスト作成手順と、上記認識処理された単名詞である構成名詞候補と、上記構成名詞候補についての認識尤度との組が認識尤度順に並べられている認識結果リストを、上記音声入力された単名詞のそれぞれついて作成し、上記認識結果リストに記載されている構成名詞候補のうちで、所定の閾値を超える認識尤度を具備する構成名詞候補を、有力構成名詞候補として選出する有力構成名詞候補選出手順と、上記有力構成名詞候補の全組み合わせの中から、上記検索データベースに実在する検索語のみを選択し、各有力構成名詞候補の認識尤度に所定の演算を行い、検索語認識尤度を算出し、この算出された検索語認識尤度の大きい順に並べた実在検索語候補リストを作成する実在検索語候補リスト作成手順と、上記実在検索語候補リスト中の検索語候補が、利用者Pによる確認処理のみで検索語を特定することができる条件を満たす場合は、上記利用者Pとの間で必要な対話を実行し、検索語を確定する検索語候補選定対話手順とをコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体の例である。
なお、上記記録媒体として、FD、CD、DVD、HD、半導体メモリ等が考えられる。
なお、商品配送サービスや、電話番号検索や郵便番号検索等における入力インタフェース部分において、検索装置1で行った法人名義の確定作業を、幅広く適用することができる。
図11は、本発明の第2の実施例である音声入力された複合名詞の検索装置101を示すブロック図である。
音声入力された複合名詞の検索装置101は、音声入力部102と、音声認識部103と、音声認識用ソフトウェア103Sと、音声認識結果出力部104と、実在検索語候補リスト作成部105と、対話制御部106と、音声出力部107と、音声出力用ソフトウェア107Sと、システムデータベース108とを有する。
音声入力された複合名詞の検索装置101において、音声入力部102を介して入力された利用者Pの音声が音声認識部103へ送られ、音声認識部103は、入力音声を音声認識処理する際に、システムデータベース108を利用する。また、音声認識部103は、利用者Pによる入力音声について、音声認識用ソフトウェア103Sを利用して、認識処理を実行する。
システムデータベース108は、検索データベース181と、検索補助データベース182と、YES/NOデータベース183とによって構成されている。
検索データベース181は、複数の単名詞で構成されている複合名詞が検索語として登録され、しかも、上記検索語が各単名詞に区切られて登録されているデータベースである。
検索補助データベース182は、登録されている各複合名詞のn番目(nは整数値)に表記されている単名詞を集めた群を、n番目表記の単名詞集合群と呼び、上記n番目表記の単名詞集合群が、その頻度の高い順に登録され、しかも、この頻度の高い順に登録されている単名詞が、その頻度の高い方から順に、所定の数(第2の実施例では500個)毎にまとめられ、複数のサブ集合群が形成されている検索補助データベースである。
YES/NOデータベース183は、利用者Pが応答した内容(たとえば、はい/いいえ、YES/NO)を認識するデータベースである。
音声認識用ソフトウェア103Sは、検索装置101の処理の場面に合わせて、検索データベース181または検索補助データベース182を、システムデータベース108から選択するものである。
検索語が音声入力されると、検索補助データベース182を参照し、また、利用者Pへの正誤確認に対する応答を認識する場合は、YES/NOデータベース183が参照される。
また、音声認識部103は、音声認識処理の際に、音声認識用ソフトウェア103Sを使用し、音声出力部107は、音声出力の際に、音声出力用ソフトウェア107Sを使用する。
次に、第2の実施例について、より具体的に説明する。
なお、以下の説明では、企業名等、法人名義を確定するサービスの入力インタフェース部分に、音声入力された複合名詞の検索装置101が設けられている場合について説明する。
日本全国の電話帳に掲載されている法人名義は2200万件も存在し、2200万件の中から1つの法人名義を、入力した音声に基づいて、特定するには相当の時間がかかり、したがって、現行の音声認識技術では、対話処理実時間(検索装置と利用者Pとがやりとりする場合、上記利用者Pにストレスまたは不自然さを感じさせない時間)内で法人名義を認識処理することが不可能であり、しかも、この場合、非常に似通ったデータが多いので、認識精度が非常に低い。
図12は、第2の実施例において、検索データベース181中の法人名義が複合名詞で構成され、この複合名詞が、それを構成する単名詞毎に区切って登録されている具体例を示す図である。
検索データベース181に登録されている法人名義を構成している各名詞の頻度を調べ、単名詞を頻度順に記録し、検索補助データベース182を作成する。
なお、上記2200万件の法人名義を構成する単名詞の総数は、650万種類である。また、法人名義2,200万件を構成する名詞のうち、1番目表記の単名詞(法人名義中の第1単語目に位置する単名詞)の総数は、約360万種類であり、2番目表記の単名詞(法人名義中の第2単語目に位置する単名詞)の総数は、約250万種類であり、3番目表記の単名詞(法人名義中の第3単語目に位置する単名詞)の総数は、約270万種類であり、4番目表記の単名詞(法人名義中の第4単語目に位置する単名詞)の総数は、約100万種類、…(最長構成単語数7)であり、対話処理実時間内では、1つの複合名詞に対する各単名詞の認識処理は不可能であり、精度も低いことが予想される。
図13は、第2の実施例において、検索補助データベース182に格納されているデータの具体例を示す図である。
検索補助データベース182中の単名詞は、検索データベース181に登録されている複合名詞を構成する単名詞であり、複合名詞における表記の順番毎に、単名詞集合群が形成されている。複合名詞における表記の順番が最初である単名詞だけを集めて、1番目表記の単名詞集合群Ga1が形成され、1番目表記の単名詞集合群Ga1において、その使用頻度の高い順に単名詞が登録され、しかも、これら登録されている単名詞が、その頻度の高い方から順に、500個の単名詞毎にまとめられ、複数のサブ集合群が形成され、頻度の高い順に、第1サブ集合群Ga1−1、第2サブ集合群Ga1−2、……、第mサブ集合群Ga1−mが形成されている。
なお、使用頻度が最も高い単名詞を含む第1サブ集合群Ga1−1は、他のサブ集合群Ga1−2〜Ga1−mよりも優先して認識する対象である。
また、複合名詞における表記の順番が2番目である単名詞だけを集めて、2番目表記の単名詞集合群Ga2が形成され、2番目表記の単名詞集合群Ga2において、その使用頻度の高い順に単名詞が登録され、しかも、これら登録されている単名詞が、その頻度の高い方から順に、500個の単名詞毎にまとめられ、複数のサブ集合群が形成され、頻度の高い順に、第1サブ集合群Ga2−1、第2サブ集合群Ga2−2、……、第mサブ集合群Ga2−mが形成されている。
なお、使用頻度が最も高い単名詞を含む第1サブ集合群Ga2−1は、他のサブ集合群Ga2−2〜Ga2−mよりも優先して認識する対象である。
以下、上記と同様に、複合名詞における表記の順番がn番目である単名詞だけを集めて、n番目表記の単名詞集合群Ganが形成され、n番目表記の単名詞集合群Ganにおいて、その使用頻度の高い順に単名詞が登録され、しかも、これら登録されている単名詞が、その頻度の高い方から順に、500個の単名詞毎にまとめられ、複数のサブ集合群が形成され、頻度の高い順に、第1サブ集合群Gan1、第2サブ集合群Gan2、……、第nサブ集合群Gan−mが形成されている。
なお、使用頻度が最も高い単名詞を含む第1サブ集合群Gan−1は、他のサブ集合群Gan−2〜Gn−mよりも優先して認識する対象である。
ところで、1つのサブ集合群を構成する名詞の数をNとすると、第2の実施例では、N=500であり、この数は、次のようにして決められる。つまり、対話処理実時間(検索装置と利用者Pとがやりとりする場合、上記利用者Pにストレスまたは不自然さを感じさせない時間である)内に音声認識用ソフトウェア103Sが処理可能な単名詞の数をTとし、検索データベース181に登録されている全検索語の平均単名詞数をMとすると、N=T/Mである。
具体的には、対話処理実時間内に音声認識用ソフトウェア103Sが処理可能な単名詞の数Tが1500であるとし、検索データベース181に登録されている全検索語の平均単名詞数Mが3であるとすると、N=T/M=1500/3=500である。
なお、各サブ集合群Ga1−1〜Gan−mのそれぞれを構成する単名詞の数Nは、500以外の数でもよいが、上記のように、対話処理実時間内に処理可能な単名詞の数T(音声認識用ソフトウェア103Sの性能)と、検索データベース181に登録されている検索語が有する単名詞の数の平均Mとによって定められる。
図14は、第2の実施例において、検索語を確定する処理プロセスを具体的に示すフローチャートである。
この前提として、検索データベース181、検索補助データベース182が作成されているとする。
まず、検索したい法人名義(複合名詞)を、単名詞に区切った形で音声入力するように、利用者Pに要求する(S100)。そして、検索語である複合名詞に関する各単名詞集合群におけるサブ集合群の関数(サブ集合群の順位を示す関数)kを1とする。つまり、サブ集合群の関数k=1であれば、複数のサブ集合群のうちで、サブ集合群Ga1−1、Ga2−1、Ga3−1、……を使用して、各単名詞が認識される。
ここで、複合名詞「横浜/グランド/ホテル」が検索語として音声入力された場合について考える。
まず、音声入力された単名詞「横浜」、「グランド」、「ホテル」のそれぞれについて、1番目表記の単名詞集合群Ga1中の第1サブ集合群Ga1−1、2番目表記の単名詞集合群Ga2中の第1サブ集合群Ga2−1、3番目表記の単名詞集合群Ga3中の第1サブ集合群Ga3−1を使用し、音声認識部103が認識処理を行う(S101)。つまり、音声入力された単名詞「横浜」について、第1サブ集合群Ga1−1の範囲内で認識処理し、音声入力された単名詞「グランド」について、第1サブ集合群Ga2−1の範囲内で認識処理し、音声入力された単名詞「ホテル」について、第1サブ集合群Ga3−1の範囲内で認識処理する。そして、音声認識結果出力部104が、その認識結果を出力する。
音声入力された単名詞「横浜」、「グランド」、「ホテル」のうちで、単名詞「横浜」は、図13に示すように、第1サブ集合群Ga1−1に含まれ、単名詞「ホテル」も、第1サブ集合群Ga3−1に含まれているとする。しかし、単名詞「グランド」の頻度順位は、図13に示すように、頻度順位951位であるので、第1サブ集合群Ga2−1には含まれず、第2サブ集合群Ga2−2に含まれている。
図15は、第2の実施例において、音声入力された検索語(複合名詞)を構成する各単名詞に対する認識結果と、その認識尤度とが対応している認識結果リストの具体例を示す図である。
1つの単名詞が音声入力されると、この音声入力された単名詞に対する複数の構成名詞候補と、これら複数の構成名詞候補のそれぞれに対する認識尤度とを、音声認識結果出力部104が出力し、この出力された構成名詞候補と認識尤度とを対応させて、認識結果リストを作成する(S101)。このようにして作成された認識結果リストが、図15に示されている。
たとえば、単名詞「横浜」を音声入力すると、この入力された音声を、音声認識部103が、図15に示すように、「横浜」、「横須賀」、「横山」、「横山」、……と認識し、「横浜」の認識尤度が95であり、「横須賀」の認識尤度が90であり、「横溝」の認識尤度が81であり、「横山」の認識尤度が75である。
なお、各単名詞についての認識尤度は、その単名詞が音声入力されたときに、音声認識装置3Sが、個々に判断する。
ここで、認識尤度が所定の閾値以上である構成名詞候補を、有力構成名詞候補とする。なお、第2の実施例では、上記所定の閾値を80とする。つまり、認識尤度が80以上である構成名詞候補が、有力構成名詞候補である。上記所定の閾値が80であることは、データベース81、82を作るときに、予め設定されている。
そして、図15に示す各認識結果から、認識尤度が80以上である単名詞を、有力構成名詞候補として選択する(S102)。
図15に示すように、音声入力された単名詞「横浜」については、「横浜」、「横須賀」、「横溝」の3候補が有力構成名詞候補として選択され、音声入力された単名詞「グランド」ついては、有力構成名詞候補として選択されたものがなく、音声入力された単名詞「ホテル」については、「ホテル」、「ホール」の2候補が有力構成名詞候補として選択される。
そして、これら有力構成名詞候補を利用し、実在検索語候補リストを作成する(S103)。なお、実在検索語候補リストは、検索データベース181に実在する検索語のうちで、利用者Pに提示し、確認を求める検索語の候補を集めたリストである。
ところで、2番目表記の単名詞「グランド」の頻度順位は、補助データベース82に格納されている2番目表記の単名詞集合群Ga2において、図12に示すように、951位であるので、2番目表記の単名詞集合群Ga2の第1サブ集合群Ga2−1には、単名詞「グランド」が含まれていない。よって、図15に示す音声入力された単名詞「グランド」に対する認識結果には、単名詞「グランド」が含まれていない。
したがって、実在検索語候補リストを作成するステップ(S103)では、実在検索語候補リストが作成されない。
そして、確認処理のみで検索語特定可能な条件を満たさないので(S121)、サブ集合群の関数kを1インクリメントし(S111)、検索対象のサブ集合群が、Ga1−2、Ga2−2、Ga3−1になり、音声入力された各単名詞について、新たな集合群Ga2−2を使用して、認識し、認識尤度を算出する(S112)。そして、新たに認識した認識結果を追加した状態で(更新された認識結果リストをしようして)、有力構成名詞候補を再選出し(S113)、実在検索語候補リストを更新する(S114)。
図16は、第2の実施例において、更新された認識結果リストの具体例を示す図である。
図16では、第2サブ集合群Ga1−2、Ga2−2、Ga3−2の範囲で認識された認識結果が追加され、有力構成名詞候補が更新されたリストが示されている。
なお、図13に示すように、補助データベース82において、2番目表記の単名詞集合群Ga2における単名詞「グランド」の頻度順位は、951位であるので、第2サブ集合群Ga2−2に単名詞「グランド」が含まれ、したがって、図16に示す更新された認識結果リストには、音声入力された単名詞「グランド」に対する認識結果の中に、有力構成名詞候補として、「グランド」が含まれている。
図17は、第2の実施例において、実在検索語候補リスト作成の様子を示す図である。
有力構成名詞候補を選出できなかった音声入力単名詞「グランド」におけるサブ集合群を新たにして、認識し、この認識結果のうちで認識尤度が80以上である単名詞を組み合わせ、この組み合わせのうちで、検索データベース181に登録されている単名詞の組み合わせは、図17に示すように、「横浜/グランド/ホテル」と「横浜/ゴールド/ホール」との2つの組み合わせであり、この2つの組み合わせが、検索データベース181に実在する検索語候補である実在検索語候補として選択される。このようにして選択された実在検索語候補について、実在検索語候補リストを作成すると、図17の下部に示す実在検索語候補リストが更新される(S114)。
第2の実施例において、検索語認識尤度は、図17に示すように、各単名詞の認識尤度を加算したものである。なお、検索語認識尤度を算出する場合、各単名詞の認識尤度を乗算するようにしてもよい。
そして、実在検索語候補リストの中に、利用者Pによる確認処理のみで検索語を確定することができる条件を満たす候補が存在する否かを、判断する(S121)。
ここで、検索語認識尤度の閾値が予め定められ、所定の検索語候補の検索語認識尤度が、検索語認識尤度の閾値を越えていれば、その検索語候補は、利用者Pによる確認処理のみで検索語を確定することができる条件を満たしていると判断する。なお、第2の実施例においては、上記検索語認識尤度の閾値が280であると定められているとする。
そして、検索語候補を利用者Pにディスプレイ等で提示し、確認を求め(S122)、利用者PがYESの応答をすれば(S123)、検索処理を終了する。
図17に示す実在検索語候補リスト中の検索語候補のうちで1つの候補が、検索語認識尤度の閾値280以上であるという条件を満たすので、図17に示す実在検索語候補リスト中の検索語候補は、利用者Pによる確認処理のみで検索語を確定することができる。
もし、実在検索語候補リスト中の検索語候補のいずれも、検索語認識尤度の閾値280以上であるという条件を満たしていなければ、それら実在検索語候補リスト中の検索語候補は、全て、利用者Pによる確認処理のみでは検索語を確定することができない。
このように検索語を確定することができない場合に備えて、第3サブ集合群Ga1−3、G2−3、G3−3の範囲で単名詞の認識、認識尤度の算出等の処理を、予め実行しておく。すなわち、検索語候補を利用者Pにディスプレイ等で提示し、確認を求める処理(S122)および利用者Pによる応答(S123)と並行して、第3サブ集合群Ga1−3、Ga2−3、Ga3−3の範囲で単名詞の認識、認識尤度の算出(S112)、有力構成名詞候補の再選出(S113)、実在検索語候補リストの更新(S114)を実行する。
つまり、サブ集合群の順位を示す関数kをさらに1インクリメントし(S111)、k=3とし、認識処理が終了した第2サブ集合群の次に使用頻度が高い第3サブ集合群Ga1−3、Ga2−3、Ga3−3(頻度順位が1001位〜1,500位である単名詞によって構成されているサブ集合群Ga1−3、Ga2−3、Ga3−3の範囲で、認識し、この認識結果を利用し、有力構成名詞候補の再抽出を試みる(S112、S113、S114)。
図14に示すフローチャートにおいて、ステップS3の後に、ステップ21に進むルートとは別に、ステップS111に進むルートが破線で示されている。これは、ステップS121〜S123のルーチンと、ステップS111〜S115のルーチンとが並行処理されるという意味である。
つまり、第1サブ集合群Ga1−1、Ga2−1、Ga3−1について利用者Pとの対話処理(S121〜S123)が実行されている間に、第2サブ集合群Ga1−2、Ga2−2、Ga3−2について、有力構成名詞候補の再選出、実在検索語候補リストの更新等(S111〜S115)が実行される。
また、その後に、必要であれば、第2サブ集合群Ga1−2、Ga2−2、Ga3−2について利用者Pとの対話処理(S121〜S123)が実行されている間に、第3サブ集合群Ga1−3、Ga2−3、Ga3−3について、有力構成名詞候補の再選出、実在検索語候補リストの更新等(S111〜S115)が実行され、さらに、第3サブ集合群Ga1−3、Ga2−3、Ga3−3について利用者Pとの対話処理(S121〜S123)が実行されている間に、第4サブ集合群Ga1−4、Ga2−4、Ga3−4について、有力構成名詞候補の再選出、実在検索語候補リストの更新等(S111〜S115)が実行される。これらの並行処理が、必要に応じて、さらに繰り返される。
ところで、音声認識対象語彙数が大規模であり、しかも、似通った語彙が多い場合、従来の音声認識技術では認識処理時間が長くなるので、従来例では、利用者Pが音声入力した検索語を、その利用者Pにストレスを与えずに一定時間内で検索することは、非常に困難であり、また、認識装置の精度の低下が避けられない。
そこで、第2の実施例では、検索対象(検索語)を、単名詞の羅列からなる複合名詞だけに限定し、単名詞で1つづつ区切って、検索語を入力するように利用者Pに指示し、利用者Pが入力した各単名詞について、上記複合名詞において表記されている位置毎に、単名詞集合群が形成され、しかも、上記単名詞集合群毎に、その頻度の高い順に登録され、この頻度の高い順に登録されている複数の単名詞が、その頻度の高い方から順に、所定の数毎にまとめられ、複数のサブ集合群が形成されている検索補助データベースとを有するデータベースを利用して、利用者が音声入力した複合名詞を検索するものである。
上記のように、複合名詞における単名詞の位置に応じて、単名詞毎に、単名詞集合群が形成され、この単名詞集合群が、複数のサブ集合群に分割され、そのうちで、使用頻度が高い単名詞が含まれているものから、認識する点が、第2の実施例の特徴である。
検索データベース181に登録されている検索語の総数よりも、検索補助データベース182に登録されている単名詞の総数が少ないことが期待されるが、検索補助データベース182に登録されている単名詞の総数は、対話処理実時間内で処理不可能な数である場合が多い。このように、検索補助データベース182に登録されている単名詞の総数が、対話処理実時間内で処理不可能な数であり、しかも、検索補助データベース182に登録されている単名詞を一度に処理しようとすれば、利用者Pを待機させざるを得ない。
そこで、第2の実施例では、検索補助データベース182中の単名詞を、使用頻度順に並べ、これを、対話処理実時間内で処理可能な一定の所定数づつに分割して、複数のサブ集合群を構成し、使用頻度の高い単名詞順に認識処理を行い、各サブ集合群に対する認識結果を検索語候補選定対話する時間に、残りのサブ集合群に対する認識処理を行う。これによって、1つの検索語について1回目の検索語候補選定対話が終わると、直ちに、2回目の検索語候補選定対話が行われ、必要ならば、3回目、4回目、……の検索語候補選定対話が引き続いて行われるので、利用者Pを待機させる暇がない。
すなわち、検索装置101の内部の処理状況を利用者Pが一切見ることができないので、あたかも、検索データベース181に登録されている検索語を一括して認識処理を行っているかのように見える。
また、第2の実施例によれば、各単名詞に対する認識結果から、有力構成名詞候補を選択し、これら選択された有力構成名詞候補の全組み合わせの中から、検索データベース181に実在する検索語候補のみを選択し、利用者Pによる確認処理のみで確定できる条件を満たすと判断できる検索語候補を、利用者Pに提示をする。したがって、第2の実施例では、存在確率が高い検索語順に、認識結果を抽出することができる。
すなわち、第2の実施例では、1回で認識処理する単名詞の数を絞ることによって、利用者Pを待機させることがなく、しかも、使用される頻度の高い単名詞から順に、認識処理することによって、存在確率が高い検索語順に、認識結果を抽出することができる。
換言すれば、第2の実施例では、音声認識を利用して複合名詞を検索する場合、認識対象が大多数であることから生じる認識処理時間の長さを利用者Pに感じさせず、誤認識によって正誤確認の繰り返しを余儀なくさせることによるストレスを、利用者Pに感じさせず、しかも、高精度な自然性を備えている。
ところで、複合名詞「横浜/グランド/ホテル」の2番目表記の単名詞(複合名詞における2番目の単名詞)である「グランド」は、全検索語を構成する単名詞の全てを頻度順に並べた場合、2,450番目に位置するので、検索データベース181に格納されている全ての単名詞をその使用頻度順に並べて、500単語ずつの単名詞について認識処理すると、上位から5つ目の500単語の組に初めて出現することになる。この場合、少なくとも、認識処理と実在検索語リスト作成処理とを5回繰り返すことになり、その過程において、検索語認識尤度が規定閾値を超える実在検索語候補が存在した場合は、利用者への提示が行われることになり、利用者Pが違和感を抱く。ところが、第2の実施例では、「横浜/グランド/ホテル」の2番目表記の単名詞(複合名詞における2番目の単名詞)である「グランド」は、2番目表記の単名詞集合群Ga2では、頻度順位が951番目であるので、認識処理と実在検索語リスト作成処理とを2回実行すれば、検索語を確定することができ、利用者Pは違和感を抱かない。
また、第2の実施例を、記録媒体の発明として把握することができる。
つまり、第2の実施例は、複数の単名詞で構成されている複合名詞が検索語として登録され、しかも、上記検索語が各単名詞に区切られて登録されている検索データベースを作成する検索データベース作成手順と、上記登録されている各複合名詞のn番目(nは整数値)に表記されている単名詞の群を、n番目表記の単名詞集合群と呼び、上記n番目表記の単名詞集合群が、その頻度の高い順に登録され、しかも、この頻度の高い順に登録されている単名詞が、その頻度の高い方から順に、所定の数毎にまとめられ、複数のサブ集合群が形成されている検索補助データベースを作成する検索補助データベース作成手順と、利用者が上記検索語である複合語を単名詞毎に入力すると、上記複合名詞のn番目表記の単名詞については、上記n番目表記の単名詞集合群で認識し、しかも上記n番目表記の単名詞集合群のうちで、最も頻度が高い単名詞を含む第1サブ集合群の範囲内で認識処理し、認識尤度を対応させて、認識結果リストを作成する認識結果リスト作成手順と、上記認識処理された単名詞である構成名詞候補と、上記構成名詞候補についての認識尤度との組が認識尤度順に並べられている認識結果リストを、上記音声入力された単名詞のそれぞれついて作成し、上記認識結果リストに記載されている構成名詞候補のうちで、所定の閾値を超える認識尤度を具備する構成名詞候補を、有力構成名詞候補として選出する有力構成名詞候補選出手順と、上記有力構成名詞候補の全組み合わせの中から、上記検索データベースに実在する検索語のみを選択し、各有力構成名詞候補の認識尤度に所定の演算を行い、検索語認識尤度を算出し、この算出された検索語認識尤度の大きい順に並べた実在検索語候補リストを作成する実在検索語候補リスト作成手順と、上記実在検索語候補リスト中の検索語候補が、利用者による確認処理のみで検索語を特定することができる条件を満たす場合は、上記利用者との間で必要な対話を実行し、検索語を確定する検索語候補選定対話手順とをコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体の例である。
ここで、上記記録媒体として、FD、CD、DVD、HD、半導体メモリ等が考えられる。
なお、商品配送サービスや、電話番号検索や郵便番号検索等における入力インタフェース部分において、第2の実施例で行った法人名義の確定作業を、幅広く適用することができる。
図18は、本発明の第3の実施例である音声入力された複合名詞の検索装置201を示すブロック図である。
音声入力された複合名詞の検索装置201は、音声入力部202と、音声認識部203と、音声認識用ソフトウェアを使用する音声認識装置203Sと、音声認識結果出力部204と、音声認識結果リスト作成部204aと、実在検索語候補リスト作成部205と、対話制御部206と、音声出力部207と、音声出力用ソフトウェアを使用する音声出力装置207Sと、システムデータベース208とを有する。
音声入力された複合名詞の検索装置201において、音声入力部202を介して入力された利用者210の音声が音声認識部203へ送られ、音声認識部203は、入力音声を音声認識処理する際に、システムデータベース208を利用する。また、音声認識部203は、利用者210による入力音声について、音声認識装置203Sにおける音声認識用ソフトウェアを利用して、認識処理を実行する。
システムデータベース208は、検索データベース281と、順序順序検索補助データベース282と、逆順検索補助データベース283と、YES/NOデータベース284とによって構成されている。
検索データベース281は、複数の単名詞で構成されている複合名詞が検索語として登録され、しかも、上記検索語が各単名詞に区切られて登録されているデータベースである。
順序検索補助データベース282は、検索データベース281に登録されている各複合名詞のn番目(nは整数値)に位置する単名詞の集合であるn単語目に位置する単名詞集合が、登録されているデータベースであり、上記n単語目に位置する単名詞集合に属する単名詞が、使用頻度の高い単名詞順にしかも所定数(たとえば500)毎に分割されることによって、複数のn番目の単名詞サブ集合が構成されている。
逆順検索補助データベース283は、検索データベース281に登録されている各複合名詞の逆順m単語目(mは整数値)に位置する単名詞の集合である逆順m単語目に位置する単名詞集合が、登録されているデータベースであり、上記逆順m単語目に位置する単名詞集合に属する単名詞が、使用頻度の高い単名詞順にしかも所定数毎に分割されることによって、複数の逆順m単語目の単名詞サブ集合が構成されている。
YES/NOデータベース284は、利用者210が応答した内容(たとえば、はい/いいえ、YES/NO)を認識するデータベースである。
音声認識装置203Sで使用される音声認識用ソフトウェアは、検索装置201の処理の場面に合わせて、検索データベース281、順序検索補助データベース282または逆順検索補助データベース283を、システムデータベース208から選択するものである。
検索語が音声入力されると、順序検索補助データベース282または逆順検索補助データベース283を参照し、また、利用者210への正誤確認に対する応答を認識する場合は、YES/NOデータベース284が参照される。
音声認識部203は、音声認識処理する際に、音声認識用ソフトウェア203Sを使用し、音声出力部207は、音声出力する際に、音声出力用ソフトウェア7Sを使用する。
なお、以下の説明では、企業名等、法人名義を確定するサービスの入力インタフェース部分に、音声入力された複合名詞の検索装置201が設けられている場合について説明する。
ところで、日本全国の電話帳に掲載されている法人名義は2200万件も存在し、2200万件の中から1つの法人名義を特定するには相当の時間がかかり、したがって、現行の音声認識技術では、対話処理実時間(検索装置201と利用者210とがやりとりする場合、上記利用者210にストレスまたは不自然さを感じさせない時間)内で法人名義を認識処理することが不可能であり、しかも、この場合、非常に似通ったデータが多いので、認識精度が非常に低い。
図19は、複合名詞の検索装置201において、検索データベース281中の法人名義が複合名詞で構成され、この複合名詞が、それを構成する単名詞毎に区切って登録されている具体例を示す図である。
検索データベース281に登録されている法人名義を構成している各名詞の頻度を調べ、単名詞を頻度順に記録し、順序検索補助データベース282を作成する。つまり、順序検索補助データベース282は、検索データベース281に登録されている法人名義を構成している各単名詞について、その頻度をカウントし、頻度順に登録してあるデータベースである。
なお、上記2200万件の法人名義を構成する単名詞の総数は、650万種類である。
音声認識部203は、利用者210が、検索語を単名詞毎に区切って音声入力すると、音声入力された複合名詞における1単語目に位置する単名詞(最初から1つ目の単名詞)、2単語目に位置する単名詞(最初から2つ目の単名詞)、……の順で、認識処理を実行するとともに、音声入力された複合名詞における逆順1単語目に位置する単名詞(最後から1つ目の単名詞)、逆順2単語目に位置する単名詞(最後から2つ目の単名詞)、……の順で、認識処理を実行する部分である。
音声認識結果出力部204は、認識結果を音声認識結果リスト作成部204aへ送る部分である。
音声認識結果リスト作成部204aは、順序検索補助データベース282を使用した場合における認識結果と、逆順検索補助データベース283を使用した場合における認識結果とを、単名詞毎に、音声認識装置203Sが算出した認識尤度を利用してマージし、認識結果リストを作成し、実在検索語候補リスト作成部205へ送る部分である。
この時点で、順序検索補助データベース282、逆順検索補助データベース283の中に、まだ認識処理が終了していない単名詞が存在する場合には、音声認識部203は、使用頻度が次に高い単名詞によって構成される単名詞の集合の範囲で認識処理を再びスタートさせ、音声認識結果出力部204は、認識結果を出力し、音声認識結果リスト作成部204aへ送り、認識結果リストを作成し、実在検索語候補リスト作成部205へ送る処理を繰り返す。
実在検索語候補リスト作成部205は、認識結果に基づいて、有力構成名詞候補を選択し、有力構成名詞候補の全ての組み合わせを作成し、検索データベース281を参照しながら、実在する検索語を抽出した実在検索語候補リスト作成し、対話制御部206へ送る部分である。
対話制御部206は、実在検索語候補リストを参照し、実在検索語候補リスト中の検索語候補が、利用者210との確認処理のみで検索語特定可能な所定の条件を満たす場合は、確認処理ガイダンスの出力命令を音声出力部207へ送るものである。
実在検索語候補リスト中の検索語候補が、利用者210との確認処理のみでは検索語特定可能な条件を満たさない場合は、使用頻度が次に高い単名詞の集合について認識処理し、この認識処理結果が得られた有力構成名詞候補を利用して更新実在検索語候補リストを利用し、検索語候補選定対話の実行を繰り返す。
音声出力部207は、確認処理ガイダンス出力命令を受けると、検索語候補と指定された候補の正誤確認を、利用者210に行うガイダンスを出力する。
そして、確認処理ガイダンスに対する応答が、音声入力部202に再び入力されると、音声認識部203は、YES/NOデータベース284を参照し、利用者210の応答を認識し、音声認識結果出力部11が認識結果を出力し、利用者210から肯定を表す応答が得られると、検索語特定が完了した旨を利用者210ヘガイダンスする命令を、対話制御部206が音声出力部207へ送る。
検索語が特定できるまで、実在検索語候補リストの更新と、検索語候補選定対話とを繰り返し、順序検索補助データベース282と逆順検案補助データベース283とに格納されている全ての単名詞の集合に対する認識処理が終了し、実在検索語候補リストの更新が、これ以上不可能な状態になった時点で、対話制御部206は、実在検索語候補リストの上位から、検索語候補を利用者210に提示するガイダンス出力命令を音声出力部207へ送る。
検索装置201は、実在検索語候補リストの更新と検索語候補選定対話とが行われている間に、優先認識対象以外の単名詞のうちの少なくとも1集合に対して、認識処理が終了しているように、上記1集合を構成する単名詞の数を規定する。
次に、複合名詞の検索装置201における検索語確定の処理プロセスについて具体的に説明する。
図20は、複合名詞の検索装置201における順序検索補助データベース282の具体例を示す図である。
順序検索補助データベース282に格納されている複数の単名詞は、n単語目に位置する単名詞集合Gbnに分割され、つまり、1単語目に位置する単名詞集合Gb1と、2単語目に位置する単名詞集合Gb2と、3単語目に位置する単名詞集合Gb3と、……に分類されている。
また、n単語目に位置する単名詞集合に属する単名詞が、使用頻度の高い単名詞順に500個毎に分割されることによって、複数のn番目の単名詞サブ集合が構成され、つまり、1単語目に位置する単名詞集合Gb1は、使用頻度の高い単名詞順に500個毎に、単名詞サブ集合Gb1−1と、単名詞サブ集合Gb1−2と、単名詞サブ集合Gb1−3と、……に分割され、2単語目に位置する単名詞集合Gb2は、使用頻度の高い単名詞順に500個毎に、単名詞サブ集合Gb2−1と、単名詞サブ集合Gb2−2と、単名詞サブ集合Gb2−3と、……に分割されている。
なお、上記分割する場合における数cとして、複合名詞の検索装置201では、500を設定しているが、上記分割する場合の数cは、使用する音声認識装置203Sの性能によって規定される。
図21は、複合名詞の検索装置201における逆順検索補助データベース283の具体例を示す図である。
逆順検索補助データベース283に格納されている複数の単名詞は、逆順m単語目に位置する単名詞集合Gbmに分割されている。つまり、音声入力された複合名詞における逆順1単語目に位置する単名詞(最後から1つ目の単名詞)の集合である逆順単名詞集合H1と、音声入力された複合名詞における逆順2単語目に位置する単名詞(最後から2つ目の単名詞)の集合である逆順単名詞集合H2と、音声入力された複合名詞における逆順3単語目に位置する単名詞(最後から3つ目の単名詞)の集合である逆順単名詞集合H3と、……に分類されている。
また、逆順m単語目に位置する単名詞集合に属する単名詞が、使用頻度の高い単名詞順に500個毎に分割されることによって、複数の逆順m単語目に位置する逆順単名詞サブ集合が構成され、つまり、逆順1単語目に位置する逆順単名詞集合H1は、使用頻度の高い単名詞順に500個毎に、逆順単名詞サブ集合H1−1と、逆順単名詞サブ集合H1−2と、逆順単名詞サブ集合H1−3と、……に分割され、逆順2単語目に位置する逆順単名詞集合H2は、使用頻度の高い単名詞順に500個毎に、逆順単名詞サブ集合H2−1と、逆順単名詞サブ集合H2−2と、逆順単名詞サブ集合H2−3と、……に分割されている。
なお、上記分割する場合における数cとして、複合名詞の検索装置201では、500を設定しているが、上記分割する場合の数cは、使用する音声認識装置203Sの性能によって規定される。
図22は、複合名詞の検索装置201における検索語確定の処理プロセスを示すフローチャートである。
まず、利用者210は、検索目的である法人名義を、単名詞に区切って音声入力する(S200)。複合名詞の検索装置201では「横須賀/セントラル/ホテル」が検索語として入力された場合について考える。
ここで、複合名詞を構成する単名詞が、その複数名詞において何単語目に位置するかを示す変数nとして、「1」を設定し、そのn単語目に位置する単名詞集合Gbnを構成する単名詞サブ集合Gbn−pにおける順位(使用頻度の高さを示す順位)の変数pとして、「1」を設定する(S201)。
そして、「横須賀」、「セントラル」、「ホテル」のそれぞれに対して、単名詞サブ集合Gb1−1、単名詞サブ集合Gb2−1、単名詞サブ集合Gb3−1について、認識処理を行う(S202、S203)。続いて、単名詞毎に、認識尤度を対応させて、順序検索した場合における認識結果リストを作成する(S204)。続いて、認識尤度が80以上である単名詞を、有力構成名詞候補として選出する(S205)。
上記「有力構成名詞候補」は、認識尤度が所定の閾値以上である構成名詞候補であり、複合名詞の検索装置201では、上記閾値を80とする。つまり、認識尤度が80以上である構成名詞候補が、有力構成名詞候補である。なお、有力構成名詞候補を選択する場合に使用する認識尤度は、検索データベース281を作るときに、予め定められている。
図23は、複合名詞の検索装置201において、順序検索した場合における認識結果リストの具体例を示す図である。
なお、「順序検索」は、順序検索補助データベース282を使用して、音声入力された複合名詞におけるn単語目に位置する単名詞を、n単語目に位置する単名詞集合Gbnの範囲で認識し、検索する動作である。、
また、後述の「逆順検索」は、逆順検索補助データベース283を使用して、音声入力された複合名詞における逆順m単語目に位置する単名詞を、逆順m単語目に位置する単名詞集合Gbmの範囲で認識し、検索する動作である。
一方、上記順序検索における認識動作と並行して、逆順検索における認識動作が行われる。
つまり、複合名詞を構成する単名詞が、その複数名詞における逆順で何番目であるかを示す変数mとして、「1」を設定し、その逆順m単語目に位置する単名詞集合Gbmを構成する単名詞サブ集合Gbm−qにおける順位(使用頻度の高さを示す順位)の変数qとして、「1」を設定する(S211)。
そして、「横須賀」、「セントラル」、「ホテル」のそれぞれに対して、逆順単名詞サブ集合H1−1、逆順単名詞サブ集合H2−1、逆順単名詞サブ集合H3−1について、認識処理を行う(S212、S213)。続いて、単名詞毎に、認識尤度を対応させて、逆順検索した場合における認識結果リストを作成する(S214)。そして、認識尤度が80以上である単名詞を、有力構成名詞候補として選出する(S215)。
複合名詞の検索装置201において、上記のように、順序検索における認識動作と並行して、逆順検索における認識動作が行われるが、この場合、順序検索(S201〜S205)を1つのCPUで実行し、逆順検索(S211〜S215)を別のCPUで実行するようにしてもよく、または、1つのCPUで、順序検索(S201〜S205)と逆順検索(S211〜S215)とを実行するようにしてもよい。
図24は、複合名詞の検索装置201において、逆順検索した場合における認識結果リストの具体例を示す図である。
順序検索補助データベース282における使用頻度順位は、音声入力した複合名詞における1単語目に位置する単名詞「横須賀」は、図20に示すように、420位であり、同2単語目に位置する単名詞「セントラル」は、1250位であり、同3単語目に位置する単名詞「ホテル」は、892位である。「セントラル」、「ホテル」は、500位以下であるので、優先認識対象である単名詞サブ集合Gb2−1、Gb3−1には含まれず、最初に認識する対象ではない。
ところが、逆順検索補助データベース283における使用頻度順位は、音声入力した複合名詞における逆順2単語目に位置する単名詞「セントラル」は、図21に示すように、9位であり、同逆順1単語目の単名詞「ホテル」は、1位であるので、逆順単名詞サブ集合H2−1、H1−1に含まれ、優先認識対象であり、順序検索する場合よりも、早く認識される。
図25は、複合名詞の検索装置201において、順序検索した場合における認識結果と、逆順検索した場合における認識結果とをマージした場合における認識結果リストの具体例を示す図である。
図23に示す順序検索した場合における認識結果と、図24に示す逆順検索した場合における認識結果とをマージする(S221)と、図25に示すように、統合された認識結果リストができ上がり、有力構成名詞候補を選択する。
複合名詞の検索装置201では、認識尤度が80以上である単名詞を、有力構成名詞候補と定め、これによって、図25に示すように、音声入力された単名詞「横須賀」に対して、「横浜」、「横須賀」の2候補が有力構成名詞候補として選択され、音声入力された単名詞「セントラル」に対して、「セントラル」が有力構成名詞候補として選択され、音声入力された単名詞「ホテル」に対して、「ホテル」、「ホール」の2候補が有力構成名詞候補として選択される。
図26は、複合名詞の検索装置201において、実在検索語候補リスト作成直前の状態を示す図である。
検索装置201は、図25に示すマージされた認識結果における有力構成名詞候補を利用し、実在検索語リスト作成処理を行う(S222)。
検索装置201は、有力構成名詞候補の全組み合わせと、検索データベース281に格納されている複合名詞とに基づいて、図26に示すように、実在する検索語候補をリストアップする。
複合名詞の検索装置201では、「横須賀/セントラル/ホテル」(検索語認識尤度90+95+95=280)が、実在検索語候補としてリストアップされる。複合名詞の検索装置201において、検索語認識尤度は、図26に示すように、各単名詞の認識尤度を加算する方式で計算する。
複合名詞の検索装置201において、利用者210との確認処理のみで検索語確定可能か否かの判断(S223)の基準は、複合名詞の検索装置201が予め規定した閾値と上記検索語認識尤度とを比較し、上記規定した閾値を越える検索語認識尤度を持つ検索語候補は、「確認処理のみで検索語確定可能な条件を満たす」と判断する。
なお、実在検索語候補リストは、検索データベース281に実在する検索語のうちで、利用者210に提示し、確認を求める検索語の候補を集めたリストである。
複合名詞の検索装置201では、検索語認識尤度に対する規定閾値を280と定める。複合名詞の検索装置201において、検索語認識尤度が280以上の検索語候補である「横須賀/セントラル/ホテル」が実在検索語リストから選択され、利用者210に提示される(S224)。正誤確認に対して利用者210から肯定を示す応答が得られると(S225)、検索語を確定することができたとして処理を終了する。
ところで、検索語である複合名詞を構成する単名詞の数が3、4、5、……、8であると仮定した場合、つまり、最多単名詞数が8であると仮定した場合、複合名詞の逆順1番目の単名詞(末尾の単名詞)として使用される可能性が高い「ホテル」、「銀行」、「センター」等の単名詞は、複合名詞が3つの単名詞で構成されていれば、3単語目に位置する単名詞としてカウントされ、複合名詞が4つの単名詞で構成されていれば、4単語目に位置する単名詞としてカウントされるので、使用されている「ホテル」、「銀行」、「センター」の単名詞の99%が、逆順1番目の単名詞(末尾の単名詞)として使用されているとしても、頻度統計は分散する。したがって、図20に示すように、「ホテル」、「銀行」、「センター」は、使用頻度の高い優先認識対象にはならず、このために、迅速な検索が行われないことが多い。
ところが、複合名詞の検索装置201において、末尾から数えた単名詞の位置(逆順番目)毎に頻度統計をカウントして、逆順検索補助データベース282に格納されるので、図21に示すように、末尾から1番目に使用される頻度が高い単名詞の集合である逆順1単語目に位置する逆順単名詞集合H1として、「ホテル」、「銀行」、「センター」等が登録され、優先認識対象となる。また、末尾から2番目に使用される頻度が高い単名詞の集合である逆順2単語目に位置する逆順単名詞集合H2として、「セントラル」「グランド」等が登録される。したがって、複合名詞の検索装置201では、短時間で認識動作が実行される。
また、複合名詞の検索装置201において、実在検索語リスト作成処理(S222)と同時に、単名詞サブ集合Gbn−2、逆順単名詞サブ集合Hm−2について、認識処理をスタートするようにしてもよい。つまり、検索語候補を利用者210に提示し、確認を求めている(S224)間に、使用頻度が次に高い単名詞の範囲で認識を行うと、利用者210から見れば、認識する動作の合間に、何もせずに待つ必要がなく、認識動作をしないで、検索語候補が次々と提示されているように思える。
検索装置201からの質問と、この質問に対する利用者210からの応答とを、1ターンとした場合、複合名詞の検索装置201では、利用者210との間で、できる限り少ない対話ターン数で、検索語特定を実現することができ、これによって、対話時間の減少を図り、より迅速に検索処理を行うことができる。
複合名詞の検索装置201における検索の基本方針は、検索語を単名詞毎に区切って音声入力し、先頭からの位置を考慮し、単名詞毎に頻度統計の大きい順に、優先的に認識処理を行い、各単名詞に対する認識結果を組み合わせ、実在する検索語のみを選択することによって、認識装置の処理時間と精度の不完全性とを補い、利用者210にストレスを与えずに検索語を特定することである。
上記基本方針に加えて、複合名詞の検索装置201の大きな特徴は、単名詞毎に行う認識処理と並行して、検索語である複合名詞の末尾から数えて、1単語目、2単語目、3単語目、……毎に、頻度統計を調べ、頻度統計順に並べた逆順検索補助データベース283について、音声入力が終了した時点で、優先的に認識処理を行い、各単名詞に対する認識結果を組み合わせ、実在する検索語のみを選択することによって、認識装置の処理時間と精度の不完全性とを補い、利用者210にストレスを与えずに検索語を特定する点である。
また、順序検索補助データベース282を利用した認識結果と、逆順検索補助データベース283を利用した認識結果とをマージするようにし、これによって、認識処理の精度をより向上させることができ、検索時間をさらに短縮することができる。
図27は、本発明の第4の実施例の動作を示すフローチャートである。
第4の実施例は、順序検索を実行せずに、逆順検索のみを実行する実施例である。
図27において、まず、検索語を、単名詞毎に区切って音声入力することを要求し(S230),複合名詞を構成する単名詞が、その複数名詞における逆順で何単語目に位置するかを示す変数mとして、「1」を設定し、その逆順m単語目に位置する逆順単名詞集合Gbmを構成する単名詞サブ集合Gbm−qにおける順番qとして、「1」を設定する(S231)。そして、「横須賀」、「セントラル」、「ホテル」のそれぞれに対して、逆順単名詞サブ集合H1−1、逆順単名詞サブ集合H2−1、逆順単名詞サブ集合H3−1について、認識処理を行う(S232、S233)。続いて、単名詞毎に、認識尤度を対応させて、逆順検索した場合における認識結果リストを作成する(S234)。そして、有力構成名詞候補を選出し(S235)、実在検索語候補リストを作成し(S236)、確認処理のみで検索語を特定可能な条件を満たせば(S237)、検索語候補を利用者に提示し(S238)、利用者による応答がYESであれば(S239)、検索を終了し、一方、確認処理のみで検索語を特定可能な条件を満たす候補が存在しなければ(S237)、使用頻度が次に高い逆順単名詞サブ集合の範囲で認識を行う。
つまり、上記第4の実施例は、音声入力された複合名詞における逆順m単語目に位置する単名詞については、データベースに登録されている各複合名詞の逆順m単語目(mは整数値)に位置する単名詞の集合である逆順m単語目に位置する単名詞集合の範囲で認識する音声入力された複合名詞の検索装置である。
具体的には、上記第4の実施例は、複数の単名詞で構成されている複合名詞が検索語として登録され、しかも、上記検索語が各単名詞に区切られて登録されている検索データベースと、上記登録されている各複合名詞の逆順m単語目(mは整数値)に位置する単名詞の集合である逆順m単語目に位置する単名詞集合が、登録されている逆順検索補助データベースと、利用者が上記検索語である複合名詞を単名詞毎に音声入力し終わると、音声入力された複合名詞の逆順m単語目に位置する単名詞については、上記逆順m単語目に位置する単名詞集合の範囲で認識し、上記認識された単名詞である構成名詞候補と、上記構成名詞候補についての認識尤度との組が認識尤度順に並べられている逆順認識結果リストを作成する逆順認識結果リスト作成手段と、上記逆順認識結果リストを、上記音声入力された単名詞のそれぞれについて作成し、上記逆順認識結果リストに記載されている構成名詞候補のうちで、所定の閾値を超える認識尤度を具備する構成名詞候補を、逆順有力構成名詞候補として選出する逆順有力構成名詞候補選出手段と、上記逆順有力構成名詞候補の全組み合わせのそれぞれについて、上記有力構成名詞候補の認識尤度に所定の演算を行うことによって、検索語認識尤度を算出し、この演算された検索語認識尤度の大きい順に並べた実在検索語候補リストを作成する実在検索語候補リスト作成手段と、上記実在検索語候補のうちで、上記検索語認識尤度が所定の閾値以上である実在検索語について、上記利用者との間で必要な対話を実行し、検索語を確定する検索語候補選定対話手段とを有する音声入力された複合名詞の検索装置である。
なお、上記実施例を、プログラムの実施例として把握することができる。つまり、上記実施例は、複数の単名詞で構成されている複合名詞が検索語として登録され、しかも、上記検索語が各単名詞に区切られて登録されている検索データベースと、上記登録されている各複合名詞の逆順m単語目(mは整数値)に位置する単名詞の集合である逆順m単語目に位置する単名詞集合が、登録されている逆順検索補助データベースとを使用し、音声入力された複合名詞を検索する手順と、利用者が上記検索語である複合名詞を単名詞毎に音声入力し終わると、音声入力された複合名詞の逆順m単語目に位置する単名詞については、上記逆順m単語目に位置する単名詞集合の範囲で認識し、上記認識された単名詞である構成名詞候補と、上記構成名詞候補についての認識尤度との組が認識尤度順に並べられている逆順認識結果リストを作成する逆順認識結果リスト作成手順と、上記逆順認識結果リストを、上記音声入力された単名詞のそれぞれについて作成し、上記逆順認識結果リストに記載されている構成名詞候補のうちで、所定の閾値を超える認識尤度を具備する構成名詞候補を、逆順有力構成名詞候補として選出する逆順有力構成名詞候補選出手順と、上記逆順有力構成名詞候補の全組み合わせのそれぞれについて、上記有力構成名詞候補の認識尤度に所定の演算を行うことによって、検索語認識尤度を算出し、この演算された検索語認識尤度の大きい順に並べた実在検索語候補リストを作成する実在検索語候補リスト作成手順と、上記実在検索語候補のうちで、上記検索語認識尤度が所定の閾値以上である実在検索語について、上記利用者との間で必要な対話を実行し、検索語を確定する検索語候補選定対話手順とをコンピュータに実行させるプログラムの例である。
また、上記プログラムが記録されている記録媒体の実施例として、上記実施例を把握することができる。なお、上記記録媒体として、FD、CD、DVD、HD、半導体メモリ等が考えられる。
なお、商品配送サービスや、電話番号検索や郵便番号検索等における入力インタフェース部分において、上記実施例で行った法人名義の確定作業を、幅広く適用することができる。
上記実施例によれば、先頭からの構成順序のみを考慮するのではなく、末尾に使用される頻度の高い構成名詞、末尾から2単語目に使用される頻度の高い構成名詞というように、頻度をカウントすることによって、同じ末尾に使われていても、構成単語数によって、先頭から数えると異なる単語目にカウントされ、使用頻度上位単語とは認識されない単語を、優先認識対象と捕らえることができる。
なお、上記実施例において、検索語認識尤度は、図26に示すように、各単名詞の認識尤度を加算したものであるが、検索語認識尤度を算出する場合、各単名詞の認識尤度を乗算するようにしてもよい。
また、実在検索語候補リスト中の検索語候補における検索語認識尤度が、その閾値(たとえばその閾値が280であるとする)以上であれば、利用者210による確認処理のみで検索語を確定することができ、逆に、検索語認識尤度が上記閾値未満であれば、利用者210による確認処理のみで検索語を確定することができない。
上記のように検索語を確定することができない場合に備えて、単名詞サブ集合Gb2−p、逆順単名詞サブ集合H2−qの範囲で単名詞の認識、認識尤度の算出等の処理を、予め実行しておくようにしてもよい。すなわち、検索語候補を利用者210にディスプレイ等で提示し、確認を求める処理(S224)および利用者210による応答(S225)と並行して、使用頻度が次に高い単名詞サブ集合、逆順単名詞サブ集合の範囲で単名詞の認識、認識尤度の算出(S202、S212)、有力構成名詞候補の再選出(S204、S214)、実在検索語候補リストの更新(S222)を実行する。
このようにすれば、検索装置201の内部の処理状況を利用者210が一切見ることができないので、利用者210には、あたかも、検索データベース281に登録されている検索語を一括してしかも非常に高速で認識処理を行っているかのように見える。
図28は、本発明の第5の実施例である音声対話型複合名詞の検索装置301を示すブロック図である。
この音声対話型複合名詞の検索装置301は、音声入力部302と、音声認識部303と、音声認識用ソフトウェア303Sと、音声認識結果出力部304と、実在検索語候補リスト作成部305と、対話制御部306と、音声出力部307と、音声出力用ソフトウェア307Sとによって構成されている。
音声入力された複合名詞の検索装置301において、音声入力部302を介して入力された利用者Pの音声が音声認識部303へ送られ、音声認識部303は、入力音声を音声認識処理する際に、システムデータベース308を利用する。また、音声認識部303は、利用者Pによる入力音声について、音声認識用ソフトウェア303Sを利用して、認識処理を実行する。
システムデータベース308は、検索データベース381と、検索補助データベース382と、YES/NOデータベース383とを有する。
検索データベース381は、複数の単名詞で構成されている複合名詞が検索語として登録され、しかも、上記検索語が各単名詞に区切られて登録されているデータベースである。
検索補助データベース382は、登録されている各複合名詞のn番目(nは整数値)に表記されている単名詞の群を、n番目表記の単名詞集合群と呼び、上記n番目表記の単名詞集合群が、その頻度の高い順に登録され、しかも、この頻度の高い順に登録されている単名詞が、その頻度の高い方から順に、所定の数(検索装置301では500個)毎にまとめられ、複数のサブ集合群が形成されているデータベースである。
YES/NOデータベース383は、利用者Pが応答した内容(たとえば、はい/いいえ、YES/NO)を認識するデータベースである。
音声認識用ソフトウェア303Sは、検索装置301の処理の場面に合わせて、検索データベース381または検索補助データベース382を、システムデータベース308から選択するものである。
検索語が音声入力されると、検索補助データベース382を参照し、また、利用者Pへの正誤確認に対する応答を認識する場合は、YES/NOデータベース383が参照される。
また、音声認識部303は、音声認識処理の際に、音声認識用ソフトウェア303Sを使用し、音声出力部307は、音声出力の際に、音声出力用ソフトウェア307Sを使用する。
音声認識結果出力部304は、利用者が検索語である複合語を単名詞毎に入力すると、上記複合名詞のn番目表記の単名詞については、上記n番目表記の単名詞集合群で認識し、しかも上記n番目表記の単名詞集合群のうちで、最も頻度が高い単名詞を含む第1サブ集合群の範囲内で認識処理し、認識尤度を対応させて、認識結果リストを作成する認識結果リスト作成手段の例である。
また、音声認識結果出力部304は、上記認識処理された単名詞である構成名詞候補と、上記構成名詞候補についての認識尤度との組が認識尤度順に並べられている認識結果リストを、上記音声入力された単名詞のそれぞれについて作成し、上記認識結果リストに記載されている構成名詞候補のうちで、所定の第1の閾値を超える認識尤度を具備する構成名詞候補を、有力構成名詞候補として選出する有力構成名詞候補選出手段の例である。
実在検索語候補リスト作成部305は、実在検索語リスト作成部351と、部分一致検索語リスト作成部352とによって構成されている。
実在検索語リスト作成部351は、音声認識結果出力部304が出力した音声認識結果に基づいて、検索データベース381格納されている検索語から、実在検索語を抽出する部分である。
部分一致検索語リスト作成部352は、上記検索語を構成する複数の単名詞のうちで一部の単名詞のみの尤度が上記第1の所定の閾値を超える場合、上記第1の閾値を超える尤度を具備する上記単名詞を備え、上記検索語を構成する単名詞と同じ数の単名詞を備えている部分一致検索語候補を、上記検索データベースから抽出する部分一致検索語候補抽出手段の例である。
また、対話制御部306は、検索語候補選定対話部361と、部分一致検索語候補選定対話部362とによって構成されている。
部分一致検索語候補選定対話部362は、上記抽出された部分一致検索語候補を構成する各単名詞の尤度を所定の演算方法で演算して部分一致尤度を演算する部分一致尤度演算手段の例である。なお、上記部分一致尤度を演算する上記所定の演算方法は、検索装置301では、各単名詞の尤度を加算する方法であるが、上記加算の代わりに、乗算するようにしてもよい。
音声出力部307は、音声出力用ソフトウェア307Sを使用して、音声出力するものである。
なお、音声認識部303は、上記演算された部分一致尤度が、所定の第2の閾値を超えている上記部分一致検索語候補について、音声認識処理を行う部分一致検索語候補用音声認識処理手段の例である。
次に、検索装置301について、より具体的に説明する。
なお、以下の説明では、企業名等、法人名義を確定するサービスの入力インタフェース部分に、音声入力された複合名詞の検索装置301が設けられている場合について説明する。
日本全国の電話帳に掲載されている法人名義は2200万件も存在し、2200万件の中から1つの法人名義を、入力した音声に基づいて、特定するには相当の時間がかかり、したがって、現行の音声認識技術では、対話処理実時間(検索装置と利用者Pとがやりとりする場合、上記利用者Pにストレスまたは不自然さを感じさせない時間)内で法人名義を認識処理することが不可能であり、しかも、この場合、非常に似通ったデータが多いので、認識精度が非常に低い。
図29は、検索装置301において、検索データベース381中の法人名義が複合名詞で構成され、この複合名詞が、それを構成する単名詞毎に区切って登録されている具体例を示す図である。
検索データベース381に登録されている法人名義を構成している各名詞の頻度を調べ、単名詞を頻度順に記録し、検索補助データベース382を作成する。
なお、上記2200万件の法人名義を構成する単名詞の総数は、650万種類である。また、法人名義2,200万件を構成する名詞のうち、1番目表記の単名詞(法人名義中の第1単語目に位置する単名詞)の総数は、約360万種類であり、2番目表記の単名詞(法人名義中の第2単語目に位置する単名詞)の総数は、約250万種類であり、3番目表記の単名詞(法人名義中の第3単語目に位置する単名詞)の総数は、約270万種類であり、4番目表記の単名詞(法人名義中の第4単語目に位置する単名詞)の総数は、約100万種類、…(最長構成単語数7)であり、対話処理実時間内では、1つの複合名詞に対する各単名詞の認識処理は不可能であり、精度も低いことが予想される。
図30は、検索装置301において、検索補助データベース382に格納されているデータの具体例を示す図である。
検索補助データベース382中の単名詞は、検索データベース381に登録されている複合名詞を構成する単名詞であり、複合名詞における表記の順番毎に、単名詞集合群が形成されている。複合名詞における表記の順番が最初である単名詞だけを集めて、1番目表記の単名詞集合群Gc1が形成され、1番目表記の単名詞集合群Gc1において、その使用頻度の高い順に単名詞が登録され、しかも、これら登録されている単名詞が、その頻度の高い方から順に、500個の単名詞毎にまとめられ、複数のサブ集合群が形成され、頻度の高い順に、第1サブ集合群Gc1−1、第2サブ集合群Gc1−2、……、第mサブ集合群Gc1−mが形成されている。
なお、使用頻度が最も高い単名詞を含む第1サブ集合群Gc1−1は、他のサブ集合群Gc1−2、……、Gc1−mよりも優先して認識する対象である。
また、複合名詞における表記の順番が2番目である単名詞だけを集めて、2番目表記の単名詞集合群Gc2が形成され、2番目表記の単名詞集合群Gc2において、その使用頻度の高い順に単名詞が登録され、しかも、これら登録されている単名詞が、その頻度の高い方から順に、500個の単名詞毎にまとめられ、複数のサブ集合群が形成され、頻度の高い順に、第1サブ集合群Gc2−1、第2サブ集合群Gc2−2、……、第mサブ集合群Gc2−mが形成されている。
なお、使用頻度が最も高い単名詞を含む第1サブ集合群Gc2−1は、他のサブ集合群Gc2−2、……、Gc2−mよりも優先して認識する対象である。
以下、上記と同様に、複合名詞における表記の順番がn番目である単名詞だけを集めて、n番目表記の単名詞集合群Gcnが形成され、n番目表記の単名詞集合群Gcnにおいて、その使用頻度の高い順に単名詞が登録され、しかも、これら登録されている単名詞が、その頻度の高い方から順に、500個の単名詞毎にまとめられ、複数のサブ集合群が形成され、頻度の高い順に、第1サブ集合群Gcn1、第2サブ集合群Gcn2、……、第nサブ集合群Gcn−mが形成されている。
なお、使用頻度が最も高い単名詞を含む第1サブ集合群Gcn−1は、他のサブ集合群Gcn−2、……、Gcn−mよりも優先して認識する対象である。
ところで、1つのサブ集合群を構成する名詞の数をNとすると、検索装置301では、N=500であり、この数は、次のようにして決められる。つまり、対話処理実時間(検索装置と利用者Pとがやりとりする場合、上記利用者Pにストレスまたは不自然さを感じさせない時間である)内に音声認識用ソフトウェア303Sが処理可能な単名詞の数をTとし、検索データベース381に登録されている全検索語の平均単名詞数をMとすると、N=T/Mである。
具体的には、対話処理実時間内に音声認識用ソフトウェア303Sが処理可能な単名詞の数Tが1500であるとし、検索データベース381に登録されている全検索語の平均単名詞数Mが3であるとすると、N=T/M=1500/3=500である。
なお、各サブ集合群Gc1−1、……、Gcn−mのそれぞれを構成する単名詞の数Nは、500以外の数でもよいが、上記のように、対話処理実時間内に処理可能な単名詞の数T(音声認識用ソフトウェア303Sの性能)と、検索データベース381に登録されている検索語が有する単名詞の数の平均Mとによって定められる。
次に、検索装置301の動作について説明する。
図31は、検索装置301において、検索語を確定する処理プロセスを具体的に示すフローチャートである。
この前提として、検索データベース381、検索補助データベース382が作成されているとする。
まず、検索したい法人名義(複合名詞)を、単名詞に区切った形で音声入力するように、利用者Pに要求する(S300)。そして、検索語である複合名詞に関する各単名詞集合群におけるサブ集合群の関数(サブ集合群の順位を示す関数)kを1とする。つまり、サブ集合群の関数k=1であれば、複数のサブ集合群のうちで、サブ集合群Gc1−1、Gc2−1、Gc3−1、……を使用して、各単名詞が認識される。
ここで、複合名詞「横浜/東急/ホテル」が検索語として音声入力された場合について考える。
まず、音声入力された単名詞「横浜」、「東急」、「ホテル」について、それぞれ、1番目表記の単名詞集合群Gc1中の第1サブ集合群Gc1−1、2番目表記の単名詞集合群Gc2中の第1サブ集合群Gc2−1、3番目表記の単名詞集合群Gc3中の第1サブ集合群Gc3−1を、使用し、音声認識部303が認識処理を行う(S301)。つまり、音声入力された単名詞「横浜」について、第1サブ集合群Gc1−1の範囲内で認識処理し、音声入力された単名詞「東急」について、第1サブ集合群Gc2−1の範囲内で認識処理し、音声入力された単名詞「ホテル」について、第1サブ集合群Gc3−1の範囲内で認識処理する。そして、音声認識結果出力部304が、その認識結果を出力する。
音声入力された単名詞「横浜」、「東急」、「ホテル」のうちで、単名詞「横浜」は、図30に示すように、第1サブ集合群Gc1−1に含まれており、単名詞「ホテル」が、第1サブ集合群Gc3−1に含まれているとする。ところが、単名詞「東急」の頻度順位は、図30に示すように、頻度順位951位であるので、第1サブ集合群Gc2−1には含まれず、第2サブ集合群Gc2−2に含まれている。
図32は、検索装置301において、音声入力された検索語(複合名詞)を構成する各単名詞に対する認識結果と、その認識尤度とが対応している認識結果リストの具体例を示す図である。
1つの単名詞が音声入力されると、この音声入力された単名詞に対する複数の構成名詞候補と、これら複数の構成名詞候補のそれぞれに対する認識尤度とを、音声認識結果出力部304が出力し、この出力された構成名詞候補と認識尤度とを対応させて、認識結果リストを作成する(S301)。このようにして作成された認識結果リストの具体例を、図32に示してある。
たとえば、単名詞「横浜」を音声入力すると、この入力された音声を、音声認識部303が、図32に示すように、「横浜」、「横須賀」、「横溝」、「横山」、……と認識し、「横浜」の認識尤度が95であり、「横須賀」の認識尤度が90であり、「横溝」の認識尤度が81であり、「横山」の認識尤度が75である。
なお、各単名詞についての認識尤度は、その単名詞が音声入力されたときに、音声認識用ソフトウェア303Sが、個々に判断する。
ここで、認識尤度が所定の閾値以上である構成名詞候補を、有力構成名詞候補とする。なお、検索装置301では、上記所定の閾値を80とする。つまり、認識尤度が80以上である構成名詞候補が、有力構成名詞候補である。上記所定の閾値が80であることは、データベース81、82を作るときに、予め設定されている。
そして、図32に示す各認識結果から、認識尤度が80以上である単名詞を、有力構成名詞候補として選択する(S302)。
この時点で、各検索補助データベース382中に、認識処理がまだ終了していない第1サブ集合群が存在する場合、音声認識部2は、第1サブ集合群に対する認識処理を再びスタートさせ、音声認識結果出力部3は、認識結果を出力し、検索語候補リスト作成部305へ送る処理を繰り返す。
検索語候補リスト作成部305において、実在検索語候補リスト作成部3051は、認識結果に基づいて、有力構成名詞候補を選択し、有力構成名詞候補の全ての組み合わせを作成し、検索データベース381を参照しながら、実在する検索語を抽出した実在検索語候補リストを作成し(S303)、対話制御部306へ送る。
なお、実在検索語候補リストは、検索データベース381に実在している検索語のうちで、利用者Pに提示し、確認を求める検索語の候補を集めたリストである。
ところで、2番目表記の単名詞「東急」の頻度順位は、補助データベース82に格納されている2番目表記の単名詞集合群Gc2において、図29に示すように、951位であるので、2番目表記の単名詞集合群Gc2の第1サブ集合群Gc2−1には、単名詞「東急」が含まれていない。よって、図32に示す音声入力された単名詞「東急」に対する認識結果には、単名詞「東急」が含まれていない。
したがって、実在検索語候補リストを作成するステップ(S303)では、実在検索語候補リストが作成されない。
これと同時に、部分一致検索語リスト作成部352は、部分一致検索語候補における部分一致尤度を計算し(S331)、部分一致検索語候補を、検索データベース381から抽出し、対話制御部306へ送る。
なお、部分一致検索語候補は、検索語を構成する複数の単名詞のうちで一部の単名詞のみの尤度が第1の所定の閾値を超える場合、上記第1の閾値を超える尤度を具備する上記単名詞を備え、上記検索語を構成する単名詞と同じ数の単名詞を備えている検索語候補である。
また、部分一致尤度は、上記抽出された部分一致検索語候補を構成する各単名詞の尤度を所定の演算方法で演算して求めた尤度である。
対話制御部306は、実在検索語候補と、上記部分一致検索語候補とを利用して、検索語候補選定対話を実行する。
すなわち、実在検索語候補リスト中の検索語候補が、利用者との確認処理のみで、検索語特定可能な検索装置の規定条件を満たす場合は、確認処理ガイダンスの出力命令を、音声出力部307へ送る。
逆に、実在検索語候補リスト中の検索語候補が、利用者との確認処理のみでは、検索語特定可能な条件を満たさない場合(S321)、または実在検索語候補が抽出されない場合は、それら部分一致検索語候補を利用して、音声入力部1に最初に入力された音声を、音声認識部303が、再度、音声認識処理し(S332)、認識尤度の算出を行う。
そして、この算出された認識尤度が、利用者との確認処理のみで検索語特定可能な検索装置の規定状態を満たす場合(S321)は、確認処理ガイダンスの出力命令を音声出力部307へ送り、検索語候補を提示し、利用者Pに確認を求める(S322)。
確認処理のみで特定可能な検索語候補が、実在検索語候補からも、部分一致検索語候補を利用した部分一致検索語処理からも抽出されない場合(S321)は、この時点で、認識処理を終了し、使用頻度が次に高い構成名詞集合群について(S311)、認識処理の結果得られた有力構成名詞候補を利用し(S312、S313)、実在検索語候補リストと部分一致検索語リストとを更新し(S314)、検索語候補選定対話と、部分一致検索語処理とを繰り返す(S315)。
音声出力部307は、確認処理ガイダンス出力命令を受けた場合は、利用者に検索語候補と指定された候補について正誤確認を行うガイダンスを出力する。
そして、確認処理ガイダンスに対する応答が、音声入力部302から再び入力されると、音声認識部303は、YES/NOデータベース383を参照し、利用者の応答を認識し、音声認識結果出力部304から認識結果を出力し、利用者から、肯定を表す応答を得ることができた場合(S315)は、検索語特定が完了した旨を利用者へガイダンスする命令を、対話制御部306が音声出力部307へ送る。
検索語が特定できるまで、検索語候補リストの更新(S314)と、検索語候補選定対話と、部分一致検索語処理(部分一致検索語候補を検索データベース381から抽出し、この抽出された部分一致検索語候補を構成する単名詞の尤度の合計尤度である部分一致尤度を計算する処理)とを繰り返す。
検索補助データベース382中の全ての構成名詞集合群に対する認識処理が終了し、実在検索語候補リストをそれ以上更新不可能な場合(S315)は、対話制御部306は、実在検索語候補リストの上位から、検索語候補を利用者に提示するガイダンス出力命令を、音声出力部307へ送る。
すなわち、検索装置301は、実在検索語候補リストの更新と検索語候補選定対話とが行われている間、優先認識対象名詞群以外の構成名詞集合群の少なくとも1集合(規定数からなる集合1つ分)について、認識処理が終了しているように構成名詞数を規定する。
次に、検索装置301の動作をより具体的に説明する。
これら有力構成名詞候補を利用して、実在検索語候補リスト作成処理を行うが、2番目表記の単名詞にする関する第1サブ集合群Gc2−1については、「東急」に関する有力構成名詞候補が選択されていないので、検索装置301は、第1サブ集合群Gc1−1、Gc3−1に対する認識処理が終了次第、部分一致検索処理を行う。
つまり、1番目の単名詞である1番目表記の単名詞集合群Gc1中の第1サブ集合群Gc1−1における有力構成名詞候補「横浜」または「横須賀」を、1番目の単名詞に持つ検索語候補であって、3番目の単名詞である3番目表記の単名詞集合群Gc3中の第1サブ集合群Gc3−1における有力構成名詞候補「ホテル」または「ホール」を、3番目の単名詞に持つ検索語候補を、検索データベース381から検索する。
図33(1)は、検索装置301において、部分一致検索語候補と部分一致尤度との例を示す図である。
検索装置301において、「横浜/グランド/ホテル」、「横浜/東急/ホテル」「横浜/東武/ホテル」、「横須賀/セントラル/ホテル」、「横浜/セントラル/ホール」、「横浜/グランド/ホール」、「横浜/音楽/ホール」、「横浜/中央/ホール」、「横須賀/芸術/ホール」の9候補が、部分一致検索語候補として、検索されている。
上記例において、たとえば「横浜/グランド/ホテル」のうちで、「横浜」と「ホテル」とが、図32に示すように、有力構成名詞候補であり、「グランド」が有力構成名詞候補ではない。つまり、「横浜/グランド/ホテル」のうちで、一部の単名詞のみが有力構成名詞候補であり、したがって、「横浜/グランド/ホテル」は、部分一致検索語候補である。
また、たとえば「横浜/グランド/ホテル」のうちで、「横浜」の認識尤度が、図32に示すように95であり、「ホテル」の認識尤度が、図32に示すように88であり、これら有力構成名詞候補の各認識尤度を加算した値(95+88=183)である183が部分一致尤度である。
検索装置301において、部分一致尤度における閾値(第2の閾値)が、130であるとする。
そして、これら9候補を認識対象として、最初の入力検索語に対する音声認識処理を、音声認識部303において、再度、実行する。
この結果、図33(2)に示すように、「横浜/東急/ホテル」、「横浜/東武/ホテル」の検索語認識尤度が、それぞれ、95、81であり、上記閾値(第2の閾値)である80を超え、したがって、「横浜/東急/ホテル」、「横浜/東武/ホテル」が検索語候補として抽出さる。上位から提示確認を行うことによって、検索語特定が完了する。
検索装置301において、上記部分一致検索語処理の結果について、利用者との確認処理のみで検索語確定可能か否かの判断基準は、複合名詞検索装置が予め規定した閾値と、検索語認識尤度とを比較し、再認識された結果についての閾値(第3の閾値)が80であるとした場合、第3の閾値80を越える検索語認識尤度を持つ検索語候補が、確認処理のみで検索語確定可能な条件を満たすと判断する。
したがって、検索装置301において、再認識後において、確認処理のみで検索語確定可能な条件を満たす検索語候補は、図33(2)に示すように、「横浜/東急/ホテル」、「横浜/東武/ホテル」である。
検索装置301では、実在検索語リスト作成処理、検索語候補選定対話を行っている間を利用して、残りの構成名詞について認識処理するだけでなく、部分一致尤度を利用した部分一致検索語処理を行う。
部分一致検索語処理の結果、算出した部分一致尤度を利用して、検索語候補選定対話を行う。規定閾値(第3の閾値)を超える部分一致尤度を有する検索語候補が存在しない場合、または、部分一致検索語処理の結果、選定される検索語候補が存在しない場合は、第2サブ集合群について認識した結果を利用した実在検索語リスト作成処理、検索語候補選定対話を続ける。これと同時に、有力構成名詞リストを更新しながら、部分一致検索語処理、その結果に対する検索語候補選定対話を繰り返す。
検索装置301において、第2サブ集合群Gc2−2に単名詞「東急」が含まれているので、第2サブ集合群について認識した結果を利用した実在検索語リスト作成処理を行うと、選定される検索語候補が存在するようになる。一方、部分一致検索語処理の結果、算出した部分一致尤度を利用して、検索語候補選定対話を行い、規定閾値(第3の閾値)を超える部分一致尤度を有する検索語候補が存在するようになる。この場合、これら2つの結果をマージするようにしてもよい。
検索装置301は、構成順序毎の構成名詞の集合群に対する認識結果に基づいて実在検索語リスト作成処理を行う際、同時に、検索装置が予め定めた条件を満たす有力構成名詞候補における部分的な情報を利用した部分一致検索語リストの作成処理を行う。すなわち、有力構成名詞候補を利用して部分一致尤度を算出し、規定閾値以上の部分一致尤度を有する検索語を抽出し、この抽出された検索語を、認識対象と定め、最初に入力された検索語の認識処理を、再度実行し、認識尤度を算出する。
算出された認識尤度が、利用者との確認処理のみで検索語を特定することができる条件を満たすと判断できる場合は、検索語候補選定対話を行う。規定閾値以上の部分一致尤度を有する検索語候補が存在しない場合、または、検索語候補選定対話の結果、選定される検索語候補が存在しない場合は、残りの各第n構成名詞集合群について認識処理した結果、更新された有力構成名詞候補を利用し、実在検索語リスト作成処理と、検索語候補選定対話と、部分一致検索語処理と、検索語候補選定対話とを繰り返す。
このように、構成名詞の部分的情報を利用することによって、各構成名詞の偏りに左右されずに、正確かつ迅速に、検索処理を実行することができる。
ところで、実際には、検索語を構成する各単名詞の全てが高頻度であることが少なく、また、検索語を構成する各単名詞の全てが低頻度であることが少なく、頻度に偏りがある場合が多く、各単名詞のうちで、高頻度で使用される単名詞は、第1サブ集合群に設定されるので、最初の認識処理結果で出力されるが、使用頻度の低い単名詞は、その単語が含まれるサブ集合群についての認識処理が行われるまで、認識結果として出力されないので、規定閾値以上の尤度を有する各構成名詞候補の組み合わせを作成し、実在する検索語候補を抽出しても、正解は存在しない。
そこで、検索装置301では、全部を認識対象に定めて実時間内に正しく認識処理することが不可能である大語彙検索語の中から、部分的に有力構成名詞を含む検索語を、部分一致検索語候補として検索データベース381から抽出することによって、有力候補を絞込むことができる。この絞込みによって、利用者を待機させることなく、検索処理が可能になる。
つまり、検索装置301によれば、単名詞の部分的情報を併用することによって、正解検索語を絞り込み、さらに、認識精度を認識速度とを向上させることができる。
図31に示すフローチャートにおいて、ステップS303の後に、ステップS321に進むルートとは別に、ステップS311に進むルートと、ステップS331に進むルートとが破線で示されている。これは、ステップS321〜S323のルーチンと、ステップS311〜S315のルーチンと、ステップS331、S332のルートとが並行処理されるという意味である。
また、検索装置301を、プログラムの発明として把握することができる。
つまり、検索装置301は、検索語を構成する複数の単名詞のうちで一部の単名詞のみの尤度が第1の所定の閾値を超える場合、上記第1の閾値を超える尤度を具備する上記単名詞を備え、上記検索語を構成する単名詞と同じ数の単名詞を備えている部分一致検索語候補を、検索データベースから抽出する部分一致検索語候補抽出手順と、上記抽出された部分一致検索語候補を構成する各単名詞の尤度を所定の演算方法で演算して部分一致尤度を計算する部分一致尤度計算手順と、上記計算された部分一致尤度が、所定の第2の閾値を超えている検索語候補について、音声認識処理を行う部分一致検索語候補用音声認識処理手順とをコンピュータに実行させるプログラムの例である。
また、検索装置301は、複数の単名詞で構成されている複合名詞が検索語として登録され、しかも、上記検索語が各単名詞に区切られて登録されている検索データベースと、上記登録されている各複合名詞のn番目(nは整数値)に表記されている単名詞の群を、n番目表記の単名詞集合群と呼び、上記n番目表記の単名詞集合群が、その頻度の高い順に登録され、しかも、この頻度の高い順に登録されている単名詞が、その頻度の高い方から順に、所定の数毎にまとめられ、複数のサブ集合群が形成されている検索補助データベースとを使用して、複合名詞を検索するプログラムであって、利用者が上記検索語である複合語を単名詞毎に入力すると、上記複合名詞のn番目表記の単名詞については、上記n番目表記の単名詞集合群で認識し、しかも上記n番目表記の単名詞集合群のうちで、最も頻度が高い単名詞を含む第1サブ集合群の範囲内で認識処理し、認識尤度を対応させて、認識結果リストを作成する認識結果リスト作成手順と、上記認識処理された単名詞である構成名詞候補と、上記構成名詞候補についての認識尤度との組が認識尤度順に並べられている認識結果リストを、上記音声入力された単名詞のそれぞれについて作成し、上記認識結果リストに記載されている構成名詞候補のうちで、所定の第1の閾値を超える認識尤度を具備する構成名詞候補を、有力構成名詞候補として選出する有力構成名詞候補選出手順と、上記検索語を構成する複数の単名詞のうちで一部の単名詞のみの尤度が上記第1の所定の閾値を超える場合、上記第1の閾値を超える尤度を具備する上記単名詞を備え、上記検索語を構成する単名詞と同じ数の単名詞を備えている部分一致検索語候補を、上記検索データベースから抽出する部分一致検索語候補抽出手順と、上記抽出された部分一致検索語候補を構成する各単名詞の尤度を所定の演算方法で演算して部分一致尤度を演算する部分一致尤度演算手順と、上記演算された部分一致尤度が、所定の第2の閾値を超えている上記部分一致検索語候補について、音声認識処理を行う部分一致検索語候補用音声認識処理手順とをコンピュータに実行させるプログラムの例である。
なお、商品配送サービスや、電話番号検索や郵便番号検索等における入力インタフェース部分において、検索装置301で行った法人名義の確定作業を、幅広く適用することができる。
図34は、本発明の第6の実施例である音声対話型音声対話型検索装置401を示すブロック図である。
この音声対話型検索装置401は、音声入力部402と、音声識別部403と、対話制御部404と、音声出力部405と、音声出力用ソフトウェア405Sと、音声認識装置406と、システムデータベース408とによって構成されている。
音声識別部403は、音声認識部431と、認識結果調整部432とによって構成されている。
音声識別部403では、音声認識装置406を使用し、音声出力部405では、音声出力用ソフトウェア405Sを使用している。また、音声識別部403での入力音声に対する音声認識処理と、対話制御部404とは、システムデータベース408を使用する。
システムデータベース408は、検索対象である検索情報を記録した検索情報データベース481、拍データベース482,YES/NOデータベース483によって構成されている。
図35は、音声対話型検索装置401で使用されている検索情報データベース481の全体像の一例を示す図である。
検索情報データベース481には、検索対象である検索情報そのものが記録されている。
第36図は、音声対話型検索装置401で使用されている拍データベース482の一例を示す図である。
拍データベース482には、検索対象である検索情報を、所定の方法で、先頭拍、2番目拍、3番目拍、……と、分割する。そして、先頭拍だけを取り出し、この取り出された先頭拍を、使用頻度順に並べ、各先頭拍に続く2番目拍を、使用頻度の高い順に並べ、各2番目拍に続く3番目拍を、使用頻度の高い順に並べ、これら並べた拍を、拍データベース482に格納する。
対話処理実時間内に処理することができない大語彙によって検索情報データベース481が構成されている場合、拍データベース482を構成する各拍について、所定の対話処理実時間内に処理可能な数として、所定の数を定める。
音声識別部403では、音声認識装置406を用いて、ユーザ入力について、認識処理する。音声認識装置406は、検索装置の処理の場面に合わせて、認識対象とするデータベースを、システムデータベース408から選択する。すなわち、ユーザが検索情報入力した場合、拍データベース482を参照し、候補の提示に対してユーザが応答した場合に、YES/NOデータベース483を参照する。
利用者が、検索対象である検索情報を入力すると、この入力された検索情報が、音声識別部403に送られる。音声識別部403では、音声認識部431が、拍データベース482に格納されている先頭拍について認識処理し、この認識処理結果を、認識結果調整部432へ送る。認識結果調整部432は、先頭拍の認識結果に基づいて、所定のスコア以上のスコアを有する先頭拍である有力先頭拍を抽出し、音声識別部403へ情報を送付する。
音声認識部431は、2番目拍認識対象に、上記各有力先頭拍に繋がる頻度が高い2番目拍の候補を、優先的に認識処理し、これと同様に、3番目拍、4拍目、……と、最後の拍まで、認識結果調整部432との間で情報やりとりをしながら、候補を絞込む。
対話制御部404は、送られてきた認識結果に対して、各拍の認識結果スコアを加算する等によって、トータルスコアを算出し、この算出されたトータルスコアが、利用者が確認処理するのみで確定可能であるスコアに達していると、検索装置401が判断すれば、ユーザに提示確認を行うように、音声出力部2に命令する。
そして、上記提示に対する正誤の応答の入力を、ユーザに求め、Yesという応答が認識できた時点で、検索は成功になる。
確認処理するに値しないと判断された場合、音声識別部403に保管されている各拍の認識結果に基づいて、先頭拍のうちで、認識スコアの高い順に、提示するために、音声出力部405に、先頭拍候補の提示を指示する。
先頭拍の提示に対する正誤の応答の入力を求め、Yesという応答が認識できたら、音声識別部403は、確定した先頭拍に続く2番目拍について、使用頻度の高い順に、優先的に認識処理し、上記と同様に、2番目拍を確定しというように、順次認識対象を絞込みながら、検索対象である検索情報を確定する。
提示確認に対するユーザの応答の際、音声認識部431は、YES/NOデータベース483を認識対象として、ユーザ応答を認識する。
次に、個人姓の確定をタスクとする入力インタフェースに、音声対話型検索装置401を適用した場合における情報検索動作について、具体的に説明する。
この場合における検索情報は、個人姓である。日本全国の個人姓の種類は、18万種類存在する。
図37は、音声対話型検索装置401における検索情報データベース481の具体例を示す図である。
この具体例において、個人姓を、拍で分割する場合、姓を漢字表記したときに、漢字1文字の読みを1拍と数えるようにして分割する。
図38は、音声対話型検索装置401における拍データベース482の一例を示す図である。
先頭拍の種類数は、3000種類あり、使用頻度の高い順に、拍データベース482に格納され、第39図に示すように、先頭拍のそれぞれについて、それに続く2番目拍を、使用頻度の高い順に格納し、これと同様に、2番目拍のそれぞれについて、2番目拍に続く3番目拍を、使用頻度の高い順に格納し、……というようにして、拍データベース482を作成する。
ところで、音声認識技術の現状は、個人姓18万件について一括認識処理すると、膨大な認識処理時間を必要とし、また、非常に似通った姓が多く存在するので、認識精度が非常に低い。特に、18万件の認識対象数について、利用者が不自然を感じない時間内に認識処理を終了し、ある程度の精度を持った応答を返すことは、不可能であることが知られている。
音声対話型検索装置401において、音声入力された検索情報について、認識した各拍の結果から有力候補を抽出する場合、認識スコアと閾値とを比較し、閾値を越える認識スコアを持つ候補を、有力候補と定める。これと同様に、ユーザが確認処理するのみで検索情報を特定することが可能であるか否かを判断する場合、検索対象である検索情報について計算されたトータルスコアが、閾値を超えれば、ユーザが確認処理するのみで検索情報を特定することが可能であると判断する。
次に、音声対話型検索装置401について、より具体的に説明する。
図39は、音声対話型検索装置401における検索情報を確定する動作を示すフローチャートである。
ユーザが「まつもと」を音声入力し(S401)、この音声入力された「まつもと」を、確定する場合の動作について説明する。
ユーザによる音声入力について、拍データベース482中の先頭拍候補を、使用頻度の高い順に、優先的に認識処理する(S402)。
図40は、音声対話型検索装置401において、ユーザが音声入力した検索情報を構成する先頭拍に対応する拍データベース482中の先頭拍候補を、使用頻度の高い(スコアが多い)順に並べ、この並べられた先頭拍候補のうちで、所定の数の先頭拍を、優先的に認識処理し、この認識理結果を示す図である。
ここで、有力先頭拍としての閾値が80であると定めた場合、「ます」、「まつ」、「まさ」が、有力先頭拍として抽出される(S403)。
これら各有力先頭拍に繋がる2番目拍候補を認識対象とし(S404)、上記2番目拍候補を、使用頻度の高い(スコアが多い)順に並べ、この並べられた2番目拍候補のうちで、所定の数の2番目拍を、優先的に認識処理する(S405)。
音声対話型検索装置401において、抽出された2番目拍候補を、図38に示してある。
先頭拍候補(1番目拍)である「ます」に繋がり、頻度が最も高い2番目拍候補が「だ」であり、最優先順位であり、2番目の先頭拍候補である「まつ」に繋がり、頻度が最も高い2番目拍候補が「もと」であり、3番目の先頭拍候補である「まさ」に繋がり、頻度が最も高い2番目拍候補が「もと」であり、先頭拍候補である「ます」に繋がり、頻度が2番目に高い2番目拍候補が「た」であり、先頭拍候補である「まつ」に繋がり、頻度が2番目に高い2番目拍候補が「ざか」であり、……というように、2番目拍候補に対する認識処理を行う。
そして、音声入力された検索情報の終端まで認識されていない場合、続けて認識処理を実行する(S406)。
図41は、音声対話型検索装置401において、先頭拍有力候補の認識結果であるスコアと、2番目拍候補の認識結果であるスコアとの統合結果(トータルスコア)を示す図である。
これらの結果が、対話制御部404へ送られ、先頭拍のスコアと2番目拍のスコアとのトータルスコアを算出し(S407)、確認処理のみで確定可能であるか否かを判断する(S411)。上記例においては、各拍の認識スコアを加算してトータルスコアを求め、ユーザが確認処理するのみで検索情報の確定が可能であると判断する閾値を160と定め、トータルスコアが上記閾値160を超えている検索情報候補を抽出する。
この結果、検索情報候補「まつもと」、「まさもと」、「まつのと」、……のうちで、閾値160を超える検索情報候補は、「まつもと」1候補であり、この検索情報候補「まつもと」について、ユーザに確認提示を行う(S412)。ユーザから、Yesの応答が得られると(S413)、検索、確定が終了する。
音声対話型検索装置401によれば、検索情報を構成する拍の使用頻度を考慮し、しかも、その拍同士の繋がりやすさを考慮しているので、認識対象が大語彙である場合でも、実時間内に処理可能である。また、ユーザにとって許容範囲と思われる精度を持った応答が可能な認識対象数づつ、認識処理を並行して行う(S421〜S427、S431)ことによって、待機時間によるユーザのストレス、誤認識によるユーザのストレスが軽減される。
個人姓は、非常に種類数が多く、似通った候補が多いが、この個人姓の認識は、コールセンタ受付け業務や、商品配送サービス等、幅広くカスタマケア全般で利用可能である。
音声対話型検索装置401は、認識対象語彙である検索情報を拍毎に分解し、拍毎に認識処理を施し、その際、全ての拍を均一に扱うのではなく、使用頻度の高い拍は、より発話される可能性が高いという予測のもとに、使用頻度の高いものほど優先して認識し、この場合、優先する方法としては認識結果に対して重み付けをする等の方法が考えられる。
加えて、拍同士の接続可能性と接続頻度とを利用して2番目拍、3番目拍に対しては、1つ前の拍毎に、次に繋がる拍のみを使用頻度の高い順に並べ、認識処理を前方拍から順に行うことによって、1つ前の拍に対する認識結果に基づいて、有力先頭拍として抽出された先頭拍に対して記録された2番目拍のみを、使用頻度の高い順に優先順位をつけ、認識対象と定め、認識処理を行い、同様に3番目拍、4番目拍、……、のように、最後の拍まで認識処理を続ける。
万が一、前方拍の有力候補抽出を誤り、正解候補を導けない場合は、前方拍より順に確定することによって、拍の階層構造を利用した絞込み対話を進める機能を持ち、検索情報そのものを認識処理するよりも、性能良く効率的に、候補を絞込むことが期待できる。
また、検索情報データベースが、対話処理実時間内に処理不可能な大語彙から構成される場合は、実時間内に処理可能であり、しかも、ユーザにとって許容可能な精度をもった応答を返すことが可能な、予め規定された対象数を、使用頻度の高い順に優先認識対象と定め、認識処理する。
有力先頭拍候補が抽出できたら、それに繋がる2番目拍に対して、実時間内処理可能な規定数を優先認識対象と定め認識処理を行い、同様に3番目、4番目の拍に対して認識処理を進め、トータルスコアを計算する、優先認識対象先頭拍に対する認識処理が終了した時点で、残りの使用頻度の高い先頭拍から実時間内に処理可能な規定数に対して認識処理をスタートさせる、そこから新たに有力先頭拍候補が抽出された場合は、それに繋がる2番目拍、3番目拍に対して、処理を続ける。
トータルスコアが算出できた時点で、ユーザが確認処理するのみで確定が可能であると判断できる候補が存在すれば、提示確認を行い、ユーザが確認処理するのみで確定が可能であると判断できる候補が存在しない場合は、その時点で、次に使用頻度が高い各拍の認識対象リストに対する認識処理結果が、並行処理(S421〜S425)によって出ているはずであるので、そのトータルスコアを見て(S426)、確定処理をするか否かを判断し(S411)、確定できるまで繰り返す(S431)ことによって、目的情報の確定を行う認識エンジンの精度を、検索方法によって補う音声対話型情報検索装置である。
ユーザには、システム内部の処理状態が一切見えず、検索情報データベース中の検索情報に対して、一様に音声認識処理が行われ、結果が提示されるのと何ら変わりはない。したがって、ユーザに、不自然さとストレスとを感じさせずに、適切な時間内に、入力された検索情報に対して認識処理を行い、確度の高い精度で認識結果を提示することができる。
なお、拍の切り出し方には、次の方法がある。つまり、上記検索情報を平仮名表記した場合における平仮名1文字を1拍とする切り出し方(拗音(ッャ、ュ、ョ)、撥音、長音は前の平仮名と合わせて1拍と数える)、上記検索情報を平仮名表記した場合に、先頭から順に、所定の平仮名文字数毎に、1拍とする切り出し方(拗音、撥音、長音は、前の平仮名と合わせて1文字と数える)、構成平仮名数に応じて、1拍を構成する文字数を規定する切り出し方(たとえば、4文字からなる検索情報は、先頭から2文字毎に1拍と数え、3文字からなる検索情報は、先頭から1文字毎に1拍と数える等)、上記検索情報を漢字表記した場合に、漢字1文字の読みを1拍とする切り出し方がある。
つまり、音声対話型検索装置401は、検索対象である検索情報が格納されている検索情報データベースと、上記検索情報データベースに格納されている検索情報を分解して切り出された拍のうちで、上記各検索情報の先頭を構成する拍である先頭拍が、上記検索情報データベースの中で使用されている頻度順に格納され、上記先頭拍に続く拍についても、使用頻度順に格納されている拍データベースと、ユーザが検索情報を音声入力すると、上記拍データベース中の先頭拍について、上記検索情報データベースにおける使用頻度の高い拍から、優先的に認識処理する認識処理手段と、上記先頭拍を認識した結果、利用者が入力した拍である可能性が高い有力先頭拍であると判断した場合、上記有力先頭拍に繋がり、使用頻度が高い拍から、優先的に認識処理し、有力2番目拍を抽出し、上記検索情報を構成する最後の拍まで、認識処理を繰り返す認識処理繰り返し手段と、全ての拍に対する認識処理が終了した時点で、出力された検索情報毎に、トータルスコアを計算するトータルスコア計算手段と、ユーザが確認処理するのみで上記検索情報を特定できる条件を、上記トータルスコアが満たす場合、ユーザとの間で必要な対話を行い、上記検索情報を確定する対話手段とを有する音声対話型情報検索装置の例である。
この場合、先頭拍と2番目拍とについて認識処理した結果、ユーザが確認処理するのみで上記検索情報を特定できる上記条件を、上記トータルスコアが満たさない場合、2番目拍の認識結果と3番目拍の認識結果とを統合している間に、残りの各拍について、使用頻度の高い順に、実時間内に処理可能な数を認識対象と定め、先頭拍から順に並行処理する並行処理手段を有する。
また、この場合、上記並行処理手段は、ユーザが確認処理する場合、確認処理の質疑応答時間内に残りの対象について並行処理を行う手段である。しかも、ユーザが確認処理しない場合、認識処理に要する時間を考慮して、認識対象として選択する各拍数を決定する。
また、音声対話型検索装置401は、検索情報データベースに格納されている検索情報を分解して切り出された拍のうちで、上記各検索情報の先頭を構成する拍である先頭拍が、検索情報データベースの中で使用されている頻度順に格納され、上記先頭拍に続く拍についても、使用頻度順に格納されている拍データベース中の先頭拍について、検索情報データベースにおける使用頻度の高い拍から、優先的に認識処理する認識処理手段と、上記先頭拍を認識した結果、利用者が入力した拍である可能性が高い有力先頭拍であると判断した場合、上記有力先頭拍に繋がり、使用頻度が高い拍から、優先的に認識処理し、有力2番目拍を抽出し、上記検索情報を構成する最後の拍まで、認識処理を繰り返す認識処理繰り返し手段と、全ての拍に対する認識処理が終了した時点で、出力された検索情報毎に、トータルスコアを計算するトータルスコア計算手段と、ユーザが確認処理するのみで上記検索情報を特定できる条件を、上記トータルスコアが満たす場合、ユーザとの間で必要な対話を行い、上記検索情報を確定する対話手段とを有する音声対話型情報検索装置の例である。
さらに、拍データベース482は、検索情報の先頭に位置している拍である先頭拍が、使用頻度の高い順に並べられている先頭拍群と、上記先頭拍のそれぞれについて、上記先頭拍の次に繋がる拍である2番目拍が、使用頻度の高い順に並べられている2番目拍群と、上記2番目拍のそれぞれについて、上記2番目拍の次に繋がる拍である3番目拍が、使用頻度の高い順に並べられている3番目拍群とを有する拍データベースの例である。
これを、方法の発明として把握すれば、検索情報の先頭に位置している拍である先頭拍を、使用頻度の高い順に並べる段階と、上記先頭拍のそれぞれについて、上記先頭拍の次に繋がる拍である2番目拍を、使用頻度の高い順に並べる段階と、上記2番目拍のそれぞれについて、上記2番目拍の次に繋がる拍である3番目拍を、使用頻度の高い順に並べる段階とを有する拍データベース作成方法である。
そして、音声対話型検索装置401をプログラムの発明として把握することができる。つまり、検索情報データベースに格納されている検索情報を分解して切り出された拍のうちで、上記各検索情報の先頭を構成する拍である先頭拍が、検索情報データベースの中で使用されている頻度順に格納され、上記先頭拍に続く拍についても、使用頻度順に格納されている拍データベース中の先頭拍について、検索情報データベースにおける使用頻度の高い拍から、優先的に認識処理する認識処理手順と、上記先頭拍を認識した結果、利用者が入力した拍である可能性が高い有力先頭拍であると判断した場合、上記有力先頭拍に繋がり、使用頻度が高い拍から、優先的に認識処理し、有力2番目拍を抽出し、上記検索情報を構成する最後の拍まで、認識処理を繰り返す認識処理繰り返し手順と、全ての拍に対する認識処理が終了した時点で、出力された検索情報毎に、トータルスコアを計算するトータルスコア計算手順と、ユーザが確認処理するのみで上記検索情報を特定できる条件を、上記トータルスコアが満たす場合、ユーザとの間で必要な対話を行い、上記検索情報を確定する対話手順とをコンピュータに実行させるプログラムとして把握することができる。
また、検索情報の先頭に位置している拍である先頭拍を、使用頻度の高い順に並べる手順と、上記先頭拍のそれぞれについて、上記先頭拍の次に繋がる拍である2番目拍を、使用頻度の高い順に並べる手順と、上記2番目拍のそれぞれについて、上記2番目拍の次に繋がる拍である3番目拍を、使用頻度の高い順に並べる手順とをコンピュータに実行させるプログラムとして把握することができる。
さらに、上記プログラムを、FD、CD、MD、DVD、HD、光ディスク、光磁気ディスク、半導体メモリ等の記録媒体に記録するようにしてもよい。