CN101957859B - 基于集成支撑矢量机排序的信息检索方法 - Google Patents
基于集成支撑矢量机排序的信息检索方法 Download PDFInfo
- Publication number
- CN101957859B CN101957859B CN201010507292XA CN201010507292A CN101957859B CN 101957859 B CN101957859 B CN 101957859B CN 201010507292X A CN201010507292X A CN 201010507292XA CN 201010507292 A CN201010507292 A CN 201010507292A CN 101957859 B CN101957859 B CN 101957859B
- Authority
- CN
- China
- Prior art keywords
- vector
- model
- ranking
- query object
- training
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于集成支撑矢量机排序的信息检索方法,主要解决现有方法训练效率和排序精确度低的问题。实现步骤为:(1)将训练样本按照查询对象的不同分别进行模型训练得到初始模型组;(2)利用Ranking SVM算法中的排序算法根据模型组中各个模型对验证集分配排序分数,选择对集成之后排序分数的平均精确度有贡献的模型构成系统模型集;(3)系统模型集中的各模型给测试集中各特征向量分配排序分数,将对应于同一个特征向量的排序分数之和作为输出。本发明提高了排序学习方法用于信息检索的模型训练效率和排序的精确度,使其更具有通用性,可应用于网络搜索引擎、军事情报检索及机器翻译。
Description
技术领域
本发明属于信息检索领域,涉及一种机器学习的方法,具体地说是一种排序学习方法。可适用于信息检索。
背景技术
信息检索起源于图书馆的参考咨询和文摘索引工作,随着1946年世界上第一台电子计算机问世,计算机技术逐步走进信息检索领域,并与信息检索理论紧密结合起来,脱机批量情报检索系统、联机实时情报检索系统相继研制成功并商业化。随着科技的不断进步,在信息处理技术、通讯技术、计算机和数据库技术的推动下,信息检索在教育、军事和商业等各领域高速发展,得到了广泛应用。比如文件检索、协同过滤、专家查找、反网络垃圾邮件、关键词提取、机器翻译等等。文件检索是其中一个最重要的应用,并且可以应用于网页搜索引擎。信息检索的核心问题是排序问题,好的排序算法可以有效的提高信息检索的效率和精确度,将机器学习理论用于排序的方法称为排序学习。近几年来,排序学习不论在机器学习领域还是信息检索领域都取得广泛的关注和快速的发展。排序学习的主要目的是希望能够根据已有的正确排序的训练样本自动训练出一个排序模型,使得此模型可以用于排序或者分类。当该系统用于信息检索时,排序系统根据输入的查询信息分别计算相应文件与查询信息的相关分数,最后根据相应的分数对文件进行排序,相关分数越大表示相应的文件与查询的相关度越大。排序学习的方法按照损失函数和训练方式的不同可以分为三类:点式法、对式法、列表式法。点式法是早期提出的算法,算法的性能均比不上之后出现的两种算法。对式法是在点式法之后提出的已经比较成熟的算法,并且成功应用于文件检索。这个方法的主要思想是将对式文件作为训练样本,使排序问题转化为分类问题。在学习过程中,它从排序列表中收集对式文件,并给每个对式文件分配一个标签作为这个对式文件中两个文件之间关系的标志。然后利用这些标签训练分类模型并将该模型应用于排序。由于对式法需要将训练数据转化为对式训练数据,使得算法的效率变得很低。Herbrich et al.(1999)最早提出利用对式法和SVM技术建立分类模型,并发展为经典的对式排序学习算法,即Ranking SVM,受到广泛关注,并且已经成功被应用于网页搜索引擎中。但是这个方法仍然存在以下问题:1算法的训练效率低,当训练数据集过大时训练难以进行;2在参数选择时需要进行多次的训练,大大增加了训练的时间;3排序的平均精确度比较低。
发明内容
本发明的目的在于克服上述技术的不足,提出一种基于集成支撑矢量机排序的信息检索方法,以提高Ranking SVM法的训练效率,减少模型训练所用时间,提高排序的平均精确度。
为实现上述目的,本发明将集成机器学习的思想引入Ranking SVM法,其具体步骤包括如下:
1)设定训练样本集其中m表示查询对象的总个数,表示与第i个查询对象关联的所有文件的特征向量,(j=1,2,...,n(i))表示第j个关联文件的特征向量,n(j)表示与第i个查询对象关联的文件总数目,表示与x(i)对应的标签序列;
2)利用Ranking SVM算法中的训练算法,将Γ中每一个查询对象对应的关联文件和标签分别作为一个训练样本训练,将第i个查询对象的关联文件和标签(x(i),y(i))训练得到模型表示为ml(i),m个查询对象的关联文件和标签训练组成模型组
3)设定验证集作为Ranking SVM算法中的排序算法输入,并根据步骤(2)中所得模型组中的每个模型给V中所有的特征向量分配排序分数,得到排序分数向量组其中表示与模型ml(i)对应的第i个排序分数向量,K表示验证集中查询对象的总数,f(k)为对应于验证集中的第k个查询对象x(k)的排序分数向量且维数等于x(k)中特征向量的个数;
4)将排序分数向量组中各向量随机进行顺序重排,得到一个向量队列,令F等于向量队列中第一个分数向量,根据F以及验证集标签和平均精确度公式计算验证集排序分数的平均精确度mp,将第一个分数向量对应的模型保存至候选系统模型集;
5)对队列中第二个分数向量进行判断:设其对应的分数向量为F′,令新排序分数向量Fnew=F+F′;根据Fnew计算新的验证集排序精确度mpnew,若mpnew≥mp则F=Fnew,mp=mpnew,将第二个分数向量对应的模型保存至候选系统模型集,否则进行向量队列中下一个分数向量的判断,直至步骤(4)中的向量队列结束,得到最终验证集平均精确度mplast=mp;
6)将步骤(4)和(5)重复N次,得到N个候选系统模型集和与之对应的N个最终验证集平均精确度mplast,并对所有的mplast按升序排列,将处于队列中间位置的mplast对应的候选系统模型集选择为最终的系统模型集;
7)输入新的查询及其关联文件的特征向量,利用Ranking SVM的排序算法和步骤(6)所得的系统模型集给特征向量分配排序分数,将对应于同一个特征向量的排序分数之和作为排序系统的输出。
本发明与现有算法相比具有如下优点:
2.本发明不需要在训练同一个模型时为选择参数进行多次训练,因此在相同条件下本发明训练模型所需的时间远小于现有算法。
3.本发明由于在选择模型时只保留对平均精确度增加有贡献的模型,因此排序的平均精确度得到很大的提高。
附图说明
图1是本发明的流程图;
图2是本发明的模型训练子流程图。
具体实施方式
参照图1,本发明的实现步骤包括如下:
步骤1,设定训练样本集
设定训练样本集其中m表示查询对象的总个数,表示与第i个查询对象关联的所有文件的特征向量,(j=1,2,...,n(i))表示第j个关联文件的特征向量,n(i)表示与第i个查询对象关联的文件总数目,表示与x(i)对应的标签序列,Γ为M*l的矩阵,其中M=n(1)+n(2)+,...,+n(m)为矩阵的行数,l表示列数,第一列为标签列,第二列为查询对象编号,其余为关联文件的特征,第1行到第n(1)行是第一个查询对象关联文件的特征向量及标签,即(x(1),y(1)),第n(1)+1行到第n(1)+n(2)行为第二个查询对象关联文件的特征向量及标签(x(2),y(2)),以此类推,第m个查询对象关联文件的特征向量和标签为第n(1)+n(2)+,...n(m-1)+1行到第M行。
步骤2,训练生成模型组
参照图2,本步骤具体如下:
(2.1)将步骤1中的训练样本按照查询对象不同,分为m个子训练样本;
(2.2)将m个子训练样本分别输入到Ranking SVM方法中的训练算法进行模型的训练,得到各自对应的模型,训练算法调用工具包SVMlight中的训练算法,SVMlight的训练算法的参数-C随机从{1,0.1,0.01,0.001,0.0001,0.00001}中选取;
步骤3,生成验证集排序分数向量组
将验证集作为Ranking SVM算法中的排序算法输入,排序算法根据步骤2中所得模型组中的第一个模型ml(1)对V中各特征向量进行关联度评估,并分配排序分数,得到排序分数向量F(1),根据第二个模型ml(2)得到的排序分数向量是F(2),依次进行得到分数向量组其中Ranking SVM算法中的排序算法调用工具包SVMlight中的排序算法,x(k)表示验证集中第k个查询对象的特征向量,y(k)为验证集中第k个查询对象的标签,表示与模型ml(i)对应的第i个排序分数向量,K表示验证集中查询对象的总数,f(k)为对应于验证集中的第k个查询对象x(k)的排序分数向量且维数等于x(k)中特征向量的个数。
步骤4,生成随机向量队列及初始化候选系统模型集
(4.2)令F等于向量队列中的第一个分数向量,根据F以及验证集中各查询对象的标签和平均精确度公式计算验证集排序分数的平均精确度mp,将向量队列中的第一个分数向量对应的模型保存至候选系统模型集,其中平均精确度公式详见Turpin,A.& Scholer,F.(2006).User performance versus precision measures for simplesearch tasks.In Proceedings of the 29th Annual international ACM SIGIR Conference onResearch and Development in Information Retrieval(pp.11-18)。
步骤5,选择模型进入候选系统模型集
对向量队列中第二个分数向量进行判断:设其对应的分数向量为F′,令新排序分数向量Fnew=F+F′;根据Fnew计算新的验证集排序精确度mpnew,若mpnew≥mp则F=Fnew,mp=mpnew,将第二个分数向量对应的模型保存至候选系统模型集,否则进行向量队列中下一个分数向量的判断,直至步骤4中的向量队列结束,得到最终验证集平均精确度mplast=mp。
步骤6,选择系统模型集
(6.1)将步骤4和步骤5重复N次,得到N个候选系统模型集和与之对应的N个最终验证集平均精确度mplast,N取值为25;
(6.2)对所有的mplast按升序排列,将排在第13位的mplast对应的候选系统模型选择为最终的系统模型集。
步骤7,输出
(7.1)输入测试查询及其关联文件的特征向量,利用Ranking SVM的排序算法和步骤6所得的系统模型集给特征向量分配排序分数;
(7.2)将对应于同一个特征向量的排序分数之和作为排序系统的输出。
仿真实验
本发明的效果可以通过以下实验进一步说明:
1.仿真条件:
在CPU为pentium(R)43.00GHZ、内存1G、WINDOWS XP系统上进行了仿真。
2.仿真内容:
本发明的实验数据是下载自微软亚洲研究院的LETOR团队网页的标准排序学习数据OHSUMED,该数据包含106个查询总共16140个文件的特征向量及标签,数据集包含5个文件夹,每个文件夹中包含三个数据集,即:训练集、验证集和测试集。各个文件夹的数据集包含的查询文件如表1所示,
表1:各文件夹实验数据分布
训练集 | 验证集 | 测试集 | |
文件夹1 | 查询对象1~63 | 查询对象64~84 | 查询对象85~106 |
文件夹2 | 查询对象22~84 | 查询对象85~106 | 查询对象1~21 |
文件夹3 | 查询对象43~106 | 查询对象1~21 | 查询对象22~42 |
文件夹4 | 查询对象1~2164~106 | 查询对象22~42 | 查询对象43~63 |
文件夹5 | 查询对象1~4285~106 | 查询对象43~63 | 查询对象64~84 |
表1中的5个文件夹共同构成五倍交叉验证。
本发明利用上述实验数据进行实验仿真,按照具体实现步骤,对每个文件夹中的数据进行如下操作:利用训练集训练模型组,利用验证集进行系统模型集的生成,将验证集和测试集分别作为步骤7中所述的输入数据,得到各自的排序分数,最后根据各自的排序分数和已知的数据标签进行算法性能的评估,评估方法为平均精确度MAP和均化折扣累积收益NDCG,MAP和NDCG是最常用的表征信息检索算法优劣的两个评价指标,信息检索算法越好,MAP和NDCG的值越高。
将本发明与现有的Ranking SVM方法在MAP和NDCG评价指标上的进行仿真比较,其结果如表2和表3所示。
表2:本发明与Ranking SVM在MAP评价指标上的结果比较
a:验证集上结果比较
Methods | 文件夹1 | 文件夹2 | 文件夹3 | 文件夹4 | 文件夹5 | 平均值 |
本发明 | 0.4838 | 0.3624 | 0.4654 | 0.4711 | 0.5234 | 0.4612 |
Raking SVM | 0.4653 | 0.3489 | 0.4566 | 0.4580 | 0.5070 | 0.4472 |
b:测试集上结果比较
Methods | 文件夹1 | 文件夹2 | 文件夹3 | 文件夹4 | 文件夹5 | 平均值 |
本发明 | 0.3447 | 0.4620 | 0.4648 | 0.5086 | 0.4674 | 0.4495 |
Raking SVM | 0.3038 | 0.4468 | 0.4648 | 0.4990 | 0.4528 | 0.4334 |
表3:本发明与Ranking SVM在NDCG评价指标上的结果比较
a:验证集上结果比较
b:测试集上结果比较
\从表2和表3可以明显看出,不管在MAP评价指标还是在NDCG评价指标上本发明都比现有Ranking SVM方法在信息检索性能上有很大的提高。此外本发明方法在单个文件夹上的训练时间只有15分钟,仅为同等条件下Ranking SVM方法训练时间的1%,训练效率得到很大的提高,使得本发明易于训练Ranking SVM方法难以进行的大规模数据集。因此本发明比现有方法应用于信息检索具有优越性。
Claims (3)
1.一种基于集成支撑矢量机排序的信息检索方法,包括如下步骤:
1)设定训练样本集 其中m表示查询对象的总个数, 表示与第i个查询对象关联的所有文件的特征向量, (j=1,2,...,n(i))表示第j个关联文件的特征向量,n(i)表示与第i个查询对象关联的文件总数目, 表示与x(i)对应的标签序列;
2)利用Ranking SVM算法中的训练算法,将Γ中每一个查询对象对应的关联文件和标签分别作为一个训练样本训练,将第i个查询对象的关联文件和标签(x(i),y(i))训练得到模型表示为ml(i),m个查询对象的关联文件和标签训练组成模型组
3)设定验证集 作为Ranking SVM算法中的排序算法输入,并根据步骤(2)中所得模型组中的每个模型给V中所有的特征向量分配排序分数,得到排序分数向量组 其中 表示与模型ml(i)对应的第i个排序分数向量,K表示验证集中查询对象的总数,f(k)为对应于验证集中的第k个查询对象x(k)的排序分数向量且维数等于x(k)中特征向量的个数,x(k)表示验证集中第k个查询对象的特征向量,y(k)为验证集中第k个查询对象的标签;
4)将排序分数向量组 中各向量随机进行顺序重排,得到一个向量队列,令F等于向量队列中第一个分数向量,根据F以及验证集标签 和平均精确度公式计算验证集排序分数的平均精确度mp,将第一个分数向量对应的模型保存至候选系统模型集;
5)对队列中第二个分数向量进行判断:设其对应的分数向量为F′,令新排序分数向量Fnew=F+F′;根据Fnew计算新的验证集排序精确度mpnew,若mpnew≥mp则F=Fnew,mp=mpnew,将第二个分数向量对应的模型保存至候选系统模型集,否则进行向量队列中下一个分数向量的判断,直至步骤(4)中的向量队列结束,得到最终验证集平均精确度mplast=mp;
6)将步骤(4)和(5)重复N次,得到N个候选系统模型集和与之对应的N个最终验证集平均精确度mplast,并对所有的mplast按升序排列,将处于队列中间位置的mplast对应的候选系统模型集选择为最终的系统模型集;
7)输入新的查询及其关联文件的特征向量,利用Ranking SVM的排序算法和步骤(6)所得的系统模型集给特征向量分配排序分数,将对应于同一个特征向量的排序分数之和作为排序系统的输出。
2.根据权利要求1所述的基于集成支撑矢量机排序的信息检索方法,其中步骤(2)所述的将Γ中每一个查询对象对应的关联文件和标签分别作为一个训练样本训练,是将Γ中每个查询对象对应的关联文件和标签分别作为Ranking SVM算法中训练算法的输入,训练算法经过迭代优化模型的参数使根据模型分配的排序分数与训练数据的标签达到最佳匹配。
3.根据权利要求1所述的基于集成支撑矢量机排序的信息检索方法,其中步骤(3)所述的根据步骤(2)中所得模型组中的每个模型给V中所有的特征向量分配排序分数,是将V作为Ranking SVM算法中的排序算法的输入,排序算法根据每个模型自动给V中所有的特征向量进行相关性评估并分配一个排序分数作为输出,特征向量与查询的相关性越大,排序分数越高。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010507292XA CN101957859B (zh) | 2010-10-15 | 2010-10-15 | 基于集成支撑矢量机排序的信息检索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010507292XA CN101957859B (zh) | 2010-10-15 | 2010-10-15 | 基于集成支撑矢量机排序的信息检索方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101957859A CN101957859A (zh) | 2011-01-26 |
CN101957859B true CN101957859B (zh) | 2012-08-08 |
Family
ID=43485188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010507292XA Expired - Fee Related CN101957859B (zh) | 2010-10-15 | 2010-10-15 | 基于集成支撑矢量机排序的信息检索方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101957859B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104077306B (zh) * | 2013-03-28 | 2018-05-11 | 阿里巴巴集团控股有限公司 | 一种搜索引擎的结果排序方法及系统 |
CN104239375A (zh) * | 2013-06-17 | 2014-12-24 | 成都按图索骥网络科技有限公司 | 基于数据包络分析的排序学习方法 |
CN103605493B (zh) * | 2013-11-29 | 2016-09-28 | 哈尔滨工业大学深圳研究生院 | 基于图形处理单元的并行排序学习方法及系统 |
CN105550174A (zh) * | 2015-12-30 | 2016-05-04 | 哈尔滨工业大学 | 基于样本重要性的自动机器翻译领域自适应方法 |
CN106294654B (zh) * | 2016-08-04 | 2018-01-19 | 首都师范大学 | 一种本体排序方法及系统 |
CN106547922B (zh) * | 2016-12-07 | 2020-08-25 | 阿里巴巴(中国)有限公司 | 一种应用程序的排序方法、装置及服务器 |
CN108280104B (zh) * | 2017-02-13 | 2020-06-02 | 腾讯科技(深圳)有限公司 | 目标对象的特征信息提取方法及装置 |
CN108197664B (zh) * | 2018-01-24 | 2020-09-04 | 北京墨丘科技有限公司 | 模型获取方法、装置、电子设备及计算机可读存储介质 |
CN111327565B (zh) * | 2018-12-13 | 2022-09-06 | 北京果仁宝软件技术有限责任公司 | 区块链出块方法和系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7617164B2 (en) * | 2006-03-17 | 2009-11-10 | Microsoft Corporation | Efficiency of training for ranking systems based on pairwise training with aggregated gradients |
CN101404036B (zh) * | 2008-11-07 | 2012-09-05 | 西安交通大学 | PowerPoint电子演示文稿的关键词抽取方法 |
-
2010
- 2010-10-15 CN CN201010507292XA patent/CN101957859B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101957859A (zh) | 2011-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101957859B (zh) | 基于集成支撑矢量机排序的信息检索方法 | |
CN108564129B (zh) | 一种基于生成对抗网络的轨迹数据分类方法 | |
CN108920556B (zh) | 基于学科知识图谱的推荐专家方法 | |
CN103810299B (zh) | 基于多特征融合的图像检索方法 | |
WO2021109464A1 (zh) | 一种面向大规模用户的个性化教学资源推荐方法 | |
CN106202294B (zh) | 基于关键词和主题模型融合的相关新闻计算方法及装置 | |
CN102750347B (zh) | 一种用于图像或视频搜索重排序的方法 | |
CN110516074B (zh) | 一种基于深度学习的网站主题分类方法及装置 | |
CN105740401A (zh) | 一种基于个体行为和群体兴趣的兴趣地点推荐方法及装置 | |
CN102456016B (zh) | 一种对搜索结果进行排序的方法及装置 | |
CN110110225B (zh) | 基于用户行为数据分析的在线教育推荐模型及构建方法 | |
CN103218435A (zh) | 一种中文文本数据聚类方法及系统 | |
Bian et al. | Ranking specialization for web search: a divide-and-conquer approach by using topical ranksvm | |
CN102968419B (zh) | 交互式互联网实体名称的消歧方法 | |
CN110543595A (zh) | 一种站内搜索系统及方法 | |
CN107291895B (zh) | 一种快速的层次化文档查询方法 | |
CN104484380A (zh) | 个性化搜索方法及装置 | |
CN110046713A (zh) | 基于多目标粒子群优化的鲁棒性排序学习方法及其应用 | |
CN110647995A (zh) | 规则训练方法、装置、设备及存储介质 | |
CN102737090B (zh) | 网页搜索结果排序方法及装置 | |
CN106601235A (zh) | 一种半监督多任务特征选择的语音识别方法 | |
CN106203508A (zh) | 一种基于Hadoop平台的图像分类方法 | |
CN102929977B (zh) | 一种面向新闻网站的事件跟踪方法 | |
CN108563794A (zh) | 基于高阶奇异值分解的上下文推荐方法及装置 | |
CN102915311B (zh) | 搜索方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120808 Termination date: 20181015 |