(57)【特許請求の範囲】
【請求項１】
1つまたは複数のプロセッサ上に実装される方法であって、
ユーザにより操作される1つまたは複数のクライアント装置のうちの第1のクライアント装置の入力コンポーネントを介して、自動アシスタントによって、自由形式入力を受信するステップであって、前記自由形式入力は、特定情報の要求を含む、ステップと、
オンライン文書の汎用コーパスを検索して、前記特定情報の要求に対する1つまたは複数の候補応答の第1の組を取得するステップと、
1つまたは複数のアクティブ文書のユーザ固有のコーパスを検索して、前記特定情報の要求に対する1つまたは複数の候補応答の第2の組を取得するステップと、
前記候補応答の第1および第2の組を比較するステップと、
前記比較に基づき、前記特定情報の要求に対する所与の応答を、前記第1または第2の組から選択するステップと、
前記自動アシスタントによって、前記ユーザにより操作される前記クライアント装置のうちの1つまたは複数を介して、前記所与の応答を示す出力を提供するステップと
を含み、
前記自由形式入力に基づき、前記特定情報の要求が曖昧であると判別するステップをさらに含み、
前記1つまたは複数のアクティブ文書のユーザ固有のコーパスは、前記判別に基づいて検索される、方法。
【請求項２】
前記1つまたは複数のアクティブ文書のユーザ固有のコーパスは、前記ユーザにより操作される前記クライアント装置のうちの1つの表示装置上に現在表示されている文書を含む、請求項1に記載の方法。
【請求項３】
前記1つまたは複数のアクティブ文書のユーザ固有のコーパスは、前記ユーザと前記自動アシスタントとの間の現在の人間対コンピュータ対話のセッションの間に前記自動アシスタントが前記ユーザに情報を聞こえる形でそこから提供した文書を含む、請求項1または2に記載の方法。
【請求項４】
前記1つまたは複数のアクティブ文書のユーザ固有のコーパスは、前記ユーザがウェブブラウザを操作する現在のセッションの間に前記ユーザに対して以前提示された文書を含む、請求項1から3のいずれか一項に記載の方法。
【請求項５】
前記1つまたは複数のアクティブ文書のユーザ固有のコーパスは、エンティティを記述したウェブページを含み、
前記特定情報の要求は、前記エンティティについての特定情報の要求を含み、
前記応答のコンテンツは、前記エンティティについての前記特定情報の要求に応答するものである、請求項1から4のいずれか一項に記載の方法。
【請求項６】
前記ユーザ固有のコーパスから取得した前記1つまたは複数の候補応答の第2の組は、前記汎用コーパスから取得した前記1つまたは複数の候補応答の第1の組よりも推奨される、請求項1から5のいずれか一項に記載の方法。
【請求項７】
1つまたは複数のプロセッサ上に実装される方法であって、
ユーザにより操作される1つまたは複数のクライアント装置のうちの第1のクライアント装置の入力コンポーネントを介して、自動アシスタントによって、自由形式入力を受信するステップであって、前記自由形式入力は、特定情報の要求を含む、ステップと、
前記第1のクライアント装置にて生成された1つまたは複数の信号に基づき、前記ユーザの現在の文脈を判別するステップと、
オンライン文書の汎用コーパスを検索して、前記特定情報の要求に対する1つまたは複数の候補応答の第1の組を取得するステップと、
1つまたは複数の文書の独立した文脈固有のコーパスを検索して、前記特定情報の要求に対する1つまたは複数の候補応答の第2の組を取得するステップであって、前記文脈固有のコーパスは、前記ユーザの前記現在の文脈に基づいて識別される、ステップと、
前記候補応答の第1および第2の組を比較するステップと、
前記比較に基づき、前記特定情報の要求に対する所与の応答を、前記第1または第2の組から選択するステップと、
前記自動アシスタントによって、前記ユーザにより操作される前記クライアント装置のうちの1つまたは複数を介して、前記所与の応答を示す出力を提供するステップと
を含み、
前記自由形式入力に基づき、前記特定情報の要求が曖昧であると判別するステップをさらに含み、
前記1つまたは複数の文書の独立した文脈固有のコーパスは、前記判別に基づいて検索される、方法。
【請求項８】
前記ユーザの前記現在の文脈は、前記第1のクライアント装置により生成された位置座標に少なくとも部分的に基づいて生成される、請求項7に記載の方法。
【請求項９】
前記文書の文脈固有のコーパスは、前記位置座標から専ら識別された文書を含む、請求項8に記載の方法。
【請求項１０】
前記1つまたは複数の信号は、前記特定情報の要求を含み、
前記ユーザの前記現在の文脈は、前記特定情報の要求から識別された1つまたは複数の主題を含む、請求項7から9のいずれか一項に記載の方法。
【請求項１１】
前記文脈固有のコーパスは、前記1つまたは複数の主題に基づき選択された1つまたは複数の文書を含む、請求項10に記載の方法。
【請求項１２】
前記文脈固有のコーパスから取得した前記1つまたは複数の候補応答の第2の組は、前記汎用コーパスから取得した前記1つまたは複数の候補応答の第1の組よりも推奨される、請求項11に記載の方法。
【請求項１３】
前記1つまたは複数の文書の文脈固有のコーパスは、前記ユーザにより操作される前記クライアント装置のうちの1つの表示装置上に現在表示されている文書を含む、請求項7から12のいずれか一項に記載の方法。
【請求項１４】
前記1つまたは複数の文書の文脈固有のコーパスは、前記ユーザと前記自動アシスタントとの間の現在の人間対コンピュータ対話のセッションの間に前記自動アシスタントが前記ユーザに情報を聞こえる形でそこから提供した文書を含む、請求項7から13のいずれか一項に記載の方法。
【請求項１５】
前記1つまたは複数の文書の文脈固有のコーパスは、前記ユーザがウェブブラウザを操作する現在のセッションの間に前記ユーザに対して以前提示された文書を含む、請求項7から14のいずれか一項に記載の方法。
【請求項１６】
命令を記憶した少なくとも1つの非一時的コンピュータ可読記録媒体であって、前記命令は、1つまたは複数のプロセッサによる前記命令の実行に応じて、前記1つまたは複数のプロセッサに、
ユーザにより操作される1つまたは複数のクライアント装置のうちの第1のクライアント装置の入力コンポーネントを介して、自動アシスタントによって、自由形式入力を受信するステップであって、前記自由形式入力は、特定情報の要求を含む、ステップと、
オンライン文書の汎用コーパスを検索して、前記特定情報の要求に対する1つまたは複数の候補応答の第1の組を取得するステップと、
1つまたは複数のアクティブ文書のユーザ固有のコーパスを検索して、前記特定情報の要求に対する1つまたは複数の候補応答の第2の組を取得するステップと、
前記候補応答の第1および第2の組を比較するステップと、
前記比較に基づき、前記特定情報の要求に対する所与の応答を、前記第1または第2の組から選択するステップと、
前記自動アシスタントによって、前記ユーザにより操作される前記クライアント装置のうちの1つまたは複数を介して、前記所与の応答を示す出力を提供するステップと
を実行させ、
前記自由形式入力に基づき、前記特定情報の要求が曖昧であると判別するステップをさらに含み、
前記1つまたは複数のアクティブ文書のユーザ固有のコーパスは、前記判別に基づいて検索される、コンピュータ可読記録媒体。
【請求項１７】
前記1つまたは複数のアクティブ文書のユーザ固有のコーパスは、前記ユーザにより操作される前記クライアント装置のうちの1つの表示装置上に現在表示されている文書を含む、請求項16に記載のコンピュータ可読記録媒体。
【請求項１８】
前記1つまたは複数のアクティブ文書のユーザ固有のコーパスは、前記ユーザと前記自動アシスタントとの間の現在の人間対コンピュータ対話のセッションの間に前記自動アシスタントが前記ユーザに情報を聞こえる形でそこから提供した文書を含む、請求項16または17に記載のコンピュータ可読記録媒体。
【請求項１９】
前記1つまたは複数のアクティブ文書のユーザ固有のコーパスは、前記ユーザがウェブブラウザを操作する現在のセッションの間に前記ユーザに対して以前提示された文書を含む、請求項16から18のいずれか一項に記載のコンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
人は、本明細書では「自動アシスタント」と称する(「チャットボット」、「対話型パーソナルアシスタント」、「高機能パーソナルアシスタント(intelligent personal assistants)」、「パーソナル音声アシスタント」、「会話エージェント」などとも称する)対話型ソフトウェアアプリケーションとの人間対コンピュータ対話に従事することがある。例えば、人(自動アシスタントと対話するときには「ユーザ」と称することもある)は、テキストへと変換されて処理されることもある、発話される自然言語入力(すなわち、発言、自由形式入力)を用いて、かつ/またはテキスト(例えば、タイプされた)自然言語入力を提供することにより、コマンド、クエリ、および/または要求(本明細書では「クエリ」と総称)を提供してもよい。
【０００２】
通例、ユーザが、特定情報の要求を、従来の自動アシスタントに対して発すると(例えば、質問すると)、従来の自動アシスタントは、ユーザがウェブブラウザを用いて検索エンジンを検索するために検索を発行した場合に適用されていたものと同様の技術を採用することもあった。すなわち、文書のコーパスが応答文書のために検索され、様々な信号に基づいて応答文書がランク付けされ、1つまたは複数の最高ランクの応答文書から抽出された情報が、例えば、この情報は、例として、ユーザの質問に直接答える、応答文書からの抜粋を含む情報ボックスの中に提供されてもよい。ある種の場合、検索エンジンは、手順を進め、高ランクの応答文書に含まれた情報に基づき、自身の自然言語応答(例えば、ユーザの質問に直接答える文)を作成してもよい。いずれにせよ、ウェブブラウザ検索の文脈で、応答文書の一覧が、応答情報とともに提示されてもよい。自動アシスタントの文脈において、特に、ユーザが、独立型の対話スピーカなどのディスプレイなしの装置を用いて自動アシスタントと関わるときには、応答情報のみが提供されてもよい。
【０００３】
ある種の自動アシスタントは、最近消費されたコンテンツ/文書、ならびに/あるいは、現在のユーザと自動アシスタントとの間の人間対コンピュータ対話の会話文脈(例えば、最近のユーザの要求および/または最近の自動アシスタントの応答)に基づき、ユーザの要求の曖昧さを回避することが可能であってもよい。ユーザが自動アシスタントに対して、「ケンタッキーの州都はどこ?」という質問をしたとする。自動アシスタントは、従来の(例えば、汎用)文書コーパス(例えば、インターネット上に公開された入手可能な文書)から、応答文書を検索し、応答文書の内容に基づき、「ケンタッキーの州都はフランクフォートです。」などの応答を作成してもよい。次に、ユーザが「そこはルイビルからどのぐらい離れてる?」(How far is that from Louisville?)と質問したとする。ユーザの以前の検索および/または自動アシスタントの以前の回答に基づき、自動アシスタントは、「そこ(that)」という語の曖昧さを解決して「フランクフォート」とし、ユーザの第2の質問を、例えば、「フランクフォートはルイビルからどのくらい離れている?」という質問として作成しなおす。そして、このように再作成されたものが、標準的で独立した検索として、従来の文書コーパスに入力される。
【０００４】
自動アシスタント(およびより一般的には、検索エンジン)は、人間対コンピュータ対話の会話文脈に基づくユーザの追加要求につき、曖昧さを回避(例えば、再作成)することが可能であってもよく、再生成された追加要求は、ユーザの以前の要求に対応するために用いられたのと同じ、従来の文書コーパスから、応答文書の新しい組を検索するのにも用いられる。これらの新しい応答文書が、ユーザと自動アシスタントとの対話の会話文脈に基づき、ランク付けされたとしても、ユーザの追加の要求が、ユーザの以前の要求への応答を提供するのに用いられたのと同じ文書から抽出された情報という結果になることが保障されるわけではない。さらに、自動アシスタントは、ユーザにより現在閲覧されているかまたはそうでなければ最近消費された文書、またはユーザの現在の文脈(例えば、現在位置、アクティブな閲覧セッション、アクティブな人間対コンピュータ対話など)に関連すると判断された文書など、ユーザに対してより直接関連するかまたは「主題的」(topical)であり得る他の文書コーパスを検索することはない。
【発明の概要】
【課題を解決するための手段】
【０００５】
オンライン文書の従来の汎用コーパス以外を検索して、ユーザの要求に応じた情報を得る自動アシスタントを実装する技術について、本明細書で説明する。以下に説明するように、本技術は、自動アシスタントを実装した1つまたは複数のコンピュータ装置に対する入出力数を低減し得る。また、この技術は、1つまたは複数のコンピュータ装置、またはアシスタントにより情報が提供されると動作する他の装置により消費される電力量を低減し得る。いくつかの実装形態では、本開示の選択された側面で構成された自動アシスタントは、その検索を、1つまたは複数の「アクティブ」文書のユーザ固有のコーパスに拡張かつ/または制限してもよい。「アクティブ」文書(例えば、html/xml文書、ビデオ、歌、プレゼンテーション、pdf文書、電子メールなど)は、クライアント装置上で現在開かれている(例えば、表示された)文書と、ユーザと自動アシスタントとの間の現在の人間対コンピュータ対話のセッションの間に自動アシスタントがユーザに情報を聞こえる形でそこから提供した文書と、ユーザがウェブブラウザを操作する現在のセッションの間にユーザに以前提示された文書などを含み得る。いくつかの実装形態では、揮発メモリなどのクライアント装置のメモリ内にロードされた文書は「アクティブ」とみなし得るが、これは必須ではない。
【０００６】
追加的にまたは代替的に、本開示の選択された側面で構成された自動アシスタントは、その検索を、ユーザの現在の文脈に基づいて識別する1つまたは複数の文書の文脈固有のコーパスへと、拡張かつ/または制限し得る。ユーザの現在の文脈は、クライアント装置により生成された位置座標などの様々な信号、例えば、現在ユーザに関連する1つまたは複数のトピックを識別するために用いられ得る最近の検索活動などに基づいて判断され得る。何らかの形で重なるものの、文書の文脈固有のコーパスは、アクティブ文書のユーザ固有のコーパスとは異なる。これは、それに反する規則もないが、文脈固有のコーパスの文書が「アクティブ」であるという要件がないためである。ある種の実施形態では、ユーザ固有のコーパスおよび文脈固有のコーパスの双方は、協働して検索され得る。例えば、オンライン文書の汎用コーパスのより従来の検索と組み合わされて検索され得る。
【０００７】
いくつかの実装形態では、自動アシスタントは、アクティブ文書のユーザ固有のコーパスまたは文脈固有のコーパスから取得した応答情報を提供し、より従来の文書コーパスから取得した他の潜在的な応答情報を除外し得る。追加的にまたは代替的に、いくつかの実装形態では、自動アシスタントは、より従来の文書コーパスから取得した応答情報よりも、ユーザ/文脈固有のコーパスから取得した文書から抽出した応答情報にバイアスをかける、またはそれを推奨し得る。
【０００８】
ユーザ固有のコーパス内のアクティブ文書は、自動アシスタントにより、応答コンテンツについて、様々な方法で検査され得る。ある種の実施形態では、オンライン文書と関連づけられたユニフォームリソースロケータ(「URL」)などのネットワーク識別子が、例えば、ユーザが操作するクライアント装置により、自動アシスタントに提供され得る(以下に説明するように、いわゆる「クラウド」を集合的に形成する1つまたは複数のコンピュータシステム上に少なくとも部分的に実装され得る)。自動アシスタントは、このネットワーク識別子を、ユーザの要求も含む(例えば、特別に調整された)検索クエリの少なくとも一部として、標準的な検索エンジンに入力して、従来の文書コーパスを検索し得る。応答コンテンツを従来の文書コーパスから検索することに加えて、ネットワーク識別子は、アクティブ文書を特定するのに用いられ得る。いくつかの実装形態では、より従来の応答検索結果から抽出したコンテンツよりも、アクティブ文書から抽出した応答コンテンツにバイアスをかける、またはそれを推奨し得るが、多くの場合これは、従来の応答検索結果がユーザの要求の潜在的な曖昧さにより関連性が限定され得るために有機的に生じ得る。他の実装形態では、検索は、アクティブ文書に限定されて、従来の文書コーパスを除外し得る。
【０００９】
追加的にまたは代替的に、いくつかの実装形態では、自動アシスタントは、ユーザの要求が、適切な応答を生成するには曖昧すぎ、曖昧さを除くのに利用可能な他の信号がない状況でのみ、本明細書で説明する技術を採用し得る。例えば、ユーザが曖昧でない要求(例えば、「フランスの首都はどこ?」)を発行し、高度に適切な応答検索結果が返ってきた場合、自動アシスタントは、従来のオンライン文書の汎用コーパスから、応答情報を求めてもよい。しかし、自動アシスタントがユーザに情報の曖昧さを除くように促すことないと解決不能で曖昧な要求をユーザが発行したとする。いくつかの実装形態では、自動アシスタントは、このように促す前に、アクティブ文書または文脈固有のコーパス内の文書を検査して、ユーザの要求に応答する情報を識別しようとし得る。
【００１０】
いくつかの実装形態では、1つまたは複数のプロセッサにより実行される方法が提供され、この方法は、ユーザにより操作される1つまたは複数のクライアント装置のうちの第1のクライアント装置の入力コンポーネントを介して、自動アシスタントにより、自由形式入力を受信するステップであって、自由形式入力は、特定情報の要求を含む、ステップと、オンライン文書の汎用コーパスを検索して、特定情報の要求に対する1つまたは複数の候補応答の第1の組を取得するステップと、1つまたは複数のアクティブ文書のユーザ固有のコーパスを検索して、特定情報の要求に対する1つまたは複数の候補応答の第2の組を取得するステップと、候補応答の第1および第2の組を比較するステップと、比較に基づき、特定情報の要求に対する所与の応答を、第1または第2の組から選択するステップと、自動アシスタントにより、所与の応答を示す出力を、ユーザにより操作されるクライアント装置のうちの1つまたは複数を介して提供するステップとを含む。
【００１１】
本明細書に開示された技術におけるこれらおよび他の実装形態は、以下の特徴の1つまたは複数を、選択的に含み得る。
【００１２】
様々な実装形態では、1つまたは複数のアクティブ文書のユーザ固有のコーパスは、ユーザにより操作されるクライアント装置のうちの1つの表示装置上に現在表示されている文書を含み得る。様々な実装形態では、1つまたは複数のアクティブ文書のユーザ固有のコーパスは、ユーザと自動アシスタントとの間の人間対コンピュータ対話のセッションの間に自動アシスタントがユーザに情報を聞こえる形でそこから提供した文書を含み得る。様々な実装形態では、1つまたは複数のアクティブ文書のユーザ固有のコーパスは、ユーザがウェブブラウザを操作する現在のセッションの間に、ユーザに対して以前提示された文書を含み得る。
【００１３】
様々な実装形態では、1つまたは複数のアクティブ文書のユーザ固有のコーパスは、エンティティを記述したウェブページを含み、特定情報の要求は、エンティティについての特定情報の要求を含み、応答コンテンツは、エンティティについての特定情報の要求に応答するものである。様々な実装形態では、ユーザ固有のコーパスから取得した1つまたは複数の候補応答の第2の組は、汎用コーパスから取得した1つまたは複数の候補応答の第1の組よりも推奨され得る。様々な実装形態では、この方法は、自由形式入力に基づき、特定情報の要求が曖昧であると判別するステップをさらに含み、1つまたは複数のアクティブ文書のユーザ固有のコーパスは、判別に基づいて検索される。
【００１４】
他の側面では、一方法は、ユーザにより操作される1つまたは複数のクライアント装置のうちの第1のクライアント装置の入力コンポーネントを介して、自動アシスタントにより、自由形式入力を受信するステップであって、自由形式入力は、特定情報の要求を含む、ステップと、第1のクライアント装置にて生成された1つまたは複数の信号に基づき、ユーザの現在の文脈を判別するステップと、オンライン文書の汎用コーパスを検索して、特定情報の要求に対する1つまたは複数の候補応答の第1の組を取得するステップと、1つまたは複数の文書の独立した文脈固有のコーパスを検索して、特定情報の要求に対する1つまたは複数の候補応答の第2の組を取得するステップであって、文脈固有のコーパスは、ユーザの現在の文脈に基づいて識別される、ステップと、候補応答の第1および第2の組を比較するステップと、比較に基づき、特定情報の要求に対する所与の応答を、第1または第2の組から選択するステップと、自動アシスタントにより、ユーザにより操作されるクライアント装置のうちの1つまたは複数を介して、所与の応答を示す出力を提供するステップとを含み得る。
【００１５】
さらに、いくつかの実装形態は、1つまたは複数のコンピュータ装置の1つまたは複数のプロセッサを含み、1つまたは複数のプロセッサは、関連づけられたメモリに格納された命令を実行するように動作可能であり、命令は、上述の方法のいずれかを実行するように構成されている。また、いくつかの実装形態は、1つまたは複数のプロセッサにより、上記方法のいずれかを実行可能なコンピュータ命令を格納した1つまたは複数の非一時的コンピュータ可読記憶媒体を含む。
【００１６】
本明細書でより詳細に説明する上述の概念および追加的な概念のあらゆる組み合わせは、本明細書で開示する主題の一部であると考えられることを、理解されたい。例えば、本開示の最後にある特許請求された主題のあらゆる組み合わせは、本明細書で開示する主題の一部であると考えられる。
【図面の簡単な説明】
【００１７】
【図１】本明細書で開示する実装形態が実装され得る例示的環境のブロック図である。
【図２】様々な実装形態に応じて、開示された技術が用いられ得る例を示す図である。
【図３】様々な実装形態に応じて、開示された技術が用いられ得る例を示す図である。
【図４】様々な実装形態に応じて、開示された技術が用いられ得る例を示す図である。
【図５】様々な実装形態に応じて、開示された技術が用いられ得る例を示す図である。
【図６】様々な実装形態に応じて、開示された技術が用いられ得る例を示す図である。
【図７】本明細書で開示する実装形態による例示的方法を示すフローチャートである。
【図８】コンピュータ装置の例示的アーキテクチャを説明する図である。
【発明を実施するための形態】
【００１８】
図1を参照し、本明細書で開示される技術が実装され得る例示的環境を説明する。例示的環境は、1つまたは複数のコンピュータ装置106(簡潔明瞭のため、図1には1台のみ示す)を含む。クライアント装置106は、自動アシスタントクライアント118のインスタンスを実行し得る。自然言語プロセッサ122などの1つまたは複数のクラウドベースの自動アシスタントコンポーネント119が、1101として一般に示される1つまたは複数のローカルエリアネットワークおよび/または広域ネットワーク(例えば、インターネット)を介して、クライアント装置106に通信可能に接続した、1つまたは複数のコンピュータシステム(「クラウド」コンピュータシステムと総称する)上に、実装され得る。
【００１９】
背景技術で述べたように、自動アシスタントクライアント118のインスタンスが、1つまたは複数のクラウドベースの自動アシスタントコンポーネント119とのやりとりのために、ユーザの視点からは、ユーザが人間対コンピュータ対話に従事してもよい、自動アシスタント120の論理インスタンスを形成し得る。図1に、破線で囲んだ、このような自動アシスタント120のインスタンスを示す。このように、クライアント装置106上で実行中の自動アシスタントクライアント118に関わる各ユーザは、事実上、自動アシスタント120における自身の論理インスタンスに従事してもよいことを、理解されたい。簡単かつ簡潔のため、ここで特定のユーザに「サービス提供する(serve)」ものとして用いる「自動アシスタント」なる用語は、ユーザが操作するクライアント装置106上で実行中の自動アシスタントクライアント118と、1つまたは複数のクラウドベースの自動アシスタントコンポーネント119(複数の自動アシスタントクライアント118間で共有され得る)との組み合わせを示すことになる。
【００２０】
クライアント装置106は、例えば、1つまたは複数のデスクトップコンピュータ装置、ラップトップコンピュータ装置、タブレットコンピュータ装置、携帯電話コンピュータ装置、ユーザの車両のコンピュータ装置(例えば、車両内通信システム、車両エンターテイメントシステム、車両内ナビゲーションシステム)、独立型対話スピーカ、および/またはコンピュータ装置を備えたユーザの装着型装置(例えば、コンピュータ装置を具備したユーザの腕時計、コンピュータ装置を具備したユーザの眼鏡、仮想もしくは拡張現実コンピュータ装置)のうちの1つまたは複数を備え得る。追加および/または代替のコンピュータ装置が、提供されてもよい。
【００２１】
いくつかの実装形態では、所与のユーザは、全体として複数のコンピュータ装置の協調「エコシステム」を形成する複数のクライアントコンピュータ装置106を利用して、自動アシスタント120と通信し得る。このようないくつかの実装形態では、自動アシスタント120は、所与のユーザに対し、例えば、「サービス提供される(served)」ユーザによりアクセスが制御されるユーザ制御コンテンツ(例えば、リソース、文書など)への強化されたアクセスを自動アシスタント120に与えるものとして「サービス提供する」と考え得る。
【００２２】
クライアントコンピュータ装置106は、メッセージ交換クライアント107および上記の自動アシスタントクライアント118など、様々な異なるアプリケーションを動作させ得る。メッセージ交換クライアント107には、様々なフォームがあってもよく、フォームは、クライアントコンピュータ装置によって様々であってもよく、かつ/または、複数のフォームが、単一のクライアントコンピュータ装置106上で動作されてもよい。いくつかの実装形態では、メッセージ交換クライアント107には、ショートメッセージサービス(「SMS」)および/またはマルチメディアメッセージサービス(「MMS」)クライアント、オンラインチャットクライアント(例えば、インスタントメッセンジャ、インターネットリレーチャットすなわち「IRC」など)、ソーシャルネットワークと関連づけられたメッセージアプリケーション、自動アシスタント120との会話専用のパーソナルアシスタントメッセージサービスなどのフォームがあってもよい。いくつかの実装形態では、メッセージ交換クライアント107は、ウェブブラウザ(図示略)またはクライアントコンピュータ装置106の他のアプリケーションによりレンダリングされるウェブページまたは他のリソースを介して、実装され得る。
【００２３】
本明細書でより詳述するように、自動アシスタント120は、1人または複数のユーザとの人間対コンピュータ対話のセッションに、ユーザインターフェース入力およびクライアント装置106の出力装置を介して従事する。いくつかの実装形態では、自動アシスタント120は、クライアント装置106の1つまたは複数のユーザインターフェース入力装置を介した、ユーザによるユーザインターフェース入力に応じた、ユーザとの人間対コンピュータ対話のセッションに従事してもよい。これらの実装形態のいくつかでは、ユーザインターフェース入力は、明示的に自動アシスタント120に向けられている。例えば、メッセージ交換クライアント107は、自動アシスタント120との会話専用のパーソナルアシスタントメッセージサービスであってもよく、そのパーソナルアシスタントメッセージサービスを介して提供されたユーザインターフェース入力は、自動アシスタント120に対して自動的に提供されてもよい。また、例えば、ユーザインターフェース入力は、自動アシスタント120が起動されるべきことを示す特定のユーザインターフェース入力に基づき、メッセージ交換クライアント107内の自動アシスタント120へと明示的に向けられてもよい。例えば、特定のユーザインターフェース入力は、1つまたは複数のタイプされた文字(例えば、@AutomatedAssistant)、ハードウェアボタンおよび/もしくは仮想ボタン(例えば、タップ、ロングタップ)とのユーザのやりとり、口頭コマンド(例えば、「やあ、自動アシスタント」)、ならびに/または、他の特定のユーザインターフェース入力であってもよい。いくつかの実装形態では、自動アシスタント120は、たとえユーザインターフェース入力が自動アシスタント120へと明示的に向けられていなくとも、ユーザインターフェース入力に応じて、対話セッションに従事してもよい。例えば、自動アシスタント120は、ユーザインターフェース入力の内容を検査し、ユーザインターフェース入力に存在するある語句に応じて、かつ/または他の合図(cues)に基づいて、対話セッションに従事してもよい。
【００２４】
本明細書で用いられるように、「対話セッション」は、ユーザと自動アシスタント120との間の1つまたは複数のメッセージを、論理的に自己完結してやりとりすることを含み得る。自動アシスタント120は、セッション間の経過時間、セッション間のユーザコンテンツの変化(例えば、予定された会合などの前/間/後の場所)、ユーザと自動アシスタントとの間の対話以外のユーザとアシスタントとに介在する1つまたは複数のやりとりの検出(例えば、ユーザがしばらくの間アプリケーションを切り換え、ユーザが歩き去り、その後、独立型音声起動スピーカに戻る)、セッション間でクライアント装置をロック/スリープさせること、自動アシスタント120の1つまたは複数のインスタンスとのインターフェースとして用いられるクライアント装置の変化など、様々な信号に基づきユーザとの複数の対話セッション同士を区別し得る。
【００２５】
図1に示す各コンピュータ装置は、データおよびアプリケーションを格納する1つまたは複数のメモリ、データにアクセスしてアプリケーションを実行する1つまたは複数のプロセッサ、ならびにネットワークを介した通信を容易にする他のコンポーネントを含み得る。クライアント装置106および/または自動アシスタント120により行われる動作は、複数のコンピュータシステムに配分され得る。自動アシスタント120は、例えば、ネットワークを介して互いに接続した、1つまたは複数の位置にある1つまたは複数のコンピュータ上で稼働するコンピュータプログラムとして実装され得る。
【００２６】
上述のように、様々な実装形態にて、クライアントコンピュータ装置106は、自動アシスタントクライアント118を動作させてもよい。様々な実装形態では、自動アシスタントクライアント118は、対応する音声キャプチャ/テキストから音声(「TTS」)/音声からテキスト(「STT」)モジュール114を含み得る。他の実装形態では、1つまたは複数の音声キャプチャ/TTS/STTモジュール114が、自動アシスタントクライアント118とは別に実装されてもよい。
【００２７】
音声キャプチャ/TTS/STTモジュール114は、例えば、マイク(図示略)によりユーザの音声をキャプチャすること、キャプチャされた音声をテキストに変換すること、かつ/またはテキストを音声に変換することといった、1つまたは複数の機能を実行するように構成され得る。例えば、いくつかの実装形態では、クライアント装置106にコンピュータリソース(例えば、プロセッサのサイクル、メモリ、バッテリなど)の点で相対的に制約があるため、クライアント装置106にとってローカルな音声キャプチャ/TTS/STTモジュール114は、有限の個数の様々な発話フレーズ、特に自動アシスタント120を起動するフレーズを、テキストに変換するように構成され得る。他の音声入力は、クラウドベースの自動アシスタントコンポーネント119へ送られ得る。このコンポーネントは、クラウドベースのTTSモジュール116、および/またはクラウドベースのSTTモジュール117を含み得る。
【００２８】
STTモジュール117は、クラウドにおける実質的に制限のないリソースを活用して音声キャプチャ/TTS/STTモジュール114によりキャプチャされた音声データを、テキストに変換するようにするように構成され得る(そして、テキストは、自然言語プロセッサ122へと供給され得る)。TTSモジュール116は、実質的に限界のないクラウドのリソースを活用して、文字情報(例えば、自動アシスタント120により作成された自然言語応答)を、コンピュータ生成音声出力に変換するように、構成され得る。いくつかの実装形態では、TTSモジュール116は、コンピュータ生成音声出力をクライアント装置106に提供して、例えば、1つまたは複数のスピーカを用いて直接出力してもよい。他の実装形態では、自動アシスタント120により生成された文字情報(例えば、自然言語応答)は、音声キャプチャ/TTS/STTモジュール114に対して提供されて、このモジュールが、文字情報を、ローカル出力であるコンピュータ生成音声に変換してもよい。
【００２９】
自動アシスタント120(および、特に、クラウドベースの自動アシスタントコンポーネント119)は、自然言語プロセッサ122と、上述のTTSモジュール116と、上述のSTTモジュール117と、いわゆる「コーパス選択エンジン」138と、図1には示されていない他のコンポーネントとを、備えていてもよい。いくつかの実装形態では、1つまたは複数のエンジンおよび/または自動アシスタント120のモジュールは、省略され、組み合わされ、かつ/または自動アシスタント120から独立したコンポーネント内に実装されてもよい。例えば、コーパス選択エンジンは、自動アシスタント120から独立して実装されてもよい。
【００３０】
いくつかの実装形態では、自動アシスタント120は、自動アシスタント120との人間対コンピュータ対話のセッションにて、クライアント装置106により生成された様々な入力に応じて、応答コンテンツを生成する。自動アシスタント120は、対話セッションの一部としてユーザに提示するために、応答コンテンツを(例えば、ユーザのクライアント装置から独立している場合、1つまたは複数のネットワークを介して)提供し得る。例えば、自動アシスタント120は、クライアント装置106を介して提供される自由形式の自然言語入力に応じて、応答コンテンツを生成し得る。本明細書で用いられるように、自由形式入力は、ユーザにより作成される入力であり、ユーザによる選択用提示される選択肢群に制約されることのない入力である。
【００３１】
自動アシスタント120の自然言語プロセッサ122は、クライアント装置106にて生成された自然言語入力を処理し、自動アシスタント120の1つまたは複数のコンポーネントにより、ユーザのために注釈付出力を生成してもよい。例えば、自然言語プロセッサ122は、ユーザにより、クライアント装置106の1つまたは複数のユーザインターフェース入力装置を介して生成された、自然言語の自由形式入力を処理し得る。生成された注釈付出力は、自然言語入力の1つまたは複数の注釈を含み、自然言語入力の語句の1つまたは複数(例えば、全て)を含むこともある。
【００３２】
いくつかの実装形態では、自然言語プロセッサ122は、自然言語入力における様々な種類の文法情報を特定するとともに注記するように構成されている。例えば、自然言語プロセッサ122は、語句に、その文法的役割を注記する品詞タグ付け部(part of speech tagger)を、備えていてもよい。例えば、品詞タグ付け部は、各語句に、その品詞、例えば「名詞」、「動詞」、「形容詞」、「代名詞」などを、タグ付けし得る。また、例えば、いくつかの実装形態では、自然言語プロセッサ122は、自然言語入力における語句間の構文関係を判別するように構成された依存性パーサ(図示略)を、追加的にかつ/または代替的に備えていてもよい。例えば、依存性パーサは、どの語句が、他の語句、文の主語および動詞など(例えば、解析木)を修飾しているのかを判断し得るものであり、このような依存性の注釈を作成し得る。
【００３３】
いくつかの実装形態では、自然言語プロセッサ122は、人(例えば、文学上の登場人物、著名人、公人など)、組織、場所(実在および仮想)への参照など、1つまたは複数のセグメントにおけるエンティティの参照に注記するように構成されたエンティティタグ付け部(図示略)を、追加的にかつ/または代替的に備えていてもよい。いくつかの実装形態では、エンティティについてのデータは、ナレッジグラフ(図示略)などの1つまたは複数のデータベース内に保存され得る。いくつかの実装形態では、ナレッジグラフは、既知のエンティティ(および、ある種の場合には、エンティティの属性)を示すノードとともに、ノードを接続してエンティティ間の関係を表すエッジを含み得る。例えば、「バナナ」ノードは、「果物」ノードに対して(例えば、子として)接続し、これが(例えば、子として)「生産(produce)」および/または「食品」ノードに接続し得る。他の例では、「仮想カフェ」と称するレストランが、そのアドレス、提供される食品の種類、時間、連絡先情報などの属性をも含むノードにより表され得る。「仮想カフェ」ノードは、いくつかの実装形態では、エッジ(例えば、子と親との関係を表す)により、「レストラン」ノード、「ビジネス」ノード、レストランが位置する市および/または州を表すノードなどの1つまたは複数のノードに接続し得る。
【００３４】
自然言語プロセッサ122のエンティティタグ付け部は、高レベルの精度で(例えば、人などのエンティティクラスへの全ての参照の識別を可能にするための)、かつ/または低レベルの精度で(例えば、特定の人物などの特定のエンティティへの全ての参照の識別を可能にするための)、エンティティへの参照に注記し得る。エンティティタグ付け部は、自然言語入力のコンテンツに依存して、特定のエンティティを解決し、かつ/または、任意選択でナレッジグラフまたは他のエンティティデータベースと通信して、特定のエンティティを解決することもある。
【００３５】
いくつかの実装形態では、自然言語プロセッサ122は、1つまたは複数の文脈的合図(contextual cues)に基づき、同一のエンティティへの参照をグループ化、すなわち「クラスタリング」するように構成された同一指示リゾルバ(coreference resolver)(図示略)を、追加的にかつ/または代替的に備えていてもよい。例えば、同一指示は、自然言語入力「私は、この前そこで食べたとき、仮想カフェが気に入った。」における語句「そこ(there)」を「仮想カフェ」に解決するために利用され得る。
【００３６】
いくつかの実装形態では、自然言語プロセッサ122の1つまたは複数のコンポーネントは、自然言語プロセッサ122の1つまたは複数のコンポーネントからの注釈に依存し得る。例えば、いくつかの実装形態では、指名されたエンティティタグ付け部は、特定のエンティティへの全ての言及について注釈することにつき、同一指示リゾルバおよび/または依存性パーサからの注釈に依存し得る。また、例えば、いくつかの実装形態では、同一指示リゾルバは、同一のエンティティへの参照をクラスタリングする際の依存性パーサからの注釈に依存し得る。いくつかの実装形態では、特定の自然言語入力を処理する際、自然言語プロセッサ122の1つまたは複数のコンポーネントは、関連する従来の入力および/または特定の自然言語入力の外部の関連するデータを用いて、1つまたは複数の注釈を判断し得る。
【００３７】
上述のように、様々な実施形態では、自動アシスタント120を、オンライン文書の従来の汎用コーパス以外を検索して、ユーザの要求に応じた情報を得るように実装する技術について、本明細書で説明する。図1では、自動アシスタント120(より具体的には、クラウドベースの自動アシスタントのコンポーネント119)は、1102として一般に示される1つまたは複数のネットワーク(例えば、インターネット)を介して、オンライン文書の1つまたは複数の汎用コーパス126と、ネットワーク通信している。オンライン文書の汎用コーパス126は、従来の検索エンジンにより検索可能な、かつ/または様々な従来技術を用いてインデックス付けされる、オンライン文書の従来のデータ格納またはインデックスであってもよい。
【００３８】
背景技術で述べたように、自動アシスタント120は、ユーザの要求に応じ、汎用コーパス126を検索して特定情報を得る能力があってもよい。例えば、ユーザは、「ドイツの首都は」と聞いてもよい。自動アシスタント120は、この検索を、(元の形式でまたは再作成して)検索エンジン(図示略)へと送り得る。そして、検索エンジンは、汎用コーパス126を検索して、応答文書を得る。多くの場合、検索エンジン(または自動アシスタント120、または他のコンポーネント)は、ユーザの質問に応じ、「ベルリン」市などとして直接応答する1つまたは複数の応答文書から、情報を抽出し得る。ある種の場合、自動アシスタント120または他のコンポーネント(例えば、検索エンジン)は、抽出した情報を、「ベルリンはドイツの首都です。」というようにユーザに出力する完全な文として作成し得る。
【００３９】
上記の従来の検索に加えるかまたはその代わりに、本明細書に説明する技術は、他の潜在的により関連した(または「主題的」)文書のコーパスを検索して、応答情報を取得可能である。そのようにして、ユーザに曖昧さを除去するように促すことなく、曖昧なユーザの質問に応答しやすくなる。そして、これにより、質問に答えるにはアシスタントに対する1つまたは複数の電子装置を介した追加の出力および追加の入力が必要なインスタンス数が、減少する。このように、アシスタントが質問に応答するための全体の時間は減少し、1つまたは複数の電子装置が消費する電力量も減少する。これは少なくとも、1つまたは複数の機器からの入出力数が減ることは、スピーカおよび装置の他のコンポーネントが消費する電力がより少なくなることを意味する。これにより、潜在的には、装置に対して著しく良い影響があり、特に、装置が電池電力に依存する場合にはそうである。追加的にまたは代替的に、ユーザは、汎用コーパス126だけを検索したときに得られるはずのものよりも直接的にポイントが絞れているか、または関連した(もしくは「主題的」)応答情報を受信し得る。様々な実施形態では、このような代替的なコーパスは、例えば、コーパス選択エンジン138により、必要に応じて、例えば、ユーザが要求を入力するとき、ユーザと自動アシスタント120との人間対コンピュータ対話のセッションの開始時などに、生成し得る。他の実装形態では、これらの代替的コーパスは、ユーザおよび/またはクライアント装置106の現在の文脈/状態を反映するように定期的に維持かつ更新され得る。いくつかの実装形態では、代替的コーパスは、一時的に、例えば、必要に応じて生成され、そして、これ以上必要でなくなった(例えば、ユーザと自動アシスタント120との人間対コンピュータ対話のセッションが完了)場合に廃棄されてもよい。
【００４０】
例えば、いくつかの実装形態では、コーパス選択エンジン138は、汎用コーパス126よりも任意の所与の時点でのユーザにとってより主題となる文書の代替的コーパスを、生成かつ/または維持するように構成され得る。図1では、ユーザ固有のコーパス128は、例えば、コーパス選択エンジン138により生成/維持され、例えば、いわゆる「アクティブ」文書104を含み得る。上述のように、「アクティブ」文書104は、現在クライアント装置106(または、クライアント装置106を含むクライアント装置の協調エコシステムの他のクライアント装置)上で開かれている(例えば、表示されている)文書(例えば、ウェブページ、ワードプロセッサ文書、pdf文書、動画、音楽ファイル、電子メールなど)、ユーザと自動アシスタント120との現在の人間対コンピュータ対話のセッション(クライアント装置の協調エコシステムの任意のクライアント装置、例えば、クライアント装置106について)の間に自動アシスタント120がユーザに情報を聞こえる形でそこから提供した文書、ユーザがクライアント装置106のウェブブラウザを操作する現在のセッションにてユーザに対して提供された文書などを含み得る。いくつかの実装形態では、クライアント装置106(または、協調エコシステムの他のクライアント装置)のメモリ(例えば、揮発メモリ)にロードされた文書が、「アクティブ」とみなされ得る。これは必要でないとしても、「アクティブ」文書がコンピュータシステムにより特定可能な便利かつ効率的な方法である。いくつかの実装形態では、文書が開かれているソフトウェアアプリケーションが背景で稼働しているとしても、文書はアクティブとみなされ得る。
【００４１】
一般的に、アクティブ文書104は、ユーザに現在関連する情報を含むことが比較的かなり多い。これは、ユーザが、クライアント装置の協調エコシステムにおける1つまたは複数のクライアント装置を開いているか、または直近に操作して、(例えば、メタデータとして)文書内に含まれるかまたは関連した情報を消費したためである。このように、アクティブ文書104のユーザ固有のコーパスを検索に供することにより、自動アシスタント120に提示したユーザの質問は、これらの関連するであろう文書を検索するのに用いられ、さらなる応答情報、特に、特定情報についてのユーザの要求を、潜在的に取得し得る。アクティブ文書104が、クライアント装置106と統合されて図1に示されているものの、これは限定を意味しない。様々な実装形態では、ユニフォームリソースロケータ(「URL」)などのアクティブ文書の識別子は、クライアント装置106に格納された唯一の情報であることがある。このようなある種の実施形態では、クライアント装置106は、コーパス選択エンジン138が検索のために文書を取得するように、URLをコーパス選択エンジン138に提供し得る。追加的にまたは代替的に、様々な実装形態では、アクティブ文書(またはその識別子)は、例えば、ユーザが様々な文書から情報を消費すると更新されるクラウドベースのユーザプロファイルの一部として、クライアント装置106から独立して維持され得る。
【００４２】
例えば、記事の文章を含むウェブページを表示するウェブブラウザ(図示略)を通して、ユーザが特定のバスケットボールチームについての記事を読んでいるとする。ユーザが、「前回、彼らがチャンピオンになったのはいつ?」と、自動アシスタントに質問する。文脈がなければ、自動アシスタント120は、「誰についてですか?」などの質問に応答するために、ユーザから、曖昧さ回避情報を求める必要が生じてしまう。しかし、開示された技術を用いて、自動アシスタント120は、例えば、コーパス選択エンジン138により、ユーザ固有のコーパス128の一部であるアクティブ文書としてユーザに閲覧されている現在のウェブページを識別し得る。そして、自動アシスタント120は、現在表示されているウェブページを含むユーザ固有のコーパス128を検索(または他のコンポーネントに検索を要求)して、文書そのもの(または、おそらく、アクティブ文書によりリンクした他の文書)が、バスケットボールチームが2012年のチャンピオンシップに最後に勝ったことを示すと判断し得る。そして、自動アシスタント120は、ユーザにこの情報を、例えば、記事の文章の上に重ねて、音声出力として、などで、提供し得る。
【００４３】
いくつかの実装形態では、コーパス選択エンジン138は、追加的にまたは代替的に、現在のユーザの文脈に基づいて識別された文書130の1つまたは複数の文脈固有のコーパスを、生成かつ/または維持し得る。ユーザの現在のコンテンツは、クライアント装置106により生成された位置座標105などの様々な信号、例えば、現在ユーザに関連する1つまたは複数のトピックを識別するために用いられ得る最近の検索活動103などに基づいて判断され得る。一旦、ユーザの文脈が判別されると、これは、ユーザの現在の文脈に適切となり得る、1つまたは複数の文書(アクティブ文書104であってもそうでなくともよい)を識別するために用いられ得る。
【００４４】
例えば、クライアント装置106から取得した位置座標105が、ユーザが特定の店舗にいることを示し、ユーザが自動アシスタント120に「彼らは、丸のこを持っている?」と尋ねたとする。文脈がなければ、自動アシスタント120は、「『彼ら』は何を意味する?」などの質問に応答するために、ユーザから、曖昧さ回避情報を求める必要が生じてしまう。しかし、開示された技術を用いて、自動アシスタント120は、例えば、コーパス選択エンジン138により、ユーザの現在の位置座標105を判別し、特定の店舗とマッチングし得る。これにより、コーパス選択エンジン138は、文脈固有のコーパス130を、例えば、特定の店舗と関連づけられたウェブページを含めるように生成(例えば、更新)することが可能となる。特に、ユーザは、店舗のウェブページを見ていたり、最近見に行ったりしている必要はない。すなわち、店舗のウェブページは、アクティブ文書104である必要はない。そして、自動アシスタント120は、店舗が丸のこを持っているのかいないのかを判断するための店舗のウェブページを含む文脈固有のコーパス130を検索(または他のコンポーネントに検索を要求)し得る。
【００４５】
何らかの形で重なるものの、文脈固有のコーパス130は、アクティブ文書104のユーザ固有のコーパス128とは異なる。これは、それに反する規則もないが、文脈固有のコーパス130の文書が「アクティブ」という要件がないためである。ある種の実施形態では、ユーザ固有のコーパス(128)および文脈固有のコーパス(130)の双方は、協働して検索され得る。例えば、オンライン文書の汎用コーパス(126)のより従来の検索と組み合わされて検索され得る。様々な実装形態では、ユーザ固有のコーパス128のアクティブ文書104から、かつ/または文脈固有のコーパス130から抽出された応答情報は、汎用コーパス126から取得された応答情報と並行して、その代わりにかつ/またはそれより推奨されて、提示されてもよい。いくつかの実装形態では、各コーパスからの結果が比較され、例えば、ランク付けされ、由来に関わらず、最高ランクの結果が、応答情報をユーザに提供するのに用いられ得る。コーパス128、130内の文書は、特定の時点にてユーザにとってより主題となりそうであるため、コーパス128/130から取得した応答が、汎用コーパス126から取得された応答よりも高くランク付けされやすい(しかし、そのように保障されているわけではなく、必須でもない)。
【００４６】
図2に、タブレットコンピュータまたはスマートフォンの形態でのクライアント装置206の例を示す。図2のクライアント装置206は、タッチスクリーン240と、ユーザが自由形式入力(テキストまたは音声形式で)を自動アシスタント120(図2では図示略)に提供し得る入力欄244とを含む。他の実装形態では、ユーザは、ソフトキーなどの1つまたは複数の入力コンポーネントを作動することにより、またはジェスチャをすることにより、自動アシスタント120(例えば、入力欄244を提示することを含む)を起動し得る。タッチスクリーン240に現在表示されているものは、フェイクカメラ社(Fake Camera Corporation)による仮想モデル123456789のカメラと関連づけられたウェブページまたは他の文書(例えば、PDF、私的な形式のテキスト文書など)である。光学ズーム機能、交換レンズの数、および高解像度(「HD」)モードなど、カメラについて様々な情報が提示される。同様に図示されているのは、「詳細技術仕様」、「ユーザレビュー」および「第三者レビュー」のための展開可能要素である。展開可能要素を選択(例えば、クリック)することにより、選択された展開可能要素と関連づけられた隠れた情報が、例えば、テキストの「展開」として現れ得る。いくつかの実装形態では、隠れた情報は、ウェブページに含まれ得るが、JavaScriptなどの様々な技術を用いて隠されていてもよい。
【００４７】
ユーザが、特定の技術の詳細、特定のユーザレビューなど、カメラについてさらに情報を取得したいと望むと、ユーザは、展開可能要素を操作して、隠れたテキストを現わすことができる。そして、ユーザは、現れたテキストを読んで、所望の情報を手動で発見することができる。しかし、本開示の選択された側面で構成された自動アシスタント120は、このタスクを大幅に単純化することができ、例えば、ユーザにより必要な情報を発見するために要求された入力数を減少させる。これにより、入力を提供するための制限された機能にてユーザを補助することができる(例えば、運転中、身体障碍などのユーザ)。身体が不自由なユーザのためのこの利点は、コンピュータシステムに対する入出力数を減少させることと関連づけられた、既に上述した他の効果とともに生じ得る。
【００４８】
図3に、自動アシスタント120が、図2のカメラのウェブページ内の特定情報に迅速にたどり着くために、ユーザによりどのように動作させられ得るかについての例を示す。図3では、ユーザ(図3の「あなた」)は、例えば、特定情報の要求を含む入力欄244により、自動アシスタント120に対して入力を提供した。「課金はいつですか?」このような質問が、文脈なしで他と関わらず入力されると、自動アシスタント120は、ユーザから曖昧さ回避情報を取得する必要があり得る。しかし、ユーザは、現在、クライアント装置206上でカメラのウェブページを開いている。様々な実装形態では、カメラのウェブページは、例えば、コーパス選択エンジン138により、(少なくとも一時的に)ユーザ固有のコーパス128内に含まれるべき(または含まれた)アクティブ文書として、識別され得る(またはされた)。
【００４９】
したがって、ユーザの検索に応じて、自動アシスタント120は、汎用コーパス126に加えてまたはその代わりに、ユーザ固有のコーパス128を検索して、ユーザの質問に応答する情報を得ることができる。ユーザ固有のコーパス128が、少なくとも一時的に、カメラのウェブページを含むため、カメラのウェブページは検索され得る。ウェブページに含まれた隠れたテキスト(当初はユーザに見えないが、通例、隠れたテキストは、内在するHTML/XML文書内に含まれることになる)が検索されて、カメラの充電時間を示す情報を発見し得る。その情報は、必要であれば(情報が既に完全な文に含まれていれば、必須ではない)再作成され得るものであり、図3に示すように、自動アシスタント(図3内の「AA」)によりユーザに提供される。「充電時間は2時間として示されています。」いくつかの実装形態では、自動アシスタント120は、ユーザが回答を確認した場合に、ハイパーリンク(「製品仕様」)などの追加情報を、充電時間が含まれたカメラのウェブページ内の位置へ提供する。
【００５０】
図3では、ユーザと自動アシスタント120との間の人間対コンピュータ対話は、カメラのウェブページに重ねられた吹き出し内に含まれる。しかしながら、これは限定を意味しない。様々な実装形態では、特に、ユーザがクエリを自動アシスタント120に音声で提供するものでは、自動アシスタント120は、その応答を音声で提供し得る。このような場合、カメラのウェブページ上に吹き出しが重ねられない。また、ユーザの質問が図3のウェブページ上に重ねられ、他の実装形態では、ユーザの質問は、視覚的に示されてもよく示されなくともよい。例えば、自動アシスタント120が、その応答を視覚的に提供したとしても、カメラのウェブページの多くが見えたままとなるようにする。図3の例(そして、ここでの他の例)には、ユーザの最後の質問に応じて、テキストのみが提供されるものの、これは限定を意味しない。様々な実装形態では、画像、音声、ビデオクリップなど、他の種類の情報が、代替的なコーパス内の文書から抽出され得る。
【００５１】
図4に、ここに説明する技術が実装された他の例を示す。図4では、タブレットまたはスマートフォンの形態をとる他のクライアント装置406が再び示されている。しかしながら、これは限定を意味せず、ここに説明する技術は、様々な異なるクライアント装置の種類を用いて実装され、その種類のいくつかは上述されている。クライアント装置406は、図2〜図3のクライアント装置206と同様のコンポーネントを含み得る。
【００５２】
図4では、ユーザは、特に文書を見るようには、クライアント装置406を操作していない。その代わりに、ユーザ(図4の「あなた」)は、自動アシスタント120との人間対コンピュータ対話のセッションに従事する。ユーザは、「このあたりで、最高の中華はどこで見つかりますか?」と聞くことにより開始する。自動アシスタント(図4での「AA」)120は、例えば、位置座標105に基づき、ユーザの場所を判別し、例えば、汎用コーパス126により検索エンジンを介して、従来の検索を行い、地域の中華レストラン(例えば、5〜10マイルなど)を決定し得る。このような結果は、例えば、検索エンジンにより、または自動アシスタント120により、ユーザのランク付けにより、ランク付けされ、そして、最高ランクの結果からの情報が、以下の文の後に自動アシスタント120により提示され得る。「ここが、この地域の最高ランクの中華レストランです。」いくつかの実装形態では、自動アシスタント120は、例えば、コーパス選択エンジン138により、1つまたは複数の主題を、「レストラン」、「中華レストラン」、「アジアレストラン」など、このやりとりの際に識別し得る。このような識別された手段に基づき、コーパス選択エンジン138は、文脈固有のコーパス130を生成かつ/または更新して、レストランレビュー、ユーザレビュー(例えば、レストラン評価ウェブサイトに含められる)などのこれらの主題に関する文書を含めてもよい。
【００５３】
次に、ユーザは「昼食に開店している?」と聞く。ここで説明した例の少なくともいくつかで、(例えば、文脈なく)単独でなされたこの要求は、自動アシスタント120が、追加の曖昧さ回避情報をユーザから得ることなく取り組むには、曖昧すぎることになり得る。しかし、ここに説明した技術を用いて、自動アシスタント120は、例えば、コーパス選択エンジン138により、ユーザの場所に基づき、文脈固有のコーパス130を生成(または更新)して、レストラン(ユーザが以前訪れている必要はない)と関連づけられたウェブページなどの文書を含めてもよい。レストランのウェブページは、現在開いていることを示し得る。これらの時間と矛盾する文脈固有のコーパス130の他の文書がなければ、自動アシスタント120は、「はい、現在開いています。」と応答することもある。
【００５４】
しかし、レストランのウェブページが古いものであったとする。レストランは、ここ数日/数週間、リフォームのために開いておらず、その事実が、レストランのウェブページに反映されていないものとする。いくつかの実装形態では、自動アシスタント120(または、自動アシスタント120の代わりの他のコンポーネント)は、レストランのウェブページに加えて、文脈に基づくコーパス130内の他の文書を検索し、より最新の情報を取得し得る。例えば、図4では、自動アシスタント120は、特定のレストランレビューウェブサイト上の複数のレビューに基づき、そのレストランが現在工事のために閉まっていると判断する。したがって、自動アシスタント120は、「そのウェブサイトには開店しているとありますが、<ウェブサイト>上の複数のレビューによると、工事のために一時的に閉まっています。」と答える。いくつかの実装形態では、文脈固有のコーパス130から抽出された情報(例えば、レビュー)は、汎用コーパス126内の文書から抽出された情報よりも、推奨される/バイアスがかけられることになり、ユーザは、一時的に閉まっているレストランについて適切に知らせられやすい。一方、レビューは、汎用コーパス126の従来の検索の一部として示され、レビューから抽出された情報は、重くは考慮されていなくともよく、このように、ユーザは、より最新の情報を提供されていなくともよい。これらの利点は、ユーザだけでなく、さらに/代替的に、例えば、文脈固有のコーパスから抽出された情報に反応する自動装置または他の装置により、理解され得る。例えば、特定の種類の製品を収集かつ/または配送するタスクが割り当てられた自動車両が、個々のレストランまたは店舗などの特定の施設が開いているか閉じているか、より正確に判別可能であってもよい。この場合、開いているか、あるいはそうでないか、例えば一時的に閉じているかが既知のレストランおよび/または店舗に、直接進行可能であるため、自動車両の運行距離および運行時間が、短縮され得る。
【００５５】
図5に、ユーザ501とクライアント装置506との間の人間対コンピュータ対話の際に実装され、本明細書に説明した技術の他の例を示す。例えば、クライアント装置506上のマイク(図示略)により検出された音声入力を提供することにより、ユーザ501が自動アシスタント120と音声で対話可能な独立型対話スピーカの形態をとる。クライアント装置506は、1つまたは複数のスピーカ(図示略)を通して音声出力を提供する。この例では、ユーザ501は、「ティラミスはどうやって作る?」と聞く。自動アシスタント120(図5には示していない。図1を参照)は、ユーザの質問に基づき、検索(または、検索エンジンに、検索を行うように要求する)する。この検索により、例えば汎用コーパス126内で、ティラミスを作るための手順ごとのレシピを含んだウェブページが特定される。自動アシスタント120は、材料および手順を、ウェブページから抽出し、これらを音声でユーザ501に提供する。
【００５６】
そして、ユーザ501は、「待ってもう一度、卵いくつ?」と聞く。この追加質問は、従来の自動アシスタントにとっては、文脈の追加なしに直接応答するには、曖昧すぎる。このように、従来の自動アシスタントは、ユーザに、曖昧さ回避情報を促す必要があった(例えば、「すみません。ご質問がわかりません。」)。しかし、本開示の選択された側面で構成された自動アシスタント120は、文書の代替的コーパス(例えば、コーパス選択エンジン138により生成/維持されている)を検索して、直接回答を取得し得る。この例では、自動アシスタント120は、アクティブ文書104のユーザ固有のコーパス128を検索し得る。ここには、自動アシスタント120が、ティラミスの材料および手順の読み取り先とするウェブページが、含まれ得る。いくつかの実装形態では、このウェブページは、クライアント装置506のメモリにロードされたままである。他の実装形態では、自動アシスタント120は、検索エンジンへの質問とともに、URLなどのウェブページの識別子を提供し、検索エンジン(本開示の選択された側面で構成され得る)は、他のより従来の検索結果よりも、ウェブページから抽出された任意の情報を推奨してもよい。いずれの場合も、自動アシスタント120は、「卵が3つ必要です。」と答えることができる。
【００５７】
ここに開示する技術は、ユーザにより現在操作されているクライアント装置上に出力を提供することに、限定されない。いくつかの実装形態では、出力が、現在ユーザにより操作されているものとは異なるクライアント装置、例えば、ユーザにより制御されているクライアント装置の協調エコシステムにおける他のクライアント装置上に提供され得る。ユーザが、特定の映画をスマートテレビ上で視聴しているとする。さらに、スマートテレビは、テレビの近くに位置する独立型スピーカの形態の他のクライアント装置とともに、ユーザのクライアント装置の協調エコシステムの一部を形成しているものとする。ユーザは、「彼女は他にどこに出てた?」などの質問をするものとする。以前に説明した例と同様に、この質問は、文脈なしでは、直接答えるには曖昧すぎる。しかし、自動アシスタント120、例えば、コーパス選択エンジン138により、ユーザ固有のコーパス128を生成/維持して、ユーザが視聴している映画の形式で、アクティブ文書を含めてもよい。このように、ユーザの質問は、汎用コーパス126に加えてまたはその代わりに、ユーザ固有のコーパス128を検索して、ユーザの質問に直接的に答える情報を得るために使用可能である。この例では、ユーザがアクティブ文書として視聴している映画は、ユーザがフィルム上の特定の女優を参照していることを判別するために使用可能である(例えば、ユーザが質問したときに画面に出ていた女優)。例えば、女優は、映画ファイル/ストリームと関連づけられたメタデータ内で識別され得る。
【００５８】
そして、女優の身元に基づき、自動アシスタント120は、追加のデータソース、例えば、汎用コーパス126の一部を検索して、その女優が主役を演じている他の映画を識別し、そのリストをユーザに提供することができる。第2のクライアント装置が利用できない他の実装形態では、その女優が主演している映画のリストは、スマートテレビにより、例えば画面上に(例えば、重ねられたテキスト、脇のテキスト、黒帯(black bar)など)、または音声で(この場合、リストが音声提供されている際、映画の音声は一時的に絞られるか、または映画が一時停止される)提供される。
【００５９】
図6に、複数のクライアント装置が協力して、ユーザに、特定情報の要求に応答する情報を提供する、他の例を示す。図6では、ユーザ601は、タブレットコンピュータがオーブンなどのキッチン面上に置かれた場合に、ユーザ601がレシピを読めるように、タブレットコンピュータの形態をとる第1のクライアント装置606A上で、レシピのウェブページを開き。上述のように、コーパス選択エンジン138は、レシピのあるウェブページを、アクティブ文書104として、ユーザ固有のコーパス128に追加し得る。ユーザ固有のコーパス128(および文脈固有のコーパス130)は、ユーザ601が操作する複数のクライアント装置において利用可能である。そして、クライアント装置606Aが、待機モードになっており、例えば、その画面表示がなく、もうレシピを表示していないものとする。一方、ユーザ601は、レシピを用意している最中で、例えば、材料を両手に持っており、クライアント装置606Aを再起動して再びレシピを見る前に洗いたいと思っている。
【００６０】
手を洗ってクライアント装置606Aを再起動する代わりに、ユーザ601は、「やあアシスタント、もう一度、卵いくつ?」と音声で言質問する。彼の質問の第1の部分である「やあアシスタント」は、自動アシスタント120を、独立型対話スピーカ(クライアント装置506と同様)の形態をとる第2のクライアント装置606Bなどの1つまたは複数のクライアント装置上で起動する、可聴域内の所定の語句であり得る。そして、彼の質問の残りの部分は、自動アシスタント120によりクエリとして処理されてもよい。ここに説明した技術を用いて、自動アシスタント120は、クエリを用いて検索し得る。汎用コーパス126から取得した応答結果は、せいぜい低品質となり、場合によっては、ユーザの質問は、汎用コーパス126を検索するにも曖昧すぎるとみなされ得る。しかし、ユーザの質問は、ユーザ固有のコーパス128を検索するのに用いられ、レシピのあるウェブページが、検索されて、ユーザの質問に対する回答を識別し得る。したがって、自動アシスタント120は、クライアント装置606Bにて、ユーザの質問「卵が3つ必要です。」に答えることができる。
【００６１】
図7に、様々な実施形態による、本開示の選択された側面を実施するための例示的方法700を示す。便宜上、フローチャートの動作は、動作を実行するシステムを参照して説明される。このシステムは、様々なコンピュータシステムの様々なコンポーネントを含み得るものであり、自動アシスタント120および/またはコーパス選択エンジン138などである。さらに、方法700の動作が特定の順で示されているが、これは、限定を意味しない。1つまたは複数の動作は、並べ替えられ、除外され、または追加されてもよい。
【００６２】
ブロック702では、システムは、例えば、自動アシスタント120により、ユーザが操作している1つまたは複数のクライアント装置のうちの第1のクライアント装置を通じて(例えば、クライアント装置の協調エコシステム)、自由形式入力を受信し得る。様々な実装形態では、自由形式入力は、エンティティ(例えば、人、場所、物)についての情報への要求などの特定の情報への要求を含み得る。様々な実装形態では、自由形式入力は、音声(テキストへ変換され得る、例えばコンポーネント114および/または117)を用いて、かつ/またはタイプ入力により、ユーザにより提供され得る。
【００６３】
ブロック704では、システムは、オンライン文書の汎用コーパス126を検索して、特定情報の要求に対する1つまたは複数の候補応答の第1の組を、取得し得る。例えば、自動アシスタント120は、ユーザの自由形式入力を検索クエリとして、従来の検索エンジンへと入力し得る。様々な検索エンジンは、例えば、完全な文として作成された特定の情報へのユーザの要求に対する回答を含む応答を提供するように、構成され得る。これらの回答は、例えば、文書マッチングなどの「標準的な」検索結果とは別に表示されるボックス内に提示され得る。
【００６４】
ブロック706では、システムは、1つまたは複数のアクティブ文書104のユーザ固有のコーパス128を検索して、特定情報の要求に対する1つまたは複数の候補応答の第2の組を取得し得る。上述のように、ユーザ固有のコーパス128は、継続的にまたは必要に応じて、コーパス選択エンジン138により生成/維持され得る。いくつかの実装形態では、ユーザ固有のコーパス128は、アクティブ文書104の実際のコピーを含み得るものであり、それは、1つまたは複数のクライアント装置106に、かつ/またはいわゆる「クラウド」コンピュータ環境の一部を形成する1つまたは複数の遠隔コンピュータシステムに、格納され得る。他の実装形態では、アクティブ文書104の少なくともいくつかは、ユーザ固有のコーパス128内にて、例えばURLなど文書識別子として維持され得る。識別子は、ユーザの自由形式入力を用いて行う検索の一部として入力され得る。
【００６５】
ブロック708では、システムは、例えば、第1のクライアント装置にて生成された1つまたは複数の信号に基づき、ユーザの現在の文脈を判別するステップと、ユーザの現在の文脈は、例えば、ユーザの位置(例えば、GPSセンサまたはWi-Fiまたはセルラ三角測量方式などの位置座標センサにより決定される)、ユーザに対して現在関連している1つまたは複数の主題(または「主題的」)などを含み得る。関連主題は、現在のセッションの間にユーザにより既になされた検索、最近の検索履歴、最近の閲覧履歴、人間対コンピュータ対話などの様々な信号に基づいて、判別され得る。
【００６６】
いくつかの実装形態では、主題は、主題分類器(topic classifier)を用いて判別され得る。主題分類器は、機械学習モデル(教師つきまたは教師なし)またはモデルに基づく規則の形式をとり得る。主題分類器に基づく機械学習では、いくつかの実装形態において、主題分類器は、訓練されて、例えば、現在の人間対コンピュータ対話のセッションにて議論されているか、または、1つもしくは複数の最近消費された文書において言及された、特定の主題が関連しているかどうかを示す出力を提供し得る。他の実装形態では、主題分類器は、複数の異なる主題が現在関連しているかどうかを示す出力を提供するように訓練され得る。例えば、主題分類器は、複数の異なる主題が人間対コンピュータ対話にて議論されていることの尤度(likelihoods)または確実性(confidences)を示す出力を、提供するように構成され得る。いくつかの実装形態では、1つまたは複数の閾値を満たす尤度/確実性のある主題のみが、関連主題として判別され得る。他の実装形態では、最も尤度/確実性の高いn個の主題のみが、関連主題として判別され得る。様々な既知の技術が、主題の分類のために用いられ、期待値最大化、単語出現頻度-逆文書頻度(「td-idf」)、単純ベイズ分類器、ニューラルネットワーク(例えば、瞬時訓練ニューラルネットワーク(instantaneously trained neural networks))、サポートベクタマシン、様々な自然言語処理手法(例えば、主題セグメント化(topic segmentation))、センチメント分析(sentiment analysis)などを含むが、それに限定されるものではない。
【００６７】
ブロック710では、システムは、1つまたは複数の文書の文脈固有のコーパス130を検索して、自由形式入力に対する1つまたは複数の候補応答の第3の組を取得し得る。上述のように、様々な実施形態では、文脈固有のコーパス130は、ブロック708にて、ユーザの現在の文脈に基づき、識別/生成/維持され得る。このように、例えば、文脈固有のコーパス130は、関連情報を含む可能性が高い、文書、ウェブサイト、または他の情報源を含み得る。ユーザが、自動アシスタント120と、例えば、「映画」という主題を中心とした人間対コンピュータ対話のセッションに現在関わっているものとする。様々な実装形態では、映画についての情報のオンラインデータベース(例えば、キャスト、クルー、トリビア、レビューなど)は、文脈固有のコーパス130に対して(例えば、リンクとして)追加されてもよく、データベースから取得した応答情報は、汎用コーパス126から取得した応答情報よりも推奨されるか、むしろその代わりに提示されてもよい。
【００６８】
ブロック712では、システムは、候補応答の第1、第2および/または第3の組を比較し得る。例えば、いくつかの実装形態では、システムは、関連スコア、または候補応答と関連づけられたランキングを、検査し得る。いくつかの実装形態では、システムは、どのコーパスから最高ランク応答が取得されたとしても、最高ランクの応答を識別できるように、単一のリスト内のあらゆる候補応答をランク付けし得る。
【００６９】
比較に基づき、ブロック714では、システムは、第1、第2および/または第3の組からの自由形式入力に対する所与の応答を、選択し得る。上述のように、いくつかの実装形態では、所与の応答は、どのコーパスに由来するものであろうと、単に、最高ランクの応答であってもよい。ブロック716では、システムは、例えば、自動アシスタント120により、ユーザにより操作されるクライアント装置のうちの1つまたは複数を介して、所与の応答を示す出力を提供し得る。このような出力がどのように提供されるかについての非制限的な例については、上述されている。
【００７０】
図8は、本明細書に説明する技術の1つまたは複数の側面を実行するために選択的に利用され得る、例示的なコンピュータ装置810のブロック図である。いくつかの実装形態では、1つまたは複数のクライアントコンピュータ装置、ユーザ制御リソースエンジン130および/または他のコンポーネントは、例示的なコンピュータ装置810の1つまたは複数のコンポーネントを備え得る。
【００７１】
コンピュータ装置810は、通例、バスサブシステム812を介していくつもの周辺機器と通信する、少なくとも1つのプロセッサ814を備えている。これらの周辺機器は、記憶サブシステム824を備え得るものであり、これは、例えば、メモリサブシステム825、ファイル記憶サブシステム826、ユーザインターフェース出力装置820、ユーザインターフェース入力装置822、およびネットワークインターフェースサブシステム816を含む。入出力装置により、ユーザとコンピュータ装置とが対話することができる。ネットワークインターフェースサブシステム816は、外部のネットワークとのインターフェースを提供し、他のコンピュータ装置内の対応するインターフェース装置に接続している。
【００７２】
ユーザインターフェース入力装置822は、キーボード、マウス、トラックボール、タッチパッドまたはグラッフィックタブレットなどのポインティングデバイス、スキャナ、ディスプレイに組み込まれたタッチスクリーン、音声認識システム、マイク、および/または他の種類の入力装置などの音声入力装置を、備え得る。一般に、「入力装置」という用語の使用は、情報をコンピュータ装置810または通信ネットワークへ入力する、あらゆる可能な装置および方法の種類を含むことを、意図するものである。
【００７３】
ユーザインターフェース出力装置820は、ディスプレイサブシステム、プリンタ、ファックス機、または音声出力装置などの非視覚的ディスプレイを備え得る。ディスプレイサブシステムは、陰極線管(CRT)、液晶ディスプレイ(LCD)などのフラットパネル装置、プロジェクタ装置、または視覚画像を作成するための何らかの他の機構を備え得る。また、ディスプレイサブシステムは、音声出力装置などの非視覚的ディスプレイをも提供し得る。一般に、「出力装置」という用語の使用は、情報をコンピュータ装置810からユーザまたは他の機器またはコンピュータ装置へ出力する、あらゆる可能な種類の装置および方法を、含むことを意図している。
【００７４】
記憶サブシステム824は、ここに説明するモジュールのいくつかまたは全ての機能を提供するプログラムおよびデータ体系を格納する。例えば、記憶サブシステム824は、図7の方法の選択された側面を実行するとともに図1に示した様々なコンポーネントを実装するためのロジックを、備え得る。
【００７５】
これらのソフトウェアモジュールは、一般に、プロセッサ814のみにより、または他のプロセッサとの組み合わせで実行される。記憶サブシステム824内で用いられるメモリ825は、いくつものメモリを備え得るものであり、これらは、プログラムの実行の際に命令およびデータを記憶するメインランダムアクセスメモリ(RAM)830、固定的な命令が格納された読み取り専用メモリ(ROM)832などである。ファイル記憶サブシステム826は、プログラムおよびデータファイルに、持続的な記憶を提供することができ、ハードディスクドライブ、フロッピーディスクドライブ、これに伴う着脱可能媒体、CD-ROMドライブ、光学装置、または着脱可能媒体カートリッジを含んでもよい。ある実装形態の機能を実装するモジュールは、記憶サブシステム824内のファイル記憶サブシステム826により、または、プロセッサ814によりアクセス可能な他の機器内に、格納され得る。
【００７６】
バスサブシステム812は、様々なコンポーネントおよびコンピュータ装置810のサブシステムを、意図通りに通信させる機構を提供する。バスサブシステム812は、単一のバスとして模式的に図示されているが、バスサブシステムの代替的な実装形態は、複数のバスを用い得る。
【００７７】
コンピュータ装置810は、ワークステーション、サーバ、コンピューティングクラスタ、ブレードサーバ、サーバファーム、または他のデータ処理システムまたはコンピュータ装置など、様々な種類であり得る。コンピュータおよびネットワークの常に変化する性質のため、図8に示すコンピュータ装置810の説明では、いくつかの実装形態を説明するための具体例を示すことだけが意図されている。図8に示すコンピュータ装置よりもコンポーネントが少ない、コンピュータ装置810の多くの他の構成が可能である。
【００７８】
ここで説明するいくつかの実装形態が、ユーザの個人情報(例えば、他の電子通信から抽出されたユーザデータ、ユーザのソーシャルネットワークについての情報、ユーザの位置、ユーザの時間、ユーザの生体情報、およびユーザの活動および民勢情報(demographic information)、ユーザ間の関係など)を収集または使用し得る状況で、ユーザには、情報が収集されるか、個人情報が記憶されるか、個人情報が使用されるか、および、ユーザについて情報がどのように収集、記憶、使用されるかについて制御する、1つまたは複数の機会が提供される。すなわち、ここに説明するシステムおよび方法は、関連するユーザからそうすべきとの明示的な承認があったときにのみ、ユーザの個人情報を、収集、格納かつ/または使用する。
【００７９】
例えば、ユーザは、プログラムまたは特徴が、特定のユーザ、またはプログラムもしくは特徴に関連する他のユーザについての情報を収集するかどうかにつき、制御するようになっている。個人情報が収集されることになる各ユーザには、そのユーザに関連した情報収集についての制御、情報が収集されるかどうかについて、情報のどの部分が収集されるかについて、許可または承認を提供することの1つまたは複数の選択肢がある。例えば、ユーザには、1つまたは複数のこのような制御の選択肢が、通信ネットワークを通じて与えられ得る。さらに、あるデータは、記憶または使用される前に個人識別可能な情報が削除されるように、1つまたは複数の方法で取り扱われ得る。一例では、ユーザの身元は、個人識別可能な情報が判別不能となるように、取り扱われ得る。他の例では、ユーザの地理的位置は、ユーザの具体的な位置がわからないように、より大きな地域に一般化され得る。
【００８０】
いくつかの実装形態が本明細書に説明され図示されているが、機能を実行かつ/もしくは結果を取得するための様々な手段、ならびに/または、1つまたは複数の本明細書に説明した利点が利用されてもよく、このような変形例および/または改良例の各々が、本明細書に説明した実装形態の範囲内とみなされる。より一般的には、本明細書に説明した全てのパラメータ、寸法、材料、および構成は、例示を意味しており、実際のパラメータ、寸法、材料、および/または構成は、具体的用途、または教示内容が用いられる用途に依存することになる。当業者は、定形の実験だけを用いて、本明細書に説明した具体的実装形態に均等な多くのものを、認識することになり、または究明することができる。したがって、上記実装形態は、例としてのみ提示されたものであり、添付の請求項およびその均等の範囲内で、実装形態は、具体的に説明および特許請求するのとは異なるように実施され得ることが、理解される。本開示の実装形態は、個々に説明した具体的な特徴、システム、物品、材料、キット、および/または方法の各々に向けられている。さらに、2つ以上のこのような特徴、システム、物品、材料、キットおよび/または方法の任意の組み合わせは、このような特徴、システム、物品、材料、キットおよび/または方法が相互に矛盾しなければ、本開示の範囲内に含まれる。
【符号の説明】
【００８１】
104  アクティブ文書
105  位置座標
106  クライアント装置
107  メッセージ交換クライアント
1101  ローカルおよび/または広域ネットワーク
1102  ネットワーク
114  音声キャプチャ/TTS/STTモジュール
116  TTSモジュール
117  STTモジュール
118  自動アシスタントクライアント
119  自動アシスタントコンポーネント
120  自動アシスタント
122  自然言語プロセッサ
126  汎用コーパス
128  ユーザ固有のコーパス
130  文脈固有のコーパス
138  コーパス選択エンジン
206  クライアント装置
240  タッチスクリーン
244  入力欄
406  クライアント装置
501  ユーザ
506  クライアント装置
601  ユーザ
606A  第1のクライアント装置
606B  第2のクライアント装置
810  コンピュータ装置
812  バスサブシステム
814  プロセッサ
816  ネットワークインターフェースサブシステム
820  ユーザインターフェース出力装置
822  ユーザインターフェース入力装置
824  記憶サブシステム
825  メモリサブシステム
826  ファイル記憶サブシステム
830  メインランダムアクセスメモリ
832  読み取り専用メモリ
【図１】
0006942821.tif 000002
【図２】
0006942821.tif 000003
【図３】
0006942821.tif 000004
【図４】
0006942821.tif 000005
【図５】
0006942821.tif 000006
【図６】
0006942821.tif 000007
【図７】
0006942821.tif 000008
【図８】
0006942821.tif 000009