浅浅谈搜索与推荐引擎

非专业人士漫谈,欢迎debug,多交流。

最近在查看相关阅读,觉得搜索和推荐环绕在我们身边的点点滴滴,很多相关内容很值得跟大家分享。

浅谈搜索&推荐。本次从搜索推荐的区别开始,然后介绍搜索和推荐的特性,以及搜索和推荐的流程是什么,最后介绍衡量两者结果好坏的指标,总结一下我们可能更关注的非技术部分。

搜索&推荐的区别

主动或被动:搜索引擎和推荐系统的选择。

搜索和推荐都是获取信息的方式,搜索是一个非常主动的行为,用户需求相对比较明确,输入你想要找的内容(在搜索框内输入搜索词,俗称query),搜索引擎快速给你最好的结果。而推荐系统,很类似你跟朋友的闲聊,有什么好吃的馆子吗?推荐系统快速给你推荐你想要的信息。

论两者区别的话,搜索是一个非常主动的行为且用户需求十分明确。而推荐系统的信息是相对被动的,且需求会更为模糊且不明确,且推荐有更强的个性化特点,基于用户本身属性来说。

但是其实两者之间的界限并不是那么的明显,大多数的用户搜索的时候并不会用很精准的言辞来表达自己的需求,文字又同时本身具备多种含义,因此像百度,谷歌之类的软中,搜索件往往会与推荐结合起来,或者结合用户过往的经历来揣测使用搜索行为的具体目的。

更详细可见网址:https://blog.csdn.net/cserchen/article/details/50422553

搜索&推荐的特性

搜索引擎是具备极强的马太效应的。绝大多数的用户点击都集中在顶部的少量结果上。 

而如同众所周知的亚马逊长尾效应,通过对相似用户进行兴趣充分的挖掘,从而给相似用户推荐用户所偏好。因为长尾可能对于用户是陌生的,很难出现在搜索词的范围内。结合个性化推荐,可能帮助长尾这批找到合适自己的用户。当然这个也得建立在技术强和数据充足的前提,例如亚马逊技术是出了名的强。


搜索的流程

搜索的流程用google的搜索为例

1.在互联中发现、搜集网页信息;

2.对信息进行提取和组织建立索引库;

3.再由检索器根据用户输入的查询关字,在索引库中快速检出文档,进行文档与查询的相关度评价,对将要输出的结果进行排序,并将查询结果返回给用户。(倒排索引是搜索引擎实现毫秒级别检索非常关键的一个环节)

为了更具象化得到现在互联网企业如何做搜索,分别问了百度和京东有过相关经验的同学。

百度的同学说首先说到最初级的是文本关联,然后就是语义识别、相关性、权威性、时效性、个性化等多重考虑了。这个应该大多搜索都是这么做的。(该同学补充道这个是11~14的发生的事情,可能事情有所改变)

关于query具体是如何索引联系起来,据京东的某位不愿意透露姓名的群众说到,是做的mapping的映射,可能是电商运营会更为简单和场景更加固定,因此是简单的文本匹配,其映射关系的索引库是人工选定。

推荐的系统

推荐这边工作原理


推荐引擎所需要的数据源包括:

这里先将推荐引擎看作黑盒,它接受的输入是推荐的数据源。

要推荐物品或内容的元数据,例如关键字,基因描述等;

系统用户的基本信息,例如性别,年龄等 用户对物品或者信息的偏好,根据应用本身的不同,可能包括用户对物品的评分,用户查看物品的记录,用户的购买记录等。其实这些用户的偏好信息可以分为两类:

显式的用户反馈:这类是用户在网站上自然浏览或者使用网站以外,显式的提供反馈信息,例如用户对物品的评分,或者对物品的评论。

隐式的用户反馈:这类是用户在使用网站是产生的数据,隐式的反应了用户对物品的喜好,例如用户购买了某物品,用户查看了某物品的信息等等。

显式的用户反馈能准确的反应用户对物品的真实喜好,但需要用户付出额外的代价,而隐式的用户行为,通过一些分析和处理,也能反映用户的喜好,只是数据不是很精确,有些行为的分析存在较大的噪音。但只要选择正确的行为特征,隐式的用户反馈也能得到很好的效果,只是行为特征的选择可能在不同的应用中有很大的不同,例如在电子商务的网站上,购买行为其实就是一个能很好表现用户喜好的隐式反馈。

推荐方式模型的建立方式:

1.基于物品和用户本身,,这种推荐引擎将每个用户和每个物品都当作独立的实体,预测每个用户对于每个物品的喜好程度,这些信息往往是用一个二维矩阵描述的。

2.基于关联规则的推荐:关联规则的挖掘已经是数据挖掘中的一个经典的问题,主要是挖掘一些数据的依赖关系,典型的场景就是“购物篮问题”,通过关联规则的挖掘,我们可以找到哪些物品经常被同时购买,或者用户购买了一些物品后通常会购买哪些其他的物品,当我们挖掘出这些关联规则之后,我们可以基于这些规则给用户进行推荐。

3.基于模型的推荐:这是一个典型的机器学习的问题,可以将已有的用户喜好信息作为训练样本,训练出一个预测用户喜好的模型,这样以后用户在进入系统,可以基于此模型计算推荐。这种方法的问题在于如何将用户实时或者近期的喜好信息反馈给训练好的模型,从而提高推荐的准确度。

推荐引擎根据不同的推荐机制可能用到数据源中的一部分,然后根据这些数据,分析出一定的规则或者直接对用户对其他物品的喜好进行预测计算。这样推荐引擎可以在用户进入的时候给他推荐他可能感兴趣的物品。

