首页> 中国专利> 一种基于社会化标注的个性化搜索方法及系统

一种基于社会化标注的个性化搜索方法及系统

摘要

一种基于社会化标注的个性化搜索方法及系统,该方法包括以下步骤:A、预处理网页内容:B、在提取内容集中提取相关向量:C、计算用户相似度:D、选取相似用户E、计算用户对文档的个性化标签向量F、计算用户的扩展属性向量;G、文档打分及排序;本发明的搜索方法及系统通过用户给出的标签深度挖掘用户的偏好兴趣,即从网页用户的标注信息出发,使用用户主动公开的信息进行个性化优化,避免了隐私和冷启动的问题,完全基于用户本身进行考虑,较好地提升了搜索的准确度。

著录项

  • 公开/公告号CN104866554A

    专利类型发明专利

  • 公开/公告日2015-08-26

    原文格式PDF

  • 申请/专利权人 大连理工大学;

    申请/专利号CN201510246503.1

  • 发明设计人 林鸿飞;管毅舟;

    申请日2015-05-15

  • 分类号G06F17/30(20060101);

  • 代理机构21208 大连星海专利事务所;

  • 代理人徐雪莲

  • 地址 116023 辽宁省大连市高新园区凌工路2号

  • 入库时间 2023-12-18 10:36:06

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-04-27

    授权

    授权

  • 2015-09-23

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20150515

    实质审查的生效

  • 2015-08-26

    公开

    公开

说明书

技术领域

本发明涉及一种搜索方法及系统,尤其是一种基于社会化标注的个性化搜 索方法及系统。

背景技术

近年来,随着Web2.0的普及和推广,越来越多基于此的应用得到推广以满 足用户对互联网日益增加的需求。这其中,包括电子商务网站、博客以及社会 化应用,它们使网络进化成为了社会化网络。在社会化网络中,用户可以通过 标注等行为在自己感兴趣的文档(包括网页及网页上的资源)上留下合适的记 号。

而社会化标注对于个性化搜索是非常有用的资源。一方面,不同用户从不 同角度提供的标注对同一文档而言是很好的总结;另一方面,社会化标注可以 看作理想化的个性化兴趣数据。这主要是由于:1、社会化标注由用户直接提供, 所以这些标注可以被看作用户对于文档的个人意见,收集这些意见可以得到用 户的兴趣或偏好;2、标注信息通常较易于通过网络得到并且很少包含敏感信息, 所以使用标注信息进行个性化搜索并不需要额外的人力和物力。

由于网络资源的急速增长,信息检索的效率和准确性都受到了不小的挑战, 并且由于每一个用户的关注点及兴趣都各不相同,所以如何让每一个用户都能 快速准确的找到感兴趣的搜索结果就成了一个重要的问题。传统的方法不考虑 用户本身的兴趣,只考虑查询与文档之间的关系,虽然能使搜索结果的内容准 确度有一个较好的水平,但依然无法让用户最快速度或许自身能想要的结果。 已经有不少研究针对个性化搜索,但各种方法都存在一定的缺点,无法取得特 别好的结果。

现有的个性化搜索方法主要分为三种:

1、通过调查问卷等形式让用户主动给出其兴趣,并基于用户给出的兴趣对 原始结果进行重新排序。这种方法能取得较好的效果,但由于需要对用户进行 调查,所以需要额外的开销,同时也存在用户不肯配合的情况。此外,由于调 查问卷内容设置的有限性,所以很难涵盖用户兴趣的各个方面,也很难跟进用 户兴趣的转移。

2、基于用户的查询历史进行兴趣的构建,之后结合兴趣对文档进行打分。 此种方法不需要额外的开销,但由于查询历史里经常会包含用户的隐私,所以 使用此种方法可能会带来潜在的隐私问题。同时,由于用这种方法要求用户曾 经有过查询,所以冷启动也是此种方法需要解决的问题。

3、基于用户之间的相似度进行协同过滤,此种方法通过用户查询历史等信 息计算用户之间的相似度,然后基于相似度对不同用户的查询结果进行一定比 例的融合,得出个性化的搜索结果。此种方法同样需要面对冷启动的问题,同 时由于其并不是基于用户本身的兴趣进行搜索,所以在搜索准确度上存在一定 的偏差。

发明内容

本发明的目的是提供一种提高用户信息检索的准确性且克服现有技术中搜 索结果无法根据用户兴趣改变的缺陷的基于社会化标注的个性化搜索方法及系 统。

