Short-Session的推荐如何做?

现存的session-based recommender system(SBRSs)模型目标是预估用户下一次行为,用的都是长session,而忽视了短session,如购物篮(下图分布所示),大多session都较短,这篇论文就是提出了一个为短session服务的模型架构.

v2-f0933ef0d6663613475d52766553d92e_b.jpg

v2-fb2f1b82ac1af63b0cbd0accba34b41c_b.jpg

v2-34ed1b62b2e2f7087735bada18189c83_b.jpg

从架构图中我们可以看到有个Global Module用于学习其他session的先验知识,包括当前用户的历史session和相似用户的历史session.还有个Prediction Module基于Global Module和用户当前序列学到的倾向去预估下一个item.Local Module学习了用户当前倾向的向量表达hc.这里我们需要知道的是,hc可以直接经过mlp并softmax学习下个item,但是论文提到当前session监督信息过少,需要Global Module进行补充,所以我们给hc加上先验知识,如下式所示:

v2-ad80ac273d0c32c13df999d1a7a8c0fe_b.jpg

因为要找到当前用户最相似的用户,我们可以通过历史交互item的重叠度来衡量相似性:

v2-1b6ae4485c174c6706f16955cec1d5d6_b.jpg

上图中的SSRN模块也比较简单,就是用hc和其他session每个item相似度的最大值作为与该session的相似度,再将Session Encoder的结果进行聚合.

Session Encoder:

v2-8218e134efe874542bf5b052475fc9f1_b.jpg

v2-feb1932906b7e8abe69da1a6f9714a3c_b.jpg

v2-6c442855d812fde7a6fc1b1aea49086f_b.jpg

最后先验知识为:

v2-fbfae7675e974e4c5e6dee89c5fe199d_b.jpg

v2-8ea837aacb342460a635314540b116d4_b.jpg

1、arxiv.org/pdf/2107.0745

v2-1641df4d1d7cc969d2fb3968347dc3f0_b.jpg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这段代码是用于解析UDP协议的数据包,并将数据包中的源端口、目的端口、长度等信息打印出来。其中,struct udp_header是一个自定义的结构体,用于存储UDP协议的头部信息。 首先,代码定义了三个变量:udp_protocol、source_port、destination_port和length。其中,udp_protocol是一个指向struct udp_header结构体的指针,用于获取UDP协议的头部信息;source_port和destination_port分别用于存储源端口和目的端口;length用于存储UDP数据包的长度。 接下来,代码通过将packet_content(包含IP协议和UDP协议数据的整个数据包)的起始地址加上20(IP协议头部长度),来获取UDP协议数据。 然后,代码使用ntohs函数将获取到的源端口和目的端口从网络字节序转换为主机字节序,并将结果分别保存到source_port和destination_port变量中。将获取到的长度通过ntohs函数进行字节序转换后,保存到length变量中。 最后,代码打印UDP协议头部的信息,并根据目的端口号,判断上层协议类型并打印出来。其中,根据端口号来判断上层协议类型的方法是基于TCP/IP协议栈中的相关规定而来。 需要注意的是,这段代码只是一个简单的UDP协议解析示例,实际应用中还需要根据具体需求对代码进行修改和优化。另外,如果要解析其他协议的数据包,也需要根据具体协议格式进行相应的解析。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值