← Back to list
Pro-GEO

Birds of a Feather Cluster Nearby: a Proximity-Aware Geo-Codebook for Local Service Recommendation

生成式推荐 Meituan
Abstract 7 Reading 8 Rating —
2026-04-25
Tian He, Chen Yang, Jiawei Zhang, Lin Guo, Wei Lin, Zhuqing Jiang
Beijing University of Posts and Telecommunications, Meituan, Beijing Institute of Technology
Pro-GEO 把 RoPE 从序列位置外推到空间域,通过 geo-centroid 局部坐标系 + 双向 Geo-RoPE 把地理邻近性以正交旋转的方式嵌入 SID 第三层码本,在 Meituan 量级本地服务数据上把平均聚类距离降低 45.6% 同时 Hit@50 提升 1.87%。
评分原因
摘要评分:生成式推荐中语义ID融入地理约束的工业级方法,提出地理RoPE机制并有大规模工业实验,新颖性中等但工业价值明显。
精读评分:扎实的几何代数分析(Eq.10/11 闭式分解),原创地把 RoPE 从序列外推到空间,工业级数据 -45.6% 空间距离 + Hit@50 +1.87%,并提供公开数据集复现。扣分点:未与同方向 geo-aware SID(GNPR-SID/OneLoc/LGSID)正面对比,第三层注入是固有 trade-off。
semantic-id industrial pretrained-lm transformer

Pro-GEO:用 Geo-RoPE 把地理邻近性嵌入语义码本

研究动机与背景

生成式推荐近年成为本地生活服务(Meituan、DoorDash、Yelp 等)平台的主流范式:把每个 POI 通过 RQ-VAE / RQ-Kmeans 等量化方法压缩成一个层次化的离散 Semantic ID(SID),再用 LLM 自回归生成下一个 POI 的 SID 序列。然而,本地生活与电商/视频推荐有一个根本差异:相关性必须满足严格的地理可达性约束。论文给出了一个非常直观的失败案例(Figure 1)——在通州区搜索汉堡的用户被推到了河北廊坊,距离超过 35 km,明显是跨城无效推荐

Figure 1: Illustration of local lifestyle recommendation.

作者在中国某主流本地生活平台(即 GNPR-SID 用的同一数据集)上做了一项基础统计:超过 50% 的 POI 与同一个 SID 下其他 POI 在地理上相距 >40 km。这是一个结构性问题,而不是模型容量不够。其根因在于:SID 的聚类目标里语义信号高维度且方差大,几何信号被淹没。即使把经纬度作为辅助特征 concat 到嵌入里(GNPR-SID、OneLoc 等已尝试的全局表示),地理信号仍只是 weak regularizer。

为此,作者提出两个核心研究问题:

  • Q1:全局地理特征(lat-lon、geohash)是否足以建模本地服务的空间关系?还是应该用相对的、行为感知的局部坐标系?
  • Q2:如何在码本里联合编码语义相关性和地理邻近性,使得二者既不互相塌缩、又都不退化为 weak regularizer?

针对 Q1,作者证明了"全局坐标差异"在大尺度数据集上对应的物理距离可能差异巨大(北京两个 lat-lon 仅差 0.001° 也可能横跨地铁站),不利于表示学习捕捉簇内的精细空间关系。他们的答案是:定义地理质心(geo-centroid)局部坐标系

针对 Q2,他们将 RoPE 从序列位置外推到空间域,用正交旋转编码两个 POI 在高维语义空间中的相对地理位置——即 Geo-RoPE。设计目标是让"几何邻近性"等价于"语义嵌入空间中的小角度旋转",从而 birds of a feather (语义相近的 POI) cluster nearby (地理相近的 POI) 在 SID 空间真正对齐。

主要贡献: 1) 提出 geo-centroid 局部坐标系,将每个语义簇锚定到一个地理质心,显式保留簇内细粒度空间关系; 2) 设计 Geo-RoPE 编码机制,把相对地理位置直接嵌入到 token 空间,与语义结构一并保留; 3) 在大规模工业数据集上验证 Pro-GEO 把平均地理聚类距离降低 45.60%(无 codebook collapse),Hit@50 提升 1.87%

整体框架

