Я новичок в библиотеке nltk, и я стараюсь научить мой классификатор некоторым ярлыкам своим собственным корпусом.NLTK MaxentClassifier поезд с отрицательными случаями
Для этого у меня есть файл с тегами IOB, как это:
How O
do B-MYTag
you I-MYTag
know O
, O
where B-MYTag
to O
park O
? O
(PS Это только составил образец ...)
Я делаю это
self.classifier = nltk.MaxentClassifier.train(train_set, algorithm='megam', trace=0)
и он работает.
Мой вопрос заключается в том, как обучать мой classifier
с отрицательными случаями. Итак, у меня был бы похожий файл с тегами IOB, и я бы указал, что этот файл установлен неправильно. (Отрицательные веса)
Как это сделать?
EDIT:
Пример отрицательного случая будет:
How B-MYTag
do O
you O
know O
, O
where B-MYTag
to O
park O
? O
После этого, я надеюсь, помнить, что как это, вероятно, не MyTag ... Причина этого заключается в том , чтобы узнать быстрее. Если бы я мог просто набирать инструкции, программа обрабатывала бы его и в конце спрашивала меня, удовлетворен ли я результатом. Если да, то этот текст будет добавлен в train_set
, если бы он не был добавлен в negative_train_set
. Таким образом, было бы легче и быстрее научить классификатора правильному делу.
Можете ли вы привести пример отрицательных случаев? Я сомневаюсь, что это работает (концептуально) с пометкой последовательности. Я имею в виду, что вы ожидаете узнать из неправильных аннотаций? Положительные (B/I) и отрицательные (O) классы уже представлены в данных аннотациях. – lenz
Ваше редактирование звучит так, как будто вы после рабочего процесса активного обучения. Конечно, вы можете сделать это вручную: пусть классификатор предсказывает что-то, корректирует метки вручную, добавляет его в набор тренировок, переучивается. Вы должны быть конкретными в отношении исправления: если вы только говорите, что «метки в этом предложении неверны», как классификатор должен знать, что первые три тега плохие, но, например. четвертый ('O' on" know ") правильный? – lenz
Обратите внимание, что если у вас есть большой набор тренировок для начала, а затем вручную добавьте несколько исправленных вручную примеров, как я только что сказал, воздействие может быть очень маленьким. – lenz