Как инициализировать tok2vec Transformer с пользовательской моделью spacy ner

У меня возникли проблемы с инициализацией преобразователя tok2vec с пользовательской моделью spacy ner. Как мне правильно использовать tok2vec до того, как в конвейере начнется шаг ner?

В этом:

          nlp = spacy.load("./output_training_11.11")
    ner = nlp.get_pipe("ner")
    config = {"model": DEFAULT_TOK2VEC_MODEL}
    nlp.add_pipe("tok2vec",  before='ner')

Обучение:

      with nlp.disable_pipes(*other_pipes):

  optimizer = nlp.begin_training()

  for i in range(100):
    random.shuffle(TRAIN_DATA)
    for text, annotation in TRAIN_DATA:
        doc = nlp.make_doc(text)
        #print(annotation)
        try:
            example = Example.from_dict(doc, annotation)
            #print(example)
        except ValueError as e:
            print(e)
            print("Text: " , doc[0:50])
            print("------")
        nlp.update([example], 
                   sgd=optimizer, drop=dropout)```


nlp("random text")


ValueError: [E109] Component 'tok2vec' could not be run. Did you forget to call `initialize()`?

0 ответов

Другие вопросы по тегам