❖ 离散表示
❖ 分布式连续表示
离散表示的问题:
1> 无法衡量词向量之间的关系
2> 词表维度随着语料库增长膨胀
3> n-gram词序列随语料库膨胀更快
4> 数据稀疏问题
1)设立语料库
John likes to watch movies. Mary likes too.
John also likes to watch football games.
2)根据语料库构建的词典
{“John”: 1, “likes”: 2, “to”: 3, “watch”: 4, “movies”: 5, “also”: 6, “football”: 7, “games”: 8, “Mary”: 9, “too”: 10}
3) 把上面词典中词按照One-hot表示
John: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0]
likes: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0]
…
…
too : [0, 0, 0, 0, 0, 0, 0, 0, 0, 1]
注意:
❖ 词典包含10个单词,每个单词有唯一索引
❖ 在词典中的顺序和在句子中的顺序没有关联
1)文档的向量表示可以直接将各词的词向量表示加和
John likes to watch movies. Mary likes too. => [1, 2, 1, 1, 1, 0, 0, 0, 1, 1]
John also likes to watch football games. => [1, 1, 1, 1, 0, 1, 1, 1, 0, 0]
2)计算词权重 TF-IDF
Bi-gram和N-gram
词袋模型的问题:未考虑词的顺序
共现矩阵的目的
Word - Document 的共现矩阵主要用于发现主题(topic),用于
主题模型,如LSA (Latent Semantic Analysis)
共现矩阵存在的问题
• 向量维数随着词典大小线性增长
• 存储整个词典的空间消耗非常大
• 一些模型如文本分类模型会面临稀疏性问题
• 模型会欠稳定
解决方案
构造低维稠密向量作为词的分布式表示 (25~1000维)!
为了解决上面提到的共现矩阵维度太高的问题,最直接的想法就是通过SVD对共现矩阵向量进行降维。但它同样存在很多问题:
本文内容根据七月学堂课件内容整理而成