我正在使用python 2.7 64位,我想使用手套预训练的单词向量 spacy中的wikipedia语料库。通过手套的常见爬行语料库训练defaut spacy。任何人都可以提供相同的代码片段。
答案 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,依赖项),因为它们期望现有向量。