0%

WWW’21 , DICE模型

Abstract

造成用户从众行为的潜在原因有很多,我们需要把用户真实兴趣与从众因素解耦,所以提出了DICE模型,它可以嵌入于各种 backbone 推荐方法。我们分别为用户和物品分配兴趣和盲从性的embeddings,并利用训练数据达到只让embedding捕捉一种特征的效果。

阅读全文 »

Abstract

之前的方法大多是 predefined 的策略,对于 ad-hoc 的组群(或称 cold-start groups)则无能为力。组群推荐是动态的,每个成员的权重不同,且同一用户在不同组的权重也是不同的。本文针对 Occasional Group Recommendation (OGR),要解决偏好聚合与数据稀疏的问题,故提出 GroupSA,一是将决策视为投票过程,模拟决策的形成;二是使用了 user-item、user-user 的数据,弥补数据稀疏性问题。

Introduction

最近一些工作,如 AGREE 和 SIGR 使用了原始的注意力机制来学习决策过程,但有两个重要问题:

  1. 忽视了组群成员之间的交互(争论、投票)
  2. 没有考虑成员的专业知识技能

文中描述了组群的决策过程:先是朋友之间充分交换意见,然后投票选择一些当前话题下的专家,让专家们来决定。

GroupSA使用了自注意力机制。

阅读全文 »

第六章 面向对象程序设计

1. 定义与使用

1
2
3
4
5
6
class Car:      # 定义
def info(self):
print('Car.')

car = Car() # 实例化
car.info()
阅读全文 »

第三章 选择与循环

1. 条件表达式

异或:符号 ^ ,就是说两个值不相同,则异或结果为真。反之,为假。 不同为1,相同为0。

Python中值为0、False、None或空对象均被视为False

阅读全文 »

最近有时间,终于重启了自己的在 GitHub Pages 上的博客,用 hexo 建立网站确实省心省力,然而我也遇到了一些问题,在此记录一下 hexo 部署时的小波折。

阅读全文 »

第一章 基础知识

1. 基础

IDEA中安装Python插件,即可满足学习需要

IDE中要运行一个程序,必须写好这么一行

1
if __name__ == '__main__': 

意思是:当模块被直接运行时,以下代码块将被运行;当模块是被导入时,代码块不被运行。

阅读全文 »

最近遇到了一道算法题,求有向无环图(DAG)的最长路径,在这里记录下我的思路和解法。

首先是图的定义,这里根据严蔚敏的《数据结构》来:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#define MAX_VERTEX_NUM 10
typedef char VertexType;

typedef struct ArcNode{ // 边表结点
int adjvex;
struct ArcNode *nextarc;
}ArcNode;

typedef struct VNode{ // 顶点表结点
VertexType data;
ArcNode *firstarc;
}VNode, AdjList[MAX_VERTEX_NUM];

typedef struct{ // 邻接表
AdjList Vertices;
int vexnum, arcnum;
}ALGraph;
阅读全文 »

版权声明:本文为CSDN博主「萧萧冷」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lengxiao1993/article/details/81568130

Java 中的锁

在 Java 中主要有两种加锁机制:

  • synchronized 关键字
  • java.util.concurrent.Lock (Lock是一个接口,ReentrantLock是该接口一个很常用的实现)

这两种机制的底层原理存在一定的差别。synchronized 关键字通过一对字节码指令 monitorenter/monitorexit 实现, 这对指令被 JVM 规范所描述。java.util.concurrent.Lock 通过 Java 代码搭配 sun.misc.Unsafe 中的本地调用实现锁。

阅读全文 »

1. 背景

在 Java 开发过程中,锁是非常常见的,如 synchronized、ReentrantLock等,一般我们用其在多线程环境中控制对资源的并发访问。在一个单机环境中实现锁比较简单,因为多线程之间可以共享内存,因此可以简单的采取内存作为标记存储位置。而在分布式环境中,多线程变成了多进程,我们原本布置的锁将在这种场景下失效。因此,分布式锁就应运而生了。

阅读全文 »