词向量表示方法及其语义相关性
关键字:
文档 句子 词语
单词 上下文单词 上下文窗口
向量 相似性 类比性 欧几距离 余弦距离 余弦相似度 相似度阀值
归于此类 创建新的类别
词向量 --- word2vec、glove
相似度 --- 欧几距离、余弦距离
聚类 --- kmeans
+、词向量
是指将词转化成为稠密向量,并且对于相似的词,其对应的词向量也相近
1、离散表示(one-hot representation)
传统的基于规则或基于统计的自然语义处理方法将单词看作一个原子符号
被称作one-hot representation。one-hot representation把每个词表示为一个长向量。这个向量的维度是词表大小,向量中只有一个维度的值为1,其余维度为0,这个维度就代表了当前的词。
例如:
苹果 [0,0,0,1,0,0,0,0,0,……]
one-hot representation相当于给每个词分配一个id,这就导致这种表示方式不能展示词与词之间的关系。另外,one-hot representation将会导致特征空间非常大,但也带来一个好处,就是在高维空间中,很多应用任务线性可分。
2、分布式表示(distribution representation)
word embedding指的是将词转化成一种分布式表示,又称词向量。分布式表示将词表示成一个 定长的 连续的 稠密向量。
分布式表示优点:
(1) 词之间存在相似关系:
是词之间存在“距离”概念,这对很多自然语言处理的任务非常有帮助。
(2) 包含更多信息:
词向量能够包含更多信息,并且每一维都有特定的含义。在采用one-hot特征时,可以对特征向量进行删减,词向量则不能。
+、词向量生成算法
1、基于统计 - 共现矩阵
通过统计一个事先指定大小的窗口内的word共现次数,以word周边的共现词的次数作为当前word的vector。
矩阵定义的词向量在一定程度上缓解了one-hot向量相似度为0的问题,但没有解决数据稀疏性和维度灾难的问题。
2、语言模型 - NNLM -> Word2Vec -> Glove -> Seq2Seq -> Seq2Seq With Attention -> ELMo -> GPT -> Bert
语言模型生成词向量是通过训练神经网络语言模型NNLM(neural network language model),词向量作为语言模型的附带产出。NNLM背后的基本思想是对出现在上下文环境里的词进行预测,这种对上下文环境的预测本质上也是一种对共现统计特征的学习。
2.1、Word2Vec
基本出发点是上下文相似的两个词,它们的词向量也应该相似,比如香蕉和梨在句子中可能经常出现在相同的上下文中,因此这两个词的表示向量应该就比较相似。
只关心模型训练完后的副产物:词向量矩阵
word2vec模型中比较重要的概念是词的上下文,说白了就是一个词周围的词,比如wt的范围(即窗口)为1的上下文就是wt−1和wt+1。
word2vec模式下的两个模型:CBOW 和 SkipGram
CBOW(Continuous Bag-of-Word):以上下文词汇预测当前词,即用
SkipGram:以当前词预测其上下文词汇,即用
如何通俗理解word2vec_结构之法 算法之道-CSDN博客_word2vec
2.2、GloVe - Global Vectors for word Respresentation
一个基于全局词频统计的词表征,它可以把一个单词表达成一个由实数组成的向量,这些向量捕捉到了单词之间一些语义特性,比如相似性(similarity)、类比性(analogy)等。
斯坦福设计的一个新的词向量算法,结合了词频和词嵌入词向量计算的优点。
GloVe 教程之实战入门+python gensim 词向量_sscssz的博客-CSDN博客_glove python
2.3、BERT
BERT是一个预训练的模型,用于创建NLP从业人员可以免费下载和使用的模型。
使用BERT从文本数据中提取特征,即单词和句子的嵌入向量。
BERT生成的单词表示是由单词周围的单词动态通知的。
BERT中的词向量指南,非常的全面,非常的干货_AI公园-CSDN博客
词向量表示方法及其语义相关性相关推荐
- 自然语言处理技术之词嵌入方法-2
词嵌入是自然语言处理(NLP)中语言模型与表征学习技术的统称,也是实现自然语言处理任务的基础. 目录 传统词向量特征的表示方法 1.one-hot one-hot的缺点 2.TF-IDF TF-IDF ...
- One_hot和Word2Vec两种词向量方法的原理及比较
对于文本处理,首要的任务是要对非结构化数据进行结构化处理,由此诞生了词向量表示的方法,再众多词向量表示方法中,尤其以One_hot和word2vec两种方法最常用,下面也针对这俩方法进行阐述 One_ ...
- 斯坦福大学深度学习与自然语言处理第三讲:高级的词向量表示
斯坦福大学在三月份开设了一门"深度学习与自然语言处理"的课程:CS224d: Deep Learning for Natural Language Processing,授课老师是 ...
- word2vec应用场景_介绍Word2Vec和Glove这两种最流行的词嵌入方法背后的直觉
NLP 的首要问题就是寻求恰当的文本表示方法. 因为, 良好的文本表示形式, 是后续进一步处理的基础.近年来,词嵌入方法越来越流行,在各种各样的 NLP 任务中 得到了广泛的应用.简单而言,词嵌入是通 ...
- cs224n第二讲:简单的词向量表示:word2vec, Glove
第二讲:简单的词向量表示:word2vec, Glove How do we represent words? 在处理所有NLP任务的时候,我们首先需要解决非常重要的一个问题(可能是最重要的):用什么 ...
- 第2章 词向量表示 GloVe word2vec skip-gram CBOW
第2章 词向量表示 GloVe word2vec skip-gram CBOW 1 如何在模型中表示文本数据? 1.1 独热编码(one-hot encoding) 1.2 分布式表示(distrib ...
- php敏感字符串过滤_PHP实现的敏感词过滤方法示例
本文实例讲述了PHP实现的敏感词过滤方法.分享给大家供大家参考,具体如下: 1.敏感词过滤方法 /** * @todo 敏感词过滤,返回结果 * @param array $list 定义敏感词一维数 ...
- Python字符串逐字符或逐词反转方法
这篇文章主要介绍了Python字符串逐字符或逐词反转方法,本文对逐字符或逐词分别给出两种方法,需要的朋友可以参考下 目的 把字符串逐字符或逐词反转过来,这个蛮有意思的. 方法 先看逐字符反转吧,第一种 ...
- 你可能不需要固定词表:一种与词表无关的组合式词向量方法
论文标题: Grounded Compositional Outputs for Adaptive Language Modeling 论文作者: Nikolaos Pappas (UW), Phoe ...
最新文章
- react 合并数组_React 数组合并去重,实现请求三遍返回三组数据的合并去重。
- name选择器_这33个超级好用的CSS选择器,你可能见都没见过
- php和asp程序如何进行301设置?
- 项目: 用封装的方法实现飞机大战游戏
- 哈工大计算机学院历史,历史沿革
- 清北学堂 清北-Day1-R1-Count
- 使用Electron将Web项目打包成windows桌面应用
- python3.6.2安装pip_centos7 安装pip+python3.6以及pip安装错误解决办法
- nsis升级包_NSIS制作软件升级安装包完整教程
- 弘辽科技:限制店铺流量上涨的七大原因
- 《沉默的真 相》的舆情分析及文本挖掘(二)——以原著小说,京东商品为例
- word中套用表格样式在哪里_word2010中表格自动套用格式在哪里?
- kernel中的日志打印
- PhantomJS的安装
- c++11伪随机数生成库:random
- Elasticsearch 滞后8个小时等时区问题,一网打尽!
- freeswitch部署及网关调试
- 期待已久的《刀剑神域》第三季终于来了
- iOS runtime再学习
- 控制台报错element: <Goods> - did you register the component correctly? For recursive components, make sur