簡體   English   中英

Gensim 中的 FastText

[英]FastText in Gensim

我正在使用 Gensim 加載我的 fasttext .vec文件,如下所示。

m=load_word2vec_format(filename, binary=False)

但是,如果我需要加載.bin文件來執行諸如m.most_similar("dog")m.wv.syn0m.wv.vocab.keys()等命令,我只是感到困惑? 如果是這樣,該怎么做?

或者.bin文件對於執行這個余弦相似度匹配並不重要?

請幫我!

gensim-lib 已經發展,所以一些代碼片段被棄用了。 這是一個實際的工作解決方案:

import gensim.models.wrappers.fasttext
model = gensim.models.wrappers.fasttext.FastTextKeyedVectors.load_word2vec_format(Source + '.vec', binary=False, encoding='utf8')
word_vectors = model.wv
# -- this saves space, if you plan to use only, but not to train, the model:
del model

# -- do your work:
word_vectors.most_similar("etc") 

可以使用以下內容:

from gensim.models import KeyedVectors
model = KeyedVectors.load_word2vec_format(link to the .vec file)
model.most_similar("summer")
model.similarity("summer", "winter")

現在使用該模型的許多選項。

如果您希望稍后能夠使用其他數據重新訓練 gensim 模型,您應該像這樣保存整個模型: model.save("fasttext.model") 如果你只用model.wv.save_word2vec_format(Path("vectors.txt"))保存詞向量,你仍然可以執行向量提供的任何功能 - 比如相似性,但你將無法重新訓練具有更多數據的模型。

請注意,如果您要保存整個模型,則應將文件名作為字符串傳遞,而不是將其包裝在get_tmpfile ,如文檔here 中所建議。

也許我回答這個問題晚了:但在這里你可以在文檔中找到你的答案: https : //github.com/facebookresearch/fastText/blob/master/README.md#word-representation-learning Example use cases

該庫有兩個主要用例:詞表示學習和文本分類。 這些在兩篇論文 1 和 2 中都有描述。 詞表示學習

為了學習詞向量,如 1 中所述,請執行以下操作:

$ ./fasttext skipgram -輸入數據.txt -輸出模型

其中 data.txt 是包含 UTF-8 編碼文本的訓練文件。 默認情況下,詞向量將考慮 3 到 6 個字符的字符 n-gram。 在優化結束時,程序將保存兩個文件:model.bin 和 model.vec。 model.vec 是一個包含詞向量的文本文件,每行一個。 model.bin 是一個二進制文件,包含模型參數以及字典和所有超參數。 二進制文件可用於稍后計算詞向量或重新開始優化。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM