© 作者|张君杰

研究方向 | 推荐系统

在商品搜索模型中,个性化的引入不仅会改善用户的搜索体验,也会为电商公司提供更高的收益。近年来,研究人员针对如何在商品搜索中引入个性化开展了大量工作。本文对个性化商品搜索的相关研究进行了整理与分析,文章也同步发布在AI Box知乎专栏(知乎搜索 AI Box专栏),欢迎大家在知乎专栏的文章下方评论留言,交流探讨!

引言

近年来,随着互联网的蓬勃发展,电子商务变得越来越流行。当用户在购物网站上购买商品时,搜索引擎会根据用户递交的查询,搜索出相关商品的排序列表,帮助用户挑选商品。

然而,用户递交的查询通常仅由几个关键词组成,其表达的意图往往模棱两可,无法反映用户潜在的搜索意图,进而导致搜索结果不尽如人意。除此以外,用户对商品的偏好可能是多样化的,如受到年龄,性别,以及当前环境的影响。

因此对于相同的查询,向不同的用户返回相同的搜索结果显然是不合适的。为了改善搜索性能,搜索引擎应当利用用户的历史行为(如评论,评分等)建模出用户的喜好,从而检索出满足用户搜索意图的商品,也即个性化商品搜索。

本文整理了个性化商品搜索模型的部分研究进展,欢迎大家批评和交流。

研究进展

1. Learning a Hierarchical Embedding Model for Personalized Product Search (SIGIR 2017)

作为个性化商品搜索领域的开山之作,本文针对用户对搜索结果提供大量显示反馈(评论)的搜索场景,提出了hierarchical embedding model (HEM),联合学习用户,商品,查询的隐语义表示,并利用查询和用户向量的凸组合,来预测购买的商品。

具体来说,HEM可以分为三个部分

1首先,受paragraph vector model启发,HEM通过构建语言模型,从用户和商品的评论中来学习他们的分布式表示,即要求用户和商品预测评论中单词:给定用户或商品的表示,以及与他们相关的评论中单词的表示. 从的语言模型中生成的概率即可定义为

通过优化该概率,从而优化的表示。

2)其次,利用查询中的关键词,来学习查询的表示。本文通过在平均词嵌入的基础上加入非线性映射,得到查询向量:

3)模型的第三部分在于建模用户的购买意图,并以此来预测购买的商品。作者认为用户的购买意图 由查询意图和用户偏好两部分组成,并假设不相关,通过二者的凸组合得到购买意图

此时用户购买商品的概率即为

将上述三个模块组合,通过极大化被观察到的用户-查询-商品三元组的似然,学习到三者的分布式表示,即最终的优化目标为:

2. Attentive Long Short-Term Preference Modeling for Personalized Product Search (TOIS 2019)

本文作者指出,在建模用户偏好时,需要同时考虑长期偏好以及短期偏好。前者指用户固有的,且相对稳定的购买偏好,如喜欢的颜色,合适的尺寸等,一般受个人背景潜移默化的影响。而后者指的是用户在较短时间内且变化频繁的偏好,受偶然事件的影响,如季节变化等。这二者都会影响用户当前的购买意图。为了同时建模这两类偏好,作者提出了 Attentive Long Short-Term Preference model(ALSTP). ALSTP通过两种注意力网络,分别学习长期,短期偏好及其与查询之间的相关性,使得模型能够正确的建模用户当前的购买意图。

总的来说,模型可以分为三个部分:短期偏好建模(ASTPM),长期偏好建模(ALTPM)以及用户购买意图建模(QRI)。

1)首先是短期偏好建模,ASTPM通过近期购买的 m 件商品来表征短期偏好。具体来说,将用户最近购买的 m 件商品的表示 作为GRU模块的输入,并以其隐层 表示用户的短期偏好。然而这 m 件商品对于当前的查询来说并不是同样重要的,因此作者引入注意力机制,分别计算前 m 次查询与当前查询的相关性,得到最终的短期偏好

2)其次是长期偏好建模,长期偏好相对稳定,更新缓慢。ALTPM通过早期购买的一组商品来初始化长期偏好,并通过随后购买的商品对其更新。令 表示长期偏好,用最初购买的 m 件商品的表示来初始化,然后每购买 m 件商品就对其更新:,其中表示短期购买的 m 件商品在GRU模块中最后一个隐藏状态。同时,针对长期偏好的不同方面,引入注意力机制得到长期偏好表示

3)最后是用户购买意图建模,将查询,短期偏好,长期偏好拼接并输入至DNNs,得到购买意图,则每个商品的得分即可由计算,其中为距离度量函数。

3. A Zero Attention Model for Personalized Product Search (CIKM 2019)

本文作者观察到个性化并不总是具有积极的影响。只有在个体偏好与群体偏好显著不同时,个性化模型才会优于非个性化模型。尽管引入个性化机制可以提供更多有关用户偏好的信息,但这也不可避免的引入了噪声,有时反而会损害检索质量。因此,确定何时以及怎样个性化是非常重要的。

作者通过大量预实验发现,个性化在商品搜索中的重要程度往往取决于查询及其与用户的购买历史之间的交互。为此,作者提出zero attention model (ZAM), 通过在用户的历史购买序列上应用注意力机制并允许注意力网络关注额外的零向量,成功的做到了不同程度的个性化。

具体来说,令表示零向量,则用户即可表示为

其中 是查询对零向量的注意力系数。

表示由构成的向量,则上式可变形为

其中是由用户历史购买的所有商品的表示组成的矩阵。从上式可以看出,这实际上是关于的sigmoid函数。也就是说引入零向量实际上就是通过引入激活函数,动态的控制用户购买历史在当前搜索中的影响。此时,只有当用户历史购买商品与查询相关时也即用户对与当前查询相关的商品表现出显著的兴趣时,用户表示才能起到作用。否则搜索将由查询向量 主导。从而使得ZAM能够在不同的搜索场景中进行不同程度的个性化。

4. A Transformer-based Embedding Model for Personalized Product Search (SIGIR 2020)

本文作者提出,尽管ZAM通过在注意力机制中引入零向量,实现了动态控制个性化的程度。但由于用户购买意图仍建模为。因此在ZAM中,个性化最多与查询相同重要。为此,作者提出TEM,通过Transformer结构来编码查询和历史购买商品,从而做到从无个性化到完全由个性化影响的动态调整。模型的整体结构如下所示:

具体来说,令表示用户 的历史购买商品序列,通过将序列输入到层Transformer编码器中,用户的购买意图即可由查询在第 层的输出向量表示,即令

Transformer编码器使得 计算了查询以及历史购买商品序列之间的交互。并且通过学习编码器中的参数,进一步提升了个性化程度的调整范围,做到了从无个性化到完全由个性化影响的动态调整。

5. Explainable Product Search with a Dynamic Relation Embedding Model (TOIS 2019)

作者提出,搜索引擎和用户在认知商品的相关性方面存在一定差距。如果不对搜索结果加以解释,用户可能无法理解为什么搜索引擎会搜索出这些商品,导致搜索引擎实际效果不好。为此,作者提出Dynamic Relation Embedding Model (DREM). 通过联合建模不同用户和商品的知识以及静态和动态的关系来构建知识图谱。并以此来聚合多关系的产品信息,从而进行个性化搜索。最终在知识图谱上进行逻辑推断产生解释。

为了使DREM可以进行商品搜索,作者设计了一条特殊的边来建模用户和商品间的关系。但很显然,这种关系是动态的。用户的购买意图在不同的搜索会话中是不同的,没有搜索上下文,就无法确定用户与商品之间的关系。为此,作者分别进行静态和动态的关系建模。并在建模动态关系时,以用户提交的查询文本作为搜索上下文进行建模。