本发明解决现有技术问题所采用的技术方案:一种基于社会化标注的个性化 搜索方法,该方法包括以下步骤:

A、预处理网页内容:对网页逐个进行扫描,采集每个网页中的标识符、网 页文档内容、类别、给过标注的用户及对应用户给出的标签并将它们保存下来; 对于同一网页,将标识符、网页类别、网页文档内容作为一组数据记录,标识 符、给网页标注过的用户及对应用户给出的标签作为另一组数据记录;将所有 网页的数据记录分类汇总保存,并对其中的网页文档内容和标签对照停用词表 进行去停用词处理,并对网页文档内容和标签进行词干化处理,得到提取内容 集;

B、在提取内容集中提取相关向量:所述相关向量包括文档内容向量、文档 标签向量、用户属性向量以及用户类别向量;

文档内容向量的提取方法为:以所有网页文档内容中出现过的词作为向量 空间,对该网页文档内容做tf-idf统计,得到文档内容向量,向量每一维的权重 为tf-idf值;

文档标签向量的提取方法为:以所有网页上的标签作为向量空间,对文档 被标注过的标签进行词频统计,得到文档标签向量,向量每一维的权重为该标 签出现的次数;

用户属性向量的提取方法为:对每一个标注过该文档的用户,以所有网页 上的标签作为向量空间,对其在该文档上给出的标签进行频率统计,得到用户 在该文档上的文档标签向量,向量每一维的权重为用户给出该标签的次数;对 于每一个用户,将该用户对应的所有在文档上的文档标签向量进行累加,得到 该用户的用户属性向量;

用户类别向量的提取方法为:以所有网页类别作为向量空间,对用户标注 过的网页的类别进行频率统计,得到用户类别向量,向量每一维的权重为该用 户标注过的该类别网页的数量;

C、计算用户相似度:对目标用户和其他任一用户的用户属性向量求夹角余 弦值得到用户属性相似度;对目标用户和其他任一用户的用户类别向量求夹角 余弦值得到用户类别相似度;然后将用户属性相似度乘以用户类别相似度作为 目标用户和其他任一用户之间的相似度,公式如下:

Persim(u’,u)=Cos(cu',cu)×Cos(pu',pu)

其中,u为目标用户,u’为其他任一用户,Persim(u’,u)为两者的相似度,cu为目标用户的类别向量,cu'为其他用户的类别向量,pu为目标用户的属性向量, pu'为其他任一用户的属性向量,Cos(a,b)为a和b的夹角余弦值;

D、选取相似用户:根据在0-1范围内预设的相似度阈值,选择相似度值超 过相似度阈值的用户为目标用户的相似用户;

E、计算用户对文档的个性化标签向量:对任一篇文档,将每一个目标用户 与相似用户的相似度乘以对应相似用户在本篇文档上的标签向量并求和,得到 目标用户对文档的个性化标签向量;公式如下:

pu,d=Σi=1|UdUT|(υui,d·Persim(ui,u))

其中,pu,d为目标用户u对文档d的个性化标签向量,为相似用户ui对 文档d的标签向量,Ud∩UT为对文档d标注过的用户与目标用户的相似用户的 交集;

F、计算用户的扩展属性向量:对目标用户的所有文档的个性化标签向量求 和,得到目标用户的扩展属性向量,公式如下:

pu=Σi=1Dpu,d

其中,p’u为目标用户的扩展属性向量,D为整个文档集合;

G、文档打分及排序:计算目标用户的文档得分并按照文档得分对文档进行 降序排列,输出个性化搜索结果;目标用户的文档得分的获取方法如下:

当目标用户提出查询时,对每一篇文档都用向量夹角余弦公式计算查询向 量和文档内容向量的得分以及查询向量和文档标签向量的得分,并进行线性插 值;之后继续用向量夹角余弦公式计算目标用户的扩展属性向量和其在该文档 上的个性化标签向量的得分,与查询向量和文档内容向量的得分以及查询向量 和文档标签向量的得分线性插值的结果再一次插值,得到文档对于目标用户的 文档得分。

步骤B中,计算网页文档内容的tf-idf值的公式如下:

tf-idfi,j=ni,jΣknk,j×log|D||j:tidj|

其中,ni,j是词语ti在文档dj中出现的次数,Σknk,j为dj中所有词语出现次数的 总和,|D|为文档总数,|j:ti∈dj|为包含词语ti的文档数量。

步骤G采用如下公式计算文档对于目标用户的文档得分:

