具体实施方式
如图1所示,一实施例中的网页推送方法,包括如下步骤:
步骤S110,收集用户访问过的网页。由于用户的兴趣随时间变化,不同时间段访问的网页不同,需要不断收集用户访问的网页。通过浏览器收集用户访问过的网页的网址发送到服务器进行处理。这里的浏览器可以是专用于浏览网页的浏览器,也可以是兼具浏览器功能的其他工具,例如下载工具、视频播放工具等。收集用户访问过的网页除了通过收集网页的网址外,还可以对该网址进行处理后进行收集,例如处理成具有统一格式的标识信息等,只要能再次获得该网页即可;另外,只要存储量和计算量允许,还可以将网页所包含的具体内容也一并收集。
步骤S120,根据用户访问过的网页获得用户的兴趣所在的类别。通过步骤S110收集用户访问过的网页后,可以对这些网页进行处理获得用户的兴趣所在的类别。类别的具体名称及上下层的母类别和子类别对应关系可以预先设定,再根据用户访问过的网页进行分类,将用户的兴趣依据访问过的网页分类到相应类别上。例如用户访问过的网页包含大量体育类关键词,可以将用户的兴趣定位为体育类别,进一步的如果这些体育类关键词中足球和篮球较多,可以将用户的兴趣定位为体育母类别中的足球子类别和篮球子类别;又如用户访问过的网页包含大量财经类、娱乐类关键词,可以将用户的兴趣定位为财经类、娱乐类两个类别。关键词的获得可以通过访问过的网页中的导航信息中获得,这种方式能够简单快捷的获得网页中最有效的关键词。另外,关键词也可以通过对网页内容进行统计提取数量最多的词作为关键词。在具体的处理过程中,可以将关键词处理成标识代码,方便运算,而不用处理文字本身。
步骤S130,推送用户的兴趣所在的类别的网页给所述用户。通过步骤S120获得用户的兴趣所在的类别后,可以将该类别对应的网页推送给用户,该类别对应的网页可以是通过人工预先设定的一些网页,也可以是计算机自动分类到该类别的网页,还可以是人工预先设定的一些网页和计算机自动分类的结合。当然,由于互联网中网页的数量级非常庞大,绝大多数网页是通过计算机自动分类到相应类别的。与根据用户访问过的网页获得用户的兴趣所在的类别的方法类似,同样可以将需要分类的网页根据关键词进行匹配,只是在根据用户访问过的网页获得用户的兴趣所在的类别的过程中,用户访问过的网页是若干个网页,将若干个网页的关键词的集合来进行分类,可以根据需要分类到一个或几个类别中;而将需要分类的网页自动分类到相应类别的过程中,网页是逐个分类的,只依据该单个网页的关键词来进行分类,一般也只分类到一个类别中。在推送的过程中,某个类别下的网页量通常比较庞大,可以采取随机推送的方式,也可以根据访问量排名将排名靠前的网页推送给用户。当然,为了避免重复推送,对用户已经访问的网页和已经推送但用户没有访问的网页不再推送。
上述网页推送方法结合用户问过的网页确定用户的兴趣所在的类别,再将该类别的网页推送给用户,能够根据用户的情况进行信息的推送,所推送的信息往往也是用户所需要的,提高了推送信息的有效性,有利于信息量的扩充和信息的有效传播。
如图2所示,一实施例中的网页推送方法,还包括根据分类体系将网页分类到相应的类别的步骤S200。分类体系确定后,通过下述几种方式可以将网页分类到相应的类别中,如通过人工预先设定网页到上述分类体系的类别中,也可以是计算机自动分类到上述分类体系的类别中,还可以是人工预先设定的一些网页和计算机自动分类的结合。当然,如上所述,由于互联网中网页的数量级非常庞大,因此本步骤S200是通过计算机自动分类到相应类别的。分类体系可以采用已有的网址分类大全的分类体系,也可以根据浏览器用户的具体需求,建立合适范围、大小、细分程度的分类体系。分类体系中每个母类别可以再分出一些子类别,每个母类别或子类别可以包含一些网页的网址,比如艺术类别包含一些艺术相关的网页,同时有电影、电视、摄影等子类别。子类别也可以包含一些网页的网址,如电影子类别中有电影相关的网页的网址等。
由于步骤S200可以预先完成,因此在网页推送方法运行的过程中可以不执行步骤S200。另外,步骤S200可以完全由人工预设完成,而不作为计算机自动运行的网页推送方法的一部分。步骤S200之后依次为步骤S210、步骤S220及步骤S230,步骤S210、步骤S220及步骤S230分别与步骤S110、步骤S120及步骤S 130相同,在此不再赘述。
具体来说,如图3所示,步骤S200采用人工预先设定的一些网页和计算机自动分类的结合的方式进行分类可以具体包括如下步骤:
步骤S310,读取网页分类体系。如上所述,分类体系可以采用已有的网址分类大全的分类体系,也可以根据浏览器用户的具体需求,建立合适范围、大小、细分程度的分类体系。分类体系通常为树形。
步骤S320,读取已经分类到所述分类体系的已分类网页。这些已分类网页为通过人工预先设定好类别的网页,作为计算机自动分类的基础,建立计算机自动分类的训练模型。
步骤S330,根据已分类网页及分类体系对需要分类的网页进行分类。本步骤中,通过网页爬虫抓取的需要分类的网页根据已分类网页及分类体系进行分类,分类的依据可以抽取需要分类的网页中的关键词与已分类网页中的关键词的集合进行相似度计算,符合要求的分到相应类别中;分类的依据还可以是抽取需要分类的网页中的关键词与已分类网页中的关键词的进行匹配,符合要求的分到相应类别中。
采用人工预先设定的一些网页和计算机自动分类的结合的方式进行分类,既能减少人工分类的工作量(因为无穷尽的互联网网页资源使得不可能通过人工将所有网页分类完),以人工分类的网页作为基础,又能保证分类的准确度。
如图4所示,通过关键词匹配的方式实现步骤S330的方式具体包括如下步骤:
步骤S410,抽取已分类网页的关键词。因为大型网站通常都有自己对网页的分类信息,这些分类信息通常都有固定的展现形式,利用这些分类信息能够高效的实现网页分类。例如,利用网页中的导航信息来帮助网页分类,通过针对固定的大型网站预先配置的导航信息位置,解析网页的DOM(DocumentObject Model,文档对象模型)树,获得导航信息的内容作为关键词。另外,关键词也可以通过对网页内容进行统计提取数量最多的词作为关键词。
步骤S420,建立已分类网页的关键词的集合。通常一个网页中的关键词不止一个,而已分类网页通常也有多个,对各个已分类网页的关键词进行组合可以得到相应类别的已分类网页的关键词的集合。当然只有一个关键词也可以作只有一个关键词的集合。进一步地,为了减小集合中关键词的数量,可以将已分类网页的关键词的集合中出现频率低于要求的关键词删除。
步骤S430,抽取需要分类的网页的关键词。本步骤的抽取方式与步骤S410类似,只是抽取的是需要分类的网页的关键词。
步骤S440,建立需要分类的网页的关键词的集合。通常一个网页中的关键词不止一个,将这些关键词进行组合可以得到需要分类的网页的关键词的集合。如果采用导航信息的内容作为关键词,由于关键词的概括性已经非常强,可以不删除出现频率低的关键词;当然,在关键词的量较大的情况下,也可以删除出现频率低于要求的关键词。
步骤S450,将需要分类的网页分类到与需要分类的网页的关键词的集合匹配的已分类网页的关键词的集合对应的类别中。本步骤中的匹配可以是已分类网页的关键词的集合包括需要分类的网页的关键词的集合,还可以是置乱配对的方式。置乱配对的方式将在下文进行更详细的描述。
通过关键词匹配的方式实现需要分类的网页的分类,可以减少计算的复杂度,比如相似度的计算比较耗费计算资源,而关键词的匹配则可以减少对计算资源的依赖,在大量网页需要分类的情况下,可以显著提高分类的效率。
如图5所示,步骤S450采用置乱配对的方式进行匹配的方式包括如下步骤:
步骤S510,对已分类网页的关键词的集合进行n次置乱操作,获得每次置乱操作排在预定位置的关键词的集合作为该类别的已分类网页的置乱集合。例如,已分类网页的关键词的集合为:Ci={K1,K2,K3,...,KL},进行第一次随机打乱次序的置乱操作后,排在第一位的预定位置的关键词为K3;进行第二次随机打乱次序的置乱操作后,排在第一位的预定位置的关键词为K5;进行第三次随机打乱次序的置乱操作后,排在第一位的预定位置的关键词为K2。则已分类网页的置乱集合为Cix={K2,K3,K5}。
步骤S520,对需要分类的网页的关键词的集合进行n次置乱操作,获得每次置乱操作排在预定位置的关键词的集合作为需要分类的网页的置乱集合。例如,需要分类的网页的关键词的集合为:Wi={K1,K2,K3,...,KL},进行第一次随机打乱次序的置乱操作后,排在第一位的预定位置的关键词为K3;进行第二次随机打乱次序的置乱操作后,排在第一位的预定位置的关键词为K5;进行第三次随机打乱次序的置乱操作后,排在第一位的预定位置的关键词为K2。则已分类网页的置乱集合为Wix={K2,K3,K5}。
步骤S530,将需要分类的网页分类到与需要分类的网页的置乱集合相同的已分类网页的置乱集合对应的类别中。例如,上面的例子中,Cix与Wix相同,将关键词的集合为:Wi={K1,K2,K3,...,KL}的需要分类的网页分类到已分类网页的置乱集合为Cix={K2,K3,K5}对应的类别中。当然,上面是以一个例子进行说明,实际处理过程中,由于类别较多,因此已分类网页的置乱集合也较多;置乱操作的次数n也可以根据需要进行设定,例如只置乱1次,则置乱集合只有一个关键词,虽然分类的精度不高,但是可以大量减少计算量,对于推送要求不高场合非常适用;如果推送要求较高,可以根据需要设定置乱的次数n,因此有极高的灵活性。
如图6所示,步骤S200的分类方法同样可以用到步骤S120中,即根据用户访问过的网页获得用户的兴趣所在的类别的步骤具体包括步骤S610至S670。
步骤S610,读取网页分类体系。如上所述,分类体系可以采用已有的网址分类大全的分类体系,也可以根据浏览器用户的具体需求,建立合适范围、大小、细分程度的分类体系。分类体系通常为树形。本步骤也可以直接使用步骤S310的结果。
步骤S620,读取已经分类到所述分类体系的已分类网页。这些已分类网页为通过人工预先设定好类别的网页,作为计算机自动分类的基础,建立计算机自动分类的训练模型。本步骤也可以直接使用步骤S320的结果。
步骤S630,抽取已分类网页的关键词。因为大型网站通常都有自己对网页的分类信息,这些分类信息通常都有固定的展现形式,利用这些分类信息能够高效的实现网页分类。例如,利用网页中的导航信息来帮助网页分类,通过针对固定的大型网站预先配置的导航信息位置,解析网页的DOM树,获得导航信息的内容作为关键词。另外,关键词也可以通过对网页内容进行统计提取数量最多的词作为关键词。本步骤也可以直接使用步骤S410的结果。
步骤S640,建立已分类网页的关键词的集合。通常一个网页中的关键词不止一个,而已分类网页通常也有多个,对各个已分类网页的关键词进行组合可以得到相应类别的已分类网页的关键词的集合。进一步地,为了减小集合中关键词的数量,可以将已分类网页的关键词的集合中出现频率低于要求的关键词删除。本步骤也可以直接使用步骤S420的结果。
步骤S650,抽取用户访问过的网页的关键词。本步骤的抽取方式与步骤S630类似,只是抽取的是用户访问过的网页的关键词。
步骤S660,建立用户访问过的网页的关键词的集合。通常一个网页中的关键词不止一个,而用户访问过的网页通常也有多个,对各个用户访问过的网页的关键词进行组合可以得到用户访问过的网页的关键词的集合。进一步地,为了减小集合中关键词的数量,可以将用户访问过的网页的关键词的集合中出现频率低于要求的关键词删除。
步骤S670,将所述用户分类到与所述用户访问过的网页的关键词的集合匹配的所述已分类网页的关键词的集合对应的类别中。本步骤中的匹配可以是已分类网页的关键词的集合包括用户访问过的网页的关键词的集合,还可以是置乱配对的方式。通过关键词匹配的方式实现用户访问过的网页的分类,可以减少计算的复杂度,比如相似度的计算比较耗费计算资源,而关键词的匹配则可以减少对计算资源的依赖。
如图7所示,步骤S670采用置乱配对的方式进行匹配的方式包括如下步骤:
步骤S710,对已分类网页的关键词的集合进行m次置乱操作,获得每次置乱操作排在预定位置的关键词的集合作为该类别的已分类网页的置乱集合。例如,已分类网页的关键词的集合为:Ci={K1,K2,K3,...,KL},进行第一次随机打乱次序的置乱操作后,排在第一位的预定位置的关键词为K3;进行第二次随机打乱次序的置乱操作后,排在第一位的预定位置的关键词为K5;进行第三次随机打乱次序的置乱操作后,排在第一位的预定位置的关键词为K2。则已分类网页的置乱集合为Cix={K2,K3,K5}。
步骤S720,对用户访问过的网页的关键词的集合进行m次置乱操作,获得每次置乱操作排在预定位置的关键词的集合作为用户访问过的网页的置乱集合。例如,用户访问过的网页的关键词的集合为:Ui={K1,K2,K3,...,KL},进行第一次随机打乱次序的置乱操作后,排在第一位的预定位置的关键词为K3;进行第二次随机打乱次序的置乱操作后,排在第一位的预定位置的关键词为K5;进行第三次随机打乱次序的置乱操作后,排在第一位的预定位置的关键词为K2。则已分类网页的置乱集合为Uix={K2,K3,K5}。
步骤S730,将用户的兴趣分类到与用户访问过的网页的置乱集合相同的已分类网页的置乱集合对应的类别中。例如,上面的例子中,Cix与Uix相同,将用户的兴趣分类到已分类网页的置乱集合为Cix={K2,K3,K5}对应的类别中。当然,上面是以一个例子进行说明,实际处理过程中,由于类别较多,因此已分类网页的置乱集合也较多;置乱操作的次数n也可以根据需要进行设定。这里由于用户访问过的网页较多,并且已分类网页也通常较多,为了较准确的确定用户的兴趣分类,置乱的次数可以设置得稍高。
上述网页推送方法采用置乱的方式进行分类,可以显著降低计算量,具体分析如下:
传统的相似度计算分类方法,需要每个网页关键词集合与每个分类关键词集合分别计算相似度(similarity),计算公式如图8所示,对于所有网页的时间复杂度为O(N*M*L),N为网页个数,M为分类个数,L为关键词的平均个数。相似度计算的复杂度极高,对于大规模的网页,在现实情况下通常无法实际进行处理。
而采用置乱的方式,时间复杂度近似为O(N*n*L),N为网页的个数,n为置乱次数,L为关键词的平均个数。各分类的已分类网页的置乱集合可以预先算好,不必针对每个网页进行计算。置乱集合的计算复杂度为O(n*L),在进行需要分类的网页进行分类时,n通常可以是1,效率上远优于传统的相似度算法。由于通过网页中的导航信息抽取关键词,能够很大程度上描述网页的分类信息,且网页推送对于分类的精确程度不高,因此这里的置乱的方式能够提高运算速度,且能够满足向用户推送所需网页的需求。
如图9所示,作为上述网页推送方法的补充,上述网页推送方法还包括采用集合的方式推送网页的步骤,具体包括:
步骤S910,获取访问过所述网页的其他用户作为第一用户集。这里的所述网页是指步骤S110中用户访问过的网页,可以表示为:Ui={w1,w2,w3,…wL}。Ui是某个浏览器用户,w1,w2,w3,...wL是该用户访问过的网址集合。建立倒排表,即访问过网页Wi的用户集合记为:Wi={u1,u2,u3,...uL}。获取访问过w1,w2,w3,…wL的用户的集合{u1,u2,u3,…uN}作为第一用户集。
步骤S920,去除第一用户集中访问所述网页的数量低于第一阈值的用户作为第二用户集。由于第一用户集中的用户数可能较大,在实际计算中,可以按访问网址的频率进行过滤,取频率高的用户,即取第一阈值γ(uN>γ),这里的uN表示用户uN访问{w1,w2,w3,...wL}中网页的数量,数量大于第一阈值γ则表示访问网址的频率高。去除第一用户集中访问所述网页的数量低于第一阈值的用户后,剩下的用户作为第二用户集。
步骤S930,获取第二用户集中的用户访问过的网页的集合作为第一网页集。获得第二用户集后,将第二用户集中的用户访问过的网页集合{p1,p2,p3,...pL}作为第一网页集。
步骤S940,去除所述第一网页集中访问量低于第二阈值的网页作为第二网页集。即第一网页集中如果有的网页的访问量低,说明这些网页受欢迎程度不高,可以去除这些低访问量的网页后作为第二网页集。
步骤S950,将第二网页集中所述用户访问过的网页去除后推送给所述用户。由于第二网页集中,可能存在用户已经访问过的网页,通过去重操作,避免推送给用户已经访问过的网页。
采用集合的方式推送网页的步骤,通过截取高频的网页和用户,这种方式的推送的网页通常是一些热门的网页,作为上述网页推送方法的补充可以使得推送的网页更加全面。并且对于没有导航信息的网页,如果通过上述网页推送方法进行网页全文关键词的提取较为消耗计算量,可以用这种补充的步骤来推送没有导航信息的网页。
此外,还提供了一种网页推送系统,如图10所示,网页推送系统包括网页收集模块110、兴趣分类模块120及分类推送模块130。
网页收集模块110用于收集用户访问过的网页。由于用户的兴趣随时间变化,不同时间段访问的网页不同,需要不断收集用户访问的网页。网页收集模块110通过浏览器收集用户访问过的网页的网址发送到服务器进行处理。这里的浏览器可以是专用于浏览网页的浏览器,也可以是兼具浏览器功能的其他工具,例如下载工具、视频播放工具等。收集用户访问过的网页除了通过收集网页的网址外,还可以对该网址进行处理后进行收集,例如处理成具有统一格式的标识信息等,只要能再次获得该网页即可;另外,只要存储量和计算量允许,还可以将网页所包含的具体内容也一并收集。
兴趣分类模块120根据用户访问过的网页获得用户的兴趣所在的类别。通过网页收集模块110收集用户访问过的网页后,可以对这些网页进行处理获得用户的兴趣所在的类别。类别的具体名称及上下层的母类别和子类别对应关系可以预先设定,再根据用户访问过的网页进行分类,将用户的兴趣依据访问过的网页分类到相应类别上。例如用户访问过的网页包含大量体育类关键词,可以将用户的兴趣定位为体育类别,进一步的如果这些体育类关键词中足球和篮球较多,可以将用户的兴趣定位为体育母类别中的足球子类别和篮球子类别;又如用户访问过的网页包含大量财经类、娱乐类关键词,可以将用户的兴趣定位为财经类、娱乐类两个类别。关键词的获得可以通过访问过的网页中的导航信息中获得,这种方式能够简单快捷的获得网页中最有效的关键词。另外,关键词也可以通过对网页内容进行统计提取数量最多的词作为关键词。在具体的处理过程中,可以将关键词处理成标识代码,方便运算,而不用处理文字本身。
分类推送模块130推送用户的兴趣所在的类别的网页给用户。通过兴趣分类模块120获得用户的兴趣所在的类别后,可以将该类别对应的网页推送给用户,该类别对应的网页可以是通过人工预先设定的一些网页,也可以是计算机自动分类到该类别的网页,还可以是人工预先设定的一些网页和计算机自动分类的结合。当然,由于互联网中网页的数量级非常庞大,绝大多数网页是通过计算机自动分类到相应类别的。与根据用户访问过的网页获得用户的兴趣所在的类别的方法类似,同样可以将需要分类的网页根据关键词进行匹配,只是在根据用户访问过的网页获得用户的兴趣所在的类别的过程中,用户访问过的网页是若干个网页,将若干个网页的关键词的集合来进行分类,可以根据需要分类到一个或几个类别中;而将需要分类的网页自动分类到相应类别的过程中,网页是逐个分类的,只依据该单个网页的关键词来进行分类,一般也只分类到一个类别中。在推送的过程中,某个类别下的网页量通常比较庞大,可以采取随机推送的方式,也可以根据访问量排名将排名靠前的网页推送给用户。当然,为了避免重复推送,对用户已经访问的网页和已经推送但用户没有访问的网页不再推送。
上述网页推送系统结合用户问过的网页确定用户的兴趣所在的类别,再将该类别的网页推送给用户,能够根据用户的情况进行信息的推送,所推送的信息往往也是用户所需要的,提高了推送信息的有效性,有利于信息量的扩充和信息的有效传播。
如图11所示,一实施例中的网页推送系统,还包括根据分类体系将网页分类到相应的类别的网页分类模块200。分类体系确定后,通过下述几种方式可以将网页分类到相应的类别中,如通过人工预先设定网页到上述分类体系的类别中,也可以是计算机自动分类到上述分类体系的类别中,还可以是人工预先设定的一些网页和计算机自动分类的结合。当然,如上所述,由于互联网中网页的数量级非常庞大,因此网页分类模块200是通过计算机自动分类到相应类别的。分类体系可以采用已有的网址分类大全的分类体系,也可以根据浏览器用户的具体需求,建立合适范围、大小、细分程度的分类体系。分类体系中每个母类别可以再分出一些子类别,每个母类别或子类别可以包含一些网页的网址,比如艺术类别包含一些艺术相关的网页,同时有电影、电视、摄影等子类别。子类别也可以包含一些网页的网址,如电影子类别中有电影相关的网页的网址等。
由于网页分类模块200可以预先完成分类,并且,可以完全由人工预设完成将网页分类到相应的类别,网页分类模块200可以不作为计算机自动运行的网页推送系统的一部分。网页推送系统包括网页收集模块210、兴趣分类模块220及分类推送模块230分别与网页推送系统包括网页收集模块110、兴趣分类模块120及分类推送模块130相同,在此不再赘述。
具体来说,如图12所示,网页分类模块200包括分类体系读取单元310、已分类网页读取单元320及网页分类单元330。
分类体系读取单元310用于读取网页分类体系。如上所述,分类体系可以采用已有的网址分类大全的分类体系,也可以根据浏览器用户的具体需求,建立合适范围、大小、细分程度的分类体系。分类体系通常为树形。
已分类网页读取单元320用于读取已经分类到所述分类体系的已分类网页。这些已分类网页为通过人工预先设定好类别的网页,作为计算机自动分类的基础,建立计算机自动分类的训练模型。
网页分类单元330用于根据已分类网页及分类体系对需要分类的网页进行分类。通过网页爬虫抓取的需要分类的网页根据已分类网页及分类体系进行分类,分类的依据可以抽取需要分类的网页中的关键词与已分类网页中的关键词的集合进行相似度计算,符合要求的分到相应类别中;分类的依据还可以是抽取需要分类的网页中的关键词与已分类网页中的关键词的进行匹配,符合要求的分到相应类别中。
采用人工预先设定的一些网页和计算机自动分类的结合的方式进行分类,既能减少人工分类的工作量(因为无穷尽的互联网网页资源使得不可能通过人工将所有网页分类完),以人工分类的网页作为基础,又能保证分类的准确度。
如图13所示,网页分类单元330包括第一关键词抽取单元410、第一集合建立单元420、第二关键词抽取单元430、第二集合建立单元440及第一匹配单元450。
第一关键词抽取单元410用于抽取已分类网页的关键词。因为大型网站通常都有自己对网页的分类信息,这些分类信息通常都有固定的展现形式,利用这些分类信息能够高效的实现网页分类。例如,利用网页中的导航信息来帮助网页分类,通过针对固定的大型网站预先配置的导航信息位置,解析网页的DOM(Document Object Model,文档对象模型)树,获得导航信息的内容作为关键词。另外,关键词也可以通过对网页内容进行统计提取数量最多的词作为关键词。
第一集合建立单元420建立已分类网页的关键词的集合。通常一个网页中的关键词不止一个,而已分类网页通常也有多个,对各个已分类网页的关键词进行组合可以得到相应类别的已分类网页的关键词的集合。进一步地,为了减小集合中关键词的数量,可以将已分类网页的关键词的集合中出现频率低于要求的关键词删除。
第二关键词抽取单元430用于抽取需要分类的网页的关键词。第二关键词抽取单元430抽取方式与第一关键词抽取单元410类似,只是抽取的是需要分类的网页的关键词。第二关键词抽取单元430与第一关键词抽取单元410可以是同一个单元,只是在不同的阶段起的作用不同,也可以是不同的单元。
第二集合建立单元440用于建立需要分类的网页的关键词的集合。通常一个网页中的关键词不止一个,将这些关键词进行组合可以得到需要分类的网页的关键词的集合。如果采用导航信息的内容作为关键词,由于关键词的概括性已经非常强,可以不删除出现频率低的关键词;当然,在关键词的量较大的情况下,也可以删除出现频率低于要求的关键词。第一集合建立单元420与第二集合建立单元440可以是同一个单元在不同的阶段起的作用不同,也可以是不同的单元。
第一匹配单元450用于将需要分类的网页分类到与需要分类的网页的关键词的集合匹配的已分类网页的关键词的集合对应的类别中。第一匹配单元450进行的匹配可以是已分类网页的关键词的集合包括需要分类的网页的关键词的集合,还可以是置乱配对的方式。置乱配对的方式将在下文进行更详细的描述。
通过关键词匹配的方式实现需要分类的网页的分类,可以减少计算的复杂度,比如相似度的计算比较耗费计算资源,而关键词的匹配则可以减少对计算资源的依赖,在大量网页需要分类的情况下,可以显著提高分类的效率。
如图14所示,第一匹配单元450包括第一置乱单元510、第二置乱单元520及第一配对单元530。
第一置乱单元510用于对已分类网页的关键词的集合进行n次置乱操作,获得每次置乱操作排在预定位置的关键词的集合作为该类别的已分类网页的置乱集合。例如,已分类网页的关键词的集合为:Ci={K1,K2,K3,...,KL},进行第一次随机打乱次序的置乱操作后,排在第一位的预定位置的关键词为K3;进行第二次随机打乱次序的置乱操作后,排在第一位的预定位置的关键词为K5;进行第三次随机打乱次序的置乱操作后,排在第一位的预定位置的关键词为K2。则已分类网页的置乱集合为Cix={K2,K3,K5}。
第二置乱单元520用于对需要分类的网页的关键词的集合进行n次置乱操作,获得每次置乱操作排在预定位置的关键词的集合作为需要分类的网页的置乱集合。例如,需要分类的网页的关键词的集合为:Wi={K1,K2,K3,...,KL},进行第一次随机打乱次序的置乱操作后,排在第一位的预定位置的关键词为K3;进行第二次随机打乱次序的置乱操作后,排在第一位的预定位置的关键词为K5;进行第三次随机打乱次序的置乱操作后,排在第一位的预定位置的关键词为K2。则已分类网页的置乱集合为Wix={K2,K3,K5}。第一置乱单元510与第二置乱单元520可以是同一个单元在不同的阶段起的作用不同,也可以是不同的单元。
第一配对单元530用于将需要分类的网页分类到与需要分类的网页的置乱集合相同的已分类网页的置乱集合对应的类别中。例如,上面的例子中,Cix与Wix相同,将关键词的集合为:Wi={K1,K2,K3,...,KL}的需要分类的网页分类到已分类网页的置乱集合为Cix={K2,K3,K5}对应的类别中。当然,上面是以一个例子进行说明,实际处理过程中,由于类别较多,因此已分类网页的置乱集合也较多;置乱操作的次数n也可以根据需要进行设定,例如只置乱1次,则置乱集合只有一个关键词,虽然分类的精度不高,但是可以大量减少计算量,对于推送要求不高场合非常适用;如果推送要求较高,可以根据需要设定置乱的次数n,因此有极高的灵活性。
如图15所示,兴趣分类模块120可以采用与网页分类模块200相似的分类方式,具体来说,兴趣分类模块120包括分类体系读取单元610、已分类网页读取单元620、第一关键词抽取单元630、第一集合建立单元640、第三关键词抽取单元650、第三集合建立单元660及第二匹配单元670。
分类体系读取单元610用于读取网页分类体系。如上所述,分类体系可以采用已有的网址分类大全的分类体系,也可以根据浏览器用户的具体需求,建立合适范围、大小、细分程度的分类体系。分类体系通常为树形。
已分类网页读取单元620用于读取已经分类到所述分类体系的已分类网页。这些已分类网页为通过人工预先设定好类别的网页,作为计算机自动分类的基础,建立计算机自动分类的训练模型。兴趣分类模块120的分类体系读取单元610、已分类网页读取单元620可以与网页分类模块200共用,也可以单独设置。
第一关键词抽取单元630用于抽取已分类网页的关键词。因为大型网站通常都有自己对网页的分类信息,这些分类信息通常都有固定的展现形式,利用这些分类信息能够高效的实现网页分类。例如,利用网页中的导航信息来帮助网页分类,通过针对固定的大型网站预先配置的导航信息位置,解析网页的DOM树,获得导航信息的内容作为关键词。另外,关键词也可以通过对网页内容进行统计提取数量最多的词作为关键词。兴趣分类模块120的第一关键词抽取单元630可以与网页分类单元330的第一关键词抽取单元410为同一单元,也可以为分别设置的不同单元。
第一集合建立单元640用于建立已分类网页的关键词的集合。通常一个网页中的关键词不止一个,而已分类网页通常也有多个,对各个已分类网页的关键词进行组合可以得到相应类别的已分类网页的关键词的集合。当进一步地,为了减小集合中关键词的数量,可以将已分类网页的关键词的集合中出现频率低于要求的关键词删除。兴趣分类模块120的第一集合建立单元640可以与网页分类单元330的第一集合建立单元420为同一单元,也可以为分别设置的不同单元。
第三关键词抽取单元650用于抽取所述用户访问过的网页的关键词。第三关键词抽取单元650的抽取方式与第一关键词抽取单元630类似,只是抽取的是用户访问过的网页的关键词。
第三集合建立单元660用于建立用户访问过的网页的关键词的集合。通常一个网页中的关键词不止一个,而用户访问过的网页通常也有多个,对各个用户访问过的网页的关键词进行组合可以得到用户访问过的网页的关键词的集合。进一步地,为了减小集合中关键词的数量,可以将用户访问过的网页的关键词的集合中出现频率低于要求的关键词删除。
第二匹配单元670用于将所述用户分类到与所述用户访问过的网页的关键词的集合匹配的所述已分类网页的关键词的集合对应的类别中。第二匹配单元670进行的匹配可以是已分类网页的关键词的集合包括用户访问过的网页的关键词的集合,还可以是置乱配对的方式。通过关键词匹配的方式实现用户访问过的网页的分类,可以减少计算的复杂度,比如相似度的计算比较耗费计算资源,而关键词的匹配则可以减少对计算资源的依赖。
如图16所示,具体来说,第二匹配单元670包括第三置乱单元710、第四置乱单元720及第二配对单元730。
第三置乱单元710用于对已分类网页的关键词的集合进行m次置乱操作,获得每次置乱操作排在预定位置的关键词的集合作为该类别的已分类网页的置乱集合。例如,已分类网页的关键词的集合为:Ci={K1,K2,K3,...,KL},进行第一次随机打乱次序的置乱操作后,排在第一位的预定位置的关键词为K3;进行第二次随机打乱次序的置乱操作后,排在第一位的预定位置的关键词为K5;进行第三次随机打乱次序的置乱操作后,排在第一位的预定位置的关键词为K2。则已分类网页的置乱集合为Cix={K2,K3,K5}。
第四置乱单元720用于对用户访问过的网页的关键词的集合进行m次置乱操作,获得每次置乱操作排在预定位置的关键词的集合作为用户访问过的网页的置乱集合。例如,用户访问过的网页的关键词的集合为:Ui={K1,K2,K3,...,KL},进行第一次随机打乱次序的置乱操作后,排在第一位的预定位置的关键词为K3;进行第二次随机打乱次序的置乱操作后,排在第一位的预定位置的关键词为K5;进行第三次随机打乱次序的置乱操作后,排在第一位的预定位置的关键词为K2。则已分类网页的置乱集合为Uix={K2,K3,K5}。
第二配对单元730用于将用户的兴趣分类到与用户访问过的网页的置乱集合相同的已分类网页的置乱集合对应的类别中。例如,上面的例子中,Cix与Uix相同,将用户的兴趣分类到已分类网页的置乱集合为Cix={K2,K3,K5}对应的类别中。当然,上面是以一个例子进行说明,实际处理过程中,由于类别较多,因此已分类网页的置乱集合也较多;置乱操作的次数n也可以根据需要进行设定。这里由于用户访问过的网页较多,并且已分类网页也通常较多,为了较准确的确定用户的兴趣分类,置乱的次数可以设置得稍高。
上述网页推送系统采用置乱的方式进行分类,可以显著降低计算量,具体分析如下:
传统的相似度计算分类方法,需要每个网页关键词集合与每个分类关键词集合分别计算相似度(similarity),计算公式如图8所示,对于所有网页的时间复杂度为O(N*M*L),N为网页个数,M为分类个数,L为关键词的平均个数。相似度计算的复杂度极高,对于大规模的网页,在现实情况下通常无法实际进行处理。
而采用置乱的方式,时间复杂度近似为O(N*n*L),N为网页的个数,n为置乱次数,L为关键词的平均个数。各分类的已分类网页的置乱集合可以预先算好,不必针对每个网页进行计算。置乱集合的计算复杂度为O(n*L),在进行需要分类的网页进行分类时,n通常可以是1,效率上远优于传统的相似度算法。由于通过网页中的导航信息抽取关键词,能够很大程度上描述网页的分类信息,且网页推送对于分类的精确程度不高,因此这里的置乱的方式能够提高运算速度,且能够满足向用户推送所需网页的需求。
如图17所示,作为上述网页推送系统的补充,上述网页推送系统还包括集合推送模块,所述集合推送模块包括第一用户集单元910、第二用户集单元920、第一网页集单元930、第二网页集单元940及集合推送单元950。
第一用户集单元910用于获取访问过所述网页的其他用户作为第一用户集。这里的所述网页是指网页收集模块110收集的用户访问过的网页,可以表示为:Ui={w1,w2,w3,...wL}。Ui是某个浏览器用户,w1,w2,w3,...wL是该用户访问过的网址集合。建立倒排表,即访问过网页Wi的用户集合记为:Wi={u1,u2,u3,...uL}。获取访问过w1,w2,w3,...wL的用户的集合{u1,u2,u3,...uN}作为第一用户集。
第二用户集单元920用于去除第一用户集中访问所述网页的数量低于第一阈值的用户作为第二用户集。由于第一用户集中的用户数可能较大,在实际计算中,可以按访问网址的频率进行过滤,取频率高的用户,即取第一阈值γ(uN>γ),这里的uN表示用户uN访问{w1,w2,w3,...wL}中网页的数量,数量大于第一阈值γ则表示访问网址的频率高。去除第一用户集中访问所述网页的数量低于第一阈值的用户后,剩下的用户作为第二用户集。
第一网页集单元930用于获取第二用户集中的用户访问过的网页的集合作为第一网页集。获得第二用户集后,将第二用户集中的用户访问过的网页集合{p1,p2,p3,…pL}作为第一网页集。
第二网页集单元940用于去除第一网页集中访问量低于第二阈值的网页作为第二网页集。即第一网页集中如果有的网页的访问量低,说明这些网页受欢迎程度不高,可以去除这些低访问量的网页后作为第二网页集。
集合推送单元950用于将第二网页集中所述用户访问过的网页去除后推送给所述用户。由于第二网页集中,可能存在用户已经访问过的网页,通过去重操作,避免推送给用户已经访问过的网页。
集合推送模块通过集合的方式推送网页的步骤,通过截取高频的网页和用户,这种方式的推送的网页通常是一些热门的网页,作为上述网页推送方法的补充可以使得推送的网页更加全面。并且对于没有导航信息的网页,如果通过上述网页推送方法进行网页全文关键词的提取较为消耗计算量,可以用这种补充的步骤来推送没有导航信息的网页。
采用上述网页推送方法或系统将网页推送到用户所在的浏览器后,可以直接在首页展示推送的网页、也可以将若干个推送的网页以缩略图的形式显示在首页、或者在地址栏显示推送的网页的网址、也可以在工具栏显示被推送网页的图标等。浏览器的首页或地址栏网址推荐是向用户推送网页的最佳入口,用户在浏览网页的过程中向用户推送,能够更有效的促进网络信息传送。
上述实施方式中,用户的区分和识别可以用浏览器来实现。浏览器能够针对用户进行网址收集,相对于网页应用、或其他桌面软件,浏览器既能够收集用户的明确标识,如机器号组成的GUID(Globally Unique Identifier,全球唯一标识符,具有唯一性,而网页应用通常只能记录用户一段时间的标记),也可以收集用户访问过的完整网页地址。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。