1. 概要

この記事では、さまざまな状況で使用できるスパム検出のアプローチの種類について説明します。 また、英語およびその他の言語でスパム検出器を構築するために公開されているトレーニングデータセットについても説明します。

2. スパムとは何ですか?

受信者が望まないメッセージはスパムと見なされます。 これは、抽象的な言葉で言えば、スパムメッセージではないことを意味します。 むしろすべてのスパムメッセージは、それらを望まない特定の受信者に関連するものにすぎません

これは、スパム検出器を構築する場合の問題です。ユーザーごとに好みが異なり、受信するメッセージと受信しないメッセージを事前に予測することはできません。 これが何を意味するのかを例で見ることができます。

一般的なスパムメールは、たとえば、医薬品、金融サービス、またはアダルトコンテンツの販売に関連するものです。 ただし、ユーザーが次の場合はスパムではない可能性があります。

  • 現在鎮痛剤を探しています
  • ローンを探している、または
  • アダルトコンテンツに興味がある

理論的には、ユーザーが最初に自分の好みを十分に明確に表現して、不要なメッセージをすべて除外するシステムを構築できるようにする必要があります。 今のところ、これが起こったことと、ユーザーが何を望んでいて何を望まないかを明確に把握していると想像してみましょう。

では、ここからスパムフィルターを構築するにはどうすればよいでしょうか。

3. スパムフィルタリングへのルールベースの統計的アプローチ

3.1. ルールベースのアプローチ

電子メールのコーパス内のスパムを検出するためのシステムを作成するには、主に3つのアプローチがあります。 最初のアプローチはルールベースであり、特定の正規表現パターンのセットを満たすすべてのテキストをスパムとして分類することで機能します。

プログラマーはこれらのパターンを事前に識別します。これにより、パターンは静的で変更できなくなります。

複数のユーザー間で同じスパムフィルターを共有する必要がある場合は、このアプローチを選択する必要があります。 その際、すべてのルールを手動で入力する必要があるため、システムのスケーリングが困難になることに注意してください。

3.2. 統計的アプローチ

もう1つのアプローチは、機械学習を使用して実装できる統計的手法です。

この方法では、単語やテキストの特徴を確認し、関連するスパムラベルと比較する必要があります。 そうすることで、機械学習アルゴリズムは、学習したトレーニングデータセットに基づいて、これまでに表示されなかったテキストをスパムとして分類する方法を学習できます。

これは、たとえば、スパムのベルヌーイナイーブベイズ分類器の係数行列がトレーニング後にどのように見えるかです。

3.3. ハイブリッドアプローチ

最後に、ルールベースの方法と統計的方法をマージするハイブリッドアプローチがあります。 それらは、少なくとも英語の電子メールでは、商用アプリケーションではあまり一般的ではなく、見つけることもまれですが、統計的手法が最も一般的です。

統計的アプローチは英語に最も適していますが、これは一般的にすべての言語に有効であるとは限らないことに注意してください。 一部の、特に中国人は、代わりにハイブリッド方式を使用することでより多くの利益を得ることができます。 これは、スパム検出器を構築するときに言語構造の特異性を考慮する必要があることを意味します。

選択するアプローチに関係なく、スパムフィルターを作成するときは、最初にスパムを識別する基本検出器を作成してから、ユーザーが指定した設定でオンラインで更新する必要があります。

では、どのようにして基本スパム分類子を作成し、それを個々のユーザーの特定の好みに適応させることができるでしょうか。

トレーニングデータセットが必要です。 データセットを見つけるには、2つのオプションがあります。個々のユーザーの行動に基づいてデータセットを自分で開発するか、事前に作成されたデータセットを見つけてそれを適応させるかです。

4. スパム検出用のデータセット

4.1. ユーザー設定:常に使用できない理由

ユーザーのスパムをフィルタリングする場合、理想的なデータセットはそのユーザーが作成したものです。 そのデータセットを使用することにより、スパムフィルターはそのユーザーの設定を正確に複製し、他のユーザーの設定は複製しません。

これは、理想的には、受信するすべてのメッセージにラベルを付けるようにユーザーに依頼することを意味します。 次に、スパムと見なされる電子メールを教えてくれます。好みに基づいて、新しい電子メールが必要かどうかを推測します。

ユーザーは、電子メールクライアントで電子メールにスパムのフラグを立てるときにこれを正確に行います。 結果として、この動作を利用して、トレーニングデータセットを構築するために使用することを考えるかもしれません。 ただし、これは2つの主な理由でほとんど不可能です。

  • 電子メールサービスの新規ユーザーは、十分なスパム電子メールを受信し、それらにラベルを付けるために時間が必要です。
  • 電子メールサービスの古いユーザーは、古い電子メールをすべて調べて、それに応じてラベルを付けることを望まないでしょう。

