Amazon SageMaker를 사용하여 이메일 스팸 탐지기 구축 | 아마존 웹 서비스

Amazon SageMaker를 사용하여 이메일 스팸 탐지기 구축 | 아마존 웹 서비스

정크 메일이라고도 하는 스팸 이메일은 한 번에 많은 사용자에게 전송되며 종종 사기, 피싱 콘텐츠 또는 암호화된 메시지를 포함합니다. 스팸 이메일은 때때로 사람이 수동으로 전송하지만 대부분은 봇을 사용하여 전송됩니다. 스팸 이메일의 예로는 가짜 광고, 연쇄 이메일, 사칭 시도 등이 있습니다. 특히 잘 위장된 스팸 이메일이 받은 편지함에 도착할 수 있는 위험이 있으며, 이는 클릭하면 위험할 수 있습니다. 장치와 민감한 정보를 보호하기 위해 추가 예방 조치를 취하는 것이 중요합니다.

기술이 발전함에 따라 스팸 이메일 탐지는 변화하는 특성으로 인해 어려운 작업이 되었습니다. 스팸은 다른 유형의 보안 위협과 상당히 다릅니다. 처음에는 성가신 메시지처럼 보일 수 있습니다. 위협, 하지만 즉각적인 효과가 있습니다. 또한 스패머는 종종 새로운 기술을 채택합니다. 이메일 서비스를 제공하는 조직은 최종 고객에게 피해를 주지 않기 위해 가능한 한 스팸을 최소화하기를 원합니다.

이 게시물에서는 다음을 사용하여 이메일 스팸 탐지기를 구축하는 것이 얼마나 간단한지 보여줍니다. 아마존 세이지 메이커. 내장 BlazingText 알고리즘 Word2vec 및 텍스트 분류 알고리즘의 최적화된 구현을 제공합니다. Word2vec은 감정 분석, 명명된 엔터티 인식 및 기계 번역과 같은 다양한 자연어 처리(NLP) 작업에 유용합니다. 텍스트 분류는 웹 검색, 정보 검색, 순위 지정 및 문서 분류와 같은 애플리케이션에 필수적입니다.

솔루션 개요

이 게시물은 SageMaker를 사용하여 이메일 스팸 탐지기를 설정하고 스팸 이메일을 필터링하는 방법을 보여줍니다. 다음 다이어그램과 같이 스팸 탐지기가 일반적으로 어떻게 작동하는지 살펴보겠습니다.

Amazon SageMaker를 사용하여 이메일 스팸 탐지기 구축 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.

이메일은 스팸 탐지기를 통해 전송됩니다. 스팸 탐지기가 스팸으로 감지하면 이메일이 스팸 폴더로 전송됩니다. 그렇지 않으면 고객의 받은 편지함으로 전송됩니다.

스팸 감지기 모델을 설정하기 위해 다음 단계를 안내합니다.

  1. GitHub 리포지토리에서 샘플 데이터 세트를 다운로드합니다.
  2. 데이터를 아마존 세이지 메이커 스튜디오 공책.
  3. 모델에 대한 데이터를 준비합니다.
  4. 모델을 학습, 배포 및 테스트합니다.

사전 조건

이 사용 사례를 시작하기 전에 다음 전제 조건을 완료하십시오.

  1. 설정 AWS 계정.
  2. 설정 SageMaker 도메인.
  3. 를 생성 아마존 단순 스토리지 서비스 (Amazon S3) 버킷. 지침은 다음을 참조하세요. 첫 번째 S3 버킷 생성.

데이터세트 다운로드

에서 email_dataset.csv를 다운로드합니다. GitHub의파일을 S3 버킷에 업로드.

BlazingText 알고리즘은 공백으로 구분된 토큰이 있는 사전 처리된 단일 텍스트 파일을 예상합니다. 파일의 각 줄에는 한 문장이 포함되어야 합니다. 여러 텍스트 파일을 훈련해야 하는 경우 하나의 파일로 연결하고 해당 채널에 파일을 업로드하십시오.

SageMaker Studio에서 데이터 로드

데이터 로드를 수행하려면 다음 단계를 완료하십시오.

  1. 를 다운로드 spam_detector.ipynb 에서 파일 GitHub의SageMaker Studio에서 파일 업로드.
  2. Studio 노트북에서 spam_detector.ipynb 공책.
  3. 커널을 선택하라는 메시지가 표시되면 Python 3(Data Science 3.0) 커널을 선택하고 선택. 그렇지 않은 경우 올바른 커널이 자동으로 선택되었는지 확인하십시오.

Amazon SageMaker를 사용하여 이메일 스팸 탐지기 구축 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.

  1. 필요한 Python 라이브러리를 가져오고 역할과 S3 버킷을 설정합니다. email_dataset.csv를 업로드한 S3 버킷 및 접두사를 지정합니다.

Amazon SageMaker를 사용하여 이메일 스팸 탐지기 구축 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.

  1. 노트북에서 데이터 로드 단계를 실행합니다.

