Word2Vec 与 Sentence2Vec 与 Doc2Vec

数据挖掘 机器学习 数据挖掘 聚类 nlp 无监督学习
2021-09-20 22:31:56

我最近遇到了Word2VecSentence2VecDoc2Vec等术语,有点困惑,因为我是向量语义的新手。有人可以用简单的话详细说明这些方法的区别。每种方法最适合的任务是什么?

1个回答

好吧,这些名称非常简单明了,应该让您对矢量表示有一个清晰的认识。

Word2Vec 算法构建单词的分布式语义表示。有两种主要的训练方法,Continuous Bag of Words 和 The skip gram model。一种涉及使用中心词预测上下文词,而另一种涉及使用上下文词预测词。您可以在 Mikolov 的 论文中详细了解它。

同样的想法可以扩展到句子和完整的文档,而不是学习单词的特征表示,而是学习句子或文档的特征表示。但是,要大致了解 SentenceToVec,请将其视为句子中所有单词的单词向量表示的数学平均值。您可以通过平均而不训练任何 SentenceToVec 来获得非常好的近似值,但当然,它有其局限性。

Doc2Vec 扩展了 SentenceToVec 或更确切地说是 Word2Vec 的概念,因为句子也可以被视为文档。培训的想法仍然相似。您可以阅读 Mikolov 的 Doc2Vec论文了解更多详细信息。

来到应用程序,这将取决于任务。Word2Vec 有效地捕获单词之间的语义关系,因此可用于计算单词相似度或作为各种 NLP 任务(如情感分析等)的特征。但是单词只能捕获这么多,有时您需要句子和文档之间的关系以及不只是文字。例如,如果您想弄清楚两个堆栈溢出问题是否彼此重复。

一个简单的谷歌搜索将引导您找到这些算法的许多应用程序。