JP2006106748A - 音声認識の精度を改善するためのシステムおよび方法 - Google Patents

音声認識の精度を改善するためのシステムおよび方法 Download PDF

Info

Publication number
JP2006106748A
JP2006106748A JP2005290847A JP2005290847A JP2006106748A JP 2006106748 A JP2006106748 A JP 2006106748A JP 2005290847 A JP2005290847 A JP 2005290847A JP 2005290847 A JP2005290847 A JP 2005290847A JP 2006106748 A JP2006106748 A JP 2006106748A
Authority
JP
Japan
Prior art keywords
context
grammar
concept
speech recognition
grammar rules
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2005290847A
Other languages
English (en)
Inventor
Gary Farmaner
ファーメナー ゲリー
Ron Dicarlantonio
ディカールアントニオ ロン
Huw Leonard
レナルド ヒュー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
INAGO KK
Original Assignee
INAGO KK
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by INAGO KK filed Critical INAGO KK
Publication of JP2006106748A publication Critical patent/JP2006106748A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1822Parsing for meaning understanding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • G10L15/19Grammatical context, e.g. disambiguation of the recognition hypotheses based on word sequence rules

Landscapes

  • Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Machine Translation (AREA)

Abstract

【課題】音声認識を改善するためのシステムおよび方法を提供すること。
【解決手段】システムのユーザは、システムに対して直接話すことができ、システムは、適切な応答によって、発声される言葉で応答する。特定のアプリケーションのためのシステムが実装される場合、文法規則は、サンプル発話から自動的に生成することができる。動的文法規則は、ユーザとシステムの間の相互作用の際に生成することもできる。予め定められた階層に基づいて文法規則の検索順序を配列することに加えて、音声認識をさらに改良するために、単一の会話のコンテキストの履歴に基づき動的に生成された検索順序を提供することができる。システムとそのユーザの間の対話を、記録し抽出することによって、音声認識エンジンによって使用し、言語モデルを洗練または作成することができ、これにより、特定の知識領域に関連する音声認識の精度を改善することができる。
【選択図】図1

Description

