点击上方,选择星标置顶,每天给你送干货

阅读大概需要6分钟

跟随小博主,每天进步一丢丢

整理:极验

作者:Roxana Pamfil

在互联网时代,推荐系统无处不在。不仅可以向用户推荐实体商品,还可以推荐电影、歌曲、新闻报道、酒店旅行等,为用户提供量身定制的选择。这些系统中有许多都涉及了协同过滤——根据其他相似用户的偏好向用户推荐 item。推荐系统的背后还用到了包括矩阵分解、邻域方法以及各种混合方法。

对用户和 item 之间的交互进行建模一种很直观的方法是使用二部图。在下面的示例中,用户与之前购买的商品建立了关联。通过在这样的网络中进行边预测,可以解决两个重要的业务问题:

1、Recommendations ——我们应该给用户推荐哪些新商品?

2、Targeting ——对于特定的商品,在促销活动中我们应该关联哪些用户?

网络和社区结构

网络是系统的抽象表示,其中称为节点的对象通常以成对的方式通过边相互交互。图网络在很多领域中用于解决实际问题,例如检测 Twitter 上的恶意机器账户,发现电网中的漏洞以及预测蛋白质性质来进行新药物的研发。很多网络的共同特征是它们具有模块化结构,这意味着节点可以集群为关系紧密的簇,称为社区。在购物网络中,社区会显示具有相似偏好的客户群以及他们购买最多的商品。

推荐方法

从直觉上讲,尚未购买的客户社区中的商品是潜在的建议。同样,在针对给定商品的促销活动中,要定位的最佳客户是该商品社区中的用户。让我们关注第二种情况,并详细描述该过程。

网络的构建

根据交易数据构建网络需要定义一组唯一的客户,一组商品以及购买的时间段。 客户和商品之间的边表示在指定时间段内发生了相应的购买。由于其中一些购买量比其他购买量大,因此需要增加权重。权重的选择包括商品数量(此用户购买了多少香蕉?)和一种归一化的方式 item penetration(这个用户购买的商品中香蕉所占的比例)。

社区检测

该过程的下一步是使用社区检测算法,将客户和商品划分为社区。有很多方法可以做到这一点,但是我们决定采用一种流行的方法,即 modularity maximisation。该方法通过最大化模块度 Q 来获得最优的网络社区划分。这是一个 NP 难问题,因此研究人员开发了各种启发式算法(例如 Louvain 算法),以找到兼顾准确性和速度的良好解决方案。(而且,当网络拥有五亿条边时,速度非常重要!)

社区检测是一个优化问题

随机块模型

现在,我们拥有一个网络,其中每个客户和商品都属于一个社区。下一步是估计一组描述不同块中节点如何相互连接的边倾向参数θrs。更准确地说,在我们的客户-商品网络中,观察到的 r 区客户连接到 s 区商品的概率与 θrs 成正比。因为社区具有较大的内部边密度,这些概率中的最大概率对应于 r = s

三个社区的参数

购买概率

现在,我们有了数据的统计网络模型,该模型可以计算任何用户和产品之间存在边的概率。对于社区 r 中的用户 c 和社区 s 中的产品 p,此概率为:

上式有三个重要的因素:

1、特定社区的购买概率 θrs ,即社区 r 中的顾客在社区 s 购买产品的概率。

2、用户节点 c 的度,它等于该节点的边数。因此,该模型将更大的概率分配给购买更多独特产品的用户。

3、商品节点 p 的度。该模型将更大的概率分配给受欢迎的商品。

比例因子是一个常数,可确保最终结果具有明确的概率。

计算购买概率

用户排名

最后,将上一步中的购买概率从最大到最小排序,得出客户对目标商品意向的排名。然后,可以向排名靠前的客户发送优惠券并将新用户介绍给品牌。

验证

