KR102348239B1 - Method for Analyzing Keywords in Email - Google Patents

Method for Analyzing Keywords in Email Download PDF

Info

Publication number
KR102348239B1
KR102348239B1 KR1020210034136A KR20210034136A KR102348239B1 KR 102348239 B1 KR102348239 B1 KR 102348239B1 KR 1020210034136 A KR1020210034136 A KR 1020210034136A KR 20210034136 A KR20210034136 A KR 20210034136A KR 102348239 B1 KR102348239 B1 KR 102348239B1
Authority
KR
South Korea
Prior art keywords
keyword analysis
program module
word
analysis program
morphemes
Prior art date
Application number
KR1020210034136A
Other languages
Korean (ko)
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 주식회사 샌즈랩
Priority to KR1020210034136A priority Critical patent/KR102348239B1/en
Application granted granted Critical
Publication of KR102348239B1 publication Critical patent/KR102348239B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2462Approximate or statistical queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3335Syntactic pre-processing, e.g. stopword elimination, stemming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Fuzzy Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The present invention relates to a keyword analysis method executed in an environment including: an e-mail server; an e-mail client program module processing an e-mail received from the e-mail server; and a keyword analysis program module. The keyword analysis method comprises: a first step that the keyword analysis program module analyzes and extracts morphemes from text data included in the e-mail; a second step that the keyword analysis program module tags, with word classes, the morphemes analyzed and extracted in the first step; a third step that the keyword analysis program module extracts the morphemes, classified into a noun in the second step; a fourth step that the keyword analysis program module excludes words, set to be excluded, through machine learning among the extracted morphemes; a fifth step that the keyword analysis program module calculates a frequency with respect to each of the morphemes remaining after the fourth step; and a sixth step that the keyword analysis program module performs statistical analysis with respect to predetermined higher ranked morphemes based on the frequency. The present invention can be used for malicious code detection.

Description

이메일의 키워드 분석 방법{Method for Analyzing Keywords in Email}Method for Analyzing Keywords in Email}

본 발명은 이메일의 키워드 분석 방법에 대한 것으로서 좀 더 구체적으로는 이메일에 포함되어 있는 텍스트를 분석해서 그로부터 트렌드 또는 이슈가 되는 키워드를 추출하는 방법에 대한 것이다.The present invention relates to a keyword analysis method of an email, and more particularly, to a method for analyzing text included in an email and extracting a keyword that becomes a trend or an issue therefrom.

일상 생활에서 업무에 이르기까지 이메일은 없어서는 아니되는 커뮤니케이션 수단으로 자리잡고 있다. 현대인은 업무상 메시지 교환부터 개인적인 쇼핑, 뉴스, 광고 등 다양한 정보를 이메일 통해 전송하고 수신하고 있다.From daily life to work, e-mail has become an indispensable means of communication. Modern people transmit and receive a variety of information from business message exchange to personal shopping, news, and advertisements via e-mail.

이메일이 활성화됨으로써 이메일을 이용한 기업의 마케팅이 활발해지고 있으며, 수신자의 온라인 활동, 관심도에 근거하여 맞춤형 이메일 콘텐츠가 널리 사용되고 있다. 과거에는 홍보성이 짙은 쇼핑 유도 이메일이나 뉴스레터는 스팸처리하는 게 일반적이었지만 최근에 들어서는 이메일 수신자가 자발적으로 특정 뉴스, 트렌드, 취향을 지정해서 관련된 이메일을 수신하는 케이스가 늘고 있다.With the activation of e-mail, corporate marketing using e-mail is becoming more active, and customized e-mail content is widely used based on the recipient's online activity and interest. In the past, it was common to spam shopping-inducing e-mails or newsletters that were heavily promotional, but recently, e-mail recipients are increasingly receiving related e-mails by voluntarily specifying specific news, trends, and tastes.

한편, 악성 코드가 포함된 이메일의 경우 최신 트렌드 내지 이슈 등과 관련한 내용을 포함함으로써 수신자의 호기심을 자극시키거나 경계심을 누그러뜨려서 첨부 파일을 클릭하게 하는 등의 행위를 유도하는 경우가 많아지고 있기 때문에 최신 트렌드 또는 이슈를 표시하는 단어가 무엇인지를 확인하는 것은 악성 코드 탐지에 있어서도 유용하다.On the other hand, in the case of e-mails containing malicious code, the latest trends or issues are included in the e-mail to stimulate the recipient's curiosity or soften their alertness to induce actions such as clicking on attachments. Seeing what words indicate trends or issues is also useful in malware detection.

[선행특허문헌][Prior Patent Literature]

한국공개특허공보 제10-2005-0102574호 (2005년 10월 26일 공개)Korean Patent Publication No. 10-2005-0102574 (published on October 26, 2005)

