静待水到渠成

个性化搜索引擎学习笔记

搜索做了半年,亟需解决的问题基本没有了,前两代搜索引擎所能做的事情完成得尚可。
之前的搜索引擎学习笔记里对第三代搜索引擎介绍较少,故另外详细学习下个性化搜索引擎。
为后续的工作提供基本的技术知识。

资料链接 http://blog.csdn.net/xiaoyu714543065/article/details/7932154

个性化搜索引擎的目标

准确描述用户兴趣:为不同用户提供不同的服务, 以满足不同的需求。提高站点的服务质量和访问效率,从而吸引更多的访问者。
用户感应式:user sensitive PageRank, 搜索引擎感兴趣的不单单是某个单一用户的个性化搜索,而是某些用户的分类化(式)的个性化(较小范围内显性/隐性用户反馈的集合)。
直觉搜索:(intuitive search):能够在用户没有考虑清楚要寻找什么之前,为用户呈现所需的信息。

个性化搜索引擎的分类

目前,个性化服务根据其所采用的推荐技术可以分为两种:基于规则的系统和基于信息过滤的系统,其中信息过滤系统又可分为基于内容过滤的系统和基于协作过滤的系统。

基于规则的系统:利用预定义的规则来过滤信息,它的优点是简单直接,缺点是规则质量很难保证,而且不能动态更新,此外,随着规则的数量增多,系统将变得越来越难以管理。
基于内容过滤的系统:利用资源与用户兴趣的相似性来过滤信息,它的关键问题是相似性计算,它的优点是简单有效,缺点是难以区分资源内容的品质和风格,而且不能为用户发现新的感兴趣的资源,只能发现和用户已有兴趣相似的资源。
基于协作过滤的系统:利用用户之间的相似性来推荐信息,它能够为用户发现新的感兴趣的内容,它的关键问题是用户聚类,其缺点是需要用户的参与。

用户描述信息的表达与更新、资源特征选取与表达

用户描述信息的内容
基于内容信息过滤来说,同样需要用户的参与。为了跟踪用户的兴趣和行为,需要为每个用户建立一个用户描述文件(User Profile),用户描述文件可以包括个人信息、个人兴趣、行为模式、以及用户间的关系等。
用户的具体个性化描述信息可能但不限于:

  • 地理位置因素
  • 顶级域名(TLD,Top Level Domain)的地理位置
  • IP地址
  • 对查询的地理位置分析
  • 技术方面的因素
  • 浏览器
  • 操作系统
  • 移动设备
  • 时间因素
  • 当前在一天中的时间因素
  • 当前在一年中的时间因素
  • 历史性数据
  • 行为性因素
  • 搜索的历史数据
  • 与搜索结果页(SERP)互动的数据
  • 选择率和跳出率的数据
  • 和广告的互动操作
  • 浏览习惯(常用用户 – 更新鲜的结果)
  • 可能的个性化因素
  • 社会化搜索
  • 人口统计学(指使用者的年龄、职业等个人信息)
  • 浏览历史(隐性数据)

用户描述文件的建立
从四个角度考虑:

  • 内容:基于兴趣和基于行为?
  • 粒度:一个用户一个描述或多个描述,还是一类用户共享一个描述?
  • 时效性:短期的或长期的?
  • 存储:是用文件来组织,还是用关系数据库或其它数据库来存储、XML数据?

用户描述文件的更新
动态更新用户的兴趣可以提高个性化服务的质量。用户第一次使用时,用户注册自己的基本信息和感兴趣的内容,也可以隐式地收集用 户信息。在定制好一个用户描述文件后,可以让用户自主修改,也可以自适应地修改,这样,随用户兴趣的变化而变化。
用户跟踪:显式跟踪(很少有用户向系统主动表达自己的喜好)和隐式跟踪(行为跟踪、日志挖掘)。
标记书签、浏览页面和拖动滚动条所花时间能有效地揭示用户的兴趣。收集用户感兴趣的领域,有利于对用户感兴趣的内容进行分类。

资源的特征选取与表达
资源的表达需要获取资源的特征,并表示为合适的方式。
基于内容的方法:从文档本身抽取信息来表示文档,利用特征词条及其权值来表示。(特征选取)
基于分类的方法:基于分类的方法是利用类别来表示资源,将文档资源分类有利于将文档推荐给对该类文档感兴趣的用户。(聚类算法)

如何表达用户兴趣与结果的关系?

如何有效地处理垃圾信息?(对我们来说,暂无意义)
采用可定制的白名单的方式,过滤掉与用户无关的、使用户反感的文档或网站。

如何处理个性化信息(如何建立文档和用户兴趣关系的表达)?
目的是,建立文档和用户兴趣之间的关系,实现用户兴趣的建立、更新。
A. 矢量空间模型:
通常文档的表达是矢量空间模型,这个很容易理解,将文本文档看成由一组词条,对于每一词条,根据其在文档中的重要程度赋予一定的权重,所有的文档都表示用词条特征矢量来表示,也就保证了文档和用户兴趣之间相似性计算。
不足之处:
1、预先定义好主题词表。
2、进行精确匹配不能保证两个矢量之间存在很多相交的词。
B. 概率统计模型
建立一个领域分类模型,然后计算所有文档和用户兴趣在这个分类模型上的概率分布,用该概率分布来表达文档和用户兴趣。用户在领域分类上更容易产生相似性。概率模型比矢量空间模型能更好地表达了用户的兴趣和变化。
改进的地方:
概率统计模型实际上是建立另一个搜索引擎,对搜索结果中的每一篇文档都必须计算其在领域分类模型上的概率分布,这会极大地影响算法的性能,如果该搜索引擎能够预先计算好每一篇文档在领域分类模型上的概率分布,则算法的性能会得到很大的提高,从而满足实时处理的需要。

个性化搜索引擎的实现流程

整个个性化模块实现步骤:
1) 对用户兴趣进行收集。
2) 用户描述信息确定、分类。
3) 资源信息特征选取、分类。
4) 建立用户和兴趣的关联,兴趣和资源的关联。
5) 利用资源和用户兴趣的关系,计算出搜索结果中的每个文档和用户兴趣的相似度,并对相似度进行排序。
6) 用户对搜索结果进行评分(或记录用户行为),更新该类用户的兴趣规则。

个性化搜索引擎的实际实施

可能可以考虑以下几个实施的接入点(划分模块):
1) 用户信息、行为收集、维护。
2) 用户兴趣领域模型的建立。
3) 资源的特征捕获。
4) 相似度算法植入现有搜索引擎。

搜索后端:立足在目前Solr引擎,通过改进建立索引时的预测计算、预留字段,对用户行为改变进行记录,周期性对某些用户关注度高的关键词,索引进行预留字段的更新。
搜索前端:用户行为分析、隐私保护。

结语

说到底,个性化搜索引擎技术难点主要在数据挖掘和语义分析,而优秀和卓越的差距不外乎于这两点关键。
对于目前属于争取做到优秀的我们而言,用户需求和产品设计本身也是较为重要的内外在因素。

Comments