【2021/反事实/POI推荐】Improving location recommendation with urban knowledge graph

文章全文首发:码农的科研笔记(公众号)


原文:https://arxiv.org/abs/2111.01013

1 动机

位置推荐定义为推荐地理位置给用户,现有推荐无法无法很好的建模地理位置属性,这导致推荐结果是次优的。同时作者希望消除 POI (Point-of-Interest) 推荐中的geographical bias (即用户所选择的场所, 可能不是纯兴趣导向的, 而很大程度受距离远近的影响).

2 方法

算法所提框架

首先构建城市知识图(UrbanKG) (具有兴趣点的地理信息和功能信息)。之后在两个子图上进行信息传播,以获取兴趣点和用户的表示。然后,我们通过反事实学习来融合两部分表征(利用图网络提取特征, 利用 TIE (Total Indirect Effect) 来消除 geographical bias )以获得最终预测。

  • Urban Knowledge Graph Construction:上述模型开始是一个有向图结构,其表示为下图所示。这个图节点类型包含7种(例如:business area、region、brands)和16种关系(例如 locateAt、NearBy)。例如下面 (Apple Store East Nanjing Road, BrandOf, Apple) 信息,实际表示的是POI ‘Apple Store East Nanjing Road’ 的 brand 是 entity ‘Apple’。其中关系又主要分为 geographical (地理上的关系) 和 functional (功能上的关系) 两类。

    <a class=知识图谱构建" />

  • Disentangled Embedding Layer:将原始图,分解为 geographical and functional attributes 这两个方面的图数据;

  • Graph Convolutional Layer:得到disentangled representations of geographical and functional attributes用的方法;

  • Counterfactual Learning:反事实推理来减轻地理位置偏置,从而更好的实现POI推荐。

2.1【因果图】

因果图

作者希望通过估计TIE从而进行推荐
y ^ u i , p j = T I E = T E − T D E = Y u i , p j , g j − Y u i , p j ∗ , g j . \hat{y}_{u_i, p_j} = TIE = TE - TDE = Y_{u_i, p_j, g_j} - Y_{u_i, p_j^*, g_j}. y^ui,pj=TIE=TETDE=Yui,pj,gjYui,pj,gj.
其中具体计算作者定义为
Y u i , p j , g j = f ( Y u i , p j , Y u i , g j ) Y u i , p j ∗ , g j = f ( Y u i , p j ∗ , Y u i , g j ) \begin{array}{l} \mathrm{Y}_{u_{i}, p_{j}, g_{j}}=f\left(\mathrm{Y}_{u_{i}, p_{j}}, \mathrm{Y}_{u_{i}, g_{j}}\right) \\ \mathrm{Y}_{u_{i}, p_{j}^{*}, g_{j}}=f\left(\mathrm{Y}_{u_{i}, p_{j}^{*}}, \mathrm{Y}_{u_{i}, g_{j}}\right) \end{array} Yui,pj,gj=f(Yui,pj,Yui,gj)Yui,pj,gj=f(Yui,pj,Yui,gj)
其中 f ( ⋅ ) f(\cdot) f() 函数定义为下面:
f ( Y u i , p j , Y u i , g j ) = Y u i , p j ∗ tanh ⁡ ( Y u i , g j ) . f\left(\mathrm{Y}_{u_{i}, p_{j}}, \mathrm{Y}_{u_{i}, g_{j}}\right)=\mathrm{Y}_{u_{i}, p_{j}} * \tanh \left(\mathrm{Y}_{u_{i}, g_{j}}\right) . f(Yui,pj,Yui,gj)=Yui,pjtanh(Yui,gj).
上式中进一步定义有:

Y u i , p j = u i T p j , Y u i , g j = u i , g T p j , g , Y u i , p j ∗ = E ( Y u i , P ) = 1 ∣ P ∣ ∑ p t ∈ P Y u i , p t \begin{array}{c} \mathrm{Y}_{u_{i}, p_{j}}=\mathbf{u}_{i}^{T} \mathbf{p}_{j}, \mathrm{Y}_{u_{i}, g_{j}}=\mathbf{u}_{i, g}^{T} \mathbf{p}_{j, g}, \\ \mathrm{Y}_{u_{i}, p_{j}^{*}}=\mathbb{E}\left(\mathrm{Y}_{u_{i}, P}\right)=\frac{1}{|\mathcal{P}|} \sum_{p_{t} \in \mathcal{P}} \mathrm{Y}_{u_{i}, p_{t}} \end{array} Yui,pj=uiTpj,Yui,gj=ui,gTpj,g,Yui,pj=E(Yui,P)=P1ptPYui,pt
where P \mathcal{P} P denotes the set of POIs and ∣ P ∣ |P| P is the cardinality of the set ∣ P ∣ |P| P .

2.2【损失定义】

