fasttext 官方网站(fasttext.cc)上的例子(与词表示相关)表明,可以在用 cbow(或 skip-gram 模型)(简而言之,在无监督学习模型上)导出的向量上计算最近邻。据说这可以使用 get_nearest_neighbors
来完成。模型上的函数 ( model.get_nearest_neighbors
)。但是,当我尝试使用 Python (3.7.) 时,它向我显示了该函数在无监督学习模型的 fasttext 中不存在的消息,实际上,当我查看 fasttext 帮助时,我没有看到该函数。唯一存在的类似函数是模型的谓词(model.predict
(其中指定了 k)),但是这只能在监督学习模型上完成。
谁能向我解释发生了什么,并帮助我解决这个问题?有没有办法计算fasttext中无监督学习模型的最近邻居? :-)
最佳答案
尽管 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)
关于python - 如何在无监督学习模型(cbow,skipgram)的快速文本中获得最近的邻居?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57903873/