搜索引擎主题模型优化(【】基于用户兴趣模型的Nutch个性化搜索引擎研究摘)
优采云 发布时间: 2022-01-20 11:03搜索引擎主题模型优化(【】基于用户兴趣模型的Nutch个性化搜索引擎研究摘)
基于用户兴趣模型的Nutch个性化搜索引擎研究摘要:针对当前主流搜索引擎个性化程度低的问题,将用户的兴趣类别和加权关键词组成的向量集表示用户兴趣模型,更新算法用于更新和优化模型。用户兴趣模型结合开源搜索引擎Nutch,加入中文分词组件IKAnalyzer,实现个性化搜索引擎。对传统搜索和个性化搜索进行了对比实验,结果证明Nutch个性化搜索引擎的搜索结果更符合用户的兴趣。关键词:用户兴趣模型;个性化;搜索引擎;
目前主导市场的搜索引擎查询结果仅与用户输入的关键词相关,并未考虑隐藏在同一关键词中的用户个性化需求。这类搜索引擎的主要特点是信息的自动抓取和自动排序和搜索[2]。目前,主流搜索引擎都没有实现面向客户需求和兴趣的个性化搜索。在这种情况下,个性化搜索引擎的研发逐渐兴起。在这一代搜索引擎中,应具备的公认特征是个性化和智能化[3]。为了根据用户需求和兴趣生成搜索结果,搜索引擎需要基于用户兴趣模型的构建。本文采用隐式反馈的方法,通过分析用户的浏览行为和浏览内容,得到用户的兴趣类别和关键词,并使用一组加权的关键词组成的向量集来代表用户的兴趣。采用更新算法对模型进行优化,使用户模型的构建在条件的引导下进行,实现智能搜索。在个性化搜索引擎的实现部分,基于Lucene,用Nutch实现个性化搜索引擎,作为实验平台验证用户兴趣模型的有效性。1 用户兴趣模型的建立与应用 一般来说,个性化搜索引擎的结果依赖于用户兴趣模型的表示,因此用户兴趣模型的构建在个性化搜索引擎的研究和实现中非常重要[4]。本文在传统向量空间的基础上,采用改进的多级向量空间模型来表示用户兴趣。
由于用户兴趣的多样性,将用户兴趣分类可以有效减少不同类别之间的相互干扰,提高检索准确率。具体为“用户→兴趣类别→兴趣入口”的层次树结构,如图1所示。 [用户][兴趣类别1][KW11][…][KW1n] […][兴趣类别m] [KWm1][…][KWmn] 图1 图1中多级向量空间中的用户兴趣模型,第一层是用户,第二层是兴趣类别,第三层由词条组成用户的兴趣。假设用户感兴趣的领域有m个,那么兴趣概况(Interest Profile)也可以用如下向量表示:IPro={(C1, H1, Q1, T1), (C2, H2 , Q2, T2), ..., (Cm, Hm, Qm, Tm)} 其中(Ck, Hk, Qk, Tk)是用户第k个兴趣的节点,Ck代表兴趣类别的名称;Hk 代表类别 的权重,是对 Ck 类的所有样本的感兴趣程度的乘积。Qk 表示样本数,Tk 表示感兴趣的术语列表。如果 Ck 类中有 n 个有趣的术语,则 Tk 可以表示为: Tk={(KWk1, WTk1),...(KWkn, WTkn)} 其中 (KWkn, WTkn) 是第 n 个条目,KWkn为关键词,WTkn为其权重,在用户兴趣模型构建之初,需要主动输入一些兴趣类别,而这部分主要是用户的稳定兴趣。Hk 代表类别 的权重,是对 Ck 类的所有样本的感兴趣程度的乘积。Qk 表示样本数,Tk 表示感兴趣的术语列表。如果 Ck 类中有 n 个有趣的术语,则 Tk 可以表示为: Tk={(KWk1, WTk1),...(KWkn, WTkn)} 其中 (KWkn, WTkn) 是第 n 个条目,KWkn为关键词,WTkn为其权重,在用户兴趣模型构建之初,需要主动输入一些兴趣类别,而这部分主要是用户的稳定兴趣。Hk 代表类别 的权重,是对 Ck 类的所有样本的感兴趣程度的乘积。Qk 表示样本数,Tk 表示感兴趣的术语列表。如果 Ck 类中有 n 个有趣的术语,则 Tk 可以表示为: Tk={(KWk1, WTk1),...(KWkn, WTkn)} 其中 (KWkn, WTkn) 是第 n 个条目,KWkn为关键词,WTkn为其权重,在用户兴趣模型构建之初,需要主动输入一些兴趣类别,而这部分主要是用户的稳定兴趣。
在使用过程中,搜索引擎需要具备隐式获取用户兴趣并自动处理用户兴趣模型更新的能力。根据人的行为和心理特征,用户兴趣分为实时兴趣和稳定兴趣,分别是指用户短期和长期不变的兴趣倾向。用户的实时兴趣主要是从用户在短时间内访问的页面中获取的。假设用户一天访问 w 个页面,可以用 m 维向量 Ptd 来描述当天的兴趣: ptd=(,,... ,) 其中每一项可以表示为: = 用户的稳定兴趣可以通过用户在n天内的访问历史获得。在本文中,n的值作为天的窗口比例,Sj定义为用户在前j天浏览过的页面数,其中s0表示用户当天浏览过的页面数。在此基础上,通过设置窗口的尺度n来构建用户的稳定兴趣模型,其中n定义为60。与Ptd的构建类似,使用一个m维向量来表示用户的稳定兴趣,即具体表示为: psd=(,,... ,) 根据以上分析,公式中的每一项可表示为: = 其中,为衰减因子,代表稳定兴趣的遗忘率。就像人脑会忘记事情一样,元素在用户稳定兴趣中的权重也会随着时间的推移而降低,所以衰减因子在用户模型中的应用保证了模型的时间可靠性。在这个遗忘因子中,hl 是一个生命周期参数。根据经验,人们接受的新知识一般在一周后开始被遗忘,因此将hl的值设置为7;din 表示 关键词t(k) 首次出现的日期,d 表示当前日期,d-din 表示 关键词tk 在模型中存储的天数,即数字用户感兴趣的天数。
最后,由于用户每天访问的页面数量是不同的,因此它通过每天访问的页面总数 Sn 进行归一化。随着用户访问时间的积累和访问页面数量的不断增加,用户的稳定兴趣模型会自动更新。结合用户实时兴趣,可以形成用户兴趣模型,表示为: P= a×ptd+c×b×psd 其中,a+b=1,c为常数,定义如下:其中,dur表示用户每次花费在每个关键词上的平均时间,通过初步实验分析研究,本文确定阈值Th=0.317。网页,就像用户兴趣模型一样,可以用一个向量空间来表示,因此可以通过向量的相似度计算对它们进行统一处理。假设页面 ri 是搜索引擎查询到的第 i 个页面,计算用户兴趣模型 P 与 ri 的向量形式的相似度的公式如下: 使用该公式,搜索引擎查询到的页面 ri并且可以计算出用户兴趣模型。P之间的相似度。也就是说,搜索引擎得到一般的搜索结果后,可以将搜索结果按照相似度降序排列显示,从而达到个性化搜索的目的。2 基于Nutch的个性化搜索引擎的实现与一般搜索引擎类似。Nutch 的两个主要功能是爬取和查询。Nutch 中爬虫的主要职责是从互联网上爬取网页并构建结构良好的索引。查询是根据用户查询关键词[5]返回符合要求的网页。
由于Nutch的中文分词采用默认分词,会直接影响到搜索结果的排序检索效率和准确率,因此本文在Nutch中加入了IKAnalyzer中文分词组件。个性化搜索引擎的关键是将高质量、高精度的用户兴趣模型应用于常见的搜索引擎[6]。引擎匹配模块就是根据这个原理发挥作用,计算用户搜索到的网页文本与用户兴趣的相关度,并进行排序。本文编写Java代码实现用户兴趣模型中用户兴趣的提取。具体来说,首先构建一个对象,实现映射,打开建立的索引文件,新建一个爬虫对象,得到最基本的用户兴趣类别;然后根据用户输入的关键词,得到匹配结果列表,返回查询关键词匹配的兴趣类别;然后给得到的兴趣类别分配权重,得到兴趣类别的关键词链表,并输出;最后,返回提取的用户兴趣。个性化搜索引擎的界面界面是用户检索和返回查询结果的地方,也是直接向用户提供服务的地方,简单、方便是最基本的要求。最终实现的个性化搜索引擎界面采用Nutch系统自带的页面,如图2所示。 图2个性化搜索引擎界面3实验结果在实验中,首先需要根据用户兴趣模型获取用户兴趣类别。通过索引获取的文本文档存放在/nutch-1.2/vipcrawl,vipcrawl是通过nutch自带的爬虫爬取同目录的vipurls.txt得到的。
vipurls.txt 存储了大约一百个 网站 链接以及更多网页。爬取深度为2,获取的页*敏*感*词*有代表性。分析用户浏览行为和内容后,网页文本分类结果如表1所示。 表1 网页文本分类结果[主题类别\&文档总数T\&检查次数N1\ & 错误数 N2 \ & 准确率 P \ & football \ & 300 \ & 245 \ & 55 \ & 0.@ >817\&IT\&800\&756\&44\&0.945\&Mobile\&200 \&175\&25\&0.875\&旅游\&600\&564\&36\&0.@ >940\&] 在表1中,P=N1/T。文本分类完成后,划分的主题类别为用户' 的兴趣类别。由于已经计算了网页的兴趣度,根据公式可以得到用户每个兴趣类别的权重。计算结果如表2所示。 表2 用户兴趣类别和权重[用户兴趣类别\&权重\&足球\&0.32\&IT\&0.26\&手机\&0. @>17\&tourism \&0.09\&] 由此可以得到特定用户的兴趣模型,该模型的可视化表示如图3所示。 [user][football(< @0.32)][英超10.85][德甲5.65][西甲3.26][IT(0.2< @6)][手机(0.17)][Apple12.36][三星< 由于已经计算了网页的兴趣度,根据公式可以得到用户每个兴趣类别的权重。计算结果如表2所示。 表2 用户兴趣类别和权重[用户兴趣类别\&权重\&足球\&0.32\&IT\&0.26\&手机\&0. @>17\&tourism \&0.09\&] 由此可以得到特定用户的兴趣模型,该模型的可视化表示如图3所示。 [user][football(< @0.32)][英超10.85][德甲5.65][西甲3.26][IT(0.2< @6)][手机(0.17)][Apple12.36][三星< 由于已经计算了网页的兴趣度,根据公式可以得到用户每个兴趣类别的权重。计算结果如表2所示。 表2 用户兴趣类别和权重[用户兴趣类别\&权重\&足球\&0.32\&IT\&0.26\&手机\&0. @>17\&tourism \&0.09\&] 由此可以得到特定用户的兴趣模型,该模型的可视化表示如图3所示。 [user][football(< @0.32)][英超10.85][德甲5.65][西甲3.26][IT(0.2< @6)][手机(0.17)][Apple12.36][三星< 根据公式可以得到用户每个兴趣类别的权重。计算结果如表2所示。 表2 用户兴趣类别和权重[用户兴趣类别\&权重\&足球\&0.32\&IT\&0.26\&手机\&0. @>17\&tourism \&0.09\&] 由此可以得到特定用户的兴趣模型,该模型的可视化表示如图3所示。 [user][football(< @0.32)][英超10.85][德甲5.65][西甲3.26][IT(0.2< @6)][手机(0.17)][Apple12.36][三星< 根据公式可以得到用户每个兴趣类别的权重。计算结果如表2所示。 表2 用户兴趣类别和权重[用户兴趣类别\&权重\&足球\&0.32\&IT\&0.26\&手机\&0. @>17\&tourism \&0.09\&] 由此可以得到特定用户的兴趣模型,该模型的可视化表示如图3所示。 [user][football(< @0.32)][英超10.85][德甲5.65][西甲3.26][IT(0.2< @6)][手机(0.17)][Apple12.36][三星<
从图3的模型可以看出,用户最感兴趣的三个领域是“足球”、“IT”和“手机”。其中,在“足球”这一类目中,用户兴趣的关键词描述为“英超”、“德甲”、“西甲”,关键词“英超”占比最大部分。实验中,输入关键词和用户兴趣相关的预期内容如表3所示。 表3 用户兴趣相关的预期搜索结果[关键词\&用户兴趣相关的预期内容\&Anderson\ &与英超球员安德森相关的内容\&苹果\&与苹果产品和公司相关的内容内容\&小米\& 小米公司及产品相关内容\&Little Flea\&巴塞罗那球星梅西(昵称Little Flea)相关内容\&] 基于以上四项个性化搜索关键词和百度搜索,根据表3,统计是否每个关键词的每个搜索结果的前30页都与用户兴趣相关,得到的搜索结果对比如图4所示。 图4 百度搜索与Nutch个性化搜索结果对比 从结果对比从图4可以看出,基于用户兴趣模型的Nutch个性化搜索引擎获得了更多符合用户兴趣的搜索结果。百度搜索前30名中,10%、30%、96.7%、10%符合用户兴趣;在 Nutch 个性化搜索的前 30 名结果中,
<p>实验表明,个性化搜索引擎可以在一定程度上提供更符合用户兴趣的搜索结果。4 小结 本文以用户兴趣模型的构建为出发点和研究重点,建立了表达用户兴趣的分层向量空间模型,构建了Nutch个性化搜索引擎,实现了引擎匹配模块和搜索接口模块。实验中,分别使用百度搜索引擎和Nutch个性化搜索引擎对相同关键词进行页面搜索,根据与预期用户兴趣相关的内容对搜索结果进行分析比较。实验结果表明,所构建的用户兴趣模型可以在一定程度上达到个性化搜索的目的,验证了用户兴趣模型的有效性。但在研究过程中,仍有一些方面需要改进和完善。这主要包括:用户兴趣模型中隐含的信息获取需要更高效的方式;搜索结果的个性化程度有待进一步提高;用户兴趣更新的有效性需要通过长期频繁的实验来证明。因此,下一步将根据发现的问题,对个性化搜索引擎的核心——用户兴趣模型进行优化,设计并进行更长时间、更高频率的实验,提高用户兴趣的有效性。更新。验证以进一步增强搜索引擎的个性化。参考文献:[1]费洪晓,莫天池,秦启飞等. 社交网络相关机制在搜索引擎中的应用综述[J]. 计算技术与自动化, 2014.33 (1): 1-9 [2] Lu D, Li Q. Personalized search on Flickr based on searcher's preference prediction[C]//第20届国际会议论文集万维网会议伴侣. ACM, 2011: 81-82 [3] 刘元, 张龙波. 个性化搜索中的用户特征模型研究[J]. 计算机工程与应用, 2011.47(1< @5): 19-24 [4] 李庆华, 康海燕, 袁晓娇等. 个性化搜索中用户兴趣模型匿名化研究[J]. 西安交通大学学报, 2013. 81-82 [3] 刘元,张龙波。个性化搜索中的用户特征模型研究[J].计算机工程与应用, 2011.47 (1