(58)【調査した分野】(Int.Cl.,DB名)
前記データが、前記会議コンピューティングデバイスのうちの1つまたは複数のスピーカを介して前記自動アシスタントから前記複数の参加者に自然言語出力として出力される、請求項1に記載の方法。
前記自動アシスタントが、前記ミーティングが始まったことを示す口頭による呼びかけまたは会議モードに入るための明示的コマンドに応答して、会議モードに設定される、請求項1から4のいずれか一項に記載の方法。
前記複数の発話のうちの1つまたは複数の音声テキスト化処理から生成される第2のテキストに対して追加の意味処理を実行するステップであって、前記追加の意味処理が、前記第1のテキストに関係する前記データに少なくとも一部基づいて実行される、ステップをさらに含む、請求項1から5のいずれか一項に記載の方法。
前記追加の意味処理が、前記第1のテキストに関係する前記データに基づいて、前記第2のテキストの1つまたは複数のトークンの曖昧性解消を含む、請求項6に記載の方法。
前記自動アシスタントによって、前記複数の別個の発話に基づいてミーティングサマリを生成するステップであって、前記ミーティングサマリが、前記自動アシスタントが会議モードであった間に前記複数の別個の発話から前記自動アシスタントによって検出された1つまたは複数の話題を含む、ステップをさらに含む、請求項1から7のいずれか一項に記載の方法。
前記ミーティングサマリが、前記自動アシスタントが会議モードであった間に前記複数の別個の発話から前記自動アシスタントによって検出された前記ミーティングの1つまたは複数の結論をさらに含む、請求項8に記載の方法。
前記出力様式が、前記参加者のうちの1人でもある運転者によって運転される車両における音声出力を含み、前記複数の別個の発話に関係する前記データが出力される前記頻度が、前記運転者の注意をそらせることを回避するように選択される、請求項12に記載の方法。
1つまたは複数のプロセッサ、および前記1つまたは複数のプロセッサと動作可能に連結されたメモリを備えるシステムであって、前記メモリが、1つまたは複数のプロセッサによる命令の実行に応答して、前記1つまたは複数のプロセッサに、以下の動作、すなわち、
1つまたは複数の会議コンピューティングデバイスにおいて少なくとも一部実現される自動アシスタントを、前記自動アシスタントが複数の別個の発話に対する音声テキスト化処理を前記複数の別個の発話のそれぞれの前に前記自動アシスタントの明示的な呼びかけを必要とすることなく実行する会議モードに設定する動作であって、前記複数の別個の発話が、複数の参加者間のミーティング中に前記複数の参加者によってもたらされる、動作と、
前記自動アシスタントによって、前記複数の別個の発話のうちの1つまたは複数の前記音声テキスト化処理から生成される第1のテキストに対して意味処理を実行する動作と、
前記自動アシスタントによって、前記意味処理に基づいて、前記第1のテキストに関係するデータを生成する動作であって、前記データが、前記自動アシスタントが会議モードである間に前記会議コンピューティングデバイスのうちの1つまたは複数において前記複数の参加者に出力される、動作と、
前記自動アシスタントによって、前記ミーティングが終了したと判断する動作と、
前記判断に基づいて、前記自動アシスタントを、個々の発話に対して音声テキスト化処理を実行する前に前記自動アシスタントが呼びかけを必要とする非会議モードに設定する動作と、
を実行させる命令を記憶した、システム。
前記データが、前記会議コンピューティングデバイスのうちの1つまたは複数のスピーカを介して前記自動アシスタントから前記複数の参加者に自然言語出力として出力される、請求項14に記載のシステム。
前記自動アシスタントが、前記ミーティングが始まったことを示す口頭による呼びかけまたは会議モードに入るための明示的コマンドに応答して、会議モードに設定される、請求項14から17のいずれか一項に記載のシステム。
前記複数の発話のうちの1つまたは複数の音声テキスト化処理から生成される第2のテキストに対して追加の意味処理を実行する動作であって、前記追加の意味処理が、前記第1のテキストに関係する前記データに少なくとも一部基づいて実行される、動作をさらに含む、請求項14から18のいずれか一項に記載のシステム。
少なくとも1つのコンピュータ可読記憶媒体であって、1つまたは複数のプロセッサによる命令の実行に応答して、前記1つまたは複数のプロセッサに、以下の動作、すなわち、
1つまたは複数の会議コンピューティングデバイスにおいて少なくとも一部実現される自動アシスタントを、前記自動アシスタントが複数の別個の発話に対する音声テキスト化処理を前記複数の別個の発話のそれぞれの前に前記自動アシスタントの明示的な呼びかけを必要とすることなく実行する会議モードに設定する動作であって、前記複数の別個の発話が、複数の参加者間のミーティング中に前記複数の参加者によってもたらされる、動作と、
前記自動アシスタントによって、前記複数の別個の発話のうちの1つまたは複数の前記音声テキスト化処理から生成される第1のテキストに対して意味処理を実行する動作と、
前記自動アシスタントによって、前記意味処理に基づいて、前記第1のテキストに関係するデータを生成する動作であって、前記データが、前記自動アシスタントが会議モードである間に前記会議コンピューティングデバイスのうちの1つまたは複数において前記複数の参加者に出力される、動作と、
前記自動アシスタントによって、前記ミーティングが終了したと判断する動作と、
前記判断に基づいて、前記自動アシスタントを、個々の発話に対して音声テキスト化処理を実行する前に前記自動アシスタントが呼びかけを必要とする非会議モードに設定する動作と、
を実行させる前記命令を含む、少なくとも1つのコンピュータ可読記憶媒体。
【発明の概要】
【課題を解決するための手段】
【0005】
自動アシスタントが複数の人間の参加者間のミーティングに「参加」し、本明細書において説明される様々な機能を実行し得る「会議モード」に自動アシスタントが入ることを可能にする技術が、本明細書において説明される。様々な実装形態において、本開示の選択された態様で構成される自動アシスタントは、本明細書において「会議コンピューティングデバイス」と呼ばれるものにおいて少なくとも一部動作し得る。会議コンピューティングデバイスは、自動アシスタントの全てまたは一部を実行すること、ならびにスピーカ、ディスプレイ、および特にマイクロフォンなどの1つまたは複数の入力/出力コンポーネントを用いて複数の人間の参加者間のミーティングに参加することが可能な任意のコンピューティングデバイスであってもよい。多様なコンピューティングデバイスが、スタンドアロンインタラクティブスピーカ、ビデオ会議コンピューティングシステム、車両コンピューティングシステムなどの、会議コンピューティングデバイスとしての使用に特に適し得る。しかしながら、マイクロフォンおよび少なくとも1つの出力コンポーネント(例えば、音声または視覚)を有する任意のコンピューティングデバイスが、会議コンピューティングデバイスとして使用され得る。本明細書において使用される「ミーティング」という用語は、2人以上の人間の参加者間の任意の口頭による対話を指してもよく、これらの参加者間のやり取りがビジネスまたは経営上の目的を有することを含まない。
【0006】
本開示の選択された態様で構成される自動アシスタントは、例えば、複数参加者のミーティングの発端において、会議モードに設定され得る。様々な実装形態において、ミーティングの発端は、カレンダーのエントリに基づいて、および/または会議モードの明示的な呼びかけに応答して、検出され得る。ミーティング中に、自動アシスタントは、複数の別個の発話のそれぞれの前に自動アシスタントの明示的な呼びかけを特に必要とすることなく、複数の別個の発話に対して音声テキスト化処理を実行し得る。いくつかのシナリオでは、会議コンピューティングデバイスは、全てではないがいくらかのミーティング参加者を有する部屋またはエリア内にある、スタンドアロンインタラクティブスピーカまたはビデオ会議コンピューティングシステムであってもよい。しかしながら、複数のミーティング参加者が地理的に分離されている他のシナリオでは、複数の場所に配備された複数の会議コンピューティングデバイスにおいて動作する自動アシスタントが、本開示の選択された態様を実行し得る。音声テキスト化処理から生成されたテキストに基づいて、自動アシスタントは、多様な機能を実行してミーティングの態様を改善し得る。
【0007】
いくつかの実装形態において、自動アシスタントは、音声テキスト化処理を用いて複数の発話のうちの1つまたは複数から生成されたテキストに対して、意味処理を実行し得る。この意味処理に基づいて、自動アシスタントは、ミーティングの議論に関係する多様な情報を(例えば、音声および/または視覚的出力として)提示し得る。いくつかの実装形態において、自動アシスタントは、ミーティング参加者からの明示的なリクエストに応答して、意味処理を実行し、および/または結果となる情報を提示し得る。追加的または代替的に、いくつかの実装形態において、自動アシスタントは、自動アシスタントがミーティングの会話内の休止を検出するときに、意味処理を実行し、および/または情報を提示し得る。
【0008】
自動アシスタントは、様々な目標を達成するために様々な形式の意味処理を実行し得る。いくつかの実装形態において、意味処理は、会話の1つまたは複数の話題を、例えば、話題分類器によって識別するために使用され得る。いくつかのそのような実装形態において、これらの話題は、例えば、検索クエリ(例えば、インターネット検索)を生成するため、ミーティングの議論に関連付けられた「ミーティング対話コンテキスト」(参加者の発話の曖昧性解消、自動アシスタントの要求されたタスクのスロット充填などの様々な目的に使用され得る)を維持するため、などに使用され得る。自動アシスタントが検索クエリを生成し、発生した話題に基づいて(またはより概略的には、参加者の発話に対して実行された意味処理に基づいて)検索を実行する実装形態において、自動アシスタントは、会議コンピューティングデバイスにおける音声および/または視覚的出力として、検索クエリへの応答である情報を提供し得る。
【0009】
動作例として、2人のミーティング参加者がスキー旅行を計画しており、1人の参加者が「私たちは、スイスでの来週末のスキー旅行をまとめなければなりません。リゾートを選びましょう。」と言うと仮定する。音声テキスト化処理が、この音声発話を表すテキストを生成するように実行された後、自動アシスタントは、発話を複製または少なくとも要約する検索クエリを生成するために、テキストに対して意味処理を実行し得る。いくつかの場合において、自動アシスタントは、複数の参加者からの複数の発話から生成されたテキストを検索クエリに結合し得る。検索クエリに応答する情報は、例えば、スイスの1つまたは複数のスキーリゾートのリストを含み得る。会議コンピューティングデバイスがディスプレイを含むか、またはディスプレイにアクセスできる場合、これらの結果は、例えば、ユーザのうちの1人が検索を明示的に実行した場合と同様に、ディスプレイ上に自動的に提示され得る。代替的には、会議コンピューティングデバイスがスピーカを含むか、またはスピーカにアクセスできる場合、結果を示すデータは、例えば会話の休止中に、スピーカにおいて聴覚的に出力され得る。利用可能な出力コンポーネントがスピーカである多くの実装形態において、出力コンポーネントがディスプレイであった場合よりも少ない情報が出力され得ると理解されるべきである。これは、音声出力が、視覚的出力よりも注意をそらせるものであり、および/または出力するのにより多くの時間を必要とし得るためであり、ミーティングの流れを中断することを回避することが有益であり得る。
【0010】
いくつかの実装形態において、参加者に出力される情報および/または進行中のミーティング対話コンテキストが、後続の発話に対して追加の意味処理を実行するために使用され得る。例えば、動作例を続けると、参加者のうちの1人または複数が、スイスのスキーリゾート検索クエリの提示された結果によって想起される関連質問を行うことがある。ユーザが、「そこでのスキーはどうですか?」と質問すると仮定する。「そこでの」という単語は対象のリゾートを識別できないため、単独では、この質問は曖昧過ぎる。しかしながら、上記で言及されるように、本開示の選択された態様で構成される自動アシスタントは、1つもしくは複数の議論の話題および/または自動アシスタントによって出力されている情報を維持する、ミーティング対話コンテキストを維持するように構成され得る。この例では、自動アシスタントは、「そこでの」を、例えば前に提示された上位ランクのスイスのスキーリゾートへ曖昧性解消を行い得る。または、ユーザが、「ツェルマット(Zermatt)は面白そうですが、そこでのスキーはどうですか?」のようなことを言ったとすると、対象のスキーリゾートは、代わりに「ツェルマット」であり得る。いずれにせよ、自動アシスタントは、対象のリゾートにおけるスキーの質についての情報(例えば、スキーリゾート、スノーリゾート、ユーザレビューなど)を求める検索クエリを生成し、提出し得る。複数の発話に対する追加の意味処理を実行することによって、これらの発話のうちの1つまたは複数における曖昧性を解決し得る。これは、同様に、そのような曖昧性によって引き起こされる自動アシスタントの動作における誤り(例えば、誤ったデータまたは最適以下のデータを参加者に出力すること)のリスクを減少させ得る。
【0011】
参加者が、代わりに「天気はどうなりますか?」と質問した場合、類似の技術が、適当な検索クエリを生成するために採用され得る。再び、この発言は、単独では曖昧過ぎて意味のある天気検索クエリを生成することができない。しかしながら、持続しているミーティング対話コンテキストに基づいて、自動アシスタントは、天気検索クエリに使用する位置が以前に提示された上位ランクのリゾートであること、および天気検索クエリに使用する時間が「次の週末」であることを推測可能であってもよい。したがって、自動アシスタントは、次の週末についての上位ランクのリゾートの天気を検索してもよく、その結果を参加者に提示してもよい。この参加者および/または自動アシスタントの間の往復は、旅行の手配を行う(例えば、電車の時刻表が提示され得る)、スキーパスを購入するなどの、他の種類の情報について継続し得る。
【0012】
いくつかの実装形態において、本開示の選択された態様で構成される自動アシスタントは、ミーティング中に検出された複数の別個の発話に基づいて、ミーティングサマリを生成するように構成され得る。様々な実装形態において、ミーティングサマリは、自動アシスタントによってミーティングの議論から検出された1つまたは複数の話題、自動アシスタントによってミーティングの議論から検出された1つまたは複数のミーティングの結論、複数の別個の発話のうちの少なくともいくつかのテキストの書き起こし、ミーティングの参加者についての情報(例えば、いくつかの自動アシスタントは、音声を特定の人々に関連付けられた音声プロファイルと照合可能であってもよい)などの情報を含む、文書(例えば、テキストおよび/またはグラフィカル)の形式をとり得る。このミーティングサマリは、例えば、自動アシスタントによって、ミーティング参加者のうちの1人または複数に記憶され、送信され、および/または1人または複数と共有され得る。いくつかの実装形態において、ミーティングサマリは、ミーティングを予定するために作成されたカレンダーエントリに関連付けられ得る。
【0013】
いくつかの実装形態において、本開示の選択された態様で構成される自動アシスタントは、本明細書で説明される技術を用いて1つのミーティング中に生成される情報(例えば、ミーティング対話コンテキスト、ミーティングサマリ)を利用して、後続のミーティング、例えば、フォローアップミーティングにおいて様々な機能を実行するように構成され得る。最初のミーティングの参加者が、解決される必要があるいくつかのアクション項目を議論し、これらのアクション項目が、例えば最初のミーティングについてのミーティングサマリを生成するために、参加している自動アシスタントによって検出され、使用されると仮定する。2回目のフォローアップミーティングにおいて、自動アシスタントは、最初のミーティングサマリからの情報および/または最初のミーティングから記憶されたミーティング対話コンテキストからの情報を使用して、上述の様々な機能を実行し得る。例えば、ユーザが、「さて、前回のミーティングからのアクション項目は何でしたか?」と質問すると仮定する。自動アシスタントは、これらのアクション項目を取り込み、例えば、聴覚的リストとして、またはディスプレイ上に出力し得る。いくつかの実装形態において、2回目のミーティングの参加者は、アクション項目のうちの1つまたは複数が完了したことを自動アシスタントに指示してもよく、または自動アシスタントは、ミーティング中の参加者の音声発話の意味処理に基づいて、1つまたは複数のアクション項目が完了したことを検出してもよい。
【0014】
いくつかの実装形態において、自動アシスタントは、最初のミーティング以降アクション項目が完了したかどうかを、それ自体で検出することが可能であり得る。例えば、最初のミーティングの後、参加者の1人が、アクション項目に対処する(例えば、使い捨て食器を購入する)ために自動アシスタントと連動すると仮定する。2回目のミーティングにおいて、アクション項目は、それが既に対処済みであることを理由に、参加している自動アシスタントによって提示されなくともよい。追加的または代替的には、アクション項目が、「完了」と提示されてもよい。
【0015】
様々な実装形態において、自動アシスタントは、2つ以上のミーティングが関連している(例えば、最初のミーティングおよびフォローアップミーティング)ことを様々な手法で判断し得る。いくつかの実装形態において、参加者は、例えば、電子カレンダーを用いてミーティングを予定してもよく、ミーティングを明示的にリンク付けしてもよい。追加的または代替的に、いくつかの実装形態において、自動アシスタントは、2つ以上のミーティングが関連していることを、例えば、ミーティングに付与されたタイトル、ミーティングの参加者の重複、ミーティングに関連付けられた文書などに基づいて、自動的に検出し得る。文書(例えば、カレンダーエントリまたはそれに添付されたアジェンダ)がミーティングに関連付けられているいくつかの実装形態において、自動アシスタントは、関連付けられた文書に基づいて最初のミーティング対話コンテキストを生成し得る。
【0016】
上述の通り、自動アシスタントによってミーティング中に生成された音声出力は、参加者が無視し得る視覚的出力よりもはるかに注意をそらされる可能性がある。したがって、様々な実装形態において、自動アシスタントは、複数のミーティング参加者に知覚できる会議コンピューティングデバイスのうちの1つまたは複数によって使用される出力様式を識別し得る。自動アシスタントは、次いで、ミーティング中に複数の別個の発話に関係するデータを、識別された出力様式に基づいて選択される頻度で出力し得る。例えば、会議コンピューティングデバイスが、ディスプレイのないスタンドアロンインタラクティブスピーカである場合、自動アシスタントは、会議コンピューティングデバイスがディスプレイを含む場合よりも少ない頻度で、出力(例えば、検索結果、アクション項目の状態など)を提供し得る。出力様式が、ミーティング参加者のうちの1人でもある運転者によって運転される車両における音声出力であるように判断される特定の例として、複数の別個の発話に関係するデータが自動アシスタントによって提示される頻度は、運転者の注意をそらせることを回避するように選択され得る。
【0017】
いくつかの実装形態において、1つまたは複数の会議コンピューティングデバイスにおいて少なくとも一部実現される自動アシスタントを、自動アシスタントが複数の別個の発話に対する音声テキスト化処理を複数の別個の発話のそれぞれの前に自動アシスタントの明示的な呼びかけを必要とすることなく実行する会議モードに設定するステップであって、複数の別個の発話が、複数の参加者間のミーティング中に複数の参加者によってもたらされる、ステップと、自動アシスタントによって、複数の別個の発話のうちの1つまたは複数の音声テキスト化処理から生成される第1のテキストに対して意味処理を自動的に実行するステップであって、意味処理が、明示的な参加者の呼びかけなしに実行される、ステップと、自動アシスタントによって、意味処理に基づいて、第1のテキストに関係するデータを生成するステップであって、データが、自動アシスタントが会議モードである間に会議コンピューティングデバイスのうちの1つまたは複数において複数の参加者に出力される、ステップと、自動アシスタントによって、ミーティングが終了したと判断するステップと、判断に基づいて、自動アシスタントを、個々の発話に対して音声テキスト化処理を実行する前に自動アシスタントが呼びかけを必要とする非会議モードに設定するステップと、を含む、1つまたは複数のプロセッサによって実行される方法が提供される。
【0018】
本明細書において開示される技術のこれらのおよび他の実装形態は、任意選択で以下の特徴のうちの1つまたは複数を含み得る。
【0019】
様々な実装形態において、データは、会議コンピューティングデバイスのうちの1つまたは複数のスピーカを介して自動アシスタントから複数の参加者に自然言語出力として出力されてもよい。様々な実装形態において、データは、複数の参加者に見える1つまたは複数のディスプレイを介して複数の参加者に出力されてもよい。
【0020】
様々な実装形態において、判断するステップは、自動アシスタントによって、複数の参加者のうちの1人から、ミーティングが終了したことを示す口頭による呼びかけを受信するステップ、または現在時間がミーティングの予定された終了時間に合致すると判断するステップを含む。
【0021】
様々な実装形態において、自動アシスタントは、ミーティングが始まったことを示す口頭による呼びかけまたは会議モードに入るための明示的コマンドに応答して、会議モードに設定されてもよい。様々な実装形態において、方法は、複数の発話のうちの1つまたは複数の音声テキスト化処理から生成される第2のテキストに対して追加の意味処理を実行するステップであって、追加の意味処理が、第1のテキストに関係するデータに少なくとも一部基づいて実行される、ステップをさらに含んでもよい。様々な実装形態において、追加の意味処理は、第1のテキストに関係するデータに基づいて、第2のテキストの1つまたは複数のトークンの曖昧性解消を含む。
【0022】
様々な実装形態において、方法は、自動アシスタントによって複数の別個の発話に基づいてミーティングサマリを生成するステップであって、ミーティングサマリが、自動アシスタントが会議モードであった間に複数の別個の発話から自動アシスタントによって検出された1つまたは複数の話題を含む、ステップをさらに含んでもよい。様々な実装形態において、ミーティングサマリは、自動アシスタントが会議モードであった間に複数の別個の発話から自動アシスタントによって検出されたミーティングの1つまたは複数の結論をさらに含んでもよい。様々な実装形態において、ミーティングサマリは、複数の別個の発話のうちの少なくともいくつかのテキストの書き起こしをさらに含んでもよい。
【0023】
様々な実装形態において、方法は、ミーティングが前のミーティングに関連すると判断するステップと、自動アシスタントによって、前のミーティングに関連付けられた情報に基づいて、前のミーティング中に生成された、現在のミーティングに関係する追加データを識別するステップであって、追加データが、自動アシスタントが会議モードである間に会議コンピューティングデバイスのうちの1つまたは複数において複数の参加者に出力される、ステップと、をさらに含んでもよい。
【0024】
様々な実装形態において、方法は、複数の参加者に知覚できる会議コンピューティングデバイスのうちの1つまたは複数によって使用される出力様式を識別するステップと、識別される出力様式に関連する頻度で複数の別個の発話に関係するデータを出力するステップと、をさらに含んでもよい。様々な実装形態において、出力様式は、参加者のうちの1人でもある運転者によって運転される車両における音声出力を含み、複数の別個の発話に関係するデータが出力される頻度が、運転者の注意をそらせることを回避するように選択される。
【0025】
さらに、いくつかの実装形態は、1つまたは複数のコンピューティングデバイスの1つまたは複数のプロセッサを含み、1つまたは複数のプロセッサは、関連するメモリに記憶された命令を実行するように動作可能であり、命令は、前述の方法のうちのいずれかの実行をもたらすように構成される。いくつかの実装形態は、前述の方法のうちのいずれかを実行するために1つまたは複数のプロセッサにより実行可能なコンピュータ命令を記憶する、1つまたは複数の非一時的コンピュータ可読記憶媒体も含む。他の実装形態は、前述の方法のうちのいずれかを実行するために1つまたは複数のプロセッサにより実行可能なコンピュータ命令を記憶または具現化する、1つまたは複数の一時的コンピュータ可読記憶媒体(例えば、光、電気、または電磁気信号などの信号)を含む。
【0026】
本明細書においてさらに詳述された前述のコンセプトおよび追加のコンセプトの全ての組み合わせが、本明細書において開示される主題の一部であると考えられることが、理解されるべきである。例えば、本開示の終わりに表されている特許請求される主題の全ての組み合わせは、本明細書において開示された主題の一部であると考えられる。
【発明を実施するための形態】
【0028】
ここで
図1を参照すると、本明細書で開示される技術が実現され得る例としての環境が示されている。例としての環境は、1つまたは複数のクライアントコンピューティングデバイス106
1-Nを含む。各クライアントデバイス106は、自動アシスタントクライアント118のそれぞれのインスタンスを実行し得る。自然言語プロセッサ122などの1つまたは複数のクラウドベース自動アシスタントコンポーネント119は、概して110において示される1つまたは複数のローカルエリアネットワークおよび/またはワイドエリアネットワーク(例えば、インターネット)を介して、クライアントデバイス106
1-Nに通信可能に連結される、1つまたは複数のコンピューティングシステム(「クラウド」コンピューティングシステムとまとめて呼ばれる)において実現され得る。
【0029】
背景技術において述べた通り、自動アシスタントクライアント118のインスタンスは、1つまたは複数のクラウドベース自動アシスタントコンポーネント119とのそのインタラクションとして、ユーザの視点からユーザが人間対コンピュータの対話に従事し得る自動アシスタント120の論理インスタンスであるように見えるものを形成し得る。そのような自動アシスタント120の2つのインスタンスが、
図1に示されている。破線で囲まれた第1の自動アシスタント120Aは、第1のクライアントデバイス106
1を操作する第1のユーザ(図示せず)にサービスし、自動アシスタントクライアント118
1と、1つまたは複数のクラウドベース自動アシスタントコンポーネント119と、を含む。一点二短鎖線で囲まれた第2の自動アシスタント120Bは、別のクライアントデバイス106
Nを操作する第2のユーザ(図示せず)にサービスし、自動アシスタントクライアント118
Nと、1つまたは複数のクラウドベース自動アシスタントコンポーネント119と、を含む。よって、いくつかの実装形態において、クライアントデバイス106において実行する自動アシスタントクライアント118と連動する各ユーザは、実際に、自動アシスタント120の彼ら自身の論理インスタンスと連動し得ると理解されるべきである。簡潔性および単純性のために、特定ユーザに「サービスする」として本明細書で使用される「自動アシスタント」という用語は、ユーザによって操作されるクライアントデバイス106において実行する自動アシスタントクライアント118と、1つまたは複数のクラウドベース自動アシスタントコンポーネント119(複数の自動アシスタントクライアント118間で共有され得る)の組み合わせを指す。いくつかの実装形態において、ユーザが、自動アシスタント120のその特定のインスタンスによって実際に「サービスされる」かどうかにかかわらず、自動アシスタント120は、任意のユーザからのリクエストに応答し得るとも、理解されるべきである。
【0030】
クライアントデバイス106
1-Nは、例えば、デスクトップコンピューティングデバイス、ラップトップコンピューティングデバイス、タブレットコンピューティングデバイス、携帯電話コンピューティングデバイス、ユーザの車両のコンピューティングデバイス(例えば、車載通信システム、車載エンタテイメントシステム、車載ナビゲーションシステム)、スタンドアロンインタラクティブスピーカ、スマートテレビなどのスマート機器、および/またはコンピューティングデバイスを含むユーザのウェアラブル装置(例えば、コンピューティングデバイスを有するユーザの時計、コンピューティングデバイスを有するユーザの眼鏡、仮想現実もしくは拡張現実コンピューティングデバイス)のうちの1つまたは複数を含み得る。追加的および/または代替的なクライアントコンピューティングデバイスが提供され得る。
【0031】
様々な実装形態において、クライアントコンピューティングデバイス106
1-Nのそれぞれが、複数のメッセージ交換クライアント107
1-Nのうちの対応する1つなどの多様な異なるアプリケーションを動作させ得る。メッセージ交換クライアント107
1-Nは、様々な形式で現れてもよく、形式は、クライアントコンピューティングデバイス106
1-Nによって異なってもよく、および/または複数の形式が、クライアントコンピューティングデバイス106
1-Nのうちの単一のクライアントコンピューティングデバイス106において動作されてもよい。いくつかの実装形態において、メッセージ交換クライアント107
1-Nのうちの1つまたは複数が、ショートメッセージサービス(「SMS」)および/またはマルチメディアメッセージサービス(「MMS」)クライアント、オンラインチャットクライアント(例えば、インスタントメッセンジャ、インターネットリレーチャット、すなわち「IRC」など)、ソーシャルネットワークに関連付けられたメッセージアプリケーション、自動アシスタント120との会話専用のパーソナルアシスタントメッセージサービスなどの形式で現れてもよい。いくつかの実装形態において、メッセージ交換クライアント107
1-Nのうちの1つまたは複数が、ウェブページ、またはクライアントコンピューティングデバイス106のウェブブラウザ(図示せず)もしくは他のアプリケーションによってレンダリングされた他のリソースを介して実現され得る。
【0032】
本明細書でより詳細に説明されるように、自動アシスタント120は、1つまたは複数のクライアントデバイス106
1-Nのユーザインターフェース入力および出力を介して1つまたは複数のユーザとの人間対コンピュータ対話セッションに従事する。いくつかの実装形態において、自動アシスタント120は、クライアントデバイス106
1-Nのうちの1つの1つまたは複数のユーザインターフェース入力デバイスを介してユーザによって提供されるユーザインターフェース入力に応答して、ユーザとの人間対コンピュータ対話セッションに従事し得る。それらの実装形態のうちのいくつかにおいて、ユーザインターフェース入力は、自動アシスタント120に明示的に向けられる。例えば、メッセージ交換クライアント107
1-Nのうちの1つは、自動アシスタント120との会話専用のパーソナルアシスタントメッセージサービスであってもよく、そのパーソナルアシスタントメッセージサービスを介して提供されるユーザインターフェース入力が、自動アシスタント120に自動的に提供されてもよい。また、例えば、ユーザインターフェース入力は、自動アシスタント120が呼び出されることを示す特定のユーザインターフェース入力に基づいて、メッセージ交換クライアント107
1-Nのうちの1つまたは複数における自動アシスタント120に明示的に向けられてもよい。例えば、特定のユーザインターフェース入力は、1つまたは複数のタイプされた文字(例えば、@自動アシスタント)、ハードウェアボタンおよび/もしくは仮想ボタン(例えば、タップ、長タップ)を用いたユーザインタラクション、口頭コマンド(例えば、「ヘイ、自動アシスタント」)、ならびに/または他の特定のユーザインターフェース入力であってもよい。
【0033】
いくつかの実装形態において、自動アシスタント120は、ユーザインターフェース入力が明示的に自動アシスタント120に向けられていないときでも、ユーザインターフェース入力に応答して対話セッションに従事し得る。例えば、自動アシスタント120は、ユーザインターフェース入力の内容を検査し、ユーザインターフェース入力内に存在するある用語に応答して、および/または他の手掛かりに基づいて対話セッションに従事し得る。いくつかの実装形態において、ユーザが、コマンド、検索などを述べ得るように、自動アシスタント120は、インタラクティブ音声応答(「IVR」)に従事してもよく、自動アシスタントは、自然言語処理および/または1つもしくは複数の文法を利用して、発話をテキストに変換しそれに従ってテキストに応答してもよい。いくつかの実装形態において、自動アシスタント120は、追加的または代替的に、発話をテキストに変換することなく発話に応答し得る。例えば、自動アシスタント120は、音声入力を埋め込みに、(音声入力に存在する実体を示す)実体表現、および/または他の「非テキスト」表現に変換し、そのような非テキスト表現に対して動作し得る。したがって、本明細書において音声入力から変換されたテキストに基づいて動作すると説明される実装形態は、追加的および/または代替的に、音声入力に対して直接、および/または音声入力の他の非テキスト表現に対して動作し得る。
【0034】
クライアントコンピューティングデバイス106
1-Nのそれぞれ、およびクラウドベース自動アシスタントコンポーネント119を動作させるコンピューティングデバイスは、データおよびソフトウェアアプリケーションの記憶のための1つまたは複数のメモリと、データにアクセスしアプリケーションを実行するための1つまたは複数のプロセッサと、ネットワーク上の通信を容易にする他のコンポーネントと、を含み得る。クライアントコンピューティングデバイス106
1-Nのうちの1つもしくは複数によって、および/または自動アシスタント120によって実行される動作が、複数のコンピュータシステムにわたって分散され得る。自動アシスタント120は、例えば、ネットワークを通して互いに連結される1つまたは複数の場所の1つまたは複数のコンピュータにおいて動作するコンピュータプログラムとして実現され得る。
【0035】
上述の通り、様々な実装形態において、クライアントコンピューティングデバイス106
1-Nのそれぞれが、自動アシスタントクライアント118を動作させ得る。様々な実装形態において、各自動アシスタントクライアント118は、対応する音声キャプチャ/テキスト音声化(「TTS」)/STTモジュール114を含み得る。他の実装形態において、音声キャプチャ/TTS/STTモジュール114の1つまたは複数の態様は、自動アシスタントクライアント118から別々に実現され得る。
【0036】
各音声キャプチャ/TTS/STTモジュール114は、1つまたは複数の機能を実行するように、例えば、(いくつかの場合において存在センサ105を含み得る)マイクロフォンを介してユーザの音声をキャプチャするように、キャプチャされた音声をテキスト(および/または他の表現もしくは埋め込み)に変換するように、ならびに/またはテキストを音声に変換するように、構成され得る。例えば、いくつかの実装形態において、クライアントデバイス106は、コンピューティングリソース(例えば、プロセッササイクル、メモリ、バッテリなど)に関して比較的制約され得るため、各クライアントデバイス106にローカルな音声キャプチャ/TTS/STTモジュール114は、異なる発話された有限数の語句、具体的には自動アシスタント120を呼び出す語句を、テキスト(または低次元の埋め込みなどの他の形式)に変換するように構成され得る。他の音声入力が、クラウドベース自動アシスタントコンポーネント119に送信されてもよく、クラウドベース自動アシスタントコンポーネント119は、クラウドベースTTSモジュール116および/またはクラウドベースSTTモジュール117を含んでもよい。
【0037】
クラウドベースSTTモジュール117は、クラウドの仮想無限リソースを活用して、音声キャプチャ/TTS/STTモジュール114によってキャプチャされる音声データを(その後自然言語プロセッサ122に提供され得る)テキストに変換するように構成され得る。クラウドベースTTSモジュール116は、クラウドの仮想無限リソースを活用して、テキストデータ(例えば、自動アシスタント120によって公式化された自然言語応答)をコンピュータ生成音声出力に変換するように構成され得る。いくつかの実装形態において、TTSモジュール116は、例えば、1つまたは複数のスピーカを用いて直接出力されるように、コンピュータ生成音声出力をクライアントデバイス106に提供し得る。他の実装形態において、自動アシスタント120によって生成されるテキストデータ(例えば、自然言語応答)は、音声キャプチャ/TTS/STTモジュール114に提供されてもよく、音声キャプチャ/TTS/STTモジュール114は、次いで、ローカルに出力されるコンピュータ生成音声にテキストデータを変換してもよい。
【0038】
自動アシスタント120(および、具体的にはクラウドベース自動アシスタントコンポーネント119)は、自然言語プロセッサ122、前述のTTSモジュール116、前述のSTTモジュール117、対話状態トラッカー124、対話マネージャ126、および自然言語生成器128(いくつかの実装形態では、TTSモジュール116と結合され得る)、ならびに本開示に特に関連する会議エンジン130を含み得る。いくつかの実装形態において、自動アシスタント120のエンジンおよび/またはモジュールのうちの1つまたは複数が、省略され、結合され、および/または自動アシスタント120から分離されたコンポーネントにおいて実現されてもよい。
【0039】
いくつかの実装形態において、自動アシスタント120は、自動アシスタント120との人間対コンピュータ対話セッション中に、クライアントデバイス106
1-Nのうちの1つのユーザによって生成された様々な入力に応答して、応答コンテンツを生成する。自動アシスタント120は、対話セッションの一部としてのユーザへの提示のために、応答コンテンツを(例えば、ユーザのクライアントデバイスから分離された場合に1つまたは複数のネットワークにおいて)提供し得る。例えば、自動アシスタント120は、クライアントデバイス106
1-Nのうちの1つを介して提供される自由形式自然言語入力に応答して、応答コンテンツを生成し得る。本明細書で使用されるように、自由形式入力は、ユーザにより策定され、ユーザによる選択のために提示されたオプションのグループに制約されない入力である。
【0040】
本明細書で使用されるように、「対話セッション」は、ユーザと自動アシスタント120と(いくつかの場合には、他の人間の参加者と)の間の1つもしくは複数のメッセージの論理的自己完結型交換、および/または自動アシスタント120による1つもしくは複数の応答アクションの実行を含み得る。自動アシスタント120は、セッション間の時間の経過、セッション間のユーザ状況の変化(例えば、位置、予定したミーティングの前/間/後、など)、ユーザと自動アシスタントとの間の対話以外のユーザとクライアントデバイスとの間の1つまたは複数の介在インタラクションの検出(例えば、ユーザがしばらくの間アプリケーションを切り替える、ユーザがスタンドアロン音声作動式製品から離れて、その後戻って来る)、セッション間のクライアントデバイスのロック/スリープ、自動アシスタント120の1つまたは複数のインスタンスとインターフェース接続するために使用されるクライアントデバイスの変更、などの様々な信号に基づいてユーザとの複数の対話セッション間を区別し得る。以下でより詳細に説明されるように、いくつかの実装形態において、自動アシスタント120は、例えば、会議エンジン130によって、自動アシスタント120が「会議モード」に遷移される「会議対話セッション」を促進し得る。「会議モード」では、自動アシスタント120は、自然言語処理などの様々な機能を実行するために、各口頭発話(または書かれた発言)の前に明示的な呼びかけを必要としない。
【0041】
自動アシスタント120の自然言語プロセッサ122(代替的には、「自然言語理解エンジン」と呼ばれる)は、クライアントデバイス106
1-Nを介してユーザによって生成される自由形式自然言語入力を処理し、いくつかの実装形態では、自動アシスタント120の1つまたは複数の他のコンポーネントによる使用のための注釈付き出力を生成し得る。例えば、自然言語プロセッサ122は、クライアントデバイス106
1の1つまたは複数のユーザインターフェース入力デバイスを介してユーザによって生成される自然言語自由形式入力を処理し得る。生成された注釈付き出力は、自然言語入力の1つまたは複数の注釈、および任意選択で自然言語入力の用語のうちの1つまたは複数(例えば、全て)を含み得る。
【0042】
いくつかの実装形態において、自然言語プロセッサ122は、自然言語入力における様々な種類の文法情報を識別し、注釈するように構成される。例えば、自然言語プロセッサ122は、文法的役割を有する用語を注釈するように構成される音声タグ付け器(図示せず)の一部を含み得る。例えば、音声タグ付け器の一部は、「名詞」、「動詞」、「形容詞」、「代名詞」などの音声の一部で各用語にタグ付けし得る。また、例えば、いくつかの実装形態において、自然言語プロセッサ122は、追加的および/または代替的に、自然言語入力内の用語間の構文上の関係性を判断するように構成される係り受け構文解析器(図示せず)を含み得る。例えば、係り受け構文解析器は、どの用語が、文章の他の用語、主語および動詞などを修飾するかを判断し(例えば、構文解析木)、そのような依存関係の注釈を作成し得る。
【0043】
いくつかの実装形態において、自然言語プロセッサ122は、追加的および/または代替的に、人々(例えば、文学上の人物、著名人、有名人などを含む)、組織、場所(現実および想像上の)などに対する参照などの、1つまたは複数のセグメントにおける実体参照に注釈を付けるように構成される実体タグ付け器(図示せず)を含み得る。いくつかの実装形態において、実体についてのデータは、ナレッジグラフ(図示せず)などの1つまたは複数のデータベースに記憶され得る。いくつかの実装形態において、ナレッジグラフは、既知の実体(いくつかの場合には実体属性)を表すノード、およびノードを接続し実体間の関係性を表すエッジを含み得る。例えば、「バナナ」ノードは、「果物」ノードに(例えば、子として)接続されてもよく、「果物」ノードは、「農産物」および/または「食品」ノードに(例えば、子として)接続されてもよい。別の例として、「Hypothetical Cafe」というレストランは、その住所、提供される食品の種類、時間、連絡先情報などの属性も含むノードによって表され得る。「Hypothetical Cafe」ノードは、いくつかの実装形態において、エッジ(例えば、子と親の関係性を表す)によって、「レストラン」ノード、「ビジネス」ノード、そのレストランが位置する都市および/または州を表すノードなどの1つまたは複数の他のノードに接続され得る。
【0044】
自然言語プロセッサ122の実体タグ付け器は、高いレベルの粒度(例えば、人々などの実体クラスへの全ての参照の識別を可能にする)および/または低いレベルの粒度(例えば、特定の人などの特定の実体への全ての参照の識別を可能にする)で、実体への参照に注釈を付け得る。実体タグ付け器は、特定の実体を解決するために自然言語入力の内容に依存してもよく、および/または任意選択で、特定の実体を解決するためにナレッジグラフもしくは他の実体データベースと通信してもよい。
【0045】
いくつかの実装形態において、自然言語プロセッサ122は、追加的および/または代替的に、1つまたは複数の文脈上の手掛かりに基づいて同一の実体に対する参照をグループ化または「クラスタ化」するように構成される同一指示リゾルバ(図示せず)を含み得る。例えば、同一指示リゾルバは、「前回私たちがそこで食事したHypothetical Cafeが好きだった」という自然言語入力における「そこで」という用語を「Hypothetical Cafe」に解決するために利用され得る。
【0046】
いくつかの実装形態において、自然言語プロセッサ122の1つまたは複数のコンポーネントは、自然言語プロセッサ122の1つまたは複数の他のコンポーネントからの注釈に依存し得る。例えば、いくつかの実装形態において、固有表現タグ付け器は、特定の実体への全ての言及に注釈を付ける際に、同一指示リゾルバおよび/または係り受け構文解析器からの注釈に依存し得る。また、例えば、いくつかの実装形態において、同一指示リゾルバは、同一実体への参照をクラスタ化する際に、係り受け構文解析器からの注釈に依存し得る。いくつかの実装形態において、特定の自然言語入力を処理する際に、自然言語プロセッサ122の1つまたは複数のコンポーネントが、関連する前の入力および/または特定の自然言語入力以外の他の関連データを使用して、1つまたは複数の注釈を判断し得る。
【0047】
いくつかの実装形態において、対話状態トラッカー124は、例えば、人間対コンピュータ対話セッションの進路上の、複数の対話セッションにわたる、および/または会議対話セッション中の、1つまたは複数のユーザの目標(または「意思」)の確信状態を含む、「対話状態」を追跡するように構成され得る。対話状態を判断する際に、いくつかの対話状態トラッカーは、対話セッション内のユーザおよびシステム発話に基づいて、対話においてインスタンス化されたスロットについて最も可能性が高い値を判断しようとしてもよい。いくつかの技術は、スロットのセットおよびそれらのスロットに関連付けられた値のセットを定義する、固定されたオントロジを利用する。いくつかの技術は、追加的または代替的に、個々のスロットおよび/またはドメインに適合され得る。例えば、いくつかの技術は、各ドメイン内の各スロットタイプについてモデルを訓練する必要がある場合がある。
【0048】
対話マネージャ126は、例えば、対話状態トラッカー124によって提供される現在の対話状態を、自動アシスタント120によってその後実行される複数の候補応答アクションの1つまたは複数の「応答アクション」にマッピングするように構成され得る。応答アクションは、現在の対話状態に依存して、多様な形式で現れ得る。例えば、最後の順番(例えば、最終的なユーザ所望のタスクが実行されるとき)の前に発生する対話セッションの順番に対応する最初および途中の対話状態は、自動アシスタント120が追加の自然言語対話を出力することを含む様々な応答アクションにマッピングされ得る。この応答対話は、例えば、ユーザが実行することを意図すると対話状態トラッカー124が信じる何らかのアクションのためのパラメータをユーザが提供する(すなわち、スロットを埋める)リクエストを含み得る。いくつかの実装形態において、応答アクションは、「リクエスト」(例えば、スロットを埋めるためのパラメータを求める)、「提案」(例えば、ユーザのためのアクションまたはアクションの進路を示唆する)、「選択」、「通知」(例えば、リクエストされた情報をユーザに提供する)、「合致なし」(例えば、ユーザの最後の入力が理解されないことをユーザに通知する)などのアクションを含み得る。
【0049】
会議エンジン130は、自動アシスタント120が複数の人間の参加者の間のミーティングに「参加」し、様々な機能を実行することを可能にする、自動アシスタント120の「会議モード」を容易にするように構成され得る。様々な実装形態において、本開示の選択された態様で構成される自動アシスタント120は、本明細書において「会議コンピューティングデバイス」と呼ばれるものにおいて少なくとも一部動作し得る。会議コンピューティングデバイスは、スピーカ、ディスプレイ、および特にマイクロフォンなどの1つまたは複数の入力/出力コンポーネントを用いて複数の人間の参加者間のミーティングに参加することが可能な1つまたは複数のクライアントデバイス106を含む任意のコンピューティングデバイスであってもよい。多様なコンピューティングデバイスが、スタンドアロンインタラクティブスピーカ、ビデオ会議コンピューティングシステム、車両コンピューティングシステムなどの、会議コンピューティングデバイスとしての使用に特に適し得る。しかしながら、マイクロフォンおよび少なくとも1つの出力コンポーネント(例えば、音声または視覚)を有する任意のコンピューティングデバイスが、会議コンピューティングデバイスとして使用され得る。
【0050】
様々な実装形態において、会議エンジン130は、複数の別個の発話のそれぞれの前に自動アシスタント120の明示的な呼びかけを必要とすることなく、複数の別個の発話に対する音声テキスト化処理(例えば、STT117による)を自動アシスタント120に実行させるための前述の「会議モード」に、自動アシスタント120を設定するように構成され得る。多くの場合、複数の別個の発話は、複数の参加者間のミーティングまたは会議中に複数の参加者によってもたらされ得る。明示的な呼びかけを毎回必要とすることなくユーザ発話の自然言語処理および他の処理を実行することによって、自動アシスタント120は、ミーティングの参加者に役立ち得る多様な機能を実行することが可能となり得る。例えば、各発話の前に自動アシスタントを明示的に呼び出す必要性を回避することによって、自動アシスタントが特定の発話の全てまたは一部を処理し損なうリスクが減少し得る。これは、発話が発生したときに自動アシスタントが非会議モード(すなわち、音声テキスト化処理がルーチン的に実行されないモード)になっていた場合に発生する可能性がある。これにより、自動アシスタントの信頼性が改善される。
【0051】
例えば、いくつかの実装形態において、会議モード中に、自動アシスタント120は、参加者の議論に基づく情報を参加者に自由に提供し得る。より具体的には、いくつかの実装形態において、自動アシスタント120は、ミーティング参加者によって提供される複数の別個の発話のうちの1つまたは複数の音声テキスト化処理から生成される第1のテキストに対して、(例えば、自然言語プロセッサ122および/または他のクラウドベース自動アシスタントコンポーネント119によって)意味処理を自動的に(すなわち、参加者からの明示的なコマンドを必要とすることなく)実行し得る。自動アシスタント120が会議モードでなかった場合、自動アシスタント120は、明示的な呼びかけなしでそのような意味処理を実行しない。意味処理に基づいて、自動アシスタント120は、意味処理されたテキストに関係するデータを生成し得る。例えば、テキストが、質問を含んだユーザ発話から生成された場合、テキストは、自動アシスタント120が1つまたは複数のデータベースに提出した検索クエリを生成するために使用され得る。検索クエリに応答するデータが、次いで自動アシスタント120によって取得され、会議コンピューティングデバイスのうちの1つまたは複数において複数のミーティング参加者に出力され得る。そのようなシナリオの例が、以下で説明される。
【0052】
全ての参加者の発話が、自動アシスタント120による応答に値するというわけではない。例えば、参加者が、自動アシスタント120が反応することを望まないミーティング中のくだけた冗談に関わることもある。したがって、様々な実装形態において、自動アシスタント120は、参加者の議論の意味処理に基づいて自動アシスタント120が取り込むミーティング内容に導入するかどうかを判断するための、様々な基準を分析し得る。いくつかの実装形態において、自動アシスタント120は、参加者の発話に応答して自動アシスタント120が取得する情報に関連付けられた関連性スコアを判断し得る。取り込まれた情報が、何らかの最小関連性閾値を満たす関連性スコアを有する場合、自動アシスタント120は、潜在的に情報を議論に組み込み得る(例えば、後述の様式に関連する他の制約を受ける)。一方、取り込まれた情報が、そのような閾値を満たさない関連性スコアを有する場合、その情報が参加者に有用ではなさそう、または参加者によって高く評価されなさそうであり得るために、自動アシスタント120は、情報をミーティング議論に組み込むことを抑制し得る。
【0053】
自動アシスタント120は、ミーティング参加者を支援するために会議モード中に多様な他の機能を実行し得る。例えば、自動アシスタント120は、ミーティングに関連付けられたアジェンダ、文書、または他の情報についての情報を参加者に提供する音声または視覚的出力を提供し得る。ミーティングが電子/オンラインカレンダーシステムを用いて予定され、カレンダーエントリが、例えば参加者の1人によって準備されたミーティングアジェンダを含むと仮定する。そのようなミーティングアジェンダは、議論のための話題、アクション項目、およびそれらの関連状態(例えば、完了または未完了)、参加者の識別、投票の対象となるアジェンダ項目、現在のミーティングと前のまたは将来のミーティングとの関係性などの、様々な情報を含み得る。
【0054】
いくつかの実装形態において、そのようなミーティングアジェンダは、ミーティング中に連続的表示および/もしくは再表示され、ならびに/または周期的に表示され得る。例えば、いくつかの実装形態において、自動アシスタント120は、議論が異なる話題間で遷移したときに起こり、および/または識別する1つまたは複数の話題を参加者の発話から生成されたテキストから識別する、話題分類器で構成され得る。そのような話題分類器は、期待値最大化、用語頻度-逆文書頻度(「TF-IDF」)、単純ベイズ分類、潜在意味インデキシング、サポートベクターマシン、人工神経網、決定木、コンセプトマイニングなどの、文書分類によく使用される話題分類の多様な既知の技術を採用し得る。
【0055】
ミーティングアジェンダがアクション項目を含むいくつかの実装形態において、自動アシスタント120は、アクション項目が対処されたかどうか(例えば、解決済み、遅延、修正済み、キャンセル済みなど)を判断するために、ミーティング中に参加者によってもたらされる発話を意味処理するように構成され得る。自動アシスタント120は、アジェンダを表示するときに、アクション項目について表示された情報をそれに従って修正し得る。この1つの例は、
図2Cに関して後述される。また、スライドのシーケンスが提示されているいくつかの実装形態において、自動アシスタント120は、シーケンスを通してスライドを自動的に進めるために、参加者の発話を意味処理し得る。
【0056】
いくつかの実装形態において、自動アシスタント120は、例えば、会議モードから、発話を意味処理する前に明示的な呼びかけを必要とする非会議モードまたは「通常」モードに戻って遷移した後、ミーティングサマリを生成し得る。いくつかの実装形態において、ミーティングサマリが、ミーティングの議論の意味処理を通して学習されたミーティング参加者の議論の内容に基づいて注釈され得ることを除いて、ミーティングサマリはミーティングアジェンダに類似であり得る。追加的または代替的に、ミーティングアジェンダがミーティングの前に準備されていない場合特に、自動アシスタント120は、参加者の議論の意味処理のみに基づいてミーティングサマリを新たに生成し得る。それによって、ミーティング参加者の1人または全員がミーティング中にメモをとる必要性が減少し、または排除され得る。さらに、人間の参加者によって作られたメモ内の誤りおよび/または省略が減少し、または回避され得る。
【0057】
自動アシスタント120によって生成されたミーティングサマリは、多様な他の情報を含み得る。ミーティングアジェンダにも含まれ得る情報に追加して、またはその代わりに、本明細書で説明される技術を用いて生成されるミーティングサマリは、議論された話題(前述の話題分類器によって少なくとも一部検出され得る)、生成され/対処され/修正されたアクション項目、ミーティングの結論(例えば、会場の予約、チケットの購入、投票結果など)、ミーティング中のいくらかまたは全ての参加者の発話の部分的または全体的な書き起こし、参加者がミーティングを予定することを議論した場合の次の(またはフォローアップ)ミーティングなどを含み得る。
【0058】
様々な実装形態において、自動アシスタント120は、例えば、会議エンジン130によって、ミーティングが開始および/または終了するとき、したがって、自動アシスタント120が会議モードと通常モードとの間で遷移すべきであるときを、多様な手掛かりを使用して判断し得る。いくつかの実装形態において、ミーティング参加者は、「ヘイ、アシスタント、ミーティングを始めましょう」などの明示的なコマンドを発行して、自動アシスタント120を会議モードに遷移させ得る。追加的または代替的に、いくつかの実装形態において、自動アシスタント120は、ユーザ発話に基づいて、いつ通常モードから会議モードに遷移するかを推測し得る。例えば、自動アシスタント120は、参加者が、例えば別の参加者に(および直接自動アシスタント120にではなく)「では、始めましょう」または「このミーティングを進めましょう」のようなことを言うときに、通常モードから会議モードに遷移し得る。ミーティングが、公聴会、非営利取締役会などの、公式の手続が後に続くと考えられる種類のミーティングである場合、そのような公式のミーティングを開始するために通常および/または公式に発せられる語句が、検出され、自動アシスタント120を通常モードから会議モードに遷移させ得る。いくつかの実装形態において、自動アシスタント120は、そのようなミーティングにおいて参加者による投票数を集計するように構成され得る。
【0059】
いくつかの実装形態において、自動アシスタント120は、ミーティングが特定の時間および/または場所で行われる予定であることを示す1つまたは複数の電子カレンダーエントリにアクセスし得る。いくつかのそのような実装形態において、自動アシスタント120は、ミーティングの予定された開始時間において、ならびに/または自動アシスタント120が(例えば、1つまたは複数のマイクロフォンおよび/もしくはカメラを用いて)参加者のうちの少なくとも何人かが、指定されたミーティング場所に一緒にいることを検出する、スケジュール開始時間後のある時点において、会議モードに自動的に遷移し得る。同様に、自動アシスタント120は、明示的なユーザ命令(例えば、「ヘイ、アシスタント、ミーティングを終わりにしましょう」)、暗示的なユーザ発話(例えば、「今日はこれで終わりにしましょう」)、および/または形式化された発話(例えば、「このミーティングは延期します」)に基づいて、いつ会議モードから通常モードに戻って遷移するかを判断し得る。自動アシスタントを非会議モードに自動的に遷移することによって、ミーティングに無関係の発話の不必要な音声テキスト化処理(および後続の処理)が回避され得る。これは、自動アシスタントが永続的に会議モードにある場合よりも少ない計算リソースを、自動アシスタントに消費させ得る。
【0060】
自動アシスタント120が複数の人間の参加者間のミーティングにコンテンツを自動的に組み込むことに関連する様々な課題が存在する。人間の参加者が、自動アシスタント120に対してではなく互いに話している場合に、参加者が別の参加者からのフィードバックを期待しているときに自動アシスタント120がコンテンツを提供することは、注意をそらすことである場合がある。自動アシスタント120が速過ぎて質問(自動アシスタント120が検索クエリとして提出し得る)を含む話者の発話に応じた検索結果を提供できない場合、応答コンテンツの提示は、特に聴覚的に行われた場合、話者の発話に応答するつもりであった1人または複数の参加者の注意をそらし、および/または中断することがある。さらに、自動アシスタント120が、多過ぎる参加者の発話に対して応答コンテンツを提供する場合、参加者は、多過ぎる情報によって注意をそらされ、および/または溢れかえる可能性がある。言い換えると、自動アシスタント120は、邪魔になることがある。
【0061】
したがって、様々な実装形態において、自動アシスタント120は、ミーティング参加者にコンテンツを出力する(「議論にコンテンツを導入する」とも言われる)ときに、多様な手掛かりに基づいて様々なレベルの裁量権を行使するように構成され得る。いくつかの実装形態において、自動アシスタント120が、参加者の発話を意味処理し、応答コンテンツを取り込んだとき、自動アシスタント120は、応答コンテンツを出力として提供する前に、会話内の休止(例えば、5秒などの所定の時間間隔)を待機してもよい。いくつかのそのような実装形態において、例えばミーティング参加者が熱心に議論を続けているため、そのような休止が発生しない場合、自動アシスタント120は、休止を待機するか、または特に議論の文脈が変化した(例えば、議論の新たな話題が検出される)と自動アシスタント120が判断する場合、応答コンテンツを破棄してもよい。いくつかの実装形態において、1分、5分、30秒などのいくらかの所定の時間間隔の間、会話に休止がない場合、自動アシスタント120は、そのような応答コンテンツを破棄し得る。
【0062】
いくつかの実装形態において、自動アシスタント120は、議論にコンテンツを自動的に導入するときに、自動アシスタント120に利用可能な出力様式の種類に見合ったレベルの裁量権を行使し得る。例えば、本開示の選択された態様で構成されるスタンドアロンスピーカまたは会議電話の形式でクライアントデバイス106によって提供される聴覚的出力は、あまりに頻繁に提示される場合、注意をそらされる可能性がある。対照的に、視覚的出力は、あまり注意をそらさせない可能性がある。よって、自動アシスタント120が、ディスプレイ上、例えば会議テレビスクリーン上、または参加者によって見られる個別のコンピュータスクリーン上にでも視覚的出力を提供することが可能である場合、自動アシスタント120は、コンテンツを出力するかどうか、および/またはいつ出力するかを判断する際に比較的低いレベルの裁量権を行使し得る。一方、自動アシスタント120が、1つまたは複数のスピーカを介して聴覚的出力を提供することのみ可能である場合、自動アシスタント120は、コンテンツを出力するかどうか、および/またはいつ出力するかを判断する際に、より高いレベルの裁量権を行使し得る。
【0063】
本明細書で説明される例は、複数のミーティング参加者が、本開示の選択された態様で構成される自動アシスタント120を動作させるスタンドアロンインタラクティブスピーカおよび/またはディスプレイなどのクライアントデバイス106と物理的に同じ場所に位置するシナリオを、主に対象とする。しかしながら、これは、限定することを意味しない。本明細書で説明される技術は、ミーティング参加者が同じ場所にいないシナリオにおいても同様に適用可能である。例えば、2人以上の参加者が、例えば、各ユーザが彼ら自身のコンピュータの前に座って、ビデオ会議を用いてミーティングを行っていると、仮定する。いくつかの実装形態において、自動アシスタント120は、各参加者に彼らのそれぞれのスクリーンにおいて同一の出力を提供し得る。他の実装形態において、自動アシスタント120は、例えば、個々の参加者の嗜好、個々の参加者のコンテンツ(例えば、1人の参加者が公共の場所にいて、潜在的に機密情報を表示したくない可能性がある)などに依存して、各参加者に彼らのスクリーンにおいて異なるコンテンツを提供してもよい。2人のミーティング参加者が同じ場所におらず、異なる出力様式、例えば、1つは音声、1つは視覚を有するクライアントデバイス106を動作させているシナリオにおいて、自動アシスタント120は、排他的に音声出力能力を有する参加者よりも多くのコンテンツを、視覚的出力能力を有する参加者に提示されるように提供(または「プッシュ」)し得る。
【0064】
図2A〜
図2Dは、1つまたは複数のクライアントデバイス206
1-2において少なくとも一部実行されているとして自動アシスタント120が「参加する」、複数の参加者202
1-3の間のミーティングの1つの例を説明する。この例では、第1のクライアントデバイス206
1は、マイクロフォン(具体的に図示されず)を有するスタンドアロンインタラクティブスピーカの形式をとり、第2のクライアントデバイス206
2は、表示能力を有するスマートテレビの形式をとる。この例について、参加者202
1-3が電子カレンダーを用いてミーティングを予定し、カレンダーエントリまたはカレンダーエントリに添付された別個の文書のいずれかにおいて、参加者のうちの1人によって定義されたアジェンダが存在したと想定され得る。
【0065】
図2Aにおいて、第1の参加者202
1が、「OK、アシスタント、ミーティングを始めましょう」との発話を行うことによって、ミーティングを開始する。これは、自動アシスタント120が非会議モードまたは通常モードから上述した会議モードへ遷移するための明示的なコマンドの例である。ミーティング用のアジェンダが、例えば自動アシスタント120の命令で、第2のクライアントデバイス206
2上に表示される。アジェンダは、2つの話題、「会社イベントを計画する」および「予算を見直す」を含む。いくつかの実装形態において、自動アシスタント120が会議モードに遷移すると、アジェンダが表示され得る。
【0066】
図2Bにおいて、第2の参加者202
2が、「球場での会社イベントを計画すべきです」と言う。この発話の意味処理に基づいて、自動アシスタント120は、ミーティングアジェンダ上の第1の項目(「会社イベントを計画する」)に彼女が言及していると判断し得る。自動アシスタント120は、また、例えば前述した実体タグ付け器によって、「球場」が特定のスポーツチームに関連付けられた特定の会場に対する参照であると、判断し得る。
図2Bには示されていないが、いくつかの実装形態では、この時点で、自動アシスタント120は、写真、そのウェブサイトへのリンク、スポーツチームについての情報などの、球場についての様々な情報を第2のクライアントデバイス206
2に表示させてもよい。第3の参加者202
3は、「いい考えです。そのスケジュールはどうですか?」と質問することによって、第2の参加者の発言に応答する。自動アシスタント120は、例えば前述した同一指示リゾルバによって、「その」という単語をそれが前に識別したスポーツチームで解決し得る。次いで、自動アシスタント120は、スポーツチームのスケジュールについての検索クエリを生成および提出してもよく、
図2Bに示されるように、第2のクライアントデバイス206
2上に応答データを表示してもよい。
【0067】
図2Cは、参加者202
1-3が会社イベントを議論することを終了し、次の話題に軸を置いた後の、後の段階における同じミーティングを示す。第1の参加者202
1は、「いいですね、イベントは計画されたようです」と言う。自動アシスタント120は、この発話を意味処理し、ミーティングアジェンダ項目(例えば、第1のアクション項目「会社イベントを計画する」)のうちの1つにそれを関連付け得る。追加的に、自動アシスタント120は、意味処理に基づいて、この特定のアジェンダ項目が対処されたと判断し得る。したがって、自動アシスタント120は、ミーティングアジェンダ項目「会社イベントを計画する」が
図2Cに示された取り消し線または別の視覚的指標(例えば、チェックボックス、フォントなど)で完了済みであると示されて、第2のクライアントデバイス206
2上にミーティングアジェンダをレンダリング(または再レンダリング)し得る。参加者202
1-3が異なる話題に遷移していると見られるときに、議論のその時点でミーティングアジェンダをレンダリングすることによって、参加者202
1-3は、議論の次の話題、この場合は予算を見直しすることを思い起こす。これは、ミーティングに集中し続け、参加者が話題から逸れない状態に保つことに役立つ。
【0068】
図2Dは、ミーティングの終わりに起こり得ることの1つの例を示す。第3の参加者202
3が、「さて、ここから出ましょう。」と言う。前述の通り、自動アシスタント120は、ミーティングが終わったことを推測するためにこの発話を意味処理し得る。その結果、
図2Dにおいて、自動アシスタント120は、ミーティングサマリを第2のクライアントデバイス206
2上に表示すること、および会議モードから非会議モードまたは通常モードに遷移することを含む、いくつかのアクションを行い得る。この例では、表示されたミーティングサマリは、議論された話題のリストを含み、それは、元のミーティングアジェンダから一部生成されてもよく、されなくともよい。ここで、ミーティングサマリは、会社イベントが計画されたこと、および予算が見直されたことを含む、ミーティングの結論を含む。さらに、ミーティングサマリは、例えば予算見直しに関して、参加者202
1-3によってミーティング中に議論され、自動アシスタント120によって意味的に検出されたアクション項目を含む。
【0069】
いくつかの実装形態において、
図2Dに示されるようなミーティングサマリは、例えば、電子メールまたはファイル共有によって、ミーティング参加者のうちの1人または複数に提供され得る。フォローアップミーティングが計画されていると(例えば、ミーティング中の議論の意味処理から、または元のカレンダーエントリにリンク付けされた新たなカレンダーエントリによって、)自動アシスタント120により判断されるいくつかの実装形態において、ミーティングサマリは、例えば、ミーティングアジェンダとして、保存されフォローミーティングにおいて提示され得る。いくつかの実装形態において、自動アシスタント120は、2つのミーティングが関連し、したがって、アジェンダおよび/または話題を共有し得るときに自動的に検出し得る。例えば、自動アシスタント120は、複数のミーティングに関連付けられたメタデータ(例えば、タイトル)を検査し、または複数のミーティングが参加者を共有すると判断し得る。いくつかの実装形態において、自動アシスタント120は、定期的に予定されたミーティングを示唆する複数のミーティング間のパターンを検出してもよく、複数のミーティングにわたってミーティングサマリを「持ち越し」てもよい。
【0070】
いくつかの実装形態において、自動アシスタント120は、例えば、ミーティングアジェンダおよび/またはサマリをそれらの参加者にプッシュするために、様々な手法でミーティング参加者を識別し得る。簡単な例として、カレンダーエントリは、ミーティング参加者を明示的に識別してもよく、それは、自動アシスタント120が、参加者の電子メールアドレスを判断するために使用し得る。追加的または代替的に、いくつかの実装形態において、自動アシスタント120は、ミーティング参加者を識別するために音声認識を実行するように構成されてもよく、次いで識別された参加者を既知のユーザプロファイルと照合してもよい。別の例として、いくつかの実装形態において、参加者は、例えば、ミーティングの発端における導入部分として、自分自身を明示的に識別してもよく、自動アシスタント120は、発言された名前を検出してもよい(かつ、例えば、ミーティングサマリにそれらの名前を追加してもよい)。
【0071】
図2A〜
図2Dの例としてのシナリオでは、全てのミーティング参加者が、単一の場所で一緒にいる。しかしながら、上述のように、これは、限定することを意味しない。
図3は、デスクトップコンピュータの形式で第1のクライアントデバイス306
1を動作させる第1の参加者(図示せず)と、第2のクライアントデバイス306
2を形成する車載コンピューティングシステムを含む自動車340を運転している第2の参加者(図示せず)との間で発生するミーティングの例を示す。この例の場合、第1の参加者は、自動アシスタント120によって意味処理される自由形式自然言語入力を発話またはタイプすることができるが、第2の参加者は、発話される自由形式自然言語入力を提供することのみに(運転に起因して)制限されると想定され得る。自動アシスタント120は、第1のクライアントデバイス306
1においては視覚的および/または聴覚的に情報を提供することができるが、第2のクライアントデバイス306
2においては、視覚的出力が運転中の参加者の注意をそらし得るため、聴覚的にしか提供することができない。
【0072】
第1のクライアントデバイス306
1において第1の参加者が、ミーティング中に「今週末レキシントンへ行きたいですか?」のようなことを言い、クライアントデバイス306
2を操作している第2の(運転中の)ユーザが、「たぶん、天気次第です。」と応答すると、仮定する。自動アシスタント120は、これらの発話に対して意味処理を実行して、1つまたは複数の検索クエリを生成し、レキシントンおよび今週末のレキシントンの天気についての情報を取り込み得る。第1の参加者は、ディスプレイを有する第1のクライアントデバイス306
1を操作しているため、自動アシスタント120は、提示する応答情報を選択する際に比較的小さな裁量権を行使し得る。これは、第1の参加者が運転のような活動に従事していると知らされていないため、かつ視覚的出力が、最も注意をそらさない可能性が高いためである。したがって、レキシントン自体についての他の関心地点、日曜のレキシントンの天気、レキシントンから1時間以内の関心地点を含む豊富な応答情報が、第1のコンピューティングデバイス306
1において視覚的に提示される。
【0073】
対照的に、自動アシスタント120は、自動車340を運転する第2の参加者に音声出力を用いて情報をプッシュすることだけができる。したがって、自動アシスタント120は、自動アシスタント120が提供する情報についてはるかに選択的であり得る。例えば、参加者は、概略的にレキシントンの位置を議論しているが、彼らは関心地点について互いに明示的に質問していない。したがって、第1のクライアントデバイス306
1上に表示されている様々な関心地点に関連付けられた関連性スコアは、運転中の参加者に使用される最小関連性スコアを満たさない可能性がある。その結果、第1の参加者が、レキシントンについての全ての情報を見ている一方、自動車を運転している第2の参加者は、最も関連する情報、すなわち、日曜のレキシントンの天気だけを聞いている。
【0074】
したがって、様々な実装形態において、自動アシスタント120は、ミーティング参加者の状況に基づいて関連性閾値を調整し得ることが分かる。別の例として、
図3の第1のユーザが、作業を行う(例えば、文書を下書きする、スプレッドシートで作業する、調査を行う、など)ために、第1のクライアントデバイス306
1を操作していると仮定する。この状況では、会話に関係する情報で第1の参加者が視覚的に溢れかえること、または第1の参加者の注意をそらすことが望ましくない可能性がある。したがって、自動アシスタント120は、第2の運転中の参加者に関連付けられた、高められた関連性閾値とより近づけて揃えるように、第1の参加者に関連付けられた関連性閾値を調整し得る。例えば、第1の参加者が他の目的でディスプレイを使用しているため、表示能力を有するにもかかわらず、自動アシスタント120は、第1の参加者の注意をそらすことを回避するために、情報を第1の参加者に視覚的ではなく聴覚的にプッシュするように選択してもよい。
【0075】
図4は、本明細書で開示された実装形態に従って、例としての方法400を示すフローチャートである。便宜上、フローチャートの動作は、動作を実行するシステムを参照して説明される。このシステムは、自動アシスタント120を実現するコンピューティングシステムの1つまたは複数のコンポーネントなどの、様々なコンピュータシステムの様々なコンポーネントを含み得る。さらに、方法400の動作は、特定の順序で示されているが、これは、限定することを意味しない。1つまたは複数の動作が、再順序付けされ、省略され、または追加されてもよい。
【0076】
ブロック402において、システムは、1つまたは複数の会議コンピューティングデバイスにおいて少なくとも一部実現される自動アシスタント120を、複数の別個の発話のそれぞれの前に、自動アシスタントの明示的な呼びかけを必要とすることなく、自動アシスタントが複数の別個の発話に対する音声テキスト化処理を実行する会議モードに設定し得る。本明細書で説明されるように、様々な実装形態において、複数の別個の発話は、複数の参加者間のミーティング中に複数の人間の参加者によってもたらされ得る。
【0077】
ブロック404において、システムは、複数の別個の発話のうちの1つまたは複数の音声テキスト化処理から生成される第1のテキストに対して意味処理を自動的に実行し得る。特に、意味処理は、明示的な参加者の呼びかけなしに実行され得る。実際に、様々な実装形態において、システムは、全ての参加者の発話から生成されるテキストに対して意味処理を実行し得る。特定の参加者の発話が解読できない場合、音声をテキストに変換できない可能性があり、その場合、自動アシスタント120は何のアクションも行わない。特定の参加者の発話が、解読できるが、意味的に処理されるときにミーティングの議論に関連する情報(例えば、関連性閾値を満たさない関連性スコア)をもたらさない場合、自動アシスタント120は、取り込まれた情報に対して何のアクションも行わないことがある。しかしながら、ブロック406において、意味処理に基づいて取り込まれた情報が、関連性閾値などの何らかの基準を満たす場合、システムは、意味処理の結果として得られた情報に基づいて、関連するデータ(例えば、自然言語出力)を生成し、その関連データを会議コンピューティングデバイスのうちの1つまたは複数において複数の参加者のうちの1人または複数に出力(ブロック408において)し得る。
【0078】
ブロック410において、システムは、ミーティングが終了したと判断し得る。上述の通り、この判断は、参加者からの明示的なコマンド(「OK、アシスタント、ミーティングを終わらせよう」)に応答して行われ、ユーザの発話(「このミーティングは延期される」)から推測され、または会議コンピューティングデバイスとして使用されているスタンドアロンインタラクティブスピーカの表面をタップするなどの他のユーザ入力に応答して行われ得る。ブロック410の判断に応答して、ブロック412において、システムは、自動アシスタント120を、個々の発話に対して音声テキスト化処理を実行する前に自動アシスタントが呼びかけを必要とする非会議モードに設定し得る。
【0079】
ブロック414で、いくつかの実装形態において、システムは、例えば、ミーティング中にミーティング参加者によってもたらされる複数の発話の意味処理に基づいて、ミーティングサマリを生成し得る。上述の通り、ミーティングサマリは、議論された話題、アクション項目(作成済み、解決済み、修正済みなど)、参加者、および/またはミーティングの部分的な書き起こしもしくは完全な書き起こしのようなものを含み得る。いくつかの実装形態において、書き起こしは、参加者の発話だけでなく、自動アシスタント120によってミーティングに導入される任意の情報で注釈が付けられ、またはそれらを含んでもよい。
【0080】
図5は、本明細書で説明される技術の1つまたは複数の態様を実行するために任意選択的に利用され得る、例としてのコンピューティングデバイス510のブロック図である。コンピューティングデバイス510は、典型的には、バスサブシステム512を介していくつかの周辺デバイスと通信する少なくとも1つのプロセッサ514を含む。これらの周辺デバイスは、例えば、メモリサブシステム525およびファイルストレージサブシステム526、ユーザインターフェース出力デバイス520、ユーザインターフェース入力デバイス522、ならびにネットワークインターフェースサブシステム516を含む、ストレージサブシステム524を含み得る。入力および出力デバイスは、コンピューティングデバイス510とのユーザインタラクションを可能にする。ネットワークインターフェースサブシステム516は、インターフェースを外部ネットワークに提供し、他のコンピューティングデバイス内の対応するインターフェースデバイスに連結される。
【0081】
ユーザインターフェース入力デバイス522は、キーボード、マウス、トラックボール、タッチパッド、もしくはグラフィックタブレットなどのポインティングデバイス、スキャナ、ディスプレイに組み込まれたタッチスクリーン、音声認識システム、マイクロフォンなどの音声入力デバイス、および/または他の種類の入力デバイスを含み得る。概して、「入力デバイス」という用語の使用は、コンピューティングデバイス510に、または通信ネットワーク上に情報を入力するための全ての可能な種類のデバイスおよび方式を含むように意図される。
【0082】
ユーザインターフェース出力デバイス520は、ディスプレイサブシステム、プリンタ、ファックスマシン、音声出力デバイスなどの非視覚的ディスプレイを含み得る。ディスプレイサブシステムは、陰極線管(CRT)、液晶ディスプレイ(LCD)などのフラットパネルデバイス、投影デバイス、または可視画像を作成するための何らかの他の機構を含み得る。ディスプレイサブシステムは、音声出力デバイスなどを介して非視覚的ディスプレイも提供し得る。概して、「出力デバイス」という用語の使用は、コンピューティングデバイス510からユーザに、または別の機械もしくはコンピューティングデバイスに情報を出力するための全ての可能な種類のデバイスおよび方式を含むように意図される。
【0083】
ストレージサブシステム524は、本明細書で説明されるモジュールのいくつかまたは全ての機能を提供するプログラミングおよびデータ構成物を記憶する。例えば、ストレージサブシステム524は、
図4の方法の選択された態様を実行するため、および
図1に示される様々なコンポーネントを実現するためのロジックを含み得る。
【0084】
これらのソフトウェアモジュールは、概して、プロセッサ514によって単独で、または他のプロセッサと組み合わせて実行される。ストレージサブシステム524において使用されるメモリ525は、プログラム実行中の命令およびデータの記憶のためのメインランダムアクセスメモリ(RAM)530、ならびに固定命令が記憶されているリードオンリメモリ(ROM)532を含む、いくつかのメモリを含み得る。ファイルストレージサブシステム526は、プログラムおよびデータファイルのための永続的ストレージを提供してもよく、ハードディスクドライブ、関連するリムーバブル媒体を伴うフロッピーディスクドライブ、CD-ROMドライブ、光学ドライブ、またはリムーバブル媒体カートリッジを含み得る。ある実装形態の機能を実現するモジュールは、ストレージサブシステム524内、またはプロセッサ514によってアクセス可能な他の機械内のファイルストレージサブシステム526によって記憶され得る。
【0085】
バスサブシステム512は、コンピューティングデバイス510の様々なコンポーネントおよびサブシステムに意図した通りに互いに通信させるための機構を提供する。バスサブシステム512は、概略的に単一バスとして示されているが、バスサブシステムの代替的な実装形態は、複数のバスを使用し得る。
【0086】
コンピューティングデバイス510は、ワークステーション、サーバ、コンピューティングクラスタ、ブレードサーバ、サーバファーム、または任意の他のデータ処理システムもしくはコンピューティングデバイスを含む多様な種類のものであり得る。コンピュータおよびネットワークの絶えず変化する性質に起因して、
図5に示されるコンピューティングデバイス510の説明は、いくつかの実装形態を例示するための特定の例としてのみ意図される。コンピューティングデバイス510の多くの他の構成が、
図5に示されるコンピューティングデバイスよりも多くの、または少ないコンポーネントを有することが可能である。
【0087】
本明細書で論じられるある実装形態が、ユーザについての個人情報(例えば、他の電子通信から抽出されるユーザデータ、ユーザのソーシャルネットワークについての情報、ユーザの位置、ユーザの時間、ユーザの生体情報、ならびにユーザの活動および人口統計学情報、ユーザ間の関係性など)を収集または使用し得る状況において、ユーザには、情報が収集されるかどうか、個人情報が記憶されるかどうか、個人情報が使用されるかどうか、ならびに情報がどのようにしてユーザについて収集され、記憶され、および使用されるかを制御するための1つまたは複数の機会が与えられる。すなわち、本明細書で論じられるシステムおよび方法は、そうするための関連ユーザからの明示的な認可を受信するときにのみ、ユーザの個人情報を収集し、記憶し、および/または使用する。
【0088】
例えば、ユーザには、プログラムまたは特徴がその特定ユーザまたはプログラムもしくは特徴に関連する他のユーザについてのユーザ情報を収集するかどうかに対する制御が提供される。個人情報が収集される予定の各ユーザには、そのユーザに関連する情報収集に対する制御を可能にするため、情報が収集されるかどうかについて、および情報のどの部分が収集されるかについての許可または認可を提供するための、1つまたは複数のオプションが提示される。例えば、ユーザには、通信ネットワークに対する1つまたは複数のそのような制御オプションが提供され得る。さらに、あるデータは、個人的に識別可能な情報が除去されるように、データが記憶または使用される前に1つまたは複数の方式で取り扱われ得る。1つの例として、ユーザの識別が、個人的に識別可能な情報が判断され得ないように取り扱われ得る。別の例として、ユーザの地理的位置は、ユーザの特定位置が判断され得ないように、より大きな領域に一般化されてもよい。
【0089】
複数の実装形態が、本明細書において説明され、例示されているが、本明細書で説明された、機能を実行するため、ならびに/または結果および/もしくは利点の1つまたは複数を得るための多様な他の手段および/または構造が利用されてもよく、そのような変形および/または修正のそれぞれが、本明細書で説明された実装形態の範囲内にあると見なされる。より概略的には、本明細書で説明された全てのパラメータ、寸法、材料、および構成は、例示的であるように意味され、実際のパラメータ、寸法、材料、および/または構成は、教示が使用される特定の適用例に依存すると意味される。当業者は、本明細書で説明された特定の実装形態に対する多くの等価物を認識し、またはわずかな単調な実験を用いて確認することが可能であろう。したがって、前述の実装形態が単なる例としてのみ提示され、添付された特許請求の範囲およびその等価物の範囲内で、実装形態は、具体的に説明され特許請求されている以外の方法で実施され得ると理解されるべきである。本開示の実装形態は、本明細書で説明されたそれぞれの個々の特徴、システム、製品、材料、キット、および/または方法を対象とする。さらに、2つ以上のそのような特徴、システム、製品、材料、キット、および/または方法の任意の組み合わせは、そのような特徴、システム、製品、材料、キット、および/または方法が相互に矛盾しない場合に、本開示の範囲内に含まれる。