码迷,mamicode.com
首页 > 其他好文 > 详细

玩转游戏搜索

时间:2016-02-29 12:29:42      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:

年前总结了游戏搜索做的事情,现在把slide放出来当做这个月的作业。

1.总纲

技术分享

2.架构

架构是骨骼,算法策略是灵魂,所以同等重要。一个正常的系统都可以分为三部分:线上系统接收用户请求,监控系统实时发现异常和报警,离线系统分析挖掘数据进而反馈给线上。

技术分享

2.1监控和报表

监控常见的是QPS和服务延迟,还能包括业务关注点。

技术分享

2.2 离线JOB

离线系统用于挖掘用户行为进而反馈给线上,提升策略效果。常用的是日志收集、分析提取、算法计算。本文用facebook的scribe收集日志,用hdfs存储,使用mapreduce/hive/spark进行日志的提取和分析,最终结果由线上系统加载使用。注意点是原始日志的分析最好是以天为单位进行,不要一个月的去提取,一是数据量大,二是一天的日志有问题容易导致整个job失败。

技术分享

2.3 两个细节

线上系统设计到query的分析,是流式的多模块进行。多模树用于query中的多字符串提取,很有效果。

技术分享

技术分享

3.策略

技术分享

3.1 Query理解

query理解分为清理、改写、查询分类、修饰词提取、query扩展几个部分。其中query扩展包括同义词扩展、拼音/单字扩展、相似查询扩展。

技术分享技术分享技术分享

3.2 相似查询挖掘

从用户的查询日志中挖掘出相似查询,同一个用户在一段时间的查询词认为是有关联的,通过共现度、内容相似度来确定为相似查询。用于对原始query进行扩展。

技术分享技术分享

3.3 搜索排序

排序以文本相关度为主,辅助以下载指标/用户评价指标等。

技术分享技术分享

3.4 多样搜索

不同的query往往有不同的查询目的,有的是精确查找,有的是模糊查询,有的是查询相关公司,所以在query理解部分我们都要识别出来,进而针对不同的目的构造不同的查询排序逻辑。

技术分享

3.5 结果调整

查询结果返回后,会进行更细节的调序,如过去该query下的下载历史情况、运营的干预、相似游戏的补充等。

技术分享技术分享技术分享

3.6 suggest

suggest承担着引导用户正确输入的功能,可以让用户的输入更规范,避免无效输入。

技术分享

4.总结

最终游戏搜索系统形成一个生态,用户和用户,用户和游戏,游戏和游戏都互相影响,互相促进。本文没有涉及到针对用户自身历史的个性化搜索,根据用户喜好来展示搜索结果。另外,实现上我们根据query的下载历史,对相似查询和相似游戏进行了反馈,用下载历史调序相似查询和相似游戏。

技术分享

 

玩转游戏搜索

标签:

原文地址:http://www.cnblogs.com/whuqin/p/5226799.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!