Rank(d,q,u)=α·Cos(p'u,pu,d)+(1-α)·[β·Cos(q,pd)+(1-β)·Cos(q,d)]

其中,Rank(d,q,u)为文档d在目标用户u提出查询q的情况下的得分,Cos(p’u,pu,d) 为目标用户的扩展属性和目标用户对文档d的个性化标签向量的夹角余弦值, Cos(q,pd)为查询q和文档d的标签向量的夹角余弦值,Cos(q,d)为查询q与文档 d的内容向量的夹角余弦值,α、β为参数,并且0<α、β<1。

步骤A中采用波特词干算法进行词干化处理。

一种基于社会化标注的个性化搜索系统,包括:

网页文档预处理模块:用于对所采集的每个网页中的标识符、网页文档内 容、类别、给过标注的用户及对应用户给出的标签并将它们保存下来;对于同 一网页,将标识符、网页类别、网页文档内容作为一组数据记录,标识符、给 网页标注过的用户及对应用户给出的标签作为另一组数据记录;将所有网页的 数据记录分类汇总保存,并对其中的网页文档内容和标签对照停用词表进行去 停用词处理,并对网页文档内容和标签进行词干化处理,输出提取内容集;

相关向量提取模块:用于从网页文档预处理模块的提取内容集中提取出文 档内容向量、文档标签向量、用户属性向量以及用户类别向量;

用户相似度计算模块:用于计算并输出目标用户和其他任一用户之间的相 似度,公式如下:

Persim(u’,u)=Cos(cu',cu)×Cos(pu',pu)

其中,u为目标用户,u’为其他任一用户,Persim(u’,u)为两者的相似度,cu为目标用户的类别向量,cu'为其他用户的类别向量,pu为目标用户的属性向量, pu'为其他任一用户的属性向量,Cos(a,b)为a和b的夹角余弦值;

相似用户选取模块:用于将用户相似度计算模块中的相似度超过相似度阈 值的用户选定为目标用户的相似用户输出;

用户对文档的个性化标签向量的计算模块:用于计算并输出目标用户对文 档的个性化标签向量;目标用户对文档的个性化标签向量的计算方法为对任一 篇文档,将每一个目标用户与相似用户的相似度乘以对应相似用户在本篇文档 上的标签向量并求和,公式如下:

pu,d=Σi=1|UdUT|(υui,d·Persim(ui,u))

其中,pu,d为目标用户u对文档d的个性化标签向量,为相似用户ui对 文档d的标签向量,Ud∩UT为对文档d标注过的用户和与目标用户的相似用户 的交集;

用户的扩展属性向量计算模块:用于对目标用户的所有文档的个性化标签 向量求和,输出目标用户的扩展属性向量,公式如下:

pu=Σi=1Dpu,d

其中,p’u为目标用户的扩展属性向量,D为整个文档集合;

文档打分及排序模块:用于计算文档得分并按照文档得分对文档进行降序排 列,以输出个性化搜索结果。

文档内容向量的提取方法为:以所有网页文档内容中出现过的词作为向量 空间,对该网页文档内容做tf-idf统计,得到文档内容向量,向量每一维的权重 为tf-idf值;

文档标签向量的提取方法为:以所有网页上的标签作为向量空间,对文档 被标注过的标签进行词频统计,得到文档标签向量,向量每一维的权重为该标 签出现的次数;

用户属性向量的提取方法为:对每一个标注过该文档的用户,以所有网页 上的标签作为向量空间,对其在该文档上给出的标签进行频率统计,得到用户 在该文档上的文档标签向量,向量每一维的权重为用户给出该标签的次数;对 于每一个用户,将该用户对应的所有在文档上的文档标签向量进行累加,得到 该用户的用户属性向量;

用户类别向量的提取方法为:以所有网页类别作为向量空间,对用户标注过 的网页的类别进行频率统计,得到用户类别向量,向量每一维的权重为该用户 标注过的该类别网页的数量。

相关向量提取模块中计算网页文档内容的tf-idf值的公式如下:

tf-idfi,j=ni,jΣknk,j×log|D||j:tidj|

其中,ni,j是词语ti在文档dj中出现的次数,Σknk,j为dj中所有词语出现次数的 总和,|D|为文档总数,|j:ti∈dj|为包含词语ti的文档数量。

文档打分及排序模块中采用如下公式计算文档对于目标用户的文档得分:

Rank(d,q,u)=α·Cos(p'u,pu,d)+(1-α)·[β·Cos(q,pd)+(1-β)·Cos(q,d)]

其中,Rank(d,q,u)为文档d在目标用户u提出查询q的情况下的得分,Cos(p’u,pu,d) 为目标用户的扩展属性和目标用户对文档d的个性化标签向量的夹角余弦值, Cos(q,pd)为查询q和文档d的标签向量的夹角余弦值,Cos(q,d)为查询q与文档 d的内容向量的夹角余弦值,α、β为参数,并且0<α、β<1。

网页内容预处理模块中采用波特词干算法进行词干化处理。

本发明的基本构思是基于用户个人的兴趣有针对性地改变搜索结果,提高 用户满意度和检索精度。具体而言,本发明收集用户的标注记录;使用用户的 标注信息及标注过的网页的类别信息计算用户之间的相似度,选择与目标用户 的相似度超过一定阈值的用户组成该用户的相似用户集;通过相似用户的标注 信息形成目标用户对文档的个性化标签信息,并进一步计算用户的扩展属性; 当目标用户提交服务搜索请求时,搜索引擎将查询得到的得分与文档对用户而 言的社会化得分插值相加再进行排序,得到个性化的搜索结果。这样,用户通 过自己给出的标签信息参与了个性化搜索结果的定制。

本发明的有益效果在于:本发明的搜索方法及系统通过用户给出的标签深 度挖掘用户的偏好兴趣,即从网页用户的标注信息出发,使用用户主动公开的 信息进行个性化优化,避免了隐私和冷启动的问题,完全基于用户本身进行考 虑,较好地提升了搜索的准确度。

与现有的个性化搜索方法相比,本发明有以下四个特点:

1、用户兴趣的提取对用户透明,不需要用户的额外参与或其他额外的资源, 服务器开销不会增加;

2、使用用户看过网页的类别信息及给出的标签信息寻找高相似度用户,使 寻找到的相似用户更准确;

3、使用相似用户形成目标用户的扩展属性,使用户的兴趣表达更全面有效; 将社会化得分和非社会化得分线性插值,可以准确根据不同用户兴趣调整搜索 结果,使搜索结果直接受用户兴趣影响。

4、除了查询过程都可以在离线的状态下完成,不会额外占用查询时间。

附图说明

图1是本发明基于社会化标注的个性化搜索方法的流程图。

图2是本发明基于社会化标注的个性化搜索系统的模块结构示意图。

具体实施方式

以下结合附图及具体实施方式对本发明进行说明:

如图1所示,一种基于社会化标注的个性化搜索方法,该方法包括以下步骤:

A、预处理网页内容:对网页逐个进行扫描,采集每个网页中的标识符、网 页文档内容、类别、给过标注的用户及对应用户给出的标签并将它们保存下来; 对于同一网页,将标识符、网页类别、网页文档内容作为一组数据记录,标识 符、给网页标注过的用户及对应用户给出的标签作为另一组数据记录;将所有 网页的数据记录分类汇总保存,并对其中的网页文档内容和标签对照停用词表 进行去停用词处理,并对网页文档内容和标签进行词干化处理,得到提取内容 集。

其中,去停用词是指文档中出现频率太高但实际意义太低的词。去除停用 词是知识抽取成分词向量的一个步骤,它的单独处理会提高信息检索的质量。 目前,已经有了一些公开发表的英文停用词表,其中比著名的是Van Rijsbergen 发表的停用词表以及Brown Corpus停用词表。中文停用词表比较著名的有哈工 大停用词表、四川大学机器智能实验室停用词库、百度停用词表等。一般停用 词表不仅包含一些通用的停用词,如a,by,is等,而且包含在互联网领域经常 出现的一些词汇,例如service,soap,response,等,这些词对于信息检索说区 分度并不大,而且容易引入干扰。所以将包含于该表中的词从网页文档内容及 标签信息中移除。

词干是指所有词语在词缀被去掉后所剩余的部分,提取词干是去除词缀得 到词根的过程,这个过程有助于更加准确无重复地抽取抽取用户兴趣。此过程 采用的是Martin Poter博士于1979年在英国剑桥大学计算机实验室发明的波特 词干算法。

B、在提取内容集中提取相关向量:相关向量包括文档内容向量、文档标签 向量、用户属性向量以及用户类别向量。

文档内容向量的提取方法为:以所有网页文档内容中出现过的词作为向量 空间,对该网页文档内容做tf-idf统计,得到文档内容向量,向量每一维的权重 为tf-idf值。

文档标签向量的提取方法为:以所有网页上的标签作为向量空间,对文档 被标注过的标签进行词频统计,得到文档标签向量,向量每一维的权重为该标 签出现的次数。

用户属性向量的提取方法为:对每一个标注过该文档的用户,以所有网页 上的标签作为向量空间,对其在该文档上给出的标签进行频率统计,得到用户 在该文档上的文档标签向量,向量每一维的权重为用户给出该标签的次数;对 于每一个用户,将该用户对应的所有在文档上的文档标签向量进行累加,得到 该用户的用户属性向量。

用户类别向量的提取方法为:以所有网页类别作为向量空间,对用户标注 过的网页的类别进行频率统计,得到用户类别向量,向量每一维的权重为该用 户标注过的该类别网页的数量。

其中,计算网页文档内容的tf-idf值的公式如下:

tf-idfi,j=ni,jΣknk,j×log|D||j:tidj|

其中,ni,j是词语ti在文档dj中出现的次数,Σknk,j为dj中所有词语出现次数的 总和,|D|为文档总数,|j:ti∈dj|为包含词语ti的文档数量。

C、计算用户相似度:将目标用户和其他任一用户的用户属性向量求夹角余 弦值得到用户属性相似度;对目标用户和其他任一用户的用户类别向量求夹角 余弦值得到用户类别相似度;然后将用户属性相似度乘以用户类别相似度作为 目标用户和其他任一用户之间的相似度,公式如下:

Persim(u’,u)=Cos(cu',cu)×Cos(pu',pu)

其中,u为目标用户,u’为其他任一用户,Persim(u’,u)为两者的相似度,cu为目标 用户的类别向量,cu'为其他用户的类别向量,pu为目标用户的属性向量,pu'为 其他任一用户的属性向量,Cos(a,b)为a和b的夹角余弦值。

D、选取相似用户:根据在0~1范围内预设的相似度阈值,选择相似度值超 过相似度阈值的用户为目标用户的相似用户。

E、计算用户对文档的个性化标签向量:对任一篇文档,将每一个目标用户 与相似用户的相似度乘以对应相似用户在本篇文档上的标签向量并求和,得到 目标用户对文档的个性化标签向量;公式如下:

pu,d=Σi=1|UdUT|(υui,d·Persim(ui,u))

其中,pu,d为目标用户u对文档d的个性化标签向量,为相似用户ui对文档 d的标签向量,Ud∩UT为对文档d标注过的用户和与目标用户的相似用户的交集。

F、计算用户的扩展属性向量:对目标用户的所有文档的个性化标签向量求 和,得到目标用户的扩展属性向量,公式如下:

pu=Σi=1Dpu,d

其中,p’u为目标用户的扩展属性向量,D为整个文档集合。

G、文档打分及排序:当目标用户提出查询时,用向量夹角余弦公式计算查 询向量和文档内容向量的得分以及查询向量和文档标签向量的得分,并进行线 性插值;之后继续用向量夹角余弦公式计算查询用户的扩展属性向量和其在文 档上的个性化标签向量的得分,与前面的结果再进行插值,得到文档对于目标 用户的文档得分;按照所述文档得分对文档进行降序排列,从而得到个性化搜 索结果。文档对于目标用户的文档得分由如下公式得到:

Rank(d,q,u)=α·Cos(p'u,pu,d)+(1-α)·[β·Cos(q,pd)+(1-β)·Cos(q,d)]

其中,Rank(d,q,u)为文档d在目标用户u提出查询q的情况下的得分,Cos(p’u,pu,d) 为目标用户的扩展属性和目标用户对文档d的个性化标签向量的夹角余弦值, Cos(q,pd)为查询q和文档d的标签向量的夹角余弦值,Cos(q,d)为查询q与文档 d的内容向量的夹角余弦值,α、β为参数,并且0<α、β<1。

实施例

为了便于说明,这里假设α=0.4,β=0.5。

假设用户Carl发出查询“InterestingFilm”,并希望找到符合自己兴趣的结果。

本实施例包含以下7个步骤:

(1)预处理网页内容

对网页逐个进行扫描,采集每个网页中的标识符(即网页ID)、网页文档内 容、类别、给过标注的用户及对应用户给出的标签并将它们保存下来;对于同 一网页,将标识符、网页类别、网页文档内容作为一组数据记录,以用来表示 网页文档内容及类别(如表1所示),标识符、给网页标注过的用户及对应用户 给出的标签作为另一组数据记录,以用来表示网络文档的用户标注情况(如表2 所示);将所有网页的数据记录分类汇总保存,以5篇网络文档为例,形成表 1-表2的形式。

表1网页文档内容及类别

网页ID 网页类别 网页文档内容 7429 Comedy Hollywood,King of Comedy 8632 Action Lianjie Li,Fist of fury 5499 Comedy Hong Kong,Flirting Scholar 6127 Action Transformer,Cars,Earth 9469 Horrible The House That Never Dies,Terrible

表2网络文档的用户标注情况

网页ID 用户名 标签 7429 Alice English,Comedy,Interesting 7429 Bob Boring 7429 Carl English,Comedy 8632 Alice Boring 8632 Bob Chinese,Action,Interesting 8632 Carl Boring 5499 Alice Chinese,Comedy,Interesting 5499 David Chinese,Comedy,Interesting 6127 Alice English 6127 Bob Action 6127 Carl Boring 6127 David Action,Boring 9469 David Chinese,Interesting

对表1-2中的网页文本内容及标签内容对照停用词表进行去停用词处理,并 对网页文本内容及标签利用波特词干算法进行词干化处理。如Comedy->comed、 Interesting->interest、Boring->bor、Action->act以及将of等词去除,得到提取内 容集,以备后续计算。

(2)在提取内容集中提取相关向量:所述相关向量包括文档内容向量、文 档标签向量、用户属性向量以及用户类别向量;以所有网页文档内容中出现过 的词作为向量空间,对该网页文档内容做tf-idf统计,得到文档内容向量,向量 每一维的权重为tf-idf值;以所有网页上的标签作为向量空间,对文档被标注过 的标签进行词频统计,得到文档标签向量,向量每一维的权重为该标签出现的 次数;对每一个标注过该文档的用户,以所有网页上的标签作为向量空间,对 其在该文档上给出的标签进行频率统计,得到用户在该文档上的文档标签向量, 向量每一维的权重为用户给出该标签的次数;对于每一个用户,将该用户对应 的所有在文档上的文档标签向量进行累加,得到该用户的用户属性向量;以所 有网页类别作为向量空间,对用户标注过的网页的类别进行频率统计,得到用 户类别向量,向量每一维的权重为该用户标注过的该类别网页的数量;其中, 计算网页文档内容的tf-idf值的公式如下:

tf-idfi,j=ni,jΣknk,j×log|D||j:tidj|

其中,ni,j是词语ti在文档dj中出现的次数,Σknk,j为dj中所有词语出现次数的 总和,|D|为文档总数,|j:ti∈dj|为包含词语ti的文档数量。

如文档7429上hollywood的tf-idf值为:

tf-idfhollywood,7429=13×log51=0.233

将每一篇文档上的词都进行计算,得到表3所示的文档内容向量:

表3文档内容向量

对某一用户在某一文档上的标签进行频率统计得到用户对文档的标签向 量,比如Alice对文档7429给出的标注为“English,Comedy,Interesting”,所以向 量中English、Comed、Interest的值应该为1,其余为0。把用户对文档的标注 逐一进行统计,得到表4所示的用户对文档的标签向量:

表4用户对文档的标签向量

用户名 文档 English Comed Interest Bor Chinese Act Alice 7429 1 1 1 0 0 0 Alice 8632 0 0 0 1 0 0 Alice 5499 0 1 1 0 1 0 Alice 6127 1 0 0 0 0 0 Bob 7429 0 0 0 1 0 0 Bob 8632 0 0 1 0 1 1 Bob 6127 0 0 0 0 0 1 Carl 7429 1 1 0 0 0 0 Carl 8632 0 0 0 1 0 0 Carl 6127 0 0 0 1 0 0 David 5499 0 1 1 0 1 0 David 6127 0 0 0 1 0 1 David 9469 0 0 1 0 1 0

对同一用户给出的所有标签做词频统计,得到该用户的用户属性向量。比 如用户Alice给出的所有标注为“English,Comedy,Interesting”、“Boring”、 “Chinese,Comedy,Interesting”和“English”,所以其用户属性向量中English、 Comed、Interest的值应为2,Bor、Chinese的值应为1,其余为0。对所有用户 逐一统计,得到表5所示的用户属性向量:

表5用户属性向量

用户 标签 English Comed Interest Bor Chinese Act Alice 2 2 2 1 1 0 Bob 0 0 1 1 1 2 Carl 1 1 0 2 0 0 David 0 1 2 1 2 1

对同一用户标注过的文档的类别进行频率统计,得到用户类别向量。比如 Alice标注过的文档为7429、8632、5499、6127,对应的类别为Comedy、Action、 Comedy、Action,所以其类别向量中Comedy和Action的值应为2,其余为0。 对所有用户逐一统计,得到表6所示的用户类别向量:

表6用户类别向量

用户 类别 Comedy Action Horrible Alice 2 2 0 Bob 1 2 0 Carl 1 2 0 David 1 1 1

对同一文档的所有标签做词频统计,得到文档标签向量。比如文档7429被 标注过的标签为“English,Comedy,Interesting”、“Boring”和“English,Comedy”,所 以其向量中English、Comed的值应为2,Interest、Bor的值应为1,其余为0。 对所有文档逐一统计,得到表7所示的文档标签向量:

表7文档标签向量

文档 标签 English Comed Interest Bor Chinese Act 7429 2 2 1 1 0 0 8632 1 0 1 1 1 1 5499 0 2 2 0 2 0 6127 1 0 0 1 0 2 9469 0 0 1 0 1 0

(3)计算用户相似度:将目标用户和其他任一用户的用户属性向量求夹角 余弦值得到用户属性相似度;对目标用户和其他任一用户的用户类别向量求夹 角余弦值得到用户类别相似度;然后将用户属性相似度乘以用户类别相似度作 为两个用户之间的相似度,公式如下:

Persim(u’,u)=Cos(cu',cu)×Cos(pu',pu)

其中,u为目标用户,u’为其他任一用户,Persim(u’,u)为两者的相似度,cu为目标用户的类别向量,cu'为其他用户的类别向量,pu为目标用户的属性向量, pu'为其他任一用户的属性向量,Cos(a,b)为a和b的夹角余弦值;

两个用户之间的相似度采用两者类别向量的夹角余弦值乘以两者属性向量 的夹角余弦值,所以可以得到Carl与另外三位用户的相似度为:

Persim(Bob,Carl)=55·5·27·6=0.308

Persim(David,Carl)=33·5×311·6=0.286

(4)选取相似用户:选取相似度阈值T=0.5,根据步骤(3)的相似度值, 可知Carl的相似用户只有Alice。

(5)计算用户对文档的个性化标签向量:将Alice在每篇文档上的标签向 量乘以其与Carl的相似度之后累加到Carl对每篇文档的标签向量上,就可以得 到Carl对每篇文档的个性化标签向量,得到表8。公式如下:

pu,d=Σi=1|UdUT|(υui,d·Persim(ui,u))

其中,pu,d为目标用户u对文档d的个性化标签向量,为相似用户ui对 文档d的标签向量,Ud∩UT为对文档d标注过的用户和与目标用户的相似用户 的交集;

表8Carel对文档的个性化标签向量

  English Comed Interest Bor Chinese Act 7429 1.621 1.621 1.621 0 0 0 8632 0 0 0 1.621 0 0 5499 0 0.621 0.621 0 0.621 0 6127 0.621 0 0 1. 0 0 9469 0 0 0 0 0 0 扩展属性向量 2.242 2.242 2.242 2.621 0.621 0

(6)计算用户的扩展属性向量:将目标用户的所有对文档的个性化标签向 量进行累加,即可得到目标用户的扩展属性向量。经累加,Carl的扩展属性向 量为(2.242,2.242,2.242,2.621,0.621)。

(7)文档打分及排序:由于用户提出的查询向量为(Interest,Film),很显然查询 与文档内容的相似度都为0,按

Rank(d,q,u)=α·Cos(p'u,pu,d)+(1-α)·[β·Cos(q,pd)+(1-β)·Cos(q,d)]的公式计 算各文档最终得分分别为:

Rank(7429,q,Carl)=0.3·10.097.88·22.33+(1-0.3)·(0.5·14·10)=0.284

Rank(8632,q,Carl)=0.3·4.241.621·22.33+(1-0.3)·(0.5·14·7)=0.278

Rank(5499,q,Carl)=0.3·3.171.16·22.33+(1-0.3)·(0.5·24·12)=0.288

Rank(6127,q,Carl)=0.3·4,011.39·22.33+(1-0.3)·(0.5·04·6)=0.216

Rank(9469,q,Carl)=0.3·01.39·22.33+(1-0.3)·(0.5·14·2)=0.124

将网页得分按从高到低排列,从而得到了基于用户兴趣的个性化搜索结果。

实施效果:用户“Carl”作为目标用户,提出的查询为“Interesting Film”。分别 比较只考虑文本内容、不加入基于标注的兴趣得分以及加入基于标注的兴趣得 分的三种该方法的排序结果,表9为三种方法排序所得结果情况:

表9不同方法排序所得结果

方法 排序结果 只考虑文本内容 7429=8632=5499=6127=9469 不加入基于标注的兴趣得分 9469>5499>8632>7429>6127 加入基于标注的兴趣得分 5499>7429>8632>6127>9469

可以看出,只考虑文本内容的情况下,由于文本内容中都不包含查询词, 所以所有文本的得分是一样的,即排序结果是无序的,这显然与实际情况是不 相符的,也不是用户希望得到的结果。当加入文档标注向量而不考虑标注信息 所含的用户兴趣时,排在第一位ID为9469的文档属于Horrible类别,并不是 目标用户看过并感兴趣的类别。相反的,属于Comedy分类的ID为5499和7429 的文档则排在了第2和第4位。目标用户在获得搜索结果后,还需要按顺序点 击才能确认是否为对自己有用的结果。

而加入基于标注的兴趣得分后,ID为5499和7429的文档的分数得到了提 升,排在了搜索结果的顶端。搜索结果更好地符合了目标用户的兴趣。同时注 意到,ID为5499的文档为目标用户未曾浏览过的,显然是对用户最有价值的结 果,这样的排序结果能更好为用户提供其感兴趣的潜在资源。由此可见,基于 社会化标注的个性化搜索方法和系统能提高信息检索的准确性,改善用户对搜 索引擎的满意度。

配合本发明的搜索方法,本发明提出了一种基于社会化标注的个性化搜索系 统,如图2所示,包括:

网页内容预处理模块:用于对所采集的每个网页中的标识符、网页文档内 容、类别、给过标注的用户及对应用户给出的标签并将它们保存下来;对于同 一网页,将标识符、网页类别、网页文档内容作为一组数据记录,标识符、给 网页标注过的用户及对应用户给出的标签作为另一组数据记录;将所有网页的 数据记录分类汇总保存,并对其中的网页文档内容和标签对照停用词表进行去 停用词处理,并对网页文档内容和标签进行词干化处理,输出提取内容集;其 中优选采用波特词干算法进行词干化处理。

相关向量提取模块:用于从网页内容预处理模块的提取内容集中提取出文 档内容向量、文档标签向量、用户属性向量以及用户类别向量;按照本发明的 提取相关向量的步骤对上述向量进行提取。

用户相似度计算模块:用于计算并输出目标用户和其他任一用户之间的相 似度,公式如下:

Persim(u’,u)=Cos(cu',cu)×Cos(pu',pu)

其中,u为目标用户,u’为其他任一用户,Persim(u’,u)为两者的相似度,cu为目标用户的类别向量,cu'为其他用户的类别向量,pu为目标用户的属性向量, pu'为其他任一用户的属性向量,Cos(a,b)为a和b的夹角余弦值;

相似用户选取模块:用于将用户相似度计算模块中的相似度超过相似度阈 值的用户选定为目标用户的相似用户输出;

用户对文档的个性化标签向量的计算模块:用于计算并输出目标用户对文 档的个性化标签向量;目标用户对文档的个性化标签向量的计算方法为对任一 篇文档,将每一个目标用户与相似用户的相似度乘以对应相似用户在本篇文档 上的标签向量并求和,公式如下:

pu,d=Σi=1|UdUT|(υui,d·Persim(ui,u))

其中,pu,d为目标用户u对文档d的个性化标签向量,为相似用户uj对 文档d的标签向量,Ud∩UT为对文档d标注过的用户和与目标用户的相似用户 的交集;

用户的扩展属性向量计算模块:用于对目标用户的所有文档的个性化标签 向量求和,输出目标用户的扩展属性向量,公式如下:

pu=Σi=1Dpu,d

其中,p’u为目标用户的扩展属性向量,D为整个文档集合;

文档打分及排序模块:用于按照步骤(7)的方法计算文档得分并按照文档 得分对文档进行降序排列,以输出个性化搜索结果。

在Windows环境下,采用JDK1.6实现本专利所述系统,在CABS120k08 上进行检索实验,共花费2小时,检索结果的平均排序倒数最高值为0.166,对 比不基于标注进行个性化搜索所能得到的最高值0.142,提升了16.9%。

以上内容是结合具体的优选技术方案对本发明所作的进一步详细说明,不 能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通 技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替 换,都应当视为属于本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号