Pro-GEO 沿用 RQ-Kmeans / TIGER 风格的三层 SID 框架,但把第三层换成特殊的 geo-codebook layer。Figure 2 给出了完整 pipeline:前两层是 standard codebook layer(语义聚类),第三层是 special geo-codebook layer(geo-centroid 局部坐标 + Geo-RoPE 调制后的 K-means 聚类)。最终 SID 形如 <a_2, b_11, g_8>,其中 a_2/b_11 编码语义结构,g_8 编码相对地理偏移。一个微调过的 LLM 基于用户意图生成推荐候选 POI 的 SID,不再产生跨城无效配送

Figure 2: ProGEO 架构概览

形式化地,POI 集合 $P = \{p_1, p_2, ..., p_N\}$,每个 POI 用元组 $p_N = (s, \phi, \psi)$ 表示:$s$ 包含类别、品牌、评分、价格等语义特征,$(\phi, \psi)$ 是地理经纬度。生成式推荐任务即在 POI 集合上建模条件概率 $P(\text{next POI} | \text{user intent})$。

核心方法

语义码本聚类(前两层)

给定 POI 表示 $\mathcal{X} = \{\mathbf{x}_i \in \mathbb{R}^M\}_{i=1}^N$,传统 RQ-Kmeans 用欧氏距离做聚类。论文论证欧氏距离在高维下因维度灾难判别力弱、且与工业推荐常用的相似度目标不对齐。借鉴 HyMiRec,作者改用余弦相似度作为聚类度量。

第 $l$ 层第 $i$ 个 POI 的残差 $\mathbf{r}_i^{(l-1)}$ 的簇分配:

$$j_i^{(l)} = \arg\max_j \frac{\mathbf{r}_i^{(l-1) \top} \mathbf{c}_j^{(l)}}{\|\mathbf{r}_i^{(l-1)}\|_2 \|\mathbf{c}_j^{(l)}\|_2}, \tag{1}$$

其中 $\mathbf{r}_i^{(0)} = \mathbf{x}_i$。余弦相似度只关注方向、对尺度变化更鲁棒。

接下来对残差做正交投影去冗余:把 $\mathbf{r}_i^{(l-1)}$ 在所选质心方向上的分量减掉:

$$\mathbf{r}_i^{(l)} = \mathbf{r}_i^{(l-1)} - \frac{\mathbf{r}_i^{(l-1) \top} \mathbf{c}_{j_i^{(l)}}^{(l)}}{\|\mathbf{c}_{j_i^{(l)}}^{(l)}\|_2^2} \mathbf{c}_{j_i^{(l)}}^{(l)}. \tag{2}$$

这样残差被投到正交于簇方向的子空间,沿簇方向的冗余被滤掉,只保留正交方向的结构。两次迭代后得到层次语义 ID $(j_i^{(1)}, j_i^{(2)})$。

Geo-Centroid 局部坐标映射

全局坐标系有两个困难:(1) 微小坐标差对应巨大物理距离;(2) 缺乏支持局部相对定位的参考标准。作者借鉴 Figure 3 的对比:在全局坐标里 $P_1=(116.417, 39.941)$、$P_2=(116.480, 39.923)$ 差 5.97 km,但全局坐标差异本身没有局部参考意义;引入局部坐标后,把同一簇的 POI 用相对极坐标表达,5.97 km 变成相对质心的 $(d, \sigma)$ 二元组,捕获该簇内的相对空间布局。

Figure 3: 全局 vs 局部坐标系

具体做法:令 $\mathcal{S}_{(j^{(1)}, j^{(2)})}$ 为分到两层 SID $(j^{(1)}, j^{(2)})$ 的 POI 集合。每个 POI $p$ 的全局坐标为 $(\phi_p, \psi_p)$。簇的地理质心为:

$$O_p^j = (\phi_0, \psi_0) = \left(\frac{1}{|\mathcal{S}|}\sum_{s \in \mathcal{S}} \phi_s,\ \frac{1}{|\mathcal{S}|}\sum_{s \in \mathcal{S}} \psi_s\right). \tag{3}$$

每个 POI 用相对于质心的相对极坐标 $(d_p, \sigma_p)$ 表示:

