【问题标题】:How to get nearest neighbours in fasttext for unsupervised learning models (cbow, skipgram)?如何为无监督学习模型(cbow,skipgram)获取fasttext中的最近邻?
【发布时间】:2020-01-14 03:56:00
【问题描述】:

fasttext 官方网站 (fasttext.cc) 上的示例(与单词表示相关)表明,可以在使用 cbow(或 skip-gram 模型)导出的向量上计算最近邻(简而言之,在无监督学习上)楷模)。据说这可以使用模型上的get_nearest_neighbors 函数(model.get_nearest_neighbors)来完成。但是,当我尝试使用 Python (3.7.) 时,它向我显示了这个函数在 fasttext 中不存在于无监督学习模型的消息,事实上,当我查看 fasttext 帮助时,我没有看到这个函数。唯一存在的类似函数是模型上的谓词(model.predict(其中指定了 k)),但这只能在监督学习模型上完成。

谁能向我解释发生了什么,并帮助我解决这个问题?有没有什么方法可以为 fasttext 中的无监督学习模型计算最近邻? :-)

【问题讨论】:

    标签: python nearest-neighbor unsupervised-learning fasttext


    【解决方案1】:

    虽然 fasttext 有 get_nearest_neighbor 方法,但他们的 pypi relaese 仍然没有那个方法。

    因此,您可以安装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)
    

    【讨论】:

      猜你喜欢
      • 2014-04-20
      • 2020-12-04
      • 1970-01-01
      • 2013-03-24
      • 2019-02-20
      • 2017-08-11
      • 2018-10-01
      • 2017-12-08
      • 2019-11-21
      相关资源
      最近更新 更多