【问题标题】:using pre trained glove vectors使用预先训练的手套向量
【发布时间】:2018-01-31 05:03:55
【问题描述】:

我正在使用 python 2.7 64 位,我想使用 glove 预训练的词向量 spacy 中的维基百科语料库。默认情况下 spacy 是在 glove 的通用爬网语料库上进行训练的。任何人都可以提供相同的代码 sn-p。

【问题讨论】:

    标签: nlp spacy


    【解决方案1】:

    如果您的向量已经以标准 word-tab-vector 格式训练,您可以使用来自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、依赖项),因为它们需要现有的向量。

    【讨论】:

      猜你喜欢
      • 2016-10-14
      • 1970-01-01
      • 2019-08-07
      • 1970-01-01
      • 2021-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-12
      相关资源
      最近更新 更多