使用FastText计算单词嵌入

时间:2019-09-15 18:41:45

标签: python python-3.x nlp nltk fasttext

我正在尝试使用以下句子的快速文本来计算单词嵌入。

a = 'We are pencil in the hands'

我没有任何经过预先训练的模型,那么我该怎么做呢?

1 个答案:

答案 0 :(得分:1)

您需要一张经过培训的嵌入表。

您可以从FastText website下载经过预训练的嵌入,并使用它们提供的代码来加载嵌入。您甚至不需要为此安装FastText:

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

然后,您只需从字典中提取即可。

或者,您可以遵循tutorial在文本数据上训练快速文本。训练单词嵌入的数据集的合理最小值是数十万个单词。