$$d_p = 2R \arcsin\left(\sqrt{\sin^2\left(\frac{\phi_p - \phi_0}{2}\right) + \cos\phi_0 \cos\phi_p \sin^2\left(\frac{\psi_p - \psi_0}{2}\right)}\right), \tag{4}$$

$$\sigma_p = \arg(x + iy),$$

其中 $R$ 是地球平均半径(6371 km),$\arg(\cdot)$ 是复数辐角主值,

$$\begin{aligned} x &= \cos\phi_0 \sin\phi_p \cdot \cos\phi_p - \sin\phi_0 \cos(\psi_p - \psi_0), \\ y &= \sin(\psi_p - \psi_0) \cdot \cos\phi_p. \end{aligned} \tag{5}$$

公式 (4) 是 Haversine 距离(球面大圆距离),$d_p$ 给出 POI 相对簇质心的可达性距离;$\sigma_p$ 是从质心看 POI 的方位角,捕获该簇内 POI 的方向分布。这种相对极坐标表达有两个关键优势:(1) 半径距离 $d_p$ 直接编码相对簇质心的可达性;(2) 方位角 $\sigma_p$ 捕捉局部区域内的方向性分布。

Geo-Rotary Position Encoding

RoPE 原本用于 Transformer 序列位置编码,把相对位置建模为正交旋转。作者把它外推到空间域:用复值旋转编码地理邻近性,所有变换都直接作用在第二层残差嵌入 $\mathbf{r}_p^{(2)} \in \mathbb{R}^M$ 上。

定义块对角旋转矩阵:

$$\mathcal{R}(\theta_p) = \mathrm{diag}\big(\underbrace{R(\theta_p), R(\theta_p), \ldots, R(\theta_p)}_{m\ \text{times}}\big) \in \mathbb{R}^{M \times M}, \tag{6}$$

其中 $m = M/2$,

$$R(\theta_p) = \begin{bmatrix} \cos\theta_p & -\sin\theta_p \\ \sin\theta_p & \cos\theta_p \end{bmatrix}. \tag{7}$$

与原始 RoPE 不同的是,频率参数 $\theta_p$ 不是序列位置;它直接来自地理量:$\theta_p \in \{d_p, \sigma_p\}$。换言之,码本不在残差向量内部建模上下文,而是建模 POI 之间的相对空间关系

为了反向旋转的可学习性、对称性,作者引入前向 + 反向旋转双策略。以 $\theta_p = \sigma_p$ 为例,Geo-RoPE 变换 $\mathcal{T}_{\sigma_p} : \mathbb{R}^M \to \mathbb{R}^{2M}$ 定义为:

$$\mathbf{r}_p^{(2)\rightarrow} = \mathcal{T}_{\sigma_p}(\mathbf{r}_p^{(2)}) = \begin{bmatrix} \mathcal{R}(\sigma_p) \mathbf{r}_p^{(2)} \\ \mathcal{R}(-\sigma_p) \mathbf{r}_p^{(2)} \end{bmatrix} \in \mathbb{R}^{2M}. \tag{8}$$

对于任意两个向量 $\mathbf{r}_i^{(2)}$、$\mathbf{r}_j^{(2)}$,余弦距离为:

$$D_{\cos}(\mathbf{r}_i^{(2)}, \mathbf{r}_j^{(2)}) = 1 - \frac{\langle \mathbf{r}_i^{(2)}, \mathbf{r}_j^{(2)} \rangle}{\|\mathbf{r}_i^{(2)}\| \|\mathbf{r}_j^{(2)}\|}. \tag{9}$$

经过 Geo-RoPE 变换前后,余弦距离变化为:

$$\Delta D_{\cos} = D_{\cos}(\mathbf{r}_i^{(2)\prime}, \mathbf{r}_j^{(2)\prime}) - D_{\cos}(\mathbf{r}_i^{(2)}, \mathbf{r}_j^{(2)}) = 2 \cdot \frac{\langle \mathbf{r}_i^{(2)}, \mathbf{r}_j^{(2)} \rangle}{\|\mathbf{r}_i^{(2)}\| \|\mathbf{r}_j^{(2)}\|} \cdot \sin^2\left(\frac{\Delta \sigma}{2}\right), \tag{10}$$

