TETUP 到 LLM-TUP:画像维护不只做压缩,也开始做双时域拆分

背景

补完 PURE 之后,我原本已经把 profile maintenance 先理解成一条比较清楚的支线:

  1. 从持续新增的评论和历史里抽取稳定偏好
  2. 再把这些偏好压成更紧凑的 profile
  3. 让推荐系统不必每次都回放整段原始文本

但继续往下检索后,我发现公开世界里还有另一种做法。

同一组作者在 2025-05-01 先放出 Towards Explainable Temporal User Profiling with LLMs,到 2025-08-11 又放出后续版 Temporal User Profiling with LLMs: Balancing Short-Term and Long-Term Preferences for Recommendations;对应仓库 TETUPLLM-TP 也都已经公开。

这条线值得写进 Story Lab,不是因为它又发明了一种新的 profile 名词,而是因为它把“维护用户画像”这件事,从单一压缩推进成了显式的时间分层。

核心判断

PURE 之外,maintenance 还有另一种公开解法:不是只压缩,而是先拆 horizon

PURE 的关键矛盾是:

long-term preference retention vs context budget

它通过 Review Extractor -> Profile Updater -> Recommender 去把越来越长的评论历史压回一个可控的状态对象。

TETUP / LLM-TUP 的系统假设不太一样。

这条线不是把所有历史先揉成一段统一摘要,再交给下游系统;它显式要求 LLM 分别生成两份自然语言画像:

  1. 最近行为对应的 short-term profile
  2. 更稳定偏好对应的 long-term profile

之后再把这两份文本画像编码成向量,并通过 attention 动态融合成最终的 user representation。

也就是说,这条 temporal profile 路线的第一步不是压缩,而是:

先拆时间尺度,再做融合

这让 profile maintenance 的含义变得更具体了。

它不只是在回答“怎样把历史压短”,还在回答:

要不要把短期意图和长期口味当成两个并存的状态对象

这不是又一个普通 profile baseline,而是 dual-horizon profile carrier

TETUP 摘要到 LLM-TUP 摘要,真正稳定不变的核心设计其实只有三步:

  1. 用 interaction timestamps 把用户历史切成 short-term 和 long-term 两段
  2. LLM 把这两段历史各自写成自然语言 profile
  3. 用 attention 在下游推荐时动态平衡两种 profile 的权重

这里最重要的不是“模型里有 attention”。

真正重要的是,它把 profile 的接口形态从单一 carrier,推进成了:

dual-horizon natural-language profiles

这和我前面已经补过的几条路线都不同:

  1. PURE 更像 single compact profile
  2. LFM / LangPTune / RecLM / LettinGo 更像在优化单一 language-profile interface
  3. UserIP-Tuning 更像把 latent profile 压成 deployment-ready ID

TETUP / LLM-TUP 的新信息是:

即使都还停留在文本画像接口,profile 也不一定只有一份。

它完全可能同时保留:

  1. 近期意图
  2. 稳定偏好

然后把两者的消费权重交给后续模块动态决定。

所以对 Story Lab 来说,这条线更适合被记成:

dual-horizon profile structuring

而不是“又一个会生成 user profile 的方法”。

这条线的收益明显依赖用户历史稠密度,不是无条件成立

这轮最有价值的一个细节,不是架构图,而是它对适用条件的提示。

LLM-TP README 直接把两套数据的交互密度摆了出来:

  1. Movies&TV 平均交互数约 11.79
  2. Video Games 平均交互数约 4.55

而结果也没有被写成“全面碾压”。

更准确的描述应该是:

  1. Movies&TV 这类 richer-history 场景里,LLM-TP 相对 Temp-Fusion 的增益更稳,Recall@10 / NDCG@10 / Recall@20 / NDCG@20 都更高
  2. 在更稀疏的 Video Games 上,提升就开始变得 mixed:例如 Recall@20 更高,但 NDCG@10 反而低于 Temp-Fusion

这很重要,因为它说明 temporal profile 不是“只要分成长短期就一定更好”。

它更像一种有前提的画像维护策略:

当用户历史足够丰富、短期波动和长期口味都能被稳定读出来时,双时域画像才更有价值。

所以这条支线不能只被记成方法名,还应该同时记住它的适用条件:

history richness / temporal signal density

TETUPLLM-TUP,作者自己的叙事也在变化

同一组作者的两版标题已经把变化说得很清楚了。

前一版 TETUP 更强调:

Explainable Temporal User Profiling

后一版 LLM-TUP 更强调:

Balancing Short-Term and Long-Term Preferences

这不是小修辞。

它说明这条线正在从“文本画像更可解释”往“怎样在系统里更稳地处理两种时间尺度偏好”偏移。

换句话说,公开世界里 temporal profile 的主问题正在从:

能不能把画像讲清楚

转向:

该怎样把近期意图和长期口味同时保留下来

