8、Situation-Dependent Combination of Long-Term and Session-Based Preferences in Group Recommendations: An Experimental Analysis ----组推荐中基于长期和会话偏好的情景依赖组合
一、摘要:
背景:会话组推荐系统的一个主要挑战是如何适当地利用群组成员之间的交互引起用户偏好,这可能会偏离用户的长期偏好。长期偏好和群组诱导的偏好之间的相对重要性应该根据具体的群组设置而变化。
本文:通过实验,结论:当群组讨论对群组成员的喜好没有影响时,长期偏好占有更大权重。而当群组上下文促使成员有更多或更少的相似喜好时,群组诱导偏好占有更大权重。
二、引言:
背景:传统的推荐系统注重于个性化推荐,但是现在存在许多需要满足一组用户需求的场景。例如,一群朋友或者一个家庭需寻找一个餐厅,这导致了群组推荐系统的发展。
问题:群组推荐系统在提高推荐质量的研究已经有了一定的进展,但是群组决策过程的动态性还没有得到充分的探索。事实上,大多数研究都注重融合群组成员静态偏好的方法,这些方法忽略了在特定组上下文中用户的行为,并且忽略了用户偏好的变化,【这些变化经常发生在群组决策过程中】
本文:提出一个会话群组重修正模型,该模型既考虑了个体的长期偏好【由项目评分获得】,还考虑了用户在群组讨论期间对项目的直接反馈【其反应了用户当前的需求】。该模型是在一个提供聊天环境的群组推荐系统中实现的,该推荐系统集成了各种决策支持和重新通知的功能。
在该系统可能存在群组成员面对群组情景有不同的社会表现。例如:群组成员可以根据个人想法表达自己观点,也可以改变自己的观点以接受他人的影响,或者他们采取与团队建议相反的行动。
本文的目的:研究如何在上述场景中适当地结合长期偏好和会话特定的偏好。
三种社会影响:(a)独立性——群组对用户偏好没有影响。(b)转换——群组推动成员之间有更多相似的偏好。(c)反一致性——群组使成员有更多的不同偏好。
偏好组合战略的三个变体:(一)长期和基于会话偏好的重要性相等(二)长期偏好更重要(三)会话偏好更重要。
三、群组推荐
在以往的模型中,组推荐系统通过项目评分来获得长期偏好,但是,在群组讨论中,群组成员可能偏离他们之前所观察到的偏好。这可能是由于其他群组成员和群组决策动态的影响。
因此,需利用两个偏好来生成且持续更新用户的偏好模型。
- 成员偏好模型由函数来表示,
- 对群组成员的效用函数进行聚合,建立群组偏好模型。
- 根据该组偏好来对群组推荐项目进行排序。
每个用户的偏好模型由效用函数表示:

这里 x(i) = (x1(i), . . . , xn(i))是一个n维bool特征向量,其表示项目i。 xj(i) = 1 (xj(i) = 0) 表示项目有(无)第j个特征。例如:
x(5) = (1,0,1,0)意味着项目5包含第1和第3个特征,没有第2和第4个特征。
w表示用户偏好,权重。wj(u)表示用户u对第j个项目特征的重要程度。所有权重相加等于1,且大于0,越大越重视。
1、基于内容的方法生成表示用户的长期偏好的效用向量:

是由用户u打分的项目集合,K是归一化因子。例如:

2、会话偏好
当群组决策过程中,假设用户为群组讨论提出项目并评估其他群组成员提出的项目。
在小组讨论中,所有项目被分为四组:BS(u)(最佳项目)、LS(u)(喜欢项目)、NS(u)(中性项目)、DS(u)(不喜欢项目)。
假设用户偏好具有较大效用的项,故以下满足约束:

:群组g中用户u的项目效用集合。
比如:

3、用户和群组的效用函数:
用户u的群组会话偏好:

w (g)表示群组所有成员的平均会话偏好。wg(u)需要满足约束
,同时与w(g)的余弦相似度最大。
原始用户长期偏好和会话偏好的线性组合:

以下表示用户长期偏好受群组诱导偏好的影响,产生的真实效用向量。其中,γ就是控制偏好组合三个变体的参数。

整体算法:

