Xin Du · 杜鑫
菜单

NeurIPS 2022 · Nonlinear Semantics & Linear Language Models

FIRE: Semantic Field of Words Represented as Nonlinear Functions

把词语从线性空间中的单点推广为语义场中的位置测度与非线性函数,使多峰语义和可加组合能够存在于同一表示中。

线性组合与多义性的冲突

经典词向量把每个词表示为 RD\mathbb R^D 中的一个点。向量加法天然支持组合:多个词的加权和可以形成句子表示;但一个点很难同时表达多个相互分离的语义模式。为每个词分配多个向量或 Gaussian mixture 可以表示多义性,却会使组合不再是简单、封闭的加法。上下文化模型则在给定句子后输出一个已经消歧的向量,它回答“这个语境中是什么意思”,但没有直接表示词在没有特定语境时可能具有的完整多峰结构。

FIRE 的出发点是将词表示从点提升为场。设语义空间为 SRD\mathcal S\subset\mathbb R^D,每个词 ww 表示为

w=[μw,fw(s)],w=[\mu_w,f_w(s)],

其中 μw\mu_w 是词在场中的位置测度,fw:SRf_w:\mathcal S\to\mathbb R 是覆盖整个空间的连续函数。位置可以是多个带权 Dirac 点,函数也可以具有多个峰;二者共同提供表示多义性的自由度。

以相互作用定义语义相似性

一个词不再只由自身坐标决定,而是通过它的函数作用于其他词的位置。两个词的相似性定义为双向相互作用:

sim(wi,wj)=fidμj+fjdμi.\operatorname{sim}(w_i,w_j) = \int f_i\,\mathrm d\mu_j + \int f_j\,\mathrm d\mu_i .

如果 μj=k=1Kmj(k)δ(sj(k))\mu_j=\sum_{k=1}^{K}m_j^{(k)}\delta(s_j^{(k)}),积分可以精确化为函数在各个位置上的加权求值,不需要数值积分。一个词附近的不同语义簇会在 fwf_w 中形成不同峰;相似词的位置落在高函数值区域,远离其语义的词则得到较弱响应。

bank 的多峰语义场以及 river 和 financial 的函数叠加
bank 的金融义与地理义在同一二维场中形成分离区域;river 与 financial 的函数相加产生与 bank 相近的复合语义场。

场表示仍然保留线性组合。对词集合 Γ=[w1,,wn]\Gamma=[w_1,\ldots,w_n],句子表示为

μΓ=i=1nαiμi,fΓ(s)=i=1nαifi(s).\mu_\Gamma=\sum_{i=1}^{n}\alpha_i\mu_i, \qquad f_\Gamma(s)=\sum_{i=1}^{n}\alpha_i f_i(s).

函数本身可以是非线性的、多峰的,但函数之间的相加仍然封闭。FIRE 因而把两类结构分开处理:非线性负责表达语义形状,线性运算负责组合这些形状。

用 planar transformation 构造场

论文没有为每个词使用一个大型 MLP,而是用小型多层 planar transformation 产生向量场:

Planar(x)=x+tanh(vx+b)u.\operatorname{Planar}(x) =x+\tanh(v^\top x+b)u .

词函数由多层变换 Jacobian 的负迹构造。每层 Jacobian 是单位矩阵与秩一矩阵之和,多层乘积展开为关于状态的高阶多项式,因此可以在二维场中形成多个峰;同时,函数求值和词相似度计算仍保持 O(KL)O(KL),其中 KK 是位置数,LL 是变换层数。

模型使用 skip-gram with negative sampling 训练。共现词被推动到彼此函数的高响应区域,负样本则被推离。与普通 metric learning 的区别在于,FIRE 为每个词学习独立的小函数,而不是让所有词共享一个将输入映射到向量的大网络。

实验揭示了什么

在 30 亿 token 的 Wacky 语料上,FIRE 以与基线相同的每词参数量进行比较。50 参数设置下,12 个词相似度数据集的平均 Spearman 相关为 49.8,接近同参数 Word2Vec 的 50.4,并高于所比较的 Gaussian 和 mixture 表示。句子层面,100 参数 FIRE 在 WiC 上达到 62.7,高于同规模 Word2Vec 的 62.0;STS 结果为 61.1,接近 Word2Vec 的 61.9。这些结果说明,函数表示没有因引入多峰结构而失去基本组合能力。

更关键的实验直接测量多义性。论文选取 WordNet 中 266266 个强多义词和 276276 个强单义词,对每个目标词的语义邻域进行聚类,并比较预测簇数与词义标注。Word2Vec 只能形成单点几何,固定分量的 Gaussian mixture 又容易把单义词强行分裂;BERT 在给定上下文中擅长消歧,但其上下文化向量聚类并没有清楚恢复词义数量。FIRE 的多峰场在 bank、rock 等词上形成稳定分离,并在单义/多义识别及词义数量相关性上明显优于这些表示。

结论与边界

FIRE 证明了非线性语义形状与线性组合并不矛盾:词可以由多峰函数表示,句子仍可由函数相加构造。二维场还提供了无需降维的可解释几何,使多义性可以直接观察,而不是只存在于高维参数中。

当前方法是非上下文化表示,训练成本高于同参数 Word2Vec;每词独立函数也使大词表扩展受到参数量和计算量限制。二维可视化不是对自然语言真实维数的主张,WordNet 词义数也只是多义性的离散近似。更一般的问题是,如何让函数式语义表示进入上下文化、递归式语言模型,并在有限状态中保持多个语义模式。这一问题连接到 Mamba、DeltaNet 等线性时间模型中的选择性写入和记忆容量。

← 非线性语义表示与线性语言模型