人民搜索的同事问我此前写的网页重排的博客,其实用【网页重排 pennyliang】就可以搜索到,http://blog.csdn.net/pennyliang/archive/2010/08/02/5781847.aspx。
在WWW2010大会上,有一篇论文写的很好,总结了这方面的方法,也提出了新的方法:
Scalable Techniques for Document Identifier Assignment in Inverted Indexes
这个问题基本是这样的:
在做索引的过程中,文档号的分配和最终倒排表制作出来的大小和query的效率有非常大的影响。本质上来说,这是由于关键词的高维空间决定的,我们可以想象每个关键词是一个维,那么如果有30万词汇的话,就是一个30万维的空间,每个文档做出的一个正排表,可以想象成这个高维空间的一个点。变成倒排表后,如果文档数是10B(100亿),可以看做是一个关键词在这个10B高维空间的一个点,而要想让每个维上的投影都是致密的是不现实的,不难得到,最多只有3个关键词可以做到doclist上的docid完全连续,即全部gap=1。
解决的办法基本有这样一些:
(1)做聚类,分类,用类别的信息,让同一类的doc连续分配docid。
(2)简单的按URL排序,因为URL近似的网页内容也大多相似,这样可以节省分类聚类的开销
(3)直接用网页抓取的顺序,也就是近似random的顺序。
WWW2010的这篇论文提出了新的方法,实验效果也更佳,可以借鉴参考,我原来以为这个坑挖到头了,没想到还能有突破。
如果无法下载这篇论文,可以给我留个邮箱。
分享到:
相关推荐
列车车厢重排问题列车车厢重排问题列车车厢重排问题列车车厢重排问题列车车厢重排问题列车车厢重排问题
火车车厢重排问题简单的C++火车重排源代码
不同搜索算法解决九宫重排问题,JAVA语言实现广度优先,全局择优算法解九宫重排问题,输出路径。。。。。。
数据结构,火车车厢重排问题,实验报告,有代码,实验结果截图,实验感想
盲目搜索(广度搜索)解重排九宫问题,即把数码问题的盲目搜索求解!C++实现的。
用c++实现的九宫重排问题 能在vc++6.0下运行 适合于初学c++语言的同学 形象的展示了九宫重排问题
火车车厢重排问题,队列,c语言.doc
是一篇关于重排九宫这种经典益智游戏的学术论文
一列货运列车共有n节车厢,每节车厢将停放在不同的车站。假定n个车站的编号分别为1~n,即货运列车按照第n站至第1站的次序经过这些车站。...假定缓冲轨按先进先出的方式运作,设计算法解决火车车厢重排问题
列车车厢重排问题 列车车厢重排问题,通常指的是一个经典的组合优化问题,也被称为火车车厢重排问题(Train Shunting Problem)。这个问题描述了一列车的车厢按照特定的目标顺序重新排列的情况。 具体来说,假设有...
用A*算法求解重排九宫问题,将九宫格以3*3矩阵形式设计为动态对象数组类的对象,形式比较新颖。希望对大家了解A*算法,重排九宫,以及c++的动态对象数组类有所帮助。文档包含一个动态对象数组类头文件和一个源文件。
列车车厢重排问题### 内容概要 《算法里的列车车厢重排问题有哪些》是一篇面向初学者和专业人士的文章,旨在通过通俗易懂的语言,介绍算法在解决列车车厢重排问题中的应用。文章以实际问题为出发点,探讨了不同类型...
火车重排问题的一个Flash,希望帮助大家对栈的使用有所帮助
实验要求设计一个队列结果来解决车厢重排问题。车厢重排问题为:一列货车共有n节车厢,每个车厢都有自己的编号,编号范围从1~n。给定任意次序的车厢,通过转轨站将车厢编号按顺序重新排成1~n。转轨站共有k个缓冲轨,...
列车车厢重排问题
九宫重排问题是一个经典的智力游戏,它涉及到在3x3的方格中移动数字1至8以及一个空格,目标是通过移动空格使得数字形成有序的顺序。 解决这个问题通常采用以下方法: A*算法:这是一种启发式搜索算法,它结合了最佳...
列车车厢重排问题