DREM通过在知识图谱中寻找从的路径,来解释搜索结果。但由于数据稀疏,这样的路径可能不存在,为此作者提出Soft Matching Algorithm (SMA),通过Dijkstra算法以及计算匹配概率,找到最优的解释路径。

6. Structural Relationship Representation Learning with Graph Embedding for Personalized Product Search (CIKM 2020)

作者认为之前的一些工作没有利用到用户搜索场景下的结构信息。为此,作者提出一种新的方法:Graph embedding based Structural Relationship Representation Learning (GraphSRRL),利用‘conjunctive graph patterns’进行图嵌入学习,从而学习到用户-查询-商品交互中的结构信息以及用户(查询,商品)之间的相似性。

作者定义了三类conjunctive graph patterns:

1)用户在提出相同的查询下购买相同的商品

2)用户在提出查询 下购买了商品

3)用户 分别提出查询并购买了相同的商品

模型整体分为两个模块:图嵌入模块以及个性化搜索模块。在图嵌入模块中,通过定义映射算子和交叉算子,利用这三类特征来学习交互中的结构关系以及用户,查询,商品的embedding.而个性化搜索模块则利用学习好的嵌入表示作为输入进行个性化搜索。

7. IHGNN: Interactive Hypergraph Neural Network for Personalized Product Search (WWW 2022)

与GraphSRRL类似,作者认为现有的工作没有充分利用到隐藏在历史交互中的协同信号。并且作者认为GraphSRRL仅利用到自己设计的三类conjunctive graph patterns,这是远远不够的。为此,作者提出一个新的模型:Interactive HyperGraph Neural Network (IHGNN)。基于历史交互构建超图,并以此来编码协同信号,从而改进个性化搜索的效果。

如图所示,IHGNN共包括四个模块:

1)超图构建模块:基于user-product-query历史交互构建超图,其中节点集包含全部的商品,用户及查询,超边集包含全部的三元关系。

2)Embedding 生成模块:初始化节点的表示。

3)聚合模块:利用邻接点信息来优化embedding。由于构建的是超图,因此信息分两步传递。对于任一个节点,先将其邻接点的信息传递到相关的超边中,再利用超边的信息改进该节点的表示。值得一提的是,作者认为传统的线性聚合方式是不充分的。在个性化搜索中,邻居节点之间的交互是一个非常强的信号。比如一位用户提出查询“女士包”,并购买了“爱马仕”牌的包,通过query与product之间的交互,可以生成出一段对建模用户偏好非常有用的语义:“女士奢侈品牌”。为此,作者提出需要建模邻居节点之间的高阶特征交互。

具体来说,给定任一节点,对于任一与它相接的超边,先将邻接点的信息传递到中:

再将超边的信息传递给 :

4) 预测模块:利用学习到的embedding进行预测。GraphSRRL利用自己设计的conjunctive graph patterns进行学习,如用户在提出相同的查询下购买相同的商品,则应该具有类似的偏好。对于这样的特征,IHGNN也能提取:在embedding aggregation下,的信息会同时传递给,促使相似。除此以外,IHGNN还能提取更多的结构信息,实验也表明IHGNN效果优于GraphSRRL.

8. Learning a Fine-Grained Review-based Transformer Model for Personalized Product Search (SIGIR 2021)

作者提出,现有的大多数个性化商品搜索模型都遵循着在语义空间表示和匹配用户购买意图以及商品的范式。在这种情况下,商品的得分仅能通过用户和商品级别的相似性来解释,而无法考虑细粒度的匹配,比如用户和商品的评论间的关系。因此,这些模型无法充分捕捉用户评论中体现的用户偏好以及商品评论中体现的商品特征之间的匹配关系。除此以外,尽管之前的一些工作尝试构建动态的用户表示,但是商品的表示一般都是静态的。在这种情况下,所有相关的商品评论都被认为同等重要,但这在面对不同的用户时显然是不合理的。

