📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

Leveraging User Intents for Personalization

Uplimit 1:03:46

Transcription

欢迎大家来到由 Rishabh 主持的利用用户意图进行个性化。Rishabh 是 ShareChat 的机器学习总监,也是 Core AI 的“大规模个性化推荐”课程的讲师,该课程将于下周一开始。我将把时间交给 Rishabh。

好的,太棒了。欢迎大家!感谢 Barbara 的介绍,也抱歉刚才的连接问题。在我们开始之前,今天我们将讨论利用用户意图进行个性化,我们将花费大约 30 到 40 分钟。我想留出时间用于提问,我还想更正一下我的电子邮件地址,这里有一个点。

太好了,是的。我叫 Rishabh,目前居住在伦敦。我在 ShareChat 担任机器学习总监。今天我们将花时间讨论映射意图、意图预测、利用意图,所以一切都围绕着意图,以及我们如何利用它来进行个性化。

简单介绍一下我的背景。我目前在 ShareChat 工作。直到去年,我在 Spotify 工作。在此之前,我在微软研究院实习过几次。我在印度的 BITS 完成了本科,然后在伦敦大学学院(UCL)获得了博士学位。

在研究主题方面,我通常对任何与市场机器学习相关的内容都感兴趣,但也包括个性化。最近,我也开始更深入地研究生态系统。

因此,今天讲座的重点将是如何在不同的工业系统中利用用户意图进行个性化。如果我们看看工业系统,其中一个关键部分是它们具有很强的交互性。我们有很多用户和应用程序之间的来回交互。

所以,如果我看看交互式系统本身,通常当用户有信息需求或任务时,他们会访问这些平台中的任何一个,要么是为了查找信息,要么是为了购买某些产品,或者观看一些电影,播放一些音乐,查看一些娱乐内容,查找一些培训内容。所以存在一个需求,它促使访问其中一个应用程序,系统会尝试为您提供个性化的产品。

这就是系统试图理解您的需求是什么,您的意图是什么,试图开发关于您的这些表示,然后尝试利用它们来更好地个性化推荐。一旦您这样做了,您就会看到大量的推荐,您会在应用程序上看到这些项目,然后您会留下这些细粒度的交互信号,比如您的鼠标点击、购买历史、跳过行为、点击行为、滚动行为等等。基于此,系统就能够尝试理解、识别、理解您是否是一个满意的用户。所以,您是否对我们的推荐感到满意,或者您不满意。

这就是交互式系统实际工作方式的整体高层视图。在这里,如果我们尝试从意图的角度来看待这个问题,那么会出现什么问题?我们如何解决这些问题?当用户和系统在不同会话和不同类型的参与中进行一些来回交互时,我们如何利用意图进行个性化?

所以,我们今天想做的是,我们将从意图的角度开始审视整个过程,然后我们将开始研究如何映射意图空间,因为同样,意图可能总是显而易见的,也可能不是。然后,一旦我们有了意图空间,我们如何预测意图?一旦您预测了意图,我们如何开始利用它进行个性化?然后我们将以一个简短的总结和一些讨论来结束。

我确实想再次强调,这些都是一个讲座本身的内容,但我将为您提供一个广泛的视角,了解在搜索中会发生什么,在推荐中会发生什么。然后,希望我们可以利用最后 15 分钟进行更多的来回讨论。

好的,关于介绍,让我们从意图的角度开始审视这些应用程序上的用户参与。在左边的屏幕上,我们将关注搜索。网络搜索,您会访问 Bing、Google 或 ChatGPT,无论您最喜欢的搜索应用程序是什么。您将输入一个查询。当您输入查询的那一刻,您就明确地告诉我们您的意图是什么,那就是“嘿,我想查看温布尔登或 2023 年澳大利亚网球公开赛的结果”。然后搜索系统会尝试为您找到它。

这不仅仅是搜索,还包括您的数字助手,如 Cortana、Google Home 或 Siri。您将输入一个查询或语音查询,然后我们将理解“好的,这是您的意图”,我将尝试相应地提供推荐。

但是,如果您看看另一端,您会访问其中一些应用程序的主页。所以,如果您打开 Pinterest、Netflix 或 ShareChat 的主页,我们不知道您想要什么。您没有明确告诉我们您的意图是什么。所以,这是两种极端的观点。在搜索中,您明确地输入一个查询,这告诉平台您的意图是什么。而在推荐中,大多数时候您会访问主页,您不会真正输入查询,您不会提供关于您想要什么以及您意图的明确信号。

这很有趣,因为现在我们可以开始在这个空间中映射大量的不同应用程序和不同的界面。在左侧极端,我们有搜索,意图非常明确。在右侧极端,我们有推荐界面,主要是主页,在您启动应用程序的那一刻,意图是零证据。但是,在这个光谱中,也发生了很多事情。有一些事情在中间。如果您看看 YouTube 上的移动设备,YouTube 顶部有一个面板,它更具意图导向性。这是您主页上的推荐。但是,如果您想要一些新的东西,或者您观看了一些医疗剧,或者其他什么,您将点击它,然后主页将以类似 Spotify 的方式进行结构化。Spotify 也有这些解释,说“这对您来说是新的”,或者“这是因为今天是星期五”。因此,在某些主页上也开始出现一些意图导向性。

同样,并非所有推荐都是意图无关的。如果您开始查看像“All Out 80s”这样的内容。“All Out 80s”是 Spotify 上一个著名的播放列表,这有点更具内容特异性。因为这里的意图可能不同,但至少意图的领域是明确的,因为这里的意图领域是来自 1980 年代的所有音乐。本质上,在其中,您的意图可能是“嘿,我想发现,我从未听过 80 年代的音乐,让我来发现它”,或者您非常习惯 80 年代的音乐,您只是想享受它,并且您已经根据自己的喜好开发了相应的品味。

所以,关键是,如果您看看这个光谱,那么在最左侧的极端,我们有更多的搜索和对话驱动的界面,您在那里明确地提供您的意图。在右侧,我们有推荐界面,主要是应用程序主页,那里没有意图。然后,中间有一些事情,意图会发生变化,或者存在内容相关性意识,例如“All Out 80s”或您在车里听的歌曲。因此,这些推荐应用程序上的某些界面更倾向于特定的意图。或者,如果您转到 Instagram 或 ShareChat 上的“探索”页面,您将探索大量的不同类别的内容。所以,这些既不是纯粹在左边,也不是纯粹在右边。我们开始看到这种混合出现在不同的界面上。

