Orion算法:GOOGLE干掉百度的? 百度算法Google搜索引擎J#
/*版权声明:可以任意转载,转载时请务必标明文章原始出处和作者信息 .*/
Orion算法:GOOGLE干掉百度的?
中科院软件所 张俊林
time stamp:2006年4月12日
怎么样?这篇文章的标题够气派吧?说实话,我写完了看着也吓了一跳,我问自己:这题目真是你自己起的么?神来执笔啊!!估计李白喝5斤牛栏山二锅头也不过这样吧.我也承认题目起得有点吓人,其实我的根本目的是啥呢,就是用这么个标题来炒做一下,增加点浏览量,实际我的blog浏览量已经很高了,不信我给你算算,你看,上上个星期我点击过50次,上个星期我点击过50次,算上我自己的点击,目前浏览量已经高达100了.在此向百度道歉:百度,其实本文和百度没啥关系,就是想借着你和(http://googlechinablog.com/2006/04/blog-post_14.html)谷歌掐架来宣传一下,如果你自己觉着委屈或者感觉受了伤害呢也别吭气,偷偷摸摸找个许愿树说说就完了,要不忍忍就过去了,谢谢啊.下面一段开始是正文;
GOOGLE一直是人们关注的焦点,最近被媒体炒得沸沸扬扬的一则新闻是关于澳大利亚博士生Ori Allon由于提出新的搜索算法被GOOGLE征用的消息,换个时髦的说法,就是allon此刻已经象他的前辈们一样中断学业(盖茨啦,GOOGLE的两个创始人了,YAHOO的两个创始人,数不胜数,事实再一次无情地证明了读博士的三条出路:毕业,退学以及跳楼之中,退学是含金量最高的选择,在此奉劝各位在读的博士只争朝夕地时不我待地赶紧办理退学手续,否则一切都迟了J),此刻摇身一变为”加利福尼亚男孩”正坐在GOOGLE的办公室里开始了饲养员这个比读博士更有前途的事业,在养他的宠物狗的间隙抽出点时间继续完善他的新算法J;当然,Allon所在的澳大利亚南威尔士大学也因此发了比小财(也许这则消息对于国内的大学和研究所有所启示,看看别人是怎么通过创新达到收支平衡并略有节余的,这说明我们的导师们除了靠做黄世仁剥削长工外还有其它的致富之路J)并因此而奉行”打死也不说”的大无畏革命精神告诉各路媒体”除了俺们拿了点知识产权小费(实际是GOOGLE的封口费J)并且allon已经离开”外三缄其口,出于好奇心,我十分非常特别迫切想知道这是怎样一个”岗岗地”算法(正在看这篇文章的你不也是这.这.这…这样么?),俗话说得好,除了春梦了无痕外,凡走过必留痕迹,用GOOGLE搜索,可是搜遍互联网找不到任何allon发表过的论文,allon的导师的个人主页倒是找到了,可是看不出哪篇论文是跟搜索或者应用相关的,有关allon本人的唯一线索是他的博士课题“Using Search Engines for Discovery Information Retrieval”
因为我的英文水平很高,所以我觉得这个标题读起来有点别扭(要我写我就这样写:used saerch engenner to FAXIAN information retrieval,怎么样,确实技高一筹吧J),但是从这个标题我们也多少能discovery一点信息,首先可以看出allon的课题跟信息发现相关,再者这种信息发现是建立在搜索引擎基础上的,同时从Search Engines采用复数来看(如果allon的英文语法跟我一样过关甚至是exlent的话,对了,exlent是优秀的意思吧?为什么该死的word编辑器老是提示是错误呢?愚蠢的word,愚蠢的ofice办公套件,不管他了,我们接着写,鲁迅先生不是说过么:写自己的文章,让WORD报错去吧)是在很多搜索引擎的基础上,可见整个项目的基础是个元搜索引擎,就是首先从现有若干个搜索引擎的返回结果里面进行信息发现.也许福尔摩斯能从里面挖掘出更多的信息(比如allon的姓名,性别,年龄,婚否,爱吃掉渣王还是必胜客,暂住证是否过期,加利福尼亚市的户口是否已经落下来了等等),对于我来说这些是能够推理出的所有信息了.
花开两朵,我们各表一枝,在此特作说明,上面的文体采用记叙文文体,为了各位的阅读习惯,下面的文体切换为说明文,两种文体综合运用,也算我对新文学运动做的一点贡献了;
上回书说道哪里了?对了,看来我们只能通过媒体报道分析推测一下GOOGLE将要采用的新算法长得是什么样子了;
首先,我们看看这个算法达到的效果或者功能是什么,以下是从新闻媒体摘出的,版权归新闻媒体,翻录不究(注意:这里不是笔误,是微软拼音输入法的错误,看来微软的版权意识还不够强啊J):
1. OrionTM finds pages where the content is about a topic strongly related to the key word. It then returns a section of the page, and lists other topics related to the key word so the user can pick the most relevant
2. The results to the query are displayed immediately in the form of expanded text extracts, giving you the relevant information without having to go the website--although you still have that option if you wish
3. By displaying results to other associated key words directly related to your search topic, you gain additional pertinent information that you might not have originally conceived, thus offering an expert search without having an expert's knowledge
4. Take a search such as the American Revolution as an example of how the system works. OrionTM would bring up results with extracts containing this phrase. But it would also give results for American History, George Washington, American Revolutionary War, Declaration of Independence, Boston Tea Party and more. You obtain much more valuable information from every search
虽然上面的内容比较复杂,以我这么高的英文水平都看不大懂,但是我还是坚持要象大家讲讲这个算法功能:
1. 该算法是主题相关的,而不只是传统搜索引擎的”关键词”相关的;当用户输入查询词汇后,能够自动提取与用户查询相关的主题词,并且让用户进行选择哪些主题相关词汇是真正用户想找到的信息;
2. 检索结果是扩展的相关文本,用户只要看到这些相关文本就无需点击链接进入页面去查看;
3. 在提交给用户的搜索结果中,不仅用户提交的查询词汇相关信息要显示,与查询词汇相关的主题词获得的检索结果也要显示,通过提供用户没有想到的相关词汇来使得搜索更加准确;
看完这些描述后,基于我的知识结构,我首先想到的是如下几个词汇:段落检索;信息共现;文本聚类;相关反馈等等,反正一堆词汇排着队在我脑子里争先恐后往外冒;
要是我的话,我会如下做
1. 首先我们得到用户的查询词汇;
2. 我们把用户的查询词汇提交给几个现有的搜索引擎,比如GOOGLE,YAHOO
3. 得到搜索结果,我们把结果合并到一起;
4. 我们把搜索结果排名比较高的若干个结果,比如前20个文章,按照固定大小把每个文章切成若干片断;
5. 对于切完的所有片断放到一起,然后进行文本聚类,把内容最相似的段落聚合到一起,这样形成若干主题类;每个主题类可以根据与用户查询共现来抽取共现频率最高的几个关键词或者短语作为这个类的关键词列表;
6. 重新给每个聚类结果根据用户查询词汇按照相关程度打分;然后按照得分高低排序;输出界面包括:每个类别提取一到2个关键词短语供用户进行进一步选择,如果用户点击某个短语则,显示该类中最核心的那个段落;
但是,阿龙(allon)会不会这么做呢? 想像我们就是阿龙本人,在实现上述功能的一个算法,我们应该怎么做呢?
我们先看看阿龙参加的这个项目的背景:
RichProlog, a System for Deducing, Inducing and Learning in the Declarative Programming Paradigm.
看来他的思路应该更加复杂些,根据他的导师的背景和研究项目背景,阿龙可能用到了象PROLOG啊,逻辑推理啊这些东西;很可能是这样的:首先构建一个专家系统知识库;里面记载了一些知识和规则,然后得到用户查询后,根据推理得出和用户查询相关的一些主题词汇比如拿到”独立战争”,能够计算得到”华盛顿”,然后把推理得出的概念提交搜索引擎再次检索,获得检索结果
这里面有个核心问题,和用户查询相关的主题词汇或者短语如何获得?可以事先构建好一个主题知识库,里面记录了和某个词汇主题相关的词汇,比如”独立战争”,在词典里面和这个短语相关的词汇包括”华盛顿”等词汇
下面是我认为阿龙应该做的工作,如果阿龙不是这么做的,那么请阿龙的导师通知阿龙改成这么做,这样我的推理就不会出错了J:
1. 得到用户查询词汇,假设是”独立战争”;
2. 使用推理机计算根据这个词汇得出的主题相关词汇,假设推理得到”华盛顿”;
3. 把”独立战争”和”华盛顿”作为不同的查询提交给不同搜索引擎,比如把”独立战争”提交给GOOGLE,”华盛顿”提交给YAHOO;
4. 得到返回结果,把每个返回结果得分最高的K个文章切分成固定大小的段落;
5. 给每个段落按照相关程度进行打分,选择得分最高的段落作为显示结果;
6. 返回给用户检索结果,比如在左边列出推理出的主题相关词汇,中间显示得分最高的段落内容;如果用户关心的内容在段落里面已经看到就无需点击网页;如果是GOOGLE的话,右端还会有广告,如果是百度的话,会把广告放在检索结果里面J
这里面看起来,最核心的是这个推理机,就是给定某个词汇,如何推理得到主题相关的词汇,这个是如何实现的等我改天给阿龙打个电话问问,然后在给大家汇报J
OK,换成中文就是"好了,完了,"的意思,各位洗洗睡吧;唉,这位看官,您别往我这扔钢蹦啊,嘛钱不钱的,乐呵乐呵就完了.
上一篇: 给出一个数字n,求出所有的全排列 J#
下一篇: jboss rule