Добавление объектов в классификатор NER NER Stanford - PullRequest
0 голосов
/ 07 июня 2018

У меня очень простой способ извлечь имена, организации и местоположения из строки.Я использую библиотеки .NET Nuget для Stanford NLP.Похоже на это.

CRFClassifier Classifier = CRFClassifier.getClassifier(StanfordNLPConfig.NER.ClassifierModel);

        List<IndexViewModel> ivms = new List<IndexViewModel>();

        try
        {
            foreach (List sentence in Classifier.classify(content).toArray())
            {
                NLPTranslator translator = new NLPTranslator();
                ivms.AddRange(translator.NERTranslate(sentence));
            }
        }
        catch (Exception ex)
        {
            throw ex;
            // Error silently
        }

        return ivms;

Модель представляет собой файл jar 3class, с которым она поставляется - english.all.3class.distsim.crf.ser.gz.

Это работает очень хорошо для меня, но будетЯ хотел бы сделать это для взаимодействия с моделью, чтобы иметь возможность добавлять свои собственные объекты, если мне это необходимо, это кажется очень ориентированным на Америку, и я хотел бы иметь возможность размещать свои собственные британские компании, местоположения и т. Д.

Можно ли как-то добавить эти объекты, как я читал об обучении, но вы, возможно, не сможете расширить модель, если это так, могу ли я объединить классификаторы и провести их через британскую модель?/ США один и т. Д. Если это возможно, как я могу на самом деле сделать свой собственный классификатор, как я хотел бы сделать это в .NET, если это возможно.

1 Ответ

0 голосов
/ 13 июня 2018

Если вы хотите изменить способ работы модели, вам необходимо предоставить данные для обучения и обучить свою собственную модель.По причинам лицензирования Stanford не распространяет данные, на которых обучаются общедоступные модели, но вы можете использовать те же функции.

Вы можете прочитать о том, как обучить модель здесь , но, к сожалению,первое предложение инструкции таково:

Документация по обучению вашего собственного классификатора находится где-то между плохим и несуществующим.

Если вы впервые работаете с CRF, вы сможете многому научиться, но это поддается управлению.Может быть полезно взглянуть на документацию для других пакетов, таких как CRFSuite и CRF ++ - они, как правило, все используют в основном один и тот же формат обучающих данных и во многом похожи.

Также обратите внимание, что существующие модели нельзя расширить, обучив их только на новом входе, система просто не настроена таким образом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...