白酒|电商搜索系统精讲系列:业务分析及召回模型( 四 )


大家小时候都用过新华字典,里面罗列了中华文明的所有汉字,你写的汉字对与错,也都是以新华字典为参照物来比对,同样的道理,以此类推,电商平台也有词典,这个词典里面涵盖了很多的名次、动词、形容词、状态词、还有商品、评价等信息,当然这些信息也都是源自于业务系统,所谓的业务系统就是用户的行为数据、商品数据、评价数据、分享数据等等,计算机通过大数据算法进行词典挖掘,形成动态的词典库,更好的赋能于电商搜索业务,关于词典业务本篇不做过多介绍,有兴趣可私下交流;
好了,正是因为词典库的存在,当用户输入“简议床”的时候,在电商平台自然会分析比对这个“简议床”三个汉字,包括对中文汉字的理解、词典的匹配、拼音的匹配、简拼的匹配,最后决策出这个关键词是否存在可疑的错别字,如果存在则纠正错别字后按照正确的关键词进行搜索,召回商品;
除此之外还有另外一种模型——同义词模型
首先我们接着看一副截图:
白酒|电商搜索系统精讲系列:业务分析及召回模型
文章插图
用户输入了“苹果”,搜索结果里面为什么会召回了iphone12 Pro Max的商品?(假设我们的商品信息里面没有苹果两个汉字)
这个时候就要用到一个模型——同义词模型
白酒|电商搜索系统精讲系列:业务分析及召回模型
文章插图
在实际搜索场景中,会经常出现包含同义词的表达。例如,我们希望用户在搜索苹果的同时,也能找出和iphone有关的信息;
在现实生活中,相同语义的表述词汇往往有很多,而用户在输入关键字查询的时候很难通过一条关键词中将它们全部体现,所以识别和提供同义词检索显然可以获得更高的商品召回率。
同义词功能主要是对查询的关键词进行同义扩展,扩大召回和查询关键词同义的词组。
举例:“包菜” 存在一个同义词是“圆白菜”,在没有使用同义词功能时,搜索“包菜”时是无法召回商品中仅包含“圆白菜”的商品,如果使用同义词功能,则能召回,就像上文中的截图,如果同义词功能被使用了,那么输入苹果两个汉字就能召回iphone的商品;
说完了纠错模型、同义词模型,再看停止词模型
白酒|电商搜索系统精讲系列:业务分析及召回模型
文章插图
所谓停止词模型一般应用在查询关键词里包含语气助词、标点符号等特殊搜索场景;
举例:用户A在淘宝APP搜素框中输入“你好!今晚一起吃饭好吗?”,那么停止词模型则过滤掉感叹号、问好还有个语气助词“吗”,直接参与召回的关键词变为“你好今晚一起吃饭好吗”,符合条件的商品则被召回;
大家思考一个问题,为什么要设置这个模型?
顾名思义,用户在电商平台输入关键词的时候难免会因误操作输入如空格、标点等等特殊词,如果这些词也要参与商品的召回的话,势必会对搜索引擎系统性能和资源的浪费(原因呢,你们自己思考),另外一个也是能将输入的关键词标准化,有利于分析器模型的抽象;
我刚刚讲了停止词模型一般应用在查询关键词里包含语气助词、标点符号等特殊搜索场景,那么这些语气助词和标点符号从哪来?
顾名思义,依然是词典库中来,当然了,话又说回来,词典库也不是万能的,也都是靠计算机采集和人工录入,那么当用户输入了一个特别另类的字符的时候,这个时候会参与召回么,答案是当然会,不过召回的结果一定会收到影响,所以计算机大数据系统要具备实时捕捉用户的各种行为数据,分析、加工后采集到词典库,当然也可进行人工干预的手段来避免另类字符参与召回,所以这个时候另外一个功能也就推导出来了——停止词人工干预词典库(包括上文提到的纠错模型、同义词模型都有人工干预的场景);

推荐阅读