как создать свой собственный учебный корпус для Stanford tagger?

Я должен анализировать неофициальный английский текст с большим количеством коротких рук и местного жаргона. Поэтому я думал о создании модели для Стэнфордского Таггера.

Как создать свой собственный набор помеченных корпус для Стэнфордского Таггера, чтобы тренироваться на?

каков синтаксис корпуса и как долго должен быть мой корпус для достижения желаемой производительности?

4 ответов


чтобы обучить POS tagger, см. этот список рассылки который также включен в JavaDocs для класса MaxentTagger.

javadocs для edu.Стэнфордский.НЛП.водящий.maxent.Класс поезда задает формат обучения:

файл обучения должен быть в следующий формат: Одно слово и один тег в строке разделены пробелом или табуляция. Каждое предложение должно заканчиваться на Пара слов-тегов EOS. (На самом деле, я не полностью уверен, что это все еще так, но это, вероятно, не повредит. - wmorgan)


по сути, тексты, которые вы форматируете для учебного процесса, должны иметь по одному токену в каждой строке, за которым следует вкладка, а затем идентификатор. Идентификатор может быть чем-то вроде "LOC" для местоположения, "COR" для корпорации или "0" для токенов не-сущности. Е. Г.

I     0
left     0
my     0
heart     0
in     0
Kansas     LOC
City     LOC
.     0

когда наша команда обучала ряд классификаторов, мы скармливали каждому файл обучения, отформатированный примерно так с 180 000 токенов,и мы видели чистое улучшение точности, но чистое снижение отзыва. (Он отметить, что увеличение точности не было статистически значимым.) В случае, если это может быть полезно для других, я описал процесс, который мы использовали для обучения классификатора, а также значения p, r и f1 как обученных, так и стандартных классификаторов здесь.


для парсера Стэнфорда вы используете Penn treebank format и видим FAQ Стэнфорда о точных командах для использования. JavaDocs для класс LexicalizedParser также дать соответствующие команды, в частности:

java -mx1500m edu.stanford.nlp.parser.lexparser.LexicalizedParser [-v] \
   -train trainFilesPath fileRange
   -saveToSerializedFile serializedGrammarFilename

Я попытался: java-mx1500m edu.Стэнфордский.НЛП.синтаксический анализатор.лекспарсер.LexicalizedParser [- v] \ - поезд trainFilesPath fileRange - saveToSerializedFile serializedGrammarFilename

но у меня была ошибка:

ошибка: не удалось найти или загрузить основной класс edu.Стэнфордский.НЛП.синтаксический анализатор.лекспарсер.LexicalizedParser