(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-08-03
(54)【発明の名称】ノイズの多いデータセットのマスタ企業特性データベースへの集約
(51)【国際特許分類】
G06F 16/215 20190101AFI20230727BHJP
【FI】
G06F16/215
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022580328
(86)(22)【出願日】2021-06-29
(85)【翻訳文提出日】2023-02-10
(86)【国際出願番号】 US2021039681
(87)【国際公開番号】W WO2022006151
(87)【国際公開日】2022-01-06
(32)【優先日】2020-06-29
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】520221017
【氏名又は名称】6センス インサイツ,インコーポレイテッド
(74)【代理人】
【識別番号】110000659
【氏名又は名称】弁理士法人広江アソシエイツ特許事務所
(72)【発明者】
【氏名】ヴォ,タイ
(72)【発明者】
【氏名】ヴィジャヤーギャ,ニティーン
(72)【発明者】
【氏名】シウン,ダニエル
(72)【発明者】
【氏名】シャハ,プレマル
(72)【発明者】
【氏名】バジャリア,ヴァイラル
(72)【発明者】
【氏名】パラコデティ,アクシャラ
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175CA07
5B175FA03
(57)【要約】
ノイズの多いデータセットのマスタ企業特性データベースへの集約。一実施形態では、複数のソースから企業特性記録が受信され、共通のスキーマに正規化される。1つ以上の企業特性記録は、それらの企業特性記録における1つ以上のフィールドの値を別の企業特性記録におけるそれらのフィールドの値と置換することによって、クリーニングされ得る。次いで、企業特性記録は、クラスタ化されてもよく、クラスタの各々は、投票プロセスに基づいて、単一の合成企業特性記録にまとめられてもよい。マスタ識別子は、各合成企業特性記録に対して生成されてもよく、合成企業特性記録は、マスタ識別子によってインデックス付けされた、マスタ企業特性データベースにマージされてもよい。
【選択図】
図3
【特許請求の範囲】
【請求項1】
少なくとも1つのハードウェアプロセッサを使用して、
複数のソースから複数の企業特性記録を含むデータを受信することであって、前記複数の企業特性記録の各々は、複数のフィールドを含む、受信することと、
前記複数の企業特性記録を共通のスキーマに正規化することと、
前記複数の企業特性記録のうちの1つ以上における前記複数のフィールドのうちの1つ以上の各々の値を、前記複数の企業特性記録のうちの別の1つにおけるそのフィールドの値で置換することによって、前記複数の企業特性記録をクリーニングすることと、
前記複数の企業特性記録を複数のクラスタにクラスタ化することであって、前記複数のクラスタの各々は、前記複数の企業特性記録のサブセットを含む、クラスタ化することと、
前記複数のクラスタの各々について、そのクラスタにおける企業特性記録の前記サブセットを、そのクラスタ内での投票プロセスに基づいて単一の合成企業特性記録にまとめることと、
各合成企業特性記録のマスタ識別子を生成することと、
前記合成企業特性記録を、前記マスタ識別子によってインデックス付けされた、複数のマスタ化された企業特性記録を含むマスタ企業特性データベースにマージすることと、を含む、方法。
【請求項2】
前記少なくとも1つのハードウェアプロセッサを使用して、前記データを受信した後、かつ前記複数の企業特性記録をクラスタ化する前に、1つ以上の除外基準に従って前記複数の企業特性記録をフィルタリングすることを更に含む、請求項1に記載の方法。
【請求項3】
前記少なくとも1つのハードウェアプロセッサを使用して、
ユーザに関連付けられた前記複数のマスタ化された企業特性記録のサブセットを識別することと、
前記識別されたサブセットを前記ユーザに提供することと、を更に含む、請求項1に記載の方法。
【請求項4】
前記複数の企業特性記録を共通のスキーマに正規化することは、前記複数の企業特性記録における前記複数のフィールドのうちの1つ以上の値を標準化することを含む、請求項1に記載の方法。
【請求項5】
前記複数の企業特性記録をクリーニングすることは、
前記複数の企業特性記録の各々を複数のカテゴリのうちの1つに分類することであって、前記複数のカテゴリは、強カテゴリ及び弱カテゴリを含む、分類することと、
前記弱カテゴリに分類された前記複数の企業特性記録のうちの1つ以上の各々について、その企業特性記録における前記複数のフィールドのうちの1つ以上の各々の前記値を、前記強カテゴリに分類された前記複数の企業特性記録のうちの1つにおけるそのフィールドの前記値で置換することと、を含む、請求項1に記載の方法。
【請求項6】
前記複数のカテゴリは、中立カテゴリを更に含み、前記中立カテゴリに分類される前記複数の企業特性記録における前記複数のフィールドの前記値のいずれも、前記クリーニング中に置換されない、請求項5に記載の方法。
【請求項7】
前記複数の企業特性記録の各々を複数のカテゴリのうちの1つに分類することは、前記複数の企業特性記録の各々について、
前記企業特性記録における第2のフィールドの第2の値及び前記企業特性記録における第3のフィールドの第3の値によって定義される、第1のディメンション内の前記企業特性記録における第1のフィールドの第1の値の第1の強度を計算することと、
前記第1の値及び前記第3の値によって定義される、第2のディメンション内の前記第2の値の第2の強度を計算することと、
前記第1の強度及び前記第2の強度の両方がそれぞれの強い基準を満たす場合、前記企業特性記録を前記強カテゴリに分類することと、
前記第1の強度及び前記第2の強度の両方がそれぞれの弱い基準を満たす場合、前記企業特性記録を前記弱カテゴリに分類することと、
前記第1の強度及び前記第2の強度が両方とも前記それぞれの強い基準を満たさず、かつ両方とも前記それぞれの弱い基準を満たさない場合、前記企業特性記録を前記中立カテゴリに分類することと、を含む、請求項6に記載の方法。
【請求項8】
前記第1のフィールドは、ドメイン名であり、前記第2のフィールドは、企業名である、請求項7に記載の方法。
【請求項9】
前記第3のフィールドは、国である、請求項8に記載の方法。
【請求項10】
前記強い基準は、第1の閾値であり、前記弱い基準は、前記第1の閾値とは異なる第2の閾値である、請求項7に記載の方法。
【請求項11】
前記第1の強度を計算することは、前記第1のフィールドの前記第1の値が前記第1のディメンションの前記複数の企業特性記録に出現する頻度を指示するヒストグラム重みを計算することを含み、前記第2の強度を計算することは、前記第2のフィールドの前記第2の値が前記第2のディメンションの前記複数の企業特性記録に出現する頻度を指示するヒストグラム重みを計算することを含む、請求項7に記載の方法。
【請求項12】
前記複数の企業特性記録を複数のクラスタにクラスタ化することは、キーの複数の値の各々について、前記キーのその値を有する前記複数の企業特性記録をクラスタにグループ化することを含む、請求項1に記載の方法。
【請求項13】
前記複数のフィールドは、ドメイン名及び企業名を含み、前記複数の企業特性記録の各々について、その企業特性記録の前記キーの前記値は、
前記企業特性記録が前記ドメイン名の値を含む場合、前記ドメイン名の前記値として、
前記企業特性記録が前記ドメイン名の値を含まない場合、前記企業名の値として判定される、請求項12に記載の方法。
【請求項14】
前記複数の企業特性記録を複数のクラスタにクラスタ化することは、キーの複数の値の各々及び前記複数のフィールドのうちの少なくとも1つの複数の値の各々について、前記キーのその値及び前記少なくとも1つのフィールドのその値を有する前記複数の企業特性記録をクラスタにグループ化することを含む、請求項1に記載の方法。
【請求項15】
前記少なくとも1つのフィールドは、国、州、又は市のうちの1つ以上を含む、請求項14に記載の方法。
【請求項16】
前記複数のフィールドは、ドメイン名及び企業名を含み、各合成企業特性記録の前記マスタ識別子を生成することは、
前記合成企業特性記録が前記ドメイン名の値を含む場合、前記ドメイン名の前記値の関数として前記マスタ識別子を生成することと、
前記合成企業特性記録が前記ドメイン名の値を含まない場合、前記企業名の値の関数として前記マスタ識別子を生成することと、を含む、請求項1に記載の方法。
【請求項17】
前記複数のフィールドは、ドメイン名及び企業名を含み、各合成企業特性記録の前記マスタ識別子を生成することは、
前記合成企業特性記録がフランチャイザーを表す場合、
前記合成企業特性記録が前記ドメイン名の値を含む場合、前記ドメイン名の前記値の関数として前記マスタ識別子を生成し、
前記合成企業特性記録が前記ドメイン名の値を含まない場合、前記企業名の値の関数として前記マスタ識別子を生成することと、
前記合成企業特性記録がフランチャイジーを表す場合、
前記企業名の前記値の関数として従属識別子を生成し、
前記フランチャイジーのフランチャイザーの前記マスタ識別子及び前記従属識別子の関数として前記マスタ識別子を生成することと、を含む、請求項1に記載の方法。
【請求項18】
前記少なくとも1つのハードウェアプロセッサを使用して、前記合成企業特性記録を前記マスタ企業特性データベースにマージする前に、その合成企業特性記録にまとめられた前記企業特性記録のサブセットに寄与した前記複数のソースの信頼度に基づいて、前記合成企業特性記録のうちの1つ以上の各々をフィルタリングすることを更に含む、請求項1に記載の方法。
【請求項19】
システムであって、
少なくとも1つのハードウェアプロセッサと、
1つ以上のソフトウェアモジュールと、を備え、前記1つ以上のソフトウェアモジュールは、前記少なくとも1つのハードウェアプロセッサによって実行されると、
複数のソースから複数の企業特性記録を含むデータを受信することであって、前記複数の企業特性記録の各々は、複数のフィールドを含む、受信することと、
前記複数の企業特性記録を共通のスキーマに正規化することと、
前記複数の企業特性記録のうちの1つ以上における前記複数のフィールドのうちの1つ以上の各々の値を、前記複数の企業特性記録のうちの別の1つにおけるそのフィールドの値で置換することによって、前記複数の企業特性記録をクリーニングすることと、
前記複数の企業特性記録を複数のクラスタにクラスタ化することであって、前記複数のクラスタの各々は、前記複数の企業特性記録のサブセットを含む、クラスタ化することと、
前記複数のクラスタの各々について、そのクラスタにおける企業特性記録の前記サブセットを、そのクラスタ内での投票プロセスに基づいて単一の合成企業特性記録にまとめることと、
各合成企業特性記録のマスタ識別子を生成することと、
前記マスタ識別子に基づいて、前記合成企業特性記録を、複数のマスタ化された企業特性記録を含むマスタ企業特性データベースにマージすることと、を行うように構成されている、システム。
【請求項20】
命令を記憶した非一時的コンピュータ可読媒体であって、前記命令は、プロセッサによって実行されると、前記プロセッサに、
複数のソースから複数の企業特性記録を含むデータを受信することであって、前記複数の企業特性記録の各々は、複数のフィールドを含む、受信することと、
前記複数の企業特性記録を共通のスキーマに正規化することと、
前記複数の企業特性記録のうちの1つ以上における前記複数のフィールドのうちの1つ以上の各々の値を、前記複数の企業特性記録のうちの別の1つにおけるそのフィールドの値で置換することによって、前記複数の企業特性記録をクリーニングすることと、
前記複数の企業特性記録を複数のクラスタにクラスタ化することであって、前記複数のクラスタの各々は、前記複数の企業特性記録のサブセットを含む、クラスタ化することと、
前記複数のクラスタの各々について、そのクラスタにおける前記企業特性記録のサブセットを、そのクラスタ内での投票プロセスに基づいて単一の合成企業特性記録にまとめることと、
各合成企業特性記録のマスタ識別子を生成することと、
前記マスタ識別子に基づいて、前記合成企業特性記録を、複数のマスタ化された企業特性記録を含むマスタ企業特性データベースにマージすることと、を行わせる、非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2020年6月29日に出願された米国仮特許出願第63/045,707号の優先権を主張するものであり、その全体が記載されているかのように参照により本明細書に援用される。
【0002】
更に、本出願は、2015年12月1日に発行された米国特許第9,202,227号、2019年11月12日に発行された米国特許第10,475,056号、及び2020年1月14日に発行された米国特許第10,536,427号に関連し、これらは全て、完全に記載されているかのように本明細書中に参考として援用される。本出願はまた、2020年6月29日に出願された米国仮特許出願第63/045,731号、及び2020年6月29日に出願された米国仮特許出願第63/045,693号に関連し、これらは両方とも、完全に記載されているかのように参照により本明細書に援用される。
【背景技術】
【0003】
本明細書で説明される実施形態は、概して、データキュレーションを対象とし、より具体的には、ノイズの多いデータセットをマスタ企業特性データベースに集約することを対象とする。
【発明の概要】
【0004】
したがって、システム、方法、及び非一時的コンピュータ可読媒体が、多数の、大きい、及び任意に重複し得るノイズの多いデータセットをマスタ企業特性データベースに集約するために開示される。例えば、企業特性記録を収集し、正規化し、フィルタリングし、クリーニングし、補足し、それらの企業特性記録におけるフィールドの値に投票し、企業特性記録の各ソースの精度を考慮することによって、ノイズの多いデータセットを集約して、企業体の正確な企業特性記録プロファイルのデータベースを構築するプラットフォームが開示される。
【0005】
一実施形態では、少なくとも1つのハードウェアプロセッサを使用して、複数のソースから複数の企業特性記録を含むデータを受信することであって、複数の企業特性記録の各々は、複数のフィールドを含む、受信することと、複数の企業特性記録を共通のスキーマに正規化することと、複数の企業特性記録のうちの1つ以上における複数のフィールドのうちの1つ以上の各々の値を、複数の企業特性記録のうちの別の1つにおけるそのフィールドの値で置換することによって、複数の企業特性記録をクリーニングすることと、複数の企業特性記録を複数のクラスタにクラスタ化することであって、複数のクラスタの各々は、複数の企業特性記録のサブセットを含む、クラスタ化することと、複数のクラスタの各々について、そのクラスタにおける企業特性記録のサブセットを、そのクラスタ内での投票プロセスに基づいて単一の合成企業特性記録にまとめることと、各合成企業特性記録のマスタ識別子を生成することと、合成企業特性記録を、マスタ識別子によってインデックス付けされた、複数のマスタ化された企業特性記録を含むマスタ企業特性データベースにマージすることと、を含む、方法が開示される。
【0006】
方法は、少なくとも1つのハードウェアプロセッサを使用して、データを受信した後、かつ複数の企業特性記録をクラスタ化する前に、1つ以上の除外基準に従って複数の企業特性記録をフィルタリングすることを更に含み得る。方法は、少なくとも1つのハードウェアプロセッサを使用して、ユーザに関連付けられた複数のマスタ化された企業特性記録のサブセットを識別することと、識別されたサブセットをユーザに提供することと、を更に含み得る。複数の企業特性記録を共通のスキーマに正規化することは、複数の企業特性記録における複数のフィールドのうちの1つ以上の値を標準化することを含み得る。
【0007】
複数の企業特性記録をクリーニングすることは、複数の企業特性記録の各々を複数のカテゴリのうちの1つに分類することであって、複数のカテゴリは、強カテゴリ及び弱カテゴリを含む、分類することと、弱カテゴリに分類された複数の企業特性記録の1つ以上の各々について、その企業特性記録における複数のフィールドの1つ以上の各々の値を、強カテゴリに分類された複数の企業特性記録の1つにおけるそのフィールドの値で置換することと、を含み得る。複数のカテゴリは、中立カテゴリを更に含み得、中立カテゴリに分類される複数の企業特性記録における複数のフィールドの値のいずれも、クリーニング中に置換されない。複数の企業特性記録の各々を複数のカテゴリのうちの1つに分類することは、複数の企業特性記録の各々について、企業特性記録における第2のフィールドの第2の値及び企業特性記録における第3のフィールドの第3の値によって定義される、第1のディメンション内の企業特性記録における第1のフィールドの第1の値の第1の強度を計算することと、第1の値及び第3の値によって定義される、第2のディメンション内の第2の値の第2の強度を計算することと、第1の強度及び第2の強度の両方がそれぞれの強い基準を満たす場合、企業特性記録を強カテゴリに分類することと、第1の強度及び第2の強度の両方がそれぞれの弱い基準を満たす場合、企業特性記録を弱カテゴリに分類することと、第1の強度及び第2の強度が両方ともそれぞれの強い基準を満たさず、かつ両方ともそれぞれの弱い基準を満たさない場合、企業特性記録を中立カテゴリに分類することと、を含み得る。第1のフィールドは、ドメイン名であり得、第2のフィールドは、企業名であり得る。第3のフィールドは、国であり得る。強い基準は、第1の閾値であり得、弱い基準は、第1の閾値とは異なる第2の閾値であり得る。第1の強度を計算することは、第1のフィールドの第1の値が第1のディメンションの複数の企業特性記録に出現する頻度を指示するヒストグラム重みを計算することを含み得、第2の強度を計算することは、第2のフィールドの第2の値が第2のディメンションの複数の企業特性記録に出現する頻度を指示するヒストグラム重みを計算することを含む。
【0008】
複数の企業特性記録を複数のクラスタにクラスタ化することは、キーの複数の値の各々について、キーのその値を有する複数の企業特性記録をクラスタにグループ化することを含み得る。複数のフィールドは、ドメイン名及び企業名を含み得、複数の企業特性記録の各々について、その企業特性記録のキーの値は、企業特性記録がドメイン名の値を含む場合、ドメイン名の値として、企業特性記録がドメイン名の値を含まない場合、企業名の値として判定される。
【0009】
複数の企業特性記録を複数のクラスタにクラスタ化することは、キーの複数の値の各々及び複数のフィールドのうちの少なくとも1つの複数の値の各々について、キーの値及び少なくとも1つのフィールドの値を有する複数の企業特性記録をクラスタにグループ化することを含み得る。少なくとも1つのフィールドは、国、州、又は市のうちの1つ以上を含み得る。
【0010】
複数のフィールドは、ドメイン名及び企業名を含み得、各合成企業特性記録のマスタ識別子を生成することは、合成企業特性記録がドメイン名の値を含む場合、ドメイン名の値の関数としてマスタ識別子を生成することと、合成企業特性記録がドメイン名の値を含まない場合、企業名の値の関数としてマスタ識別子を生成することと、を含む。
【0011】
複数のフィールドは、ドメイン名及び企業名を含み得、各合成企業特性記録のマスタ識別子を生成することは、合成企業特性記録がフランチャイザーを表す場合、合成企業特性記録がドメイン名の値を含む場合、ドメイン名の値の関数としてマスタ識別子を生成し、合成企業特性記録がドメイン名の値を含まない場合、企業名の値の関数としてマスタ識別子を生成することと、合成企業特性記録がフランチャイジーを表す場合、企業名の値の関数として従属識別子を生成し、マスタ識別子を、フランチャイジーのフランチャイザーのマスタ識別子及び従属識別子の関数として生成することと、を含む。
【0012】
方法は、少なくとも1つのハードウェアプロセッサを使用して、合成企業特性記録をマスタ企業特性データベースにマージする前に、その合成企業特性記録にまとめられた企業特性記録のサブセットに寄与した複数のソースの信頼度に基づいて、合成企業特性記録のうちの1つ以上の各々をフィルタリングすることを更に含み得る。
【0013】
方法は、サーバなどのプロセッサベースのシステムの実行可能なソフトウェアモジュールにおいて、かつ/又は非一時的コンピュータ可読媒体に記憶された実行可能な命令において具現化され得る。
【図面の簡単な説明】
【0014】
本発明の詳細は、その構造及び動作の両方に関して、添付の図面を検討することによって部分的に得ることができ、図面において、同様の参照番号は同様の部分を指す。
【0015】
【
図1】一実施形態による、本明細書で説明されるプロセスのうちの1つ以上が実装され得る例示的インフラストラクチャを示す。
【0016】
【
図2】一実施形態による、本明細書で説明されるプロセスのうちの1つ以上が実行され得る例示的な処理システムを示す。
【0017】
【
図3】一実施形態による、データをマスタ企業特性データベースにマージするための例示的なプロセスを示す図である。
【発明を実施するための形態】
【0018】
一実施形態では、システム、方法、及び非一時的コンピュータ可読媒体が、ノイズの多いデータセットのマスタ企業特性データベースへの集約のために開示される。本明細書を読んだ後、当業者には、種々の代替実施形態及び代替の用途において本発明をどのように実装するかが明らかになるであろう。しかしながら、本発明の種々の実施形態が本明細書で説明されるが、これらの実施形態は、限定ではなく、例及び例示のみとして提示されることが理解される。したがって、種々の実施形態のこの詳細な説明は、添付の特許請求の範囲に記載される本発明の範囲又は広さを限定するものと解釈されるべきではない。
【0019】
1.システムの概要
【0020】
1.1.インフラストラクチャ
【0021】
図1は、一実施形態による、開示されたプロセスが動作し得る例示的なインフラストラクチャを示している。インフラストラクチャは、本明細書で説明される種々の機能、プロセス、方法、及び/又はソフトウェアモジュールのうちの1つ以上をホスト及び/又は実行するプラットフォーム110(例えば、1つ以上のサーバ)を含み得る。プラットフォーム110は、専用サーバを含んでもよく、又は代わりに、1つ以上のサーバの共有リソースを利用するクラウドインスタンスを含んでもよい。これらのサーバ又はクラウドインスタンスは、コロケートされ、かつ/又は地理的に分散され得る。プラットフォーム110はまた、サーバアプリケーション112及び/又は1つ以上のデータベース114を含んでもよく、又はそれらに通信可能に接続されてもよい。更に、プラットフォーム110は、1つ以上のネットワーク120を介して1つ以上のユーザシステム130に通信可能に接続され得る。プラットフォーム110はまた、1つ以上のネットワーク120を介して、1つ以上の外部システム140(例えば、他のプラットフォーム、ウェブサイトなど)に通信可能に接続され得る。
【0022】
ネットワーク120は、インターネットを含むことができ、プラットフォーム110は、ハイパーテキスト転送プロトコル(HTTP)、HTTPセキュア(HTTPS)、ファイル転送プロトコル(FTP)、FTPセキュア(FTPS)、セキュアシェルFTP(SFTP)などの標準伝送プロトコル、並びに専用プロトコルを使用して、インターネットを介してユーザシステム130と通信することができる。プラットフォーム110は、ネットワーク120の単一のセットを介して種々のシステムに接続されるものとして示されているが、プラットフォーム110は、1つ以上のネットワークの異なるセットを介して種々のシステムに接続され得ることを理解されたい。例えば、プラットフォーム110は、インターネットを介してユーザシステム130及び/又は外部システム140のサブセットに接続されてもよいが、イントラネットを介して1つ以上の他のユーザシステム130及び/又は外部システム140に接続されてもよい。更に、少数のユーザシステム130及び外部システム140、1つのサーバアプリケーション112、並びにデータベース114のセットのみが示されているが、インフラストラクチャは、任意の数のユーザシステム、外部システム、サーバアプリケーション、及びデータベースを含むことができることを理解されたい。
【0023】
ユーザシステム130は、限定ではないが、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、スマートフォン又は他の携帯電話、サーバ、ゲームコンソール、テレビ、セットトップボックス、電子キオスク、店頭端末、現金自動預払機などを含む、有線及び/又は無線通信が可能な任意のタイプ又は複数のタイプのコンピューティングデバイスを含み得る。
【0024】
プラットフォーム110は、1つ以上のウェブサイト及び/又はウェブサービスをホストするウェブサーバを含み得る。ウェブサイトが提供される実施形態では、ウェブサイトは、例えば、ハイパーテキストマークアップ言語(HTML)又は他の言語で生成された1つ以上の画面(例えば、ウェブページ)を含む、グラフィカルユーザインターフェースを含んでもよい。プラットフォーム110は、ユーザシステム130からの要求に応答して、グラフィカルユーザインターフェースの1つ以上の画面を送信又は提供する。一部の実施形態では、これらの画面は、ウィザードの形態で提供されてもよく、その場合、2つ以上の画面が、連続する方法で提供されてもよく、連続画面のうちの1つ以上は、1つ以上の先行画面とのユーザ又はユーザシステム130の対話に依存してもよい。グラフィカルユーザインターフェースの画面を含む、プラットフォーム110への要求及びプラットフォーム110からの応答は、両方とも、標準通信プロトコル(例えば、HTTP、HTTPSなど)を使用して、インターネットを含み得る、ネットワーク120を通して通信されてもよい。これらの画面(例えば、ウェブページ)は、テキスト、画像、ビデオ、アニメーション、参照(例えば、ハイパーリンク)、フレーム、入力(例えば、テキストボックス、テキスト領域、チェックボックス、ラジオボタン、ドロップダウンメニュー、ボタン、フォームなど)、スクリプト(例えば、JavaScript)などのコンテンツ及び要素の組み合わせを含むことができ、プラットフォーム110にローカルに、かつ/又はリモートにアクセス可能な1つ以上のデータベース(例えば、データベース114)に記憶されたデータを含む又はそれから導出される要素を含む。プラットフォーム110はまた、ユーザシステム130からの他の要求に応答してもよい。
【0025】
プラットフォーム110は更に、1つ以上のデータベース114を含み、それと通信可能に結合され、又は別様にそれへのアクセスを有してもよい。例えば、プラットフォーム110は、1つ以上のデータベース114を管理する1つ以上のデータベースサーバを含んでもよい。プラットフォーム110上で実行されるユーザシステム130又はサーバアプリケーション112は、データベース114に記憶されるデータ(例えば、ユーザデータ、フォームデータなど)を提出し、かつ/又はデータベース114に記憶されたデータへのアクセスを要求し得る。クラウドベースのデータベース及び専用データベースを含む、MySQL(商標)、Oracle(商標)、IBM(商標)、Microsoft SQL(商標)、Access(商標)、PostgreSQL(商標)などを含むがこれらに限定されない任意の適切なデータベースを利用することができる。データは、例えば、HTTPによってサポートされる周知のPOST要求を使用して、FTPなどを介して、プラットフォーム110に送信されてもよい。このデータ及び他の要求は、例えば、プラットフォーム110によって実行されるサーブレット又は他のソフトウェアモジュール(例えば、サーバアプリケーション112に含まれる)などのサーバ側ウェブ技術によって処理されてもよい。
【0026】
ウェブサービスが提供される実施形態では、プラットフォーム110は、外部システム140から要求を受信し、拡張マークアップ言語(XML)、JavaScript Object Notation(JSON)、及び/又は任意の他の好適な若しくは所望のフォーマットで応答を提供し得る。かかる実施形態では、プラットフォーム110は、ユーザシステム130及び/又は外部システム140がウェブサービスと対話し得る方法を定義する、アプリケーションプログラミングインターフェース(API)を提供してもよい。したがって、ユーザシステム130及び/又は外部システム140(それら自体がサーバであり得る)は、それら自体のユーザインターフェースを定義し、ウェブサービスに依拠して、本明細書で説明されるバックエンドプロセス、方法、機能、記憶装置などを実装するか、又は別様に提供することができる。例えば、かかる一実施形態では、1つ以上のユーザシステム130上で実行するクライアントアプリケーション132は、プラットフォーム110上で実行するサーバアプリケーション112と対話し、本明細書に説明される種々の機能、プロセス、方法、及び/又はソフトウェアモジュールのうちの1つ以上又は1つ以上の一部を実行してもよい。クライアントアプリケーション132は「シン(thin)」であってもよく、その場合、処理は主にプラットフォーム110上のサーバアプリケーション112によってサーバ側で実行される。シンクライアントアプリケーションの基本的な例は、ユーザシステム130においてウェブページを単に要求し、受信し、レンダリングするブラウザアプリケーションであり、一方、プラットフォーム110上のサーバアプリケーションは、ウェブページを生成し、データベース機能を管理することを担う。代替的に、クライアントアプリケーションは「シック(thick)」であってもよく、その場合、処理は主にユーザシステム130によってクライアント側で実行される。クライアントアプリケーション132は、特定の実装形態の設計目標に応じて、「シン」と「シック」との間のこの範囲に沿った任意の点において、プラットフォーム110上のサーバアプリケーション112に対してある量の処理を実行し得ることを理解されたい。いずれの場合も、プラットフォーム110(例えば、サーバアプリケーション112が全ての処理を実行する場合)又はユーザシステム130(例えば、クライアントアプリケーション132が全ての処理を実行する場合)のうちのいずれかに完全に存在し得るか、又はプラットフォーム110とユーザシステム130との間に分散され得る(例えば、サーバアプリケーション112及びクライアントアプリケーション132の両方が処理を実行する場合)、本明細書に説明されるアプリケーションは、本明細書に説明されるアプリケーションの機能、プロセス、又は方法のうちの1つ以上を実装する命令を含む、1つ以上の実行可能ソフトウェアモジュールを含み得る。
【0027】
1.2.例示的な処理デバイス
【0028】
図2は、本明細書で説明される種々の実施形態に関連して使用され得る例示的な有線又は無線システム200を示すブロック図である。例えば、システム200は、本明細書で説明される(例えば、アプリケーション又は該アプリケーションの1つ以上のソフトウェアモジュールを記憶及び/又は実行するための)機能、プロセス、又は方法のうちの1つ以上として、又はそれと併せて使用されてもよく、プラットフォーム110、ユーザシステム130、外部システム140、及び/又は本明細書で説明される他の処理デバイスの構成要素を表してもよい。システム200は、サーバ若しくは任意の従来のパーソナルコンピュータ、又は有線若しくは無線データ通信が可能な任意の他のプロセッサ対応デバイスとすることができる。当業者には明らかなように、他のコンピュータシステム及び/又はアーキテクチャも使用することができる。
【0029】
システム200は、プロセッサ210などの1つ以上のプロセッサを含むことが好ましい。入力/出力を管理するための補助プロセッサ、浮動小数点数学演算を実行するための補助プロセッサ、信号処理アルゴリズムの高速実行に適したアーキテクチャを有する専用マイクロプロセッサ(例えば、デジタル信号プロセッサ)、主処理システムに従属するスレーブプロセッサ(例えば、バックエンドプロセッサ)、デュアル若しくはマルチプロセッサシステム用の追加のマイクロプロセッサ若しくはコントローラ、及び/又はコプロセッサなど、追加のプロセッサが設けられてもよい。かかる補助プロセッサは、個別のプロセッサであってもよく、又はプロセッサ210と統合されてもよい。システム200とともに使用され得るプロセッサの実施例は、限定ではないが、Pentium(登録商標)プロセッサ、Core i7(登録商標)プロセッサ、及びXeon(登録商標)プロセッサを含み、それらの全ては、Intel Corporation(Santa Clara,California)から入手可能である。
【0030】
プロセッサ210は、通信バス205に接続することが好ましい。通信バス205は、記憶装置とシステム200の他の周辺構成要素との間の情報転送を容易にするためのデータチャネルを含み得る。更に、通信バス205は、データバス、アドレスバス、及び/又は制御バス(図示せず)を含む、プロセッサ210との通信に使用される信号のセットを提供することができる。通信バス205は、例えば、インダストリスタンダードアーキテクチャ(ISA)、拡張インダストリスタンダードアーキテクチャ(EISA)、マイクロチャネルアーキテクチャ(MCA)、ペリフェラルコンポーネントインターコネクト(PCI)ローカルバス、IEEE488汎用インターフェースバス(GPIB)を含む米国電気電子学会(IEEE)によって公表された規格、IEEE696/S-100などに準拠するバスアーキテクチャなどの任意の標準又は非標準バスアーキテクチャを備えてもよい。
【0031】
システム200は、好ましくはメインメモリ215を含み、二次メモリ220も含み得る。メインメモリ215は、本明細書で説明される機能及び/又はモジュールのうちの1つ以上など、プロセッサ210上で実行されるプログラムのための命令及びデータの記憶を提供する。メモリ内に記憶され、プロセッサ210によって実行されるプログラムは、限定ではないが、C/C++、Java、JavaScript、Perl、Visual Basic、.NETなどを含む、任意の好適な言語に従って記述され、かつ/又はコンパイルされ得ることを理解されたい。メインメモリ215は、典型的には、ダイナミックランダムアクセスメモリ(DRAM)及び/又はスタティックランダムアクセスメモリ(SRAM)などの半導体ベースのメモリである。他の半導体ベースのメモリタイプは、例えば、読み出し専用メモリ(ROM)を含む、同期型ダイナミックランダムアクセスメモリ(SDRAM)、Rambusダイナミックランダムアクセスメモリ(RDRAM)、強誘電体ランダムアクセスメモリ(FRAM)などを含む。
【0032】
二次メモリ220は、任意選択で、内部媒体225及び/又は取り外し可能媒体230を含み得る。取り外し可能媒体230は、任意の周知の方法で読み出され、かつ/又は書き込まれる。取り外し可能な記憶媒体230は、例えば、磁気テープドライブ、コンパクトディスク(CD)ドライブ、デジタル多用途ディスク(DVD)ドライブ、他の光学ドライブ、フラッシュメモリドライブなどであってもよい。
【0033】
二次メモリ220は、コンピュータ実行可能コード(例えば、開示されるソフトウェアモジュール)及び/又は他のデータが記憶された非一時的コンピュータ可読媒体である。二次メモリ220に記憶されたコンピュータソフトウェア又はデータは、プロセッサ210による実行のためにメインメモリ215に読み込まれる。
【0034】
代替実施形態では、二次メモリ220は、コンピュータプログラム又は他のデータ若しくは命令がシステム200にロードされることを可能にするための他の同様の手段を含み得る。かかる手段は、例えば、ソフトウェア及びデータが外部記憶媒体245からシステム200に転送されることを可能にする、通信インターフェース240を含んでもよい。外部記憶媒体245の例として、外部ハードディスクドライブ、外部光学ドライブ、外部磁気光学ドライブなどが挙げられる。二次メモリ220の他の例として、プログラマブル読み出し専用メモリ(PROM)、消去可能プログラマブル読み出し専用メモリ(EPROM)、電気的消去可能読み出し専用メモリ(EEPROM)、及びフラッシュメモリ(EEPROMに類似したブロック指向メモリ)などの半導体ベースのメモリが挙げられる。
【0035】
上述のように、システム200は、通信インターフェース240を含み得る。通信インターフェース240は、ソフトウェア及びデータが、システム200と外部デバイス(例えば、プリンタ)、ネットワーク、又は他の情報源との間で転送されることを可能にする。例えば、コンピュータソフトウェア又は実行可能コードは、通信インターフェース240を介してネットワークサーバ(例えば、プラットフォーム110)からシステム200に転送されてもよい。通信インターフェース240の例には、内蔵ネットワークアダプタ、ネットワークインターフェースカード(NIC)、パーソナルコンピュータメモリカード国際協会(PCMCIA)ネットワークカード、カードバスネットワークアダプタ、無線ネットワークアダプタ、ユニバーサルシリアルバス(USB)ネットワークアダプタ、モデム、無線データカード、通信ポート、赤外線インターフェース、IEEE1394ファイヤワイヤ、及びシステム200をネットワーク(例えば、ネットワーク120)又は別のコンピューティングデバイスとインターフェースすることができる任意の他のデバイスが含まれる。通信インターフェース240は、好ましくは、イーサネットIEEE802規格、ファイバチャネル、デジタル加入者線(DSL)、非同期デジタル加入者線(ADSL)、フレームリレー、非同期転送モード(ATM)、統合デジタルサービスネットワーク(ISDN)、パーソナル通信サービス(PCS)、伝送制御プロトコル/インターネットプロトコル(TCP/IP)、シリアル回線インターネットプロトコル/ポイントツーポイントプロトコル(SLIP/PPP)などの業界で公表されたプロトコル規格を実装するが、カスタマイズされた又は非標準のインターフェースプロトコルも実装することができる。
【0036】
通信インターフェース240を介して転送されるソフトウェア及びデータは、概して、電気通信信号255の形態である。これらの信号255は、通信チャネル250を介して通信インターフェース240に提供され得る。一実施形態では、通信チャネル250は、有線若しくは無線ネットワーク(例えば、ネットワーク120)、又は任意の種々の他の通信リンクであってもよい。通信チャネル250は、信号255を搬送し、一部例を挙げると、ワイヤ又はケーブル、光ファイバ、従来の電話回線、携帯電話リンク、無線データ通信リンク、無線周波数(「RF」)リンク、又は赤外線リンクを含む、種々の有線又は無線通信手段を使用して実装することができる。
【0037】
コンピュータ実行可能コード(例えば、開示されたアプリケーションなどのコンピュータプログラム、又はソフトウェアモジュール)は、メインメモリ215及び/又は二次メモリ220に記憶される。コンピュータプログラムはまた、通信インターフェース240を介して受信され、メインメモリ215及び/又は二次メモリ220に記憶され得る。かかるコンピュータプログラムは、実行されると、システム200が、本明細書の他の場所で説明されるような開示される実施形態の種々の機能を行うことを可能にする。
【0038】
本明細書では、「コンピュータ可読媒体」という用語は、コンピュータ実行可能コード及び/又は他のデータをシステム200に、又はシステム200内に提供するために使用される任意の非一時的コンピュータ可読記憶媒体を指すために使用される。かかる媒体の例として、メインメモリ215、二次メモリ220(内部メモリ225、取り外し可能媒体230、及び外部記憶媒体245を含む)、及び通信インターフェース240と通信可能に結合された任意の周辺デバイス(ネットワーク情報サーバ又は他のネットワークデバイスを含む)が挙げられる。これらの非一時的コンピュータ可読媒体は、実行可能コード、プログラミング命令、ソフトウェア、及び/又は他のデータをシステム200に提供するための手段である。
【0039】
ソフトウェアを使用して実装される一実施形態では、ソフトウェアは、コンピュータ可読媒体上に記憶され、取り外し可能媒体230、I/Oインターフェース235、又は通信インターフェース240を経由して、システム200にロードされてもよい。かかる一実施形態では、ソフトウェアは、電気通信信号255の形態でシステム200にロードされる。ソフトウェアは、プロセッサ210によって実行されると、好ましくは、プロセッサ210に、本明細書の他の場所で説明されるプロセス及び機能のうちの1つ以上を行わせる。
【0040】
一実施形態では、I/Oインターフェース235は、システム200の1つ以上の構成要素と1つ以上の入力及び/又は出力デバイスとの間のインターフェースを提供する。例示的な入力デバイスは、限定ではなく、センサ、キーボード、タッチスクリーン又は他のタッチセンシティブデバイス、バイオメトリックセンシングデバイス、コンピュータマウス、トラックボール、ペンベースのポインティングデバイスなどを含む。出力デバイスの例としては、他の処理デバイス、陰極線管(CRT)、プラズマディスプレイ、発光ダイオード(LED)ディスプレイ、液晶ディスプレイ(LCD)、プリンタ、真空蛍光ディスプレイ(VFD)、表面伝導型電子放出ディスプレイ(SED)、電界放出ディスプレイ(FED)などが挙げられるが、これらに限定されない。ある場合には、タッチパネルディスプレイ(例えば、スマートフォン、タブレット、又は他のモバイルデバイス内)の場合など、入力及び出力デバイスが組み合わせられてもよい。
【0041】
システム200はまた、音声ネットワーク及び/又はデータネットワーク(例えば、ユーザシステム130の場合)を経由した無線通信を促進する、任意選択の無線通信構成要素を含み得る。無線通信構成要素は、アンテナシステム270、無線システム265、及びベースバンドシステム260を含む。システム200において、無線周波数(RF)信号は、無線システム265の管理の下でアンテナシステム270によって無線で送受信される。
【0042】
一実施形態では、アンテナシステム270は、1つ以上のアンテナと、アンテナシステム270に送信信号経路及び受信信号経路を提供するためにスイッチング機能を実行する1つ以上のマルチプレクサ(図示せず)とを含み得る。受信経路では、受信されたRF信号は、マルチプレクサから低雑音増幅器(図示せず)に結合され得、低雑音増幅器は、受信されたRF信号を増幅し、増幅された信号を無線システム265に送信する。
【0043】
代替実施形態では、無線システム265は、種々の周波数を介して通信するように構成された1つ以上の無線機を含み得る。一実施形態では、無線システム265は、復調器(図示せず)と変調器(図示せず)とを1つの集積回路(IC)に組み合わせることができる。復調器及び変調器は、別個の構成要素であり得る。入力経路では、復調器はRF搬送波信号を除去してベースバンド受信音声信号を残し、これが無線システム265からベースバンドシステム260に送信される。
【0044】
受信された信号がオーディオ情報を含む場合、ベースバンドシステム260は信号をデコードし、それをアナログ信号に変換する。次に、信号は増幅され、スピーカに送信される。ベースバンドシステム260はまた、マイクロフォンからアナログオーディオ信号を受信する。これらのアナログオーディオ信号は、デジタル信号に変換され、ベースバンドシステム260によって符号化される。ベースバンドシステム260はまた、送信のためにデジタル信号を符号化し、無線システム265の変調器部分にルーティングされるベースバンド送信オーディオ信号を生成する。変調器は、ベースバンド送信オーディオ信号をRFキャリア信号と混合し、アンテナシステム270にルーティングされ、電力増幅器(図示せず)を通過し得るRF送信信号を生成する。電力増幅器は、RF送信信号を増幅し、それをアンテナシステム270にルーティングし、信号は、送信のためにアンテナポートにスイッチされる。
【0045】
ベースバンドシステム260はまた、中央処理装置(CPU)であり得るプロセッサ210と通信可能に結合される。プロセッサ210は、データ記憶領域215及び220へのアクセスを有する。プロセッサ210は、好ましくは、メインメモリ215又は二次メモリ220に記憶され得る命令(すなわち、開示されたアプリケーションなどのコンピュータプログラム、又はソフトウェアモジュール)を実行するように構成される。コンピュータプログラムはまた、ベースバンドプロセッサ260から受信され、メインメモリ210又は二次メモリ220に記憶されるか、又は受信時に実行され得る。かかるコンピュータプログラムは、実行されると、システム200が、開示される実施形態の種々の機能を実行することを可能にする。
【0046】
2.プロセスの概要
【0047】
次に、ノイズの多いデータセットをマスタ企業特性データベースに集約するプロセスの実施形態を詳細に説明する。説明するプロセスは、例えば、本明細書で説明するアプリケーション(例えば、サーバアプリケーション112、クライアントアプリケーション132、及び/又はサーバアプリケーション112及びクライアントアプリケーション132の両方を含む分散アプリケーション)として、1つ以上のハードウェアプロセッサ(例えば、プロセッサ210)によって実行される1つ以上のソフトウェアモジュールで具現化されてもよく、これは、プラットフォーム110のプロセッサによって完全に実行されてもよく、ユーザシステム130のプロセッサによって完全に実行されてもよく、又はアプリケーションの一部の部分又はモジュールがプラットフォーム110によって実行され、アプリケーションの他の部分又はモジュールがユーザシステム130によって実行されるように、プラットフォーム110及びユーザシステム130にわたって分散されてもよいことを理解されたい。説明するプロセスは、ソースコード、オブジェクトコード、及び/又はマシンコードで表される命令として実装され得る。これらの命令は、ハードウェアプロセッサによって直接実行されてもよく、又は代替的に、オブジェクトコードとハードウェアプロセッサとの間で動作する仮想マシンによって実行されてもよい。加えて、開示されるアプリケーションは、1つ以上の既存のシステム上に構築されるか、又はそれとインターフェース接続されてもよい。
【0048】
代替的に、説明するプロセスは、ハードウェア構成要素(例えば、汎用プロセッサ、集積回路(IC)、特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)若しくは他のプログラマブル論理デバイス、個別ゲート若しくはトランジスタ論理など)、ハードウェア構成要素の組み合わせ、又はハードウェア構成要素とソフトウェア構成要素との組み合わせとして実装され得る。ハードウェアとソフトウェアとの互換性を明確に示すために、種々の例示的な構成要素、ブロック、モジュール、回路、及びステップが、本明細書では概してそれらの機能に関して説明される。かかる機能がハードウェアとして実装されるかソフトウェアとして実装されるかは、特定の適用例及びシステム全体に課される設計制約に依存する。当業者は、説明された機能を特定の適用例ごとに種々の方法で実装することができるが、かかる実装の決定は、本発明の範囲からの逸脱を引き起こすものと解釈されるべきではない。加えて、構成要素、ブロック、モジュール、回路、又はステップ内の機能のグループ化は、説明を容易にするためのものである。特定の機能又はステップは、本発明から逸脱することなく、1つの構成要素、ブロック、モジュール、回路、又はステップから別の構成要素、ブロック、モジュール、回路、又はステップに移動され得る。
【0049】
更に、本明細書で説明されるプロセスは、ステップの特定の配置及び順序で示されているが、各プロセスは、より少ない、より多い、又は異なるステップ、並びにステップの異なる配置及び/又は順序で実装されてもよい。加えて、別のステップの完了に依存しない任意のステップは、ステップが特定の順序で説明又は図示されている場合であっても、その他の独立したステップの前後、又はそれと並行して実行されてもよいことを理解されたい。
【0050】
2.1.データのマージ
【0051】
図3は、一実施形態による、企業特性データを集約してマスタ企業特性データベースにマージするための例示的なプロセス300を示している。プロセス300は、例えば、プラットフォーム110の1つ以上のプロセッサ210によって実行される命令を含む、サーバアプリケーション112の1つ以上のソフトウェアモジュール、及び/又はユーザシステム130の1つ以上のプロセッサ210によって実行される命令を含む、クライアントアプリケーション132の1つ以上のソフトウェアモジュールとして、開示されるアプリケーションによって実装されてもよい。例えば、サブプロセス320、330、340、及び/又は370を含む、プロセス300の1つ以上のサブプロセスは、種々の実施形態では省略されてもよいことを理解されたい。
【0052】
最初に、サブプロセス310において、データが受信される。マスタ企業特性データベースが既に存在する場合、受信されたデータは更新データを表す。別様で、マスタ企業特性データベースがまだ存在しない場合、受信されたデータは、初期化データを表し得る。このデータは、1つ以上のソース(例えば、外部システム140)から受信されてもよく、典型的な実装形態では、データは、複数のソースから受信されてもよい。データは、ソースから定期的に(例えば、毎時間、毎日、又は任意の他の間隔で)、又はソースによって収集されるようなデータのリアルタイムストリームとして受信されてもよい。データは、異なるソースから異なるタイミングで受信され得る。潜在的なソースの例としては、顧客関係管理(CRM)システム、マーケティングオートメーションプラットフォーム(MAP)システム、IP-企業マッピングシステム、専用システム(例えば、米国カリフォルニア州サンフランシスコの6Sense Insights,Inc.によって提供される)、ベンダシステムなどが挙げられるが、これらに限定されない。
【0053】
受信されたデータは、1つ以上の企業について収集された企業特性情報を含み得る。本明細書で使用される場合、「企業」という用語は、企業、パートナーシップ、教育機関(例えば、学校、カレッジ、大学など)、政府機関、非営利組織、及び単独個人営業などの法的エンティティを含む、ビジネスを行う、又は製品若しくはサービスを購入し得る任意のエンティティを指す。所与の企業のための企業特性情報は、1つ以上の企業特性記録を含むことができ、各記録は、その企業の種々の属性(例えば、サイズ、収益、ウェブサイトアドレス、IPアドレス、ドメイン名、ビジネスアドレス、電話番号、ソーシャルメディア識別子、業界コードなど)を記述する複数のフィールドの値を含む。企業特性情報は、行及び列として編成され得、例えば、各行は、単一の企業に対する企業特性記録を表し、各列は、その企業特性記録におけるフィールドの値を表す。
【0054】
サブプロセス320では、サブプロセス310で受信したデータを正規化することができる。データは、複数の異なるソースから受信され得るため、データは、異なるソーススキーマ(例えば、フォーマット、レイアウト、フィールド名、値範囲、データタイプなど)で受信され得る。これにより、受信した全てのデータを共通のスキーマに変換することができる。例えば、各ソースは、マッピングに関連付けられてもよく、該マッピングにより、ソースのスキーマは共通スキーマにマッピングされる。したがって、受信されたデータのレイアウトからのフィールドは、共通スキーマのレイアウト内のフィールドにマッピングされ得る。共通スキーマへの特定のソーススキーマのマッピングは、そのソースのオンボードプロセスの一部として(すなわち、ソースがプラットフォーム110のアプリケーションに導入されるときに)生成することができる。
【0055】
加えて、受信されたデータ内の少なくとも一部のフィールドの値は、共通スキーマ内の値の共通セットに正規化され得る。例えば、共通スキーマ内の範囲として表されるソースデータ内のフィールドの値は、ソースデータから適切な範囲にマッピングされてもよい(例えば、ソースデータ内の特定の企業に対する$4,000,000の収益値は、共通スキーマ内の$1,000,000~$5,000,000の範囲値にマッピングされてもよい)。別の例として、値の所定のセット又は列挙によって表されるフィールドの値は、値のセット内の適切な値にマッピングされてもよい(例えば、ソースデータ内の「US」又は「USA」のロケーション値は、共通スキーマ内の「United States」の値にマッピングされてもよい)。
【0056】
更に、1つ以上のフィールド(例えば、企業の住所、電話番号、ソーシャルメディア識別子など)の値は、標準化されたフォーマットに変換され得る。例えば、フィールドの値における全てのフォーマットのバリエーションは、そのフィールドに対する単一の標準フォーマットに変換されてもよい。全ての値が同じ標準フォーマットに変換される限り、標準フォーマットとして使用される特定の変形形態は重要ではないことを理解されたい。一例として、「123 Main St.」及び「123 Main Street」は、住所用に同じ標準化されたフォーマット(例えば、「123 main street」)に変換されるべきである。同様に、「800-555-1234」及び「1(800)555.1234」は、電話番号用に同じ標準化されたフォーマット(例えば、800-555-1234)に変換されるべきである。更に別の例として、「INTEL CORP.」及び「Intel Corporation」は、企業名(例えば、INTEL)用に同じ標準化されたフォーマットに変換されるべきである。特に、企業名の場合、標準化された値は、全て大文字で構成され、法的指定(例えば、「Co.」、「Corp.」、「Inc.」、「LLC」など)などの末尾の用語を省略することができる。フィールド値の標準化により、ソースデータ内のノイズが低減され、例えば、データの統計(例えば、所与のフィールド内の複数の異なる値の各々の出現回数)を計算するために、所与のフィールド内の一致する値の識別が容易となる。特定のフィールド(例えば、ドメイン名及び企業名)に対するフィールド値の標準化はまた、本明細書の他の箇所で説明されるマスタ識別子の生成を容易にし得る。
【0057】
サブプロセス330では、サブプロセス310で受信された(例えば、サブプロセス320で正規化された)データをフィルタリングすることができる。例えば、望ましくない記録は、1つ以上の除外基準を使用してフィルタリングすることができる。これらの除外基準は、除外リスト又は「ブラックリスト」として実装することができる。除外リストは、プラットフォーム全体のリスト(例えば、プラットフォーム110のオペレータによってキュレートされる)及び/又はユーザ固有のリスト(例えば、プラットフォーム110の1人以上のユーザによってキュレートされる)を含み得る。ユーザ固有の除外リストは、特定のユーザにのみ(例えば、そのユーザによって、又はそのユーザのために提供された企業特性情報にのみ)適用され得るのに対して、プラットフォーム全体の除外リストは、全てのユーザに(例えば、全てのユーザによって、又は全てのユーザのために提供された企業特性情報に)普遍的に適用され得ることを理解されたい。除外リストは、データ内の企業特性記録が更に処理されることを除外する共通スキーマ内の1つ以上のフィールドの値を含み得る。換言すれば、企業特性記録は、プロセス300によって表されるデータパイプラインから削除され得る。一実施形態では、除外基準は、明らかに誤りのある又はその他の形で望ましくない企業特性記録のみを除外するように保守的に設定される。
【0058】
例えば、特定のIPアドレス若しくはドメイン名、又は(メーリングアドレス、ドメイン名)、(電話番号、ドメイン名)、(ソーシャルメディア識別子、ドメイン名)などのフィールドのタプルを含む企業特性記録が除外されてもよい。これらの除外の一部は、既知の不良データに迅速に対処するために、除外リストに手動で追加されてもよい。例えば、除外リストは、(「Intel Corp.」、hp.com)の明らかに誤った企業名及びドメイン名タプルを含む場合があり、その結果、このタプルを含む企業特性記録は、更なる処理から除外される。他の除外は、統計(例えば、ドメイン名に対する所与のフィールドの値の分布を表すヒストグラム)に基づいて、自動的に又は手動で除外リストに追加されてもよい。例えば、複数のドメイン名と強く共起する住所、電話番号、及び/又はソーシャルメディア識別子(例えば、ソーシャルメディアリンク又はハンドル)を有する企業特性記録が除外されてもよい。特定の例として、メーリングアドレス「123 Main Street,Los Angeles,CA」が、複数のドメイン名にわたるアドレス分布内で有意なヒストグラム重みを有する場合、単一のドメイン名がこのメーリングアドレスから推定され得る可能性は低い。電話番号「123-456-7890」についても同様であり、ソーシャルメディア識別子及び他のフィールドについても同様の例が挙げられる。換言すれば、データ内のフィールドの値の分布が、その値から単一の企業の控除を可能にする可能性が低いことを示す場合、そのフィールド値を有する企業特性記録が更なる処理から除外されるように、そのフィールド値を除外リストに追加することができる。これにより、不良入力データの拡大が防止される。
【0059】
別の例として、除外基準は、明らかに誤っている企業特性記録を除外してもよい。明らかに誤った企業特性記録として、1つ以上のフィールドに重大な単語を含むもの、ジャンクを指示するパターン又は正規表現に一致する1つ以上のフィールドをもつもの、及び/又はフィールド値の要求を満足しない1つ以上のフィールドをもつものが挙げられる。例えば、企業特性記録が、トップレベルドメインを含まない(例えば、「.com」、「.net」、「.org」などを含まない)ドメイン名、ジャンクを示す用語又はパターンを含む企業名(例えば、「TEST CORP」、「TESTACCOUNT」、「NOTACOMPANY」、「WEBTRIAL」など)、無効なパターンを含む電話番号(例えば、「1234567890」、「1111」など)などを含む場合、企業特性記録は除外されてもよい。
【0060】
サブプロセス340では、サブプロセス310で受信された(例えば、サブプロセス330でのフィルタリング後に残っている)データをクリーニングすることができる。クリーニングには、データを除去すること及び/又は補足することが含まれ得る。データの統計的特性を使用してデータをクリーニングすることができ、可能な場合には、データ内のブランクフィールドの値をポピュレートすることができる。クリーニングは、ノイズの導入又は不良データ信号の偶発的な増大を回避するために、保守的に実行され得る。実際には、データは、(例えば、ドメイン名、企業名、及び国のフィールドに)多くのブランクフィールド及び完全なエラーを含み得る。これらのフィールドは、マスタ企業特性データベース内でインデックス付けするために使用されるマスタ識別子の生成に重要であり得るため、サブプロセス340は、データ内のフィールドの値を記入し、訂正するための以下のサブプロセスのうちの1つ以上(潜在的には全てを含む)を含み得る。
【0061】
第1のサブプロセスでは、1つ以上の正規化されたフィールド(例えば、職場の住所、電話番号、ソーシャルメディア識別子など)内の各値のヒストグラム重みが計算され得、ブランクフィールドは、計算されたヒストグラム重みに基づく値を記入することができる。所与のフィールド値のヒストグラム重みは、その値がそのフィールド内の値の分布全体にわたってそのフィールド内に現れる回数の割合として定義され得る。例えば、ドメイン名「Chobani.com」のビジネスアドレスフィールドにおける値の以下の分布を検討する。
【表1】
ヒストグラム重みの計算は、同じ値の種々のフォーマットの全てを、別個の値としてではなく、同じ値として考慮すべきであるため、このサブプロセスは、サブプロセス320によって生成された正規化されたデータに対してより効率的に実行されることを理解されたい。上記の計算されたヒストグラム重みに基づいて、アプリケーションは、「147 state highway 320,Norwich,NY」がドメイン名「Chobani.com」に対応するメーリングアドレスであると推論することができる。したがって、アプリケーションは、住所フィールドに値「147 state highway 320,Norwich,NY」を含む任意の企業特性記録において、ブランクのドメインフィールドを値「Chobani.com」で自動的に記入することができる。電話番号、企業のソーシャルメディア識別子、企業名などの他の手がかりと組み合わされると、この自動記入ストラテジの強度は著しく増加する。
【0062】
第2のサブプロセスでは、1つ以上のフィールドタプルの強度を計算することができる。一実施形態では、ドメイン名(D)、企業名(N)、及び国(C)の3つのフィールドが使用される。例えば、(ドメイン名、国)、(企業名、国)、及び(ドメイン名、企業名、国)の全ての可能なタプルの強度を計算することができる。各DNCタプル、すなわち(ドメイン名、企業名、国)のタプルの強度Sは、以下の関数fに従って計算することができる。
S=f(n,ωDC,ωNC)
ここで、nはデータ内のDNCタプルの頻度であり、ωDCは、そのDNCタプルを含むDCディメンションにおけるDNCタプルの相対重みであり、ωNCは、そのDNCタプルを含むNCディメンションにおけるDNCタプルの相対重みである。相対重みωDC及びωNCはそれぞれ、DNCタプルがそれぞれのディメンションの合計サイズに対してそれぞれのディメンションに現れる比率又は割合として計算され得ることを理解されたい。
【0063】
各DNCタプルについて計算される強度Sは、1つ以上の閾値と比較されて、DNCタプルが強いか(例えば、データパイプラインに保持されるべきである、かつ/又はそのタプルのブランク又は弱値を記入するために使用されるべきである)、又は弱いか(例えば、そのタプルのブランク値を記入するために使用されるべきではない、かつ/又は企業特性記録で出現するときに強タプルと置換されるべきである)を判定してもよい。使用する閾値は、経験的に判定されてもよく、偽陰性(すなわち、強タプルが弱タプルとして分類される)の確率を大幅に低減するように保守的に設定され得る。例えば、1つの特定の実装形態では、DNCタプルを5つのグループ、すなわちそのNCディメンションに対して強いドメイン名値を有するDNCタプル、そのNCディメンションに対して弱いドメイン名値を有するDNCタプル、そのDCディメンションに対して強い企業名値を有するDNCタプル、そのDCディメンションに対して弱い企業名値を有するDNCタプル、及び人工ノイズの導入を防止するために単独で残すべき中立DNCタプルのうちの1つに分類するための閾値を識別するために、20億を超える記録に対して実験を行った。
【0064】
閾値に基づいて、各DNCタプルは、これらのカテゴリのうちの1つ以上に分類することができる。次いで、各DNCタプルについて、それが分類されたカテゴリを使用して、DNCタプルを強、弱、又は中立として更に分類することができる。この分類は、各DNCタプルに対して、
(1)DCディメンション-、すなわち(ドメイン名、国)-が与えられた場合、そのDCディメンションにおける全ての企業名に関して企業名Nがどの程度強いか、及び
(2)NCディメンション-、すなわち(企業名、国)-が与えられた場合に、そのNCディメンションにおける全てのドメイン名に関してドメイン名Dがどの程度強いかを判定することによって実行できる。
DCディメンション及びNCディメンションの両方において強いDNCタプルは、強いとして分類され得、一方、DCディメンション及びNCディメンションの両方において弱いDNCタプルは、弱いとして分類され得る。DCディメンション及びNCディメンションのうちの一方において弱いが、DCディメンション及びNCディメンションのうちの他方において強いDNCタプルは、中立として分類され得る。弱いデータの拡大を防止するために、中立として分類されるDNCタプルは、弱タプルを置換するためにも、強タプルで置換されるためにも使用されない。
【0065】
上記の判定(1)及び(2)において強タプルと弱タプルとを区別するために使用される特定の閾値は、調整可能なパラメータであり得る。換言すれば、閾値は、データ点の量、更新された経験的データなどに基づいて定期的に更新され得る。一例として、ヒストグラム重みを閾値化に使用することができ、50%を超えるヒストグラム重み値は強いと分類され、15%未満のヒストグラム重み値は弱いと分類される。50%及び15%の閾値は、十分なデータ点を有する分布に対して良好に機能する。より少ないデータポイントを有する分布の場合(例えば、より小さい企業、データがあまりない国のエンティティなどの場合)、実験及びデータの理解によって判定されるように、異なる閾値が使用され得る。
【0066】
以下の表は、DCディメンションが(Chobani.com,United States)に固定されたNディメンションにおける統計値の例を示す。
【表2】
上記の例では、企業名「CHOBANI」は、50%の強度閾値を満たすため、DNCタプル(Chobani.com,CHOBANI,United States)は、強いとして部分的に適格とされる。このDNCタプルは、ドメイン名「Chobani.com」がNCディメンション(CHOBANI,United States)において強度閾値(例えば、ヒストグラム重み>50%)も満たす場合に、強いと完全に認定され得る。特に、タプル(Chobani.com、CHOBANIGLOBALHOLDINGS)は、強いと認定されるのに十分な強度(すなわち、≦50%)を有さないが、弱いと分類されるのを回避するのに十分な強度(すなわち、≧15%)を有する。したがって、このタプルは中立として分類され、これは、ノイズである可能性が低いことを示す。したがって、このタプルは、強タプルで置換されないが、弱タプルを置換するためにも使用されない。タプルの残りは、15%の弱閾値未満であり、したがって、弱いとして部分的に適格とされる。これらのタプルの各々は、ドメイン名「Chobani.com」もそれぞれのNCディメンションにおいて弱閾値(例えば、ヒストグラム重み<15%)を満たす場合、弱い(例えば、置換されるべきノイズ)として完全に適格とされ得る。
【0067】
一実施形態では、データ内のドメイン名及び国フィールドの値をクリーニングすることが特に重要であるが、これは、一実施形態では、アプリケーションは、その企業特性記録におけるこれらのフィールドの値を使用して、企業特性記録のマスタ識別子を生成するためである。加えて、ドメイン名及び国フィールドの品質は、不良である傾向がある(例えば、(att.com,HP,US)などのDNCタプルを含む)。したがって、一実施形態では、本明細書の他の箇所で説明されるように(例えば、1つ以上の統計に基づいて)、ドメイン名フィールドの値をクリーニングし、訂正するために特別な注意が払われる。
【0068】
サブプロセス340では、ブランクフィールド及び弱いと完全に認定されたデータを含むフィールドは、強いと完全に認定されたDNCタプルからのデータで置換され得る。サブプロセス340の出力は、(ドメイン名、企業名、国)のクリーンなDNCマッピングのセットである。各DNCマッピングは、ドメイン名、企業名、及び国を互いにマッピングすることを理解されたい。以下の表は、一部の元のDNCタプル(すなわち、サブプロセス340への入力)の例を、それらの対応するDNCマッピング(すなわち、サブプロセス340からの出力)とともに示す。
【表3】
【0069】
特に、上記の例では、タプル(v2soft.com,Chrysler Group,US)は、弱タプルであると見なされるため、強タプル(v2soft.com,V2Soft Inc.,US)によって置換された。一実施形態では、擬似識別子を使用して、強い企業特性記録(例えば、強いDNCタプルを含む)を弱い企業特性記録(即ち、弱いDNCタプルを含む)に一致させることができる。擬似識別子は、ドメイン名、企業名、国、住所、電話番号、ソーシャルメディア識別子などを含む、複数のフィールド値の組み合わせであり得る。1つの擬似識別子又は複数の異なる擬似識別子が、各企業特性記録について生成されてもよい。弱い企業特性記録の擬似識別子が強い企業特性記録の擬似識別子と一致する場合には、弱い企業特性記録の1つ以上のフィールド値(例えば、ドメイン名、企業名及び/又は国の値)が、強い企業特性記録からの対応するフィールド値で置換される。ドメイン名及び企業名に依存してマスタ識別子を生成する一実施形態では、弱い企業特性記録における少なくとも一致しないドメイン名及び企業名が、強い企業特性記録からのドメイン名及び企業名で置換される。これにより、企業特性記録のために生成されるマスタ識別子の品質が改善される。
【0070】
サブプロセス350において、(例えば、サブプロセス320において正規化され、サブプロセス330においてフィルタリングされ、サブプロセス340においてクリーニングされた)データは、1つ以上の重複排除又は合成企業特性記録のセットを導出するために、グループベース又はクラスタベースの投票において使用され得る。換言すれば、(例えば、所定のタプルによって定義された)複数のクラスタの各々の中の企業特性記録のセットは、クラスタにおける投票プロセスを使用して、クラスタ毎に単一の合成企業特性記録にまとめることができる。クラスタ化は、例えば、構造化照会言語(SQL)の「GROUP BY」ステートメント又は他のフレームワークの同様の機構を使用して、企業特性記録をグループ化することによって実装されてもよい。
【0071】
一実施形態では、サブプロセス340によって出力された(例えば、正規化され、フィルタリングされ、かつ/又はクリーニングされた)企業特性記録は、複数のレベルを表す複数のクラスタにグループ化される。例えば、企業特性記録は、「キー」が、(i)企業特性記録が有効なドメイン名を含む場合のドメイン名であるレベルに、又は(ii)企業特性が有効なドメイン名を含まない場合の標準化企業名であるようなレベルにグループ化されてもよい。
【0072】
(1)グローバルレベル:GROUP BYキー。
【0073】
(2)国レベル:GROUP BYキー、国。
【0074】
(3)状態レベル:GROUP BYキー、国、州。
【0075】
(4)市レベル:GROUP BYキー、国、市。
【0076】
各グループバイアクションは、企業特性記録をクラスタにグループ化することになり、各クラスタでは、非グループバイフィールドの各々について複数の可能な値が存在し得ることを理解されたい。例えば、グローバルレベルでは、所与のクラスタにおけるあらゆる企業特性記録がキー(例えば、ドメイン名又は企業名)に対して同じ値を有するように、全ての企業特性記録がグループ化される。しかしながら、そのクラスタにおける異なる企業特性記録は、国、州、市、産業、収益、住所、電話番号、ソーシャルメディア識別子などに関して異なる値を有することができる。同様に、国レベルでは、所与のクラスタにおける全ての企業特性記録は、キー及び国に対して同じ値を有するが、任意の他のフィールドに対して異なる値を有することができる。州レベルでは、所与のクラスタにおける全ての企業特性記録は、キー、国、及び州に対して同じ値を有するが、任意の他のフィールドに対して異なる値を有することができる。市レベルでは、所与のクラスタにおける全ての企業特性記録は、キー、国、及び市に対して同じ値を有するが、任意の他のフィールドに対して異なる値を有することができる。
【0077】
一実施形態では、アプリケーションは、投票プロセス中にフランチャイジーである企業を特別なケースとして扱う。本明細書で使用される場合、「フランチャイジー」という用語は、法的にはフランチャイジーではないが、フランチャイジーの特徴を有するフランチャイジー状の企業も包含する。同様に、「フランチャイザー」という用語は、法的なフランチャイザーだけでなく、法的にはフランチャイザーではないが、フランチャイザーの特徴を有するフランチャイザー状の企業も包含する。特別な処理を必要とするフランチャイジーの1つの特定の特徴は、同じフランチャイザーのフランチャイジーが、別々の企業であるにもかかわらず、そのフランチャイザーと同じドメイン名を利用し、互いに同じドメイン名を利用する傾向があることである。例えば、地下鉄のフランチャイジーは全て「Subway.com」をドメイン名として利用している場合がある。同様に、トヨタのフランチャイジーは全て、ドメイン名として「Toyota.com」を利用している場合がある。したがって、サブプロセス350における投票のために、フランチャイジーは、他のフランチャイジー及びフランチャイザーとは異なるクラスタにグループ化されてもよく、フランチャイザーは独自のクラスタにグループ化されてもよい。換言すれば、有効なドメイン名が利用可能である場合であっても(例えば、ドメイン名と組み合わせて、又はドメイン名の代わりに)、フランチャイザー又はフランチャイジーを表すクラスタのキーは、企業名を含み得る。
【0078】
各グループレベルに複数のクラスタが存在し得ることを理解されたい。例えば、グローバルレベルでは、キーに対して複数の異なる値が存在する場合、複数の異なるクラスタが存在することになり、各クラスタは、キーに対して1つの値を有する企業特性記録から構成される。同様に、国レベルでは、複数の異なるクラスタが存在してもよく、各クラスタは、(キー、国)タプルに対して単一の値を有する企業特性記録から構成される。州レベルでは、複数の異なるクラスタが存在してもよく、各クラスタは、(キー、国、州)タプルに対して単一の値を有する企業特性記録から構成される。市レベルでは、複数の異なるクラスタが存在してもよく、各グループは、(キー、国、市)タプルに対して単一の値を有する企業特性記録から構成される。
【0079】
各クラスタ内で、アプリケーションは、投票プロセスを使用して、各グループレベルの各クラスタについて、そのクラスタの企業特性記録における各フィールドの値を判定する。換言すれば、企業特性記録の各クラスタは、クラスタ全体を表す単一の合成企業特性記録にまとめられ、合成企業特性記録は、企業特性記録における全てのフィールドについて判定された又は選択された値を含む。投票は、各クラスタについて、1つ以上の基準に基づいてフィールド値を選出することを含み得る。GROUP BYフィールドのフィールド値は、クラスタにおける全ての企業特性記録について同じであるので、これらのフィールド値をクラスタに対して選択する必要はないことを理解されたい。しかしながら、結果として得られる合成企業特性記録の他の全てのフィールドの値は、1つ以上の基準に基づいて選択されてもよい。一実施形態では、投票に使用される1つ以上の基準は、フィールド値の頻度及び/又は信頼度を含み得る。
【0080】
頻度は、クラスタのサイズに対するクラスタにおける同じフィールド値の出現回数を指す。概して、より頻繁に出現するフィールド値は、あまり頻繁に出現しないフィールド値よりも、合成企業特性記録におけるフィールド値として選択される可能性が高い。頻度のみを基準として使用する実装形態では、投票プロセスは、クラスタ内で最も頻繁に出現するフィールド値を選出する(すなわち、各企業特性記録は、各フィールドのその値に対して1つの投票を提供する)ことを含むことができる。換言すれば、各クラスタ内で、各フィールドの最も頻繁に出現する値が、合成企業特性記録におけるそのフィールドの値として選択される。
【0081】
信頼度は、所与のフィールド値を提供したソースの信頼度及び/又は数を指す。各ソースは、ソースの信頼度を示す重みに関連付けられ得る(例えば、より高い重みはより高い信頼度を示す)。概して、より高い信頼度に関連付けられたソースによって提供された企業特性記録内に出現するフィールド値は、より低い信頼度に関連付けられたソースによって提供された企業特性記録内に出現するフィールド値よりも、合成企業特性記録におけるフィールド値として選出される可能性が高い。これは、その企業特性記録を提供したソースに関連付けられた重みに基づいて、各企業特性記録がそのフィールド値の各々に対して得る投票の数を増加及び/又は減少させることによって実装され得る。例えば、10の重みに関連付けられたソースによって提供された企業特性記録は、合成企業特性記録の各フィールドの値に対して10の票を提供してもよく、半分の重みに関連付けられたソースによって提供された企業特性記録は、合成企業特性記録の各フィールドの値に対して半分の票を提供してもよい。より信頼度の高いソースがより信頼できないソースに対して拡大される限り、重みは様々な方法で適用され得ることが理解されるべきである。同様に、より多くのソースによって提供又は確証されたフィールド値は、より少ないソースによって提供又は確証されたフィールド値よりも高く重み付けされ得る(例えば、より多くの投票が与えられる)。これらの重み付けを実装するために、各企業特性記録は、企業特性記録のソースを表すソース識別子を含むか、又はソース識別子に関連付けられてもよい。したがって、各企業特性記録のソース(及びそのソースに関連付けられた重み)は、プロセス300を通して容易に識別され得る。
【0082】
本質的に、重みは、データ内のより信頼度の高い信号(すなわち、企業特性記録)を押し上げる。一実施形態では、1つ以上のソースに対する重みは、それらのソースからの企業特性記録におけるフィールド値が、投票プロセス中に実質的に常に選出される(すなわち、クラスタのための合成企業特性記録に組み込まれる)ことを確実にするように設定されてもよい。一例として、プラットフォーム110のオペレータによってキュレートされたフィールド値は、外部ソース(例えば、CRM又はMAPシステム)から受信されたフィールド値よりも高く(例えば、1000倍高く)重み付けされて、オペレータのフィールド値が他のソースからのフィールド値と競合する場合に常に優先することを保証することができる。一実施形態では、重みは、オペレータのデータの重みを第1の層(例えば、投票プロセスに存在するときに優先することが実質的に保証される)に、データベンダのデータの重みを第2の層(すなわち、第1の層よりも低い)にして企業特性品質に基づいて区別し、ユーザ提供データ(例えば、CRM又はMAPシステムから)の重みを第3の層(すなわち、第1及び第2の層よりも低い)に、他のデータ(例えば、コンタクトレベル及びリードレベルの記録)の重みを第4の層(すなわち、第1、第2、及び第3の層よりも低く、より高い層の任意の記録と競合する場合に失うことが実質的に保証される)にして階層化することができる。重みは、自動的に及び/又は人間の支援により生成されて精査されてもよく、継続的に調整されてもよく、又は固定されて定期的な見直し及び修正を受けてもよい。概して、所与のソースに関連付けられた重みは、提供するフィールド値が(例えば、1つ以上の統計的尺度に基づいて)グラウンドトゥルースに頻繁に一致する場合、上方に調整され、提供するフィールド値が(例えば、1つ以上の統計的尺度に基づいて)グラウンドトゥルースと一致する頻度が低い場合、下方に調整され得る。
【0083】
一実施形態では、1つ以上のソースを投票プロセスから除外することができる。換言すれば、これらのソースからの記録は、投票プロセス中にいかなる投票も与えられない。一例として、IP-企業へのマッピングシステムからのデータは、それらが概して企業特性フィールド値を含まないので、除外されてもよい。むしろ、このデータを使用して、別のソースからの企業特性記録におけるIPアドレスを、その企業特性記録におけるブランク又は欠落した企業名フィールド又は国フィールドに挿入される特定の値にマッピングすることができる。別の例として、テストソースからの企業特性記録は、投票プロセスから除外されてもよい。
【0084】
一実施形態では、サブプロセス330以降に更新された(例えば、追加又は変更された)任意の除外基準に基づいて、1つ以上の企業特性記録が投票プロセスから除外されてもよい。これは、サブプロセス330と350との間に相当のレイテンシがある場合に有用であり得、サブプロセス350が、ユーザ提供の企業特性情報を受信するための特定のカットオフ時間の後に定期的に(例えば、1日に1回)のみ実行される場合であり得る。
【0085】
各グループレベルでの合成企業特性記録は、他のグループレベルでの合成企業特性記録とは異なるセットの関連フィールドを含み得る。例えば、ある市における企業のオフィスの収益を表すサイト収益フィールドは、市レベルでの合成企業特性記録にのみ関連する。したがって、アプリケーションは、市レベルで合成企業特性記録のサイト収益フィールドの値のみを選択することができる。更に、特定の企業についてのより高いグループレベルにおける1つ以上のフィールドの値は、より低いグループレベルにおけるそれらのフィールドの値に基づいて記入されてもよく、逆もまた同様である。例えば、各合成企業特性記録の市位置は、市レベルで一意である。企業のグローバルレベルでの合成企業特性記録における位置は、企業の本部又は主要な位置である可能性が最も高い市レベルでのその企業の合成企業特性記録における市位置に基づいて判定されてもよい。この位置は、(例えば、データソースによって提供される)企業の本社に関する利用可能なデータに基づいて、又は統計的分布に基づいて選択されてもよい(例えば、企業特性記録のクラスタにおける企業名の最も頻繁に出現する位置が本社として選択されてもよい)。別の例として、企業が従事している業界を表す業界フィールドは、業界フィールドが典型的にはあらゆるレベルの企業特性記録に適用されるので、グローバルレベルで選択されるべきである。したがって、アプリケーションは、合成企業特性記録における業界フィールドの値をグローバルレベルで選択するだけでよい。全ての下位レベルの合成企業特性記録は、その上位レベルの合成企業特性記録におけるフィールドの値を継承してもよい。したがって、グローバルレベルでの業界フィールドの値は、国、州、及び市レベルの各々での合成企業特性記録の全てによって継承され得る。
【0086】
サブプロセス360では、マスタ識別子が、各合成企業特性記録に対して生成される。サブプロセス360は、サブプロセス350の後に示されているが、サブプロセス360は、サブプロセス350の前又はその間に実行されてもよいことを理解されたい。いずれにしても、サブプロセス360は、概して、サブプロセス340の後に実行されて、マスタ識別子が最高品質のデータ(すなわち、正規化され、フィルタリングされ、かつ/又はクリーニングされた企業特性情報)から生成されることを確実にするべきである。
【0087】
一実施形態では、各グループレベルにおける各合成企業特性記録のマスタ識別子は、入力としてのGROUP BYフィールドの関数であり得る。例えば、グローバルレベルにおける合成企業特性記録のマスタ識別子は、キーフィールドの関数であり得、国レベルにおける合成企業特性記録のマスタ識別子は、キーフィールド及び国フィールドの関数であり得、州レベルにおける合成企業特性記録のマスタ識別子は、キーフィールド、国フィールド及び州フィールドの関数であり得、そして市レベルにおける合成企業特性記録のマスタ識別子は、キーフィールド、国フィールド及び市フィールドの関数であり得る。一実施形態では、関数は、マスタ識別子と関連フィールドとの間の1対1の対応を定義する。各マスタ識別子は、固有の文字列(例えば、英数字列)を含み得る。サブプロセス350及び360は、各企業が1つのマスタ識別子のみを有することを保証する。例えば、マスタ識別子は、その入力のハッシュとして、又は任意の既知の方法で生成されてもよい。
【0088】
上述したように、アプリケーションは、投票中にフランチャイジーを特別なケースとして扱うことができる。したがって、アプリケーションは、マスタ識別子を生成するときに、フランチャイジーを特別な場合として扱うこともできる。具体的には、一実施形態では、マスタ識別子は、フランチャイザーに対して生成され、従属識別子は、各フランチャイジーに対して生成される。マスタ識別子は、本明細書の他の場所で説明されるように、例えば、利用可能である場合、ドメイン名に応じて、又はドメイン名が利用可能ではない場合、フランチャイザーの企業名に応じて生成されてもよい。各従属識別子は、(例えば、ドメイン名は一意ではないため)それぞれのフランチャイジーの企業名に応じて生成されてもよい。そして、各フランチャイジーのマスタ識別子は、そのフランチャイザーのマスタ識別子とそのフランチャイジーの従属識別子との両方の関数(例えば、連結)である。換言すれば、各フランチャイジーは、そのフランチャイザーのマスタ識別子を継承し、また、それ自体の一意の従属識別子も有する。例えば、フランチャイザーである地下鉄のマスタ識別子は、マスタ識別子「8d981c0e25594d8」を生成するために、DNCタプル(subway.com,Subway,USA)のハッシュ関数として生成され得る。フランチャイジーのAlexander’s Subwayの従属識別子は、従属識別子「838c80a86647b66」を生成するために、DNCタプル(subway.com,Alexanders Subway,USA)のハッシュ関数として生成され得る。この場合、Alexander’s Subwayのフランチャイジーのマスタ識別子は、複合マスタ識別子「8d981c0e25594d8.838c80a86647b66」であり、これは、フランチャイジーの従属識別子を(例えば、2つの副識別子の間の期間を用いて)フランチャイザーのマスタ識別子に付加することによって生成される。
【0089】
サブプロセス370では、品質フィルタが、サブプロセス350での投票から生じた合成企業特性記録に適用され得る。一実施形態では、品質フィルタは、各集約企業特性記録が生成されたデータのソースの強度又は信頼度を利用する。例えば、重みは、そのソースの精度に基づいて各ソースに割り当てられてもよく、特定の合成企業特性記録に寄与する各ソースの重みは、その合成企業特性記録の全体的な強度を判定するために組み合わされてもよい。一例として、プラットフォーム110のオペレータによってキュレートされたデータは、任意の他のソースから受信されたデータよりも高く重み付けされてもよい。その強度が特定の閾値を超えない合成企業特性記録は、更なる処理からフィルタリング又は除外され得る。
【0090】
別の例として、閾値数の寄与ソース又は記録が、合成企業特性記録がマスタ企業特性データベースにマージされるために必要とされ得る。集合的に、閾値数の寄与ソースから受信された、又は閾値数の記録を満たす、企業特性記録から生成されなかった任意の合成企業特性記録は、フィルタリング又は除外されてもよい。換言すれば、一実施形態では、合成企業特性記録がマスタ企業特性データベースに追加される前に、閾値量の確証が必要とされる。したがって、サブプロセス310で受信されたデータにおいて、合成企業特性記録が単一のソース又は少数の企業特性記録のみによってサポートされている場合、その合成企業特性記録は、十分に信頼できないものとして除外され得る。一実施形態では、閾値は、サブプロセス310において記録が受信された全てのソースに対するサポートソースの割合、サブプロセス310において受信された全ての記録に対するサポート記録の割合などであり得る。
【0091】
サブプロセス380では、最終的な企業特性記録のセットが、マスタ化された企業特性記録としてマスタ企業特性データベースにマージされ得る。一実施形態では、マスタ企業特性データベース内の各マスタされた企業特性記録は、グローバルマスタ識別子(例えば、利用可能な場合はドメイン名の関数、又はドメイン名が利用可能でない場合は企業名)、国マスタ識別子、ドメイン名、企業名、地域識別子、国、州、市、郵便番号、住所、電話番号、1つ以上の産業コード(例えば、北米産業分類システム(NAICS)コード、標準産業分類(SIC)コード、オペレータの独自の分類)、収益(例えば、利用可能な場合は範囲及び/又は特定の数)、従業員の数(例えば、利用可能な場合は範囲及び/又は特定の数)、LinkedIn(商標)識別子、Facebook(商標)識別子、Twitter(商標)識別子、ロゴなどのためのフィールドを含む。マスタ化された企業特性記録は、グローバルレベル、国レベル、州レベル、及び市レベルなどの複数のレベルの各々でマスタ企業特性データベースにマージされ得る。各レベルは異なるフィールド(すなわち、表の列)を含むことができるので、マスタ企業特性データベースは、各レベルに対して別個の表を含み得る。ユーザは、1つ以上の対象の企業のためのマスタ化された企業特性記録を取り出すために、マスタ企業特性データベースに照会することができる。
【0092】
代替的又は追加的に、一実施形態では、プラットフォーム110の各ユーザは、マスタ企業特性データベースからのマスタされた企業特性記録のそれ自身のサブセットに関連付けられ得る。ユーザは、プラットフォーム110の顧客であってもよく、顧客は、製品又はサービスを提供及び/又は販売する企業であってもよい。例えば、特定のユーザは、マスタ企業特性データベースに表された企業のサブセットにのみ関心がある場合がある。この場合、ユーザ固有の企業特性データベースを作成し、各ユーザに関連付けて維持することができる。各ユーザ固有の企業特性データベースは、サブプロセス370において、品質フィルタを通過した関連するマスタ化された企業特性記録で更新され得る。換言すれば、マスタ化された企業特性記録は、マスタ企業特性データベースにマージされ得、各ユーザに関連するマスタ化された企業特性記録のサブセットは、そのユーザのユーザ固有の企業特性データベースにマージされ得る。代替的に、アプリケーションは、ユーザに関連するマスタ化された企業特性記録のサブセットをマスタ企業特性データベースから抽出し、抽出されたサブセットをユーザに提供することができる。
【0093】
ユーザに提供されるマスタ化された企業特性記録のサブセットは、そのユーザにとって関心のあるグループレベル(例えば、グローバル、国、州、市)の1つ以上における企業特性記録を含み得ることを理解されたい。例えば、特定のユーザは、グローバルレベルでの企業特性記録にのみ関心がある場合がある。この場合、そのユーザに提供されるサブセットは、グローバルレベルのマスタ化された企業特性記録のみから構成される。
【0094】
マスタ企業特性データベース及びユーザ固有のサブセットにおける各マスタ企業特性記録は、企業を表すことができる。加えて、ユーザ固有のサブセット内の各マスタ化された企業特性記録は、ユーザのCRM又はMAPシステム内に表される企業を表すことができる。したがって、ユーザに関連するマスタ化された企業特性記録のサブセットは、ユーザのCRM又はMAPシステムにエクスポート又はマージされ得る。ユーザは、この特徴を利用して、ユーザ自身の企業特性記録を整理し、補足し、かつ/又は強化することができる。ユーザはまた、例えば、ビジネス開発、マーケティング、広告などに関連する、他の下流サービスにおいて、合成企業特性記録のサブセットを利用してもよい。
【0095】
アプリケーションは、プラットフォーム110のオペレータ及び/又はプラットフォーム110のユーザに洞察を提供することもできる。例えば、アプリケーションは、(例えば、オンライン活動におけるIPアドレス又はドメイン名を、マスタ企業特性データベース内の特定のマスタ識別子に関連付けられたIPアドレス又はドメイン名に一致させることによって)匿名のオンライン活動を特定のマスタ識別子に結び付けるために、マスタ企業特性データベースを利用することができる。その結果、別様で匿名であるオンライン活動を特定の企業に関連付けることができる。換言すれば、一実施形態では、マスタ企業特性データベースを使用して、匿名であることが既知のインターネット活動など、企業レベルでの匿名オンライン活動を非匿名化することができる。これらの非匿名化されたオンライン活動は、次いで、プラットフォーム110のオペレータ及び/又はユーザによって、販売インテリジェンス(例えば、ターゲットマーケティング、マーケティングキャンペーンの有効性の計算など)又は他の下流活動において使用することができる。別の例として、ユーザは、ユーザのCRMシステム内に複数のアカウントを有することができ、マスタ化された企業特性記録のサブセットは、ユーザのCRMシステム内のアカウントとマスタ化された企業特性記録との間のフィールド値の一致に基づいて、これらの別個のアカウントの全てが実際に単一の企業を表すという洞察を提供することができる。ユーザは、この知識を利用して、その企業に関する更なる洞察を得ることができる。アプリケーションは、アプリケーションによって生成される(例えば、ユーザシステム130上にレンダリングされる)グラフィカルユーザインターフェースの1つ以上の画面を通して、販売インテリジェンスをユーザに提供し得ることを理解されたい。
【0096】
プロセス300内の一部のサブプロセスを、ドメイン名、企業名、及び国などの特定のフィールドに関して説明したが、代替実施形態では他のフィールドを使用できることを理解されたい。例えば、サブプロセス350におけるクラスタ化は、他のフィールドのタプルを使用して実行されてもよい。更に、マスタ識別子は、他のフィールドを使用してサブプロセス360で生成することができる。
【0097】
2.2.規則ベースの正規化及びフィルタリング
【0098】
上述したように、サブプロセス320及び330では、基準を使用して特定のデータを除外又はクリーニングすることができる。かかる基準は、低量又は低頻度の状況、あるいはアルゴリズムが検出することが困難すぎる状況を是正するために使用することができる。かかる基準の例として、以下が挙げられる。
【0099】
(1)明らかに間違っているDNタプル、すなわち(ドメイン名、企業名)タプルを除外するための(例えば、サブプロセス330における)除外規則。明らかに誤ったDNタプルの例は、(comcast.com,Bob’s Bait and Tackle)である。この場合、ドメイン名は、企業自体ではなく、企業のインターネットサービスプロバイダ(ISP)に関連付けられている可能性が高い。この規則は、特定のDNタプル、ドメイン名、及び/又は企業名を含む除外リストとして実装することができる。
【0100】
(2)明らかに誤っている国を含むタプルを除外するための(例えば、サブプロセス330における)除外規則。かかるタプルの例は、(in-and-out.com,Ethiopia)である。この規則は、特定のタプル、ドメイン名、及び/又は国を含む除外リストとして実装することができる。
【0101】
(3)フィールドがジャンクデータを含むことを示すキーワードを含む企業名を含むタプルを除外するための(例えば、サブプロセス330における)除外規則。かかるキーワードとしては、例えば、「TESTACCOUNT」、「NOTACOMPANY」、「WEBTRIAL」などが挙げられる。これらのキーワードは、訪問者が重大な意図なしにウェブフォームに記入した結果として、フォーム記入ソースからのデータに頻繁に出現する。この規則は、特定のキーワードを含む除外リストとして実装され得る。
【0102】
(4)「企業」又は法人の他の形態を意味する用語を企業名から除去する(例えば、サブプロセス320における)正規化規則。例えば、「Corp」という用語は、「Intel Corp」及び「Intel」が同じ標準化された形式を有するように、全ての企業名から除去されるべきである。この規則は、除去されるべきである種々の形態の、又は正規表現として表される一部の用語を含むリストとして実装され得る。
【0103】
(5)特別な処理を必要とする特定のドメイン名を標準化する(例えば、サブプロセス320における)正規化規則。例えば、サブドメインをホストするウェブサイトのドメイン名は、ドメインではなくサブドメインに標準化されるべきである。一例として、サブドメイン「*.abc.wix.com」は、「wix.com」ではなく「abc.wix.com」に標準化されるべきである。この規則は、サブドメインを超えて短縮されるべきでない特定のドメインを含むリストとして実装されてもよい。
【0104】
(6)アルゴリズムを介して賢明に処理することができない特定の逐語的変換を実行する(例えば、サブプロセス320における)正規化規則。この規則は、変換のリストとして実装され得る。変換は、特定のキーワード又はフレーズを別のキーワード又はフレーズに置換することを含み得る。置換される各キーワード又はフレーズは、文字列又は正規表現として表されてもよい。
【0105】
企業特性記録が正規化規則に一致するデータを含む場合、企業特性記録は、正規化規則に従って変更され得る。企業特性記録が除外規則に一致するデータを含む場合、除外規則に一致するデータは、企業特性記録から削除されてもよいし、企業特性記録内で置換されてもよい。代替的に、一部の場合では、企業特性記録が特定の除外規則に一致するデータを含む場合、企業特性記録全体が更なる処理から除外されてもよい。
【0106】
2.3.データ改善の検証方法
【0107】
一実施形態では、マスタ企業特性データベースは、プラットフォーム110のオペレータによるユーザフィードバック及びデータキュレーションによって洗練され得る。例えば、アプリケーションのグラフィカルユーザインターフェースは、マスタ企業特性データベース内のデータに訂正を提出するための1つ以上の入力を含んでもよい。一例として、ユーザは、検索クエリをマスタ企業特性データベースに提出し、検索結果をグラフィカルユーザインターフェースで閲覧してもよい。検索結果内の各企業特性記録は、企業特性記録にフラグを立てる(例えば、企業の属性が正しくない)及び/又は訂正を提出する(例えば、企業の属性が指定された値であるべきである)ための入力に関連付けられ得る。例えば、ユーザは、業界として「石油及びガス」を誤って含むインテル・セミコンダクターズの企業特性記録にフラグを立てる場合がある。別の例として、ユーザは、IBMの企業特性記録の収益を「$1B+」から「$5B+」に変更する訂正を提出する場合がある。アプリケーションは、フラグを訂正にマッピングすることができ、その結果、フラグが立てられている企業特性記録における属性に応答して、アプリケーションは、管理人にその属性の正しい値を入力するように促すことができる。
【0108】
アプリケーションは、企業特性記録がマスタ企業特性データベースにおいて更新される前に、1つ以上のレベルの検証を通して、企業特性記録に対する任意のフィードバックをルーティングすることができる。一実施形態では、フィードバックは、役割ベースのアクセスを介して複数のユーザによる複数のレベルの検証を通過することが要求される。検証プロセスに関与するユーザの各役割には、異なる重みが割り当てられ得る。全てのユーザの役割の重みは、(例えば、フィードバックを強める承認及び/又はフィードバックを弱める不承認との和又は他の組み合わせによって)組み合わされてもよく、結果は、閾値と比較されてもよい。結果が閾値を満たすと、フィードバックを検証することができ、訂正データを含み得るフィードバックを用いて、マスタ企業特性データベースを更新することができる。逆に、結果が閾値を満たさない限り、フィードバックは検証されず、マスタ企業特性データベースは更新されない。データスペシャリストの役割は、非スペシャリストの役割よりも高い関連する重みを有することができる。したがって、データ専門家によって検証されたフィードバックは、非専門家によって検証されたフィードバックよりも少ない検証を必要とする。製品管理者又はデータエンジニアなどの特定の役割に関連付けられた重みは、その役割を有する単一のユーザによる検証が、他のいかなる検証も必要とせずにフィードバックを検証するように、十分に高く設定され得る。このロールベースの検証プロセスは、精度に対する懸念のバランスをとりながら、連続的なデータ改善を可能にする。
【0109】
データは、種々のソースによって改善され得る。例えば、プラットフォーム110のユーザ(すなわち、彼らのビジネスのためにマスタ企業特性データベースを利用するユーザ)は、上述したように、エラーにフラグを立て、訂正を提案できるとともに、除外リストに追加されるエントリ(例えば、タプル)を指定してもよい。プラットフォーム110のオペレータは、データセットを利用して、ジャンクデータを識別及び除去し、訂正を提出し、ドメインリダイレクション及びエイリアシングを識別及び考慮し、地理的データを追加し、除外リストをキュレートなどすることができる。更に、データは、クラウドソーシング及び/又はスクレイピングされ得る。クラウドソーシングされたデータ(すなわち、大きなグループの人々によって取得された情報から導出されたデータ)を使用して、データ内のエラーを訂正するとともに、企業特性記録を供給することができる。(例えば、ウェブクロールから導出された)スクレイピングされたデータを使用して、ドメインリダイレクションを識別するとともに、企業特性記録を供給することができる。全てのソースからの全てのデータは、開示された検証プロセスを受けることができ、この検証プロセスは、人間の努力及び/又は自動化、複数のレベルの検証、アプリケーションのグラフィカルユーザインターフェースを介した役割ベースの人間の関与などを含み得る。次に、検証プロセスを通じて完全に検証された企業特性データは、マスタ企業特性データベースに組み込むことができ、一方、未検証又は部分的に検証された企業特性データは、マスタ企業特性データベースに組み込まれない。
【0110】
一実施形態では、アプリケーションは、古くなった企業特性記録を検出するためにマスタ企業特性データベースを定期的に解析することができる。古い企業特性記録は、削除されるか、又は(例えば、人間のレビューのために)フラグが立てられる場合がある。加えて、アプリケーションは、種々のパブリックソース又はプライベートベンダ(例えば、外部システム140)からの企業特性データを定期的にスクレイピング及び解析することができる。開示される実施形態では、新しいソースから新しいフォーマットで企業特性記録データを取得するようにプラットフォーム110を適合させることは容易である。
【0111】
開示される実施形態の上記の説明は、当業者が本発明を作成又は使用することを可能にするために提供される。これらの実施形態に対する種々の修正は、当業者には容易に明らかになり、本明細書で説明される一般的な原理は、本発明の趣旨又は範囲から逸脱することなく、他の実施形態に適用され得る。したがって、本明細書に提示される説明及び図面は、本発明の現在好ましい実施形態を表し、したがって、本発明によって広く企図される主題を表すことを理解されたい。本発明の範囲は、当業者に明らかになり得る他の実施形態を完全に包含し、したがって、本発明の範囲は限定されないことが更に理解される。
【0112】
「A、B、又はCのうちの少なくとも1つ」、「A、B、又はCのうちの1つ以上」、「A、B、及びCのうちの少なくとも1つ」、「A、B、及びCのうちの1つ以上」、並びに「A、B、C、又はそれらの任意の組み合わせ」などの本明細書に説明される組み合わせは、A、B、及び/又はCの任意の組み合わせを含み、Aの倍数、Bの倍数、又はCの倍数を含み得る。具体的には、「A、B、又はCのうちの少なくとも1つ」、「A、B、又はCのうちの1つ以上」、「A、B、及びCのうちの少なくとも1つ」、「A、B、及びCのうちの1つ以上」、並びに「A、B、C、又はそれらの任意の組み合わせ」などの組み合わせは、Aのみ、Bのみ、Cのみ、A及びB、A及びC、B及びC、又はA及びB及びCであってもよく、任意のそのような組み合わせは、その構成要素A、B、及び/又はCのうちの1つ以上の成員を含有してもよい。例えば、A及びBの組み合わせは、1つのA及び複数のB、複数のA及び1つのB、又は複数のA及びBであってもよい。
【国際調査報告】