IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ミロ・アクイジション・サブ・リミテッド・ライアビリティ・カンパニーの特許一覧

<>
  • 特許-電子メッセージのフィルタリング 図1
  • 特許-電子メッセージのフィルタリング 図2
  • 特許-電子メッセージのフィルタリング 図3
  • 特許-電子メッセージのフィルタリング 図4
  • 特許-電子メッセージのフィルタリング 図5
  • 特許-電子メッセージのフィルタリング 図6
  • 特許-電子メッセージのフィルタリング 図7
  • 特許-電子メッセージのフィルタリング 図8
  • 特許-電子メッセージのフィルタリング 図9
  • 特許-電子メッセージのフィルタリング 図10
  • 特許-電子メッセージのフィルタリング 図11
  • 特許-電子メッセージのフィルタリング 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-19
(45)【発行日】2024-02-28
(54)【発明の名称】電子メッセージのフィルタリング
(51)【国際特許分類】
   H04L 51/212 20220101AFI20240220BHJP
   G06F 16/35 20190101ALI20240220BHJP
【FI】
H04L51/212
G06F16/35
【請求項の数】 19
【外国語出願】
(21)【出願番号】P 2022076161
(22)【出願日】2022-05-02
(62)【分割の表示】P 2019563534の分割
【原出願日】2018-05-01
(65)【公開番号】P2022133264
(43)【公開日】2022-09-13
【審査請求日】2022-06-01
(31)【優先権主張番号】15/597,404
(32)【優先日】2017-05-17
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】521486376
【氏名又は名称】ミロ・アクイジション・サブ・リミテッド・ライアビリティ・カンパニー
(74)【代理人】
【識別番号】100099623
【弁理士】
【氏名又は名称】奥山 尚一
(74)【代理人】
【識別番号】100125380
【弁理士】
【氏名又は名称】中村 綾子
(74)【代理人】
【識別番号】100142996
【弁理士】
【氏名又は名称】森本 聡二
(74)【代理人】
【識別番号】100166268
【弁理士】
【氏名又は名称】田中 祐
(74)【代理人】
【識別番号】100180231
【弁理士】
【氏名又は名称】水島 亜希子
(72)【発明者】
【氏名】サティ,コーナル
(72)【発明者】
【氏名】タラソフ,アレクサンダー
(72)【発明者】
【氏名】ミハイロフ,ディミトロ
(72)【発明者】
【氏名】コフリキャン,ナリーネ
(72)【発明者】
【氏名】イフチェンコ,ロマン
【審査官】小林 義晴
(56)【参考文献】
【文献】米国特許出願公開第2016/0110763(US,A1)
【文献】特開2011-034417(JP,A)
【文献】特開2004-289848(JP,A)
【文献】特開2014-102708(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 51/212
G06F 16/35
(57)【特許請求の範囲】
【請求項1】
電子メッセージの集合をフィルタリングする方法であって、
プロセッサが、或る送信者に関連付けられ件名を有する複数の電子メッセージヘッダをネットワークデータストレージシステムからフェッチするステップと、
前記プロセッサが、クラスタリングプロセスに基づいて前記複数の電子メッセージヘッダを複数のクラスタにグループ分けするステップであって、前記クラスタリングプロセスは、
前記プロセッサが、第1類似度閾値に基づいて前記複数の電子メッセージヘッダの各々を、第1の数(N)のクラスタを有する第1クラスタ群にグループ分けするサブステップと、
前記プロセッサが、前記第1類似度閾値とは異なる第2類似度閾値に基づいて前記複数の電子メッセージヘッダの各々を、第2の数(N)のクラスタを有する第2クラスタ群に再グループ分けするサブステップと、
前記プロセッサが、前記第2クラスタ群においてユニークな件名を有する電子メッセージヘッダの数を求めるサブステップと、
前記プロセッサが、前記ユニークな件名を有する電子メッセージヘッダの数が或る閾値を上回る場合に、前記第1クラスタ群をクラスタ群として選択するサブステップと、
前記プロセッサが、前記ユニークな件名を有する電子メッセージヘッダの数が前記閾値を上回らない場合に、クラスタの前記第2の数とクラスタの前記第1の数とが類似度基準に基づいて収束するかどうかを判定するサブステップと、
前記プロセッサが、クラスタの前記第2の数とクラスタの前記第1の数とが収束した場合に、前記第1クラスタ群をクラスタ群として選択するサブステップと
を含む、ステップと、
前記プロセッサが、選択されたクラスタ群内の各クラスタを、受取りに関係するもの又は受取りに関係しないものに分類するステップと、
前記プロセッサが、受取りに関係する複数のクラスタにそれぞれ基づいた複数のフィルタを生成するステップと
を含む方法。
【請求項2】
前記プロセッサが、前記複数の電子メッセージヘッダを複数のクラスタにグループ分けする前に、同じ件名を単一のインスタンスとして含む前記複数の電子メッセージヘッダの各々を考慮することにより複数のヘッダの重複を除去するステップをさらに含む請求項1に記載の方法。
【請求項3】
前記プロセッサが、前記複数の電子メッセージヘッダを複数のクラスタにグループ分けする前に、前記複数の電子メッセージヘッダの件名におけるテキストをトークン化するステップをさらに含む請求項1に記載の方法。
【請求項4】
前記プロセッサが、前記複数の電子メッセージヘッダを複数のクラスタにグループ分けする前に、前記複数の電子メッセージヘッダの件名におけるテキストを正規化するステップをさらに含み、
前記正規化は、(1)大文字を小文字に置き換えることと、(2)句読点を削除することと、(3)実数に対応するトークンをワイルドカードトークンに置き換えることとの少なくともいずれかを含む、
請求項1に記載の方法。
【請求項5】
前記グループ分けは、
前記プロセッサが、前記複数の電子メッセージヘッダの各々における件名のテキスト文字列の比較に基づいて、前記電子メッセージヘッダのペアにおける類似度スコアを計算するステップと、
前記プロセッサが、計算された前記類似度スコアを前記第1類似度閾値と比較するステップと、
前記プロセッサが、計算された前記類似度スコアが前記第1類似度閾値に達している場合に、前記電子メッセージヘッダのペアを各クラスタにグループ分けするステップと
を含む、請求項1に記載の方法。
【請求項6】
前記第2類似度閾値は前記第1類似度閾値よりも小さい、請求項1に記載の方法。
【請求項7】
前記第2クラスタ群における電子メッセージヘッダの各々は、前記第2クラスタ群の各クラスタにおいて各件名が他の電子メッセージヘッダの件名と共通の単語を含まない場合に、ユニークな件名を含む、請求項1に記載の方法。
【請求項8】
前記類似度基準は、前記プロセッサが、クラスタの前記第2の数とクラスタの前記第1の数との差の比を、それまでの反復におけるクラスタの数と比較するステップを含む、請求項1に記載の方法。
【請求項9】
クラスタの前記第2の数とクラスタの前記第1の数とが収束せず、
前記プロセッサが、前記第2類似度閾値を下回る第3類似度閾値に基づいて、前記複数の電子メッセージヘッダの各々を、第3の数(N)のクラスタを有する第3クラスタ群に再グループ分けするステップと、
前記プロセッサが、前記第3クラスタ群においてユニークな件名を有する電子メッセージヘッダの数を求めるステップと、
前記プロセッサが、前記第3クラスタ群においてユニークな件名を有する電子メッセージヘッダの数が前記閾値を上回る場合に、前記第2クラスタ群をクラスタ群として選択するステップと、
前記プロセッサが、前記第3クラスタ群においてユニークな件名を有する電子メッセージヘッダの数が前記閾値を上回らない場合に、クラスタの前記第3の数とクラスタの前記第2の数とが類似度基準に基づいて収束するかどうかを判定するステップと、
前記プロセッサが、クラスタの前記第3の数とクラスタの前記第2の数とが収束しない場合に、前記第2クラスタ群をクラスタ群として選択するステップと
をさらに含む請求項1に記載の方法。
【請求項10】
電子メッセージの集合をフィルタリングするフィルタを生成する装置であって、
メモリと、
前記装置における命令と、
プロセッサと
を備え、
前記プロセッサは、前記命令を実行し、少なくとも、
或る送信者に関連付けられている複数の電子メッセージヘッダに対応し各々が件名を有する複数のヘッダを、ネットワークデータストレージシステムから取得するステップと、
クラスタリングプロセスに基づいて前記複数のヘッダを複数のクラスタにグループ分けするステップであって、前記クラスタリングプロセスは、
第1類似度閾値に基づいて前記複数のヘッダの各々を、第1の数のクラスタを有する第1クラスタ群にグループ分けするサブステップと、
前記第1類似度閾値とは異なる第2類似度閾値に基づいて前記複数のヘッダの各々を、第2の数のクラスタを有する第2クラスタ群にグループ分けするサブステップと、
前記第2クラスタ群においてユニークな件名を有するヘッダの数を求めるサブステップと、
前記ユニークな件名を有するヘッダの数が或る閾値を上回る場合に、前記第1クラスタ群をクラスタ群として選択するサブステップと、
前記ユニークな件名を有するヘッダの数が前記閾値を上回らない場合に、クラスタの前記第2の数とクラスタの前記第1の数とが類似度基準に基づいて収束するかどうかを判定するサブステップと、
クラスタの前記第2の数とクラスタの前記第1の数とが収束した場合に、前記第1クラスタ群をクラスタ群として選択するサブステップと
を含む、ステップと、
前記クラスタ群内の各クラスタを、受取りに関係するもの又は受取りに関係しないものに分類するステップと、
受取りに関係する複数のクラスタにそれぞれ基づいた複数のフィルタを生成するステップと
を行う、装置。
【請求項11】
前記複数の電子メッセージヘッダを複数のクラスタにグループ分けする前に、前記プロセッサは、前記命令を実行し、同じ件名を単一のインスタンスとして含む前記複数のヘッダの各々を考慮することにより複数のヘッダの重複を除去するステップを行う、請求項10に記載の装置。
【請求項12】
前記複数のヘッダを複数のクラスタにグループ分けする前に、前記プロセッサが、前記命令を実行し、前記複数のヘッダの件名におけるテキストをトークン化するステップをさらに含む請求項10に記載の装置。
【請求項13】
前記複数の電子メッセージヘッダを複数のクラスタにグループ分けする前に、前記プロセッサが、前記命令を実行し、前記複数のヘッダの件名におけるテキストを正規化するステップをさらに含み、
前記正規化は、(1)大文字を小文字に置き換えることと、(2)句読点を削除することと、(3)実数に対応するトークンをワイルドカードトークンに置き換えることとの少なくともいずれかを含む、
請求項10に記載の装置。
【請求項14】
前記グループ分けは、
前記複数のヘッダの各々における件名のテキスト文字列の比較に基づいて、前記ヘッダのペアにおける類似度スコアを計算するステップと、
計算された前記類似度スコアを前記第1類似度閾値と比較するステップと、
計算された前記類似度スコアが前記第1類似度閾値に達している場合に、前記ヘッダのペアを各クラスタにグループ分けするステップと
を含む、請求項10に記載の装置。
【請求項15】
前記第2類似度閾値は前記第1類似度閾値よりも小さい、請求項10に記載の装置。
【請求項16】
前記第2クラスタ群におけるヘッダの各々は、前記第2クラスタ群の各クラスタにおいて各件名が他のヘッダの件名と共通の単語を含まない場合に、ユニークな件名を含む、請求項10に記載の装置。
【請求項17】
前記類似度基準は、クラスタの前記第2の数とクラスタの前記第1の数との差の比を、それまでの反復におけるクラスタの数と比較するステップを含む、請求項10に記載の装置。
【請求項18】
クラスタの前記第2の数とクラスタの前記第1の数とが収束せず、
前記プロセッサは、前記命令を実行し、
前記第2類似度閾値を下回る第3類似度閾値に基づいて、前記複数のヘッダの各々を、第3の数のクラスタを有する第3クラスタ群に再グループ分けするステップと、
前記第3クラスタ群においてユニークな件名を有するヘッダの数を求めるステップと、
前記第3クラスタ群においてユニークな件名を有するヘッダの数が前記閾値を上回る場合に、前記第2クラスタ群をクラスタ群として選択するステップと、
前記第3クラスタ群においてユニークな件名を有するヘッダの数が前記閾値を上回らない場合に、クラスタの前記第3の数とクラスタの前記第2の数とが類似度基準に基づいて収束するかどうかを判定するステップと、
クラスタの前記第3の数とクラスタの前記第2の数とが収束しない場合に、前記第2クラスタ群をクラスタ群として選択するステップと
を行う、請求項10に記載の装置。
【請求項19】
実行時に、少なくとも一つのプロセッサに対し請求項1~9のいずれか一項に記載の方法を実行させるか、又は前記少なくとも一つのプロセッサを請求項10~18のいずれか一項に記載の装置として実現させるコンピュータ可読命令を有するコンピュータ可読媒体。
【発明の詳細な説明】
【背景技術】
【0001】
人々は、多くの販売業者から様々な支払いオプションを使って商品を購入する。このような購入の取引は、通常、店舗での物理的なレシート又は購入者のメッセージアカウント(例えば、購入者の電子メールアカウント)宛ての電子的確認メッセージによって確認される。確認メッセージが大量、多様であることにより、人々が自身の購入を確認し、購入履歴を全体的に把握することが困難となっている。加えて、人々が商品を購入する販売業者の多様性が大きいことにより、販売業者が正確な顧客プロファイルを作るための十分な購入履歴データを得ることが難しくなっている。ある人が、その人の全ての購入について共通の識別子(例えば、ポイントカード又はクレジットカード)を用いたとしても、これらの購入は、通常、その識別子をその顧客に発行した販売業者によってしか追跡されない。このように顧客情報が不足することで、販売業者をまたいだ顧客の購入取引情報を効率的に見いだす能力には限りがある。
【0002】
このような問題を改善するために、購入確認メッセージ及び配送確認メッセージ等の、販売業者から直接、消費者に対して発行されるデータソースから購入関連情報を抽出するレポートシステムが開発されている。
【発明の概要】
【0003】
本発明は、ネットワークノード間で送信され、1以上のメッセージサーバによって管理される1以上のネットワークデータストレージシステムにおいて各ユーザアカウントに関連付けられて記憶される電子メッセージの集合を処理する、コンピュータ装置によって実行される方法を特徴とする。各電子メッセージは、送信者、ヘッダ、及び本文に関連付けられる。この方法によれば、ネットワークデータストレージシステムのうちの1つ以上に記憶された集合内のヘッダは、メッセージサーバのうちの1つ以上から、複数のユーザアカウントにわたって、ネットワークノードによってフェッチされる。1以上の送信者の各々に関して、クラスタを、クラスタリングデータ空間内のそれぞれの密な領域と関連付ける密度ベースのクラスタリングプロセスに基づいて、送信者に関連付けられてフェッチされたヘッダは、クラスタにグループ化される。クラスタリングデータ空間内では、フェッチされたヘッダは、フェッチされたヘッダの各ペア間の類似度に基づいて互いに離れている。複数のクラスタのうちの1つ以上の各々につき、ネットワークノードによって、メッセージサーバのうちの1つ以上から、クラスタ内のフェッチされたヘッダに関連付けられ、ネットワークデータストレージシステムのうちの1つ以上に記憶された集合内の電子メッセージのそれぞれのサンプルが取得される。取得されたサンプル内の各電子メッセージは、クラスタに関する各分類データセットを生成するために、1つ以上の購入関連ラベルと、関連する信頼度とを含む所定のラベルセットの各ラベルを用いて、機械学習分類器によって分類される。クラスタは、それぞれの分類データセットをそれぞれのクラスタラベルにマッピングする少なくとも1つのクラスタ分類ルールに基づいて、所定のラベルセットから選択された各クラスタラベルを割り当てられる。購入関連ラベルのうちの1つが割り当てられた1以上のクラスタの各々に関して、購入関連電子メッセージをフィルタリングするフィルタが自動的に生成される。
【0004】
また、本発明は、ネットワークノード間で送信され、1以上のメッセージサーバによって管理される1以上のネットワークデータストレージシステムにおいて各ユーザアカウントに関連付けられて記憶されている電子メッセージの集合を処理する、コンピュータ装置によって実行される方法を特徴とする。各電子メッセージは、送信者、ヘッダ、及び本文に関連付けられる。この方法によれば、集合内のヘッダは、1人以上の送信者の各々に関して、ネットワークデータストレージシステムのうちの1つ以上からフェッチされる。1人以上の送信者の各々に関して、フェッチされたヘッダは、クラスタにグループ化される。フェッチされたヘッダをグループ化するプロセスは、メッセージ本文の内容に関係なくクラスタ内のヘッダ間の類似度に基づいて、フェッチされたヘッダを複数のクラスタのうちのそれぞれのクラスタに割り当てることを含む。複数のクラスタのうちの各々につき、ネットワークデータストレージシステムのうちの1つ以上から、フェッチされクラスタに割り当てられたヘッダに関連付けられた電子メッセージのうちの1通以上のサンプルが取得される。クラスタは、サンプル内の1通以上の取得された電子メッセージのヘッダ及び本文の内容に基づいて、受取りに関係するもの又は受取りに関係しないものとして、機械学習分類器によって指定される。それぞれの電子メッセージフィルタは、受取りに関係するものとして指定された複数のクラスタのうちの1つ以上の各々に関して自動的に生成され、各電子メッセージフィルタは、電子メッセージのヘッダ内の件名フィールド文字列のそれぞれのパターンを照合するそれぞれのルールを定める。
【0005】
いくつかの例では、フィルタのうちの1つ以上は、1つ以上のメッセージサーバによって管理される1つ以上のネットワークデータストレージシステムにおいて各ユーザアカウントに関連付けられて記憶された電子メッセージのセットから購入関連電子メッセージを選択するために、少なくとも1つのネットワーク通信チャネルにプロセッサによって設けられる。
【0006】
また、本発明は、上述した方法を実施するように動作可能なコンピュータ装置及び上述した方法をコンピュータ装置に実施させるコンピュータ可読命令を記憶するコンピュータ可読媒体を特徴とする。
【図面の簡単な説明】
【0007】
図1】ネットワーク通信環境の一例を示す説明図である。
図2】購入取引データ検索システムの一例によって行われる電子メッセージ処理ステージの全体説明図である。
図3】電子メッセージの一例を示す説明図である。
図4】電子メッセージフィルタを生成するプロセスの一例を示すフロー図である。
図5図4の電子メッセージフィルタ生成プロセスの複数のステージに関係するデータの説明図である。
図6】電子メッセージフィルタを生成するプロセスの一例を示すフロー図である。
図7】電子メッセージフィルタを生成するシステムの一例を示す説明図である。
図8】クラスタリングデータ空間におけるヘッダのクラスタの一例を示す説明図である。
図9】電子メッセージのヘッダをクラスタへとグループ化するプロセスの一例を示すフロー図である。
図10】電子メッセージフィルタを生成するシステムの一例を示す説明図である。
図11】電子メッセージフィルタを生成するプロセスの一例を示すフロー図である。
図12】コンピュータ装置の一例を示すブロック図である。
【発明を実施するための形態】
【0008】
以下の説明において、同じ要素を識別するために同じ符号を用いる。さらに、図面は、例示的な実施形態の主要な特徴を図示するためのものである。図面は、実際の実施形態のあらゆる特徴を示すことを目的としているわけではなく、描かれている要素の相対的な寸法を示すためのものでもなく、一定の縮尺で描かれているわけでもない。
【0009】
[I.用語の定義]
「商品(product)」は、購入又は利用の対象となり得る任意の有形又は無形の物品又はサービスである。
【0010】
「電子メッセージ」は、物理的なネットワークノード間で送信者から受信者へと送られ、非一時的なコンピュータ可読型メモリに記憶される永続的なテキストベースの情報記録である。電子メッセージは、構造化されたもの(例えば、構造化タグ要素を含むハイパーテキストマークアップ言語(HTML)メッセージ)又は構造化されていないもの(例えば、プレーンテキストメッセージ)とすることができる。
【0011】
「購入関連電子メッセージ」は、商品の購入に関連する電子メッセージである。購入関連電子メッセージの例には、注文確認、配送確認、払戻し、キャンセル、取寄せ注文、クーポン、及び販売促進が含まれる。
【0012】
電子メッセージにおける「送信者ドメイン」は、電子メッセージの送信元であるメッセージアドレスの管理範囲を指す。例えば、電子メッセージアドレスが「local-part@domain」というフォーマットを有する場合、「local-part」はメッセージアドレスを特定し、「domain」はメッセージアドレスの管理範囲を特定する。複数のメッセージアドレスが同じ送信者ドメインを共有する場合がある。
【0013】
「受領(受取り、receipt)」は、1つ以上の商品の購入ステータスを確認する電子メッセージである。受領の例には、注文確認電子メッセージと配送確認電子メッセージとが含まれる。
【0014】
「購入取引情報」(「購入取引データ」とも呼ぶ)は、商品の購入に関連する情報である。購入取引データは、例えば、インボイスデータと、購入確認データと、商品注文情報(例えば、販売者名、注文番号、注文日、商品説明、商品名、商品数量、商品価格、消費税、送料、及び注文金額)と、商品出荷情報(例えば、請求先住所、配送会社、送付先住所、出荷予定日、配送予定日、及び追跡番号)とを含む。
【0015】
「コンピュータ」は、コンピュータ可読型媒体に一時的又は恒久的に記憶されているコンピュータ可読型命令に従ってデータを処理する任意の機械、デバイス、又は装置である。「コンピュータ装置」は、1つ以上の独立したコンピュータを指す。「コンピュータオペレーティングシステム」は、タスクの動作と、コンピューティングリソース及びハードウェアリソースの共有とを管理及び調整するコンピュータのソフトウェア構成要素である。「ソフトウェアアプリケーション」(ソフトウェア、アプリケーション、コンピュータソフトウェア、コンピュータアプリケーション、プログラム、及びコンピュータプログラムともいう)は、コンピュータが解釈及び実行して1つ以上の特定のタスクを実行することができる一組の命令である。「データファイル」は、ソフトウェアアプリケーションによって用いられるデータを永続的に記憶する情報のブロックである。
【0016】
「コンピュータ可読型媒体」(「メモリ」ともいう)という用語は、機械(例えば、コンピュータ)によって読み出すことができる情報(例えば、命令及びデータ)を記憶することが可能な任意の有形で非一時的なデバイスを指す。このような情報を有形なものとして具現化するのに適した記憶デバイスには、例えば、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、及びフラッシュメモリデバイス等の半導体メモリデバイス、内部ハードディスク及びリムーバブルハードディスク等の磁気ディスク、光磁気ディスク、DVD-ROM/RAM、並びにCD-ROM/RAMを含むあらゆる形態の物理的で非一時的なコンピュータ可読型メモリが含まれるが、これらに限定されるわけではない。
【0017】
「ネットワークノード」は、通信ネットワーク内の物理的な接合点又は接続点である。ネットワークノードの例には、端末、コンピュータ、及びネットワークスイッチが含まれるが、これらに限定されない。「サーバシステム」は、1つ以上のネットワークノードを備え、情報又はサービスの要求に応じるものである。「クライアントノード」は、情報又はサービスをサーバシステムに要求するネットワークノードである。
【0018】
本明細書において、「含む(備える)」という用語は、その対象を含む(備える)が、それらに限定されないことを意味し、「含んでいる(備えている)」という用語は、その対象を含んでいる(備えている)が、それらに限定されないことを意味する。「基づく」は、その対象に少なくとも部分的に基づくことを意味する。
【0019】
[II.購入関連電子メッセージのフィルタリング]
A.序論
人々は、世界中で毎日、2000億通近くの電子メールを送受信している。しかし、これらの電子メールのうち、購入に関するものはごく少数にすぎない。結果として、ユーザのメッセージアカウントを取捨選択し、目下実用的な情報を定期的に得るのに十分な量の購入関連電子メールを特定し、取得するのに、相当量の時間及びリソースが必要である。
【0020】
本明細書において説明する例によれば、購入関連情報を指定された受信者に伝えるために物理的なネットワークノード間で送信される購入関連電子メッセージを発見してフィルタリングする改良されたシステム及び方法が提供される。これらのシステム及び方法は、各販売業者によって使用され、販売業者間で異なる様々な電子メッセージフォーマットが急増した結果として生じている実際的な問題を解決するものである。この点につき、これらの例は、機械生成の電子メッセージヘッダの構造及びセマンティックを自動的に学習でき、これにより、新しいメッセージソース、新しいマーケット、及び種々の言語をサポートする能力が促進される。これらの例は、多種多様な電子メッセージフォーマットにわたる購入関連電子メッセージを高精度で識別しフィルタリングすることができる、購入関連電子メッセージの発見及びフィルタリングのサービスを提供する。
【0021】
本明細書において説明する例は、機械により生成された購入関連電子メッセージに特有の構造的特徴に関する知見を利用して、購入関連電子メッセージを自動的に発見しフィルタリングするプロセスを実施するものである。このプロセスは、コンピュータ装置の処理を改良し、従来の手法に比べて、処理リソース、データストレージリソース、ネットワークリソース、及びフィルタ生成回数を大幅に削減する。いくつかの例では、この改良は、ネットワーク通信環境における特定の電子メッセージ処理ルールの独自のシーケンスが実行されるようにコンピュータ装置を構成することによる。いくつかの例では、複数の販売業者によって送られる、複数の機械生成による購入関連電子メッセージの個別の特性を自動的に学習し、処理がそれらの特性に自動的に合うようにコンピュータ装置を構成することによって、従来の手法を上回る更なる利点が得られる。いくつかの例は、例えば、機械生成の購入関連電子メッセージのテンプレートの各セットを生成するために、複数の販売業者によって用いられるそれぞれのテンプレートにおける種々のレベルの違いに合わせてコンピュータ装置の処理を自動的に調整することによって、メッセージ発見プロセスの精度及び効率を実質的に向上させる。
【0022】
特定の例において、これらのシステム及び方法は、一組の電子メッセージから、購入関連電子メッセージの本文の構造的要素を定める各メッセージテンプレートに従って、機械により生成される購入関連電子メッセージのヘッダを照合する電子メッセージフィルタを自動的に学習できるようにプログラミングされる改良された特定用途のコンピュータ装置を含む。また、これらのシステム及び方法は、1つ以上のメッセージサーバによって管理される1つ以上のネットワークデータストレージシステムにおいて各ユーザアカウントに関連付けられて記憶された一組の電子メッセージから購入関連電子メッセージを選択できるように、少なくとも1つのネットワーク通信チャネルに学習済み電子メッセージフィルタを設ける(インストールする)ようプログラミングされる改良された特定用途のコンピュータ装置を含む。
【0023】
これらの改良されたシステム及び方法によれば、商品購入情報を多種多様な電子メッセージのタイプから識別、抽出し、集約することで、個人の購入履歴を可視化及び整理する強化ツールを個人に提供できるとともに、的を絞った、あまり押し付けがましくない広告戦略及び他のマーケティング戦略を可能にする様々な消費者層にわたる改良された販売業者間の購入情報を販売業者及び他の組織へ提供することができる。これらの改良されたシステム及び方法を展開して、消費者の購入を経時的にモニタし、個別の消費者について又は多くの消費者にわたって集約することができる更新された購入履歴情報を取得し、消費者の行動及び組織的マーケティング戦略を導く実用的な情報を提供することができる。例えば、これらの改良されたシステム及び方法は、個別の電子メッセージから抽出された異なる商品購入情報を、消費者が自身の以前の購入を整理し、自身の購入行動の理解を高めるために用いることができるとともに、販売業者及び他の組織が自身のマーケティングキャンペーンの精度及び投資利益率を改善するために用いることができる実用的なデータへと編成することができる。
【0024】
B.動作環境の例
図1に、ネットワーク11を有するネットワーク通信環境10の例を示す。ネットワーク11は、購入取引データ検索システム12と、商品を販売する1以上の商品販売業者14と、購入商品を購入者に配送する1以上の商品配送業者16と、メッセージ処理サービスを提供する1以上のメッセージプロバイダ18と、商品情報及びマーケット情報並びにサービスを購入取引データ検索システム12から購入する1以上の購入取引情報利用者20とを相互に接続する。
【0025】
ネットワーク11は、ローカルエリアネットワーク(LAN)、メトロポリタンエリアネットワーク(MAN)、及びワイドエリアネットワーク(WAN)(例えば、インターネット)のうちの任意のものを含むことができる。ネットワーク11は、通常、購入取引データ検索システム12と、1以上の商品販売業者14と、商品配送業者16と、メッセージプロバイダ18と、購入取引情報利用者20との各ネットワークノード間での多種多様な異なるメディアタイプ(例えば、テキスト、音声、オーディオ、及びビデオ)の伝送をサポートする複数のコンピューティングプラットフォーム及び配信設備を有する。購入取引データ検索システム12と、商品販売業者14と、商品配送業者16と、メッセージプロバイダ18と、購入取引情報利用者20との各々は、通常、ネットワークノード(例えば、クライアントコンピュータ又はサーバシステム)を介してネットワーク11に接続する。このネットワークノードは、有形のコンピュータ可読型メモリと、プロセッサと、入出力(I/O)ハードウェア(ディスプレイを含みうる)とを備える。
【0026】
商品販売業者14のうちの1以上は、通常、個人及び会社が、ウェブブラウザ等のネットワーク対応ソフトウェアアプリケーションを使用しネットワーク11を通じて商品を直接購入することを可能とする。商品販売業者14のうちの1以上は、個人及び会社が物理的な小売店舗において商品を購入することも可能とすることができる。いずれの場合も、購入取引が完了した後、商品販売業者14は、商品購入者に関連付けられているメッセージアドレスに商品購入確認電子メッセージを送信することができる。この商品購入確認メッセージは、例えば、販売業者名、注文番号、注文日、配送予定日、商品説明、商品名、商品数量、商品価格、消費税、送料、及び注文金額等の商品注文情報を含むことができる。商品販売業者14は、商品を商品配送業者16のうちの一者によって配送してもらうように手配することもできる。購入された商品のタイプに応じて、商品配送業者16は、商品を購入者へ物理的又は電子的に送ることができる。いずれの場合も、商品配送業者16又は商品販売業者14は、購入者に関連付けられているメッセージアドレスに配送通知電子メッセージを送信することができる。この配送通知電子メッセージは、例えば、商品注文情報、請求先住所、配送会社、送付先住所、出荷予定日、配送予定日、及び追跡番号等の商品出荷情報を含むことができる。
【0027】
一般に、購入者のメッセージアドレスは、電子メッセージを送信することができる任意のタイプのネットワークアドレスとすることができる。そのようなメッセージアドレスの例には、電子メール(eメール)アドレス、テキストメッセージアドレス(例えば、電話番号又はテキストメッセージサービスのユーザ識別子などの送信者識別子)、ソーシャルネットワーキングサービスのユーザ識別子、及びファクシミリ電話番号が含まれる。購入に関連した電子メッセージは、通常、購入者のメッセージアドレスに関連付けられているメッセージプロバイダ18の各々を経て購入者へとルーティングされる。メッセージプロバイダ18は、通常、1つ以上のメッセージサーバによって管理される1つ以上のネットワークデータストレージシステムにおいて購入者のメッセージアドレスに関連付けられた各メッセージフォルダに購入者の電子メッセージを保存する。
【0028】
購入取引データ検索システム12は、商品購入者の電子メッセージから購入取引情報を抽出する。いくつかの例では、購入取引データ検索システムは、メッセージプロバイダ18によって管理される商品購入者の各メッセージフォルダにアクセスする許可を商品購入者から得る。別の例では、商品購入者は、購入取引データ検索システム12が、商品購入者のローカル通信デバイス(例えば、パーソナルコンピュータ又はモバイルフォン)に記憶された電子メッセージにアクセスすることを許可する。
【0029】
図2に示すように、購入取引データ検索システム12は、購入者の電子メッセージ22にアクセスする許可を得たのち、複数のステージを通じて電子メッセージ22を処理し、購入取引情報利用者20に提供されることになる処理済みデータ24を生成する。これらのステージには、メッセージ発見ステージ26と、フィールド抽出ステージ28と、データ処理ステージ30とが含まれる。
【0030】
メッセージ発見ステージ26では、購入取引データ検索システム12は、商品購入に関係する電子メッセージ22を特定する。いくつかの例では、ルールベースのフィルタ及び機械学習分類器を用いて、購入関連電子メッセージを特定する。
【0031】
フィールド抽出ステージ28では、購入取引データ検索システム12は、電子メッセージ22のうち、特定されたものから商品購入情報を抽出する。このような商品購入情報の例には、販売業者名、注文番号、注文日、商品説明、商品名、商品数量、商品価格、消費税、送料、注文金額、請求先住所、配送会社、送付先住所、出荷予定日、配送予定日、及び追跡番号が含まれる。
【0032】
データ処理ステージ30では、購入取引データ検索システム12は、種々のタイプの購入取引情報利用者20に従って、抽出された商品購入情報を処理する。例えば、個人ユーザの場合、抽出された商品購入情報は、例えば、そのユーザの購入についての情報が示されるように処理される。この情報は、配送中の注文を追跡するための情報と、購入の詳細にアクセスするための情報と、集約された購入サマリ情報とを含む。広告主の場合、抽出された商品購入情報は、例えば、消費者の購入履歴に基づいて消費者への的を絞った広告を支援できるように処理される。マーケットアナリストの場合、抽出された商品購入情報は、例えば、小売業者、カテゴリ、及びデバイスにわたる匿名の品目レベルの購入詳細を提供できるように処理される。
【0033】
C.購入関連電子メッセージの発見及びフィルタリング
以下で詳細に説明する例では、購入取引情報データ検索システム12は、フィルタ学習システムを有する。このフィルタ学習システムは、購入関連電子メッセージの構造的要素をそれぞれ定める各メッセージテンプレートに従って機械により生成される電子メッセージの組などの、類似した購入関連電子メッセージの各組のヘッダを照合する電子メッセージフィルタを自動的に学習する。
【0034】
図3に、商品注文の確認電子メッセージ32の一例を示す。確認電子メッセージ32は、ヘッダ34及び本文35を含む。ヘッダ34は、以下の標準の構造的要素、すなわち、「From:」と、「To:」と、「Date:」と、「Subject:」とを含む。また、ヘッダは、図3には示されていない以下の構造的要素、すなわち、「Cc:」と、「Content-Type」と、「Precedence:」と、「Message-ID:」と、「In-Reply-To:」と、「References:」と、「Reply-To:」と、「Archived-At:」と、「Received:」と、「Return-Path:」とのうちの1つ以上を含む。本文36は、以下の、販売業者ごとの機械生成による構造的要素、すなわち冒頭の「Dear」36と、情報を有する標準的なテキスト37(すなわち、「Thank you for placing your order ... once your item has been shipped.」)と、「Order Number:」38と、「Order Summary」40と、「Product Subtotal:」42と、「Discounts:」と、「Shipping Charges:」46と、「Tax:」48と、「Total:」50と、「Part No」52と、「Product Price」54と、「Discount」56と、「Part No」58と、「Product Price」60と、「Discount」62とを含む。構造的要素34~50は、固定要素であり、構造的要素52~56の組及び58~62の組は、それぞれ反復する要素において繰り返される同じ固定要素を含む。電子メッセージの非構造的要素(例えば、価格、注文番号、及び品番)は、商品購入情報プロバイダ12のパーサ部によって抽出及び分類されるデータフィールドである。
【0035】
図4に、一例として、1以上の電子メッセージフィルタを自動的に作る方法66を示す。この方法により、コンピュータ装置は、ネットワークノード間で送信され、1以上のメッセージサーバによって管理される1以上のネットワークデータストレージシステムにおいて各ユーザアカウントに関連付けられて記憶されている電子メッセージの集合を処理する。この集合における電子メッセージの各々は、送信者とヘッダと本文とに関連付けられている。
【0036】
図示の例では、コンピュータ装置は、1以上の電子メッセージ送信者の各々に関して図4の方法を実行するようプログラムが組まれている(図4、ブロック68)。送信者は、単一の電子メッセージアドレス(例えば、sales@store.com)又は複数の電子メッセージアドレスに関連付けることができる送信者ドメイン(例えば、@store.com)に対応しているものとすることができる。
【0037】
コンピュータ装置は、ネットワークデータストレージシステムのうちの1つ以上からヘッダをフェッチする(図4、ブロック70)。フェッチされたヘッダは、特定の送信者ドメインに関連付けられる場合もあれば、送信者ドメインとは無関係にフェッチされる場合もある。コンピュータ装置は、フェッチされたヘッダをクラスタへとグループ化する(図4、ブロック72)。このプロセスでは、各送信者につき、フェッチされた各ヘッダは、メッセージ本文の内容とは無関係に、クラスタ内のヘッダ同士の類似度に基づいてクラスタに割り当てられる。1以上のクラスタの各々につき(図4、ブロック74、80)、コンピュータ装置は、1つ以上のネットワークデータストレージシステムから、フェッチされてクラスタに割り当てられたヘッダに関連付けられている電子メッセージのうちの1つ以上の各サンプルを取得する(図4、ブロック76)。また、コンピュータ装置は、機械学習分類器を用いて、サンプル内の検索された1つ以上の電子メッセージのヘッダ及び本文の内容に基づいて、クラスタを受取りに関係するもの又は受取りに関係しないものとして指定する(図4、ブロック78)。コンピュータ装置は、受取りに関係するものとして指定された1以上のクラスタの各々につき、各電子メッセージフィルタを自動的に生成する。各電子メッセージフィルタは、電子メッセージのヘッダ内の件名フィールド文字列の各パターンを照合するそれぞれのルールを定めるとともに、1つ以上のネットワークデータストレージシステムによって管理される1つ以上のデータストレージシステムにおいて各ユーザアカウントに関連して記憶されている電子メッセージのクロールを行う(図4、ブロック82)。
【0038】
図4に示す手法は、3つの主要なステージ、すなわち、(i)ヘッダを、類似した構造的要素を有する電子メッセージのクラスタにグループ化するヘッダ構造学習ステージと、(ii)どのヘッダクラスタが1つ以上の購入関連電子メッセージタイプに対応しているかを正確に特定するサンプルベースの分類ステージと、(iii)フィルタ生成ステージとを有する。(例えば、ヘッダ及び本文を含む)完全な電子メッセージの処理は、ヘッダのみの処理よりも実質的に多くのリソースを消費する。検索され、分類ステージにおいて処理される完全な電子メッセージの数を、サンプリングにより大幅に減らすことができる。このように、図4の方法によれば、従来の手法に比べて、処理リソース、データストレージリソース、ネットワークリソース、及び電子メッセージフィルタを作るのに必要なフィルタ生成回数を大幅に減らすことができる。加えて、本システムは、ヘッダと、ヘッダクラスタに対応する(通常、受領等の機械生成の電子メッセージに対応する)完全な電子メッセージの少数のサンプルとのみを取得するため、ユーザの個人的な電子メッセージを不注意で取得してしまう可能性が低く、したがってユーザプライバシは本質的に守られる。
【0039】
この手法は、各クラスタに関連付けられる完全な電子メッセージのサンプルのみに基づいてヘッダが分類されているものの、高精度なフィルタを生成するために機械生成の電子メッセージの本質的な構造的性質を利用するものである。特に、ヘッダ構造学習ステージでは、機械生成の電子メッセージに適用されると、同じメッセージテンプレートによって生成されている可能性のある電子メッセージヘッダの密なクラスタを生成することができる。結果として、分類ステージにおいて各クラスタを表すのに必要なのは、ほんのわずか又はたった1つの、サンプルとなる完全な電子メッセージのみである。
【0040】
図5に、図4のフィルタ構築方法の複数のステージにおいて処理されるデータの一例を示す。この例では、フェッチするステージ84は、特定の送信者ドメインに対応する電子メッセージの例としての集合内の1000万個のヘッダ全てをフェッチすることを含む。クラスタリングステージ86は、1000万個のヘッダを200個のヘッダクラスタに分けることを含む。クラスタ分類ステージ88は、200個のクラスタの各々につき10通の電子メッセージからなる所定の固定的なサイズのサンプルに対応する2000通の完全な電子メッセージを取得することと、機械学習分類器を用いてそれぞれの電子メッセージサンプルを分類することとを含む。フィルタ生成ステージ90は、購入に関連するものとして分類される各クラスタのフィルタを構築することを含む。したがって、この仮定的な例では、電子メッセージフィルタを生成するために処理される完全な電子メッセージの数(すなわち、2000通)は、この集合における電子メッセージの総数のたった0.02%に過ぎない。結果として、従来の手法に比べて、処理リソース、データストレージリソース、ネットワークリソース、及びフィルタ生成回数が大幅に削減される。
【0041】
いくつかの例では、これらの実質的な利点は、少なくとも部分的に、コンピュータ装置が購入関連電子メッセージのヘッダを特定する方法を改良する特定のコンピュータ可読型命令をコンピュータ装置にプログラミングすることから得られる。場合によっては、コンピュータ装置の購入関連ヘッダの識別能力は、コンピュータ装置に、電子メッセージヘッダを密なクラスタに分類させ、次いで、機械学習分類器を用いて、各ヘッダクラスタに関連付けられる完全な電子メッセージの少数のサンプルに基づいて購入関連ヘッダクラスタを識別させる特定の命令をコンピュータ装置に設定することによるものである。
【0042】
図6は、図4の電子メッセージフィルタ構築プロセスの一例98のフロー図である。この方法によれば、コンピュータ装置は、ネットワークノード間で送信され、1つ以上のメッセージサーバによって管理される1つ以上のネットワークデータストレージシステムにおいて各ユーザアカウントに関連付けられて記憶されている電子メッセージの集合を処理する。この集合における電子メッセージの各々は、送信者とヘッダと本文とに関連付けられている。
【0043】
この例では、コンピュータ装置は、1以上の電子メッセージ送信者からの電子メッセージに基づいて、図6の方法の1つ以上の要素を実行できるようにプログラミングされている(図6、ブロック100)。前述のとおり、送信者は、単一の電子メッセージアドレス(例えば、sales@store.com)又は複数の電子メッセージアドレスに関連付けることができる送信者ドメイン(例えば、@store.com)に対応したものとすることができる。
【0044】
図6の方法によれば、コンピュータ装置(例えば、クライアントネットワークノード)は、1以上のメッセージサーバから、送信者に関連付けられ、複数のユーザアカウントにわたってネットワークデータストレージシステムのうちの1つ以上に記憶されている集合内のヘッダをフェッチする(図6、ブロック102)。ある例では、コンピュータ装置は、電子メッセージの集合内の全ての電子メッセージヘッダをフェッチする。別の例では、コンピュータ装置は、この集合内の電子メッセージヘッダの1つ以上のサンプルをフェッチする。
【0045】
ヘッダをフェッチする前に、コンピュータ装置は、通常、ユーザから直接、又は、アクセス許可サービス等の第三者サービスにより間接的にユーザのメッセージアカウントにアクセスする許可を取得する。コンピュータ装置は、その後、アクセス許可により、ユーザのメッセージアカウントから送信者に関連付けられたヘッダをフェッチする。いくつかの例では、コンピュータ装置は、(例えば、電子メッセージAPIを呼び出すことによって)ユーザのメッセージアカウントのクロールを行い、電子メッセージヘッダの内容を解析し評価する電子メッセージクローリングエンジンを実装する。いくつかの例では、電子メッセージクローリングエンジンは、「From:」フィールド及び「Subject:」フィールドの一方又は両方を解析し、1つ以上のフィルタ(例えば、正規表現フィルタ)を解析された結果に適用して、対象の送信者に対応するヘッダを特定する。
【0046】
コンピュータ装置は、クラスタを、クラスタリングデータ空間内のそれぞれの密な領域と関連付ける密度ベースのクラスタリングプロセスに基づいて、フェッチされたヘッダをクラスタにグループ化する(図6、ブロック104)。クラスタリングデータ空間において、フェッチされたヘッダは、フェッチされたヘッダの各ペア間の類似度に基づいて互いに離れている。一般的に、任意の密度ベースのクラスタリングプロセスを用いることができる。いくつかの例では、図8及び図9に関連して後述する反復型クラスタリングプロセスを用いて、フェッチされたヘッダをクラスタに分ける。別の例では、コンピュータ装置は、ノイズを認める密度ベースの空間クラスタリング(DBSCAN:Density-Based Spatial Clustering of Applications with Noise)というクラスタリングプロセスを用いて、フェッチされたヘッダをクラスタに分ける。
【0047】
いくつかの例では、コンピュータ装置は、ヘッダをクラスタに分ける前に、電子メッセージヘッダ内の件名フィールドの前処理を行う。いくつかの例では、コンピュータ装置は、空白スペースによって隔てられた、記号(例えば、英数字を表す記号)の連続する文字列を抽出することによってヘッダ内の件名フィールドのテキストベースの内容をトークン化する。連続する記号文字列は、通常、単語及び数字に対応する。いくつかの例では、コンピュータ装置は、大文字を小文字に置き換えることと、句読点を削除することと、電子メッセージヘッダ内の整数及び実数のパターンに合うトークンをワイルドカードトークンに置き換えることとによって、件名フィールドの内容を正規化する。いくつかの例では、整数は「INT」というワイルドカードトークンに置き換えられ、実数は「FLOAT」というワイルドカードトークンに置き換えられる。件名フィールドの正規化により、コンピュータ装置が購入関連電子メッセージを見いだす能力が向上する。
【0048】
いくつかの例では、フェッチされたヘッダの各ペア間の類似度は、電子メッセージのヘッダ内の文字列のペアの内容の類似度及び相違の度合いを比較する内容類似度の基準に基づいて求められる。これらの例のうちのいくつかでは、各ヘッダの件名フィールドは、バイグラム(すなわち、2文字の語句)の組に分解される。これらの例のうちのいくつかでは、類似度の基準は、ジャッカード(Jaccard)類似度係数に対応する。ジャッカード類似度係数は、2つのヘッダ間の類似度を、両ヘッダのバイグラムの共通集合のサイズを和集合のサイズで割った結果に基づいて測るものである。
【0049】
ヘッダがクラスタに分けられたのち、コンピュータ装置は、1つ以上のクラスタの各々につき、以下のプロセスを実行する(図6、ブロック108)。
【0050】
コンピュータ装置(例えば、クライアントネットワークノード)は、メッセージサーバのうちの1つ以上から、クラスタ内のフェッチされたヘッダに関連付けられ、ネットワークデータストレージシステムのうちの1つ以上に記憶されている集合内の電子メッセージのそれぞれのサンプルを取得する(図6、ブロック108)。いくつかの例では、コンピュータ装置は、各クラスタにつき、所定の数(例えば、10通、5通、又は1通)の電子メッセージを取得する。他の例では、コンピュータ装置は、例えば、クラスタ内のヘッダを特徴付ける統計的な基準に応じた、各クラスタについて変えられる数の電子メッセージを取得する。
【0051】
コンピュータ装置は、機械学習分類器により、1以上の購入関連ラベルと、関連する信頼度とを含むラベルの所定の組の各ラベルを用いて、検索されたサンプル内の各電子メッセージを分類し、当該クラスタのそれぞれの分類データセットを生成する(図6、ブロック110)。
【0052】
いくつかの例では、機械学習分類器は、教師あり機械学習モデル(例えば、ロジスティック回帰モデル又は単純ベイズモデル)により、購入関連電子メッセージのバッグオブワーズ(bag-of-words)表現についての学習がなされている。これらの例のうちのいくつかでは、バッグオブワーズ表現は、特定の購入関連電子メッセージを記述する記述的特徴を含む。いくつかの例では、各特徴は、文字列(例えば、単語)及びその文字列が所定の辞書に現れる回数を表す。いくつかの例では、その辞書は、件名フィールド内の単語又はnグラムと、送信者アドレスの態様(例えば、「@」記号の前のテキスト)と、メッセージ本文内の単語と、メッセージ本文内の画像の数とを含む。
【0053】
いくつかの例では、ラベルの所定の組は、電子メッセージが受取りに関係するものか、又は受取りに関係しないものであるかを示すラベルからなる。このタイプの一例としてのラベルセットは、{「受取り」、「不明」}である。他の例では、機械学習分類器は、電子メッセージを複数の購入関連電子メッセージのカテゴリに分類する。このタイプの一例としてのラベルセットは、以下のラベルすなわち{「注文通知」、「配送通知」、「払戻し」、「キャンセル」、「取寄せ注文」、「クーポン」、「販売促進」、「不明」}のうちのいくつか又は全てを含む。
【0054】
いくつかの例では、機械学習分類器は、各クラスタにつき、サンプリングされた電子メッセージの各々に、所定のラベルセットから選択されたそれぞれの予測されるラベル、及び、予測されたラベルに関連付けられる信頼度を割り当てる。各クラスタのそれぞれの分類データセットは、電子メッセージの対応するサンプルに関する予測されたラベル及びそれらの関連付けられたラベルの信頼度のセットを含む。
【0055】
コンピュータ装置は、それぞれの分類データセットをそれぞれのクラスタラベルにマッピングする少なくとも1つのクラスタ分類ルールに基づいて、各クラスタに、所定のラベルセットから選択されたそれぞれのクラスタラベルを割り当てる(図6、ブロック112)。いくつかの例では、クラスタ分類ルールは、コンピュータ装置に対し、1つ以上の信頼因子に基づく特定のラベルを使ってクラスタのラベル付けをするように命令する。信頼因子は、同じラベルが割り当てられた対応するサンプル内の電子メッセージの数、及び、割り当てられたラベルに関連付けられた信頼度などである。このようなクラスタ分類ルールの一例に従って、特定のラベルが、信頼度閾値(例えば、98%以上)を満たすそれぞれの信頼度を持ってサンプル内の全ての電子メッセージに割り当てられた場合、クラスタは、その特定のラベルでラベル付けされる。いくつかの例では、特定のクラスタの信頼因子が信頼閾値を満たさない場合、クラスタ内の電子メッセージは手動分類用としてのフラグが付けられる。
【0056】
いくつかの例では、特定の電子メッセージの予測されたラベルが、信頼度閾値未満であると判断されると、コンピュータ装置は、手動分類用としてその特定の電子メッセージにフラグを付ける。いくつかの例では、手動でラベルが付けられた電子メッセージを用いて、機械学習分類器の学習用セットを拡張する。
【0057】
コンピュータ装置は、購入関連ラベルが割り当てられた各クラスタにつき、購入関連電子メッセージをフィルタリングするそれぞれのフィルタを自動的に生成する(図6、ブロック116)。いくつかの例では、フィルタを生成するプロセスは、それぞれのクラスタにおけるヘッダ内の共通の部分文字列を特定することと、特定された部分文字列に基づいて、それぞれのフィルタ(例えば、正規表現フィルタ)を生成することとを含む。各フィルタは、通常、電子メッセージ内の件名フィールド文字列のそれぞれのセットの一致パターンを定める。いくつかの例では、シーケンスマイニングを用いて、ヘッダ内のnグラム(すなわち、テキストの所与のシーケンスに関するn個のアイテムが連続するシーケンス)の解析に基づいてフィルタを生成する。これらの例は、各クラスタ内のヘッダの件名フィールドに現れるnグラムのそれぞれの個数を求めることと、それぞれのフィルタに、顕著な個数(例えば、そのnグラムは、高い割合でこのヘッダ内に現れる)に関連付けられるnグラムのうちの1つ以上を組み込むこととを含む。これらの例のうちのいくつかでは、シーケンスマイニングは、ヘッダの件名フィールド内のバイグラムを解析することを含む。各クラスタからそれぞれのフィルタを自動的に生成する方法の一例は、図11に関連して以下に説明する。
【0058】
各購入関連クラスタのそれぞれのフィルタを生成した後、プロセッサは、1つ以上のメッセージサーバによって管理される1つ以上のネットワークデータストレージシステムにおいて各ユーザアカウントに関連付けられて記憶されている電子メッセージのセットから購入関連電子メッセージを選択するために、少なくとも1つのネットワーク通信チャネル内にフィルタのうちの1つ以上を設ける(インストールする)ことができる。いくつかの例では、コンピュータ装置は、ユーザのメッセージアカウントのクロールを行い、電子メッセージヘッダの内容を解析し評価する電子メッセージクローリングエンジンを実装する。いくつかの例では、電子メッセージクローリングエンジンは、ユーザの電子メッセージの「From:」というヘッダフィールド及び「Subject:」というヘッダフィールドを解析し、生成されたフィルタ(例えば、正規表現フィルタ)のうちの1つ以上を解析された結果に適用して、対象の送信者に対応する購入関連ヘッダを識別する。その後、電子メッセージクローリングエンジンは、識別された購入関連ヘッダに対応する完全な電子メッセージを検索する。いくつかの例では、各フィルタは、1つ以上の電子メッセージ本文抽出パーサのそれぞれのセットに関連付けられる。これらの例では、そのセット内の電子メッセージのうちのそれぞれ1つに一致する各フィルタに関して、コンピュータ装置は、一致したフィルタに関連付けられた1つ以上の電子メッセージ本文抽出パーサを用いて電子メッセージ本文を解析することを試みる。メッセージ本文抽出パーサの例は、米国特許第8,844,010号、米国特許第9,563,915号及び米国特許第9,563,904号に記載されている。
【0059】
図7は、メッセージフィルタを構築するシステム118の例の説明図である。システム118は、ネットワークノード間で送信され、それぞれのメッセージサーバ(例えば、メッセージプロバイダ1、メッセージプロバイダ2、...、メッセージプロバイダM)によって管理される1つ以上のネットワークデータストレージシステム122、124、126において各ユーザアカウント(例えば、alice、bob、clark、dan、eric、peter、及びrob)に関連付けられて記憶されている電子メッセージの集合を処理する。
【0060】
システム118は、1人以上の送信者の各々につき、送信者に関連付けられ、複数のユーザアカウントにわたってネットワークデータストレージシステム122~126のうちの1つ以上に記憶されている電子メッセージの集合内のヘッダのそれぞれのサンプルをフェッチするヘッダサンプラ120を有する。送信者に関連付けられている全てのヘッダをフェッチするのではなく、利用可能なヘッダのサンプルのみをフェッチすることにより、ヘッダサンプラ120は、処理リソース、データストレージリソース、ネットワークリソース、及び、電子メッセージフィルタを作るのに必要な生成回数を削減することでコンピュータ装置の動作を向上させる。他の例では、ヘッダサンプラ120は、送信者ドメインにわたるヘッダのサンプルをフェッチする。
【0061】
プリプロセッサ128は、ヘッダをクラスタに分ける前に電子メッセージヘッダのフェッチされたサンプル内の件名フィールドの前処理を行う。いくつかの例では、プリプロセッサ128は、図6の方法について上述のフェッチプロセスに関して上述した前処理ステップのうちの1つ以上を実行する。いくつかの例では、プリプロセッサ122はまた、同一の件名フィールドコンテンツを有する全てのヘッダを単一のインスタンスとして扱うことによりヘッダデータの重複を取り除く。このようにして、プリプロセッサ128は、処理リソース、データストレージリソース、ネットワークリソース、及び電子メッセージフィルタを構築するのに必要な生成回数を更に削減する。
【0062】
クラスタエンジン130は、送信者ドメインによりサンプル内の前処理されたヘッダをクラスタに分ける。いくつかの例では、グループ分けは、クラスタを、クラスタリングデータ空間内のそれぞれの密な領域と関連付ける密度ベースのクラスタリングプロセスに基づく。クラスタリングデータ空間内では、前処理されたヘッダは、前処理されたヘッダのそれぞれのペア間の類似度に基づいて互いに離れている。いくつかの例では、フェッチされたヘッダのそれぞれのペア間の類似度は、電子メッセージのヘッダ内の内容の類似度及び相違度を比較する内容類似度の基準に基づいて求められる。比較される一例としてのヘッダ内容は、件名フィールド及び送信者メッセージアドレス内のテキスト(例えば、文字列、nグラム、及び/又は語)を含む。これらの例のうちのいくつかでは、2つのヘッダの件名フィールドの類似度は、ジャッカード類似度係数を用いて測定される。ジャッカード類似度係数は、両ヘッダの類似度を、件名フィールド内のバイグラムの共通部分のサイズを和集合のサイズで割った結果に基づいて測るものである。
【0063】
図8に示すように、前処理されたヘッダの各ペア間で計算される類似度スコアは、ヘッダが、クラスタリングデータ空間132内で互いにどれほど近接しているかを定めるものである。いくつかの例では、クラスタリングプロセスは、グラフ内で接続される要素を特定することを含む。それらの接続類似度スコアが類似度閾値レベルよりも大きい場合、(ヘッダを表す)円形ノード間には関連性がある。図8は、前処理された20個のヘッダのサンプルを、(破線で囲まれて示されている)12個のクラスタに分けた例を示している。
【0064】
図9に、変えられる類似度閾値を用いた代替的なクラスタリングプロセスを示す。これは、複数の送信者によって生成される機械生成の電子メッセージ内のそれぞれの可変性を本質的に表す、ヘッダ間の関連性の最適なセットを反復的に求めるためのものである。
【0065】
クラスタリングプロセスは、現在の類似度閾値レベルを類似度閾値の初期値Tに設定することで開始する(図9、ブロック140)。いくつかの例では、類似度閾値は、ジャッカード類似度基準に対応する。いくつかの例では、類似度閾値の初期値Tは、0から1の類似度尺度に関して初期レベルに設定される。いくつかのこれらの例では、類似度閾値の初期値Tは、0.6≦T≦0.8の範囲である。
【0066】
次に、サンプル内のヘッダは、現在の閾値レベルTに基づいてセットC内のクラスタに分けられ(図9、ブロック142)、セットC内の分けられたクラスタのセット内のクラスタの数Nが記憶される(図9、ブロック144)。いくつかの例では、ヘッダを分類するプロセスは、それぞれのメッセージヘッダの件名フィールド内のテキスト(例えば、文字列、nグラム、及び/又は単語)の比較に基づいて、フェッチされたメッセージヘッダのそれぞれのペア間の類似度スコアを計算することと、計算された類似度スコアと現在の閾値レベルとの比較に基づいて、フェッチされたヘッダをクラスタに分けることとを含む。
【0067】
プロセスの第2回目の反復は、別の閾値Tを用いて繰り返される(図9、ブロック146、148、142、144)。いくつかの例では、各反復につき、現在の閾値は、それまでの閾値よりも小さい。閾値のセット{T}は、(例えば、数式又はアルゴリズムに基づいて)動的に定めることができるか、前もって定めておくことができる。いくつかの例では、所定の値(例えば、0から1の類似度尺度において0.1)だけ、それまでの閾値をデクリメントすることによって、一連の閾値の各々が求められる。
【0068】
クラスタリングプロセスの第2回目の反復において、サンプル内のヘッダは、現在の閾値レベルTに基づいてクラスタのセットCに再び分けられ(図9、ブロック142)、分けられたクラスタCのセット内のクラスタ数Nが記憶される(図9、ブロック144)。ユニークな(一意の、独自の)件名を含むヘッダからなるC内のクラスタが識別され、ユニークな件名を含むヘッダからなるC内の全ての識別されたヘッダ数Mが求められる(図9、ブロック150)。いくつかの例では、件名がクラスタ内の他のヘッダの件名と共通する単語を一切含まない場合、ヘッダは、ユニークな件名を有していると判断される。他の例では、ユニークな件名フィールドラインは、クラスタ内のヘッダの件名フィールドライン内の文字列又はnグラムの間の比較等、件名フィールドコンテンツの他のテキストベースの比較に基づいて識別される。
【0069】
ユニークな件名を有するヘッダからなるクラスタ内のヘッダ数Mが、閾値MTHよりも大きい場合(図9、ブロック152)、ユニークな件名の数が多すぎると見なされ、複数のクラスタのうちの先行するセット内のクラスタ(すなわち、Ci-1)が、ヘッダの現在のサンプルの出力クラスタセット160として、クラスタエンジン130から返される(図9、ブロック156)。また、現在の反復におけるクラスタ数N及び先行する反復におけるクラスタ数Ni-1が、類似度基準を満たす場合(図9、ブロック152)、クラスタの数は収束したと見なされ、複数のクラスタのうち、前回のセット内のクラスタ(すなわち、Ci-1)が、ヘッダの現在のサンプルの出力クラスタセット160として、クラスタエンジン130により返される(図9、ブロック156)。
【0070】
いくつかの例では、類似度の基準は、現在のクラスタ数及び先行するクラスタ数の間の差の比を、先行する反復におけるクラスタの数と比較する。いくつかのこれらの例では、類似度基準は、以下の式に対応する。
【数1】
【0071】
ブロック152及びブロック154におけるテストがいずれも満たされない場合、クラスタリングプロセスの別の反復が、次のクラスタリング閾値を用いて繰り返される(図9、ブロック148)。
【0072】
図7を再び参照すると、クラスタエンジン130が、ヘッダのサンプルをクラスタ160に分類した後、電子メッセージサンプラ162は、各ヘッダクラスタ160内のヘッダのそれぞれのサンプルを選択し、メッセージプロバイダから、選択されたヘッダに関連付けられている完全な電子メッセージ164を取得する。その結果は、ヘッダ160の各クラスタiに関する電子メッセージ164のそれぞれのサンプルiである。
【0073】
電子メッセージ164の各サンプルiに関して、電子メッセージ分類器166は、サンプル内の要素の電子メッセージの各々を分類する。いくつかの例では、電子メッセージ分類器166は、図4及び図6に関して上述したタイプの機械学習分類器である。機械学習分類器は、ラベル及び関連付けられた信頼度のそれぞれのセット168を、各サンプル内の電子メッセージ164に割り当てる。いくつかの例では、特定の電子メッセージの予測されたラベルが、信頼度閾値未満であるとの判断に応じて、コンピュータ装置は、手動の分類用として特定の電子メッセージにフラグを付ける(図7、ブロック170)。いくつかの例では、手動でラベル付けがされた電子メッセージを用いて、電子メッセージ分類器166に学習させる。
【0074】
いくつかの例では、クラスタ分類ルールは、コンピュータ装置に対し、同じラベルを割り当てられた対応するサンプル内の電子メッセージの数、及び、割り当てられたラベルに関連付けられた信頼度などの1つ以上の信頼因子に基づく特定のラベルを用いてクラスタにラベル付けするように命令する。いくつかの例では、信頼因子が、1つ以上の信頼閾値を満たさない場合(図7、ブロック172)、クラスタ内の電子メッセージは、手動分類用としてのフラグが付けられる(図7、ブロック170)。
【0075】
それぞれの購入関連ラベルが割り当てられた各クラスタに関して(図7、ブロック174)、コンピュータ装置は、購入関連電子メッセージをフィルタリングするそれぞれのフィルタ175を自動的に生成する(図7、ブロック176)。
【0076】
図示の例では、あるクラスタに各購入関連ラベルが割り当てられない場合(図7、ブロック174)、コンピュータ装置は、ヘッダ160の次のクラスタに関する電子メッセージ164の次のサンプルi=i+1を処理することに直接進む(図7、ブロック177)。このプロセスでは、コンピュータ装置は、次のサンプルi=i+1内の構成要素の電子メッセージの分類に基づいてクラスタラベリングプロセスを繰り返す(図7、ブロック166~172)。
【0077】
代替的な例では、電子メッセージ164の次のサンプルi=i+1を処理することに直接進む(図7、ブロック177)のではなく、コンピュータ装置は、購入関連ラベルが割り当てられていない各クラスタに関して、非商品購入関連電子メッセージをフィルタリングするそれぞれのフィルタ179を自動的に生成する(図7、ブロック178)。これらの例のうちのいくつかでは、非商品購入関連電子メッセージフィルタ179は、ヘッダサンプラ120の構成要素(図7に示されている)又は別個のプリフィルタの部分として、メッセージフィルタ構築システム118のフロントエンドに設けられる(インストールされる)。非商品購入関連電子メッセージフィルタ179を用いて、ヘッダサンプラ120によってフェッチされた非商品購入関連電子メッセージのヘッダを取り除く。このようにして、それまでに識別された非商品購入関連電子メッセージに対応するヘッダを有する電子メッセージを取り除き、処理リソース、データストレージリソース、ネットワークリソース、及び、購入関連電子メッセージフィルタを構築するのに必要な生成回数を更に削減することができる。
【0078】
図10に、図7のメッセージフィルタ構築システム118の要素が組み込まれ、さらに、フェッチされたヘッダデータのサンプルからフィルタを構築する反復プロセスを実装したメッセージフィルタ構築システム180の一例を示す。
【0079】
この例では、ヘッダサンプラ120は、1人以上の送信者の各々につき、送信者に関連付けられ、複数のユーザアカウントにわたってネットワークデータストレージシステム122~126のうちの1つ以上において記憶されている電子メッセージの集合内のヘッダの各サンプルをフェッチする。他の例では、ヘッダサンプラ120は、送信者ドメインにわたってヘッダのサンプルをフェッチする。プリプロセッサ128は、ヘッダをクラスタに分ける前に、電子メッセージヘッダのフェッチされたサンプル内の件名フィールドの前処理をする。クラスタエンジン130は、クラスタを、クラスタリングデータ空間内のそれぞれの密な領域と関連付ける密度ベースのクラスタリングプロセスに基づいて、前処理されたヘッダをクラスタ160に分ける。クラスタリングデータ空間内では、前処理されたヘッダは、前処理されたヘッダのそれぞれのペア間の類似度に基づいて互いに離れている。購入関連ラベルが割り当てられたヘッダクラスタ160の各セットiに関して、コンピュータ装置は、図7に関して上述した方法に従って、購入関連電子メッセージをフィルタリングするフィルタのそれぞれのセットiを自動的に生成する(例えば、図7、ブロック176を参照)。
【0080】
フィルタ構築プロセスの第1回目の反復において、メッセージフィルタ構築システム180は、送信者に関連付けられたヘッダのそれぞれの第1のサンプルから、各送信者に関するフィルタのそれぞれの第1のセット(すなわち、{フィルタセットi})を構築する。
【0081】
このプロセスは、各送信者に関する電子メッセージ集合内のヘッダのそれぞれの第2のサンプルに関して繰り返される。フィルタ構築プロセスのこの第2の反復では、メッセージフィルタ構築システム180は、送信者に関連付けられたヘッダのそれぞれの第2のサンプルから、各送信者に関するフィルタのそれぞれの第2のセット(すなわち、{フィルタセットi+1})を構築する。
【0082】
フィルタ結果は、送信者ごとに比較される(図10、ブロック182)。このプロセスにおいて、コンピュータ装置は、各送信者に関して、当該送信者に対応する集合内の全てのヘッダのそれぞれのセットを検索する(図10、ブロック183)。送信者に関するフィルタのそれぞれの第1のセット及び第2のセット(すなわち、{フィルタセットi}及び{フィルタセットi+1})は、その後、{フィルタ結果i}及び{フィルタ結果i+1}を生成するために、送信者に対応する集合内の全てのヘッダのそれぞれのセットに適用される。
【0083】
フィルタリング結果が似ている場合(図10、ブロック184)、フィルタ構築プロセスは終了する(図10、ブロック186)。いくつかの例では、フィルタの第1のセット及び第2のセット内のどのフィルタにも一致しない、ヘッダの完全なセット内で検索されたヘッダの数の比較に基づいて、第1のフィルタリング結果と第2のフィルタリング結果との類似度が求められる。フィルタの第1のセット及び第2のセットに一致しないヘッダの数が類似している場合、フィルタのセットは十分類似であると見なされ、フィルタ構築プロセスは終了する(図10、ブロック186)。
【0084】
フィルタ結果が似ていない場合(図10、ブロック184)、フィルタ構築プロセスは、以下のように続く。いくつかの例では、比較されたフィルタセット間で共有されるフィルタが、電子メッセージのフィルタリングで用いるためにメモリ188内に保存される(図10、ブロック190)。前のヘッダサンプルサイズを増やし(図10、ブロック192)、各送信者に関するヘッダのより大きいそれぞれのサンプルを用いて、フィルタ構築プロセスの別の反復が実行される(図10、ブロック194)。
【0085】
図11に、ヘッダクラスタ198のためのフィルタを生成するプロセスを示す。いくつかの例では、コンピュータ装置は、各購入関連クラスタ(例えば、購入関連ラベルによりラベル付けされた各クラスタ)について本プロセスを実行する(図11、ブロック200)。コンピュータ装置は、クラスタ198内の全てのヘッダの件名内に各バイグラムが合計何回現れるかを数える(図11、ブロック202)。コンピュータ装置は、クラスタ198からヘッダを選択する(図11、ブロック204)。選択されたヘッダの件名フィールド内の各バイグラムに関して、コンピュータ装置は、バイグラムがヘッダの件名フィールド内に現れる頻度についてのそれぞれの基準を求める(図11、ブロック206)。そのような頻度基準の例として、バイグラムを含む件名フィールドの数を、バイグラムを含まない件名フィールドの数で割った比と、バイグラムを含む件名フィールドの数を件名フィールドの合計数で割ることによる割合と、バイグラムを含む件名フィールドが件名フィールド内に現れる頻度の比とを含む。コンピュータ装置は、閾値(例えば、80%)を満たすそれぞれの頻度基準に関連付けられた選択されたヘッダ内のバイグラムの各々を組み込むことによって、クラスタのフィルタを構築する(図11、ブロック208)。コンピュータ装置は、クラスタのフィルタに組み込まれたバイグラムのセット(集合、組)が収束したか否かを判断する(図11、ブロック210)。いくつかの例では、バイグラムのセットは、最後の反復において変化しなかった場合に、収束したと見なされる。バイグラムのセットが収束した場合(図11、ブロック210)、セット内のバイグラムは、クラスタのフィルタに変換される(図11、ブロック212)。いくつかの例では、バイグラムは、フィルタを定める1つ以上の正規表現に変換される。バイグラムのセットが収束していない場合(図11、ブロック210)、このプロセスは、クラスタ198から選択された別のヘッダに関して繰り返される(図11、ブロック204~210)。
【0086】
図11のフィルタ構築プロセスの他の例では、バイグラムを使う代わりに、ヘッダ件名フィールドの解析が、件名フィールド内に現れる文字列、nグラム、及び単語を含む、他のテキストの特徴に対して行われる。
【0087】
[III.コンピュータ装置の例]
コンピュータ装置は、本明細書において説明したプロセスの機能を実行する改良された処理システムを提供できるようにプログラミングされる。いくつかの例では、電子メッセージフィルタを構築するプロセス及び1つ以上の電子メッセージフィルタで電子メッセージをフィルタリングするプロセスは、別個のかつ異なるコンピュータ装置によって実行される。他の例では、同じコンピュータ装置が、これらのプロセスを実行する。
【0088】
図12に、コンピュータシステム320によって実装されるコンピュータ装置の一例示の実施形態を示す。コンピュータシステム320は、処理ユニット322と、システムメモリ324と、処理ユニット322をコンピュータシステム320の様々な要素に接続するシステムバス326とを備えている。処理ユニット322は、1つ以上のデータプロセッサを含むことができ、それらのデータプロセッサの各々は、様々な市販のコンピュータプロセッサのうちの任意の1つの形態とすることができる。システムメモリ324は、通常、ソフトウェアアプリケーションに利用可能なアドレスを規定するソフトウェアアプリケーションアドレス指定空間に関連付けられた1つ以上のコンピュータ可読媒体を含む。システムメモリ324は、コンピュータシステム320の起動ルーチンを含む基本入出力システム(BIOS)を記憶する読み出し専用メモリ(ROM)と、ランダムアクセスメモリ(RAM)とを備えることができる。システムバス326は、メモリバス、周辺バス又はローカルバスとすることができ、PCI、VESA、Microchannel(マイクロチャネル)、ISA、及びEISAを含む様々なバスプロトコルのうちの任意のものと互換性を有することができる。コンピュータシステム320は、永続的記憶メモリ328(例えば、ハードドライブ、フロッピードライブ、CD-ROMドライブ、磁気テープドライブ、フラッシュメモリデバイス、及びデジタルビデオディスク)も備える。この永続的記憶メモリは、システムバス326に接続され、データ、データ構造体及びコンピュータ実行可能命令の不揮発性記憶装置又は永続的記憶装置を提供する1つ以上のコンピュータ可読媒体ディスクを含む。
【0089】
ユーザは、1つ以上の入力デバイス330(例えば、1つ以上のキーボード、コンピュータマウス、マイクロフォン、カメラ、ジョイスティック、物理運動センサ、及びタッチパッド)を用いて、コンピュータシステム320と対話する(例えば、コマンド又はデータを入力する)ことができる。情報は、表示コントローラ334によって制御される表示モニタ332上でユーザに提示されるグラフィカルユーザインタフェース(GUI)を通じて提示することができる。コンピュータシステム320は、他の入出力ハードウェア(例えば、スピーカ及びプリンタ等の周辺出力デバイス)も備えることができる。コンピュータシステム320は、ネットワークアダプタ336(「ネットワークインタフェースカード」又はNICともいう)を通じて他のネットワークノードに接続する。
【0090】
複数のプログラムモジュールは、システムメモリ324内に記憶することができ、これらのモジュールは、アプリケーションプログラミングインタフェース338(API)、オペレーティングシステム(OS)340(例えば、Microsoft Corporation社(米国ワシントン州レドモンド所在)から入手できるWindows(登録商標)オペレーティングシステム)、電子メッセージフィルタを構築するプロセス及び電子メッセージフィルタで電子メッセージをフィルタリングするプロセスのうちの1つ以上を実行するようにコンピュータシステム320をプログラミングする1つ以上のソフトウェアアプリケーションを含むソフトウェアアプリケーション341、ドライバ342(例えば、GUIドライバ)、ネットワークトランスポートプロトコル344、及びデータ346(例えば、入力データ、出力データ、プログラムデータ、レジストリ、及び構成設定)を含む。
【0091】
開示対象のシステム、方法、プロセス、機能的動作、及び論理フローを含む本明細書において説明された主題の例は、入力を操作し、出力を生成することによって機能を実行するように動作可能なデータ処理装置(例えば、コンピュータハードウェア及びデジタル電子回路)に実装することができる。また、本明細書において説明された主題の例は、データ処理装置による実行のために、1つ以上の有形で非一時的な搬送媒体(例えば、機械可読型記憶デバイス、基板、又はシーケンシャルアクセスメモリデバイス)上で符号化されるコンピュータ命令のうちの1つ以上のセットとして、ソフトウェア又はファームウェアに有形なものとして具現化することができる。
【0092】
本明細書において説明された特定の実施態様の詳細は、特定の発明の特定の実施形態に特有のものである場合があり、特許請求される任意の発明の範囲を限定するものとみなされるべきではない。例えば、別々の実施形態に関して説明された特徴は、単一の実施形態にも組み込むことができ、単一の実施形態に関して説明された特徴は、複数の別個の実施形態内でも実施することができる。さらに、特定の順序で実行されるステップ、タスク、動作、又はプロセスの開示は、必ずしも、ステップ、タスク、動作、又はプロセスがその特定の順序で実行されることを必要とはせず、むしろ、いくつかの場合では、開示されているステップ、タスク、動作、及びプロセスのうちの1つ以上は、異なる順序で、又は複数のタスクスケジュールに従って、又は並行して実行することができる。
【0093】
[IV.結論]
本明細書において説明された実施形態によれば、購入関連電子メッセージフィルタを構築し、購入関連電子メッセージをフィルタリングする改良されたシステム、方法、及びコンピュータ可読媒体が提供される。
【0094】
他の実施形態も、特許請求の範囲に含まれる。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12