这对我们意味着什么?这意味着意图的特异性,即用户拥有的特定意图,在不同界面之间是变化的。所以在搜索中,它更明确。在推荐中,它有点更隐晦。但是,在推荐中,不同的界面有不同类型的意图。所以,同样,如果您看看“All Out 80s”的歌曲,关于 80 年代的音乐。但是,如果您看看搜索中的“FIFA 世界杯”标签,那么您就知道用户想要一些关于 FIFA 世界杯的内容。但其中有什么?比分、赛程、即将到来的比赛,还是某些表情包?我们不知道。所以,意图没有明确定义,但仍然在一定的有限范围内。

然后问题是,这对推荐模型有巨大的影响。因为,如果我们看看,比如说,“All Out 80s”或“FIFA 世界杯”标签,那么就有编辑输入。因为什么内容应该为“All Out 80s”或“世界杯”标签提供动力,在一个由编辑输入指导的内容推荐应用程序上?其中编辑或人类领域专家正在引导界面。所以,比如说,我认为这些是“All Out 80s”的好曲子,我是编辑。比如说,Spotify 上有一个“乌尔都语诗歌”播放列表。ShareChat 有一个单独的印地语诗歌标签。围绕这些内容,什么是好的诗歌?这个流派中有哪些好的歌曲?有领域专家可以开始提供初始列表,说“嘿,你知道吗,也许这是 100 首好歌”。但是,我们不想向 1000 万用户推荐相同的 100 项内容。所以,机器学习就可以开始接管了。机器学习模型可以介入,说“嘿,太好了,您提供了初始引导列表。接下来我可以做什么?我可以接管,然后从这 100 项扩展到几千项,然后开始为用户进行个性化。”所以,编辑输入和推荐的混合开始出现,尤其是在意图不明确或不隐晦的灰色区域。

而且,第二个非常关键的点是,用户个性化和内容相关性之间的张力开始出现。因为在搜索中,有一个明确的查询,我们必须提供相关内容。而推荐更多的是探索。它是更多地关于用户,我们希望向用户展示他们可能喜欢的东西。但是,内容相关性不一定需要匹配非常具体的需求,因为没有查询。但是,如果您开始看看中间的东西,比如 ShareChat 上的 FIFA 标签,或者 Spotify 上的“All Out 80s”播放列表,这就是您想要在个性化和内容相关性之间取得良好平衡的地方。因为您不想展示不相关的内容。所以,外层边界由内容相关性决定,而不是 1990 年代、1950 年代或 2000 年代初的音乐,它们不会出现在您的“All Out 80s”中。所以,存在一个由内容相关性定义的领域。在其中,您可以进行个性化。

这就是识别界面在哪里,您想在用户个性化和内容相关性之间付出多少尊重,这是一个重要的问题。所有这些都对您为不同界面设计的模型类型有影响。

退一步说,到目前为止,至少有什么收获?到目前为止,我们已经看到有不同的推荐界面。现在,其中一些应用程序更明确,一些更不明确,一些介于两者之间。如果介于两者之间,那么我们将不得不注意内容相关性与用户个性化之间的权衡。然后,就记录而言。但是,让我们开始识别意图空间本身。因为正如我所提到的,我们将分为三个部分:一、意图是什么?二、我能预测意图吗?三、我能利用这些意图吗?

在第一部分,我们只是开始映射意图空间本身。这就是您必须非常不同地处理搜索和推荐问题的地方。因为在搜索中,用户明确地向您提供某些输入,而在推荐中,他们通常不会。所以,让我们从搜索开始。我们可以看到,然后我们可能会口头提及两者之间的关系。所以,如果您只是输入搜索中的意图映射,那么在搜索中,通常有一个搜索会话。用户进来,他们开始查询某些东西,基于这些查询,我们可以理解您的目标是什么。但是,本质上,如果您看看您的搜索历史记录,您将进行大量搜索。对于其中一些任务和意图,您有,如果您想买房,那么它不仅仅是一个会话。您将花费数月时间来了解购买房屋需要什么。您将围绕不同方面进行大量查询。

所以,大多数时候在搜索中,至少一旦您有了这些查询,那么目标问题本身的制定就不同了。它说,“嘿,我有一系列用户查询,而且它们是交错的。有时用户只是去了 Facebook,有时用户只是开始观看 YouTube 上的一些板球视频或其他内容。而另有时,用户会回到主要目标,主要任务,比如买房。所以,这里有很多交错。搜索系统应该如何解决这个问题?我们可以查看用户会话的历史记录,或者跨多个会话查看查询,然后尝试识别用户在发出这些查询时所拥有的任务。

在过去 10 到 15 年里,有很多方法可以做到这一点。我将只谈论其中三个,以提供一个关于至少在搜索中,当您有明确输入时,如何开始识别用户任务的初步印象。我们将讨论三种方法:一种是结构化 SVM,另一种是更具时间性的,使用霍克斯过程,第三种是更具层次性的。

在进入之前,让我们先看看左边的图。左边的图显示了一个用户,在几个月的时间里,他们进行了多次搜索会话,发出了多个查询。现在我的目标是,我能否从这一系列搜索查询中提取意图?

这里需要强调的一点是,这不仅仅是关于这个用户发出这一系列查询。现在,非常相似地,有大约 10,000 名其他用户正在尝试买房,然后有另外一百万用户正在尝试做不同的任务。这就是您的搜索日志开始的样子。您有,比如说,1000 万用户,并且在每个用户那里都有几百个查询,总共有 1 亿个查询。这就是我想用来理解“嘿,用户通常在我的应用程序上做什么?”的日志。

这是我们将在接下来的七到八张幻灯片中要解决的问题。我们将查看由不同用户在不同时间发出的海量查询搜索日志,然后我们将尝试识别“嘿,人们用我的搜索引擎做什么?人们做什么任务?当他们来到我的搜索系统时,他们有什么意图?”

如果我们从第一种方法开始,即结构化建模。这就是查询序列。现在,也许绿色的圆圈代表某些任务,蓝色的圆圈代表某些领域。这里有一些交错。现在,目标是,我能否使用结构化预测来解决这个问题?因为这里的想法是,我想要传达的是,存在一个链接结构,查询 q6 与 q5 相关,q5 与 q4 不相关,但与 q3 相关。所以,查询之间存在一些隐藏的链接,我不知道。我能否使用结构化预测来解决这个问题?

所以,本质上,几年前有一种很好的方法,就是使用某种形式的指令式建模进行结构化预测,以理解这些隐藏的链接。而目标是,如果我能最大化这些查询间链接的概率。这里的目标是,存在一个任务分区空间。如果我有一系列查询,我可以将它们划分为某些任务,划分为某些意图。然后,我可以做什么?我想在给定查询关系的情况下,找到这些查询之间的最佳链接。

