(done) 什么是词嵌入技术?word embedding ?(这里没有介绍词嵌入算法)(没有提到嵌入矩阵如何得到)

参考视频:https://www.bilibili.com/video/BV1sw411S7i1/?spm_id_from=333.788\&vd_source=7a1a0bc74158c6993c7355c5490fc600


词嵌入(word embedding):把词汇表中的词或短语 -------- 映射 ----> 固定长度向量

我们可以把 one-hot 编码表示的 高维稀疏向量 -------- 转化 ---------> 低维连续向量

使用低维连续向量的好处是:

1.节省存储空间和计算成本

2.可以更好地表示不同单词之间的关系

如下图,我们可以使用降维算法,把词嵌入向量(word embedding vectors) 映射到二维平面上

词嵌入向量不仅可以表达语义的相似性,还能通过向量的数学关系描述词语之间的词语关联

通过特定的词嵌入算法 (如 word2vec, fasttext, glove 等),我们能够训练一个通用的嵌入矩阵

如下图,矩阵中的每一行都代表了一个词向量

这些词向量是通用的,它们一旦训练完成,就可以用在不同的 NLP 任务中

如下图,嵌入矩阵的行,就是语料库(词汇表, vocab) 中词语的个数,矩阵的列是词语的维度

接下来我们用一个具体的例子,来说明词嵌入的过程

首先我们需要一个 "已经训练好的" 嵌入矩阵 E

这个矩阵大小是 5000 x 128

5000 表示语料库/词汇表中有 5000 个单词

128 表示每个 单词矢量 的维度是 128 维

如下图表示

接下来我们看一句话 "我喜欢数学",我们的目的是把这句话里的每个词,都表示成一个 128 维的向量

接下来进行

1.切词,把这句话里的所有词语切出来

2.查询词汇表,根据词汇表,查找出这些词语的 one-hot 编码

3.组成矩阵 V,把那些 one-hot 编码矢量组合成一个 4 x 5000 的矩阵 V

接下来使用 V x E,可以得到这四个词语的 "嵌入向量" (embedding vectors)

词嵌入的优势是什么?

1.储存维度降低、计算成本降低

2.语义相似的词语在向量空间上更相近

3.one-hot编码不具有通用性,而嵌入矩阵是通用的,同一份词向量,可以用在不同的 NLP 任务中


相关推荐
森焱森1 小时前
水下航行器外形分类详解
c语言·单片机·算法·架构·无人机
QuantumStack3 小时前
【C++ 真题】P1104 生日
开发语言·c++·算法
写个博客4 小时前
暑假算法日记第一天
算法
绿皮的猪猪侠4 小时前
算法笔记上机训练实战指南刷题
笔记·算法·pta·上机·浙大
hie988945 小时前
MATLAB锂离子电池伪二维(P2D)模型实现
人工智能·算法·matlab
杰克尼5 小时前
BM5 合并k个已排序的链表
数据结构·算法·链表
.30-06Springfield6 小时前
决策树(Decision tree)算法详解(ID3、C4.5、CART)
人工智能·python·算法·决策树·机器学习
我不是哆啦A梦6 小时前
破解风电运维“百模大战”困局,机械版ChatGPT诞生?
运维·人工智能·python·算法·chatgpt
xiaolang_8616_wjl6 小时前
c++文字游戏_闯关打怪
开发语言·数据结构·c++·算法·c++20
small_wh1te_coder6 小时前
硬件嵌入式学习路线大总结(一):C语言与linux。内功心法——从入门到精通,彻底打通你的任督二脉!
linux·c语言·汇编·嵌入式硬件·算法·c