一种微博排序模型的建立及微博多样性检索方法与流程

文档序号:12177261阅读:529来源:国知局

本发明涉及信息检索技术领域,尤其涉及社交媒体检索领域,具体涉及一种微博排序模型的建立及微博多样性检索方法。



背景技术:

微博检索属于信息检索领域,是从海量微博数据中提取有效信息的重要手段。微博检索中,用户一般都是通过输入较短的查询词(平均为1.64词)来表达查询意图,较短的查询词往往导致用户查询意图的歧义或不确定性。例如,用户输入查询词“苹果”,检索系统需要判断用户的查询意图是需要与苹果公司相关的信息还是苹果这种水果相关的信息。

然而,目前的微博检索系统无法做到准确地理解用户的查询意图,这种情况下返回的检索结果往往存在冗余,并且可能导致重要信息缺失。多样性检索是解决上述问题的一种有效手段。所谓多样性检索,是不直接确定查询词背后用户真正的意图,而是尽量是检索结果多样化,以此使得不同背景的用户都能在查询的返回结果中至少找到一个满足其需求的内容。

微博作为一种社交媒体,其文本的简短和语法的不规则,使得传统的自然语言处理方法在微博检索中效果严重下滑。与此同时,微博具有丰富的社交媒体信息,如用户信息、超链接、主题词等。微博检索中,充分利用社交媒体信息、克服负面特性,对检索结果多样化展示能显著提高微博检索效果,增强用户体验。



技术实现要素:

本发明的目的在于,克服目前微博检索存在的上述问题,提出了一种微博排序模型的建立方法,该方法通过提取训练样本集的多样性特征,训练出微博排序模型的权重;然后基于该模型,本发明还提供了一种微博多样性检索方法,该方法使得用户在微博检索相关信息时,返回多样化的检索结果。

为了实现上述目的,本发明提供了一种微博排序模型的建立方法,所述方法包括:

步骤S1)构建训练数据集;所述训练数据集包括一系列查询词,每个查询词对应的若干个微博,通过人工标注的方式得到的这些微博的排列顺序;

步骤S2)提取训练数据集中每个查询词对应的微博的属性;

步骤S3)利用每个查询词对应的微博的属性,提取每条博文的相关性特征和相似性特征;

步骤S4)构建并训练排序模型。

上述技术方案中,所述步骤S2)中微博的属性包括:博文文本的量化表示、博文的发布时间、博文的主题词、博文提及的用户和博文的超链接;

上述技术方案中,所述步骤S3)中的相似性特征具体包括:文本特征、时间特征、主题词特征、提及特征、超链接特征、发布者用户特征、超链接特征和发布者用户特征。

上述技术方案中,所述步骤S4)具体包括:

步骤S4-1)所述训练数据集包括查询词集合Q={q1,…,qn},qi为第i个查询词,n为查询词的个数;每个查询词qi都有对应一个博文集合Ti={tweeti1,…,tweetim};m为博文的个数;对每条博文tweetij进行人工标注:是否与对应的查询词qi相关及其对应的子话题,通过这些标注信息生成博文集合Ti排序的标准答案ranki

步骤S4-2)提取衡量博文集合Ti中的每条博文tweetij与查询词qi间相关性特征向量以及博文tweetij与排在其前面的博文集合的相似性特征矩阵rj(i);将相似性特征矩阵rj(i)转化为相似性特征向量,h(x)为函数,用于将每个特征对应的多个值求平均值;

步骤S4-3)构建排序模型,输入为一个查询词对应的每个博文相关性特征向量组成的矩阵和每个博文相似性特征向量组成的矩阵,和分别表示相关性特征向量权重和相似性特征向量的权重;输出为博文的排序;

排序函数表示为:

步骤S4-4)利用步骤S4-1)的样本数据,对排序函数进行训练,得到最优权重值和从而得到最优排序函数,排序模型训练完毕。

基于上述方法建立的微博排序模型,本发明还提供了一种微博多样性检索方法,所述方法包括:

步骤T1)搜索某个查询词q的若干个微博T0={tweet1,…,tweetm};

步骤T2)提取每个微博的属性,1≤j≤m;

步骤T3)提取衡量博文集合T0中的每条博文tweetj,1≤j≤m与查询词q间相关性特征向量wj以及博文tweetj与排在其前面的博文集合的相似性特征矩阵rj;h(rj)通过将每个特征对应的多个值求平均值的方式将相似性特征矩阵rj转化为相似性特征向量;

步骤T4)将每个博文的相关性特征向量wj和相似性特征向量h(rj)代入最优排序函数,得到排序值:

步骤T5)将m个排序值按照从大到小的顺序进行排序,即得到微博博文的排序。

本发明的优势在于:

本发明的方法使得用户在微博检索相关信息时,返回多样化的检索结果,降低信息冗余,可有效提升检索系统检索结果的准确性和覆盖性,提升用户体验。

附图说明

图1为本发明的微博排序模型的建立方法的流程图。

具体实施方式

下面结合附图和具体实施例对本发明做进一步详细的说明。

如图1所示,一种微博排序模型的建立方法,所述方法包括:

步骤S1)构建训练数据集;所述训练数据集包括一系列查询词,每个查询词对应的若干个微博,通过人工标注的方式得到的这些微博的排列顺序(作为训练标准答案);

步骤S2)提取训练数据集中每个查询词对应的微博的属性;

步骤S3)利用每个查询词对应的微博的属性,提取每条博文的相关性特征和相似性特征;