其中 $\Delta \sigma = \sigma_i - \sigma_j$。把 $\sigma$ 限制在 $[-\pi/2, +\pi/2]$ 保证 $\Delta\sigma$ 准确刻画两 POI 的相对旋转角。$\Delta D_{\cos}$ 在 $\Delta\sigma = 0$ 时为零,在 $\Delta\sigma \in [-\pi, +\pi]$ 时取最大值。这一性质保证了变换自然保留空间相邻 POI 的相似性,同时把空间远 POI 适当推离

进一步,公式 (10) 可分解为两个可解释因子:

$$\Delta D_{\cos} \propto \underbrace{\sin^2\left(\frac{\Delta \sigma}{2}\right)}_{\text{Positional difference factor}} \times \underbrace{\frac{\langle \mathbf{r}_i^{(2)}, \mathbf{r}_j^{(2)} \rangle}{\|\mathbf{r}_i^{(2)}\| \|\mathbf{r}_j^{(2)}\|}}_{\text{Semantic similarity factor}}. \tag{11}$$

这是最关键的设计闭环:余弦距离的变化是空间因子和语义因子的乘积,而不是各自独立。语义相似的 POI(高余弦相似度)下 $\Delta\sigma$ 才会显著拉开它们的距离,即"语义近、空间远"会被适当分开;语义不相似的 POI(低余弦相似度),不论空间布局如何,变换几乎无影响——避免地理信号污染语义判别。这反过来也对 $d$(在 $[0, \pi]$ 上)成立。

最终经过 Geo-RoPE 后的二层残差向量为:

$$\overrightarrow{\mathbf{r}_p^{(2)}} = \begin{bmatrix} \mathcal{T}_{\alpha \cdot \sigma_p}(\mathbf{r}_p^{(2)}) \\ \mathcal{T}_{\beta \cdot d_p}(\mathbf{r}_p^{(2)}) \end{bmatrix} \in \mathbb{R}^{4M}, \tag{12}$$

其中 $\alpha, \beta \in \mathbb{R}^+$ 是控制方位角 $\sigma_p$ 和半径距离 $d_p$ 各自贡献的超参数(实验默认 $\alpha=\beta=0.5$)。

变换后的嵌入 $\overrightarrow{\mathbf{r}_p^{(2)}}$ 再做一次 K-means 聚类得到第三层 ID。完整 SID 即:

$$\mathrm{SID}_p = (j^{(1)}, j^{(2)}, j^{(3)}). \tag{13}$$

前两层编码语义结构,第三层通过 Geo-RoPE 增强的聚类整合相对地理信息。

关键证明(Eq. 10 的几何含义)

附录 A 给出了完整证明,核心是 Lemma A.1:对于两个镜像对偶向量 $\mathbf{r}_1, \mathbf{r}_2$(即 $\mathbf{v} = \begin{bmatrix} v_1 \\ v_1 \end{bmatrix}$ 形式),分别施加 Geo-RoPE 变换 $\mathcal{T}_{\theta_1}, \mathcal{T}_{\theta_2}$ 后,内积满足:

$$\langle \mathbf{r}_1', \mathbf{r}_2' \rangle = \cos(\Delta\theta) \cdot \langle \mathbf{r}_1, \mathbf{r}_2 \rangle, \quad \Delta\theta = \theta_1 - \theta_2. \tag{19}$$

证明思路是:把每个 mirror-duplicated 向量分解成 $m$ 对 2D 子向量;利用旋转矩阵性质 $\langle R(\alpha) u, R(\beta) v \rangle = u^T R(\beta - \alpha) v$;前向 / 反向两个旋转部分相加后,交叉项 $\sin\Delta\theta$ 因镜像对偶性自动相消,只剩 $2\cos\Delta\theta \sum_i d_i$(即 $\cos\Delta\theta \cdot \langle \mathbf{r}_1, \mathbf{r}_2 \rangle$)。这个对称的 forward-reverse 结构是为什么 Pro-GEO 的余弦差只依赖相对旋转角差 $\Delta\theta$,而与绝对旋转角无关——这是论文反复强调的"前向反向双方向"设计的核心动因。

进一步利用 $1 - \cos\Delta\theta = 2\sin^2(\Delta\theta/2)$,即可推出 Eq. 10。