为了测试该方法与更简单的 Targeting 方法的比较,我们分析了一个促销活动的数据,在该活动中,向10万名客户邮寄了酸奶促销优惠。选择这些用户的依据是,他们之前有参与过促销活动,或者购买竞争对手产品的可能性。我们使用上述的网络模型,根据 100,000 名用户对促销酸奶的意向进行排名。如果排名较高的客户要比排名较低的客户兑换更多的优惠券,则相应的排名具有预测力,这表明相同的方法对于识别将来的广告系列的相关客户可能很有用。我们使用基于类别支出的排名作为比较的基准。

因此,我们有两种根据客户对促销酸奶的意向进行排名的方法,并使用收益表比较这些排名。在收益图表中,可以绘制出积极反应的百分比(在本例中为兑换的优惠券的百分比)与人口规模的函数关系。如果排名较高的客户中有更多积极的响应,则排名是可预测的,并且该排名对应于图表中对角线上方的曲线。

结果表明,该网络模型胜过 spend rank,并且通常更适合于识别可能兑换优惠券的客户。尤其有趣的是,在与品牌互动较少的低消费客户中,效果差距更为明显。这表明我们可以根据客户与社区中客户之间的相似性,而不仅仅是他们过去的购买记录,来了解客户对商品的意向。

总结

二部图是购买数据的自然表示。一项重要任务是预测新的边,可以将其引入推荐系统和针对性的促销活动。在计算性能方面,社区检测是我们描述的过程中最耗时的部分。

该 network 方法的主要优势在于它不受监督。它不需要生成用户或商品特征(这可能很耗时),也不需要标签数据进行训练。另一个优点是,网络在稀疏设置下可以很好地工作。例如,如果客户只购买了一种或两种产品,则受监督的方法可能会因缺乏足够的训练数据而苦苦挣扎。相反,将此类用户分配给社区并计算相应的边概率不会带来任何问题。最后,网络模型可以相对容易地扩展到更复杂的场景,这些场景包括例如时间信息,节点元数据或有关产品层次结构的信息。

原文链接:

https://medium.com/dunnhumby-data-science-engineering/network-models-for-recommender-systems-7f0d6d210ccf


方便交流学习,备注:昵称-学校(公司)-方向,进入DL&NLP交流群。

方向有很多:机器学习、深度学习,python,情感分析、意见挖掘、句法分析、机器翻译、人机对话、知识图谱、语音识别等。

记得备注呦

推荐阅读:

【ACL 2019】腾讯AI Lab解读三大前沿方向及20篇入选论文

【一分钟论文】IJCAI2019 | Self-attentive Biaffine Dependency  Parsing

【一分钟论文】 NAACL2019-使用感知句法词表示的句法增强神经机器翻译

【一分钟论文】Semi-supervised Sequence Learning半监督序列学习

【一分钟论文】Deep Biaffine Attention for Neural Dependency Parsing

详解Transition-based Dependency parser基于转移的依存句法解析器

经验 | 初入NLP领域的一些小建议

学术 | 如何写一篇合格的NLP论文

干货 | 那些高产的学者都是怎样工作的?

一个简单有效的联合模型

近年来NLP在法律领域的相关研究工作


让更多的人知道你“在看”

