词向量(One-Hot Encoding、Word Embedding、Word2Vec)

词向量,顾名思义,用向量表示单词。

1、One-Hot Encoding

One-Hot编码,又称为一位有效编码,主要是采用N位状态寄存器来对N个状态进行编码,每个状态都由他独立的寄存器位,并且在任意时候只有一位有效。

One-Hot编码是分类变量作为二进制向量的表示。这首先要求将分类值映射到整数值。然后,每个整数值被表示为二进制向量,除了整数的索引之外,它都是零值,它被标记为1。

python 代码示例:

python 复制代码
from sklearn import preprocessing  
   
enc = preprocessing.OneHotEncoder()  
enc.fit([[0,0,3],[1,1,0],[0,2,1],[1,0,2]])  # 训练。这里共有4个数据,3种特征
   
array = enc.transform([[0,1,3]]).toarray()  # 测试。这里使用1个新数据来测试
   
print array   # [[ 1  0  0  1  0  0  0  0  1]] # 独热编码结果

*后面参考文献有对代码进行解释

使用one-hot编码,将离散特征的取值扩展到了欧式空间,离散特征的某个取值就对应欧式空间的某个点。将离散型特征使用one-hot编码,会让特征之间的距离计算更加合理。离散特征进行one-hot编码后,编码后的特征,其实每一维度的特征都可以看做是连续的特征。

2、Word Embedding

由于 One-Hot Encoding 表示的词向量无法解决词之间相似性问题(即词与词之间的关系)。

然而,通过 One-Hot Encoding 表示的词向量输入神经网络语言模型中,得到新的词向量可以解决词之间相似性问题(即可以采用余弦相似度等方法计算两个词之间的相似度)。

Word Embedding 例子:

当一个单词表达成 Word Embedding 后,很容易找出语义相近的其它词汇。

3、Word2Vec

Word2Vec 是 Word Embedding 语言模型之一。

Word2Vec 有两种训练方法:

第一种叫 CBOW,核心思想是从一个句子里面把一个词抠掉,用这个词的上文和下文去预测被抠掉的这个词;

第二种叫做 Skip-gram,和 CBOW 正好反过来,输入某个单词,要求网络预测它的上下文单词。

REFERENCE

数据预处理:独热编码(One-Hot Encoding)和 LabelEncoder标签编码
机器学习数据预处理1:独热编码(One-Hot)及其代码
机器学习之独热编码(One-Hot)详解(代码解释)

相关推荐
落叶,听雪12 小时前
AI建站推荐
大数据·人工智能·python
AI猫站长12 小时前
快讯|特斯拉机器人街头“打工”卖爆米花;灵心巧手香港AI艺术节秀“艺能”,香港艺发局主席霍启刚积极评价;国产核心部件价格将“腰斩”
人工智能·机器人·具身智能·neurips·灵心巧手·脑电波·linkerhand
Godspeed Zhao13 小时前
自动驾驶中的传感器技术77——Sensor Fusion(0)
人工智能·机器学习·自动驾驶
昨日之日200613 小时前
SCAIL - 自然流畅的AI角色动画生成软件 照片跳舞 虚拟偶像 WebUI+ComfyUI工作流 一键整合包下载
人工智能·音视频
geneculture13 小时前
从智力仿真到认知协同:人机之间的价值对齐与共生框架
大数据·人工智能·学习·融智学的重要应用·信智序位
我很哇塞耶13 小时前
OpenAI最新发布,企业级AI智能体的强化微调实践
人工智能·ai·大模型
aitoolhub13 小时前
H5设计实战技巧:从视觉到交互,打造高转化用户体验
自然语言处理·交互·ux·设计语言
岁月的眸13 小时前
【科大讯飞声纹识别和语音内容识别的实时接口实现】
人工智能·go·语音识别
Nautiluss13 小时前
一起玩XVF3800麦克风阵列(十)
linux·人工智能·python·音频·语音识别·实时音视频·dsp开发