(57)【要約】【課題】音声出力部から音声出力される発話データに応じた所定の辞書データベースを事前に選択し、音声入力部に入力される音声を比較的短時間かつ精度よく認識できるようにすること。【解決手段】  音声認識システムは、音声出力部に入力される発話データの類型を判定し、判定結果に基づいて、予め記憶された複数の辞書データベースの中から所定の辞書データベースを選択する（Ｓ２０、Ｓ２１）。さらに、音声認識システムは、音声入力部から入力された音声を所定の辞書データベースを用いて認識する（Ｓ２５）。質問文を音声出力する際に、その質問文に対応する質問語尾別回答認識辞書を選択して待機するため、質問文に対するユーザの回答を速やかにかつ正しく認識することができる。【選択図】図５
2015087728.tif 000002
【特許請求の範囲】
【請求項１】
音声を認識して応答する音声認識システムであって、
入力された発話データを音声に変換して出力する音声出力部と、
前記音声出力部に入力される前記発話データの類型を判定する発話類型判定部と、
前記発話類型判定部の判定結果に基づいて、予め記憶部に記憶された複数の辞書データベースの中から所定の辞書データベースを選択する辞書選択部と、
音声入力部から入力された音声を前記辞書選択部が選択した前記所定の辞書データベースを用いて認識する音声認識部と、
を備える音声認識システム。
【請求項２】
前記発話データは質問文であり、
前記複数の辞書データベースには、質問文一般に対して適用可能な基本回答辞書データベースが含まれており、
前記基本回答辞書データベースは、予め設定された複数の回答種別ごとに基本回答例を対応づけており、
前記辞書選択部は、前記所定の辞書データベースの一つとして前記基本回答辞書データベースを少なくとも選択する、
請求項１に記載の音声認識システム。
【請求項３】
前記複数の辞書データベースには、予め設定された複数の質問類型ごとにそれぞれ用意された質問類型別辞書データベースがさらに含まれており、
前記発話類型判定部は、前記発話データと前記複数の質問類型とを比較することで、前記発話データが前記各質問類型のいずれに該当するかを判定し、
前記辞書選択部は、前記各質問類型別辞書データベースの中から前記発話データに対応する質問類型を有する質問類型別辞書データベースを前記所定の辞書データベースの一つとして選択する、
請求項２に記載の音声認識システム。
【請求項４】
前記各質問類型別辞書データベースは、前記質問類型に対応する質問類型別回答例を回答種別毎に予め用意することで構成されている、
請求項３に記載の音声認識システム。
【請求項５】
前記回答種別毎に所定の反応が予め設定されており、前記音声認識部による音声認識結果として検出された回答種別に対応する所定の反応を示す反応制御情報を出力する、
請求項１〜４のいずれかに記載の音声認識システム。
【請求項６】
前記発話データを前記音声出力部に入力する発話データ入力部をさらに備え、かつ、前記複数の辞書データベースには、通常の音声認識処理に使用するための一般辞書データベースが含まれており、
前記発話データ入力部が前記音声出力部に前記発話データを入力する前の状態では、前記前記音声認識部は、前記一般辞書データベースを用いて、前記音声入力部から入力された音声を認識し、
前記発話データ入力部が前記音声出力部に前記発話データを入力する状態では、前記辞書選択部が選択した前記所定の辞書データベースを用いて、前記音声入力部から入力された音声を認識する、
請求項１〜５のいずれかに記載の音声認識システム。
【請求項７】
音声を認識して応答する音声認識システムの制御方法であって、
音声出力部に入力される発話データの類型を判定し、
前記判定結果に基づいて、予め記憶された複数の辞書データベースの中から所定の辞書データベースを選択し、
音声入力部から入力された音声を前記所定の辞書データベースを用いて認識する、
音声認識システムの制御方法。
【請求項８】
コンピュータを音声認識システムとして機能させるためのコンピュータプログラムであって、
前記コンピュータに、
音声出力部に入力される発話データの類型を判定させ、
前記判定結果に基づいて、予め記憶された複数の辞書データベースの中から所定の辞書データベースを選択させ、
音声入力部から入力された音声を前記所定の辞書データベースを用いて認識させる、ためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声認識システムおよび音声認識システムの制御方法に関する。
【背景技術】
【０００２】
ユーザの音声を認識し、その認識結果に応じて応答する対話型の音声認識システムが普及しつつある。そのようなシステムの中には、ユーザの命令に関連して、またはユーザの命令とは無関係に、ユーザに対しさまざまな質問を投げかけて、ユーザからの回答に応じて反応するものがある。なお、音声認識に関する従来技術としては、特許文献１や特許文献２が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−５４５４９号公報
【特許文献２】特許第４８５５４２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の従来技術は、音声認識装置の有する表示部に、ユーザへの質問とその回答候補とを表示することで、ユーザが回答候補の中からいずれかを選択して発話するように誘導するため、誤認識の可能性を低減することができる。しかし、音声認識装置が表示部を持たない場合には適用することができない。また、表示部に表示可能な回答候補の数は画面サイズにより制限され、多数の回答候補に対応するのが難しい。
【０００５】
特許文献２に記載の従来技術は、複数の認識辞書を用意し、誤認識の発生時には認識回数の多い辞書に切り替えて使用するため、音声認識率が向上する。しかし、誤認識が発生するたびに辞書を切り替えて再び音声認識するため、正しい認識結果を得るまでに時間がかかる可能性がある。また、一つ一つの辞書の登録語数が多い場合、複数の辞書を記憶するために多量の記憶領域が必要となり、さらに音声認識処理にも時間を要する。
【０００６】
ところで、近年では、音声認識システムを利用したアプリケーションプログラムをユーザが開発することがある。しかし、音声認識に関する深い知識が無いと、音声認識システムを用いたコミュニケーションシステムを開発するのは困難であるため、アプリケーション開発者にとって使い勝手が悪い。
【０００７】
本発明は、上記の問題に鑑みてなされたもので、その目的は、音声出力部から音声出力される発話データに応じた所定の辞書データベースを事前に選択することで、音声入力部に入力される音声を比較的短時間かつ精度よく認識できるようにした音声認識システムおよび音声認識システムの制御方法を提供することにある。本発明の他の目的は、発話データの類型に応じた所定の辞書データベースを選択するため、音声認識に詳しくない開発者であっても比較的容易に利用することができるようにした音声認識システムおよび音声認識システムの制御方法を提供することにある。
【課題を解決するための手段】
【０００８】
本発明の一つの観点に係る音声認識システムは、音声を認識して応答する音声認識システムであって、入力された発話データを音声に変換して出力する音声出力部と、音声出力部に入力される発話データの類型を判定する発話類型判定部と、発話類型判定部の判定結果に基づいて、予め記憶部に記憶された複数の辞書データベースの中から所定の辞書データベースを選択する辞書選択部と、音声入力部から入力された音声を辞書選択部が選択した所定の辞書データベースを用いて認識する音声認識部と、を備える。
【０００９】
発話データは質問文であり、複数の辞書データベースには、質問文一般に対して適用可能な基本回答辞書データベースが含まれていてもよい。そして、基本回答辞書データベースは、予め設定された複数の回答種別ごとに基本回答例を対応づけており、辞書選択部は、所定の辞書データベースの一つとして基本回答辞書データベースを少なくとも選択することもできる。
【００１０】
複数の辞書データベースには、予め設定された複数の質問類型ごとにそれぞれ用意された質問類型別辞書データベースがさらに含まれており、発話類型判定部は、発話データと複数の質問類型とを比較することで、発話データが各質問類型のいずれに該当するかを判定し、辞書選択部は、各質問類型別辞書データベースの中から発話データに対応する質問類型を有する質問類型別辞書データベースを所定の辞書データベースの一つとして選択することもできる。
【００１１】
各質問類型別辞書データベースは、質問類型に対応する質問類型別回答例を回答種別毎に予め用意することで構成することができる。
【００１２】
回答種別毎に所定の反応が予め設定されており、音声認識部による音声認識結果として検出された回答種別に対応する所定の反応を示す反応制御情報を出力してもよい。
【００１３】
発話データを音声出力部に与える発話データ入力部をさらに備え、かつ、複数の辞書データベースには、通常の音声認識処理に使用するための一般辞書データベースが含まれてもよい。発話データ入力部が音声出力部に発話データを入力する前の状態では、音声認識部は、一般辞書データベースを用いて、音声入力部から入力された音声を認識し、発話データ入力部が音声出力部に発話データを入力する状態では、辞書選択部が選択した所定の辞書データベースを用いて、音声入力部から入力された音声を認識してもよい。
【図面の簡単な説明】
【００１４】
【図１】音声認識システムの全体構成を示すブロック図である。
【図２】基本回答認識辞書の構成例を示す。
【図３】質問語尾別回答認識辞書の構成例を示す。
【図４】音声認識システムの全体動作を示すフローチャートである。
【図５】質問語尾別回答辞書を用いた応答処理を示すフローチャートである。
【図６】回答種別ごとの反応を定義する反応定義テーブルの構成例を示す。
【図７】質問の語尾に応じた辞書を選択する処理を示すフローチャートである。
【図８】第２実施例に係る音声認識システムの全体構成を示すブロック図である。
【図９】音声認識システムを利用するアプリケーションプログラムを作成する処理の概略を示すフローチャートである。
【図１０】第３実施例に係り、質問の語尾に応じた辞書を選択する処理を示すフローチャートである。
【発明を実施するための形態】
【００１５】
本実施形態では、以下に詳述する通り、質問文として音声出力される発話データの質問類型を事前に判定し、その判定結果に応じた所定の辞書（基本回答辞書、質問類型別辞書）を選択して、ユーザからの音声を待つ。音声出力部から出力された音声に応じてユーザが発する回答は、音声入力部から入力される。音声認識部は、音声認識前に選択済みの所定の辞書を用いて、ユーザからの回答の種別を認識する。音声認識システムは、ユーザの回答の種別に応じて予め定義されている所定の反応を示す反応制御情報を出力する。これにより、本実施例では、質問文に対するユーザからの回答を正しくかつ速やかに認識し、より豊かな人と機械とのコミュニケーションを実現することができる。さらに、後述する他の実施例によれば、音声認識システムを利用するアプリケーションを開発するユーザは、音声認識についての詳しい知識が無くても、比較的容易にアプリケーションを開発することができる。
【実施例１】
【００１６】
図１は、本実施例の音声認識システム１の全体構成を示すブロック図である。音声認識システム１は、ユーザと対話しながらユーザの指示を理解し、ユーザの指示した所定の動作を実行する。このような対話型音声認識システムは、例えば、ロボット２、携帯情報端末（携帯電話、音楽再生装置、デジタルカメラ、テレビジョン装置などの電化製品、パーソナルコンピュータなどを含む）３、乗用車、トラック、建設機械などの各種車両４などにも広く適用できる。それら以外の装置、システムなどにも本実施例の音声認識システム１を適用できる。
【００１７】
本実施例では、ユーザと対話して動作する対話型ロボット２に適用する場合を例に挙げて説明する。以下の説明では、音声認識システムと、音声認識システムの搭載されるシステム（ロボット制御システム）とを特に区別せずに説明する。
【００１８】
音声認識システム１は、マイクロプロセッサ、メモリ、入出力部などを有するコンピュータシステムとして構成されており、例えば、音声入力部１１、音声認識部１２、応答処理部１３、制御部１４、質問文設定部１５、質問語尾抽出部１６、辞書選択部１７、アクティブ辞書格納部１８、記憶部２０を備えている。
【００１９】
音声入力部１１は、音声を音声認識システム１に入力するための装置である。例えば、マイクロフォンなどが音声入力部１１として使用されてもよい。メモリ装置などに記憶された音声データを音声認識システム１に入力できる構成としてもよい。この場合、音声入力部１１は、メモリ装置からデータを受け取るためのインターフェース回路を備えて構成される。音声入力部１１に入力された音声は、Ａ／Ｄ変換回路によりデジタル信号としての音声データに変換されて音声認識部１２に引き渡される。
【００２０】
音声認識部１２は、辞書選択部１７により選択され、アクティブ辞書格納部１８に格納された辞書データベースを用いて、音声データを音声認識する。応答処理部１３は、音声認識部１２の認識結果に応じて制御部１４に指示を与え、所定の応答を出力する。
【００２１】
制御部１４は、応答処理部１３からの指示に応じてユーザへの応答を制御する。制御部１４は、例えば、発話部１４１、駆動部１４２、表示部１４３を備える。発話部１４１は「音声出力部」の一例であり、発話データを音声に変換してスピーカから出力する。
【００２２】
駆動部１４２は、音声認識システムの搭載されたシステム（ロボット、携帯電話、車両など）の有するアクチュエータに制御信号を出力して駆動する。駆動部１４２が駆動可能な対象は、音声認識システムを搭載するシステムの種類などによって相違する。
【００２３】
表示部１４３は、例えば、液晶ディスプレイ、プラズマディスプレイ、有機ＥＬ（ElectroLuminescence）ディスプレイなどのディスプレイ装置、ＬＥＤ（Light Emitting Diode）ランプなどから構成される。
【００２４】
質問文設定部１５は「発話データ入力部」の一例であり、アプリケーションプログラム５０からの質問文を発話データとして設定する。質問文設定部１５が設定した発話データは、発声部１４１および質問語尾抽出部１６に入力される。
【００２５】
以下の説明では、アプリケーションプログラムをアプリケーションと略記する。アプリケーション５０は、音声認識システムを利用するコンピュータプログラムであり、例えば、ユーザにクイズを出題するプログラム、日常会話を楽しむプログラムのように構成することができる。アプリケーション５０は、例えば、発話データ生成部などと呼ぶこともできる。
【００２６】
アプリケーション５０が発話データとしての質問文を質問文設定部１５に設定すると、その質問文の発話データは発話部１４１から出力されると共に、質問語尾抽出部１６により解析される。
【００２７】
質問語尾抽出部１６は「発話類型判定部」の一例であり、例えば、質問文の語尾に基づいて、その質問文が予め設定されている複数の質問語尾の類型のいずれに該当するかを判定する。質問語尾の類型は「質問類型」の一例である。また、質問語尾抽出部１６は、質問文の有する複数の文節のうち、後半の文節に基づいて（特に最後の文節に基づいて）、類型を判定することができる。本実施例では、質問文の最後の文節を「語尾」として説明する。
【００２８】
なお、日本語での質問文を対象とする場合、文の最後に特徴が現れるため、語尾に着目するが、英語での質問文を対象とする場合は、文の先頭の語句、および文中の動詞などに基づいて類型を判別してもよい。言語ごとの特徴に応じて、質問文の類型を分けることができる。
【００２９】
辞書選択部１７は、質問語尾抽出部１６での判定結果（語尾の抽出結果）に基づいて、記憶部２０に記憶された複数の辞書の中から所定の辞書を少なくとも一つ選択し、選択した辞書をアクティブ辞書格納部１８に格納する。アクティブ辞書格納部１８は、音声認識部１２により使用される辞書を格納するための記憶領域である。音声認識部１２は、アクティブ辞書格納部１８に格納された辞書（選択された辞書）に基づいて音声を認識しようとするため、選択された辞書に載っていない言葉は認識することができない反面、選択された辞書に載っている言葉は高速かつ正確に認識することができる。なお、本実施例では、辞書データベースを辞書と略記する。
【００３０】
記憶部２０は、例えば、ＲＡＭ（Random Access Memory）、ハードディスクなどの記憶装置から構成される。記憶部２０は、例えば、一般辞書２１と、回答認識辞書２２とを格納している。一般辞書２１とは、通常の音声認識処理に使用する辞書であり、一般的な単語や語句を保持する。
【００３１】
回答認識辞書２２とは、発話部１４１から音声出力される質問文に対するユーザの回答を認識するために使用する辞書である。従って、回答認識辞書２２は、例えば、質問依存型辞書、質問に起因する辞書などと呼ぶこともできる。
【００３２】
回答認識辞書２２は、複数の辞書２２１、２２２を備えている。基本回答認識辞書２２１は「基本回答辞書データベース」の一例であり、質問文一般に広く対応するための辞書である。質問語尾別回答認識辞書２２２は、質問語尾の種別（語尾の類型）に応じて用意されている。基本回答認識辞書２２１および各質問語尾別回答認識辞書２２２では、複数の回答種別ごとに回答例が設定されている。詳細は図２および図３で後述する。
【００３３】
図２は、基本回答認識辞書２２１の構成例を示す。基本回答認識辞書２２１は、質問語尾の種別を問わずに使用することができる。基本回答認識辞書２２１は、ユーザの回答を複数の種別に分類し、それら回答種別ごとに基本回答例を対応づけている。回答種別としては、例えば、肯定系回答、否定系回答、取消系回答、確認系回答がある。
【００３４】
肯定系回答とは、発話部１４１の出力した質問文に対する、ユーザの肯定的意思を示す回答種別である。肯定的回答の基本回答例としては、例えば「うん」「はい」「Ｙｅｓ」などがある。否定系回答とは、発話部１４１の出力した質問文に対する、ユーザの否定的な意思を示す回答種別である。否定的回答の基本回答例としては、例えば「ううん」「いいえ」「Ｎｏ」などがある。取消系回答とは、同様に、発話部１４１の出力した質問文に対する、ユーザの取消意思を示す回答種別である。取消系回答の基本回答例としては、例えば「やめて」「終了」「おしまい」などがある。確認系回答とは、同様に、発話部１４１の出力した質問文に対する、ユーザの確認意思を示す回答種別である。確認系回答の基本回答例としては、例えば「もう一度言って」「なに」「なんだって」などがある。
【００３５】
図３は、質問語尾別回答認識辞書２２２の構成例を示す。質問語尾別回答認識辞書２２２は、発話部１４１から出力する質問文の語尾に応じて選択される。図３では、説明の便宜上一つの辞書であるかのように示すが、実際には、質問語尾別の辞書として生成されており、質問の語尾別に選択可能である。図３に示す辞書の各行が質問語尾別回答認識辞書２２２に相当する。
【００３６】
質問語尾別回答認識辞書２２２は、質問語尾と、質問文に対するユーザ回答の種別毎の回答例（質問類型別回答例）とを対応づけて記憶する。回答種別は、基本回答認識辞書２２１で述べたと同様、「肯定系回答」「否定系回答」「取消系回答」「確認系回答」に設定されている。事前に定義した全ての回答種別について回答例を設定する必要はない。図３に示すように、肯定系回答と否定系回答のみに回答例を設定する構成でもよい。
【００３７】
質問語尾種別「食べましたか？」に対する肯定系回答の例は、「食べました」「食べたよ」「食べた」などである。否定系回答の例は、「食べてません」「食べてない」「食べない」である。
【００３８】
図示はしないが、取消系回答の例として、「ダイエット中」「お腹が減った」「嫌い」などのように、「〇〇を食べましたか？」という質問文の取消意思を含む可能性のある返事を設定してもよい。確認系回答の例として、「朝食」「ブランチ」「昼食」「夕食」「お菓子」「カロリー」などのように、前記質問文に関連してユーザが想起し、発する可能性のある返事を設定してもよい。
【００３９】
質問種別「していいですか？」に対する肯定系回答の例は、「していいよ」「いいよ」「してください」などである。否定系回答の例は、「しなくていいよ」「しないでいいよ」「しないで」などである。質問種別「しますか？」に対する肯定系回答の例は、「します」「しました」である。否定系回答の例は「しません」「しないよ」である。
【００４０】
質問種別「見ましたか？」に対する肯定系回答の例は、「見ました」「見たよ」などである。否定系回答の例は「見ていないよ」「見てないよ」などである。質問種別「思いますか？」に対する肯定系回答の例は、「思います」「思う」「思った」などである。否定系回答の例は、「思いません」「思わない」である。質問種別「変えますか？」に対する肯定系回答の例は、「変えます」「変える」「変えて」などである。
【００４１】
なお、基本回答認識辞書２２１に設定された回答例と、質問語尾別回答認識辞書２２２に設定された回答例とが一部一致する場合、基本回答認識辞書２２１と質問語尾別回答認識辞書２２２のいずれを優先するかは、予め設定することもできるし、開発者であるユーザが任意に指定することもできる。
【００４２】
例えば質問種別「終わりますか？」に対する肯定系回答の例として、「終了」が含まれている場合を考える。「終了」は、図２に示す基本回答認識辞書２２１の取消系回答の例にも含まれている。この場合、音声認識部１２がユーザの音声を「終了」と認識したならば、各辞書２２１、２２２のうち優先度の高い方の辞書での回答種別が選択される。
【００４３】
なお、図２および図３に示す辞書２２１、２２２の構成は一例であって、図示の例に限定されない。より多くの質問種別および回答例を設定することもできる。また、回答種別も例示であって、上記以外の種別、例えば、ユーザが質問文に対して上の空で回答する「上の空系回答」などを追加する構成でもよいし、質問語尾別回答認識辞書２２２から取消系回答や確認系回答を除去する構成でもよい。
【００４４】
図４を用いて、音声認識システム１の全体動作を説明する。音声認識システム１には、アプリケーション開発スキルを有するユーザが作成したアプリケーション５０を後から搭載することもできる。開発者であるユーザが搭載したアプリケーション５０は、上述した音声認識システム１を利用し、一般ユーザに質問を投げかけて対話する。質問を一般ユーザに投げかけるアプリケーション５０は、質問コミュニケーション型アプリケーション５０と呼ぶこともできる。なお、一般ユーザとは、音声認識システム１を介してロボット２と対話するユーザである。以下、一般ユーザはユーザと呼び、開発者であるユーザは開発ユーザと呼ぶ。
【００４５】
アプリケーション５０が起動する前の状態では、音声認識システム１は、一般辞書２１を用いて通常の応答処理を行う（Ｓ１０）。音声認識システム１は、ユーザからの音声指示に応じて、指定された機能を実行したり、ユーザと挨拶を交わしたりする。
【００４６】
ユーザがアプリケーション５０の起動を指示すると（Ｓ１１：Ｙｅｓ）、アプリケーション５０が起動し、音声認識システム１は通常の応答処理から回答認識辞書２２を用いた応答処理に移行する（Ｓ１２）。
【００４７】
アプリケーション５０が終了するまでの間（Ｓ１３：Ｎｏ）、音声認識システム１は、回答認識辞書２２を用いた応答処理を続行する。ユーザの明示の音声指示またはタイムアウト（図５のステップＳ２３、Ｓ２４参照）などでアプリケーション５０が終了すると（Ｓ１３：Ｙｅｓ）、音声認識システム１は、一般辞書２１を用いた通常の応答処理に戻る（Ｓ１０）。
【００４８】
本実施例では、質問型コミュニケーションを提供するアプリケーション５０の起動中に、通常の応答処理から回答認識辞書２２を用いた応答処理に切り替える（Ｓ１２）。これに限らず、例えば、アプリケーション５０から質問文設定部１５に質問文を出力した直後の所定時間だけ回答認識辞書２２を用いた応答処理に移行し、その後は通常の応答処理に戻る構成でもよい。この場合、例えば、図４に示すステップＳ１１は「質問文が設定されたか？」となり、ステップＳ１１でＹｅｓと判定したらステップＳ１２に移り、ステップＳ１１でＮｏと判定したらステップＳ１０に戻る。そして、ステップＳ１３では、例えば「質問文を設定してから所定時間経過したか？」を判定し、Ｙｅｓと判定したらステップＳ１０に戻り、Ｎｏと判定したらステップＳ１２に戻る。このような構成も本発明の範囲に含まれる。
【００４９】
図５は、図４中にＳ１２で示す回答認識辞書２２を用いた応答処理の詳細を示すフローチャートである。
【００５０】
質問文設定部１５がアプリケーション５０から質問文を取得すると（Ｓ２０）、質問語尾抽出部１６は、質問文の語尾を抽出する。辞書選択部１７は、抽出された語尾に対応する質問語尾別回答認識辞書２２２を選択して、アクティブ辞書格納部１８に格納する（Ｓ２１）。音声認識処理の開始前に、発話部１４１から発話される質問文に対応する質問語尾別回答認識辞書２２２が事前に選択されており、音声認識の準備が整っている。
【００５１】
音声認識部１２は、一定時間、音声入力部１１に音声が入力されるのを待つ（Ｓ２２：Ｎｏ、かつ、Ｓ２３：Ｎｏ）。一定時間の始期は、例えばアプリケーション５０が質問文設定部１５に発話データを設定した時点である。
【００５２】
一定時間が経過しても音声が入力されず、音声を認識できない場合（Ｓ２２：Ｎｏ、かつ、Ｓ２３：Ｙｅｓ）、タイムアウト制御が行われ（Ｓ２４）、本処理は終了する。この結果、図４に示すステップＳ１３ではアプリケーション終了と判定されて（Ｓ１３：Ｙｅｓ）、ステップＳ１０に戻る。
【００５３】
一定時間内に音声を認識した場合（Ｓ２２：Ｙｅｓ）、応答処理部１３は、その音声認識結果に応じて（Ｓ２５）、肯定系回答の場合の応答制御（Ｓ２６）、否定系回答の場合の応答制御（Ｓ２７）、取消系回答の場合の応答制御（Ｓ２８）、確認系回答の場合の応答制御（Ｓ２９）のいずれかを実行する。
【００５４】
すなわち、ステップＳ２２で認識された音声が、ステップＳ２１で選択された質問語尾別回答認識辞書２２２に登録されている回答例のいずれかに一致する場合、応答処理部１３は、その回答例の属する回答種別（肯定系、否定系、取消系、確認系）に応じた応答制御を実行する（Ｓ２６〜Ｓ２９）。
【００５５】
応答制御の具体的内容は、例えばアプリケーション５０の用途や種類などによって種々相違する。例えば、ユーザの回答を認識したことを示す反応を最初にユーザに提示し、その次に具体的応答を行うようにしてもよい。具体的応答とは、例えば、「それは素晴らしい！もう一つ質問していいですか？」のような発話データを出力することである。これ以外の応答であってもよい。
【００５６】
ユーザの回答を認識したことをユーザに伝えるための最初の反応は、例えば、図６に示すように予め定義しておくことができる。図６に示す反応定義テーブル２３は、図示はしないが記憶部２０に格納しておくことができる。
【００５７】
反応定義テーブル２３は、基本回答および各語尾別回答のそれぞれについて、回答種別ごとの「所定の反応」を定義している。基本回答とは、基本回答認識辞書２２１に登録されている基本回答例を示す。基本回答の種別ごとに反応が定義されている。例えば、肯定系回答の場合は「うなづいて、目を点滅させる」、否定系回答の場合は「首を左右に振り、泣き声を出す」のような反応である。
【００５８】
語尾別回答とは、質問語尾別回答認識辞書２２２に登録されている質問語尾別回答例を示す。基本回答で述べたと同様、語尾別回答の種別ごとに反応が定義されている。語尾別回答の反応と基本回答の反応とは一致してもよいし、異なってもよい。また、質問語尾別回答認識辞書２２２に回答例の設定されていない回答種別については、反応を定義する必要はない。
【００５９】
図７は、図５中にステップＳ２１で示す質問の語尾に応じた辞書を選択する処理の詳細を示すフローチャートである。
【００６０】
辞書選択部１７は、質問語尾抽出部１６の抽出した質問語尾を取得し（Ｓ３０）、その質問語尾に一致する質問語尾別回答認識辞書２２２を検索する（Ｓ３１）。辞書選択部１７は、質問語尾の一致する質問語尾別回答認識辞書２２２を発見すると（Ｓ３２：Ｙｅｓ）、その質問語尾別回答認識辞書２２２を選択し（Ｓ３３）、アクティブ辞書格納部１８に格納する。さらに、辞書選択部１７は、基本回答認識辞書２２１を選択し（Ｓ３４）、アクティブ辞書格納部１８に格納する。
【００６１】
従って、音声認識部１２は、ステップＳ３３で選択された質問語尾別回答認識辞書２２２と、ステップＳ３４で選択された基本回答認識辞書２２１との２つの辞書を用いて、音声入力部１１に入力されたユーザ音声を認識することができる。
【００６２】
２つの辞書２２１、２２２を利用可能な場合、複数の使い方が考えられる。第１の方法は、２つの辞書２２１、２２２を同時に使用する方法である。第２の方法は、質問語尾別回答認識辞書２２２を先に使用して音声認識処理を行い、認識できなかった場合に基本回答認識辞書２２１に切り替える方法である。第３の方法は、先に基本回答認識辞書２２１を使用して音声認識処理を行い、認識できなかった場合に質問語尾別回答認識辞書２２２に切り替える方法である。いずれの方法を採用してもよい。アプリケーションの作成時に、開発ユーザが第１〜第３の方法のいずれかを選択できるようにしてもよい。
【００６３】
辞書選択部１７は、質問文設定部１５に設定された質問文の語尾に一致する質問語尾別回答認識辞書２２２を発見できない場合（Ｓ３２：ｎｏ）、ステップＳ３３をスキップして、基本回答認識辞書２２１だけを選択し（Ｓ３４）、アクティブ辞書格納部１８に格納する。これにより、質問文に対応する質問語尾別回答認識辞書２２２を発見できなかった場合でも、音声認識部１２は、基本回答認識辞書２２１を用いて音声を認識することができる。
【００６４】
このように構成される本実施例によれば、アプリケーション５０が質問文を発話させる場合に、ユーザの回答が入力されるよりも前に、質問文に対応する回答認識辞書２２を選択して音声認識処理の準備を整えることができる。音声認識部１２は、用意された回答認識辞書２２を使用して、ユーザの回答を認識することができる。
【００６５】
回答認識辞書２２は、質問に対するユーザの回答例を有しているため、音声認識の精度を高くすることができる。回答認識辞書２２は、ユーザが発する可能性の高いと考えられる語句を保持しており、ユーザの発する可能性の低い語句は保持していないため、誤認識の生じる可能性が低下し、音声認識システム１の信頼性が向上する。
【００６６】
回答認識辞書２２に登録する語句は制限されているため、一般辞書２１を使用する場合に比べて、音声認識部１２の検索処理範囲を小さくできる。従って、音声認識に要する時間を短縮でき、滑らかな対話を実現することができる。
【００６７】
もしも質問文に対応する質問語尾別回答認識辞書２２２が見つからない場合でも、音声認識部１２は基本回答認識辞書２２１を用いて音声認識処理を行うことができる。従って、ユーザの回答に広く対応することができ、音声認識システム１の信頼性、使い勝手が向上する。
【実施例２】
【００６８】
図８および図９を用いて第２実施例を説明する。本実施例を含む以下の各実施例は第１実施例の変形例に該当するため、第１実施例との相違を中心に説明する。本実施例では、開発ユーザがアプリケーション５０を作成する場合を説明する。
【００６９】
図８は、開発ユーザの使用するコンピュータ５が音声認識システム１に接続されている様子を示すブロック図である。開発ユーザは、アプリケーション開発環境を有するコンピュータ５を用いてアプリケーション５０を作成し、作成したアプリケーション５０を音声認識システム１に記憶させることができる。
【００７０】
図９は、アプリケーション５０で使用する質問文および該質問文に対する応答を作成する様子を示すフローチャートである。開発ユーザは、コンピュータ５を用いて、アプリケーション５０で使用する質問文を作成する（Ｓ４０）。さらに、開発ユーザは、コンピュータ５を用いて、ステップＳ４０で作成した質問文に対する回答種別ごとの応答（肯定系回答の応答内容、否定系回答の応答内容など）を作成する（Ｓ４１）。開発ユーザは、作成した質問文および応答を音声認識システム１の記憶部２０に登録する（Ｓ４２）。
【００７１】
図９に示すプログラム例Ｐ１は、本発明の実施形態により得られるプログラムの概略を示す。開発ユーザは、質問文「朝食を食べましたか？」を定義し、さらに、その質問文に対するユーザ回答の種別ごとに応答内容を定義するだけでよい。基本的な質問文のパターンとその質問文のパターンに対応する回答例とは、音声認識システム１が備えているため、開発ユーザは、ユーザ回答の音声認識処理まで考慮する必要がない。
【００７２】
これに対し、本実施形態を適用しない場合のプログラム例Ｐ２では、開発ユーザは、ユーザの回答種別ごとに、ユーザの回答例を複数想定する必要がある。しかし、ユーザの発した回答とそれが実際に音声認識されたときの音とは相違する場合がある。例えば、「ハイ」という回答が「アイ」や「ファイ」のように認識される場合がある。従って、開発ユーザは、そのような認識の揺れも考慮して回答例を一つずつ定義する必要があり、アプリケーション５０の開発に手間がかかる。開発ユーザの音声認識処理に関する経験が浅い場合、ユーザの回答を認識できない可能性が増し、信頼性が低下する。
【００７３】
このように構成される本実施例も第１実施例と同様の作用効果を奏する。さらに、本実施例では、基本回答認識辞書２２１および各質問語尾別回答認識辞書２２２を事前に用意しており、ユーザに投げかける質問文に応じた回答認識辞書２２１、２２２を自動的に選択して、質問文に対するユーザの回答を認識する。従って、開発ユーザは、ユーザ回答の音声認識について考慮する必要がなく、アプリケーション開発の手間を軽減することができる。アプリケーション開発の手間が軽減され、容易に開発可能となるため、多くの開発ユーザによって多数のアプリケーション５０が開発され、音声認識システム１の価値が向上する。
【実施例３】
【００７４】
図１０を用いて第３実施例を説明する。本実施例では、図５中のステップＳ２１の変形例を説明する。
【００７５】
本実施例の辞書選択部１７は、質問文設定部１５に設定された質問文の語尾に一致する質問語尾別回答認識辞書２２２を発見できなかった場合（Ｓ３２：Ｎｏ）、質問文の含む動詞等に着目して、質問語尾別回答認識辞書２２２に一致する辞書があるか検索する（Ｓ３５）。
【００７６】
例えば、質問文が「朝食をちゃんと摂った？」であり、語尾「とった？」に対応する質問語尾別回答認識辞書２２２が用意されていないと仮定する。この場合、辞書選択部１７は、例えば、類義語辞書を用いて「摂った」から「食べた」を取得し、「食べた」に対応する質問語尾別回答認識辞書２２２を検索する。
【００７７】
最初の質問文の語尾から連想できる他の語尾に一致する質問語尾別回答認識辞書２２２が見つかった場合（Ｓ３６：ｙｅｓ）、辞書選択部１７は、その一致する辞書２２２を選択し（Ｓ３３）、アクティブ辞書格納部１８に格納する。
【００７８】
最初の質問文の語尾から連想できる他の語尾に一致する質問語尾別回答認識辞書２２２が見つからない場合（Ｓ３６：Ｎｏ）、辞書選択部１７は、基本回答認識辞書２２１を選択して（Ｓ３４）、アクティブ辞書格納部１８に格納する。
【００７９】
このように構成される本実施例も第１実施例と同様の作用効果を得ることができる。さらに、本実施例では、音声認識システム１に登録されていない種類の質問文がアプリケーション５０から設定された場合でも、その質問文の回答を処理するのに役立つ可能性のある質問語尾別回答認識辞書２２２を選択することができる。従って、広範囲の質問文に対応してユーザ回答を認識することができ、使い勝手および信頼性が向上する。
【００８０】
なお、本発明は、上述した実施の形態に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。
【符号の説明】
【００８１】
１：音声認識システム、２：ロボット、３：携帯情報端末、４：車両、１１：音声入力部、１２：音声認識部、１３：応答処理部、１４：制御部、１５：質問文設定部、１６：質問語尾抽出部、１７：辞書選択部、１８：アクティブ辞書格納部、２０：記憶部、２１：一般辞書、２２：回答認識辞書、２２１：基本回答認識辞書、２２２：質問語尾別回答認識辞書
【図１】
2015087728.tif 000003
【図２】
2015087728.tif 000004
【図３】
2015087728.tif 000005
【図４】
2015087728.tif 000006
【図５】
2015087728.tif 000007
【図６】
2015087728.tif 000008
【図７】
2015087728.tif 000009
【図８】
2015087728.tif 000010
【図９】
2015087728.tif 000011
【図１０】
2015087728.tif 000012