(57)【要約】      （修正有）【課題】発話入力に音声認識アルゴリズムを適用した結果得られた解釈候補が、冗長性を減少させて統合化された方法で提示される方法を提供する。【解決手段】解釈候補のリストが作成され、各解釈候補は時系列部分に細分化されてグリッドを形成する。他の解釈候補からの部分に重複する時系列部分はグリッドから除去される。ユーザに解釈候補の中から選択する機会を提示し、重複要素なしでこれらの選択肢を提示するように構成されるユーザインタフェース。【選択図】図４Ａ
2013068952.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータによって実行される、音声認識結果の統合リストを生成するための方法であって、
プロセッサが、発話入力の解釈候補のリストを受信するステップと、
前記プロセッサが、前記受信したリストから、複数の行及び複数の列に編成される、トークンのグリッドを形成するステップと、
前記プロセッサが、タイミング情報に基づいて、前記グリッドを、列グループの集合であって各々の列グループにそれぞれ少なくとも１つのトークンを含む複数のトークングループが含まれる列グループの集合に分割するステップと、
前記プロセッサが、前記グリッドにおける重複したトークングループを検出したことに応答して、前記重複したトークングループを除去して統合グリッドを生成するステップと、
前記統合グリッドに基づいて出力装置に前記解釈候補を出力させるステップと、
を有することを特徴とする方法。
【請求項２】
前記受信したリストにおける各解釈候補は複数のトークンを含み、
前記受信したリストからトークンのグリッドを形成するステップは、
前記プロセッサが、各解釈候補におけるトークン毎に、開始時刻及び終了時刻を判定するステップと、
前記プロセッサが、前記判定された開始時刻及び終了時刻からユニークな整数の集合を形成するステップと、
前記プロセッサが、前記受信したリストにおける解釈候補の数に対応する複数の行を含むグリッドであって、各行に、前記ユニークな整数の集合におけるユニークな整数の数に対応する複数のセルを含み、該複数のセルがそれぞれ列に編成されるグリッドを形成するステップと、
前記プロセッサが、各トークンを、当該トークンの前記開始時刻から前記終了時刻にわたる全てのセルに挿入するステップと、
を含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記受信したリストにおける各解釈候補は、開始時刻及び終了時刻と関連付けられた複数のトークンを含み、前記グリッドの各列は、開始時刻及び終了時刻と関連付けられ、
前記タイミング情報に基づいて前記グリッドを列グループの集合に分割するステップは、前記プロセッサが、前記グリッドにおける列毎に、
まだ列グループに属していない列に応答して、現在の列を含む列グループを形成するステップと、
前記列におけるトークン毎に、前記列におけるいずれかのトークンが前記列の終了時刻を超える終了時刻と関連付けられているかを判定するステップと、
前記列の前記終了時刻を超える前記列におけるトークンに応答して、現在の列を含む前記列グループに次の列を追加するステップと、
を含むことを特徴とする請求項１又は２に記載の方法。
【請求項４】
前記重複したトークングループを除去して解釈候補の前記統合グリッドを生成するステップは、
前記プロセッサが、複数のトークンフレーズであって各トークンフレーズが列グループの行内に示される少なくとも１つのトークンを含む複数のトークンフレーズを規定するステップと、
前記グリッドにおける列グループ毎に、
いずれかのトークンフレーズが前記列グループ内で重複するかを判定するステップと、
重複するトークンフレーズに応答して、前記重複を削除するステップと、
を含むことを特徴とする請求項１乃至３のいずれか１項に記載の方法。
【請求項５】
前記プロセッサが、全てのトークンフレーズにおける少なくとも２つのトークンを有する列グループ内のトークンフレーズ間で共有されるエッジトークンに応答して、前記列グループを前記トークンフレーズにおける前記共有されたエッジトークンを含む第１の列グループ及び前記少なくとも１つの残りのトークンを含む第２の列グループに分割するステップを更に有することを特徴とする請求項１乃至４のいずれか１項に記載の方法。
【請求項６】
前記プロセッサが、全てのトークンフレーズにおける少なくとも２つのトークンを有する列グループ毎に、
当該列グループにおける全てのトークンフレーズの最初に示されるトークンに応答して、当該列グループを、前記トークンフレーズにおける最初のトークンを含む第１の列グループ及び前記少なくとも１つの残りのトークンを含む第２の列グループに分割するステップと、
前記列グループにおける全てのトークンフレーズの最後に示されるトークンに応答して、当該列グループを、前記トークンフレーズにおける最後のトークンを含む第１の列グループ及び前記少なくとも１つの残りのトークンを含む第２の列グループに分割するステップと、
を更に有することを特徴とする請求項１乃至５のいずれか１項に記載の方法。
【請求項７】
前記プロセッサが、所定の閾値を上回る複数のトークンフレーズを有するあらゆる列グループに応答して、
少なくとも１つのトークンフレーズを除去するステップと、
前記グリッドを分割するステップ及び前記重複を除去するステップを繰り返すステップと、
を更に有することを特徴とする請求項１乃至６のいずれか１項に記載の方法。
【請求項８】
前記発話入力の解釈候補のリストを受信するステップは、
前記プロセッサが、複数のトークン化された解釈候補であって各々が複数のトークンを含む複数のトークン化された解釈候補を受信するステップと、
前記プロセッサが、トークン毎にタイミング情報を受信するステップと、
を含むことを特徴とする請求項１乃至７のいずれか１項に記載の方法。
【請求項９】
解釈候補の前記統合グリッドは、
単一のトークングループを有する少なくとも１つの列グループと、
複数のトークングループを有する少なくとも１つの列グループと、
を含むことを特徴とする請求項１乃至８のいずれか１項に記載の方法。
【請求項１０】
前記出力装置に前記解釈候補を出力させるステップは、
列グループ毎に、
単一のトークングループを含む前記列グループに応答して、前記出力装置に前記単一のトークングループを前記出力装置上に表示させるステップと、
複数のトークングループを含む前記列グループに応答して、前記出力装置に前記複数のトークングループを前記出力装置上に表示させるステップと、
を含むことを特徴とする請求項９に記載の方法。
【請求項１１】
前記出力装置に前記解釈候補を出力させるステップは、
列グループ毎に、
単一のトークングループを含む前記列グループに応答して、前記出力装置に前記単一のトークングループを前記出力装置上に表示させるステップと、
複数のトークングループを含む前記列グループに応答して、前記出力装置に、前記複数のトークングループのうちの第１のトークングループを表示させるとともに、前記第１のトークングループの代わりに前記列グループにおける残りのトークングループのうちの少なくとも部分集合を表示させるステップを含む
ことを特徴とする請求項１０に記載の方法。
【請求項１２】
複数のトークングループを含む少なくとも１つの列グループに対して、前記出力装置に前記列グループからの少なくとも１つの別のトークングループを含むメニューを表示させるステップを更に有することを特徴とする請求項１１に記載の方法。
【請求項１３】
前記出力装置に前記解釈候補を出力させるステップは、
列グループ毎に、
単一のトークングループを含む前記列グループに応答して、前記出力装置に前記単一のトークングループを前記出力装置上に表示させるステップと、
複数のトークングループを含む前記列グループに応答して、前記出力装置に単一のトークングループを含む列グループの前記表示と比較して視覚的に区別可能なように前記複数のトークングループのうちの第１のトークングループを前記出力装置上に表示させるステップと、
を含むことを特徴とする請求項９に記載の方法。
【請求項１４】
前記視覚的に区別可能なように前記複数のトークングループのうちの前記第１のグループを表示するステップは、前記複数のトークングループのうちの前記表示される前記第１のトークングループの信頼度を示す方法で前記第１のトークングループを表示するステップを含むことを特徴とする請求項１３に記載の方法。
【請求項１５】
前記出力装置に前記解釈候補を出力させるステップは、
列グループ毎に、
単一のトークングループを含む前記列グループに応答して、前記出力装置に前記単一のトークングループを前記出力装置上に表示させるステップと、
複数のトークングループを含む前記列グループに応答して、前記出力装置に前記複数のトークングループのうちの１つを前記出力装置上に表示させ、かつ、強調表示させるステップと、
を含むことを特徴とする請求項９に記載の方法。
【請求項１６】
入力装置が、強調表示されたトークングループと関連付けられたユーザ入力を受信するステップと、
強調表示されたトークングループと関連付けられた前記ユーザ入力に応答して、同一の列グループからの少なくとも１つの別のトークングループを含むメニューを前記表示装置上に表示するステップと、
を更に有することを特徴とする請求項１５に記載の方法。
【請求項１７】
前記入力装置が、前記メニューから別のトークングループを選択するユーザ入力を受信するステップと、
前記メニューから別のトークングループを選択する前記ユーザ入力に応答して、前記強調表示されたトークングループを前記別のトークングループで置換するステップと、
を更に有することを特徴とする請求項１６に記載の方法。
【請求項１８】
前記メニューから別のトークングループを選択する前記ユーザ入力に応答して、音声認識エンジンをトレーニングするために前記選択された別のトークングループを前記音声認識エンジンに提供するステップを更に有することを特徴とする請求項１７に記載の方法。
【請求項１９】
１つ以上のプロセッサと、
メモリと、
前記メモリに格納され、前記１つ以上のプロセッサによって実行される１つ以上のプログラムと、
を有し、
前記１つ以上のプログラムは、
発話入力の解釈候補のリストを受信するステップと、
前記受信したリストから、複数の行及び複数の列に編成される、トークンのグリッドを形成するステップと、
タイミング情報に基づいて、前記グリッドを、列グループの集合であって各々の列グループにそれぞれ少なくとも１つのトークンを含む複数のトークングループが含まれる列グループの集合に分割するステップと、
前記グリッドにおける重複したトークングループを検出したことに応答して、前記重複したトークングループを除去して統合グリッドを生成するステップと、
前記統合グリッドに基づいて出力装置に前記解釈候補を出力させるステップと、
を前記１つ以上のプロセッサに実行させるための命令を含むことを特徴とするシステム。
【請求項２０】
発話入力の解釈候補のリストを受信するステップと、
前記受信したリストから、複数の行及び複数の列に編成される、トークンのグリッドを形成するステップと、
タイミング情報に基づいて、前記グリッドを、列グループの集合であって各々の列グループにそれぞれ少なくとも１つのトークンを含む複数のトークングループが含まれる列グループの集合に分割するステップと、
前記グリッドにおける重複したトークングループを検出したことに応答して、前記重複したトークングループを除去して統合グリッドを生成するステップと、
前記統合グリッドに基づいて出力装置に前記解釈候補を出力させるステップと、
をサーバシステムに実行させるための１つ以上のプログラムを格納したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自動電子システム、並びに発話入力を認識及び解釈する方法に関する。
【背景技術】
【０００２】
多くの状況において、音声は、電子装置に入力を行うのに好適な手段である。発話入力は、画面、キーボード、マウス又は物理的操作を必要とし且つ／あるいは表示画面を閲覧する他の入力装置を介して電子装置と対話することが困難であるか又は安全でない状況において特に有用である。例えば、車両を運転中、ユーザは、移動装置（例えば、スマートフォン）又は自動車ベースのナビゲーションシステムに入力を行いたいと考え、装置に話しかけることが、情報を提供したり、データを入力したりあるいは装置の動作を制御したりするのに最も効率的な方法であることに気が付くであろう。他の状況において、ユーザは、別のユーザとの対話をより忠実に模倣する対話インタフェースをより快適に感じるため、発話入力を行うことが便利であることに気が付くであろう。例えばユーザは、２０１１年１月１０日に出願され、発明の名称を「Ｉｎｔｅｌｌｉｇｅｎｔ  Ａｕｔｏｍａｔｅｄ  Ａｓｓｉｓｔａｎｔ」とする、関連する米国特許出願第１２／９８７，９８２号に記載されているようなインテリジェント自動アシスタントと対話する際に、発話入力を行いたいと考えるであろう。なお上記文献は、この引用により本明細書に組み込まれる。
【０００３】
音声認識は多くの用法で使用することができる。例えば、いくつかの電子システムでは、ユーザが発話入力を介して装置の動作を制御できるようにする音声ベースのユーザインタフェースが提供される。また、例えば航空券の購入や映画上映時刻のチェック等のためにユーザが選択肢のメニューを操作して入力を行うインタラクティブ音声認識（ＩＶＲ）電話システムにおいても、音声認識が使用される。ワードプロセッサによる文書作成を含む多くの形態のデータ入力においても、音声認識が使用される。
【０００４】
発話入力を解釈してそれをテキストに変換するための公知技術は数多く存在する。音又は音素の統計的表現を生成し、個々の単語又はフレーズを形成するために、音響モデルが使用されうる。オーディオ入力は、これらの統計的表現と比較され、どの単語又はフレーズが意図されたのかが判定される。多くのシステムにおいては、良好なマッチの尤度を高めるべく、限定された語彙が何らかの方法で規定される。いくつかのシステムにおいては、一連の発話された単語において次の単語を予測するのを支援するために言語モデルが使用され、これによって、音声認識アルゴリズムにより生成された結果の曖昧性を低減することができる。
【０００５】
音響モデル及び／又は言語モデルを使用する音声認識システムのいくつかの例としては、カーネギー・メロン大学（Carnegie Mellon University）（ペンシルバニア州ピッツバーグ）のプロジェクトとして開発されたＣＭＵ  Ｓｐｈｉｎｘ、ニュアンス・コミュニケーションズ社（Nuance Communications）（マサチューセッツ州バーリントン）から入手可能な音声認識ソフトエア「ドラゴンスピーチ」、グーグル社（Google Inc.）（カリフォルニア州マウンテンビュー）から入手可能なグーグル音声検索（Google Voice Search）がある。
【０００６】
使用される音声認識技術に拘らず、多くの場合において、発話入力の２つ以上のとりうる解釈の間における曖昧性をなくすことが必要である。多くの場合、最も便宜なやり方は、とりうる解釈のうちどれを意図したのかをユーザに尋ねることである。これを実行するために、発話入力のとりうる解釈候補の集合をユーザに提示し、そこから１つを選択するようユーザに指示する。そのような指示は、システムが解釈候補を読み出しユーザにそこから１つ選択させるための、画面上に提示されるようなビジュアルインタフェース又はオーディオインタフェースを介して行われる。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
文のように連続して発話される単語の集合に音声認識が適用される場合、いくつかの解釈候補が存在しうる 。解釈候補の集合は、文の集合として提示されることになる。多くの場合、文候補のある部分は互いに類似（又は一致）するが、他の部分は何らかの点で異なる。例えば、発話された文におけるいくつかの単語又はフレーズは、システムにとって他の単語又はフレーズよりも解釈が容易である。あるいは、いくつかの単語又はフレーズは、他の単語又はフレーズよりも数多くの解釈候補と関連付けられる。また、文の部分はそれぞれ幾通りにも解釈されうるため、解釈候補の集合における自由度の総数のために、解釈候補の順列の総数がかなり高い。文の各部分に対する候補の数が増えれば見込まれる順列の数も増え、選択のためにユーザに対して提示される候補文の数が多くなりすぎて、操作するのが困難になる。
【０００８】
ユーザに対してあまりに多くの選択肢が提示されることがないように簡略化、合理化された文候補の提示が音声認識システムのユーザに対してなされる手法が必要である。冗長で分かりにくい情報が減るように候補文を提示する手法が更に必要である。
【課題を解決するための手段】
【０００９】
本発明の種々の実施形態は、音声認識システムにおいて解釈候補の集合を提示するための改良された手法を実現する。冗長な要素は、ユーザに対して提示されるオプションを簡略化するために、統合の処理により最小限にされるかあるいは除去される。
【００１０】
本発明は、発話入力を受信及び解釈するように構成されたあらゆる電子装置において実現される。発話入力を音声認識アルゴリズムに適用した結果得られた解釈候補は、冗長性を減少又は除去する統合化された方法で提示される。システムの出力は、候補毎に同一である部分の重複した提示を抑制しつつ、解釈候補間で異なる文の部分に対する別個のオプションの集合として提示される。
【００１１】
種々の実施形態によれば、解釈候補の統合リストは、最初に発話入力に対する解釈候補の生リストを取得することで生成される。各解釈候補は時系列部分に細分化されてグリッドを形成する。他の解釈候補からの部分に重複する時系列部分はグリッドから除去される。ユーザに解釈候補の中から選択する機会を提示し、重複した要素を提示することを回避しつつこれらの選択肢を提示するように構成されるユーザインタフェースが提供される。
【００１２】
種々の実施形態によれば、多くの機能のうちのいずれかは、ユーザに対して解釈候補を提示し、ユーザの選択に関する入力を受け入れるために使用される。そのような機構は、適切なあらゆる種類のグラフィカルインタフェース、テキストインタフェース、ビジュアルインタフェース及び／又は聴覚インタフェースを含む。いくつかの実施形態において、ユーザは、種々の解釈候補から個々の要素を選択する機会を与えられる。例えば、文の第１の部分は第１の解釈候補から選択され、文の第２の部分は第２の解釈候補から選択される。その後、最終結果は選択された部分から集められる。
【００１３】
ユーザが解釈候補の中から選択すると、選択されたテキストは、表示、格納、送信及び／又は実行される。例えば１つの実施形態において、選択されたテキストは、コマンドとして解釈され、いくつかの動作を実行する。あるいは、選択されたテキストは、文書又は文書の一部、電子メール又は他の形式のメッセージ、あるいはテキストの送信及び／又は格納のための他のあらゆる適切なリポジトリ又は媒体として格納される。
【００１４】
本発明のこれらの種々の実施形態は、本明細書において説明されるように、発話入力の解釈候補間の曖昧性を除去する処理を改善する機構を提供する。特にそのような実施形態は、入力を提供してそのような解釈候補の中からの選択を実行する負担及び複雑性を軽減することにより、ユーザエクスペリエンスを向上させる。
【００１５】
いくつかの実現例によれば、方法は、プロセッサにおいて発話入力の解釈候補のリストを受信するステップを有する。方法は更に、受信したリストから、複数の行及び複数の列に編成される、トークンのグリッドを形成するステップを有する。方法は更に、タイミング情報に基づいて、グリッドを、列グループの集合であって各々の列グループにそれぞれ少なくとも１つのトークンを含む複数のトークングループが含まれる列グループの集合に分割するステップを有する。方法は更に、グリッドにおける重複したトークングループを検出したことに応答して、重複したトークングループを除去して統合グリッドを生成するステップを有する。いくつかの実現例において、方法は、出力デバイスにおいて統合グリッドに基づいて解釈候補を出力するステップを有する。いくつかの実現例において、方法は、統合グリッドに基づいて出力装置に解釈候補を出力させるステップを有する。
【００１６】
いくつかの実現例によれば、方法は、プロセッサが、発話入力の解釈候補の統合リストを受信するステップを有する。統合リストは、単一のトークングループを有する少なくとも１つの列グループ及び複数のトークングループを有する少なくとも１つの列グループを含む。方法は、単一のトークングループを有する列グループ毎に単一のトークングループを出力装置上に表示するステップを更に有する。方法は更に、複数のトークングループを含む列グループ毎に、単一のトークングループを含む列グループの表示と比較して視覚的に区別可能なように複数のトークングループのうちの第１のトークングループを出力装置上に表示させるステップを有する。
【００１７】
いくつかの実現例によれば、方法は、サーバにおいて動作するプロセッサにおいて発話入力の解釈候補のリストを取得するステップを有する。方法は更に、受信したリストから複数の行及び複数の列に編成されるトークンのグリッドを形成するステップを有する。方法は更に、タイミング情報に基づいて、グリッドを、列グループの集合であって各々の列グループにそれぞれ少なくとも１つのトークンを含む複数のトークングループが含まれる列グループの集合に分割するステップを有する。方法は更に、グリッドにおける重複したトークングループを検出したことに応答して、重複したトークングループを除去して統合グリッドを生成するステップを有する。方法は更に、候補の統合リストの表現をサーバからクライアントに送信するステップを有する。
【００１８】
いくつかの実現例によれば、電子装置は、１つ以上のプロセッサと、メモリと、前記メモリに格納され、前記１つ以上のプロセッサによって実行される１つ以上のプログラムとを有し、このプログラムは、上述の方法のうちのいずれかのステップをプロセッサに実行させるための命令を含む。いくつかの実現例によれば、コンピュータ読み取り可能な記憶媒体は、電子装置により実行される場合に装置に上述の方法のうちのいずれかの動作を実行させる命令を格納している。いくつかの実現例によれば、電子装置は、上述の方法のうちのいずれかの動作を実行する手段を備える。いくつかの実現例によれば、電子装置において使用するための情報処理装置は、上述の方法のうちのいずれかの動作を実行する手段を備える。
【００１９】
いくつかの実現例によれば、電子装置は、発話入力の解釈候補のリストを受信する解釈候補受信部を備える。電子装置は処理部を更に備える。処理部は、受信したリストから、複数の行及び複数の列に編成される、トークンのグリッドを形成し、タイミング情報に基づいて、前記グリッドを、列グループの集合であって各々の列グループにそれぞれ少なくとも１つのトークンを含む複数のトークングループが含まれる列グループの集合に分割し、且つ前記グリッドにおける重複したトークングループを検出したことに応答して、前記重複したトークングループを除去して統合グリッドを生成する。いくつかの実現例において、電子装置は、統合グリッドに基づいて出力装置に解釈候補を出力させる出力部を備える。いくつかの実現例において、出力部は、統合グリッドに基づいて解釈候補を出力する。
【００２０】
いくつかの実現例によれば、電子装置は、発話入力の解釈候補の統合リストを受信する解釈候補受信部を備える。統合リストは、単一のトークングループを有する少なくとも１つの列グループ及び複数のトークングループを有する少なくとも１つの列グループを含む。電子装置は、単一のトークングループを有する列グループ毎に単一のトークングループを出力装置上に表示し、且つ複数のトークングループを有する列グループ毎に、単一のトークングループを含む列グループの表示と比較して視覚的に区別可能なように複数のトークングループのうちの第１のトークングループを表示する表示部を更に備える。
【００２１】
いくつかの実現例によれば、電子装置は、発話入力の解釈候補のリストを取得する解釈候補受信部を備える。電子装置は、受信したリストからトークンの複数の行及び複数の列に編成されるグリッドを形成し、タイミング情報に基づいてグリッドを各々が少なくとも１つのトークンを含む複数のトークングループを各々が含む列グループの集合に分割し、グリッドにおける重複したトークングループを検出したことに応答して、重複したトークングループを除去して候補の統合リストを作成し、且つ候補の統合リストの表現をサーバからクライアントに送信する処理部を更に備える。
【図面の簡単な説明】
【００２２】
添付の図面は、本発明のいくつかの実施形態を例示し、説明と共に実施形態に係る本発明の原理を説明するために用いられる。図示された特定の実施形態は例示にすぎず、本発明の範囲を限定することを意図するものではないことは、当業者には理解されよう。
【００２３】
【図１】本発明の１つの実施形態に従って、統合音声認識結果を生成するシステムのハードウェアアーキテクチャを示すブロック図。
【図２】本発明の１つの実施形態に従って、クライアント／サーバ環境において統合音声認識結果を生成するシステムのハードウェアアーキテクチャを示すブロック図。
【図３】本発明の１つの実施形態に従って、クライアント／サーバ環境において統合音声認識結果を生成するシステムにおけるデータフローを示すブロック図。
【図４Ａ】本発明の１つの実施形態に従って、候補結果の統合リストを作成する音声認識プロセッサの全体的な動作を示すフローチャート。
【図４Ｂ】タイミングコードを含む１つの解釈候補の詳細と共に、本発明に従って処理される前に音声認識部により作成されるような解釈候補のリストの一例を示す図。
【図５Ａ】本発明の１つの実施形態に従って、解釈候補のリストからトークンのグリッドを形成する方法を示すフローチャート。
【図５Ｂ】本発明の１つの実施形態に従って、図５Ａに示された方法により生成されたトークンのグリッドの一例を示す図。
【図６Ａ】本発明の１つの実施形態に従って、タイミング情報に基づいてグリッドを列グループの集合に分割する方法を示すフローチャート。
【図６Ｂ】本発明の１つの実施形態に従って、図６Ａに示された方法により作成された列グループのリストの一例を示す図。
【図７Ａ】本発明の１つの実施形態に従って、列グループにおける重複を除去する方法を示すフローチャート。
【図７Ｂ】本発明の１つの実施形態に従って、図７Ａに示された方法により作成された列グループの重複除外リストの一例を示す図。
【図８Ａ】本発明の１つの実施形態に従って、共有トークンを分離させる方法を示すフローチャート。
【図８Ｂ】本発明の１つの実施形態に従って、列グループにおいて全てのトークンフレーズの最初に示されるトークンを分離させる方法を示すフローチャート。
【図８Ｃ】発明の１つの実施形態に従って、列グループにおいて全てのトークンフレーズの最後に示されるトークンを分離させる方法を示すフローチャート。
【図８Ｄ】、
【図８Ｅ】、
【図８Ｆ】本発明の１つの実施形態に従って、図８Ａに示された方法に従って共有トークンを分離させる一例を示す図。
【図９Ａ】本発明の１つの実施形態に従って、過剰な候補を除去する方法を示すフローチャート。
【図９Ｂ】、
【図９Ｃ】、
【図９Ｄ】、
【図９Ｅ】、
【図９Ｆ】本発明の１つの実施形態に従って、図９Ａに示された方法に従って過剰な候補を除去する一例を示す図。
【図１０】本発明の１つの実施形態に従って、ユーザに対して候補を提示し、候補のユーザ選択を受け入れるユーザインタフェースに対する動作の方法を示すフローチャート。
【図１１Ａ】、
【図１１Ｂ】、
【図１１Ｃ】、
【図１１Ｄ】本発明の１つの実施形態に従って、ユーザに対して候補を提示し、候補のユーザ選択を受け入れるユーザインタフェースの一例を示す図。
【図１２Ａ】本発明の１つの実施形態に従って、解釈候補のリストからトークンのグリッドを形成する別の方法を示すフローチャート。
【図１２Ｂ】、
【図１２Ｃ】、
【図１２Ｄ】本発明の１つの実施形態に従って、図１２Ａに示された別の方法によりトークンのグリッドを生成する例を示す図。
【図１３Ａ】、
【図１３Ｂ】、
【図１３Ｃ】本発明の１つの実施形態に従って、図１２Ａに示された別の方法によりトークンのグリッドを生成する別の例を示す図。
【図１４Ａ】、
【図１４Ｂ】、
【図１４Ｃ】、
【図１４Ｄ】、
【図１４Ｅ】本発明の１つの実施形態に従って、境界のトークンを拡張する一例を示す図。
【図１５】いくつかの実施形態に係る電子装置を示す機能ブロック図。
【図１６】いくつかの実施形態に係る電子装置を示す機能ブロック図。
【図１７】いくつかの実施形態に係る電子装置を示す機能ブロック図。
【発明を実施するための形態】
【００２４】
＜システムアーキテクチャ＞
種々の実施形態によれば、本発明は、電子装置、又は、任意の数の電子装置を装置含む電子ネットワーク上で実現されうる。そのような電子装置の各々は、例えばデスクトップコンピュータ、ラップトップコンピュータ、パーソナルデジタルアシスタント（ＰＤＡ）、携帯電話、スマートフォン、音楽プレーヤ、ハンドヘルドコンピュータ、タブレットコンピュータ、キオスク又はゲームシステム等であってもよい。以下に説明するように、本発明は、スタンドアロン・コンピュータ・システム又は他の電子装置、あるいは電子ネットワークにおいて実現されるクライアント／サーバ環境において実現されうる。２つ以上の電子装置間での通信を可能にする電子ネットワークは、例えばハイパーテキスト転送プロトコル（ＨＴＴＰ）、セキュアハイパーテキスト転送プロトコル（ＳＨＴＴＰ）及び／又は伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）等の既知のネットワークプロトコルを使用して実現されうる。例えばそのようなネットワークは、インターネット又はイントラネットであってもよい。ネットワークへのセキュアなアクセスは、仮想プライベートネットワーク（ＶＰＮ）等の公知の技術を介して容易に行われる。本発明は、ＷｉＦｉ、第３世代移動通信方式（３Ｇ）、ユニバーサル移動通信システム（ＵＭＴＳ）、広帯域符号分割多元接続（Ｗ−ＣＤＭＡ）、時分割同期符号分割多元接続（ＴＤ−ＳＣＤＭＡ）、発展型高速パケットアクセス（ＨＳＰＡ＋）、ＣＳＭＡ２０００、エッジ、ＤＥＣＴ（Ｄｉｇｉｔａｌ  Ｅｎｈａｎｃｅｄ  Ｃｏｒｄｌｅｓｓ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎｓ）、ＢｌｕｅＴｏｏｔｈ（登録商標）、ＷｉＭａｘ（Ｍｏｂｉｌｅ  Ｗｏｒｌｄｗｉｄｅ  Ｉｎｔｅｒｏｐｅｒａｂｉｌｉｔｙ  ｆｏｒ  Ｍｉｃｒｏｗａｖｅ  Ａｃｃｅｓｓ）、ＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）、ＬＴＥ  Ａｄｖａｎｃｅｄ、あるいはそれらのあらゆる組合せを含むがそれらに限定されないあらゆる公知の無線通信の技術及び／又はプロトコルを使用して無線装置において更に実現されうる。
【００２５】
本明細書では、発話された単語入力を受信し、ユーザ選択のために解釈候補を提示するシステムの環境において、本発明を説明するが、本発明の技術は、他の環境、実際には、２つ以上の選択肢が部分的に重複している選択肢のリストを提示することが望ましいあらゆるシステムにおいて実現可能であることは、当業者には理解されるだろう。従って、以下の説明は、請求する発明の範囲を限定することを意図するのではなく、例として本発明の種々の実施形態を例示することを意図するものである。
【００２６】
１つの実施形態において、本発明は、コンピューティング装置又は他の電子装置上で実行するソフトウェアアプリケーションとして実現される。別の実施形態においては、本発明は、少なくとも１つのサーバ及び少なくとも１つのクライアントマシンを備えるクライアント／サーバ環境において実行するソフトウェアアプリケーションとして実現される。クライアントマシンは、あらゆる適切なコンピューティング装置又は他の電子装置であればよく、あらゆる公知の有線通信プロトコル及び／又は無線通信プロトコルを使用してサーバと通信することができる。
【００２７】
例えば本発明は、スマートフォン、コンピュータ又は他の電子装置上で動作するインテリジェント自動アシスタントの一部として実現されうる。そのようなインテリジェント自動アシスタントの一例は、２０１１年１月１０日に出願され、発明の名称を「Ｉｎｔｅｌｌｉｇｅｎｔ  Ａｕｔｏｍａｔｅｄ  Ａｓｓｉｓｔａｎｔ」とする、関連する米国特許出願第１２／９８７，９８２号に記載されている。この引用により上記文献の内容は本明細書に組み込まれる。１つの実施形態において、そのようなインテリジェント自動アシスタントは、移動装置又は他の電子装置上で実行するアプリケーション、すなわち「アプリ」として実現されうる。あるいは、アシスタントの機能性は、オペレーティングシステムの組み込みコンポーネントとして実現されうる。しかし、本明細書において説明される技術は他のアプリケーション及びシステム、並びに／あるいは他のあらゆる種類のコンピューティング装置、装置の組合せ又はプラットフォームと関連して実現されてもよいことは、当業者には理解されよう。
【００２８】
次に、図１を参照すると、１つの実施形態に従って、スタンドアロン装置１０２において統合音声認識結果を生成するシステム１００のハードウェアアーキテクチャを示すブロック図が示される。
【００２９】
システム１００は、本明細書において説明されるステップを実行するためにソフトウェアを実行するプロセッサ１０５を有する装置１０２を備える。図１において、独立したオーディオプロセッサ１０７及び音声認識プロセッサ１０８が示される。オーディオプロセッサ１０７は、オーディオ入力を受信しそれをデジタル化したオーディオストリームに変換することに関連した動作を実行することができる。本明細書において説明されるように、音声認識プロセッサ１０８は、音声認識、並びに音声入力の解釈候補を生成及び統合することに関連した動作を実行することができる。ただし、本明細書において説明される機能性は、単一のプロセッサ又はプロセッサのあらゆる組合せを使用して実現してもよい。従って、図１に示されたプロセッサの特定の集合は例示にすぎず、プロセッサのうちのいずれかが省略可能であり、且つ／あるいは更なるプロセッサが追加可能である。
【００３０】
装置１０２は、ソフトウェアを実行するように構成されたあらゆる電子装置であり、例えばデスクトップコンピュータ、ラップトップコンピュータ、パーソナルデジタルアシスタント（ＰＤＡ）、携帯電話、スマートフォン、音楽プレーヤ、ハンドヘルドコンピュータ、タブレットコンピュータ、キオスク又はゲームシステム等であってよい。１つの実施形態において、コンピューティング装置１０２は、アップル社（Apple Inc.）（カリフォルニア州クパチーノ）から入手可能なｉＰｈｏｎｅ又はｉＰａｄである。１つの実施形態において、例えば装置１０２は、アップル社（Apple Inc.）（カリフォルニア州クパチーノ）から更に入手可能なｉＯＳ、アップル社（Apple Inc.）（カリフォルニア州クパチーノ）から更に入手可能なＭａｃ  ＯＳ  Ｘ、マイクロソフト社（Microsoft Corporation）（ワシントン州レドモンド）から入手可能なＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）、又は、グーグル社（Google Inc.）（カリフォルニア州マウンテンビュー）から入手可能なＡｎｄｒｏｉｄ等の、適切なオペレーティングシステムを実行する。
【００３１】
本発明の技術は、公知の技術に従って装置１０２上で実行するソフトウェアアプリケーションにおいて実現されうる。例えばソフトウェアアプリケーションは、アップル社（Apple Inc.）（カリフォルニア州クパチーノ）から入手可能なＳａｆａｒｉ等のブラウザを介してあるいは専用のウェブベースのクライアントソフトウェアによりアクセス可能なスタンドアロンソフトウェアアプリケーション、すなわち「アプリ」又はウェブベースのアプリケーション、すなわちウェブサイトである。
【００３２】
１つの実施形態において、装置１０２は、ユーザ１０１から発話入力を受信するマイクロホン１０３又は他のオーディオ入力装置を備える。装置１０２は、例えばキーボード、マウス、タッチスクリーン、トラックボール、トラックパッド、ファイブウェイスイッチ、音声入力装置、ジョイスティック及び／又はそれらのあらゆる組合せを含む他のあらゆる適切な入力装置１１０を更に備えてもよい。そのような入力装置１１０により、ユーザ１０１は、例えば発話入力の解釈候補の中から選択するために入力を装置１０２に提供できる。１つの実施形態において、装置１０２は、発話入力の解釈候補を含む情報をユーザ１０１に対して表示あるいは提示する画面１０４又は他の出力装置を含む。１つの実施形態において、画面１０４は省略可能であり、例えば発話入力の解釈候補は、スピーカ又は他のオーディオ出力装置（不図示）を介して、あるいはプリンタ（不図示）又は他のあらゆる適切な装置を使用して提示されてもよい。
【００３３】
１つの実施形態において、画面１０４を介して解釈候補をユーザ１０１に対して提示させる（テキストとして）テキスト編集ユーザインタフェース（ＵＩ）１０９が提供される。以下に説明されるように、ユーザ１０１は、解釈候補の中から選択し且つ／あるいはユーザ自身の解釈を入力するためにＵＩ１０９と対話する。
【００３４】
例えば、以下で詳細に説明される実施形態において、画面１０４はタッチセンシティブスクリーン（タッチスクリーン）である。ＵＩ１０９は解釈候補をタッチスクリーン１０４上に提示させ、ユーザは、別の解釈が使用可能であることを示す画面１０４の領域をタップすることで解釈の中から選択することができる。ＵＩ１０９は、ユーザ１０１の入力を解釈し、それに従って表示された発話入力の解釈を更新する。
【００３５】
プロセッサ１０５は、公知の技術に従ってソフトウェアの指示の下データ上で動作を実行する従来のマイクロプロセッサであってよい。メモリ１０６は、ソフトウェアの実行中にプロセッサ１０５が使用するために、当技術分野において公知であるような構造及びアーキテクチャを有するランダムアクセスメモリであればよい。ローカル記憶装置１１０は、例えばフラッシュメモリ、磁気ハードドライブ及び／又はＣＤ−ＲＯＭ等の、デジタル形式でデータを格納する磁気記憶装置、光学記憶装置及び／又は電気記憶装置であればよい。１つの実施形態において、ローカル記憶装置１１０は、オーディオファイル及び解釈候補等、並びに本明細書において説明される動作の実行中にプロセッサ１０５により実行されるソフトウェアを格納するために使用される。
【００３６】
図１に示されたハードウェア要素の特定の配列は例示にすぎず、本発明が多くの異なる方法のうちのいずれかで構成された種々のハードウェア要素を使用して実現可能であることは、当業者には理解されよう。従って、図１に示された特定のアーキテクチャは、例示にすぎず、本発明の範囲をなんら限定することを意図するものではない。
【００３７】
次に、図２を参照すると、本発明の１つの実施形態に従ってクライアント／サーバ環境において本発明を実施するハードウェアアーキテクチャを示すブロック図が示される。そのようなアーキテクチャは、例えばサーバベースの音声認識プロセッサ１０８と組み合わせて本発明の技術を実現するために使用される。オーディオは、装置１０２において受信され、通信ネットワーク２０２を介してサーバ２０３に送信される。１つの実施形態において、ネットワーク２０２は、３Ｇネットワーク等のデータを送信できる携帯電話ネットワーク、あるいはインターネット又は他の適切なネットワークである。サーバ２０３における音声認識プロセッサ１０８は、オーディオの解釈候補を生成し、後述する技術に従って解釈候補を生成、処理及び統合する。統合された解釈候補は、画面１０４上に提示するためにネットワーク２０２を介して装置１０２に返送される。テキスト編集ＵＩ１０９は、解釈の中から選択するために解釈の提示及びユーザ入力を受け入れる仕組みに対処する。
【００３８】
１つの実施形態において、サーバ２０３は、装置１０２により収集されたオーディオストリームの解析を実行して未加工（raw）の解釈候補を生成する音声サーバ２０５において実行する音声認識部２０６と通信する。音声認識部２０６は、オーディオ入力を解釈する従来の技術を使用することができる。例えば１つの実施形態において、音声認識部２０６は、ニュアンス・コミュニケーションズ社（Nuance Communications）（マサチューセッツ州バーリントン）から入手可能なＮｕａｎｃｅ音声認識部であってもよい。あるいは、音声サーバ２０５は省略可能であり、全ての音声認識機能は、サーバ２０３、あるいは１つ以上のサーバ及び／又は他の構成要素の他の何らかの構成において実行されてもよい。
【００３９】
ネットワーク通信インタフェース２０１は、通信ネットワーク２０２を介した他の装置に対するデータの通信を容易にする電子部品である。サーバ２０３、２０５は、ネットワーク２０２を介して装置１０２と通信し且つ／又は互いに通信し、１つの実施形態において装置１０２及び／又は互いに対してリモートあるいはローカルに配置される。
【００４０】
本発明が適宜分散ソフトウェアアーキテクチャを使用して実現されうることは、当業者には理解されよう。図２に示されたクライアント／サーバアーキテクチャは例示にすぎず、ウェブベースであってもなくてもよいアーキテクチャを含む他のアーキテクチャが本発明を実現するために使用されてもよいことは、当業者には更に理解されよう。一般に、図２に示された種々の構成要素間での機能及び動作の特定の分割は例示にすぎず、本明細書において説明される動作及びステップのいずれかが構成要素の他のあらゆる適切な構成により実行されうることは、当業者には理解されよう。従って、図２に示された特定のアーキテクチャは例示にすぎず、本発明の範囲を限定することを意図するものではない。
【００４１】
次に、図３を参照すると、図２に示されたシステムと同様のシステム２００におけるデータフローを示すブロック図が示される。理解を容易にするため、システム２００のいくつかの構成要素は図３から省略される。
【００４２】
ユーザ１０１からの発話された単語を含むオーディオ３０３は、装置１０２のマイクロホン１０３により取り込まれる。オーディオプロセッサ１０７は、オーディオ３０３を、元のオーディオ３０３を表すデジタル信号であるオーディオストリーム３０５に変換する。このようにデジタル形式に変換することは、当技術分野において周知である。
【００４３】
装置１０２は、オーディオストリーム３０５をサーバ２０３に送信する。サーバ２０３における中継器３０８は、オーディオストリーム３０５を音声サーバ２０５において実行する音声認識部２０６に送信する。上述したように、そのような送信は全て、携帯電話ネットワーク、あるいは他の適切な有線通信ネットワーク又は無線通信ネットワークを介して行われうる。上述したように、音声認識部２０６は、Ｎｕａｎｃｅ音声認識部２０６であってもよい。音声認識部２０６は、オーディオストリーム３０５において見つけられた発話入力の解釈候補のリスト３０６を作成し、リスト３０６をサーバ２０３に送信する。そのような解釈候補は、以下では単に「候補」ともいう。音声認識プロセッサ１０８は、本明細書において説明される技術に従って候補の統合リスト３０７を作成し、リスト３０７を装置１０２に送信する。
【００４４】
テキスト編集ＵＩ１０９は、本明細書において説明される技術に従って画面１０４を介してリスト３０７をユーザ１０１に対して提示し、本明細書において説明されるようにユーザ入力３０４を解釈して解釈候補の中から選択する。
【００４５】
ユーザ１０１が解釈候補の中から選択すると、選択されたテキストは、表示され、格納され、送信され、及び／又はその他の処理に付されうる。例えば１つの実施形態において、選択されたテキストは、コマンドとして解釈され、装置１０２又は別の装置上である動作を実行することが可能である。あるいは、選択されたテキストは、文書又は文書の一部、電子メール又は他の形式のメッセージ、あるいはテキストの送信及び／又は格納のための他のあらゆる適切なリポジトリ又は媒体として格納されることが可能である。
【００４６】
＜動作方法＞
次に、図４Ａを参照すると、本発明の１つの実施形態に従って結果候補の統合リストを作成する音声認識プロセッサの全体的な動作を示すフローチャートが示される。１つの実施形態において、図４Ａに示されたステップは、図１又は図２の音声認識プロセッサ１０８、あるいは他の適切な構成要素又はシステムにより実行されうる。
【００４７】
音声認識部２０６から受信した結果は、例えば文として示された解釈候補のリスト３０６を含む。上述したように、これらの解釈候補は、多くの場合互いに同一の部分を含む。これらの重複部分を含む解釈候補を提示することは、ユーザ１０１を混乱させ、システムの動作をより困難にしてユーザエクスペリエンスの範囲を狭くすることになりかねない。図４Ａに示されたステップは、ユーザ１０１が意図したテキストをより簡単に選択できるように、解釈候補を統合する方法を提供する。
【００４８】
音声認識プロセッサ１０８は、音声認識部２０６からオーディオ入力の解釈候補のリスト３０６を受信する。各解釈候補、すなわち候補は多くの単語を含む。例えば各解釈候補は、文又は文のような構造である。各解釈候補は、音声認識の公知の手法により生成された発話入力の１つのとりうる解釈を示す。１つの実施形態において、音声認識プロセッサ１０８は、各解釈候補において単語（又はフレーズ）毎にオーディオストリーム内の始点及び終点を示す単語レベルのタイミングを更に受信する。そのような単語レベルのタイミングは、音声認識部２０６又は他の適切な供給源から受信されうる。別の一実施形態においては、タイミング情報は使用されない。そのような一実施形態を以下に更に詳細に説明する。
【００４９】
次に、図４Ｂを更に参照すると、本明細書において説明される技術により処理される前の単一のオーディオストリームから音声認識部２０６により作成されるような候補４１１のリスト３０６の一例が示される。各候補４１１は、単語及び／又はフレーズである多くのトークン４１２を含む。図４Ｂの例から分かるように、多くの候補４１１は互いに類似し、殆どの場合１、２語異なるだけである。ユーザ１０１が意図したものに対応する多くの同様の候補４１１をユーザ１０１が識別することは困難であるため、そのようなリストをこのような形式でユーザ１０１に対して提示することは、混乱を招く。示されるように、本発明のシステム及び方法は、統合リスト３０７を作成し、ユーザ１０１が候補の中から選択するのを支援する改善されたインタフェースを提供する。
【００５０】
図４Ｂは、１つの候補４１１を示す詳細を更に含む。タイミングコード４１３は、例えばミリ秒又は他の適切な時間単位による候補４１１における各トークン４１２の開始時刻を示す。１つの実施形態において、リスト３０６における各候補４１１は、そのトークン４１２毎にそのようなタイミングコード４１３を含む。各トークン４１２の終了時刻は、次のトークン４１２の開始時刻と等しいと仮定することができる。行における最後のトークン４１２の終了時刻は、理解を容易にするために省略されるが、いくつかの実施形態においては、それを更に記述するようにしてもよい。
【００５１】
再度図４Ａを参照すると、音声認識プロセッサ１０８は、ユーザ１０１に対して提示するための統合リスト３０７を作成するためにリスト３０６上の複数のステップを実行する。最初に、個々の単語又はフレーズ（以下、トークンという。）のグリッドが、タイミング情報を使用してリスト３０６から形成される（４０２）。次に、グリッドは、タイミング情報に基づいて、独立した列グループに分割される（４０３）。１つの実施形態において、これは、個々のトークンを２つ以上の部分に分けない最小の列を識別することで実行される。その後、各列から重複が除去される（４０４）結果、候補の統合リスト３０７が得られる。
【００５２】
１つの実施形態において、更なるステップは、実行可能であるが省略可能である。例えば１つの実施形態において、列における全てのエントリが同一のトークンで開始又は終了するかに関する判定が行われる。列における全てのエントリが同一のトークンで開始又は終了する場合、列は２つの列に分割されうる（４０５）。その後ステップ４０４は、統合リスト３０７を更に簡略化するために再度適用されうる。
【００５３】
１つの実施形態において、統合リスト３０７が依然として非常に多くの候補を含むと判定される場合、過剰な候補を除去することができる（４０６）。その後、ステップ４０４及び／又は４０５は、統合リスト３０７を更に簡略化するために再度適用されうる。
【００５４】
図４Ａに示された各ステップを以下において更に詳細に説明する。
【００５５】
＜トークンのグリッドの形成（４０２）＞
次に、図５Ａを参照すると、本発明の１つの実施形態に従って、候補４１１のリスト３０６からトークンのグリッド５０５を形成する方法を示すフローチャートが示される。図５Ａに示された方法は、図４Ａのステップ４０２に対応する。
【００５６】
各候補４１１におけるトークン４１２毎に、トークン４１２の開始時刻及び終了時刻は、音声認識部２０６又は別の供給源から受信したデータに含まれたタイミングコード４１３に基づいて判定される（５０１）。全てのトークン４１２の開始時刻及び終了時刻は、ソートされるユニークな整数の集合５０２を形成する。このソートされた集合から、候補４１１の数に等しい多くの行及びソートされた集合におけるユニークな整数５０２の数より１つ少ない多くの列を有するグリッドが作成される（５０３）。従って、グリッドにおける各セルは、開始時刻及び終了時刻により規定される。本発明の種々の図において、各行における最後のトークン４１２に対する終了時刻は、理解を容易にするために省略されるが、いくつかの実施形態において更に特定されてよい。
【００５７】
各候補４１１におけるトークン４１２毎に、トークン４１２は、セルの開始時刻から終了時刻にわたる全てのセルに挿入される（５０４）。各トークン４１２は、１つ以上の列に及ぶ。タイミングが他の候補４１１において他のトークン４１２のタイミングとオーバラップする場合、トークン４１２は多数の列に及ぶ。その結果、トークン４１２のグリッド５０５が得られる。
【００５８】
次に、図５Ｂを参照すると、図５Ａに示された方法により生成されたトークン４１２のグリッド５０５の一例が示される。グリッド５０５は、図４Ｂの１０個の候補４１１に対応する１０個の行を含む。グリッド５０５は、タイミングコード４１３から生成された１１個のユニークな整数に対応する１１個の列５１３を含む（最後の列５１３に対する終了時刻が省略されると仮定する）。
【００５９】
各行は、単一の候補４１１からのトークン４１２を含む。グリッド５０５のセルは、トークン４１２と関連付けられたタイミングコード４１３に従って行毎に満たされる。図５Ｂの例において示されるように、いくつかのトークン４１２は、タイミングコード４１３に基づいて多数の列に及ぶ。
【００６０】
＜列グループへのグリッドの分割（４０３）＞
次に、図６Ａを参照すると、本発明の１つの実施形態に従って、タイミング情報に基づいてグリッド５０５を列グループの集合に分割する方法を示すフローチャートが示される。図６Ａに示された方法は、図４Ａのステップ４０３に対応する。
【００６１】
１つの実施形態において、グリッド５０５は、個々のトークン４１２を２つ以上の部分に分けない最小の列を識別することで分割される。グリッド５０５における最初の列５１３が選択される（６０１）。選択された列５１３が既に列グループにあるかに関する判定が行われる（６０２）。選択された列５１３がまだ列グループにない場合、選択された列５１３を含む新しい列グループが形成される（６０３）。
【００６２】
現在の列５１３におけるいずれかのトークン４１２が現在の列５１３の終了時刻以後に及ぶ終了時刻を有するかに関する判定が行われる（６０４）。現在の列５１３におけるいずれかのトークン４１２が現在の列５１３の終了時刻以後に及ぶ終了時刻を有する場合、グリッド５０５における次の列５１３は、選択された列５１３を含む列グループに追加される。
【００６３】
選択された列５１３がグリッド５０５における最後の列であるかについて判定が行われる（６０９）。選択された列５１３がグリッド５０５における最後の列でない場合、次の列５１３が選択され、ステップ６０２に戻る。選択された列５１３がグリッド５０５における最後の列である場合、列グループリストが作成される（６２５）。
【００６４】
図６Ａの方法の結果は、列グループ６１５のリスト６１４である。次に、図６Ｂを更に参照すると、図６Ａに示された方法により作成された列グループ６１５のリスト６１４の一例が示される。例において、リスト６１４は８個の列グループ６１５を含む。各列グループ６１５は、単一の列５１３又は２つ以上の列５１３を含む。列グループ６１５内の各行は、１つ以上のトークン４１２を含むトークンフレーズ６１６を含む。
【００６５】
＜重複の除去（４０４）＞
次に、図７Ａを参照すると、本発明の１つの実施形態に従って、列グループ６１５のリスト６１４における重複を除去する方法を示すフローチャートが示される。図７Ａに示された方法は、図４Ａのステップ４０４に対応する。
【００６６】
最初の列グループ６１５が選択される（７０１）。選択された列グループ６１５における最初のトークンフレーズ６１６が選択される（７０２）。同一の列グループ６１５におけるいずれかの重複トークンフレーズ６１６が除去される（７０３）。
【００６７】
ステップ７０４においていずれかのトークンフレーズ６１６が選択された列グループ６１５に依然として存在する場合、選択された列グループ６１５における次のトークンフレーズ６１６が選択され（７０５）、ステップ７０３に戻る。
【００６８】
ステップ７０４においてトークンフレーズ６１６が選択された列グループ６１５に存在しない場合、ステップ７０６に進む。ステップ７０６において最後の列グループ６１５に到達した場合、方法は終了し、列グループ６１５の重複除外リスト７０８が出力される。ステップ７０６において最後の列グループ６１５に到達していない場合、次の列グループ６１５が選択され（７０７）、ステップ７０２に戻る。
【００６９】
次に、図７Ｂを参照すると、図７Ａに示された方法により生成された列グループ６１５の重複除外リスト７０８の一例が示される。ここで、各列グループ６１５はユニークなトークンフレーズ６１６のみを含む。
【００７０】
１つの実施形態において、重複除外リスト７０８は、ユーザ１０１に対して提示される解釈候補の統合リスト３０７としてテキスト編集ＵＩ１０９に提供される。テキスト編集ＵＩ１０９の動作及び統合リスト３０７の提示の詳細については後述する。
【００７１】
別の実施形態においては、後述するように、テキスト編集ＵＩ１０９に提供される前に更なる処理が重複除外リスト７０８上で実行される。
【００７２】
＜共有トークンの分離（４０５）＞
次に、図８Ｄ、図８Ｅ及び図８Ｆを参照すると、本発明の１つの実施形態に従って共有トークン４１２を分離させる一例が示される。
【００７３】
いくつかの例において、トークンフレーズ６１６が同一のタイミングコードを有さない場合でも、列グループ６１５における全てのトークンフレーズ６１６は、同一のトークン４１２で開始又は終了する。例えば図８Ｄにおいて、列グループ６１５Ａは、４つのトークンフレーズ６１６Ａ、６１６Ｂ、６１６Ｃ、６１６Ｄを含む。これらの４つのトークンフレーズの検査は、それらが全て同一のトークン４１２（単語）、すなわち「Ｃａｌｌ」で始まることを示す。従って、１つの実施形態において、列グループ６１５Ａは、２つの新しい列グループ６１５Ｄ及び６１５Ｅに分割される。列グループ６１５Ｄは、各々がトークン４１２「Ｃａｌｌ」を含むトークンフレーズ６１６Ｅ、６１６Ｆ、６１６Ｇ、６１６Ｈを含む。列グループ６１５Ｅは、各々がそれぞれトークンフレーズ６１６Ａ、６１６Ｂ、６１６Ｃ、６１６Ｄからの残りのトークン４１２を含むトークンフレーズ６１６Ｊ、６１６Ｋ、６１６Ｌ、６１６Ｍを含む。図８Ｆに示されるように、重複除外ステップ４０４は、列グループ６１５Ｄから重複を除去するように再度適用される。
【００７４】
１つの実施形態においては、そのような動作が空の選択肢を全く作成しない場合のみ、共有トークン４１２は分離される。例えば、再度簡単に図７Ｂを参照すると、第４の列グループ６１５における「ｑｕｉｅｔｌｙ」という単語が分離しうるが、この結果、ユーザ１０１が確認又は選択できない空の提案を含む列グループが得られることになる。そこで、１つの実施形態においては、共有トークン４１２はそのような状況では分離しない。
【００７５】
次に、図８Ａを参照すると、本発明の１つの実施形態に従って共有トークンを分離させる方法を示すフローチャートが示される。図８Ａに示された方法は、図４Ａのステップ４０５に対応する。
【００７６】
最初の列グループ６１５が選択される（８０１）。列グループ６１５における全てのトークンフレーズ６１６の最初に示されるあらゆるトークン４１２が分離される（８０２）（そのような分離の結果、空の選択肢が生じない限り）。列グループ６１５における全てのトークンフレーズ６１６の最後に示されるあらゆるトークン４１２が分離される（８０３）（そのような分離の結果、空の選択肢が生じない限り）。
【００７７】
ステップ８０４において最後の列グループ６１５に到達した場合、方法は終了し、列グループ６１５の更新リスト８０６が出力される。ステップ８０４において最後の列グループ６１５に到達していな場合、次の列グループ６１５が選択され（８０５）、ステップ８０２に戻る。
【００７８】
１つの実施形態において、ステップ４０４は、重複を除去するように更新リスト８０６に適用される。
【００７９】
次に、図８Ｂを参照すると、本発明の１つの実施形態に従って、列グループ６１５における全てのトークンフレーズ６１６の最初に示されるトークン４１２を分離させる方法を示すフローチャートが示される。図８Ｂに示された方法は、図８Ａのステップ８０２に対応する。
【００８０】
ステップ８０２への入力は列グループ６１５である。列グループ６１５における最初のトークンフレーズ６１６が選択される（８２２）。ステップ８２３においてトークンフレーズ６１６が１つのトークン４１２のみを含む場合、方法は終了し、出力は単一の列グループ６１５である。これは、全ての列グループ６１５が１つのトークン４１２のみを含む場合に分離が起こらないことを保証する。
【００８１】
ステップ８２３においてトークンフレーズ６１６が２つ以上のトークンを含む場合、トークンフレーズ６１６における最初のトークン４１２が前のトークンフレーズ６１６における最初のトークン４１２に一致するか又はこれが列グループ６１５における最初のトークンフレーズ６１６であるかに関する判定が行われる（８２４）。これらの条件のうちのいずれかが真である場合、ステップ８２５に進む。これらの条件が双方とも真でない場合、方法は終了し、出力は単一の列グループ６１５である。
【００８２】
ステップ８２５において、方法が列グループ６１５における最後のトークンフレーズ６１６に到達したかに関する判定が行われる。方法が列グループ６１５における最後のトークンフレーズ６１６に到達した場合、列グループ６１５は、２つの新しい列グループ６１５に分割される（８２７）。第１の新しい列グループ６１５は、各トークンフレーズ６１６からの最初のトークン４１２で満たされる（８２８）。第２の新しい列グループ６１５は、各トークンフレーズ６１６からの残りのトークン４１２で満たされる（８２９）。
【００８３】
１つの実施形態において、ステップ８２９の後、方法は、更なる分割が繰り返し実行されるように第２の新しい列グループ６１５を使用して繰り返される（８３０）。あるいは、別の実施形態において、ステップ８２９の後、新しい列グループ６１５の集合が出力される。
【００８４】
次に、図８Ｃを参照すると、本発明の１つの実施形態に従って、列グループ６１５における全てのトークンフレーズ６１６の最後に示されるトークン４１２を分離させる方法を示すフローチャートが示される。図８Ｃに示された方法は、図８Ａのステップ８０３に対応する。ステップ８３４（ステップ８２４を置換する）における比較がトークンフレーズ６１６における最後のトークン４１２と前のトークンフレーズ６１６における最後のトークン４１２との間で行われることを除いて、図８Ｃの方法は図８Ｂの方法とほぼ同一である。また、ステップ８２８、８２９及び８３０は、以下に説明するようにステップ８３８、８３９及び８４０により置換される。
【００８５】
ステップ８０３への入力は列グループ６１５である。列グループ６１５における最初のトークンフレーズ６１６が選択される（８２２）。ステップ８２３においてトークンフレーズ６１６が１つのトークン４１２のみを含む場合、方法は終了し、出力は単一の列グループ６１５である。これは、全ての列グループ６１５が１つのトークン４１２のみを含む場合に分離が起こらないことを保証する。
【００８６】
ステップ８２３においてトークンフレーズ６１６が２つ以上のトークンを含む場合、トークンフレーズ６１６における最後のトークン４１２が前のトークンフレーズ６１６における最後のトークン４１２に一致するか又はこれが列グループ６１５における最初のトークンフレーズ６１６であるかに関する判定が行われる（８３４）。これらの条件のうちのいずれかが真である場合、ステップ８２５に進む。これらの条件が双方とも真でない場合、方法は終了し、出力は単一の列グループ６１５である。
【００８７】
ステップ８２５において、方法が列グループ６１５における最後のトークンフレーズ６１６に到達したかに関する判定が行われる。方法が列グループ６１５における最後のトークンフレーズ６１６に到達した場合、列グループ６１５は、２つの新しい列グループ６１５に分割される（８２７）。第２の新しい列グループ６１５は、各トークンフレーズ６１６からの最後のトークン４１２で満たされる（８３８）。第１の新しい列グループ６１５は、各トークンフレーズ６１６からの残りのトークン４１２で満たされる（８３９）。
【００８８】
１つの実施形態において、ステップ８３９の後、方法は、更なる分割が繰り返し実行されるように第２の新しい列グループ６１５を使用して繰り返される（８４０）。あるいは、別の実施形態において、ステップ８３９の後、新しい列グループ６１５の集合が出力される。
【００８９】
＜過剰な候補の除去（４０６）＞
いくつかの例において、上述の統合ステップが実行された後でも、ユーザ１０１に対して効率的に提示するための非常に多くの候補が依然として存在する。例えばいくつかの実施形態において、候補の数に対して固定の制限が設けられる。この制限は、例えば５などの正の数である。列グループに対する候補の数がこの制限を上回る場合、過剰な候補が除去される（４０６）。他の実施形態において、このステップは省略可能である。
【００９０】
次に、図９Ａを参照すると、本発明の１つの実施形態に従って過剰な候補を除去する方法を示すフローチャートが示される。図９Ａに示された方法は、図４Ａのステップ４０６に対応する。
【００９１】
列グループ６１５の更新リスト８０６が、入力として受信される。最大の現在の列グループのサイズＳが算出される（９０１）。これは、最も大きな列グループ６１５におけるトークンフレーズ６１６の数に等しい。Ｓが所定の閾値、例えば５、を上回るかの判定が行われる（９０２）。所定の閾値は、適用可能なあらゆる要因、例えば使用可能な画面サイズにおける制限、有用性の制約及び性能等に基づいて判定される。
【００９２】
Ｓが閾値を上回らない場合、方法は終了し、統合リスト３０７は、テキスト編集ＵＩ１０９への出力として提供される。
【００９３】
Ｓが閾値を上回る場合、サイズＳの全ての列グループ６１５が、１つのトークンフレーズ６１６を除去することで縮小される（１つの実施形態においては、最後のトークンフレーズ６１６が除去されるが、別の実施形態においては、他のトークンフレーズ６１６が除去されてもよい。）。これは、最初の列グループ６１５を選択する（９０３）こと、列グループ６１５のサイズがＳに等しいかを判定する（９０４）こと、及び、列グループ６１５のサイズがＳに等しい場合に列グループ６１５から最後のトークンフレーズ６１６を除去する（９０５）ことにより実行される。ステップ９０６において最後の列グループ６１５に達していない場合、次の列グループ６１５が選択され（９０７）、ステップ９０４が繰り返される。
【００９４】
最後の列グループ６１５に達する（９０６）と、重複が除去され且つ／あるいは共有トークンが分離する（４０５）ようにステップ４０４に戻る。ステップ４０４及びステップ４０５が繰り返されると、ステップ４０６に戻り、適宜更なる候補を選択的に除去する。
【００９５】
次に、図９Ｂ〜図９Ｆを参照すると、本発明の１つの実施形態に従って、図９Ａに示された方法に従って過剰な候補を除去する一例が示される。
【００９６】
図９Ｂにおいて、列グループリスト６１４は、３つの列グループ６１５Ｆ、６１５Ｇ、６１５Ｈを含む。列グループ６１５Ｈは、６の所定の閾値を上回る１８個のトークンフレーズ６１６を含む。
【００９７】
図９Ｃにおいて、列グループ６１５Ｈの最後のトークンフレーズ６１６が除去され、１７個のトークンフレーズ６１６が残る。図９Ｄにおいて１６個のトークンフレーズ６１６が依然として存在するように、これは連続的に実行される。トークンフレーズ６１６の各除去の後、ステップ４０４及びステップ４０５は、できれば重複の除去及び共有トークンの分割を可能にするように繰り返される。
【００９８】
この例において、図９Ｅに示されるように、１２個のトークンフレーズ６１６が依然として存在すると、ステップ４０５は、列グループ６１５Ｈを２つの新しい列グループ６１５Ｊ、６１５Ｋに分割させる。図９Ｆに示されるように、トークンフレーズ６１６を更に除去する結果、ユーザに対して提示するための適度な数の選択肢が得られる。
【００９９】
１つの実施形態において、句読点及び／又は空白を処理するように更なるステップを実行してもよい。種類に依存して、句読点は、左及び／又は右の隣接列に結合されうる。「句点」（例えば、終止符、疑問符及び感嘆符）は、先行するトークン４１２と結合される。１つの実施形態において、分割が実行されないため、句点は列グループの最初に示される。他の句読点、例えばスペース、ハイフン、省略符号及び疑問符等は、所定の言語の規則に基づいて隣接するトークン４１２に結合される。
【０１００】
＜ユーザインタフェース＞
上述の統合ステップが実行されると、候補の合成リスト３０７が、画面１０４上でユーザ１０１に対して提示するためにテキスト編集ＵＩ１０９に又は他の何らかの出力装置を介して提供される。１つの実施形態において、候補の統合リスト３０７がリスト３０７をＵＩ１０９に対して使用可能にするためにサーバ２０３からクライアント１０２に電気通信ネットワークを介して送信されるように、テキスト編集ＵＩ１０９は、クライアント／サーバ環境においてクライアント装置１０２上で動作する。あるいは、例えば図１において示されたようなスタンドアロンシステムにおいて、テキスト編集ＵＩ１０９は装置１０２の構成要素上で実現される。いずれの場合も、テキスト編集ＵＩ１０９により、ユーザ１０１は入力装置１１０及び画面１０４を介して対話できる。
【０１０１】
次に、図１０を参照すると、本発明の１つの実施形態に従って、ユーザ１０１に対して候補を提示し、候補のユーザ選択を受け入れるテキスト編集ＵＩ１０９に対する動作の方法を示すフローチャートが示される。次に、図１１Ａ〜図１１Ｄを更に参照すると、テキスト編集ＵＩ１０９の動作の一例が示される。
【０１０２】
１つの実施形態において、ＵＩ１０９は、候補のデフォルト集合を提示し、選択的に起動されたポップアップメニューを介して他の候補を選択できるようにする。
【０１０３】
文１１０１は、リスト３０７において各列グループ６１５からの単一のエントリを使用して構成される（１００１）（各列グループ６１５は１つ以上の列を含む）。１つの実施形態においては各列グループ６１５の最初の行を占有するエントリが使用されるが、他の実施形態においては他のエントリが使用される。図１１Ａに示されるように、構成された文１１０１は画面１０４上に表示される（１００２）。
【０１０４】
１つの実施形態において、多数の選択肢を有する単語及び／又はフレーズは、ハイライト又はアンダーライン表示される（１００３）。そのような単語及び／又はフレーズは、２つ以上のトークンフレーズ６１６を含む列グループ６１５に対応する。従って、単一のトークンフレーズ６１６を含む列グループ６１５は強調表示されず、逆に少なくとも２つの異なるトークンフレーズ６１６を含む列グループ６１５が強調表示される。
【０１０５】
あらゆる形式のハイライト又はアンダーライン表示を使用してもよいし、かつ／あるいは、フォント、サイズ、スタイル、背景又は色等の、単語及び／又はフレーズを他の単語及び／又はフレーズから視覚的に区別する他のいかなる技術を使用してもよい。別の実施形態においては、そのような視覚的な区別は行われない。更に別の実施形態においては、ユーザ１０１が多数の選択肢を有する単語及び／又はフレーズ上にカーソルを停止させる場合にのみ、そのような視覚的に区別する要素が提示されるようにしてもよい。
【０１０６】
１つの実施形態において、例えば表示された選択肢の信頼度を表す、判定された尤度に依存して、種々の形式のハイライト又はアンダーライン表示又は他の視覚特性を使用するようにしてもよい。例えば、選択肢が使用可能であるが、表示されたデフォルト選択がいずれの選択肢よりも適切である可能性が高い場合、いくつかの単語及び／又はフレーズが、よりやわらかなハイライト効果で示される。そのような手法は、他の選択肢が使用可能であることをユーザ１０１に対して示すと同時に、表示された選択肢における信頼がより低いためにユーザ１０１の入力がより重要である単語及び／又はフレーズを強調する方法を提供する。ハイライト、アンダーライン、その他の視覚特性における差異が、例えば所定の単語及び／又はフレーズに対する選択肢の数を含む（それに限定はされない）他のあらゆる関連情報を示しうることは、当業者には理解されよう。
【０１０７】
図１１Ｂは、文１１０１の表示の一例であり、文の要素に対する選択肢が使用可能であることを示す強調表示された単語及び強調表示されたフレーズ１１０２を含む。１つの実施形態において、図１１Ｂに示されたアンダーラインは、青等の特徴的な色で示される。
【０１０８】
以下では、「強調表示された単語」という用語は、選択肢が使用可能であることを表すために何らかの特徴的な視覚特性によって表示される単語又はフレーズを示すために使用するものとする。ここでも、１つの実施形態においては、そのような視覚的な区別は行われず、その場合、「強調表示された単語」という用語は、単にその単語又はフレーズには選択肢が使用可能であることを示すものとする。
【０１０９】
１つの実施形態において、何らかの強調表示された単語１１０２がユーザ１０１により選択されると、単語又はフレーズに対する選択肢を提示するポップアップメニュー１１０３が起動される。例えば、画面１０４がタッチセンシティブである一実施形態において、ユーザ１０１が強調表示された単語１１０２をタップする（１００４）と、選択肢１１０４を含むポップアップメニュー１１０３が提示される（１００５）。別の実施形態においては、ユーザ１０１は、ポインティングデバイス、キーボード、ジョイスティック、マウス又はトラックパッド等により制御されたオンスクリーンカーソルを使用して強調表示された単語１１０２を選択することができる。１つの実施形態において、ポップアップメニュー１１０３は、ユーザが手動でテキストを入力できるようにする「タイプ（ｔｙｐｅ）．．．」エントリ１１０５を更に含む。これは、一覧表示された選択肢が,
ユーザ１０１が意図したものに対応しない場合に使用される。「ｔｙｐｅ．．．」というフレーズは例示にすぎず、ポップアップメニュー１１０３においてこのエントリを示すのにその他の適切な単語及び／又はアイコンを使用してもよい。１つの実施形態において、ユーザ１０１がポップアップメニュー１１０３からの選択を実行すると、強調表示は除去される。
【０１１０】
他の実施形態において、選択肢を入力するために他の手法が提供される。例えば１つの実施形態において、ポップアップリスト１１０３は、当該特定の単語に対する更なるオーディオ入力を受信するためのコマンドを提供することができる。従って、ユーザは、そのようなコマンドを選択し、次に間違って解釈された１つの単語を繰り返す。これにより、ユーザが文全体を繰り返す必要なく音声入力を明確にする方法を提供する。
【０１１１】
１つの実施形態において、コマンドは、強調表示されない文１１０１の部分に対してユーザが手動でテキストを入力できる（あるいは明確にできる）ように更に提供される。例えばユーザは、強調表示されもされなくても、タイプされた入力又は発話された明確化等に対してあらゆる単語を選択できる。
【０１１２】
図１１Ｃは、ユーザ１０１が文１１０１中の「ｑｕｉｅｔｌｙ」をタップしたことに応答して画面１０４上に表示されるようなポップアップメニュー１１０３の一例を示す。例において、２つの選択肢、すなわち「ｑｕｉｅｔｌｙ」１１０４Ａ及び「ｑｕｉｅｔｌｙ  ｂｕｔ」１１０４Ｂが一覧表示される。更に、「ｔｙｐｅ．．．」コマンド１１０５がポップアップリスト１１０３に更に示される。
【０１１３】
ユーザ１０１が一覧表示された選択肢１１０４のうちの１つを選択する（１００６）と、表示された文１１０１が更新される（１０１０）。
【０１１４】
図１１Ｄは、ユーザが図１１Ｃにおいて「ｑｕｉｅｔｌｙ  ｂｕｔ」の選択肢１１０４Ｂを選択した後に表示された文１１０１の一例を示す。「Ｑｕｉｅｔｌｙ」は、表示された文１１０１において「ｑｕｉｅｔｌｙ  ｂｕｔ」で置換されている。２つのフレーズは、選択肢が使用可能であることを示すように依然として強調表示される。
【０１１５】
ユーザ１０１は、例えば確定ボタンをタップするかあるいは他の何らかの動作を実行することにより、文１１０１の編集を完了したことを指示することができる。ステップ１０１１においてユーザ１０１が完了したことを指示すると、メニュー１１０３は消され（それが現在可視である場合）、方法は、入力されたテキストに対して適切な処理を全て実行する（１０１２）。例えばテキストが、装置１０２が実行する何らかの処理又はコマンドを特定する場合には、装置１０２は処理又はコマンドに進む。あるいは、テキストが送信、出力あるいは保存されるメッセージ、文書又は他の項目である場合には、適切な動作が実行される。また、１つの実施形態において、ユーザ１０１の選択は、今後のユーザ１０１の音声の認識を向上させるために、サーバ２０３及び／又は音声サーバ２０５に返送されてもよい（１０１３）。ユーザ１０１が選択を実行する都度、追加的に学習が行われるため、音声認識プロセッサ１０８及び／又は音声認識部２０６の性能が向上することになる。
【０１１６】
ユーザ１０１が選択肢を選択せず（１００６）、代わりに「ｔｙｐｅ．．．」コマンドを選択すると（１００７）、テキストカーソル（不図示）が表示され（１００８）、ユーザ１０１は、タイプによって入力を提供する機会を与えられる。そのようなタイプ入力は、物理キーボード又は仮想（タッチスクリーン）キーボードを介して、あるいは他のあらゆる適切な手段により受信される（１００９）。タイプ入力が完了すると、文１１０１の表示が更新されるステップ１０１０に進む。
【０１１７】
ステップ１００４又は１００７において、更なる入力が必要であることをユーザが示さなかった場合は、ユーザがテキストの編集を完了したかどうかの判定が行われるステップ１０１１に進む。ユーザがテキストの編集を完了すると、テキスト入力に関連した適切な動作を実行するステップ１０１２及び音声認識動作を更に改善するためにユーザ１０１の選択を返送するステップ１０１３に進む。
【０１１８】
＜変形例＞
１つの実施形態においては、上述したように、解釈候補は受信された際に既にトークン化されており、トークン毎にタイミング情報が使用可能である。別の一実施形態においては、本発明の技術は、必ずしもタイミング情報を含む必要なく解釈候補として提供されるプレーンテキスト文の集合に対して実行することができる。上述のステップ４０２の代わりに、プレーンテキスト文をトークン化しグリッドに配置するようにしてもよい。
【０１１９】
次に、図１２Ａを参照すると、本発明の１つの実施形態に従って、解釈候補４１１のリスト３０６からトークン４１２のグリッド５０５を形成する別の方法を示すフローチャートが示される。方法は、上述のステップ４０２を置換するステップの集合１２００を含む。
【０１２０】
次に、図１２Ｂ〜図１２Ｄを更に参照すると、本発明の１つの実施形態に従って、図１２Ａに示された別の方法によりトークン４１２のグリッド５０５を生成する一例が示される。
【０１２１】
解釈候補４１１はトークン４１２に分割される（１２０１）。当技術分野において公知であるように、標準的な言語別の文字列トークン化が使用される。例えば、英語の文又は文断片である解釈候補４１１の場合、候補４１１は空白文字に基づいて分裂させられる。
【０１２２】
１つの実施形態において、最長候補４１１が選択され（１２０２）、他のあらゆる候補４１１が選択されることは、当業者により理解されるだろう。図１２Ｂは、最長候補４１１Ａが太字で示されるリスト３０６の一例を示す。この例において、「最長」は、最も多くの単語を含む候補４１１を意味する。
【０１２３】
選択された候補４１１Ａに対して候補４１１毎に最も少ない追加／除去を判定するために、最小の編集距離／差分アルゴリズムが適用される（１２０３）。１つの実施形態において、このアルゴリズムは、処理及び／又はメモリの消費を減少するために、文字レベルとは対照的にトークンレベルで適用される。図１２Ｃは、最小の編集距離／差分アルゴリズムが適用されているリスト３０６の例を示す。選択された候補４１１Ａ以外の候補４１１毎に、選択された候補４１１Ａに対する変更は下線で示され、削除は角括弧で示される。
【０１２４】
他の全ての候補４１１から最小の編集距離を含む候補４１１が選択される（１２０４）。候補４１１は、最小の編集距離／差分アルゴリズムの結果を使用してグリッド５０５に形成される（１２０５）。図１２Ｄは、アルゴリズムに基づいて多数の列５１３を有するグリッド５０５の一例を示す。互いに対応するトークン４１２がグリッド５０５の同一の列において示されるように、アルゴリズムを適用することにより、空白領域が適宜グリッド５０５（例えば、「ｂｕｔ」という単語を含む列５１３）に残されることを保証する。
【０１２５】
グリッド５０５は、上述のステップ４０３への入力として使用される。図１４Ａ〜図１４Ｅの例により示されるように、任意の時刻を各列に割り当てることで（例えば、時刻０、１、２、３等）、タイミングコードを人為的に導入することができる。
【０１２６】
そのような手法により不確実性が発生する場合がある。次に、図１３Ａ〜図１３Ｃを更に参照すると、図１２Ａに示された別の方法によりトークン４１２のグリッド５０５を生成する別の例が示され、ここで不確実性が発生する。この例において、図１３Ａに示されるように、最長候補４１１Ａは、「Ｃａｌｌ  Ａｄａｍ  Ｓｈｉｒｅ  ａｔ  ｗｏｒｋ」である。図１３Ｂは、最小の編集距離／差分アルゴリズムが適用されているリスト３０６の例を示す。システムは、空のセルをマージするのに十分な情報を有さないため、「Ａｄａｍ」が「Ｃａｌｌ」と「Ｏｔｔｉｎｇｓｈｉｒｅ」のどちらとオーバラップするかが分からない。その結果、図１３Ｃに示されるようなグリッド５０５が得られる。より具体的には、新しいトークン「Ａｄａｍ」は、すぐ左の列５１３又はすぐ右の列５１３と関連付けられるべきであるかが分からないため、不確実性を発生させる。１つの実施形態において、そのような状況は、長ヒューリスティックを使用して、あるいは第１の列５１３が全て同一であると確認すること又は他のあらゆる適切な手法により解決される。
【０１２７】
別の実施形態において、図１３Ｃにおいて例示された状況は、空のセルを有する行に対して、空のセルが削除され且つ２つの隣接列５１３が互いに接触するように拡張されるように境界トークン４１２を拡張することで解決される。空のセルに対応する場所においてトークン４１２を有する行に対して、トークンは、拡張された列５１３により占有された時間帯の少なくとも一部とオーバラップする。共有トークン４１２の分割４０３、重複除去４０４及び分離４０５は、上述したように実行され、最終結果を得る。
【０１２８】
次に、図１４Ａ〜図１４Ｅを参照すると、説明した方法で境界トークン４１２を拡張する一例が示される。トークン４１２Ｂは、最小の編集距離判定により算出されたような「追加された」単語である。図１４Ａにおいて、トークン４１２Ｂが行３及び行４にないため、グリッド５０５は、これらの２つの行における空のセルを除去するように変更されている。トークン４１２Ａ及びトークン４１２Ｃは、互いに接触してトークン４１２Ｂの欠如を補填するように拡張される。行１及び行２において、トークン４１２Ｂは、行３及び行４におけるトークン４１２Ａ及び４１２Ｃにより占有された期間とオーバラップするように、２つの列に及ぶ。
【０１２９】
図１４Ｂにおいて、分割ステップ４０３が実行されており、３つの列グループ６１５Ｌ、６１５Ｍ及び６１５Ｎが得られる。列グループ６１５Ｌは４つの列５１３を含み、列グループ６１５Ｍ及び６１５Ｎはそれぞれ１つの列５１３を含む。
【０１３０】
図１４Ｃにおいて、重複の除去（４０４）が実行されているため、列グループ６１５Ｍ及び６１５Ｎはそれぞれ１つのエントリを含む。列グループ６１５Ｌは変化しない。
【０１３１】
図１４Ｄにおいて、共有トークンの分離（４０５）が実行されている。これにより、列グループ６１５Ｌは２つの列６１５Ｐ及び６１５Ｑに分割される。
【０１３２】
図１４Ｅにおいて、重複の除去（４０４）が再度実行されているため、列グループ６１５Ｐはこの時点で１つのエントリを含む。その結果、統合リスト３０７が提供される。
【０１３３】
いくつかの実現例に従って、図１５は、上述の本発明の原理に従って構成された電子装置１５００を示す機能ブロック図である。装置の機能ブロック図は、ハードウェア、ソフトウェア又はハードウェアとソフトウェアとの組合せにより実現され、本発明の原理を実行することができる。図１５に示された機能ブロック図がサブブロックに結合又は分離されて上述の本発明の原理を実現可能であることは、当業者には理解されよう。従って、本明細書における説明は、本明細書において説明される機能ブロックの考えられるあらゆる組合せや分離、あるいは更なる定義のサポートとなりうる。
【０１３４】
図１５に示されるように、電子装置１５００は、発話入力の解釈候補のリストを受信する解釈候補受信部１５０２を備える。電子装置１５００は、解釈候補受信部１５０２に結合された処理部１５０６を更に備える。いくつかの実現例において、処理部１５０６は、グリッド形成部１５０８、グリッド分割部１５１０及び重複除去部１５１２を備える。いくつかの実現例において、電子装置は、処理部１５０６に結合された出力部１５１４を更に備える。
【０１３５】
処理部１５０６は、（例えば、グリッド形成部１５０８を用いて、）受信したリストからトークンの複数の行及び複数の列に編成されるグリッドを形成し、（例えば、グリッド分割部１５１０を用いて、）タイミング情報に基づいてグリッドを各々が少なくとも１つのトークンを含む複数のトークングループを各々が含む列グループの集合に分割し、（例えば、重複除去部１５１２を用いて、）グリッドにおける重複したトークングループを検出することに応答して、重複したトークングループを除去して統合グリッドを生成する。いくつかの実現例において、出力部１５１４は、統合グリッドに基づいて出力装置に解釈候補を出力させる。いくつかの実現例において、出力部１５１４は、統合グリッドに基づいて解釈候補を出力する。
【０１３６】
いくつかの実現例において、受信したリストにおける各解釈候補は複数のトークンを含み、処理部１５０６は、（例えば、グリッド形成部１５０８を用いて、）各解釈候補におけるトークン毎に開始時刻及び終了時刻を判定し、判定した開始時刻及び終了時刻からユニークな整数の集合を形成し、多くのセルを含む各行がユニークな整数の集合におけるユニークな整数の数に対応し且つセルが列に編成される受信したリストにおいて解釈候補の数に対応する多くの行を含むグリッドを形成し、且つ各トークンをトークンの開始時刻及び終了時刻によりつながった全てのセルに挿入する。
【０１３７】
いくつかの実現例において、受信したリストにおける各解釈候補は、開始時刻及び終了時刻と関連付けられた複数のトークンを含み、グリッドの各列は、開始時刻及び終了時刻と関連付けられ、処理部１５０６は、（例えば、グリッド分割部１５１０を用いて、）グリッドにおける列毎に、まだ列グループに属していない列に応答して現在の列を含む列グループを形成し、列におけるトークン毎に列におけるいずれかのトークンが列の終了時刻以上に及ぶ終了時刻と関連付けられるかを判定し、且つ列の終了時刻以上に及ぶ列におけるあらゆるトークンに応答して現在の列を含む列グループに次の列を追加する。
【０１３８】
いくつかの実現例において、処理部１５０６は、（例えば、重複除去部１５１２を用いて、）各々が列グループの行内に示される少なくとも１つのトークンを含む複数のトークンフレーズを規定し、且つグリッドにおける列グループ毎に、いずれかのトークンフレーズが列グループ内で重複されるかを判定し且つ重複されるあらゆるトークンフレーズに応答して重複を削除する。
【０１３９】
いくつかの実現例において、処理部１５０６は、（例えば、グリッド分割部１５１０を用いて、）全てのトークンフレーズにおいて少なくとも２つのトークンを有する列グループ内のそのトークンフレーズ間で共有されるあらゆるエッジトークンに応答して、列グループをトークンフレーズにおける共有されたエッジトークンを含む第１の列グループ及び少なくとも１つの残りのトークンを含む第２の列グループに分割する。
【０１４０】
いくつかの実現例において、処理部１５０６は、（例えば、グリッド分割部１５１０を用いて、）その全てのトークンフレーズにおいて少なくとも２つのトークンを有する列グループ毎に、列グループにおける全てのトークンフレーズの最初に示されるあらゆるトークンに応答して、列グループをトークンフレーズにおける最初のトークンを含む第１の列グループ及び少なくとも１つの残りのトークンを含む第２の列グループに分割し、且つ列グループにおける全てのトークンフレーズの最後に示されるあらゆるトークンに応答して、列グループをトークンフレーズにおける最後のトークンを含む第１の列グループ及び少なくとも１つの残りのトークンを含む第２の列グループに分割する。
【０１４１】
いくつかの実現例において、処理部１５０６は、（例えば、グリッド分割部１５１０及び／又は重複除去部１５１２を用いて、）所定の閾値を上回る多くのトークンフレーズを有するあらゆる列グループに応答して、少なくとも１つのトークンフレーズを除去し、且つグリッドを分割するステップ及び重複を除去するステップを繰り返す。
【０１４２】
いくつかの実現例において、処理部１５０６は、（例えば、グリッド分割部１５１０を用いて、）その全てのトークンフレーズにおいて少なくとも２つのトークンを有する列グループ毎に、列グループにおける全てのトークンフレーズの最初に示されたあらゆるトークンに応答して、列グループをトークンフレーズにおける最初のトークンを含む第１の列グループ及び少なくとも１つの残りのトークンを含む第２の列グループに分割し、（例えば、グリッド分割部１５１０を用いて、）列グループにおける全てのトークンフレーズの最後に示されたあらゆるトークンに応答して、列グループをトークンフレーズにおける最後のトークンを含む第１の列グループ及び少なくとも１つの残りのトークンを含む第２の列グループに分割する。
【０１４３】
いくつかの実現例において、処理部１５０６は、（例えば、グリッド分割部１５１０及び／又は重複除去部１５１２を用いて、）所定の閾値を上回る多くのトークンフレーズを有するあらゆる列グループに応答して、少なくとも１つのトークンフレーズを除去し、且つグリッドを分割するステップ及び重複を除去するステップを繰り返す。
【０１４４】
いくつかの実現例において、解釈候補受信部１５０２は、各々が複数のトークンを含む複数のトークン化された解釈候補を受信し、且つトークン毎にタイミング情報を受信する。
【０１４５】
いくつかの実現例において、処理部１５０６は、（例えば、グリッド形成部１５０８を用いて、）受信したリストにおける解釈候補をトークンに分割し、解釈候補のうちの１つを選択し、選択した解釈候補に対して互いの解釈候補の差異を判定するように差分アルゴリズムを適用し、且つ差分アルゴリズムの結果に基づいてトークンのグリッドを形成する。
【０１４６】
いくつかの実現例において、出力部１５１４は、列グループ毎に、単一のトークングループを含む列グループに応答して単一のトークングループを出力装置上に表示し、且つ複数のトークングループを含む列グループに応答して複数のトークングループを表示する。
【０１４７】
いくつかの実現例において、出力部１５１４は、列グループ毎に、単一のトークングループを含む列グループに応答して単一のトークングループを出力装置上に表示し、且つ複数のトークングループを含む列グループに応答して、トークングループの最初のグループ及び最初のトークングループの代わりに列グループにおける残りのトークングループの少なくとも１つの部分集合を出力装置上に表示する。
【０１４８】
いくつかの実現例において、出力部１５１４は、複数のトークングループを含む少なくとも１つの列グループに対して、列グループからの少なくとも１つの別のトークングループを含むメニューを表示装置上に表示する。
【０１４９】
いくつかの実現例において、出力部１５１４は、列グループ毎に、単一のトークングループを含む列グループに応答して単一のトークングループを出力装置上に表示し、且つ複数のトークングループを含む列グループに応答して、単一のトークングループを含む列グループの表示と比較して視覚的に区別可能なようにトークングループの最初のグループを出力装置上に表示する。いくつかの実現例において、出力部１５１４は、表示されたトークングループにおける信頼度を示す方法でトークングループの最初のグループを表示する。いくつかの実現例において、出力部１５１４は、表示されたトークングループが発話入力の適切な解釈であるという相対尤度を示す方法でトークングループの最初のグループを表示する。
【０１５０】
いくつかの実現例において、出力部１５１４は、列グループ毎に、単一のトークングループを含む列グループに応答して単一のトークングループを出力装置上に表示し、且つ複数のトークングループを含む列グループに応答して、トークングループのうちの１つを出力装置上に表示及び強調表示する。
【０１５１】
いくつかの実現例において、電子装置は、強調表示されたトークングループと関連付けられたユーザ入力を受信する入力受信部を更に備え、出力部１５１４は、強調表示されたトークングループと関連付けられたユーザ入力に応答して、同一の列グループからの少なくとも１つの別のトークングループを含むメニューを表示装置上に表示する。いくつかの実現例において、入力受信部は、更に、メニューから別のトークングループを選択するユーザ入力を受信し、出力部１５１４は、更に、メニューから別のトークングループを選択するユーザ入力に応答して強調表示されたトークングループを別のトークングループで置換する。いくつかの実現例において、処理部１５０６は、メニューから別のトークングループを選択するユーザ入力に応答して、音声認識エンジンを訓練するために選択された別のトークングループを音声認識エンジンに提供する。
【０１５２】
いくつかの実現例に従って、図１５は、上述の本発明の原理に従って構成された電子装置１５００を示す機能ブロック図である。装置の機能ブロック図は、ハードウェア、ソフトウェア又はハードウェアとソフトウェアとの組合せにより実現され、本発明の原理を実行することができる。図１５に示された機能ブロック図がサブブロックに結合又は分離されて上述の本発明の原理を実現可能であることは、当業者には理解されよう。従って、本明細書における説明は、本明細書において説明される機能ブロックの考えられるあらゆる組合せや分離、あるいは更なる定義のサポートとなりうる。
【０１５３】
図１６に示されるように、電子装置１６００は、発話入力の解釈候補のリストを受信する解釈候補受信部１６０２を備える。統合リストは、単一のトークングループを有する少なくとも１つの列グループ及び複数のトークングループを有する少なくとも１つの列グループを含む。電子装置１６００は、解釈候補受信部１６０２に結合された出力部１６０６を更に備える。出力部１６０６は、単一のトークングループを有する列グループ毎に単一のトークングループを出力装置上に表示し、且つ複数のトークングループを有する列グループ毎に、単一のトークングループを含む列グループの表示と比較して視覚的に区別可能なようにトークングループの最初のグループを出力装置上に表示する。
【０１５４】
いくつかの実現例において、出力部１６０６は、列グループからの少なくとも１つの別のトークングループを含むメニューを出力装置上に表示する。いくつかの実現例において、視覚的に区別可能なようにトークングループの最初のグループを表示することは、表示されたトークングループを強調表示することを含む。
【０１５５】
いくつかの実現例において、電子装置１６００は、強調表示されたトークングループと関連付けられたユーザ入力を受信するように構成された入力受信部を備え、出力部１６０６は、強調表示されたトークングループと関連付けられたユーザ入力に応答して、同一の列グループからの少なくとも１つの別のトークングループを含むメニューを出力装置上に表示する。いくつかの実現例において、ユーザ入力部は、メニューから別のトークングループを選択するユーザ入力を受信し、出力部１６０６は、メニューから別のトークングループを選択するユーザ入力に応答して、強調表示されたトークングループを別のトークングループで置換する。
【０１５６】
図１７に示されるように、電子装置１７００は、発話入力の解釈候補のリストを取得する解釈候補受信部１７０２を備える。電子装置１７００は、解釈候補受信部１７０２に結合された処理部１７０６を更に備える。いくつかの実現例において、処理部１７０６は、グリッド形成部１７０８、グリッド分割部１７１０及び重複除去部１７１２を備える。いくつかの実現例において、電子装置は、処理部１７０６に結合された出力部１７１４を更に備える。
【０１５７】
処理部１７０６は、（例えば、グリッド形成部１７０８を用いて、）受信したリストからトークンの複数の行及び複数の列に編成されるグリッドを形成し、（例えば、グリッド分割部１７１０を用いて、）タイミング情報に基づいてグリッドを各々が少なくとも１つのトークンを含む複数のトークングループを各々が含む列グループの集合に分割し、そして、（例えば、重複除去部を用いて、）グリッドにおける重複したトークングループを検出することに応答して、重複したトークングループを除去して候補の統合リストを作成する。出力部１７１４は、候補の統合リストの表現をサーバからクライアントに送信する。
【０１５８】
電子装置１７００は、解釈候補受信部１７０２に結合された出力部１７０６を更に備える。出力部１７０６は、単一のトークングループを有する列グループ毎に単一のトークングループを出力装置上に表示し、且つ複数のトークングループを有する列グループ毎に、単一のトークングループを含む列グループの表示と比較して視覚的に区別可能なようにトークングループの最初のグループを出力装置上に表示する。
【０１５９】
いくつかの実現例において、電子装置１７００は、オーディオストリームの表現を受信する入力部１７１６を備える。解釈候補受信部１７０２は、オーディオストリームの表現に対して音声認識解析を実行して発話入力の解釈候補のリストを作成する。
【０１６０】
いくつかの実現例において、電子装置１７００は、（例えば、入力部１７１６を用いて、）サーバからオーディオストリームの表現を受信し、（例えば、出力部１７１４を用いて、）オーディオストリームの表現を音声認識サーバに中継し、そして、（例えば、入力部１７１６を用いて、）音声認識サーバにより作成された発話入力の解釈候補のリストを受信する。
【０１６１】
本発明は、特に考えられる実施形態に対して詳細に説明されている。本発明が他の実施形態により実施可能であることは、当業者には理解されよう。最初に、構成要素の名称、用語の大文字使用、属性、データ構造、あるいは他のあらゆるプログラミング又は構造上の面は、必須又は重要ではなく、本発明及び／又はその特徴を実現する機構は、種々の名前、形態又はプロトコルを有しうる。更にシステムは、上述したようにハードウェアとソフトウェアとの組合せを介して、あるいは全てハードウェア要素又はソフトウェア要素において実現可能である。また、特に本明細書において説明した種々のシステム構成要素間で機能性を分割することは、例示にすぎず、必須ではなく、単一のシステム構成要素により実行された機能は代わりに多数の構成要素により実行でき、多数の構成要素により実行された機能は、代わりに単一の構成要素によっても実行可能である。
【０１６２】
種々の実施形態において、本発明は、個々に又は何らかの組合せで上述の技術を実行するシステム又は方法として実施可能である。別の実施形態において、本発明は、コンピューティング装置におけるプロセッサ又は他の電子装置に上述の技術を実行させるように、非一時的なコンピュータ可読記憶媒体及び媒体上で符号化されたコンピュータプログラムコードを含むコンピュータプログラムとしても実施可能である。
【０１６３】
明細書において「１つの実施形態」又は「実施形態」を参照することは、実施形態と関連して説明された特定の機能、構造又は特徴が本発明の少なくとも１つの実施形態に含まれることを意味する。明細書の種々の箇所に「１つの実施形態において」というフレーズが示されることは、必ずしも同一の実施形態を全て参照することではない。
【０１６４】
上述のいくつかの部分は、コンピューティング装置のメモリ内でデータビットに対する動作のアルゴリズム及び記号表現に関して提示される。これらのアルゴリズム的な説明及び表現は、データ処理の技術分野の当業者の仕事の趣旨を当技術分野の他の当業者に最も効果的に伝えるためにデータ処理の技術分野の当業者により使用された手段である。アルゴリズムは、本明細書において及び一般に、所望の結果をもたらす首尾一貫した一連のステップ（命令）であると考えられる。ステップは物理量の物理的操作を必要とする。必然的ではないが一般に、これらの量は、格納、転送、結合、比較及び操作可能な電気信号、磁気信号又は光信号の形態をとる。主に一般的な使用量の理由から、時としてこれらの信号をビット、値、要素、記号、文字、用語又は数等と呼ぶことが便利である。また、一般性を損なわずに、時として物理量の物理的操作を必要とするステップのある特定の配列をモジュール又はコード装置と呼ぶことが更に便利である。
【０１６５】
しかし、これらの同様の用語の全てが適切な物理量と関連付けられ且つこれらの量に適用された便利なラベルにすぎないことを念頭に置くべきである。以下の説明から明らかであるように特に指示のない限り、明細書中、例えば「処理」、「演算」、「算出」、「表示」又は「判定」等の用語を利用する説明は、コンピュータシステムメモリ又はレジスタ、あるいは他のそのような情報の記憶装置、送信装置又は表示装置内で物理（電子）量として示されたデータを操作し且つ変換するコンピュータシステム、あるいは同様の電子コンピューティングモジュール及び／又は電子コンピューティング装置の動作及び処理を示すことが理解されよう。
【０１６６】
本発明のある特定の態様は、アルゴリズムの形式で本明細書において説明された処理のステップ及び命令を含む。尚、本発明の処理のステップ及び命令は、ソフトウェア、ファームウェア及び／又はハードウェアで具体化され、ソフトウェアで具体化される場合に種々のオペレーティングシステムにより使用された種々のプラットフォーム上に常駐するようにダウンロードされ、それから操作される。
【０１６７】
更に本発明は、本明細書において動作を実行する装置に関する。この装置は、必要な目的のために特別に構成されるか、あるいはコンピューティング装置に格納されたコンピュータプログラムにより選択的に起動又は再構成された汎用コンピューティング装置を備える。そのようなコンピュータプログラムは、例えばフロッピー（登録商標）ディスク、光ディスク、ＣＤ−ＲＯＭ、光磁気ディスク、読み出し専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、ソリッドステートドライブ、磁気カード又は光カード、特定用途向け集積回路（ＡＳＩＣ）を含むあらゆる種類のディスク、あるいは電子命令を格納するのに適しており且つ各々がコンピュータシステムバスに結合されたあらゆる種類のメディアであるがそれらに限定されない非一時的なコンピュータ可読記憶媒体に格納される。また、本明細書において参照したコンピューティング装置は、単一のプロセッサを備えるか、あるいは演算機能を向上させるために多数のプロセッサ設計を採用するアーキテクチャである。
【０１６８】
本明細書において提示されたアルゴリズム及び表示は、本質的に特定のあらゆるコンピューティング装置、仮想化システム又は他の装置に関連しない。種々の汎用システムは、本明細書において教示に従ってプログラムと共に更に使用されるか、あるいは必要な方法ステップを実行するようにより特化された装置を構成することが便利であることを証明する。種々のこれらのシステムに対して必要な構造は、本明細書において提供された説明から明らかとなるだろう。更に本発明は、特定のあらゆるプログラミング言語を参照して説明されない。種々のプログラミング言語は、本明細書において説明されたような本発明の教示を実現するために使用され、且つ特定の言語に対する上述のあらゆる参照は、本発明の使用可能性及び最適な形態を開示するために提供されることが理解されるだろう。
【０１６９】
従って、種々の実施形態において、本発明は、コンピュータシステム、コンピューティング装置又は他の電子装置、あるいは複数のそれらのあらゆる組合せを制御するソフトウェア、ハードウェア及び／又は他の要素として実現される。例えばそのような電子装置は、当技術分野において既知である技術に係るプロセッサ、入力装置（例えば、キーボード、マウス、タッチパッド、トラックパッド、ジョイスティック、トラックボール、マイク及び／又はそれらのあらゆる組合せ）、出力装置（例えば、画面及び／又はスピーカ等）、メモリ、長期記憶装置（例えば、磁気記憶装置及び／又は光学記憶装置等）、並びに／あるいはネットワーク接続性を含む。そのような電子装置は、携帯用又は非携帯用である。本発明を実現するために使用される電子装置の例には、移動電話、パーソナルデジタルアシスタント、スマートフォン、キオスク、サーバコンピュータ、企業コンピューティング装置、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、大衆消費電子装置、テレビ又はセットトップボックス等が含まれる。本発明を実現する電子装置は、例えばアップル社（Apple Inc.）（カリフォルニア州クパチーノ）から入手可能なｉＯＳ、アップル社（Apple Inc.）（カリフォルニア州クパチーノ）から入手可能なＭａｃ  ＯＳ  Ｘ、グーグル社（Google Inc.）（カリフォルニア州マウンテンビュー）から入手可能なＡｎｄｒｏｉｄ、Ｌｉｎｕｘ（登録商標）、マイクロソフト社（Microsoft Corporation）（ワシントン州レドモンド）から入手可能なＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）及び／又は装置上で使用するように構成される他のあらゆるオペレーティングシステム等のあらゆるオペレーティングシステムを使用することができる。
【０１７０】
種々の実施形態において、本発明は、分散処理環境、ネットワーク化されたコンピューティング環境又はウェブベースのコンピューティング環境において実施可能である。本発明の要素は、クライアントコンピューティング装置、サーバ、ルータ及び／あるいは他のネットワーク構成要素又は非ネットワーク構成要素上で実現されうる。いくつかの実施形態において、本発明は、いくつかの構成要素が１つ以上のクライアントコンピューティング装置上で実現され且つ他の構成要素が１つ以上のサーバ上で実現されるクライアント／サーバアーキテクチャを使用して実現される。１つの実施形態において、本発明の技術を実現する過程で、クライアントはサーバからコンテンツを要求し、サーバは要求に応答してコンテンツを返送する。ブラウザは、そのような要求及び応答を有効にし、且つユーザがそのような対話を開始及び制御し且つ提示されたコンテンツを閲覧するのに使用するユーザインタフェースを提供するクライアントコンピューティング装置においてインストールされる。
【０１７１】
本発明を実現するネットワーク構成要素のいずれか又は全ては、いくつかの実施形態において、有線又は無線、あるいはそれらのあらゆる組合せであるあらゆる適切な電子ネットワーク及びそのような通信を使用可能にするあらゆる適切なプロトコルを使用して互いに通信可能に結合される。そのようなネットワークの一例はインターネットであるが、本発明は他のネットワークを使用して実現可能である。
【０１７２】
本発明は限られた数の実施形態に関連して説明されたが、本明細書において説明されたような本発明の範囲から逸脱しない他の実施形態が考案されてもよいことは、上記の説明の利点を有する当業者により理解されるだろう。尚、本明細書において使用された言語は、主に可読性及び命令の目的のために選択されており、本発明の主題を描写又は制限するために選択されていない。従って、本発明の開示内容は、特許請求の範囲において説明される本発明の範囲を限定することを意図するのではなく、例示することを意図するものである。
【図１】
2013068952.tif 000003
【図２】
2013068952.tif 000004
【図３】
2013068952.tif 000005
【図４Ａ】
2013068952.tif 000006
【図４Ｂ】
2013068952.tif 000007
【図５Ａ】
2013068952.tif 000008
【図６Ａ】
2013068952.tif 000009
【図７Ａ】
2013068952.tif 000010
【図８Ａ】
2013068952.tif 000011
【図８Ｂ】
2013068952.tif 000012
【図８Ｃ】
2013068952.tif 000013
【図９Ａ】
2013068952.tif 000014
【図１０】
2013068952.tif 000015
【図１１Ａ】
2013068952.tif 000016
【図１１Ｂ】
2013068952.tif 000017
【図１１Ｃ】
2013068952.tif 000018
【図１１Ｄ】
2013068952.tif 000019
【図１２Ａ】
2013068952.tif 000020
【図１２Ｂ】
2013068952.tif 000021
【図１２Ｃ】
2013068952.tif 000022
【図１２Ｄ】
2013068952.tif 000023
【図１３Ａ】
2013068952.tif 000024
【図１３Ｂ】
2013068952.tif 000025
【図１３Ｃ】
2013068952.tif 000026
【図１５】
2013068952.tif 000027
【図１６】
2013068952.tif 000028
【図１７】
2013068952.tif 000029
【図５Ｂ】
2013068952.tif 000030
【図６Ｂ】
2013068952.tif 000031
【図７Ｂ】
2013068952.tif 000032
【図８Ｄ】
2013068952.tif 000033
【図８Ｅ】
2013068952.tif 000034
【図８Ｆ】
2013068952.tif 000035
【図９Ｂ】
2013068952.tif 000036
【図９Ｃ】
2013068952.tif 000037
【図９Ｄ】
2013068952.tif 000038
【図９Ｅ】
2013068952.tif 000039
【図９Ｆ】
2013068952.tif 000040
【図１４Ａ】
2013068952.tif 000041
【図１４Ｂ】
2013068952.tif 000042
【図１４Ｃ】
2013068952.tif 000043
【図１４Ｄ】
2013068952.tif 000044
【図１４Ｅ】
2013068952.tif 000045
【外国語明細書】
2013068952000001.pdf