Я сделал модель CRF. У моего набора данных есть 24 класса, и в это время я начинаю, поэтому мои данные обучения имеют всего 1200 токенов/корпусов. Я тренирую модель. В моих данных по обучению я использовал множественное число маркеров, таких как адреса, фотографии, штаты, страны и т. Д.Модель CRF, обученная на множественном числе, не работает на сингулярном
Теперь, когда я тестирую, если я даю множественное число токенов в форме предложения для этой модели, тогда он работает хорошо, но если я введите мое предложение в единственном числе, как фото, состояние и т. д., тогда он не присваивает ему никаких тегов.
Такое поведение crf выглядит очень странно. Я исследовал NER Feature Factory и использовал некоторые функции леммы, но он также не работал. Разделите мой austen.prop
для формирования модели.
# location of the training file
trainFile = training_data_for_ner.txt
# location where you would like to save (serialize) your
# classifier; adding .gz at the end automatically gzips the file,
# making it smaller, and faster to load
serializeTo = ner-model.ser.gz
# structure of your training file; this tells the classifier that
# the word is in column 0 and the correct answer is in column 1
map = word=0,answer=1,pos=2,lemma=3
# This specifies the order of the CRF: order 1 means that features
# apply at most to a class pair of previous class and current class
# or current class and next class.
maxLeft=1
# these are the features we'd like to train with
# some are discussed below, the rest can be
# understood by looking at NERFeatureFactory
useClassFeature=true
useWord=true
# word character ngrams will be included up to length 6 as prefixes
# and suffixes only
useNGrams=true
noMidNGrams=true
maxNGramLeng=6
usePrev=true
useNext=true
useDisjunctive=true
useSequences=true
usePrevSequences=true
# the last 4 properties deal with word shape features
useTypeSeqs=true
useTypeSeqs2=true
useTypeySequences=true
wordShape=chris2useLC
# newly added features.
useLemmas=true
usePrevNextLemmas=true
useLemmaAsWord=true
useTags=true
Последние четыре функции были добавлены, ознакомившись с этой NER Feature Factory
. Если кто-нибудь поможет мне решить эту проблему, я буду благодарен вам.
И могу ли я одновременно сохранить как лемм, так и токен? Будет ли хорошо для формирования модели crf? –
Это зависит от вашего набора данных. Я бы предположил, что вы не должны этого делать. Обратите внимание, что вы всегда можете проверить качество (оценка F1 или подобное) с перекрестной проверкой и выбрать наиболее подходящие варианты. – dveim
Как я укажу на свою карту, что этот столбец содержит исходный токен? Пусть говорят, что 5-й столбец в файле тренировки содержит строковый токен, то как мне написать свою карту в austen.prop. map = ...... stem = 4 или stemmer = 4? –