(57)【要約】  ユーザデバイスから、検索問い合わせを受信することと、クエリハンドラクラスタを使用して、検索問い合わせと関連付けられたコンテキストを定義することと、検索クラスタを使用して、定義されたコンテキストと関連付けられた１つまたは複数の製品を識別することと、検索クラスタを使用して、データベースに格納された１つまたは複数の製品と関連付けられた特徴に基づいて定義されたコンテキストと関連付けられた１つまたは複数の製品をフィルタリングすることと、検索クラスタを使用して、製品ごとに生成されたスコアに基づいて定義されたコンテキストと関連付けられた１つまたは複数の製品をランク付けすることと、ユーザデバイス上で、１つまたは複数のランク付けされた製品のうちのいくつかを含む、製品の推奨を表示することと、を含む、製品の推奨を提供するためのシステムおよび方法が提供される。
2021535457.tif 000002
【特許請求の範囲】
【請求項１】
製品の推奨を提供するためのコンピュータ実装システムであって、前記システムが、
命令を格納するメモリと、
前記命令を実行して、
ユーザデバイスから、検索問い合わせを受け取り、
クエリハンドラクラスタを使用して、前記検索問い合わせと関連付けられたコンテキストを定義し、
検索クラスタを使用して、前記定義されたコンテキストと関連付けられた１つまたは複数の製品を識別し、
前記検索クラスタを使用して、データベースに格納された前記１つまたは複数の製品と関連付けられた特徴に基づいて前記定義されたコンテキストと関連付けられた前記１つまたは複数の製品をフィルタリングし、
前記検索クラスタを使用して、製品ごとに生成されたスコアに基づいて前記定義されたコンテキストと関連付けられた前記１つまたは複数の製品をランク付けし、
前記ユーザデバイス上で、前記１つまたは複数のランク付けされた製品のうちのいくつかを含む、製品の推奨を表示する、
ように構成された少なくとも１つのプロセッサと
を含む、コンピュータ実装システム。
【請求項２】
前記検索問い合わせと関連付けられた前記コンテキストが、前記検索問い合わせと関連付けられた製品、前記検索問い合わせのタイムスタンプ、前記検索問い合わせと関連付けられた製品カテゴリ、または前記検索問い合わせと関連付けられたユーザ情報のうちの少なくとも１つを含む、請求項１に記載のシステム。
【請求項３】
前記１つまたは複数の製品と関連付けられた前記特徴が、関連製品、関連製品カテゴリ、関連製品画像、フィードバックスコア、製品カテゴリ、製品価格、製品レビュー、または製品割引のうちの少なくとも１つを含む、請求項１に記載のシステム。
【請求項４】
前記１つまたは複数の製品と関連付けられた前記特徴がインデックスを付けられる、請求項１に記載のシステム。
【請求項５】
前記１つまたは複数の製品と関連付けられた前記特徴が、前記１つまたは複数の製品の各々と関連付けられた１つまたは複数の関連製品を決定するために逆インデックスを付けられる、請求項４に記載のシステム。
【請求項６】
前記１つまたは複数の製品と関連付けられた前記特徴が、前記１つまたは複数の製品の各々と関連付けられた１つまたは複数のフィルタを決定するために逆インデックスを付けられる、請求項４に記載のシステム。
【請求項７】
前記スコアが、機械学習モデルを使用して製品ごとに生成される、請求項１に記載のシステム。
【請求項８】
前記機械学習モデルが、ユーザに推奨された製品と関連付けられたユーザフィードバック情報を使用して訓練され、前記機械学習モデルが、製品の推奨と関連付けられたパフォーマンスを予測するように構成される、請求項７に記載のシステム。
【請求項９】
前記少なくとも１つのプロセッサが、前記命令を実行して、
前記ユーザデバイスのユーザと関連付けられた情報をログに記録し、前記情報が、前記ユーザによって表示された製品、前記ユーザによって購入された製品、前記ユーザによって検索された製品、ユーザの製品の好み、ユーザの価格の好み、またはユーザのブランドの好みのうちの少なくとも１つを含み、
前記ユーザと関連付けられた特徴を生成する
ようにさらに構成される、請求項１に記載のシステム。
【請求項１０】
前記少なくとも１つのプロセッサが、前記命令を実行して、
データベースに格納された前記１つまたは複数の製品と関連付けられた前記特徴および前記ユーザと関連付けられた前記特徴に基づいて前記定義されたコンテキストと関連付けられた前記１つまたは複数の製品をフィルタリングする
ようにさらに構成される、請求項９に記載のシステム。
【請求項１１】
製品の推奨を提供するためのコンピュータ実装方法であって、前記方法が、
ユーザデバイスから、検索問い合わせを受信することと、
クエリハンドラクラスタを使用して、前記検索問い合わせと関連付けられたコンテキストを定義することと、
検索クラスタを使用して、前記定義されたコンテキストと関連付けられた１つまたは複数の製品を識別することと、
前記検索クラスタを使用して、データベースに格納された前記１つまたは複数の製品と関連付けられた特徴に基づいて前記定義されたコンテキストと関連付けられた前記１つまたは複数の製品をフィルタリングすることと、
前記検索クラスタを使用して、製品ごとに生成されたスコアに基づいて前記定義されたコンテキストと関連付けられた前記１つまたは複数の製品をランク付けすることと、
前記ユーザデバイス上で、前記１つまたは複数のランク付けされた製品のうちのいくつかを含む、製品の推奨を表示することと
を含む、コンピュータ実装方法。
【請求項１２】
前記検索問い合わせと関連付けられた前記コンテキストが、前記検索問い合わせと関連付けられた製品、前記検索問い合わせのタイムスタンプ、前記検索問い合わせと関連付けられた製品カテゴリ、または前記検索問い合わせと関連付けられたユーザ情報のうちの少なくとも１つを含む、請求項１１に記載の方法。
【請求項１３】
前記１つまたは複数の製品と関連付けられた前記特徴が、関連製品、関連製品カテゴリ、関連製品画像、フィードバックスコア、製品カテゴリ、製品価格、製品レビュー、または製品割引のうちの少なくとも１つを含む、請求項１１に記載の方法。
【請求項１４】
前記１つまたは複数の製品と関連付けられた前記特徴が、前記１つまたは複数の製品の各々と関連付けられた１つまたは複数の関連製品を決定するために逆インデックスを付けられる、請求項１１に記載の方法。
【請求項１５】
前記１つまたは複数の製品と関連付けられた前記特徴が、前記１つまたは複数の製品の各々と関連付けられた１つまたは複数のフィルタを決定するために逆インデックスを付けられる、請求項１１に記載の方法。
【請求項１６】
前記スコアが、機械学習モデルを使用して製品ごとに生成される、請求項１１に記載の方法。
【請求項１７】
前記機械学習モデルが、ユーザに推奨された製品と関連付けられたユーザフィードバック情報を使用して訓練され、前記機械学習モデルが、製品の推奨と関連付けられたパフォーマンスを予測するように構成される、請求項１６に記載の方法。
【請求項１８】
前記ユーザデバイスのユーザと関連付けられた情報をログに記録することであって、前記情報が、前記ユーザによって表示された製品、前記ユーザによって購入された製品、前記ユーザによって検索された製品、ユーザの製品の好み、ユーザの価格の好み、またはユーザのブランドの好みのうちの少なくとも１つを含む、ことと、
前記ユーザと関連付けられた特徴を生成することと
をさらに含む、請求項１１に記載の方法。
【請求項１９】
データベースに格納された前記１つまたは複数の製品と関連付けられた前記特徴および前記ユーザと関連付けられた前記特徴に基づいて前記定義されたコンテキストと関連付けられた前記１つまたは複数の製品をフィルタリングすること
をさらに含む、請求項１８に記載の方法。
【請求項２０】
製品の推奨を提供するためのコンピュータ実装システムであって、前記システムが、
命令を格納するメモリと、
前記を実行して、
ユーザデバイスから、検索問い合わせを受け取り、
クエリハンドラクラスタを使用して、前記検索問い合わせと関連付けられたコンテキストを定義し、
検索クラスタを使用して、前記定義されたコンテキストと関連付けられた１つまたは複数の製品を識別し、
前記検索クラスタを使用して、データベースに格納された前記１つまたは複数の製品と関連付けられた特徴および前記ユーザデバイスのユーザと関連付けられた特徴に基づいて前記定義されたコンテキストと関連付けられた前記１つまたは複数の製品をフィルタリングし、
前記検索クラスタを使用して、機械学習モデルを使用して生成される、製品ごとに生成されたスコアに基づいて前記定義されたコンテキストと関連付けられた前記１つまたは複数の製品をランク付けし、
前記ユーザデバイス上で、前記１つまたは複数のランク付けされた製品のうちのいくつかを含む、製品の推奨を表示する
ように構成された少なくとも１つのプロセッサと
を含む、コンピュータ実装システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、その開示全体が参照により本明細書に組み込まれる、２０１９年１０月１６日に出願された、米国特許仮出願第６２／９１６１６８号の利益を主張するものである。
【０００２】
本開示は、一般に、製品の推奨を提供するためのコンピュータ化されたシステムおよびコンピュータ化された方法に関する。特に、本開示の実施形態は、製品およびユーザと関連付けられたコンテキスト情報を利用して製品の推奨を提供することに関する発明的な非従来型のシステムに関する。
【背景技術】
【０００３】
消費者は、コンピュータやスマートデバイスを介してオンラインで様々なアイテムを買い求め、購入することがよくある。これらのオンライン買い物客は、製品のカテゴリの検索を利用して購入すべき製品を見つけることがよくある。したがって、ｅコマースウェブサイトおよびソフトウェアアプリケーションで製品を推奨することが、顧客の買い物体験を向上させるために重要である。
【０００４】
ｅコマースウェブサイトおよびソフトウェアアプリケーションで製品の推奨を提供するための従来のシステムおよび方法が存在する。しかしながら、これらの従来のシステムおよび方法は、製品間の関係を識別するために製品モデルを利用する。したがって、ユーザが製品Ａを検索する場合、従来のシステムは、そのデータベースを検索して、製品Ａに関連した製品を識別し、識別された製品をユーザに推奨することになる。しかしながら、これらの製品モデルは静的であり、コンテキスト情報に基づいて調整することができない。例えば、従来のシステムで製品の推奨を提供するために使用される製品モデルは、ユーザの興味、ユーザの購入履歴、製品の特徴等に基づいて結果をフィルタリングするように調整することができない。よって、従来のシステムおよび方法を使用してパーソナル化された製品の推奨を提供することは困難である。さらに、製品の推奨を提供するための従来のシステムをパーソナル化するためには、新しい製品モデルがユーザの興味に基づいてユーザごとに作成される必要があるであろう。製品ごと、ユーザごとに新しい製品モデルを作成するのは時間を要し、非常に大量のストレージおよび処理時間を使用する。
【０００５】
静的な製品の推奨は、消費者が興味のない製品を推奨することによって消費者のユーザエクスペリエンスを低下させ、それによって小売業者の利益も減少させる可能性がある。オンラインプラットフォームが製品および／またはユーザと関連付けられたコンテキスト情報に基づいて製品の推奨を自動的に生成すれば、消費者のユーザエクスペリエンスが大幅に改善されるはずである。
【発明の概要】
【０００６】
したがって、製品の推奨がパーソナル化され、各ユーザをターゲットとするように製品の推奨を提供するための改善された方法およびシステムが必要である。
【０００７】
本開示の一態様は、製品の推奨を提供するためのコンピュータ実装システムを対象とする。本システムは、少なくとも１つのプロセッサと、少なくとも１つのプロセッサによって実行されると、少なくとも１つのプロセッサにステップを行わせる命令を含む少なくとも１つの非一時的な記憶媒体と、を含み得る。ステップは、ユーザデバイスから、検索問い合わせを受信することと、クエリハンドラクラスタを使用して、検索問い合わせと関連付けられたコンテキストを定義することと、検索クラスタを使用して、定義されたコンテキストと関連付けられた１つまたは複数の製品を識別することと、検索クラスタを使用して、データベースに格納された１つまたは複数の製品と関連付けられた特徴に基づいて定義されたコンテキストと関連付けられた１つまたは複数の製品をフィルタリングすることと、検索クラスタを使用して、製品ごとに生成されたスコアに基づいて定義されたコンテキストと関連付けられた１つまたは複数の製品をランク付けすることと、ユーザデバイス上で、１つまたは複数のランク付けされた製品のうちのいくつかを含む、製品の推奨を表示することと、を含み得る。
【０００８】
いくつかの実施形態では、検索問い合わせと関連付けられたコンテキストは、検索問い合わせと関連付けられた製品、検索問い合わせのタイムスタンプ、検索問い合わせと関連付けられた製品カテゴリ、または検索問い合わせと関連付けられたユーザ情報のうちの少なくとも１つを含み得る。いくつかの実施形態では、１つまたは複数の製品と関連付けられた特徴は、関連製品、関連製品カテゴリ、関連製品画像、フィードバックスコア、製品カテゴリ、製品価格、製品レビュー、または製品割引のうちの少なくとも１つを含み得る。他の実施形態では、１つまたは複数の製品と関連付けられた特徴はインデックスを付けられ得る。いくつかの実施形態では、１つまたは複数の製品と関連付けられた特徴は、１つまたは複数の製品の各々と関連付けられた１つまたは複数の関連製品を決定するために逆インデックスを付けられ得る。他の実施形態では、１つまたは複数の製品と関連付けられた特徴は、１つまたは複数の製品の各々と関連付けられた１つまたは複数のフィルタを決定するために逆インデックスを付けられ得る。
【０００９】
いくつかの実施形態では、スコアは、機械学習モデルを使用して製品ごとに生成され得る。いくつかの実施形態では、機械学習モデルは、ユーザに推奨された製品と関連付けられたユーザフィードバック情報を使用して訓練されてもよく、機械学習モデルは、製品の推奨と関連付けられたパフォーマンスを予測するように構成される。さらに別の実施形態では、少なくとも１つのプロセッサは、命令を実行して、ユーザデバイスのユーザと関連付けられた情報をログに記録し、ユーザと関連付けられた特徴を生成するようにさらに構成され得る。ユーザと関連付けられた情報は、ユーザによって表示された製品、ユーザによって購入された製品、ユーザによって検索された製品、ユーザの製品の好み、ユーザの価格の好み、またはユーザのブランドの好みのうちの少なくとも１つを含み得る。他の実施形態では、少なくとも１つのプロセッサは、命令を実行して、データベースに格納された１つまたは複数の製品と関連付けられた特徴およびユーザと関連付けられた特徴に基づいて定義されたコンテキストと関連付けられた１つまたは複数の製品をフィルタリングするようにさらに構成され得る。
【００１０】
本開示の別の態様は、製品の推奨を提供するための方法を対象とする。本方法は、ユーザデバイスから、検索問い合わせを受信することと、クエリハンドラクラスタを使用して、検索問い合わせと関連付けられたコンテキストを定義することと、検索クラスタを使用して、定義されたコンテキストと関連付けられた１つまたは複数の製品を識別することと、検索クラスタを使用して、データベースに格納された１つまたは複数の製品と関連付けられた特徴に基づいて定義されたコンテキストと関連付けられた１つまたは複数の製品をフィルタリングすることと、検索クラスタを使用して、製品ごとに生成されたスコアに基づいて定義されたコンテキストと関連付けられた１つまたは複数の製品をランク付けすることと、ユーザデバイス上で、１つまたは複数のランク付けされた製品のうちのいくつかを含む、製品の推奨を表示することと、を含み得る。
【００１１】
いくつかの実施形態では、検索問い合わせと関連付けられたコンテキストは、検索問い合わせと関連付けられた製品、検索問い合わせのタイムスタンプ、検索問い合わせと関連付けられた製品カテゴリ、または検索問い合わせと関連付けられたユーザ情報のうちの少なくとも１つを含み得る。いくつかの実施形態では、１つまたは複数の製品と関連付けられた特徴は、関連製品、関連製品カテゴリ、関連製品画像、フィードバックスコア、製品カテゴリ、製品価格、製品レビュー、または製品割引のうちの少なくとも１つを含み得る。いくつかの実施形態では、１つまたは複数の製品と関連付けられた特徴は、１つまたは複数の製品の各々と関連付けられた１つまたは複数の関連製品を決定するために逆インデックスを付けられ得る。他の実施形態では、１つまたは複数の製品と関連付けられた特徴は、１つまたは複数の製品の各々と関連付けられた１つまたは複数のフィルタを決定するために逆インデックスを付けられ得る。
【００１２】
いくつかの実施形態では、スコアは、機械学習モデルを使用して製品ごとに生成され得る。いくつかの実施形態では、機械学習モデルは、ユーザに推奨された製品と関連付けられたユーザフィードバック情報を使用して訓練されてもよく、機械学習モデルは、製品の推奨と関連付けられたパフォーマンスを予測するように構成される。さらに別の実施形態では、本方法は、ユーザデバイスのユーザと関連付けられた情報をログに記録し、ユーザと関連付けられた特徴を生成することをさらに含み得る。ユーザと関連付けられた情報は、ユーザによって表示された製品、ユーザによって購入された製品、ユーザによって検索された製品、ユーザの製品の好み、ユーザの価格の好み、またはユーザのブランドの好みのうちの少なくとも１つを含み得る。他の実施形態では、本方法は、データベースに格納された１つまたは複数の製品と関連付けられた特徴およびユーザと関連付けられた特徴に基づいて定義されたコンテキストと関連付けられた１つまたは複数の製品をフィルタリングすることをさらに含み得る。
【００１３】
本開示のさらに別の態様は、製品タイトルの誤りを検出するためのコンピュータ実装システムを対象とする。本システムは、少なくとも１つのプロセッサと、少なくとも１つのプロセッサによって実行されると、少なくとも１つのプロセッサにステップを行わせる命令を含む少なくとも１つの非一時的な記憶媒体と、を含み得る。ステップは、ユーザデバイスから、検索問い合わせを受信することと、クエリハンドラクラスタを使用して、検索問い合わせと関連付けられたコンテキストを定義することと、検索クラスタを使用して、定義されたコンテキストと関連付けられた１つまたは複数の製品を識別することと、検索クラスタを使用して、データベースに格納された１つまたは複数の製品と関連付けられた特徴およびユーザデバイスのユーザと関連付けられた特徴に基づいて定義されたコンテキストと関連付けられた１つまたは複数の製品をフィルタリングすることと、検索クラスタを使用して、製品ごとに生成されたスコアに基づいて定義されたコンテキストと関連付けられた１つまたは複数の製品をランク付けすることと、ユーザデバイス上で、１つまたは複数のランク付けされた製品のうちのいくつかを含む、製品の推奨を表示することと、を含み得る。スコアは、機械学習モデルを使用して生成され得る。
【００１４】
本明細書では他のシステム、方法、およびコンピュータ可読媒体も説明される。
【図面の簡単な説明】
【００１５】
【図１Ａ】開示の実施形態と一致する、出荷、輸送、および物流の業務を可能にする通信のためのコンピュータ化されたシステムを含むネットワークの例示的な実施形態を示す概略ブロック図である。
【図１Ｂ】開示の実施形態と一致する、検索要求を満たす１つまたは複数の検索結果をインタラクティブなユーザインターフェース要素と共に含む検索結果ページ（ＳＲＰ）のサンプルを示す図である。
【図１Ｃ】開示の実施形態と一致する、製品および製品に関する情報をインタラクティブなユーザインターフェース要素と共に含む単一表示ページ（ＳＤＰ）のサンプルを示す図である。
【図１Ｄ】開示の実施形態と一致する、仮想ショッピングカート内のアイテムをインタラクティブなユーザインターフェース要素と共に含むカートページのサンプルを示す図である。
【図１Ｅ】開示の実施形態と一致する、仮想ショッピングカートからのアイテムならびに購入および出荷に関する情報をインタラクティブなユーザインターフェース要素と共に含む注文ページのサンプルを示す図である。
【図２】開示の実施形態と一致する、開示のコンピュータ化されたシステムを利用するように構成された例示的なフルフィルメントセンタの概略図である。
【図３】開示の実施形態と一致する、製品の推奨を提供するためのコンピュータ化されたシステムを含むシステムの例示的な実施形態を示す概略ブロック図である。
【図４】開示の実施形態と一致する、製品の推奨を提供するためのシステムの例示的な実施形態の構成要素を示す概略ブロック図である。
【図５】開示の実施形態と一致する、製品の推奨が表示されたユーザデバイスの例示的な実施形態を示す図である。
【図６】開示の実施形態と一致する、機械学習モデルを使用して推奨のための１つまたは複数の製品をランク付けするための方法の例示的な実施形態を示す図である。
【図７】開示の実施形態と一致する、製品の推奨を提供するための方法の例示的な実施形態を示す流れ図である。
【発明を実施するための形態】
【００１６】
以下の詳細な説明は、添付の図面を参照する。可能な限り、図面および以下の説明では、同一または類似の部分を参照するために、同一の参照番号が使用される。いくつかの例示的な実施形態が本明細書で説明されるが、修正、適応、および他の実装が可能である。例えば、置換、追加、または修正が図面に示された構成要素およびステップに行われてもよく、本明細書に記載された例示的な方法は、開示された方法にステップを置換、並べ替え、除去、または追加することによって修正されてもよい。したがって、以下の詳細な説明は、開示された実施形態および例に限定されない。むしろ、本発明の適切な範囲は、添付の特許請求の範囲によって定義される。
【００１７】
本開示の実施形態は、製品の推奨を提供するように構成されたシステムおよび方法を対象とする。開示の実施形態は、有利には、機械学習モデルを使用してユーザと関連付けられた特徴に基づいて１つまたは複数の製品をランク付けすることによってパーソナル化された製品の推奨を提供することができる。加えて、開示の実施形態は、有利には、製品と関連付けられたコンテキスト情報を使用して改善された製品の推奨を提供することもできる。
【００１８】
一実施態様では、前処理システムが、訓練データシステムから受け取られた初期訓練データを前処理して合成された訓練データを生成し得る。例えば、テキストベースの初期訓練データが、ストップワード削除、キーワードトークン化、キーワードの重複排除、および初期訓練データの増強を含む、方法の任意の組み合わせを使用して前処理され、画像ベースの初期訓練データが、画像増強技術（例えばＰｙＴｏｒｃｈ）を使用して前処理され得る。階層モデルトレーナシステムが、前処理システムによって生成されたテキストベースの合成された訓練データを受け取り、画像モデルトレーナシステムが、前処理システムによって生成された画像ベースの合成された訓練データを受け取り得る。階層モデルトレーナシステムと画像モデルトレーナとは、それぞれ、製品分類に受け取られた合成されたデータを使用して、少なくとも１つの階層モデルと少なくとも１つの画像モデルとを生成および訓練し得る。
【００１９】
いくつかの実施形態では、製品カテゴリ予測器が、第１の未分類の製品と関連付けられた情報を受け取り得る。例えば、売り手は、製品を登録しようとするときに、製品名、属性値、製造者、ブランド、およびモデル番号を含む連結されたテキストストリングを入力するよう促され得る。製品カテゴリ予測器は、最高の合計確率スコアを有するいくつかのカテゴリを予測するよう求める要求を受け取り得る。製品カテゴリ予測器は、階層モデルを使用して、潜在的なカテゴリおよびサブカテゴリの確率スコアを再帰的に計算することによって第１の未分類の製品の最も関連性の高いカテゴリを予測し得る。製品カテゴリ予測器は、続いて、未分類の製品をソートして、最高の合計確率スコアを有するカテゴリのうちの１つまたは複数にし得る。
【００２０】
図１Ａを参照すると、出荷、輸送、および物流動作を可能にする通信のためのコンピュータ化されたシステムを含むシステムの例示的な実施形態を示す概略ブロック図１００が示されている。図１Ａに示すように、システム１００は様々なシステムを含むことができ、その各々は、１つまたは複数のネットワークを介して互いに接続することができる。システムはまた、例えばケーブルを使用して、直接接続を介して互いに接続されてもよい。図示のシステムは、出荷権限技術（ＳＡＴ）システム１０１、外部フロントエンドシステム１０３、内部フロントエンドシステム１０５、輸送システム１０７、モバイルデバイス１０７Ａ、１０７Ｂ、１０７Ｃ、売り手ポータル１０９、出荷および注文追跡（ＳＯＴ）システム１１１、フルフィルメント(履行)最適化（ＦＯ）システム１１３、フルフィルメントメッセージングゲートウェイ（ＦＭＧ）１１５、サプライチェーン管理（ＳＣＭ）システム１１７、労働力管理システム１１９、モバイルデバイス１１９Ａ、１１９Ｂ、１１９Ｃ（フルフィルメントセンタ（ＦＣ）２００の内部にあるものとして図示）、第三者パーティフルフィルメントシステム１２１Ａ、１２１Ｂ、１２１Ｃ、フルフィルメントセンタ認証システム（ＦＣ認証）１２３、労働管理システム（ＬＭＳ）１２５を含む。
【００２１】
ＳＡＴシステム１０１は、いくつかの実施形態では注文状態および配送状態を監視するコンピュータシステムとして実装されてもよい。例えば、ＳＡＴ装置１０１は注文がその約束配送日（ＰＤＤ）を過ぎているかどうかを判定し、新しい注文を開始すること、配達されていない注文でアイテムを再出荷すること、配達されていない注文をキャンセルすること、注文カスタマとのコンタクトを開始することなどを含む適切な処置をとることができる。ＳＡＴ装置１０１は、出力（特定の期間中に出荷された荷物の数のよう）及び入力（出荷に使用するために受け取った空のボール紙箱の数のよう）を含む他のデータを監視することもできる。また、ＳＡＴシステム１０１はシステム１００内の異なるデバイス間のゲートウェイとして機能し、外部フロントエンドシステム１０３およびＦＯシステム１１３などのデバイス間の通信（例えば、ストアアンドフォワードまたは他の技術を使用する）を可能にしてもよい。
【００２２】
いくつかの実施形態では、外部フロントエンドシステム１０３は外部ユーザがシステム１００内の１つまたは複数のシステムと対話することを可能にするコンピュータシステムとして実装することができる。例えば、システム１００がシステムの提示を可能にして、ユーザがアイテムのための注文を配置することを可能にする実施形態では、外部フロントエンドシステム１０３が検索リクエストを受信し、アイテムページを提示し、決済情報を要請するウェブサーバとして実装されてもよい。例えば、外部フロントエンドシステム１０３は、アパッチＨＴＴＰサーバ、マイクロソフトインターネットインフォメーションサービス、ＮＧＩＮＸ等のソフトウェアを実行するコンピュータ又はコンピュータとして実施することができる。他の実施形態では、外部フロントエンドシステム１０３が外部デバイス（例えば、モバイルデバイス１０２Ａまたはコンピュータ１０２Ｂ）からの要求を受信および処理し、それらの要求に基づいてデータベースおよび他のデータストアから情報を取得し、取得した情報に基づいて受信した要求に対する応答を提供するように設計されたカスタムウェブサーバソフトウェアを実行することができる。
【００２３】
いくつかの実施形態では、外部フロントエンドシステム１０３がウェブキャッシングシステム、データベース、検索システム、または支払いシステムのうちの１つまたは複数を含むことができる。一態様では外部フロントエンドシステム１０３がこれらのシステムのうちの１つまたは複数を備えることができ、別の態様では外部フロントエンドシステム１０３がこれらのシステムのうちの１つまたは複数に接続されたインターフェース（例えば、サーバ間、データベース間、または他のネットワーク接続）を備えることができる。
【００２４】
図１Ｂ、図１Ｃ、図１Ｄ、および図１Ｅによって示されるステップの例示的な組は、外部フロントエンドシステム１０３のいくつかの動作を説明するのに役立つことができる。外部フロントエンドシステム１０３は提示および／またはディスプレイのために、システム１００内のシステムまたはデバイスから情報を受け取ることができる。例えば、外部フロントエンドシステム１０３は、検索結果を含む１つ以上のウェブページをホスティングまたは提供することができる： ページ(ＳＲＰ)(例えば、図１Ｂ）、単一ディテールページ(ＳＤＰ)(例えば、図１Ｃ）、カードページ（例えば、図１Ｄ）、または注文ページ（例えば、図１Ｅ）。ユーザデバイス（例えば、モバイルデバイス１０２Ａまたはコンピュータ１０２Ｂを使用する）は外部フロントエンドシステム１０３にナビゲートし、サーチボックスに入力することによってサーチをリクエストすることができる。外部フロントエンドシステム１０３は、システム１００内の１つまたは複数のシステムからリクエストすることができる。例えば、外部フロントエンドシステム１０３は、検索要求を満たす情報をＦＯシステム１１３に要求してもよい。また、外部フロントエンドシステム１０３は検索結果に含まれる商品ごとに、約束配送日または「ＰＤＤ」を（ＦＯシステム１１３から）リクエストし、受信することもできる。
ＰＤＤはいくつかの実施形態では、特定の期間内に、例えば、その日の最後（午後１１時５９分）までに注文された場合、製品を含む荷物が、いつユーザの所望の場所に到着するか、または製品がユーザの所望の場所に配送されることを約束される日付かのいずれかの推定値を表すことができる（ＰＤＤはＦＯシステム１１３に関して以下でさらに説明される）。
【００２５】
外部フロントエンドシステム１０３がその情報に基づいてＳＲＰ(例えば、図１Ｂ）を準備することができる。ＳＲＰは、検索要求を満たす情報を含むことができる。例えば、これは、検索要求を満たす製品の写真を含むことができる。ＳＲＰはまた、各製品についてのそれぞれの価格、または各製品についての強化された配送オプション、ＰＤＤ、重み、規模、オファー、割引などに関する情報を含んでもよい。外部フロントエンドシステム１０３は（例えば、ネットワークを介して）要求側ユーザデバイスにＳＲＰを送信することができる。
【００２６】
次いで、ユーザデバイスは例えば、ユーザインターフェースをクリックまたはタップすることによって、または別のインプットデバイスを使用して、ＳＲＰから製品を選択して、ＳＲＰ上に表される製品を選択し得る。ユーザデバイスは選択されたプロダクトに関するリクエストを作成し、それを外部フロントエンドシステム１０３に送ることができる。これに応じて、外部フロントエンドシステム１０３は、選択された商品に関する情報をリクエストすることができる。例えば、情報は、それぞれのＳＲＰ上の製品について提示される情報を超える追加の情報を含むことができる。これには、例えば、貯蔵寿命、原産国、体重、大きさ、荷物中のアイテムの個数、取扱説明書、または生成物に関する他の事項が含まれ得る。また、情報は（例えば、この製品および少なくとも１つの他の製品を購入した顧客のビッグデータおよび／または機械学習分析に基づく）類似の製品に対する推奨、頻繁に質問される質問に対する回答、顧客からのレビュー、製造業者情報、写真などを含むことができる。
【００２７】
外部フロントエンドシステム１０３は受信したプロダクトインフォメーションに基づいて、ＳＤＰ(単一ディテールページ）（例えば、図１Ｃ）を準備することができる。ＳＤＰはまた、「今すぐ買う」ボタン、「カードに追加する」ボタン、数量欄、アイテムの写真等のような他の対話型要素を含んでもよい。ＳＤＰは、製品を提供する売り手のリストをさらに含むことができる。リストは各売り手が提供する価格に基づいて注文されてもよく、その結果、最低価格で製品を販売することを提案する売り手は最上位にリストされてもよい。リストは最高ランクの売り手が最上位にリストされるように、売り手ランキングに基づいて注文されてもよい。売り手ランキングは例えば、約束されたＰＤＤを満たす売り手の過去の実績を含む、複数の要因に基づいて定式化されてもよい。外部フロントエンドシステム１０３は（例えば、ネットワークを介して）要求側ユーザデバイスにＳＤＰを配信することができる。
【００２８】
依頼元ユーザデバイスは、商品情報を記載したＳＤＰを受け取る場合がある。ＳＤＰを受信すると、ユーザデバイスはＳＤＰと対話することができる。例えば、要求ユーザデバイスのユーザは、ＳＤＰ上の「カートに入れる」ボタンをクリックするか、あるいは他の方法で対話することができる。これは、ユーザに関連付けられたショッピングカートに製品を追加する。ユーザデバイスはこのリクエストを送信して、商品をショッピングカートに追加し、外部フロントエンドシステム１０３に送ることができる。
【００２９】
外部フロントエンドシステム１０３はカートページ（例えば、図１Ｄ）を生成することができる。カートページはいくつかの実施形態ではユーザが仮想の「買物かご」に追加した商品をリストし、ユーザデバイスは、ＳＲＰ、ＳＤＰ、または他のページ上のアイコンをクリックするか、または他の方法で対話することによって、カートページをリクエストしてもよい。いくつかの実施形態では、カートページがユーザがショッピングカートに追加したすべての製品、ならびに各製品の数量、各製品のアイテム当たりの価格、関連する数量に基づく各製品の価格、ＰＤＤに関する情報、配送方法、出荷費用、ショッピングカート内の製品を修正するためのユーザインターフェース要素（例えば、数量の削除または修正）、他の製品を注文するかまたは製品の定期的な配送を設定するためのオプション、利息支払いを設定するためのオプション、購入を進めるためのユーザインターフェース要素などのカート内の製品に関する情報を列挙することができる。ユーザデバイスのユーザはショッピングカート内の商品の購入を開始するために、ユーザインターフェース要素（例えば、「今すぐ買う」と読むボタン）をクリックするか、または他の方法でユーザインターフェース要素と対話することができる。そうすると、ユーザデバイスは、このリクエストを送信して、外部フロントエンドシステム１０３への購入を開始することができる。
【００３０】
外部フロントエンドシステム１０３は購入を開始するためのリクエストの受信に応じて、注文頁（例えば、図１Ｅ）を発生することができる。注文頁はいくつかの実施形態ではショッピングカートからのアイテムを再リストし、支払及び出荷に関するインプットを要求する。例えば、注文ページはショッピングカート内のアイテムの購入者に関する情報（例えば、名前、住所、電子メールアドレス、電話番号）、受取人に関する情報（例えば、名前、住所、電話番号、配送情報）、出荷情報（例えば、配送および／または集荷の速度／方法）、支払情報（例えば、クレジットカード、銀行振込、小切手、記憶クレジット）、現金受領を要求するためのユーザインターフェース要素（例えば、税務目的のための）などを要求する区画を含むことができる。外部フロントエンドシステム１０３は、注文頁をユーザデバイスへ送信することが可能である。
【００３１】
ユーザデバイスは注文頁に情報を入力し、その情報を外部フロントエンドシステム１０３に送信するユーザインターフェース要素をクリックするか、または他の方法で対話することができる。そこから、外部フロントエンドシステム１０３はショッピングカート内の製品との新しい注文の作成および加工を可能にするために、システム１００内の様々なシステムに情報を送信することができる。
【００３２】
いくつかの実施形態では、外部フロントエンドシステム１０３が売り手が注文に関する情報を送受信することを可能にするようにさらに構成されてもよい。
【００３３】
内部フロントエンドシステム１０５はいくつかの実施形態では内部ユーザ（例えば、システム１００を所有し、運営し、またはリースする団体の従業員）がシステム１００内の１つまたは複数のシステムと対話することを可能にするコンピュータシステムとして実装することができる。例えば、ネットワーク１０１がシステムの提示を可能にして、ユーザが注文のための注文を配置できるようにする実施形態では、内部ユーザが注文に関する診断および統計情報を見たり、アイテム情報を修正したり、またはアイテムに関する統計を見直したりできるようにする、内部フロントエンドシステム１０５をウェブサーバとして実装することができる。例えば、内蔵フロントエンドシステム１０５は、アパッチＨＴＴＰサーバ、マイクロソフトインターネットインフォメーションサービス、ＮＧＩＮＸ等のソフトウェアを実行するコンピュータ又はコンピュータとして実現することができる。他の実施形態では、内蔵フロントエンドシステム１０５がシステム１００に示されるシステムまたはデバイス（ならびに図示されない他のデバイス）からの要求を受信および処理し、それらの要求に基づいてデータベースおよび他のデータストアから情報を取得し、取得された情報に基づいて受信された要求への応答を提供するように設計されたカスタムウェブサーバソフトウェアを実行することができる。
【００３４】
いくつかの実施形態では、内蔵フロントエンドシステム１０５がウェブキャッシングシステム、データベース、検索システム、支払いシステム、分析システム、注文監視システムなどのうちの１つまたは複数を含むことができる。一態様では内部フロントエンドシステム１０５がこれらのシステムのうちの１つまたは複数を備えることができ、別の態様では内部フロントエンドシステム１０５がこれらのシステムのうちの１つまたは複数に接続されたインターフェース（たとえば、サーバ間、データベース間、または他のネットワーク接続）を備えることができる。
【００３５】
輸送システム１０７は、いくつかの実施形態ではシステム１００内のシステムまたはデバイスとモバイルデバイス１０７Ａ〜１０７Ｃとの間の通信を可能にするコンピュータシステムとして実施することができる。いくつかの実施形態では、トランスポーテーションシステム１０７が１つまたは複数のモバイルデバイス１０７Ａ〜１０７Ｃ（例えば、携帯電話、スマートフォン、ＰＤＡなど）から受信することができる。例えば、いくつかの実施形態では、モバイルデバイス１０７Ａ〜１０７Ｃが配送作業員によって操作されるデバイスを含んでもよい。配送作業員は、正社員、臨時社員、または交替社員であってもよく、モバイルデバイス１０７Ａ〜１０７Ｃを利用して、ユーザによって注文された製品を含む荷物の配送を行うことができる。例えば、荷物を配信するために、配送作業員は、どの荷物を配信すべきか、およびそれをどこに配信すべきかを示す通知をモバイルデバイス上で受信することができる。配送位置に到着すると、配送作業員は荷物を（例えば、トラックの後ろに、または荷物の箱に）配置し、モバイルデバイスを使用して荷物上の識別子に関連するデータ（例えば、バーコード、イメージ、文字列、ＲＦＩＤタグなど）を走査または他の方法で捕捉し、荷物を（例えば、前扉に置いたままにし、警備員を置いたままにし、受信者に渡すなどによって）配信することができる。いくつかの実施形態では、配送作業員が荷物の写真をキャプチャすることができ、および／またはモバイルデバイスを使用してシグネチャを取得することができる。モバイルデバイスは例えば、時刻、日付、ＧＰＳ位置、写真、配送作業員に関連付けられた識別子、モバイルデバイスに関連付けられた識別子などを含む配送に関する情報を含む情報を輸送機関１０７に送信することができる。輸送システム１０７はシステム１００内の他のシステムによるアクセスのために、この情報をデータベース（図示せず）に記憶することができる。輸送システム１０７はいくつかの実施形態ではこの情報を使用して、特定の荷物の位置を示す追跡データを準備し、他のシステムに送信することができる。
【００３６】
いくつかの実施形態ではあるユーザが１つの種類のモバイルデバイスを使用することができる（例えば、永久作業員はバーコードスキャナ、スタイラス、および他のデバイスなどのカスタムハードウェアと共に専用のＰＤＡを使用することができる）が他のユーザは他の種類のモバイルデバイスを使用することができる（例えば、一時的または移動作業員は既製の携帯電話および／またはスマートフォンを利用することができる）。
【００３７】
いくつかの実施形態では、交通機関１０７がユーザをそれぞれのデバイスに関連付けることができる。例えば、輸送システム１０７はユーザ（例えば、ユーザ識別子、従業員識別子、または電話番号）とモバイルデバイス（例えば、国際移動装置アイデンティティ（ＩＭＥＩ）、国際移動加入識別子（ＩＭＳＩ）、電話番号、汎用一意識別子（ＵＵＩＤ）、またはグローバル一意（ＧＵＩＤ）によって表される）との間の関連を記憶することができる。トランスポートシステム１０７はこの関連付けを、配送上で受信されたデータと併せて使用して、とりわけ、作業員の位置、作業員の有効性、または作業員のスピードを決定するために、注文内のデータベースに格納されたデータを分析することができる。
【００３８】
売り手ポータル１０９は、いくつかの実施形態では売り手または他の外部エンティティがシステム１００内の１つまたは複数のシステムと電子的に通信することを可能にするコンピュータシステムとして実装され得る。例えば、売り手は、コンピュータシステム（図示せず）を利用して、売り手が売り手ポータル１０９を使用してシステム１００を通して売りたい製品について、製品情報、注文情報、連絡先情報などをアップロードまたは提供することができる。
【００３９】
出荷および注文追跡システム１１１はいくつかの実施形態では（例えば、デバイス１０２Ａ〜１０２Ｂを使用するユーザによって）顧客によって注文された製品を含む荷物の位置に関する情報を受信し、記憶し、転送するコンピュータシステムとして実装されてもよい。いくつかの実施形態では、出荷および注文追跡装置１１１は顧客が注文した製品を含む荷物を配送する出荷会社によって運営されるウェブサーバ（図示せず）からの情報をリクエストまたは記憶することができる。
【００４０】
いくつかの実施形態では、出荷および注文追跡システム１１１がシステム１００に示されたシステムからの情報をリクエストし、記憶することができる。例えば、出荷および注文追跡システム１１１は、輸送システム１０７にリクエストすることができる。上述のように、交通機関１０７はユーザ（例えば、配送作業員）または乗り物（例えば、配送車）のうちの１つまたは複数に関連付けられた１つまたは複数のモバイルデバイス１０７Ａ〜１０７Ｃ（例えば、携帯電話、スマートフォン、ＰＤＡなど）から受信することができる。いくつかの実施形態では、出荷および注文追跡装置１１１がフルフィルメントセンタ（例えば、フルフィルメントセンタ２００）内の個々の製品の位置を決定するために、労働力管理システム（ＷＭＳ）１１９にリクエストすることもできる。出荷および注文追跡システム１１１は輸送システム１０７またはＷＭＳ １１９のうちの１つまたは複数からデータを要求し、それを処理し、要求に応じてそれをデバイス（たとえば、ユーザデバイス１０２Ａおよび１０２Ｂ）に提示することができる。
【００４１】
フルフィルメント(履行)最適化（ＦＯ）システム１１３はいくつかの実施形態では他のシステム（例えば、外部フロントエンドシステム１０３および／または出荷および注文追跡システム１１１）からのカスタマ注文のための情報を記憶するコンピュータシステムとして実装されてもよい。また、ＦＯシステム１１３は、特定のアイテムがどこに保持されているか、またはどこに記憶されているかを記述する情報を記憶することもできる。たとえば、特定のアイテムは１つのフルフィルメントセンタにのみ格納でき、他の特定のアイテムは複数のフルフィルメントセンタに格納できる。さらに他の実施形態では、特定のフルフィルメントセンタが特定の組のアイテム（例えば、生鮮食品または冷凍食品）のみを格納するように設計されてもよい。ＦＯシステム１１３はこの情報ならびに関連する情報（例えば、数量、サイズ、受領日、有効期限など）を格納する。
【００４２】
また、ＦＯシステム１１３は、商品毎に対応するＰＤＤ(約束配送日）を計算してもよい。ＰＤＤは、いくつかの実施形態では１つまたは複数の要因に基づくことができる。例えば、ＦＯシステム１１３は製品に対する過去の需要（例えば、その製品がある期間中に何回注文されたか）、製品に対する予想需要（例えば、来るべき期間中にその製品を注文するために何人の顧客が予想されるか）、ある期間中にいくつの製品が注文されたかを示すネットワーク全体の過去の需要、来るべき期間中にいくつの製品が注文されることが予想されるかを示すネットワーク全体の予想需要、各フルフィルメントセンタ２００に格納された製品の１つ以上のカウント、その製品に対する各製品、予想または現行注文などに基づいて、製品に対するＰＤＤを計算することができる。
【００４３】
いくつかの実施形態では、ＦＯシステム１１３が定期的に（例えば、１時間ごとに）商品ごとにＰＤＤを決定し、それを検索または他のシステム（例えば、外部フロントエンドシステム１０３、ＳＡＴシステム１０１、出荷および注文追跡システム１１１）に送信するためにデータベースに格納することができる。他の実施形態では、ＦＯシステム１１３が１つまたは複数のシステム（例えば、外部フロントエンドシステム１０３、ＳＡＴシステム１０１、出荷および注文追跡システム１１１）から電子要求を受信し、オンデマンドでＰＤＤを計算することができる。
【００４４】
フルフィルメントメッセージングゲートウェイ１１５はいくつかの実施形態ではＦＯシステム１１３などのシステム１００内の１つ以上のシステムから１つのフォーマットまたはプロトコルで要求または応答を受信し、それを別のフォーマットまたはプロトコルに変換し、変換されたフォーマットまたはプロトコルで、ＷＭＳ １１９または３パーティフルフィルメントシステム１２１Ａ、１２１Ｂ、または１２１Ｃなどの他のシステムに転送するコンピュータシステムとして実装することができる。
【００４５】
サプライチェーン管理（ＳＣＭ）システム１１７は、いくつかの実施形態では予測機能を実行するコンピュータシステムとして実装することができる。例えば、ＳＣＭシステム１１７は例えば、製品に対する過去の需要、製品に対する予想される需要、ネットワーク全体の過去の需要、ネットワーク全体の予想される需要、各フルフィルメントセンタ２００に格納された計数製品、各製品に対する予想または現行注文などに基づいて、特定の製品に対する需要の水準を予測することができる。この予測された水準およびすべてのフルフィルメントセンタにわたるそれぞれの製品の量に応じて、ＳＣＭシステム１１７は特定の製品に対する予測された需要を満たすのに充分な量を購入し、ストックするための１つまたは複数の購入注文を生成することができる。
【００４６】
労働力管理システム（ＷＭＳ）１１９は、いくつかの実施形態ではワークフローをモニタするコンピュータシステムとして実装されてもよい。例えば、ＷＭＳ １１９は個別イベントを示す個別デバイス（例えば、デバイス１０７Ａ−１０７Ｃまたは１１９Ａ−１１９Ｃ）からイベントデータを受信することができる。例えば、ＷＭＳ １１９は、荷物を走査するためにこれらのデバイスの１つの使用を示すイベントデータを受信してもよい。フルフィルメントセンタ２００および図２に関して以下で論じるように、フルフィルメントプロセス中に、荷物識別子（例えば、バーコードまたはＲＦＩＤタグデータ）は特定の段階で機械によってスキャンまたは読み取ることができる（例えば、自動またはハンドヘルドバーコードスキャナ、ＲＦＩＤリーダ、高速カメラ、タブレット１１９Ａ、モバイルデバイス／ＰＤＡ １１９Ｂ、コンピュータ１１９Ｃなどのデバイス）。ＷＭＳ １１９は荷物識別子、時刻、日時、位置、ユーザ識別子、または他の情報と共に、荷物識別子の走査または読取りを示す各々の事象を対応するデータベース（図示せず）に記憶することができ、この情報を他のシステム（例えば、出荷および注文追跡システム１１１）に提供することができる。
【００４７】
ＷＭＳ １１９はいくつかの実施形態では１つまたは複数のデバイス（例えば、デバイス１０７Ａ〜１０７Ｃまたは１１９Ａ〜１１９Ｃ）を、システム１００に関連付けられた１つまたは複数のユーザに関連付ける情報を記憶してもよい。例えば、いくつかの状況では、ユーザ（パートまたはフルタイムの従業員など）は、ユーザがモバイルデバイスを所有する（例えば、モバイルデバイスがスマートフォンである）という点で、モバイルデバイスに関連付けられてもよい。他の状況では、ユーザは、ユーザが一時的にモバイルデバイスの管理下にある（例えば、ユーザは日の始めにモバイルデバイスを借り、日中にそれを使用し、日の終わりにそれを返す）という点で、モバイルデバイスに関連付けられてもよい。
【００４８】
ＷＭＳ １１９は、いくつかの実施形態ではシステム１００に関連する各ユーザの作業ログを維持することができる。例えば、ＷＭＳ １１９は任意の割り当てられたプロセス（例えば、トラックのアンローディング、ピックゾーンからのアイテムのピッキング、仕分け装置ワーク、パッキングアイテム）、ユーザ識別子、位置（例えば、フルフィルメントセンタ２００内のフロアまたはゾーン）、従業員によってシステム内を移動されたユニットの数（例えば、ピックされたアイテムの数、パックされたアイテムの数）、デバイスに関連付けられた識別子（例えば、デバイス１１９Ａ〜１１９Ｃ）などを含む、各従業員に関連付けられた情報を記憶することができる。いくつかの実施形態では、ＷＭＳ １１９がデバイス１１９Ａ〜１１９Ｃ上で動作するタイムキーピングシステムなどのタイムキーピングシステムからチェックインおよびチェックアウト情報を受信することができる。
【００４９】
第三者フルフィルメント（３ＰＬ）システム１２１Ａ〜１２１Ｃは、いくつかの実施形態ではロジスティクスおよび製品のサードパーティプロバイダに関連するコンピュータシステムを表す。例えば、（図２に関して以下に説明するように）いくつかの製品がフルフィルメントセンタ２００に格納されている間、他の製品は、オフサイトで格納されてもよく、オンデマンドで生産されてもよく、またはフルフィルメントセンタ２００に格納するために利用できなくてもよい。３ＰＬシステム１２１Ａ〜１２１ＣはＦＯシステム１１３から（例えば、ＦＭＧ １１５を介して）注文を受信するように構成することができ、製品および／またはサービス（例えば、配送または設置）を顧客に直接的に提供することができる。いくつかの実施形態では３ＰＬシステム１２１Ａ〜１２１Ｃのうちの１つまたは複数がシステム１００の一部とすることができ、他の実施形態では３ＰＬシステム１２１Ａ〜１２１Ｃのうちの１つまたは複数がシステム１００の外部（例えば、サードパーティプロバイダによって所有または運営される）とすることができる。
【００５０】
フルフィルメントセンタ自動システム（ＦＣ認証）１２３は、いくつかの実施形態では様々な機能を有するコンピュータシステムとして実装され得る。例えば、いくつかの実施形態では、ＦＣ認証１２３がシステム１００内の１つまたは複数の他のシステムのためのシングルサインオン（ＳＳＯ）サービスとして動作することができる。例えば、ＦＣ認証１２３はユーザが内部フロントエンドシステム１０５を介してログインすることを可能にし、ユーザが出荷および注文追跡系１１１においてリソースにアクセスするための同様の特権を有していることを決定し、ユーザが２回目のログイン処理を必要とせずにそれらの特権にアクセスすることを可能にしてもよい。他の実施形態では、ＦＣ認証１２３は、ユーザ（例えば、従業員）が自分自身を特定の作業に関連付けることを可能にしてもよい。例えば、従業員の中には、電子デバイス（デバイス１１９Ａ〜１１９Ｃなど）を持たない者もいれば、その代わりに、１日の過程中に、フルフィルメントセンタ２００内でタスクからタスクへ、およびゾーンからゾーンへ移動してもよい。ＦＣ認証１２３は、それらの従業員は、彼らがどの仕事をしているか、および彼らが様々な時刻にどの区域にいるかを示すことを可能にするように構成されてもよい。
【００５１】
労働管理システム（ＬＭＳ）１２５は、いくつかの実施形態では従業員（フルタイムおよびパートタイムの従業員を含む）のための出勤および残業を記憶するコンピュータシステムとして実装されてもよい。例えば、ＬＭＳ １２５は、ＦＣ認証１２３、ＷＭＡ １１９、デバイス１１９Ａ−１１９Ｃ、輸送装置１０７、及び／又はデバイス１０７Ａ−１０７Ｃから受信することができる。
【００５２】
図１Ａに示される特定の構成は単なる例である。例えば、図１ＡはＦＯシステム１１３に接続されたＦＣ認証システム１２３を示すが、全ての実施形態がこの特定の構成を必要とするわけではない。実際、いくつかの実施形態では、システム１００内のシステムがインターネット、イントラネット、ＷＡＮ(ワイドエリアネットワーク）、ＭＡＮ(メトロポリタンエリアネットワーク）、ＩＥＥＥ ８０２．１１ａ／ｂ／ｇ／ｎ規格に準拠する無線ネットワーク、専用線などを含む１つまたは複数の公衆またはプライベートネットワークを介して互いに接続され得る。いくつかの実施形態では、システム１００内のシステムの１つ以上がデータセンター、サーバファームなどに実装された１つ以上の仮想サーバとして実装されてもよい。
【００５３】
図２は、フルフィルメントセンタ２００を示す。フルフィルメントセンタ２００は、注文時に顧客に出荷するためのアイテムを格納する物理的な場所の実例である。フルフィルメントセンタ（ＦＣ）２００は多数のゾーンに分割することができ、その各々を図２に示す。これらの「ゾーン」はいくつかの実施形態ではアイテムを受け取り、アイテムを保管し、アイテムを取り出し、アイテムを出荷する処理の様々な段階の間の仮想分割と考えることができ、したがって、「ゾーン」は図２に示されているが、ゾーンの他の分割も可能であり、いくつかの実施形態では図２のゾーンを省略、複製、または修正することができる。
【００５４】
インバウンドゾーン２０３は、図１Ａの装置１００を使用して製品を販売しようとする売り手からアイテムを受け取るＦＣ ２００の領域を表す。例えば、売り手は、台車２０１を使用してアイテム２０２Ａ及び２０２Ｂを配送することができる。アイテム２０２Ａはそれ自体の出荷パレットを占有するのに十分な大きさの単一のアイテムを表すことができ、アイテム２０２Ｂは、空間を節約するために同じパレット上に一緒に積み重ねられた１組のアイテムを表すことができる。
【００５５】
作業員はインバウンドゾーン２０３でアイテムを受け取り、コンピュータシステム（図示せず）を使用して、アイテムの破損および正当性を任意選択で検査することができる。例えば、作業員は、コンピュータシステムを使用して、アイテム２０２Ａおよび２０２Ｂの数量をアイテムの注文数量と比較することができる。数量が合致しない場合、その作業員は、アイテム２０２Ａまたは２０２Ｂのうちの１つまたは複数を拒否することができる。数量が一致すれば、作業員はそれらのアイテムを緩衝地帯２０５まで（例えば、１ドル、ハンドトラック、フォークリフト、手動で）移動させることができる。緩衝ゾーン２０５は例えば、予測される需要を満たすのに十分な量のアイテムがピッキングゾーンにあるため、ピッキングゾーンで現在必要とされていないアイテムのための一時保管領域であってもよい。いくつかの実施形態では、フォークリフト２０６が緩衝ゾーン２０５の周り、および入りゾーン２０３と落下ゾーン２０７との間でアイテムを移動させるように動作する。ピッキングゾーンにアイテム２０２Ａまたは２０２Ｂが必要な場合（例えば、予想される需要のため）、フォークリフトは、アイテム２０２Ａまたは２０２Ｂを落下ゾーン２０７に移動させることができる。
【００５６】
ドロップゾーン２０７は、アイテムがピッキングゾーン２０９に移動される前にそれらを保管するＦＣ ２００の領域であってもよい。ピッキングタスクに割り当てられた作業員（「ピッカー」）はピッキングゾーン内のアイテム２０２Ａおよび２０２Ｂに接近し、ピッキングゾーンのバーコードをスキャンし、モバイルデバイス（例えば、デバイス１１９Ｂ）を使用してアイテム２０２Ａおよび２０２Ｂに関連するバーコードをスキャンすることができる。次いで、ピッカーはアイテムをピッキングゾーン２０９まで（例えば、それをカート上に置くか、またはそれを運ぶことによって）取り込むことができる。
【００５７】
ピッキングゾーン２０９は、アイテム２０８が保管ユニット２１０に保管されるＦＣ ２００の領域であってもよい。いくつかの実施形態では、貯蔵ユニット２１０が物理的な棚、本棚、箱、運搬箱、冷蔵庫、冷凍庫、冷蔵庫などのうちの１つまたは複数を含むことができる。いくつかの実施形態では、ピッキングゾーン２０９が複数のフロアに編成されてもよい。いくつかの実施形態では、作業員または機械が例えば、フォークリフト、エレベータ、コンベアベルト、カート、ハンドトラック、台車、自動ロボットもしくはデバイス、または手動を含む多数の方法で、ピッキングゾーン２０９内にアイテムを移動させることができる。例えば、ピッカーは、アイテム２０２Ａおよび２０２Ｂを降下ゾーン２０７の手押し車または台車に載せ、アイテム２０２Ａおよび２０２Ｂをピッキングゾーン２０９まで歩くことができる。
【００５８】
ピッカーは、保管ユニット２１０上の特定の空間のようなピッキングゾーン２０９内の特定のスポットにアイテムを配置する（又は「収納する」）命令を受け取ることができる。例えば、ピッカーはモバイルデバイス（例えば、デバイス１１９Ｂ）を使用してアイテム２０２Ａを走査することができる。デバイスは例えば、通路、棚、及び位置を示す装置を使用して、ピッカーがアイテム２０２Ａを収納すべき場所を示すことができる。次に、デバイスはアイテム２０２Ａをその位置に格納する前に、その位置でバーコードを走査するようにピッカーを促すことができる。デバイスは（例えば、ワイヤレスネットワークを介して）図１ＡのＷＭＳ １１９のようなコンピュータシステムにデータを送信し、アイテム２０２Ａがデバイス１１９Ｂを使用してユーザによってその位置に格納されたことを示すことができる。
【００５９】
ユーザが注文を置くと、ピッカーは、保管ユニット２１０から１つまたは複数のアイテム２０８を取り出すための命令をデバイス１１９Ｂ上で受け取ることができる。ピッカーはアイテム２０８を取り出し、アイテム２０８上のバーコードを走査し、それを搬送メカニズム２１４上に置くことができる。搬送機構２１４はスライドとして表されているが、いくつかの実施形態では搬送機構がコンベヤーベルト、エレベータ、カート、フォークリフト、ハンドトラック、台車、カートなどのうちの１つまたは複数として実施することができる。次いで、アイテム２０８は、充填領域２１１に到達することができる。
【００６０】
パッキングゾーン２１１は、アイテムがピッキングゾーン２０９から受け取られ、最終的に顧客に出荷するためにボックスまたはバッグにパッキングされる、ＦＣ ２００の領域であってもよい。パッキングゾーン２１１において、受信アイテム（「リビン(ｒｅｂｉｎ)作業員」）に割り当てられた作業員はピッキングゾーン２０９からアイテム２０８を受信し、それがどの注文に対応するかを決定する。例えば、リビン(ｒｅｂｉｎ)作業員はアイテム２０８上のバーコードを走査するために、コンピュータ１１９Ｃなどのデバイスを使用することができる。コンピュータ１１９Ｃはどの注文アイテム２０８が関連付けられているかを視覚的に示すことができる。これは例えば、注文に対応する壁面２１６上の空間または「セル」を含むことができる。注文が完了すると（例えば、セルが注文のためのすべてのアイテムを含むため）、リビン(ｒｅｂｉｎ)作業員は、注文が完了したことをパッキング作業員（または「パッカー」）に示すことができる。梱包業者はセルからアイテムを回収し、輸送のために箱または袋に入れることができる。その後、パッカーは例えば、フォークリフト、カート、ドリー、ハンドトラック、コンベヤーベルトを介して、又は他の方法で、箱又はバッグをハブゾーン２１３に送ることができる。
【００６１】
ハブゾーン２１３は、パッキングゾーン２１１から全てのボックスまたはバッグ（「荷物」）を受け取るＦＣ ２００の領域であってもよい。ハブゾーン２１３内の作業員および／またはマシンは荷物２１８を検索し、それぞれの荷物が行こうとする配送領域の一部を決定し、荷物を適切なキャンプゾーン２１５にルーティングすることができる。例えば、配送領域が２つのより小さいサブ領域を有する場合、荷物は２つのキャンプゾーン２１５のうちの１つに進む。いくつかの実施形態では、作業員またはマシンが（例えば、デバイス１１９Ａ〜１１９Ｃのうちの１つを使用して）荷物を走査して、その最終的な宛先を決定することができる。荷物をキャンプゾーン２１５にルーティングすることは、例えば、荷物が向けられている地理的エリアの一部を（例えば、郵便番号に基づいて）決定することと、地理的エリアの一部に関連付けられたキャンプゾーン２１５を決定することとを含むことができる。
【００６２】
キャンプゾーン２１５はいくつかの実施形態では１つまたは複数の建物、１つまたは複数の物理的な空間、または１つまたは複数のエリアを備えることができ、荷物は、ルートおよび／またはサブルートに分類するためにハブゾーン２１３から受け取られる。いくつかの実施形態ではキャンプゾーン２１５がＦＣ ２００から物理的に分離されているが、他の実施形態ではキャンプゾーン２１５がＦＣ ２００の一部を形成することができる。
【００６３】
キャンプゾーン２１５内の作業員および／またはマシンは例えば、目的地と現存するルートおよび／またはサブルートとの照合、ルートおよび／またはサブルートごとの作業負荷の算出、時刻、出荷方法、荷物２２０を出荷する費用、荷物２２０内のアイテムに関連付けられたＰＤＤなどに基づいて、荷物２２０がどのルートおよび／またはサブルートに関連付けられるべきかを決定することができる。いくつかの実施形態では、作業員またはマシンが（例えば、デバイス１１９Ａ〜１１９Ｃのうちの１つを使用して）荷物を走査して、その最終的な宛先を決定することができる。荷物２２０が特定のルートおよび／またはサブルートに割り当てられると、作業員および／またはマシンは、出荷される荷物２２０を移動させることができる。例示的な図２において、キャンプゾーン２１５は、トラック２２２、かご２２６、および配送作業員２２４Ａおよび２２４Ｂを含む。いくつかの実施形態では、トラック２２２が配送作業員２２４Ａによって駆動されてもよく、配送作業員２２４ＡはＦＣ ２００の荷物を配信する常勤の従業員であり、トラック２２２はＦＣ ２００を所有し、リースし、または運営する同じ企業によって所有され、リースされ、または運営される。いくつかの実施形態では、自動車２２６が配送作業員２２４Ｂによって駆動されてもよく、ここで、配送作業員２２４Ｂは必要に応じて（例えば、季節的に）送達する「フレックス」または時折の作業員である。自動車２２６は、配送作業員２２４Ｂによって所有され、リースされ、または操作され得る。
【００６４】
図３を参照すると、製品の推奨を提供するためのシステムの例示的な実施形態を示す概略ブロック図が示されている。図３に示されるように、システム３００は、製品推奨システム３０１と、サーバ３０３と、データベース３０４とを含んでいてもよく、各々がネットワーク３０２を介して相互に通信し得る。いくつかの実施形態では、製品推奨システム３０１および／またはサーバ３０３は、例えば、ケーブルを使用した直接接続を介して相互に、またシステム３００のその他の構成要素と通信し得る。いくつかの他の実施形態では、システム３００は、図１Ａのシステム１００の一部であってもよく、ネットワーク３０２を介して、または、例えば、ケーブルを使用した直接接続を介してシステム１００のその他の構成要素（例えば、外部フロントエンドシステム１０３や内部フロントエンドシステム１０５）と通信し得る。製品推奨システム３０１および／またはサーバ３０３は、単一のコンピュータを各々含んでいてもよく、または開示の例と関連付けられたプロセスおよび機能のうちの１つもしくは複数を行うために相互運用する複数のコンピュータを含む分散コンピュータシステムとして各々構成されてもよい。
【００６５】
図３に示されるように、製品推奨システム３０１は、プロセッサ３０５とメモリ３０７とを含み得る。プロセッサ３０５は、Ｉｎｔｅｌ（商標）製のＰｅｎｔｉｕｍ（商標）ファミリまたはＡＭＤ（商標）製のＴｕｒｉｏｎ（商標）ファミリからのマイクロプロセッサなどの、１つまたは複数の公知の処理デバイスであり得る。プロセッサ３０５は、並列プロセスを同時に実行するシングルコアプロセッサまたはマルチコアプロセッサを構成し得る。例えば、プロセッサ３０５は、論理プロセッサを使用して複数のプロセスを同時に実行および制御し得る。プロセッサ３０５は、仮想マシン技術または他の公知の技術を実施して、複数のソフトウェアプロセス、アプリケーション、プログラムなどを実行したり、制御したり、動作させたり、操作したり、格納したりする能力を提供し得る。別の例では、プロセッサ３０５は、並列処理機能を提供して、製品推奨システム３０１および／またはサーバ３０３が複数のプロセスを同時に実行できるようにするように構成されたマルチコアプロセッサ構成を含み得る。本明細書で開示される能力を提供する他のタイプのプロセッサ構成も実装できることを当業者は理解するであろう。
【００６６】
メモリ３０７は、プロセッサ３０５によって実行されると公知のオペレーティングシステム機能を行う１つまたは複数のオペレーティングシステムを格納し得る。例として、オペレーティングシステムには、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ、Ｕｎｉｘ、Ｌｉｎｕｘ、Ａｎｄｒｏｉｄ、Ｍａｃ  ＯＳ、ｉＯＳ、または他のタイプのオペレーティングシステムが含まれ得る。したがって、開示の発明の例は、任意のタイプのオペレーティングシステムを動作させるコンピュータシステムで動作および機能し得る。メモリ３０７は、揮発性もしくは不揮発性、磁気、半導体、テープ、光学式、リムーバブル、非リムーバブル、または他のタイプの記憶デバイスまたは有形のコンピュータ可読媒体であり得る。
【００６７】
データベース３０４は、例えば、Ｏｒａｃｌｅ（商標）データベース、Ｓｙｂａｓｅ（商標）データベース、もしくはその他のリレーショナルデータベース、または、Ｈａｄｏｏｐ（商標）シーケンスファイル、ＨＢａｓｅ（商標）、もしくはＣａｓｓａｎｄｒａ（商標）などの非リレーショナルデータベースを含み得る。データベース３０４は、（１つまたは複数の）データベースのメモリデバイスに格納されたデータを求める要求を受け取って処理し、（１つまたは複数の）データベースからデータを提供するように構成された計算構成要素（例えば、データベース管理システム、データベースサーバなど）を含み得る。データベース３０４は、ＨＢａｓｅ、ＭｏｎｇｏＤＢ（商標）またはＣａｓｓａｎｄｒａ（商標）などのＮｏＳＱＬデータベースを含み得る。あるいは、データベース３０４は、Ｏｒａｃｌｅ、ＭｙＳＱＬ、およびＭｉｃｒｏｓｏｆｔ  ＳＱＬ  Ｓｅｒｖｅｒなどのリレーショナルデータベースを含んでいてもよい。いくつかの実施形態では、データベース３０４は、サーバ、汎用コンピュータ、メインフレームコンピュータ、またはこれらの構成要素の任意の組み合わせの形を取り得る。
【００６８】
データベース３０４は、プロセッサ３０５によって開示の例と関連付けられた方法およびプロセスを行うために使用され得るデータを格納し得る。図３は製品推奨システム３０１の外部のデータベース３０４を示しているが、データベース３０４は、製品推奨システム３０１内に位置していてもよい。いくつかの実施形態では、システム３００は、複数のデータベース３０４を含み得る。データベース３０４に格納されたデータは、製品を推奨するために使用できる製品および／またはユーザと関連付けられた任意の適切なデータを含み得る。例えば、データベース３０４に格納されたデータは、製品タイプ名、製品タイプのキーワード、関連または同義の製品タイプのキーワード、製品名、製品画像、製品ブランド、製品の説明、製品製造者名、製品カテゴリ情報、製品と関連付けられた（１つまたは複数の）検索タグ、製品属性情報などといった、製品と関連付けられた特徴を含み得る。加えて、データベース３０４に格納されたデータは、ユーザ名、ユーザログイン情報、ユーザの購入履歴、ユーザの興味、ユーザの好み、ユーザの活動履歴などといった、顧客の特徴またはユーザと関連付けられた特徴も含み得る。いくつかの実施形態では、データベース３０４に格納されたデータは、例えば、製品の推奨を提供するために機械学習モデルを訓練する訓練データとして使用され得る。したがって、製品推奨システム３０１は、ネットワーク３０２を介してデータベース３０４と通信して、データベース３０４に格納された訓練データを使用して１つまたは複数の機械学習モデルおよび／またはアルゴリズムを訓練し得る。加えて、または代替として、そのような訓練データは、データベース３０４などの外部データベースではなく、製品推奨システム３０１に直接格納されてもよい。
【００６９】
システム３００はサーバ３０３も含み得る。サーバ３０３はウェブサーバであり得る。サーバ３０３は、例えば、ハードウェア（例えば、１つもしくは複数のコンピュータ）および／または、例えば、インターネットなどのネットワーク（例えば、ネットワーク３０２）を介してユーザがアクセスできるウェブコンテンツを配信するソフトウェア（例えば、１つもしくは複数のアプリケーション）を含み得る。サーバ３０３は、例えば、ハイパーテキスト転送プロトコル（ＨＴＴＰまたはｓＨＴＴＰ）を使用してユーザと通信し得る。ユーザに配信されるウェブページは、テキストコンテンツに加えて、例えば、画像、スタイルシート、およびスクリプトを含み得るＨＴＭＬ文書を含み得る。
【００７０】
例えば、ウェブブラウザ、ウェブクローラ、またはネイティブモバイルアプリケーションなどのユーザプログラムが、ＨＴＴＰを使用して特定のリソースを求める要求を行うことによって通信を開始してもよく、サーバ３０３は、そのリソースのコンテンツで応答するか、またはそうできない場合にはエラーメッセージで応答し得る。サーバ３０３はまた、ユーザが、例えば、ファイルのアップロードを含めて、ウェブフォームを送信できるように、ユーザからのコンテンツの受信を可能にするか、または円滑化してもよい。サーバ３０３はまた、例えば、Ａｃｔｉｖｅ  Ｓｅｒｖｅｒ  Ｐａｇｅｓ（ＡＳＰ）、ＰＨＰ、またはその他のスクリプト言語を使用するサーバ側のスクリプティングもサポートし得る。したがって、実際のサーバソフトウェアは不変のままで、サーバ３０３の挙動を別個のファイルに書くことができる。
【００７１】
他の実施形態では、サーバ３０３はアプリケーションサーバであってもよく、アプリケーションサーバは、その適用されたアプリケーションをサポートするための手順（例えば、プログラム、ルーチン、スクリプト）の効率的な実行に専用に割り当てられたハードウェアおよび／またはソフトウェアを含み得る。サーバ３０３は、例えば、Ｊａｖａアプリケーションサーバ（例えば、Ｊａｖａ  ｐｌａｔｆｏｒｍ，Ｅｎｔｅｒｐｒｉｓｅ  Ｅｄｉｔｉｏｎ（Ｊａｖａ  ＥＥ）、Ｍｉｃｒｏｓｏｆｔ（登録商標）の．ＮＥＴフレームワーク、ＰＨＰアプリケーションサーバ等）を含む、１つまたは複数のアプリケーションサーバフレームワークを含み得る。様々なアプリケーションサーバフレームワークは、包括的なサービスレイヤモデルを含み得る。サーバ３０３は、プラットフォーム自体によって定義されたアプリケーションプログラミングインターフェース（ＡＰＩ）を介して、例えば、システム１００を実施するエンティティからアクセス可能な構成要素のセットとして機能し得る。
【００７２】
いくつかの実施形態では、製品推奨システム３０５の１つまたは複数のプロセッサ３０５は、データベース３０４に格納された訓練データを使用して、製品および／または顧客の特徴と関連付けられたコンテキスト情報に基づく製品の推奨を生成する１つまたは複数の機械学習モデルを生成し得る。例えば、１つまたは複数のプロセッサ３０５は、サーバ３０３を介して、データベース３０４に格納された、ユーザの購入履歴、ユーザの好み、ユーザの興味等といった顧客の特徴を取得して、推奨された場合にユーザが購入する可能性の高い１つまたは複数の製品を予測し得る。
【００７３】
いくつかの実施形態では、１つまたは複数のプロセッサ３０５は、ユーザのログインセッション履歴にアクセスしてもよく、ユーザのログインセッション履歴は、ユーザが以前にクリックまたは検索したことのある製品などの情報を含み得る。例えば、ユーザのログインセッション履歴は、ユーザの以前のログインセッションでユーザがクリックした一連の製品のリストを含み得る。１つまたは複数のプロセッサ３０５は、一連の製品の各々と関連付けられた製品タイプを決定し、製品タイプのシーケンスを識別し得る。１つまたは複数のプロセッサ３０５は、１つまたは複数のユーザの以前のログインセッションにアクセスして、頻繁に出現した製品タイプのシーケンスを識別し得る。ユーザのログインセッションに頻繁に出現した製品タイプの識別されたシーケンスに基づいて、１つまたは複数のプロセッサ３０５は、ユーザに推奨すべき製品のカテゴリおよび／またはタイプを決定し得る。
【００７４】
いくつかの実施形態では、１つまたは複数のプロセッサ３０５はまた、データベース３０４に、ユーザのフィードバック情報も格納し得る。例えば、ユーザに製品の推奨を提供した後、１つまたは複数のプロセッサ３０５は、推奨された製品と関連付けられたユーザのクリック率、ユーザが推奨された製品を購入したかどうか等といった、ユーザのリアルタイムのフィードバックを監視し得る。ユーザのリアルタイムのフィードバックを監視することによって、１つまたは複数のプロセッサ３０５は、製品の推奨の実際のパフォーマンスを決定し得る。ユーザのリアルタイムのフィードバックおよび製品の推奨の実際のパフォーマンスと関連付けられたデータが、データベース３０４に格納され、１つまたは複数のプロセッサ３０５によって、改善およびパーソナル化された製品の推奨を提供するよう機械学習モデルを訓練するために使用され得る。
【００７５】
他の実施形態では、１つまたは複数のプロセッサ３０５は、機械学習モデルを使用して、推奨されるべき製品ごとのスコアを生成し得る。スコアは、製品とユーザとの関係の強さ（例えば、推奨された場合にユーザが製品を購入する可能性がどの程度か）を示し得る。製品ごとに生成されたスコアに基づいて、１つまたは複数のプロセッサ３０５は、推奨されるべき製品を自動的にランク付けし得る。次いで、１つまたは複数のプロセッサ３０５は、ユーザのユーザデバイス上にランク付けされた製品のうちのいくつかを表示し得る。他の実施形態では、機械学習モデルは、ユーザの好み、ユーザの興味、ユーザの購入履歴、ユーザのリアルタイムのフィードバック、製品の入手可能性、製品割引、または製品およびユーザと関連付けられた任意の他の情報の変化に基づいて調整され得る。したがって、機械学習モデルをリアルタイムで更新することができ、製品ごとに生成されたスコアがリアルタイムで更新され、ユーザに推奨されるべき製品のランク付けがリアルタイムで更新され得る。
【００７６】
システム３００はネットワーク３０２も含み得る。ネットワーク３０２は、無線ネットワーク、有線ネットワークまたは無線ネットワークと有線ネットワークとの組み合わせのうちの１つまたは複数であり得る。例えば、ネットワーク３０２は、光ファイバネットワーク、パッシブ光ネットワーク、ケーブルネットワーク、インターネットネットワーク、衛星ネットワーク、無線ＬＡＮ、グローバル・システム・フォー・モバイル・コミュニケーションズ（「ＧＳＭ」）、パーソナル通信サービス（「ＰＣＳ」）、パーソナルエリアネットワーク（「ＰＡＮ」）、Ｄ−ＡＭＰＳ、Ｗｉ−Ｆｉ、固定無線データ、ＩＥＥＥ８０２．１１ｂ、８０２．１５．１、８０２．１１ｎおよび８０２．１１ｇまたはデータを送信および受信するための任意の他の有線もしくは無線ネットワークのうちの１つまたは複数を含み得る。
【００７７】
加えて、ネットワーク３０２は、電話回線、光ファイバ、ＩＥＥＥイーサネット８０２．３、広域ネットワーク（「ＷＡＮ」）、ローカルエリアネットワーク（「ＬＡＮ」）、またはインターネットなどのグローバルネットワークも含み得るがこれに限定されない。またネットワーク３０２は、インターネットネットワーク、無線通信ネットワーク、セルラーネットワーク等、またはそれらの任意の組み合わせもサポートし得る。ネットワーク３０２はさらに、独立型のネットワークとしてまたは相互に協調して動作する、上記の例示的なタイプのネットワークのうちの１つのネットワークまたは任意の数のネットワークを含み得る。ネットワーク３０２は、通信可能に結合された１つまたは複数のネットワーク要素の１つまたは複数のプロトコルを利用し得る。ネットワーク３０２は、他のプロトコルに、または他のプロトコルからネットワークデバイスの他の１つまたは複数のプロトコルに変換し得る。ネットワーク３０２は単一のネットワークとして図示されているが、１つまたは複数の実施形態によれば、ネットワーク３０２は、例えば、インターネット、サービスプロバイダのネットワーク、ケーブルテレビネットワーク、企業ネットワーク、およびホームネットワークなどの、複数の相互接続されたネットワークを含み得ることを理解されたい。
【００７８】
図４は、製品の推奨を提供するためのシステム４００の例示的な実施形態の構成要素を示す概略ブロック図である。システム４００は、クエリハンドラクラスタ４０１と、検索クラスタ４０２と、ＡＰＩサーバ４０３と、データベース４０４と、非リレーショナルデータベース４０５とを含み得る。システム４００の１つまたは複数の構成要素は、図３の生産推奨システム３０１において実施され得る。例えば、クエリハンドラクラスタ４０１、検索クラスタ４０２、および非リレーショナルデータベース４０５は、図３の生産推奨システム３０１内で実施され得る。加えて、または代替として、データベース４０４および／またはＡＰＩサーバ４０３が図３の生産推奨システム３０１内で実施されてもよい。加えて、または代替として、データベース４０４が図３のデータベース３０４として実施されてもよく、ＡＰＩサーバ４０３が図３のサーバ３０３として実施されてもよい。
【００７９】
データベース４０４は、例えば、Ｓｐａｒｋ（商標）データベース、機械学習データベース、Ｈｉｖｅ（商標）データベース、ＴｅｎｓｏｒＦｌｏｗデータセット、Ｏｒａｃｌｅ（商標）データベース、Ｓｙｂａｓｅ（商標）データベース、もしくはその他のリレーショナルデータベース、または、Ｈａｄｏｏｐ（商標）シーケンスファイル、ＨＢａｓｅ（商標）、もしくはＣａｓｓａｎｄｒａ（商標）などの非リレーショナルデータベースを含み得る。データベース４０４は、（１つまたは複数の）データベースのメモリデバイスに格納されたデータを求める要求を受け取って処理し、（１つまたは複数の）データベースからデータを提供するように構成された計算構成要素（例えば、データベース管理システム、データベースサーバなど）を含み得る。データベース４０４は、ＨＢａｓｅ、ＭｏｎｇｏＤＢ（商標）またはＣａｓｓａｎｄｒａ（商標）などのＮｏＳＱＬデータベースを含み得る。あるいは、データベース４０４は、Ｏｒａｃｌｅ、ＭｙＳＱＬ、およびＭｉｃｒｏｓｏｆｔ  ＳＱＬ  Ｓｅｒｖｅｒなどのリレーショナルデータベースを含んでいてもよい。いくつかの実施形態では、データベース４０４は、サーバ、汎用コンピュータ、メインフレームコンピュータ、またはこれらの構成要素の任意の組み合わせの形を取り得る。
【００８０】
データベース４０４は、製品を推奨するために使用できる製品と関連付けられたデータを格納し得る。例えば、データベース４０４に格納されたデータは、製品タイプ名、製品タイプのキーワード、関連または同義の製品タイプのキーワード、製品名、製品画像、製品ブランド、製品の説明、製品製造者名、製品カテゴリ情報、製品と関連付けられた（１つまたは複数の）検索タグ、製品属性情報、製品の評価（例えば、製品と関連付けられた顧客の評価）などといった、製品と関連付けられた特徴を含み得る。
【００８１】
加えて、データベース４０４は、製品間の関係情報も格納し得る。例えば、ユーザが製品の検索問い合わせを送信すると、データベース４０４は、ユーザによって検索された製品に関連した製品と関連付けられた情報を格納し得る。例として、データベース４０４は、製品に関連した、製品の検索問い合わせに基づいてユーザに推奨されるべき製品のリストを含むルックアップテーブルを含み得る。
【００８２】
いくつかの実施形態では、非リレーショナルデータベース４０５は、例えば、Ｈａｄｏｏｐ（商標）シーケンスファイル、ＨＢａｓｅ（商標）、またはＣａｓｓａｎｄｒａ（商標）を含み得る。非リレーショナルデータベース４０５は、（１つまたは複数の）データベースのメモリデバイスに格納されたデータを求める要求を受け取って処理し、（１つまたは複数の）データベースからデータを提供するように構成された計算構成要素（例えば、データベース管理システム、データベースサーバなど）を含み得る。非リレーショナルデータベース４０５は、ＨＢａｓｅ、ＭｏｎｇｏＤＢ（商標）またはＣａｓｓａｎｄｒａ（商標）などのＮｏＳＱＬデータベースを含み得る。いくつかの実施形態では、非リレーショナルデータベース４０５は、サーバ、汎用コンピュータ、メインフレームコンピュータ、またはこれらの構成要素の任意の組み合わせの形を取り得る。
【００８３】
非リレーショナルデータベース４０５は、製品と関連付けられた特徴を整理された形式で格納し得る。例えば、非リレーショナルデータベース４０５は、データベース４０４から、製品タイプ名、製品タイプのキーワード、関連または同義の製品タイプのキーワード、製品名、製品画像、製品ブランド、製品の説明、製品製造者名、製品カテゴリ情報、製品と関連付けられた（１つまたは複数の）検索タグ、製品属性情報、製品の評価（例えば、製品と関連付けられた顧客の評価）、関連製品、関連製品カテゴリ、関連製品画像、ユーザフィードバックスコア、製品価格、製品レビュー、または製品割引などといった製品と関連付けられた特徴を取得し得る。その後、非リレーショナルデータベース４０５は、製品と関連付けられた特徴にインデックスを付け、列に格納し得る。例えば、各行は製品を表し、各列は、製品と関連付けられた特徴を表し得る。したがって、非リレーショナルデータベース４０５は、製品の行と、各製品と関連付けられた様々な特徴の列とを含み得る。
【００８４】
いくつかの実施形態では、特徴は、各製品と関連付けられた１つまたは複数のフィルタを決定するために逆インデックスを付けられ得る。各製品と関連付けられた１つまたは複数のフィルタを決定するために特徴に逆インデックスを付けることによって、１つまたは複数のプロセッサ３０５は、各製品と関連付けられた他の関連製品を識別することができる可能性がある。例えば、逆インデックスを付けることによって、１つまたは複数のプロセッサ３０５は、製品対製品の関係を決定し、どの製品の検索が製品ごとの推奨を返すことになるかを識別できる可能性がある。
【００８５】
システム４００は、クエリハンドラクラスタ４０１も含み得る。クエリハンドラクラスタ４０１は、ユーザの検索問い合わせと関連付けられたコンテキストを定義するように構成され得る。例えば、製品推奨システム３０１の１つまたは複数のプロセッサ３０５がユーザから検索問い合わせを受信すると、クエリハンドラクラスタ４０１は、検索クラスタ４０２が検索問い合わせと関連付けられた製品に関連した製品のリストを識別できるようにするために、検索問い合わせと関連付けられたコンテキスト情報を識別し得る。コンテキスト情報は、例えば、検索問い合わせと関連付けられた製品、検索問い合わせのタイムスタンプ、検索問い合わせと関連付けられた製品カテゴリ、検索問い合わせと関連付けられたユーザ情報等を含み得る。クエリハンドラクラスタ４０１は、検索問い合わせと関連付けられたコンテキスト情報を識別し、ユーザに推奨されるべき１つまたは複数の製品を決定するコンテキストを定義するように構成され得る。例として、ユーザが調理鍋を検索する場合、クエリハンドラクラスタ４０１は、製品は調理鍋であり、製品カテゴリは台所用品であり、製品価格帯は約３０〜５０ドルであるなどと識別し得る。次いで、クエリハンドラクラスタ４０１は、検索クラスタ４０２が、調理鍋と一緒に買うことができ、概ね約３０〜５０ドルの価格帯である他の台所用品を推奨し得るように、検索問い合わせと関連付けられたコンテキストを定義し得る。
【００８６】
加えて、または代替として、クエリハンドラクラスタ４０１は、例えば、ＡＰＩサーバ４０３から顧客の特徴を取得するように構成されてもよい。他の実施形態では、クエリハンドラクラスタ４０１は、図３のデータベース３０４またはデータベース４０４からリアルタイムの顧客の特徴を取得するように構成され得る。顧客の特徴は、ユーザの検索履歴（例えば、ユーザによって検索および／または表示された製品）、ユーザの購入履歴（例えば、ユーザによって購入された製品）、ユーザの製品の好み、ユーザの価格の好み、またはユーザのブランドの好みを含むがこれに限定されない、検索問い合わせのユーザと関連付けられた情報を含み得る。顧客の特徴を取得した後、クエリハンドラクラスタ４０１は、ユーザと関連付けられた顧客の特徴に基づいてユーザの検索問い合わせと関連付けられた定義されたコンテキストをフィルタリングおよび改善するように構成され得る。例えば、調理鍋を検索しているユーザが少なくとも３０％割引された製品を好む場合、クエリハンドラクラスタ４０１は、ユーザの割引製品の好みに基づいて検索問い合わせと関連付けられたコンテキストをさらに定義し得る。したがって、検索クラスタ４０２によってユーザに推奨されるべき製品のリストは、割引製品のみを含むようにさらにフィルタリングおよび改善され得る。
【００８７】
システム４００は検索クラスタ４０２も含み得る。検索クラスタ４０２は、クエリハンドラクラスタ４０１によって定義されたコンテキストを取得し、定義されたコンテキスト内の１つまたは複数の製品を識別するようにさらに構成され得る。検索クラスタ４０２は、非リレーショナルデータベース４０５に格納された整理された製品の特徴も取得し得る。クエリハンドラクラスタ４０１によって定義されたコンテキストおよび非リレーショナルデータベース４０５内の製品と関連付けられた特徴に基づいて、検索クラスタ４０２は、定義されたコンテキスト内の、または定義されたコンテキストと関連付けられた１つまたは複数の製品を識別するように構成され得る。例えば、調理鍋を検索しているユーザについて、検索クラスタ４０２はまず、非リレーショナルデータベース４０５を検索し、特徴「台所用品」（例えば、製品カテゴリ内の）、調理鍋（例えば、製品名）等と関連付けられた他の製品を識別し得る。他の製品を識別した後、検索クラスタ４０２は、検索された製品のブランド、検索された製品の価格などといった、ユーザの検索問い合わせの製品と関連付けられた他の特徴に基づいて、識別された製品のリストをフィルタリングし得る。例えば、ユーザによって検索された製品は３０〜５０ドルの価格帯であったため、検索クラスタ４０２は、３０〜５０ドルの価格帯内の製品のみを表示するよう識別された製品のリストをフィルタリングし得る。さらに、検索クラスタ４０２は、ユーザの割引製品の好みなどの、ユーザと関連付けられた情報に基づいて識別された製品をさらにフィルタリングし得る。したがって、検索クラスタ４０２は、識別された製品のリストを、３０〜５０ドルの価格帯内の、割引された、またはセールの製品のみを表示するようさらに絞り込み得る。
【００８８】
他の実施形態では、検索クラスタ４０２は、定義されたコンテキスト内の製品をランク付けするように構成され得る。いくつかの実施形態では、検索クラスタ４０２は、製品ごとに生成されたスコアに基づいて製品をランク付けするように構成され得る。下記のように、スコアは、識別された製品を製品がユーザに推奨されるべき順序で自動的にランク付けする機械学習モデルを使用して、製品ごとに生成され得る。スコアは、推奨された場合にユーザが製品をクリック、閲覧、および／または購入することになる確率を示し得る。したがって、製品について生成されたスコアが高いほど、推奨されたときにユーザが製品をクリック、閲覧、および／または購入する可能性が高くなる。いくつかの実施形態では、スコアを生成し、製品をランク付けするために使用される機械学習モデルは、ユーザに推奨された製品と関連付けられたユーザフィードバック情報を使用して訓練され得る。例えば、１つまたは複数のプロセッサ３０５は、ユーザが１つまたは複数の製品を推奨されたときのユーザのリアルタイムのフィードバック情報を監視し得る。ユーザのリアルタイムのフィードバック情報は、各製品と関連付けられたクリック率を監視すること、各製品と関連付けられた売上高を監視すること等によって監視され得る。したがって、１つまたは複数の製品がユーザに推奨され、ユーザが推奨された１つまたは複数の製品のうちのいくつかをクリック、閲覧、および／または購入したときに、１つまたは複数のプロセッサ３０５は、ユーザのフィードバック情報に基づいて製品の推奨の実際のパフォーマンスを決定し得る。例えば、フライパンについてのユーザの検索問い合わせに基づいてユーザにトライベット、オーブンミトン、および調理鍋が推奨され、ユーザが調理鍋をクリックし、調理鍋を購入した場合、１つまたは複数のプロセッサ３０５は、フライパンについての製品の推奨の実際のパフォーマンスは、オーブンミトンまたはトライベットについての製品の推奨の実際のパフォーマンスよりも高かったと判断し得る。製品の推奨についてのユーザのリアルタイムのフィードバック情報に基づいて、１つまたは複数のプロセッサ３０５は、製品の推奨と関連付けられたパフォーマンスを予測するように機械学習モデルを訓練し得る。したがって、製品の推奨と関連付けられたパフォーマンスに基づいて、機械学習モデルは、ユーザに推奨されるべき製品を自動的にランク付けするように構成され得る。
【００８９】
システム４００は、ＡＰＩサーバ４０３をさらに含み得る。ＡＰＩサーバ４０３は、その適用されたアプリケーションをサポートするための手順（例えば、プログラム、ルーチン、スクリプト）の効率的な実行に専用に割り当てられたハードウェアおよび／またはソフトウェアを含み得る。ＡＰＩサーバ４０３は、例えば、Ｊａｖａアプリケーションサーバ（例えば、Ｊａｖａ  ｐｌａｔｆｏｒｍ，Ｅｎｔｅｒｐｒｉｓｅ  Ｅｄｉｔｉｏｎ（Ｊａｖａ  ＥＥ）、Ｍｉｃｒｏｓｏｆｔ（登録商標）の．ＮＥＴフレームワーク、ＰＨＰアプリケーションサーバ等）を含む、１つまたは複数のアプリケーションサーバフレームワークを含み得る。様々なアプリケーションサーバフレームワークは、包括的なサービスレイヤモデルを含み得る。サーバ３０３は、プラットフォーム自体によって定義されたＡＰＩを介して、例えば、システム１００を実施するエンティティからアクセス可能な構成要素のセットとして機能し得る。１つまたは複数のプロセッサ３０５は、ユーザのデバイスのユーザインターフェース上に、ＡＰＩサーバ４０３を介して、製品の推奨を表示するように構成され得る。例えば、１つまたは複数のプロセッサ３０５は、ＡＰＩサーバ４０３を介してクエリハンドラクラスタ４０１および検索クラスタ４０２によって識別された製品の推奨を受け取り、製品の推奨をユーザのデバイス上に表示し得る。
【００９０】
例えば、図５に、製品の推奨が表示されたユーザデバイス５００の例示的な実施形態を示す。図５に示される例示的な実施形態を参照すると、１つまたは複数のプロセッサ３０５が「チーズ」についてのユーザ検索問い合わせ５０２を受け取ると、１つまたは複数のプロセッサ３０５は、製品検索の結果５０３を表示し得る。加えて、１つまたは複数のプロセッサ３０５は、非リレーショナルデータベース４０５から「チーズ」についての検索問い合わせ５０２と関連付けられた１つまたは複数の特徴を受信し得る。上記のように、クエリハンドラクラスタ４０１を使用して、１つまたは複数のプロセッサ３０５は、「チーズ」についての検索問い合わせ５０２と関連付けられたコンテキストを定義し得る。例えば、１つまたは複数のプロセッサ３０５は、検索問い合わせ５０２はチーズと関連付けられている、製品カテゴリは乳製品である、と定義し得る。加えて、１つまたは複数のプロセッサ３０５は、検索クラスタ４０２を使用して、定義されたコンテキスト内の１つまたは複数の製品を識別し得る。したがって、１つまたは複数のプロセッサ３０５は、他のタイプのチーズなど、定義されたコンテキスト内の１つまたは複数の関連製品を識別し得る。
【００９１】
加えて、または代替として、１つまたは複数のプロセッサ３０５は、検索クラスタ４０２を使用して、例えば、ユーザ情報に基づいて識別された１つまたは複数の関連製品をフィルタリングしてもよい。例として、１つまたは複数のプロセッサ３０５は、クエリハンドラクラスタ４０１を使用して、ユーザの割引製品や人気製品の好みなどの、ユーザと関連付けられた情報を取得し得る。したがって、１つまたは複数のプロセッサ３０５は、検索問い合わせ５０２と関連付けられたコンテキストを、取得されたユーザの割引製品および／または人気製品の好みで更新し得る。１つまたは複数のプロセッサ３０５は次いで、検索クラスタ４０２を使用して、ユーザの割引製品および／または人気製品の好みに基づいて識別された１つまたは複数の関連製品をフィルタリングし得る。加えて、または代替として、１つまたは複数のプロセッサ３０５は、検索クラスタ４０２を使用して、例えば、製品ごとに生成されたスコアに基づいて、フィルタリングされた製品をランク付けしてもよい。したがって、製品は、生成された最高のスコアから最低のスコアへとランク付けされ、表示され得る。
【００９２】
製品をフィルタリングおよびランク付けした後、１つまたは複数のプロセッサ３０５は、ユーザデバイス５００のユーザインターフェース５０１上に製品の推奨を表示し得る。検索問い合わせ５０２と関連付けられたユーザは割引製品および人気製品を好むので、１つまたは複数のプロセッサ３０５は、割引製品の推奨５０４および人気製品の推奨５０５を表示し得る。
【００９３】
次に図６を参照すると、機械学習モデル６０５を使用して推奨のための１つまたは複数の製品をランク付けするための方法６００の例示的な実施形態を示す図が示されている。機械学習モデル６０５は、例えば、深層学習モデル、分類モデル、決定木、または製品の推奨の実際のパフォーマンスを予測することができる任意の他の機械学習モデルを含み得る。機械学習モデル６０５は、製品と関連付けられたデータおよび／またはユーザと関連付けられたデータを使用して訓練され得る。例えば、機械学習モデル６０５は、製品の特徴および／またはユーザの特徴を使用して訓練され得る。上記のように、製品の特徴は、製品関連特徴６０１および／または製品の特徴６０２を含み得る。製品関連特徴６０１は、例えば、検索問い合わせと関連付けられたターゲット製品と１つまたは複数の関連製品との間の比較情報を含み得る。例えば、製品関連特徴６０１は、ターゲット製品と関連製品との価格差、ターゲット製品および関連製品と関連付けられたカテゴリ、ターゲット製品および関連製品と関連付けられた画像などを含み得るがこれに限定されない。製品関連特徴６０１は、ユーザのフィードバック情報も含み得る。例えば、ユーザが製品を検索し、ユーザに関連製品が推奨されると、１つまたは複数のプロセッサ３０５は、推奨された製品に対するユーザのフィードバック（例えば、ユーザが推奨された製品をクリック、閲覧、および／または購入するかどうか）をリアルタイムで監視し、フィードバック情報を製品関連特徴６０１として格納し得る。加えて、または代替として、製品の特徴６０２は、各製品と特に関連付けられた情報を含んでいてもよい。例えば、製品の特徴６０２は、特定の製品についての顧客レビューの数、製品についての顧客レビュー、製品についての顧客評価、製品と関連付けられたリアルタイムのユーザフィードバック、製品カテゴリ、製品名、製品ブランド、製品価格、製品と関連付けられた割引などを含み得る。
【００９４】
機械学習モデル６０５はまた、ユーザと関連付けられたデータを使用して訓練され得る。例えば、ユーザ関連特徴６０３および／またはユーザの特徴６０４が、機械学習モデル６０５を訓練するために使用され得る。ユーザ関連特徴６０３は、ユーザと製品との間の関係情報を含み得る。例として、ユーザ関連特徴６０３は、ユーザの製品の好み、ユーザの割引製品の好み、ユーザの製品価格の好み、ユーザの好みの製品ブランド、ユーザが頻繁に表示または購入する製品カテゴリなどを含み得る。加えて、または代替として、ユーザの特徴６０４は、各ユーザと特に関連付けられた情報を含んでいてもよい。例えば、ユーザの特徴６０４は、ユーザの興味、ユーザの性別、ユーザの年齢、ユーザの購入履歴、ユーザの検索履歴、ユーザの趣味等を含み得る。図６は、機械学習モデル６０５を訓練するために使用できる４つの異なるタイプの特徴６０１〜６０４を示しているが、機械学習モデル６０５は、他のタイプの情報を使用して訓練されてもよい。
【００９５】
機械学習モデル６０５は、製品の推奨の実際のパフォーマンスを予測するように構成され得る。例えば、ユーザが１つまたは複数の製品を推奨されたときのユーザのリアルタイムのフィードバック情報に基づいて、機械学習モデル６０５は、製品の推奨のパフォーマンスを予測するよう学習し、よって、ユーザにどの製品が推奨されるべきかを判断し得る。したがって、機械学習モデル６０５は、推奨されたときにユーザが製品をクリック、閲覧、および／または購入する可能性がどの程度かに基づいてユーザに推奨するための製品をランク付けするように訓練され得る。ユーザのリアルタイムのフィードバック情報は、各製品と関連付けられたクリック率を監視すること、各製品と関連付けられた売上高を監視すること等によって監視され得る。したがって、１つまたは複数の製品がユーザに推奨され、ユーザが推奨された１つまたは複数の製品のうちのいくつかをクリック、閲覧、および／または購入したときに、１つまたは複数のプロセッサ３０５は、ユーザのフィードバック情報に基づいて製品の推奨の実際のパフォーマンスを決定し得る。例えば、フライパンについてのユーザの検索問い合わせに基づいてユーザにトライベット、オーブンミトン、および調理鍋が推奨され、ユーザが調理鍋をクリックし、調理鍋を購入した場合、１つまたは複数のプロセッサ３０５は、フライパンについての製品の推奨の実際のパフォーマンスは、オーブンミトンまたはトライベットについての製品の推奨の実際のパフォーマンスよりも高かったと判断し得る。製品の推奨についてのユーザのリアルタイムのフィードバック情報に基づいて、１つまたは複数のプロセッサ３０５は、製品の推奨と関連付けられたパフォーマンスを予測するように機械学習モデルを訓練し得る。したがって、製品の推奨と関連付けられたパフォーマンスに基づいて、機械学習モデルは、ユーザに推奨されるべき各製品にスコア６０６を生成するように構成され得る。例えば、製品について生成されたスコアが高いほど、推奨されたときにユーザが製品をクリック、閲覧、および／または購入する可能性が高くなる。製品ごとに生成されたスコアに基づいて、１つまたは複数のプロセッサ３０５は、検索クラスタ４０２などの検索クラスタを使用して、推奨された製品を降順でランク付けし得る。したがって、１つまたは複数のプロセッサ３０５は、ユーザに推奨するためにランク付けされた製品のうちのいくつかを表示することによって製品の推奨を改善し得る。機械学習モデルを使用して１つまたは複数の特徴６０１〜６０４に基づいて推奨のために製品をランク付けすることによって、ユーザのための製品の推奨がユーザに対してよりパーソナル化され得る。
【００９６】
図７は、製品の推奨を提供するための例示的な方法７００を示す流れ図である。この例示的な方法は、例として提供されている。図７に示される方法７００を、様々なシステムの１つまたは複数の組み合わせによって実行するか、またはそれ以外の方法で行うことができる。以下で説明される方法７００は、例として、図３に示される製品推奨システム３０１によって実行されてもよく、そのシステムの様々な要素が図７の方法を説明する際に参照される。図７に示される各ブロックは、例示的な方法７００における１つまたは複数のプロセス、方法、またはサブルーチンを表す。図７を参照すると、例示的な方法７００はブロック７０１から開始し得る。
【００９７】
ブロック７０１で、１つまたは複数のプロセッサ３０５は、ユーザデバイス５００などのユーザデバイスから、特定の製品についての検索問い合わせ５０２などの検索問い合わせを受信し得る。検索問い合わせを受信した後、方法７００はブロック７０２に進み得る。ブロック７０２で、１つまたは複数のプロセッサ３０５は、クエリハンドラクラスタ４０１を使用して、検索問い合わせと関連付けられたコンテキストを定義し得る。例えば、１つまたは複数のプロセッサ３０５は、クエリハンドラクラスタ４０１を使用して、検索クラスタ４０２などの検索クラスタが、検索問い合わせと関連付けられた製品に関連した製品のリストを識別できるようにするために、検索問い合わせと関連付けられたコンテキスト情報を識別し得る。コンテキスト情報は、例えば、検索問い合わせと関連付けられた製品、検索問い合わせのタイムスタンプ、検索問い合わせと関連付けられた製品カテゴリ、検索問い合わせと関連付けられたユーザ情報等を含み得る。１つまたは複数のプロセッサ３０５は、クエリハンドラクラスタ４０１を使用して、検索問い合わせと関連付けられたコンテキスト情報を識別し、ユーザに推奨されるべき１つまたは複数の製品を決定するコンテキストを定義し得る。例として、ユーザが調理鍋を検索する場合、１つまたは複数のプロセッサ３０５は、クエリハンドラクラスタ４０１を使用して、製品は調理鍋である、製品カテゴリは台所用品である、製品価格帯は約３０〜５０ドルであるなどと識別し得る。次いで、１つまたは複数のプロセッサ３０５は、クエリハンドラクラスタ４０１を使用して、検索クラスタ４０２が、調理鍋と一緒に買うことができ、概ね約３０〜５０ドルの価格帯である他の台所用品を推奨し得るように、検索問い合わせと関連付けられたコンテキストを定義し得る。
【００９８】
加えて、または代替として、１つまたは複数のプロセッサ３０５は、クエリハンドラクラスタ４０１を使用して顧客の特徴を取得してもよい。顧客の特徴は、ユーザの検索履歴（例えば、ユーザによって検索および／または表示された製品）、ユーザの購入履歴（例えば、ユーザによって購入された製品）、ユーザの製品の好み、ユーザの価格の好み、またはユーザのブランドの好みを含むがこれに限定されない、検索問い合わせのユーザと関連付けられた情報を含み得る。顧客の特徴を取得した後、１つまたは複数のプロセッサ３０５は、ユーザと関連付けられた顧客の特徴に基づいてユーザの検索問い合わせと関連付けられた定義されたコンテキストをフィルタリングおよび改善し得る。例えば、調理鍋を検索しているユーザが少なくとも３０％割引された製品を好む場合、１つまたは複数のプロセッサ３０５は、ユーザの割引製品の好みに基づいて検索問い合わせと関連付けられたコンテキストをさらに定義し得る。したがって、ユーザに推奨されるべき製品のリストは、割引製品のみを含むようにさらにフィルタリングおよび改善され得る。
【００９９】
コンテキストを定義した後、方法７００はブロック７０３に進み、そこで１つまたは複数のプロセッサ３０５は、検索クラスタ４０２を使用して、定義されたコンテキストと関連付けられた１つまたは複数の製品を識別し得る。例えば、１つまたは複数のプロセッサ３０５は、定義されたコンテキストを取得し、検索クラスタ４０２を使用して、定義されたコンテキスト内の１つまたは複数の製品を識別し得る。１つまたは複数のプロセッサ３０５は、非リレーショナルデータベース４０５に格納された整理された製品の特徴も取得し得る。定義されたコンテキストおよび非リレーショナルデータベース４０５内の製品と関連付けられた特徴に基づいて、１つまたは複数のプロセッサ３０５は、検索クラスタ４０２を使用して、定義されたコンテキスト内の、または定義されたコンテキストと関連付けられた１つまたは複数の製品を識別し得る。例えば、調理鍋を検索しているユーザについて、１つまたは複数のプロセッサ３０５はまず、非リレーショナルデータベース４０５を検索し、特徴「台所用品」（例えば、製品カテゴリ内の）、調理鍋（例えば、製品名）等と関連付けられた他の製品を識別し得る。
【０１００】
他の製品を識別した後、方法７００はブロック７０４に進み得る。ブロック７０４で、１つまたは複数のプロセッサ３０５は、検索クラスタ４０２を使用して、データベース３０４やデータベース４０４などのデータベースに格納された１つまたは複数の製品と関連付けられた特徴に基づいて１つまたは複数の製品をフィルタリングし得る。いくつかの実施形態では、１つまたは複数のプロセッサ３０５は、検索クラスタ４０２を使用して、検索された製品のブランド、検索された製品の価格などといった、ユーザの検索問い合わせの製品と関連付けられた他の特徴に基づいて、識別された製品のリストをフィルタリングし得る。例として、ユーザによって検索された製品は３０〜５０ドルの価格帯であったため、１つまたは複数のプロセッサ３０５は、検索クラスタ４０２を使用して、３０〜５０ドルの価格帯内の製品のみを表示するよう識別された製品のリストをフィルタリングし得る。さらに、１つまたは複数のプロセッサ３０５は、検索クラスタ４０２を使用して、ユーザの割引製品の好みなどの、ユーザと関連付けられた情報に基づいて識別された製品をさらにフィルタリングし得る。したがって、１つまたは複数のプロセッサ３０５は、識別された製品のリストを、３０〜５０ドルの価格帯内の、割引された、またはセールの製品のみを表示するようさらに絞り込み得る。
【０１０１】
製品をフィルタリングした後、方法７００はブロック７０５に進み得る。ブロック７０５で、１つまたは複数のプロセッサ３０５は、検索クラスタ４０２を使用して、製品ごとに生成されたスコアに基づいて１つまたは複数の製品をランク付けし得る。他の実施形態では、１つまたは複数のプロセッサ３０５は、検索クラスタ４０２を使用して、定義されたコンテキスト内の製品をランク付けし得る。上記のように、スコアは、識別された製品を製品がユーザに推奨されるべきである順序で自動的にランク付けする機械学習モデルを使用して、製品ごとに生成され得る。スコアは、推奨された場合にユーザが製品をクリック、閲覧、および／または購入することになる確率を示し得る。したがって、製品について生成されたスコアが高いほど、推奨されたときにユーザが製品をクリック、閲覧、および／または購入する可能性が高くなる。いくつかの実施形態では、スコアを生成し、製品をランク付けするために使用される機械学習モデルは、ユーザに推奨された製品と関連付けられたユーザフィードバック情報を使用して訓練され得る。例えば、１つまたは複数のプロセッサ３０５は、ユーザが１つまたは複数の製品を推奨されたときのユーザのリアルタイムのフィードバック情報を監視し得る。ユーザのリアルタイムのフィードバック情報は、各製品と関連付けられたクリック率を監視すること、各製品と関連付けられた売上高を監視すること等によって監視され得る。したがって、１つまたは複数の製品がユーザに推奨され、ユーザが推奨された１つまたは複数の製品のうちのいくつかをクリック、閲覧、および／または購入したときに、１つまたは複数のプロセッサ３０５は、ユーザのフィードバック情報に基づいて製品の推奨の実際のパフォーマンスを決定し得る。例えば、フライパンについてのユーザの検索問い合わせに基づいてユーザにトライベット、オーブンミトン、および調理鍋が推奨され、ユーザが調理鍋をクリックし、調理鍋を購入した場合、１つまたは複数のプロセッサ３０５は、フライパンについての製品の推奨の実際のパフォーマンスは、オーブンミトンまたはトライベットについての製品の推奨の実際のパフォーマンスよりも高かったと判断し得る。製品の推奨についてのユーザのリアルタイムのフィードバック情報に基づいて、１つまたは複数のプロセッサ３０５は、製品の推奨と関連付けられたパフォーマンスを予測するように機械学習モデルを訓練し得る。したがって、製品の推奨と関連付けられたパフォーマンスに基づいて、機械学習モデルは、ユーザに推奨されるべき製品を自動的にランク付けするように構成され得る。
【０１０２】
製品をランク付けした後、方法７００はブロック７０６に進み、そこで１つまたは複数のプロセッサ３０５は、ユーザデバイス５００上に、ユーザのための製品の推奨を表示し得る。例えば、１つまたは複数のプロセッサ３０５は、ユーザデバイス５００のユーザインターフェース５０１上に製品の推奨を表示し得る。製品の推奨は、製品ごとに生成されたスコアに基づく特定の順序で表示され得る。例として、製品は、最高のスコアから最低のスコアへの順にランク付けされ、１つまたは複数のプロセッサ３０５は、推奨のための製品と、最高のスコアの製品から最低のスコアの製品への順に表示し得る。
【０１０３】
本開示はその特定の実施形態を参照して示され、説明されてきたが、本開示は修正なしに、他の環境において実施され得ることが理解されるであろう。前述の説明は、例示の目的で提示されている。これは、網羅的ではなく、開示された正確な形態または実施形態に限定されない。当業者には、開示された実施形態の仕様および実施を考慮することによって、修正および適合が明らかになるであろう。加えて、開示された実施形態の態様はメモリに格納されるものとして記載されているが、当業者はこれらの態様を、二次記憶デバイス、例えば、ハードディスクもしくはＣＤ  ＲＯＭ、または他の形態のＲＡＭもしくはＲＯＭ、ＵＳＢ媒体、ＤＶＤ、ブルーレイ、または他の光学ドライブメディアなどの他のタイプのコンピュータ可読媒体に格納することもできることを理解するであろう。
【０１０４】
記載された説明および開示された方法に基づくコンピュータプログラムは、熟練した開発者の技術の範囲内である。様々なプログラムまたはプログラムモジュールを、当業者に公知の技法のいずれかを使用して作成することができ、または既存のソフトウェアに関連して設計することができる。例えば、プログラムセクションまたはプログラムモジュールを、．Ｎｅｔ  Ｆｒａｍｅｗｏｒｋ、．Ｎｅｔ  Ｃｏｍｐａｃｔ  Ｆｒａｍｅｗｏｒｋ（およびＶｉｓｕａｌ  Ｂａｓｉｃ、Ｃなどの関連言語）、Ｊａｖａ、Ｃ＋＋、Ｏｂｊｅｃｔｉｖｅ−Ｃ、ＨＴＭＬ、ＨＴＭＬ／ＡＪＡＸの組み合わせ、ＸＭＬ、またはＪａｖａアプレットを含むＨＴＭＬで、またはそれらによって設計することができる。
【０１０５】
さらに、例示的な実施形態が本明細書で説明されてきたが、本開示に基づいて当業者によって理解されるような同等の要素、修正、省略、組み合わせ（例えば、様々な実施形態にわたる態様の）、適応、および／または変更を有する任意のおよびすべての実施形態の範囲。請求項の限定は、請求項で使用されている文言に基づいて広く解釈されるべきであり、本明細書に記載されている、または出願審査中の例に限定されない。例は、非排他的であると解釈されるべきである。さらに、開示された方法のステップは、ステップを並べ替えること、および／またはステップを挿入もしくは削除することによるものを含む、任意の方法で修正されてもよい。したがって、本明細書および例は単に例示的なものとみなされ、真の範囲および精神は以下の特許請求の範囲およびそれらの均等物の全範囲によって示されることが意図される。
【図１Ａ】
2021535457.tif 000003
【図１Ｂ】
2021535457.tif 000004
【図１Ｃ】
2021535457.tif 000005
【図１Ｄ】
2021535457.tif 000006
【図１Ｅ】
2021535457.tif 000007
【図２】
2021535457.tif 000008
【図３】
2021535457.tif 000009
【図４】
2021535457.tif 000010
【図５】
2021535457.tif 000011
【図６】
2021535457.tif 000012
【図７】
2021535457.tif 000013
【国際調査報告】
2021535457.tif 000014
2021535457.tif 000015