CN103744905B - 垃圾邮件判定方法和装置 - Google Patents
垃圾邮件判定方法和装置 Download PDFInfo
- Publication number
- CN103744905B CN103744905B CN201310728059.8A CN201310728059A CN103744905B CN 103744905 B CN103744905 B CN 103744905B CN 201310728059 A CN201310728059 A CN 201310728059A CN 103744905 B CN103744905 B CN 103744905B
- Authority
- CN
- China
- Prior art keywords
- word
- training set
- spam
- words
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
- G06F16/353—Clustering; Classification into predefined classes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种垃圾邮件判定方法和装置,方法包括:对待判定邮件的邮件内容进行分词得到邮件的词语集合;对词语集合中的每个词语,根据统计出的其在邮件内容中的词频,及在预先构建的词语DF模型中查找到的其DF权重值,计算出其邮件权重值;将邮件权重值最大的M个词语作为关键词;对于每个关键词,根据在预先构建的词向量模型中查找到的其词特征向量,及其邮件权重值,计算出邮件的语义特征向量;计算邮件的语义特征向量与垃圾邮件库中各垃圾邮件的语义特征向量之间的相似度;若计算出的相似度大于设定阈值则判定邮件为垃圾邮件。本发明的技术方案中,以词语的DF权重值突出垃圾邮件之间内容基本相同的特点,可更准确地判定垃圾邮件。
Description
技术领域
本发明涉及电子邮件技术,尤其涉及一种垃圾邮件判定方法和装置。
背景技术
随着社会信息化程度的提高,使用邮件的用户越来越多,用户经常会收到垃圾邮件,浪费了用户的时间、干扰了用户与他人的交流。因此需要对垃圾邮件进行判定、清除。
目前,一种基于邮件内容的垃圾邮件的判定方法,在进行垃圾邮件的判定过程中通常包括训练阶段和判定阶段。
在训练阶段,对多样本邮件构成的训练集中,已分类为垃圾邮件或非垃圾邮件的样本邮件的内容进行分词,得到每个样本邮件的词语集合;对于每个样本邮件,针对其词语集合中的每个词语,计算出该词语的在该样本邮件中的TF(Term Frequency,词频)值,以及该词语在训练集中的IDF(Inverse Document Frequency,逆向文件频率)权重值;根据该词语的TF值和IDF权重值计算出该词语的特征值,将该样本邮件的词语集合中各词语的特征值组成该样本邮件的词语特征向量;根据每个样本邮件的词语特征向量,利用多种机器学习算法,例如贝叶斯(Bayes)算法、支持向量机(Suppot Vector Machine,SVM)算法等,训练出向量模型。
在判定阶段,对于待判定邮件,进行分词得到该待判定邮件的词语集合;计算出该待判定邮件的词语集合中每个词语的TF值和IDF权重值后,计算出该待判定邮件的词语特征向量;根据待判定邮件的词语特征向量与训练阶段建立的向量模型来判断待判定邮件是否为垃圾邮件。
本发明的发明人发现,现有的垃圾邮件的判定方法中,需要对样本邮件人工标注为垃圾邮件或者非垃圾邮件;若一个样本邮件被误标注为非垃圾邮件,则对于与该样本邮件的内容相似的待判定邮件,其很有可能被误判定为非垃圾邮件,从而导致判定垃圾邮件的准确性较低。
本发明的发明人还发现,很多变体的垃圾邮件之间内容基本相同,相同的内容体现出垃圾邮件的共同特征。变体的垃圾邮件之间只有少部分特定的内容不同,体现出垃圾邮件的差异特征;例如,作为称呼的人名不同,作为联络方式的电话号码、通讯地址、QQ号码等不同。在训练集中,同一个人名或者通讯方式出现在多个样本邮件中的概率很低,导致人名、通讯方式这些词语的IDF权重值较高;而对于垃圾邮件之间相同的内容中词语,其在很多样本邮件中均有出现,导致其IDF权重值比较低。因此,现有的判定垃圾邮件的方法中,利用词语的IDF权重值计算邮件的词语特征向量,可能会导致很多具有共同特征的变体的垃圾邮件被漏判,从而导致判定垃圾邮件的准确性较低。
综上所述,现有的垃圾邮件的判定方法具有判定准确性较低的问题;因此,有必要提供一种准确性更高的垃圾邮件判定方法。
发明内容
本发明实施例提供了一种垃圾邮件判定方法和装置,用以更准确地进行垃圾邮件的判定。
根据本发明的一个方面,提供了一种垃圾邮件判定方法,包括:
对待判定邮件的邮件内容进行分词,得到所述邮件的词语集合后,统计所述词语集合中的每个词语在所述邮件内容中的词频,并在预先构建的词语DF模型中查找到每个词语的DF权重值;
对于所述词语集合中的每个词语,根据该词语在所述邮件内容中的词频,以及该词语的DF权重值,计算出该词语的邮件权重值;选取邮件权重值最大的M个词语作为关键词;
在预先构建的词向量模型中查找到每个关键词的词特征向量后,根据每个关键词的邮件权重值和词特征向量,计算出所述邮件的语义特征向量;
计算所述邮件的语义特征向量与垃圾邮件库中各垃圾邮件的语义特征向量之间的相似度;若计算出的相似度大于设定阈值,则判定所述邮件为垃圾邮件。
较佳地,所述词语DF模型是根据训练集中的样本邮件训练得到的,具体包括:
对于所述训练集中的每个样本邮件的邮件内容进行分词,得到每个样本邮件的词语集合;
将所述训练集中各样本邮件的词语集合合并后,得到所述训练集的词语集合;
针对所述训练集的词语集合中的每个词语,在统计出所述训练集中包含该词语的样本邮件的数目后,将统计出的数目作为该词语的样本邮件数量nw,根据如下公式1确定该词语在所述训练集中出现的频率dfw:
(公式1)
其中,nmax为所述训练集的词语集合中各词语的样本邮件数量中的最大值;
对于所述训练集的词语集合中的每个词语,将该词语在所述训练集中出现的频率,作为该词语的DF权重值;
将所述训练集的词语集合中,DF权重值大于上限值、以及DF权重值小于下限值的词语剔除后,得到所述词语DF模型。
较佳地,所述词向量模型是根据训练集中的样本邮件训练得到的,具体包括:
将所述训练集中各样本邮件的邮件内容依次写入文本文件;其中,所述文本文件中一行对应一个样本邮件的邮件内容;
使用语句到向量word2vec工具读取所述文本文件后,所述word2vec工具输出所述训练集中各样本邮件的邮件内容所包含的所有词语的词特征向量,得到所述词向量模型。
较佳地,所述根据该词语在所述邮件内容中的词频,以及该词语的DF权重值,计算出该词语的邮件权重值,具体包括:
根据如下公式2计算出该词语的邮件权重值tfdf:
tfdf=tf×df (公式2)
其中,tf表示该词语在所述邮件内容中的词频,df表示该词语的DF权重值。
较佳地,所述根据每个关键词的邮件权重值和词特征向量,计算出所述邮件的语义特征向量,具体为:
根据如下公式3计算出所述邮件的语义特征向量S:
(公式3)
其中,M表示所述邮件的关键词的数目;tfdfi表示所述邮件的第i个关键词的邮件权重值;Wi表示所述邮件的第i个关键词的词特征向量,i为1~M的自然数。
根据本发明的另一个方面,还提供了一种垃圾邮件判定装置,包括:
分词模块,用于对待判定邮件的邮件内容进行分词,得到所述邮件的词语集合;
关键词选取模块,用于统计所述词语集合中的每个词语在所述邮件内容中的词频,并在预先构建的词语DF模型中查找到每个词语的DF权重值;
对于所述词语集合中的每个词语,根据该词语在所述邮件内容中的词频,以及该词语的DF权重值,计算出该词语的邮件权重值;选取邮件权重值最大的M个词语作为关键词;
语义特征向量计算模块,用于在预先构建的词向量模型中查找到每个关键词的词特征向量后,根据每个关键词的邮件权重值和词特征向量,计算出所述邮件的语义特征向量;
判定模块,用于计算所述邮件的语义特征向量与垃圾邮件库中各垃圾邮件的语义特征向量之间的相似度;若计算出的相似度大于设定阈值,则判定所述邮件为垃圾邮件。
较佳地,垃圾邮件判定装置还包括:
词语DF模型训练模块,用于对训练集中的样本邮件进行训练得到所述词语DF模型。
较佳地,垃圾邮件判定装置还包括:
词向量模型训练模块,用于对训练集中的样本邮件进行训练得到所述词向量模型。
较佳地,所述词语DF模型训练模块还用于在对于所述训练集中的每个样本邮件的邮件内容进行分词之前,对所述训练集中的每个样本邮件的邮件内容进行预处理;以及
所述词向量模型训练模块具体用于将所述训练集中、经预处理后的各样本邮件的邮件内容依次写入所述文本文件,使用语句到向量word2vec工具读取所述文本文件。
较佳地,垃圾邮件判定装置还包括:
预处理模块,用于从待判定邮件中提取出邮件内容;对提取出的邮件内容依次进行编码转换、去除网络标签后,得到纯文本形式的邮件内容;将得到的纯文本形式的邮件内容中的繁体字转换为简体字后,将转换为简体字的邮件内容输出到所述分词模块。
本发明的技术方案中,利用邮件内容中词语的DF权重值来体现邮件之间相同的内容,有利于突出垃圾邮件之间内容基本相同的特点,从而可以提高基于词语的DF权重值进行垃圾邮件的判定的准确性。
而且,在进行垃圾邮件的判定之前,无需预先对训练集中的样本邮件进行人工审核和标注,避免了将样本邮件误标注为垃圾邮件或者非垃圾邮件而导致进行垃圾邮件判定时出现偏差,从而提高了判定垃圾邮件的准确性。
附图说明
图1为本发明实施例的训练词语DF模型的流程示意图;
图2为本发明实施例的训练词向量模型的流程示意图;
图3为本发明实施例的基于词语DF模型、词向量模型进行垃圾邮件的判定的流程示意图;
图4为本发明实施例的垃圾邮件判定装置的内部结构框架示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举出优选实施例,对本发明进一步详细说明。然而,需要说明的是,说明书中列出的许多细节仅仅是为了使读者对本发明的一个或多个方面有一个透彻的理解,即便没有这些特定的细节也可以实现本发明的这些方面。
本申请使用的“模块”、“系统”等术语旨在包括与计算机相关的实体,例如但不限于硬件、固件、软硬件组合、软件或者执行中的软件。例如,模块可以是,但并不仅限于:处理器上运行的进程、处理器、对象、可执行程序、执行的线程、程序和/或计算机。举例来说,计算设备上运行的应用程序和此计算设备都可以是模块。一个或多个模块可以位于执行中的一个进程和/或线程内。
本发明的发明人考虑到,现有的垃圾邮件判定方法中,需要将训练集中的样本邮件标注为垃圾邮件或者非垃圾邮件;若对于训练集中的样本邮件,不将其标注为垃圾邮件或者非垃圾邮件,则可以避免将样本邮件误标注为垃圾邮件或者非垃圾邮件而导致判定垃圾邮件时出现偏差,从而可以提高判定垃圾邮件的准确性。
本发明的发明人还考虑到,对于多个垃圾邮件之间相同的内容,可以提取该内容中词语的DF(Document Frequency,文件频率)权重值,词语的DF权重值越大反应出样本集中包含该词语的样本邮件的数目越多,越可以体现出垃圾邮件之间的共同特征。因此,利用词语的DF权重值进行垃圾邮件的判定,可以避免人名、通信地址等差异特征的干扰,从而可以提高判定垃圾邮件的准确性。
根据上述考虑,下面结合附图详细说明本发明的技术方案。
本发明实施例提供的垃圾邮件的判定方法,在进行垃圾邮件的判定过程中包括训练阶段和判定阶段。在训练阶段根据训练集中的样本邮件训练出词语DF模型以及词向量模型;在判定阶段则可以基于训练阶段中确定出的词语DF模型、词向量模型进行垃圾邮件的判定。
具体地,在训练阶段根据训练集中的样本邮件训练出词语DF模型的流程,如图1所示,包括如下步骤:
S101:对于训练集中的每个样本邮件的邮件内容进行分词,得到每个样本邮件的词语集合。
具体地,对于训练集中的每个样本邮件的邮件内容进行分词:将该邮件的邮件内容中连续的字序列划分为一个个词语;在划分出的词语中,去除掉没有实际意义的虚词(如标点、组动词、语气词、叹词、拟声词等);剩余的词语构成该邮件的词语集合。本步骤中,对于训练集中的每个样本邮件,无需将该样本邮件标注为垃圾邮件或者非垃圾邮件。
较佳地,还可以在对样本邮件的邮件内容进行分词之前,可以对样本邮件的邮件内容进行预处理:解析携带有符合多媒体协议内容的样本邮件,例如,解析携带有符合MIME(Multipurpose Internet Mail Extensions,多功能网际邮件扩充)协议内容的样本邮件;从解析的结果中提取出样本邮件的邮件内容(例如标题和正文);将提取得到的邮件内容进行编码转换,例如从Unicode编码转换到UTF8编码。去除编码转换后的邮件内容的网络标签,例如,去除HTML(HyperText Mark-up Language,超文本标记语言)、CSS(CascadingStyle Sheet,级联样式表)、JS(JavaScript)标签,得到纯文本形式的邮件内容。将纯文本的邮件内容中的繁体字转换为简体字。
进一步,在对样本邮件的邮件内容进行预处理之后,还可以对样本邮件的邮件内容去重:去除标题相同的邮件内容。可以提高训练样本邮件的效率。
S102:将训练集中各样本邮件的词语集合合并后,得到训练集的词语集合。
S103:针对训练集的词语集合中的每个词语,计算出该词语的DF权重值。
具体地,针对训练集的词语集合中的每个词语,在统计出训练集中包含该词语的样本邮件的数目后,将统计出的数目作为该词语的样本邮件数量nw;之后,确定出该词语在训练集中出现的频率。
例如,确定出训练集词语集合中每个词语在训练集中出现的频率的具体方法可以为:将该词语的样本邮件数量nw,作为该词语在训练集中出现的频率;或者,将nw归一化后,作为该词语在训练集中出现的频率。
再如,确定出训练集词语集合中每个词语在训练集中出现的频率的具体方法可以为:得到该词语的样本邮件数量nw后,根据如下公式1确定该词语在训练集中出现的频率dfw:
(公式1)
公式1中,nmax表示训练集的词语集合中各词语的样本邮件数量中的最大值。
之后,针对训练集的词语集合中的每个词语,将确定出的该词语在训练集中出现的频率dfw,作为该词语的DF权重值。
本步骤中,词语的DF权重值可以体现出该词语在样本邮件之间的共同特征,可以突出垃圾邮件的邮件内容基本相同的特点,利用词语的DF权重值有利于更准确地判定垃圾邮件。
S104:将训练集的词语集合中,DF权重值大于上限值、以及DF权重值小于下限值的词语剔除后,得到词语DF模型。
具体地,对于训练集的词语集合中的每个词语,将该词语的DF权重值分别与DF权重值的上限值和下限值相比较:若该词语的DF权重值大于DF权重值的上限值、或该词语的DF权重值小于DF权重值的下限值,则将该词语及其DF权重值剔除;否则,对应记录该词语及其DF权重值。之后,将全部对应记录的词语和DF权重值作为词语DF模型。也就是说,词语DF模型中包括多个词语的DF权重值。其中,词语的DF权重值的上限值、下限值均可以由本领域技术人员根据实际情况进行设定。
本步骤中,剔除过大和过小的词语的DF权重值后,使得保留的DF权重值及其对应的词语既可以体现出样本邮件的独特的邮件内容,又可以体现出样本邮件之间的共同特征。利用保留的DF权重值有利于更准确地判定垃圾邮件。
本发明实施例中构建词语DF模型的方法,不需要将样本邮件标注为垃圾邮件或者非垃圾邮件,避免了错误的标注对构建的词语DF模型的准确性的影响而导致进行垃圾邮件判定时出现偏差,从而可以提高基于词语DF模型判定垃圾邮件的准确性。
训练阶段中根据训练集中的样本邮件训练出词向量模型的具体流程,如图2所示,包括如下步骤:
S201:将训练集中各样本邮件的邮件内容依次写入文本文件。
具体地,创建文本文件后,将训练集中各样本邮件的邮件内容依次写入文本文件。其中,文本文件中一行对应写入一个样本邮件的邮件内容。
较佳地,可以将步骤S101中依次经过预处理、去重和分词的样本邮件的邮件内容写入文本文件。
S202:使用语句到向量word2vec工具读取所述文本文件后,得到所述词向量模型。
具体地,使用Google公司提供的语句到向量word2vec工具读取写入训练集中各样本邮件的邮件内容后的文本文件后,设置word2vec工具的参数,例如,向量维度、共现窗口长度等,具体使用方法为本领域技术人员所熟知,此处不再赘述。word2vec工具输出训练集中各样本邮件的邮件内容所包含的所有词语的词特征向量,构成词向量模型。也就是说,word2vec工具输出文本文件中各词语的词特征向量后,得到包括多个词语的词特征向量的词向量模型。
例如,使用语句到向量word2vec工具读取了包含有词语“苹果”的文本文件,word2vec工具可以输出“苹果”的词特征向量:[0.635,0.012,...,0.291]100。
基于上述词语DF模型和词向量模型,进行垃圾邮件的判定的流程,如图3所述,可以包括如下步骤:
S301:对待判定邮件的邮件内容进行分词,得到待判定邮件的词语集合。
具体地,对待判定邮件的邮件内容进行分词的方法与步骤S101中对样本邮件的邮件内容进行分词的方法相同,此处不再赘述。
较佳地,在对待判定邮件的邮件内容进行分词之前,可以对待判定邮件的邮件内容进行预处理,具体方法与步骤S101中对样本邮件的邮件内容进行预处理的方法相同,此处不再赘述。
S302:统计待判定邮件的词语集合中的每个词语在待判定邮件的邮件内容中的词频,并在预先构建的词语DF模型中查找到每个词语的DF权重值。
具体地,对于待判定邮件的词语集合中的每个词语,统计其在待判定邮件的邮件内容中的词频tf;例如,词语“发票”在待判定邮件中出现3次,词语“发票”在待判定邮件的邮件内容中的词频tf为3。
对于待判定邮件的词语集合中的每个词语,在上述步骤104中得到的词语DF模型中查找出该词语的DF权重值df。例如,在预先构建的词语DF模型中查找出词语“发票”的DF权重值df为0.45。
S303:对于待判定邮件的词语集合中的每个词语,根据统计出的该词语的词频,以及查找出的该词语的DF权重值,计算出该词语的邮件权重值。
具体地,对于待判定邮件的词语集合中的每个词语,将统计出的该词语在待判定邮件的邮件内容中的词频tf,以及上述步骤104中得到的词语DF模型中查找出的该词语的DF权重值df,代入以下公式2计算出该词语的邮件权重值tfdf:
tfdf=tf×df (公式2)
例如,对于词语“发票”,其在待判定邮件的邮件内容中的词频tf为3,且其DF权重值df为0.45,则其邮件权重值tfdf为1.35。
S304:对于待判定邮件的词语集合中的每个词语的邮件权重值,选取邮件权重值最大的M个词语作为待判定邮件的关键词。
具体地,对于待判定邮件的词语集合中的每个词语的邮件权重值从大到小进行排序后,选择出最大的M个邮件权重值;并将最大的M个邮件权重值所对应的词语作为待判定邮件的关键词。M的具体数值可以由本领域技术人员根据实际情况进行设定。
S305:在预先构建的词向量模型中查找到每个关键词的词特征向量后,根据每个关键词的邮件权重值和词特征向量,计算出待判定邮件的语义特征向量。
具体地,对于待判定邮件的每个关键词,在上述的词向量模型中查找到该关键词的词特征向量后,将该关键词的邮件权重值作用于该关键词的词特征向量,从而计算出该关键词的邮件权重语义特征向量;累加待判定邮件的各关键词的邮件权重语义特征向量后,得到待判定邮件的语义特征向量。
例如,具体可以根据如下公式3计算出待判定邮件的语义特征向量S:
(公式3)
公式3中,tfdfi表示待判定邮件的第i个关键词的邮件权重值;Wi表示待判定邮件的第i个关键词的词特征向量;i为1至M的自然数。
S306:计算待判定邮件的语义特征向量与垃圾邮件库中各垃圾邮件的语义特征向量之间的相似度。
具体地,可以采用多种方法计算两个向量之间的相似度。例如,计算出两个向量之间夹角的余弦值,将计算结果作为两个向量之间的相似度。计算两个向量之间夹角的余弦值的具体方法为本领域技术人员的惯用技术手段,此处不再赘述。
本步骤中使用到的垃圾邮件库中各垃圾邮件是预先获取的;具体地,对用户举报的邮件进行人工审核,将审核为垃圾的邮件人工标注为垃圾邮件;或者通过其他审核方法获得垃圾邮件。垃圾邮件库中各垃圾邮件的语义特征向量的获得方法与上述步骤S301至步骤305确定出待判定邮件的语义特征向量的方法相同,此处不再赘述。由于只使用到垃圾邮件库,因此不需要预先对非垃圾邮件进行人工标注,可以避免将垃圾邮件误标注为非垃圾邮件而导致进行垃圾邮件判定时出现偏差,从而可以更准确地进行垃圾邮件的判定。
S307:将计算出的相似度与设定阈值相比较,若计算出的相似度大于设定阈值,则判定待判定邮件为垃圾邮件;否则,判定待判定邮件为非垃圾邮件。
具体地,对于待判定邮件,针对计算出的其语义特征向量与垃圾邮件库中各垃圾邮件的语义特征向量之间的每个相似度,将该相似度与设定阈值进行比较:若该相似度大于设定阈值,则判定待判定邮件为垃圾邮件;否则,判定待判定邮件为非垃圾邮件。设定阈值可以由本领域技术人员根据实际情况进行设定。
事实上,若判定出待判定邮件为垃圾邮件,还可以将其记录到上述步骤S306使用到的垃圾邮件库中。
对应于上述垃圾邮件的判定方法,本发明实施例提供的一种垃圾邮件判定装置,其内部结构框架示意图如图4所示,包括:分词模块401、关键词选取模块402、语义特征向量计算模块403和判定模块404。
其中,分词模块401用于对待判定邮件的邮件内容进行分词,得到所述邮件的词语集合。
关键词选取模块402用于统计分词模块401确定出的词语集合中的每个词语在所述邮件内容中的词频,并在预先构建的词语DF模型中查找到每个词语的DF权重值;对于所述词语集合中的每个词语,根据该词语在所述邮件内容中的词频,以及该词语的DF权重值,计算出该词语的邮件权重值;选取邮件权重值最大的M个词语作为关键词。
语义特征向量计算模块403用于在预先构建的词向量模型中查找到每个关键词的词特征向量后,对于关键词选取模块402确定出的每个关键词,根据该关键词的邮件权重值和词特征向量,计算出所述邮件的语义特征向量。
判定模块404用于计算语义特征向量计算模块403确定出的邮件的语义特征向量与垃圾邮件库中各垃圾邮件的语义特征向量之间的相似度;若计算出的相似度大于设定阈值,则判定所述邮件为垃圾邮件。
进一步,本发明实施例提供的垃圾邮件判定装置,还包括:词语DF模型训练模块405、词向量模型训练模块406和预处理模块407。
其中,词语DF模型训练模块405用于对训练集中的样本邮件进行训练得到所述词语DF模型。
具体地,词语DF模型训练模块405对于所述训练集中的每个样本邮件的邮件内容进行分词,得到每个样本邮件的词语集合;将所述训练集中各样本邮件的词语集合合并后,得到所述训练集的词语集合;针对所述训练集的词语集合中的每个词语,根据上述公式1确定该词语在所述训练集中出现的频率dfw。词语DF模型训练模块405对于所述训练集的词语集合中的每个词语,将该词语在所述训练集中出现的频率,作为该词语的DF权重值;将所述训练集的词语集合中,DF权重值大于上限值、或小于下限值的词语剔除后,得到所述词语DF模型。
更优地,词语DF模型训练模块405还用于在对于所述训练集中的每个样本邮件的邮件内容进行分词之前,对所述训练集中的每个样本邮件的邮件内容进行预处理。
词向量模型训练模块406用于对训练集中的样本邮件进行训练得到所述词向量模型:将所述训练集中各样本邮件的邮件内容依次写入文本文件;其中,所述文本文件中一行对应一个样本邮件的邮件内容;使用语句到向量word2vec工具读取所述文本文件后,所述word2vec工具输出所述训练集中各样本邮件的邮件内容所包含的所有词语的词特征向量,得到所述词向量模型。
具体地,词向量模型训练模块406用于将所述训练集中、经预处理后的各样本邮件的邮件内容依次写入所述文本文件,使用语句到向量word2vec工具读取所述文本文件。
预处理模块407用于从待判定邮件中提取出邮件内容;对提取出的邮件内容依次进行编码转换、去除网络标签后,得到纯文本形式的邮件内容;将得到的纯文本形式的邮件内容中的繁体字转换为简体字后,将转换为简体字的邮件内容输出到分词模块401。
上述分词模块401、关键词选取模块402、语义特征向量计算模块403、判定模块404、词语DF模型训练模块405、词向量模型训练模块406和预处理模块407的功能的具体实现方法,可以参考上述如图1~图3所示的方法流程步骤的具体内容,此处不再赘述。
本发明的技术方案中,利用邮件内容中词语的DF权重值来体现邮件之间相同的内容,有利于突出垃圾邮件之间内容基本相同的特点,从而可以提高垃圾邮件的判定准确性。
而且,在进行垃圾邮件的判定之前,无需预先对训练集中的样本邮件进行人工审核和标注,避免了将样本邮件误标注为垃圾邮件或者非垃圾邮件而导致进行垃圾邮件判定时出现偏差,从而提高了判定垃圾邮件的准确性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读取存储介质中,如:ROM/RAM、磁碟、光盘等。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (9)
1.一种垃圾邮件判定方法,其特征在于,包括:
对待判定邮件的邮件内容进行分词,得到所述邮件的词语集合后,统计所述词语集合中的每个词语在所述邮件内容中的词频,并在预先构建的词语文件频率DF模型中查找到每个词语的DF权重值;
对于所述词语集合中的每个词语,根据该词语在所述邮件内容中的词频,以及该词语的DF权重值,计算出该词语的邮件权重值;选取邮件权重值最大的M个词语作为关键词;
在预先构建的词向量模型中查找到每个关键词的词特征向量后,根据每个关键词的邮件权重值和词特征向量,计算出所述邮件的语义特征向量;
计算所述邮件的语义特征向量与垃圾邮件库中各垃圾邮件的语义特征向量之间的相似度;若计算出的相似度大于设定阈值,则判定所述邮件为垃圾邮件;
所述根据该词语在所述邮件内容中的词频,以及该词语的DF权重值,计算出该词语的邮件权重值,具体包括:根据如下公式2计算出该词语的邮件权重值tfdf:
tfdf=tf×df (公式2)
其中,tf表示该词语在所述邮件内容中的词频,df表示该词语的DF权重值。
2.如权利要求1所述的方法,其特征在于,所述词语DF模型是根据训练集中的样本邮件训练得到的,具体包括:
对于所述训练集中的每个样本邮件的邮件内容进行分词,得到每个样本邮件的词语集合;
将所述训练集中各样本邮件的词语集合合并后,得到所述训练集的词语集合;
针对所述训练集的词语集合中的每个词语,在统计出所述训练集中包含该词语的样本邮件的数目后,将统计出的数目作为该词语的样本邮件数量nw,根据如下公式1确定该词语在所述训练集中出现的频率dfw:
其中,nmax为所述训练集的词语集合中各词语的样本邮件数量中的最大值;
对于所述训练集的词语集合中的每个词语,将该词语在所述训练集中出现的频率,作为该词语的DF权重值;
将所述训练集的词语集合中,DF权重值大于上限值、以及DF权重值小于下限值的词语剔除后,得到所述词语DF模型。
3.如权利要求1所述的方法,其特征在于,所述词向量模型是根据训练集中的样本邮件训练得到的,具体包括:
将所述训练集中各样本邮件的邮件内容依次写入文本文件;其中,所述文本文件中一行对应一个样本邮件的邮件内容;
使用语句到向量word2vec工具读取所述文本文件后,所述word2vec工具输出所述训练集中各样本邮件的邮件内容所包含的所有词语的词特征向量,得到所述词向量模型。
4.如权利要求3所述的方法,其特征在于,所述根据每个关键词的邮件权重值和词特征向量,计算出所述邮件的语义特征向量,具体为:
根据如下公式3计算出所述邮件的语义特征向量S:
其中,M表示所述邮件的关键词的数目;tfdfi表示所述邮件的第i个关键词的邮件权重值;Wi表示所述邮件的第i个关键词的词特征向量,i为1~M的自然数。
5.一种垃圾邮件判定装置,其特征在于,包括:
分词模块,用于对待判定邮件的邮件内容进行分词,得到所述邮件的词语集合;
关键词选取模块,用于统计所述词语集合中的每个词语在所述邮件内容中的词频,并在预先构建的词语DF模型中查找到每个词语的DF权重值;
对于所述词语集合中的每个词语,根据该词语在所述邮件内容中的词频,以及该词语的DF权重值,计算出该词语的邮件权重值;选取邮件权重值最大的M个词语作为关键词;
语义特征向量计算模块,用于在预先构建的词向量模型中查找到每个关键词的词特征向量后,根据每个关键词的邮件权重值和词特征向量,计算出所述邮件的语义特征向量;
判定模块,用于计算所述邮件的语义特征向量与垃圾邮件库中各垃圾邮件的语义特征向量之间的相似度;若计算出的相似度大于设定阈值,则判定所述邮件为垃圾邮件;
其中,所述根据该词语在所述邮件内容中的词频,以及该词语的DF权重值,计算出该词语的邮件权重值,具体包括:根据如下公式2计算出该词语的邮件权重值tfdf:
tfdf=tf×df (公式2)
其中,tf表示该词语在所述邮件内容中的词频,df表示该词语的DF权重值。
6.如权利要求5所述的装置,其特征在于,还包括:
词语DF模型训练模块,用于对训练集中的样本邮件进行训练得到所述词语DF模型。
7.如权利要求6所述的装置,其特征在于,还包括:
词向量模型训练模块,用于对训练集中的样本邮件进行训练得到所述词向量模型。
8.如权利要求7所述的装置,其特征在于,
所述词语DF模型训练模块还用于在对于所述训练集中的每个样本邮件的邮件内容进行分词之前,对所述训练集中的每个样本邮件的邮件内容进行预处理;以及
所述词向量模型训练模块具体用于将所述训练集中、经预处理后的各样本邮件的邮件内容依次写入文本文件,使用语句到向量word2vec工具读取所述文本文件。
9.如权利要求5-8任一所述的装置,其特征在于,还包括:
预处理模块,用于从待判定邮件中提取出邮件内容;对提取出的邮件内容依次进行编码转换、去除网络标签后,得到纯文本形式的邮件内容;将得到的纯文本形式的邮件内容中的繁体字转换为简体字后,将转换为简体字的邮件内容输出到所述分词模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310728059.8A CN103744905B (zh) | 2013-12-25 | 2013-12-25 | 垃圾邮件判定方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310728059.8A CN103744905B (zh) | 2013-12-25 | 2013-12-25 | 垃圾邮件判定方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103744905A CN103744905A (zh) | 2014-04-23 |
CN103744905B true CN103744905B (zh) | 2018-03-30 |
Family
ID=50501923
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310728059.8A Active CN103744905B (zh) | 2013-12-25 | 2013-12-25 | 垃圾邮件判定方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103744905B (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104199822B (zh) * | 2014-07-11 | 2018-05-18 | 五八同城信息技术有限公司 | 一种识别搜索对应的需求分类的方法和系统 |
CN105808580B (zh) * | 2014-12-29 | 2019-08-13 | 中国移动通信集团公司 | 一种基于先验模型的信息判定方法及设备 |
CN104657466B (zh) * | 2015-02-11 | 2018-04-17 | 厦门美柚信息科技有限公司 | 一种基于论坛帖子特征的用户兴趣识别方法及装置 |
CN104657349B (zh) * | 2015-02-11 | 2018-07-31 | 厦门美柚信息科技有限公司 | 一种论坛帖子特征识别方法及装置 |
CN104778158B (zh) * | 2015-03-04 | 2018-07-17 | 新浪网技术(中国)有限公司 | 一种文本表示方法及装置 |
CN104834686B (zh) * | 2015-04-17 | 2018-12-28 | 中国科学院信息工程研究所 | 一种基于混合语义矩阵的视频推荐方法 |
CN105677381B (zh) * | 2015-05-29 | 2019-07-12 | 深圳Tcl数字技术有限公司 | 预加载媒体文件的方法及装置 |
CN105975857A (zh) * | 2015-11-17 | 2016-09-28 | 武汉安天信息技术有限责任公司 | 基于深度学习方法推断恶意代码规则的方法及系统 |
CN105488031B (zh) * | 2015-12-09 | 2018-10-19 | 北京奇虎科技有限公司 | 一种检测相似短信的方法及装置 |
CN105516499B (zh) * | 2015-12-14 | 2019-05-10 | 北京奇虎科技有限公司 | 一种对短信进行分类的方法、装置、通信终端及服务器 |
CN105578434B (zh) * | 2015-12-17 | 2019-06-28 | 北京奇虎科技有限公司 | 一种检测伪基站运动轨迹的方法及服务器 |
CN105630771B (zh) * | 2015-12-25 | 2019-03-26 | 陈福 | 语句处理方法及装置 |
CN105915440A (zh) * | 2016-04-19 | 2016-08-31 | 乐视控股(北京)有限公司 | 邮件识别方法及装置 |
CN107665221A (zh) * | 2016-07-29 | 2018-02-06 | 北京国双科技有限公司 | 关键词的分类方法和装置 |
CN106407280B (zh) * | 2016-08-26 | 2020-02-14 | 合一网络技术(北京)有限公司 | 查询目标匹配方法及装置 |
CN107818077A (zh) * | 2016-09-13 | 2018-03-20 | 北京金山云网络技术有限公司 | 一种敏感内容识别方法及装置 |
CN106506327B (zh) * | 2016-10-11 | 2021-02-19 | 东软集团股份有限公司 | 一种垃圾邮件识别方法及装置 |
CN107741938A (zh) * | 2016-10-13 | 2018-02-27 | 腾讯科技(深圳)有限公司 | 一种网络信息识别方法及装置 |
CN107992501B (zh) * | 2016-10-27 | 2021-12-14 | 腾讯科技(深圳)有限公司 | 社交网络信息识别方法、处理方法及装置 |
WO2018068664A1 (zh) | 2016-10-13 | 2018-04-19 | 腾讯科技(深圳)有限公司 | 网络信息识别方法和装置 |
CN107743087B (zh) * | 2016-10-27 | 2020-05-12 | 腾讯科技(深圳)有限公司 | 一种邮件攻击的检测方法及系统 |
CN107086952A (zh) * | 2017-04-19 | 2017-08-22 | 中国石油大学(华东) | 一种基于tf‑idf中文分词的贝叶斯垃圾邮件过滤方法 |
CN108628825A (zh) * | 2018-04-10 | 2018-10-09 | 平安科技(深圳)有限公司 | 文本信息相似度匹配方法、装置、计算机设备及存储介质 |
CN109902283B (zh) * | 2018-05-03 | 2023-06-06 | 华为技术有限公司 | 一种信息输出方法及装置 |
CN111753086A (zh) * | 2020-06-11 | 2020-10-09 | 北京天空卫士网络安全技术有限公司 | 一种垃圾邮件识别方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6772196B1 (en) * | 2000-07-27 | 2004-08-03 | Propel Software Corp. | Electronic mail filtering system and methods |
CN101106539A (zh) * | 2007-08-03 | 2008-01-16 | 浙江大学 | 基于支持向量机的垃圾邮件过滤方法 |
CN103020164A (zh) * | 2012-11-26 | 2013-04-03 | 华北电力大学 | 一种基于多语义分析和个性化排序的语义检索方法 |
CN103441924A (zh) * | 2013-09-03 | 2013-12-11 | 盈世信息科技(北京)有限公司 | 一种基于短文本的垃圾邮件过滤方法及装置 |
-
2013
- 2013-12-25 CN CN201310728059.8A patent/CN103744905B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6772196B1 (en) * | 2000-07-27 | 2004-08-03 | Propel Software Corp. | Electronic mail filtering system and methods |
CN101106539A (zh) * | 2007-08-03 | 2008-01-16 | 浙江大学 | 基于支持向量机的垃圾邮件过滤方法 |
CN103020164A (zh) * | 2012-11-26 | 2013-04-03 | 华北电力大学 | 一种基于多语义分析和个性化排序的语义检索方法 |
CN103441924A (zh) * | 2013-09-03 | 2013-12-11 | 盈世信息科技(北京)有限公司 | 一种基于短文本的垃圾邮件过滤方法及装置 |
Non-Patent Citations (2)
Title |
---|
基于内容的垃圾邮件过滤技术研究;卢扬竹;《中国优秀硕士学位论文全文数据库 信息科技辑》;20100315(第03期);I139-210 * |
基于语义的广告图像垃圾邮件过滤技术研究;郭学敏;《中国优秀硕士学位论文全文数据库 信息科技辑》;20100815(第08期);I139-157 * |
Also Published As
Publication number | Publication date |
---|---|
CN103744905A (zh) | 2014-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103744905B (zh) | 垃圾邮件判定方法和装置 | |
CN104408093B (zh) | 一种新闻事件要素抽取方法与装置 | |
CN103914494B (zh) | 一种微博用户身份识别方法及系统 | |
Wang et al. | Integrating extractive and abstractive models for long text summarization | |
CN102693279B (zh) | 一种快速计算评论相似度的方法、装置及系统 | |
Xu et al. | Using deep linguistic features for finding deceptive opinion spam | |
JP6335898B2 (ja) | 製品認識に基づく情報分類 | |
CN104881458B (zh) | 一种网页主题的标注方法和装置 | |
US20180217980A1 (en) | Text mining for automatically determining semantic relatedness | |
CN108399241B (zh) | 一种基于多类特征融合的新兴热点话题检测系统 | |
US20230385549A1 (en) | Systems and methods for colearning custom syntactic expression types for suggesting next best corresponence in a communication environment | |
JP3682529B2 (ja) | 要約自動評価処理装置、要約自動評価処理プログラム、および要約自動評価処理方法 | |
CN109344234A (zh) | 机器阅读理解方法、装置、计算机设备和存储介质 | |
CN105488092A (zh) | 一种时间敏感和自适应的子话题在线检测方法及系统 | |
CN110197389A (zh) | 一种用户识别方法及装置 | |
Albishre et al. | Effective 20 newsgroups dataset cleaning | |
CN110750648A (zh) | 一种基于深度学习和特征融合的文本情感分类方法 | |
CN111522919A (zh) | 一种文本处理方法、电子设备和存储介质 | |
CN109086355A (zh) | 基于新闻主题词的热点关联关系分析方法及系统 | |
CN109325238A (zh) | 一种长文本中多实体情感分析的方法 | |
Ashraf et al. | Author profiling on bi-lingual tweets | |
Hosseini et al. | Identifying and classifying third-party entities in natural language privacy policies | |
CN110019820A (zh) | 一种病历中主诉与现病史症状时间一致性检测方法 | |
CN109241272A (zh) | 一种中文文本摘要生成方法、计算机可读储存介质及计算机设备 | |
CN107766419A (zh) | 一种基于阈值去噪的TextRank文档摘要方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230419 Address after: Room 501-502, 5/F, Sina Headquarters Scientific Research Building, Block N-1 and N-2, Zhongguancun Software Park, Dongbei Wangxi Road, Haidian District, Beijing, 100193 Patentee after: Sina Technology (China) Co.,Ltd. Address before: 100080, International Building, No. 58 West Fourth Ring Road, Haidian District, Beijing, 20 floor Patentee before: Sina.com Technology (China) Co.,Ltd. |