본 발명은 이와 같은 구독 경제 성장으로 개인화되어 가고 있는 이메일에 포함된 내용에 기초하여 키워드를 추출하고, 통계 분석을 함으로써 트렌드가 무엇인지, 이슈가 되는 내용이 무엇인지를 알아낼 수 있는 방법을 제공하는 것을 목적으로 한다.The present invention provides a method for finding out what a trend is and what is an issue by extracting a keyword based on the content included in the email that is being personalized due to the growth of the subscription economy and performing statistical analysis. aim to

본 발명은, 이메일 서버와, 이메일 서버로부터 수신하는 이메일을 처리하는 이메일 클라이언트 프로그램 모듈과, 키워드 분석 프로그램 모듈을 포함하는 환경에서 수행되는 키워드 분석 방법에 관한 것으로서, 키워드 분석 프로그램 모듈이, 이메일에 포함된 텍스트 데이터로부터 형태소를 분석하고 추출하는 제1 단계와; 키워드 분석 프로그램 모듈이, 제1 단계에서 분석하여 추출된 형태소에 품사를 태깅하는 제2 단계와; 키워드 분석 프로그램 모듈이, 제2 단계에서 명사로 분류된 형태소를 추출하는 제3 단계와; 키워드 분석 프로그램 모듈이, 상기 추출된 형태소 중에서 기계학습을 통해 제외시킬 것으로 지정된 단어를 제외시키는 제4 단계와; 키워드 분석 프로그램 모듈이, 제4 단계 후 남은 형태소 각각에 대해서 빈도수를 산출하는 제5 단계와; 키워드 분석 프로그램 모듈이, 상기 빈도수 기준으로 소정의 상위 형태소에 대해서 통계 분석을 실행하는 제6 단계를 포함한다.The present invention relates to a keyword analysis method performed in an environment including an email server, an email client program module for processing email received from the email server, and a keyword analysis program module, wherein the keyword analysis program module is included in the email a first step of analyzing and extracting morphemes from the text data; a second step of tagging, by the keyword analysis program module, parts of speech to the morphemes extracted and analyzed in the first step; a third step of extracting, by the keyword analysis program module, the morphemes classified as nouns in the second step; a fourth step of excluding, by the keyword analysis program module, a word designated to be excluded from the extracted morphemes through machine learning; a fifth step of calculating, by the keyword analysis program module, a frequency for each morpheme remaining after the fourth step; and a sixth step in which the keyword analysis program module performs statistical analysis on a predetermined upper morpheme based on the frequency.

제4 단계는,The fourth step is

음절이 하나인 명사를 제외시키는 제4-1 단계를 포함할 수 있다.A step 4-1 of excluding nouns having one syllable may be included.

제4 단계는, 소정의 단어가 상기 남은 형태소에 포함되는 단어 또는 남은 형태소에 포함되는 단어에 기초한 단어인지를 판단하는 제4-1 단계와; 제4-1 단계에서 그렇지 않은 것으로 판단되면 소정의 단어를 BPE 알고리즘에 의해 분리된 응답으로 수신하는 제4-2 단계와; 소정의 단어가 소정의 횟수 이상 출현하면 소정의 단어를 제외시키지 않으며, 그렇지 않으면 제외시킬 단어로 선정하는 제4-3 단계를 포함할 수 있다.The fourth step includes: step 4-1 of determining whether a predetermined word is a word included in the remaining morpheme or a word based on a word included in the remaining morpheme; a step 4-2 of receiving a predetermined word as a separate response by the BPE algorithm if it is determined that the step 4-1 does not; If the predetermined word appears more than a predetermined number of times, the predetermined word is not excluded, otherwise, a step 4-3 of selecting a word to be excluded may be included.

본 발명에 의한 키워드 분석 방법은, 컴퓨터 판독 가능 기록 매체에 포함된 컴퓨터 프로그램에 의해서 실행될 수 있다.The keyword analysis method according to the present invention may be executed by a computer program included in a computer-readable recording medium.

본 발명에 의하면 이메일에 포함된 텍스트를 분석함으로써 최신의 트렌드 내지 이슈를 표현하는 단어를 알 수 있고, 그로 인해서 악성 코드 탐지에 유용하게 사용할 수 있는 작용효과가 제공된다.According to the present invention, by analyzing the text included in the e-mail, it is possible to know the word expressing the latest trend or issue, thereby providing an effect that can be usefully used for detecting malicious code.

