CS224N lecture1笔记
这里写自定义目录标题
CS224N lecture1笔记
1. How do we represent the meaning of a word?
我们可以利用低信息含量的词语来表示高信息含量的场景,例如简简单单一句话的描述,你的脑海里就能浮现出一幅场景。
2. Word2Vec介绍
2.1 语言模型
语言模型:预测每个句⼦在语⾔中出现的概率
P(S)也被称为语言模型,即用来计算一个句子概率的模型。
2.2 计算
表示整句话在训练语料库中出现的次数除以不算当前词Wi后句子出现的次数。
2.3 缺点
- 数据过于稀疏
- 参数空间太大
解释:虽然能够表示出一句话的概率,但是这样的计算的计算量特别大,会导致数据过于稀疏,因为每一个词都要考虑前⾯很多很多的词,而前面很多词组合在以起的概率其实并没有很高,组合到⼀起的词越多,它的数据模型是越稀疏的。因为数据非常稀疏,这会导致参数空间太大。
2.4 基于马尔科夫的假设
为了解决上述缺点,下面介绍基于马尔科夫的假设。
基于马尔科夫的假设:下一个词的出现仅依赖于它前面的一个或几个词。
假设下一个词的出现依赖它前面的一个词,则有:
假设下一个词的出现依赖它前面的两个词,则有:
2.5 n-gram模型
n-gram模型:假设当前词的出现概率只与它前面的N-1个词有关。
如何选择n:
- 更大的n:对下ー个词出现的约束信息更多,具有更大的辨别力;
- 更小的n:在训练语料库中出现的次数更多,具有更可靠的统计信息,具有更高的可靠性。
理论上,n大越好,经验上,trigram用的最多,尽管如此,原则上,能用
bigram解决,绝不使用 trigram。
2.6 构造语言模型
构造语言模型:最大似然估计。
Count(X):在训练语料库单词序列X在训练语料中出现的次数。
3. 词向量
词表示为:[0.792,-0.177,-0.107,0.109,0.542,…]
常见维度50或者100
解决”语义鸿沟“问题
可以通过计算向量之间的距离(欧式距离、余弦距离等)来体现词与词的相似性
3.1 独热编码
语言模型生成词向量
神经网络语言模型(NNLM):直接从语言模型出发,将模型最优化过程转化为求词向量表示的过程。
目标函数: