相关query挖掘

1.何为相关query

我通常也把相关query称为相似query,搜索日志中一个用户在短时间内的一系列搜索词被称为相关query。相关就是两个query间有一定的关系,反映了用户在当时的需求。本文就以应用搜索为背景来介绍相关query。

2.有什么作用

相关query的作用就很多了:

  • 错词纠正:输入一个错误的词找不到应用,然后输入一个正确的词
  • 同名互换:和错词纠正是一个场景,如中英文名称(cytus和音乐世界),别名(艾达的梦和纪念碑谷)等
  • 同义词:对战和对打;台球和桌球等
  • 同类型应用:如微信和QQ,美团和糯米等
  • 内容补充:如ttkp和天天酷跑,土和土豆,天之痕和轩辕剑等

当用户输入一个query时,后台加入其相关query一起搜索,就可以更好的理解用户,返回更多、更准确的结果,减少搜索次数,提高下载次数,提高转化率。

3.如何挖掘

候选数据

分析每天的用户日志,从搜索日志中提取短时间(15分钟或30分钟)内的搜索词组成候选相关query对<a, b>。最后分析的日志天数越多越好,数据越多挖掘出的相关query对越多,结果也越准确。

特征抽取

  • 共现相似度:条件概率的变体,增加了对大query的惩罚(出现频率比较高的top query,如微信,大query和其他query共现的可能性更大)

              

  • 编辑距离:反映两个query词在内容上的相似程度,如天天赛车和天天飞车,它们都有天天,有一定的加分贡献,但应该以共现相似度为

模型训练

  • 人工标注样本数据,指出一定量的query对(query pair)是相关query或者不是
  • 确定候选机器学习算法,如逻辑回归、SVM或者决策树等,用样本数据训练模型
  • 用训练好的模型预测原始数据,根据实际效果最终确定一个算法

补招漏选数据

最终结果的多少的主要影响因素有用户搜索日志间隔、日志天数。具体实现过程中发现和大query相关的小众query招不回来,因为其本身搜索次数太多。但我们需要大query来为小query导流。

<纪念碑谷(44736次),天空迷宫(200次)>,共现次数是89次,相似度是0.004,相似度太低,导致纪念碑谷无法召回天空迷宫。

<天空迷宫,纪念碑谷>其相似度是0.069,被认为是相关query。

所以我们会反向找一次,对于相关query对<天空迷宫,纪念碑谷>会判断下其反向对<纪念碑谷,天空迷宫>的情况,如果发现纪念碑谷是大query(超过一定次数如1w)且其自身相似度超过一定域值(如0.003),我们也会把<纪念碑谷,天空迷宫>给招回来。

线上反馈

在线系统使用离线数据(相关查询对)进行了线上搜索结果的补充或召回,将相关query对应的应用展示给了用户,用户会选择下载与不下载。我们就获得这些数据来重新训练算法模型。

queryA的下载列表<appIds>

从appIds中找到queryA的相关queryB召回的应用:app应用名与queryB的编辑距离超过一定值,就认为该app是由queryB召回

如果queryB召回的应用下载数超过一定域值,我们就认为这是一个正向case,queryB是queryA的相关query

如果queryB召回的应用没有下载或下载小于一定数目,就认为是一个负向case,queryB不是queryA的相关query

这样我们就可以通过线上展示结果获取一份真实的标注数据,用该数据去重新训练算法,获得一个新模型来重新预测原始数据。

线上反馈的作用就是找到真实标注数据,替换旧样本获得新模型,从而不断提高模型的准确度

持久化good case,避免回退

最初<queryA, queryB>是相关query对,每当用户搜索queryA时,就会出来queryB的结果。时间久了,用户输入queryA后就不会再输入queryB,那就导致可能在某段时间后挖掘不出该相似对,那queryA下就无法显示queryB对应的应用;用户又会渐渐的在输入queryA后再次输入queryB才能获得想要的结果。这样就导致效果起伏,我们需要避免这种情况。

所以对每次线上反馈中的正向case,我们都做持久化,以白名单的形式强制加到最终的相关query中。以此来积累正向case,减少效果回退的情况。

4.整体流程

到现在为止,我们就拥有了一个动态、完整、可持续的离线在线相互反馈促进的系统了。

时间: 2024-07-31 05:18:47

相关query挖掘的相关文章

查询改写(Query Rewrite)方法总结

为何需要Query改写 Query分析是搜索引擎的一个重要模块,对搜索结果的覆盖率和相关性至关重要.搜索引擎的检索过程包含了两个重要的阶段:匹配和排序.匹配也叫召回,表示根据用户的查询条件,尽可能多地匹配出主题相关的文档,尽可能少地匹配出主题不相关的文档.排序是指对召回阶段返回的文档集合进行合理的排序,把最满足用户意图的结果尽可能排到前面.Query分析的主要目标是为匹配过程提供必要的知识和信息,同时兼顾后面的排序过程,为排序模型提供原始特征. Query改写是Query分析的一个重要组成部分.

关键词的挖掘与部署

