【如内容违法或虚假,请联系上述邮件删除】 淘宝搜索排序的目的是辅佐用户快速的找到需求的商品。从技术上来说,就是在用户输入关键词匹配到的商品中,把最契合用户需求的商品排到第一位,其它的依次排在后续相应的位置。为了更好的完成这个目的,算法排序系统基本按三个方面来推进: 一.算法模型 当用户输入关键词中止搜索的时分,系统依据算法模型来给匹配到的每个商品中止实时的计算,并依照分数的大小对商品中止排序。 关于好的算法模型,首先需求思索我们能够有哪些特征因子能够应用。比如在网页搜索中,算法模型基本就是按网页的重要性和相关性给网页计算一个分数,然后中止排序。这里的相关性,和重要性就是网页排序模型中两个重要的因子。细致来说相关性因子是指搜索关键字在文档中呈现的度数,当这个度数越高时,则以为该文档的相关水平越高。重要度因子比如Google的Pagerank,能够了解为一个网页入口超级链接的数目:一个网页被其他网页援用得越多,则该网页就越有价值。特别地,一个网页被越重要的网页所援用,则该网页的重要水平也就越高。 思索淘宝搜索的时分,有些特征因子是很容易能想到的,比如: A.文本的相关性:关键词和商品的匹配,匹配的水平,能否重要词的匹配,匹配词之间的距离等,都可能影响相关性。比如搜索“小鸭子洗衣机”的时分,一个商品的中心词是洗衣机的要比卖洗衣机配件商品的相关性高,小鸭子连在一同的相关性要比“小”和“鸭子”分开时分的相关性高等。文本相关性最基本的计算方式能够参考BM25等。 B.类目热点:淘宝数据的一个重要特质是每个商品都挂靠在类目属性体系下面,每个商品都做了一个很好的分类。在搜索过程中,同一搜索词的大量用户行为数据很容易聚焦到相应的热点类目,比如“手机”的搜索行为会集中到手机类目,而不是配件类目。 C.图片质量:图片是电子商务网站十分重要的一个数据,图片能否精巧吸收人,图片上能否有各种各样的“牛皮癣”,和商品匹配度等都很大水平上影响着用户的点击和置办决策。 D.商质量量:每个商品都有不同的质量,商品的描画真实性,能否物美价廉,受人欢送的水对等。 E.作弊因子:相似于全网搜索有关键词堆砌,link spam,网页重复等等作弊的问题,电子商务搜索也面临同样的问题,比如商品关键词堆砌,重复铺货,重复开店,广告商品引流等等,也有商品特有的问题如价钱作弊,买卖作弊等,需求应用统计剖析或者机器学习来做异常行为,异常规律的发现和辨认并运用到排序中。 F.公平因子:淘宝的商品很丰厚,每个搜索词下都有足够多的商品在竞争,需求在相似质量的状况下让更多的商品和卖家有展示的机遇,而不是像网页搜索一样是一个基本静态的排序,照成商品点击和展示的马太效应。 相似的商品,卖家,买家,搜索词等方面的特征因子有很多,一个排序模型就是把各种各样不同的特征因子组合起来,给出一个最终的关键词到商品的相关性分数。只用其中的一到两个特征因子,曾经能够对商品做一些最基本的排序。假如有更多的特征参与到排序,我们就可能得到一个更好的排序算法。组合的办法能够有简单的人工配置到复杂的相似Learning to Rank等的学习模型。 那么如何权衡不同算法之间的优劣呢? 二.线下评价 算法模型的评价普通分为线下的评价和线上的评价,线下的评价很多都体往常搜索中常用的相关性(Relevance)指标。相关性的定义能够分为狭义相关性和广义相关性两方面,狭义相关性普通指检索结果和用户查询的相关水平。而从广义的层面,相关性能够了解为用户查询的综合称心度。当用户在搜索框输入关键词,到需求取得满足,这之间阅历的过程越顺畅,越便利,搜索相关性就越好。 在淘宝搜索权衡狭义相关性的时分,普通是运用PI(Per Item)测试的办法: A.抽取具有代表性的查询关键词,组成一个范围恰当的关键词汇合 B.针对这个关键词汇合,从模型的产出结果中查询对应的结果,中止人工标注(人工判别为相关性好、中、差等), 对人工评测的结果数据,运用预定义好的评价计算公式比如DCG等,用数值化的办法来评价算法模型的结果和标注的理想结果的接近水平。 应用人工标注数据来计算相关性的分数,来判别模型的好坏;在这个过程中人工不可避免的会有客观的判别,但综合了多人的判别结果还是能够取得一个有统计意义的结果,另一方面标注数据也能够辅佐我们找到一个算法表现不理想的中央,有针对性的提升。 广义的相关性线下评测比较艰难,受人工客观要素的影响更大,普通运用SBS(Side by Side)的评测办法,针对一个关键词,把两个不同算法模型产出的结果同时展示在屏幕上,每次新模型和对比模型展示的位置关系都是随即的,人工判别的时分不知道哪一边的数据是新模型的结果,人工判别那一边的搜索结果好,以最终的统计结果综合来权衡新模型和老模型的搜索表现。 线下评测的办法和指标有很多,不同的搜索引擎会关注不同的指标,比如以前Yahoo的全网搜索引擎比较关注RCFP(Relevance,Coverage,Freshness,Perspective)等,淘宝搜索线下评测时分普通统计DCG和SBS的指标。 线下的评测办法从统计上有一定的指导意义,能从一定水平上辨别模型的好坏,但要真正考证算法模型的好坏,还需求接受真实的流量来考证。 三.线上测试 为了真实考证一个算法模型的好坏,需求有一个系统能提供真实的流量来检验。淘宝搜索完成的BTS(Bucket Testing System)系统就是这样的一个环境,在用户搜索时,由搜索系统依据一定的战略来自动决议用户的分组号(Bucket id),保证自动抽取导入不同分组的流量具有可对比性,然后让不同分组的用户看到的不同算法模型提供的结果。用户在不同模型下的行为将被记载下来,这些行为数据经过数据剖析构成一系列指标,而经过这些指标的比较,最后就构成了不同模型之间孰优孰劣的结论。只需分组的流量抵达一定的水平,数据指标从统计意义上就具有可比性。 不同的BTS系统会关注不同的数据指标,在淘宝搜索,有一些重要的指标是很多算法模型测试的时分关注的: 访问UV成交转化率:来淘宝搜索的UV,最终经过搜索结果成交的用户占比。 IPV-UV转化率:来淘宝搜索的UV,有多少比例的用户点击了搜索结果 CTR:搜索产生的点击占搜索产生的PV的比例 客单价:每个成交用户在淘宝搜索上产生成交的平均价钱 基尼系数:基尼系数是一个经济学名词,考量社会财富的集中度;假如社会财富集中到很少一部分富人手中的时分,基尼系数就会增大,社会的稳定性和可持续展开性就会呈现问题;淘宝搜索借用了这个概念来权衡搜索带给卖家的PV展示,和点击的集中度,在保证用户体验的前提下,给更多的优质或小小而美的卖家展示的机遇。 大部分时分我们都有好几个模型和功用在线上测试,我们用BTS的方式来察看测试的状况,假如提升稳定就逐步开放给一切用户,假如没有提升,我们也能从中取得阅历辅佐我们更好的了解用户。
(关注老榕树网络旗下“网络思维”微信公众号:wlsw360 (每天都有好文章)
本帖如有虚假或违法,请联系邮箱删除,本社区删贴不收任何费用,欢迎举报。老榕树社区属老榕树网络旗下网站,旨在为老榕树用户提供创业咨询、网站建设技术交流、源码下载、提供各种实用工具。如有部分帖子涉及违法、虚假,请你第一时间与社区联系,把需要删除的社区链接提供给我们,我们核实之后,第一时间删除。邮箱:125175998@qq.com |