8、Situation-Dependent Combination of Long-Term and Session-Based Preferences in Group Recommendations: An Experimental Analysis ----组推荐中基于长期和会话偏好的情景依赖组合的更多相关文章
- Bayeux协议
Bayeux 协议-- Bayeux 1.0草案1 本备忘录状态 This document specifies a protocol for the Internet community, and ...
- READ–IT: Assessing Readability of Italian Texts with a View to Text Simplification-paper
https://aclanthology.info/pdf/W/W11/W11-2308.pdf 2 background2000年以前 ----传统可读性准则局限于表面的文本特征,例如the Fle ...
- linux用户权限管理, chmod, ln
1 /etc/passwd文件 用户名 密码 UID GID Full Name 主目录 ...
- 加州大学伯克利分校Stat2.3x Inference 统计推断学习笔记: Section 4 Dependent Samples
Stat2.3x Inference(统计推断)课程由加州大学伯克利分校(University of California, Berkeley)于2014年在edX平台讲授. PDF笔记下载(Acad ...
- 从Leetcode的Combination Sum系列谈起回溯法
在LeetCode上面有一组非常经典的题型--Combination Sum,从1到4.其实就是类似于给定一个数组和一个整数,然后求数组里面哪几个数的组合相加结果为给定的整数.在这个题型系列中,1.2 ...
- [Swift]LeetCode40. 组合总和 II | Combination Sum II
Given a collection of candidate numbers (candidates) and a target number (target), find all unique c ...
- leetcode 39. Combination Sum 、40. Combination Sum II 、216. Combination Sum III
39. Combination Sum 依旧与subsets问题相似,每次选择这个数是否参加到求和中 因为是可以重复的,所以每次递归还是在i上,如果不能重复,就可以变成i+1 class Soluti ...
- 数字组合问题:Combination,CombinationSum,CombinationSum2,CombinationSum3
Combination问题描述:给定n和k,找出1-n之间所有k个数的组合,例如:n=3,k=2,返回 [[1,2] [1,3] [2,3]] 算法分析:利用递归.递归边界就是curr.size( ...
- WebSocket最简易理解,term.js插件的使用
介绍WebSocket WebSocket我想大家并不陌生,无论你的的工作中是否用到了它,都或多或少听说过,它是h5中新增的,在某些方面可以很好的替代我们一直沿用的ajax技术,甚至更加的出色.但是它 ...
随机推荐
- ZooKeeper伪集群的搭建(Windows)
首先下载 zookeeper 地址:https://www.apache.org/dyn/closer.cgi/zookeeper/ 1.下载完成解压后修改文件夹名字为zookeeper1,然后删除c ...
- Android 将Android项目打包成aar文件
参考资料:https://blog.csdn.net/csdn_mm/article/details/78364444
- 【图像处理】使用OpenCV实现人脸和行人检测
OpenCV全称是Open source Computer Vision Library(开放源代码计算机视觉库),是一个用于图像处理.分析.机器视觉方面的开源函数库,提供了很多图像处理的工具和可 ...
- /proc/vmstat 详解
参考 #cat /proc/vmstat nr_free_pages 20223354 nr_alloc_batch 899 nr_inactive_anon 393025 nr_active_ano ...
- 【BZOJ1367】【Baltic2004】sequence - 可合并堆
题意: 题解: 其实这是道水题啦……只不过我没做过而已 先考虑构造不严格递增序列,考虑原序列中的一段下降区间,显然区间中的$z$全取中位数最优: 那么可以把原序列拆成很多个下降序列,从头到尾加入原序列 ...
- [LUOGU2730] 魔板
搜索水题.因为只有8个数,排列一共有40320种,直接bfs,判重就行了. 但是判重的时候直接用8进制表示的话要88的bool数组.这种操作太low了,于是我们可以用康托展开,降成8!. 康托展开其实 ...
- Elasticsearch架构原理
架构原理 本书作为 Elastic Stack 指南,关注于 Elasticsearch 在日志和数据分析场景的应用,并不打算对底层的 Lucene 原理或者 Java 编程做详细的介绍,但是 Ela ...
- jquery-Kendo框架
从github上下载的包是完整的,可以根据readme.md上的步骤来操作 从官网下的那个包不是完整的,里面没有例子,只有源文件
- C++ 嵌入汇编程序提高计算效率
因为汇编语言比C++更接近硬件底层,所以在性能要求高的程序中往往能够採取在C++代码中嵌入汇编的方式来给程序提速. 在VC中能够简单的通过 __asm { //在这里加入汇编代码 } 来实现. 以下通 ...
- Android开发之控制手机音频
本实例通过MediaPlayer播放一首音乐并通过AudioManager控制手机音频.关于AudioManager的具体解释可參照:Android开发之AudioManager(音频管理器)具体解释 ...