Query auto-completion (QAC) aims at suggesting plausible completions for a given query prefix. Traditionally, QAC systems have leveraged tries curated from historical query logs to suggest most popular completions. In this context, there are two specific scenarios that are difficult to handle for any QAC system: short prefixes (which are inherently ambiguous) and unseen prefixes. Recently, personalized Natural Language Generation (NLG) models have been proposed to leverage previous session queries as context for addressing these two challenges. However, such NLG models suffer from two drawbacks: (1) some of the previous session queries could be noisy and irrelevant to the user intent for the current prefix, and (2) NLG models cannot directly incorporate historical query popularity. This motivates us to propose a novel NLG model for QAC, Trie-NLG, which jointly leverages popularity signals from trie and personalization signals from previous session queries. We train the Trie-NLG model by augmenting the prefix with rich context comprising of recent session queries and top trie completions. This simple modeling approach overcomes the limitations of trie-based and NLG-based approaches and leads to state-of-the-art performance. We evaluate the Trie-NLG model using two large QAC datasets. On average, our model achieves huge ~57% and ~14% boost in MRR over the popular trie-based lookup and the strong BART-based baseline methods, respectively. We make our code publicly available.
翻译:查询自动补全(QAC)旨在为给定查询前缀提供合理的补全建议。传统QAC系统利用从历史查询日志构建的Trie树来推荐最常见的补全结果。在此背景下,存在两类任何QAC系统都难以处理的特定场景:短前缀(本质具有歧义性)和未见前缀。近年来,个性化自然语言生成(NLG)模型被提出,通过利用先前面临的会话查询作为上下文来应对这两项挑战。然而,此类NLG模型存在两个缺陷:(1)部分先前的会话查询可能包含噪音,与当前前缀的用户意图无关;(2)NLG模型无法直接整合历史查询的流行度信息。这启发我们提出一种面向QAC的新型NLG模型——Trie-NLG,该模型联合利用Trie结构中的流行度信号与先前面临会话中的个性化信号。我们通过用包含近期会话查询和Trie顶级补全结果的丰富上下文增强前缀来训练Trie-NLG模型。这种简洁的建模方法克服了基于Trie和基于NLG方法的局限性,实现了最优性能。我们在两个大型QAC数据集上评估Trie-NLG模型。平均而言,我们的模型在MRR指标上相较于流行的基于Trie的查找方法和强基线BART方法分别实现了约57%和14%的显著提升。我们已公开代码。