Amazon SageMakerを使用して電子メールのスパム検出器を構築する

Amazon SageMakerでスパム検出器を作る

スパムメール、または迷惑メールとも呼ばれるものは、一度に大量のユーザーに送信され、しばしば詐欺、フィッシング内容、または難解なメッセージを含んでいます。スパムメールは、時には人間によって手動で送信されますが、ほとんどの場合はボットを使用して送信されます。スパムメールの例には、偽の広告、連鎖メール、なりすましの試みなどがあります。特にうまく偽装されたスパムメールが受信トレイに入るリスクがあります。クリックされると危険です。デバイスと機密情報を保護するために追加の注意を払うことが重要です。

技術の進歩に伴い、スパムメールの検出はその変化する性質のために課題となっています。スパムは他のセキュリティ脅威とはかなり異なります。最初は迷惑なメッセージに見えるだけでなく脅威ではないように見えるかもしれませんが、即効性があります。また、スパマーは頻繁に新しい技術を採用します。メールサービスを提供する組織は、エンドユーザーに損害を与えないためにスパムをできるだけ最小限に抑えたいと考えています。

この投稿では、Amazon SageMakerを使用して電子メールのスパム検出器を構築する方法を紹介します。組み込みのBlazingTextアルゴリズムは、Word2vecとテキスト分類のアルゴリズムの最適化された実装を提供しています。Word2vecは、感情分析、固有表現認識、機械翻訳などのさまざまな自然言語処理(NLP)のタスクに役立ちます。テキスト分類は、ウェブ検索、情報検索、ランキング、ドキュメント分類などのアプリケーションに不可欠です。

ソリューションの概要

この投稿では、SageMakerを使用して電子メールのスパム検出器を設定し、スパムメールをフィルタリングする方法を示します。次の図に示すように、スパム検出器は電子メールを送信します。スパム検出器がスパムとして検出した場合、電子メールはスパムフォルダに送信されます。それ以外の場合は、顧客の受信トレイに送信されます。

次の手順でスパム検出器モデルを設定するために進めます:

  1. GitHubリポジトリからサンプルデータセットをダウンロードします。
  2. Amazon SageMaker Studioノートブックでデータをロードします。
  3. モデルのためのデータを準備します。
  4. モデルのトレーニング、デプロイ、テストを行います。

前提条件

このユースケースに取り組む前に、次の前提条件を満たしてください:

  1. AWSアカウントをセットアップします。
  2. SageMakerドメインを設定します。
  3. Amazon Simple Storage Service(Amazon S3)バケットを作成します。手順については、「最初のS3バケットを作成する」を参照してください。

データセットのダウンロード

GitHubからemail_dataset.csvをダウンロードし、ファイルをS3バケットにアップロードします。

BlazingTextアルゴリズムは、スペースで区切られたトークンを持つ単一の前処理済みテキストファイルを想定しています。ファイルの各行には単一の文が含まれている必要があります。複数のテキストファイルでトレーニングする必要がある場合は、それらを1つのファイルに連結して、該当するチャネルにファイルをアップロードしてください。

SageMaker Studioでデータをロードする

データのロードを行うために、次の手順を実行してください:

  1. GitHubからspam_detector.ipynbファイルをダウンロードし、SageMaker Studioにファイルをアップロードします。
  2. Studioノートブックで、spam_detector.ipynbノートブックを開きます。
  3. カーネルを選択するように求められた場合は、Python 3(Data Science 3.0)カーネルを選択し、選択を選択します。そうでない場合は、適切なカーネルが自動的に選択されていることを確認してください。

  1. 必要なPythonライブラリをインポートし、ロールとS3バケットを設定します。email_dataset.csvをアップロードしたS3バケットとプレフィックスを指定します。

  1. ノートブックでデータロードステップを実行します。

  1. カテゴリーラベルに基づいてデータセットがバランスしているかどうかを確認します。

データセットがバランスしていることがわかります。

データの準備

BlazingTextアルゴリズムでは、データを以下の形式で期待しています:

__label__<label> "<features>"

以下は例です:

__label__0 “This is HAM"
__label__1 "This is SPAM"

