更改

添加2,951字节 、 2025年6月8日 (日) 15:19
第246行: 第246行:  
·支持线性类比关系,类似 Word2Vec(如“king - man + woman ≈ queen”)
 
·支持线性类比关系,类似 Word2Vec(如“king - man + woman ≈ queen”)
   −
==== FastText ====
+
==== 5.2 FastText ====
 +
 
 +
===== 背景: =====
 +
FastText 是由 Facebook AI Research 的 Armand Joulin、Tomas Mikolov 等人于 2016 年提出,旨在解决 Word2Vec 模型在处理罕见词、词形变化(如复数、时态)等方面的能力不足。其核心理念是在训练过程中引入子词信息,以增强词向量对形态的建模能力。
 +
 
 +
===== 技术原理: =====
 +
FastText 的核心思想是:'''将词视为子词(subword)n-gram 的组合体''',而不是独立的原子单位。这一设计增强了模型对罕见词、形态变化词以及未登录词(OOV)的表示能力。
 +
 
 +
====== ·子词建模(Subword Embedding): ======
 +
每个单词 <math>w</math> 被划分为若干个字符 n-gram,例如设置 n = 3~6 时:
 +
 
 +
对于词 “where”,首先在其两端添加边界符号(如 < 和 >),构成:<where>,然后提取字符 n-gram 得到: <wh, whe, her, ere, re>,包括完整词本身 "where",最终表示为一个 n-gram 集合 <math>G_w</math>。
 +
 
 +
词向量的表示为其所有 n-gram 向量的平均或和:
 +
 
 +
<math>v_w = \sum_{g \in G} w_g z_g
 +
</math>
 +
 
 +
其中:
 +
 
 +
<math>z_g</math>​ 是 n-gram <math>g</math> 的嵌入向量;
 +
 
 +
<math>G_w</math>​ 是词 <math>w</math> 的所有子词集合。
 +
 
 +
这种表示方式让模型在遇到未登录词时,也可以通过其组成子词获取合理向量。
 +
 
 +
====== ·模型结构与训练: ======
 +
FastText 延续了 Word2Vec 的 Skip-gram 架构,但输入词不再是 one-hot 编码的词本身,而是其所有 n-gram 的组合。训练目标为:给定中心词(子词组合向量),预测其上下文词。即最大化如下目标函数:
 +
 
 +
<math>L_{\text{Skip-gram}} = \sum_{(w_t, w_o) \in D} \left[ \log \sigma\left( \mathbf{v}_{w_o}^\top \mathbf{v}_{w_t} \right) + \sum_{i=1}^{k} \mathbb{E}_{w_i' \sim P_n(w)} \log \sigma\left( -\mathbf{v}_{w_i'}^\top \mathbf{v}_{w_t} \right) \right]
 +
</math>
 +
 
 +
其中:
 +
 
 +
<math>w</math> 是由子词构成的中心词向量;
 +
 
 +
<math>v_{wo}</math>​​ 是上下文词向量;
 +
 
 +
负采样 <math>P_n(w)</math> 用于高效近似 softmax。
 +
 
 +
FastText 的训练过程本质上是'''端到端地联合优化所有子词的向量表示''',以提升整体语义建模能力。
 +
 
 +
===== 总结与对比: =====
 +
'''子词增强表示能力''':FastText 通过引入 n-gram,有效表示未登录词与形态变化词;
 +
 
 +
'''面向多语言与拼写多样化语言'''(如芬兰语、德语)效果显著优于 Word2Vec;
 +
 
 +
'''与 Word2Vec 相比''':Word2Vec 只能对词表中出现过的词进行建模,FastText 可泛化到未出现的新词,具备更强的鲁棒性与泛化能力;
 +
 
 +
'''与 GloVe 相比''':GloVe 基于全局共现信息构建稠密表示,适合静态建模,FastText 基于局部上下文与子词结构,适合细粒度语义与动态扩展;
 +
 
 +
'''应用场景广泛''':在文本分类、命名实体识别、搜索排序、拼写纠错、推荐系统中广泛使用;
    
==== BERT 和 Transformer 模型 ====
 
==== BERT 和 Transformer 模型 ====
130

个编辑