540 likes | 701 Views
Local search: A guide for the information retrieval practitioner. --Andrew MacFarlane & Andrew Tuson ( 伦敦城市大学信息学院 ) 局部搜索:信息检索者的 指南 (情报学 夏能能). 目录. 1 引言 2 什么是局部搜索 3 扩展 hillclimber 4 基于知识的优化器设计 5 如何在信息检索中使用局部搜索 6 信息检索中局部搜索的评价方法 7 结论. 摘要.
E N D
Local search: A guide for the information retrieval practitioner --Andrew MacFarlane & Andrew Tuson (伦敦城市大学信息学院) 局部搜索:信息检索者的指南 (情报学 夏能能)
目录 • 1 引言 • 2 什么是局部搜索 • 3 扩展hillclimber • 4 基于知识的优化器设计 • 5 如何在信息检索中使用局部搜索 • 6 信息检索中局部搜索的评价方法 • 7 结论
摘要 • 信息检索中有一些组合优化问题,对于这些问题使用局部搜索相当有价值。本文旨在展示如何使用局部搜索完成信息检索中的一些比较著名的任务,提出一些使用局部搜索解决信息检索问题的更缜密的方法。同时对进行组合优化问题实验时涉及的一些问题进行了概述,比如适应度函数、统计学意义以及测试集合等。本文为那些试图通过使用局部搜索完成检索问题的信息检索者指明了解决问题的方向,并针对这些方法给出了实用的建议
目录 • 1 引言 • 2 什么是局部搜索 • 3 扩展hillclimber • 4 基于知识的优化器设计 • 5 如何在信息检索中使用局部搜索 • 6 信息检索中局部搜索的评价方法 • 7 结论
1 引言 • 信息检索中有各种各样的问题很难通过一般计算方法得到解决,其中有些属于NP(non-deterministic polynomial )困难问题,这需要应用组合优化思想,尤其是利用局部搜索方法。该领域已有大量的研究成果,在阅读文献的基础上作者发现为了提高运用局部搜索完成信息搜索任务的工作质量本领域有一些问题需要解决:
1 引言 • 人们只零散地使用局部搜索技术,而从未考虑对于一个特定的信息检索问题哪种方法会是最好的; • 对于如何在信息检索中使用局部搜索没有总体概述,同时也缺乏对现有的局部搜索技术的理解; • 就评价技术而言,大部分相关研究都有研究方法上的缺陷,尤其是在应用和选择测试集方面
目录 • 1 引言 • 2 什么是局部搜索 • 3 扩展hillclimber • 4 基于知识的优化器设计 • 5 如何在信息检索中使用局部搜索 • 6 信息检索中局部搜索的评价方法 • 7 结论
2 什么是局部搜索 • 局部搜索是一种能被用来解决计算复杂问题的方法 • 应用举例:在由NIST(National Institute of Standards and Technology) 组织召开的文本检索会议上,伦敦城市大学Okapi团队将hillclimber 技术应用于路由跟踪,这是一个利用来自训练集的相关文献产生一系列适用于测试集的术语的过程
2 什么是局部搜索 • 当选择来自训练集的术语时,我们容易想到利用有限查询扩展技术中的相关反馈方法,但是有限的查询扩展通常要求术语的个数在15-20范围内,然而通过增大初始术语集(比如增加到200个)可以使进一步推进选择过程,并能试图找到该术语集最好的可能组合。但这实际上并不可行,因为计算的要求是O(2200)序列,因此必须使用优化技术从而能在第二阶段的过程中选择一个好的术语集—这属于组合优化问题(COP )
2 什么是局部搜索 通过这个例子我们可以给出信息检索中局部搜索的一个更精确的定义,考虑一个具有以下结构的组合优化问题(COP): • 可行解空间S,包含可行解的限制条件 • 每个解都有一个‘quality’值: quality(s),s∈S
2 什么是局部搜索 局部搜索算法描述: • 生成一个初始解(在上面的例子中是指来自相关反馈的排名前三的术语),并对它进行评价 • 在当前解的邻域里通过一种步骤(比如增加一个新术语)产生新解,使用验收标准决定是否采用新解,并通过平均精度评价其有效性 • 返回第二步,直至到达终止条件
2 什么是局部搜索 根据验收标准的不同,hillclimbers可以分为以下三类: • AHC( Any-ascent hillclimbers): quality(snew) ≥quality(scurr) 时接受新解,它的变体是SHC(stochastic hillclimbing) • FAHC(First-ascent hillclimbers) : quality(snew) >quality(scurr) 时接受新解 • SAHC (Steepest-ascent hillclimbers)quality(s_ best) > quality(s_ curr) and quality(sbest) > quality(sany|sany∈ N(scurr,m))时则接受新解
目录 • 1 引言 • 2 什么是局部搜索 • 3 扩展hillclimber • 4 基于知识的优化器设计 • 5 如何在信息检索中使用局部搜索 • 6 信息检索中局部搜索的评价方法 • 7 结论
3 扩展hillclimber • 局部搜索是元启发式最常见的形式,通过放宽验收标准等方式扩展了hillclimbing,从而避免了局部最优。它们可以放置到一个共同的执行框架中,正如(Rayward-Smith, 1994)一文中用伪代码描述的那样:
3 扩展hillclimber • neighbourhood_search() • initialise(P);// generate starting solution(s) • while(!finished(P)) • Q = select_solution(P); // choose solution(s) to perturb • R = create_moves(Q); // apply move operator(s) • P = merge_sets(P,Q,R); // merge to obtain a new set P • END while • END neighbourhood_search (其中P、Q、R是S中的解集)
3.1迭代hillclimbers 及GRASP • 迭代hillclimbing :当发现或怀疑产生局部最优时,一个解决办法就是用一个不同的初始解重启hillclimber • GRASP:贪婪随机自适应搜索过程(Feo, Bard, & Claflin, 1991),是这种方法的一个变体 GRASP的应用包括车辆路径问题(Hjorring, 1995)及单机调度问题(Feo, Venkatraman, & Bard, 1991),至于其他应用(比如航班时刻问题)的综述可参考(Feo, Bard et al., 1991)
3.2 模拟退火 • 模拟退火(Simulated annealing,SA)基于优化算法和物理学中的退火过程的类比之上(Kirkpatrick, Gelatt, & Vecchi, 1983) ,可以将其看做随机hillclimbing的一种。接受新解凭借的是修正的验收标准,可以按照下面方程计算出的可能性值接受劣解 :
3.2 模拟退火 • 温度按照冷却时间表随时间而变化,通常随着优化进展而降低 ,(Lundy & Mees, 1986)提出了两种有效的冷却时间表计算公式: 或
3.2 模拟退火 • SA研究涉及到的问题有: (Hajek, 1988)--理论、冷却时间表(Lundy & Mees, 1986)、SA的应用(比如排序)(Ogbu & Smith, 1990; Osman & Potts, 1989)、时间表(Abramson, 1991) ,关于SA的更详细的信息可以参考以下文献:Collins, Eglese, & Golden, 1988; Van Laarhoven & Aarts, 1988; Aarts and Korst, 1989等
3.3 阈值方法 • 阈值方法(Threshold methods)是对SHC延伸后得到的一组方法,利用了阈值的思想--设定一个水平,未达到该水平的新解均不会被接受 。这组方法的区别在于阈值Lk的使用方式( Lk 随时间变化, Althofer & Koschnick, 1991; Sinclair, 1993),阈值方法包括:
3.3 阈值方法 • 若新解的质量不低于相对于当前解设定的阈值,则Threshold accepting(TA)接受新解(即当quality(snew) ≧quality(scurr) − Lk时)(Dueck & Scheuer, 1990); • 若新解的质量不低于相对于最优解或到目前为止的搜索记录中的最优解设定的特定阈值,那么Record-to-record travel(RTRT)则接受新解 (即 quality(snew) ≧ quality(sbest) − Lk时) (Dueck, 1990) • 若新解的质量不低于某个绝对的质量阈值—当前水平,则The great deluge algorithm(GDA)接受新解(即 quality(snew) ≧Lk时) (Dueck, 1990)
3.4 进化算法 • Evolutionary algorithms (EAs) 以进化论的自然选择为基础,在找寻优质解的过程中一些解得以保留并“进化”。EAs有三种主要形式:遗传算法(GAs)(Holland, 1975),进化规划(EP)(Fogel, Owens, & Walsh, 1966) ,以及进化策略(ESs)(Rechenburg, 1973),但其基本思想是相同的。如下的内容描述了一个稳态繁殖的简单EA:
3.4 进化算法 • 1、生成初始解集; • 2、根据解的质量从解集中选择两个父级解; • 3、使用步骤运算生成一个新解snew ; • 4、如果snew优于解集中最差的解sworst,则snew替代sworst ; • 5、回到第二步直至达到终止标准
3.4 进化算法 • 通常使用的转变步骤有两种形式:变异(类似于无性繁殖),这相当于传统的步骤运算;以及一个二进制步骤运算,交叉(类似于有性繁殖),它的做法是选择两个候选解并在它们之间交换信息。交叉运算有一个例子叫做“两点”交叉,它随机地选择字符串上的两点,并交换这两点之间的字符串中的内容,从而产生如下所示的子串:
3.5 禁忌搜索 • Tabu Search(TS)是一种全局逐步寻优算法,是对人类智力过程的一种模拟。TS算法通过引入一个灵活的存储结构和相应的禁忌准则来避免迂回搜索,并通过藐视准则来赦免一些被禁忌的优良状态,进而保证多样化的有效探索以最终实现全局优化 。禁忌搜索最重要的思想是标记对应已搜索的局部最优解的一些对象,并在进一步的迭代搜索中尽量避开这些对象(而不是绝对禁止循环),从而保证对不同的有效搜索途径的探索
3.5 禁忌搜索 • 该领域已进行的研究包括禁忌任期的动态规则(Battiti & Tecchiolli, 1994)、用来确定禁忌解的散列函数(Hasan & Osman, 1995)以及与禁忌搜索与其他方法的结合(Osman & Christofides, 1994)。 (Reeves, 1993)提出拥有简单邻域结构以及受限候选解列表的基于新近情况的方法往往会产生良好结果,更详尽的信息可参考Glover and Laguna (1997)
3.6 其他相关方法 适合局部搜索框架的另外一种技术是迭代修复(Zweben, Davis, Daun, & Deale, 1993),它把步骤运算看做是对解中瑕疵的修复,并已被成功地应用于坐标空间穿梭地面处理和禁忌阈值中(Glover, 1995),这是用一种随机形式取代TS中的记忆结构的TS变体。此外,这里介绍的所有技术在实践中也可以结合使用
3.6 其他相关方法 • 非基于局部搜索的元启发式算法也存在:①蚂蚁系统基于蚂蚁对信息素的使用(Dorigo & Gambardella, 1997),一群“蚂蚁”在构建解的过程生成一条路径,路径上每个阶段的选择都在对其他蚂蚁的路径权衡中进行;②在神经网络对联合记忆的研究中产生了Hopfield网,它也能被用于优化(Hertz, Krogh, & Palmer, 1991)
3.7 遗传编程 • 局部搜索的子领域中值得一提的是遗传编程(GP)(Koza, 1992),其初始思想是用于演变计算机程序,在我们的研究中可以将GP看做利用EA去优化表示成树的数学函数的一种方法。叶或终端节点代表在其通向根节点的途中被功能节点成功操作的变量与常量,对终端节点和功能节点的选择依赖于用户(以及问题)
GP Crossover ÷ * * + N0 e N0 * K * N0 - e r t K N0 * t -r Parent 1 Parent 2 Child 2 Child 1
目录 • 1 引言 • 2 什么是局部搜索 • 3 扩展hillclimber • 4 基于知识的优化器设计 • 5 如何在信息检索中使用局部搜索 • 6 信息检索中局部搜索的评价方法 • 7 结论
4.基于知识的优化器设计 • 局部搜索优化器被认为是虚弱的(几乎不需要领域知识)和启发式的(不能保证找到最优方案),因此它们并不适用于所有问题 。但无论如何值得注意的是简单常常是有效的:一个简单的hillclimber往往可以在实践中产生令人满意的结果。由于缺乏有效的理论指导,优化器的设计仍然是一个不简单的过程,在这个背景下需要一个局部搜索的基于知识的设计方法
4.基于知识的优化器设计 • (Tuson, 2000)提出把优化器看做基于知识的系统( KBS ):“代表和运用知识开展工作的计算机系统” (Stefik, 1995)。此外,多年来人工智能界一直在研究如何设计一个基于知识的系统(KBS)这一问题,因此如果我们能把局部搜索优化器植入一个KBS框架,那么在KBS的设计中进行广泛研究的再利用就有可能
4.基于知识的优化器设计 (Tuson, 2000)提出用于优化器的领域知识有三类: • 问题解决知识--通过提供构造和引导检索的特定问题的知识来协助检索 • 问题说明知识--明确什么是理想的解决方案(即评价功能) • 搜索控制知识--给出一个定义的搜索空间,我们如何进行搜索?关于搜索过程的知识在这里表现出来
目录 • 1 引言 • 2 什么是局部搜索 • 3 扩展hillclimber • 4 基于知识的优化器设计 • 5 如何在信息检索中使用局部搜索 • 6 信息检索中局部搜索的评价方法 • 7 结论
5.如何在信息检索中应用局部搜索 信息检索中的任务: • Ad - Hoc 和互动搜索 • 信息过滤 • 文本分类 • 话题检测与跟踪
查询 匹配操作 术语操作 最佳匹配 精确匹配 词操作 语词选择 布尔 邻接 权重 函数 词干/截断/词法分析 降维 常量 变量
精确匹配 • 精确匹配是关键词匹配的一种模式,指用户的搜索关键词与搜索结果中的关键词完全一致 。遗传编程(GP)被应用到了这个问题中,把查询看做一个程序,在适应度函数中不同形式的查询得到了“进化”和评价。Cordon, Herrera-Viedma, and Luque (2006)使用一个基于多目标Pareto的进化算法来优化布尔查询;Smith and Smith (1997)使用遗传编程(GP)方法,通过利用语词集和三个布尔运算符(AND,OR ,NOT)创造了一个最初的1000个布尔有机体,并且不断地“培养”这些有机体直到实现某种程度的最优化
最佳匹配 • 最佳匹配操作,不像精确匹配对一些文档排列并给出排列顺序,它通常是为了检索更多的相关文献以提高等级。为了达到这个目的,语词赋权方案使用一些利用了文档统计(如逆向文件频率IDF、词频TF)的函数
语词选择 • 对那些需要优化语词集的任务来说局部搜索能发挥很大作用,例如信息过滤、文本分类、话题检测与跟踪。例如Chen et al. (1998)将GA和SA结合起来优化语词选择,Tamine, Chrisment, and Boughanem (2003) 以及Boughanem, Chrisment, and Tamine (2002)描述了一项使用种群生态位评估多个查询并合并结果的技术 ,生态位是种群的组成部分,它可进行独立进化;Mock and Rao Vemuri (1997) and Mock (1996)描述了一个用来选择语词的全局hillclimbing方法
词操作 • 词操作是关于被优化的查询语句的组成部分--语词本身的,包括产生、截断、词法分析和同义词检测等,大多数检索任务都会用到这些操作。可以考虑在产生操作中使用GP,将产生规则看成是程序的组成元素;Kuflik, Boger, and Shoval (2006)使用局部搜索进行了降维的研究,这里使用了一个类似于语词选择的语词规约过程,维的个数在每次迭代中都会减少,直到到达某个界限
目录 • 1 引言 • 2 什么是局部搜索 • 3 扩展hillclimber • 4 基于知识的优化器设计 • 5 如何在信息检索中使用局部搜索 • 6 信息检索中局部搜索的评价方法 • 7 结论
6. 信息检索中局部搜索的评价方法 • 当把局部搜索应用到信息检索中时最合适的评价方法是实验室类型的评估方法,通过观察实验文档集合以及适应函数对局部搜索进行评估 • 实验文档集有两种类型,分别是为特殊目的和一般目的而用的文档数据集。这两种类型的例子:Cranfield-2,这是冶金领域的摘要集(Cleverdon, 1967);TREC集(Harman, 1995),包括一系列文档如政府报告、新闻报道等
6. 信息检索中局部搜索的评价方法 • 实验文档集的大小是一个重要问题,该领域的很多研究者仍然在使用Cranfield实验文档集(small Cranfield集包含1400条记录),如(Lopez-Pujalte et al., 2003a; Cordon et al., 2006; Vrajitoru, 1998),而其他人使用的是更小的数据集,例如Cordon et al. (2002)用的是包含359篇摘要的集合,Fernandez-Villacanas Martin and Shackleton (2003)使用包含200个“案例”的集合。虽然我们对于试验中使用的测试集合的最合适的大小很难断言,但这些数据集无疑是太小了
6. 信息检索中局部搜索的评价方法 • 信息检索中的局部搜索的适应度函数有很多,对一项特定的任务或分类系统的元素而言什么适应度函数才是最好的?大多数情况下任务本身会决定适应度函数,因为不同的任务意味着不同的评估措施,例如话题检测与跟踪任务通过缺失率(未检测到的新闻事件)和误报率(已经识别的事件被错误的当做新闻)来评估
目录 • 1 引言 • 2 什么是局部搜索 • 3 扩展hillclimber • 4 基于知识的优化器设计 • 5 如何在信息检索中使用局部搜索 • 6 信息检索中局部搜索的评价方法 • 7 结论
7 结论 • 虽然局部搜索优化器表现出清晰的前景以及广泛的可用性,但很难确定该方法是否真的给常规信息检索途径带来了改善(Robertson et al., 1995就是一个很显著的例外) • 因为这一点,很难进行不同优化器技术之间的比较:从信息检索的角度看,实验文档集不充足而且不统一;从局部搜索的角度看,是由于对样本及假设检验的利用不足 • 要在信息检索中利用局部搜索,需要使用框架帮助信息检索者将他们的经验与适当局部搜索的设计选择相联系