(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-06-19
(54)【発明の名称】ユーザ検索カテゴリ予測器
(51)【国際特許分類】
G06Q 30/0601 20230101AFI20230612BHJP
【FI】
G06Q30/0601 330
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022568875
(86)(22)【出願日】2021-05-10
(85)【翻訳文提出日】2022-12-26
(86)【国際出願番号】 US2021031543
(87)【国際公開番号】W WO2021231279
(87)【国際公開日】2021-11-18
(32)【優先日】2020-05-12
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2021-05-06
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】521138109
【氏名又は名称】メルカリ,インコーポレイテッド
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】リシ,サヒル
(72)【発明者】
【氏名】サンカー,マニカンダン
(72)【発明者】
【氏名】オ,ビョン モク
(72)【発明者】
【氏名】チュエンブンルースーク,ヨドハビー
(72)【発明者】
【氏名】イイダ,シューイチ
(72)【発明者】
【氏名】ハラ,ジェフリー ケンイチロウ
(72)【発明者】
【氏名】ジョンソン,ステファン
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049BB08
(57)【要約】
本明細書に記載されるのは、売り出し品(FSO)のリストの検索エンジン結果を向上させるための実施形態である。検索エンジンは、同じ検索入力にマッチする異なるFSOに関するリスト間の曖昧さを解消するルールを実装することによって向上させることができる。教師なし機械学習モジュールは、候補ルールを評価し、及び人間の評価者にとって明らかでない場合がある改善を識別し得る。向上した検索エンジンを教師なし機械学習モジュールと組み合わせるeコマースサイトは、異なる候補ルールを使用して検索結果を動的に評価し、及び検索結果を繰り返し向上させることができる。
【特許請求の範囲】
【請求項1】
eコマースサイトで販売されている売り出し品(FSO)のリストの検索結果を向上させるための候補ルールを動的にテストするコンピュータ実装方法であって、
検索入力及び現在のルールに基づいて、買い手の対照群に基準検索結果を提供することと、
買い手のテスト群に、前記検索入力、前記現在のルール及び前記テスト群のうちの特定のテスト群に対応する候補ルールに基づいて、フィルタリングされた検索結果を提供することと、
前記買い手の対照群から対照応答を受け取り、及び前記買い手のテスト群からテスト応答を受け取ることと、
各テスト群について、
前記対照応答及び前記テスト応答に基づいて、前記テスト群に関するメトリックを決定することと、
前記メトリックが統計的に有意であり、及び閾値よりも小さいことに応答して、前記テスト群に対応する前記候補ルールを破棄することと、
前記メトリックが統計的に有意であり、及び前記閾値よりも大きいことに応答して、前記テスト群に対応する前記候補ルールを前記現在のルールに加えることと
を含むコンピュータ実装方法。
【請求項2】
前記メトリックは、流通取引総額、セルスルー、率kのクリックスルー率及びビュー率から選択される、請求項1に記載の方法。
【請求項3】
前記メトリックを前記決定することは、流通取引総額、セルスルー、率kのクリックスルー率及びビュー率を組み合わせることを含む、請求項1に記載の方法。
【請求項4】
前記流通取引総額、前記セルスルー、率kのクリックスルー率及び前記ビュー率を前記組み合わせることは、流通取引総額、セルスルー、率kのクリックスルー率及びビュー率を加重組み合わせで合計することを含む、請求項3に記載の方法。
【請求項5】
前記対照応答及び前記テスト応答は、前記FSOを購入すること、前記第1のフィルタリングされた検索結果若しくは前記第2のフィルタリングされた検索結果からリストを見ること、さらなる検索入力を入力すること又は前記eコマースサイトを閉じることの1つ又は複数である、請求項1に記載の方法。
【請求項6】
各テスト群に関する前記メトリックに基づく仮説にpテストを行って、p値を決定することと、
前記p値をp値閾値と比較することと、
前記p値が前記p値閾値よりも大きいことに応答して、前記メトリックが統計的に有意であることを識別することと
により、前記メトリックが統計的に有意であると決定することをさらに含む、請求項1に記載の方法。
【請求項7】
前記メトリックに基づいて1つ又は複数の値を計算することと、
前記1つ又は複数の値の各々をそれぞれの閾値と比較することと、
前記1つ又は複数の値の各々が前記それぞれの閾値よりも大きいことに応答して、前記メトリックが統計的に有意であることを識別することと
により、前記メトリックが統計的に有意であると決定することをさらに含む、請求項1に記載の方法。
【請求項8】
eコマースサイトで販売されている売り出し品(FSO)のリストの検索結果を向上させるための候補ルールを動的にテストするシステムであって、
1つ又は複数のプロセッサと、
前記1つ又は複数のプロセッサに通信可能に結合された1つ又は複数のネットワークインタフェースと、
前記1つ又は複数のプロセッサ及び前記1つ又は複数のネットワークインタフェースに通信可能に結合されたメモリであって、実行されたとき、前記1つ又は複数のプロセッサに、
1人又は複数の買い手から検索入力を受け取ることと、
前記1人又は複数の買い手のうちの各買い手を複数の群のうちの群に割り当てることであって、前記複数の群は、対照群及び1つ又は複数のテスト群を含み、各テスト群は、1つ又は複数の候補ルールのうちの候補ルールに対応する、割り当てることと、
前記検索入力に基づいて、複数のFSOリストから検索結果を識別することと、
現在のルールに基づいて前記検索結果をフィルタリングして、第1のフィルタリングされた検索結果を識別することと、
前記1つ又は複数のテスト群のうちの各テスト群について、前記現在のルールと、前記テスト群に対応する、前記1つ又は複数の候補ルールのうちの対応する候補ルールとに基づいて前記検索結果をフィルタリングして、前記テスト群に対応するフィルタリングされた検索結果を識別することと、
前記第1のフィルタリングされた検索結果を前記対照群に提供することと、
前記1つ又は複数のテスト群のうちの各テスト群について、前記テスト群に対応する前記フィルタリングされた検索結果を提供することと、
前記1人又は複数の買い手から1つ又は複数の応答指標を受け取ることと、
前記1つ又は複数の応答指標に基づいて、前記1つ又は複数のテスト群の各テスト群に関する性能メトリックを決定することと、
前記1つ又は複数の性能メトリックの少なくとも1つに基づいて、前記1つ又は複数のテスト群の各テスト群に関する統計的有意性を決定することと、
前記1つ又は複数のテスト群のうちの各テスト群について、前記テスト群に関する前記統計的有意性が閾値よりも大きいことに応答して、
前記テスト群に関する前記性能メトリックがメトリック閾値よりも小さいことに応答して、前記1つ又は複数の候補ルールのうち、前記テスト群に対応する前記候補ルールを破棄することと、
前記テスト群に関する前記性能メトリックが前記メトリック閾値よりも大きいことに応答して、前記テスト群に対応する前記候補ルールを前記現在のルールに加えることと
を行わせる命令を保存するメモリと
を含むシステム。
【請求項9】
前記性能メトリックは、流通取引総額、セルスルー、率kのクリックスルー率及びビュー率から選択される、請求項8に記載のシステム。
【請求項10】
前記命令は、前記1つ又は複数の応答指標に基づいて、流通取引総額、セルスルー、率kのクリックスルー率及びビュー率を組み合わせて前記性能メトリックを決定することを前記1つ又は複数のプロセッサにさらに行わせる、請求項8に記載のシステム。
【請求項11】
前記命令は、前記流通取引総額、前記セルスルー、率kのクリックスルー率及び前記ビュー率を加重組み合わせによって組み合わせることを前記1つ又は複数のプロセッサにさらに行わせる、請求項10に記載のシステム。
【請求項12】
前記1つ又は複数の応答指標は、前記FSOを購入すること、前記第1のフィルタリングされた検索結果若しくは前記第2のフィルタリングされた検索結果からリストを見ること、さらなる検索入力を入力すること又は前記eコマースサイトを閉じることの1つ又は複数である、請求項8に記載のシステム。
【請求項13】
前記命令は、
各テスト群に関する前記メトリックに基づく仮説にpテストを行って、p値を決定することと、
前記p値をp値閾値と比較することと、
前記p値が前記p値閾値よりも大きいことに応答して、前記メトリックが統計的に有意であることを識別することと
により、前記テスト群に関する前記統計的有意性を決定することを前記1つ又は複数のプロセッサにさらに行わせる、請求項8に記載のシステム。
【請求項14】
前記命令は、
前記メトリックに基づいて1つ又は複数の値を計算することと、
前記1つ又は複数の値の各々をそれぞれの閾値と比較することと、
前記1つ又は複数の値の各々が前記それぞれの閾値よりも大きいことに応答して、前記メトリックが統計的に有意であることを識別することと
により、前記テスト群に関する前記統計的有意性を決定することを前記1つ又は複数のプロセッサにさらに行わせる、請求項8に記載のシステム。
【請求項15】
コンピュータ可読コードを有する非一時的コンピュータ可読記憶媒体であって、
1人又は複数の買い手から検索入力を受け取ることと、
前記1人又は複数の買い手のうちの各買い手を複数の群のうちの群に割り当てることであって、前記複数の群は、対照群及び1つ又は複数のテスト群を含み、各テスト群は、1つ又は複数の候補ルールのうちの候補ルールに対応する、割り当てることと、
前記検索入力に基づいて、複数のFSOリストから検索結果を識別することと、
現在のルールに基づいて前記検索結果をフィルタリングして、第1のフィルタリングされた検索結果を識別することと、
前記1つ又は複数のテスト群のうちの各テスト群について、前記現在のルールと、前記テスト群に対応する、前記1つ又は複数の候補ルールのうちの対応する候補ルールとに基づいて前記検索結果をフィルタリングして、前記テスト群に対応するフィルタリングされた検索結果を識別することと、
前記第1のフィルタリングされた検索結果を前記対照群に提供することと、
前記1つ又は複数のテスト群のうちの各テスト群について、前記テスト群に対応する前記フィルタリングされた検索結果を提供することと、
前記1人又は複数の買い手から1つ又は複数の応答指標を受け取ることと、
前記1つ又は複数の応答指標に基づいて、前記1つ又は複数のテスト群の各テスト群に関する性能メトリックを決定することと、
少なくとも1つの性能メトリックに基づいて、前記1つ又は複数のテスト群の各テスト群に関する統計的有意性を決定することと、
前記1つ又は複数のテスト群のうちの各テスト群について、前記テスト群に関する前記統計的有意性が閾値よりも大きいことに応答して、
前記テスト群に関する前記性能メトリックがメトリック閾値よりも小さいことに応答して、前記1つ又は複数の候補ルールのうち、前記テスト群に対応する前記候補ルールを破棄することと、
前記テスト群に関する前記性能メトリックが前記メトリック閾値よりも大きいことに応答して、前記テスト群に対応する前記候補ルールを前記現在のルールに加えることと
を含む動作をコンピュータシステムに行わせるように構成された命令を含む、非一時的コンピュータ可読記憶媒体。
【請求項16】
前記性能メトリックは、流通取引総額、セルスルー、率kのクリックスルー率及びビュー率から選択される、請求項15に記載の非一時的コンピュータ可読記憶媒体。
【請求項17】
前記動作は、前記1つ又は複数の応答指標に基づいて、流通取引総額、セルスルー、率kのクリックスルー率及びビュー率を組み合わせることにより、前記性能メトリックを決定することをさらに含む、請求項15に記載の非一時的コンピュータ可読記憶媒体。
【請求項18】
前記動作は、加重組み合わせを使用して、前記流通取引総額、前記セルスルー、率kのクリックスルー率及び前記ビュー率を組み合わせることをさらに含む、請求項17に記載の非一時的コンピュータ可読記憶媒体。
【請求項19】
前記1つ又は複数の応答指標は、FSOを購入すること、前記第1のフィルタリングされた検索結果若しくは前記第2のフィルタリングされた検索結果からリストを見ること、さらなる検索入力を入力すること又はeコマースサイトを閉じることの1つ又は複数である、請求項15に記載の非一時的コンピュータ可読記憶媒体。
【請求項20】
前記動作は、
前記メトリックに基づいて1つ又は複数の値を計算することと、
前記1つ又は複数の値の各々をそれぞれの閾値と比較することと、
前記1つ又は複数の値の各々が前記それぞれの閾値よりも大きいことに応答して、前記メトリックが統計的に有意であることを識別することと
により、前記メトリックが統計的に有意であると決定することをさらに含む、請求項15に記載の非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
技術分野
[0001] 本開示は、概して、検索結果を向上させるルールをテストし、及びそれを検索方法に組み込むことに関する。
【背景技術】
【0002】
背景
[0002] eコマースウェブサイト及びアプリケーションは、様々な商品を購入するための手段を買い手に提供する。しかしながら、これらの商品の検索は、多くの場合、検索結果に曖昧さをもたらし得る。買い手は、入力を最小限に抑えようと試みる場合があるか、又は買い手の意図を曖昧に伝える方法で売り出し品(FSO)リストを検索する場合がある。異なる複数のFSOは、類似の検索語にマッチする特徴又は名称を有する場合がある。検索結果は、無用のFSOリストで溢れている場合があるか、又はeコマースサイトで買い手が探しているFSOのリストが存在するにもかかわらず、それらのリストを含まない場合さえある。
【発明の概要】
【課題を解決するための手段】
【0003】
概要
[0003] 本明細書で提供されるのは、検索入力の曖昧さを低減するルールをテストし、何れのルールが有効であるかを識別し、及びeコマースサイトでそれらのルールを実装することにより、eコマースサイトの検索エンジン結果を向上させるためのシステム、装置、製品、方法及び/又はコンピュータプログラム製品の実施形態及び/又はそれらの組み合わせ及び部分組み合わせである。
【0004】
[0004] 幾つかの実施形態は、検索入力及び現在のルールに基づいて、買い手の対照群に基準検索結果を提供することと、買い手のテスト群に、検索入力、現在のルール及び特定のテスト群に対応する候補ルールに基づいて、フィルタリングされた検索結果を提供することと、買い手の対照群から対照応答を受け取り、及び買い手のテスト群からテスト応答を受け取ることと、各テスト群について、対照応答及びテスト応答に基づいて、テスト群に関するメトリックを決定することと、メトリックが統計的に有意であり、及び閾値よりも小さいことに応答して、テスト群に対応する候補ルールを破棄することと、メトリックが統計的に有意であり、及び閾値よりも大きいことに応答して、テスト群に対応する候補ルールを現在のルールに加えることとによって動作する。
【0005】
[0005] 幾つかの実施形態は、買い手から検索入力を受け取ることと、各買い手を1つの群に割り当てることであって、複数の群は、対照群及びテスト群を含み、各テスト群は、1つの候補ルールに対応する、割り当てることと、検索入力に基づいて、複数のFSOリストから検索結果を識別することと、現在のルールに基づいて検索結果をフィルタリングして、第1のフィルタリングされた検索結果を識別することと、各テスト群について、現在のルールと、テスト群に対応する対応候補ルールとに基づいて検索結果をフィルタリングして、テスト群に対応するフィルタリングされた検索結果を識別することと、対照群に第1のフィルタリングされた検索結果を提供することと、各テスト群について、テスト群に対応するフィルタリングされた検索結果を提供することと、買い手から応答指標を受け取ることと、応答指標に基づいて、各テスト群に関する性能メトリックを決定することと、性能メトリックに基づいて、各テスト群に関する統計的有意性を決定することと、各テスト群について、テスト群に関する統計的有意性が閾値よりも大きいことに応答して、テスト群に関する性能メトリックがメトリック閾値よりも小さいことに応答して、候補ルールのうち、テスト群に対応する候補ルールを破棄することと、テスト群に関する性能メトリックがメトリック閾値よりも大きいことに応答して、テスト群に対応する候補ルールを現在のルールに加えることとによって動作する。
【0006】
[0006] 本開示のさらなる実施形態、特徴及び利点並びに本開示の様々な実施形態の構造及び動作は、添付の図面を参照して以下で詳細に説明される。
【0007】
図面/図の簡単な説明
[0007] 本明細書に組み込まれ、本明細書の一部を形成する添付の図面は、本開示の実施形態を示し、説明と併せて、本開示の原理を説明し、当業者が実施形態を製造及び使用することを可能にするのにさらに役立つ。
【図面の簡単な説明】
【0008】
【
図1】[0008]幾つかの実施形態による、動的向上が可能な検索エンジンを含む、買うべき品物をユーザが検索できるeコマースサイトのコンピューティング環境のブロック図を示す。
【
図2】[0009]幾つかの実施形態による、検索エンジン結果を向上させるための候補ルールをテストする方法を示すフローチャートである。
【
図3】[0010]幾つかの実施形態による、本開示の様々な態様を行うために使用され得る汎用コンピュータのブロック図を示す。
【発明を実施するための形態】
【0009】
[0011] 図面では、同様の参照番号は、一般に、同一又は同様の要素を示す。加えて、一般に、参照番号の左端の1つ又は複数の桁は、その参照番号が最初に現れた図面を識別する。
【0010】
詳細な説明
[0012] 本明細書で提供されるのは、検索入力の曖昧さを低減するルールをテストし、何れのルールが有効であるかを識別し、及びeコマースサイトでそれらのルールを実装することにより、eコマースサイトの検索エンジン結果を向上させるためのシステム、装置、製品、方法及び/又はコンピュータプログラム製品の実施形態及び/又はそれらの組み合わせ及び部分組み合わせである。
【0011】
[0013]
図1は、幾つかの実施形態による、買い手140が売りに出されている品物及びサービス(本明細書では、売り出し品又はFSOと呼ばれる)の閲覧、検索及び購入を行うことができるeコマースサイト102を含むコンピューティング環境100のブロック図を示す。買い手140は、インターネット130若しくは任意の他のネットワーク又は通信媒体、規格、プロトコル若しくは技術を介してeコマースサイト102にアクセスし得る。
【0012】
[0014] eコマースサイト102は、買い手140が検索エンジン110を使用して検索できるFSOのリストを含むリストデータベース104を有する。買い手140が所望のリストを見つけると、買い手140は、販売モジュール107により、所望のリスト中のFSOを購入することを選択し得る。
【0013】
[0015] eコマースサイト102は、幾つかの実施形態による、eコマースサイト102との買い手140のインタラクションをモニタリングし、及び検索エンジン110を修正することができる機械学習モジュール120を有する。eコマースサイト102は、データを保存するための他のデータベース106及びeコマースサイト102に関連する機能を行うための他のモジュール109も含む。
【0014】
[0016] 検索エンジン110は、買い手140による検索入力を入力モジュール111から受け取り、結果モジュール113を使用して、検索入力にマッチするリストを求めてリストデータベース104を検索することができる。結果モジュール113は、幾つかの実施形態によると、検索結果を識別し、それらを出力モジュール119に提供し得る。出力モジュール119は、検索結果を買い手140に提供し得る。
【0015】
[0017] 幾つかの実施形態では、検索エンジン110は、検索結果をフィルタリングするためのルールを含むルールデータベース115を有する。ルールは、リストを追加するか又は検索結果からリストを除去するための条件又はパラメータのセットであり得る。幾つかの実施形態では、ルールは、検索結果から不要な結果をフィルタリングするために、検索入力の曖昧さを解消するように構成され得る。幾つかの実施形態では、ルールは、結果全体のうち、特定の結果がより上位に又はより先に現れるように、特定の結果を押し上げるように構成され得る。これらの結果は、結果に関連する属性に基づいて押し上げられ得る。幾つかの実施形態では、ルールは、1つ又は複数の属性を有する又は有しない品物に基づいて結果をランク付けし得る。
【0016】
[0018] 結果フィルタ117及びルールデータベース115は、検索入力及びルールに基づいて検索結果をフィルタリングするために、一緒に動作し得る。例えば、結果フィルタ117は、ルールデータベース115からのルールを適用することにより、検索結果をフィルタリングし、ルールを満たさない結果を除去することができる。別の例として、結果フィルタ117は、ルールデータベース115からのルールを結果モジュール113に提供することにより、提供されたルールを満たすリストからの検索結果のみを結果モジュール113に識別させることができる。さらに別の例として、結果フィルタ117は、リストデータベース104内のリストにルールを適用することにより、フィルタリングされたリストを識別することができ、その後、結果モジュール113は、フィルタリングされたリストを検索して検索結果を識別することができる。さらに別の例として、結果フィルタ117は、ルールデータベース115からのルールを適用することにより、特定の結果が検索結果の一番目に現れるように、その特定の結果を重視するか又は押し上げることができる。
【0017】
[0019] 例えば、「IPHONE」という検索入力は、IPHONE及びIPHONEケースの両方のリストにマッチし得る。これは、買い手140が、何れの品物を検索する場合にも「IPHONE」を入力する可能性があるため、検索入力によって導入される曖昧さである。この曖昧さは、検索入力に「ケース」などの単語を追加するなど、買い手140が追加の情報を入力することによって解消され得る。例示的ルールは、IPHONEのリストと、ケースなどのアクセサリのリストとを差別化することにより、この曖昧さを解消し得る。ルールは、IPHONEとIPHONEアクセサリとを区別するカテゴリを差別化することにより、これを行い得る。ルールは、「IPHONE」の入力に関して、IPHONEアクセサリが除外されるべきであることであり得る。すわなち、ルールは、「IPHONE」の入力に関して、アクセサリのカテゴリが除外されるべきであることであり得る。
【0018】
[0020] 別の例として、ルールは、結果として「IPHONE」を「IPHONEケース」よりも上に押し上げるか、又は「IPHONE」を「IPHONEケース」よりも重視することが可能である。この場合、検索結果は、あらゆる「IPHONE」の検索結果を「IPHONEケース」の検索結果の前に置くであろう。
【0019】
[0021] 幾つかの実施形態では、機械学習モジュール120は、ルールデータベース115に組み入れるための新しいルールを識別するために、候補ルールを動的にテストする。候補ルールは、検索入力の潜在的な又は既知の曖昧さを解消し得る。群制御129は、ルールモジュール125からの候補ルールをルールデータベース115又はルール結果フィルタ117に提供することにより、候補ルールを動的にテストするために何れの買い手140が利用されるかを制御し得る。結果フィルタ117は、ルールデータベース115の既存のルールとの組み合わせを含む候補ルールを使用することにより、検索結果をフィルタリングし得る。群制御129は、フィルタリングされた検索結果を、指定された買い手140の群に提供するように出力モジュール119を構成し得る。
【0020】
[0022] eコマースサイト102は、出力モジュール119によって提供された検索結果に対する買い手140の応答をモニタリングし得る。応答データベース121は、これらの応答に関する情報を保存することができ、統計モジュール123は、これらの応答に対して統計分析を行うことができ、メトリックモジュール127は、応答のメトリックを計算することができる。機械学習モジュール120は、候補ルールが統計分析及びメトリックに基づいて曖昧さを解消するのに有効であるかどうかを決定し得る。候補ルールが有効であれば、機械学習モジュール120は、検索結果のフィルタリングにおいて使用されるように、そのルールをルールデータベース115に加え得る。候補ルールが有効でなければ、機械学習モジュール120は、そのルールを破棄し得る。
【0021】
[0023] 機械学習モジュール120は、検索入力又は検索結果の識別又は認識された曖昧さに基づいて、ルールモジュール125を使用して候補ルールを生成し得る。候補ルールは、検索エンジン110によって識別又は生成される検索結果を向上させようとする目的で生成され得る。機械学習モジュール120は、インターネット130又は他のソースにより、ルール入力モジュール150から候補ルールを受け取ることもできる。
【0022】
[0024] 幾つかの実施形態では、ルール入力モジュール150は、eコマースサイト102に組み込まれ得る。例えば、ルール入力モジュール150は、機械学習モジュール120又は他のモジュール109に組み込まれ得る。
【0023】
[0025] 幾つかの実施形態では、機械学習モジュール120は、買い手140のサブセットに対して候補ルールの動的テストを行うことができる。群制御129は、買い手140を買い手140A、買い手140B~買い手140Zなどの群に分けることができる。機械学習モジュール120は、フィルタリングを行わないか、又は候補ルールではなく、ルールデータベース115内の現在のルールに基づいてフィルタリングを行った検索結果のみを受け取る対照群として、買い手140Aなどの買い手140の群を利用し得る。機械学習モジュール120は、候補ルール又は候補ルールと組み合わせた現在のルールによってフィルタリングされた検索結果を受け取るテスト群として、買い手140B又は140Zなどの買い手140の他の群を利用し得る。各テスト群は、特定の候補ルールと関連付けられ得る。
【0024】
[0026] 機械学習モジュール120は、買い手140の対照群及びテスト群を用いることにより、基準検索結果及び候補ルールを使用してフィルタリングされた検索結果の両方からの検索結果に対する買い手の応答の比較を提供することができる。統計分析及びメトリックは、上記で述べたように買い手の応答に対して、及び以下でさらに述べるようにこれらの比較に基づいて行われ得る。
【0025】
[0027] 機械学習モジュール120は、教師なし学習を行うことができ、それにより、機械学習モジュール120は、データを収集し、そのようなデータを受け取り時に処理する。このプロセスにより、機械学習モジュール120は、人間の入力とは無関係に検索結果を向上させるためのルールを有利に識別及び実装することができる。機械学習モジュール120が識別するルールは、人間の観察者にとって明らかでない場合があるが、機械学習モジュール120は、何れのルールが買い手のために検索結果を向上させるかを決定するためのルールを評価する方法(下記の方法200の実施形態など)を用いることにより、それらのルールを有効と識別し得る。
【0026】
[0028]
図2は、幾つかの実施形態による、検索エンジン結果を向上させるための候補ルールをテストする方法200を示すフローチャートである。方法200は、ハードウェア(例えば、回路網、専用論理、プログラマブル論理、マイクロコードなど)、ソフトウェア(例えば、処理デバイスで実行する命令)又はこれらの組み合わせを含み得る論理を処理することによって行われ得る。方法200のステップは、上記のeコマースサイト102によって行われ得る。方法200のステップは、上記で説明したように及び以下のステップの説明でより明確にされるように、eコマースサイト102のモジュール及びエンジンによって行われ得る。本明細書に開示される向上した技術を行うために、方法200のステップのサブセットで十分な場合がある。さらに、方法200の幾つかのステップは、当業者によって理解されるように、同時に又は
図2に示される順序と異なる順序で行われ得る。
【0027】
[0029] 幾つかの実施形態では、eコマースサイト102は、eコマースサイト102に含まれるモジュール、データベース及びエンジン間の通信を提供する。eコマースサイト102は、インターネット130によって入力を受け取り、その入力を上記のモジュール、データベース及びエンジンに提供し得る。eコマースサイト102は、インターネット130により、買い手140にデータを送り得る。
【0028】
[0030] 210では、入力モジュール111が買い手140から検索入力を受け取る。例えば、検索入力は、eコマースサイト102によって受け取られ、検索エンジン110の入力モジュール111に提供され得る。
【0029】
[0031] 幾つかの実施形態では、検索入力は、リストデータベース104のリスト中で買い手140が探しているFSOを表す文字列である。検索入力は、eコマースサイト102上で起動しているウェブサイト又はアプリケーションのユーザインタフェースに入力され得る。検索入力は、ブール演算子、検索カテゴリ選択又は他の制約などの検索制約を含み得る。
【0030】
[0032] 幾つかの実施形態では、特定のFSOに関して特定の買い手140から受け取る検索入力は、同じである。例えば、APPLE IPHONEに関して、特定の買い手から受け取った検索入力は、その買い手がその特定のFSOを探すときに常に同じ文字列である。
【0031】
[0033] 215では、群制御129は、各買い手140を対照群又はテスト群に割り当てる。テスト群は、検索結果を向上させるための候補ルールに対応する。2つ以上のテスト群が存在し得、各テスト群は、異なる候補ルールに対応する。例えば、買い手140Aは、対照群であり得、買い手140B~買い手140Zがテスト群である。対照群及びテスト群は、同じ数の買い手140を含んでも含まなくてもよい。
【0032】
[0034] 幾つかの実施形態では、買い手140は、2回以上同じ検索入力を提供し得る。例えば、買い手140は、後に検索を繰り返す場合がある。この場合、買い手140は、215において、群制御129により、ある群に既に割り当てられている。群制御129が買い手140をある群に割り当てようとするとき、買い手140が既にある群に属する場合、群制御129は、買い手140を新しい群に割り当てず、代わりに、買い手140を、以前に割り当てられた群に割り当てる。
【0033】
[0035] 220では、結果モジュール113は、検索入力に基づいて、買い手140のための検索結果を識別する。結果モジュール113は、入力モジュール111から検索入力を受け取り、検索アルゴリズムを使用して、検索入力にマッチ又は対応するリストを求めてリストデータベース104又はそのサブセットを検索し、及び検索結果としてそれらを識別する。eコマースサイト102は、特定の検索入力に関するこれらの検索結果を他のデータベース106に保存し得る。検索結果は、検索入力にマッチする、保存された検索結果にアクセスすることによって識別され得る。
【0034】
[0036] 230では、結果フィルタ117は、買い手140が属する群に基づいて検索結果をフィルタリングして、フィルタリングされた検索結果を識別する。結果フィルタ117は、ルールデータベース115からの現在のルール及びルールモジュール125からの候補ルールの両方にアクセスすることができるか、又はそれらのルールを使用することができる。対照群の買い手140に関して、結果フィルタ117は、現在のルールを使用し得る。テスト群の買い手140に関して、結果フィルタ117フィルタは、現在のルール及び買い手140のテスト群に対応する候補ルールを使用し得る。ステップ230は、対照群及び各テスト群について、異なるフィルタリングされた検索結果を識別し得る。eコマースサイト102は、各フィルタリングされた検索結果を他のデータベース106に保存し得る。フィルタリングされた検索結果は、同じ入力及びルールに関する保存されたフィルタリングされた検索結果にアクセスすることによって識別され得る。
【0035】
[0037] 現在のルール及び候補ルールにおけるルールは、検索入力及びリストの両方に含まれる様々なパラメータに基づいてフィルタリングし得る。例えば、特定の検索入力に関して、あるリストパラメータを優先することができ、そのパラメータを含むリストのみが含まれ得る。別の例として、特定の検索入力に関して、あるリストパラメータを押し上げることができ、そのリストパラメータは、他のリストよりも高いスコア又は優先度でリストされる。非限定例として、ルールは、「IPHONE」の検索が「スマートフォン」カテゴリに対応することであり得、このルールは、このカテゴリを含むリストを識別する一方、このカテゴリを含まないリストを除去する。別の非限定例として、ルールは、「IPHONE」の検索が「スマートフォン」カテゴリに対応することであり得、このルールは、このカテゴリを含むリストを、このカテゴリを含まない他のリストよりも上に押し上げる。
【0036】
[0038] 幾つかの実施形態では、ステップ220及び230は、
図2の例に示される順序と異なる順序で行われ得る。例えば、上述の通り、ステップ220は、検索結果を識別し、ステップ230は、ルールを使用して検索結果をフィルタリングする。この手法は、フィルタリングすべきリストの数を検索ステップが減らすため、フィルタリングステップが、コンピュータサイクル又は資源の点で検索ステップよりも費用のかかる場合に有利であり得る。別の例では、ステップ230は、ルールを使用して、リストデータベース104に保存されたリストをフィルタリングし、ステップ220は、フィルタリングされたリストを検索する。この手法は、検索されるべきリストの数をフィルタリングステップが減らすため、検索ステップが、コンピュータサイクル又は資源の点でフィルタリングステップよりも費用のかかる場合に有利であり得る。
【0037】
[0039] 240では、出力モジュール119は、買い手140が属する群に基づいて、フィルタリングされた検索結果を買い手140に提供する。対照群の買い手140は、現在のルールに基づいてフィルタリングされた検索結果を受け取る。テスト群の買い手140は、現在のルール及びテスト群に対応する候補ルールに基づいてフィルタリングされた検索結果を受け取る。フィルタリングされた検索結果は、インターネット130を通して買い手140に提供され得る。
【0038】
[0040] ステップ250では、eコマースサイト102は、買い手140から応答を受け取る。eコマースサイト102は、応答データベース121又は他のデータベース106に応答を保存し、どのような応答が受け取られたかの指標又は応答の詳細(購入されたFSOに支払われた価格など)を応答データベース121に提供し得る。機械学習モジュール120は、他のデータベースから応答指標を引き出し、それを応答データベース121に保存し得る。
【0039】
[0041] 幾つかの実施形態では、応答は、提供されたフィルタリングされた検索結果に基づいて買い手140によって行われる行為である。例示的応答は、限定されないが、以下を含む。
・買い手140が、フィルタリングされた検索結果内でリストを選択する。
・買い手140が、オンラインショッピングカートなどのチェックアウトシステムにリスト中のFSOを加えることを選択する。
・買い手140が30日などの一定期間内にFSOを購入する。
・買い手140が一定期間をおいてショッピングカート内のFSOを購入しない。
・買い手140が、フィルタリングされた検索結果中の2つ以上のリストを見ることを選択する。
・買い手140が、修正された又は異なる検索を入力する(これは、買い手140が、フィルタリングされた検索結果中の何れのリストも選択しなかったことを示す)。
・買い手140が、eコマースサイト102を起動しているブラウザ、ウィンドウ、タブ又はアプリケーションを閉じる(これは、買い手140が、フィルタリングされた検索結果中の何れのリストも選択しなかったことを示す)。
【0040】
[0042] 幾つかの実施形態では、eコマースサイト102は、単一の買い手140から2つ以上の応答を受け取る。例えば、買い手140は、幾つかのリストを見て、それらのリストの1つからFSOを購入する場合があり、これは、複数の応答を生じさせ得る。ステップ250は、ある期間にわたって又は同時に複数の応答を受け取り得る。
【0041】
[0043] 260では、メトリックモジュール127が応答のメトリックを計算する。メトリックモジュール127は、対照群及び各テスト群又は群のサブセットに関するメトリックを計算し得る。メトリックモジュール127は、単一のメトリック又は幾つかの異なるメトリックを計算し得る。メトリックモジュール127は、メトリックを組み合わせ得る(加重組み合わせの使用を含む)。加重組み合わせにおける加重は、検索結果及びフィルタリングされた検索結果間の曖昧さの低減に関する候補ルールの有効性についての情報の提供における、異なるメトリックの相対的ランク付けに基づいて設定され得る。
【0042】
[0044] 応答のメトリックは、流通取引総額(GMV)であり得る。メトリックモジュール127は、検索結果に応答して対照群の買い手140に販売された品物の費用の総額として、対照群に関するGMVを決定又は計算し得る。GMVは、フィルタリングされた検索結果に応答して買い手に販売された品物の費用の総額として、テスト群に関して計算され得る。
【0043】
[0045] 応答のメトリックは、ビュー率であり得る。対照群では、メトリックモジュール127は、フィルタリングされた検索結果中のFSOリストを受け取り、そのFSOリストを見ることを選択した買い手140の数としてビュー率を決定又は計算し得る。テスト群では、メトリックモジュール127は、フィルタリングされた検索結果中のFSOリストを受け取り、そのFSOリストを見ることを選択した買い手140の数としてビュー率を決定又は計算し得る。
【0044】
[0046] 応答のメトリックは、セルスルー率であり得る。対照群に関して、メトリックモジュール127は、対照群の買い手140によって購入された特定のタイプのFSOの数を、フィルタリングされた検索結果中の上記の特定のタイプのFSOを含むFSOリストの数で割ったものとして、セルスルー率を決定又は計算し得る。テスト群に関して、メトリックモジュール127は、テスト群の買い手140によって購入された特定のタイプのFSOの数を、フィルタリングされた検索結果中の上記の特定のタイプのFSOを含むFSOリストの数で割ったものとして、セルスルー率を計算し得る。
【0045】
[0047] 応答のメトリックは、率kのクリックスルー率(CTR)であり得る。メトリックモジュール127は、上位k個の結果中の品物をクリックした人のパーセンテージとして、率kのCTRを決定又は計算し得る。例えば、率36のCTRの場合、100人が結果を見て、32人が上位36個の結果中の結果をクリックした場合、率36のCTRは、32%である。幾つかの実施形態では、率kは、3、6、12、18、36又は他の値である。
【0046】
[0048] 率kのCTRは、ユーザにとってより有用な又は望ましい検索結果を識別し得る。幾つかの実施形態では、率kのCTRを使用して、方法200の他のステップで行われるフィルタリングの一部として、より上位に押し上げるか又はランク付けすべき結果を識別する。幾つかの実施形態では、率kのCTRによって識別された結果を使用して、率kの高CTR(50%を超える、75%を超える又は他の閾値など)を有する一般的品物属性を識別する。その後、これらの属性を有する品物は、より上位に押し上げられるか又はランク付けされ得る。幾つかの実施形態では、率kのCTRを使用して、品物又は品物属性を押し上げるか又はランク付けするためのルールを作成する。
【0047】
[0049] 組み合わせメトリックの一例として、メトリックは、GMV、ビュー率及びセルスルーの投票であり得る。メトリックの2つ以上が対照群よりもテスト群に関して高ければ、メトリックは、候補ルールが有効であることを表す値に設定され得る。メトリックの2つ以上がテスト群よりも対照群に関して高ければ、メトリックは、候補ルールが無効であることを表す値に設定され得る。この組み合わせは、上述の通り、投票の一部が他の投票よりも価値があるように加重され得る。
【0048】
[0050] 270では、統計モジュール123がメトリックの統計的有意性を決定する。各メトリックは、メトリック閾値との比較に基づいて、候補ルールが結果を向上させているか否かを示す。メトリックモジュール127は、メトリックが示すものを決定するために、メトリックとメトリック閾値との比較を行い得る。メトリックモジュール127は、この指示を統計モジュール123に提供し得る。指示に基づいて、統計モジュール123は、候補ルールが示される通り機能しているという仮説を立て得る。
【0049】
[0051] 幾つかの実施形態では、統計モジュール123は、メトリックと閾値との比較を行うことによって統計的有意性を決定し得る。例えば、1つ又は複数の値は、メトリックに基づいて計算することができ、各値は、それぞれの閾値と比較され得る。メトリックは、各値がそれぞれの閾値よりも大きい場合に統計的に有意である。
【0050】
[0052] 一例として、決定された値は、p値であり得、すなわち、統計モジュール123は、メトリックにpテストを行うことによって統計的有意性を決定し得る。統計モジュール123は、候補ルールが示される通り機能しているという仮説にpテストを行い得る(仮説のためのp値を決定することを含む)。例として、pテストに関する仮説は、テスト群の結果を対照群、対照群及び他のテスト群の組み合わせ又は異なるテスト群と比較し得る。
【0051】
[0053] 別の例として、フィルタリングされていない検索結果の総売上高は、ある値を有し得る一方、フィルタリングされた結果のGMVは、パーセンテージがいくらか高くなり得る。これら2つの比較は、増加率をもたらし、これは、増加率が30%又は40%などの閾値よりも高い場合にGMVの統計的有意性を示す。具体的な非限定例では、GMVが$2000であり、フィルタリングなしで同じ品物がわずかに$1000で販売された場合、生の値は、100%増加している。この増加は、30%の閾値よりも大きく、したがって統計的に有意である。
【0052】
[0054] 幾つかの実施形態では、閾値は、増加率及び総合的値の両方を考慮する。例えば、GMVが$13であり、及びフィルタリングされていない販売価格が$10である場合、30%の増加であるが、実際のドル換算の相対的増加は、小さい。閾値は、増加率及び$50、$100、$500、$1000又は他の額などのある額よりも大きいドル増加であり得る。
【0053】
[0055] 275では、統計モジュール123は、メトリックの統計的有意性が閾値よりも大きいかどうかをチェックする。ステップ270で決定された1つ又は複数の値がそれぞれの閾値よりも大きい場合、メトリックは、統計的に有意である。この結果に基づいて、方法200は、ステップ210に戻り、他の買い手140から検索入力を受け取る。
【0054】
[0056] 幾つかの実施形態では、閾値は、残りの候補ルールの数に基づいて設定又は変更され得る。例えば、閾値は、候補ルールの数が増加するにつれて増加し得る。
【0055】
[0057] 280では、メトリックモジュール127は、メトリックがメトリック閾値よりも大きいか否かをチェックする。メトリック閾値は、上述の通り、候補ルールがルールの対照群、他のテスト群の候補ルール又はその両方よりもテスト群の検索結果を向上させているか否かを識別するために設定され得る。メトリック、メトリック閾値又はその両方は、互いに比較するためにスケール変更又は正規化され得る。
【0056】
[0058] 幾つかの実施形態では、メトリックモジュール127は、ステップ270で使用される仮説を決定するために、メトリックがメトリック閾値よりも大きいか否かをチェックする。メトリックモジュール127は、結果を内部又は他のデータベース106に保存し得る。ステップ280を行う際、チェックを繰り返す代わりに、メトリックモジュール127は、それをチェックするために結果にアクセスするか又は結果を引き出すことができる。
【0057】
[0059] メトリックがメトリック閾値よりも小さい場合、候補ルールは、有効ではなく、方法200は、ステップ285に進む。285では、機械学習モジュール120は、候補ルールを破棄する。機械学習モジュール120は、候補ルール及び対応するテスト群に関する、応答データベースに保存された応答データも破棄することができる。群制御129は、候補ルールに対応するテスト群を除去することができる。機械学習モジュール120によって行われる未来のメトリック及び統計的計算又は決定は、もはや除去されたテスト群を含まないことが可能である。群制御129は、除去されたテスト群からの買い手140による未来の検索に対して、これらの買い手140を他のテスト群又は対照群に割り当てることによって応答し得る。
【0058】
[0060] メトリックがメトリック閾値よりも大きい場合、候補ルールは、有効であり、方法200は、ステップ290に進む。
【0059】
[0061] 幾つかの実施形態では、メトリック閾値は、残りの候補ルールの数に基づいて設定され得るか又は変化し得る。例えば、メトリック閾値は、候補ルールの数が減少するにつれて増加し得る。
【0060】
[0062] 290では、機械学習モジュール120は、候補ルールの評価が完了したか否かをチェックする。例えば、候補ルールの評価は、残りの候補ルールの数がルール数閾値を下回るとき、残りのルールのすべてに関するp値がp値閾値を上回るとき又は残りの候補ルールに関するすべてのp値が、その候補ルールに関する仮説が統計的に有意であることを示すときに完了し得る。
【0061】
[0063] 幾つかの実施形態では、機械学習モジュール120は、候補ルールの評価が完了したかどうかを検証するために、ステップ285による候補ルールの除去に基づいて統計モジュール123にpテストを更新させる。
【0062】
[0064] 評価が完了していなければ、方法200は、ステップ210に戻り、検索入力をさらに受け取る。
【0063】
[0065] 評価が完了した場合、方法200は、ステップ295に進む。295では、機械学習モジュール120は、現在のルールに候補ルールを加えることにより、ルールデータベース115を更新する。幾つかの実施形態では、機械学習モジュール120は、ルールモジュール125内の残りの候補ルールを現在のルールに加える。追加された候補ルールは、候補ルールがルールモジュール125内の現在のルールに対して有効であることを示す統計的に有意なメトリックを有する候補ルールに限定され得る。
【0064】
[0066] 幾つかの実施形態では、ステップ295において、機械学習モジュール120は、残りのルールに関するメトリックを更新する。この更新は、ステップ260を行うことによって生じ得る。機械学習モジュール120は、更新されたメトリックをメトリック閾値に照らしてチェックし得る。このチェックは、ステップ280を行うことによって生じ得る。機械学習モジュール120は、メトリック閾値よりも小さい更新されたメトリックを有する候補ルールを除去し、残りの候補ルールをルールモジュール125内の現在のルールに加え得る。
【0065】
[0067] 当業者は、方法200が異なる時点で異なる買い手140から異なる検索入力又は応答を受け取り得ることを理解するであろう。eコマースサイト102、検索エンジン110及び機械学習モジュール120は、同時に又は異なる時点において、異なる買い手140、検索入力又は応答に対して方法200の様々なステップを行い得る。方法200は、方法200の異なる入力又は処理に対処するために、必要に応じて、様々なステップを同時に、順次又は異なる時点で能動的に行い得る。候補ルールの破棄などの方法200のステップは、上記の通り、方法200の他のステップに影響を与える場合があり、これは、反復間において、一部のステップがどのように行われるかの更新又は変更をもたらし得る。
【0066】
[0068] 方法200は、異なる検索入力に対して同時に及び独立して行われ得る。例えば、eコマースサイト102は、買い手140から異なる複数の検索入力を受け取り、異なる検索入力ごとに検索結果を向上させるために方法200を行い得る。買い手140は、買い手140が入力した検索入力ごとに異なる対照群及びテスト群に割り当てられ得る。
【0067】
[0069] 特定の候補ルールのセットに関して、すべての候補ルールが破棄されるまで又は候補ルールの一部が現在のルールに追加されるまで、方法200が検索入力に対して行われ得る。破棄された候補ルールは、後に異なる候補ルールのセットの一部として再度テストされ得る。異なる候補ルールのセットは、以前の反復からの破棄された候補ルールを含み得る。当業者は、候補ルールが、買い手140の習慣又は市場の力の変化に応じて、時間が経つにつれて無効から有効に有効性が変化し得ることを理解するであろう。
【0068】
例示的コンピュータシステム
[0070] 様々な実施形態は、例えば、
図3に示されるコンピュータシステム300などの1つ又は複数のコンピュータシステムを使用して実装され得る。1つ又は複数のコンピュータシステム300は、例えば、本明細書で述べた実施形態並びにそれらの組み合わせ及び部分組み合わせの何れかを実装するために使用され得る。
【0069】
[0071] コンピュータシステム300は、プロセッサ304などの1つ又は複数のプロセッサ(中央処理装置又はCPUとも呼ばれる)を含み得る。プロセッサ304は、バス又は通信インフラ306に接続され得る。
【0070】
[0072] コンピュータシステム300は、1つ又は複数のユーザ入出力インタフェース302を介して通信インフラ306と通信し得る、モニタ、キーボード、ポインティングデバイスなどの1つ又は複数の入出力デバイス303も含み得る。
【0071】
[0073] プロセッサ304の1つ又は複数は、グラフィック処理ユニット(GPU)であり得る。ある実施形態では、GPUは、数学的負荷の高いアプリケーションを処理するように設計された専用電子回路であるプロセッサであり得る。GPUは、例えば、コンピュータグラフィックスアプリケーション、画像、映像、ベクトル処理、アレイ処理など、並びに暗号化技術(ブルートフォースクラッキングを含む)、暗号学的ハッシュ又はハッシュシーケンスを生成すること、部分ハッシュ反転問題を解くこと及び/又は一部のブロックチェーンベースのアプリケーションに関する他のプルーフオブワーク計算の結果を生じさせることに共通する、数学的負荷の高いデータなどの大きいデータブロックの並列処理にとって効率的な並列構造を有し得る。GPUによる汎用計算(GPGPU)の能力により、GPUは、少なくとも本明細書に記載される画像認識及び機械学習の側面で特に有用であり得る。
【0072】
[0074] 加えて、プロセッサ304の1つ又は複数は、コプロセッサ又は暗号計算若しくは他の特殊数学関数を加速させるための論理の他の実装(ハードウェア加速暗号コプロセッサを含む)を含み得る。このような加速されたプロセッサは、コプロセッサ及び/又はそのような加速を促進するための他の論理を使用した加速のための1つ又は複数の命令セットをさらに含み得る。
【0073】
[0075] コンピュータシステム300は、ランダムアクセスメモリ(RAM)などのメイン又は一次メモリ308も含み得る。メインメモリ308は、1つ又は複数のキャッシュレベルを含み得る。メインメモリ308は、内部に制御論理(すなわちコンピュータソフトウェア)及び/又はデータを保存し得る。
【0074】
[0076] コンピュータシステム300は、1つ又は複数の二次記憶デバイス又は二次メモリ310も含み得る。二次メモリ310は、例えば、メイン記憶ドライブ312及び/又はリムーバブル記憶デバイス若しくはドライブ314を含み得る。メイン記憶ドライブ312は、例えば、ハードディスクドライブ又はソリッドステートドライブであり得る。リムーバブル記憶ドライブ314は、フロッピーディスクドライブ、磁気テープドライブ、コンパクトディスクドライブ、光学式記憶デバイス、テープバックアップデバイス及び/又は任意の他の記憶デバイス/ドライブであり得る。
【0075】
[0077] リムーバブル記憶ドライブ314は、リムーバブル記憶ユニット318とインタラクトし得る。リムーバブル記憶ユニット318は、コンピュータソフトウェア(制御論理)及び/又はデータを保存したコンピュータ使用可能又は可読記憶デバイスを含み得る。リムーバブル記憶ユニット318は、フロッピーディスク、磁気テープ、コンパクトディスク、DVD、光学式記憶ディスク及び/又は任意の他のコンピュータデータ記憶デバイスであり得る。リムーバブル記憶ドライブ314は、リムーバブル記憶ユニット318から読み出すことができ、及び/又はリムーバブル記憶ユニット318に書き込むことができる。
【0076】
[0078] 二次メモリ310は、コンピュータプログラム及び/又は他の命令及び/又はデータがコンピュータシステム300によってアクセスされることを可能にするための他の手段、デバイス、コンポーネント、機器又は他の手法を含み得る。このような手段、デバイス、コンポーネント、機器又は他の手法は、例えば、リムーバブル記憶ユニット322及びインタフェース320を含み得る。リムーバブル記憶ユニット322及びインタフェース320の例には、プログラムカートリッジ及びカートリッジインタフェース(ビデオゲーム機に見られるものなど)、リムーバブルメモリチップ(EPROM若しくはPROMなど)及び関連するソケット、メモリスティック及びUSBポート、メモリカード及び関連のメモリカードスロット及び/又は任意の他のリムーバブル記憶ユニット及び関連のインタフェースが含まれ得る。
【0077】
[0079] コンピュータシステム300は、通信又はネットワークインタフェース324をさらに含み得る。通信インタフェース324は、コンピュータシステム300が、外部デバイス、外部ネットワーク、外部エンティティなど(個々に及びまとめて参照番号328で参照される)の任意の組み合わせと通信及びインタラクトすることを可能にし得る。例えば、通信インタフェース324は、コンピュータシステム300が通信経路326を通して外部又はリモートデバイス328と通信することを可能にし得、通信経路326は、有線及び/又は無線(又はそれらの組み合わせ)であり得、LAN、WAN、インターネットなどの任意の組み合わせを含み得る。制御論理及び/又はデータは、通信経路326を介してコンピュータシステム600に伝送され得、及びコンピュータシステム300から伝送され得る。
【0078】
[0080] コンピュータシステム300は、非限定例を幾つか挙げると、携帯情報端末(PDA)、デスクトップワークステーション、ラップトップ若しくはノート型コンピュータ、ネットブック、タブレット、スマートフォン、スマートウォッチ若しくは他のウェアラブル、電気製品、モノのインターネット(IoT)の一部及び/又は埋め込みシステム又はこれらの任意の組み合わせの何れかであり得る。
【0079】
[0081] 本明細書に記載されるフレームワークは、方法、プロセス、装置、システム又は非一時的なコンピュータ可読媒体若しくはデバイスなどの製品として実装され得ることが理解されるものとする。例示目的で、本フレームワークは、一般に公開されているか又は少なくとも信頼できない第三者が入手可能な分散台帳との関連で説明され得る。現代的な使用事例としての一例は、ブロックチェーンベースのシステムを用いる。しかしながら、機密又は極秘情報を信頼できない第三者の手によって又は信頼できない第三者の手を介して渡す必要があり得る他の状況でも、本フレームワークが適用され得ること及びこの技術が分散台帳又はブロックチェーン用途に決して限定されないことが理解されるものとする。
【0080】
[0082] コンピュータシステム300は、限定されないが、リモート若しくは分散クラウドコンピューティングソリューション、ローカル若しくはオンプレミスソフトウェア(例えば、「オンプレミス」クラウドベースソリューション)、「サービス型」モデル(例えば、サービスとしてのコンテンツ(CaaS)、サービスとしてのデジタルコンテンツ(DCaaS)、サービスとしてのソフトウェア(SaaS)、サービスとしての管理されたソフトウェア(MSaaS)、サービスとしてのプラットフォーム(PaaS)、サービスとしてのデスクトップ(DaaS)、サービスとしてのフレームワーク(FaaS)、サービスとしてのバックエンド(BaaS)、サービスとしてのモバイルバックエンド(MBaaS)、サービスとしてのインフラ(IaaS)、サービスとしてのデータベース(DBaaS)など)及び/又は上記の例若しくは他のサービス或いは配信パラダイムの任意の組み合わせを含むハイブリッドモデルを含む任意の配信パラダイムにより、任意のアプリケーション及び/又はデータにアクセスするか又はそれらを管理するクライアント又はサーバであり得る。
【0081】
[0083] あらゆる適用可能なデータ構造、ファイル形式及びスキーマは、限定されないが、JavaScript Object Notation(JSON)、Extensible Markup Language(XML)、Yet Another Markup Language(YAML)、Extensible Hypertext Markup Language(XHTML)、Wireless Markup Language(WML)、MessagePack、XML User Interface Language(XUL)又は任意の他の機能的に類似の表現を単独で又は組み合わせて含む規格から得られ得る。代替的に、独自のデータ構造、形式又はスキーマは、排他的に又は既知の規格若しくはオープン規格と組み合わせて使用され得る。
【0082】
[0084] 任意の適切なデータ、ファイル及び/又はデータベースは、数ある可能な形式の中でも、数字、テキスト、グラフィック又はマルチメディア形式(様々なタイプのマークアップ言語をさらに含む)など、人間可読形式で保存、引き出し、アクセス及び/又は伝送が行われ得る。代替的に又は上記の形式と組み合わせて、データ、ファイル及び/又はデータベースは、バイナリ、符号化、圧縮及び/又は暗号化形式或いは任意の他の機械可読形式で保存、引き出し、アクセス及び/又は伝送が行われ得る。
【0083】
[0085] 様々なシステム及び層間のインタフェーシング又は相互接続は、限定されないが、Document Object Model(DOM)、Discovery Service(DS)、NSUserDefaults、Web Services Description Language(WSDL)、Message Exchange Pattern(MEP)、Web Distributed Data Exchange(WDDX)、Web Hypertext Application Technology Working Group(WHATWG)HTML5 Web Messaging、Representational State Transfer(REST又はRESTfulウェブサービス)、Extensible User Interface Protocol(XUP)、Simple Object Access Protocol(SOAP)、XML Schema Definition(XSD)、XML Remote Procedure Call(XML-RPC)又は類似の機能性及び結果を達成し得る、オープン若しくは独自の任意の他の機構を含む任意の数のプロトコル、プログラムフレームワーク、フロアプラン又はアプリケーションプログラミングインタフェース(API)などの任意の数の機構を用い得る。
【0084】
[0086] このようなインタフェーシング又は相互接続は、ユニフォームリソース識別子(URI)を利用することもでき、URIは、ユニフォームリソースロケータ(URL)又はユニフォームリソースネーム(URN)をさらに含み得る。他の形態の統一及び/又は一意の識別子、ロケータ又は名称は、排他的に又は上記に記載した形態などの形態と組み合わせて使用され得る。
【0085】
[0087] 上記のプロトコル又はAPIの何れも、手続き型、関数型又はオブジェクト指向の任意のプログラミング言語とインタフェースし得るか、又はそのようなプログラミング言語で実装及びコンパイル又は解釈され得る。非限定例には、C、C++、C#、Objective-C、Java、Scala、Clojure、Elixir、Swift、Go、Perl、PHP、Python、Ruby、JavaScript、WebAssembly又は事実上あらゆる他の言語が含まれ、限定されないが、数ある非限定例の中でも、Node.js、V8、Knockout、jQuery、Dojo、Dijit、OpenUI5、AngularJS、Express.js、Backbone.js、Ember.js、DHTMLX、Vue、React、Electronなどを含む、任意の種類のフレームワーク、ランタイム環境、仮想マシン、インタプリタ、スタック、エンジン又は類似の機構において、任意の他のライブラリ又はスキーマを有する。
【0086】
[0088] 幾つかの実施形態では、制御論理(ソフトウェア)を保存した有形の非一時的コンピュータ使用可能又は可読媒体を含む有形の非一時的装置又は製品は、本明細書では、コンピュータプログラム製品又はプログラム記憶デバイスと呼ばれることもある。これは、限定されないが、コンピュータシステム300、メインメモリ308、二次メモリ310並びにリムーバブル記憶ユニット318及び322と、上記の任意の組み合わせを具現化する有形製品とを含む。このような制御論理は、1つ又は複数のデータ処理デバイス(コンピュータシステム300など)によって実行されるとき、このようなデータ処理デバイスを、本明細書に記載されるように動作させることができる。
【0087】
[0089] 本開示に含まれる教示に基づいて、
図3に示されるもの以外のデータ処理デバイス、コンピュータシステム及び/又はコンピュータアーキテクチャを使用して、本開示の実施形態を製造及び使用する方法が当業者に明らかになるであろう。具体的には、実施形態は、本明細書に記載されるもの以外のソフトウェア、ハードウェア及び/又はオペレーティングシステムの実装形態を用いて動作し得る。
【0088】
[0090] 詳細な説明のセクション(他のセクションではない)は、特許請求の範囲を解釈するために使用されることを意図することが理解されるものとする。他のセクションは、本発明者によって企図されるような1つ又は複数の(ただし、すべてではない)例示的実施形態を記載することができ、したがって決して本開示又は添付の特許請求の範囲を限定することを意図されていない。
【0089】
[0091] 本開示は、例示的分野及び用途に関する例示的実施形態を記載するが、本開示は、それらに限定されないことが理解されるものとする。他の実施形態及び変更形態が可能であり、それらは、本開示の範囲及び趣旨の範囲内である。例えば、本段落の一般論を限定することなく、実施形態は、図面に示され、及び/又は本明細書に記載されるソフトウェア、ハードウェア、ファームウェア及び/又はエンティティに限定されない。さらに、(本明細書における明示的記載の有無にかかわらず)実施形態は、本明細書に記載される例を越えた分野及び用途に対して多大な実用性を有する。
【0090】
[0092] 実施形態は、本明細書では、特定の機能の実装及びそれらの関係性を示す機能的構成要素を用いて説明されている。これらの機能的構成要素の境界は、説明の便宜上、本明細書では任意に定義されている。特定の機能及び関係性(又はそれらの均等物)が適切に行われる限り、別の境界が定義され得る。また、代替実施形態は、本明細書に記載される順序付けと異なる順序付けを用いて機能ブロック、ステップ、動作、方法などを行い得る。
【0091】
[0093] 本明細書における「一実施形態」、「ある実施形態」、「例示的実施形態」、「幾つかの実施形態」又は類似の表現への言及は、記載された実施形態が特定の特徴、構造又は特性を含み得るが、あらゆる実施形態がその特定の特徴、構造又は特性を必ずしも含まなくてもよいことを示す。また、このような表現は、必ずしも同じ実施形態に言及しているわけではない。さらに、ある実施形態に関連して、特定の特徴、構造又は特性が説明される場合、本明細書に明示的に述べられているか又は記載されているか否かにかかわらず、そのような特徴、構造又は特性を他の実施形態に組み込むことは、当業者の知識の範囲内である。
【0092】
[0094] 追加的に、派生語と併せた「結合された」及び「接続された」という表現を使用して、幾つかの実施形態を説明することができる。これらの用語は、必ずしも互いの同義語として意図されるものではない。例えば、2つ以上の要素が互いに直接的に物理的又は電気的接触していることを示すために、「接続された」及び/又は「結合された」という用語を使用して、幾つかの実施形態を説明することができる。しかしながら、「結合された」という用語は、2つ以上の要素が互いに直接的に接触していないが、それでもなお互いに協働又は相互作用することも意味し得る。
【0093】
[0095] 本開示の広さ及び範囲は、上記の例示的実施形態の何れによっても限定されず、以下の特許請求の範囲及びその均等物のみに従って定義されるものとする。
【国際調査報告】