| 第49行: |
第49行: |
| | 了解集体注意力流网络相关的基本概念之后,就需要了解如何才能构造一个标准的集体注意力流网络。 | | 了解集体注意力流网络相关的基本概念之后,就需要了解如何才能构造一个标准的集体注意力流网络。 |
| | ===行为记录=== | | ===行为记录=== |
| − | [[文件:流网络构建.png|缩略图]]
| + | |
| − | 集体注意力流网络的构建起点是用户行为记录。项目文档中明确提出,要从新闻网站、社交媒体、视频平台、移动应用等多渠道采集用户行为数据,典型行为包括浏览、搜索、点赞、评论、分享、转发、购买、关注等;这些行为轨迹被视为注意力在不同内容资源之间流动的直接体现。也就是说,网络不是凭空设定出来的,而是从海量用户的真实访问与跳转数据中抽取出来的。
| |
| | | | |
| | ===节点与流量=== | | ===节点与流量=== |
| 第87行: |
第86行: |
| | | | |
| | 还是上一节的案例,只有两个用户A和B,<math>f_{ab}=2</math>,<math>f_{bc}=1</math>,<math>f_{bd}=1</math>,那么我们会规定<math>f_{source,a}=2</math>,<math>f_{b,sink}=1</math>,<math>f_{c,sink}=1</math>。我们最终会得到一个平衡的,由a、b、c和d四个站点构造的小型集体注意力流网络。 | | 还是上一节的案例,只有两个用户A和B,<math>f_{ab}=2</math>,<math>f_{bc}=1</math>,<math>f_{bd}=1</math>,那么我们会规定<math>f_{source,a}=2</math>,<math>f_{b,sink}=1</math>,<math>f_{c,sink}=1</math>。我们最终会得到一个平衡的,由a、b、c和d四个站点构造的小型集体注意力流网络。 |
| | + | |
| | + | === 行为记录:数据来源与预处理 === |
| | + | [[文件:流网络构建.png|缩略图]] |
| | + | 集体注意力流网络的构建起点是用户行为记录。项目文档中明确提出,要从新闻网站、社交媒体、视频平台、移动应用等多渠道采集用户行为数据,典型行为包括浏览、搜索、点赞、评论、分享、转发、购买、关注等;这些行为轨迹被视为注意力在不同内容资源之间流动的直接体现。也就是说,网络不是凭空设定出来的,而是从海量用户的真实访问与跳转数据中抽取出来的。 |
| | + | |
| | + | 以下面的数据集来源为例,该数据集来自美国印第安纳大学校园的真实点击流(clickstream)数据,时间区间为 2006.10—2008.02。 |
| | + | |
| | + | * 每条原始记录的格式为: |
| | + | ** $(t,\ \textit{referrer},\ \textit{host},\ \textit{path})$ |
| | + | * $t$:时间戳(Unix time) |
| | + | * $\textit{referrer}$:上一个被访问网站(域名) |
| | + | * $\textit{host}$:当前被访问网站(域名) |
| | + | * $\textit{path}$:访问位置 |
| | + | * 预处理:根据 Blue Coat 提供的站点分类数据识别广告/投放类网站,并将其从原始数据中移除,以减少噪声与偏差影响。 |
| | + | |
| | + | === 将点击流映射为开流网络(Open Flow Network) === |
| | + | 设共有 $N$ 个网站节点。对某个时间窗口(例如一天)内的所有点击流记录进行统计,构建一个有向加权网络,记作''开流网络''。 |
| | + | |
| | + | ==== 2.1 建立网站字典并赋予索引 ==== |
| | + | * 从所有记录中抽取不同的域名集合(网站集合)。 |
| | + | * 为每个不同网站分配一个唯一索引,用于后续统计转移流量 $f_{ij}$。 |
| | + | |
| | + | ==== 2.2 统计有向转移流量 $f_{ij}$ ==== |
| | + | * 忽略时间戳 $t$,对给定索引 $i$ 与 $j$ 的网站对统计用户从 $i$ 跳转到 $j$ 的转移次数: |
| | + | ** $f_{ij}$:从网站 $i$ 到网站 $j$ 的流量(流量大小由跃迁次数计)。 |
| | + | * 若记录中出现 $\textit{referrer}$ 为空/缺失(null string),表示该跃迁在观测数据中没有来源站点,则把它视为来自系统外部的输入,把 $\textit{null}$ 映射为''源节点(source)''对应的流入。 |
| | + | |
| | + | ==== 2.3 引入源节点与汇节点表示“离线世界” ==== |
| | + | * 增加两个特殊节点: |
| | + | ** 节点 $0$:源节点 source(系统外部流入环境) |
| | + | ** 节点 $N+1$:汇节点 sink(系统外部流出环境) |
| | + | * 因为原始点击流数据只记录在线跃迁,不会记录用户何时下线,因此需要人为补全''到汇节点的耗散流(dissipation)''。 |
| | + | |
| | + | ==== 2.4 网络平衡(Flow balancing)以补全耗散流 ==== |
| | + | 开流网络要求在稳态假设下满足平衡:对任意网站节点 $i$, |
| | + | * 节点 $i$ 的总流入 = 节点 $i$ 的总流出 |
| | + | * 为了让“流出”包含未观测的下线行为,需要为每个节点 $i$ 添加其到汇节点的耗散流 $f_{i,N+1}$,使得平衡条件成立。 |
| | + | |
| | + | ==== 2.5 得到注意力流通量矩阵(Flux matrix) ==== |
| | + | 最终得到大小为 $(N+2)\times (N+2)$ 的通量矩阵(注意力流网络): |
| | + | * 记为 $F$,其中 $F_{ij}=f_{ij}$ |
| | + | * 定义: |
| | + | ** 节点 $0$ 为源节点,节点 $N+1$ 为汇节点 |
| | + | ** $f_{i,N+1}$ 表示网站 $i$ 的''注意力耗散(dissipation)'' |
| | + | ** $\sum_{j=0}^{N+1} f_{ij}$ 与 $\sum_{j=0}^{N+1} f_{ji}$ 描述系统中流量守恒与节点的重要性 |
| | + | ** 且论文中将总注意力流(总流量/traffic)表述为 $\sum_{j=1}^{N+1} f_{ij}$(其中包含流向汇节点的部分)。 |
| | + | |
| | + | === 3.(后续使用)由开流网络计算流距离并用于嵌入 === |
| | + | 虽然上节给出的是''网络构建'',但论文进一步定义流距离以便度量网站之间的“注意力流可达性/平均跳数”,并将网络嵌入到欧氏空间。 |
| | + | |
| | + | ==== 3.1 由通量矩阵构造马尔可夫转移矩阵 ==== |
| | + | 先把流量归一化为转移概率矩阵 $M$: |
| | + | <math> |
| | + | m_{ij}=\frac{f_{ij}}{\sum_{k=1}^{N+1} f_{ik}} |
| | + | </math> |
| | + | 其中 $m_{ij}$ 表示从节点 $i$ 跳转到节点 $j$ 的概率。 |
| | + | |
| | + | ==== 3.2 定义流距离(Flow distance) ==== |
| | + | 流距离 $l_{ij}$ 被定义为:从 $i$ 出发的用户在''首次到达'' $j$ 之前,沿所有可能路径的平均跳数(考虑源/汇结构带来的开流网络特性)。该量由马尔可夫链的伪概率(伪幂级数)构造得到。 |
| | + | |
| | + | ==== 3.3 构造对称流距离以便欧氏嵌入 ==== |
| | + | 由于 $l_{ij}$ 一般不对称,论文用 |
| | + | <math> |
| | + | c_{ij}=l_{ij}+l_{ji} |
| | + | </math> |
| | + | 构造对称流距离 $C$,用于后续把节点嵌入欧氏空间。 |
| | + | |
| | + | 通过上述构建得到的“集体注意力流网络”,可以用于: |
| | + | * 描述注意力(流量)在网站间的结构与传播路径; |
| | + | * 量化每个网站的“中心性”(例如在欧氏嵌入后观察到的平均距离); |
| | + | * 进一步得到核心层/过渡层/边缘层等分层结构(论文基于径向距离与累计分布进行刻画 |
| | | | |
| | ==集体注意力[[流网络]]相关基本定义== | | ==集体注意力[[流网络]]相关基本定义== |