python - 单词A和B的语义相似度 : Dependency on frequency of A and B in corpus?

标签 python nlp gensim word2vec word-embedding

背景:

给定一个语料库,我想使用 word2wec (Gensim) 的实现来训练它。

想要了解 2 个标记之间的最终相似性是否取决于语料库中 A 和 B 的频率(保留所有上下文),还是不可知。

示例: (可能并不理想,但用它来阐述问题陈述)

假设单词“A”在语料库中的 3 个不同上下文中使用:

Context 1 : 1000 times
Context 2 : 50000 times
Context 3 : 50000 times

“B”在 2 个不同的上下文中使用:

Context 1 : 300 times 
Context 5 : 1000 time

问题:

如果我更改语料库中“A”的频率(确保不会丢失上下文,即“A”在所有上下文中仍像原始语料库一样至少使用一次),则 A 与 之间的相似度是B 会一样吗?

“A”在上下文中的新分布

 Context 1 : 5 times
 Context 2 : 10 times
 Context 3 : 5000 times

感谢任何潜在客户

最佳答案

我的感觉是(#翻译为直觉,而不是数学):

相似度将根据这两个单词彼此靠近或在同一上下文中使用的频率来计算。

如果你从那里开始:

如果这两个词实际上相似,那么它们使用的频率越高 => 您拥有的训练数据越多 => 模型越好 => 它们越接近。

如果您有更多上下文来使用这两个词,那么它们的关系会更接近。

但是,如果它们在语料库中出现的频率较低,但在一起出现的频率较高,那么它们的关系也会更紧密。

所以它更像是(频率_相同_上下文)/(频率_总体)。 如果你不改变这一点,我想你应该没问题?

关于python - 单词A和B的语义相似度 : Dependency on frequency of A and B in corpus?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55520565/

相关文章:

r - Snowball 的意大利 Stemmer 替代品

nlp - 如何在 gensim 中使用 build_vocab?

python - 如果比 Lastmod 日期更新,则抓取 url -Scrapy

algorithm - 一种将一本书分解成人物及其互动的方法?

python - 是否有用于字符串自然排序的内置函数?

python - 如何在斯坦福中文解析器中不将英语拆分成单独的字母

python - Gensim LDA 中的文档主题分布

python - Gensim LDA 多核 Python 脚本运行速度太慢

python - 在 Django Rest(嵌套序列化程序)中 POST 后,ForeignKey 为 null

python - 根据给定索引就地 numpy 数组排序