为此,作者提出了review-based transformer model(RTM)来解决上述问题。通过Transformer结构来编码查询,用户评论,商品评论组成的序列。此时RTM可以在用户和商品之间进行评论级别的匹配,而一个商品取得高分就可以通过一些有用的评论受到更高的关注来解释。

具体来说,令 q 表示用户提交的查询, 分别表示的评论。将序列输入到层Transformer编码器中,使得查询,用户的评论,商品的评论可以互相交互。

最终,RTM使用 在最后一层的输出向量来计算商品的得分。也就是说,给定用户和查询 ,商品 最终的得分为,其中 

与ZAM类似,RTM也可以做到从无个性化到完全由个性化影响的动态调整。但与ZAM仅考虑用户与查询之间的交互来决定个性化程度不同的是,RTM同时考虑了商品的影响。这使得即便针对相同的用户和查询,购买不同的商品也将导致不同程度的个性化。

小结

在商品搜索模型中,个性化的引入无疑提升了搜索性能。通过学习用户的兴趣爱好,为每个用户提供不同的搜索结果,不仅改善了用户的搜索体验,也会为电商公司提供更高的收益。从以上文章可以看出,关于个性化商品搜索的研究方向多种多样,如怎样建模用户偏好,怎样利用交互中的结构信息,怎样利用用户反馈信息等等,都值得更深一步的思考与探索。

希望本文能够帮助读者了解个性化商品搜索的相关概念与模型。欢迎大家批评与讨论。

一起交流

想和你一起学习进步!『NewBeeNLP』目前已经建立了多个不同方向交流群(机器学习 / 深度学习 / 自然语言处理 / 搜索推荐 / 图网络 / 面试交流 / 等),名额有限,赶紧添加下方微信加入一起讨论交流吧!(注意一定o要备注信息才能通过)

参考文献

[1] Learning a Hierarchical Embedding Model for Personalized Product Search. SIGIR 2017

[2] Attentive Long Short-Term Preference Modeling for Personalized Product Search. TOIS 2019

[3] A Zero Attention Model for Personalized Product Search. CIKM 2019

[4] A Transformer-based Embedding Model for Personalized Product Search. SIGIR 2020

[5] Explainable Product Search with a Dynamic Relation Embedding Model. TOIS 2019

[6] Structural Relationship Representation Learning with Graph Embedding for Personalized Product Search. CIKM 2020

[7] IHGNN: Interactive Hypergraph Neural Network for Personalized Product Search. WWW 2022

[8] Learning a Fine-Grained Review-based Transformer Model for Personalized Product Search. SIGIR 2021

END -

万物皆可Graph |  当信息检索遇上图神经网络

2022-02-17

我与NLP这七年

2022-02-12

向量检索模型落地:瓶颈及解法!

2022-02-11

Green Deep Learning:NLP在大模型之外的另一种思路!

2022-01-22

