一种短信分类的方法及装置的制造方法

文档序号:9506276阅读:196来源:国知局
一种短信分类的方法及装置的制造方法
【技术领域】
[0001] 本发明涉及通信技术领域,尤其涉及一种短信分类的方法及装置。
【背景技术】
[0002] 随着通信技术的发展,短信成为被广泛使用的业务,由于现在欺诈短信、广告短信 等垃圾短信泛滥,所以需对短信进行分类,进而拦截垃圾短信。目前,常用的短信分类方法 为根据关键字和预设规则来识别垃圾短信,例如,当识别到短信中有"发票"等敏感词汇时, 该短信就会被当作垃圾短信拦截,然而如果短信的敏感词汇中携带有特殊字符,例如"发* 票",该短信就很难被归为垃圾短信并拦截。此外,由于正常用户的短信中也可能包含敏感 词汇,此时采用这种短信分类方法可能会造成正常短信的误拦截,目前为了防止误拦截,一 般当识别出短信中包含多个敏感词汇时,该短信才会被确定为垃圾短信,就使得一些真正 的垃圾短信未被归为垃圾短信的类别。所以,现有的短信分类方法的精度低。

【发明内容】

[0003] 本发明的实施例提供一种短信分类的方法及装置,可以解决短信分类精度低的问 题。
[0004] 为达到上述目的,本发明的实施例采用如下技术方案:
[0005] -种短信分类的方法,包括:
[0006] 提取用于类库训练的原始短信样本中出现的所有非重复的关键词,组成所述短信 类库训练的词典,所述原始短信样本中包括至少两个类别的短信,每个类别的短信组成一 个短信集合;
[0007] 确定在同一短信集合的每个短信中,所述词典中的每个关键词对应的TF-IDF ;
[0008] 将同一短信集合中的每个关键词对应的词频TF-关键度IDF划分为至少三个区 间;
[0009] 为每个短信集合生成短信类库,所述短信类库中包括短信类库所属类别的概率, 以及对应存储的关键词与关键词位于每个区间中的概率,所述短信类库所属类别的概率为 所述短信类库对应的短信集合在原始短信样本中的占比;
[0010] 根据所述短信类库对待分类短信进行分类。
[0011] -种短信分类的装置,包括:
[0012] 提取单元,用于提取用于类库训练的原始短信样本中出现的所有非重复的关键 词,组成所述短信类库训练的词典,所述原始短信样本中包括至少两个类别的短信,每个类 别的短信组成一个短信集合;
[0013] 确定单元,用于确定在同一短信集合的每个短信中,所述词典中的每个关键词对 应的 TF-IDF ;
[0014] 划分单元,用于将同一短信集合中的每个关键词对应的词频TF-关键度IDF划分 为至少三个区间;
[0015] 生成单元,用于为每个短信集合生成短信类库,所述短信类库中包括短信类库所 属类别的概率,以及对应存储的关键词与关键词位于每个区间中的概率,所述短信类库所 属类别的概率为所述短信类库对应的短信集合在原始短信样本中的占比;
[0016] 分类单元,用于根据所述短信类库对待分类短信进行分类。
[0017] 本发明实施例提供的短信分类的方法及装置,对原始短信样本进行类库训练,根 据关键词的TF-IDF值得到每个类别短信对应的短信类库,每个短信类库中都包括每个关 键词属于各区间的概率以及该短信类库所属短信类别的概率,进而根据类库就可以完成对 待分类短信的精确分类。与现有技术中的短信分类方法精度低相比,本发明实施例中根据 每个关键词的TF-IDF值,以及每个关键词的TF-IDF值在每个分层的概率得到短信类库,进 而使得根据短信类库对待分类短信进行分类时可以确定待分类短信属于各个短信类别的 概率,从而得到精确的分类结果,提高了短信分类的精度。
【附图说明】
[0018] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其他的附图。
[0019] 图1为本发明实施例提供的一种短信分类的系统的逻辑结构示意图;
[0020] 图2为本发明实施例提供的一种短信分类的方法的流程图;
[0021] 图3为本发明实施例提供的另一种短信分类的方法的流程图;
[0022] 图4为本发明实施例提供的另一种短信分类的方法的流程图;
[0023] 图5为本发明实施例提供的一种短信分类的装置的逻辑结构示意图。
【具体实施方式】
[0024] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0025] 本发明实施例提供的短信类库适用于短信分类系统中,如图1所示,该短信分类 系统主要包括用于存储原始短信样本和短信类库的hdfs (分布式存储)、交换机,以及用于 进行短信类库训练的MapReduce (分布式计算)。
[0026] 其中,hdfs包括一个NameNode (管理节点)和至少两个DataNode (数据节点)。 MapReduce包括一个JobTracker (任务管理节点)和至少两个TaskTracker (任务执行 节点)。一个NameNode和一个JobTracker位于同一服务器中,一个DataNode和一个 JobTracker位于同一个服务器中。
[0027] NameNode用于存储短信索引文件,主要负责文本索引的存储和快速定位查找。 DataNode用于存储具体的短信文本内容以及短信类库。
[0028] TaskTracker用于执行任务,JobTracker用于监控任务的执行。
[0029] 由于现有的短信分类方法分类精度较低,为了提高短信分类的精度,可以将朴素 贝叶斯算法应用于短信分类的过程中,具体可以通过计算短信中每个词所属的类别,判别 该短信所属的类别,朴素贝叶斯算法虽然计算简单、分类精确,但是只能采用统计词频的方 法处理非连续性数据,但是对于短信文本,词频并不能体现短信中某个词对于整个短信的 关键性,而TF-IDF (词频-关键度)可以精确的体现短信中某个词对于整个短信的关键性, 但是TF-IDF为连续性数据。所以,为了将TF-IDF应用在朴素贝叶斯算法中,以提高短信分 类的精度,本发明实施例提供了一种短信分类的方法,应用于图1所示的短信分类系统中, 如图2所示,该方法包括:
[0030] 201、提取用于类库训练的原始短信样本中出现的所有非重复的关键词,组成短信 类库训练的词典,原始短信样本中包括至少两个类别的短信,每个类别的短信组成一个短 信集合。
[0031] 其中,原始短信样本均存储于分布式存储hdfs中,具体存储在hdfs中的DataNode 中,DataNode上的索引文件存储于NameNode中,且TaskTracker已经通过聚类操作将原始 短信样本中的短信分为至少两个类别,每个类别的短信组成一个短信集合,且通常不同类 别的短信存储于不同的文件夹中。
[0032] 在将关键字组成词典之后,还需对词典中的关键词进行编号,为每个关键词设置 一个ID作为关键词的唯一编号。
[0033] 值得说明的是,本发明实施例的方法流程主要由TaskTracker执行。
[0034] 还需说明的是,为了提高根据短信类库对短信分类的精度,原始短信样本中短信 数量一般很大,为了快速处理大批量的数据,本发明实施例主要采用MapReduce进行短信 类库训练,JobTracker负责MapReduce过程中的任务键控,而MapReduce过程中的具体任 务由TaskTracker执行。在本步骤中,可以采用MapReduce,将提取的词典封装成一个job 任务提交。在Map阶段,各任务节点的〈Key, Value〉输入值为〈随机唯一值,短信文本〉, Map阶段对短信文本按照关键词进行切分,并去除停止词等非关键词,进而Map阶段输出值 为〈关键词,1>。为了保证关键词顺序的一致性,将Reduce任务数量设置为LReduce阶段 输出的〈Key, Value〉值为〈ID,关键词〉,输出结果以SequenceFile形式(即Key-Value键 值对)存储,从而得到类库训练的词典。
[0035] 202、确定在同一短信集合的每个短信中,词典中的每个关键词对应的TF-IDF。
[0036] 可以理解的是,对于每个短信集合的每条短信,都要确定词典的每个关键词对应 的TF-IDF。TF-IDF = TFX IDF,其中TF代表该关键词在一个短信集合中的一条短信中出现 的次数,IDF用于代表该短信集合中,具有该关键词的短信数量,iDF = ,其中,D为 Dw 该短信集合中短信的数量,Dw为该短信集合中,具有该关键词的短信数量。
[0037] 步骤202也可以通过MapReduce实现,由于不同类别的短信存储在不同的文件夹 中。因此,在Map阶段需根据短信集合的数量设置Map的个数,并按照类对短信进行序列化。 例如,属于别墅类别的若干条短信,Map阶段输出的〈Key, Value〉键值对的值为<Bieshu_ N, tf-vector>。也就是
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1