基于垂直领域的微博搜索排序方法及系统的制作方法
【专利摘要】本发明提供了一种基于垂直领域的微博搜索排序方法及系统,其中的方法包括:获取现有微博中每条微博的领域相关度、每个微博用户的粉丝数权重、每条微博的被关注权重、微博用户的类型权重、每条微博的时间权重,然后将获取的领域相关度、粉丝数权重、被关注权重、类型权重和时间权重分别乘以预先分配的权重系数,然后再相加,根据所相加的结果对现有微博进行搜索排序。通过本发明能够更加准确有效地提取人们对某一领域中的事物的观点和看法。
【专利说明】基于垂直领域的微博搜索排序方法及系统
【技术领域】
[0001]本发明涉及数据挖掘【技术领域】,更为具体地,涉及一种基于垂直领域的微博搜索排序方法及系统。
【背景技术】
[0002]传统的Web网页是人们寻找信息的资源库,而作为信息获取、分享以及传播平台的微博,其每天所产生的海量的数据信息,则体现着人们对各类新闻、事件以及事物的看法,用户可以随时随地通过电脑、手机等设备更新信息并实现信息的即时分享。微博以其短小精悍、数量大且更新快的特点,获取了庞大的用户群及较高的用户活跃度。
[0003]如上所述,微博可以体现人们对客观世界的舆论倾向,因此,其正逐渐成为一种发掘用户观点的可靠的信息来源的手段。要发掘用户的观点,就需要对微博进行搜索排序,现有的微博搜索排序技术有以下几种:
[0004]一、直接以时间为依据进行搜索排序。
[0005]距当前时间越近的越靠前,这种搜索排序方式过于粗糙,甚至都没有考虑与关键词的相关度。
[0006]二、结合了微博作者的影响力与微博时间两个因素。
[0007]影响力的计算类似于利用PageRank算法,所有人都设定一个初始影响力,每个人的影响力都由他的粉丝的影响力加权决定,然后开始迭代运算,直至结果稳定。然而,这种算法存在多个弊端:
[0008]首先,没有考虑到僵尸粉(即不是由真正的自然人,而是机器控制的账号)的干扰;
[0009]其次,微博用户数量过于庞大,关系网非常复杂,运算量太大,即使利用分布式运算,也无法避免由于大量僵尸粉的存在,导致用户的粉丝数在不断地快速变化之中,从而无法实时计算用户的影响力。
[0010]因此,如何处理用户粉丝数也是一个需要考虑的问题。
[0011]三、综合几种因素对微博进行搜索排序。
[0012]其中的因素包括相关度、时间、评论词等,比如:与关键字越相关、距当前时间越近、微博内容中对于关键字评论词越多的微博在排序中越靠前。
[0013]通过这种搜索排序方式,有观点态度的微博会被排在前面,但是它没有考虑到用户或者是微博本身的影响力。也就是说,如果一个粉丝数很少的用户发了一条很带有个人情感色彩的微博,即便这条微博也就只有很少的人看到,甚至这条微博都没有人评论或转发过,通过这种搜索排序方式也有可能排在前面。然而,这条微博仅仅只是代表了个人的观点,毫无影响力而言,而微博用户通常想要的是大多数人的意见,并不是某个人情感发泄。因此,微博的影响力也应该成为排序的因素之一。
[0014]另外,微博上的大V用户(所谓的大V用户即粉丝数通常在百万甚至千万级别,即使去掉可能的僵尸粉,真实粉丝依然非常多的用户),他们的微博通常会获取很多人的关注、评论或者转发,他们的观点通常不用搜索,就可能已经获悉。然而,大多数人都是普通大众,微博用户更关心的是大多数普通大众的意见,因此,普通大众的权重也应该提高。
[0015]针对上述现有微博搜索排序技术中存在的缺陷,如何能更加准确有效地提取大众用户的观点,成为亟待解决的问题。
【发明内容】
[0016]鉴于上述问题,本发明的目的是提供一种基于垂直领域的微博搜索排序方法及系统,以实现准确有效地提取大众用户的观点。
[0017]根据本发明的一个方面,提供一种基于垂直领域的微博搜索排序方法,根据现有微博中每条微博的领域相关度、被关注权重、时间权重、每个微博用户的粉丝数权重以及每一类型的微博用户的类型权重,对现有微博进行排序;其中,
[0018]根据确定的垂直领域,搜集垂直领域内的领域词汇,并计算在现有微博中垂直领域内每个领域词汇的词频;
[0019]对所计算出的每个领域词汇的词频进行拟合,获取现有微博中垂直领域内每个领域词汇的权重;
[0020]根据每个领域词汇的权重,获取现有微博中每条微博的领域相关度;
[0021]对现有微博中每条微博的被关注度进行拟合,获取每条微博的被关注权重;
[0022]根据现有微博中每条微博的发表时间,计算所述微博的时间权重;
[0023]通过对现有微博用户中每个微博用户的粉丝数进行拟合,获取每个微博用户的粉丝数权重;以及,
[0024]通过统计现有微博用户的类型,获取类型的微博用户的类型权重;
[0025]将领域相关度、粉丝数权重、被关注权重、类型权重和时间权重分别乘以预先分配的权重系数,然后再相加,根据所相加的结果对现有微博进行搜索排序。
[0026]其中,在对所计算出的每个领域词汇的词频进行拟合,获取在现有微博中垂直领域内每个领域词汇的权重的过程中,计算相同词频的领域词汇在所有领域词汇中所占的比例;对所计算的相同词频的领域词汇在所有领域词汇中所占的比例取负对数,获取每个领域词汇的词频的直接权重;对每个领域词汇的词频的直接权重进行归一化,获取每个领域词汇的权重。
[0027]另一方面,本发明提供一种基于垂直领域的微博搜索排序系统,包括:领域相关度获取单元、被关注权重获取单元、时间权重计算单元、粉丝数权重获取单元、类型权重获取单元和搜索排序单元;其中,
[0028]领域相关度获取单元,用于根据确定的垂直领域,搜集垂直领域内的领域词汇,并计算在现有微博中垂直领域内每个领域词汇的词频,然后对所计算的每个领域词汇的词频进行拟合,获取现有微博中垂直领域内每个领域词汇的权重,接着根据每个领域词汇的权重,获取现有微博中每条微博的领域相关度;
[0029]被关注权重获取单元,用于对现有微博中每条微博的被关注度进行拟合,获取每条微博的被关注权重;
[0030]时间权重计算单元,用于根据现有微博中每条微博的发表时间,计算每条微博的时间权重;
[0031]粉丝数权重获取单元,用于通过对现有微博用户中每个微博用户的粉丝数进行拟合,获取每个微博用户的粉丝数权重;
[0032]类型权重获取单元,用于通过统计现有微博用户的类型,获取类型的微博用户的类型权重;
[0033]搜索排序单元,用于将领域相关度获取单元所获取的领域相关度、被关注权重获取单元所获取的被关注权重、时间权重计算单元所计算的时间权重、粉丝数权重获取单元所获取的每个微博用户的粉丝数权重,以及类型权重获取单元所获取的每一类型的微博用户的类型权重分别乘以预先分配的权重系数,然后再相加,根据所相加的结果对现有微博进行搜索排序。
[0034]其中,词汇权重获取单元在对所计算出的每个领域词汇的词频进行拟合,获取在现有微博中垂直领域内每个领域词汇的权重的过程中,计算相同词频的领域词汇在所有领域词汇中所占的比例;对所计算的相同词频的领域词汇在所有领域词汇中所占的比例取负对数,获取每个领域词汇的词频的直接权重;每个领域词汇的词频的直接权重进行归一化,获取每个领域词汇的权重。
[0035]利用上述根据本发明的基于垂直领域的微博搜索排序方法及系统,将领域相关度、粉丝数权重、微博的被关注度、时间权重和用户类型权重都纳入搜索排序的计算范围。其中,领域相关度保证了搜索结果的准确性,粉丝数权重、微博的被关注度和时间权重三者共同确保了搜索结果的有效性,而用户类型权重则更倾向于展现大众用户的观点,因此通过将领域相关度、粉丝数权重、微博的被关注度、时间权重和用户类型权重纳入搜索排序的计算范围,能够更加准确有效地提取大众用户的观点。
[0036]为了实现上述以及相关目的,本发明的一个或多个方面包括后面将详细说明并在权利要求中特别指出的特征。下面的说明以及附图详细说明了本发明的某些示例性方面。然而,这些方面指示的仅仅是可使用本发明的原理的各种方式中的一些方式。此外,本发明旨在包括所有这些方面以及它们的等同物。
【专利附图】
【附图说明】
[0037]通过参考以下结合附图的说明及权利要求书的内容,并且随着对本发明的更全面理解,本发明的其它目的及结果将更加明白及易于理解。在附图中:
[0038]图1为根据本发明实施例的基于垂直领域的微博搜索排序方法的流程示意图;
[0039]图2为根据本发明实施例的在垂直领域内所搜集到的所有领域词汇的词频分布示意图;
[0040]图3为根据本发明实施例的基于垂直领域的微博搜索排序系统逻辑结构框图。
[0041]在所有附图中相同的标号指示相似或相应的特征或功能。
【具体实施方式】
[0042]以下将结合附图对本发明的具体实施例进行详细描述。
[0043]针对前述现有的微博搜索排序不能更有针对性地将大众用户的观点展现出来的问题,本发明通过将领域相关度、粉丝数权重、微博的被关注权重、时间权重和用户类型权重都纳入搜索排序的计算范围,从而能够更有针对性且更有效地展现普通大众的观点。
[0044]需要说明的是,垂直领域是指某一个特定的行业,例如饮食、购物、旅游等行业。而垂直搜索即是针对某一个行业提供特定服务的专业搜索,是一般通用搜索的细分和延伸,具有很强的行业色彩。它与通用搜索最大的区别在于,它只提供特定领域的相关查询。
[0045]要提供特定领域的搜索,必须要先了解该行业的专有词汇,以及与其相关的一些评价词汇。而领域词汇即指的是某个行业的专有词汇,以及与该专有词汇相关的一些评价词汇。例如美食领域的菜名、店名,以及相应的对菜的色、香、味的评价词,对店家的环境、月艮务的评价词等等。领域词汇可以从网上抓取,例如维基百科,或强领域相关的网站如大众点评网等。
[0046]为了说明本发明所提供的基于垂直领域的微博搜索排序方法,图1示出了根据本发明实施例的基于垂直领域的微博搜索排序方法的流程。
[0047]如图1所示,本发明提供的基于垂直领域的微博搜索排序方法根据现有微博中每条微博的领域相关度、被关注权重、时间权重、每个微博用户的粉丝数权重以及每一类型的微博用户的类型权重,对现有微博进行排序;其中,具体步骤如下:
[0048]SllO:根据确定的垂直领域,搜集垂直领域内的领域词汇,并计算在现有微博中垂直领域内每个领域词汇的词频。
[0049]需要说明的是,本发明中所说的现有微博是指:一个微博平台中所有微博用户已经发表的微博。例如在新浪微博注册的所有用户所发表的微博。
[0050]其中,可以利用MapReduce的并行化处理方式,并行计算所搜集到的垂直领域内的领域词汇在现有微博中所出现的频率。
[0051]另外,需要说明的是,利用MapReduce的并行化处理方式,并行计算在现有微博中垂直领域内每个领域词汇的词频的方法属于公知常识,本领域的技术人员都应当知晓,这里不再赘述。
[0052]S120:对所计算出的每个领域词汇的词频进行拟合,获取现有微博中垂直领域内每个领域词汇的权重。
[0053]其中,在对所计算出的每个领域词汇的词频进行拟合,获取在现有微博中垂直领域内每个领域词汇的权重的过程中,计算相同词频的领域词汇在所有领域词汇中所占的比例;对所计算的相同词频的领域词汇在所有领域词汇中所占的比例取负对数,获取每个领域词汇的词频的直接权重;对每个领域词汇的词频的直接权重进行归一化,获取每个领域词汇的权重。
[0054]具体地,设在某个垂直领域内,例如餐饮行业,所搜集到的领域词汇的总个数为N,词频为η的领域词汇的个数为C(n),令R(n)=C(n)/N,其中,R(n)则表示词频为η的领域词汇在所有领域词汇中所占的比例。图2则示出了根据本发明实施例的在垂直领域内所搜集到的所有领域词汇的词频分布。从图2可以看出,词频的分布呈现长尾分布的趋势,即出现频率较高的领域词汇(即主要部分)呈集中趋势,且主要部分不会集中在头尾部分。对于不同的垂直领域,形态可能会有些不同,但是长尾分布的趋势不会改变。
[0055]对所计算的R(n)取负对数即可得到gJrOz-logZGUn)),其中,gi (η)则表示每个领域词汇的词频的直接权重。利用函数拟合方法,如最小二乘法将主要部分拟合得到分段函数。其中,利用函数拟合的方法如下所示:[0056]
【权利要求】
1.一种基于垂直领域的微博搜索排序方法,根据现有微博中每条微博的领域相关度、被关注权重、时间权重、每个微博用户的粉丝数权重以及每一类型的微博用户的类型权重,对现有微博进行排序;其中, 根据确定的垂直领域,搜集所述垂直领域内的领域词汇,并计算在现有微博中所述垂直领域内每个领域词汇的词频; 对所计算出的每个领域词汇的词频进行拟合,获取现有微博中所述垂直领域内每个领域词汇的权重; 根据每个领域词汇的权重,获取现有微博中每条微博的领域相关度; 对现有微博中每条微博的被关注度进行拟合,获取每条微博的被关注权重; 根据现有微博中每条微博的发表时间,计算所述微博的时间权重; 通过对现有微博用户中每个微博用户的粉丝数进行拟合,获取每个微博用户的粉丝数权重;以及, 通过统计现有微博用户的类型,获取所述类型的微博用户的类型权重; 将所述领域相关度、粉丝数权重、被关注权重、类型权重和所述时间权重分别乘以预先分配的权重系数,然后再相加,根据所相加的结果对现有微博进行搜索排序。
2.如权利要求1所述的基于垂直领域的微博搜索排序方法,其中,在对所计算出的每个领域词汇的词频进行拟合,获取在现有微博中所述垂直领域内每个领域词汇的权重的过程中, 计算相同词频的领域词汇在所有领域词汇中所占的比例; 对所计算的相同词频的领域词汇在所有领域词汇中所占的比例取负对数,获取每个领域词汇的词频的直接权重; 对每个领域词汇的词频的直接权重进行归一化,获取每个领域词汇的权重。
3.如权利要求1所述的基于垂直领域的微博搜索排序方法,其中,在根据每个领域词汇的权重,获取现有微博中每条微博的领域相关度的过程中, 对现有微博中每条微博所包含的领域词汇的权重进行相加,获取现有微博中每条微博的领域相关度。
4.如权利要求1所述的基于垂直领域的微博搜索排序方法,其中,在通过对现有微博用户中每个微博用户的粉丝数进行拟合,获取每个微博用户的粉丝数权重的过程中, 计算粉丝数相同的微博用户在现有微博用户中所占的比例; 对所计算的粉丝数相同的微博用户在现有微博用户中所占的比例取负对数,获取每个微博用户的粉丝数的直接权重; 对每个微博用户的粉丝数的直接权重进行归一化,获取每个微博用户的粉丝数权重。
5.如权利要求1所述的基于垂直领域的微博搜索排序方法,其中,在对现有微博中每条微博的被关注度进行拟合,获取每条微博的被关注权重的过程中, 计算被关注度相同的微博在现有微博中所占的比例; 对所计算的被关注度相同的微博在现有微博中所占的比例取负对数,获取每条微博的被关注度的直接权重; 对每条微博的被关注度的直接权重进行归一化,获取每条微博的被关注权重。
6.如权利要求1所述的基于垂直领域的微博搜索排序方法,其中,在根据现有微博中每条微博的发表时间,计算所述微博的时间权重的过程中,通过如下公式进行计算:
f5 (t) =D- (now-t),当 f5 (t)〈O 时,f5 (t) =0 其中,f5(t)为现有微博中每条微博的时间权重,D为预设的有效天数,now为当前时间,t为微博发表的时间。
7.一种基于垂直领域的微博搜索排序系统,包括:领域相关度获取单元、被关注权重获取单元、时间权重计算单元、粉丝数权重获取单元、类型权重获取单元和搜索排序单元;其中, 所述领域相关度获取单元,用于根据确定的垂直领域,搜集所述垂直领域内的领域词汇,并计算在现有微博中所述垂直领域内每个领域词汇的词频,然后对所计算出的每个领域词汇的词频进行拟合,获取现有微博中所述垂直领域内每个领域词汇的权重,接着根据每个领域词汇的权重,获取现有微博中每条微博的领域相关度; 所述被关注 权重获取单元,用于对现有微博中每条微博的被关注度进行拟合,获取每条微博的被关注权重; 所述时间权重计算单元,用于根据现有微博中每条微博的发表时间,计算所述微博的时间权重; 所述粉丝数权重获取单元,用于通过对现有微博用户中每个微博用户的粉丝数进行拟合,获取每个微博用户的粉丝数权重; 所述类型权重获取单元,用于通过统计现有微博用户的类型,获取所述类型的微博用户的类型权重; 所述搜索排序单元,用于将所述领域相关度获取单元所获取的领域相关度、所述被关注权重获取单元所获取的被关注权重、所述时间权重计算单元所计算的时间权重、所述粉丝数权重获取单元所获取的每个微博用户的粉丝数权重,以及所述类型权重获取单元所获取的每一类型的微博用户的类型权重分别乘以预先分配的权重系数,然后再相加,根据所相加的结果对现有微博进行搜索排序。
8.如权利要求7所述的基于垂直领域的微博搜索排序系统,其中,所述词汇权重获取单元在对所计算出的每个领域词汇的词频进行拟合,获取在现有微博中所述垂直领域内每个领域词汇的权重的过程中, 计算相同词频的领域词汇在所有领域词汇中所占的比例; 对所计算的相同词频的领域词汇在所有领域词汇中所占的比例取负对数,获取每个领域词汇的词频的直接权重; 每个领域词汇的词频的直接权重进行归一化,获取每个领域词汇的权重。
9.如权利要求7所述的基于垂直领域的微博搜索排序系统,其中,所述领域相关度获取单元在根据每个领域词汇的权重,获取现有微博中每条微博的领域相关度的过程中, 对现有微博中每条微博所包含的领域词汇的权重进行相加,获取现有微博中每条微博的领域相关度。
10.如权利要求7所述的基于垂直领域的微博搜索排序系统,其中,所述时间权重计算单元在根据现有微博中每条微博的发表时间,计算所述微博的时间权重的过程中,通过如下公式进行计算:
f5 (t) =D- (now-t),当 f5 (t)〈O 时,f5 (t) =0其中,f5(t)为现有微博中每条微博的时间权重,D为预设的有效天数,now为当前时间,t为微博发表的时间。`
【文档编号】G06F17/30GK103744918SQ201310737940
【公开日】2014年4月23日 申请日期:2013年12月27日 优先权日:2013年12月27日
【发明者】孟令胜, 张霞, 赵立军, 赵博 申请人:东软集团股份有限公司