Модель поезда с использованием именованного объекта

Я смотрю на standford corenlp с помощью Named Entity REcognizer. У меня есть разные виды входного текста, и мне нужно пометить его в своем Entity. Итак, я начал тренировать свою собственную модель, и она, похоже, не работает.

Например, моя входная текстовая строка - «Книга из 49 статей журнала о золотом портфолио Toyota Land Cruiser 1956-1987»http://t.co/EqxmY1VmLg http://t.co/F0Vefuoj9Q"

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

Мой jane-austen-emma-ch1.tsv выглядит так

Toyota  PERS
Land Cruiser    PERS

Из приведенного выше текста ввода меня интересуют только эти два слова. Одним из них является Toyota, а другим словом - Land Cruiser.

Austin.prop выглядеть так

trainFile = jane-austen-emma-ch1.tsv
serializeTo = ner-model.ser.gz
map = word=0,answer=1
useClassFeature=true
useWord=true
useNGrams=true
noMidNGrams=true
useDisjunctive=true
maxNGramLeng=6
usePrev=true
useNext=true
useSequences=true
usePrevSequences=true
maxLeft=1
useTypeSeqs=true
useTypeSeqs2=true
useTypeySequences=true
wordShape=chris2useLC

Выполните следующую команду, чтобы сгенерировать файл ner-model.ser.gz

java -cp stanford-corenlp-3.4.1.jar edu.stanford.nlp.ie.crf.CRFClassifier -prop austen.prop

public static void main(String[] args) {
        String serializedClassifier = "edu/stanford/nlp/models/ner/english.muc.7class.distsim.crf.ser.gz";
        String serializedClassifier2 = "C:/standford-ner/ner-model.ser.gz";
        try {
            NERClassifierCombiner classifier = new NERClassifierCombiner(false, false, 
                    serializedClassifier2,serializedClassifier);
            String ss = "Book of 49 Magazine Articles on Toyota Land Cruiser 1956-1987 Gold Portfolio http://t.co/EqxmY1VmLg http://t.co/F0Vefuoj9Q";
            System.out.println("---");
            List<List<CoreLabel>> out = classifier.classify(ss);
            for (List<CoreLabel> sentence : out) {
              for (CoreLabel word : sentence) {
                System.out.print(word.word() + '/' + word.get(AnswerAnnotation.class) + ' ');
              }
              System.out.println();
            }

        } catch (ClassCastException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }  catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

Вот результат, который я получаю

Book/PERS of/PERS 49/O Magazine/PERS Articles/PERS on/O Toyota/PERS Land/PERS Cruiser/PERS 1956-1987/PERS Gold/O Portfolio/PERS http://t.co/EqxmY1VmLg/PERS http://t.co/F0Vefuoj9Q/PERS

что я думаю, что это неправильно. Я ищу Toyota / PERS и Land Cruiser / PERS (который является многозначным.

Спасибо за помощь. Любая помощь очень ценится.

Ответы на вопрос(2)

Ваш ответ на вопрос