도 1은 본 발명이 실시되는 환경의 일례.
도 2는 본 발명에 의한 키워드 분석 방법의 흐름도.
도 3은 본 발명에 의한 키워드 분석 방법에 따른 과정을 도식화한 도면.
도 4는 본 발명에 의한 키워드 분석 방법에 의해 통계 분석된 키워드를 시각화한 도면.
1 is an example of an environment in which the present invention is practiced;
2 is a flowchart of a keyword analysis method according to the present invention.
3 is a diagram schematically illustrating a process according to a keyword analysis method according to the present invention.
Fig. 4 is a visualization of keywords statistically analyzed by the keyword analysis method according to the present invention.

이하에서는 첨부 도면을 참조하여 본 발명에 대해서 자세하게 설명한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

본 명세서에서 수행되는 정보(데이터) 전송/수신 과정은 필요에 따라서 암호화/복호화가 적용될 수 있으며, 본 명세서 및 특허청구범위에서 정보(데이터) 전송 과정을 설명하는 표현은 별도로 언급되지 않더라도 모두 암호화/복호화하는 경우도 포함하는 것으로 해석되어야 한다. 본 명세서에서 "A로부터 B로 전송(전달)" 또는 "A가 B로부터 수신"과 같은 형태의 표현은 중간에 다른 매개체가 포함되어 전송(전달) 또는 수신되는 것도 포함하며, A로부터 B까지 직접 전송(전달) 또는 수신되는 것 만을 표현하는 것은 아니다. 본 발명의 설명에 있어서 각 단계의 순서는 선행 단계가 논리적 및 시간적으로 반드시 후행 단계에 앞서서 수행되어야 하는 경우가 아니라면 각 단계의 순서는 비제한적으로 이해되어야 한다. 즉 위와 같은 예외적인 경우를 제외하고는 후행 단계로 설명된 과정이 선행 단계로 설명된 과정보다 앞서서 수행되더라도 발명의 본질에는 영향이 없으며 권리범위 역시 단계의 순서에 관계없이 정의되어야 한다. 그리고 본 명세서에서 “A 또는 B”은 A와 B 중 어느 하나를 선택적으로 가리키는 것뿐만 아니라 A와 B 모두를 포함하는 것도 의미하는 것으로 정의된다. 또한, 본 명세서에서 "포함"이라는 용어는 포함하는 것으로 나열된 요소 이외에 추가로 다른 구성요소를 더 포함하는 것도 포괄하는 의미를 가진다.Encryption/decryption may be applied as necessary to the information (data) transmission/reception process performed in this specification, and the expressions describing the information (data) transmission process in the present specification and claims are all encrypted/decrypted even if not separately mentioned. It should be interpreted as including the case of decryption. In the present specification, expressions such as “transfer from A to B (transfer)” or “A receives from B” include transmission (transmission) or reception with another medium included in the middle, and directly from A to B It does not represent only what is transmitted (transferred) or received. In the description of the present invention, the order of each step should be understood as non-limiting unless the preceding step must be logically and temporally performed before the subsequent step. That is, except for the above exceptional cases, even if the process described as a subsequent step is performed before the process described as the preceding step, the essence of the invention is not affected, and the scope of rights should also be defined regardless of the order of the steps. And in the present specification, "A or B" is defined to mean not only selectively pointing to any one of A and B, but also including both A and B. In addition, in the present specification, the term "comprising" has the meaning of encompassing the inclusion of other components in addition to the elements listed as being included.

본 명세서에서 "모듈" 또는 “유니트” 또는 “~부”는 범용적인 하드웨어와 그 기능을 수행하는 소프트웨어의 논리적 결합을 의미한다.In this specification, “module” or “unit” or “~ unit” refers to a logical combination of general-purpose hardware and software that performs its function.

본 명세서에서는 본 발명의 설명에 필요한 최소한의 구성요소만을 설명하며, 본 발명의 본질과 관계가 없는 구성요소는 언급하지 아니한다. 그리고 언급되는 구성요소만을 포함하는 배타적인 의미로 해석되어서는 아니되며 언급되지 않은 다른 구성요소도 포함할 수 있는 비배타적인 의미로 해석되어야 한다.In this specification, only the minimum components necessary for the description of the present invention are described, and components not related to the essence of the present invention are not mentioned. And it should not be construed in an exclusive sense including only the mentioned components, and it should be construed in a non-exclusive sense that may also include other components not mentioned.

