Я обучаю модель NER с помощью инструмента командной строки python -m spacy train
. Я использую gold.docs_to_json
для преобразования моих аннотированных документов в JSON -сериализуемый формат .
Инструмент обучения командной строки использует как обучающий набор, так и разработку набор. Я не уверен, какую помощь мне дают инструменты командной строки для управления разбиениями train / dev.
- Существует ли инструмент командной строки для создания разбиений train / dev из одного набора данных?
- Будет ли обучающая команда spaCy выполнять перекрестную проверку для меня вместо того, чтобы заставлять меня создавать набор разработчиков?
- Когда придет время обучать производственную модель на всех данных, что я буду использовать в качестве набор разработчиков?
Я думаю, что ответ на оба вопроса (1) и (2) - «нет», но я хочу перепроверить.
От игры вокруг него Похоже, что вы всегда должны передавать непустой набор разработчиков, даже если вы тренируете производственную модель для фиксированного числа итераций. На данный момент я просто передаю копию своих тренировочных данных, но это выглядит странно, поэтому мне интересно, есть ли какая-то другая процедура, которую я пропускаю.
В документации spaCy по обучению в основном обсуждается написание ваших собственных итерационных циклов , Я сделал достаточно для того, чтобы быть уверенным, что смог бы сделать что-либо из вышеперечисленного, если бы написал свой собственный код, но для этих базовых c тренировочных операций я бы предпочел не писать код, а просто использовать инструменты командной строки за все.