词嵌入将单词映射为向量,使模型能够以数值方式处理语言。有效的嵌入会让使用语境相似的单词彼此接近:例如,cat 和 dog 的向量通常应该比 cat 和 database 的向量更相似。相似度通常使用余弦相似度衡量。
分布式嵌入的工作原理 #
分布假说是许多嵌入背后的实用理念:出现在相似语境中的单词往往具有相关含义。Word2Vec、GloVe 和 fastText 等算法通过预测邻近单词或分解词语—语境统计数据,从大型文本集合中学习向量表示。
嵌入并非词典定义。它的几何结构反映训练数据中的模式,包括歧义和偏差。除非模型具有上下文感知能力,否则 bank 的向量可能混合金融机构和河岸两种含义。
静态表示与上下文表示 #
静态模型为每个词汇项分配一个向量。它们结构紧凑,适用于简单任务,但无法根据单词所在的句子区分其词义。
上下文语言模型会为每次出现的词元生成一个表示。在 Transformer 中,bank 的表示会随输入的其余部分而变化。因此,上下文嵌入更适合许多现代语言任务,但计算成本也更高。
A La Carte 嵌入 #
A La Carte Embeddings 是一种根据新单词或短语出现的语境推导其向量的方法。当预训练静态嵌入的词表不包含领域特定术语、命名实体或新造表达时,它尤其有用。
该方法从预训练嵌入空间开始,学习从语境向量到目标词向量的线性变换。若要嵌入一个未见过的术语,需要收集其周围的单词,对这些单词的已知嵌入取平均值,然后应用学习到的变换。该方法通常比直接使用语境平均值更可靠,因为该变换会校正语境表示与单词表示之间的系统性差异。
实际注意事项 #
应使用来自新术语出现领域的语料库,在适当情况下从其语境中排除术语本身,并收集足够多样的示例以降低噪声。A La Carte Embeddings 能够以较低成本扩展静态模型,但它无法创造语料库中不存在的证据,也无法消除所有有歧义的用法。
评论
在 GitHub 上阅读或评论(发表评论需要登录)