AIが「迷惑メール」をフィルタリングし、ユーザーが価値あるメールを素早く見つけられるようにする

AIが「迷惑メール」をフィルタリングし、ユーザーが価値あるメールを素早く見つけられるようにする

現在、世界中で毎日送信される 3,000 億通の電子メールのうち、少なくとも半分はスパムです。電子メール サービス プロバイダーの主な役割は、当然ながら、これらのスパム メールをフィルター処理して、ユーザーが本当に価値のある重要なメールをすばやく見つけられるようにすることです。

[[373892]]

しかし、スパム検出自体は非常に複雑です。まず、スパムメールと正常なメールの境界線は非常に曖昧であり、何がスパムで何が正常であるかを判断する基準は時間の経過とともに変化する傾向があります。これまで、さまざまな電子メール サービス プロバイダーは一般的に自動スパム検出方法を採用しており、機械学習が最も効果的で人気のあるコア オプションとなっています。スパムメールはまだある程度見られますが、機械学習アルゴリズムの強力なサポートにより、そのほとんどは受信トレイから直接削除されています。

では、機械学習はどのようにしてどのメールがスパムで、どのメールが正規のメールなのかを判断するのでしょうか? この記事では、その仕組みについて説明します。

課題

スパムにはさまざまな味があります。中には、受信者を騙してメールを開かせたり、虚偽の情報を広めたりすることを目的とした、単なる市場調査メッセージもあります。しかし、中には受信者を騙して悪意のあるリンクをクリックさせたり、マルウェアをダウンロードさせたりすることを目的とした偽装メールもあります。

しかし、共通しているのは、受け手の実際のニーズとはまったく関係がないということです。スパム検出アルゴリズムでは、ユーザーが受信して表示したい実際の電子メールを削除せずに、不要なコンテンツをブロックする信頼性の高いスパム フィルタリング方法を見つける必要があります。さらに、アルゴリズム自体も、新型コロナウィルスの流行によって引き起こされた大規模なパニック、選挙のニュース、暗号通貨コミュニティの急速な成長など、新しいトレンドに適応し続けなければなりません。

静的ルールは、このような要件を解決するのに適しています。たとえば、メッセージに多数の CC が含まれていて、本文が非常に短く、件名がすべて大文字である場合、そのメッセージはスパムである可能性があります。同様に、一部の送信者ドメインがスパムのブラックリストに登録されている可能性があります。しかし、ほとんどの場合、スパム検出は依然として電子メールの内容の特定の分析に主に依存しています。

ナイーブベイズ機械学習

機械学習アルゴリズムは統計モデルを使用してデータを分類します。スパム検出のユースケースでは、トレーニングされた機械学習モデルが、電子メール内の単語の順序に基づいて、電子メールがスパムである可能性が高いか、または正規のものである可能性が高いかを判断できる必要があります。

さまざまな機械学習アルゴリズムには特定のスパム検出機能がありますが、最も人気のあるのは依然として「Naive Bayes」アルゴリズムです。名前が示すように、ナイーブベイズアルゴリズムは、事前の知識に基づいてイベントの確率を記述する「ベイズの定理」に基づいています。

最初に、観察された特徴が独立してのみ存在すると仮定するため、「ナイーブ」と名付けられています。たとえば、ナイーブベイズ機械学習法を使用して雨が降るかどうかを予測する場合、雨が降るかどうかを予測するために必要なのは、湿度や温度などのいくつかの特徴だけです。

スパムの検出に関しては、状況は間違いなくさらに複雑になります。ターゲット変数は、特定の電子メールが「スパム」であるか「スパムではない」かです。特徴とは、電子メールの本文に含まれる単語または単語の組み合わせです。つまり、テキストの内容に基づいて、現在の電子メールがスパムである可能性を判断したいのです。

ここで強調しておきたいのは、スパム検出に使用されるさまざまな機能が必ずしも互いに独立しているわけではないということです。たとえば、「グリルド」、「チーズ」、「サンドイッチ」という単語を組み合わせると、電子メールのコンテキストでこれらの単語が連続して出現すると、まったく異なる意味が表現されます。もう 1 つのより明確な例は、「no」と「fun」です。独立した分析と非独立した分析では、完全に反対の結論が導き出されます。幸いなことに、テキスト データ内の特徴の独立性は非常に複雑であることが多いものの、ナイーブ ベイズ分類器は、正しく構成されている限り、ほとんどの自然言語処理タスクを効果的に処理できます。