본 발명에 의한 방법은 컴퓨터, 태블릿 PC, 모바일폰, 휴대용 연산 장치, 고정식 연산 장치 등의 전자적 연산 장치에 의해서 실행될 수 있다. 또한, 본 발명의 하나 또는 그 이상의 방법 또는 형태가 적어도 하나의 프로세서에 의해 실행될 수 있다는 점이 이해되어야 한다. 프로세서는, 컴퓨터, 태블릿PC, 모바일 장치, 휴대용 연산 장치 등에 설치될 수 있다. 컴퓨터 프로그램 명령을 저장하도록 되어 있는 메모리가 그러한 장치에 설치되어서 프로그램이 저장된 프로그램 명령을 프로세서가 실행하도록 특별히 프로그램되어 하나 또는 그 이상의, 본 명세서에 기재된 바와 같은 프로세스를 실행할 수 있다. 또한, 본 명세서에 기재된 정보 및 방법 등은, 하나 또는 그 이상의 추가적인 구성요소와 프로세서를 포함하는 컴퓨터, 태블릿PC, 모바일 장치, 휴대용 연산 장치 등에 의해서 실행될 수 있다는 점이 이해되어야 한다. 또한, 제어 로직은, 프로세서, 제어부/제어 유니트 등에 의해 실행가능한 프로그램 명령을 포함하는 비휘발성 컴퓨터 판독 가능 매체로 구현될 수 있다. 컴퓨터 판독 가능 매체의 예로는, ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 플래시 드라이브, 스마트 카드, 광학 데이터 저장 장치 등이 있지만 그에 제한되는 것은 아니다. 또한, 컴퓨터 판독 가능 기록 매체는 네트워크로 연결된 컴퓨터에 분산되어, 컴퓨터 판독 가능 매체가 분산된 방식 예를 들어 원격 서버 또는 CAN(Controller Area Network)에 의해 분산된 방식으로 저장되고 실행될 수도 있다.The method according to the present invention may be executed by an electronic computing device such as a computer, a tablet PC, a mobile phone, a portable computing device, or a stationary computing device. It should also be understood that one or more methods or aspects of the present invention may be executed by at least one processor. The processor may be installed in a computer, a tablet PC, a mobile device, a portable computing device, or the like. A memory adapted to store computer program instructions may be installed in such a device such that the program is specifically programmed to cause the processor to execute the stored program instructions to execute one or more processes as described herein. In addition, it should be understood that the information and methods described herein may be implemented by a computer, tablet PC, mobile device, portable computing device, etc. including one or more additional components and a processor. In addition, the control logic may be implemented in a non-volatile computer-readable medium including program instructions executable by a processor, a controller/control unit, or the like. Examples of computer-readable media include, but are not limited to, ROM, RAM, CD-ROM, magnetic tape, floppy disk, flash drive, smart card, optical data storage device, and the like. In addition, the computer-readable recording medium may be distributed in computers connected to a network, and the computer-readable medium may be stored and executed in a distributed manner, for example, by a remote server or a controller area network (CAN).

본 명세서에서 설명하는 예시적인 실시예는 본 명세서에 개시(開示)되는 장치의 구조, 기능, 제작 및 용도와 방법의 원리에 대한 전반적인 이해를 제공한다. 이러한 하나 이상의 실시예가 첨부 도면에 도시되어 있다. 당업자라면 여기에 구체적으로 기재되고 첨부 도면에 도시되어 있는 장치 및 방법이 비제한적이고 예시적인 실시예이며 본 발명의 권리범위는 특허청구범위에 의해서 정의된다는 점을 이해할 것이다. 하나의 예시적인 실시예와 관련되어 도시되고 설명되는 특징은 다른 실시예의 특징과도 결합될 수 있다. 그러한 수정(modification) 또는 변경(variation)은 본 발명의 권리범위에 포함되도록 의도된다.The exemplary embodiments described herein provide a general understanding of the principles of the structure, function, manufacture and use and methods of the devices disclosed herein. One or more such embodiments are illustrated in the accompanying drawings. It will be understood by those skilled in the art that the apparatus and methods specifically described herein and illustrated in the accompanying drawings are non-limiting exemplary embodiments and that the scope of the present invention is defined by the claims. Features shown and described in connection with one exemplary embodiment may also be combined with features of another embodiment. Such modifications or variations are intended to be included within the scope of the present invention.

도 1에는 본 발명이 실시되는 환경의 일례가 도시되어 있다. 도 1에 도시되어 있는 바와 같이 본 발명이 실시되는 환경은 사용자 단말기(10)와, 이메일 서버(20)와, 키워드 분석 서버(30)를 포함한다. 사용자 단말기(10)에는 이메일 클라이언트 모듈(12)과 키워드 분석 프로그램 모듈(14)이 제공된다.1 shows an example of an environment in which the present invention may be practiced. As shown in FIG. 1 , the environment in which the present invention is implemented includes a user terminal 10 , an email server 20 , and a keyword analysis server 30 . The user terminal 10 is provided with an email client module 12 and a keyword analysis program module 14 .

