单词嵌入如何为单词相似性工作?

2024-09-19 20:37:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图应用word2vec/doc2vec来找到类似的句子。首先考虑word2vec的单词相似性。我的理解是,CBOW可以用来在给定上下文的情况下找到最合适的单词,而Skip gram用于查找给定单词的上下文,所以在这两种情况下,我都得到了频繁出现的单词。但是如何找到相似的词呢?我的直觉是,由于相似的词往往出现在相似的语境中,所以词汇的相似性实际上是从上下文/共现词之间的相似性来衡量的。在神经网络中,当隐藏层的某个词的向量表示传递到输出层时,输出共现词的概率。因此,共现词影响了一些词的向量,由于相似词有相似的共现词集合,所以它们的向量表示也是相似的。为了找到相似度,我们需要提取每个单词的隐藏层权重(或向量),并测量它们的相似度。我听得对吗?在

最后,使用word2vec/doc2vec查找tweet文本(完整句子)相似性的好方法是什么?在


Tags: 情况神经网络word2vec概率相似性单词向量词汇
1条回答
网友
1楼 · 发布于 2024-09-19 20:37:34

我不确定这是否是堆栈溢出的问题,但我试图回答。。。在

你的基本概念是对的,尽管当你提到神经网络时,你把目标的定义和实现混为一谈,但还有其他方法可以为CBOW和skip gram实现单词嵌入。在

然后,单词嵌入可以被转移(通常称为转移学习,但在NLP中,他们只是将其称为嵌入层,这是标准做法,作为第一层)到另一个领域,或者保持冻结或调整,以适应手头更复杂的NLP任务,所以。。。在

至于你的最后一个问题,这取决于任务的具体情况

  1. 你用tweet的距离做什么?在
  2. 是监督还是不监督?在
  3. 输出空间是多少?在

{2其他的学习方法都是用隐式向量来实现的

相关问题 更多 >