在自定义训练的 word2vecs 上使用预训练的词向量

数据挖掘 word2vec lstm 词嵌入 单词
2022-02-19 08:42:45

目前我正在使用 LSTM 网络进行情绪分析研究项目。

作为输入,我使用 word2vec 将句子转换为向量集。

还有一些预训练好的词向量,比如 Google word2vec。

我的问题是,使用经过自定义训练的 word2vecs(使用与我们的领域相关的数据集进行训练,例如电子产品的用户评论)与预训练的相比有什么优势。

什么是最好的选择

  1. 使用预训练的 word2vec

  2. 使用与领域相关的数据集训练我们自己的 word2vec

任何人都可以帮助我吗谢谢

1个回答

Distributed Word Representations 的整个哲学都利用了一个词可以通过它所拥有的上下文来理解的事实。当我们说上下文时,我们指的是与特定单词相邻的单词。现在自然语言中的上下文是一件棘手的事情。举个例子 。opencreate这两个词在语义上不太相似。但是想想银行相关语料库的场景,你会经常看到这样的语句

                     How do I open a new account 
                                  & 
                    How do I create a new account

在这样一个文档的上下文中,opencreate变成了相似的词。这就是为什么需要特定于上下文的词向量的原因。

现在,当谈到两者之间哪个更好的选择时

  1. 使用预训练的向量
  2. 使用自定义向量,

这取决于您的自定义用例有多少数据。如果您有足够的数据,那么进行自定义矢量化总是安全/更好的,因为它将非常特定于语料库的上下文。但在所有其他情况下,您可以使用预训练的嵌入。这些可以很好地概括各种文档。