spaCy 2.0: сохранение и загрузка пользовательской модели NER

Я обучил пользовательскую модель NER в spaCy с пользовательским токенизатором. Я хочу сохранить модель NER без токенизатора. Я попробовал следующий код, найденный на форуме поддержки spaCy:

import spacy

nlp = spacy.load("en")
nlp.tokenizer = some_custom_tokenizer
# Train the NER model...
nlp.tokenizer = None
nlp.to_disk('/tmp/my_model', disable=['tokenizer'])

Когда я пытаюсь загрузить его, конвейер пуст, и, что удивительно, в нем есть токенизатор spaCy по умолчанию.

nlp = spacy.blank('en').from_disk('/tmp/model', disable=['tokenizer'])

Есть идеи, как загрузить модель без токенизатора, но получить полный конвейер? Благодарность


person Gino    schedule 30.01.2018    source источник
comment
Не по теме: @Gino, я только что заметил ваш вопрос и ищу людей с опытом разработки приложений НЛП. Я предлагаю структуру, которая призвана упростить разработку пользовательских моделей НЛП. Он называется NLPf и предоставляет, например, инструмент аннотации, который значительно упрощает процесс аннотации (возможно, вы также можете извлечь из этого пользу, увеличивая свои тренировочные данные). У вас есть время поэкспериментировать с фреймворком и ответить на вопросы анкеты?   -  person schrieveslaach    schedule 01.02.2018
comment
@Schrieveslaach Конечно!   -  person Gino    schedule 06.02.2018
comment
не могли бы вы связаться со мной по электронной почте, чтобы обсудить, как я могу дать какие-либо рекомендации? Вы можете найти мой адрес электронной почты, например, в этой фиксации. Просто наведите курсор на мое имя пользователя.   -  person schrieveslaach    schedule 07.02.2018


Ответы (1)


Вы можете использовать nlp = spacy.load('/tmp/model') для загрузки вашей модели после сохранения ее на диск. Выполнение того, что вы сделали, по-видимому, загружает только двоичные данные в соответствии с документацией Spacy (https://spacy.io/usage/training#section-saving-loading).

person Valentin Calomme    schedule 02.03.2018