这比单纯多记一篇论文更重要,因为它给 Story Lab 的 profile maintenance 支线补出了一个新切口:

maintenance 不是只有 compaction,也可以是 horizon balancing

公开边界比 PURE 强,但还不是完整 raw-to-profile 复现栈

这条线另一个值得单独记的点,是它的公开边界明显强于 PURE

按 GitHub API 和仓库树核对:

  1. TETUP 创建于 2025-04-10,最近一次 push 为 2025-08-11
  2. LLM-TP 创建于 2025-07-11,最近一次 push 也为 2025-08-11
  3. 两个仓库都已经公开了 code/prompt/、处理后的 data/、训练切分和图表资产

尤其 LLM-TP 已经把这些关键材料直接放出来了:

  1. prompt_short.txt
  2. prompt_long.txt
  3. prompt_general.txt
  4. 处理后的 short-term / long-term / general profile pickle
  5. train / validation / test CSV

但这还不能被写成“完整 end-to-end 复现栈”。

原因也很直接:

  1. 仓库更像训练与评估端,而不是从原始用户历史自动调用 LLM 生成 profile 的全流程脚本
  2. README 写的是 GPT-4o-mini + all-MiniLM-L6-v2
  3. 代码与数据文件名却仍保留 bert_* 命名,嵌入维度是 384

这说明 repo 和 paper 之间仍存在轻微实现漂移。

更稳妥的记录方式应该是:

repo with processed profile artifacts + training code

而不是已经完全固化的标准复现底盘。

这条线对 Story Lab 的真正价值,是把 maintenance 再细化了一格

补完 PURE 之后,我已经把画像生命周期先粗分成:

  1. construction
  2. maintenance
  3. deployment

TETUP / LLM-TUP 说明,maintenance 这层内部还会继续分叉。

至少已经出现了两种不同思路:

  1. PURE:把越来越长的原始文本压成更紧凑的单一 profile
  2. TETUP / LLM-TUP:显式保留 short-term + long-term 两份 profile,再做 attention fusion

所以对 Story Lab 现在更合适的处理方式,不一定是立刻再加一列大表。

更实用的做法是先在 carrier / interface 的记录里补一个子标记:

  1. single-summary profile
  2. dual-horizon profile

这样既不会让方法表立刻膨胀,又能把这个新差异稳定沉淀下来。

中文传播层目前仍然很弱

这轮我也继续补做了中文公开讨论层检索,包括:

  1. Temporal User Profiling with LLMs 中文
  2. Towards Explainable Temporal User Profiling with LLMs 中文
  3. site:xiaohongshu.com 时间 用户画像 推荐系统
  4. 相关 xhslink 检索

截至 2026-03-21,能看到的主要还是论文镜像、仓库页和低信息量索引,没有拿到稳定高价值的中文机制稿,也没有拿到可复用的稳定 xhslink

所以这条线当前仍应以 arXiv 和官方仓库为主。

证据与来源

  • Towards Explainable Temporal User Profiling with LLMs:早版 temporal profile 论文,摘要明确写出 short-term / long-term 自然语言画像、attention fusion 与 explainability 目标。
  • Temporal User Profiling with LLMs: Balancing Short-Term and Long-Term Preferences for Recommendations:后续版论文,摘要把重点收敛到 short-term / long-term 偏好平衡与 richer-context 条件下的推荐收益。
  • milsab/TETUP:官方仓。GitHub API 截至 2026-03-21 显示仓库创建于 2025-04-10,最近一次 push 为 2025-08-11;仓库树已公开 code/prompt/、处理后的 data/ 与图表资产。
  • milsab/LLM-TP:官方仓。GitHub API 截至 2026-03-21 显示仓库创建于 2025-07-11,最近一次 push 为 2025-08-11;仓库树可见 prompt/prompt_short.txtprompt/prompt_long.txtprompt/prompt_general.txt、profile / item pickle 与 train / validation / test 数据切分。
  • 仓库 README 与代码核对:LLM-TP README 明确写 GPT-4o-miniall-MiniLM-L6-v2 (384 dimensions);而代码和数据文件名仍使用 bert_* 命名,说明当前公开仓更像“已给出可检查实现与处理后工件”,不是完全固定的一体化复现栈。
  • 中文传播层与 site:xiaohongshu.com / xhslink 检索截至 2026-03-21 仍未找到稳定高价值线索。

下一步

  • TETUP / LLM-TUP 加进那张 profile constructor 子表,先在 carrier / interface 里补记 single-summarydual-horizon 两种 temporal handling。
  • 继续补 profile maintenance / profile editing / temporal user modeling 相关路线,判断是否还会出现第三类不是 compaction、也不是 dual-horizon split 的维护策略。
  • 继续跟踪这条线是否出现正式发表页、更完整的数据构造脚本、以及足够稳定的中文机制稿或 xhslink