实验设置

工业数据集:来自一个中国主流本地生活服务平台(与 GNPR-SID 同来源)。两个月用户交易记录用于训练,额外一天用于验证。每条数据包含完整的用户搜索 query、用户地理位置、商家曝光序列、商家信息、真实交互行为。

公开数据集:Foursquare-NYC、Foursquare-TKY、Yelp。NYC 1083 用户/5135 POI;TKY 2293 用户/7873 POI;Yelp 150,346 POI。NYC/TKY 包含商家和用户行为信息;Yelp 仅有商家。三个公开数据集都用于评估聚类效果,推荐效果只在 NYC、TKY 上评估。预处理沿用 GNPR-SID:去掉交互少于 10 的商家和打卡少于 10 的用户。

实现细节

  • 工业数据集码本配置 $[512, 512, 512]$;公开数据集 NYC/TKY $[32, 32, 32]$,Yelp $[64, 64, 64]$。
  • RoPE-based 旋转编码加在第三层量化层,超参数 $\alpha=\beta=0.5$。
  • 文本嵌入用预训练 Qwen3-Embedding-8B,128 维。
  • 生成式推荐模型用 Qwen2.5-1.5B,max sequence length 512,batch size 64。
  • AdamW 优化器,学习率 8e-5,weight decay 0.01。推理时取距用户位置最近的 10 个 SID 作为候选集,beam search 宽度 20。
  • 8 张 80GB GPU。Prompt template 形如:Instruction: ... Input: Query:<query>, City:<city>, GeoHash:<geohash>, Output: SID list:<Sid_1>,...,<Sid_N>

评估指标

  • 量化指标:CUR (Codebook Utilization Rate)、ICR (Independent Coding Rate),以及本地服务专属的 Avg. Dist.(簇内 POI 到中心点的平均欧氏距离,单位 km)p90 Dist.p95 Dist.——这三个空间指标越小越好。
  • 推荐指标:Hit@N、NDCG@N(N=50, 100),以及 Hit@1。

对比方法:RQ-VAE、RQ-Kmeans、Zhou et al.(HyMiRec 路线)、RQ-OPQ。

主要实验结果

Q1:与 SOTA 对比(Table 1)

Method CUR↑ ICR↑ Avg. Dist.↓ p90 Dist.↓ p95 Dist.↓ Hit@1↑ Hit@50↑ Hit@100↑ NDCG@50↑ NDCG@100↑
RQ-VAE 8.02 55.87 64.91 109.88 243.89 0.0887 0.3677 0.4006 0.1800 0.1855
RQ-Kmeans 7.26 55.07 47.73 79.94 167.87 0.0978 0.4056 0.4401 0.1989 0.2047
Zhou et al. 8.02 57.65 46.76 75.26 154.93 0.0943 0.4031 0.4384 0.1950 0.2009
RQ-OPQ 0.00 97.70 46.71 77.46 161.10 0.0625 0.1085 0.1085 0.0859 0.0885
Pro-GEO 7.67 57.08 25.41 44.91 75.57 0.0998 0.4243 0.4572 0.2073 0.2128
Imp. -0.35 -40.62 -21.30 -30.35 -79.36 +0.20 +1.87 +1.71 +0.84 +0.81

Pro-GEO 在所有三个空间距离指标上碾压所有 baseline:Avg. Dist. 从 RQ-OPQ 的 46.71 km 跌到 25.41 km(−45.6%),p95 Dist. 从 154.93 km 跌到 75.57 km(−51.2%)。同时 CUR/ICR 与最佳 baseline(不算 RQ-OPQ 那种 0% CUR 的退化解)相当,没有 codebook collapse;推荐效果在所有 Hit@N、NDCG@N 上 p<0.001 显著优于 RQ-Kmeans。RQ-OPQ 虽然 ICR 高达 97.7%,但 CUR 为 0% 意味着 codebook 完全没被利用,是个 trivial 解,对应的 Hit@1 只有 0.0625——量化指标和推荐指标必须联合判读。这个对比表明:单纯增加正交编码不能解决问题,必须把空间结构内化进表示学习

Q2:消融研究

4.3.1 不同地理特征的有效性(Figure 4)

Figure 4: 全局 vs 局部地理表示对比