データについて

スパム検出は教師あり機械学習の問題です。つまり、機械学習モデルにスパムと正常なメッセージの例を大量に入力して、2つを正確に区別できるパターンを見つける必要があります。

ほとんどのメールプロバイダーには、ラベル付けされたメールの独自のデータセットがあります。たとえば、Gmail アカウントでメールをスパムとしてマークするたびに、Google はそのデータを使用して機械学習アルゴリズムをトレーニングします。 (Google は、この記事の例よりもはるかに洗練されたスパム検出アルゴリズムを使用しており、「スパムを報告」機能の悪用を防ぐための洗練されたメカニズムを備えていることに注意してください。)

カリフォルニア大学アーバイン校のスパム データベース データセットやエンロンのスパム データセットなど、試してみる価値のあるオープン ソース データセットも多数あります。ただし、これらのデータセットは教育およびテスト目的のみであり、実稼働レベルの機械学習モデルの作成にはあまり役立たないことに注意してください。

独自の電子メール サーバーをホストするプロバイダーは、特殊なデータセットを作成し、特定の業界や用語に合わせて機械学習モデルを調整できます。たとえば、金融サービス会社のデータセットは、建設会社のデータセットとは内容が大きく異なります。

機械学習モデルのトレーニング

近年の自然言語処理技術の目覚ましい進歩にもかかわらず、AI アルゴリズム自体はまだ人間ほどスムーズに言語の内容を理解することができません。

したがって、スパム検出用の機械学習モデルを開発する際の重要なステップは、統計処理用のデータを準備することです。ナイーブ ベイズ分類器をトレーニングする前に、スパム メールと通常のメールのコーパスを特定の手順で整理する必要があります。

次のステートメントを含むデータセットを検討してください。

  • スティーブはパーティーのためにグリルドチーズサンドイッチを買いたいと思っています。
  • サリーは夕食に鶏肉を焼いている
  • ケーキ用にクリームチーズを買いました

モデルをトレーニングし、その後新しいデータに対して予測を行う場合、まずテキスト データを「トークン化」してから機械学習アルゴリズムに入力する必要があります。本質的に、トークン化とはテキストデータを小さな部分に分割することを意味します。上記のデータセットを単語ごとに分割すると、次の語彙が得られます。各単語は 1 回だけ表示されることに注意してください。

スティーブはパーティー用にグリルドチーズサンドイッチを買いたいと思っています。サリーはバーベキューチキンディナーを食べます。私はバターケーキを買いました。

スパムメールと通常のメールの両方に表示される単語は、メール自体の性質を区別するのに役立たないため、削除することができます。これらは「ストップワード」と呼ばれ、一般的な例としては this、that、is、want などがあります。上記のデータセットでは、ストップワードを削除すると、語彙はすぐに 5 に減少します。

語幹抽出やトークン化などの他の技術を使用して、単語をより基本的な形式に変換することもできます。サンプルデータセットを続けると、「买」と「买」は同じ語源を持ち、「烤」と「烤」も同じ語源を持ちます。このような処理により、マシンモデルをさらに簡素化することができます。

場合によっては、バイグラム (2 つの単語を含むトークン)、トライグラム (3 つの単語を含むトークン)、またはさらに長い N ワード トークンの使用も検討してください。たとえば、上記のデータセットを 2 語形式を使用してラベル付けすると、「チーズケーキ」という表現になり、3 語形式を使用すると、「グリルド チーズ サンドイッチ」という表現になります。

データ処理が完了すると、機械学習モデルの機能を定義する用語集が作成されます。次に、どの単語または単語シーケンス (N ワード表現を使用している場合) がスパムおよびハム メールに関連付けられているかを判断する必要があります。

トレーニング データセットで機械学習モデルをトレーニングする場合、スパム メールとハム メールに出現する回数に基づいて、さまざまな用語に重みを割り当てる必要があります。たとえば、「ジャックポットを当てる」が特性の 1 つであり、それがスパム メッセージにのみ表示される場合、この特性を持つメッセージはすべてスパムとして分類される可能性が高くなります。同様に、「重要な会議」が通常の電子メールにのみ表示される場合、この機能を含む電子メールは通常の電子メールとして分類される可能性が高くなります。

