Word2Vector介绍

Word2Vector 2013
word2vec也叫word embeddings ,中文名"词向量 ",google开源的一款用于词向量计算的工具,作用就是将自然语言中的字词转为计算机可以理解的稠密向量 。在word2vec出现之前,自然语言处理经常把字词转为离散的单独的符号,也就是One-Hot Encoder ,为高维稀疏向量。使用Vector Representations可以有效解决这个问题。Word2Vec可以将One-Hot Encoder转化为低维度的连续值的稠密向量,并且其中意思相近的词将被映射到向量空间中相近的位置 。word2vec词向量可以较好地表达不同词之间的相似和类比关系

Word2Vec是一种将文本中的词进行嵌入(Embedding)的方法,而所谓嵌入,就是将各个词使用一个定长的向量来表示,Embedding其实就是一个映射,将单词从原先所属的空间映射到新的多维空间中,也就是把原先词所在空间嵌入到一个新的空间中去。

word2vec主要分为CBOW(Continuous Bag of Words,连续词袋)和Skip-Gram(跳字模型)两种模式。

(1)CBOW 是从原始语句推测目标字词;通过上下文推测目标词:A person who never input:a, who,never output label:person

(2)Skip-Gram 正好相反,是从目标字词推测出原始语句。通过目标词预测上下文 input:person output label:a, who,never

CBOW对小型数据库比较合适,而Skip-Gram在大型语料中表现更好。

可以推测,如果两个单词的上下文一样,那么意味着这两个单词也应该是相似的。通过这种方法,我们可以获得一个词的扩展词,即与其相似的词。

word2vec训练过程中的两个关键超参数是窗口大小和负样本的数量。

负例采样

较小的窗口大小(2-15),较大的窗口大小(15-50,甚至更多)

Gensim默认为5个负样本。

训练:

1.创建两个矩阵------Embedding矩阵和Context矩阵,这两个矩阵在我们的词汇表中嵌入了每个单词。随机值初始化这些矩阵。

2.计算输入嵌入与每个上下文嵌入的点积and sigmoid 。

3.停止训练过程,丢弃Context矩阵,并使用Embeddings矩阵作为下一项任务的已被训练好的嵌入。

4.增量训练:模型训练以后,会有新的语料,也就存在新词,这个时候新词用word2vec就得不到词向量,会报ovo(out vacbuary)的错误。需要重新训练模型,gensim就提供了一个很好的机制,就是增量训练,新词不用和旧词全部一起训练。

相关推荐
司马阅-SmartRead5 分钟前
司马阅与铨亿科技达成生态战略合作,AI赋能工业领域智能化转型
人工智能·aigc
Arenaschi1 小时前
AI对未来游戏模式与游戏开发的助力
网络·人工智能·游戏·ai
RFID舜识物联网1 小时前
NFC与RFID防伪标签:构筑产品信任的科技防线
大数据·人工智能·科技·嵌入式硬件·物联网·安全
IT_陈寒1 小时前
Redis 7个性能优化技巧,让我们的QPS从5k提升到20k+
前端·人工智能·后端
jiushun_suanli2 小时前
AI生成音频:技术概述与实践指南
人工智能·经验分享·音视频
五度易链-区域产业数字化管理平台2 小时前
五度易链产业大脑技术拆解:AI + 大数据 + 云计算如何构建产业链数字基础设施?
大数据·人工智能·云计算
m0_650108242 小时前
【论文精读】SV3D:基于视频扩散模型的单图多视角合成与3D生成
人工智能·论文精读·视频扩散模型·单图 3d 生成
力江2 小时前
攻克维吾尔语识别的技术实践(多语言智能识别系统)
人工智能·python·自然语言处理·语音识别·unicode·维吾尔语
糖葫芦君2 小时前
基于树结构突破大模型自身能力
人工智能·深度学习·大模型
诗句藏于尽头2 小时前
MediaPipe+OpenCV的python实现交互式贪吃蛇小游戏
人工智能·python·opencv