四个变体:(i) w/ global = 全局经纬度直接作为输入嵌入;(ii) w/ local = geo-centroid 局部坐标;(iii) w/ R-global = Geo-RoPE 增强全局坐标;(iv) w/ R-local = Geo-RoPE 增强局部坐标(Pro-GEO)。

结论:局部表示一致优于全局表示;Geo-RoPE 在两种坐标系下都带来增益,但局部 + Geo-RoPE 收益最大。Pro-GEO(R-local)拿到最高 CUR (7.67%)、ICR (57.08%),且簇直径最紧凑。这验证 Q1:全局坐标对本地服务建模不够,必须用相对的、行为感知的坐标系。

4.3.2 Geo-RoPE 注入层(Figure 5)

Figure 5: Geo-RoPE 注入策略对比

三种策略:仅第二层、仅第三层(Pro-GEO 默认)、两层都用。结果:仅第三层最优——CUR 7.67%、ICR 57.08%、Avg. Dist. 25.41。两层都用反而把空间紧凑性继续推到 Avg. Dist. 更小,但 CUR 跌到 6.36%、ICR 跌到 52.95%,几何紧凑性和整体聚类有效性出现 trade-off。仅第二层最差。这反映:地理信号应该在语义骨架已建立的最后一层作精修;过早注入会污染中层语义特征。

4.3.3 增强方式(Figure 6)

Figure 6: 地理信息增强策略对比

三种增强方式:(i) w/ concat = 拼接(128 → 130 维);(ii) w/ add = 直接加到 128 维向量;(iii) w/ Geo-RoPE = 旋转编码。结论:Geo-RoPE 在 CUR/ICR 上明显领先。concat 仅产生最小簇直径(Avg. Dist. 13.46),但聚类利用率中等,说明拼接虽然能减小直径但容易导致过分散、可解释性差;add 在所有指标上都最差,因为直接相加把地理信号稀释进了语义特征空间。Geo-RoPE 的优势是把空间信号编码为正交变换而非简单拼接——这也是论文核心方法论:辅助约束应该通过 attribute-aware 变换嵌入表示空间。

4.3.4 地理属性组合(Table 2)

Config CUR↑ ICR↑ Avg. Dist.↓ p90 Dist.↓ p95 Dist.↓ Hit@1↑ Hit@50↑ Hit@100↑ NDCG@50↑ NDCG@100↑
w/ R(d⁺) 8.09 57.90 40.52 66.39 123.34 0.0950 0.3934 0.4257 0.1931 0.1985
w/ R(d⁻) 8.11 58.07 42.20 66.57 124.50 0.0966 0.3958 0.4277 0.1950 0.2003
w/ R(d⁺, d⁻) 7.94 57.67 38.23 65.21 120.45 0.0974 0.4057 0.4374 0.1989 0.2042
w/ R(σ⁺) 8.42 58.50 26.42 43.82 75.22 0.0865 0.3824 0.4082 0.1850 0.1893
w/ R(σ⁻) 8.35 58.66 26.61 45.18 76.83 0.0896 0.3856 0.4115 0.1879 0.1923
w/ R(σ⁺, σ⁻) 7.53 56.79 20.14 37.04 62.96 0.0949 0.4206 0.4494 0.2025 0.2073
w/ R(σ⁺, d⁺) 8.02 57.69 27.46 47.37 81.62 0.0982 0.4146 0.4447 0.2031 0.2082
Pro-GEO w/ R(σ⁺, σ⁻, d⁺, d⁻) 7.67 57.08 25.41 44.91 75.57 0.0998 0.4243 0.4572 0.2073 0.2128

关键发现:

  • 径向距离单独($d^+$ / $d^-$)只能轻微改善量化和推荐,不显著改善聚类紧凑性(Avg. Dist. 仍 ≈40 km)。
  • 加方位角($\sigma$ 类)显著降低簇直径,但单方向 $\sigma$ 推荐分数没拉满。
  • 方位角双向 $\mathcal{R}(\sigma^+, \sigma^-)$ 已经能让 Avg. Dist. 跌到 20.14 km、p90 Dist. 37.04,并把 NDCG@100 推到 0.2073。
  • 完整 $\mathcal{R}(\sigma^+, \sigma^-, d^+, d^-)$ 不是几何最紧凑,而是推荐指标全面最高——前向 + 反向双向旋转的对称结构能捕获更复杂的方向模式,避免方向偏置。这印证了对称 forward-reverse 设计的必要性。

