nlp中的一些名词理解
2018-03-28 14:58
204 查看
1、word embedding
词嵌入,也叫词向量。对于文本数据,我们需要将其转换为数值型才能输入到模型中。词向量就是这样一种转换数据的方法。通常我们表示文本数据是将其one-hot编码,比如某文本有10000个不同的词汇,我们将其编码成10000维的向量,其中只在某一位数值是1,其他是0。那么一个语句包含了多个词汇,我们如何将其转化为多维向量。一种是纯粹的自用one-hot编码即可,但是这样没有考虑词汇与词汇之间的相关性,也没有考虑语法结构问题。
所以,我们参考自编码模型,通过输入相关的词汇对作为模型的输入输出,求得其中间隐藏层的权重矩阵,这样就可以得到了我们说想要的词向量表示。
2、word2vec
谷歌推出的word2vec正是这样的一种模型。将词汇表示称向量,具有关联性的词汇之间通过之前的模型训练,它们所得的向量之间也具有相关性。而如何得到词汇对有下面两种做法。
3、skip-gram
根据当前单词预测上下文。通过固定的窗口对句子进行滑动,截取词汇对。如“我想要去北京“这一句,可以截取成“我–我想,我要“;“想-我想,想要,想去“;“要-我要;想要;要去;要北“等与当前词相关的词汇对。然后放入模型中去训练,最后一层接上softmax可以得到这种词汇对出现在整个文本中的概率大小。
4、cbow
使用上下文预测当前词汇。
词嵌入,也叫词向量。对于文本数据,我们需要将其转换为数值型才能输入到模型中。词向量就是这样一种转换数据的方法。通常我们表示文本数据是将其one-hot编码,比如某文本有10000个不同的词汇,我们将其编码成10000维的向量,其中只在某一位数值是1,其他是0。那么一个语句包含了多个词汇,我们如何将其转化为多维向量。一种是纯粹的自用one-hot编码即可,但是这样没有考虑词汇与词汇之间的相关性,也没有考虑语法结构问题。
所以,我们参考自编码模型,通过输入相关的词汇对作为模型的输入输出,求得其中间隐藏层的权重矩阵,这样就可以得到了我们说想要的词向量表示。
2、word2vec
谷歌推出的word2vec正是这样的一种模型。将词汇表示称向量,具有关联性的词汇之间通过之前的模型训练,它们所得的向量之间也具有相关性。而如何得到词汇对有下面两种做法。
3、skip-gram
根据当前单词预测上下文。通过固定的窗口对句子进行滑动,截取词汇对。如“我想要去北京“这一句,可以截取成“我–我想,我要“;“想-我想,想要,想去“;“要-我要;想要;要去;要北“等与当前词相关的词汇对。然后放入模型中去训练,最后一层接上softmax可以得到这种词汇对出现在整个文本中的概率大小。
4、cbow
使用上下文预测当前词汇。
相关文章推荐
- 师哥讲课的一些名词理解(查询整理)
- 师哥讲课的一些名词理解(查询整理)
- node.js中的一些名词的理解
- 对机器学习名词的一些个人理解
- 机器学习(7)-一些名词的理解
- AspectSharp中的一些AOP名词浅解(个人理解而已)
- github上对一些名词的理解(之如fork)
- JAVAEE一些名词的理解(摘录)
- Linux当中的一些名词理解
- 对一些 关键词、语句、函数、专业名词 等的解释和理解(一)
- 收藏的网上对一些名词的理解:如jsp、action、service、dao、PO等
- 如何理解ARM的一些名词
- 会计中的一些名词理解
- 我对嵌入式一些概念名词简单的理解
- spring aop一些名词的理解
- C/C++中的一些名词或关键词的理解
- 关于.Net中一些名词的理解
- 对一些 关键词、语句、函数、专业名词 等的解释和理解(二)
- (0077)iOS开发之直播播放器技术名词理解以及开发准备(待实现直播demo)
- 对/proc和/sys的一些理解