Как создать собственный учебный корпус для Стэнфордского теггера? - PullRequest
15 голосов
/ 01 июля 2010

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

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

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

Ответы [ 4 ]

8 голосов
/ 01 июля 2010

Для обучения тегера PoS см. это сообщение списка рассылки , которое также включено в JavaDocs для класса MaxentTagger.

Javadocs для edu.stanford.nlp.tagger.maxent.Train класса определяет формат обучения:

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

7 голосов
/ 22 октября 2013

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

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

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

1 голос
/ 01 июля 2010

Для Stanford Parser вы используете формат банка Пенна и смотрите Stanford's FAQ о точных командах, которые нужно использовать. JavaDocs для класса LexicalizedParser также предоставляет соответствующие команды, в частности:

java -mx1500m edu.stanford.nlp.parser.lexparser.LexicalizedParser [-v] \
   -train trainFilesPath fileRange
   -saveToSerializedFile serializedGrammarFilename
0 голосов
/ 10 ноября 2015

Я пытался: java -mx1500m edu.stanford.nlp.parser.lexparser.LexicalizedParser [-v] \ ПоездFilesPath fileRange -saveToSerializedFile serializedGrammarFilename

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

Ошибка: не удалось найти или загрузить основной класс edu.stanford.nlp.parser.lexparser.LexicalizedParser

...