(57)【特許請求の範囲】
【請求項１】
コンピュータで実行される方法であって、
1つまたは複数のプロセッサによって、2つ以上のそれぞれのメッセージ交換クライアントを操作する2人以上の参加者の間の進行中のメッセージ交換スレッドを検査するステップと、
前記プロセッサのうちの1つまたは複数によって、前記検査に少なくとも部分的に基づいて、前記進行中のメッセージ交換スレッドの一部として、前記2人以上の参加者のうちの1人によって、前記2人以上の参加者のうちの別の人に宛てられた1つまたは複数のメッセージが、前記2人以上の参加者のうちの少なくとも所与の参加者によってプライベートであると見なされる尤度を決定するステップと、
前記プロセッサのうちの1つまたは複数によって、前記決定された尤度が1つまたは複数のしきい値を満たすと決定するステップと、
前記決定された尤度が1つまたは複数のしきい値を満たすとの決定に応答して、前記2つ以上のメッセージ交換クライアントのうちの第1のメッセージ交換クライアントをプライベート状態に入るように自動的に遷移させるステップと、
前記2つ以上のメッセージ交換クライアントのうちの第2のメッセージ交換クライアントに、前記第2のメッセージ交換クライアントを前記プライベート状態に遷移させるコマンドを送信するステップであって、前記送信するステップが、前記決定された尤度が前記1つまたは複数のしきい値を満たすとの決定に応答して実行される、ステップとを含み、
前記プライベート状態において、前記2つ以上のメッセージ交換クライアントのうちの前記1つまたは複数が、前記進行中のメッセージ交換スレッドの一部として交換されたメッセージのログの少なくとも一部分を難読化する、または、前記進行中のメッセージ交換スレッドの一部として交換されたメッセージのログを更新することを少なくとも一時的に控える、
コンピュータで実行される方法。
【請求項２】
前記尤度を決定するステップが、前記進行中のメッセージ交換スレッドの一部を形成する1つまたは複数のメッセージのコンテンツに少なくとも部分的に基づく、
請求項１に記載のコンピュータで実行される方法。
【請求項３】
前記尤度を決定するステップが、前記所与の参加者に関連付けられたユーザビヘイビア履歴にさらに基づく、
請求項１に記載のコンピュータで実行される方法。
【請求項４】
前記ユーザビヘイビア履歴が、前記所与の参加者のブラウジング履歴を含む、
請求項３に記載のコンピュータで実行される方法。
【請求項５】
前記ユーザビヘイビア履歴が、ウェブブラウザに関連付けられたプライベート状態の前記所与の参加者による利用履歴をさらに含む、
請求項４に記載のコンピュータで実行される方法。
【請求項６】
前記ユーザビヘイビア履歴が、メッセージ交換クライアントに関連付けられたプライベート状態の前記所与の参加者による利用履歴を含む、
請求項３に記載のコンピュータで実行される方法。
【請求項７】
前記尤度を決定するステップが、前記進行中のメッセージ交換スレッドにおける前記2人以上の参加者に関連付けられたユーザビヘイビア履歴にさらに基づく、
請求項１に記載のコンピュータで実行される方法。
【請求項８】
前記尤度を決定するステップが、前記進行中のメッセージ交換スレッドの外部の複数のメッセージ交換スレッドにおける複数の参加者に関連付けられたユーザビヘイビア履歴にさらに基づく、
請求項１に記載のコンピュータで実行される方法。
【請求項９】
複数のメッセージ交換スレッドにおける複数の参加者に関連付けられた前記ユーザビヘイビア履歴が、前記複数のメッセージ交換スレッドにおいて交換されたメッセージのうちの1つのコンテンツと、前記複数の参加者のうちの1人または複数による、それぞれのメッセージ交換クライアントのプライベート状態への手動の遷移との間の、1つまたは複数の関連付けを含む、
請求項８に記載のコンピュータで実行される方法。
【請求項１０】
前記尤度を決定するステップが、
ニューラルネットワークモデルにわたって前記所与の参加者に関連付けられた複数の入力を適用するステップを含み、
前記ニューラルネットワークモデルが、前記複数の入力に基づいて、前記尤度を含む出力を与えるためにトレーニングされる、
請求項１に記載のコンピュータで実行される方法。
【請求項１１】
前記ニューラルネットワークモデルが、前記所与の参加者によって前記進行中のメッセージ交換スレッドに参加するために使用されたコンピューティングデバイス上に記憶される、
請求項１０に記載のコンピュータで実行される方法。
【請求項１２】
前記ニューラルネットワークモデルが、前記所与の参加者によって使用された前記コンピューティングデバイスにダウンロードされ、
前記ニューラルネットワークモデルが、前記進行中のメッセージ交換スレッドの外部の複数のメッセージ交換スレッドから取得されたトレーニング例を使用してトレーニングされる、
請求項１１に記載のコンピュータで実行される方法。
【請求項１３】
前記遷移させるステップが、前記2つ以上のメッセージ交換クライアントのうちの前記第1のメッセージ交換クライアントから、前記2つ以上のメッセージ交換クライアントのうちの前記第2のメッセージ交換クライアントに、前記第2のメッセージ交換クライアントを前記プライベート状態に遷移させる前記コマンドを送信するステップを含む、
請求項１に記載のコンピュータで実行される方法。
【請求項１４】
前記2つ以上のメッセージ交換クライアントのうちの所与のメッセージ交換クライアントによって、前記尤度が前記1つまたは複数のしきい値を満たすとの決定に応答して、前記所与のメッセージ交換クライアントを前記プライベート状態に遷移させるための許可を請求するプロンプトを与えるステップをさらに含む、
請求項１に記載のコンピュータで実行される方法。
【請求項１５】
1つまたは複数のプロセッサと、前記1つまたは複数のプロセッサに動作可能に結合されたメモリとを備えるシステムであって、前記メモリが命令を記憶し、前記命令が、1つまたは複数のプロセッサによる前記命令の実行に応答して、前記1つまたは複数のプロセッサに、
それぞれのメッセージ交換クライアントを操作する少なくとも1人の人間の参加者を伴う、進行中のメッセージ交換スレッドを検査することと、
前記検査に少なくとも部分的に基づいて、前記少なくとも1人の人間の参加者によって前記メッセージ交換スレッドに組み込まれた1つまたは複数のメッセージが、前記少なくとも1人の参加者によってプライベートであると見なされる尤度を決定することと、
前記決定された尤度が1つまたは複数のしきい値を満たすと決定することと、
前記決定された尤度が1つまたは複数のしきい値を満たすとの前記決定に応答して、前記メッセージ交換クライアントをプライベート状態に入るように自動的に遷移させることとを行わせ、
前記メッセージ交換クライアントが、前記メッセージ交換クライアントを実行するコンピューティングデバイス上で利用可能であるメッセージのログにおいて、前記自動的な遷移より前に、前記メッセージ交換スレッドに組み込まれたすべてのメッセージを記憶し、
前記メッセージ交換クライアントが、前記自動的な遷移後、前記メッセージ交換スレッドに組み込まれたメッセージのログの少なくとも一部分を難読化する、または、前記メッセージのログにおいて、前記自動的な遷移後、前記メッセージ交換スレッドに組み込まれた少なくともいくつかのメッセージを記憶することを控える、
システム。
【請求項１６】
前記尤度が、前記少なくとも1人の参加者に関連付けられたユーザビヘイビア履歴に基づいてさらに決定される、
請求項１５に記載のシステム。
【請求項１７】
前記進行中のメッセージ交換スレッドが、前記少なくとも1人の参加者と自動アシスタントとの間の人間対コンピュータのダイアログを備える、
請求項１５に記載のシステム。
【請求項１８】
命令を備えるコンピュータ可読記憶媒体であって、前記命令が、1つまたは複数のプロセッサによる前記命令の実行に応答して、前記1つまたは複数のプロセッサに以下の動作を実行させ、前記動作が、
2つ以上のそれぞれのメッセージ交換クライアントを操作する2人以上の参加者の間の進行中のメッセージ交換スレッドを検査することと、
前記検査に少なくとも部分的に基づいて、前記進行中のメッセージ交換スレッドの一部として、前記2人以上の参加者のうちの1人によって、前記2人以上の参加者のうちの別の人に宛てられた1つまたは複数のメッセージが、前記2人以上の参加者のうちの少なくとも所与の参加者によってプライベートであると見なされる尤度を決定することであって、前記尤度を決定することが、機械学習モデルにわたって複数の入力を適用することを含み、前記機械学習モデルが、前記複数の入力に基づいて、前記尤度を含む出力を与えるためにトレーニングされ、前記複数の入力が、前記所与の参加者に関連付けられた少なくとも1つの入力と、前記2人以上の参加者のうちの1人または複数によって、前記2人以上の参加者のうちの前記別の人に宛てられた前記1つまたは複数のメッセージに対応する別の入力とを含む、ことと、
前記決定された尤度が1つまたは複数のしきい値を満たすと決定することと、
前記決定された尤度が1つまたは複数のしきい値を満たすとの決定に応答して、前記2つ以上のメッセージ交換クライアントのうちの1つまたは複数をプライベート状態に入るように自動的に遷移させることとを含み、
前記プライベート状態において、前記2つ以上のメッセージ交換クライアントのうちの前記1つまたは複数が、前記進行中のメッセージ交換スレッドの一部として交換されたメッセージのログの少なくとも一部分を難読化する、または、前記進行中のメッセージ交換スレッドの一部として交換されたメッセージのログを更新することを少なくとも一時的に控える、
コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、プライベート状態と非プライベート状態との間の遷移に関する。
【背景技術】
【０００２】
チャット、電子メール交換、テキストメッセージングなどのメッセージ交換スレッドは、参加者のうちの1人または複数にとって機密(たとえば、秘密)であり得る情報を含み得る。メッセージ交換スレッドにおける参加者は、メッセージ交換スレッドの少なくともいくつかのコンテンツが(たとえば、ログの中に)保持されないか、または、少なくともその元の機密の形式において利用可能ではないことを望むことがある。多数のインターネットアプリケーションは、ユーザが機密であると見なすアクティビティに、ユーザが関与することになる場合、ユーザがアプリケーションをプライベート状態(たとえば、「オフレコ」、「匿名モード」、「InPrivate」など)に入るように遷移させることを可能にする。しかしながら、大抵の場合-特に、チャットクライアント、テキストメッセージングクライアント、電子メールクライアントなどのメッセージ交換クライアントでは-この遷移は、ユーザによって手動で開始されなければならない。その上、ユーザはまた、アプリケーションをプライベート状態から出るように遷移させなければならず、特にメッセージ交換クライアントでは、その遷移は、典型的には自動的に発生しない。したがって、ユーザが本来なら秘密のままにするか、またはまったく保持されないことを選好することになる情報が、ユーザがアプリケーションをプライベート状態に遷移させることを忘れたために、(たとえば、メッセージ交換ログにおいて、メッセージ交換スレッドのトランスクリプトなどとして)偶発的に残存するか、または記憶されることがある。この残存した情報は、無許可の関係者に潜在的にさらされ得る。同様に、ユーザが、チャットクライアントなどのアプリケーションをプライベート状態から出るように遷移させることを忘れる場合、ユーザは、ユーザが本来なら保持することを選好することになるコンテンツを偶発的に失うことがある。
【発明の概要】
【課題を解決するための手段】
【０００３】
本明細書は、概して、アプリケーション-特に、ユーザ間のメッセージの交換を可能にするアプリケーション(たとえば、チャットアプリケーション、電子メールクライアント、メッセージ交換スレッドを可能にするウェブページなどのメッセージ交換クライアント)-を、メッセージおよび/または参加者自身に関連付けられた様々な信号に基づいて、プライベート状態に入る(および、場合によっては、プライベート状態から出る)ように自動的に遷移させるための技法を対象とする。プライベート状態に入ると、機密(たとえば、秘密)と見なされる情報が難読化され得る(たとえば、名前または他の機密の言葉もしくはフレーズがスクランブルされ得る)か、または、アプリケーションは、機密情報を(たとえば、ログまたはメッセージ交換スレッドトランスクリプトにおいて)記憶することを控え得る。
【０００４】
アプリケーションをプライベート状態に入る(および、場合によっては、プライベート状態から出る)ように自動的に遷移させることは、いくつかの利点を有し得る。これらには、ユーザとユーザのデバイスとの間で必要とされる対話の量を低減し、それによって、そのような情報を扱うために必要とされる処理などを低減することが含まれ得る。加えて、いくつかの事例では、たとえば、データが記憶されないか、または難読化されるので、ユーザデータのセキュリティが向上し得る。
【０００５】
様々な実装形態では、1人または複数の参加者の間の進行中のメッセージ交換スレッドが、たとえば、個々の参加者によって操作された個々のメッセージ交換クライアントにおいて、および/または、メッセージ交換スレッドを可能にする1つまたは複数のサーバにおいて中央で検査され得る。検査に基づいて、進行中のメッセージ交換スレッドの一部として、参加者のうちの1人によって、参加者のうちの別の人に宛てられた1つまたは複数のメッセージが、少なくとも所与の参加者によってプライベートであると見なされる尤度が決定(たとえば、計算)され得る。この尤度は、様々な信号に基づいて、様々な方法で決定され得る。
【０００６】
いくつかの実装形態では、尤度は、1つまたは複数のメッセージ自体のコンテンツに基づいて決定され得る。たとえば、いくつかの実装形態では、いくつかのフレーズが、検出されると、進行中のメッセージ交換スレッドの参加者によって操作された1つまたは複数のメッセージ交換クライアントをプライベート状態に入るように遷移させる、「プライバシートリガフレーズ」として分類され得る。これらのプライバシートリガフレーズには、「オフレコで」、「このことは私達だけの話にしておきましょう」、「誰にも言わないと約束できますか?」などのフレーズが含まれ得る。いくつかのそのような実装形態では、そのようなプライバシートリガフレーズに後続する(および、いくつかの事例では、先行する)1つまたは複数のメッセージは、たとえば、ユーザがメッセージ交換クライアントをプライベート状態から出るように手動で遷移させるまで、または、話し合いのトピックがそれほど機密ではない主題に変化したことが検出されるまで、保持されないことがある。
【０００７】
他の実装形態では、特定のnグラム、または(nグラムが隣接するか否かにかかわらず)nグラムの組合せが、プライベート状態への遷移をトリガするために使用され得る。たとえば、ユーザがメッセージ交換スレッドに、「私は、ビルが金を盗んで捕まったので、彼が解雇されることになると聞きました」という文を与えると仮定する。「解雇される」、「捕まった」、および「盗んで」などのnグラムが、単独でまたは組み合わせて、プライベート状態への遷移をトリガし得る。いくつかの実装形態では、エンティティ名(たとえば、「ビル」)と組み合わせたnグラムのうちの1つまたは複数が、プライベート状態への遷移をトリガし得る。いくつかのそのような実装形態では、プライベート状態であるとき、潜在的にユーザを識別するnグラムがもはや利用可能ではないように、その文が(たとえば、メッセージ交換スレッドのトランスクリプトの一部として)残存するとき、その文が難読化され得る(たとえば、「私は、*が金を盗んで捕まったので、*が解雇されることになると聞きました」)。他の実装形態では、文全体が編集されるか、または単にメッセージ交換スレッドトランスクリプトにおいて記憶されないことがある。
【０００８】
追加または代替として、いくつかの実装形態では、1人または複数のメッセージ交換参加者に関連付けられた1つまたは複数の他の信号が、メッセージ交換スレッドにおいて交換された1つまたは複数のメッセージが少なくとも1人の参加者によってプライベートであると見なされる尤度を決定するために使用され得る。いくつかの実装形態では、メッセージ交換スレッド参加者のうちの1人または複数に関連付けられた、または、場合によっては、一般にメッセージ交換スレッド参加者(すなわち、他のメッセージ交換スレッドにおける参加者)に関連付けられたビヘイビア履歴が、考慮され得る。ビヘイビア履歴は、たとえば、1人または複数の参加者のブラウジング履歴、1人または複数の参加者によるブラウザプライベート状態の利用履歴、1人または複数の参加者によるメッセージ交換クライアントに関連付けられたプライベート状態の利用履歴などを含み得る。たとえば、ある主題が、雇用者によって可能にされたメッセージ交換スレッドの一部として話し合われるときはいつでも、雇用者によって可能にされたメッセージ交換スレッドにおける1人または複数の被雇用者が、自らのそれぞれのメッセージ交換クライアントをプライベート状態に手動で遷移させると仮定する。様々な実装形態では、同様のビヘイビアが後で検出され、プライベート状態への自動的な遷移をトリガし得るように、これらの被雇用者に関連付けられたこのビヘイビア履歴が「学習」され得る。
【０００９】
いくつかの実装形態では、畳み込みニューラルネットワークモデル、および/またはリカレントニューラルネットワークモデルなど、1つまたは複数のトレーニングされた機械学習モデルが、メッセージ交換コンテンツが1人または複数の参加者によってプライベートであると見なされる尤度を決定するために採用され得る。たとえば、機械学習モデルは、メッセージ交換スレッド参加者がメッセージ交換クライアントをプライベート状態に入るように手動で遷移させた事例に関連付けられた、ラベルをつけられたトレーニング例を使用してトレーニングされ得る。これらのトレーニング例の特徴は、たとえば、メッセージ交換スレッド中に含まれたnグラム、メッセージ交換スレッド中に含まれたフレーズ(たとえば、「このことは私達だけの話にできますか」)、文脈上の手掛かり(たとえば、参加者の識別情報、参加者のロケーションなど)、1人または複数の参加者に関連付けられたユーザビヘイビア履歴などを含み得る。機械学習モデルがトレーニングされると、機械学習モデルは、入力が与えられると、メッセージ交換スレッド参加者のうちの1人がメッセージ交換スレッドの少なくとも一部分をプライベートであると見なすことになる尤度を決定するために、複数の入力にわたって、たとえば、メッセージ交換クライアントを操作する個々のコンピューティングデバイスにおいて、またはメッセージ交換スレッドを可能にする中央ノードにおいて適用され得る。いくつかの実装形態では、そのような機械学習モデルは、個々の参加者のコンピューティングデバイス上で記憶および/または適用され得る。
【００１０】
様々な実装形態では、特定のメッセージ交換スレッド参加者がメッセージ交換スレッドの少なくとも一部分をプライベートであると見なすことになる尤度が、1つまたは複数のしきい値と比較され得る。たとえば、尤度は、数値的に(たとえば、1〜100、0.0〜1.0などの範囲において)計算され、いくつかの最小しきい値(たとえば、60、0.7など)と比較され得る。尤度が最小しきい値を超える場合、メッセージ交換スレッド参加者によって操作されたメッセージ交換クライアントが、プライベート状態に遷移され得る。いくつかの実装形態では、参加者は、メッセージ交換クライアントをプライベート状態に入るように遷移させるための許可を請求するプロンプトを(たとえば、メッセージ交換クライアントによって)与えられ得る。他の実装形態では、許可が請求されないことがある。また他の実装形態では、プライベート状態に入るように遷移させるための許可は、尤度の尺度が第1の最小しきい値(たとえば、50、0.5)を満たすが、第2の、たとえば、より高いしきい値(たとえば、80、0.8)を満たさない場合のみ、請求され得る。
【００１１】
単一の参加者のメッセージ交換クライアントのみがプライベート状態に入るように遷移される場合、潜在的にプライベートであると見なされるメッセージ交換スレッドコンテンツは、その参加者のコンピューティングデバイス上に保持されないことがあるが、他の参加者のコンピューティングデバイス上に保持され得る。したがって、いくつかの実装形態では、単一の参加者のメッセージ交換クライアントがプライベート状態に入るように遷移する場合、そのメッセージ交換クライアント(または、メッセージ交換スレッドを管理する中央のクラウドベースの構成要素など、何らかの他の構成要素)は、プライベート状態に遷移させるために、他の参加者のメッセージ交換クライアントにコマンドを送信し得る。いくつかの実装形態では、他の参加者は、(たとえば、自らのそれぞれのメッセージ交換クライアントにおいて)たとえば、理由についての説明とともに、プライベート状態に入るための許可についてプロンプトされ得る。他の実装形態では、他の参加者のメッセージ交換クライアントは、プライベート状態に入るように自動的に遷移され得る。
【００１２】
いくつかの実装形態では、1つまたは複数のプロセッサによって実行される方法が提供され、方法は、1つまたは複数のプロセッサによって、2つ以上のそれぞれのメッセージ交換クライアントを操作する2人以上の参加者の間の進行中のメッセージ交換スレッドを検査するステップと、プロセッサのうちの1つまたは複数によって、検査に少なくとも部分的に基づいて、進行中のメッセージ交換スレッドの一部として、2人以上の参加者のうちの1人によって、2人以上の参加者のうちの別の人に宛てられた1つまたは複数のメッセージが、2人以上の参加者のうちの少なくとも所与の参加者によってプライベートであると見なされる尤度を決定するステップと、プロセッサのうちの1つまたは複数によって、決定された尤度が1つまたは複数のしきい値を満たすと決定するステップと、決定された尤度が1つまたは複数のしきい値を満たすとの決定に応答して、2つ以上のメッセージ交換クライアントのうちの1つまたは複数をプライベート状態に入るように遷移させるステップとを含む。
【００１３】
これらおよび他の実装形態は、場合によっては、以下の特徴のうちの1つまたは複数を含み得る。様々な実装形態では、尤度を決定するステップは、進行中のメッセージ交換スレッドの一部を形成する1つまたは複数のメッセージのコンテンツに少なくとも部分的に基づき得る。様々な実装形態では、尤度を決定するステップは、所与の参加者に関連付けられたビヘイビア履歴にさらに基づき得る。様々な実装形態では、ユーザビヘイビア履歴は、所与の参加者のブラウジング履歴を含み得る。様々な実装形態では、ユーザビヘイビア履歴は、ウェブブラウザに関連付けられたプライベート状態の所与の参加者による利用履歴を含み得る。様々な実装形態では、ユーザビヘイビア履歴は、メッセージ交換クライアントに関連付けられたプライベート状態の所与の参加者による利用履歴を含み得る。
【００１４】
様々な実装形態では、尤度を決定するステップは、進行中のメッセージ交換スレッドにおける2人以上の参加者に関連付けられたビヘイビア履歴にさらに基づき得る。様々な実装形態では、尤度を決定するステップは、進行中のメッセージ交換スレッドの外部の複数のメッセージ交換スレッドにおける複数の参加者に関連付けられたビヘイビア履歴にさらに基づき得る。様々な実装形態では、複数のメッセージ交換スレッドにおける複数の参加者に関連付けられたビヘイビア履歴は、複数のメッセージ交換スレッドにおいて交換されたメッセージのうちの1つのコンテンツと、複数の参加者のうちの1人または複数による、それぞれのメッセージ交換クライアントのプライベート状態への手動の遷移との間の、1つまたは複数の関連付けを含み得る。
【００１５】
様々な実装形態では、尤度を決定するステップは、ニューラルネットワークモデルにわたって所与の参加者に関連付けられた複数の入力を適用するステップを含み得、ニューラルネットワークモデルが、複数の入力に基づいて、尤度を含む出力を与えるためにトレーニングされる。様々な実装形態では、ニューラルネットワークモデルは、所与の参加者によって進行中のメッセージ交換スレッドに参加するために使用されたコンピューティングデバイス上に記憶され得る。様々な実装形態では、ニューラルネットワークモデルは、所与の参加者によって使用されたコンピューティングデバイスにダウンロードされ得、ニューラルネットワークモデルが、進行中のメッセージ交換スレッドの外部の複数のメッセージ交換スレッドから取得されたトレーニング例を使用してトレーニングされ得る。
【００１６】
様々な実装形態では、方法は、2つ以上のメッセージ交換クライアントのうちの第1のメッセージ交換クライアントから、2つ以上のメッセージ交換クライアントのうちの第2のメッセージ交換クライアントに、第2のメッセージ交換クライアントをプライベート状態に遷移させるコマンドを送信するステップをさらに含み得、送信するステップが、決定された尤度が1つまたは複数のしきい値を満たすとの決定に応答して実行される。したがって、第1のクライアントは、プライベート状態に入るように遷移するように第2のクライアントを制御し、それによって、第2のクライアントにおけるユーザ対話を低減し得、加えて、別個に各クライアントについて、クライアントがプライベート状態に入るように遷移するべきか否かが決定される必要が潜在的に除去され得る。代わりに、決定は、第1のクライアントのみについて実行され、第2のクライアントもまたその決定に基づいて制御され得る。これによって、全体的な処理が低減され得る。様々な実装形態では、プライベート状態において、2つ以上のメッセージ交換クライアントのうちの1つまたは複数が、進行中のメッセージ交換スレッドの一部として交換されたメッセージのログの少なくとも一部分を難読化し得る。様々な実装形態では、プライベート状態において、2つ以上のメッセージ交換クライアントのうちの1つまたは複数が、進行中のメッセージ交換スレッドの一部として交換されたメッセージのログを更新することを少なくとも一時的に控え得る。
【００１７】
様々な実装形態では、方法は、2つ以上のメッセージ交換クライアントのうちの所与のメッセージ交換クライアントによって、尤度が1つまたは複数のしきい値を満たすとの決定に応答して、所与のメッセージ交換クライアントをプライベート状態に遷移させるための許可を請求するプロンプトを与えるステップをさらに含み得る。
【００１８】
加えて、いくつかの実装形態は、1つまたは複数のコンピューティングデバイスの1つまたは複数のプロセッサを含み、ただし、1つまたは複数のプロセッサは、関連付けられたメモリに記憶された命令を実行するように動作可能であり、ただし、命令は、上述の方法のいずれかの実行を引き起こすように構成される。いくつかの実装形態は、1つまたは複数のプロセッサによって、上述の方法のいずれかを実行するために実行可能なコンピュータ命令を記憶する、少なくとも1つの非一時的コンピュータ可読記憶媒体を含む。
【００１９】
本明細書でより詳細に説明する上記の概念および追加の概念のすべての組合せが、本明細書で開示する主題の一部であるとして企図されることを諒解されたい。たとえば、本開示の最後に現れる、請求する主題のすべての組合せは、本明細書で開示する主題の一部であるとして企図される。
【図面の簡単な説明】
【００２０】
【図１】本明細書で開示する実装形態が実装され得る例示的な環境の図である。
【図２】プライベート状態へのアプリケーション遷移をトリガする際に、図1の例示的な環境の構成要素を使用する一例を示す図である。
【図３】1つまたは複数の機械学習モデルをトレーニングする際に、図1の例示的な環境の構成要素を使用する一例を示す図である。
【図４Ａ】例示的なクライアントデバイス、および、どのようにプライベートモードが自動的にトリガされ得るかの1つまたは複数の例を示す図である。
【図４Ｂ】例示的なクライアントデバイス、および、どのようにプライベートモードが自動的にトリガされ得るかの1つまたは複数の例を示す図である。
【図４Ｃ】部分的に難読化されたメッセージ交換スレッドトランスクリプトの一例を示す図である。
【図５】本明細書で開示する実装形態による、アプリケーションをプライベート状態に入るように自動的に遷移させる例示的な方法を示すフローチャートである。
【図６】コンピューティングデバイスの例示的なアーキテクチャを示す図である。
【発明を実施するための形態】
【００２１】
図1では、本明細書で開示する技法が実装され得る例示的な環境が示される。例示的な環境は、環境における様々な構成要素の間の通信を可能にする通信ネットワーク101を含む。いくつかの実装形態では、通信ネットワーク101は、インターネット、1つもしくは複数のイントラネット、および/または1つもしくは複数のバスサブシステムを含み得る。通信ネットワーク101は、場合によっては、1つまたは複数の標準の通信技術、プロトコル、および/またはプロセス間通信技法を利用し得る。
【００２２】
例示的な環境はまた、1つまたは複数のクライアントデバイス1061〜Nと、電子通信システム110と、プライバシーステータスシステム120と、トレーニングエンジン135と、トレーニング例エンジン137とを含む。例示的な環境は、ユーザデータ158と、トレーニング例152と、機械学習モデル156とをさらに含む。ユーザデータ158、トレーニング例152、および機械学習モデル156は、1つまたは複数の対応するコンピュータ可読媒体に各々記憶され得る。
【００２３】
クライアントデバイス1061〜Nのいくつかの非限定的な例には、デスクトップコンピューティングデバイス、ラップトップコンピューティングデバイス、タブレットコンピューティングデバイス、モバイルフォンコンピューティングデバイス、車両のコンピューティングデバイス(たとえば、車両内通信システム、車両内エンターテインメントシステム、車両内ナビゲーションシステム)、スタンドアロンインタラクティブスピーカー(たとえば、いわゆる「スマートスピーカー」)、または、コンピューティングデバイスを含むウェアラブル装置(たとえば、コンピューティングデバイスを有する時計、コンピューティングデバイスを有する眼鏡、仮想または拡張現実コンピューティングデバイス)のうちの1つまたは複数が含まれる。追加および/または代替のクライアントデバイスが提供され得る。本明細書の様々な例では、クライアントデバイス1061は第1のユーザのクライアントデバイス、クライアントデバイス1062は第2のユーザのクライアントデバイス、クライアントデバイス1063は第3のユーザのクライアントデバイスなどであると仮定されることになる。ただし、プライバシーステータスシステム120は、所与のユーザのクライアントデバイスの協調「エコシステム」を形成する、所与のユーザの複数のクライアントデバイスおよび/または他の電子デバイスの各々とインターフェースし得ることを理解されたい。たとえば、本明細書で説明するように、プライバシーステータスシステム120によって利用されるユーザデータ158は、クライアントデバイス1061に基づくセンサベースデータおよび/または他のデータ、ならびに、クライアントデバイス1061のユーザの他の電子デバイスに基づく他のデータを含み得る。しかしながら、簡潔のために、本開示で説明するいくつかの例は、対応するユーザの単一のクライアントデバイスに焦点を当てることになる。
【００２４】
電子通信システム110、プライバシーステータスシステム120、ならびに/またはエンジン135および/もしくは137は、たとえば、ネットワーク(たとえば、ネットワーク101および/または他のネットワーク)を通して通信する、1つまたは複数のコンピューティングデバイスにおいて、各々実装され得る。電子通信システム110、プライバシーステータスシステム120、ならびにエンジン135および137は、それを介して本明細書で説明するシステムおよび技法が実装され得、かつ/またはそれとともに本明細書で説明するシステムおよび技法がインターフェースし得る、例示的な構成要素である。それらの構成要素は、データおよびソフトウェアアプリケーションを記憶するための1つまたは複数のメモリ、データにアクセスし、アプリケーションを実行するための1つまたは複数のプロセッサ、ならびに、ネットワークを介した通信を可能にする他の構成要素を各々含み得る。いくつかの実装形態では、電子通信システム110、プライバシーステータスシステム120、ならびに/またはエンジン135および/もしくは137は、図6の例示的なコンピューティングデバイスの1つまたは複数の構成要素を含み得る。電子通信システム110、プライバシーステータスシステム120、ならびに/またはエンジン135および/もしくは137によって実行される動作は、全体的にまたは部分的に1つもしくは複数のクライアントデバイス106上を含む、複数のコンピュータシステムにわたって分散され得る。
【００２５】
いくつかの実装形態では、電子通信システム110、プライバシーステータスシステム120、ならびに/またはエンジン135および/もしくは137のうちの1つまたは複数の、1つまたは複数の態様は、単一のシステムにおいて組み合わせられ得、かつ/あるいは、1つまたは複数の態様は、クライアントデバイス1061〜Nのうちの1つまたは複数において実装され得る。たとえば、クライアントデバイス1061は、プライバシーステータスシステム120の1つまたは複数の態様のインスタンスを含み得、追加のクライアントデバイス1062〜Nの各々もまた、プライバシーステータスシステム120の1つまたは複数の態様のインスタンスを含み得る。別の例として、クライアントデバイス1061〜Nの各々は、電子通信システム110のインスタンスを各々含み得る(たとえば、電子通信システム110は、デバイスの各々においてインストールされ、実行するアプリケーションであり得る)。また別の例として、電子通信システム110およびプライバシーステータスシステム120の1つまたは複数の態様が組み合わせられ得る。
【００２６】
電子通信システム110は、クライアントデバイスの間の1つまたは複数のタイプの電子通信の交換(本明細書で「メッセージ交換スレッド」と呼ばれることが多い)に関連付けられた、1つまたは複数のリモートサーバおよび/あるいは1つまたは複数のクライアント側アプリケーションを含み得る。メッセージ交換スレッドにおいて交換され得る電子通信のタイプには、たとえば、電子メール、リッチコミュニケーションサービス(RCS)メッセージ、ショートメッセージサービス(SMS)メッセージ、マルチメディアメッセージングサービス(MMS)メッセージ、オーバーザトップ(OTT)チャットメッセージ、ソーシャルネットワーキングメッセージ、可聴通信(たとえば、通話)、オーディオ-ビデオ通信などが含まれる。一例として、電子通信システム110は、様々なクライアントデバイス106の間のメッセージ交換スレッドを管理する、1つまたは複数のリモートサーバを含み得、それらの様々なクライアントデバイス106は、場合によっては、対応するメッセージ交換クライアント107を各々含み得る。別の例として、電子通信システム110は、単に、対応するクライアントデバイス上で動作するクライアント側アプリケーションを介して実装され得る。
【００２７】
プライバシーステータスシステム120の例について、本明細書では、クライアントデバイス1061のユーザに関して説明する。ユーザが、概してクライアントデバイス106(たとえば、1061、...)を操作して、メッセージ交換スレッドに参加するとき、それらのユーザは、メッセージ交換スレッド「参加者」と呼ばれることがある。いくつかの実装形態では、プライバシーステータスシステム120は、全体的にまたは部分的に、クライアントデバイス1061上に実装され得る。いくつかの実装形態では、プライバシーステータスシステム120の構成要素のうちの1つまたは複数は、追加または代替として、クライアントデバイス1061からリモートである1つまたは複数のサーバ上で実装され得る。たとえば、1つまたは複数の構成要素は、電子通信システム110のリモートサーバ上で実装され得る。
【００２８】
様々な実装形態では、プライバシーステータスシステム120は、データエンジン122、プライバシー尤度エンジン124、プライバシー遷移エンジン126、および/またはフィードバックエンジン132を含み得る。いくつかの実装形態では、エンジン122、124、126、および/または132の態様は、省略され、組み合わせられ、かつ/またはプライバシーステータスシステム120から分離している構成要素において実装され得る。
【００２９】
データエンジン122は、メッセージ交換スレッド参加者が進行中のメッセージ交換スレッドのコンテンツを機密であると見なすことになる尤度を決定する際に使用するためのユーザデータ158を選択する。いくつかの実装形態では、ユーザデータ158は、参加者のクライアントデバイス1061および/または他の電子デバイスのセンサからの出力に基づいて生成される、センサベースデータを含む。いくつかの実装形態では、ユーザデータ158は、追加または代替として、参加者のクライアントデバイス1061および/または他の電子デバイスを介した参加者アクティビティに基づいて生成される、コンピュータベースアクションデータを含む。いくつかの実装形態では、ユーザデータ158は、追加または代替として、参加者に関連付けられたビヘイビア履歴を示す、履歴データを含む。いくつかの実装形態では、そのようなビヘイビア履歴は、参加者のブラウジング履歴、ウェブブラウザなどのアプリケーションに関連付けられたプライベート状態の参加者による利用、チャット履歴、および/またはメッセージ交換クライアント107に関連付けられたプライベート状態の参加者による利用履歴を含み得る。
【００３０】
いくつかの実装形態では、ユーザデータ158は、複数のユーザ(または、メッセージ交換スレッド参加者)に関連付けられたアグリゲートデータを含み得る。たとえば、いくつかの実装形態では、アグリゲートユーザデータは、進行中のメッセージ交換スレッドの2人以上の参加者、および/または、進行中のメッセージ交換スレッドの外部の複数のメッセージ交換スレッドの複数の参加者に関連付けられた、ビヘイビア履歴を示し得る。いくつかの実装形態では、複数のメッセージ交換スレッドにおける複数の参加者に関連付けられたビヘイビア履歴は、複数のメッセージ交換スレッドにおいて交換されたメッセージのうちの1つのコンテンツと、複数の参加者のうちの1人または複数による、それぞれのメッセージ交換クライアントのプライベート状態への手動の遷移との間の、1つまたは複数の関連付けを含み得る。本明細書で説明するように、クライアントデバイス1061のユーザ(すなわち、参加者)は、ユーザデータ158がデータエンジン122および/もしくはプライバシーステータスシステム120の他の構成要素にとってアクセス可能であるか否か、ならびに/または、どのユーザデータ158がそうであるかを制御するための機会を与えられ得る。
【００３１】
センサベースデータは、たとえば、全地球測位システム(GPS)センサ、加速度計、マイクロフォン、カメラ、ジャイロスコープ、および/または他のセンサからの出力に基づいて生成され得る。センサベースデータは、生のセンサデータ(たとえば、センサから受信されるような出力)を含み得、かつ/または、1つもしくは複数のセンサからの出力に基づいて決定される、汎化されたセンサデータを含み得る。たとえば、センサベースデータは、マイクロフォンからの生のオーディオデータを含み得、かつ/または生のオーディオデータの汎化を含み得る。生のオーディオデータの汎化は、たとえば、ある時間期間にわたる平均(および/または、他の統計的尺度の)デシベルレベル、データを分類器に適用することに基づく、生のオーディオデータの分類(たとえば、「騒々しい」、「静か」、「音楽」などの分類)などを含み得る。別の例として、センサベースデータは、追加または代替として、生のGPSデータを含み得、かつ/またはGPSデータの汎化を含み得る。GPSデータの汎化は、たとえば、GPSデータによって示されたロケーションの分類(たとえば、レストラン、映画、ワークアウト施設)、GPSデータによって示された特定のロケーション(たとえば、レストランA、映画A)などを含み得る。また別の例として、センサベースデータは、追加または代替として、生の加速度計データ、および/またはそのようなデータの汎化を含み得る。生の加速度計データの汎化は、加速度計からのデータに基づく平均(および/または、他の統計的尺度の)速度、データを分類器に適用することに基づく、アクティビティの分類(たとえば、「走行」、「歩行」、「停滞」などの分類)などを含み得る。
【００３２】
ユーザのクライアントデバイス1061および/または他の電子デバイスを介したユーザアクティビティに基づいて生成される、コンピュータベースアクションデータは、たとえば、デバイスを介して作成されたカレンダーエントリおよび/または他の電子文書、デバイスを介して対話された(たとえば、訪問された)文書、デバイスを介して現在または最近利用されたアプリケーション、デバイスを介して現在または最近利用されたアプリケーションの状態、最近の時間期間にわたって消費された平均(または、他の統計的尺度の)処理能力などを含み得る。
【００３３】
プライバシー尤度エンジン124は、データエンジン122によって選択されたデータを利用して、特定のメッセージ交換スレッド参加者(たとえば、クライアントデバイス1061のユーザ)が進行中のメッセージ交換スレッドのコンテンツを機密であると見なすことになる尤度を決定する。プライバシー尤度エンジン124によって決定される尤度は、ユーザデータ158およびメッセージ交換スレッドコンテンツに依存することになる。様々な実装形態では、プライバシー尤度エンジン124は、データエンジン122から、連続的に、周期的に、または他の一定の間隔および/もしくは一定ではない間隔で、「フレッシュ」なデータを受信して、メッセージ交換スレッド参加者が進行中のメッセージ交換スレッドのコンテンツを機密であると見なすことになる尤度の動的な決定を可能にし得る。いくつかの実装形態では、プライバシー尤度エンジン124は、データを、入力として、機械学習モデル156のうちの1つまたは複数に適用し、入力に基づいて、それらの機械学習モデル156を介して、出力を生成し、生成された出力に基づいて、尤度を決定する。
【００３４】
プライバシー遷移エンジン126は、1つまたは複数のクライアントデバイス106上で動作する1つまたは複数のアプリケーションを、いわゆる「プライベート状態」に入る、および/または「プライベート状態」から出るように遷移させるように構成され得る。本明細書で使用するアプリケーションの「プライベート状態」は、それにおいてアプリケーションが、アプリケーションの動作に関連付けられた様々な情報が保護されるか、難読化されるか、または単にまったく保持されないことを保証するための様々な手段を講じる、アプリケーション状態を指す。たとえば、ウェブブラウザがプライベート状態に入るように遷移されるとき、ウェブブラウザは、プライベート状態にある間、ウェブブラウザによって訪問、またはさもなければアクセスされた、ウェブサイトまたは他のネットワークリソースの履歴を記憶することを控え得る。追加として、ウェブブラウザは、プライベート状態にある間、クッキー、ユーザクレデンシャルなどの情報を記憶することを控え得る。
【００３５】
メッセージ交換クライアントアプリケーション1071〜Nとの関連では、プライベート状態は、それにおいてメッセージ交換クライアント107が、メッセージ交換スレッドの1人または複数の参加者の間、および/あるいはメッセージ交換スレッドの参加者と、いわゆる「自動アシスタント」との間で交換されたメッセージを記憶、難読化、および/またはフィルタ処理することを控える状態を指すことがある。「自動アシスタント」は、それとともにユーザが、たとえば、タイピングされたテキスト、または発話された入力(テキストに変換され得る)を使用して、会話的に対話し得る、ソフトウェアプロセスを指すことがある。たとえば、スタンドアロンインタラクティブスピーカーの形態におけるクライアントデバイス106は、ユーザが自動アシスタントとの人間対コンピュータのダイアログに関与することを可能にし得、そのダイアログにおいて、ユーザは、質問をすること(たとえば、文書を検索する、情報を求める、天候/スコアを要求するなど)、および/またはコマンドを出すこと(たとえば、特定の歌を再生する、明かりをつける、タイマーを設定する、リマインダを記憶するなど)ができる。スマートフォン、タブレットコンピュータ、スマートウォッチなどの他のクライアントデバイス106は、ユーザとの同様のインタラクティブダイアログを可能にする自動アシスタントを含み得る。
【００３６】
プライバシー遷移エンジン126は、プライバシー尤度エンジン124によって決定された尤度が、1つまたは複数のしきい値を満たすと決定し得る。そのような決定に基づいて、プライバシー遷移エンジン126は、1つまたは複数のメッセージ交換クライアント107(または、より一般には、クライアントデバイス106)をプライベート状態に入るように遷移させ得るか、またはその遷移をトリガし得る。様々なタイプのしきい値が、メッセージ交換スレッドのコンテンツが少なくとも1人の参加者にとって機密であると見なされる尤度と比較され得る。プライバシー尤度エンジン124によって計算される尤度が、数または尺度(たとえば、0.0〜1.0、0〜100などの範囲における)として計算される、いくつかの実装形態では、数値のしきい値が使用され得る。いくつかの実装形態では、複数のしきい値が採用され得る。たとえば、プライバシー尤度エンジン124によって決定された尤度が、第1のしきい値を満たすが、第2のより高いしきい値を満たさない場合、1つまたは複数のメッセージ交換クライアント107は、メッセージ交換クライアント107をプライベート状態に遷移させるための許可を請求するプロンプトの形式において、可聴または視覚出力を与え得る。しかしながら、第1のしきい値と第2のしきい値の両方が満たされる場合、進行中のメッセージ交換スレッドの参加者によって操作される1つまたは複数のメッセージ交換クライアント107は、たとえば、メッセージ交換クライアント107を操作するそれぞれの参加者への通知ありでまたはなしで、プライベート状態に入るように自動的に遷移し得る。
【００３７】
進行中のメッセージ交換スレッドが、複数のメッセージ交換クライアント107を操作する複数の参加者を伴う、様々な実装形態では、あるメッセージ交換クライアント107のプライベート状態に入る遷移が、他のメッセージ交換クライアント107のうちの1つまたは複数のプライベート状態に入る遷移を生じても生じなくてもよい。たとえば、いくつかの実装形態では、プライベート状態に入るように遷移する第1のメッセージ交換クライアント107は、第2のメッセージ交換クライアントをプライベート状態に遷移させるコマンドを、第2のメッセージ交換クライアントに送信し得る。いくつかの実装形態では、この送信は、たとえば、プライバシー遷移エンジン126による、プライバシー尤度エンジン124によって決定された尤度が1つまたは複数のしきい値を満たすとの決定に応答して発生し得る。
【００３８】
所与のクライアントデバイス106上で動作する、プライバシーステータスシステム120のインスタンス(データエンジン122、プライバシー尤度エンジン124、および/またはプライバシー遷移エンジン126のそれぞれのインスタンスを含む)によって、所与のクライアントデバイス106上のそれぞれのメッセージ交換クライアント107を操作する参加者が、進行中のメッセージ交換スレッドのコンテンツを機密であると見なすことになる、特定の尤度があると決定されると仮定する。さらに、尤度が第1のしきい値を満たすが、第2のより高いしきい値を満たさないと仮定する。いくつかの実装形態では、そのようなシナリオは、プライバシー遷移エンジン126が、ローカルメッセージ交換クライアント107をプライベート状態に入るように遷移させることのみを生じることになる。他の実装形態では、そのようなシナリオは、ローカルメッセージ交換クライアント107がプライベート状態に入るように遷移すること、および、メッセージ交換スレッドに参加している他のメッセージ交換クライアント107に、プライベート状態に入るように遷移するように要求する(その場合、他のメッセージ交換クライアント107は、たとえば、許可のためにそれぞれのメッセージ交換スレッド参加者にプロンプトし得る)ことを生じることになる。
【００３９】
フィードバックエンジン132は、トレーニング例エンジン137に提供するために、クライアントデバイス106のユーザ/参加者の送信請求された、および/または送信請求されないフィードバックを使用し得る。トレーニング例エンジン137は、機械学習モデル156のうちの1つまたは複数を改善するためのさらなるトレーニング例を生成する際に、フィードバックを利用し得る。一例として、メッセージ交換スレッドの参加者が、自らのそれぞれのメッセージ交換クライアント107をプライベート状態に入るように手動で遷移させると仮定する。フィードバックエンジン132は、手動の遷移の指示、ならびに、手動で遷移させている参加者に現在適用可能である様々な入力(たとえば、ユーザデータ158、メッセージ交換スレッドのコンテンツ)を、トレーニング例エンジン137に与え得る。次いで、トレーニング例エンジン137は、そのデータを利用して、トレーニング例のトレーニング例入力を生成し得、メッセージ交換クライアント107のプライベート状態への手動の遷移に基づいて、トレーニング例のトレーニング例出力を生成し得る。
【００４０】
図2は、メッセージ交換スレッド参加者が進行中のメッセージ交換スレッドのコンテンツを機密であると見なすことになる尤度を決定する際に、図1の例示的な環境の構成要素を使用する一例を示す。図2では、ユーザデータ158は、クライアントデバイス1061のセンサ204からの出力、クライアントデバイス1061のアプリケーション206からの状態および/または他のデータ、クライアントデバイス1061を介して作成および/またはアクセスされた文書208、ならびに、クライアントデバイス1061を操作するメッセージ交換スレッド参加者に関連付けられたビヘイビア履歴を示す履歴データ210に基づいて生成される。センサ204からの出力は、ユーザデータ158のセンサベースデータを生成するために使用される。アプリケーション206からの出力および文書208は、ユーザデータ158のコンピュータベースアクションデータを生成するために使用される。履歴データ210は、ユーザデータ158のビヘイビア履歴を作成/識別するために使用される。いくつかの実装形態では、ユーザデータ158は、ユーザの追加もしくは代替の電子デバイス(たとえば、クライアントデバイス1061と電子通信しているユーザの時計のセンサ)のセンサによって生成された出力、および/または、ユーザの追加もしくは代替の電子デバイスを介したユーザアクションに基づいて生成され得る。
【００４１】
データエンジン122は、ユーザデータ158から、プライバシー尤度エンジン124に与えるためのデータ201Aのサブセットを選択する。図2では、プライバシー尤度エンジン124は、データ201Aを、メッセージ交換スレッドコンテンツ212とともに、入力として機械学習モデル156のうちの1つに適用し、適用された入力に基づいて、機械学習モデルを介して出力を生成し得る。生成された出力は、メッセージ交換スレッド参加者がメッセージ交換スレッドのコンテンツを機密であると見なすことになる尤度を直接的に示し得、プライバシー遷移エンジン126に与えられ得る。一例として、機械学習モデルに適用される入力は、データ201Aに基づいており、かつ、センサベースデータ、コンピュータベースアクションデータ、およびビヘイビア履歴データに基づく値を含む値、ならびに進行中のメッセージ交換スレッドのコンテンツ212の、ベクトルであり得る。進行中のメッセージ交換スレッドのコンテンツ212は、進行中のメッセージ交換スレッドに(たとえば、メッセージ交換クライアント107を操作する参加者によって)挿入されたテキストおよび/または他のコンテンツ(たとえば、画像、音など)を含み得る。出力203Aは、たとえば、メッセージ交換スレッド参加者がメッセージ交換スレッドのコンテンツを(スレッドにすでに挿入されているか、これから来るかにかかわらず)機密であると見なすことになる尤度を示し得る。
【００４２】
出力203Aに基づいて、プライバシー遷移エンジン126は、クライアントデバイス1061上で動作するローカルメッセージ交換クライアント107をプライベート状態に遷移させるか否かを決定する。いくつかの実装形態では、プライバシー遷移エンジン126はまた、たとえば、参加者によって進行中のメッセージ交換スレッドに参加するために使用されているメッセージ交換クライアント1071〜Nを動作させている1つまたは複数の他のクライアントデバイス1062〜Nに、プライバシーコマンド2051〜Nを送信する。上述のように、様々な実装形態では、他のクライアントデバイス1062〜Nは、自動的にプライベート状態に遷移し得、プライベート状態に遷移するための許可などのために、それらのそれぞれの参加者にプロンプトし得る。
【００４３】
いくつかの実装形態では、プライバシー遷移エンジン126は、直接、対応する追加のクライアントデバイス106に、プライバシーコマンド2051〜Nを送信する。いくつかの他の実装形態では、プライバシー遷移エンジン126は、1つまたは複数の中間構成要素(たとえば、電子通信システム110)に、プライバシーコマンド2051〜Nを送信し、次いで、1つまたは複数の中間構成要素(たとえば、電子通信システム110)が、対応する追加のクライアントデバイスに、ステータス通知を送信する。いくつかの実装形態では、プライバシー遷移エンジン126は、プライバシーコマンド2051〜Nを自動的に送信する。いくつかの他の実装形態では、プライバシー遷移エンジン126は、クライアントデバイス1061を介して与えられた、ユーザの肯定的なユーザインターフェース入力に応答してのみ、プライバシーコマンド2051〜Nを送信する。図2は、3つの別個のプライバシーコマンドが異なるクライアントデバイスに与えられることを示すが、いくつかの実装形態では、より多いまたはより少ないプライバシーコマンドが送信され得、かつ/または、より多いもしくはより少ない追加のメッセージ交換スレッド参加者に提示するために送信され得る。
【００４４】
図3は、図2において、メッセージ交換参加者が進行中のメッセージ交換スレッドのコンテンツを機密であると見なすことになる尤度を決定する際に使用するための、1つまたは複数の機械学習モデル156をトレーニングする際に、図1の例示的な環境の構成要素を使用する一例を示す。
【００４５】
図3では、トレーニングデータインスタンス1361〜Nが、トレーニング例エンジン137によって受信される。トレーニングデータインスタンスの各々は、参加者によって操作されたメッセージ交換クライアント107が、プライベート状態に入るように、またはプライベート状態から出るように(自動的にまたは手動で)遷移されたとき、たとえば、特定のメッセージ交換スレッド参加者に適用可能であった、メッセージ交換スレッドのコンテンツおよび他の入力(たとえば、センサベースデータ、コンピューティングベースアクションデータ、履歴データ)を含む。たとえば、トレーニングデータインスタンス1361は、メッセージ交換スレッドコンテンツと、データ値と、プライベート状態に入る遷移が自動であったか、手動であったかの指示との、第1のベクトルを含み得る。また、たとえば、トレーニングデータインスタンス1362は、メッセージ交換スレッドコンテンツと、データ値と、プライベート状態に入る遷移が自動であったか、手動であったかの指示との、第2のベクトルを含み得る。いくつかの実装形態では、トレーニングデータインスタンスのうちの少なくともいくつかは、対応するメッセージ交換スレッド参加者が、メッセージ交換クライアント107をプライベート状態に入る(または、プライベート状態から出る)ように手動で遷移させることに基づいて、生成され得る。追加または代替として、いくつかの実装形態では、トレーニングデータインスタンスのうちの少なくともいくつかは、対応するメッセージ交換クライアント107がプライベート状態に入る(または、プライベート状態から出る)ように自動的に遷移されることに基づいて、生成され得る。トレーニングデータインスタンスを生成するための追加または代替技法が利用され得る。
【００４６】
トレーニング例エンジン137は、トレーニングインスタンスを利用して、トレーニング例1541〜Nを生成する。トレーニング例1541〜Nの各々は、対応するトレーニングデータインスタンスのデータに基づくトレーニング例入力と、たとえば、プライベート状態に入る(または、プライベート状態から出る)遷移が望ましかったか、望ましくなかったか(たとえば、フィードバックエンジン132から決定され得る)を示すトレーニング例出力とを含む。
【００４７】
生成されたトレーニング例1541〜Nは、トレーニングエンジン135によって、機械学習モデル156のうちの少なくとも1つをトレーニングするために利用される、トレーニング例152として記憶される。いくつかの実装形態では、トレーニングエンジン135は、トレーニング例のトレーニング例入力の適用に基づくトレーニング例152と、トレーニング例のトレーニング例出力に基づくバックプロパゲーションとに基づいて、機械学習モデルをトレーニングする。
【００４８】
いくつかの実装形態では、同じトレーニングされた機械学習モデル156が、クライアントデバイス1061のため、および他のユーザの他のクライアントデバイスのために利用され得る。いくつかの実装形態では、クライアントデバイス1061のために利用される、トレーニングされた機械学習モデル156は、場合によっては、クライアントデバイス1061を操作するメッセージ交換スレッド参加者のユーザデータ158に基づいて、かつ/またはフィードバックエンジン132によって与えられた参加者のフィードバックに基づいて、さらにトレーニングされ得る。メッセージ交換スレッド参加者のユーザデータ158に基づく、かつ/またはフィードバックに基づく、機械学習モデル156のさらなるトレーニングは、機械学習モデルが、特定のクライアントデバイス106を操作するメッセージ交換スレッド参加者に合わせてさらに調整されることを可能にし得る。一例として、ユーザデータ158の過去のデータは、プライベート状態に入る/から出る遷移と、参加者についての関連データとを直接的に示し得、トレーニング例エンジン137によって、トレーニングエンジン135による使用のために1つまたは複数の追加のトレーニング例を生成するために利用され得る。
【００４９】
次に図4A〜図4Cを参照すると、本明細書で説明する様々な構成要素および技法の追加の説明が提供される。図4A〜図4Bは、図1の例示的なクライアントデバイス1061と、進行中のメッセージ交換スレッドにおける少なくとも1人の参加者がメッセージ交換スレッドのコンテンツを機密であると見なすことになる、十分な尤度があるとの決定に応答して、どのようにメッセージ交換クライアント(図4A〜図4Bに図示せず)がプライベート状態に遷移され得るかの、1つまたは複数の例とを示す。図4Aおよび図4Bのクライアントデバイス1061は、ディスプレイ画面140を含む。ディスプレイ画面140はまた、クライアントデバイス1061に1つまたは複数のアクションを実行させるために、ユーザによって対話され得るシステムインターフェース要素481、482、483を含む。
【００５０】
図4Aでは、クライアントデバイス1061を操作する最初のメッセージ交換スレッド参加者(図4Aにおける「あなた」)が、「あなたに話したいことがあります...」という最初のメッセージを、進行中のメッセージ交換スレッドに与えている。別の参加者であるサリーが、「何ですか?」と返答した。次いで、最初の参加者が「私達だけの話にできますか?」と述べる。様々な実装形態では、そのような文は、検出されると、最初の参加者によって操作されたメッセージ交換クライアント107(図4Aに図示せず)を、プライベート状態に入るように遷移させる(または、少なくとも、プライベート状態に入るように遷移することを望むか否かについて、最初の参加者にプロンプトする)、「プライバシートリガフレーズ」と見なされ得る。上述のように、プライバシートリガフレーズは、「オフレコで」、「このことは私達だけの話にしておきましょう」、「誰にも言わないと約束できますか?」など、他の同様のフレーズを含み得る。いくつかのそのような実装形態では、そのようなプライバシートリガフレーズに後続する(または、場合によっては、先行する)1つまたは複数のメッセージは、たとえば、最初の参加者がメッセージ交換クライアントをプライバシー状態から出るように手動で遷移させるまで、または、話し合いのトピックがそれほど機密ではない主題に変化したことが検出されるまで、保持されないことがある。したがって、サリーの「OK」の返答、ならびに、その後に最初の参加者によって与えられたメッセージコンテンツ(すなわち、ボックス480によって囲まれたコンテンツ)は、たとえば、進行中のメッセージ交換スレッドのトランスクリプトまたはログにおいて保持されないことがある。追加または代替として、いくつかの実装形態では、遷移に後続して交換されたメッセージが、トランスクリプトまたはログに記憶されるより前に、難読化され(たとえば、無意味なテキストもしくはシンボルで置換されるか、または編集され)得る。
【００５１】
プライバシートリガフレーズは、経時的に手動で構成または学習され得る。たとえば、プライバシートリガフレーズは、単に、メッセージ交換スレッド参加者がメッセージ交換スレッドを機密であると見なすことになる尤度を決定するために、機械学習モデルを介して(1つまたは複数の他の入力を用いて)適用されるスレッドコンテンツ212(図2を参照)の1つの構成要素であり得る。いくつかの実装形態では、プライバシートリガフレーズは、メッセージ交換スレッド参加者が、メッセージ交換クライアント107をプライベート状態に入るように手動で遷移させる直前または直後に、いくつかのフレーズを与えるとき、学習され得る。したがって、たとえば、より多くのメッセージ交換スレッド参加者が、「このことは内緒にできますか?」のようなことを述べる前または後に、自らのメッセージ交換クライアント107をプライベート状態に入るように遷移させるにつれて、そのようなフレーズが、機械学習モデルをトレーニングするますます多くのトレーニング例の一部として使用され得る。もちろん、メッセージ交換スレッドは、他のいわゆる「非プライバシートリガフレーズ」に応答して、プライベート状態から出るように遷移され得る。たとえば、「もっと軽い話題に変えると...」または「オンレコに戻ろう」などのフレーズは、1つまたは複数のメッセージ交換クライアント107のプライベート状態から非プライベート状態への遷移をトリガし得る。
【００５２】
プライバシートリガフレーズに加えて、またはその代わりに、いくつかの実装形態では、メッセージ交換スレッドコンテンツの一部を形成する、1つまたは複数のnグラムが、単独でまたは組み合わせて、信号として使用され得る。図4Bでは、たとえば、クライアントデバイス1061を操作する最初のメッセージ交換スレッド参加者が、「何だと思う?」という最初のメッセージを、進行中のメッセージ交換スレッドに与えている。別の参加者であるサリーが、「何?」と返答した。次いで、最初の参加者が、「ボブが$を盗んで解雇された!」と述べる。様々な実装形態では、特定の知られているエンティティの名前(「ボブ」)など、そのような文の様々なnグラム、または他のnグラム(たとえば、「解雇される」、「盗む」)は、単独でまたは組み合わせて、最初の参加者によって操作されたメッセージ交換クライアント107(4Bに図示せず)を、プライベート状態に入るように遷移するようにトリガ(または、少なくとも、プライベート状態に入るように遷移することを望むか否かについて、最初の参加者にプロンプト)し得る。追加として、図4Bにおけるすべてのトリガリングnグラムは、最初の参加者による単一の文の中に含まれるが、これは限定であるとして意図されない。様々な実装形態では、異なる参加者によって与えられた異なるメッセージからのnグラムもまた、メッセージ交換クライアントのプライベート状態への遷移をトリガするために、組み合わせて使用され得る。
【００５３】
図4Cは、図4Bに示されたメッセージ交換スレッドの保存されたトランスクリプトの一部分の一例を示す。この例では、「ボブが$を盗んで解雇された」と述べる最初の参加者からのメッセージが、「ボブ」という名前、および「盗んで」というnグラムがスクランブルされるように、少なくとも部分的に難読化されている。様々な実装形態では、他者が潜在的に機密の文を見ることを防止するために、このコンテンツが、無検閲のコンテンツの代わりに残存し得る。
【００５４】
メッセージ交換クライアントのプライベート状態への遷移をトリガし得る、上記で識別された信号に加えて、またはその代わりに、いくつかの実装形態では、話し合いの全体的なトピックが、(単独で、またはユーザビヘイビア履歴の態様と組み合わせて)プライベート状態に入る遷移をトリガし得る。たとえば、いくつかの実装形態では、健康問題、下品な言葉、政治、個人情報、金融情報など、潜在的に機密のトピックの話し合いが、メッセージ交換クライアント(または、メッセージ交換スレッドに参加しているすべてのメッセージ交換クライアント)をプライベート状態に遷移させ得る。もちろん、どのトピックがプライベート状態に入る遷移をトリガするかは、経時的に変化および/または進化し得る。たとえば、および、上記で説明したように、様々な機械学習モデルは、いつ潜在的に機密のトピックが話し合われているかを識別するために、経時的に、連続的にトレーニングされ得る。たとえば、1つまたは複数の機械学習モデルは、特定のトピックがメッセージ交換スレッドにおいて話し合われる事例、および、1人または複数のメッセージ交換スレッド参加者が自らのそれぞれのメッセージ交換クライアントをプライベート状態に手動で遷移させる事例を表す、トレーニング例を用いてトレーニングされ得る。
【００５５】
追加または代替として、1つまたは複数の機械学習モデルは、特定のトピックがメッセージ交換スレッドにおいて話し合われ、1つまたは複数のメッセージ交換クライアントがプライベート状態に自動的に遷移される(かつ、それぞれの参加者が、否定的なフィードバックを与えないか、または肯定的なフィードバックを与える)事例を表す、トレーニング例を用いてトレーニングされ得る。同様の技法が、メッセージ交換クライアントをプライベート状態から出るように自動的に遷移させるために使用され得る。たとえば、メッセージ交換スレッドにおける1人または複数の参加者が、機密のトピックについて話し合っており、そのことが、参加者のそれぞれのメッセージ交換クライアント107のうちの1つまたは複数をプライベート状態に入るように遷移させたと仮定する。さらに、参加者が、話し合いのトピックを、機密性の低いトピックに変更すると仮定する。様々な実装形態では、そのトピックの変更は、メッセージ交換クライアント107のうちの1つまたは複数による、プライベート状態から非プライベート状態(メッセージ交換スレッドコンテンツが難読化されず、ネイティブな形式において保持される)に戻る遷移をトリガし得る。
【００５６】
様々な技法が、メッセージ交換スレッドにおける話し合いのトピックを決定するために採用され得る。いくつかの実装形態では、たとえば、進行中のベースで、話し合いの1つまたは複数の現在のトピックを識別するために、メッセージ交換スレッドコンテンツのスライディングウィンドウを使用する、1つまたは複数のトピック分類器が採用され得る。トピック分類器は、機械学習モデルまたはルールベースのモデルの形式をとり得る。機械学習ベースのトピック分類器では、いくつかの実装形態では、トピック分類器が、特定のトピックが話し合われているか否かを示す出力(たとえば、バイナリ出力、または確率)を与えるためにトレーニングされ得る。他の実装形態では、トピック分類器は、複数の異なるトピックが話し合われているか否かを示す出力を与えるためにトレーニングされ得る。たとえば、トピック分類器は、複数の異なるトピックが話し合われている尤度または信頼性を示す出力を与えるように構成され得る。いくつかの実装形態では、1つまたは複数のしきい値を満たす尤度/信頼性を有するそれらのトピックのみが、話し合いのトピックとして識別され得る。他の実装形態では、n個の最も高い尤度/信頼性トピックのみが、話し合いのトピックとして識別され得る。
【００５７】
上述のように、メッセージ交換スレッドのコンテンツに加えて、進行中のメッセージ交換スレッドのコンテンツが少なくとも1人のメッセージ交換スレッド参加者によって機密であると見なされる可能性があることになる尤度を決定するとき、他の信号が考慮され得る。いくつかの実装形態では、メッセージ交換スレッド参加者によって操作された、1つまたは複数のクライアントデバイス106(たとえば、図2におけるセンサデータ204)に関連付けられた文脈上の信号または手掛かりが解析され得る。特定のメッセージ交換スレッド参加者が、特定の時刻の間、および/または参加者が特定のロケーションにいる間、メッセージ交換クライアントをプライベート状態に手動で遷移させる傾向があると仮定する。様々な実装形態では、それらの同じ時刻の間、および/または参加者が同じ特定のロケーションにいる間、参加者のメッセージ交換クライアントは、プライベート状態に入るように自動的に遷移され得る。
【００５８】
いくつかの実装形態では、クライアントデバイス106上で動作する1つまたは複数のアプリケーションの状態もまた、進行中のメッセージ交換スレッドのコンテンツが少なくとも1人のメッセージ交換スレッド参加者によって機密であると見なされる可能性があることになる尤度を決定するために使用され得る。クライアントデバイス106上でメッセージ交換クライアント107を操作する特定のメッセージ交換スレッド参加者はまた、クライアントデバイス106上でウェブブラウザを有し、ウェブブラウザがプライベート状態に手動で遷移されると仮定する。いくつかの実装形態では、特に、参加者(または、一般に複数の参加者)がプライベート状態でブラウズ中に、メッセージ交換クライアント107をプライベート状態に入るように遷移させる傾向がある場合、ウェブブラウザが現在プライベート状態であるという事実が、(単独で、または本明細書で説明する他の信号と組み合わせて)同じくプライベート状態に遷移するように、メッセージ交換クライアントをトリガし得る。より一般には、いくつかの実装形態では、メッセージ交換クライアント107が(メッセージ交換参加者によって手動で、または否定的なフィードバックなしで自動的に)プライベート状態に入るように遷移されるとき、参加者のクライアントデバイス106上で動作する1つまたは複数の他のアプリケーションの1つまたは複数の状態が、機械学習モデルを(さらに)トレーニングするためにトレーニング例として使用される、ベクトルの特徴として使用され得る。
【００５９】
文書の様々な態様(たとえば、図2における208)もまた、1人または複数のメッセージ交換スレッド参加者がメッセージ交換スレッドコンテンツを機密であると見なすことになる尤度を決定するとき、考慮され得る。ユーザが、自らのクライアントデバイス106上(および/または、クラウドストレージ中)に記憶された文書を有し、文書が、厳重なセキュリティ保護とともに構成される(たとえば、パスワード保護される、アクセスを有するユーザの数が制限される、暗号化されるなど)と仮定する。いくつかの実装形態では、その文書および/またはその文書のメタデータに関連付けられたトピックが、厳重なセキュリティ保護に基づいて、機密であるとしてフラグを付けられ得る。いくつかの実装形態では、メッセージ交換スレッドにおける文書の所有者によるそのようなトピックの話し合いは、所有者によって操作されたメッセージ交換クライアント107のプライベート状態に入る遷移をトリガし得る。追加または代替として、文書の所有者、または別のメッセージ交換スレッドが、具体的にメッセージ交換スレッドにおける文書を参照する(たとえば、文書へのリンク、文書にアクセスするための許可などを与える)場合、メッセージ交換スレッドの参加者によって操作された1つまたは複数のメッセージ交換クライアント107は、プライベート状態に入るように遷移され得る。
【００６０】
本明細書で説明する例は、典型的には、複数の人間のメッセージ交換スレッド参加者を含んでいたが、これは限定であるとして意図されない。上述のように、いくつかの実装形態では、メッセージ交換スレッドは、単一の人間の参加者と、自動アシスタントなどの非人間の参加者との間に存在し得る。いくつかのそのような実装形態では、本明細書で説明する技法は、たとえば、自動アシスタントと交換されたメッセージの残存を控えるために、またはメッセージを難読化するために、人間の参加者によって使用されるメッセージ交換クライアントをプライベート状態に入るように自動的に遷移させるために採用され得る。
【００６１】
いくつかの実装形態では、本明細書で説明する技法は、純粋に非人間の参加者の間で交換されたメッセージを難読化するため、またはさもなければメッセージの残存を控えるために使用され得ることが可能である。たとえば、異なるアプリケーション、領域(たとえば、食品配送自動アシスタントとメッセージを交換するパーソナル自動アシスタント)などに関連付けられた複数の自動アシスタントの間で交換されるメッセージは、そのメッセージが、1人または複数の人間、たとえば、自動アシスタントのうちの1つもしくは複数がそのために働いているユーザ、および/または、自動アシスタントのうちの1つもしくは複数によってサービスされるユーザにとって、機密である可能性があると見なされるコンテンツを含むことに基づいて難読化されるか、かつ/または記憶されないことが可能である。
【００６２】
第1の個人が、第2の個人のための誕生日プレゼントの買い物をしていると仮定する。さらに、両方の個人が、たとえば、家庭におけるスタンドアロンインタラクティブスピーカーによって操作される、同じ自動アシスタントを用いて対話する傾向があると仮定する。第1の個人が、好適な誕生日プレゼントを検索するために、自動アシスタントとの人間対コンピュータのダイアログに関与する場合、第1の個人は、第2の個人がコンテンツを消費することを望まないことになるので、第1の個人は、自動アシスタントと交換されるいかなるメッセージも機密であると見なす可能性があることになる。したがって、自動アシスタントは、たとえば、「誕生日プレゼント」などの発話されたnグラム、および第2の個人の識別情報に応答して、または「アリスの誕生日に何を買うべきですか?」のような発話に応答して、自動アシスタントが第1の個人と自動アシスタントとの間の人間対コンピュータのダイアログのコンテンツの残存を中止する、プライベート状態に入るように遷移し得る。追加または代替として、第1の個人が、自動アシスタントと会話するために、メッセージ交換クライアント107などのグラフィカルユーザインターフェースを使用する場合、メッセージ交換クライアント107は、プライベート状態に入るように遷移し得る。同様のプライベート状態に入る遷移は、たとえば、人間が、機密であることが知られているかまたは学習されている、金融、健康、または他のトピックなど、潜在的に機密のトピックについて話し合うとき、人間対コンピュータのダイアログ中に発生し得る。
【００６３】
図5は、本明細書で開示する実装形態による、メッセージ交換スレッドのコンテンツが1人または複数の参加者によって機密であると見なされる尤度を決定し、1つまたは複数のメッセージ交換クライアントまたは他の構成要素をプライベート状態に入るように遷移させる、例示的な方法500を示すフローチャートである。便宜上、フローチャートの動作について、動作を実行するシステムを参照しながら説明する。このシステムは、プライバシーステータスシステム120の1つまたは複数の構成要素など、様々なコンピュータシステムの様々な構成要素を含み得る。その上、方法500の動作が特定の順序で示されるが、これは限定であるとして意図されない。1つまたは複数の動作が並べ替えられ、省略され、または追加され得る。
【００６４】
ブロック502で、システムは、進行中のメッセージ交換スレッドのコンテンツを検査する。上述のように、いくつかの実装形態では、システムは、進行中のメッセージ交換スレッドの特定の部分を検査するために、スライディングウィンドウを採用し得る。様々な実装形態では、スライディングウィンドウのサイズは、時間的および/または空間的に決定され得る。たとえば、検査されるコンテンツのスライディングウィンドウは、最後のx分、最後のy個のメッセージなどからのコンテンツのみを含み得る(ただし、xおよびyは、非ゼロの整数である)。他の実装形態では、メッセージ交換スレッドに組み込まれた各メッセージ、または各メッセージのあらゆる部分が検査され得る。様々な実装形態では、メッセージ交換参加者は、この検査を無効化するオプション(方法500の残りの動作が実行されるのを妨げることになる)を有し得る。
【００６５】
ブロック504で、システムは、ブロック502の検査に少なくとも部分的に基づいて、メッセージ交換スレッドのコンテンツが1人または複数のメッセージ交換スレッド参加者によって機密であると見なされる尤度を決定し得る。いくつかの実装形態では、この尤度は、メッセージ交換スレッドのコンテンツ(たとえば、プライバシートリガフレーズ、nグラムの様々な組合せ、話し合いの機密のトピックなど)のみに基づいて決定され得る。他の実装形態では、この尤度は、追加として、メッセージ交換スレッド参加者によって操作された1つまたは複数のクライアントデバイスからのセンサデータ、1人または複数のメッセージ交換参加者によって記憶またはさもなければ制御された文書、1人または複数のメッセージ交換スレッド参加者のビヘイビア履歴(たとえば、何の状況下で、参加者がプライベート状態に入る遷移を手動でトリガしたか、またはプライベート状態に自動的に遷移することに反対しなかったか)など、他の信号に基づいて決定され得る。上述のように、いくつかの実装形態では、様々な入力は、メッセージ交換スレッドコンテンツから、かつ/またはこれらの他の信号から取られ、入力として機械学習モデルに適用され得る。機械学習モデルは、尤度を示す出力を与えるためにトレーニングされ得る。
【００６６】
ブロック506で、システムは、ブロック504で決定された尤度が第1のしきい値を満たすか否かを決定し得る。答えがnoである(たとえば、いずれかの参加者がメッセージ交換スレッドコンテンツを機密であると見なすことになる尤度が比較的低い)場合、方法500は、ブロック502に戻るように進み得、メッセージ交換スレッドコンテンツの検査が再開し得る。しかしながら、ブロック506における答えがyesである場合、方法500は、ブロック508に進み得る。ブロック508で、システムは、ブロック504で決定された尤度が第2のしきい値を満たすか否かを決定し得、第2のしきい値は、多くの場合、ブロック506に関連付けられた第1のしきい値よりも高くなり得る。ブロック508における答えがyesである(たとえば、メッセージ交換コンテンツが、メッセージ交換スレッド参加者のうちの1人にとって機密である可能性が高いと見なされる)場合、方法500は、ブロック510に進み得る。ブロック510で、1人または複数のメッセージ交換スレッド参加者によって操作された1つまたは複数のメッセージ交換クライアントは、メッセージ交換スレッドのコンテンツが難読化されるか、または保持されない、プライベート状態に自動的に遷移され得る。
【００６７】
一方、ブロック508における答えがnoである(たとえば、メッセージ交換スレッド参加者がメッセージ交換スレッドコンテンツを機密であると見なすことになる妥当な尤度があるが、その尤度が確実であるほど高くない)場合、方法500は、ブロック512に進み得る。ブロック512で、メッセージ交換クライアントをプライベート状態に入るように遷移させるための、1人または複数のメッセージ交換スレッド参加者からの許可を請求するプロンプトが、たとえば、メッセージ交換クライアントによって、可聴または視覚出力として与えられ得る。ブロック514で、参加者が、請求された許可を与える場合、方法500は、以前に説明したブロック510に進み得る。ブロック514における答えがnoである場合、方法500は、ブロック502に戻るように進み得、プライベート状態に入る遷移がトリガされなくてよい。
【００６８】
ブロック510に戻ると、いくつかの実装形態では、システムは、メッセージ交換スレッドに参加するために使用されている他のメッセージ交換クライアント(または、より一般には、クライアントデバイス)に、1つまたは複数のプライバシーコマンドを送信するか、あるいは送信することを、1つまたは複数のメッセージ交換クライアントに行わせ得る。これらのプライバシーコマンドは、受信側メッセージ交換クライアント(または、より一般には、受信側クライアントデバイス)を、(たとえば、自動的に、またはプロンプトにおけるユーザの許可の提供に応答して)プライベート状態に入るように遷移させ得る。図5に図示しないが、いくつかの実装形態では、様々なメッセージ交換クライアントへのプライバシーコマンドの送信は、ブロック504で決定された尤度を条件とし得る。尤度が特定のしきい値(たとえば、ブロック508に関連する第2のしきい値)を満たす場合、プライバシーコマンドが自動的に送信され得る。しかしながら、尤度がそのようなしきい値を満たすことができない場合、プライバシーコマンドは、たとえば、そのような許可を請求するプロンプトに応答する、参加者のそのような許可の付与のみに応答して、送信され得る。
【００６９】
メッセージ交換クライアントをプライベート状態に入るように遷移させるための許可について、メッセージ交換スレッド参加者にプロンプトすることに加えて、またはその代わりに、いくつかの実装形態では、メッセージ交換クライアントが自動的に遷移され得、次いで、参加者が、自動的な遷移についてのフィードバックを与えるための機会を有し得る。たとえば、ユーザは、たとえば、可聴または視覚出力を介して、自らのクライアントデバイスおよび/またはメッセージ交換クライアントがプライベート状態に入るように遷移したことを通知され得る。次いで、参加者は、非プライベート状態に戻るように手動で遷移すること、または、遷移の不賛成を示す何らかの他の入力を与えることなど、フィードバックを与え得る。このフィードバックに基づいて、システムは、現在の状況下で、参加者がプライベート状態に入るように遷移することを望まないことを、(たとえば、その事例を機械学習モデルトレーニング例のための基礎として使用することを通して)「学習」し得る。また、もちろん、図5に示す技法と同様の技法が、メッセージ交換クライアント(または、より一般には、クライアントデバイス)をプライベート状態から出るように、および非プライベート(または、より低いプライベート)状態に入るように、自動的に遷移させるために使用され得る。
【００７０】
様々な実装形態では、メッセージ交換クライアントは、任意の数の他のアプリケーションとともに、クライアントデバイス上で動作中であり得る。いくつかの実装形態では、これらの他の(たとえば、サードパーティ)アプリケーションのうちの1つまたは複数は、メッセージ交換クライアントによって参加されたメッセージ交換スレッドを「立ち聴き」することが可能であり得る。たとえば、テイクアウト注文アプリケーションは、たとえば、ユーザがディナーについて話し合っているか否かを決定するために、ユーザ間のメッセージ交換スレッドをリッスンし得る(その場合、テイクアウト注文アプリケーションは、メッセージ交換スレッドに参加し、テイクアウト注文を出すように申し出ることができる)。別の例として、いくつかの実装形態では、1つまたは複数の検索アプリケーションは、検索クエリを用意して提出するために、交換コンテンツを使用するか否かを決定するために、メッセージ交換スレッドを立ち聴き中であり得る。いずれの場合も、いくつかの実装形態では、メッセージ交換における参加者が、潜在的に機密の情報について話し合っていると決定され、それによって、1つまたは複数のメッセージ交換クライアントをプライベート状態に入るように遷移させる場合、メッセージ交換スレッドのコンテンツは、難読化され得るか、またはさもなければ、そのようなサードパーティアプリケーションに与えられないことがある。
【００７１】
図6は、場合によっては、本明細書で説明する技法の1つまたは複数の態様を実行するために利用され得る、例示的なコンピューティングデバイス610のブロック図である。いくつかの実装形態では、クライアントコンピューティングデバイス1061〜N、プライバシーステータスシステム120、および/または他の構成要素のうちの1つまたは複数は、例示的なコンピューティングデバイス610の1つまたは複数の構成要素を備え得る。
【００７２】
コンピューティングデバイス610は、典型的には、バスサブシステム612を介して、いくつかの周辺デバイスと通信する、少なくとも1つのプロセッサ614を含む。これらの周辺デバイスは、たとえば、メモリサブシステム625およびファイル記憶サブシステム626を含む記憶サブシステム624と、ユーザインターフェース出力デバイス620と、ユーザインターフェース入力デバイス622と、ネットワークインターフェースサブシステム616とを含み得る。入力および出力デバイスは、コンピューティングデバイス610とのユーザ対話を可能にする。ネットワークインターフェースサブシステム616は、ネットワークの外部へのインターフェースを提供し、他のコンピューティングデバイスにおける対応するインターフェースデバイスに結合される。
【００７３】
ユーザインターフェース入力デバイス622は、キーボード、また、マウス、トラックボール、タッチパッド、もしくはグラフィックスタブレットなどのポインティングデバイス、スキャナ、ディスプレイに組み込まれたタッチスクリーン、音声認識システムなどのオーディオ入力デバイス、マイクロフォン、および/または他のタイプの入力デバイスを含み得る。一般に、「入力デバイス」という用語の使用は、コンピューティングデバイス610内に、または通信ネットワーク上に情報を入力するための、すべての可能なタイプのデバイスおよび方法を含むものである。
【００７４】
ユーザインターフェース出力デバイス620は、ディスプレイサブシステム、プリンタ、ファックス機、またはオーディオ出力デバイスなどの非視覚ディスプレイを含み得る。ディスプレイサブシステムは、陰極線管(CRT)、液晶ディスプレイ(LCD)などのフラットパネルデバイス、プロジェクションデバイス、または可視の画像を作成するための何らかの他の機構を含み得る。ディスプレイサブシステムはまた、オーディオ出力デバイスを介してなど、非視覚ディスプレイを提供し得る。一般に、「出力デバイス」という用語の使用は、コンピューティングデバイス610からユーザに、または別の機械もしくはコンピューティングデバイスに情報を出力するための、すべての可能なタイプのデバイスおよび方法を含むものである。
【００７５】
記憶サブシステム624は、本明細書で説明するモジュールの一部または全部の機能を提供する、プログラミングおよびデータ構成物を記憶する。たとえば、記憶サブシステム624は、図5の方法500の選択された態様を実行するための論理を含み得る。
【００７６】
これらのソフトウェアモジュールは、一般に、プロセッサ614によって単独で、または他のプロセッサと組み合わせて実行される。記憶サブシステム624において使用されるメモリ625は、プログラム実行中の命令およびデータの記憶のためのメインランダムアクセスメモリ(RAM)630と、それにおいて固定された命令が記憶される、読取り専用メモリ(ROM)632とを含む、いくつかのメモリを含み得る。ファイル記憶サブシステム626は、プログラムおよびデータファイルのための永久記憶を提供することができ、ハードディスクドライブ、関連するリムーバブル媒体を伴うフロッピーディスクドライブ、CD-ROMドライブ、光ドライブ、またはリムーバブル媒体カートリッジを含み得る。いくつかの実装形態の機能を実装するモジュールは、記憶サブシステム624において、または、プロセッサ614によってアクセス可能な他の機械において、ファイル記憶サブシステム626によって記憶され得る。
【００７７】
バスサブシステム612は、コンピューティングデバイス610の様々な構成要素およびサブシステムを、意図されたように互いと通信させるための機構を提供する。バスサブシステム612は、単一のバスとして概略的に示されるが、バスサブシステムの代替実装形態は、複数のバスを使用し得る。
【００７８】
コンピューティングデバイス610は、ワークステーション、サーバ、コンピューティングクラスタ、ブレードサーバ、サーバファーム、または任意の他のデータ処理システムもしくはコンピューティングデバイスを含む、様々なタイプであり得る。コンピュータおよびネットワークの絶え間なく変化する性質のために、図6に示すコンピューティングデバイス610についての説明は、いくつかの実装形態を例示するための具体例にすぎないものである。コンピューティングデバイス610の多数の他の構成は、図6に示すコンピューティングデバイスよりも多いまたは少ない構成要素を有して可能である。
【００７９】
本明細書で説明するシステムが、ユーザについての個人情報を収集もしくはさもなければ監視するか、または個人情報および/もしくは監視された情報(たとえば、メッセージ交換スレッドにおいて交換されたメッセージ)を利用し得る状況では、ユーザは、プログラムまたは特徴がユーザ情報(たとえば、ユーザのソーシャルネットワーク、ソーシャルアクションもしくはアクティビティ、専門、ユーザの選好、またはユーザの現在の地理的ロケーションについての情報)を収集するか否かを制御するため、または、コンテンツサーバから、ユーザにより関連のあり得るコンテンツを受信するか否か、および/もしくはどのように受信するかを制御するための、機会を与えられ得る。また、あるデータは、個人識別可能情報が除去されるように、記憶または使用される前に1つまたは複数の方法で扱われ得る。たとえば、ユーザの識別情報は、ユーザについての個人識別可能情報が決定され得ないように扱われ得るか、または、ユーザの地理的ロケーションが汎化され得、その場合、ユーザの特定の地理的ロケーションが決定され得ないように、地理的ロケーション情報が(市、郵便番号、または州レベルなどまで)取得される。したがって、ユーザは、ユーザについての情報がどのように収集および/または使用されるかの制御を有し得る。たとえば、いくつかの実装形態では、本開示の選択された態様を用いて構成されたメッセージ交換クライアントを操作するメッセージ交換スレッド参加者は、たとえば、メッセージ交換クライアントのプライベート状態に入るかまたはプライベート状態から出る遷移を望む参加者が、手動でそうすることになるように、メッセージ交換スレッドコンテンツが監視されることをやめることができる。
【００８０】
いくつかの実装形態について、本明細書で説明および図示したが、機能を実行し、かつ/あるいは、結果および/または本明細書で説明する利点のうちの1つもしくは複数を得るための、様々な他の手段および/または構造が利用され得、そのような変形および/または変更の各々は、本明細書で説明する実装形態の範囲内であると見なされる。より一般には、本明細書で説明するすべてのパラメータ、寸法、材料、および構成は、例示的であるものであり、実際のパラメータ、寸法、材料、および/または構成は、そのために教示が使用される1つまたは複数の特定の適用例に依存することになる。当業者は、本明細書で説明する特定の実装形態の多数の均等物を認識するようになるか、またはせいぜいルーチンの実験を使用して確認することが可能になる。したがって、上記の実装形態は、例として提示されるにすぎず、添付の特許請求の範囲およびその均等物の範囲内で、実装形態が、具体的に説明および請求するもの以外で実施され得ることを理解されたい。本開示の実装形態は、本明細書で説明する各個々の特徴、システム、物品、材料、キット、および/または方法を対象とする。加えて、2つ以上のそのような特徴、システム、物品、材料、キット、および/または方法のいかなる組合せも、そのような特徴、システム、物品、材料、キット、および/または方法が互いに矛盾しない場合、本開示の範囲内に含まれる。
【符号の説明】
【００８１】
101  通信ネットワーク、ネットワーク
106  クライアントデバイス
1061〜N  クライアントデバイス、クライアントコンピューティングデバイス
107  メッセージ交換クライアント、第1のメッセージ交換クライアント、ローカルメッセージ交換クライアント
1071〜N  メッセージ交換クライアントアプリケーション、メッセージ交換クライアント
110  電子通信システム
120  プライバシーステータスシステム
122  データエンジン、エンジン
124  プライバシー尤度エンジン、エンジン
126  プライバシー遷移エンジン、エンジン
132  フィードバックエンジン、エンジン
135  トレーニングエンジン、エンジン
1361〜N  トレーニングデータインスタンス
137  トレーニング例エンジン、エンジン
140  ディスプレイ画面
152  トレーニング例
1541〜N  トレーニング例
156  機械学習モデル
158  ユーザデータ
201A  データ
203A  出力
204  センサ、センサデータ
2051〜N  プライバシーコマンド
206  アプリケーション
208  文書
210  履歴データ
212  メッセージ交換スレッドコンテンツ、コンテンツ、スレッドコンテンツ
480  ボックス
481、482、483  システムインターフェース要素
610  コンピューティングデバイス
612  バスサブシステム
614  プロセッサ
616  ネットワークインターフェースサブシステム
620  ユーザインターフェース出力デバイス
622  ユーザインターフェース入力デバイス
624  記憶サブシステム
625  メモリサブシステム、メモリ
626  ファイル記憶サブシステム
630  メインランダムアクセスメモリ(RAM)
632  読取り専用メモリ(ROM)
【図１】
0006862568.tif 000002
【図２】
0006862568.tif 000003
【図３】
0006862568.tif 000004
【図４Ａ】
0006862568.tif 000005
【図４Ｂ】
0006862568.tif 000006
【図４Ｃ】
0006862568.tif 000007
【図５】
0006862568.tif 000008
【図６】
0006862568.tif 000009