Для обучения NER в spacy v3 требуется dev.spacy в командной строке
Я пытаюсь подготовить нестандартную модель в spacy v3.V3 значительно изменился по сравнению с v2 с точки зрения обучения.
Я использую конфигурацию по умолчанию с en_web_lg. Я подготовил данные для обучения (training.spacy) с помощью команды convert. Однако обучающей команде нужен файл dev.spacy.
Не уверен, какие данные ожидаются в dev.spacy. Это запрашивает простой текстовый корпус для файла training.spacy? Но есть ли способ преобразовать простой текстовый файл в пространственный формат ..
Команда с просторного сайта - python -m spacy train config.cfg --output ./output --paths.train ./train.spacy --paths.dev ./dev.spacy
Может кто-нибудь, пожалуйста, поможет объяснить, как подготовить dev.spacy.
2 ответа
Train.spacy - это заполнитель для сбора «обучающих» файлов - каталог файлов, обычно использующий утилиту Spacy convert. Dev.spacy - это заполнитель для сбора файлов «проверки» - тот же формат, что и файлы обучения, но используется в качестве образца проверки во время обучения (для NER, используемого для вычисления прогноза, отзыва и f-показателя после каждой итерации обучения). Обычно предлагаемый «размер» валидационной выборки составляет от 10 до 20% обучающей выборки. Я обычно использую 20%, потому что мои данные сильно различаются, но более крупный образец проверки добавляет накладные расходы на обучение.
Файл должен выглядеть точно так же, как и файл, но должен содержать новые примеры, которые процесс обучения не видел раньше, чтобы получить реалистичную оценку производительности вашей модели.
Чтобы создать этот набор разработчика, вы можете сначала разделить исходные данные на части train / dev, а затем запустить
convert
отдельно на каждой из них, называя более крупный
train.spacy
и меньший
dev.spacy
. Как предлагает @mbrunecky, разделение 80-20 обычно хорошо, но это зависит от набора данных.