이메일 클라이언트 모듈(12)과 이메일 서버(20)는 통상의 이메일 클라이언트 모듈과 이메일 서버일 수 있다. 통상적인 이메일 전송 및 수신 프로토콜은 널리 알려진 공지 기술이므로 자세한 설명을 생략한다.Email client module 12 and email server 20 may be conventional email client modules and email servers. Since a typical e-mail transmission and reception protocol is a well-known technique, a detailed description thereof will be omitted.

키워드 분석 프로그램 모듈(14)에 의해서 분석된 결과는 키워드 분석 서버(30)로 전송될 수 있다. 또는 키워드 분석 서버(30)가 사용자 단말기로부터 이메일에 포함된 문자 정보를 수신하여 키워드 분석을 실행할 수도 있다. 키워드 분석 서버(30)은 복수의 사용자 단말기(10)로부터 키워드 분석 결과를 수신하거나, 추출된 이메일의 문자 정보를 수신하여 키워드 분석을 실행할 수 있다.A result analyzed by the keyword analysis program module 14 may be transmitted to the keyword analysis server 30 . Alternatively, the keyword analysis server 30 may receive text information included in the email from the user terminal and perform keyword analysis. The keyword analysis server 30 may receive a keyword analysis result from the plurality of user terminals 10 or may receive text information of an extracted email to perform keyword analysis.

도 2에는 본 발명에 의한 이메일의 키워드 분석 방법의 흐름도가 도시되어 있으며, 도 3에는 도 2의 각 단계별로 진행되는 과정의 일례가 도시되어 있다.FIG. 2 is a flowchart of a keyword analysis method of an email according to the present invention, and FIG. 3 shows an example of a process performed in each step of FIG. 2 .

이메일 클라이언트 모듈(12)은 이메일 서버(20)로부터 이메일을 수신하고 수신된 이메일에 포함된 데이터를 추출한다(단계 200; 도 3의 300).The e-mail client module 12 receives an e-mail from the e-mail server 20 and extracts data included in the received e-mail (step 200; 300 in FIG. 3).

키워드 분석 프로그램 모듈(14)은, 수신한 이메일에 포함되어 있는 문자에 대해서 형태소 분석을 실행한다(단계 210; 도 3의 310). 형태소 분석은 통상의 형태소 분석툴 예를 들어, KoNLPy (코엔엘파이)를 사용할 수 있다.The keyword analysis program module 14 performs morphological analysis on the characters included in the received e-mail (step 210; 310 in FIG. 3). For morphological analysis, a conventional morphological analysis tool, for example, KoNLPy (KoNL Py) may be used.

단계(220)에서, 키워드 분석 프로그램 모듈(14)은, 분석되어 추출된 각각의 형태소에 품사 태깅을 실행한다.(도 3의 320) 품사 태깅(POS tagging)은 각각의 형태소에, 해당 형태소의 품사를 태깅하는 것으로서 이렇게 품사가 태깅된 형태소 중에서 명사로 분류된 형태소만을 추출한다(단계 230; 도 3의 330).In step 220, the keyword analysis program module 14 executes part-of-speech tagging on each of the analyzed and extracted morphemes ( 320 of FIG. 3 ). As part of speech tagging, only morphemes classified as nouns from among the morphemes tagged in this way are extracted (step 230; 330 of FIG. 3 ).

단계(230)에서 추출된 명사 형태소 중에서 불필요한 단어를 제외한다(단계 240; 도 3의 340).Unnecessary words are excluded from the noun morphemes extracted in step 230 (step 240; 340 of FIG. 3).

제외할 단어는, 초기에 제외시킬 특정 단어를 입력하고, 비슷한 패턴이나 의미없는 단어들을 기계학습을 통해 설정할 수 있도록 한다. 또한, 고의적으로 철자를 약간 변형시키거나 띄워쓰기를 다르게 하는 스팸 메일의 경우 매번 수동으로 제외할 단어를 설정하면 번거롭기 때문에 역시 기계학습을 통해 그러한 단어들을 자동으로 학습하여 제외시킬 수 있다.For words to be excluded, a specific word to be excluded is initially input, and similar patterns or meaningless words can be set through machine learning. In addition, in the case of spam e-mails that intentionally change the spelling or use different spacing, it is cumbersome to manually set the words to be excluded each time, so those words can be automatically learned and excluded through machine learning.

제외할 단어로는, 예를 들어 음절이 하나인 명사 예를 들어 "수", "분", "것" 등을 설정할 수 있으며, 다수의 데이터에서 자주 추출되지만 본 발명에 의한 키워드 분석에 적합하지 않은 단어 예를 들어 "광고", "무료", "거부" 등의 단어를 제외시킬 수 있다.As words to be excluded, for example, a noun with one syllable, such as "number", "minute", "thing", etc. can be set, and although it is frequently extracted from a large number of data, it is not suitable for keyword analysis according to the present invention. You can exclude words such as "advertisement", "free", "reject", etc.

