深度学习:词嵌入(Word Embedding)以及Keras实现

本文详细介绍了文本向量化的过程,包括分词、one-hot编码和词嵌入。重点讨论了词嵌入的概念,它将单词映射到低维稠密空间,使得相似单词之间的距离更小。通过Keras的Embedding层,展示了如何在实践中应用词嵌入,以提高模型的性能。在实验中,使用Keras的Embedding层在IMDB数据集上进行训练,获得了约75%的验证精度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

深度学习:词嵌入(Word Embedding)以及Keras实现

1.文本数据需要预处理成张量的形式,才能输入到神经网络。
2.文本划分成单元的过程叫做分词过程(tokenization),分成的单元叫做标记(token)。
3.文本可以划分为,单词、字符(abcdefg…)、n-gram等等。
4.一般用one-hot编码或者word-embedding将单词处理为数值张量。
5.one-hot编码简单,但是没有结构,任何两个单词之间的距离为 2 \sqrt2 2
6.word-embedding空间维度较小,空间中具有结构,相似的单词距离近,不相关的单词距离远。
7.embedding层的作用实际上可以看作是一个矩阵,将高维空间中的点映射到低维空间中。

----------------------------------分割线---------------------------------

正文:

神经网络无法对原始的文本数据训练,我们需要先将文本数据处理成数值张量,这一过程又叫文本向量化(vectorize)

文本向量化有多种策略:
1.将文本分割为单词,每个单词转换为一个向量
2.将文本分割为字符,每个字符转化为一个向量
3.提取单词或者字符的n-gram,将n-gram转换为一个向量

将文本分解成的单元叫做标记(token),将文本分解成标记的过程叫做分词(tokenization)

简单的讲,我们要讲文本数据输入到神经网络,让它去训练,但是神经网络并不能直接处理文本数据,我们需要讲文本数据预处理成神经网络能够理解的格式,也就是以下过程:

文本 → \rightarrow 分词 → \rightarrow 向量化

词向量化的方法主要有两种:
1.one-hot编码
2.word embedding

----------------------------------分割线---------------------------------

one-hot encoding(独热编码)

为什么叫做one-hot呢?每一个单词经过one-hot编码后,只有一个位置的元素为1,其他位置全为0。

比如说“the boy is crying”这句话(假设世界上额英文单词就这四个),经过one-hot编码后,
the 对应(1,0,0,0)
boy 对应(0,1,0,0)
is 对应(0,0,1,0)
crying 对应(0,0,0,1)
每一个单词对应向量中的一个位置,这个位置就表示这个单词。

但是这样表示 的话就需要非常高的维度,因为假设所有的词汇表有100000个单词,那么每一个单词就需要用一个长度为100000的向量表示。

the 对应(1,0,0,0,…,0)(长度为100000)
boy 对应(0,1,0,0,…,0)
is 对应(0,0,1,0,…,0)
crying 对应(0,0,0,1,…,0)
得到高维度稀疏的张量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值