本発明は、一般に、音声認識の分野に関する。特に、本発明は、音声認識の精度を改善するためのシステムおよび方法に関する。
現代のすべての音声認識技術は、ユーザの発話すなわち発声された単語または音声を、音の内部表現とマッチングし、次いで、音のグループ分けを単語のデータ・ファイルと比較することに基づいている。これらのデータ・ファイルは、辞書ファイルまたは文法ファイルとすることができる。
辞書ファイルは、個々の単語に対応する音の表現データを含む。文法ファイルは、構文的に正しい文構造に対応する音の表現データを含む。音のグループ分けと単語データの比較は、辞書ファイル、すなわち「ディクテーション(dictation)」と通常呼ばれる方法、ならびに、文法ファイル、すなわち「コマンド・アンド・コントロール(command and control)」と通常呼ばれる方法に依拠する。一般的に、辞書ファイルまたは文法ファイルのどちらか一方が使用されるが、両方が同時には使用されない。言い換えれば、音声認識エンジンは、ディクテーション方法またはコマンド・アンド・コントロール方法のいずれか一方を使用する傾向があり、この2つの方法を併用することは稀である。
辞書ファイルは、パターン・マッチングのために使用され、音のグループが、個々の単語とマッチングされる。個々の単語をマッチングしていくのに伴い、多数の音のグループ分けに対して比較を行う必要がある。大きいプールから一致を識別することができるようにするため、比較についての信頼性の閾値は、より低い値に設定される傾向があるので、一般に、より低い認識精度がもたらされる。
ディクテーション認識を改良するために、言語モデルと呼ばれる技術を使用することができる。この技術を使用して、まず多数の関連するコーパスを解析して、あり得る文構成の洗練された統計的表現を生成する。この統計情報は、単語間の相関性、または、特定の句および語のパターンの頻度などを含む。言語モデルによる統計情報は、ディクテーション音声認識のプロセスにおいて、音グループの単語グループに対する一致に重みを付けるために使用することができる。追加の統計情報により、ディクテーション認識で実際に設定されているよりも高い閾値が可能になり、したがって、認識精度が改善される。
言語モデルを作成するとき、関連するコーパス、すなわち特定の知識領域に関連する文字テキストのコレクションが解析され得る。典型的には、言語モデルを作成または確立するためのコーパスは、雑誌記事、新聞、または他の文字による資料からなる。コーパスが編纂されると、それから統計情報を生成することができるように、コーパスは、言語モデルツールまたは言語モデル生成器にしばしば供給される。しかし、文字による表現と口述の表現の間には差異が存在する傾向がある。さらに、文字による資料と生の対話の間にも差異が存在し得る。したがって、文字による資料から生成された言語モデルは、発声される言葉と一貫している統計情報を提供していないことがある。その結果として会話の認識精度が低下する傾向がある。
文法ファイルが使用される場合、音のグループは、ここでは一般に文法規則と呼ばれる発話の正確な構成と比較される。各文法規則は、語彙を含むが、通常その語彙はかなり限られている。一般に、文法規則において識別する必要がある単語が少数であることによって、より高い認識精度がもたらされる。
文法規則は、文法的に正しい文を構文解析し得るパターン・マッチング・ルールである。文法規則それ自体は、文法的に正しい文である必要はない。例えば、文法規則は、下記のような形式を取ることができる。
[I|we|you|he|she|they|it][like|want|prefer|love][red|blue|yellow|green]
括弧の各対は、ある文における該当の位置の単語についてのプレースホルダを表している。括弧の各対によって囲まれた単語は、その位置に対して選択され得るオプションの単語である。ここに示される文法規則により、例えば、「I like blue」あるいは「they prefer yellow」のような文を正しく構文解析することができる。文法規則は、コンパクトな表現から、広い範囲の候補の文を構成することを可能にする。大量の可能なすべての個別候補単語ではなく、適切な文法規則を、それぞれの比較について選択することができる。前述のように、各文法規則は、かなり限られた数の候補単語のみを有する傾向がある。したがって、比較的高い閾値を、比較のために設定することができ、それによって、一般に、より高い認識精度がもたらされる。
文法ファイルの使用により、マッチングすべきすなわち認識すべき候補単語の数が大幅に減少し得るが、文法規則の構成が、手作業で作成される場合、冗漫になる傾向があり、誤りが起きやすい。例えば、オプションの単語の各リストは、それぞれの文法規則を構成する際に慎重な検討を必要とすることがある。文法規則を手作業で作成する場合、すべての文法規則についてプレースホルダごとに所望の数のオプションの単語を入力して、できる限り複雑で、できる限り包括的な文法規則を作成することは難しい傾向がある。そのため、これらの文法規則を利用する音声認識エンジンによって認識することができる発話の範囲が制限されるおそれがある。入力されるオプションの単語または文法規則から省略されるオプションの単語のいかなる誤りも、認識結果の誤りをもたらすおそれがある。
さらに、文法ファイルを使用する際、認識される音声のコンテキストに応じて、音声認識エンジンは、異なる文法規則をロードするすなわち使用するよう指示されることが知られている。これには、同様であるが同一ではない文法規則を、期待されるコンテキストごとに作成することが必要となる。これにより、手作業で文法規則を作成する作業が大幅に増大し、手作業による文法規則の作成は、さらに冗長で誤りが起きやすくなる。
ある種の音声認識エンジンでは、いくつかの異なる文法ファイルをロードし、予め定められたシーケンスに従って、マッチングのための検索、すなわちこれらの文法ファイルでの一致を求める検索において、これらの文法ファイルを、階層すなわち検索シーケンスに配置することができる場合があるが、このような予め定められた階層は、認識が行われる実際のそれぞれの会話に最適ではないことがある。さらに、予め作成された文法規則は、すべての会話のコンテキストにおいて音声認識エンジンによる使用に最適になるように調整することはできない。
したがって、本発明の目的は、上記の欠点を取り除くまたは緩和することである。
本発明の第1の態様では、テキストの出力を、発声された単語の音響信号表現から提供するための音声認識システムが提供される。このシステムは、部分的に認識された文を構文解析して、文のタイプ、および関連する認識された単語と認識されない音のグループ分けの順序付きリストを導くための自然言語処理装置を有する。文タイプは、関連する概念の順序付きリストを有する。このシステムはまた、認識されていない音のグループ分けのうち1つに対応する位置において、概念の順序付きリスト内の各概念を複数の関係する単語に拡張するための文法規則生成器と、音響信号をテキスト出力に変換するための音声認識エンジンとを有する。部分的に認識された文は、音響信号に対応している。音声認識エンジンは、前記認識されていない音のグループ分けの1つを解決するために、前記複数の関係する単語に作用的に連結されている。
本発明の第2の態様では、発声された単語の音響信号表現の認識精度を改善するためのシステムが提供される。このシステムは、テキスト形式の文を構文解析してキーワードの順序付きリストを導くための自然言語処理装置と、前記順序付きリストの各キーワードを、複数の関係する単語に拡張して、前記キーワードの順序付きリストから文法規則を得るための文法規則生成器とを有する。音響信号は、音声認識エンジンによってテキスト出力に変換される。音声認識エンジンは、音響信号における認識されていない音のグループ分けを解決し、対応する発声された単語のテキスト出力を導くための文法規則に作用的に連結されている。
本発明のこの態様の一特徴において、システムは、概念からキーワードへのマッピングを準備するためのエディタを含み、複数の関係する単語への各キーワードの拡張は、対応する概念からキーワードへのマッピングを使用して、各キーワードを概念とマッチングすること、および、概念をキーワードで置き換えることに対応する。本発明の他の特徴においては、文法規則は、それに割り当てられるコンテキスト指定を有する。本発明のさらに他の態様では、システムは、音声の会話のコンテキストを決定する動作が可能であり、音声認識エンジンは、コンテキスト指定が会話コンテキストと一致する場合、文法規則を選択する動作が可能である。
本発明の他の態様では、音声認識エンジンによって使用するための文法規則を生成する方法が提供される。この方法は、自然言語処理装置を使用して、サンプル文を構文解析してキーワードの順序付きリストを導くステップと、概念からキーワードへのマッピングを使用して、順序付きリストの各キーワードを概念とマッチングするステップと、概念からキーワードへのマッピングを使用して、各概念をキーワードのリストで置き換えることにより、順序付きリストから文法規則を作成するステップとを含む。
本発明のこの態様の一特徴において、方法は、コンテキスト指定を文法規則に割り当てるステップを含むことができる。概念からキーワードへのマッピングは、コンテキスト属性をさらに有することができ、文法規則に割り当てられたコンテキスト指定は、コンテキスト属性に対応する。本発明のこの態様の他の特徴においては、方法は、複数の概念からキーワードへのマッピングを準備するステップを含むことができる。
本発明の他の態様では、概念からキーワードへのマッピング、および文タイプを使用して、部分的に認識された音声において、認識されていない音グループを解決するための音声認識方法が提供される。各文タイプは、複数の関連する文法規則を有する。文法規則は、概念として表現される。この方法は、自然言語処理装置を使用して、部分的に認識された音声を構文解析して、所定の文タイプ、および関連する認識された単語と認識されていない音のグループの順序付きリストを導くステップと、複数の文法規則からの文タイプに関連する文法規則のリストを選択するステップであって、リストの各文法規則は、複数の構成概念を有し、各構成概念は、認識された単語と認識されていない音のグループのうち一方に対応するステップと、認識されていない音グループごとに、すべての選択された文法規則における対応する構成概念を、1つの概念リストにマージするステップと、概念からキーワードへのマッピングを使用して、マージされた概念のリストを拡張して候補単語のリストを作成するステップと、候補単語のリストを使用して、各認識されていない音グループを解決するステップとを含む。
本発明のこの態様の一特徴において、方法は、拡張するステップに先立ち、複数の概念からキーワードへのマッピングを準備するステップを含むことができる。本発明のこの態様の他の特徴において、文法規則のリストを選択するステップは、部分的に認識された音声を複数の文法規則のそれぞれと比較するステップと、部分的に認識された音声と一致しないどの文法規則も破棄するステップとを含む。比較するステップは、文タイプを比較することを含むことができ、破棄するステップは、部分的に認識された音声と同じ文タイプを有していない文法規則を破棄することを含むことができる。さらに、比較するステップは、部分的に認識された音声を、選択された各文法規則の対応する構成概念と比較することを含むことができ、破棄するステップは、部分的に認識された音声におけるどの認識された単語にも一致しない文法規則を破棄することを含むことができる。
本発明のこの態様の他の特徴において、方法は、部分的に認識された音声の会話コンテキストを決定するステップを含むことができ、選択された文法規則のそれぞれは、コンテキスト指定をさらに有し、比較するステップは、コンテキスト指定を会話コンテキストと比較することを含み、破棄するステップは、コンテキスト指定と一致する会話コンテキストを有していない文法規則を破棄することを含む。
本発明のさらに他の態様では、概念からキーワードへのマッピング、および文タイプを使用して、音声における認識されていない音グループを解決するための、音声認識エンジンによって使用するための動的文法ファイルを生成するための方法が提供される。各文タイプは、複数の関連した文法規則を有する。文法規則は、概念として表現される。この方法は、自然言語処理装置を使用して、部分的に認識された音声を構文解析して、所定の文タイプと、関連する認識された単語および認識されていない音グループの順序付きリストとを導くステップと、複数の文法規則から、文タイプに関連する文法規則のリストを選択するステップであって、リストの各文法規則は、複数の構成概念を有し、各構成概念は、認識された単語と認識されていない音グループのうち1つに対応するステップと、認識されていない音グループごとに、すべての選択された文法規則における対応する構成概念を、1つの概念リストにマージするステップと、概念からキーワードへのマッピングを使用して、マージされた概念のリストの各概念をキーワードのリストで置き換えることによって、順序付きリストから動的文法規則を生成するステップとを含む。
本発明のこの態様の一特徴において、方法は、コンテキスト指定を動的文法規則に割り当てるステップを含むことができる。他の特徴において、概念からキーワードへのマッピングは、コンテキスト属性を有し、動的文法規則に割り当てられたコンテキスト指定は、コンテキスト属性に対応する。さらに他の特徴において、方法は、複数の概念からキーワードへのマッピングを準備するステップを含むことができる。さらに、選択するステップは、部分的に認識された音声を、複数の文法規則のそれぞれと比較するステップと、部分的に認識された音声と一致しないどの文法規則も破棄するステップとを含むことができる。任意選択として、比較するステップは、文タイプを比較することを含み、破棄するステップは、部分的に認識された音声と同じ文タイプを有していない文法規則を破棄することを含むことができる。他の特徴において、比較するステップは、部分的に認識された音声を比較することを含み、破棄するステップは、部分的に認識された音声におけるどの認識された単語にも一致しない文法規則を破棄することを含む。
本発明のこの態様のさらに他の特徴において、方法は、部分的に認識された音声の会話コンテキストを決定するステップを含み、選択された各文法規則は、コンテキスト指定をさらに有し、比較するステップは、コンテキスト指定を会話コンテキストと比較することを含み、破棄するステップは、コンテキスト指定と一致する会話コンテキストを有していない文法規則を破棄することを含む。
本発明の他の態様では、音声認識の一方法が提供される。この方法は、複数の文法規則を準備するステップであって、複数の文法規則のそれぞれは、それぞれに割り当てられたコンテキスト指定を有するステップと、音声認識エンジンによって認識されている音声の会話コンテキストを決定するステップと、コンテキスト履歴に会話コンテキストを記録するステップと、会話コンテキストが、コンテキスト指定のうちの1つと対応する場合、コンテキスト履歴の機能として検索シーケンスでコンテキスト指定に順位を割り当てるステップと、検索シーケンスに従って複数の文法規則を検索するように音声認識エンジンに指示するステップとを含む。
本発明のこの態様の一特徴において、順位は、コンテキスト履歴において会話コンテキストの出現がどの程度最近であるかということと相関関係にある。他の特徴において、順位は、コンテキスト履歴において会話コンテキストが出現する頻度と相関関係にある。さらに他の特徴において、順位は、コンテキスト履歴において会話コンテキストが示される総時間と相関関係にある。
本発明の他の態様では、言語モデル生成器によって使用するためにコーパスを編纂する方法が提供される。この方法は、ユーザからのユーザ入力のテキストと、知識ベース・システムによって生成されたユーザ入力に対する応答を、ログ・ファイルに格納するステップと、ユーザと知識ベース・システムの間の会話のスレッドを抽出するステップであって、会話のスレッドは、ユーザ入力のリテラル・テキスト、およびシステム応答を含むステップと、コーパスに会話のスレッドを追加するステップとを含む。
本発明のこの態様の一特徴において、方法は、音声認識エンジンを使用して、ユーザ入力を音声として認識するステップを含むことができ、格納するステップは、ユーザの認識された音声のテキストを格納することを含む。他の特徴において、システム応答は、予めプログラムされた応答のデータベースから抽出される。さらに他の特徴において、方法は、複数の予めプログラムされた応答を準備するステップと、すべての予めプログラムされた応答をコーパスに追加するステップとを含むことができる。
本発明のさらに他の態様では、音声認識システムの認識精度を改善するための方法が提供される。この音声認識システムは、発声された単語の音響信号表現をテキスト出力に変換するための音声認識エンジンを有する。この方法は、第1の複数の概念を選択するステップと、第2の複数の概念からキーワードへのマッピングを準備するステップであって、前記第1の複数の概念の各概念は、少なくとも1つの概念からキーワードへのマッピングを有するステップと、第3の複数の文タイプを定義するステップであって、各文タイプは、概念の順序付きリストに関連付けられ、前記概念の順序付きリストは、前記第1の複数の概念から形成されるステップと、音響信号における認識されていない音のグループ分けを解決するために、前記第1の複数の概念と、前記第2の複数の概念からキーワードへのマッピングと、前記第3の複数の文タイプとを、前記関連する概念の順序付きリストと一緒に、音声認識システムに提供するステップとを含む。
本発明のこの態様の一特徴において、方法は、サンプル発話を入力するステップと、自然言語処理装置を使用して、前記サンプル発話を構文解析して、文タイプ、および関連する概念の順序付きリストを導くステップと、文法規則生成器を使用して、前記文タイプ、および前記関連する概念の順序付きリストから文法規則を生成するステップと、音響信号において認識されていない音のグループ分けを解決するために、前記文法規則を、音声認識エンジンに提供するステップとをさらに含む。
本発明のこの態様の一特徴において、方法は、複数のサンプル発話を入力するステップと、自然言語処理装置を使用して、前記サンプル発話のそれぞれを構文解析して、文タイプ、および関連する第2の概念の順序付きリストを導くステップと、文法規則生成器を使用して、前記文タイプ、および前記関連する第2の概念の順序付きリストから文法規則を生成するステップと、音響信号における認識されていない音のグループ分けを解決するために、前記複数の文法規則を音声認識エンジンに提供するステップとをさらに含む。さらに他の特徴において、方法は、部分的に認識された音響信号に対応するテキスト入力を、自然言語処理装置に提供するステップと、自然言語処理装置を使用して、前記テキスト入力を構文解析して、第2の文タイプ、および関連する認識された単語と認識されていない音のグループ分けの順序付きリストを導くステップと、前記複数の文法規則から第2の文タイプに関連する文法規則のリストを選択するステップであって、前記リストの各文法規則は、複数の構成概念を有するステップと、前記認識されていない音のグループ分けのうち1つに対応する位置にある前記構成概念のそれぞれを、複数の関係する単語に拡張するステップと、前記認識されていない音のグループ分けのうち1つを解決するために、前記複数の関係する単語を、音声認識エンジンに提供するステップとをさらに含むことができる。
他の諸態様において、本発明は、上述の態様の様々な組合せおよび一部を提供する。
限定ではなく説明のために、本発明の上述および他の態様を、添付の図面を参照してさらに詳細に述べる。
以下の説明および記載の実施形態は、本発明の原理の具体的な実施形態の一例または複数の例を説明するために示されている。このような例は、それらの原理および本発明を限定するためではなく説明するために与えられている。以下の説明において、同様の部分は、明細書および図面を通して、それぞれ同じ参照番号で示されている。
本発明は、一般に、音声認識の分野に関する。より詳細には、本発明は、音声認識の精度を改善するためのシステムおよび方法に関する。一実施形態において、システムには、サンプル発話から文法規則を自動的に生成するためのモジュールが設けられる。文法規則は、予め選択された任意のコンテキストに対して作成することもできる。これらの文法規則は、認識精度を改善するための音声認識エンジンによって使用することができる。このシステムはまた、会話のコンテキストに合わせて調整される文法規則を動的に生成するためのモジュールが設けられる。動的に生成された1つまたは複数の文法規則は、部分的に認識された文においてさらに単語を識別する、すなわち部分的認識を「増幅する」ために、音声認識エンジンに提供することができる。このシステムはまた、会話の範囲に含まれるコンテキストを追跡し、マッチングのために検索される文法ファイルの階層を動的に配置するために使用することもできる。ユーザとシステムの間の会話すなわち対話は、選択的に分離することもでき、それにより、分離された会話のコレクションから、特定の知識領域に関連するコーパスを作成することができる。このように生成されたコーパスは、特定の知識領域に関連する言語モデルを作成または精緻化するために使用することができる。
図1は、システム100が実装される例示的クライアント/サーバ構成を示す概略図である。点線の左側は、サーバ部分110である。点線の右側は、クライアント部分112である。システム100は、この例示的構成では、サーバ部分110とクライアント部分112に分割されるが、サーバ部分およびクライアント部分の双方を同じハードウェア上に設けることもできることは認識されよう。これらは、同じマイクロプロセッサで実行することもできる。これらは、単一のソフトウェア・アプリケーションに統合することもできる。
システム100は、ユーザとシステムの間の対話を可能にする。この構成では、クライアント112は、ユーザ・インターフェースを含む。ユーザから受け取った任意の入力、すなわち、発声された単語または音声の任意の音響信号表現は、クライアント112によって処理され、テキストに変換される。次いで、クライアント112は、変換されたテキストをサーバ110に送る。サーバ110は、変換されたテキストを処理し、事前に準備された適切な応答を選択する。次いで、サーバ110は、クライアント112に応答を送り、クライアント112は、音声形式、または従来の文字によるテキスト形式のいずれかでユーザに応答することができる。
サーバ110は、入出力装置および制御装置に加えて、自然言語処理装置(NLP)114、動的文法規則生成器116、推論および応答モジュール118、ログ・アナライザ120、およびサーバ110にアクセス可能なサーバ・データベース122を有する。これらの各コンポーネントは、マイクロプロセッサ(図示せず)上の単一のプロセスに相当することも、サーバ110を実装するソフトウェア・アプリケーションのモジュールに相当することもある。これらのプロセスまたはモジュールはそれぞれ、単一のプロセッサで実行することも、いくつかのプロセッサにわたり分散することもできる。これらは、ローカルの単一の記憶媒体に存在することも、サーバ110の中央制御モジュールにアクセス可能な異なる記憶媒体に別々に格納することもできる。
後で詳細に述べるように、サーバNLP114は、クライアント112から受け取る任意のテキスト入力を処理する。サーバNLP114は、このテキスト入力を関連する概念リストにより構文解析して、対話行為(dialogue act)を導くことにより処理を行う。対話行為とそれに関連する概念リストの組合わせは、「トリガ」、シグネチャ、または「イベント」と呼ばれている。各トリガは、少なくとも1つの応答に関連する。特定のアプリケーションに既知のすべてのトリガと、それらに関連する応答は、サーバ・データベース122に格納することができる。データベース122において一致するトリガが発見されると、推論および応答モジュール118は、そのトリガに基づいて応答を識別する。識別された応答は、データベース122から受け取られてクライアント112に送られる。
ここでは、対話行為とは、入力の文タイプのことを指す。例えば、文「I like blue」は、対話行為STATEMENT−DESIREによって表すことができ、一方、文「Is it red」は、対話行為QUESTION−INFORMATIONによって表すことができる。例えば、QUESTION−IDENTITIY、QUESTION−LOCATION、STATEMENT ASSERTIONなど様々な対話行為を、必要に応じて定義することもできる。
対話行為は、サーバNLP114において予め定義されることが好ましい。予め定義された対話行為により、各対話に関係する文がどのように構成されるかについての知識または情報が、サーバNLP114に提供される。サーバNLP114が入力文を処理するときに、対話行為が定義されており、それがサーバNLP114にアクセス可能であるならば、このような対話行為は、システム100の他の部分、例えばクライアント部分112において定義されていても、他の時間に定義されていてもよいことは理解されよう。
概念とは、入力文におけるキーワードから得られた単語のことを表している。好ましくは、各概念とは、システム100の設計者によって定義され得るような、システムの特定のアプリケーションにおいて同じ概念を表現するまたは等価と見なされるキーワードのグループのことを指す。つまり、各概念は、すべて同じ概念に関係するキーワードまたはすべて等価と見なされるキーワードのグループにマップされる。例えば、文「I like blue」が構文解析され、PERSON、DESIRE、およびCOLORの3つの概念に分けられる。概念PERSONは、単語「I」、「we」、「you」、「he」、「she」、「they」、および「it」を含むことができる。概念DESIREは、単語「like」、「want」、「prefer」、および「love」を含むことができる。対話行為と同様に、これらの概念ならびにキーワードへのマッピングをどのように定義するかについては、コンテキストまたは知識領域、あるいはシステム100のアプリケーションの分野などの必要に応じて決定することができる。例えば、PERSONは、会社組織を論じるとき、「CEO」、「chairman」、および「president」を含み、一方、公共交通機関を論じるとき、PERSONは、「driver」、「station collector」、および「passenger」を含むことができる。
いくつかの特定の概念については、対話行為の基礎部分と見なすことができる。例えば、概念DESIREは、対話行為STATEMENT−DESIREの基礎となっていると見なすことができる。したがって、概念DESIREは、対話行為を定義するとき、その対話行為に組み込まれ得る。ここでは、対話行為により、概念を表しているので、概念リストは、DESIREを含む必要はない。したがって、対応するトリガは、この概念を含まない。システムが、次に説明するように入力文に基づいてトリガの一致を求める検索を行う場合、マッチングされる概念リストは、より短くなる。
上述のように、各トリガは、少なくとも1つの応答と関連する。あるトリガについての1つの文のすべての可能な構成は、互いに等価であると見なされる。トリガおよびそれに関連する応答を準備する方法については、後で図2を参照してより詳細に述べる。サーバ110は、ユーザ入力を受け取った後、入力をイベント・キューに入れてキューの先頭にイベントが到達したときに入力を処理することができ、また、直ちに入力を処理することもできる。推論および応答モジュール118は、ユーザ入力を分析し、サーバ・データベース122に格納されたトリガのコレクションから一致するトリガを発見しようと試みる。一致が発見された場合、推論および応答モジュール118は、サーバ・データベース122から、すべての対応する応答を見つける。1つの応答だけが存在する場合、この応答は、クライアント112に送られる。複数の応答が発見された場合、所定のアルゴリズムに基づいて1つの応答を選択することができる。この所定のアルゴリズムは、複数の応答から1つの応答を単にランダムに選択するアルゴリズムとすることができる。あるいは、より高度なアルゴリズムを使用することもできる。例えば、同じユーザ入力に応答し、ユーザにある応答が与えられている場合に、別の応答が選択され得る。あるいは、対話、ユーザ、またはシステムに関係する他のある種の条件、例えば、システム100によって検出されるユーザの周囲の気温に基づいて、応答を選択することもできる。これらの条件およびアルゴリズムは、推論および応答モジュール118内にプログラムされても、システム100が特定のアプリケーションに対して準備されたときに構成されてもよい。
動的文法規則生成器116は、部分的に認識された文に基づいて文法規則を動的に生成する。動的文法規則は、部分的認識を「増幅する」、すなわち、認識されていない単語を完全に解決するために、クライアント112に送られる。文法規則の動的生成のプロセス、および動的文法規則の使用については、図4および5に関連して、より完全に説明する。
システム100は、ログ・アナライザ120を備えている。ログ・アナライザ120の用途および機能は、システム・ログ・ファイルから、ユーザとシステム100の間の対話を完全で分離された対話として抽出することである。後で詳細に述べるように、システム・ログから分離された対話は、音声認識の精度を改善するための言語モデルを作成または精緻化するために使用することができる。
クライアント部分112は、ユーザと相互作用をするためのソフトウェア・アプリケーションをホストする。クライアント・ソフトウェア・アプリケーション、または(それと交換可能な用語として以下では使用する)クライアント112は、ユーザと相互作用するためのユーザ・インターフェースを含む。ユーザ・インターフェースは、対話型のウェブページ、携帯電話、車に設置されたナビゲーション・システムとしてもよい。ユーザ・インターフェースはまた、パーソナル・コンピュータ、またはコンピュータ・ワークステーションにインストールされたソフトウェア・アプリケーションとすることもできる。クライアント・ソフトウェア・アプリケーションは、ローカルプロセッサで実行しても、サーバ・ソフトウェア・アプリケーションと同じプロセッサで実行してもよい。クライアント・ソフトウェア・アプリケーションは、ローカルで格納しても、あるいは、エージェント・ソフトウェア・アプリケーションを実行しているプロセッサにアクセス可能なリモートの記憶域に格納してもよい。
クライアント112は、音声認識エンジン126を含む。音声認識エンジン126は、ユーザからの音声入力を受け入れ、音声またはユーザの発話をテキストに変換する。音声認識エンジン126は、サード・パーティの供給業者から提供された任意の汎用の音声認識エンジン、あるいは、システム100のアプリケーションに合わせて調整された音声認識エンジンとすることができる。
音声認識エンジン126は、ディクテーション・モードを使用して音声認識を実行することができ、言語モデル技術、または文法規則を使用して、その結果を増幅することもできる。音声認識エンジン126は、別個のディクテーション・モジュール128、言語モデル・モジュール130、および文法規則132を有することができる。好都合なことに、クライアント112は、クライアント112にアクセス可能なそれ自体の記憶媒体134を有することもできる。クライアント・ストレージ134は、辞書ファイル136、言語モデル・ファイル138、および、予め作成された文法ファイル140などのデータ・ファイルを格納するために使用することができる。文法ファイル140は、文法規則を含み、この文法規則は、例えば、後で述べるように、システムによって提供されるツールキットを使用して、準備段階で生成される。
文法規則140はまた、個別の文法規則に関連する任意のコンテキスト指定を含むことができる。コンテキスト指定は、文法規則が、そのコンテキストに対して作成された場合、あるいはそのコンテキストに適切な場合に、その文法規則に割り当てることができる。このような文法ファイルは、予め定められたカテゴリ階層に基づきコンテキスト指定を使用して、階層的に編成することもできる。例えば、「sports」、「ballgames」、「soccer」、「baseball」、「chess」、「swimming」に関連するそれぞれ異なる文法ファイルにおいて、別個の文法規則を作成し編成することができる。これらの文法規則は、階層的に編成することができる。
Figure 2006106748
文法ファイルが、コンテキストによってグループ分けされる場合、音声認識エンジン126は、認識時間を減少させるために、最適化された順序で、文法ファイルを検索することが好ましい。前述のように、異なる文法規則は、異なるコンテキストに割り当てることができ、文法規則は、それらの指定されたコンテキストに基づき、まとめてグループ化し、それぞれ異なる文法ファイルに格納することができる。音声認識エンジン126は、すべての文法ファイルを検索する必要はなく、代わりに、コンテキストに関連した文法規則の一部を検索し、やはり正しい一致を発見することが可能であり得る。例えば、サッカーについての話し合いにおいて、文法ファイルにおける一致を求める検索は、「soccer」から始まり、次いで「ball games」、その後に「sports」と続く。あるいは、検索は、「sports」から開始し、次いで「ball games」、最後に「soccer」について行われることもあり得る。各コンテキストがどのように順位付けされるかにより、検索シーケンスが決定される。検索シーケンスは、多くの方法によって固定することが可能であり、例えば、オーダメイドのシステムに組み込む、コンテンツ設計者により固定する、あるいはシステム管理者によって設定することができることは理解されよう。後述するように、検索シーケンスは、会話のセッションに応じて動的に決定およびカスタマイズを行うこともできる。
音声認識エンジン126によって生成されたどの結果も、サーバ110に送られる。完全に認識された発話は、サーバ110にテキスト入力として送られ、これに応じて、サーバ110、つまり、その推論および応答モジュール118により応答を返すことができる。部分的に認識された発話は、サーバ110に送られ、これにより、部分的に認識された発話を増幅するために音声認識エンジンで使用するための動的文法規則を、サーバの動的文法規則生成器116により生成することができる。好都合なことに、クライアント112は、サーバ110から受け取ったテキスト形式の任意の応答を音声に変換するテキスト音声変換エンジン142を備えることができる。これにより、システム100とユーザの間の情報伝達を支援することができる。
図2は、システム100により使用するための文法ファイルおよび他のデータ・ファイルを準備するための、システム100のツールキットの機能コンポーネントを概略的に示している。好都合なことに、ツールキット144は、ツールキットNLP146、エージェント・エディタ148、ツールキット文法規則生成器150、ならびに、ツールキット144にアクセス可能なツールキット・データベース152を含む。
ツールキット144は、特定のアプリケーションに対してシステム100を調整するために、システム管理者またはコンテンツ作成者によって使用することができる。そのアプリケーションは、公共交通機関、特定のスポーツ、または、その株式が投資家の関心を集めている株式会社に精通した自動情報システムであり得る。この文脈では、アプリケーションは、「エージェント」と呼ばれる。つまり、エージェントとは、システムの特定のアプリケーションであり、特定分野に関する知識を保有し、予め定義された方法でユーザの入力に応答する。
エージェント・エディタ148は、エージェントを定義するために使用される。コンテンツ作成者は、エージェント・エディタ148を用いて、予期されるユーザからの入力を入力する。エージェント・エディタ148は、クライアント112から受け取った入力に対してシステム100がどのように応答するかを定義または設定するために使用することもできる。エージェントのこの設定には、予期されるユーザからのクエリまたは入力、サンプル発話または文、ならびに、任意の特定のユーザ入力に関連する1つまたは複数の応答を定義することが含まれる。例えば、スポーツの知識に精通したエージェントを作成する場合、コンテンツ作成者は、質問「What is the score?」を予期することができる。エージェントは、例えば、地元のチームによる昨夜のゲーム、あるいはワールドカップ決勝戦の最終試合のスコアなど特定のゲームの具体的なスコアに応答することができる。予期される質問、および対応する応答は共に、コンテンツ作成者が、例えばエージェント・エディタ148を使用することにより入力することができる。
同じ質問に対する適切な応答は、異なるコンテキストでは異なるものとなる可能性がある。例えば、地元チームが昨夜に行ったゲームの最終スコアは、地元チームの成績について話しているコンテキストにおける質問「What is the score?」に対しては、適切な応答になり得るが、ワールドカップ決勝戦のコンテキストの場合には適切な応答ではない。したがって、ユーザの入力に対する適切な応答は、コンテキストに応じて異なる情報を必要とする場合がある。コンテキスト指定は、適切な応答がコンテキストに基づいて選択することができるように、それぞれの予期されるユーザ入力およびそれに対応する応答に割り当てられることが好ましい。コンテキスト指定は、エージェント・エディタ148を使用して入力することができる。
ツールキットNLP146は、予期されるそれぞれのユーザ入力を、構文解析し、すなわち分析して、各対話行為ならびにそれに関連する概念リストに分割する。先に述べたように、対話行為は、文のタイプに対する参照である。サーバNLP114についての同様の対話行為は、ツールキットNLP146において予め定義されることが好ましい。サーバNLP114とツールキットNLP146の両方について、同じ対話行為のセットが予め定義されることが好ましい。
各概念は、コンテンツ作成者によって定義されるような同じ概念を表現するキーワードまたは等価と見なされるキーワードのグループに対する参照であるか、あるいはコンテンツ・エディタによる概念に少なくとも関係する参照である。キーワードから概念へのマッピングは、作成される知識コンテンツの必要性に基づき、エージェント・エディタ148を使用して、コンテンツ作成者によって入力すなわち定義が行われる。
例えば、ツールキットNLP146は、文「I like blue」を構文解析して対話行為STATEMENT−DESIRE、ならびにPERSON、DESIRE、およびCOLORの3つの概念からなるリストを導く。好ましくは、予め定義された対話行為STATEMENT−DESIREは、この対話行為に組み込まれた概念DESIREを有し、したがって、リストは、残りの2つの概念のみからなるリストとなる。コンテンツ作成者は、エージェント・エディタ148を使用して、例えば、キーワード「I」、「we」、「you」、「he」、「she」、「they」、「it」を、概念PERSONに含めることができる。他の例では、質問「What is the score?」は、構文解析され、概念SCOREを含む対話行為QUESTION−INFORMATIONが導かれる。スポーツについての話合いにおいて、概念SCOREは、キーワード「SCORE」および「result」を含むことができる。
対話行為および概念リストに基づいて、ツールキット文法規則生成器150を使用して、サンプル発話から文法規則を生成することができる。このように作成された文法規則は、次いで、同様の音のグループ分けとマッチングするためのパターン・マッチング・ルールとして、音声認識エンジン126により使用される。文法規則の生成については、図3を参照して全詳細を述べる。
応答に対応しているすべてのトリガのコレクション、キーワードから概念へのマッピング、および文法規則は、エージェントの知識領域を決定する。好都合なことに、このように定義されたエージェントは、サーバに対して「公開する(publish)」ことができ、すなわち、トリガ、応答、キーワードから概念へのマッピングは、サーバ・データベース122に格納することができる。文法規則は、クライアント側の文法ファイル140にローカルで保存することができる。それぞれ異なる文法規則に異なるコンテキストが割り当てられた場合、これらの文法規則を、コンテキスト指定によってグループ化し、それぞれコンテキスト指定に関連する異なる文法ファイルに格納することができる。キーワードから概念へのマッピングは、同様に、データベースおよびツールキット・データベース152などのクライアント・ストレージ134に保存される別個のコピーを有することができる。エージェントに関係するすべての情報は、サーバ110、クライアント112、およびツールキット144にアクセス可能な単一の記憶媒体に格納することもできることは認識されよう。
サーバNLP114についての対話行為と同様に、ツールキットNLP146がサンプル文を処理するときに、対話行為が定義されておりツールキットNLP146にアクセス可能であるならば、このような対話行為は、他の時間に定義されてもよいことは理解されよう。さらに、ある対話行為の基礎となっていると見なされる概念は、概念リストに入れずに、対話行為に組み込むことができる。さらに、サーバ・データベース122に保存された対話行為は、クライアント134に保存された対話行為と同一であり、サーバ・データベース122に保存されたキーワードから概念へのマッピングもまた、クライアント134に保存されたキーワードから概念へのマッピングと同一であることが好ましい。
図3を参照して、予期されるユーザ入力またはサンプル発話から文法規則を生成するプロセスを説明する。ステップ310で、コンテンツ作成者は、エージェント・エディタ148を使用して、サンプル発話を提供する。ステップ312で、サンプル発話は、その文を構文解析して対話行為とそれに関連する構成「概念」を導くために、ツールキットNLP146によって処理される。サンプル発話は、例えば、
I like blue.
とすることができる。この事例では、対話行為は、STATEMENT−DESIREであり、概念リストは、下記の構成キーワードを含むことができる。
I,like,blue
これらの構成キーワードはそれぞれ、「概念」に対応する。ステップ314で、ツールキット文法規則生成器150は、コンセプトからキーワードへのマッピングを、それらの構成キーワードごとに、ツールキット・データベース152から受け取る。これらのマッピングは、まず各構成キーワードを概念とマッチングするために使用される。キーワードから概念へのマッピングがあるため、各構成キーワードもまた、以下のように構成「概念」として参照される。同じ概念からキーワードへのマッピングは、次いで、一致した概念をキーワードのリストにマップするために使用される。結果として、各構成キーワードは、対応するキーワードのリストに拡張される(ステップ316)。したがって、文法規則に対応したキーワード・リストの順序付きリストが得られる(ステップ318)。概念からキーワードへのマッピングが、特定のコンテキストに対して定義された場合、得られた文法規則に、コンテキストに対応するコンテキスト指定を割り当てることができる。汎用マッピングが使用されるが、文法規則は、例えばスポーツなど特定のコンテキストに一般的に適用可能な場合、この文法規則にも、適切なコンテキストに対応するコンテキスト指定が割り当てることができる。
例えば、キーワード「I」は、概念PERSONにマップすることができる。コンテンツ作成者は、PERSONが、キーワード「I」、「we」、「you」、「he」、「she」、「they」、および「it」を含むように定義することができ、つまり、PERSONは、これらのキーワードと等価と見なされる。言い換えれば、コンテンツ作成者は、概念PERSONを、キーワードのリスト「I」、「we」、「you」、「he」、「she」、「they」、および「it」にマップする。したがって、ツールキット文法規則生成器150は、キーワードIを、キーワード・リスト「I|we|you|he|she|they|it」にマップまたは拡張する。同様に、キーワード「like」は、キーワード「like」、「want」、「prefer」、および「love」にマップされる、概念DESIREに一致することができる。その結果、ツールキット文法規則生成器150は、キーワード「like」を、キーワードのリスト「like|want|prefer|love」にマップまたは拡張する。同様に、ツールキット文法規則生成器150は、キーワード「blue」を、キーワード・リスト「red|blue|yellow|green」に対応する概念COLORと一致させることができる。期待されるユーザ入力またはサンプル発話の各構成キーワードは、それに対応するキーワードのリストにマップされる。各概念がそれに対応するキーワード・リストで置き換えられると、文法規則が得られる。したがって、サンプル発話:
I like blue.
に対する文法規則は、以下の形式を有することができる。
「I|we|you|he|she|they|it」 「like|want|prefer|love」 「red|blue|yellow|green」
このように生成された文法規則により、入力されている入力文のタイプの非常により幅広い表現が提供される。「概念」レベルでの範囲の拡大が行われる。各「概念」は、必要とするまたは望ましい数のキーワードと関連付けることができるため、生成される文法規則は、可能な限りまたは所望の範囲で広い範囲にすることができる。さらに、「概念」レベルで範囲の拡張が行われ、文法規則の生成は自動であるため、生成される文法規則は、手作業で作成されたものより整合的でより広範囲になる傾向がある。さらに、拡張は「概念」レベルのため、概念から複雑な文法規則の組立てはコンピュータにより実行されるので、複雑な文法規則を作成する際に人々のやる気を削がずに済む傾向がある。
前述のように、文法規則は、コンテンツ作成者が特定のアプリケーションまたはエージェントに合わせてシステムを調整したとき、初期段階において生成され得る。音声認識エンジン126は、そのディクテーション音声認識を完全にするために、文法規則を使用することができる。
図4を参照すると、文法規則を動的に生成するプロセスが示されている。動的文法規則は、部分的に認識された発話を解決し認識精度を改善するために音声認識エンジン126によって使用することができる。
音声認識エンジン126は、文または発話を部分的にのみ認識することができた場合、部分的に認識された文または発話は、サーバ110に送られる(ステップ410)。部分的に認識された文の文構造は、サーバNLP114によって分析すなわち構文解析されて、その対話行為のタイプを決定し可能な場合は関連する概念リストが決定される(ステップ412)。特に、部分的に認識された文は、部分的に認識された文における概念の数を識別するために、サーバNLP114によって構文解析される。さらに、このステップの間に、認識されていない単語の位置も識別される。しかし、認識されていない単語のため、すべての概念を解決することはできない。認識されていない単語のそれぞれには、部分的に認識されている文における位置を示すために位置インデックスと共にプレースホルダが割り当てられる。例えば、次の質問の終わりの2つの単語は認識されていない。
What was _ _
この質問は、QUESTION−INFORMATIONタイプの対話行為として認識することができる。4つの概念が識別されるが、その終わりの2つの概念は認識されていない。上記で空白「_」として表される第1の認識されていない単語は、文において3番目の単語であることを示す位置インデックス「3」を伴いプレースホルダに配置される。同様に空白「_」として表される第2の認識されていない単語は、文において4番目の単語であることを示す位置インデックス「4」を伴いプレースホルダに配置される。
次に、ステップ414で、動的文法規則生成器116が、このパターンに一致するトリガをサーバ・データベース122で検索する。このステップにおいて、同じ対話処置タイプおよび同じ文構造を有するトリガが一致する。例えば、この事例では、対話行為はQUESTION−INFORMATIONである。その文は、4つの概念を含むと決定され得る。したがって、サーバ・データベース122は、タイプQUESTION−INFORMATIONの4つの概念を含むすべてのトリガを検索する。この検索により、関連する概念リストと一致する対話行為の候補のリストを作成することができる。すべての一致したトリガは、可能性のある候補となり得る。
先に述べたように、対話行為の基礎となっていると見なされるいくつかの特定の概念は、対話行為に組み込まれ、概念リストには含まれない。この例では、概念「what」および「is」は、QUESTION−INFORMATIONタイプ対話行為に対して基礎であると見なすことができ、したがって、これらの概念は、概念リストから抽出し、対話行為に組み込むことができる。したがって、この事例では、一致した対話行為のタイプは、2つだけのプレースホルダを有することができ、この2つは両方とも、認識されていない単語に対応する。
ステップ416で、部分的に認識された文と一致しないどのトリガも破棄できることが好ましい。例えば、「who is the pitcher」に対応するどの発話行為も、「who is」が、認識された単語「what was」に一致しないとして破棄される。
この事例では、入力文の認識されていない単語は、文の3番目および4番目であるので、第3の概念に対応する概念のリスト、および第4の概念に対応する概念のリストを抽出するために、残りのトリガが、処理される。部分的に認識された文の第1の空白を置き換えるために、第3の概念に対応するすべてのキーワードは、マージされて単一のキーワード・リストを形成し、部分的に認識された文の第2の空白を置き換えるために、第4の概念に対応するすべてのキーワードは、マージされて単一のキーワード・リストを形成する(ステップ418)。このように生成された動的文法規則は、以下のような形式を有する。
What was[first list of keywords][second list of keywords]
これは、次のようになり得る。
What was[the|that|...][score|result|...|time|station...]
文法規則は、認識されていない単語に対応する各プレースホルダに、多数の候補単語を含めることができる。文法規則のサイズは、マッチングされる候補をさらに減少させることにより、すなわち、関連がないと見込まれる候補を破棄することにより、さらに縮小することができることが好ましい。様々な技法を用いて、関連しないと見込まれる候補を破棄することができる。例えば、ステップ416で、同じコンテキストを有していないトリガを破棄することができる。サッカーについて話し合っているコンテキストにおいて、公共交通機関の鉄道の次の駅に関する知識は関連性が低い傾向にあり、「public transit system」のコンテキスト指定を有するトリガは、増幅の精度に重大な影響を与えることなく破棄することができる。後述するように、システムは、現在の会話のコンテキストの履歴を維持している。あるいは、コンテキスト履歴に出現するいずれのコンテキストにも対応しないトリガを、破棄することができる。同様に、現在のコンテキストに無関係のコンテキストに関連する概念は、おそらく一致する単語を示すことがなく、破棄することができる。上述の例を使用して、やはり増幅の精度に重大な影響を与えることなく、「station」に関連する概念を破棄することができる。
動的に作成された文法規則の1つの用途は、部分的に認識された音声を増幅する、つまり、部分的に認識された音声における認識されていない音グループを完全に解決することである。図5を参照すると、図4に示したプロセスにおいて動的に生成された文法規則を利用している、音声認識増幅のプロセスのステップが示されている。
例えば、サッカーについて話し合われているとき、音声認識エンジン126は、下記のように部分的に文を認識することができるだけである。
What was _ _
空白「_」は、音声認識エンジン126によって認識されない単語を表す。システム100は、増幅の要求としてこの部分的認識をサーバ110のイベント・キューに入れる。サーバ110が、イベント・キューにおいてこの要求に到達すると、その部分的に認識された文が、サーバ110またはサーバNLP114に提供される(ステップ510)。サーバNLP114は、部分的に認識された文を構文解析して、対話行為および関連する概念リストを導く。図4を参照して説明したステップに従って、動的文法生成生成器116が、動的文法規則を例えば下記の形式で生成する(ステップ512)。
What was[the|that|...][score|result|...|time...]
この動的文法規則は、クライアント112に転送される(ステップ514)。音声認識エンジン126は、動的文法規則を使用して、部分的に認識された文を再処理する、つまり、認識されていない音のグループ分けを候補単語の残りと比較することにより、部分的に認識された文を増幅することができる(ステップ516)。動的文法規則を異なるやり方で音声認識エンジンに渡すこともできることは認識されよう。クライアント112は、動的文法規則をその音声認識エンジン126によって使用するために、ローカル・ファイルとして保存することができる。サーバ110は、動的文法規則を、音声認識エンジン126がリモートからロードするテンポラリ文法ファイルとしてサーバ側に保存することもできる。あるいは、サーバ110は、動的文法規則をサーバ・メモリに単純に保持し、クライアント112側に常駐する音声認識エンジン126に、サーバ・メモリからそれを取り出すように指示することもできる。
動的文法規則が音声認識エンジン126に渡されたとき、音声認識エンジン126は、まず一致を探すために動的文法規則を検索することが好ましい。動的文法規則は、部分的に認識された音声から生成され、また、ユーザとシステムの間の現在の会話のコンテキストに基づいている。このように生成された動的文法規則は、会話のコンテキストに関連する予め生成されたすべての文法規則と比較してかなり限られた数の単語だけを含む傾向がある。最初に動的文法規則を検索することにより、音声認識時間が減少する傾向がある。
前述のように、文法ファイルの検索シーケンスは、ユーザとシステムの相互作用のセッションごとに、例えば、文法ファイルに割り当てられたコンテキストの階層に基づいて、予め決定することができる。しかし、予め決定されたシーケンスは、すべての会話に対して最適にはならないことがある。システム100は、会話コンテキストに基づいて動的に検索シーケンスを生成して、認識時間および認識精度をさらに改善することができる。
好都合なことに、サーバ110は、会話中に追跡されたすべてのコンテキストの履歴を保持することができる。会話は、例えば、一般的な(general)話題から始まり、天気(weather)、株式(stock)、スポーツ(sports)、野球(baseball)へと次々に話題が切り替わり、続いて、サッカー(soccer)について話し合われることがある。この場合、コンテキストの履歴の経路は、general−weather−stock−sports−baseball−soccerとなる。この経路に基づいて、すなわち以下の順序で、文法ファイルの新しい階層を確立することができる。
1.Soccer
2.Baseball
3.Sports
4.Stocks
5.Weather
6.General
図6を参照すると、図1のシステムによって使用するための、文法規則の動的検索シーケンスを作成するプロセスが概略的に示されている。ユーザとシステムの間の各セッションにおいて、サーバ110は、会話のコンテキストの履歴を追跡する。推論および応答モジュール118は、ユーザ入力を受け取るたびに、その入力のコンテキストを識別する(ステップ610)。ユーザ入力が、その前の入力のコンテキストと異なるコンテキストを有する場合、サーバ110は、前のコンテキストを記録し(ステップ612)、コンテキスト履歴リストにこの新しいコンテキストを追加する。サーバ110はまた、順位を、このコンテキストに関連する文法ファイルに割り当てる(ステップ614)。このようにして、文法ファイルの新しいコンテキストに敏感な検索シーケンスを作成することができる(ステップ616)。文法規則は、この検索シーケンスに従って、最も高い順位の文法ファイルから始まり、最も低い順位の文法ファイルが検索されるまで、より低いランキング順位の文法ファイルへと検索される。
コンテキストに敏感な検索シーケンスは、様々なアルゴリズムに基づいて作成することができる。例えば、特定のコンテキストがどの程度最近に話し合われたかに応じて順位を単純に割り当てることができる。上述の例では、話し合いは、general、weather、stock、sports、baseball、soccerの順の経路に従っており、soccerが最も新しいコンテキストである。この検索シーケンスでは、まずサッカーに関連する文法ファイルを検索し、次いで、野球、スポーツ、株式、天気と続き、最後に一般の話題に関する文法ファイルを検索することができる。この階層または検索シーケンスは、会話が採り上げられる頻度、コンテキストに費やされる会話の時間の長さによってさらに修正することもできる。例えば、特定のコンテキストが、同じ会話中に、何回も採り上げられている場合、または、長い時間にわたり話し合われている場合、そのコンテキストは、最も新しいコンテキストでなくても、他のコンテキストまたは他の文法ファイルに先んじて検索が促されることがある。
この動的検索シーケンスは、音声認識エンジン126で使用するために、サーバ110によりクライアント112に渡される(ステップ618)。音声認識エンジン126は、音グループとの一致を得るために文法規則を検索するとき、動的検索シーケンスを使用する。動的に作成された階層は、ユーザとシステムの間の特定の会話に対し、より関連性があるという利点を有する。一致は、最も新しい会話のコンテキストにおいて、より発見される可能性が高くなり得ることは認識されよう。また、一致は、その会話のコンテキストのうちの1つにおいて、より発見される可能性が高い。しかし、会話に関係しないコンテキストにおいては発見される可能性が低い。動的に作成された検索シーケンスにより、認識時間および精度が改善される傾向がある。また、これにより、すべての文法規則についての検索階層を予め確立するときに、そうでなければ設計者が行う必要がある当て推量が軽減される。
さらに、先に述べたように、コンテキスト履歴はまた、動的文法規則を生成するために使用することもできる。前述のように、1つの用途は、コンテキスト履歴に基づいて、関連する可能性が低いと見込まれる候補を破棄することにより、候補の数を限ることである。他の用途は、マージされた単語リストにおける単語を順位付けすることである。先に述べたように、マージされた単語リストは、認識されていない各単語または音グループごとに作成される。マージされた単語リストは、概念からキーワードへのマッピングにおいてキーワードから抽出された単語を含む。マージされた単語リストにおける単語は、動的検索シーケンスに基づいて順位付けすることができる。したがって、動的文法規則が、認識されていない音のグループ分けを再処理するために音声認識エンジン126に渡されるとき、最初に、より可能性の高い候補単語が、あり得る一致を得るために検索される。
先に述べたように、音声認識の精度は、言語モデルと呼ばれる技術を使用してさらに改善することができる。言語モデルは、リテラル(literal)における音のパターンのグループ分けに関する統計情報である。
「リテラル」は、ここでは、発声されたあるいは文字によるリテラル・テキストのことを指す。リテラルにより、関連するコーパスが提供される。コーパスは、「知識」の特定のコンテキストまたは領域についての言語モデルを作成または洗練するために言語モデル生成器に提供される。関連する統計情報を生成するために、大量のリテラルまたは関連するコーパスを入力することは一般的に退屈である。このシステムでは、リテラルを編纂するためのモジュールが提供される。本明細書に記載の実施形態では、リテラルは、3つの部分、すなわち、サンプル発話、エージェントの応答、およびユーザの入力を含む。
サンプル発話(およびエージェント応答)はリテラルに直接追加することができるが、好都合なことに、システム100は、ユーザ入力を抽出するためのログ・アナライザ120を提供している。好都合なことに、システム100は、すべてのイベントのログを追跡し、ログ・ファイルにシステム・ログを保存することができる。これらのシステム・イベントには、例えば、マウスのクリック、ファイルのオープン、タイマの失効、ユーザの音声入力、および、システムの応答が含まれ得る。ログ・アナライザ120は、システム・ログを分析し、次いで、システム・ログから会話のスレッドを識別する。言い換えれば、ログ・アナライザ120は、テキスト入力としてまたは認識された音声のテキストとしてのユーザ入力を分離し、システム・ログから対応するシステム応答を分離し、それらを会話のスレッドにグループ化する。こうすると、各会話スレッドは、ユーザとシステムの間の会話の忠実な記録となり、また、言語モデルを作成するために、各会話スレッドをリテラルまたはコーパスに追加することができる。
例えば、会話は、エージェントによる挨拶から開始し、次いで、ユーザからの質問、さらに、推論および応答モジュール118によって作成される応答が続くことが可能である。次いで、さらにユーザからの質問が続き、推論および応答モジュール118によって生成される応答が続くこともあり得る。別個の会話スレッド、すなわち、システムのユーザとシステムの応答の間の実際の会話の表現が、システム・ログから抽出されると、この分離された会話スレッドは、音声認識エンジン126、または別個の言語モデル生成器に提供され得る。
いくつかの利点は、システム・ログから「リテラル」を抽出することによって得られる。第1に、退屈で誤りが起きやすいプロセスである「リテラル」の手作業の入力が必要でなくなる。第2に、ログは、単にその知識領域に対する関連性について含まれている何らかの文字による伝達の表現ではなく、ユーザとシステムの間の口頭の伝達をより正確に反映する。第3に、リテラルは、ごく少数のコンテンツ作成者の知的となり得る独創的想像の結果ではなく、システムの多数となり得るユーザからの実生活の入力を反映する。作成されるまたは精錬される言語モデルは、実生活の会話をより正確に反映する傾向があり、音声認識の精度を改善する助けとなる。
動作に際しては、システムのアプリケーションの管理者または設計者は、まず、特定のアプリケーションに合うようにシステムを構成し、すなわちエージェントを定義する。前述のように、エージェントは、その知識領域、ならびにユーザから受け取った入力に対する応答により定義される。その知識領域において、エージェントは、ユーザ入力を「理解」し、分別のある応答を提供することができる。エージェントは、いくつかの方法で定義することができる。通常は、提供されたツールキット144を使用して、設計者が、まず、その領域に関連する1組の概念を定義する。次いで、設計者は、ツールキット144、またはツールキット144のエージェント・エディタ148を使用して、これらの概念に対して、1組の概念からキーワードへのマッピングを定義する。次いで、設計者は、知識領域に関連すると見なされるサンプル発話を入力する。サンプル発話は、予期されるユーザ入力のタイプに対応することもできる。ツールキットNLP146は、各サンプル発話を構文解析して、文タイプ、または対話行為、ならびに関連する順序付き概念リストを導き、したがってトリガを定義する。各トリガごとに、いくつかの可能な応答のうちから応答を選択するためのアルゴリズムによって、設計者は、1つの応答または一緒にいくつかの応答を入力することができる。設計者が、すべての所望の、概念からキーワードへのマッピング、トリガ、およびそれらに関連する応答が入力されたことに満足した場合、設計者は、「公開」を行う、すなわち、ツールキット144を使用して、コンセプトからキーワードへのマッピング、トリガ、およびそれらに関連する応答を変換し、サーバ・データベース122に保存する。これにより、エージェントの定義または構成、すなわち、特定の知識領域における特定のアプリケーションに対応するシステムの構成が完了する。
この特定の知識領域における音声認識の精度を改善するために、音声認識エンジンは、文法ファイルを利用することができる。文法ファイルは、手作業で作成され得るが、ツールキット144を使用して、文法ファイルの作成を少なくとも部分的に自動化することが好ましい。好都合なことに、設計者は、ツールキットNLP146を使用して、サンプル発話を構文解析して概念の順序付きリストを導く。文法規則は、概念からキーワードへのマッピングを使用して、自動的に生成することができる。設計者は、サンプル発話が入力されトリガが生成されたとき、あるいは、すべてのサンプル発話が入力されたとき、文法規則を生成することができる。これらの文法規則は、静的文法規則である。これらの文法規則は、エージェントとユーザの間の相互作用の各セッションにおいて変更されず、また、エージェントとユーザの間の相互作用の複数のセッションにわたっても変更されない傾向がある。ツールキットNLP146を使用して自動的に生成されたこれらの文法規則は、1つまたは複数の文法ファイルとして格納される。静的文法規則は、グループ化され、そのグループ分けに従って異なる文法ファイルとして格納することができる。このグループ分けは、知識領域のカテゴリまたはサブ・フィールドに基づき行うことができ、あるいは、文法規則に割り当てられた、または文法規則を生成するために用いられる概念からキーワードへのマッピングに割り当てられたコンテキスト指定から導出される、定義された「コンテキスト」に基づいて行うこともできる。
「エージェント」が「公開」され、関係する文法ファイルが格納されると、システムまたはエージェントは、ユーザと対話することができる状態になる。システムは、ユーザと様々な方法で対話することができる。言い換えれば、システムは、様々なタイプのユーザ・インターフェースを有することができる。ユーザ・インターフェースは、テキスト・ベースにすることも音声ベースにすることもできる。例えば、ユーザ・インターフェースは、クライアント112に接続されたコンピュータ端末とすることができ、それにより、リモート・ユーザがテキストの照会文を入力することを可能にする、テキスト入力フォーム、またはウェブ・ベースの入力フォームが提供される。ユーザ・インターフェースは、音声入力が直接入力できるように、音声認識エンジン126に結合されたマイクまたは他の音声検出装置とすることもできる。ユーザは、ウェブ・ベースの入力フォームを介して、まずステートメントまたは質問を入力することにより、エージェントとの対話を開始することができる。ユーザは、エージェントが音声認識エンジン126を装備している場合、エージェントに直接話すこともできる。テキスト入力が入力された場合、システム100は、その入力の主題がエージェントの知識領域に属している場合に応答を与える。音声が入力として与えられた場合、システム100は、まず、その音声認識エンジン126を使用して音声をテキスト形式に変換し、次いで、その認識された音声に基づいて応答を与える。
図1のクライアント/サーバ構成を用いて実装されたシステムでは、クライアント側の音声認識エンジン126により、ユーザの音声がテキストに変換され、次いで、そのテキストは、処理のためにサーバ110に転送される。ユーザの音声が、完全に理解されていない場合は、まず、部分的に認識されている音声が、増幅のためにサーバ110に転送される。サーバ110の動的文法規則生成器116は、図4に関連して説明されたステップに従って、部分的に認識された音声に基づき動的文法規則を生成する。図5に関連して説明された処理のステップに従って、部分的に認識された音声を再処理する、すなわち、以前の認識のパス(pass)で解決されなかった音のグループを解決して単語を導くために用いるため、動的文法規則は、音声認識エンジン126に転送される。音声が依然として完全には解決されていない場合、今回はより多くの単語が認識されている部分的に認識された音声が、音声認識エンジン126が部分的に認識された音声を再び処理するための、さらに他の動的文法規則を生成するために、サーバ110に送られ得る。このプロセスは、音声が完全に認識されるまで繰り返すことができ、その時、認識された音声のテキストは、応答を選択するためにサーバ100に送られる。
音声が完全に認識された場合、サーバ110は、認識された音声を処理して応答を提供する。まず、認識された音声のテキストは、サーバNLP114により構文解析されて、文タイプおよびそれに関連する概念リストが導かれ、つまり、テキストは、まず、サーバNLP114によって、「トリガ」に変換される。次いで、サーバ110の推論および応答モジュール118は、サーバ・データベース122で、ツールキット144を使用してそれに「公開」されたトリガのコレクションから、入力トリガでの一致を求める。前述のように、各トリガは、これらの応答から1つの応答を選択するためのアルゴリズムによって、1つの応答とまたは一緒にいくつかの応答と関連付けられる。トリガに関連付けられた応答は、選択された後、クライアント112に送り返される。クライアント112は、テキスト形式でユーザに応答を表示することも、テキスト音声変換エンジン142を使用して、テキストを音声に変換することもできる。システム100は、その一方で、システム・ログに、認識された音声、および選択された応答を記録する。
コンテキストは、認識された音声、および選択された応答から決定することができる。例えば、エージェント設計者によって割り当てられる、一致したトリガに関連するコンテキスト指定から、コンテキストを決定することができる。コンテキストは、ユーザ入力に出現する概念のリストから動的に決定することもできる。例えば、ユーザ入力が、スポーツと関係するいくつかの概念と、ホッケーに関係する1つの概念を含む場合、コンテキストは、「sport」、またはその下位のカテゴリの1つの「hockey」に関係していると決定され得る。コンテキストは、現在のコンテキストがその前のユーザ入力に関連するコンテキストと異なる場合、コンテキスト履歴ログに記録される。コンテキスト履歴は、図6に示すプロセスに関連して説明したように、文法規則を検索またはロードするための動的検索シーケンスを定式化するためにシステム100によって使用することができる。図6ではサーバ110が検索シーケンスを生成するプロセスを示しているが、検索シーケンスは、サーバで生成してもクライアントで生成してもよいことは認識されよう。
システムのアプリケーションの設計者または管理者は、システム・ログから個々の対話を抽出するために、ログ・アナライザ120を使用する。エージェントとユーザの間の相互作用のセッションの後、あるいは、いくつかのこのようなセッションが完了した後、言語モデルを確立しまたは洗練するために使用することができる「リテラル」は、これらの個々の対話から編纂することができる。エージェントの設計者は、このように編纂されたリテラルを、言語モデル生成器に提供して、言語モデルがまだ作成されていない場合は言語モデルを確立し、少なくとも1つの言語モデルが確立されている場合は言語モデルを洗練することができる。もちろん、設計者は、サンプル発話と設計された応答がすべてエージェントの知識領域に属するとき、ユーザとエージェントの間のどの相互作用セッションにも先立ち、サンプル発話と設計された応答のコレクションを使用して、言語モデルを確立することができる。
本発明の様々な実施形態が上記に詳しく説明された。これらの実施形態に対して、本発明の範囲から逸脱することなく、多数の修正、調整、および変形を加えることができることは当業者には理解されよう。本発明の特性、趣旨、および範囲から逸脱することなく、上述の最良の形態に対する変更または追加を行うことができるため、本発明は、これらの詳細に限定されず、添付の特許請求の範囲によってのみ限定される。
例示的クライアント/サーバ構成で実装される音声認識システムを示す概略図である。 図1のシステムによって使用するためのデータ・ファイルを準備するためのツールキットの機能コンポーネントを概略的に示す図である。 図1のシステムによって使用するための文法規則を生成する例示的プロセスを示す図である。 音声の認識および増幅のために文法規則を動的に生成するプロセスのステップを示す図である。 図4に示すプロセスにおいて動的に生成された文法規則を利用する音声認識増幅のプロセスのステップを示す図である。 図1のシステムによって使用するための文法規則の動的階層を作成するプロセスのステップを概略的に示す図である。
符号の説明
110 サーバ
112 クライアント
114 自然言語処理装置(NLP)
114 サーバNLP
116 動的文法規則生成器
118 推論および応答モジュール
120 ログ・アナライザ
122 サーバ・データベース
126 音声認識エンジン
128 ディクテーション・モジュール
130 言語モデル・モジュール
132 文法規則モジュール
134 クライアント・ストレージ
136 辞書ファイル
138 言語モデル・ファイル
140 文法ファイル
142 テキスト音声変換エンジン
144 ツールキット
146 ツールキットNLP
148 エージェント・エディタ
150 ツールキット文法規則生成器
152 ツールキット・データベース