본 발명에 따르면 제외하지 않을 단어 역시 기계학습을 통해서 자동으로 설정할 수 있다.According to the present invention, words not to be excluded can also be automatically set through machine learning.

후술하는 통계 분석에서 선정되는 명사(기 선정 단어)를 이용하여 제외시키지 않을 단어를 학습하는데, 기 선정 단어가 아니거나 기 선정 단어에 기초한 단어가 아닌 경우에는 BPE(Byte Pair Encoding) 알고리즘을 사용하는 함수 예를 들어 구글사의 Sentencepiece 라이브러리를 이용해서 단어를 분리시킨 응답을 수신한다.Words not to be excluded are learned using nouns (preselected words) selected in statistical analysis to be described later. Function, for example, using Google's Sentencepiece library to receive a response in which words are separated.

통상적으로 기계 학습을 하면, 기존에 포함되어 있는 단어가 아니거나 그 단어에 기초한 단어가 아닌 경우에는 OOV(Out-of-Vocabulary) 또는 UNK(Unknown Token)로 처리하는데 이 문제를 해결하기 위해서 BPE 알고리즘을 사용할 수 있다.In general, when machine learning is performed, if it is not a word that is already included or is not a word based on the word, it is processed as OOV (Out-of-Vocabulary) or UNK (Unknown Token). In order to solve this problem, the BPE algorithm can be used

본 발명에 의하면, 기 선정 단어 또는 그에 기초한 단어가 아닌 경우라고 하더라도, 소정의 개수 이상이 출현하는 경우에는 제외시키지 않으며 그 이후의 기계학습에 사용함으로써 제외시키지 않을 단어의 선정에 사용할 수 있다.According to the present invention, even if it is not a previously selected word or a word based thereon, it is not excluded when a predetermined number or more appears, and can be used to select a word not to be excluded by using it for subsequent machine learning.

단계(250)에서는 잔류한 키워드의 빈도수를 산출한다.(도 3의 350)In step 250, the frequency of the remaining keywords is calculated (350 in FIG. 3).

이렇게 산출된 빈도수를 기준으로 순위를 매기고, 소정의 상위 순위의 키워드에 대해서 통계 분석을 실행할 수 있다(단계 260).Ranking is performed based on the frequency calculated in this way, and statistical analysis may be performed on keywords having a predetermined higher rank (step 260).

본 발명에 의한 키워드 분석 방법은 키워드 분석 프로그램 모듈(14)에 의해서 실행되어 분석 결과가 키워드 분석 서버(30)로 전송될 수도 있고, 키워드 분석 프로그램 모듈(14)은 단지 이메일 클라이언트 모듈(12)에 수신된 문자 데이터를 추출해서 키워드 분석 서버(30)로 보내고, 본 발명에 의한 분석 과정은 키워드 분석 서버(30)에서 실행될 수도 있다. 후자의 경우 키워드 분석 프로그램 모듈의 일부 기능은 키워드 분석 서버(30)에 탑재된 프로그램 모듈에 의해서 실행될 수 있으며, 본 명세서에서 키워드 분석 프로그램 모듈(14)은, 사용자 단말기(10)에 제공되는 것 뿐만 아니라, 키워드 분석 서버(30) 또는 제3의 다른 매체에 제공되는 것도 포함하는 것으로 이해되어야 한다.The keyword analysis method according to the present invention may be executed by the keyword analysis program module 14 and the analysis result may be transmitted to the keyword analysis server 30 , and the keyword analysis program module 14 is only sent to the email client module 12 . The received text data is extracted and sent to the keyword analysis server 30 , and the analysis process according to the present invention may be executed in the keyword analysis server 30 . In the latter case, some functions of the keyword analysis program module may be executed by a program module mounted on the keyword analysis server 30 , and in this specification, the keyword analysis program module 14 is provided to the user terminal 10 as well as Rather, it should be understood to include what is provided to the keyword analysis server 30 or another third medium.

도 4는 특정 월에 수신된 이메일에 포함된 키워드에 대해 통계분석을 수행한 결과, 즉 빈도수 기준 상위 50개의 키워드를 시각화한 도면이다. 시각화할 때에는, 순위가 높을수록 키워드의 크기를 크게하고, 배치는 화면의 중앙에 오도록 할 수 있다. 또한, 순위가 높을수록 횡으로 배치하고, 순위가 낮은 키워드는 세로로 배치할 수 있다. 시각화 규칙은 필요에 따라 다르게 설정될 수도 있으며 상기 규칙에 제한되는 것으로 해석되어서는 아니된다.FIG. 4 is a view showing results of statistical analysis performed on keywords included in emails received in a specific month, that is, the top 50 keywords based on frequency. When visualizing, the higher the ranking, the larger the size of the keyword, and the arrangement can be placed in the center of the screen. In addition, the higher the rank, the horizontally arranged, and the lower rank keywords can be arranged vertically. The visualization rule may be set differently as needed, and it should not be construed as being limited to the rule.

