(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023051822
(43)【公開日】2023-04-11
(54)【発明の名称】モバイルアプリケーションにおけるクーポンコード自動入力のためのシステム、方法、及びコンピュータプログラム
(51)【国際特許分類】
G06Q 30/0207 20230101AFI20230404BHJP
【FI】
G06Q30/0207 378
【審査請求】有
【請求項の数】21
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2022153901
(22)【出願日】2022-09-27
(31)【優先権主張番号】17/490,732
(32)【優先日】2021-09-30
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVASCRIPT
(71)【出願人】
【識別番号】399037405
【氏名又は名称】楽天グループ株式会社
(74)【代理人】
【識別番号】100099623
【弁理士】
【氏名又は名称】奥山 尚一
(74)【代理人】
【識別番号】100125380
【弁理士】
【氏名又は名称】中村 綾子
(74)【代理人】
【識別番号】100142996
【弁理士】
【氏名又は名称】森本 聡二
(74)【代理人】
【識別番号】100166268
【弁理士】
【氏名又は名称】田中 祐
(72)【発明者】
【氏名】ナヴィード・ザヌーン
(72)【発明者】
【氏名】アダム・ロス
(72)【発明者】
【氏名】フェン・シィエ
(72)【発明者】
【氏名】ムジュタバ・フサイン
(72)【発明者】
【氏名】ジェイムズ・シーモア-ロック
(57)【要約】 (修正有)
【課題】モバイルアプリケーションにおけるクーポンコード自動入力のためのシステム、方法及びコンピュータプログラムを提供する。
【解決手段】方法は、モバイルアプリケーションのウェブビュー内のチェックアウトページにおけるフィールドデータからクーポンコードフィールド及びカート合計フィールドを特定し、1つ以上のクーポンコードを取得し、それをチェックアウトページにおいて試し、(複数の)全てのクーポンコードのうちのいずれかによりカート合計フィールドに関連付けられている値が減るかどうかを判定し、1つ以上のクーポンコードによりチェックアウトページにおいて報酬がもたらされることに応じて、最良のクーポンコードを特定し、最良のクーポンコードをモバイルアプリケーションにおけるチェックアウトページ内の特定されたクーポンコードフィールドに挿入する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
コンピュータシステムによって実行される、モバイルアプリケーションにおけるクーポンコード自動入力の方法であって、
モバイルアプリケーションのウェブビュー内のチェックアウトページを特定するステップと、
前記モバイルアプリケーションの前記ウェブビュー内の前記チェックアウトページからフィールドデータを抽出するステップと、
前記フィールドデータからクーポンコードフィールド及びカート合計フィールドを特定するステップと、
1つ以上のクーポンコードを取得するステップと、
前記モバイルアプリケーションの前記ウェブビュー内の前記チェックアウトページにおいて前記1つ以上のクーポンコードを試すステップであって、前記1つ以上のクーポンコードは特定された前記クーポンコードフィールドにおいて試されて、(複数の)前記クーポンコードのうちのいずれかにより前記カート合計フィールドに関連付けられている値が減るかどうかが判定される、ステップと、
1つ以上のクーポンコードにより前記チェックアウトページにて報酬がもたらされることに応じて、最良のクーポンコードを特定するステップと、
前記モバイルアプリケーションにおける前記チェックアウトページ内の特定された前記クーポンコードフィールドに前記最良のクーポンコードを挿入するステップと
を含む方法。
【請求項2】
前記チェックアウトページを特定するステップと、前記フィールドデータを抽出するステップと、(複数の)前記クーポンコードを試すステップと、前記最良のクーポンコードを特定するステップと、前記クーポンコードフィールドに前記最良のクーポンコードを挿入するステップとは、前記モバイルアプリケーションにより前記ウェブビュー内の前記ウェブページに導入されたソフトウェアモジュールによって実行される、請求項1に記載の方法。
【請求項3】
前記ソフトウェアモジュールは前記抽出されたフィールドデータを用いてペイロードを生成し、前記モバイルアプリケーションは前記ペイロードをサーバに送信し、前記サーバは前記ペイロード内の前記フィールドデータを1つ以上のフィールドパラメータにマッピングし、フィールドパラメータはフィールドタイプを示す値である、請求項2に記載の方法。
【請求項4】
前記サーバは、前記フィールドパラメータのマッピングを前記モバイルアプリケーションに返し、前記ウェブページに導入された前記ソフトウェアモジュールは、前記フィールドパラメータのマッピングを使用して、前記ウェブページ上の前記クーポンコードフィールドを見つけ、前記クーポンコードフィールドにおいて1つ以上のクーポンを試す、請求項3に記載の方法。
【請求項5】
フィールドデータの抽出は、
前記ウェブページのオブジェクトモデルを作成するステップと、
前記クーポンコードフィールド及び前記カート合計フィールドに関連付けられたラベルを検索して、可能性のあるクーポンコードフィールド及びカート合計フィールドを特定するステップであって、前記検索は前記オブジェクトモデル及び前記ウェブページを使用して実行される、ステップと、
前記特定されたフィールドの周囲でコンテキストデータを収集するステップと、
前記特定されたフィールドのメタデータを集めるステップと、
前記特定されたフィールドが前記ユーザにとって可視であることを検証するステップと、
前記特定されたフィールドの前記コンテキストデータ及び前記メタデータを用いてペイロードを生成するステップと
を含む、請求項1に記載の方法。
【請求項6】
前記クーポンコードフィールド及び前記カート合計フィールドの特定は、マッピングプロセスによりフィールドデータをフィールドパラメータにマッピングするステップを含み、フィールドパラメータはフィールドタイプを示す値である、請求項1に記載の方法。
【請求項7】
前記マッピングプロセスは、
前記チェックアウトページにて抽出された前記フィールドデータからメタデータを抽出するステップと、
前記メタデータのペイロードを作成するステップと、
前記メタデータの前記ペイロードをサーバにアップロードするステップと、
前記メタデータの前記ペイロードからフィールドパラメータを生成するステップと、
前記フィールドパラメータを結果ペイロードとして返すステップと
を含む、請求項6に記載の方法。
【請求項8】
試されている(複数の)前記クーポンコードを表示するステップを更に含む請求項1に記載の方法。
【請求項9】
特定された前記クーポンコードフィールドに前記最良のクーポンコードを挿入するステップの後に、節約額を前記モバイルアプリケーションに表示するステップを更に含む請求項1に記載の方法。
【請求項10】
前記クーポンコードフィールド及び前記カート合計フィールドの特定は、
各フィールドのベクトル表現を前記フィールドデータ内に作成するステップと、
前記フィールドデータ内の前記フィールドの前記ベクトル表現にニューラルネットワークを適用するステップと、
前記ニューラルネットワークから、予測されたクーポンコードフィールド及びカート合計フィールドを得るステップと
を含む、請求項1に記載の方法。
【請求項11】
コンピュータシステムによって実行されると、前記コンピュータシステムがモバイルアプリケーションにおけるクーポンコード自動入力の方法を実行できるようにするコンピュータプログラムを有する非一時的なコンピュータ可読媒体であって、
前記方法は、
モバイルアプリケーションのウェブビュー内のチェックアウトページを特定するステップと、
前記モバイルアプリケーションの前記ウェブビュー内の前記チェックアウトページからフィールドデータを抽出するステップと、
前記フィールドデータからクーポンコードフィールド及びカート合計フィールドを特定するステップと、
1つ以上のクーポンコードを取得するステップと、
前記モバイルアプリケーションの前記ウェブビュー内の前記チェックアウトページにおいて前記1つ以上のクーポンコードを試すステップであって、前記1つ以上のクーポンコードは特定された前記クーポンコードフィールドにおいて試されて、(複数の)前記クーポンコードのうちのいずれかにより前記カート合計フィールドに関連付けられている値が減るかどうかが判定される、ステップと、
1つ以上のクーポンコードにより前記チェックアウトページにおいて報酬がもたらされることに応じて、最良のクーポンコードを特定するステップと、
前記モバイルアプリケーションにおける前記チェックアウトページ内の特定された前記クーポンコードフィールドに前記最良のクーポンコードを挿入するステップと
を含む、非一時的なコンピュータ可読媒体。
【請求項12】
前記チェックアウトページを特定するステップと、前記フィールドデータを抽出するステップと、(複数の)前記クーポンコードを試すステップと、前記最良のクーポンコードを特定するステップと、前記クーポンコードフィールドに前記最良のクーポンコードを挿入するステップとは、前記モバイルアプリケーションにより前記ウェブビュー内の前記ウェブページに導入されたソフトウェアモジュールによって実行される、請求項11に記載の非一時的なコンピュータ可読媒体。
【請求項13】
前記ソフトウェアモジュールは抽出された前記フィールドデータを用いてペイロードを生成し、前記モバイルアプリケーションは前記ペイロードをサーバに送信し、前記サーバは前記ペイロード内の前記フィールドデータを1つ以上のフィールドパラメータにマッピングし、フィールドパラメータはフィールドタイプを示す値である、請求項12に記載の非一時的なコンピュータ可読媒体。
【請求項14】
前記サーバは、前記フィールドパラメータのマッピングを前記モバイルアプリケーションに返し、前記ウェブページに導入された前記ソフトウェアモジュールは、前記フィールドパラメータのマッピングを用いて、前記ウェブページ上の前記クーポンコードフィールドを見つけ、前記クーポンコードフィールドにおいて1つ以上のクーポンを試す、請求項13に記載の非一時的なコンピュータ可読媒体。
【請求項15】
フィールドデータの抽出は、
前記ウェブページのオブジェクトモデルを作成するステップと、
前記クーポンコードフィールド及び前記カート合計フィールドに関連付けられたラベルを検索して、可能性のあるクーポンコードフィールド及びカート合計フィールドを特定するステップであって、前記検索は前記オブジェクトモデル及び前記ウェブページを使用して実行される、ステップと、
特定された前記フィールドの周囲でコンテキストデータを収集するステップと、
特定された前記フィールドのメタデータを集めるステップと、
特定された前記フィールドが前記ユーザにとって可視であることを検証するステップと、
特定された前記フィールドの前記コンテキストデータ及び前記メタデータを用いてペイロードを生成するステップと
を含む、請求項11に記載の非一時的なコンピュータ可読媒体。
【請求項16】
前記クーポンコードフィールド及び前記カート合計フィールドの特定は、マッピングプロセスによりフィールドデータをフィールドパラメータにマッピングするステップを含み、フィールドパラメータはフィールドタイプを示す値である、請求項11に記載の非一時的なコンピュータ可読媒体。
【請求項17】
前記マッピングプロセスは、
前記チェックアウトページにて抽出された前記フィールドデータからメタデータを抽出するステップと、
前記メタデータのペイロードを作成するステップと、
前記メタデータの前記ペイロードをサーバにアップロードするステップと、
前記メタデータの前記ペイロードからフィールドパラメータを生成するステップと、
前記フィールドパラメータを結果ペイロードとして返すステップと
を含む、請求項16に記載の非一時的なコンピュータ可読媒体。
【請求項18】
試されている(複数の)前記クーポンコードを表示するステップを更に含む、請求項11に記載の非一時的なコンピュータ可読媒体。
【請求項19】
特定された前記クーポンコードフィールドに前記最良のクーポンコードを挿入するステップの後に、節約額を前記モバイルアプリケーションに表示するステップを更に含む、請求項11に記載の非一時的なコンピュータ可読媒体。
【請求項20】
前記クーポンコードフィールド及び前記カート合計フィールドの特定は、
各フィールドのベクトル表現を前記フィールドデータ内に作成するステップと、
前記フィールドデータ内の前記フィールドの前記ベクトル表現にニューラルネットワークを適用するステップと、
前記ニューラルネットワークから、予測されたクーポンコードフィールド及びカート合計フィールドを得るステップと
を含む、請求項11に記載の非一時的なコンピュータ可読媒体。
【請求項21】
モバイルアプリケーションにおけるクーポンコード自動入力のためのコンピュータシステムであって、
1つ以上のプロセッサと、
前記1つ以上のプロセッサに接続され、前記1つ以上のプロセッサによって実行されると前記システムに方法を実行させる命令を記憶する1つ以上のメモリユニットと
を備え、
前記方法は、
モバイルアプリケーションのウェブビュー内のチェックアウトページを特定するステップと、
前記モバイルアプリケーションの前記ウェブビュー内の前記チェックアウトページからフィールドデータを抽出するステップと、
前記フィールドデータからクーポンコードフィールド及びカート合計フィールドを特定するステップと、
1つ以上のクーポンコードを取得するステップと、
前記モバイルアプリケーションの前記ウェブビュー内の前記チェックアウトページにおいて前記1つ以上のクーポンコードを試すステップであって、前記1つ以上のクーポンコードは、特定された前記クーポンコードフィールドにおいて試され、(複数の)前記クーポンコードのうちのいずれかにより前記カート合計フィールドに関連付けられている前記値が減るかどうかが判定される、ステップと、
1つ以上のクーポンコードにより前記チェックアウトページにおいて報酬がもたらされることに応じて、最良のクーポンコードを特定するステップと、
前記モバイルアプリケーションにおける前記チェックアウトページ内の特定された前記クーポンコードフィールドに前記最良のクーポンコードを挿入するステップと
を含む、コンピュータシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は概してモバイルアプリケーションに関し、より具体的には、モバイルアプリケーションにおけるクーポンコード自動入力のシステム及び方法に関する。
【背景技術】
【0002】
電子商取引は、商品及びサービスを購入する消費者にとってますます重要になっており、実店舗を上回って主要なアプローチとなっている可能性がある。実店舗と同様に、クーポン及びその他の報酬がお金を節約する有用な方法である。いまや消費者は、クーポンを切り抜き、店舗においてスキャンするのではなく、自己のユーザプロファイルにクーポンコードを保存することができる。消費者は、商品又はサービスを購入するときに、販売業者のウェブサイト上での自己の購入に(複数の)クーポンコードを適用して、どの(複数の)クーポンコードが最大の報酬をもたらすのかを判断する必要がある。
【発明の概要】
【発明が解決しようとする課題】
【0003】
ウェブページ上で複数のブラウザ拡張がクーポンコードのフィールドを検出して、クーポンコードを試すことができる。しかし、このような機能は、モバイルアプリケーションにはまだ存在していない。その理由は、モバイルアプリケーションがモバイルアプリケーション内で閲覧されるウェブコンテンツに対して有する制御が、ブラウザ拡張よりも少ないからである。モバイルアプリケーションによって移動中に多くの取引が行われるため、モバイルの領域においてクーポンコードを検出及び入力するシステム及び方法が求められている。
【課題を解決するための手段】
【0004】
本開示は、モバイルアプリケーションにおけるクーポンコード自動入力のためのシステム、方法、及びコンピュータプログラムを記載したものである。本方法は、サーバと、記憶システムと、ネットワークと、オペレーティングシステムと、データベースとを含むコンピュータシステムによって実行される。
【0005】
モバイルアプリケーションは、モバイルアプリケーションのウェブビュー(WebView)を分析するソフトウェアモジュールを起動する。ウェブビュー内のウェブページに導入されたこのソフトウェアモジュールは、ウェブビューからフィールド情報を抽出し、結果ペイロード(results payload)を生成する。これは、ウェブビュー内のチェックアウトページを特定し、このチェックアウトページからフィールドデータを抽出することによって行われる。その後、ソフトウェアモジュールは、このフィールドデータをモバイルアプリケーションに送信する。或る実施の形態において、ソフトウェアモジュールは、フィールドに関係したコンテキストデータ及びメタデータをも収集し、フィールドがモバイルアプリケーションユーザにとって可視であることを検証する。
【0006】
モバイルアプリケーションは、結果ペイロードをサーバ上のマッピングモジュールに送信し、マッピングモジュールは、フィールドをパラメータにマッピングする。パラメータは、フィールドに割り当てられる値であり、フィールドタイプを決定する値である。そのような方法で、マッピングモジュールは、フィールドデータからクーポンコードフィールド及びカート合計フィールドを特定する。
【0007】
マッピングモジュールは、パラメータへのフィールドのマッピングをモバイルアプリケーションに送信し、モバイルアプリケーションは、このマッピングをユーザプロファイルデータ(1つ以上のクーポンコードを含む)とともにソフトウェアモジュールに中継する。ソフトウェアモジュールは、各クーポンコードをクーポンコードフィールドに順次入力し、最良のクーポンコード(すなわち、カート合計フィールドにおいて最大の報酬をもたらすクーポンコード)を特定することによって、(複数の)クーポンコードを繰り返し試す。その後、ソフトウェアモジュールは、この最良のクーポンコードを、モバイルアプリケーションにおけるチェックアウトページ内のクーポンコードフィールドに挿入する。
【0008】
1つの実施の形態において、モバイルアプリケーションにおけるクーポンコード自動入力のための方法は、
モバイルアプリケーションのウェブビュー内のチェックアウトページを特定するステップと、
モバイルアプリケーションのウェブビュー内のチェックアウトページからフィールドデータを抽出するステップと、
フィールドデータからクーポンコードフィールド及びカート合計フィールドを特定するステップと、
1つ以上のクーポンコードを取得するステップと、
1つ以上のクーポンコードをモバイルアプリケーションのウェブビュー内のチェックアウトページにおいて試すステップであって、1つ以上のクーポンコードは、特定されたクーポンコードフィールドにおいて試され、(複数の)クーポンコードのうちのいずれかによりカート合計フィールドに関連付けられている値が減るかどうかが判定される、ステップと、
1つ以上のクーポンコードによりチェックアウトページにおいて報酬がもたらされることに応じて、最良のクーポンコードを特定するステップと、
モバイルアプリケーションにおけるチェックアウトページ内の特定されたクーポンコードフィールドに最良のクーポンコードを挿入するステップと
を含む。
【図面の簡単な説明】
【0009】
【
図1】1つの実施形態による、モバイルアプリケーションにおけるクーポンコード自動入力の方法を示すフローチャートである。
【
図2】1つの実施形態による一例示のソフトウェアアーキテクチャを示すブロック図である。
【
図3】1つの実施形態による、
図2に示すシステム内の1つ以上のソフトウェアモジュールによって実行される方法を示すフローチャートである。
【発明を実施するための形態】
【0010】
本開示は、モバイルアプリケーションにおけるクーポンコード自動入力のシステム、方法、及びコンピュータプログラムを記載している。本方法は、サーバと、記憶システムと、ネットワークと、オペレーティングシステムと、データベースとを含むコンピュータシステム(「本システム」)によって実行される。
【0011】
モバイルアプリケーションは、ユーザが電子商取引ウェブサイトをブラウジングすることを可能にし、クーポンコードフィールドの検出に応じてソフトウェアモジュールをウェブページ上に導入し、マッピングモジュールとインタフェースしてクーポンコード自動入力の機能を提供する。本システムは、モバイルアプリケーションのウェブビュー内のチェックアウトページを特定し、このチェックアウトページからフィールドデータを抽出する。本システムは、フィールドデータからクーポンコードフィールド及びカート合計フィールドを特定する。本システムは、1つ以上のクーポンコードを取得し、これらの1つ以上のクーポンコードをチェックアウトページにおいて試す。1つ以上のクーポンコードは、特定されたクーポンコードフィールドにおいて試され、(複数の)クーポンコードのいずれかがカート合計フィールドに関連付けられた値を減少させるかどうかが判定される。チェックアウトページ上で報酬(例えば、キャッシュバック値、ポイント、又は他の、消費者にとっての利益)をもたらす1つ以上のクーポンコードに応じて、本システムは、最良のクーポンコードを特定し、この最良のクーポンコードを、モバイルアプリケーションにおけるチェックアウトページ内の特定されたクーポンコードフィールドに挿入する。
【0012】
図1~
図3を参照して、本方法の例示の実施態様をより詳細に説明する。
【0013】
1.モバイルアプリケーションにおけるクーポンコード自動入力の方法
図1に、モバイルアプリケーションにおけるクーポンコード自動入力の方法を示す。本システムは、モバイルアプリケーションのウェブビュー内のチェックアウトページを特定する(ステップ110)。或る実施形態において、カートスクレーパ(cart scraper)が、URLとページ上の要素との双方を使用して、いずれか一方が定義リストのキーワードと一致するかどうかを確かめることによって、チェックアウトページ上にいることを検出する。例えば、URLが「カート」又は「チェックアウト」というキーワードを含む場合に、本システムは、そのページがチェックアウトページであると判定する。ページ上の要素が「チェックアウト」又は「合計金額」というキーワードを有する場合には、本システムは同様に、そのページがチェックアウトページであると判定する。この肯定的なキーワードの特定とともに、本システムは、否定的なキーワード(例えば、ホームページ)のリストも使用する。URL又はページ上の要素のいずれかが否定的なキーワードを含む場合には、本システムは、(肯定的なキーワードの特定が行われた場合であっても)そのページはチェックアウトページではないと判定する。
【0014】
本システムは、モバイルアプリケーションのウェブビュー内のチェックアウトページからフィールドデータを抽出する(ステップ120)。或る実施形態において、フィールドデータを抽出することは、ウェブページのオブジェクトモデルを作成することを含む。本システムは、クーポンコードフィールド及びカート合計フィールドに関連付けられたラベルを検索し、可能性のあるクーポンコードフィールド及びカート合計フィールドを特定する。ここで、この検索は、オブジェクトモデル及びウェブページを使用して行われる。本システムは、特定されたフィールドの周囲でコンテキストデータを収集し、特定されたフィールドのメタデータを集め、特定されたフィールドがユーザにとって可視であることを検証し、特定されたフィールドのコンテキストデータ及びメタデータを用いてペイロードを生成する。或る実施形態において、メタデータは、フィールドメタデータ(例えば、HTML名、ID、入力タイプ等)、推測されたフィールドメタデータ(例えば、HTMLに準拠していないカスタム入力タイプ、ソフトウェアモジュールアルゴリズムによって推論されたラベル等)、ページメタデータ(例えば、URL)、及びパフォーマンス情報を含む。
【0015】
本システムは、フィールドデータをフィールドパラメータにマッピングすることにより、フィールドデータからクーポンコードフィールド及びカート合計フィールドを特定する(ステップ130)。このマッピングは、フィールドをクーポンコードパラメータにマッピングすることと、フィールドをカート合計パラメータにマッピングすることとを含む。フィールドパラメータは、フィールドタイプを示す値である。例えば、ウェブページ上のクーポンコードフィールドは、「クーポンコード」パラメータにマッピングされる。このパラメータは、モバイルアプリケーションに記憶されている、該当するユーザの値を入力するためにソフトウェアモジュールによって使用される。或る実施形態において、クーポンコードフィールド及びカート合計フィールドの特定は、各フィールドのベクトル表現をフィールドデータ内に作成することと、フィールドデータ内のフィールドのベクトル表現に対してニューラルネットワークを適用することと、予測されたクーポンコードフィールド及びカート合計フィールドをニューラルネットワークから取得することとを含む。或る実施形態において、本システムは、マッピングの前にデータを前処理(例えば、言語変換)する。或る実施形態において、本システムは、様々なヒューリスティックス及びコンテキストデータを使用してデータを後処理し、フィールドが正しくマッピングされていることを検証する。
【0016】
或る実施形態において、マッピングのプロセスは、チェックアウトページから抽出されたフィールドデータからメタデータを抽出することを含む。本システムは、メタデータのペイロードを(例えば、JSONで)作成し、このメタデータのペイロードをサーバにアップロードする。本システムは、ヒューリスティックな手法、機械学習手法、又はこれらの2つを組み合わせたものを使用して、このメタデータのペイロードからフィールドパラメータを生成する。その後、本システムは、これらのフィールドパラメータを結果ペイロードとして(例えば、JSONで)返す。
【0017】
本システムは、1つ以上のクーポンコードを取得する(ステップ140)。或る実施形態において、本システムは、最大でn個の(複数の)クーポンコードを取得することができる。本システムは、モバイルアプリケーションのウェブビュー内のチェックアウトページ(すなわち、クーポンコードパラメータにマッピングされたフィールド)において、取得された(複数の)全てのクーポンコードを試し、いずれかの(複数の)クーポンコードによりカート合計フィールドに関連付けられた値が減るかどうかを判定する(ステップ150)。或る実施形態において、複数のクーポンコードが存在する場合には、本システムは、各クーポンコードをクーポンコードフィールドに順次挿入し、カートページをスクレイピングして、カート合計フィールドにもたらされた報酬を求めることにより、各クーポンコードを繰り返し試す。或る実施形態において、クーポンコードがウェブページ上に表示された場合には、ユーザは、クーポンコードを自身のクリップボードにコピーすることができ、ソフトウェアモジュールは、クーポンコードをクーポンコードフィールドに自動的に入力する。或る実施形態において、カート合計フィールドは、クーポンコードをクーポンコードフィールドに入力すると自動的に更新される。或る実施形態において、ユーザは、カート合計フィールドが更新される前に、操作(例えば、ボタンの押下)を行う必要がある。或る実施形態において、本システムは、クーポンコードが奏功している場合には、試されている(複数の)クーポンコードと、節約額(amount saved)とをモバイルアプリケーションユーザインタフェースに表示する。
【0018】
本システムは、1つ以上のクーポンコードによりカート合計値が減ったことに応じて、最良のクーポンコード(すなわち、カート合計フィールドにおいて最大の報酬をもたらすクーポンコードフィールド内のクーポンコード)を特定する(ステップ160)。本システムは、モバイルアプリケーションにおけるチェックアウトページ内のクーポンコードフィールドにこの最良のクーポンコードを挿入する(ステップ170)。或る実施形態において、本システムは、特定されたクーポンコードフィールドに最良のクーポンコードを挿入した後に、モバイルアプリケーションに節約額を表示する。
【0019】
或る実施形態において、チェックアウトページを特定するステップと、フィールドデータを抽出するステップと、クーポンコードを試すステップと、最良のクーポンコードを特定するステップと、クーポンコードフィールドに最良のクーポンコードを挿入するステップとは、モバイルアプリケーションによってウェブビュー内のウェブページに導入されたソフトウェアモジュールによって実行される。或る実施形態において、ソフトウェアモジュールは、フィールド情報の取り入れと、マッピングのためにモバイルアプリケーションへのフィールド情報の返信と、モバイルアプリケーションからのユーザデータのフィールドへの入力とを行うためにウェブビューに導入されたJavaScriptコードである。或る実施形態において、ソフトウェアモジュールは、抽出されたフィールドデータを用いてペイロードを生成し、モバイルアプリケーションは、ペイロード内のフィールドデータを1つ以上のフィールドパラメータにマッピングするサーバにペイロードを送信し、フィールドパラメータは、フィールドタイプを示す値である。或る実施形態において、サーバは、フィールドパラメータマッピングをモバイルアプリケーションに返し、ウェブページに導入されたソフトウェアモジュールは、フィールドパラメータマッピングを使用して、ウェブページ上でクーポンコードフィールドを見つけ、クーポンコードフィールドにおいて1つ以上のクーポンを試す。
【0020】
2.例示のシステムアーキテクチャ
図2に、本明細書に記載の方法を実行するシステムの一例示のアーキテクチャを示す。ただし、本明細書に記載の方法は、他のシステムにおいても実施することができ、図示したシステムに限定されるものではない。
図2に示すように、本システムは、モバイルアプリケーション240のウェブビュー230内のウェブページ(例えば、チェックアウトページ)220を特定する。自動入力マネージャ250は、クーポンフィールド検出・入力モジュール260を起動する。このモジュールは、フィールドデータ(例えば、ラベル及び見出し)をウェブページ220から抽出し、結果ペイロードを生成する。フィールドデータを含む結果ペイロードは、自動入力マネージャ250に戻され、自動入力マネージャ250は、この結果ペイロードを、インターネットを通じてサーバ280上のマッピングモジュール270に渡す。或る実施形態において、マッピングモジュールは、自動入力マッピングアルゴリズムを含み、どの値が各フォームフィールド内に自動入力されるべきかを決定するクラウドホスト型サーババックエンドである。マッピングモジュール270は、クーポンコードフィールドをクーポンコードパラメータにマッピングすることと、カート合計フィールドをカート合計パラメータにマッピングすることとを含めて、フィールドデータをフィールドパラメータにマッピングする。或る実施形態において、フィールドパラメータへのフィールドデータのマッピングには、信頼スコアが割り当てられる。マッピングモジュール270は、マッピング(すなわち、フィールドパラメータへのフィールドデータのマッピング)をモバイルアプリケーション240の自動入力マネージャ250に戻す。
【0021】
自動入力マネージャ250は、ユーザプロファイルマネージャ290からユーザプロファイルデータ及び1つ以上のクーポンコードを取得するようモバイルアプリケーションロジック285に要求する。自動入力マネージャ250は、ユーザプロファイルデータ及び(複数の)クーポンコードとともにマッピングをクーポンフィールド検出入力モジュール260に渡す。クーポンフィールド検出入力モジュール260は、クーポンコードパラメータにマッピングされたフィールドにおいて(複数の)クーポンコードを試し、いずれかの(複数の)クーポンコードにより、カート合計に対応するフィールドに関連付けられた値が減るかどうかを判定する。クーポンフィールド検出入力モジュール260は、1つ以上のクーポンコードによりカート合計値が減ったことに応じて最良のクーポンコードを特定し、モバイルアプリケーション240におけるウェブページ220内のクーポンコードフィールドに最良のクーポンコードを挿入する。
【0022】
図3に、
図2に示した本システム内の1つ以上のソフトウェアモジュールによって実行される例示的な方法を示す。より具体的には、
図3には、クーポンフィールド検出入力モジュール260によって実行される方法と、自動入力マネージャ250によって実行される方法と、マッピングモジュール270によって実行される方法とを示している。クーポンフィールド検出入力モジュール260は、ペイロード生成と、クーポンのテスト及び入力との2つのプロセスをハンドリングする。
【0023】
ペイロード生成プロセスにて、クーポンフィールド検出入力モジュール260は、クーポンコードフィールドに関連付けられた、関連するフィールドパラメータを検索する(ステップ310)。クーポンフィールド検出入力モジュール260は、更なる分析用のウェブページの内部表現であるオブジェクトモデルを作成する(ステップ315)。クーポンフィールド検出入力モジュール260は、クーポンコードフィールドの周囲を検索してコンテキストデータを収集し(ステップ320)、フィールドメタデータを集める(ステップ325)。クーポンフィールド検出入力モジュール260は、様々なアルゴリズムを使用して、フィールドがユーザにとって可視であることを検証する(ステップ330)。クーポンフィールド検出入力モジュール260は、これらのデータを照合し、入力可能フィールドを有するあらゆるウェブページのペイロードを生成する(ステップ335)。
【0024】
続いて、ペイロードが自動入力マネージャ250に送信され、自動入力マネージャ250は、このペイロードをマッピングモジュール270に渡す。マッピングモジュール270は、プリプロセス、マッピング、及びポストプロセスの3つのステージにおいてマッピングプロセスをハンドリングする。プリプロセスステージ内では、マッピングモジュール270は、ペイロードを(例えば、JSONで)受信し、フィールドデータをフィルタリング及びサニタイズし(ステップ350)、プリプロセスデータ変換を実行する(ステップ355)。或る実施形態において、プリプロセスステージは、クーポンコード自動入力が英語以外の言語によるウェブサイトとともに機能するように言語変換も含む。
【0025】
マッピングステージ内では、マッピングモジュール270は、ウェブページツリーを構築及びプルーニングする(ステップ360)。或る実施形態において、これは、ウェブページからデータを集め、構造がウェブページと同様であるがウェブページからの該当する情報しか含まないウェブページツリーを構築することによって行われる。或る実施形態において、マッピングプロセスは、クーポンコードフィールドと同様の他のラベル(例えば、「商品券」、「ディスカウントコード」等)を特定して該当する情報として含めるアルゴリズムを含む。マッピングモジュール270は、ツリーを検索し、ノードにスコアを付与する(ステップ365)。或る実施形態において、これは、ウェブページツリーをトラバースし、スコアを各ノードに割り当てることによって行われる。このスコアは、ウェブページからの情報が現在のコンテキストにどの程度該当するのか、及び、本システムがその情報をどの程度良好に特定したのかを表す。マッピングモジュール270は、結果の有効性を確かめ、スコア付与が矛盾なく正しいことを確認する(ステップ370)。
【0026】
ポストプロセスステージにて、マッピングモジュール270は、フィールドをクラスタリングして、連結(例えば、ファーストネームとラストネームとを連結してフルネームにする)の必要があるフィールド又は特定のフォーマットへの変換の必要があるフィールドについて、行われるようにする(ステップ375)。マッピングモジュール270は、ヒューリスティックな手法をスコアリングの検証(scoring validation)と組み合わせたものを使用して、結果ペイロードが正しいことを検証する(ステップ380)。
【0027】
その後、結果が自動入力マネージャ250に送信され、自動入力マネージャ250は、それらの結果をクーポンフィールド検出入力モジュール260に戻し、クーポンフィールド検出入力モジュール260は、クーポンテスト入力プロセスを実行する。クーポンテスト入力プロセスにて、クーポンフィールド検出・入力モジュール260は、マッピング結果を用いてクーポンコードフィールドを見つけ(ステップ382)、(複数の)クーポンをクーポンコードフィールドにおいて試し(ステップ384)、最良のクーポンをクーポンコードフィールドに適用し(ステップ386)、自動入力が完了したことを示すメッセージを送信する(ステップ388)。
【0028】
3.全般
図1~
図3に関して説明した方法は、ソフトウェアにおいて具現化され、ソフトウェアを実行するコンピュータシステム(1つ以上のコンピューティングデバイス(複数の場合もある)を備える)によって実行される。当業者であれば、コンピュータシステムが、ソフトウェア命令を記憶する1つ以上のメモリユニット、ディスク又は他の物理的コンピュータ可読ストレージ媒体、及びソフトウェア命令を実行する1つ以上のプロセッサを有することを理解するであろう。
【0029】
当該技術分野に精通した当業者であれば、本発明の趣旨及び本質的な特性から逸脱することなく、本発明を他の特定の形態で具現化することができることを理解するであろう。したがって、上記の開示は、以下の特許請求の範囲に示される本発明の範囲を限定するものではなく、説明するものであることが意図される。
【外国語明細書】