Query auto-completion (QAC) is a fundamental feature in search engines where the task is to suggest plausible completions of a prefix typed in the search bar. Previous queries in the user session can provide useful context for the user's intent and can be leveraged to suggest auto-completions that are more relevant while adhering to the user's prefix. Such session-aware QACs can be generated by recent sequence-to-sequence deep learning models; however, these generative approaches often do not meet the stringent latency requirements of responding to each user keystroke. Moreover, these generative approaches pose the risk of showing nonsensical queries. In this paper, we provide a solution to this problem: we take the novel approach of modeling session-aware QAC as an eXtreme Multi-Label Ranking (XMR) problem where the input is the previous query in the session and the user's current prefix, while the output space is the set of tens of millions of queries entered by users in the recent past. We adapt a popular XMR algorithm for this purpose by proposing several modifications to the key steps in the algorithm. The proposed modifications yield a 3.9x improvement in terms of Mean Reciprocal Rank (MRR) over the baseline XMR approach on a public search logs dataset. We are able to maintain an inference latency of less than 10 ms while still using session context. When compared against baseline models of acceptable latency, we observed a 33% improvement in MRR for short prefixes of up to 3 characters. Moreover, our model yielded a statistically significant improvement of 2.81% over a production QAC system in terms of suggestion acceptance rate, when deployed on the search bar of an online shopping store as part of an A/B test.
翻译:查询自动完成( QAC) 是搜索引擎的一个基本特征 。 搜索引擎的任务在于显示搜索栏中前缀键的正确完成值。 用户会话中的先前询问可以提供用户意图的有用背景, 并可用于提出在遵守用户前缀的同时更为相关的自动完成值。 这种会话觉知QAC 可以通过最近的从顺序到顺序的深层学习模型生成; 然而, 这些归正方法往往无法满足对每个用户键键进行响应的严格读取要求 。 此外, 这些归正方法有显示非感知查询的风险。 在本文中,我们提供了解决这一问题的解决方案: 我们采用新颖的模拟会话- QAC 模式, 其输入是届会前的上一次查询, 用户的从当前前缀到当前的前缀, 产出空间是用户最近输入的数以百万计次的查询的改进。 我们用XMRMR的直线程搜索比 数据序列的排序方法做了一次大幅修改 。 我们用XMRRR的直序排序方法对这个目标进行了一些关键测试 。