所以,这是第一步:我能否为每个查询找到最佳链接?然后,一旦我有了它,我就可以将其传播到所有其他查询,然后尝试学习这个隐藏的结构本身。所以,再次,这里的目标是尝试学习潜在的。因为用户从不明确告诉我这个查询与前一个查询相关。所以,目标是,我们能否找到这些链接?有一种解决方法,因为有一种叫做 Best Link SVM 的结构化预测模型,大约在 10 到 12 年前。有求解器。在后来的神经网络建模世界中,至少有一种神经网络实现的结构化预测。但关键思想是,如果存在隐藏结构,我只找到它,那么我就可以使用其中一些来提取这些任务和意图。

还有一个方面,那就是“嘿,存在一个时间方面,我们能否考虑这个时间方面本身?”所以,这里是另一个例子,在搜索中,人们开始识别这些时间结构。他们说,“嘿,这里有更多的关系,查询在主题上是相关的,而且随着时间的推移它们也在变化。如果用户发出了一个意图的查询,那么用户很有可能在接下来的时间里继续保持这个意图。”

所以,这里的关键问题是,搜索查询之间存在很多主题相似性,并且存在时间方面。我们能否将两者结合起来?所以,这是两个问题开始融合的地方。如果查询在主题上是连贯的,那么它们可能来自同一个任务,同一个意图。如果它们在时间上是接近的,那么它们可能来自同一个任务,不一定如此。所以,这是您可以开始合并两者的一个地方。您可以开始查看主题模型风格的工作,以获得主题连贯性。对于时间连贯性,您可以开始查看霍克斯过程。

主题模型现在已经相当古老了。霍克斯过程是一个有趣的主题。基本上,霍克斯过程说的是,如果有一个事件被触发,那么下一次事件触发的时间是受时间引导的。想象一下地震。一旦发生地震,在接下来的几分钟内发生余震的概率非常高,然后随着时间的推移,余震的概率会降低。股票市场也是如此。巨大的抛售可能会触发随后的几次抛售事件。

所以,当我们看到大量的现实世界交互数据具有自我激发特性时,每当发生某事时,在不久的将来再次发生某事或发生相关事件的概率就很高,然后它会随着时间的推移而衰减。这就是从霍克斯过程模型中可以很好地捕捉到的。这些是点过程模型,它们具有背景强度,即发生这种情况的概率,以及一个额外的项,即与过去的关联。如果一分钟或一小时前发生了一些事情,那么再次发生的可能性就很高,但随着时间的推移,与过去事件的关联性会降低。

我的观点是什么?我的观点是,无论意图和任务如何,都有一种方法可以使用霍克斯过程来模拟这些时间行为。现在,如果我回到核心问题,即用户,如果我正在查询,比如说,“如何在班加罗尔或伦敦买房?”那么在接下来的几分钟或几会话中,我将发出非常相似的查询。但是,一个月后,我可能会改变我的搜索行为和搜索查询。所以,这就是人们想要结合这两种过程的地方。我能否从主题相关性和时间相关性的角度来看待任务,然后将它们结合起来?

所以,有一系列工作致力于决定和识别这些具有时间方面性的用户意图。现在,让我进入第三个方面。这不仅仅是关于链接一个扁平的结构。因为大多数时候,意图不仅仅是一个意图。可能存在意图的层次结构。如果我正在计划一次旅行,那么我可能需要有关签证的信息,我可能需要有关航班预订、住宿、景点、当地住宿、当地交通等信息。所以,如果您开始审视它,那么到目前为止,我们只是从一个非常扁平的视角来看待意图和任务。但通常存在一个层次结构,然后我们需要能够表示这个层次结构的模型。

二叉树等非常有限,因为二叉树只表示一个任务只能有两个子任务。所以,我们需要能够表示具有任意数量分支的层次结构的模型。

退一步说,在我们进入层次模型之前,我们现在在哪里?我们说,在搜索中,当您有明确的数据时,人们可以开始查看其中一些模型来开发一些聚类。简单的聚类就是将查询分组,它们会为您提供一些意图。或者,您可以进行一些结构化预测、时间感知,或者也许进行更多的建模,将其建模到层次意图空间中。

所以,我们接下来要做的是,看看一种构建这个层次意图空间的方法。有一个叫做贝叶斯非参数的东西。基本上,您可以做的是,您可以开始从贝叶斯非参数的视角来处理这个问题。而贝叶斯非参数的视角说的是,我可以表示,我可以假设存在一个潜在的层次结构,它是一个贝叶斯树。它就像每个节点都可以有任意数量的子节点。本质上,如果我有这个树的结构,每个节点可以有任意数量的子节点,等等,那么我可以将我的日志表示为一组任意的递归分区。

让我们看看这意味着什么。如果您看看左边的树,那么整体上,您会看到节点 I 有四个子节点。一个是一个子树,它是 ABC,然后 D、E 和 F 是分开的。但是,当我们递归地深入到第一个分区 ABC 时,我可以看到,哦,这里有三个子节点。在根节点我有四个,在第一个节点我有三个。然后我可以进一步深入到 A、B 和 C 分别。所以,如果我递归地这样做,我就可以创建一些这些层次分区。

所以,目标是,我们不知道这个层次结构是什么。我们只有搜索日志的证据。所以,这是我们试图解决的问题。给定海量的搜索日志,我能否恢复这个层次分区空间?这正是我们制定这个问题的方式,即我能否找到一个最大化其概率的树结构?这就像一个数据点分区的混合。那么,所有这些层次结构的概率分布是什么,它将最大化观察到这个查询日志的可能性?这就是分区的数量,因为同样,它可以是指数级的,因为每个节点可以有一个、两个、三个任意数量的子节点。所以,我们使用动态规划进行了一些近似。

这里有一个方程,我们试图说,这里观察到这个查询结构查询日志的概率,给定这个树结构,它是查询属于这个节点中的同一任务的概率,加上这个节点递归地分布在其子树中的某个因子的组合。所以,这就是层次结构发挥作用的地方。在顶部,我将说,“给定这个树结构,我观察到这个查询日志的概率是多少?”然后,在节点处,观察到所有这些查询属于同一意图的概率是多少?加上我的子节点的概率。也就是说,如果我将这个节点分成后续节点,并且递归地,我是否可以再次应用相同的概率方法?所以,这是一种递归地识别一个好的树结构来解释搜索日志的方法。而这个树结构将为您提供空间的意图分区。

快速总结,我们现在在哪里?我们说,在搜索中,当您有明确的数据时,人们可以开始查看其中一些模型来开发一些聚类。简单的聚类就是将查询分组,它们会为您提供一些意图。或者,您可以进行一些结构化预测、时间感知,或者也许进行更多的建模,将其建模到层次意图空间中。

