使用三重损失和孪生神经网络训练大型类目的嵌入表示

大型网站类目目录的数量很大,一般都无法进行手动标记,所以理解大型目录的内容对在线业务来说是一个重大挑战,并且这使得对于新产品发现就变得非常困难,但这个问题可以通过使用自监督神经网络模型来解决。

在过去我们一直使用人工在系统中进行产品的标记,这样的确可以解决问题但是却耗费了很多人力的成本。如果能够创建一种机器学习为基础的通用的方式,在语义上自动的关联产品,并深入了解现有的目录内容,就可以将产品推荐、搜索、促销活动和运营情报变为自动化的操作。

在这篇文章中,描述了一种通过在网站内部的用户搜索数据上使用自监督学习技术来训练高质量的可推广嵌入的方法。除此以外本位还列举了一些替代方法,并详细介绍了我们所选解决方案的模型训练和评估过程和各个方法的优略对比。

大型网站的类目问题

对于大型网站来说,网站目录的内容并不是恒定的,如果我们添加了新的类目,对于机器学习来说则需要训练新的模型,有没有一种能够在不建立定制模型的情况下处理目录的方法呢?首先,了解类目的内容对于运营业务和面向消费者内容搜索很重要,因为:

  • 类目可以根据消费者的已知偏好进行新的推荐
  • 当消费者与新商店互动时,将产品品推荐给他们
  • 在搜索查询时推荐更相关商店和产品
  • 自动推荐类似消费者最近订单历史的促销
  • 了解消费者在搜索后购买哪些物品

等等。。

在同一潜在空间中查询(绿色)和产品(黄色)表示的示例。我们想学习一个嵌入表示形式,其中相同颜色的线具有高余弦相似性(之间的角度很小),而不同颜色的界线则具有很小的余弦相似性(它们之间的大角度)。这意味着我们需要将查询和项目编码到同一空间中,并为它们两个都学习高质量的表示。

在搜索的背景下,我们还希望能够创建一个可以与产品和商铺嵌入进行比较的可查询嵌入。模型需要将查询和产品置于相同的潜在空间(上图1)以使其可比。一旦将查询“mexican”和产品“taco”进行嵌入,嵌入空间就可以告诉我们二者是相关的(余弦相似度)。我们还需要将商铺和购买者嵌入在同一潜在空间中, 这使我们能够使用嵌入方式包括目录知识来进行商铺的推荐。

通过定义消费者嵌入(蓝色)为他们的商品嵌入(绿色)的平均值,我们可以了解消费者的不同偏好。在上图中,经常购买墨西哥菜的消费者比经常购买亚洲菜的消费者更接近墨西哥菜。同时购买这两种食品的消费者将会在墨西哥食品和亚洲食品集群之间形成一种嵌入。

所以我们要解决的问题是如何使用有限的标记数据有效地在非常罕见的类上训练,这就需要利用自监督的方法来训练嵌入。但在开始之前,我们先回顾一下传统的技术来训练嵌入,这样可以让我们理解为什么它们不能解决问题。

构建嵌入的技术的回顾

对于上面的用例来说,传统的方法包括对条目id进行Word2vec训练或对深度学习分类器进行训练并取最后一层线性层的输出。在自然语言处理(NLP)中,对BERT这样的大型预训练模型进行微调也变得很常见。但是对于不断发展的大而稀疏的目录问题,我们将一一介绍这些方法:

方案1:在实体id上嵌入Word2vec

可以使用访问或购买等客户行为对任意一组实体id进行Word2vec嵌入训练。这些嵌入通过假设在同一会话中与客户交互的实体彼此相关来学习id之间的关系,这与Word2vec分布假设类似。商店和客户的行为定期训练这类嵌入,以便在推荐和其他个性化应用程序中使用。见下图

Word2vec嵌入在为大型目录保留语义相似性方面存在一些缺陷。当新实体添加到目录中时,它们需要定期进行再训练。如果每天都要添加数百万个产品,每天重新训练这些嵌入在计算上是非常昂贵的。使用这种方法训练的嵌入容易出现稀疏性问题,因为很少与客户交互的id没有得到很好的训练。

完整文章:

https://avoid.overfit.cn/post/fd8c56dd4c0942b1af4f8c5e58b92671

posted @ 2022-07-26 10:19  deephub  阅读(35)  评论(0编辑  收藏  举报