定位网站: 网站提供哪些内容(主题是什么)? 网站主要吸引哪些人来访问? 网站如何盈利? 挖掘关键词的方法: 手工挖掘关键词: 1.使用下拉框.相关搜索挖掘: 2.分析前三页网站关键词: 3.需求类的关键词可以到淘宝.京东挖掘: 使用工具挖掘: 金花.词库.爱站.战神.追词 使用脑袋: 以用户的角度,发挥头脑风暴: 关键词的筛选: 剔除没用或者不合理的关键词 对关键词进行归类: 品牌+核心+流量 效能关键词(效果比较好,竞争比较小)选择: 1.关键词效能=搜索量/相关页面: 2.关键词的商业价值

灵玖LJParser系统大数据语义挖掘的平台

大数据挖掘中最重要的是决定挖掘什么样的知识,这是在数据的收集.处理.挖掘的整个过程中都需要认真考虑的问题. 大数据技术涉及存储.搜索.传输.计算.挖掘等多方面.大数据挖掘旨在从大数据中挖掘出未知且有用的知识.通过挖掘,大数据的价值才得以体现,所以挖掘对大数据有着举足轻重的意义. 大数据挖掘有两个基本问题,即"挖什么(what to mine)"与"怎么挖(how to mine)".前者决定从数据中抽取什么样的信息,统计什么样的规律,后者决定怎样具体进行抽取与统计.

CIKM Competition数据挖掘竞赛夺冠算法陈运文

CIKM Competition数据挖掘竞赛夺冠算法陈运文 背景 CIKM Cup(或者称为CIKM Competition)是ACM CIKM举办的国际数据挖掘竞赛的名称.CIKM全称是International Conference on Information and Knowledge Management,属于信息检索和数据挖掘领域的国际著名学术会议,由ACM SIGIR分会(ACM Special Interest Group on Information Retrieval)主办.

再见北理工:忆北京研究生的编程时光

两年前,我本科毕业写了这样一篇文章:< 回忆自己的大学四年得与失 >,感慨了自己在北理软院四年的所得所失:两年后,我离开了帝都,回到了贵州家乡,准备开启一段新的教师生涯,在此也写一篇文章纪念下吧! 还是那句话:这篇文章是写给自己的,希望很多年之后,回想起自己北京的六年时光,也是美好的回忆.文章可能有点长,但希望大家像读小说一样耐心品读,看完之后也能温馨一笑或唏嘘摇头,闭上眼睛想想你自己的大学生活吧,很享受的! 同时,这也是自己的第200篇原创文章,三年半的时间,说长不长,说短不短,这期间不论是

搜索广告与广告网络Demand技术-搜索广告

搜索广告 搜索广告就是一个典型的Ad Network,但是搜索广告非常重要,它的收入非常高,所以它有其独特之处,复杂度也比展示广告要高.它与展示广告在点击率预测,检索部分差不多,它的特点:1. 用户定向标签f(u):远远弱于上下文影响,一般可以忽略,但是因为搜索广告中query的信息已经很强了,用query已经足够了.2. Sesion内的短时用户搜索行为作用很重要,3. 上下文定向标签f(c):关键词. 搜索广告是一种很典型的位置竞价模式,而展示广告一般只有一个位置,但偶尔也有多位置拍卖的时候

Apriori算法

APRIORI Apriori算法是一种挖掘关联规则的频繁项集算法,其核心思想是通过候选集生成和情节的向下封闭检测两个阶段来挖掘频繁项集.而且算法已经被广泛的应用到商业.网络安全等各个领域. Apriori算法 是一种最有影响的挖掘布尔关联规则频繁项集的算法.其核心是基于两阶段频集思想的递推算法.该关联规则在分类上属于单维.单层.布尔关联规则.在这里,所有支持度大于最小支持度的项集称为频繁项集,简称频集. 算法思想 该算法的基本思想[2]  是:首先找出所有的频集,这些项集出现的频繁性至少和预定

solrj的基本使用和Facet,Group分组

########################################################################################### Group 和 Facet的区别就是: 查询条件是跟group相关的,返回的查询结果也是跟group相关的,比如说你想要查询的结果在每个分组中都有数据采集,那么就最好用group,这样出来的数据跟group也是相关的,但是有个问题,比如说你要查询group每个采集1个,ok那么你查询的时候的条件rows就无效了(也

如何系统地学习数据挖掘

数据挖掘:What?Why?How?这个问题思考了很久,作为过来人谈一谈,建议先看下以前的一些回答. 什么是数据挖掘? 怎么培养数据分析的能力? 如何成为一名数据科学家? 磨刀不误砍柴工.在学习数据挖掘之前应该明白几点: 数据挖掘目前在中国的尚未流行开,犹如屠龙之技. 数据初期的准备通常占整个数据挖掘项目工作量的70%左右. 数据挖掘本身融合了统计学.数据库和机器学习等学科,并不是新的技术. 数据挖掘技术更适合业务人员学习(相比技术人员学习业务来的更高效) 数据挖掘适用于传统的BI(报表.OLA