• 候选企业:北京控股集团有限公司 2019-07-14
  • 这部非虚构原作改编美剧,冷静展示“9·11”背后人性纠缠 2019-07-11
  • 基因检测能“解码生命”吗(关注) 2019-07-11
  • 你这个【炒】啊【炒】的,还缺少一个【炒人】,而【炒人气】你听说过没有。。。?[福尔摩斯] 2019-06-27
  • 乌鲁木齐市水磨沟区开建两座立体停车库 2019-06-27
  • 湖州林城:多渠道搭建“双禁”宣传平台 2019-06-25
  • 广西贵港一工棚钩机施工引发爆炸 致3人受伤 2019-06-25
  • 九成AI企业亏损:人工智能遭遇商业落地之痛 2019-06-21
  • 90后基金经理“老鼠仓”:赚482元被没收 再罚10万 2019-06-09
  • 【关注】尤权云南调研:做好民族宗教工作 促进民族团结、宗教和顺 2019-06-09
  • 青海:第五批党外代表人士挂职锻炼工作启动 2019-06-08
  • 《中国人民大学学报》 2019-06-07
  • 还是中国足球队最牛,因为他稳定;中国股市就不一样了,怎么形容呢?唉,还不如中国足球! 2019-06-07
  • 3岁小孩骑童车绊倒老人算交通事故警察这样解释 2019-06-06
  • 京津冀协同 塑造区域发展新格局 2019-06-06
  • 云盟科技微信公众号
    云盟科技微博
    咨询热线:0731-88888283 | 0731-88880833
    湖南领先的微信开发、APP开发、软件研发、互联网+、智慧党建、多用户商城提供商!
    我们的优势: 专业软件开发、系统建设公司,顶尖设计师量身定制 高配置主机,BGP多线,高速访问 领先的企业互联网信息化整体解决方案服务商 48小时快速解决网站问题
    您的位置: 历史上的双色球042 > 新闻动态 > 技术支持 > 查看内容

    " 搜索 ",对于前台操作的用户来说,只是一个极其简单的动作。但对于后台来说,则需要拆成 " 如何才能支撑‘搜索’这个动作?" 以及 " 我们要展示给用户哪些元素?" 两个方面来考虑,才能更好地完成这个动作。

    对于有确定购买目标的用户来说:如何能在海量商品中快速找到心仪商品呢?

    搜索是必不可少的渠道,也在电商平台中占据着举足轻重的地位。

    前端用户只是一个简单的 " 输入 + 搜索 " 的操作,后台就需要拆分出:" 哪些逻辑可以用来支撑?" 以及," 我们应该给用户展示哪些元素?"

    今天,我们就来聊聊与 " 搜索 " 相关的后台流程。

    一、搜索结果页布局

    PC 端的搜索结果页都包含哪些元素?

    参照如下图:

    淘宝 PC 端搜索结果页

    搜索栏:用户输入 query 进行检索,是用户寻找商品的一种快捷入口。从用户输入到展示商品列表之间的检索过程,也是本文重点要讲的。

    筛选项:是商品结果集的属性的聚合,给用户提供在商品结果集内进一步按照各属性维度单独筛选的功能。

    分类树:query 相关的分类,以分类树的形式展现给用户。比如:输入 " 小米 " 既属于 "3C 数码 ",又属于 " 粮油米面 "。

    面包屑:展现当前商品列表所属的分类路径,方便用户跳转至各上级分类,同时可在该分类路径下进一步检索,扩大或缩小检索范围。

    商品列表:query 搜索的结果集,涉及到商品的排序展示,是下文的重点。

    商品推荐:根据用户当前或者历史的检索行为,进行商品推荐。

    二、搜索流程框架

    1. query 分析

    用户输入 query,系统需要对 query 进行预处理,包括:改写纠错、近义词、query 补全。

    比如:用户输入 " 平锅电脑 ",通过分析判断,用户可能想搜索的是 " 苹果电脑 "。

    比如:搜索 " 电褥子 ",也可以匹配 " 电热毯 "。

    比如:最近抖音用户李佳琪以推荐口红走红,在 TB 输入 " 李佳 " 就有对应提示。

    好的产品应当是让用户自行选择,而不是强制改写用户的输入。

    有搜索结果则优先展示搜索结果,同时提示纠错后的词语供用户一键搜索。纠错和补全可以看作是与 query 做模糊匹配,从而返回一个相似的单词集合。

    Apache 开源的全文检索引擎工具包—— lucence,就提供了该功能点的实现。大致思想是:给定一个包含大量正确单词的词典集合,与用户的 query 进行匹配,计算出编辑距离,距离越小则越相近。

    编辑距离:是两个单词之间转化的最少变化次数。

    比如:字符串 "abcd" 变为字符串 "bcde",需要删除 a 再插入 e 编辑距离为 2。

    编辑距离的定义简单,但是关于 " 如何降低算法复杂度?",这个比较偏技术。产品同学了解思想即可,对技术有热情有兴趣的同学也可以研究下 Lucence 内的实现。

    2. 分词

    当用户的搜索词比较长,则需要将 query 切分成一个个单元。

    比如:用户搜索 " 夏季仙女连衣裙 ",如果用整个字符串做匹配的话,召回率就会很低。所以,需要分为 " 夏季 "+" 仙女 "+" 连衣裙 "。

    市面上有开源的分词工具包可以直接使用,比如:IKAnalyzer 中文分词器。

    但是,不同的分词工具运用的分词算法不一。以机械分词算法为例——一种基于字符串匹配的分词方法,它可将待分析的字符串与机器词典中的词条进行匹配,假如在词典中找到某个字符串,则匹配成功。

    除了通用词条,跟产品业务相关的词汇我们也需要尽可能的补充完善进词典。

    这里我们介绍一下机械算法中的 " 正向最大匹配算法 " 和 " 逆向最大匹配算法 "。

    正向最大匹配算法:从左到右逐个组合扫描词与词典中的词条进行匹配,如果匹配成功,则把这个词切分出来,继续匹配剩余的字符串。

    那么如何做到最大匹配呢?

    让我们来看一个例子:

    待匹配词条:string data=" 仙女连衣裙夏季 ", 通过字符串截取函数截取对应需匹配的词条。

    词表:array dict= [ " 仙女 "," 仙女连衣裙 "、" 连衣裙 "、" 夏季 " ] 。

    从 data [ 1 ] 开始扫描,到 data [ 2 ] 的时候,发现:" 仙女 " 在词表中有,但是还不能将该词切分出来。因为 " 仙女 " 是 dict [ 2 ] " 仙女连衣裙 " 的前缀。

    继续扫描发现:data [ 5 ] 在词表中有,但是还不能切分出来。

    扫描 data [ 6 ] 发现:在词表中没有 " 仙女连衣裙夏 ",这个词条也不是任何一个词的前缀,则切分出前面最大的词—— " 仙女连衣裙 "。

    以此类推,最后得到的词组为: [ " 仙女连衣裙 "," 夏季 " ] 。

    逆向最大匹配算法:先定义一个最大分割长度 5,从右往左开始分割。

    以 data [ 5 ] 表示 " 连衣裙夏季 ",data [ 4 ] 表示 " 衣裙夏季 "。

    从 data [ 5 ] 开始扫描,若不在词表中,去掉最左边一个字,得到 data [ 4 ] ,直到发现 data [ 2 ] 在词表中,将词语拆分出来,此时待匹配词条变为 " 仙女连衣裙 "。

    匹配 data [ 5 ] 时,若发现词表中有,则切分出来,分割结束,得到的词组为 [ " 仙女连衣裙 "," 夏季 " ] 。

    3. 索引匹配

    索引:可以理解为是一种数据结构,是基于数据表中的某一列创建的,存储了列值以及和表行的对应关系。

    例子我就不多说了,不清楚的同学可以自行谷歌。如果没有索引,在查询时,需要对数据库表做全表扫描并做文本匹配,这是不现实的。

    创建商品后,系统会将商品名称分词并且建立索引形成索引库,必要时也可以将商品类目、品牌引入索引库中。将用户 query 的分词词组与索引库进行匹配,得到商品候选集。

    4. 商品侯选集

    首先,匹配出 query 相关的类目以及与 query 文本相关的所有商品,以类目 + 文本为最高优先级对商品进行排序,类目和文本相关性一致的则根据权重排序。

    影响权重的因子包含:" 商品近 30 天的销量 "、" 评论平均分 "、" 上线日期 "、" 店铺得分(文描,评论,物流)" 等。

    给所有因子影响权重的比例定义一个系数,需要根据实际业务运营策略制定。

    比如:运营希望多曝光一些服务优质的店铺,则店铺维度的因子权重比例就高。如果运营想多曝光一些爆款商品,则提高商品各项因子的权重比例——截取商品候选集的 topN 做综合排序得到商品结果集。

    如下图:

    商品候选集选取流程

    5. 综合排序

    从商品列表中提取出三部分 :

    同类目人工干预置顶

    售罄或差评商品沉底

    其他部分待排序。

    通过点击率预估模型对待排序商品重排序,并区分同类和其他类目。

    影响点击率预估模型的成分有:

    店铺因素(店铺近期订单量,评分,物流,PV,UV)

    商品因素(销量、价格,与同类商品价格差)

    用户本身特征(近期购买,浏览,收藏)

    实时特征(当天商品被浏览,加购等)

    季节因子

    对同类目的商品优先提取品牌和商品词符合的做前置(比如搜索小米插座   品牌:小米,商品词:插座)。

    最后合并各个分段结果如下图:

    综合排序流程

    以上梳理了搜索流程中的一些关键节点,而如何提高搜索引擎的用户体验呢?

    核心和难点在于:理解用户,进而高效的帮助用户找到目标商品。

    这就离不开运用各种机器学习和自然语言处理技术进行语义分析,不断尝试各种搜索引擎排序算法帮助用户找到更优质的商品。

    通常大型电商平台的搜索团队都是偏技术配置,业务型的产品虽然不需要深度学习算法与数据模型相关的知识,但是基本概念和思想最还好是要掌握。

    以上是我的分享,欢迎交流。

    本文由 @雷大胖子 原创发布于人人都是产品经理,未经许可,禁止转载

    题图来自   Unsplash,基于 CC0 协议

    关于我们

    云盟科技专注互联网领域的手机APP研发、软件系统研发、IT技术服务等,是一家领先于互联网的企业信息化整体解决方案服务商。公司的服务宗旨是:"用良心做好服务,用实力做好质量!"

    联系我们

    • 地址: 湖南长沙创谷国家广告产业园A3栋13楼(全层)
    • 电话: 0731-88888283 | 0731-88880833
    • Email: [email protected]
    扫描二维码 关注我们官方微信 解决建站问题
    咨询热线

    0731-88888283
    0731-88880833

    周一至周六9:00-18:00

    历史上的双色球042

    Copyright ? 2008-2017 湖南云盟科技有限公司 版权所有    | 湘ICP备17002345号

    云盟科技法律顾问:谢律师    ?

  • 候选企业:北京控股集团有限公司 2019-07-14
  • 这部非虚构原作改编美剧,冷静展示“9·11”背后人性纠缠 2019-07-11
  • 基因检测能“解码生命”吗(关注) 2019-07-11
  • 你这个【炒】啊【炒】的,还缺少一个【炒人】,而【炒人气】你听说过没有。。。?[福尔摩斯] 2019-06-27
  • 乌鲁木齐市水磨沟区开建两座立体停车库 2019-06-27
  • 湖州林城:多渠道搭建“双禁”宣传平台 2019-06-25
  • 广西贵港一工棚钩机施工引发爆炸 致3人受伤 2019-06-25
  • 九成AI企业亏损:人工智能遭遇商业落地之痛 2019-06-21
  • 90后基金经理“老鼠仓”:赚482元被没收 再罚10万 2019-06-09
  • 【关注】尤权云南调研:做好民族宗教工作 促进民族团结、宗教和顺 2019-06-09
  • 青海:第五批党外代表人士挂职锻炼工作启动 2019-06-08
  • 《中国人民大学学报》 2019-06-07
  • 还是中国足球队最牛,因为他稳定;中国股市就不一样了,怎么形容呢?唉,还不如中国足球! 2019-06-07
  • 3岁小孩骑童车绊倒老人算交通事故警察这样解释 2019-06-06
  • 京津冀协同 塑造区域发展新格局 2019-06-06
  • 阿拉维斯vs巴利亚多 腾讯麻将开房间 安切洛蒂那不勒斯 王者荣耀防沉迷怎么解除 锁子甲登陆 台湾麻将十三幺 勒沃库森俱乐部 网球视频 羽毛球单打规则 海龙王捕鱼机