본 발명에 의한 키워드 분석을 수행하면, 통상 최신의 트렌드에 관련된 단어들을 포함하는 스팸 메일 또는 악성 코드를 탐지하는데에 유용할 수 있다.If the keyword analysis according to the present invention is performed, it may be useful to detect spam mail or malicious code including words related to the latest trend.

이상 첨부 도면을 참고하여 본 발명에 대해서 설명하였지만 본 발명의 권리범위는 후술하는 특허청구범위에 의해 결정되며 전술한 실시예 및/또는 도면에 제한되는 것으로 해석되어서는 아니된다. 그리고 특허청구범위에 기재된 발명의, 당업자에게 자명한 개량, 변경 및 수정도 본 발명의 권리범위에 포함된다는 점이 명백하게 이해되어야 한다.The present invention has been described above with reference to the accompanying drawings, but the scope of the present invention is determined by the following claims and should not be construed as being limited to the above-described embodiments and/or drawings. And it should be clearly understood that improvements, changes and modifications obvious to those skilled in the art of the invention described in the claims are also included in the scope of the present invention.

10: 사용자 단말기
12: 이메일 클라이언트 모듈
14: 키워드 분석 프로그램 모듈
20: 이메일 서버
30: 키워드 분석 서버
10: user terminal
12: Email client module
14: Keyword Analysis Program Module
20: Email Server
30: keyword analysis server

Claims (5)

이메일 서버와, 이메일 서버로부터 수신하는 이메일을 처리하는 이메일 클라이언트 프로그램 모듈과, 키워드 분석 프로그램 모듈을 포함하는 환경에서 수행되는 키워드 분석 방법에 있어서,
키워드 분석 프로그램 모듈이, 이메일에 포함된 텍스트 데이터로부터 형태소를 분석하고 추출하는 제1 단계와,
키워드 분석 프로그램 모듈이, 제1 단계에서 분석하여 추출된 형태소에 품사를 태깅하는 제2 단계와,
키워드 분석 프로그램 모듈이, 제2 단계에서 명사로 분류된 형태소를 추출하는 제3 단계와,
키워드 분석 프로그램 모듈이, 상기 추출된 형태소 중에서 기계학습을 통해 제외시킬 것으로 지정된 단어를 제외시키는 제4 단계와,
키워드 분석 프로그램 모듈이, 제4 단계 후 남은 형태소 각각에 대해서 빈도수를 산출하는 제5 단계와,
키워드 분석 프로그램 모듈이, 상기 빈도수 기준으로 소정의 상위 형태소에 대해서 통계 분석을 실행하는 제6 단계를 포함하며,
제4 단계는,
소정의 단어가 기선정된 단어 또는 상기 기선정 단어에 기초한 단어인 경우 상기 단어를 제외시키지 않는 제4-1 단계와,
소정의 단어가 기선정된 단어 또는 상기 기선정 단어에 기초한 단어가 아닌 것으로 판단되면 상기 단어를 BPE 알고리즘에 의해 분리된 응답으로 수신하는 제4-2 단계와,
소정의 단어가 소정의 횟수 이상 출현한 단어라면 소정의 단어를 제외시키지 않으며, 그렇지 않으면 제외시킬 단어로 선정하는 제4-3 단계를 포함하는,
이메일의 키워드 분석 방법.
A keyword analysis method performed in an environment including an email server, an email client program module for processing email received from the email server, and a keyword analysis program module, the keyword analysis method comprising:
A first step in which the keyword analysis program module analyzes and extracts morphemes from text data included in the email;
A second step of tagging, by the keyword analysis program module, the part-of-speech to the morphemes analyzed and extracted in the first step;
A third step in which the keyword analysis program module extracts morphemes classified as nouns in the second step;
a fourth step of excluding, by the keyword analysis program module, a word designated to be excluded through machine learning from among the extracted morphemes;
A fifth step of calculating, by the keyword analysis program module, the frequency for each morpheme remaining after the fourth step;
a sixth step of performing, by the keyword analysis program module, statistical analysis on a predetermined higher-order morpheme based on the frequency,
The fourth step is
Step 4-1 of not excluding the word when the predetermined word is a pre-selected word or a word based on the pre-selected word;
Step 4-2 of receiving the word as a separate response by the BPE algorithm when it is determined that the predetermined word is not a pre-selected word or a word based on the pre-selected word;
If the predetermined word appears more than a predetermined number of times, the predetermined word is not excluded; otherwise, the 4-3 step of selecting a word to be excluded.
How to analyze keywords in emails.
청구항 1에 있어서,
제4 단계는,
음절이 하나인 명사를 제외시키는 제4-4 단계를 더 포함하는,
이메일의 키워드 분석 방법.
The method according to claim 1,
The fourth step is
Further comprising a step 4-4 of excluding nouns with one syllable,
How to analyze keywords in emails.
삭제delete 청구항 1 또는 청구항 2의 방법의 단계를 실행시키기 위해 컴퓨터 판독 가능 기록 매체에 기록된 컴퓨터 프로그램.
A computer program recorded on a computer-readable recording medium for executing the steps of the method of claim 1 or 2.
청구항 1 또는 청구항 2의 방법의 단계를 실행시키는 컴퓨터 프로그램이 기록된 컴퓨터 판독 가능 기록 매체.
A computer-readable recording medium in which a computer program for executing the steps of the method of claim 1 or 2 is recorded.
KR1020210034136A 2021-03-16 2021-03-16 Method for Analyzing Keywords in Email KR102348239B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210034136A KR102348239B1 (en) 2021-03-16 2021-03-16 Method for Analyzing Keywords in Email

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210034136A KR102348239B1 (en) 2021-03-16 2021-03-16 Method for Analyzing Keywords in Email

