Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6131249B2 - コンテキストアウェア認識モデルを使用した音声認識 - Google Patents
[go: Go Back, main page]

JP6131249B2 - コンテキストアウェア認識モデルを使用した音声認識 - Google Patents

コンテキストアウェア認識モデルを使用した音声認識 Download PDF

Info

Publication number
JP6131249B2
JP6131249B2 JP2014516093A JP2014516093A JP6131249B2 JP 6131249 B2 JP6131249 B2 JP 6131249B2 JP 2014516093 A JP2014516093 A JP 2014516093A JP 2014516093 A JP2014516093 A JP 2014516093A JP 6131249 B2 JP6131249 B2 JP 6131249B2
Authority
JP
Japan
Prior art keywords
application
language model
inputs
state
user interface
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.)
Active
Application number
JP2014516093A
Other languages
English (en)
Other versions
JP2014523543A (ja
Inventor
コール,デトレフ
フィンク,マイケル
Original Assignee
エムモーダル アイピー エルエルシー
エムモーダル アイピー エルエルシー
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 エムモーダル アイピー エルエルシー, エムモーダル アイピー エルエルシー filed Critical エムモーダル アイピー エルエルシー
Publication of JP2014523543A publication Critical patent/JP2014523543A/ja
Application granted granted Critical
Publication of JP6131249B2 publication Critical patent/JP6131249B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/274Converting codes to words; Guess-ahead of partial word inputs
    • 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/454Multi-language systems; Localisation; Internationalisation
    • 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/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • 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/26Speech to text systems
    • 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/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • G10L2015/0635Training updating or merging of old and new templates; Mean values; Weighting
    • 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/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Landscapes

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

Description

音声を認識して、かかる音声のトランスクリプトを作成し、ソフトウェアアプリケーションを制御するための、様々な自動音声認識(ASR)システムが存在する。例えば、ASRシステムの1つの一般的な使用は、ユーザーがテキストを口述してワープロ文書に挿入できるようにすること、およびワードプロセッシングアプリケーションのユーザーインタフェース(UI)要素(ウィンドウ、メニュー、およびダイアログボックスなど)を制御することである。例えば、ASRシステムをワードプロセッシングアプリケーションに関連して使用している場合、ユーザーは、音声コマンドを使用して「フォント」ダイアログボックスを表示させ、次いで、他の音声コマンドを使用して、フォント名をダイアログボックスに入力し、そのダイアログボックス内の「OK」ボタンをクリックして、所望のフォントを選択されたテキストに適用させるか、かつ/またはユーザーによって続いてタイプされたテキストに適用させることが可能であり得る。
かかる単純な例からでさえ明らかであるように、対象アプリケーション(例えば、ワードプロセッサ)は、様々なアプリケーション状態を有し得、例えば、ユーザーによって提供されたマウスおよびキーボード入力が、現在オープンされている文書に挿入されるテキストとして、および現在オープンされている文書を含むウィンドウを制御するためのコマンドとして解釈される、「テキスト入力」状態、ならびに、ユーザーによって提供されたマウスおよびキーボード入力が、「フォント」ダイアログボックスのユーザーインタフェース要素を制御するためのコマンドとして、およびその「フォント」ダイアログボックスのテキストフィールドに入力されるテキストとして解釈される「フォントダイアログボックス」状態などである。かかるアプリケーションとやりとりする任意のASRシステムは、アプリケーションの現在の状態に基づいて、アプリケーションと正しくやり取りできる必要がある。
ASRを対象アプリケーション(例えば、ワードプロセッサ)の状態に合わせるための1つの典型的な方法は、ASRを対象アプリケーションと密接に統合することである。例えば、対象アプリケーションは、音声認識エンジンを様々なアプリケーション状態で使用するために適切に構成し、音声認識結果をかかるアプリケーション状態において適切に解釈するために、ASRの音声認識エンジンを認識するように設計され得るか、または修正され得る。例えば、ワードプロセッシングアプリケーションは、そのワードプロセッシングアプリケーションが「テキスト入力」状態にある場合に第1の特定の言語モデル(一般的な英語モデルなど)を使用するように音声認識エンジンを構成し、また、そのワードプロセッシングアプリケーションが「フォントダイアログボックス」状態にある場合に第2の特定の言語モデル(対象とするコンピュータ上に現在インストールされているフォント名のみを認識するように制限されている「フォントダイアログボックス」言語モデルなど)を使用するように音声認識エンジンを構成するように設計され得る。
音声認識エンジンと対象アプリケーションとの間のかかる密接な統合の1つの利点は、音声認識エンジンが適切な言語モデルを使用でき、また、他の方法で対象アプリケーションの各状態に対して適切に構成できるようにすることにより、それが音声認識精度を向上できることである。かかる密接な統合の別の利点は、音声認識エンジンの構成および音声認識エンジンの結果の解釈が、ボタンおよび他のユーザーインタフェース要素のサイズ、位置、またはテキストラベルなどの、アプリケーション状態の視覚的特徴に直接関係しないことである。
かかる密接な統合の著しい欠点は、しかし、音声認識エンジンおよび対象アプリケーションが、前もって、このように互いに統合されるように設計されるか、または修正される必要があることである。かかる統合は、従って、音声認識エンジンが対象アプリケーションの様々な状態と適切にやりとりするよう調整するために著しい手動労力を必要とし得るだけでなく、音声認識エンジンの設計者に利用可能ではないかも知れない、対象アプリケーションのソースコードまたは他の内部詳細へのアクセスも必要とし得る。さらに、密接な統合に依存している場合、その音声認識エンジンは、密接に統合するために設計されている対象アプリケーションとのみ使用可能である。結果として、かかる音声認識エンジンは、統合するために特に設計されていない対象アプリケーションと関連して使用される場合、同じ効果を得ることができず、また、同じ対象アプリケーションの修正されたバージョンと正しくやりとりすることさえ可能でないかも知れない。
一般に、自動音声認識システムが、ワードプロセッサ、ウェブブラウザ、電子メールクライアント、およびデータベースアプリケーションなどの、幅広い種類の対象アプリケーションとともに、かかる対象アプリケーションの様々な状態の全てにおいて高い認識精度で、使用可能であることは望ましい。しかし、上の記述が示すように、自動音声認識システムと対象アプリケーションとの間で、その2つの密接な統合を通じて、かかる相互運用性を達成しようとする試みは、退屈で時間のかかるものであり、多くの場合、現実的な観点から可能でない。自動音声認識システムを幅広い種類の対象アプリケーションとそれらの様々な状態において相互運用可能にするための様々な他のアプローチは、それら独自の欠点を有する。それ故、必要なのは、自動音声認識システムが、幅広い種類の対象アプリケーションとかかるアプリケーションの様々な状態において容易に、かつ高い認識精度で相互運用できるようにするための改善された技術である
一態様では、方法は、アプリケーションが第1の状態にある間に、第1の複数の入力をアプリケーション内に受信することを含む。本方法は、第1の複数の入力に基づいて、第1の言語モデルを訓練することを含む。本方法は、アプリケーションが第1の状態にあると判断することを含む。本方法は、アプリケーションが第1の状態にあるという判断に応答して、第1の言語モデルを第1の音声入力に適用することを含む。
別の態様では、自動音声認識システムは、アプリケーションが第1の状態にある間に、第1の複数の入力をアプリケーション内に受信する入力受信機を含む。本システムは、第1の複数の入力に基づいて、第1の言語モデルを訓練する言語モデルトレーナーを含み得る。本システムは、アプリケーションが第1の状態にあると判断する言語モデル選択コンポーネントを含み得る。本システムは、アプリケーションが第1の状態にあるという判断に応答して、第1の言語モデルを第1の音声入力に適用する、言語モデル適用コンポーネントを含み得る。本システムは、自動音声認識システムおよびアプリケーションを順に実行するオペレーティングシステムを実行するコンピューティング装置を含み得る。自動音声認識システムおよびアプリケーションを異なるコンピューティング装置上で実行する分散モデルでは、本システムは、複数のコンピューティング装置を含み得る。
本発明の様々な態様および実施形態の他の特徴および利点は、以下の記述および請求項から明らかになるであろう。
本開示の前述および他の目的、態様、特徴および利点は、添付の図に関連した以下の記述を参照することにより、さらに明らかになり、より良く理解されるであろう。
コンテキストアウェア認識モデルを使用した音声認識のためのシステムの一実施形態を示すブロック図である。 自動音声認識システムがオペレーティングシステムフックコンポーネントを含む、システムの一実施形態を示すブロック図である。 調整された言語モデルを含む、システムの一実施形態を示すブロック図である。 コンテキストアウェア認識モデルを使用した音声認識のための方法の一実施形態を示す流れ図である。
前述のように、自動音声認識(ASR)システムが、任意の特定の時に対象アプリケーションの状態に関わらず、対象アプリケーション(例えば、ワードプロセッサ)と相互運用できるようにする1つの一般的な方法は、ASRを対象アプリケーションと密接に統合することである。このアプローチの欠点のために、他の試みが、ASRシステムを対象アプリケーションと相互運用可能にするために行われてきた。例えば、1つのかかるアプローチは、以下のような一般に適用可能なインタフェースを通じて、ASRシステムを対象アプリケーションとやりとり可能にすることである:
・キーボードエミュレーション
ASRエンジンが、キーボードイベントをエミュレートすることにより、テキストおよび/または制御シーケンスを対象アプリケーションにサブミットして、対象アプリケーションがかかるイベントを、それらがユーザーによるキーボード入力に応答して生成されたかのように、受信して処理できるようにする
・クリップボード転送
ASRエンジンが音声認識結果をオペレーティングシステムの「クリップボード」にポストし、「貼り付け」イベントを対象アプリケーションに送信して、あたかもユーザーがテキストに関して「コピー」および「貼り付け」操作を実行したかのように、音声認識結果が対象アプリケーションに提供されるようにする
・ASRシステムによって対象アプリケーションに伝送されたオペレーティングシステムメッセージ
・ポインティングデバイス(例えば、マウス)エミュレーション、ならびに
・ASRシステムが、対象アプリケーションが現在フォアグラウンドにあることに関する情報を取得し、また、対象アプリケーションによって現在表示されているユーザーインタフェース要素(例えば、ウィンドウ、メニュー、ダイアログボックス、ボタン、およびテキストフィールド)および現在入力フォーカスを有しているユーザーインタフェース要素の識別などの、対象アプリケーションの現在の状態を識別できるようにするための、標準的なオペレーティングシステムの内観機能を使用したオペレーティングシステムおよび対象アプリケーションの内観(introspection)。
このクラスのアプローチの1つの利益は、対象アプリケーションが音声入力を受け入れるため、またはASRシステムを肯定的に構成するために修正されるのを必要とすることなく、ASRシステムが対象アプリケーションと相互運用できるようにすることである。代わりに、ASRシステムが対象アプリケーションの現在の状態を考慮して適切に構成されるのを確実にすること、および正しい入力が対象アプリケーションに提供されるのを確実にすることの責任は、ASRシステムのみにある。例えば、内観を使用する場合、ASRシステムは、電子メールクライアントアプリケーション(例えば、Microsoft Outlook)がフォアグラウンドにある場合に「reload web page」コマンドではなく「send mail」コマンドをアクティブにすることによるなど、現在フォアグラウンドにあるアプリケーションに適用可能なコマンドのみアクティブにするために、そのコマンドおよび制御文法を構成し得る。別の例として、ダイアログボックスがフォアグラウンドアプリケーション内でフォーカスされている場合、ASRシステムは、そのダイアログボックス内のユーザーインタフェース要素を制御するためのコマンド(ダイアログボックス内でボタンを選択するためのコマンドなど)をアクティブにし得、また、そのダイアログボックスが表示されている間にアプリケーションメニューが選択可能でない場合にそのメニューを制御するためのコマンドをアクティブにし得る。
今記述したアプローチは、しかし、様々な制限を有する。例えば、ASRシステムを構成するために内観を使用することは、内観から引き出すことができる結論に基づいてASRシステムを構成することに限定される。例えば、内観は、特定のダイアログボックスがフォーカスされ、「OK」および「キャンセル」ボタンを含むという結論を有効にできるが、内観単独では、「OK」および「キャンセル」ボタンを選択するユーザーの相対的確率に関して引き出されるいかなる結論も有効にできない。より一般的には、内観は、特定のユーザーインタフェース要素が特定の時にフォーカスを有するかどうか、または特定のユーザーインタフェース要素が特定の時に存在するかどうかなどの、静的情報に基づくので、内観単独では、一人または複数のユーザーがアプリケーションのユーザーインタフェースを長期間にわたって使用する方法など、動的情報に基づいて結論を有効にできない。
対照的に、本発明の実施形態は、アプリケーションおよびそのユーザーインタフェースの使用を長い間にわたって観察するため、および1人または複数のユーザーがかかるインタフェースを長期間にわたってどのように使用するかに関する結論を引き出すために使用され得る。
ここで、図2と併せて、図1Aを参照すると、コンテキストアウェア認識モデルを使用する音声認識のための方法200およびシステム100は、自動音声認識システム104を含む。方法200は、アプリケーションが第1の状態にある間に、第1の複数の入力をアプリケーション内に受信することを含む(210)。方法200は、第1の複数の入力に基づいて第1の言語モデルを訓練することを含む(220)。方法200は、アプリケーションが第1の状態にあると判断することを含む(230)。方法200は、アプリケーションが第1の状態にあるという判断に応答して、第1の言語モデルを第1の音声入力に適用することを含む(240)。例えば、本発明の実施形態は、自動音声認識システム104(ASRシステム104とも呼ばれ得る)によって、長期間にわたるアプリケーションの特定のユーザーインタフェースの使用を観察すること、その特定のユーザーインタフェースの使用パターンを識別すること、ならびに、その特定のユーザーインタフェースに関連して、ASRシステムによる使用のために特定の言語モデルを選択および/または構成することによるなど、その識別された使用パターンを使用して、その特定のユーザーインタフェースでの使用のためにASRシステム104を構成することを含む。当業者によって理解されるように、ユーザーインタフェースは、1つまたは複数のユーザーインタフェース要素を含み得る。本明細書で「ユーザーインタフェース」に提供される入力へのどの参照も、1つまたは複数のユーザーインタフェース要素を含むユーザーインタフェースに入力を提供することを含む。
方法200は、アプリケーションが第1の状態にある間に、第1の複数の入力をアプリケーション内に受信することを含む(210)。ASRシステム104は、第1の複数の入力をアプリケーション140内に受信し得る。アプリケーション140は、例えば、ASRおよびその音声ベースのインタフェースとは無関係に、テキストベースの相互作用のために開発された実行可能アプリケーションであり得る。ASRシステム104およびアプリケーション140の両方は、同一のコンピューティング装置102上のオペレーティングシステム150内で実行し得る。あるいは、ASRシステム104は、コンピューティング装置102上で実行し得、アプリケーション140は、第2のコンピューティング装置102b(図示せず)上で実行し得る。
いくつかの実施形態では、自動音声認識システム104は、第1の複数の入力を受信する入力受信機106を含む。入力受信機106は、アプリケーションデータ、アプリケーションの状態の識別、ならびに/または、テキスト、音声、およびテキストと音声入力の混合を含む、様々なタイプの入力を受信し得る。
例えば、入力受信機106は、第1の複数の入力を、例として、キーボードなどの、テキストベースの入力装置から受信し得る。入力受信機106は、第1の複数の入力を、例として、マウスまたはスタイラスなどの、ポインティングデバイスから受信し得る。入力受信機106は、第1の複数の入力を、例として、マイクロホンなどの、音声入力装置から受信し得る。いくつかの実施形態では、入力受信機106は、ASRシステム104が音声入力に基づいて生成したテキストベースの入力を受信する。入力受信機106は、第1の複数の入力内に入力のタイプの組合せを受信し得る;例えば、入力受信機106は、第1の複数の入力内に、音声ベースの入力、テキストベースの入力、およびポインティングデバイスからの入力の組合せを受信し得る。
いくつかの実施形態では、入力受信機106は、第1の複数の入力を、ASRシステム104およびアプリケーション140の両方が実行するオペレーティングシステム150から受信する。他の実施形態では、入力受信機106は、第1の複数の入力を、オペレーティングシステム150の、および標準的なオペレーティングシステムの内観機能を使用するアプリケーション140の内観を通して受信して、ASRシステム104が、どの対象アプリケーションが現在フォアグラウンドにあるかに関する情報を取得し、対象アプリケーションによって現在表示されているユーザーインタフェース要素(例えば、ウィンドウ、メニュー、ダイアログボックス、ボタン、およびテキストフィールド)および現在入力フォーカスを有しているユーザーインタフェース要素の識別などの、対象アプリケーションの現在の状態を識別できるようにする。例えば、図1Bに示すように、ASRシステム104は、アプリケーション140の状態を判断するため、アプリケーション140のアプリケーションデータを一般的に受信するため、または、特に第1の複数の入力を受信するために、アプリケーション140とオペレーティングシステム150との間でメッセージをインターセプトするオペレーティングシステムフックコンポーネント108を含み得る。
方法200は、第1の複数の入力に基づいて第1の言語モデルを訓練することを含む(220)。自動音声認識システム104は、第1の複数の入力に基づいて第1の言語モデルを訓練する。いくつかの実施形態では、図1Aに示すように、言語モデルトレーナー110が、言語モデルを訓練し得る。「言語モデル」という用語は、本明細書では、例えば、文法を含むように広範に使用されることに留意されたい。文法、および言語モデルは一般に、「概念」のインスタンスに適用され得る。例えば、ASRシステム104は、ユーザーインタフェース要素(例えば、テキストフィールド)が入力として単一概念の複数のインスタンスを受信すると判断する場合、ASRシステム104は、ユーザーインタフェース要素に対する後続の入力を概念のインスタンスと分類して、特定の言語モデルを後続の入力に適用するように自身を構成し得る。概念は、任意のレベルの抽象化で定義され得る。例えば、ASRシステム104は、「October 1,1993」、「September 3,2007」、および「March 12,1942」を一般的な「日付」概念のインスタンスとして識別し得る。別の例として、ASRシステム104は、「October 1,1993」、「10/01/1993」、および「Oct 01 1993」を全て、October 1,1993のより具体的な概念のインスタンスであると識別し得る。さらに、概念は、1つまたは複数のパラメータを含み得、その各々は、タイプおよび対応する値を有し得る。単一の概念は、異なるタイプの複数のパラメータを含み得る。例えば、「日付」概念のインスタンスは、「月」、「日」、および「年」のパラメータを含み得、その各々が対応する値を有し得る。前述の例では、「October」、「Oct」、および「10」の各々は、「日付」概念のインスタンスの「月」パラメータの値の一例である。
本発明の実施形態が、様々に異なる日付がテキストフィールド内に口述されていることを観察すると、ASRシステム104は、それらの入力を「日付」概念のインスタンスとして分類し、そのテキストフィールドに口述される音声を認識する際に「日付」文法を適用するように構成され得る。かかる「日付」文法は、その用語が本明細書で使用されるように、「言語モデル」の一例である。いくつかの事例では、言語モデルは、それに先行する単語を前提として出現する単語(「トークン」とも呼ばれ得る)の確率を示す;例えば、言語モデルは、以前に話された複数の単語が「A cat in a」であるという事実を踏まえて、次に話された単語が「hat」である確率を示し得る。適用される日付文法は、一般的な日付文法、またはテキストフィールド内に口述されている日付に基づいてさらに適合される日付文法のいずれかであり得る。例えば、テキストフィールド内に口述されている日付の全てが、「月 日 年」の形式で口述されている場合、「月 日 年」の形式の「日付」文法がそのテキストフィールドに適用され得る。これは、本発明の実施形態が文法または他の種類の言語モデルをユーザーインタフェース要素またはユーザーインタフェース要素の集合に適用し得る方法のほんの一例である。
ASRシステム104を構成する別の例は、例えば、単語の発音が、それが話されるコンテキストに応じて変化し得る事実を反映するために辞書を適合することである。例えば、省略形「PA」は、機器をリストするために拡声装置をテキストフィールドに指定するために使用される場合は、「PEE AY」と発音され得るが、州名を入力するためにフィールドに口述している場合は、単語「Pennsylvania」として発音され得る。ASRシステム104を構成するさらに別の例は、仲裁(arbitration)パラメータを構成することであり、それは、任意の所与の発語を文法として解釈するか、またはテキストとして解釈するかを制御するパラメータである。
本明細書に記載されるシステムは、異なるコンポーネントに対して異なるタイプのパラメータを含み得ることが理解されよう;例えば、ASRシステム104は、ここで記述したような仲裁パラメータを有し得るが、一方、概念は、主概念内の下位概念(例えば、日付内の月)を識別するパラメータを有し得る。単語「パラメータ」は、かかるタイプのパラメータの両方を記述するために使用されるが、これは、かかるタイプのパラメータの両方が同じタイプのパラメータであることを意味するつもりではない。
同じ技術が、同じアプリケーションの別のユーザーインタフェースに適用されて、その他のユーザーインタフェースの異なる使用パターンを識別し得、また、その異なる使用パターンを使用して、他のユーザーインタフェースでの使用のためにASRシステム104を構成し得る。結果として、ASRシステム104は、動的かつ自動的に学習される使用パターンに基づき、アプリケーションの異なる状態に関連して異なった使用のために構成され得る。同じ技術がアプリケーションにわたって適用され得る。
ASRシステム104は、追加の入力を受信し得、追加の情報を受信すると、言語モデルを修正するか、または再訓練し得る。例えば、ASRシステム104は、アプリケーションが第1の状態にある間に、第1の複数の入力をアプリケーション内に受信し、次いで、アプリケーションが第1の状態にある間に、第2の複数の入力を受信し得る;例えば、ASRシステム104は、第2の複数の入力を、アプリケーション140bの第2のコピーを実行する別のコンピューティング装置102bから、またはアプリケーション140をもつ第2のセッション中に(例えば、アプリケーション140が同じユーザーまたは異なるユーザーによって使用中の場合)、受信し得る。
その上、ASRシステム104は、複数の言語モデルを訓練し得る。例えば、ASRシステム104は、第1の状態でのアプリケーションへの第1の複数の入力に基づいて、第1の言語モデルを訓練し、次いで、そのアプリケーションが、第1の状態とは異なる第2の状態にある間に、第2の複数の入力をアプリケーション内に受信し得る;ASRシステム104は、次いで、第2の複数の入力に基づいて、第2の言語モデルを訓練し、アプリケーションが第2の状態にあるという判断に応答して、その第2の言語モデルを第2の音声入力に適用し得る。
今記述した技術は、任意の種類のユーザーインタフェース要素に対して、およびユーザーインタフェース要素の任意の組合せに対して使用され得る。本発明の実施形態が適用され得るユーザーインタフェース要素の例は、ウィンドウ、メニュー、ダイアログボックス、ボタン、チェックボックス、ラジオボタン、ドロップダウンリスト、およびテキストフィールドを含むがそれらに限定されない。メニューおよびダイアログボックスの例が示すように、本発明の実施形態は、複数のメニュー項目を含むメニュー、または複数のボタン、チェックボックス、テキストフィールド、および他のユーザーインタフェース要素を含むダイアログボックスなどのユーザーインタフェース要素の集合に適用され得る。
一例として、本発明の実施形態は、長期間にわたって、特定のアプリケーションで特定のユーザーインタフェース要素内に提供される入力を観察し得る。例えば、特定のアプリケーション内の特定のダイアログボックス内の特定のテキストフィールドを考える。ユーザーは任意のテキストをテキストフィールドに入力し得るので、ASRシステムが、その言語モデルを、ダイアログボックスの内観のみに基づいて、そのテキストフィールドに対して訓練することは可能でない。その結果、従来型のASRシステムは、通常、一般的な英語の言語モデルをかかるテキストフィールドに適用する。
本発明の実施形態は、しかし、長期間にわたる特定のテキストフィールドへの入力であるテキスト入力を観察し、その観察された入力に基づいて、テキストフィールドに関連付けられた言語モデルを調整し得る。一例として、テキストフィールドへの異なるテキストの入力の頻度が観察され得、言語モデルが、その観察された頻度に基づき、テキストフィールドに対して調整され、関連付けられ得る。例えば、第1のテキスト文字列(「High」など)が50%の頻度でテキストフィールドに入力されること、第2のテキスト文字列(「Medium」など)が30%の頻度でテキストフィールドに入力されること、および第3のテキスト文字列(「Low」など)が20%の頻度でテキストフィールドに入力されることが観察される場合、50%の確率をテキスト文字列「High」に、30%の確率をテキスト文字列「Medium」に、および20%の確率をテキスト文字列「Low」に割り当てる言語モデルが生成され得る。あるいは、例えば、一般的な英語の言語モデルが最初にテキストフィールドに関連付けられ得、そして、その言語モデルにおける単語の確率が、ユーザーがそれらの単語をテキストフィールドに入力していることの観察に応答して上方に調整され得、また、その言語モデルにおける単語の確率が、ユーザーがそれらの単語をテキストフィールドに入力していないことの観察に応答して下方に調整され得る。
ここで図1Cを参照すると、ブロック図が、言語モデルの一実施形態を示している。図1Cにおける言語モデルは、例示および説明を容易にするために、大いに簡略化された形式で示されている。実際には、言語モデルは、図1Cに示すものとは様々な形で異なり得る。
図1Cに示すように、言語モデルトレーナー110は、デフォルトの言語モデル160へのアクセス、ならびに調整された言語モデル170へのアクセスを有し得る。例えば、言語モデルトレーナー110は、デフォルト設定で複数の言語モデルへのアクセスを有し得、また、言語モデルトレーナー110は、1つまたは複数の言語モデルをカスタマイズして、特定の状態における特定のアプリケーションに関連付けられた調整された言語モデル、例として、アプリケーション140が第1の状態にある場合にアプリケーション140に関連付けられた調整された言語モデル170など、を生成する。図1Cに示すように、調整された言語モデル170は、ユニグラムモデルであり得、その中で、各トークンに関連付けられた確率は、任意の以前のトークンの出現とは関係なく、出現するトークンの確率である。ユニグラム言語モデルは、本発明の実施形態に関連して使用され得る一種の言語モデルの一例にすぎない。別の例として、調整されたモデル180に示すように、言語モデルトレーナー110は、nグラム言語モデルである調整されたモデルを生成し得るが、ここでnは任意の値(例えば、1、2、3、4など)である。例えば、図1Cに示すように、調整された言語モデル180は、トリグラム(n=3)言語モデルであり得、それは、トークン「hat」は、直接先行するトークンが「in a」であれば、60%の出現確率であり、トークン「hat」は、直接先行するトークンが「on the」であれば、99%の出現確率であり、また、トークン「hat」は、直接先行するトークンが「wearing a」であれば、50%の出現確率であることを示す。図1Cに示すように、デフォルトの言語モデル160は、特定の入力値に対して等しい確率を示し得るが、調整された言語モデル170および180に示すように、ASRシステム104および観察された入力に基づいて言語モデルを訓練するための機能を使用すると、システム100は、調整された言語モデルにおいて改善された精度を提供し得る。
いくつかの実施形態では、従って、ASRシステム104は、テキストベースの入力を使用して、言語モデルを調整する。ユーザーは、時々、テキストフィールドに手動でテキストを入力することにより、フィールドテキストに直接テキストを入力し得る;あるいは、ユーザーは、話して、その音声をASRシステム104によってテキストに転記させることにより、テキストを間接的に入力し得る。いずれの状況でも、ASRシステム104は、テキストフィールド入力を観察して言語モデルを訓練し得る。本明細書に記載するように、システムは、訓練のために様々な種類の音声入力も使用し得る。本明細書では、「音声入力」という用語は、ユーザーの音声を表す音声入力および/またはユーザーの音声に基づきASRシステム104によって生成された出力(ユーザーの音声に基づき生成されたテキストおよび/またはコマンドなど)を含み得る。本明細書で開示した技術を使用して訓練されている言語モデルを使用して音声から生成された入力が、訓練データとして含まれ得るか、または除外され得る。本発明の実施形態は、訓練で使用するために、誤り(すなわち、間違った音声認識結果)を含むか、または除外し得る。誤りを訓練データとして使用することは、間違った出力の生成という結果となり得るにしても、同じ誤った出力を常に生成する結果となり、それにより、出力のばらつきを減らして、潜在的に、出力訂正技術(例えば、スペル訂正技術)を使用して訂正されるようにし得る。
同様の技術が、テキストフィールド以外のユーザーインタフェース要素に適用され得る。例えば、3つのリスト要素:「High」、「Medium」、および「Low」を含むドロップダウンリストを考える。これらのリスト要素は学習され、従来型の内観ベースの技術を使用して言語モデルを生成するために使用され得るが、かかる技術は、3分の1の等しい確率を3つのリスト要素の各々に割り当てる言語モデルという結果となるだろう。対照的に、本発明の実施形態は、かかるリスト要素が選択される実際の頻度を観察し得る。例えば、リスト要素「High」が50%の頻度で選択され、リスト要素「Medium」が30%の頻度で選択され、そして、リスト要素「Low」が20%の頻度で選択される場合、言語モデルは、前述した任意の方法で、かかる頻度に基づき、生成または修正され得る。結果として、3つのリスト要素のうちの1つを選択するために音声が認識される場合、認識はより正確に実行され得る。これは、例えば、2つのリスト要素が同様に発音される(例えば、「Medium」および「Median」)が、著しく異なる確率(例えば、50%および1%)を有する場合、特に当てはまる。それ故、いくつかの実施形態では、言語モデルを訓練することは、ASRシステム104によって、確率を言語モデル内の単語に関連付けることを含む。
頻度を判断する際、ASRシステム104は、入力値を分析し得る。例えば、ASRシステム104は、複数の入力の中で、複数の入力値を識別し得、次いで、入力値の各々が複数の入力内で出現する頻度(例えば、30の入力のうち、15が「high」の入力値を有し、10が「medium」の入力値を有し、そして、5が「low」の入力値を有する;「high」の入力値を選択する頻度は、その結果50%である)を識別し得る。
加えて、ASRシステム104は、入力値に関連した概念を分析し得る。例えば、ASRシステム104は、複数の入力のうちの1つに対して、入力値を識別し得、その入力値が概念のインスタンスであると判断し得、概念のインスタンス数を識別し、そして、その概念が複数の入力内で出現する頻度を識別する。この一例として、複数の入力のサブセットが、「10/1/12」および「October 1,2012」などの入力値を有し得るが、その両方がOctober 1,2012の概念のインスタンスである。ASRシステム104は、特定の概念(例えば、October 1,2012の概念、または日付のもっと一般的な概念)のインスタンスである入力値を有する入力の数を識別し得、それにより、その入力値内の概念の出現頻度を識別する。ASRシステム104はまた、動作(例えば、ファイルのオープンまたはクローズ、コマンドの実行、レコードの修正など)が起こる頻度を、その動作の開始に使用された入力値とは無関係に、分析し得る。ASRシステム104は、識別された頻度または複数の頻度を使用して、第1の言語モデルを訓練し得る。
追加または代替として、ASRシステム104は、異なる専門分野に対してカスタマイズされた言語モデルを生成するために頻度を使用し得る;例えば、動作、入力値、または概念の頻度が、その入力が、第1のタイプの医者(例えば、小児科医)による薬剤の処方に関連していることを示す場合は、第1の言語モデルが使用され得、また、頻度が、その入力が第2のタイプの医者(例えば、がん専門医)による薬剤の処方に関連していることを示す場合には、第2の言語モデルが使用され得る。かかる実施形態では、ASRシステム104が、アプリケーション140が第1の状態にあると判断し、第1の言語モデルを適用することを決定する場合、ASRシステム104は、特定の概念の頻度に基づいて訓練された複数のカスタマイズされた言語モデルから、第1の言語モデルを選択し得る。例えば、電子カルテ(EMR)を管理するためのアプリケーション140の事例において、またはアプリケーション140の特定のタイプに対して、ASRシステム104は、「薬剤物質」、「薬剤投与量」、「投薬回数」、および「アレルゲン」などの概念を制限なく含む、EMR関連の概念に基づいて訓練された第1の言語モデルを適用し得る。さらに、以下に記述するように、ASRシステム104は、複数のユーザーから受信した複数の入力内で識別された、動作、入力値、または概念の頻度を分析し、言語モデルの訓練において使用し得る。
別の例として、同じ用語の別の話された形式が学習されて、言語モデルを自動的に生成および/または修正するために使用され得る。例えば、「PEE AY」および「PENNSYLVANIA」と発音された音声の両方が、同じテキストフィールド内に口述されて、テキストの認識結果「PA」を生成する場合、システムは、かかる音声の例の両方がテキスト「PA」の別の話された形式であることを学習して、適切に適用可能な言語モデルを生成および/または修正し得る。さらに別の例として、特定のユーザーインタフェース要素が、テキストの省略形「PA」などの、特定の用語を入力として受け入れることが前もって分かっているが、特定のコンテキストにおけるその省略形の正しい発音が前もって分かっていない場合、当初は全ての(または多数の)可能な発音が、そのユーザーインタフェース要素に適用される音響モデルによって許可され得る。しかし、省略形「PA」の特定の発音が長期間にわたって観察されるにつれて、そのユーザーインタフェース要素への入力として実際に観察される発音を許可する(好む)ように音響モデルが狭められ得る。
さらに別の例として、自由にタイプされたテキストを受け入れ得るが、N個の可能な入力のうちの1つだけを許可するように設計されている、テキストボックスを考える。例えば、薬剤名を入力するために使用されるテキストボックスは、薬剤名の受入れに限定され得るが、かかる可能な入力の数は千単位であり得る。テキストボックスは、それまでにユーザーによって現在タイプされたテキストの許容可能な完了をユーザーに対して表示するように設計され得る。例えば、ユーザーが、テキストボックス内に「p」をタイプして開始する場合、テキストボックスは、そのテキストボックスの下に、文字「p」で始まる許容可能な薬剤名の全てを表示し得る。ユーザーがタイプを継続するにつれて、ユーザーによってそれまでにタイプされたテキストに一致する許容可能な薬剤名のみが表示される。
本発明の実施形態は、かかる例における許容可能な薬剤のリストを、そのテキストボックスに実際に提供された入力を長期間にわたって観察することにより、学習し得る。これは、本発明の実施形態が、N個の許容可能な入力からの1つがユーザーインタフェース要素に入力されることを要求するユーザーインタフェース要素へのN個の許容可能な入力のうちの一部または全部を学習し得る事例の一例にすぎない。
前述のように、本発明の実施形態によって訓練された各言語モデルが、1つまたは複数の対応するユーザーインタフェース要素に関連付けられ、その対応するユーザーインタフェース要素が入力フォーカスを有する場合に、各言語モデルが音声を認識するため適用され得るようにする。言語モデルとユーザーインタフェース要素との間のかかる関連付けは、様々な方法で作成および維持され得る。例えば、ユーザーが(音声および/または非音声)入力を提供している間に、本発明の実施形態は、「アプリケーションデータ」の以下の要素のうちの任意の1つまたは複数を観察し得る:
・現在フォアグラウンドにあるアプリケーション(すなわち、現在フォーカスされているアプリケーション)、
・現在フォアグラウンドにあるアプリケーションの状態、例えば、現在表示されているアプリケーション内のウィンドウ、ダイアログボックス、または他のユーザーインタフェース要素、および
・フォアグラウンドアプリケーション内の現在入力フォーカスを有しているユーザーインタフェース要素。
ユーザーが(音声および/または非音声入力を)提供すると、かかる入力が、観察され、記録され、かつ、前述したアプリケーションデータの1つまたは複数の要素と関連付けられ得る。いくつかの実施形態では、OSフックコンポーネント108が、入力を、観察し、記録し、かつ、アプリケーションデータの1つまたは複数の要素と関連付ける。例えば、ユーザーが、ダイアログボックス内のテキストフィールドにテキストをタイプする場合、OSフックコンポーネント108は、以下の任意の1つまたは複数のレコードを作成および格納し得る:(1)テキストフィールドにタイプされたテキスト;(2)テキストフィールドに関連付けられたアプリケーション;(3)アプリケーションによって現在表示されているユーザーインタフェース要素(例えば、ウィンドウおよびダイアログボックス)のリスト;(4)現在、入力フォーカスを有しているユーザーインタフェース要素;および(5)テキストがタイプされた特定のユーザーインタフェース要素(例えば、テキストフィールド)。同じことが、ユーザーによって任意の種類のユーザーインタフェース要素に提供され得る、任意の音声および/または非音声入力にも当てはまる。第1の言語モデルを、アプリケーション104によって受信された第1の音声入力に適用するかどうかを判断する際に、ASRシステム104は、アプリケーション140の状態を判断するためにアプリケーションデータを分析し得る。ASRシステム104は、アプリケーションの判断された状態を、第1の言語モデルに関連付けられた状態と比較して、判断された状態と第1の言語モデルに関連付けられた状態が実質的に同じ状態であるかどうかを判断し得る。あるいは、ASRシステム104は、(状態の比較の代わりに、またはそれに追加して)そのアプリケーションのアプリケーションデータを第1の言語モデルに関連付けられたアプリケーションデータと比較し得る。別の代替手段として、ASRシステム104は、アプリケーション140への観察された入力を音声入力と比較し得;入力の分布などの、入力に関する統計値が、十分に似ている(例えば、所定の閾値を満足するか、または超える)場合、ASRシステム104は、その2つの状態が実質的に同じであると判断し得る。
前述のように、あるタイプの入力、入力値、動作、および概念の頻度に追加して、またはその代わりに、かかる情報が、複数の入力に対して、同じユーザーによるか、または複数のユーザーによって、任意の単一のアプリケーションまたはアプリケーションの集合内に記録され得る。かかる情報は、単一のコンピュータ上で、または複数のコンピュータにわたって、提供された入力に対して記録され得る。例えば、特定のアプリケーション(特定のワードプロセッサ)が複数のコンピュータ上で実行する場合、複数のコンピュータ上でそのワードプロセッサの複数のコピーに提供された入力が観察され、前述したデータを生成および格納するために使用され得る。かかるデータは、複数のコンピュータにわたってワードプロセッサのそれら複数のコピーとともに使用され得る言語モデルを訓練するために集計され得る。集計、訓練、および他のステップが、そのアプリケーション(例えば、ワードプロセッサ)を実行する1つもしくは複数のコンピュータ上で、またはそのアプリケーションを実行しない1つもしくは複数の他のコンピュータ(サーバーなど)上で、実行され得る。
いくつかの実施形態では、言語モデルが、特定のユーザーインタフェース、または特定のユーザーインタフェース要素に関連付けられる。例えば、第1の言語モデルが第1のユーザーインタフェースに関連付けられ(かつ、例えば、アプリケーション140が、第1のユーザーインタフェースをレンダリングする状態にある場合に、適用され)得、他方、第2の言語モデルが第2のユーザーインタフェースに関連付けられ(かつ、例えば、アプリケーション140が、第2のユーザーインタフェースをレンダリングする状態にある場合に、適用され)得る。しかし、前述のある例では、言語モデルが特定のユーザーインタフェースまたはユーザーインタフェース要素に関連付けられると言われたが、これは、例にすぎず、本発明の制限を構成しない。より一般的には、本明細書で開示された技術を使用して訓練された言語モデルは、前述したアプリケーションデータの任意の1つまたは複数の要素と関連付けられ得る。例えば、特定のアプリケーションの複数のユーザーインタフェース要素への入力が、言語モデルを訓練するために使用され得るが、その言語モデルは、アプリケーションに関連付けられ、次いで、アプリケーション全体に対する、すなわち、アプリケーション内の全てのユーザーインタフェース要素に対する入力を生成するために使用される。別の例として、特定のアプリケーションの特定のウィンドウまたはダイアログボックス内の複数のユーザーインタフェース要素への入力が、言語モデルを訓練するために使用され得るが、その言語モデルは、そのウィンドウまたはダイアログボックスに関連付けられ、次いで、そのウィンドウまたはダイアログボックス全体に対する、すなわち、そのウィンドウまたはダイアログボックス内の全てのユーザーインタフェース要素に対する入力を生成するために使用される。
より一般的には、言語モデルは、アプリケーションの特定の状態または複数の状態に関連付けられ得る。状態は、アプリケーションによって現在表示されているユーザーインタフェース要素、または現在入力フォーカスを有しているユーザーインタフェース要素への参照によって定義され得るが、その必要はない。状態の例は、時刻、平日対週末、およびシフト勤務中対非番を含むが、それらに限定されない。複数のシステムが互いに相互運用する事例(例えば、EMR、放射線医学システム、および研究室システム)では、通常、各アプリケーションが自身の状態を他のアプリケーションに伝達できるようにするコンテキスト共有アプリケーションがある。例えば、1つのアプリケーションが、特定の患者に対するデータの編集に切り替える場合、コンテキスト共有アプリケーションは、この新しい状態を他の相互運用しているアプリケーションに伝達して、それらのアプリケーションが自動的に、同じ患者に対するデータの表示および/または編集に切り替えることができるようにする。本発明の実施形態は、かかるコンテキスト共有アプリケーションによって提供された情報に基づいて現在の状態を識別し得、その識別された現在の状態が、例えば、現在の状態が今は糖尿病患者に関連していることを識別するために使用され得る。かかる情報は、本発明の実施形態によって現在の状態として使用され得る。
方法200は、アプリケーションが第1の状態にあると判断することを含む(230)。ASRシステム104は、アプリケーションに関連付けられたアプリケーションデータを評価して、どの言語モデルを適用すべきかを判断し得る。言語モデル選択コンポーネント120は、アプリケーションが第1の状態にあると判断し得る。言語モデル選択コンポーネント120は、アプリケーションが第1の状態にある場合に、アプリケーションに対する複数の言語モデルから音声入力に対する言語モデルも識別し得る。
前述したように、いくつかの実施形態では、アプリケーションデータのある特定のセットが各言語モデルに関連付けられる。ユーザーが入力を提供すると、本発明の実施形態は、システムの現在の状態に関する情報を収集し、その情報を、様々な言語モデルに関連付けられたアプリケーションデータと比較し得る。例として、ASRシステム104は、アプリケーションデータを分析してそのアプリケーションの状態を判断し、そのアプリケーションの判断された状態を、第1の言語モデルに関連付けられた状態と比較して、判断された状態および第1の言語モデルに関連付けられた状態が実質的に同じ状態であると判断し得る。特定の言語モデルに関連付けられた状態が、(ある所定の基準に従って)システムの現在の状態に一致すると判断されると、その一致する言語モデルがユーザーから受信された音声入力に適用される。あるいは、例として、ASRシステム104は、そのアプリケーションのアプリケーションデータを第1の言語モデルに関連付けられたアプリケーションデータと(例えば、そのアプリケーションの状態を判断することなく)比較して、アプリケーションデータおよび第1の言語モデルに関連付けられたデータが実質的に同じ状態であると判断し得る。例えば、特定のダイアログボックスが表示されると判断され、そのダイアログボックス内の特定のテキストフィールドが入力フォーカスを有すると判断される場合、かつ、そのテキストフィールドに関連付けられた言語モデルが存在する場合、その言語モデルが、ユーザーから受信された音声入力に適用されて、そのテキストフィールドへのテキスト入力を生成する。
いくつかの実施形態では、ASRシステム104は、入力数の分析に基づいて言語モデルを適用するかどうかを判断し得るが、それは、言語モデルを適用するかどうかを評価するために閾値を使用することを含み得る。例えば、ASRシステム104は、ユーザーインタフェースへの複数の入力を分析して、複数の入力のうちのいくつが言語モデルに関連付けられるかを識別し得る;この関連付けは、直接的(例えば、「October 1,1993」は「日付」文法に直接関連付けられる)または間接的(例えば、「10/01/1993」は「MM/DD/YYYY」の「日付」概念に関連付けられ、「日付」概念は「日付」文法に関連付けられる)であり得る。ASRシステム104は、言語モデルに関連付けられた複数の入力の数が所定の閾値を超える場合、ASRシステム104は、言語モデルをユーザーインタフェースへの入力に適用すべきであると判断し得る。別の例として、ASRシステム104は、言語モデルに関連付けられた複数の入力の割合が所定の閾値を超える場合、ASRシステムは、言語モデルをユーザーインタフェースへの入力に適用すべきであると判断し得る。さらなる例として、ASRシステム104は、言語モデルを適用するかどうかを判断する際に複数の要因を評価し得る;例えば、ASRシステム104は、閾値数の入力を受信した後に入力を分析するように構成され得、また、分析された入力の閾値サブセットが言語モデルに関連付けられると判断した後に言語モデルを適用することを決定するように構成され得る(例えば、ASRシステム104は、ユーザーインタフェースへの10の入力を受信した後に入力を分析し、受信した入力の75%が言語モデルに関連付けられる場合、その言語モデルを適用することを決定する)。
方法200は、アプリケーションが第1の状態にあるという判断に応答して、第1の言語モデルを第1の音声入力に適用することを含む(240)。一実施形態では、言語モデル適用コンポーネント130は、アプリケーションが第1の状態にあるという言語選択コンポーネント120による判断に応答して、第1の言語モデルを第1の音声入力に適用する。ASRシステム104は、例えば、テキストフィールドが入力フォーカスを有するとき、または、そのテキストフィールドを含む、ダイアログボックス、ウィンドウ、もしくは他のユーザーインタフェース要素がフォーカスを有するとき、言語モデルを適用し得る。本発明の実施形態は、例えば、内観を使用して、どのユーザーインタフェース要素が現在入力フォーカスを有するかを判断し得、次いで、音声を認識する際に対応する言語モデルを適用して、そのユーザーインタフェース要素への入力を作成し得る。この例が示すように、本発明の実施形態によって使用される技術は、言語モデルを訓練するための観察中および訓練後、音声認識中に訓練された言語モデルの適用中の両方で、内観を使用するために従来型の技術とともに使用され得る。
訓練が第1のステップで実行され、次いで、訓練された言語モデルの適用が続き得るが、代わりに訓練が継続していることがあり得、そのため、言語モデルが継続して訓練されて、観察に応答して更新されるようになり、また、そのため、かかる言語モデルが直ちに利用可能になることに留意されたい。言い換えれば、特定のユーザーインタフェース要素への入力の観察が、そのユーザーインタフェース要素に関連付けられた言語モデルの生成および/または更新のために使用され得、そして、言語モデルが次いで、音声認識中に適用されて、そのユーザーインタフェース要素への入力を生成し得る。同じユーザーインタフェース要素への後続の入力が、次いで、関連付けられた言語モデルを更新するために使用され得、その更新された言語モデルが次いで、音声認識中に適用されて、同じユーザーインタフェース要素への後続の入力を生成し得る。このプロセスを、任意の回数繰り返し得る。
言語モデルは、直ちにアクティブにされる必要がない。代わりに、例えば、特定の言語モデルは、ある最小限の訓練データで訓練されている場合、または言語モデルの精度において、ある最低限度の自信が達成された後にのみ、アクティブにされ得る。特定の言語モデルを使用のためにアクティブにするかどうか、またいつアクティブにするか判断するために、任意の測定基準が使用され得る。
ASRシステム104は、アプリケーション140に対して、第1の言語モデルを第1の音声入力に適用した結果を提供し得る。それを行う際、ASRシステム104は、結果をアプリケーション140に提供するために、キーボードエミュレーション、クリップボード転送、オペレーティングシステムメッセージング、ポインティングデバイスエミュレーション、および内観などの、前述した従来型の技術を利用し得る。例えば、ASRシステム104は、キーボードイベントをエミュレートして、テキスト入力もしくは制御シーケンスのいずれかをアプリケーション140にサブミットし得るか、またはASRシステム104は、ポインティングデバイスイベントをエミュレートして、テキスト入力もしくは制御シーケンスのいずれかをアプリケーション140にサブミットし得る。別の例として、ASRシステム104は、結果を、オペレーティングシステム150によって保持されているクリップボードバッファにポストして、アプリケーション140がその結果をクリップボードバッファから受信できるようにし得る;これは、例として、キーボードまたはポインティングデバイスのエミュレーション(例えば、ASRシステム104は、結果をクリップボードバッファにポストして、アプリケーション140にその結果をクリップボードバッファから取得するように指示するキーボードコマンドをエミュレートする)と併せて行われ得る。さらなる例として、ASRシステム104は、その結果を含むオペレーティングシステムメッセージを生成し、そのオペレーティングシステムメッセージをアプリケーションに伝送する。ASRシステム104は、入力フォーカスを有するユーザーインタフェースを識別するために内観も使用し、結果を識別されたユーザーインタフェースに提供し得る。これらの例の各々では、OSフックコンポーネント108は、結果をアプリケーション140に提供するために必要な機能を提供し得る。
ASRシステム104は、各々が異なる機能を提供するか、もしくは冗長性およびフェールオーバー機能目的で、同一の機能を提供する、複数のサブアプリケーションを含む、単一のアプリケーションとして、または分散システムとして提供され得る。いくつかの事例では、ASRシステム104は、クライアントエージェント(図示せず)と通信し得る;例えば、ASRシステム104が第1のコンピューティング装置102上で実行し、第2のコンピューティング装置102b上で実行しているアプリケーションに提供された第2の複数の入力を、第1の言語モデルの訓練で使用するために受信する実施形態では、システムは、第2のコンピューティング装置102b上で実行して、第2の複数の入力を取得し、第2の複数の入力をASRシステム104に伝送する、クライアントエージェントを含み得る。別の例として、ASRシステム104が第1のコンピューティング装置上で実行し、アプリケーション140に提供された第1の複数の入力を受信するが、アプリケーション140が第2のコンピューティング装置102b上で実行する実施形態では、ASRシステム104が言語モデルを音声入力に適用して結果を生成する場合、ASRシステム104は、結果を、直接的または間接的に、アプリケーション140に提供する第2のコンピューティング装置102b上で実行しているクライアントエージェントに結果を伝送し得る。
本発明の実施形態は、様々な利点を有する。例えば、本発明の実施形態は、音声認識出力が提供されるアプリケーションの状態に依存する使用パターンを観察することにより、および、それらのアプリケーション状態に対してかかる音声認識出力を生成するために使用される言語モデルを調整することにより、より高い音声認識精度を達成するために使用され得る。特に、本発明の実施形態は、異なるアプリケーション状態における異なる入力の相対頻度を観察し、観察された相対頻度に基づき、それらのアプリケーション状態で使用するために言語モデルを調整し得る。各調整された言語モデルは、次いで、アプリケーションがその言語モデルに関連付けられた状態にある場合に音声入力に適用され得る。結果として生じる音声認識出力は、一般的な言語モデル(すなわち、アプリケーション状態に依存していない言語モデル)がアプリケーションの全ての状態に適用された場合よりも正確である可能性が高い。
かかる利益は、自動的に、かつ自動音声認識システムと対象アプリケーションの密接な統合を必要とすることなく、取得され得る。むしろ、ASRシステム104の精度は、アプリケーションによって使用される様々なユーザーインタフェースの知識などの、アプリケーション状態の任意の所定の知識を用いてASRシステム104を手動で構成する必要なく、ユーザー入力の観察に応答して、長期間にわたり自動的に改善し得る。本発明の実施形態は、しかし、アプリケーションの現在の状態を識別するため、およびアプリケーションの特定の状態の間にそのアプリケーションに許容可能な入力を識別するために、既存の内観ベースの技術を利用して、音声認識精度をさらに改善する。
本発明の実施形態の関連した利益は、さらなる観察が行われるにつれて、それらが長期間にわたって継続して改善されることである。本発明の実施形態のさらに別の関連した利益は、それらがユーザーにわたり、かつコンピュータにわたって適用され得ることである。例えば、一人のユーザーにより特定のアプリケーションに対して提供された入力は、他のユーザーがそのアプリケーションに入力を提供する場合でさえ、また、そのアプリケーションが他のコンピュータ上で実行される場合でさえ、そのアプリケーション内での使用のため言語モデルを訓練するために使用され得る。本発明の実施形態のさらに別の関連した利益は、訓練された言語モデルが、アプリケーション全体から個々のユーザーインタフェース要素(例えば、テキストボックスまたはドロップダウンリスト)のレベルに至るまで、任意のレベルの粒度で定義されるアプリケーション状態に関連付けられ得ることである。
本発明の実施形態の別の利点は、それらが、音声認識精度を最大限にするため、訓練された言語モデルを選択的に有効または無効にするために使用され得ることである。例えば、前述のように、全ての訓練された言語モデルが直ちに使用され得るか、あるいは、個々の言語モデルが、ある最小限の訓練データを使用して訓練されていることによるなど、それらがある所定の基準を満足した場合に限り、選択的に(手動または自動的のいずれかで)有効にされ得る。逆に、言語モデルの精度における信頼性が、ある最低限の信頼度を下回っている場合など、それらがある所定の基準を満足していると判断される場合、有効にされている言語モデルが(手動または自動的のいずれかで)無効にされ得る。結果として、本発明の実施形態は、観察・訓練された(observation−trained)言語モデルを、音声認識精度の向上に最も有効である状況においてのみ、選択的に適用するために使用され得る。
当然のことながら、本発明は、特定の実施形態に関して前述されてきたが、前述の実施形態は例示としてのみ提供されており、本発明の範囲を制限または定義するものではない。以下を含むがそれらに限定されない、他の様々な実施形態も、特許請求の範囲内である。例えば、本明細書に記載する要素およびコンポーネントは、追加のコンポーネントにさらに分割され得るか、または同じ機能を実行するためのより少ないコンポーネントを形成するために結合され得る。
前述した技術は、例えば、ハードウェア、コンピュータ可読媒体上に有形的に格納されたソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。前述した技術は、プロセッサ、そのプロセッサによって可読な記憶媒体(例えば、揮発性および不揮発性メモリならびに/または記憶素子を含む)、少なくとも1つの入力装置、および少なくとも1つの出力装置を含む、プログラム可能コンピュータ上で実行する1つまたは複数のプログラムで実装され得る。プログラムコードは、記述された機能を実行するため、および出力を生成するために、入力装置を使用して入力された入力に適用され得る。出力は、1つまたは複数の出力装置に提供され得る。
以下の特許請求の範囲内の各コンピュータプログラムは、アセンブリ言語、機械語、高水準手続き型プログラミング言語、またはオブジェクト指向プログラミング言語などの、任意のプログラミング言語で実装され得る。プログラミング言語は、例えば、コンパイルされたか、または翻訳されたプログラム言語であり得る。
かかるコンピュータプログラムの各々は、コンピュータプロセッサによる実行のために機械可読記憶装置内で有形的に具体化されたコンピュータプログラム製品で実施され得る。本発明の方法ステップは、入力に関して動作し、出力を生成することにより、本発明の機能を実行するために、コンピュータ可読媒体上に有形的に具体化されたプログラムを実行するコンピュータプロセッサによって実行され得る。適切なプロセッサは、例として、汎用および専用マイクロプロセッサの両方を含む。一般に、プロセッサは、命令およびデータを読取り専用メモリおよび/またはランダムアクセスメモリから受信する。コンピュータプログラム命令を有形的に具体化するのに適した記憶装置は、例えば、EPROM、EEPROM、およびフラッシュメモリ装置を含む、半導体記憶装置などの不揮発性メモリのすべての形式;内蔵ハードディスクおよび取外し可能ディスクなどの磁気ディスク;光磁気ディスク;およびCD−ROMを含む。前述のいずれも、特別に設計されたASIC(特定用途向け回路)またはFPGA(フィールドプログラマブルゲートアレイ)によって補足され得るか、またはそれらに組み込まれ得る。コンピュータは一般に、プログラムおよびデータを内蔵ディスク(図示せず)または取外し可能ディスクなどの記憶媒体からも受信できる。これらの要素も、本明細書に記載する方法を実装するコンピュータプログラムの実行に適した、従来型のデスクトップまたはワークステーションコンピュータならびに他のコンピュータで見られ、それらは、任意のデジタル印刷エンジンもしくはマーキングエンジン、ディスプレイモニター、または、カラーもしくはグレースケール画素を紙、フィルム、ディスプレイ画面、もしくは他の出力媒体上に生成可能な他のラスター出力装置とともに使用され得る。

Claims (34)

  1. 第1の複数の入力をアプリケーション内に、前記アプリケーションが第1の状態にある間に受信することと、
    第1の言語モデルを前記第1の複数の入力に基づいて訓練することと、
    前記アプリケーションが前記第1の状態にあると判断することと、
    前記アプリケーションが前記第1の状態にあることの判断に応答して、前記第1の言語モデルを第1の音声入力に適用することとを含み、
    前記訓練することには、更に、
    前記第1の複数の入力のうちの1つに対して、入力値を識別することと、
    前記入力値が概念のインスタンスであると判断することと、
    前記第1の複数の入力内で、前記概念のインスタンスの数を識別することと、
    前記概念が前記第1の複数の入力内に出現する頻度を識別することと、
    前記第1の言語モデルを前記識別された頻度に基づいて訓練することと
    を含む、コンピュータ実装方法。
  2. 受信することが、前記第1の複数の入力をテキストベースの入力装置から受信することをさらに含む、請求項1に記載の方法。
  3. 受信することが、前記第1の複数の入力をポインティングデバイスから受信することをさらに含む、請求項1に記載の方法。
  4. 受信することが、前記第1の複数の入力を音声入力装置から受信することをさらに含む、請求項1に記載の方法。
  5. 第2の複数の入力を前記アプリケーション内に、前記アプリケーションが、前記第1の状態とは異なる第2の状態にある間に受信することと、
    第2の言語モデルを前記第2の複数の入力に基づいて訓練することと、
    前記アプリケーションが前記第2の状態にあると判断することと、
    前記アプリケーションが前記第2の状態にあることの判断に応答して、前記第2の言語モデルを第2の音声入力に適用することと
    をさらに含む、請求項1に記載の方法。
  6. 前記第1の言語モデルを訓練することが、
    前記第1の複数の入力に関連付けられたユーザーインタフェースの使用パターンを識別することと、
    前記第1の言語モデルを前記使用パターンに基づいて修正することと
    を含む、請求項1に記載の方法。
  7. 前記第1の複数の入力に基づき、前記第1の言語モデルによってアクセスされる資源を修正することをさらに含む、請求項1に記載の方法。
  8. 前記第1の複数の入力内で、複数の入力値を識別することと、
    前記複数の入力値の各々が前記第1の複数の入力内に出現する頻度を識別することと、
    前記第1の言語モデルを前記識別された頻度に基づいて訓練することと
    をさらに含む、請求項1に記載の方法。
  9. 前記第1の言語モデルを訓練することが、確率を前記第1の言語モデル内の単語と関連付けることをさらに含む、請求項1に記載の方法。
  10. オペレーティングシステムフックコンポーネントによって、グラフィカルユーザーインタフェースのフォアグラウンドに表示されているユーザーインタフェース要素を識別することと、
    前記第1の言語モデルを前記識別されたユーザーインタフェース要素と関連付けることと
    をさらに含む、請求項1に記載の方法。
  11. オペレーティングシステムフックコンポーネントによって、前記第1の複数の入力のうちの1つが提供されるユーザーインタフェース要素を識別することと、
    前記第1の言語モデルを前記識別されたユーザーインタフェース要素と関連付けることと
    をさらに含む、請求項1に記載の方法。
  12. オペレーティングシステムフックコンポーネントによって、前記第1の複数の入力のうちの1つが提供されるユーザーインタフェース要素に関連付けられたアプリケーションを識別することと、
    前記第1の言語モデルを前記識別されたアプリケーションと関連付けることと
    をさらに含む、請求項1に記載の方法。
  13. 判断することが、
    アプリケーションデータを分析して前記アプリケーションの状態を判断することと、
    前記アプリケーションの前記判断された状態を、前記第1の言語モデルに関連付けられた状態と比較することと、
    前記判断された状態および前記第1の言語モデルに関連付けられた前記状態が実質的に同一の状態であると判断することと
    をさらに含む、請求項1に記載の方法。
  14. 判断することが、
    コンテキスト共有アプリケーションによって提供された情報を分析して前記アプリケーションの状態を判断することと、
    前記アプリケーションの前記判断された状態を、前記第1の言語モデルに関連付けられた状態と比較することと、
    前記判断された状態および前記第1の言語モデルに関連付けられた前記状態が実質的に同一の状態であると判断することと
    をさらに含む、請求項1に記載の方法。
  15. 前記アプリケーションに、前記第1の言語モデルを前記第1の音声入力に適用した結果を提供することをさらに含む、請求項1に記載の方法。
  16. 提供することが、キーボードイベントをエミュレートして、テキストおよび制御シーケンスのうちの少なくとも1つを前記アプリケーションにサブミットすることをさらに含む、請求項15に記載の方法。
  17. 第1の複数の入力をアプリケーション内に、前記アプリケーションが第1の状態にある間に受信するための手段と、
    第1の言語モデルを前記第1の複数の入力に基づいて訓練するための手段と、
    前記アプリケーションが前記第1の状態にあると判断するための手段と、
    前記アプリケーションが前記第1の状態にあることの判断に応答して、前記第1の言語モデルを第1の音声入力に適用するための手段とを備え、
    前記第1の言語モデルを訓練するための手段は、
    前記第1の複数の入力のうちの1つに対して、入力値を識別することと、
    前記入力値が概念のインスタンスであると判断することと、
    前記第1の複数の入力内で、前記概念のインスタンスの数を識別することと、
    前記概念が前記第1の複数の入力内に出現する頻度を識別することと、
    前記第1の言語モデルを前記識別された頻度に基づいて訓練すること
    によって、前記第1の言語モデルを訓練するようになっている、
    自動音声認識システム。
  18. 前記第1の複数の入力を取得するオペレーティングシステムフックコンポーネントをさらに備える、請求項17に記載の自動音声認識システム。
  19. 方法を実行するために少なくとも1つのコンピュータプロセッサによって実行可能なコンピュータプログラム命令を格納する持続性コンピュータ可読媒体であって、前記方法が、
    第1の複数の入力をアプリケーション内に、前記アプリケーションが第1の状態にある間に受信することと、
    第1の言語モデルを前記第1の複数の入力に基づいて訓練することと、
    前記アプリケーションが前記第1の状態にあると判断することと、
    前記アプリケーションが前記第1の状態にあることの判断に応答して、前記第1の言語モデルを第1の音声入力に適用することと
    を含み、
    前記訓練することには、更に、
    前記第1の複数の入力のうちの1つに対して、入力値を識別することと、
    前記入力値が概念のインスタンスであると判断することと、
    前記第1の複数の入力内で、前記概念のインスタンスの数を識別することと、
    前記概念が前記第1の複数の入力内に出現する頻度を識別することと、
    前記第1の言語モデルを前記識別された頻度に基づいて訓練することと
    を含む、持続性コンピュータ可読媒体。
  20. 受信することが、前記第1の複数の入力をテキストベースの入力装置から受信することをさらに含む、請求項19に記載の持続性コンピュータ可読媒体。
  21. 受信することが、前記第1の複数の入力をポインティングデバイスから受信することをさらに含む、請求項19に記載の持続性コンピュータ可読媒体。
  22. 受信することが、前記第1の複数の入力を音声入力装置から受信することをさらに含む、請求項19に記載の持続性コンピュータ可読媒体。
  23. 前記方法が、
    第2の複数の入力を前記アプリケーション内に、前記アプリケーションが、前記第1の状態とは異なる第2の状態にある間に受信することと、
    第2の言語モデルを前記第2の複数の入力に基づいて訓練することと、
    前記アプリケーションが前記第2の状態にあると判断することと、
    前記アプリケーションが前記第2の状態にあることの判断に応答して、前記第2の言語モデルを第2の音声入力に適用することと
    をさらに含む、
    請求項19に記載の持続性コンピュータ可読媒体。
  24. 前記第1の言語モデルを訓練することが、
    前記第1の複数の入力に関連付けられたユーザーインタフェースの使用パターンを識別することと、
    前記第1の言語モデルを前記使用パターンに基づいて修正することと
    を含む、
    請求項19に記載の持続性コンピュータ可読媒体。
  25. 前記方法が、前記第1の複数の入力に基づき、前記第1の言語モデルによってアクセスされる資源を修正することをさらに含む、請求項19に記載の持続性コンピュータ可読媒体。
  26. 前記方法が、
    前記第1の複数の入力内で、複数の入力値を識別することと、
    前記複数の入力値の各々が前記第1の複数の入力内に出現する頻度を識別することと、
    前記第1の言語モデルを前記識別された頻度に基づいて訓練することとをさらに含む、
    請求項19に記載の持続性コンピュータ可読媒体。
  27. 前記第1の言語モデルを訓練することが、確率を前記第1の言語モデル内の単語と関連付けることをさらに含む、請求項19に記載の持続性コンピュータ可読媒体。
  28. 前記方法が、
    オペレーティングシステムフックコンポーネントによって、グラフィカルユーザーインタフェースのフォアグラウンドに表示されているユーザーインタフェース要素を識別することと、
    前記第1の言語モデルを前記識別されたユーザーインタフェース要素と関連付けることと
    をさらに含む、請求項19に記載の持続性コンピュータ可読媒体。
  29. 前記方法が、
    オペレーティングシステムフックコンポーネントによって、前記第1の複数の入力のうちの1つが提供されるユーザーインタフェース要素を識別することと、
    前記第1の言語モデルを前記識別されたユーザーインタフェース要素と関連付けることと
    をさらに含む、請求項19に記載の持続性コンピュータ可読媒体。
  30. 前記方法が、
    オペレーティングシステムフックコンポーネントによって、前記第1の複数の入力のうちの1つが提供されるユーザーインタフェース要素に関連付けられたアプリケーションを識別することと、
    前記第1の言語モデルを前記識別されたアプリケーションと関連付けることと
    をさらに含む、請求項19に記載の持続性コンピュータ可読媒体。
  31. 判断することが、
    アプリケーションデータを分析して前記アプリケーションの状態を判断することと、
    前記アプリケーションの前記判断された状態を、前記第1の言語モデルに関連付けられた状態と比較することと、
    前記判断された状態および前記第1の言語モデルに関連付けられた前記状態が実質的に同一の状態であると判断することと
    をさらに含む、請求項19に記載の持続性コンピュータ可読媒体。
  32. 判断することが、
    コンテキスト共有アプリケーションによって提供された情報を分析して前記アプリケーションの状態を判断することと、
    前記アプリケーションの前記判断された状態を、前記第1の言語モデルに関連付けられた状態と比較することと、
    前記判断された状態および前記第1の言語モデルに関連付けられた前記状態が実質的に同一の状態であると判断することと
    をさらに含む、請求項19に記載の持続性コンピュータ可読媒体。
  33. 前記方法が、前記アプリケーションに、前記第1の言語モデルを前記第1の音声入力に適用した結果を提供することをさらに含む、請求項19に記載の持続性コンピュータ可読媒体。
  34. 提供することが、キーボードイベントをエミュレートして、テキストおよび制御シーケンスのうちの少なくとも1つを前記アプリケーションにサブミットすることをさらに含む、請求項33に記載の持続性コンピュータ可読媒体。
JP2014516093A 2011-06-19 2012-06-19 コンテキストアウェア認識モデルを使用した音声認識 Active JP6131249B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161498591P 2011-06-19 2011-06-19
US61/498,591 2011-06-19
PCT/US2012/043158 WO2012177646A2 (en) 2011-06-19 2012-06-19 Speech recognition using context-aware recognition models

Publications (2)

Publication Number Publication Date
JP2014523543A JP2014523543A (ja) 2014-09-11
JP6131249B2 true JP6131249B2 (ja) 2017-05-17

Family

ID=47354380

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014516093A Active JP6131249B2 (ja) 2011-06-19 2012-06-19 コンテキストアウェア認識モデルを使用した音声認識

Country Status (5)

Country Link
US (4) US9489375B2 (ja)
EP (1) EP2721608B1 (ja)
JP (1) JP6131249B2 (ja)
CA (1) CA2839265A1 (ja)
WO (1) WO2012177646A2 (ja)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9489375B2 (en) * 2011-06-19 2016-11-08 Mmodal Ip Llc Speech recognition using an operating system hooking component for context-aware recognition models
US9734839B1 (en) * 2012-06-20 2017-08-15 Amazon Technologies, Inc. Routing natural language commands to the appropriate applications
US10957310B1 (en) 2012-07-23 2021-03-23 Soundhound, Inc. Integrated programming framework for speech and text understanding with meaning parsing
US9786281B1 (en) * 2012-08-02 2017-10-10 Amazon Technologies, Inc. Household agent learning
US10235358B2 (en) 2013-02-21 2019-03-19 Microsoft Technology Licensing, Llc Exploiting structured content for unsupervised natural language semantic parsing
US9330659B2 (en) * 2013-02-25 2016-05-03 Microsoft Technology Licensing, Llc Facilitating development of a spoken natural language interface
US9953630B1 (en) * 2013-05-31 2018-04-24 Amazon Technologies, Inc. Language recognition for device settings
US20140365218A1 (en) * 2013-06-07 2014-12-11 Microsoft Corporation Language model adaptation using result selection
US9754591B1 (en) * 2013-11-18 2017-09-05 Amazon Technologies, Inc. Dialog management context sharing
US8862467B1 (en) 2013-12-11 2014-10-14 Google Inc. Contextual speech recognition
US10073840B2 (en) 2013-12-20 2018-09-11 Microsoft Technology Licensing, Llc Unsupervised relation detection model training
US10978060B2 (en) * 2014-01-31 2021-04-13 Hewlett-Packard Development Company, L.P. Voice input command
US11295730B1 (en) 2014-02-27 2022-04-05 Soundhound, Inc. Using phonetic variants in a local context to improve natural language understanding
JP5932869B2 (ja) * 2014-03-27 2016-06-08 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation N−gram言語モデルの教師無し学習方法、学習装置、および学習プログラム
US9971765B2 (en) * 2014-05-13 2018-05-15 Nuance Communications, Inc. Revising language model scores based on semantic class hypotheses
US9437189B2 (en) * 2014-05-29 2016-09-06 Google Inc. Generating language models
US9721564B2 (en) 2014-07-31 2017-08-01 Rovi Guides, Inc. Systems and methods for performing ASR in the presence of heterographs
US10515151B2 (en) * 2014-08-18 2019-12-24 Nuance Communications, Inc. Concept identification and capture
US9830321B2 (en) 2014-09-30 2017-11-28 Rovi Guides, Inc. Systems and methods for searching for a media asset
US9922648B2 (en) * 2016-03-01 2018-03-20 Google Llc Developer voice actions system
US10586528B2 (en) * 2017-02-02 2020-03-10 Adobe Inc. Domain-specific speech recognizers in a digital medium environment
US10649864B1 (en) * 2017-03-30 2020-05-12 Veritas Technologies Llc Framework to facilitate taking snapshots of web application on demand
US10466889B2 (en) 2017-05-16 2019-11-05 Apple Inc. Devices, methods, and graphical user interfaces for accessing notifications
US10089983B1 (en) * 2017-06-08 2018-10-02 Amazon Technologies, Inc. Third party account linking for voice user interface
US10621282B1 (en) 2017-10-27 2020-04-14 Interactions Llc Accelerating agent performance in a natural language processing system
KR102532300B1 (ko) * 2017-12-22 2023-05-15 삼성전자주식회사 어플리케이션 실행 방법 및 이를 위한 장치
KR102635811B1 (ko) * 2018-03-19 2024-02-13 삼성전자 주식회사 사운드 데이터를 처리하는 시스템 및 시스템의 제어 방법
WO2019203794A1 (en) 2018-04-16 2019-10-24 Google Llc Automatically determining language for speech recognition of spoken utterance received via an automated assistant interface
WO2019203795A1 (en) 2018-04-16 2019-10-24 Google Llc Automatically determining language for speech recognition of spoken utterance received via an automated assistant interface
CN109243450A (zh) * 2018-10-18 2019-01-18 深圳供电局有限公司 一种交互式的语音识别方法及系统
US12020700B2 (en) 2019-03-01 2024-06-25 Schlumberger Technology Corporation Voice aware drilling control and reporting system
KR20240142620A (ko) 2019-10-15 2024-09-30 구글 엘엘씨 그래픽 사용자 인터페이스에 음성-제어 컨텐츠 입력
US11455085B2 (en) 2020-03-10 2022-09-27 Apple Inc. Devices, methods, and graphical user interfaces for interacting with user interface objects corresponding to applications
CN111354360A (zh) * 2020-03-17 2020-06-30 北京百度网讯科技有限公司 语音交互处理方法、装置和电子设备
US11735169B2 (en) * 2020-03-20 2023-08-22 International Business Machines Corporation Speech recognition and training for data inputs
US12230261B2 (en) 2020-09-23 2025-02-18 Samsung Electronics Co., Ltd. Electronic apparatus and method for controlling user interface elements by voice
US12412048B2 (en) * 2021-12-21 2025-09-09 International Business Machines Corporation Automatically integrating user translation feedback
US12265687B2 (en) 2022-05-06 2025-04-01 Apple Inc. Devices, methods, and graphical user interfaces for updating a session region
EP4273677A1 (en) 2022-05-06 2023-11-08 Apple Inc. Devices, methods, and graphical user interfaces for updating a session region
US11842028B2 (en) 2022-05-06 2023-12-12 Apple Inc. Devices, methods, and graphical user interfaces for updating a session region

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5819225A (en) * 1996-05-30 1998-10-06 International Business Machines Corporation Display indications of speech processing states in speech recognition system
US6021403A (en) * 1996-07-19 2000-02-01 Microsoft Corporation Intelligent user assistance facility
US6182038B1 (en) * 1997-12-01 2001-01-30 Motorola, Inc. Context dependent phoneme networks for encoding speech information
EP1275042A2 (en) 2000-03-06 2003-01-15 Kanisa Inc. A system and method for providing an intelligent multi-step dialog with a user
US20030115289A1 (en) 2001-12-14 2003-06-19 Garry Chinn Navigation in a voice recognition system
US7177814B2 (en) 2002-02-07 2007-02-13 Sap Aktiengesellschaft Dynamic grammar for voice-enabled applications
US7805299B2 (en) * 2004-03-01 2010-09-28 Coifman Robert E Method and apparatus for improving the transcription accuracy of speech recognition software
JP4267385B2 (ja) * 2003-06-30 2009-05-27 インターナショナル・ビジネス・マシーンズ・コーポレーション 統計的言語モデル生成装置、音声認識装置、統計的言語モデル生成方法、音声認識方法、およびプログラム
JP2005221752A (ja) * 2004-02-05 2005-08-18 Toyota Central Res & Dev Lab Inc 音声認識装置、音声認識方法及びプログラム
US7624018B2 (en) 2004-03-12 2009-11-24 Microsoft Corporation Speech recognition using categories and speech prefixing
US8412521B2 (en) * 2004-08-20 2013-04-02 Multimodal Technologies, Llc Discriminative training of document transcription system
CN101034390A (zh) * 2006-03-10 2007-09-12 日电(中国)有限公司 用于语言模型切换和自适应的装置和方法
US20080288252A1 (en) 2007-03-07 2008-11-20 Cerra Joseph P Speech recognition of speech recorded by a mobile communication facility
US8538757B2 (en) * 2007-05-17 2013-09-17 Redstart Systems, Inc. System and method of a list commands utility for a speech recognition command system
US8201089B2 (en) * 2008-07-14 2012-06-12 Google Inc. Content item selection
US20100016909A1 (en) * 2008-07-17 2010-01-21 Pacesetter, Inc. Implantable cardiac device feedthru/header assembly
US8352260B2 (en) * 2008-09-10 2013-01-08 Jun Hyung Sung Multimodal unification of articulation for device interfacing
US8589157B2 (en) * 2008-12-05 2013-11-19 Microsoft Corporation Replying to text messages via automated voice search techniques
GB0911353D0 (en) * 2009-06-30 2009-08-12 Haq Saad U Discrete voice command navigator
EP3091535B1 (en) * 2009-12-23 2023-10-11 Google LLC Multi-modal input on an electronic device
US9489375B2 (en) * 2011-06-19 2016-11-08 Mmodal Ip Llc Speech recognition using an operating system hooking component for context-aware recognition models

Also Published As

Publication number Publication date
US10325589B2 (en) 2019-06-18
US9489375B2 (en) 2016-11-08
US20170047061A1 (en) 2017-02-16
EP2721608A2 (en) 2014-04-23
US20120323557A1 (en) 2012-12-20
EP2721608B1 (en) 2019-03-13
CA2839265A1 (en) 2012-12-27
EP2721608A4 (en) 2015-05-20
WO2012177646A3 (en) 2013-06-06
JP2014523543A (ja) 2014-09-11
US10062375B2 (en) 2018-08-28
WO2012177646A2 (en) 2012-12-27
US20180261207A1 (en) 2018-09-13
US20190266995A1 (en) 2019-08-29

Similar Documents

Publication Publication Date Title
JP6131249B2 (ja) コンテキストアウェア認識モデルを使用した音声認識
US11735176B2 (en) Speaker diarization using speaker embedding(s) and trained generative model
CN113330512B (zh) 根据选择的建议向自动化助理补充语音输入
US11990124B2 (en) Language model prediction of API call invocations and verbal responses
US11282500B2 (en) Generating and training new wake words
US6327566B1 (en) Method and apparatus for correcting misinterpreted voice commands in a speech recognition system
CN118690348A (zh) Captcha自动助理
JP7727104B2 (ja) 観測されたクエリパターンに基づくターゲットデバイスへの蒸留
CN110556102A (zh) 意图识别和执行的方法、设备、车载语音对话系统以及计算机存储介质
EP4736001A1 (en) Script editor for routine creation
CN116711004A (zh) 响应于能够限于参数的用户输入对非助理应用操作的自动助理执行
US9501264B2 (en) User corrections in translation
US20240087564A1 (en) Restricting third party application access to audio data content
CN115910029A (zh) 生成合成语音输入
Raveendran et al. Speech only interface approach for personal computing environment
US12266359B2 (en) System(s) and method(s) to enable modification of an automatically arranged transcription in smart dictation
US20250201248A1 (en) System(s) and method(s) to enable modification of an automatically arranged transcription in smart dictation
US12205584B1 (en) Dialog-driven applications supporting alternative vocal input styles
US20250045082A1 (en) Determining a generalized routine based on identified user actions
James et al. Data entry in application-independent voice interfaces
Feiteira et al. An Evaluation Framework for Assessing and Optimizing Multimodal Fusion Engines Performance

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20140225

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20140305

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140610

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150603

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160725

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160728

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161005

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170329

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170417

R150 Certificate of patent or registration of utility model

Ref document number: 6131249

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250