Claims (35)

  1. 発声された単語の音響信号表現からテキスト出力を提供するための音声認識システムであって、
    部分的に認識された文を構文解析して、文タイプと、関連する認識された単語および認識されていない音のグループ分けの順序付きリストとを導くための自然言語処理装置であって、前記文タイプは、概念の順序付きリストを有し、前記部分的に認識された文は、前記音響信号に対応する自然言語処理装置と、
    前記認識されていない音のグループ分けの1つに対応する位置にある各前記概念を、複数の関係する単語へ拡張するための文法規則生成器と、
    前記音響信号を前記テキスト出力に変換するための音声認識エンジンとを含み、前記音声認識エンジンは、前記認識されていない音のグループ分けの1つを解決するために、前記複数の関係する単語に作用的に連結されている、システム。
  2. 発声された単語の音響信号表現の認識精度を改善するためのシステムであって、前記音響信号は、音声認識エンジンによってテキスト出力に変換され、前記システムは、
    テキスト形式の文を構文解析してキーワードの順序付きリストを導くための自然言語処理装置と、
    前記順序付きリストの各キーワードを、複数の関係する単語に拡張して、前記キーワードの順序付きリストから文法規則を得るための文法規則生成器とを含み、
    前記音声認識エンジンは、前記音響信号において認識されていない音のグループ分けを解決して、対応する発声された単語を前記テキスト出力として導くための前記文法規則に作用的に連結される、システム。
  3. 概念からキーワードへのマッピングを準備するためのエディタをさらに含み、各キーワードの前記複数の関係する単語への前記拡張は、各前記キーワードを概念とマッチングすること、および、対応する概念からキーワードへのマッピングを用いて前記概念をキーワードで置き換えることに対応する、請求項2に記載のシステム。
  4. 前記文法規則は、それに割り当てられたコンテキスト指定を有する、請求項2に記載のシステム。
  5. 前記発声された単語の会話コンテキストを決定することが実施可能であり、前記音声認識エンジンは、前記コンテキスト指定が前記会話コンテキストと一致する場合に、前記文法規則を選択することが実施可能である、請求項3に記載のシステム。
  6. 音声認識エンジンによって使用するための文法規則を生成する方法であって、
    自然言語処理装置を使用して、サンプル文を構文解析して、キーワードの順序付きリストを導くステップと、
    概念からキーワードへのマッピングを使用して、前記順序付きリストの各キーワードを、概念とマッチングするステップと、
    前記概念からキーワードへのマッピングを使用して、各前記概念をキーワードのリストで置き換えることにより、前記順序付きリストから前記文法規則を作成するステップとを含む、方法。
  7. コンテキスト指定を前記文法規則に割り当てるステップをさらに含む、請求項6に記載の方法。
  8. 前記概念からキーワードへのマッピングは、コンテキスト属性を有し、前記文法規則に割り当てられた前記コンテキスト指定は、前記コンテキスト属性に対応する、請求項6に記載の方法。
  9. 複数の概念からキーワードへのマッピングを準備するステップをさらに含む、請求項6に記載の方法。
  10. 概念からキーワードへのマッピング、および文タイプを使用して、部分的に認識された音声における認識されていない音のグループを解決するための音声認識方法であって、各文タイプは、複数の関連する文法規則を有し、前記文法規則は、いくつかの概念として表現され、前記方法は、
    自然言語処理装置を使用して、前記部分的に認識された音声を構文解析して、所定の文タイプと、関連する認識された単語および前記認識されていない音グループの順序付きリストとを導くステップと、
    前記文タイプに関連する文法規則のリストを、複数の文法規則から選択するステップであって、
    前記リストの各文法規則は、複数の構成概念を有し、
    各前記構成概念は、前記認識された単語と前記認識されていない音グループの一方に対応するステップと、
    前記認識されていない音グループごとに、すべての前記選択された文法規則における前記対応する構成概念を、1つの概念リストにマージするステップと、
    候補単語のリストを作成するために、前記概念からキーワードへのマッピングを使用して前記マージされた概念のリストを拡張するステップと、
    前記候補単語のリストを使用して、各前記認識されていない音グループを解決するステップとを含む、方法。
  11. 前記拡張するステップに先立ち、複数の概念からキーワードへのマッピングを準備するステップをさらに含む、請求項10に記載の音声認識方法。
  12. 前記文法規則のリストを選択するステップは、前記部分的に認識された音声と、前記複数の文法規則のそれぞれを比較するステップと、前記部分的に認識された音声と一致しないどの文法規則も破棄するステップとを含む、請求項10に記載の音声認識方法。
  13. 前記比較するステップは、文タイプを比較するステップを含み、前記破棄するステップは、前記部分的に認識された音声と同じ文タイプを有していない文法規則を破棄するステップを含む、請求項12に記載の音声認識方法。
  14. 前記比較するステップは、前記部分的に認識された音声を、前記複数の文法規則のそれぞれの前記構成概念と比較するステップを含み、前記破棄するステップは、前記部分的に認識された音声において、認識されたいずれの単語にも一致しない文法規則を破棄するステップを含む、請求項12に記載の音声認識方法。
  15. 前記部分的に認識された音声の会話コンテキストを決定するステップをさらに含み、前記選択された文法規則のそれぞれは、コンテキスト指定をさらに有し、前記比較するステップは、前記コンテキスト指定を、前記会話コンテキストと比較するステップを含み、前記破棄するステップは、前記コンテキスト指定と一致する前記会話コンテキストを有していない文法規則を破棄するステップを含む、請求項12に記載の音声認識方法。
  16. 概念からキーワードへのマッピング、および文タイプを使用して、音声における認識されていない音グループを解決するために、音声認識エンジンによって使用するための動的文法ファイルを生成するための方法であって、各文タイプは、複数の関連する文法規則を有し、前記文法規則は、いくつかの概念として表現され、前記方法は、
    自然言語処理装置を使用して、前記部分的に認識された音声を構文解析して、所定の文タイプと、関連する認識された単語および前記認識されていない音グループの順序付きリストとを導くステップと、
    複数の文法規則から、前記文タイプと関連する文法規則のリストを選択するステップであって、
    前記リストの各文法規則は、複数の構成概念を有し、
    前記構成概念のそれぞれは、前記認識された単語と前記認識されていない音グループの一方に対応するステップと、
    前記認識されていない音グループごとに、すべての前記選択された文法規則における前記対応する構成概念を、1つの概念リストにマージするステップと、
    前記概念からキーワードへのマッピングを使用して、前記マージされた概念のリストの各概念を、キーワードのリストで置き換えることによって、前記順序付きリストから前記動的文法規則を生成するステップとを含む、方法。
  17. コンテキスト指定を、前記動的文法規則に割り当てるステップをさらに含む、請求項16に記載の方法。
  18. 前記概念からキーワードへのマッピングは、コンテキスト属性を有し、前記動的文法規則に割り当てられた前記コンテキスト指定は、前記コンテキスト属性に対応する、請求項16に記載の方法。
  19. 複数の概念からキーワードへのマッピングを準備するステップをさらに含む、請求項16に記載の方法。
  20. 前記文法規則のリストを選択する前記ステップは、前記複数の認識された音声を前記複数の文法規則のそれぞれと比較するステップと、前記部分的に認識された音声と一致しないどの文法規則も破棄するステップとを含む、請求項16に記載の方法。
  21. 前記比較するステップは、文タイプを比較するステップを含み、前記破棄するステップは、前記部分的に認識された音声と同じ文タイプを有していない文法規則を破棄するステップを含む、請求項16に記載の方法。
  22. 前記比較するステップは、前記部分的に認識された音声を比較するステップを含み、破棄するステップは、前記部分的に認識された音声においてどの認識された単語にも一致しない文法規則を破棄するステップを含む、請求項16に記載の方法。
  23. 前記部分的に認識された音声の会話コンテキストを決定するステップをさらに含み、前記選択された文法規則のそれぞれは、コンテキスト指定をさらに有し、前記比較するステップは、前記コンテキスト指定を前記会話コンテキストと比較するステップを含み、前記破棄するステップは、前記コンテキスト指定と一致する前記会話コンテキストを有していない文法規則を破棄するステップを含む、請求項16に記載の方法。
  24. 複数の文法規則を準備するステップであって、前記複数の各文法規則は、それに割り当てられたコンテキスト指定を有するステップと、
    音声認識エンジンによって認識される音声の会話コンテキストを決定し、コンテキスト履歴に前記会話コンテキストを記録するステップと、
    前記会話コンテキストが、前記コンテキスト指定のうち1つに対応する場合、前記コンテキスト履歴の機能として、検索シーケンスにおいて順位を前記コンテキスト指定に割り当てるステップと、
    前記音声認識エンジンに、前記検索シーケンスに従って前記複数の文法規則を検索するように指示するステップとを含む、音声認識方法。
  25. 前記順位は、前記コンテキスト履歴において、前記会話コンテキストがどの程度最近に出現したかと相関関係にある、請求項24に記載の方法。
  26. 前記順位は、前記会話コンテキストが前記コンテキスト履歴に出現する頻度と相関関係にある、請求項24に記載の方法。
  27. 前記順位は、前記コンテキスト履歴において前記会話コンテキストが表されている合計時間と相関関係にある、請求項24に記載の方法。
  28. 言語モデル生成器によって使用するためのコーパスを編纂する方法であって、
    ユーザからのユーザ入力のテキスト、および知識ベース・システムによって生成された前記ユーザに対する応答を、ログ・ファイルに格納するステップと、
    前記ユーザと前記知識ベース・システムの間の会話のスレッドを抽出するステップあって、前記会話のスレッドは、前記ユーザ入力および前記システム応答のリテラル・テキストを含むステップと、
    前記会話のスレッドを前記コーパスに追加するステップとを含む、方法。
  29. 音声認識エンジンを使用して、前記ユーザ入力を音声として認識するステップをさらに含み、
    前記格納するステップは、前記ユーザの前記認識された音声のテキストを格納するステップを含む、請求項28に記載の方法。
  30. 前記システム応答は、予めプログラムされた応答のデータベースから抽出される、請求項28に記載の方法。
  31. 複数の予めプログラムされた応答を準備するステップと、すべての前記予めプログラムされた応答を前記コーパスに追加するステップとをさらに含む、請求項28に記載の方法。
  32. 音声認識システムの認識精度を改善するための方法であって、前記音声認識システムは、発声された単語の音響信号表現をテキスト出力に変換するための音声認識エンジンを有し、前記方法は、
    第1の複数の概念を選択するステップと、
    第2の複数の概念からキーワードへのマッピングを準備するステップであって、前記第1の複数の概念の各概念は、少なくとも1つの概念からキーワードへのマッピングを有するステップと、
    第3の複数の文タイプを定義するステップであって、各文タイプは、概念の順序付きリストと関連しており、前記概念の順序付きリストは、前記第1の複数の概念から形成されるステップと、
    前記音響信号において認識されていない音のグループ分けを解決するために、前記第1の複数の概念と、前記第2の複数の概念からキーワードへのマッピングと、前記第3の複数の文タイプとを、前記関連する概念の順序付きリストと一緒に、前記音声認識システムに提供するステップとを含む、方法。
  33. サンプル発話を入力するステップと、
    自然言語処理装置を使用して、前記サンプル発話を構文解析して、文タイプ、および関連する概念の順序付きリストを導くステップと、
    文法規則生成器を使用して、前記文タイプ、および前記関連する概念の順序付きリストから、文法規則を生成するステップと、
    前記音響信号において認識されていない音のグループ分けを解決するために、前記文法規則を、前記音声認識エンジンに提供するステップとをさらに含む、請求項32に記載の方法。
  34. 複数のサンプル発話を入力するステップと、
    自然言語処理装置を使用して、各前記サンプル発話を構文解析して、文タイプ、および関連する第2の概念の順序付きリストを導くステップと、
    文法規則生成器を使用して、前記文タイプ、および前記関連する第2の概念の順序付きリストから、文法規則を生成するステップと、
    前記音響信号において認識されていない音のグループ分けを解決するために、前記複数の文法規則を前記音声認識エンジンに提供するステップとをさらに含む、請求項32に記載の方法。
  35. 部分的に認識された音響信号に対応するテキスト入力を、自然言語処理装置に提供するステップと、
    前記自然言語処理装置を使用して、前記テキスト入力を構文解析して、第2の文タイプと、関連する認識された単語および認識されていない音のグループ分けの順序付きリストとを導くステップと、
    前記複数の文法規則から、前記第2の文タイプに関連する文法規則のリストを選択するステップであって、前記リストの各文法規則は、複数の構成概念を有するステップと、
    前記認識されていない音のグループ分けのうち1つに対応する位置における各前記構成概念を、複数の関係する単語へ拡張するステップと、
    前記認識されていない音のグループ分けのうち1つを解決するために、前記複数の関係する単語を、前記音声認識エンジンに提供するステップとをさらに含む、請求項34に記載の方法。