Publications (1)

Publication Number Publication Date
KR102348239B1 true KR102348239B1 (en) 2022-01-07

Family

ID=79355160

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210034136A KR102348239B1 (en) 2021-03-16 2021-03-16 Method for Analyzing Keywords in Email

Country Status (1)

Country Link
KR (1) KR102348239B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012247876A (en) * 2011-05-26 2012-12-13 Hitachi Solutions Ltd Electronic mail information display system and electronic mail client
KR101324459B1 (en) * 2009-10-08 2013-10-31 한양대학교 산학협력단 System and method for e-mail categorization
KR20160034471A (en) * 2014-09-19 2016-03-30 엄수현 Method For Retrieving Regional Real-time Hot Issue Using SNS and SMS And System Thereof
KR20170142526A (en) * 2016-06-17 2017-12-28 천세욱 Apparatus and method of generating word set for analyzing text

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101324459B1 (en) * 2009-10-08 2013-10-31 한양대학교 산학협력단 System and method for e-mail categorization
JP2012247876A (en) * 2011-05-26 2012-12-13 Hitachi Solutions Ltd Electronic mail information display system and electronic mail client
KR20160034471A (en) * 2014-09-19 2016-03-30 엄수현 Method For Retrieving Regional Real-time Hot Issue Using SNS and SMS And System Thereof
KR20170142526A (en) * 2016-06-17 2017-12-28 천세욱 Apparatus and method of generating word set for analyzing text

Similar Documents

Publication Publication Date Title
US10445351B2 (en) Customer support solution recommendation system
US7617202B2 (en) Systems and methods that employ a distributional analysis on a query log to improve search results
US10469424B2 (en) Network based data traffic latency reduction
Chen et al. Mining user requirements to facilitate mobile app quality upgrades with big data
US11573995B2 (en) Analyzing the tone of textual data
US10440050B1 (en) Identifying sensitive data on computer networks
EP3245598B1 (en) Website access control
US10733247B2 (en) Methods and systems for tag expansion by handling website object variations and automatic tag suggestions in dynamic tag management
CN107844992A (en) comment information processing method, device, terminal device and storage medium
JP6776310B2 (en) User-Real-time feedback information provision methods and systems associated with input content
US11847111B2 (en) Anomaly detection systems and methods
US20170244741A1 (en) Malware Identification Using Qualitative Data
CN112579893A (en) Information pushing method, information display method, information pushing device, information display device and information display equipment
EP3699796B1 (en) Message report processing and threat prioritization
Ghasemisharif et al. Speedreader: Reader mode made fast and private
JP2012088803A (en) Malignant web code determination system, malignant web code determination method, and program for malignant web code determination
JP5079642B2 (en) History processing apparatus, history processing method, and history processing program
Illahi et al. Machine learning based success prediction for crowdsourcing software projects
KR102348239B1 (en) Method for Analyzing Keywords in Email
CN107679030B (en) Method and device for extracting synonyms based on user operation behavior data
Lapin et al. Improving the usability of requests for consent to use cookies
CN113158001B (en) Network space IP asset attribution and correlation discrimination method and system
US20220261544A1 (en) Online terms of use interpretation and summarization
Khatoon et al. Sentiment analysis on tweets
CN111062201A (en) Method and apparatus for processing information

Legal Events

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