Identifying the Intent of a User Query Using SVM

来源:互联网 发布:软件测试开发阶段 编辑:程序博客网 时间:2024/05/18 20:09

以前就说过,查询意图分类也属于分类的一种,要做分类,那么大体可以分为两个阶段,一个是特征抽取,另一个就是分类算法。查询意图分类自从开始自动化之旅之后,这两个步骤基本都是没有停过。对于特征,查询本身的特征是非常少的,所以需要一些其他的资源来进行扩展。一个很相关的扩展源就是查询日志,因为日志里面包含的就是对这个查询的相关反扩信息。一般来说,注意力都会集中在“特征抽取”这一阶段,因为后面的分类算法也就那么几种而已。今天读了一篇论文,题目是《Identifying the Intent of a User Query Using SVM》,翻译过来是《基于SVM的用户查询意图识别》,作者是yahoo的Marcelo

 

摘要

本论文将要介绍一种高准确率的查询分类方法。论文将要考虑三种查询的向量表示方法,然后利用SVM方法来尽心分类。查询将用到点击性能系来进行表示:用户浏览一个文档的时间以及被点击文档的流行度。结果显示,时间是一个能够获得高准确率的因素。

 

分类器

特征

三个向量表示方法,基于两个信息源的组合:文本以及点击信息。也就是将查询表示成一个有词语组成的向量,这些词语由查询此以及被选择的文档来表示。方法会考虑用户在选择之前阅读到的词语,以及选择结果之后的阅读时间。

描述文本和点击

我们规定一个查询Session就是< 查询,( 点击URL )* >。一个搜索引擎的返回结果通常是:标题、URL和一些片段。这三个因素中的一个和查询相关,结果就会被选择。向量表示同样用TF*IDF模式,词语的产生就是基于这三个资源。

对于一个查询q,Sq表示包含了q的session,Ds表示Sq的结果集合。那么对于q,就有了一个他的相关文档集合,所以可以对其中的词语统计TF信息。然后还会加上一个每个文档的在这个查询中的被点击信息,就可以计算词语在向量中的权值了。具体计算可以参见论文,这里第二个信息其实就相当于IDF了,他的含义就是这个文档在区分不同的查询时的贡献。

描述文本和阅读时间

这里除了考虑返回文档的文本信息之外,还需要用到一个时间信息。这个时间其实就是每个结果文档用户花费的阅读时间。在最终计算这个向量的每个词的权值的时候,一方面是考虑日志中的查询来作为一个文本集合,然后返回文档来作为一个文档集合。计算公式很长,但是很简单,一个大的原则就是TF*IDF,而且这里的时间信息是用作IDF的。

描述文本、阅读时间和点击

在上面的表示上,还加上了一个点击信息来作为IDF的因子。

分类算法

从上面的分析可以看到,在特征选择上面,没有进行计算特征权值然后再抽取好的特征,所以特征向量的维数非常大。对于这种高维空间的分类来说,SVM应该是非常合适的。

 

实验结果

数据集

数据集也需要专家进行人工的分类一些查询,然后用其中70%作为训练集,30%作为测试集。这里用到SVM工具包是LIBSVM,里面由两个参数需要估算,采用交叉验证的方法来进行估算。

结果

结果从错误率、准确率、召回率和F度量来进行比较。Baseline是直接用TF*IDF。结果显示tf*idf*time的组合结果是最好的。

 

这个论文非常的长,但是里面很大一部分都是重复在叙述,比如各个特征的组合。这里的一个问题是分类器是基于已有的日志进行训练,测试也是基于已有的日志。那么对于新来的查询,该如何作。查询分类现在的重点就是集中在特征上面,这是由于web查询本身的短小、模糊的特点决定了的。该如何抽取特征,或者是换另外的思路来做,这是一个问题。

原创粉丝点击