携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第17天,点击查看活动详情
前言
Hello! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~ 自我介绍 ଘ(੭ˊᵕˋ)੭ 昵称:海轰 标签:程序猿|C++选手|学生 简介:因C语言结识编程,随后转入计算机专业,获得过国家奖学金,有幸在竞赛中拿过一些国奖、省奖...已保研。 学习经验:扎实基础 + 多做笔记 + 多敲代码 + 多思考 + 学好英语! 唯有努力💪
知其然 知其所以然!
本文仅记录自己感兴趣的内容
简介
原文链接:link.springer.com/chapter/10.…
会议:Joint European Conference on Machine Learning and Knowledge Discovery in Databases
年度:2020/4/30
Abstract
身份拼接(Identity stitching),即在现实网络服务中识别和匹配同一用户的各种在线引用(例如,不同设备和时间跨度的会话)的任务,对个性化和推荐至关重要
然而,传统的用户拼接方法,如分组或阻塞,需要对大量用户活动进行两两比较,从而带来了计算和存储方面的挑战
最近的一些研究,通常是针对具体应用的,启发式地寻求减少比较的数量,但它们受到了低精度和召回率的困扰
为了以独立于应用程序的方式解决这个问题,我们采用了一种基于异构网络的方法,在这种方法中,用户(节点)与内容(例如,会话,网站)交互,并可能有属性(例如,位置)
我们提出了node2bits,这是一个有效的框架,它用二进制哈希码( binary hashcodes) 表示节点上下文的多维特征
- node2bits利用基于特征的时间漫步来封装异构web网络中节点之间的短期和长期交互
- 并采用SimHash来获得紧凑的二进制表示,避免相似性搜索的二次元复杂度
在大规模真实网络上的大量实验表明,node2bits优于传统技术和现有的生成真实值嵌入的工作
在用户拼接的F1分数上提高了5.16%,而只占用高达1.56%的存储空间
1 Introduction
个性化和推荐通过提供相关体验和处理新闻、网络搜索、娱乐等方面的在线信息过载来提高用户满意度
随着时间的推移,准确地建模用户的行为和偏好是个性化的核心
然而,跟踪用户的在线活动是一项挑战,因为用户每天要与来自不同地点的数十台联网设备互动,导致用户档案碎片化
如果没有统一的概要文件,所观察到的用户数据就会很稀疏,不能代表总体,并且不能准确地预测业务的成功
在这项工作中,我们解决了身份或用户拼接的问题,其目的是识别和分组登录和匿名会话,对应于同一个用户,尽管发生在不同的渠道,平台,设备和浏览器[30],也称为实体链接、记录链接和重复检测[2,6,21]
与实体解析不同,实体解析提供每个用户的文本信息(如姓名、地址),身份拼接仅依赖于用户与在线内容和网络元数据的交互
虽然cookie可以帮助缝合同一用户的几个不同的会话,但许多用户有多个cookie(例如,每个设备或web浏览器的一个cookie)[8],大多数cookie过期
这个问题是一种实体或身份解析[2,13]的形式,在很短的时间后,因此不能帮助缝合用户随着时间的推移
类似地,IP地址在不同地点变化会导致在不同时间(如机场)拥有相同IP地址的用户之间分裂甚至错误地拼接
同时,[12]指纹识别方法根据设备或浏览器配置来捕获用户相似性,而不是根据不同设备或浏览器保持一致的行为模式
另一方面,用于实体解析的穷举解决方案需要在所有实体对之间进行二次比较,这对于大规模web服务来说是一个计算难题
这可以通过阻塞[24]的启发式部分处理,它将类似的实体描述分组为块,并且只比较相同块内的实体
为了克服这些挑战并更好地定制用户拼接设置,我们的解决方案是基于相同的用户跨平台访问相似的内容,并随着时间的推移具有相似的行为的想法
我们在动态异构网络中对用户交互进行建模,随着时间的推移,不同内容和平台的用户交互,其中用户将映射拼接到对应于相同现实实体的节点标识
受节点表示学习成功的激励,我们的目标是在这个丰富的交互网络中发现时间演进的“用户概要”的嵌入
然而,对于大规模图,习惯的每个节点的密集节点表示通常会带来强大的内存需求,与原始(稀疏)邻接矩阵[19]相当
因此,为了高效地找到基于相似活动的稀疏二进制表示和链接实体,同时避免所有用户配置文件的两两比较,我们解决了以下问题:
问题1(临时的,基于哈希的节点嵌入)
给定一个图,基于哈希的网络嵌入的目标是学习一个函数,这样派生的二进制维嵌入
- (1)在G的交互中保持相似性
- (2)空间高效
- (3)准确地捕获时间信息和底层网络的异质性
我们引入了一个名为node2bits的通用框架
- 该框架捕获网络中节点之间的临时有效交互
- 并基于拓扑特征和交互中涉及实体的(可选)侧信息构建上下文
- 然后,这些基于特征的上下文被转换为包含不同时间距离上的节点类型信息的直方图,并通过SimHash[5]映射到二进制哈希码
由于局部敏感哈希[17],该哈希码具有时间、属性和结构的感知能力,保留了网络中时间交互模式的相似性,实现了相似性搜索的空间和计算效率
给定所有实体的这些稀疏的、基于哈希值的嵌入,然后我们将用户拼接转换为有监督的二分类任务或基于哈希值的无监督任务
例如在图1中,设备B和C关联的ip相同,之后访问的在线销售网站也类似,因此编码相似,可以对应同一个用户
我们的贡献是:
- 基于嵌入的公式:超越传统的阻塞技术,我们将用户拼接的问题制定为在异构网络中寻找时间的问题,基于哈希的嵌入,这样它们在用户交互之间随着时间的推移保持相似性
- 空间高效嵌入:我们提出了node2bits,这是一个实用、直观、快速的框架,可以生成紧凑的、适合用户拼接的二进制嵌入。我们的方法结合了基于随机行走的上下文采样、基于特征的直方图表示和局部敏感哈希,以保持上下文随时间的异构等价性
- 大量的实证分析:我们在真实网络上的实验表明,node2bits输出一种空间效率高的二进制表示,它使用比基线少63×到339×的空间,同时在用户拼接任务中获得类似或更好的性能。此外,node2bitsis对于大型真实世界的时间和异构网络是可伸缩的
2 Preliminaries and Definitions
在介绍node2bits之前,我们讨论了我们的方法所基于的两个关键概念:动态异构网络模型和时间随机漫步
我们在表1中给出了主要符号及其定义
2.1 Dynamic Heterogeneous Network Model
如上所述,我们将用户与内容、网站、设备等的交互建模为一个异构网络,其正式定义为:
定义1(异构网络,Heterogeneous Network)
一个异构网络由
- (i)节点集和边集
- (ii)节点的映射到它们的类型
- (iii) 映射到边类型组成
许多图类型都是异构网络的特殊情况
- (1)齐次图具有类型
- (2)由 和 类型组成的
- (3)签名网络有和两种类型
- (4)标记图的每个节点/边都有一个标签
大多数真实的网络会捕捉进化的过程(例如,通信,浏览活动),因此会随着时间的推移而变化
与其将动态网络近似为有损离散静态快照,…, ,我们以无损的方式将时间相互作用建模为连续时间动态网络[23]
定义2(连续时间动态网络)
连续时间动态异质网络是一个具有在顶点之间的时间边的异质网络
- 其中是一个将每个边映射到对应时间戳的函数
2.2 Temporal Random Walks
图上的遍历是一个节点序列,其中每对连续的节点由一条边连接起来
流行的网络嵌入方法使用随机化过程[14,25]生成遍历,以构建节点id或节点上下文的语料库
在连续时间动态网络中,时间有效行走被定义为由具有非递减时间戳的边连接的节点序列(例如,表示用户内容交互发生的顺序),它们首先被用于[23]中的嵌入
定义3(时间漫步)
从到在图,长度为的时间漫步是一个顶点的序列
使对于,时间戳遵循有效的时间顺序:对于
3 node2bits: Hash-Based Embedding Framework
受用户拼接任务的激励,我们的目标是开发node2bits来紧凑地描述现实交互环境中的每个节点/实体(问题1)
相应地,node2bits需要:
- (R1)支持节点和边可以是任意类型的异构网络(例如,用户、网页、IP、标签、空间位置)
- (R2)保留数据中事件和交互的时间有效性
- (R3)在运行时扩展到数百万节点/边的大型网络
- (R4)规模的内存需求与空间高效而强大的二进制嵌入,捕获独立于id的相似性
接下来,我们详细介绍了node2bits的三个主要步骤:
- (3.1节)采样时间随机游走并定义时间上下文
- (3.2节)基于多维特征构建时间背景
- (3.3节)聚合和哈希上下文到稀疏嵌入
我们在图2和算法1中概述了node2bits
图2 node2bits工作流
给定一个图及其属性矩阵(可选),node2bits
- (1)对时间随机游走进行采样,获得 respect time 的序列,派生不同时间距离的上下文(a和b的时间上下文来自游走{b, a, b, c},以及特征矩阵F
- (2)基于F中的多维特征创建时间语境
- (3)将它们聚合成基于特征的直方图,通过SimHash得到稀疏的、二值的、保持相似性的嵌入
3.1 Temporal Random Walk Sampling
node2bits的第一步是捕获节点上下文中的交互,这对用户拼接任务很重要:
- 它不是对应成对边的简单交互,而是通过随机游走采样更复杂的交互序列
但与许多现有的表示学习方法[14,25]不同的是,我们的方法对真实的交互行为进行抽样,其顺序是通过阶跃时间随机漫步(定义3[23])发生的,因此满足需求R2
node2bits将节点在时间间隔上的时间上下文定义为抽样随机游走中距离节点 的实体的集合
表示为
其中
- 为随机漫步中对应节点的索引
例如,在图2(步骤1)中,节点在时间距离 为(用红色突出显示)处的上下文
根据我们想要捕获的时间上下文,的变化范围可达距离
-
直观上看,小的时间距离值可以捕捉到实体之间更直接的相互作用和相似性
-
在静态图中,仅仅对应采样序列中节点之间的距离,而不捕获任何时间信息
时间局部性(Temporal Locality)
上面定义的上下文没有显式地包含连续采样交互之间的时间流逝
然而,在建模临时用户交互时,区分短期和长期的过渡是很重要的
受[23]启发,node2bits通过不同的有偏差的时间行走策略来说明连续上下文(即和之间的紧密性或局部性
例如,在短期策略中,节点到的转移概率用softmax函数表示:
其中
- 将一条边映射到它的时间戳
- 是所有时间戳的总持续时间
- 是从节点通过时间有效边到达的时间邻居集合
同样,在长期策略中,节点到的转移概率如式(2)所示,但分子和分母均为正数
定义短期和长期时候,节点之间的转移概率
3.2 Temporal Context Based on Multi-dimensional Features
Eq.(1)中的上下文取决于节点标识(id)
然而,在多平台环境中,单个实体可能有多个节点id,从而导致看似不同的上下文
为了生成适合于用户拼接的id独立上下文,我们通过建立在相应或相似实体具有相似特征的假设基础上,使时态上下文具有属性或特征感知(R1)
形式上,我们
- 假设网络可能有一组输入节点属性(如IP地址、设备类型),以及一组派生的拓扑特征(如度、PageRank)(结构特征),所有这些都存储在一个特征矩阵F中(图2,步骤1)
- 然后,我们将随机游动推广到不仅考虑时间(R2)[23],而且使用[1]中提出的基于属性/基于特征的游动的概念来获取该特征信息
定义4(基于特征的时间漫步)
将图中从节点到的基于特征的时间步长定义为:与有效时间步中顶点序列相对应的特征值序列(定义3)
对于第个特征,对应的基于特征的时间步长为
是矩阵中的一个值
我们的定义是通用的,因为它允许行走遵循时间,而每个节点可以有一个维向量,其中包含输入属性值和/或派生的结构特征,可以是离散的或实值[1]
临时有效的多维特征上下文(Temporally-Valid, Multi-dimensional Feature Contexts)
node2bits扩展了以前生成的临时上下文,以合并节点特性并删除对节点id的依赖
根据基于特征的时间漫步的定义,给定特征
我们的方法通过将Eq.(1)中的节点id替换为它们对应的特征值(图2,步骤2),在每个节点和时间距离上生成维上下文
形式上,临时有效的多维特征上下文定义为:
3.3 Feature-Based Context Aggregation and Hashing
用户拼接的关键见解是,每个用户通过长期的类似关系与类似的“键入”实体进行交互
例如
- 在在线销售日志中,用户可能在登录和匿名会话中浏览类似类型的商品
- 在在线社交网络中,分享几乎相同互动模式的账户,比如回复或分享,可能来自同一个人
基于这一见解,node2bits使用节点类型(隐式地对应关系或边缘类型)增加了先前生成的时间、多维特征上下文,这是异构网络的一个关键属性(R1)
随后,它聚合它们,并通过局部敏感哈希得到保持相似性和空间高效的二进制实体表示(R4)
内容聚合(Context Aggregation)
与现有的将上下文特征聚合为单个值(如均值或最大值[15,29])的工作不同,node2bits将它们聚合为损耗较小的表示:通过区分节点类型为异构网络定制的直方图(R1)
具体来说,它通过进一步将Eq.(4)中的派生上下文条件作用于节点类型(即每个时间上下文只包含一个节点类型的特征),对跨节点和关系类型的过渡依赖进行建模
我们表示以特征和节点类型为条件的时间上下文为
节点在时间距离处的最终直方图表示由在的条件上下文上的直方图的拼接组成(图2,步骤3):
在这种表示中,特征以对数方式分类,以解释结构特征(例如程度)的经常倾斜分布
我们注意到,直方图可以进一步扩展到[19]所示的边缘类型,例如通过区分由多种类型的边连接的节点对
通过哈希的相似性保持表示(Similarity-Preserving Representations via Hashing)
在大规模数据挖掘[26]中,局部敏感哈希(Locality sensitive hash, LSH)被广泛用于搜索最近邻
在这项工作中,我们采用SimHash[5]获得异构网络中所有实体的保持相似性和空间高效的表示(R4),基于Eq(5)给出的时间感知、属性感知和节点类型感知的聚合上下文
给定一个特定于节点的直方图(维数,为特征的对数箱数)
SimHash通过将直方图投影到随机超平面,生成二进制哈希码或草图,如下所示:
在实践中,超平面不需要从多元正态分布中随机均匀地选择,但从均匀地选择它们就足够了
局部敏感哈希的重要属性保证了直方图空间中的相似性(它捕获了G中实体之间的时间交互)保持如下:对于SimHash族,哈希函数对两个不同向量的一致的概率等于它们的余弦相似度
更正式地说,对于两个节点和:
换句话说,上下文空间中节点u和v之间的余弦相似度被投影到草图空间,并可以通过和之间的匹配基数来衡量,其中
对于中的每个节点,最终的二进制表示是通过连接不同时间距离上下文的哈希码获得的,产生一个维向量(因为):
其中,我们将−1位替换为0,以实现更有效的空间表示(R4)
图2中步骤3的后半部分显示了一个示例,其中蓝色阴影表示临时上下文的直方图和草图distance ,红色阴影对应
因此,每个节点的维表示,,捕获了时间、特征和节点类型感知直方图之间跨多个时间距离的相似性Δt
两个节点直方图之间的相似度可以快速估计为其二进制表示中公共位的比例
有了这些表示,我们可以通过将问题转换为有监督的二值分类或基于哈希(Eq.(8))输出的无监督任务来执行用户拼接,这在4.1节中进行了讨论
综合这些,我们在附录a中给出了算法1中node2bits的伪代码和它的详细版本(为了再现性)
node2bits的运行时计算复杂度为,当为比较小时(R3),它与边数线性
输出空间复杂度是。如果二进制向量以稀疏格式表示,node2bits甚至需要更少的存储(参见4.4节的经验结果)
我们在附录B中提供了详细的运行时复杂性和空间分析
4 Experiments
4.1 Experimental Setup
4.2 Accuracy in Supervised User Stitching
4.3 Accuracy in Unsupervised User Stitching
4.4 Output Storage Efficiency
4.5 Scalability
....
5 Related Work
实体解析(Entity Resolution,用户拼接的一般问题)在数据库、信息检索等不同领域得到了广泛的研究和应用[9,13]传统的基于距离的方法可以大致分为两类:(1)两两er[7],它基于距离阈值独立决定哪些对是相同的实体;(2)聚类[8],它连接同一簇中的节点。然而,这些方法的计算成本很高,而且不能扩展到大型数据集。其他技术包括监督分类[30]、概率软逻辑[20]或使用侧信息(例如,用户代理字符串、其他web浏览器功能、地理位置)的指纹[12]。这些方法往往是针对问题的,甚至是针对数据的。相反,我们的方法是通用的,通过使用节点特征(可选)和图结构的异构动态网络对数据建模。
节点嵌入的目的是在低维向量空间中保留节点相似性的概念。大多数通用方法[14,25,32]和目前针对异构网络或动态网络的技术[10,23]都是基于原始网络中的共现或邻近性来定义节点相似度(附录F)。然而,在用户拼接问题中,可能存在对应实体不连接同一实体的情况,从而导致基于邻近性的相似度较低。保留结构特性的嵌入[1,11,16,18,19,22,27]克服了这个缺点。由于哈希,Node2bits还能以更高的空间效率处理各种图设置(异构、动态)。
局部性敏感哈希(LSH)是一种用于高维空间[17]中高效近似最近邻搜索的随机哈希框架。它指定了一个哈希函数族H,它将相似的项映射到通过哈希码识别的相同的桶中,比不同的项[26]的概率更高。对于不同距离的LSH族已经得到了广泛的研究,例如用于余弦距离[5]的SimHash,用于Jaccard相似性[3]的min-hash,以及更多(附录F)。在我们的工作中,我们利用LSH构建了用于用户拼接的相似性保持和空间高效的节点表示。
6 Conclusion
我们提出了一个基于哈希的网络表示学习框架,称为node2bits的身份拼接
它是时间和属性感知的,同时也推导出空间高效的节点稀疏二值嵌入在大型的时间异构网络
Node2bits使用基于特性的时间遍历的概念来捕获数据中的时间和基于特性的信息
基于特性的时间遍历是遵循时间的遍历的一般化,同时也合并了特性(与节点id相反)
通过使用这些遍历,node2bits生成时间有效的特性值的上下文/序列
在真实网络上的实验证明了node2bits的效用,因为它输出空间高效的嵌入,与基线方法相比,使用的空间少了几个数量级,同时在用户拼接方面获得了更好的性能
在将我们的工作应用于用户拼接时,一个重要的实际考虑是在更大的个性化与用户隐私之间取得平衡
读后总结
2022/07/26 第一次阅读
这篇文章感觉好难读啊 没有咋读懂
临时有效的多维特征上下文(Temporally-Valid, Multi-dimensional Feature Contexts)
这一步是没有看懂
文章思路大概是
- 针对异构图,使用时间随机漫步
- 为了去除节点id的影响,借助节点的属性(加上结构特征可以)
- 得到
临时有效的多维特征上下文(与节点id无关,与节点属性、时间有关) - 然后得到柱状图
- 最后使用LSH进行编码
还有一个收获是理解了异构图的概念
不过文章核心内容倒是没有读懂
结语
文章仅作为个人学习笔记记录,记录从0到1的一个过程
希望对您有一点点帮助,如有错误欢迎小伙伴指正