在进入推荐之前,现在,通常情况下,如果您使用 Pinterest,Pinterest 更像是一个推荐产品,但它也有搜索功能,因为搜索行为在指导。如果我正在重新装修我的房子,那么我将开始搜索其中一些相关的图钉。或者,如果我在 YouTube 上,那么也许在周末我想看一些好的纪录片,同时我也在学习一门不同的语言,比如法语。那么我将不断地访问 YouTube 来观看大量的法语视频。或者,如果我正在学习关于 Stable Diffusion 的知识,我将不断观看一些关于任何主题的教程。

所以,我们在搜索中识别的问题,解决方案,不仅仅适用于 Google 和 Bing 以及纯粹的搜索系统,也适用于很多推荐产品。这就是交叉开始发生的地方。因为在 Twitter 上,您可能总是回到某个标签,或者您可能有很高的概率,“嘿,我将看看关于 Rexes 的最新动态”,所以您将回到 #Rexes 2022。所以,本质上,我想传达的观点是,我们到目前为止看到的方法,虽然它们主要为搜索引擎开发,但它们开始被用于许多比仅仅是主页更像搜索的推荐产品。

我们从搜索的角度看了一些意图理解模块。现在,让我们更深入地研究推荐。在推荐问题中,至少当您访问 ShareChat、Netflix、Spotify 或 Pinterest 的主页时,您不会提供任何查询。所以,用户没有发出任何查询。所以,用户还没有提供任何明确的信号。而且,意图空间也是未知的。不仅对这个用户,而且,人们如何使用 ShareChat?人们如何使用 Spotify?那里的意图是什么?用户用它做什么?他们的需求是什么?

所以,文档服务,识别这些意图是一个非常困难的问题。因为在大多数应用程序界面中没有明确的查询。您将有一些搜索行为,这可能是由您用户中的 2% 到 5% 的用户驱动的。但然后,在大多数主页上,您不知道意图是什么。这使得识别您的意图变得更具挑战性。

所以,这就是如果我们开始关注意图空间识别。这里有几种方法。我们将讨论其中两种:一种是混合方法,另一种是潜在方法。在混合方法中,有一些来自 Spotify 和 Pinterest 的工作。我们将分别讨论它们,它们彼此非常相关。然后,我们将进入意图的机器学习潜在视图。

这就是我们没有查询的时候。用户访问 ShareChat、Spotify 或 Netflix 的主页。没有发出任何查询。没有用户明确告诉我们他们为什么想使用主页来满足不同的意图。那么,我们能做什么?

所以,目标是,如果我们开始关注 Spotify 如何解决这个问题。我们有一个混合方法,我们进行了大量的用户访谈、用户研究、应用内调查,然后进行大规模的定量支持。首先,我们从用户研究开始。我们进行了面对面的访谈。我们邀请了来自不同年龄段、性别、人口统计特征、不同职业背景的 15 到 20 人。然后我们问他们关于音乐习惯、应用程序使用情况、当前体验以及他们是否想发现音乐的问题。我们还录制了这些会话。想象一下,您作为用户在我们面前使用应用程序,它正在被录制,音频交互数据,您可以进行视觉录制,然后我们问您一些问题,比如“您如何使用应用程序?您有什么期望?您如何使用这个播放列表?您是否发现内容?您是否创建了一些播放列表与朋友分享?本质上是什么目标?”

所以,仅仅进行一些面对面的访谈就开始让我们感觉到,“嘿,这是用户使用 Spotify 主页的可能列表。”所以,同样,它不是决定性的,但它开始让您对意图空间是什么样子有一个初步的认识。

这就是您可以开始进行应用内调查的时候。想象一下,当您进行用户研究时,您会整理发现,并提出,“嘿,我认为这里有一个初步的 19-20 个意图列表正在出现。现在,让我们用大规模数据来支持它。”这就是您可以开始进行应用内调查的地方。在我们的调查中,我们所做的是,我们在主页上开始显示一个迷你弹出窗口,它会弹出,然后只有几个问题,“嘿,您对对话有多满意?您想做什么?您想做什么?”我们不想输入一个文本框,因为没有人会输入它。所以,如果我们能使用用户研究的初始意图空间,然后开始向用户显示一些选项,那么我们就可以开始收集这个大规模数据。

所以,如果您将其发布给数百万用户,我们获得了 4.5% 的响应率。通常这些响应的范围是 2% 到 5%。同样,这会因情况而异。有些人只是会回复调查邮件,而邮件的响应率会非常不同。弹出窗口会有不同的响应率。问题是,如果您的调查弹出窗口发生在不好的时机,那么您就会干扰会话,然后用户满意度就会下降。并且有很多解释这些数据的困难。

所以,我们最终所做的是,我们最终触发了事件,当用户从主页标签转到搜索或播放列表标签时。所以,同样,我们进行了大量的来回尝试和激活,才找出何时触发。这些详细信息都在引用的 www 论文中。然后,一旦您这样做了,我们就可以开始收集这些逻辑用户数据。然后,我们将得到一个分布,“好的,用户告诉我们什么?”用户也可以告诉您一些其他意图,您之前没有得到。然后,我们必须进行某种非参数聚类,以找出“嘿,出现了一个新的意图,我们没有从用户研究中得到?”然后,我们可以开始将它们全部结合起来。然后,您可以进行大规模的定性数据支持。因为对于每个给出应用内调查响应的用户来说,也许接近五十万用户。如果他们给您一个调查响应,对于这五十万用户中的每一个,您都有记录的交互数据。您知道在星期一下午 6:30,他们填写了调查。所以,让我们看看那之前的 1 小时,然后您回到您的交互日志中查看。您将获得该用户的行为。然后,您可以将其与我们拥有的用户标签进行匹配。“如果用户说我正在做这个意图,然后您开始匹配‘什么样的行为与什么样的意图相关?”所以,这就是我们进行了大量大规模数据分析,以匹配应用内调查结果与服务器响应的原因。本质上,然后我们能够识别一些层次结构。至少是意图的层次。被动与主动。主动参与更多是关于发现内容或保存新音乐以备后用,探索不同的艺术家或专辑。被动只是想要快速访问,或者只是想播放一些背景音乐,或者想播放符合他们情绪或活动的音乐。所以,同样,我们能够识别几种不同类型的意图。同样,这不是一个详尽的列表。但是,我们方便地忽略了长尾,因为这些意图的大部分捕获了主页上的大部分消费习惯。

Pinterest 所做的非常相似。同样,有一篇来自 Pinterest 的非常好的论文,讨论意图理解。那里的观点是,意图先于任何行为。所以,我们再次观察用户行为来理解意图。在那里,他们开始通过组织查询以及人们点击的图钉类型来开始。基于此,您可以开始识别这个问题,“我的意图空间应该是更偏向体验还是更偏向目标?”