JP2005290847A 2004-10-05 2005-10-04 音声認識の精度を改善するためのシステムおよび方法 Pending JP2006106748A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CA 2483805 CA2483805C (en) 2004-10-05 2004-10-05 System and methods for improving accuracy of speech recognition

Publications (1)

Publication Number Publication Date
JP2006106748A true JP2006106748A (ja) 2006-04-20

Family

ID=36141672

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005290847A Pending JP2006106748A (ja) 2004-10-05 2005-10-04 音声認識の精度を改善するためのシステムおよび方法

Country Status (2)

Country Link
JP (1) JP2006106748A (ja)
CA (3) CA2483805C (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009265219A (ja) * 2008-04-23 2009-11-12 Nec Infrontia Corp 音声入力分散処理方法及び音声入力分散処理システム
JP2012037790A (ja) * 2010-08-10 2012-02-23 Toshiba Corp 音声対話装置
KR20140112360A (ko) * 2013-03-13 2014-09-23 삼성전자주식회사 음성 인식의 단어 통합 시스템 및 단어군 추가 방법
CN107564532A (zh) * 2017-07-05 2018-01-09 百度在线网络技术(北京)有限公司 电子设备的唤醒方法、装置、设备及计算机可读存储介质
JP2020503620A (ja) * 2016-12-30 2020-01-30 グーグル エルエルシー 文脈を意識した人間−コンピュータ間対話

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019169536A1 (zh) * 2018-03-05 2019-09-12 华为技术有限公司 一种电子设备进行语音识别方法及电子设备

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009265219A (ja) * 2008-04-23 2009-11-12 Nec Infrontia Corp 音声入力分散処理方法及び音声入力分散処理システム
JP2012037790A (ja) * 2010-08-10 2012-02-23 Toshiba Corp 音声対話装置
KR20140112360A (ko) * 2013-03-13 2014-09-23 삼성전자주식회사 음성 인식의 단어 통합 시스템 및 단어군 추가 방법
KR102249687B1 (ko) * 2013-03-13 2021-05-11 삼성전자 주식회사 음성 인식의 단어 통합 시스템 및 단어군 추가 방법
JP2020503620A (ja) * 2016-12-30 2020-01-30 グーグル エルエルシー 文脈を意識した人間−コンピュータ間対話
US11227124B2 (en) 2016-12-30 2022-01-18 Google Llc Context-aware human-to-computer dialog
CN107564532A (zh) * 2017-07-05 2018-01-09 百度在线网络技术(北京)有限公司 电子设备的唤醒方法、装置、设备及计算机可读存储介质
JP2019015951A (ja) * 2017-07-05 2019-01-31 バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド 電子機器のウェイクアップ方法、装置、デバイス及びコンピュータ可読記憶媒体
US10783884B2 (en) 2017-07-05 2020-09-22 Baidu Online Network Technology (Beijing) Co., Ltd. Electronic device-awakening method and apparatus, device and computer-readable storage medium

Also Published As

Publication number Publication date
CA2880554A1 (en) 2006-04-05
CA2880554C (en) 2017-11-21
CA2483805C (en) 2015-04-21
CA2483805A1 (en) 2006-04-05
CA2981426A1 (en) 2006-04-05

Similar Documents

Publication Publication Date Title
US8352266B2 (en) System and methods for improving accuracy of speech recognition utilizing concept to keyword mapping
EP2306451B1 (en) Speech recognition
KR100563365B1 (ko) 계층적 언어 모델
US9442910B2 (en) Method and system for adding punctuation to voice files
US11823678B2 (en) Proactive command framework
JP2005010691A (ja) 音声認識装置、音声認識方法、会話制御装置、会話制御方法及びこれらのためのプログラム
JP2003036093A (ja) 音声入力検索システム
US20100049513A1 (en) Automatic conversation system and conversation scenario editing device
KR20190039079A (ko) 대화 시스템 및 그것을 위한 컴퓨터 프로그램
JP2009036999A (ja) コンピュータによる対話方法、対話システム、コンピュータプログラムおよびコンピュータに読み取り可能な記憶媒体
JP2007115145A (ja) 会話制御装置
US8903724B2 (en) Speech recognition device and method outputting or rejecting derived words
US11195522B1 (en) False invocation rejection for speech processing systems
US10417345B1 (en) Providing customer service agents with customer-personalized result of spoken language intent
US10783876B1 (en) Speech processing using contextual data
JP2006106748A (ja) 音声認識の精度を改善するためのシステムおよび方法
JP5073024B2 (ja) 音声対話装置
Hori et al. Deriving disambiguous queries in a spoken interactive ODQA system
JP4244423B2 (ja) 適正単語列推定装置
JP4475628B2 (ja) 会話制御装置、会話制御方法並びにこれらのプログラム
JP4140248B2 (ja) データベース検索装置
JP4344508B2 (ja) 文生成システム、文生成方法、プログラム
Bechet et al. Tree-based language model dedicated to natural spoken dialog systems
JPWO2002067244A1 (ja) 音声対話のための音声認識方法、音声認識システム及び音声認識プログラム