使用预先训练的手套矢量

时间:2017-04-27 07:00:45

标签: nlp spacy

我正在使用python 2.7 64位,我想使用手套预训练的单词向量 spacy中的wikipedia语料库。通过手套的常见爬行语料库训练defaut spacy。任何人都可以提供相同的代码片段。

1 个答案:

答案 0 :(得分:1)

如果您已经使用标准的单词标签矢量格式训练了矢量,则可以使用spaCy Github中的示例代码将其添加到spaCy模型中:

with open(vectors_loc, 'rb') as file_:
    header = file_.readline()
    nr_row, nr_dim = header.split()
    nlp.vocab.reset_vectors(width=int(nr_dim))
    for line in file_:
        line = line.rstrip().decode('utf8')
        pieces = line.rsplit(' ', int(nr_dim))
        word = pieces[0]
        vector = numpy.asarray([float(v) for v in pieces[1:]], dtype='f')
        nlp.vocab.set_vector(word, vector)  # add the vectors to the vocab

可能更有效的方法是使用新的CLI API,它可以让您使用自定义向量创建新的空白模型。请注意,使用不同的向量可能会破坏所有其他管道组件(NER,POS,依赖项),因为它们期望现有向量。