词向量模型扩展
来源:互联网 发布:python hdfs3 编辑:程序博客网 时间:2024/06/10 19:17
1、词向量介绍
在自然语言处理领域,数据的表征是最基础的技术。初始为每个单词或者数字赋值id作为标识;到one-hot方式,将用一个词表大小的向量表示,有且仅有一个位置为1,其余为0,即下标index等同于id,如:词袋模型(BOW bag of words);再到如今的分布式表示,采用一个k维的向量,每一个维度都是一个double(float)类型的数字,如:LDA、word2vec。。。
词向量的表征功能越来越强大,但是还是依然无法解决一词多义的问题。而词向量模型的可解释性依然不足。
2、word2vec 介绍
网络上充斥着很多word2vec模型框架的介绍,很详细也很冗余,例如:cbow、skip-ngram、Huffman-tree、negative-sampling。。。。。对它的原理介绍的也很清楚,使用上下文来表征当前单词,本质上可以看作基于点互信息的排序(GoldBerg 以及后续的wordrank 模型)。。。。不足之处介绍的也很详细,cbow模型在进行参数更新是对上下文word的更新1/n,没有考虑到不同位置的贡献度不同。。。。
Mikolov提出的经典的word2vec架构中的CBOW/skip-ngram模型,其实可以看作是一个全链接层(输入层)+层次化softmax层(huffman树)的架构;而采用negative-sampling方法后的模型,则更加简单,全链接层(输入层)+多分类层(softmax)。
3、扩展
如果将输入层看作是特征提取层,则我们可以使用功能更加强大的其它网络结构,如CNN、LSTM;也可以设计出更加丰富的输入形式构词特征等。接下来的分类层,我们同样可以采用其他分类函数,无SVM等等。
word2vec学习到的分类参数W看作为上下文矩阵,是一种强耦合的关系。我们可以将其解耦合,单独设计一个网络架构学习上下文向量,然后进行分类学习。
更进一步,一个单词可以有多种上下文,即单词和上下文是一种多对多的关系,而目前的模型架构均为一对一(分类模型),即使根据统计学,也可以学到比较丰富的词义表示(一对多),但依然有所不足。可以考虑采用GAN模型框架去训练词向量(笔者正在摸索中。。。)
- 词向量模型扩展
- GloVe 词向量模型
- 词向量和语言模型
- 词向量和语言模型
- 词向量和语言模型
- 词向量和语言模型
- 词向量和语言模型
- 词袋模型和词向量模型
- word2vec词向量模型裁剪简单demo
- 自然语言处理Word2Vec词向量模型
- 词向量和语言模型阅读笔记
- 文本深度表示模型—word2vec&doc2vec词向量模型
- 文本深度表示模型—word2vec&doc2vec词向量模型
- 扩展欧几里德 HNOI2011向量
- 改进向量空间模型
- 向量空间模型
- 向量空间模型
- 向量空间模型
- 知识总结Objective-C Runtime 运行时(1)
- 软件调试笔记67
- Java面向对象知识点20个
- 总线错误和段错误
- C#游戏开发基础01
- 词向量模型扩展
- Visual Studio 2013下调试dll的问题
- streamsets安装部署
- 基于SpringBoot Shiro CAS单点登录实现
- 使用Anaconda安装scrapy和ImportError: DLL load failed: 操作系统无法运行 %1决解方案
- 软件调试笔记68
- golang JSON的使用
- Tomcat系列—JDK安装(bin)
- 手把手教你制作 中英文 词云