美团的搜索引擎主要是对店铺的主店名称,分店名称,地址,推荐菜,商品等进行分词,然后进行倒排索引。用户在搜索时会使用不同的Query去找到想要的结果,但用户的query与索引的内容可能存在差异导致无法召回,比如用户在搜索“早餐”,那"一品粥铺"、"永和豆浆"这些肯定出不来,这样会流失掉很多用户需求。那美团是怎么实现的呢?我们今天就来讲讲美团的Query改写算法。
在搜索引擎领域,用户Session是指用户在同一个时间段的连续操作,可以基于用户Session构建Session Embedding,针对同一个Session下,用户会在短时间内输入多个query,如下:
user1: query1,query2,query3……
user2: query1,query2,query3……
通过点击行为和文本相似性研究,我们认为同一个Session下的所有的query应该都是有关系的,都是意图聚焦的。所以结合以上的理论,我们将美团搜索基于用户Session的Query改写实现方式分为两个部分,包含Session Embedding以及语义相似纠正。
【Session Embedding】
针对单用户按照时间进行Session划分,一个用户在不同时间段比如早中晚的需求是不同的,如下:
早:“早餐”、“豆浆”、"油条"等
中午:“快餐”、“真功夫”、“都城”、"餐餐乐"等
下午:“下午茶”、“奶茶”、"一点点"等
晚上:“夜宵”、“麻辣烫”、"水煮"等
从上可发现,不同的时间段用户的需求不同,而