Word2Vec

背景知识

词的表示方法

① One-hot Representation 独热表示
优点:表示简单
缺点:词越多,维数越高(词表示大小V)无法表示词与词之间的关系

②SVD
优点:可以一定程度上得到词与词之间的相似度。
缺点:矩阵太大,SVD矩阵分解效率低,学习得到的词向量可解释性差。
例如:
I enjoy flying
I like NLP
I like deep learning
矩阵如下:统计出来每个词和其他词共现的次数
在这里插入图片描述
③Distributed Representation分布式表示/稠密表示:
可以用余弦相似度表示词与词之间的关系
One-hot Representation与Distributed Representation的区别
在这里插入图片描述

### Word2Vec 技术简介 Word2Vec是一种用于生成词语向量的技术,能够将自然语言中的单词转换成数值型向量表示。这种技术基于神经网络模型,在处理大规模语料库时表现出色[^1]。 ### 使用 Gensim 库构建 Word2Vec 模型 为了简化开发流程并提高效率,可以利用 Python 的 `gensim` 库快速搭建起一个功能完备的 Word2Vec 实现方案: #### 安装依赖包 首先需要安装必要的Python库: ```bash pip install gensim numpy ``` #### 准备训练数据 准备待训练的数据集,并将其转化为适合输入的形式。假设变量名为 `x` ,它应该是一个由多个句子组成的列表,而每个句子又是一系列分词后的字符串数组。 #### 初始化与配置参数 创建一个新的 Word2Vec 对象实例,并设置一些重要的超参选项,比如特征向量维度 (`vector_size`) 和最小词频阈值(`min_count`)等: ```python from gensim.models.word2vec import Word2Vec import numpy as np w2v = Word2Vec( vector_size=100, # 特征向量长度设为100维 min_count=3 # 过滤掉出现频率低于三次的词汇 ) ``` #### 构建词汇表 调用 `.build_vocab()` 方法读取整个语料库以建立词汇索引关系: ```python w2v.build_vocab(x) ``` #### 开始训练过程 通过`.train()`函数启动迭代更新权重的过程,期间指定总的样本数量以及循环轮次数目(epochs): ```python w2v.train( x, total_examples=w2v.corpus_count, epochs=20 # 设定训练周期数为20次 ) ``` 上述代码片段展示了如何使用Gensim库轻松地完成从零开始构建自己的Word2Vec模型的任务[^2]。 ### 关键概念解析 在深入理解Word2Vec的工作原理之前,有必要先熟悉几个核心术语和技术细节,例如神经网络架构的选择(CBOW vs Skip-Gram),优化算法(Hierarchical Softmax 或 Negative Sampling)等等[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值