如何使用 FastText 查找相似词?
How to find similar words with FastText?
我正在玩弄 FastText
,https://pypi.python.org/pypi/fasttext,这与 Word2Vec
非常相似。由于它似乎是一个相当新的库,内置函数还不多,我想知道如何提取形态相似的词。
例如:model.similar_word("dog")
-> 狗。但是没有内置函数
如果我输入
model["dog"]
我只得到向量,可以用来比较余弦相似度。
model.cosine_similarity(model["dog"], model["dogs"]])
。
我是否必须进行某种循环并对文本中所有可能的对执行 cosine_similarity
?那需要时间...!!!
你应该使用gensim加载model.vec
然后得到类似的词:
m = gensim.models.Word2Vec.load_word2vec_format('model.vec')
m.most_similar(...)
使用 Gensim,使用 load.word2vec 模型加载经过 fastText 训练的 .vec 文件,并使用 most_similiar() 方法查找相似词!
您可以安装并导入 gensim library and then use gensim library to extract most similar words from the model that you downloaded from FastText。
使用这个:
import gensim
model = gensim.models.KeyedVectors.load_word2vec_format('model.vec')
similar = model.most_similar(positive=['man'],topn=10)
并且通过 topn 参数,您可以获得前 10 个最相似的词。
您可以安装 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)
使用gensim,
from gensim.models import FastText
model = FastText.load(PATH_TO_MODEL)
model.wv.most_similar(positive=['dog'])
更多信息here
Fasttext 有一个名为 get_nearest_neighbors 的方法。 nearest neighbor queries。需要模型的 .bin 文件才能使用它。
我正在玩弄 FastText
,https://pypi.python.org/pypi/fasttext,这与 Word2Vec
非常相似。由于它似乎是一个相当新的库,内置函数还不多,我想知道如何提取形态相似的词。
例如:model.similar_word("dog")
-> 狗。但是没有内置函数
如果我输入
model["dog"]
我只得到向量,可以用来比较余弦相似度。
model.cosine_similarity(model["dog"], model["dogs"]])
。
我是否必须进行某种循环并对文本中所有可能的对执行 cosine_similarity
?那需要时间...!!!
你应该使用gensim加载model.vec
然后得到类似的词:
m = gensim.models.Word2Vec.load_word2vec_format('model.vec')
m.most_similar(...)
使用 Gensim,使用 load.word2vec 模型加载经过 fastText 训练的 .vec 文件,并使用 most_similiar() 方法查找相似词!
您可以安装并导入 gensim library and then use gensim library to extract most similar words from the model that you downloaded from FastText。
使用这个:
import gensim
model = gensim.models.KeyedVectors.load_word2vec_format('model.vec')
similar = model.most_similar(positive=['man'],topn=10)
并且通过 topn 参数,您可以获得前 10 个最相似的词。
您可以安装 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)
使用gensim,
from gensim.models import FastText
model = FastText.load(PATH_TO_MODEL)
model.wv.most_similar(positive=['dog'])
更多信息here
Fasttext 有一个名为 get_nearest_neighbors 的方法。 nearest neighbor queries。需要模型的 .bin 文件才能使用它。