[发明专利]一种基于蚁群算法的网页类特征向量提取方法有效
申请号: | 201410004815.7 | 申请日: | 2014-01-06 |
公开(公告)号: | CN103744959B | 公开(公告)日: | 2017-01-25 |
发明(设计)人: | 蒋昌俊;陈闳中;闫春钢;丁志军;王鹏伟;孙海春;邓晓栋;刘俊俊 | 申请(专利权)人: | 同济大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 上海天协和诚知识产权代理事务所31216 | 代理人: | 叶凤 |
地址: | 200092 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 算法 网页 特征向量 提取 方法 | ||
技术领域
本发明涉及文本挖掘,应用于网页分类。
背景技术
Web文本挖掘就是从海量的Web网页中提取出有用信息的一种方法和工具,其中,网页分类是其主要的一个方面。众所周知,在机器学习领域训练自己的分类器的前提是,要有能够准确代表该类的样本集,用来做训练集和测试集。样本集获取的途径主要有三个:(1)利用现有的公开的语料库;(2)人工根据类名收集对应的样本集;(3)利用网络爬虫。根据实际需求,类名是根据不同需求定义的,方法(1)语料库少不足以满足实际的需要,方法(2)耗时耗力,所以现实中会采用方法(3)来获取训练集。但互联网信息复杂冗余,如何从获取的不是很准确的样本集中提炼出精确的信息作为类的特征值并获得每个特征词的权重值,又不至于过于复杂使学习算法无法处理。这是我们主要解决的问题。
蚁群算法,是一种用来在图中寻找最优路径的几率型算法,是一种模拟进化算法。蚁群优化算法已应用于许多组合优化问题,在实际情况中,由于候选特征集中的特征词很多,而需要的最能够代表一个类的特征词个数较少而且准确,所以,这一问题正好是蚁群算法可以解决的问题。
发明内容
本发明在没有标准的文本训练集的情况下,通过网络爬虫获取样本集,显然这样的样本集包含很多广告等噪音信息,这些信息的存在利用普通的文本向量提取算法并不能获得准确的类的特征向量。为了解决这一问题,我们使用四个度量值的加权值来确定蚂蚁选择该词的可能性,分别是词频、文档频率、特征词与类名的共现率以及特征词与特征词之间的共现率四个方面。以此来设计蚁群算法在可接受的复杂度范围内提取出精确的类的特征向量。构建出来的特征向量作为分类器的重要部分,用作网页分类。
本发明给出的技术方案为:
一种利用改进的蚁群算法提取特征词,其特征在于,具体过程:
在预处理时,将所有信息存取到hash表中,其中coco_prepare存取每篇文章的信息,包括文章的id和每个词及其出现的次数;readhdfs_prepare存取每个类的训练集的统计信息,包括每个词的词频,文档数,和类名共现的次数。设置蚁群算法的参数:蚂蚁个数M;迭代次数N;蚂蚁走的步数即特征词个数K;初始化路径信息素矩阵adMatrixs;局部更新衰减速率p1和全局更新衰减速率p2;蚂蚁释放信息素量m。
第一步,将M只蚂蚁随机放到第一个词上,由于候选集合大,人为的限制蚂蚁的随机范围,具体做法为:计算每个特征词的tf*Idf值,取出值最大的前20~30个作为蚂蚁第一条路径的随机范围。
第二步,对每个蚂蚁,维护一张禁忌表result,该表中存有蚂蚁走过的词,在下一步的候选集candidate中排除该表中的所有词。在选择的过程中,按照以下步骤计算被选择的可能性:
(1)从表readhdfs_prepare中取出该词的词频tf,并获得所有词中最大的词频tf_max和最小的词频tf_min,进行归一化处理:tf=(tf-tf_min)/(tf_max-tf_min);
(2)从表readhdfs_prepare中取出该词的文档数df,并获得所有词中最大的词频df_max和最小的词频df_min,进行归一化处理:df=(df-df_min)/(df_max-df_min);
(3)从表readhdfs_prepare中取出该词同类名的共现数co,并获得所有词中最大的词频co_max和最小的词频co_min,进行归一化处理:co=(co-co_min)/(co_max-co_min);
(4)从表coco_prepare中获得result表中所有的词和该词的共现次数之和coco,并计算得出所有的词中共现的最大值coco_max和最小值coco_min,并进行归一化处理:coco=(coco-coco_min)/(coco_max-coco_min);
(5)获得对应路径上的信息素值r;
(6)根据四部分所占的比例tf_per,df_per,co_per,coco_per计算被选择的可能性p=tf_per*tf+df_per*df+co_per*co+coco_per*coco+r;
第三步,在所有候选词计算完成之后,选择p值最大的那个词作为蚂蚁此次所选的词,并记录下该词的权重值,将该词加进该蚂蚁的禁忌表result中,从该蚂蚁的候选集中删除该词,继续走下一步。
第四步,当所有蚂蚁完成K步之后,获得M条路径更新路径的信息素含量,更新公式为:r=(1-p1)*r+p1*m;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于同济大学,未经同济大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410004815.7/2.html,转载请声明来源钻瓜专利网。