Как мы используем выходной файл, сгенерированный после обучения Stanford NER tagger с использованием пользовательского набора данных? - PullRequest
3 голосов
/ 07 июня 2019

После выполнения действий из этого Stanford NLP FAQ я смог создать zip-файл модели.Но в документации они используют файл TSV для вычисления точности прогнозирования по уже аннотированному файлу, но нет никакой документации о том, как проверить его по новому файлу!

Команда, используемая для генерациимодель была

 java -Xmx10240m -cp 'path_to_stanford-ner.jar' edu.stanford.nlp.ie.crf.CRFClassifier -prop austen.prop

где austen.prop - это свойства, которые влияют на обучение

Начинающий в Java здесь, извините, если это глупый вопрос

1 Ответ

0 голосов
/ 09 июня 2019

Решение состоит в том, чтобы взять входной файл в зависимости от того, что вы хотите проверить на модели , и преобразовать его в файл TSV , который можно подать на модель ner с помощью следующей команды

java -cp stanford-ner.jar edu.stanford.nlp.ie.crf.CRFClassifier -loadClassifier ner-model.ser.gz -testFile converted_to_tsv.tsv

Вот небольшой скрипт для преобразования файла в TSV в python:

import json
import re
file = filepath
for line in open(file, mode="r",encoding = 'utf8'):
    regex = '[ ]'  
    with open('output.tsv','w+') as output_file:

        for line in list(filter(bool, file.splitlines())):

            for word in re.split(split_regex,line):
                print(word+"\tO")
                output_file.write(word+"\tO"+"\n")
...