(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-03-18
(45)【発行日】2025-03-27
(54)【発明の名称】デジタルメッセージから情報を取得するためのシステム、コンピュータプログラムおよび方法
(51)【国際特許分類】
G06Q 10/0833 20230101AFI20250319BHJP
G06F 16/332 20250101ALI20250319BHJP
G06Q 30/0601 20230101ALI20250319BHJP
H04L 51/07 20220101ALI20250319BHJP
【FI】
G06Q10/0833
G06F16/332
G06Q30/0601
H04L51/07
(21)【出願番号】P 2021115478
(22)【出願日】2021-07-13
【審査請求日】2024-06-12
(32)【優先日】2020-07-30
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2021-05-12
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】520289589
【氏名又は名称】ショッピファイ インコーポレイテッド
(74)【代理人】
【識別番号】100107456
【氏名又は名称】池田 成人
(74)【代理人】
【識別番号】100162352
【氏名又は名称】酒巻 順一郎
(74)【代理人】
【識別番号】100123995
【氏名又は名称】野田 雅一
(72)【発明者】
【氏名】プトラ マンガラ
(72)【発明者】
【氏名】ベラ オルソン
(72)【発明者】
【氏名】アントン ブラセンコ
【審査官】貝塚 涼
(56)【参考文献】
【文献】特表2019-501475(JP,A)
【文献】米国特許出願公開第2020/0175115(US,A1)
【文献】特開2006-336254(JP,A)
【文献】米国特許第09043403(US,B2)
【文献】米国特許出願公開第2014/0337245(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00 - 99/00
G06F 16/00 - 16/958
H04L 51/00 - 51/58
(57)【特許請求の範囲】
【請求項1】
コンピュータに含まれる1つ以上のプロセッサによって実行されるコンピュータ実装方法であって、前記コンピュータ実装方法は、
顧客についての複数のメッセージを識別することと、
前記複数のメッセージのうちのメッセージから、少なくとも1つの配送についての配送情報を抽出することであって、抽出することは、
前記複数のメッセージの所与のメッセージ(600)に対応するデジタルコンテンツを取得することと、
前記デジタルコンテンツからウェブリソースについてのuniform resource locator(URL)(
612)を取得すること(
504)と、
(i)各URLを含む入力から予測された追跡番号を出力するタスクを実施するための訓練データの組を用いて訓練された1つ以上の機械学習(ML)モデルに前記URLを入力し、前記1つ以上のMLモデルの出力
としての、前記URLから
予測された追跡番号に対応する文字列を取得することによって、
及び、
(ii)前記ウェブリソース(700)
から取得された追跡番号を用いて、取得された前記文字列を補足すること又は確認することによって、
特定の配送についての配送情報を決定すること(508)であり、
前記特定の配送についての前記配送情報は、
前記ウェブリソースが前記特定の配送を追跡するためのものであることの指示と、
前記特定の配送についての追跡番号(614)と、
前記特定の配送についての配送プロバイダ(616)と
のうちの少なくとも1つを備えている、決定することと、
を含む、抽出することと、
前記特定の配送についての追跡最新情報を取得するために
前記特定の配送についての前記配送情報を
前記コンピュータのメモリ内に記憶すること(510)と
を含む、コンピュータ実装方法。
【請求項2】
前記特定の配送についての前記配送情報に基づいて、前記少なくとも1つの配送についての追跡最新情報を取得することと、
前記顧客についての製品配送の集約された概要を提示することにおける使用のために前記追跡最新情報を提供することと
をさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記1つ以上のMLモデルへの入力が、
各URL中の追跡番号の始まりに対応する第1のインデックスと、
各URL中の追跡番号の終わりに対応する第2のインデックスと
をさらに含み、
前記特定の配送についての前記配送情報を決定することは、
前記URL中の前記追跡番号の始まりに対応する第1のインデックスと、前記URL中の前記追跡番号の終わりに対応する第2のインデックスとを
予測することと、
予測された前記第1のインデックスと
予測された前記第2のインデックスとを前記1つ以上のMLモデルに入力することと
をさらに含む、請求項1または2に記載のコンピュータ実装方法。
【請求項4】
前記特定の配送についての前記配送情報を決定することは、
前記1つ以上のMLモデルに前記URLを入力することと、
前記1つ以上のMLモデルの出力から、所定の配送プロバイダの組から選択される前記配送プロバイダに対応する文字列を取得することと
を含む、請求項1または2に記載のコンピュータ実装方法。
【請求項5】
前記特定の配送についての前記配送情報を決定することは、
前記URL(612)を構文解析することによって、前記配送プロバイダ(616)を決定することと、
前記ウェブリソースを構文解析することによって、前記配送プロバイダ(616)を確認することと
を含む、請求項1~4のうちのいずれか一項に記載のコンピュータ実装方法。
【請求項6】
前記特定の配送についての前記配送情報を決定することは、
前記URL(612)を構文解析することによって、前記配送プロバイダ(616)を決定することと、
前記ウェブリソース(700)を構文解析することによって、前記配送プロバイダ(616)を決定することと
を含む、請求項1~4のうちのいずれか一項に記載のコンピュータ実装方法。
【請求項7】
前記特定の配送についての前記配送情報を決定することは、前記ウェブリソース(700)を構文解析することによって、前記配送プロバイダ(616)を決定することを含む、請求項1~4のうちのいずれか一項に記載のコンピュータ実装方法。
【請求項8】
前記1つ以上のMLモデルのうちの少なくとも1つは、マルチタスク学習モデルを備えている、請求項1~7のうちのいずれか一項に記載のコンピュータ実装方法。
【請求項9】
前記URLは、第1のURL(612)であり、前記ウェブリソース(700)は、第1のウェブリソースであり、前記追跡番号(614)は、第1の追跡番号であり、前記配送プロバイダ(616)は、第1の配送プロバイダであり、前記方法は、
前記デジタルコンテンツから、第2のウェブリソースについての第2のURLを取得することと、
前記第2のURLと前記第2のウェブリソースとに基づいて、
前記第2のウェブリソースが前記配送を追跡するためのものであることと、
前記配送についての第2の追跡番号と、
前記配送についての第2の配送プロバイダと
を決定することと、
前記第1の追跡番号が前記第2の追跡番号に合致することと、前記第1の配送プロバイダが前記第2の配送プロバイダに合致することとを決定することと
をさらに含む、請求項1~8のうちのいずれか一項に記載のコンピュータ実装方法。
【請求項10】
前記デジタルコンテンツに基づいて、前記メッセージ(600)が前記配送を追跡することに関していることを決定することをさらに含む、請求項1~9のうちのいずれか一項に記載のコンピュータ実装方法。
【請求項11】
前記メッセージ(600)が前記配送を追跡することに関していることを決定することは、
前記1つ以上のMLモデルに
取得された前記デジタルコンテンツを入力することと、
前記1つ以上のMLモデルの出力から、所定のメッセージカテゴリの組から選択される前記メッセージについてのメッセージカテゴリを取得することと、
取得された前記メッセージカテゴリが配送追跡に関していることを決定することと
を含む、請求項10に記載のコンピュータ実装方法。
【請求項12】
前記メッセージが前記配送を追跡することに関していることを決定することは、
前記1つ以上のMLモデルに
取得された前記URL(612)を入力することと、
前記1つ以上のMLモデルの出力から、所定のURLカテゴリの組から選択される前記URLについてのURLカテゴリを取得することと、
取得された前記URLカテゴリが配送追跡に関していることを決定することと
を含む、請求項10に記載のコンピュータ実装方法。
【請求項13】
前記メッセージ(600)は、特定のユーザに対応しており、
前記特定の配送についての前記配送情報を記憶することは、前記特定のユーザに関連付けられた複数の配送についての配送情報レコード(1000)内に
前記特定の配送についての前記配送情報を記憶することを含み、
前記方法は、前記特定のユーザに関連付けられたデバイス上での表示のために、前記配送情報レコード(1000)のうちの少なくとも一部を出力することをさらに含む、請求項1~12のうちのいずれか一項に記載のコンピュータ実装方法。
【請求項14】
システム(400)であって、前記システムは、
請求項1~13のうちのいずれか一項に記載の方法を実行するように構成されている少なくとも1つのプロセッサ(404)と、
前記特定の配送についての前記配送情報を記憶するためのメモリ(406)と
を備えている、システム。
【請求項15】
コンピュータプログラムであって、前記コンピュータプログラムは、コンピュータのプロセッサ上で実行されると、請求項1~13のうちのいずれか一項に記載の方法を実行するように構成されている、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、デジタルメッセージから情報を取得することに関しており、特定の実施形態では、デジタルメッセージから配送情報を取得することに関している。
【背景技術】
【0002】
顧客がオンラインストアを通して製品を注文すると、顧客は、製品の配送を追跡するための配送情報を提供するeメールまたは他のメッセージを受信し得る。この配送情報は、配送を促進している配送プロバイダと、配送についての追跡番号と、配送を追跡するためのウェブページまたは他のウェブリソースに対応するuniform resource locator(URL)とを含み得る。ウェブリソースを用いて、顧客は、配送の状況および/または配送についての予想される送達日を視認することが可能であり得る。ウェブリソースは、配送プロバイダおよび/または配送についての追跡番号も含み得る。
【発明の概要】
【課題を解決するための手段】
【0003】
いくつかの場合、配送情報を提供するメッセージが、顧客の受信トレイ内に埋もれるようになり、顧客が後にメッセージを見つけて配送情報を取得することを困難にし得る。この問題は、オンラインで頻繁に製品を注文し、任意の所与の時に複数の係属中の製品配送を有し得る顧客についてひどくなり得る。これらの配送の各々についての追跡情報が、しばしば異なるメッセージ中に提供され、それは、まとめることが難題であり、時間がかかり得る。したがって、顧客は、いくつかの製品についての配送情報を見つけることが困難であり得、それらの製品を追跡し損なうことさえあり得る。加えて、または、あるいは、所与の配送についての追跡情報を提供するメッセージは、顧客が良く慣れ親しんでいないこともある言語で記述され得、追跡情報の識別、発見、および/または理解を妨げ得る。
【0004】
本開示のいくつかの実施形態は、eメールメッセージ、テキストメッセージ等を含むユーザのデジタルメッセージから配送情報を自動で抽出するためのコンピュータ実装システムおよびコンピュータ実装方法を提供する。そして、配送情報は、ユーザのための配送情報の一元管理されたリストに追加され得、ユーザがメッセージおよび/または配送情報を手動でまとめ、追跡し続けることを避けることを可能にする。つまり、抽出されると、配送情報等は、例えば、画定されおよび/もしくは一貫したフォーマット等でユーザに提示され得、ならびに/または、そのような提示を提供することにおいて採用され得る。便利なことに、このようにして、顧客/ユーザは、例えば未解決の配送(例えば、まだ送達されていない配送)の全てをリストアップする集約された概要等の各種の配送に関する一見しただけで分かる情報を提示され得、配送情報は、メッセージの組(例えば、ユーザの1つ以上の受信トレイ)に基づいて識別される。加えて、または、あるいは、そのような配送情報は、例えば、潜在的に彼らの目立った配送のうちのいくつかまたはそれら全てについての彼らの種々の配送に関する最新情報をユーザに提供するため等、他の目標のために採用され得る。例えば、そのような最新情報は、画定されおよび/または一貫したフォーマットでユーザに一緒に提示され得る。特定の例では、そのような最新情報は、種々の配送についての追跡情報/最新情報をリストアップし、またはそれらへのアクセスを提供するもの等、好適な集約された概要によって提示され得る。
【0005】
例えばeメールメッセージ等のメッセージに基づく配送情報の識別は、各種の理由のために、些細ではないことがある。第1に、配送情報を提供するメッセージは、各種のフォーマットであり得る。例えば、特定の商人/配送業者/キャリアからの係属中の配送に関する情報を提供するメッセージは、(例えば、メッセージの内容および/またはメッセージ内のそのレイアウト/配置の点で)第1のフォーマットであり得る一方、別の商人/配送業者/キャリアは、異なるフォーマットを採用し得る。さらに、そのようなフォーマットは、経時的に変化し得、または同一の商人/配送業者/キャリアについてすら、種々の要因に依存して変動し得る。加えて、いくつかの場合、配送の指示を提供するメッセージは、メッセージ内に直接配送情報を含まないこともあり、むしろ、ウェブページまたは他のウェブリソースにアクセスするために用いられ得る1つ以上のURLを含み得、それによって、所与の配送に関する情報が取得され得る。例えば、そのような情報は、追跡情報、追跡番号等を含み得る。これらのURLおよびそれらが対応するウェブページのフォーマットは、メッセージのフォーマットに関して上で議論されたものと同様に、商人/配送業者/キャリア間で変動し得る。さらに、URLのフォーマットおよび/またはそれらが対応するウェブページのコンテンツ/レイアウト/フォーマットが商人/配送業者/キャリア間で変動し得るのみならず、いくつかの場合、それらは、所与の商人/配送業者/キャリアについても、経時的におよび/または種々の他の要因に基づいて、変動し、または変化し得る。
【0006】
本願は、メッセージに基づいて配送情報を取得し抽出する種々の態様を説明している。例えば、配送情報は、例えばユーザのeメール受信トレイおよび/またはユーザのテキストメッセージ(SMS)受信トレイ等のユーザの受信トレイ(単数または複数)内に到達するメッセージに基づいて取得され得る。いくつかの実施形態では、配送情報は、a)メッセージからURLを抽出すること、b)URLを分析して、配送情報を決定し、および/またはそれらを確認すること、c)URLに対応するウェブリソースを分析して、配送情報を決定し、および/またはそれらを確認することによって、メッセージから取得される。確率的方法が、URLおよび/またはウェブリソースから配送情報を決定するために提供される。例えば決定論的方法と比較して、これらの確率的方法は、製品の配送において採用され得る莫大な数の配送プロバイダ、履行ネットワーク、郵便サービスプロバイダ、およびラストマイル送達サービスを取り扱うのにより好適であり得る。したがって、確率的方法は、メッセージから配送情報を決定するためのより信頼性の高い手法を提供し得る。
【0007】
本開示のある側面によると、コンピュータ実装方法が提供される。方法は、顧客のための複数のメッセージを識別することと、複数のメッセージから少なくとも1つの配送についての配送情報を抽出することとを含む。抽出することは、複数のメッセージのうちの所与のメッセージに対応するデジタルコンテンツを取得することと、デジタルコンテンツからウェブリソースについてのURLを取得することとを含む。方法は、URLとウェブリソースとに基づいて、配送についての配送情報を決定することも含む。配送情報は、ウェブリソースが配送を追跡するためものであることの指示と、配送についての追跡番号と、配送についての配送プロバイダとのうちの少なくとも1つを含む。方法は、配送についての追跡最新情報を取得するために、配送情報をメモリ内に記憶することをさらに含む。
【0008】
配送情報は、少なくとも1つの配送についての追跡最新情報を取得するために用いられ得る。追跡最新情報は、顧客についての製品配送の集約された概要を提示することにおける使用のために提供され得る。
【0009】
配送情報は、数多くの異なる手法のうちのいずれかで、URLおよびウェブリソースから決定され得る。いくつかの実施形態では、配送情報を決定することは、URLを構文解析することによって、追跡番号と配送プロバイダとを決定することと、ウェブリソースを構文解析することによって、追跡番号と配送プロバイダとを確認することとを含む。いくつかの実施形態では、配送情報を決定することは、URLを構文解析することによって、追跡番号と配送プロバイダとのうちの一方を決定することと、ウェブリソースを構文解析することによって、追跡番号と配送プロバイダとのうちの他方を決定することとを含む。いくつかの実施形態では、配送情報を決定することは、ウェブリソースを構文解析することによって、追跡番号と配送プロバイダとを決定することを含む。
【0010】
機械学習(ML)モデルは、配送情報を決定することに役立つように実施され得る。これらのMLモデルのうちのいずれか、それらのうちの1つ、それらのうちのいくつか、またはそれら全てが、マルチタスク学習(MTL)モデルであり得る。いくつかの実施形態では、配送情報を決定することは、MLモデルにURLを入力することと、MLモデルの出力に基づいて、URLから追跡番号に対応する文字列を取得することとを含む。配送情報を決定することは、予測を取得することであって、予測は、URL中の追跡番号の始まりに対応する第1のインデックスと、URL中の追跡番号の終わりに対応する第2のインデックスとを備えている、ことと、MLモデルに第1のインデックスと第2のインデックスとを入力することとをさらに含み得る。
【0011】
いくつかの実施形態では、配送情報を決定することは、MLモデルにURLを入力することと、MLモデルの出力から、所定の配送情報の組から選択される配送プロバイダに対応する文字列を取得することとを含む。
【0012】
いくつかの実施形態では、複数のURLは、メッセージのデジタルコンテンツから取得され得る。例えば、方法は、デジタルコンテンツから第2のウェブリソースについての第2のURLを取得することさらに含み得る。方法は、第2のURLと第2のウェブリソースとに基づいて、第2のウェブリソースが配送を追跡するためのものであることと、配送についての第2の追跡番号と、配送についての第2の配送プロバイダとを決定することも含み得る。第1のURLおよび第2のURLは、同一の配送に関していることもある。したがって、方法は、第1の追跡番号が第2の追跡番号に合致することと、第1の配送プロバイダが第2の配送プロバイダに合致することとを決定することをさらに含み得る。
【0013】
いくつかの実施形態では、方法は、デジタルコンテンツに基づいて、メッセージが配送を追跡することに関していることを決定するステップをさらに含み得る。このステップは、MLモデルにデジタルコンテンツを入力することと;MLモデルの出力から、所定のメッセージカテゴリの組から選択されるメッセージについてのメッセージカテゴリを取得することと;メッセージカテゴリが配送追跡に関していることを決定することとを含み得る。同様に、または、代わりに、このステップは、MLモデルにURLを入力することと;MLモデルの出力から、所定のURLカテゴリの組から選択されるURLについてのURLカテゴリを取得することと;URLカテゴリが配送追跡に関していることを決定することとを含む。
【0014】
いくつかの実施形態では、メッセージは、特定のユーザに対応している。方法は、特定のユーザに関連付けられた複数の配送についての配送情報レコード内に配送情報を記憶することを含み得る。このレコードは、ユーザによって視認可能である。したがって、方法は、特定のユーザに関連付けられたデバイス上での表示のために配送情報レコードの少なくとも一部を出力することをさらに含み得る。
【0015】
本開示の別の側面によると、システムが提供され、システムは、配送情報を記憶するためのメモリと、本明細書中で開示される任意の方法を実施するための1つ以上のプロセッサとを含む。
【0016】
本開示のさらなる側面によると、命令を記憶しているコンピュータ読み取り可能な媒体が提供され、命令は、コンピュータシステムのプロセッサによって実行されると、コンピュータシステムに本明細書中で開示される任意の方法を実施させる。
【0017】
本開示のさらなる側面によると、コンピュータプログラムが提供され、コンピュータプログラムは、コンピュータのプロセッサ上で実行されると、本明細書中で開示される任意の方法を実行するように構成されている。
【0018】
よって、後に続く請求項において詳説される方法、システム、およびコンピュータプログラムが、提供される。
本発明は、例えば以下を提供する。
(項目1)
コンピュータ実装方法であって、前記コンピュータ実装方法は、
顧客についての複数のメッセージを識別することと、
前記複数のメッセージのうちのメッセージから、少なくとも1つの配送についての配送情報を抽出することであって、抽出することは、
前記複数のメッセージの所与のメッセージに対応するデジタルコンテンツを取得することと、
前記デジタルコンテンツからウェブリソースについてのuniform resource locator(URL)を取得することと、
1つ以上の機械学習(ML)モデルに前記URLを入力し、前記1つ以上のMLモデルの出力に基づいて、前記URLから追跡番号に対応する文字列を取得することによって、前記URLおよび前記ウェブリソースに基づいて、特定の配送についての配送情報を決定することと
を含み、
前記配送情報は、
前記ウェブリソースが前記特定の配送を追跡するためのものであることの指示と、
前記特定の配送についての追跡番号と、
前記特定の配送についての配送プロバイダと
のうちの少なくとも1つを備えている、ことと
前記特定の配送についての追跡最新情報を取得するために前記配送情報をメモリ内に記憶することと
を含む、コンピュータ実装方法。
(項目2)
前記配送情報に基づいて、前記少なくとも1つの配送についての追跡最新情報を取得することと、
前記顧客についての製品配送の集約された概要を提示することにおける使用のために前記追跡最新情報を提供することと
をさらに含む、上記項目に記載のコンピュータ実装方法。
(項目3)
前記配送情報を決定することは、
予測を取得することであって、前記予測は、前記URL中の前記追跡番号の始まりに対応する第1のインデックスと、前記URL中の前記追跡番号の終わりに対応する第2のインデックスとを備えている、ことと、
前記第1のインデックスと前記第2のインデックスとを前記1つ以上のMLモデルに入力することと
をさらに含む、上記項目のいずれかに記載のコンピュータ実装方法。
(項目4)
前記配送情報を決定することは、
前記1つ以上のMLモデルに前記URLを入力することと、
前記1つ以上のMLモデルの出力から、所定の配送プロバイダの組から選択される前記配送プロバイダに対応する文字列を取得することと
を含む、上記項目のいずれかに記載のコンピュータ実装方法。
(項目5)
前記配送情報を決定することは、
前記URLを構文解析することによって、前記追跡番号と前記配送プロバイダとを決定することと、
前記ウェブリソースを構文解析することによって、前記追跡番号と前記配送プロバイダとを確認することと
を含む、上記項目のいずれかに記載のコンピュータ実装方法。
(項目6)
前記配送情報を決定することは、
前記URLを構文解析することによって、前記追跡番号と前記配送プロバイダとのうちの一方を決定することと、
前記ウェブリソースを構文解析することによって、前記追跡番号と前記配送プロバイダとのうちの他方を決定することと
を含む、上記項目のいずれかに記載のコンピュータ実装方法。
(項目7)
前記配送情報を決定することは、前記ウェブリソースを構文解析することによって、前記追跡番号と前記配送プロバイダとを決定することを含む、上記項目のいずれかに記載のコンピュータ実装方法。
(項目8)
前記1つ以上のMLモデルのうちの少なくとも1つは、マルチタスク学習モデルを備えている、上記項目のいずれかに記載のコンピュータ実装方法。
(項目9)
前記URLは、第1のURLであり、前記ウェブリソースは、第1のウェブリソースであり、前記追跡番号は、第1の追跡番号であり、前記配送プロバイダは、第1の配送プロバイダであり、前記方法は、
前記デジタルコンテンツから、第2のウェブリソースについての第2のURLを取得することと、
前記第2のURLと前記第2のウェブリソースとに基づいて、
前記第2のウェブリソースが前記配送を追跡するためのものであることと、
前記配送についての第2の追跡番号と、
前記配送についての第2の配送プロバイダと
を決定することと、
前記第1の追跡番号が前記第2の追跡番号に合致することと、前記第1の配送プロバイダが前記第2の配送プロバイダに合致することとを決定することと
をさらに含む、上記項目のいずれかに記載のコンピュータ実装方法。
(項目10)
前記デジタルコンテンツに基づいて、前記メッセージが前記配送を追跡することに関していることを決定することをさらに含む、上記項目のいずれかに記載のコンピュータ実装方法。
(項目11)
前記メッセージが前記配送を追跡することに関していることを決定することは、
前記1つ以上のMLモデルに前記デジタルコンテンツを入力することと、
前記1つ以上のMLモデルの出力から、所定のメッセージカテゴリの組から選択される前記メッセージについてのメッセージカテゴリを取得することと、
前記メッセージカテゴリが配送追跡に関していることを決定することと
を含む、上記項目のいずれかに記載のコンピュータ実装方法。
(項目12)
前記メッセージが前記配送を追跡することに関していることを決定することは、
前記1つ以上のMLモデルに前記URLを入力することと、
前記1つ以上のMLモデルの出力から、所定のURLカテゴリの組から選択される前記URLについてのURLカテゴリを取得することと、
前記URLカテゴリが配送追跡に関していることを決定することと
を含む、上記項目のいずれかに記載のコンピュータ実装方法。
(項目13)
前記メッセージは、特定のユーザに対応しており、
前記配送情報を記憶することは、前記特定のユーザに関連付けられた複数の配送についての配送情報レコード内に前記配送情報を記憶することを含み、
前記方法は、前記特定のユーザに関連付けられたデバイス上での表示のために、前記配送情報レコードのうちの少なくとも一部を出力することをさらに含む、上記項目のいずれかに記載のコンピュータ実装方法。
(項目14)
システムであって、前記システムは、
上記項目のいずれかに記載の方法を実行するように構成されている少なくとも1つのプロセッサと、
前記配送情報を記憶するためのメモリと
を備えている、システム。
(項目15)
コンピュータプログラムであって、前記コンピュータプログラムは、コンピュータのプロセッサ上で実行されると、上記項目のいずれかに記載の方法を実行するように構成されている、コンピュータプログラム。
(摘要)
本開示は、部分的に、メッセージ内のuniform resource locator(URL)を用いて応報を取得するためのシステムおよび方法に関している。情報は、確率的方法を用いてURLから取得され得、確率的方法は、決定論的方法より良い結果を達成し得る。さらに、URLから取得された情報は、URLに関連付けられたウェブリソースから取得された情報を用いて補足され、および/または確認され得る。ある実施形態によると、ウェブリソースについてのURLは、メッセージに対応するデジタルコンテンツから取得される。そして、配送情報は、URLおよびウェブリソースに基づいて取得され得る。
【図面の簡単な説明】
【0019】
実施形態が、添付の図を参照して単に例として説明される。
【0020】
【
図1】
図1は、一実施形態によるeコマースプラットフォームのブロック図である。
【0021】
【
図2】
図2は、一実施形態によるアドミニストレータのホームページの例である。
【0022】
【
図3】
図3は、
図1のeコマースプラットフォームであるが、メッセージ分析エンジンを含むeコマースプラットフォームを例証している。
【0023】
【
図4】
図4は、ある実施形態によるデジタルメッセージから情報を取得するためのシステムを例証しているブロック図である。
【0024】
【
図5】
図5は、ある実施形態によるメッセージを分析して配送情報を取得するための方法を例証しているフロー図である。
【0025】
【
図6】
図6は、ある実施形態による配送を追跡することに関しているeメールメッセージを例証している。
【0026】
【
図7】
図7は、
図6のeメールメッセージ内の追跡URLに対応するウェブページを例証している。
【0027】
【
図8】
図8は、別の実施形態による配送を追跡することに関しているeメールメッセージを例証している。
【0028】
【
図9】
図9は、
図8のeメールメッセージ内の追跡URLに対応するウェブページを例証している。
【0029】
【
図10】
図10は、ある実施形態による一元管理された配送情報のレコードを例証している。
【発明を実施するための形態】
【0030】
例証の目的のために、ここで、特定の例示的実施形態が、図面と共に以下でより詳細に説明される。
例示的eコマースプラットフォーム
【0031】
いくつかの実施形態では、本明細書中で開示される方法は、コマースプラットフォームにおいて、またはそれに関連付けられて実装され得、コマースプラットフォームは、本明細書中で、eコマースプラットフォームと称される。したがって、eコマースプラットフォームの例が説明される。
【0032】
図1は、一実施形態によるeコマースプラットフォーム100を例証している。eコマースプラットフォーム100は、商人の製品およびサービスを顧客に提供するために用いられ得る。本開示は、製品およびサービスを購入するための装置、システムおよびプロセスを用いることを想定しているが、本明細書中の説明は、単純化のため、製品に言及する。この開示全体にわたる製品への全ての言及は、物理的製品、デジタルコンテンツ、チケット、サブスクリプション、提供されるサービス等を含む製品および/またはサービスにも言及していることを理解されるべきである。
【0033】
本開示は、全体にわたって、「商人」および「顧客」は、個人より多いこともあることを構想しているが、単純化のため、本明細書中の説明は、概してそのように商人および顧客に言及する。商人および顧客への全ての言及が、この開示全体にわたって、個人、会社、企業、コンピューティングエンティティ等の群に言及し、製品の営利または非営利の交換を表し得ることも理解されるべきである。さらに、本開示は、全体にわたって、「商人」および「顧客」に言及し、そのように彼らの役割を説明するが、eコマースプラットフォーム100は、eコマース環境においてユーザをより一般的にサポートすることを理解されるべきであり、この開示全体にわたる商人および顧客への全ての言及は、ユーザが、商人ユーザ(例えば、製品の売り手、小売業者、卸売業者、またはプロバイダ)、顧客ユーザ(例えば、製品の買い手、購入エージェント、または製品のユーザ)、潜在的ユーザ(例えば、閲覧しているユーザおよびまだ購入を確約していないユーザ、製品をマーケティングし販売することにおける潜在的な使用についてeコマースプラットフォーム100を評価するユーザ等)、サービスプロバイダユーザ(例えば、配送プロバイダ112、金融プロバイダ等)、会社ユーザまたは企業ユーザ(例えば、製品の購入、販売、または使用を代表する会社、事業者ユーザ、顧客関連または顧客管理の代理人等)、情報テクノロジーユーザ、コンピューティングエンティティユーザ(例えば、製品の購入、販売、または使用のためのコンピューティングボット)である場合等のユーザに言及していることも理解されるべきである。
【0034】
eコマースプラットフォーム100は、商人に彼らのビジネスを管理するためのオンラインリソースおよびオンラインファシリティを提供する集中型システムを提供し得る。本明細書中で説明されるファシリティは、プラットフォーム100の一部または外部であり得る1つ以上のプロセッサにおいてコンピュータソフトウェア、モジュール、プログラムコード、および/または命令を実行する機械を通じて部分的または全体的に展開され得る。商人は、例えば、オンラインストア138を通じて、チャンネル110A-Bを通じて、物理的場所にあるPOSデバイス152(例えば、キオスク、端末、リーダ、プリンタ、3Dプリンタ等を通じて物理的な店頭または他の場所)を通じて、顧客におけるeコマース体験を実装することによって、eコマースプラットフォーム100を通じて彼らのビジネスを管理することによって、eコマースプラットフォーム100の通信ファシリティ129を通じて顧客と相互作用することによって、またはこれらの任意の組み合わせによって、顧客とのコマースを管理するために、eコマースプラットフォーム100を活用し得る。商人は、顧客との唯一のコマースプレゼンスとして、または物理的店舗(例えば、「ブリックアンドモルタル」小売店)、プラットフォーム外の商人のウェブサイト104(例えば、コマースインターネットウェブサイト、またはeコマースプラットフォームとは別個で商人によって、またはその代理でサポートされた他のインターネットもしくはウェブプロパティまたはアセット)を通じて等、他の商人コマースファシリティと共にeコマースプラットフォーム100を活用し得る。しかしながら、これらの「他の」商人コマースファシリティも、eコマースプラットフォーム内に統合され得る(例えば、商人の物理的店舗内のPOSデバイス152がeコマースプラットフォーム100につながれる場合、プラットフォーム外の商人のウェブサイト104からオンラインストア138にコンテンツをつなぐ「買うボタン」を通じて、プラットフォーム外の商人のウェブサイト104がeコマースプラットフォーム100内に結び付けられている場合等)。
【0035】
オンラインストア138は、複数の仮想的店頭を備えているマルチテナントファシリティを表し得る。実施形態では、商人は、例えば商人デバイス102(例えば、コンピュータ、ラップトップコンピュータ、モバイルコンピューティングデバイス等)を通じて、オンラインストア138内の1つ以上の店頭を管理し、数多くの異なるチャンネル110A-B(例えば、オンラインストア138、POSデバイス152を通じた物理的店頭、(ソーシャルネットワーク、ソーシャルメディアページ、ソーシャルメディアメッセージシステム等のウェブサイトまたはソーシャルメディアチャンネルに統合された電子的買うボタンを通じた電子的市場等)を通じて製品を顧客に提供し得る。商人は、チャンネル110A-Bを横断して販売し、そして、eコマースプラットフォーム100を通じて彼らの販売を管理し得、チャンネル110Aは、eコマースプラットフォーム100の内部に、またはeコマースチャンネル110Bの外部から提供され得る。商人は、例えば彼らの物理的小売店で販売し、ポップアップで販売し、卸売りを通して販売し、電話で販売し、そして、eコマースプラットフォーム100を通じて彼らの販売を管理し得る。商人は、これらの全てまたは任意の組み合わせを使用し、POSデバイス152を活用している物理的店頭を通してビジネスを維持し、オンラインストア138を通じて仮想的店頭を維持し、顧客相互作用に影響を与えるために通信ファシリティ129を活用し、販売の利益を向上させるために分析132を活用し得る。この開示全体にわたって、オンラインストア138および店頭という語は、同義的に、eコマースプラットフォーム100を通じた商人のオンラインeコマース提供主体を指すために用いられ得、オンラインストア138は、(例えば、複数の商人のための)eコマースプラットフォーム100によってサポートされた店頭のマルチテナント集合体、または個々の商人の店頭(例えば、商人のオンラインストア)を指し得る。
【0036】
いくつかの実施形態では、顧客は、顧客デバイス150(例えば、コンピュータ、ラップトップコンピュータ、モバイルコンピューティングデバイス等)、POSデバイス152(例えば、小売りデバイス、キオスク、自動勘定システム等)、または業界で知られている任意の他のコマースインタフェースデバイスを通じて相互作用し得る。eコマースプラットフォーム100は、オンラインストア138を通じて、物理的場所(例えば、商人の店頭または他の場所)にあるPOSデバイス152を通じて、顧客に到達すること、電気通信ファシリティ129を介した顧客との対話を通じて顧客とのコマースを促進すること等を可能にし得、顧客に到達し顧客と相互作用するために利用可能な実通路または仮想通路に関して、顧客に到達し商人サービスを促進するためのシステムを提供する。
【0037】
いくつかの実施形態では、本明細書中でさらに説明されるように、eコマースプラットフォーム100は、プロセッサおよびメモリを含む処理ファシリティを通じて実装され得、処理ファシリティは、一連の命令を記憶しており、命令が実行されたとき、eコマースプラットフォーム100は、本明細書で説明されるようにeコマースを実施し、機能をサポートする。処理ファシリティは、サーバ、クライアント、ネットワークインフラストラクチャ、モバイルコンピューティングプラットフォーム、クラウドコンピューティングプラットフォーム、固定コンピューティングプラットフォーム、または他のコンピューティングプラットフォームの一部であり、eコマースプラットフォーム100の電子コンポーネント、商人デバイス102、支払いゲートウェイ106、アプリケーション開発者、チャンネル110A-B、配送プロバイダ112、顧客デバイス150、販売時点管理デバイス152等の間の電子的接続および通信を提供し得る。eコマースプラットフォーム100は、ソフトウェアがサブスクリプションベースでライセンスを与えられ、一元的にホストされた(たとえば、Webブラウザまたは他のアプリケーションを介してクライアント(例えば、シンクライアント)を用いてユーザによってアクセスされる、POSデバイスによってアクセスされる等)ソフトウェアおよび送達モデル等における、クラウドコンピューティングサービス、ソフトウェア・アズ・ア・サービス(SaaS)、インフラストラクチャ・アズ・ア・サービス(IaaS)、プラットフォーム・アズ・ア・サービス(PaaS)、デスクトップ・アズ・ア・サービス(DaaS)、管理型ソフトウェア・アズ・ア・サービス(MSaaS)、モバイル・バックエンド・アズ・ア・サービス(MBaaS)、情報テクノロジ管理・アズ・ア・サービス(ITMaaS)等として実装され得る。いくつかの実施形態では、eコマースプラットフォーム100の要素は、種々のプラットフォーム、およびiOS、Android等のオペレーティングシステムにおいて、ならびにWeb上等で動作するように実装され得る(例えば、アドミニストレータ114は、多くの場合、iOS、Android用の所与のオンラインストア、およびWebにおいて実装され、各々は同様の機能を有する)。
【0038】
いくつかの実施形態では、オンラインストア138は、eコマースプラットフォーム100のサーバによって提供されるウェブページを通じて顧客デバイス150にサービス提供され得る。サーバは、ブラウザまたは顧客デバイス150にインストールされた他のアプリケーションからウェブページの要求を受信し得、ブラウザ(または他のアプリケーション)は、IPアドレスを通じてサーバに接続し、IPアドレスは、ドメイン名を翻訳することによって取得される。これに対し、サーバは、要求されたウェブページを送り返す。ウェブページは、Hypertext Markup Language(HTML)、テンプレート言語、JavaScript(登録商標)またはこれらの任意の組み合わせで記述されているか、またはそれらを含み得る。例えば、HTMLは、ウェブページのレイアウト、フォーマット、およびコンテンツ等のウェブページに関する静的情報を記述するコンピュータ言語である。ウェブサイトの設計者および開発者は、テンプレート言語を用いて、複数のページで同一である静的コンテンツと、1つのページから次のページへと変化する動的コンテンツとを組み合わせるウェブページを構築し得る。テンプレート言語は、オンラインストアからのデータでページを動的に追加する一方で、ウェブページのレイアウトを画定する静的要素を再利用することを可能にし得る。静的要素は、HTMLで書かれ得、動的要素は、テンプレート言語で書かれ得る。ファイル内のテンプレート言語要素は、プレースホルダーとして機能し、それによって、ファイル内のコードは、コンパイルされて顧客デバイス150に送られ、その後、テンプレート言語は、テーマがインストールされるとき等に、オンラインストア138からのデータによって置き換えられる。テンプレートおよびテーマは、タグ、オブジェクト、およびフィルタを考慮し得る。そして、クライアントデバイスウェブブラウザ(または他のアプリケーション)は、それに応じて、ページをレンダリングする。
【0039】
いくつかの実施形態では、オンラインストア138は、eコマースプラットフォーム100によって顧客に提供され得、顧客は、種々の取り扱い製品を閲覧および購入し得る(例えば、製品をカートに追加する、買うボタンを通じて即購入する等)。オンラインストア138は、製品が(直接商人から購入するのではなく)eコマースプラットフォーム100を通じて提供されていることを顧客が必ずしも気付かない透明な手法で顧客に提供され得る。商人は、商人が構成可能なドメイン名、カスタマイズ可能なHTMLテーマ等を用いて、彼らのオンラインストア138をカスタマイズし得る。商人は、テーマシステムを通じて彼らのウェブサイトの見た目および雰囲気をカスタマイズし得、例えば、商人は、オンラインストア138の製品のヒエラルキー内に示される同一の下位の製品およびビジネスデータを示しながらオンラインストアのテーマを変更することによって、彼らのオンラインストアの見た目および雰囲気を選択および変更し得る。テーマは、テーマエディタおよびデザインインタフェースを通じてさらにカスタマイズされ得、デザインインタフェースは、ユーザが彼らのウェブサイトのデザインを柔軟にカスタマイズすることを可能にする。テーマは、特有の色、フォント、および予め構築されているレイアウトスキーム等の側面を変更するテーマ特有の設定を用いることによってもカスタマイズされ得る。オンラインストアは、ウェブサイトコンテンツのためのコンテンツ管理システムを実装し得る。商人は、ブログ投稿または静的ページを作り、ブログ、記事等を通じて彼らのオンラインストア138にそれらを発信するのみならず、ナビゲーションメニューも構成し得る。商人は、システムによる格納(例えば、データ134)等のために、画像(例えば、製品の画像)、ビデオ、コンテンツ、データ等をeコマースプラットフォーム100にアップロードし得る。いくつかの実施形態では、eコマースプラットフォーム100は、画像をサイズ変更し、画像を製品に関連付け、画像にテキストを追加し関連付け、新たな製品バリエーションの画像を追加し、画像を保護するため等の機能を提供し得る。
【0040】
本明細書中で説明されるように、eコマースプラットフォーム100は、オンラインストア138、電話を介してのみならず、本明細書中で説明されるような物理的POSデバイス152も含む多くの異なるチャンネル110A-Bを通じて、製品の取引ファシリティを商人に提供し得る。eコマースプラットフォーム100は、ビジネスサポートサービス116、アドミニストレータ114等を含み、それらは、彼らのオンラインストアに関連付けられたドメインサービス118、顧客との取引を促進するための支払いサービス120、購入された製品の配送オプションを顧客に提供するための配送サービス122、製品の保護および信頼性に関連付けられたリスクおよび保証サービス124、商人の請求等を提供する等、オンラインビジネスを営業することに関連付けられ得る。サービス116は、支払処理のための支払いゲートウェイ106、製品の配送を捗らせるための配送プロバイダ112等を通じて、eコマースプラットフォーム100を介してまたは外部ファシリティに関連付けられて提供され得る。
【0041】
いくつかの実施形態では、eコマースプラットフォーム100は、リアルタイムの最新情報、追跡、自動的レート計算、バルクオーダ―準備、ラベル印刷等を商人に提供する等、統合型配送サービス122を(例えば、eコマースプラットフォーム配送ファシリティを通じて、または第三の配送キャリアを通じて)提供し得る。
【0042】
図2は、アドミニストレータ114のホームページに関する非限定的な実施形態を描写し、日ごとのタスク、店舗の現在の活動、および商人が彼らのビジネスを構築するために取るべき次のステップについての情報を示し得る。いくつかの実施形態では、商人は、商人デバイス102を介して(デスクトップコンピュータまたはモバイルデバイスから等)アドミニストレータ114にログインし、商人のオンラインストア138の局面(オンラインストア138の現在の活動を視認すること、オンラインストア138のカタログを更新すること、注文、現在の訪問者の活動、および全体の注文活動等を管理すること等)を管理し得る。いくつかの実施形態では、商人は、例えば
図2に示されるようなサイドバーを用いることによって、アドミニストレータ114の異なるセクションにアクセスすることが可能であり得る。アドミニストレータ114のセクションは、注文、製品、顧客、取り扱い報告および割引を含む商人のビジネスの核となる局面にアクセスし、それを管理するための種々のインタフェースを含み得る。アドミニストレータ114は、店舗のための販売チャンネルを管理するためのインタフェースも含み得、インタフェースは、オンラインストア、店舗にアクセスするために顧客に利用可能にされたモバイルアプリケーション(単数または複数)(モバイルアプリ)、POSデバイス、および/または買うボタンを含む。アドミニストレータ114は、商人のアカウントにインストールされたアプリケーション(アプリ)を管理するためのインタフェース(商人のオンラインストア138およびアカウントに適用される設定)も含み得る。商人は、製品、ページ、または他の情報を見つけるために検索バーを用い得る。商人が使用しているデバイス102またはソフトウェアアプリケーションに依存して、商人は、アドミニストレータ114を通じて異なる機能を可能にされ得る。例えば、商人がブラウザからアドミニストレータ114にログインする場合、彼らは、彼らのオンラインストア138の全ての局面を管理することが可能であり得る。商人が彼らのモバイルデバイスから(例えばモバイルアプリケーションを介して)ログインする場合、彼らは、オンラインストア138の現在の活動を眺める、オンラインストア138のカタログを更新する、注文を管理する等、彼らのオンラインストア138の側面の全てまたは一部を視認することが可能であり得る。
【0043】
コマースおよびオンラインストア138への訪問者に関するより詳細な情報は、商人のビジネス全体に関する売上概要、活動している販売チャンネルに関する特定の売上および従業員データ等を表示する等、獲得レポートまたはメトリクスを通じて見られ得る。レポートは、獲得レポート、行動レポート、顧客レポート、金融レポート、マーケティングレポート、売上レポート、カスタムレポート等を含み得る。商人は、ドロップダウンメニュー等を用いることによって、様々な期間(例えば、日、週、月等)から様々なチャンネル110A-Bに関する売上データを見ることが可能であり得る。概観ダッシュボードも、店舗の売上および契約データのより詳細な図を望む商人に提供され得る。ホームメトリクスセクションにおける活動フィードは、商人のアカウントにおける活動の概観を例証するために提供され得る。例えば、「全ての現在の活動を見る」ダッシュボードボタンをクリックすることによって、商人は、彼らのアカウントにおける現在の活動のより長いフィードを見ることが可能であり得る。ホームページは、例えばアカウントステータス、成長、現在の顧客の活動等に基づいて、商人のオンラインストア138についての通知を示し得る。通知は、支払いを取り込む、履行された注文をマーキングする、完了した注文をアーカイブする等のプロセスを通じたナビゲーションで商人を支援するために提供され得る。
【0044】
eコマースプラットフォーム100は、商人、顧客、商人デバイス102、顧客デバイス150、POSデバイス152等の間の通信相互作用を収集し分析するための電子メッセージ集約ファシリティを活用する等、電子通信を提供しマーケティングをするための通信ファシリティ129および関連付けられた商人インタフェースを提供し、製品の販売を提供するポテンシャルを増加させる等のために通信を集約し分析し得る。例えば、顧客は、製品に関連する質問を有し得、質問は、顧客と商人(または商人を代理する自動化されたプロセッサベースの代理人)との間の対話を生み出し得、通信ファシリティ129は、相互作用を分析し、販売に関する利益をどのように向上するかについて商人に分析を提供する。
【0045】
eコマースプラットフォーム100は、例えばセキュアカードサーバ環境を通じて、顧客との安全な金融取引のための金融ファシリティ120を提供し得る。eコマースプラットフォーム100は、例えば、支払いカードインダストリーデータ(PCI)環境(例えば、カードサーバ)等にクレジットカード情報を記憶し得、金融情報を照合し、商人に請求書を送り、(例えば、現金を用いているとき)eコマースプラットフォーム100金融機関口座と商人の銀行口座との間の自動決済(ACH)振替を実施する。これらのシステムは、Sarbanes―Oxley Act(SOX)コンプライアンス、および、それらの開発および動作において要求される高いレベルの注意を有し得る。金融ファシリティ120は、例えば資金の貸し出し(例えば、貸出ファンド、現金前貸し等)および保険の付保を通して、商人に金融サポートも提供し得る。加えて、eコマースプラットフォーム100は、マーケティングおよびパートナーサービスのセットを提供し、eコマースプラットフォーム100とパートナーとの間の関係を制御し得る。それらは、新たな商人をeコマースプラットフォーム100に接続し、搭載し得る。これらのサービスは、商人がeコマースプラットフォーム100を横断して作業することを容易にすることによって商人の成長を可能にし得る。これらのサービスを通じて、商人は、eコマースプラットフォーム100を介したヘルプファシリティを提供され得る。
【0046】
いくつかの実施形態では、オンラインストア138は、数多くの独立して運営される店頭をサポートし、毎日の各種の製品に関する大量の取引データを処理し得る。取引データは、顧客連絡先情報、請求情報、配送情報、購入された製品の情報、与えられたサービスの情報、およびeコマースプラットフォーム100を通したビジネスに関連付けられた任意の他の情報を含み得る。いくつかの実施形態では、eコマースプラットフォーム100は、データファシリティ134内にこのデータを記憶し得る。取引データは、分析132を生み出すために処理され得、ひいては、商人または第三のコマースエンティティに提供されて、顧客の傾向、マーケティングおよび売上の洞察、売上を向上するための推薦、顧客行動の評価、マーケティングおよび売上のモデル化、詐欺の傾向等を提供し、オンラインコマースに関連付けられ、レポートを通してダッシュボードインタフェースで提供され得る。eコマースプラットフォーム100は、ビジネスおよび商人の取引についての情報を記憶し得、データファシリティ134は、データを強化し、データに貢献し、データを精錬し、データを抽出する多くの手段を有し得、収集されたデータは、経時的にeコマースプラットフォーム100の局面の改善を可能にし得る。
【0047】
図1を再度参照すると、いくつかの実施形態では、eコマースプラットフォーム100は、コンテンツ管理、タスク自動化、およびデータ管理のためのコマース管理エンジン136で構成され、(例えば、製品、在庫、顧客、注文、提携、供給者、レポート、金融、リスクおよび詐欺等に関連付けられた)複数のオンラインストア138のサポートおよびサービスを可能にし得るが、eコマースプラットフォーム100は、アプリケーション142A-Bを通して拡張可能であり得、アプリケーション142A-Bは、多種多様な商人オンラインストア、POSデバイス、製品、およびサービスに適応するために要求されるより高い柔軟性およびカスタム処理を可能にし、アプリケーション142Aが、eコマースプラットフォーム100の内部に提供され得、または、アプリケーション142Bが、eコマースプラットフォーム100の外部に提供され得る。いくつかの実施形態では、アプリケーション142Aは、プラットフォーム100を提供する同じパーティによって、または異なるパーティによって提供され得る。いくつかの実施形態では、アプリケーション142Bは、プラットフォーム100を提供する同じパーティによって、または異なるパーティによって提供され得る。コマース管理エンジン136は、例えば顧客識別子、注文識別子、オンラインストア識別子等による機能およびデータの分配(例えば、分割)を通じた柔軟性およびスケーラビリティのために構成され得る。コマース管理エンジン136は、店舗特有のビジネスロジックに適応し得、いくつかの実施形態では、アドミニストレータ114および/またはオンラインストア138を統合し得る。
【0048】
コマース管理エンジン136は、eコマースプラットフォーム100のベースまたは「核となる」機能を含み、そのため、本明細書中で説明されるように、オンラインストア138をサポートする全ての機能が、含めるのに適切であるわけではないこともある。例えば、コマース管理エンジン136内に含まれる機能は、「核となる」機能性のしきい値を超える必要があり得、「核となる」機能性のしきい値を通して、機能がコマース体験にとっての核であること(例えば、横断チャンネル、アドミニストレータインタフェース、商人の場所、産業、製品タイプ等のオンラインストア活動の大部分の共通性)、機能がオンラインストア138を横断して再利用可能であること(例えば核となる機能を横断して再利用/修正され得る機能)、同時に単一のオンラインストア138のコンテキストに限定されること(例えば、オンラインストア「分離原理」を実装し、この原理において、コードは、同時に複数のオンラインストア138と相互作用することが可能であるべきではなく、分離原理は、オンラインストア138が互いのデータにアクセスできないことを保証する)、取引仕事量を提供すること等が決定され得る。多くの要求される特徴が、コマース管理エンジン136によって直接提供されるか、または、アプリケーション142A-Bおよびチャンネル110A-Bへのアプリケーションプログラミングインタフェース(API)接続を通じたその拡張等によってインタフェース140A-Bを通して可能にされる(インタフェース140Aは、eコマースプラットフォーム100内のアプリケーション142Aおよび/またはチャンネル110Aに提供され、または、インタフェース140Bは、eコマースプラットフォーム100の外部のアプリケーション142Bおよび/またはチャンネル110Bに提供され得る)かのいずれかである場合、どの機能が実装されるかということの制御をメンテナンスすることが、コマース管理エンジン136が応答可能であり続けることを可能にし得る。概して、プラットフォーム100は、(拡張機能、コネクタ、API等であり得る)インタフェース140A-Bを含み得、インタフェース140A-Bは、他のプラットフォーム、システム、ソフトウェア、データソース、コード等への接続およびそれらとの通信を促進する。そのようなインタフェース140A-Bは、さらに概略的に、コマース管理エンジン136のインタフェース140A、またはプラットフォーム100のインタフェース140Bであり得る。ケアがコマース管理エンジン136内の規制機能に与えられない場合、低速データベースまたは致命的ではないバックエンドの破壊を通じたインフラストラクチャの劣化を通して、オフラインになっているデータセンター等による致命的なインフラストラクチャの破壊を通して、新たなコードが展開され、それが予期されるより実行するために長い時間を要することを通して、応答性が損なわれ得る。これらの状況を防ぐためにまたは軽減させるために、コマース管理エンジン136は、例えばタイムアウト、クエリ、劣化を防ぐバックプレッシャー等を活用する構成を通じて応答性を維持するように構成され得る。
【0049】
オンラインストアデータを分離することは、オンラインストア138間および商人間のデータプライバシーを維持するために重要であるが、例えば注文リスク査定システムまたはプラットフォーム支払いファシリティ(注文リスク査定システムおよびプラットフォーム支払いファシリティの両方は、うまく実施するために複数のオンラインストア138からの情報を要求する)において相互店舗データを収集し使用する理由が存在し得る。いくつかの実施形態では、分離原理に違反することなく、これらのコンポーネントをコマース管理エンジン136の外部に移動させること、およびeコマースプラットフォーム100内のそれら自身のインフラストラクチャ内に移動させることが好まれ得る。
【0050】
いくつかの実施形態では、eコマースプラットフォーム100は、プラットフォーム支払いファシリティ120を提供し得、プラットフォーム支払いファシリティ120は、コマース管理エンジン136からのデータを活用するが分離原理に違反しないように外部に配置され得るコンポーネントの別の例である。プラットフォーム支払いファシリティ120は、オンラインストア138と相互作用する顧客が、コマース管理エンジン136によって安全に記憶された彼らの支払い情報を有することを可能にし、それによって、彼らは一度しか支払い情報を入力する必要がない。顧客が異なるオンラインストア138を訪問するとき、彼らが以前にその店舗に行ったことがない場合であっても、プラットフォーム支払いファシリティ120は、彼らの情報を回収し、より迅速で正確な勘定を可能にする。これは、クロスプラットフォームネットワーク効果を提供し得、例えば顧客の購入に関する使用の容易さのおかげでより頻繁に勘定をするより多くの顧客が存在するので、eコマースプラットフォーム100は、より多くの商人が参加するにつれてその商人により有用となる。このネットワークの効果を最大化するために、所与の顧客に関する支払い情報は、オンラインストアの勘定から回収可能であり得、情報がオンラインストア138にわたって全体的に利用可能になることを可能にする。各オンラインストア138が任意の他のオンラインストア138に接続してそこに記憶された支払い情報を回収することが可能であることは、困難であり、誤りを起こしやすい。結果的に、プラットフォーム支払いファシリティは、コマース管理エンジン136の外部で実装され得る。
【0051】
コマース管理エンジン136内に含まれていない機能に関して、アプリケーション142A-Bは、eコマースプラットフォーム100に特徴を追加する手段を提供する。アプリケーション142A-Bは、例えば、商人のオンラインストア138にあるデータにアクセスし、これを修正し、アドミニストレータ114を通じてタスクを実施し、ユーザインタフェースを通じて商人のための新たなフローを創出し得る(例えば、それは、拡張機能/APIを通じて示される)。商人は、アプリケーション検索、推薦およびサポート128を通じてアプリケーション142A-Bを発見しインストールすることが可能にされ得る。いくつかの実施形態では、核となる製品、核となる拡張ポイント、アプリケーション、およびアドミニストレータ114が、共に作業するように開発され得る。例えば、アプリケーション拡張ポイントは、アドミニストレータ114の内部に構築され得、それによって、核となる特徴が、アプリケーションによって拡張され得、アプリケーションは、拡張機能を通じて機能を商人に送達し得る。
【0052】
いくつかの実施形態では、アプリケーション142A-Bは、インタフェース140A-Bを通じて機能を商人に送達し得、例えば、アプリケーション142A-Bは、取引データを商人に示すことが可能であり(例えば、アプリ:「エンジン、内臓アプリSDKを用いてモバイル管理およびウェブ管理内の私のアプリデータを示して」)、および/またはコマース管理エンジン136は、要求された作業を実施することをアプリケーションに依頼することが可能である(エンジン:「アプリ、この勘定に関する地方税計算を私に提示して」)。
【0053】
アプリケーション142A-Bは、例えば、オンラインストア138およびチャンネル110A-Bをサポートし、商人サポートを提供し、他のサービスと統合し得る。コマース管理エンジン136がオンラインストア138にサービスの基盤を提供し得る場合、アプリケーション142A-Bは、商人が特定のニーズおよび時には独自のニーズを満足させるための手段を提供し得る。異なる商人は、異なるニーズを有するため、異なるアプリケーション142A-Bから恩恵を受け得る。アプリケーション142A-Bは、アプリケーション分類(カテゴリ)の開発を通じてeコマースプラットフォーム100を通してより見出され得、アプリケーション分類は、例えば、検索、ランキング、および推薦モデルをサポートするアプリケーションデータサービスを通じて、およびアプリケーションストア、ホーム情報カード、アプリケーション設定ページ等のアプリケーション発見インタフェースを通じて、アプリケーションが商人のために実施する機能のタイプによってアプリケーションがタグ付けされることを可能にする。
【0054】
アプリケーション142A-Bは、インタフェース140A-Bを通じてコマース管理エンジン136に接続され得、例えば、APIを活用して、(REST、GraphQL等を通じて)コマース管理エンジン136を通じてまたはその中で利用可能な機能およびデータをアプリケーションの機能に公開する。例えば、eコマースプラットフォーム100は、アプリケーション拡張機能、プロセスフローサービス、開発者向けリソース等を含む商人およびパートナー向けの製品およびサービスにAPIインタフェース140A-Bを提供し得る。顧客がより頻繁にモバイルデバイスをショッピングのために用いることによって、モバイル使用に関連しているアプリケーション142A-Bは、関連する増大するコマーストラフィックをサポートするためのAPIのより拡張的な使用からの恩恵を受け得る。(例えばアプリケーション開発のために提供されるような)アプリケーションおよびAPIの使用を通じて提供される柔軟性は、eコマースプラットフォーム100が、コマース管理エンジン136に継続的な変更を要求することなく商人(および内部APIを通じた内部開発者)の新しい独自のニーズにより良く適応することを可能にし、従って、商人が必要とするものを商人が必要とするときに商人に提供する。例えば、配送サービス122は、配送またはキャリアサービスAPIを通じてコマース管理エンジン136と統合され得、従って、eコマースプラットフォーム100がコマース管理エンジン136で実行しているコードに直接的に影響を及ぼすことなく、配送サービス機能を提供することを可能にする。
【0055】
バックオフィス動作に関連する問題(商人向けのアプリケーション142A-B)およびオンラインストア138における問題(顧客向けのアプリケーション142A-B)等、多くの商人の問題は、パートナーがアプリケーション開発を通じて商人ワークフローを改善および拡張することによって解決され得る。ビジネスをする一部として、多くの商人は、バックオフィスタスク(例えば、販促、在庫、割引、履行等)およびオンラインストアタスク(例えば、彼らのオンラインストアショップに関連したアプリケーション、フラッシュセール、新製品の注文等)のために毎日モバイルおよびウェブ関連のアプリケーションを用い、アプリケーション142A-Bは、拡張機能/API140A-Bを通じて、急速に成長する市場において製品を容易に見て購入することを助ける。いくつかの実施形態では、パートナー、アプリケーション開発者、内部アプリケーションファシリティ等は、例えばアプリケーションインタフェースをサンドボックスするアドミニストレータ114内のフレームを創出することを通じて、ソフトウェア開発キット(SDK)を提供され得る。いくつかの実施形態では、アドミニストレータ114は、フレーム内で発生することを制御せず、発生したことに気付かないこともある。SDKは、ユーザインタフェースキットと共に用いられ、例えばコマース管理エンジン136の拡張機能として機能するeコマースプラットフォーム100のルックアンドフィールを模したインタフェースを生成し得る。
【0056】
APIを活用するアプリケーション142A-Bは、要求されたデータをプルし得るが、それらは、更新が発生するときにデータがプッシュされる必要もある。例えば顧客創出、製品変更、または注文取消等の更新イベントは、サブスクリプションモデルにおいて実装され得る。更新イベントは、ローカルデータベースを同期させること、外部統合パートナーに通知すること等のためにコマース管理エンジン136の変更された状態に関して必要とされる更新を商人に提供し得る。更新イベントは、例えば更新イベントサブスクリプションを通じて更新を確認するためにコマース管理エンジン136を常にポーリングする必要なく、この機能を可能にし得る。いくつかの実施形態では、更新イベントサブスクリプションに関連する変更が発生すると、コマース管理エンジン136は、予め定義されたコールバックURL等に要求を送り得る。この要求の本体は、オブジェクトの新たな状態と、アクションまたはイベントの記述とを含み得る。更新イベントサブスクリプションは、アドミニストレータファシリティ114において手動で、または(例えばAPI140A-Bを介して)自動で創出され得る。いくつかの実施形態では、更新イベントは、待ち行列に入れられ、それらをトリガした状態変更から非同期で処理され得、それは、リアルタイムで分配されない更新イベント通知を生み出し得る。
【0057】
いくつかの実施形態では、eコマースプラットフォーム100は、アプリケーション検索、推薦およびサポート128を提供し得る。アプリケーション検索、推薦およびサポート128は、アプリケーションの開発において支援するための開発者製品およびツールと、(例えば、開発インタフェースを開発者に提供するため、アドミニストレータのアプリケーションの管理のため、商人のアプリケーションのカスタマイズのため等の)アプリケーションダッシュボードと、(例えば、インストールされる前に基準が満たされなければならない公衆アクセスのため、または商人による私的な使用のため等の公共アクセスのための)アプリケーション142A-Bへのアクセスを提供することに関する許可をインストールおよび提供するためのファシリティと、商人のオンラインストア138のニーズを満足させるアプリケーション142A-Bを商人が検索することを容易にするためのアプリケーション検索と、商人がどのようにして彼らのオンラインストア138を通じたユーザ体験を改善し得るかについての提案を商人に提供するためのアプリケーション推薦と、コマース管理エンジン136内の核となるアプリケーション能力の記述と等を含み得る。これらのサポートファシリティは、任意のエンティティによって実施されるアプリケーション開発によって活用され得、任意のエンティティは、彼ら自身のアプリケーション142A-Bを開発する商人、アプリケーション142A-Bを開発する第三開発者(例えば、アプリケーション142A-Bは、商人によって契約され、公衆に提供するために独自で開発され、eコマースプラットフォーム100に関連付けられた使用のために契約される)、またはeコマースプラットフォーム100に関連付けられた内部パーソナルリソースによって開発されるアプリケーション142Aもしくは142Bを含む。いくつかの実施形態では、アプリケーション142A-Bは、例えば、アプリケーションに(例えばAPIを通して)リンクするために、アプリケーションを検索するために、アプリケーション推薦を作成するために、アプリケーション識別子(ID)を割り当てられ得る。
【0058】
コマース管理エンジン136は、eコマースプラットフォーム100のベース機能を含み、これらの機能をAPI140A-Bを通じてアプリケーション142A-Bに公開し得る。API140A-Bは、アプリケーション開発を通じて構築されたアプリケーションの異なるタイプを可能にし得る。アプリケーション142A-Bは、商人の多様なニーズを満足させることを可能にし得るが、大まかに3つのカテゴリにグループに分けられ得る:顧客向けアプリケーション、商人向けアプリケーション、統合アプリケーション等。顧客向けアプリケーション142A-Bは、オンラインストア138またはチャンネル110A-Bを含み得、オンラインストア138またはチャンネル110A-Bは、商人が製品をリストアップしそれらを購入してもらうことが可能な場所(例えば、オンラインストア、フラッシュセールのためのアプリケーション(例えば、商人製品または第三者リソースによる突発的なセールス機会からのもの)、モバイルストアアプリケーション、ソーシャルメディアチャンネル、卸売り購入を提供するためのアプリケーション等)である。商人向けアプリケーション142A-Bは、商人が、(例えば、ウェブもしくはウェブサイト、またはモバイルデバイスに関連するアプリケーションを通じて)彼らのオンラインストア138を管理すること、彼らのビジネスを(例えばPOSデバイスに関連するアプリケーションを通じて)営業すること、(例えば配送(例えば置き配)に関連するアプリケーション、自動化されたエージェントの使用、プロセスフロー開発および改善の使用を通じて)彼らのビジネスを成長させること等を可能にするアプリケーションを含む。統合アプリケーションは、配送プロバイダ112および支払いゲートウェイ等のビジネスの営業に関する有用な統合を提供するアプリケーションを含み得る。
【0059】
いくつかの実施形態では、アプリケーション開発者は、アプリケーションプロキシを用いて、外部の場所からデータをフェッチし、それをオンラインストア138のページに表示し得る。これらのプロキシページにおけるコンテンツは、例えば動的であり、更新されることが可能であり得る。アプリケーションプロキシは、画像ギャラリ、統計、カスタムフォーム、および他の種類の動的コンテンツを表示するために有用であり得る。eコマースプラットフォーム100の核となるアプリケーション構造は、アプリケーション142A-Bで構築される増加した数の商人体験を可能にし、それによって、コマース管理エンジン136は、より一般的に活用されるコマースのビジネスロジックに焦点を当て続けることができる。
【0060】
eコマースプラットフォーム100は、商人が柔軟で透明性のある態様で顧客に接触することを可能にする洗練されたシステムアーキテクチャを通じてオンラインショッピング体験を提供する。典型的な顧客体験は、例示的な購入ワークフローの実施形態を通じてより理解され得、ワークフローにおいて、顧客は、チャンネル110A-Bにある商人の製品を閲覧し、彼らが買いたい物を彼らのカートに追加し、勘定に進み、彼らのカートのコンテンツの支払いをし、商人への注文の創出をもたらす。そして、商人は、注文をレビューおよび履行(または取消)し得る。そして、製品は、顧客に送達される。顧客が満足しない場合、彼らは製品を商人に返却し得る。
【0061】
例示的な実施形態では、顧客は、チャンネル110A-Bにある商人の製品を閲覧し得る。チャンネル110A-Bは、顧客が製品を見て買い得る場所である。いくつかの実施形態では、チャンネル110A-Bは、アプリケーション142A-B(可能な例外は、コマース管理エンジン136内に統合されるオンラインストア138である)としてモデル化され得る。販促コンポーネントは、商人が、彼らが販売したい物および彼らがそれを販売する場所を説明することを可能にし得る。製品とチャンネルとの間の関連付けは、製品出版物としてモデル化され、例えば製品リストアップAPIを介してチャンネルアプリケーションによってアクセスされ得る。製品は、サイズおよび色、ならびに、極小かつ緑であるバリエーション、または大きいサイズかつ青であるバリエーション等、利用可能なオプションを全てのオプションの特定の組み合わせに拡大する多くのバリエーション等の多くのオプションを有し得る。製品は、少なくとも1つのバリエーション(例えば、「デフォルトバリエーション」は、どのオプションもない製品として創出される)を有し得る。閲覧および管理を促進するために、製品は、例えば、コレクションにグルーピングされ、製品識別子(例えば、在庫品維持ユニット(SKU))等を提供され得る。製品のコレクションは、例えば手動で製品を1つのコレクションに分類すること(例えば、カスタムコレクション)か、または自動的な分類(例えばスマートコレクション)のためのルールセット等を構築することのいずれかによって構築され得る。製品は、例えば仮想現実または拡張現実インタフェースを通じて、2D画像、3D画像、回転図画像として閲覧され得る。
【0062】
いくつかの実施形態では、顧客は、彼らが買いたい物を彼らのカートに追加し得る(代替となる実施形態では、製品は、本明細書中で説明されるように、例えば買うボタンを通じて直接購入され得る)。顧客は、彼らのショッピングカートに製品バリエーションを追加し得る。ショッピングカートモデルは、チャンネル特有であり得る。オンラインストア138カートは、複数のカートラインアイテムから構成され得、各カートラインアイテムは、製品バリエーションに関する量を追跡する。商人は、カートスクリプトを用いて、顧客のカートのコンテンツに基づいて顧客に特別なプロモーションを提供し得る。製品をカートに追加することは、顧客または商人からの何らかの約束を意味せず、カートの予測される寿命は数分の単位(日ではない)であり得るので、カートは、短期データ記憶装置に持続させられ得る。
【0063】
そして、顧客は、勘定に進む。勘定コンポーネントは、顧客向けの注文創出プロセスとしてウェブ勘定を実装し得る。勘定APIは、いくつかのチャンネルアプリケーションによって用いられるコンピュータ向けの注文創出プロセスとして提供され、(例えば、販売時点情報管理として)顧客に代わって注文を創出し得る。勘定は、カートから創出され、eメールアドレス、請求書、および配送詳細等の顧客の情報を記録し得る。勘定の時、商人は、価格設定を確約する。顧客が彼らの連絡先情報入力したが、勘定に進まない場合、eコマースプラットフォーム100は、顧客に再び係合するための機会(例えば破棄された勘定の特徴)を提供し得る。それらの理由のため、勘定は、カートより遥かに長い寿命(時間またはさらに日)を有し得、したがって持続される。勘定は、顧客の配送先住所に基づいて税および配送費用を計算し得る。勘定は、税コンポーネントに税の計算を委任し、送達コンポーネントに配送費用の計算を委任し得る。価格設定コンポーネントは、商人が割引コード(例えば、勘定において入力されると、勘定されるアイテムに新たな価格を適用する「秘密の」文字列)を創出することを可能にし得る。割引は、顧客を引き付け、マーケティングキャンペーンの成果を評価するために、商人によって用いられ得る。割引および他のカスタム価格システムは、例えば価格ルール(例えば、満たされたときに一連の資格を示す一連の必須条件)を通じて、同一のプラットフォームピースの上部に実装され得る。例えば、必須条件は、「注文の小計が$100より高い」または「配送費用が$10を下回る」等のアイテムであり得、資格は、「注文全体の20%割引」または「$10引き製品X、YおよびZ」等のアイテムであり得る。
【0064】
そして、顧客は、彼らのカートのコンテンツの支払いをし、これは、商人への注文の創出をもたらす。チャンネル110A-Bは、コマース管理エンジン136を用いて、お金、通貨または店舗の価値の蓄え(ドルまたは暗号通貨等)を顧客と商人との間で移動させ得る。種々の支払いプロバイダ(例えば、オンライン支払いシステム、モバイル支払いシステム、デジタルウォレット、クレジットカードケートウェイ等)との通信は、支払い処理コンポーネント内で実装され得る。支払いゲートウェイ106との実際の相互作用は、カードサーバ環境を通じて提供され得る。いくつかの実施形態では、支払いゲートウェイ106は、例えば主要な国際クレジットカードプロセッサを組み込んだ国際支払いを承認し得る。カードサーバ環境は、カードサーバアプリケーション、カードシンク、ホステッドフィールド等を含み得る。この環境は、機密クレジットカード情報のセキュアゲートキーパーとして機能し得る。いくつかの実施形態では、ほとんどのプロセスは、支払い処理ジョブによって組織化され得る。コマース管理エンジン136は、サイト外支払いゲートウェイ106を通じたもの(例えば、顧客が別のウェブサイトに向け直される)、手動によるもの(例えば、現金)、オンライン支払方法(例えば、オンライン支払システム、モバイル支払いシステム、デジタルウォレット、クレジットカードゲートウェイ等)、ギフトカード等、多くの他の支払い方法をサポートし得る。勘定プロセスの最後に、注文が創出される。注文は、商人と顧客との間の販売契約であり、商人は、注文にリストアップされた商品およびサービス(例えば、注文ラインアイテム、配送ラインアイテム等)を提供することに同意し、顧客は、(税を含む)支払いを提供することに同意する。このプロセスは、販売コンポーネントでモデル化され得る。コマース管理エンジン136勘定によらないチャンネル110A-Bは、注文APIを用いて注文を創出し得る。注文が創出されると、通知コンポーネントを介して、注文確認通知が、顧客に送られ得、注文完了通知が商人に送られ得る。売り過ぎを回避するために、注文処理ジョブが始動するとき、在庫が予約され得る(例えば、商人は、各バリエーションの在庫方針からこの行動を制御し得る)。在庫予約は、短い時間スパン(数分)を有し得、フラッシュセール(例えば、ターゲットインパルス購入等の短時間提供される割引またはプロモーション)をサポートするために、非常に高速かつスケーラブルである必要があり得る。支払いが失敗した場合、予約が解除される。支払いが成功し、注文が創出されたとき、予約が、特定の場所に割り当てられた長期在庫確約に変換される。在庫コンポーネントは、バリエーションが保管される場所を記録し得、在庫追跡が可能であるバリエーションに関して、量を追跡する。在庫は、在庫アイテム(量および場所が管理されるアイテムを表す商人向けコンセプト)から製品バリエーション(製品リストのテンプレートを表す顧客向けコンセプト)を切り離し得る。在庫レベルコンポーネントは、販売取り扱い量、注文が確約された量、または在庫転送コンポーネントから(例えば、ベンダーから)の仕入れ量を追跡し得る。
【0065】
そして、商人は、注文をレビューし、履行(または取消)し得る。レビューコンポーネントは、ビジネスプロセス商人の使用を実装し、実際にそれらを履行する前に注文が履行に適していることを保証し得る。注文は、詐欺であり得、確認(例えばIDチェック)を要求し、彼らの資金を受領することを確実するために待つことを商人に要求する支払い方法を有し得る。リスクおよび推薦は、注文リスクモデルで永続化され得る。注文リスクは、例えば、詐欺検出ツールから生成され、注文リスクAPIを通じて第三者によって提出され得る。履行に進む前、商人は、支払い情報(例えば、クレジットカード情報)を捕捉するか、または(例えば、銀行送金、小切手等を介して)それを受領することを待って注文が支払われたことをマークする必要があり得る。それから、商人は、送達のために製品を準備し得る。いくつかの実施形態では、このビジネスプロセスは、履行コンポーネントによって実装され得る。履行コンポーネントは、在庫場所および履行サービスに基づいて作業の論理的履行単位に注文のラインアイテムをグルーピングし得る。商人は、作業の単位をレビューし、これを調節し、商人が箱から製品を取り出して梱包するときに用いられる(例えば、商人に管理された場所における)手動履行サービスを通じて、関連する履行サービスをトリガし、配送ラベルを購入してその追跡番号を入力するか、または、単に履行されたことをアイテムにマークし得る。カスタム履行サービスは、eメールを(例えば、API接続を提供しない場所に)送り得る。API履行サービスは、第三者をトリガし得、第三者が、履行記録を作成する。レガシー履行サービスは、コマース管理エンジン136から第三者へのカスタムAPIコールをトリガし得る(例えば、Amazonによる履行)。ギフトカード履行サービスは、ギフトカードをプロビジョニングし(例えば、番号を生成する)、アクティブにし得る。商人は、注文プリンタアプリケーションを用い、梱包票を印刷し得る。履行プロセスは、アイテムが箱に梱包され、配送の準備がされるとき、配送されるとき、追跡されるとき、送達されるとき、顧客によって受領されたことが確認されるとき等に実行され得る。
【0066】
顧客が満足しない場合、彼らは、製品(単数または複数)を商人に返却し得る。商人が、アイテムを「販売できない」ことを経験し得るビジネスプロセスは、返却コンポーネントによって実装され得る。返却は、各種の異なるアクションから成り得、各種の異なるアクションは、例えば、再入庫(販売された製品が実際にビジネスに復帰し、再び販売可能である場合)、払い戻し(顧客から集めたお金が部分的または全額返却される場合)、どのくらいのお金が払い戻されたかを通知する会計調節(例えば、何らかの再入庫料金が存在する場合、または商品が返却されておらず、顧客の手元に残っている場合を含む)等である。返却は、販売契約(例えば注文)の変更を表し得、eコマースプラットフォーム100は、(例えば、税に関する)法規違反に関するコンプライアンスの問題を商人に知らせ得る。いくつかの実施形態では、eコマースプラットフォーム100は、商人が経時的に販売契約の変更を追跡することを可能にし、これは、販売モデルコンポーネント(例えば、アイテムに発生した販売関連のイベントを記録する追加専用の日にちベースの台帳)を通じて実装される。
eコマースプラットフォームにおけるメッセージの分析
【0067】
上で概説されるように、顧客によってなされた製品の注文を履行することは、顧客への製品の配送を促進することを含み得る。商人は、例えば配送プロバイダ112を通して配送ラベルを購入することによってこの配送を調整し得る。あるいは、第三者が、製品の配送を促進し得る。顧客は、配送についての配送情報を提供され得、配送情報は、特に、配送プロバイダ、追跡番号、追跡URL、配送状況、および/または予想される送達日を含み得る。この配送情報は、例えば、eメールメッセージ、テキストもしくはショートメッセージングサービス(SMS)メッセージ、またはインスタントメッセージ等のメッセージを通してユーザに提供され得る。加えて、または、あるいは、いくつかの実装では、製品情報(すなわち、配送に含まれる製品に関する情報)が、(例えば、買い手が特定の配送を識別することを可能にするために)配送情報内に含まれ得る。メッセージを送達するために用いられるメッセージングサービスは、eコマースプラットフォーム100によってサポートされ得る。例えば、eコマースプラットフォーム100は、顧客および/または商人と通信するように、および、顧客への配送情報の送達を促進するように、eメールメッセージングサービスをサポートし得る。同様に、または、代わりに、メッセージングサービスは、第三者によってサポートされ得る。
【0068】
顧客に配送情報を提供するメッセージは、顧客がまとめるには困難であり、および/または時間が掛かり得る。特に、配送情報を提供するメッセージは、複数のメッセージにわたって格納され得る。例えば、配送情報を提供するeメールメッセージは、顧客の受信トレイ内に埋め込まれるようになり得、配送情報が必要とされるときに顧客が後でメッセージを見つけることを困難にする。別の例では、異なるタイプのメッセージ(例えば、SMS、eメール、チャット/IM等)のための統合された受信トレイがないことに起因して、および/または所与のタイプの複数の受信トレイに起因して(例えば、SMSのための複数の電話番号、またはeメールのための複数のeメールアカウント/アドレスに起因して)、そのようなメッセージは、1つ以上のタイプの1つ以上の受信トレイにわたって広げられ得、従って、見つけることは困難であり得る。よって、顧客の(ユーザの)メッセージから配送情報を取得し一元管理するためのコンピュータ実装システムに対するニーズが存在している。
【0069】
図3は、
図1のeコマースプラットフォーム100であるが、メッセージ分析エンジン300を含むeコマースプラットフォームを例証している。メッセージ分析エンジン300は、メッセージから配送情報を取得し配送情報を記憶するためのコンピュータ実装システムの例である。例として、顧客が配送を追跡することに関するeメールメッセージを受信すると、メッセージ分析エンジン300は、eメールメッセージから配送情報を抽出し、その配送情報を顧客についての全ての製品配送の集約された概要に追加し得る。そして、この概要は、eコマースプラットフォーム100における顧客のアカウントを通して顧客によってアクセスされ、顧客が彼らの配送の各々についての配送プロバイダ、追跡番号、追跡URL、配送状況、および/または予想される送達日を迅速かつ容易にレビューすることを可能にし得る。顧客は、配送情報を取得するために各eメールメッセージを個々に視認することを避けることが可能であり得る。したがって、配送情報の集約された概要は、顧客の時間および顧客を節約し、多数のオンラインストアから買い物をして同時に係属中の多くの製品配送を有する顧客のために特に有用である。
【0070】
メッセージ分析エンジン300がメッセージから配送情報を取得することに限定されないことが留意されるべきである。同様に、または、代わりに、他のタイプの情報が、メッセージから取得され得る。例えば、メッセージ分析エンジン300は、取引データ、請求情報、購入された製品に関する情報、実行されたサービスに関する情報、およびeコマースプラットフォーム100を通したビジネスに関連付けられた任意の他の情報を取得し格納し得る(および、潜在的に集約し得る)。
【0071】
メッセージ分析エンジン300は、
図3においてeコマースプラットフォーム100の別個のコンポーネントとして例証されているが、これは単なる例である。同様に、または、代わりに、メッセージ分析エンジンは、eコマースプラットフォーム100の別のコンポーネントによって提供され、または、プラットフォーム100の外部のスタンドアロン型コンポーネントまたはサービスとして提供され得る。いくつかの実施形態では、コマース管理エンジン136および/またはアプリケーション142Aは、メッセージ分析エンジンを提供する。eコマースプラットフォーム100は、1つ以上のパーティによって提供される複数のメッセージ分析エンジンを含み得る。複数のメッセージ分析エンジンは、同一の手法で、同様の手法で、および/または別個の手法で実装され得る。加えて、メッセージ分析エンジンの少なくとも一部は、顧客デバイス150上で実装され得る。例えば、顧客デバイス150は、ソフトウェアアプリケーションとしてメッセージ分析エンジンを記憶し、それをローカルで実行し得る。
【0072】
メッセージ分析エンジン300は、本明細書中で説明される機能のうちの少なくともいくつかを実装し得る。以下で説明される実施形態は、eコマースプラットフォーム100等(しかし、これに限定されない)のeコマースプラットフォームに関連付けて実装され得るが、以下で説明される実施形態は、
図1~
図3の特定のeコマースプラットフォーム100に限定されない。さらに、本明細書中で説明される実施形態は、eコマースプラットフォームに関連して実装されることを必ずしも必要としないか、または、eコマースプラットフォームを全く伴わない。他のコンピューティングプラットフォームおよびデバイスが、本明細書中で開示されるシステムおよび方法のうちの少なくともいくつかを実装し得る。
メッセージから配送情報を取得すること
【0073】
メッセージから配送情報を正確かつ一貫して取得することは、困難であり得る。顧客に製品を配送するために採用され得る膨大な数の配送プロバイダ、履行ネットワーク、郵便サービスプロバイダ、ラストマイル送達サービス等が存在している。各商人および/または配送プロバイダは、典型的に、自身のメッセージフォーマットおよび追跡番号システムを有する。さらに、デジタル通知は、例えば、eメールメッセージ、テキストメッセージ、インスタントメッセージ等の各種の形式をとり得/各種のタイプであり得る。さらに、メッセージの組は、同一のタイプかまたは異なるタイプかに関わらず、全て異なるフォーマットを有し得る。その結果、配送情報を含み得る潜在的メッセージフォーマットの数は、計り知れない。
【0074】
メッセージから配送情報を取得するための決定論的方法を実装することは、この潜在的メッセージフォーマットの数のために実行可能ではないこともある。決定論的方法は、メッセージから配送情報を抽出するために一定の規則の組をしばしば用いる。しかしながら、正確であること、および一貫していることの両方のために、メッセージから配送情報を取得するための決定論的方法は、各可能なメッセージフォーマットを扱うように、能動的に構成されるべきである。例えば、決定論的方法は、あらゆる個々のメッセージフォーマットをパターンマッチングさせるために、別個の規則またはテンプレートの組が生成されることを必要とし得る。可能なメッセージフォーマットの数は、これを過度に時間のかかるものにし得る。加えて、種々のタイプのメッセージを追跡するための一貫して採用されるフォーマットが存在していない。さらに、そのような標準化の試みは、限定された採用しか見られず、そのような限定された採用では、そのような標準は、しばしば一貫性なく/正しくなく実装される。さらに、配送プロバイダは、彼らのeメールメッセージフォーマットを継続的に更新し、およびそれを変更しており、新たな配送プロバイダ、および送達サービス等も、頻繁にオンライオンストアに参入している(すなわち、彼らのビジネスを立ち上げている)。したがって、メッセージから配送情報を取得するための決定論的方法も、それに従って、能動的に更新される必要があり得る。
【0075】
メッセージの内容全体からでなく、メッセージ中の追跡URLから配送情報を取得することは、上で概説される決定論的方法の少なくとも一部の使用を避けることに役立ち得る。追跡URLは、特定の配送についての配送情報を含むウェブリソースへの案内であり得る。URLは、メッセージの全内容のうちの一部のみを表し得るが、URL自体は、さらに、メッセージ中に含まれる配送情報のほとんど、またはその全てさえ提供し得る。したがって、追跡URLは、メッセージの内容全体を構文解析することなく配送情報を取得するために用いられ得る。URLは、配送情報を取得するための分析を簡略化し得る所定の構造も有する。URLの構造は、スキーム、随意のオーソリティ、パス、随意のクエリ、および随意のフラグメントを含む。
【0076】
スキームは、後にコロン(:)が続く文字列を含み、ウェブプロトコルが用いられていることを示す。スキームの非限定的な例は、http、https、ftp、mailto、file、data、およびircを含む。
【0077】
URL中のオーソリティは、2つのスラッシュ(//)に先行される。オーソリティは、随意のuserinfoサブコンポーネントを含み、userinfoサブコンポーネントは、ユーザ名と、随意にパスワードと、hostサブコンポーネントと、随意のportサブコンポーネントとを提供する。
【0078】
パスは、サーバ上の特定のウェブリソース、ファイル、またはディレクトリへのマップを提供し得る。パスは、1つ以上のパスセグメントを含み得、各パスセグメントは、スラッシュ(/)によって分離される。しかしながら、代わりに、パスは、スペースであり得る。
【0079】
クエリは、URL中のクエスチョンマーク(?)に先行され、1つ以上のパラメータを含む。各パラメータは、アンパサンド(&)によって分離される。クエリは、ウェブリソースによって提供されるコンテンツを示し得る。例えば、クエリは、ウェブページ上に表示されるコンテンツを選択するために用いられ得る。
【0080】
フラグメントは、ハッシュ(#)に先行され、二次的ウェブリソースへの案内を提供し得る。
【0081】
よって、URLの構造は、scheme:[//authority]path[?query][#fragment]として定義され得る。例えば、以下のURL:https://soup.myshopify.com/pages/recipes?param1=x&param2=y#borschtを考慮されたい。ここで、スキームは、httpsであり、オーソリティは、soup.myshopify.comであり、パスは、pages/recipesであり、クエリは、param1=x&param2=yであり、フラグメントは、borschtである。
【0082】
少なくともメッセージの内容全体と比較して、URLの構造化された性質および比較的短い長さは、確率的方法の使用が配送情報を取得することを可能にする。確率的方法は、確率分布に基づいて決定を下し、多数の固有の入力および対応する具体的な出力を伴う問題に概して好適であり、それは、メッセージから配送情報を取得することについて当てはまり得る。確率的方法は、多くの異なるメッセージフォーマットおよびメッセージへの変更に適応するためのある程度の柔軟性を提供し得る。
【0083】
いくつかの実施形態では、確率的方法は、URL中の特定のパラメータまたは構文を認識することによって、URLから配送情報を抽出する。例えば、URL中のクエリパラメータは、country=CA&trackingId=368927473835であり、配送の目的地がカナダにあり、追跡番号が368927473835であることを示し得る。
【0084】
機械学習(ML)モデルは、確率的方法を実装するための1つの潜在的手法である。しかしながら、MLモデルは、演算集約的であり得、訓練のために大量のデータを要求し得る。したがって、MLモデルを用いて数多くの入力データセットを分析することは、コストがかかり、時間がかかり得る。有利なことに、URLは、しばしば、比較的少数の文字(典型的に、50~200)を有し、十分に構造化されており、典型的に、メッセージフォーマットより頻繁には変化しない傾向があり得(例えば、少なくともいくつかの場合、URLフォーマットへの変更は、URLフォーマットにおける過去との互換性を維持するための必要性に起因して、限定され得る一方で、eメールの本文のフォーマット等のメッセージフォーマットは、例えば形式の理由等のためにより頻繁に変化し得る)、したがって、URLは、MLモデルを用いた分析に十分好適である。
【0085】
URLから配送情報を取得することに加え、配送情報は、URLによってリンクされ、またはURLに関連付けられたウェブリソースからも取得され得る。例えば、URLは、配送の配送プロバイダ、追跡番号、配送状況、および/または予想される送達日を提供する配送プロバイダのウェブページにリンクし得る。配送情報は、決定論的方法および/または確率的方法を用いてウェブリソースを構文解析することによって取得され得る。
【0086】
URLとURLに関連付けられたウェブリソースとの両方を分析することは、メッセージから取得される配送情報の量を潜在的に増加させ、配送情報を取得することにおけるある程度の冗長性を提供し得る。例えば、URLから取得された配送情報は、URLに関連付けられたウェブリソースから取得された配送情報によって確認され、および/または補足され得、その逆も然りである。一例では、メッセージから抽出されたURLは、URLが配送を追跡するためのものであるか否かを決定し、配送についての配送プロバイダを決定し、および/または配送についての追跡番号を決定するために分析される。そして、URLから取得された配送情報は、URLに関連付けられたウェブリソースから取得された配送情報で捕捉され、および/または確認され得る。別の例では、配送情報は、URLに関連付けられたウェブリソースから決定され、配送情報は、URLの分析を通して随意に確認される。
【0087】
ユーザのメッセージのうちの1つ以上から配送情報を取得した後、一元管理された配送情報のリストが、顧客のために編集され得る。このリストは、ユーザが一度に彼らの係属中の配送のうちのいずれか、それらのうちのいくつか、またはそれら全てに関する情報に迅速かつ容易にアクセスすることを可能にする。配送情報のリストは、例えば、ユーザが配送情報を有する新たなメッセージを受信するとき、および配送がユーザに上手く送達されたとき、能動的に更新され得る。さらに、ユーザは、リストを変更するための能力を与えられ得る。例えば、ユーザは、リスト中の配送情報をまとめ、追加し、削除し、および/または修正することが可能であり得る。
【0088】
配送情報は、本明細書中で開示されるシステムおよび方法を用いてユーザのメッセージから取得され得る情報のうちの1つのタイプに過ぎない。本開示は、ユーザのメッセージから他のタイプの情報を取得することにも関している。例えば、ユーザによってオンラインで購入された製品に関する情報が、ユーザのメッセージから取得され得る。これらのメッセージ中のURLおよび随意にそれらのURLに関連付けられたウェブリソースを分析することは、ユーザがオンラインで注文した製品についての製品情報を取得するために実装されることができる。この製品情報を編集することは、例えば、1つのコマースプラットフォームからの製品推薦が他のコマースプラットフォームからのユーザの購入を組み込むことを可能にし得る。別の例では、例えば将来の配送に関して取得され得る情報等の他の潜在的に関連性のあるデータが、ユーザのメッセージ中のURLの分析に基づいて取得され得る。特に、そのような潜在的に関連性のあるデータは、今後の配送に関する製品データ/情報を含み得る。加えて、または、あるいは、少なくともいくつかの場合、そのような潜在的に関連性のある情報は、ユーザのメッセージ中で利用可能ではない情報を含み得/それは、メッセージを介してユーザに通信されない。加えて、または、あるいは、少なくともいくつかの場合、潜在的に関連性のある情報は、メッセージ中に存在するがメッセージがレンダリングされるときに示されない情報を含み得る。例えば、潜在的に関連性のある情報は、メッセージ中に含まれるメタデータ/マークアップに見出され得る。別の例では、潜在的に関連性のある情報は、メッセージが特定のカテゴリのデバイス/クライアントによってレンダリングされるときに見えないこともある(例えば、メッセージがデスクトップコンピュータ上でレンダリングされるときのみ見え、メッセージがモバイルデバイス上での提示のために実行されるときには見えない情報)。
メッセージから配送情報を取得するための例示的システムおよび方法
【0089】
図4は、デジタルメッセージから情報を取得するための例示的システム400を例証するブロック図である。システム400は、メッセージ分析エンジン402と、ネットワーク420と、ユーザデバイス430とを含む。
【0090】
メッセージ分析エンジン402は、メッセージを記憶し、およびそれを分析し、メッセージから情報を取得する。そして、取得された情報は、メッセージ分析エンジン402によって編集され、および記憶され、随意に、ユーザデバイス430に伝送され得る。メッセージ分析エンジン402によって取得された情報は、配送情報であるか、またはそれを含み得るが、他のタイプの情報も想定される。例えば、ユーザによってオンラインで購入された製品に関する情報が、メッセージ分析エンジン402によって取得され得る。
【0091】
メッセージ分析エンジン402の場所は、実装特有である。いくつかの実装では、メッセージ分析エンジン402は、eコマースプラットフォームのコア機能として、またはeコマースプラットフォームによってサポートされたアプリケーションとして、eコマースプラットフォームによって少なくとも部分的に提供される。例えば、メッセージ分析エンジン402は、
図3のメッセージ分析エンジン300であり得る。いくつかの実装では、メッセージ分析エンジン402は、eコマースプラットフォームの外部またはユーザデバイスによって少なくとも部分的に実装されるスタンドアロン型のコンポーネント、アプリケーション、またはサービスとして実装される。メッセージ分析エンジン402の他の実装も想定される。メッセージ分析エンジン402が単一のコンポーネントとして示されるが、代わりに、メッセージ分析エンジン402は、例えばネットワーク420を介して通信する複数の異なるコンポーネントによって提供され得る。
【0092】
メッセージ分析エンジン402は、プロセッサ404と、メモリ406と、ネットワークインタフェース408とを含む。プロセッサ404は、メモリ406内または別の非一過性のコンピュータ読み取り可能な媒体内に記憶されている命令を実行する1つ以上のプロセッサによって実装され得る。これらの命令は、本明細書中で説明されるいずれかの方法を実装し得る。あるいは、プロセッサ404のうちのいくつかまたは全てが、特定用途向け集積回路(ASIC)、グラフィックス処理ユニット(GPU)、またはプログラムされたフィールドプログラマブルゲートアレイ(FPGA)等の専用回路を用いて実装され得る。
【0093】
ネットワークインタフェース408は、ネットワーク420上での通信のために提供される。ネットワークインタフェース408の構造は、実装特有である。例えば、ネットワークインタフェース408は、ネットワークインタフェースカード(NIC)、コンピュータポート(例えば、プラグまたはケーブルが接続する物理的アウトレット)、および/またはネットワークソケットを含み得る。
【0094】
メモリ406は、メッセージレコード410と、配送プロバイダレコード412と、メッセージカテゴリレコード413と、URLカテゴリレコード414と、1つ以上のMLモデル(単数または複数)416と、配送情報レコード418とを記憶している。
【0095】
メッセージレコード410は、メッセージ分析エンジン402による分析のために記憶されているメッセージを含む。これらのメッセージは、eメールメッセージ、テキストメッセージ、インスタントメッセージ等を含み得る。例えばボイスメールメッセージおよびデジタルアシスタントからのメッセージ等の音響メッセージも、メッセージレコード410内に含まれ得る。いくつかの場合、シリアル化されたバージョンのメッセージが、メッセージレコード410内に記憶されている。シリアル化されたバージョンのメッセージの例は、eメールメッセージのためのEMLファイルである。
【0096】
メッセージは、メッセージ分析エンジン402による分析の前および/または分析中に、メッセージレコード410内に一時的にのみ記憶され得る。しかしながら、メッセージレコード410は、メッセージの永続的なレコードまたは半永久的なレコードも提供し得る。
【0097】
メッセージレコード410内に記憶されているメッセージは、数多くの異なる手法のうちのいずれかで取得され得る。いくつかの実装では、メッセージ分析エンジン402は、メッセージングサービスにおける1つ以上のユーザアカウントへのアクセスを許可されている。このアクセスは、メッセージ分析エンジン402がメッセージングサービスからユーザメッセージを取得することを可能にし得る。メッセージングサービスの非限定的な例は、eメールサービス、テキストメッセージングサービス、およびインスタントメッセージングサービスを含む。さらに、ユーザは、メッセージ分析エンジン402に複数のメッセージングサービスにおける彼らのアカウントへのアクセスを許可し得る。したがって、メッセージ分析エンジン402は、1つ以上のeメールアカウント、1つ以上のテキストメッセージングアカウント、および/または1つ以上のインスタントメッセージングアカウントから、ユーザのメッセージを取得し得る。
【0098】
メッセージ分析エンジン402がメッセージングサービスにおけるユーザアカウントへアクセスすると、そのメッセージングサービスにおけるユーザのメッセージのうちのいずれか、それらのうちのいくつか、またはそれら全てが、メッセージレコード410内に記憶され得る。メッセージは、メッセージングサービスをサポートしているサーバから、および/またはユーザデバイス(例えば、ユーザデバイス430)から受信され得る。いくつかの場合、ユーザがメッセージングサービスにおいて新たなメッセージを受信すると、メッセージレコード410も、新たなメッセージを取得し、それを記憶し得る。したがって、メッセージレコード410は、1つ以上のメッセージングプラットフォームにおいてユーザが受信するメッセージの一元管理されたリストを含み得る。いくつかの場合、ユーザは、メッセージレコード410内に記憶されるメッセージを能動的に選択し、および/または、メッセージレコード410内に記憶されるメッセージを決定する規則の組を定義する。例えば、ユーザは、特定の送信者からのメッセージのみがメッセージレコード410内に記憶されるように、メッセージ分析エンジン402のアクセスを構成し得る。
【0099】
配送プロバイダレコード412は、既知の配送プロバイダのリストまたは組を含む。いくつかの場合、このリストは、例えば1つ以上のデータソースから取得された情報に基づく等して、自動的に構築され、または維持され得る。例えば配送プロバイダによって用いられる配送メッセージフォーマット、配送プロバイダによって用いられる追跡URLフォーマット、および/または配送プロバイダによって用いられるウェブリソースフォーマットを含むこれらの配送プロバイダの各々に関する情報も、配送プロバイダレコード412内に記憶され得る。本明細書中の別の場所でさらに詳細に議論されるように、配送プロバイダレコード412は、メッセージから配送情報を取得しおよび/またはそれを確認することに役立つように用いられ得る。
【0100】
メッセージカテゴリレコード413は、所定のメッセージカテゴリのリストまたは組を含む。これらの所定のメッセージカテゴリのうちの少なくとも一部は、例えば、異なるメッセージフォーマット、テンプレート、または構造に対応し得る。
【0101】
いくつかの実装では、メッセージカテゴリレコード413内の所定のメッセージカテゴリが、メッセージの潜在的機能に(少なくとも部分的に)基づいて定義される。よって、メッセージのメッセージカテゴリを決定することは、メッセージの機能を決定することに役立ち得る。そのようなメッセージカテゴリの非限定的な例は:
・例えば商人の広告、ニュースレター、および他の販促コンテンツを含むコマースメッセージ;
・配送追跡および/または確認メッセージ;
・送達状況更新メッセージ;
・注文確認メッセージ:
・個人的なメッセージ;
・仕事のメッセージ;
・請求書;および
・スパムメッセージ
を含む。
【0102】
同様に、または、代わりに、メッセージカテゴリレコード413内の所定のメッセージカテゴリは、メッセージの送信者に(少なくとも部分的に)基づいて定義され得る。異なる商人、配送プロバイダ、および他の送信者は、彼らの送信アドレスおよび/または彼ら特有のメッセージフォーマットを有し得、それらの各々または両方が、単独で、または組み合わされて、メッセージカテゴリ413内のそれぞれのメッセージカテゴリに対応し得る。ある例では、複数の配送追跡メッセージカテゴリが定義され、各カテゴリが、配送プロバイダレコード412内に定義された異なる配送プロバイダに対応する。
【0103】
いくつかの実装では、メッセージカテゴリレコード413は、配送情報を潜在的に含み得るメッセージを識別することに役立ち得、メッセージ中の配送情報の少なくとも一部を決定することにすら役立ち得る。例えば、特定のメッセージが特定の所定のメッセージカテゴリに対応することが決定され得る。この所定のメッセージカテゴリが配送追跡に関連付けられる場合、メッセージが配送追跡にも関連付けられることが決定され得る。さらに、メッセージカテゴリが特定の配送プロバイダに関連付けられる場合、配送がその配送プロバイダによって促進されていることが決定され得る。
【0104】
URLカテゴリレコード414は、所定のURLカテゴリのリストまたは組を含む。これらの所定のURLカテゴリの各々は、例えば、異なるURLフォーマット、テンプレート、または構造に対応し得る。これらの所定のURLカテゴリは、URLの機能および/またはURLによってリンクされるウェブリソースの機能を決定することに役立つように用いられ得る。つまり、特定のURLをURLカテゴリレコード414内に記憶されている所定のURLカテゴリのうちの1つに合致させることによって、URLによってリンクされたウェブリソースの目的が、決定され得る。
【0105】
いくつかの実装では、URLカテゴリレコード414内に記憶されている所定のURLカテゴリのうちの少なくとも1つは、追跡URLカテゴリであるか、または配送を追跡することに関連している。URLカテゴリレコード414は、複数の追跡URLカテゴリを含み得、追跡URLカテゴリの各々は、それぞれの配送プロバイダに特有であり得る。例えば、特定の配送プロバイダによって用いられるURLフォーマットは、その配送プロバイダ特有の1つ以上の追跡URLカテゴリに分類され得る。いくつかの場合、URLカテゴリレコード414は、配送プロバイダレコード412と互いに関係づけられており、それによって、配送プロバイダレコード412内の各々の配送プロバイダは、URLカテゴリレコード414内で定義された1つ以上の対応するURLカテゴリを有する。しかしながら、複数の異なる配送プロバイダは、同様のフォーマットを有するURLを用い得る。加えて、いくつかの場合、URLは、配送情報アグリゲータに対応し得、配送情報は、そのアグリゲータが実際の配送/配送の送達の取り扱いの責任を有しない場合であっても、配送情報アグリゲータから取得され得る。したがって、追跡URLカテゴリは、複数の異なる配送プロバイダに関連付けられ得る。配送追跡に関連しないURLカテゴリレコード414内の1つ以上の所定のURLカテゴリも存在し得る。
【0106】
本明細書中の別の場所でさらに詳細に議論されるように、URLカテゴリレコード414内に所定のURLカテゴリを記憶していることは、URLから配送情報を決定することに役立ち得る。URLが特定の配送プロバイダに関連付けられた追跡URLカテゴリに対応することが決定される場合、URLがその配送プロバイダによって促進される配送を追跡することに関していることが示唆され得る。追跡URLカテゴリの知識を有することは、追跡番号がURLから抽出されることも可能にし得る。ある例では、特定の追跡URLカテゴリは、追跡番号を含むURLフォーマットに対応している。追跡番号は、概して、URLフォーマット中の同一の位置に含まれる。したがって、始まりのインデックスと終わりのインデックスとが、追跡URLカテゴリの追跡番号について画定され、URLカテゴリレコード414内に記憶され得る。始まりのインデックスは、追跡番号の最初の桁の位置に対応しており、終わりのインデックスは、追跡番号の最終桁の位置に対応している。始まりのインデックスと終わりのインデックスとを用いて、追跡番号が、この追跡URLカテゴリのURLから抽出され得る。始まりのインデックスおよび/または終わりのインデックスは、URLの始めから、またはURLの終わりから定義され得る。つまり、URL中の追跡番号の始まりおよび/または終わりを見つけることは、URLの始めから順方向にカウントすること、またはURLの終わりから逆方向にカウントすることを伴い得る。
【0107】
MLモデル(単数または複数)416は、メッセージを分析し、メッセージから情報(例えば、配送情報等)を取得するために、プロセッサ404によって実行可能である。いくつかの場合、MLモデル(単数または複数)416は、メッセージから情報を取得するための確率的方法を実装する。
【0108】
MLモデル(単数または複数)416は、当技術分野において公知な任意の形式または構造を用いて実装され得る。MLモデル(単数または複数)416のための例示的構造は:
・1つ以上の人工ニューラルネットワーク(単数または複数);
・1つ以上の決定木(単数または複数);
・1つ以上のサポートベクターマシン(単数または複数)
・1つ以上のベイジアンネットワーク(単数または複数);および/または
・1つ以上の遺伝的アルゴリズム(単数または複数)
を含むが、これらに限定されない。
【0109】
MLモデル(単数または複数)416を訓練するために用いられる方法も、実装特有であり、本明細書中で限定されない。訓練方法の非限定的な例は:
・教師有り学習;
・教師無し学習;
・強化学習;
・自己学習;
・特徴学習;および
・スパース辞書学習
を含む。
【0110】
いくつかの実施形態によると、MLモデル(単数または複数)416のうちの1つ以上は、教師有り学習を用いて訓練される。教師有り学習において、訓練は、訓練データの組において入力データを分析し、定量的比較を行い、および訓練データの組における既知の結果に結論を相互参照させることによって、実施される。これらの分析および比較の繰り返しの洗練は、MLモデルがMLモデルによって予測される結果と既知の結果との間のより高い確実性を達成することを可能にする。このプロセスは、解が収束し、または所望の確度に達するまで繰り返し継続される。
【0111】
いくつかの実施形態によると、MLモデル(単数または複数)416のうちの1つ以上が、教師無し学習を用いて訓練される。教師無し学習において、MLモデルは、訓練データの組からそれ自体の連関を決定し、およびそれを引き出す。これは、訓練データの組において自然に発生するデータの関係またはパターンを探索することによって行われ得る。教師無し学習を実装するための1つの方法は、クラスタ分析であり、クラスタ分析において、目標は、訓練データの組内グループまたはクラスタを発見することである。クラスタは、MLモデルによって同様に扱われる変数の組である。クラスタ分析において、MLモデルは、高いグループ内類似度と低いグループ間類似度とを有するクラスタを決定するために、訓練データの組をさらに分割する。クラスタ分析において用いられるクラスタの数は、MLモデルにおいて構成可能であり得る。
【0112】
MLモデル(単数または複数)416のうちのいずれか、それらのうちの1つ、それらのうちのいくつか、またはそれら全てが、マルチタスク学習(MTL)モデルであり得るか、またはそれらを含み得る。MTLモデルは、同時に複数のタスクを実施することによって、より正確に、および/またはより効率的に、メッセージから情報を抽出することに役立ち得る。例えば、メッセージ中のURLが配送を追跡することに関しているか否かを決定すること、配送についての配送プロバイダを決定すること、配送についての追跡番号を決定すること、および配送を開始した商人を決定することが全て、単一のMTLモデルによって解かれ得る「タスク」とみなされ得る。これらのタスク間の共通性および差異は、各タスクを別で解くように実装される複数のMLモデルと比較してMTLモデルの全体の確度を向上させることに役立ち得る。MTLモデルは、各タスクの結果を個々に向上させる(それは、正しくないことも一貫していないこともある向上された個々の解答を集合的に与える)のではなく、向上させられた集合的解答を提供するように、全てのタスクにわたる結果を向上させるように同時に訓練され得る。さらに、複数のMLモデルの代わりに単一のMTLモデルを実装することは、訓練され維持される必要があるMLモデルの全体数を低減させ得る。
【0113】
配送情報レコード418は、1人以上のユーザのために取得された配送情報を含む。この配送情報は、MLモデル(単数または複数)416および/または本明細書中の別の場所で開示される方法を用いて、メッセージレコード410内に記憶されているメッセージから決定され得る。しかしながら、配送情報は、例えばユーザデバイス430での直接的なユーザ入力を介して等、他のソースからも取得され得る。いくつかの実装では、配送情報レコード418は1人以上のユーザのための一元管理された配送情報のリストを編集し、またはそれを提供する。配送情報のリストは、能動的に更新され得る。一例では、配送がユーザによって受け取られると、この配送に対応する配送情報は、配送情報レコード418から除去され得る。別の例では、新たなメッセージがメッセージレコード410によって取得され、配送情報がこのメッセージから取得されると、配送情報が、配送情報レコード418に追加され得る。
【0114】
メッセージレコード410、配送プロバイダレコード412、メッセージカテゴリレコード413、URLカテゴリレコード414および配送情報レコード418が
図4において別々に示されているが、その代わり、いくつかの実施形態では、これらのレコードのうちの2つ以上が単一のレコードに組み合わせられ得ることが留意されるべきである。一例では、メッセージレコード410と配送情報レコード418とが、単一のレコードに組み合わせられ得る。別の例では、配送プロバイダレコード412と、メッセージカテゴリレコード413と、URLカテゴリレコード414とが、単一のレコードに組み合わせられ得る。
【0115】
ユーザデバイス430は、プロセッサ432と、メモリ434と、ユーザインタフェース436と、ネットワークインタフェース438とを含む。ユーザインタフェース436は、例えば、ディスプレイスクリーン(タッチスクリーンであり得る)、ジェスチャ認識システム、スピーカ、ヘッドフォン、マイクロフォン、ハプティクス、キーボード、および/またはマウスを含み得る。ネットワークインタフェース438は、ネットワーク420上での通信のために提供される。ネットワークインタフェース438の構造は、ユーザデバイス430がネットワーク420とどのようにインタフェース接続するかに依存する。例えば、ユーザデバイス430がモバイルフォン、ヘッドセット、またはタブレットである場合、ネットワークインタフェース438は、ネットワーク420へ/から無線伝送を送信し、および受信するためのアンテナを有するトランスミッタ/レシーバを含み得る。ユーザデバイスが、ネットワークケーブルでネットワークに接続されたパーソナルコンピュータである場合、ネットワークインタフェース438は、例えば、NIC、コンピュータポート、および/またはネットワークソケットを含み得る。プロセッサ432は、ユーザデバイス430によって実施される動作の全てを直接実施し、または命令する。これらの動作の例は、ユーザインタフェース436から受信されたユーザ入力を処理することと、ネットワーク420上での伝送のための情報を準備することと、ネットワーク420上で受信されたデータを処理することと、ディスプレイスクリーンに情報を表示するように命令することとを含む。プロセッサ432は、メモリ434内に記憶されている命令を実行する1つ以上のプロセッサによって実装され得る。あるいは、プロセッサ432のうちのいくつか、またはそれら全てが、ASIC、GPU、またはプログラムされたFPGA等の専用回路を用いて実装され得る。
【0116】
図4では、1つのユーザデバイスが例として示されている。複数のユーザデバイスが、メッセージ分析エンジン402と通信し得る。
【0117】
図5は、ある実施形態によるメッセージを分析して配送情報を取得するための方法500を例証しているフロー図である。方法500は、
図4のメッセージ分析エンジン402によって実施されているように説明される。しかしながら、他の実装も構想される。例えば、方法500は、ユーザデバイス430によって全体的に、または部分的に実施され得る。
【0118】
方法は、顧客に関連付けられた複数のメッセージを識別することを含み得る。少なくとも1つの配送についての配送情報が、複数のメッセージから抽出され得る。ステップ502は、プロセッサ404が所与のメッセージに対応するデジタルコンテンツを取得することを含む。メッセージは、複数の識別されたメッセージのうちの1つであり得る。このデジタルコンテンツは、例えば、メッセージ中のコンテンツ(例えば、メッセージの見出し、テキスト、および/または添付物)、メッセージの送信者および/またはメッセージの受信者(単数または複数)のうちのいずれか、それらのうちのいくつか、またはそれら全てを含み得る。いくつかの場合、シリアル化されたバージョンのメッセージが、ステップ502において取得される。デジタルコンテンツは、例えば、メッセージレコード410から、ユーザデバイス430から、および/またはメッセージングサービスをホストしているサーバから取得され得る。
【0119】
ステップ504は、プロセッサ404がステップ502において取得されたデジタルコンテンツから1つ以上のURLを取得することを含む。各URLは、ウェブリソースに関連付けられている。URLは、メッセージを読み、またはメッセージに関わるユーザに見える(例えば、テキスト中に示されるハイパーリンクである)ことも、ユーザに見えない(例えば、メタデータ、または不可視のhypertext markup language(HTML)要素である)こともある。概して、デジタルコンテンツ中のURLのうちのいずれか、それらのうちの1つ、それらのうちのいくつか、またはそれらの全てが、ステップ504で取得され得る。URLがデジタルコンテンツ中に見つけられない場合、方法500は終了し得る。
【0120】
ステップ504は、各種の技術のうちのいずれかを用いて実施され得る。いくつかの場合、ステップ504は、文字列マッチングアルゴリズム等の決定論的方法を実装してURLを抽出し得る。例えば、プロセッサ404は、デジタルコンテンツを構文解析し、URL特有の構文を含む任意の文字列を除去し得る。URL特有の構文の非限定的な例は、http:、.html、.com、.org、および.caを含む。同様に、または、代わりに、確率的方法が、ステップ504において実装され得る。例えば、MLモデル(単数または複数)416のうちの1つ以上が、デジタルコンテンツからURLを抽出するように訓練され得る。
【0121】
ステップ504においてメッセージから抽出されたURLは、メモリ406内、または別の非一過性のコンピュータ読み取り可能な媒体内に記憶され得る。例えば、抽出されたURLは、メッセージと共にメッセージレコード410内に記憶され得る。
【0122】
ステップ506は、プロセッサ404がステップ502において取得されたデジタルコンテンツに基づいて、メッセージが配送を追跡することに関している(または、おそらくそれに関している)ことを決定することを含む随意のステップである。このステップは、メッセージ分析エンジン402に配送情報を取得するために方法500を用いてメッセージがさらに処理されるべきであることを知らせる。一方、ステップ506が、メッセージが配送を追跡することに関連しないことを決定した場合、方法500は終了し得る。したがって、ステップ506は、方法500によって処理されるメッセージの数をフィルタリングすることに役立ち得る。
【0123】
いくつかの実装では、ステップ506は、メッセージを分類し、メッセ―カテゴリが配送追跡に関連付けられることを決定することを含む。例えば、ステップ506は、メッセージのデジタルコンテンツからメッセージカテゴリを識別するように訓練されたMLモデル(MLモデル(単数または複数)416のうちの1つであり得る)にデジタルコンテンツを入力することを含み得る。そして、このMLモデルは、メッセージのためのメッセージカテゴリ、または少なくともメッセージカテゴリの指示を出力し得る。いくつかの場合、MLモデルは、メッセージカテゴリレコード413内に記憶されている所定のメッセージカテゴリの組からメッセージカテゴリを選択し得る。MLモデルによって決定されたメッセージカテゴリに基づいて、メッセージが配送に関しているか否かが決定され得る。例えば、配送追跡メッセージおよび注文確認メッセージが、製品の配送に関し得るメッセージカテゴリとして定義され得る。
【0124】
メッセージのデジタルコンテンツからメッセージカテゴリを識別するために用いられるMLモデルは、数多くの異なる手法のうちのいずれかで訓練され得る。いくつかの実装では、このMLモデルのための訓練データの組は、メッセージの組を含み得、メッセージの各々は、既知のメッセージカテゴリでラベル付けされている。この訓練データの組は、コンピューティングプラットフォームにおけるユーザフィードバックから取得され得る。例えば、ユーザがコンピューティングプラットフォームにおけるメッセージに関する問題に遭遇したとき、彼らは、問題を報告し得る。報告において、ユーザは、メッセージを提出するように、およびメッセージについてのカテゴリを示すように求められ得る。メッセージについてのカテゴリは、メッセージカテゴリレコード413内に記憶されている所定のカテゴリのうちの1つから選択され得る。よって、これらの報告は、ユーザによって分類されたメッセージの大規模な組を提供し得、したがって、MLモデルのための好適な訓練データの組を提供し得る。
【0125】
いくつかの実装では、ステップ506は、メッセージが配送追跡に関していることを決定するために、メッセージのデジタルコンテンツ全体に加えて、またはその代わりに、ステップ504において取得されたURLを用いる。これらの実装では、ステップ506は、URLカテゴリを識別するように訓練されたMLモデルにURLの少なくとも一部を入力することを含み得る。このMLモデルは、MLモデル(単数または複数)416のうちの1つであり得る。URLカテゴリが配送追跡に対応している場合、メッセージ自体も配送追跡に関していることが決定され得る。いくつかの場合、MLモデルは、URLカテゴリレコード414内に記憶されている所定のURLカテゴリの組からURLカテゴリを選択し得る。
【0126】
URLからURLカテゴリを識別するために用いられるMLモデルは、コンピューティングプラットフォームにおけるユーザフィードバックを通して獲得された訓練データの組を用いて訓練され得る。例えば、商人がeコマースプラットフォームにおける顧客注文を履行しているとき、商人は、注文の配送を追跡するためのURLを提供し得る。したがって、これらの状況において商人によって提供されたURLは、配送追跡に関しているとして分類され得る。これらのURLのみならず、配送追跡に関していない他のURLも、配送追跡に関しているURLを分類するようにMLモデルを訓練するために用いられる訓練データの組の基礎を形成し得る。
【0127】
ステップ508は、プロセッサ404がステップ504において取得されたURLおよび/またはこのURLに関連付けられたウェブリソースに基づいて配送情報を決定することを含む。配送情報は、ウェブリソースが配送を追跡するためのものであることの指示、配送についての追跡番号、および配送についての配送プロバイダのうちの少なくとも1つを含む。ウェブリソースが配送を追跡するためのものであることを決定することは、URLが追跡URLであることを示し得る。したがって、URL自体が、ステップ508において決定された配送情報に追加され得る。配送情報は、配送される製品(単数または複数)、配送についての注文番号、配送状況、予想される送達日、および/または配送を開始した商人をさらに含み得る。いくつかの場合、配送は、複数の配送プロバイダによって促進され、および/または複数の関連付けられた追跡番号を有し得る。複数の関連付けられた追跡番号のうちのいずれか、それらのうちの1つ、それらのうちのいくつか、またはそれら全てが、ステップ508において決定され得る。
【0128】
ステップ508のいくつかの実装では、配送情報のうちの少なくとも一部が、少なくとも1つのMLモデルを用いてURLから取得され、少なくとも1つのMLモデルは、MLモデル(単数または複数)416のうちの1つであり得る。MLモデルへの入力は、URLを含み得る。しかしながら、URL全体が、常にMLモデルに入力されるわけではないこともある。URLは構造化された性質を有するので、URLの特定のコンポーネントが、抽出されてMLモデルに入力され、MLモデルによって分析される文字の総数を低減させ得る。例えば、決定論的方法は、URLのオーソリティコンポーネント、パスコンポーネント、および/またはクエリコンポーネントを抽出し、MLモデルにそれらのコンポーネントを入力するように実装され得る。MLモデルの出力は、URLが配送を追跡することに関しているか否かの指示、配送についての追跡番号に対応する文字列、配送についての配送プロバイダに対応する文字列、および/または他の配送情報を含み得る。いくつかの実装では、配送プロバイダに対応する文字列は、配送プロバイダレコード412内の配送プロバイダのリストと比較される。これは、配送を促進している的確な配送プロバイダを決定することに役立ち得る。
【0129】
ステップ508においてURLから配送情報を取得するために用いられるMLモデルは、コンピューティングプラットフォームのユーザから取得されたデータを用いて訓練され得る。例えば、商人がeコマースプラットフォームにおける顧客注文を履行しているとき、商人は、注文の配送についての追跡URLと、注文についての配送プロバイダと、注文のついての追跡番号とを提供し得る。この情報は、複数の製品注文にわたって収集され、MLモデルのための訓練データの組の基礎を形成し得る。例えば、MLモデルは、各URLから正しい配送プロバイダおよび/または追跡番号を予測するように訓練され得る。
【0130】
いくつかの実装では、ステップ508においてURLから配送情報を取得するために用いられるMLモデルへの入力は、URL中の追跡番号の始まりに対応する第1のインデックスの予測、および/またはURL中の追跡番号の終わりに対応する第2のインデックスの予測をさらに含み得る。これらの予測は、追跡番号のMLモデルの決定の確度および/または信頼性を向上させ得る。例えば、予測は、MLモデルが分析中にURL中のいくつかの文字を無視することを可能にし得る。第1のインデックおよび第2のインデックスの予測は、確率分布の形式で提供され得る。MLモデルに入力されるURLの各々の文字のために、MLモデルは、文字が第1のインデックスである確率、および/または文字が第2のインデックスである確率を提供され得る。
【0131】
URL中の追跡番号についての第1のインデックスの予測および第2のインデックスの予測は、各種の異なる手法のうちのいずれかで取得され得る。いくつかの実装では、第1のMLモデルが、第1のインデックスおよび/または第2のインデックスの予測を生成するように実装される。そして、この第1のインデックスおよび/または第2のインデックスは、上で説明されるように、追跡番号に対応する文字列を取得するために、第2のMLモデルに入力され得る。さらに、いくつかの実装では、第1のMLモデルおよび第2のMLモデルは、単一のMTLモデルを用いて一緒に実装され得る。
【0132】
いくつかの実装では、第1のMLモデルは、URLが最も良く適合する所定のURLカテゴリの組のうちのURLカテゴリ(随意に、URLカテゴリレコード414内に記憶されている)を決定することによって、URLを分類する。所定のURLカテゴリは、追跡番号について概して定位置を有するフォーマットを有し得る。したがって、第1のインデックスの予測および/または第2のインデックスの予測は、決定されたURLカテゴリに基づいて、URLカテゴリレコード414から取得され得る。URLカテゴリは、特定の配送プロバイダにも関連付けられ得、したがって、配送についての配送プロバイダは、決定されたURLカテゴリに基づいてURLカテゴリレコード414からさらに取得され得る。
【0133】
いくつかの実装では、ステップ506、508の両方が、第1のMLモデルを用いて少なくとも部分的に実装され得る。例えば、第1のMLモデルは、URLを分類し得、決定されたカテゴリは、URLが配送追跡に関していることを示し、追跡番号および/または配送プロバイダがURLから取得されることも可能にし得る。
【0134】
第2のMLモデルと同様に、第1のMLモデルは、eコマースプラットフォームから取得された訓練データを用いて訓練され得る。例えば、商人が注文を完了させるためにeコマースプラットフォームに追跡URLを入力しているとき、商人は、URLを分類し、URLに関連付けられた配送番号および/または配送プロバイダを提供するように求められ得る。そして、文字列マッチングアルゴリズムが、URL中の追跡番号の第1のインデックスと第2のインデックスとを決定するために用いられ得、それは、第1のMLモデルのための訓練データの組の基礎を形成し得る。
【0135】
いくつかの実装では第1のMLモデルのみがURLから配送情報を取得するために用いられることが留意されるべきである。例えば、第1のMLモデルは、追跡番号の第1のインデックス、追跡番号の第2のインデックス、および/または配送プロバイダを提供するURLについてのカテゴリを決定し得る。そして、この情報は、URL中の第1のインデックスと第2のインデックスとの間から追跡番号を抽出することによって追跡番号を取得するために用いられ得る。したがって、第1のMLモデルは、常に配送情報を決定するために第2のMLモデルと組み合わせて用いられるわけではないこともある。
【0136】
ステップ508において、URLから取得された配送情報は、URLに関連付けられたウェブリソースから取得された配送情報を用いて補足され、および/または確認され得る。あるいは、配送情報は、ウェブリソースから全体的に取得され得る。ウェブリソースから配送情報を取得することは、URLを用いてウェブリソースにアクセスすること、ウェブリソースからコンテンツを取得すること、および/またはコンテンツを構文解析して配送情報を決定することを含み得る。コンテンツを構文解析することは、例えばテキストおよび/または画像分析動作を含み得、MLモデル(単数または複数)416のうちの1つを用いて少なくとも部分的に実施され得る。
【0137】
URLに関連付けられたウェブリソースを構文解析することの潜在的な利点は、ウェブリソースが詐欺的であるかどうかをプロセッサ404が決定することが可能であり得ることである。例えば、MLモデル(MLモデル(単数または複数)416のうちの1つであり得る)が、詐欺的ウェブページを認識するように訓練され得る。ウェブページが詐欺的であることを決定した後、そのウェブページについてのURLを含むメッセージは、フィッシングまたはスパムeメールとしてフラグ付けされ得る。
【0138】
いくつかの実装では、追跡番号および配送プロバイダは、URLとウェブリソースとの両方から取得され得る。例えば、追跡番号および配送プロバイダは、まずURLを構文解析することによって取得され得、そして、追跡番号および配送プロバイダは、ウェブリソースを構文解析することによって確認され得る。これは、正しい追跡番号および配送プロバイダがステップ508において取得されていることを確実にすることに役立つようなある程度の冗長性を提供する。いくつかの場合、プロセッサ404は、URLから取得された追跡番号および/または配送プロバイダに合致する文字列についてのウェブリソースを検索し得る。そのような文字列がウェブリソース中に見つけられた場合、追跡番号および/または配送プロバイダがウェブリソースによって確認されることが決定され得る。同様に、または、代わりに、他の決定論的方法および/または確率的方法が、ウェブリソース中の追跡番号および/または配送プロバイダを確認するために用いられ得る。
【0139】
URLから取得された追跡番号および/または配送プロバイダがウェブリソースから取得されたものと合致しない場合、さらなる処理が、不一致を解消するために実施され得る。例えば、URLカテゴリがURLについて決定される場合、URLカテゴリは、URLから取得された配送情報か、またはウェブリソースからの配送情報のどちらが最も正確であるとみなされるかを決定するために用いられ得る。URLカテゴリレコード414は、各URLカテゴリについて、各URLカテゴリからおよび/または関連付けられたウェブリソースから、配送情報がどのくらい正確に取得され得るかの指示を記憶し得る。そして、より正確でない配送情報が破棄され得る。あるいは、ユーザによる手動の介入が、URLとウェブリソースとの間の不一致を解消するために用いられ得る。
【0140】
例えば、追跡番号がURLから抽出され、関連付けられたウェブページからも追跡番号が抽出される場合を考慮されたい。これらの2つの追跡番号が合致する場合、追跡番号は確認され、さらなるアクションは取られない。あるいは、2つの追跡番号が異なる場合、より正確でない追跡番号が破棄され得る。いくつかの場合、メッセージ分析エンジンは、URLから抽出された追跡番号をより正確でない追跡番号のURLとして扱うように構成され得る。他の場合、メッセージ分析エンジンは、ウェブページから抽出された追跡番号をより正確でない追跡番号として扱うように構成され得る。
【0141】
いくつかの場合、追跡番号および配送プロバイダのうちの一方が、URLを構文解析することによって決定され、追跡番号および配送プロバイダのうちの他方が、ウェブリソースを構文解析することによって決定される。したがって、ウェブリソースから決定された配送情報が、メッセージについて取得された配送情報の累積レコードに追加され得る。これは、追跡番号または配送プロバイダがURLを構文解析することによって決定されることができないときにときに起こり得、したがって、ウェブリソースを構文解析することは、URLから取得された配送情報を補足するために実施される。例えば、URLは、追跡番号を含まないこともあり、または、追跡番号は、URL中で符号化され、またはハッシュ化され得る。さらに、複数の異なる配送プロバイダが、同様のURLフォーマットを用い得る。したがって、特定の配送プロバイダが、URLのフォーマットまたは決定されたカテゴリから推断可能でないこともある。
【0142】
いくつかの場合、追跡番号および配送プロバイダのいずれもURLから取得されないこともある。よって、これらの場合、ステップ508は、ウェブリソースを構文解析することによって追跡番号と配送プロバイダとの両方を決定することを含み得る。URLは、ウェブリソースにアクセスするために用いられ、そして、ウェブリソースは、配送情報を取得するために構文解析される。
【0143】
いくつかの場合、URLのみが、ステップ508において配送情報を取得するために構文解析される。これは、ウェブリソースが必要な配送情報を含まない場合、メッセージ分析エンジン402がウェブリソースを分析する性能を有しない場合、および/または配送情報が十分な程度の信頼性を有するURLから取得される場合に起こり得る。
【0144】
いくつかの場合、所与のURLは、例えば推定される到達時間等の配送情報を含む画像に対応し得る。機械学習モデルが、そのような画像を分析するために(例えば、そのような画像の例から成る1つ以上の訓練データの組を用いて)訓練され得、そのような画像から情報を抽出することにおいて採用され得る。加えて、またはあるいは、例えば光学的文字認識等の技術が、そのような画像から情報を抽出することにおいて適用され得る。
【0145】
ステップ508において実装され得るMLモデルは、配送情報を決定するための確率的方法の例である。いくつかの場合、後処理ステップが、MLモデルを用いて取得された配送情報について実施され得る。後処理のある例は、MLモデルを用いて取得された配送情報を確認しおよび/または補足するために決定論的方法を実装することである。
【0146】
上で留意されるように、複数のURLが、ステップ504においてデジタルコンテンツから取得され得る。これらのURLの各々が、ステップ508において分析され得る。いくつかの場合、デジタルコンテンツ中の2つ以上のURLが、配送情報を含み得る。2つ以上のURLから取得された配送情報は、URLが同一の配送に関しているか、または異なる配送に関しているかを決定するために比較され得る。配送情報は、URLが複数の段階にある同一の配送を送達している複数の配送プロバイダに関しているかどうかを決定するためにも比較され得る。
【0147】
2つのURLが同一の配送に関している場合、2つの異なるURLから取得された配送情報は、確認の目的のために比較され得る。さらに、メッセージ中の2つのURLから取得された配送情報は、URLのうちの1つから取得された配送情報と、関連付けられたウェブリソースから取得された配送情報との間の不一致を解消するために用いられ得る。例えば、第1のURLから抽出された追跡番号が、メッセージ中の第2のURLの分析を通して同様に決定された場合、第1のURLに関連付けられたウェブリソースから抽出された異なる追跡番号は、無視され得る。
【0148】
ある例によると、第1のURLと第2のURLとが、ステップ504においてデジタルコンテンツから取得され得る。第1のURLは、第1のウェブリソースに関連付けられており、第2のURLは、第2のウェブリソースに関連付けられている。ここで、ステップ508は、第1のURLと第2のURLとが同一の配送に対応することを決定すること、第1のURL、第2のURL、第1のウェブリソース、および/もしくは第2のウェブリソースから同一の追跡番号を取得すること、ならびに/または、第1のURL、第2のURL、第1のウェブリソース、および/もしくは第2のウェブリソースから同一の配送プロバイダを取得することを含み得る。
【0149】
いくつかの場合、ステップ504においてメッセージから抽出されたURLのうちの1つ以上は、配送追跡に関していないこともある。プロセッサ404が、URLが配送追跡に関していないことを決定する場合、そのURLの分析は終了し、ステップ508は、次のURLを分析することに進むか、またはステップ510に進み得る。
【0150】
ステップ510は、ステップ508において決定された配送情報をメモリ406内または別のコンピュータ読み取り可能な媒体内に記憶することを含む。いくつかの実装では、配送情報は、配送情報レコード418内に記憶され得る。配送情報は、後に、配送についての追跡最新情報を取得するために用いられ得る。例えば、メッセージ分析エンジン402またはユーザデバイス430は、配送情報にアクセスし、配送を促進している配送プロバイダから更新された配送情報を取得し得る。これは、配送についての更新された送達日を提供し得、更新された送達日は、メモリ406内に記憶されている配送情報に追加され得る。
【0151】
ステップ510からステップ502への矢印を用いて例証されるように、ステップ502、504、506、508、510は、それぞれにメッセージについて複数回繰り返され得る。これは、配送情報レコード418内の複数の配送に関係する配送情報の累積レコードを構築し得る。これらの複数の配送は、全て、同一のユーザに関するものであり得る。例として、ステップ502の複数のインスタンスが、ユーザに関連付けられた複数のメッセージに対応するデジタルコンテンツを取得し得る。これらのメッセージは、一度に、または複数の異なる回数で取得され得る。これらのメッセージの各々は、顧客についての異なる製品配送に対応し得る。ステップ504の複数のインスタンスは、メッセージの各々についてのデジタルコンテンツからURLを取得し得、ステップ508の複数のインスタンスは、URLおよび/またはそれらの関連付けられたウェブリソースから配送情報を取得し得る。そして、ステップ510の複数のインスタンスは、メモリ406内にこの配送情報を記憶し得る。これは、ユーザのための複数の配送に関係する配送情報を配送情報レコード418に追加し得る。
【0152】
配送情報は、顧客についての1つ以上の製品配送の追跡最新情報を取得するために用いられ得る。1つ以上の製品配送の取得された追跡最新情報は、顧客についての全ての製品配送(単数または複数)の集約された概要を提示することにおける使用のために提供され得る。
【0153】
ステップ512は、プロセッサがユーザデバイス430または別のデバイス上での表示のために配送情報レコード418内の配送情報のうちの少なくとも一部を出力することを含む随意のステップである。例えば、方法500を用いて分析されたメッセージ(単数または複数)は、ユーザデバイス430のユーザに対応し得、したがって、ユーザデバイス430は、配送情報レコード418内に記憶されている配送情報のうちの少なくとも一部へのアクセスを与えられ得る。この配送情報のうちのいずれか、それらのうちのいくつか、またはそれら全てが、ユーザデバイス430上での表示のために、メッセージ分析エンジン402によって出力され得る。
【0154】
ユーザデバイス430のユーザは、配送情報レコード418内に記憶されている配送情報のうちの少なくとも一部を変更することを可能にされ得る。例えば、ユーザデバイス430を用いて、ユーザは、配送情報レコード418を変更するための命令を生成し得る。配送情報レコード418を変更する非限定的な例は:
・新たな配送または既存の配送についてのものであり得る配送情報を追加すること;
・配送が受け取られたとき、またはいくつかの配送情報が正しくないとき、配送情報を除去すること;および
・ユーザの好みに基づいて配送情報をまとめ直すこと
を含む。
【0155】
加えて、または、あるいは、配送情報を変更することは、正しくない配送情報の訂正を含み得る。例えば、そのような訂正は、訂正された配送情報の入力を含み得る。いくつかの場合、ユーザは、代替の配送情報のための1つ以上のオプションを提示され得る。配送情報の訂正の入力は、そのようなオプションに応答して受信され得、提示されたオプションのうちの1つの選択に対応し得る。特に、機械学習が、例えば上で議論された態様等で配送情報を取得することにおいて採用される場合、そのような代替物のリスト中に提示されるオプションは、例えば、おそらく配送情報であるがより低い信頼性を有する情報として機械学習モデルが識別した配送情報の候補等、機械学習モデルの適用によって識別された配送情報についての他の候補を含み得る。あるいは、いくつかの実装では、配送情報への訂正が受信された場合、それらの訂正(訂正された配送情報の入力によって受信されたか、代替の配送情報の選択に基づいて受信されたか、または別様かに関係ない)は、後に、確度を向上させることを目的とする配送情報の識別のために、(例えば、訂正された情報を訓練の組に追加することによって)機械学習モデルを更新し/再び訓練することにおいて採用され得る。
【0156】
ステップ502、504、506、508、510、512の順序は、例としてのみ示される。ステップ502、504、506、508、510、512の他の順序も構想される。例えば、ステップ506は、ステップ504がメッセージに対応するデジタルコンテンツからURLを取得するために実施される前に、メッセージが配送を追跡することに関していることを決定し得る。
メッセージから配送情報を取得する例
【0157】
図6および
図7は、顧客(「Meredith Zhao」)への第1の製品(「Winter Wonderland 1000 Piece Puzzle」)の配送についての配送情報を取得する例を例証している。まず
図6を参照すると、第1の製品を販売した商人(「Pierce’s Puzzles」)から顧客によって受信されたeメールメッセージ600が示されている。eメールメッセージ600は、配送に対応する注文番号602と、第1の製品が配送されていることの指示604と、顧客の配送住所606と、配送についての追跡番号608と、配送を促進している配送プロバイダ(「Perfect Postal Service」)の指示610と、配送についての追跡URL612とを含む。追跡URL612は、追跡番号608に対応する文字列614と、配送プロバイダに対応する別の文字列616とを含む。
【0158】
図7は、追跡URL612に対応するウェブページ700を例証している。例えば、顧客がeメールメッセージ600中の追跡URL612を選択した場合、顧客は、ウェブページ700に案内され得る。ウェブページ700は、注文番号602と、追跡番号608と、配送プロバイダの指示610と、予想される送達日の指示702とを含む。
【0159】
方法500は、顧客への第1の製品の配送についての配送情報を取得するために用いられ得る。ステップ502において、eメールメッセージ600に対応するデジタルコンテンツは、例えばメッセージングサービスにおける顧客のアカウントから取得され得る。このデジタルコンテンツは、随意にシリアル化されたフォーマットで、
図6に示されるコンテンツのうちのいずれか、それらのうちのいくつか、またはそれら全てを含み得る。ステップ504において、追跡URL612は、例えば文字列マッチングアルゴリズムを用いてデジタルコンテンツから抽出される。ステップ506は、メッセージ600が配送を追跡することに関していることを決定し得る。これは、eメールメッセージ600を配送追跡に関しているメッセージとして分類するために、MLモデルにeメールメッセージ600のデジタルコンテンツを入力することによって実施され得る。あるいは、または、加えて、追跡URL612の少なくとも一部が、追跡URL612を配送追跡に関しているとして分類するために、MLモデルに入力され得る。
【0160】
ステップ508において、第1の製品の配送についての配送情報が、追跡URL612およびウェブページ700の両方から取得され得る。追跡URL612は、ウェブページ700が第1の製品の配送を追跡するためのものであることを決定するために構文解析され得る。追跡URL612は、追跡番号608に対応する文字列614と、配送プロバイダに対応する文字列616とを取得するためにも構文解析され得る。文字列616は、文字列616が配送プロバイダに対応することを決定するために、メモリ内に記憶されている配送プロバイダのリストに対して比較され得る。製品を販売し配送した商人は、追跡URL612において識別され、したがって、商人も、追跡URL612を構文解析することによって取得され得る。
【0161】
追跡URL612を構文解析することは、1つ以上のMLモデルに追跡URL612の少なくとも一部を入力することを伴い得る。例えば、クエリコンポーネント(「Id=11111000&shippingprovider=PPS」)は、決定論的方法を用いて追跡URL612から抽出され、MLモデルに入力され得る。
【0162】
いくつかの場合、追跡URL612は、追跡URL612を分類するために第1のMLモデルに入力される。追跡URL612の決定されたカテゴリは、追跡URL612が商人および/または配送プロバイダに対応することを予測し得る。あるいは、または、代わりに、決定された追跡URL612のカテゴリは、文字列614の始まりに対応する第1のインデックスの予測、および/または文字列614の終わりに対応する第2のインデックスの予測を提供し得る。例証される例では、第1のインデックスは、42であり、第2のインデックスは、49である(追跡URL612の始まりからカウントされる)。第1のインデックスおよび第2のインデックスは、追跡URL612から追跡番号608を抽出するために用いられ得る。そして、追跡URL612、予測された配送プロバイダ、予測された第1のインデックス、および/または予測された第2のインデックスが、第2のMLモデルに入力され得る。第2のMLモデルの出力は、配送プロバイダおよび/または追跡番号608の洗練された予測を含み得る。第2のMLモデルが第1のMLモデルの結果から恩恵を受け得るので、このマルチステップアプローチで配送プロバイダおよび/または追跡番号608を決定することは、より正確な結果を提供し得る。あるいは、第1のMLモデルまたは第2のMLモデルは、配送プロバイダおよび/または追跡番号608を決定するために別々に用いられ得る。
【0163】
ウェブページ700も、追跡URL612から取得された配送プロバイダ、商人、および/または追跡番号608を確認するために、ステップ508において構文解析され得る。さらに、ウェブページ700を構文解析することは、指示702から予想される送達日を決定し、および/または注文番号602を決定し得る。例えばMLモデルを用いて実装される確率的方法は、ウェブページ700を構文解析し、この配送情報を取得するために用いられ得る。
【0164】
図8および
図9は、顧客(「Meredith Zhao」)への第2の製品(「Book on Trees」)の配送についての配送情報を取得する例を例証している。まず
図8を参照すると、製品を販売した商人(「Book Outlet」)から顧客によって受信されたeメールメッセージ800が示されている。eメールメッセージ800は、配送に対応する注文番号802と、製品が配送されていることの指示804と、配送についての追跡番号806と、配送を促進している配送プロバイダ(「Rapid Delivery」)の指示808と、ハイパーリンク810とを含む。ハイパーリンク810は、
図9に示される追跡URL902に対応する。
【0165】
図9は、追跡URL902に対応するウェブページ900を例証している。ウェブページ900は、注文番号802と、追跡番号806と、配送プロバイダの指示808と、顧客の配送住所904と、予期される送達日の指示906とを含む。
【0166】
方法500は、顧客に第2の製品の配送のための配送情報を取得するためにも用いられ得る。ステップ502において、eメールメッセージ800に対応するデジタルコンテンツが、メッセージングサービスにおける顧客のアカウントから取得され得る。これは、eメールメッセージ600が取得されたものと同一のメッセージングサービスであることも、異なるメッセージングサービスであることもある。ステップ504、506において、追跡URL902は、ハイパーリンク810から抽出され、eメールメッセージ800は、配送を追跡することに関していることを決定される。
【0167】
そして、ステップ508は、追跡URL902から、およびウェブページ900から配送情報を取得するために実施され得る。追跡URL902を構文解析することは、第2の製品の配送についての商人および/または注文番号を決定し得、それらは、追跡URL902において識別される。しかしながら、追跡URL902は、追跡番号806に対応する文字列をいずれも含まず、したがって、追跡URL902から追跡番号806を決定することが可能ではないことがある。しかしながら、追跡番号806は、ウェブページ900を構文解析することによって決定され得る。
【0168】
いくつかの場合、配送プロバイダ(「Rapid Delivery」)は、追跡URL902から決定され得る。例えば、追跡URL902は、追跡URL902が商人に対応していることを決定するために分類され得る。商人が典型的に1つの配送プロバイダのみを用いる場合、この追跡URL902の分類は、配送についての配送プロバイダも示し得る。配送プロバイダは、ウェブページ900を構文解析することによっても取得されまたは確認され得る。
【0169】
注文番号802、および906で示される予期される送達日を含むさらなる配送情報も、ウェブページ900を構文解析することによって取得され得る。
【0170】
顧客への第1の製品の配送について取得された配送情報、および顧客への第2の製品の配送について取得された配送情報は、一元管理された配送情報のリストまたはレコードに追加され得る。
図10は、顧客(「Meredith Zhao」)についての一元管理された配送情報のレコード1000の例を例証している。レコード1000は、配送情報の3つの行1002、1004、1006を含み、行1002、1004、1006の各々は、異なる配送に関係している。行1002は、第1の製品(「Winter Wonderland 1000 Piece Puzzle」)の配送に対応しており、行1004は、第2の製品(「Book on Trees」)の配送に対応しており、行1006は、さらなる製品の配送に対応している。レコード1000は、各配送についての配送情報の複数の列1008、1010、1012、1014、1016、1018をさらに含む。列1008は、各配送についての商人を示し、列1010は、各配送についての注文番号を示し、列1012は、各配送についての追跡番号を示し、列1014は、各配送についての配送プロバイダを示し、列1016は、各配送について推定されまたは確認された送達日を示し、列1018は、各配送についての追跡URLを有するハイパーリンクを含む。
【0171】
例証される例において、行1002における配送情報は、上で議論されるように、追跡URL612およびウェブページ700の分析を通して取得される。したがって、行1002は、注文番号602と、追跡番号608と、配送プロバイダの指示610と、推定される送達日の指示702とを含む。行1002列1018に位置しているハイパーリンクは、追跡URL612に対応しており、それは、顧客がレコード1000からウェブページ700にアクセスすることを可能にする。同様に、行1004内の配送情報は、上で議論されるように、追跡URL902およびウェブページ900の分析を通して取得される。したがって、行1004は、注文番号802と、追跡番号806と、配送プロバイダの指示808と、推定される送達日の指示906とを含む。行1004列1018にあるハイパーリンクは、追跡URL902に対応しており、ユーザがレコード1000からウェブページ900にアクセスすることを可能にする。
【0172】
レコード1000は、顧客が製品についての新たな注文をし、それらの注文についての配送情報が顧客のメッセージを通して利用可能になったときに、継続的におよび/または断続的に更新され得る。さらに、顧客は、レコード1000を手動で変更し得る。
結論
【0173】
本発明はその特定の特徴および実施形態を参照して説明されたが、本発明から逸脱せず、種々の修正物および組み合わせ物が作製され得る。よって、説明および図面は、単に、添付の請求項によって定義される本発明のいくつかの実施形態の例証とみなされるべきであり、本発明の範囲内に属する任意のおよび全ての修正物、変更物、組み合わせ物、または同等物を網羅するように想定される。したがって、本発明およびその利点が詳細に説明されたが、種々の変化、代用、および変更が、添付の請求項によって定義される本発明から逸脱せず、本明細書においてなされ得る。そのうえ、本願の範囲は、本明細書中で説明されるプロセス、機械、製造、化合物、手段、方法、およびステップの特定の実施形態に限定されるように意図されていない。当業者は、本発明の開示から、本明細書中で説明される対応する実施形態と実質的に同一の機能を実施し、または同一の結果を達成する、既存または今後開発されるプロセス、機械、製造、化合物、手段、方法、またはステップが、本発明によって活用され得ることを、容易に認識するだろう。よって、添付の請求項は、そのようなプロセス、機械、製造、化合物、手段、方法、またはステップ等のそれらの範囲内に含まれるように意図される。
【0174】
そのうえ、命令を実行する本明細書中で例示される任意のモジュール、コンポーネント、またはデバイスは、非一過性のコンピュータ/プロセッサ読み取り可能なストレージ媒体(単数または複数)を含むか、さもなければそれらへのアクセスを有し得、非一過性のコンピュータ/プロセッサ読み取り可能なストレージ媒体(単数または複数)は、コンピュータ/プロセッサ読み取り可能な命令、データ構造、プログラムモジュール、および/または他のデータ等の情報のストレージのためである。非一過性のコンピュータ/プロセッサ読み取り可能なストレージ媒体の例の非網羅的なリストは、磁気カスケット、磁気テープ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、光学ディスク(コンパクトディスク読み取り専用メモリ(CD-ROM)、デジタルビデオディスクもしくはデジタルバーサタイルディスク(DVD)、Blu-ray(登録商標) Disc、または任意の光学ストレージ等)、任意の方法またはテクノロジで実装される揮発性および不揮発性の除去可能および除去不可能媒体、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、電気的消去可能プログラマブル読み取り専用メモリ(EEPROM)、フラッシュメモリまたは他のメモリテクノロジを含む。任意のそのような非一過性コンピュータ/プロセッサストレージ媒体は、デバイスの一部であるか、またはデバイスにアクセス可能もしくは接続可能であり得る。本明細書中で説明される任意のアプリケーションまたはモジュールは、そのような非一過性のコンピュータ/プロセッサ読み取り可能なストレージ媒体によって記憶されているか、さもなければ保持され得るコンピュータ/プロセッサ読み取り可能/実行可能な命令を用いて実装され得る。
【0175】
本教示は、以下の番号受けされる項目のうちの1つ以上の特徴にも拡張される。
(項目1)
コンピュータ実装方法であって、前記コンピュータ実装方法は、
メッセージに対応するデジタルコンテンツを取得することと、
前記デジタルコンテンツから、ウェブリソースについてのuniform resource locator(URL)を取得することと、
前記URLおよび前記ウェブリソースに基づいて、配送情報を決定することであって、前記配送情報は、
前記ウェブリソースが配送を追跡するためのものであることの指示と、
前記配送についての追跡番号と、
前記配送についての配送プロバイダと
のうちの少なくとも1つを備えている、ことと
前記配送についての追跡最新情報を取得するために前記配送情報をメモリ内に記憶することと
を含む、コンピュータ実装方法。
(項目2)
前記配送情報を決定することは、
前記URLを構文解析することによって、前記追跡番号と前記配送プロバイダとを決定することと、
前記ウェブリソースを構文解析することによって、前記追跡番号と前記配送プロバイダとを確認することと
を含む、項目1に記載のコンピュータ実装方法。
(項目3)
前記配送情報を決定することは、
前記URLを構文解析することによって、前記追跡番号と前記配送プロバイダとのうちの一方を決定することと、
前記ウェブリソースを構文解析することによって、前記追跡番号と前記配送プロバイダとのうちの他方を決定することと
を含む、項目1に記載のコンピュータ実装方法。
(項目4)
前記配送情報を決定することは、前記ウェブリソースを構文解析することによって、前記追跡番号と前記配送プロバイダとを決定することを含む、項目1に記載のコンピュータ実装方法。
(項目5)
前記配送情報を決定することは、
機械学習(ML)モデルに前記URLを入力することと、
前記MLモデルの出力に基づいて、前記URLから前記追跡番号に対応する文字列を取得することと
を含む、項目1に記載のコンピュータ実装方法。
(項目6)
前記配送情報を決定することは、
予測を取得することであって、前記予測は、前記URL中の前記追跡番号の始まりに対応する第1のインデックスと、前記URL中の前記追跡番号の終わりに対応する第2のインデックスとを備えている、ことと
前記第1のインデックスと前記第2のインデックスとを前記MLモデルに入力することと
をさらに含む、項目5に記載のコンピュータ実装方法。
(項目7)
前記MLモデルは、マルチタスク学習モデルを備えている、項目5に記載のコンピュータ実装方法。
(項目8)
前記配送情報を決定することは、
機械学習(ML)モデルに前記URLを入力することと、
前記MLモデルの出力から、所定の配送プロバイダの組から選択される前記配送プロバイダに対応する文字列を取得することと
を含む、項目1に記載のコンピュータ実装方法。
(項目9)
前記URLは、第1のURLであり、前記ウェブリソースは、第1のウェブリソースであり、前記追跡番号は、第1の追跡番号であり、前記配送プロバイダは、第1の配送プロバイダであり、前記方法は、
前記デジタルコンテンツから、第2のウェブリソースについての第2のURLを取得することと、
前記第2のURLと前記第2のウェブリソースとに基づいて、
前記第2のウェブリソースが前記配送を追跡するためのものであることと、
前記配送についての第2の追跡番号と、
前記配送についての第2の配送プロバイダと
を決定することと、
前記第1の追跡番号が前記第2の追跡番号に合致することと、前記第1の配送プロバイダが前記第2の配送プロバイダに合致することとを決定することと
をさらに含む、項目1に記載のコンピュータ実装方法。
(項目10)
前記デジタルコンテンツに基づいて、前記メッセージが前記配送を追跡することに関していることを決定することをさらに含む、項目1に記載のコンピュータ実装方法。
(項目11)
前記メッセージが前記配送を追跡することに関していることを決定することは、
機械学習(ML)モデルに前記デジタルコンテンツを入力することと、
前記MLモデルの出力から、所定のメッセージカテゴリの組から選択される前記メッセージについてのメッセージカテゴリを取得することと、
前記メッセージカテゴリが配送追跡に関していることを決定することと
を含む、項目10に記載のコンピュータ実装方法。
(項目12)
前記メッセージが前記配送を追跡することに関していることを決定することは、
機械学習(ML)モデルに前記URLを入力することと、
前記MLモデルの出力から、所定のURLカテゴリの組から選択される前記URLについてのURLカテゴリを取得することと、
前記URLカテゴリが配送追跡に関していることを決定することと
を含む、項目10に記載のコンピュータ実装方法。
(項目13)
前記メッセージは、特定のユーザに対応しており、
前記配送情報を記憶することは、前記特定のユーザに関連付けられた複数の配送についての配送情報レコード内に前記配送情報を記憶することを含み、
前記方法は、前記特定のユーザに関連付けられたデバイス上での表示のために、前記配送情報レコードのうちの少なくとも一部を出力することをさらに含む、項目1に記載のコンピュータ実装方法。
(項目14)
システムであって、前記システムは、
少なくとも1つのプロセッサであって、前記少なくとも1つのプロセッサは、
メッセージに対応するデジタルコンテンツを取得することと、
前記デジタルコンテンツから、ウェブリソースについてのuniform resource locator (URL)を取得することと、
前記URLおよび前記ウェブリソースに基づいて、配送情報を決定することと
を行い、前記配送情報は、
前記ウェブリソースが配送を追跡するためのものでることの指示と、
前記配送についての追跡番号と、
前記配送についての配送プロバイダと
のうちの少なくとも1つを備えている、少なくとも1つのプロセッサと、
前記配送についての追跡最新情報を取得するために前記配送情報を記憶するためのメモリと
を備えている、システム。
(項目15)
前記少なくとも1つのプロセッサは、
前記URLを構文解析することによって、前記追跡番号と前記配送プロバイダとを決定することと、
前記ウェブリソースを構文解析することによって、前記追跡番号と前記配送プロバイダとを確認することと
をさらに行う、項目14に記載のシステム。
(項目16)
前記少なくとも1つのプロセッサは、
前記URLを構文解析することによって、前記追跡番号と前記配送プロバイダとのうちの一方を決定することと、
前記ウェブリソースを構文解析することによって、前記追跡番号と前記配送プロバイダとのうちの他方を決定することと
をさらに行う、項目14に記載のシステム。
(項目17)
前記少なくとも1つのプロセッサは、前記ウェブリソースを構文解析することによって、前記追跡番号と前記配送プロバイダとを決定することをさらに行う、項目14に記載のシステム。
(項目18)
前記少なくとも1つのプロセッサは、
機械学習(ML)モデルに前記URLを入力することと、
前記MLモデルの出力に基づいて、前記URLから前記追跡番号に対応する文字列を取得することと
をさらに行う、項目14に記載のシステム。
(項目19)
前記少なくとも1つのプロセッサは、
予測を取得することであって、前記予測は、前記URL中の前記追跡番号の始まりに対応する第1のインデックスと、前記URL中の前記追跡番号の終わりに対応する第2のインデックスとを備えている、ことと
前記第1のインデックスと前記第2のインデックスとを前記MLモデルに入力することと
をさらに行う、項目18に記載のシステム。
(項目20)
前記MLモデルは、マルチタスク学習モデルを備えている、項目18に記載のシステム。
(項目21)
前記少なくとも1つのプロセッサは、
機械学習(ML)モデルに前記URLを入力することと、
前記MLモデルの出力から、所定の配送プロバイダの組から選択される前記配送プロバイダに対応する文字列を取得することと
をさらに行う、項目14に記載のシステム。
(項目22)
前記URLは、第1のURLであり、前記ウェブリソースは、第1のウェブリソースであり、前記追跡番号は、第1の追跡番号であり、前記配送プロバイダは、第1の配送プロバイダであり、前記少なくとも1つのプロセッサは、
前記デジタルコンテンツから、第2のウェブリソースについての第2のURLを取得することと、
前記第2のURLと前記第2のウェブリソースとに基づいて、
前記第2のウェブリソースが前記配送を追跡するためのものであることと、
前記配送についての第2の追跡番号と、
前記配送についての第2の配送プロバイダと
を決定することと、
前記第1の追跡番号が前記第2の追跡番号に合致することと、前記第1の配送プロバイダが前記第2の配送プロバイダに合致することとを決定することと
をさらに行う、項目14に記載のシステム。
(項目23)
前記少なくとも1つのプロセッサは、
機械学習(ML)モデルに前記URLを入力することと、
前記MLモデルの出力から、所定のURLカテゴリの組から選択される前記URLについてのURLカテゴリを取得することと、
前記URLカテゴリが配送追跡に関していることを決定することと
をさらに行う、項目14に記載のシステム。
(項目24)
前記メッセージは、特定のユーザに対応しており、
前記メモリは、さらに、前記特定のユーザに関連付けられた複数の配送についての配送情報レコード内に前記配送情報を記憶し、
前記少なくとも1つのプロセッサは、さらに、前記特定のユーザに関連付けられたデバイス上での表示のために、前記配送情報の少なくとも一部を出力する、項目14に記載のシステム。
(項目25)
命令を記憶している非一過性のコンピュータ読み取り可能なストレージ媒体であって、前記命令は、コンピュータシステムのプロセッサによって実行されると、
メッセージに対応するデジタルコンテンツを取得することと、
前記デジタルコンテンツから、ウェブリソースについてのuniform resource locator (URL)を取得することと、
前記URLおよび前記ウェブリソースに基づいて、配送情報を決定することであって、前記配送情報は、
前記ウェブリソースが配送を追跡するためのものでることの指示と、
前記配送についての追跡番号と、
前記配送についての配送プロバイダと
のうちの少なくとも1つを備えている、ことと、
前記配送についての追跡最新情報を取得するに、前記配送情報をメモリ内に記憶することと
を前記コンピュータシステムに行わせる、非一過性のコンピュータ読み取り可能なストレージ媒体。