作者简介:梁耀培(1996—),深圳大学硕士研究生.研究方向:信息检索.E-mail:1030573712@qq.com
中文责编:英 子; 英文责编:木 柯
College of Computer Science and Software Engineering, Shenzhen University, Shenzhen 518060, P.R.China
artificial intelligence; database; data structure; keyword recommendation; personalization; random walk; spatial data; bipartite graph
DOI: 10.3724/SP.J.1249.2019.04467
查询推荐是指根据用户的输入提供若干替代的查询,用户使用推荐的查询去检索,得到更多符合需求的信息.利用基于位置的关键词查询推荐所提供的替代关键词能够检索到在用户查询位置附近的信息.用户提交的关键词常是多义词且含有各自的背景偏好,采用具有个性化的推荐查询则能检索到符合用户偏好的信息.为同时满足空间位置邻近和个性化需求,提出一种基于位置的个性化关键词查询推荐方法,使推荐查询的关键词能够检索到位于用户附近且符合其偏好的信息.用关键词-文档二部图表示不同关键词查询之间的语义相似性,采用动态边权重调整策略,建立与关键词相关的文档和用户当前位置的空间关系,使用分类向量模型表示用户的兴趣爱好,应用带重启的随机漫步模型,得到与用户输入的关键词具有较高相似度的其他关键词.在AOL真实数据集上的测试结果表明,该方法为用户推荐的关键词不仅可以满足用户的信息需求,还可以检索到用户位置附近符合其偏好的文档.
The query recommendation provides several alternative queries based on the input query. By using the recommended queries, the users may retrieve more relevant information. Location-aware keyword query recommendation aims for suggesting queries which are able to retrieve the relevant information close to the user's location. When the submitted queries are ambiguous and have various background preferences, the personalized recommendation queries can retrieve information that meets users' preferences. This paper studies a new method of query recommendation, i.e., the location-aware personalized keyword query recommendation. The queries suggested by this approach are able to retrieve nearby relevant information that matches the users' preferences. The proposed method establishes the semantic relationships among keyword queries via a keyword-document bipartite graph. The weights of edges in the keyword-document bipartite graph are dynamically adjusted to represent the spatial proximity of documents. The users' preferences are modeled by the category-based vectors. The random walk with restart model is used to compute recommended queries. This paper develops an efficient algorithm and data structures for the computation of recommendations. The experiments on a real data set AOL demonstrate the effectiveness of the proposed method.
在信息检索系统中,关键词查询推荐技术是利用用户提交的关键词,向其推荐若干相关关键词,用户再用这些推荐的关键词去检索,找到所需信息.现有的关键词查询推荐方法大多是基于搜索日志中的点击信息[1-3]和查询会话记录[4],主要分为基于带重启的随机漫步(random walk with restart, RWR)方法[5]、排列学习方法[6]和基于聚类的方法[2].近年来,也有学者使用神经网络进行基于位置的查询推荐[7].在基于位置的信息检索中,用户不仅希望找到与所查询关键词相关的信息,还希望返回的信息在用户位置附近.这个需求来自于空间关键词搜索的增多[8].个性化的推荐模型在计算的过程中会考虑用户的偏好,因此不同偏好的用户即使提交相同的关键词,也会得到不同的推荐关键词查询.推荐算法需要解决两个问题:一是如何在有效地衡量关键词查询语义相似度的同时,兼顾用户位置与文档之间空间距离的邻近性.关键词-文档(keyword-document)二部图(简称K-D图)是经典的不考虑位置的关键词推荐方法[3-5,8-10].本研究构造的K-D图,可将关键词查询和与其相关的文档连接起来,通过调整K-D图中边的权重,使之不仅反映关键词查询之间的语义相关性,还能反映文档位置与用户位置λq的空间距离.通过在K-D图上采用个性化的PageRank(persoralized PageRank, PPR),即带重启的随机漫步模型[11],计算与用户提交的关键词kq最相似的m个查询,使推荐的查询关键词可检索到λq附近的信息.二是如何使推荐的查询符合用户偏好.本研究对用户提交过的关键词进行分类,将用户提交最多的类别作为用户的偏好.在用户提交关键词时,将属于偏好的历史查询也加入到推荐方法的计算中.
本研究旨在设计一个基于位置的个性化关键词查询推荐框架,以获取与用户信息需求相关,且符合用户偏好的推荐关键词,这些关键词能够检索用户位置附近的文档.真实数据集上的测试结果证明,基于位置的个性化关键词查询推荐可行.
给定一个用户提交的查询关键词kq(单词或短语)和用户位置λq, 本研究提出的推荐算法需满足3个要求:① 基于kq, 推荐的关键词能满足用户信息需求,与提交的查询关键词具有语义相似性; ② 推荐的关键词能够检索与λq在空间上邻近的文档; ③ 推荐的关键词符合用户偏好.
在一个查询日志中,令D表示带有位置信息的文档集合, D中每个文档di都有一对经纬度坐标di.λ, K为查询日志中所有查询关键词kj的集合.首先,构建初始K-D图,这是一个有向的加权二部图G=(K, D, E), 可反映关键词查询与文档之间的语义相关性,以及不同查询之间的相似度,能满足①的要求.假设用户提交查询kj, 并点击文档di, 则E包含一条从kj到di的边e和一条从di到kj的边e'. 其中, e和e'的权重相同,是在日志中提交查询kj后di的点击次数[1].因此,一个查询和一个被点击文档的联系度通过边上权重来体现.两个查询的语义相关性则通过它们在G上的相似性来体现.查询日志上的任意更新都能被应用到K-D图上:一个新的查询或文档,可在图上增加一个新结点; 一个新的点击,可更新相应的边的权重.图1是一个有2个文档d1、 d2和2个查询k1、 k2所对应的二部图.为演示方便,在此对边上的权重进行了归一化处理(在关键词-文档对中,将点击次数除以最大点击次数).
为让推荐的关键词能够检索到用户位置附近(即文档位置与用户位置的欧氏距离较小)的文档,本研究基于用户位置和K-D图中结点的地理位置关系,调整K-D图中边的权重.
用户提交的查询q包含2个参数:关键词kq和用户查询位置λq. 其查询结点ki到文档结点dj的边的权重w(e)按照式(1)进行调整为
w~(e)=βw(e)+(1-β)(1-dist(λq,dj.λ))(1)
其中, dist(λq, dj.λ)是λq和dj的位置的归一化欧氏距离; β为边权重调整参数, 用于平衡原始权重和dj与λq之间的距离权重, β越小,用户的位置对推荐结果的影响越大, β∈[0,1].
令D(ki)表示在K-D图中与关键词查询ki连接的文档集合,它可能包含多个文档.通过计算λq与D(ki)的最短距离,可调整指向ki的边的权重,如式(2).此调整偏向于推荐与λq至少有1个地理位置相近的文档的关键词结点.
w~(e')=βw(e')+(1-β)×
(1-min(dist(λq, D(ki))))(2)
其中, min(dist(λq, D(ki)))是λq到文档集合D(ki)中所有文档的最短欧氏距离.
设文档d1和d2距离用户位置λq的欧氏距离分别是1.0和0.9,β=0.5. 图2(a)是从关键词节点到文档节点的边权重调整.从k1到d1, dist(λq, dj.λ)=1.0. 从k1到d2, dist(λq, dj.λ)=0.9. 图2(b)是从文档节点到关键词节点的边权重调整, k1与{d1, d2}相连, min(dist(λq, D(k1)))=0.9.
用Gq表示K-D图G的边的权重在调整后的图.为找到推荐的关键词查询集合,基于RWR算法[5],计算与kq相关的查询的分数.图Gq中结点v的RWR分数表示一个随机漫步者从kq到达v的可能性.在漫步过程中的每一步,漫步者要么以1-α的概率移动到相邻的点,要么以α的概率跳转到kq, 即α为RWR开始的概率. 在Gq中,排除kq得分最高的前m个查询结点,就是算法得到的推荐查询.
设 Ψ为记录了Gq中K的所有查询分数的列向量,其计算式为
Ψ=(1-α)MTDKMTKDΨ+αΨq(3)
其中, MDK是一个文档量×查询量矩阵; MKD是一个查询量×文档量矩阵,两者存储了Gq中边的权重.
令Ψq为原始的分数向量.为在推荐中考虑用户偏好,将属于用户偏好的m个历史查询记录,在矩阵 Ψ中赋值为(1-γ)/m, 并设用户新输入的查询关键词kq=γ. 如图3, q1到q5是用户的查询记录,使用Topics文本分类器(https://uclassify.com/browse/uclassify/topics)分类为类别C1和C2. 将查询次数最多的类别作为用户偏好类别C2. 在本算法中,用户新提交的查询q6的初值是γ, q3~q5属于用户偏好类别,初值是(1-γ)/3. 其中, q1~q5是K-D图的关键词节点,分别对应k1~k5.
通过扩展Bookmark-Coloring算法[12](BCA),计算基于RWR算法的m个推荐查询.本算法的K-D图Gq有2种结点:查询结点和文档结点.与BCA不同的是,本算法只对查询结点评分,查询结点保留α部分的活跃墨水,然后向与其相连的结点散播1-α部分的活跃墨水; 而文档结点将它所有的活跃墨水散播到与其相连的结点.算法的伪代码请扫描论文末页右下角二维码查看.优先队列Q按照活跃墨水量的降序处理结点,最初包含m+1个结点.其中,m个属于用户偏好的历史查询的关键词结点,墨水量为(1-γ)/m; 1个为用户提交的关键词结点,墨水量为γ. 优先队列C初始为空,按保留墨水量降序存储推荐查询的候选者.出现以下任一情况,算法结束:① C中第m个结点的活跃墨水量,比第m+1个结点的活跃墨水量加上剩余的活跃墨水量多; ② 每个结点的活跃墨水量低于ε(ε=1×10-3). 所有结点的活跃墨水的总和被设成1.对查询结点的处理是:保留α部分的活跃墨水,然后向与它相连的文档结点的散发(1-α)部分的活跃墨水.最后,对活跃墨水的总量作对应的修改,查询结点已保留墨水,则进入C. 对文档结点的处理是:根据调整后边的权重,向与它相连的关键词结点散播其全部活跃墨水.算法返回C中除kq外前m个关键词查询.
使用AOL数据集(https://jeffhuang.com/search_query_logs.html)对所提方法进行检验.AOL数据集是一个基于AOL搜索引擎的真实查询日志,每条记录包含用户的ID、提交的查询和点击的URL.为使日志数据适于使用,需进行以下处理:① 通过Freegeoip项目(https://freegeoip.io/)获得URL定位,确保获取位置的可靠性; ② 使用基于开放目录项目(Open Directory Project)的分类器对用户的查询记录分类,将查询次数最多的类别作为用户的偏好.当一条记录中包含用户ui、 查询kq和文档dj时,在ui和kq之间添加边,其权重是ui对kq的点击次数除以用户的总查询次数.在kq和dj添加边,其权重是包含kq和dj的记录条数除以kq的记录条数.最终构建的K-D图有187 050个查询,79 376个文档,126 889个用户.
本研究采用以下4个标准来衡量算法性能.
衡量标准1 使用推荐的关键词进行检索,返回属于用户偏好且距其位置0.1欧氏距离内的文档数量.使用Lucene工具包对所有文档索引,将推荐返回关键词作为查询关键词,确定检索返回符合衡量标准1的文档数量.
衡量标准2 计算原始查询和推荐查询检索的属于用户偏好,且距用户位置0.1欧氏距离内的文档的相似性.令{do}表示原始查询检索返回的在查询位置0.1欧代距离内,且属于用户偏好的前10个文档,令{ds}表示推荐的关键词检索返回的在查询位置0.1欧氏距离内,且属于用户偏好的前10个文档.计算{do}和{ds}的返回列表在同一位置的文档之间的余弦相似度,通过nDCG(normalized discounted cumulative gain)方法[12]来聚合这些余弦的相似度,计算式为
SCos=(Cos(do1, ds 1)+∑10i=2Cos(doi, dsi)/lg i)/(1+∑10i=2(1/lg i))(4)
其中, Cos(doi, ds i)为两个文档之间的余弦相似度.
衡量标准3 衡量推荐查询的类别与用户偏好的相关性.使用分类器对关键词查询分类,计算关键词的共同前缀,根据共同前缀确定关键词与用户偏好的相关性,计算式为
sim(C1, C2)=(|P(C1, C2)|)/(max(|C1|, |C2|))(5)
其中, P(C1, C2)为分类C1和C2的共同前缀数.
本研究使用分类器对两个推荐算法返回的前5个关键词进行分类,计算这些关键词类别与用户偏好的相似度的平均值.
衡量标准4 记录算法的运行时间.
设α为0.20、0.35、0.50、0.65和0.80时, β和γ的默认值为0.50; β为0、0.25、0.50、0.75和1.00时, α和γ的默认值为0.50; γ为用户偏好对推荐结果的影响权重,依次设置为0.10、0.30、0.50、0.70和0.90, α和β的默认值为0.50.
图4展示了不同参数设置对算法运行结果的影响.其中,baseline表示只考虑用户位置,不考虑用户偏好的推荐算法; personalized是本算法,即考虑用户偏好和位置的推荐算法.
图4(a)—(c)显示了α对检索结果的影响,结果发现,personalized算法在衡量标准1、2和3中的表现都优于baseline方法,这是因为前者的初始队列中包含更多的查询关键词.在时间性能方面(图4(j)),personalized算法运行时间较baseline方法长,但两种算法的运行时间都随着α的增大而缩短.这是因为α越大,留在关键词节点中的墨水越多,活跃墨水的总量下降越快,使终止条件更早被满足.当α=1.00时所有墨水被保留在关键词节点中,算法结束,返回结果为空.当α=0时,每一步都无墨水被保留,因此墨水总是被重新分配,直到随机漫步过程达到稳定状态.在这种情况下,节点的最终得分依赖于图的结构,而非开始节点(关键词节点),即无论输入什么关键词,最终结果都相同.因此, α=0或1.00不能给出有效的结果.
图4(d)—(f)显示了β对检索结果的影响. β是对用户提交的查询关键词具有语义相似性的关键词分配的权重, 1-β表示与查询位置相近的关键词分配的权重.当β接近0或1.00时,只有与查询位置相近的或与用户提交的关键词语义相似度较高的关键词才会参与计算.但当β∈(0, 1.00)时,与查询位置稍远但与查询具有高语义相似度的文档,或与查询位置相近但语义相似度低的文档都被考虑到了.对于不同的β, 在衡量标准1中,personalized算法的表现优于baseline算法; 在衡量标准2中, β=1.00时baseline算法表现好于personalized算法,原因是此时两个算法都只考虑与用户提交查询相似度高的文档,未考虑位置信息; 在衡量标准3中,β=1.00时,两个算法表现相近,原因同衡量标准2.在时间性能方面,personalized算法运行时间比baseline算法长(图4(k)),原因与α的相同,且在β=0.75时,算法运行时间最长.
图4(g)—(i)显示了γ对检索结果的影响. γ为对用户提交的关键词查询分配的墨水量, 1-γ为对属于用户偏好的历史查询分配的墨水量.因为baseline算法不需要参数γ, 所以在3个衡量标准中baseline算法的表现没有变化.对于衡量标准1和2,personalized算法的表现优于baseline算法,对于衡量标准3,personalized算法只有在γ=0.90时表现优于baseline算法.在时间性能方面(图4(l)),personalized算法的运行时间较baseline算法长,原因与α的相同,且在γ=0.50时,算法运行时间最长.
为推荐考虑了位置信息和用户偏好信息的关键词,本研究基于K-D图,使用带重启的随机漫步算法,计算关键词查询之间的语义相关性,以及档位置与用户位置的空间距离.在AOL数据集上对算法进行测试,得到较好结果.但是,用户的偏好会随时间发生变化,因此下一步我们将加入时间因素,研究用户偏好变化时的关键词查询推荐.
深圳大学学报理工版
JOURNAL OF SHENZHEN UNIVERSITY SCIENCE AND ENGINEERING
(1984年创刊 双月刊)
主 管 深圳大学
主 办 深圳大学
编辑出版 深圳大学学报理工版编辑部
主 编 李清泉
国内发行 深圳市邮电局
国外发行 中国国际图书贸易集团有限公司(北京399信箱)
地 址 北京东黄城根北街16号
邮 编 100717
电 话 0755-26732266
0755-26538306
Email journal@szu.edu.cn
标准刊号 ISSN 1000-2618
CN 44-1401/N