科技内幕——多语言与语义搜索的解决方案

贵团队目前面临的最大技术挑战是什么?
大约一年前,Roblox的搜索系统还采用词汇匹配机制来响应用户查询,这意味着它仅关注文本匹配。但搜索行为正在迅速变化,这种方法已不足以向用户提供相关内容。与此同时,部分Roblox用户在查询时可能会出现拼写错误。因此,我们必须能够推荐符合用户真实意图的搜索结果,这意味着需要理解用户的搜索意图。
搜索领域的另一个主要问题是跨语言训练数据的匮乏。在引入语义搜索之前,我们的第一步是利用 Roblox 系统内的机器翻译功能。我们对翻译结果进行索引,然后进行文本匹配。但这不足以确保始终向用户展示相关内容。因此,我们采用了名为“师生模型”的先进机器学习技术:教师模型从特定场景中最大的语境来源中学习。
英语是 Roblox 上使用最广泛的语言,因此我们尽可能多地从英语中学习语义关系(即“教师”模型),然后将其扩展到其他语言,提炼为“学生”模型。这有助于我们解决某些语言数据匮乏的问题。这一举措使日本地区通过搜索产生的游戏播放量增长了 15%。
我们近期致力于更好地支持“đua xe(赛车)”这类目录查询。但用户更常提交长句式的自由查询,例如:“嘿,我记得玩过一款游戏,里面有一条龙和一个女孩在战斗。你能帮我找到那款游戏吗?”这带来了更多技术挑战,我们正沿着这一方向持续改进系统。
在整合更多上下文信息和语义搜索方面,有哪些创新方法?
我们构建了一个混合搜索系统,它将词汇搜索与机器学习技术相结合,利用语义搜索和对查询意图的理解。我们正在不断优化系统,以增强上下文理解能力、处理复杂查询并返回相关内容。
语义搜索的奥妙在于嵌入向量,它们是对我们从 Roblox 各处获取的各种信号的丰富表征。例如,我们整合了用户人口统计信息、用户查询内容、查询长度以及其独特特征等信号。
我们还关注内容信号,例如体验、虚拟形象道具以及用户参与度——这款游戏的游玩频率如何?拥有多少用户?用户来自哪些国家?此外还包括变现和留存等指标,以及体验的标题、描述或创作者等元数据。 我们将所有这些信息输入基于 BERT 的 Transformer 架构,并在最后使用多层感知器生成嵌入向量,这些嵌入向量便成为我们的权威数据源。
另一项创新是我们自主研发的相似度搜索系统。当用户提交搜索查询时,我们会检索出高度相关的嵌入向量,并对其进行排序以确保其与用户需求相关,随后将结果呈现给用户。
在开展这项技术工作过程中,您有哪些关键收获?
每种语言都带来独特的挑战。特别是在搜索领域,我们需要理解世界各地用户的需求,才能向他们展示最相关的结果。我们必须掌握不同语言的特征。例如,预训练的Transformer模型对于理解日语的多种方言至关重要。
其次,搜索查询模式正在发生显著变化,我们必须不断升级技术栈以跟上步伐。与此同时,我们需要向用户说明平台具备哪些功能,因为他们可能尚未意识到。例如,我们可以告知用户,搜索功能支持自由式查询(如赛车游戏或热门美食游戏),并且系统能够理解用户的需求并返回相应的结果。
贵团队最契合 Roblox 的哪项价值观?
长远眼光是我们团队的核心理念,这也是我热爱在 Roblox 工作的原因之一。
以我的团队为例,我们的技术栈由基于机器学习和自然语言处理(NLP)的搜索系统构成——包括利用预训练的大型模型实现的语义搜索、自动完成和拼写纠正功能。
我们在构建这一系统时,始终着眼于其可复用性,以满足我们数千万日活跃用户进行的各类搜索需求。这意味着我们可以接入不同类型的数据(例如,将体验替换为虚拟形象道具),且只需极少改动即可正常运行。
我们已将语义搜索功能整合到体验中,并将其分享给市场(Marketplace)等其他垂直领域,这些团队能够直接基于现有架构进行部署。虽然并非完全即插即用,但经过一些微调,我们就能将其适应于不同的用例。
对于Roblox和您团队的未来发展方向,什么最令您感到兴奋?
搜索是用户表达明确意图的唯一入口。这意味着我们必须理解用户的需求,并提供最相关的结果。因此,致力于解析这种意图,并引导用户发掘潜在可能——有时甚至在用户意识到之前——对我而言非常令人振奋。
无论用户身处哪个国家,只要提出需求,我们就能精准提供最符合其期望且最相关的内容。这能建立信任,进而提升用户留存率。迎接这一挑战、通过优化搜索功能来建立信任,并助力 Roblox 实现十亿用户的目标,这让我倍感振奋。