4.3.5 Codebook 冲突解决策略(Table 3)

Config Hit@1 Imp.
Random 3.23%
Layer-4 hard coding 5.97% +2.74%
2_256_opq 6.38% +3.15%
Closest match (Ours) 9.98% +6.55%

当多个 POI 共享同一 SID(即 codebook 冲突)时,Pro-GEO 在推理时通过地理邻近匹配消歧——即在共享同一 SID 的 POI 中,用户位置最近的优先。这一策略让 Hit@1 从 random 的 3.23% 推到 9.98%,+6.55% 的相对提升远超传统消歧方法(hard coding +2.74%、2_256_opq +3.15%)。这进一步说明:地理邻近性既是聚类目标,也是推理时的 disambiguation 信号

4.4 超参数分析(Figure 7, Q3)

Figure 7: 超参数敏感性分析

8 种 $(\alpha, \beta)$ 配置:从 (0,0) 到 (1,1)。结论:随着 $(\alpha, \beta)$ 增大:

  • 距离指标显著下降:Avg. Dist. 从 45.72 km 降到 25.41 km,p95 Dist. 从 148.27 km 降到 75.57 km;
  • 推荐指标也提升:Hit@1 从 0.0908 → 0.0998,NDCG@50/100 在 (0.5, 0.5) 附近达到峰值 0.2073/0.2128。
  • (0.5, 0.5) 是最佳折衷——在所有指标上都最优或近最优。这说明 $\alpha$、$\beta$ 不是越大越好,需要平衡空间紧凑性和推荐准确性。

4.5 案例分析(Q4)

码本聚类可视化(Figure 8)

Figure 8: 码本地理聚类可视化

三种配置可视化:(a) 仅 $\mathcal{R}(d^+, d^-)$——簇松散、缺方向结构;(b) 仅 $\mathcal{R}(\sigma^+, \sigma^-)$——簇按方向聚集但容易过度组合;(c) Pro-GEO 完整版——簇既紧凑又方向均匀,避免过分散和过聚集。直观印证 Table 2 的结论。

推荐结果可视化(Figure 9)

Figure 9: 推荐 POI 分布对比

Lanzhou Beef Noodles 在西安市的查询。w/o Geo-RoPE:推荐 POI 在更广区域分散(最远 30 km,部分推到邻市咸阳),类目一致性 45/50;w/ Geo-RoPE:POI 集中在用户 6 km 半径内,类目一致性 47/50。Geo-RoPE 同时改善空间精度类目一致性——即更可靠的语义对齐。

附录 C 中 Figure 10 给出了 4 个额外案例(Tao Tao Ju 深圳、KFC 北京、Zhou Hei Ya 武汉、Chaoshan beef hotpot 厦门),同样规律——没有 Geo-RoPE 的推荐常包含 20-36 km 远的甚至跨城 POI;加了 Geo-RoPE 后大都集中在用户 6-10 km 半径内

公开数据集结果(附录 D,Table 6)

Metric NYC NYC NYC TKY TKY TKY Yelp Yelp Yelp
RQ-Kmeans Pro-GEO Imp. RQ-Kmeans Pro-GEO Imp. RQ-Kmeans Pro-GEO Imp.
CUR↑ 4.51 5.25 +0.74 5.21 5.59 +0.38 28.93 28.69 -0.24
ICR↑ 52.13 55.29 +3.16 49.12 45.60 -3.52 60.95 58.98 -1.97
Avg. Dist.↓ 6.96 6.10 -0.86 7.21 6.19 -1.02 115.67 75.35 -40.32
p90 Dist.↓ 15.35 13.15 -2.20 14.10 12.11 -1.99 137.64 27.10 -110.54
p95 Dist.↓ 18.60 16.62 -1.98 16.65 14.75 -1.90 614.16 322.43 -291.73
Hit@1↑ 0.2308 0.3587 +0.1279 0.1911 0.2833 +0.0922
Hit@5↑ 0.4123 0.5300 +0.1177 0.3000 0.4927 +0.1927
Hit@10↑ 0.4591 0.5763 +0.1172 0.3396 0.5583 +0.2187

公开数据集上 Pro-GEO 显著降低空间距离(Yelp 上 p90 Dist. 降 110.54 km、p95 Dist. 降 291.73 km)。NYC/TKY 推荐指标上 Hit@1 大涨:NYC +12.79%、TKY +9.22%;Hit@5/10 类似。在 TKY/Yelp 上 ICR 略降,说明 Pro-GEO 在小数据集上用部分 codebook 多样性换取更紧凑空间结构,但 codebook 仍未塌缩。

讨论与局限性

核心贡献: 1. 把"地理可达性"从一个事后约束(如配送过滤)提升为生成式推荐 SID 的内嵌结构。这对工业部署意义重大:之前依赖 LLM "学会"避免跨城推荐,现在变成码本结构上的 "geometric impossibility"。 2. 把 RoPE 从序列位置编码外推到空间域,给出了 closed-form 的余弦距离变化分解(Eq. 11),证明地理信号和语义信号呈乘积关系,互不污染。这种"乘法解耦"的代数表达是 Pro-GEO 设计上最优雅的部分。 3. 提出前向 + 反向双向旋转结构,消除方向偏置,提升对称性——这是消融里 Hit@1 拉到 0.0998 的关键。 4. 工业级实证:在 Meituan 量级的数据集上把平均聚类距离降低 45.6%,Hit@50 提升 1.87%。同时给出公开数据集(NYC/TKY/Yelp)可复现性结果。

值得借鉴的设计思想

  • 辅助属性应通过 attribute-aware 变换注入表示空间,而非 concat 或 add——论文在 Conclusion 里明确提出:"auxiliary constraints can be more effectively integrated through attribute-aware transformations in the representation space instead of simple feature concatenation"。这一原则可类推到 SID 中注入价格、配送时间、库存等其他领域约束。
  • Geo-centroid 局部坐标系——不要直接用绝对坐标,而是相对簇质心建立局部参考。这一思想可外推到任意数值属性的层次化簇内表示(如价格段内的相对价位)。
  • Closest match disambiguation——SID 冲突在推理时用领域信号(地理近邻)消歧,比 hard coding 更优雅。

局限性: 1. Geo-codebook 仅作用在最后一层。前两层仍是纯语义聚类。如果用户的语义偏好本身与地理强相关(如某些菜系只在特定城市集中),可能错过早期注入的机会。但作者通过 4.3.2 实验证明早期注入有副作用——这是个固有 trade-off。 2. 静态地理表示。质心 $O_p^j$ 在簇形成后就固定了,没有动态调整机制。如果某簇 POI 分布随时间漂移(如新店开张、老店关闭),需要重训。 3. 公开数据集上 ICR 略降(TKY -3.52%,Yelp -1.97%)。说明小数据集场景下,注入地理信号会在 codebook 多样性和空间紧凑性之间做妥协。 4. 超参数 $(\alpha, \beta)$ 需要数据集级调优。虽然 (0.5, 0.5) 是论文推荐配置,但不同地理尺度(城市级 vs 全国级)下最优值可能不同。 5. 与 GNPR-SID/OneLoc/LGSID 等已有 geo-aware SID 工作没有直接对比——只对比了 RQ-VAE/Kmeans/OPQ 等通用 baseline。读者无法判断 Pro-GEO 相比同方向工作的边际收益。 6. 本质仍是事前 SID 设计,不能动态适应推理时的临时约束(如配送范围突然收紧)。

与已有工作的差异:相对于 RQ-Kmeans/OPQ 等通用 SID,Pro-GEO 的差异在于把领域约束代数化进表示空间;相对于 GNPR-SID/OneLoc 等 geo-aware SID,Pro-GEO 的差异在于不再把地理坐标作为辅助特征 concat,而是通过正交旋转主动改造残差嵌入的几何结构。这种"约束 → 几何变换"的思路是更深层的方法论贡献。

工业落地价值:直接在 Meituan 体量数据集上验证;架构改动局限在 SID tokenizer,对下游 LLM 训练 / 推理 pipeline 几乎透明。是适合产品迭代的小切口工程。