快速文本使用(将其用于比较单词向量)



我有点惭愧,我必须问这个问题,因为我觉得我应该知道这个。我编程的时间不长,但我一直在尝试把我学到的东西应用到我正在做的一个项目中,这就是我如何得到这个问题的。快速文本有一个词和相关点的库https://fasttext.cc/docs/en/english-vectors.html。它用来找到单词的向量。我只是想查一两个词,看看结果是什么,以便看看它是否对我的项目有用。他们提供了一个向量列表,然后是一个小代码块。我不能从中得到正面或反面。有些我得到,但我没有看到打印函数-它是返回数据到您自己的代码的不同部分?我也不确定代码块在哪里打开数据文件,通常fname是一个句柄对吗?或者他们希望你在那里输入文件的路径。我也不熟悉io,我用谷歌搜索了这个词,但没有找到任何有用的东西。这是我需要下载的东西还是它已经是python的一部分。我知道我可能有点力不从心,但我从实践中学到了最好的东西,所以请不要讨厌我。

import io
def load_vectors(fname):
fin = io.open(fname, 'r', encoding='utf-8', newline='n', errors='ignore')
n, d = map(int, fin.readline().split())
data = {}
for line in fin:
tokens = line.rstrip().split(' ')
data[tokens[0]] = map(float, tokens[1:])
return data

尝试如下:

my_file_name = 'C:/path/to/file.txt' # Use the path to your file of rows of sentences

my_data = load_vectors(my_file_name) # Function will return data

print(my_data) # To see the output

最新更新