これは、原則として不可能ではありませんが、個々のユーザー設定を使用してベーススパム検出器を構築する可能性が低いことも意味します。 ただし、新しいユーザーが多くのスパムメッセージを受信し、それに応じてそれらに注意深くラベルを付けた場合にのみ発生する可能性があります。

4.2. 公開されているデータセット

理想的ではありませんが、実際には非常に一般的である2番目の解決策は、スパムの識別に事前に作成されたデータセットを使用することです。 このタイプのいくつかのデータセットは、商業目的と科学目的の両方で利用できます。

  • UCIのSpambaseデータセットは、電子メールのスパムフィルターのトレーニングデータセットとして非常に人気があります。 これは、スパム検出の問題に初めて取り組む人々に提案するデータセットです。
  • 同じくUCIのSMSSpam データセットは、正確に電子メールではなく、SMSまたは短いテキストの分類に適したもう1つの頻繁に使用されるトレーニングデータセットです。
  • SpamAssassin データセットは、スパム検出用のもう1つの一般的なトレーニングデータセットです。 その主な利点は、スパムとハムの両方を、それらの難易度に基づいてさらにクラスに細分化することです。 これにより、ますます困難になるテキストのグループに対してスパムフィルターをテストできます。
  • Enron Spam データセットには、電子メールの生のテキストが含まれています。これにより、単語の特徴だけでなく、電子メールのヘッダーとテキストのアルゴリズムのトレーニングが可能になります。
  • PU Corpora には、プライバシーを保護するためにテキストがトークン化およびエンコードされているが、それ以外は未加工の電子メールが含まれています

4.3. 他の言語のデータセット

英語以外の言語の場合、スパム分類用の既製の公開トレーニングデータセットが常に利用できるとは限りません。 その場合、テキスト、特にインターネットテキストのデータセットを見つけて、それらから処理することができます。

テキストコーパスにいくつかの作業を入れることができれば、スパム分類器をトレーニングするためにそれを再適応させることができます。 たとえば、特定のデータセットにスパム分類のラベルがない場合でも、それを使用できないわけではありません。 その場合でも、テキストに手動でラベルを付けるか、自動メソッドを使用してラベルを付けることができます。

ここで、英語以外の言語のテキストデータセットをいくつか見ることができます。

  • アラビア語の場合、拡張アラビア語Webスパム2011データセットが最適なリソースですが、特に電子メールではなくWebページに関連しています。 トークンではなく単語の特徴を使用しますが、単語の長さなど、これらの一部はWebページだけでなく電子メールにも適用できます。
  • ドイツ語の場合、 CodE ALLTAG には匿名化された電子メールの大規模なコーパスが含まれていますが、電子メールをスパムまたはハムとして分類するためのラベルがありません。 したがって、使用前にすべてのテキストに手動または自動でラベルを付ける必要があります
  • イタリア語の場合、 CORIS のEPHEMERAサブコーパスには文字専用のセクションがあり、研究には使用できますが、商業目的には使用できません。 テキストにはスパムラベルがないため、手動または自動のタグ付けを実行する必要があります
  • フランス語の場合、 CoMeResimuligneというメールのコーパスを使用できます。 コーパスにはハムのみが含まれ、スパムは含まれないため、他のソースから補完する必要があります

4.4. 独自のデータセット

ユーザーの電子メールには個人情報や機密情報が含まれているため、電子メールを分類するためのオープンなデータセットを見つけるのは一般的に困難です。 上記の英語のものを除いて、そのようなデータセットは一般に公開されていません。 さらに具体的なデータセットが必要な場合は、データセットを持っている人からアクセスできる場合があります。

すべての電子メールサービスプロバイダーは独自のデータセットを所有しており、場合によってはサードパーティへのアクセスを許可できます。 このタイプのアクセスは通常、商業契約または研究契約に基づいて行われます。 プログラマーまたは研究者は、このタイプの契約をサービスプロバイダーと直接交渉できます。

5. 結論

この記事では、スパムフィルタリングの主なアプローチについて説明しました。 複数のユーザー間で同じスパムフィルターを共有する場合は、通常、ルールベースのアプローチを使用します。 スパムフィルターをスケーラブルにする必要がある場合は、代わりに統計的アプローチを使用します。

また、スパム分類器の初期トレーニングで最も一般的な公開データセットは何かを見てきました。 英語や他の言語で利用できるものについて話し合い、それらがどのような機能を備えているかを確認しました。