【推荐系统】推荐系统中的图网络模型相关推荐

  1. 一文了解推荐系统中的图神经网络

    来源:RUC AI Box本文约4600字,建议阅读9分钟 本文主要介绍推荐系统中的图神经网络,欢迎交流探讨! [ 引言 ]近年来,GNN技术由于其在图数据学习方面的出色表现,在许多领域得到了广泛的应 ...

  2. 浅谈推荐系统中的图神经网络

    前言 近年来,GNN技术由于其在图数据学习方面的出色表现,在许多领域得到了广泛的应用.在推荐系统中,大部分信息本质上具有图结构,而由于GNN对于表示学习具有一定的优势,所以GNN在推荐系统相关领域的应 ...

  3. 推荐系统的中的正排和倒排

    在推荐系统的实际业务场景中,当我们针对业务场景优化推荐策略,尤其是召回策略时,大部分情况下需要工程同学对索引的支持.比如本地化推荐,我们就要以物料中带有City_id(城市id),并且City_id ...

  4. 推荐系统实战中LR模型训练(二)

    背景: 上一篇推荐系统实战中LR模型训练(一) 中完成了LR模型训练的代码部分.本文中将详细讲解数据准备部分,即将文本数据数值化为稀疏矩阵的形式. 文本数据: 稀疏矩阵: 实现过程: 文本数据格式如下 ...

  5. 如何在图数据库中训练图卷积网络模型

    在图数据库中训练GCN模型,可以利用图数据库的分布式计算框架现实应用中大型图的可扩展解决方案 什么是图卷积网络? 典型的前馈神经网络将每个数据点的特征作为输入并输出预测.利用训练数据集中每个数据点的特 ...

  6. 机器学习/推荐系统/推荐系统算法工程师面试指导

    面试指导 文章目录 面试指导 1.机器学习/推荐系统/推荐系统算法工程师面试技能图 2.1 推荐系统算法相关面试笔试题 2.2 机器学习相关问题 重点: 2.3 框架方面 2.4 业务流程 3.简历指 ...

  7. 当图网络遇上计算机视觉!计算机视觉中基于图神经网络和图Transformer的方法和最新进展...

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 点击进入-> CV 微信技术交流群 可能是目前最全面的<当图网络遇上计算机视觉>综述!近四 ...

  8. 硬核!一文梳理经典图网络模型

    本文共2700字,建议阅读5分钟 今天我们就来整体梳理一些经典常用的图网络模型:DeepWalk.GCN.Graphsage.GAT! 图神经网络已经在NLP.CV.搜索推荐广告等领域广泛应用. 1. ...

  9. KVM中四种网络模型(三)

    1.隔离模型 该模型的特点是宿主机上的所有虚拟机之间可以组建网络,但是虚拟机无法与宿主机进行通信,也无法与其他网络的主机或其他宿主机上的虚拟机进行通信:相当于将虚拟机只是连接到一个交换机上,而这个交换 ...

  10. 【GNN】硬核!一文梳理经典图网络模型

    作者 | Chilia 哥伦比亚大学 nlp搜索推荐 整理 | NewBeeNLP 图神经网络已经在NLP.CV.搜索推荐广告等领域广泛应用,今天我们就来整体梳理一些经典常用的图网络模型:DeepWa ...

最新文章

  1. 织梦 新建 php arclist,织梦arclist按照自定义字段来调用相关文章
  2. oracle全库快照,Oracle数据库快照的使用
  3. 数据结构-二叉树面试 常考
  4. 科普一下人工智能领域的研究方向
  5. Python 必知的 20 个骚操作!
  6. (46)Xilinx ILA IP核配置(七)(第10天)
  7. 如何root安卓手机_如何从我的字体里面提取TTF并阉割成未Root安卓手机能用的?...
  8. EPS学习笔记1----------常用快捷键
  9. 数字图像处理与分析---指纹图像增强(Python)
  10. 在网站中使用VideoJs视频播放器播放视频
  11. 《移动端UI框架》Vant
  12. java事务和分布式事务详解
  13. 从Activiti切换到Camunda的5个理由
  14. 黑马旅游网编写练习(8)--旅游线路查询功能
  15. Windows11无法打开 WindowsTerminal 图形化设置界面
  16. IDEA必装插件-Gyro(强烈推荐)
  17. 总结机器学习优化器Optimizer
  18. 一个项目中不能同时出现两个main函数
  19. 搭建自己Android开发框架
  20. 公司客户网上报修系统V12.1

热门文章

  1. selenium指定驱动路径
  2. 利用Python实现一个感知机学习算法
  3. ajax切换明星头像!
  4. Android内存、性能是程序永恒的话题
  5. delphi中WMI的使用(一)
  6. Linux 下Nginx+Tomcat 完美整合 nginx tomcat 整合方式
  7. C++的三种交换数值的方式(值传递、地址传递、引用传递)
  8. shell脚本基础练习题
  9. 理解URL以及如何区分相对URL和绝对URL
  10. HttpMessageConvert