文档聚类方法及装置、网络设备
技术领域
本发明涉及数据挖掘、文档聚类及web网页聚类技术领域,特别是指一种文档聚类方法及装置、网络设备。
背景技术
目前,搜索引擎技术已经趋于成熟,用户可以非常方便地通过搜索引擎来获取他们想要寻找的网页内容。为了方便用户浏览目标网页,出现了基于web网页的推荐技术,即根据用户关注的一些网页,向用户推荐一些相关网页,省去了用户通过搜索查找网页的麻烦。现有技术中,基于web网页的推荐技术都是基于web网页聚类而获得推荐的相关网页的,也就是首先对一定范围内的网页进行聚类,然后从用户收藏网页所属的类簇中选取一个或多个网页推荐给用户。web网页聚类是文档聚类的一种,它通过分词技术将一个web网页的所有内容切分成词,然后将这些词作为网页的特征项,据此对网页进行聚类。
现有文档聚类算法的种类比较多,有KM、UPGMA、BKM、FIHC等,各个算法都具有其特点,有优势也有劣势,一个公共的主要问题在性能上:针对超大数据量时,由于文档的词较多,维度较大,需要耗费很长时间才能完成聚类算法,且非常占用CPU、内存、IO等计算资源。
针对文档聚类算法的性能问题,目前的主要解决方案是基于Map Reduce算法的分布式并行计算平台,包括Apache Hadoop平台、Yahoo S4、微软Dryad等。该方案通过将一个任务分布到多台通过网络互联的计算机上进行并行计算,来取得时间上的成倍减少,但是这种方法需要运用多台网络互联的计算机,因此比较浪费资源,成本比较高。
发明内容
本发明要解决的技术问题是提供一种文档聚类方法及装置、网络设备,能够提高文档聚类的速度并且节约计算资源。
为解决上述技术问题,本发明的实施例提供技术方案如下:
一方面,提供一种文档聚类方法,包括:
步骤a:将待聚类的文档分为多组;
步骤b:对其中一组待聚类的文档通过聚类算法进行聚类,获取初始簇,所述初始簇对应有频繁项集;
步骤c:获取余下的另外一组待聚类文档的特征词,根据所述特征词和所述初始簇对应的频繁项集,将特征词包含在所述频繁项集中的文档聚类到所述频繁项集对应的初始簇,并对剩下的特征词未包含在所述频繁项集中的文档通过聚类算法进行聚类获取新的对应有频繁项集的初始簇;
步骤d:判断是否存在未聚类的文档组,如果存在,转向步骤c;如果不存在,存储所有待聚类的文档聚类成的多个初始簇和每个所述初始簇对应的频繁项集。
进一步地,所述步骤b包括:
获取所述其中一组待聚类的文档中每个文档的特征词;
根据获取的特征词使用Apriori算法提取频繁项集;
根据所述提取的频繁项集和所述每个文档的特征词,将特征词包含在同一频繁项集中的文档聚类成同一初始簇。
进一步地,所述获取所述其中一组待聚类的文档中每个文档的特征词包括:
将每个文档中的文字拆分成多个词语,并对拆分后的词语进行过滤,去除干扰词获取文档的初始特征词;
利用下列公式计算每个文档的每一初始特征词的分值,保留每个文档的分值大于预设阈值的初始特征词作为该文档的特征词:
进一步地,所述对拆分后的词语进行过滤,去除干扰词获取文档的初始特征词包括:
将拆分后的词语与预设的干扰词库中的词语进行比对,如果拆分后的词语存在与干扰词库中相同的词语,则将该词语作为干扰词去除。
进一步地,所述预设阈值的取值范围为0.0005-0.0015。
进一步地,所述根据所述提取的频繁项集和所述每个文档的特征词,将特征词包含在同一频繁项集中的文档聚类成同一初始簇包括:
计算提取的每一个频繁项集的权重;
按照权重从大到小的顺序,依次根据权重从大到小的频繁项集和每个文档的特征词对文档进行聚类,将特征词包含在同一频繁项集中的文档聚类成同一初始簇,从而针对每个频繁项集分别聚类成不同的初始簇。
进一步地,所述步骤b还包括:
对于根据所述提取的频繁项集和文档的特征词没有聚类到初始簇中的文档,以文档的特征词在文档中出现的频率作为分量建立文档特征词向量,计算文档特征词向量与初始簇特征词向量之间夹角的余弦值,在该余弦值大于第一预设值时,将文档聚类到对应的初始簇中。
进一步地,所述文档为web网页。
进一步地,所述步骤d之后还包括:
在用户点击web收藏夹中的网页链接后,根据所述步骤d得到的聚类结果获取用户所点击网页所属的初始簇;
从所述初始簇中选择至少一个网页展示给用户。
进一步地,所述从所述初始簇中选择至少一个网页展示给用户包括:
从所述初始簇中选择多个网页,对所述多个网页进行过滤,并将过滤后的网页展示给用户,其中,过滤掉的网页包括但不限于内容重复的网页、内容不符合要求的网页。
进一步地,所述步骤d之后还包括:
在用户浏览网页时,根据所述步骤d得到的聚类结果获取用户浏览的网页所属初始簇的特征词;
确定与所述初始簇的特征词的匹配程度大于第二预设值的广告的特征词,并将与该广告的特征词对应的广告推送给用户。
本发明实施例还提供了一种文档聚类装置,包括:
分组模块,用于将待聚类的文档分为多组;
初始聚类模块,用于对其中一组待聚类的文档通过聚类算法进行聚类,获取初始簇,所述初始簇对应有频繁项集;
分层聚类模块,用于获取余下的另外一组待聚类文档的特征词,根据所述特征词和所述初始簇对应的频繁项集,将特征词包含在所述频繁项集中的文档聚类到所述频繁项集对应的初始簇,并对剩下的特征词未包含在所述频繁项集中的文档通过聚类算法进行聚类获取新的对应有频繁项集的初始簇;
处理模块,用于判断是否存在未聚类的文档组,如果存在,转向步骤c;如果不存在,存储所有待聚类的文档聚类成的多个初始簇和每个所述初始簇对应的频繁项集。
进一步地,所述初始聚类模块包括:
获取子模块,用于获取所述其中一组待聚类的文档中每个文档的特征词;
提取子模块,用于根据获取的特征词使用Apriori算法提取频繁项集;
聚类子模块,用于根据所述提取的频繁项集和所述每个文档的特征词,将特征词包含在同一频繁项集中的文档聚类成同一初始簇。
进一步地,所述获取子模块包括:
处理单元,用于将每个文档中的文字拆分成多个词语,并对拆分后的词语进行过滤,去除干扰词获取文档的初始特征词;
第一计算单元,用于利用下列公式计算每个文档的每一初始特征词的分值,保留每个文档的分值大于预设阈值的初始特征词作为该文档的特征词:
进一步地,所述聚类子模块包括:
第二计算单元,用于计算提取的每一个频繁项集的权重;
聚类单元,用于按照权重从大到小的顺序,依次根据权重从大到小的频繁项集和每个文档的特征词对文档进行聚类,将特征词包含在同一频繁项集中的文档聚类成同一初始簇,从而针对每个频繁项集分别聚类成不同的初始簇。
进一步地,所述聚类子模块还用于对于根据所述提取的频繁项集和文档的特征词没有聚类到初始簇中的文档,以文档的特征词在文档中出现的频率作为分量建立文档特征词向量,计算文档特征词向量与初始簇特征词向量之间夹角的余弦值,在该余弦值大于第一预设值时,将文档聚类到对应的初始簇中。
进一步地,所述文档为web网页。
进一步地,所述装置还包括:
网页展示模块,用于在用户点击web收藏夹中的网页链接后,根据所述处理模块得到的聚类结果获取用户所点击网页所属的初始簇,从所述初始簇中选择至少一个网页展示给用户。
进一步地,所述装置还包括:
广告推送模块,用于在用户浏览网页时,根据所述处理模块得到的聚类结果获取用户浏览的网页所属初始簇的特征词,确定与所述初始簇的特征词的匹配程度大于第二预设值的广告的特征词,并将与该广告的特征词对应的广告推送给用户。
本发明实施例还提供了一种网络设备,包括如上所述的文档聚类装置。
本发明的实施例具有以下有益效果:
上述方案中,对待聚类的文档进行分组,首先对其中一组文档进行聚类,将聚类结果存入数据库,针对下一组需要聚类的文档,先根据上一组文档聚类得到的初始簇,将包含初始簇的频繁项集中特征词的文档聚类到对应的初始簇,对于不能聚类到上一批初始簇中的文档,再采用聚类算法进行聚类,获取新的初始簇,以此类推,直到聚类完所有文档。本发明的文档聚类方法能够大大缩短文档聚类时间,同时能够节约计算资源。
附图说明
图1为本发明实施例文档聚类方法的流程示意图;
图2为本发明实施例文档聚类装置的结构框图;
图3为web收藏夹的一种主界面示意图;
图4为本发明实施例动态内容预览栏显示推荐网页时的示意图。
具体实施方式
为使本发明的实施例要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明的实施例针对现有技术中需要耗费很长时间才能完成聚类算法,且非常占用CPU、内存、IO等计算资源的问题,提供一种文档聚类方法及装置、网络设备,能够提高文档聚类的速度并且节约计算资源。
图1为本发明实施例文档聚类方法的流程示意图,如图1所示,本实施例包括:
步骤a:将待聚类的文档分为多组;
步骤b:对其中一组待聚类的文档通过聚类算法进行聚类,获取初始簇,所述初始簇对应有频繁项集;
步骤c:获取余下的另外一组待聚类文档的特征词,根据所述特征词和所述初始簇对应的频繁项集,将特征词包含在所述频繁项集中的文档聚类到所述频繁项集对应的初始簇,并对剩下的特征词未包含在所述频繁项集中的文档通过聚类算法进行聚类获取新的对应有频繁项集的初始簇;
步骤d:判断是否存在未聚类的文档组,如果存在,转向步骤c;如果不存在,存储所有待聚类的文档聚类成的多个初始簇和每个所述初始簇对应的频繁项集。
本发明的文档聚类方法,对待聚类的文档进行分组,首先对其中一组文档进行聚类,将聚类结果存入数据库,针对下一组需要聚类的文档,先根据上一组文档聚类得到的初始簇,将包含初始簇的频繁项集中特征词的文档聚类到对应的初始簇,对于不能聚类到上一批初始簇中的文档,再采用聚类算法进行聚类,获取新的初始簇,以此类推,直到聚类完所有文档。本发明的文档聚类方法能够大大缩短文档聚类时间,同时能够节约计算资源。
进一步地,本发明的另一实施例中,包括上述步骤a-d的基础上,所述步骤b包括:
获取所述其中一组待聚类的文档中每个文档的特征词;
根据获取的特征词使用Apriori算法提取频繁项集;
根据所述提取的频繁项集和所述每个文档的特征词,将特征词包含在同一频繁项集中的文档聚类成同一初始簇。
进一步地,本发明的另一实施例中,包括上述步骤a-d的基础上,所述获取所述其中一组待聚类的文档中每个文档的特征词包括:
将每个文档中的文字拆分成多个词语,并对拆分后的词语进行过滤,去除干扰词获取文档的初始特征词;
利用下列公式计算每个文档的每一初始特征词的分值,保留每个文档的分值大于预设阈值的初始特征词作为该文档的特征词:
进一步地,所述对拆分后的词语进行过滤,去除干扰词获取文档的初始特征词包括:
将拆分后的词语与预设的干扰词库中的词语进行比对,如果拆分后的词语存在与干扰词库中相同的词语,则将该词语作为干扰词去除。
具体地,所述预设阈值的取值范围可以为0.0005-0.0015。
进一步地,所述根据所述提取的频繁项集和所述每个文档的特征词,将特征词包含在同一频繁项集中的文档聚类成同一初始簇包括:
计算提取的每一个频繁项集的权重;
按照权重从大到小的顺序,依次根据权重从大到小的频繁项集和每个文档的特征词对文档进行聚类,将特征词包含在同一频繁项集中的文档聚类成同一初始簇,从而针对每个频繁项集分别聚类成不同的初始簇。
进一步地,所述步骤b还包括:对于根据所述提取的频繁项集和文档的特征词没有聚类到初始簇中的文档,以文档的特征词在文档中出现的频率作为分量建立文档特征词向量,计算文档特征词向量与初始簇特征词向量之间夹角的余弦值,在该余弦值大于第一预设值时,将文档聚类到对应的初始簇中。
进一步地,本发明的一具体实施例中,所述待聚类的文档为web收藏夹中的网页,所述步骤d之后还包括:
在用户点击web收藏夹中的网页链接后,根据所述步骤d得到的聚类结果获取用户所点击网页所属的初始簇;
从所述初始簇中选择至少一个网页展示给用户。
进一步地,所述从所述初始簇中选择至少一个网页展示给用户包括:
从所述初始簇中选择多个网页,对所述多个网页进行过滤,并将过滤后的网页展示给用户,其中,过滤掉的网页包括但不限于内容重复的网页、内容不符合要求的网页。
进一步地,本发明的一具体实施例中,所述待聚类的文档为用户浏览的网页,所述步骤d之后还包括:
在用户浏览网页时,根据所述步骤d得到的聚类结果获取用户浏览的网页所属初始簇的特征词;
确定与所述初始簇的特征词的匹配程度大于第二预设值的广告的特征词,并将与该广告的特征词对应的广告推送给用户。
本发明实施例还提供了一种实现上述文档聚类方法的文档聚类装置,如图2所示,本实施例包括:
分组模块,用于将待聚类的文档分为多组;
初始聚类模块,用于对其中一组待聚类的文档通过聚类算法进行聚类,获取初始簇,所述初始簇对应有频繁项集;
分层聚类模块,用于获取余下的另外一组待聚类文档的特征词,根据所述特征词和所述初始簇对应的频繁项集,将特征词包含在所述频繁项集中的文档聚类到所述频繁项集对应的初始簇,并对剩下的特征词未包含在所述频繁项集中的文档通过聚类算法进行聚类获取新的对应有频繁项集的初始簇;
处理模块,用于判断是否存在未聚类的文档组,如果存在,转向步骤c;如果不存在,存储所有待聚类的文档聚类成的多个初始簇和每个所述初始簇对应的频繁项集。
本发明的文档聚类装置对待聚类的文档进行分组,首先对其中一组文档进行聚类,将聚类结果存入数据库,针对下一组需要聚类的文档,先根据上一组文档聚类得到的初始簇,将包含初始簇的频繁项集中特征词的文档聚类到对应的初始簇,对于不能聚类到上一批初始簇中的文档,再采用聚类算法进行聚类,获取新的初始簇,以此类推,直到聚类完所有文档。本发明的文档聚类方法能够大大缩短文档聚类时间,同时能够节约计算资源。
进一步地,所述初始聚类模块包括:
获取子模块,用于获取所述其中一组待聚类的文档中每个文档的特征词;
提取子模块,用于根据获取的特征词使用Apriori算法提取频繁项集;
聚类子模块,用于根据所述提取的频繁项集和所述每个文档的特征词,将特征词包含在同一频繁项集中的文档聚类成同一初始簇。
进一步地,所述获取子模块包括:
处理单元,用于将每个文档中的文字拆分成多个词语,并对拆分后的词语进行过滤,去除干扰词获取文档的初始特征词;
第一计算单元,用于利用下列公式计算每个文档的每一初始特征词的分值,保留每个文档的分值大于预设阈值的初始特征词作为该文档的特征词:
进一步地,所述聚类子模块包括:
第二计算单元,用于计算提取的每一个频繁项集的权重;
聚类单元,用于按照权重从大到小的顺序,依次根据权重从大到小的频繁项集和每个文档的特征词对文档进行聚类,将特征词包含在同一频繁项集中的文档聚类成同一初始簇,从而针对每个频繁项集分别聚类成不同的初始簇。
进一步地,所述聚类子模块还用于对于根据所述提取的频繁项集和文档的特征词没有聚类到初始簇中的文档,以文档的特征词在文档中出现的频率作为分量建立文档特征词向量,计算文档特征词向量与初始簇特征词向量之间夹角的余弦值,在该余弦值大于第一预设值时,将文档聚类到对应的初始簇中。
进一步地,所述文档为web网页。
进一步地,所述装置还包括:
网页展示模块,用于在用户点击web收藏夹中的网页链接后,根据所述处理模块得到的聚类结果获取用户所点击网页所属的初始簇,从所述初始簇中选择至少一个网页展示给用户。
进一步地,所述装置还包括:
广告推送模块,用于在用户浏览网页时,根据所述处理模块得到的聚类结果获取用户浏览的网页所属初始簇的特征词,确定与所述初始簇的特征词的匹配程度大于第二预设值的广告的特征词,并将与该广告的特征词对应的广告推送给用户。
本发明实施例还提供了一种网络设备,包括如上所述的文档聚类装置。该网络设备可以设置在服务器上,也可以设置在个人终端上。
下面结合具体的实施例对本发明的文档聚类方法及其应用进行进一步地说明。
实施例一
下面以文档为web网页为例,对本发明的文档聚类方法进行详细介绍。具体地,本实施例的文档聚类方法包括以下步骤:
301)对网页进行分词,即把网页中的文字拆分成多个词语,根据拆分的结果,对拆分的词语进行过滤,去除一些干扰词(比如“我的”、“这个”等),把去除干扰词后的词语作为网页的初始特征词,并把每个网页相对应的初始特征词存入数据库;
具体地,在去除干扰词时,可以预先在后台维护一个干扰词库,将拆分后的词语与干扰词库中的词进行对比,如果拆分后的词语中存在与干扰词库中相同的词,则将其作为干扰词去除。
302)读取每个网页的分词结果,即读取每个网页的初始特征词,用TF-IDF(termfrequency–inverse document frequency,词频-逆向文件频率)对网页的初始特征词进行过滤,保留分值较高的初始特征词作为网页的特征词;
在本实施例中,统计每一个初始特征词在当前网页中出现的次数、在所有需要进行聚类的网页中出现的次数,以及当前网页中所有初始特征词的总数,并根据以下公式计算各个初始特征词的分值:
其中“当前网页中所有初始特征词的总数”的计算中,重复的初始特征词按照多个词计算,也就是说,如果当前网页有三个初始特征词,三个初始特征词在网页中依次出现l、m、n次,则当前网页中所有初始特征词的总数为l+m+n。
设置分值阈值,将分值高于该阈值的初始特征词保留,作为对应网页的特证词,其中阈值的取值范围可以为0.0005-0.0015。
303)将待聚类的网页分为多组,对第一组的网页使用Apriori算法提取频繁项集;
Apriori算法是一种最有影响的挖掘布尔关联规则频繁项集的算法,其核心是基于两阶段频集思想的递推算法。Apriori算法使用频繁项集的先验知识,使用一种称作逐层搜索的迭代方法,k项集用于探索(k+1)项集。首先,通过扫描事务(交易)记录,找出所有的频繁1项集,该集合记做L1,然后利用L1找频繁2项集的集合L2,再利用L2找频繁3项集L3,如此下去,直到不能再找到任何频繁k项集。最后再在所有的频繁项集中找出强规则,即产生用户感兴趣的关联规则。
项的集合称为项集。包含k个项的项集称为k-项集。比如集合{computer,ativirus_software}是一个二项集。项集的出项频率是包含项集的事务数,简称为项集的频率,支持度计数或计数。定义项集的支持度有时称为相对支持度,而出现的频率称为绝对支持度。如果项集I的相对支持度满足预定义的最小支持度阈值,则I是频繁项集。
在本实施例中,将需要聚类的所有网页分为多组网页,可以选取一定数量(3万-50万个)的网页作为第一组需要处理的网页对象,根据步骤302)过滤后保留的特征词,对第一组需要处理的网页对象,使用Apriori算法提取频繁项集,如2项集、3项集、4项集等。举例而言,对于第一组处理的网页对象,如果同时包含相同的4个特征词的网页的数量(也即支持度,可以是一定百分比)大于一定的阈值(如30个),则这4个特征词组成的项集为频繁4项集。
可以理解的是,前述步骤301和302实际上是获取网页的特征词的过程,本实施例是在网页分组之前进行的,但不发明不限于此,也可以是在网页分组之后再进行。
304)使用步骤303提取的频繁项集将包含这些频繁项集的网页聚类成初始簇。
具体地,针对步骤303中提取的频繁项集,计算每一个频繁项集的权重,频繁项集的权重可以通过频繁项集的支持度(频繁项集在当前处理批次的网页中出现的次数)乘以频繁项集的项数来计算。
按照频繁项集的权重从大到小的顺序对本次处理的网页对象进行聚类,例如步骤303中提取了频繁2项集、频繁3项集、频繁4项集、频繁5项集,其中频繁5项集的权重最大,那么将包含频繁5项集中的特征词的网页聚类成一个初始簇;频繁3项集的权重次之,将其余网页中包含频繁3项集中的特征词的网页聚类成另一个初始簇;按照这种方式,根据频繁项集的权重的大小对剩下的网页进行聚类,针对各个频繁项集,分别聚类成不同的初始簇。
305)使用分层聚类算法对余下的网页进行聚类。
具体地,对于在步骤304中没有聚类到初始簇中的网页,在本步骤中采用分层聚类算法将这些网页进行聚类。以一个网页为例,首先根据步骤302中获取的网页特征词以及每个特征词出现的频率(可以为出现的次数),以每个特征词在网页中出现的频率作为分量建立网页特征词向量模型,然后根据各个初始簇的特征词(可以为初始簇对应的频繁项集中的特征词)在初始簇中所有网页出现的频率作为分量分别建立初始簇特征词向量模型,计算网页特征词向量与初始簇特征词向量之间夹角的余弦值,如果该余弦值大于预设的阈值,则将该网页聚类到该初始簇中,如果一个网页不能聚类到任何一个初始簇中,则将建立新的初始簇,按照上述方法处理所有在步骤304中没有聚类到初始簇中的网页后,如果存在网页个数不大于1的初始簇,则舍弃该初始簇。
举例而言,如果一个网页具有10个特征词,这些特征词出现频率分别为a1至a10,步骤304中获取的一个初始簇的特征词在初始簇中出现的频率分别为b1至b5,且网页特征词和初始簇特征词中前3个词相同,则网页特征词向量模型为
[a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,0,0]
初始簇特征词向量模型为
[b1,b2,b3,0,0,0,0,0,0,0,b4,b5]
可以理解的是,对于由频繁项集形成的初始簇,其特征词为频繁项集的特征词,特征词的频率可能相同,如果通过上述算法,初始簇中增加了新的网页形成类簇,则类簇的特征词为初始簇的特征词和新增的网页的特征词之和,这时,类簇中即频繁项集的特征词的频率可能不同,在聚类下一个网页时,可选的,需要运用新的特征词进行聚类。
306)将第一组网页的聚类结果存入数据库。
307)针对下一组需要聚类的网页,首先按照步骤301和步骤302的方法对网页进行处理,其次查找包含上一批类簇的频繁项集中的特征词的网页,将包含上一批类簇的频繁项集中的特征词的网页聚类到步骤305中的相应的初始簇中,举例而言,如果一个网页中包含上一组网页的频繁5项集形成的类簇中的特征词,则将该网页聚类到该频繁5项集形成的初始簇中,针对不能根据上一批类簇的频繁项集的特征词聚类到步骤305中的初始簇中的网页,采用步骤303至306中的方法进行聚类。
本步骤中,针对这一组需要聚类的网页,还可以直接采用步骤301至步骤306中的方法进行聚类,形成一批新的初始簇,然后通过计算这些初始簇与上一批获取的初始簇之间的相似度,将相似度高于一定阈值的初始簇合并。其中,初始簇之间的相似度可以通过频繁项集中的特征词的频率建立的向量之间的夹角的余弦值来计算。
308)按照上述方法进行聚类,直到聚类完所有网页,将不同批次形成的初始簇聚集在一起形成初始簇集。
本实施例通过对大量级的网页进行分批量的增量式聚类,能够节省大量的服务器资源和计算时间,并能够支持更大的数据量级的网页聚类。
实施例二
本发明的文档聚类方法可以应用在收藏夹(可以是本地收藏夹和web收藏夹)功能中,根据用户收藏的网页向用户推荐其他网页的应用中。
具体地,本实施例包括以下步骤:
401)在用户收藏一个网页之后,可以利用爬虫程序抓取该网页的源码,然后将该网页的所有内容拆分成多个词语,并记录各个词语出现的次数,然后将信息存入数据库;
402)在满足预设的判定条件之后,利用实施例一的文档聚类方法对用户收藏的网页进行聚类,并把聚类的结果存入数据库;比如,预先设置进行文档聚类的时间节点,在每到达预设的时间节点时,利用实施例一的文档聚类方法对用户收藏的网页进行聚类,并把聚类的结果存入数据库;或者设置一新增网页阈值,当新增的用户收藏的网页的个数超过该新增网页阈值时,利用实施例一的文档聚类方法对用户收藏的网页进行聚类,并把聚类的结果存入数据库。
403)当用户点击web收藏夹中的一条网页链接时,网络设备会向服务端发送请求,请求获取该网页的相关信息,其中包括了基于该网页向用户推荐的其它网页的信息;
404)服务端接收到请求后,从数据库中读取聚类的结果,通过该网页找到其所属的类簇,然后在类簇中随机找出N个(N为大于等于1的整数,比如可以为3个)相关的网页作为结果返回给网络设备;
405)网络设备得到消息后展示该网页的相关网页(即推荐网页)给用户,以便用户通过浏览推荐的网页获取所关注的信息。
另外,在步骤404中,为了得到更精准的推荐结果,可以在向用户推荐网页之前对网页进行过滤,以排除那些可能对用户来说并无意义的网页,过滤掉的网页包括但不限于:1)与推荐的其他网页的url(Uniform Resource Locator,统一资源定位符)虽然不同,但是代表的是同一个网页的链接;2)一些内容设计色情的网页,3)一些内容与推荐的其他网页完全一致,只是经过转载后的网页等。
如图3所示,为web收藏夹的一种主界面示意图。web收藏夹的主界面包括三个内容栏,最左边为文件夹栏,中间为地址栏,最右边为动态内容预览栏。其中文件夹栏中,文件夹是用户对收藏的网址进行分类整理后形成的;地址栏中显示用户在文件夹栏中选中的文件夹中包含的地址列表,地址列表中的地址通常以地址名称的形式显示出来,即当用户在文件夹栏中选中一个文件夹时,该文件夹中包含的地址以列表的形式显示在地址栏中;动态内容预览栏中显示用户在地址栏中选中的地址所对应的网页的预览信息。当用户在地址栏中点击收藏的网页标题周围横向空白区域时,右侧的动态内容预览栏中显示该相应收藏网页的预览信息,包括网页的标题、摘要、最相关的图片缩略图、URL,还包括基于该收藏的网页推荐的相关网页,如图4所示,这样根据用户收藏的网页向用户推荐与收藏网页相关的网页,用户通过推荐的网页能够得到一些他希望看到的但是收藏的网页所不包含的内容,既拓宽了用户视野,又能让用户收集到更多的信息,在用户打开web收藏夹应用时,能够使用户得到意料之外的一些惊喜,提高了用户体验。
实施例三
本发明的文档聚类方法可以应用在广告推送功能中,以达到广告精准投放的目的。
具体地,本实施例包括以下步骤:
501)在用户浏览网页时,可以利用爬虫程序抓取用户所浏览网页的源码,然后将用户所浏览网页的所有内容拆分成多个词语,并记录各个词语出现的次数,然后将信息存入数据库;
502)利用实施例一的文档聚类方法对用户所浏览网页进行聚类,把聚类的结果存入数据库,并保存类簇中所有网页的特征词;
503)针对每则广告,找出每则广告的特征词,具体地,可以利用实施例一中的步骤301-302找出每则广告的特征词;
504)计算每则广告的特征词与用户所浏览网页类簇的特征词之间的匹配程度(即相似度),找出与用户所浏览网页类簇的特征词匹配程度大于预设阈值的广告的特征词,从而确定与用户所浏览网页对应的广告;
505)在用户浏览某一网页时,将通过步骤504确定的与用户所浏览网页对应的广告推送给用户。
当用户浏览网页的时候,用户的意图往往是比较明确的,用户想看到的信息都是该网页所包含的信息。因此,推荐给用户的广告应该也是基于用户所浏览网页信息的,这样,用户才会对广告内容感兴趣。否则,如果广告内容与用户所浏览网页的内容不匹配,则用户对广告将嗤之以鼻,毫无兴趣。
本实施例先对用户所浏览网页进行聚类,并保存类簇中所有网页的特征词;针对每则广告,都对其进行特征词标注;然后根据网页类簇的特征词和广告的特征词的匹配程度,对特定的网页推送相关的广告,以此来达到广告精准推送的效果。
此说明书中所描述的许多功能部件都被称为模块,以便更加特别地强调其实现方式的独立性。
本发明实施例中,模块可以用软件实现,以便由各种类型的处理器执行。举例来说,一个标识的可执行代码模块可以包括计算机指令的一个或多个物理或者逻辑块,举例来说,其可以被构建为对象、过程或函数。尽管如此,所标识模块的可执行代码无需物理地位于一起,而是可以包括存储在不同物理上的不同的指令,当这些指令逻辑上结合在一起时,其构成模块并且实现该模块的规定目的。
实际上,可执行代码模块可以是单条指令或者是许多条指令,并且甚至可以分布在多个不同的代码段上,分布在不同程序当中,以及跨越多个存储器设备分布。同样地,操作数据可以在模块内被识别,并且可以依照任何适当的形式实现并且被组织在任何适当类型的数据结构内。所述操作数据可以作为单个数据集被收集,或者可以分布在不同位置上(包括在不同存储设备上),并且至少部分地可以仅作为电子信号存在于系统或网络上。
在模块可以利用软件实现时,考虑到现有硬件工艺的水平,所以可以以软件实现的模块,在不考虑成本的情况下,本领域技术人员都可以搭建对应的硬件电路来实现对应的功能,所述硬件电路包括常规的超大规模集成(VLSI)电路或者门阵列以及诸如逻辑芯片、晶体管之类的现有半导体或者是其它分立的元件。模块还可以用可编程硬件设备,诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备等实现。
在本发明各方法实施例中,所述各步骤的序号并不能用于限定各步骤的先后顺序,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,对各步骤的先后变化也在本发明的保护范围之内。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。