传统的相关性排序学习方法中,只考虑了查询短语与被检索博文的相关性。而本发明的博文间的特征还考虑了博文与博文间的相似性。因此,博文的特征包括相关性特征和相似性特征。相关性特征衡量博文与查询词之间的相关性,保证文档的重要性;相似性特征衡量博文间的相似性,用于保证文档的相似性。所述博文的相似性特征具体包括:

文本特征:关于同一主题的两篇博文的文本相似性越高,则更可能两篇博文涉及同一子话题。采用空间向量模型计算博文文本间余弦相似性。文本特征的计算方式如公式(1)所示:

其中ti和tj分别为博文文本的向量化表示。

时间特征:与话题相关的同一子事件往往发生在同一窗口内,所以两条博文在同一话题下,发布时间越接近,则其可能涉及相同的子话题。时间特征的计算基于两个时间归一化后的时间戳,计算方式如公式(2)所示:

TT2=|tnorm(ti)-tnorm(tj)| (2)

其中tnorm(ti)和tnorm(tj)分别表示两篇微博发布时间的归一化表示,例如,有最小时间戳“Fri Feb 01 00:09:29+0000 2013”和最大时间戳“Sun Mar 31 23:57:58+00002013”,对时间戳“Tue Mar 25 14:45:00+0000 2008”归一化后为0.387101。

主题词特征:微博中通常用主题词来表达微博的主题。如果两篇博文包含相同主题词,说明两个博文涉及的子话题可能相同。采用Jaccard方法来计算两篇博文涉及的主题词的相似性,计算方法如公式(3)所示:

其中,Terms(di)和Terms(dj)分别表示两篇博文主题词的集合。

提及特征:该特征为一个二元特征,用于表达两条博文是否提及相同的用户;在微博中,用户通常在用户名前面加上“@”来提及其他用户。如果两条关于同一主题的博文提及到相同的用户,则两条博文的发布者可能对同一用户谈及相同子话题。

超链接特征:该特征为一个二元特征,用于表达两条博文是否包含相同的超链接;超链接在微博中很常见,通常包含超链接的博文都是对链接内容的简介。如果两条关于同一话题的博文包含相同的超链接,则两条博文可能涉及相同子话题。

发布者用户特征:微博作为一个典型的社交媒体平台,其丰富的用户信息可能帮助解决微博多样性检索问题。因此,考虑博文发布者间的用户特征。博文发布者的用户特征包括:用户的地理位置、用户是否认证、用户语言、用户发布的博文数量、用户的好友数量、用户的关注者数量、用户被其他用户分组次数。当某个子事件发生在某一地区时,相同地区的人们往往都会讨论这个子事件。采用二元特征表达用户的地理位置信息。直观来看,两个使用相同语言的用户比使用不用语言的用户更可能会关注相同的子话题。采用二元特征来表达用户的语言信息。用户的其他属性也可能反应用户关注的话题间的关系,比如用户是否为认证用户,用户发布的博文数量,好友数量,关注数量和被分组次数等。采用二元特征表达用户的认证信息,如果两个用户都通过认证,则该特征为0,否则为1。计算其余四个特征时,将其归一化到区间[0,1],计算归一化后数值间的差异。

步骤S4)构建排序模型,对排序模型进行训练;

过对标注好的训练数据提取特征,利用机器学习技术(多样性排序学习方法)进行模型的训练,最终得到的模型是上述相关性特征和多样性特征的权重。

步骤S4-1)所述训练数据集包括查询词集合Q={q1,…,qn},qi为第i个查询词,n为查询词的个数;每个查询词qi都有对应一个博文集合Ti={tweeti1,…,tweetim};m为博文的个数;对每条博文tweetij进行人工标注:是否与对应的查询词qi相关及其对应的子话题,通过这些标注信息生成博文集合Ti排序的标准答案ranki

步骤S4-2)提取衡量博文集合Ti中的每条博文tweetij与查询词qi间相关性特征向量以及博文tweetij与排在其前面的博文集合的相似性特征矩阵rj(i);通过将每个特征对应的多个值求平均值的方式将相似性特征矩阵rj(i)转化为相似性特征向量;

步骤S4-3)构建排序模型,输入为一个查询词对应的每个博文相关性特征向量组成的矩阵和每个博文相似性特征向量组成的矩阵,和分别表示相关性特征向量权重和相似性特征向量的权重;输出为博文的排序;

排序函数表示为:

步骤S4-4)利用步骤S4-1)的样本数据,对排序函数进行训练,得到最优权重值和从而得到最优排序函数,排序模型训练完毕。

多样性排序学习的最终目的是得到最优的特征权重。

基于上述方法建立的微博排序模型,本发明还提供了一种微博多样性检索方法,所述方法包括:

步骤T1)搜索某个查询词q的若干个微博T0={tweet1,…,tweetm};

步骤T2)提取每个微博的属性,1≤j≤m;

步骤T3)提取衡量博文集合T0中的每条博文tweetj,1≤j≤m与查询词q间相关性特征向量wj以及博文tweetj与排在其前面的博文集合的相似性特征矩阵rj;h(rj)通过将每个特征对应的多个值求平均值的方式将相似性特征矩阵rj转化为相似性特征向量;

步骤T4)将每个博文的相关性特征向量wj和相似性特征向量h(rj)代入最优排序函数,可得到排序值:

步骤T5)将m个排序值按照从大到小的顺序进行排序,即得到微博博文的排序。

通过标准的信息检索方式(BM25等)检索到一系列查询词相关的博文,这些博文中由于只考虑了相关性,存在大量的冗余。通过多样化排序模型对标准检索结果进行重排序,使得靠前的部分呈现多样化的特点。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1