如果您开始关注目标。那么我正在搜索汽车图像,或者我想要一个婚礼花束。所以,同样,基于用户与之互动的图钉,它们可以是目标或体验。您也可以开始将此与大规模调查结合起来。在调查中,与我们在 Spotify 所做的类似,Pinterest 也遵循了类似的方法。然后,有两个维度:目标特异性和时间范围。一个例子是,如果您开始查看 Pinterest 上的不同意图,那么特异性较低的是“我只是想打发时间”。更具体的是“我想要一些蛋糕食谱”。介于两者之间的是“熨烫园艺想法”。所以,这里您开始看到,如果我有用户参与或用户交互数据,我可以开始查看将这些交互数据沿着不同维度划分为不同类型的意图。它可以是特异性,也可以是时间范围。所以,短期可能是“嘿,我今晚只需要一个晚餐食谱”。长期是“好的,我要计划一个婚礼,需要做什么?”或者“我想重新装修我的房子,我能开始收集图钉吗?”本质上。然后,您可以开始将不同的行为映射到这些维度上。其中一些是较低的,一些是较高的特异性。其中一些是短期的,一些是长期的。然后,您开始映射您的意图空间。本质上。然后,同样,大规模的。我们将备份。您可以非常类似于我们在 Spotify 所做的,您可以复制它,然后说,“好的,这是调查数据。匹配用户提供的输入。而且,不仅仅是调查响应。您还有行为数据。然后,您可以将其匹配起来,看看它是否效果更好。”

退一步说,我们现在在哪里?我们说,在搜索中,我们有查询,我可以进行一些时间建模、更高级别的建模,得到一些意图。在推荐主页上,我不知道意图。所以,让我做一些混合方法。让我做一些访谈,也许开始列出一些意图。但是,我并不信任它们,因为它们只来自 20 个用户。所以,我能做什么?我开始推出一些应用内调查。也许几百万或几十万用户开始给出响应。您将它们联系起来,用混合方法支持它们,或者说,“嘿,我不需要明确知道它们。我可以做一些潜在变量建模。”

所以,这是混合方法。您正在进行用户研究、调查以及定性和定量的大规模数据混合方法。所以,这就是混合方法。另一种方法是潜在意图。那就是“嘿,我不想知道 Spotify 上的意图是什么。”我们有这个列表,“这里有一个九个意图的列表。”这是六个。但是,这里有一个 Spotify 主页上的九个意图的列表。我将开始使用它。但是,如果我说,“我不需要。我不需要知道这九个是什么。给我隐藏的潜在意图。它们可能只是意图一、意图二、意图三。我不需要理解它们是什么。我只是想要它们。”所以,这就是潜在意图的出现。也就是说,如果我不需要以人类可理解的方式知道这些意图是什么,我就可以进行无监督的潜在空间营销。

现在,三个月前有一个非常好的来自谷歌的研究,关于学习用户意图建模用于顺序组合。这是他们开始使用变分自编码器进行潜在意图的地方。同样,整体概率图模型方法。而整体观点是,我想在图模型中对此进行建模,并说我知道用户的过去数据,即 X,它是可观察的。我不知道用户意图,它是隐藏的。所以,潜在的意味着隐藏的。在概率图模型中,潜在变量意味着它是隐藏变量,我根本不观察它。但是,我知道潜在的用户意图是由过去的行为携带的,而未来的行为将由用户意图驱动。所以,本质上,您开始进行这种关系。其中第一个节点 Xobs 提供用户的过去行为,这是可观察的。节点 Z 提供潜在的隐藏意图,您不知道。而您的节点 Y 提供未来的行为。所以,您将进行什么样的搜索?什么样的互动?您将点击、跳过视频、观看视频、观看这个主题的视频、来自这个创作者的视频等等。

所以,有了这个设置,一种稳健的方法是,“我能否在这里做一个基于自动编码器的重建损失模型?”我知道我有 X 和 Y,因为对于每个用户,我知道过去的数据,我知道他们将要做什么。而我不知道 Z 是什么。那么,也许我可以做一个重建。我可以看看,我可以编码数据,尝试理解我的隐藏状态 Z 可能是什么。然后,基于此,我可以重建 Y 的未来。然后,基于此,我可以得到一些隐藏的表示,这可能是我的潜在意图。本质上。

所以,这就是有几种识别意图的方法。一种方法可能只是,再次,最简单的潜在空间可能是,“嘿,有这些集群。我不知道。我只是看看用户行为数据。我有一些关于内容的元数据。我可以做一些聚类,然后每个集群代表一个意图。我不知道这个集群代表什么,但它对我来说是一个意图集群。”或者,我可以说,“嘿,我甚至不需要做集群。我只需要一个 20 维的向量。这 20 维中的每一维可能是一个意图。我只是想要一个概率分布。然后,我可以从基于自动编码器的模型或其他潜在向量表示方法中获得这些 20 维向量。”

所以,这就是识别意图的几种方法。只是映射意图空间。所以,我们到目前为止看到了什么?在搜索中,它简单易行。但是,通过搜索查询,我们可以进行一些建模,得到意图。在推荐界面上,我可以做两件事。也许识别出 10 到 15 个意图列表,用混合方法支持它们。或者说,“嘿,我不需要知道它们。我可以做一些潜在变量建模。”

现在,这些是意图。但是,有了这些,我该怎么办?一旦我有了这些意图,那么第二部分就开始了。然后,一旦您映射了意图空间,您就可以开始使用它们了。要使用它们,必须发生两件事。一、我不能只使用用户过去的意图,因为在当前会话中,我不知道,也许他们的过去意图是不可预测的。所以,在当前意图中,我想尽快理解和预测意图是什么。而做到这一点的方法是简单的意图预测模型。最简单的方法非常简单。您已经有了来自应用内调查的数据。所以,您可以匹配应用内调查响应与日志交互数据。想象一下,三四年前我们做的应用内调查的五十万用户。现在,对于其中的每一个,我们知道用户说,“这是我的意图”,当他们点击调查响应时。我可以回顾一下从那个时间点开始,半小时前,在过去的一个小时或半小时内,交互信号是什么?我可以从中提取特征。标签已经是用户响应。然后,我可以开发一个模型。

所以,这就是我可以开始查看应用程序上的任何交互信号。它可以是会话长度、模板、主页上的向下滚动次数、播放的歌曲数量。您是否滚动得更多?您是否来回滚动得更多?最大退出次数?放弃率?等等。各种不同的特征。想象一下,拥有 1500 多个隐式交互信号,您已经记录下来了。您已经记录并提取了这些特征。您已经有一些数据,不是 1 亿用户,而是可能五十万用户的数据,关于他们所说的意图是什么,因为那是您拥有的明确数据。然后,您可以开始训练其中一些模型。所以,再次,这是最简单的查看交互数据的方法,查看一些地面真实标签,然后开始预测意图。

