WO2015032120A1 - 一种基于短文本的垃圾邮件过滤方法及装置 - Google Patents

一种基于短文本的垃圾邮件过滤方法及装置 Download PDF

Info

Publication number
WO2015032120A1
WO2015032120A1 PCT/CN2013/086166 CN2013086166W WO2015032120A1 WO 2015032120 A1 WO2015032120 A1 WO 2015032120A1 CN 2013086166 W CN2013086166 W CN 2013086166W WO 2015032120 A1 WO2015032120 A1 WO 2015032120A1
Authority
WO
WIPO (PCT)
Prior art keywords
word segmentation
text
email
fingerprint
mail
Prior art date
Application number
PCT/CN2013/086166
Other languages
English (en)
French (fr)
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 盈世信息科技(北京)有限公司
Publication of WO2015032120A1 publication Critical patent/WO2015032120A1/zh

Links

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
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/212Monitoring or handling of messages using filtering or selective blocking

Definitions

  • the present invention relates to the field of Internet technologies, and in particular, to a short text based spam filtering method and a short text based spam filtering device.
  • the invention name is "a short-text based spam filtering device based on the N-Gmm participle model”
  • this patent uses the N-Gmm word segmentation model to segment the mail samples, and The TF-IDF algorithm is used to weight the word segmentation, and then the zipf rule is used to extract the most important feature word segmentation list (the feature word segment that is not picked is discarded). Then the eigenvectors of the document are constructed by including these "important feature participles" in the text, and the neural network is learned and classified by this feature vector.
  • the technical problem to be solved by the present invention is to provide a spam filtering method and device based on short text, which can combine noise segmentation processing, TF-IDF technology and BKDR hash function to perform noise removal on emails, key information. Zooming in, and clustering similar text information, ultimately categorizes the mail.
  • the present invention provides a short text-based spam filtering method, including: a, word segmentation processing of text in an email and obtaining a word segmentation result; b, using a TF-IDF technology pair The result of the word segmentation Row sorting processing obtains a word segmentation list; c. calculating a mail fingerprint of the email according to the word segmentation result; d, clustering the email according to the email fingerprint and obtaining a clustering result; e, filtering according to the clustering result Spam email.
  • step a includes: al, preprocessing the text and extracting Chinese text and/or English text; a2, respectively performing word segmentation on the Chinese text and English text, and obtaining word segmentation results .
  • step c includes: cl, constructing an array of features; c2, extracting any preset parameter; c3, calculating a part of the word segmentation list by using a BKDR hash function according to the currently extracted preset parameter a hash value of the word segmentation result; c4, respectively performing modulo processing on the hash value to obtain a modulus value; c5, updating the feature array according to the modulus value; c6, determining whether the number of hash values currently processed has If it is less than the preset value, if it is judged as YES, it extracts another preset parameter that is different from the used preset parameter, and returns to step c3. If the judgment is no, it is calculated according to the number of hash values and the length of the feature array. Threshold, and normalizing the feature array according to the threshold to obtain a mail fingerprint of the email.
  • step d includes: dl, performing a comparison process between the mail fingerprint and the feature fingerprint of the spam, and obtaining a similarity between the mail fingerprint and the feature fingerprint; d2, according to the similarity The email is clustered and the clustering results are obtained.
  • the present invention further provides a short text-based spam filtering apparatus, comprising: a word segmentation module, configured to perform word segmentation processing on text in an email and obtain a word segmentation result; and a sorting module for using TF - IDF technology sorts the word segmentation process to obtain a word segmentation list; a mail fingerprint module, configured to calculate an email fingerprint of the email according to the word segmentation result; a clustering module, configured to cluster the email according to the email fingerprint Processing and obtaining a clustering result; a filtering module, configured to filter the spam email according to the clustering result.
  • a word segmentation module configured to perform word segmentation processing on text in an email and obtain a word segmentation result
  • a sorting module for using TF - IDF technology sorts the word segmentation process to obtain a word segmentation list
  • a mail fingerprint module configured to calculate an email fingerprint of the email according to the word segmentation result
  • a clustering module configured to cluster the email according to the email fingerprint Processing and obtaining a clustering result
  • the word segmentation module includes: a preprocessing unit, configured to preprocess text and extract Chinese text and/or English text; and a word segmentation unit, configured to respectively respectively perform the Chinese text and the English text.
  • the text is processed by word segmentation and the result of the word segmentation is obtained.
  • the mail fingerprint module includes: a feature array unit for constructing a feature array; a parameter unit for extracting any preset parameter; and a hash function unit for extracting according to the currently extracted Setting a parameter, using a BKDR hash function to calculate a hash value of each word segment result in the word segmentation list; a modulo unit for respectively performing modulo processing on the hash value to obtain a modulus value; The modulo value updates the feature array; the determining processing unit is configured to determine whether the number of hash values currently processed is less than a preset value, and when the determination is yes, extract a different one from the used preset parameters. Pre-set parameters, when the judgment is no, the threshold is calculated according to the number of hash values and the length of the feature array, and the feature array is normalized according to the threshold to obtain the email fingerprint of the email.
  • the clustering module includes: a similarity unit, configured to perform a comparison process between the mail fingerprint and the feature fingerprint of the spam, and obtain a similarity between the mail fingerprint and the feature fingerprint; And a unit, configured to perform clustering processing on the email according to the similarity and obtain a clustering result.
  • a similarity unit configured to perform a comparison process between the mail fingerprint and the feature fingerprint of the spam, and obtain a similarity between the mail fingerprint and the feature fingerprint
  • a unit configured to perform clustering processing on the email according to the similarity and obtain a clustering result.
  • the word segmentation list is obtained, and the noise contained in the email is filtered, and the text subjected to the html interference processing in the email is retained;
  • the text length of the mail using one or more BKDR hash functions to calculate the email fingerprint of the email, so that the possibility that the two emails calculate the same email fingerprint is greatly reduced, and the effect of the word segmentation result can be effectively enhanced, so that the similarity
  • the emails are more easily compared; subsequently, the email fingerprints of the emails are normalized, so that emails with slightly different content can be clustered by comparing the similarities of the fingerprints;
  • the clustering results filter spam emails, which solves the problem of computer automated filtering of short text spam.
  • FIG. 1 is a flow chart of a first embodiment of a short text based spam filtering method according to the present invention
  • FIG. 2 is a flow chart of a second embodiment of a short text based spam filtering method according to the present invention.
  • FIG. 3 is a schematic structural diagram of a spam filtering device based on short text according to the present invention.
  • FIG. 4 is a schematic structural diagram of a word segmentation module in a short text based spam filtering device according to the present invention.
  • FIG. 5 is a schematic structural diagram of a mail fingerprint module in a short text-based spam filtering device according to the present invention
  • FIG. 6 is a schematic structural diagram of a clustering module in a short text-based spam filtering device according to the present invention.
  • FIG. 1 is a flow chart of a first embodiment of a short text-based spam filtering method according to the present invention, comprising: S100, performing word segmentation processing on a text in an email and obtaining a word segmentation result.
  • the TF-IDF algorithm After extracting the word segmentation result (Chinese word segmentation, English word segmentation) from the email, the TF-IDF algorithm is used to sort the word segmentation results according to the segmentation ability from high to low, and after sorting, the word segmentation list is obtained.
  • the email fingerprint is in the form of an array, and one email corresponds to one email fingerprint.
  • the mail fingerprint is an integer array of length 512.
  • the length of the array of 512 is the trade-off amount and can be The experience value after the similar mail identification ability.
  • S103 Perform clustering processing on the email according to the email fingerprint and obtain a clustering result.
  • An email having a mail fingerprint similar to a spam fingerprint in a spam signature database can be judged as spam.
  • FIG. 2 is a flow chart of a second embodiment of a short text-based spam filtering method according to the present invention, comprising: S200: pre-processing text and extracting Chinese text and/or English text.
  • HTML Hypertext Markup Language
  • S20 performs word segmentation processing on the Chinese text and the English text respectively, and obtains a word segmentation result.
  • the words are separated from the sentence using a mechanical arrangement and the word segmentation result is obtained.
  • the separation method is as follows: For a Chinese text with a Chinese character of L, scan each Chinese text in the Chinese text.
  • the S is 4.
  • the TF-IDF algorithm After extracting the word segmentation result (Chinese word segmentation, English word segmentation) from the email, the TF-IDF algorithm is used to sort the word segmentation results according to the segmentation ability from high to low, and after sorting, the word segmentation list is obtained.
  • an integer array of length 512 is constructed and the array members are initialized to zero.
  • the array length of 512 is an empirical value after weighing the calculation amount and possible similar mail recognition ability.
  • preset parameters are prime numbers, and different preset parameters may be extracted to construct different BKDR hash functions.
  • the preset parameters include 131, 137, 139.
  • S205 Calculate a hash value of each word segmentation result in the word segmentation list by using a BKDR hash function according to the currently extracted preset parameter.
  • the word segmentation result of the word segment list obtained in step S202 is sequentially read, and each time a word segment is read, the hash value of the word segment is calculated.
  • a participle is equivalent to a character string.
  • This hash function has simple logic and a small amount of calculation. The key is that the same parameter can be set to make the same string hash different results. If, in some accidental cases, two different strings have a probability of hashing the same hash value of one in ten thousand, the hash value is simultaneously calculated by using a hash function of two different preset parameters. The probability of hashing two different strings out of the same hash is greatly reduced to one in 100 million.
  • S206 Perform modulo processing on the hash value to obtain a modulus value.
  • the divisor is the length of the feature array, ie the divisor is 512.
  • Each of the hash values calculated in step S205 is modulo 512.
  • the selected preset parameter is 131
  • the hash value calculated by the Chinese word "China” is 47826238462
  • the feature array is vector, and the array members are all 0. If the hash value calculated by the Chinese word "478" is 47826238462, the value after modulo is 510, and then, for vector[510] The corresponding integer value is incremented by 1, that is, the array member of the 510th bit in the feature array vector is incremented by one, and the feature array vector is updated.
  • S208 Determine whether the number of hash values currently processed is less than a preset value. When the determination is yes, extract a preset parameter that is different from the used preset parameter, and return to step S205; if the determination is no, calculate the threshold according to the number of hash values and the length of the feature array, and according to the valve The value is normalized to the feature array to obtain a mail fingerprint of the email.
  • the threshold is calculated according to the number of hash values and the length of the feature array, and the feature array is normalized according to the threshold to obtain an email.
  • Mail fingerprint If the number of hash values that have been processed is greater than or equal to a preset value, the threshold is calculated according to the number of hash values and the length of the feature array, and the feature array is normalized according to the threshold to obtain an email. Mail fingerprint.
  • Threshold number of hashes already processed / length of feature array.
  • the feature array When the feature array is normalized according to the threshold, the feature array needs to be scanned. If the value of the array member of the feature array is greater than the threshold, the value of the array member is set to 1, otherwise set to 0.
  • the processed feature array is the email fingerprint corresponding to the email. Similar emails can be clustered by comparing the email fingerprints generated by different emails.
  • the feature array is normalized according to the threshold value, that is, the value of the array member of the feature array is either 0 or 1, so that the information becomes blurred after processing, Similar feature arrays will still be similar after processing, and it is likely that only a few array members have different values. By comparing how many identical array members of the two feature arrays are equal, the degree of similarity between the two participles can be determined.
  • the preset value is 1024.
  • 1024 is the experience value. If the preset value is too small, the amount of fingerprint information generated is too small, and it is easy to cluster two short texts together. If the preset value is too large, the amount of generated fingerprint information is too large, and it is easy to A similar short text is judged to be different.
  • S209 Perform a comparison process according to the fingerprint of the mail fingerprint and the characteristic fingerprint of the spam, and obtain a similarity between the mail fingerprint and the feature fingerprint.
  • the two binary strings "11000011” and “11101011” have only two different bits, and their similarity is (8-2)/8.
  • S210 Perform clustering processing on the email according to the similarity and obtain a clustering result.
  • S21 filters the spam email according to the clustering result.
  • An email having a mail fingerprint similar to a spam fingerprint in a spam signature database can be judged as spam.
  • the short text-based spam filtering apparatus 1 includes:
  • the word segmentation module 2 is used for word segmentation of the text in the email and obtaining the word segmentation result.
  • the word segmentation module 2 performs word segmentation on the text in the e-mail, the HTML tag, the Chinese character, and the English character need to be separated, and then the Chinese character and the English character are separately segmented to obtain the word segmentation result.
  • the sorting module 3 is connected to the word segmentation module 2, and is configured to sort the word segmentation result by using the TF-IDF technique to obtain a word segmentation list.
  • the sorting module 3 uses the TF-IDF algorithm to sort the word segmentation results obtained by the word segmentation module 2 according to the discrimination ability from high to low, and after sorting, obtains the word segmentation list.
  • Chinese word segmentation and English word segmentation need to be sorted separately. Because there are a large number of Chinese word segments, Chinese word segmentation will be dominant after sorting together, which is not good for filtering English spam.
  • Preferably, after sorting only the top 50% of the word segmentation results are retained.
  • the mail fingerprint module 4 is connected to the sorting module 3, and is configured to calculate a mail fingerprint of the email according to the word segmentation result.
  • the clustering module 5 is connected to the mail fingerprint module 4, and is configured to cluster the email according to the mail fingerprint and obtain a clustering result.
  • the filtering module 6 is connected to the clustering module 5, and is configured to filter the spam email according to the clustering result.
  • the filtering module 6 judges the email with the email fingerprint similar to the spam fingerprint in the spam signature database as a spam, and accurately filters the short text spam.
  • the word segmentation module 2 includes:
  • the preprocessing unit 21 is configured to preprocess the text and extract Chinese text and/or English text.
  • the pre-processing unit 21 acquires an email and pre-processes the text in the email.
  • the Hypertext Markup Language (HTML) document extracts the HTML tags (HTML tags) and processes them separately.
  • HTML tags HTML tags
  • the Chinese characters and English characters are separated and converted into English-only characters and only Chinese. The text of the character.
  • the word segmentation unit 22 is connected to the pre-processing unit 21 for performing word segmentation processing on the Chinese text and the English text respectively, and obtaining a word segmentation result.
  • the word segmentation unit 22 obtains the word segmentation result (separated by punctuation and space) for the English text using the traditional word segmentation method.
  • the word segmentation unit 22 separates the words from the sentences using the mechanical arrangement of the Chinese texts to obtain the word segmentation results.
  • the separation method is as follows: For a Chinese text with Chinese characters of L, scan each Chinese character C in the Chinese text, and extract the texts after each Chinese character C one by one by using S Chinese characters as steps. Combination of words; where S is 1, 2, 3, 4... For example, for the sentence "I am Chinese", the scan step size is 3, and the maximum length of the participle is 3.
  • the possible participles are: I, I am, I am in, Yes, Yes, China, China, China , Chinese, country, Chinese, person.
  • the mail fingerprint module 4 includes:
  • the feature array unit 41 is used to construct an array of features.
  • an integer array of length 512 is constructed and the array members are initialized to zero.
  • the parameter unit 42 connected to the feature array unit 41, is used to extract any preset parameter.
  • the preset parameters include 131, 137, 139.
  • the hash function unit 43 is connected to the parameter unit 42 and is configured to calculate a hash value of each word segmentation result in the word segmentation list by using a BKDR hash function according to the currently extracted preset parameter.
  • the hash function unit 43 calculates the hash value of the word segment every time a word segment is read. Among them, a participle is equivalent to a string.
  • the modulo unit 44 is connected to the hash function unit 43 for respectively performing modulo processing on the hash value to obtain a modulus value.
  • the modulo unit 44 modifies each of the hash values calculated in the hash function unit 43 by making the divisor the length of the feature array.
  • the length of the feature array is 512
  • the hash value calculated by the Chinese word "China” is 47826238462
  • the updating unit 45 is connected to the modulo unit 44 for updating the feature array according to the modulus value.
  • the feature array is vector
  • the modulus value is 510.
  • the integer value corresponding to vector[510] is incremented by 1, that is, the array member of the 510th bit in the feature array vector is added, and the update is performed.
  • Feature array vector is incremented by 1, that is, the array member of the 510th bit in the feature array vector is added, and the update is performed.
  • the determining processing unit 46 is connected to the updating unit 45 and the hash function unit 43 respectively, and is configured to determine whether the number of hash values currently processed is less than a preset value, and when the determination is yes, extract a The other preset parameters that have different preset parameters are used. When the judgment is no, the threshold is calculated according to the number of hash values and the length of the feature array, and the feature array is normalized according to the threshold to obtain an email. Mail fingerprint.
  • the determination processing unit 46 determines whether the number of hash values currently processed has been small. At the default value. If the number of hash values that have been processed is less than the preset value, extract another preset parameter that is different from the used preset parameter (ie, select another preset parameter), and return to the hash function unit 43.
  • the hash function unit 43, the modulo unit 44, and the update unit 45 re-process all the word segments, such as hash value calculation, modulo, and update feature array.
  • the threshold is calculated according to the number of hash values and the length of the feature array, and the feature array is normalized according to the threshold to obtain an email fingerprint of the email. .
  • Threshold number of hashes already processed / length of feature array.
  • the feature array When the feature array is normalized according to the threshold, the feature array needs to be scanned. If the value of the array member of the feature array is greater than the threshold, the value of the array member is set to 1, otherwise set to 0.
  • the processed feature array is the email fingerprint corresponding to the email. Similar emails can be clustered by comparing the email fingerprints generated by different emails.
  • the clustering module 5 includes:
  • the similarity unit 51 is configured to perform a comparison process between the mail fingerprint and the characteristic fingerprint of the spam and obtain the similarity between the mail fingerprint and the feature fingerprint.
  • the similarity unit 51 determines the similarity of the two participles by comparing how many identical array members of the two feature arrays (mail fingerprints) have the same position.
  • the clustering unit 52 is connected to the similarity unit 51, and is configured to perform clustering processing on the email according to the similarity and obtain a clustering result.
  • the pre-processing unit 21 preprocesses the text and extracts the Chinese text and/or the English text
  • the word segmentation unit 22 performs word segmentation processing on the Chinese text and the English text, respectively, and obtains the word segmentation result.
  • the sorting module 3 sorts the word segmentation results of the word segmentation unit 22 using the TF-IDF technique to obtain a word segmentation list.
  • the feature array unit 41 constructs an array of features
  • the parameter unit 42 extracts any preset parameters
  • the hash function unit 43 calculates the hash of each word segmentation result in the word segmentation list using the BKDR hash function according to the currently extracted preset parameters.
  • modulo unit 44 respectively The hash value is subjected to modulo processing to obtain a modulo value, and the updating unit 45 updates the feature array according to the modulo value, and the determining processing unit 46 determines whether the number of hash values currently processed is less than a preset value, and determines that it is At the same time, another preset parameter different from the used preset parameters is extracted, and the hash function unit 43 is returned, and the hash function unit 43, the modulo unit 44, and the update unit 45 recalculate the hash values of all the word parts.
  • the threshold is calculated according to the number of hash values and the length of the feature array, and the feature array is normalized according to the threshold to obtain the email fingerprint of the email.
  • the similarity unit 51 performs a comparison process between the mail fingerprint and the feature fingerprint of the spam and obtains the similarity between the mail fingerprint and the feature fingerprint
  • the clustering unit 52 clusters the email according to the similarity and obtains Clustering results.
  • the filtering module 6 filters the spam email according to the clustering result.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Theoretical Computer Science (AREA)
  • Tourism & Hospitality (AREA)
  • Data Mining & Analysis (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

公开了一种基于短文本的垃圾邮件过滤方法,包括:对电子邮件中的文本进行分词处理并获得分词结果;使用TF-IDF技术对所述分词结果进行排序处理获得分词列表;根据所述分词结果计算电子邮件的邮件指纹;根据所述邮件指纹对电子邮件进行聚类处理并获得聚类结果;根据所述聚类结果过滤垃圾电子邮件。本发明还公开了一种基于短文本的垃圾邮件过滤装置。采用本发明,可对电子邮件中的文本进行分词处理和TF-IDF技术排序处理,实现噪音过滤;根据电子邮件的文本长度,采用一个或多个BKDR哈希函数来计算电子邮件的邮件指纹,可有效地强化分词结果的作用;利用归一化处理,使得电子邮件能通过比对指纹的相似性进行聚类处理,实现垃圾电子邮件的过滤。

Description

一种基于短文本的垃圾邮件过滤方法及装置 技术领域
[0001] 本发明涉及互联网技术领域, 尤其涉及一种基于短文本的垃圾邮件过滤方法及基于短 文本的垃圾邮件过滤装置。
背景技术 说
[0002] 随着互联网的广泛应用, 电子邮件以其快速、 简单、 廉价的优点受到人们的青睐, 成 为一种高效的大众传播媒介。 与此同时, 大量无用邮件涌入人们的邮箱, 给他们的学习和生 活带来灾难。 垃圾邮件是用户最讨厌的, 他们浪费了用户的时间、 金钱及网络带宽, 同时, 弄乱用户的邮箱, 有些邮件甚至是有害的, 如包含色书情内容或病毒等。 据有关研究报告, 全 世界电子邮件中每天有超过 10%都是垃圾邮件。 因此, 研发一种有效拦截过滤垃圾有效的方 法是很有必要的。
[0003] 目前, 已有不少方法可以对垃圾邮件进行过滤。 如中国专利申请 CN201010179995.4, 发明名称为 "一种基于 N-Gmm分词模型的反向神经网络基于短文本的垃圾邮件过滤装置", 此专利使用 N-Gmm分词模型对邮件样本进行分词,并使用 TF-IDF算法对分词进行权重排序, 然后使用 zipf法则提取最重要的特征分词列表(没有被挑中的特征分词则被丢弃)。然后通过 文本中是否包含这些 "重要特征分词"构造出文档的特征向量, 并以此特征向量进行神经网 络的学习和分类。 然而, 对于正文内容很短的短文本信息, 使用 zipf法则来提取最重要的特 征分词, 并丢弃不重要的特征分词之后, 剩下的信息就更少了, 如果直接使用这么少的信息 进行文本分类, 最终的结果甚至可能是错误的, 严重情况下甚至会将正常邮件归类成垃圾邮 件,导致用户没有读到或者没有及时读到这封邮件。另外,当前大量的垃圾邮件常常使用 html 方式进行包装, 并通过添加大量不可见或者不同大小的字体, 来干扰文本分类的效果, 因此, 此专利不适用于正文内容很短的垃圾邮件的过滤。
发明内容
[0004] 本发明所要解决的技术问题在于, 提供一种基于短文本的垃圾邮件过滤方法及装置, 可结合分词处理、 TF-IDF技术及 BKDR哈希函数,对电子邮件进行噪音去除,关键信息放大, 以及相似文本信息聚类, 最终实现对邮件进行分类。
[0005] 为了解决上述技术问题,本发明提供了一种基于短文本的垃圾邮件过滤方法,包括: a、 对电子邮件中的文本进行分词处理并获得分词结果; b、 使用 TF-IDF技术对所述分词结果进 行排序处理获得分词列表; c、 根据所述分词结果计算电子邮件的邮件指纹; d、 根据所述邮 件指纹对电子邮件进行聚类处理并获得聚类结果; e、 根据所述聚类结果过滤垃圾电子邮件。
[0006] 作为上述方案的改进, 步骤 a包括: al、 对文本进行预处理并抽取出中文文本和 /或英 文文本; a2、 分别对所述中文文本和英文文本进行分词处理, 并获得分词结果。
[0007] 作为上述方案的改进, 步骤 c包括: cl、 构建特征数组; c2、 提取任一预设参数; c3、 根据当前提取的预设参数, 使用 BKDR哈希函数计算所述分词列表中各分词结果的哈希值; c4、 分别对所述哈希值进行取模处理获得模值; c5、 根据所述模值更新所述特征数组; c6、 判断当前已经处理的哈希值个数是否少于预设值, 判断为是时, 提取一个与已使用的预设参 数相异的其它预设参数, 并返回执行步骤 c3, 判断为否时, 根据哈希值个数及特征数组长度 计算阀值, 并根据阀值对所述特征数组进行归一化处理获得电子邮件的邮件指纹。
[0008] 作为上述方案的改进, 步骤 d包括: dl、 根据邮件指纹与垃圾邮件的特征指纹进行比 对处理并获得邮件指纹与特征指纹之间的相似度; d 2、 根据所述相似度对电子邮件进行聚类 处理并获得聚类结果。
[0009] 相应地, 本发明还提供了一种基于短文本的垃圾邮件过滤装置, 包括: 分词模块, 用 于对电子邮件中的文本进行分词处理并获得分词结果; 排序模块,用于使用 TF-IDF技术对所 述分词结果进行排序处理获得分词列表; 邮件指纹模块, 用于根据所述分词结果计算电子邮 件的邮件指纹; 类聚模块, 用于根据所述邮件指纹对电子邮件进行聚类处理并获得聚类结果; 过滤模块, 用于根据所述聚类结果过滤垃圾电子邮件。
[0010] 作为上述方案的改进, 所述分词模块包括: 预处理单元, 用于对文本进行预处理并抽 取出中文文本和 /或英文文本;分词单元,用于分别对所述中文文本和英文文本进行分词处理, 并获得分词结果。
[0011] 作为上述方案的改进, 所述邮件指纹模块包括: 特征数组单元, 用于构建特征数组; 参数单元,用于提取任一预设参数;哈希函数单元,用于根据当前提取的预设参数,使用 BKDR 哈希函数计算所述分词列表中各分词结果的哈希值; 取模单元, 用于分别对所述哈希值进行 取模处理获得模值; 更新单元, 用于根据所述模值更新所述特征数组; 判断处理单元, 用于 判断当前已经处理的哈希值个数是否少于预设值, 判断为是时, 提取一个与已使用的预设参 数相异的其它预设参数, 判断为否时, 根据哈希值个数及特征数组长度计算阀值, 并根据阀 值对所述特征数组进行归一化处理获得电子邮件的邮件指纹。
[0012] 作为上述方案的改进, 所述类聚模块包括: 相似度单元, 用于根据邮件指纹与垃圾邮 件的特征指纹进行比对处理并获得邮件指纹与特征指纹之间的相似度; 类聚单元, 用于根据 所述相似度对电子邮件进行聚类处理并获得聚类结果。 [0013] 实施本发明, 具有如下有益效果:
对电子邮件中的文本进行分词处理和 TF-IDF技术排序处理后, 获得分词列表, 即可将电子邮 件所包含的噪音进行过滤, 保留电子邮件中进行过 html干扰处理的文本; 然后, 根据电子邮 件的文本长度, 采用一个或多个 BKDR哈希函数来计算电子邮件的邮件指纹, 使得两个电子 邮件计算出相同的邮件指纹的可能性大大降低, 可有效地强化分词结果的作用, 使得相似的 电子邮件更加容易被比对出来; 随后, 进行归一化处理获得电子邮件的邮件指纹, 使得内容 稍有不同的电子邮件能通过比对指纹的相似性进行聚类处理; 最后, 根据所述聚类结果过滤 垃圾电子邮件, 解决了对短文本垃圾邮件进行计算机自动化过滤的问题。
附图说明
[0014] 图 1是本发明一种基于短文本的垃圾邮件过滤方法的第一实施例流程图;
图 2是本发明一种基于短文本的垃圾邮件过滤方法的第二实施例流程图;
图 3是本发明一种基于短文本的垃圾邮件过滤装置的结构示意图;
图 4是本发明一种基于短文本的垃圾邮件过滤装置中分词模块的结构示意图;
图 5是本发明一种基于短文本的垃圾邮件过滤装置中邮件指纹模块的结构示意图; 图 6是本发明一种基于短文本的垃圾邮件过滤装置中类聚模块的结构示意图。
具体实施方式
[0015] 为使本发明的目的、 技术方案和优点更加清楚, 下面将结合附图对本发明作进一步地 详细描述。
[0016] 图 1是本发明一种基于短文本的垃圾邮件过滤方法的第一实施例流程图, 包括: S100、 对电子邮件中的文本进行分词处理并获得分词结果。
[0017] 对电子邮件中的文本进行分词处理时, 需要将 HTML标签、 中文字符和英文字符分离 出来, 然后, 对中文字符和英文字符分别进行分词, 获得分词结果。
[0018] S10 使用 TF-IDF技术对所述分词结果进行排序处理获得分词列表。
[0019] 从电子邮件中提取出分词结果 (中文分词、 英文分词) 后, 使用 TF-IDF算法按照区 分能力从高到低对分词结果进行排序处理, 排序后, 获得分词列表。
[0020] 需要说明的是, 中文分词和英文分词需要分别排序, 因为中文分词数量众多, 一起排 序之后中文分词会比较占优势, 对过滤英文垃圾邮件不利。
[0021] 优选地, 排序后, 只保留排名靠前的 50%的分词结果。
[0022] S102、 根据所述分词结果计算电子邮件的邮件指纹。
[0023] 需要说明的是, 所述邮件指纹为数组形式, 一个电子邮件对应一个邮件指纹。
[0024] 优选地, 邮件指纹为长度为 512的整数数组。 其中 512的数组长度为权衡计算量和可 能的相似邮件识别能力之后的经验值。
[0025] S103、 根据所述邮件指纹对电子邮件进行聚类处理并获得聚类结果。
[0026] S104、 根据所述聚类结果过滤垃圾电子邮件。
[0027] 邮件指纹与垃圾邮件特征指纹库中的垃圾邮件指纹相似的电子邮件即可判断为垃圾邮 件。
[0028] 需要说明的是, 用户举报垃圾邮件之后, 相关信息将会提交管理员审核。 管理员审核 后, 用户举报的垃圾邮件以及和此垃圾邮件相似的其他垃圾邮件, 都会记录到垃圾邮件特征 库。 对于此后收到的未知是否垃圾邮件的新到达邮件, 也可以通过计算特征邮件指纹, 并比 对是否在已知的垃圾邮件特征指纹库中, 进行过滤判断, 实现短文本的垃圾邮件的准确过滤。
[0029] 图 2是本发明一种基于短文本的垃圾邮件过滤方法的第二实施例流程图, 包括: S200、 对文本进行预处理并抽取出中文文本和 /或英文文本。
[0030] 工作时, 首先获取电子邮件, 并对电子邮件中的文本进行预处理。 对于超文本标记语 言 (Hypertext Markup Language, HTML) 文档, 将其中的 HTML标签 (HTML tag) 提取出 来单独处理; 针对剩余的信息, 将中文字符和英文字符分离出来, 转换成只有英文字符的文 本和只有中文字符的文本。
[0031] S20 分别对所述中文文本和英文文本进行分词处理, 并获得分词结果。
[0032] 对于英文文本,使用传统的分词方式获得分词结果(以标点符号和空格分隔各个分词)。
[0033] 对于中文文本, 则使用机械的排列组合方式从句子中分离出词语, 获得分词结果。 分 离方法如下: 对于一个中文字符数为 L的中文文本, 扫描所述中文文本中的每一个中文文字
C, 以 S个中文字符为步长将每一个中文文字 C后面的文字逐个提取出来, 组成文字组合; 其中, S 为 1、 2、 3、 4……。 例如, 对于句子 "我是中国人"设定扫描步长为 3, 分词最大 长度为 3, 则可能的分词为: 我, 我是, 我是中, 是, 是中, 是中国, 中, 中国, 中国人, 国, 国人, 人。
[0034] 优选地, 所述 S为 4。
[0035] 使用此分词的好处是无需中文词典, 由于中文的特性, 使用此办法分词肯定可以覆盖 到绝大部分的中文词语。 另外可以处理形如 "我 a是 a中 a国 a人" 的带有干扰信息的文本。 而且使用此分词方法, 还可以获得很多次重要分词, 在后续处理会将这些分词按照区分能力 进行排序, 区分能力低的词语会排到较后的位置。 一些次重要的词语对文本分类有较大作用 的。 例如对于 "芙王"这个分词, 经过程序处理之后发现它是垃圾邮件的一个有较大区分作 用的分词, 仔细查看发现这个词来源于销售假烟 "芙蓉王" 的垃圾邮件样本, 而 "芙蓉"可 能会在其他正常邮件中经常出现, 所以 "芙蓉"对于垃圾邮件的区分作用不如 "芙王"。 [0036] S202、 使用 TF-IDF技术对所述分词结果进行排序处理获得分词列表。
[0037] 从电子邮件中提取出分词结果 (中文分词、 英文分词) 后, 使用 TF-IDF算法按照区 分能力从高到低对分词结果进行排序处理, 排序后, 获得分词列表。
[0038] 需要说明的是, 中文分词和英文分词需要分别排序, 因为中文分词数量众多, 一起排 序之后中文分词会比较占优势, 对过滤英文垃圾邮件不利。
[0039] 优选地, 排序后, 只保留排名靠前的 50%的分词结果。
[0040] S203、 构建特征数组。
[0041] 优选地, 构造长度为 512的整数数组, 并将数组成员初始化为 0。
[0042] 需要说明的是, 512 的数组长度为权衡计算量和可能的相似邮件识别能力之后的经验 值。
[0043] S204、 提取任一预设参数。
[0044] 需要说明的是,预设参数为质数,提取不同的预设参数可构造不同的 BKDR哈希函数。
[0045] 优选地, 预设参数包括 131, 137, 139。
[0046] S205, 根据当前提取的预设参数, 使用 BKDR哈希函数计算所述分词列表中各分词结 果的哈希值。
[0047] 依次读取步骤 S202 中获得的分词列表的分词结果, 每读取一个分词, 则计算这个分 词的哈希值。
[0048] 需要说明的是, 一个分词相当于一个字符串。 计算哈希值时, 需要对字符串中的每个 字符, 把之前计算出的哈希值与预设参数相乘, 并和当前字符相加, 获得当前的哈希值, 直 到字符串的字符串终结, 则能够获取当前字符串对应的哈希值。
[0049] 这个哈希函数逻辑简单, 计算量少, 另外关键是可以通过设定预设参数, 使同一个字 符串便能哈希出不同的结果。 如果在某些偶然情况下两个不同的字符串, 能够哈希出相同的 哈希值的概率为万分之一, 则通过使用两个不同预设参数的哈希函数同时计算哈希值, 使得 两个不同字符串哈希出相同哈希值的概率大大减少到一亿分之一。
[0050] S206、 分别对所述哈希值进行取模处理获得模值。
[0051] 使除数为特征数组的长度, 即除数为 512。 对步骤 S205中计算出的每个哈希值对 512 取模。
[0052] 例如, 选定预设参数为 131, "中国 "这个分词计算出来的哈希值是 47826238462, 则 取模后的模值为 510 (47826238462 % 512 = 510)。
[0053] S207, 根据所述模值更新所述特征数组。
[0054] 需要说明的是, 更新所述特征数组时, 需对模值所对应的特征数组的数组成员进行加 1处理。
[0055] 例如, 特征数组为 vector, 且数组成员均为 0, 若"中国"这个分词计算出来的哈希值 是 47826238462, 则取模后的值为 510, 此时, 则对 vector[510]所对应的整数值加 1, 即对特 征数组 vector中第 510位的数组成员进行加 1处理, 更新特征数组 vector。
[0056] S208、 判断当前已经处理的哈希值个数是否少于预设值。 判断为是时, 提取一个与已 使用的预设参数相异的其它预设参数, 并返回执行步骤 S205; 判断为否时, 根据哈希值个数 及特征数组长度计算阀值, 并根据阀值对所述特征数组进行归一化处理获得电子邮件的邮件 指纹。
[0057] 当处理完分词列表中的所有分词后 (即所有分词均完成哈希值计算、 取模、 更新特征 数组等处理), 判断当前已经处理的哈希值个数是否少于预设值。
[0058] 如果已经处理的哈希值个数少于预设值的, 提取一个与已使用的预设参数相异的其它 预设参数 (即选定另外一个预设参数) , 并返回执行步骤 S205, 重新对所有分词进行哈希值 计算、 取模、 更新特征数组等处理。
[0059] 如果已经处理的哈希值个数大于或等于预设值, 根据哈希值个数及特征数组长度计算 阀值, 并根据阀值对所述特征数组进行归一化处理获得电子邮件的邮件指纹。
[0060] 阀值 =已经处理的哈希值个数 /特征数组长度。
[0061] 根据阀值对所述特征数组进行归一化处理时, 需扫描特征数组, 如果特征数组的数组 成员的值大于阀值, 则将数组成员的值置 1, 否则置 0。 处理后的特征数组, 即为电子邮件对 应的邮件指纹。 通过比对不同电子邮件生成的邮件指纹, 即可将相似的电子邮件聚类起来。
[0062] 需要说明的是, 根据阀值对所述特征数组进行归一化处理, 即让特征数组的数组成员 的值要么是 0, 要么是 1, 这样处理后信息变的模糊化, 两个相似的特征数组, 处理后仍然会 很相似, 很有可能只有几个数组成员的值不一样。 通过比对两个特征数组有多少个相同位置 的数组成员相等, 即可判定两个分词的相似程度。
[0063] 优选地, 所述预设值为 1024。 1024是经验值, 如果预设值太小, 则生成指纹信息量过 少, 容易将两个短文本聚类在一起, 如果预设值太大, 则生成的指纹信息量过大, 容易将两 个相似的短文本判定为不一样。
[0064] S209、 根据邮件指纹与垃圾邮件的特征指纹进行比对处理并获得邮件指纹与特征指纹 之间的相似度。
[0065] 通过比对两个特征数组 (邮件指纹) 有多少个相同位置的数组成员相等, 即可判定两 个分词的相似度。
[0066] 例如, 两个二进制字符串 " 11000011 "及 " 11100011 "则他们只有一个 bit不一样, 他 们的相似度是 (8-l)/8。
[0067] 又如, 两个二进制字符串 " 11000011 "及 " 11101011 "则他们只有两个 bit不一样, 他 们的相似度是 (8-2)/8。
[0068] S210、 根据所述相似度对电子邮件进行聚类处理并获得聚类结果。
[0069] S21 根据所述聚类结果过滤垃圾电子邮件。
[0070] 邮件指纹与垃圾邮件特征指纹库中的垃圾邮件指纹相似的电子邮件即可判断为垃圾邮 件。
[0071] 需要说明的是, 用户举报垃圾邮件之后, 相关信息将会提交管理员审核。 管理员审核 后, 用户举报的垃圾邮件以及和此垃圾邮件相似的其他垃圾邮件, 都会记录到垃圾邮件特征 库。 对于此后收到的未知是否垃圾邮件的新到达邮件, 也可以通过计算特征邮件指纹, 并比 对是否在已知的垃圾邮件特征指纹库中, 进行过滤判断。
[0072] 图 3是本发明一种基于短文本的垃圾邮件过滤装置的结构示意图, 如图 3所示, 基于 短文本的垃圾邮件过滤装置 1包括:
分词模块 2, 用于对电子邮件中的文本进行分词处理并获得分词结果。 分词模块 2对电子邮 件中的文本进行分词处理时, 需要将 HTML标签、 中文字符和英文字符分离出来, 然后, 对 中文字符和英文字符分别进行分词, 获得分词结果。
[0073] 排序模块 3, 与所述分词模块 2相连, 用于使用 TF-IDF技术对所述分词结果进行排序 处理获得分词列表。排序模块 3使用 TF-IDF算法按照区分能力从高到低对分词模块 2所获得 的分词结果进行排序处理, 排序后, 获得分词列表。 其中, 中文分词和英文分词需要分别排 序, 因为中文分词数量众多, 一起排序之后中文分词会比较占优势, 对过滤英文垃圾邮件不 利。 优选地, 排序后, 只保留排名靠前的 50%的分词结果。
[0074] 邮件指纹模块 4, 与所述排序模块 3相连, 用于根据所述分词结果计算电子邮件的邮 件指纹。
[0075] 类聚模块 5, 与所述邮件指纹模 4块相连, 用于根据所述邮件指纹对电子邮件进行聚 类处理并获得聚类结果。
[0076] 过滤模块 6, 与所述类聚模块 5相连, 用于根据所述聚类结果过滤垃圾电子邮件。 过 滤模块 6将邮件指纹与垃圾邮件特征指纹库中的垃圾邮件指纹相似的电子邮件判断为垃圾邮 件, 实现短文本的垃圾邮件的准确过滤。
[0077] 如图 4所示, 分词模块 2包括:
预处理单元 21, 用于对文本进行预处理并抽取出中文文本和 /或英文文本。
[0078] 工作时, 预处理单元 21获取电子邮件, 并对电子邮件中的文本进行预处理。对于超文 本标记语言 (Hypertext Markup Language, HTML)文档, 将其中的 HTML标签(HTML tag) 提取出来单独处理; 针对剩余的信息, 将中文字符和英文字符分离出来, 转换成只有英文字 符的文本和只有中文字符的文本。
[0079] 分词单元 22, 与所述预处理单元 21相连, 用于分别对所述中文文本和英文文本进行 分词处理, 并获得分词结果。
[0080] 分词单元 22对英文文本,使用传统的分词方式获得分词结果(以标点符号和空格分隔 各个分词)。
[0081] 分词单元 22对中文文本,使用机械的排列组合方式从句子中分离出词语,获得分词结 果。 分离方法如下: 对于一个中文字符数为 L的中文文本, 扫描所述中文文本中的每一个中 文文字 C, 以 S个中文字符为步长将每一个中文文字 C后面的文字逐个提取出来, 组成文字 组合; 其中, S为 1、 2、 3、 4……。 例如, 对于句子 "我是中国人"设定扫描步长为 3, 分 词最大长度为 3, 则可能的分词为: 我, 我是, 我是中, 是, 是中, 是中国, 中, 中国, 中 国人, 国, 国人, 人。
[0082] 如图 5所示, 邮件指纹模块 4包括:
特征数组单元 41, 用于构建特征数组。 优选地, 构造长度为 512的整数数组, 并将数组成员 初始化为 0。
[0083] 参数单元 42, 与所述特征数组单元 41相连, 用于提取任一预设参数。 优选地, 预设 参数包括 131, 137, 139。
[0084] 哈希函数单元 43,与所述参数单元 42相连,用于根据当前提取的预设参数,使用 BKDR 哈希函数计算所述分词列表中各分词结果的哈希值。
[0085] 需要说明的是, 哈希函数单元 43对于排序模块 3获得的分词列表, 每读取一个分词, 则计算这个分词的哈希值。 其中, 一个分词相当于一个字符串。 计算哈希值时, 需要对字符 串中的每个字符, 把之前计算出的哈希值与预设参数相乘, 并和当前字符相加, 获得当前的 哈希值, 直到字符串的字符串终结, 则能够获取当前字符串对应的哈希值。
[0086] 取模单元 44, 与所述哈希函数单元 43相连, 用于分别对所述哈希值进行取模处理获 得模值。 取模单元 44使除数为特征数组的长度, 对哈希函数单元 43中计算出的每个哈希值 取模。
[0087] 例如, 特征数组的长度为 512, "中国 "这个分词计算出来的哈希值是 47826238462, 则取模后的模值为 510 (47826238462 % 512 = 510)。
[0088] 更新单元 45, 与所述取模单元 44相连, 用于根据所述模值更新所述特征数组。 更新 所述特征数组时, 需对模值所对应的特征数组的数组成员进行加 1处理。 [0089] 例如, 特征数组为 vector, 模值为 510, 此时, 则对 vector[510]所对应的整数值加 1, 即对特征数组 vector中第 510位的数组成员进行加 1处理, 更新特征数组 vector。
[0090] 判断处理单元 46, 与所述更新单元 45及哈希函数单元 43分别相连, 用于判断当前已 经处理的哈希值个数是否少于预设值, 判断为是时, 提取一个与已使用的预设参数相异的其 它预设参数, 判断为否时, 根据哈希值个数及特征数组长度计算阀值, 并根据阀值对所述特 征数组进行归一化处理获得电子邮件的邮件指纹。
[0091] 当处理完分词列表中的所有分词后 (即所有分词均完成哈希值计算、 取模、 更新特征 数组等处理), 判断处理单元 46判断当前已经处理的哈希值个数是否少于预设值。 如果已经 处理的哈希值个数少于预设值的, 提取一个与已使用的预设参数相异的其它预设参数 (即选 定另外一个预设参数) , 并返回哈希函数单元 43, 哈希函数单元 43、 取模单元 44及更新单 元 45重新对所有分词进行哈希值计算、 取模、 更新特征数组等处理。 如果已经处理的哈希值 个数大于或等于预设值, 根据哈希值个数及特征数组长度计算阀值, 并根据阀值对所述特征 数组进行归一化处理获得电子邮件的邮件指纹。
[0092] 阀值 =已经处理的哈希值个数 /特征数组长度。
[0093] 根据阀值对所述特征数组进行归一化处理时, 需扫描特征数组, 如果特征数组的数组 成员的值大于阀值, 则将数组成员的值置 1, 否则置 0。 处理后的特征数组, 即为电子邮件对 应的邮件指纹。 通过比对不同电子邮件生成的邮件指纹, 即可将相似的电子邮件聚类起来。
[0094] 如图 6所示, 类聚模块 5包括:
相似度单元 51, 用于根据邮件指纹与垃圾邮件的特征指纹进行比对处理并获得邮件指纹与特 征指纹之间的相似度。
[0095] 相似度单元 51通过比对两个特征数组(邮件指纹)有多少个相同位置的数组成员相等, 即可判定两个分词的相似度。
[0096] 例如, 两个二进制字符串 " 11000011 "及 " 11100011 "则他们只有一个 bit不一样, 他 们的相似度是 (8-1)/8。
[0097] 类聚单元 52, 与所述相似度单元 51相连, 用于根据所述相似度对电子邮件进行聚类 处理并获得聚类结果。
[0098] 工作时, 预处理单元 21对文本进行预处理并抽取出中文文本和 /或英文文本, 而分词 单元 22分别对所述中文文本和英文文本进行分词处理, 并获得分词结果。 排序模块 3, 使用 TF-IDF技术对所述分词单元 22的分词结果进行排序处理获得分词列表。特征数组单元 41构 建特征数组, 而参数单元 42提取任一预设参数, 哈希函数单元 43则根据当前提取的预设参 数, 使用 BKDR哈希函数计算所述分词列表中各分词结果的哈希值, 取模单元 44分别对所 述哈希值进行取模处理获得模值, 更新单元 45根据所述模值更新所述特征数组, 判断处理单 元 46判断当前已经处理的哈希值个数是否少于预设值, 判断为是时, 提取一个与已使用的预 设参数相异的其它预设参数, 并返回哈希函数单元 43, 哈希函数单元 43、 取模单元 44及更 新单元 45重新对所有分词进行哈希值计算、 取模、 更新特征数组等处理, 判断为否时, 根据 哈希值个数及特征数组长度计算阀值, 并根据阀值对所述特征数组进行归一化处理获得电子 邮件的邮件指纹。然后, 相似度单元 51根据邮件指纹与垃圾邮件的特征指纹进行比对处理并 获得邮件指纹与特征指纹之间的相似度,类聚单元 52根据所述相似度对电子邮件进行聚类处 理并获得聚类结果。 最后, 过滤模块 6根据所述聚类结果过滤垃圾电子邮件。
[0099] 由上可知, 对电子邮件中的文本进行分词处理和 TF-IDF技术排序处理后, 获得分词 列表,即可将电子邮件所包含的噪音进行过滤,保留电子邮件中进行过 html干扰处理的文本; 然后, 根据电子邮件的文本长度, 采用一个或多个 BKDR哈希函数来计算电子邮件的邮件指 纹, 并通过取模、 更新特征数组等处理后, 使得两个电子邮件计算出相同的邮件指纹的可能 性大大降低, 可有效地强化分词结果的作用, 使得相似的电子邮件更加容易被比对出来; 随 后, 进行归一化处理获得电子邮件的邮件指纹, 使得内容稍有不同的电子邮件能通过比对指 纹的相似性进行聚类处理; 最后, 根据所述聚类结果过滤垃圾电子邮件, 解决了对短文本垃 圾邮件进行计算机自动化过滤的问题。
[0100] 以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说, 在不脱离本发明原理的前提下, 还可以做出若干改进和润饰, 这些改进和润饰也视为本发明 的保护范围。

Claims

权 利 要 求
1. 一种基于短文本的垃圾邮件过滤方法, 其特征在于, 所述基于短文本的垃圾邮件过滤方法包括: a、 对电子邮件中的文本进行分词处理并获得分词结果;
b、 使用 TF-IDF技术对所述分词结果进行排序处理获得分词列表;
c、 根据所述分词结果计算电子邮件的邮件指纹;
d、 根据所述邮件指纹对电子邮件进行聚类处理并获得聚类结果;
e、 根据所述聚类结果过滤垃圾电子邮件。
2. 如权利要求 1所述的基于短文本的垃圾邮件过滤方法, 其特征在于, 步骤 a包括:
al、 对文本进行预处理并抽取出中文文本和 /或英文文本;
a2、 分别对所述中文文本和英文文本进行分词处理, 并获得分词结果。
3. 如权利要求 1所述的基于短文本的垃圾邮件过滤方法, 其特征在于, 步骤 c包括:
cl、 构建特征数组;
c2、 提取任一预设参数;
c3、 根据当前提取的预设参数, 使用 BKDR哈希函数计算所述分词列表中各分词结果的哈希值; c4、 分别对所述哈希值进行取模处理获得模值;
c5、 根据所述模值更新所述特征数组;
c6、 判断当前已经处理的哈希值个数是否少于预设值,
判断为是时, 提取一个与已使用的预设参数相异的其它预设参数, 并返回执行步骤 c3,
判断为否时,根据哈希值个数及特征数组长度计算阀值,并根据阀值对所述特征数组进行归一化处 理获得电子邮件的邮件指纹。
4. 如权利要求 1所述的基于短文本的垃圾邮件过滤方法, 其特征在于, 步骤 d包括:
dl、 根据邮件指纹与垃圾邮件的特征指纹进行比对处理并获得邮件指纹与特征指纹之间的相似度; d 2、 根据所述相似度对电子邮件进行聚类处理并获得聚类结果。
5. 一种基于短文本的垃圾邮件过滤装置, 其特征在于, 所述基于短文本的垃圾邮件过滤装置包括: 分词模块, 用于对电子邮件中的文本进行分词处理并获得分词结果;
排序模块, 用于使用 TF-IDF技术对所述分词结果进行排序处理获得分词列表;
邮件指纹模块, 用于根据所述分词结果计算电子邮件的邮件指纹;
类聚模块, 用于根据所述邮件指纹对电子邮件进行聚类处理并获得聚类结果;
过滤模块, 用于根据所述聚类结果过滤垃圾电子邮件。
6. 如权利要求 5所述的基于短文本的垃圾邮件过滤装置, 其特征在于, 所述分词模块包括: 预处理单元, 用于对文本进行预处理并抽取出中文文本和 /或英文文本;
分词单元, 用于分别对所述中文文本和英文文本进行分词处理, 并获得分词结果。
7. 如权利要求 5所述的基于短文本的垃圾邮件过滤装置, 其特征在于, 所述邮件指纹模块包括: 特征数组单元, 用于构建特征数组;
参数单元, 用于提取任一预设参数;
哈希函数单元, 用于根据当前提取的预设参数, 使用 BKDR哈希函数计算所述分词列表中各分词 结果的哈希值;
取模单元, 用于分别对所述哈希值进行取模处理获得模值;
更新单元, 用于根据所述模值更新所述特征数组;
判断处理单元, 用于判断当前已经处理的哈希值个数是否少于预设值, 判断为是时, 提取一个与已 使用的预设参数相异的其它预设参数, 判断为否时, 根据哈希值个数及特征数组长度计算阀值, 并 根据阀值对所述特征数组进行归一化处理获得电子邮件的邮件指纹。
8. 如权利要求 5所述的基于短文本的垃圾邮件过滤装置, 其特征在于, 所述类聚模块包括: 相似度单元,用于根据邮件指纹与垃圾邮件的特征指纹进行比对处理并获得邮件指纹与特征指纹之 间的相似度;
类聚单元, 用于根据所述相似度对电子邮件进行聚类处理并获得聚类结果。
PCT/CN2013/086166 2013-09-03 2013-10-29 一种基于短文本的垃圾邮件过滤方法及装置 WO2015032120A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201310393771.7A CN103441924B (zh) 2013-09-03 2013-09-03 一种基于短文本的垃圾邮件过滤方法及装置
CN201310393771.7 2013-09-03

Publications (1)

Publication Number Publication Date
WO2015032120A1 true WO2015032120A1 (zh) 2015-03-12

Family

ID=49695590

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2013/086166 WO2015032120A1 (zh) 2013-09-03 2013-10-29 一种基于短文本的垃圾邮件过滤方法及装置

Country Status (2)

Country Link
CN (1) CN103441924B (zh)
WO (1) WO2015032120A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109522559A (zh) * 2018-11-26 2019-03-26 安徽继远软件有限公司 一种电网营配系统中文分词的方法及系统
CN110457694A (zh) * 2019-07-29 2019-11-15 腾讯科技(深圳)有限公司 消息提醒方法及装置、场景类型识别提醒方法及装置

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103744905B (zh) * 2013-12-25 2018-03-30 新浪网技术(中国)有限公司 垃圾邮件判定方法和装置
CN105989033A (zh) * 2015-02-03 2016-10-05 北京中搜网络技术股份有限公司 一种基于资讯指纹的资讯去重方法
CN106294350B (zh) * 2015-05-13 2019-10-11 阿里巴巴集团控股有限公司 一种文本聚合方法及装置
CN104834747B (zh) * 2015-05-25 2018-04-27 中国科学院自动化研究所 基于卷积神经网络的短文本分类方法
US9882858B2 (en) 2015-06-02 2018-01-30 International Business Machines Corporation Validating E-mails using message posting services
CN106874253A (zh) * 2015-12-11 2017-06-20 腾讯科技(深圳)有限公司 识别敏感信息的方法及装置
CN105955978B (zh) * 2016-04-15 2019-07-02 宝利九章(北京)数据技术有限公司 用于数据泄露防护的方法和系统
CN106330670A (zh) * 2016-08-18 2017-01-11 无锡云商通科技有限公司 基于邮件指纹对相同邮件进行判定的方法
CN107229605B (zh) * 2017-04-07 2020-05-29 阿里巴巴集团控股有限公司 文本相似度的计算方法及装置
CN107168951B (zh) * 2017-05-10 2019-07-05 山东大学 一种基于规则与词典的监狱犯人短信自动审核方法
CN109408795B (zh) * 2017-08-17 2022-04-15 中国移动通信集团公司 一种文本识别方法、设备、计算机可读存储介质及装置
CN108304442B (zh) * 2017-11-20 2021-08-31 腾讯科技(深圳)有限公司 一种文本信息处理方法、装置及存储介质
CN108334567B (zh) * 2018-01-16 2021-09-10 北京奇艺世纪科技有限公司 垃圾文本判别方法、装置及服务器
CN108829660B (zh) * 2018-05-09 2021-08-31 电子科技大学 一种基于随机数分治递归的短文本签名生成方法
CN112134920B (zh) * 2020-08-12 2022-08-30 新华三技术有限公司 一种文件识别方法及装置
CN113011194B (zh) * 2021-04-15 2022-05-03 电子科技大学 融合关键词特征和多粒度语义特征的文本相似度计算方法
CN116775849B (zh) * 2023-08-23 2023-10-24 成都运荔枝科技有限公司 一种线上问题处理系统及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6732157B1 (en) * 2002-12-13 2004-05-04 Networks Associates Technology, Inc. Comprehensive anti-spam system, method, and computer program product for filtering unwanted e-mail messages
CN101106539A (zh) * 2007-08-03 2008-01-16 浙江大学 基于支持向量机的垃圾邮件过滤方法
CN101227435A (zh) * 2008-01-28 2008-07-23 浙江大学 基于Logistic回归的中文垃圾邮件过滤方法
US7788576B1 (en) * 2006-10-04 2010-08-31 Trend Micro Incorporated Grouping of documents that contain markup language code
US20100246960A1 (en) * 2008-12-31 2010-09-30 Bong Gyoune Kim Image Based Spam Blocking

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101295381B (zh) * 2008-06-25 2011-09-28 北京大学 一种垃圾邮件检测方法
CN101415159B (zh) * 2008-12-02 2010-06-02 腾讯科技(深圳)有限公司 对垃圾邮件进行拦截的方法和装置
CN102377690B (zh) * 2011-10-10 2014-09-17 网易(杭州)网络有限公司 反垃圾邮件网关系统及方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6732157B1 (en) * 2002-12-13 2004-05-04 Networks Associates Technology, Inc. Comprehensive anti-spam system, method, and computer program product for filtering unwanted e-mail messages
US7788576B1 (en) * 2006-10-04 2010-08-31 Trend Micro Incorporated Grouping of documents that contain markup language code
CN101106539A (zh) * 2007-08-03 2008-01-16 浙江大学 基于支持向量机的垃圾邮件过滤方法
CN101227435A (zh) * 2008-01-28 2008-07-23 浙江大学 基于Logistic回归的中文垃圾邮件过滤方法
US20100246960A1 (en) * 2008-12-31 2010-09-30 Bong Gyoune Kim Image Based Spam Blocking

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LIU, WEIHONG ET AL.: "The Application of Fingerprint Vector in Detecting Spam", JOURNAL OF SHAANXI UNIVERSITY OF SCIENCE AND TECHNOLOGY ( NATURAL SCIENCE EDITION, vol. 27, no. 5, 21 December 2009 (2009-12-21), pages 85 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109522559A (zh) * 2018-11-26 2019-03-26 安徽继远软件有限公司 一种电网营配系统中文分词的方法及系统
CN109522559B (zh) * 2018-11-26 2023-03-31 安徽继远软件有限公司 一种电网营配系统中文分词的方法及系统
CN110457694A (zh) * 2019-07-29 2019-11-15 腾讯科技(深圳)有限公司 消息提醒方法及装置、场景类型识别提醒方法及装置
CN110457694B (zh) * 2019-07-29 2023-09-22 腾讯科技(上海)有限公司 消息提醒方法及装置、场景类型识别提醒方法及装置

Also Published As

Publication number Publication date
CN103441924B (zh) 2016-06-08
CN103441924A (zh) 2013-12-11

Similar Documents

Publication Publication Date Title
WO2015032120A1 (zh) 一种基于短文本的垃圾邮件过滤方法及装置
Kumar et al. Email spam detection using machine learning algorithms
CN108737423B (zh) 基于网页关键内容相似性分析的钓鱼网站发现方法及系统
CN103336766B (zh) 短文本垃圾识别以及建模方法和装置
US8489689B1 (en) Apparatus and method for obfuscation detection within a spam filtering model
US8112484B1 (en) Apparatus and method for auxiliary classification for generating features for a spam filtering model
WO2013097327A1 (zh) 一种垃圾邮件过滤方法
CN103136266A (zh) 邮件分类的方法及装置
GB2518666A (en) Volume reducing classifier
CN104866558B (zh) 一种社交网络账号映射模型训练方法及映射方法和系统
CN103257957A (zh) 一种基于中文分词的文本相似性识别方法及装置
CN100587714C (zh) 一种过滤垃圾邮件的方法
CN107729520B (zh) 文件分类方法、装置、计算机设备及计算机可读介质
EP4258610A1 (en) Malicious traffic identification method and related apparatus
Temma et al. The document similarity index based on the Jaccard distance for mail filtering
Hina et al. Email classification and forensics analysis using machine learning
Reddy et al. Classification of Spam Messages using Random Forest Algorithm
US10163005B2 (en) Document structure analysis device with image processing
CN114065749A (zh) 一种面向文本的粤语识别模型及系统的训练、识别方法
WO2017088126A1 (zh) 获取未登录词的方法与装置
Vejendla et al. Score based Support Vector Machine for Spam Mail Detection
Vinothkumar et al. Detection of spam messages in e-messaging platform using machine learning
CN113645222A (zh) 报文流量检测方法、系统、装置及计算机可读存储介质
CN113746814A (zh) 邮件处理方法、装置、电子设备及存储介质
JP6784975B2 (ja) 評価装置、評価方法、評価プログラムおよび評価システム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13893102

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13893102

Country of ref document: EP

Kind code of ref document: A1