2007
06.27

  大家多少都用过搜索引擎,google、yahoo、baidu还有很多搜索引擎目前都有个特点,就是你和我使用同一个keyword去搜索,得到的结果将是一样的,但事实上我们两个因为个人性格、爱好、文化背景等不一样,对同样的搜索结果的满意度是不一样的,有没有办法能让搜索引擎自动根据我们两个之间的这种差异,返回给我们最适合各自的结果呢? 答案是肯定的,这就是个性化搜索,根据不同人的不同特点,提供不同的搜索结果。

  
  传统的搜索引擎根据关键词来创建索引并得到搜索结果,同时根据关键词来提供广告服务,这往往是不够准确的,比如同样搜索hotel,不同的人可能希望得到的结果是不一样的,有钱人希望得到的是最好的星级酒店,普通老百姓希望得到的是便宜实惠的结果,同样,广告的展现希望更加准确,比如喜欢自驾游的用户显然应该推荐更多汽车旅馆的广告,而喜欢大海的用户则应该得到更多海边度假酒店的广告。

  目前有不少的搜索引擎已经开始意识到个性化搜索的重要性,并且开始进行了积极的尝试,google提供的history和personalize服务,就是类似这样的东西,不过和google提供的这种服务一样,各个搜索引擎目前都面临同样的问题,那就是他们大多基于用户所有的搜索历史来进行个性化分析,这种分析仅仅基于单一的关键词,往往不够准确,理论上应该考虑更多关键词之外的用户特性,比如点击行为,对同样排序结果里面不同位置的满意度、点击率等因素综合计算。同时,通过用户搜索历史记录来提供个性化搜索服务,将面临侵犯隐私的重大法律障碍,这成为目前各大搜索引擎棘手的问题。

  我有三个美国的华人朋友,其中一个是麻省理工研修人工智能的博士,7年的博士课程仅3年半就顺利完成,目前已经是美国人工智能领域排名前三位的科学家之一,他和两位两个朋友一起,近几年来基于他在基因DNA搜索领域的研究成果,开发出一套算法,该算法成功的应用到了传统的互联网搜索引擎上,有效的实现了个性化搜索,解决了其他搜索引擎面临的问题。

  通过他们的算法,可以实现类似下面的功能:

  • 不同的人搜索同样的关键词,可以根据不同人的各种属性(地域、年龄、性别、爱好、职业、历史搜索…等等)分别得到最适合自己的结果。
  • 可以根据用户各自的差异和特点,提供最适合该用户的广告投放。
  • 可以根据不同的用户特点,划分具有共同爱好、特性的用户群体。

  最关键的一点,他们的这套算法没有任何其他搜索引擎面临的侵犯用户隐私的担忧,这套算法基于人工智能和用户模型来实现,每个用户都会有个初始的用户模型,该模型会根据用户的各种属性来不断调整,会随着用户长期的使用搜索引擎,查询不同的关键词,点击和收藏不同的结果等event来调整,最后这个抽象出来的用户模型将非常接近现实中的用户本人,从而达到个性化的目的,而这个过程中,搜索引擎不记录任何用户操作历史。

  我和这三位朋友接触较长一段时间,我协助他们用了近三个月的时间开发出了一个demo的prototype系统,该系统基于抓取Google、Yahoo的web search和sponsored links结果进行分析,同时使用了简单的MySQL数据存储、Lucene全文检索等技术对他们的核心算法提供外围技术支持,系统除了web界面采用PHP的Zend Framework外,大部分部件均基于Linux C/C++开发,尤其是和核心算法服务之间的通讯、词表的解析等关键的应用,可以保证系统的性能,目前演示的系统上每一次search请求都会实时从Google、Yahoo上抓取并实时进行分析和排序,实际生产应用中会考虑应用更多的缓存技术来进一步提高效率,甚至和Google等数据提供商紧密的合作。

  目前该项目正在美国寻求VC的投资,说实话,经过我的实际使用,我非常看好这个项目,希望真的可以成功。

41 comments so far

Add Your Comment
  1. 南半球 on June 30, 2007 at 7:49 pm  

    (Quote)
    said:

    大哥,你这有商业机密的成分么,这么早透露出来,呵呵

    目前已经在公开寻找VC了,而且demo的原型已经上线对外提供服务了,所以不用有这方面的担心了 :)

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word