| 第204行: |
第204行: |
| | 在训练之前,GloVe 首先对整个语料库构建一个 '''共现矩阵<math>X</math>''': | | 在训练之前,GloVe 首先对整个语料库构建一个 '''共现矩阵<math>X</math>''': |
| | | | |
| − | 每个元素 '''<math>X_{ij}</math>''' 表示词'''<math>j</math>'''在词 '''<math>i</math>''' 的上下文窗口中出现的次数;
| + | ·每个元素 '''<math>X_{ij}</math>''' 表示词'''<math>j</math>'''在词 '''<math>i</math>''' 的上下文窗口中出现的次数; |
| | | | |
| − | 这个矩阵是稀疏且高维的,规模为 '''<math>V \times V</math>''',其中'''<math>V</math>'''是词汇表大小。
| + | ·矩阵是稀疏且高维的,规模为 '''<math>V \times V</math>''',其中 '''<math>V</math>''' 是词汇表大小。 |
| | | | |
| − | 损失函数如下:
| + | GloVe 的一个重要设计理念是:'''两个词之间的语义关系可由它们对其他词的共现比值刻画'''。对于一个目标词 '''<math>i</math>''',考虑两个上下文词 '''<math>j</math>''' 和 '''<math>k</math>''',如果 '''<math>i</math>''' 与 '''<math>j</math>''' 的共现频率远高于与 '''<math>k</math>''',则两者在语义上的关联也会不同。 |
| | + | |
| | + | 定义贡献概率为: |
| | + | |
| | + | '''<math>i</math>''' |
| | + | |
| | + | GloVe 期望通过学习得到的词向量 '''<math>w_i</math>''',能使词之间的向量关系满足下列公式形式: |
| | + | |
| | + | '''<math>F(\mathbf{w}_i, \tilde{\mathbf{w}}_j, X_{ij}) = \mathbf{w}_i^\top \tilde{\mathbf{w}}_j + b_i + \tilde{b}_j \approx \log X_{ij}</math>''' |
| | + | |
| | + | 即目标是让'''词向量的点积加上偏置项'''逼近'''共现频率的对数值''',而不是原始频数,后者变化范围太大。 |
| | + | |
| | + | 为了实现上述目标,GloVe 构建了以下加权平方误差损失函数: |
| | | | |
| | <math>J = \sum_{i,j=1}^{V} f(X_{ij}) \cdot \left( \mathbf{w}_i^\top \tilde{\mathbf{w}}_j + b_i + \tilde{b}_j - \log X_{ij} \right)^2 | | <math>J = \sum_{i,j=1}^{V} f(X_{ij}) \cdot \left( \mathbf{w}_i^\top \tilde{\mathbf{w}}_j + b_i + \tilde{b}_j - \log X_{ij} \right)^2 |
| 第223行: |
第235行: |
| | <math>b_i</math> , <math>{b}_j</math>:偏置项。 | | <math>b_i</math> , <math>{b}_j</math>:偏置项。 |
| | | | |
| − | * GloVe(Global Vectors for Word Representation)
| + | 这个函数可以防止高频词主导模型训练,也避免了低频词对整体模型质量的影响。 |
| − | *FastText
| + | |
| − | *BERT 和 Transformer 模型
| + | ===== 总结与对比: ===== |
| − | *动态词嵌入(如 ELMo)
| + | ·'''不同于 Word2Vec''':Word2Vec 是基于预测任务(局部上下文窗口);而 GloVe 是基于矩阵分解(全局共现频率); |
| | + | |
| | + | ·'''相比传统 LSA(SVD)''':GloVe 使用非线性权重函数,训练时不需要全局矩阵分解,更高效; |
| | + | |
| | + | ·'''适合全局语义关系建模''',尤其在大规模语料训练中表现优异; |
| | + | |
| | + | ·支持线性类比关系,类似 Word2Vec(如“king - man + woman ≈ queen”) |
| | + | |
| | + | ==== FastText ==== |
| | + | |
| | + | ==== BERT 和 Transformer 模型 ==== |
| | + | |
| | + | ==== 动态词嵌入(如 ELMo) ==== |
| | | | |
| | =='''开源实现与工具'''== | | =='''开源实现与工具'''== |