CN104112026A - 一种短信文本分类方法及系统 - Google Patents
一种短信文本分类方法及系统 Download PDFInfo
- Publication number
- CN104112026A CN104112026A CN201410377837.8A CN201410377837A CN104112026A CN 104112026 A CN104112026 A CN 104112026A CN 201410377837 A CN201410377837 A CN 201410377837A CN 104112026 A CN104112026 A CN 104112026A
- Authority
- CN
- China
- Prior art keywords
- short message
- class library
- classified
- message text
- feature
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 117
- 239000013598 vector Substances 0.000 claims abstract description 93
- 230000008569 process Effects 0.000 claims abstract description 68
- 238000012545 processing Methods 0.000 claims abstract description 68
- 238000007781 pre-processing Methods 0.000 claims abstract description 31
- 238000013507 mapping Methods 0.000 claims description 43
- 238000004364 calculation method Methods 0.000 claims description 37
- 239000011159 matrix material Substances 0.000 claims description 15
- 238000001914 filtration Methods 0.000 abstract description 5
- 230000004044 response Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 9
- 238000012549 training Methods 0.000 description 9
- 229940126655 NDI-034858 Drugs 0.000 description 3
- 241000290929 Nimbus Species 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000005111 flow chemistry technique Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
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
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 Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种短信文本分类方法及系统,包括预先将短信分类过程划分为不同的任务,并将不同的任务分配到流式计算系统的工作节点的不同端口上;提取待分类短信文本的关键词并确定需要更新的类库,对需要更新的类库进行更新,同时计算待分类短信文本的特征向量;根据计算得到的特征向量获取待分类短信文本与不同类库成员的特征向量之间的相似度,并按照获得的相似度确定待分类短信文本的类别。从本发明短信文本分类方案可见,在对短信息文本进行特征预处理后,对类库的更新和对特征向量的计算是利用流式计算系统分别通过工作节点的不同任务端口来并行处理,大大提高了短信文本处理的响应速度,从而提高了对垃圾短信过滤的速度和精确度。
Description
技术领域
本发明涉及短信文本处理技术,尤指一种短信文本分类方法及系统。
背景技术
在互联网大数据时代,对于用户行为的实时性处理和分析更为重要。以短信文本处理为例,由于垃圾短信的泛滥,比如欺诈短信、广告推销、反动短信等,给用户带了很大危害,因此,需要运营商通过对短信内容的识别来过滤垃圾短信。而短信的及时性特点决定了对短信的处理和下发必须在较短的时间内完成,这样,无疑要求短信处理系统具有较高的实时性。
目前,主要存在以下两种短信文本分类方法,一种是基于“关键字”+匹配规则的分类方式,另一种是基于短信文本内容的识别和分类方式。其中,
基于“关键字”+匹配规则的分类方式大致包括:当短信提交到短信网关(SMSC)时,由短信网关按照预先设置的“关键字”列表和匹配规则进行匹配,如果存在较多的敏感词则认定为垃圾短信进行拦截,反之SMSC下发短信。目前,国内的各大运营商通常采取这种方式对短信文本进行处理,这种短信分类方式虽然处理效率比较高,能够满足短信在规定时间内下发的要求,但是,效果并不理想,主要体现在以下两个方面:一方面,由于这种方式不能实现对短信文本内容的识别,因此对垃圾短信的拦截率低,比如现有的垃圾短信可能通过在中间添加特殊字符的方式来躲避关键字的匹配,如“发*票”等,造成了现有基于“关键字”+匹配规则的分类方式不能识别的情况;另一方面,会产生对正常短信的误拦截,存在着一定的误判率。比如正常的用户点对点短信可能也存在敏感词汇,如“请开增值税发票给我”,就有可能被匹配成为垃圾短信而被拦截过滤掉。
对于基于短信文本内容的识别和分类方式,其中的文本内容识别和分类已经是研究较早的课题,关于文本聚类和分类的方法也很多,比如聚类方法包括K-均值、层状聚类、基于密度的聚类;分类方法包括贝叶斯算法等等。基于短信文本内容的识别和分类方式大致包括:首先,对短信训练样本(其中包括垃圾短信)进行分词提取特征词,并通过计算形成特征向量(TF-IDF);接着,将特征向量采用K-均值等方法进行聚类形成不同的类库;然后,将待分类的短信计算特征向量后按照形成的不同的类库进行分类,分类方法可以采用K-邻接,贝叶斯等。如果待分类短信所属的类别为垃圾短信类别,则说明该短信为垃圾短信。
基于短信文本内容的识别和分类方式看似能够提高垃圾短信的过滤效率,方法也比较简洁,但是,这种方式在实验室研究中应用较多,而在真正的运营商SMSC短信网关中并没有得到应用,主要因为其存储量和计算量都太大。具体来讲,一方面,无论是训练样本聚类过程还是待分类短信分类过程,都需要先提取特征词,并计算短信的特征向量(TF-IDF)。其中,特征向量的维度与整个训练样本的特征词总数(TermsNumber)相等,假设TermsNumber=100,则每条短信特征向量的维度=100维。经过实际测试,采用4万条普通短信计算特征向量,每条特征向量维度就会达到约2500维,采用double类型表示TF-IDF,则整个二维矩阵大小为40000×2500×8≈763M,即样本的特征向量就占据了753M内存空间。还未包括聚类过程中间结果的存储,因此对于处理系统的内存消耗非常大。
另一方面,由于短信文本要进行聚类和分类,都需要先计算特征向量,而TF-IDF表示的是该特征词在该短信中的词频和关键程度,其中,TF表示该关键词在该条短信中出现的次数即词频;IDF则表示出现该关键词的短信数量与训练样本库总量之间的关系即关键程度,反映的是该关键词对于该短信文本的重要性。因此,在短信文本的聚类过程、短信文本的分类过程,都需要计算整个样本库和待分类短信的特征向量。其中,聚类过程中特征向量的计算可以通过提前计算来获得,但是分类过程,由于待分类短信文本内容的不确定性,对特征词和特征词的IDF都会产生影响,因此需要重新计算样本库TF-IDF。换算成计算量为:TermsNumber2×DocsNumber2,其中,DocsNumber代表训练样本总数。当类库的规模较大时,这个计算量是非常巨大的。另外,在分类过程中如贝叶斯分类、SVM、K-近邻算法等,算法本身的计算量也会产生较大的计算量。
这两个特点决定了基于短信文本内容的识别和分类方式,是不能满足实时性要求很高的短信分类要求的。
发明内容
为了解决上述技术问题,本发明提供了一种短信文本分类方法及系统,能够提高短信文本处理的响应速度,同时提高对垃圾短信过滤的速度和精确度。
为了达到本发明目的,本发明提供了一种短信文本分类方法,预先将短信分类过程划分为不同的任务,并将不同的任务分配到流式计算系统的工作节点的不同端口上;其中,不同的任务包括用于对待分类的短信文本进行特征词提取的特征预处理过程、用于对存储的类库进行更新的类库处理过程、用于计算待分类短信文本的特征向量的特征向量计算过程、以及用于对待分类短信文本进行分类的文本分类过程;还包括:
特征预处理过程提取待分类短信文本的关键词并确定需要更新的类库,类库处理过程对需要更新的类库进行更新,同时特征向量计算过程计算待分类短信文本的特征向量;
文本分类过程根据计算得到的特征向量获取待分类短信文本与不同类库成员的特征向量之间的相似度,并按照获得的相似度确定待分类短信文本的类别。
在所述流式计算系统的工作节点中预先设置用于存储关键词与所有短信文本中出现关键词文本数之间的对应关系的Terms-Dw映射表;
所述确定需要更新的类库包括:
查询所述Terms-Dw映射表,如果Terms-Dw映射表中存储有所述提取的关键词,记录提取的关键词在Terms-Dw映射表中的位置;
如果所述待分类短信的关键词在Terms-Dw映射表中未查询到,则忽略该关键词。
所述工作节点为所述特征预处理过程所在的工作节点。
所述类库处理过程所在的工作节点中预先存储有用于表示该类库的特性的类库成员特征向量表;所述类库成员特征向量表为二维矩阵,其中二维矩阵的行数为关键词Terms的维度,列数为类的成员个数;
所述对需要更新的类库进行更新包括:获取所述需要更新的关键词的位置Index信息,并更新Index指定的位置。
所述更新Index指定的位置包括:将所述Index指定的位置对应的关键词文本数加一。
采用余弦定理、或k-近邻算法计算所述相似度。
本发明还提供了一种短信文本分类系统,至少包括特征预处理模块、多个类库处理模块、特征向量计算模块,以及分类处理模块,不同的模块运行在流式计算系统的工作节点的不同端口上;其中,
特征预处理模块,用于提取待分类短信文本的关键词并确定的需要更新的类库,通知相应的类库处理模块以及特征向量计算模块;
类库处理模块,用于对需要更新的类库进行更新,具体用于将在Terms-Dw映射表中查询到的所有关键词分别对应的关键词文本数加一;
特征向量计算模块,用于计算待分类短信文本的特征向量,并在类库处理模块完成更新时,将计算得到的特征向量输出给分类处理模块;
分类处理模块,用于根据计算得到的特征向量获取待分类短信文本与不同类库成员的特征向量之间的相似度,并按照获得的相似度确定待分类短信文本的类别。
所述特征预处理模块中存储有Terms-Dw映射表;
所述特征预处理模块具体用于:
提取待分类短信文本的关键词,查询Terms-Dw映射表,如果Terms-Dw映射表中存储有提取的一个或一个以上关键词,记录这些关键词在Terms-Dw映射表中的位置,通知相应的类库处理模块以及特征向量计算模块;如果待分类短信的某关键词在Terms-Dw映射表中未查询到,则忽略该关键词。
与现有技术相比,本发明包括预先将短信分类过程划分为不同的任务,并将不同的任务分配到流式计算系统的工作节点的不同端口上;提取待分类短信文本的关键词并确定需要更新的类库,对需要更新的类库进行更新,同时计算待分类短信文本的特征向量;根据计算得到的特征向量获取待分类短信文本与不同类库成员的特征向量之间的相似度,并按照获得的相似度确定待分类短信文本的类别。从本发明短信文本分类方案可见,在对短信息文本进行特征预处理后,对类库的更新和对特征向量的计算是利用流式计算系统分别通过工作节点的不同任务端口来并行处理,大大提高了短信文本处理的响应速度,从而提高了对垃圾短信过滤的速度和精确度。
进一步地,本发明中类库的特征向量以二维矩阵的形式进行存储,其中二维矩阵的行数为关键词Terms的维度,列数为类的成员个数。根据需要更新的关键词的位置Index信息,更新Index指定的位置,即类库TF-IDF特征向量矩阵的行。本发明通过指定的位置实现了类库的快速更新。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为现有流式计算系统的组成结构示意图;
图2为现有流式计算的处理过程示意图;
图3为本发明短信文本分类方法的流程图;
图4为本发明短信文本分类方法的处理过程示意图;
图5为本发明短信文本分类系统的组成示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
流式计算主要应用于对数据的即时处理、统计学习等功能中。随着互联网大数据的爆发,流式计算也采用更加高级的分布式计算方式来提高处理速度,称之为分布式流式计算系统。分布式流式计算系统中最具代表性的是Storm,其采用类似Hadoop Map/Reduce(Hadoop Map/Reduce是一个使用简易的软件框架,基于它写出来的应用程序能够运行在由上千个商用机器组成的大型集群上,并以一种可靠容错的方式并行处理上T级别的数据集)的数据处理方法,采用Zookeeper(ZooKeeper是Hadoop的正式子项目,它是一个针对大型分布式系统的可靠协调系统,提供的功能包括配置维护、名字服务、分布式同步、组服务等)作为分布式节点管理工具,将需要计算的任务分割为很多的小块,通过类似流(Tuple)的方式,使其经过不同的处理节点(Storm称之为Bolt),最后汇聚到一个节点,形成处理结果。与Map/Reduce不同的是,Storm的数据是“流入”方式即需要实时处理。
图1为现有技术中以Storm为例的分布式流式计算系统的结构示意图。图1中以Storm为例的分布式流式计算系统,其他的系统类似,只是节点的命名可能不同,在图1中,Storm集群由一个主节点和多个工作节点组成,其中主节点运行了Nimbus守护进程,用于分配给各工作节点工作代码、布置任务、工作检测等功能,下文中将主节点简称为Nimbus;工作节点运行Supervisor守护进程,用于监听工作,开始和终止工作进程,下文中将工作节点简称为Supervisor;Zookeeper并不是实际的节点,而是用于协调Nimbus和Supervisor两个工作进程的软件,主要用于管理集群中的不同组件。在工作节点Supervisor上运行流式计算数据源(逻辑)节点Sprout和数据处理(逻辑)节点Bolt。图2为图1中Storm的数据流处理过程示意图。
如图2所示,工作节点Supervisor上根据需要和用户设定的端口数量,可以开启一定数量的端口。每个端口能够执行一个任务(Task),每个端口称之为worker。图2中的Sprout和Bolt正是运行在worker上的,对于每一次的Tuple来说,Sprout和Bolt就是这次Tuple的Task。从图2可见:
每个Tuple(流)经过Sprout和几个Bolt之后,形成最终结果,如图2中的不同列的Bolt对应不同的处理,换句话说,就是同一列的Bolt是相同的处理过程(即下文提到的Bolt_typeN),只不过处理的Tuple(流)不同;
每个Sprout和Bolt都运行在Supervisor的不同端口上。在Sprout和Bolt的数量较多时,多个Sprout和Bolt可能运行在同一Supervisor端口上。也就是说,Sprout和Bolt对应Supervisor端口可以是多对一的关系。
基于流式计算系统,图3为本发明短信文本分类方法的流程图,如图3所示,包括:
步骤300:预先将短信分类过程划分为不同的任务,并将不同的任务分配到流式计算系统的工作节点的不同端口上。
如图4所示,图4为本发明短信文本分类方法的处理过程示意图,以流式计算系统Storm为例,本发明中根据短信分类过程分解的不同任务(Bolt_Type)运行在工作节点(Supervisor)的不同端口(Port)上,不同的任务包括:用于对待分类的短信文本进行特征词提取的特征预处理(Pre-Process)过程、用于对存储的类库进行更新的类库处理(Cluster-Process)过程、用于计算待分类短信文本的特征向量的特征向量计算(TFIDF-Computer)过程、以及用于对待分类短信文本进行分类的文本分类(Text-Classify)过程。一个Supervisor上可以并行运行多个相同或不同的Bolt_Type。图4中以能够同时处理3路短信文本流Tuple的架构为例进行的说明,本实施例中设置有3个类库,较佳地,3个类库分别分配在不同的Supervisor上,如图4中,分别在Supervisor3、Supervisor4和Supervisor5上。这样将3个类库分别采用单独的工作节点运行,分配单独的工作节点进行运算和存储,避免了将所有的类库的TF-IDF矩阵集中于同一工作节点而导致的内存不足和运算瓶颈的问题。
进一步地,由于storm支持动态添加Supervisor节点,在本发明中,各类库运行在各自的Supervisor节点上,如果需要新增的类库,只需要在Storm上增加Supervisor节点,并配置类库成员和计算方法到该Supervisor的内存中,再更新特征预处理过程和文本分类过程维护的类库列表,即完成了动态增加新的类库。整个添加过程系统不需要停止,实现了根据类库的数量方便进行平滑扩展。
从图4中还可以看出,本发明系统常驻内存的数据表包括两个:一个是用于存储关键词(Terms)与所有短信文本中出现关键词文本数(Dw)之间的对应关系的Terms-Dw映射表,可以采用哈希表存储,本实施例中存储在Supervisor1中;另一个是用于表示类库的特性的类库成员特征向量表,也就是TF-IDF特征向量矩阵,是一个二维矩阵,其行数为该类库成员个数,列数为特征词个数,本实施例中,对应3个类库的类库成员特征向量表分别存储在Supervisor3、Supervisor4和Supervisor5中。
步骤301:提取待分类短信文本的关键词并确定需要更新的类库,对需要更新的类库进行更新,同时计算待分类短信文本的特征向量。
对于每次待分类短信文本进入流式计算系统,即就是Sprout_Type,也是Tuple开始的位置,文本处理过程中经过的不同任务的处理都是Tuple中的Task。流结束时短信分类结束,即得出短信是否属于垃圾短信。
本步骤中的提取待分类短信文本的关键词由分配在工作节点上的特征预处理过程实现,可以采用现有很多种方法如ansj等实现,具体实现并不用于限定本发明的保护范围,这里不再赘述。本步骤中的确定需要更新的类库由分配在工作节点上的特征预处理过程实现,包括:
查询Terms-Dw映射表,如果Terms-Dw映射表中存储有提取的一个或一个以上关键词,记录这些关键词在Terms-Dw映射表中的位置;
如果待分类短信的某关键词在Terms-Dw映射表中未查询到,则忽略该关键词。需要说明的是,未在Terms-Dw映射表中出现的关键词,不属于任何一种分类的“属性”,也就不会对于短信文本分类产生影响,因此将其忽略。本发明这种处理方式一方面保证了类库Terms维度(长度)不需要更新;另一方面也降低了类库特征向量(TF-IDF)更新的计算量。而且,现有技术中对于这些在Terms-Dw映射表中未查询到的而又未被忽略的关键词的特征向量为0,在进行短信分类中,会对计算结果产生影响以降低精度,而本发明不会根据这些在Terms-Dw映射表中未查询到的关键词的特征向量更新类库,在分类精度上必然会有较大提高。
本发明中较佳地是将Terms-Dw映射表存储在特征预处理过程所在的Supervisor中,这样实现了快速检索。
本步骤中,对需要更新的类库进行更新由分配在工作节点上的类库处理过程完成,即是将在Terms-Dw映射表中查询到的所有关键词分别对应的关键词文本数加一。
本步骤中,计算待分类短信文本的特征向量有分配在工作节点上的特征向量计算完成,具体计算方法可以采用现有很多种方法实现,具体实现属于本领域技术人员的惯用技术手段,并不用于限定本发明的保护范围,这里不再赘述。
举例来看,假设待分类短信文本中提取的关键词包括:[中国人民银行利率变化];类库的Terms-Dw映射表存储的关键词与关键词文本数包括:[(中国,2)(工商,1)(人民,3)(生活,2)(银行,2)(浮动,1)(汇款,1)]。
首先,按照本发明方法,通过对Terms-Dw映射表的查询后,获知“中国、人民、银行”三个关键词在Terms-Dw映射表中,则记录这三个关键词在Terms-Dw映射表中的位置(Index),[135];由于提取的关键词中“利率、变化”不在Terms-Dw映射表中,则忽略。
之后,分别将预处理结果发送到Tuple(流)的下一个处理过程,包括:类库处理过程和TF-IDF Computer处理过程。不同处理过程需要的内容不同,类库处理过程需要的内容如表1所示。
表1
特征向量计算过程需要的内容如表2所示。
表2
本步骤中,特征预处理过程同时将需要处理的内容给类库处理过程和TF-IDF Computer处理过程,使得类库更新和待分类短信的TF-IDF计算同时完成,节省了处理时间,且不相互影响。
本步骤中,待分类短信文本的特征向量TF-IDF=TF×IDF,其中TF为词频,表示关键词在该条短信文本中出现的次数;IDF为关键度,表示关键词在整个训练库中出现过的文本数量,出现数量越少说明其越具有代表性,计算公式如:其中,D表示训练库文本总数;Dw表示出现某关键词的文本数。
在本发明实施例中,特征向量计算过程在按照Terms遍历待分类短信文本即可获得TF,在待分类短信文本中不存在的关键词的TF=0;根据Index可知道需要重新特征向量的位置。而且根据来自特征预处理过程的数据可以获知相应位置的原始特征向量的值。那么,更新后的新的特征向量IDFnew如公式(1)所示:
仅需要将Index的几个位置按照公式(1)更新即可,其中,D和Dw已知,即可计算新的IDF。在本实施例中,只需要将Index中的几个位置即位置[1 35]更新,则更新后的Dw=[3 1 4 2 3 1 1]。由于其他不需要更新位置的TF值都为0,所以TF-IDF=TF×IDF计算后除1、3、5位置,其他位置都为0。
本步骤中,为了实现类库的快速更新和存储,本发明实施例中提供的更新和存储方法包括:
用于表示类库的特性的类库成员特征向量表以二维矩阵的形式进行存储,其中二维矩阵的行数为关键词Terms的维度,列数为类的成员个数,换句话说,就是将每个成员的TF-IDF从行的表示的方式转为列表示方式。类库的TF-IDF特征向量矩阵举例如下所示:
上面所示矩阵中,虚线框所示数字代表类成员特征向量,实线框所示数字代表其中需要更新的Index。
当类库处理过程接收到特征预处理过程的类库更新请求后,获取其中的Index信息,并更新Index指定的位置,即类库TF-IDF特征向量矩阵的行。本发明这样的存储方式在类库更新的过程中,实现了指定位置的快速定位和更新。
由于每个位置上的值为TF-IDF,而不是关键词文本数Dw,因此,这里提供一种快速计算方法。具体方法如下:假设某个位置TF-IDF值已知为x,更新后的值为y,那么x与y之间的关系如公式(2)所示:
在公式(2)中,D为训练库文本总数,是已知的,Dw由特征预处理过程发送的数据中可以获得如表1所示,x是原类库中的TF-IDF值。因此能够计算Index指定位置的更新y,也就是完成了类库的更新。
步骤302:根据计算得到的特征向量获取待分类短信文本与不同类库成员的特征向量之间的相似度,并按照获得的相似度确定待分类短信文本的类别。
本步骤由分配在工作节点上的文本分类处理过程来实现。分类处理过程会将特征向量和需要类库完成的处理再次发送给相应的类库处理过程。
接收到特征向量的各类库,计算待分类短信文本的特征向量与类库成员的特征向量的相似度,如可以采用余弦定理求两者之间的相似度,余弦值越大说明相似度越大。如果采用的是k-近邻算法,会向文本分类处理过程返回k个相似度最大的计算结果。具体反馈形式如表3所示:
表3
文本分类处理过程对返回的相似度进行排序,选取相似度最大的k个,然后根据其所属的类别进行判断。k个结果中所属最多的类别即为该短信文本所属的类别。
至此完成对短信文本的分类,相应的,根据短信文本所属的类别也就可以知道该短信文本是否为垃圾短信。
需要说明的是,本发明基于的是已经通过训练样本获得了类库和成员的特征向量,聚类过程可以通过提前计算完成,因此,本发明提供的短新闻本分类方法对于实时性要求不高,解决了待分类短信文本进入系统后如何完成实时快速分类,而在快速分类完成后即可判断短信是否是垃圾短信。
图5为本发明短信文本分类系统的组成示意图,如图5所示,至少包括特征预处理模块、多个类库处理模块、特征向量计算模块,以及分类处理模块,不同的模块运行在工作节点(Supervisor)的不同端口(Port)上。其中,
特征预处理模块,用于提取待分类短信文本的关键词并确定的需要更新的类库,通知相应的类库处理模块以及特征向量计算模块。
较佳地,特征预处理模块中存储有Terms-Dw映射表,特征预处理模块具体用于:
提取待分类短信文本的关键词,查询Terms-Dw映射表,如果Terms-Dw映射表中存储有提取的一个或一个以上关键词,记录这些关键词在Terms-Dw映射表中的位置,通知相应的类库处理模块以及特征向量计算模块;如果待分类短信的某关键词在Terms-Dw映射表中未查询到,则忽略该关键词。
类库处理模块,用于对需要更新的类库进行更新,具体用于将在Terms-Dw映射表中查询到的所有关键词分别对应的关键词文本数加一。
特征向量计算模块,用于计算待分类短信文本的特征向量,并在类库处理模块完成更新时,将计算得到的特征向量输出给分类处理模块。特征向量的计算具体实现属于本领域技术人员的惯用技术手段,这里不再赘述。
分类处理模块,用于根据计算得到的特征向量获取待分类短信文本与不同类库成员的特征向量之间的相似度,并按照获得的相似度确定待分类短信文本的类别。
从本发明短信文本分类系统的描述可见,在对短信息文本进行特征预处理后,对类库的更新和对特征向量的计算是利用流式计算系统分别通过工作节点的不同任务端口来并行处理,大大提高了短信文本处理的响应速度,从而提高了对垃圾短信过滤的速度和精确度。
虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (8)
1.一种短信文本分类方法,其特征在于,预先将短信分类过程划分为不同的任务,并将不同的任务分配到流式计算系统的工作节点的不同端口上;其中,不同的任务包括用于对待分类的短信文本进行特征词提取的特征预处理过程、用于对存储的类库进行更新的类库处理过程、用于计算待分类短信文本的特征向量的特征向量计算过程、以及用于对待分类短信文本进行分类的文本分类过程;还包括:
特征预处理过程提取待分类短信文本的关键词并确定需要更新的类库,类库处理过程对需要更新的类库进行更新,同时特征向量计算过程计算待分类短信文本的特征向量;
文本分类过程根据计算得到的特征向量获取待分类短信文本与不同类库成员的特征向量之间的相似度,并按照获得的相似度确定待分类短信文本的类别。
2.根据权利要求1所述的短信文本分类方法,其特征在于,在所述流式计算系统的工作节点中预先设置用于存储关键词与所有短信文本中出现关键词文本数之间的对应关系的Terms-Dw映射表;
所述确定需要更新的类库包括:
查询所述Terms-Dw映射表,如果Terms-Dw映射表中存储有所述提取的关键词,记录提取的关键词在Terms-Dw映射表中的位置;
如果所述待分类短信的关键词在Terms-Dw映射表中未查询到,则忽略该关键词。
3.根据权利要求2所述的短信文本分类方法,其特征在于,所述工作节点为所述特征预处理过程所在的工作节点。
4.根据权利要求2所述的短信文本分类方法,其特征在于,所述类库处理过程所在的工作节点中预先存储有用于表示该类库的特性的类库成员特征向量表;所述类库成员特征向量表为二维矩阵,其中二维矩阵的行数为关键词Terms的维度,列数为类的成员个数;
所述对需要更新的类库进行更新包括:获取所述需要更新的关键词的位置Index信息,并更新Index指定的位置。
5.根据权利要求4所述的短信文本分类方法,其特征在于,所述更新Index指定的位置包括:将所述Index指定的位置对应的关键词文本数加一。
6.根据权利要求1所述的短信文本分类方法,其特征在于,采用余弦定理、或k-近邻算法计算所述相似度。
7.一种短信文本分类系统,其特征在于,至少包括特征预处理模块、多个类库处理模块、特征向量计算模块,以及分类处理模块,不同的模块运行在流式计算系统的工作节点的不同端口上;其中,
特征预处理模块,用于提取待分类短信文本的关键词并确定的需要更新的类库,通知相应的类库处理模块以及特征向量计算模块;
类库处理模块,用于对需要更新的类库进行更新,具体用于将在Terms-Dw映射表中查询到的所有关键词分别对应的关键词文本数加一;
特征向量计算模块,用于计算待分类短信文本的特征向量,并在类库处理模块完成更新时,将计算得到的特征向量输出给分类处理模块;
分类处理模块,用于根据计算得到的特征向量获取待分类短信文本与不同类库成员的特征向量之间的相似度,并按照获得的相似度确定待分类短信文本的类别。
8.根据权利要求7所述的短信文本分类系统,其特征在于,所述特征预处理模块中存储有Terms-Dw映射表;
所述特征预处理模块具体用于:
提取待分类短信文本的关键词,查询Terms-Dw映射表,如果Terms-Dw映射表中存储有提取的一个或一个以上关键词,记录这些关键词在Terms-Dw映射表中的位置,通知相应的类库处理模块以及特征向量计算模块;如果待分类短信的某关键词在Terms-Dw映射表中未查询到,则忽略该关键词。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410377837.8A CN104112026B (zh) | 2014-08-01 | 2014-08-01 | 一种短信文本分类方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410377837.8A CN104112026B (zh) | 2014-08-01 | 2014-08-01 | 一种短信文本分类方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104112026A true CN104112026A (zh) | 2014-10-22 |
CN104112026B CN104112026B (zh) | 2017-09-08 |
Family
ID=51708817
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410377837.8A Active CN104112026B (zh) | 2014-08-01 | 2014-08-01 | 一种短信文本分类方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104112026B (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104123393A (zh) * | 2014-08-12 | 2014-10-29 | 中国联合网络通信集团有限公司 | 一种短信文本的分类方法和系统 |
CN105045781A (zh) * | 2015-08-27 | 2015-11-11 | 广州神马移动信息科技有限公司 | 查询词相似度计算方法及装置、查询词搜索方法及装置 |
CN105260467A (zh) * | 2015-10-16 | 2016-01-20 | 中国联合网络通信集团有限公司 | 一种短信分类的方法及装置 |
CN105824955A (zh) * | 2016-03-30 | 2016-08-03 | 北京小米移动软件有限公司 | 短信聚类方法及装置 |
CN106102027A (zh) * | 2016-06-12 | 2016-11-09 | 西南医科大学 | 基于MapReduce的短信批量提交方法 |
CN106411704A (zh) * | 2016-09-19 | 2017-02-15 | 南京邮电大学 | 一种分布式垃圾短信识别方法 |
CN106649422A (zh) * | 2016-06-12 | 2017-05-10 | 中国移动通信集团湖北有限公司 | 关键词提取方法及装置 |
CN106681980A (zh) * | 2015-11-05 | 2017-05-17 | 中国移动通信集团公司 | 一种垃圾短信分析方法和装置 |
CN106815605A (zh) * | 2017-01-23 | 2017-06-09 | 上海上讯信息技术股份有限公司 | 一种基于机器学习的数据分类方法及设备 |
CN107273412A (zh) * | 2017-05-04 | 2017-10-20 | 北京拓尔思信息技术股份有限公司 | 一种文本数据的聚类方法、装置和系统 |
CN108304442A (zh) * | 2017-11-20 | 2018-07-20 | 腾讯科技(深圳)有限公司 | 一种文本信息处理方法、装置及存储介质 |
CN108875786A (zh) * | 2018-05-23 | 2018-11-23 | 北京化工大学 | 基于Storm的食品数据并行计算一致性问题的优化方法 |
CN108966158A (zh) * | 2018-08-21 | 2018-12-07 | 平安科技(深圳)有限公司 | 短信发送方法、系统、计算机设备和存储介质 |
CN109829150A (zh) * | 2018-11-27 | 2019-05-31 | 阿里巴巴集团控股有限公司 | 保险理赔文本处理方法及装置 |
CN111241269A (zh) * | 2018-11-09 | 2020-06-05 | 中移(杭州)信息技术有限公司 | 一种短信文本分类方法、装置、电子设备及存储介质 |
WO2020207167A1 (zh) * | 2019-04-12 | 2020-10-15 | 深圳前海微众银行股份有限公司 | 文本分类方法、装置、设备及计算机可读存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101808104A (zh) * | 2009-02-12 | 2010-08-18 | 李冰 | 一种以流式方式运行的互联网建立方法 |
-
2014
- 2014-08-01 CN CN201410377837.8A patent/CN104112026B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101808104A (zh) * | 2009-02-12 | 2010-08-18 | 李冰 | 一种以流式方式运行的互联网建立方法 |
Non-Patent Citations (2)
Title |
---|
司同: "《实时社交媒体分析系统的设计与实现》", 《中国优秀硕士学位论文全文数据库(CNKI)》 * |
胡宇舟等: "《基于Storm 的云计算在自动清分系统中的实时数据处理应用》", 《计算机应用》 * |
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104123393B (zh) * | 2014-08-12 | 2017-11-10 | 中国联合网络通信集团有限公司 | 一种短信文本的分类方法和系统 |
CN104123393A (zh) * | 2014-08-12 | 2014-10-29 | 中国联合网络通信集团有限公司 | 一种短信文本的分类方法和系统 |
CN105045781A (zh) * | 2015-08-27 | 2015-11-11 | 广州神马移动信息科技有限公司 | 查询词相似度计算方法及装置、查询词搜索方法及装置 |
CN105260467A (zh) * | 2015-10-16 | 2016-01-20 | 中国联合网络通信集团有限公司 | 一种短信分类的方法及装置 |
CN105260467B (zh) * | 2015-10-16 | 2018-10-19 | 中国联合网络通信集团有限公司 | 一种短信分类的方法及装置 |
CN106681980A (zh) * | 2015-11-05 | 2017-05-17 | 中国移动通信集团公司 | 一种垃圾短信分析方法和装置 |
CN106681980B (zh) * | 2015-11-05 | 2019-06-28 | 中国移动通信集团公司 | 一种垃圾短信分析方法和装置 |
CN105824955A (zh) * | 2016-03-30 | 2016-08-03 | 北京小米移动软件有限公司 | 短信聚类方法及装置 |
CN106649422A (zh) * | 2016-06-12 | 2017-05-10 | 中国移动通信集团湖北有限公司 | 关键词提取方法及装置 |
CN106102027A (zh) * | 2016-06-12 | 2016-11-09 | 西南医科大学 | 基于MapReduce的短信批量提交方法 |
CN106102027B (zh) * | 2016-06-12 | 2019-03-15 | 西南医科大学 | 基于MapReduce的短信批量提交方法 |
CN106649422B (zh) * | 2016-06-12 | 2019-05-03 | 中国移动通信集团湖北有限公司 | 关键词提取方法及装置 |
CN106411704A (zh) * | 2016-09-19 | 2017-02-15 | 南京邮电大学 | 一种分布式垃圾短信识别方法 |
CN106411704B (zh) * | 2016-09-19 | 2019-06-21 | 南京邮电大学 | 一种分布式垃圾短信识别方法 |
CN106815605A (zh) * | 2017-01-23 | 2017-06-09 | 上海上讯信息技术股份有限公司 | 一种基于机器学习的数据分类方法及设备 |
CN107273412B (zh) * | 2017-05-04 | 2019-09-27 | 北京拓尔思信息技术股份有限公司 | 一种文本数据的聚类方法、装置和系统 |
CN107273412A (zh) * | 2017-05-04 | 2017-10-20 | 北京拓尔思信息技术股份有限公司 | 一种文本数据的聚类方法、装置和系统 |
WO2019096032A1 (zh) * | 2017-11-20 | 2019-05-23 | 腾讯科技(深圳)有限公司 | 文本信息处理方法、计算机设备及计算机可读存储介质 |
CN108304442A (zh) * | 2017-11-20 | 2018-07-20 | 腾讯科技(深圳)有限公司 | 一种文本信息处理方法、装置及存储介质 |
CN108875786A (zh) * | 2018-05-23 | 2018-11-23 | 北京化工大学 | 基于Storm的食品数据并行计算一致性问题的优化方法 |
CN108875786B (zh) * | 2018-05-23 | 2021-04-09 | 北京化工大学 | 基于Storm的食品数据并行计算一致性问题的优化方法 |
CN108966158A (zh) * | 2018-08-21 | 2018-12-07 | 平安科技(深圳)有限公司 | 短信发送方法、系统、计算机设备和存储介质 |
CN108966158B (zh) * | 2018-08-21 | 2022-04-12 | 平安科技(深圳)有限公司 | 短信发送方法、系统、计算机设备和存储介质 |
CN111241269A (zh) * | 2018-11-09 | 2020-06-05 | 中移(杭州)信息技术有限公司 | 一种短信文本分类方法、装置、电子设备及存储介质 |
CN111241269B (zh) * | 2018-11-09 | 2024-02-23 | 中移(杭州)信息技术有限公司 | 一种短信文本分类方法、装置、电子设备及存储介质 |
CN109829150A (zh) * | 2018-11-27 | 2019-05-31 | 阿里巴巴集团控股有限公司 | 保险理赔文本处理方法及装置 |
CN109829150B (zh) * | 2018-11-27 | 2023-11-14 | 创新先进技术有限公司 | 保险理赔文本处理方法及装置 |
WO2020207167A1 (zh) * | 2019-04-12 | 2020-10-15 | 深圳前海微众银行股份有限公司 | 文本分类方法、装置、设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104112026B (zh) | 2017-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104112026B (zh) | 一种短信文本分类方法及系统 | |
CN108932294B (zh) | 基于索引的简历数据处理方法、装置、设备及存储介质 | |
US10579661B2 (en) | System and method for machine learning and classifying data | |
CN103279478B (zh) | 一种基于分布式互信息文档特征提取方法 | |
WO2017097231A1 (zh) | 话题处理方法及装置 | |
Suresh | An unsupervised fuzzy clustering method for twitter sentiment analysis | |
CN104820708B (zh) | 一种基于云计算平台的大数据聚类方法和装置 | |
Hariharakrishnan et al. | Survey of pre-processing techniques for mining big data | |
CN104809244B (zh) | 一种大数据环境下的数据挖掘方法和装置 | |
CN104239553A (zh) | 一种基于Map-Reduce框架的实体识别方法 | |
CN108241867B (zh) | 一种分类方法及装置 | |
CN110569289B (zh) | 基于大数据的列数据处理方法、设备及介质 | |
US10467276B2 (en) | Systems and methods for merging electronic data collections | |
CN113486664A (zh) | 文本数据可视化分析方法、装置、设备及存储介质 | |
CN111914294A (zh) | 一种数据库敏感数据识别方法及系统 | |
CN107085568A (zh) | 一种文本相似度判别方法及装置 | |
Satish et al. | Big data processing with harnessing hadoop-MapReduce for optimizing analytical workloads | |
CN110874366A (zh) | 数据处理、查询方法和装置 | |
CN103207804A (zh) | 基于集群作业日志的MapReduce负载模拟方法 | |
CN111259117B (zh) | 短文本批量匹配方法及装置 | |
CN112579781A (zh) | 文本归类方法、装置、电子设备及介质 | |
Yin et al. | Content‐Based Image Retrial Based on Hadoop | |
CN111104422A (zh) | 一种数据推荐模型的训练方法、装置、设备及存储介质 | |
CN113095073B (zh) | 语料标签生成方法、装置、计算机设备和存储介质 | |
WO2018100700A1 (ja) | データ変換装置とデータ変換方法 |
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 |