(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-11-19
(54)【発明の名称】カスタマイズされた検索プラットフォームのためのシステム及び方法
(51)【国際特許分類】
G06F 16/9035 20190101AFI20241112BHJP
【FI】
G06F16/9035
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024527195
(86)(22)【出願日】2022-11-07
(85)【翻訳文提出日】2024-07-05
(86)【国際出願番号】 US2022079383
(87)【国際公開番号】W WO2023081875
(87)【国際公開日】2023-05-11
(32)【優先日】2021-11-08
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-11-04
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】524171574
【氏名又は名称】スジー,インコーポレイテッド
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100229448
【氏名又は名称】中槇 利明
(72)【発明者】
【氏名】マッカン,ブライアン
(72)【発明者】
【氏名】マンダヴァ,シュウエタ
(72)【発明者】
【氏名】ロス,ナタニエル
(72)【発明者】
【氏名】ソッカー,リチャード
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175DA10
5B175HA01
(57)【要約】
本明細書に記載される実施形態は、ユーザに、ユーザの検索におけるコントロール及び透過性を提供するカスタマイズされた検索プラットフォームのためのシステム及び方法を提供する。システムは、ランカー及びパーサーを使用して、入力データ及びコンテキスト情報を利用して、検索アプリケーションを識別し、検索アプリケーションをソートし、ユーザ関与可能要素を介して検索結果を提示してもよい。また、システムは、ユーザからの入力を使用して、ユーザのユーザ関与可能要素との対話に基づいて、検索結果をパーソナライズし、更新してもよい。
【特許請求の範囲】
【請求項1】
検索クエリに応答して複数の検索結果を提示する方法であって、
データインターフェースを介して入力クエリを受信することと、
サーバに実装されたニューラルネットワークによって、前記入力クエリからの潜在的な検索オブジェクトの特性に少なくとも部分的に基づいて、前記入力クエリに関連性のある第1のデータソース及び第2のデータソースを決定することと、
前記サーバに統合された第1の検索アプリケーションプログラミングインターフェース(API)を介して、前記入力クエリからカスタマイズされた第1の検索入力を前記第1のデータソースに送信することと、
前記サーバに統合された第2の検索APIを介して、前記入力クエリからカスタマイズされた第2の検索入力を前記第2のデータソースに送信することと、
前記第1のデータソースから第1の検索結果セットを取得し、前記第2のデータソースから第2の検索結果セットを取得することと、
ユーザインターフェースを介して、前記第1のデータソースの第1の指標と共に前記第1の検索結果セットを表示する第1のユーザ関与可能パネルと、前記第2のデータソースの第2の指標と共に前記第2の検索結果セットを表示する第2のユーザ関与可能パネルとを提示することと、を含む、方法。
【請求項2】
サーバに実装されたニューラルネットワークによって、前記入力クエリに関連性のある第1のデータソース及び第2のデータソースを決定することは、
前記入力クエリと、前記入力クエリを開始したユーザに関連付けられたユーザコンテキストとを連結することによって、入力系列を生成することと、
ランク付けニューラルモデルによって、前記入力系列に基づく前記第1のデータソースに対する第1の関連性スコアと、前記第2のデータソースに対する第2の関連性スコアとを生成することと、
前記第1の関連性スコア及び前記第2の関連性スコアが閾値よりも大きいときに、前記第1のデータソース及び前記第2のデータソースが関連性があると決定することと、を含む、請求項1に記載の方法。
【請求項3】
前記第1の関連性スコア及び前記第2の関連性スコアに基づいて、前記第1のデータソース及び前記第2のデータソースをランク付けすることをさらに含む、請求項2に記載の方法。
【請求項4】
解析ニューラルモデルによって、前記入力系列に基づいて前記第1の検索入力又は前記第2の検索入力、及び前記第1のデータソース又は前記第2のデータソースの指標をそれぞれ生成することをさらに含む、請求項2に記載の方法。
【請求項5】
前記第1のユーザ関与可能パネル及び前記第2のユーザ関与可能パネルは、前記ランク付けに従ってランク付けされた順序で提示される、請求項3に記載の方法。
【請求項6】
前記データインターフェースを介して、第3のデータソースのユーザ選択を受信することと、
前記サーバに統合された第3の検索APIを介して、前記入力クエリからカスタマイズされた第3の検索入力を前記第3のデータソースに送信することと、
前記第3のデータソースから第3の検索結果セットを取得することと、
前記ユーザインターフェースを介して、前記第3の検索結果セットを表示する第3のユーザ関与可能パネルを提示することと、をさらに含む、請求項1に記載の方法。
【請求項7】
前記データインターフェースを介して、前記第2のデータソースをよくないと認めるユーザ指標を受信することと、
前記第2のユーザ関与可能パネルを前記ユーザインターフェースから除去することと、をさらに含む、請求項1に記載の方法。
【請求項8】
前記ユーザコンテキストは、
ユーザプロファイル情報、
1つ以上のデータソースのユーザが設定した好み又は嫌い、及び
特定のデータソースからの検索結果をよい又はよくないと認めたユーザの過去のアクティビティの任意の組み合わせを含む、請求項2に記載の方法。
【請求項9】
前記入力系列は、前記入力クエリに関係する1つ以上のデータソースからのコンテキスト情報を含む補足コンテキストをさらに含む、請求項2に記載の方法。
【請求項10】
前記第1の検索API又は前記第2の検索APIを介して、前記第1のデータソース又は前記第2のデータソースから前記入力クエリに関連する追加のコンテキスト情報を受信することと、
前記入力クエリのどの部分が、前記第1の検索APIへの前記第1の検索入力、又は前記第2の検索APIへの前記第2の検索入力に対応するかを決定することと、をさらに含む、請求項4に記載の方法。
【請求項11】
検索クエリに応答して複数の検索結果を提示するシステムであって、
メモリと、
ユーザインターフェースを有するディスプレイと、
前記メモリに結合されたプロセッサと、を含み、前記プロセッサは、
データインターフェースを介して入力クエリを受信することと、
サーバに実装されたニューラルネットワークによって、前記入力クエリからの潜在的な検索オブジェクトの特性に少なくとも部分的に基づいて、前記入力クエリに関連性のある第1のデータソース及び第2のデータソースを決定することと、
前記サーバに統合された第1の検索アプリケーションプログラミングインターフェース(API)を介して、前記入力クエリからカスタマイズされた第1の検索入力を前記第1のデータソースに送信することと、前記サーバに統合された第2の検索APIを介して、前記入力クエリからカスタマイズされた第2の検索入力を前記第2のデータソースに送信することと、
前記第1のデータソースから第1の検索結果セットを取得し、前記第2のデータソースから第2の検索結果セットを取得することと、
ユーザインターフェースを介して、前記第1のデータソースの第1の指標と共に前記第1の検索結果セットを表示する第1のユーザ関与可能パネルと、前記第2のデータソースの第2の指標と共に前記第2の検索結果セットを表示する第2のユーザ関与可能パネルとを提示することと、を行うように構成されている、システム。
【請求項12】
サーバに実装されたニューラルネットワークによって、前記入力クエリに関連する第1のデータソース及び第2のデータソースを決定するために、前記プロセッサは、
前記入力クエリと、前記入力クエリを開始したユーザに関連付けられたユーザコンテキストとを連結することによって、入力系列を生成することと、
ランク付けニューラルモデルによって、前記入力系列に基づく前記第1のデータソースに対する第1の関連性スコアと、前記第2のデータソースに対する第2の関連性スコアとを生成することと、
前記第1の関連性スコア及び前記第2の関連性スコアが閾値よりも大きいときに、前記第1のデータソース及び前記第2のデータソースが関連性があると決定することと、を行うようにさらに構成されている、請求項11に記載のシステム。
【請求項13】
前記プロセッサは、
前記第1の関連性スコア及び前記第2の関連性スコアに基づいて、前記第1のデータソース及び前記第2のデータソースをランク付けすることを行うようにさらに構成されている、請求項12に記載のシステム。
【請求項14】
前記プロセッサは、
解析ニューラルモデルによって、前記入力系列に基づいて前記第1の検索入力又は前記第2の検索入力、及び前記第1のデータソース又は前記第2のデータソースの指標をそれぞれ生成することを行うようにさらに構成されている、請求項12に記載のシステム。
【請求項15】
前記第1のユーザ関与可能パネル及び前記第2のユーザ関与可能パネルは、前記ランク付けに従ってランク付けされた順序で提示される、請求項13に記載のシステム。
【請求項16】
前記プロセッサは、
前記データインターフェースを介して、第3のデータソースのユーザ選択を受信することと、
前記サーバに統合された第3の検索APIを介して、前記入力クエリからカスタマイズされた第3の検索入力を前記第3のデータソースに送信することと、
前記第3のデータソースから第3の検索結果セットを取得することと、
前記ユーザインターフェースを介して、前記第3の検索結果セットを表示する第3のユーザ関与可能パネルを提示することと、を行うようにさらに構成されている、請求項11に記載のシステム。
【請求項17】
前記プロセッサは、
前記データインターフェースを介して、前記第2のデータソースをよくないと認めるユーザ指標を受信することと、
前記第2のユーザ関与可能パネルを前記ユーザインターフェースから除去することと、を行うようにさらに構成されている、請求項11に記載のシステム。
【請求項18】
前記ユーザコンテキストは、
ユーザプロファイル情報、
1つ以上のデータソースのユーザが設定した好み又は嫌い、及び
特定のデータソースからの検索結果をよい又はよくないと認めたユーザの過去のアクティビティの任意の組み合わせを含む、請求項12に記載のシステム。
【請求項19】
前記入力系列は、前記入力クエリに関係する1つ以上のデータソースからのコンテキスト情報を含む補足コンテキストをさらに含む、請求項12に記載のシステム。
【請求項20】
命令を記憶している非一時的なコンピュータ可読媒体であって、コンピュータデバイスによって実行されるときに、検索クエリに応答して複数の検索結果を提示する動作を前記コンピュータデバイスに実行させる、非一時的なコンピュータ可読媒体であって、前記動作は、
データインターフェースを介して入力クエリを受信することと、
サーバに実装されたニューラルネットワークによって、前記入力クエリからの潜在的な検索オブジェクトの特性に少なくとも部分的に基づいて、前記入力クエリに関連性のある第1のデータソース及び第2のデータソースを決定することと、
前記サーバに統合された第1の検索アプリケーションプログラミングインターフェース(API)を介して、前記入力クエリからカスタマイズされた第1の検索入力を前記第1のデータソースに送信することと、前記サーバに統合された第2の検索APIを介して、前記入力クエリからカスタマイズされた第2の検索入力を前記第2のデータソースに送信することと、
前記第1のデータソースから第1の検索結果セットを取得し、前記第2のデータソースから第2の検索結果セットを取得することと、
ユーザインターフェースを介して、前記第1のデータソースの第1の指標と共に前記第1の検索結果セットを表示する第1のユーザ関与可能パネルと、前記第2のデータソースの第2の指標と共に前記第2の検索結果セットを表示する第2のユーザ関与可能パネルとを提示することと、を含む、非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2021年11月8日に出願された米国仮出願第63/277,091号の非仮出願であり、米国特許法第119条の下での優先権主張し、同出願は、その全体が参照により本明細書に明示的に組み込まれる。
【0002】
本実施形態は、一般に、検索エンジンに関連し、より具体的には、カスタマイズされた検索プラットフォームのためのシステム及び方法に関連する。
【背景技術】
【0003】
検索エンジンは、ユーザが検索クエリを提供し、それに応答して検索結果を返すことを可能にする。Google.com、Bing.comなどの検索サイトは、通常、あらゆる種類のデータソースからの検索結果のリストをユーザに提供する。例えば、これらの既存の検索エンジンは、通常、ウェブデータをクロールして、検索クエリに関連性のある検索結果を収集する。しかし、検索エンジンがどこでどのように検索を行い、どのような検索結果を得るかについて、ユーザにはほとんどコントロール又は透明性がない。
【0004】
したがって、ユーザが実行する検索に関して、ユーザにコントロールと透明性の両方を提供するカスタマイズされた検索プラットフォームが必要である。
【図面の簡単な説明】
【0005】
【
図1】本明細書に記載される一実施形態による、検索中のエンティティ間のデータフローを例示する簡略図である。
【0006】
【
図2】本明細書に記載される一実施形態による、
図1に記載される検索を実装するコンピューティングデバイスを例示する簡略図である。
【0007】
【
図3】
図1~
図2に記載される検索フレームワーク及び本明細書に記載される他の実施形態を実装するのに好適なネットワーク化システムの簡略ブロック図である。
【0008】
【
図4A】
図1~
図3に記載されるカスタマイズされた検索プラットフォームフレームワーク及び本明細書に記載される他の実施形態を実装するのに好適なネットワーク化システムの簡略ブロック図である。
【0009】
【0010】
【0011】
【
図5】本明細書に記載されるいくつかの実施形態による、
図1~
図4Aに示すフレームワークに基づく検索方法を例示する例示的な論理フロー図である。
【0012】
【
図6】本明細書に記載されるいくつかの実施形態による、
図1~
図4Aに示すフレームワークに基づくカスタマイズされた検索方法を例示する例示的な論理フロー図である。
【0013】
【
図7】
図5~
図6に記載されるカスタマイズされた検索プラットフォームフレームワーク及び本明細書に記載される他の実施形態を実装する例示的な検索インターフェースの簡略ブロック図である。
【0014】
【
図8A】
図5~
図6に記載されるカスタマイズされた検索プラットフォームフレームワーク及び本明細書に記載される他の実施形態を実装する例示的な検索インターフェースである。
【
図8B】
図5~
図6に記載されるカスタマイズされた検索プラットフォームフレームワーク及び本明細書に記載される他の実施形態を実装する例示的な検索インターフェースである。
【
図8C】
図5~
図6に記載されるカスタマイズされた検索プラットフォームフレームワーク及び本明細書に記載される他の実施形態を実装する例示的な検索インターフェースである。
【
図8D】
図5~
図6に記載されるカスタマイズされた検索プラットフォームフレームワーク及び本明細書に記載される他の実施形態を実装する例示的な検索インターフェースである。
【
図8E】
図5~
図6に記載されるカスタマイズされた検索プラットフォームフレームワーク及び本明細書に記載される他の実施形態を実装する例示的な検索インターフェースである。
【
図8F】
図5~
図6に記載されるカスタマイズされた検索プラットフォームフレームワーク及び本明細書に記載される他の実施形態を実装する例示的な検索インターフェースである。
【
図8G】
図5~
図6に記載されるカスタマイズされた検索プラットフォームフレームワーク及び本明細書に記載される他の実施形態を実装する例示的な検索インターフェースである。
【
図8H】
図5~
図6に記載されるカスタマイズされた検索プラットフォームフレームワーク及び本明細書に記載される他の実施形態を実装する例示的な検索インターフェースである。
【
図8I】
図5~
図6に記載されるカスタマイズされた検索プラットフォームフレームワーク及び本明細書に記載される他の実施形態を実装する例示的な検索インターフェースである。
【
図8J】
図5~
図6に記載されるカスタマイズされた検索プラットフォームフレームワーク及び本明細書に記載される他の実施形態を実装する例示的な検索インターフェースである。
【
図8K】
図5~
図6に記載されるカスタマイズされた検索プラットフォームフレームワーク及び本明細書に記載される他の実施形態を実装する例示的な検索インターフェースである。
【0015】
本開示の実施形態及びそれらの利点は、以下の詳細な説明を参照することによって最もよく理解される。1つ以上の図面に例示された同様の要素を識別するために同様の参照番号が使用され、図面に示されているものは、開示の実施形態を例示する目的であり、それを限定する目的ではないことを理解されたい。
【発明を実施するための形態】
【0016】
本明細書で使用される場合、「ネットワーク」という用語は、任意の人工知能ネットワーク又はシステム、ニューラルネットワーク又はシステム、及び/又はそこで実装されるか、又はそれと共に実装される任意の訓練又は学習モデルを含む任意のハードウェア又はソフトウェアベースのフレームワークを含んでもよい。
【0017】
本明細書で使用される場合、「モジュール」という用語は、1つ以上の機能を実行するハードウェア又はソフトウェアベースのフレームワークを含んでもよい。いくつかの実施形態では、モジュールは、1つ以上のニューラルネットワーク上で実装されてもよい。
【0018】
本出願は、一般に、検索エンジンに関連し、より具体的には、カスタマイズされた検索プラットフォームのためのシステム及び方法に関連する。
【0019】
検索エンジンは、ユーザが検索クエリを提供し、それに応答して検索結果を返すことを可能にする。Google.com、Bing.comなどの検索サイトは、通常、あらゆる種類のデータソースからの検索結果のリストをユーザに提供する集中型構造を適用している。例えば、これらの既存の検索エンジンは、通常、ウェブデータをクロールして、検索クエリに関連性のある検索結果を収集する。しかし、検索エンジンがどこでどのように検索を行うかについて、ユーザにはほとんどコントロール又は透明性がない。追加的に、ユーザは、一般的な検索エンジンによってユーザの個人情報又はプライベート情報がどのように収集されるか、又は使用されるのかについてほとんどコントロールを有さない。例えば、ユーザは特定の検索のために専用のデータベースに関わりたいと思うことが多い。例えば、人事スタッフは、潜在的な新規雇用を検索するために、身元調査ウェブサイトを使用してもよい。別の例として、法律専門家は、判例法のためにLexisNexisのような法律データベースを検索してもよい。しかしながら、これらの専用データベースは、しばしば散在しており、例えば、最も効果的な検索文字列を入力するためにある程度の専門的知識を必要とするなど、素人が使用することは困難である。
【0020】
例えば、ユーザが「U.S. Patent 12345678」を検索するときに、Google、Bingなどの検索エンジンは、特許番号「12345678」に言及するインターネット記事などの検索結果のリストを提供する可能性が高い。ユーザが、実際に、「U.S. Patent 12345678」の実際の特許文書を、好ましくは米国特許庁データベースのような認可されたデータソースから探している場合、全ての検索結果を調べることは、ユーザにとって煩雑で非効率的である可能性がある。したがって、このタイプの検索サービスでは、ユーザの検索体験は満足のいくものではない。
【0021】
改善されたユーザ検索体験の必要性を考慮して、本明細書に記載される実施形態は、カスタマイズされた検索プラットフォームのためのシステム及び方法を提供する。具体的には、検索システムは、ユーザの好みのデータソースで検索が行われることコントロールするように、個々のユーザにカスタマイズされた検索体験を提供するウェブベース又はモバイルアプリケーションプラットフォームを含む。一実施形態では、検索システムは、検索クエリに応答して、検索クエリの特性に基づいて、1つ以上の優先度が上げられたデータソースを決定してもよい。例えば、検索クエリが「Richard Socher」のような人の名前に関連する場合、ソーシャルメディア(例えば、Facebook、LinkedIn、Twitterなど)、ニュースメディア(例えば、Silicon Valley pressなど)などのデータソースの優先度が上げられてもよい。別の例として、検索クエリが「QRNN」などの抽象的なアイテムに関連する場合、一般的な知識データソース(例えば、Wikipediaなど)、学術データソース(例えば、arXiv、Stanford course materialsなど)、ディスカッションソース(例えば、Quora、Redditなど)の優先度が上げられてもよい。
【0022】
追加的に、ユーザは、自身の検索のためにデータソースを選択又は選択解除してもよく、検索プラットフォームは、ユーザによって提出された検索クエリを、ユーザが関心を有するデータソースのみで行うか、若しくは少なくともユーザが関心を有するデータソースの優先度を上げ、及び/又はユーザがよくないと認めたデータソースを除外してもよい。
【0023】
一実施形態では、ユーザは、検索プラットフォームを用いてユーザアカウント管理ページを介して、自身が関心を有するデータソースを能動的に選択してもよい。例えば、ユーザは、Wikipedia、Reddit、Arxiv.orgなどを、好みのデータソースとして積極的に選択してもよい。その結果、ユーザが「QRNN」を検索した場合、ユーザが選択したデータソース、例えば、Wikipedia、Reddit、Arxiv.orgごとにグループ化された検索結果が、検索ユーザインターフェースを介してユーザに提示されてもよい。ユーザは、例えばRedditのデータソースのアイコンをクリックし、データソース「Reddit」から具体的に提供された「QRNN」に関するディスカッションスレッドのような検索結果のリストを見ることができる。別の例として、ユーザが「Wikipedia」のアイコンをクリックした場合、「QRNN」に対するWikipediaページが提供されてもよい。
【0024】
別の実施形態では、検索システムは、検索結果とのユーザ対話中にユーザの好みを監視してもよい。例えば、ユーザが特定のデータソースからの表示された検索結果を「嫌い」と積極的に選択するか、又は特定のデータソースからの検索結果とほとんど対話しない場合、検索システムは、この特定のデータソースからの検索結果の優先度を下げてもよい。上記の例では、ユーザがデータソース「Reddit」からの検索結果が嫌うことか、又は選択しないことを選んだ場合、検索結果を提示するユーザインターフェースからRedditアイコンが除去されてもよい。
【0025】
このようにして、検索クエリ自体の特性に基づいて優先度が上げられたデータソースに焦点を当て、さらに、ユーザの好みごとにデータソースに優先度を上げてフィルタリングすることによって、検索システムは、計算の複雑さを大幅に低減し、検索効率を改善する。また、ユーザが検索データソースに対して透過性とコントロールを有することを可能にすることで、ユーザ体験が大幅に改善する。
【0026】
概要
図1は、本明細書に記載される一実施形態による、
図2~
図7に記載されるプロセスを実装するエンティティ間のデータフローを例示する簡略図である。ユーザは、ユーザデバイス110と対話し、次に、このユーザデバイスは、ユーザによって提供される入力クエリ112を介して検索サーバ100と対話する。検索サーバ100は、様々なデータソース103a~103n(まとめて103と呼ぶ)と対話する。例えば、データソース103a~103nは、任意の数の利用可能なデータベース、ウェブページ、サーバ、ブログ、コンテンツプロバイダ、クラウドサーバなどであってもよい。
図5~
図6を参照して以下にさらに詳細に記載されるように、検索サーバ100は、パーサー134及びランカー132を利用して、入力クエリ112に関連性のあるデータソース103を識別し、データソース103から検索結果を取得し、検索結果をランク付けし(120)、検索結果をユーザデバイス110を介してユーザに提示して、ユーザ関与可能要素に検索結果セットを表示する。
【0027】
共通データソース103a~103nは、Wikipedia、Reddit、Twitter、Instagram(及び/又はソーシャルメディア)などを含んでもよい。しかしながら、異なる入力クエリ112に対して、検索システムは、どの種類のデータソース103が特定の検索クエリに最も関連性があるかをインテリジェントに推奨してもよい。例えば、ユーザが「Quasi convolutional neural network」の検索をタイプしたときに、検索システムは、検索語が技術トピックに関連することを事前に決定(又は分類器を介してカテゴリ化)してもよい。したがって、好適なデータソース103が、「Wikipedia」などの知識ベース、技術トピックについてユーザが議論し得る「Reddit」などのディスカッションフォーラム、「arXiv」などの科学論文のアーカイブなどが、入力クエリ112に基づいてユーザに関連性があるか、又は興味を引く可能性が最も高いものとして識別されてもよい。次いで、検索システムは、これらのデータソース103をユーザに推奨してもよい。
【0028】
別の例では、ユーザが、検索システムが人の名前としてカテゴリ化し得る入力クエリ112「Richard Socher」で検索を実行する場合、検索システムは、提案されたデータソースをランク付けして、「Instagram」、「LinkedIn」、「Google Scholar」など、人により関連性のあるデータソース103を含めてもよい。
【0029】
別の実施形態では、
図7を参照して以下でさらに詳細に記載されるように、ユーザは、ユーザ関与可能要素を介してユーザデバイス110を介して検索結果と対話することができる。このようにして、検索サーバ100は、ユーザが好みのデータソース103をカスタマイズすることを可能にすることによって、検索結果を洗練して、結果がユーザの要望及び好みにより合うように調整することができる。ユーザは、「いいね」又は「いまいち」アイコンなどのアイコンをクリックして、特定のデータソースを好むか好まないかを提出することを選んでもよい。ユーザが提出した好みに基づいて、検索システムは、データソースを再配置し、優先順位を付け直してもよい。例えば、ユーザが「LinkedIn」に対して「いいね」を選択するが、「Instagram」に対して「いまいち」を選択した場合、ユーザが「Richard Socher」のような人の名前を検索したときに、検索システムは、「LinkedIn」のようなデータソースの優先度を上げ、「Instagram」のようなデータソースの優先度を下げる。
【0030】
コンピュータ及びネットワーク環境
図2は、本明細書に記載される一実施形態による、
図1に記載されるカスタマイズされた検索サーバ100を実装するコンピューティングデバイス200を例示する簡略図である。
図2に示すように、コンピューティングデバイス200は、メモリ220に結合されたプロセッサ210を含む。コンピューティングデバイス100の動作は、プロセッサ210によって制御される。また、コンピューティングデバイス200は、1つのプロセッサ210のみを有して示されているが、プロセッサ210は、コンピューティングデバイス200内の1つ以上の中央処理ユニット、マルチコアプロセッサ、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路、グラフィック処理ユニット(GPU)などを代表するものであり得ると理解される。
【0031】
コンピューティングデバイス200は、スタンドアロンのサブシステムとして、コンピューティングデバイスに追加されたボードとして、及び/又は仮想マシンとして実装されてもよい。様々な実施形態では、通信デバイスは、ネットワークと通信することが可能なパーソナルコンピューティングデバイス(例えば、スマートフォン、コンピューティングタブレット、パーソナルコンピュータ、ラップトップ、眼鏡又は時計などのウェアラブルコンピューティングデバイス、Bluetoothデバイス、FOBキー、バッジなど)を含んでもよい。サービスプロバイダは、ネットワークと通信することが可能なネットワークコンピューティングデバイス(例えば、ネットワークサーバ)を利用してもよい。ユーザ及びサービスプロバイダによって利用されるデバイスの各々が、以下のようにコンピュータシステム200として実装され得ることが理解されるべきである。
【0032】
メモリ220は、コンピューティングデバイス200によって実行されるソフトウェア及び/又はコンピューティングデバイス200の動作中に使用される1つ以上のデータ構造を記憶するために使用されてもよい。メモリ220は、1つ以上のタイプの機械可読媒体を含んでもよい。機械可読媒体のいくつかの一般的な形態は、例えば、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ、任意の他の磁気媒体、CD-ROM、任意の他の光学媒体、パンチカード、紙テープ、穴のパターンを有する任意の他の物理媒体、RAM、PROM、EPROM、FLASH-EPROM、任意の他のメモリチップ又はカートリッジ、及び/又はプロセッサ又はコンピュータが読むように適応される任意の他の媒体を含んでもよい。
【0033】
プロセッサ210及び/又はメモリ220は、任意の好適な物理的配置に配置されてもよい。いくつかの実施形態では、プロセッサ210及び/又はメモリ220は、同じボード、同じパッケージ(例えば、システムインパッケージ)、同じチップ(例えば、システムオンチップ)などに実装されてもよい。いくつかの実施形態では、プロセッサ210及び/又はメモリ220は、分散、仮想化、及び/又はコンテナ化されたコンピューティングリソースを含んでもよい。そのような実施形態とマッチングして、プロセッサ210及び/又はメモリ220は、1つ以上のデータセンター及び/又はクラウドコンピューティング施設に位置してもよい。
【0034】
いくつかの例では、メモリ220は、1つ以上のプロセッサ(例えば、プロセッサ210)によって動作するときに、1つ以上のプロセッサに本明細書にさらに詳細に記載される方法を実行させ得る実行可能コードを含む非一時的な有形機械可読媒体を含んでもよい。例えば、図示のように、メモリ220は、システム及びモデルを実装及び/又はエミュレートするため、及び/又は本明細書にさらに記載される方法のうちのいずれかを実装するために使用され得る検索プラットフォームモジュール230のための命令を含む。検索プラットフォームモジュール230は、データインターフェース215を介して入力検索クエリ(例えば、単語、文、又は検索を実行するためにユーザによって提供される他の入力)などの入力240を受信し、異なるデータソースに従って検索結果を提示する1つ以上のユーザ関与可能要素であり得る出力250を生成してもよい。例えば、「Richard Socher」などの名前を含む入力データが提供された場合、出力データは、「Twitter」、「Facebook」、「Instagram」、「TikTok」、又は他のソーシャルメディアウェブサイトからの結果を示すユーザ関与可能要素を含んでもよい。「pumpkin pie」などの食べ物を含む入力データが提供された場合、出力データは、「All Recipes」、「Food Network」、又は他の食べ物関連のウェブサイトからの結果を示すユーザ関与可能要素を含んでもよい。Pythonのエラーなど、コーディングに関連する入力データが提供された場合、出力データは、「StackOverflow」、「Reddit」、又はコーディング支援を目的とした他のウェブページ若しくはブログからの結果を示すユーザ関与可能要素を含んでもよい。
【0035】
データインターフェース215は、通信インターフェース、ユーザインターフェース(音声入力インターフェース、グラフィカルユーザインターフェースなど)を含んでもよい。例えば、コンピューティングデバイス200は、ネットワーク化データベースから、通信インターフェースを介して入力240(検索クエリなど)を受信してもよい。あるいは、コンピューティングデバイス200は、ユーザインターフェースを介してユーザから、検索クエリなどの入力240を受信してもよい。
【0036】
いくつかの実施形態では、検索プラットフォームモジュール230は、入力を解析し、入力をカテゴリ化し、結果をランク付けするように構成されている。検索プラットフォームモジュール230は、パーサーサブモジュール231、カテゴリ化サブモジュール232、ランカーサブモジュール233(例えば、
図4Aのランカー412及びパーサー414と同様)、及び検索サブモジュール234をさらに含んでもよい。一実施形態では、検索プラットフォームモジュール230及びそのサブモジュール231~234は、ハードウェア、ソフトウェア、及び/又はそれらの組み合わせによって実装されてもよい。
【0037】
いくつかの実施形態では、検索システムは、検索プラットフォームモジュール230を採用して、全ての異なるデータソースから検索結果を生成し、フィルタリングする。例えば、検索プラットフォームは、
図1~
図4Aに示すように、ランカー233とパーサー231とを含み、ユーザクエリ、ユーザコンテキスト情報、及び他のコンテキスト情報を取り込んで、どのデータソースが関連性があるか、どの対応するデータソースアプリケーションプログラミングインターフェイス(API)に連絡すべきか、各検索APP APIに対するユーザクエリをどのように解析するか、及び最終的にはデータソース結果の最終的なランク付けされた順序を調整してもよい。
【0038】
コンピューティングデバイス200のようなコンピューティングデバイスのいくつかの例は、1つ以上のプロセッサ(例えば、プロセッサ210)によって動作するときに、1つ以上のプロセッサに方法のプロセスを実行させ得る実行可能コードを含む非一時的な有形機械可読媒体を含んでもよい。方法のプロセスを含み得る機械可読媒体のいくつかの一般的な形態は、例えば、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ、任意の他の磁気媒体、CD-ROM、任意の他の光学媒体、パンチカード、紙テープ、穴のパターンを有する任意の他の物理媒体、RAM、PROM、EPROM、FLASH-EPROM、任意の他のメモリチップ又はカートリッジ、及び/又はプロセッサ又はコンピュータが読むように適合される任意の他の媒体である。
【0039】
図3は、
図5~
図6に記載されるカスタマイズされた検索プラットフォームフレームワーク及び本明細書に記載される他の実施形態を実装するのに好適なネットワーク化システムの簡略ブロック図である。一実施形態では、ブロック
図300は、ユーザ340によって操作され得るユーザデバイス310、データソース345a及び354b~345n、プラットフォーム330、並びに記載された実施形態に従って様々な方法論を実行するように動作する他の形態のデバイス、サーバ、及び/又はソフトウェアコンポーネントを含むシステムを示す。例示的なデバイス及びサーバは、
図2に記載されたコンピューティングデバイス200と同様であり得るデバイス、スタンドアロン、及びエンタープライズクラスのサーバを含んでもよく、MICROSOFT(登録商標)OS、UNIX(登録商標)OS、LINUX(登録商標)OS、又は他の好適なデバイス及び/又はサーバベースのOSなどのOSを動作させる。
図3に例示されたデバイス及び/又はサーバは、他の方法で展開されてもよく、そのようなデバイス及び/又はサーバによって提供される動作及び/又は提供されるサービスは、所与の実施形態のために組み合わせられるか、又は分離されてもよく、より多くの数又はより少ない数のデバイス及び/又はサーバによって実行されてもよいことが理解され得る。1つ以上のデバイス及び/又はサーバは、同じか、又は異なるエンティティによって動作及び/又は維持されてもよい。
【0040】
ユーザデバイス310、データソース345a及び354b~345n、並びにプラットフォーム330は、ネットワーク360を介して互いに通信してもよい。ユーザデバイス310は、ユーザデバイス310が利用可能な様々な機能にアクセスするために、ユーザ340(例えば、ドライバ、システム管理者など)によって利用されてもよく、これは、出力データ異常報告を受信するために、サーバ330に関連付けられたプロセス及び/又はアプリケーションを含んでもよい。
【0041】
ユーザデバイス310、データソース345a及び354b~345n、並びにプラットフォーム330は、各々、1つ以上のプロセッサ、メモリ、及び1つ以上のコンピュータ可読媒体に記憶されたプログラムコード及び/又はデータなどの命令を実行して、本明細書に記載される様々なアプリケーション、データ、及びステップを実装するための他の適切なコンポーネントを含んでもよい。例えば、このような命令は、システム300の様々なコンポーネントの内部及び/又は外部のメモリ又はデータ記憶デバイスなどの1つ以上のコンピュータ可読媒体に記憶されてもよく、及び/又はネットワーク360を介してアクセス可能であってもよい。
【0042】
ユーザデバイス310は、データソース345及び/又はプラットフォーム330との有線及び/又は無線通信のために構成された適切なハードウェア及びソフトウェアを利用し得る通信デバイスとして実装されてもよい。例えば、一実施形態では、ユーザデバイス310は、自律走行車両、パーソナルコンピュータ(PC)、スマートフォン、ラップトップ/タブレットコンピュータ、適切なコンピュータハードウェアリソースを有する腕時計、適切なコンピュータハードウェアを有する眼鏡(例えば、GOOGLE GLASS(登録商標))、他のタイプのウェアラブルコンピューティングデバイス、植え込み可能な通信デバイス、及び/又はAPPLE(登録商標)からのIPAD(登録商標)などのデータを送信及び/又は受信することが可能な他のタイプのコンピューティングデバイスとして実装されてもよい。1つの通信デバイスのみが示されているが、複数の通信デバイスが同様に機能してもよい。
【0043】
図3のユーザデバイス310は、ユーザインターフェース(UI)アプリケーション312、及び/又は他のアプリケーション316を含み、これらは、実行可能なプロセス、プロシージャ、及び/又は関連付けられたハードウェアを有するアプリケーションに対応してもよい。例えば、ユーザデバイス310は、プラットフォーム330からユーザ関与可能要素の形態で検索結果を受信し、UIアプリケーション312を介してメッセージを表示してもよい。他の実施形態では、ユーザデバイス310は、必要に応じて、専用のハードウェア及び/又はソフトウェアを有する追加のモジュール又は異なるモジュールを含んでもよい。
【0044】
様々な実施形態では、ユーザデバイス310は、特定の実施形態でユーザデバイス310に機能を提供することが望まれる場合、他のアプリケーション316を含む。例えば、他のアプリケーション316は、クライアント側のセキュリティ機能を実装するためのセキュリティアプリケーション、ネットワーク360を介して適切なAPIとインターフェースするためのプログラム的なクライアントアプリケーション、又は他のタイプのアプリケーションを含んでもよい。他のアプリケーション316は、ネットワーク360を介してユーザが電子メール、電話、テキスト、及び他の通知を送信及び受信することを可能にする電子メール、テキスト、音声、ソーシャルネットワーキング、及びIMアプリケーションなどの通信アプリケーションも含んでもよい。例えば、他のアプリケーション316は、サーバ330から予測結果メッセージを受信する電子メール又はインスタントメッセージングアプリケーションであってもよい。他のアプリケーション316は、入力及び/又は出力情報を受信し得るデバイスインターフェース及び他のディスプレイモジュールを含んでもよい。例えば、他のアプリケーション316は、検索結果を表示するユーザ関与可能要素を見て、それと対話するためのインターフェースをユーザ340に提供するように構成されたグラフィカルユーザインターフェース(GUI)を含む、プロセッサによって実行可能な資産管理のためのソフトウェアプログラムを含んでもよい。
【0045】
ユーザデバイス310は、ユーザデバイス310の一時的及び/又は非一時的なメモリに記憶されるデータベース318をさらに含んでもよく、このデータベースは、様々なアプリケーション及びデータを記憶し、ユーザデバイス310の様々なモジュールの実行中に利用されてもよい。データベース318は、ユーザ340に関連するユーザプロファイル、ユーザ340によって以前に閲覧又は保存された予測、サーバ330から受信した履歴データなどを記憶してもよい。いくつかの実施形態では、データベース318は、ユーザデバイス310に対してローカルであってもよい。しかし、他の実施形態では、データベース318は、ユーザデバイス310の外部にあってもよく、ネットワーク360を介してアクセス可能なクラウドストレージシステム及び/又はデータベースを含むユーザデバイス310によってアクセス可能であってもよい。
【0046】
ユーザデバイス310は、データソース354a、345b~345n及び/又はサーバ330と通信するように適合された少なくとも1つのネットワークインターフェースコンポーネント319を含む。様々な実施形態では、ネットワークインターフェースコンポーネント319は、DSL(例えば、Digital Subscriber Line)モデム、PSTN(Public Switched Telephone Network)モデム、Ethernetデバイス、ブロードバンドデバイス、衛星デバイス、及び/又はマイクロ波、無線周波数、赤外線、Bluetooth、及び近距離無線通信デバイスを含む様々な他のタイプの有線及び/又は無線ネットワーク通信デバイスを含んでもよい。
【0047】
データソース345a及び354b~345nは、データソース303 a及び354b~345nによってホストされるウェブページ、投稿、又は他のオンラインコンテンツを含む検索結果をサーバ330に提供するために、検索アプリケーション303a~303n(又は集合的に303と呼ばれる)のうちの1つ以上をホストするサーバに対応してもよい。検索アプリケーション303は、1つ以上のリレーショナルデータベース、分散データベース、クラウドデータベースなどによって実装されてもよい。検索アプリケーション303は、プラットフォーム330、データソース345、又は他の何らかの者によって構成されてもよい。
【0048】
一実施形態では、プラットフォーム330は、様々なデータソース345a及び354b~345nが、新しいデータソースとしてプラットフォーム330と提携することを可能にしてもよい。検索システムは、各データソース345a及び354b~345nに対して、検索システムのサービスにプラグインするためのアプリケーションプログラミングインターフェース(API)を提供する。例えば、カリフォルニア弁護士会は、データソースとして検索システムに登録してもよい。このようにして、データソース「California Bar Association」は、検索システム上の利用可能なデータソースリストの中に現れてもよい。ユーザは、自分の検索のために好みのデータソースとしてカリフォルニア弁護士会を選択又は選択解除してもよい。同様に、追加のデータソース345は、プラットフォーム330と提携して、検索結果がどこに集められたかをユーザが理解できるように、検索のための追加のデータソースを提供してもよい。
【0049】
データソース345a~345n(まとめて345と呼ばれる)は、ユーザデバイス310及び/又はサーバ330と通信するように適合された少なくとも1つのネットワークインターフェースコンポーネント326を含む。様々な実施形態では、ネットワークインターフェースコンポーネント326は、DSL(例えば、Digital Subscriber Line)モデム、PSTN(Public Switched Telephone Network)モデム、Ethernetデバイス、ブロードバンドデバイス、衛星デバイス、及び/又はマイクロ波、無線周波数、赤外線、Bluetooth、及び近距離無線通信デバイスを含む様々な他のタイプの有線及び/又は無線ネットワーク通信デバイスを含んでもよい。例えば、一実装では、データソース345は、ネットワークインターフェース326を介して、検索アプリケーション303からサーバ330に資産情報を送信してもよい。
【0050】
プラットフォーム330は、
図2に記載された検索プラットフォームモジュール230及びそのサブモジュールと共に収容されてもよい。いくつかの実装では、プラットフォーム330は、ネットワーク360を介してデータソース345において、検索アプリケーション303及び/又はネットワークインターフェース326からデータを受信して、検索結果を表示するユーザ関与可能要素を生成してもよい。生成されたユーザ関与可能要素は、ネットワーク360を介してユーザ340によるレビューのためにユーザデバイス310に送信されてもよい。
【0051】
データベース332は、サーバ330の一時的及び/又は非一時的なメモリに記憶されてもよい。一実装では、データベース332は、データベンダサーバ345から取得されたデータを記憶してもよい。一実装では、データベース332は、検索プラットフォームモデル230のパラメータを記憶してもよい。一実装では、データベース3232は、ユーザ入力クエリ、ユーザプロファイル情報、検索アプリケーション情報、検索API情報、又は実行されている検索若しくは以前に実行された検索に関連する他の情報を記憶してもよい。
【0052】
いくつかの実施形態では、データベース情報は、プラットフォーム330にローカルであってもよい。しかし、他の実施形態では、データベース332は、プラットフォーム330の外部にあってもよく、ユーザデバイス330によってアクセス可能であってもよく、ネットワーク360を介してアクセス可能なクラウドストレージシステム及び/又はデータベースを含む。
【0053】
プラットフォーム330は、ネットワーク360を介してユーザデバイス310及び/又はデータソース345a及び354b~345nと通信するように適合された少なくとも1つのネットワークインターフェースコンポーネント333を含む。様々な実施形態では、ネットワークインターフェースコンポーネント330は、DSL(例えば、Digital Subscriber Line)モデム、PSTN(Public Switched Telephone Network)モデム、Ethernetデバイス、ブロードバンドデバイス、衛星デバイス、及び/又はマイクロ波、無線周波数(RF)、赤外線(IR)通信デバイスを含む様々な他のタイプの有線及び/又は無線ネットワーク通信デバイスを含んでもよい。
【0054】
ネットワーク360は、単一のネットワークとして、又は複数のネットワークの組み合わせとして実装されてもよい。例えば、様々な実施形態では、ネットワーク360は、インターネット又は1つ以上のイントラネット、地上線ネットワーク、無線ネットワーク、及び/又は他の適切なタイプのネットワークを含んでもよい。したがって、ネットワーク360は、システム300の様々なコンポーネントによってアクセス可能な、プライベート若しくはローカルエリアネットワークなどの小規模通信ネットワーク、又は広域ネットワーク若しくはインターネットなどの大規模ネットワークに対応してもよい。
【0055】
例示的なアーキテクチャ
図4Aは、
図1~
図3に記載されるカスタマイズされた検索プラットフォームフレームワーク及び本明細書に記載される他の実施形態を実装するのに好適なネットワーク化システムの簡略ブロック図である。
【0056】
プラットフォーム410(
図2の230又は
図3の330と同様)は、ユーザから入力データを受信する。この入力データは、ユーザクエリ402、ユーザコンテキスト404、及び他のコンテキスト406のうちの1つ以上を含んでもよい。ユーザクエリ402は、単語、複数の単語、文、又はプラットフォーム410を使用して検索を実行するユーザによって提供される任意の他のタイプの検索クエリを含んでもよい。例えば、ユーザクエリ402は、「quasi recurrent neural network」、「Richard Socher」などの検索語であってもよい。ユーザコンテキスト404は、ユーザを表す入力を含んでもよく、ユーザID、ユーザの好み、ユーザのクリックログ、又はユーザによって収集されたか若しくは提供された他の情報、ユーザが選択した好みのデータソース、検索結果又は検索ソースの「好き」又は「嫌い」のユーザの過去のアクティビティなどを含む。他のコンテキスト406は、他の有用な入力情報を代表する入力を含んでもよく、世界の出来事に関する情報、同時期に行われた検索、同じ地域の周りで行われた検索、ある期間にわたって量が増加した検索、又は適切な検索結果をユーザに提供するのにプラットフォーム410を支援し得る他の潜在的なコンテキスト情報を含む。
【0057】
ユーザクエリ402は、プラットフォーム410を介して、代表的な文字列q=(q1,…,qr)に変換されてもよく、各qは、何らかのトークン化戦略によってトークン化された文字列内の単一のトークンである。ユーザコンテキスト404及び他のコンテキスト406も同様に、プラットフォーム410を介して、代表的な文字列u=(u1,…,um)(例えば、ユーザコンテキスト404)及びc=(c1,…,cp)(例えば、他のコンテキスト406)に変換されてもよい。これらの入力の順列は、単一の入力文、例えば、結合された入力系列s=[TASK,q,SEP,u,SEP,c]に連結される。この結合された入力系列は、代表文字列q、代表文字列u、代表文字列cの全体であり、1つ系列がどこで終了し、別の系列がどこで開始するかをシステムに通知するために使用される特別な予約トークン(TASK及びSEP)を伴う。
【0058】
単一の入力文は、次いで、パーサー414(例えば、
図2のパーサーサブモジュール231と同様)及びランカー412(例えば、
図2のランカーサブモジュール233と同様)に提供される。ランカー412とパーサー414の各々は、ニューラルネットワーク上に構築されてもよい。
【0059】
具体的には、ランカー412は、検索を行う検索アプリ420a~420nのリストを決定し、ランク付けする。いくつかの実施形態では、各検索アプリケーション420a~420nは、
図1の特定のデータソース103a~103n、又は
図3に示すような345a~345nの1つに対応する。例えば、検索アプリ420aは、Amazon.comのデータベース内を検索するように構成されている検索アプリケーションに対応し、検索アプリ420bは、Facebook.comのデータベース内を検索するように構成されている検索アプリケーションに対応するなどである。ランカー414は、
図4Bに関して以下でさらに詳細に記載されるように、各検索アプリ420a~420nに対して一度、ニューラルネットワークモデルを介して入力シーケンスを動作させることによって、ユーザクエリ402、ユーザコンテキスト404、及び他のコンテキスト406を含む入力シーケンスを使用して、複数の検索アプリ420a~420nをスコア付けする。このようにして、ランカー414は、データソースのリストに対応する検索アプリのリストをランク付けして、ユーザクエリ402を行う。例えば、ユーザクエリ402が「affordable instant pot」(手頃な価格のインスタントポット)を検索する場合、Amazon.comに対応する検索アプリ420aは、Facebook.comに対応する検索アプリ420bよりも優先度が上げられてもよい。
【0060】
ランカー412が特定のユーザクエリ402に対する検索アプリ420a~420nのリストを決定してランク付けした後に、パーサー414は、各検索アプリ420a~420nにそれぞれ対応する各検索アプリAPI422a~422nに対するそれぞれの特定の検索入力を決定する。パーサー414は、ユーザクエリ402、ユーザコンテキスト404、及び他のコンテキスト406を含む入力系列を使用して、
図4Cに関して以下にさらに記載されるように、ユーザクエリ内のどのトークンが検索アプリAPI422a~422nのどの入力に対応するかを決定してもよい。
【0061】
例えば、ランカー412は、各検索アプリケーション420a~420nに対して結合された入力系列sを利用し、sは、検索アプリケーション420の表現と追加的に連結され、そのため、
【0062】
【0063】
ランカー412とパーサー414は両方とも、Transformerの変形を利用し、n個のトークンを含む系列が、
【0064】
【数2】
においてn個のベクトルの系列として埋め込まれる。各ベクトルは、学習されたトークン埋め込みと正弦波位置埋め込みの和である。ベクトルの系列は、行列
【0065】
【数3】
に積み重ねられ、l個のアテンション層によって処理される。i番目の層は2つのブロックからなり、各々がモデル次元dを保持する。第1のブロックは、k個のヘッドを有するマルチヘッドアテンションを使用する。
【0066】
【0067】
第2のブロックは、入力を内部次元fに投影するReLU活性化を伴うフィードフォワードネットワークを使用する。この動作は、
【0068】
【0069】
【0070】
【0071】
各ブロックは、レイヤ正規化を用いてコア機能に先行し、残差接続を用いてコア機能に後続する。これらを合わせると、Xi+1となる。すなわち、
【0072】
【0073】
【0074】
単一の入力系列xに対するTransformerの最終出力は、Xlである。例えば、ランカー412は、l個のアテンション層の後に、検索アプリ420a~420nのランク付け情報を表す出力行列をパーサー414に渡してもよい。パーサー414は、検索アプリ420a~420nのための検索入力を含む行列Xlを出力し、これらは、それぞれ、検索アプリAPI422a~422nに送信される。
【0075】
検索アプリAPI422 a~422nを介して返された検索結果は、次いで、ランカー412によって生成されたランク付けに従ってソートされ、ランク付けされた順序430で提示される。例えば、結果431aは、最も高くランク付けされた検索アプリ420aからの検索結果のグループに対応し、結果431nは、最も低くランク付けされた検索アプリ420nからの検索結果に対応する。次いで、結果431a~431nは、グラフィカルユーザインターフェース又は他の何らかのタイプのユーザ出力デバイスを介してユーザに提示される。例えば、検索結果431a~431nは、ユーザ関与可能要素のリストの形態でグループ化され、提示され、各要素は、それぞれの検索アプリ(データソース)を表すアイコンを表示する。ユーザがアイコンを選択すると、それぞれの検索アプリからの検索結果のリストがユーザに提示されてもよい。例示的なUI図は、
図8A~
図8Kに見ることができる。
【0076】
したがって、ニューラルネットワークベースのランカー412及びパーサー414を使用することによって、検索プラットフォームは、ユーザクエリ402及びユーザコンテキスト404に基づいて、どのデータソースが特定のユーザに対して優先度が上げられる可能性が高いかをインテリジェントに予測してもよい。例えば、ユーザは、データソースの好み又は嫌いを直接設定してもよい(例えば、
図8H、
図8Jを参照)。したがって、検索プラットフォームは、それに応じて、検索において好みの又は嫌いなデータソースに対応する検索アプリを(例えば、ランカー412によってフィルタリングされるように)含めるか、又は除外してもよい。別の例として、ユーザがTwitter.comからの検索投稿を嫌うときに、検索プラットフォームは、将来の検索からTwitter.comを除外しなくてもよい。しかし、ユーザがTwitter.comからの検索結果を常に嫌う場合(例えば、1日あたり、1週間あたり、全検索のパーセンテージあたりの事前定義された回数を超える場合など)、検索プラットフォームは、Twitter.comを将来の検索から優先度を下げるか、又は除外する可能性が高い。ランカー412のニューラルモデルは、過去のユーザ行動に基づいて、Twitter.comを除外すべきか、又は優先度を下げるべきかを予測するように訓練されてもよい。
【0077】
例えば、ランカー412及びパーサー414は、各々個別に訓練されてもよい。訓練入力は、ユーザクエリ402、ユーザコンテキスト404、及び他のコンテキスト406などの類似データを含んでもよい。ランカー412は、検索アプリ(データソース)のランク付けの訓練出力を生成し、これは、訓練入力と対になった実際のグランドトゥルースランク付けと比較される。相互エントロピー損失を計算して、バックプロパゲーションを介してランカー412を更新してもよい。パーサー414は、同様の方法で訓練されてもよい。別の例では、ランカー412及びパーサー414は、エンドツーエンドで共同訓練されてもよい。
【0078】
これらの実施形態は、ユーザに検索におけるコントロール及び透過性を提供する、カスタマイズされた検索プラットフォームのためのシステム及び方法を記載する。場合によっては、ユーザは、検索及び/又はインターネット閲覧に関して、完全なプライバシーを好むことがある。このような場合、ユーザは、検索中に「プライベートモード」のままでいることを選ぶことがある。他の例では、ユーザは、ユーザの好み又は関心に合わせて調整された結果を好むことがある。このような例では、ユーザは、代わりに「パーソナルモード」に入ることを選ぶことがある。
【0079】
ユーザは、検索中に「プライベートモード」のままでいることを選ぶことがある。「プライベートモード」では、コンピュータシステムは、ユーザのプライバシーを保護するために、クエリをサーバに記憶せず、クリック又は検索エンジンとの任意の他の対話を記録せず、IPアドレス又は場所を必要とする全てのアプリを無効にする。「プライベートモード」の実施形態では、ユーザは、検索エンジンがユーザに関する情報を収集し使用する方法を制御して検索を行うことができる。したがって、「プライベートモード」の実施形態では、プラットフォーム410は、ユーザクエリ402及び他のコンテキスト406から入力を収集してもよいが、各検索を実行する際にユーザコンテキスト404にアクセスすることはできない。追加的に、ユーザクエリ402は、ユーザクエリ402を使用して即時検索を実行する必要性を超えて、プラットフォーム410によって保持されない。
【0080】
「パーソナルモード」では、ユーザは、代わりに、検索中のユーザの経験をさらにカスタマイズして、ユーザに特に調整された結果を享受しながら、検索のコントロールを保持することができる。ユーザは、任意選択で、好みを保持及び記憶するためのユーザプロファイルを作成することができる。「パーソナルモード」の実施形態では、ユーザは、ユーザが索システムに提供する情報を通じて、自身の検索体験を制御することができる。例えば、ユーザは、好みのデータソースを選択することができ、検索クエリに応答してアプリケーションが現れる順序を修正することができる。ユーザ対話は、任意選択で、収集され、将来ユーザに合わせたよりよく調整された結果を提供するために使用されてもよいが、「パーソナルモード」では、SEOの専門家や広告主ではなく、ユーザがユーザの検索体験のコントロールを保持し続けることを確実にする。したがって、「パーソナルモード」の実施形態では、プラットフォーム410は、ユーザクエリ402、ユーザコンテキスト404、及び他のコンテキスト406を含む入力を収集してもよい。収集され利用されるユーザコンテキスト404は、ユーザによって制御されてもよい。
【0081】
図4Bは、
図4Aに関して記載されたランカー412の簡略ブロック図である。ランカー412は、ユーザクエリ402、ユーザコンテキスト404、及び他のコンテキスト406を使用して、各検索アプリ420a~420nをスコア化する。したがって、ランカー412は、ランク付けされている各検索アプリ420に対して1回実行される。
【0082】
ランカー412は、検索アプリのセット420Siに対してランク付けされた順序430を決定する。
図4Aを参照して上述した入力系列
【0083】
【数10】
が与えられると、ランカー412は、入力系列に対してTransformerを実行して、各検索アプリ420に対する
【0084】
【0085】
【数12】
は、プーリングメカニズム(例えば、平均、最大、最小、畳み込みなど)を介して単一のベクトルに縮小され、共有された
【0086】
【数13】
と乗算されて、その探索アプリ420のスコアを得る。
【0087】
【0088】
このプロセスは、各検索アプリ420a~420nに対して繰り返される。次いで、これらのスコアをソートすることによって、ランク付けされた順序430が決定される。
【0089】
図4Cは、
図4Aに関して記載されたようなパーサー414の簡略ブロック図である。パーサー414は、xの各入力に、それが検索アプリAPI422の入力に対応するかどうかのマーカーをタグ付けする。パーサー414は、上述のように系列xに対して動作し、基礎となるTransformerアーキテクチャX
lの最終出力を計算する。各検索アプリ420a~420nのスコアをプーリングして計算する代わりに、パーサー414は、以下の式を適用する。
【0090】
【0091】
上記の式において、SlotScoresaiは、入力された系列xの各トークンに対して、そのトークンがi番目の検索アプリAPI420の特定の入力(又は、ここでは、それ自体の入力から曖昧さを除去するためのスロット)、例えば、出発場所、目的場所などに対応するかどうかを判断する。各検索アプリ420は、そのスロット上のスコアを計算するためにタグ付けされる必要がある各スロットに対応するエントリを有する、それ自身の対応するパラメータ
【0092】
【0093】
例示的なワークフロー
図5は、本明細書に記載されるいくつかの実施形態による、
図1~
図4Cに示すフレームワークに基づく検索方法を例示する例示的な論理フロー図である。方法500のプロセスのうちの1つ以上は、少なくとも部分的に、1つ以上のプロセッサによって実行されるときに、1つ以上のプロセッサにプロセスのうちの1つ以上を実行させ得る非一時的な有形機械可読媒体に記憶された実行可能コードの形態で実装されてもよい。いくつかの実施形態では、方法500は、ユーザ入力に基づいて検索を実行し、検索結果を含むユーザ関与可能要素を提供する検索プラットフォームモジュール230(例えば、
図1~
図4A)の動作に対応する。
【0094】
ステップ502において、データインターフェースを介して入力クエリが受信される。
図4Aに示すように、いくつかの実施形態によれば、この入力クエリは、ユーザクエリ402、ユーザコンテキスト404、又は他のコンテキスト406のうちの1つ以上を含んでもよい。いくつかの実施形態では、この入力クエリは、検索システムに検索クエリを入力することなどによって、検索システムとのユーザ対話を介してユーザによって提供される。
【0095】
いくつかの実施形態では、入力系列は、入力クエリ(例えば、「Richard Socher」、「Quasi Recurrent Neural Network」など)と、入力クエリを開始したユーザに関連付けられたユーザコンテキストとを連結することによって生成されてもよい。ユーザコンテキストは、ユーザプロファイル情報(例えば、ユーザID、ユーザの性別、ユーザの年齢、ユーザの場所、郵便番号、デバイス情報、モバイルアプリケーション利用情報など)、ユーザが設定した(例えば、
図8H、
図8Jに示すような)1つ以上のデータソースの好み又は嫌い、及び特定のデータソースからの検索結果をよい又はよくないと認めたユーザの過去のアクティビティの任意の組み合わせを含んでもよい。いくつかの実施形態では、入力系列は、入力クエリに関係する1つ以上のデータソースからのコンテキスト情報を含む補足コンテキストをさらに含む。この補足コンテキストは、「人気のある検索」、「トップ検索」、「他の人も検索している…」、「ハッシュタグ」、及び他のトレンドトピックの指標を含んでもよい。補足コンテキストは、現在の人気に基づいて、グローバルなトレンド、ローカルなトレンド、ニューストピック、又は他の関連性のある情報を考慮に入れてもよい。補足コンテキストは、類似ユーザの検索、最近の期間にわたる検索、地理的エリアからの検索、又は入力クエリに関係し得る他のコンテキスト情報も考慮に入れてもよい。いくつかの実施形態では、検索入力は、入力系列に基づいて構文解析ニューラルモデルによって生成されてもよい。
【0096】
ステップ504において、検索システムは、入力クエリからの潜在的な検索オブジェクトの特性に少なくとも部分的に基づいて、入力クエリに関連性のある第1のデータソース及び第2のデータソースを決定する。
図4Aに示すように、いくつかの実施形態によれば、関連性のあるデータソースのこの決定は、ユーザクエリ402、ユーザコンテキスト404、又は他のコンテキスト406を含む入力クエリを使用して実行される。いくつかの実施形態では、関連性のあるデータソースのこの決定は、入力クエリからの潜在的な検索オブジェクトの特性に少なくとも部分的に基づく。例えば、入力クエリが「Richard Socher」などの名前を含む場合、関連性のあるデータソースは、「Twitter」、「Facebook」、「Instagram」、「TikTok」、又は他のソーシャルメディアウェブサイトを含んでもよい。入力されたクエリが「pumpkin pie」などの食べ物を含む場合、関連性のあるデータソースは、「All Recipes」、「Food Network」、又は他の食べ物関連のウェブサイトを含んでもよい。入力クエリが、pythonのエラーなど、コーディングに関連する場合、関連性のあるデータソースは、「StackOverflow」、「Reddit」、又はコーディング支援を目的とした他のウェブページ若しくはブログを含んでもよい。
【0097】
いくつかの実施形態では、入力クエリに関連性のある第1のデータソース及び第2のデータソースの決定は、入力クエリと、入力クエリを開始したユーザに関連付けられたユーザコンテキストとを連結することによって、入力系列を生成することを含む。次いで、ランク付けニューラルモデル(例えば、
図4Aの412を参照)は、入力系列に基づいて各データソースについての関連性スコアを生成し、関連性スコアを使用して、各関連性スコアが閾値よりも大きいか否かに基づいて、各データソースが関連性があるかどうかを決定してもよい。各データソースは、それぞれの関連性スコアに基づいてランク付けされてもよい。いくつかの実施形態では、指標は、各データソースについての解析ニューラルモデルによって生成されてもよい。
【0098】
ステップ506において、検索システムは、データソースの記憶されたユーザの好みに基づいて、決定されたデータソースを検査し、フィルタリングし、各データソースに対してカスタマイズされた検索入力を生成/送信してもよい。一実装では、ユーザが、好みのデータソースとして特定のデータソースを以前に選択した場合、検索システムは、この特定のデータソースを含み、この特定のデータソースの優先度を上げてもよい。一実装では、ユーザが特定のデータソースを以前に選択解除又はよくないと認めた場合、ステップ504においてこのデータソースが関連性があると決定され得る場合でも、検索システムはこの特定のデータソースを除外してもよい。
【0099】
一実装では、検索システムは、検索においてユーザの好みのデータソースを普遍的に適用してもよい。例えば、「Wikipedia」が好ましいデータソースとしてユーザによって選択された場合、検索システムは、常に、「Wikipedia」からの検索結果のグループをユーザに対する検索に配置してもよい。
【0100】
別の実装では、検索システムは、そのタイプおいてユーザの好みのデータソースをカテゴリ化してもよい。例えば、「LinkedIn」が好みのデータソースとしてユーザによって選択された場合、検索システムは、特定のタイプのクエリ(例えば、人の名前に関連する)の好みのデータソースとして「LinkedIn」を記憶し、クエリが人の名前と関連性がない(例えば、「high performance instant pot」(高性能インスタントポット))ときに、「LinkedIn」での検索の優先度を上げなくてもよい。
【0101】
代替的な実装では、ステップ506において、検索システムは、検索アプリケーションプログラミングインターフェース(
図4AのAPI422a~n)を介して、第1の検索入力及び第2の検索入力を、それぞれ第1のデータソース及び第2のデータソースに送信してもよい。検索入力は、各データソースに対する入力クエリからカスタマイズされてもよい。データソースからの入力クエリに関連する追加のコンテキストを各検索アプリAPIから受信してもよく、追加のコンテキストを使用して、入力クエリのどの部分が各検索アプリAPIに対応するかを決定してもよい。例えば、データソース「LinkedIn.com」を有する検索アプリAPIについては、ユーザ入力クエリが「Richard Socher」であるときに、検索入力は、「Posts mentioning Richard Socher」(Richard Socherをメンションする投稿)、「pages mentioning Richard Socher」(Richard Socherをメンションするページ)、「Richard Socher」という名前のユーザ、「Richard Socher」をメンションするストーリ、ハッシュタグとしてカスタマイズされてもよい。
【0102】
ステップ508で、検索システムは、第1のデータソースから第1の検索結果セットを取得及び/又は生成し、第2のデータソースから第2の検索結果セットを取得及び/又は生成する。これらの検索結果は、
図4Aに示す結果431a~431nに対応する。検索結果の各セットは、異なる検索アプリ420a~420nに対して取得及び/又は生成され、各検索結果セットは、ランカー412及びパーサー414によって決定されるように、ランク付けされた順序430にランク付けされる。
【0103】
ステップ510において、検索システムは、ユーザインターフェースを介して、第1のデータソースの第1の指標と共に第1の検索結果セットを含む第1のユーザ関与可能パネルと、第2のデータソースの第2の指標と共に第2の検索結果セットを含む第2のユーザ関与可能パネルとを提示する。これらの検索結果は、
図7及び
図8A~8Kに示すように、ユーザ関与可能要素700に提示されてもよい。例示的なUI図は、
図8A~
図8Kに見ることができる。ステップ508で生成された各検索結果セットは、ステップ510において、追加のユーザ関与可能要素に表示され、そのため、(
図4Aに示されるような)各検索結果セット431a~431nが生成され、対応するユーザ関与可能要素においてユーザに表示される。いくつかの実施形態では、各ユーザ関与可能パネルは、ステップ504で決定されたランク付けに従って、ランク付けされた順序で提示される。
【0104】
図6は、本明細書に記載されるいくつかの実施形態による、
図1~
図4Cに示すフレームワークに基づくカスタマイズされた検索方法を例示する例示的な論理フロー図である。方法600のプロセスのうちの1つ以上は、少なくとも部分的に、1つ以上のプロセッサによって実行されるときに、1つ以上のプロセッサにプロセスのうちの1つ以上を実行させ得る非一時的な有形機械可読媒体に記憶された実行可能コードの形態で実装されてもよい。いくつかの実施形態では、方法600は、ユーザ入力に基づいて検索を実行し、検索結果を含むユーザ関与可能要素を提供する検索プラットフォームモジュール230(例えば、
図1~
図4A)の動作に対応する。
【0105】
ステップ602において、1つ以上のランク付けされた結果セットが、ユーザ関与可能要素を介してユーザに提示される。これらの結果は、例えば、
図5について上述したように決定されてもよい。いくつかの実施形態では、プラットフォーム410によってランク付けされ解析される各検索アプリ420a~420n(例えば、
図4A)は、ソートされ、ランク付けされた順序を介してユーザに提示される。各検索アプリ420a~420nは、ユーザが検索結果と対話することを可能にする対応するユーザ関与可能要素、すなわち検索アプリ420を有する。
【0106】
ステップ604において、ユーザは、
図7に示すよいと認める要素704及びよくないと認める要素706などのユーザ関与可能要素を介して結果を表示する検索アプリ420a~420nのうちの1つ以上と対話する。例えば、入力されたクエリが「pumpkin pie」などの食べ物を含む場合、関連性のあるデータソースは、「All Recipes」、「Food Network」、又は他の食べ物関連のウェブサイトを含んでもよい。ユーザは、ユーザ関与可能要素700内の「All Recipes」のよいと認める要素704と対話して、「All Recipes」ソースに対する好みを示してもよい。次いで、検索システムは、この情報を使用して、他の食べ物ベースの入力クエリに対して「All Recipies」ソースを使用するようにユーザの好みを更新してもよい。ユーザはまた、ユーザ関与可能要素700内の「Food Network」のよくないと認める要素706と対話して、「Food Network」ソースに対する否定的な好みを示してもよい。次いで、検索システムは、この情報を使用して、他の食べ物ベースの入力クエリに対して「Food Network」ソースを避けるようにユーザの好みを更新してもよい。
【0107】
いくつかの実施形態では、追加データソースのユーザ選択が受信されたときに、入力クエリからそれぞれのデータソースへの新しい検索入力がカスタマイズされ、追加データソースのサーバに統合された検索アプリAPIを介して送信される。データソースからの検索結果セットは、上記及び以下でさらに説明するように、検索結果を表示するユーザ関与可能パネルを介して受信及び提示されてもよい。
【0108】
ステップ606/616において、提供された入力に基づいてユーザの好みが更新される。これらのユーザの好みは、ユーザコンテキスト404(例えば、
図4A)として含まれ、検索結果がユーザにより合うように調整されてもよい。上記の例に従って、ステップ606において、これは、「All Recipes」ソースを見たいという要望が大きくなったことを反映するようにユーザの好みを更新することを伴ってもよい。一方、ステップ616において、これは、「Food Networkd」ソースを見たいという要望が小さくなったことを反映するようにユーザの好みを更新することを伴ってもよい。
【0109】
いくつかの実装では、ユーザは、データソースの好み又は嫌いを直接設定してもよい(例えば、
図8H、
図8Jを参照)。したがって、検索プラットフォームは、それに応じて、検索において好みの又は嫌いなデータソースに対応する検索アプリを(例えば、ランカー412によってフィルタリングされるように)含めるか、又は除外してもよい。いくつかの実装形態では、検索プラットフォームは、ルールベースの基準を適用して、特定のデータソースからの検索結果に関するユーザの過去のアクティビティに基づいてデータソースをフィルタリングしてもよい。例えば、ユーザがTwitter.comからの検索投稿を嫌うときに、検索プラットフォームは、将来の検索からTwitter.comを除外しなくてもよい。しかし、ユーザがTwitter.comからの検索結果を常に嫌う場合(例えば、1日あたり、1週間あたり、全検索のパーセンテージあたりの事前定義された回数を超える場合など)、検索プラットフォームは、Twitter.comを将来の検索から優先度を下げるか、又は除外してもよい。
【0110】
ステップ608/618において、ユーザとシステムとの対話に基づいて、検索結果が更新される。上記の例に従って、ステップ608において、これは、「All Recipes」ソース(例えば、
図4A)に対応する結果431のランク付けされた順序430の位置を上げることを伴ってもよい。ステップ616において、これは、「Food Network」ソースに対応する結果のランク付けされた順序430の位置を下げることを伴ってもよく、代替的には、ユーザに表示された結果431a~431nから「Food Network」ソースを完全に除去することをもたらしてもよい。
【0111】
ステップ610/620において、更新された結果がユーザに提示される。これらの結果は、ランク付けされた順序430でユーザに提示されてもよく、各結果431a~431nは、
図7について以下でさらに詳細に説明するように、ユーザ関与可能要素700に示される。
【0112】
いくつかの実施形態では、ユーザは、代わりに、ユーザに提示される検索アプリのランク順に含まれない検索アプリ420に関する指示を提供するために、追加のユーザ関与可能要素と対話してもよい。このような例では、検索システムは、ステップ606について上述したように、ユーザの好みを更新する。ステップ608において、検索結果が更新されて、検索アプリ420のランクを上げるか、又は検索アプリ420がまだ検索結果に存在しない場合には、ユーザ関与可能要素からの入力に基づいて、検索結果に検索アプリ128を追加してもよい。
【0113】
図7は、
図5~
図6に記載されるカスタマイズされた検索プラットフォームフレームワーク及び本明細書に記載される他の実施形態を実装する例示的な検索インターフェースの簡略ブロック図である。
図7は、ユーザ関与可能要素700を描写し、1つ以上のユーザ関与可能要素700は、ユーザインターフェースを介してユーザに提示されてもよく、各ユーザ関与可能要素は、検索結果セットを含む。
【0114】
ユーザ関与可能要素700は、ユーザ関与可能要素700に示される結果702 a~702nをどのソースが提供しているかに関する重要又は有用な情報を伴ってユーザに情報を提供するソース情報710を含んでもよい。例えば、これは、結果702a~702 nが、検索入力クエリに関連する特定のウェブサイトから示されることを示すウェブサイト名であってもよい。ユーザ関与可能要素700は、
図4Aに描写されるように、単一の検索アプリ420に対応し、ユーザに示される第1のユーザ関与可能要素700は、ランク付けされた順序430における最初の結果(例えば、結果431a)であり、その後に示される各ユーザ関与可能要素700は、ランク付けされた順序430における次の結果431である。
【0115】
各ユーザ関与可能要素700は、ウェブページ、ソーシャルメディア投稿、ブログ投稿、レシピ、ビデオ、コードセグメント、又は検索クエリに関連性のある他のコンテンツを含む、1つ以上の結果702a~702nを提供してもよい。各結果702は、ユーザ関与可能であり、ユーザが、ウェブページを訪れ、ソーシャルメディア投稿と直接対話し、ブログ投稿にコメントし、レシピを読み、保存し、ビデオを視聴し、コードをコピーし、フィードバックを提供し、又は他の方法で各結果702のコンテンツと対話することを可能にしてもよい。各ユーザ関与可能要素700は、
図6に関してさらに詳細に上述したように、承認要素704及び非承認要素706を使用して、データソースに対するユーザの好みを示すようにユーザに提供してもよい。
【0116】
図8A~
図8Kは、
図5~
図6に記載されるカスタマイズされた検索プラットフォームフレームワーク及び本明細書に記載される他の実施形態を実装する例示的な検索インターフェースである。
【0117】
図8Aに見られるように、カスタマイズされた検索プラットフォームフレームワークが利用され、ユーザが検索を実行し、検索のデータソースを選択するオプションを可能にする。ユーザは、「quasi convolutional neural network」などのクエリを検索してもよく、カスタマイズされた検索プラットフォームは、このユーザクエリの特性(例えば、科学用語の名前など)に従って、データソース「arXiv」が最も高い関連性のある結果を提供し、「arXiv」から具体的に提供される検索結果のリストと共に、データソースをユーザに目立つように表示することを決定してもよい。「ArXiv.org」からの検索結果は、スライド可能な水平パネルの形態で提示され、そのため、ユーザは、パネル内の結果のリストを「スライド」して閲覧するようにパネルに関与してもよい。
【0118】
図8Bに見られるように、同じ検索クエリ「quasi convolutional neural network」に対して、カスタマイズされた検索プラットフォームは、「Reddit」が別の関連性のあるデータソース(例えば、検索アプリ)であるが、「Arxiv.org」よりも低くランク付けされ得ることを決定してもよい。したがって、「Reddit」からの検索結果は、「Arxiv.org」に対するパネルの下に表示される別のスライド可能な水平パネルに提示されてもよく、そのため、ユーザは、パネル内の結果のリストを「スライド」して閲覧するようにパネルに関与してもよい。
【0119】
図8Cに見られるように、検索クエリが「Richard Socher」であるときに、カスタマイズされた検索プラットフォームは、このユーザクエリの特性(例えば、人間の名前など)に従って、「Twitter」などのソーシャルメディアからのデータソースが最も高い関連性のある結果を提供し、「Twitter」から具体的に提供される検索結果のリストと共に、データソースをユーザに目立つように表示することを決定してもよい。「Twitter」からの検索結果は、スライド可能な水平パネルの形態で提示され、そのため、ユーザは、パネルにおいてユーザ「Richard Socher」からのツイート又は「Richard Socher」をメンションしているツイートのリストを「スライド」して閲覧するようにパネルに関与してもよい。
【0120】
図8Dに見られるような別の例では、ユーザがクエリ「Boeuf Bourguignon」を入力した場合、カスタマイズされた検索プラットフォームは、この検索語が食べ物、料理、及び/又は関連する用語に関連することを事前に決定し、したがって、「Recipes.com」、「FoodNetwork」などのデータソースからの検索結果を推奨してもよい。
【0121】
図8Eに見られるような別の例では、ユーザがクエリ「Asian Boss Girl」を入力した場合、カスタマイズされた検索プラットフォームは、この検索アイテムが流行のトピックであると事前に決定し、ソーシャルメディアのセンセーションを参照してもよい。したがって、カスタマイズされた検索プラットフォームは、「Instagram」、「Pinterest」、「YouTube」(登録商標)、及び/又は他のソーシャルメディアウェブページなどのソーシャルメディアソースからの検索結果を推奨してもよい。
【0122】
図8Fに見られるような別の例では、ユーザがクエリ「Squid Game」を入力した場合、カスタマイズされた検索プラットフォームは、検索語がメディアアイテムに関連することを事前に決定してもよい。したがって、カスタマイズされた検索プラットフォームは、メディア又はメディアアイテムの詳細を提供するデータソースからの検索結果を推奨してもよい。
【0123】
図8Gに見られるような別の例では、ユーザがクエリ「wheels on the bus」を入力した場合、カスタマイズされた検索プラットフォームは、検索語がメディアアイテムに関連する可能性がある一方で、「Squid Game」の前の例とは異なり、クエリ「wheels on the bus」が旧式の保育所を指すことを事前に決定してもよい。したがって、カスタマイズされた検索プラットフォームは、「YouTube」、「TikTok」、又は何らかの他のビデオソースからのビデオなど、ナーサリーライムを対象とするコンテンツを提供するソースからの検索結果を推奨してもよい。
【0124】
図8Hに見られるように、カスタマイズされた検索プラットフォームは、ユーザが、彼らの好ましいデータソースをカスタマイズすることを可能にする。ユーザは、「いいね」又は「いまいち」アイコンなどのアイコンをクリックして、その好み又は良し悪しを示すことによって、特定のデータソースを好むか好まないかを提出することを選んでもよい。ユーザが提出した好みに基づいて、カスタマイズされた検索プラットフォームは、検索結果を再配置し、優先順位を付け直してもよい。例えば、ユーザが「LinkedIn」(登録商標)に対して「いいね」(例えば、よいと認める)を選択するが、「Instagram」に対して「いまいち」(例えば、よくないと認める)を選択した場合、ユーザが「Richard Socher」のような人の名前を検索したときに、カスタマイズされた検索プラットフォームは、「LinkedIn」からの「Richard Socher」の結果を優先度を上げ、「Instagram」からの結果を優先度を下げてもよい。
【0125】
図8I~
図8Kは、ユーザによって好みが設定される前後に、カスタマイズされた検索プラットフォーム上で検索が実行される例を示す。
図8Iでは、ユーザが最初に「Jo Malone red roses」の検索クエリを入力する検索が示されており、カスタマイズされた検索プラットフォームは、異なるデータソース、例えば、Nordstrom.com、Walmart.com、Macys.comなどの様々なショッピングサイトからの任意の検索結果を返してもよい。
【0126】
図8Jは、ユーザがどのようにしてユーザがソースの好みを設定し得るかの一実施形態を示す。この例では、ユーザは、カスタマイズされた検索プラットフォームが検索を実行するときに、「Amazon」及び「Instagram」を好みのソースとして選択することによって、ユーザのソースの好みを設定している。
【0127】
図8Kでは、
図8Iの検索が、
図8Jに見られるようにソースの好みが変更された後に繰り返される。ソースの好みのユーザ設定の後に、カスタマイズされた検索プラットフォームは、検索語「Jo Malone red rose」がショッピングに関連する製品に関連することを事前に決定してもよい。したがって、カスタマイズされた検索プラットフォームは、ユーザの好みに従って、ショッピングサイト「Amazon」からの検索結果の優先度を上げてもよい。
【0128】
発明の態様、実施形態、実装、又はアプリケーションを例示するこの説明及び添付の図面は、限定的なものと解釈されるべきではない。様々な機械的、組成的、構造的、電気的、及び動作上の変更は、この説明及び特許請求の範囲の精神及び範囲から逸脱することなく行われてもよい。いくつかの例では、本開示の実施形態を不明瞭にしないために、周知の回路、構造、又は技法が詳細に示されていないか、又は記載されていない。2つ以上の図の類似の数字は、同じ又は同様の要素を表す。
【0129】
この説明では、本開示と矛盾しないいくつかの実施形態を記載する特定の詳細が明記されている。実施形態の完全な理解を提供するために、多数の詳細が明記されている。いくつかの実施形態は、これらの特定の詳細の一部又は全部がなくても実施され得ると当業者に明らかであろう。本明細書に開示される特定の実施形態は、例示的であるが、限定的ではないことを意味する。当業者は、本明細書に具体的に記載されていないが、本開示の範囲及び精神内にある他の要素を認識してもよい。追加的に、不必要な繰り返しを回避するために、1つの実施形態に関連して示され、記載される1つ以上の特徴は、他の方法で具体的に記載されないか、又は1つ以上の特徴が一実施形態を非機能的にする場合を除いて、他の実施形態に組み込まれてもよい。
【0130】
例示的な実施形態が示され記載されたが、広範囲の修正、変更及び置換が、前述の開示において企図され、いくつかの例では、実施形態のいくつかの特徴を、他の特徴の対応する使用なしに採用してもよい。当業者であれば、多くの変形、代替、及び修正を認識するであろう。したがって、本発明の範囲は、以下の特許請求の範囲によってのみ限定されるべきであり、特許請求の範囲は、本明細書に開示された実施形態の範囲とマッチングする方式で広く解釈されることが適切である。
【手続補正書】
【提出日】2024-07-05
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
検索クエリに応答して複数の検索結果を提示する方法であって、
データインターフェースを介して
インターネット検索を実行するための入力クエリを受信することと、
サーバに実装されたニューラルネットワークによって、前記入力クエリからの潜在的な検索オブジェクトの特性に少なくとも部分的に基づいて、前記入力クエリに関連
する検索が実行される第1のデータソース及び第2のデータソースを決定すること
であって、データソースの好みが前記インターネット検索の前にユーザによって設定されており、前記データソースの好みは、前記ユーザが選択解除した少なくとも1つのデータソースを含む、ことと、
前記サーバに統合された第1の検索アプリケーションプログラミングインターフェース(API)を介して、前記入力クエリからカスタマイズされた第1の検索入力を前記第1のデータソースに送信することと、
前記サーバに統合された第2の検索APIを介して、
前記少なくとも1つのデータソースへの任意の検索入力を送信することなく、前記入力クエリからカスタマイズされた第2の検索入力を前記第2のデータソースに送信することと、
前記第1のデータソース
内の第1の検索から第1の検索結果セットを取得し、
前記少なくとも1つのデータソースからの任意の検索結果を取得することなく前記第2のデータソース
内の第2の検索から第2の検索結果セットを取得することと、
ユーザインターフェース
において、前記第1のデータソースの第1の指標と共に前記第1の検索結果セットを表示する第1のユーザ関与可能パネルと、前記第2のデータソースの第2の指標と共に前記第2の検索結果セットを表示する第2のユーザ関与可能パネルと
の表示を生じさせることと、を含む、方法。
【請求項2】
サーバに実装された
前記ニューラルネットワークによって、
第1のデータソース及び第2のデータソースを決定することは、
前記入力クエリと、前記入力クエリを開始したユーザに関連付けられたユーザコンテキストとを連結することによって、入力系列を生成することと、
ランク付けニューラルモデルによって、前記入力系列に基づく前記第1のデータソースに対する第1の関連性スコアと、前記第2のデータソースに対する第2の関連性スコアとを生成することと、
前記第1の関連性スコア及び前記第2の関連性スコアが閾値よりも大きいときに、前記第1のデータソース及び前記第2のデータソースが関連性があると決定することと、を含む、請求項1に記載の方法。
【請求項3】
前記第1の関連性スコア及び前記第2の関連性スコアに基づいて、前記第1のデータソース及び前記第2のデータソースをランク付けすることをさらに含む、請求項2に記載の方法。
【請求項4】
解析ニューラルモデルによって、前記入力系列に基づいて前記第1の検索入力又は前記第2の検索入力、及び前記第1のデータソース又は前記第2のデータソースの指標をそれぞれ生成することをさらに含む、請求項2に記載の方法。
【請求項5】
前記第1のユーザ関与可能パネル及び前記第2のユーザ関与可能パネルは、前記ランク付けに従ってランク付けされた順序で提示される、請求項3に記載の方法。
【請求項6】
前記データインターフェースを介して、第3のデータソースのユーザ選択を受信することと、
前記サーバに統合された第3の検索APIを介して、前記入力クエリからカスタマイズされた第3の検索入力を前記第3のデータソースに送信することと、
前記第3のデータソースから第3の検索結果セットを取得することと、
前記ユーザインターフェースを介して、前記第3の検索結果セットを表示する第3のユーザ関与可能パネルを提示することと、をさらに含む、請求項1に記載の方法。
【請求項7】
前記データインターフェースを介して、前記第2のデータソースをよくないと認めるユーザ指標を受信することと、
前記第2のユーザ関与可能パネルを前記ユーザインターフェースから除去することと、をさらに含む、請求項1に記載の方法。
【請求項8】
前記ユーザコンテキストは、
ユーザプロファイル情報、
1つ以上のデータソースのユーザが設定した好み又は嫌い、及び
特定のデータソースからの検索結果をよい又はよくないと認めたユーザの過去のアクティビティの任意の組み合わせを含む、請求項2に記載の方法。
【請求項9】
前記入力系列は、前記入力クエリに関係する1つ以上のデータソースからのコンテキスト情報を含む補足コンテキストをさらに含む、請求項2に記載の方法。
【請求項10】
前記第1の検索API又は前記第2の検索APIを介して、前記第1のデータソース又は前記第2のデータソースから前記入力クエリに関連する追加のコンテキスト情報を受信することと、
前記入力クエリのどの部分が、前記第1の検索APIへの前記第1の検索入力、又は前記第2の検索APIへの前記第2の検索入力に対応するかを決定することと、をさらに含む、請求項4に記載の方法。
【請求項11】
検索クエリに応答して複数の検索結果を提示するシステムであって、
インターネット検索を実行するための入力クエリを受信する通信インターフェースと、
複数のプロセッサ実行可能な命令を記憶するメモリと、
前記メモリ
及び前記通信インターフェースに結合されたプロセッサと、を含み、前記プロセッサは、
前記複数のプロセッサ実行可能な命令を実行して、
サーバに実装されたニューラルネットワークによって、前記入力クエリからの潜在的な検索オブジェクトの特性に少なくとも部分的に基づいて、前記入力クエリに関連
する検索が実行される第1のデータソース及び第2のデータソースを決定すること
であって、データソースの好みが前記インターネット検索の前にユーザによって設定されており、前記データソースの好みは、前記ユーザが選択解除した少なくとも1つのデータソースを含む、ことと、
前記サーバに統合された第1の検索アプリケーションプログラミングインターフェース(API)を介して、前記入力クエリからカスタマイズされた第1の検索入力を前記第1のデータソースに送信することと、
前記サーバに統合された第2の検索APIを介して、
前記少なくとも1つのデータソースへの任意の検索入力を送信することなく、前記入力クエリからカスタマイズされた第2の検索入力を前記第2のデータソースに送信することと、
前記第1のデータソース
内の第1の検索から第1の検索結果セットを取得し、
前記少なくとも1つのデータソースからの任意の検索結果を取得することなく前記第2のデータソース
内の第2の検索から第2の検索結果セットを取得することと、
ユーザインターフェース
において、前記第1のデータソースの第1の指標と共に前記第1の検索結果セットを表示する第1のユーザ関与可能パネルと、前記第2のデータソースの第2の指標と共に前記第2の検索結果セットを表示する第2のユーザ関与可能パネルと
の表示を生じさせることと、を行う
、システム。
【請求項12】
命令を記憶している非一時的なコンピュータ可読媒体であって、コンピュータデバイスによって実行されるときに、検索クエリに応答して複数の検索結果を提示する動作を前記コンピュータデバイスに実行させる、非一時的なコンピュータ可読媒体であって、前記動作は、
データインターフェースを介して
インターネット検索を実行するための入力クエリを受信することと、
サーバに実装されたニューラルネットワークによって、前記入力クエリからの潜在的な検索オブジェクトの特性に少なくとも部分的に基づいて、前記入力クエリに関連
する検索が実行される第1のデータソース及び第2のデータソースを決定すること
であって、データソースの好みが前記インターネット検索の前にユーザによって設定されており、前記データソースの好みは、前記ユーザが選択解除した少なくとも1つのデータソースを含む、ことと、
前記サーバに統合された第1の検索アプリケーションプログラミングインターフェース(API)を介して、前記入力クエリからカスタマイズされた第1の検索入力を前記第1のデータソースに送信することと、
前記サーバに統合された第2の検索APIを介して、
前記少なくとも1つのデータソースへの任意の検索入力を送信することなく、前記入力クエリからカスタマイズされた第2の検索入力を前記第2のデータソースに送信することと、
前記第1のデータソース
内の第1の検索から第1の検索結果セットを取得し、
前記少なくとも1つのデータソースからの任意の検索結果を取得することなく前記第2のデータソース
内の第2の検索から第2の検索結果セットを取得することと、
ユーザインターフェース
において、前記第1のデータソースの第1の指標と共に前記第1の検索結果セットを表示する第1のユーザ関与可能パネルと、前記第2のデータソースの第2の指標と共に前記第2の検索結果セットを表示する第2のユーザ関与可能パネルと
の表示を生じさせることと、を含む、非一時的なコンピュータ可読媒体。
【国際調査報告】