如何使用 fasttext 对整个文本进行矢量化?
How to vectorize whole text using fasttext?
要获取单词的向量,我可以使用:
model["word"]
但是如果我想得到一个句子的向量,我需要对所有单词的向量求和或者对所有向量求平均值。
FastText 是否提供了执行此操作的方法?
如果要计算句子或段落的向量表示,请使用:
$ ./fasttext print-sentence-vectors model.bin < text.txt
这假定 text.txt 文件包含您要为其获取向量的段落。该程序将在文件中每行输出一个向量表示。
这在fasttext repo的README中已经明确提到了。
https://github.com/facebookresearch/fastText
要使用 fasttext 获取句子的向量,请尝试以下命令
$ echo "Your Sentence Here" | ./fasttext print-sentence-vectors model.bin
有关这方面的示例,请参阅 Learn Word Representations In Fasttext
您也可以使用 python 包装器。从这里使用官方安装指南安装它:
https://fasttext.cc/docs/en/python-module.html#installation
之后:
import fasttext
model = fasttext.load_model('model.bin')
vect = model.get_sentence_vector("some string") # 1 sentence
vect2 = [model.get_sentence_vector(el.replace('\n', '')) for el in text] # for text
要获取单词的向量,我可以使用:
model["word"]
但是如果我想得到一个句子的向量,我需要对所有单词的向量求和或者对所有向量求平均值。
FastText 是否提供了执行此操作的方法?
如果要计算句子或段落的向量表示,请使用:
$ ./fasttext print-sentence-vectors model.bin < text.txt
这假定 text.txt 文件包含您要为其获取向量的段落。该程序将在文件中每行输出一个向量表示。
这在fasttext repo的README中已经明确提到了。 https://github.com/facebookresearch/fastText
要使用 fasttext 获取句子的向量,请尝试以下命令
$ echo "Your Sentence Here" | ./fasttext print-sentence-vectors model.bin
有关这方面的示例,请参阅 Learn Word Representations In Fasttext
您也可以使用 python 包装器。从这里使用官方安装指南安装它: https://fasttext.cc/docs/en/python-module.html#installation
之后:
import fasttext
model = fasttext.load_model('model.bin')
vect = model.get_sentence_vector("some string") # 1 sentence
vect2 = [model.get_sentence_vector(el.replace('\n', '')) for el in text] # for text