Event2Vec:可加性事件嵌入,使历史上的线性评分精确分解为逐事件项之和 [P]

Reddit r/MachineLearning 论文

摘要

作者介绍 Event2Vec,一个通过自监督下一事件预测学习离散事件序列可加性嵌入的小型库,使任意线性评分可精确分解为逐事件项之和,并支持双曲、球面及非交换几何空间;论文见 arXiv 2509.12188,代码以 MIT 协议开源。

我一直在开发 Event2Vec,一个用于学习离散事件序列(购买记录、日志、临床编码等)嵌入的小型库,其结构刻意设计得非常简洁:一段历史就是其事件向量的累积求和。h_t = h_{t-1} + e_{x_t}(范数裁剪)p(x_{t+1} | h_t) = softmax(W h_t + b) 训练采用自监督的下一事件预测,加上一个重建项,要求 h_t - h_{t-1} 能恢复出 e_{x_t}。无需标签(关于该机制为何有效的细节在 NeurReps@NeuralIPS Workshop 论文中,核心是一组损失函数,在训练过程中尝试重建并遵循这一算术结构)历史是一个求和,因此在其之上的任何线性模型也是一个求和。例如,流失或风险评分(见 teaser):score = w·h + b = Σ_i (e_i·w) + b 有人可能会质疑:e1+e2 = e2+e1 = e3,但训练并非如此,因此虽然在(欧几里得)空间中的向量嵌入是可交换的,训练过程并非如此。此外,库中还包含几种替代的旋转/非交换空间(请查看网站):双曲空间(Möbius 加法),适用于层级结构 κ-立体投影,一个曲率旋钮,从双曲经平坦到球面(Bachmann et al., 2020)球面空间,适用于循环结构 SO(n) 旋转,它们是非交换的,因此顺序会改变终点 Heisenberg 群,终点相同,但有一个有向面积坐标来记录顺序 以上空间的乘积 我最初是为 Advanced Light Source(Berkeley Lab)的故障序列根因分析而开始这个项目的,当时我天真地在事件日志上使用 Word2Vec,需要方向性但又不想使用不透明的序列模型。链接 论文:arXiv 2509.12188 代码(MIT):github: event2vec_public, pip install event2vector 带交互式图表的文档:event2vec.com scikit-learn 风格 API(fit/transform,gensim 风格的 most_similar),基于 PyTorch 后端,支持 CPU/CUDA/MPS
查看原文

相似文章

什么是向量嵌入?互动式指南

Reddit r/ArtificialInteligence

互动式指南讲解向量嵌入的历史、原理与实践应用,通过可视化展示语义空间、向量运算与语义相似性,并演示语义搜索、聚类、零样本分类等真实场景。文中使用 Kanon 2 Embedder 的真实嵌入构建了一个交互式词语地图游戏。