BlazingTextアルゴリズムのトレーニングデータとバリデーションデータの形式を確認してください。

ノートブックでデータ準備ステップを実行します。

  1. まず、Category列を整数に変換する必要があります。次のセルでは、SPAM値を1に置き換え、HAM値を0に置き換えています。

  1. 次のセルでは、各Category値にプレフィックス__label__を追加し、Message列をトークン化しています。

  1. 次のステップは、データセットをトレーニングデータとバリデーションデータに分割し、ファイルをS3バケットにアップロードすることです。

モデルのトレーニング

モデルのトレーニングには、ノートブックで以下の手順を完了します:

  1. BlazingText推定器をセットアップし、コンテナイメージを渡して推定器インスタンスを作成します。

  1. 学習モードのハイパーパラメータをsupervisedに設定します。

BlazingTextには、教師なし学習モードと教師あり学習モードの両方があります。私たちのユースケースはテキスト分類であり、教師あり学習です。

  1. トレーニングデータとバリデーションデータのチャネルを作成します。

  1. モデルのトレーニングを開始します。

  1. トレーニングデータとバリデーションデータの精度を取得します。

モデルの展開

このステップでは、トレーニング済みのモデルをエンドポイントとしてデプロイします。お好きなインスタンスを選択してください。

モデルのテスト

以下は予測を取得したい3つの電子メールメッセージの例です:

  • 下のリンクをクリックし、詳細を入力してこの賞を獲得してください
  • 最高の夏のお得情報がここにあります
  • 金曜日にオフィスでお会いしましょう

電子メールメッセージをトークン化し、REST APIを呼び出す際に使用するペイロードを指定します。

これで、各電子メールの分類を予測することができます。テキスト分類器の予測メソッドを呼び出し、トークン化された文のインスタンス(ペイロード)をデータ引数に渡します。

クリーンアップ

最後に、予期しない費用を避けるためにエンドポイントを削除することができます。

また、S3バケットからデータファイルを削除してください。

結論

この記事では、SageMaker BlazingTextアルゴリズムを使用して電子メールスパム検出器を作成する手順を説明しました。BlazingTextアルゴリズムでは、大規模なデータセットにスケールすることができます。BlazingTextはテキスト分析とテキスト分類の問題に使用され、教師あり学習と教師なし学習の両方のモードを持っています。このアルゴリズムは、顧客の感情分析やテキスト分類などのユースケースに使用することができます。

BlazingTextアルゴリズムの詳細については、BlazingTextアルゴリズムをご覧ください。

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

データサイエンス

データサイエンティストのためのAI Chrome拡張機能チートシート

VoAGIの最新のチートシートは、データサイエンスのゲームをサポートするために設計された、印象的な高度なツールとリソースの...

AI研究

Google研究者がAudioPaLMを導入:音声技術における革新者 - 聞き、話し、そして前例のない精度で翻訳する新しい大規模言語モデル

大規模言語モデル(LLM)が数ヶ月間注目を集めています。人工知能の分野で最も優れた進歩の1つであり、これらのモデルは人間...

データサイエンス

マシンラーニングに取り組むため、プライベートエクイティはデータサイエンスの才能を採用しています

プライベートエクイティファームは、機械学習とデータ分析を投資プロセスに統合する際、データサイエンスの専門家にデータを...

機械学習

「見えないものを拡大する:この人工知能AIの手法は、3Dで微妙な動きを可視化するためにNeRFを使用します」

私たちは、身体の微妙な動きから地球の大規模な動きまで、動きに満ちた世界に生きています。しかし、これらの動きの多くは肉...

機械学習

ノースイースタン大学およびMITのこのAIの論文では、拡散モデルにおける画像生成制御のための解釈可能なコンセプトスライダーが開発されています

芸術的なテキストから画像までの拡散モデルの利用者は、通常、生成された画像に表現される視覚的特徴と概念において細かい制...

データサイエンス

「データセンターの廃熱を利用して家を暖める '英国初の' 仕組み」

ロンドンの計画は、イギリス初の大規模プロジェクトであり、データセンターの余熱を利用して家庭の電力を供給するものです