(57)【要約】  説明されるシステムおよび方法によって、文書固有のテキストフィンガープリントによる、電子メールメッセージおよびＨＴＭＬ文書などの電子文書の分類が可能となる。テキストフィンガープリントは、各々の対象文書のテキストブロックに対して算出され、それぞれのテキストブロックの複数のテキストトークンによって決定される文字のシーケンスを含む。一部の実施形態ではテキストフィンガープリントの長さは、短いテキストブロックに対してズームインし、長いものに対してズームアウトすることにより、テキストブロックの長さに関わらず、長さのあらかじめ決定された範囲内に（例えば、１２９文字から２５６文字の間に）あることを強いられる。分類は例えば、電子文書が、非請求通信（スパム）、または、フィッシングなどのオンライン詐欺を表すかどうかを決定することを含み得る。
2016517064.tif 000002
【特許請求の範囲】
【請求項１】
対象電子文書のテキストフィンガープリントを、前記テキストフィンガープリントの長さが下方限界と上方限界との間に制約されるよう求めるように構成された少なくとも１つのプロセッサを備えたクライアントコンピュータシステムであって、前記下方限界および前記上方限界はあらかじめ定められ、前記テキストフィンガープリントを求めることは、
前記対象電子文書の複数のテキストトークンを選択することと、
前記複数のテキストトークンの選択に応答して、前記上方限界および前記下方限界に従い、且つ、選択された前記複数のテキストトークンのカウントに従い、フィンガープリントフラグメントサイズを求めることと、
複数のフィンガープリントフラグメントを求めることであって、前記複数のフィンガープリントフラグメントのか各フィンガープリントフラグメントは、選択された前記複数のテキストトークンのうちの別個のテキストトークンのハッシュに従い求められ、各フィンガープリントフラグメントは文字のシーケンスを含み、前記シーケンスの長さは、前記フィンガープリントフラグメントサイズと等しいように選ばれる、求めることと、
前記複数のフィンガープリントフラグメントを連結して、前記テキストフィンガープリントを形成することと
を含む、クライアントコンピュータシステム。
【請求項２】
請求項１に記載のクライアントコンピュータシステムであって、前記少なくとも１つのプロセッサは、
サーバコンピュータシステムに前記テキストフィンガープリントを送り、
前記サーバコンピュータシステムから、前記対象電子文書に対して求められた対象ラベルを受ける
ように構成され、前記対象ラベルは、前記対象電子文書が属する文書のカテゴリを示し、前記対象ラベルを求めることは、
参照フィンガープリントのデータベースから参照フィンガープリントを検索することであって、前記参照フィンガープリントは、前記カテゴリに属する参照電子文書に対して求められ、前記参照フィンガープリントは、前記参照フィンガープリントの長さに従い、前記参照フィンガープリントの前記長さが前記上方限界と前記下方限界との間にあるように選択される、検索することと、
前記対象電子文書が前記カテゴリに属するかを、前記テキストフィンガープリントを前記参照フィンガープリントと比較することの結果に従い判定することと
を含む、クライアントコンピュータシステム。
【請求項３】
請求項２に記載のクライアントコンピュータシステムであって、文書の前記カテゴリはスパムカテゴリである、クライアントコンピュータシステム。
【請求項４】
請求項２に記載のクライアントコンピュータシステムであって、文書の前記カテゴリは詐欺的文書カテゴリである、クライアントコンピュータシステム。
【請求項５】
請求項１に記載のクライアントコンピュータシステムであって、前記テキストフィンガープリントを求めることは、前記別個のテキストトークンの前記ハッシュのビットの別個の群に従い、文字の前記シーケンスのうちの各文字を求めることをさらに含む、クライアントコンピュータシステム。
【請求項６】
請求項１に記載のクライアントコンピュータシステムであって、前記複数のテキストトークンを選択することが、
前記対象電子文書の予備的な複数のテキストトークンを選択することと、
前記予備的な複数のテキストトークンのカウントを求めることと、
それに応答して、前記予備的な複数のテキストトークンの前記カウントが、あらかじめ定められたしきい値を上回るときに、前記予備的な複数のテキストトークンを簡潔にして、選択された前記複数のテキストトークンを、選択された前記複数のトークンの前記カウントが前記あらかじめ定められたしきい値を上回らないように形成することと
を含む、クライアントコンピュータシステム。
【請求項７】
請求項６に記載のクライアントコンピュータシステムであって、前記予備的な複数のテキストトークンを簡潔にすることは、前記予備的な複数のテキストトークンのうちの対象テキストトークンを、前記対象テキストトークンのハッシュに従い選択された前記複数のテキストトークンの中に選択することを含む、クライアントコンピュータシステム。
【請求項８】
請求項６に記載のクライアントコンピュータシステムであって、前記予備的な複数のテキストトークンを簡潔にすることは、
前記対象テキストトークンの前記ハッシュがズームアウト因子により割り切れるかを判定することと、
それに応答して、前記対象テキストトークンが前記ズームアウト因子により割り切れるときに、前記対象テキストトークンを選択された前記複数のテキストトークンの中に選択することと
をさらに含む、クライアントコンピュータシステム。
【請求項９】
請求項１に記載のクライアントコンピュータシステムであって、前記複数のテキストトークンを選択することは、
前記対象電子文書の予備的な複数のテキストトークンを選択することと、
前記予備的な複数のテキストトークンのカウントを求めることと、
それに応答して、前記予備的な複数のテキストトークンの前記カウントが、あらかじめ定められたしきい値を上回るときに、
複数の集約テキストトークンであって、前記複数の集約テキストトークンのうちの各集約テキストトークンは、前記予備的な複数のテキストトークンのうちのテキストトークンのセットの連結を含む、複数の集約テキストトークンを求め、
前記複数の集約トークンのうちの集約トークンを、前記集約テキストトークンのハッシュに従い、選択された前記複数のテキストトークンの中に選択する
ことと
を含む、クライアントコンピュータシステム。
【請求項１０】
請求項１に記載のクライアントコンピュータシステムであって、前記対象電子文書が、電子メールメッセージと、ハイパーテキストマークアップ言語（ＨＴＭＬ）文書とからなる群から選択される、クライアントコンピュータシステム。
【請求項１１】
請求項１に記載のクライアントコンピュータシステムであって、前記別個のテキストトークンは、前記対象電子通信の、単語と、電子メールアドレスと、ユニフォームリソースロケータ（ＵＲＬ）とからなる群から選択された項目を含む、クライアントコンピュータシステム。
【請求項１２】
複数のクライアントシステムとのトランザクションを実行するように構成された少なくとも１つのプロセッサを備えたサーバコンピュータシステムであって、トランザクションは、
前記複数のクライアントシステムのうちのクライアントシステムからテキストフィンガープリントを受けることであって、前記テキストフィンガープリントは、前記テキストフィンガープリントの長さが下方限界と上方限界との間に制約されるように対象電子文書に対して求められ、前記下方限界および前記上方限界はあらかじめ定められた、受けることと、
前記クライアントシステムに、前記対象電子文書が属する文書のカテゴリを示す対象ラベルを送ることと
を含み、前記テキストフィンガープリントを求めることは、
前記対象電子文書の複数のテキストトークンを選択することと、
前記複数のテキストトークンの選択に応答して、前記上方限界および前記下方限界に従い、且つ、選択された前記複数のテキストトークンのカウントに従い、フィンガープリントフラグメントサイズを求めることと、
複数のフィンガープリントフラグメントを求めることであって、前記複数のフィンガープリントフラグメントのうちの各フィンガープリントフラグメントは、選択された前記複数のテキストトークンのうちの別個のテキストトークンのハッシュに従い求められ、各フィンガープリントフラグメントは文字のシーケンスを含み、前記シーケンスの長さは、前記フィンガープリントフラグメントサイズと等しいように選ばれる、求めることと、
前記複数のフィンガープリントフラグメントを連結して、前記テキストフィンガープリントを形成することと
を含み、前記対象ラベルを求めることは、
参照フィンガープリントのデータベースから参照フィンガープリントを検索することであって、前記参照フィンガープリントは、前記カテゴリに属する参照電子文書に対して求められ、前記参照フィンガープリントは、前記参照フィンガープリントの長さに従い、前記参照フィンガープリントの前記長さが前記上方限界と前記下方限界との間にあるように選択される、検索することと、
前記対象電子文書が前記カテゴリに属するかを、前記テキストフィンガープリントを前記参照フィンガープリントと比較することの結果に従い判定することと
を含む、サーバコンピュータシステム。
【請求項１３】
請求項１２に記載のサーバコンピュータシステムであって、文書の前記カテゴリはスパムカテゴリである、サーバコンピュータシステム。
【請求項１４】
請求項１２に記載のサーバコンピュータシステムであって、文書の前記カテゴリは詐欺的文書カテゴリである、サーバコンピュータシステム。
【請求項１５】
請求項１２に記載のサーバコンピュータシステムであって、前記テキストフィンガープリントを求めることは、前記別個のテキストトークンの前記ハッシュのビットの別個の群に従い、文字の前記シーケンスのうちの各文字を求めることをさらに含む、サーバコンピュータシステム。
【請求項１６】
請求項１２に記載のサーバコンピュータシステムであって、前記複数のテキストトークンを選択することは、
前記対象電子文書の予備的な複数のテキストトークンを選択することと、
前記予備的な複数のテキストトークンのカウントを求めることと、
それに応答して、前記予備的な複数のテキストトークンの前記カウントが、あらかじめ定められたしきい値を上回るときに、前記予備的な複数のテキストトークンを簡潔にして、選択された前記複数のテキストトークンを、選択された前記複数のトークンの前記カウントが前記あらかじめ定められたしきい値を上回らないように形成することと
を含む、サーバコンピュータシステム。
【請求項１７】
請求項１６に記載のサーバコンピュータシステムであって、前記予備的な複数のテキストトークンを簡潔にすることは、前記予備的な複数のテキストトークンのうちの対象テキストトークンを、前記対象テキストトークンのハッシュに従い選択された前記複数のテキストトークンの中に選択することを含む、サーバコンピュータシステム。
【請求項１８】
請求項１７に記載のサーバコンピュータシステムであって、前記予備的な複数のテキストトークンを簡潔にすることは、
前記対象テキストトークンの前記ハッシュがズームアウト因子により割り切れるかを判定することと、
それに応答して、前記対象テキストトークンが前記ズームアウト因子により割り切れるときに、前記対象テキストトークンを選択された前記複数のテキストトークンの中に選択することと
をさらに含む、サーバコンピュータシステム。
【請求項１９】
請求項１２に記載のサーバコンピュータシステムであって、前記複数のテキストトークンを選択することは、
前記対象電子文書の予備的な複数のテキストトークンを選択することと、
前記予備的な複数のテキストトークンのカウントを求めることと、
それに応答して、前記予備的な複数のテキストトークンの前記カウントが、あらかじめ定められたしきい値を上回るときに、
複数の集約テキストトークンであって、前記複数の集約テキストトークンのうちの各集約テキストトークンが、前記予備的な複数のテキストトークンのうちのテキストトークンのセットの連結を含む、複数の集約テキストトークンを求め、
前記複数の集約トークンのうちの集約トークンを、前記集約テキストトークンのハッシュに従い、選択された前記複数のテキストトークンの中に選択する
ことと
を含む、サーバコンピュータシステム。
【請求項２０】
請求項１２に記載のサーバコンピュータシステムであって、前記対象電子文書が、電子メールメッセージと、ハイパーテキストマークアップ言語（ＨＴＭＬ）文書とからなる群から選択される、サーバコンピュータシステム。
【請求項２１】
請求項１２に記載のサーバコンピュータシステムであって、前記別個のテキストトークンは、前記対象電子通信の、単語と、電子メールアドレスと、ユニフォームリソースロケータ（ＵＲＬ）とからなる群から選択された項目を含む、サーバコンピュータシステム。
【請求項２２】
クライアントコンピュータシステムの少なくとも１つのプロセッサを用いて、対象電子文書のテキストフィンガープリントを、前記テキストフィンガープリントの長さが下方限界と上方限界との間に制約されるように求めるステップを含む方法であって、前記下方限界および前記上方限界はあらかじめ定められ、前記テキストフィンガープリントを求めるステップは、
前記対象電子文書の複数のテキストトークンを選択するステップと、
前記複数のテキストトークンの選択に応答して、前記上方限界および前記下方限界に従い、且つ、選択された前記複数のテキストトークンのカウントに従い、フィンガープリントフラグメントサイズを求めるステップと、
複数のフィンガープリントフラグメントを求めるステップであって、前記複数のフィンガープリントフラグメントのうちの各フィンガープリントフラグメントは、選択された前記複数のテキストトークンのうちの別個のテキストトークンのハッシュに従い求められ、各フィンガープリントフラグメントは文字のシーケンスを含み、前記シーケンスの長さは、前記フィンガープリントフラグメントサイズと等しいように選ばれる、ステップと、
前記複数のフィンガープリントフラグメントを連結して、前記テキストフィンガープリントを形成するステップと
を含む、方法。
【請求項２３】
請求項２２に記載の方法であって、前記少なくとも１つのプロセッサを用いて、前記テキストフィンガープリントに従い、前記対象電子文書が属する文書のカテゴリを求めるステップをさらに含む方法。
【請求項２４】
複数のクライアントシステムとのトランザクションを実行するように構成されたサーバコンピュータシステムの少なくとも１つのプロセッサを用いて、
前記複数のクライアントシステムのうちのクライアントシステムからテキストフィンガープリントを受けることであって、前記テキストフィンガープリントは、前記テキストフィンガープリントの長さが下方限界と上方限界との間に制約されるように対象電子文書に対して求められ、前記下方限界および前記上方限界はあらかじめ定められた、受けることと、
前記クライアントシステムに、前記対象電子文書に対して求められた対象ラベルを送ることであって、前記対象ラベルは、前記対象電子文書が属する文書のカテゴリを示す、送ることと
を行うステップを含む方法であって、前記テキストフィンガープリントを求めることは、
前記対象電子文書の複数のテキストトークンを選択することと、
前記複数のテキストトークンの選択に応答して、前記上方限界および前記下方限界に従い、且つ、選択された前記複数のテキストトークンのカウントに従い、フィンガープリントフラグメントサイズを求めることと、
複数のフィンガープリントフラグメントを求めることであって、前記複数のフィンガープリントフラグメントのうちの各フィンガープリントフラグメントは、選択された前記複数のテキストトークンのうちの別個のテキストトークンのハッシュに従い求められ、各フィンガープリントフラグメントは文字のシーケンスを含み、前記シーケンスの長さは、前記フィンガープリントフラグメントサイズと等しいように選ばれる、求めることと、
前記複数のフィンガープリントフラグメントを連結して、前記テキストフィンガープリントを形成することと
を含み、前記対象ラベルを求めることが、
参照フィンガープリントのデータベースから参照フィンガープリントを検索することであって、前記参照フィンガープリントは、前記カテゴリに属する参照電子文書に対して求められ、前記参照フィンガープリントは、前記参照フィンガープリントの長さに従い、前記参照フィンガープリントの前記長さが前記上方限界と前記下方限界との間にあるように選択される、検索することと、
前記対象電子文書が前記カテゴリに属するかを、前記テキストフィンガープリントを前記参照フィンガープリントと比較することの結果に従い判定することと
を含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本発明は、電子文書を分類するための方法およびシステムに、ならびに特に、非請求（ｕｎｓｏｌｉｃｉｔｅｄ）電子通信（スパム）をフィルタリングし、詐欺的オンライン文書を検出するためのシステムおよび方法に関係する。
【背景技術】
【０００２】
[0002]スパムとしても知られている非請求電子通信は、世界的に通信トラフィックの相当量の一部分を形成し、コンピュータおよび電話の両方のメッセージングサービスに影響を与える。スパムは、非請求電子メール通信から、ブログなどの様々なインターネットサイト、およびソーシャルネットワークサイト上のユーザコメントになりすますスパムメッセージまで、多くの形式をとり得る。スパムは、価値の高いハードウェアリソースを占有し、生産性に影響を与え、通信サービスおよび／またはインターネットの多くのユーザにより、迷惑である、および押しつけがましいと考えられている。
【０００３】
[0003]特にフィッシングおよび身元データ窃盗の形式でのオンライン詐欺が、世界的にインターネットユーザに対する増大する脅威を提起してきている。インターネット上で活動する国際的な犯罪ネットワークにより詐欺的に得られた、ユーザ名、ＩＤ、パスワード、社会保障および医療の記録、銀行およびクレジットカードの明細などの、取り扱いに注意を要する身元データ情報が、私的な資金を引き出すために使用され、および／または、第三者にさらに売り渡される。一個人に対する直接の金融関係の損害に加えて、オンライン詐欺はさらに、企業に対する増大されるセキュリティコスト、より高い小売価格および銀行取引料金、下落する株式価値、より低い賃金、ならびに、減少される税収などの、望まれない副作用に関する範囲のものを引き起こす。
【０００４】
[0004]例示的なフィッシングの試みでは、偽のウェブサイト（クローンとも呼ばれる）が、オンライン小売店または金融機関に属する本物のウェブページに見せかけて、ユーザに、ユーザ名もしくはパスワードなどの何らかの個人情報、または、何らかの金融関係の情報、例えばクレジットカード番号、口座番号、もしくはセキュリティコードを入れるように求める場合がある。情報が、疑わないユーザにより提出されると、その情報は、偽のウェブサイトにより取り込まれ得る。加えてユーザは、ユーザのコンピュータ上に悪意のあるソフトウェアをインストールすることが可能である別のウェブページに導かれる場合がある。悪意のあるソフトウェア（例えば、ウィルス、トロイの木馬）は、決まったウェブページを訪れる間にユーザにより押されるキーを記録することにより個人情報を盗取し続ける場合があり、ユーザのコンピュータを、他のフィッシングまたはスパム攻撃を立ち上げるためのプラットフォームに一変させる場合がある。
【０００５】
[0005]電子メールスパムまたは電子メール詐欺の事例では、ユーザの、または、電子メールサービスプロバイダのコンピュータシステム上で走るソフトウェアが、電子メールメッセージをスパム／非スパムと（または、詐欺的／正当と）分類するために、ならびにさらに、様々な種類のメッセージの間で、例えば、製品売買申し込み、成人向けコンテンツ、および、ナイジェリア詐欺の間で判別するために使用され得る。次いでスパム／詐欺的メッセージは、特別のフォルダに導かれ得る、または削除され得る。類似的に、コンテンツプロバイダのコンピュータシステム上で走るソフトウェアが、それぞれのコンテンツプロバイダによりホストされるウェブサイトにポストされるスパム／詐欺的メッセージを横取りするために、および、それぞれのメッセージが表示されることを防止するために、または、それぞれのメッセージが詐欺的もしくはスパムであり得るということの、ウェブサイトのユーザへの警告を表示するために使用され得る。
【０００６】
[0006]いくつもの手法が、メッセージの発出するアドレスを、知られている問題のある、または信頼されるアドレスのリストとマッチングすること（それぞれ、ブラックリスティングおよびホワイトリスティングと呼ばれる技法）、決まった単語または単語パターンをサーチすること（例えば、借り換え、Ｖｉａｇｒａ（登録商標）、株式）、および、メッセージヘッダを分析することを含む、スパムおよび／またはオンライン詐欺を識別することのために提案されてきた。特徴抽出／マッチング方法が、自動化されたデータ分類方法と連関して使用されることがある（例えば、ベイジアンフィルタリング、ニューラルネットワーク）。
【０００７】
[0007]一部の提案される方法は、ハッシングを用いて、電子テキストメッセージのコンパクトな表現を生成する。そのような表現は、スパムまたは詐欺検出目的での、効率的なメッセージ間比較を考えに入れたものである。
【０００８】
[0008]スパマーおよびオンライン詐欺師は、決まった単語を間違えてつづること、スパムおよび／または詐欺的コンテンツを、正当な文書になりすますテキストのより大きなブロック内に埋め込むこと、ならびに、メッセージの形式および／またはコンテンツを、１つの配布の一団から別のものに改変することなどの、様々な難読化方法を使用することにより検出を巧みに回避することを試みる。ハッシングを用いるスパム対策および詐欺対策の方法は、テキスト内の小さな変化が、実質的に異なるハッシュを生成し得るので、そのような難読化には典型的には脆弱である。したがって成功する検出は、多形性のスパムおよび詐欺を認識することが可能な方法およびシステムから利益を得ることが可能である。
【発明の概要】
【０００９】
[0009]１つの態様によれば、クライアントコンピュータシステムは、対象電子文書のテキストフィンガープリントを、テキストフィンガープリントの長さが下方限界と上方限界との間に制約されるように決定するように構成される少なくとも１つのプロセッサを備え、下方限界および上方限界は、あらかじめ決定される。テキストフィンガープリントを決定することは、対象電子文書の複数のテキストトークンを選択することと、複数のテキストトークンを選択することに応答して、上方限界および下方限界によって、ならびに、選択された複数のテキストトークンのカウントによってフィンガープリントフラグメントサイズを決定することとを含む。テキストフィンガープリントを決定することは、複数のフィンガープリントフラグメントを決定することであって、複数のフィンガープリントフラグメントの各々のフィンガープリントフラグメントが、選択された複数のテキストトークンの別個のテキストトークンのハッシュによって決定され、各々のフィンガープリントフラグメントが文字のシーケンスからなり、シーケンスの長さが、フィンガープリントフラグメントサイズと等しいように選定される、決定することと、複数のフィンガープリントフラグメントを連結して、テキストフィンガープリントを形成することとをさらに含む。
【００１０】
[0010]別の態様によれば、サーバコンピュータシステムは、複数のクライアントシステムとのトランザクションを遂行するように構成される少なくとも１つのプロセッサを備え、トランザクションは、複数のクライアントシステムのクライアントシステムからテキストフィンガープリントを受信することであって、テキストフィンガープリントが、テキストフィンガープリントの長さが下方限界と上方限界との間に制約されるように対象電子文書に対して決定され、下方限界および上方限界が、あらかじめ決定される、受信することと、クライアントシステムに、対象電子文書が属する文書のカテゴリを指し示す対象ラベルを送信することとを含む。テキストフィンガープリントを決定することは、対象電子文書の複数のテキストトークンを選択することと、複数のテキストトークンを選択することに応答して、上方限界および下方限界によって、ならびに、選択された複数のテキストトークンのカウントによってフィンガープリントフラグメントサイズを決定することとを含む。テキストフィンガープリントを決定することは、複数のフィンガープリントフラグメントを決定することであって、複数のフィンガープリントフラグメントの各々のフィンガープリントフラグメントが、選択された複数のテキストトークンの別個のテキストトークンのハッシュによって決定され、各々のフィンガープリントフラグメントが文字のシーケンスからなり、シーケンスの長さが、フィンガープリントフラグメントサイズと等しいように選定される、決定することと、複数のフィンガープリントフラグメントを連結して、テキストフィンガープリントを形成することとをさらに含む。対象ラベルを決定することは、参照フィンガープリントのデータベースから参照フィンガープリントを検索することであって、参照フィンガープリントが、カテゴリに属する参照電子文書に対して決定され、参照フィンガープリントが、参照フィンガープリントの長さによって、参照フィンガープリントの長さが上方限界と下方限界との間にあるように選択される、検索することと、対象電子文書がカテゴリに属するかどうかを、テキストフィンガープリントを参照フィンガープリントと比較することの結果によって決定することとを含む。
【００１１】
[0011]別の態様によれば、方法は、クライアントコンピュータシステムの少なくとも１つのプロセッサを用いて、対象電子文書のテキストフィンガープリントを、テキストフィンガープリントの長さが下方限界と上方限界との間に制約されるように決定するステップを含み、下方限界および上方限界は、あらかじめ決定される。テキストフィンガープリントを決定するステップは、対象電子文書の複数のテキストトークンを選択するステップと、複数のテキストトークンを選択するステップに応答して、上方限界および下方限界によって、ならびに、選択された複数のテキストトークンのカウントによってフィンガープリントフラグメントサイズを決定するステップとを含む。テキストフィンガープリントを決定するステップは、複数のフィンガープリントフラグメントを決定するステップであって、複数のフィンガープリントフラグメントの各々のフィンガープリントフラグメントが、選択された複数のテキストトークンの別個のテキストトークンのハッシュによって決定され、各々のフィンガープリントフラグメントが文字のシーケンスからなり、シーケンスの長さが、フィンガープリントフラグメントサイズと等しいように選定される、決定するステップと、複数のフィンガープリントフラグメントを連結して、テキストフィンガープリントを形成するステップとをさらに含む。
【００１２】
[0012]別の態様によれば、方法は、複数のクライアントシステムとのトランザクションを遂行するように構成されるサーバコンピュータシステムの少なくとも１つのプロセッサを用いて、複数のクライアントシステムのクライアントシステムからテキストフィンガープリントを受信することであって、テキストフィンガープリントが、テキストフィンガープリントの長さが下方限界と上方限界との間に制約されるように対象電子文書に対して決定され、下方限界および上方限界が、あらかじめ決定される、受信することと、クライアントシステムに、対象電子文書に対して決定された対象ラベルを送信することであって、対象ラベルが、対象電子文書が属する文書のカテゴリを指示する、送信することとを行うステップを含む。テキストフィンガープリントを決定するステップは、対象電子文書の複数のテキストトークンを選択するステップと、複数のテキストトークンを選択するステップに応答して、上方限界および下方限界によって、ならびに、選択された複数のテキストトークンのカウントによってフィンガープリントフラグメントサイズを決定するステップとを含む。テキストフィンガープリントを決定するステップは、複数のフィンガープリントフラグメントを決定するステップであって、複数のフィンガープリントフラグメントの各々のフィンガープリントフラグメントが、選択された複数のテキストトークンの別個のテキストトークンのハッシュによって決定され、各々のフィンガープリントフラグメントが文字のシーケンスからなり、シーケンスの長さが、フィンガープリントフラグメントサイズと等しいように選定される、決定するステップと、複数のフィンガープリントフラグメントを連結して、テキストフィンガープリントを形成するステップとをさらに含む。対象ラベルを決定するステップは、参照フィンガープリントのデータベースから参照フィンガープリントを検索するステップであって、参照フィンガープリントが、カテゴリに属する参照電子文書に対して決定され、参照フィンガープリントが、参照フィンガープリントの長さによって、参照フィンガープリントの長さが上方限界と下方限界との間にあるように選択される、検索するステップと、対象電子文書がカテゴリに属するかどうかを、テキストフィンガープリントを参照フィンガープリントと比較することの結果によって決定するステップとを含む。
【００１３】
[0013]本発明の前述の態様および利点は、以下の詳細な説明を読むことで、および図面を参照することで、より良く理解されることになろう。
【図面の簡単な説明】
【００１４】
【図１】[0014]本発明の一部の実施形態による、複数のクライアントシステムを保護するセキュリティサーバを備える例示的なスパム対策／詐欺対策システムを示す図である。
【図２−Ａ】[0015]本発明の一部の実施形態による、クライアントコンピュータシステムの例示的なハードウェア構成を示す図である。
【図２−Ｂ】[0016]本発明の一部の実施形態による、セキュリティサーバコンピュータシステムの例示的なハードウェア構成を示す図である。
【図２−Ｃ】[0017]本発明の一部の実施形態による、コンテンツサーバコンピュータシステムの例示的なハードウェア構成を示す図である。
【図３−Ａ】[0018]本発明の一部の実施形態による、テキストブロックを含む例示的なスパム電子メールメッセージを示す図である。
【図３−Ｂ】[0019]本発明の一部の実施形態による、テキストブロックを含む例示的なスパムブログコメントを示す図である。
【図３−Ｃ】[0020]本発明の一部の実施形態による、複数のテキストブロックを含む例示的な詐欺的ウェブページを図解する図である。
【図４−Ａ】[0021]図４−Ａは、本発明の一部の実施形態による、クライアントコンピュータとセキュリティサーバとの間の例示的なスパム／詐欺検出トランザクションを図解する図である。
【図４−Ｂ】[0022]図４−Ｂは、本発明の一部の実施形態による、コンテンツサーバとセキュリティサーバとの間の例示的なスパム／詐欺検出トランザクションを図解する図である。
【図５】[0023]本発明の一部の実施形態による、テキストフィンガープリントおよび他のスパム／詐欺識別データを含む、対象電子文書の例示的な対象インジケータを示す図である。
【図６】[0024]本発明の一部の実施形態による、クライアントシステム上で実行するアプリケーションの例示的なセットの線図である。
【図７】[0025]本発明の一部の実施形態による、図６のフィンガープリント算出器により遂行されるステップの例示的なシーケンスを図解する図である。
【図８】[0026]本発明の一部の実施形態による、対象テキストブロックのテキストフィンガープリントの例示的な決定を示す図である。
【図９】[0027]本発明の一部の実施形態による、様々なズームイン因子およびズームアウト因子で対象テキストブロックに対して決定される複数のフィンガープリントを示す図である。
【図１０】[0028]本発明の一部の実施形態による、ズームアウトフィンガープリントを決定するためにフィンガープリント算出器により遂行されるステップの例示的なシーケンスを図解する図である。
【図１１】[0029]本発明の一部の実施形態による、セキュリティサーバ上で実行する例示的なアプリケーションを示す図である。
【図１２】[0030]本発明の一部の実施形態による、セキュリティサーバ上で実行する例示的な文書分類器の線図である。
【図１３】[0031]実際のスパムメッセージのストリームを分析することを含むコンピュータ実験で得られるスパム検出レートを示す図であり、分析は、本発明の一部の実施形態によって遂行され、前記検出レートは、従来の方法により得られる検出レートと比較される。
【発明を実施するための形態】
【００１５】
[0032]以下の説明では、構造間のすべての記載される接続は、直接の動作可能な接続、または、中間の構造を介した間接の動作可能な接続であり得るということが理解される。要素のセットは、１つまたは複数の要素を含む。要素の任意の記載は、少なくとも１つの要素を指すと理解される。複数の要素は、少なくとも２つの要素を含む。別段に必要とされない限り、任意の説明される方法ステップは、個別の図解される順序で必ずしも遂行される必要はない。第２の要素から導出される第１の要素（例えば、データ）は、第２の要素と等しい第１の要素、ならびに、第２の要素、および随意には他のデータを処理することにより発生させられる第１の要素を包含する。パラメータによって決定または判断を行うことは、パラメータによって、および随意には他のデータによって決定または判断を行うことを包含する。別段に指定されない限り、何らかの量／データのインジケータは、量／データ自体、または、量／データ自体とは異なるインジケータであり得る。別段に指定されない限り、ハッシュはハッシュ関数の出力である。別段に指定されない限り、ハッシュ関数は、シンボル（例えば、文字、ビット）のシーケンスを数字またはビットストリングに対応付けする数学的変換である。コンピュータ可読媒体は、磁気、光学、および半導体の記憶媒体（例えば、ハードドライブ、光学ディスク、フラッシュメモリ、ＤＲＡＭ）などの非一時的媒体、ならびに、導電性ケーブルおよび光学ファイバリンクなどの通信リンクを包含する。一部の実施形態によれば、本発明は中でも、本明細書で説明される方法を遂行するようにプログラムされるハードウェア（例えば、１つまたは複数のプロセッサ）、および、本明細書で説明される方法を遂行するための命令を符号化するコンピュータ可読媒体を備えるコンピュータシステムを提供する。
【００１６】
[0033]以下の説明は、例としてであって、必ずしも限定としてではなく、本発明の実施形態を図解する。
[0034]図１は、本発明の一部の実施形態による、例示的なスパム対策／詐欺対策システム１０を示す。システム１０は、コンテンツサーバ１２、送信側（ｓｅｎｄｅｒ）システム１３、セキュリティサーバ１４、および、複数のクライアントシステム１６ａ〜ｃを含み、すべては通信ネットワーク１８により接続される。ネットワーク１８は、インターネットなどのワイドエリアネットワークであり得るものであり、一方でネットワーク１８の部分は、ローカルエリアネットワーク（ＬＡＮ）を含む場合もある。
【００１７】
[0035]一部の実施形態ではコンテンツサーバ１２は、複数のユーザからのユーザ投稿（ｕｓｅｒ−ｃｏｎｔｒｉｂｕｔｅｄ）コンテンツ（例えば、記事、ブログエントリ、メディアアップロード、コメント等）を受信すること、ならびに、そのようなコンテンツをクライアントシステム１６ａ〜ｃなどの第三者に対して組織化、フォーマット化、および配布するように構成される。コンテンツサーバ１２の例示的な実施形態は、クライアントシステム１６ａ〜ｃへの電子メッセージ引き渡しを提供する電子メールサーバである。コンテンツサーバ１２の別の実施形態は、ブログまたはソーシャルネットワーキングサイトをホストするコンピュータシステムである。一部の実施形態ではユーザ投稿コンテンツは、以下の説明では対象文書とも呼称される電子文書の形式で、ネットワーク１８を介して循環する。電子文書は、ウェブページ（例えば、ＨＴＭＬ文書）、ならびに、電子メール、および、ショートメッセージサービス（ＳＭＳ）メッセージ等々のような電子メッセージを含む。サーバ１２で受信されるユーザ投稿データの一部分は、非請求の、および／または詐欺的な、メッセージおよび文書を含む場合がある。
【００１８】
[0036]一部の実施形態では送信側システム１３は、スパム電子メールメッセージなどの非請求通信をクライアントシステム１６ａ〜ｃに送信するコンピュータシステムを備える。そのようなメッセージは、サーバ１２で受信され、次いでクライアントシステム１６ａ〜ｃに送信され得る。あるいはサーバ１２で受信されるメッセージは、クライアントシステム１６ａ〜ｃによる検索のために（例えば、ウェブインターフェースによって）利用可能にされ得る。他の実施形態では送信側システム１３は、スパムブログコメント、または、ソーシャルネットワーキングサイトにポストされるスパムなどの非請求通信をコンテンツサーバ１２に送信し得る。次いでクライアントシステム１６ａ〜ｃは、ハイパーテキスト転送プロトコル（ＨＴＴＰ）などのプロトコルによって、そのような通信を検索し得る。
【００１９】
[0037]セキュリティサーバ１４は、下記で詳細に示されるような電子文書の分類を遂行する、１つまたは複数のコンピュータシステムを含み得る。そのような分類を遂行することは、フィッシングメッセージおよびウェブページなどの、非請求メッセージ（スパム）および／または詐欺的電子文書を識別することを含み得る。一部の実施形態では分類を遂行することは、セキュリティサーバ１４とコンテンツサーバ１２との間で、および／または、セキュリティサーバ１４とクライアントシステム１６ａ〜ｂとの間で履行される、協働的スパム／詐欺検出トランザクションを含む。
【００２０】
[0038]クライアントシステム１６ａ〜ｃは、各々がプロセッサ、メモリ、および記憶装置を有し、Ｗｉｎｄｏｗｓ（登録商標）、ＭａｃＯＳ（登録商標）、またはＬｉｎｕｘ（登録商標）などのオペレーティングシステムを走らせる、エンドユーザコンピュータを含み得る。一部のクライアントコンピュータシステム１６ａ〜ｃは、タブレットＰＣ、移動電話、携帯情報端末（ＰＤＡ）などの、移動コンピューティングおよび／または電気通信デバイス、ならびに、ＴＶ、または、音楽プレーヤ等々のような家庭用デバイスであり得る。一部の実施形態では、クライアントシステム１６ａ〜ｃは個々の利用者を表す場合があり、または、いくつものクライアントシステムが同じ利用者に属する場合がある。クライアントシステム１６ａ〜ｃは、電子文書、例えば電子メールメッセージにアクセスすることを、そのような文書を送信側システム１３から受信し、それらをローカルインボックスに記憶することによって、または、そのような文書を、例えばコンテンツサーバ１２によりサービス提供されるウェブサイトから、ネットワーク１８を介して検索することによってのいずれかで行うことが可能である。
【００２１】
[0039]図２−Ａは、図１のシステム１６ａ〜ｃなどのクライアントシステム１６の例示的なハードウェア構成を示す。図２−Ａは、図解の目的でコンピュータシステムを示すものであり、移動電話などの他のデバイスのハードウェア構成は、異なる場合がある。一部の実施形態ではクライアントシステム１６は、プロセッサ２０、メモリユニット２２、入力デバイス２４のセット、出力デバイス２６のセット、記憶デバイス２８のセット、および、通信インターフェースコントローラ３０を備え、すべてはバス３４のセットにより接続される。
【００２２】
[0040]一部の実施形態ではプロセッサ２０は、信号および／またはデータのセットとともに、計算演算および／または論理演算を実行するように構成される物理デバイス（例えば、マルチコア集積回路）を備える。一部の実施形態ではそのような論理演算は、プロセッサ命令のシーケンス（例えば、機械コード、または他のタイプのソフトウェア）の形式でプロセッサ２０に引き渡される。メモリユニット２２は、命令を履行する過程でプロセッサ２０によりアクセスされる、または発生させられるデータ／信号を記憶する揮発性コンピュータ可読媒体（例えば、ＲＡＭ）を備え得る。入力デバイス２４は、ユーザがデータおよび／または命令をシステム１６内に導入することを可能とする、それぞれのハードウェアインターフェースおよび／またはアダプタを含む、コンピュータキーボード、マウス、および、マイクロホン等々を含み得る。出力デバイス２６は、システム１６がユーザにデータを伝達することを可能とする、モニタなどの表示デバイス、および、スピーカ等々、ならびに、グラフィックカードなどのハードウェアインターフェース／アダプタを含み得る。一部の実施形態では入力デバイス２４および出力デバイス２６は、タッチスクリーンデバイスの事例でのように、ハードウェアの共通のひとまとまりを共有する場合がある。記憶デバイス２８は、ソフトウェア命令および／またはデータの、不揮発性記憶、読み出し、および、書き込みを可能にするコンピュータ可読媒体を含む。例示的な記憶デバイス２８は、磁気および光学のディスクおよびフラッシュメモリデバイス、ならびに、ＣＤおよび／またはＤＶＤのディスクおよびドライブなどのリムーバブル媒体を含む。通信インターフェースコントローラ３０は、システム１６が、ネットワーク１８に、および／または、他のデバイス／コンピュータシステムに接続することを可能にする。バス３４は、クライアントシステム１６のデバイス２０〜３０の相互通信を可能にする、複数のシステム、周辺装置、および、チップセットバス、ならびに／または、すべての他の回路網を集合的に表す。例えばバス３４は、プロセッサ２０をメモリ２２に接続するノースブリッジ、および／または、プロセッサ２０をデバイス２４〜３０に接続するサウスブリッジ等々を備え得る。
【００２３】
[0041]図２−Ｂは、本発明の一部の実施形態による、セキュリティサーバ１４の例示的なハードウェア構成を示す。セキュリティサーバ１４は、プロセッサ１２０およびメモリユニット１２２を含み、記憶デバイス１２８のセット、および、少なくとも１つの通信インターフェースコントローラ１３０をさらに備え得るものであり、すべてはバス１３４のセットによって相互接続される。一部の実施形態では、プロセッサ１２０、メモリ１２２、および、記憶デバイス１２８の動作は、それぞれ、図２−Ａに関係して上記で説明されたような、項目２０、２２、および２８の動作と類似的であり得る。メモリユニット１２２は、命令を履行する過程でプロセッサ１２０によりアクセスされる、または発生させられるデータ／信号を記憶する。コントローラ１３０は、セキュリティサーバ１４が、ネットワーク１８に接続すること、ネットワーク１８に接続される他のシステムに／から、データを送出および／または受信することを可能にする。
【００２４】
[0042]図２−Ｃは、本発明の一部の実施形態による、コンテンツサーバ１２の例示的なハードウェア構成を示す。コンテンツサーバ１２は、プロセッサ２２０およびメモリユニット２２２を含み、記憶デバイス２２８のセット、および、少なくとも１つの通信インターフェースコントローラ２３０をさらに備え得るものであり、すべてはバス２３４のセットにより相互接続される。一部の実施形態では、プロセッサ２２０、メモリ２２２、および、記憶デバイス２２８の動作は、それぞれ、上記で説明されたような、項目２０、２２、および２８の動作と類似的であり得る。メモリユニット２２２は、命令を履行する過程でプロセッサ２２０によりアクセスされる、または発生させられるデータ／信号を記憶する。一部の実施形態ではインターフェースコントローラ２３０は、コンテンツサーバ１２が、ネットワーク１８に接続すること、ならびに、ネットワーク１８に接続される他のシステムに、および／または、それらの他のシステムから、データを送出および／または受信することを可能にする。
【００２５】
[0043]図３−Ａは、本発明の一部の実施形態による、スパム電子メールを含む例示的な対象文書３６ａを示す。対象文書３６ａは、ヘッダおよびペイロードを含み得るものであり、ヘッダは、メッセージ経路指定データ、例えば、送信側のインジケータ、および／もしくは、受信側のインジケータ、ならびに／または、タイムスタンプ、および、コンテンツタイプ、例えば、多目的インターネットメール拡張（ＭＩＭＥ）タイプのインジケータなどの他のデータを含む。ペイロードは、ユーザにテキストおよび／または画像として表示されるデータを含み得る。コンテンツサーバ１２および／またはクライアントシステム１６ａ〜ｃ上で実行するソフトウェアは、ペイロードを処理して、対象文書３６ａの対象テキストブロック３８ａを生成することが可能である。一部の実施形態では対象テキストブロック３８ａは、テキストと解釈されることが意図される符号および／または記号のシーケンスを含む。テキストブロック３８ａは、句読記号のような特殊文字、ならびに、ネットワークアドレス、ユニフォームリソースロケータ（ＵＲＬ）、電子メールアドレス、偽名、および、エイリアス等々を表す文字シーケンスを含み得る。対象テキストブロック３８ａは、例えばプレーンテキストＭＩＭＥ部分として、対象文書３６ａ中に直接埋め込まれ得るものであり、または、文書３６ａに埋め込まれるコンピュータ命令のセットを処理することの結果を含み得る。例えば対象テキストブロック３８ａは、ハイパーテキストマークアップ言語（ＨＴＭＬ）命令のセットをレンダリングすることの結果、または、対象文書３６ａに埋め込まれるクライアント側もしくはサーバ側スクリプト命令（例えば、ＰＨＰ、Ｊａｖａ（登録商標）ｓｃｒｉｐｔ）のセットを実行することの結果を含み得る。別の実施形態では対象テキストブロック３８ａは、画像スパムの事例でのように、画像内に埋め込まれ得る。
【００２６】
[0044]図３−Ｂは、ブログなどのウェブページ、オンラインニュースページ、または、ソーシャルネットワーキングページ上でポストされるコメントを含む、別の例示的な対象文書３６ｂを示す。一部の実施形態では文書３６ｂは、データフィールド、例えば、ＨＴＭＬ文書に埋め込まれる形式のフィールドのセットのコンテンツを含む。そのような形式フィールドをうずめることは、例えば、人間のオペレータによりリモートで、および／または、送信側システム１３上で実行するソフトウェアのひとまとまりにより自動的に遂行され得る。一部の実施形態では文書３６ｂの表示は、それぞれのウェブサイトにアクセスするユーザによりテキストと解釈されることが意図される、文字および／または記号のシーケンスからなるテキストブロック３８ｂを含む。テキストブロック３８ｂは、ハイパーリンク、特殊文字、顔文字、および、画像等々を含み得る。
【００２７】
[0045]図３−Ｃは、フィッシングウェブページを含む、別の例示的な対象文書３６ｃを図解する。文書３６ｃは、実行されるときに文書ビューア（例えば、ウェブブラウザ）に、画像のセットおよび／またはテキストブロックのセットを生成することを決定させる、ＨＴＭＬ、および／または、サーバ側もしくはクライアント側スクリプト命令のセットとして引き渡され得る。２つのそのような例示的なテキストブロック３８ｃ〜ｄが、図３−Ｃで図解される。テキストブロック３６ｃ〜ｄは、ハイパーリンクおよび電子メールアドレスを含み得る。
【００２８】
[0046]図４−Ａは、本発明の一部の実施形態による、図１のクライアントシステム１６ａ〜ｃなどの例示的なクライアントシステム１６と、セキュリティサーバ１４との間の例示的なスパム／詐欺検出トランザクションを示す。図４−Ａで図解されるやり取りが、例えば、電子メールスパムを検出するように構成されるシステム１０の実施形態で起こる。対象文書３６、例えば電子メールメッセージをコンテンツサーバ１２から受信した後、クライアントシステム１６は、対象文書３６の対象インジケータ４０を決定することが可能であり、セキュリティサーバ１４に対象インジケータ４０を送信することが可能である。対象インジケータ４０は、セキュリティサーバ１４が、対象文書３６の分類を遂行すること、例えば、文書３６がスパムであるか否かを決定することを可能とするデータを含む。対象インジケータ４０を受信することに応答して、セキュリティサーバ１４は、それぞれのクライアントシステム１６に、文書３６がスパムであるか否かを指示する対象ラベル５０を送信することが可能である。
【００２９】
[0047]スパム検出トランザクションの別の実施形態が、図４−Ｂで図解され、コンテンツサーバ１２とセキュリティサーバ１４との間で起こる。そのようなやり取りは、例えば、ブログおよび／もしくはソーシャルネットワークウェブサイトにポストされる非請求通信を検出するために、または、フィッシングウェブページを検出するために起こり得る。それぞれのウェブサイトをホストおよび／または表示するコンテンツサーバ１２は、対象文書３６（例えば、ブログコメント）を受信することが可能である。コンテンツサーバ１２は、それぞれの通信を処理して、それぞれの文書の対象インジケータ４０を生成することが可能であり、セキュリティサーバ１４に対象インジケータを送信することが可能である。返しとしてサーバ１４は、それぞれの文書がスパムまたは詐欺的であるかどうかを指示する対象ラベル５０を決定し、コンテンツサーバ１２にラベル５０を送信することが可能である。
【００３０】
[0048]図５は、図３−Ａでの電子メールメッセージ３６ａなどの例示的な対象文書３６に対して決定される例示的な対象インジケータ４０を示す。一部の実施形態では対象インジケータ４０は、対象文書３６に一意的に関連付けられるメッセージ識別子４１（例えば、ハッシュインデックス）、および、図３−Ａでのテキストブロック３８ａなどの、文書３６のテキストブロックに対して決定されるテキストフィンガープリント４２を含むデータ構造である。対象インジケータ４０は、文書３６の送信側を指し示す送信側インジケータ４４、文書３６が発出したネットワークアドレス（例えば、ＩＰアドレス）を指し示す経路指定インジケータ４６、ならびに、文書３６が送信および／または受信されたときの時間の瞬間を指し示すタイムスタンプ４８をさらに含み得る。一部の実施形態では対象インジケータ４０は、文書３６が画像を含むかどうかを指示するフラグ、文書３６がハイパーリンクを含むかどうかを指示するフラグ、および、文書３６に対して決定される文書レイアウトインジケータ等々のような、文書３６の他の、スパムを指し示す、および／または、詐欺を指し示す特徴を含み得る。
【００３１】
[0049]図６は、本発明の一部の実施形態による、クライアントシステム１６上で実行するコンポーネントの例示的なセットを示す。図６で図解される構成は、例えば、クライアントシステム１６で受信されるスパム電子メールメッセージを検出することに適している。システム１６は、文書ダイジェスタ５２、および、文書ダイジェスタ５２に接続される文書表示マネージャ５４を備える。文書ダイジェスタ５２は、フィンガープリント算出器５６をさらに備え得る。一部の実施形態では文書ダイジェスタ５２は、対象文書３６（例えば、電子メールメッセージ）を受信し、文書３６を処理して、対象インジケータ４０を生成する。文書３６を処理することは、文書３６をパースして、別個のデータフィールドおよび／またはタイプを識別すること、ならびに、ペイロードデータからヘッダデータを区別すること等々を含み得る。文書３６が電子メールメッセージであるとき、例示的なパーシングは、それぞれのメッセージの送信側、ＩＰアドレス、主題（ｓｕｂｊｅｃｔ）、タイムスタンプ、およびコンテンツ等々に対する別個のデータオブジェクトを生成することが可能である。文書３６のコンテンツが複数のＭＩＭＥタイプのデータを含むとき、パーシングは、プレーンテキスト、ＨＴＭＬ、および、画像等々のような、各々のＭＩＭＥタイプに対する別個のデータオブジェクトを生み出すことが可能である。次いで文書ダイジェスタ５２は、例えば、送信側、経路指定アドレス、および、タイムスタンプ等々のような、対象インジケータ４０のそれぞれのフィールドをうめることにより、対象インジケータ４０を組織的に表すことが可能である。次いでクライアントシステム１６のソフトウェアコンポーネントは、分析のためにセキュリティサーバ１４に対象インジケータ４０を送出することが可能である。
【００３２】
[0050]一部の実施形態では文書表示マネージャ５４は、対象文書３６を受信し、それを視覚的形式に直し、それをクライアントシステム１６の出力デバイス上で表示する。表示マネージャ５４の一部の実施形態によって、クライアントシステム１６のユーザは、表示されるコンテンツと対話することもまた可能となり得る。表示マネージャ５４は、ウェブブラウザ、電子メールリーダ、電子ブックリーダ、および、メディアプレーヤ等々のような既製の文書表示ソフトウェアと一体化され得る。そのような一体化は、例えばソフトウェアプラグインの形式で実現され得る。表示マネージャ５４は、対象文書３６（例えば、入来する電子メール）を、スパム、正当などの文書クラス、ならびに／または、文書の様々な他のクラスおよびサブクラスに割り当てるように構成され得る。そのような分類は、セキュリティサーバ１４から受信される対象ラベル５０によって決定され得る。表示マネージャ５４は、スパム／詐欺メッセージを別々のフォルダ内に群化するように、および／または、ユーザに正当なメッセージを表示するのみであるようにさらに構成され得る。マネージャ５４は、そのような分類によって文書３６をラベル付けすることもまた可能である。例えば文書表示マネージャ５４は、特有の色でスパム／詐欺メッセージを表示すること、または、各々のスパム／詐欺メッセージの隣にそれぞれのメッセージの分類（例えば、スパム、フィッシング等）を指示するフラグを表示することが可能である。類似的に、文書３６が詐欺的ウェブページであるとき、表示マネージャ５４は、それぞれのページへのユーザのアクセスをブロックすること、および／または、ユーザへの警告を表示することが可能である。
【００３３】
[0051]ブログおよびソーシャルネットワークサイト上のコメントとしてポストされるスパム／詐欺を検出するように構成される実施形態では、文書ダイジェスタ５２および表示マネージャ５４は、図６に示されるようなクライアントシステム１６ａ〜ｃの代わりに、コンテンツサーバ１２上で実行する場合がある。そのようなソフトウェアは、例えば、より大きなスクリプトパッケージ内へのプラグインとして、例えば、Ｗｏｒｄｐｒｅｓｓ（登録商標）またはＤｒｕｐａｌ（登録商標）オンラインパブリッシングプラットフォームに対するスパム対策／詐欺対策プラグインとして、さらに組み込まれ得る、サーバ側スクリプトの形式で、コンテンツサーバ１２上で実装され得る。対象文書３６がスパムまたは詐欺的であると決定すると、表示マネージャ５４は、それぞれのメッセージをブロックして、それが、それぞれのウェブサイトの内部で表示されることを防止するように構成され得る。
【００３４】
[0052]フィンガープリント算出器５６（図６）は、対象インジケータ４０の部分の構成要素をなす、対象文書３６のテキストフィンガープリント（例えば、図５での項目４２）を決定するように構成される。一部の実施形態では、対象電子文書に対して決定されるフィンガープリントは、文字のシーケンスを含み、シーケンスの長さは、あらかじめ決定された上方限界と、あらかじめ決定された下方限界との間に（例えば、１２９文字から２５６文字の間に、その両端を含めて）制約されている。長さのあらかじめ決定された範囲内のそのようなフィンガープリントを有することは、下記でより詳細に示されるように、スパムおよび／または詐欺を含むテキストブロックを識別するための、参照フィンガープリントの集合体に対する効率的な比較を可能とするので、望ましいものであり得る。一部の実施形態では、フィンガープリントを形成する文字は、英数字文字、特殊文字および記号（例えば、＊、／、＄（*, /, $）等）等々を含み得る。テキストフィンガープリントを形成するために使用される他の例示的な文字は、２進、１６進、および、Ｂａｓｅ６４等々のような様々な符号化で数を表す際に使用される、アラビア数字または他の記号を含む。
【００３５】
[0053]図７は、テキストフィンガープリントを決定するために、フィンガープリント算出器５６により遂行されるステップの例示的なシーケンスを図解する。ステップ４０２でフィンガープリント算出器は、フィンガープリント算出のために対象文書３６の対象テキストブロックを選択することが可能である。一部の実施形態では対象テキストブロックは、対象文書３６の実質的にすべてのテキストコンテンツ、例えば、文書３６のプレーンテキストＭＩＭＥ部分からなり得る。一部の実施形態では対象テキストブロックは、文書３６のテキスト部分の単一の段落からなり得る。ウェブベースのスパムをフィルタリングするように構成される実施形態では、対象テキストブロックは、ユーザにより送信される、および、それぞれのウェブサイト上でポストされることが意図される、ブログコメントの、または、別の種類のメッセージ（例えば、Ｆａｃｅｂｏｏｋ（登録商標）ウォールポスト、Ｔｗｉｔｔｅｒ（登録商標）ツイート等）のコンテンツからなり得る。一部の実施形態では対象テキストブロックは、ＨＴＭＬ文書のセクション、例えば、ＤＩＶまたはＳＰＡＮタグにより指示されるセクションのコンテンツを含む。
【００３６】
[0054]ステップ４０４でフィンガープリント算出器５６は、対象テキストブロックをテキストトークンに分けることが可能である。図８は、複数のテキストトークン６０ａ〜ｃへのテキストブロック３８の例示的な細分化を示す。一部の実施形態ではテキストトークンは、区切り文字／記号のセットの任意のものにより他のテキストトークンから分離される文字／記号のシーケンスである。西洋言語スクリプトに対する例示的な区切りは、スペース、改行、タブ、「＼ｒ（\r）」、「＼０（\0）」、ピリオド、コンマ、コロン、セミコロン、丸括弧および／または角括弧、バックスラッシュおよび／または普通のスラッシュ、ダブルスラッシュ、「＋（+）」、「−（-）」、「＊（*）」、「＾（^）」などの数学記号、「！（!）」および「？（?）」などの句読点、ならびに、「＄（$）」および「｜（|）」などの特殊文字等々を含む。図８での例示的なトークンは個々の単語であり、テキストトークンの他の例は、多重単語シーケンス、電子メールアドレス、および、ＵＲＬ等々を含み得る。テキストブロック３８の個々のトークンを識別するために、フィンガープリント算出器は、当技術分野で知られている任意のストリングトークン化アルゴリズムを使用することが可能である。フィンガープリント算出器５６の一部の実施形態は、決まったトークン、例えば、英語での「ａ」および「ｔｈｅ」などのありふれた単語を、フィンガープリント算出に対して不適格と考える場合がある。一部の実施形態では、あらかじめ決定された最大長さを上回るトークンは、より短いトークンにさらに区分化される。
【００３７】
[0055]一部の実施形態では、算出器５６により決定されるテキストフィンガープリントの長さは、それぞれの対象テキストブロックの長さまたはトークンカウントに関わらず、あらかじめ決定された範囲内に（例えば、１２９文字から２５６文字の間に、その両端を含めて）制約される。そのようなフィンガープリントを計算するために、ステップ４０６でフィンガープリント算出器５６は、最初に対象テキストブロックのテキストトークンのカウントを決定し、前記カウントを、フィンガープリント長さの上方限界によって決定される、あらかじめ決定された上方しきい値と比較することが可能である。トークンカウントが上方しきい値（例えば、２５６）を上回るとき、ステップ４０８で算出器５６は、下記でより詳細に示されるように、ズームアウトされたフィンガープリントを決定することが可能である。
【００３８】
[0056]トークンカウントが上方しきい値より下にあるとき、ステップ４１０でフィンガープリント算出器は、各々のテキストトークンのハッシュを計算することが可能である。図８は、それぞれテキストトークン６０ａ〜ｃに対して決定される例示的なハッシュ６２ａ〜ｃを示す。ハッシュ６２ａ〜ｃは、１６進表記で示される。一部の実施形態ではそのようなハッシュは、ハッシュ関数を各々のトークン６０ａ〜ｃに適用することの結果である。多くのそのようなハッシュ関数およびアルゴリズムが、当技術分野で知られている。原始的なハッシュアルゴリズムは、高速であるが、典型的には大きな数の衝突（別個のトークンが同一のハッシュを有する状況）を生成する。ＭＤ５のようなメッセージダイジェストアルゴリズムにより計算されるものなどの、より精巧化されたハッシュは、伝えられるところでは衝突はないが、相当量の計算費用を伴う。本発明の一部の実施形態は、計算速度と衝突回避との間の折り合いを供与するハッシュアルゴリズムを使用して、ハッシュ６２ａ〜ｃを計算する。そのようなアルゴリズムの例は、ロバート・セジウィック（Ｒｏｂｅｒｔ  Ｓｅｄｇｅｗｉｃｋ）の作とされるものであり、ＲＳＨａｓｈとして当技術分野で知られている。ＲＳＨａｓｈの擬似コードが下記で示される。
【００３９】
ｆｏｒｅａｃｈ  （  ｂｙｔｅ  ｘ  ；  ｂｙｔｅｓ  ）  ｛
ｖａｌｕｅ  ＝  ｖａｌｕｅ  ＊  ａ  ＋  ｘ；
ａ  ＊＝  ｂ；
｝
ｒｅｔｕｒｎ  ｖａｌｕｅ；
ただし、ａおよびｂは整数を表し、例えば、ａ＝６３，６８９、およびｂ＝３７８，５５１である。
【００４０】
[0057]ハッシュ６２ａ〜ｃのサイズ（ビットの数）は、衝突の尤度を、したがって、スパム検出レートを左右し得る。一般的に、小さなハッシュを使用することによって、衝突の尤度は増大する。より大きなハッシュは、一般的に衝突にはより脆弱でないが、計算速度およびメモリの点ではより費用がかかる。フィンガープリント算出器５６の一部の実施形態は、３０ビットハッシュとしての項目６２ａ〜ｃを計算する。
【００４１】
[0058]ここでフィンガープリント算出器５６は、対象テキストブロックの実際のテキストフィンガープリントを決定することが可能である。図８は、対象テキストブロック３８に対して決定される例示的なフィンガープリント４２をさらに図解する。テキストフィンガープリント４２は、ステップ４１０で決定されたハッシュ６２ａ〜ｃによって決定される文字のシーケンスを含む。一部の実施形態では、各々のトークン６０ａ〜ｃに対してフィンガープリント算出器５６は、図８で項目６４ａ〜ｃとして図解されるフィンガープリントフラグメントを決定する。一部の実施形態では、そのようなフラグメントは次いで、フィンガープリント４２を生成するために連結される。
【００４２】
[0059]各々のフィンガープリントフラグメント６４ａ〜ｃは、それぞれのトークン６０ａ〜ｃのハッシュ６２ａ〜ｃによって決定される文字シーケンスを含み得る。一部の実施形態では、すべてのフィンガープリントフラグメント６４ａ〜ｃは同じ長さを有し、図８の例では、各々のフラグメント６４ａ〜ｃは２つの文字からなる。フィンガープリントフラグメントの前記長さは、それぞれのフィンガープリントが、所望される範囲内の、例えば、１２９文字から２５６文字の長さを有するように決定される。一部の実施形態では、フィンガープリントフラグメントの長さは、ズームイン因子ｋと呼称される。例えば長さ１のフラグメントは、ズームなしのフィンガープリントを生成する、ズームなしのフラグメント（ズームイン因子１）であり、長さ２のフラグメントは、２ｘズームインフィンガープリントを生成する、２ｘズームインフラグメント（ズームイン因子２）であり、以下同様である。図９は、様々なズームイン因子ｋでテキストブロック３８に対して決定される複数のテキストフィンガープリント４２ａ〜ｃを示す。
【００４３】
[0060]ステップ４１２（図７）でフィンガープリント算出器５６は、所望される、あらかじめ決定された範囲内のフィンガープリント長さを生成するズームイン因子ｋの値を決定する。例えばトークンカウントが、所望されるフィンガープリント長さの下方限界によって決定される下方しきい値より大きいとき、フィンガープリント算出器は、ズームなしのフィンガープリントがすでに長さの所望される範囲内にあるので、ズームなしのフィンガープリント（ｋ＝１）を計算することに決することが可能である。テキストブロック３８が有するトークンが少なすぎるとき、フィンガープリント算出器は、例えば２ｘまたは３ｘのズームインフィンガープリントを計算することが可能である。
【００４４】
[0061]次にステップ４１４でフィンガープリント算出器５６は、各々のトークンに対して、前記トークンのそれぞれのハッシュによって、フィンガープリントフラグメントを計算する。フラグメント６４ａ〜ｃを決定するためにフィンガープリント算出器５６は、ハッシュ６２ａ〜ｃの２進またはＢａｓｅ６４の表現などの、当技術分野で知られている任意の符号化体系を使用することが可能である。そのような符号化体系は、数と、あらかじめ決定された英字からの文字のシーケンスとの間に１対１の対応付けを確立する。例えばＢａｓｅ６４表現を使用するとき、ハッシュの６つの連続的なビットの群ごとに、文字に対応付けされ得る。
【００４５】
[0062]一部の実施形態では複数のフィンガープリントフラグメントは、各々のハッシュに対して、それぞれのハッシュを表すために使用される文字の数を変動させることにより決定され得る。長さ１のフラグメント（例えば、ズームイン因子１）を生成するために、一部の実施形態は、それぞれのハッシュの６つの最下位ビットのみを使用する。長さ２のフラグメント（例えば、ズームイン因子２）は、それぞれのハッシュの追加的な６つのビットを使用して生成され得るものであり、以下同様である。Ｂａｓｅ６４表現では３０ビットハッシュが、したがって、５ズームイン因子に対応する、最高で５文字の長さのフィンガープリントフラグメントを生み出すことが可能である。表１は、図９での例示的なテキストブロック３８から、様々なズームイン因子で計算される例示的なフィンガープリントフラグメントを示す。
【００４６】
【表１】
2016517064.tif 000003
【００４７】
[0063]ステップ４１６（図７）でフィンガープリント算出器５６は、例えばステップ４１４で計算されたフラグメントを連結することにより、テキストフィンガープリント４２を組み立てる。
【００４８】
[0064]ステップ４０６に戻って、トークンカウントが上方しきい値より大きいことが見出されたとき、フィンガープリント算出器５６は、それぞれのテキストブロックのズームアウトフィンガープリントを決定する。一部の実施形態ではズームアウトすることは、テキストブロック３８のトークンのサブセットのみからフィンガープリント４２を計算することを含む。サブセットを選択することは、ハッシュ選択判定基準によってステップ４０４で決定された複数のテキストトークンを簡潔にすることを含み得る。そのような算出を遂行するステップの例示的なシーケンスが、図１０で図解される。ステップ４２２は、フィンガープリント算出のためのズームアウト因子を選択する。一部の実施形態では、ｋと表されるズームアウト因子は、平均で、テキストブロック３８のトークンの１／ｋのみがフィンガープリント算出のために使用されるということを指示する。したがってフィンガープリント算出器５６は、ステップ４０６（図７）で決定されたトークンカウントによってズームアウト因子を選択することが可能である。一部の実施形態では、ズームアウト因子の初期選択が、長さの所望される範囲内のフィンガープリントを生成しない場合があり（下記を参照）、そのような事例ではステップ４２２〜４３０が、適切な長さのフィンガープリントが発生させられるまで、試行錯誤様式で、ループで実行され得る。例えばフィンガープリント算出器５６は、ズームアウト因子ｋ＝２を初期に選択することが可能であり、この値が、十分に短いフィンガープリントを生成することに失敗するとき、算出器５６はｋ＝３等を選択することが可能である。
【００４９】
[0065]次にフィンガープリント算出器は、ハッシュ選択判定基準によってトークンを選択することが可能である。ズームアウトするとき、フィンガープリント算出器５６は、ステップ４０４（図７）ですでに決定されたトークンを使用することが可能であり、または、テキストブロック３８から新しいトークンを計算することが可能である。図１０で図解される例では、ステップ４２４でフィンガープリント算出器５６は、テキストブロック３８の集約トークンのセットを決定する。一部の実施形態では、図９で項目６０ｄとして図解される集約トークンは、連続的な個々のトークンを連結することにより決定される。集約トークンを形成するために使用されるトークンのカウントは、ズームアウト因子によって変動し得る。
【００５０】
[0066]ステップ４２６でハッシュが、例えば上記で説明された方法を使用して、各々の集約トークンに対して計算される。ステップ４２８で算出器５６は、ハッシュ選択判定基準によって集約トークンのサブセットを選択する。一部の実施形態では、ズームアウト因子ｋに対して選択判定基準は、選択されるサブセットのメンバーに対して決定されるすべてのハッシュが、等しいモジュロｋであるということを必要とする。例えば２ｘズームアウトフィンガープリントを決定するために、算出器５６は、それらのハッシュが、等しいモジュロ２である（すなわち、奇数のハッシュのみ、または、偶数のハッシュのみ）集約トークンを考えるのみである場合がある。一部の実施形態ではハッシュ選択判定基準は、それらのハッシュがズームアウト因子ｋにより割り切れるトークンのみを選択することを含む。
【００５１】
[0067]ステップ４３０でフィンガープリント算出器５６は、ステップ４２８で選択されたトークンのカウントが、フィンガープリント長さの所望される範囲内であるかどうかをチェックすることが可能である。いいえであるならば算出器５６は、ステップ４２２に戻り、別のズームアウト因子ｋによって再開することが可能である。選択されたトークンのカウントが範囲内であるとき、ステップ４３２で算出器５６は、選択されたトークンの各々のハッシュによってフィンガープリントフラグメントを決定する。ステップ４３４でそのようなフラグメントは、フィンガープリント４２を生成するために組み立てられる。図９は、テキストブロック３８に対して決定されるいくつかのズームアウトフィンガープリント４２ｄ〜ｈを図解する。表２は、様々なズームアウト因子で、図９での同じテキストブロック３８に対して決定される例示的なフィンガープリントフラグメントを示す。
【００５２】
【表２】
2016517064.tif 000004
【００５３】
[0068]図１１は、本発明の一部の実施形態による、セキュリティサーバ（図１もまた参照されたい）上で実行する例示的なコンポーネントを示す。セキュリティサーバ１４は、通信マネージャ７４に、および、フィンガープリントデータベース７０に接続される文書分類器７２を備える。通信マネージャ７４は、図４−Ａ〜Ｂに関係して上記で示されたように、クライアントシステム１６ａ〜ｃとのスパム／詐欺検出トランザクションを管理する。一部の実施形態では文書分類器７２は、通信マネージャ７４を介して対象インジケータ４０を受信するように、および、対象文書３６の分類を指示する対象ラベル５０を決定するように構成される。
【００５４】
[0069]一部の実施形態では、対象文書３６を分類することは、文書３６に対して決定されるテキストフィンガープリントと、各々の参照フィンガープリントが文書カテゴリを指し示す参照フィンガープリントのセットとの間の比較によって、文書カテゴリに文書３６を割り当てることを含む。例えば文書３６を分類することは、文書３６がスパムおよび／または詐欺的であるかどうかを決定すること、ならびに、文書３６が、製品売買申し込み、フィッシング、または、ナイジェリア詐欺などの、スパム／詐欺のサブカテゴリに属すると決定することを含み得る。文書３６を分類するために文書分類器７２は、フィンガープリント比較に連関する、当技術分野で知られている任意の方法を用いることが可能である。そのような方法は、ブラックリスティングおよびホワイトリスティング、ならびに、パターンマッチングアルゴリズム等々を含む。例えば文書分類器７２は、複数の個々の評点を計算することが可能であり、各々の評点は、個別の文書カテゴリ（例えば、スパム）に対する文書３６のメンバーシップを指し示すものであり、各々の評点は、別個の分類方法（例えば、フィンガープリント比較、ブラックリスティング等）によって決定される。次いで分類器７２は、個々の評点の組合せとして決定される複合評点によって文書３６の分類を決定することが可能である。
【００５５】
[0070]文書分類器７２は、対象文書３６を分類することを、対象文書のフィンガープリントを、データベース７０に記憶される参照フィンガープリントのセットと比較することにより行うように構成される、図１２に示されるようなフィンガープリント比較器７８をさらに備え得る。一部の実施形態ではフィンガープリントデータベース７０は、電子メールメッセージ、ウェブページ、および、ウェブサイトコメント等々のような参照文書のセットに対して決定される、テキストフィンガープリントのリポジトリを備える。データベース７０は、スパム／詐欺の、ただしさらには、正当な文書のフィンガープリントを備え得る。各々の参照フィンガープリントに対してデータベース７０は、それぞれのフィンガープリントと文書カテゴリ（例えば、スパム）との間の関連付けのインジケータを記憶することが可能である。
【００５６】
[0071]一部の実施形態では、データベース７０内の参照フィンガープリントのサブセットのすべてのフィンガープリントは、あらかじめ決定された範囲内の、例えば、１２９文字から２５６文字の間の長さを有する。さらに前記範囲は、フィンガープリント算出器５６（図６）により対象文書に対して決定される対象フィンガープリントの長さの範囲と一致する。すべての参照フィンガープリントがおおよそ同じサイズを有し、参照フィンガープリントが、対象フィンガープリントの長さとおおよそ等しい長さを有する、そのような構成によって、文書分類の目的での対象フィンガープリントと参照フィンガープリントとの間の比較が容易になり得る。
【００５７】
[0072]各々の参照フィンガープリントに対して、データベース７０の一部の実施形態は、それに対してそれぞれのフィンガープリントが決定された、テキストブロックの長さのインジケータを記憶することが可能である。そのようなインジケータの例は、それぞれのテキストブロックのストリング長さ、それぞれのフィンガープリントを決定する際に使用されるフラグメント長さ、および、ズームイン／ズームアウト因子等々を含む。各々のフィンガープリントとともにテキストブロック長さのインジケータを記憶することによって、フィンガープリント比較器７８が、対象フィンガープリント４２を発生させるテキストブロックと長さにおいて類似的なテキストブロックを表す参照フィンガープリントを選択的に検索することを可能にすることにより、文書比較が容易になり得る。
【００５８】
[0073]対象文書３６を分類するために分類器７２は、対象インジケータ４０を受信し、インジケータ４０から対象フィンガープリント４２を抽出し、フィンガープリント比較器７８にフィンガープリント４２を発送することが可能である。比較器７８は、データベース７０とインターフェース接続して、対象フィンガープリント４２との比較のための参照フィンガープリント８２を選択的に検索することが可能である。一部の実施形態ではフィンガープリント比較器７８は、対象テキストブロックの長さと類似的な長さのテキストブロックに対して計算された参照フィンガープリントを優先的に検索することが可能である。
【００５９】
[0074]文書分類器７２は、対象フィンガープリント４２と、データベース７０から検索された参照フィンガープリントとの間の比較によって、対象文書４２の分類をさらに決定する。一部の実施形態では比較は、フィンガープリント４２および８２の類似度の程度を指し示す類似度評点を計算することを含む。そのような類似度評点は、例えば次式のように決定され得る。
【００６０】
【数１】
2016517064.tif 000005
【００６１】
ただしｆＴおよびｆＲは、それぞれ、対象フィンガープリントおよび参照フィンガープリントを表し、ｄ（ｆＴ，ｆＲ）は、２つのフィンガープリント間の編集距離、例えば、レーベンシュタイン（Ｌｅｖｅｎｓｈｔｅｉｎ）距離を表し、｜ｆＴ｜および｜ｆＲ｜は、それぞれ、対象フィンガープリントおよび参照フィンガープリントの長さを表す。評点Ｓは、０から１の間の任意の値をとり得るものであり、１に近い値は、２つのフィンガープリント間の類似度の高い程度を指示する。例示的な実施形態では対象フィンガープリント４２は、評点Ｓが、あらかじめ決定されたしきい値Ｔ、例えば０．９を上回るとき、参照フィンガープリント８２とマッチングすると言われる。対象フィンガープリント４２が、データベース７０からの少なくとも１つの参照フィンガープリントとマッチングするとき、文書分類器７２は、それぞれの参照フィンガープリントの文書カテゴリインジケータによって対象文書を分類することが可能であり、分類を反映するように対象ラベル５０を組織的に表すことが可能である。例えば対象フィンガープリント４２が、スパムメッセージに対して決定される参照フィンガープリントとマッチングするとき、対象文書３６はスパムと分類され得るものであり、対象ラベル５０はスパム分類を指示し得る。
【００６２】
[0075]上記で説明された例示的なシステムおよび方法によって、電子メールおよびユーザ投稿ウェブサイトなどの電子メッセージングシステムでの非請求通信（スパム）の検出、ならびに、フィッシングウェブサイトなどの詐欺的電子文書の検出が可能となる。一部の実施形態では、テキストフィンガープリントが各々の対象文書に対して算出され、フィンガープリントは、それぞれの文書の複数のテキストトークンによって決定される文字のシーケンスを含む。次いでフィンガープリントは、スパム／詐欺的、および正当な文書を含む、文書の集合体に対して決定される参照フィンガープリントと比較される。対象フィンガープリントが、スパム／詐欺的メッセージに対して決定される参照フィンガープリントとマッチングするとき、対象通信はスパム／詐欺とラベル付けされ得る。
【００６３】
[0076]対象通信がスパム／詐欺と明確に識別されるとき、スパム対策／詐欺対策システムのコンポーネントは、それぞれの文書の表示を修正することが可能である。例えば一部の実施形態は、それぞれの文書の表示をブロックする（例えば、スパムコメントがウェブサイト上に表示されることを可能としない）場合があり、別々の場所（例えば、スパム電子メールフォルダ、別々のブラウザウィンドウ）でそれぞれの文書を表示する場合があり、および／または、警報を表示する場合がある。
【００６４】
[0077]一部の実施形態ではテキストトークンは、対象文書の個々の単語または単語シーケンス、ならびに、対象文書のテキスト部分に含まれる、電子メールアドレス、および／または、ユニフォームリソースロケータ（ＵＲＬ）などのネットワークアドレスを含む。本発明の一部の実施形態は、対象文書内部の複数のそのようなテキストトークンを識別する。ハッシュが各々のトークンに対して計算され、フィンガープリントフラグメントが、それぞれのハッシュによって決定される。一部の実施形態では、フィンガープリントフラグメントは次いで、例えば、それぞれの文書のテキストフィンガープリントを生成するための連結により組み立てられる。
【００６５】
[0078]電子メールメッセージなどの一部の電子文書は、長さにおいて大きく変動し得る。一部の従来のスパム対策／詐欺対策システムでは、そのような文書に対して決定されるフィンガープリントの長さは、それに応じて変動する。対照的に本発明の一部の実施形態では、テキストフィンガープリントの長さは、対象テキストブロックまたは文書の長さに関わらず、長さのあらかじめ決定された範囲内に、例えば、１２９文字から２５６文字の間に制約される。すべてのテキストフィンガープリントを、あらかじめ決定された長さ限界の範囲内にすることによって、メッセージ間比較の効率が実質的に向上し得る。
【００６６】
[0079]長さのあらかじめ決定された範囲内でフィンガープリントを決定するために、本発明の一部の実施形態は、ズームインおよびズームアウト方法を用いる。テキストブロックが比較的短いとき、ズームインすることが、フィンガープリントフラグメントの長さを調整して、所望される長さのフィンガープリントを生成することにより得られる。例示的な実施形態では、３０ビットハッシュの６ビットごとに、（例えば、Ｂａｓｅ６４表現を使用して）文字に転換され得るものであり、そのためそれぞれのハッシュは、１文字から５文字の間の長さのフィンガープリントフラグメントを発生させることが可能である。
【００６７】
[0080]比較的長いテキストブロックに対しては、本発明の一部の実施形態は、サブセットがハッシュ選択判定基準によって選定されるトークンのサブセットからフィンガープリントを計算することにより、ズームアウトを実現する。例示的なハッシュ選択判定基準は、それらのハッシュが、２、３、または６などの整数ｋにより割り切れるトークンのみを選定することを含む。与えられた例に対しては、そのような選択によって、それぞれ利用可能なトークンのおおよそ１／２、１／３、または１／６からフィンガープリントを計算することが結果として生じる。一部の実施形態ではズームアウトすることは、そのようなトークン選択を複数の集約トークンに適用することをさらに含み得るものであり、その場合各々の集約トークンは、それぞれの電子文書の単語のシーケンスなどの、いくつものトークンの連結を含むものである。
【００６８】
[0081]様々なハッシュ関数が、フィンガープリントフラグメントの決定において使用され得る。コンピュータ実験では、当技術分野で知られている様々なハッシュ関数が、各々のハッシュ関数が実際のスパムで発生させ得るハッシュ衝突（同一のハッシュを生成する別個の単語）の数を決定する目的で、様々な言語での電子メールメッセージから抽出された１２２，０００個の単語の集合体に適用された。表３で図解される結果は、ＲＳＨａｓｈとして当技術分野で知られているハッシュ関数が、すべての試験されたハッシュ関数のうちの最も少ない衝突を生成するということを示す。
【００６９】
【表３】
2016517064.tif 000006
【００７０】
[0082]別のコンピュータ実験では、法人のサーバで１週間の間に受信された電子メールの総量からなり、スパムメッセージおよび正当なメッセージの両方を含む、電子メールメッセージの集合体が、本発明の一部の実施形態を使用して分析された。１２９文字から２５６文字の間の長さのテキストフィンガープリントを決定するために、メッセージの２０．８％はズームすることを必要とせず、１８．５％は２ｘズームアウトを必要とし、８．１％は３ｘズームアウトを必要とし、８．７％は６ｘズームアウトを必要とした。メッセージの同じ集合体のうちの、１４．８％は２ｘズームインを必要とし、９．７％は４ｘズームインを必要とし、１１．７％は８ｘズームインを必要とした。上記の結果が示唆することは、１２９〜２５６文字の間のフィンガープリント長さは、電子メールスパムを検出するために最適であり得るものであり、その理由は、ズームイン因子および／またはズームアウト因子による群への電子メールの現実のストリームの上記で述べられた区分化が、比較的均一にデータが加えられる群を生成するからというものであり、そのような状況は、すべての群がおおよそ等しい時間でサーチされ得るので、フィンガープリント比較のために有利であるということである。
【００７１】
[0083]さらに別のコンピュータ実験では、１５時間にわたって収集されたおおよそ８６５，０００個のメッセージからなるスパムの継続的なストリームが、各々のセットが、別個の１０分間隔の間に受信されるメッセージからなるメッセージのセットに分割された。メッセージの各々のセットは、本発明の一部の実施形態によって構築される文書分類器（例えば、図１１〜１２を参照されたい）を使用して分析された。メッセージの各々のセットに対しては、フィンガープリントデータベース７０は、より早期の時間間隔に属するスパムメッセージに対して決定されたフィンガープリントからなるものであった。式［１］およびしきい値Ｔ＝０．７５を使用して得られたスパム検出レートが、ファジーハッシングとして当技術分野で知られている従来のスパム検出方法を使用してメッセージの同じセットに関して得られたスパム検出レート（破線）と比較されて図１３に示される（実線）。
【００７２】
[0084]上記の実施形態が、本発明の範囲から逸脱することなく多くの方途で改変され得るということは、当業者には明らかであろう。したがって本発明の範囲は、以下の特許請求の範囲およびそれらの法的均等物により決定されるべきである。
【図１】
2016517064.tif 000007
【図２−Ａ】
2016517064.tif 000008
【図２−Ｂ】
2016517064.tif 000009
【図２−Ｃ】
2016517064.tif 000010
【図３−Ａ】
2016517064.tif 000011
【図３−Ｂ】
2016517064.tif 000012
【図３−Ｃ】
2016517064.tif 000013
【図４−Ａ】
2016517064.tif 000014
【図４−Ｂ】
2016517064.tif 000015
【図５】
2016517064.tif 000016
【図６】
2016517064.tif 000017
【図７】
2016517064.tif 000018
【図８】
2016517064.tif 000019
【図９】
2016517064.tif 000020
【図１０】
2016517064.tif 000021
【図１１】
2016517064.tif 000022
【図１２】
2016517064.tif 000023
【図１３】
2016517064.tif 000024
【国際調査報告】
2016517064.tif 000025
2016517064.tif 000026