语言模型、词嵌入及 Word2Vec 和 GloVe 算法详解
语言模型与词嵌入概述
在处理自然语言时,语言模型和词嵌入是两个重要的概念。传统的词袋模型(Bag-of-Words, BoW)存在一个问题,即它丢失了词序信息。为了解决这个问题,可以尝试使用二元词袋(bag-of-bigrams)或 n 元词袋(bag-of-n-grams)作为模型的输入。
可以设计一个实验,创建以下几种模型:
1. 基于 BoW 向量作为前馈网络输入的模型。
2. 基于二元词袋作为前馈网络输入的模型。
3. 基于 n 元词袋(n > 2)作为前馈网络输入的模型。
4. 更复杂的网络,包含嵌入层、循环层和前馈层。
创建 BoW 的一种简单方法是使用 Keras Tokenizer 类中的 sequences_to_matrix() 函数。Keras 包含了 IMDb 电影评论数据集,访问方式类似于之前访问 MNIST 数据集:
import keras
imdb_dataset = keras.datasets.imdb
在这个实验中,重点是将电影评论分类为积极或消极,而不是比较评论之间的相似性,这可以通过使用标记数据集训练模型来实现。
语言模型有传统的 n-gram 和 skip-gram 模型,它们与神经语言模型相关。神经语言模型能够对未见过的句子进行泛化。词嵌入是将每个单词表示为多维空间中的向量,这些嵌入可以与神经语言模型一起训练,并且能够捕捉单词之间的关系,而且不需要显式的数据集
超级会员免费看
订阅专栏 解锁全文
552

被折叠的 条评论
为什么被折叠?