一个关键问题是 Pinterest 的论文回答的,那就是“我们能多快开始检测这个意图?”然后他们发现,也许在 10 分钟后,我们就能以一些好的 AUC 分数充分预测意图。同样,为什么?因为在 10 分钟后,性能可能不会增加太多。所以,10 分钟就足够了。但是,他们发现意图可以更快地预测。在 30 秒内,AUC 分数相当不错。并且有一个下降。如果您看看 10 分钟与 30 秒的比较,有一个不错的下降,但也不是那么糟糕。所以,意图可以……

可以预测得更快,但最棒的部分是,即使在会话开始之前,意图也可以被预测。当然,它有低速率,你看到了,然后也许当你处于 30 秒或 10 分钟时,但然后过去的用

户交互数据,过去的行为可以预测未来的一些意图,对吧?所以这就是你开始看到“嘿,如果我必须开始使用它来做某事,对吧?我们稍后会讲到如何利用它,那么这就是开始的方式。我不知道互联网空间是什么,让我开始将其映射出来,无论是使用潜在变量还是使用一些显式的意图阶段建模。我一旦完成,那么当用户进来时,想象一下你有一个包含大约 15 个意图的意图阶段,我想要一个分布在其之上,嘿,我认为用户在此会话中,用户有意图,比如意图 2,概率为 0.5 或 0.7。现在要做到这一点,我可以做时间等于零的预测,在时间 0,我认为用户的意图将是什么,但然后一旦我观察到更多,在 30 秒时,我有一些交互数据,我可以做一些会话内的发送,然后更新我的预测意图预测,然后 10 分钟左右后,我

已经知道了,因为我观察了大量数据,我知道用户会在我的应用程序上做什么。所以这就是你开始预测意图的方式,一旦你完成了预测,目标就是开始使用它们,对吧?这是第三部分,我们如何开始利用这些意图来完成一些下游任务。让我们退一步,在我们进入下一节之前,再花五分钟,然后我们将以一些讨论结束。所以你所做的就是你发送了那个看,再次,如果你一直,希望没有睡着,但然后也许在美国有人太早了,如果你有幸在一个周日早上的会话中加入,这是你回到过去 40 分钟我们一直在谈论的内容的预热。你说意图很棒,因为它们告诉我们用户想要什么,对吧?我可以使用意图来做一些个性化,但然后有一个问题,比如在搜索中,人们输入一个查询,在推荐中,他们从不输入查询,在主页上,我该怎么做?所以我们在搜索中看了一些方法,你有一个查询序列,然后是意图,提取它的几种方法,也许是一些时间上的,也许是一些结构化的预测,也许是一些层次结构。在推荐中,我不知道。所以主页上,如果我不知道,那么我可以做两件事。一是放弃,嘿,我不想理解意图,我只想有一些潜在意图,所以有一些潜在变量建模,我们正在做,或者我可以明确定义我的意图空间,做一些混合方法,做一些用户研究,应用程序调查,回到它,定性和定量见解,然后识别这些是我们拥有的 15 到 20 个意图的集合。所以这是第一部分。现在有了它,我该怎么做?对吧?太好了,我有这个意图空间图,但然后有了意图空间,现在我想开始预测用户来到我的应用程序,我喜欢,好的,这是我的意图空间,我不知道用户会做什么,让我预测时间零。太好了,我做了一些预测,但然后用户开始参与,现在我可以定义我的预测。所以在一

段时间内,30 秒,一分钟,五分钟,十分钟,我对用户有什么意图有了一个很好的想法。这就是这里的最后一部分,即利用意图。所以我们如何开始使用意图来更好地进行个性化?所以再次,我不会夸大,因为整个小时只剩下五分钟了,但然后它会给你一些感觉,一些过去几年的最新论文,关于人们如何开始使用它。所以再次,这篇来自 YouTube 的论文谈论的是使用潜在意图本身。所以这里的目标是,记住非常槽编码器模型,其中我们有 Z 潜在向量。我可以开始使用它,并在输出中像用户表示一样使用它。所以想象一下,有一个完整的推荐系统,但现在你正在做的是,我正在做一些解释,预测那个 Z,然后在我核心的推荐系统中内部使用它。这就像一种方式,其中只有一个使用意图作为内部中间表示的例子,与其他信号连接,然后为你的核心推荐模型提供一个表示潜在嵌入。另一个可能更明确。有一篇来自 WWW 去年的论文,再次,如果你看左边,有一个意图空间,粉色、橙色和蓝色,然后有一个分布,这个分布进入你拥有的神经网络模型,你有一个预测或重新排序内容。所以这就是你开始使用它进行顺序推荐的地方,我查看用户历史,做一些预测,在我的神经网络中用于顺序推荐,但再次,它不仅仅是顺序的,也可能是多层次的推理。所以我们知道,如何结合它呢?我

