【问题标题】:How to find similar words with FastText?如何使用 FastText 查找相似词?
【发布时间】:2017-07-01 14:04:09
【问题描述】:

我正在玩FastTexthttps://pypi.python.org/pypi/fasttext,这与Word2Vec非常相似。由于它似乎是一个相当新的库,还没有很多内置函数,所以我想知道如何提取形态相似的词。

例如:model.similar_word("dog") -> 狗。但是没有内置函数。

如果我输入 model["dog"]

我只得到向量,它可以用来比较余弦相似度。 model.cosine_similarity(model["dog"], model["dogs"]])

我是否必须进行某种循环并对文本中所有可能的配对执行cosine_similarity?那需要时间……!!!

【问题讨论】:

  • 当 fasttext.skipgram('train.txt','model') 运行时,它会创建一个 .bin & .vec 文件。使用这些生成的文件并按照接受的答案中提到的过程进行操作。
  • @Prometheus 任何想法如何在 Java 中做类似的事情?
  • 不。从来没有接触过Java。不过仅供参考,.bin 和 .vec 文件是交叉兼容的。

标签: python nlp word2vec fasttext


【解决方案1】:

使用 Gensim,使用 load.word2vec 模型加载 fastText 训练的 .vec 文件,并使用 most_similiar() 方法查找相似词!

【讨论】:

  • 他们在 fasttext 中是否有任何 API 允许输入两个单词然后返回它们的余弦相似度?说出类似 (car,vehicle) 的内容,然后返回类似 0.8 的内容?
【解决方案2】:

您可以安装pyfasttext 库来提取与特定词最相似或最接近的词。

from pyfasttext import FastText
model = FastText('model.bin')
model.nearest_neighbors('dog', k=2000)

或者你可以获取fasttext的最新开发版本,你可以从github repository安装:

import fasttext
model = fasttext.load_model('model.bin')
model.get_nearest_neighbors('dog', k=100)

【讨论】:

    【解决方案3】:

    您应该使用gensim加载model.vec然后得到类似的单词:

    m = gensim.models.Word2Vec.load_word2vec_format('model.vec')
    m.most_similar(...)
    

    【讨论】:

      【解决方案4】:

      您可以安装并导入gensim 库,然后使用gensim 库从您从FastText 下载的模型中提取最相似的单词。

      使用这个:

      import gensim
      model = gensim.models.KeyedVectors.load_word2vec_format('model.vec')
      similar = model.most_similar(positive=['man'],topn=10)
      

      通过 topn 参数,您可以获得前 10 个最相似的词。

      【讨论】:

        【解决方案5】:

        使用 gensim,

        from gensim.models import FastText
        
        model = FastText.load(PATH_TO_MODEL)
        model.wv.most_similar(positive=['dog'])
        

        更多信息here

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-10-08
          • 1970-01-01
          • 2019-10-31
          • 2011-05-11
          • 1970-01-01
          • 2019-07-19
          • 1970-01-01
          相关资源
          最近更新 更多