端末装置、音声認識プログラム、音声認識方法および音声認識システム
【課題】音声により入力されたコマンドを高速かつ確実に実行する。
【解決手段】本発明に係る端末装置1は、音声信号の入力を受け付ける音声入力部11と、音声信号に対する音声認識を行う音声認識部12と、音声信号を音声認識サーバ2に送信する音声送信部14と、サーバ音声認識結果を受信するサーバ音声認識結果受信部15と、複数のコマンドが登録されたコマンド辞書17と、端末内音声認識結果をコマンド辞書17と照合して、端末内音声認識結果およびサーバ音声認識結果のうちいずれの音声認識結果を利用するか決定し、決定された音声認識結果に基づいて音声信号によって示されるコマンドを特定するコマンド照合部16と、コマンド照合部16によって特定されたコマンドを実行するコマンド実行部18と、を備えることを特徴とする。
【解決手段】本発明に係る端末装置1は、音声信号の入力を受け付ける音声入力部11と、音声信号に対する音声認識を行う音声認識部12と、音声信号を音声認識サーバ2に送信する音声送信部14と、サーバ音声認識結果を受信するサーバ音声認識結果受信部15と、複数のコマンドが登録されたコマンド辞書17と、端末内音声認識結果をコマンド辞書17と照合して、端末内音声認識結果およびサーバ音声認識結果のうちいずれの音声認識結果を利用するか決定し、決定された音声認識結果に基づいて音声信号によって示されるコマンドを特定するコマンド照合部16と、コマンド照合部16によって特定されたコマンドを実行するコマンド実行部18と、を備えることを特徴とする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、音声認識結果を処理する端末装置、音声認識プログラム、音声認識方法および音声認識システムに関する。
【背景技術】
【0002】
マイクから入力された音声の内容を認識し、認識した結果をコマンドとして実行する技術がある。例えば、下記の特許文献1および特許文献2には、端末内音声認識を行い、端末内音声認識の結果をコマンドに変換する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2007−318319号公報
【特許文献2】特開平7−219587号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記特許文献1および特許文献2に記載の発明では、以下のような問題がある。すなわち、上記特許文献1および特許文献2に記載の発明では、音声認識の結果がコマンド辞書に登録されていればそのコマンドが実行され、登録されていなければエラーが通知される。端末内音声認識では、認識可能な語彙が限られるため、端末内音声認識の語彙外の単語がコマンドに含まれる場合、コマンドが正しく発話されても端末内の音声認識によって正しく認識されず、そのコマンドが実行されない場合がある。
【0005】
そこで本発明は、このような問題点を解決するために、音声により入力されたコマンドを高速かつ確実に実行する端末装置、音声認識プログラム、音声認識方法および音声認識システムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するため、本発明の端末装置は、音声信号の入力を受け付ける音声入力手段と、音声入力手段によって受け付けられた音声信号に対する音声認識を行う音声認識手段と、複数のコマンドが登録されたコマンド辞書と、音声信号を音声認識サーバに送信する音声送信手段と、音声認識サーバによる音声信号に対する音声認識結果であるサーバ音声認識結果を受信するサーバ音声認識結果受信手段と、音声認識手段によって認識された音声認識結果である端末内音声認識結果をコマンド辞書と照合して、端末内音声認識結果およびサーバ音声認識結果のうちいずれの音声認識結果を利用するか決定し、決定された音声認識結果に基づいて音声信号によって示されるコマンドを特定するコマンド照合手段と、コマンド照合手段によって特定されたコマンドを実行するコマンド実行手段と、を備えることを特徴とする。
【0007】
また、本発明の音声認識システムは、端末装置と、音声認識サーバと、を含む音声認識システムであって、端末装置は、音声信号の入力を受け付ける音声入力手段と、音声入力手段によって受け付けられた音声信号に対する音声認識を行う音声認識手段と、複数のコマンドが登録されたコマンド辞書と、音声信号を音声認識サーバに送信する音声送信手段と、音声認識サーバによる音声信号に対する音声認識結果であるサーバ音声認識結果を受信するサーバ音声認識結果受信手段と、音声認識手段によって認識された音声認識結果である端末内音声認識結果をコマンド辞書と照合して、端末内音声認識結果およびサーバ音声認識結果のうちいずれの音声認識結果を利用するか決定し、決定された音声認識結果に基づいて音声信号によって示されるコマンドを特定するコマンド照合手段と、コマンド照合手段によって特定されたコマンドを実行するコマンド実行手段と、を備え、音声認識サーバは、音声送信手段から送信された音声信号を受信する音声受信手段と、端末装置よりも多くの語彙を含むサーバ辞書と、音声受信手段によって受信された音声信号を、サーバ辞書に基づいて音声認識するサーバ音声認識手段と、サーバ音声認識結果を端末装置に送信するサーバ音声認識結果送信手段と、を備えることを特徴とする。
【0008】
本発明によれば、端末内音声認識結果をコマンド辞書と照合し、照合した結果に基づいて端末内音声認識結果およびサーバ音声認識結果のいずれの音声認識結果を利用するか決定することによって、例えば、端末内音声認識結果がコマンドとして受理される場合は、端末内音声認識結果を利用してコマンドの実行を行い、端末内音声認識結果がコマンドとして受理できない場合には、サーバ音声認識結果を利用することができる。すなわち、端末内の語彙で認識可能なコマンドが音声入力された際には、端末内音声認識結果を利用することで高速に応答でき、端末内の語彙で認識不可能なコマンドが音声入力された際には、サーバ音声認識結果を利用することで音声入力されたコマンドを確実に認識し、実行することができる。
【0009】
また、コマンド照合手段は、端末内音声認識結果をコマンド辞書と照合して、コマンドに該当する可能性を示す確信度を算出し、確信度が所定の閾値以上である場合に、端末内音声認識結果の利用を決定し、閾値以上の確信度のコマンドを音声信号によって示されるコマンドとして特定することが好ましい。これによれば、端末内音声認識結果の信頼度が低くても正しく音声認識された場合に、端末内音声認識結果を利用することができる。その結果、端末内の語彙で認識可能なコマンドを、端末内音声認識結果の信頼度が低くても高速に実行することが可能となる。
【0010】
また、コマンド辞書は、複数のコマンドの各々に対して、複数のキーワードと、複数のキーワードに対応付けられたスコアとが登録されたキーワードリストを記憶し、コマンド照合手段は、端末内音声認識結果に含まれる単語の各々について、キーワードリストに登録された複数のキーワードのいずれかに該当するか否かを判定し、該当するキーワードに対応付けられたコマンドおよびスコアに基づいて確信度を算出することが好ましい。これによれば、端末内の語彙で認識可能なコマンドであるか否かを判定することができ、音声信号によって示されるコマンドをより確実に認識することができる。
【0011】
また、コマンド照合手段は、端末内音声認識結果に含まれる単語の各々について、キーワードリストに登録された複数のキーワードのいずれかに該当するか否かを判定し、該当するキーワードに対応付けられたコマンドおよびスコア並びに単語の音声認識の信頼度に基づいて、確信度を算出することが好ましい。これによれば、端末内の語彙で認識可能なコマンドであるか否かを判定することができ、音声信号によって示されるコマンドをより確実に認識することができる。
【0012】
また、コマンド照合手段は、閾値以上の確信度のコマンドが、端末内機能の実行を指示するコマンドである場合には、端末内音声認識結果の利用を決定し、閾値以上の確信度のコマンドが、端末内機能の実行を指示するコマンド以外のコマンドである場合には、サーバ音声認識結果の利用を決定することが好ましい。これによれば、端末内機能の実行を指示するコマンドについては端末内音声認識結果を用いて高速に実行することができ、それ以外のコマンドについてはサーバ音声認識結果を用いて確実に実行することができる。
【0013】
また、音声送信手段は、音声認識手段によって端末内音声認識結果が得られる前に、音声信号を音声認識サーバに送信することが好ましい。これによれば、サーバ音声認識結果をより早く受信することができる。このため、サーバ音声認識結果を利用することが決定された場合に、高速にコマンドを実行することができる。
【0014】
また、サーバ音声認識結果受信手段は、コマンド照合手段によって端末内音声認識結果に基づいてコマンドが特定された後にサーバ音声認識結果を受信した場合、サーバ音声認識結果を破棄することが好ましい。これによれば、サーバ音声認識結果の受信を待つことなく、端末内音声認識結果に基づいてコマンドを特定することができる。このため、端末内の語彙で認識可能なコマンドを高速に実行することが可能となる。
【0015】
ところで、本発明は、上記のように端末装置の発明として記述できる他に、以下のように音声認識プログラムおよび音声認識方法の発明としても記述することができる。これはカテゴリが異なるだけで、実質的に同一の発明であり、同様の作用および効果を奏する。
【0016】
すなわち、本発明の音声認識プログラムは、音声信号の入力を受け付ける音声入力モジュールと、音声入力モジュールによって受け付けられた音声信号に対する音声認識を行う音声認識モジュールと、音声信号を音声認識サーバに送信する音声送信モジュールと、音声認識サーバによる音声信号に対する音声認識結果であるサーバ音声認識結果を受信するサーバ音声認識結果受信モジュールと、音声認識モジュールによって認識された音声認識結果である端末内音声認識結果を複数のコマンドが登録されたコマンド辞書と照合して、端末内音声認識結果およびサーバ音声認識結果のうちいずれの音声認識結果を利用するか決定し、決定された音声認識結果に基づいて音声信号によって示されるコマンドを特定するコマンド照合モジュールと、コマンド照合モジュールによって特定されたコマンドを実行するコマンド実行モジュールと、を備えることを特徴とする。
【0017】
また、コマンド照合モジュールは、端末内音声認識結果をコマンド辞書と照合して、コマンドに該当する可能性を示す確信度を算出し、確信度が所定の閾値以上である場合に、端末内音声認識結果の利用を決定し、閾値以上の確信度のコマンドを音声信号によって示されるコマンドとして特定することが好ましい。
【0018】
また、コマンド辞書は、複数のコマンドの各々に対して、複数のキーワードと、複数のキーワードの各々に対応付けられたスコアとが登録されたキーワードリストを記憶し、コマンド照合モジュールは、端末内音声認識結果に含まれる単語の各々について、キーワードリストに登録された複数のキーワードのいずれかに該当するか否かを判定し、該当するキーワードに対応付けられたコマンドおよびスコアに基づいて確信度を算出することが好ましい。
【0019】
また、コマンド照合モジュールは、端末内音声認識結果に含まれる単語の各々について、キーワードリストに登録された複数のキーワードのいずれかに該当するか否かを判定し、該当するキーワードに対応付けられたコマンドおよびスコア並びに単語の音声認識の信頼度に基づいて、確信度を算出することが好ましい。
【0020】
また、コマンド照合モジュールは、閾値以上の確信度のコマンドが、端末内機能の実行を指示するコマンドである場合には、端末内音声認識結果の利用を決定し、閾値以上の確信度のコマンドが、端末内機能の実行を指示するコマンド以外のコマンドである場合には、サーバ音声認識結果の利用を決定することが好ましい。
【0021】
また、音声送信モジュールは、音声認識モジュールによって端末内音声認識結果が得られる前に、音声信号を音声認識サーバに送信することが好ましい。
【0022】
サーバ音声認識結果受信モジュールは、コマンド照合モジュールによって端末内音声認識結果に基づいてコマンドが特定された後にサーバ音声認識結果を受信した場合、サーバ音声認識結果を破棄することが好ましい。
【0023】
また、本発明の音声認識方法は、音声信号の入力を受け付ける音声入力ステップと、音声入力ステップにおいて受け付けられた音声信号に対する音声認識を行う音声認識ステップと、音声信号を音声認識サーバに送信する音声送信ステップと、音声認識サーバによる音声信号に対する音声認識結果であるサーバ音声認識結果を受信するサーバ音声認識結果受信ステップと、音声認識ステップにおいて認識された音声認識結果である端末内音声認識結果を複数のコマンドが登録されたコマンド辞書と照合して、端末内音声認識結果およびサーバ音声認識結果のうちいずれの音声認識結果を利用するか決定し、決定された音声認識結果に基づいて音声信号によって示されるコマンドを特定するコマンド照合ステップと、コマンド照合ステップにおいて特定されたコマンドを実行するコマンド実行ステップと、を備えることを特徴とする。
【発明の効果】
【0024】
本発明によれば、音声により入力されたコマンドを高速かつ確実に実行することができる。
【図面の簡単な説明】
【0025】
【図1】本発明の実施形態に係る音声認識システムの機能構成を示す図である。
【図2】図1の端末装置のハードウェア構成を示す図である。
【図3】図1のコマンド辞書が記憶するキーワードリストの一例を示す図である。
【図4】図1の音声認識システムにおける確信度の算出方法を説明するための図である。
【図5】図1の端末装置で実行されるコマンド判別実行処理の一例を説明するためのフローチャートである。
【図6】図1の端末装置で実行されるコマンド判別実行処理の他の例を説明するためのフローチャートである。
【図7】図1の端末装置で実行されるコマンド判別実行処理の他の例を説明するためのフローチャートである。
【図8】図1の音声認識システムにおけるコマンド判別実行処理を説明するための図である。
【図9】図1の音声認識システムにおけるコマンド判別実行処理を説明するための図である。
【図10】図1の音声認識システムにおける機能・アプリ判別呼出処理の一例を説明するためのフローチャートである。
【図11】図10の続きを示すフローチャートである。
【図12】図1の音声認識システムにおける機能・アプリ判別呼出処理を説明するための図である。
【発明を実施するための形態】
【0026】
以下、添付図面を参照して、本発明の実施形態を詳細に説明する。なお、図面の説明において同一または相当要素には同一の符号を付し、重複する説明を省略する。
【0027】
図1は、本実施形態に係る音声認識システムの機能構成を示す図である。図1に示されるように、音声認識システム10は、端末装置1に入力された音声信号を、端末内音声認識またはネットワーク型音声認識により音声認識するシステムであって、端末装置1および音声認識サーバ2を含んで構成されている。端末装置1は、マイクなどの音声入力装置から入力された音声信号が示すコマンドに応じて、端末装置1が備える機能の起動および外部からの情報の取得などを実行する装置である。音声認識サーバ2は、端末装置1から送信された音声信号を音声認識してサーバ音声認識結果を取得し、そのサーバ音声認識結果を端末装置1に送信する装置である。なお、端末装置1と音声認識サーバ2とは、ネットワークNWを介して通信接続されている。
【0028】
ここで、端末内音声認識とは、端末装置1内で行われる音声認識を意味し、ネットワークNWを介した通信が不要であることから高速に応答できるが、認識対象の語彙が少ないことから正確な音声認識が行えない場合がある。ネットワーク型音声認識とは、音声認識サーバ2によって行われる音声認識を意味し、端末内音声認識よりも認識対象の語彙が多く、音声認識の精度は高いが、ネットワークNWを介した通信を行うため、通信遅延等で応答が遅くなる場合がある。
【0029】
端末装置1は、機能的には、音声入力部11(音声入力手段)と、音声認識部12(音声認識手段)と、ユーザ辞書13と、音声送信部14(音声送信手段)と、サーバ音声認識結果受信部15(サーバ音声認識結果受信手段)と、コマンド照合部16(コマンド照合手段)と、コマンド辞書17と、コマンド実行部18(コマンド実行手段)と、を備えている。この端末装置1は、例えば、携帯電話、スマートフォン、PDA(Personal Digital Assistants)、カーナビゲーションシステム、ノートPC等の音声入力装置を備える装置であって、図2に示されるハードウェアにより構成される。
【0030】
図2は、端末装置1のハードウェア構成を示す図である。図2に示されるように、端末装置1は、物理的には、CPU(Central Processing Unit)101、主記憶装置であるRAM(Random Access Memory)102、ROM(Read Only Memory)103、ハードディスクなどの補助記憶装置104、ネットワークカードなどのデータ送受信デバイスである通信モジュール105、マイクなどの音声入力デバイスである音声入力装置106、キーボードやマウスなどの入力デバイスである入力装置107、液晶ディスプレイなどの出力デバイスである出力装置108などのハードウェアにより構成されている。図1において説明した端末装置1の各機能は、図2に示すCPU101、RAM102などのハードウェア上に所定のコンピュータソフトウェアを読み込ませることにより、CPU101の制御のもとで音声入力装置106、入力装置107、出力装置108などを動作させるとともに、RAM102や補助記憶装置104におけるデータの読み出しおよび書き込みを行うことで実現される。
【0031】
引き続いて、図1を参照して、端末装置1の機能について説明する。音声入力部11は、音声信号の入力を受け付ける音声入力手段として機能する。具体的には、音声入力部11は、マイクなどの音声入力装置106を介して入力されたユーザの発話内容に基づく音声信号を受け付ける。そして、音声入力部11は、受け付けた音声信号を音声認識部12および音声送信部14に送信する。
【0032】
音声認識部12は、音声入力部11によって受け付けられた音声信号に対する音声認識を行う音声認識手段として機能する。音声認識部12は、予め記憶された音響モデルおよび言語モデルと、後述のユーザ辞書13とを参照して、端末装置1の音声認識結果である端末内音声認識結果を取得する。この端末内音声認識結果には、音声信号を音声認識した結果の文字列である、複数の単語から構成される文字列データと、文字列データ全体または文字列データを構成する各単語の認識結果の尤もらしさを示す信頼度とが含まれる。そして、音声認識部12は、端末内音声認識結果をコマンド照合部16に送信する。なお、音声認識部12は、ユーザ辞書13に登録されていない端末内音声認識の語彙外の単語が発話内容に含まれている場合、正しく音声認識することができない。
【0033】
ユーザ辞書13は、認識対象の単語が登録されてリスト化されたものである。このユーザ辞書13には、一般に用いられる単語の他、端末装置1のユーザ固有の単語が含まれてもよい。例えば、端末装置1の電話帳に登録された氏名、端末装置1内に保存された音楽および動画などのコンテンツ名などはそれぞれ、ユーザ辞書13に単語として登録されている。なお、地名、駅名、商品名、飲食店名、アプリ名などの固有名詞は、多岐にわたるため、ユーザ辞書13に登録されていないことがある。
【0034】
音声送信部14は、音声信号を音声認識サーバ2に送信する音声送信手段として機能する。具体的には、音声送信部14は、音声入力部11によって送信された音声信号を受信し、受信した音声信号をネットワークNWを介して音声認識サーバ2に送信する。このとき、音声送信部14は、音声信号を非圧縮または圧縮して送信する。また、音声送信部14は、音声入力部11から受信した音声信号を一時的に記憶しておき、後述のコマンド照合部16からの指示により音声信号を音声認識サーバ2に送信してもよい。また、音声送信部14は、コマンド照合部16の指示を待つことなく、音声入力部11から受信した音声信号を音声認識サーバ2に送信してもよい。
【0035】
サーバ音声認識結果受信部15は、音声認識サーバ2による音声信号に対する音声認識結果であるサーバ音声認識結果を受信するサーバ音声認識結果受信手段として機能する。サーバ音声認識結果受信部15は、ネットワークNWを介して音声認識サーバ2からサーバ音声認識結果を受信する。そして、サーバ音声認識結果受信部15は、受信したサーバ音声認識結果をコマンド照合部16に送信する。
【0036】
コマンド照合部16は、端末内音声認識結果を後述のコマンド辞書17と照合して、端末内音声認識結果およびサーバ音声認識結果のうちいずれの音声認識結果を利用するか決定し、決定された音声認識結果に基づいて音声信号によって示されるコマンドを特定するコマンド照合手段として機能する。具体的に説明すると、コマンド照合部16は、まず、端末内音声認識結果をコマンド辞書17と照合して、コマンドに該当する可能性を示す確信度を算出する。この確信度の算出方法については、後述する。
【0037】
そして、確信度が所定の閾値以上の場合に、コマンド照合部16は、端末内音声認識結果の利用を決定し、閾値以上の確信度のコマンドを音声信号によって示されるコマンドとして特定する。一方、確信度が閾値未満である場合、すなわち、端末内音声認識結果をコマンドとして受理できなかった場合、コマンド照合部16は、サーバ音声認識結果の利用を決定し、音声入力部11から受信した音声信号を音声認識サーバ2に送信するよう音声送信部14に対して指示する。なお、閾値は、コマンド照合部16に予め設定された固定値であって、例えば2.5に設定されている。
【0038】
コマンド照合部16は、閾値以上の確信度のコマンドが、端末内機能の実行を指示するコマンドである場合には、端末内音声認識結果の利用を決定し、閾値以上の確信度のコマンドが、端末内機能の実行を指示するコマンド以外のコマンドである場合には、サーバ音声認識結果の利用を決定するようにしてもよい。ここで、端末内機能とは、端末装置1が備える機能(例えば、電話機能、メール機能、カメラ機能、スケジュール機能など)であって、ネットワークNW上の他の装置を利用することなく、端末装置1内で実行可能な機能を意味する。コマンド照合部16は、例えば後述のキーワードリストに基づいて、端末内機能であるか否かの判断を行ってもよい。この場合、コマンド照合部16は、端末内機能の実行を指示するコマンドについては端末内音声認識結果を用いて高速に実行することができ、それ以外のコマンドについてはサーバ音声認識結果を用いて確実に実行することができる。
【0039】
コマンド辞書17は、端末装置1において使用可能なコマンドをリスト化したものである。このコマンド辞書17には、端末内機能の実行を指示するためのコマンドの他、外部のサーバ等を利用する端末外機能の実行を指示するためのコマンドが含まれていてもよい。端末内機能の実行を指示するためのコマンドには、例えば、電話をかける、メール機能起動、カメラ起動および端末内アプリ起動などがある。また、端末外機能の実行を指示するためのコマンドには、乗換検索、飲食店検索、ショッピングサイト検索、天気予報閲覧およびアプリ検索などがある。
【0040】
図3は、コマンド辞書17が記憶するキーワードリストの一例を示す図である。図3に示されるように、キーワードリストには、「キーワード」と「機能」と「スコア」と「端末内機能」とが対応付けて記憶されている。「キーワード」に記憶される情報は、各機能に対して一定の関連性を有するキーワードを示す情報であって、例えば「電話」、「メール」、「読む」、「買う」などである。「機能」に記憶される情報は、端末装置1が実行可能な機能を示す情報であって、例えば「電話」、「メール」、「カメラ」、「乗換検索」、「ショッピング検索」などである。この機能には、端末内機能の他、端末外機能も含まれる。「スコア」に記憶される情報は、当該情報に対応付けられたキーワードと機能との関連性の高さを示す値(スコア)であって、関連性が高いほど大きな値が割り当てられる。また、スコアは、後述するように確信度の算出に用いられる情報である。「端末内機能」に記憶される情報は、当該情報に対応付けられた機能が端末内機能であるか否かを示す情報である。
【0041】
例えば、キーワード「電話」には、電話機能、2.0のスコア、端末内機能であることを示す「Yes」が対応付けられている。すなわち、音声認識結果に「電話」という単語が含まれている場合には、電話機能の実行を指示するためのコマンドである可能性が高いと考えられるため、電話機能として2.0のスコアが割り当てられている。
【0042】
また、人名を示すキーワードには、電話機能およびメール機能が対応付けられている。そして、電話機能に対して0.5のスコア、メール機能に対して0.5のスコアがそれぞれ割り当てられている。このように、一つのキーワードに対して複数の異なる機能が対応付けられることもある。この場合、一つのキーワードに対応付けられた機能が複数存在するため、音声認識結果にこのキーワードが含まれているだけではどの機能の実行を指示するコマンドであるかを特定することができない。したがって、複数の機能と対応付けられるキーワードには小さい値のスコアが割り当てられてもよい。また、複数の機能と対応付けられるキーワードにはスコアが割り当てられないようにしてもよい。なお、人名を示すキーワードには、端末装置1の電話帳機能に登録された氏および名を含めてもよい。また、人名を示すキーワードは、音声認識結果に含まれる品詞などの付加情報に基づいて設定されてもよく、固定の人名辞書に登録された名前を用いてもよい。
【0043】
コマンド実行部18は、コマンド照合部16によって特定されたコマンドを実行するコマンド実行手段として機能する。そして、コマンド照合部16は、コマンドを実行した結果を、例えば出力装置108に出力する。
【0044】
引き続いて、図1を参照して、音声認識サーバ2の機能について説明する。音声認識サーバ2は、機能的には、音声受信部21(音声受信手段)と、サーバ音声認識部22(サーバ音声認識手段)と、大語彙辞書23(サーバ辞書)と、サーバ音声認識結果送信部24(サーバ音声認識結果送信手段)と、を備えている。
【0045】
音声受信部21は、端末装置1から送信された音声信号を受信する音声受信手段として機能する。具体的には、音声受信部21は、ネットワークNWを介して端末装置1の音声送信部14から音声信号を受信し、受信した音声信号をサーバ音声認識部22に送信する。
【0046】
サーバ音声認識部22は、音声受信部21によって受信された音声信号を、大語彙辞書23に基づいて音声認識するサーバ音声認識手段として機能する。具体的に説明すると、サーバ音声認識部22は、予め記憶された音響モデルおよび言語モデルと、後述の大語彙辞書23とを参照して、サーバ音声認識結果を取得する。このサーバ音声認識結果には、音声信号を音声認識した結果の文字列である、複数の単語から構成される文字列データと、文字列データを構成する各単語の信頼度とが含まれる。このサーバ音声認識部22は、音声認識部12よりも高精度の音声認識を行うことができる。
【0047】
大語彙辞書23は、ユーザ辞書13よりも多くの語彙を含む。大語彙辞書23には、地名、駅名、商品名、飲食店名、アプリ名などの固有名詞を含む多岐にわたった単語が登録されてリスト化されている。
【0048】
サーバ音声認識結果送信部24は、サーバ音声認識結果を端末装置1に送信するサーバ音声認識結果送信手段として機能する。具体的には、サーバ音声認識結果送信部24は、音声受信部21によって受信された音声信号に対するサーバ音声認識結果をサーバ音声認識部22から受信し、受信したサーバ音声認識結果をネットワークNWを介して端末装置1のサーバ音声認識結果受信部15に送信する。
【0049】
次に、図4に示す例を用いて確信度の算出方法について説明する。図4は、音声認識結果に基づく確信度の算出方法を説明するための図である。図4に示されるように、ユーザが音声入力装置106を使用して発話内容(a)「やまださんにでんわをかける」との音声を入力し、音声認識部12によって端末内音声認識結果(b)「山田 さん に 電話 を かける」が取得されたとする。コマンド照合部16は、キーワードリストを参照し、端末内音声認識結果(b)の各単語がキーワードリストに登録されたキーワードに一致するか否かを判定する。そして、コマンド照合部16は、端末内音声認識結果(b)に含まれる単語がキーワードリストに登録されたキーワードに一致する場合、そのキーワードに対応付けられた機能と、その機能に対して割り当てられたスコアとをキーワードリストから取得する。
【0050】
この場合、「山田」は人名に該当することから、キーワードリストに登録されたキーワードに一致すると判定される。そして、コマンド照合部16は、キーワードリストに基づいて、電話機能に対して0.5のスコアを取得し、メール機能に対して0.5のスコアを取得する。また、「電話」がキーワードリストに登録されたキーワードに一致することから、コマンド照合部16は、キーワード「電話」に対応付けられた電話機能に対して2.0のスコアを取得する。さらに、「かける」がキーワードリストに登録されたキーワードに一致することから、コマンド照合部16は、キーワード「かける」に対応付けられた電話機能に対して0.5のスコアを取得する。
【0051】
<第1の確信度算出方法>
ここで、コマンド照合部16は、各機能に対して取得したスコアの合計を機能ごとに算出し、そのうち最大の値を、その最大の値を有する機能の実行を指示するコマンドの確信度とする。図4の例では、電話機能のスコアの合計が0.5+2.0+0.5=3.0、メール機能のスコアの合計が0.5であるから、電話機能の実行を指示するためのコマンドの確信度が、3.0と算出される。
【0052】
<第2の確信度算出方法>
コマンド照合部16は、各機能に対して取得したスコアの合計を機能ごとに算出し、最大の値と2番目に大きい値の差を、最大の値を有する機能の実行を指示するコマンドの確信度とする。図4の例では、電話機能のスコアの合計が3.0、メール機能のスコアの合計が0.5であるから、電話機能の実行を指示するためのコマンドの確信度が、3.0−0.5=2.5と算出される。
【0053】
また、単語ごとの音声認識結果の信頼度が得られる場合には、以下の第3の確信度算出方法、または、第4の確信度算出方法を用いてもよい。
<第3の確信度算出方法>
コマンド照合部16は、各機能に対して取得したスコアと、単語ごとの音声認識結果の信頼度とに基づいて、確信度を算出する。例えば、音声認識部12によって認識された「山田 さん に 電話 を かける」の各単語について、「山田」の信頼度が0.9、「さん」の信頼度が0.8、「に」の信頼度が0.8、「電話」の信頼度が1.0、「を」の信頼度が0.5、「かける」の信頼度が0.5であったとする。なお、この信頼度は、音声認識部12により取得された端末内音声認識結果に含まれる。この場合、コマンド照合部16は、端末内音声認識結果の単語がキーワードリストに登録されたキーワードに一致すると判断すると、そのキーワードに対応付けられた機能に割り当てられたスコアに、その単語の信頼度を加える。そして、コマンド照合部16は、信頼度を加えたスコアの合計を機能ごとに算出し、そのうちの最大の値を、その最大の値を有する機能の実行を指示するコマンドの確信度とする。図4の例では、電話機能に対する信頼度を加えたスコアの合計が0.5+0.9+2.0+1.0+0.5+0.5=5.4、メール機能に対する信頼度を加えたスコアの合計が0.5+0.9=1.4であるから、電話機能の実行を指示するためのコマンドの確信度が、5.4と算出される。
【0054】
<第4の確信度算出方法>
コマンド照合部16は、端末内音声認識結果の単語がキーワードリストに登録されたキーワードに一致した場合に、そのキーワードに割り当てられたスコアに、その単語の信頼度を掛ける。そして、コマンド照合部16は、信頼度を掛けたスコアの合計を機能ごとに算出し、そのうちの最大値を、その最大の値を有する機能の実行を指示するコマンドの確信度とする。端末内音声認識結果の各単語の信頼度が第3の確信度算出方法において説明したものと同じとすると、図4の例では、電話機能に対する信頼度を掛けたスコアの合計が0.5×0.9+2.0×1.0+0.5×0.5=2.7、メール機能に対する信頼度を掛けたスコアの合計が0.5×0.9=0.45であるから、電話機能の実行を指示するためのコマンドの確信度が、2.7と算出される。
【0055】
続いて、端末装置1で実行されるコマンド判別実行処理(音声認識方法)について説明する。
【0056】
<第1のコマンド判別実行処理>
図5は、端末装置1のコマンド判別実行処理の一例を示すフローチャートである。本処理は、端末装置1のユーザが音声入力装置106を介して音声入力することにより開始される。
【0057】
音声入力部11は、音声入力装置106から音声信号の入力を受け付ける(S01,音声入力ステップ)。そして、音声入力部11は、受け付けた音声信号を音声認識部12および音声送信部14に送信する。次に、音声認識部12は、音声入力部11によって送信された音声信号を受信し、ユーザ辞書13を参照して受信した音声信号を音声認識する(S02,音声認識ステップ)。音声認識部12は、音声信号を音声認識した結果の文字列である文字列データ、文字列データを構成する各単語の信頼度情報を含む端末内音声認識結果をコマンド照合部16に送信する。
【0058】
次に、コマンド照合部16は、端末内音声認識結果をコマンド辞書17と照合する(S03,コマンド照合ステップ)。具体的に説明すると、コマンド照合部16は、コマンド辞書17に記憶されたキーワードリストを参照し、端末内音声認識結果に含まれる単語のそれぞれがキーワードリストに登録されたキーワードに一致するか否かを判定する。そして、端末内音声認識結果に含まれる単語がキーワードに一致した場合、コマンド照合部16は、そのキーワードに対応付けられた機能およびその機能に割り当てられたスコアをキーワードリストから取得する。そして、コマンド照合部16は、上述の確信度算出方法のいずれかによりコマンドの確信度を算出する。
【0059】
次に、コマンド照合部16は、端末内音声認識結果がコマンドとして受理されるか否かを判定する(S04,コマンド照合ステップ)。すなわち、コマンド照合部16は、確信度が閾値以上か否かを判定する。端末内音声認識結果がコマンドとして受理されたと判定された場合、すなわち、確信度が閾値以上であると判定された場合(S04;Yes)、コマンド照合部16は、受理されたコマンドが端末内機能の実行を指示するためのコマンドであるか否かを判定する(S05)。この判定は、例えばキーワードリストの端末内機能であるか否かを示す情報に基づいて行われる。
【0060】
受理されたコマンドが端末内機能の実行を指示するためのコマンドであると判定された場合(S05;Yes)、コマンド照合部16は、そのコマンドを音声信号によって示されるコマンドとして特定し、コマンド実行部18にそのコマンドの実行を指示する。続いて、コマンド実行部18は、コマンド照合部16によって特定されたコマンドを実行する(S06,コマンド実行ステップ)。そして、端末装置1は、コマンド判別実行処理を終了する。
【0061】
一方、S04の判定において、端末内音声認識結果がコマンドとして受理されなかったと判定された場合、すなわち、確信度が閾値未満であると判定された場合(S04;No)、または、S05の判定において、受理されたコマンドが端末内機能の実行を指示するためのコマンド以外のコマンドであると判定された場合(S05;No)、コマンド照合部16は、音声送信部14に対して、音声入力部11から受信した音声信号を音声認識サーバ2に送信するよう指示する。そして、音声送信部14は、音声信号を音声認識サーバ2に送信する(S07,音声送信ステップ)。
【0062】
音声認識サーバ2は、音声送信部14によって送信された音声信号を受信すると、その音声信号に対して音声認識を行いサーバ音声認識結果を取得する。この音声認識は、ユーザ辞書13よりも大語彙の大語彙辞書23が用いられるため、音声認識部12によって行われる端末内音声認識よりも高精度である。そして、音声認識サーバ2は、サーバ音声認識結果を端末装置1に送信する。
【0063】
その後、サーバ音声認識結果受信部15は、音声認識サーバ2からサーバ音声認識結果を受信する(S08,サーバ音声認識結果受信ステップ)。そして、サーバ音声認識結果受信部15は、受信したサーバ音声認識結果をコマンド照合部16に送信する。次に、コマンド照合部16は、サーバ音声認識結果をコマンド辞書17と照合する(S09)。具体的に説明すると、コマンド照合部16は、コマンド辞書17に記憶されたキーワードリストを参照し、サーバ音声認識結果に含まれる単語のそれぞれがキーワードリストに登録されたキーワードに一致するか否かを判定する。そして、サーバ音声認識結果に含まれる単語がキーワードに一致した場合、コマンド照合部16は、そのキーワードに対応付けられた機能およびその機能に割り当てられたスコアをキーワードリストから取得する。そして、コマンド照合部16は、上述の確信度算出方法によりコマンドの確信度を算出する。
【0064】
次に、コマンド照合部16は、サーバ音声認識結果がコマンドとして受理されるか否かを判定する(S10)。すなわち、コマンド照合部16は、確信度が閾値以上か否かを判定する。確信度が閾値以上であると判定された場合、すなわち、サーバ音声認識結果がコマンドとして受理されたと判定された場合(S10;Yes)、コマンド照合部16は、そのコマンドを音声信号によって示されるコマンドとして特定し、コマンド実行部18にそのコマンドの実行を指示する。続いて、コマンド実行部18は、コマンド照合部16によって特定されたコマンドを実行する(S06,コマンド実行ステップ)。そして、端末装置1は、コマンド判別実行処理を終了する。なお、端末内音声認識よりもサーバ音声認識の方が高精度であるため、S10の判定における閾値をS04の判定における閾値よりも小さくしてもよい。
【0065】
一方、S10の判定において、確信度が閾値未満であると判定された場合、すなわち、サーバ音声認識結果がコマンドとして受理されなかったと判定された場合(S10;No)、端末装置1は、コマンド判別実行処理を終了する。このとき、端末装置1は、音声の再入力を促すメッセージ等を出力装置108に表示してもよい。
【0066】
<第2のコマンド判別実行処理>
図6は、端末装置1のコマンド判別実行処理の他の例を示すフローチャートである。本処理は、端末装置1のユーザが音声入力装置106を介して音声入力することにより開始される。なお、本処理におけるS21〜S29の各ステップはそれぞれ、図5のS01〜S09の各ステップと同様であるため、S21〜S29の説明を省略する。
【0067】
S29の処理後、コマンド照合部16は、再度、端末内音声認識結果をコマンド辞書17と照合する(S30)。そして、コマンド照合部16は、S29において算出したコマンドの確信度と、S30において算出したコマンドの確信度とを比較し、最も確信度の高いコマンドを選択する(S31)。そして、コマンド照合部16は、選択したコマンドを音声信号によって示されるコマンドとして特定し、コマンド実行部18にそのコマンドの実行を指示する。コマンド実行部18は、コマンド照合部16によって特定されたコマンドが存在するか否かを判定する(S32)。コマンドが存在すると判定された場合(S32;Yes)、コマンド実行部18は、そのコマンドを実行する(S26,コマンド実行ステップ)。そして、端末装置1は、コマンド判別実行処理を終了する。一方、S32の判定において、コマンドが存在しないと判定された場合(S32;No)、コマンド実行部18はコマンドの実行を行わない。そして、端末装置1は、コマンド判別実行処理を終了する。このとき、端末装置1は、音声の再入力を促すメッセージ等を出力装置108に表示してもよい。
【0068】
なお、コマンド照合部16は、S29において、サーバ音声認識結果を端末内機能に該当しないコマンド群とのみ照合してもよく、S30において、端末内音声認識結果を端末内機能に該当するコマンド群とのみ照合してもよい。また、S31において、コマンド照合部16は、最も確信度の高いコマンドを選択しているが、確信度が閾値以上のコマンドの中で最も確信度が高いコマンドを選択するようにしてもよい。この場合、コマンド照合部16は、コマンドを受理する基準となる閾値をS04における閾値よりも小さくして照合するのが好ましい。
【0069】
<第3のコマンド判別実行処理>
図7は、端末装置1のコマンド判別実行処理の他の例を示すフローチャートである。本処理は、端末装置1のユーザが音声入力装置106を介して音声入力することにより開始される。なお、本処理におけるS41〜S47の各ステップはそれぞれ、図5のS01〜S07の各ステップと同様であるため、S41〜S47の説明を省略する。
【0070】
音声認識サーバ2では、S47において送信された音声信号を音声受信部21が受信すると、サーバ音声認識部22は、大語彙辞書23を参照し、音声受信部21によって受信された音声信号の音声認識を行ってサーバ音声認識結果を取得する。そして、サーバ音声認識部22は、さらにサーバ音声認識結果を音声認識サーバ2に設けられたコマンド辞書(不図示)と照合する。具体的に説明すると、サーバ音声認識部22は、コマンド辞書に記憶されたキーワードリストを参照し、サーバ音声認識結果に含まれる単語のそれぞれがキーワードリストに登録されたキーワードに一致するか否かを判定する。
【0071】
なお、キーワードリストは、コマンド辞書17に記憶されたキーワードリストよりもさらに多くのコマンドに対応したキーワードを含むものであってもよい。そして、サーバ音声認識結果に含まれる単語がキーワードに一致した場合、サーバ音声認識部22は、そのキーワードに対応付けられた機能およびその機能に割り当てられたスコアをキーワードリストから取得する。そして、サーバ音声認識部22は、上述の確信度算出方法のいずれかによりコマンドの確信度を算出する。
【0072】
次に、サーバ音声認識部22は、確信度が閾値以上か否かを判定する。確信度が閾値以上であると判定された場合、すなわち、サーバ音声認識結果がコマンドとして受理されたと判定された場合、音声認識サーバ2のサーバ音声認識結果送信部24は、閾値以上の確信度のコマンドの実行を端末装置1に指示する。そして、サーバ音声認識結果受信部15は、音声認識サーバ2による指示を受信し(S48)、その指示をコマンド実行部18に送信する。続いて、コマンド実行部18は、指示されたコマンドを実行する(S46,コマンド実行ステップ)。そして、端末装置1は、コマンド判別実行処理を終了する。
【0073】
上記第1〜第3のコマンド判別実行処理において、音声認識サーバ2への音声送信(S07,S27,またはS47,音声送信ステップ)は、端末内音声認識(S02,S22,またはS42,音声認識ステップ)と端末内音声認識結果のコマンド照合(S03,S23,またはS43,コマンド照合ステップ)の完了後に行われているが、音声認識サーバ2への音声送信は、音声入力後の任意のタイミングで、端末内音声認識や端末内音声認識結果のコマンド照合に先立って、もしくはこれらのステップと並行して行ってもよい。これにより、サーバ音声認識結果受信までの遅延時間を短縮することができる。
【0074】
続いて、図4、図8、図9を用いて、入力された発話内容に基づいてコマンドが特定され、実行されるまで処理を具体的に説明する。
【0075】
上述したように、図4に示す例では、まず、ユーザにより音声入力装置106を介して、発話内容(a)「やまださんにでんわをかける」が入力される。そして、音声入力部11は、発話内容(a)に対応する音声信号を受け付けて、その音声信号を音声認識部12および音声送信部14に送信する。次に、音声認識部12は、ユーザ辞書13を参照して端末内音声認識を行い、端末内音声認識結果(b)「山田 さん に 電話 を かける」を取得する。音声認識部12は、端末内音声認識結果(b)をコマンド照合部16に送信する。
【0076】
次に、コマンド照合部16は、端末内音声認識結果(b)をコマンド辞書17と照合する。コマンド照合部16は、「山田」を人名であると判断し、キーワードリストのキーワード「<人名>」に対応付けられた電話機能およびメール機能に対して、それぞれ0.5のスコアを加算する。また、コマンド照合部16は、「電話」がキーワードリストのキーワード「電話」に一致することから、キーワード「電話」に対応付けられた電話機能に対して、2.0のスコアを加算する。さらに、コマンド照合部16は、「かける」がキーワードリストのキーワード「かける」に一致することから、キーワード「かける」に対応付けられた電話機能に対して、0.5のスコアを加算する。そして、コマンド照合部16は、照合結果に基づいて確信度を算出する。ここで、確信度は、上述の第2の確信度算出方法により算出され、閾値は、2.0に設定されているものとする。この場合、電話機能が最大のスコアを有し、その確信度は3.0−0.5=2.5である。
【0077】
そして、コマンド照合部16は、確信度を閾値と比較し、電話機能を実行するためのコマンドを受理するか否かを判定する。確信度が閾値以上であることから、コマンド照合部16は、電話機能を実行するためのコマンドを受理する。次に、コマンド照合部16は、電話機能が端末内機能であるか否かを判断する。電話機能は端末内機能であることから、コマンド照合部16は、発生内容(a)が示すコマンドを電話機能を実行するためのコマンドとして特定し、そのコマンドの実行をコマンド実行部18に指示する。そして、コマンド実行部18は、電話機能を実行するためのコマンドを実行する。
【0078】
図8は、音声認識システム10におけるコマンド判別実行処理を説明するための一例を示す図である。まず、ユーザにより音声入力装置106を介して、発話内容(a)「かさをかう」が入力される。そして、音声入力部11は、発話内容(a)に対応する音声信号を受け付けて、その音声信号を音声認識部12および音声送信部14に送信する。次に、音声認識部12は、ユーザ辞書13を参照して端末内音声認識を行い、端末内音声認識結果(b)「笹尾 買う」を取得する。音声認識部12は、端末内音声認識結果(b)をコマンド照合部16に送信する。
【0079】
次に、コマンド照合部16は、端末内音声認識結果(b)をコマンド辞書17と照合する。コマンド照合部16は、「笹尾」を人名であると判断し、キーワードリストのキーワード「<人名>」に対応付けられた電話機能およびメール機能に対して、それぞれ0.5のスコアを加算する。さらに、コマンド照合部16は、「買う」がキーワードリストのキーワードに一致することから、キーワード「買う」に対応付けられたショッピング機能に対して、2.0のスコアを加算する。そして、コマンド照合部16は、照合結果に基づいて確信度を算出する。ここで、確信度は、上述の第2の確信度算出方法により算出され、閾値は、2.0に設定されているものとする。この場合、ショッピング機能が最大のスコアを有し、その確信度は2.0−0.5=1.5である。
【0080】
そして、コマンド照合部16は、確信度を閾値と比較し、ショッピング機能を実行するためのコマンドを受理するか否かを判定する。確信度が閾値よりも小さいことから、コマンド照合部16は、ショッピング機能を実行するためのコマンドを受理しない。次に、コマンド照合部16は、音声送信部14に発話内容(a)に対応する音声信号を音声認識サーバ2に送信するよう指示する。そして、音声送信部14は、発話内容(a)に対応する音声信号を音声認識サーバ2に送信する。その後、サーバ音声認識結果受信部15は、音声認識サーバ2からサーバ音声認識結果(c)「傘 を 買う」を受信する。そして、サーバ音声認識結果受信部15は、サーバ音声認識結果(c)をコマンド照合部16に送信する。
【0081】
次に、コマンド照合部16は、サーバ音声認識結果(c)をコマンド辞書17と照合する。コマンド照合部16は、「買う」がキーワードリストのキーワードに一致することから、キーワード「買う」に対応付けられたショッピング機能に対して、2.0のスコアを加算する。コマンド照合部16は、照合結果に基づいて確信度を算出する。この場合、ショッピング機能が最大のスコアを有し、その確信度は2.0である。そして、コマンド照合部16は、確信度を閾値と比較し、ショッピング機能を実行するためのコマンドを受理するか否かを判定する。
【0082】
ここで、閾値は、端末内音声認識結果がコマンドとして受理されるか否かの判定に用いた値と同じであってもよいが、それよりも小さい方が好ましい。ここでは、閾値を0.5とする。コマンド照合部16は、確信度が閾値以上であることから、ショッピング機能を実行するためのコマンドを受理する。そして、コマンド照合部16は、発話内容(a)が示すコマンドをショッピング機能を実行するためのコマンドとして特定し、そのコマンドの実行をコマンド実行部18に指示する。そして、コマンド実行部18は、ショッピング機能を実行するためのコマンドを実行する。
【0083】
なお、端末内音声認識結果(b)が「傘 を 買う」であり、端末内音声認識結果(b)がコマンドとして受理されるか否かの判定に用いた閾値を1.5とした場合、端末内音声認識結果(b)の照合結果に基づく確信度が閾値以上となることから、コマンド照合部16は、ショッピング機能を実行するためのコマンドを受理する。しかし、ショッピング機能は端末内機能に該当しないため、この場合も、コマンド照合部16は、音声送信部14に発話内容(a)に対応する音声信号を音声認識サーバ2に送信するよう指示することになる。
【0084】
図9は、音声認識システム10におけるコマンド判別実行処理を説明するための他の例を示す図である。まず、ユーザにより音声入力装置106を介して、発話内容(a)「やまださんにかける」が入力される。そして、音声入力部11は、発話内容(a)に対応する音声信号を受け付けて、その音声信号を音声認識部12および音声送信部14に送信する。次に、音声認識部12は、ユーザ辞書13を参照して端末内音声認識を行い、端末内音声認識結果(b)「山田 さん に かける」を取得する。音声認識部12は、端末内音声認識結果(b)をコマンド照合部16に送信する。
【0085】
次に、コマンド照合部16は、端末内音声認識結果(b)をコマンド辞書17と照合する。コマンド照合部16は、「山田」を人名であると判断し、キーワードリストのキーワード「<人名>」に対応付けられた電話機能およびメール機能に対して、それぞれ0.5のスコアを加算する。さらに、コマンド照合部16は、「かける」がキーワードリストのキーワードに一致することから、キーワード「かける」に対応付けられた電話機能に対して、0.5のスコアを加算する。そして、コマンド照合部16は、照合結果に基づいて確信度を算出する。ここで、確信度は、第2の確信度算出方法により算出され、閾値は、2.0に設定されているものとする。この場合、電話機能が最大のスコアを有し、その確信度は1.0−0.5=0.5である。
【0086】
そして、コマンド照合部16は、確信度を閾値と比較し、電話機能を実行するためのコマンドを受理するか否かを判定する。確信度が閾値よりも小さいことから、コマンド照合部16は、電話機能を実行するためのコマンドを受理しない。次に、コマンド照合部16は、音声送信部14に発話内容(a)に対応する音声信号を音声認識サーバ2に送信するよう指示する。そして、音声送信部14は、発話内容(a)に対応する音声信号を音声認識サーバ2に送信する。その後、サーバ音声認識結果受信部15は、音声認識サーバ2からサーバ音声認識結果(c)「山田 さん に かける」を受信する。そして、サーバ音声認識結果受信部15は、サーバ音声認識結果(c)をコマンド照合部16に送信する。
【0087】
次に、コマンド照合部16は、サーバ音声認識結果(c)をコマンド辞書17と照合する。コマンド照合部16は、「山田」を人名であると判断し、キーワードリストのキーワード「<人名>」に対応付けられた電話機能およびメール機能に対して、それぞれ0.5のスコアを加算する。さらに、コマンド照合部16は、「かける」がキーワードリストのキーワードに一致することから、キーワード「かける」に対応付けられた電話機能に対して、0.5のスコアを加算する。そして、コマンド照合部16は、照合結果に基づいて確信度を算出する。この場合、電話機能が最大のスコアを有し、その確信度は1.0−0.5=0.5である。そして、コマンド照合部16は、確信度を閾値と比較し、電話機能を実行するためのコマンドを受理するか否かを判定する。
【0088】
ここで、閾値は、端末内音声認識結果がコマンドとして受理されるか否かの判定に用いた値よりも小さい値0.5とする。コマンド照合部16は、確信度が閾値以上であることから、電話機能を実行するためのコマンドを受理する。そして、コマンド照合部16は、発生内容(a)が示すコマンドを電話機能を実行するためのコマンドとして特定し、そのコマンドの実行をコマンド実行部18に指示する。そして、コマンド実行部18は、電話機能を実行するためのコマンドを実行する。
【0089】
以上のように、例えば、ユーザが、端末内機能を実行するためのコマンドを発話した場合、端末内音声認識により正しく音声認識され、サーバ音声認識を行うことなくコマンドが実行される。一方、ユーザが、ネットワークからの情報取得を意図したコマンドを発話した場合、そのコマンド内には地名、駅名、商品名、飲食店名、アプリ名などの固有名詞が含まれることがある。このような場合には、端末内音声認識では正しく音声認識できないため、サーバ音声認識により確実に認識されてコマンドが実行される。
【0090】
次に、端末装置1のコマンド判別実行処理を、機能・アプリ判別呼出処理に応用した例について説明する。この処理は、ユーザが端末装置1に向けて発話を行うことにより、端末装置1内の機能(電話、メール、スケジューラなど)または端末装置1にインストールされたアプリの呼出を行う処理である。図10および図11は、音声認識システム10における機能・アプリ判別呼出処理の一例を説明するためのフローチャートである。本処理は、端末装置1のユーザが音声入力装置106を介して音声入力することにより開始される。なお、本処理におけるS51〜S52の各ステップはそれぞれ、図5のS01〜S02の各ステップと同様であるため、S51〜S52の説明を省略する。
【0091】
S52の処理後、音声認識部12は、S52において取得した端末内音声認識結果をコマンド照合部16に送信する。次に、コマンド照合部16は、端末内音声認識結果をコマンド辞書17と照合する(S53)。具体的に説明すると、コマンド照合部16は、コマンド辞書17に記憶されたキーワードリストを参照し、端末内音声認識結果がキーワードリストに登録されたキーワードに一致するか否かを判定する(S54)。なお、キーワードリストには、端末装置1において使用可能なコマンドに加えて、複数のアプリが予め登録されている。また、キーワードリストには、少なくともキーワードを示す情報と、機能またはアプリを示す情報と、が対応付けられて記憶されている。このキーワードとしては、機能名またはアプリ名が登録されている。キーワードリストに登録されたアプリは、端末装置1にインストールされているアプリに限らず、人気アプリなど端末装置1にインストール可能なアプリが含まれる。
【0092】
S54の判定において、端末内音声認識結果がキーワードに一致した場合(S54;Yes)、コマンド照合部16は、そのキーワードに対応付けられた機能またはアプリの呼出であると判断し、出力装置108に「(機能名またはアプリ名)でよろしいですか? Yes/他候補」を表示する(S55)。そして、コマンド照合部16は、ユーザによって「Yes」が選択されたか否かを判定する(S56)。ユーザによって「他候補」が選択されたと判定された場合(S56;No)、コマンド照合部16は、音声送信部14に対して、音声入力部11から受信した音声信号を音声認識サーバ2に送信するよう指示する。また、S54の判定において、端末内音声認識結果がキーワードに一致しなかった場合(S54;No)も、コマンド照合部16は、音声送信部14に対して、音声入力部11から受信した音声信号を音声認識サーバ2に送信するよう指示する。
【0093】
そして、音声送信部14は、音声信号を音声認識サーバ2に送信する(S57)。音声認識サーバ2は、S57において送信された音声信号を受信すると、音声認識を行って、サーバ音声認識結果を端末装置1に送信する。その後、サーバ音声認識結果受信部15は、音声認識サーバ2からサーバ音声認識結果を受信する(S58)。そして、サーバ音声認識結果受信部15は、受信したサーバ音声認識結果をコマンド照合部16に送信する。次に、コマンド照合部16は、サーバ音声認識結果をコマンド辞書17と照合する(S59)。具体的に説明すると、コマンド照合部16は、コマンド辞書17に記憶されたキーワードリストを参照し、サーバ音声認識結果がキーワードリストに登録されたキーワードに一致するか否かを判定する。さらに、コマンド照合部16は、端末内音声認識結果を再度コマンド辞書17と照合する(S60)。
【0094】
そして、コマンド照合部16は、S59およびS60における照合の結果、サーバ音声認識結果および端末内音声認識結果と一致したキーワード(機能名またはアプリ名)の一覧を取得する。そして、コマンド照合部16は、取得した機能名またはアプリ名の一覧を候補として出力装置108に表示する(S61)。その後、コマンド照合部16は、ユーザによっていずれかの候補が選択されたか否かを判定する(S62)。候補が選択されなかったと判定された場合(S62;No)、端末装置1は、機能・アプリ判別呼出処理を終了する。このとき、端末装置1は、音声の再入力を促すメッセージ等を出力装置108に表示してもよい。
【0095】
一方、S62の判定において、候補が選択されたと判定された場合(S62;Yes)、または、S56の判定において、ユーザによって「Yes」が選択されたと判定された場合(S56;Yes)、コマンド照合部16は、選択された候補が機能であるかアプリであるかを、コマンド辞書17に記憶されたキーワードリストを参照して判定する(S63)。選択された候補が機能であると判定された場合(S63;機能)、コマンド照合部16は、当該機能を実行するためのコマンドを音声信号によって示されるコマンドとして特定し、そのコマンドの実行をコマンド実行部18に指示する。そして、コマンド実行部18は、選択された機能を実行するためのコマンドを実行し(S64)、端末装置1は、機能・アプリ判別呼出処理を終了する。
【0096】
一方、S63の判定において、選択された候補がアプリであると判定された場合(S63;アプリ)、コマンド照合部16は、当該アプリが端末装置1にインストールされているか否かの判定を行う(S65)。選択されたアプリがインストールされていると判定された場合には(S65;Yes)、コマンド照合部16は、そのアプリを音声信号によって示されるアプリとして特定し、そのアプリの起動をコマンド実行部18に指示する。そして、コマンド実行部18は、選択されたアプリを起動し(S66)、端末装置1は、機能・アプリ判別呼出処理を終了する。一方、S65の判定において、選択されたアプリがインストールされていないと判定された場合には(S65;No)、コマンド照合部16は、出力装置108に「アプリ検索を行いますか? Yes/No」を表示する(S67)。
【0097】
そして、コマンド照合部16は、ユーザによって「Yes」が選択されたか否かを判定する(S68)。ユーザによって「Yes」が選択されたと判定された場合(S68;Yes)、コマンド照合部16は、通信モジュール105を介して、インターネット上のアプリ検索サイトであるアプリマーケットにおいて、選択されたアプリの検索を行う(S69)。そして、コマンド照合部16は、検索結果を出力装置108に表示することによって、ユーザが当該アプリをインストールできるようにする。そして、端末装置1は、機能・アプリ判別呼出処理を終了する。一方、S68の判定において、ユーザによって「No」が選択されたと判定された場合(S68;No)、端末装置1は、機能・アプリ判別呼出処理を終了する。
【0098】
なお、上述のコマンド判別実行処理と同様に、キーワードリストに、キーワードを示す情報と、機能名またはアプリ名を示す情報と、スコアを示す情報と、機能であるかアプリであるかを示す情報と、が対応付けられて記憶されてもよい。この場合、端末内音声認識結果およびサーバ音声認識結果の照合は、上述のコマンド判別実行処理と同様に、音声認識結果に含まれる単語と、キーワードリストに登録されたキーワードとを比較し、上述の確信度算出方法のいずれかにより確信度を算出することによって行われてもよい。
【0099】
続いて、図12を用いて、入力された発話内容に基づいてアプリが特定される処理を具体的に説明する。図12は、音声認識システム10における機能・アプリ判別呼出処理を説明するための一例を示す図である。
【0100】
まず、ユーザにより音声入力装置106を介して、発話内容(a)「ふらっどいっと」が入力される。そして、音声入力部11は、発話内容(a)に対応する音声信号を受け付けて、その音声信号を音声認識部12および音声送信部14に送信する。次に、音声認識部12は、ユーザ辞書13を参照して端末内音声認識を行い、端末内音声認識結果(b)「風呂 糸」を取得する。音声認識部12は、端末内音声認識結果(b)をコマンド照合部16に送信する。
【0101】
次に、コマンド照合部16は、端末内音声認識結果(b)をコマンド辞書17と照合する。具体的には、コマンド照合部16は、端末内音声認識結果(b)がキーワードリストに登録されたキーワード(機能名およびアプリ名)に一致するか否かを判定する。端末内音声認識結果がキーワードに一致しないため、コマンド照合部16は、音声送信部14に発話内容(a)に対応する音声信号を音声認識サーバ2に送信するよう指示する。そして、音声送信部14は、発話内容(a)に対応する音声信号を音声認識サーバ2に送信する。
【0102】
音声認識サーバ2では、受信した音声信号に対し、市中のアプリ名などが登録された大語彙辞書23を用いて音声認識が行われる。その後、サーバ音声認識結果受信部15は、音声認識サーバ2からサーバ音声認識結果(c)「flood it」を受信する。そして、サーバ音声認識結果受信部15は、サーバ音声認識結果(c)をコマンド照合部16に送信する。
【0103】
次に、コマンド照合部16は、サーバ音声認識結果(c)をコマンド辞書17と照合する。具体的には、コマンド照合部16は、サーバ音声認識結果(c)がキーワードリストに登録されたキーワード(機能名およびアプリ名)に一致するか否かを判定する。その結果、サーバ音声認識結果(c)がキーワード「Flood−It」に一致すると判定される。そして、コマンド照合部16は、「Flood−It」を候補として出力装置108に表示する。その後、コマンド照合部16は、ユーザによって候補が選択されたか否かを判定し、「Flood−It」が選択されたと判定する。
【0104】
続いて、コマンド照合部16は、選択された候補「Flood−It」が機能であるか、アプリであるかをキーワードリストを参照して判定する。キーワード「Flood−It」は、キーワードリストにアプリとして登録されているため、コマンド照合部16は、アプリであると判定する。そして、コマンド照合部16は、アプリ「Flood−It」が端末装置1にインストールされているか否かを判定する。判定の結果、アプリ「Flood−It」は端末装置1にインストールされていないので、コマンド照合部16は、出力装置108にアプリ検索を行うか否かを表示する。
【0105】
そして、ユーザによってアプリ検索を行うことが選択された場合、コマンド照合部16は、通信モジュール105を介して、アプリマーケットでアプリ「Flood−It」の検索を行い、検索結果を出力装置108に表示する。そして、ユーザによって当該アプリのインストールが指示されると、端末装置1にアプリ「Flood−It」がインストールされる。このように、ユーザは、アプリ名の発話、音声認識結果の確認、アプリ検索の指示およびアプリのインストールの指示という簡単な操作だけで、端末装置1に所望のアプリをインストールすることができる。
【0106】
次に、端末装置1の作用効果について説明する。端末装置1は、音声入力部11が音声信号の入力を受け付け、音声認識部12が音声信号に対する音声認識を行う。また、音声送信部14が音声信号を音声認識サーバ2に送信し、サーバ音声認識結果受信部15がサーバ音声認識結果を受信する。そして、コマンド照合部16が、端末内音声認識結果をコマンド辞書17と照合して、端末内音声認識結果およびサーバ音声認識結果のうちいずれの音声認識結果を利用するか決定し、決定された音声認識結果に基づいて音声信号によって示されるコマンドを特定する。そして、コマンド実行部18がコマンド照合部16によって特定されたコマンドを実行する。
【0107】
これにより、例えば、端末内音声認識結果がコマンドとして受理される場合は、端末内音声認識結果を利用してコマンドの実行を行い、端末内音声認識結果がコマンドとして受理できない場合には、サーバ音声認識結果を利用することができる。すなわち、端末内の語彙で認識可能なコマンドが音声入力された際には、端末内音声認識結果を利用することで高速に応答でき、端末内の語彙で認識不可能なコマンドが音声入力された際には、サーバ音声認識結果を利用することで音声入力されたコマンドを確実に認識し、実行することができる。
【0108】
また、コマンド照合部16は、端末内音声認識結果をコマンド辞書17と照合して、確信度を算出し、確信度が所定の閾値以上である場合に、端末内音声認識結果の利用を決定し、閾値以上の確信度のコマンドを音声信号によって示されるコマンドとして特定する。
【0109】
これにより、周囲の雑音などにより端末内音声認識結果の信頼度が低くなったが、正しく音声認識されている場合に、端末内音声認識結果を利用することができる。その結果、端末内の語彙で認識可能なコマンドを、端末内音声認識結果の信頼度が低くても高速に実行することが可能となる。
【0110】
また、コマンド辞書17は、複数のコマンドの各々に対して、複数のキーワードと、複数のキーワードに対応付けられたスコアとが登録されたキーワードリストを記憶し、コマンド照合部16は、端末内音声認識結果に含まれる単語の各々について、キーワードリストに登録された複数のキーワードのいずれかに該当するか否かを判定し、該当するキーワードに対応付けられたコマンドおよびスコアに基づいて確信度を算出する。これにより、端末内の語彙で認識可能なコマンドであるか否かを判定することができ、音声信号によって示されるコマンドをより確実に認識することができる。
【0111】
また、コマンド照合部16は、端末内音声認識結果に含まれる単語の各々について、キーワードリストに登録された複数のキーワードのいずれかに該当するか否かを判定し、該当するキーワードに対応付けられたコマンドおよびスコア並びに単語の音声認識の信頼度に基づいて、確信度を算出することが好ましい。これにより、端末内の語彙で認識可能なコマンドであるか否かを判定することができ、音声信号によって示されるコマンドをより確実に認識することができる。
【0112】
また、コマンド照合部16は、閾値以上の確信度のコマンドが、端末内機能の実行を指示するコマンドである場合には、端末内音声認識結果の利用を決定し、閾値以上の確信度のコマンドが、端末内機能の実行を指示するコマンドでない場合には、サーバ音声認識結果の利用を決定する。これにより、端末内機能の実行を指示するコマンドについては端末内音声認識結果を用いて高速に実行することができ、それ以外のコマンドについてはサーバ音声認識結果を用いて確実に実行することができる。
【0113】
音声送信部14は、音声認識部12によって端末内音声認識結果が得られる前に、音声信号を音声認識サーバ2に送信する。これにより、サーバ音声認識結果をより早く受信することができる。このため、サーバ音声認識結果を利用することが決定された場合に、高速にコマンドを実行することができる。
【0114】
サーバ音声認識結果受信部15は、コマンド照合部16によって端末内音声認識結果に基づいてコマンドが特定された後にサーバ音声認識結果を受信した場合、サーバ音声認識結果を破棄する。これにより、サーバ音声認識結果の受信を待つことなく、端末内音声認識結果に基づいてコマンドを特定することができる。このため、端末内の語彙で認識可能なコマンドを高速に実行することが可能となる。
【0115】
以上のように、端末装置1は、端末内音声認識と音声認識サーバ2を用いたネットワーク型音声認識とを協調させて利用することができる。この端末内音声認識は、ネットワークNWを介した通信が不要であることから高速に応答できるが、ユーザ辞書13に登録されている語彙が少ないことから正確な音声認識が行えない場合がある。一方、ネットワーク型音声認識は、大語彙辞書23に登録されている語彙がユーザ辞書13よりも多いことから音声認識の精度は端末内音声認識よりも高いが、ネットワークNWを介した通信を行うため、通信遅延等で応答が遅くなる場合がある。したがって、端末装置1に対して端末装置1内の認識対象の語彙(ユーザ依存語彙を含む)で認識可能な音声コマンドが入力された場合には、端末内音声認識により高速な応答を可能とし、端末装置1内の認識対象の語彙では認識不可能な音声コマンドが入力された場合には、音声認識サーバ2を用いたネットワーク型音声認識により大語彙・高精度な音声認識を可能とする。
【0116】
なお、本実施形態においては、装置として端末装置1を例示したが、これに限るものではなく、例えば、端末装置1における各機能を実行するためのプログラムモジュールとして構成してもよい。すなわち、音声入力部11に相当する音声入力モジュール、音声認識部12に相当する音声認識モジュール、音声送信部14に相当する音声送信モジュール、サーバ音声認識結果受信部15に相当するサーバ音声認識結果受信モジュール、コマンド照合部16に相当するコマンド照合モジュール、コマンド実行部18に相当するコマンド実行モジュールを備えた音声認識プログラムであって、携帯端末などのコンピュータシステムに当該プログラムを読み込ませることにより、上述の端末装置1と同等の機能を実現することができる。なお、上述の音声認識プログラムは、例えば、フレキシブルディスク、CD−ROM、DVDもしくはROM等の記憶媒体または半導体メモリに格納されて提供される。また、上述の音声認識プログラムは、搬送波に重畳されたコンピュータデータ信号としてネットワークを介して提供されてもよい。
【0117】
また、音声送信部14は、音声信号として非圧縮の音声波形または圧縮された音声波形を音声認識サーバ2に送信してもよく、あるいは、音声認識に利用される特徴量を音声認識サーバ2に送信してもよい。
【0118】
また、音声送信部14は、音声入力部11から音声信号を受信後、端末内音声認識結果を利用するか否かの決定がされる前に、音声認識サーバ2に音声信号を送信してもよい。この場合、音声認識部12による端末内音声認識およびコマンド照合部16による端末内音声認識結果のコマンド照合と並行して、音声認識サーバ2においてサーバ音声認識を行うことができ、サーバ音声認識結果を早く取得することが可能となる。その結果、コマンド照合部16によってサーバ音声認識結果の利用が決定された場合の処理時間を短縮することができる。このとき、コマンド照合部16は、サーバ音声認識結果を端末内音声認識結果よりも先に取得した場合、端末内音声認識結果を待っていずれの音声認識結果を利用するかを決定することが望ましいが、サーバ音声認識結果を優先して利用してもよい。
【0119】
また、音声送信部14が端末内音声認識結果を利用するか否かの判断がされる前に音声認識サーバ2に音声信号を送信し、サーバ音声認識結果受信部15が音声認識サーバ2からサーバ音声認識結果を受信する前に、コマンド照合部16が端末内音声認識結果を利用することを決定した場合、コマンド照合部16は、音声送信部14に対して音声認識サーバ2での音声認識処理を取り消すための信号を音声認識サーバ2に送信するように指示してもよい。このとき、音声送信部14は、コマンド照合部16からの指示に基づいて、音声認識サーバ2に音声認識サーバ2での音声認識処理を取り消すための信号を送信してもよい。このように、端末内音声認識により認識可能なコマンドが入力された場合には、音声認識サーバ2からのサーバ音声認識結果を待つことなく、端末内音声認識結果を利用することを決定することで、コマンド実行部18は高速にコマンドを実行できる。
【0120】
また、確信度の閾値は、固定値に限られず、端末内音声認識結果に含まれる単語数に対して、所定の割合(例えば0.2)を掛けた値とすることもできる。このようにすることで、単語数に応じて閾値を動的に変更することができ、より正確にコマンドを特定することが可能となる。
【0121】
また、コマンド照合部16は、受理されたコマンドが、端末内機能に相当する場合に限られず、例えば、限られた単語しか使われない機能、すなわち音声認識サーバ2による大語彙認識が必要ない機能に相当する場合に、当該コマンドを特定してもよい。
【0122】
また、コマンド辞書17は、機能名などのキーワードと、機能とを対応付け、スコアを有しないキーワードリストを記憶してもよい。この場合、コマンド照合部16は、音声認識結果に含まれる単語または部分文字列が、キーワードリストに登録されたキーワードに一致するか否かを判断し、いずれかのキーワードに一致した場合に、そのキーワードに対応付けられた機能を実行するためのコマンドを、音声信号によって示されるコマンドとして特定してもよい。
【符号の説明】
【0123】
1…端末装置、2…音声認識サーバ、10…音声認識システム、11…音声入力部(音声入力手段)、12…音声認識部(音声認識手段)、13…ユーザ辞書、14…音声送信部(音声送信手段)、15…サーバ音声認識結果受信部(サーバ音声認識結果受信手段)、16…コマンド照合部(コマンド照合手段)、17…コマンド辞書、18…コマンド実行部(コマンド実行手段)、21…音声受信部(音声受信手段)、22…サーバ音声認識部(サーバ音声認識手段)、23…大語彙辞書(サーバ辞書)、24…サーバ音声認識結果送信部(サーバ音声認識結果送信手段)。
【技術分野】
【0001】
本発明は、音声認識結果を処理する端末装置、音声認識プログラム、音声認識方法および音声認識システムに関する。
【背景技術】
【0002】
マイクから入力された音声の内容を認識し、認識した結果をコマンドとして実行する技術がある。例えば、下記の特許文献1および特許文献2には、端末内音声認識を行い、端末内音声認識の結果をコマンドに変換する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2007−318319号公報
【特許文献2】特開平7−219587号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記特許文献1および特許文献2に記載の発明では、以下のような問題がある。すなわち、上記特許文献1および特許文献2に記載の発明では、音声認識の結果がコマンド辞書に登録されていればそのコマンドが実行され、登録されていなければエラーが通知される。端末内音声認識では、認識可能な語彙が限られるため、端末内音声認識の語彙外の単語がコマンドに含まれる場合、コマンドが正しく発話されても端末内の音声認識によって正しく認識されず、そのコマンドが実行されない場合がある。
【0005】
そこで本発明は、このような問題点を解決するために、音声により入力されたコマンドを高速かつ確実に実行する端末装置、音声認識プログラム、音声認識方法および音声認識システムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するため、本発明の端末装置は、音声信号の入力を受け付ける音声入力手段と、音声入力手段によって受け付けられた音声信号に対する音声認識を行う音声認識手段と、複数のコマンドが登録されたコマンド辞書と、音声信号を音声認識サーバに送信する音声送信手段と、音声認識サーバによる音声信号に対する音声認識結果であるサーバ音声認識結果を受信するサーバ音声認識結果受信手段と、音声認識手段によって認識された音声認識結果である端末内音声認識結果をコマンド辞書と照合して、端末内音声認識結果およびサーバ音声認識結果のうちいずれの音声認識結果を利用するか決定し、決定された音声認識結果に基づいて音声信号によって示されるコマンドを特定するコマンド照合手段と、コマンド照合手段によって特定されたコマンドを実行するコマンド実行手段と、を備えることを特徴とする。
【0007】
また、本発明の音声認識システムは、端末装置と、音声認識サーバと、を含む音声認識システムであって、端末装置は、音声信号の入力を受け付ける音声入力手段と、音声入力手段によって受け付けられた音声信号に対する音声認識を行う音声認識手段と、複数のコマンドが登録されたコマンド辞書と、音声信号を音声認識サーバに送信する音声送信手段と、音声認識サーバによる音声信号に対する音声認識結果であるサーバ音声認識結果を受信するサーバ音声認識結果受信手段と、音声認識手段によって認識された音声認識結果である端末内音声認識結果をコマンド辞書と照合して、端末内音声認識結果およびサーバ音声認識結果のうちいずれの音声認識結果を利用するか決定し、決定された音声認識結果に基づいて音声信号によって示されるコマンドを特定するコマンド照合手段と、コマンド照合手段によって特定されたコマンドを実行するコマンド実行手段と、を備え、音声認識サーバは、音声送信手段から送信された音声信号を受信する音声受信手段と、端末装置よりも多くの語彙を含むサーバ辞書と、音声受信手段によって受信された音声信号を、サーバ辞書に基づいて音声認識するサーバ音声認識手段と、サーバ音声認識結果を端末装置に送信するサーバ音声認識結果送信手段と、を備えることを特徴とする。
【0008】
本発明によれば、端末内音声認識結果をコマンド辞書と照合し、照合した結果に基づいて端末内音声認識結果およびサーバ音声認識結果のいずれの音声認識結果を利用するか決定することによって、例えば、端末内音声認識結果がコマンドとして受理される場合は、端末内音声認識結果を利用してコマンドの実行を行い、端末内音声認識結果がコマンドとして受理できない場合には、サーバ音声認識結果を利用することができる。すなわち、端末内の語彙で認識可能なコマンドが音声入力された際には、端末内音声認識結果を利用することで高速に応答でき、端末内の語彙で認識不可能なコマンドが音声入力された際には、サーバ音声認識結果を利用することで音声入力されたコマンドを確実に認識し、実行することができる。
【0009】
また、コマンド照合手段は、端末内音声認識結果をコマンド辞書と照合して、コマンドに該当する可能性を示す確信度を算出し、確信度が所定の閾値以上である場合に、端末内音声認識結果の利用を決定し、閾値以上の確信度のコマンドを音声信号によって示されるコマンドとして特定することが好ましい。これによれば、端末内音声認識結果の信頼度が低くても正しく音声認識された場合に、端末内音声認識結果を利用することができる。その結果、端末内の語彙で認識可能なコマンドを、端末内音声認識結果の信頼度が低くても高速に実行することが可能となる。
【0010】
また、コマンド辞書は、複数のコマンドの各々に対して、複数のキーワードと、複数のキーワードに対応付けられたスコアとが登録されたキーワードリストを記憶し、コマンド照合手段は、端末内音声認識結果に含まれる単語の各々について、キーワードリストに登録された複数のキーワードのいずれかに該当するか否かを判定し、該当するキーワードに対応付けられたコマンドおよびスコアに基づいて確信度を算出することが好ましい。これによれば、端末内の語彙で認識可能なコマンドであるか否かを判定することができ、音声信号によって示されるコマンドをより確実に認識することができる。
【0011】
また、コマンド照合手段は、端末内音声認識結果に含まれる単語の各々について、キーワードリストに登録された複数のキーワードのいずれかに該当するか否かを判定し、該当するキーワードに対応付けられたコマンドおよびスコア並びに単語の音声認識の信頼度に基づいて、確信度を算出することが好ましい。これによれば、端末内の語彙で認識可能なコマンドであるか否かを判定することができ、音声信号によって示されるコマンドをより確実に認識することができる。
【0012】
また、コマンド照合手段は、閾値以上の確信度のコマンドが、端末内機能の実行を指示するコマンドである場合には、端末内音声認識結果の利用を決定し、閾値以上の確信度のコマンドが、端末内機能の実行を指示するコマンド以外のコマンドである場合には、サーバ音声認識結果の利用を決定することが好ましい。これによれば、端末内機能の実行を指示するコマンドについては端末内音声認識結果を用いて高速に実行することができ、それ以外のコマンドについてはサーバ音声認識結果を用いて確実に実行することができる。
【0013】
また、音声送信手段は、音声認識手段によって端末内音声認識結果が得られる前に、音声信号を音声認識サーバに送信することが好ましい。これによれば、サーバ音声認識結果をより早く受信することができる。このため、サーバ音声認識結果を利用することが決定された場合に、高速にコマンドを実行することができる。
【0014】
また、サーバ音声認識結果受信手段は、コマンド照合手段によって端末内音声認識結果に基づいてコマンドが特定された後にサーバ音声認識結果を受信した場合、サーバ音声認識結果を破棄することが好ましい。これによれば、サーバ音声認識結果の受信を待つことなく、端末内音声認識結果に基づいてコマンドを特定することができる。このため、端末内の語彙で認識可能なコマンドを高速に実行することが可能となる。
【0015】
ところで、本発明は、上記のように端末装置の発明として記述できる他に、以下のように音声認識プログラムおよび音声認識方法の発明としても記述することができる。これはカテゴリが異なるだけで、実質的に同一の発明であり、同様の作用および効果を奏する。
【0016】
すなわち、本発明の音声認識プログラムは、音声信号の入力を受け付ける音声入力モジュールと、音声入力モジュールによって受け付けられた音声信号に対する音声認識を行う音声認識モジュールと、音声信号を音声認識サーバに送信する音声送信モジュールと、音声認識サーバによる音声信号に対する音声認識結果であるサーバ音声認識結果を受信するサーバ音声認識結果受信モジュールと、音声認識モジュールによって認識された音声認識結果である端末内音声認識結果を複数のコマンドが登録されたコマンド辞書と照合して、端末内音声認識結果およびサーバ音声認識結果のうちいずれの音声認識結果を利用するか決定し、決定された音声認識結果に基づいて音声信号によって示されるコマンドを特定するコマンド照合モジュールと、コマンド照合モジュールによって特定されたコマンドを実行するコマンド実行モジュールと、を備えることを特徴とする。
【0017】
また、コマンド照合モジュールは、端末内音声認識結果をコマンド辞書と照合して、コマンドに該当する可能性を示す確信度を算出し、確信度が所定の閾値以上である場合に、端末内音声認識結果の利用を決定し、閾値以上の確信度のコマンドを音声信号によって示されるコマンドとして特定することが好ましい。
【0018】
また、コマンド辞書は、複数のコマンドの各々に対して、複数のキーワードと、複数のキーワードの各々に対応付けられたスコアとが登録されたキーワードリストを記憶し、コマンド照合モジュールは、端末内音声認識結果に含まれる単語の各々について、キーワードリストに登録された複数のキーワードのいずれかに該当するか否かを判定し、該当するキーワードに対応付けられたコマンドおよびスコアに基づいて確信度を算出することが好ましい。
【0019】
また、コマンド照合モジュールは、端末内音声認識結果に含まれる単語の各々について、キーワードリストに登録された複数のキーワードのいずれかに該当するか否かを判定し、該当するキーワードに対応付けられたコマンドおよびスコア並びに単語の音声認識の信頼度に基づいて、確信度を算出することが好ましい。
【0020】
また、コマンド照合モジュールは、閾値以上の確信度のコマンドが、端末内機能の実行を指示するコマンドである場合には、端末内音声認識結果の利用を決定し、閾値以上の確信度のコマンドが、端末内機能の実行を指示するコマンド以外のコマンドである場合には、サーバ音声認識結果の利用を決定することが好ましい。
【0021】
また、音声送信モジュールは、音声認識モジュールによって端末内音声認識結果が得られる前に、音声信号を音声認識サーバに送信することが好ましい。
【0022】
サーバ音声認識結果受信モジュールは、コマンド照合モジュールによって端末内音声認識結果に基づいてコマンドが特定された後にサーバ音声認識結果を受信した場合、サーバ音声認識結果を破棄することが好ましい。
【0023】
また、本発明の音声認識方法は、音声信号の入力を受け付ける音声入力ステップと、音声入力ステップにおいて受け付けられた音声信号に対する音声認識を行う音声認識ステップと、音声信号を音声認識サーバに送信する音声送信ステップと、音声認識サーバによる音声信号に対する音声認識結果であるサーバ音声認識結果を受信するサーバ音声認識結果受信ステップと、音声認識ステップにおいて認識された音声認識結果である端末内音声認識結果を複数のコマンドが登録されたコマンド辞書と照合して、端末内音声認識結果およびサーバ音声認識結果のうちいずれの音声認識結果を利用するか決定し、決定された音声認識結果に基づいて音声信号によって示されるコマンドを特定するコマンド照合ステップと、コマンド照合ステップにおいて特定されたコマンドを実行するコマンド実行ステップと、を備えることを特徴とする。
【発明の効果】
【0024】
本発明によれば、音声により入力されたコマンドを高速かつ確実に実行することができる。
【図面の簡単な説明】
【0025】
【図1】本発明の実施形態に係る音声認識システムの機能構成を示す図である。
【図2】図1の端末装置のハードウェア構成を示す図である。
【図3】図1のコマンド辞書が記憶するキーワードリストの一例を示す図である。
【図4】図1の音声認識システムにおける確信度の算出方法を説明するための図である。
【図5】図1の端末装置で実行されるコマンド判別実行処理の一例を説明するためのフローチャートである。
【図6】図1の端末装置で実行されるコマンド判別実行処理の他の例を説明するためのフローチャートである。
【図7】図1の端末装置で実行されるコマンド判別実行処理の他の例を説明するためのフローチャートである。
【図8】図1の音声認識システムにおけるコマンド判別実行処理を説明するための図である。
【図9】図1の音声認識システムにおけるコマンド判別実行処理を説明するための図である。
【図10】図1の音声認識システムにおける機能・アプリ判別呼出処理の一例を説明するためのフローチャートである。
【図11】図10の続きを示すフローチャートである。
【図12】図1の音声認識システムにおける機能・アプリ判別呼出処理を説明するための図である。
【発明を実施するための形態】
【0026】
以下、添付図面を参照して、本発明の実施形態を詳細に説明する。なお、図面の説明において同一または相当要素には同一の符号を付し、重複する説明を省略する。
【0027】
図1は、本実施形態に係る音声認識システムの機能構成を示す図である。図1に示されるように、音声認識システム10は、端末装置1に入力された音声信号を、端末内音声認識またはネットワーク型音声認識により音声認識するシステムであって、端末装置1および音声認識サーバ2を含んで構成されている。端末装置1は、マイクなどの音声入力装置から入力された音声信号が示すコマンドに応じて、端末装置1が備える機能の起動および外部からの情報の取得などを実行する装置である。音声認識サーバ2は、端末装置1から送信された音声信号を音声認識してサーバ音声認識結果を取得し、そのサーバ音声認識結果を端末装置1に送信する装置である。なお、端末装置1と音声認識サーバ2とは、ネットワークNWを介して通信接続されている。
【0028】
ここで、端末内音声認識とは、端末装置1内で行われる音声認識を意味し、ネットワークNWを介した通信が不要であることから高速に応答できるが、認識対象の語彙が少ないことから正確な音声認識が行えない場合がある。ネットワーク型音声認識とは、音声認識サーバ2によって行われる音声認識を意味し、端末内音声認識よりも認識対象の語彙が多く、音声認識の精度は高いが、ネットワークNWを介した通信を行うため、通信遅延等で応答が遅くなる場合がある。
【0029】
端末装置1は、機能的には、音声入力部11(音声入力手段)と、音声認識部12(音声認識手段)と、ユーザ辞書13と、音声送信部14(音声送信手段)と、サーバ音声認識結果受信部15(サーバ音声認識結果受信手段)と、コマンド照合部16(コマンド照合手段)と、コマンド辞書17と、コマンド実行部18(コマンド実行手段)と、を備えている。この端末装置1は、例えば、携帯電話、スマートフォン、PDA(Personal Digital Assistants)、カーナビゲーションシステム、ノートPC等の音声入力装置を備える装置であって、図2に示されるハードウェアにより構成される。
【0030】
図2は、端末装置1のハードウェア構成を示す図である。図2に示されるように、端末装置1は、物理的には、CPU(Central Processing Unit)101、主記憶装置であるRAM(Random Access Memory)102、ROM(Read Only Memory)103、ハードディスクなどの補助記憶装置104、ネットワークカードなどのデータ送受信デバイスである通信モジュール105、マイクなどの音声入力デバイスである音声入力装置106、キーボードやマウスなどの入力デバイスである入力装置107、液晶ディスプレイなどの出力デバイスである出力装置108などのハードウェアにより構成されている。図1において説明した端末装置1の各機能は、図2に示すCPU101、RAM102などのハードウェア上に所定のコンピュータソフトウェアを読み込ませることにより、CPU101の制御のもとで音声入力装置106、入力装置107、出力装置108などを動作させるとともに、RAM102や補助記憶装置104におけるデータの読み出しおよび書き込みを行うことで実現される。
【0031】
引き続いて、図1を参照して、端末装置1の機能について説明する。音声入力部11は、音声信号の入力を受け付ける音声入力手段として機能する。具体的には、音声入力部11は、マイクなどの音声入力装置106を介して入力されたユーザの発話内容に基づく音声信号を受け付ける。そして、音声入力部11は、受け付けた音声信号を音声認識部12および音声送信部14に送信する。
【0032】
音声認識部12は、音声入力部11によって受け付けられた音声信号に対する音声認識を行う音声認識手段として機能する。音声認識部12は、予め記憶された音響モデルおよび言語モデルと、後述のユーザ辞書13とを参照して、端末装置1の音声認識結果である端末内音声認識結果を取得する。この端末内音声認識結果には、音声信号を音声認識した結果の文字列である、複数の単語から構成される文字列データと、文字列データ全体または文字列データを構成する各単語の認識結果の尤もらしさを示す信頼度とが含まれる。そして、音声認識部12は、端末内音声認識結果をコマンド照合部16に送信する。なお、音声認識部12は、ユーザ辞書13に登録されていない端末内音声認識の語彙外の単語が発話内容に含まれている場合、正しく音声認識することができない。
【0033】
ユーザ辞書13は、認識対象の単語が登録されてリスト化されたものである。このユーザ辞書13には、一般に用いられる単語の他、端末装置1のユーザ固有の単語が含まれてもよい。例えば、端末装置1の電話帳に登録された氏名、端末装置1内に保存された音楽および動画などのコンテンツ名などはそれぞれ、ユーザ辞書13に単語として登録されている。なお、地名、駅名、商品名、飲食店名、アプリ名などの固有名詞は、多岐にわたるため、ユーザ辞書13に登録されていないことがある。
【0034】
音声送信部14は、音声信号を音声認識サーバ2に送信する音声送信手段として機能する。具体的には、音声送信部14は、音声入力部11によって送信された音声信号を受信し、受信した音声信号をネットワークNWを介して音声認識サーバ2に送信する。このとき、音声送信部14は、音声信号を非圧縮または圧縮して送信する。また、音声送信部14は、音声入力部11から受信した音声信号を一時的に記憶しておき、後述のコマンド照合部16からの指示により音声信号を音声認識サーバ2に送信してもよい。また、音声送信部14は、コマンド照合部16の指示を待つことなく、音声入力部11から受信した音声信号を音声認識サーバ2に送信してもよい。
【0035】
サーバ音声認識結果受信部15は、音声認識サーバ2による音声信号に対する音声認識結果であるサーバ音声認識結果を受信するサーバ音声認識結果受信手段として機能する。サーバ音声認識結果受信部15は、ネットワークNWを介して音声認識サーバ2からサーバ音声認識結果を受信する。そして、サーバ音声認識結果受信部15は、受信したサーバ音声認識結果をコマンド照合部16に送信する。
【0036】
コマンド照合部16は、端末内音声認識結果を後述のコマンド辞書17と照合して、端末内音声認識結果およびサーバ音声認識結果のうちいずれの音声認識結果を利用するか決定し、決定された音声認識結果に基づいて音声信号によって示されるコマンドを特定するコマンド照合手段として機能する。具体的に説明すると、コマンド照合部16は、まず、端末内音声認識結果をコマンド辞書17と照合して、コマンドに該当する可能性を示す確信度を算出する。この確信度の算出方法については、後述する。
【0037】
そして、確信度が所定の閾値以上の場合に、コマンド照合部16は、端末内音声認識結果の利用を決定し、閾値以上の確信度のコマンドを音声信号によって示されるコマンドとして特定する。一方、確信度が閾値未満である場合、すなわち、端末内音声認識結果をコマンドとして受理できなかった場合、コマンド照合部16は、サーバ音声認識結果の利用を決定し、音声入力部11から受信した音声信号を音声認識サーバ2に送信するよう音声送信部14に対して指示する。なお、閾値は、コマンド照合部16に予め設定された固定値であって、例えば2.5に設定されている。
【0038】
コマンド照合部16は、閾値以上の確信度のコマンドが、端末内機能の実行を指示するコマンドである場合には、端末内音声認識結果の利用を決定し、閾値以上の確信度のコマンドが、端末内機能の実行を指示するコマンド以外のコマンドである場合には、サーバ音声認識結果の利用を決定するようにしてもよい。ここで、端末内機能とは、端末装置1が備える機能(例えば、電話機能、メール機能、カメラ機能、スケジュール機能など)であって、ネットワークNW上の他の装置を利用することなく、端末装置1内で実行可能な機能を意味する。コマンド照合部16は、例えば後述のキーワードリストに基づいて、端末内機能であるか否かの判断を行ってもよい。この場合、コマンド照合部16は、端末内機能の実行を指示するコマンドについては端末内音声認識結果を用いて高速に実行することができ、それ以外のコマンドについてはサーバ音声認識結果を用いて確実に実行することができる。
【0039】
コマンド辞書17は、端末装置1において使用可能なコマンドをリスト化したものである。このコマンド辞書17には、端末内機能の実行を指示するためのコマンドの他、外部のサーバ等を利用する端末外機能の実行を指示するためのコマンドが含まれていてもよい。端末内機能の実行を指示するためのコマンドには、例えば、電話をかける、メール機能起動、カメラ起動および端末内アプリ起動などがある。また、端末外機能の実行を指示するためのコマンドには、乗換検索、飲食店検索、ショッピングサイト検索、天気予報閲覧およびアプリ検索などがある。
【0040】
図3は、コマンド辞書17が記憶するキーワードリストの一例を示す図である。図3に示されるように、キーワードリストには、「キーワード」と「機能」と「スコア」と「端末内機能」とが対応付けて記憶されている。「キーワード」に記憶される情報は、各機能に対して一定の関連性を有するキーワードを示す情報であって、例えば「電話」、「メール」、「読む」、「買う」などである。「機能」に記憶される情報は、端末装置1が実行可能な機能を示す情報であって、例えば「電話」、「メール」、「カメラ」、「乗換検索」、「ショッピング検索」などである。この機能には、端末内機能の他、端末外機能も含まれる。「スコア」に記憶される情報は、当該情報に対応付けられたキーワードと機能との関連性の高さを示す値(スコア)であって、関連性が高いほど大きな値が割り当てられる。また、スコアは、後述するように確信度の算出に用いられる情報である。「端末内機能」に記憶される情報は、当該情報に対応付けられた機能が端末内機能であるか否かを示す情報である。
【0041】
例えば、キーワード「電話」には、電話機能、2.0のスコア、端末内機能であることを示す「Yes」が対応付けられている。すなわち、音声認識結果に「電話」という単語が含まれている場合には、電話機能の実行を指示するためのコマンドである可能性が高いと考えられるため、電話機能として2.0のスコアが割り当てられている。
【0042】
また、人名を示すキーワードには、電話機能およびメール機能が対応付けられている。そして、電話機能に対して0.5のスコア、メール機能に対して0.5のスコアがそれぞれ割り当てられている。このように、一つのキーワードに対して複数の異なる機能が対応付けられることもある。この場合、一つのキーワードに対応付けられた機能が複数存在するため、音声認識結果にこのキーワードが含まれているだけではどの機能の実行を指示するコマンドであるかを特定することができない。したがって、複数の機能と対応付けられるキーワードには小さい値のスコアが割り当てられてもよい。また、複数の機能と対応付けられるキーワードにはスコアが割り当てられないようにしてもよい。なお、人名を示すキーワードには、端末装置1の電話帳機能に登録された氏および名を含めてもよい。また、人名を示すキーワードは、音声認識結果に含まれる品詞などの付加情報に基づいて設定されてもよく、固定の人名辞書に登録された名前を用いてもよい。
【0043】
コマンド実行部18は、コマンド照合部16によって特定されたコマンドを実行するコマンド実行手段として機能する。そして、コマンド照合部16は、コマンドを実行した結果を、例えば出力装置108に出力する。
【0044】
引き続いて、図1を参照して、音声認識サーバ2の機能について説明する。音声認識サーバ2は、機能的には、音声受信部21(音声受信手段)と、サーバ音声認識部22(サーバ音声認識手段)と、大語彙辞書23(サーバ辞書)と、サーバ音声認識結果送信部24(サーバ音声認識結果送信手段)と、を備えている。
【0045】
音声受信部21は、端末装置1から送信された音声信号を受信する音声受信手段として機能する。具体的には、音声受信部21は、ネットワークNWを介して端末装置1の音声送信部14から音声信号を受信し、受信した音声信号をサーバ音声認識部22に送信する。
【0046】
サーバ音声認識部22は、音声受信部21によって受信された音声信号を、大語彙辞書23に基づいて音声認識するサーバ音声認識手段として機能する。具体的に説明すると、サーバ音声認識部22は、予め記憶された音響モデルおよび言語モデルと、後述の大語彙辞書23とを参照して、サーバ音声認識結果を取得する。このサーバ音声認識結果には、音声信号を音声認識した結果の文字列である、複数の単語から構成される文字列データと、文字列データを構成する各単語の信頼度とが含まれる。このサーバ音声認識部22は、音声認識部12よりも高精度の音声認識を行うことができる。
【0047】
大語彙辞書23は、ユーザ辞書13よりも多くの語彙を含む。大語彙辞書23には、地名、駅名、商品名、飲食店名、アプリ名などの固有名詞を含む多岐にわたった単語が登録されてリスト化されている。
【0048】
サーバ音声認識結果送信部24は、サーバ音声認識結果を端末装置1に送信するサーバ音声認識結果送信手段として機能する。具体的には、サーバ音声認識結果送信部24は、音声受信部21によって受信された音声信号に対するサーバ音声認識結果をサーバ音声認識部22から受信し、受信したサーバ音声認識結果をネットワークNWを介して端末装置1のサーバ音声認識結果受信部15に送信する。
【0049】
次に、図4に示す例を用いて確信度の算出方法について説明する。図4は、音声認識結果に基づく確信度の算出方法を説明するための図である。図4に示されるように、ユーザが音声入力装置106を使用して発話内容(a)「やまださんにでんわをかける」との音声を入力し、音声認識部12によって端末内音声認識結果(b)「山田 さん に 電話 を かける」が取得されたとする。コマンド照合部16は、キーワードリストを参照し、端末内音声認識結果(b)の各単語がキーワードリストに登録されたキーワードに一致するか否かを判定する。そして、コマンド照合部16は、端末内音声認識結果(b)に含まれる単語がキーワードリストに登録されたキーワードに一致する場合、そのキーワードに対応付けられた機能と、その機能に対して割り当てられたスコアとをキーワードリストから取得する。
【0050】
この場合、「山田」は人名に該当することから、キーワードリストに登録されたキーワードに一致すると判定される。そして、コマンド照合部16は、キーワードリストに基づいて、電話機能に対して0.5のスコアを取得し、メール機能に対して0.5のスコアを取得する。また、「電話」がキーワードリストに登録されたキーワードに一致することから、コマンド照合部16は、キーワード「電話」に対応付けられた電話機能に対して2.0のスコアを取得する。さらに、「かける」がキーワードリストに登録されたキーワードに一致することから、コマンド照合部16は、キーワード「かける」に対応付けられた電話機能に対して0.5のスコアを取得する。
【0051】
<第1の確信度算出方法>
ここで、コマンド照合部16は、各機能に対して取得したスコアの合計を機能ごとに算出し、そのうち最大の値を、その最大の値を有する機能の実行を指示するコマンドの確信度とする。図4の例では、電話機能のスコアの合計が0.5+2.0+0.5=3.0、メール機能のスコアの合計が0.5であるから、電話機能の実行を指示するためのコマンドの確信度が、3.0と算出される。
【0052】
<第2の確信度算出方法>
コマンド照合部16は、各機能に対して取得したスコアの合計を機能ごとに算出し、最大の値と2番目に大きい値の差を、最大の値を有する機能の実行を指示するコマンドの確信度とする。図4の例では、電話機能のスコアの合計が3.0、メール機能のスコアの合計が0.5であるから、電話機能の実行を指示するためのコマンドの確信度が、3.0−0.5=2.5と算出される。
【0053】
また、単語ごとの音声認識結果の信頼度が得られる場合には、以下の第3の確信度算出方法、または、第4の確信度算出方法を用いてもよい。
<第3の確信度算出方法>
コマンド照合部16は、各機能に対して取得したスコアと、単語ごとの音声認識結果の信頼度とに基づいて、確信度を算出する。例えば、音声認識部12によって認識された「山田 さん に 電話 を かける」の各単語について、「山田」の信頼度が0.9、「さん」の信頼度が0.8、「に」の信頼度が0.8、「電話」の信頼度が1.0、「を」の信頼度が0.5、「かける」の信頼度が0.5であったとする。なお、この信頼度は、音声認識部12により取得された端末内音声認識結果に含まれる。この場合、コマンド照合部16は、端末内音声認識結果の単語がキーワードリストに登録されたキーワードに一致すると判断すると、そのキーワードに対応付けられた機能に割り当てられたスコアに、その単語の信頼度を加える。そして、コマンド照合部16は、信頼度を加えたスコアの合計を機能ごとに算出し、そのうちの最大の値を、その最大の値を有する機能の実行を指示するコマンドの確信度とする。図4の例では、電話機能に対する信頼度を加えたスコアの合計が0.5+0.9+2.0+1.0+0.5+0.5=5.4、メール機能に対する信頼度を加えたスコアの合計が0.5+0.9=1.4であるから、電話機能の実行を指示するためのコマンドの確信度が、5.4と算出される。
【0054】
<第4の確信度算出方法>
コマンド照合部16は、端末内音声認識結果の単語がキーワードリストに登録されたキーワードに一致した場合に、そのキーワードに割り当てられたスコアに、その単語の信頼度を掛ける。そして、コマンド照合部16は、信頼度を掛けたスコアの合計を機能ごとに算出し、そのうちの最大値を、その最大の値を有する機能の実行を指示するコマンドの確信度とする。端末内音声認識結果の各単語の信頼度が第3の確信度算出方法において説明したものと同じとすると、図4の例では、電話機能に対する信頼度を掛けたスコアの合計が0.5×0.9+2.0×1.0+0.5×0.5=2.7、メール機能に対する信頼度を掛けたスコアの合計が0.5×0.9=0.45であるから、電話機能の実行を指示するためのコマンドの確信度が、2.7と算出される。
【0055】
続いて、端末装置1で実行されるコマンド判別実行処理(音声認識方法)について説明する。
【0056】
<第1のコマンド判別実行処理>
図5は、端末装置1のコマンド判別実行処理の一例を示すフローチャートである。本処理は、端末装置1のユーザが音声入力装置106を介して音声入力することにより開始される。
【0057】
音声入力部11は、音声入力装置106から音声信号の入力を受け付ける(S01,音声入力ステップ)。そして、音声入力部11は、受け付けた音声信号を音声認識部12および音声送信部14に送信する。次に、音声認識部12は、音声入力部11によって送信された音声信号を受信し、ユーザ辞書13を参照して受信した音声信号を音声認識する(S02,音声認識ステップ)。音声認識部12は、音声信号を音声認識した結果の文字列である文字列データ、文字列データを構成する各単語の信頼度情報を含む端末内音声認識結果をコマンド照合部16に送信する。
【0058】
次に、コマンド照合部16は、端末内音声認識結果をコマンド辞書17と照合する(S03,コマンド照合ステップ)。具体的に説明すると、コマンド照合部16は、コマンド辞書17に記憶されたキーワードリストを参照し、端末内音声認識結果に含まれる単語のそれぞれがキーワードリストに登録されたキーワードに一致するか否かを判定する。そして、端末内音声認識結果に含まれる単語がキーワードに一致した場合、コマンド照合部16は、そのキーワードに対応付けられた機能およびその機能に割り当てられたスコアをキーワードリストから取得する。そして、コマンド照合部16は、上述の確信度算出方法のいずれかによりコマンドの確信度を算出する。
【0059】
次に、コマンド照合部16は、端末内音声認識結果がコマンドとして受理されるか否かを判定する(S04,コマンド照合ステップ)。すなわち、コマンド照合部16は、確信度が閾値以上か否かを判定する。端末内音声認識結果がコマンドとして受理されたと判定された場合、すなわち、確信度が閾値以上であると判定された場合(S04;Yes)、コマンド照合部16は、受理されたコマンドが端末内機能の実行を指示するためのコマンドであるか否かを判定する(S05)。この判定は、例えばキーワードリストの端末内機能であるか否かを示す情報に基づいて行われる。
【0060】
受理されたコマンドが端末内機能の実行を指示するためのコマンドであると判定された場合(S05;Yes)、コマンド照合部16は、そのコマンドを音声信号によって示されるコマンドとして特定し、コマンド実行部18にそのコマンドの実行を指示する。続いて、コマンド実行部18は、コマンド照合部16によって特定されたコマンドを実行する(S06,コマンド実行ステップ)。そして、端末装置1は、コマンド判別実行処理を終了する。
【0061】
一方、S04の判定において、端末内音声認識結果がコマンドとして受理されなかったと判定された場合、すなわち、確信度が閾値未満であると判定された場合(S04;No)、または、S05の判定において、受理されたコマンドが端末内機能の実行を指示するためのコマンド以外のコマンドであると判定された場合(S05;No)、コマンド照合部16は、音声送信部14に対して、音声入力部11から受信した音声信号を音声認識サーバ2に送信するよう指示する。そして、音声送信部14は、音声信号を音声認識サーバ2に送信する(S07,音声送信ステップ)。
【0062】
音声認識サーバ2は、音声送信部14によって送信された音声信号を受信すると、その音声信号に対して音声認識を行いサーバ音声認識結果を取得する。この音声認識は、ユーザ辞書13よりも大語彙の大語彙辞書23が用いられるため、音声認識部12によって行われる端末内音声認識よりも高精度である。そして、音声認識サーバ2は、サーバ音声認識結果を端末装置1に送信する。
【0063】
その後、サーバ音声認識結果受信部15は、音声認識サーバ2からサーバ音声認識結果を受信する(S08,サーバ音声認識結果受信ステップ)。そして、サーバ音声認識結果受信部15は、受信したサーバ音声認識結果をコマンド照合部16に送信する。次に、コマンド照合部16は、サーバ音声認識結果をコマンド辞書17と照合する(S09)。具体的に説明すると、コマンド照合部16は、コマンド辞書17に記憶されたキーワードリストを参照し、サーバ音声認識結果に含まれる単語のそれぞれがキーワードリストに登録されたキーワードに一致するか否かを判定する。そして、サーバ音声認識結果に含まれる単語がキーワードに一致した場合、コマンド照合部16は、そのキーワードに対応付けられた機能およびその機能に割り当てられたスコアをキーワードリストから取得する。そして、コマンド照合部16は、上述の確信度算出方法によりコマンドの確信度を算出する。
【0064】
次に、コマンド照合部16は、サーバ音声認識結果がコマンドとして受理されるか否かを判定する(S10)。すなわち、コマンド照合部16は、確信度が閾値以上か否かを判定する。確信度が閾値以上であると判定された場合、すなわち、サーバ音声認識結果がコマンドとして受理されたと判定された場合(S10;Yes)、コマンド照合部16は、そのコマンドを音声信号によって示されるコマンドとして特定し、コマンド実行部18にそのコマンドの実行を指示する。続いて、コマンド実行部18は、コマンド照合部16によって特定されたコマンドを実行する(S06,コマンド実行ステップ)。そして、端末装置1は、コマンド判別実行処理を終了する。なお、端末内音声認識よりもサーバ音声認識の方が高精度であるため、S10の判定における閾値をS04の判定における閾値よりも小さくしてもよい。
【0065】
一方、S10の判定において、確信度が閾値未満であると判定された場合、すなわち、サーバ音声認識結果がコマンドとして受理されなかったと判定された場合(S10;No)、端末装置1は、コマンド判別実行処理を終了する。このとき、端末装置1は、音声の再入力を促すメッセージ等を出力装置108に表示してもよい。
【0066】
<第2のコマンド判別実行処理>
図6は、端末装置1のコマンド判別実行処理の他の例を示すフローチャートである。本処理は、端末装置1のユーザが音声入力装置106を介して音声入力することにより開始される。なお、本処理におけるS21〜S29の各ステップはそれぞれ、図5のS01〜S09の各ステップと同様であるため、S21〜S29の説明を省略する。
【0067】
S29の処理後、コマンド照合部16は、再度、端末内音声認識結果をコマンド辞書17と照合する(S30)。そして、コマンド照合部16は、S29において算出したコマンドの確信度と、S30において算出したコマンドの確信度とを比較し、最も確信度の高いコマンドを選択する(S31)。そして、コマンド照合部16は、選択したコマンドを音声信号によって示されるコマンドとして特定し、コマンド実行部18にそのコマンドの実行を指示する。コマンド実行部18は、コマンド照合部16によって特定されたコマンドが存在するか否かを判定する(S32)。コマンドが存在すると判定された場合(S32;Yes)、コマンド実行部18は、そのコマンドを実行する(S26,コマンド実行ステップ)。そして、端末装置1は、コマンド判別実行処理を終了する。一方、S32の判定において、コマンドが存在しないと判定された場合(S32;No)、コマンド実行部18はコマンドの実行を行わない。そして、端末装置1は、コマンド判別実行処理を終了する。このとき、端末装置1は、音声の再入力を促すメッセージ等を出力装置108に表示してもよい。
【0068】
なお、コマンド照合部16は、S29において、サーバ音声認識結果を端末内機能に該当しないコマンド群とのみ照合してもよく、S30において、端末内音声認識結果を端末内機能に該当するコマンド群とのみ照合してもよい。また、S31において、コマンド照合部16は、最も確信度の高いコマンドを選択しているが、確信度が閾値以上のコマンドの中で最も確信度が高いコマンドを選択するようにしてもよい。この場合、コマンド照合部16は、コマンドを受理する基準となる閾値をS04における閾値よりも小さくして照合するのが好ましい。
【0069】
<第3のコマンド判別実行処理>
図7は、端末装置1のコマンド判別実行処理の他の例を示すフローチャートである。本処理は、端末装置1のユーザが音声入力装置106を介して音声入力することにより開始される。なお、本処理におけるS41〜S47の各ステップはそれぞれ、図5のS01〜S07の各ステップと同様であるため、S41〜S47の説明を省略する。
【0070】
音声認識サーバ2では、S47において送信された音声信号を音声受信部21が受信すると、サーバ音声認識部22は、大語彙辞書23を参照し、音声受信部21によって受信された音声信号の音声認識を行ってサーバ音声認識結果を取得する。そして、サーバ音声認識部22は、さらにサーバ音声認識結果を音声認識サーバ2に設けられたコマンド辞書(不図示)と照合する。具体的に説明すると、サーバ音声認識部22は、コマンド辞書に記憶されたキーワードリストを参照し、サーバ音声認識結果に含まれる単語のそれぞれがキーワードリストに登録されたキーワードに一致するか否かを判定する。
【0071】
なお、キーワードリストは、コマンド辞書17に記憶されたキーワードリストよりもさらに多くのコマンドに対応したキーワードを含むものであってもよい。そして、サーバ音声認識結果に含まれる単語がキーワードに一致した場合、サーバ音声認識部22は、そのキーワードに対応付けられた機能およびその機能に割り当てられたスコアをキーワードリストから取得する。そして、サーバ音声認識部22は、上述の確信度算出方法のいずれかによりコマンドの確信度を算出する。
【0072】
次に、サーバ音声認識部22は、確信度が閾値以上か否かを判定する。確信度が閾値以上であると判定された場合、すなわち、サーバ音声認識結果がコマンドとして受理されたと判定された場合、音声認識サーバ2のサーバ音声認識結果送信部24は、閾値以上の確信度のコマンドの実行を端末装置1に指示する。そして、サーバ音声認識結果受信部15は、音声認識サーバ2による指示を受信し(S48)、その指示をコマンド実行部18に送信する。続いて、コマンド実行部18は、指示されたコマンドを実行する(S46,コマンド実行ステップ)。そして、端末装置1は、コマンド判別実行処理を終了する。
【0073】
上記第1〜第3のコマンド判別実行処理において、音声認識サーバ2への音声送信(S07,S27,またはS47,音声送信ステップ)は、端末内音声認識(S02,S22,またはS42,音声認識ステップ)と端末内音声認識結果のコマンド照合(S03,S23,またはS43,コマンド照合ステップ)の完了後に行われているが、音声認識サーバ2への音声送信は、音声入力後の任意のタイミングで、端末内音声認識や端末内音声認識結果のコマンド照合に先立って、もしくはこれらのステップと並行して行ってもよい。これにより、サーバ音声認識結果受信までの遅延時間を短縮することができる。
【0074】
続いて、図4、図8、図9を用いて、入力された発話内容に基づいてコマンドが特定され、実行されるまで処理を具体的に説明する。
【0075】
上述したように、図4に示す例では、まず、ユーザにより音声入力装置106を介して、発話内容(a)「やまださんにでんわをかける」が入力される。そして、音声入力部11は、発話内容(a)に対応する音声信号を受け付けて、その音声信号を音声認識部12および音声送信部14に送信する。次に、音声認識部12は、ユーザ辞書13を参照して端末内音声認識を行い、端末内音声認識結果(b)「山田 さん に 電話 を かける」を取得する。音声認識部12は、端末内音声認識結果(b)をコマンド照合部16に送信する。
【0076】
次に、コマンド照合部16は、端末内音声認識結果(b)をコマンド辞書17と照合する。コマンド照合部16は、「山田」を人名であると判断し、キーワードリストのキーワード「<人名>」に対応付けられた電話機能およびメール機能に対して、それぞれ0.5のスコアを加算する。また、コマンド照合部16は、「電話」がキーワードリストのキーワード「電話」に一致することから、キーワード「電話」に対応付けられた電話機能に対して、2.0のスコアを加算する。さらに、コマンド照合部16は、「かける」がキーワードリストのキーワード「かける」に一致することから、キーワード「かける」に対応付けられた電話機能に対して、0.5のスコアを加算する。そして、コマンド照合部16は、照合結果に基づいて確信度を算出する。ここで、確信度は、上述の第2の確信度算出方法により算出され、閾値は、2.0に設定されているものとする。この場合、電話機能が最大のスコアを有し、その確信度は3.0−0.5=2.5である。
【0077】
そして、コマンド照合部16は、確信度を閾値と比較し、電話機能を実行するためのコマンドを受理するか否かを判定する。確信度が閾値以上であることから、コマンド照合部16は、電話機能を実行するためのコマンドを受理する。次に、コマンド照合部16は、電話機能が端末内機能であるか否かを判断する。電話機能は端末内機能であることから、コマンド照合部16は、発生内容(a)が示すコマンドを電話機能を実行するためのコマンドとして特定し、そのコマンドの実行をコマンド実行部18に指示する。そして、コマンド実行部18は、電話機能を実行するためのコマンドを実行する。
【0078】
図8は、音声認識システム10におけるコマンド判別実行処理を説明するための一例を示す図である。まず、ユーザにより音声入力装置106を介して、発話内容(a)「かさをかう」が入力される。そして、音声入力部11は、発話内容(a)に対応する音声信号を受け付けて、その音声信号を音声認識部12および音声送信部14に送信する。次に、音声認識部12は、ユーザ辞書13を参照して端末内音声認識を行い、端末内音声認識結果(b)「笹尾 買う」を取得する。音声認識部12は、端末内音声認識結果(b)をコマンド照合部16に送信する。
【0079】
次に、コマンド照合部16は、端末内音声認識結果(b)をコマンド辞書17と照合する。コマンド照合部16は、「笹尾」を人名であると判断し、キーワードリストのキーワード「<人名>」に対応付けられた電話機能およびメール機能に対して、それぞれ0.5のスコアを加算する。さらに、コマンド照合部16は、「買う」がキーワードリストのキーワードに一致することから、キーワード「買う」に対応付けられたショッピング機能に対して、2.0のスコアを加算する。そして、コマンド照合部16は、照合結果に基づいて確信度を算出する。ここで、確信度は、上述の第2の確信度算出方法により算出され、閾値は、2.0に設定されているものとする。この場合、ショッピング機能が最大のスコアを有し、その確信度は2.0−0.5=1.5である。
【0080】
そして、コマンド照合部16は、確信度を閾値と比較し、ショッピング機能を実行するためのコマンドを受理するか否かを判定する。確信度が閾値よりも小さいことから、コマンド照合部16は、ショッピング機能を実行するためのコマンドを受理しない。次に、コマンド照合部16は、音声送信部14に発話内容(a)に対応する音声信号を音声認識サーバ2に送信するよう指示する。そして、音声送信部14は、発話内容(a)に対応する音声信号を音声認識サーバ2に送信する。その後、サーバ音声認識結果受信部15は、音声認識サーバ2からサーバ音声認識結果(c)「傘 を 買う」を受信する。そして、サーバ音声認識結果受信部15は、サーバ音声認識結果(c)をコマンド照合部16に送信する。
【0081】
次に、コマンド照合部16は、サーバ音声認識結果(c)をコマンド辞書17と照合する。コマンド照合部16は、「買う」がキーワードリストのキーワードに一致することから、キーワード「買う」に対応付けられたショッピング機能に対して、2.0のスコアを加算する。コマンド照合部16は、照合結果に基づいて確信度を算出する。この場合、ショッピング機能が最大のスコアを有し、その確信度は2.0である。そして、コマンド照合部16は、確信度を閾値と比較し、ショッピング機能を実行するためのコマンドを受理するか否かを判定する。
【0082】
ここで、閾値は、端末内音声認識結果がコマンドとして受理されるか否かの判定に用いた値と同じであってもよいが、それよりも小さい方が好ましい。ここでは、閾値を0.5とする。コマンド照合部16は、確信度が閾値以上であることから、ショッピング機能を実行するためのコマンドを受理する。そして、コマンド照合部16は、発話内容(a)が示すコマンドをショッピング機能を実行するためのコマンドとして特定し、そのコマンドの実行をコマンド実行部18に指示する。そして、コマンド実行部18は、ショッピング機能を実行するためのコマンドを実行する。
【0083】
なお、端末内音声認識結果(b)が「傘 を 買う」であり、端末内音声認識結果(b)がコマンドとして受理されるか否かの判定に用いた閾値を1.5とした場合、端末内音声認識結果(b)の照合結果に基づく確信度が閾値以上となることから、コマンド照合部16は、ショッピング機能を実行するためのコマンドを受理する。しかし、ショッピング機能は端末内機能に該当しないため、この場合も、コマンド照合部16は、音声送信部14に発話内容(a)に対応する音声信号を音声認識サーバ2に送信するよう指示することになる。
【0084】
図9は、音声認識システム10におけるコマンド判別実行処理を説明するための他の例を示す図である。まず、ユーザにより音声入力装置106を介して、発話内容(a)「やまださんにかける」が入力される。そして、音声入力部11は、発話内容(a)に対応する音声信号を受け付けて、その音声信号を音声認識部12および音声送信部14に送信する。次に、音声認識部12は、ユーザ辞書13を参照して端末内音声認識を行い、端末内音声認識結果(b)「山田 さん に かける」を取得する。音声認識部12は、端末内音声認識結果(b)をコマンド照合部16に送信する。
【0085】
次に、コマンド照合部16は、端末内音声認識結果(b)をコマンド辞書17と照合する。コマンド照合部16は、「山田」を人名であると判断し、キーワードリストのキーワード「<人名>」に対応付けられた電話機能およびメール機能に対して、それぞれ0.5のスコアを加算する。さらに、コマンド照合部16は、「かける」がキーワードリストのキーワードに一致することから、キーワード「かける」に対応付けられた電話機能に対して、0.5のスコアを加算する。そして、コマンド照合部16は、照合結果に基づいて確信度を算出する。ここで、確信度は、第2の確信度算出方法により算出され、閾値は、2.0に設定されているものとする。この場合、電話機能が最大のスコアを有し、その確信度は1.0−0.5=0.5である。
【0086】
そして、コマンド照合部16は、確信度を閾値と比較し、電話機能を実行するためのコマンドを受理するか否かを判定する。確信度が閾値よりも小さいことから、コマンド照合部16は、電話機能を実行するためのコマンドを受理しない。次に、コマンド照合部16は、音声送信部14に発話内容(a)に対応する音声信号を音声認識サーバ2に送信するよう指示する。そして、音声送信部14は、発話内容(a)に対応する音声信号を音声認識サーバ2に送信する。その後、サーバ音声認識結果受信部15は、音声認識サーバ2からサーバ音声認識結果(c)「山田 さん に かける」を受信する。そして、サーバ音声認識結果受信部15は、サーバ音声認識結果(c)をコマンド照合部16に送信する。
【0087】
次に、コマンド照合部16は、サーバ音声認識結果(c)をコマンド辞書17と照合する。コマンド照合部16は、「山田」を人名であると判断し、キーワードリストのキーワード「<人名>」に対応付けられた電話機能およびメール機能に対して、それぞれ0.5のスコアを加算する。さらに、コマンド照合部16は、「かける」がキーワードリストのキーワードに一致することから、キーワード「かける」に対応付けられた電話機能に対して、0.5のスコアを加算する。そして、コマンド照合部16は、照合結果に基づいて確信度を算出する。この場合、電話機能が最大のスコアを有し、その確信度は1.0−0.5=0.5である。そして、コマンド照合部16は、確信度を閾値と比較し、電話機能を実行するためのコマンドを受理するか否かを判定する。
【0088】
ここで、閾値は、端末内音声認識結果がコマンドとして受理されるか否かの判定に用いた値よりも小さい値0.5とする。コマンド照合部16は、確信度が閾値以上であることから、電話機能を実行するためのコマンドを受理する。そして、コマンド照合部16は、発生内容(a)が示すコマンドを電話機能を実行するためのコマンドとして特定し、そのコマンドの実行をコマンド実行部18に指示する。そして、コマンド実行部18は、電話機能を実行するためのコマンドを実行する。
【0089】
以上のように、例えば、ユーザが、端末内機能を実行するためのコマンドを発話した場合、端末内音声認識により正しく音声認識され、サーバ音声認識を行うことなくコマンドが実行される。一方、ユーザが、ネットワークからの情報取得を意図したコマンドを発話した場合、そのコマンド内には地名、駅名、商品名、飲食店名、アプリ名などの固有名詞が含まれることがある。このような場合には、端末内音声認識では正しく音声認識できないため、サーバ音声認識により確実に認識されてコマンドが実行される。
【0090】
次に、端末装置1のコマンド判別実行処理を、機能・アプリ判別呼出処理に応用した例について説明する。この処理は、ユーザが端末装置1に向けて発話を行うことにより、端末装置1内の機能(電話、メール、スケジューラなど)または端末装置1にインストールされたアプリの呼出を行う処理である。図10および図11は、音声認識システム10における機能・アプリ判別呼出処理の一例を説明するためのフローチャートである。本処理は、端末装置1のユーザが音声入力装置106を介して音声入力することにより開始される。なお、本処理におけるS51〜S52の各ステップはそれぞれ、図5のS01〜S02の各ステップと同様であるため、S51〜S52の説明を省略する。
【0091】
S52の処理後、音声認識部12は、S52において取得した端末内音声認識結果をコマンド照合部16に送信する。次に、コマンド照合部16は、端末内音声認識結果をコマンド辞書17と照合する(S53)。具体的に説明すると、コマンド照合部16は、コマンド辞書17に記憶されたキーワードリストを参照し、端末内音声認識結果がキーワードリストに登録されたキーワードに一致するか否かを判定する(S54)。なお、キーワードリストには、端末装置1において使用可能なコマンドに加えて、複数のアプリが予め登録されている。また、キーワードリストには、少なくともキーワードを示す情報と、機能またはアプリを示す情報と、が対応付けられて記憶されている。このキーワードとしては、機能名またはアプリ名が登録されている。キーワードリストに登録されたアプリは、端末装置1にインストールされているアプリに限らず、人気アプリなど端末装置1にインストール可能なアプリが含まれる。
【0092】
S54の判定において、端末内音声認識結果がキーワードに一致した場合(S54;Yes)、コマンド照合部16は、そのキーワードに対応付けられた機能またはアプリの呼出であると判断し、出力装置108に「(機能名またはアプリ名)でよろしいですか? Yes/他候補」を表示する(S55)。そして、コマンド照合部16は、ユーザによって「Yes」が選択されたか否かを判定する(S56)。ユーザによって「他候補」が選択されたと判定された場合(S56;No)、コマンド照合部16は、音声送信部14に対して、音声入力部11から受信した音声信号を音声認識サーバ2に送信するよう指示する。また、S54の判定において、端末内音声認識結果がキーワードに一致しなかった場合(S54;No)も、コマンド照合部16は、音声送信部14に対して、音声入力部11から受信した音声信号を音声認識サーバ2に送信するよう指示する。
【0093】
そして、音声送信部14は、音声信号を音声認識サーバ2に送信する(S57)。音声認識サーバ2は、S57において送信された音声信号を受信すると、音声認識を行って、サーバ音声認識結果を端末装置1に送信する。その後、サーバ音声認識結果受信部15は、音声認識サーバ2からサーバ音声認識結果を受信する(S58)。そして、サーバ音声認識結果受信部15は、受信したサーバ音声認識結果をコマンド照合部16に送信する。次に、コマンド照合部16は、サーバ音声認識結果をコマンド辞書17と照合する(S59)。具体的に説明すると、コマンド照合部16は、コマンド辞書17に記憶されたキーワードリストを参照し、サーバ音声認識結果がキーワードリストに登録されたキーワードに一致するか否かを判定する。さらに、コマンド照合部16は、端末内音声認識結果を再度コマンド辞書17と照合する(S60)。
【0094】
そして、コマンド照合部16は、S59およびS60における照合の結果、サーバ音声認識結果および端末内音声認識結果と一致したキーワード(機能名またはアプリ名)の一覧を取得する。そして、コマンド照合部16は、取得した機能名またはアプリ名の一覧を候補として出力装置108に表示する(S61)。その後、コマンド照合部16は、ユーザによっていずれかの候補が選択されたか否かを判定する(S62)。候補が選択されなかったと判定された場合(S62;No)、端末装置1は、機能・アプリ判別呼出処理を終了する。このとき、端末装置1は、音声の再入力を促すメッセージ等を出力装置108に表示してもよい。
【0095】
一方、S62の判定において、候補が選択されたと判定された場合(S62;Yes)、または、S56の判定において、ユーザによって「Yes」が選択されたと判定された場合(S56;Yes)、コマンド照合部16は、選択された候補が機能であるかアプリであるかを、コマンド辞書17に記憶されたキーワードリストを参照して判定する(S63)。選択された候補が機能であると判定された場合(S63;機能)、コマンド照合部16は、当該機能を実行するためのコマンドを音声信号によって示されるコマンドとして特定し、そのコマンドの実行をコマンド実行部18に指示する。そして、コマンド実行部18は、選択された機能を実行するためのコマンドを実行し(S64)、端末装置1は、機能・アプリ判別呼出処理を終了する。
【0096】
一方、S63の判定において、選択された候補がアプリであると判定された場合(S63;アプリ)、コマンド照合部16は、当該アプリが端末装置1にインストールされているか否かの判定を行う(S65)。選択されたアプリがインストールされていると判定された場合には(S65;Yes)、コマンド照合部16は、そのアプリを音声信号によって示されるアプリとして特定し、そのアプリの起動をコマンド実行部18に指示する。そして、コマンド実行部18は、選択されたアプリを起動し(S66)、端末装置1は、機能・アプリ判別呼出処理を終了する。一方、S65の判定において、選択されたアプリがインストールされていないと判定された場合には(S65;No)、コマンド照合部16は、出力装置108に「アプリ検索を行いますか? Yes/No」を表示する(S67)。
【0097】
そして、コマンド照合部16は、ユーザによって「Yes」が選択されたか否かを判定する(S68)。ユーザによって「Yes」が選択されたと判定された場合(S68;Yes)、コマンド照合部16は、通信モジュール105を介して、インターネット上のアプリ検索サイトであるアプリマーケットにおいて、選択されたアプリの検索を行う(S69)。そして、コマンド照合部16は、検索結果を出力装置108に表示することによって、ユーザが当該アプリをインストールできるようにする。そして、端末装置1は、機能・アプリ判別呼出処理を終了する。一方、S68の判定において、ユーザによって「No」が選択されたと判定された場合(S68;No)、端末装置1は、機能・アプリ判別呼出処理を終了する。
【0098】
なお、上述のコマンド判別実行処理と同様に、キーワードリストに、キーワードを示す情報と、機能名またはアプリ名を示す情報と、スコアを示す情報と、機能であるかアプリであるかを示す情報と、が対応付けられて記憶されてもよい。この場合、端末内音声認識結果およびサーバ音声認識結果の照合は、上述のコマンド判別実行処理と同様に、音声認識結果に含まれる単語と、キーワードリストに登録されたキーワードとを比較し、上述の確信度算出方法のいずれかにより確信度を算出することによって行われてもよい。
【0099】
続いて、図12を用いて、入力された発話内容に基づいてアプリが特定される処理を具体的に説明する。図12は、音声認識システム10における機能・アプリ判別呼出処理を説明するための一例を示す図である。
【0100】
まず、ユーザにより音声入力装置106を介して、発話内容(a)「ふらっどいっと」が入力される。そして、音声入力部11は、発話内容(a)に対応する音声信号を受け付けて、その音声信号を音声認識部12および音声送信部14に送信する。次に、音声認識部12は、ユーザ辞書13を参照して端末内音声認識を行い、端末内音声認識結果(b)「風呂 糸」を取得する。音声認識部12は、端末内音声認識結果(b)をコマンド照合部16に送信する。
【0101】
次に、コマンド照合部16は、端末内音声認識結果(b)をコマンド辞書17と照合する。具体的には、コマンド照合部16は、端末内音声認識結果(b)がキーワードリストに登録されたキーワード(機能名およびアプリ名)に一致するか否かを判定する。端末内音声認識結果がキーワードに一致しないため、コマンド照合部16は、音声送信部14に発話内容(a)に対応する音声信号を音声認識サーバ2に送信するよう指示する。そして、音声送信部14は、発話内容(a)に対応する音声信号を音声認識サーバ2に送信する。
【0102】
音声認識サーバ2では、受信した音声信号に対し、市中のアプリ名などが登録された大語彙辞書23を用いて音声認識が行われる。その後、サーバ音声認識結果受信部15は、音声認識サーバ2からサーバ音声認識結果(c)「flood it」を受信する。そして、サーバ音声認識結果受信部15は、サーバ音声認識結果(c)をコマンド照合部16に送信する。
【0103】
次に、コマンド照合部16は、サーバ音声認識結果(c)をコマンド辞書17と照合する。具体的には、コマンド照合部16は、サーバ音声認識結果(c)がキーワードリストに登録されたキーワード(機能名およびアプリ名)に一致するか否かを判定する。その結果、サーバ音声認識結果(c)がキーワード「Flood−It」に一致すると判定される。そして、コマンド照合部16は、「Flood−It」を候補として出力装置108に表示する。その後、コマンド照合部16は、ユーザによって候補が選択されたか否かを判定し、「Flood−It」が選択されたと判定する。
【0104】
続いて、コマンド照合部16は、選択された候補「Flood−It」が機能であるか、アプリであるかをキーワードリストを参照して判定する。キーワード「Flood−It」は、キーワードリストにアプリとして登録されているため、コマンド照合部16は、アプリであると判定する。そして、コマンド照合部16は、アプリ「Flood−It」が端末装置1にインストールされているか否かを判定する。判定の結果、アプリ「Flood−It」は端末装置1にインストールされていないので、コマンド照合部16は、出力装置108にアプリ検索を行うか否かを表示する。
【0105】
そして、ユーザによってアプリ検索を行うことが選択された場合、コマンド照合部16は、通信モジュール105を介して、アプリマーケットでアプリ「Flood−It」の検索を行い、検索結果を出力装置108に表示する。そして、ユーザによって当該アプリのインストールが指示されると、端末装置1にアプリ「Flood−It」がインストールされる。このように、ユーザは、アプリ名の発話、音声認識結果の確認、アプリ検索の指示およびアプリのインストールの指示という簡単な操作だけで、端末装置1に所望のアプリをインストールすることができる。
【0106】
次に、端末装置1の作用効果について説明する。端末装置1は、音声入力部11が音声信号の入力を受け付け、音声認識部12が音声信号に対する音声認識を行う。また、音声送信部14が音声信号を音声認識サーバ2に送信し、サーバ音声認識結果受信部15がサーバ音声認識結果を受信する。そして、コマンド照合部16が、端末内音声認識結果をコマンド辞書17と照合して、端末内音声認識結果およびサーバ音声認識結果のうちいずれの音声認識結果を利用するか決定し、決定された音声認識結果に基づいて音声信号によって示されるコマンドを特定する。そして、コマンド実行部18がコマンド照合部16によって特定されたコマンドを実行する。
【0107】
これにより、例えば、端末内音声認識結果がコマンドとして受理される場合は、端末内音声認識結果を利用してコマンドの実行を行い、端末内音声認識結果がコマンドとして受理できない場合には、サーバ音声認識結果を利用することができる。すなわち、端末内の語彙で認識可能なコマンドが音声入力された際には、端末内音声認識結果を利用することで高速に応答でき、端末内の語彙で認識不可能なコマンドが音声入力された際には、サーバ音声認識結果を利用することで音声入力されたコマンドを確実に認識し、実行することができる。
【0108】
また、コマンド照合部16は、端末内音声認識結果をコマンド辞書17と照合して、確信度を算出し、確信度が所定の閾値以上である場合に、端末内音声認識結果の利用を決定し、閾値以上の確信度のコマンドを音声信号によって示されるコマンドとして特定する。
【0109】
これにより、周囲の雑音などにより端末内音声認識結果の信頼度が低くなったが、正しく音声認識されている場合に、端末内音声認識結果を利用することができる。その結果、端末内の語彙で認識可能なコマンドを、端末内音声認識結果の信頼度が低くても高速に実行することが可能となる。
【0110】
また、コマンド辞書17は、複数のコマンドの各々に対して、複数のキーワードと、複数のキーワードに対応付けられたスコアとが登録されたキーワードリストを記憶し、コマンド照合部16は、端末内音声認識結果に含まれる単語の各々について、キーワードリストに登録された複数のキーワードのいずれかに該当するか否かを判定し、該当するキーワードに対応付けられたコマンドおよびスコアに基づいて確信度を算出する。これにより、端末内の語彙で認識可能なコマンドであるか否かを判定することができ、音声信号によって示されるコマンドをより確実に認識することができる。
【0111】
また、コマンド照合部16は、端末内音声認識結果に含まれる単語の各々について、キーワードリストに登録された複数のキーワードのいずれかに該当するか否かを判定し、該当するキーワードに対応付けられたコマンドおよびスコア並びに単語の音声認識の信頼度に基づいて、確信度を算出することが好ましい。これにより、端末内の語彙で認識可能なコマンドであるか否かを判定することができ、音声信号によって示されるコマンドをより確実に認識することができる。
【0112】
また、コマンド照合部16は、閾値以上の確信度のコマンドが、端末内機能の実行を指示するコマンドである場合には、端末内音声認識結果の利用を決定し、閾値以上の確信度のコマンドが、端末内機能の実行を指示するコマンドでない場合には、サーバ音声認識結果の利用を決定する。これにより、端末内機能の実行を指示するコマンドについては端末内音声認識結果を用いて高速に実行することができ、それ以外のコマンドについてはサーバ音声認識結果を用いて確実に実行することができる。
【0113】
音声送信部14は、音声認識部12によって端末内音声認識結果が得られる前に、音声信号を音声認識サーバ2に送信する。これにより、サーバ音声認識結果をより早く受信することができる。このため、サーバ音声認識結果を利用することが決定された場合に、高速にコマンドを実行することができる。
【0114】
サーバ音声認識結果受信部15は、コマンド照合部16によって端末内音声認識結果に基づいてコマンドが特定された後にサーバ音声認識結果を受信した場合、サーバ音声認識結果を破棄する。これにより、サーバ音声認識結果の受信を待つことなく、端末内音声認識結果に基づいてコマンドを特定することができる。このため、端末内の語彙で認識可能なコマンドを高速に実行することが可能となる。
【0115】
以上のように、端末装置1は、端末内音声認識と音声認識サーバ2を用いたネットワーク型音声認識とを協調させて利用することができる。この端末内音声認識は、ネットワークNWを介した通信が不要であることから高速に応答できるが、ユーザ辞書13に登録されている語彙が少ないことから正確な音声認識が行えない場合がある。一方、ネットワーク型音声認識は、大語彙辞書23に登録されている語彙がユーザ辞書13よりも多いことから音声認識の精度は端末内音声認識よりも高いが、ネットワークNWを介した通信を行うため、通信遅延等で応答が遅くなる場合がある。したがって、端末装置1に対して端末装置1内の認識対象の語彙(ユーザ依存語彙を含む)で認識可能な音声コマンドが入力された場合には、端末内音声認識により高速な応答を可能とし、端末装置1内の認識対象の語彙では認識不可能な音声コマンドが入力された場合には、音声認識サーバ2を用いたネットワーク型音声認識により大語彙・高精度な音声認識を可能とする。
【0116】
なお、本実施形態においては、装置として端末装置1を例示したが、これに限るものではなく、例えば、端末装置1における各機能を実行するためのプログラムモジュールとして構成してもよい。すなわち、音声入力部11に相当する音声入力モジュール、音声認識部12に相当する音声認識モジュール、音声送信部14に相当する音声送信モジュール、サーバ音声認識結果受信部15に相当するサーバ音声認識結果受信モジュール、コマンド照合部16に相当するコマンド照合モジュール、コマンド実行部18に相当するコマンド実行モジュールを備えた音声認識プログラムであって、携帯端末などのコンピュータシステムに当該プログラムを読み込ませることにより、上述の端末装置1と同等の機能を実現することができる。なお、上述の音声認識プログラムは、例えば、フレキシブルディスク、CD−ROM、DVDもしくはROM等の記憶媒体または半導体メモリに格納されて提供される。また、上述の音声認識プログラムは、搬送波に重畳されたコンピュータデータ信号としてネットワークを介して提供されてもよい。
【0117】
また、音声送信部14は、音声信号として非圧縮の音声波形または圧縮された音声波形を音声認識サーバ2に送信してもよく、あるいは、音声認識に利用される特徴量を音声認識サーバ2に送信してもよい。
【0118】
また、音声送信部14は、音声入力部11から音声信号を受信後、端末内音声認識結果を利用するか否かの決定がされる前に、音声認識サーバ2に音声信号を送信してもよい。この場合、音声認識部12による端末内音声認識およびコマンド照合部16による端末内音声認識結果のコマンド照合と並行して、音声認識サーバ2においてサーバ音声認識を行うことができ、サーバ音声認識結果を早く取得することが可能となる。その結果、コマンド照合部16によってサーバ音声認識結果の利用が決定された場合の処理時間を短縮することができる。このとき、コマンド照合部16は、サーバ音声認識結果を端末内音声認識結果よりも先に取得した場合、端末内音声認識結果を待っていずれの音声認識結果を利用するかを決定することが望ましいが、サーバ音声認識結果を優先して利用してもよい。
【0119】
また、音声送信部14が端末内音声認識結果を利用するか否かの判断がされる前に音声認識サーバ2に音声信号を送信し、サーバ音声認識結果受信部15が音声認識サーバ2からサーバ音声認識結果を受信する前に、コマンド照合部16が端末内音声認識結果を利用することを決定した場合、コマンド照合部16は、音声送信部14に対して音声認識サーバ2での音声認識処理を取り消すための信号を音声認識サーバ2に送信するように指示してもよい。このとき、音声送信部14は、コマンド照合部16からの指示に基づいて、音声認識サーバ2に音声認識サーバ2での音声認識処理を取り消すための信号を送信してもよい。このように、端末内音声認識により認識可能なコマンドが入力された場合には、音声認識サーバ2からのサーバ音声認識結果を待つことなく、端末内音声認識結果を利用することを決定することで、コマンド実行部18は高速にコマンドを実行できる。
【0120】
また、確信度の閾値は、固定値に限られず、端末内音声認識結果に含まれる単語数に対して、所定の割合(例えば0.2)を掛けた値とすることもできる。このようにすることで、単語数に応じて閾値を動的に変更することができ、より正確にコマンドを特定することが可能となる。
【0121】
また、コマンド照合部16は、受理されたコマンドが、端末内機能に相当する場合に限られず、例えば、限られた単語しか使われない機能、すなわち音声認識サーバ2による大語彙認識が必要ない機能に相当する場合に、当該コマンドを特定してもよい。
【0122】
また、コマンド辞書17は、機能名などのキーワードと、機能とを対応付け、スコアを有しないキーワードリストを記憶してもよい。この場合、コマンド照合部16は、音声認識結果に含まれる単語または部分文字列が、キーワードリストに登録されたキーワードに一致するか否かを判断し、いずれかのキーワードに一致した場合に、そのキーワードに対応付けられた機能を実行するためのコマンドを、音声信号によって示されるコマンドとして特定してもよい。
【符号の説明】
【0123】
1…端末装置、2…音声認識サーバ、10…音声認識システム、11…音声入力部(音声入力手段)、12…音声認識部(音声認識手段)、13…ユーザ辞書、14…音声送信部(音声送信手段)、15…サーバ音声認識結果受信部(サーバ音声認識結果受信手段)、16…コマンド照合部(コマンド照合手段)、17…コマンド辞書、18…コマンド実行部(コマンド実行手段)、21…音声受信部(音声受信手段)、22…サーバ音声認識部(サーバ音声認識手段)、23…大語彙辞書(サーバ辞書)、24…サーバ音声認識結果送信部(サーバ音声認識結果送信手段)。
【特許請求の範囲】
【請求項1】
音声信号の入力を受け付ける音声入力手段と、
前記音声入力手段によって受け付けられた音声信号に対する音声認識を行う音声認識手段と、
前記音声信号を音声認識サーバに送信する音声送信手段と、
前記音声認識サーバによる前記音声信号に対する音声認識結果であるサーバ音声認識結果を受信するサーバ音声認識結果受信手段と、
複数のコマンドが登録されたコマンド辞書と、
前記音声認識手段によって認識された音声認識結果である端末内音声認識結果を前記コマンド辞書と照合して、前記端末内音声認識結果および前記サーバ音声認識結果のうちいずれの音声認識結果を利用するか決定し、決定された前記音声認識結果に基づいて前記音声信号によって示されるコマンドを特定するコマンド照合手段と、
前記コマンド照合手段によって特定された前記コマンドを実行するコマンド実行手段と、
を備えることを特徴とする端末装置。
【請求項2】
前記コマンド照合手段は、前記端末内音声認識結果を前記コマンド辞書と照合して、コマンドに該当する可能性を示す確信度を算出し、前記確信度が所定の閾値以上である場合に、前記端末内音声認識結果の利用を決定し、前記閾値以上の前記確信度の前記コマンドを前記音声信号によって示されるコマンドとして特定することを特徴とする請求項1に記載の端末装置。
【請求項3】
前記コマンド辞書は、前記複数のコマンドの各々に対して、複数のキーワードと、前記複数のキーワードに対応付けられたスコアとが登録されたキーワードリストを記憶し、
前記コマンド照合手段は、前記端末内音声認識結果に含まれる単語の各々について、前記キーワードリストに登録された前記複数のキーワードのいずれかに該当するか否かを判定し、該当するキーワードに対応付けられたコマンドおよびスコアに基づいて前記確信度を算出することを特徴とする請求項2に記載の端末装置。
【請求項4】
前記コマンド照合手段は、前記端末内音声認識結果に含まれる単語の各々について、前記キーワードリストに登録された前記複数のキーワードのいずれかに該当するか否かを判定し、該当するキーワードに対応付けられたコマンドおよびスコア並びに前記単語の音声認識の信頼度に基づいて、前記確信度を算出することを特徴とする請求項3に記載の端末装置。
【請求項5】
前記コマンド照合手段は、前記閾値以上の前記確信度の前記コマンドが、端末内機能の実行を指示するコマンドである場合には、前記端末内音声認識結果の利用を決定し、前記閾値以上の前記確信度の前記コマンドが、端末内機能の実行を指示するコマンド以外のコマンドである場合には、前記サーバ音声認識結果の利用を決定することを特徴とする請求項2〜4のいずれか一項に記載の端末装置。
【請求項6】
前記音声送信手段は、前記音声認識手段によって前記端末内音声認識結果が得られる前に、前記音声信号を前記音声認識サーバに送信することを特徴とする請求項1〜5のいずれか一項に記載の端末装置。
【請求項7】
前記サーバ音声認識結果受信手段は、前記コマンド照合手段によって前記端末内音声認識結果に基づいてコマンドが特定された後に前記サーバ音声認識結果を受信した場合、前記サーバ音声認識結果を破棄することを特徴とする請求項6に記載の端末装置。
【請求項8】
音声信号の入力を受け付ける音声入力モジュール、
前記音声入力モジュールによって受け付けられた音声信号に対する音声認識を行う音声認識モジュール、
前記音声信号を音声認識サーバに送信する音声送信モジュールと、
前記音声認識サーバによる前記音声信号に対する音声認識結果であるサーバ音声認識結果を受信するサーバ音声認識結果受信モジュールと、
前記音声認識モジュールによって認識された音声認識結果である端末内音声認識結果を複数のコマンドが登録されたコマンド辞書と照合して、前記端末内音声認識結果および前記サーバ音声認識結果のうちいずれの音声認識結果を利用するか決定し、決定された前記音声認識結果に基づいて前記音声信号によって示されるコマンドを特定するコマンド照合モジュールと、
前記コマンド照合モジュールによって特定された前記コマンドを実行するコマンド実行モジュールと、
を備えることを特徴とする音声認識プログラム。
【請求項9】
前記コマンド照合モジュールは、前記端末内音声認識結果を前記コマンド辞書と照合して、コマンドに該当する可能性を示す確信度を算出し、前記確信度が所定の閾値以上である場合に、前記端末内音声認識結果の利用を決定し、前記閾値以上の前記確信度の前記コマンドを前記音声信号によって示されるコマンドとして特定することを特徴とする請求項8に記載の音声認識プログラム。
【請求項10】
前記コマンド辞書は、前記複数のコマンドの各々に対して、複数のキーワードと、前記複数のキーワードの各々に対応付けられたスコアとが登録されたキーワードリストを記憶し、
前記コマンド照合モジュールは、前記端末内音声認識結果に含まれる単語の各々について、前記キーワードリストに登録された前記複数のキーワードのいずれかに該当するか否かを判定し、該当するキーワードに対応付けられたコマンドおよびスコアに基づいて前記確信度を算出することを特徴とする請求項9に記載の音声認識プログラム。
【請求項11】
前記コマンド照合モジュールは、前記端末内音声認識結果に含まれる単語の各々について、前記キーワードリストに登録された前記複数のキーワードのいずれかに該当するか否かを判定し、該当するキーワードに対応付けられたコマンドおよびスコア並びに前記単語の音声認識の信頼度に基づいて、前記確信度を算出することを特徴とする請求項10に記載の音声認識プログラム。
【請求項12】
前記コマンド照合モジュールは、前記閾値以上の前記確信度の前記コマンドが、端末内機能の実行を指示するコマンドである場合には、前記端末内音声認識結果の利用を決定し、前記閾値以上の前記確信度の前記コマンドが、端末内機能の実行を指示するコマンド以外のコマンドである場合には、前記サーバ音声認識結果の利用を決定することを特徴とする請求項9〜11のいずれか一項に記載の音声認識プログラム。
【請求項13】
前記音声送信モジュールは、前記音声認識モジュールによって前記端末内音声認識結果が得られる前に、前記音声信号を前記音声認識サーバに送信することを特徴とする請求項8〜12のいずれか一項に記載の音声認識プログラム。
【請求項14】
前記サーバ音声認識結果受信モジュールは、前記コマンド照合モジュールによって前記端末内音声認識結果に基づいてコマンドが特定された後に前記サーバ音声認識結果を受信した場合、前記サーバ音声認識結果を破棄することを特徴とする請求項13に記載の音声認識プログラム。
【請求項15】
音声信号の入力を受け付ける音声入力ステップと、
前記音声入力ステップにおいて受け付けられた音声信号に対する音声認識を行う音声認識ステップと、
前記音声信号を音声認識サーバに送信する音声送信ステップと、
前記音声認識サーバによる前記音声信号に対する音声認識結果であるサーバ音声認識結果を受信するサーバ音声認識結果受信ステップと、
前記音声認識ステップにおいて認識された音声認識結果である端末内音声認識結果を複数のコマンドが登録されたコマンド辞書と照合して、前記端末内音声認識結果および前記サーバ音声認識結果のうちいずれの音声認識結果を利用するか決定し、決定された前記音声認識結果に基づいて前記音声信号によって示されるコマンドを特定するコマンド照合ステップと、
前記コマンド照合ステップにおいて特定された前記コマンドを実行するコマンド実行ステップと、
を備えることを特徴とする音声認識方法。
【請求項16】
端末装置と、音声認識サーバと、を含む音声認識システムであって、
前記端末装置は、
音声信号の入力を受け付ける音声入力手段と、
前記音声入力手段によって受け付けられた音声信号に対する音声認識を行う音声認識手段と、
複数のコマンドが登録されたコマンド辞書と、
前記音声信号を前記音声認識サーバに送信する音声送信手段と、
前記音声認識サーバによる前記音声信号に対する音声認識結果であるサーバ音声認識結果を受信するサーバ音声認識結果受信手段と、
前記音声認識手段によって認識された音声認識結果である端末内音声認識結果を前記コマンド辞書と照合して、前記端末内音声認識結果および前記サーバ音声認識結果のうちいずれの音声認識結果を利用するか決定し、決定された前記音声認識結果に基づいて前記音声信号によって示されるコマンドを特定するコマンド照合手段と、
前記コマンド照合手段によって特定された前記コマンドを実行するコマンド実行手段と、
を備え、
前記音声認識サーバは、
前記音声送信手段から送信された前記音声信号を受信する音声受信手段と、
前記端末装置よりも多くの語彙を含むサーバ辞書と、
前記音声受信手段によって受信された前記音声信号を、前記サーバ辞書に基づいて音声認識するサーバ音声認識手段と、
前記サーバ音声認識結果を前記端末装置に送信するサーバ音声認識結果送信手段と、
を備えることを特徴とする音声認識システム。
【請求項1】
音声信号の入力を受け付ける音声入力手段と、
前記音声入力手段によって受け付けられた音声信号に対する音声認識を行う音声認識手段と、
前記音声信号を音声認識サーバに送信する音声送信手段と、
前記音声認識サーバによる前記音声信号に対する音声認識結果であるサーバ音声認識結果を受信するサーバ音声認識結果受信手段と、
複数のコマンドが登録されたコマンド辞書と、
前記音声認識手段によって認識された音声認識結果である端末内音声認識結果を前記コマンド辞書と照合して、前記端末内音声認識結果および前記サーバ音声認識結果のうちいずれの音声認識結果を利用するか決定し、決定された前記音声認識結果に基づいて前記音声信号によって示されるコマンドを特定するコマンド照合手段と、
前記コマンド照合手段によって特定された前記コマンドを実行するコマンド実行手段と、
を備えることを特徴とする端末装置。
【請求項2】
前記コマンド照合手段は、前記端末内音声認識結果を前記コマンド辞書と照合して、コマンドに該当する可能性を示す確信度を算出し、前記確信度が所定の閾値以上である場合に、前記端末内音声認識結果の利用を決定し、前記閾値以上の前記確信度の前記コマンドを前記音声信号によって示されるコマンドとして特定することを特徴とする請求項1に記載の端末装置。
【請求項3】
前記コマンド辞書は、前記複数のコマンドの各々に対して、複数のキーワードと、前記複数のキーワードに対応付けられたスコアとが登録されたキーワードリストを記憶し、
前記コマンド照合手段は、前記端末内音声認識結果に含まれる単語の各々について、前記キーワードリストに登録された前記複数のキーワードのいずれかに該当するか否かを判定し、該当するキーワードに対応付けられたコマンドおよびスコアに基づいて前記確信度を算出することを特徴とする請求項2に記載の端末装置。
【請求項4】
前記コマンド照合手段は、前記端末内音声認識結果に含まれる単語の各々について、前記キーワードリストに登録された前記複数のキーワードのいずれかに該当するか否かを判定し、該当するキーワードに対応付けられたコマンドおよびスコア並びに前記単語の音声認識の信頼度に基づいて、前記確信度を算出することを特徴とする請求項3に記載の端末装置。
【請求項5】
前記コマンド照合手段は、前記閾値以上の前記確信度の前記コマンドが、端末内機能の実行を指示するコマンドである場合には、前記端末内音声認識結果の利用を決定し、前記閾値以上の前記確信度の前記コマンドが、端末内機能の実行を指示するコマンド以外のコマンドである場合には、前記サーバ音声認識結果の利用を決定することを特徴とする請求項2〜4のいずれか一項に記載の端末装置。
【請求項6】
前記音声送信手段は、前記音声認識手段によって前記端末内音声認識結果が得られる前に、前記音声信号を前記音声認識サーバに送信することを特徴とする請求項1〜5のいずれか一項に記載の端末装置。
【請求項7】
前記サーバ音声認識結果受信手段は、前記コマンド照合手段によって前記端末内音声認識結果に基づいてコマンドが特定された後に前記サーバ音声認識結果を受信した場合、前記サーバ音声認識結果を破棄することを特徴とする請求項6に記載の端末装置。
【請求項8】
音声信号の入力を受け付ける音声入力モジュール、
前記音声入力モジュールによって受け付けられた音声信号に対する音声認識を行う音声認識モジュール、
前記音声信号を音声認識サーバに送信する音声送信モジュールと、
前記音声認識サーバによる前記音声信号に対する音声認識結果であるサーバ音声認識結果を受信するサーバ音声認識結果受信モジュールと、
前記音声認識モジュールによって認識された音声認識結果である端末内音声認識結果を複数のコマンドが登録されたコマンド辞書と照合して、前記端末内音声認識結果および前記サーバ音声認識結果のうちいずれの音声認識結果を利用するか決定し、決定された前記音声認識結果に基づいて前記音声信号によって示されるコマンドを特定するコマンド照合モジュールと、
前記コマンド照合モジュールによって特定された前記コマンドを実行するコマンド実行モジュールと、
を備えることを特徴とする音声認識プログラム。
【請求項9】
前記コマンド照合モジュールは、前記端末内音声認識結果を前記コマンド辞書と照合して、コマンドに該当する可能性を示す確信度を算出し、前記確信度が所定の閾値以上である場合に、前記端末内音声認識結果の利用を決定し、前記閾値以上の前記確信度の前記コマンドを前記音声信号によって示されるコマンドとして特定することを特徴とする請求項8に記載の音声認識プログラム。
【請求項10】
前記コマンド辞書は、前記複数のコマンドの各々に対して、複数のキーワードと、前記複数のキーワードの各々に対応付けられたスコアとが登録されたキーワードリストを記憶し、
前記コマンド照合モジュールは、前記端末内音声認識結果に含まれる単語の各々について、前記キーワードリストに登録された前記複数のキーワードのいずれかに該当するか否かを判定し、該当するキーワードに対応付けられたコマンドおよびスコアに基づいて前記確信度を算出することを特徴とする請求項9に記載の音声認識プログラム。
【請求項11】
前記コマンド照合モジュールは、前記端末内音声認識結果に含まれる単語の各々について、前記キーワードリストに登録された前記複数のキーワードのいずれかに該当するか否かを判定し、該当するキーワードに対応付けられたコマンドおよびスコア並びに前記単語の音声認識の信頼度に基づいて、前記確信度を算出することを特徴とする請求項10に記載の音声認識プログラム。
【請求項12】
前記コマンド照合モジュールは、前記閾値以上の前記確信度の前記コマンドが、端末内機能の実行を指示するコマンドである場合には、前記端末内音声認識結果の利用を決定し、前記閾値以上の前記確信度の前記コマンドが、端末内機能の実行を指示するコマンド以外のコマンドである場合には、前記サーバ音声認識結果の利用を決定することを特徴とする請求項9〜11のいずれか一項に記載の音声認識プログラム。
【請求項13】
前記音声送信モジュールは、前記音声認識モジュールによって前記端末内音声認識結果が得られる前に、前記音声信号を前記音声認識サーバに送信することを特徴とする請求項8〜12のいずれか一項に記載の音声認識プログラム。
【請求項14】
前記サーバ音声認識結果受信モジュールは、前記コマンド照合モジュールによって前記端末内音声認識結果に基づいてコマンドが特定された後に前記サーバ音声認識結果を受信した場合、前記サーバ音声認識結果を破棄することを特徴とする請求項13に記載の音声認識プログラム。
【請求項15】
音声信号の入力を受け付ける音声入力ステップと、
前記音声入力ステップにおいて受け付けられた音声信号に対する音声認識を行う音声認識ステップと、
前記音声信号を音声認識サーバに送信する音声送信ステップと、
前記音声認識サーバによる前記音声信号に対する音声認識結果であるサーバ音声認識結果を受信するサーバ音声認識結果受信ステップと、
前記音声認識ステップにおいて認識された音声認識結果である端末内音声認識結果を複数のコマンドが登録されたコマンド辞書と照合して、前記端末内音声認識結果および前記サーバ音声認識結果のうちいずれの音声認識結果を利用するか決定し、決定された前記音声認識結果に基づいて前記音声信号によって示されるコマンドを特定するコマンド照合ステップと、
前記コマンド照合ステップにおいて特定された前記コマンドを実行するコマンド実行ステップと、
を備えることを特徴とする音声認識方法。
【請求項16】
端末装置と、音声認識サーバと、を含む音声認識システムであって、
前記端末装置は、
音声信号の入力を受け付ける音声入力手段と、
前記音声入力手段によって受け付けられた音声信号に対する音声認識を行う音声認識手段と、
複数のコマンドが登録されたコマンド辞書と、
前記音声信号を前記音声認識サーバに送信する音声送信手段と、
前記音声認識サーバによる前記音声信号に対する音声認識結果であるサーバ音声認識結果を受信するサーバ音声認識結果受信手段と、
前記音声認識手段によって認識された音声認識結果である端末内音声認識結果を前記コマンド辞書と照合して、前記端末内音声認識結果および前記サーバ音声認識結果のうちいずれの音声認識結果を利用するか決定し、決定された前記音声認識結果に基づいて前記音声信号によって示されるコマンドを特定するコマンド照合手段と、
前記コマンド照合手段によって特定された前記コマンドを実行するコマンド実行手段と、
を備え、
前記音声認識サーバは、
前記音声送信手段から送信された前記音声信号を受信する音声受信手段と、
前記端末装置よりも多くの語彙を含むサーバ辞書と、
前記音声受信手段によって受信された前記音声信号を、前記サーバ辞書に基づいて音声認識するサーバ音声認識手段と、
前記サーバ音声認識結果を前記端末装置に送信するサーバ音声認識結果送信手段と、
を備えることを特徴とする音声認識システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2013−64777(P2013−64777A)
【公開日】平成25年4月11日(2013.4.11)
【国際特許分類】
【出願番号】特願2011−202064(P2011−202064)
【出願日】平成23年9月15日(2011.9.15)
【出願人】(392026693)株式会社エヌ・ティ・ティ・ドコモ (5,876)
【Fターム(参考)】
【公開日】平成25年4月11日(2013.4.11)
【国際特許分類】
【出願日】平成23年9月15日(2011.9.15)
【出願人】(392026693)株式会社エヌ・ティ・ティ・ドコモ (5,876)
【Fターム(参考)】
[ Back to top ]