複数の図面にわたって繰り返される参照番号は、様々な実施態様で同じ特徴を識別することを意図している。
概要
本開示は、概して、ユーザ入力に応答してインタラクティブスニペットパケットを生成することを対象とする。より具体的には、本開示は、後で選択することができるスニペットパケットを伴って保存するためにコンテンツアイテムを選択するユーザ入力を取得し、コンテンツアイテムを含むウェブページの一部分を提供することに関する。例えば、ユーザはウェブページ及び/またはデータファイルの一部分を選択することができる。次に、選択された一部分を記述するデータは、ウェブページ/データファイルに関連付けられた情報及びウェブページ/データファイルに対する一部分の位置とともに記憶することができる。記憶されたデータセットは、選択された一部分のグラフィック表示を含むスニペットパケットであることができ、これは、選択された一部分からのテキスト及び/または画像を備えたグラフィックカードを含むことができる。スニペットパケットは、後で参照するために記憶することができ、及び/または他のユーザと共有してもよい。スニペットパケットにより、ユーザは、選択された一部分を見てから、選択時に、元のウェブページ/データファイルの選択された一部分の特定の位置にナビゲートすることを可能とすることができる。システム及び方法は、グラフィカルユーザインタフェースを提供することを含むことができる。グラフィカルユーザインタフェースは、ウェブページを表示するためのグラフィカルウィンドウを含むことができる。いくつかの実施態様では、ウェブページは複数のコンテンツアイテムを含むことができる。システム及び方法は、入力データを取得することを含むことができる。入力データは、複数のコンテンツアイテムのうちの1つまたは複数のコンテンツアイテムを保存するための要求を含むことができる。スニペットパケットを生成することができる。スニペットパケットは、1つまたは複数のコンテンツアイテム、アドレスデータ、及び位置データを含むことができる。いくつかの実施態様では、アドレスデータは、ウェブページのウェブアドレスを記述することができる。位置データは、ウェブページ内の1つまたは複数のコンテンツアイテムの位置を記述することができる。スニペットパケットは、ユーザデータベースに記憶することができる。
例えば、本明細書に開示されるシステム及び方法は、グラフィカルユーザインタフェースを提供することを含むことができる。グラフィカルユーザインタフェースは、ウェブページを表示するためのグラフィカルウィンドウを含むことができる。いくつかの実施態様では、ウェブページは複数のコンテンツアイテムを含むことができる。表示されたウェブページは、テキスト、1つまたは複数の画像、1つまたは複数のインタラクティブユーザインタフェース要素、1つまたは複数の映像、及び/または1つまたは複数のオーディオクリップを含むことができる。グラフィカルユーザインタフェースは、ブラウザアプリケーションの一部であってもよい。
システム及び方法は、入力データを取得することができる。入力データは、複数のコンテンツアイテムのうちの1つまたは複数のコンテンツアイテムを保存するための要求を含むことができる。いくつかの実施態様では、1つまたは複数のコンテンツアイテムは、画像、映像、製品のグラフィック描写、またはオーディオのうちの少なくとも1つを含むことができる。グラフィカルユーザインタフェースは、1つまたは複数のコンテンツアイテムとインタラクトするための1つまたは複数のユーザインタフェース要素を含むように更新してもよく、1つまたは複数のコンテンツアイテムを保存することを含むことができ、保存するフォーマットについて異なるオプションを含んでもよい。代替的及び/または追加的に、オーバーレイインタフェースは、要求に応答してポップアップインタフェースを提供してもよい。入力データは、1つまたは複数のコンテンツアイテムに関連付けられたジェスチャ(例えば、1つまたは複数のコンテンツアイテムの周りの円)を記述してもよい。
スニペットパケットを生成することができる。スニペットパケットは、入力データに基づいて生成することができる。スニペットパケットは、1つまたは複数のコンテンツアイテム、アドレスデータ、及び位置データを含むことができる。スニペットパケットを生成することは、要約、注釈、及び/または分類に利用できる意味理解出力を生成するために、1つまたは複数のコンテンツアイテムを1つまたは複数の機械学習済みモデルで処理することを含むことができる。
1つまたは複数のコンテンツアイテムは、テキストデータ(例えば、単語、文、引用、及び/または段落を記述するテキストデータ)、画像データ(例えば、オブジェクト(例えば、製品)の画像)、映像データ(例えば、映像及び/または1つまたは複数の映像フレーム)、オーディオデータ(例えば、波形データ)、及び/または潜在符号化データを含むことができる。1つまたは複数のコンテンツアイテムは、マルチモーダルデータを含むことができる。アドレスデータは、ウェブページ(例えば、ウェブアドレス)に関連付けられたリソースロケータ及び/またはファイルアドレスを含むことができる。位置データは、ウェブページ及び/またはファイル内のどこに1つまたは複数のコンテンツアイテムが位置しているかを記述することができる。例えば、位置データは、ウェブページ及び/またはファイル内の1つまたは複数のコンテンツアイテムの開始及び終了を示すことができる。
いくつかの実施態様では、スニペットパケットを生成することは、1つまたは複数のコンテンツアイテムを取得することと、グラフィックカードを生成することを含むことができる。グラフィックカードは、1つまたは複数のコンテンツアイテムを記述することができる。グラフィックカードは、色及び/または画像の上にオーバーレイされたテキストデータを含むことができる。色は、ウェブページの主色に基づいて決定されてよい。いくつかの実施態様では、色は、予め定められてもよく、及び/または周囲のコンテンツアイテムに基づいて決定されてもよい。画像は、コンテンツアイテムの決定されたトピックに基づいて決定された画像であってよい。代替的及び/または追加的に、画像は、コンテンツアイテムに近い画像であってよい。いくつかの実施態様では、グラフィックカードは、ウェブページで使用されるフォントに基づいて決定されたフォントを含むことができる。グラフィックカードは、背景、コンテンツアイテム(例えば、コンテンツアイテム及び/またはコンテンツアイテムの要約)を記述するテキスト、及び/またはソース及び/または決定されたエンティティを記述するテキスト及び/またはロゴを含むことができる。いくつかの実施態様では、グラフィックカードにおけるテキストのテキストサイズは、コンテンツアイテムにおけるテキスト量に基づくことができる。
アドレスデータは、ウェブページのウェブアドレスを記述することができる。アドレスデータは、ユニフォームリソース識別子及び/またはユニフォームリソースロケータを含むことができる。いくつかの実施態様では、アドレスデータは、コンテンツアイテムのソースを記述するデータを含むことができる。
位置データは、ウェブページ内の1つまたは複数のコンテンツアイテムの位置を記述することができる。いくつかの実施態様では、位置データは、スクロール位置、開始ノード、または終了ノードのうちの少なくとも1つを含むことができる。スクロール位置は、ウェブページの他の部分に対する1つまたは複数のコンテンツアイテムの位置を記述することができる。いくつかの実施態様では、開始ノードは、1つまたは複数のコンテンツアイテムの開始位置を記述することができる。終了ノードは、1つまたは複数のコンテンツアイテムの終了位置を記述することができる。位置データは、コンテンツアイテムの位置を示すために利用することができるテキストフラグメント(Tomayac et al.,“Scroll to Text Fragment,”GITHUB,(May 20,2022,9:40PM)https://github.com/WICG/scroll-to-text-fragment)を含むことができる。いくつかの実施態様では、テキストフラグメントは、位置に関連付けられた1つまたは複数のテキストディレクティブを含むことができる。テキストディレクティブは、コードの開始データ(例えば、コンテンツアイテムに関連付けられた最初のテキスト及び/またはコンテンツアイテムに関連付けられた最初のピクセル)及び/または終了データ(例えば、コンテンツアイテムに関連付けられた最後のテキスト及び/またはコンテンツアイテムに関連付けられた最後のピクセル)の文字列を含むことができる。テキストディレクティブは、コンテンツアイテムの始まり及び/または終わりに一致するデータのセットをウェブページで検索するために利用することができる。
いくつかの実施態様では、システム及び方法は、1つまたは複数のコンテンツアイテムに関連付けられたエンティティを決定するために、1つまたは複数のコンテンツアイテムを処理することを含むことができる。エンティティタグは、エンティティに基づいて生成することができる。スニペットパケットは、エンティティタグを含むことができる。
スニペットパケットは、ユーザデータベースに記憶することができる。いくつかの実施態様では、スニペットパケットをユーザデータベースに記憶することは、スニペットパケットをモバイルコンピューティングデバイスにローカルで記憶することを含むことができる。追加的及び/または代替的に、グラフィックカードは、スニペットパケットのグラフィック表示として記憶することができる。グラフィックカードは自動生成することができ、ユーザによってカスタマイズ可能であってよい。グラフィックカードは、ウェブページの他のコンテンツに基づいて、ユーザ入力に基づいて、及び/または他のコンテキストに基づいてカスタマイズすることができるテンプレートで始めることができる。いくつかの実施態様では、グラフィックカードはマルチモーダルデータを含むことができる。代替的及び/または追加的に、スニペットパケットは、サーバコンピューティングシステムに記憶することができる。いくつかの実施態様では、コンテンツアイテムが他のコンテンツアイテムを参照する場合、システム及び方法は、追加のコンテンツアイテムを取得し、追加のコンテンツアイテムをスニペットパケットに保存することができる。
いくつかの実施態様では、システム及び方法は、スニペットインタフェースを提供するためのスニペット要求を受信することを含むことができる。スニペットインタフェースは、スニペットパケットに関連付けられたインタラクティブ要素を含むことができる。スニペットインタフェースは表示するために提供することができる。インタフェース選択を受信することができ、インタフェース選択は、インタラクティブ要素を選択する選択の記述をすることができる。次に、ウェブページの一部分を表示するために提供することができる。いくつかの実施態様では、ウェブページの一部分は、ウェブページ内の1つまたは複数のコンテンツアイテムの位置を含むことができる。
いくつかの実施態様では、システム及び方法は、挿入入力を受信することを含むことができる。挿入入力は、異なるインタフェースへのコンテンツアイテムの挿入を要求するユーザ入力を含むことができる。スニペットパケットを、サードパーティサーバコンピューティングシステムに提供することができる。
追加的及び/または代替的に、システム及び方法は、スニペットパケットをコレクションに追加することを含むことができる。スニペットパケットは、受信したユーザ入力に基づいて、コレクションに追加することができる。代替的及び/または追加的に、スニペットパケットを、コンテンツアイテムに関連付けられた決定されたエンティティに基づいて、コレクションに自動的に追加することができる。いくつかの実施態様では、コンテンツアイテムのソースに基づいて(例えば、ウェブページのタイプ、メディアプロバイダのタイプ、及び/またはコンテンツアイテムのタイプに基づいて)、スニペットパケットをコレクションに追加することができる。
いくつかの実施態様では、スニペットパケットは、ウェブページ以外のソース(例えば、モバイルアプリケーション、大容量データファイル(例えば、ダウンロードされた映像または本)、及び/または他のソースのデータ)から取得されたコンテンツアイテムに基づいて生成することができる。
システム及び方法は、スニペットパケットとのインタラクションに応答して、表示するためにウェブページの特定の一部分を提供することを含むことができる。例えば、システム及び方法は、入力データを取得することを含むことができる。入力データは、スニペットパケットに関連付けられたコンテンツアイテムの選択を記述することができる。スニペットパケットに関連付けられたアドレスデータ及び位置データを取得することができる。アドレスデータは、ウェブページと関連付けることができる。コンテンツアイテムは、ウェブページと関連付けることができる。追加的及び/または代替的に、位置データは、ウェブページ内のコンテンツアイテムの位置を記述することができる。システム及び方法は、ウェブページデータを取得することができる。ウェブページデータは、アドレスデータに少なくとも部分的に基づいて取得することができる。コンテンツアイテムに関連付けられたウェブページ内の位置を決定することができる。次に、ウェブページの一部分を提供することができる。ウェブページの一部分は、コンテンツアイテムの位置を含むことができる。
システム及び方法は、入力データを取得することができる。いくつかの実施態様では、入力データは、スニペットパケットに関連付けられたコンテンツアイテムの選択を記述することができる。スニペットパケットは、特定のユーザのユーザアカウントと関連付けることができる。追加的及び/または代替的に、ユーザアカウントは、1つまたは複数のプラットフォームと関連付けることができる。スニペットパケットは、コンテンツアイテム及びディープリンクを含むことができる。代替的及び/または追加的に、スニペットパケットは、スニペット(例えばコンテンツアイテム及び/またはコンテンツアイテムに基づいて生成されたメディアデータ(例えばグラフィックカード及び/またはコンテンツアイテムの要約))、アドレスデータ(例えばユニフォームリソースロケータ及び/またはユニフォームリソース識別子)、及び/またはメタデータを含むことができる。スニペットパケットは、位置データ(例えば、ウェブページ内のコンテンツアイテムの位置を示すメタデータ、開始データ及び終了データを識別するためのテキストフラグメント、1つまたは複数のポインタ、及び/または1つまたは複数のスクロール位置データ)を含むことができる。
いくつかの実施態様では、スニペットパケットは、表示するためにグラフィカルユーザインタフェースを提供することによって生成されてもよい。グラフィカルユーザインタフェースは、ウェブページを表示するためのグラフィカルウィンドウを含むことができる。いくつかの実施態様では、ウェブページは複数のコンテンツアイテムを含むことができる。スニペットパケット生成は、選択データを取得することを含むことができる。選択データは、複数のコンテンツアイテムのうちのコンテンツアイテムを保存するための要求を含むことができる。いくつかの実施態様では、スニペットパケット生成は、スニペットパケットを生成することと、スニペットパケットをユーザデータベースに記憶することを含むことができる。
システム及び方法は、入力データに基づいてスニペットパケットに関連付けられたアドレスデータ及び位置データを取得することができる。アドレスデータは、ウェブページと関連付けることができる。コンテンツアイテムは、ウェブページと関連付けることができる。追加的及び/または代替的に、位置データは、ウェブページ内のコンテンツアイテムの位置を記述することができる。
次に、ウェブページデータを取得することができる。ウェブページデータは、アドレスデータに少なくとも部分的に基づいて(例えば、ユニフォームリソースロケータを使用してウェブページにナビゲートすることによって)取得することができる。代替的及び/または追加的に、ファイルは、アドレスデータに基づいて取得されてもよい(例えば、アドレスデータは、ファイル位置を記述することができ、その特定のファイルを取得するために利用されてもよい)。
コンテンツアイテムに関連付けられたウェブページ(及び/またはファイル)内の位置は、取得された位置データに基づいて決定することができる。位置は、テキストフラグメント、1つまたは複数のポインタに基づいて、及び/またはウェブページ処理を介して決定されてよい。
いくつかの実施態様では、アドレスデータは、ユニフォームリソースロケータを含むことができる。追加的及び/または代替的に、位置データは、1つまたは複数のテキストフラグメントを含むことができる。コンテンツアイテムに関連付けられたウェブページ内の位置を決定することは、次に、ショートカットリンクを生成するためにテキストフラグメントをユニフォームリソースロケータに追加することと、そのショートカットリンクをブラウザに入力することを含むことができる。
次に、ウェブページの一部分を表示するために提供することができる。ウェブページの一部分は、コンテンツアイテムの位置を含むことができる。いくつかの実施態様では、ウェブページの一部分を提供することは、ウェブページの一部分に1つまたは複数のインジケータを提供することを含むことができる。1つまたは複数のインジケータは、スニペットパケットに関連付けられたコンテンツアイテムを示すことができる。いくつかの実施態様では、1つまたは複数のインジケータは、コンテンツアイテムに関連付けられたテキストをハイライトすることを含むことができる。
システム及び方法は、ジェスチャデータを処理することを含むことができる。例えば、システム及び方法は、グラフィカルユーザインタフェースを提供することを含むことができる。グラフィカルユーザインタフェースは、ウェブページを表示するためのグラフィカルウィンドウを含むことができる。いくつかの実施態様では、ウェブページは複数のコンテンツアイテムを含むことができる。システム及び方法は、ジェスチャデータを受信することができる。ジェスチャデータは、ウェブページの一部分に関連付けられたジェスチャを記述することができる。ジェスチャデータを処理して、選択されたコンテンツアイテムを決定することができる。選択されたコンテンツアイテムは、ウェブページの一部分と関連付けることができる。スニペットパケットは、ジェスチャデータに基づいて生成することができる。いくつかの実施態様では、スニペットパケットは、選択されたコンテンツアイテムを含むことができる。
特に、グラフィカルユーザインタフェースを表示のために提供することができる。グラフィカルユーザインタフェースは、ウェブページを表示するためのグラフィカルウィンドウを含むことができる。いくつかの実施態様では、ウェブページは複数のコンテンツアイテムを含むことができる。ウェブページは、ユニフォームリソースロケータ及び/またはソースコードと関連付けることができる。複数のコンテンツアイテムは、構造化テキストデータ(例えば、本文段落及び/または1つまたは複数のタイトル)、空白、1つまたは複数の画像、及び/またはオーディオコンテンツアイテムを含むことができる。
次に、ジェスチャデータを受信することができる。ジェスチャデータは、ウェブページの一部分に関連付けられたジェスチャを記述することができる。いくつかの実施態様では、ジェスチャは、ウェブページの一部分を囲む円形のジェスチャを含むことができる。ジェスチャデータは、モバイルコンピューティングデバイスのタッチスクリーンディスプレイへのタッチ入力を記述することができる。
ジェスチャデータを処理して、選択されたコンテンツアイテムを決定することができる。選択されたコンテンツアイテムは、ウェブページの一部分と関連付けることができる。例えば、ジェスチャは、複数の線及び/または複数の画像を含むウェブページにおいて画像とテキストの1つまたは複数の線を囲むことができる。
いくつかの実施態様では、選択されたコンテンツアイテムを決定するためにジェスチャデータを処理することは、ジェスチャによって囲まれたウェブページの一部分を決定することと、一部分の焦点を決定することと、選択されたコンテンツアイテムが一部分の焦点に関連付けられていることを決定することとを含むことができる。
代替的及び/または追加的に、選択されたコンテンツアイテムを決定するためにジェスチャデータを処理することは、選択されたコンテンツアイテムを決定するためにジェスチャされたデータを機械学習済みモデルで処理することを含むことができる。機械学習済みモデルは、ジェスチャ境界への近接度、構文、構造データ、空白、及び/または意味的結束性に基づいて、選択されたコンテンツアイテムの始まり及び終わりを決定するようにトレーニングすることができる。
いくつかの実施態様では、選択されたコンテンツアイテムは、円に基づいて決定された矩形に関連付けられた決定された一致エリアに基づいて決定することができる。矩形は、ウェブページの構文構成に基づくデータの矩形であることができる。いくつかの実施態様では、選択されたコンテンツアイテムは、決定された単語境界に基づいて、及び/または決定されたメディアコンテンツ境界に基づいて決定することができる。決定は、ハイパーテキストマークアップ言語のコード境界に基づいてよい。いくつかの実施態様では、ウェブページのソースコードを解析することができ、解析されたデータを処理することができる。
代替的及び/または追加的に、決定は、ジェスチャに関連付けられたジェスチャ矩形のエリアを計算することを含むことができる。1つまたは複数のコンテンツアイテム要素のエリアを決定することができる。ジェスチャ矩形のエリアと、異なるコンテンツアイテム要素の各エリアとの交差するエリアを決定することができる。交差度が最も高い要素は、選択される確率が最も高い場合があるため、選択されたコンテンツアイテムとして決定することができる。
次に、スニペットパケットは、ジェスチャデータに基づいて生成することができる。スニペットパケットは、選択されたコンテンツアイテムを含むことができる。いくつかの実施態様では、スニペットパケットは、アドレスデータ及び位置データを含むことができる。アドレスデータは、ウェブページと関連付けることができ、位置データは、ウェブページ内のコンテンツアイテムの位置を記述してもよい。
次に、保存インタフェースを表示するために提供することができる。保存インタフェースは、スニペットパケットをコレクションに追加するために選択することができるインタラクティブインタフェース要素を提供することができる。次に、コレクションインタフェースを提供することができる。次に、スニペットパケットのグラフィック表示を、特定のコレクションを記述するグラフィックタイルにドラッグする、ドラッグ入力を受信することができる。次に、スニペットパケットを、コレクションに記憶することができる(例えば、スニペットパケットを、スニペットパケットを特定のコレクションにリンクさせる関係タグとともに記憶することができる)。いくつかの実施態様では、スニペットパケットのグラフィック表示は、グラフィック表示が特定のコレクションにドラッグされるときに、サイズ及び/または比率を変更することができる。サイズと比率の変更は、見た目に美しい表示を提供しながら、コレクション追加の直観的なインジケーションを提供することができる。
いくつかの実施態様では、コンテンツアイテムを処理して、コンテンツアイテムに関連付けられたエンティティを決定することができる。エンティティは、コンテンツアイテム(例えば、テキストデータ、画像データ、オーディオデータ、映像データ、潜在符号化データ、及び/またはリンクデータ)を機械学習済みモデル(例えば、画像分類モデル、オブジェクト分類モデル、テキスト分類モデル(例えば、自然言語処理モデル)、セグメンテーションモデル、意味モデル、及び/または検出モデル)で処理して、エンティティデータ(例えば、分類)を生成することによって決定することができる。次に、関係データを生成して、エンティティデータに基づいてスニペットパケットに追加することができる。関係データは、1つまたは複数のエンティティタグ、及び/または他の関連するスニペットパケット及び/または関連するウェブページもしくはコンテンツアイテムへの参照を含むことができる。
スニペットパケットは、1つまたは複数のアプリケーション及び/またはデータベース内で検索可能であることができる。追加的及び/または代替的に、スニペットパケットは、メッセージングアプリケーション、ソーシャルメディアアプリケーションを介して、及び/または他のアプリケーションを介して共有可能であってよい。
いくつかの実施態様では、コンテンツアイテムを1つまたは複数の機械学習済みモデルで処理して、スニペットパケットに記憶することができるタグを生成することができる。次に、タグを検索可能なタグとして利用して、検索クエリに応答してスニペットパケットを表面化することができる。タグは、コンテンツアイテムのコンテンツ(例えば、認識された単語、画像内の認識されたオブジェクト、映像フレームまたはオーディオストリームの特性など)に基づいて決定することができる。
いくつかの実施態様では、スニペットパケット生成は、スニペットパケット生成インタフェースを開くことができるスニペットパケット生成インタフェース要素の選択後に起きる。代替的及び/または追加的に、ユーザはコンテンツアイテムを選択することができ、1つまたは複数(例えば、2つ)のポップアップにコンテンツアイテムとインタラクトするための様々なオプションを提供することができ、オプションのうちの1つはスニペットパケット生成を含むことができる。代替的及び/または追加的に、コンテンツアイテムに関連付けられた検索結果が提供されてよい。
いくつかの実施態様では、スクリーンショット要求を受信することができる。スクリーンショットを生成して、新しいクライアントにアップロードすることができ、トークンを生成することができる。トークンは、スクリーンショットに関連付けられたデータを受信するために利用することができる。トークン、スクリーンショット、及びスクリーンショットの詳細を利用して、スニペットパケットを生成することができる。
ウェブページだけでなく、他のデータソースに基づいてスニペットパケットを生成するために、システム及び方法を実施することができる。例えば、システム及び方法を利用して、ローカルに保存された、及び/またはサーバコンピューティングシステムに保存されたデータファイルのコンテンツアイテムに基づいてスニペットパケットを生成してもよい。生成したスニペットパケットは、コンテンツアイテム(及び/またはグラフィックカード)、アドレスデータ、及び位置データを含むことができる。アドレスデータは、データファイルが保存されている場所を記述することができる(例えば、ドライブの名前及び任意のフォルダの名前(例えば、G:\ResearchPapers\Quantum\Spin))。位置データは、データファイル内のどこにコンテンツアイテムが位置しているかを記述することができる。位置データは、データファイル内で一致するデータを見つけるために利用することができる開始データ及び終了データを含むことができ、次に、データファイルにナビゲートし、ハイライトすることができる。代替的及び/または追加的に、位置データは、1つまたは複数のポインタを含むことができる。
システム及び方法は、オブジェクトのサブセット、抜粋、及び/または一部(例えば、より大きなウェブページの一部であり得るテキスト、画像、及び/または映像)のユーザ選択を可能とすることができる。いくつかの実施態様では、システム及び方法は、より大きなテキストの本体からテキストの一部分をセグメント化することができ、画像の一部分をセグメント化してもよく、映像内のフレームを分離してもよく、及び/またはオーディオファイルの一部分をセグメント化してもよい。
いくつかの実施態様では、システム及び方法は、ブラウザアプリケーションの拡張として利用することができ、及び/または他のアプリケーションの最上部に位置する機能として利用してもよく、スニペットパケット生成は、様々な異なるアプリケーションタイプで表示されるコンテンツに利用することができる。例えば、システム及び方法をコンピューティングデバイスのオペレーティングシステムに組み込んで、様々な異なるアプリケーション(例えば、マップアプリケーション、ブラウザアプリケーション、ソーシャルメディアアプリケーションなど)で行われた選択に対してスニペットパケット生成を起こすことを可能にし得る。
追加的及び/または代替的に、システム及び方法を、様々なタイプの複数の異なるコンピューティングデバイスによって利用することができる。例えば、システム及び方法を、モバイルコンピューティングデバイス、デスクトップコンピューティングデバイス、スマートウェアラブル(例えば、スマートグラス)、及び/または他のコンピューティングデバイスによって利用することができる。システム及び方法は、仮想現実インタフェース及び拡張現実インタフェースで利用されてもよい。
いくつかの実施態様では、スニペットパケットは、スニペットパケットが生成されたときのユーザのコンテキストを記述するユーザコンテキストデータを含むことができる。例えば、コンピューティングデバイスは、ユーザのコンテキストに関するデータを収集することができる複数のセンサを含むことができる。いくつかの実施態様では、ユーザコンピューティングデバイスの物理的な位置データを取得し、スニペットパケットに記憶することで、スニペットにさらなるコンテキストを提供することができる。物理的な位置データを、グラフィックカード内に提供することができ、及び/またはスニペットパケットインタラクション中に見ることができるオプションデータセットとして提供してもよい。
システム及び方法は、スニペットパケットをユーザのデバイスにローカルで記憶することができ、及び/またはスニペットパケットをサーバコンピューティングシステムに記憶してもよい。スニペットパケットがユーザに対してプライベートのままであることを確保するためにスニペットパケットのローカルストレージを利用することができ、オフラインアクセスを提供することができる。さらに、スニペットパケットのコレクション及び生成に関連するメタデータは、プライベートかつ安全に保持することができる。
システム及び方法を、ブラウザ拡張を介して、オーバーレイアプリケーションを介して、及び/または内蔵アプリケーションの機能を介して提供することができる。システム及び方法は、モバイルデバイス、デスクトップデバイス、スマートウェアラブル、及び/または他のコンピューティングデバイスで利用することができる。
スニペットパケットは、選択された一部分、ウェブページ、及び/またはユーザの1つまたは複数のコンテキスト(例えば、使用中のアプリケーション、時刻、ユーザの地理的位置、及び/またはユーザプロファイルデータ)に関連付けられたその他のメタデータを含んでもよい。
システム及び方法は、サーバコンピューティングシステムで実行されてよい。代替的及び/または追加的に、システム及び方法は、ユーザコンピューティングデバイスでローカルに実行することができる。いくつかの実施態様では、ユーザコンピューティングデバイスは、ネットワークを介して通信可能に接続することができ、データを送信して、クラウドベースのコンピューティングを実行することができる。スニペットパケットは、ローカルに記憶されてもよく、及び/またはサーバに記憶されてもよい。
本開示のシステム及び方法は、いくつかの技術的効果及び利点を提供する。一例として、システム及び方法は、スニペットパケットを生成して記憶することができる。特に、本明細書で開示されるシステム及び方法は、入力データを取得し、入力データに関連付けられたコンテンツアイテム(例えば、テキスト、画像、映像、及び/またはオーディオ)を決定し、スニペットパケットを生成し、スニペットパケットを記憶することができる。スニペットパケットは、コンテンツアイテムのグラフィック表示を含むことができ、このコンテンツアイテムのグラフィック表示は、選択されるとき、コンテンツアイテムが由来するウェブページの一部分にユーザを導くことができる。スニペットパケットの生成及び保存により、コンテンツアイテムに関するより多くのコンテキストへのリンクを維持しながら、保存されたコンテンツに容易にアクセスすることを可能とすることができる。
本開示のシステム及び方法の他の技術的利点は、スニペットパケットを活用して、比較的少ない伝送コストで階層化レベルの情報を共有できることである。例えば、システム及び方法は、スニペットパケットを生成することができる。スニペットパケットを、最初にコンテンツアイテムを見ることができる第2のユーザと共有することができる。次に、第2のユーザは、コンテンツアイテムを選択して、ウェブページにナビゲートし、コンテンツアイテムが由来するウェブページの特定の部分にルーティングされ得ることにより、第2のユーザが、コンテンツアイテムに関するより多くのコンテキストを取得することを可能とすることができる。コンテンツアイテム、ウェブアドレス、及びテキストフラグメントが送信され得るため、階層化情報の提供は、比較的低い伝送コストで完了することができる。第2のユーザは、スニペットパケットとインタラクトし、コンテンツアイテムを分離して見ることができ、次にスニペットパケットを選択して、テキストフラグメントと組み合わせてウェブアドレスを使用し、コンテンツアイテムをハイライトした、またはその他の方法で示されたウェブページの一部分にナビゲートすることができる。ウェブページファイル全体をハイライトして送信することは、伝送中にさらに多くのアップロード及びダウンロードを含む場合がある。
他の例示的な技術的効果及び利点は、改善された計算効率及びコンピューティングシステムの機能の改善に関する。例えば、本明細書で開示されるシステム及び方法は、スニペットバケットを活用して、コンテンツアイテム及び関連するウェブページコンテキストを保存するために記憶されるデータの量を軽減することができる。特に、スニペットパケットは、大量のコンテンツアイテム及び埋め込みデータを含み得るウェブページ全体の圧縮バージョンを保存する代わりに、コンテンツアイテム、ウェブアドレス、及びテキストフラグメントの圧縮バージョンを含んでもよい。さらに、スニペットパケットのコレクションを検索することは、複数の圧縮されたウェブページを検索するよりも計算量を少なくすることができる。
ここで図面を参照して、本開示の例示的な実施形態を、より詳細に説明する。
例示的なデバイス及びシステム
図1Aは、本開示の例示的な実施形態による、スニペットパケット生成を実行する例示的なコンピューティングシステム100のブロック図を示す。システム100は、ネットワーク180を介して通信可能に接続されたユーザコンピューティングデバイス102と、サーバコンピューティングシステム130と、トレーニングコンピューティングシステム150とを含む。
ユーザコンピューティングデバイス102は、例えば、パーソナルコンピューティングデバイス(例えば、ラップトップもしくはデスクトップ)、モバイルコンピューティングデバイス(例えば、スマートフォンもしくはタブレット)、ゲーミングコンソールもしくはコントローラ、ウェアラブルコンピューティングデバイス、埋め込みコンピューティングデバイス、または任意の他のタイプのコンピューティングデバイスなど、任意のタイプのコンピューティングデバイスであることができる。
ユーザコンピューティングデバイス102は、1つまたは複数のプロセッサ112と、メモリ114とを含む。1つまたは複数のプロセッサ112は、任意の適切な処理デバイス(例えば、プロセッサコア、マイクロプロセッサ、ASIC、FPGA、コントローラ、マイクロコントローラなど)であることができ、1つのプロセッサ、または動作可能に接続された複数のプロセッサであることができる。メモリ114は、RAM、ROM、EEPROM、EPROM、フラッシュメモリデバイス、磁気ディスクなどの、1つまたは複数の非一時的なコンピュータ可読記憶媒体、及びそれらの組み合わせを含むことができる。メモリ114は、データ116と、ユーザコンピューティングデバイス102に動作を実行させるためにプロセッサ112によって実行される命令118とを記憶することができる。
いくつかの実施態様では、ユーザコンピューティングデバイス102は、1つまたは複数のパケット生成モジュール120を記憶することができるか、または含むことができる。例えば、パケット生成モジュール120は、ニューラルネットワーク(例えば、ディープニューラルネットワーク)または非線形モデル及び/または線形モデルを含む他のタイプの機械学習済みモデルなど、様々な機械学習済みモデルであることができ、またはそうでなければそれらを含むことができる。ニューラルネットワークは、フィードフォワードニューラルネットワーク、再帰型ニューラルネットワーク(例えば、長短期メモリ再帰型ニューラルネットワーク)、畳み込みニューラルネットワーク、または他の形式のニューラルネットワークを含むことができる。例示的なパケット生成モデル120については、図2~図4を参照して説明される。
いくつかの実施態様では、1つまたは複数のパケット生成モデル120を、ネットワーク180を介してサーバコンピューティングシステム130から受信し、ユーザコンピューティングデバイスメモリ114に記憶し、次に1つまたは複数のプロセッサ112によって使用する、またはそうでなければ実装することができる。いくつかの実施態様では、ユーザコンピューティングデバイス102は、(例えば、スニペット選択の複数のインスタンスにわたって並列スニペットパケット生成を実行するために)単一のパケット生成モデル120の複数の並列インスタンスを実装することができる。
より具体的には、パケット生成モデルは、入力データを受信し、1つまたは複数の選択されたコンテンツアイテムを決定し、スニペットパケットを生成し、及び/または1つまたは複数のタグを決定することができる。いくつかの実施態様では、パケット生成モデルは、選択されたコンテンツアイテムを処理し、スニペットパケットに追加される要約を生成することができる。
追加的及び/または代替的に、1つまたは複数のパケット生成モデル140は、クライアント―サーバ関係に従ってユーザコンピューティングデバイス102と通信するサーバコンピューティングシステム130に含まれるか、またはそうでなければサーバコンピューティングシステム130によって記憶及び実装することができる。例えば、パケット生成モジュール140を、ウェブサービス(例えば、スニペットパケット生成サービス)の一部分としてサーバコンピューティングシステム140が実装することができる。したがって、1つまたは複数のモデル120が、ユーザコンピューティングデバイス102において記憶され実装されることができ、及び/または1つまたは複数のモデル140が、サーバコンピューティングシステム130において記憶され実装されることができる。
ユーザコンピューティングデバイス102はまた、ユーザ入力を受信する1つまたは複数のユーザ入力コンポーネント122を含むことができる。例えば、ユーザ入力コンポーネント122は、ユーザ入力オブジェクト(例えば、指またはスタイラス)のタッチに敏感であるタッチセンサ式コンポーネント(例えば、タッチセンサ式表示画面またはタッチパッド)であることができる。タッチセンサ式コンポーネントは、仮想キーボードを実装する役割を果たすことができる。他の例示的なユーザ入力コンポーネントは、マイクロフォン、従来のキーボード、またはユーザがユーザ入力を提供することができる他の手段を含む。
サーバコンピューティングシステム130は、1つまたは複数のプロセッサ132と、メモリ134とを含む。1つまたは複数のプロセッサ132は、任意の適切な処理デバイス(例えば、プロセッサコア、マイクロプロセッサ、ASIC、FPGA、コントローラ、マイクロコントローラなど)であることができ、1つのプロセッサ、または動作可能に接続された複数のプロセッサであることができる。メモリ134は、RAM、ROM、EEPROM、EPROM、フラッシュメモリデバイス、磁気ディスクなどの、1つまたは複数の非一時的なコンピュータ可読記憶媒体、及びそれらの組み合わせを含むことができる。メモリ134は、データ136と、サーバコンピューティングシステム130に動作を実行させるためにプロセッサ132によって実行される命令138とを記憶することができる。
いくつかの実施態様では、サーバコンピューティングシステム130は、1つまたは複数のサーバコンピューティングデバイスを含むか、またはそうでなければ、それらによって実装される。サーバコンピューティングシステム130が、複数のサーバコンピューティングデバイスを含む場合には、そのようなサーバコンピューティングデバイスは、シーケンシャルコンピューティングアーキテクチャ、並列コンピューティングアーキテクチャ、またはそのいずれかの組み合わせによって動作することができる。
上記のように、サーバコンピューティングシステム130は、1つまたは複数の機械学習済みパケット生成モデル140を記憶することができるか、またはそうでなければ、含むことができる。例えば、モデル140は、様々な機械学習済みモデルであることができ、またはそうでなければ、それらを含むことができる。例示的な機械学習済みモデルは、ニューラルネットワークまたは他の多層非線形モデルを含む。例示的なニューラルネットワークは、フィードフォワードニューラルネットワーク、ディープニューラルネットワーク、再帰型ニューラルネットワーク、及び畳み込みニューラルネットワークを含む。例示的なモデル140については、図2~図4を参照して説明される。
ユーザコンピューティングデバイス102及び/またはサーバコンピューティングシステム130は、ネットワーク180を介して通信可能に接続されるトレーニングコンピューティングシステム150とのインタラクションによってモデル120及び/または140をトレーニングすることができる。トレーニングコンピューティングシステム150は、サーバコンピューティングシステム130とは別個であることができ、または、サーバコンピューティングシステム130の一部分であることができる。
トレーニングコンピューティングシステム150は、1つまたは複数のプロセッサ152と、メモリ154とを含む。1つまたは複数のプロセッサ152は、任意の適切な処理デバイス(例えば、プロセッサコア、マイクロプロセッサ、ASIC、FPGA、コントローラ、マイクロコントローラなど)であることができ、1つのプロセッサ、または動作可能に接続された複数のプロセッサであることができる。メモリ154は、RAM、ROM、EEPROM、EPROM、フラッシュメモリデバイス、磁気ディスクなどの、1つまたは複数の非一時的なコンピュータ可読記憶媒体、及びそれらの組み合わせを含むことができる。メモリ154は、データ156と、トレーニングコンピューティングシステム150に動作を実行させるためにプロセッサ152によって実行される命令158とを記憶できる。いくつかの実施態様では、トレーニングコンピューティングシステム150は、1つまたは複数のサーバコンピューティングデバイスを含むか、またはそうでなければ、それらによって実装される。
トレーニングコンピューティングシステム150は、例えば、誤差逆伝搬などの様々なトレーニング技術または学習技術を使用して、ユーザコンピューティングデバイス102及び/またはサーバコンピューティングシステム130に記憶された機械学習済みモデル120及び/または140をトレーニングするモデルトレーナ160を含むことができる。例えば、損失関数は、(例えば、損失関数の勾配に基づいて)モデル(複数可)の1つまたは複数のパラメータを更新するためにモデル(複数可)を通して逆伝搬することができる。平均二乗誤差、尤度損失、交差エントロピー損失、ヒンジ損失、及び/または様々な他の損失関数など、様々な損失関数を使用することができる。勾配降下技法は、いくつかのトレーニング反復にわたってパラメータを反復的に更新するために使用することができる。
いくつかの実施態様では、誤差逆伝搬を実行することは、打切り型通時的誤差逆伝搬を実行することを含むことができる。モデルトレーナ160は、トレーニングされるモデルの汎化能力を向上させるために、いくつかの汎化技術(例えば、重み減衰、ドロップアウトなど)を実行することができる。
特に、モデルトレーナ160は、トレーニングデータ162のセットに基づいてパケット生成モデル120及び/または140をトレーニングすることができる。トレーニングデータ162は、例えば、トレーニング入力(例えば、トレーニングジェスチャ)、トレーニングウェブページ、トレーニング、テキストデータ、トレーニング画像データ、グラウンドトゥルースグラフィックカード、グラウンドトゥルーススニペットパケット(例えば、グラウンドトゥルーススニペット、グラウンドトゥルースアドレスデータ、及び/またはグラウンドトゥルース位置データ)、及び/またはグラウンドトゥルースエンティティラベルを含むことができる。
いくつかの実施態様では、ユーザが同意した場合、ユーザコンピューティングデバイス102によってトレーニング例を提供することができる。したがって、そのような実施態様では、ユーザコンピューティングデバイス102に提供されるモデル120を、トレーニングコンピューティングシステム150によって、ユーザコンピューティングデバイス102から受信されるユーザ固有データでトレーニングすることができる。場合によっては、このプロセスは、モデルのパーソナライズと呼ばれることがある。
モデルトレーナ160は、所望の機能を提供するために利用されるコンピュータ論理を含む。モデルトレーナ160は、汎用プロセッサを制御するハードウェア、ファームウェア、及び/またはソフトウェアで実装することができる。例えば、いくつかの実施態様では、モデルトレーナ160は、ストレージデバイスに記憶され、メモリにロードされ、1つまたは複数のプロセッサによって実行されるプログラムファイルを含む。他の実施態様では、モデルトレーナ160は、RAMハードディスクまたは光学媒体もしくは磁気媒体などの有形コンピュータ可読記憶媒体に記憶されるコンピュータ実行可能命令の1つまたは複数のセットを含む。
ネットワーク180は、ローカルエリアネットワーク(例えば、イントラネット)、ワイドエリアネットワーク(例えば、インターネット)、またはそのいずれかの組み合わせなどの、任意タイプの通信ネットワークであることができ、任意の数の有線リンクまたは無線リンクを含むことができる。概して、ネットワーク180を介した通信は、多種多様な通信プロトコル(例えば、TCP/IP、HTTP、SMTP、FTP)、符号化もしくはフォーマット(例えば、HTML、XML)、及び/または保護方式(例えば、VPN、セキュアHTTP、SSL)を使用して、任意のタイプの有線接続及び/または無線接続を介して行うことができる。
本明細書に記載の機械学習済みモデルは、様々なタスク、アプリケーション、及び/またはユースケースで使用され得る。
いくつかの実施態様では、本開示の機械学習済みモデル(複数可)への入力は、画像データであることができる。機械学習済みモデル(複数可)は、画像データを処理して、出力を生成することができる。一例として、機械学習済みモデル(複数可)は、画像データを処理して、画像認識出力(例えば、画像データの認識、画像データの潜在埋め込み、画像データの符号化表示、画像データのハッシュなど)を生成することができる。他の例として、機械学習済みモデル(複数可)は、画像データを処理して、画像セグメンテーション出力を生成することができる。他の例として、機械学習済みモデル(複数可)は、画像データを処理して、画像分類出力を生成することができる。他の例として、機械学習済みモデル(複数可)は、画像データを処理して、画像データ変更出力(例えば、画像データの改変など)を生成することができる。他の例として、機械学習済みモデル(複数可)は、画像データを処理して、符号化画像データ出力(例えば、画像データの符号化表示及び/または圧縮表示など)を生成することができる。他の例として、機械学習済みモデル(複数可)は、画像データを処理して、アップスケールされた画像データ出力を生成することができる。他の例として、機械学習済みモデル(複数可)は、画像データを処理して、予測出力を生成することができる。
いくつかの実施態様では、本開示の機械学習済みモデル(複数可)への入力は、テキストまたは自然言語データであることができる。機械学習済みモデル(複数可)は、テキストまたは自然言語データを処理して、出力を生成することができる。他の例として、機械学習済みモデル(複数可)は、自然言語データを処理して、言語符号化出力を生成することができる。他の例として、機械学習済みモデル(複数可)は、テキストまたは自然言語データを処理して、潜在テキスト埋め込み出力を生成することができる。他の例として、機械学習済みモデル(複数可)は、テキストまたは自然言語データを処理して、翻訳出力を生成することができる。他の例として、機械学習済みモデル(複数可)は、テキストまたは自然言語データを処理して、分類出力を生成することができる。他の例として、機械学習済みモデル(複数可)は、テキストまたは自然言語データを処理して、テキストセグメンテーション出力を生成することができる。他の例として、機械学習済みモデル(複数可)は、テキストまたは自然言語データを処理して、意味的な意図出力を生成することができる。他の例として、機械学習済みモデル(複数可)は、テキストまたは自然言語データを処理して、アップスケールされたテキストまたは自然言語出力(例えば、入力テキストまたは自然言語よりも高品質のテキストまたは自然言語データなど)を生成することができる。他の例として、機械学習済みモデル(複数可)は、テキストまたは自然言語データを処理して、予測出力を生成することができる。
いくつかの実施態様では、本開示の機械学習済みモデル(複数可)への入力は、音声データであることができる。機械学習済みモデル(複数可)は、音声データを処理して、出力を生成することができる。一例として、機械学習済みモデル(複数可)は、音声データを処理して、音声認識出力を生成することができる。他の例として、機械学習済みモデル(複数可)は、音声データを処理して、音声翻訳出力を生成することができる。他の例として、機械学習済みモデル(複数可)は、音声データを処理して、潜在埋め込み出力を生成することができる。他の例として、機械学習済みモデル(複数可)は、音声データを処理して、符号化音声出力(例えば、音声データの符号化表示及び/または圧縮表示など)を生成することができる。他の例として、機械学習済みモデル(複数可)は、音声データを処理して、アップスケールされた音声出力(例えば、入力音声データよりも高品質の音声データなど)を生成することができる。他の例として、機械学習済みモデル(複数可)は、音声データを処理して、テキスト表示出力(例えば、入力音声データのテキスト表示など)を生成することができる。他の例として、機械学習済みモデル(複数可)は、音声データを処理して、予測出力を生成することができる。
いくつかの実施態様では、本開示の機械学習済みモデル(複数可)への入力は、潜在符号化データ(例えば、入力の潜在空間表示など)であることができる。機械学習済みモデル(複数可)は、潜在符号化データを処理して、出力を生成することができる。一例として、機械学習済みモデル(複数可)は、潜在符号化データを処理して、認識出力を生成することができる。他の例として、機械学習済みモデル(複数可)は、潜在符号化データを処理して、再構築出力を生成することができる。他の例として、機械学習済みモデル(複数可)は、潜在符号化データを処理して、検索出力を生成することができる。他の例として、機械学習済みモデル(複数可)は、潜在符号化データを処理して、再クラスタリング出力を生成することができる。他の例として、機械学習済みモデル(複数可)は、潜在符号化データを処理して、予測出力を生成することができる。
いくつかの実施態様では、本開示の機械学習済みモデル(複数可)への入力は、統計データであることができる。機械学習済みモデル(複数可)は、統計データを処理して、出力を生成することができる。一例として、機械学習済みモデル(複数可)は、統計データを処理して、認識出力を生成することができる。他の例として、機械学習済みモデル(複数可)は、統計データを処理して、予測出力を生成することができる。他の例として、機械学習済みモデル(複数可)は、統計データを処理して、分類出力を生成することができる。他の例として、機械学習済みモデル(複数可)は、統計データを処理して、セグメンテーション出力を生成することができる。他の例として、機械学習済みモデル(複数可)は、統計データを処理して、セグメンテーション出力を生成することができる。他の例として、機械学習済みモデル(複数可)は、統計データを処理して、視覚化出力を生成することができる。他の例として、機械学習済みモデル(複数可)は、統計データを処理して、診断出力を生成することができる。
場合によっては、機械学習モデル(複数可)は、信頼性のある及び/または効率的な伝送または記憶(及び/または対応する復号化)のために入力データを符号化することを含むタスクを実行するように構成することができる。例えば、タスクは、オーディオ圧縮タスクであってよい。入力は、オーディオデータを含んでよく、出力は、圧縮オーディオデータを含んでよい。他の例では、入力は視覚データ(例えば、1つまたは複数の画像または映像)を含み、出力は圧縮視覚データを含み、タスクは視覚データ圧縮タスクである。他の例では、タスクは、入力データ(例えば、入力オーディオまたは視覚データ)のために埋め込みを生成することを含んでよい。
場合によっては、入力は視覚データを含み、タスクはコンピュータビジョンタスクである。場合によっては、入力は1つまたは複数の画像のピクセルデータを含み、タスクは画像処理タスクである。例えば、画像処理タスクは、画像分類であることができ、出力は、スコアのセットであり、各スコアは、異なるオブジェクトクラスに対応し、1つまたは複数の画像がオブジェクトクラスに属するオブジェクトを示す尤度を表す。画像処理タスクは、オブジェクト検出であってよく、画像処理出力は、1つまたは複数の画像内の1つまたは複数の領域と、領域ごとに、領域が関心のあるオブジェクトを示す尤度とを識別する。他の例として、画像処理タスクは、画像セグメンテーションであることができ、画像処理出力は、1つまたは複数の画像のピクセルごとに、所定のカテゴリのセットのカテゴリごとの各尤度を定義する。例えば、カテゴリのセットは、フォアグラウンド及びバックグラウンドであることができる。他の例として、カテゴリのセットは、オブジェクトクラスであることができる。他の例として、画像処理タスクは、深度推定であることができ、画像処理出力は、1つまたは複数の画像のピクセルごとに、各深度値を定義する。他の例として、画像処理タスクは、動き推定であることができ、ネットワーク入力は複数の画像を含み、画像処理出力は、入力画像のうちの1つのピクセルごとに、ネットワーク入力内の画像間のピクセルに描写されたシーンの動きを定義する。
場合によっては、タスクは、入力データを暗号化すること、または復号することを含む。場合によっては、タスクは、分岐予測またはメモリアドレス変換など、マイクロプロセッサパフォーマンスタスクを含む。
図1Aは、本開示を実装するために使用することができる1つの例示的なコンピューティングシステムを示す。他のコンピューティングシステムも同様に使用することができる。例えば、いくつかの実施態様では、ユーザコンピューティングデバイス102は、モデルトレーナ160と、トレーニングデータセット162とを含むことができる。そのような実施態様では、モデル120は、ユーザコンピューティングデバイス102でローカルにトレーニングと使用の両方を行うことができる。そのような実施態様のうちの一部では、ユーザコンピューティングデバイス102は、ユーザ固有データに基づいてモデル120をパーソナライズするためのモデルトレーナ160を実装することができる。
図1Bは、本開示の例示的な実施形態に従って実行する例示的なコンピューティングデバイス10のブロック図を示す。コンピューティングデバイス10は、ユーザコンピューティングデバイスまたはサーバコンピューティングデバイスであることができる。
コンピューティングデバイス10は、いくつかのアプリケーション(例えば、アプリケーション1~N)を含む。各アプリケーションは、それ自体の機械学習ライブラリと、機械学習済みモデル(複数可)とを含む。例えば、各アプリケーションは、機械学習済みモデルを含むことができる。例示的なアプリケーションは、テキストメッセージングアプリケーション、電子メールアプリケーション、ディクテーションアプリケーション、仮想キーボードアプリケーション、ブラウザアプリケーションなどを含む。
図1Bに示すように、各アプリケーションは、例えば、1つまたは複数のセンサ、コンテキストマネージャ、デバイス状態コンポーネント、及び/または追加コンポーネントなど、コンピューティングデバイスのいくつかの他のコンポーネントと通信することができる。いくつかの実施態様では、各アプリケーションは、API(例えば、パブリックAPI)を使用して、各デバイスコンポーネントと通信することができる。いくつかの実施態様では、各アプリケーションによって使用されるAPIは、そのアプリケーションに固有である。
図1Cは、本開示の例示的な実施形態に従って実行する例示的なコンピューティングデバイス50のブロック図を表す。コンピューティングデバイス50は、ユーザコンピューティングデバイスまたはサーバコンピューティングデバイスであることができる。
コンピューティングデバイス50は、いくつかのアプリケーション(例えば、アプリケーション1~N)を含む。各アプリケーションは、中央インテリジェンスレイヤと通信する。例示的なアプリケーションは、テキストメッセージングアプリケーション、電子メールアプリケーション、ディクテーションアプリケーション、仮想キーボードアプリケーション、ブラウザアプリケーションなどを含む。いくつかの実施態様では、各アプリケーションは、API(例えば、すべてのアプリケーションにわたる共通API)を使用して、中央インテリジェンスレイヤ(及びその中に記憶されるモデル(複数可))と通信することができる。
中央インテリジェンスレイヤは、いくつかの機械学習済みモデルを含む。例えば、図1Cに示すように、それぞれの機械学習済みモデル(例えば、モデル)を、アプリケーションごとに提供することができ、中央インテリジェンスレイヤが管理することができる。他の実施態様では、2つ以上のアプリケーションは、単一の機械学習済みモデルを共有することができる。例えば、いくつかの実施態様では、中央インテリジェンスレイヤは、アプリケーションのすべてに対して単一のモデル(例えば、単一モデル)を提供することができる。いくつかの実施態様では、中央インテリジェンスレイヤは、コンピューティングデバイス50のオペレーティングシステム内に含まれるか、またはそうでなければ、それらによって実装される。
中央インテリジェンスレイヤ、中央デバイスデータレイヤと通信することができる。中央デバイスデータレイヤは、コンピューティングデバイス50のためのデータの集中型リポジトリであることができる。図1Cに示すように、中央デバイスデータレイヤは、例えば、1つまたは複数のセンサ、コンテキストマネージャ、デバイス状態コンポーネント、及び/または追加コンポーネントなど、コンピューティングデバイスのいくつかの他のコンポーネントと通信することができる。いくつかの実施態様では、中央デバイスデータレイヤは、API(例えば、プライベートAPI)を使用して、各デバイスコンポーネントと通信することができる。
モデル配置例
図2は、本開示の例示的な実施形態による、例示的なスニペットパケット生成インタフェース200の図を示す。スニペットパケット生成インタフェースは、テキスト選択、画像選択、スクリーンショット、映像選択、及び/またはオーディオ選択を受信するように構成することができる。次に、オプションメニューは、保存オプションを含む複数のオプションをポップアップすることができる。保存オプションを選択することができるため、グラフィックカードを生成し、表示のために提供することを促すことができる。スニペットパケットを生成することができる。ユーザは、次に、スニペットパケットをどのコレクションに保存するかを選択することができる。
例えば、202において、ウェブページのディスプレイウィンドウが表示のために提供され、テキストコンテンツアイテムを含むウェブページの一部分が選択され、保存ユーザインタフェース要素が選択される。204において、スニペットパケットが生成され、生成されたグラフィック表示(例えば、タイトル及び位置が示されたテキストの一部分を備えたグラフィックカード)が表示のために提供される。さらに、204において、ユーザインタフェースは、コレクションへの追加オプションを提供するためのポップアップウィンドウを含み、既存のコレクションへの追加及び/または新しいコレクションの生成を含むことができる。コレクションは、自動生成されてよく、及び/または手動で生成されてもよい。
206において、ウェブページの検索結果の一部分が選択され(例えば、ナレッジグラフの一部分を選択してよい)、保存オプションが選択され得る。208において、グラフィックカードが表示のために提供され、グラフィックカードは、検索結果ページの選択部分に基づいて生成された。例えば、グラフィックカードは、選択された部分に関連付けられたピクチャをバックグラウンドとして含むことができ、選択されたテキストはフォアグラウンドに表示される。追加的及び/または代替的に、グラフィックカードは、検索クエリ及び関連する検索エンジンを含むことができる。コレクションの追加オプションを提供することができる。
210において、スクリーンショット入力が受信され、表示のための保存オプションが提供される。212において、保存入力が受信され、生成されたグラフィック表示及びコレクションへの追加オプションが表示のために提供される。グラフィック表示は、スクリーンショットの少なくとも一部分と、ソース情報(例えば、ウェブページのタイトル、スクリーンショット情報に関連付けられたエンティティ、及び/またはスクリーンショット情報のソース)を含むバナーとを含むことができる。
生成されたスニペットパケットは、生成されたグラフィック表示とともに記憶することができる。次に、ユーザは、スニペットパケットを選択して、拡大されたグラフィック表示を見てもよく、保存されたコンテンツアイテム(複数可)を見てもよく、及び/またはリソース内のコンテンツアイテム(複数可)があるウェブページの特定の地点にナビゲートしてもよい。
図3は、本開示の例示的な実施形態による、例示的なジェスチャインタラクション300の図を示す。例えば、クリッピングインタフェースを要求するユーザ入力を受信することができる(例えば、「クリップ」ユーザインタフェース要素302の選択)。スニペットパケット生成インタフェースを提供することができ、コンテンツアイテムの選択方法を実演するために、グラフィックアニメーション304を提供することができる。グラフィックアニメーションは、コンテンツアイテムを選択するために円の動きにおけるスワイプジェスチャを利用することができることを実演することができる。命令ユーザインタフェース要素306は、クリップして保存する方法に関する命令を提供するためにポップアップとして提供されてよい。
図4は、本開示の例示的な実施形態による、例示的なスニペットパケット生成インタフェース400の図を示す。いくつかの実施態様では、受信したユーザ入力に基づいてスニペットパケット生成インタフェースを要求することができ、スニペットパケット生成インタフェースを提供することができる。スニペットパケット生成インタフェースは、選択されたコンテンツアイテムに基づいてスニペットパケットの生成を可能にすることができるクリッピングオプションまたは要約オプションを含むことができる。スニペットパケット生成インタフェース400は、ウェブページのディスプレイウィンドウ402及びインタラクションペイン404を含むことができ、これらは、ウェブページインタラクションに応答して提供されることができ、表示のために複数のウェブページインタラクションオプションを提供することができる。インタラクションオプションは、予め定めることができ、ウェブページ全体で統一することができる。代替的及び/または追加的に、インタラクションオプションは、ウェブページのコンテンツに基づいて、選択されたコンテンツアイテムに基づいて、及び/またはウェブページに関連付けられたエンティティに基づいて変えることができる。インタラクションオプションは、コレクションへ追加すること、選択された一部分及び/またはウェブページ全体を要約すること、ウェブページの一部分をクリップすること、画像を保存すること、現在のウェブページのようなウェブページをもっと見つけること、ウェブページの製品を他の類似の製品と比較すること、及び/または価格オプションを追跡することを含むことができる。
図5は、本開示の例示的な実施形態による、例示的なスニペットパケット生成及びコレクション追加インタフェース500の図を示す。本明細書に開示されているシステム及び方法は、スニペットパケットを生成及び保存するために利用することができる。スニペットパケットをコレクションに追加することができ、スニペットパケットは後で使用するために検索可能であってよい。スニペットパケットは、生成されたグラフィックカードを含むことができる。いくつかの実施態様では、選択されたコンテンツアイテムが、1つまたは複数の機械学習済みモデルにより処理されて、コンテンツアイテムの要約を生成することができ、これを利用して、グラフィックカードを生成することができる。グラフィックカードはカスタマイズ可能であることができる。グラフィックカードは、ソースウェブページに基づいて決定された背景色及び/または背景画像を含んでよい。代替的及び/または追加的に、背景色及び/または背景画像は、ユーザによって選択されてよい。同様に、フォントは、自動的に決定されてもよく、予め定められてもよく、及び/またはユーザによって選択されてもよい。
502において、スニペットパケット(グラフィック表示を含む)は、ウェブページの選択された一部分に基づいて生成される。次に、生成されたスニペットパケットは、メディアコンテンツアイテム及びスニペットパケットの「Inspo」コレクションに追加される。
504において、要約がウェブページの一部分に対して生成され、グラフィックカードが、意味理解及び/または決定されたエンティティに基づいて生成される。生成されたグラフィックカードを、生成されたスニペットパケットの一部分として保存することができ、コレクションに追加することができる。コレクションは、特定のエンティティ及び/または特定のタイプのエンティティと関連付けてもよい。
506において、生成されたスニペットパケットを共有及び/またはカスタマイズするための異なるオプションが、表示のために提供される。例えば、グラフィック表示のテンプレート、テキスト、及び/または背景は、カスタマイズすることができる。共有オプションは、コレクションへ追加すること、メモへ追加すること、テキストメッセージによって送信すること、電子メールによって送信すること、コピーすること、及び/またはエアドロップを行うことを含むことができる。
508において、スニペットパケットをソーシャルメディアに公開することができ、及び/またはローカライズされた検索インタフェースに公開してもよい。例えば、ユーザは、検索アプリケーションを利用してもよく、検索アプリケーションは、クエリに応答して複数のウェブ検索結果を表面化することができ、及び/またはクエリに応答して1つまたは複数の生成されたスニペットパケット(例えば、特定のユーザの生成されたスニペットパケット及び/または関連するユーザ(例えば、特定のユーザに近い友人またはユーザ)の生成されたスニペットパケット)を表面化してもよい。
次に、生成されたスニペットパケットを、メッセージングアプリケーション、ソーシャルメディアアプリケーション、及び/または様々な他の方法を介して共有することができる。いくつかの実施態様では、スニペットパケットをウェブに公開することができ、ウェブ検索結果の新しいフォーマットとして利用してもよい。
図9は、本開示の例示的な実施形態による、例示的なコレクション追加インタフェース900の図を示す。コレクション追加インタフェースは、表示のために、コンテンツアイテム及び/またはスニペットパケットのグラフィック表示(例えば、グラフィックカード)を提供することができる。保存要素が選択されていることに応答して、複数のコレクションを表示のために提供することができる。次に、ユーザは、スニペットパケットを特定のコレクションに追加することができる。次に、スニペットパケットを、特定のコレクションに記憶することができる。
次に、特定のコレクションを開くことができ、生成されたスニペットパケットのグラフィック表示を、他のスニペットパケットに関連付けられた他のグラフィック表示とともに表示するために提供することができる。コレクション追加インタフェース900は、スニペットパケット生成902の際に表示するために、グラフィックカードを(第1のサイズで)表示することを含んでよい。次に、コレクション追加のためのポップアップウィンドウ904を、ユーザインタフェース要素の選択の際に表示のために提供することができる。スニペットパケットが特定のコレクションに追加されるとき、コレクション906は、生成されたグラフィックカードを(第2のサイズで)記述するサムネイルを含むコレクションにおいて異なるスニペットパケットを記述する複数のサムネイルとともに表示するために提供されてよい。
図10Aは、本開示の例示的な実施形態による、例示的なスニペットパケットインタラクション1020の図を示す。スニペットパケットが生成されると、スニペットパケットをインタラクトして、コンテンツアイテムに関連付けられたウェブページにナビゲートすることができる。スニペットパケットの位置データを利用して、コンテンツアイテムのソースを含むウェブページの特定の部分にナビゲートすることができる。コンテンツアイテムは、表示されるときにハイライトすることができる。例えば、1022のグラフィックカードを選択することができる。次に、グラフィックカードに関連付けられたスニペットパケットのアドレスデータ及び位置データを取得することができる。次に、アドレスデータ及び位置データを利用して、1つまたは複数のコンテンツアイテムをハイライトした選択されたスニペットパケットの1つまたは複数のコンテンツアイテムの正確な位置に、1024のウェブページを開くことができる。
図10Bは、本開示の例示的な実施形態による、例示的なスニペットパケット検索1040の図を示す。生成されたスニペットパケットは、ローカルで検索するとき、及び/またはウェブを検索するときに、検索結果として提供することができる。例えば、ユーザは、検索クエリを入力することができ、検索クエリは処理され、複数の提案されたクエリ及び複数の提案されたスニペットパケットが決定され得、さらなる入力を受信し得るため、表示のために(例えば、1042に示すように)それらのスニペットパケットを提供することができる。
図10Cは、本開示の例示的な実施形態による、例示的なハイライトインタフェース1080の図を示す。いくつかの実施態様では、(例えば、1082に示すような)ハイライトは、ハイライトの除去を要求するユーザ入力を受信したことに応答して、(例えば、1084に示すように)除去することができる。
図11は、本開示の例示的な実施形態による、例示的なグラフィックカード1100の図を示す。グラフィックカードは、自動生成することができ、及び/または1つまたは複数のユーザ入力に基づいて生成されてよい。グラフィックカードは、コンテンツアイテムに割り当てられた一部分及び/またはコンテンツアイテムのソースへの帰属に割り当てられた一部分を含むことができる。グラフィックカードは、テキスト、画像(複数可)、映像(複数可)、及び/またはオーディオを含むことができる。グラフィックカードは、選択されたコンテンツアイテムに基づいて異なり得る。テキストは、選択されたテキストであることができ、及び/またはウェブページから取得されたデータの要約であることができる。いくつかの実施態様では、背景及び/または画像を、自動的に選択/生成することができ、及び/またはユーザによって選択されてもよい。特に、図11は、リソースの帰属及び関連するタイトル/検索クエリを有するテキストベースのグラフィックカード1102の2つのフォーマットを示す。すなわち、画像、エンティティサムネイル、タイトルまたはキャプション、及びリソースの帰属を有する画像ベースのグラフィックカード1104と、スクリーンショット、エンティティロゴ、各記事のタイトル、及びリソースの帰属を含むスクリーンショットベースのグラフィックカード1106である。
図12は、本開示の例示的な実施形態による、例示的な要約スニペットパケット生成インタフェース1200の図を示す。スニペットパケット生成は、グラフィックカードを生成することを含むことができる。グラフィックカードは、ウェブページ内の選択されたデータの要約を記述するテキストを含むことができる。要約は、選択されたデータを機械学習済みモデルで処理することによって生成することができる。例えば、1202において、ウェブページの一部分が選択される。ユーザは、選択した一部分を処理するために要約ユーザインタフェース要素を選択して、要約を生成することができる。要約には、一節からの言葉が含まれる場合があり、及び/または一節を簡単な用語やユーザ固有の用語で要約した異なる言葉を含んでもよい。1204において、要約されたテキストを利用して、ウェブページ及びウェブページ内の選択された一部分の特定の位置に関連付けられた情報を含む生成されたスニペットパケットとともに記憶されるグラフィックカードを生成する。
図13は、本開示の例示的な実施形態による、例示的なスニペットパケット提案インタフェース1300の図を示す。いくつかの実施態様では、スニペットパケット提案インタフェースは、提案されたスニペットパケットに関連付けられた提案されたグラフィックカードを提供することを含むことができる(例えば、1304に示すように、1302に示すようなブックマークオプションの選択に応答して表示されてよい)。提案スニペットパケットは、特定のユーザによる過去のユーザインタラクションに基づくことができ、及び/または他のユーザによる過去のインタラクション(例えば、人気のあるスニペット)に基づくことができる。提案されたスニペットパケットは、ユーザコンピューティングシステムによってローカルに選択及び記憶することができる。
図14は、本開示の例示的な実施形態による、例示的なスニペットパケット生成及び共有インタラクション1400の図を示す。スニペットパケットは、コンテンツアイテムのユーザ選択(例えば、1402での選択)に応答して生成することができる。次に、生成されたスニペットパケットを、共有(例えば、複数の共有オプションを提供する共有インタフェース1404のテキストメッセージオプションを介して共有)することができる。スニペットパケットは、メッセージングアプリケーション、ソーシャルメディアアプリケーションを介して共有することができ、及び/または他のデータファイル(例えば、メモ、テキストドキュメント、及び/またはスライドデッキ)に挿入してもよい。共有スニペットパケットは、(例えば、1406に示すように)グラフィックカード、及びローカル保存のためのダウンロードオプションとともに送信されてよい。代替的及び/または追加的に、グラフィックカードは、ネイティブウェブページのスニペットパケットの1つまたは複数のコンテンツアイテムにナビゲートするように選択可能であってもよい。
図15は、本開示の例示的な実施形態による、例示的なグラフィックカードカスタマイズインタフェース1500の図を示す。グラフィックカードカスタマイズインタフェースは、グラフィックカードをカスタマイズするために選択することができる複数のテンプレートを伴うことができる。テンプレートは、異なる画像、異なる色、異なるフォント、及び/または異なるレイアウトを含むことができる。例えば、初期のグラフィックカード1502は、第1のフォントのテキスト、第1のサイズのテキスト、及び第1の背景を含んでよい。変更テンプレート要求を受信することができ、拡張グラフィックカード1504を、異なるテキストフォント、異なるテキストサイズ、及び/または異なる背景で生成することができる。
図16は、本開示の例示的な実施形態による、例示的なスニペットパケット生成システム1600のブロック図を示す。スニペットパケット生成システム1600は、入力データ1602(例えば、1つまたは複数のコンテンツアイテムの選択を記述する入力データ)を取得することを含むことができる。入力データ(1602)を処理して、選択されたコンテンツアイテムを決定することができる(1604)。決定された選択に基づいて、コンテンツアイテムを取得することができ、グラフィックカードを生成することができる(1606)。アドレスデータを、生成及び/または取得することができる(1608)。アドレスデータは、ユニフォームリソースロケータデータを含むことができる(1608)。位置データを、生成及び/または取得することができる(1610)。位置データは、ソースページ内のコンテンツアイテムを見つけてハイライトするために利用することができる、スクロール位置、コンテンツアイテムの開始、及びコンテンツアイテムの終了を含むことができるテキストフラグメントデータを含むことができる(1610)。グラフィックカード(1606)、コンテンツアイテム、アドレスデータ(1608)、及び位置データ(1610)を利用して、スニペットパケット(1612)を生成することができる。スニペットパケット(1612)を処理して、コンテンツアイテムに基づいて、及び/またはコンテンツアイテムのソースに基づいて、スニペットパケット(1612)に対する1つまたは複数のエンティティタグを決定することができる(1614)。エンティティタグ(1614)は、スニペットパケット(1612)を同じエンティティに関連付けられた他のスニペットパケットとリンクさせる関係データを含むことができる。エンティティタグ(複数可)(1614)を有するスニペットパケット(1612)を、次に、(例えば、ローカルに及び/またはサーバコンピューティングシステムに)記憶することができる(1616)。
決定のうちの1つまたは複数及び/または生成のうちの1つまたは複数は、1つまたは複数の機械学習済みモデルに少なくとも部分的に基づいて実行することができる。例えば、選択されたコンテンツアイテムを決定すること(1604)、コンテンツアイテムを取得すること及び/またはグラフィックカードを生成すること(1606)、位置データを生成すること(1610)、及び/またはエンティティタグを決定すること(1614)は、1つまたは複数の機械学習済みモデルによって実行することができる。
例示的な方法
図6は、本開示の例示的な実施形態に従って実行するための例示的な方法のフローチャート図を示す。図6は、例示及び説明の目的で特定の順序で実行されるステップを示しているが、本開示の方法は、特に示された順序または配置に限定されない。方法600の様々なステップは、本開示の範囲から逸脱することなく、様々な方法で省略される、再配置される、組み合わされる、及び/または適合されることができる。
602において、コンピューティングシステムは、グラフィカルユーザインタフェースを記述するデータを提供することができる。グラフィカルユーザインタフェースは、ウェブページを表示するためのグラフィカルウィンドウを含むことができる。いくつかの実施態様では、ウェブページは複数のコンテンツアイテムを含むことができる。
604において、コンピューティングシステムは、入力データを取得することができる。入力データは、複数のコンテンツアイテムのうちの1つまたは複数のコンテンツアイテムを保存するための要求を含むことができる。いくつかの実施態様では、1つまたは複数のコンテンツアイテムは、画像、映像、製品のグラフィック描写、またはオーディオのうちの少なくとも1つを含むことができる。
606において、コンピューティングシステムは、スニペットパケットを生成することができる。スニペットパケットは、入力データに基づいて生成することができる。スニペットパケットは、1つまたは複数のコンテンツアイテム、アドレスデータ、及び位置データを含むことができる。
1つまたは複数のコンテンツアイテムは、テキストデータ(例えば、単語、文、引用、及び/または段落を記述するテキストデータ)、画像データ(例えば、オブジェクト(例えば、製品)の画像)、映像データ(例えば、映像及び/または1つまたは複数の映像フレーム)、オーディオデータ(例えば、波形データ)、及び/または潜在符号化データを含むことができる。1つまたは複数のコンテンツアイテムは、マルチモーダルデータを含むことができる。
いくつかの実施態様では、スニペットパケットを生成することは、1つまたは複数のコンテンツアイテムを取得することと、グラフィックカードを生成することを含むことができる。グラフィックカードは、1つまたは複数のコンテンツアイテムを記述することができる。グラフィックカードは、色及び/または画像の上にオーバーレイされたテキストデータを含むことができる。色は、ウェブページの主色に基づいて決定されてよい。いくつかの実施態様では、色は、予め定められてもよく、及び/または周囲のコンテンツアイテムに基づいて決定されてもよい。画像は、コンテンツアイテムの決定されたトピックに基づいて決定された画像であってよい。代替的及び/または追加的に、画像は、コンテンツアイテムに近い画像であってよい。いくつかの実施態様では、グラフィックカードは、ウェブページで使用されるフォントに基づいて決定されたフォントを含むことができる。グラフィックカードは、背景、コンテンツアイテム(例えば、コンテンツアイテム及び/またはコンテンツアイテムの要約)を記述するテキスト、及び/またはソース及び/または決定されたエンティティを記述するテキスト及び/またはロゴを含むことができる。いくつかの実施態様では、グラフィックカードにおけるテキストのテキストサイズは、コンテンツアイテムにおけるテキスト量に基づくことができる。
アドレスデータは、ウェブページのウェブアドレスを記述することができる。アドレスデータは、ユニフォームリソース識別子及び/またはユニフォームリソースロケータを含むことができる。
位置データは、ウェブページ内の1つまたは複数のコンテンツアイテムの位置を記述することができる。いくつかの実施態様では、位置データは、スクロール位置、開始ノード、または終了ノードのうちの少なくとも1つを含むことができる。スクロール位置は、ウェブページの他の部分に対する1つまたは複数のコンテンツアイテムの位置を記述することができる。いくつかの実施態様では、開始ノードは、1つまたは複数のコンテンツアイテムの開始位置を記述することができる。終了ノードは、1つまたは複数のコンテンツアイテムの終了位置を記述することができる。位置データは、コンテンツアイテムの位置を示すために利用することができるテキストフラグメント(Tomayac et al.,“Scroll to Text Fragment,”GITHUB,(May 20,2022,9:40PM)https://github.com/WICG/scroll-to-text-fragment)を含むことができる。いくつかの実施態様では、テキストフラグメントは、位置に関連付けられた1つまたは複数のテキストディレクティブを含むことができる。テキストディレクティブは、コードの開始データ(例えば、コンテンツアイテムに関連付けられた最初のテキスト及び/またはコンテンツアイテムに関連付けられた最初のピクセル)及び/または終了データ(例えば、コンテンツアイテムに関連付けられた最後のテキスト及び/またはコンテンツアイテムに関連付けられた最後のピクセル)の文字列を含むことができる。テキストディレクティブは、コンテンツアイテムの始まり及び/または終わりに一致するデータのセットをウェブページで検索するために利用することができる。
いくつかの実施態様では、コンピューティングシステムは、1つまたは複数のコンテンツアイテムに関連付けられたエンティティを決定するために1つまたは複数のコンテンツアイテムを処理することを含むことができる。エンティティタグは、エンティティに基づいて生成することができる。スニペットパケットは、エンティティタグを含むことができる。
608において、コンピューティングシステムは、スニペットパケットを記憶することができる。スニペットパケットは、特定のユーザと関連付けることができる。特定のユーザとの関連付けは、ユーザを示すメタデータとともにスニペットパケットを記憶すること、及び/またはスニペットパケットを特定のユーザプロファイルと関連付けることを含むことができる。特定のユーザは、スニペットパケット生成要求を決定するために処理される入力データを提供するユーザであることができる。スニペットパケットは、ユーザデータベースに記憶してもよい。いくつかの実施態様では、スニペットパケットをユーザデータベースに記憶することは、スニペットパケットをモバイルコンピューティングデバイスにローカルで記憶することを含むことができる。追加的及び/または代替的に、グラフィックカードは、スニペットパケットのグラフィック表示として記憶することができる。グラフィックカードは自動生成することができ、ユーザによってカスタマイズ可能であってよい。グラフィックカードは、ウェブページの他のコンテンツに基づいて、ユーザ入力に基づいて、及び/または他のコンテキストに基づいてカスタマイズすることができるテンプレートで始めることができる。いくつかの実施態様では、グラフィックカードはマルチモーダルデータを含むことができる。代替的及び/または追加的に、スニペットパケットは、サーバコンピューティングシステムに記憶することができる。いくつかの実施態様では、コンテンツアイテムが他のコンテンツアイテムを参照する場合、システム及び方法は、追加のコンテンツアイテムを取得し、追加のコンテンツアイテムをスニペットパケットに保存することができる。
いくつかの実施態様では、システム及び方法は、スニペットインタフェースを提供するためのスニペット要求を受信することを含むことができる。スニペットインタフェースは、スニペットパケットに関連付けられたインタラクティブ要素を含むことができる。スニペットインタフェースを表示するために提供することができる。インタフェース選択を受信することができ、インタフェース選択は、インタラクティブ要素を選択する選択の記述をすることができる。次に、ウェブページの一部分を表示するために提供することができる。いくつかの実施態様では、ウェブページの一部分は、ウェブページ内の1つまたは複数のコンテンツアイテムの位置を含むことができる。
いくつかの実施態様では、システム及び方法は、挿入入力を受信することを含むことができる。挿入入力は、異なるインタフェースへのコンテンツアイテムの挿入を要求するユーザ入力を含むことができる。スニペットパケットを、サードパーティサーバコンピューティングシステムに提供することができる。
追加的及び/または代替的に、システム及び方法は、スニペットパケットをコレクションに追加することを含むことができる。スニペットパケットは、受信したユーザ入力に基づいて、コレクションに追加することができる。代替的及び/または追加的に、スニペットパケットを、コンテンツアイテムに関連付けられた決定されたエンティティに基づいて、コレクションに自動的に追加することができる。いくつかの実施態様では、コンテンツアイテムのソースに基づいて(例えば、ウェブページのタイプ、メディアプロバイダのタイプ、及び/またはコンテンツアイテムのタイプに基づいて)、スニペットパケットをコレクションに追加することができる。
いくつかの実施態様では、スニペットパケットは、ウェブページ以外のソース(例えば、モバイルアプリケーション、大容量データファイル(例えば、ダウンロードされた映像または本)、及び/または他のソースのデータ)から取得されたコンテンツアイテムに基づいて生成することができる。
図7は、本開示の例示的な実施形態に従って実行するための例示的な方法のフローチャート図を示す。図7は、例示及び説明の目的で特定の順序で実行されるステップを示しているが、本開示の方法は、特に示された順序または配置に限定されない。方法700の様々なステップは、本開示の範囲から逸脱することなく、様々な方法で省略される、再配置される、組み合わされる、及び/または適合されることができる。
702において、コンピューティングシステムは入力データを取得することができる。いくつかの実施態様では、入力データは、スニペットパケットに関連付けられたコンテンツアイテムの選択を記述することができる。スニペットパケットは、特定のユーザのユーザアカウントと関連付けることができる。追加的及び/または代替的に、ユーザアカウントは、1つまたは複数のプラットフォームと関連付けることができる。スニペットパケットは、コンテンツアイテム及びディープリンクを含むことができる。代替的及び/または追加的に、スニペットパケットは、スニペット(例えばコンテンツアイテム及び/またはコンテンツアイテムに基づいて生成されたメディアデータ(例えばグラフィックカード及び/またはコンテンツアイテムの要約))、アドレスデータ(例えばユニフォームリソースロケータ及び/またはユニフォームリソース識別子)、及び/またはメタデータを含むことができる。スニペットパケットは、位置データ(例えば、ウェブページ内のコンテンツアイテムの位置を示すメタデータ、開始データ及び終了データを識別するためのテキストフラグメント、1つまたは複数のポインタ、及び/または1つまたは複数のスクロール位置データ)を含むことができる。
いくつかの実施態様では、スニペットパケットは、表示するためにグラフィカルユーザインタフェースを提供することによって生成されてもよい。グラフィカルユーザインタフェースは、ウェブページを表示するためのグラフィカルウィンドウを含むことができる。いくつかの実施態様では、ウェブページは複数のコンテンツアイテムを含むことができる。スニペットパケット生成は、選択データを取得することを含むことができる。選択データは、複数のコンテンツアイテムのうちのコンテンツアイテムを保存するための要求を含むことができる。いくつかの実施態様では、スニペットパケット生成は、スニペットパケットを生成することと、スニペットパケットをユーザデータベースに記憶することを含むことができる。
704において、コンピューティングシステムは、スニペットパケットに関連付けられたアドレスデータ及び位置データを取得することができる。アドレスデータは、ウェブページと関連付けることができる。コンテンツアイテムは、ウェブページと関連付けることができる。追加的及び/または代替的に、位置データは、ウェブページ内のコンテンツアイテムの位置を記述することができる。
706において、コンピューティングシステムはウェブページデータを取得することができる。ウェブページデータは、アドレスデータに少なくとも部分的に基づいて(例えば、ユニフォームリソースロケータを使用してウェブページにナビゲートすることによって)取得することができる。
708において、コンピューティングシステムは、コンテンツアイテムに関連付けられたウェブページ内の位置を決定することができる。位置は、テキストフラグメント、1つまたは複数のポインタに基づいて、及び/またはウェブページ処理を介して決定されてよい。
いくつかの実施態様では、アドレスデータは、ユニフォームリソースロケータを含むことができる。追加的及び/または代替的に、位置データは、1つまたは複数のテキストフラグメントを含むことができる。コンテンツアイテムに関連付けられたウェブページ内の位置を決定することは、次に、ショートカットリンクを生成するためにテキストフラグメントをユニフォームリソースロケータに追加することと、そのショートカットリンクをブラウザに入力することを含むことができる。
710において、コンピューティングシステムは、ウェブページの一部分を提供することができる。ウェブページの一部分は、コンテンツアイテムの位置を含むことができる。いくつかの実施態様では、ウェブページの一部分を提供することは、ウェブページの一部分に1つまたは複数のインジケータを提供することを含むことができる。1つまたは複数のインジケータは、スニペットパケットに関連付けられたコンテンツアイテムを示すことができる。いくつかの実施態様では、1つまたは複数のインジケータは、コンテンツアイテムに関連付けられたテキストをハイライトすることを含むことができる。
図8は、本開示の例示的な実施形態に従って実行するための例示的な方法のフローチャート図を示す。図8は、例示及び説明の目的で特定の順序で実行されるステップを示しているが、本開示の方法は、特に示された順序または配置に限定されない。方法800の様々なステップは、本開示の範囲から逸脱することなく、様々な方法で省略される、再配置される、組み合わされる、及び/または適合されることができる。
802において、コンピューティングシステムは、グラフィカルユーザインタフェースを提供することができる。グラフィカルユーザインタフェースは、ウェブページを表示するためのグラフィカルウィンドウを含むことができる。いくつかの実施態様では、ウェブページは複数のコンテンツアイテムを含むことができる。
804において、コンピューティングシステムは、ジェスチャデータを受信することができる。ジェスチャデータは、ウェブページの一部分に関連付けられたジェスチャを記述することができる。いくつかの実施態様では、ジェスチャは、ウェブページの一部分を囲む円形のジェスチャを含むことができる。ジェスチャデータは、モバイルコンピューティングデバイスのタッチスクリーンディスプレイへのタッチ入力を記述することができる。
806において、コンピューティングシステムは、ジェスチャデータを処理して、選択されたコンテンツアイテムを決定することができる。選択されたコンテンツアイテムは、ウェブページの一部分と関連付けることができる。
いくつかの実施態様では、選択されたコンテンツアイテムを決定するためにジェスチャデータを処理することは、ジェスチャによって囲まれたウェブページの一部分を決定することと、一部分の焦点を決定することと、選択されたコンテンツアイテムが一部分の焦点に関連付けられていることを決定することとを含むことができる。
代替的及び/または追加的に、選択されたコンテンツアイテムを決定するためにジェスチャデータを処理することは、選択されたコンテンツアイテムを決定するためにジェスチャされたデータを機械学習済みモデルで処理することを含むことができる。
いくつかの実施態様では、選択されたコンテンツアイテムは、円に基づいて決定された矩形に関連付けられた決定された一致エリアに基づいて決定することができる。矩形は、ウェブページの構文構成に基づくデータの矩形であることができる。いくつかの実施態様では、選択されたコンテンツアイテムは、決定された単語境界に基づいて、及び/または決定されたメディアコンテンツ境界に基づいて決定することができる。決定は、ハイパーテキストマークアップ言語のコード境界に基づいてよい。いくつかの実施態様では、ウェブページのソースコードを解析することができ、解析されたデータを処理することができる。
代替的及び/または追加的に、決定は、ジェスチャに関連付けられたジェスチャ矩形のエリアを計算することを含むことができる。1つまたは複数のコンテンツアイテム要素のエリアを決定することができる。ジェスチャ矩形のエリアと、異なるコンテンツアイテム要素の各エリアとの交差するエリアを決定することができる。交差度が最も高い要素は、選択される確率が最も高い場合があるため、選択されたコンテンツアイテムとして決定することができる。
808において、コンピューティングシステムは、ジェスチャデータに基づいてスニペットパケットを生成することができる。スニペットパケットは、選択されたコンテンツアイテムを含むことができる。いくつかの実施態様では、スニペットパケットは、アドレスデータ及び位置データを含むことができる。アドレスデータは、ウェブページと関連付けることができ、位置データは、ウェブページ内のコンテンツアイテムの位置を記述してもよい。
次に、保存インタフェースを表示するために提供することができる。保存インタフェースは、スニペットパケットをコレクションに追加するために選択することができるインタラクティブインタフェース要素を提供することができる。次に、コレクションインタフェースを提供することができる。次に、スニペットパケットのグラフィック表示を、特定のコレクションを記述するグラフィックタイルにドラッグする、ドラッグ入力を受信することができる。次に、スニペットパケットを、コレクションに記憶することができる(例えば、スニペットパケットを、スニペットパケットを特定のコレクションにリンクさせる関係タグとともに記憶することができる)。いくつかの実施態様では、スニペットパケットのグラフィック表示は、グラフィック表示が特定のコレクションにドラッグされるときに、サイズ及び/または比率を変更することができる。サイズと比率の変更は、見た目に美しい表示を提供しながら、コレクション追加の直観的なインジケーションを提供することができる。
いくつかの実施態様では、コンテンツアイテムを処理して、コンテンツアイテムに関連付けられたエンティティを決定することができる。エンティティは、コンテンツアイテム(例えば、テキストデータ、画像データ、オーディオデータ、映像データ、潜在符号化データ、及び/またはリンクデータ)を機械学習済みモデル(例えば、画像分類モデル、オブジェクト分類モデル、テキスト分類モデル(例えば、自然言語処理モデル)、セグメンテーションモデル、意味モデル、及び/または検出モデル)で処理して、エンティティデータ(例えば、分類)を生成することによって決定することができる。次に、関係データを生成して、エンティティデータに基づいてスニペットパケットに追加することができる。関係データは、1つまたは複数のエンティティタグ、及び/または他の関連するスニペットパケット及び/または関連するウェブページもしくはコンテンツアイテムへの参照を含むことができる。
スニペットパケットは、1つまたは複数のアプリケーション及び/またはデータベース内で検索可能であることができる。追加的及び/または代替的に、スニペットパケットは、メッセージングアプリケーション、ソーシャルメディアアプリケーションを介して、及び/または他のアプリケーションを介して共有可能であってよい。
いくつかの実施態様では、コンテンツアイテムを1つまたは複数の機械学習済みモデルで処理して、スニペットパケットに記憶することができるタグを生成することができる。次に、タグを検索可能なタグとして利用して、検索クエリに応答してスニペットパケットを表面化することができる。タグは、コンテンツアイテムのコンテンツ(例えば、認識された単語、画像内の認識されたオブジェクト、映像フレームまたはオーディオストリームの特性など)に基づいて決定することができる。
いくつかの実施態様では、スニペットパケット生成は、スニペットパケット生成インタフェースを開くことができるスニペットパケット生成インタフェース要素の選択後に起きる。代替的及び/または追加的に、ユーザはコンテンツアイテムを選択することができ、1つまたは複数(例えば、2つ)のポップアップにコンテンツアイテムとインタラクトするための様々なオプションを提供することができ、オプションのうちの1つはスニペットパケット生成を含むことができる。代替的及び/または追加的に、コンテンツアイテムに関連付けられた検索結果が提供されてよい。
追加開示
本明細書で説明する技術は、サーバ、データベース、ソフトウェアアプリケーション、及び他のコンピュータベースのシステム、ならびに行われるアクション及びそのようなシステムとの間で送られる情報を参照する。コンピュータベースのシステムの固有柔軟性により、コンポーネント間でのタスク及び機能性の多種多様な可能な構成、組合せ、及び分割ができるようになる。例えば、本明細書で説明するプロセスは、単一のデバイスもしくはコンポーネント、または組み合わせて動く複数のデバイスまたはコンポーネントを使用して実装することができる。データベース及びアプリケーションは、単一のシステムに実装することができるか、または複数のシステムに分散することができる。分散コンポーネントは、順次または並列して動作することができる。
本主題は、その様々に具体的で例示的な実施形態に関して詳細に記載したが、各例は、説明するために提供されており、本開示を限定するものではない。当業者は、上述の内容を理解すると、そのような実施形態に対する改変、変形、及び均等物を容易に生じさせることができる。したがって、本開示は、当業者にとって容易に明らかであろうように、本主題に対するそのような修正、変形、及び/または追加を含めることを除外しない。例えば、一実施形態の一部として示され、または記載される特徴は、さらなる実施形態をもたらすために、他の実施形態とともに使用することができる。したがって、本開示は、そのような改変、変形、及び均等物を包含することを意図がされる。