Amazon SageMaker를 사용하여 이메일 스팸 탐지기 구축 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.

  1. 데이터 세트가 범주 레이블을 기반으로 균형이 맞는지 확인하십시오.

Amazon SageMaker를 사용하여 이메일 스팸 탐지기 구축 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.

데이터 세트가 균형 잡힌 것을 볼 수 있습니다.

데이터 준비

BlazingText 알고리즘은 다음 형식의 데이터를 예상합니다.

__label__<label> "<features>"

다음 예는 다음과 같습니다

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

체크 BlazingText 알고리즘을 위한 훈련 및 검증 데이터 형식.

이제 노트북에서 데이터 준비 단계를 실행합니다.

  1. 먼저 범주 열을 정수로 변환해야 합니다. 다음 셀은 SPAM 값을 1로, HAM 값을 0으로 바꿉니다.

Amazon SageMaker를 사용하여 이메일 스팸 탐지기 구축 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.

  1. 다음 셀은 접두사를 추가합니다. __label__ 각 범주 값으로 변환하고 메시지 열을 토큰화합니다.

Amazon SageMaker를 사용하여 이메일 스팸 탐지기 구축 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.

  1. 다음 단계는 데이터 세트를 훈련 및 검증 데이터 세트로 분할하고 파일을 S3 버킷에 업로드하는 것입니다.

Amazon SageMaker를 사용하여 이메일 스팸 탐지기 구축 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.

모델 훈련

모델을 교육하려면 노트북에서 다음 단계를 완료하세요.

  1. BlazingText 추정기를 설정하고 컨테이너 이미지를 전달하는 추정기 인스턴스를 만듭니다.

Amazon SageMaker를 사용하여 이메일 스팸 탐지기 구축 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.

  1. 학습 모드 하이퍼파라미터를 supervised로 설정합니다.

BlazingText에는 비지도 학습 모드와 지도 학습 모드가 모두 있습니다. 우리의 사용 사례는 지도 학습인 텍스트 분류입니다.

  1. 훈련 및 검증 데이터 채널을 생성합니다.

Amazon SageMaker를 사용하여 이메일 스팸 탐지기 구축 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.

  1. 모델 학습을 시작합니다.

Amazon SageMaker를 사용하여 이메일 스팸 탐지기 구축 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.

  1. 학습 및 검증 데이터 세트의 정확도를 가져옵니다.

Amazon SageMaker를 사용하여 이메일 스팸 탐지기 구축 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.

모델 배포

이 단계에서는 훈련된 모델을 엔드포인트로 배포합니다. 선호하는 인스턴스 선택

Amazon SageMaker를 사용하여 이메일 스팸 탐지기 구축 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.

모델 테스트

예측을 얻고자 하는 세 가지 이메일 메시지의 예를 제공하겠습니다.

  • 아래 링크를 클릭하고 세부 정보를 제공하고 이 상을 받으십시오.
  • 최고의 여름 거래
  • 금요일에 사무실에서 뵙겠습니다.

이메일 메시지를 토큰화하고 REST API를 호출할 때 사용할 페이로드를 지정합니다.

Amazon SageMaker를 사용하여 이메일 스팸 탐지기 구축 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.

이제 각 이메일의 이메일 분류를 예측할 수 있습니다. 토큰화된 문장 인스턴스(페이로드)를 데이터 인수에 전달하여 텍스트 분류기의 예측 메서드를 호출합니다.

Amazon SageMaker를 사용하여 이메일 스팸 탐지기 구축 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.

정리

마지막으로 예기치 않은 비용을 피하기 위해 끝점을 삭제할 수 있습니다.

Amazon SageMaker를 사용하여 이메일 스팸 탐지기 구축 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.

또한 삭제 S3 버킷의 데이터 파일.

결론

이 게시물에서는 다음을 사용하여 이메일 스팸 감지기를 만드는 단계를 안내했습니다. SageMaker BlazingText 알고리즘. BlazingText 알고리즘을 사용하면 대규모 데이터 세트로 확장할 수 있습니다. BlazingText는 텍스트 분석 및 텍스트 분류 문제에 사용되며 비지도 학습 모드와 지도 학습 모드가 모두 있습니다. 고객 감정 분석 및 텍스트 분류와 같은 사용 사례에 알고리즘을 사용할 수 있습니다.

BlazingText 알고리즘에 대해 자세히 알아보려면 다음을 확인하세요. BlazingText 알고리즘.


저자에 관하여

Amazon SageMaker를 사용하여 이메일 스팸 탐지기 구축 | Amazon Web Services PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.

디 라즈 타쿠 르 Amazon Web Services의 솔루션 설계자입니다. 그는 AWS 고객 및 파트너와 협력하여 엔터프라이즈 클라우드 채택, 마이그레이션 및 전략에 대한 지침을 제공합니다. 그는 기술에 대한 열정이 있으며 분석 및 AI / ML 공간에서 구축하고 실험하는 것을 즐깁니다.

타임 스탬프 :

더보기 AWS 기계 학습