(57)【要約】システムは、説明的な用語の単語コーパスを含む潜在空間内における、メニューアイテムを表すメニューアイテムベクトルと、ユーザ嗜好を表す個人嗜好ベクトルとを生成することにより、利用可能なメニューアイテムについてのオンデマンド配達サービスを実装し得る。このシステムは、これらのベクトルまたは行列に基づいて、ユーザについての１組の一致するメニューアイテムを決定し、ユーザのコンピューティング装置にコンテンツデータを送信して、このコンピューティング装置に、１組の一致するメニューアイテムを、オンデマンド配達のためのお薦めの選択可能なアイテムとして表示させることができる。このシステムは、利用可能なメニューアイテムのうちの１つのメニューアイテムのユーザ選択に基づいて、各ユーザへの選択されたメニューアイテムのオンデマンド配達をコーディネートできる。
2021500684.tif 000002
【特許請求の範囲】
【請求項１】
オンデマンド配達サービスを実装するネットワークコンピュータシステムにおいて、
ネットワーク通信インターフェイスであって、１以上のネットワークを介して、（ｉ）前記オンデマンド配達サービスのユーザのコンピューティング装置、（ｉｉ）前記オンデマンド配達サービスのメニューアイテム供給元のコンピューティング装置、および（ｉｉｉ）前記オンデマンド配達サービスの輸送車輌のコンピューティング装置と接続するネットワーク通信インターフェイスと、
１以上のプロセッサと、
指示を格納した１以上のメモリリソースと
を含み、
前記指示が、前記１以上のプロセッサによって実行された際に、前記ネットワークコンピュータシステムに、
前記オンデマンド配達サービスの各前記ユーザについて、食品アイテムについての１組のユーザ嗜好を示す嗜好プロファイルを生成することと、
前記１以上のネットワークを介して、前記メニューアイテム供給元から１組の利用可能なメニューアイテムを受信することと、
各前記利用可能なメニューアイテムについて、説明的な用語の単語コーパスを含む潜在空間内におけるメニューアイテムベクトルであって、前記利用可能なメニューアイテムを表すメニューアイテムベクトルを生成することと、
各前記ユーザについて、前記潜在空間内における個人嗜好ベクトルであって、各前記ユーザの前記嗜好プロファイル内の前記１組のユーザ嗜好を表す個人嗜好ベクトルを生成することと、
各前記利用可能なメニューアイテムの前記メニューアイテムベクトル、および各前記ユーザの前記個人嗜好ベクトルに基づいて、前記１組の利用可能なメニューアイテムから、１組の一致するメニューアイテムを決定することと、
前記１以上のネットワークを介して、各前記ユーザの前記コンピューティング装置にコンテンツデータを送信し、前記コンピューティング装置に、前記１組の一致するメニューアイテムをオンデマンド配達のための選択可能なアイテムとして表示させることと、
前記１以上のネットワークを介して、各前記ユーザの前記コンピューティング装置から、前記利用可能なメニューアイテムのうちの１つのメニューアイテムのユーザ選択を示す選択データを受信することと、
前記選択データを受信したことに応答して、前記輸送車輌のうちの１以上の輸送車輌とのネットワーク通信を介して、各前記ユーザへの前記選択されたメニューアイテムのオンデマンド配達をコーディネートすることと
を行わせることを特徴とするネットワークコンピュータシステム。
【請求項２】
前記実行された指示が、前記ネットワークコンピュータシステムに、各前記ユーザの現在の文脈的情報を決定することを更に行わせ、
前記実行された指示が、前記ネットワークコンピュータシステムに、前記現在の文脈的情報に基づいて、前記１組の一致するメニューアイテムを決定することを更に行わせる、請求項１記載のネットワークコンピュータシステム。
【請求項３】
前記現在の文脈的情報が、時刻、曜日、気象条件、各前記ユーザの現在位置、または各前記ユーザによる検索入力うちの少なくとも１つを示す、請求項２記載のネットワークコンピュータシステム。
【請求項４】
前記実行された指示が、前記ネットワークコンピュータシステムに、前記オンデマンド配達サービスに関する各前記ユーザの履歴データを収集することを更に行わせ、
各前記ユーザの前記嗜好プロファイルが、前記履歴データに基づく、
請求項１記載のネットワークコンピュータシステム。
【請求項５】
前記実行された指示が、前記ネットワークコンピュータシステムに、各前記ユーザの前記履歴データに基づいて、各前記ユーザについての価格敏感性測定指標を決定することを更に行わせ、
前記実行された指示が前記ネットワークコンピュータシステムに、各前記ユーザについての前記価格敏感性測定指標に基づいて、前記１組の一致するメニューアイテムを決定することを更に行わせる、
請求項４記載のネットワークコンピュータシステム。
【請求項６】
前記実行された指示が、前記ネットワークコンピュータシステムに、各前記ユーザの前記履歴データに基づいて、各前記ユーザについての時間敏感性測定指標を決定することを更に行わせ、
前記実行された指示が前記ネットワークコンピュータシステムに、各前記ユーザについての前記時間敏感性測定指標に基づいて、前記１組の一致するメニューアイテムを決定することを更に行わせる、
請求項４記載のネットワークコンピュータシステム。
【請求項７】
前記実行された指示が、前記ネットワークコンピュータシステムに、前記１以上のネットワークを介して、各前記メニューアイテム供給元から、該メニューアイテム供給元によって提供される利用可能なメニューアイテムの供給、または、前記メニューアイテム供給元によって提供される前記利用可能なメニューアイテムを構成する食材の供給のうちの少なくとも一方を示す供給データを受信することを更に行わせる、請求項１記載のネットワークコンピュータシステム。
【請求項８】
前記実行された指示が前記ネットワークコンピュータシステムに、前記供給データに基づいて、各前記ユーザについての１組のお薦め測定指標に重み付けを行うことにより、前記１組の一致するメニューアイテムを決定することを行わせる、請求項７記載のネットワークコンピュータシステム。
【請求項９】
前記実行された指示が前記ネットワークコンピュータシステムに、
前記１以上のネットワークを介して、（ｉ）各前記輸送車輌の現在位置を示す位置データ、および（ｉｉ）各前記輸送車輌によって輸送中の利用可能なメニューアイテムの在庫を示す在庫データを受信することと、
前記位置データおよび前記在庫データに少なくとも部分的に基づいて、各前記ユーザへの前記選択されたメニューアイテムを配達するために最適な輸送車輌を選択することと
によって、各前記ユーザへの前記選択されたメニューアイテムのオンデマンド配達をコーディネートすることを行わせる、請求項１記載のネットワークコンピュータシステム。
【請求項１０】
前記実行された指示が、前記ネットワークコンピュータシステムに、前記１以上のネットワークを介して、前記最適な輸送車輌のコンピューティング装置に、前記最適な輸送車輌の運転手が各前記ユーザへの前記選択されたメニューアイテムの配達を受諾または辞退することを可能にする配達インビテーションを送信することを更に行わせる、請求項９記載のネットワークコンピュータシステム。
【請求項１１】
前記単語コーパスが、前記単語コーパスの前記説明的な用語間の関係を示すオントロジーグラフ内に含まれる、請求項１記載のネットワークコンピュータシステム。
【請求項１２】
受信された前記１組の利用可能なメニューアイテムのうちの各利用可能なメニューアイテムが、該メニューアイテムの画像を有し、
前記実行された指示が、前記ネットワークコンピュータシステムに、画像認識を用いて、前記利用可能なメニューアイテムの前記画像を構文解析することにより、前記利用可能なメニューアイテムの単語による説明を生成することを更に行わせ、
前記実行された指示が、前記ネットワークコンピュータシステムに、前記画像から構文解析された前記利用可能なメニューアイテムの前記単語による説明に基づいて、前記利用可能なメニューアイテムについての前記メニューアイテムベクトルを生成することを行わせる、
請求項１記載のネットワークコンピュータシステム。
【請求項１３】
指示を格納した非一過性のコンピュータ可読媒体において、前記指示が１以上のプロセッサによって実行された際に、前記指示が前記１以上のプロセッサに、
オンデマンド配達サービスの各ユーザについて、食品アイテムについての１組のユーザ嗜好を示す嗜好プロファイルを生成することと、
前記１以上のネットワークを介して、複数のメニューアイテム供給元から１組の利用可能なメニューアイテムを受信することと、
各前記利用可能なメニューアイテムについて、説明的な用語の単語コーパスを含む潜在空間内におけるメニューアイテムベクトルであって、前記利用可能なメニューアイテムを表すメニューアイテムベクトルを生成することと、
各前記ユーザについて、前記潜在空間内における個人嗜好ベクトルであって、各前記ユーザの前記嗜好プロファイル内の前記１組のユーザ嗜好を表す個人嗜好ベクトルを生成することと、
各前記利用可能なメニューアイテムの前記メニューアイテムベクトル、および各前記ユーザの前記個人嗜好ベクトルに基づいて、前記１組の利用可能なメニューアイテムから、１組の一致するメニューアイテムを決定することと、
１以上のネットワークを介して、各前記ユーザのコンピューティング装置にコンテンツデータを送信し、前記コンピューティング装置に、前記１組の一致するメニューアイテムをオンデマンド配達のための選択可能なアイテムとして表示させることと、
前記１以上のネットワークを介して、各前記ユーザの前記コンピューティング装置から、前記利用可能なメニューアイテムのうちの１つのメニューアイテムのユーザ選択を示す選択データを受信することと、
前記選択データを受信したことに応答して、１以上の輸送車輌とのネットワーク通信を介して、各前記ユーザへの前記選択されたメニューアイテムのオンデマンド配達をコーディネートすることと、
を行わせることを特徴とする、非一過性のコンピュータ可読媒体。
【請求項１４】
前記実行された指示が、前記ネットワークコンピュータシステムに、各前記ユーザの現在の文脈的情報を決定することを更に行わせ、
前記実行された指示が、前記１以上のプロセッサに、前記現在の文脈的情報に基づいて、前記１組の一致するメニューアイテムを決定することを更に行わせる、
請求項１３記載の非一過性のコンピュータ可読媒体。
【請求項１５】
前記現在の文脈的情報が、時刻、曜日、気象条件、各前記ユーザの現在位置、または各前記ユーザによる検索入力うちの少なくとも１つを示す、請求項１４記載の非一過性のコンピュータ可読媒体。
【請求項１６】
前記実行された指示が、前記１以上のプロセッサに、前記オンデマンド配達サービスに関する各前記ユーザの履歴データを収集することを更に行わせ、
各前記ユーザの前記嗜好プロファイルが、前記履歴データに基づく、
請求項１３記載の非一過性のコンピュータ可読媒体。
【請求項１７】
前記実行された指示が、前記１以上のプロセッサに、各前記ユーザの前記履歴データに基づいて、各前記ユーザについての価格敏感性測定指標を決定することを更に行わせ、
前記実行された指示が、前記１以上のプロセッサに、各前記ユーザについての前記価格敏感性測定指標に基づいて、前記１組の一致するメニューアイテムを決定することを更に行わせる、
請求項１６記載の非一過性のコンピュータ可読媒体。
【請求項１８】
前記実行された指示が、前記１以上のプロセッサに、各前記ユーザの前記履歴データに基づいて、各前記ユーザについての時間敏感性測定指標を決定することを更に行わせ、
前記実行された指示が、前記１以上のプロセッサに、各前記ユーザについての前記時間敏感性測定指標に基づいて、前記１組の一致するメニューアイテムを決定することを更に行わせる
請求項１６記載の非一過性のコンピュータ可読媒体。
【請求項１９】
前記実行された指示が、前記１以上のプロセッサに、前記１以上のネットワークを介して、各前記メニューアイテム供給元から、該メニューアイテム供給元によって提供される利用可能なメニューアイテムの供給、または、前記メニューアイテム供給元によって提供される前記利用可能なメニューアイテムを構成する食材の供給のうちの少なくとも一方を示す供給データを受信することを更に行わせる、請求項１３記載の非一過性のコンピュータ可読媒体。
【請求項２０】
オンデマンド配達サービスを実装する、コンピュータによって実装される方法において、当該方法が１以上のプロセッサによって行われ、当該方法が、
前記オンデマンド配達サービスの各前記ユーザについて、食品アイテムについての１組のユーザ嗜好を示す嗜好プロファイルを生成する工程と、
前記１以上のネットワークを介して、複数のメニューアイテム供給元から１組の利用可能なメニューアイテムを受信する工程と、
各前記利用可能なメニューアイテムについて、説明的な用語の単語コーパスを含む潜在空間内におけるメニューアイテムベクトルであって、前記利用可能なメニューアイテムを表すメニューアイテムベクトルを生成する工程と、
各前記ユーザについて、前記潜在空間内における個人嗜好ベクトルであって、各前記ユーザの前記嗜好プロファイル内の前記１組のユーザ嗜好を表す個人嗜好ベクトルを生成する工程と、
各前記利用可能なメニューアイテムの前記メニューアイテムベクトル、および各前記ユーザの前記個人嗜好ベクトルに基づいて、前記１組の利用可能なメニューアイテムから１組の一致するメニューアイテムを決定する工程と、
１以上のネットワークを介して、各前記ユーザのコンピューティング装置にコンテンツデータを送信し、前記コンピューティング装置に、前記１組の一致するメニューアイテムをオンデマンド配達のための選択可能なアイテムとして表示させる工程と、
前記１以上のネットワークを介して、各前記ユーザの前記コンピューティング装置から、前記利用可能なメニューアイテムのうちの１つのメニューアイテムのユーザ選択を示す選択データを受信する工程と、
前記選択データを受信したことに応答して、１以上の輸送車輌とのネットワーク通信を介して、各前記ユーザへの前記選択されたメニューアイテムのオンデマンド配達をコーディネートする工程と
を含むことを特徴とする方法。
【発明の詳細な説明】
【関連出願への相互参照】
【０００１】
本願は、（ｉ）２０１８年８月９日に提出された米国特許出願第１６／０５９，４８３号、および（ｉｉ）２０１７年１０月２４日に提出された米国仮特許出願第６２／５７６，６２１号の各々による優先権を主張するものであり、上述の優先権出願のそれぞれの全体を参照して本明細書に組み込む。
【技術分野】
【０００２】
本発明は、オンデマンドでコーディネートされる食品アイテム配達システムに関する。
【背景技術】
【０００３】
オンデマンドの食品の配達は、ユーザに、個々のレストランのメニューリストからのメニューアイテムを要求するよう要求することを必要とする。この要求は、レストラン自体によって処理され、レストランが、準備後に要求されたアイテムを配達するか、または、要求元のユーザが、個人化された配達のために、要求されたアイテムを受け取るために第三者とのコーディネートを行い得る。
【図面の簡単な説明】
【０００４】
本明細書における開示は、添付の図面の図に、限定する目的ではなく、例示を目的として示されており、図面中、類似の参照番号は類似の要素を参照する。
【図１】本明細書に記載されている例による、食品のお薦めおよびオンデマンドでコーディネートされる配達を実装する例示的なネットワークコンピュータシステムを示すブロック図
【図２】本明細書に記載されている例による、ネットワークコンピュータシステムと通信するためにサービスアプリケーションを実行する例示的なユーザコンピューティング装置を示すブロック図
【図３Ａ】本明細書に記載されている例による、メニューアイテムのお薦めをリスト表示する例示的なユーザインターフェイスを示す
【図３Ｂ】本明細書に記載されている例による、メニューアイテムのお薦めをリスト表示する例示的なユーザインターフェイスを示す
【図４Ａ】本明細書に記載されている例による、リアルタイムのオンデマンドの食品アイテムのリストを示す例示的なユーザインターフェイスを示す
【図４Ｂ】本明細書に記載されている例による、リアルタイムのオンデマンドの食品アイテムのリストを示す例示的なユーザインターフェイスを示す
【図５】本明細書に記載されている例による、ネットワークコンピュータシステムと通信するために供給元アプリケーションを実行および操作する例示的な供給元コンピューティング装置を示すブロック図
【図６Ａ】本明細書に記載されている例による、メニューアイテムの供給元のための例示的な供給元インターフェイスを示す
【図６Ｂ】本明細書に記載されている例による、メニューアイテムの供給元のための例示的な供給元インターフェイスを示す
【図７】様々な例による、オンデマンドのアイテム配達サービスのユーザのために生成されたアイテムのお薦めに基づいてメニューアイテムの配達をコーディネートする例示的な方法を説明するフローチャート
【図８】様々な例による、マルチエンティティ最適化を用いた、メニューアイテムの配達をコーディネートする方法を説明するフローチャート
【図９】本明細書に記載されている例が実装され得るコンピュータシステムを示すブロック図
【発明を実施するための形態】
【０００５】
オンデマンド配達サービス（例えば、オンデマンド食品配達サービス）は、ネットワークベースのコンピューティングシステムにより、要求元ユーザ、配達運転手、および食品アイテムの供給元（例えば、レストラン）を、そのオンデマンド配達サービスに特化された指定されているアプリケーションを介して接続することによって管理され得る。ネットワークコンピュータシステムは、要求元ユーザに対して、所与の地域にわたる様々な食品アイテムの供給元からの１組の利用可能なメニューアイテムをリスト表示するサービスアプリケーションを提供することにより、オンデマンドメニューアイテム配達をコーディネートし得る。様々な例において、ネットワークコンピュータシステムは、配達車輌内にある予め準備されている食品アイテムの配達をコーディネートして、それらのアイテムを、受信したアイテム要求に応答してオンデマンドで要求者へと輸送することによって、メニューアイテムの需要を先取りするロジスティックオプティマイザとして作用する。その際、ネットワークコンピュータシステムは、（例えば、履歴データおよび他の様々な要因（例えば、天候、曜日、時刻等）に基づいて）個々の食品アイテムについてのアイテム需要を予測すると共に、文脈的ユーザ情報（例えば、検索入力、場所、嗜好の履歴）に基づくリアルタイムのお薦めを提供するためのディープラーニング技術と、食品アイテムの供給元からの供給に対応する更なるリアルタイムの需要最適化技術とを実装し得る。
【０００６】
様々な例によれば、ネットワークコンピュータシステムは、参加している様々な供給元（例えば、レストラン）から、１組の利用可能な食品アイテムの表現（例えば、食品アイテムの画像を伴う基本的なメニューの説明）を受信し得る。ネットワークコンピュータシステムは、食品アイテムの画像に対して画像解析技術（例えば、畳み込みニューラルネットワーク法を用いた画像認識またはパターン認識）を行い、その食品アイテムのテキスト表現を抽出し得る。画像解析処理からのテキスト抽出は、レストランによって提供される基本的な説明よりもかなり詳細なものになり得ると考えられる。従って、画像から得られるより広範なテキスト抽出を活用して、オンデマンドでコーディネートされる食品配達サービスのユーザに対して、より個人化されたメニューが生成され得る。
【０００７】
特定の実装例において、このテキスト抽出（例えば、画像に示されている食品アイテムの詳細な単語表現を構成する単語のコーパス）は、ネットワークコンピュータシステムによってベクトル形式で表され得る。例えば、ネットワークコンピュータシステムは、テキスト抽出に基づいて単語ベクトルを生成し得るものであり、単語ベクトルは、その食品アイテムを究極的に表すものである。従って、食品アイテムの全メニューについては、ネットワークコンピュータシステムは、各メニューアイテムについての１組の単語ベクトル表現を生成し得る。
【０００８】
ユーザ側においては、ネットワークコンピュータシステムは、オンデマンドでコーディネートされる配達システムの各ユーザについてのユーザプロファイルを生成し得る。ユーザプロファイルは、そのユーザのメニューアイテムの嗜好を示し得る。様々な実装例において、ユーザの嗜好は、直接的なクエリを介して決定され得るか、または、履歴データから学習され得る。例えば、ネットワークコンピュータシステムは、オンデマンド配達サービスに関するユーザのインタラクション、選択、および挙動を収集、保存、および解析し得る。例えば、選択は、ユーザが、インド料理、タイ料理に対する特定の嗜好、またはスパイシーな食品に対する一般的な嗜好を有することを示し得る。特定の例では、ネットワークコンピュータシステムは、ディープラーニング技術を用いて、ユーザの活動、選択、閲覧、コンテンツの嗜好、人口統計、年齢、場所、文化的背景等に基づき、各ユーザについての非常に詳細なユーザ嗜好プロファイルを生成し得る。
【０００９】
様々な実施形態によれば、各ユーザのユーザ嗜好は、（例えば、好ましい食材、食品の特徴、食品の制限、食品のタイプ、起源、価格、品質等を示す）ベクトル形式で表され得る。任意の所与のトリガの瞬間において（例えば、ユーザがサービスアプリケーションを開始したときに）、ネットワークコンピュータシステムは、ユーザの個人的嗜好を表す個人嗜好ベクトルと、食品アイテム（例えば、トリガの瞬間に利用可能なアイテム）の全メニューを表す各食品アイテムベクトルとの間におけるベクトルまたは行列の因数分解を行い得る。本明細書に記載されているように、因数分解の結果は、そのユーザについての一致確率を含み得るものであり、ネットワークコンピュータシステムは、これを、ユーザのコンピューティング装置上において実行されるオンデマンド配達サービスのユーザインターフェイス上におけるメニューアイテムのお薦めとして生成し得る。
【００１０】
メニューから食品アイテムが選択された際、ネットワークコンピュータシステムは、選択された食品アイテムの在庫を所持している運転手に配達インビテーションを送信することによって、選択された食品アイテムの配達をコーディネートし得る。例えば、コンピュータシステムは、配達サービス地域（例えば、大都市圏）にわたって稼働している各輸送車輌の在庫および位置をトラッキングし、ユーザと待ち合わせして選択したアイテムを配達するのに最適な輸送車輌を（例えば、距離、時間、または他の有用性測定指標に基づいて）選択し得る。
【００１１】
本明細書に記載されている例は、他の利点の中でも特に、ディープラーニング技術および計算最適化技術を実装して、オンデマンド食品アイテム配達サービスのユーザおよび食品アイテム供給元の両方に、より効率的でロバストなサービスを提供するという技術的効果を達成する。例えば、オンデマンド食品アイテム配達サービスは、ユーザの個人的嗜好に基づいて、更にはユーザのコンピューティング装置から（例えば、実行されているサービスアプリケーションを介して）受信されたリアルタイムの文脈的情報、食品アイテム供給元からのリアルタイムデータ、および/または、各運転手が1または複数の供給元からの食品アイテムの在庫を輸送し得る配達運転手のリアルタイムの位置に基づいて、食品アイテムのより個人化されたお薦めおよび／または個人化されたメニューを、ユーザに提供し得る。
【００１２】
本明細書において用いられる「コンピューティング装置」とは、ネットワークを介してシステムと通信するためのネットワーク接続性および処理リソースを提供し得る、デスクトップコンピュータ、携帯電話装置またはスマートフォン、パーソナルデジタルアシスタント（ＰＤＡ）、ラップトップコンピュータ、仮想現実（ＶＲ）または拡張現実（ＡＲ）ヘッドセット、タブレット装置、テレビ（ＩＰテレビ）等に対応する装置を指す。コンピューティング装置は、カスタムハードウェア、車載装置、または車載コンピュータ等にも対応し得る。また、コンピューティング装置は、ネットワークサービスと通信するよう構成された専用アプリケーションを操作し得る。
【００１３】
本明細書に記載されている１以上の例では、コンピューティング装置によって行われる方法、技術、および動作は、プログラムによって、またはコンピュータによって実装される方法として行われる。本明細書において用いられる「プログラムによって」とは、コードまたはコンピュータが実行可能な指示を用いることを意味する。これらの指示は、コンピューティング装置の１以上のメモリリソースに格納され得る。プログラムによって行われる工程は、自動であってもよく、または自動でなくてもよい。
【００１４】
本明細書に記載されている１以上の例は、プログラムモジュール、エンジン、またはコンポーネントを用いて実装され得る。プログラムモジュール、エンジン、またはコンポーネントは、１以上の規定されたタスクもしくは機能を実行可能なプログラム、サブルーチン、プログラムの一部、またはソフトウェアコンポーネントもしくはハードウェアコンポーネントを含み得る。本明細書において用いられるモジュールまたはコンポーネントは、他のモジュールまたはコンポーネントから独立して、ハードウェアコンポーネント上に存在し得る。或いは、モジュールまたはコンポーネントは、他のモジュール、プログラム、またはマシンの共有要素または共有処理であってもよい。
【００１５】
本明細書に記載されている幾つかの例は、一般的に、処理リソースおよびメモリリソースを含むコンピューティング装置を用いることを必要とし得る。例えば、本明細書に記載されている１以上の例は、全体的にまたは部分的に、例えば、サーバ、デスクトップコンピュータ、携帯電話またはスマートフォン、パーソナルデジタルアシスタント（例えば、ＰＤＡ）、ラップトップコンピュータ、ＶＲまたはＡＲ装置、プリンタ、デジタルピクチャーフレーム、ネットワーク機器（例えば、ルータ）、およびタブレット装置等のコンピューティング装置上において実装され得る。メモリリソース、処理リソース、およびネットワークリソースは全て、本明細書に記載されている任意の例の確立、使用、または実行（任意の方法の実行、または任意のシステムの実装を含む）に関連して用いられ得る。
【００１６】
更に、本明細書に記載されている１以上の例は、１以上のプロセッサによって実行可能な指示を用いることによって実装され得る。これらの指示は、コンピュータ可読媒体に担持され得る。以下において図面と共に図示または説明されるマシンは、本明細書において開示されている例を実装するための指示が担持および／または実行され得る処理リソースおよびコンピュータ可読媒体の例を提供するものである。具体的には、本発明の例と共に示されている多くのマシンは、プロセッサと、データおよび指示を保持するための様々な形態のメモリとを含む。コンピュータ可読媒体の例としては、パーソナルコンピュータまたはサーバのハードドライブ等の永続メモリストレージ装置が挙げられる。コンピュータストレージ媒体の他の例としては、ＣＤまたはＤＶＤ装置等の携帯型ストレージ装置、フラッシュメモリ（スマートフォン、多機能装置、またはタブレットに搭載されているもの等）、および磁気メモリが挙げられる。コンピュータ、端末、ネットワーク対応装置（例えば、携帯電話等のモバイル装置）は全て、プロセッサ、メモリ、およびコンピュータ可読媒体に格納された指示を利用するマシンおよび装置の例である。更に、複数の例は、コンピュータプログラム、またはそのようなプログラムを担持可能なコンピュータが使用可能な担持媒体の形態で実装され得る。
【００１７】
システムの説明
図１は、本明細書に記載されている例による、食品アイテムのお薦めおよびオンデマンドでコーディネートされる配達を実装する例示的なネットワークコンピュータシステムを示すブロック図である。ネットワークコンピュータシステム１００は、メニューアイテム供給元１９３によって提出された様々なメニューアイテムを表す食品ログ１７１を含むメニューアイテムデータベース１７０、および／または、メニューアイテム（例えば、食品アイテム）を（例えば、メタデータ内の）１組の説明的な単語にカテゴリー化するカテゴリー化スキーマ１７２を含み得る。例えば、任意の所与の時間に、または設定されたスケジュールに従って、参加している各供給元１９３（例えば、レストラン）は、コーディネートされるオンデマンド配達のための提供メニューアイテムを提供するために、供給元インターフェイス１０５を介して、１以上のネットワーク１８０を介してネットワークコンピュータシステム１００に接続し得る。本明細書に記載されているように、メニューアイテムは、オンデマンド配達のために供給元１９３によって提供される食品アイテムおよび／または飲料アイテムの画像および／または説明的な用語を含み得る。
【００１８】
ネットワークコンピュータシステム１００はコンテンツ解析器１１０を含み得るものであり、コンテンツ解析器１１０は、供給元１９３からのメニューアイテムの画像を構文解析して各メニューアイテムについての１組の説明的な用語を決定し得る。例えば、コンテンツ解析器１１０は、画像認識技術を行って、メニューアイテムのコーパス表現（例えば、数十または数百の説明的な単語）を生成し得る。このコーパスは、そのメニューアイテムの様々な側面、例えば、そのタイプおよび起源（例えば、十分な食事、サイドディッシュ、サラダ、ハンバーガー、サンドイッチ、スープ、ブリトー、日本料理、フランス料理、アメリカ料理、メキシコ料理、タイ料理、インド料理等）、その食材（例えば、肉、ドレッシング、野菜、豆、ソース、米等のタイプ）、味の特徴（例えば、スパイシー、マイルド、塩味、甘い、風味が良い、食べ応えのある、重い、軽い、苦い、酸味の強い、スモーキー等）、および／または、食感特性（例えば、クリーミー、カリカリ、脂っこい、もろい、サクサク、ねばねば、どろどろ、しっとり、リッチ等）を説明し得る。本明細書に示されているように、ユーザデータベース１４５に格納されているユーザ嗜好プロファイル１４７内において示されているユーザ嗜好は、これらと同じまたは類似の単語のリストを用い得る。
【００１９】
本明細書に記載されている例では、特定のメニューアイテムは、多くの組の用語によって説明され得る。従って、特定の実装例において、コンテンツ解析器１１０は、特定のメニューアイテムを説明するために用いられ得る個々の用語間における信頼リンク（confidence links）を行い得る。更に、特定の態様において、各説明的な用語は、潜在空間（例えば、説明的な用語のグラフィカルなコーパス）内におけるベクトルによって表され得るものであり、（例えば、因数分解スキーマ１２２に従って）特定のメニューアイテムを説明する用語を表す１組のベクトルの平均および／もしくは因数分解は、メニューアイテムベクトルまたはメニューアイテムの行列表現を含み得る。
【００２０】
更に、コンテンツ解析器１１０は、メニューアイテムの意味論的側面（例えば、料理のタイプ、起源、食品のサブクラスまたはカテゴリー（例えば、米麺）等）を結び付けるオントロジーグラフ１７３を生成し得る。オントロジーグラフ１７３は、レストランをメニューアイテムの意味論的側面と更に結び付け、複数の供給元からのデータセット（例えば、オンデマンド配達サービス、個々のレストラン等からの履歴データ等）を組み込んで統合し得る。更に別の態様では、コンテンツ解析器１１０は、国際化の態様を実装して、複数の言語からの説明的な用語を解析し、様々な国際的な場所における多言語検索およびローカライズ検索を可能にし得る。更に、オントロジーグラフ１７３は、国際的な説明的な用語を英単語と結びつけ得るものであり、それらは同じまたは類似のベクトルによって表され得る。
【００２１】
様々な例によれば、オントロジーグラフ１７３は、所与のメニュー（例えば、オンデマンド配達サービスに関して複数の食品アイテム供給元から提供される利用可能な食品アイテムのメニュー１９３）内の全ての食品アイテムのコーパス表現内における説明的な用語間の関係またはつながりを示し得る。そのような関係またはつながりは、例えば、１つの説明的な用語が別の説明的な用語のカテゴリー、サブクラス、または他の関連する側面であるか否かを記述し得る。更に、可能な全ての食品アイテムの全ての説明的な用語は、各説明的な用語がオントロジーグラフ１７３内の１つの点を構成するよう、グラフィカルに編成され得る。従って、各提供メニューアイテムは、潜在空間内（例えば、説明的な用語のコーパスグラフ、および／またはオントロジーグラフ１７３内）におけるメニューアイテムベクトル表現または行列表現に対応し得る。
【００２２】
ネットワークコンピュータシステム１００は更に、オンデマンド配達アプリケーション１９６を実行しているユーザ装置１９５と接続するユーザ装置インターフェイス１２５を含み得る。要求元ユーザ１９７は、配達サービスアプリケーション１９６のユーザインターフェイスを介して、オンデマンド配達のために、リスト表示されている食品アイテムのメニューから選択し得る。様々な例によれば、ネットワークコンピュータシステム１００はプロファイリングエンジン１４０を含み得るものであり、プロファイリングエンジン１４０は、履歴ユーザデータ、挙動ユーザデータ、および／または過去のユーザ選択を格納および解析し、所与のユーザ１９７の一般的な食品アイテムの嗜好（例えば、特定の好みの料理、好みの食品のタイプ（例えば、日本料理もしくはインド料理）、および／または、好みの風味）を決定する。
【００２３】
プロファイリングエンジン１４０は、所与のユーザ１９７の一般的なユーザ嗜好を構文解析して、１組の説明的な用語（例えば、メニューアイテムを説明するために用いられている用語と同じ用語）によってユーザ嗜好を記述する詳細な単語コーパスにし得る。ユーザ嗜好を記述する単語コーパス（これは、例えば、数十、数百、または数千の説明的な用語を含み得る）に基づいて、プロファイリングエンジン１４０は、お薦めエンジン１２０が所与のユーザ１９７についての（例えば、各説明的な用語がグラフィカルな点として表される単語コーパスの潜在空間内における）個人嗜好単語ベクトルを生成することを可能にし得る。例えば、プロファイリングエンジン１４０は、メニューアイテムの説明的な用語の単語コーパス上に、所与のユーザ１９７についての個人嗜好単語ベクトルを生成し得るものであり、これは、どの提供メニューアイテムが一般的なユーザ嗜好と最も一致しているかを（例えば、ユーザ嗜好のベクトル表現と各メニューアイテムベクトル表現との比較によって）示し得る。
【００２４】
特定の例では、個人嗜好単語ベクトルは更に、文脈ベース（例えば、ユーザのリアルタイムの現在位置、時刻、曜日、検索入力等に基づくもの）であり得る。例えば、ユーザ１９７のユーザ嗜好プロファイル１４７の履歴データは、所与のユーザ１９７による所与の各食事の選択についての時刻（例えば、昼食の時間または夕食の時間）、場所、ＴＯＷ（Time of Week）、気象条件、検索語、前の食事、次の食事等を示すメタデータを含み得る。従って、現在の時刻およびユーザの現在位置に基づいて、プロファイリングエンジン１４０は、リアルタイムの文脈的な１組のユーザ嗜好を決定し、お薦めエンジン１２０がそれに従って個人嗜好単語ベクトルを生成することを可能にし得る。
【００２５】
お薦めエンジン１２０は、各メニューアイテムを表すコーパスと、一般的および／または文脈的ユーザ嗜好を表すコーパスとをベクトル化し得る。その結果は、食品アイテムのメニューを表す１組のメニューアイテムベクトルまたは行列と、ユーザ１９７の予測されたアイテムの嗜好を表す文脈的ユーザ嗜好ベクトルまたは行列とを含み得る。お薦めエンジン１２０は、メニュー内の各食品アイテムについての或る量（例えば、一致確率）を出力するために、因数分解スキーマ１２２に従って、各食品アイテムベクトルおよび個人嗜好ベクトルの行列またはベクトル因数分解を行い得る。最も高い一致確率を有するメニューアイテムまたは１組のメニューアイテムが、お薦めエンジン１２０によって、ユーザ装置１９５上に表示されている個人化されたお薦めメニュー上に、お薦めアイテム（例えば、個々の食事または相性が良いと決定された複数の食事の組み合わせ）として出力され得る。
【００２６】
更なる実装例では、供給元インターフェイス１０５は、メニューアイテム供給元１９３から、各食品アイテムの供給元１９３からの各メニューアイテムの供給を示すデータ、または、より詳細な情報（例えば、各メニューアイテムを作るために必要な食材、および、供給元１９３からの各食材の現在の供給等）を受信し得る。供給元１９３からのこれらの供給データは、お薦めエンジン１２０によって、ユーザ１９７にお薦めを提供する際の更なる入力として構文解析され得る。例えば、メニューアイテムのお薦めを生成するために、食品アイテムベクトルをユーザ嗜好ベクトルと照合することに加えて、お薦めエンジン１２０は更に、供給元１９３からの供給データに基づいて、現在の供給過剰または供給不足のメニューアイテムに乗数または重みを追え得る。別の例として、お薦めエンジン１２０は、供給データにおいて示されている食材供給に基づいて、特定のメニューアイテムに乗数または重みを追え得る。そのような例では、供給データは、個々のメニューアイテムを作るために必要な各食材の量、および食品アイテム供給元の総食材供給を示し得る。各供給元１９３の各提供メニューアイテムについて、お薦めエンジン１２０は、供給元１９３から受信した総食材供給に基づいて、供給過剰または供給不足の乗数を決定し得る。従って、お薦めエンジン１２０は、ユーザ１９７に対してお薦めを提供する際に、リスト表示されているお薦めのうち、一般的に、供給過剰のメニューアイテムに、供給不足のメニューアイテムよりも高い重みを追加し得る。
【００２７】
本明細書に記載されているように、供給元１９３によって提供される各メニューアイテムは、価格と関連付けられ得る。様々な実装例において、プロファイリングエンジン１４０は、複数のユーザ１９７の各ユーザ嗜好プロファイル１４７の価格敏感性測定指標を（例えば、オンデマンド配達サービスの利用履歴データに基づいて）決定し得る。お薦めエンジン１２０は更に、この価格敏感性測定指標を、各ユーザ１９７のためのお薦めを生成する際に用い得る。例えば、一致する１組のベクトルは、ユーザの味の嗜好（例えば、一般的な嗜好、および／または、ユーザ１９７からのリアルタイムの文脈的情報を考慮した）に一致する幾つかの提供メニューアイテムを示し得る。次に、お薦めエンジン１２０は、上述のように、供給データに基づいて、一致する各メニューアイテムに乗数を適用し得る。それに加えて、またはその代わりに、お薦めエンジン１２０は次に、一致する各メニューアイテムに、ユーザの価格敏感性の重み付けを適用し得る。特定の実装例において、ユーザプロファイル１４７は、利用状況履歴データに基づいて、ユーザ１９７についての時間敏感性測定指標（例えば、ユーザが、低い待ち合わせＥＴＡ（到着予定時刻）を好むか、またはＥＴＡに敏感ではないかを示す）も示し得る。そのような実装例では、お薦めエンジン１２０は、ユーザの現在位置に対する各メニューアイテムの現在のＥＴＡに基づく、一致する各メニューアイテムに対する時間敏感性測定指標の重み付けを含み得る。特定の例では、ネットワークコンピュータシステム１００は更に、ユーザ１９７についての食品評価敏感性測定指標を決定し、その評価敏感性測定指標をお薦めの計算に組み込み得る。
【００２８】
例示的な筋書として、お薦めエンジン１２０は、特定のユーザ１９７が全く価格に敏感でない、または時間に敏感でないことを決定し得る。この筋書では、各提供メニューアイテムは、同じ価格敏感性の重み付けおよび時間敏感性の重み付けを有することになり、お薦めエンジン１２０は、他の測定指標（例えば、アイテムまたは食材の供給およびベクトルの照合）に基づいてお薦めを提供し得る。別の例として、お薦めエンジン１２０は、特定のユーザ１９７が非常に価格に敏感であるが、時間に敏感でないことを決定し得る。この筋書では、各提供メニューアイテムは、そのメニューアイテムについての提供価格と、そのユーザの価格敏感性測定指標とに基づく価格の重み付けを有し得る。従って、より高価格のアイテムは、比較的低いまたは小数の乗数で重み付けされ得るものであり、一方、より低価格のアイテムは、より高い乗数で重み付けされ、従って、ＥＴＡに関係なく、より高くお薦めされ得る。更に別の例として、ユーザ１９７は、或る程度の価格敏感性および或る程度の時間敏感性を有し得る。これらのレベルの時間敏感性および価格敏感性に基づいて、お薦めエンジン１２０は、各提供メニューアイテムの現在のＥＴＡおよび価格を決定し、各アイテムについて、適切な時間敏感性の重み付けおよび価格敏感性の重み付けを適用し得る。その結果は、ユーザ嗜好ベクトルの照合、食材またはメニューアイテムの供給、そのユーザの現在位置に対するメニューアイテムのＥＴＡ、およびメニューアイテムの価格に基づく、そのユーザ１９７個人のメニューアイテムのお薦めリストを含み得る。
【００２９】
ユーザ１９７によってメニューアイテム（お薦めされているか否かにかかわらず）が選択された際、ネットワークコンピュータシステムのコーディネートエンジン１５０は、選択されたメニューアイテムのオンデマンド配達をコーディネートするために、実行されている運転手アプリケーション１９２および運転手装置インターフェイス１１５を介して、輸送車輌１９４の運転手と通信し得る。例えば、要求元ユーザ１９７は、ユーザのコンピューティング装置１９５上で実行されているオンデマンドサービスアプリケーション１９６を介して、メニューアイテムの選択を行い、購入を確認し得る。選択されたメニューアイテムを示す要求データは、１以上のネットワーク１８０を介してネットワークコンピュータシステム１００に送信され、コーディネートエンジン１５０によって処理され得る。様々な例において、メニューアイテム要求は、ユーザ１９７の現在位置を示す位置情報を含んでもよく、または、ユーザ１９７が、配達運転手と会うための待ち合わせ場所を入力してもよい。
【００３０】
コーディネートエンジン１５０は更に、配達サービス地域（例えば、大都市圏）にわたって稼働している運転手の運転手装置１９１から、運転手装置インターフェイス１１５を介して、位置データを受信し得る。特定の例では、運転手によって操作される各輸送車輌１９４は、要求元ユーザ１９７に対して提供されているメニューアイテムの在庫も含み得る。従って、オンデマンド配達サービスをコーディネートする際に、ネットワークコンピューティングシステム１００は、各輸送車輌１９４内において現在輸送されているメニューアイテムの在庫を考慮し得る。これは、人によってアイテムが要求され、次に、梱包されて車輌によって配送される、従来の配達サービスとの明確な違いである。本明細書に記載されているオンデマンドサービスは、（例えば、履歴データに基づいて）メニューアイテムの需要を予測して、要求を受信する前に輸送車輌１９４への在庫（例えば、供給元１９３からのメニューアイテムを含む）の積み込みをコーディネートすることにより、および、幾つかの態様では、ユーザ装置１９５からのメニューアイテムの要求を受信しながら、輸送車輌１９４が車載在庫と共に所与のサービス地域を回るようルートを決定することにより、より迅速なオンデマンド配達を提供し得る。
【００３１】
要求元ユーザ１９７から受信した各アイテム要求について、コーディネートエンジン１５０は、現在位置、現在のルートおよび次回の配達、並びに／または、要求元ユーザ１９７の現在位置の近く（例えば、４マイル（約６．４キロメートル）以内）にいる輸送車輌１９４の現在の在庫を決定し得る。コーディネートエンジン１５０は、距離、時間、在庫、および／または、更なる有用性測定指標（例えば、配達サービス地域の個々の場所またはサブ領域内における輸送車輌の供給、在庫供給、およびメニューアイテム需要等）に基づいて、最適な輸送車輌１９４を選択し得る。次に、コーディネートエンジン１５０は、最適な輸送車輌１９４の運転手の運転手装置１９１に、配達インビテーションを送信し得る。運転手は、インビテーションを受諾または辞退し得る。受諾された場合には、コーディネートエンジン１５０は、運転手装置１９１に、要求元ユーザとの待ち合わせ場所までの最短もしくは最適ルートを提供するか、または、運転手の現在のルートおよび配達スケジュールに、その配達場所を追加し得る。辞退された場合には、コーディネートエンジン１５０は、次に最適な輸送車輌１９４を識別する最適化処理を繰り返し、その車輌１９４の運転手に配達インビテーションを送信し、必要に応じて、運転手が配達インビテーションを受諾するまで、このシーケンスを繰り返す。
【００３２】
ユーザコンピューティング装置
図２は、本明細書に記載されている例による、ネットワークコンピュータシステムと通信するためにオンデマンド配達サービスアプリケーション２３２を実行および操作する例示的なユーザコンピューティング装置を示すブロック図である。多くの実装例において、ユーザコンピューティング装置２００は、スマートフォン、タブレットコンピュータ、ラップトップコンピュータ、ＶＲまたはＡＲヘッドセット装置等のモバイルコンピューティング装置を含み得る。従って、ユーザコンピューティング装置２００は、マイク２４５、カメラ２５０、および、任意の数の無線通信プロトコルを用いて外部エンティティと通信するための通信インターフェイス２１０等の電話機能を含み得る。コンピューティング装置２００は更に、測位モジュール２６０と、１以上の加速度計、ジャイロスコープ、または磁力計を含む慣性測定ユニット２６４とを含み得る。特定の態様では、コンピューティング装置２００は、指定されている配達サービスアプリケーション２３２をローカルメモリ２３０に格納し得る。変形例では、メモリ２３０は、ユーザコンピューティング装置２００の１以上のプロセッサ２４０によって実行可能な、１以上のネットワーク２８０を介した１以上のホストサーバーとのアクセスおよびインタラクションを可能にする更なるアプリケーションを格納し得る。
【００３３】
ユーザによるユーザ入力２１８（例えば、配達サービスアプリケーション２３２を表すアイコンの選択）に応答して、プロセッサ２４０によってサービスアプリケーション２３２が実行され、それにより、コンピューティング装置２００のディスプレイ画面２２０上にアプリケーションインターフェイス２２２が生成され得る。様々な実装例において、アプリインターフェイス２２２は、ユーザが、ディスプレイ画面２２０上の個人化された食品アイテムメニュー内において、お薦めの食品アイテムおよび他の利用可能なメニューアイテムを見ることを可能にし得る。
【００３４】
本明細書において提供されているように、サービスアプリケーション２３２は更に、図１に関して図示および説明されているネットワークコンピュータシステム１００等の１以上のネットワーク２８０を介したネットワークコンピュータシステム２９０との通信リンクを可能にし得る。プロセッサ２４０は、ネットワーク２８０を介してネットワークコンピュータシステム２９０から受信したコンテンツデータを用いて、ユーザインターフェイス機能（例えば、食品アイテムメニュー、お薦めアイテム等）を生成し得る。更に、本明細書において述べられているように、サービスアプリケーション２３２は、ネットワークシステム２９０が、本明細書に記載されているように、選択可能なメニューアイテムのリストを含むように、生成されたユーザインターフェイスをディスプレイ画面２２０に表示させることを可能にし得る。
【００３５】
様々な例において、例えば、ネットワークコンピュータシステム２９０が、選択されたアイテムのオンデマンド配達をコーディネートすることを可能にするために、測位モジュール２６０は、ユーザの現在位置を示す位置データをネットワークシステム２９０に提供し得る。本明細書に記載されている例において、ネットワークコンピュータシステム２９０は、ネットワーク２８０を介してユーザコンピューティング装置２００の通信インターフェイス２１０に、コンテンツデータを送信し得る。コンテンツデータは、実行されているサービスアプリケーション２３２に、オンデマンド配達のために利用可能なリスト表示された１組のメニューアイテム、および／または、ユーザの嗜好に基づくお薦めの１組のメニューアイテムを表示させ得る。所望のメニューアイテムが選択された際、サービスアプリケーション２３２は、プロセッサ２４０に、ネットワークコンピュータシステム２９０へとアイテム要求を送信させて、コンピュータシステム２９０が、選択されたアイテムの在庫を有する輸送車輌がユーザの現在位置または選択された待ち合わせ場所のいずれかにおいてユーザと待ち合わせするようにコーディネートすることを可能にし得る。
【００３６】
ユーザインターフェイス
図３Ａおよび３Ｂは、本明細書に記載されている例による、ユーザコンピューティング装置２００上においてメニューアイテムのお薦めを示す例示的なユーザインターフェイスである。図３Ａを参照すると、ユーザインターフェイス３００は、ユーザコンピューティング装置２００のディスプレイ画面２２０上において生成され得る。図示されている例では、ネットワークコンピュータシステム１００は、ユーザの嗜好プロファイル１４７、供給元１９３からの利用可能な食品アイテム、アイテムの供給および／もしくは食材の供給、各アイテムを積み込んだ輸送車輌のＥＴＡ、並びに／または、メニューアイテム３０５のスクロール可能なお薦めリストを提供するためのユーザの価格敏感性を処理した。更に、お薦めリスト３０５は、ユーザによって入力された初期フィルタ（例えば、「Pad Thai」についてのテキスト検索または音声入力等）に基づき得る。従って、初期フィルタは、ネットワークコンピュータシステム１００に、ユーザの検索（または検索の類似の綴り）に一致しない利用可能なメニューアイテムをフィルタリングによって除外させ得るものであり、その結果のリストは、本明細書に記載されている、各お薦め測定指標に基づいて提供され得る。
【００３７】
図３Ｂを参照すると、ユーザコンピューティング装置２００上において表示されているユーザインターフェイス３１０は、（例えば、そのユーザについての履歴データが無い場合に、または人気のあるお薦めを提供するためのユーザによる入力に基づいて、）他のユーザの嗜好に基づく一般的なお薦めも提供し得る。ネットワークコンピュータシステム１００は、（例えば注文数および／または評価に基づいて）食品アイテムの供給元１９３および／またはその供給元１９３からの広く人気があるメニューアイテムを決定し、そのメニューアイテムをユーザインターフェイス３１０上において目立つように表示させ得る。
【００３８】
図４Ａおよび図４Ｂは、本明細書に記載されている例による、リアルタイムのオンデマンドの食品アイテムリストを示す例示的なユーザインターフェイスを示す。図４Ａを参照すると、ユーザインターフェイス４００は、サービスアプリケーション２３２によって生成され、ユーザコンピューティング装置２００のディスプレイ画面２２０上に表示され得る。幾つかの例では、ユーザインターフェイス４００は、ユーザが食品アイテムについての検索用語または音声入力を入力することを可能にする検索機能（例えば、テキストボックスまたは音声入力機能等）を含み得る。特定の変形例では、ユーザは、検索機能に何らかの用語を入力する必要はなく、ユーザインターフェイス４００は依然として、図１に関して記載されているお薦め測定指標に基づいて、１組のお薦めまたは一致を表示する。
【００３９】
図４Ａに示されている例では、ネットワークコンピュータシステム１００は、ユーザの現在位置、および検索機能における入力（例えば、図４Ａに示されているような部分的な用語の入力）に基づいて、リアルタイムのお薦めおよび検索結果を提供し得る。ネットワークコンピューティングシステム１００および／またはサービスアプリケーション２３２は、ユーザによって検索機能４０８に入力される検索用語を予測するための予測機能を含み得る。予測された用語に基づいて、ネットワークコンピュータシステム１００は、リアルタイムで、そのユーザのためのお薦め測定指標（例えば、価格敏感性、時間敏感性、嗜好ベクトルの照合等）を処理し得る。
【００４０】
従って、ユーザインターフェイス４００は、リアルタイムで、お薦め測定指標に基づいて、ユーザの検索およびユーザの嗜好についての関連性のある一致を表示し得る。特定の態様では（例えば、ユーザが非常に時間に敏感である場合には）、ユーザインターフェイスは、最も近くにある選択肢を示すローカル提供部分４０２を表示し得る。各メニューアイテムは、供給元、価格、そのメニューアイテムまたは供給元の評価（例えば、星による評価）、在庫内にそのメニューアイテムを有する最も近くにある輸送車輌のＥＴＡ、および他の情報（例えば、メニューアイテムの説明、メニューアイテムの写真等）を表示し得る。ローカル提供部分４０２は、（例えば、高々１０個のメニューアイテムまで）スクロール可能であり得、ユーザの現在位置までの最も低いＥＴＡを有する、予測検索用語と一致するメニューアイテムをリスト表示し得る。
【００４１】
様々な実装例において、ユーザインターフェイス４００は更に、お薦めインターフェイス機能４０４を表示し得るものであり、お薦めインターフェイス機能４０４は、図１に関して記載されている全てのお薦め測定指標に基づくお薦めメニューアイテムをリスト表示し得る。お薦めメニューアイテム部分４０４は、最もお薦めのアイテムを一番上に、または、お薦め順位がより低いメニューアイテムよりも目立つようにリスト表示し得る。特定の態様では、リスト４０４は、ユーザが、任意の数のお薦めメニューアイテム（例えば、最もお薦めのアイテムのトップ１０リスト）を閲覧および選択することを可能にするスクロール可能な機能を含み得る。
【００４２】
図４Ｂは、ネットワークコンピュータシステム１００によって提供されるお薦めと組み合わされたユーザ検索の全結果を示す。図４Ｂのユーザインターフェイス４１０は、ユーザによって（例えば、テキストまたは音声を介して）入力された検索用語４１８に少なくとも部分的に基づいて生成され得る。特定の態様では、ユーザインターフェイス４１０は、ネットワークコンピュータシステム１００によって送信されたコンテンツデータに基づいて生成され得るものであり、検索入力４１８のみに基づく最も関連性の高いメニューアイテムを示す、最も関連性の高い結果機能４１２を含み得る。それに加えて、またはその代わりに、ユーザインターフェイス４１０は、検索入力４１８と密接に一致する、スクロール可能な１組のローカルな選択肢４１４を含み得る。特定の変形例では、ユーザインターフェイス４１０は更に、（例えば、一般的および文脈的な）ユーザの嗜好および他の測定指標（例えば、時間敏感性、価格敏感性等）、並びに供給元からの供給データに基づく１組の選択肢をリスト表示し得るお薦め部分４１６を含み得る。図４Ｂに示されているお薦めの結果は、ユーザが非常に価格に敏感であること、および、高い評価のハンバーガー（例えば、不健康なハンバーガー）を特に好んでいることを示している。
【００４３】
供給元コンピューティング装置
図５は、本明細書に記載されている例による、ネットワークコンピュータシステムと通信するために供給元アプリケーションを実行および操作する例示的な供給元コンピューティング装置を示すブロック図である。多くの実装例において、供給元コンピューティング装置５００は、スマートフォン、タブレットコンピュータ、ラップトップコンピュータ、デスクトップコンピュータ、ＶＲまたはＡＲヘッドセット装置等のモバイルピューティング装置またはパーソナルコンピューティング装置を含み得る。特定の例では、供給元コンピューティング装置５００は、（例えば、レストランの所有者が食品アイテムの写真を撮ることを可能にするための）カメラ５５０、測位モジュール５６０、入力機構５２５（例えば、キーボード）、ディスプレイ画面５２０、および任意の数の無線通信プロトコルを用いてネットワークコンピューティングシステム５９０と通信するための通信インターフェイス５１０を含み得る。
【００４４】
特定の態様では、コンピューティング装置５００は、１以上のネットワーク５８０を介した１以上のホストサーバーとのアクセスおよびインタラクションを可能にする指定されている供給元アプリケーション５３２をローカルメモリ５３０に格納し得る。供給元のマネージャー（例えば、レストランのマネージャー）による入力５１８に応答して、供給元アプリケーション５３２がプロセッサ２４０によって実行され、それにより、コンピューティング装置５００のディスプレイ画面５２０上において供給元インターフェイス５２２が生成され得る。様々な実装例において、供給元インターフェイス５２２は、供給元のマネージャーが、その供給元からの提供メニューアイテムをネットワークコンピュータシステム５９０へと通信することを可能にし得る。
【００４５】
本明細書において提供されているように、供給元コンピューティング装置５００は、供給元のマネージャーが、供給元（例えば、オンデマンド配達サービスに参加しているレストラン）からのメニューアイテムの供給および／または食材の供給を示す供給データを提供することも可能にし得る。特定の例では、ネットワークコンピューティングシステム５９０は、各提供メニューアイテムの供給、および／または、供給元によって各メニューアイテムを作るために用いられる各食材の供給を決定するために、供給元の供給管理機能と直接リンクし得る。
【００４６】
様々な例において、ネットワークコンピュータシステム５９０は、メニューアイテムの量についての供給要求を供給元コンピューティング装置５００に送信し得るか、または、供給元のマネージャーは、各提供メニューアイテムの供給量を通信し得る。次に、ネットワークコンピュータシステム５９０は、オンデマンド配達サービスを提供する輸送車輌による、供給元からのメニューアイテムの受け取りおよび配布をコーディネートし得る。
【００４７】
例示的な供給元インターフェイス
図６Ａおよび図６Ｂは、本明細書に記載されている例による、食品アイテム供給元のための例示的な供給元インターフェイスを示す。特定の実装例において、メニューアイテム供給元（例えば、レストラン）は、リアルタイムの食材供給データまたはメニューアイテム供給データをネットワークコンピュータシステム１００に送信し得る。図６Ａを参照すると、供給元インターフェイス６００は、ネットワークコンピュータシステム１００によって、ユーザに対するお薦めを生成するための入力としての現在の食材供給を決定するためにアクセスされ得る。特定の実装例において、ネットワークコンピュータシステム１００は、各供給元が利用可能な食材の現在の供給に基づいて、所与の供給元からのメニューアイテムのお薦めに重み付けを行い得る。図６Ｂを参照すると、ネットワークコンピュータシステム１００は、オンデマンド配達サービスのユーザに対するお薦めに重み付けを行うために、所与の供給元の個々のメニューアイテムの供給データを示す供給元インターフェイス６１０にアクセスし得る。幾つかの例では、供給元インターフェイス６００、６１０において示されている供給データは、周期的にネットワークコンピュータシステム１００へと送信され得るか、またはネットワークコンピュータシステム１００によって動的にモニタリングされ得る。
【００４８】
方法
図７は、様々な例による、オンデマンドのアイテム配達サービスのユーザのために生成されたアイテムお薦めに基づいて、食品アイテムの配達をコーディネートする例示的な方法を説明するフローチャートである。以下の図７の説明では、図１〜図６Ｂの様々な特徴を表す参照文字が参照され得る。更に、図７に関して示され記載されている処理は、図１に関して図示および記載されているような例示的なネットワークコンピュータシステム１００によって行われ得る。
【００４９】
図７を参照すると、特定の例において、ネットワークコンピュータシステム１００は、サービスアプリケーション１９６のユーザインターフェイス２２２上において、オンデマンド配達サービスのための食品アイテムのユーザの嗜好を、ユーザに直接クエリし得る（７００）。様々な実装例において、ネットワークコンピュータシステム１００は更に、各ユーザ１９７についてのオンデマンド食品アイテム要求および配達に対応する履歴ユーザデータを収集および格納し得る（７０５）。ネットワークコンピュータシステム１００は更に、食品アイテムのユーザ嗜好を示す各個人のユーザプロファイル１４７を生成および更新し得る（７１０）。例えば、ネットワークコンピュータシステム１００は、ユーザ１９７の一般的な食品アイテムの嗜好（例えば、ユーザが典型的には特定のタイプの食事（例えば、シーザーサラダ等）を注文するか否か）を決定し得る。更なる例では、ネットワークコンピュータシステム１００は更に、ユーザ１９７によって行われた各注文についての文脈的情報（例えば、時刻、曜日、気象条件、検索用語等）を含み得る。従って、ユーザプロファイル１４７は更に、文脈的情報を考慮したユーザ嗜好（例えば、昼食時におけるアメリカ料理に対するユーザ嗜好）を含み得る。
【００５０】
本明細書に記載されている例によれば、ネットワークコンピュータシステム１００は、ユーザ１９７がユーザのコンピューティング装置１９５上においてサービスアプリケーション１９６を起動したことを示す、ユーザコンピューティング装置１９５からのサービスアプリケーションのトリガを検出し得る。特定の実装例において、ネットワークコンピュータシステム１００または実行されているサービスアプリケーション１９６は、サービスアプリケーション１９６上におけるユーザのインラクション（例えば、視線、スクロール、ユーザ入力、およびユーザの位置等）をモニタリングし得る（７１０）。特定の態様では、ネットワークコンピュータシステム１００は更に、現在時刻、気象条件、およびユーザの他のリアルタイムの文脈的情報を決定し得る。文脈的および／または一般的な食品アイテムの嗜好を示すユーザの嗜好プロファイル１４７に基づいて、ネットワークコンピュータシステムは、ユーザ１９７についての（例えば、食品アイテムについての説明的な用語のコーパスを含む潜在空間内における）個人嗜好ベクトルを生成し得る（７２０）。
【００５１】
様々な実装例において、ネットワークコンピュータシステム１００は、配達サービス地域内の様々な食品アイテムの供給元（例えば、レストラン）からの提供メニューアイテムを受信し得る（７２５）。例えば、供給元は、ネットワークコンピュータシステム１００に、各メニューアイテムについてのメニューリスト、画像、説明、供給量、提供価格等を提供し得る。ネットワークコンピュータシステム１００は、各メニューアイテムについてのアイテムコンテンツを構文解析して、そのアイテムの特性を決定し得る（７３０）。例えば、ネットワークコンピュータシステム１００は、各メニューアイテムの風味、濃度、起源、食材、カロリー数、人気、評価等を決定し得る。次に、ネットワークコンピュータシステム１００は、メニューアイテムの詳細な単語表現を含むアイテムコーパスを生成し（７３５）、（例えば、食品についての説明的な用語のコーパスを含む潜在空間内における）そのメニューアイテムについてのメニューアイテムベクトル（例えば、単語ベクトル）を生成する（７４０）。
【００５２】
ネットワークメニューシステム１００は、個人嗜好ベクトルおよび各メニューアイテムについての説明ベクトルに基づいて、ユーザのための１組の一致するメニューアイテムを決定し得る（７４５）。例えば、ネットワークコンピュータシステム１００は、ベイズ統計推論を行って、一致する１組のメニューアイテムを識別するか、またはユーザの嗜好を満たす確率が最も高い１組のメニューアイテムを決定し得る。次に、ネットワークコンピュータシステム１００および／またはユーザのコンピューティング装置１９５上で実行されているサービスアプリケーション１９６は、一致する１組のメニューアイテムを、ユーザインターフェイス２２２のお薦め部分上に表示し得る。ネットワークコンピュータシステム１００は、１以上のネットワーク１８０を介して、ユーザ１９７がユーザインターフェイス２２２上においてメニューアイテムを選択したことを示す選択標示を受信し得る（７５０）。次に、ネットワークコンピュータシステム１００は、本明細書に記載されているように、選択されたメニューアイテムのオンデマンド配達をコーディネートし得る（７５５）。様々な実装例において、ネットワークコンピュータシステム１００は、配達されたメニューアイテムの消費に対するユーザの反応をモニタリングし得る（７６０）。例えば、ユーザ１９７に配達されたメニューアイテムについて、ネットワークコンピュータシステム１００は、ユーザ１９７から満足度フィードバック（例えば、満足度評価またはスコア等）を受信し得る。次に、そのような評価またはスコアは、将来のお薦めのために、ユーザの嗜好プロファイル１４７に組み込まれ得る。
【００５３】
図８は、様々な例による、マルチエンティティ最適化を用いた、メニューアイテムの配達をコーディネートする方法を説明するフローチャートである。様々な例において、図８に関して以下に述べられるステップは、図７に関して記載されている１以上のステップに関連して行われ得る。図８を参照すると、ネットワークコンピュータシステム１００は、各供給元１９３から、メニューアイテムの供給を示す供給データを受信し得る（８００）。特定の例では、供給データは、食材供給データを含み得る（８０２）。それに加えて、またはその代わりに、供給データは、メニューアイテム供給データを含み得る（８０４）。ネットワークコンピュータシステム１００は更に、個々のメニューアイテムについてのリアルタイムの需要を決定し得る（８０５）。例えば、ネットワークコンピュータシステム１００は、配達サービス地域全体にわたるユーザ１９７からのアイテム要求を受信して、リアルタイムの需要を決定し得る。
【００５４】
様々な例において、ネットワークコンピュータシステム１００は、供給元１９３から受信された供給データおよび／またはユーザ１９７からのリアルタイムの需要に基づいて、ユーザ１９７についてのお薦めの重み付けを調節し得る（８１０）。例えば、ネットワークコンピュータシステム１００は、供給過剰のメニューアイテムを、ユーザ１９７のコンピューティング装置１９５上におけるお薦めリストにおいて、より目立つように表示させるか、またはより高くランク付けさせ得る。各ユーザ１９７についてのお薦め測定指標のリアルタイムで調節された重み付けに基づいて、ネットワークコンピュータシステム１００は、表示データをユーザコンピューティング装置１９５に送信して、ユーザコンピューティング装置１９５に、ランク付けされた１組のお薦めメニューアイテムを生成および表示させ得る（８１５）。ユーザ１９７のコンピューティング装置１９５から受信された選択データに基づいて、ネットワークコンピューティングシステム１００は、本明細書に記載されているように、選択されたアイテムのオンデマンド配達をコーディネートし得る（８２０）。
【００５５】
各ユーザ１９７に配達された各アイテムについて、ネットワークコンピュータシステム１００は、メニューアイテムの消費に対するユーザの反応を決定し得る（８２５）。例えば、ネットワークコンピュータシステム１００は、評価またはテキスト情報を示すフィードバックデータを受信し得る。フィードバックデータに基づいて、ネットワークコンピュータシステム１００は、将来のお薦めのためにユーザの嗜好プロファイル１４７を更新し得る（８３０）。例えば、更新された嗜好プロファイル１４７は、ユーザ１９７個人のお薦め測定指標の調節された重み付けを含み得る。更に、調節された重み付けは、将来のメニューアイテムのお薦めを決定するための、ユーザ１９７についての更新された個人嗜好ベクトルを生じ得る。
【００５６】
ハードウェアの図
図９は、本明細書に記載されている例が実装され得るコンピュータシステムを示すブロック図である。コンピュータシステム９００は、例えば、１つのサーバ上または組み合わされた複数のサーバ上において実装され得る。例えば、コンピュータシステム９００は、図１〜図８で説明したようなネットワークサービスの一部として実装され得る。図１の文脈では、コンピュータシステム１００は、図９によって説明されているようなコンピュータシステム９００を用いて実装され得る。また、コンピュータシステム１００は、図９に関して説明されているような、複数のコンピュータシステムの組合せを用いて実装されてもよい。
【００５７】
一実施形態において、コンピュータシステム９００は、処理リソース９１０と、主メモリ９２０と、読み取り専用メモリ（ＲＯＭ）９３０と、ストレージ装置９４０と、通信インターフェイス９５０とを含む。コンピュータシステム９００は、プロセッサ９１０によって実行可能な情報および指示を格納するための（例えば、ランダムアクセスメモリ（ＲＡＭ）または他の動的ストレージ装置によって設けられるような）主メモリ９２０に格納されている情報を処理するための、少なくとも１つのプロセッサ９１０を含む。主メモリ９２０は、プロセッサ９１０によって実行される指示の実行中に、一時変数または他の中間情報を格納するためにも用いられ得る。また、コンピュータシステム９００は、プロセッサ９１０のための静的情報および指示を格納するためのＲＯＭ９３０または他の静的ストレージ装置も含み得る。情報および指示を記憶するために、磁気ディスクまたは光ディスク等のストレージ装置９４０も設けられる。
【００５８】
通信インターフェイス９５０は、コンピュータシステム９００が、（無線または有線）ネットワークリンクを用いて１以上のネットワーク９８０（例えば、セルラーネットワーク）と通信することを可能にする。このネットワークリンクを用いて、コンピュータシステム９００は、１以上のコンピューティング装置、１以上のサーバ、１以上のデータベース、および／または、１以上の自走車輌と通信し得る。複数の例によれば、コンピュータシステム９００は、個々のユーザのモバイルコンピューティング装置から要求を受信する。メモリ９３０に格納されている実行可能な指示は、画像解析指示９２２、ベクトル化指示９２４、因数分解指示９２６、プロファイリング指示９２８、ユーザ嗜好プロファイル９３２、およびリアルタイムのメニューアイテムの在庫９３４を含み得る。
【００５９】
例として、メモリ９２０に格納されている指示およびデータは、図１の例示的なコンピュータシステム１００の機能を実装するために、プロセッサ９１０によって実行され得る。様々な例において、プロセッサ９１０は、画像解析指示９２２を実行し、メニューアイテムの供給元コンテンツ９８２を構文解析して、説明的な用語のコーパスにし得る。特定の実装例において、プロセッサ９１０は、ベクトル化指示９２４を実行し、潜在空間内における（例えば、全ての説明的な用語の単語コーパスのグラフィカルな表現内における）メニューアイテムおよび／または個人ユーザ嗜好のベクトル表現または行列表現を生成し得る。因数分解指示９２６が実行されると、プロセッサ９１０は、個人嗜好およびメニューアイテムのベクトルまたは行列を因数分解し、（例えば、ユーザのコンピューティング装置１９５上に表示される個人化されたユーザインターフェイス機能９５２として）ユーザ１９７のための１組のお薦めメニューアイテムを出力し得る。プロセッサ９１０は、プロファイリング指示９２８を実行し、履歴ユーザデータ９８４を構文解析して、ユーザ１９７についての嗜好プロファイル９３２を生成し得るものであり、プロセッサ９１０は、お薦めの重み付けを適用するため、および／または、ユーザ１９７についての個人嗜好ベクトルを生成するために、これにアクセスし得る。様々な実装例において、メモリ９２０は更に、供給元１９３から受信された供給データに基づいて、ライブのメニューアイテムの在庫９３４を格納および動的に更新し得るものであり、プロセッサ９１０は、本明細書に記載されているように、お薦め測定指標に重み付けを適用するために、これを利用し得る。
【００６０】
本明細書に記載されている例は、本明細書に記載されている技術を実装するためのコンピュータシステム９００の使用に関するものである。一例によれば、これらの技術は、プロセッサ９１０が、主メモリ９２０に収容されている１以上の指示の１以上のシーケンスを実行することに応答して、コンピュータシステム９００によって行われる。そのような指示は、ストレージ装置９４０等の別の機械可読媒体から主メモリ９２０に読み込まれてもよい。主メモリ９２０に収容されている指示のシーケンスが実行されると、プロセッサ９１０は、本明細書に記載されている処理工程を行う。別の実装例では、本明細書に記載されている例を実装するために、ソフトウェア指示の代わりに、またはソフトウェア指示と組み合わせて、ハードワイヤード回路が用いられ得る。従って、記載されている例は、ハードウェア回路およびソフトウェアのどの特定の組合せにも限定されない。
【００６１】
本明細書に記載されている例は、他の概念、アイデア、またはシステムとは独立して、本明細書に記載されている個々の要素および概念に及ぶこと、並びに、例えば、本願のどこかに記載されている要素の組合せを含むことが意図される。本明細書において、添付の図面を参照して複数の例を詳細に説明したが、本概念は、これらの正確な例に限定されないことを理解されたい。従って、当業者には、多くの修正および変形が自明であろう。従って、本概念の範囲は、以下の特許請求の範囲およびそれらの等価物によって定められることが意図される。更に、個々に、または例の一部として記載された特定の特徴は、たとえ他の特徴および例がその特定の特徴について言及していない場合であっても、他の個々に記載された特徴、または他の例の一部と組み合わされ得ることが意図される。従って、組み合わせが記載されていないことによって、そのような組み合わせに対する権利を主張することを排除すべきではない。
【符号の説明】
【００６２】
１００、２９０、５９０、９００  ネットワークコンピュータシステム
１０５  供給元インターフェイス
１１０  コンテンツ解析器
１１５  運転手装置インターフェイス
１２０  お薦めエンジン
１２２  因数分解スキーマ
１２５  ユーザ装置インターフェイス
１４０  プロファイリングエンジン
１４５  ユーザデータベース
１４７、９３２  ユーザ嗜好プロファイル
１５０  コーディネートエンジン
１７０  メニューアイテムデータベース
１７３  オントロジーグラフ
１８０、２８０、５８０、９８０  ネットワーク
１９１  運転手装置
１９２  運転手アプリケーション
１９３  メニューアイテム供給元
１９４  輸送車輌
１９５、２００  ユーザコンピューティング装置
１９６、２３２  オンデマンド配達サービスアプリケーション
１９７  要求元ユーザ
２２２  アプリケーションインターフェイス、ユーザインターフェイス
３００、３１０、４００、４１０  ユーザインターフェイス
３０５  メニューアイテム、お薦めリスト
４０２  ローカル提供部分
４０４  お薦めメニューアイテム部分、リスト
４１４  ローカルな選択肢
４１６  お薦め部分
４１８  検索用語
５００  供給元コンピューティング装置
５２２、６００、６１０  供給元インターフェイス
５３２  供給元アプリケーション
９１０  プロセッサ
９２０  メモリ
９２２  画像解析指示
９２４  ベクトル化指示
９２６  因数分解指示
９２８  プロファイリング指示
９３４  リアルタイムのメニューアイテムの在庫
【図１】
2021500684.tif 000003
【図２】
2021500684.tif 000004
【図３Ａ】
2021500684.tif 000005
【図３Ｂ】
2021500684.tif 000006
【図４Ａ】
2021500684.tif 000007
【図４Ｂ】
2021500684.tif 000008
【図５】
2021500684.tif 000009
【図６Ａ】
2021500684.tif 000010
【図６Ｂ】
2021500684.tif 000011
【図７】
2021500684.tif 000012
【図８】
2021500684.tif 000013
【図９】
2021500684.tif 000014
【国際調査報告】
2021500684.tif 000015
2021500684.tif 000016
2021500684.tif 000017