们谈论了分层任务,分层意图,我们谈论了顺序的。让我们把两者结合起来。所以有一篇在 Wisdom,我认为是 Wisdom 今年 2023 年的论文。我只是在这里纠正一下,是的。所以这篇论文说,嘿,你知道吗,有分层意图。所以也许我开始映射这个意图的多层次视图,然后开始为我的下游顺序推荐任务使用它。最后,我们几年前做的一些工作,其中不仅仅是为了推荐,我也可以开始使用意图进行评估。我可以有一个全局模型,让我在这里提供一些背景。所以我们在论文中所做的是,我们开始使用意图进行评估。所以我们说,嘿,我们想了解用户是否满意我的用户是否有一个好的会话。现在要了解用户是否有一个好的会话,让我们找出意图是什么,因为如果你不知道意图,我们如何理解用户是否满足了那个意图?所以我们开始在那里研究交互信号和意图之间的关系。所以一个例子,它再次激发了这项工作的很大一部分,就是如果你跳过了很多曲目,对吧?所以跳过通常,如果你在 YouTube 上,如果你在 ShareChat 上,你跳过了很多视频,就是这样,对吧?因为嘿,你想看一个视频,你跳过了它很多。在 Spotify 上也是如此,如果你跳过了很多音乐曲目,那么你可能不满意,你找不到你想听的歌曲。但然后,如果你的目标是为今晚在家里的一个活动创建一个播放列表,或者你今晚要和朋友们聚会,那么跳过是可以的,对吧?因为你在采样歌曲,15 秒,我添加到播放列表中,这是一个好的会话,我做了几百次跳过,但我得到了我想要的。这里的重点是,如果你想了解用户是否满意,那么你可以有一个模型,这是一个全局模型,它与意图无关,嘿,在所有会话中,我都有相同的模型,它没有关于意图的信息,然后我可以将其用于理解满意度。二,我可以有一个每个意图的模型,对于每个意图,因为我预测了意图,我可以单独为每个意图进行满意度估计。但然后问题是,你没有足够的数据来满足你的每个意图。所以它进入了辣味问题。我能做什么?哦,我不能把两者结合起来。我可以有一个多层次的模型,有一组参数,我在所有意图中使用,但然后有一些参数是意图特定的,然后它们的组合给了我满意度。我的重点是什么?重点是,当你使用意图时,你可以使用意图不仅仅是为了给你一些嵌入,你不能仅仅用于进行顺序推荐或多层次顺序推荐,也可以用于评估。所以一旦你有了意图,你就可以在评估不同的模型,在离线评估和 A/B 测试中做得更好,并在生产中做出更好的决策。所以这就是我们现在的位置。总的来说,意图在不同的应用程序中结束,需要不同的思考。在搜索中,你有代码日,你必须做不同的建模。在推荐中,你没有查询,你必须做一些混合方法。所以潜在的,或者你有一些介于两者之间的东西,其中在 Twitter 上,在搜索方面,你有这些标签,每个标签都不是一个查询,但然后用户说,嘿,我需要关于这个的信息。所以这并不是真正的搜索,也不是真正的推荐,而是介于两者之间。你可以使用不同的方法来映射意图空间,或者将其保持隐藏的潜在状态,做一些意图预测。一旦你有了它,你就可以开始使用它来进行会话内个性化,顺序推荐,或者甚至进行评估。所以就是这样,让我们看看总结。所以再次,这里的背景是,我们在核心的冰课程中涵盖了意图,你在推荐中做的。但然后深入研究了,因为那门课程完全是关于多阶段推荐管道的,以及你如何设计一个端到端的推荐系统,从一个大的语料库到候选生成器,到一些排名模型,到一些多任务建模。其中一部分是意图。我们在课程中谈过,然后有一些建议,我们可以更专注于意图。所以我们认为我们将回来做一个关于搜索和推荐服务中意图的会议。所以是的,就是这样。我们有几分钟的时间来提问和讨论。问答区有一个问题,聊天区有一个问题。我将先看聊天区的问题。有什么好的方法来推荐分类你的查询数据?有什么关于现有字节和库的建议吗?是的,我认为其中一件事,尤其是在意图建模领域,我们经常不知道要使用多少个集群。这就是我们在我之前的工作中使用的,我使用了一个叫做 ddcrp 的东西,这是一个中文餐厅过程,距离依赖中文餐厅过程。所以再次,它是一个惊人的非参数方法。基本的非参数方法很重要,因为在一项任务中,我不知道会有多少子任务?所以通常当我不知道有多少集群时,我想要什么?所以我们需要一些非参数的方法来做到这一点,而中文餐厅过程是一个非参数过程,它可以根据你拥有的数据进行调整。而且我认为有一个 dcrp 的 Python 库,有一个 C++ 实现,它相当快。我只是要找到那个链接。David Lee 有一个很好的库,我认为有一个,这不是我基于我的实现的那一个,但是的,David B 的网站有一个,哦,抱歉,我得到了姓氏 Brown,是的,David Blair 的网站有一个实现。看起来很高兴。问答区有几个问题。意图是从用户访谈服务基础上分散的,我们如何选择新的,也许写下没有出现的意图?很好的问题。我认为,让我们看看,就像在论文中,我们处理了这个问题,也许用户没有告诉我,再次,用户资源可能很容易方便地错过了其中一些意图。我们回溯的方式是,给我一秒钟,我将打开,哦,该死,我将打开论文中的相应部分。是的。所以基本上,我的意思是,我们所做的是,我们说,嘿,你有没有这些意图之一?如果没有,那么还有另一个部分,对吧?在其他部分,人们输入了一个回复。但然后我们可以做的是,你可以做一些聚类。因为再次,用户正在输入,也许很多用户正在输入某些我们可能错过的意图,但然后一个简单的聚类可能在那里不起作用。所以这就是我们使用距离依赖 CRP 的地方。我们说,嘿,我不知道你是否有这个图?我们没有图。但是的,在论文的这一部分,我们正好解决了这个问题,接近 10 万用户,接近 7 万用户或之类的,他们填写了其他内容,我还有其他意图,然后我们做了一些非参数聚类来识别,嘿,这些是一些新的意图,从用户输入的回复中合并出来?然后我们要么能够将其映射回现有的意图之一,或者我们,我的意思是,我们实际上从用户文本回复本身创建了几个新的意图。是的,如果用户输入查询,那么你可以输入回复到你的应用程序内服务中,嘿,我没有这些意图中的任何一个,我还有另一个意图,你可以对该文本进行一些分析,然后想出另外几个意图,我们实际上也这样做了。嘿,Grish,你好,Kreshan Society School 有一个问题,一部分用户进行搜索,应该总是从搜索日志开始意图,是否可以公平地预期,成功的用户搜索意图应该导致寻求搜索的用户百分比下降?这是一个非常好的问题,非常好的观点。所以再次,我的意思是,我认为我没有科学的方法来这样说,但然后通常用户搜索意味着用户不满意。再次,你进入主页,找不到你要找的东西,你进入搜索,然后开始输入,对吧?再次,至少我个人将其视为一种不满的形式,用户不满意。所以他们搜索一些东西,但然后问题是可见性偏差,对吧?仅仅因为用户在搜索某些东西,并不意味着那就是整个意图空间。而且很可能,如果只有 5% 的用户在搜索,这并不意味着所有其他 95% 的用户也有相同的意图,并且他们很满意,对吧?所以搜索很可能不会有很多已经成功的查询。所以那些意图已经被你的推荐模型满足了,也许它们不会再次出现在搜索历史中。请带着极大的谨慎对待我所说的一切,因为是的,仅仅因为用户成功,并不意味着其他用户没有搜索。所以我认为,搜索和这个意图在一个组合的视角下,我不知道是否有工作研究过。第二个观点也很好,是否可以公平地预期,成功的用户搜索意图应该导致用户寻求搜索的百分比下降?现在这是一个微妙的答案,就像这不一定是真的,因为我认为随着时间的推移,用户对平台的期望也在不断发展。所以现在,我的意思是,我可能不会搜索某些东西。我不知道,嘿,ShareChat 上有很棒的天文学视频。我从来不知道。然后下次当我丰富我对平台的理解以及它为我提供的东西时,我将开始查询它。所以我认为随着时间的推移,随着用户成为专业用户,他们的行为动态会发生变化,他们对平台的期望也会发生变化,然后他们开始看到,我现在知道 YouTube 上有关于这个主题的视频。我从来不知道我能找到这个内容。同样在短视频应用程序上。所以我的搜索习惯也受到我如何看待平台能为我提供的能力的指导。而且还有一个学习曲线,四年前,当我问 Google Home 一些愚蠢的问题时,它没有回答。但然后 Google Home 背后的团队添加了大量的任务,然后现在我可以回答一些复杂的问题。所以也有一些学习和遗忘。我的意思是,如果我今天搜索一个主题,而系统做得不好,那么我知道系统无法处理它。但然后我可能不会查询这个。我已经形成了一个看法,系统在这方面做得不好。在接下来的两周和接下来的两个月里,我不会再查询这个了。你在这个信息上失去了我这个用户。但然后也许我开始在应用程序上看到一些内容,然后再次开始搜索。三个月后,如果你能解决我的问题,那么我就会重新建立对平台的信任。所以用户信任和看法与搜索和应用程序上的搜索用户有关。本质上,这是一个来自 Arushiyan 的问题,当你进行任何意图分析时,你如何考虑产品偏差?其他歌曲可能会影响用户做什么?我会,这是一个好点。所以有很多偏差,当我们进行意图理解时,其中一个偏差,我们在论文中也提到了,就是中断的偏差。如果你在我开始形成意图时显示一个弹出窗口,好的,我要做这个。我开始探索 HTTP,我只有 10 分钟,我只想在其中一个应用程序上浪费 10 分钟。但然后,就像我被弗兰克打断了,我到底想找到和消费什么?然后有一个弹出窗口,对吧?所以那时我可能还没有形成一个观点。所以它只是一个我们应该尽量避免的中断。但然后就顺序而言,我认为目标,如果你真的看看它,意图空间的抽象定义了你有多少自由度。关于以下内容,我将举一个例子。在最高级别的意图空间,想象一个意图空间,然后最高级别有一些非常高层次的抽象。你越往下走,你开始放大。它不仅仅是板球,它是观看比分。不仅仅是观看比分,它是观看昨天的比赛比分或观看这个赛程。所以随着你深入意图空间本身,这种位置级别或逐项计算的需求就会出现。如果我开始放大,如果我专注于一个较高的项目基础,那么我就知道用户有什么样的精确细粒度意图,然后我可以进行映射。但然后,如果我放大,如果我查看一个项目,那就是你下载的地方。如果我放大,五分钟后,五分钟的 ShareChat 意味着短视频。现在,也许有 10 个短视频。这里有一个主题。这个主题可能是一个更通用的主题,更像是体育评论,而不是一个特定的赛程。如果我再次放大,15 分钟,15 分钟将是 30 到 40 个视频。这可能又会回到意图层次结构空间的一个更高层次。所以我认为是的,顺序和其他因素都会起作用。但这也取决于我们是否想进行这种丰富的建模。我认为你想进行这种丰富的建模,一旦你能够以这种粒度识别意图。如果你没有这样做,那么也许我们可以稍微放大一点,看看集合而不是序列。所以我可以一起看集合,然后进行意图映射。本质上,这个问题是,评估任何个性化系统的一个简单方法是什么?我认为评估本身就是一个巨大的问题。我的前经理 Munia 在用户参与度方面有一个非常好的教程。是的,这是一个惊人的,我将把它作为链接放在聊天中。我们也在课程中涵盖评估。顺便说一句,有一周我们专注于评估指标本身。它没有加载。有一个非常好的教程,也有一个网站。是的,好的,完美的,这是网站。是的,所以有一个网站,它提供了关于我们如何看待用户参与度和评估的教程。再次,我的一位前经理,Spotify 的 Fernando,在 Nudists 上有一个非常好的评估教程。我不知道我是否能在这里找到教程。是的,完美的。是的,所以这是另一个关于开发评估的混合方法方法的惊人教程。所以是的,这些是两个惊人的教程。我们也在课程中涵盖了,它们非常适合评估。我们可以期待在实施意图后?很好的问题。所以有一个关于我们可以获得多少提升的问题。很好的问题。嘿,我正在做这一切,值得吗?所以我建议,如果你看看这篇论文,希望在几个月后,我将有一个 ShareChat 的论文代码。如果你看看这篇论文,潜在用户意图建模用于顺序推荐,它有一个提升,它有现场 A/B 测试的结果,它们提供了 0.12 的整体指标。再次,对于一个非常成熟的应用程序来说,0.12 可能意味着全世界。对于一个稍微新一点的应用程序来说,0.12 可能只是噪音。所以我认为,在 YouTube 的规模上,0.12 是这篇论文引用的。不是意图建模,但像会话理解,在过去一年中为我们带来了相当显著的留存率提升。是否有可能?是的,我们将分享演示文稿。当然。还有另一个关于衡量推荐准确性或成功的问题。链接的教程是一个很好的查看方式。而且,我的意思是,这些教程有很多非常好的参考文献。而且,是的,我们也涵盖评估。评估不仅仅是离线评估,对吧?它不仅仅是一个指标或几个指标。它也是离线在线相关性。如果我使用 ndcg 进行离线评估,但它是否能预测在线指标?这是一个大问题。因为如果我使用指标 A,指标 A 告诉我,嘿,你有这三个排名器,排名器 A 将比排名器 B 表现更好。你在生产中进行 A/B 测试,结果是排名器 B 比排名器 A 表现更好。那么你根本不相信你的指标 A。为什么?因为指标 A 与在线指标的相关性很小。所以这就是为什么,这不仅仅是关于指标和评估指标,也是关于离线在线相关性。然后你真的信任你的指标吗?它是否敏感,还是给你方向上正确的?所以指标可以是两件事。一是它告诉你 B 比 1 好,所以这可能是方向上正确的,或者方向上错误的,嘿,A 比 B 好,那么它就不是方向上正确的。也许它是方向上正确的,是的,B 比 1 好。然后是指标的敏感性。你的指标说,嘿,B 比 1 好,B 比 A 好 3.9%。你测试一下,在实际的 A/B 测试交互中,结果是 B 比 A 好,但只有 0.2%。所以你不敏感。所以关于敏感性和离线在线相关性,在评估方面有很多细微之处。是的,离线在线相关性是一个非常好的教程,也是一个非常重要的工业话题。而且,在我们推荐课程中,我们专门用一周的时间来研究它。有一些关于反事实评估的项目。在课程中,我们注意到我们可以做一些离线在线季度,或者我们可以做一些反事实评估,IPS 反向药物学风格的评估方法。所以再次,有很多非常有趣的话题在评估方面。我提到了。好的,太棒了,谢谢你,Rishabh。如果你有兴趣了解更多关于这个的信息,Rishabh 的个性化推荐规模课程在 CoreEyes 下周一开课。所以如果你有兴趣,一定要抢个座位。就这样,非常感谢你,Rishabh,我们很快就会见到大家。再见,大家。谢谢大家,祝大家一周愉快。