搜索引擎日志分析

标签: 搜索引擎 日志 分析 | 发表时间:2013-09-04 04:31 | 作者:huangbingliang
出处:http://blog.csdn.net
为了提高搜索准确度,为用户提供个性化推荐等目的,每个搜索引擎都会保存用户的搜索历史。包括查询的query,time, ip, 操作系统和浏览器信息等等。还有就是记录这个query用户点击查看了哪些搜索结果。
出于商业目的和用户隐私,这些search log是不公开的。

一.
从search log中我们已经可以得到以下结论:
  1. 用户喜欢短query,平均在3.5 words
  2. 大部分的搜索都是由小部分人完成的,而其他大部分人都不怎么进行搜索
  3. 一个query的查询频率是排名的指数关系Frequency(q) = K × Rank(q)^(-α),K是常数,Rank(q)是q的热度排名
  4. 排名在前面的query的查询次数占总查询次数的大部分,而排名靠后的query的查询此时则少的可怜
  5. query的rank(热度排名)是随着时间变化的,重叠比较少。
二. 
将search log分成session,可以按照时间,按照query相似度,和common reformulation patterns进行划分

三. 从search log中提取出用户的需求
Goal: An information need is a single, well-defined goal.
Mission: A mission is a set of related information needs.

现在给定一对queries,如何确定这对queries是否属于同一个goal,是否属于同一个mission。
有许多启发式(heuristics)的方法. 比如Baseline,30 minutes,Trained time,commonw等等
或者是按照features:[Temporal, Edit distance, Query log, Web search] 来进行分类。这算是机器学习的范畴。这个方法的准确率要好于启发式的方法。

四. Query suggestions
Search Trail(踪迹): a single information seeking session

每个query都会对应一个用户想要的结果,用destination表示。将所有指向同一个destination的query合并在一起。形成对应关系。

对于很 稀少的query要推荐其他的query可能并不能从已有的search log里面获取太多信息,这个时候可以将query拆分重组,分成几个subquery然后再进行匹配和推荐。

假设现在已经找了一段可能相关的queries,如何决定recommend顺序. 这时就需要对queries进行rank,rank的方法很多,这也是机器学习这一块了:linear model, SVM, bag of 100 DTs

五. 从用户的点击获取反馈
  1. 用户基本不会不主动feedback
  2. 用户基本只看前3-6条记录,而且极少会翻页
  3. 用户点击受到很多方面的影响,比如用户会默认排在前面的质量就好、摘要的好坏也会影响用户是否点击链接
  4. 基于上面提及的原因,仅仅靠一个click来判断doc的相关性是不可靠的
  5. 对于同一个query(eg: apple),一个人的想法可能对另一个人没有借鉴意义,但是群体的想法一般是可以反映个体的需求的。
六. 从implicit feedback中来推断documents的relevance
有很多方法
1. relevance(Doc[i])=Observed click rate - expected click rate

2. Click Deviation:   
 Deviation (Di, r) = Observed_Rate (Di, r) – Expected_Rate (r)                                       
    observed rate(Di, r): the click rate of Doc[i] in rank r.
    Expected rate(r): expected rate of a doc in rank r
3. CDiff
Compute Deviation (Di, r) for each document Diat rank r
Prefer (Di, Dj) iff Deviation (Di, ri) – Deviation (Dj,rj) > m

七. A-B Testing

什么叫A-B Testing?wikipedia的定义如下:
A/B testing is a methodology in advertising of using randomized experiments with two variants, A and B, which are the control and treatment in the controlled experiment. Such experiments are commonly used in web development and marketing, as well as in more traditional forms of advertising. 
其实简单了说就是有两个方法或不同版本做了同一件事情,为了判断哪个方法更好,就在同一个页面上显示两个不同方法的结果,看哪个更受欢迎。

A / B Testing
– Suppose we have a search engine that people use already
–  Mix results from baseline algorithm and new algorithm
– Monitor which results people click


下面是搜索引擎可以统计的到的一些参数:
• Abandonment rate: % of queries that had no clicks
• Reformulation rate: % of queries followed by another query
• Queries per session
• Clicks per query
• Maximum Reciprocal Rank: 1 / highest rank of a clicked doc
• Mean Reciprocal Rank (MRR): mean of 1 / rank of clicked doc
• Time to first click
• Time to last click

做A-B testing时,用户来一个query,用A,B方法同时得到两组搜索结果,然后将两组结果混合,返回给用户。统计用户偏向于哪个结果。

八. 判断用户意图
由于人类语言的二义性,人为输入的query是很可能有二义性的,同一个query不同的人需要的结果并不一样。那怎么判断最可能的意图呢?
分6步
1. Expand
2. Filter
3. Cluster
4. Estimate the popularity 估计每个intent group的score
5. Name the intent group: Use its highest-scoring query


九. Personalization

从用户的搜索日志中学习用户的interests,preferences然后用在他以后的搜索结果中。
Training data
P (qi, tj) = % of documents for qi that were clicked & about topic tj
这个阶段是学习用户的习惯
学习完之后,当用户查询一个新的query时,先得到普通的搜索结果,然后再根据学习到的用户的偏好,对结果进行调整,得到更符合这个用户的结果。



