h d
k k
d
Weight Topic - + Weight Topic
=
=
å
´ (2.14)4)当模型中某主题权值小于阈值δ时,将用户模型中此主题删除。(δ为 人工设定)
5)返回更新过的用户模型。
2.6 实验及评价
由于用户模型的评价手段和评价方式到目前为止,还没有统一的标准。本文 为了评估基于潜在语义分析方法所建立的用户模型的有效性, 采用两种评估手段:
第一,评价该用户模型在个性化搜索过程中的有效性,看看通过潜在语义分析方 法构建的用户模型是否可以改善搜索的精度;第二,根据用户模型来分析和预测 用户将要进行的查询,将用户真正提出的查询与预测的查询相比较,看看预测精 确度为多少,是否与不用用户模型相比会有所改善,因为没有以往的查询预测实 验作为对比,所以,第二个评估手段只是凭借预测的精确度,人为来评价其是否 有效。
2.6.1 数据集
(1)我们选用的数据集是在 Depaul 大学的学术网站上下载的 ① ,它就是著名 的个性化搜索专用数据集“CTI 数据” 。这个数据集是 Depaul 大学计算机科学与 通讯、信息系的学生访问 CTI 服务器的随机抽象。本数据集中包含 2002 年 4 月 中的两周的 web 日志文件, 没经处理的原始数据包含 20950 个会话, 5446 个用户。
由于在数据集中存在过于简单的会话,这样的会话我们认为是噪声,将其去掉。
最后得到处理过的会话及用户如表 2.1 所示。
为了实验中数据更充分, 在这处理过的数据中我们抽取 20 个会话数据最为丰 富的用户作为实验对象。抽取结果见表 2.2。
① http://www.cs.depaul.edu
表 2.1 正确会话的统计
userID 2885 4219 2126 3872 1367 795 4322 2937 4370 1095 Sessions 58 46 45 41 38 37 34 32 31 31 UserID 2127 2630 4202 888 3919 4714 3129 4211 838 4280 Sessions 28 28 28 27 26 25 25 25 25 23 userID 3778 4220 4230 3864 4471 2697 1948 3529 1242 1916 Sessions 22 22 22 22 21 21 21 20 20 20 userID 4199 4693 4892 4458 404 3899 1735 5299 4944 877 Sessions 20 20 19 19 19 19 19 18 18 18 userID 921 3186 3566 4176 4954 4235 3132 3371 3600 1210 Sessions 18 18 18 18 17 17 17 17 17 17 userID 885 202 3126 3593 4185 2683 2635 3723 3320 1217 Sessions 17 16 16 16 16 16 15 15 15 15 userID 3903 3331 166 1577 3218 1877 3249 1940 824 2642 Sessions 15 15 15 15 15 15 15 15 15 14 userID 3798 2940 3907 3910 3915 4019 3159 3406 1569 1663 Sessions 14 14 14 14 14 14 14 14 14 14 userID 2130 4415 4447 4470 3727 3140 3941 1124 4204 3956 Sessions 14 14 14 14 14 13 13 13 13 13 userID 2492 4236 3904 413 4400 4032 4111 3237 3141 1945 Sessions 13 13 13 13 13 13 13 13 13 13
表 2.2 第一个数据集统计结果
userID 2885 1095 2736 4400 4407 877 1874 624 4947 4176 Sessions 220 190 136 130 124 119 109 106 105 103 UserID 4370 4280 1039 3600 3864 3454 4437 2659 4414 3954 Sessions 101 98 92 91 89 89 82 80 77 77
在这个数据集中,为每个抽取的用户建立兴趣模型,并预测用户兴趣点所在,
来检验用户模型的有效性。
(2)第二个数据集是从 KDD Cup 网站上下载的,KDD Cup 是由 SIGKDD
(ACM Special Interest Group on Knowledge Discovery and Data Mining)组织,每 年一次的 KDD 竞赛,和 SIGKDD 国际会议同期举行。同时面向学术界和业界。
我们下载的是 KDD Cup2005 年的数据集, 这个数据集在 KDD Cup 网站上是任意 下载的 ① 。2005 年的数据集提供了 800,000 个查询和 67 个预定义的查询主题。由 于数据集对于我们的实验来说,过于庞大,我们仅抽取其中的 111 个查询词,这 些查询词在样本中已经分好了类别。为了方便起见,最终选中的这 111 个查询词 被称为实验中的 KDDCUP data。
2.6.2 评价标准
(1)用户模型创建的评价。
我们设计了两个实验,第一个实验要考察潜在概念获取时聚类算法的效果,
评价办法是将聚类结果与人工分类的结果对比,与人工分类结果相同的那些网页 被视为 “被正确获取主题的网页” , 采用式 (2.15) 计算主题获取精确度 TGP (Topic Getting Precision).
TGP = 被正确聚类的网页数
参与聚类的网页总数
(2.15)第二个实验根据建立的用户模型向用户推荐网页。如果用户下一步点击的网 页是我们预测的网页,则称之为预测成功一次。以式(2.16)作为评估标准。
PRP = 成功预测的网页数
预测出的网页总数
(2.16)(2)用户模型更新的评价。
在本文中,用户模型的更新采用查询扩展的方式进行模型的更新,即对用户 提出的新的查询首先进行分类,然后,将用户模型中相应的主题的权值进行调整 或者将过于陈旧的主题予以删除,以及新的主题加入模型中来实现用户模型的更 新,并保持与用户兴趣的一致性。所以,在评测用户模型更新的性能主要评测点 在用户查询关键词的分类精确度如何。由于 KDD Cup 2005 数据集过于巨大,所 以实验中只选择了 KDD Cup 2005 实验数据集中给出的 111 个样本查询关键词作 为实验对象,这些样本是已经由专家标注好类别的,因此,我们实验中分类结束 后,可以与专家标注的类别进行相应对比,来评价分类后的精确度。在评价过程 中,使用的评价标准是 F1 测度。
① http://www.acm.org/sigs/sigkdd/kddcup/index.php
#
of queries are correctly tagged as c Precision
of queries are tagged as c
of queries are correctly tagged as c Recall
of queries whose category is labeled by experts as c
=
å
å
(2.18)1 2 Precision Recall F Precision Recall
´ ´ 结束条件。对于 UserID 为 2885 的用户,其最后生成的兴趣层次树如图 2.6 所示。
图中生成第一层结点的概率分布如表 2.3 所示。
表 2.3 UserID 为 2885 用户的兴趣树第一层结点的概率值
P(schedule|course)=0.0092 P(default|news)=0.2748 P(syllabilist|course)=0.1339 P(login|authenticated)=0.1067 P(syllabus|course)=0.0624 P(facultyinfo|people)=0.0693 P(searchcourses|course)=0.0092 P(evalgrid|people)=0.0378 P(studentprofile|CTI)=0.089 P(gradassist|CTI)=0.002 P(darsinput|CTI)=0.0711 P(core|CTI)=0.0178
从所生成用户兴趣层次树可见,/people/ search.asp 及/program/course.asp 被错 误聚类,按照人为判断,总参与聚类的网页数为 450 个,被正确聚类的网页数为 412 个,准确率 TGP=412/450=0.915,对于其他用户的聚类算法评估与此相同,不 再一一陈述。若想得到总体聚类的精确度,可以对选择的 20 个用户分别求聚类精 确度,然后,求出其平均值即为算法总体聚类精确切度。本文按照所取出的 20 个实验用户计算,最终求得的总体 TGP 为 0.7776。
实验 2:为了评价这个兴趣描述是否符合用户的真实兴趣,我们按照算法最 后生成的链表,将权值最大的前 2 项潜因素内的网页推荐给用户。仍以 UserID 为 2885 的用户为例,将其 58 个会话平均分为两组,一组作为训练生成用户兴趣描 述文件中的层次树,另一组用于测试。分组生成的用户兴趣层次树与图 2.6 类似,
只是网页个数不同,权值最大的 2 个的潜因素仍分别为 News 和 Courses,将这两 个潜因素内的 6 个网页推荐给用户,看预测成功否。结果,在测试集中用户点击 网页总数为 238 个,潜因素 News 下的网页为 84 个,潜因素 Course 下的网页为 99 个,计算点击率 PRP=(84+99)/238=0.7689。也就是说,这个基于潜语义空间的 用户兴趣描述符合用户 UserID=2885 的真实兴趣。为了证实对于其他用户也是适 用的,我们对取出的 20 个用户分别做了实验,得出他们各自的 PRP,最后,求出 平均值,即总 PRP=0.7001。实验证明,潜语义空间的兴趣描述与用户真实兴趣相 符合。
Categories.txt, CategorizedQuerySample.txt 和 Queries.txt,在实验中我们只选取了 CategorizedQuerySample.txt 文件中给出的那些查询词作为实验对象。这里包含的
① http://www.acm.org/sigs/ sigkdd/kddcup/index.php
②
111 个查询词已经被专家标注好了类别,这也为实验证明我们所提出算法的准确 度提供了依据。在进行分类之前,首先看一下在 KDD Cup 2005 数据集中的目标 分类的层次结构(即 Categories.txt) ,从图 2.7 可以看到分类的结果应该是一棵分 类层次树。
Computers Entertainment Information Living
Online
Community Shopping Sports
Hardware …… Software Olympic
Games
Outdoor Recreation
s
…… …… ……
图 2.7 目标分类的层次结构
分类这些没有上下文的查询词,在分类过程中需要面对如下个问题:第一,
很多查询词都过短并且没有任何意义,比如单一的数字,像 1939,10k,用户在 搜索中用了这样的查询词是很让人头疼的事情。第二,查询词的一词多义问题,
比如 apple 可以表示一种水果,也可以表示一种品牌计算机,或表示计算机公司 等,java 可以表示一种咖啡,也可以表示一种计算机编程语言。在此种情况下,
多义词本身就应该分别被分类到其所具有的意义的几个类别中,但具体分类到哪 个 类 别 中 , 还 需 要 具 体 情 况 具 体 判 断 。 比 如 : apple 就 得 被 分 类 到
\Computer\Hardware 这个类别和 Living\Food & Cooking 这个类别中。第三,有些 查询词必须到确切的语境中才能准确判断其意义, 比如 pod cast 指 Web2.0 中的播 客,但在这个词刚产生的时候,在现实生活中如果用户在搜索引擎中输入这个词,
是令人无法理解的。
为了解决这些困难,我们的解决方案是根据的搜索行为进行判断,判断用户 的潜在搜索动机,根据用户的潜在兴趣来准确判断用户输入的搜索词具体应该属 于哪种意思。同时,在这一过程中,结合 ODP 分类目录,可以更准确的生成用户 兴趣的层次结构。在此,仅列出一些查询词分类后的例子,见表 2.4。
同时,我们也做了对比实验,Baseline 方法选择了 SVM 分类器,SVM 实现 代码从 Http://svmlight.joachims.org/ 网站上下载。实验对比结果见图 2.8。从实验 对比结果可以看出,基于 PLSA 方法对单一的、无上下文的查询词的主题类别获 取仅次于 SVM,甚至某些查询词的主题类别获取还较 SVM 精准,这是因为,在 用户搜索过程中,我们使用了基于概率潜在语义分析的用户搜索动机分析,所以,
当新的查询词出现时,计算相应的主题与查询词的匹配度大小,就可以判断查询 词的主题类别。同时,在图 2.8 中还可以看出,基于 SVM 方法的查询词分类明显
不如对某一文本集的分类精度高,因为,查询词是单一的,仅计算查询向量与主 题向量的相关度来判断查询词所隶属的主题,仍存在一定的问题。
表 2.4 查询样本的分类
Query Categories
baby stores shopping\Stores & Products Living\Family & Kids
cross pendant
Living\Gifts & Collectables Living\Fashion & Apparel Living\Religion & Belief Shopping\Stores & Products
Shopping\Buying Guides & Researching
eBay Electronics
Shopping\Auctions & Bids Computers\Multimedia
Shopping\Buying Guides & Researching
0.3 0.35 0.4 0.45 0.5 0.55 0.6 0.65
1 2 3 4 5 6 7 8 9 10
Categories
F1
PLSA based method SVM
图 2.8 KDD Cup 样本数据集上的 F1