Стэнфордский анализатор модели NLP слишком большой

#stanford-nlp

#stanford-nlp

Вопрос:

Я использую maven для управления зависимостями. Мне нужно использовать анализатор Stanford NLP, чтобы получить универсальные зависимости для английских предложений. Я использую edu/stanford/nlp/models/lexparser/englishPCFG.ser.gz модель. Мой pom.xml содержит следующее

     <dependency>
        <groupId>edu.stanford.nlp</groupId>
        <artifactId>stanford-parser</artifactId>
        <version>3.6.0</version>
    </dependency>
    <dependency>
        <groupId>edu.stanford.nlp</groupId>
        <artifactId>stanford-parser</artifactId>
        <version>3.6.0</version>
        <classifier>models</classifier>
    </dependency>
 

При добавлении зависимости models размер jar увеличивается примерно на 300 МБ. Мне нужно убедиться, что jar как можно меньше. Есть ли какой-нибудь способ справиться с этим в maven?

Ответ №1:

Вы можете уменьшить размер jar, не включая модели и ссылаясь на них из других источников (т. Е. Укажите Пользовательский путь для свойства parse.model ), но в целом, если вы хотите создавать деревья синтаксического анализа, вам нужно где-то иметь доступ к модели синтаксического анализатора. CoreNLP включает его в model jar по умолчанию, чтобы упростить запуск кода независимо от вашей конкретной структуры каталогов.

Другой вариант — запустить сервер CoreNLP, и тогда вам понадобится только клиентская библиотека (сервер включает в себя models jar).