KR101806174B1 - 스팸 문자 판별 시스템 및 방법, 이를 수행하기 위한 기록매체 - Google Patents

스팸 문자 판별 시스템 및 방법, 이를 수행하기 위한 기록매체 Download PDF

Info

Publication number
KR101806174B1
KR101806174B1 KR1020160102669A KR20160102669A KR101806174B1 KR 101806174 B1 KR101806174 B1 KR 101806174B1 KR 1020160102669 A KR1020160102669 A KR 1020160102669A KR 20160102669 A KR20160102669 A KR 20160102669A KR 101806174 B1 KR101806174 B1 KR 101806174B1
Authority
KR
South Korea
Prior art keywords
spam
sentence
word
normal
words
Prior art date
Application number
KR1020160102669A
Other languages
English (en)
Inventor
오하영
노기섭
Original Assignee
숭실대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 숭실대학교산학협력단 filed Critical 숭실대학교산학협력단
Application granted granted Critical
Publication of KR101806174B1 publication Critical patent/KR101806174B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/40Business processes related to the transportation industry
    • G06F17/30705
    • G06F17/27
    • G06F17/30539
    • G06Q50/30
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/436Arrangements for screening incoming calls, i.e. evaluating the characteristics of a call before deciding whether to answer it

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Signal Processing (AREA)
  • Human Resources & Organizations (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

스팸 문자 판별 시스템 및 방법, 이를 수행하기 위한 기록매체가 개시된다.
본 발명의 일 실시예에 따른 스팸 문자 판별 시스템은, 단말기로 수신되는 문자메시지로부터 적어도 하나의 문장을 추출하고, 상기 문장이 미리 설정된 조건을 만족하는 경우 상기 문장을 스팸 의심 문장으로 분류하는 전처리부, 상기 스팸 의심 문장을 구성하는 복수의 단어를 이용하여, 서로 다른 두 개의 단어가 포함된 단어조합을 생성하는 단어조합부, 상기 단어조합을 미리 학습된 스팸 단어조합들 및 정상 단어조합들과 비교하여 일치도를 카운팅하는 비교부 및 복수의 상기 단어조합에 대한 카운팅 결과를 기초로 상기 스팸 의심 문장의 스팸여부를 판단하는 판단부를 포함한다.

Description

스팸 문자 판별 시스템 및 방법, 이를 수행하기 위한 기록매체{SYSTEM AND METHOD FOR DETECTING SPAM SMS, RECORDING MEDIUM FOR PERFORMING THE METHOD}
본 발명은 스팸 문자 판별 시스템 및 방법, 이를 수행하기 위한 기록매체에 관한 것으로서, 보다 상세하게는 이동 단말로 수신되는 문자 메시지의 스팸여부를 판단하는 스팸 문자 판별 시스템 및 방법, 이를 수행하기 위한 기록매체에 관한 것이다.
스패머(spamer)는 이메일 혹은 문자 등을 활용해서 원하는 목적을 악의적으로 달성한다. 초창기 인터넷의 보급은 스팸 이메일의 문제를 주로 야기시켰지만 최근 스마트폰의 사용량의 증가는 스팸 이메일은 물론 스팸 문자 메시지 양의 급격하게 증가시켰다. 스팸 문자 데이터 셋은 공개적으로 구하기 어렵고, 구한다고 해도 스팸인지 정상인지 구별이 확실하지 않기 때문에 스팸 문자 메시지 특성 분석활용에 한계가 있었다.
스팸 이메일 및 스팸 문서를 탐지하는 기법을 스팸 문자 분석에 적용하는 방법이 있으나, 이와 같은 방법은 문자 메시지 특성상 정확도가 떨어지는 단점이 있다. 즉, 일반적인 이메일 및 문서들과는 달리 문자 메시지는 통신사가 결정한 전송 용량 내에서만 정상적인 송수신이 가능하다. 따라서, 이메일에서 주로 사용되는 특징 단어와 문자에서 사용되는 특징 단어는 성격이 다르기 때문에 스팸 이메일 탐지에 적용됐던 분류 기법을 그대로 스팸 문자 탐지에 활용하는 것은 성능에 한계가 있다.
스팸 문자로 인한 금융 사기 및 개인정보 유출이 사회적인 이슈가 됨에 따라, 문자 메시지의 스팸여부를 정확하게 판단할 수 있는 기술의 도입이 시급한 상황이다.
한국등록특허 제10-1153019호 한국등록특허 제10-1437521호
본 발명의 일측면은 단말기로 수신되는 문자메시지를 다각도로 계층 분석하여 스팸여부를 판단하는 스팸 문자 판별 시스템 및 방법을 제공한다.
본 발명의 기술적 과제는 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일측면에 따른 스팸 문자 판별 시스템은, 단말기로 수신되는 문자메시지로부터 적어도 하나의 문장을 추출하고, 상기 문장이 미리 설정된 조건을 만족하는 경우 상기 문장을 스팸 의심 문장으로 분류하는 전처리부, 상기 스팸 의심 문장을 구성하는 복수의 단어를 이용하여, 서로 다른 두 개의 단어가 포함된 단어조합을 생성하는 단어조합부, 상기 단어조합을 미리 학습된 스팸 단어조합들 및 정상 단어조합들과 비교하여 일치도를 카운팅하는 비교부 및 복수의 상기 단어조합에 대한 카운팅 결과를 기초로 상기 스팸 의심 문장의 스팸여부를 판단하는 판단부를 포함할 수 있다.
상기 미리 설정된 조건은, 상기 문장의 길이가 미리 설정된 기준 길이 이상인 제1 조건, 상기 문장을 구성하는 단어의 개수가 미리 설정된 기준값 이상인 제2 조건, 상기 문장에 포함된 특수문자의 개수가 미리 설정된 기준값 이상인 제3 조건 및 상기 문장을 구성하는 복수의 단어로부터 특징문자를 추출하고, 상기 특징문자의 출현빈도가 미리 설정된 빈도수 이상인 제4조건 중 적어도 하나를 포함할 수 있다.
상기 전처리부는, 상기 문장이 상기 제1 조건 내지 상기 제4 조건 중 적어도 하나의 조건을 만족하는 경우 상기 문장을 상기 스팸 의심 문장으로 분류할 수 있다.
상기 전처리부는, 미리 학습된 복수의 스팸 단어 및 정상 단어를 이용하여 상기 스팸 의심 문장을 구성하는 복수의 단어로부터 적어도 하나의 상기 특징단어를 추출할 수 있다.
상기 전처리부는, 상기 스팸 의심 문장을 구성하는 복수의 단어 중 상기 스팸 단어 및 상기 정상 단어에 공통으로 포함되는 단어를 삭제하고, 삭제되지 않은 단어를 상기 특징단어로 결정할 수 있다,
상기 비교부는, 복수의 상기 단어조합 각각을 상기 스팸 단어조합들과 비교하여 스팸일치도를 누적하여 카운팅하고, 상기 정상 단어조합들과 비교하여 정상일치도를 누적하여 카운팅할 수 있다.
상기 판단부는, 누적된 상기 스팸일치도를 상기 스팸 의심 문장을 구성하는 단어의 개수로 나눈 스팸지수 및 누적된 상기 정상일치도를 상기 스팸 의심 문장을 구성하는 단어의 개수로 나눈 정상지수를 산출할 수 있다.
상기 스팸 단어, 상기 정상 단어, 상기 스팸 단어조합 및 상기 정상 단어조합을 학습하여 관리하는 데이터베이스를 더 포함할 수 있다.
본 발명의 일측면에 따른 스팸 문자 판별 방법은, 단말기로 수신되는 문자메시지로부터 적어도 하나의 문장을 추출하는 단계, 상기 문장이 미리 설정된 조건을 만족하는 경우 상기 문장을 스팸 의심 문장으로 분류하는 단계, 상기 스팸 의심 문장을 구성하는 복수의 단어를 이용하여, 서로 다른 두 개의 단어가 포함된 단어조합을 생성하는 단계, 상기 단어조합을 미리 학습된 스팸 단어조합들 및 정상 단어조합들과 비교하여 일치도를 카운팅하는 단계 및 복수의 상기 단어조합에 대한 카운팅 결과를 기초로 상기 스팸 의심 문장의 스팸여부를 판단하는 단계를 포함할 수 있다.
또한, 스팸 문자 판별 시스템 및 방법을 제공하기 위한, 컴퓨터 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체일 수 있다.
상술한 본 발명의 일측면에 따르면, 단말기로 수신되는 문자메시지를 다각도로 계층 분석하여 스팸여부를 판단하는 정확도가 향상되어 신뢰성 있는 스팸 판별 시스템을 구축할 수 있다.
도 1은 본 발명의 일 실시예에 따른 스팸 문자 판별 시스템의 개략적인 구성을 나타내는 도면이다.
도 2 내지 도 4는 도 1의 데이터베이스부에 미리 학습된 데이터의 분포특징 나타내는 도면이다.
도 5 내지 도 6은 도 1의 스팸 문자 판별 시스템을 이용하여 스팸여부를 판단하는 일 예를 나타내는 도면이다.
도 7은 본 발명의 일 실시예에 따른 스팸 문자 판별 방법의 개략적인 흐름을 나타내는 순서도이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예와 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
이하, 도면들을 참조하여 본 발명의 바람직한 실시예들을 보다 상세하게 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 스팸 문자 판별 시스템(1000)의 구성을 도시한 블록도이다.
본 실시예에 따른 스팸 문자 판별 시스템(1000)은, 전처리부(10), 단어조합부(20), 비교부(30), 판단부(40), 특징추출부(50) 및 데이터베이스부(60) 를 포함한다.
스팸 문자 판별 시스템(1000)은 단말기에 구비될 수 있다. 예를 들어, 스팸 문자 판별 시스템(1000)은 애플리케이션 또는 응용프로그램의 형태로 단말기에 구현될 수 있다. 다른 실시예로, 스팸 문자 판별 시스템(1000)은 단말기와 별도로 구비될 수 있다. 즉, 스팸 문자 판별 시스템(1000)이 별도의 서버에 구현되고, 단말기는 수신된 문자메시지를 서버로 전송하여 스팸여부 결과를 제공받을 수도 있다.
전처리부(10)는 단말기로 수신되는 문자메시지로부터 적어도 하나의 문장을 추출할 수 있다. 전처리부(10)는 추출된 문장을 정상 문장 또는 스팸 의심 문장으로 분류할 수 있다. 즉, 전처리부(10)는 본 실시예에 따른 스팸 문자 판별 시스템(1000)을 이용하여 문자메시지의 스팸여부를 최종적으로 판단하기 이전에, 문자메시지에 포함된 문장 중 스팸으로 의심되는 문장을 1차적으로 선별하는 전처리과정을 수행할 수 있다.
구체적으로, 전처리부(10)는 미리 설정된 조건을 만족하는 문장을 스팸 의심 문장으로 분류할 수 있다. 이를 위해, 전처리부(10)는 문장을 분류하기 위해 적어도 하나의 조건을 설정할 수 있다. 미리 설정된 조건은, 추출된 문장의 길이를 비교하는 제1 조건, 문장을 구성하는 단어의 개수를 비교하는 제2 조건, 문장에 포함된 특수문자의 개수를 비교하는 제3 조건 및 문장을 구성하는 복수의 단어로부터 특징문자를 추출하고, 특징문자의 출현빈도가 미리 설정된 빈도수 이상인 제4조건 중 적어도 하나를 포함할 수 있다.
제1 조건은 문장의 길이가 미리 설정된 기준 길이와 비교하는 조건일 수 있다. 전처리부(10)는 문장의 길이가 미리 설정된 기준 길이보다 긴 경우 해당 문장을 스팸 의심 문장으로 분류할 수 있다. 미리 설정된 기준 길이는 스팸 문자 판별 시스템(1000)에서 미리 학습된 문장들의 평균 길이일 수 있다. 또는, 미리 설정된 기준 길이는 관리자에 의해 설정된 값일 수 있다.
제2 조건은 문장을 구성하는 단어의 개수를 미리 설정된 기준값과 비교하는 조건일 수 있다. 전처리부(10)는 단어 개수의 총합이 기준값 이상인 경우 해당 문장을 스팸 의심 문장으로 분류할 수 있다. 미리 설정된 기준값은 스팸 문자 판별 시스템(1000)에서 미리 학습된 문장들에 포함된 평균적인 단어들의 개수일 수 있다. 또는, 미리 설정된 기준값은 관리자에 의해 임의로 설정된 값일 수 있다. 문장에 포함되는 단어의 개수는 일반적으로 문장의 길이에 비례하게 된다. 일반적인 문자메시지는 서로 주고받는 대화형이므로 문장의 길이가 비교적 짧다. 하지만, 스팸 문자메시지는 일방적으로 정보를 전달해야 되므로 일반적인 문자메시지보다 문장의 평균적인 길이가 긴 특성을 지니고 있다. 따라서, 제1 조건 또는 제2 조건을 이용하여 스팸으로 의심되는 문장을 구분할 수 있다.
제3 조건은 문장에 포함된 특수문자의 개수를 미리 설정된 기준개수와 비교하는 조건일 수 있다. 전처리부(10)는 특수문자의 개수가 기준개수 이상으로 감지되는 경우 해당 문장을 스팸 의심 문장으로 분류할 수 있다. 스패머(spamer)는 종래의 스팸 필터링 시스템에 의해 필터링되지 않기 위한 목적으로, 스팸 문자메시지에 특수문자를 첨가하여 발송할 수 있다. 이러한 스팸 문자메시지에는 단어와 단어사이 또는 글자와 글자 사이에 특별한 의미를 가지지 않는 특수문자가 포함될 수 있다. 따라서, 전처리부(10)는 제3 조건을 이용하여 스팸 의심 문장을 분류할 수 있다.
제4 조건은 문장을 구성하는 단어들로부터 적어도 하나의 특징단어를 추출할 수 있다. 전처리부(10)는 데이터베이스부(50)에 학습된 단어들을 이용하여 특징단어를 추출할 수 있다. 전처리부(10)는 데이터베이스부(50)에 학습된 스팸 문자메시지에 포함된 스팸 단어들의 출현빈도를 기준으로 스팸 문자메시지로 학습된 단어들을 정렬할 수 있다. 유사하게, 전처리부(10)는 정상 문자메시지에 포함된 정상 단어들의 출현빈도를 기준으로 정상 문자메시지로 학습된 단어들을 정렬할 수 있다.
전처리부(10)는 정렬된 단어들을 기초로 문장에 포함된 단어들 중 학습된 스팸 단어와 정상 단어에 공통으로 포함되는 단어를 제외시킬 수 있다. 전처리부(10)는 제외되지 않은 단어들 중 동사와 형용사를 특징단어로 추출할 수 있다. 일반적으로, 조사나 감탄사 등은 특별한 의미를 내포하지 않는 경우가 많지 않다. 따라서, 전처리부(10)는 문장의 특징을 잘 나타낼 수 있는 동사와 형용사를 특징단어로 추출할 수 있다.
제4 조건은 추출된 특징단어가 스팸 문자 또는 정상 문자에 나타나는 빈도수를 비교하는 조건일 수 있다. 전처리부(10)는 제4 조건을 이용하여, 특징단어가 스팸 문자에서 나타나는 빈도수가 정상 문자에서 나타나는 빈도수 보다 많을 경우, 해당 문장을 스팸 의심 문장으로 분류할 수 있다. 또는, 전처리부(10)는 복수의 특징단어 각각이 스팸 단어 또는 정상 단어 중 어느 그룹에 속하는지 카운팅하여, 그 합산 결과를 기초로 스팸 의심 문장여부를 판단할 수 있다.
전처리부(10)는 추출된 문장이 제1 조건 내지 제4 조건 중 적어도 하나의 조건을 만족하는 경우, 해당 문장을 스팸 의심 문장으로 분류할 수 있다.
단어조합부(20)는 스팸 의심 문장으로 분류된 문장으로부터 단어조합을 생성할 수 있다. 단어조합부(20)는 적어도 두 개의 단어를 조합하여 단어조합을 생성할 수 있다. 단어조합부(20)는 스팸 의심 문장을 구성하는 단어들에 대하여 단어조합을 생성할 수 있는 경우의 수를 고려하여 적어도 하나의 단어조합을 생성할 수 있다. 예를 들어, 스팸 의심 문장이 네 개의 단어로 구성되는 경우, 서로 다른 두 개의 단어가 결합된 단어조합을 생성할 수 있다. 이때, 생성되는 단어조합의 개수는 4C2, 즉 총 6개의 단어조합을 생성할 수 있다.
비교부(30)는 생성된 단어조합을 미리 학습된 단어조합들과 비교하여 일치도를 카운팅할 수 있다. 비교부(30)는 단어조합을 스팸 단어조합들 및 정상 단어조합들과 비교할 수 있다. 비교부(30)는 단어조합이 스팸 단어조합들에 포함된 조합인 경우, 스팸일치도를 1회 카운팅할 수 있다. 또한, 비교부(30)는 단어조합을 정상 단어조합들과 더 비교할 수 있다. 비교부(30)는 단어조합이 정상 단어조합들 중 어느 하나의 데이터와 일치하는 경우, 정상일치도를 1회 카운팅할 수 있다. 이러한 방법으로, 비교부(30)는 단어조합부(20)에서 생성된 모든 단어조합들에 대한 스팸일치도 및 정상일치도 카운팅 과정을 수행할 수 있다.
판단부(40)는 비교부(30)에서 수행된 카운팅 결과를 기초로 스팸 의심 문장을 스팸 문장 또는 정상 문장으로 판단할 수 있다. 이를 위해, 판단부(40)는 스팸지수 및 정상지수를 산출 할 수 있다.
스팸지수는 누적된 스팸일치도와 스팸 의심 문장을 구성하는 단어의 총 개수의 비율로 산출될 수 있다. 정상지수는 누적된 정상일치도와 스팸 의심 문장을 구성하는 단어의 총 개수의 비율로 산출될 수 있다.
판단부(40)는 비교부(30)에서 수행된 각 단어조합의 스팸일치도 및 정상일치도를 누적하여 카운팅할 수 있다. 이후, 판단부(40)는 누적된 스팸일치도를 스팸 의심 문장을 구성하는 단어의 총 개수로 나눈 스팸지수를 산출할 수 있다. 또한, 판단부(40)는 누적된 정상일치도를 스팸 의심 문장을 구성하는 단어의 총 개수로 나눈 정상지수를 산출할 수 있다.
판단부(40)는 스팸지수가 정상지수보다 큰 경우 스팸 의심 문장을 스팸 문장으로 판단할 수 있다. 판단부(40)는 스팸지수가 정상지수보다 작은 경우 스팸 의심 문장을 정상 문장으로 판단할 수 있다.
판단부(40)는 수신된 문자메시지 중 적어도 하나의 문장이 스팸 문장으로 판단되면, 해당 문자메시지를 스팸 문자메시지로 판단할 수 있다.
데이터베이스부(50)는 스팸 문자메시지와 정상 문자메시지를 학습하여 저장할 수 있다. 구체적으로, 데이터베이스부(50)는 학습된 스팸 문자메시지들 및 정상 문자메시지들로부터 스팸 단어조합들 및 정상 단어조합들을 학습할 수 있다. 데이터베이스부(50)는 스팸 단어조합들과 정상 단어조합들을 구분하여 관리할 수 있다. 또한, 데이터베이스부(50)는 스팸 문자메시지 및 정상 문자메시지에 포함된 단어들의 출현빈도에 관한 정보를 관리할 수 있다.
도 2 내지 도 4를 참조하면, 본 발명의 스팸 문자 판별 시스템(1000)의 데이터베이스부(50)에 학습된 스팸 문자메시지 및 정상 문자메시지의 특징이 도시된다.
도 2는 데이터베이스부(50)에 학습된 스팸 문자메시지와 정상 문자메시지에 포함된 각 문장별 단어의 개수에 대한 분포도이다. 도 3은 데이터베이스부(50)에 학습된 스팸 문자메시지와 정상 문자메시지의 각 문장별 길이에 대한 분포도이다. 도 4는 각 문장에 포함된 특수 문자의 개수에 대한 분포도이다.
전술한 바와 같이, 데이터베이스부(50)는 수신되는 문자메시지를 스팸 또는 정상문자로 판단하기 위하여, 데이터의 학습과정을 선행할 수 있다. 데이터베이스부(50)는 스팸 문자메시지와 정상 문자메시지(비(非) 스팸 문자메시지)를 구분하여 학습할 수 있다. 학습하는 대상이 되는 스팸 문자메시지와 정상 문자메시지는 관리자에 의해 구분될 수 있다. 또는, 데이터베이스부(50)는 연구개발을 위해 공개적으로 제공되는 데이터 셋을 이용하여 학습할 수 있다. 또 다른 예로, 데이터베이스부(50)는 다양한 사용자들에 의해 구분된 스팸 문자메시지 및 정상 문자메시지를 학습할 수 있다.
이하에서는, 설명의 편의와 본 발명에 따른 스팸 문자 판별 시스템(1000)의 객관적인 성능평가를 위해서, 데이터베이스부(50)는 싱가폴 대학(National University of Singapore: NUS)에서 공개적으로 제공한 spam(이하, 스팸)과 Ham(이하, 정상)으로 구별된 문자메시지 데이터 셋(SMS Spam Collection)을 학습한 것으로 가정한다. 하지만, 전술한 바와 같이, 데이터베이스부(50)는 이 외에도 다양한 경로를 이용하여 스팸 문자메시지와 정상 문자메시지를 학습할 수도 있다.
도 2 내지 도 4에서, 녹색 점들로 표시된 데이터는 스팸 문자메시지로 학습된 문장들이고, 붉은색 점들로 표시된 데이터는 정상 문자메시지로 학습된 문장들이다. 도 2 내지 도 4에서, 가로 축은 데이터 셋의 개수를 나타낸다. 또한, 도 2의 세로축은 단어의 개수를 나타내고, 도 3의 세로축은 문장의 길이를 나타내고, 도 4의 세로축은 특수 문자의 개수를 나타낸다.
도시된 바와 같이, 스팸 문장들은 단어의 개수 및 문장의 길이가 특정한 임계값 근처의 값을 가지고 있다. 또한, 스팸 문장들은 정상 문장들에 비해 단어의 개수가 평균적으로 더 많고, 문장의 길이는 평균적으로 일정 길이 이상을 가지고 있음을 알 수 있다. 일상적인 정상 문자메시지는 상대방과 양방향 대화를 기반으로 하고, 상호간 의미전달을 주요 목적으로 하므로 질문에 대한 간단한 응답 메시지도 다수 존재하여 평균적인 문장의 길이가 ƒ음을 알 수 있다. 하지만, 스팸 문장들은 문자메시지를 전송할 때 의도한 정보를 충분히 전달해야될 필요성이 있으므로, 정상 문장들에 비해 문장의 길이가 길고, 단어의 수 또한 많다는 것을 알 수 있다.
한편, 도 4에 도시된 바와 같이, 스팸으로 학습되는 문장들은 정상으로 학습되는 문장들에 비해 특수문자가 많이 포함되어 있음을 알 수 있다. 스패머는 스팸 문자메시지를 전송할 때 종래의 스팸 필터링 기술에 의해 스팸 문자메시지로 분류되는 것을 방지하기 위해, 단어와 단어 사이 혹은 글자와 글자 사이에 특별한 의미를 가지지 않은 특수문자를 삽입시킬 수 있다. 이로 인해, 스팸 문자메시지는 평균적으로 정상 문자메시지에 비해 특수문자의 비율이 상대적으로 높을 수 있다.
스팸 문장과 정상 문장들간의 상술한 차이를 이용하여, 본 발명의 전처리부(10)는 단말기로 전송되는 문자메시지에 포함된 문장으로부터 스팸 의심 문장을 분류할 수 있다. 상술한 바와 같이, 본 발명에 따른 스팸 문자 판별 시스템(1000)은, 수신되는 문자메시지를 최종적으로 스팸 또는 정상 문자메시지로 판단하기 이전에, 스팸으로 의심되는 문장을 1차적으로 분류하는 전처리과정을 수행할 수 있다.
도 5를 참조하면, 본 발명의 일 실시예에 따른 스팸 문자 판별 시스템(1000)을 이용하여 문자메시지의 스팸여부를 판단하는 일 예가 도시된다.
전처리부(10)는 수신된 문자메시지로부터 미리 설정된 조건을 만족하는 문장을 스팸 의심 문장으로 분류할 수 있다.
단어조합부(20)는 스팸 의심 문장을 구성하는 단어들로부터 서로 다른 두 개의 단어를 조합할 수 있는 경우의 수만큼 단어조합을 생성할 수 있다.
비교부(30)는 단어조합을 스팸 단어조합과 정상 단어조합과 비교할 수 있다. 구체적으로, 비교부(30)는 단어조합이 스팸 단어조합에서 나타나면 스팸일치도를 1회 카운팅하고, 정상 단어조합에서 나타나면 정상일치도를 1회 카운팅 할 수 있다.
판단부(40)는 누적된 스팸일치도를 스팸 의심 문장을 구성하는 총 단어 수로 나눈 스팸지수를 산출할 수 있다. 동시에, 판단부(40)는 누적된 정상일치도를 스팸 의심 문장을 구성하는 총 단어 수로 나눈 정상지수를 산출할 수 있다. 이를 수학식으로 나타내면 다음과 같다.
Figure 112016078336985-pat00001
여기서, Wi는 스팸 의심 문장의 i번째 단어이고, Wj는 i번째 단어의 다음 단어이고, n는 스팸 의심 문장을 구성하는 단어들의 총 개수이고, T는 스팸 단어조합 또는 정상 단어조합의 타입을 구분하는 기호이다.
예를 들어, “나는 학교에 가고 있다.”라는 스팸 의심 문장을 스팸문장 또는 정상문장으로 판단하기 위해 단어조합을 생성할 수 있다. 이 경우, 단어조합부(20)는 “나는-학교에”(31), “나는-가고”(32), “나는-있다”(33), “학교에-가고”(34), “학교에-있다”(35), “가고-있다”(36)와 같이 6개의 단어조합을 생성할 수 있다.
비교부(30)는 “나는-학교에”라는 단어조합을 데이터베이스부(50)에 학습된 스팸 단어조합 및 정상 단어조합과 비교할 수 있다. 즉, “나는-학교에”라는 단어조합(31)이 스팸 단어조합에서 나타나면 해당 스팸 의심 문장의 스팸일치도를 1회 카운팅할 수 있다. 또한, “나는-학교에”라는 단어조합(31)이 정상 단어조합에서도 나타나면 해당 스팸 의심 문장의 정상일치도 역시 1회 카운팅될 수 있다. 즉, “나는-학교에”라는 단어조합(31)을 이용하여 스팸 의심 문장의 스팸일치도 및 정상일치도를 각각 1회씩 카운팅할 수 있다. 이와 같은 방법으로, 비교부(30)는 나머지 단어조합들(32 내지 36)에 대한 스팸일치도 및 정상일치도를 카운팅할 수 있다.
이후, 판단부(40)는 상술한 수학식 1을 이용하여 스팸지수 및 정상지수를 산출할 수 있다. 판단부(40)는 스팸지수가 정상지수보다 큰 경우 해당 스팸 의심 문장을 스팸문장으로 판단할 수 있다. 판단부(40)는 스팸지수가 정상지수보다 작은 경우 해당 스팸 의심 문장을 정상문장으로 판단할 수 있다.
도 6을 참조하면 본 발명의 일 실시예에 따른 스팸 문자 판별 시스템(1000)을 이용하여 문장을 판단한 결과가 도시된다.
성능평가를 위해, 사전에 스팸문장 또는 정상문장으로 분류된 문장을 입력데이터로 이용하였다. 구체적으로, 상술한 바와 같이 입력되는 데이터 셋은 싱가폴 대학(National University of Singapore: NUS)에서 공개적으로 제공한 spam(이하, 스팸)과 Ham(이하, 정상)으로 구별된 문자메시지 데이터 셋(SMS Spam Collection)을 입력데이터로 이용하였다. 데이터 셋은 총 5,574개의 문장이 포함되어 있으며, 그 중 스팸 문장은 747개, 정상 문장은 4,827개가 포함되어 있다.
구체적으로, 도 5의 회색으로 표시되는 숫자는 평가에 사용자는 문장의 개수를 나타내는 정보이다. 전술한 바와 같이, 싱가폴 대학에서 제공하는 데이터 셋은 총 5574개의 문장으로 이루어져 있으므로, 성능평가의 결과는 분류를 나타내는 첫번째 행을 포함하여 총 5575행으로 구성될 수 있다. 회색으로 표시되는 숫자를 제외한 첫번째 열은, 본 발명에 따른 스팸 문자 판별 시스템(1000)을 이용하여 판별한 결과를 나타내는 열이다. 1이면 입력데이터를 정확하게 판단한 경우 출력되며, 입력데이터를 오판하는 경우 결과값은 0으로 출력될 수 있다. 도 5의 두번째 열은, 입력 데이터에 사전에 분류된 타입이다. 즉, 두번째 열은, 입력데이터가 스팸문장인지 정상문장인지에 대한 타입 정보를 나타내는 열이다. 세번째 열은, 본 발명에 따른 스팸 문자 판별 시스템(1000)으로 판별된 타입이다. 다시 말해, 입력데이터를 스팸문장으로 판단하는 경우 결과값을 'spam'으로 출력하고, 정상문장으로 판단하는 경우 결과값을 'ham'으로 출력할 수 있다. 네번째 열은, 입력된 데이터의 문장에 포함된 단어의 총 개수에 대한 정보이다. 다섯번째 열은, 입력 데이터의 단어조합에 대한 스팸지수이고, 여섯번째 열은, 입력데이터의 단어조합에 대한 정상지수에 대한 정보이다.
입력된 5,574개의 데이터 셋에 대하여 본 발명에 따른 스팸 문자 판별 시스템(1000)을 적용하여 스팸여부를 판단한 결과, 정확도가 98%에 도달함을 확인할 수 있었다.
도 6을 참조하면, 본 발명의 일 실시예에 따른 스팸 문자 판별 방법의 개략적인 흐름이 도시된다.
단말기로 수신되는 문자메시지로부터 적어도 하나의 문장을 추출할 수 있다(110). 구체적으로, 단말기에 설치된 응용프로그램 또는 애플리케이션을 실행하여 수신되는 문자메시지를 분석할 수 있다. 또는, 문자메시지 수신시 단말기 제조 과정에서 기본적으로 제공되는 프로그램이 실행되어 자동으로 문자메시지를 분석할 수 있다. 또는, 단말기는 수신된 문자메시지를 본 발명에 따른 스팸 문자 판별 시스템이 구현된 서버로 전송할 수도 있다.
추출된 문장이 미리 설정된 조건을 만족하는 경우 해당 문장을 스팸 의심 문장으로 분류할 수 있다(120). 미리 설정된 조건은 제1 조건, 제2 조건, 제3 조건 및 제4 조건 중 적어도 하나를 포함할 수 있다. 제1 조건은 문장의 길이가 미리 설정된 기준길이 이상인지를 비교하는 조건일 수 있다. 제2 조건은 문장에 포함된 단어의 개수가 미리 설정된 기준값 이상인지를 비교하는 조건일 수 있다. 제3 조건은 문장에 포함된 특수문자의 개수가 미리 설정된 개수 이상인지를 비교하는 조건일 수 있다. 제4 조건은 추출된 특징단어가 스팸 문자 또는 정상 문자에 나타나는 빈도수를 비교하는 조건일 수 있다. 제1 조건 내지 제4 조건 중 적어도 하나의 조건을 만족하는 문장을 스팸 의심 문장으로 분류할 수 있다.
스팸 의심 문장으로 분류된 문장을 구성하는 복수의 단어를 이용하여, 서로 다른 두 개의 단어가 포함되는 단어조합을 생성할 수 있다(130). 예를 들어, 스팸 의심 문장에 포함된 단어의 개수가 n개인 경우, n개의 단어로부터 조합될 수 있는 경우의 수(nC2)만큼 단어조합을 생성할 수 있다.
이후, 각각의 단어조합을 미리 학습된 스팸 단어조합들 및 정상 단어조합들과 비교하여 일치도를 카운팅할 수 있다(140). 생성된 어느 하나의 단어조합을 데이터베이스에 저장된 스팸 단어조합과 비교할 수 있다. 어느 하나의 단어조합이 학습된 스팸 단어조합 중 어느 하나의 데이터와 일치하면, 해당 단어조합의 스팸 일치도를 1회 카운팅 할 수 있다. 이와 동시에, 상술한 어느 하나의 단어조합이 정상 단어조합 중 어느 하나의 데이터와도 일치하는 경우, 해당 단어조합의 정상 일치도 역시 1회 카운팅 될 수 있다. 이와 같은 방법으로, 모든 단어조합들에 대한 스팸일치도 및 정상일치도의 카운팅과정을 수행할 수 있다.
마지막으로, 생성된 단어조합들에 대한 누적된 카운팅 결과를 기초로 해당 문장을 스팸문장 또는 정상문장으로 판단할 수 있다(150). 누적된 스팸일치도를 기초로 스팸지수를 산출하고, 누적된 정상일치도를 기초로 정상지수를 산출할 수 있다. 구체적으로, 누적된 스팸일치도를 스팸 의심 문장을 구성하는 단어의 총 개수로 나눈 값을 스팸지수로 산출할 수 있다. 또한, 누적된 정상일치도를 스팸 의심 문장을 구성하는 단의 총 개수로 나눈 값을 정상지수로 산출할 수 있다. 스팸지수가 정상지수보다 큰 경우 스팸 의심 문장을 스팸 문장으로 판단하고, 스팸지수가 정상지수보다 작은 경우 스팸 의심 문장을 정상 문장으로 판단할 수 있다.
이와 같은, 스팸 문자 판별 시스템 및 방법을 제공하는 기술은 애플리케이션으로 구현되거나 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.
상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거니와 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD 와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.
프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드 뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서는 실시예들을 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
10: 전처리부
20: 단어조합부
30: 비교부
40: 판단부
50: 특징추출부
60: 데이터베이스부

Claims (10)

  1. 단말기로 수신되는 문자메시지로부터 적어도 하나의 문장을 추출하고, 상기 문장이 미리 설정된 조건을 만족하는 경우 상기 문장을 스팸 의심 문장으로 분류하는 전처리부;
    상기 스팸 의심 문장을 구성하는 복수의 단어를 이용하여, 서로 다른 두 개의 단어가 포함된 단어조합을 생성하는 단어조합부;
    상기 단어조합을 미리 학습된 스팸 단어조합들 및 정상 단어조합들과 비교하여 일치도를 카운팅하는 비교부; 및
    복수의 상기 단어조합에 대한 카운팅 결과를 기초로 상기 스팸 의심 문장의 스팸여부를 판단하는 판단부를 포함하는, 스팸 문자 판별 시스템.
  2. 제1항에 있어서,
    상기 미리 설정된 조건은,
    상기 문장의 길이가 미리 설정된 기준 길이 이상인 제1 조건;
    상기 문장을 구성하는 단어의 개수가 미리 설정된 기준값 이상인 제2 조건;
    상기 문장에 포함된 특수문자의 개수가 미리 설정된 기준값 이상인 제3 조건; 및
    상기 문장을 구성하는 복수의 단어로부터 특징문자를 추출하고, 상기 특징문자의 출현빈도가 미리 설정된 빈도수 이상인 제4조건 중 적어도 하나를 포함하는, 스팸 문자 판별 시스템.
  3. [청구항 3은(는) 설정등록료 납부시 포기되었습니다.]
    제2항에 있어서,
    상기 전처리부는,
    상기 문장이 상기 제1 조건 내지 상기 제4 조건 중 적어도 하나의 조건을 만족하는 경우 상기 문장을 상기 스팸 의심 문장으로 분류하는, 스팸 문자 판별 시스템.
  4. [청구항 4은(는) 설정등록료 납부시 포기되었습니다.]
    제2항에 있어서,
    상기 전처리부는,
    미리 학습된 복수의 스팸 단어 및 정상 단어를 이용하여 상기 스팸 의심 문장을 구성하는 복수의 단어로부터 적어도 하나의 상기 특징문자를 추출하는, 스팸 문자 판별 시스템.
  5. [청구항 5은(는) 설정등록료 납부시 포기되었습니다.]
    제4항에 있어서,
    상기 전처리부는,
    상기 스팸 의심 문장을 구성하는 복수의 단어 중 상기 스팸 단어 및 상기 정상 단어에 공통으로 포함되는 단어를 삭제하고, 삭제되지 않은 단어를 상기 특징문자로 결정하는, 스팸 문자 판별 시스템.
  6. 제1항에 있어서,
    상기 비교부는,
    복수의 상기 단어조합 각각을 상기 스팸 단어조합들과 비교하여 스팸일치도를 누적하여 카운팅하고, 상기 정상 단어조합들과 비교하여 정상일치도를 누적하여 카운팅하는, 스팸 문자 판별 시스템.
  7. [청구항 7은(는) 설정등록료 납부시 포기되었습니다.]
    제6항에 있어서,
    상기 판단부는,
    누적된 상기 스팸일치도를 상기 스팸 의심 문장을 구성하는 단어의 개수로 나눈 스팸지수 및 누적된 상기 정상일치도를 상기 스팸 의심 문장을 구성하는 단어의 개수로 나눈 정상지수를 산출하는, 스팸 문자 판별 시스템.
  8. 제1항에 있어서,
    스팸 단어, 정상 단어, 스팸 단어조합 및 정상 단어조합을 학습하여 관리하는 데이터베이스를 더 포함하는, 스팸 문자 판별 시스템.
  9. 단말기로 수신되는 문자메시지로부터 적어도 하나의 문장을 추출하는 단계;
    상기 문장이 미리 설정된 조건을 만족하는 경우 상기 문장을 스팸 의심 문장으로 분류하는 단계;
    상기 스팸 의심 문장을 구성하는 복수의 단어를 이용하여, 서로 다른 두 개의 단어가 포함된 단어조합을 생성하는 단계;
    상기 단어조합을 미리 학습된 스팸 단어조합들 및 정상 단어조합들과 비교하여 일치도를 카운팅하는 단계; 및
    복수의 상기 단어조합에 대한 카운팅 결과를 기초로 상기 스팸 의심 문장의 스팸여부를 판단하는 단계를 포함하는, 스팸 문자 판별 방법.
  10. 제9항에 따라 스팸 문자 판별 방법을 제공하기 위한, 컴퓨터 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.
KR1020160102669A 2016-06-21 2016-08-12 스팸 문자 판별 시스템 및 방법, 이를 수행하기 위한 기록매체 KR101806174B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020160077440 2016-06-21
KR20160077440 2016-06-21

Publications (1)

Publication Number Publication Date
KR101806174B1 true KR101806174B1 (ko) 2017-12-07

Family

ID=60920365

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160102669A KR101806174B1 (ko) 2016-06-21 2016-08-12 스팸 문자 판별 시스템 및 방법, 이를 수행하기 위한 기록매체

Country Status (1)

Country Link
KR (1) KR101806174B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111241269A (zh) * 2018-11-09 2020-06-05 中移(杭州)信息技术有限公司 一种短信文本分类方法、装置、电子设备及存储介质
KR20220052156A (ko) * 2020-10-20 2022-04-27 주식회사 엘지유플러스 스팸 메시지 차단 장치 및 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103634473A (zh) 2013-12-05 2014-03-12 南京理工大学连云港研究院 基于朴素贝叶斯分类的手机垃圾短信过滤方法与系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103634473A (zh) 2013-12-05 2014-03-12 南京理工大学连云港研究院 基于朴素贝叶斯分类的手机垃圾短信过滤方法与系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111241269A (zh) * 2018-11-09 2020-06-05 中移(杭州)信息技术有限公司 一种短信文本分类方法、装置、电子设备及存储介质
CN111241269B (zh) * 2018-11-09 2024-02-23 中移(杭州)信息技术有限公司 一种短信文本分类方法、装置、电子设备及存储介质
KR20220052156A (ko) * 2020-10-20 2022-04-27 주식회사 엘지유플러스 스팸 메시지 차단 장치 및 방법
KR102500115B1 (ko) * 2020-10-20 2023-02-16 주식회사 엘지유플러스 스팸 메시지 차단 장치 및 방법

Similar Documents

Publication Publication Date Title
US20230004723A1 (en) Systems and methods for identifying an event in data
CN106376002B (zh) 一种管理方法及装置、垃圾短信监控系统
US20120136812A1 (en) Method and system for machine-learning based optimization and customization of document similarities calculation
US20170289082A1 (en) Method and device for identifying spam mail
CN103064987A (zh) 一种虚假交易信息识别方法
TW201545104A (zh) 資料分析系統、資料分析方法、及資料分析程式
KR101806174B1 (ko) 스팸 문자 판별 시스템 및 방법, 이를 수행하기 위한 기록매체
Marzuoli et al. Uncovering the landscape of fraud and spam in the telephony channel
CN116150651A (zh) 基于ai的深度合成检测方法和系统
CN114048740B (zh) 敏感词检测方法、装置及计算机可读存储介质
RU2612608C2 (ru) Система и способ формирования круга общения и компьютерный носитель информации
Hosseinpour et al. An ensemble learning approach for sms spam detection
CN116701641B (zh) 一种非结构化数据的分级分类方法及装置
CN111680120B (zh) 新闻类别检测方法及系统
CN111444362B (zh) 恶意图片拦截方法、装置、设备和存储介质
KR101692244B1 (ko) 스팸 분류 방법, 이를 수행하기 위한 기록 매체 및 스팸 분류 장치
CN109918638B (zh) 一种网络数据监测方法
CN113472686B (zh) 信息识别方法、装置、设备及存储介质
Modupe et al. Exploring support vector machines and random forests to detect advanced fee fraud activities on internet
CN113177164A (zh) 基于大数据的多平台协同新媒体内容监控管理系统
Murugavel et al. K-Nearest neighbor classification of E-Mail messages for spam detection
Shravasti et al. Smishing detection: Using artificial intelligence
CN112185417B (zh) 人工合成语音检测方法、装置、计算机设备及存储介质
US11895072B2 (en) Intelligent sorting of time series data for improved contextual messaging
US20230325425A1 (en) System and method for automatic identification of legal entities

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant