基于学习的Web搜索结果聚类(翻译论文)

基于学习的Web搜索结果聚类
(图片参见原文,下载:http://citeseer.ist.psu.edu/701862.html

      摘要:将Web搜索结果组织成类可方便用户浏览搜索结果。传统的聚类技术是不足的,因为他生成的聚类名称可读性不强。本文将聚类问题定义为显著短语的排序问题。给定一个查询和某一搜索引擎返回的已排序文档列表(文档和摘要列表).首先,我们使用基于人工标注训练集的回归模型的方法,抽取和排序显著短语,并将其作为候选类的名称。给文档分配相关的显著短语以便生成候选类,最后通过合并候选类生成最终的聚类。实验结果验证了我们方法的可行性与有效性。
   类别与主题描述:
   [信息存储与检索]:信息查询与检索-检查过程、聚类、选取过程
   [概率与统计]:相关性与回归分析
   通用项:算法、实验
   关键词:搜索结果组织、文件聚类、回归分析
  1.引言
     现存的搜索引擎,如Google、Yahoo和MSN,通常返回很长的搜索结果列表,然后根据它与所给查询的相关性进行排序。Web用户必须浏览此列表并检查标题和简短的摘要来确定所需要的结果。当所给查询的多个次主题混合在一起时,这样做是很耗时的工作。例如,当一个用户提交查询“Jaguar”到Google并想得到与”big cats”相关的结果时,他/她得找到第10、11,32甚至第71条结果。
     对于此问题,一个可能的方案是在线将搜索结果分成不同组,以便用户一眼就能确认他们需要的组。Hearst and Pedersen发现相关文档之间更加相似,因此相似搜索结果的聚类能帮助用户找到相关的结果。在上面查询“jaguar”的例子中,如果有一个名为”big cats”的组,则四条相关的结果将按下面相应的列表排序(如图1所示)。几个先前的工作[16][17][6][11][10]致力于为搜索结果的组织开发高效的聚类技术。另外,Vivisimo[14]是此项技术的真实示范。
    聚类方法不象分类方法那样需要预先定义类别。因此他就更适用于不同的搜索。不过,聚类方法比分类方法更具挑战性,因为他以完全不受监督的方式执行。此外,由于一些实用上的问题,大多数传统的聚类方法不能直接用于搜索结果聚类。Zamir和 Etzioni[16][17]对这些问题给出了很好的分析。例如,算法应该将文件的摘要作为输入,而不是整个文档,因为下载原文档是耗时的。聚类算法应该足够快以适应在线计算。生成的聚类应该具有可读性的描述以便用户快速浏览等等。我们也遵循这些需求来设计算法。
    本文将聚类问题定义为显著短语的排序问题。这样,我们就可以将一个非监督聚类问题转化为监督学习方法。尽管监督学习问题需要附加的训练数据,但他使得搜索结果分组的性能得到了及大的提高,并且我们能精确的评介他。对所给的查询和已排序的搜索结果列表,我们的方法首先解析整个标题和摘要的列表,并从这些内容中抽取所有可能的n元语法短语(n-grams),然后计算每个短语的几个属性,如短语频率、文件频率、短语长度等。应用一个从先前训练数据中学习得到的回归模型将这些属性合并,开成一个单独的显著得分,根据显著得分对短语进行排序,排在前面的短评作为显著短语。显著短语就是候选类的实际名称,这些短语将根据相关文档作进一步的合并。
    我们强调Web用户识别相关类的效率,所以我们的方法更适合Web搜索结果的聚类。他生成更短的(有望更具可读性)类名称,这能使用户快速确认特定类的主题。此外,这些类按照他们的显著得分排序,用户越可能需要的类将排的越靠前。
    本文的结构组织如下。第二部分,介绍相关工作;第三部分,定义问题并描述整个算法;第四部分,列举用于显著短语排序的几个属性;第五部分,描述组合这些属性的学习技术;第六部分,介绍评介与聚类结果的实例;第七部分,总结本文并展望未来的工作。
2.相关工作
    先前的工作已对搜索结果聚类问题做了确定。其中一些(例如:[3][6][11][10])应用传统的聚类算法,他们首先根据内容的相似性将文档分成相关的组,然后用这些类生成可描述的摘要。然而,通常这些摘要可读性不好,很难使Web用户确认相关的类。Zamir和Etzioni[16][17]提出了后缀树聚类(STC),他首先确定拥有相同短语的文档集,然后根据这些短语创建类。我们的候选短语抽取过程与STC相似,但是我们进一步计算了几个重要属性以确定显著短语,并利用学习方法对显著短语排序。
    主题发现[1][8]和文本趋势分析[9]工作也与本文的方法有关。区别在于我们使用的是标题和摘要而不是整个文档。同时,我们使用回归模型对类名排序,这与用户的浏览效率密切相关。
3.问题定义及算法
    我们将一个非监督性聚类问题转化为可监督的排序问题。更确切的说,我们基于搜索结果的原始排序列表R={r(di|q)},q表示当前的查询,di表示文档,r表示一些(未知)函数,用来计算di与q相关的概率。传统的聚类技术试图根据查询q找到一个与主题相关类的集合。根据di与q和当前类相关的概率,将每个类与一个新的文档列表相联系。
    C = {Rj}, 其中:Rj = {r(di|q, Rj)}     (1) 
    相反,我们的方法试图寻找一个已排序的类C',并将每个类与一个类名和一个新的已排序的文檔列表建立关系:
C' = {r'(Ck, Rk|q)}, 其中: Rk = {r(di|q, Ck)}   (2)
    如等式(1)和等式(2)所示,我们通过增加类名Ck来修改类的定义,并使用函数r’强调他们的排序,以便提高类的可读性。由于我们消除了对类相关主题的需求,因而降低了算法的复杂性。我们不认为在我们的方法中,这种非主题相关是一个缺陷,因为她并不影响用户的浏览效率。
      我们的算法包括四个步骤:
      1.取回搜索结果
      2.文档解析与短语属性计算
      3.显著短语排序
      4.后处理
    首先,我们从某一特定的Web搜索引擎得到搜索结果的Web页面,然后通过HTML解析器对这些Web页面进行分析并抽取结果项。通常,每个结果项只有标题和与搜索相关的摘要才有用。我们假设这些内容包含足够的信息,因为大多数搜索引擎仅在方便用户根据标题和摘要判断相关需求方面设计的很好,因此它能够代表与所给查询最相关的内容。每个抽取的短语实际上就是候选类的名字,这个类与包含此短语的文檔集相对应。同时,在解析时计算每个唯一短语的几个属性。这些属性将在第四部分详细描述。
   在进行解析时,给标题和摘要付于不同的权值,因为显著短语出现在标题中的概率中通常比较大。我们利用Porter’s算法对每个词进行词干分析。停用词包含在n-gram短语生成中,因此它们将在与类名中关键词意义相近的类中出现。在后处理时,我们就过滤掉纯粹词用词。同理,搜索词本身也包含在分析中,但后处理时将被过滤掉。
   对于给定的几个属性,我们利用从先前训练数据中学习得到的一个回归模型(将在第五部分描述)整合这些属性,得到一个单一的显著得分。这些显著短语通过得分降序排列。然后,相关文檔列表组成候选类,并使用显著短语作为类名。
   在后处理时,仅包含停用词或搜索词的短语将被过滤掉。 然后合并这些类和短语以减少重复的类。明确的说,两个类的覆盖部分超过某一特定阀值(在我们的实验中使用75%作为阀值)时,将合并成一个类。同时,这个类的名称将根据新生成的类进行调整。最后,将排在最前面的类显示给用户。
   当用户选择一个类时,相关的文档列表将显示给用户,同时搜索词和显著短语高亮显示。文档列表可以按原始顺序排列,也可根据相关显著短语重新排列。
4. 显著短语抽取
    这部分我们列出了在进行文檔解析时需要计算的五个属性。这些属性与短语的显著得分有关。下面,我们使用w表示当前短语(n-gram),用D(w)表示包含w的文檔集。
4.1 短语频率/逆向文档频率
        这个属性使用传统意义的词频/逆向文档频率(TF/IDF)进行计算。
        其中f代表频率
        直觉上,频率越高的短语越有可能成为更好的显著短语。逆向文档频率越高的短语用来代表一个唯一主题的信息可能越少。
4.2 短语长度
        简单地说,短语长度(用LEN表示)属性是一个短语中字的个数。例如,LEN(”big”)=1 , LEN(“big cats”)=2。通常,为了用户浏览首选较长的名字。
          LEN=n;      (4)
 4.3类的内聚相似性
    直觉上,如果一个短语很好的代表一个单一主题,那么包含这些短语的文檔彼此是相似的。我们使用类的内聚相似性(ICS)来衡量包含此短语的内容紧密性。首先,我们将文文档转换成向量空间模型中向量:di=(xi1, xi2,…),向量的每个部分表示唯一的一元语法模型(uni-gram),并通过一元语法模型(uni-gram)的词频/逆向文档频率(TF/IDF)来表示其权重,我们使用下式计算每个候选类的质心:
  类的内聚相似性(ICS)通过计算文檔与质心之间的平均余玄相似性得到。
    4.4 类的熵
     对于给定的短语w,与其相关的文檔集D(w)可能与另一个文檔集D(wi)相重迭(wi不等于w)。在极端情况下,如果D(w)均匀分布在D(wi)中,w可能是一个通用短语,不能成为一个好的显著短语。另一个极端,D(w)与D(wi)重不重迭,那么w可能具有明确的含义,如搜索“jaguar”的例子,“big cats”重不与其它的显著短语如”car”,”mac os ”等一起出现。因此,相应的文檔可以组成一个明确的主题。然而,”clubs”是一个更通用的关键词,他可能与”car”和”mac os”一起出现,因此它的显著得分较低。
我们使用类的熵(CE)来表征短语的显著性。
     其中0*log0=0。
 4.5短语独立性
       根据[2]的理论,如果一个短语的上下文的熵较高(也就是内容的上下文足够随机),这个短语就是独立的。我们使用IND来衡量短语的独立性。下面是上文独立性INDl(上文独立性的值)的方程,
       同理,可以计算下文的独立性值INDr.
       最终的独立性IND是两者的平均值。
 5. 显著短语排序的学习算法
        对于上面给出的五个属性,我们可以使用单一的公式来整合它们,并为每个短语计算出单一的显著得分。然而,这可能太具启发式了,不能适应不同的域。相反,我们利用训练数据学习一种回归模型。
回归是一个传统的统计学问题,它试图确定两个随机变量X=(x1,x2,…,xn)和y之间的关系。在我们的例子中,独立变量x=(TFID,LEN,ICS,CE,IND)是在第四部分描述的那个五个属性的一个向量,因变量y可以是任何一个具有真值的得分。我们使用y对显著关键词降序排序,因此,最重要的显著短语将排在最前面。
        可以利用几个回归模型,如线性回归,logistic回归[5]向量回归[5[13]。下面我们对这些模型做了总结并进一步在实验中比较它们的效率。
  5.1线性回归
        线性回归视图使用符合数据的一个条直线来解释变量x与y的关系。线性回归的基本原理:
           其中余项e是一个均值为0的随机变数。系数bj(0<=j<=p)由余项e的平方和的最小值决定。因此与bj的线性组  合是最好的。变量xj直接来自输入或一些输入的转换形式,如取对数或多项式。
 5.2对数回归
      对数回归更适合因变量由两种趋势的情况,因为我们想预测的不是因变量的精确数值,而是因变量为1而不是0的概率(q=P(y=1))。对数回归试图找到使x适合概率的对数变形的系数bj(0<=j<=p),也称为logit.
        其中0<=q<=1,-∞<logit(q)<+∞
       为最好的适合,对数回归不采用最小方差的方法,而采用最大可能性方法,即取使观测结果概率最大的回归系数.
 5.3支持向量的回归
      支持向量的回归中,首先,通过一些非线性映像把输入x映像到高维特性空间上,然后,在这个特性空间上构 建一个线性模型。支持向量的回归使用一个新型的误差函数,被称为ε-不敏感误差函数:
         支持向量的回归试图使 最小化。这可以通过引入非负的松散变量ζi, ζi*,i=1,…,n来描述,以测量ε-不敏感误差 函数范围之外训练样本的偏离程度。因此向量回归可形式化为下面功能的最小值:
        最优化问题可以转化成这个对偶问题,因此非线性的核心功能可用于解决非线性回归。
6. 实验
我们做了几个实验来验证前面提出的属性与学习方法的有效性。
6.1实验步骤
    们设计了一个真实的搜索结果聚类系统(如图1所示)。本系统接受用户的搜索输入并将其发送给下面的搜索引擎:Googel.MSN和VltaVista(我们的实验仅使用MSN),默认结果的个数设定为200.本系统用于训练数据的收集和算法测评。
解析时,我们从文档中抽取所有长度小于等于3的n-gram短语。出现次数不大于3的短语将作为噪声被过滤掉。
我们使用SVM-Light[7]和设置选项“-z r”来支持向量回归。在所有支持回归的实验中,参数C和ε设置成默认值。
6.1.1平价尺度
  传统的聚类算法很难评价,我们方法的评价相对容易,因为聚类问题被定义为一个排序问题。因此,我们可以使用信息检索中的传统评价方法进行评价。我们使用前N个结果的精度(P)来度量其性能:
 
其中R是从我们系统中返回的前N个显著短语的集合,C是人工标注的正确显著关键字的集合。我们的大多数实验使用P @5,P@10,P @20来进行评价。
6.1.2训练数据收集
   要求3位评价者对30个查询的低层真实数据作了标志。这30个查询来自MSN搜索引擎一天的查询日志。我们具体选择了三种类型的查询:模糊查询,实例名称和通用项查询,因为这些查询更可能包括多个子主题,并且有利于搜索结果聚类。这30个查询在表1中列出。
    表1:从查询日志中选择出的30个查询
  类型               查询
  -----------------------------------------------------------------------------------------------------------
  模糊查询      jaguar, apple, saturn, jobs, jordan, tiger, trec, ups,quotes, matrix
  实例名称      susan dumais, clinton, iraq, dell, disney, world war2, ford
  通用项查询  health, yellow pages, maps, flower, music, chat,games, radio, jokes, graphic design, resume, imezones, travel
  -------------------------------------------------------------------------------------------------------------
    对每个查询,我们从搜索结果中抽取所有长度小于等于3的n-gram短语作为候选短语,按字母排序,并显示给评价者。每个查询有100到200个候选短语。首先,要求这三个评价者浏览从我们的系统返回的所有结果,然后,选出10个好的短语(得分为100分)和10个中间短语(得分为50分).。其它短语的得分为0分。三位评价者对好的短评的认可度较高。例如:对查询“jaguar”的好的短语,三位评价者认可了五个短语,两位评价者认可了4个,只有一位评价者认可了其它13个短语。但对于中间短评的认可度较低。
    最后,我们将三个得分相加,并将大于100分的短语的y值赋成1,其它短语的y值赋为0,正例(y=1)的平均比率是0.17。再以查询“jaguar”为例,在总数为130的例子中,有20个是正例。我们仅仅给y赋1或0值以方便3个回归模型的比较。但应该注意对数回归模型的测输出范围在0和1之间,而在其它两个模型中的测输出范围从正无穷到负无穷。
    由于一些细微差异,人工选出的短语常常不能与生成的短语匹配。这里,存储每个人工标识过的短语作为词干序列,并去除停用词。在我们进行精确匹配之前,使用相同的方法来处理生成的短语。

 6.2实验结果
    我们首先比较显著短语排序的不同属性与学习方法。
    6.2.1属性比较
       我们首先使用在第四部分描述的每个属性对短语进行排序,并评价这30个查询的精确度。如图2显示了前5个,前10个和前20个的平均精确度。注意到许多短语具有相同的LEN值,因此LEN值相同时,再以TFIDF作为排序标准。
  
                                           图2:单一属性的性能      3:不同回归方法的性能比较
      从图2我们可以发现每个属性单独工作的不好,但短语独立性(IND P @5=57.4%)和 TFIDF(P @5=41.4%)对短语显著得分是两个较好的指示器。有意思的是,类的内聚相似度(ICS)不是一个好的指示器。可能是因为文档是由简短的标题和摘要组成的缘故,基于向量空间模型相似度的误差较大。
 6.2.2学习方法比较
     我们随机的将底层真实数据拆分成三部分,并使用交叉确认来评价线性回归,对数据回归和支持向量回归的平均性能。支持向量回归使用了不同的核心函数,如线性核心(SV-L),RBF核心(SV-R)和S型双曲正切核心(SV-S),图3显示了这5种方法的比较结果。
  通过使用回归,与使用任何单一属性相比,精度有了显著提高。例如,线性回归的P @5为73.3%,比使用单一属性IND取得的最高精度还高30%。我们还发现,线性回归(P @5=73.3%),对数回归(P @5 =72%)和使用线性内核的支持向量回归(P @5=71.3%)的性能几乎也是如此。这表明了问题的线性趋势。
   下面我们记录的其中一个线性回归方法的系数:
 
    在上面的等式中,每个单一属性被它们的相应最大值规范化了,因此我们可以看到那一个属性在线性组合中发挥更重要的作用。从上面的等式中,我们可以看到IND,LEN和TFIDF比其它属性更重要。类的内聚相似度(ICS)的系数甚至是负的,这说明基于内容的相似度对于显著短语排序影响不大。
 
                                             图4:使用支持向量回归(线性内核)的不同查询
      图4显示了10个查询例子各个的排序精度,其它的查询作为训练数据。X轴表示10个查询,最右边一栏表示它们的平均精度。从图中我们可发现性能主要取决于Web搜索引擎返回的结果。对于一些查询,如”apple”和”jokes”, 搜索结果主要集中在一个域内(大多数结果把”apple”当作计算机来处理)。因此词汇相对有限,可以精确的抽取显著短语。但对有些查询,如”Clinton”和”yellow pages”, 搜索结果包含不同的词汇。这种情况的性能相对较低。
     6.2.3输入文档数量
     我们还用一个查询的精度来说明我们把前200个搜索结果作为基本文档集的原因,如图5的实验结果所示。很清楚,当结果数量等于200时,这三个精度指标达到峰值。尽管训练集是基于200个搜索结果,但图仍然有效的显示了我们的算法仅仅需要较小数量的文档输入就能达到相当好的效果。
 
                                                图5:性能随文档数量曲线图       6:时间复杂度分析
6.2.4时间复杂度, 覆盖和交迭
     我们用一个例子来分析本文算法的时间复杂度, 如图6所示,X轴代表从原始搜索引擎返回的结果,Y轴代表整个算法的时间开销(秒)。选取支持向量回归作为回归模型。我们没有对程序码进行优化,图中时间值是整个处理时间,包括Web页面的解析。我们仍然可以从图中看出时间复杂度接近线性。
图7显示了通过我们的算法为10查询生成聚类的覆盖情况。X轴是10个查询,最右一栏是它们的平均值。从图中我们可以看出,前10显著短语平均包含了大约一半的搜索结果。与传统的聚类算法相比,这可能是我们提出的方法的缺陷。我们将设计更加先进的聚类合并算法进一步对其优化。

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值