个性化商品搜索相关研究梳理相关推荐

  1. 最大化内积搜索相关研究 (Maximum Inner Product Search, MIPS)

    前言 如果你对这篇文章感兴趣,可以点击「[访客必读 - 指引页]一文囊括主页内所有高质量博客」,查看完整博客分类与对应链接. MIPS 问题即在一个向量集合 S \mathcal{S} S 中,找到一 ...

  2. 伍哥原创之豆荚商城商品搜索架构介绍

    为什么80%的码农都做不了架构师?>>>    豆荚商城(www.dou55.com)商品搜索架构介绍 1,需求分析 伍哥所在的豆荚商城是一个家电行业的B2C网上零售平台.作为这样一 ...

  3. 京东11.11:商品搜索系统架构设计解密

    原文地址:https://blog.csdn.net/u012598110/article/details/54018856 刘尚堃,京东推荐搜索部技术总监,有丰富的团队管理经验以及推荐.搜索.广告产 ...

  4. 个性化智能推荐技术研究总结

    个性化智能推荐技术研究总结 随着网络与信息技术的飞速发展,互联网为用户提供越来越多的信息和服务,用户在得到便利的同时也不得不面临大量的垃圾信息和无意义数据,即所谓的信息超载问题.面对海量的网络资源,个 ...

  5. 京东的商品搜索功能是如何实现的_「商品架构day8」京东几百亿的商品怎么搜索...

    本文来自京东王春明老师的分享,主要介绍京东商品搜索的整体架构. 京东商品搜索简介 京东商品搜索引擎是搜索推荐部自主研发的商品搜索引擎,主要功能是为海量京东用户提供精准.快速的购物体验.目前入口主要有P ...

  6. 详谈京东的商品搜索系统架构设计

    京东商品搜索引擎是搜索推荐部自主研发的商品搜索引擎,主要功能是为海量京东用户提供精准.快速的购物体验.虽然只有短短几年的时间,我们的搜索引擎已经经过了多次618店庆和双11的考验,目前已经能够与人们日 ...

  7. 京东亿级商品搜索核心技术解密

    声明:本文来自京东张开涛的微信公众号(kaitao-1234567),授权CSDN转载,如需转载请联系作者. 作者:王春明,现任京东搜索平台部负责人,2011年加入京东搜索团队,期间一直负责京东搜索引 ...

  8. 京东亿级商品搜索排序规则技术全面公开

    作为京东商家不需要读懂搜索规则的数据处理,2019年算法的变革将继续加大力度,毕竟搜索的流量依旧是京东商家主要的流量获取入口,今天的文章着重解密京东搜索技术,帮助商家更好理解. 助教:鹿鸣  |  作 ...

  9. 浅谈淘宝类目属性体系:商品搜索背后的逻辑架构

    转载自:http://www.geekpark.net/news/205894 摘要 淘宝拥有百万家商户和超过10亿的商品数,它如何让用户精准地找到想要的商品呢?其背后有着强大的技术支撑. 淘宝目前在 ...

最新文章

  1. Boost:实现了k-means聚类算法
  2. php+redis队列流程
  3. 基于Guava API 轻松落地观察者模式
  4. LDAP 中关于CN,OU,DC的含义
  5. Unity Hub安装Android Build Support报错:Failed to delete old Unity Android Supprtinstallation files
  6. Linux kernel进行编译时提示No rule to make target `menconfig'
  7. UIAlertView使用全解
  8. django之视图view小知识
  9. JavaScript数据类型的隐式转换
  10. 511遇见易语言取屏幕分辨率和设置屏幕分辨率
  11. html英文读法,classin读音发音 classln英文怎么读?
  12. Python之scrapy实现的爬虫,百度贴吧的自动签到和自动发帖、自动回帖
  13. 利用requests库和BeautifulSoup库爬取链家二手房的基本数据
  14. vue基于element组件的国籍选择框
  15. Linux内核源码分析—从用户空间复制数据到内核空间
  16. Android使用和风天气接口获取天气数据在APP中展示天气
  17. vggface2人脸识别数据集
  18. 使用you-get工具下载MP4视频
  19. 10.数据中台 --- 数据中台运营机制
  20. python crash coures python编程从入门到实践 笔记1 python常见函数

热门文章

  1. SAP License:你熟悉SAP的统驭科目吗?
  2. 智取风控特征—巧用PBOC落地额度模型
  3. web端业务数据管理平台+Axure运营数据管理平台+月度数据统计分析+年度排行榜数据统计页面分析+运营大数据统计管理后台+用户信息管理+Axure通用web端高保真交互业务数据管理平台
  4. P1640 [SCOI2010]连续攻击游戏
  5. NOIP 贪心 国王游戏
  6. xampp服务器搭建和使用
  7. leetcode第一刷_Word Search
  8. html5移动web开发实战必读书记
  9. 常对象和常函数的关系 const
  10. spark pair RDD