【问题标题】:How to normalize word embeddings (word2vec)如何规范化词嵌入(word2vec)
【发布时间】:2020-11-14 18:32:37
【问题描述】:

我有一个预先训练好的带有嵌入的 Word2Vec 模型。我需要规范化一些嵌入来对这些词进行分析。是否有简单的代码行(或代码块)来执行此操作?我一直在网上搜索,但找不到简单的答案。

【问题讨论】:

  • 你的意思是如何使嵌入向量范数相同?
  • 您的意见是什么?例如。 numpy 数组或 wv 对象

标签: python nlp normalization word2vec word-embedding


【解决方案1】:

这适用于嵌入

model.init_sims(replace=True)

【讨论】:

  • 这会规范化模型中的所有嵌入吗?
  • 它应该用标准化的向量替换你现有的向量。在这里,看看文档 - radimrehurek.com/gensim/models/…
  • 您不一定需要使用replace=True,它会破坏性地消除非规范的原始向量(对于某些目的而言,这通常更好)。在您使用了 gensim 的 init_sims() 之后,单位范数向量的缓存将在属性 .vectors_norm 中,而其他向量访问方法之一有一个 use_norm 选项来获取每个单独的向量作为其单位-规范版本。
  • 是的,如果用户对非标准化向量没有用处,他们可以继续我所写的内容。使用此选项,他们可以节省一些可能/可能不是他们优先考虑的 RAM。如果将来可能需要原始向量,我相信他们可以参考您的答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-04
  • 2015-07-20
  • 2019-11-17
  • 2021-11-13
  • 1970-01-01
相关资源
最近更新 更多