Стэнфордское тестирование точности пользовательских моделей NER - PullRequest
0 голосов
/ 13 января 2019

Я работаю над извлечением сущностей, используя собственную модель. Я обучил свою модель на основе CRF для большого набора данных как

java -Xmx16g stanford-ner.jar edu.stanford.nlp.ie.crf.CRFClassifier -prop ner.prop

с использованием этих функций

Файл объекта (ner.prop)

 trainFile = training_data_IOB.tsv
 #serializeTo = ner-model.ser.gz
 map = word=0,answer=1

 useClassFeature=true
 useWord=true
 qnSize=10
 entitySubclassification=IOB1
 retainEntitySubclassification=true
 mergeTags=true
 useNGrams=true
 noMidNGrams=true
 maxNGramLeng=6
 usePrev=true
 useNext=true
 useSequences=true
 usePrevSequences=true
 maxLeft=1
 useTypeSeqs=true
 useTypeSeqs2=true
 useTypeySequences=true
 wordShape=chris2useLC
 useDisjunctive=true
 useGazettes=true
 gazette=gazetter.txt
 sloppyGazette=true

Файл обучения (training_data_IOB.tsv)

Thousands   O
of  O
demonstrators   O
have    O
marched O
through O
London  B-LOC
to  O
protest O
the O
war O
in  O
Iraq    B-LOC
...     ...

Файл бюллетеня (gazetter.txt)

B-LOC   Iraq
B-LOC   Afghanistan
B-ORG   Congressional
B-LOC   Bangladesh
B-LOC   Canada
B-ORG   ...

новая модель создана как ner-model.ser.gz и работает довольно хорошо.

Теперь мой вопрос: как я могу рассчитать процентную точность по любым невидимым (новым) данным без ручного подсчета и расчетов?

Я новичок в этой области, поэтому, пожалуйста, оставьте подробный описательный ответ. Спасибо за ваше время.

1 Ответ

0 голосов
/ 13 января 2019

Если вы создаете файл conll с золотыми тегами для тестового набора, вы можете использовать эту команду, и она выведет результаты (в этом примере запускается наша модель, замените ее на свою пользовательскую модель):

java -Xmx2g edu.stanford.nlp.ie.crf.CRFClassifier -loadclassifier edu/stanford/nlp/models/ner/english.all.3class.distsim.crf.ser.gz -testFile testData.conll
...