(57)【要約】ユーザのコンピューティングデバイスを介してユーザによって形成された電子的コミュニケーションに含めるためのグラフィカル要素（例えば、絵文字、ＧＩＦ、ステッカー）を決定し、電子的コミュニケーションに含めるためのグラフィカル要素を提供することに関連する方法、装置、およびコンピュータ可読媒体。例えば、グラフィカル要素は、ユーザのコンピューティングデバイスのディスプレイを介してユーザに提示するために提供されてもよく、グラフィカル要素のうちの１つに向けられたユーザインタフェース入力に応答して、そのグラフィカル要素が、電子的コミュニケーションに組み込まれ得る。様々な実装形態では、電子的コミュニケーションは、ユーザと１または複数の追加のユーザとを含む対話の一部として提示されるべきコミュニケーションである。
2019537110.tif 000002
【特許請求の範囲】
【請求項１】
１つまたは複数のプロセッサによって実施される方法であって、
ユーザと１または複数の追加のユーザとを含む対話の一部として提示された電子的コミュニケーションを受信することであって、前記電子的コミュニケーションは、追加のユーザの追加のユーザコンピューティングデバイスの１つまたは複数のユーザインタフェース入力デバイスを介して、前記１または複数の追加のユーザのうちの追加のユーザによって生成されたユーザインタフェース入力に基づくものである、前記受信すること、
前記電子的コミュニケーションの少なくとも１つのコミュニケーション特徴を決定すること、
前記対話の一部として提示されるべき、前記ユーザの後続の電子的コミュニケーションに含めるための１つまたは複数のグラフィカル要素のグループを決定することであって、前記グラフィカル要素のグループを決定することは、
前記後続の電子的コミュニケーションのために前記ユーザによって提供される任意のテキスト入力の前に、
候補グラフィカル要素から、前記グループに含める少なくとも１つのグラフィカル要素を選択すること
を含み、前記グラフィカル要素を選択することは、前記電子的コミュニケーションの前記少なくとも１つのコミュニケーション特徴に基づいている、前記グラフィカル要素のグループを決定すること、
前記後続の電子的コミュニケーションのために前記ユーザによって提供される任意のテキスト入力の前に、
前記後続の電子的コミュニケーションに含める候補として、前記グラフィカル要素のグループを提供することであって、前記グラフィカル要素のグループは、前記ユーザのユーザコンピューティングデバイスのディスプレイを介して提示するために提供されている、前記提供すること
を含む方法。
【請求項２】
前記電子的コミュニケーションの提示と組み合わせて前記ディスプレイを介して前記ユーザにグラフィカルに提示されるユーザインタフェース要素とのユーザインタフェースインタラクションを識別すること
をさらに含み、前記グラフィカル要素のグループを提供することは、前記ユーザインタフェース要素とのユーザインタフェースインタラクションを識別することに応答して行われるものである、請求項１に記載の方法。
【請求項３】
前記少なくとも１つのコミュニケーション特徴は、前記電子的コミュニケーションの複数の用語のうちの１つまたは複数に基づくものである、請求項１または２に記載の方法。
【請求項４】
前記少なくとも１つのコミュニケーション特徴は、前記電子的コミュニケーションの用語に加えて、１つまたは複数の信号に少なくとも部分的に基づく少なくとも１つの非テキスト特徴をさらに含む、請求項３に記載の方法。
【請求項５】
前記対話の追加の電子的コミュニケーションの少なくとも１つの追加のコミュニケーション特徴を決定すること
をさらに含み、前記グラフィカル要素を選択することは、さらに前記少なくとも１つの追加のコミュニケーション特徴に基づいている、請求項１乃至４のいずれか一項に記載の方法。
【請求項６】
前記ユーザまたは前記追加のユーザの少なくとも１つの動的ユーザ状態の現在の状態を示す少なくとも１つの現在状態特徴を決定すること
をさらに含み、前記グラフィカル要素を選択することは、さらに前記現在状態特徴に基づいている、請求項１乃至５のいずれか一項に記載の方法。
【請求項７】
前記動的ユーザ状態は、物理的位置または感情を含む、請求項６に記載の方法。
【請求項８】
前記グラフィカル要素の過去の使用特徴を識別すること
をさらに含み、前記過去の使用特徴は、前記グラフィカル要素と１つまたは複数のグラフィカル要素特徴を共有する追加のグラフィカル要素の前記ユーザによる過去の使用に少なくとも部分的に基づくものであり、
前記グラフィカル要素を選択することは、さらに前記過去の使用特徴に基づいている、請求項１乃至７のいずれか一項に記載の方法。
【請求項９】
前記少なくとも１つのコミュニケーション特徴に基づいて前記グラフィカル要素を選択することは、
前記少なくとも１つのコミュニケーション特徴に基づいてグラフィカル要素特徴を決定することであって、前記グラフィカル要素特徴は前記グラフィカル要素に割り当てられ、複数の追加のグラフィカル要素に割り当てられている、前記決定すること、
前記追加のグラフィカル要素の選択されていない１つまたは複数よりも、前記ユーザによるより高い過去の使用度に関連するグラフィカル要素に基づいて、前記追加のグラフィカル要素のうちの１つまたは複数の代わりに前記グループに含めるグラフィカル要素を選択すること
を含む、請求項１乃至８のいずれか一項に記載の方法。
【請求項１０】
前記グラフィカル要素は、グラフィカル要素の統合されたパックに含まれ、前記グラフィカル要素の過去の使用は、前記統合されたパックのグラフィカル要素の、前記ユーザによる過去の使用に基づくものである、請求項９に記載の方法。
【請求項１１】
前記少なくとも１つのコミュニケーション特徴に基づいて前記グラフィカル要素を選択することは、
１つまたは複数のコンピュータ可読媒体に格納されているトレーニングされた機械学習モデルに入力を適用することであって、前記入力は、前記少なくとも１つのコミュニケーション特徴を含む、前記適用すること、
前記モデルを通じて、および前記入力に基づいて、１つまたは複数のグラフィカル要素特徴を示す出力を生成すること、
前記グラフィカル要素に割り当てられているグラフィカル要素特徴に基づいて前記グラフィカル要素を選択すること
を含む、請求項１乃至１０のいずれか一項に記載の方法。
【請求項１２】
１つまたは複数のグラフィカル要素特徴を示す前記出力は、１つまたは複数の用語を含み、前記グラフィカル要素に割り当てられているグラフィカル要素特徴に基づいて前記グラフィカル要素を選択することは、前記グラフィカル要素を、それが前記１つまたは複数の用語のうちの少なくとも１つによってインデックス付けされていることに基づいて、選択することを含む、請求項１１に記載の方法。
【請求項１３】
過去のユーザ対話から導出された複数のトレーニング例に基づいて、前記トレーニングされた機械学習モデルを生成すること
をさらに含み、前記トレーニング例の各々は、
対応するオリジナル電子的コミュニケーションのコミュニケーション特徴に基づくトレーニング例入力と
前記対応するオリジナル電子的コミュニケーションへの返信である、対応する返信電子的コミュニケーションのテキストに基づくトレーニング例出力と
を含み、
前記トレーニングされた機械学習モデルを生成することは、前記トレーニング例の前記トレーニング例入力の適用、および前記トレーニング例の前記トレーニング例出力に基づいた逆伝搬に基づいて、前記トレーニングされた機械学習モデルをトレーニングすることを含む、請求項１１または１２に記載の方法。
【請求項１４】
過去のユーザ対話から導出された複数のトレーニング例に基づいて、前記トレーニングされた機械学習モデルを生成すること
をさらに含み、前記トレーニング例の各々は、
対応するオリジナル電子的コミュニケーションのコミュニケーション特徴に基づくトレーニング例入力と
前記対応するオリジナル電子的コミュニケーションへの返信である、対応する返信電子的コミュニケーションのグラフィカル要素特徴に基づくトレーニング例出力と
を含み、
前記トレーニングされた機械学習モデルを生成することは、前記トレーニング例の前記トレーニング例入力の適用、および前記トレーニング例の前記トレーニング例出力に基づいた逆伝搬に基づいて、前記トレーニングされた機械学習モデルをトレーニングすることを含む、請求項１１乃至１３のいずれか一項に記載の方法。
【請求項１５】
前記コミュニケーション特徴は、１つまたは複数の用語を含み、前記少なくとも１つのコミュニケーション特徴に基づいて前記グラフィカル要素を選択することは、
前記グラフィカル要素を、それが前記１つまたは複数の用語のうちの少なくとも１つによってインデックス付けされていることに基づいて、選択すること
を含む、請求項１乃至１４のいずれか一項に記載の方法。
【請求項１６】
前記後続の電子的コミュニケーションに含める候補としてグラフィカル要素の前記グループを提供した後に、
前記後続の電子的コミュニケーションのために前記ユーザによって提供されたテキスト入力を受信することであって、前記テキスト入力は、前記ユーザコンピューティングデバイスの１つまたは複数のユーザインタフェース入力デバイスを介して前記ユーザによって生成されたユーザインタフェース入力に基づくものである、前記受信すること、
前記テキスト入力に基づいて、および前記少なくとも１つのコミュニケーション特徴に基づいて、グラフィカル要素の修正されたグループを決定すること、
前記テキスト入力と組み合わせて、前記後続の電子的コミュニケーションに含める候補としてグラフィカル要素の前記修正されたグループを提供すること
をさらに含む、請求項１乃至１５のいずれか一項に記載の方法。
【請求項１７】
１つまたは複数のプロセッサによって実施される方法であって、
ユーザと１または複数の追加のユーザとを含む対話の一部として提示された電子的コミュニケーションを受信することであって、前記電子的コミュニケーションは、追加のユーザの追加のユーザコンピューティングデバイスの１つまたは複数のユーザインタフェース入力デバイスを介して、前記１または複数の追加のユーザのうちの追加のユーザによって生成されたユーザインタフェース入力に基づくものである、前記受信すること、
前記電子的コミュニケーションの少なくとも１つのコミュニケーション特徴を決定すること、
前記対話の一部として提示されるべき、前記ユーザの、後続の電子的コミュニケーションのために前記ユーザによって提供されたテキスト入力を受信すること、
前記後続の電子的コミュニケーションに含めるための１つまたは複数のグラフィカル要素のグループを決定することであって、前記グラフィカル要素のグループを決定することは、
候補グラフィカル要素から、前記グループに含める少なくとも１つのグラフィカル要素を選択すること
を含み、前記グラフィカル要素を選択することは、前記テキスト入力に基づいており、かつ、前記少なくとも１つのコミュニケーション特徴に基づいている、前記グラフィカル要素のグループを決定すること、
前記後続の電子的コミュニケーションに含める候補として、前記グラフィカル要素のグループを提供することであって、前記グラフィカル要素のグループは、前記ユーザのユーザコンピューティングデバイスのディスプレイを介して提示するために提供されている、前記提供すること
を含む方法。
【請求項１８】
前記グラフィカル要素のグループを提供することは、前記テキスト入力を受信することに応答して行われ、グラフィカル要素の提供を明示的に要求するさらなるユーザインタフェース入力なしに発生する、請求項１７に記載の方法。
【請求項１９】
前記コミュニケーション特徴は、１つまたは複数の用語を含み、前記少なくとも１つのコミュニケーション特徴に基づいて前記グラフィカル要素を選択することは、
前記グラフィカル要素を、それが前記１つまたは複数の用語のうちの少なくとも１つによってインデックス付けされていることに基づいて、選択すること
を含む、請求項１７または１８に記載の方法。
【請求項２０】
前記ユーザまたは前記追加のユーザの少なくとも１つの動的ユーザ状態の現在の状態を示す少なくとも１つの現在状態特徴を決定すること
をさらに含み、前記グラフィカル要素を選択することは、さらに前記現在状態特徴に基づいている、請求項１７乃至１９のいずれか一項に記載の方法。
【請求項２１】
１つまたは複数のプロセッサによって実施される方法であって、
対話の一部としてユーザによって提示されるべき電子的コミュニケーションに含めるために前記ユーザによって提供されたコンテンツを受信することであって、前記コンテンツは、前記ユーザのコンピューティングデバイスの１つまたは複数のユーザインタフェース入力デバイスを介して前記ユーザによって生成されたユーザインタフェース入力に基づくものである、前記受信すること、
前記コンテンツの少なくとも１つの特徴を決定すること、
前記電子的コミュニケーションに含めるための１つまたは複数のグラフィカル要素のグループを決定することであって、前記グラフィカル要素のグループを決定することは、
候補グラフィカル要素から、前記グループに含める少なくとも１つのグラフィカル要素を選択すること
を含み、前記グラフィカル要素を選択することは、前記グラフィカル要素に割り当てられた少なくとも１つのグラフィカル要素特徴と一致する前記コンテンツの特徴に基づいている、前記グラフィカル要素のグループを決定すること、
前記電子的コミュニケーションに含める候補として、前記グラフィカル要素のグループを提供することであって、前記グラフィカル要素のグループは、前記ユーザのユーザコンピューティングデバイスのディスプレイを介して提示するために提供されている、前記提供すること
を含む方法。
【請求項２２】
システムであって、
命令を格納しているメモリと、
前記メモリに格納された命令を実行するように動作可能な１つまたは複数のプロセッサであって、前記命令を実行して、
ユーザと１または複数の追加のユーザとを含む対話の一部として提示された電子的コミュニケーションを受信することであって、前記電子的コミュニケーションは、追加のユーザの追加のユーザコンピューティングデバイスの１つまたは複数のユーザインタフェース入力デバイスを介して、前記１または複数の追加のユーザのうちの追加のユーザによって生成されたユーザインタフェース入力に基づくものである、前記受信すること、
前記電子的コミュニケーションの少なくとも１つのコミュニケーション特徴を決定すること、
前記対話の一部として提示されるべき、前記ユーザの、後続の電子的コミュニケーションのために前記ユーザによって提供されたテキスト入力を受信すること、
前記後続の電子的コミュニケーションに含めるための１つまたは複数のグラフィカル要素のグループを決定することであって、前記グラフィカル要素のグループを決定する際に、前記プロセッサのうちの１つまたは複数は、
候補グラフィカル要素から、前記グループに含める少なくとも１つのグラフィカル要素を選択する
ように動作し、前記グラフィカル要素を選択することは、前記テキスト入力に基づいており、かつ、前記少なくとも１つのコミュニケーション特徴に基づいている、前記グラフィカル要素のグループを決定すること、
前記後続の電子的コミュニケーションに含める候補として、前記グラフィカル要素のグループを提供することであって、前記グラフィカル要素のグループは、前記ユーザのユーザコンピューティングデバイスのディスプレイを介して提示するために提供されている、前記提供すること
を行うように動作可能な前記１つまたは複数のプロセッサと
を備えるシステム。
【請求項２３】
命令を含む１つまたは複数の非一時的コンピュータ可読媒体であって、前記命令は、１つまたは複数のプロセッサによる前記命令の実行に応答して、前記１つまたは複数のプロセッサに動作を行わせ、前記動作は、
ユーザと１または複数の追加のユーザとを含む対話の一部として提示された電子的コミュニケーションを受信することであって、前記電子的コミュニケーションは、追加のユーザの追加のユーザコンピューティングデバイスの１つまたは複数のユーザインタフェース入力デバイスを介して、前記１または複数の追加のユーザのうちの追加のユーザによって生成されたユーザインタフェース入力に基づくものである、前記受信すること、
前記電子的コミュニケーションの少なくとも１つのコミュニケーション特徴を決定すること、
前記対話の一部として提示されるべき、前記ユーザの、後続の電子的コミュニケーションのために前記ユーザによって提供されたテキスト入力を受信すること、
前記後続の電子的コミュニケーションに含めるための１つまたは複数のグラフィカル要素のグループを決定することであって、前記グラフィカル要素のグループを決定する際に、前記プロセッサのうちの１つまたは複数は、
候補グラフィカル要素から、前記グループに含める少なくとも１つのグラフィカル要素を選択する
ように動作し、前記グラフィカル要素を選択することは、前記テキスト入力に基づいており、かつ、前記少なくとも１つのコミュニケーション特徴に基づいている、前記グラフィカル要素のグループを決定すること、
前記後続の電子的コミュニケーションに含める候補として、前記グラフィカル要素のグループを提供することであって、前記グラフィカル要素のグループは、前記ユーザのユーザコンピューティングデバイスのディスプレイを介して提示するために提供されている、前記提供すること
を含む、非一時的コンピュータ可読媒体。
【請求項２４】
クライアントデバイスであって、
ディスプレイと、
１つまたは複数のユーザインタフェース入力デバイスと、
１つまたは複数のネットワークインタフェースと、
命令を格納しているメモリと、
前記メモリに格納された命令を実行するように動作可能な１つまたは複数のプロセッサであって、前記命令を実行して、
１つまたは複数のネットワークを介して前記ネットワークインタフェースのうちの１つまたは複数によって送信される電子的コミュニケーションに含めるために提供されるコンテンツを受信することであって、前記コンテンツは、前記ユーザインタフェース入力デバイスのうちの１つまたは複数を介して生成されたユーザインタフェース入力に基づくものである、前記受信すること、
前記コンテンツの少なくとも１つの特徴を決定すること、
前記クライアントデバイスのメモリまたは他のコンピュータ可読媒体から前記電子的コミュニケーションに含めるための１つまたは複数のグラフィカル要素のグループを決定することであって、前記グラフィカル要素のグループを決定する際に、前記プロセッサのうちの１つまたは複数は、
候補グラフィカル要素から、前記グループに含める少なくとも１つのグラフィカル要素を選択する
ように動作し、前記グラフィカル要素を選択することは、前記メモリまたは前記他のコンピュータ可読媒体のうちの１つまたは複数における前記グラフィカル要素に割り当てられた少なくとも１つのグラフィカル要素特徴と一致する前記コンテンツの特徴に基づいている、前記グラフィカル要素のグループを決定すること、
前記電子的コミュニケーションに含める候補として前記ディスプレイを介して前記グラフィカル要素のグループを提示すること
を行うように動作可能な前記１つまたは複数のプロセッサと
を備えるシステム。
【請求項２５】
クライアントデバイスであって、
ディスプレイと、
１つまたは複数のユーザインタフェース入力デバイスと、
１つまたは複数のネットワークインタフェースと、
命令を格納しているメモリと、
前記メモリに格納された命令を実行するように動作可能な１つまたは複数のプロセッサであって、前記命令を実行して、
前記クライアントデバイスに送信され、前記ネットワークインタフェースのうちの１つまたは複数を介して受信された電子的コミュニケーションを受信することであって、前記電子的コミュニケーションは、追加のクライアントデバイスで生成されたものである、前記受信すること、
前記電子的コミュニケーションの少なくとも１つのコミュニケーション特徴を決定すること、
前記ディスプレイ上において、前記プロセッサのうちの１つまたは複数によってレンダリングされる後続の電子的コミュニケーションに含めるための１つまたは複数のグラフィカル要素のグループを決定することであって、前記後続の電子的コミュニケーションは、前記電子的コミュニケーションに応答するものであり、前記グラフィカル要素のグループを決定する際に、前記プロセッサのうちの１つまたは複数は、
前記後続の電子的コミュニケーションに含めるために前記ユーザインタフェース入力デバイスを介して提供される任意のテキスト入力の前に、
候補グラフィカル要素から、前記グループに含める少なくとも１つのグラフィカル要素を選択する
ように動作し、前記グラフィカル要素を選択することは、前記電子的コミュニケーションの前記少なくとも１つのコミュニケーション特徴に基づいている、前記グラフィカル要素のグループを決定すること、
前記後続の電子的コミュニケーションに含めるために前記ユーザインタフェース入力デバイスを介して提供される任意のテキスト入力の前に、
前記電子的コミュニケーションに含める候補として前記ディスプレイを介して前記グラフィカル要素のグループを提示すること
を行うように動作可能な前記１つまたは複数のプロセッサと
を備えるクライアントデバイス。
【請求項２６】
命令を含む１つまたは複数の非一時的コンピュータ可読媒体であって、前記命令は、１つまたは複数のプロセッサによる前記命令の実行に応答して、前記１つまたは複数のプロセッサに動作を行わせ、前記動作は、
１つまたは複数のネットワークを介して１つまたは複数のネットワークインタフェースによって送信される電子的コミュニケーションに含めるために提供されるコンテンツを受信することであって、前記コンテンツは、１つまたは複数のユーザインタフェース入力デバイスを介して生成されたユーザインタフェース入力に基づくものである、前記受信すること、
前記コンテンツの少なくとも１つの特徴を決定すること、
１つまたは複数のコンピュータ可読媒体から、前記電子的コミュニケーションに含めるための１つまたは複数のグラフィカル要素のグループを決定することであって、前記グラフィカル要素のグループを決定する際に、前記プロセッサの１つまたは複数は、
候補グラフィカル要素から、前記グループに含める少なくとも１つのグラフィカル要素を選択する
ように動作し、前記グラフィカル要素を選択することは、前記コンピュータ可読媒体のうちの１つまたは複数において前記グラフィカル要素に割り当てられた少なくとも１つのグラフィカル要素特徴と一致する前記コンテンツの特徴に基づいている、前記グラフィカル要素のグループを決定すること、
前記電子的コミュニケーションに含める候補としてディスプレイを介した提示のために前記グラフィカル要素のグループを提供すること
を含む、非一時的コンピュータ可読媒体。
【請求項２７】
システムであって、
命令を格納しているメモリと、
前記メモリに格納された命令を実行して、請求項１乃至２１のいずれか一項に記載の方法を実行するように動作可能な１つまたは複数のプロセッサと
を備えるシステム。
【請求項２８】
命令を含む１つまたは複数の非一時的コンピュータ可読媒体であって、前記命令は、１つまたは複数のプロセッサによる前記命令の実行に応答して、前記１つまたは複数のプロセッサに、請求項１乃至２１のいずれか一項に記載の方法を行わせる、非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
個人は、電子メール、リッチコミュニケーションサービス（ＲＣＳ）メッセージ、ショートメッセージサービス（ＳＭＳ）メッセージ、マルチメディアメッセージングサービス（ＭＭＳ）メッセージ、オーバーザトップ（ＯＴＴ）チャットメッセージ、ソーシャルネットワーキングメッセージなどの様々な電子的コミュニケーションを利用して相互に電子的対話を行う。さらに、ユーザは、スマートフォン、タブレットコンピュータ、ウェアラブルデバイス、自動車システムなどのような様々なコンピューティングデバイスを利用してそのような対話に参加する。多くの状況において、ユーザは、テキストコンテンツに加えて、またはその代わりに、１つまたは複数の電子的コミュニケーションにグラフィカル要素を含めることができる。グラフィカル要素は、絵文字、グラフィカル交換フォーマット画像（ＧＩＦ）、いわゆるステッカー（キュレートされたＧＩＦ、ＪＰＧなどであり得る）など、さまざまな形式を取ることができる。あるグラフィカル要素は、表示されたときにそれ自体がテキストをまったく含まないが（例えば、笑顔の絵文字）、他のグラフィカル要素は、表示されたときにテキストを含むことがある（例えば、他のコンテンツに加えてグラフィカルテキストを含むＧＩＦ）。
【発明の概要】
【０００２】
本明細書は、ユーザのコンピューティングデバイスを介してユーザによって形成された電子的コミュニケーションに含めるためのグラフィカル要素（例えば、絵文字、ＧＩＦ、ステッカー）を決定し、電子的コミュニケーションに含めるためのグラフィカル要素を提供することに関連する方法、装置、およびコンピュータ可読媒体を対象としている。例えば、グラフィカル要素は、ユーザのコンピューティングデバイスのディスプレイを介してユーザに提示するために提供されてもよく、グラフィカル要素のうちの１つに向けられたユーザインタフェース入力に応答して、そのグラフィカル要素が、電子的コミュニケーションに組み込まれ得る。様々な実装形態では、電子的コミュニケーションは、ユーザと１または複数の追加のユーザとを含む対話の一部として提示されるべきコミュニケーションである。
【０００３】
いくつかの実装形態では、提供されるグラフィカル要素は、グラフィカル要素が含めるために提供される電子的コミュニケーションを形成する際にユーザによって提供される任意の入力に加えて、１つまたは複数の特徴に少なくとも部分的に基づいて決定される。これらの実装形態のうちのいくつかにおいて、グラフィカル要素は、ユーザが電子的コミュニケーションに含めるための任意のテキストコンテンツを提供する前、および／またはユーザが電子的コミュニケーションに含めるための任意の他のコンテンツを提供する前に、電子的コミュニケーションに含めるために提供され得る。いくつかの実装形態では、グラフィカル要素は、電子的コミュニケーションの形成を開始するためにユーザが「返信」インタフェース要素を選択すること、および／または「コンテンツ提案」インタフェース要素を選択することなどの、電子的コミュニケーションに関するユーザインタフェース入力に応答して提供され得る。
【０００４】
いくつかの実装形態では、電子的コミュニケーションを形成する際にユーザによって提供される任意の入力に追加される特徴は、電子的コミュニケーションが提示されるべき対話の１つまたは複数の以前に提示された電子的コミュニケーション（例えば、ユーザおよび／または追加のユーザの以前の対話コミュニケーション）の提示されたコミュニケーション特徴、対話に参加している１または複数のユーザの１つまたは複数の動的ユーザ状態（例えば、位置、感情）の現在の状態を示す現在状態特徴、および／または対話、他の対話、および／または他のコミュニケーションにおけるユーザによるグラフィカル要素の過去の使用のうちの１つまたは複数を含み得る。いくつかの実装形態では、グラフィカル要素は、グラフィカル要素が提供されて含められるべき電子的コミュニケーションを形成する際にユーザによって提供される入力に基づく後続のコミュニケーション特徴に基づいて追加的または代替的に決定され得る。
【０００５】
いくつかの実装形態では、対話の電子的コミュニケーションに含めるためにどのグラフィカル要素が提供されるかは、１つまたは複数の特徴（例えば、上記のもののうちの１つまたは複数）を、トレーニングされた機械学習モデルの入力として適用することに応答して、トレーニングされた機械学習モデルを通じて生成される出力に基づいて決定され得る。例えば、対話の提示された電子的コミュニケーションの提示されたコミュニケーション特徴、およびその対話に参加しているユーザの現在の状態は、トレーニングされた機械学習モデルへの入力として提供され得る。出力は、入力に基づいてモデルを通じて生成されてもよく、出力は、グラフィカル要素の１つまたは複数のグラフィカル要素特徴を示してもよい。出力は、出力と一致するグラフィカル要素特徴を有するグラフィカル要素に基づいて、電子的コミュニケーションに含める候補として提供する１つまたは複数のグラフィカル要素を選択するために使用され得る。
【０００６】
いくつかの実装形態では、過去の電子的コミュニケーションのコーパスが、グラフィカル要素と１つまたは複数の特徴（例えば、上記のもののうちの１つまたは複数）との間の関係を決定するために分析される。例えば、コーパスは、所与のグラフィカル要素について、所与のグラフィカル要素が含まれるコミュニケーションの１つまたは複数の特徴、および／または以前に提示されたコミュニケーションへの返信として所与のグラフィカル要素が含まれる以前に提示されたコミュニケーションの１つまたは複数の特徴を決定するために分析され得る。いくつかの実装形態では、過去の電子的コミュニケーションのコーパスが、対話の以前に提示されたコミュニケーションと、対話の１つまたは複数の後続のコミュニケーションとの間の関係を決定するために分析される。一例として、コーパスは、ｎ−ｇｒａｍ「夕食」を含む提示されたコミュニケーションを含む対話が、特定の用語および／または特定のグラフィカル要素特徴（例えば、割り当てられた「食品」特徴を有するグラフィカル要素）を有するグラフィカル要素を含む後続のコミュニケーションを含む可能性があることを決定するために分析され得る。
【０００７】
本明細書で説明するように、過去の電子的コミュニケーションのコーパスを分析することから学習されたこれらの関係を利用して、どのグラフィカル要素を、対話に提示するために構成されている電子的コミュニケーションに含める候補として提供するかを決定することができる。いくつかの実装形態では、関係を決定することは、電子的コミュニケーションのコーパスに基づいて適切なトレーニング例を生成すること、およびこれらのトレーニング例に基づいて機械学習モデルのトレーニングを行い、トレーニングされた機械学習モデルに関係を効果的に埋め込むことによって達成され得る。
【０００８】
本明細書の上記および他の実装形態のいくつかは、様々な技術的利点を達成することができる。例えば、本明細書に記載の様々な特徴に基づいてユーザに提示するグラフィカル要素を決定し提供するいくつかの実装形態は、提示されたグラフィカル要素がユーザおよび／または対話の現在のコンテキストに関連する可能性を高め得る。これは、関連するグラフィカル要素を見つけるために、ユーザが大量の無関係な利用可能なグラフィカル要素をナビゲートおよび／または明示的に検索する必要性を軽減することができる。これは、無関係なグラフィカル要素をレンダリングおよび／または検索するために必要とされるコンピューティングデバイスのリソースなどの、さまざまな計算リソースの使用を減らすことができる。別の例として、本明細書に記載の様々な特徴に基づいてユーザに提示するグラフィカル要素を決定し提供するいくつかの実装形態は、提示されたグラフィカル要素がユーザによって対話のコミュニケーションに含めるために選択された結果として、より簡潔な対話を達成でき、関連する追加のコンテキストをコミュニケーションに提供することを可能にする。これは、そうでなければ追加のコンテキストを提供するために必要とされるであろう対話の特定のさらなるコミュニケーションの必要性をなくし、それによって、ユーザにさらなるコミュニケーションを視覚的および／または聴覚的に提示するために必要とされるコンピューティングデバイスのリソースなどの計算リソースを低減することができる。本明細書の他の箇所に記載されている１つまたは複数のような追加のまたは代替の技術的利点が達成され得る。
【０００９】
いくつかの実装形態では、ユーザと、１または複数の追加のユーザとを含む対話の一部として提示された電子的コミュニケーションを受信することを含む、１つまたは複数のプロセッサによって実行される方法が提供される。電子的コミュニケーションは、追加のユーザの追加のユーザコンピューティングデバイスの１つまたは複数のユーザインタフェース入力デバイスを介して、複数の追加のユーザのうちのある追加のユーザによって生成されたユーザインタフェース入力に基づく。方法は、電子的コミュニケーションの少なくとも１つのコミュニケーション特徴を決定すること、対話の一部として提示されるべき、ユーザの後続の電子的コミュニケーションに含めるための１つまたは複数のグラフィカル要素のグループを決定することをさらに含む。グラフィカル要素のグループを決定することは、後続の電子的コミュニケーションのためにユーザによって提供される任意のテキスト入力の前に、候補のグラフィカル要素から、グループに含めるための少なくとも１つのグラフィカル要素を選択することを含む。グラフィカル要素を選択することは、電子的コミュニケーションの少なくとも１つのコミュニケーション特徴に基づく。方法は、後続の電子的コミュニケーションのためにユーザによって提供される任意のテキスト入力の前に、後続の電子的コミュニケーションに含める候補としてグラフィカル要素のグループを提供することをさらに含む。グラフィカル要素のグループは、ユーザのユーザコンピューティングデバイスのディスプレイを介して提示するために提供されている。
【００１０】
本明細書に開示される技術のこれらおよび他の実装形態は、以下の特徴のうちの１つまたは複数を任意選択で含み得る。
いくつかの実装形態では、方法は、電子的コミュニケーションの提示と組み合わせてディスプレイを介してユーザにグラフィカルに提示されるユーザインタフェース要素とのユーザインタフェースのインタラクションを識別することをさらに含む。これらの実装形態のいくつかにおいて、グラフィカル要素のグループを提供することは、ユーザインタフェース要素とのユーザインタフェースのインタラクションを識別することに応答して行われる。
【００１１】
いくつかの実装形態では、少なくとも１つのコミュニケーション特徴は、電子的コミュニケーションの複数の用語のうちの１つまたは複数に基づく。これらの実装形態のいくつかのバージョンでは、少なくとも１つのコミュニケーション特徴は、電子的コミュニケーションの用語に加えて、１つまたは複数の信号に少なくとも部分的に基づく少なくとも１つの非テキスト特徴をさらに含む。これらの実装形態のいくつかの他のバージョンでは、方法は、対話の追加の電子的コミュニケーションの少なくとも１つの追加のコミュニケーション特徴を決定すること、少なくとも１つの追加のコミュニケーション特徴にさらに基づいてグラフィカル要素を選択することをさらに含む。
【００１２】
いくつかの実装形態では、方法は、ユーザまたは追加のユーザの少なくとも１つの動的ユーザ状態の現在の状態を示す少なくとも１つの現在状態特徴を決定すること、現在状態特徴にさらに基づいてグラフィカル要素を選択することをさらに含む。これらの実装形態のいくつかにおいて、動的ユーザ状態は、物理的位置または感情を含む。
【００１３】
いくつかの実装形態では、方法は、グラフィカル要素の過去の使用特徴を識別すること、過去の使用特徴にさらに基づいてグラフィカル要素を選択することをさらに含む。これらの実装形態のいくつかにおいて、過去の使用特徴は、グラフィカル要素と１つまたは複数のグラフィカル要素特徴を共有する追加のグラフィカル要素のユーザによる過去の使用に少なくとも部分的に基づく。
【００１４】
いくつかの実装形態では、少なくとも１つのコミュニケーション特徴に基づいてグラフィカル要素を選択することは、少なくとも１つのコミュニケーション特徴に基づいてグラフィカル要素特徴を決定することであって、グラフィカル要素特徴は、グラフィカル要素に割り当てられ、かつ追加のグラフィカル要素に割り当てられている、決定すること、追加のグラフィカル要素のうちの選択されていない１つまたは複数よりも、ユーザによるより高い過去の使用度に関連するグラフィカル要素に基づいて、追加のグラフィカル要素のうちの１つまたは複数の代わりにグループに含めるグラフィカル要素を選択することをさらに含む。これらの実装形態のいくつかにおいて、グラフィカル要素は、グラフィカル要素の統合されたパックに含まれ、グラフィカル要素の過去の使用は、統合されたパックのグラフィカル要素の、ユーザによる過去の使用に基づく。
【００１５】
いくつかの実装形態では、少なくとも１つのコミュニケーション特徴に基づいてグラフィカル要素を選択することは、１つまたは複数のコンピュータ可読媒体に格納されたトレーニングされた機械学習モデルに、少なくとも１つのコミュニケーション特徴を含む入力を適用すること、モデルを通じて、および入力に基づいて、１つまたは複数のグラフィカル要素特徴を示す出力を生成すること、グラフィカル要素に割り当てられているグラフィカル要素特徴に基づいてグラフィカル要素を選択することを含む。これらの実装形態のいくつかのバージョンでは、１つまたは複数のグラフィカル要素特徴を示す出力は、１つまたは複数の用語を含み、グラフィカル要素に割り当てられているグラフィカル要素特徴に基づいてグラフィカル要素を選択することは、グラフィカル要素を、それが１つまたは複数の用語のうちの少なくとも１つによってインデックス付けされていることに基づいて、選択することを含む。これらの実装形態のいくつかのさらなるバージョンでは、方法は、過去のユーザ対話から導出された複数のトレーニング例に基づいて、トレーニングされた機械学習モデルを生成することをさらに含み、トレーニング例は、対応するオリジナル電子的コミュニケーションのコミュニケーション特徴に基づくトレーニング例入力、および対応するオリジナル電子的コミュニケーションへの返信である対応する返信電子的コミュニケーションのテキストに基づくトレーニング例出力を含む。トレーニングされた機械学習モデルを生成することは、トレーニング例のトレーニング例入力の適用およびトレーニング例のトレーニング例出力に基づいた逆伝搬に基づいてトレーニングされた機械学習モデルをトレーニングすることを含み得る。これらの実装形態のいくつかの他のバージョンでは、方法は、過去のユーザ対話から導出された複数のトレーニング例に基づいて、トレーニングされた機械学習モデルを生成することをさらに含み、トレーニング例の各々は、対応するオリジナル電子的コミュニケーションのコミュニケーション特徴に基づくトレーニング例入力、および対応するオリジナル電子的コミュニケーションへの返信である対応する返信電子的コミュニケーションのグラフィカル要素特徴に基づくトレーニング例出力を含む。トレーニングされた機械学習モデルを生成することは、トレーニング例のトレーニング例入力の適用およびトレーニング例のトレーニング例出力に基づいた逆伝搬に基づいてトレーニングされた機械学習モデルをトレーニングすることを含み得る。
【００１６】
いくつかの実装形態では、コミュニケーション特徴は、１つまたは複数の用語を含み、少なくとも１つのコミュニケーション特徴に基づいてグラフィカル要素を選択することは、グラフィカル要素を、それが１つまたは複数の用語のうちの少なくとも１つによってインデックス付けされていることに基づいて、選択することを含む。
【００１７】
いくつかの実装形態では、方法は、後続の電子的コミュニケーションに含める候補としてグラフィカル要素のグループを提供した後、後続の電子的コミュニケーションのためにユーザによって提供されたテキスト入力を受信することであって、テキスト入力は、ユーザコンピューティングデバイスの１つまたは複数のユーザインタフェース入力デバイスを介してユーザによって生成されたユーザインタフェース入力に基づくものである、受信すること、テキスト入力と少なくとも１つのコミュニケーション特徴とに基づいて、グラフィカル要素の修正されたグループを決定すること、テキスト入力と組み合わせて、後続の電子的コミュニケーションに含める候補としてグラフィカル要素の修正されたグループを提供することをさらに含む。
【００１８】
いくつかの実装形態では、１つまたは複数のプロセッサによって実行される方法が提供され、方法は、ユーザと、１または複数の追加ユーザとを含む対話の一部として提示された電子的コミュニケーションを受信することを含む。電子的コミュニケーションは、追加のユーザの追加のユーザコンピューティングデバイスの１つまたは複数のユーザインタフェース入力デバイスを介して、複数の追加のユーザのうちのある追加のユーザによって生成されたユーザインタフェース入力に基づく。方法は、電子的コミュニケーションの少なくとも１つのコミュニケーション特徴を決定すること、対話の一部として提示されるべき、ユーザの後続の電子的コミュニケーションのためにユーザによって提供されたテキスト入力を受信すること、後続の電子的コミュニケーションに含めるための１つまたは複数のグラフィカル要素のグループを決定することをさらに含む。グラフィカル要素のグループを決定することは、候補グラフィカル要素から、グループに含める少なくとも１つのグラフィカル要素を選択することを含み、グラフィカル要素を選択することは、テキスト入力に基づき、かつ少なくとも１つのコミュニケーション特徴に基づき、後続の電子的コミュニケーションに含める候補としてグラフィカル要素のグループを提供することを含む。グラフィカル要素のグループは、ユーザのユーザコンピューティングデバイスのディスプレイを介して提示するために提供されている。
【００１９】
本明細書に開示される技術のこれらおよび他の実装形態は、以下の特徴のうちの１つまたは複数を任意選択で含み得る。
いくつかの実装形態では、グラフィカル要素のグループを提供することは、テキスト入力を受信することに応答して行われ、グラフィカル要素の提供を明示的に要求するさらなるユーザインタフェース入力なしに発生する。
【００２０】
いくつかの実装形態では、コミュニケーション特徴は、１つまたは複数の用語を含み、少なくとも１つのコミュニケーション特徴に基づいてグラフィカル要素を選択することは、グラフィカル要素を、それが１つまたは複数の用語のうちの少なくとも１つによってインデックス付けされていることに基づいて、選択することを含む。
【００２１】
いくつかの実装形態では、方法は、ユーザまたは追加のユーザの少なくとも１つの動的ユーザ状態の現在の状態を示す少なくとも１つの現在状態特徴を決定すること、現在状態特徴にさらに基づいてグラフィカル要素を選択することをさらに含む。
【００２２】
いくつかの実装形態では、１つまたは複数のプロセッサによって実行される方法が提供され、方法は、対話の一部としてユーザによって提示されるべき電子的コミュニケーションに含めるためにユーザによって提供されたコンテンツを受信することを含む。コンテンツは、ユーザのコンピューティングデバイスの１つまたは複数のユーザインタフェース入力デバイスを介してユーザによって生成されたユーザインタフェース入力に基づく。方法は、コンテンツの少なくとも１つの特徴を決定すること、電子的コミュニケーションに含めるための１つまたは複数のグラフィカル要素のグループを決定することをさらに含む。グラフィカル要素のグループを決定することは、候補グラフィカル要素から、グループに含める少なくとも１つのグラフィカル要素を選択することを含み、グラフィカル要素を選択することは、グラフィカル要素に割り当てられた少なくとも１つのグラフィカル要素特徴と一致するコンテンツの特徴に基づき、電子的コミュニケーションに含める候補としてグラフィカル要素のグループを提供することを含む。グラフィカル要素のグループは、ユーザのユーザコンピューティングデバイスのディスプレイを介して提示するために提供されている。
【００２３】
さらに、いくつかの実装形態は、１つまたは複数のコンピューティングデバイスの１つまたは複数のプロセッサを含み、１つまたは複数のプロセッサは、関連するメモリに格納された命令を実行するように動作可能であり、命令は、前述の方法のいずれかの実行を引き起こすように構成されている。いくつかの実装形態は、前述の方法のうちのいずれかを実行するために１つまたは複数のプロセッサによって実行可能なコンピュータ命令を格納する１つまたは複数の非一時的コンピュータ可読記憶媒体も含む。
【００２４】
本明細書でより詳細に説明された前述の概念および追加の概念の全ての組み合わせが、本明細書で開示された主題の一部であると考えられることを理解されたい。例えば、本開示の最後に現れる請求された主題の全ての組み合わせは、本明細書に開示された主題の一部であると考えられる。
【図面の簡単な説明】
【００２５】
【図１】本明細書で開示される実装形態が実施され得る例示的環境のブロック図である。
【図２】ユーザへ提供するためのグラフィカル要素の選択において、図１の例示的環境の構成要素を使用する例を示す図である。
【図３Ａ】クライアントコンピューティングデバイスのユーザと、複数の追加のユーザとを含む対話の一例を表示する表示画面を有する例示的なクライアントコンピューティングデバイスを示す図であり、対話は、２人の追加のユーザの各々から提示された電子的コミュニケーションを含む。
【図３Ｂ１】グラフィカル要素がどのようにしてユーザに示され、図３Ａの対話の一部としてユーザによって提示される後続の電子的コミュニケーションに含まれることができるかの一例を示す図である。
【図３Ｂ２】グラフィカル要素がどのようにしてユーザに示され、図３Ａの対話の一部としてユーザによって提示される後続の電子的コミュニケーションに含まれることができるかの一例を示す図である。
【図３Ｂ３】グラフィカル要素がどのようにしてユーザに示され、図３Ａの対話の一部としてユーザによって提示される後続の電子的コミュニケーションに含まれることができるかの一例を示す図である。
【図３Ｃ】図３Ａの対話の一部としてユーザによって提示されるべき後続のコミュニケーションに含める候補としてグラフィカル要素がどのようにユーザに提示され得るかの別の例を示す図である。
【図３Ｄ１】図３Ａの対話の一部としてユーザによって提示されるべき後続のコミュニケーションに含める候補としてグラフィカル要素がどのようにユーザに提示され得るかのさらに別の例を示す図である。
【図３Ｄ２】図３Ａの対話の一部としてユーザによって提示されるべき後続のコミュニケーションに含める候補としてグラフィカル要素がどのようにユーザに提示され得るかのさらに別の例を示す図である。
【図４】図３Ａの例示的なクライアントコンピューティングデバイス、および対話の一部としてユーザによって提示されるべき後続のコミュニケーションに含める候補としてグラフィカル要素がどのようにユーザに提示され得るかの別の例を示す図である。
【図５Ａ】本明細書に開示されている実装形態による、対話に含めるためのグラフィカル要素のグループを提供する例示的な方法を示すフローチャートである。
【図５Ｂ】図５Ａのフローチャートの１つのブロックの例を示すフローチャートである。
【図５Ｃ】図５Ａのフローチャートの１つのブロックの別の例を示すフローチャートである。
【図６】グラフィカル要素に特徴を割り当てる例示的な方法を示すフローチャートである。
【図７】機械学習コンテンツモデルをトレーニングする例示的な方法を示すフローチャートである。
【図８】コンピューティングデバイスの例示的アーキテクチャを示す図である。
【発明を実施するための形態】
【００２６】
本明細書は、ユーザのコンピューティングデバイスを介してユーザによって形成されている電子的コミュニケーションに含めるためのグラフィカル要素を決定し、電子的コミュニケーションに含めるためのグラフィカル要素を提供することに関する技術的特徴を対象としている。例えば、グラフィカル要素は、コンピューティングデバイスのディスプレイを介してユーザに提示するために提供されてもよく、グラフィカル要素のうちの１つに向けられたユーザインタフェース入力に応答して、そのグラフィカル要素が、電子的コミュニケーションに組み込まれ得る。
【００２７】
いくつかの実装形態では、提供されるグラフィカル要素は、グラフィカル要素が含めるために提供される電子的コミュニケーションを形成する際にユーザによって提供される任意の入力に加えて、１つまたは複数の特徴に少なくとも部分的に基づいて決定される。これらの実装形態のうちのいくつかにおいて、グラフィカル要素は、ユーザが電子的コミュニケーションに含めるための任意のテキストコンテンツおよび／または任意の他のコンテンツを提供する前に、電子的コミュニケーションに含めるために提供され得る。いくつかの実装形態では、グラフィカル要素は、電子的コミュニケーションに関連するユーザインタフェース入力に応答して提供され得る。
【００２８】
いくつかの実装形態では、電子的コミュニケーションを形成する際にユーザによって提供される任意の入力に追加される特徴は、電子的コミュニケーションが提示されるべき対話の１つまたは複数の以前に提示された電子的コミュニケーションの提示されたコミュニケーション特徴、対話に参加している１または複数のユーザの１つまたは複数の動的ユーザ状態の現在の状態を示す現在状態特徴、および／または対話、他の対話、および／または他のコミュニケーションにおけるユーザによるグラフィカル要素の過去の使用のうちの１つまたは複数を含み得る。いくつかの実装形態では、グラフィカル要素は、グラフィカル要素が提供されて含められるべき電子的コミュニケーションを形成する際にユーザによって提供される入力に基づく後続のコミュニケーション特徴に基づいて追加的または代替的に決定され得る。
【００２９】
いくつかの実装形態では、対話の電子的コミュニケーションに含めるためにどのグラフィカル要素が提供されるかは、１つまたは複数の特徴（例えば、上記のもののうちの１つまたは複数）を、トレーニングされた機械学習モデルの入力として適用することに応答して、トレーニングされた機械学習モデルを通じて生成される出力に基づいて決定され得る。出力は、入力に基づいてモデルを通じて生成されてもよく、出力は、グラフィカル要素の１つまたは複数のグラフィカル要素特徴を示してもよい。出力は、出力と一致するグラフィカル要素特徴を有するグラフィカル要素に基づいて、電子的コミュニケーションに含める候補として提供する１つまたは複数のグラフィカル要素を選択するために使用され得る。
【００３０】
いくつかの実装形態では、過去の電子的コミュニケーションのコーパスが、グラフィカル要素と１つまたは複数の特徴（例えば、上記のもののうちの１つまたは複数）との間の関係を決定するために分析される。いくつかの実装形態では、過去の電子的コミュニケーションのコーパスが、対話の以前に提示されたコミュニケーションと、対話の１つまたは複数の後続のコミュニケーションとの間の関係を決定するために分析される。
【００３１】
本明細書で説明するように、過去の電子的コミュニケーションのコーパスを分析することから学習されたこれらの関係を利用して、どのグラフィカル要素を、対話に提示するために構成されている電子的コミュニケーションに含める候補として提供するかを決定することができる。いくつかの実装形態では、関係を決定することは、電子的コミュニケーションのコーパスに基づいて適切なトレーニング例を生成すること、およびこれらのトレーニング例に基づいて機械学習モデルのトレーニングを行い、トレーニングされた機械学習モデルに関係を効果的に埋め込むことによって達成され得る。
【００３２】
本明細書の上記および他の実装形態のいくつかは、様々な技術的利点を達成することができる。例えば、本明細書に記載の様々な特徴に基づいてユーザに提示するグラフィカル要素を決定し提供するいくつかの実装形態は、提示されたグラフィカル要素がユーザおよび／または対話の現在のコンテキストに関連する可能性を高め得る。これは、関連するグラフィカル要素を見つけるために、ユーザが大量の無関係な利用可能なグラフィカル要素をナビゲートおよび／または明示的に検索する必要性を軽減することができる。これは、無関係なグラフィカル要素をレンダリングおよび／または検索するために必要とされるコンピューティングデバイスのリソースなどの、さまざまな計算リソースの使用を減らすことができる。別の例として、本明細書に記載の様々な特徴に基づいてユーザに提示するグラフィカル要素を決定し提供するいくつかの実装形態は、提示されたグラフィカル要素がユーザによって対話のコミュニケーションに含めるために選択された結果として、より簡潔な対話を達成でき、関連する追加のコンテキストをコミュニケーションに提供することを可能にする。これは、そうでなければ追加のコンテキストを提供するために必要とされるであろう対話の特定のさらなるコミュニケーションの必要性をなくし、それによって、ユーザにさらなるコミュニケーションを視覚的および／または聴覚的に提示するために必要とされるコンピューティングデバイスのリソースなどの計算リソースを低減することができる。本明細書の他の箇所に記載されている１つまたは複数のような追加のまたは代替の技術的利点が達成され得る。
【００３３】
図１において、本明細書に開示された技術が実施され得る例示的な環境が示されている。例示的な環境は、環境内の様々な構成要素間の通信を任意選択で容易にする通信ネットワーク１０１を含む。いくつかの実装形態では、通信ネットワーク１０１は、インターネット、１つまたは複数のイントラネット、および／または１つまたは複数のバスサブシステムを含み得る。通信ネットワーク１０１は、任意選択で、１つまたは複数の標準的な通信技術、プロトコル、および／またはプロセス間通信技術を利用することができる。
【００３４】
例示的な環境は、クライアントデバイス１０６Ａ、追加のクライアントデバイス１０６Ｂ−Ｎ、電子的コミュニケーションシステム１１０、グラフィカル要素システム１２０、コンテンツモデルトレーニングエンジン１３５、およびグラフィカル要素特徴エンジン１３７も含む。例示的な環境は、電子的コミュニケーションデータベース１５２、グラフィカル要素データベース１５４、コンテンツモデルデータベース１５６、ユーザ状態モデルデータベース１５８、および履歴モデルデータベース１６０をさらに含む。
【００３５】
クライアントデバイス１０６Ａ−Ｎのいくつかの非限定的な例は、デスクトップコンピューティングデバイス、ラップトップコンピューティングデバイス、タブレットコンピューティングデバイス、携帯電話コンピューティングデバイス、ユーザの車両のコンピューティングデバイス（例えば、車載コミュニケーションシステム、車載エンターテイメントシステム、車載ナビゲーションシステム）、またはコンピューティングデバイスを含むユーザのウェアラブル機器（例えば、コンピューティングデバイスを有するユーザの時計、コンピューティングデバイスを有するユーザの眼鏡、仮想または拡張現実コンピューティングデバイス）のうちの１つまたは複数を含む。追加の、および／または代替のクライアントデバイスが提供されてもよい。いくつかの実装形態では、所与のユーザは、クライアントデバイスの協調的「エコシステム」を集合的に形成する複数のクライアントデバイスを利用してグラフィカル要素システム１２０の全てまたはいくつかの態様と通信することができる。しかしながら、簡潔にするために、本開示に記載されるいくつかの例は、単一のクライアントデバイスを操作するユーザに焦点を合わせる。
【００３６】
電子的コミュニケーションシステム１１０、グラフィカル要素システム１２０、および／またはエンジン１３５および／または１３７は、各々、例えばネットワーク（例えば、ネットワーク１０１および／または他のネットワーク）を介して通信する１つまたは複数のコンピューティングデバイス内に実装され得る。電子的コミュニケーションシステム１１０、グラフィカル要素システム１２０、ならびにエンジン１３５および１３７は、本明細書に記載のシステムおよび技術を実装することができ、および／または本明細書に記載のシステムおよび技術とインタフェースすることができる構成要素の例である。それらは、各々、データおよびソフトウェアアプリケーションの格納のための１つまたは複数のメモリ、データにアクセスし、アプリケーションを実行するための１つまたは複数のプロセッサ、ならびにネットワークを介した通信を容易にする他の構成要素を含み得る。いくつかの実装形態では、電子的コミュニケーションシステム１１０、グラフィカル要素システム１２０、および／またはエンジン１３５および／または１３７は、図８の例示的コンピューティングデバイスの１つまたは複数の構成要素を含み得る。電子的コミュニケーションシステム１１０、グラフィカル要素システム１２０、および／またはエンジン１３５および／または１３７によって実行される動作は、複数のコンピュータシステムにわたって分散させることができる。
【００３７】
いくつかの実装形態では、電子的コミュニケーションシステム１１０、グラフィカル要素システム１２０、および／またはエンジン１３５および／または１３７のうちの１つまたは複数の１つまたは複数の態様は、単一のシステムに組み合わせることができ、および／または１つまたは複数の態様は、クライアントデバイス１０６Ａおよび／または１つまたは複数の追加のクライアントデバイス１０６Ｂ−Ｎ上で実装され得る。例えば、クライアントデバイス１０６Ａは、グラフィカル要素システム１２０の１つまたは複数の部分のインスタンスを含み、追加のクライアントデバイス１０６Ｂ−Ｎの各々は、グラフィカル要素システム１２０の１つまたは複数の部分のインスタンスを含むこともできる。別の例として、クライアントデバイス１０６Ａおよび追加のクライアントデバイス１０６Ｂ−Ｎの各々は、それぞれ電子的コミュニケーションシステム１１０のインスタンスを含むことができる（例えば、電子的コミュニケーションシステム１１０は、デバイスの各々にインストールされ実行されるアプリケーションであってよい）。さらに別の例として、電子的コミュニケーションシステム１１０およびグラフィカル要素システム１２０の１つまたは複数の部分を組み合わせることができる。
【００３８】
電子的コミュニケーションデータベース１５２は、複数のユーザの過去の対話の電子的コミュニケーション（の抽出された特徴）の全部または一部を含む１つまたは複数の記憶媒体を含む。いくつかの実装形態では、電子的コミュニケーションデータベース１５２は、電子的コミュニケーションシステム１１０によって維持される。例えば、電子的コミュニケーションシステム１１０は、１つまたは複数のチャットシステムを含むことができ、電子的コミュニケーションデータベース１５２は、システムを介して送信および／または受信される複数の電子的コミュニケーションを含むことができる。別の例として、電子的コミュニケーションシステム１１０は、１つまたは複数のソーシャルネットワーキングシステムを含み、電子的コミュニケーションデータベース１５２は、ソーシャルネットワーキングシステムを介して送信および／または受信される複数のメッセージ、投稿、または他の電子的コミュニケーションを含み得る。
【００３９】
本明細書で使用されるとき、「電子的コミュニケーション」または「コミュニケーション」は、電子メール、テキストメッセージ（例えば、ＲＣＳ、ＳＭＳ、ＭＭＳ）、チャットメッセージ、インスタントメッセージ、または対話の一部として１または複数の追加のユーザのグループに送信される他の電子的コミュニケーションを指し得る。様々な実装形態では、電子的コミュニケーションは、様々なメタデータを含むことができ、メタデータは、本明細書で説明されている１つまたは複数の技術で任意選択的に利用され得る。例えば、チャットメッセージなどの電子的コミュニケーションは、１つまたは複数の送信者識別子、１つまたは複数の受信者識別子、送信日、電子的コミュニケーションを送信および／または受信したデバイスの種類などを含み得る。
【００４０】
グラフィカル要素システム１２０は、対話の一部としてユーザによって提示されるべき電子的コミュニケーションに含める候補としてグラフィカル要素のグループを決定し、提供する。便宜上、本明細書で説明する多くの例は、電子的コミュニケーションに含めるためのグラフィカル要素をクライアントデバイス１０６Ａに提供するグラフィカル要素システム１２０に関して説明され、電子的コミュニケーションは、ユーザおよび追加のクライアントデバイス１０６Ｂ−Ｎの追加のユーザを含む対話の一部として提示されるためにクライアントデバイス１０６Ａを介してユーザによって作成されている。グラフィカル要素システム１２０（またはその他のインスタンス）は、クライアントデバイス１０６Ｂ−Ｎを介して構成されているコミュニケーションに含めるためのグラフィカル要素をクライアントデバイス１０６Ｂ−Ｎの各々に提供することもできることが理解される。
【００４１】
グラフィカル要素システム１２０は、対話の一部としてユーザによって提示されるべき電子的コミュニケーションに提供するためのグラフィカル要素のグループを決定してもよく、対話の、以前に提示された電子的コミュニケーションの１つまたは複数の提示されたコミュニケーション特徴、および／または本明細書に記載されているような１つまたは複数の追加の特徴に基づいてグループを決定してもよい。いくつかの実装形態では、グラフィカル要素システム１２０は、対話の一部として提示されるべき電子的コミュニケーションの生成において、ユーザによって提供される任意のテキスト入力とは無関係に、および／または対話の一部として提示されるべき電子的コミュニケーションの生成において、ユーザによって提供される任意の他のコンテンツとは無関係に、グラフィカル要素のグループを決定および／または提供し得る。
【００４２】
いくつかの実装形態では、グラフィカル要素システム１２０によって決定され提供されたグラフィカル要素は、１つまたは複数の絵文字、ＧＩＦ、ＪＰＧ、および／またはステッカーを含む。グラフィカル要素は、１つまたは複数の記憶媒体上に提供されているグラフィカル要素データベース１５４から選択することができる。いくつかの実装形態では、グラフィカル要素データベース１５４は、クライアントデバイス１０６Ａ上にローカルに提供される。これらの実装形態のいくつかにおいて、グラフィカル要素システム１２０は、全体的にまたは部分的に、クライアントデバイス１０６Ａの１つまたは複数のプロセッサによって操作される。いくつかの実装形態では、グラフィカル要素データベース１５４の全部または一部、および／またはグラフィカル要素システム１２０の１つまたは複数の態様は、クライアントデバイス１０６Ａから遠隔で追加的または代替的に提供される。
【００４３】
グラフィカル要素データベース１５４は、グラフィカル要素の各々について、そのグラフィカル要素と１つまたは複数のグラフィカル要素特徴との関連付け、および任意選択で関連付けの１つまたは複数についての重み付けを定義することができる。例えば、グラフィカル要素の各々は、１つまたは複数の対応するグラフィカル要素特徴、およびグラフィカル要素特徴の各々に対する重み付けによってインデックス付けされてもよい。グラフィカル要素の所与のグラフィカル要素特徴の重み付けは、所与のグラフィカル要素特徴がグラフィカル要素とどれだけ強く関連付けられているかを示す。例えば、アリゲーターを描く所与のグラフィカル要素は、それが「動物」のグラフィカル要素特徴と関連付けられるよりも、「アリゲーター」のグラフィカル要素特徴とより強く関連付けられ得る。
【００４４】
様々なグラフィカル要素特徴が、グラフィカル要素に対して定義され得る。一例として、グラフィカル要素特徴は、グラフィカル要素に含まれるコンテンツの記述子を含み得る。例えば、アリゲーターの描写を含むグラフィカル要素は、「アリゲーター」の記述子、「動物」の記述子などの記述子を含むことができる。また、例えば、グラフィカル要素に関連付けられたエンティティを識別する非テキスト記述子などの非テキスト記述子が提供され得る。別の例として、グラフィカル要素の特徴は、グラフィカル要素が電子的コミュニケーションに含まれていた過去の電子的コミュニケーションのコーパスの電子的コミュニケーションの特徴を含むことができる。例えば、アリゲーター（ａｌｌｉｇａｔｏｒ）の描写を含むグラフィカル要素は、ｎ−ｇｒａｍ「ｌａｔｅｒ（後で）」を有する電子的コミュニケーションにおいて少なくとも時々それが共起することを示す「ｌａｔｅｒ」のテキスト特徴を含み得る。別の例として、グラフィカル要素特徴は、過去の対話のコーパスの電子的コミュニケーションの特徴を含むことができ、対話内で、それらの電子的コミュニケーションは、グラフィカル要素を含む後続の電子的コミュニケーションに先行している。例えば、アリゲーターの描写を含むグラフィカル要素は、「ｔａｌｋｔｏ ｙｏｕ ｓｏｏｎ（ではまたすぐに）」、「ｂｙｅ（さようなら）」などの「出発の発言」を示す特徴を含むことができ、それは、対話におけるそのような「出発の発言」の電子的コミュニケーションに続く電子的コミュニケーションで少なくとも時々そのグラフィカル要素が現れることを示す。さらに別の例として、グラフィカル要素の特徴は、グラフィカル要素に関連するユーザ状態の特徴を含み得る。例えば、アリゲーターの描写を含むグラフィカル要素は、対話のユーザがフロリダ州またはルイジアナ州にいる場合、および／または対話のユーザが「陽気な」感情を持っている場合に少なくとも時々そのグラフィカル要素が現れることを示す特徴を含むことができる。
【００４５】
いくつかの実装形態では、１つまたは複数のグラフィカル要素特徴が、グラフィカル要素特徴エンジン１３７によって、グラフィカル要素に割り当てられ得る。例えば、グラフィカル要素特徴エンジン１３７は、グラフィカル要素を含む過去の対話の分析に基づいて、および／または（以下により詳細に説明される）コンテンツモデルデータベース１５６のコンテンツモデル内のグラフィカル要素に（直接的または間接的に）割り当てられているそれらの特徴に基づいて、所与のグラフィカル要素に特徴を割り当てることができる。いくつかの実装形態では、グラフィカル要素の１つまたは複数のグラフィカル要素特徴は、グラフィカル要素の画像分析に基づいて追加的にまたは代替的に割り当てられ、人間のレビュアーによって割り当てられ、および／または他の技術を利用して割り当てられ得る。
【００４６】
コンテンツモデルデータベース１５６は、本明細書で説明されているさまざまな技術で任意選択的に利用される１つまたは複数のコンテンツモデルを格納する１つまたは複数の記憶媒体を含む。いくつかの実装形態では、コンテンツモデルの１つまたは複数は、本明細書で説明されているさまざまな対話特徴とグラフィカル要素の特徴との間の関係を定義する。例えば、コンテンツモデルは、対話の電子的コミュニケーションのコミュニケーション特徴とグラフィカル要素の１つまたは複数の特徴との間の関係を定義することができる。いくつかの実装形態では、コンテンツモデルの１つまたは複数は、本明細書で説明されているさまざまな対話特徴とテキストの特徴との間の関係を定義する。例えば、コンテンツモデルは、対話の、以前に提示された電子的コミュニケーションのコミュニケーション特徴と、対話の、その後に提示されたコミュニケーションに含まれるテキストの１つまたは複数の特徴との間の関係を定義することができる。そのようなコンテンツモデルは、例えば、テキストのそれらの特徴に対応するグラフィカル要素特徴によってインデックス付けされるか、そうでなければそれと関連付けられるグラフィカル要素を識別するために利用され得る。
【００４７】
いくつかの実装形態では、データベース１５６のコンテンツモデルは、１つまたは複数のトレーニングされたコンテンツモデルを含み、その各々は、電子的コミュニケーションデータベース１５２の過去の電子的コミュニケーションから導出されたトレーニング例に基づいて、コンテンツモデルトレーニングエンジン１３５によってトレーニングされている。例えば、データベース１５６のコンテンツモデルは、トレーニングされた機械学習モデルであってよく、当該モデルは、様々な対話特徴に基づいてグラフィカル要素の特徴を予測するようにトレーニングされている。例えば、それは、トレーニング例に基づいてトレーニングされることができ、トレーニング例の各々は、対応する対話の１つまたは複数の以前に提示されたコミュニケーションの特徴を含むトレーニング例入力と、対応する対話のその後に提示されたコミュニケーション（例えば、以前に提示されたコミュニケーションのうちの対応する１つへの直接の返信であるその後に提示されたコミュニケーション）に含まれるグラフィカル要素の特徴を含むトレーニング例出力とを含む。
【００４８】
様々な実装形態では、グラフィカル要素システム１２０は、提示コミュニケーション特徴エンジン１２２、ユーザ状態エンジン１２４、後続コミュニケーション特徴エンジン１２６、履歴使用エンジン１２８、選択エンジン１３０、および／またはプレゼンテーションエンジン１３２を含み得る。ユーザ状態エンジン１２４は、任意選択で、ユーザ状態モデルデータベース１５８の１つまたは複数のユーザ状態モデルと通信し得る。履歴使用エンジン１２８は、任意選択で、履歴モデルデータベース１６０の１つまたは複数の履歴モデルと通信し得る。いくつかの実装形態では、エンジン１２２、１２４、１２６、１２８、１３０、および／または１３２の全てまたはいくつかの態様を省略することができる。いくつかの実装形態では、エンジン１２２、１２４、１２６、１２８、１３０、および／または１３２の全てまたはいくつかの態様を組み合わせることができる。いくつかの実装形態では、エンジン１２２、１２４、１２６、１２８、１３０、および／または１３２の全てまたはいくつかの態様は、クライアントデバイス１０６Ａおよび／または電子的コミュニケーションシステム１１０などの、グラフィカル要素システム１２０とは別個のコンポーネントで実装され得る。
【００４９】
提示コミュニケーション特徴エンジン１２２は、対話内で既に提示された１つまたは複数のコミュニケーションのうちの１つまたは複数のコミュニケーション特徴を決定する。例えば、エンジン１２２は、対話において最後に提示されたコミュニケーションについて、対話において最後に提示された閾値数量のコミュニケーションについて、および／または現在時刻に対する閾値量の時間内で対話において提示された任意のコミュニケーションについて、コミュニケーション特徴を決定し得る。
【００５０】
エンジン１２２は様々なコミュニケーション特徴を決定することができる。例えば、エンジン１２２は、提示された電子的コミュニケーションにおける１つまたは複数のｎ−ｇｒａｍをコミュニケーション特徴として決定することができる。例えば、複数のｎ−ｇｒａｍのうちの１つまたは複数は、提示された電子的コミュニケーションにおけるｎ−ｇｒａｍの用語頻度（ｔｅｒｍｆｒｅｑｕｅｎｃｙ）（すなわち、ｎ−ｇｒａｍが電子的コミュニケーションにおいてどのくらいの頻度で現れるか）、および／または文書の集まりにおけるｎ−ｇｒａｍの逆文書頻度（ｉｎｖｅｒｓｅｄｏｃｕｍｅｎｔ ｆｒｅｑｕｅｎｃｙ）（すなわち、電子的コミュニケーションの集まりのような、文書の集まりの中にｎ−ｇｒａｍがどのくらいの頻度で現れるか）に基づいて決定され得る。また、例えば、エンジン１２２は、提示された電子的コミュニケーションのうちの１つまたは複数における２つ以上のｎ−ｇｒａｍの共起、例えば、特定の順序（例えば、第２のｎ−ｇｒａｍの前の第１のｎ−ｇｒａｍ）、特定の位置関係（例えば、相互にｎ個の用語または文字内である）の共起などを、コミュニケーション特徴として決定することができる。また、例えば、提示コミュニケーション特徴エンジン１２２は、提示された電子的コミュニケーションのテキストに適用された１つまたは複数の自然言語処理タグまたは他のラベル（例えば、品詞、名前付きエンティティ、エンティティタイプ、トーン）に基づく１つまたは複数のコミュニケーション特徴、特に最初の文、最後の文、または電子的コミュニケーションの他の部分に現れるテキストに基づく特徴、電子的コミュニケーションが送信された時刻、電子的コミュニケーションが送信された曜日、対話内の参加者の数、電子的コミュニケーションを送信したデバイスの種類など、電子的コミュニケーションのメタデータに基づく特徴などを決定することができる。また、例えば、エンジン１２２は、提示された電子的コミュニケーションのうちの１つまたは複数に含まれるグラフィカル要素のうちの１つまたは複数のグラフィカル要素特徴を決定することができる。
【００５１】
コミュニケーション特徴の別の例として、エンジン１２２は、提示された電子的コミュニケーションに文脈的に関連する予測テキスト提案を決定し（例えば、図３Ｃのテキスト提案１９４）、それらのテキスト提案をコミュニケーション特徴として利用することができる。コミュニケーション特徴のさらに別の例として、エンジン１２２は、１つまたは複数の提示された電子的コミュニケーションの全体または提示された電子的コミュニケーションのサブセット（例えば、１つまたは複数の段落、１つまたは複数の文、１つまたは複数の単語）から、１つまたは複数の特徴の埋め込みベクトルを決定することができる。例えば、エンジン１２２は、コミュニケーションからの１つまたは複数の特徴を、学習された単語埋め込みに適用し、単語埋め込みを通じて、単語埋め込みにおいて特徴にマッピングされた値の埋め込みベクトルを決定することができる。値の埋め込みベクトルは、適用された特徴よりも低次元であり得る。埋め込みベクトルを決定するために利用される特徴は、１つまたは複数のｎ−ｇｒａｍ、１つまたは複数のｎ−ｇｒａｍに適用されるラベル、構文上の特徴、意味上の特徴、メタデータの特徴、および／または他の特徴を含み得る。
【００５２】
エンジン１２２は、対話の一部として提示される後続のコミュニケーションに含めるための提供のためにグラフィカル要素を決定する際に、選択エンジン１３０による利用のために、決定されたコミュニケーション特徴を選択エンジン１３０に提供する。
【００５３】
後続コミュニケーション特徴エンジン１２６は、後続コミュニケーションの１つまたは複数の後続コミュニケーション特徴（もしあれば）を決定する。例えば、ユーザが後続のコミュニケーションに含まれるべきコンテンツ（例えば、テキスト入力、グラフィカル要素）を提供した場合、エンジン１２６は、そのコンテンツの特徴を決定することができる。エンジン１２２に関して上述したもののうちの１つまたは複数などの様々な特徴が決定され得る。エンジン１２６は、対話の一部として提示される後続のコミュニケーションに含めるための提供のためにグラフィカル要素を決定する際に、選択エンジン１３０による利用のために、決定された後続のコミュニケーション特徴を選択エンジン１３０に提供する。
【００５４】
ユーザ状態エンジン１２４は、対話に参加している１または複数のユーザの１つまたは複数の動的状態のうちの１つまたは複数の現在の状態を決定する。ユーザ状態エンジン１２４は、ユーザの現在の状態を、適切な許可がそのユーザから得られた後に、決定することができる。いくつかの実装形態では、現在の状態は、対話に参加している１または複数のユーザの位置を示し得る。例えば、現在の状態は、対話の一部として提示されるべき後続のコミュニケーションを形成しているユーザの現在の場所を示すことができる。場所は、市、州、郵便番号、場所の分類（例えば、家、レストラン、イタリアンレストラン、コンサート会場）など、さまざまなレベルの細かさで定義され得る。別の例として、現在の状態は、対話内で最後にコミュニケーションを提示したユーザなど、対話内の１または複数の追加のユーザの現在位置を示し得る。
【００５５】
いくつかの実装形態では、現在の状態は、対話に参加している１または複数のユーザについての感情の１つまたは複数の分類および／または大きさを示し得る。様々な分類および／または大きさが利用され得る。例えば、幸せ、悲しみ、自然、活発、疲れ、ストレス、および／または他のユーザ状態を示す分類が利用され得る。それらのおよび／または他の実装形態のいくつかにおいて、ユーザ状態エンジン１２４は、感情のうちの１つまたは複数の大きさを決定することも可能である。例えば、ユーザ状態エンジン１２４は、「幸せ」については「０．８」の重み付け、「活発」については「０．７」の重み付け、および他の分類については「０．０」の重み付けを決定し得る。また、例えば、追加的におよび／または代替的に、（例えば、一般的な「幸せ」分類の代わりに）やや幸せ、中程度に幸せ、および非常に幸せのようなよりきめ細かい分類が利用され得る。
【００５６】
いくつかの実装形態では、ユーザ状態エンジン１２４は、１または複数のユーザに対する感情を決定する際に、対話のコミュニケーションのコンテンツを利用することができる。例えば、ユーザ状態モデルデータベース１５８は、感情分類子モデルを含み、エンジン１２４は、モデルへの入力として、対話の１つまたは複数のコミュニケーションからのテキストコンテンツを適用し、その入力に基づくモデルを介してテキストコンテンツにより示される感情の標示（ｉｎｄｉｃａｔｉｏｎ）を生成することができる。別の例として、対話の提示されたコミュニケーションに含まれるグラフィカル要素は、それらのグラフィカル要素に関連する感情を示すグラフィカル要素特徴にマッピングされてもよい。ユーザ状態エンジン１２４は、感情を決定する際にそのようなマッピングを利用することができる。
【００５７】
いくつかの実装形態では、ユーザ状態エンジン１２４は、対話に参加しているユーザのうちの少なくとも１人のコンピュータデバイス（例えば、クライアントデバイス１０６Ａ−Ｎのうちの１つ）の１つまたは複数のセンサ（例えば、カメラ、マイクロフォン、キーボードセンサ、タッチスクリーンセンサ、心拍数センサ）に基づくインジケータなど、対話のコミュニケーションのコンテンツに加えて、１つまたは複数のインジケータを使用して、１または複数のユーザに対する感情を決定する。これらの実装形態のいくつかにおいて、ユーザ状態エンジン１２４は、１つまたは複数のユーザ状態インジケータを、ユーザ状態モデルデータベース１５８の１つまたは複数のトレーニングされた分類子モデル、または他のトレーニングされた機械学習モデルに適用することに基づいて、感情の分類および／または大きさを決定する。例えば、カメラによってキャプチャされたユーザの１つまたは複数の画像は、顔検出器を通過し、さらに表情分類器を通過し、表情分類器の出力は、表情が幸せ、疲れ、悲しみ、および／または他の分類であるかどうかを示す。ユーザ状態エンジン１２４は、表情分類器の出力に少なくとも部分的に基づいて感情を決定することができる。別の例として、ユーザのクライアントデバイスのユーザインタフェース入力デバイスの１つに関連するセンサデータから決定されたユーザのタイピング速度は、ユーザ状態エンジン１２４によって、データベース１５８のユーザ状態モデルに適用され、ユーザの感情を決定するために利用される出力を生成する。
【００５８】
いくつかの実装形態では、ユーザ状態エンジン１２４は、複数のインジケータを合成することに基づいて感情を決定する。例えば、ユーザ状態エンジン１２４は、カメラによってキャプチャされたユーザの画像を、画像に基づいて感情の分類を予測するようにトレーニングされた第１の分類器に適用し、心拍センサデータに基づいて感情の分類を予測するようにトレーニングされた第２の分類器に心拍数センサデータを適用し得る。ユーザ状態エンジン１２４は、感情を決定する際に、２つの分類子の出力を考慮し得る。例えば、ユーザ状態エンジン１２４は、出力を平均して感情を決定し、感情を決定する際に、より大きい大きさの出力を使用し、および／または、そうでなければ、感情を決定する際に両方の出力を考慮および／または組み合わせることができる。
【００５９】
いくつかの実装形態では、ユーザ状態エンジン１２４は、対話に関与している複数のユーザの現在の状態を示す現在状態特徴を決定する。ユーザ状態エンジン１２４は、様々な技術を利用して複数のユーザの現在の状態を示す現在状態特徴を決定することができる。例えば、ユーザ状態エンジン１２４は、第１のユーザについての感情の１つまたは複数の分類および／または大きさを決定し、第２のユーザについての感情の１つまたは複数の分類および／または大きさを決定し、両方のユーザについての分類および／または感情に基づいて組み合わされた感情を決定し得る。例えば、ユーザ状態エンジン１２４は、２人のユーザの分類および大きさを平均してもよい。複数のユーザのユーザ状態を示す現在状態特徴を決定する追加のまたは代替の技術を利用することができる。
【００６０】
いくつかの実装形態では、ユーザ状態エンジン１２４は、対話に参加しているユーザによって使用される１つまたは複数のユーザインタフェース入力デバイスからのセンサデータに基づいて現在状態特徴を決定することができる。例えば、所与のユーザが対話においてタイプされた入力を（例えば、物理的なキーボードまたは仮想キーボードを使用して）提供した場合、所与のユーザの感情は、タイプされた入力のタイピング速度、（例えば、仮想キーボードを実装したタッチスクリーンによって感知されるような）タイプされた入力の１つまたは複数の文字に対し加えられた圧力、（例えば、タイプされた入力が他のコンテンツに応答して提供される場合の）タイプされた入力を提供し始めるための「遅延時間」、および／またはタイプされた入力の他の感知された特徴に基づいて決定され得る。別の例として、所与のユーザが対話において（例えば、マイクロフォンで感知されるような）音声入力を提供した場合、所与のユーザの感情は、音声入力のトーン、抑揚、イントネーション、アクセント、ピッチ、音量、呼吸量、呼吸レート、バックグラウンドノイズレベル、バックグラウンドノイズタイプ、および／または他の特徴に基づいて決定され得る。別の例として、ユーザ状態エンジン１２４は、テキスト入力を提供するために所与のユーザによってマイクロフォンが使用されていないときでも、マイクロフォンからの音声入力に基づいて所与のユーザについての感情を決定し得る。例えば、ユーザ状態エンジン１２４は、音声入力における特定の種類の音（例えば、笑い声、泣き声、音楽）の存在および／または不存在、音声入力における背景雑音レベル、音声入力における呼吸雑音レベル、音声入力における呼吸レート、音声入力における検出された音声の態様（例えば、イントネーション、アクセント）などに基づいて感情を決定することができる。
【００６１】
ユーザ状態エンジン１２４は、対話の一部として提示される後続のコミュニケーションに含めるための提供のためにグラフィカル要素を決定する際に、選択エンジン１３０による利用のために決定された現在状態特徴を選択エンジン１３０に提供する。
【００６２】
履歴使用エンジン１２８は、対話の一部として提示されるべきコミュニケーションを構成するユーザによるグラフィカル要素の過去の使用に関する過去の使用特徴を履歴モデルデータベース１６０に格納する。様々な種類の過去の使用特徴が格納され得る。例えば、履歴使用エンジン１２８は、複数の個別のグラフィカル要素の各々の使用（例えば、特定の絵文字の使用頻度）、特定のグラフィカル特徴を有するグラフィカル要素の使用（例えば、「幸せ」のグラフィカル要素特徴を有するグラフィカル要素の使用頻度）、特定の統合されたパックからのグラフィカル要素の使用（いくつかの実施形態では、１つまたは複数の共通の特徴によって相互にリンクされているか、または一体化されているグラフィカル要素を含む統合されたパック、例えば、ユーザによってインストールされた「カスタム」ステッカーパックからのグラフィカル要素の使用頻度）の、量および／または頻度を格納することができる。さらに、過去の使用特徴は、使用に関連する対話に参加しているユーザ、使用に関連付けられている場所、日付、および／または時刻など、過去の使用のコンテキストを示すコンテキスト情報と任意選択で関連付けられてもよい。例えば、過去の使用特徴は、１または複数の他のユーザのグループを含む対話と組み合わせて特定のグラフィカル特徴を有するグラフィカル要素の使用頻度を示すことができる。
【００６３】
履歴使用エンジン１２８は、対話の一部として提示される後続のコミュニケーションに含めるための提供のためにグラフィカル要素を決定する際に、選択エンジン１３０による利用のために、過去の使用特徴を選択エンジン１３０に提供する。
【００６４】
選択エンジン１３０は、エンジン１２２、１２４、１２６、および／または１２８によって提供される特徴のうちの１つまたは複数を利用して、対話の一部として提示される後続のコミュニケーションに含めるための提供のためにグラフィカル要素のグループを決定する。いくつかの実装形態では、選択エンジン１３０は、エンジン１２２、１２４、１２６、および１２８の各々からの特徴を利用する。いくつかの他の実装形態では、特徴は、エンジン１２２、１２４、１２６、および１２８のサブセットによってのみ提供されてもよく（例えば、１つまたは複数のエンジンが省略されてもよい）、および／または選択エンジン１３０は、提供された特徴のサブセットのみを利用してもよい。
【００６５】
いくつかの実装形態では、選択エンジン１３０は、グラフィカル要素データベース１５４内のそれらのグラフィカル要素に割り当てられている１つまたは複数のグラフィカル要素特徴と一致する提供された特徴に基づいて、グループに含めるための１つまたは複数のグラフィカル要素を選択する。これらの実装形態のいくつかにおいて、選択エンジン１３０は、選択されたグラフィカル要素についての一致するグラフィカル要素特徴の重み付けに基づいて、含めるためのグラフィカル要素をさらに選択することができる。一例として、提示コミュニケーション特徴エンジン１２２が、ｎ−ｇｒａｍ「夕食」であるコミュニケーション特徴を提供し、ユーザ状態エンジン１２４が、現在の状態「陽気」を示す現在状態特徴を提供すると仮定する。選択エンジン１３０は、ｎ−ｇｒａｍ「夕食」および現在の状態「陽気」を含むグラフィカル要素特徴を有する１つまたは複数のグラフィカル要素を選択することができ、任意選択で、それらのグラフィカル要素に対する「夕食」および「陽気」の重み付けに基づいてそれらを選択することができる。別の例として、提示コミュニケーション特徴エンジン１２２が、提示された電子的コミュニケーションに文脈的に関連する予測されたテキスト提案「ｌａｔｅｒａｌｌｉｇａｔｏｒ（レイター、アリゲーター）」を提供すると仮定する（例えば、提示された電子的コミュニケーション「ｂｙｅ（さようなら）」）。選択エンジン１３０は、アリゲーターを描写し、かつ「ａｌｌｉｇａｔｏｒ（アリゲーター）」という用語によってインデックス付けされているグラフィカル要素などの、予測されたテキスト提案の１つまたは複数の用語によってインデックス付けされているグラフィカル要素を選択することができる。
【００６６】
いくつかの実装形態では、選択エンジン１３０は、コンテンツモデルデータベース１５６のコンテンツモデルのうちの１つまたは複数への入力として１つまたは複数の提供された特徴を適用し、適用された入力に基づくコンテンツモデルを介して生成された出力に基づいてデータベース１５４から１つまたは複数のグラフィカル要素を選択し得る。例えば、コンテンツモデルのうちの１つが、対話の提示されたコミュニケーション特徴とグラフィカル要素の１つまたは複数の特徴との間の関係を定義することができる。選択エンジン１３０は、コンテンツモデルへの入力として、エンジン１２２によって提供された提示されたコミュニケーション特徴を適用し、入力に基づくコンテンツモデルを通じて、１つまたは複数のグラフィカル要素特徴の標示を生成することができる。選択エンジン１３０は、生成された標示を利用して、グループに含めるための１つまたは複数のグラフィカル要素を選択することができる。別の例として、コンテンツモデルのうちの１つは、対話の、以前に提示された電子的コミュニケーションのコミュニケーション特徴と、対話の、その後に提示されたコミュニケーションに含まれるテキストの１つまたは複数の特徴との間の関係を定義することができる。選択エンジン１３０は、モデルへの入力として、様々な受信された対話特徴を適用し、その入力に基づくモデルを通じて、通常は対話の後のコミュニケーションで提示されるテキストの特徴の標示を生成することができる。選択エンジン１３０は、テキストの特徴を利用して、テキストの特徴と一致するグラフィカル要素特徴を有するグラフィカル要素に基づいてグループに含める１つまたは複数のグラフィカル要素を選択することができる。
【００６７】
プレゼンテーションエンジン１３２は、対話の一部として提示されるべき電子的コミュニケーションに含めるために選択エンジン１３０によって決定されたグラフィカル要素のグループを提供する。グラフィカル要素のグループを提供することは、例えば、実際のグラフィカル要素を提供すること、またはグラフィカル要素の標示を提供することを含み得る。いくつかの実装形態では、プレゼンテーションエンジン１３２は、提示のためにグラフィカル要素のグループを提供してもよく、コミュニケーションを生成するユーザがグラフィカル要素のうちの１つを選択すると、対応するグラフィカル要素がコミュニケーションに組み込まれ得る。いくつかの実装形態では、グラフィカル要素のグループは、ユーザが「返信」ユーザインタフェース要素、「追加コンテンツ」ユーザインタフェース要素を選択することに応答して、またはコミュニケーションにグラフィカル要素を含める要望を示す他のユーザインタフェース入力に応答して、提供および／または提示され得る。
【００６８】
いくつかの実装形態では、プレゼンテーションエンジン１３２は、コミュニケーションを生成する際に、ユーザのコンピューティングデバイスを介して提供される任意のテキスト入力および／または他のコンテンツとは無関係に、提示のためのグラフィカル要素を提供する。いくつかの実装形態では、プレゼンテーションエンジン１３２は、選択エンジン１３０によって決定されたグラフィカル要素に対するスコアに基づいて、返信に含めるためのグラフィカル要素を提供する。例えば、いくつかの実装形態では、プレゼンテーションエンジン１３２は、提示のためのグラフィカル要素を、それらに関連するスコアに基づいて際立たせることができる。例えば、関連性を最も示すスコアを有するグラフィカル要素は、最も目立つように提示するために提供され得る（例えば、一番上、一番左、および／または最大）。別の例として、グループの選択された１つまたは複数のグラフィカル要素のスコアが閾値を満たす場合、グラフィカル要素のグループは、自動的に、またはある第１のユーザインタフェース入力に応答して、提示のために提供されてもよく、スコアが閾値を満たさない場合には、別個のユーザインタフェース入力が必要とされてもよい。例えば、スコアが閾値を満たす場合、提案されるグラフィカル要素および／またはその他の追加コンテンツを明示的に求める「追加コンテンツ」インタフェース要素をユーザが別個に選択するのを必要とすることなく、ユーザが「返信」インタフェース要素を選択したときに、グラフィカル要素のグループが提供され、ユーザに提示され得る。しかし、スコアが閾値を満たさない場合、ユーザが返信インタフェース要素を選択したときに、グラフィカル要素のグループは提供されず、ユーザに提示されない可能性がある。むしろ、グラフィカル要素のグループをユーザに提供および／または提示する前に、別個の「追加コンテンツ」インタフェース要素の選択が必要とされ得る。
【００６９】
いくつかの実装形態では、プレゼンテーションエンジン１３２の１つまたは複数（例えば、全て）の態様は、クライアントデバイス１０６Ａおよび／または電子的コミュニケーションシステム１１０によって実装され得る。いくつかの実装形態では、プレゼンテーションエンジン１３２は、グループのグラフィカル要素の標示のみ、および潜在的にプロミネンス情報を提供し、クライアントデバイス１０６Ａおよび／または電子的コミュニケーションシステム１１０は、提供されたデータに基づいてグラフィカル要素のグループの表示を生成し得る。いくつかの実装形態では、プレゼンテーションエンジン１３２は、表示を生成するのに必要なデータのいくつかまたは全てを追加的に提供し得る。これらの実装形態のいくつかにおいて、任意の提供されたプロミネンス情報が、表示がどのように提示されるべきであるかを示すデータに組み込まれてもよい。
【００７０】
図２を参照して、図１の構成要素についてさらに説明する。図２において、対応するクライアントデバイス１０６Ａ−１０６Ｎのユーザインタフェース入力デバイス１０６Ａ１−１０６Ｎ１は、対話の一部として提示される、提示されたコミュニケーション２０１を生成する際に利用される。例えば、クライアントデバイス１０６Ｂのユーザは、クライアントデバイス１０６Ｂのユーザ、クライアントデバイス１０６Ａのユーザ、および任意選択で１または複数の追加のユーザを含む対話の一部として、提示されたコミュニケーション２０１のうちの１つを提示するためにユーザインタフェース入力デバイス１０６Ｂ１を利用し得る。
【００７１】
提示コミュニケーション特徴エンジン１２２は、提示されたコミュニケーション２０１のうちの１つまたは複数の提示されたコミュニケーション特徴２２２を決定し、提示されたコミュニケーション特徴２２２を選択エンジン１３０に提供する。
【００７２】
クライアントデバイス１０６Ａのユーザは、対話の一部としてユーザによって提示されるべき後続の電子的コミュニケーションに含めるための後続のコンテンツ２０３を提供する際に、ユーザインタフェース入力デバイス１０６Ａ１を任意選択で利用する。例えば、コンテンツは、ユーザの、発話されたまたはタイプされた入力に基づくテキストを含み得る。後続コミュニケーション特徴エンジン１２６は、後続のコンテンツ２０３に基づいて１つまたは複数の後続のコミュニケーション特徴２２６を決定し、後続のコミュニケーション特徴２２６を選択エンジン１３０に提供する。本明細書で説明されるように、いくつかの実装形態では、ユーザは、後続の電子的コミュニケーションに含めるための後続のコンテンツ２０３を提供しなかった可能性があり、後続のコミュニケーション特徴２２６が決定されず、または選択エンジン１３０に提供されないことがある。
【００７３】
ユーザ状態エンジン１２４は、提示されたコミュニケーション２０１のコンテンツに基づいて、後続のコンテンツ２０３に基づいて、および／または対応するクライアントデバイス１０６Ａ−１０６Ｎの１つまたは複数のセンサ１０６Ａ２−１０６Ｎ２に基づいて、対話に参加する１または複数のユーザの現在状態特徴２２４を決定する。ユーザ状態エンジン１２４は、そのような入力に基づいて現在状態特徴２２４を決定する際に、データベース１５８の１つまたは複数のユーザ状態モデルを任意選択で利用することができる。ユーザ状態エンジン１２４は、現在状態特徴２２４を選択エンジン１３０に提供する。
【００７４】
履歴使用エンジン１２８は、履歴モデルデータベース１６０の１つまたは複数の履歴モデルに基づいて過去の使用特徴２２８を選択エンジン１３０に提供する。
選択エンジン１３０は、提供された特徴２２２、２２４、２２６、および２２８のうちの１つまたは複数に基づいてグラフィカル要素のグループ２０７を決定する。いくつかの実装形態では、選択エンジン１３０は、提供された特徴２２２、２２４、２２６、および２２８のうちの１つまたは複数に一致する、グラフィカル要素データベース１５４における割り当てられたグラフィカル要素特徴を各々有するグラフィカル要素に基づいて、グループ２０７のグラフィカル要素の１つまたは複数を選択する。いくつかの実装形態では、選択エンジン１３０は、追加的に、または代替として、コンテンツモデルデータベース１５６のコンテンツモデルのうちの１つまたは複数への入力として、提供された特徴２２２、２２４、２２６、および２２８のうちの１つまたは複数を適用すること、入力に基づいてコンテンツモデルを通じて出力を生成すること、生成された出力に一致する、グラフィカル要素データベース１５４における割り当てられたグラフィカル要素特徴を有するグラフィカル要素を選択することに基づいて、グループ２０７のグラフィカル要素の１つまたは複数を選択する。
【００７５】
プレゼンテーションエンジン１３２は、クライアントデバイス１０６Ａのユーザインタフェース出力デバイス１０６Ａ３（例えば、ディスプレイ）を介してユーザに提示するためのグラフィカル要素のグループ２０７を提供する。
【００７６】
図２では、エンジン１２２、１２４、１２６、および１２８の各々が選択エンジン１３０に特徴を提供するように示されているが、他の実装形態では、エンジンのうちの１つまたは複数が選択エンジン１３０に特徴を提供しない場合がある（例えば、１つまたは複数のエンジンが省略され得る）。
【００７７】
図３Ａ−図４を参照して、グラフィカル要素システム１２０の実装形態の様々な例が説明される。図３Ａ、図３Ｂ１、図３Ｂ２、図３Ｂ３、図３Ｃ、図３Ｄ１、図３Ｄ２、および図４は、それぞれクライアントデバイス１０６Ａと、クライアントデバイス１０６Ａの表示画面１４０（画面１４０は、図２のユーザインタフェース出力デバイス１０６Ａ３であってよい）を示す。様々な図の表示画面１４０は、本明細書に開示された実施形態による、ユーザおよび１または複数の追加のユーザを含む対話の例、および対話の一部としてユーザにより提示されるべき後続の電子的コミュニケーションに含めるためにグラフィカル要素がどのようにユーザに提示され得るかの例を伴うグラフィカルユーザインタフェースを表示する。グラフィカル要素システム１２０の１つまたは複数の態様は、クライアントデバイス１０６Ａ上および／またはクライアントデバイス１０６Ａとネットワーク通信している１つまたは複数のコンピューティングデバイス上で実装することができる。
【００７８】
図３Ａ、図３Ｂ１、図３Ｂ２、図３Ｂ３、図３Ｃ、図３Ｄ１、図３Ｄ２、および図４の表示画面１４０は、仮想キーボードを介してユーザインタフェース入力を生成するためにユーザが選択することができる返信インタフェース要素１８８と、マイクロフォンを介してユーザインタフェース入力を生成するためにユーザが選択することができる音声返信インタフェース要素１８９とをさらに含む。いくつかの実装形態では、ユーザは、音声返信インタフェース要素１８９を選択せずに、マイクロフォンを介してユーザインタフェース入力を生成することができる。例えば、対話中に、マイクロフォンを介した可聴ユーザインタフェース入力に対するアクティブモニタリングが発生して、ユーザが音声返信インタフェース要素１８９を選択する必要性を取り除くことができる。それらのうちのいくつかおよび／または他の実装形態では、音声返信インタフェース要素１８９を省略することができる。さらに、いくつかの実装形態では、返信インタフェース要素１８８は、追加的に、および／または代替的に省略され得る（例えば、ユーザは、可聴ユーザインタフェース入力を提供するだけでよく、提案されたグラフィカル要素および／またはテキスト提案と対話し得る）。図３Ａ、図３Ｂ１、図３Ｂ２、図３Ｂ３、図３Ｃ、図３Ｄ１、図３Ｄ２、および図４の表示画面１４０は、システムインタフェース要素１８１、１８２、１８３も含み、これらはユーザによって対話されて、クライアントデバイス１０６Ａに１つまたは複数の動作を実行させることができる。
【００７９】
図３Ａにおいて、クライアントデバイス１０６Ａのユーザと、少なくとも２人の追加のユーザ（ボブとトム）との間の対話のトランスクリプトが、グラフィカルユーザインタフェースに表示されている。対話内の第１の追加のユーザ（ボブ）は、電子的コミュニケーション３２１「明日の夕食はどうでしょう？（ＨｏｗＡｂｏｕｔ Ｄｉｎｎｅｒ Ｔｏｍｏｒｒｏｗ？）」を提示しており、対話内の第２の追加のユーザ（トム）は、電子的コミュニケーション３２２「参加します！（Ｉａｍ ｉｎ！）」を提示している。
【００８０】
図３Ａの例では、対話の一部として提示されるべき電子的コミュニケーションのためのコンテンツを提供するためにユーザが選択することができる返信インタフェース要素１８８が提供される。対話の一部として提示されるべき電子的コミュニケーションに含める候補として１つまたは複数のグラフィカル要素のグループが提示されるようにユーザが選択することができる追加コンテンツインタフェース要素１８７も提供される。
【００８１】
図３Ｂ１、図３Ｂ２、および図３Ｂ３は、追加コンテンツインタフェース要素１８７の選択に応答して、グラフィカル要素がどのようにしてユーザに示され、図３Ａの対話の一部としてユーザによって提示される後続の電子的コミュニケーションに含まれることができるかの一例を示す。
【００８２】
図３Ｂ１は、ユーザが図３Ａの追加コンテンツインタフェース要素１８７を選択した後のグラフィカルインタフェースを示す。図３Ｂ１において、追加コンテンツインタフェース要素１８７の選択に応答して、グラフィカル要素のグループ１９１がユーザに提示される。５つのグラフィカル要素がグループ１９１に含まれ、省略符号もグループ１９１の右側に示されている。いくつかの実装形態では、省略符号は、文脈的には関連があるが初期グループには含まれないもの、および／または文脈的に関連がないものなどの追加のグラフィカル要素を表示するように選択され得る（例えば、利用可能な全てのグラフィカル要素を閲覧するため）。
【００８３】
グループ１９１のグラフィカル要素のうちの１つまたは複数は、本明細書で説明されているさまざまな特徴に基づいて選択エンジン１３０によって選択され得る。例えば、それらは、提示コミュニケーション特徴エンジン１２２によって提供されるように、電子的コミュニケーション３２１および／または３２２の提示されたコミュニケーション特徴に基づいて選択エンジン１３０によって選択されてもよい。例えば、提示されたコミュニケーション特徴は、コミュニケーション３２１におけるその用語の存在に基づいて、テキスト特徴「夕食」を含むことができる。いくつかの実装形態では、選択エンジン１３０は、「ピザ」および「ハンバーガー」のグラフィカル要素を、それらにテキスト特徴「夕食」と一致するグラフィカル要素特徴（例えば、夕食および／または食べ物）が割り当てられていることに基づいて選択し得る。いくつかの実装形態では、選択エンジン１３０は、「夕食」テキスト特徴をデータベース１５６のコンテンツモデルのうちの１つまたは複数に適用すること、コンテンツモデルへのテキスト特徴の適用に基づいて、「夕食」テキスト特徴を有する提示されたコミュニケーションを含む対話における後続のコミュニケーションが、しばしば「食物」および「飲物」のグラフィカル要素および／または「食物」および「飲み物」のテキストを含むことを示す出力を生成することに基づいて、「ピザ」、「ハンバーガー」、および／または「ワイングラス」のグラフィカル要素を選択し得る。選択エンジン１３０は、「ピザ」、「ハンバーガー」、および「ワイングラス」のグラフィカル要素を、それらの各々に出力の１つまたは複数の態様に一致するグラフィカル要素特徴が割り当てられていることに基づいて、選択することができる。
【００８４】
別の例として、選択エンジン１３０は、追加または代替の提示されたコミュニケーション特徴をコンテンツモデルに適用すること、提示されたコミュニケーション特徴をコンテンツに適用することに基づいて、それらの提示されたコミュニケーション特徴を含む対話における後続のコミュニケーションが、しばしば「確認」と「幸せ」のグラフィカル要素、および／または「確認」と「幸せ」のテキストを含むことを示す出力を生成することに基づいて、「ＯＫハンドシグナル」および「スマイリー」グラフィカル要素を選択し得る。選択エンジン１３０は、「ＯＫハンドシグナル」のグラフィカル要素を、それにグラフィカル要素特徴「確認」が割り当てられていることに基づいて選択し、「スマイリーフェイス」のグラフィカル要素を、それに「幸せ」グラフィカル要素特徴が割り当てられていることに基づいて選択することができる。
【００８５】
図３Ｂ２は、ユーザが「ＯＫハンドシグナル」グラフィカル要素を選択し、次いで「ピザ」グラフィカル要素を選択し、次いでさらなるユーザインタフェース入力（例えば、タイプされた入力）「？」を提供した後のグラフィカルインタフェースを示す。選択およびさらなるユーザインタフェース入力に応答して、選択されたグラフィカル要素およびさらなるユーザインタフェースの入力が、ユーザによって構成されている後続のコミュニケーションの一部として、返信インタフェース要素１８８に順次追加される。提示インタフェース要素１９３も、図３Ｂ２に提供されている。
【００８６】
図３Ｂ３は、ユーザが図３Ｂ２の提示インタフェース要素１９３を選択して、対話に含めるために、図３Ｂ１において構成されている後続のコミュニケーションを提示した後のグラフィカルインタフェースを示す。図３Ｂ３において、図３Ｂ１において構成されている後続のコミュニケーションが提示され、対話に含まれている。これは、後続のコミュニケーション３３２を含む、図３Ｂ３の対話の更新されたトランスクリプトによって示されている。
【００８７】
図３Ｃは、図３Ａの対話の一部としてユーザによって提示されるべき後続のコミュニケーションに含める候補としてグラフィカル要素がどのようにユーザに提示され得るかの別の例を示す。いくつかの実装形態では、図３Ｃのグラフィカルインタフェースが、追加コンテンツインタフェース要素１８７の選択に応答して図３Ｂ１のグラフィカルインタフェースの代わりに提示され得る。いくつかの実装形態では、図３Ｃのグラフィカルインタフェースが、追加コンテンツインタフェース要素１８７の選択の代わりに図３Ａの返信インタフェース要素１８８の選択に応答して提示され得る。
【００８８】
図３Ｃにおいて、グラフィカル要素のグループ１９１は、図３Ｂにおいて提示されたものと同じである。しかしながら、図３Ｃにおいては、インタフェースは、ユーザがテキスト入力を形成することを可能にするための仮想キーボード１８７も含み、対話に文脈的に関連するテキスト提案１９４を含む。テキスト提案１９４は、例えば、提示されたコミュニケーション特徴をコンテンツモデルデータベース１５６のコンテンツモデルの１つまたは複数に適用して、それらの提示されたコミュニケーション特徴を含む対話内の後続のコミュニケーションに含まれるテキストを示す出力を生成することによって生成され得る。図３Ｃにおいて、ユーザは、キーボード１８７を使用して、提示されるべきコミュニケーションに含めるためのテキストコンテンツを生成すること、提示されるべきコミュニケーションにおいてコンテンツとして含めるためのテキスト提案１９４のうちの１つを選択すること、および／または、コンテンツとして含めるためのグループ１９１のグラフィカル要素のうちの１つを選択することができる。ユーザが所望のコンテンツと共に提示されるべきコミュニケーションを形成すると、ユーザは、提示インタフェース要素１９３を利用して対話に含めるためにそれを提示することができる。本明細書で説明されるように、いくつかの実装形態では、テキスト提案１９４のうちの１つまたは複数が、グラフィカル要素１９１のうちの１つまたは複数を選択するための特徴として利用され得る。例えば、「ＯＫハンドシグナル」グラフィカル要素、および／または「ハッピー」グラフィカル要素は、フレーズ「いいね（ｓｏｕｎｄｓｇｏｏｄ）」および／または語句「良い（ｇｏｏｄ）」によってインデックス付けされていることに少なくとも部分的に基づいて選択され得る。
【００８９】
図３Ｄ１および図３Ｄ２は、図３Ａの対話の一部としてユーザによって提示されるべき後続のコミュニケーションに含める候補としてグラフィカル要素がどのようにユーザに提示され得るかのさらに別の例を示す。いくつかの実装形態では、図３Ｄ１のグラフィカルインタフェースは、図３Ａの返信インタフェース要素１８８の選択に応答して提示され得る。図３Ｄにおいて、ユーザは、仮想キーボード１８７を使用して、対話内で提示されるべき後続のコミュニケーションにおいて、テキスト入力「いいよ、何を持っていこうか？（Ｙｅｓ，ｗｈａｔｃａｎ Ｉ ｂｒｉｎｇ？）」を提供する。
【００９０】
図３Ｄ２は、図３Ｄ１のテキスト入力を提供した後に、追加コンテンツインタフェース要素１８７をユーザが選択したことに応答して提示され得るグラフィカル要素のグループ１９５の一例を示す。グラフィカル要素のグループ１９５は、テキスト入力「いいよ、何を持っていこうか？」に基づく後続のコミュニケーション特徴も考慮に入れながら選択されることに基づいて、グループ１９１（図３Ｂ１、図３Ｂ２、図３Ｃ）と異なっている。例えば、選択エンジン１３０は、グループ１９５に含めるためのグラフィカル要素を選択する際に、後続コミュニケーション特徴エンジン１２６によって提供された１つまたは複数の後続のコミュニケーション特徴を利用することができる。後続のコミュニケーション特徴のそのような利用は、「ワイングラス」のグラフィカル要素の表示の際立ち（ｐｒｏｍｉｎｅｎｃｅ）を促進させ、新しい「パイ」および「サラダ」のグラフィカル要素をグループ１９５に含ませる。ユーザは、任意選択的に、提示されるべきコミュニケーションに選択されたグラフィカル要素を含めるためにグラフィカル要素のうちの１つまたは複数を選択し、提示インタフェース要素１９３の選択を通じてそのコミュニケーションを提示することができる。
【００９１】
いくつかの実装形態では、図３Ｄ１においてテキスト入力「いいよ、何を持っていこうか？」を提供する前に、ユーザは、最初に追加コンテンツインタフェース要素１８７を選択し、図３Ｂ１、図３Ｂ２、図３Ｃのグループ１９１を提示されてもよい。これらの実装形態のいくつかでは、図３Ｄ１においてテキスト入力「いいよ、何を持っていこうか？」を提供することに応答して、グループ１９１は、そのテキスト入力に基づく後続のコミュニケーション特徴の考慮に基づいてグループ１９５（図３Ｄ２）に置き換えることができる。また、いくつかの実装形態では、ユーザの後続のコミュニケーションの構成中に対話の一部として提示された追加のユーザからのさらなる提示されたコミュニケーションが、グラフィカル要素の提供されたグループを更新するために利用され得る（すなわち、さらに提示されたコミュニケーションの提示されたコミュニケーション特徴をさらに考慮に入れることによって）。
【００９２】
図４は、図３Ａの例示的なクライアントコンピューティングデバイス、および対話の一部としてユーザによって提示されるべき後続のコミュニケーションに含める候補としてグラフィカル要素がどのようにユーザに提示され得るかの別の例を示す。図４において、クライアントデバイス１０６Ａのユーザと、少なくとも１人の追加のユーザ（ボブ）との間の対話のトランスクリプトが、グラフィカルユーザインタフェースに表示される。対話内の追加のユーザ（ボブ）が、電子的コミュニケーション４２１「ではまたすぐに（Ｔａｌｋｔｏ ｙｏｕ ｓｏｏｎ）」を提示した。
【００９３】
ユーザは、仮想キーボード１８７を使用して、返信インタフェース要素１８８において、テキスト入力「後でね（Ｌａｔｅｒ）」を、対話の一部として提示されるべき後続の電子的コミュニケーションのコンテンツとして提供する。グラフィカル要素のグループ１９７がユーザに提示され、それは、「アリゲーター」のグラフィカル要素および「スマイリー」のグラフィカル要素を含む。いくつかの実装形態では、グループ１９７は、提案されたグラフィカル要素を提供することを要求する明示的なユーザインタフェース入力なしにユーザに提示され得る。これらの実装形態のいくつかにおいて、グループ１９７は、選択エンジン１３０が、グループのグラフィカル要素のうちの１つまたは複数に関連するスコアが閾値を満たすと決定することに基づいて提供され得る。いくつかの実装形態では、選択エンジン１３０は、コミュニケーション４２１の提示されたコミュニケーション特徴、テキスト入力「後でね」に基づく後続のコミュニケーション特徴、および彼らが「陽気」であることを示すユーザおよび／または「ボブ」の感情に基づいて、グループ１９７を決定することができる。例えば、「アリゲーター」のグラフィカル要素は、それが用語「後で（ｌａｔｅｒ）」を含む後続のコミュニケーションに対して強い重み付けを有すること、「ではまたすぐに」などの「出発の発言」を含む提示されたコミュニケーションに対して強い重み付けを有すること、および「陽気な」感情に対し強い重み付けを有することを示すグラフィカル要素特徴でインデックス付けされ得る。
【００９４】
図５Ａは、本明細書に開示されている実装形態による、対話に含めるためのグラフィカル要素のグループを提供する例示的な方法５００を示すフローチャートである。便宜上、フローチャートの動作は、動作を実行するシステムを参照して説明される。このシステムは、グラフィカル要素システム１２０の１つまたは複数の構成要素など、様々なコンピュータシステムの様々な構成要素を含み得る。さらに、方法５００の動作は特定の順序で示されているが、これは限定的なものであることを意味していない。１つまたは複数の動作を並べ替え、省略し、または追加することができる。
【００９５】
ブロック５５２において、システムは、ユーザと、１または複数の追加のユーザとを含む対話の一部として提示された電子的コミュニケーションを受信する。
ブロック５５４において、システムは、電子的コミュニケーションの１つまたは複数のコミュニケーション特徴を決定する。例えば、システムは、対話の一部として提示された、１つまたは複数の提示されたコミュニケーションの１つまたは複数の提示されたコミュニケーション特徴を決定することができる。また、例えば、システムは、追加的に、または代替的に、対話の一部として提示する後続のコミュニケーションに含めるためにユーザによって提供されたコンテンツ（もしあれば）に基づいて、１つまたは複数の後続のコミュニケーション特徴を決定し得る。
【００９６】
任意選択のブロック５５６において、システムは、１つまたは複数の追加の特徴を決定する。例えば、システムは、対話に参加しているユーザに関連する１つまたは複数の動的状態の現在の状態を示す現在状態特徴を決定することができる。また、例えば、システムは、追加的に、または代替的に、１つまたは複数のグラフィカル要素の、ユーザの過去の使用を示す過去の使用特徴を決定してもよい。
【００９７】
ブロック５５８において、システムは、ユーザの後続のコミュニケーションに含めるためのグラフィカル要素のグループを決定する。いくつかの実装形態では、システムは、ブロック５５８を実行することの一部としてブロック５５９を実行する。ブロック５５９において、システムは、ブロック５５４で決定されたコミュニケーション特徴に基づいて、および任意選択で、ブロック５５６において決定された追加の特徴に基づいて、グループのための１つまたは複数のグラフィカル要素を選択する。ブロック５５９の２つの例が、図５Ｂおよび図５Ｃに示されている。
【００９８】
ブロック５６０において、システムは、対話の後続のコミュニケーションに含める候補としてグラフィカル要素のグループを提供する。
ブロック５５２、５５４、５５６、５５８、および５６０の複数の反復が対話の間に行われて、対話全体にわたって発生し得る対話のコンテキストにおける様々な変化にグラフィカル要素を適合させることが可能である。
【００９９】
図５Ｂは、方法５００のブロック５５９の実装の例をさらに詳細に示すフローチャートである。図５Ｂのフローチャートの動作は特定の順序で示されているが、これは限定的なものであることを意味していない。１つまたは複数の動作を並べ替え、省略し、または追加することができる。
【０１００】
ブロック５６２において、システムは、ブロック５５４（図５）のコミュニケーション特徴のうちの１つまたは複数、および／またはブロック５５６（図５）の追加の特徴のうちの１つまたは複数に関連するグラフィカル要素を識別し、任意選択でスコアを付ける。例えば、システムは、特徴のうちの１つまたは複数によってインデックス付けされている（例えば、特徴の１つまたは複数に対応する割り当てられたグラフィカル要素特徴を含む）グラフィカル要素を識別し得る。システムは、グラフィカル要素が関連付けられている特徴の量に基づいて、および／またはマッチング特徴とグラフィカル要素との間の関連付けに割り当てられた任意選択の重み付けに基づいて、グラフィカル要素の各々にスコアを付け得る。
【０１０１】
ブロック５６４において、システムは、ブロック５６２で識別されたグラフィカル要素の１つまたは複数に対するユーザの過去の使用特徴を決定する。過去の使用特徴は、図５のブロック５５６で決定された特徴であり得る。例えば、所与のグラフィカル要素について、システムは、所与のグラフィカル要素のユーザによる使用頻度、所与のグラフィカル要素と１つまたは複数のグラフィカル要素特性を共有する全てのグラフィカル要素のユーザによる使用頻度、および／または所与のグラフィカル要素が属する統合されたグラフィカル要素パックからのグラフィカル要素のユーザによる使用頻度を決定することができる。
【０１０２】
ブロック５６６において、システムは任意選択で、過去の使用特徴に基づいて、識別されたグラフィカル要素にスコアを付ける。システムは、ブロック５６２で決定された任意選択のスコアを修正してもよく、および／または過去の使用特徴に基づいて新しいスコアを生成してもよい。例えば、システムは、閾値程度の過去の使用がない他のグラフィカル要素に割り当てるよりも、少なくとも閾値程度の過去の使用に関連するグラフィカル要素に、より顕著なスコアを割り当てることができる。また、例えば、システムは、過去の使用特徴が、少なくとも閾値程度のユーザによる過去の使用を示すグラフィカル要素のスコアを増進させることによって、ブロック５６２で決定された任意選択のスコアを修正することができる。
【０１０３】
ブロック５６８において、システムは、任意選択でスコアに基づいて、識別されたグラフィカル要素のうちの１つまたは複数を選択する。例えば、システムは、最初にユーザに表示されるグループに含めるためのＮ個の最も際立つスコア付けがされたグラフィカル要素を選択し得る。Ｎは、グラフィカル要素が提供されることになるクライアントデバイスの表示特性、スコア自体（例えば、閾値を満たすスコアを有するグラフィカル要素のみが選択される）などの様々なファクターに基づいて選択され得る。
【０１０４】
図５Ｃは、方法５００のブロック５５９の実装の別の例をさらに詳細に示すフローチャートである。図５Ｃのフローチャートの動作は特定の順序で示されているが、これは限定的なものであることを意味していない。１つまたは複数の動作を並べ替え、省略し、または追加することができる。
【０１０５】
ブロック５７２において、システムは、トレーニングされた機械学習モデルへの入力として、コミュニケーション特徴および／または追加の特徴を適用する。例えば、トレーニングされた機械学習モデルは、対話の電子的コミュニケーションの特徴と、１つまたは複数のグラフィカル要素の特徴および／またはテキストの１つまたは複数の特徴との間の関係を埋め込むことができる。
【０１０６】
ブロック５７４において、システムは、ブロック５７２で適用された入力に基づいたモデルを通じて、１つまたは複数のグラフィカル要素を示す出力を生成する。例えば、出力は、１つまたは複数のグラフィカル要素特徴、および／またはテキストの１つまたは複数の特徴を示し得る。いくつかの実装形態では、出力は、任意選択で、示された特徴のうちの１つまたは複数に対する重み付けを示し得る。
【０１０７】
ブロック５７６において、システムは、ブロック５７４の出力に基づいて１つまたは複数のグラフィカル要素を選択する。例えば、システムは、ブロック５７４の出力によって示される特徴に対応するグラフィカル要素特徴によってインデックス付けされるか、そうでなければ関連付けられるグラフィカル要素を選択することができる。いくつかの実装形態では、特徴に対し出力において示される任意選択の重み付けが、グラフィカル要素のうちの１つまたは複数を選択するために利用され得る。例えば、より強い重み付けを有する特徴に関連するそれらのグラフィカル要素は、より弱い重み付けを有する特徴のみに関連するそれらのグラフィカル要素よりも選択される可能性が高い。例えば、スコアは、グラフィカル要素のうちのいくつかを選択するために利用される重み付けおよびスコアに基づいて、グラフィカル要素の各々について決定され得る。いくつかの実装形態では、スコアは、図５Ｂのブロック５６４および５６６に関して説明したように、追加的に、または代替的に、過去の使用特徴に基づいて決定され得る。
【０１０８】
図５Ｂおよび図５Ｃは、異なる図として示されているが、いくつかの実装形態では、図５Ｂのブロックのうちの１つまたは複数と、図５Ｃのブロックのうちの１つまたは複数は、方法５００のブロック５５９の所与の繰り返しにおいて両方とも実行され得る。例えば、いくつかのグラフィカル要素は、図５Ｂのブロックに基づいて選択されてもよく、他のグラフィカル要素は、図５Ｃのブロックに基づいて選択されてもよい。また、例えば、図５Ｂのブロックに基づいて生成されたスコアと、図５Ｃのブロックに基づいて生成されたスコアとが組み合わされてよく、組み合わされたスコアは、図５Ｂのブロックと図５Ｃのブロックに基づいて識別されたグラフィカル要素のサブセットを選択するために利用される。他の実装形態では、ブロック５５９の所与の反復は、図５Ｂのブロックのみ、または図５Ｃのブロックのみを含み得る。
【０１０９】
図６は、グラフィカル要素に特徴を割り当てる例示的な方法６００を示すフローチャートである。便宜上、フローチャートの動作は、動作を実行するシステムを参照して説明される。このシステムは、グラフィカル要素特徴エンジン１３７などの様々なコンピュータシステムの様々な構成要素を含み得る。さらに、方法６００の動作は特定の順序で示されているが、これは限定的なものであることを意味していない。１つまたは複数の動作を並べ替え、省略し、または追加することができる。
【０１１０】
ブロック６５２において、システムは、１つまたは複数のグラフィカル要素を選択する。例えば、システムは、単一のグラフィカル要素を選択してもよく、またはグラフィカル要素のグループを選択してもよい。システムがグラフィカル要素のグループを選択する場合、そのグループは、全て同じ統合されたパックに属するグループのグラフィカル要素に基づいて、および／または全てが１つまたは複数の他の既に割り当てられた共通のグラフィカル要素特徴を有するグループのグラフィカル要素に基づいて選択され得る。
【０１１１】
ブロック６５４において、システムは、グラフィカル要素を含む対話の特徴を識別する。例えば、システムは、対話のコミュニケーションの特徴を、グラフィカル要素がそれらのコミュニケーションに含まれていた場合に、識別することができる。また、例えば、システムは、追加的に、または代替的に、対話のコミュニケーションの特徴を、グラフィカル要素がそれらのコミュニケーションに含まれていないが、代わりに対話の後続のコミュニケーションに含まれていた場合に、識別することができる。さらに別の例として、システムは、追加的に、または代替的に、対話のコミュニケーションに基づいて、ユーザ状態特徴を識別することができる。
【０１１２】
ブロック６５６において、システムは、任意選択で特徴についての重み付けを決定する。例えば、システムは、所与の特徴についての重み付けを、対話内のその出現数に基づいて決定することができる。例えば、アリゲーターの描写であるグラフィカル要素について、システムは、それが対話の５００回のコミュニケーションの中で用語「後で（ｌａｔｅｒ）」と共に含まれ、それが対話の３００回のコミュニケーションの中で用語「フロリダ」と共に含まれると判断し得る。「フロリダ」の場合よりも多い回数のコミュニケーションにおいて「後で」と共にそれが発生することに基づいて、特徴「フロリダ」に対し決定される重み付けよりも大きい重み付けが特徴「後で」に対し決定され得る。
【０１１３】
ブロック６５８において、システムは、グラフィカル要素に、特徴のうちの１つまたは複数、および任意選択で重み付けを割り当てる。例えば、システムは、少なくとも閾値重み付けを有するそれらの特徴をグラフィカル要素に割り当てることができる。いくつかの実装形態では、特徴は、その特徴についてのパラメータの標示を任意選択で割り当てられてもよい。例えば、特徴が、グラフィカル要素が含まれていたコミュニケーションに基づく場合、その特徴は、それが、グラフィカル要素が含まれることになっているコミュニケーションに関連付けられているという標示を割り当てられてもよい。例えば、グラフィカル要素を含めるために提供されることになっているコミュニケーションにその特徴が含まれる場合にのみ、その特徴がグラフィカル要素に関連することを示す標示がそれに割り当てられてもよい。また、例えば、特徴が、対話の後続のコミュニケーションにグラフィカル要素が含まれていた対話のコミュニケーションに基づく場合、その特徴は、それが対話の提示されたコミュニケーションに関連付けられているという標示を割り当てられ得る。例えば、特徴が、対話の既に提示されたコミュニケーションに含まれている場合にのみ、その特徴がグラフィカル要素に関連していることを示す標示がそれに割り当てられてもよく、そのグラフィカル要素は、対話の後続のコミュニケーションに含めるために提供されることになる。
【０１１４】
方法６００の複数の反復が実行されて、特徴を様々な異なるグラフィカル要素に割り当てることができる。
図７は、機械学習コンテンツモデルをトレーニングする例示的な方法７００を示すフローチャートである。便宜上、フローチャートの動作は、動作を実行するシステムを参照して説明される。このシステムは、コンテンツモデルトレーニングエンジン１３５などの様々なコンピュータシステムの様々な構成要素を含み得る。さらに、方法７００の動作は特定の順序で示されているが、これは限定的なものであることを意味していない。１つまたは複数の動作を並べ替え、省略し、または追加することができる。
【０１１５】
ブロック７５２において、システムは、１つまたは複数のグラフィカル要素を選択する。例えば、システムは、システムに利用可能な全てのグラフィカル要素、またはシステムに利用可能なグラフィカル要素のサブセットを選択することができる。
【０１１６】
ブロック７５４において、システムは、グラフィカル要素を含む対話の特徴を識別する。例えば、システムは、対話のコミュニケーションの特徴を、グラフィカル要素がそれらのコミュニケーションに含まれていた場合に、識別することができる。また、例えば、システムは、追加的に、または代替的に、対話のコミュニケーションの特徴を、グラフィカル要素がそれらのコミュニケーションに含まれていないが、代わりに対話の後続のコミュニケーションに含まれていた場合に、識別することができる。さらに別の例として、システムは、追加的に、または代替的に、対話のコミュニケーションに基づいて、ユーザ状態特徴を識別することができる。
【０１１７】
ブロック７５６において、システムは、対話特徴に基づいて、およびグラフィカル要素のグラフィカル要素特徴に基づいて、トレーニング例を生成する。例えば、トレーニング例の各々は、対話のうちの１つからの特徴に基づくトレーニング例入力と、対話に含まれる１つまたは複数のグラフィカル要素のグラフィカル要素特徴に基づくトレーニング例出力とを含み得る。
【０１１８】
ブロック７５８において、システムは、トレーニング例に基づいて機械学習モデルをトレーニングする。例えば、システムは、トレーニング例のトレーニング例入力の適用、およびトレーニング例のトレーニング例出力に基づく逆伝搬に基づいて、機械学習モデルをトレーニングすることができる。
【０１１９】
方法７００の１つの特定の例として、入力層、複数の隠れ層、および２５６個の異なるグラフィカル要素特徴のベクトルである出力層を有する機械学習モデルを仮定する。
第１のトレーニング例は、第１の対話内の第１のグラフィカル要素の存在に基づいて生成され得る。第１のトレーニング例のトレーニング例入力は、第１のグラフィカル要素を含むコミュニケーションについてのコミュニケーション特徴、および／または第１の対話の１つまたは複数の他のコミュニケーションのコミュニケーション特徴などの、第１の対話の１つまたは複数の特徴を含み得る。第１のトレーニング例のトレーニング例出力は、２５６個の異なるグラフィカル要素特徴のベクトルであってよく、グラフィカル要素特徴の各々に対する値は、第１のグラフィカル要素に対しそれらのグラフィカル要素特徴の格納された割り当てに基づいて割り当てられている。例えば、第１のグラフィカル要素が、割り当てられた２５６個の異なるグラフィカル要素特徴のうちの５個だけを有する場合、トレーニング例出力は、それら５個のグラフィカル要素特徴に対する「１ｓ」（または他の「存在」値）を含むことができ、２５１個の他のグラフィカル要素の特徴に対する「０ｓ」（または他の「不存在」値）を含むことができる。いくつかの実装形態では、「存在」値は、例えば、第１のグラフィカル要素についてのこれら５個のグラフィカル要素特徴の割り当ての対応する重み付けに基づいて、任意選択で重み付けされ得る。
【０１２０】
第２のトレーニング例は、第２の対話内の第２のグラフィカル要素の存在に基づいて生成され得る。第２のトレーニング例のトレーニング例入力は、第１のグラフィカル要素を含むコミュニケーションについてのコミュニケーション特徴、および／または第２の対話の１つまたは複数の他のコミュニケーションのコミュニケーション特徴などの、第２の対話の１つまたは複数の特徴を含み得る。第２のトレーニング例のトレーニング例出力は、２５６個の異なるグラフィカル要素特徴のベクトルであってよく、グラフィカル要素特徴の各々に対する値は、第２のグラフィカル要素に対しそれらのグラフィカル要素特徴の格納された割り当てに基づいて割り当てられている。例えば、第２のグラフィカル要素が、割り当てられた２５６個の異なるグラフィカル要素特徴のうちの４個だけを有する場合、トレーニング例出力は、それら４個のグラフィカル要素特徴に対する「１ｓ」（または他の「存在」値）を含むことができ、２５２個の他のグラフィカル要素の特徴に対する「０ｓ」（または他の「不存在」値）を含むことができる。いくつかの実装形態では、「存在」値は、例えば、第２のグラフィカル要素についてのこれら４個のグラフィカル要素特徴の割り当ての対応する重み付けに基づいて、任意選択で重み付けされ得る。
【０１２１】
追加のトレーニング例は、追加のグラフィカル要素および／または対話に基づいて同様の方法で生成され得る。トレーニング例に基づいてトレーニングされると、新しい対話の特徴が、トレーニングされた機械学習モデルへの入力として適用され、適用された入力に基づいてモデルを通じて出力が生成される。出力は、２５６個の異なるグラフィカル要素特徴の各々についての値を含むことになる。各値は、新しい対話の適用された特徴を考えた場合、対応するグラフィカル要素特徴が新しい対話に関連している可能性を示す。次に、それらの値を利用して、対話の一部として提示されるべき後続のメッセージに含めるために提供するための１つまたは複数のグラフィカル要素を選択することができる。例えば、２５６個の値のうちの２０個の特定の値が閾値を満たすと仮定する。これらの２０個の特定の値の最大量を割り当てられているグラフィカル要素が選択され得る。
【０１２２】
図８は、本明細書で説明される技術の１つまたは複数の態様を実行するために任意選択で利用され得る例示的なコンピューティングデバイス８１０のブロック図である。いくつかの実装形態では、クライアントコンピューティングデバイス、自動化されたアシスタント１２０、および／または他の構成要素のうちの１つまたは複数は、例示的コンピューティングデバイス８１０の１つまたは複数の構成要素を含み得る。
【０１２３】
コンピューティングデバイス８１０は、通常、バスサブシステム８１２を介して複数の周辺デバイスと通信する少なくとも１つのプロセッサ８１４を含む。これらの周辺デバイスは、例えば、メモリサブシステム８２５およびファイルストレージサブシステム８２６を含むストレージサブシステム８２４、ユーザインタフェース出力デバイス８２０、ユーザインタフェース入力デバイス８２２、およびネットワークインタフェースサブシステム８１６を含み得る。入力デバイスおよび出力デバイスは、ユーザがコンピューティングデバイス８１０と対話することを可能にする。ネットワークインタフェースサブシステム８１６は、外部ネットワークへのインタフェースを提供し、他のコンピューティングデバイス内の対応するインタフェースデバイスに結合されている。
【０１２４】
ユーザインタフェース入力デバイス８２２は、キーボードと、マウス、トラックボール、タッチパッド、またはグラフィカルタブレットなどのポインティングデバイスと、スキャナと、ディスプレイに組み込まれたタッチスクリーンと、音声認識システム、マイクロフォンなどの音声入力デバイスと、および／または他のタイプの入力デバイスとを含み得る。一般に、「入力デバイス」という用語の使用は、コンピューティングデバイス８１０または通信ネットワークに情報を入力するためのあらゆる可能な種類のデバイスおよび方法を含むことを意図している。
【０１２５】
ユーザインタフェース出力デバイス８２０は、ディスプレイサブシステム、プリンタ、ファックス機、または音声出力デバイスのような非視覚的ディスプレイを含み得る。ディスプレイサブシステムは、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）のようなフラットパネルデバイス、投影デバイス、または可視画像を生成するための他の何らかの機構を含むことができる。ディスプレイサブシステムは、音声出力デバイスを介するなどして、非視覚的ディスプレイを提供してもよい。一般に、「出力デバイス」という用語の使用は、コンピューティングデバイス８１０からユーザまたは他の機械もしくはコンピューティングデバイスに情報を出力するためのあらゆる可能な種類のデバイスおよび方法を含むことを意図している。
【０１２６】
ストレージサブシステム８２４は、本明細書に記載されているモジュールのうちのいくつかまたは全ての特徴を提供するプログラミングおよびデータ構造を格納する。例えば、ストレージサブシステム８２４は、図５Ａ、図５Ｂ、図５Ｃ、図６、および／または図７の方法の選択された態様を実行するためのロジックを含み得る。
【０１２７】
これらのソフトウェアモジュールは、一般に、プロセッサ８１４単独で、または他のプロセッサと組み合わせて実行される。ストレージサブシステム８２４で使用されるメモリ８２５は、プログラム実行中に命令およびデータを格納するためのメインランダムアクセスメモリ（ＲＡＭ）８３０と、固定命令が格納されている読み取り専用メモリ（ＲＯＭ）８３２とを含む複数のメモリを含むことができる。ファイルストレージサブシステム８２６は、プログラムおよびデータファイルのための永続的なストレージを提供することができ、ハードディスクドライブ、関連するリムーバブルメディアを有するフロッピーディスク（登録商標）ドライブ、ＣＤ−ＲＯＭドライブ、光学ドライブ、またはリムーバブルメディアカートリッジを含むことができる。特定の実装形態の機能を実装するモジュールは、ストレージサブシステム８２４内の、またはプロセッサ８１４によってアクセス可能な他のマシン内のファイルストレージサブシステム８２６によって格納され得る。
【０１２８】
バスサブシステム８１２は、コンピューティングデバイス８１０の様々な構成要素およびサブシステムを意図したように相互に通信させるためのメカニズムを提供する。バスサブシステム８１２は、単一のバスとして概略的に示されているが、バスサブシステムの代替の実装形態は、複数のバスを使用することができる。
【０１２９】
コンピューティングデバイス８１０は、ワークステーション、サーバ、コンピューティングクラスタ、ブレードサーバ、サーバファーム、または他の任意のデータ処理システムもしくはコンピューティングデバイスを含む様々な種類のものとすることができる。コンピュータおよびネットワークの絶え間なく変化する性質のために、図８に示されるコンピューティングデバイス８１０の説明は、いくつかの実装形態を示す目的のための特定の例としてのみ意図されている。コンピューティングデバイス８１０の他の多くの構成は、図８に示されるコンピューティングデバイスよりも多いか、または少ない構成要素を有することが可能である。
【０１３０】
本明細書で説明される特定の実装形態が、ユーザに関する個人情報（例えば、他の電子的コミュニケーションから抽出されたユーザデータ、ユーザのソーシャルネットワークに関する情報、ユーザの位置、ユーザのバイオメトリック情報、ならびにユーザの活動およびデモグラフィック情報）を収集または使用し得る状況において、情報が収集されるかどうか、個人情報が格納されるかどうか、個人情報が使用されるかどうか、およびユーザに関する情報がどのように収集、格納および使用されるかを制御する１または複数の機会がユーザに提供される。すなわち、本明細書で論じられるシステムおよび方法は、関連するユーザから、そうするように明示的な許可を受けるときにだけ、ユーザの個人情報を収集し、格納し、および／または使用する。例えば、ユーザは、プログラムまたは機能が、その特定のユーザ、またはプログラムまたは特徴に関連する他のユーザに関するユーザ情報を収集するかどうかについての制御を提供される。個人情報が収集されることになっている各ユーザには、そのユーザに関連する情報収集を制御することを許可するため、および情報を収集するかどうか、および情報のどの部分が収集されるべきかについて許可または承認を与えるための１つまたは複数のオプションが提示される。例えば、通信ネットワークを介して１つまたは複数のそのような制御オプションをユーザに提供することができる。さらに、特定のデータは、個人を識別可能な情報が削除されるように、保存または使用される前に１つまたは複数の方法で処理され得る。一例として、個人を識別可能な情報が判定できないように、ユーザの識別情報が処理され得る。別の例として、ユーザの地理的位置は、ユーザの特定の位置を判定できないように、より大きな領域に一般化することができる。
【０１３１】
本明細書でいくつかの実装形態を説明および図示してきたが、機能を実行し、および／または本明細書に記載の結果および／または利点のうちの１つまたは複数を得るための様々な他の手段および／または構造を利用することができ、そのような変更および／または修正は、本明細書に記載の実装形態の範囲内にあると見なされる。より一般的には、本明細書に記載の全てのパラメータ、寸法、材料、および構成は例示的なものであり、実際のパラメータ、寸法、材料、および／または構成は、その教示が使用される特定の用途に依存する。当業者は、本明細書に記載の特定の実施形態に対する多くの等価物を認識し、または日常的な実験だけで確認することができるであろう。したがって、前述の実装形態は例としてのみ提示され、添付の特許請求の範囲およびその均等物の範囲内で、具体的に説明および請求される以外の方法で実装形態が実施され得ることを理解されたい。本開示の実装形態は、本明細書に記載されている個々の特徴、システム、物品、材料、セット、および／または方法の各々を対象としている。さらに、そのような特徴、システム、物品、材料、セット、および／または方法が、相互に矛盾していない場合、そのような特徴、システム、物品、材料、セット、および／または方法の２つ以上の任意の組み合わせが本開示の範囲に含まれる。
【図１】
2019537110.tif 000003
【図２】
2019537110.tif 000004
【図３Ａ】
2019537110.tif 000005
【図３Ｂ１】
2019537110.tif 000006
【図３Ｂ２】
2019537110.tif 000007
【図３Ｂ３】
2019537110.tif 000008
【図３Ｃ】
2019537110.tif 000009
【図３Ｄ１】
2019537110.tif 000010
【図３Ｄ２】
2019537110.tif 000011
【図４】
2019537110.tif 000012
【図５Ａ】
2019537110.tif 000013
【図５Ｂ】
2019537110.tif 000014
【図５Ｃ】
2019537110.tif 000015
【図６】
2019537110.tif 000016
【図７】
2019537110.tif 000017
【図８】
2019537110.tif 000018
【手続補正書】
【提出日】令和1年5月31日(2019.5.31)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
１つまたは複数のプロセッサによって実施される方法であって、
ユーザと１または複数の追加のユーザとを含む対話の一部として提示された電子的コミュニケーションを受信することであって、前記電子的コミュニケーションは、追加のユーザの追加のユーザコンピューティングデバイスの１つまたは複数のユーザインタフェース入力デバイスを介して、前記１または複数の追加のユーザのうちの追加のユーザによって生成されたユーザインタフェース入力に基づくものである、前記受信すること、
前記電子的コミュニケーションの少なくとも１つのコミュニケーション特徴を決定することであって、前記少なくとも１つのコミュニケーション特徴は、前記電子的コミュニケーションの複数の用語のうちの１つまたは複数の用語に基づくものである、前記決定すること、
前記ユーザの第１の現在の状態を示す第１の現在状態特徴および前記追加のユーザの第２の現在の状態を示す第２の現在状態特徴を決定すること、
前記第１の現在状態特徴及び前記第２の現在状態特徴に基づいて、組み合わされた現在状態特徴を決定すること、
前記対話の一部として提示されるべき前記ユーザの後続の電子的コミュニケーションのために、前記ユーザにより提供されるテキスト入力の受信の前に、
前記後続の電子的コミュニケーションに含めるための１つまたは複数のグラフィカル要素のグループを決定することであって、前記１つまたは複数のグラフィカル要素のグループを決定することは、
候補グラフィカル要素から、前記グループに含める少なくとも１つのグラフィカル要素を選択すること
を含み、前記少なくとも１つのグラフィカル要素を選択することは、前記電子的コミュニケーションの前記少なくとも１つのコミュニケーション特徴に基づいており、かつ、前記組み合わされた現在状態特徴に基づいている、前記１つまたは複数のグラフィカル要素のグループを決定すること、
前記後続の電子的コミュニケーションに含める候補として、前記１つまたは複数のグラフィカル要素のグループを提供することであって、前記１つまたは複数のグラフィカル要素のグループは、前記ユーザのユーザコンピューティングデバイスのディスプレイを介して提示するために提供されている、前記提供すること
を含む方法。
【請求項２】
前記電子的コミュニケーションの提示と組み合わせて前記ディスプレイを介して前記ユーザにグラフィカルに提示されるユーザインタフェース要素とのユーザインタフェースインタラクションを識別すること
をさらに含み、前記１つまたは複数のグラフィカル要素のグループを提供することは、前記ユーザインタフェース要素とのユーザインタフェースインタラクションを識別することに応答して行われるものである、請求項１に記載の方法。
【請求項３】
前記少なくとも１つのコミュニケーション特徴は、前記電子的コミュニケーションの複数の用語のうちの１つまたは複数、前記電子的コミュニケーションが送信された時刻、前記対話におけるユーザ参加者の数、または前記電子的コミュニケーションのテキストに適用されたラベルのうちの少なくとも１つに基づくものである、請求項１または２に記載の方法。
【請求項４】
前記少なくとも１つのコミュニケーション特徴は、前記電子的コミュニケーションの用語に加えて、１つまたは複数の信号に少なくとも部分的に基づく少なくとも１つの非テキスト特徴をさらに含む、請求項１に記載の方法。
【請求項５】
前記対話の追加の電子的コミュニケーションの少なくとも１つの追加のコミュニケーション特徴を決定すること
をさらに含み、前記少なくとも１つのグラフィカル要素を選択することは、さらに前記少なくとも１つの追加のコミュニケーション特徴に基づいている、請求項１乃至４のいずれか一項に記載の方法。
【請求項６】
前記第１の現在の状態は、前記ユーザの第１の感情を含み、前記第２の現在の状態は、前記追加のユーザの第２の感情を含む、請求項１乃至５のいずれか一項に記載の方法。
【請求項７】
前記第１の現在状態特徴および前記第２の現在状態特徴を決定することは、前記第１の感情の大きさおよび前記第２の感情の大きさを決定することを含み、前記組み合わされた現在状態特徴は、前記第１の感情の大きさおよび前記第２の感情の大きさに基づくものである、請求項６に記載の方法。
【請求項８】
前記少なくとも１つのグラフィカル要素の過去の使用特徴を識別すること
をさらに含み、前記過去の使用特徴は、前記少なくとも１つのグラフィカル要素の、および前記少なくとも１つのグラフィカル要素と１つまたは複数のグラフィカル要素特徴を共有する他のグラフィカル要素の、前記ユーザによる過去の使用の量または頻度を含み、前記１つまたは複数のグラフィカル要素特徴は、前記少なくとも１つのグラフィカル要素におけるコンテンツの記述子、前記少なくとも１つのグラフィカル要素に関連するエンティティの識別子、前記少なくとも１つのグラフィカル要素が含まれていた以前の対話の用語、または前記少なくとも１つのグラフィカル要素と関連するユーザ状態のうちの少なくとも１つを含み、
前記少なくとも１つのグラフィカル要素を選択することは、さらに前記過去の使用特徴に基づいている、請求項１乃至７のいずれか一項に記載の方法。
【請求項９】
前記少なくとも１つのコミュニケーション特徴に基づいて前記少なくとも１つのグラフィカル要素を選択することは、
１つまたは複数のコンピュータ可読媒体に格納されているトレーニングされた機械学習モデルに入力を適用することであって、前記入力は、前記少なくとも１つのコミュニケーション特徴を含む、前記適用すること、
前記モデルを通じて、および前記入力に基づいて、１つまたは複数のグラフィカル要素特徴を示す出力を生成すること、
前記少なくとも１つのグラフィカル要素に割り当てられているグラフィカル要素特徴に基づいて前記少なくとも１つのグラフィカル要素を選択すること
を含む、請求項１乃至８のいずれか一項に記載の方法。
【請求項１０】
１つまたは複数のグラフィカル要素特徴を示す前記出力は、１つまたは複数の用語を含み、前記グラフィカル要素に割り当てられているグラフィカル要素特徴に基づいて前記少なくとも１つのグラフィカル要素を選択することは、前記少なくとも１つのグラフィカル要素を、それが前記１つまたは複数の用語のうちの少なくとも１つによってインデックス付けされていることに基づいて、選択することを含む、請求項９に記載の方法。
【請求項１１】
前記第１の現在の状態または前記第２の現在の状態のうちの少なくとも１つは、前記ユーザの、または前記追加のユーザの、ユーザコンピューティングデバイスの物理的位置を含む、請求項１乃至１０のいずれか一項に記載の方法。
【請求項１２】
前記少なくとも１つのコミュニケーション特徴は、前記１つまたは複数の用語を含み、前記少なくとも１つのコミュニケーション特徴に基づいて前記少なくとも１つのグラフィカル要素を選択することは、
前記少なくとも１つのグラフィカル要素を、それが前記１つまたは複数の用語のうちの少なくとも１つによってインデックス付けされていることに基づいて、選択すること
を含む、請求項１乃至１１のいずれか一項に記載の方法。
【請求項１３】
前記後続の電子的コミュニケーションに含める候補として１つまたは複数のグラフィカル要素の前記グループを提供した後に、
前記後続の電子的コミュニケーションのために前記ユーザによって提供されたテキスト入力を受信することであって、前記テキスト入力は、前記ユーザコンピューティングデバイスの１つまたは複数のユーザインタフェース入力デバイスを介して前記ユーザによって生成されたユーザインタフェース入力に基づくものである、前記受信すること、
前記テキスト入力に基づいて、および前記少なくとも１つのコミュニケーション特徴に基づいて、グラフィカル要素の修正されたグループを決定すること、
前記テキスト入力と組み合わせて、前記後続の電子的コミュニケーションに含める候補としてグラフィカル要素の前記修正されたグループを提供すること
をさらに含む、請求項１乃至１２のいずれか一項に記載の方法。
【請求項１４】
システムであって、
命令を格納しているメモリと、
前記メモリに格納された命令を実行するように動作可能な１つまたは複数のプロセッサであって、前記命令を実行して、
ユーザと１または複数の追加のユーザとを含む対話の一部として提示された電子的コミュニケーションを受信することであって、前記電子的コミュニケーションは、追加のユーザの追加のユーザコンピューティングデバイスの１つまたは複数のユーザインタフェース入力デバイスを介して、前記１または複数の追加のユーザのうちの追加のユーザによって生成されたユーザインタフェース入力に基づくものである、前記受信すること、
前記電子的コミュニケーションの少なくとも１つのコミュニケーション特徴を決定することであって、前記少なくとも１つのコミュニケーション特徴は、前記電子的コミュニケーションの複数の用語のうちの１つまたは複数の用語に基づくものである、前記決定すること、
前記対話の一部として提示されるべき、前記ユーザの、後続の電子的コミュニケーションのために前記ユーザによって提供されたテキスト入力を受信すること、
前記ユーザの第１の現在の状態を示す第１の現在状態特徴および前記追加のユーザの第２の現在の状態を示す第２の現在状態特徴を決定すること、
前記第１の現在状態特徴及び前記第２の現在状態特徴に基づいて、組み合わされた現在状態特徴を決定すること、
前記後続の電子的コミュニケーションに含めるための１つまたは複数のグラフィカル要素のグループを決定することであって、前記１つまたは複数のグラフィカル要素のグループを決定する際に、前記プロセッサのうちの１つまたは複数は、
候補グラフィカル要素から、前記グループに含める少なくとも１つのグラフィカル要素を選択する
ように動作し、前記少なくとも１つのグラフィカル要素を選択することは、前記テキスト入力に基づいており、かつ、前記少なくとも１つのコミュニケーション特徴および前記組み合わされた現在状態特徴に基づいている、前記１つまたは複数のグラフィカル要素のグループを決定すること、
前記後続の電子的コミュニケーションに含める候補として、前記１つまたは複数のグラフィカル要素のグループを提供することであって、前記１つまたは複数のグラフィカル要素のグループは、前記ユーザのユーザコンピューティングデバイスのディスプレイを介して提示するために提供されている、前記提供すること
を行うように動作可能な前記１つまたは複数のプロセッサと
を備えるシステム。
【請求項１５】
クライアントデバイスであって、
ディスプレイと、
１つまたは複数のユーザインタフェース入力デバイスと、
１つまたは複数のネットワークインタフェースと、
命令を格納しているメモリと、
前記メモリに格納された命令を実行するように動作可能な１つまたは複数のプロセッサであって、前記命令を実行して、
ユーザおよび追加のユーザを含む対話の一部として、１つまたは複数のネットワークを介して前記ネットワークインタフェースのうちの１つまたは複数によって送信される電子的コミュニケーションに含めるために提供されるコンテンツを受信することであって、前記コンテンツは、前記ユーザインタフェース入力デバイスのうちの１つまたは複数を介して生成されたユーザインタフェース入力に基づくものである、前記受信すること、
前記コンテンツの少なくとも１つの特徴を決定することであって、前記少なくとも１つの特徴は、前記電子的コミュニケーションの複数の用語のうちの１つまたは複数の用語に基づくものである、前記決定すること、
前記ユーザの第１の現在の状態を示す第１の現在状態特徴および前記追加のユーザの第２の現在の状態を示す第２の現在状態特徴を決定すること、
前記第１の現在状態特徴及び前記第２の現在状態特徴に基づいて、組み合わされた現在状態特徴を決定すること、
前記クライアントデバイスのメモリまたは他のコンピュータ可読媒体から前記電子的コミュニケーションに含めるための１つまたは複数のグラフィカル要素のグループを決定することであって、前記１つまたは複数のグラフィカル要素のグループを決定する際に、前記プロセッサのうちの１つまたは複数は、
候補グラフィカル要素から、前記グループに含める少なくとも１つのグラフィカル要素を選択する
ように動作し、前記少なくとも１つのグラフィカル要素を選択することは、前記組み合わされた現在状態特徴に基づいており、かつ前記メモリまたは前記他のコンピュータ可読媒体のうちの１つまたは複数における前記グラフィカル要素に割り当てられた少なくとも１つのグラフィカル要素特徴と一致する前記コンテンツの特徴に基づいている、前記１つまたは複数のグラフィカル要素のグループを決定すること、
前記電子的コミュニケーションに含める候補として前記ディスプレイを介して前記グラフィカル要素のグループを提示すること
を行うように動作可能な前記１つまたは複数のプロセッサと
を備えるシステム。
【請求項１６】
システムであって、
命令を格納しているメモリと、
前記メモリに格納された命令を実行して、請求項１乃至１３のいずれか一項に記載の方法を実行するように動作可能な１つまたは複数のプロセッサと
を備えるシステム。
【請求項１７】
命令を含む１つまたは複数の非一時的コンピュータ可読媒体であって、前記命令は、１つまたは複数のプロセッサによる前記命令の実行に応答して、前記１つまたは複数のプロセッサに、請求項１乃至１３のいずれか一項に記載の方法を行わせる、非一時的コンピュータ可読媒体。
【国際調査報告】
2019537110.tif 000019
2019537110.tif 000020
2019537110.tif 000021