Gensim word2vec和keras Embedding layer的区别

数据挖掘 喀拉斯 word2vec 词嵌入 gensim 嵌入
2021-09-23 11:02:19

我使用了这个gensim word2vec包并Keras Embedding layer用于各种不同的项目。然后我意识到他们似乎在做同样的事情,他们都试图将一个词转换成一个特征向量。

我是否正确理解这一点?这两种方法究竟有什么区别?

谢谢!

1个回答

是的,你是对的!如您所知,机器学习模型很难直接使用自然语言,因此它有助于将单词转换为一些有意义的数字表示。这个过程称为词嵌入,找到词嵌入是 kerasEmbedding层的任务。

理想情况下,词嵌入在语义上是有意义的,因此词之间的关系保留在嵌入空间中。Word2Vec 是一种特殊的词嵌入算法“品牌”,它试图嵌入词,使得经常在相似上下文中找到的词在嵌入空间中彼此靠近。本文介绍了技术细节

通用 kerasEmbedding层也创建词嵌入,但机制与 Word2Vec 有点不同。像任何其他层一样,它由一组权重参数化。权重是随机初始化的,然后在训练期间使用反向传播算法进行更新。因此,生成的词嵌入由您的损失函数指导。

总而言之,Word2Vec 和 keras 都Embedding将单词(或单词索引)转换为有希望的有意义的数字表示。Word2Vec 是一种无监督方法,旨在将具有相似上下文的单词放在嵌入空间中。KerasEmbedding是一种监督方法,可以在训练模型时找到自定义嵌入。