L = L F + λ 1 ( L I N D g + L I N D f ) + λ 2 ∥ Θ ∥ 2 α ( L C + λ 2 ∥ Θ g ∥ 2 ) , \begin{aligned} \mathcal{L}=\mathcal{L}_{F}+\lambda_{1}\left(\mathcal{L}_{\mathrm{IND} g}\right. \left.+\mathcal{L}_{\mathrm{IND} f}\right)+\lambda_{2}\|\Theta\|_{2} \alpha\left(\mathcal{L}_{C}+\lambda_{2}\left\|\Theta_{g}\right\|_{2}\right), \end{aligned} L=LF+λ1(LINDg+LINDf)+λ2∥Θ2α(LC+λ2Θg2),

  • 为了优化真实场景下 Y u i , p j , g j Y_{u_i, p_j, g_j} Yui,pj,gj,利用BPR loss,其中 O = { ( u i , p j , p k ) ∣ ( u i , p j ) ∈ O + , ( u i , p k ) ∈ O − } O=\left\{\left(u_{i}, p_{j}, p_{k}\right) \mid\left(u_{i}, p_{j}\right) \in O^{+},\left(u_{i}, p_{k}\right) \in O^{-}\right\} O={(ui,pj,pk)(ui,pj)O+,(ui,pk)O} 是训练数据,其中 $O^{+} 表示正交互样本, 表示正交互样本, 表示正交互样本,O^{-} $表示负交互样本。
    L F = ∑ ( u i , p j , p k ) ∈ O − ln ⁡ σ ( Y u i , p j − Y u i , p k ) , \mathcal{L}_{F} = \sum_{(u_i, p_j, p_k) \in \mathcal{O}} -\ln \sigma(Y_{u_i, p_j} - Y_{u_i, p_k}), LF=(ui,pj,pk)Olnσ(Yui,pjYui,pk),

  • 为了在反事实场景下获得更好的 Y u i , p j ∗ , g j Y_{u_i, p_j^*, g_j} Yui,pj,gj,其中$ \mathrm{Y}{u{i}, p_{j}^{*}}=\mathbb{E}\left(\mathrm{Y}{u{i}, P}\right)$,作者也是采用 BPR loss进行区分 Y u i , g j \mathrm{Y}_{u_{i}, g_{j}} Yui,gj Y u i , g k \mathrm{Y}_{u_{i}, g_{k}} Yui,gk
    L C = ∑ ( u i , g j , g k ) ∈ O − ln ⁡ σ ( Y u i , g j − Y u i , g k ) \mathcal{L}_{C}=\sum_{\left(u_{i}, g_{j}, g_{k}\right) \in O}-\ln \sigma\left(\mathrm{Y}_{u_{i}, g_{j}}-\mathrm{Y}_{u_{i}, g_{k}}\right) LC=(ui,gj,gk)Olnσ(Yui,gjYui,gk)

  • L I N D \mathcal{L}_{\mathrm{IND}} LIND是distance correlation确保用户意图的独立性 携带尽可能多的信息。

3 总结

图谱的构建是文章的亮点,通过两个方面的信息进行建模,之后运用反事实理论得到更好的推荐结果(推荐系统是反应 P → Y P \rightarrow Y PY,而我们建模还是需要更好的反应各个因素对 Y Y Y 的影响)。


http://www.niftyadmin.cn/n/59269.html

相关文章

STL——queue

一、queue介绍和使用 1.queue文档介绍 &#xff08;1&#xff09;队列是一种容器适配器&#xff0c;专门用于在FIFO上下文&#xff08;先进先出&#xff09;中操作&#xff0c;其中从容器的一端插入元素&#xff0c;另一端提取元素。 &#xff08;2&#xff09;队列是作为容…

【大前端 合集】包管理工具差异性

包管理工具 这里会对市场上使用最多的包管理工具 yarn/ npm 以及新秀 pnpm 做一个横向分析 1. 前言 在做分析以及学习之前&#xff0c;最好可以读下 pnpm 官网。可以理解下 pnpm 的核心宗旨 当使用 npm 或 Yarn 时&#xff0c;如果你有 100 个项目&#xff0c;并且所有项目都有…

上学迟到-Java

【深基2.例12】上学迟到 题目描述 学校和 yyy 的家之间的距离为 sss 米&#xff0c;而 yyy 以 vvv 米每分钟的速度匀速走向学校。 在上学的路上&#xff0c;yyy 还要额外花费 101010 分钟的时间进行垃圾分类。 学校要求必须在上午 8:00\textrm{8:00}8:00 到达&#xff0c;请计…

含金量较高的国际计算机编程竞赛有哪些?USACO、CCC、UK EBRAS、Kaggle、IOI

一、美国计算机奥赛(USACO) 美国计算机奥赛初次举办于 1992 年,其官网是美国一个著名在线题库,更是美国中学生的官方竞赛网站,开设目的是为每年夏季举办的国际信息学奥林匹克竞赛选拔队员。此外,美国计算机奥赛也是美国大学申请过程中非常有含金量和竞争力的一项竞赛。 竞…

玩思科设备,这10个命令一定是“常客”!

在调试思科设备时&#xff0c;我们会使用各种各样的命令去实现&#xff0c;但是在种种命令中&#xff0c;使用最为频繁的有哪些&#xff1f;本文瑞哥就给大家介绍10个频繁出现但是又非常有用且常用的命令&#xff01; 1、&#xff1f; 在使用命令行时&#xff0c;我们不可能记…

Python数据可视化:数据关系图表可视化

目录 1、散点图 1.1、趋势显示的二维散点图 1.2、分布显示的二维散点图 1.3、散点曲线图

《经济学通识课》读书笔记

文章目录书籍信息冷静的头脑&#xff0c;善良的心地&#xff1a;我们为什么需要经济学翱翔的天鹅&#xff1a;苏格拉底与柏拉图上帝的经济&#xff1a;奥古斯丁与托马斯阿奎纳寻找黄金&#xff1a;重商主义自然的馈赠&#xff1a;重农主义看不见的手&#xff1a;亚当斯密与《国…

java贪心算法

1 应用场景-集合覆盖问题 假设存在下面需要付费的广播台&#xff0c;以及广播台信号可以覆盖的地区。 如何选择最少的广播台&#xff0c;让所有的地区 都可以接收到信号 2 贪心算法介绍 贪婪算法(贪心算法)是指在对问题进行求解时&#xff0c;在每一步选择中都采取最好或者最优…