作者:huangbingliang 发表于2013-9-3 20:31:57 原文链接
阅读:31 评论:0 查看评论

相关 [搜索引擎 日志 分析] 推荐:

搜索引擎日志分析

- - CSDN博客互联网推荐文章
为了提高搜索准确度,为用户提供个性化推荐等目的,每个搜索引擎都会保存用户的搜索历史. 包括查询的query,time, ip, 操作系统和浏览器信息等等. 还有就是记录这个query用户点击查看了哪些搜索结果. 出于商业目的和用户隐私,这些search log是不公开的. 从search log中我们已经可以得到以下结论:.

分布式搜索引擎Elasticsearch的架构分析

- - 掘金后端
ES(Elasticsearch下文统一称为ES)越来越多的企业在业务场景是使用ES存储自己的非结构化数据,例如电商业务实现商品站内搜索,数据指标分析,日志分析等,ES作为传统关系型数据库的补充,提供了关系型数据库不具备的一些能力. ES最先进入大众视野的是其能够实现全文搜索的能力,也是由于基于Lucene的实现,内部有一种倒排索引的数据结构.

uSniff:BT种子搜索引擎

- leqoqo - 软件志
一、uSniff相关信息: 1、官方主页:http://www.usniff.com/ 2、简介:uSniff是一个BT种子搜索引擎,简单、易用、实时是其最大的优点,其搜索引擎数据库包含了17个知名种子站点的种子信息,目的是想发展成为世界上最大的BT种子搜索引擎,而且对于每个种子,该搜索引擎都会进行安全认证,以保证用户的正常使用.

资源搜索引擎

- - 不死鸟 - 分享为王官网
易搜 阿里百度夸克网盘搜索. tg中文搜索 电报资源搜索引擎. 千帆搜索 电报资源搜索引擎. 影视搜 影视聚合搜索引擎. 辅助狗 无捆绑软件搜索引擎. 查报告 可查询各行业的分析报告. 学霸盘 课程资料百度网盘. 库问搜索 PDF文献资料搜索.

GC 日志分析

- - 码蜂笔记
不同的JVM及其选项会输出不同的日志. 生成下面日志使用的选项: -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -Xloggc:d:/GClogs/tomcat6-gc.log. 最前面的数字 4.231 和 4.445 代表虚拟机启动以来的秒数.

人眼启发视觉搜索引擎

- feng823 - Solidot
Google上周宣布将支持声音和图片进行搜索,但一家创业公司在图像搜索方面走在了Google前面. 源自伦敦帝国学院研究项目的创业公司Cortexica,开发出视觉搜索工具,通过手机拍摄产品照片,它会自动呈现价格信息. Cortexica已经发布了一个用于比较酒价格的工具WINEfindr. Cortexica的视觉搜索技术是受到了人眼视觉系统的启发,它能识别出一个目标的关键特征,不受方位、大小、光线亮暗的影响.

比较好的学术搜索引擎

- hfut_chen - C++博客-首页原创精华区
     摘要: 1、http://scholar.google.com/. Google学术搜索滤掉了普通搜索结果中大量的垃圾信息,排列出文章的不同版本以及被其它文章的引用次数. 略显不足的是,它搜索出来的结果没有按照权威度(譬如影响因子、引用次数)依次排列,在中国搜索出来的,前几页可能大部分为中文的一些期刊的文章.

Blekko 对搜索引擎的新探索

- thinkingit - 知乎的博客
Blekko 这款搜索产品做的如何. 从目前我的使用过程来看,Blekko还是很让人激动的. 在谈Blekko之前就要先问:为何在搜索这个看似已经垄断的行业还会有人想去分一杯羹,这些小团队能与Google或微软这样的巨头抗衡吗. 比如之前的Powerset,后来的Cuil,和现在的Blekko. 在Google之前Yahoo是靠人工收录网页,Google的算法和蜘蛛革了搜索的命,一直垄断搜索业十余年,而现在随着WEB 2.0的发展,让人又看到了搜索业革命的火种,可以说Blekko就是这样的一个产品.

Mr.Icons:图标icon搜索引擎

- 壮壮爱 - 够趣堂
之前Anliu在如何更换更好的icon文章里面推荐了4个icon搜索引擎,目前部分已经不复存在. 不过Mr.Icons倒是又一个不错的选择,可以搜索图标icon进行下载,有PNG、ico格式以及不同大小提供下载. Mr.Icons还提供图标icon集打包下载,比如动物图标等. 和之前的介绍几款搜索引擎一样,依然不支持中文.

迅搜全文搜索引擎 XunSearch

- Le - 开源中国社区最新软件
迅搜(xunsearch)是采用 C/C++ 基于 xapian 和 scws 开发的全文搜索引擎解决方案,提供 PHP 语言的开发接口. 支持海量数据高速检索,功能强大,简单易用. 本项目旨在帮助一般开发者针对既有的海量数据,快速而方便地建立自己的全文搜索引擎. 全文检索可以帮助您降低服务器搜索负荷、极大程度的提高搜索速度和用户体验.