更详细的信息见https://www.ibm.com/developerworks/cn/web/1103_zhaoct_recommstudy1/index.html

如何评价一个好的推荐&搜索

衡量推荐系统是否足够好,往往要依据是否能够让用户停留更多的时间。对用户兴趣的挖掘越深入,越“懂”用户,那么推荐的成功率越高,用户也越乐意留在产品里。

推荐系统常用十个评测指标

1 用户满意度 用户作为推荐系统的重要参与者,其满意度是评测推荐系统的最重要指标。用户满意度没有办法通过离线计算,只能通过用户调查(调查问卷)和在线实验获得(统计购买率、点击率、用户停留时间、转化率等)。

2 预测准确度 预测准确度度量一个推荐系统或者推荐算法预测用户行为的能力,主要通过离线计算获得。根据推荐系统的研究方向,预测准确度指标主要分为评分预测和topN推荐。对于那些基于物品评分的网站(如电影评分),一般通过评分预测来度量推荐系统的预测准确度,具体计算方式有均方根误差(RMSE)和平均绝对误差(MAE)两种。对于那些需要提供给用户一个个性化的推荐列表的推荐,一般通过准确率和召回率来衡量。

3 覆盖率 覆盖率描述一个推荐系统对物品长尾的发掘能力。覆盖率有不同的定义方法,最简单的定义为推荐系统能够推荐出来的物品占总物品集合的比例。更为详细的两个指标是信息熵和基尼系数。

4 多样性 多样性描述了推荐列表中物品两两之间的不相似性。

5 新颖性 新颖的推荐是指给用户推荐那些他们以前没有听说过的物品。在一个网站实现新颖性的最简单办法是,把那些用户之前在网站中对其有过行为的物品从推荐列表中过滤掉。

6 惊喜度 惊喜度和新颖性的区别是,用户对于推荐的未曾见过的物品感到满意。

7 信任度 对于相同的推荐,我们总是倾向于我们信任的那个人的建议。因此,一个好的推荐系统应该以让用户信任的方式推荐给用户,这样更能让用户产生购买欲。所以,一般的推荐系统中在给出推荐物品的同时还会显示推荐的理由,这种做法就是为了增加用户的信任度。

8 实时性 推荐系统的实时性包括两个方面:一是推荐系统需要实时地更新推荐列表来满足用户新的行为变化;二是推荐系统需要把新加入系统的物品推荐给用户(物品冷启动问题)。

9 健壮性 健壮性衡量一个推荐系统抗击作弊的能力。在实际系统中,提高系统的健壮性,除了选择健壮性高的算法,还有:设计推荐系统时尽量使用代价比较高的用户行为;在使用数据前,进行攻击检测,从而对数据进行清洗。

10 商业目标 根据自己的盈利模式设计不同的商业目标。

更详细内容:https://blog.csdn.net/jingyi130705008/article/details/80488054

搜索评估体系

而衡量搜索的优缺点,可以参考google自己的搜索评估体系。

Google对某个关键字对网页质量的评估分类:

Vital-关键: 这是网页质量的最高标准。Vital的网页通常是一个公司或者个人的正式网站。比如搜索“IBM”,www.ibm.com就是 vital网页。

Useful-有用: 这是第二高标准的网页。Useful的网页指的是正确回答查询问题的网页。本人认为,这也是为什么wikipedia在许多搜索中,总是排在很前的原因。

Relevant-相关:这是中位的评分。Relevant给与那些提供部分相关信息,但信息不够综合全面,也不是权威的网站的网页。我觉得我的博客上的大多数网也属于这个类别。

Not Relevant-非相关: 这是指那些网页基本上没有什么用,但是与查询的关键字还有一点联系。比如网页内容已经过时,只适合很小的一个地区等等。

Off-Topic-脱离主题: 这是指与搜索完全不相关的网页。比如搜索”hot dog”, 结果却是dog house。垃圾网页分类(Spam Labels):

Not Spam(非垃圾网址):Not Spam标签给与那些没有采用欺骗性的网页设计技术的网页。

Maybe Spam(可能是垃圾网址):这个标签给与那个网页可能使Spammy,但不是100%确定的网页。

Spam(垃圾网址):这个标签授予那些违反Google webmaster guidelines的网页。

更详细的信息见一下网址 Search Quality Rating Program https://static.googleusercontent.com/media/www.google. com/de//insidesearch/howsearchworks/assets/searchqualityevaluatorguidelines.pdf

欢迎留言讨论。

本文参考资源: 1.https://static.googleusercontent.com/media/www.google. com/de//insidesearch/howsearchworks/assets/searchqualityevaluatorguidelines.pdf2.https://www.ibm.com/developerworks/cn/web/1103_zhaoct_recommstudy1/index.html3.https://blog.csdn.net/cserchen/article/details/50422553 4.https://www.zhihu.com/question/211374525.https://zhuanlan.zhihu.com/p/30910760 *6.https://blog.csdn.net/jingyi130705008/article/details/80488054 *

扩展阅读: https://www.practicalecommerce.com/Amazon-Does-Not-Do-Long-tail-Why-Should-You 辩证看待长尾这个事情:Amazon Doesn’t Do Long-tail. Why Should You?


最后打一下我的公众号(ง •̀_•́)ง。

希望我能够更了解你,你也更了解我

公众号搜索: Machinator_chenchen,阿Bing有话说

你可能感兴趣的:(浅浅谈搜索与推荐引擎)