データが処理され、特徴に重みが割り当てられると、機械学習モデルはスパムをフィルタリングできるようになります。新しい電子メールを受信すると、テキストがトークン化され、ベイズの式に実行されます。メッセージ本文の各用語にその重みが掛けられ、重みの合計が電子メールがスパムである可能性を表します。 (実際の計算プロセスはより複雑ですが、ここでは簡単にするために、すべての重みを直接合計します。)

機械学習を使用した高度なスパム検出

単純に聞こえますが、Naive Bayes 機械学習アルゴリズムは、スパム検出を含むほとんどのテキスト分類タスクで優れたパフォーマンスを発揮します。

しかし、まだ完璧ではないのは確かです。

他の機械学習アルゴリズムと同様に、ナイーブ ベイズ アルゴリズムは言語のコンテキストを理解することができず、単語間の統計的関係のみに依存してテキストが特定のカテゴリに属する​​かどうかを判断します。つまり、送信者がメールの末尾に通常のメールの基準を満たす単語を追加したり、スパムの特性を満たす用語を他の同義語や関連語に置き換えたりすると、ナイーブ ベイズ アルゴリズムはスパムを誤って通常のメールと判断する可能性があります。

確かに、ナイーブ ベイズ アプローチは、スパムを検出できる唯一の機械学習アルゴリズムではありません。その他の一般的なアルゴリズムのオプションには、リカレントニューラルネットワーク (RNN) とトランスフォーマーがあり、どちらも電子メールやテキストメッセージなどの順次データの処理に効率的です。

最後に、スパム検出は常に進化していることに注意することが重要です。開発者が AI やその他のテクノロジーを使用して電子メール内の有害なメッセージを検出し、フィルタリングするのに伴い、スパマーも検出システムを欺いて受信者にスパムを送信する新しい方法を模索しています。そのため、電子メール サービス プロバイダーは、ユーザー データを継続的に使用して、スパム検出機能を改善および更新する必要があります。

<<:  ロボットインテリジェント把持システム:いくつかの主流ソリューション

>>:  医者から「ビジネスを奪いたい」ですか?人工知能はこれら3つの大きな困難を克服しなければならない

ブログ    
ブログ    
ブログ    
ブログ    
ブログ    

推薦する

たった 10 行のコードでディープラーニングを実行できますか? PaddlePaddleフレームワークの高レベルAPIでAIを簡単に操作しよう

高レベルAPIとはディープラーニングは、人工知能時代の中核技術として、近年、学術界と産業界の両方でま...

大規模言語モデルによる金融市場の予測

大規模言語モデル (LLM) は、数百万または数十億のパラメータを持つ人工ニューラル ネットワークで...

財務報告分析:マイクロソフトの生成AIへの賭けは成功したが、グーグルは依然として苦戦中

マイクロソフトとグーグルが財務報告を発表したが、一方は喜び、他方は悲しんだ。 AIへの大胆な賭けのお...

オープンAI音声アシスタントMycroftでプライバシーを確​​保

[[258822]] [51CTO.com クイック翻訳] 音声アシスト技術は非常に人気があり、すで...

ChatGPT Plusの登録が停止、OpenAIは容量の課題に直面

11月16日、海外メディアの報道によると、OpenAIのCEOであるサム・アルトマン氏は最近、Dev...

...

C# モザイク アルゴリズムの実装

視聴者の要望に応えて、今日は C# モザイク アルゴリズムの実装についてお話します。古いルール、理解...

ImageNetは人間の顔をぼかすことにしたが、ハスキー犬の顔の写真の認識率は急上昇した

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

これらの10の機械学習手法をマスターすれば、あなたはサークルで最も人気のある人になるでしょう

科学研究でも産業界でも、機械学習はホットな話題であり、新しい機械学習手法が次々と登場しています。機械...

AIモデルをGTAの5つ星プレイヤーにしよう、視覚ベースのプログラム可能なエージェントOctopusが登場

ビデオゲームは今日、現実世界のシミュレーションとなり、無限の可能性を示しています。ゲーム「グランド・...

AppleがAI研究成果を公開、マルチモーダルLLMモデルFerretをリリース

IT Homeは12月25日、Appleがコロンビア大学の研究者らと協力して2023年10月にオープ...

BEV におけるレーダー・カメラ間データセット融合に関する実験的研究

この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転...

...