gpt4 book ai didi

word2vec - 将句子转换为嵌入表示

转载 作者:行者123 更新时间:2023-12-05 06:35:38 26 4
gpt4 key购买 nike

如果我有一句话,例如:“离开这里”我想使用 word2vec 嵌入。来代表它..我找到了三种不同的方法来做到这一点:

1- 对于每个单词,我们计算其嵌入向量的 AVG,因此每个单词都被单个值替换。

2- 与 1 相同,但使用嵌入向量值的标准偏差。

3- 或通过添加嵌入。矢量,因为它是。因此,如果我使用 300 长度的嵌入向量 .. 对于上面的示例,我将在最后一个(300 * 4 个词)1200 长度的向量作为表示句子的最终向量。

其中哪一个最合适..?具体来说,对于句子相似度的应用..

最佳答案

您描述选项 (1) 的方式听起来好像每个词都变成了一个数字。那是行不通的。

常用的简单方法是对句子中单词的所有单词向量求平均 - 因此对于 300 维单词向量,您仍然会得到一个 300 维句子平均向量。也许这就是您的选项 (1) 的意思。

(有时,在此操作之前,所有向量都归一化为单位长度,但有时不是 - 因为非归一化向量长度有时可以指示单词含义的强度。有时,单词向量由其他频率加权-基于它们相对重要性的指标,例如 TF/IDF。)

我从未见过您使用过选项 (2),也不太明白您的意思或它可能如何工作。

您的选项 (3) 最好描述为“连接词向量”。它根据句子中单词的数量给出不同大小的向量。单词放置的细微差别,例如比较“离开这里”和“从这里出去”,会导致非常不同的向量,通常比较向量的方法(如余弦相似度)不会检测为“接近”根本。所以它没有意义,我还没有看到它被使用过。

因此,只有您的选项 (1) 正确实现到(加权)平均词向量,才是句子相似性的良好基线。

但是,它仍然是相当基础的,还有许多其他方法可以使用文本向量来比较句子。这里只是一些:

与 word2vec 本身密切相关的一种算法称为“段落向量”,通常称为 Doc2Vec。它使用非常类似 word2vec 的过程来训练全范围文本(无论是短语、句子、段落还是文档)的向量,其工作方式有点像全文上的“ float 文档 ID 词”。它有时比仅仅平均词向量有好处,并且在某些模式下可以生成也可以相互比较的文档向量和词向量。

如果您的兴趣不仅仅是成对的句子相似性,而是某种下游分类任务,那么 Facebook 对 word2vec 的“FastText”改进有一个分类模式,其中训练词向量不仅可以预测相邻词,而且善于预测已知的文本类,当简单地添加/平均在一起时。 (由此类分类向量构建的文本向量可能也擅长相似性,这取决于训练类捕获文本之间显着对比的程度。)

计算成对相似度的另一种方法是“Word Mover's Distance”,仅使用词向量。它不是将文本的所有词向量平均到一个文本向量中,而是将每个词向量视为一种“意义堆”。与另一个句子相比,它计算最小路由工作(沿着许多潜在的词到词路径的距离)将所有“堆”从一个句子移动到另一个句子的配置中。它的计算成本可能很高,但通常比朴素的词向量平均实现的简单单向量摘要更好地表示句子对比。

关于word2vec - 将句子转换为嵌入表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49656630/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com