Isb*_*ter 8 python nlp word2vec fasttext
我正在玩FastText,https: //pypi.python.org/pypi/fasttext 非常相似FastText.因为它似乎是一个非常新的库,但还没有很多内置函数.我想知道如何提取形态相似的词,例如:Word2Vec- >狗.但是没有内置的功能.
如果我输入model.similar_word("dog")I只获得向量,那可能用于比较余弦相似度model["dog"].我是否必须进行某种循环并对model.cosine_similarity(model["dog"], model["dogs"]])文本中所有可能的对进行操作?那需要时间......
小智 9
您可以安装pyfasttext库来提取与特定单词最相似或最接近的单词。
from pyfasttext import FastText
model = FastText('model.bin')
model.nearest_neighbors('dog', k=2000)
Run Code Online (Sandbox Code Playgroud)
或者你可以得到fasttext的最新开发版本,你可以从github仓库安装:
import fasttext
model = fasttext.load_model('model.bin')
model.get_nearest_neighbors('dog', k=100)
Run Code Online (Sandbox Code Playgroud)
小智 7
您可以安装并导入gensim库,然后使用 gensim 库从您从FastText下载的模型中提取最相似的单词。
用这个:
import gensim
model = gensim.models.KeyedVectors.load_word2vec_format('model.vec')
similar = model.most_similar(positive=['man'],topn=10)
Run Code Online (Sandbox Code Playgroud)
通过 topn 参数,您可以获得前 10 个最相似的单词。
小智 5
您应该使用gensim加载model.vec,然后得到类似的单词:
m = gensim.models.Word2Vec.load_word2vec_format('model.vec')
m.most_similar(...)
Run Code Online (Sandbox Code Playgroud)