(57)【要約】  一実施形態では、方法は、データストアから、第１のユーザに関連付けられた複数の入力タプルにアクセスすることであって、各入力タプルが、ジェスチャー入力と、対応する音声入力とを含む、複数の入力タプルにアクセスすることと、自然言語理解（ＮＬＵ）モジュールによって、複数の音声入力に対応する複数の意図を、それぞれ決定することと、複数のジェスチャー入力について、１つまたは複数の機械学習モデルに基づいて複数の特徴表現を生成することと、複数のジェスチャー入力についての複数のジェスチャー識別子を、それらの各々の特徴表現に基づいて、それぞれ決定することと、複数の意図を複数のジェスチャー識別子にそれぞれ関連付けることと、第１のユーザについて、それらの各々のジェスチャー入力の複数の特徴表現と、複数の意図とそれらの各々のジェスチャー識別子との間の関連付けとに基づいて、個人化されたジェスチャー分類モデルをトレーニングすることとを含む。【選択図】図６
2021522561.tif 000002
【特許請求の範囲】
【請求項１】
１つまたは複数のコンピューティングシステムによって、
データストアから、第１のユーザに関連付けられた複数の入力タプルにアクセスすることであって、各入力タプルが、ジェスチャー入力と、対応する音声入力とを含む、複数の入力タプルにアクセスすることと、
自然言語理解（ＮＬＵ）モジュールによって、複数の音声入力に対応する複数の意図を、それぞれ決定することと、
複数のジェスチャー入力について、１つまたは複数の機械学習モデルに基づいて複数の特徴表現を生成することと、
前記複数のジェスチャー入力についての複数のジェスチャー識別子を、それらの各々の特徴表現に基づいて、それぞれ決定することと、
前記複数の意図を前記複数のジェスチャー識別子にそれぞれ関連付けることと、
前記第１のユーザについて、それらの各々のジェスチャー入力の前記複数の特徴表現と、前記複数の意図とそれらの各々のジェスチャー識別子との間の前記関連付けとに基づいて、個人化されたジェスチャー分類モデルをトレーニングすることと
を含む、方法。
【請求項２】
前記データストアから、一般的なユーザ母集団に対応する一般的なジェスチャー分類モデルにアクセスすることであって、前記個人化されたジェスチャー分類モデルをトレーニングすることが、前記一般的なジェスチャー分類モデルにさらに基づく、一般的なジェスチャー分類モデルにアクセスすること
をさらに含む、請求項１に記載の方法。
【請求項３】
前記一般的なジェスチャー分類モデルが、前記一般的なユーザ母集団からの複数のジェスチャー入力に基づいてトレーニングされる、請求項２に記載の方法。
【請求項４】
１つまたは複数の自動音声認識（ＡＳＲ）モジュールによって、前記複数の音声入力についての複数のテキスト入力を、それぞれ生成すること
をさらに含む、請求項１に記載の方法。
【請求項５】
前記複数の音声入力に対応する前記複数の意図をそれぞれ決定することが、各々の音声入力の前記複数のテキスト入力に基づく、請求項４に記載の方法。
【請求項６】
前記１つまたは複数の機械学習モデルが、ニューラルネットワークモデルまたは長短期記憶（ＬＳＴＭ）モデルのうちの１つまたは複数に基づく、請求項１に記載の方法。
【請求項７】
前記個人化されたジェスチャー分類モデルが、畳み込みニューラルネットワークに基づく、請求項１に記載の方法。
【請求項８】
各ジェスチャー入力について各特徴表現を生成することが、
前記ジェスチャー入力を１つまたは複数の構成要素に分割することと、
前記ジェスチャー入力について前記１つまたは複数の構成要素を前記特徴表現にモデル化することと
を含む、請求項１に記載の方法。
【請求項９】
各ジェスチャー入力について各特徴表現を生成することが、
前記ジェスチャー入力に関連付けられた時間的情報を決定することと、
前記ジェスチャー入力について前記時間的情報を前記特徴表現にモデル化することと
を含む、請求項１に記載の方法。
【請求項１０】
前記第１のユーザに関連付けられたクライアントシステムから、前記第１のユーザからの新しいジェスチャー入力を受信することと、
前記新しいジェスチャー入力について、前記個人化されたジェスチャー分類モデルに基づいて、前記新しいジェスチャー入力に対応する意図を決定することと
をさらに含む、請求項１に記載の方法。
【請求項１１】
決定された意図に基づいて１つまたは複数のタスクを実行すること
をさらに含む、請求項１０に記載の方法。
【請求項１２】
前記個人化されたジェスチャー分類モデルをトレーニングすることが、前記第１のユーザからのユーザフィードバックデータにさらに基づく、請求項１に記載の方法。
【請求項１３】
ソフトウェアを具現する１つまたは複数のコンピュータ可読非一時的記憶媒体であって、前記ソフトウェアは、実行されたとき、
データストアから、第１のユーザに関連付けられた複数の入力タプルにアクセスすることであって、各入力タプルが、ジェスチャー入力と、対応する音声入力とを含む、複数の入力タプルにアクセスすることと、
自然言語理解（ＮＬＵ）モジュールによって、複数の音声入力に対応する複数の意図を、それぞれ決定することと、
複数のジェスチャー入力について、１つまたは複数の機械学習モデルに基づいて複数の特徴表現を生成することと、
前記複数のジェスチャー入力についての複数のジェスチャー識別子を、それらの各々の特徴表現に基づいて、それぞれ決定することと、
前記複数の意図を前記複数のジェスチャー識別子にそれぞれ関連付けることと、
前記第１のユーザについて、それらの各々のジェスチャー入力の前記複数の特徴表現と、前記複数の意図とそれらの各々のジェスチャー識別子との間の前記関連付けとに基づいて、個人化されたジェスチャー分類モデルをトレーニングすることと
を行うように動作可能である、１つまたは複数のコンピュータ可読非一時的記憶媒体。
【請求項１４】
前記ソフトウェアは、実行されたとき、
前記データストアから、一般的なユーザ母集団に対応する一般的なジェスチャー分類モデルにアクセスすることであって、前記個人化されたジェスチャー分類モデルをトレーニングすることが、前記一般的なジェスチャー分類モデルにさらに基づく、一般的なジェスチャー分類モデルにアクセスすること
を行うようにさらに動作可能である、請求項１３に記載の媒体。
【請求項１５】
前記一般的なジェスチャー分類モデルが、前記一般的なユーザ母集団からの複数のジェスチャー入力に基づいてトレーニングされる、請求項１４に記載の媒体。
【請求項１６】
前記ソフトウェアが、実行されたとき、
１つまたは複数の自動音声認識（ＡＳＲ）モジュールによって、前記複数の音声入力についての複数のテキスト入力を、それぞれ生成すること
を行うようにさらに動作可能である、請求項１３に記載の媒体。
【請求項１７】
前記複数の音声入力に対応する前記複数の意図を決定することが、各々の音声入力の前記複数のテキスト入力にそれぞれ基づく、請求項１６に記載の媒体。
【請求項１８】
前記１つまたは複数の機械学習モデルが、ニューラルネットワークモデルまたは長短期記憶（ＬＳＴＭ）モデルのうちの１つまたは複数に基づく、請求項１３に記載の媒体。
【請求項１９】
前記個人化されたジェスチャー分類モデルが、畳み込みニューラルネットワークに基づく、請求項１３に記載の媒体。
【請求項２０】
１つまたは複数のプロセッサと、前記プロセッサによって実行可能な命令を備える、前記プロセッサに結合された非一時的メモリとを備えるシステムであって、前記プロセッサは、前記命令を実行したとき、
データストアから、第１のユーザに関連付けられた複数の入力タプルにアクセスすることであって、各入力タプルが、ジェスチャー入力と、対応する音声入力とを含む、複数の入力タプルにアクセスすることと、
自然言語理解（ＮＬＵ）モジュールによって、複数の音声入力に対応する複数の意図を、それぞれ決定することと、
複数のジェスチャー入力について、１つまたは複数の機械学習モデルに基づいて複数の特徴表現を生成することと、
前記複数のジェスチャー入力についての複数のジェスチャー識別子を、それらの各々の特徴表現に基づいて、それぞれ決定することと、
前記複数の意図を前記複数のジェスチャー識別子にそれぞれ関連付けることと、
前記第１のユーザについて、それらの各々のジェスチャー入力の前記複数の特徴表現と、前記複数の意図とそれらの各々のジェスチャー識別子との間の前記関連付けとに基づいて、個人化されたジェスチャー分類モデルをトレーニングすることと
を行うように動作可能である、システム。
【請求項２１】
特に、補助システムにおいて使用するための方法であって、前記補助システムは、ユーザが、補助を得るための会話におけるユーザ入力で前記補助システムと対話することを可能にすることによって、前記ユーザが情報またはサービスを取得するのを補助するためのものであり、前記ユーザ入力が、ボイス、テキスト、画像、ビデオ、動きまたは向き、あるいはそれらの任意の組合せを含み、前記補助システムが、特に、コンピューティングデバイスと、アプリケーションプログラミングインターフェース（ＡＰＩ）と、ユーザデバイス上のアプリケーションの普及との組合せによって可能にされ、前記方法は、１つまたは複数のコンピューティングシステムによって、
データストアから、第１のユーザに関連付けられた複数の入力タプルにアクセスすることであって、各入力タプルが、ジェスチャー入力と、対応する音声入力とを含む、複数の入力タプルにアクセスすることと、
自然言語理解（ＮＬＵ）モジュールによって、複数の音声入力に対応する複数の意図を、それぞれ決定することと、
複数のジェスチャー入力について、１つまたは複数の機械学習モデルに基づいて複数の特徴表現を生成することと、
前記複数のジェスチャー入力についての複数のジェスチャー識別子を、それらの各々の特徴表現に基づいて、それぞれ決定することと、
前記複数の意図を前記複数のジェスチャー識別子にそれぞれ関連付けることと、
前記第１のユーザについて、それらの各々のジェスチャー入力の前記複数の特徴表現と、前記複数の意図とそれらの各々のジェスチャー識別子との間の前記関連付けとに基づいて、個人化されたジェスチャー分類モデルをトレーニングすることと
を含む、方法。
【請求項２２】
前記データストアから、一般的なユーザ母集団に対応する一般的なジェスチャー分類モデルにアクセスすることであって、前記個人化されたジェスチャー分類モデルをトレーニングすることが、前記一般的なジェスチャー分類モデルにさらに基づく、一般的なジェスチャー分類モデルにアクセスすること
をさらに含み、
随意に、前記一般的なジェスチャー分類モデルが、前記一般的なユーザ母集団からの複数のジェスチャー入力に基づいてトレーニングされる、
請求項２１に記載の方法。
【請求項２３】
１つまたは複数の自動音声認識（ＡＳＲ）モジュールによって、前記複数の音声入力についての複数のテキスト入力を、それぞれ生成すること
をさらに含み、
随意に、前記複数の音声入力に対応する前記複数の意図を決定することが、各々の音声入力の前記複数のテキスト入力にそれぞれ基づく、
請求項２１または２２に記載の方法。
【請求項２４】
前記１つまたは複数の機械学習モデルが、ニューラルネットワークモデルまたは長短期記憶（ＬＳＴＭ）モデルのうちの１つまたは複数に基づく、請求項２１から２３のいずれか一項に記載の方法。
【請求項２５】
前記個人化されたジェスチャー分類モデルが、畳み込みニューラルネットワークに基づく、請求項２１から２４のいずれか一項に記載の方法。
【請求項２６】
各ジェスチャー入力について各特徴表現を生成することが、
前記ジェスチャー入力を１つまたは複数の構成要素に分割することと、
前記ジェスチャー入力について前記１つまたは複数の構成要素を前記特徴表現にモデル化することと
を含み、および／または
各ジェスチャー入力について各特徴表現を生成することが、
前記ジェスチャー入力に関連付けられた時間的情報を決定することと、
前記ジェスチャー入力について前記時間的情報を前記特徴表現にモデル化することと
を含む、請求項２１から２５のいずれか一項に記載の方法。
【請求項２７】
前記第１のユーザに関連付けられたクライアントシステムから、前記第１のユーザからの新しいジェスチャー入力を受信することと、
前記新しいジェスチャー入力について、前記個人化されたジェスチャー分類モデルに基づいて、前記新しいジェスチャー入力に対応する意図を決定することと
をさらに含み、
随意に、
決定された意図に基づいて１つまたは複数のタスクを実行すること
をさらに含む、請求項２１から２６のいずれか一項に記載の方法。
【請求項２８】
入力タプルまたはジェスチャー入力および／または音声入力が、前記補助システムに関連付けられたクライアントシステムによってキャプチャされ、
特に、前記クライアントシステムが、仮想現実（ＶＲ）ヘッドセットおよび／または拡張現実（ＡＲ）スマートグラスであり、ならびに／あるいは
特に、前記クライアントシステムが、１つまたは複数のセンサーを備えるＩ／Ｏデバイスからユーザ入力を受信し、
特に、前記Ｉ／Ｏデバイスが、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカー、スチールカメラ、スタイラス、タブレット、タッチスクリーン、トラックボール、ビデオカメラ、別の好適なＩ／Ｏデバイス、またはこれらのうちの２つまたはそれ以上の組合せを含む、
請求項２１から２７のいずれか一項に記載の方法。
【請求項２９】
ソフトウェアを具現する１つまたは複数のコンピュータ可読非一時的記憶媒体であって、前記ソフトウェアは、実行されたとき、請求項２１から２８のいずれか一項に記載の方法を実施するように、または
データストアから、第１のユーザに関連付けられた複数の入力タプルにアクセスすることであって、各入力タプルが、ジェスチャー入力と、対応する音声入力とを含む、複数の入力タプルにアクセスすることと、
自然言語理解（ＮＬＵ）モジュールによって、前記複数の音声入力に対応する複数の意図を、それぞれ決定することと、
前記複数のジェスチャー入力について、１つまたは複数の機械学習モデルに基づいて複数の特徴表現を生成することと、
前記複数のジェスチャー入力についての複数のジェスチャー識別子を、それらの各々の特徴表現に基づいて、それぞれ決定することと、
前記複数の意図を前記複数のジェスチャー識別子にそれぞれ関連付けることと、
前記第１のユーザについて、それらの各々のジェスチャー入力の前記複数の特徴表現と、前記複数の意図とそれらの各々のジェスチャー識別子との間の前記関連付けとに基づいて、個人化されたジェスチャー分類モデルをトレーニングすることと
を行うように動作可能である、１つまたは複数のコンピュータ可読非一時的記憶媒体。
【請求項３０】
前記ソフトウェアは、実行されたとき、
前記データストアから、一般的なユーザ母集団に対応する一般的なジェスチャー分類モデルにアクセスすることであって、前記個人化されたジェスチャー分類モデルをトレーニングすることが、前記一般的なジェスチャー分類モデルにさらに基づく、一般的なジェスチャー分類モデルにアクセスすること
を行うようにさらに動作可能であり、
随意に、前記一般的なジェスチャー分類モデルが、前記一般的なユーザ母集団からの複数のジェスチャー入力に基づいてトレーニングされる、
請求項２９に記載の媒体。
【請求項３１】
前記ソフトウェアが、実行されたとき、
１つまたは複数の自動音声認識（ＡＳＲ）モジュールによって、前記複数の音声入力についての複数のテキスト入力を、それぞれ生成すること
を行うようにさらに動作可能であり、
随意に、前記複数の音声入力に対応する前記複数の意図を決定することが、各々の音声入力の前記複数のテキスト入力にそれぞれ基づく、
請求項２９または３０に記載の媒体。
【請求項３２】
前記１つまたは複数の機械学習モデルが、ニューラルネットワークモデルまたは長短期記憶（ＬＳＴＭ）モデルのうちの１つまたは複数に基づく、請求項２９から３１のいずれか一項に記載の媒体。
【請求項３３】
前記個人化されたジェスチャー分類モデルが、畳み込みニューラルネットワークに基づく、請求項２９から３２のいずれか一項に記載の媒体。
【請求項３４】
各ジェスチャー入力について各特徴表現を生成することが、
前記ジェスチャー入力を１つまたは複数の構成要素に分割することと、
前記ジェスチャー入力について前記１つまたは複数の構成要素を前記特徴表現にモデル化することと
を含む、請求項２９から３３のいずれか一項に記載の媒体。
【請求項３５】
１つまたは複数のプロセッサと、前記プロセッサによって実行可能な命令を備える、前記プロセッサに結合された非一時的メモリとを備えるシステムであって、前記プロセッサは、前記命令を実行したとき、請求項２１から２８のいずれか一項に記載の方法を実施するように、または
データストアから、第１のユーザに関連付けられた複数の入力タプルにアクセスすることであって、各入力タプルが、ジェスチャー入力と、対応する音声入力とを含む、複数の入力タプルにアクセスすることと、
自然言語理解（ＮＬＵ）モジュールによって、前記複数の音声入力に対応する複数の意図を、それぞれ決定することと、
前記複数のジェスチャー入力について、１つまたは複数の機械学習モデルに基づいて複数の特徴表現を生成することと、
前記複数のジェスチャー入力についての複数のジェスチャー識別子を、それらの各々の特徴表現に基づいて、それぞれ決定することと、
前記複数の意図を前記複数のジェスチャー識別子にそれぞれ関連付けることと、
前記第１のユーザについて、それらの各々のジェスチャー入力の前記複数の特徴表現と、前記複数の意図とそれらの各々のジェスチャー識別子との間の前記関連付けとに基づいて、個人化されたジェスチャー分類モデルをトレーニングすることと
を行うように動作可能である、システム。
【請求項３６】
補助システムであって、ユーザが、補助を得るための会話におけるユーザ入力で前記補助システムと対話することを可能にすることによって、前記ユーザが情報またはサービスを取得するのを補助するためのものであり、前記ユーザ入力が、ボイス、テキスト、画像、ビデオ、動きまたは向き、あるいはそれらの任意の組合せを含み、前記補助システムが、特に、コンピューティングデバイスと、アプリケーションプログラミングインターフェース（ＡＰＩ）と、ユーザデバイス上のアプリケーションの普及との組合せによって可能にされ、前記システムが、１つまたは複数のプロセッサと、前記プロセッサによって実行可能な命令を備える、前記プロセッサに結合された非一時的メモリとを備え、前記プロセッサが、前記命令を実行したとき、請求項２１から２８のいずれか一項に記載の方法を実施するように動作可能である、補助システム。
【請求項３７】
以下の特徴またはステップ、すなわち、
−  前記ユーザに関連付けられた個人情報とコンテキスト情報の両方を含むユーザプロファイルを作成および記憶すること
−  意図理解モジュールを使用して前記ユーザ入力を分析することであって、前記意図理解モジュールが、自然言語理解モジュールとジェスチャー分類モデルとを含み得る、前記ユーザ入力を分析すること
−  自然言語理解を使用して前記ユーザ入力を分析することであって、前記分析が、より個人化されたおよびコンテキストアウェア理解のために前記ユーザプロファイルに基づき得る、前記ユーザ入力を分析すること
−  前記分析に基づいて、前記ユーザ入力に関連付けられたエンティティを解析すること
−  前記解析されるエンティティに関連付けられた情報またはサービスを取得するために、異なるエージェントと対話すること
−  自然言語生成を使用することによって、前記情報またはサービスに関して前記ユーザのための応答を生成すること
−  前記ユーザとの前記対話を通して、ダイアログ管理技法を使用して、前記ユーザとの前記会話のフローを管理およびフォワーディングすること
−  前記情報を要約することによって、前記ユーザが、取得された情報を効果的におよび効率的に消化するのを補助すること
−  （たとえば、投稿、コメント、メッセージを作成して）前記ユーザがオンラインソーシャルネットワークと対話するのを助けるツールを提供することによって、前記ユーザが前記オンラインソーシャルネットワークにより関与するのを補助すること
−  前記ユーザが、イベントを追跡することなど、異なるタスクを管理するのを補助すること
−  ユーザ入力なしに、前記ユーザについて関連する時間において、前記ユーザプロファイルに基づいて、ユーザ興味および選好に関連する、事前許可されたタスクをプロアクティブに実行すること
−  ユーザプロファイルにアクセスすることと、異なるタスクを実行することとが、前記ユーザのプライバシー設定を条件とすることを保証することが必要であるときはいつでも、プライバシー設定を検査すること
のうちの少なくとも１つまたは複数を実行することによって前記ユーザを補助するための、請求項３６に記載の補助システム。
【請求項３８】
以下の構成要素、すなわち、
−  メッセージングプラットフォームであって、前記ユーザに関連付けられたクライアントシステムから、テキストモダリティに基づくユーザ入力を受信すること、および／あるいは、画像またはビデオモダリティに基づくユーザ入力を受信すること、および、前記ユーザ入力をテキストにコンバートするために前記メッセージングプラットフォーム内の光学文字認識技法を使用して前記ユーザ入力を処理することを行うためのメッセージングプラットフォーム、
−  前記ユーザに関連付けられた前記クライアントシステムから、オーディオモダリティに基づくユーザ入力（たとえば、前記ユーザが、話しかけるか、または音声を含むビデオを送り得る）を受信することと、前記オーディオモダリティに基づく前記ユーザ入力をテキストにコンバートすることとを行うためのオーディオ音声認識（ＡＳＲ）モジュール、
−  前記メッセージングプラットフォームまたは前記ＡＳＲモジュールの出力を受信するための補助ｘｂｏｔ
のうちの少なくとも１つまたは複数を備える、請求項３６または３７に記載の補助システム。
【請求項３９】
特にネットワークによって、互いに接続される、
少なくとも１つのクライアントシステム、特に電子デバイスと、
請求項３６から３８のいずれか一項に記載の少なくとも１つの補助システムと
を備えるシステムであって、
前記クライアントシステムは、前記クライアントシステムにおけるユーザが、前記補助システムと対話することを可能にするための補助アプリケーションを含み、
前記補助アプリケーションが、ユーザ入力を前記補助システムに通信し、前記ユーザ入力に基づいて、前記補助システムが、応答を生成し、生成された応答を前記補助アプリケーションに送り、前記補助アプリケーションが、前記クライアントシステムにおける前記ユーザに前記応答を提示し、
特に、前記ユーザ入力が、オーディオまたは口頭であり、前記応答が、テキストのもの、あるいはオーディオまたは口頭でもあり得る、
システム。
【請求項４０】
ソーシャルネットワーキングシステムをさらに備え、
前記クライアントシステムが、特に、前記ソーシャルネットワーキングシステムにアクセスするためのソーシャルネットワーキングアプリケーションを含む、
請求項３９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、ネットワーク環境内の機械学習技法に基づくダイアログ管理に関し、詳細には、スマート補助システム（ａｓｓｉｓｔａｎｔ  ｓｙｓｔｅｍ）のためのハードウェアおよびソフトウェアに関する。
【背景技術】
【０００２】
補助システムは、ユーザ入力と、ロケーションアウェアネスと、（気象条件、交通渋滞、ニュース、株価、ユーザスケジュール、小売価格などの）様々なオンラインソースからの情報にアクセスする能力との組合せに基づいて、ユーザのために情報またはサービスを提供することができる。ユーザ入力は、特にインスタントメッセージングアプリケーションまたは他のアプリケーションにおけるテキスト（たとえば、オンラインチャット）、ボイス、画像、動き、向き、またはそれらの組合せを含み得る。補助システムは、コンシェルジュタイプのサービス（たとえば、ディナーを予約すること、イベントチケットを購入すること、旅行の手配をすること）を実施するか、またはユーザ入力に基づいて情報を提供し得る。補助システムはまた、ユーザ始動または対話なしに、オンライン情報およびイベントに基づいて、管理またはデータハンドリングタスクを実施し得る。補助システムによって実施され得るタスクの例は、スケジュール管理（たとえば、ディナーデートについて交通状況によりユーザが遅れているというアラートを送る、双方のためのスケジュールを更新する、およびレストラン予約時間を変更する）を含み得る。補助システムは、コンピューティングデバイスと、アプリケーションプログラミングインターフェース（ＡＰＩ）と、ユーザデバイス上のアプリケーションの普及（ｐｒｏｌｉｆｅｒａｔｉｏｎ）との組合せによって可能にされ得る。
【０００３】
ソーシャルネットワーキングウェブサイトを含み得る、ソーシャルネットワーキングシステムは、そのユーザ（個人または法人など）が、ソーシャルネットワーキングシステムと対話し、ソーシャルネットワーキングシステムを通して互いと対話することを可能にし得る。ソーシャルネットワーキングシステムは、ユーザからの入力を用いて、ユーザに関連付けられたユーザプロファイルを作成し、ソーシャルネットワーキングシステムに記憶し得る。ユーザプロファイルは、人口統計学的情報、通信チャネル情報、およびユーザの個人的な興味に関する情報を含み得る。ソーシャルネットワーキングシステムはまた、ユーザからの入力を用いて、ソーシャルネットワーキングシステムの他のユーザとのユーザの関係のレコードを作成し、記憶し、ならびに、サービス（たとえば、プロファイル／ニュースフィード投稿、写真共有、イベント編成、メッセージング、ゲーム、または広告）を提供して、ユーザ間のソーシャルな対話を円滑にし得る。
【０００４】
ソーシャルネットワーキングシステムは、１つまたは複数のネットワークを介して、そのサービスに関係するコンテンツまたはメッセージを、ユーザのモバイルまたは他のコンピューティングデバイスに送り得る。ユーザはまた、ユーザのモバイルまたは他のコンピューティングデバイス上に、ユーザのユーザプロファイルおよびソーシャルネットワーキングシステム内の他のデータにアクセスするためのソフトウェアアプリケーションをインストールし得る。ソーシャルネットワーキングシステムは、ユーザにつながっている他のユーザの集約されたストーリーのニュースフィードなど、ユーザに表示するためのコンテンツオブジェクトの個人化されたセットを生成し得る。
【発明の概要】
【０００５】
特定の実施形態では、補助システムは、ユーザが情報またはサービスを取得するのを補助し得る。補助システムは、ユーザが、補助を得るためのステートフルおよびマルチターン（ｍｕｌｔｉ−ｔｕｒｎ）会話における（ボイス、テキスト、画像、ビデオ、動き、向きなどの）マルチモーダルユーザ入力で補助システムと対話することを可能にし得る。補助システムは、ユーザに関連付けられた個人情報とコンテキスト情報の両方を含むユーザプロファイルを作成および記憶し得る。特定の実施形態では、補助システムは、自然言語理解（ｎａｔｕｒａｌ−ｌａｎｇｕａｇｅ  ｕｎｄｅｒｓｔａｎｄｉｎｇ）を使用してユーザ入力を分析し得る。分析は、より個人化されたおよびコンテキストアウェア理解のために、ユーザプロファイルに基づき得る。補助システムは、分析に基づいて、ユーザ入力に関連付けられたエンティティを解析し得る。特定の実施形態では、補助システムは、解析されるエンティティに関連付けられた情報またはサービスを取得するために、異なるエージェントと対話し得る。補助システムは、自然言語生成を使用することによって、情報またはサービスに関してユーザのための応答を生成し得る。ユーザとの対話を通して、補助システムは、ダイアログ管理技法を使用して、ユーザとの会話のフローを管理およびフォワーディングし得る。特定の実施形態では、補助システムは、情報を要約することによって、ユーザが、取得された情報を効果的におよび効率的に消化するのをさらに補助し得る。補助システムはまた、（たとえば、投稿、コメント、メッセージを作成して）ユーザがオンラインソーシャルネットワークと対話するのを助けるツールを提供することによって、ユーザがオンラインソーシャルネットワークにより関与するのを補助し得る。補助システムは、ユーザが、イベントを追跡することなど、異なるタスクを管理するのをさらに補助し得る。特定の実施形態では、補助システムは、ユーザ入力なしに、ユーザプロファイルに基づいて、ユーザ興味および選好に関連するタスクをプロアクティブに実行し得る。特定の実施形態では、補助システムは、ユーザのプロファイルまたは他のユーザ情報にアクセスすることと、異なるタスクを実行することとが、ユーザのプライバシー設定を条件として許諾されることを確実にするために、プライバシー設定を検査し得る。
【０００６】
特定の実施形態では、補助システムは、個人化されたジェスチャー分類モデル（ｇｅｓｔｕｒｅ−ｃｌａｓｓｉｆｉｃａｔｉｏｎ  ｍｏｄｅｌ）をトレーニングし得る。トレーニングは、複数の入力タプルを受信することであって、各々がジェスチャー入力（ｇｅｓｔｕｒｅ−ｉｎｐｕｔ）と音声入力（ｓｐｅｅｃｈ−ｉｎｐｕｔ）とを含む、複数の入力タプルを受信することと、自然言語理解（ＮＬＵ）モジュールによって、音声入力に基づいて複数の意図（ｉｎｔｅｎｔ）を決定することと、一般的なジェスチャー分類モデルにアクセスすることと、意図をそれらの各々のジェスチャー入力に関連付けることと、意図とジェスチャー入力との間の関連付けに、および一般的なジェスチャー分類モデルにも基づいて、個人化されたジェスチャー分類モデルをトレーニングすることとを含み得る。特定の実施形態では、一般的なジェスチャー分類モデルは、多数の標準ジェスチャーに関してクラウドソーシングによって生成され得る。しかしながら、一般的なジェスチャー分類モデルは、特に、ユーザが非標準ジェスチャーまたは一般に異なる意図のために使用されるジェスチャーを使用している場合、特定のユーザのジェスチャーの正しい意図を決定することができないことがある。したがって、個人化されたジェスチャー分類モデルのトレーニングは、一般的なジェスチャー分類モデルに加えて、音声とジェスチャーの両方を含むユーザ自身の入力からの有益な手がかりをさらに活用し得る。個人化されたジェスチャー分類モデルのトレーニングを補助するために、音声入力を別個に使用することのほかに、補助システムは、代替的に、音声入力とジェスチャー入力とを一緒に利用することによって、個人化されたジェスチャー分類モデルをトレーニングし得る。個人化されたジェスチャー分類モデルがトレーニングされると、補助システムは、それを使用して、将来においてユーザ自身のジェスチャーに対応するユーザの意図を決定し得る。本開示は、特定の様式で特定のシステムを介して特定のジェスチャー分類モデルをトレーニングすることについて説明するが、本開示は、任意の好適な様式で任意の好適なシステムを介して任意の好適なジェスチャー分類モデルをトレーニングすることを企図する。
【０００７】
特定の実施形態では、補助システムは、データストアから、第１のユーザに関連付けられた複数の入力タプルにアクセスし得る。各入力タプルは、ジェスチャー入力と、対応する音声入力とを含み得る。特定の実施形態では、補助システムは、次いで、自然言語理解（ＮＬＵ）モジュールによって、複数の音声入力に対応する複数の意図を、それぞれ決定し得る。補助システムは、次いで、複数のジェスチャー入力について、１つまたは複数の機械学習モデルに基づいて複数の特徴表現を生成し得る。特定の実施形態では、補助システムは、次いで、複数のジェスチャー入力についての複数のジェスチャー識別子を、それらの各々の特徴表現に基づいて、それぞれ決定し得る。補助システムは、次いで、複数の意図を複数のジェスチャー識別子に、それぞれ関連付け得る。特定の実施形態では、補助システムは、第１のユーザについて、それらの各々のジェスチャー入力の複数の特徴表現と、複数の意図とそれらの各々のジェスチャー識別子との間の関連付けとに基づいて、個人化されたジェスチャー分類モデルをさらにトレーニングし得る。
【０００８】
個人化されたジェスチャー分類モデルをトレーニングするという目標を達成するために、いくつかの技術課題が存在し得る。１つの技術課題は、個人化されたジェスチャー分類モデルがユーザの個人ジェスチャーからユーザの意図を識別することを可能にすることを含み得る。上記の課題に対処するために本明細書で開示される実施形態によって提示されるソリューションは、ユーザの意図が音声入力から学習され得、そのような意図とジェスチャー入力との間の関連付けが、個人化されたジェスチャー分類モデルのトレーニング中にさらなる利用のために生成され得るので、ユーザの音声入力とジェスチャー入力の両方に基づいて、個人化されたジェスチャー分類モデルをトレーニングすることである。別の技術課題は、ジェスチャー入力についての信頼できる特徴表現を生成することを含み得る。この課題に対処するために本明細書で開示される実施形態によって提示されるソリューションは、ジェスチャー入力を構成要素に分割することが、ジェスチャーを別のものと区別するのを助け得、時間的情報が、ジェスチャー分類のために有用であるユーザの意図を指示するコンテキスト情報を伝達し得るので、ジェスチャー入力の構成要素とジェスチャー入力に関連付けられた時間的情報とを特徴表現にモデル化することである。
【０００９】
本明細書で開示されるいくつかの実施形態は、１つまたは複数の技術的利点を提供し得る。実施形態の技術的利点は、ユーザが、テキストおよびボイスなどの旧来の入力のほかにジェスチャーで補助システムと対話することを可能にすることによって、補助システムとのユーザエクスペリエンスを豊かにすることを含み得、補助システムは、正確に、ユーザのジェスチャーを認識し、認識されたジェスチャーに対応するタスクを実行し得る。本明細書で開示されるいくつかの実施形態は、上記の技術的利点のいずれをも提供しないか、いくつかを提供するか、またはすべてを提供し得る。１つまたは複数の他の技術的利点が、本開示の図、説明、および特許請求の範囲に鑑みて、当業者に容易に明らかになり得る。
【００１０】
本明細書で開示される実施形態は例にすぎず、本開示の範囲はそれらに限定されない。特定の実施形態は、本明細書で開示される実施形態の構成要素、要素、特徴、機能、動作、またはステップのすべてを含むか、いくつかを含むか、またはいずれをも含まないことがある。本発明による実施形態は、特に、方法、記憶媒体、システム、補助システムおよびコンピュータプログラム製品を対象とする添付の特許請求の範囲で開示され、１つの請求項カテゴリー、たとえば、方法において述べられた任意の特徴は、別の請求項カテゴリー、たとえば、システムにおいても請求され得る。添付の特許請求の範囲における従属関係または参照は、形式的理由で選定されるにすぎない。ただし、前の請求項への意図的な参照（特に複数の従属関係）から生じる主題も請求され得、その結果、請求項とその特徴との任意の組合せが、開示され、添付の特許請求の範囲で選定された従属関係にかかわらず請求され得る。請求され得る主題は、添付の特許請求の範囲に記載の特徴の組合せだけでなく、特許請求の範囲における特徴の任意の他の組合せをも含み、特許請求の範囲において述べられた各特徴は、特許請求の範囲における任意の他の特徴または他の特徴の組合せと組み合わせられ得る。さらに、本明細書で説明または示される実施形態および特徴のいずれかは、別個の請求項において、ならびに／あるいは、本明細書で説明もしくは示される任意の実施形態もしくは特徴との、または添付の特許請求の範囲の特徴のいずれかとの任意の組合せで請求され得る。
【００１１】
一実施形態では、特に、補助システムにおいて使用するための方法であって、補助システムは、ユーザが、補助を得るための会話におけるユーザ入力で補助システムと対話することを可能にすることによって、ユーザが情報またはサービスを取得するのを補助するためのものであり、ユーザ入力が、ボイス、テキスト、画像、ビデオ、動きまたは向き、あるいはそれらの任意の組合せを含み、補助システムが、特に、コンピューティングデバイスと、アプリケーションプログラミングインターフェース（ＡＰＩ）と、ユーザデバイス上のアプリケーションの普及との組合せによって可能にされる、方法は、１つまたは複数のコンピューティングシステムによって、
データストアから、第１のユーザに関連付けられた複数の入力タプルにアクセスすることであって、各入力タプルが、ジェスチャー入力と、対応する音声入力とを含む、複数の入力タプルにアクセスすることと、
自然言語理解（ＮＬＵ）モジュールによって、複数の音声入力に対応する複数の意図を、それぞれ決定することと、
複数のジェスチャー入力について、１つまたは複数の機械学習モデルに基づいて複数の特徴表現を生成することと、
複数のジェスチャー入力についての複数のジェスチャー識別子を、それらの各々の特徴表現に基づいて、それぞれ決定することと、
複数の意図を複数のジェスチャー識別子にそれぞれ関連付けることと、
第１のユーザについて、それらの各々のジェスチャー入力の複数の特徴表現と、複数の意図とそれらの各々のジェスチャー識別子との間の関連付けとに基づいて、個人化されたジェスチャー分類モデルをトレーニングすることと
を含み得る。
【００１２】
一実施形態では、方法は、
データストアから、一般的なユーザ母集団に対応する一般的なジェスチャー分類モデルにアクセスすることであって、個人化されたジェスチャー分類モデルをトレーニングすることが、一般的なジェスチャー分類モデルにさらに基づく、一般的なジェスチャー分類モデルにアクセスすること
を含み得る。
【００１３】
一般的なジェスチャー分類モデルは、一般的なユーザ母集団からの複数のジェスチャー入力に基づいてトレーニングされ得る。
【００１４】
一実施形態では、方法は、
１つまたは複数の自動音声認識（ＡＳＲ）モジュールによって、複数の音声入力についての複数のテキスト入力を、それぞれ生成すること
を含み得る。
【００１５】
複数の音声入力に対応する複数の意図を決定することは、各々の音声入力の複数のテキスト入力に、それぞれ基づき得る。
【００１６】
１つまたは複数の機械学習モデルは、ニューラルネットワークモデルまたは長短期記憶（ＬＳＴＭ）モデルのうちの１つまたは複数に基づき得る。
【００１７】
個人化されたジェスチャー分類モデルは、畳み込みニューラルネットワークに基づき得る。
【００１８】
各ジェスチャー入力について各特徴表現を生成することは、
ジェスチャー入力を１つまたは複数の構成要素に分割することと、
ジェスチャー入力について１つまたは複数の構成要素を特徴表現にモデル化することと
を含み得る。
【００１９】
各ジェスチャー入力について各特徴表現を生成することは、
ジェスチャー入力に関連付けられた時間的情報を決定することと、
ジェスチャー入力について時間的情報を特徴表現にモデル化することと
を含み得る。
【００２０】
一実施形態では、方法は、
第１のユーザに関連付けられたクライアントシステムから、第１のユーザからの新しいジェスチャー入力を受信することと、
新しいジェスチャー入力について、個人化されたジェスチャー分類モデルに基づいて、新しいジェスチャー入力に対応する意図を決定することと
を含み得る。
【００２１】
一実施形態では、方法は、
決定された意図に基づいて１つまたは複数のタスクを実行すること
を含み得る。
【００２２】
入力タプルまたはジェスチャー入力および／または音声入力は、補助システムに関連付けられたクライアントシステムによってキャプチャされ得る。
【００２３】
クライアントシステムは、仮想現実（ＶＲ）ヘッドセットおよび／または拡張現実（ＡＲ）スマートグラスであり得る。
【００２４】
クライアントシステムは、１つまたは複数のセンサーを備えるＩ／Ｏデバイスからユーザ入力を受信し得る。
【００２５】
Ｉ／Ｏデバイスは、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカー、スチールカメラ、スタイラス、タブレット、タッチスクリーン、トラックボール、ビデオカメラ、別の好適なＩ／Ｏデバイス、またはこれらのうちの２つまたはそれ以上の組合せを含み得る。
【００２６】
一実施形態では、１つまたは複数のコンピュータ可読非一時的記憶媒体がソフトウェアを具現し得、ソフトウェアは、実行されたとき、
データストアから、第１のユーザに関連付けられた複数の入力タプルにアクセスすることであって、各入力タプルが、ジェスチャー入力と、対応する音声入力とを含む、複数の入力タプルにアクセスすることと、
自然言語理解（ＮＬＵ）モジュールによって、複数の音声入力に対応する複数の意図を、それぞれ決定することと、
複数のジェスチャー入力について、１つまたは複数の機械学習モデルに基づいて複数の特徴表現を生成することと、
複数のジェスチャー入力についての複数のジェスチャー識別子を、それらの各々の特徴表現に基づいて、それぞれ決定することと、
複数の意図を複数のジェスチャー識別子にそれぞれ関連付けることと、
第１のユーザについて、それらの各々のジェスチャー入力の複数の特徴表現と、複数の意図とそれらの各々のジェスチャー識別子との間の関連付けとに基づいて、個人化されたジェスチャー分類モデルをトレーニングすることと
を行うように動作可能である。
【００２７】
ソフトウェアは、実行されたとき、
データストアから、一般的なユーザ母集団に対応する一般的なジェスチャー分類モデルにアクセスすることであって、個人化されたジェスチャー分類モデルをトレーニングすることが、一般的なジェスチャー分類モデルにさらに基づく、一般的なジェスチャー分類モデルにアクセスすること
を行うように動作可能であり得る。
【００２８】
一般的なジェスチャー分類モデルは、一般的なユーザ母集団からの複数のジェスチャー入力に基づいてトレーニングされ得る。
【００２９】
ソフトウェアは、実行されたとき、
１つまたは複数の自動音声認識（ＡＳＲ）モジュールによって、複数の音声入力についての複数のテキスト入力を、それぞれ生成すること
を行うように動作可能であり得る。
【００３０】
複数の音声入力に対応する複数の意図を決定することは、各々の音声入力の複数のテキスト入力にそれぞれ基づき得る。
【００３１】
１つまたは複数の機械学習モデルは、ニューラルネットワークモデルまたは長短期記憶（ＬＳＴＭ）モデルのうちの１つまたは複数に基づき得る。
【００３２】
個人化されたジェスチャー分類モデルは、畳み込みニューラルネットワークに基づき得る。
【００３３】
各ジェスチャー入力について各特徴表現を生成することは、
ジェスチャー入力を１つまたは複数の構成要素に分割することと、
ジェスチャー入力について１つまたは複数の構成要素を特徴表現にモデル化することと
を含み得る。
【００３４】
一実施形態では、システムは、１つまたは複数のプロセッサと、プロセッサによって実行可能な命令を備える、プロセッサに結合された非一時的メモリとを備え得、プロセッサは、命令を実行したとき、
データストアから、第１のユーザに関連付けられた複数の入力タプルにアクセスすることであって、各入力タプルが、ジェスチャー入力と、対応する音声入力とを含む、複数の入力タプルにアクセスすることと、
自然言語理解（ＮＬＵ）モジュールによって、複数の音声入力に対応する複数の意図を、それぞれ決定することと、
複数のジェスチャー入力について、１つまたは複数の機械学習モデルに基づいて複数の特徴表現を生成することと、
複数のジェスチャー入力についての複数のジェスチャー識別子を、それらの各々の特徴表現に基づいて、それぞれ決定することと、
複数の意図を複数のジェスチャー識別子にそれぞれ関連付けることと、
第１のユーザについて、それらの各々のジェスチャー入力の複数の特徴表現と、複数の意図とそれらの各々のジェスチャー識別子との間の関連付けとに基づいて、個人化されたジェスチャー分類モデルをトレーニングすることと
を行うように動作可能である。
【００３５】
一実施形態では、１つまたは複数のコンピュータ可読非一時的記憶媒体は、実行されたとき、本発明による方法または上述の実施形態のいずれかを実施するように動作可能であるソフトウェアを具現し得る。
【００３６】
一実施形態では、システムは、１つまたは複数のプロセッサと、プロセッサに結合され、プロセッサによって実行可能な命令を備える少なくとも１つのメモリとを備え得、プロセッサは、命令を実行したとき、本発明による方法または上述の実施形態のいずれかを実施するように動作可能である。
【００３７】
一実施形態では、好ましくはコンピュータ可読非一時的記憶媒体を備えるコンピュータプログラム製品は、データ処理システム上で実行されたとき、本発明による方法または上述の実施形態のいずれかを実施するように動作可能であり得る。
【００３８】
一実施形態では、補助システムであって、ユーザが、補助を得るための会話におけるユーザ入力で補助システムと対話することを可能にすることによって、ユーザが情報またはサービスを取得するのを補助するためのものであり、ユーザ入力は、ボイス、テキスト、画像、ビデオ、動きまたは向き、あるいはそれらの任意の組合せを含み、補助システムは、特に、コンピューティングデバイスと、アプリケーションプログラミングインターフェース（ＡＰＩ）と、ユーザデバイス上のアプリケーションの普及との組合せによって可能にされ、システムは、１つまたは複数のプロセッサと、プロセッサによって実行可能な命令を備える、プロセッサに結合された非一時的メモリとを備え得、プロセッサは、命令を実行したとき、本発明による方法または上述の実施形態のいずれかを実施するように動作可能である。
【００３９】
一実施形態では、補助システムは、以下の特徴またはステップ、すなわち、
−  ユーザに関連付けられた個人情報とコンテキスト情報の両方を含むユーザプロファイルを作成および記憶すること
−  意図理解（ｉｎｔｅｎｔ−ｕｎｄｅｒｓｔａｎｄｉｎｇ）モジュールを使用してユーザ入力を分析することであって、意図理解モジュールが、自然言語理解モジュールとジェスチャー分類モデルとを含み得る、ユーザ入力を分析すること
−  自然言語理解を使用してユーザ入力を分析することであって、分析が、より個人化されたおよびコンテキストアウェア理解のためにユーザプロファイルに基づき得る、ユーザ入力を分析すること
−  分析に基づいて、ユーザ入力に関連付けられたエンティティを解析すること
−  解析されるエンティティに関連付けられた情報またはサービスを取得するために、異なるエージェントと対話すること
−  自然言語生成を使用することによって、情報またはサービスに関してユーザのための応答を生成すること
−  ユーザとの対話を通して、ダイアログ管理技法を使用して、ユーザとの会話のフローを管理およびフォワーディングすること
−  情報を要約することによって、ユーザが、取得された情報を効果的におよび効率的に消化するのを補助すること
−  （たとえば、投稿、コメント、メッセージを作成して）ユーザがオンラインソーシャルネットワークと対話するのを助けるツールを提供することによって、ユーザがオンラインソーシャルネットワークにより関与するのを補助すること
−  ユーザが、イベントを追跡することなど、異なるタスクを管理するのを補助すること
−  ユーザ入力なしに、ユーザについて関連する時間において、ユーザプロファイルに基づいて、ユーザ興味および選好に関連する、事前許可された（ｐｒｅ−ａｕｔｈｏｒｉｚｅｄ）タスクをプロアクティブに実行すること
−  ユーザプロファイルにアクセスすることと、異なるタスクを実行することとが、ユーザのプライバシー設定を条件とすることを保証することが必要であるときはいつでも、プライバシー設定を検査すること
のうちの少なくとも１つまたは複数を実行することによってユーザを補助し得る。
【００４０】
一実施形態では、補助システムは、以下の構成要素、すなわち、
−  メッセージングプラットフォームであって、ユーザに関連付けられたクライアントシステムから、テキストモダリティに基づくユーザ入力を受信すること、および／あるいは、画像またはビデオモダリティに基づくユーザ入力を受信すること、および、ユーザ入力をテキストにコンバートするためにメッセージングプラットフォーム内の光学文字認識技法を使用してユーザ入力を処理することを行うためのメッセージングプラットフォーム、
−  ユーザに関連付けられたクライアントシステムから、オーディオモダリティに基づくユーザ入力（たとえば、ユーザが、話しかけるか、または音声を含むビデオを送り得る）を受信することと、オーディオモダリティに基づくユーザ入力をテキストにコンバートすることとを行うためのオーディオ音声認識（ＡＳＲ）モジュール、
−  メッセージングプラットフォームまたはＡＳＲモジュールの出力を受信するための補助ｘｂｏｔ
のうちの少なくとも１つまたは複数を備え得る。
【００４１】
一実施形態では、システムは、
特にネットワークによって、互いに接続される、
少なくとも１つのクライアントシステム、特に電子デバイスと、
本発明または本明細書の実施形態のいずれかによる少なくとも１つの補助システムと
を備え得、
クライアントシステムは、クライアントシステムにおけるユーザが、補助システムと対話することを可能にするための補助アプリケーションを含み、
補助アプリケーションは、ユーザ入力を補助システムに通信し、ユーザ入力に基づいて、補助システムは、応答を生成し、生成された応答を補助アプリケーションに送り、補助アプリケーションは、クライアントシステムにおけるユーザに応答を提示し、
特に、ユーザ入力は、オーディオまたは口頭であり、応答は、テキストのもの、あるいはオーディオまたは口頭でもあり得る。
【００４２】
一実施形態では、システムは、ソーシャルネットワーキングシステムを備え得、
クライアントシステムは、特に、ソーシャルネットワーキングシステムにアクセスするためのソーシャルネットワーキングアプリケーションを含む。
【図面の簡単な説明】
【００４３】
【図１】補助システムに関連付けられた例示的なネットワーク環境を示す図である。
【図２】補助システムの例示的なアーキテクチャを示す図である。
【図３】補助システムによってユーザ要求に応答する例示的な図のフローを示す図である。
【図４】例示的なジェスチャーを示す図である。
【図５】ジェスチャー入力を含むユーザ入力を処理する例示的なワークフローを示す図である。
【図６】個人化されたジェスチャー分類モデルをトレーニングするための例示的な方法を示す図である。
【図７】例示的なソーシャルグラフを示す図である。
【図８】埋込み空間の例示的なビューを示す図である。
【図９】例示的な人工ニューラルネットワークを示す図である。
【図１０】例示的なコンピュータシステムを示す図である。
【発明を実施するための形態】
【００４４】
システムの全体像
図１は、補助システムに関連付けられた例示的なネットワーク環境１００を示す。ネットワーク環境１００は、ネットワーク１１０によって互いに接続された、クライアントシステム１３０と、補助システム１４０と、ソーシャルネットワーキングシステム１６０と、サードパーティシステム１７０とを含む。図１は、クライアントシステム１３０、補助システム１４０、ソーシャルネットワーキングシステム１６０、サードパーティシステム１７０、およびネットワーク１１０の特定の構成を示すが、本開示は、クライアントシステム１３０、補助システム１４０、ソーシャルネットワーキングシステム１６０、サードパーティシステム１７０、およびネットワーク１１０の任意の好適な構成を企図する。限定としてではなく一例として、クライアントシステム１３０、ソーシャルネットワーキングシステム１６０、補助システム１４０、およびサードパーティシステム１７０のうちの２つまたはそれ以上が、ネットワーク１１０をバイパスして、直接互いに接続され得る。別の例として、クライアントシステム１３０、補助システム１４０、ソーシャルネットワーキングシステム１６０、およびサードパーティシステム１７０のうちの２つまたはそれ以上が、全体的にまたは部分的に、物理的にまたは論理的に互いとコロケートされ得る。その上、図１は、特定の数のクライアントシステム１３０、補助システム１４０、ソーシャルネットワーキングシステム１６０、サードパーティシステム１７０、およびネットワーク１１０を示すが、本開示は、任意の好適な数のクライアントシステム１３０、補助システム１４０、ソーシャルネットワーキングシステム１６０、サードパーティシステム１７０、およびネットワーク１１０を企図する。限定としてではなく一例として、ネットワーク環境１００は、複数のクライアントシステム１３０と、補助システム１４０と、ソーシャルネットワーキングシステム１６０と、サードパーティシステム１７０と、ネットワーク１１０とを含み得る。
【００４５】
本開示は、任意の好適なネットワーク１１０を企図する。限定としてではなく一例として、ネットワーク１１０の１つまたは複数の部分は、アドホックネットワーク、イントラネット、エクストラネット、仮想プライベートネットワーク（ＶＰＮ）、ローカルエリアネットワーク（ＬＡＮ）、ワイヤレスＬＡＮ（ＷＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、ワイヤレスＷＡＮ（ＷＷＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、インターネットの一部分、公衆交換電話網（ＰＳＴＮ）の一部分、セルラー電話ネットワーク、またはこれらのうちの２つまたはそれ以上の組合せを含み得る。ネットワーク１１０は、１つまたは複数のネットワーク１１０を含み得る。
【００４６】
リンク１５０は、クライアントシステム１３０と、補助システム１４０と、ソーシャルネットワーキングシステム１６０と、サードパーティシステム１７０とを、通信ネットワーク１１０にまたは互いに接続し得る。本開示は、任意の好適なリンク１５０を企図する。特定の実施形態では、１つまたは複数のリンク１５０は、１つまたは複数の、（たとえば、デジタル加入者回線（ＤＳＬ）またはデータオーバーケーブルサービスインターフェース仕様（ＤＯＣＳＩＳ）などの）ワイヤラインリンク、（たとえば、Ｗｉ−Ｆｉまたはワールドワイドインターオペラビリティフォーマイクロウェーブアクセス（ＷｉＭＡＸ）などの）ワイヤレスリンク、または（たとえば、同期光ネットワーク（ＳＯＮＥＴ）または同期デジタルハイアラーキ（ＳＤＨ）などの）光リンクを含む。特定の実施形態では、１つまたは複数のリンク１５０は、各々、アドホックネットワーク、イントラネット、エクストラネット、ＶＰＮ、ＬＡＮ、ＷＬＡＮ、ＷＡＮ、ＷＷＡＮ、ＭＡＮ、インターネットの一部分、ＰＳＴＮの一部分、セルラー技術ベースネットワーク、衛星通信技術ベースネットワーク、別のリンク１５０、または２つまたはそれ以上のそのようなリンク１５０の組合せを含む。リンク１５０は、ネットワーク環境１００の全体にわたって必ずしも同じである必要はない。１つまたは複数の第１のリンク１５０は、１つまたは複数の第２のリンク１５０とは１つまたは複数の点で異なり得る。
【００４７】
特定の実施形態では、クライアントシステム１３０は、ハードウェア、ソフトウェア、または埋込み論理構成要素、または２つまたはそれ以上のそのような構成要素の組合せを含み、クライアントシステム１３０によって実装またはサポートされる適切な機能性を行うことが可能な、電子デバイスであり得る。限定としてではなく一例として、クライアントシステム１３０は、デスクトップコンピュータ、ノートブックまたはラップトップコンピュータ、ネットブック、タブレットコンピュータ、電子ブックリーダー、ＧＰＳデバイス、カメラ、携帯情報端末（ＰＤＡ）、ハンドヘルド電子デバイス、セルラー電話、スマートフォン、スマートスピーカー、仮想現実（ＶＲ）ヘッドセット、拡張現実（ＡＲ）スマートグラス、他の好適な電子デバイス、あるいはそれらの任意の好適な組合せなど、コンピュータシステムを含み得る。特定の実施形態では、クライアントシステム１３０は、スマート補助デバイスであり得る。スマート補助デバイスに関するより多くの情報が、その各々が参照により組み込まれる、２０１８年４月９日に出願された米国特許出願第１５／９４９０１１号、２０１８年４月１０日に出願された米国特許出願第６２／６５５７５１号、２０１８年１月３日に出願された米国意匠特許出願第２９／６３１９１０号、２０１８年１月２日に出願された米国意匠特許出願第２９／６３１７４７号、２０１８年１月３日に出願された米国意匠特許出願第２９／６３１９１３号、および２０１８年１月３日に出願された米国意匠特許出願第２９／６３１９１４号において見つけられ得る。本開示は、任意の好適なクライアントシステム１３０を企図する。クライアントシステム１３０は、クライアントシステム１３０におけるネットワークユーザが、ネットワーク１１０にアクセスすることを可能にし得る。クライアントシステム１３０は、クライアントシステム１３０のユーザが、他のクライアントシステム１３０における他のユーザと通信することを可能にし得る。
【００４８】
特定の実施形態では、クライアントシステム１３０は、ＭＩＣＲＯＳＯＦＴ  ＩＮＴＥＲＮＥＴ  ＥＸＰＬＯＲＥＲ、ＧＯＯＧＬＥ  ＣＨＲＯＭＥまたはＭＯＺＩＬＬＡ  ＦＩＲＥＦＯＸなど、ウェブブラウザ１３２を含み得、１つまたは複数のアドオン、プラグイン、あるいは、ＴＯＯＬＢＡＲまたはＹＡＨＯＯ  ＴＯＯＬＢＡＲなど、他の拡張を有し得る。クライアントシステム１３０におけるユーザは、ウェブブラウザ１３２を（サーバ１６２、またはサードパーティシステム１７０に関連付けられたサーバなどの）特定のサーバに向けるユニフォームリソースロケータ（ＵＲＬ）または他のアドレスを入力し得、ウェブブラウザ１３２は、ハイパーテキスト転送プロトコル（ＨＴＴＰ）要求を生成し、ＨＴＴＰ要求をサーバに通信し得る。サーバは、ＨＴＴＰ要求を受け入れ、ＨＴＴＰ要求に応答する１つまたは複数のハイパーテキストマークアップ言語（ＨＴＭＬ）ファイルをクライアントシステム１３０に通信し得る。クライアントシステム１３０は、ユーザへの提示のためにサーバからのＨＴＭＬファイルに基づいてウェブインターフェース（たとえば、ウェブページ）をレンダリングし得る。本開示は、任意の好適なソースファイルを企図する。限定としてではなく一例として、ウェブインターフェースは、特定の必要に応じて、ＨＴＭＬファイル、拡張可能ハイパーテキストマークアップ言語（ＸＨＴＭＬ）ファイル、または拡張可能マークアップ言語（ＸＭＬ）ファイルから、レンダリングされ得る。そのようなインターフェースは、たとえば、限定はしないが、ＪＡＶＡＳＣＲＩＰＴ、ＪＡＶＡ、ＭＩＣＲＯＳＯＦＴ  ＳＩＬＶＥＲＬＩＧＨＴで書かれたものなどのスクリプト、ＡＪＡＸ（非同期ＪＡＶＡＳＣＲＩＰＴおよびＸＭＬ）などのマークアップ言語とスクリプトとの組合せなどをも実行し得る。本明細書では、ウェブインターフェースへの言及は、適切な場合、（ブラウザがウェブインターフェースをレンダリングするために使用し得る）１つまたは複数の対応するソースファイルを包含し、その逆も同様である。
【００４９】
特定の実施形態では、クライアントシステム１３０は、クライアントシステム１３０上にインストールされたソーシャルネットワーキングアプリケーション１３４を含み得る。クライアントシステム１３０におけるユーザは、オンラインソーシャルネットワーク上でアクセスするために、ソーシャルネットワーキングアプリケーション１３４を使用し得る。クライアントシステム１３０におけるユーザは、ユーザのソーシャルつながり（たとえば、友達、フォロワー、フォローされるアカウント、連絡先など）と通信するために、ソーシャルネットワーキングアプリケーション１３４を使用し得る。クライアントシステム１３０におけるユーザはまた、オンラインソーシャルネットワーク上の複数のコンテンツオブジェクト（たとえば、投稿、ニュース記事、エフェメラルコンテンツなど）と対話するために、ソーシャルネットワーキングアプリケーション１３４を使用し得る。限定としてではなく一例として、ユーザは、ソーシャルネットワーキングアプリケーション１３４を使用して、トレンディングトピックおよびニュース速報（ｂｒｅａｋｉｎｇ  ｎｅｗｓ）をブラウズし得る。
【００５０】
特定の実施形態では、クライアントシステム１３０は、補助アプリケーション１３６を含み得る。クライアントシステム１３０におけるユーザは、補助システム１４０と対話するために、補助アプリケーション１３６を使用し得る。特定の実施形態では、補助アプリケーション１３６は、スタンドアロンアプリケーションを含み得る。特定の実施形態では、補助アプリケーション１３６は、ソーシャルネットワーキングアプリケーション１３４または別の好適なアプリケーション（たとえば、メッセージングアプリケーション）に組み込まれ得る。特定の実施形態では、補助アプリケーション１３６は、クライアントシステム１３０、補助ハードウェアデバイス、または任意の他の好適なハードウェアデバイスにも組み込まれ得る。特定の実施形態では、補助アプリケーション１３６は、ウェブブラウザ１３２を介してアクセスされ得る。特定の実施形態では、ユーザは、異なるモダリティを介して入力を提供し得る。限定としてではなく一例として、モダリティは、オーディオ、テキスト、画像、ビデオ、動き、向きなどを含み得る。補助アプリケーション１３６は、ユーザ入力を補助システム１４０に通信し得る。ユーザ入力に基づいて、補助システム１４０は、応答を生成し得る。補助システム１４０は、生成された応答を補助アプリケーション１３６に送り得る。補助アプリケーション１３６は、次いで、クライアントシステム１３０におけるユーザに応答を提示し得る。提示された応答は、オーディオ、テキスト、画像、およびビデオなど、異なるモダリティに基づき得る。限定としてではなく一例として、ユーザは、交通情報について補助アプリケーション１３６に口頭で（すなわち、オーディオモダリティを介して）質問し得る。補助アプリケーション１３６は、次いで、要求を補助システム１４０に通信し得る。したがって、補助システム１４０は、結果を生成し、結果を補助アプリケーション１３６に返送し得る。補助アプリケーション１３６は、テキストでユーザに結果をさらに提示し得る。
【００５１】
特定の実施形態では、補助システム１４０は、ユーザが、異なるソースから情報を取り出すのを補助し得る。補助システム１４０はまた、ユーザが、異なるサービスプロバイダにサービスを要求するのを補助し得る。特定の実施形態では、補助システム１４０は、クライアントシステム１３０中の補助アプリケーション１３６を介して情報またはサービスについてのユーザ要求を受信し得る。補助システム１４０は、ユーザのプロファイルおよび他の関連情報に基づいて、ユーザ要求を分析するために、自然言語理解を使用し得る。分析の結果は、オンラインソーシャルネットワークに関連付けられた異なるエンティティを含み得る。補助システム１４０は、次いで、これらのエンティティに関連付けられた情報を取り出すか、またはサービスを要求し得る。特定の実施形態では、補助システム１４０は、ユーザのために情報を取り出すかまたはサービスを要求するとき、ソーシャルネットワーキングシステム１６０および／またはサードパーティシステム１７０と対話し得る。特定の実施形態では、補助システム１４０は、自然言語生成技法を使用して、ユーザのための個人化された通信コンテンツを生成し得る。個人化された通信コンテンツは、たとえば、取り出された情報または要求されたサービスのステータスを含み得る。特定の実施形態では、補助システム１４０は、ダイアログ管理技法を使用することによって、ユーザが、ステートフルおよびマルチターン会話において情報またはサービスに関して補助システム１４０と対話することを可能にし得る。補助システム１４０の機能性は、以下の図２の説明でより詳細に説明される。
【００５２】
特定の実施形態では、ソーシャルネットワーキングシステム１６０は、オンラインソーシャルネットワークをホストすることができるネットワークアドレス指定可能なコンピューティングシステムであり得る。ソーシャルネットワーキングシステム１６０は、たとえば、ユーザプロファイルデータ、概念プロファイルデータ、ソーシャルグラフ情報、またはオンラインソーシャルネットワークに関係する他の好適なデータなど、ソーシャルネットワーキングデータを生成し、記憶し、受信し、送り得る。ソーシャルネットワーキングシステム１６０は、直接的にまたはネットワーク１１０を介してのいずれかで、ネットワーク環境１００の他の構成要素によってアクセスされ得る。限定としてではなく一例として、クライアントシステム１３０は、直接的にまたはネットワーク１１０を介してのいずれかで、ウェブブラウザ１３２、またはソーシャルネットワーキングシステム１６０に関連付けられたネイティブアプリケーション（たとえば、モバイルソーシャルネットワーキングアプリケーション、メッセージングアプリケーション、別の好適なアプリケーション、またはそれらの任意の組合せ）を使用して、ソーシャルネットワーキングシステム１６０にアクセスし得る。特定の実施形態では、ソーシャルネットワーキングシステム１６０は、１つまたは複数のサーバ１６２を含み得る。各サーバ１６２は、単一サーバ、あるいは複数のコンピュータまたは複数のデータセンターにわたる分散型サーバであり得る。サーバ１６２は、たとえば、限定はしないが、ウェブサーバ、ニュースサーバ、メールサーバ、メッセージサーバ、広告サーバ、ファイルサーバ、アプリケーションサーバ、交換サーバ、データベースサーバ、プロキシサーバ、本明細書で説明される機能またはプロセスを実施するのに好適な別のサーバ、あるいはそれらの任意の組合せなど、様々なタイプのものであり得る。特定の実施形態では、各サーバ１６２は、サーバ１６２によって実装またはサポートされる適切な機能性を行うための、ハードウェア、ソフトウェア、または埋込み論理構成要素、または２つまたはそれ以上のそのような構成要素の組合せを含み得る。特定の実施形態では、ソーシャルネットワーキングシステム１６０は、１つまたは複数のデータストア１６４を含み得る。データストア１６４は、様々なタイプの情報を記憶するために使用され得る。特定の実施形態では、データストア１６４に記憶された情報は、固有のデータ構造に従って編成され得る。特定の実施形態では、各データストア１６４は、リレーショナルデータベース、列指向データベース、相関データベース、または他の好適なデータベースであり得る。本開示は、特定のタイプのデータベースを説明するかまたは示すが、本開示は任意の好適なタイプのデータベースを企図する。特定の実施形態は、クライアントシステム１３０、ソーシャルネットワーキングシステム１６０、補助システム１４０、またはサードパーティシステム１７０が、データストア１６４に記憶された情報を管理する、取り出す、修正する、追加する、または削除することを可能にするインターフェースを提供し得る。
【００５３】
特定の実施形態では、ソーシャルネットワーキングシステム１６０は、１つまたは複数のソーシャルグラフを１つまたは複数のデータストア１６４に記憶し得る。特定の実施形態では、ソーシャルグラフは、（各々特定のユーザに対応する）複数のユーザノードまたは（各々特定の概念に対応する）複数の概念ノードを含み得る、複数のノードと、ノードを接続する複数のエッジとを含み得る。ソーシャルネットワーキングシステム１６０は、オンラインソーシャルネットワークのユーザに、他のユーザと通信および対話する能力を提供し得る。特定の実施形態では、ユーザは、ソーシャルネットワーキングシステム１６０を介してオンラインソーシャルネットワークに加わり、次いで、ユーザがつなげられることを希望するソーシャルネットワーキングシステム１６０の何人かの他のユーザへのつながり（たとえば、関係）を追加し得る。本明細書では、「友達」という用語は、ソーシャルネットワーキングシステム１６０を介してユーザがつながり、関連付け、または関係を形成したソーシャルネットワーキングシステム１６０の任意の他のユーザを指し得る。
【００５４】
特定の実施形態では、ソーシャルネットワーキングシステム１６０は、ソーシャルネットワーキングシステム１６０によってサポートされる様々なタイプのアイテムまたはオブジェクトに関するアクションをとる能力をユーザに提供し得る。限定としてではなく一例として、アイテムおよびオブジェクトは、ソーシャルネットワーキングシステム１６０のユーザが属し得るグループまたはソーシャルネットワーク、ユーザが興味があり得るイベントまたはカレンダーエントリ、ユーザが使用し得るコンピュータベースアプリケーション、ユーザがサービスを介してアイテムを購入または販売することを可能にするトランザクション、ユーザが実施し得る広告との対話、あるいは他の好適なアイテムまたはオブジェクトを含み得る。ユーザは、ソーシャルネットワーキングシステム１６０において、またはソーシャルネットワーキングシステム１６０とは別個であり、ネットワーク１１０を介してソーシャルネットワーキングシステム１６０に結合された、サードパーティシステム１７０の外部システムによって、表されることが可能であるものと対話し得る。
【００５５】
特定の実施形態では、ソーシャルネットワーキングシステム１６０は、様々なエンティティをリンクすることが可能であり得る。限定としてではなく一例として、ソーシャルネットワーキングシステム１６０は、ユーザが、互いと対話し、ならびにサードパーティシステム１７０または他のエンティティからコンテンツを受信することを可能にするか、あるいは、ユーザが、アプリケーションプログラミングインターフェース（ＡＰＩ）または他の通信チャネルを通して、これらのエンティティと対話することを可能にし得る。
【００５６】
特定の実施形態では、サードパーティシステム１７０は、１つまたは複数のタイプのサーバ、１つまたは複数のデータストア、限定はしないがＡＰＩを含む１つまたは複数のインターフェース、１つまたは複数のウェブサービス、１つまたは複数のコンテンツソース、１つまたは複数のネットワーク、またはたとえばサーバが通信し得る任意の他の好適な構成要素を含み得る。サードパーティシステム１７０は、ソーシャルネットワーキングシステム１６０を動作させるエンティティとは異なるエンティティによって動作させられ得る。しかしながら、特定の実施形態では、ソーシャルネットワーキングシステム１６０とサードパーティシステム１７０とは、互いと連携して動作して、ソーシャルネットワーキングシステム１６０またはサードパーティシステム１７０のユーザにソーシャルネットワーキングサービスを提供し得る。この意味で、ソーシャルネットワーキングシステム１６０は、サードパーティシステム１７０などの他のシステムが、インターネットにわたってユーザにソーシャルネットワーキングサービスおよび機能性を提供するために使用し得る、プラットフォームまたはバックボーンを提供し得る。
【００５７】
特定の実施形態では、サードパーティシステム１７０は、サードパーティコンテンツオブジェクトプロバイダを含み得る。サードパーティコンテンツオブジェクトプロバイダは、クライアントシステム１３０に通信され得る、コンテンツオブジェクトの１つまたは複数のソースを含み得る。限定としてではなく一例として、コンテンツオブジェクトは、たとえば、映画の上映時間、映画のレビュー、レストランのレビュー、レストランのメニュー、製品情報およびレビュー、または他の好適な情報など、ユーザにとって興味のある物またはアクティビティに関する情報を含み得る。限定としてではなく別の例として、コンテンツオブジェクトは、クーポン、ディスカウントチケット、ギフト券、または他の好適なインセンティブオブジェクトなど、インセンティブコンテンツオブジェクトを含み得る。
【００５８】
特定の実施形態では、ソーシャルネットワーキングシステム１６０は、ソーシャルネットワーキングシステム１６０とのユーザの対話を向上させ得る、ユーザ生成されたコンテンツオブジェクトをも含む。ユーザ生成されたコンテンツは、ユーザがソーシャルネットワーキングシステム１６０に追加するか、アップロードするか、送るか、または「投稿」することができるものを含み得る。限定としてではなく一例として、ユーザは、クライアントシステム１３０からソーシャルネットワーキングシステム１６０に投稿を通信する。投稿は、ステータス更新または他のテキストデータ、ロケーション情報、写真、ビデオ、リンク、音楽あるいは他の同様のデータまたはメディアなど、データを含み得る。コンテンツはまた、ニュースフィードまたはストリームなどの「通信チャネル」を通して、サードパーティによってソーシャルネットワーキングシステム１６０に追加され得る。
【００５９】
特定の実施形態では、ソーシャルネットワーキングシステム１６０は、様々なサーバ、サブシステム、プログラム、モジュール、ログ、およびデータストアを含み得る。特定の実施形態では、ソーシャルネットワーキングシステム１６０は、ウェブサーバ、アクションロガー、ＡＰＩ要求サーバ、関連性およびランキングエンジン、コンテンツオブジェクト分類子、通知コントローラ、アクションログ、サードパーティコンテンツオブジェクト露出ログ、推論モジュール、許可／プライバシーサーバ、検索モジュール、広告ターゲッティングモジュール、ユーザインターフェースモジュール、ユーザプロファイルストア、つながりストア、サードパーティコンテンツストア、またはロケーションストアのうちの１つまたは複数を含み得る。ソーシャルネットワーキングシステム１６０は、ネットワークインターフェース、セキュリティ機構、ロードバランサ、フェイルオーバサーバ、管理およびネットワーク運用コンソール、他の好適な構成要素、またはそれらの任意の好適な組合せなど、好適な構成要素をも含み得る。特定の実施形態では、ソーシャルネットワーキングシステム１６０は、ユーザプロファイルを記憶するための１つまたは複数のユーザプロファイルストアを含み得る。ユーザプロファイルは、たとえば、経歴情報、人口統計学的情報、行動情報、ソーシャル情報、あるいは、職歴、学歴、趣味もしくは選好、興味、親和性、またはロケーションなど、他のタイプの記述的情報を含み得る。興味情報は、１つまたは複数のカテゴリーに関係する興味を含み得る。カテゴリーは一般的であるかまたは固有のものであり得る。限定としてではなく一例として、ユーザが、靴のブランドに関する記事に対して「いいね！」を表明した場合、カテゴリーは、ブランド、あるいは「靴」または「衣類」の一般的なカテゴリーであり得る。つながりストアは、ユーザに関するつながり情報を記憶するために使用され得る。つながり情報は、同様のまたは共通の職歴、グループメンバーシップ、趣味、学歴を有するか、あるいはいかなる形でも関係するか、または共通属性を共有する、ユーザを指示し得る。つながり情報は、（内部と外部の両方の）異なるユーザとコンテンツとの間のユーザ定義されたつながりをも含み得る。ウェブサーバは、ネットワーク１１０を介して、ソーシャルネットワーキングシステム１６０を、１つまたは複数のクライアントシステム１３０または１つまたは複数のサードパーティシステム１７０にリンクするために使用され得る。ウェブサーバは、ソーシャルネットワーキングシステム１６０と１つまたは複数のクライアントシステム１３０との間でメッセージを受信およびルーティングするためのメールサーバまたは他のメッセージング機能性を含み得る。ＡＰＩ要求サーバは、補助システム１４０およびサードパーティシステム１７０が、１つまたは複数のＡＰＩを呼び出すことによってソーシャルネットワーキングシステム１６０からの情報にアクセスすることを可能にし得る。アクションロガーは、ソーシャルネットワーキングシステム１６０上の、またはソーシャルネットワーキングシステム１６０から離れた、ユーザのアクションに関するウェブサーバからの通信を受信するために使用され得る。アクションログと併せて、サードパーティコンテンツオブジェクトへのユーザ露出についてのサードパーティコンテンツオブジェクトログが維持され得る。通知コントローラは、クライアントシステム１３０にコンテンツオブジェクトに関する情報を提供し得る。情報は、通知としてクライアントシステム１３０にプッシュされ得るか、または、情報は、クライアントシステム１３０から受信された要求に応答してクライアントシステム１３０からプルされ得る。許可サーバは、ソーシャルネットワーキングシステム１６０のユーザの１つまたは複数のプライバシー設定を施行するために使用され得る。ユーザのプライバシー設定は、ユーザに関連付けられた特定の情報がどのように共有され得るかを決定する。許可サーバは、ユーザが、たとえば、適切なプライバシー設定をセットすることなどによって、そのユーザのアクションがソーシャルネットワーキングシステム１６０によってロギングされるか、または他のシステム（たとえば、サードパーティシステム１７０）と共有されることをオプトインまたはオプトアウトすることを可能にし得る。サードパーティコンテンツオブジェクトストアは、サードパーティシステム１７０など、サードパーティから受信されたコンテンツオブジェクトを記憶するために使用され得る。ロケーションストアは、ユーザに関連付けられたクライアントシステム１３０から受信されたロケーション情報を記憶するために使用され得る。広告価格設定モジュールは、ソーシャル情報、現在時間、ロケーション情報、または他の好適な情報を組み合わせて、関連する広告を通知の形態でユーザに提供し得る。
【００６０】
補助システム
図２は、補助システム１４０の例示的なアーキテクチャを示す。特定の実施形態では、補助システム１４０は、ユーザが情報またはサービスを取得するのを補助し得る。補助システム１４０は、ユーザが、補助を得るためのステートフルおよびマルチターン会話における（ボイス、テキスト、画像、ビデオ、動き、向きなどの）マルチモーダルユーザ入力で補助システム１４０と対話することを可能にし得る。補助システム１４０は、ユーザに関連付けられた個人情報とコンテキスト情報の両方を含むユーザプロファイルを作成および記憶し得る。特定の実施形態では、補助システム１４０は、自然言語理解を使用してユーザ入力を分析し得る。分析は、より個人化されたおよびコンテキストアウェア理解のために、ユーザプロファイルに基づき得る。補助システム１４０は、分析に基づいて、ユーザ入力に関連付けられたエンティティを解析し得る。特定の実施形態では、補助システム１４０は、解析されるエンティティに関連付けられた情報またはサービスを取得するために、異なるエージェントと対話し得る。補助システム１４０は、自然言語生成を使用することによって、情報またはサービスに関してユーザのための応答を生成し得る。ユーザとの対話を通して、補助システム１４０は、ダイアログ管理技法を使用して、ユーザとの会話のフローを管理およびフォワーディングし得る。特定の実施形態では、補助システム１４０は、情報を要約することによって、ユーザが、取得された情報を効果的におよび効率的に消化するのをさらに補助し得る。補助システム１４０はまた、（たとえば、投稿、コメント、メッセージを作成して）ユーザがオンラインソーシャルネットワークと対話するのを助けるツールを提供することによって、ユーザがオンラインソーシャルネットワークにより関与するのを補助し得る。補助システム１４０は、ユーザが、イベントを追跡することなど、異なるタスクを管理するのをさらに補助し得る。特定の実施形態では、補助システム１４０は、ユーザ入力なしに、ユーザについて関連する時間において、ユーザプロファイルに基づいて、ユーザ興味および選好に関連する、事前許可されたタスクをプロアクティブに実行し得る。特定の実施形態では、補助システム１４０は、ユーザのプロファイルまたは他のユーザ情報にアクセスすることと、異なるタスクを実行することとが、ユーザのプライバシー設定を条件として許諾されることを確実にするために、プライバシー設定を検査し得る。プライバシー設定を条件とするユーザを補助することに関するより多くの情報が、参照により組み込まれる、２０１８年５月２２日に出願された米国特許出願第６２／６７５０９０号において見つけられ得る。
【００６１】
特定の実施形態では、補助システム１４０は、ユーザに関連付けられたクライアントシステム１３０中の補助アプリケーション１３６からユーザ入力を受信し得る。特定の実施形態では、ユーザ入力は、シングルターン（ｓｉｎｇｌｅ  ｔｕｒｎ）で補助システム１４０に送られるユーザ生成された入力であり得る。ユーザ入力がテキストモダリティに基づく場合、補助システム１４０は、メッセージングプラットフォーム２０５においてユーザ入力を受信し得る。ユーザ入力がオーディオモダリティに基づく（たとえば、ユーザが、補助アプリケーション１３６に話しかけるか、または音声を含むビデオを補助アプリケーション１３６に送り得る）場合、補助システム１４０は、ユーザ入力をテキストにコンバートするために、自動音声認識（ＡＳＲ）モジュール２１０を使用してユーザ入力を処理し得る。ユーザ入力が画像またはビデオモダリティに基づく場合、補助システム１４０は、ユーザ入力をテキストにコンバートするために、メッセージングプラットフォーム２０５内の光学文字認識技法を使用してユーザ入力を処理し得る。メッセージングプラットフォーム２０５またはＡＳＲモジュール２１０の出力が、補助ｘｂｏｔ２１５において受信され得る。異なるモダリティに基づいてユーザ入力をハンドリングすることに関するより多くの情報が、参照により組み込まれる、２０１８年８月２日に出願された米国特許出願第１６／０５３６００号において見つけられ得る。
【００６２】
特定の実施形態では、補助ｘｂｏｔ２１５は、チャットボットのタイプであり得る。補助ｘｂｏｔ２１５は、ユーザに対する個人的な補助として機能する、ソフトウェアコード、論理、またはルーチンであり得る、プログラマブルサービスチャネルを含み得る。補助ｘｂｏｔ２１５は、補助システム１４０へのユーザのポータルとして働き得る。したがって、補助ｘｂｏｔ２１５は、会話型エージェントのタイプと見なされ得る。特定の実施形態では、補助ｘｂｏｔ２１５は、ユーザ入力を解釈するために、テキストユーザ入力を自然言語理解（ＮＬＵ）モジュール２２０に送り得る。特定の実施形態では、ＮＬＵモジュール２２０は、ユーザ入力を正確に理解するために、ユーザコンテキストエンジン２２５および意味論的情報アグリゲータ（ＳＩＡ：ｓｅｍａｎｔｉｃ  ｉｎｆｏｒｍａｔｉｏｎ  ａｇｇｒｅｇａｔｏｒ）２３０から情報を得ることがある。ユーザコンテキストエンジン２２５は、ユーザのユーザプロファイルを記憶し得る。ユーザのユーザプロファイルは、ユーザに関連付けられた人口統計学的情報とソーシャル情報とコンテキスト情報とを含む、ユーザプロファイルデータを含み得る。ユーザプロファイルデータはまた、ニュースフィード、検索ログ、メッセージングプラットフォーム２０５などにおける会話を通して集約された、複数のトピックに関するユーザ興味および選好を含み得る。ユーザプロファイルの使用は、ユーザの情報が、自分の利益のためにのみ使用され、他の誰とも共有され得ないことを確実にするために、プライバシー検査モジュール２４５の背後で保護され得る。ユーザプロファイルに関するより多くの情報が、参照により組み込まれる、２０１８年４月３０日に出願された米国特許出願第１５／９６７２３９号において見つけられ得る。意味論的情報アグリゲータ２３０は、複数の事前定義されたドメインと意図とスロットとに関連付けられたオントロジデータを、ＮＬＵモジュール２２０に提供し得る。特定の実施形態では、ドメインは、対話のソーシャルコンテキスト、たとえば、教育を示し得る。意図は、補助システム１４０と対話するユーザの目的を指示し得る、意味論的意図の事前定義された分類法（ｔａｘｏｎｏｍｙ）における要素であり得る。特定の実施形態では、意図は、ユーザ入力がテキスト／音声入力を含む場合、ＮＬＵモジュール２２０の出力であり得る。ＮＬＵモジュール２２０は、テキスト／音声入力を、事前定義された分類法のメンバーに分類し得、たとえば、入力「ベートーベンの第５番をプレイしてください」の場合、ＮＬＵモジュール２２０は、その入力を、意図［ＩＮ：ｐｌａｙ＿ｍｕｓｉｃ］を有するものとして分類し得る。特定の実施形態では、ドメインは、概念的に、意図のセットのための名前空間、たとえば、音楽であり得る。スロットは、基本的な意味論的エンティティを表す、ユーザ入力を伴う名前付きサブストリングであり得る。たとえば、「ピザ」のためのスロットは［ＳＬ：ｄｉｓｈ］であり得る。特定の実施形態では、有効なまたは予想される名前付きスロットのセットは、分類された意図を条件とし得る。限定としてではなく一例として、［ＩＮ：ｐｌａｙ＿ｍｕｓｉｃ］の場合、スロットは［ＳＬ：ｓｏｎｇ＿ｎａ��ｅ］であり得る。意味論的情報アグリゲータ２３０は、ソーシャルグラフ、知識グラフ、および概念グラフから情報をさらに抽出し、ユーザコンテキストエンジン２２５からユーザのプロファイルを取り出し得る。意味論的情報アグリゲータ２３０は、さらに、どの情報を集約すべきかを決定すること、ユーザ入力のｎグラムにアノテーションを付けること、集約された情報に基づいて信頼性スコアでｎグラムをランク付けすること、ランク付けされたｎグラムを、ユーザ入力を理解するためにＮＬＵモジュール２２０によって使用され得る特徴に構築することによって、これらの異なるソースからの情報を処理し得る。意味論的情報を集約することに関するより多くの情報が、参照により組み込まれる、２０１８年４月３０日に出願された米国特許出願第１５／９６７３４２号において見つけられ得る。ユーザコンテキストエンジン２２５および意味論的情報アグリゲータ２３０の出力に基づいて、ＮＬＵモジュール２２０は、個人化されたおよびコンテキストアウェア様式で、ユーザ入力からのドメイン、意図、および１つまたは複数のスロットを識別し得る。限定としてではなく一例として、ユーザ入力は「スターバックスへの行き方を教えてください」を含み得る。ＮＬＵモジュール２２０は、ユーザの個人情報および関連付けられたコンテキスト情報に基づいて、ユーザが行くことを希望する特定のスターバックスを識別し得る。特定の実施形態では、ＮＬＵモジュール２２０は、言語の辞典と、センテンスを内部表現に区分するためのパーサおよび文法ルールとを含み得る。ＮＬＵモジュール２２０は、ユーザ入力を理解するための語用論（ｐｒａｇｍａｔｉｃｓ）の使用に対して単純な意味論（ｎａｉｖｅ  ｓｅｍａｎｔｉｃｓ）または確率的意味論的分析を実施する、１つまたは複数のプログラムをも含み得る。特定の実施形態では、パーサは、複数の長短期記憶（ＬＳＴＭ）ネットワークを含む、深層学習アーキテクチャに基づき得る。限定としてではなく一例として、パーサは、リカレント（ｒｅｃｕｒｒｅｎｔ）および再帰的（ｒｅｃｕｒｓｉｖｅ）ＬＳＴＭアルゴリズムのタイプである、リカレントニューラルネットワーク文法（ＲＮＮＧ：ｒｅｃｕｒｒｅｎｔ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ  ｇｒａｍｍａｒ）モデルに基づき得る。自然言語理解に関するより多くの情報が、その各々が参照により組み込まれる、２０１８年６月１８日に出願された米国特許出願第１６／０１１０６２号、２０１８年７月２日に出願された米国特許出願第１６／０２５３１７号、および２０１８年７月１７日に出願された米国特許出願第１６／０３８１２０号において見つけられ得る。
【００６３】
特定の実施形態では、ＮＬＵモジュール２２０からの識別されたドメイン、意図、および１つまたは複数のスロットは、ダイアログエンジン２３５に送られ得る。特定の実施形態では、ダイアログエンジン２３５は、ユーザと補助ｘｂｏｔ２１５との間の会話のダイアログ状態およびフローを管理し得る。ダイアログエンジン２３５は、さらに、ユーザと補助ｘｂｏｔ２１５との間の前の会話を記憶し得る。特定の実施形態では、ダイアログエンジン２３５は、１つまたは複数のスロットに関連付けられたエンティティを解析するためのエンティティ解析モジュール２４０と通信し得、エンティティ解析モジュール２４０は、ユーザと補助ｘｂｏｔ２１５との間の会話のフローをフォワーディングするためにダイアログエンジン２３５をサポートする。特定の実施形態では、エンティティ解析モジュール２４０は、エンティティを解析するとき、ソーシャルグラフ、知識グラフ、および概念グラフにアクセスし得る。エンティティは、たとえば、一意のユーザまたは概念を含み得、それらの各々は、一意の識別子（ＩＤ）を有し得る。限定としてではなく一例として、知識グラフは、複数のエンティティを含み得る。各エンティティは、１つまたは複数の属性値に関連付けられた単一のレコードを含み得る。特定のレコードは、一意のエンティティ識別子に関連付けられ得る。各レコードは、エンティティの属性について多様な値を有し得る。各属性値は、信頼性確率に関連付けられ得る。属性値についての信頼性確率は、所与の属性について値が正確である確率を表す。各属性値は、意味論的重みにも関連付けられ得る。属性値についての意味論的重みは、すべての利用可能な情報を考慮して、所与の属性について値が意味論的にどのくらい適切であるかを表し得る。たとえば、知識グラフは、映画「オデッセイ（Ｔｈｅ  Ｍａｒｔｉａｎ）」（２０１５）のエンティティを含み得、このエンティティは、知識グラフのための単一の一意のレコードを生成するために、複数のコンテンツソース（たとえば、Ｆａｃｅｂｏｏｋ、Ｗｉｋｉｐｅｄｉａ、映画のレビューソース、メディアデータベース、およびエンターテインメントコンテンツソース）から抽出され、次いで、重複排除され、解析され、融合された情報を含む。そのエンティティは、映画「オデッセイ」（２０１５）のジャンルを指示する空間属性値に関連付けられ得る。知識グラフに関するより多くの情報が、その各々が参照により組み込まれる、２０１８年７月２７日に出願された米国特許出願第１６／０４８０４９号、および２０１８年７月２７日に出願された米国特許出願第１６／０４８１０１号において見つけられ得る。エンティティ解析モジュール２４０は、さらに、ユーザ入力に関連付けられたユーザのユーザプロファイルをユーザコンテキストエンジン２２５に要求し得る。特定の実施形態では、エンティティ解析モジュール２４０は、エンティティを解析することがプライバシーポリシーに違反しないことを保証するために、プライバシー検査モジュール２４５と通信し得る。特定の実施形態では、プライバシー検査モジュール２４５は、プライバシーポリシーを施行するために、許可／プライバシーサーバを使用し得る。限定としてではなく一例とし���、解析されるべきエンティティは、自分の識別情報がオンラインソーシャルネットワーク上で検索可能であるべきでないことを、自分のプライバシー設定において指定する別のユーザであり得、したがって、エンティティ解析モジュール２４０は、要求に応答する、そのユーザの識別子を返さないことがある。ソーシャルグラフ、知識グラフ、概念グラフ、およびユーザプロファイルから取得された情報に基づいて、および適用可能なプライバシーポリシーを条件として、エンティティ解析モジュール２４０は、したがって、個人化されたおよびコンテキストアウェア様式で、ユーザ入力に関連付けられたエンティティを正確に解析し得る。特定の実施形態では、解析されたエンティティの各々は、ソーシャルネットワーキングシステム１６０によってホストされる１つまたは複数の識別子に関連付けられ得る。限定としてではなく一例として、識別子は、一意のユーザ識別子（ＩＤ）を含み得る。特定の実施形態では、解析されたエンティティの各々は、信頼性スコアにも関連付けられ得る。エンティティを解析することに関するより多くの情報が、その各々が参照により組み込まれる、２０１８年７月２７日に出願された米国特許出願第１６／０４８０４９号、および２０１８年７月２７日に出願された米国特許出願第１６／０４８０７２号において見つけられ得る。
【００６４】
特定の実施形態では、ダイアログエンジン２３５は、識別された意図およびドメイン、ならびに解析されたエンティティに基づいて、異なるエージェントと通信し得る。特定の実施形態では、エージェントは、１つのドメインのための複数のコンテンツプロバイダにわたるブローカーとして働く実装形態であり得る。コンテンツプロバイダは、意図に関連付けられたアクションを行うこと、または意図に関連付けられたタスクを完了することを担当するエンティティであり得る。限定としてではなく一例として、複数のデバイス固有の実装形態（たとえば、クライアントシステム１３０またはクライアントシステム１３０上のメッセージングアプリケーションのためのリアルタイム呼）が、単一のエージェントによって内部でハンドリングされ得る。代替的に、これらのデバイス固有の実装形態は、複数のドメインに関連付けられた複数のエージェントによってハンドリングされ得る。特定の実施形態では、エージェントは、ファーストパーティエージェント２５０とサードパーティエージェント２５５とを含み得る。特定の実施形態では、ファーストパーティエージェント２５０は、補助システム１４０によってアクセス可能および制御可能である内部エージェント（たとえば、オンラインソーシャルネットワーク（Ｍｅｓｓｅｎｇｅｒ、Ｉｎｓｔａｇｒａｍ）によって提供されるサービスに関連付けられたエージェント）を含み得る。特定の実施形態では、サードパーティエージェント２５５は、補助システム１４０が制御を有しない外部エージェント（たとえば、音楽ストリームエージェント（Ｓｐｏｔｉｆｙ）、チケットセールスエージェント（Ｔｉｃｋｅｔｍａｓｔｅｒ））を含み得る。ファーストパーティエージェント２５０は、ソーシャルネットワーキングシステム１６０によってホストされるコンテンツオブジェクトおよび／またはサービスを提供するファーストパーティプロバイダ２６０に関連付けられ得る。サードパーティエージェント２５５は、サードパーティシステム１７０によってホストされるコンテンツオブジェクトおよび／またはサービスを提供するサードパーティプロバイダ２６５に関連付けられ得る。
【００６５】
特定の実施形態では、ダイアログエンジン２３５からファーストパーティエージェント２５０への通信は、ファーストパーティプロバイダ２６０によって提供される特定のコンテンツオブジェクトおよび／またはサービスを要求することを含み得る。その結果、ファーストパーティエージェント２５０は、要求されたコンテンツオブジェクトをファーストパーティプロバイダ２６０から取り出し、および／または要求されたサービスを実施するようにファーストパーティプロバイダ２６０に指令するタスクを実行し得る。特定の実施形態では、ダイアログエンジン２３５からサードパーティエージェント２５５への通信は、サードパーティプロバイダ２６５によって提供される特定のコンテンツオブジェクトおよび／またはサービスを要求することを含み得る。その結果、サードパーティエージェント２５５は、要求されたコンテンツオブジェクトをサードパーティプロバイダ２６５から取り出し、および／または要求されたサービスを実施するようにサードパーティプロバイダ２６５に指令するタスクを実行し得る。サードパーティエージェント２５５は、サードパーティプロバイダ２６５と対話する前に、プライバシー違反がないことを保証するために、プライバシー検査モジュール２４５にアクセスし得る。限定としてではなく一例として、ユーザ入力に関連付けられたユーザは、自分のプロファイル情報が、いかなるサードパーティコンテンツプロバイダにも見えないことを、自分のプライバシー設定において指定し得る。したがって、ユーザ入力に関連付けられたコンテンツオブジェクトをサードパーティプロバイダ２６５から取り出すとき、サードパーティエージェント２５５は、どのユーザがコンテンツオブジェクトを要求しているかをサードパーティプロバイダ２６５に明らかにすることなしに、取出しを完了し得る。
【００６６】
特定の実施形態では、ファーストパーティエージェント２５０またはサードパーティエージェント２５５の各々は、特定のドメインのために指定され得る。限定としてではなく一例として、ドメインは、気象、輸送、音楽などを含み得る。特定の実施形態では、補助システム１４０は、ユーザ入力に応答するために複数のエージェントを共同的に使用し得る。限定としてではなく一例として、ユーザ入力は「次の会議に私を案内してください」を含み得る。補助システム１４０は、次の会議のロケーションを取り出すためにカレンダーエージェントを使用し得る。補助システム１４０は、次いで、ユーザを次の会議に案内するためにナビゲーションエージェントを使用し得る。
【００６７】
特定の実施形態では、ファーストパーティエージェント２５０またはサードパーティエージェント２５５の各々は、個人化されたおよびコンテキストアウェア様式でタスクを実行するために、ユーザコンテキストエンジン２２５からユーザプロファイルを取り出し得る。限定としてではなく一例として、ユーザ入力は「空港までの乗り物を予約してください」を含み得る。輸送エージェントは、乗り物を予約するタスクを実行し得る。輸送エージェントは、乗り物を予約する前に、ユーザコンテキストエンジン２２５からユーザのユーザプロファイルを取り出し得る。たとえば、ユーザプロファイルは、ユーザがタクシーを選好することを指示し得、したがって、輸送エージェントは、ユーザのためにタクシーを予約し得る。別の例として、ユーザプロファイルに関連付けられたコンテキスト情報は、ユーザが急いでいることを指示し得、したがって、輸送エージェントは、タクシー会社よりもライドシェアリングサービス（たとえば、Ｕｂｅｒ、Ｌｙｆｔ）から車を得るほうが速いことがあるので、ライドシェアリングサービスからの乗り物をユーザのために予約し得る。特定の実施形態では、ファーストパーティエージェント２５０またはサードパーティエージェント２５５の各々は、タスクを実行するとき、他のファクタを考慮に入れ得る。限定としてではなく一例として、他のファクタは、価格、レーティング、効率、オンラインソーシャルネットワークとのパートナーシップなどを含み得る。
【００６８】
特定の実施形態では、ダイアログエンジン２３５は、会話理解コンポーザ（ＣＵコンポーザ：ｃｏｎｖｅｒｓａｔｉｏｎａｌ  ｕｎｄｅｒｓｔａｎｄｉｎｇ  ｃｏｍｐｏｓｅｒ）２７０と通信し得る。ダイアログエンジン２３５は、要求されたコンテンツオブジェクトおよび／または要求されたサービスのステータスをＣＵコンポーザ２７０に送り得る。特定の実施形態では、ダイアログエンジン２３５は、要求されたコンテンツオブジェクトおよび／または要求されたサービスのステータスを、＜ｋ，ｃ，ｕ，ｄ＞タプルとして送り得、ここで、ｋは知識ソースを指示し、ｃは通信目標を指示し、ｕはユーザモデルを指示し、ｄは談話モデルを指示する。特定の実施形態では、ＣＵコンポーザ２７０は、自然言語生成器（ＮＬＧ）２７１と、ユーザインターフェース（ＵＩ）ペイロード生成器２７２とを含み得る。自然言語生成器２７１は、ダイアログエンジン２３５の出力に基づいて、通信コンテンツを生成し得る。特定の実施形態では、ＮＬＧ２７１は、コンテンツ決定構成要素と、センテンスプランナと、表層実現（ｓｕｒｆａｃｅ  ｒｅａｌｉｚａｔｉｏｎ）構成要素とを含み得る。コンテンツ決定構成要素は、知識ソース、通信目標、およびユーザの予想に基づいて、通信コンテンツを決定し得る。限定としてではなく一例として、決定することは、記述論理に基づき得る。記述論理は、たとえば、（ドメインにおけるオブジェクトを表す）個体、（個体のセットを記述する）概念、および（個体または概念間の２項関係を表す）役割である、３つの基本観念を含み得る。記述論理は、自然言語生成器２７１が原子的なものから複雑な概念／役割を組み立てることを可能にする、コンストラクタのセットによって特徴づけられ得る。特定の実施形態では、コンテンツ決定構成要素は、通信コンテンツを決定するために、以下のタスクを実施し得る。第１のタスクは、自然言語生成器２７１への入力が概念にトランスレートされ得る、トランスレーションタスクを含み得る。第２のタスクは、関連する概念が、ユーザモデルに基づいて、トランスレーションタスクから生じたものの中から選択され得る、選択タスクを含み得る。第３のタスクは、選択された概念の一貫性（ｃｏｈｅｒｅｎｃｅ）が検証され得る、検証タスクを含み得る。第４のタスクは、検証された概念が、自然言語生成器２７１によって処理され得る実行ファイルとしてインスタンス化され得る、インスタンス化タスクを含み得る。センテンスプランナは、通信コンテンツを人間が理解できるものにするために、通信コンテンツの編成を決定し得る。表層実現構成要素は、使用すべき固有ワード、センテンスのシーケンス、および通信コンテンツのスタイルを決定し得る。ＵＩペイロード生成器２７２は、ユーザに提示されるべき通信コンテンツの選好されるモダリティを決定し得る。特定の実施形態では、ＣＵコンポーザ２７０は、通信コンテンツの生成がプライバシーポリシーに従うことを確認するために、プライバシー検査モジュール２４５と通信し得る。特定の実施形態では、ＣＵコンポーザ２７０は、通信コンテンツを生成することと、通信コンテンツのモダリティを決定することとを行うとき、ユーザコンテキストエンジン２２５からユーザプロファイルを取り出し得る。その結果、通信コンテンツは、ユーザにとって、より自然で、個人化され、コンテキストアウェアになり得る。限定としてではなく一例として、ユーザプロファイルは、ユーザが会話において短いセンテンスを好むことを指示し得、したがって、生成された通信コンテンツは、短いセンテンスに基づき得る。限定としてではなく別の例として、ユーザプロファイルに関連付けられたコンテキスト情報は、ユーザが、オーディオ信号のみを出力するデバイスを使用していることを指示し得、したがって、ＵＩペイロード生成器２７２は、通信コンテンツのモダリティをオーディオとして決定し得る。自然言語生成に関するより多くの情報が、その各々が参照により組み込まれる、２０１８年４月３０日に出願された米国特許出願第１５／９６７２７９号、および２０１８年４月３０日に出願された米国特許出願第１５／９６６４５５号において見つけられ得る。
【００６９】
特定の実施形態では、ＣＵコンポーザ２７０は、生成された通信コンテンツを補助ｘｂｏｔ２１５に送り得る。特定の実施形態では、補助ｘｂｏｔ２１５は、通信コンテンツをメッセージングプラットフォーム２０５に送り得る。メッセージングプラットフォーム２０５は、さらに、通信コンテンツを、補助アプリケーション１３６を介してクライアントシステム１３０に送り得る。代替実施形態では、補助ｘｂｏｔ２１５は、通信コンテンツをテキスト音声（ＴＴＳ：ｔｅｘｔ−ｔｏ−ｓｐｅｅｃｈ）モジュール２７５に送り得る。ＴＴＳモジュール２７５は、通信コンテンツをオーディオクリップにコンバートし得る。ＴＴＳモジュール２７５は、さらに、オーディオクリップを、補助アプリケーション１３６を介してクライアントシステム１３０に送り得る。
【００７０】
特定の実施形態では、補助ｘｂｏｔ２１５は、ユーザ入力を受信することなしに、プロアクティブ推論層２８０と対話し得る。プロアクティブ推論層２８０は、ユーザコンテキストエンジン２２５から取り出されたユーザプロファイルに基づいて、ユーザ興味および選好を推論し得る。特定の実施形態では、プロアクティブ推論層２８０は、さらに、推論に関してプロアクティブエージェント２８５と通信し得る。プロアクティブエージェント２８５は、推論に基づいてプロアクティブタスクを実行し得る。限定としてではなく一例として、プロアクティブタスクは、ユーザに、コンテンツオブジェクトを送ること、またはサービスを提供することを含み得る。特定の実施形態では、各プロアクティブタスクは、アジェンダアイテムに関連付けられ得る。アジェンダアイテムは、毎日のダイジェストなど、繰返しアイテムを含み得る。アジェンダアイテムは、ワンタイムアイテムをも含み得る。特定の実施形態では、プロアクティブエージェント２８５は、プロアクティブタスクを実行するとき、ユーザコンテキストエンジン２２５からユーザプロファイルを取り出し得る。したがって、プロアクティブエージェント２８５は、個人化されたおよびコンテキストアウェア様式で、プロアクティブタスクを実行し得る。限定としてではなく一例として、プロアクティブ推論層は、ユーザがバンドＭａｒｏｏｎ  ５を好むと推論し得、プロアクティブエージェント２８５は、ユーザに対するＭａｒｏｏｎ  ５の新しい歌／アルバムの推奨を生成し得る。
【００７１】
特定の実施形態では、プロアクティブエージェント２８５は、ユーザプロファイルに基づいて、プロアクティブタスクに関連付けられた候補エンティティを生成し得る。生成は、構造化されたデータストアから候補エンティティを取り出すための決定性フィルタを使用する、簡単なバックエンドクエリに基づき得る。生成は、代替的に、ユーザプロファイル、エンティティ属性、およびユーザとエンティティとの間の関連性に基づいてトレーニングされた機械学習モデルに基づき得る。限定としてではなく一例として、機械学習モデルは、サポートベクターマシン（ＳＶＭ）に基づき得る。限定としてではなく別の例として、機械学習モデルは、回帰モデルに基づき得る。限定としてではなく別の例として、機械学習モデルは、深層畳み込みニューラルネットワーク（ＤＣＮＮ）に基づき得る。特定の実施形態では、プロアクティブエージェント２８５はまた、生成された候補エンティティを、ユーザプロファイルおよびその候補エンティティに関連付けられたコンテンツに基づいて、ランク付けし得る。ランキングは、ユーザの興味と候補エンティティとの間の類似度に基づき得る。限定としてではなく一例として、補助システム１４０は、ユーザの興味を表す特徴ベクトルおよび候補エンティティを表す特徴ベクトルを生成し得る。補助システム１４０は、次いで、ユーザの興味を表す特徴ベクトルと候補エンティティを表す特徴ベクトルとの間の（たとえば、コサイン類似度に基づく）類似度スコアを計算し得る。ランキングは、代替的に、ユーザフィードバックデータに基づいてトレーニングされたランキングモデルに基づき得る。
【００７２】
特定の実施形態では、プロアクティブタスクは、候補エンティティをユーザに推奨することを含み得る。プロアクティブエージェント２８５は、推奨をスケジュールし、それにより、推奨時間を、推奨される候補エンティティに関連付け得る。推奨される候補エンティティは、優先度および満了時間にも関連付けられ得る。特定の実施形態では、推奨される候補エンティティは、プロアクティブスケジューラに送られ得る。プロアクティブスケジューラは、タスクに関連付けられた優先度および他の関連するファクタ（たとえば、推奨される候補エンティティのクリックおよびインプレッション（ｉｍｐｒｅｓｓｉｏｎ））に基づいて、推奨される候補エンティティをユーザに送るための実際の時間を決定し得る。特定の実施形態では、プロアクティブスケジューラは、次いで、決定された実際の時間で、推奨される候補エンティティを非同期ティア（ｔｉｅｒ）に送り得る。非同期ティアは、推奨される候補エンティティをジョブとして一時的に記憶し得る。特定の実施形態では、非同期ティアは、実行のための決定された実際の時間においてダイアログエンジン２３５にジョブを送り得る。代替実施形態では、非同期ティアは、他の表層（たとえば、ソーシャルネットワーキングシステム１６０に関連付けられた他の通知サービス）にジョブを送ることによってジョブを実行し得る。特定の実施形態では、ダイアログエンジン２３５は、ユーザに関連付けられたダイアログ意図、状態、および履歴を識別し得る。ダイアログ意図に基づいて、ダイアログエンジン２３５は、クライアントシステム１３０に送るために、推奨される候補エンティティの中からいくつかの候補エンティティを選択し得る。特定の実施形態では、ダイアログ状態および履歴は、ユーザが補助ｘｂｏｔ２１５との進行中の会話に関与しているかどうかを指示し得る。ユーザが進行中の会話に関与しており、推奨のタスクの優先度が低い場合、ダイアログエンジン２３５は、選択された候補エンティティをクライアントシステム１３０に送るための時間を再スケジュールするために、プロアクティブスケジューラと通信し得る。ユーザが進行中の会話に関与しており、推奨のタスクの優先度が高い場合、ダイアログエンジン２３５は、選択された候補エンティティが提示され得る、ユーザとの新しいダイアログセッションを始動し得る。その結果、進行中の会話の妨害が防がれ得る。選択された候補エンティティを送ることがユーザにとって妨害的でないと決定されたとき、ダイアログエンジン２３５は、ユーザのプライバシー設定を条件として、選択された候補エンティティを含む個人化されたおよびコンテキストアウェア通信コンテンツを生成するために、選択された候補エンティティをＣＵコンポーザ２７０に送り得る。特定の実施形態では、ＣＵコンポーザ２７０は、通信コンテンツを補助ｘｂｏｔ２１５に送り得、補助ｘｂｏｔ２１５は、次いで、通信コンテンツを、メッセージングプラットフォーム２０５またはＴＴＳモジュール２７５を介してクライアントシステム１３０に送り得る。ユーザをプロアクティブに補助することに関するより多くの情報が、その各々が参照により組み込まれる、２０１８年４月３０日に出願された米国特許出願第１５／９６７１９３号、および２０１８年７月１６日に出願された米国特許出願第１６／０３６８２７号において見つけられ得る。
【００７３】
特定の実施形態では、補助ｘｂｏｔ２１５は、ユーザ入力に応答してプロアクティブエージェント２８５と通信し得る。限定としてではなく一例として、ユーザは、リマインダをセットアップするように補助ｘｂｏｔ２１５に依頼し得る。補助ｘｂｏｔ２１５は、そのようなリマインダをセットアップするようにプロアクティブエージェント２８５に要求し得、プロアクティブエージェント２８５は、後でユーザにリマインドするタスクをプロアクティブに実行し得る。
【００７４】
特定の実施形態では、補助システム１４０は、サマライザ（ｓｕｍｍａｒｉｚｅｒ）２９０を備え得る。サマライザ２９０は、カスタマイズされたニュースフィード要約をユーザに提供し得る。特定の実施形態では、サマライザ２９０は、複数のメタエージェントを含み得る。複数のメタエージェントは、ニュースフィード要約を生成するために、ファーストパーティエージェント２５０、サードパーティエージェント２５５、またはプロアクティブエージェント２８５を使用し得る。特定の実施形態では、サマライザ２９０は、プロアクティブ推論層２８０から、ユーザ興味および選好を取り出し得る。サマライザ２９０は、次いで、エンティティ解析モジュール２４０から、ユーザ興味および選好に関連付けられたエンティティを取り出し得る。サマライザ２９０は、さらに、ユーザコンテキストエンジン２２５からユーザプロファイルを取り出し得る。プロアクティブ推論層２８０、エンティティ解析モジュール２４０、およびユーザコンテキストエンジン２２５からの情報に基づいて、サマライザ２９０は、ユーザのために、個人化されたおよびコンテキストアウェア要約を生成し得る。特定の実施形態では、サマライザ２９０は、要約をＣＵコンポーザ２７０に送り得る。ＣＵコンポーザ２７０は、要約を処理し、処理結果を補助ｘｂｏｔ２１５に送り得る。補助ｘｂｏｔ２１５は、次いで、処理された要約を、メッセージングプラットフォーム２０５またはＴＴＳモジュール２７５を介してクライアントシステム１３０に送り得る。要約に関するより多くの情報が、参照により組み込まれる、２０１８年４月３０日に出願された米国特許出願第１５／９６７２９０号において見つけられ得る。
【００７５】
図３は、補助システム１４０によってユーザ要求に応答する例示的な図のフローを示す。特定の実施形態では、補助ｘｂｏｔ２１５は、ユーザ要求を受信すると、要求マネージャ３０５にアクセスし得る。要求マネージャ３０５は、コンテキスト抽出器３０６と会話理解オブジェクト生成器（ＣＵオブジェクト生成器）３０７とを含み得る。コンテキスト抽出器３０６は、ユーザ要求に関連付けられたコンテキスト情報を抽出し得る。コンテキスト抽出器３０６はまた、クライアントシステム１３０上で実行している補助アプリケーション１３６に基づいて、コンテキスト情報を更新し得る。限定としてではなく一例として、コンテキスト情報の更新は、コンテンツアイテムがクライアントシステム１３０上に表示されることを含み得る。限定としてではなく別の例として、コンテキスト情報の更新は、アラームがクライアントシステム１３０上でセットされたかどうかを含み得る。限定としてではなく別の例として、コンテキスト情報の更新は、歌がクライアントシステム１３０上でプレイしているかどうかを含み得る。ＣＵオブジェクト生成器３０７は、ユーザ要求に関連する特定のコンテンツオブジェクトを生成し得る。コンテンツオブジェクトは、補助システム１４０のすべてのモジュールと共有され得る、ユーザ要求に関連付けられたダイアログセッションデータおよび特徴を含み得る。特定の実施形態では、要求マネージャ３０５は、コンテキスト情報および生成されたコンテンツオブジェクトを、補助システム１４０において実装される特定のデータストアであるデータストア３１０に記憶し得る。
【００７６】
特定の実施形態では、要求マネージャ３０５は、生成されたコンテンツオブジェクトをＮＬＵモジュール２２０に送り得る。ＮＬＵモジュール２２０は、コンテンツオブジェクトを処理するために複数のステップを実施し得る。ステップ２２１において、ＮＬＵモジュール２２０は、コンテンツオブジェクトについてのホワイトリストを生成し得る。特定の実施形態では、ホワイトリストは、ユーザ要求に一致する解釈データを含み得る。ステップ２２２において、ＮＬＵモジュール２２０は、ホワイトリストに基づいて特徴化（ｆｅａｔｕｒｉｚａｔｉｏｎ）を実施し得る。
ステップ２２３において、ＮＬＵモジュール２２０は、ユーザ要求を、事前定義されたドメインに分類するために、特徴化から生じた特徴に基づいて、ユーザ要求に関するドメイン分類／選択を実施し得る。ドメイン分類／選択の結果は、２つの関係するプロシージャに基づいて、さらに処理され得る。ステップ２２４ａにおいて、ＮＬＵモジュール２２０は、意図分類器を使用して、ドメイン分類／選択の結果を処理し得る。意図分類器は、ユーザ要求に関連付けられたユーザの意図を決定し得る。特定の実施形態では、所与のドメインにおいて最も可能性がある意図を決定するために、各ドメインについて１つの意図分類器があり得る。限定としてではなく一例として、意図分類器は、ドメイン分類／選択の結果を入力としてとり、その入力が特定の事前定義された意図に関連付けられる確率を計算し得る、機械学習モデルに基づき得る。ステップ２２４ｂにおいて、ＮＬＵモジュールは、メタ意図分類器を使用して、ドメイン分類／選択の結果を処理し得る。メタ意図分類器は、ユーザの意図について説明するカテゴリーを決定し得る。特定の実施形態では、複数のドメインに共通である意図は、メタ意図分類器によって処理され得る。限定としてではなく一例として、メタ意図分類器は、ドメイン分類／選択の結果を入力としてとり、その入力が特定の事前定義されたメタ意図に関連付けられる確率を計算し得る、機械学習モデルに基づき得る。ステップ２２５ａにおいて、ＮＬＵモジュール２２０は、ユーザ要求に関連付けられた１つまたは複数のスロットにアノテーションを付けるために、スロットタガー（ｔａｇｇｅｒ）を使用し得る。特定の実施形態では、スロットタガーは、ユーザ要求のｎグラムについての１つまたは複数のスロットにアノテーションを付け得る。ステップ２２５ｂにおいて、ＮＬＵモジュール２２０は、メタ意図分類器からの分類結果についての１つまたは複数のスロットにアノテーションを付けるために、メタスロットタガーを使用し得る。特定の実施形態では、メタスロットタガーは、アイテム（たとえば、第１の）、スロットのタイプ、スロットの値などへの参照など、一般スロットをタグ付けし得る。限定としてではなく一例として、ユーザ要求は「私の口座の５００ドルを日本円に両替してください」を含み得る。意図分類器は、ユーザ要求を入力としてとり、その入力をベクトルに構築し得る。意図分類器は、次いで、ユーザ要求を表すベクトルと、異なる事前定義された意図を表すベクトルとの間のベクトル比較に基づいて、ユーザ要求が、異なる事前定義された意図に関連付けられる、確率を計算し得る。同様にして、スロットタガーは、ユーザ要求を入力としてとり、各ワードをベクトルに構築し得る。意図分類器は、次いで、ワードを表すベクトルと、異なる事前定義されたスロットを表すベクトルとの間のベクトル比較に基づいて、各ワードが、異なる事前定義されたスロットに関連付けられる、確率を計算し得る。ユーザの意図は「両替する」として分類され得る。ユーザ要求のスロットは、「５００」と「ドル」と「口座」と「日本円」とを含み得る。ユーザのメタ意図は「金融サービス」として分類され得る。メタスロットは「金融」を含み得る。
【００７７】
特定の実施形態では、ＮＬＵモジュール２２０は、意味論的情報アグリゲータ２３０から意味論的情報を抽出することによって、コンテンツオブジェクトのドメイン分類／選択を改善し得る。特定の実施形態では、意味論的情報アグリゲータ２３０は、以下のようにして意味論的情報を集約し得る。意味論的情報アグリゲータ２３０は、最初に、ユーザコンテキストエンジン２２５から情報を取り出し得る。特定の実施形態では、ユーザコンテキストエンジン２２５は、オフラインアグリゲータ２２６とオンライン推論サービス２２７とを含み得る。オフラインアグリゲータ２２６は、前の時間ウィンドウから収集された、ユーザに関連付けられた複数のデータを処理し得る。限定としてではなく一例として、データは、前の９０日のウィンドウから収集された、ニュースフィード投稿／コメント、ニュースフィード投稿／コメントとの対話、Ｉｎｓｔａｇｒａｍ投稿／コメント、検索履歴などを含み得る。処理結果は、ユーザプロファイルの一部として、ユーザコンテキストエンジン２２５に記憶され得る。オンライン推論サービス２２７は、現在時間において補助システム１４０によって受信された、ユーザに関連付けられた会話データを分析し得る。分析結果は、同じくユーザプロファイルの一部として、ユーザコンテキストエンジン２２５に記憶され得る。特定の実施形態では、オフラインアグリゲータ２２６とオンライン推論サービス２２７の両方は、複数のデータから個人化特徴を抽出し得る。抽出された個人化特徴は、ユーザ入力をより良く理解するために、補助システム１４０の他のモジュールによって使用され得る。特定の実施形態では、意味論的情報アグリゲータ２３０は、次いで、以下のステップにおいて、ユーザコンテキストエンジン２２５からの取り出された情報、すなわち、ユーザプロファイルを処理し得る。ステップ２３１において、意味論的情報アグリゲータ２３０は、自然言語処理（ＮＬＰ）に基づいて、ユーザコンテキストエンジン２２５からの取り出された情報を処理し得る。特定の実施形態では、意味論的情報アグリゲータ２３０は、テキスト正規化によってテキストをトークン化し、テキストからシンタックス特徴を抽出し、ＮＬＰに基づいてテキストから意味論的特徴を抽出し得る。意味論的情報アグリゲータ２３０は、ユーザと補助システム１４０との間のダイアログ履歴からアクセスされるコンテキスト情報から、特徴をさらに抽出し得る。意味論的情報アグリゲータ２３０は、コンテキスト情報に基づいて、グローバルワード埋込み、ドメイン固有埋込み、および／または動的埋込みをさらに行い得る。ステップ２３２において、処理結果は、エンティティタガーによってエンティティでアノテーションを付けられ得る。アノテーションに基づいて、意味論的情報アグリゲータ２３０は、ステップ２３３において、取り出された情報についての辞書を生成し得る。特定の実施形態では、辞書は、オフラインで動的に更新され得るグローバル辞書特徴を含み得る。ステップ２３４において、意味論的情報アグリゲータ２３０は、エンティティタガーによってタグ付けされたエンティティをランク付けし得る。特定の実施形態では、意味論的情報アグリゲータ２３０は、ユーザコンテキストエンジン２２５からの取り出された情報に関連するオントロジデータを抽出するために、ソーシャルグラフ、知識グラフ、および概念グラフを含む、異なるグラフ３３０と通信し得る。特定の実施形態では、意味論的情報アグリゲータ２３０は、ユーザプロファイルと、ランク付けされたエンティティと、グラフ３３０からの情報とを集約し得る。意味論的情報アグリゲータ２３０は、次いで、ドメイン分類／選択を可能にするために、集約された情報をＮＬＵモジュール２２０に送り得る。
【００７８】
特定の実施形態では、ＮＬＵモジュール２２０の出力は、ユーザ要求に関連付けられたコンテンツオブジェクトの参照を解釈するために、共参照（ｃｏ−ｒｅｆｅｒｅｎｃｅ）モジュール３１５に送られ得る。特定の実施形態では、共参照モジュール３１５は、ユーザ要求が指すアイテムを識別するために使用され得る。共参照モジュール３１５は、参照作成３１６と参照解析３１７とを含み得る。特定の実施形態では、参照作成３１６は、ＮＬＵモジュール２２０によって決定されたエンティティについての参照を作成し得る。参照解析３１７は、これらの参照を正確に解析し得る。限定としてではなく一例として、ユーザ要求は「最寄のＷａｌｍａｒｔを見つけて、私をそこに案内してください」を含み得る。共参照モジュール３１５は、「そこ」を「最寄のＷａｌｍａｒｔ」として解釈し得る。特定の実施形態では、共参照モジュール３１５は、改善された正確さで参照を解釈するのに必要なとき、ユーザコンテキストエンジン２２５およびダイアログエンジン２３５にアクセスし得る。
【００７９】
特定の実施形態では、識別されたドメイン、意図、メタ意図、スロット、およびメタスロットは、解析された参照とともに、関連するエンティティを解析するためにエンティティ解析モジュール２４０に送られ得る。エンティティ解析モジュール２４０は、一般およびドメイン固有エンティティ解析を実行し得る。特定の実施形態では、エンティティ解析モジュール２４０は、ドメインエンティティ解析２４１と一般エンティティ解析２４２とを含み得る。ドメインエンティティ解析２４１は、スロットおよびメタスロットを、異なるドメインにカテゴリー分類することによって、エンティティを解析し得る。特定の実施形態では、エンティティは、グラフ３３０から抽出されたオントロジデータに基づいて解析され得る。オントロジデータは、異なるスロット／メタスロットおよびドメイン間の構造関係を含み得る。オントロジは、スロット／メタスロットがどのように、グループ化され、より高いレベルがドメインを含む階層内で関係付けられ、類似度および差異に従って再分割され得るかという情報をも含み得る。一般エンティティ解析２４２は、スロットおよびメタスロットを、異なる一般トピックにカテゴリー分類することによって、エンティティを解析し得る。特定の実施形態では、解析することは、グラフ３３０から抽出されたオントロジデータにも基づき得る。オントロジデータは、異なるスロット／メタスロットおよび一般トピック間の構造関係を含み得る。オントロジは、スロット／メタスロットがどのように、グループ化され、より高いレベルがトピックを含む階層内で関係付けられ、類似度および差異に従って再分割され得るかという情報をも含み得る。限定としてではなく一例として、Ｔｅｓｌａ車の利点の照会の入力に応答して、一般エンティティ解析２４２は、Ｔｅｓｌａ車を車両として解析し得、ドメインエンティティ解析２４１は、Ｔｅｓｌａ車を電気自動車として解析し得る。
【００８０】
特定の実施形態では、エンティティ解析モジュール２４０の出力は、ユーザとの会話のフローをフォワーディングするために、ダイアログエンジン２３５に送られ得る。ダイアログエンジン２３５は、ダイアログ意図解析２３６と、ダイアログ状態更新／ランカー（ｒａｎｋｅｒ）２３７とを含み得る。特定の実施形態では、ダイアログ意図解析２３６は、ユーザと補助システム１４０との間のダイアログ履歴に基づいて、現在のダイアログセッションに関連付けられたユーザ意図を解析し得る。ダイアログ意図解析２３６は、ＮＬＵモジュール２２０によって決定された意図を、異なるダイアログ意図にマッピングし得る。ダイアログ意図解析２３６は、さらに、ＮＬＵモジュール２２０、エンティティ解析モジュール２４０からの信号と、ユーザと補助システム１４０との間のダイアログ履歴とに基づいて、ダイアログ意図をランク付けし得る。特定の実施形態では、ダイアログ状態更新／ランカー２３７は、現在のダイアログセッションのダイアログ状態を更新／ランク付けし得る。限定としてではなく一例として、ダイアログ状態更新／ランカー２３７は、ダイアログセッションが終了した場合、ダイアログ状態を「完了した」として更新し得る。限定としてではなく別の例として、ダイアログ状態更新／ランカー２３７は、ダイアログ状態に関連付けられた優先度に基づいて、ダイアログ状態をランク付けし得る。
【００８１】
特定の実施形態では、ダイアログエンジン２３５は、ダイアログ意図および関連付けられたコンテンツオブジェクトについて、タスク完了モジュール３３５と通信し得る。特定の実施形態では、タスク完了モジュール３３５は、異なるダイアログ意図について、異なるダイアログ仮定をランク付けし得る。タスク完了モジュール３３５は、アクション選択構成要素３３６を含み得る。特定の実施形態では、ダイアログエンジン２３５は、さらに、ダイアログ状態に関してダイアログポリシー３２０に対して検査し得る。特定の実施形態では、ダイアログポリシー３２０は、エージェント３４０によるアクションの実行プランについて説明するデータ構造を含み得る。エージェント３４０は、アクションを完了するために、登録済みコンテンツプロバイダの中から選択し得る。データ構造は、意図および意図に関連付けられた１つまたは複数のスロットに基づいて、ダイアログエンジン２３５によってコンストラクトされ得る。ダイアログポリシー３２０は、論理演算子を通して互いに関係する複数の目標をさらに含み得る。特定の実施形態では、目標は、ダイアログポリシーの一部分の成果であり得、それは、ダイアログエンジン２３５によってコンストラクトされ得る。目標は、目標をパラメータ化する、１つまたは複数の名前付き引数をもつ識別子（たとえば、ストリング）によって表され得る。限定としてではなく一例として、その関連付けられた目標引数をもつ目標は、｛ｃｏｎｆｉｒｍ＿ａｒｔｉｓｔ，ａｒｇｓ：｛ａｒｔｉｓｔ：“Ｍａｄｏｎｎａ”｝｝として表され得る。特定の実施形態では、ダイアログポリシーは、目標がツリーのリーフにマッピングされる、ツリー構造化された表現に基づき得る。特定の実施形態では、ダイアログエンジン２３５は、行うべき次のアクションを決定するために、ダイアログポリシー３２０を実行し得る。ダイアログポリシー３２０は、一般ポリシー３２１とドメイン固有ポリシー３２２とを含み得、それらの両方は、ダイアログ状態に基づいて、次のシステムアクションをどのように選択すべきかをガイドし得る。特定の実施形態では、タスク完了モジュール３３５は、次のシステムアクションのガイダンスを取得するために、ダイアログポリシー３２０と通信し得る。特定の実施形態では、アクション選択構成要素３３６は、したがって、ダイアログ意図、関連付けられたコンテンツオブジェクト、およびダイアログポリシー３２０からのガイダンスに基づいて、アクションを選択し得る。
【００８２】
特定の実施形態では、タスク完了モジュール３３５の出力は、ＣＵコンポーザ２７０に送られ得る。代替実施形態では、選択されたアクションは、１つまたは複数のエージェント３４０が関与することを必要とし得る。その結果、タスク完了モジュール３３５は、エージェント３４０に選択されたアクションを通知し得る。一方、ダイアログエンジン２３５は、ダイアログ状態を更新するようにとの命令を受信し得る。限定としてではなく一例として、更新は、エージェントの応答を待つことを含み得る。特定の実施形態では、ＣＵコンポーザ２７０は、タスク完了モジュール３３５の出力に基づいて、ＮＬＧ２７１を使用してユーザのための通信コンテンツを生成し得る。特定の実施形態では、ＮＬＧ２７１は、自然言語出力を生成するために、異なる言語モデルおよび／または言語テンプレートを使用し得る。自然言語出力の生成は、アプリケーション固有であり得る。自然言語出力の生成はまた、各ユーザについて個人化され得る。ＣＵコンポーザ２７０はまた、ＵＩペイロード生成器２７２を使用して、生成された通信コンテンツのモダリティを決定し得る。生成された通信コンテンツは、ユーザ要求への応答と見なされ得るので、ＣＵコンポーザ２７０は、さらに、応答ランカー２７３を使用して、生成された通信コンテンツをランク付けし得る。限定としてではなく一例として、ランキングは、応答の優先度を指示し得る。
【００８３】
特定の実施形態では、ＣＵコンポーザ２７０の出力は、応答マネージャ３２５に送られ得る。応答マネージャ３２５は、データストア３１０から取り出されたダイアログ状態３２６を記憶／更新することと、応答３２７を生成することとを含む、異なるタスクを実施し得る。特定の実施形態では、ＣＵコンポーザ２７０の出力は、パラメータをもつ自然言語ストリング、音声、またはアクションのうちの１つまたは複数を含み得る。その結果、応答マネージャ３２５は、ＣＵコンポーザ２７０の出力に基づいて、どのタスクを実施すべきかを決定し得る。特定の実施形態では、生成された応答および通信コンテンツは、補助ｘｂｏｔ２１５に送られ得る。代替実施形態では、ＣＵコンポーザ２７０の出力は、通信コンテンツの決定されたモダリティがオーディオである場合、ＴＴＳモジュール２７５にさらに送られ得る。ＴＴＳモジュール２７５によって生成された音声、および応答マネージャ３２５によって生成された応答は、次いで、補助ｘｂｏｔ２１５に送られ得る。
【００８４】
補助システムとのユーザ対話のための個人化されたジェスチャー認識
特定の実施形態では、補助システム１４０は、個人化されたジェスチャー分類モデルをトレーニングし得る。トレーニングは、複数の入力タプルを受信することであって、各々がジェスチャー入力と音声入力とを含む、複数の入力タプルを受信することと、自然言語理解（ＮＬＵ）モジュール２２０によって、音声入力に基づいて複数の意図を決定することと、一般的なジェスチャー分類モデルにアクセスすることと、意図をそれらの各々のジェスチャー入力に関連付けることと、意図とジェスチャー入力との間の関連付けに、および一般的なジェスチャー分類モデルにも基づいて、個人化されたジェスチャー分類モデルをトレーニングすることとを含み得る。特定の実施形態では、一般的なジェスチャー分類モデルは、多数の標準ジェスチャーに関してクラウドソーシングによって生成され得る。しかしながら、一般的なジェスチャー分類モデルは、特に、ユーザが非標準ジェスチャーまたは一般に異なる意図のために使用されるジェスチャーを使用している場合、特定のユーザのジェスチャーの正しい意図を決定することができないことがある。したがって、個人化されたジェスチャー分類モデルのトレーニングは、一般的なジェスチャー分類モデルに加えて、音声とジェスチャーの両方を含むユーザ自身の入力からの有益な手がかりをさらに活用し得る。個人化されたジェスチャー分類モデルのトレーニングを補助するために、音声入力を別個に使用することのほかに、補助システム１４０は、代替的に、音声入力とジェスチャー入力とを一緒に利用することによって、個人化されたジェスチャー分類モデルをトレーニングし得る。個人化されたジェスチャー分類モデルがトレーニングされると、補助システム１４０は、それを使用して、将来においてユーザ自身のジェスチャーに対応するユーザの意図を決定し得る。本開示は、特定の様式で特定のシステムを介して特定のジェスチャー分類モデルをトレーニングすることについて説明するが、本開示は、任意の好適な様式で任意の好適なシステムを介して任意の好適なジェスチャー分類モデルをトレーニングすることについて説明することを企図する。
【００８５】
図４は、例示的なジェスチャーを示す。特定の実施形態では、補助システム１４０は、データストアから、第１のユーザに関連付けられた複数の入力タプルにアクセスし得る。各入力タプルは、ジェスチャー入力と、対応する音声入力とを含み得る。ジェスチャー入力および音声入力は、たとえば、（図４に示されていない）補助システム１４０に関連付けられた補助デバイス、仮想現実（ＶＲ）ヘッドセットまたは拡張現実（ＡＲ）スマートグラスによって、キャプチャされ得る。限定としてではなく一例として、入力は、図４のＡに示されているような「ノー」ジェスチャー（すなわち、ユーザは、自分の手を実質的に垂直位置に保持し、手のひらを向こう側に向け、指をすべて伸ばし、実質的にくっつけている）と、「ストップ」の音声入力とを含み得る。限定としてではなく別の例として、入力は、図４のＢに示されているような「スワイプ」ジェスチャー（すなわち、ユーザの人さし指および中指が伸ばされ、手が左から右に弧を描いて動いている）と、「次」の音声入力とを含み得る。限定としてではなくまた別の例として、入力は、図４のＣに示されているような「ピンチ」ジェスチャー（すなわち、ユーザの親指と人さし指とが、互いに対して伸ばした位置から互いのほうへ動いている）と、「ピックアップ」の音声入力とを含み得る。ジェスチャー入力および対応する音声入力のこれらの入力タプルは、クラウドソーシング（すなわち、一般的な母集団が、ジェスチャー入力および対応する音声入力を提供するように依頼された）または補助システム１４０との履歴ユーザ対話のうちの１つまたは複数に基づいて生成され得る。本開示は、特定の様式で特定のジェスチャーおよび音声入力にアクセスすることについて説明するが、本開示は、任意の好適な様式で任意の好適なジェスチャーおよび音声入力にアクセスすることを企図する。
【００８６】
特定の実施形態では、補助システム１４０は、次いで、自然言語理解（ＮＬＵ）モジュール２２０によって、複数の音声入力に対応する複数の意図を、それぞれ決定し得る。限定としてではなく一例として、ＮＬＵモジュール２２０は、上述の「ストップ」の音声入力の意図を、補助システム１４０によって実行されているタスクをストップすること、たとえば、音楽をプレイすることをストップすることとして、決定し得る。限定としてではなく別の例として、ＮＬＵモジュール２２０は、上述の「次」の音声入力の意図を、補助システム１４０によって提案される次のコンテンツオブジェクト、たとえば、次の画像を選定することとして、決定し得る。限定としてではなく別の例として、ＮＬＵモジュール２２０は、上述の「ピックアップ」の音声入力の意図を、ＶＲゲームまたは部屋のＡＲビューにおいてオブジェクトをピックアップすることとして、決定し得る。補助システム１４０は、次いで、複数のジェスチャー入力について、１つまたは複数の機械学習モデルに基づいて複数の特徴表現を生成し得る。特徴表現は、あるアプリケーションに関係する計算タスク、たとえば、ジェスチャー認識を解決することに関連する情報であり得る。限定としてではなく一例として、ジェスチャーについての特徴表現は、畳み込みニューラルネットワーク、ジェスチャーに関連付けられた２Ｄ画像およびビデオからの形状およびテクスチャ特徴、またはジェスチャーに関連付けられた深度画像に基づいて、生成され得る。特定の実施形態では、補助システム１４０は、次いで、複数のジェスチャー入力についての複数のジェスチャー識別子を、それらの各々の特徴表現に基づいて、それぞれ決定し得る。補助システム１４０は、次いで、複数の意図を複数のジェスチャー識別子にそれぞれ関連付け得る。特定の実施形態では、補助システム１４０は、第１のユーザについて、それらの各々のジェスチャー入力の複数の特徴表現と、複数の意図とそれらの各々のジェスチャー識別子との間の関連付けとに基づいて、個人化されたジェスチャー分類モデルをさらにトレーニングし得る。
【００８７】
図５は、ジェスチャー入力を含むユーザ入力を処理する例示的なワークフローを示す。ジェスチャー入力は、アイデアまたは意味を明示するための、身体の一部、特に手または頭の動きに基づく入力であり得る。ジェスチャー入力は、画像情報、ビデオ情報、動き情報、またはそれらの任意の組合せの形態であり得る。特定の実施形態では、補助システム１４０は、クライアントシステム１３０からユーザによるユーザ入力５０５を受信し得る。補助システム１４０は、ユーザ入力５０５を意図理解モジュール５１０に送り得る。意図理解モジュール５１０は、自然言語理解（ＮＬＵ）モジュール２２０とジェスチャー分類モデル５１５とを含み得る。ジェスチャー分類モデル５１５は、ユーザによって実施されるジェスチャーの異なるカテゴリーを認識するようにオフラインでトレーニングされる機械学習モデルであり得る。限定としてではなく一例として、ジェスチャー分類モデル５１５は、畳み込みニューラルネットワーク、テンソルフロー、または隠れマルコフモデルのうちの１つまたは複数に基づき得る。ユーザ入力５０５に基づいて、意図理解モジュール５１０は、ユーザ入力５０５に関連付けられた意図５２０を決定するために、異なる構成要素を使用し得る。ユーザ入力５０５がテキスト入力または音声入力を含む場合、意図理解モジュール５１０は、意図５２０を決定するために、ＮＬＵモジュール２２０を使用し得る。ユーザ入力５０５がジェスチャー入力を含む場合、意図理解モジュール５１０は、意図５２０を決定するために、ジェスチャー分類モデル５１５を使用し得る。決定された意図５２０は、補助システム１４０がユーザの意図５２０を決定することにおいてどのくらい確信しているかを指示する信頼性スコアに関連付けられ得る。特定の実施形態では、信頼性スコアは、ユーザのテキスト入力または音声入力が、所与の意図５２０についての知られている入力にどのくらい厳密に一致するかに基づいて、決定され得る。限定としてではなく一例として、厳密さは、テキスト入力と、知られている入力（テキスト）との間のストリング類似度に基づき得る。補助システム１４０は、次いで、意図５２０を、その信頼性スコアとともに、ダイアログエンジン２３５に送り得る。信頼性スコアがしきい値スコアを上回る場合、ダイアログエンジン２３５は、意図５２０に対応する１つまたは複数のタスク５２５を決定し、それらを、タスク５２５を実行するためにファーストパーティエージェント２５０またはサードパーティエージェント２５５のいずれかに送り得る。実行結果５３０は、ＣＵコンポーザ２７０に送られ得る。信頼性スコアがしきい値スコアを下回る場合、ダイアログエンジン２３５は、補助システム１４０が、より高い信頼性スコアをもつユーザの意図を決定するのを助け得る、ユーザのための１つまたは複数の提案される入力５３５を決定し得る。ダイアログエンジン２３５は、提案される入力５３５をＣＵコンポーザ２７０に送り得る。実行結果５３０または提案される入力５３５に基づいて、ＣＵコンポーザ２７０は、応答５４０を生成し得る。応答５４０は、ジェスチャーのテキスト、画像、ビデオ、またはアニメーションのうちの１つまたは複数を含む、異なるモダリティにおけるものであり得る。ＣＵコンポーザ２７０は、さらに、応答５４０をクライアントシステム１３０に送り得る。本開示は、特定の様式で特定のシステムを介してユーザ入力を処理することについて説明するが、本開示は、任意の好適な様式で任意の好適なシステムを介して任意の好適なユーザ入力を処理することについて説明することを企図する。
【００８８】
特定の実施形態では、個人化されたジェスチャー分類モデルのトレーニングは、一般的なジェスチャー分類モデルに基づき得る。補助システム１４０は、データストアから、一般的なユーザ母集団に対応する一般的なジェスチャー分類モデルにアクセスし得る。したがって、個人化されたジェスチャー分類モデルをトレーニングすることは、さらに、一般的なジェスチャー分類モデルに基づき得る。特定の実施形態では、一般的なユーザ母集団は、複数の第２のユーザに対応し得る。限定としてではなく一例として、第２のユーザは、一般的なユーザ母集団（たとえば、世界中の人々）または定義されたユーザ母集団（たとえば、米国の人々）からのものであり得る。特定の実施形態では、一般的なジェスチャー分類モデルは、一般的なユーザ母集団からの複数のジェスチャー入力に基づいてトレーニングされ得る。限定としてではなく一例として、複数のジェスチャー入力は、一般的な母集団のユーザによって実施される標準ジェスチャーを含み得る。その結果、ユーザがこれらの標準ジェスチャーのうちの１つを実施する場合、一般的なジェスチャー分類モデルは、それを認識し、その対応する意図５２０を決定することが可能であり得る。一般的なジェスチャー分類モデルは、個人化されたジェスチャー分類モデルのための基礎であり得、それは、ユーザのジェスチャーが、その対応する標準ジェスチャーに従って実施される場合、ユーザのジェスチャーを認識する潜在能力を有し得る。本開示は、特定の様式で特定の一般的なモデルについて説明するが、本開示は、任意の好適な様式で任意の好適な一般的なモデルについて説明することを企図する。
【００８９】
特定の実施形態では、補助システム１４０は、最初に、受信されたジェスチャー入力およびその対応する意図５２０のカテゴリーを決定するために、一般的なジェスチャー分類モデルをデフォルトモデルとして使用し得る。補助システム１４０が意図５２０を首尾よく決定した場合、補助システム１４０は、対応するタスク５２５を実行し得る。補助システム１４０がユーザの意図５２０を決定することができない場合、補助システム１４０は、ユーザに、自分の意図５２０に関して、ジェスチャーを再び実施し、同時に補助システム１４０に話しかけるように、依頼し得る。その後、補助システム１４０は、ユーザの音声およびジェスチャーからトレーニングデータを同時に収集しながら、個人化されたジェスチャー分類モデルのトレーニングプロセスを開始し得る。本開示は、特定の様式で特定のシステムを介して特定のジェスチャー分類モデルを使用することについて説明するが、本開示は、任意の好適な様式で任意の好適なシステムを介して任意の好適なジェスチャー分類モデルを使用することについて説明することを企図する。
【００９０】
特定の実施形態では、補助システム１４０は、以下のようにして、個人化されたジェスチャー分類モデルをトレーニングし得る。補助システムは、最初に、１つまたは複数の自動音声認識（ＡＳＲ）モジュール２１０によって、複数の音声入力についての複数のテキスト入力を、それぞれ生成し得る。したがって、複数の音声入力に対応する複数の意図５２０をそれぞれ決定することは、各々の音声入力の複数のテキスト入力に基づき得る。特定の実施形態では、補助システムは、テキスト入力を分類して、対応する意図５２０を取得するために、自然言語理解（ＮＬＵ）モジュール２２０を使用し得る。補助システム１４０は、次いで、１つまたは複数の機械学習モデルに基づいて、ジェスチャー入力について特徴表現を生成し得る。限定としてではなく一例として、ジェスチャー入力は、ジェスチャーを含んでいる画像、ビデオ、動きデータ、骨格データ、熱データなどを含み得る。特定の実施形態では、１つまたは複数の機械学習モデルは、ニューラルネットワークモデルまたは長短期記憶（ＬＳＴＭ）モデルのうちの１つまたは複数に基づき得る。補助システム１４０は、さらに、異なるジェスチャー識別子を、ジェスチャー入力に対応する特徴表現に割り当て得る。特定の実施形態では、補助システム１４０は、次いで、意図５２０をジェスチャー識別子に関連付け得る。複数の意図５２０とそれらの各々のジェスチャー識別子との間の関連付けは、個人化されたジェスチャー分類モデルをトレーニングするために使用され得る。ユーザの音声入力とジェスチャー入力の両方に基づいて、個人化されたジェスチャー分類モデルをトレーニングすることは、ユーザの意図５２０が音声入力から学習され得、そのような意図５２０とジェスチャー入力との間の関連付けが、個人化されたジェスチャー分類モデルのトレーニング中にさらなる利用のために生成され得るので、個人化されたジェスチャー分類モデルがユーザの個人ジェスチャーからユーザの意図５２０を識別することを可能にするという技術課題に対処するのに効果的なソリューションであり得る。特定の実施形態では、個人化されたジェスチャー分類モデルは、畳み込みニューラルネットワークまたはリカレントニューラルネットワークに基づき得る。同時発生（ｃｏｉｎｃｉｄｅｎｃｅ）の音声意図とジェスチャーとを繰返し観察することは、第１のユーザによって意図的に生成されたのか無意識に生成されたのかにかかわらず、ますます多くのトレーニングデータを生じ得る。一方、個人化されたジェスチャー分類モデルは、ますます多くのトレーニングデータが使用されるにつれて、徐々に最適化され得る。その結果、個人化されたジェスチャー分類モデルは、ユーザからの新しいジェスチャーを発見し、それらを意味（すなわち、意図５２０）に関連付け得る。音声入力とジェスチャー入力の両方に基づいて、個人化されたジェスチャー分類モデルをトレーニングすることは、特定のユーザについてのジェスチャー分類において、より効果的であり得る。限定としてではなく一例として、ユーザは、図４のＡに示されているような「ノー」ジェスチャーを実施し得るが、意図５２０は、実際は「次」であり得、「次」は、通常、図４のＢに示されているような「スワイプ」ジェスチャーに関連付けられる。標準ジェスチャー分類モデルを使用することは、それに応じて、間違った意図を決定し得る。対照的に、個人化されたジェスチャー分類モデルは、そのようなジェスチャーを実施するユーザの個人的なやり方に基づくデータを使用するので、個人化されたジェスチャー分類モデルは、ユーザが図４のＡに示されているような「ノー」ジェスチャーを実施するとき、「次」という意図５２０を効果的に決定し得る。限定としてではなく別の例として、ユーザは、図４のＢに示されているような「スワイプ」ジェスチャーを実施し得るが、意図５２０は「次」ではなく、実際は「ビデオを巻き戻す」であり得る。同様に、標準ジェスチャー分類モデルを使用することは、間違った意図を決定し得るが、個人化されたジェスチャー分類モデルは、ユーザが図４のＢに示されているような「スワイプ」ジェスチャーを実施するとき、「ビデオを巻き戻す」という意図５２０を効果的に決定し得る。限定としてではなく別の例として、ユーザは、図４のＣに示されているような「ピンチ」ジェスチャーを実施し得るが、意図５２０は「ピックアップ」ではなく、実際は「ズームアウト」であり得る。この場合も、標準ジェスチャー分類モデルを使用することは、間違った意図を決定し得るが、個人化されたジェスチャー分類モデルは、ユーザが図４のＣに示されているような「ピンチ」ジェスチャーを実施するとき、「ズームアウト」という意図５２０を効果的に決定し得る。本開示は、特定の様式で特定のジェスチャー分類モデルをトレーニングすることについて説明するが、本開示は、任意の好適な様式で任意の好適なジェスチャー分類モデルをトレーニングすることについて説明することを企図する。
【００９１】
特定の実施形態では、補助システムは、様々な情報を考慮することによって、ジェスチャー入力について特徴表現を生成し得る。特定の実施形態では、各ジェスチャー入力について各特徴表現を生成することは、ジェスチャー入力を１つまたは複数の構成要素に分割することと、ジェスチャー入力について１つまたは複数の構成要素を特徴表現にモデル化することとを含み得る。構成要素は、部分的なジェスチャーと見なされ得る。特定の実施形態では、各ジェスチャー入力について各特徴表現を生成することは、ジェスチャー入力に関連付けられた時間的情報を決定することと、ジェスチャー入力について時間的情報を特徴表現にモデル化することとを含み得る。限定としてではなく一例として、ユーザは、図４のＡに示されているような「ノー」のジェスチャーを行う前に、自分の眼をぐるりと動かし（ｒｏｌｌ  ｈｉｓ／ｈｅｒ  ｅｙｅｓ）得る。したがって、補助システム１４０は、拒否の意図５２０を決定するのを助けるために、特徴表現を生成するとき、「ノー」ジェスチャーの前に起こった眼をぐるりと動かすこと（ｅｙｅ  ｒｏｌｌｉｎｇ）の時間的情報を考慮に入れ得る。ジェスチャー入力の構成要素とジェスチャー入力に関連付けられた時間的情報とを特徴表現にモデル化することは、ジェスチャー入力を構成要素に分割することが、ジェスチャーを別のものと区別するのを助け得、時間的情報が、ジェスチャー分類のために有用であり得るユーザの意図５２０を指示するコンテキスト情報を伝達し得るので、ジェスチャー入力について信頼できる特徴表現を生成するという技術課題に対処するのに効果的なソリューションであり得る。本開示は、特定の様式で特定の特徴表現を生成することについて説明するが、本開示は、任意の好適な様式で任意の好適な特徴表現を生成することについて説明することを企図する。
【００９２】
特定の実施形態では、補助システム１４０は、音声入力とジェスチャー入力とを一緒に活用することによって、個人化されたジェスチャー分類モデルをトレーニングし得る。補助システム１４０は、ＡＳＲモジュール２１０によって、音声入力からテキスト入力を抽出し得る。補助システム１４０は、次いで、テキスト入力とジェスチャー入力の両方について特徴表現を生成し得る。特徴表現が生成された後に、補助システム１４０は、テキスト入力のための重みと、ジェスチャー入力のための重みとを、それぞれ決定し得る。特定の実施形態では、これらの入力およびそれらの各々の重みは、さらに、個人化されたジェスチャー分類モデルをトレーニングするために、深層ニューラルネットワークフレームワークに供給され得る。特定の実施形態では、補助システム１４０は、さらに、個人化されたジェスチャー分類モデルをトレーニングするとき、ユーザフィードバックを利用し得る。ダイアログエンジン２３５は、提案される入力５３５としてユーザフィードバックを求め得、それを通して、追加のトレーニングデータも取得され得る。より具体的に言えば、ダイアログエンジン２３５は、低い信頼性をもつジェスチャーの承認またはあいまいさ除去（ｄｉｓａｍｂｉｇｕａｔｉｏｎ）を求め得る。ダイアログエンジン２３５は、提案される入力５３５中に含まれ得るジェスチャーの承認またはあいまいさ除去をユーザに依頼するために、テキストまたは音声を使用し得る。その結果、ユーザからの承認または選択は、個人化されたジェスチャー分類モデルをトレーニングするための追加の信号として、使用され得る。本開示は、特定の様式で特定のジェスチャー分類モデルをトレーニングすることについて説明するが、本開示は、任意の好適な様式で任意の好適なジェスチャー分類モデルをトレーニングすることについて説明することを企図する。
【００９３】
特定の実施形態では、個人化されたジェスチャー分類モデルは、ランタイムにおいてジェスチャー入力を意図５２０に自動的に関連付け得る。特定の実施形態では、補助システム１４０は、第１のユーザに関連付けられたクライアントシステム１３０から、第１のユーザからの新しいジェスチャー入力を受信し得る。補助システム１４０は、次いで、新しいジェスチャー入力について、個人化されたジェスチャー分類モデルに基づいて、新しいジェスチャー入力に対応する意図５２０を決定し得る。特定の実施形態では、補助システム１４０は、さらに、決定された意図５２０に基づいて、１つまたは複数のタスク５２５を実行し得る。その結果、補助システム１４０は、ユーザが、テキストおよびボイスなどの旧来の入力のほかにジェスチャーで補助システム１４０と対話することを可能にすることによって、補助システム１４０とのユーザエクスペリエンスを豊かにするという技術的利点を有し得、補助システム１４０は、正確に、ユーザのジェスチャーを認識し、認識されたジェスチャーに対応するタスク５２５を実行し得る。本開示は、特定の様式で特定のジェスチャー分類モデルを使用することについて説明するが、本開示は、任意の好適な様式で任意の好適なジェスチャー分類モデルを使用することについて説明することを企図する。
【００９４】
図６は、個人化されたジェスチャー分類モデルをトレーニングするための例示的な方法６００を示す。方法は、ステップ６１０において始まり得、補助システム１４０は、データストアから、第１のユーザに関連付けられた複数の入力タプルにアクセスし得、各入力タプルは、ジェスチャー入力と、対応する音声入力とを含む。ステップ６２０において、補助システム１４０は、自然言語理解（ＮＬＵ）モジュール２２０によって、複数の音声入力に対応する複数の意図５２０を、それぞれ決定し得る。ステップ６３０において、補助システム１４０は、複数のジェスチャー入力について、１つまたは複数の機械学習モデルに基づいて複数の特徴表現を生成し得る。ステップ６４０において、補助システム１４０は、複数のジェスチャー入力についての複数のジェスチャー識別子を、それらの各々の特徴表現に基づいて、それぞれ決定し得る。ステップ６５０において、補助システム１４０は、複数の意図５２０を複数のジェスチャー識別子にそれぞれ関連付け得る。ステップ６６０において、補助システム１４０は、第１のユーザについて、それらの各々のジェスチャー入力の複数の特徴表現と、複数の意図５２０とそれらの各々のジェスチャー識別子との間の関連付けとに基づいて、個人化されたジェスチャー分類モデルをトレーニングし得る。特定の実施形態は、適切な場合、図６の方法の１つまたは複数のステップを繰り返し得る。本開示は、図６の方法の特定のステップを、特定の順序で行われるものとして説明し、示すが、本開示は、図６の方法の任意の好適なステップが任意の好適な順序で行われることを企図する。その上、本開示は、図６の方法の特定のステップを含む、個人化されたジェスチャー分類モデルをトレーニングするための例示的な方法を説明し、示すが、本開示は、適切な場合、図６の方法のステップのすべてを含むか、いくつかを含むか、またはいずれも含まないことがある、任意の好適なステップを含む、個人化されたジェスチャー分類モデルをトレーニングするための任意の好適な方法を企図する。さらに、本開示は、図６の方法の特定のステップを行う特定の構成要素、デバイス、またはシステムを説明し、示すが、本開示は、図６の方法の任意の好適なステップを行う任意の好適な構成要素、デバイス、またはシステムの任意の好適な組合せを企図する。
【００９５】
ソーシャルグラフ
図７は、例示的なソーシャルグラフ７００を示す。特定の実施形態では、ソーシャルネットワーキングシステム１６０は、１つまたは複数のソーシャルグラフ７００を１つまたは複数のデータストアに記憶し得る。特定の実施形態では、ソーシャルグラフ７００は、複数のユーザノード７０２または複数の概念ノード７０４を含み得る、複数のノードと、それらのノードを接続する複数のエッジ７０６とを含み得る。各ノードは、一意の数字またはユーザ名など、一意の識別子（ＩＤ）をその各々が有し得る、一意のエンティティ（すなわち、ユーザまたは概念）に関連付けられ得る。説明のために、２次元ビジュアルマップ表現において、図７に示されている例示的なソーシャルグラフ７００が示される。特定の実施形態では、ソーシャルネットワーキングシステム１６０、クライアントシステム１３０、補助システム１４０、またはサードパーティシステム１７０は、好適な適用例のためにソーシャルグラフ７００および関係するソーシャルグラフ情報にアクセスし得る。ソーシャルグラフ７００のノードおよびエッジは、たとえば（ソーシャルグラフデータベースなどの）データストアに、データオブジェクトとして記憶され得る。そのようなデータストアは、ソーシャルグラフ７００のノードまたはエッジの１つまたは複数の検索可能またはクエリ可能なインデックスを含み得る。
【００９６】
特定の実施形態では、ユーザノード７０２は、ソーシャルネットワーキングシステム１６０または補助システム１４０のユーザに対応し得る。限定としてではなく一例として、ユーザは、ソーシャルネットワーキングシステム１６０または補助システム１４０と、あるいはソーシャルネットワーキングシステム１６０または補助システム１４０上で、対話または通信する個人（人間のユーザ）、エンティティ（たとえば、企業、ビジネス、またはサードパーティアプリケーション）、または（たとえば、個人またはエンティティの）グループであり得る。特定の実施形態では、ソーシャルネットワーキングシステム１６０にユーザがアカウントを登録すると、ソーシャルネットワーキングシステム１６０は、ユーザに対応するユーザノード７０２を作成し、１つまたは複数のデータストアにユーザノード７０２を記憶し得る。本明細書で説明されるユーザおよびユーザノード７０２は、適切な場合、登録済みユーザおよび登録済みユーザに関連付けられたユーザノード７０２を指し得る。さらに、または代替として、本明細書で説明されるユーザおよびユーザノード７０２は、適切な場合、ソーシャルネットワーキングシステム１６０に登録されていないユーザを指し得る。特定の実施形態では、ユーザノード７０２は、ユーザによって提供された情報、またはソーシャルネットワーキングシステム１６０を含む様々なシステムによって集められた情報に関連付けられ得る。限定としてではなく一例として、ユーザは、自分の名前、プロファイルピクチャ、連絡先情報、生年月日、性、配偶者の有無、家族状況、勤務先、学歴、選好、興味、または他の人口統計学的情報を提供し得る。特定の実施形態では、ユーザノード７０２は、ユーザに関連付けられた情報に対応する１つまたは複数のデータオブジェクトに関連付けられ得る。特定の実施形態では、ユーザノード７０２は、１つまたは複数のウェブインターフェースに対応し得る。
【００９７】
特定の実施形態では、概念ノード７０４は、概念に対応し得る。限定としてではなく一例として、概念は、（たとえば、映画館、レストラン、ランドマーク、または都市などの）場所、（たとえば、ソーシャルネットワーキングシステム１６０に関連付けられたウェブサイト、またはウェブアプリケーションサーバに関連付けられたサードパーティウェブサイトなどの）ウェブサイト、（たとえば、人、ビジネス、グループ、スポーツチーム、または有名人などの）エンティティ、ソーシャルネットワーキングシステム１６０内に、またはウェブアプリケーションサーバなどの外部サーバ上に置かれ得る（たとえば、オーディオファイル、ビデオファイル、デジタル写真、テキストファイル、構造化文書、またはアプリケーションなどの）リソース、（たとえば、彫刻、絵画、映画、ゲーム、歌、アイデア、写真、または書かれた作品などの）物的財産または知的財産、ゲーム、アクティビティ、アイデアまたは理論、別の好適な概念、あるいは２つまたはそれ以上のそのような概念に対応し得る。概念ノード７０４は、ユーザによって提供された概念の情報、またはソーシャルネットワーキングシステム１６０と補助システム１４０とを含む様々なシステムによって集められた情報に関連付けられ得る。限定としてではなく一例として、概念の情報は、名前またはタイトル、１つまたは複数の画像（たとえば、本のカバーページの画像）、ロケーション（たとえば、住所または地理的ロケーション）、（ＵＲＬに関連付けられ得る）ウェブサイト、連絡先情報（たとえば、電話番号または電子メールアドレス）、他の好適な概念情報、あるいはそのような情報の任意の好適な組合せを含み得る。特定の実施形態では、概念ノード７０４は、概念ノード７０４に関連付けられた情報に対応する１つまたは複数のデータオブジェクトに関連付けられ得る。特定の実施形態では、概念ノード７０４は、１つまたは複数のウェブインターフェースに対応し得る。
【００９８】
特定の実施形態では、ソーシャルグラフ７００内のノードは、（「プロファイルインターフェース」と呼ばれることがある）ウェブインターフェースを表すか、またはウェブインターフェースによって表され得る。プロファイルインターフェースは、ソーシャルネットワーキングシステム１６０または補助システム１４０によってホストされるか、あるいはソーシャルネットワーキングシステム１６０または補助システム１４０にとってアクセス可能であり得る。プロファイルインターフェースはまた、サードパーティシステム１７０に関連付けられたサードパーティウェブサイト上でホストされ得る。限定としてではなく一例として、特定の外部ウェブインターフェースに対応するプロファイルインターフェースは、特定の外部ウェブインターフェースであり得、プロファイルインターフェースは、特定の概念ノード７０４に対応し得る。プロファイルインターフェースは、他のユーザのすべてまたは選択されたサブセットによって閲覧可能であり得る。限定としてではなく一例として、ユーザノード７０２は、対応するユーザが、コンテンツを追加するか、発表するか、または場合によっては自分自身を明示し得る、対応するユーザプロファイルインターフェースを有し得る。限定としてではなく別の例として、概念ノード７０４は、特に、概念ノード７０４に対応する概念に関連して、１人または複数のユーザがコンテンツを追加するか、発表するか、または自分自身を明示し得る、対応する概念プロファイルインターフェースを有し得る。
【００９９】
特定の実施形態では、概念ノード７０４は、サードパーティシステム１７０によってホストされるサードパーティウェブインターフェースまたはリソースを表し得る。サードパーティウェブインターフェースまたはリソースは、他の要素の中でも、コンテンツ、選択可能なまたは他のアイコン、あるいは、アクションまたはアクティビティを表す（たとえば、ＪａｖａＳｃｒｉｐｔ、ＡＪＡＸ、またはＰＨＰコードにおいて実装され得る）他の対話可能オブジェクトを含み得る。限定としてではなく一例として、サードパーティウェブインターフェースは、「いいね！」、「チェックイン」、「食べる」、「推奨」、あるいは別の好適なアクションまたはアクティビティなど、選択可能なアイコンを含み得る。サードパーティウェブインターフェースを閲覧しているユーザは、アイコンのうちの１つ（たとえば「チェックイン」）を選択することによってアクションを実施し、クライアントシステム１３０が、ユーザのアクションを指示するメッセージをソーシャルネットワーキングシステム１６０に送ることを引き起こし得る。メッセージに応答して、ソーシャルネットワーキングシステム１６０は、ユーザに対応するユーザノード７０２と、サードパーティウェブインターフェースまたはリソースに対応する概念ノード７０４との間のエッジ（たとえば、チェックインタイプのエッジ）を作成し、１つまたは複数のデータストアにエッジ７０６を記憶し得る。
【０１００】
特定の実施形態では、ソーシャルグラフ７００内のノードのペアが、１つまたは複数のエッジ７０６によって互いに接続され得る。ノードのペアを接続するエッジ７０６は、ノードのペア間の関係を表し得る。特定の実施形態では、エッジ７０６は、ノードのペア間の関係に対応する１つまたは複数のデータオブジェクトまたは属性を含むか、または表し得る。限定としてではなく一例として、第１のユーザは、第２のユーザが第１のユーザの「友達」であることを指示し得る。この指示に応答して、ソーシャルネットワーキングシステム１６０は、「友達要求」を第２のユーザに送り得る。第２のユーザが「友達要求」を承認した場合、ソーシャルネットワーキングシステム１６０は、ソーシャルグラフ７００内で、第１のユーザのユーザノード７０２を第２のユーザのユーザノード７０２に接続するエッジ７０６を作成し、データストア１６４の１つまたは複数にソーシャルグラフ情報としてエッジ７０６を記憶し得る。図７の例では、ソーシャルグラフ７００は、ユーザ「Ａ」のユーザノード７０２とユーザ「Ｂ」のユーザノード７０２との間の友達関係を指示するエッジ７０６と、ユーザ「Ｃ」のユーザノード７０２とユーザ「Ｂ」のユーザノード７０２との間の友達関係を指示するエッジとを含む。本開示は、特定の属性をもつ特定のエッジ７０６が、特定のユーザノード７０２を接続することを説明するかまたは示すが、本開示は、任意の好適な属性をもつ任意の好適なエッジ７０６が、ユーザノード７０２を接続することを企図する。限定としてではなく一例として、エッジ７０６は、友人関係、家族関係、ビジネスまたは雇用関係、（たとえば、いいね！を表明することなどを含む）ファン関係、フォロワー関係、（たとえば、アクセスすること、閲覧すること、チェックインすること、共有することなどを含む）ビジター関係、加入者関係、上下関係、互恵関係、非互恵関係、別の好適なタイプの関係、あるいは２つまたはそれ以上のそのような関係を表し得る。その上、本開示は一般に、ノードを、接続されているものとして説明しているが、本開示は、ユーザまたは概念も、接続されているものとして説明する。本明細書では、接続されているユーザまたは概念への言及は、適切な場合、１つまたは複数のエッジ７０６によってソーシャルグラフ７００内で接続されているそれらのユーザまたは概念に対応するノードを指し得る。
【０１０１】
特定の実施形態では、ユーザノード７０２と概念ノード７０４との間のエッジ７０６は、概念ノード７０４に関連付けられた概念に向かってユーザノード７０２に関連付けられたユーザによって実施された特定のアクションまたはアクティビティを表し得る。限定としてではなく一例として、図７に示されているように、ユーザは、概念に対して「いいね！」を表明する、「通っていた」、「プレイした」、「聴いた」、「料理した」、「勤務した」、または「観た」ことがあり、これらの各々が、エッジのタイプまたはサブタイプに対応し得る。概念ノード７０４に対応する概念プロファイルインターフェースは、たとえば、（たとえば、クリック可能な「チェックイン」アイコンなどの）選択可能な「チェックイン」アイコン、または選択可能な「お気に入りに追加」アイコンを含み得る。同様に、ユーザがこれらのアイコンをクリックした後、ソーシャルネットワーキングシステム１６０は、各々のアクションに対応するユーザのアクションに応答して、「お気に入り」エッジ、または「チェックイン」エッジを作成し得る。限定としてではなく別の例として、ユーザ（ユーザ「Ｃ」）は、特定のアプリケーション（オンラインミュージックアプリケーションであるＳＰＯＴＩＦＹ）を使用して、特定の歌（「イマジン」）を聴き得る。この場合、ソーシャルネットワーキングシステム１６０は、ユーザに対応するユーザノード７０２と、歌およびアプリケーションに対応する概念ノード７０４との間に（図７に示されているような）「聴いた」エッジ７０６および「使用した」エッジを作成し、ユーザが歌を聴き、アプリケーションを使用したことを指示し得る。その上、ソーシャルネットワーキングシステム１６０は、歌に対応する概念ノード７０４と、アプリケーションに対応する概念ノード７０４との間に（図７に示されているような）「プレイした」エッジ７０６を作成し、特定の歌が特定のアプリケーションによってプレイされたことを指示し得る。この場合、「プレイした」エッジ７０６は、外部オーディオファイル（歌「イマジン」）に対して外部アプリケーション（ＳＰＯＴＩＦＹ）によって実施されたアクションに対応する。本開示は、特定の属性をもつ特定のエッジ７０６が、ユーザノード７０２と概念ノード７０４とを接続することを説明するが、本開示は、任意の好適な属性をもつ任意の好適なエッジ７０６が、ユーザノード７０２と概念ノード７０４とを接続することを企図する。その上、本開示は、ユーザノード７０２と概念ノード７０４との間のエッジが、単一の関係を表すことを説明するが、本開示は、ユーザノード７０２と概念ノード７０４との間のエッジが、１つまたは複数の関係を表すことを企図する。限定としてではなく一例として、エッジ７０６は、ユーザが、特定の概念に対して、いいね！を表明することと、特定の概念において使用したことの両方を表し得る。代替的に、別のエッジ７０６は、（図７において、ユーザ「Ｅ」のためのユーザノード７０２と「ＳＰＯＴＩＦＹ」のための概念ノード７０４との間に示されているような）ユーザノード７０２と概念ノード７０４との間の関係（または単一の関係の倍数）の各タイプを表し得る。
【０１０２】
特定の実施形態では、ソーシャルネットワーキングシステム１６０は、ソーシャルグラフ７００内にユーザノード７０２と概念ノード７０４との間にエッジ７０６を作成し得る。限定としてではなく一例として、（たとえば、ウェブブラウザ、またはユーザのクライアントシステム１３０によってホストされる専用アプリケーションを使用することなどによって）概念プロファイルインターフェースを閲覧するユーザは、「いいね！」アイコンをクリックまたは選択することによって、概念ノード７０４によって表される概念に対して自分が、いいね！を表明したことを指示し得、これにより、ユーザのクライアントシステム１３０に、概念プロファイルインターフェースに関連付けられた概念に対してユーザが、いいね！を表明したことを指示するメッセージをソーシャルネットワーキングシステム１６０に送らせ得る。メッセージに応答して、ソーシャルネットワーキングシステム１６０は、ユーザと概念ノード７０４との間の「いいね！」エッジ７０６によって示されているように、ユーザに関連付けられたユーザノード７０２と、概念ノード７０４との間にエッジ７０６を作成し得る。特定の実施形態では、ソーシャルネットワーキングシステム１６０は、１つまたは複数のデータストアにエッジ７０６を記憶し得る。特定の実施形態では、エッジ７０６は、特定のユーザアクションに応答して、ソーシャルネットワーキングシステム１６０によって自動的に形成され得る。限定としてではなく一例として、第１のユーザがピクチャをアップロードするか、映画を観るか、または歌を聴く場合、エッジ７０６は、第１のユーザに対応するユーザノード７０２とそれらの概念に対応する概念ノード７０４との間に形成され得る。本開示は、特定の様式で特定のエッジ７０６を形成することについて説明するが、本開示は、任意の好適な様式で任意の好適なエッジ７０６を形成することを企図する。
【０１０３】
ベクトル空間および埋込み
図８は、ベクトル空間８００の例示的なビューを示す。特定の実施形態では、オブジェクトまたはｎグラムは、ｄ次元ベクトル空間において表され得、ここで、ｄは、任意の好適な数の次元を示す。ベクトル空間８００は３次元空間として示されているが、ベクトル空間８００は任意の好適な次元のものであり得るので、これは説明のためのものにすぎない。特定の実施形態では、ｎグラムは、用語埋込みと呼ばれるベクトルとして、ベクトル空間８００において表され得る。各ベクトルは、ベクトル空間８００における特定の点（すなわち、ベクトルの終点）に対応する座標を含み得る。限定としてではなく一例として、ベクトル８１０、８２０、および８３０は、図８に示されているように、ベクトル空間８００における点として表され得る。ｎグラムは、各々のベクトル表現にマッピングされ得る。限定としてではなく一例として、ｎグラムｔ１およびｔ２が、辞書によって定義された関数
2021522561.tif 000003
を適用することによって、ベクトル空間８００におけるベクトル
2021522561.tif 000004
および
2021522561.tif 000005
に、それぞれマッピングされ得、したがって、
2021522561.tif 000006
および
2021522561.tif 000007
である。限定としてではなく別の例として、テキストをベクトル表現にマッピングするようにトレーニングされた辞書が利用され得るか、または、そのような辞書は、それ自体、トレーニングを介して生成され得る。限定としてではなく別の例として、ｎグラムを、ベクトル空間８００におけるベクトル表現にマッピングするために、Ｗｏｒｄ２ｖｅｃなどのモデルが使用され得る。特定の実施形態では、ｎグラムは、機械学習モデル（たとえば、ニューラルネットワーク）を使用することによって、ベクトル空間８００におけるベクトル表現にマッピングされ得る。機械学習モデルは、トレーニングデータのシーケンス（たとえば、各々がｎグラムを含むオブジェクトのコーパス）を使用してトレーニングされていることがある。
【０１０４】
特定の実施形態では、オブジェクトは、特徴ベクトルまたはオブジェクト埋込みと呼ばれるベクトルとして、ベクトル空間８００において表され得る。限定としてではなく一例として、オブジェクトｅ１およびｅ２が、関数
2021522561.tif 000008
を適用することによって、ベクトル空間８００におけるベクトル
2021522561.tif 000009
および
2021522561.tif 000010
に、それぞれマッピングされ得、したがって、
2021522561.tif 000011
および
2021522561.tif 000012
である。特定の実施形態では、オブジェクトは、オブジェクトの１つまたは複数の特性、属性、または特徴、他のオブジェクトとのオブジェクトの関係、あるいはオブジェクトに関連付けられた任意の他の好適な情報に基づいて、ベクトルにマッピングされ得る。限定としてではなく一例として、関数ｐが、特徴抽出によってオブジェクトをベクトルにマッピングし得、特徴抽出は、測定されたデータの初期セットから開始し、導出される値（たとえば、特徴）を組み立て得る。限定としてではなく一例として、ビデオまたは画像を含むオブジェクトが、オブジェクトの様々な所望の部分または形状を検出または分離するためのアルゴリズムを使用することによって、ベクトルにマッピングされ得る。ベクトルを計算するために使用される特徴が、エッジ検出、コーナー検出、ブロブ検出、リッジ検出、スケール不変特徴変換、エッジ方向、変化する強度、自己相関、動き検出、オプティカルフロー、しきい値処理、ブロブ抽出、テンプレートマッチング、ハフ変換（たとえば、線、円、楕円、任意の形状）から取得された情報、または任意の他の好適な情報に基づき得る。限定としてではなく別の例として、オーディオデータを含むオブジェクトが、スペクトル傾斜、調性係数、オーディオスペクトル重心、オーディオスペクトルエンベロープ、メル周波数ケプストラムなどの特徴、または任意の他の好適な情報に基づいて、ベクトルにマッピングされ得る。特定の実施形態では、オブジェクトが、効率的に処理されるには大きすぎるか、または冗長データを含むかのいずれかであるデータを有するとき、関数
2021522561.tif 000013
が、変換された低減された特徴のセット（たとえば、特徴選択）を使用して、オブジェクトをベクトルにマッピングし得る。特定の実施形態では、関数
2021522561.tif 000014
が、オブジェクトｅに関連付けられた１つまたは複数のｎグラムに基づいて、オブジェクトｅをベクトル
2021522561.tif 000015
にマッピングし得る。本開示は、特定の様式でベクトル空間においてｎグラムまたはオブジェクトを表すことについて説明するが、本開示は、任意の好適な様式でベクトル空間においてｎグラムまたはオブジェクトを表すことを企図する。
【０１０５】
特定の実施形態では、ソーシャルネットワーキングシステム１６０は、ベクトル空間８００におけるベクトルの類似度メトリックを計算し得る。類似度メトリックは、コサイン類似度、ミンコフスキー距離、マハラノビス距離、ジャカード類似度係数、または任意の好適な類似度メトリックであり得る。限定としてではなく一例として、
2021522561.tif 000016
と
2021522561.tif 000017
との類似度メトリックは、コサイン類似度
2021522561.tif 000018
であり得る。限定としてではなく別の例として、
2021522561.tif 000019
と
2021522561.tif 000020
との類似度メトリックは、ユークリッド距離
2021522561.tif 000021
であり得る。２つのベクトルの類似度メトリックは、ベクトル空間８００における２つのベクトル間の距離によって測定されるように、２つのベクトルに対応する２つのオブジェクトまたはｎグラムが、互いにどのくらい類似しているかを、それぞれ表し得る。限定としてではなく一例として、各々のベクトル間の距離に基づいて、ベクトル８１０およびベクトル８２０は、ベクトル８１０およびベクトル８３０に対応するオブジェクトよりも互いに類似しているオブジェクトに対応し得る。本開示は、特定の様式でベクトル間の類似度メトリックを計算することについて説明するが、本開示は、任意の好適な様式でベクトル間の類似度メトリックを計算することを企図する。
【０１０６】
ベクトル空間、埋込み、特徴ベクトル、および類似度メトリックに関するより多くの情報が、その各々が参照により組み込まれる、２０１５年１１月２３日に出願された米国特許出願第１４／９４９４３６号、２０１６年１０月５日に出願された米国特許出願第１５／２８６３１５号、および２０１６年１１月３０日に出願された米国特許出願第１５／３６５７８９号において見つけられ得る。
【０１０７】
人工ニューラルネットワーク
図９は、例示的な人工ニューラルネットワーク（「ＡＮＮ」）９００を示す。特定の実施形態では、ＡＮＮは、１つまたは複数のノードを含む計算モデルを指し得る。例示的なＡＮＮ９００は、入力層９１０と、隠れ層９２０、９３０、９４０と、出力層９５０とを含み得る。ＡＮＮ９００の各層は、ノード９０５またはノード９１５など、１つまたは複数のノードを含み得る。特定の実施形態では、ＡＮＮの各ノードは、ＡＮＮの別のノードに接続され得る。限定としてではなく一例として、入力層９１０の各ノードは、隠れ層９２０のより多くのノードのうちの１つに接続され得る。特定の実施形態では、１つまたは複数のノードは、バイアスノード（たとえば、前の層中のいかなるノードにも接続されず、前の層中のいかなるノードからも入力を受信しない、層中のノード）であり得る。特定の実施形態では、各層中の各ノードは、前のまたは後続の層の１つまたは複数のノードに接続され得る。図９は、特定の数の層、特定の数のノード、およびノード間の特定の接続をもつ特定のＡＮＮを示すが、本開示は、任意の好適な数の層、任意の好適な数のノード、およびノード間の任意の好適な接続をもつ任意の好適なＡＮＮを企図する。限定としてではなく一例として、図９は、入力層９１０の各ノードと隠れ層９２０の各ノードとの間の接続を示すが、入力層９１０の１つまたは複数のノードが、隠れ層９２０の１つまたは複数のノードに接続されないことがある。
【０１０８】
特定の実施形態では、ＡＮＮは、フィードフォワードＡＮＮ（たとえば、入力層から始まり、連続する層に進む一方向において、ノード間の通信が流れる、サイクルまたはループのないＡＮＮ）であり得る。限定としてではなく一例として、隠れ層９２０の各ノードへの入力は、入力層９１０の１つまたは複数のノードの出力を含み得る。限定としてではなく別の例として、出力層９５０の各ノードへの入力は、隠れ層９４０の１つまたは複数のノードの出力を含み得る。特定の実施形態では、ＡＮＮは、深層ニューラルネットワーク（たとえば、少なくとも２つの隠れ層を含むニューラルネットワーク）であり得る。特定の実施形態では、ＡＮＮは、深層残差ネットワークであり得る。深層残差ネットワークは、残差ブロックに編成された隠れ層を含むフィードフォワードＡＮＮであり得る。第１の残差ブロックの後の各残差ブロックへの入力は、前の残差ブロックの出力と前の残差ブロックの入力との関数であり得る。限定としてではなく一例として、残差ブロックＮへの入力は、Ｆ（ｘ）＋ｘであり得、ここで、Ｆ（ｘ）は、残差ブロックＮ−１の出力であり得、ｘは、残差ブロックＮ−１への入力であり得る。本開示は、特定のＡＮＮについて説明するが、本開示は、任意の好適なＡＮＮを企図する。
【０１０９】
特定の実施形態では、活性化関数が、ＡＮＮの各ノードに対応し得る。ノードの活性化関数は、所与の入力に対するノードの出力を定義し得る。特定の実施形態では、ノードへの入力は、入力のセットを含み得る。限定としてではなく一例として、活性化関数は、恒等関数、バイナリステップ関数、ロジスティック関数、または任意の他の好適な関数であり得る。限定としてではなく別の例として、ノードｋについての活性化関数は、シグモイド関数
2021522561.tif 000022
双曲線正接関数
2021522561.tif 000023
整流器（ｒｅｃｔｉｆｉｅｒ）Ｆｋ（ｓｋ）＝ｍａｘ（０，ｓｋ）、または任意の他の好適な関数Ｆｋ（ｓｋ）であり得、ここで、ｓｋは、ノードｋへの有効な入力であり得る。特定の実施形態では、ノードに対応する活性化関数の入力は、重み付けされ得る。各ノードは、重み付けされた入力に基づいて、対応する活性化関数を使用して、出力を生成し得る。特定の実施形態では、ノード間の各接続は、重みに関連付けられ得る。限定としてではなく一例として、ノード９０５とノード９１５との間の接続９２５は、０．４の重み付け係数を有し得、これは、０．４にノード９０５の出力を乗算したものが、ノード９１５への入力として使用されることを指示し得る。限定としてではなく別の例として、ノードｋの出力ｙｋは、ｙｋ＝Ｆｋ（ｓｋ）であり得、ここで、Ｆｋは、ノードｋに対応する活性化関数であり得、ｓｋ＝Σｊ（ｗｊｋｘｊ）は、ノードｋへの有効な入力であり得、ｘｊは、ノードｋに接続されたノードｊの出力であり得、ｗｊｋは、ノードｊとノードｋとの間の重み付け係数であり得る。特定の実施形態では、入力層のノードへの入力は、オブジェクトを表すベクトルに基づき得る。本開示は、ノードへの特定の入力およびノードの特定の出力について説明するが、本開示は、ノードへの任意の好適な入力およびノードの任意の好適な出力を企図する。その上、本開示は、ノード間の特定の接続および重みについて説明し得るが、本開示は、ノード間の任意の好適な接続および重みを企図する。
【０１１０】
特定の実施形態では、ＡＮＮは、トレーニングデータを使用してトレーニングされ得る。限定としてではなく一例として、トレーニングデータは、ＡＮＮ９００への入力と予想される出力とを含み得る。限定としてではなく別の例として、トレーニングデータは、各々がトレーニングオブジェクトを表すベクトルと、各トレーニングオブジェクトについての予想されるラベルとを含み得る。特定の実施形態では、ＡＮＮをトレーニングすることは、目的関数を最適化することによって、ＡＮＮのノード間の接続に関連付けられた重みを修正することを含み得る。限定としてではなく一例として、（たとえば、２乗和誤差を最小限に抑えるコスト関数を使用して）トレーニングオブジェクトを表す各ベクトル間の距離として測定された２乗和誤差をバックプロパゲートするためのトレーニング方法（たとえば、共役勾配法、勾配降下法、確率的勾配降下法）が使用され得る。特定の実施形態では、ＡＮＮは、ドロップアウト技法を使用してトレーニングされ得る。限定としてではなく一例として、１つまたは複数のノードは、トレーニングしている間、一時的に省略され得る（たとえば、入力を受信せず、出力を生成しない）。各トレーニングオブジェクトについて、ＡＮＮの１つまたは複数のノードは、ある程度の省略される確率を有し得る。特定のトレーニングオブジェクトについて省略されるノードは、他のトレーニングオブジェクトについて省略されるノードとは異なり得る（たとえば、ノードは、オブジェクトごとに一時的に省略され得る）。本開示は、特定の様式でＡＮＮをトレーニングすることについて説明するが、本開示は、任意の好適な様式でＡＮＮをトレーニングすることを企図する。
【０１１１】
プライバシー
特定の実施形態では、コンピューティングシステムの１つまたは複数のオブジェクト（たとえば、コンテンツまたは他のタイプのオブジェクト）は、１つまたは複数のプライバシー設定に関連付けられ得る。１つまたは複数のオブジェクトは、たとえば、ソーシャルネットワーキングシステム１６０、クライアントシステム１３０、補助システム１４０、サードパーティシステム１７０、ソーシャルネットワーキングアプリケーション、補助アプリケーション、メッセージングアプリケーション、写真共有アプリケーション、あるいは任意の他の好適なコンピューティングシステムまたはアプリケーションなど、任意の好適なコンピューティングシステムまたはアプリケーションに記憶されるか、または場合によっては関連付けられ得る。本明細書で説明される例はオンラインソーシャルネットワークのコンテキストにおけるものであるが、これらのプライバシー設定は、任意の他の好適なコンピューティングシステムに適用され得る。オブジェクトについてのプライバシー設定（または「アクセス設定」）は、たとえば、オブジェクトに関連して、許可サーバ上のインデックス中で、別の好適な様式で、またはそれらの任意の好適な組合せなど、任意の好適な様式で記憶され得る。オブジェクトについてのプライバシー設定は、オブジェクト（またはオブジェクトに関連付けられた特定の情報）がオンラインソーシャルネットワーク内でどのようにアクセスされ、記憶され、または場合によっては使用され（たとえば、閲覧、共有、修正、コピー、実行、表面化、または識別され）得るかを指定し得る。オブジェクトについてのプライバシー設定が、特定のユーザまたは他のエンティティがそのオブジェクトにアクセスすることを可能にするとき、オブジェクトは、そのユーザまたは他のエンティティに関して「可視」であるものとして説明され得る。限定としてではなく一例として、オンラインソーシャルネットワークのユーザは、ユーザプロファイルページに関する職歴情報にアクセスし得るユーザのセットを識別するユーザプロファイルページについてのプライバシー設定を指定し、したがって、他のユーザがその情報にアクセスすることを除外し得る。
【０１１２】
特定の実施形態では、オブジェクトについてのプライバシー設定は、オブジェクトに関連付けられたある情報にアクセスすることを可能にされるべきでないユーザまたは他のエンティティの「ブロックリスト（ｂｌｏｃｋｅｄ  ｌｉｓｔ）」を指定し得る。特定の実施形態では、ブロックリストは、サードパーティエンティティを含み得る。ブロックリストは、オブジェクトが可視でない１つまたは複数のユーザまたはエンティティを指定し得る。限定としてではなく一例として、ユーザは、ユーザに関連付けられた写真アルバムにアクセスしてはいけないユーザのセットを指定し、したがって、それらのユーザが写真アルバムにアクセスすることを除外し得る（また、場合によってはユーザの指定されたセット内にない何人かのユーザが写真アルバムにアクセスすることを可能にする）。特定の実施形態では、プライバシー設定は、特定のソーシャルグラフ要素に関連付けられ得る。ノードまたはエッジなど、ソーシャルグラフ要素のプライバシー設定は、ソーシャルグラフ要素、ソーシャルグラフ要素に関連付けられた情報、またはソーシャルグラフ要素に関連付けられたオブジェクトが、どのようにオンラインソーシャルネットワークを使用してアクセスされ得るかを指定し得る。限定としてではなく一例として、特定の写真に対応する特定の概念ノード７０４は、写真が、写真においてタグ付けされたユーザと写真においてタグ付けされたユーザの友達とによってのみアクセスされ得ることを指定するプライバシー設定を有し得る。特定の実施形態では、プライバシー設定は、ユーザが、そのユーザのコンテンツ、情報、またはアクションがソーシャルネットワーキングシステム１６０または補助システム１４０によって記憶／ロギングされるか、または他のシステム（たとえば、サードパーティシステム１７０）と共有されることをオプトインまたはオプトアウトすることを可能にし得る。本開示は、特定の様式で特定のプライバシー設定を使用することについて説明するが、本開示は、任意の好適な様式で任意の好適なプライバシー設定を使用することを企図する。
【０１１３】
特定の実施形態では、プライバシー設定は、ソーシャルグラフ７００の１つまたは複数のノードまたはエッジに基づき得る。プライバシー設定は、ソーシャルグラフ７００の１つまたは複数のエッジ７０６またはエッジタイプについて、あるいはソーシャルグラフ７００の１つまたは複数のノード７０２、７０４またはノードタイプに関して指定され得る。２つのノードを接続する特定のエッジ７０６に適用されるプライバシー設定は、ノードに対応する２つのエンティティ間の関係がオンラインソーシャルネットワークの他のユーザに可視であるかどうかを制御し得る。同様に、特定のノードに適用されるプライバシー設定は、ノードに対応するユーザまたは概念がオンラインソーシャルネットワークの他のユーザに可視であるかどうかを制御し得る。限定としてではなく一例として、第１のユーザは、ソーシャルネットワーキングシステム１６０に対してオブジェクトを共有し得る。オブジェクトは、エッジ７０６によって第１のユーザのユーザノード７０２に接続された概念ノード７０４に関連付けられ得る。第１のユーザは、オブジェクトの概念ノード７０４に接続する特定のエッジ７０６に適用されるプライバシー設定を指定し得るか、または概念ノード７０４に接続するすべてのエッジ７０６に適用されるプライバシー設定を指定し得る。限定としてではなく別の例として、第１のユーザは、特定のオブジェクトタイプのオブジェクトのセット（たとえば、画像のセット）を共有し得る。第１のユーザは、特定のプライバシー設定を有するものとして、その特定のオブジェクトタイプの第１のユーザに関連付けられたすべてのオブジェクトに関してプライバシー設定を指定し得る（たとえば、第１のユーザによって投稿されたすべての画像が、第１のユーザの友達、および／または画像においてタグ付けされたユーザのみに可視であることを指定する）。
【０１１４】
特定の実施形態では、ソーシャルネットワーキングシステム１６０は、第１のユーザが１つまたは複数のプライバシー設定を指定するのを補助するために、第１のユーザに（たとえば、ウェブページ、モジュール、１つまたは複数のダイアログボックス、または任意の他の好適なインターフェース内に）「プライバシーウィザード」を提示し得る。プライバシーウィザードは、命令、好適なプライバシー関係情報、現在のプライバシー設定、プライバシー設定の変更または確認を指定する、第１のユーザからの１つまたは複数の入力を受け付けるための１つまたは複数の入力フィールド、あるいはそれらの任意の好適な組合せを表示し得る。特定の実施形態では、ソーシャルネットワーキングシステム１６０は、第１のユーザの現在のプライバシー設定を第１のユーザに表示し得る「ダッシュボード」機能性を第１のユーザに与え得る。ダッシュボード機能性は、任意の適切な時間において（たとえば、ダッシュボード機能性を召喚する第１のユーザからの入力に続いて、特定のイベントまたはトリガアクションの発生に続いて）第１のユーザに表示され得る。ダッシュボード機能性は、第１のユーザが、任意の時間において、任意の好適な様式（たとえば、第１のユーザをプライバシーウィザードにリダイレクトすること）で第１のユーザの現在のプライバシー設定のうちの１つまたは複数を修正することを可能にし得る。
【０１１５】
オブジェクトに関連付けられたプライバシー設定は、許諾されるアクセスまたはアクセスの拒否の任意の好適なグラニュラリティを指定し得る。限定としてではなく一例として、アクセスまたはアクセスの拒否は、特定のユーザ（たとえば、私のみ、私のルームメート、私の上司）、特定の分離の程度内のユーザ（たとえば、友達、友達の友達）、ユーザグループ（たとえば、ゲームクラブ、私の家族）、ユーザネットワーク（たとえば、特定の雇用主の従業員、特定の大学の学生または卒業生）、すべてのユーザ（「公開」）、ユーザなし（「プライベート」）、サードパーティシステム１７０のユーザ、特定のアプリケーション（たとえば、サードパーティアプリケーション、外部ウェブサイト）、他の好適なエンティティ、あるいはそれらの任意の好適な組合せについて指定され得る。本開示は、許諾されるアクセスまたはアクセスの拒否の特定のグラニュラリティについて説明するが、本開示は、許諾されるアクセスまたはアクセスの拒否の任意の好適なグラニュラリティを企図する。
【０１１６】
特定の実施形態では、１つまたは複数のサーバ１６２が、プライバシー設定を施行するための許可／プライバシーサーバであり得る。データストア１６４に記憶された特定のオブジェクトについてのユーザ（または他のエンティティ）からの要求に応答して、ソーシャルネットワーキングシステム１６０は、オブジェクトについての要求をデータストア１６４に送り得る。要求は、要求に関連付けられたユーザを識別し得、オブジェクトは、オブジェクトに関連付けられたプライバシー設定に基づいてユーザがオブジェクトにアクセスすることを許可されると許可サーバが決定した場合、ユーザ（またはユーザのクライアントシステム１３０）にのみ送られ得る。要求元ユーザがオブジェクトにアクセスすることを許可されない場合、許可サーバは、要求されたオブジェクトがデータストア１６４から取り出されることを防ぎ得るか、または要求されたオブジェクトがユーザに送られることを防ぎ得る。検索クエリコンテキストでは、問い合わせているユーザがオブジェクトにアクセスすることを許可された場合のみ、たとえば、オブジェクトについてのプライバシー設定が、オブジェクトが、問い合わせているユーザに対して表面化されること、そのユーザによって発見されること、または場合によってはそのユーザに可視であることを可能にする場合のみ、オブジェクトが検索結果として提供され得る。特定の実施形態では、オブジェクトは、ユーザのニュースフィードを通してユーザに可視であるコンテンツを表し得る。限定としてではなく一例として、１つまたは複数のオブジェクトは、ユーザの「トレンディング」ページに可視であり得る。特定の実施形態では、オブジェクトは、特定のユーザに対応し得る。オブジェクトは、特定のユーザに関連付けられたコンテンツであり得るか、あるいはソーシャルネットワーキングシステム１６０、または他のコンピューティングシステムに記憶された特定のユーザのアカウントまたは情報であり得る。限定としてではなく一例として、第１のユーザは、オンラインソーシャルネットワークの「知り合いかも（Ｐｅｏｐｌｅ  Ｙｏｕ  Ｍａｙ  Ｋｎｏｗ）」機能を通して、または第１のユーザの友達のリストを閲覧することによって、オンラインソーシャルネットワークの１人または複数の第２のユーザを閲覧し得る。限定としてではなく一例として、第１のユーザは、第１のユーザが、第１のユーザのニュースフィードまたは友達リスト中の特定の第２のユーザに関連付けられたオブジェクトを参照することを望まないことを指定し得る。オブジェクトについてのプライバシー設定が、オブジェクトが、ユーザに対して表面化されること、ユーザによって発見されること、またはユーザに可視であることを可能にしない場合、オブジェクトは、検索結果から除外され得る。本開示は、特定の様式でプライバシー設定を施行することについて説明するが、本開示は、任意の好適な様式でプライバシー設定を施行することを企図する。
【０１１７】
特定の実施形態では、ユーザに関連付けられた同じタイプの異なるオブジェクトは、異なるプライバシー設定を有し得る。ユーザに関連付けられた異なるタイプのオブジェクトは、異なるタイプのプライバシー設定を有し得る。限定としてではなく一例として、第１のユーザは、第１のユーザのステータス更新が公開であるが、第１のユーザによって共有される画像がオンラインソーシャルネットワーク上の第１のユーザの友達にのみ可視であることを指定し得る。限定としてではなく別の例として、ユーザは、個人ユーザ、友達の友達、フォロワー、ユーザグループ、または企業エンティティなど、異なるタイプのエンティティについて異なるプライバシー設定を指定し得る。限定としてではなく別の例として、第１のユーザは、第１のユーザによって投稿されたビデオが第１のユーザの雇用主に可視でないようにしながら、それらのビデオを閲覧し得るユーザのグループを指定し得る。特定の実施形態では、異なるユーザグループまたはユーザ層について異なるプライバシー設定が提供され得る。限定としてではなく一例として、第１のユーザは、第１のユーザと同じ大学に通う他のユーザが、第１のユーザのピクチャを閲覧し得ることを指定するが、第１のユーザの家族である他のユーザが、それらの同じピクチャを閲覧し得ないことを指定し得る。
【０１１８】
特定の実施形態では、ソーシャルネットワーキングシステム１６０は、特定のオブジェクトタイプの各オブジェクトについての１つまたは複数のデフォルトプライバシー設定を提供し得る。デフォルト値に設定されたオブジェクトについてのプライバシー設定は、そのオブジェクトに関連付けられたユーザによって変更され得る。限定としてではなく一例として、第１のユーザによって投稿されるすべての画像は、第１のユーザの友達にのみ可視であるというデフォルトプライバシー設定を有し得、特定の画像について、第１のユーザは、画像が友達および友達の友達に可視であるようにプライバシー設定を変更し得る。
【０１１９】
特定の実施形態では、プライバシー設定は、ソーシャルネットワーキングシステム１６０または補助システム１４０が任意の目的のために第１のユーザに関連付けられた特定のオブジェクトまたは情報を受信すること、収集すること、ロギングすること、または記憶することを行い得るかどうかを、第１のユーザが（たとえば、オプトアウトすることによって、オプトインしないことによって）指定することを可能にし得る。特定の実施形態では、プライバシー設定は、特定のアプリケーションまたはプロセスが第１のユーザに関連付けられた特定のオブジェクトまたは情報にアクセスすること、それを記憶すること、または使用することを行い得るかどうかを、第１のユーザが指定することを可能にし得る。プライバシー設定は、固有のアプリケーションまたはプロセスによって、オブジェクトまたは情報がアクセスされること、記憶されること、または使用されることを、第１のユーザがオプトインすることまたはオプトアウトすることを可能にし得る。ソーシャルネットワーキングシステム１６０または補助システム１４０は第１のユーザに特定の機能またはサービスを提供するためにそのような情報にアクセスし、ソーシャルネットワーキングシステム１６０または補助システム１４０は任意の他の目的のためにその情報へのアクセスを有しないことがある。そのようなオブジェクトまたは情報にアクセスするか、それを記憶するか、または使用する前に、ソーシャルネットワーキングシステム１６０または補助システム１４０は、任意のそのようなアクションを可能にする前に、もしあれば、どのアプリケーションまたはプロセスがオブジェクトまたは情報にアクセスするか、それを記憶するか、または使用し得るかを指定するプライバシー設定を提供するようにユーザにプロンプトし得る。限定としてではなく一例として、第１のユーザは、オンラインソーシャルネットワークに関係するアプリケーション（たとえば、メッセージングアプリ）を介して第２のユーザにメッセージを伝送し得、そのようなメッセージがソーシャルネットワーキングシステム１６０または補助システム１４０によって記憶されるべきでないというプライバシー設定を指定し得る。
【０１２０】
特定の実施形態では、ユーザは、第１のユーザに関連付けられたオブジェクトまたは情報の特定のタイプが、ソーシャルネットワーキングシステム１６０または補助システム１４０によってアクセス、記憶、または使用され得るかどうかを指定し得る。限定としてではなく一例として、第１のユーザは、ソーシャルネットワーキングシステム１６０または補助システム１４０を通して第１のユーザによって送られた画像が、ソーシャルネットワーキングシステム１６０または補助システム１４０によって記憶され得ないことを指定し得る。限定としてではなく別の例として、第１のユーザは、第１のユーザから特定の第２のユーザに送られたメッセージが、ソーシャルネットワーキングシステム１６０または補助システム１４０によって記憶され得ないことを指定し得る。限定としてではなくまた別の例として、第１のユーザは、特定のアプリケーションを介して送られたすべてのオブジェクトが、ソーシャルネットワーキングシステム１６０または補助システム１４０によって保存され得ることを指定し得る。
【０１２１】
特定の実施形態では、プライバシー設定は、第１のユーザに関連付けられた特定のオブジェクトまたは情報が特定のクライアントシステム１３０またはサードパーティシステム１７０からアクセスされ得るかどうかを、第１のユーザが指定することを可能にし得る。プライバシー設定は、特定のデバイス（たとえば、ユーザのスマートフォン上の電話帳）から、特定のアプリケーション（たとえば、メッセージングアプリ）から、または特定のシステム（たとえば、電子メールサーバ）からオブジェクトまたは情報がアクセスされることを、第１のユーザがオプトインするかまたはオプトアウトすることを可能にし得る。ソーシャルネットワーキングシステム１６０または補助システム１４０は、各デバイス、システム、またはアプリケーションに関してデフォルトプライバシー設定を提供し得、および／または、第１のユーザは、各コンテキストについての特定のプライバシー設定を指定するようにプロンプトされ得る。限定としてではなく一例として、第１のユーザは、ユーザに近接しているレストランまたは他の場所についての推奨を提供するために、ソーシャルネットワーキングシステム１６０または補助システム１４０のロケーションサービス特徴を利用し得る。第１のユーザのデフォルトプライバシー設定は、ソーシャルネットワーキングシステム１６０または補助システム１４０が、ロケーションベースサービスを提供するために、第１のユーザのクライアントデバイス１３０から提供されたロケーション情報を使用し得ることを指定するが、ソーシャルネットワーキングシステム１６０または補助システム１４０が、第１のユーザのロケーション情報を記憶すること、またはそれを任意のサードパーティシステム１７０に提供することを行い得ないことを指定し得る。第１のユーザは、次いで、写真にジオタグを付けるために、ロケーション情報がサードパーティ画像共有アプリケーションによって使用されることを可能にするように、プライバシー設定を更新し得る。
【０１２２】
特定の実施形態では、プライバシー設定は、オブジェクトがアクセスされ得る１つまたは複数の地理的ロケーションを、ユーザが指定することを可能にし得る。オブジェクトに対するアクセスまたはアクセスの拒否は、オブジェクトにアクセスすることを試みているユーザの地理的ロケーションに依存し得る。限定としてではなく一例として、ユーザは、オブジェクトを共有し、同じ都市におけるユーザのみがオブジェクトにアクセスすること、またはオブジェクトを閲覧することを行い得ることを指定し得る。限定としてではなく別の例として、第１のユーザは、オブジェクトを共有し、第１のユーザが特定のロケーションにいる間のみ、オブジェクトが第２のユーザに可視であることを指定し得る。第１のユーザが特定のロケーションを離れた場合、オブジェクトは第２のユーザにもはや可視でないことがある。限定としてではなく別の例として、第１のユーザは、第１のユーザからしきい値距離内の第２のユーザにのみ、オブジェクトが可視であることを指定し得る。その後、第１のユーザがロケーションを変更した場合、オブジェクトへのアクセスをもつ元の第２のユーザはアクセスを失うことがあるが、第２のユーザの新しいグループが、第１のユーザのしきい値距離内に自身が入るので、アクセスを獲得し得る。
【０１２３】
特定の実施形態では、ソーシャルネットワーキングシステム１６０または補助システム１４０は、ユーザ認証またはエクスペリエンス個人化目的のために、ユーザの個人情報または生体情報を入力として使用し得る機能性を有し得る。ユーザは、オンラインソーシャルネットワーク上のユーザのエクスペリエンスを向上させるためにこれらの機能性を利用することを選び得る。限定としてではなく一例として、ユーザは、ソーシャルネットワーキングシステム１６０または補助システム１４０に個人情報または生体情報を提供し得る。ユーザのプライバシー設定は、そのような情報が認証などの特定のプロセスのためにのみ使用され得ることを指定し、そのような情報が、任意のサードパーティシステム１７０と共有されないか、またはソーシャルネットワーキングシステム１６０または補助システム１４０に関連付けられた他のプロセスまたはアプリケーションのために使用され得ないことをさらに指定し得る。限定としてではなく別の例として、ソーシャルネットワーキングシステム１６０は、ユーザがオンラインソーシャルネットワークにボイスプリント記録を提供するための機能性を提供し得る。限定としてではなく一例として、ユーザが、オンラインソーシャルネットワークのこの機能を利用することを望む場合、ユーザは、オンラインソーシャルネットワーク上でステータス更新を行うために自分自身のボイスのボイス記録を提供し得る。ボイス入力の記録は、どんなワードがユーザによって話されたかを決定するために、ユーザのボイスプリントと比較され得る。ユーザのプライバシー設定は、そのようなボイス記録がボイス入力目的のために（たとえば、ユーザを認証するために、ボイスメッセージを送るために、オンラインソーシャルネットワークのボイス動作式特徴を使用するためにボイス認識を改善するために）のみ使用され得ることを指定し、そのようなボイス記録が、任意のサードパーティシステム１７０と共有されないか、またはソーシャルネットワーキングシステム１６０に関連付けられた他のプロセスまたはアプリケーションによって使用され得ないことをさらに指定し得る。限定としてではなく別の例として、ソーシャルネットワーキングシステム１６０は、ユーザがオンラインソーシャルネットワークに参照画像（たとえば、顔プロファイル、網膜スキャン）を提供するための機能性を提供し得る。オンラインソーシャルネットワークは、（たとえば、ユーザを認証するために、写真においてユーザをタグ付けするために）参照画像を、後で受信された画像入力と比較し得る。ユーザのプライバシー設定は、そのような画像が限られた目的（たとえば、認証、写真においてユーザをタグ付けすること）のためにのみ使用され得ることを指定し、そのような画像が、任意のサードパーティシステム１７０と共有されないか、またはソーシャルネットワーキングシステム１６０に関連付けられた他のプロセスまたはアプリケーションによって使用され得ないことをさらに指定し得る。
【０１２４】
システムおよび方法
図１０は、例示的なコンピュータシステム１０００を示す。特定の実施形態では、１つまたは複数のコンピュータシステム１０００は、本明細書で説明または示される１つまたは複数の方法の１つまたは複数のステップを実施する。特定の実施形態では、１つまたは複数のコンピュータシステム１０００は、本明細書で説明または示される機能性を提供する。特定の実施形態では、１つまたは複数のコンピュータシステム１０００上で稼働しているソフトウェアは、本明細書で説明または示される１つまたは複数の方法の１つまたは複数のステップを実施するか、あるいは本明細書で説明または示される機能性を提供する。特定の実施形態は、１つまたは複数のコンピュータシステム１０００の１つまたは複数の部分を含む。本明細書では、コンピュータシステムへの言及は、適切な場合、コンピューティングデバイスを包含し得、その逆も同様である。その上、コンピュータシステムへの言及は、適切な場合、１つまたは複数のコンピュータシステムを包含し得る。
【０１２５】
本開示は、任意の好適な数のコンピュータシステム１０００を企図する。本開示は、任意の好適な物理的形態をとるコンピュータシステム１０００を企図する。限定としてではなく例として、コンピュータシステム１０００は、組込み型コンピュータシステム、システムオンチップ（ＳＯＣ）、（たとえば、コンピュータオンモジュール（ＣＯＭ）またはシステムオンモジュール（ＳＯＭ）などの）シングルボードコンピュータシステム（ＳＢＣ）、デスクトップコンピュータシステム、ラップトップまたはノートブックコンピュータシステム、対話型キオスク、メインフレーム、コンピュータシステムのメッシュ、携帯電話、携帯情報端末（ＰＤＡ）、サーバ、タブレットコンピュータシステム、あるいはこれらのうちの２つまたはそれ以上の組合せであり得る。適切な場合、コンピュータシステム１０００は、１つまたは複数のコンピュータシステム１０００を含むか、単一または分散型であるか、複数のロケーションにわたるか、複数のマシンにわたるか、複数のデータセンターにわたるか、あるいは１つまたは複数のネットワーク中の１つまたは複数のクラウド構成要素を含み得るクラウド中に常駐し得る。適切な場合、１つまたは複数のコンピュータシステム１０００は、実質的な空間的または時間的制限なしに、本明細書で説明または示される１つまたは複数の方法の１つまたは複数のステップを実施し得る。限定としてではなく一例として、１つまたは複数のコンピュータシステム１０００は、リアルタイムでまたはバッチモードで、本明細書で説明または示される１つまたは複数の方法の１つまたは複数のステップを実施し得る。１つまたは複数のコンピュータシステム１０００は、適切な場合、異なる時間においてまたは異なるロケーションにおいて、本明細書で説明または示される１つまたは複数の方法の１つまたは複数のステップを実施し得る。
【０１２６】
特定の実施形態では、コンピュータシステム１０００は、プロセッサ１００２と、メモリ１００４と、ストレージ１００６と、入出力（Ｉ／Ｏ）インターフェース１００８と、通信インターフェース１０１０と、バス１０１２とを含む。本開示は、特定の構成において特定の数の特定の構成要素を有する特定のコンピュータシステムを説明し、示すが、本開示は、任意の好適な構成において任意の好適な数の任意の好適な構成要素を有する任意の好適なコンピュータシステムを企図する。
【０１２７】
特定の実施形態では、プロセッサ１００２は、コンピュータプログラムを作り上げる命令など、命令を実行するためのハードウェアを含む。限定としてではなく一例として、命令を実行するために、プロセッサ１００２は、内部レジスタ、内部キャッシュ、メモリ１００４、またはストレージ１００６から命令を取り出し（またはフェッチし）、それらの命令を復号および実行し、次いで、内部レジスタ、内部キャッシュ、メモリ１００４、またはストレージ１００６に１つまたは複数の結果を書き込み得る。特定の実施形態では、プロセッサ１００２は、データ、命令、またはアドレスのための１つまたは複数の内部キャッシュを含み得る。本開示は、適切な場合、任意の好適な数の任意の好適な内部キャッシュを含むプロセッサ１００２を企図する。限定としてではなく一例として、プロセッサ１００２は、１つまたは複数の命令キャッシュと、１つまたは複数のデータキャッシュと、１つまたは複数のトランスレーションルックアサイドバッファ（ＴＬＢ）とを含み得る。命令キャッシュ中の命令は、メモリ１００４またはストレージ１００６中の命令のコピーであり得、命令キャッシュは、プロセッサ１００２によるそれらの命令の取出しを高速化し得る。データキャッシュ中のデータは、プロセッサ１００２において実行する命令が動作する対象のメモリ１００４またはストレージ１００６中のデータのコピー、プロセッサ１００２において実行する後続の命令によるアクセスのための、またはメモリ１００４もしくはストレージ１００６に書き込むための、プロセッサ１００２において実行された前の命令の結果、あるいは他の好適なデータであり得る。データキャッシュは、プロセッサ１００２による読取りまたは書込み動作を高速化し得る。ＴＬＢは、プロセッサ１００２のための仮想アドレストランスレーション（ｖｉｒｔｕａｌ−ａｄｄｒｅｓｓ  ｔｒａｎｓｌａｔｉｏｎ）を高速化し得る。特定の実施形態では、プロセッサ１００２は、データ、命令、またはアドレスのための１つまたは複数の内部レジスタを含み得る。本開示は、適切な場合、任意の好適な数の任意の好適な内部レジスタを含むプロセッサ１００２を企図する。適切な場合、プロセッサ１００２は、１つまたは複数の算術論理ユニット（ＡＬＵ）を含むか、マルチコアプロセッサであるか、または１つまたは複数のプロセッサ１００２を含み得る。本開示は、特定のプロセッサを説明し、示すが、本開示は任意の好適なプロセッサを企図する。
【０１２８】
特定の実施形態では、メモリ１００４は、プロセッサ１００２が実行するための命令、またはプロセッサ１００２が動作する対象のデータを記憶するためのメインメモリを含む。限定としてではなく一例として、コンピュータシステム１０００は、ストレージ１００６または（たとえば、別のコンピュータシステム１０００などの）別のソースからメモリ１００４に命令をロードし得る。プロセッサ１００２は、次いで、メモリ１００４から内部レジスタまたは内部キャッシュに命令をロードし得る。命令を実行するために、プロセッサ１００２は、内部レジスタまたは内部キャッシュから命令を取り出し、それらの命令を復号し得る。命令の実行中またはその後に、プロセッサ１００２は、（中間結果または最終結果であり得る）１つまたは複数の結果を内部レジスタまたは内部キャッシュに書き込み得る。プロセッサ１００２は、次いで、メモリ１００４にそれらの結果のうちの１つまたは複数を書き込み得る。特定の実施形態では、プロセッサ１００２は、１つまたは複数の内部レジスタまたは内部キャッシュ中の、あるいは（ストレージ１００６または他の場所とは対照的な）メモリ１００４中の命令のみを実行し、１つまたは複数の内部レジスタまたは内部キャッシュ中の、あるいは（ストレージ１００６または他の場所とは対照的な）メモリ１００４中のデータのみに対して動作する。（アドレスバスおよびデータバスを各々含み得る）１つまたは複数のメモリバスが、プロセッサ１００２をメモリ１００４に結合し得る。バス１０１２は、以下で説明されるように、１つまたは複数のメモリバスを含み得る。特定の実施形態では、１つまたは複数のメモリ管理ユニット（ＭＭＵ）が、プロセッサ１００２とメモリ１００４との間に常駐し、プロセッサ１００２によって要求されるメモリ１００４へのアクセスを可能にする。特定の実施形態では、メモリ１００４は、ランダムアクセスメモリ（ＲＡＭ）を含む。このＲＡＭは、適切な場合、揮発性メモリであり得る。適切な場合、このＲＡＭは、ダイナミックＲＡＭ（ＤＲＡＭ）またはスタティックＲＡＭ（ＳＲＡＭ）であり得る。その上、適切な場合、このＲＡＭは、シングルポートまたはマルチポートＲＡＭであり得る。本開示は任意の好適なＲＡＭを企図する。メモリ１００４は、適切な場合、１つまたは複数のメモリ１００４を含み得る。本開示は、特定のメモリを説明し、示すが、本開示は任意の好適なメモリを企図する。
【０１２９】
特定の実施形態では、ストレージ１００６は、データまたは命令のための大容量ストレージを含む。限定としてではなく一例として、ストレージ１００６は、ハードディスクドライブ（ＨＤＤ）、フロッピーディスクドライブ、フラッシュメモリ、光ディスク、光磁気ディスク、磁気テープ、またはユニバーサルシリアルバス（ＵＳＢ）ドライブ、あるいはこれらのうちの２つまたはそれ以上の組合せを含み得る。ストレージ１００６は、適切な場合、リムーバブルまたは非リムーバブル（または固定）媒体を含み得る。ストレージ１００６は、適切な場合、コンピュータシステム１０００の内部または外部にあり得る。特定の実施形態では、ストレージ１００６は、不揮発性ソリッドステートメモリである。特定の実施形態では、ストレージ１００６は、読取り専用メモリ（ＲＯＭ）を含む。適切な場合、このＲＯＭは、マスクプログラムＲＯＭ、プログラマブルＲＯＭ（ＰＲＯＭ）、消去可能ＰＲＯＭ（ＥＰＲＯＭ）、電気的消去可能ＰＲＯＭ（ＥＥＰＲＯＭ）、電気的書き換え可能ＲＯＭ（ＥＡＲＯＭ）、またはフラッシュメモリ、あるいはこれらのうちの２つまたはそれ以上の組合せであり得る。本開示は、任意の好適な物理的形態をとる大容量ストレージ１００６を企図する。ストレージ１００６は、適切な場合、プロセッサ１００２とストレージ１００６との間の通信を可能にする１つまたは複数のストレージ制御ユニットを含み得る。適切な場合、ストレージ１００６は、１つまたは複数のストレージ１００６を含み得る。本開示は、特定のストレージを説明し、示すが、本開示は任意の好適なストレージを企図する。
【０１３０】
特定の実施形態では、Ｉ／Ｏインターフェース１００８は、コンピュータシステム１０００と１つまたは複数のＩ／Ｏデバイスとの間の通信のための１つまたは複数のインターフェースを提供する、ハードウェア、ソフトウェア、またはその両方を含む。コンピュータシステム１０００は、適切な場合、これらのＩ／Ｏデバイスのうちの１つまたは複数を含み得る。これらのＩ／Ｏデバイスのうちの１つまたは複数は、人とコンピュータシステム１０００との間の通信を可能にし得る。限定としてではなく一例として、Ｉ／Ｏデバイスは、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカー、スチールカメラ、スタイラス、タブレット、タッチスクリーン、トラックボール、ビデオカメラ、別の好適なＩ／Ｏデバイス、またはこれらのうちの２つまたはそれ以上の組合せを含み得る。Ｉ／Ｏデバイスは１つまたは複数のセンサーを含み得る。本開示は、任意の好適なＩ／Ｏデバイスと、それらのＩ／Ｏデバイスのための任意の好適なＩ／Ｏインターフェース１００８とを企図する。適切な場合、Ｉ／Ｏインターフェース１００８は、プロセッサ１００２がこれらのＩ／Ｏデバイスのうちの１つまたは複数を駆動することを可能にする１つまたは複数のデバイスまたはソフトウェアドライバを含み得る。Ｉ／Ｏインターフェース１００８は、適切な場合、１つまたは複数のＩ／Ｏインターフェース１００８を含み得る。本開示は、特定のＩ／Ｏインターフェースを説明し、示すが、本開示は任意の好適なＩ／Ｏインターフェースを企図する。
【０１３１】
特定の実施形態では、通信インターフェース１０１０は、コンピュータシステム１０００と、１つまたは複数の他のコンピュータシステム１０００または１つまたは複数のネットワークとの間の（たとえば、パケットベース通信などの）通信のための１つまたは複数のインターフェースを提供する、ハードウェア、ソフトウェア、またはその両方を含む。限定としてではなく一例として、通信インターフェース１０１０は、イーサネットまたは他のワイヤベースネットワークと通信するためのネットワークインターフェースコントローラ（ＮＩＣ）またはネットワークアダプタ、あるいはＷＩ−ＦＩネットワークなどのワイヤレスネットワークと通信するためのワイヤレスＮＩＣ（ＷＮＩＣ）またはワイヤレスアダプタを含み得る。本開示は、任意の好適なネットワークと、そのネットワークのための任意の好適な通信インターフェース１０１０とを企図する。限定としてではなく一例として、コンピュータシステム１０００は、アドホックネットワーク、パーソナルエリアネットワーク（ＰＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、またはインターネットの１つまたは複数の部分、あるいはこれらのうちの２つまたはそれ以上の組合せと通信し得る。これらのネットワークのうちの１つまたは複数の１つまたは複数の部分は、ワイヤードまたはワイヤレスであり得る。一例として、コンピュータシステム１０００は、（たとえば、ＢＬＵＥＴＯＯＴＨ  ＷＰＡＮなどの）ワイヤレスＰＡＮ（ＷＰＡＮ）、ＷＩ−ＦＩネットワーク、ＷＩ−ＭＡＸネットワーク、（たとえば、モバイル通信用グローバルシステム（ＧＳＭ）ネットワークなどの）セルラー電話ネットワーク、または他の好適なワイヤレスネットワーク、あるいはこれらのうちの２つまたはそれ以上の組合せと通信し得る。コンピュータシステム１０００は、適切な場合、これらのネットワークのいずれかのための任意の好適な通信インターフェース１０１０を含み得る。通信インターフェース１０１０は、適切な場合、１つまたは複数の通信インターフェース１０１０を含み得る。本開示は、特定の通信インターフェースを説明し、示すが、本開示は任意の好適な通信インターフェースを企図する。
【０１３２】
特定の実施形態では、バス１０１２は、コンピュータシステム１０００の構成要素を互いに結合する、ハードウェア、ソフトウェア、またはその両方を含む。限定としてではなく一例として、バス１０１２は、アクセラレーテッドグラフィックスポート（ＡＧＰ）または他のグラフィックスバス、拡張業界標準アーキテクチャ（ＥＩＳＡ）バス、フロントサイドバス（ＦＳＢ）、ＨＹＰＥＲＴＲＡＮＳＰＯＲＴ（ＨＴ）相互接続、業界標準アーキテクチャ（ＩＳＡ）バス、ＩＮＦＩＮＩＢＡＮＤ相互接続、ローピンカウント（ＬＰＣ）バス、メモリバス、マイクロチャネルアーキテクチャ（ＭＣＡ）バス、周辺構成要素相互接続（ＰＣＩ）バス、ＰＣＩ−Ｅｘｐｒｅｓｓ（ＰＣＩｅ）バス、シリアルアドバンストテクノロジーアタッチメント（ＳＡＴＡ）バス、ビデオエレクトロニクス規格協会ローカル（ＶＬＢ）バス、または別の好適なバス、あるいはこれらのうちの２つまたはそれ以上の組合せを含み得る。バス１０１２は、適切な場合、１つまたは複数のバス１０１２を含み得る。本開示は、特定のバスを説明し、示すが、本開示は任意の好適なバスまたは相互接続を企図する。
【０１３３】
本明細書では、１つまたは複数のコンピュータ可読非一時的記憶媒体は、適切な場合、（たとえば、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）または特定用途向けＩＣ（ＡＳＩＣ）などの）１つまたは複数の半導体ベースまたは他の集積回路（ＩＣ）、ハードディスクドライブ（ＨＤＤ）、ハイブリッドハードドライブ（ＨＨＤ）、光ディスク、光ディスクドライブ（ＯＤＤ）、光磁気ディスク、光磁気ドライブ、フロッピーディスケット、フロッピーディスクドライブ（ＦＤＤ）、磁気テープ、ソリッドステートドライブ（ＳＳＤ）、ＲＡＭドライブ、セキュアデジタルカードまたはドライブ、任意の他の好適なコンピュータ可読非一時的記憶媒体、あるいはこれらのうちの２つまたはそれ以上の任意の好適な組合せを含み得る。コンピュータ可読非一時的記憶媒体は、適切な場合、揮発性、不揮発性、または揮発性と不揮発性との組合せであり得る。
【０１３４】
その他
本明細書では、「または」は、明確に別段に指示されていない限り、またはコンテキストによって別段に指示されていない限り、包括的であり、排他的ではない。したがって、本明細書では、「ＡまたはＢ」は、明確に別段に指示されていない限り、またはコンテキストによって別段に指示されていない限り、「Ａ、Ｂ、またはその両方」を意味する。その上、「および」は、明確に別段に指示されていない限り、またはコンテキストによって別段に指示されていない限り、共同と個別の両方である。したがって、本明細書では、「ＡおよびＢ」は、明確に別段に指示されていない限り、またはコンテキストによって別段に指示されていない限り、「共同でまたは個別に、ＡおよびＢ」を意味する。
【０１３５】
本開示の範囲は、当業者が理解するであろう、本明細書で説明または示される例示的な実施形態に対するすべての変更、置換、変形、改変、および修正を包含する。本開示の範囲は、本明細書で説明または示される例示的な実施形態に限定されない。その上、本開示は、本明細書の各々の実施形態を、特定の構成要素、要素、特徴、機能、動作、またはステップを含むものとして説明し、示すが、これらの実施形態のいずれも、当業者が理解するであろう、本明細書のどこかに説明または示される構成要素、要素、特徴、機能、動作、またはステップのうちのいずれかの任意の組合せまたは置換を含み得る。さらに、特定の機能を実施するように適応されるか、構成されるか、実施することが可能であるか、実施するように設定されるか、実施することが可能にされるか、実施するように動作可能であるか、または実施するように動作する、装置またはシステムあるいは装置またはシステムの構成要素に対する添付の特許請求の範囲における参照は、その装置、システム、または構成要素が、そのように適応されるか、構成されるか、可能であるか、設定されるか、可能にされるか、動作可能であるか、または動作する限り、その装置、システム、構成要素またはその特定の機能が、アクティブにされるか、オンにされるか、またはロック解除されるか否かにかかわらず、その装置、システム、構成要素を包含する。さらに、本開示は、特定の実施形態を、特定の利点を提供するものとして説明するかまたは示すが、特定の実施形態は、これらの利点のいずれをも提供しないか、いくつかを提供するか、またはすべてを提供し得る。
【図１】
2021522561.tif 000024
【図２】
2021522561.tif 000025
【図３】
2021522561.tif 000026
【図４】
2021522561.tif 000027
【図５】
2021522561.tif 000028
【図６】
2021522561.tif 000029
【図７】
2021522561.tif 000030
【図８】
2021522561.tif 000031
【図９】
2021522561.tif 000032
【図１０】
2021522561.tif 000033
【国際調査報告】
2021522561.tif 000034
2021522561.tif 000035