分布式语义与词向量模型:从理论到实践
在自然语言处理(NLP)领域,如何有效地表示词语的语义信息一直是核心问题。分布式语义学为解决这一问题提供了重要的思路,它基于“上下文相似的词具有相似的语义”这一假设,通过词在文本中的上下文信息来学习词的向量表示。本文将详细介绍几种重要的词向量模型,包括Bengio模型、Collobert和Weston模型、word2vec模型以及GloVe模型。
1. 神经语言模型基础
神经语言模型的目标是根据前面的词预测下一个词。以Bengio模型为例,它通过迭代训练来最大化训练语料库上的条件对数似然 $J$,公式如下:
[J = \frac{1}{T} \sum_{t=1}^{T} \log f(v(w_t), v(w_{t - 1}), \ldots, v(w_{t - n + 1}); \theta) + R(\theta)]
其中,$v(w_t)$ 是词 $w_t$ 的特征向量,$f$ 是表示神经网络的映射函数,$R(\theta)$ 是应用于网络权重 $\theta$ 的正则化惩罚项。通过这种方式,模型不仅将每个词与分布式词特征向量相关联,还学习了词序列的联合概率函数。例如,对于一个词汇量为100,000的语料库,使用one - hot编码的100,000维向量表示,Bengio模型可以学习到一个更小的300维连续向量空间表示。
2. Collobert和Weston模型
2008年,Collobert和Weston将词向量应用于多个NLP任务,并证明词向量可以在语料库上以无监督的方式进行训练,从而显著提升NLP任务的性能。他们使用了一个端到端训练的多层神经网络,网络的第一层学习到的分布式词表示可以在多
超级会员免费看
订阅专栏 解锁全文
6148

被折叠的 条评论
为什么被折叠?



