Как использовать Standford NLP библиотеки в Java?

Кто-нибудь знает, как использовать стандартную библиотеку NLP для лемматизации. Это дает стиль maven рамки. Тем не менее, я только хотел использовать в обычной библиотеке. Я импортировал библиотеки NLP. Тем не менее, это дает мне ClassNotFoundException.

java.lang.ClassNotFoundException: org.slf4j.LoggerFactory

Любая идея о том, какие минимальные библиотеки требуется добавить для этого лемматизатора?

1 ответ

Решение

Просто создайте Java-проект, используя Maven. И добавьте следующую зависимость:

Для SBT:"edu.stanford.nlp" % "stanford-corenlp" % "3.6.0", "edu.stanford.nlp" % "stanford-corenlp" % "3.6.0" classifier "models", "edu.stanford.nlp" % "stanford-parser" % "3.6.0"

Примечание: в вашем случае используйте Maven. Выше 3-х зависимостей достаточно для ядра НЛП.
Но для вашего исключения используйте: зависимость Maven org.slf4j или включите jar org.slf4j в ваш проект.

Если вы хотите использовать Standford CoreNLP для лемматизации, TOKENIZATION, POS, анализа настроений или для каких-либо других целей, вы должны иметь stanford-corenlp а также stanford-corenlp-model банки.

Добавление этих банок в Maven:

<properties>
    <stanford.corenlp.version>3.9.1</stanford.corenlp.version>
  </properties>

  <dependencies>
      <!-- Stanford dependecies -->
       <dependency> 
           <groupId>edu.stanford.nlp</groupId>
           <artifactId>stanford-corenlp</artifactId>
           <version>${stanford.corenlp.version}</version>
       </dependency> 
       <dependency> 
           <groupId>edu.stanford.nlp</groupId>
           <artifactId>stanford-corenlp</artifactId>
           <version>${stanford.corenlp.version}</version>
           <classifier>models</classifier> 
        </dependency>
  </dependencies>

Обработка ошибок и предупреждений

Если вы получаете сообщение об ошибке, то это ссылки, которые могут помочь вам удалить ссылки:

java.lang.NoClassDefFoundError в Standford Core NLP

Исключение в потоке "main" java.lang.RuntimeException: edu.stanford.nlp.io.RuntimeIOException: неисправимая ошибка при загрузке модели тегера

Исключение в потоке "main" java.lang.RuntimeException: edu.stanford.nlp.io.RuntimeIOException: ошибка при загрузке модели тегера (возможно, отсутствует файл модели)

Предупреждение StaticLoggerBinder: Если вы получаете это предупреждение в консоли:

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".  
SLF4J: Defaulting to no-operation (NOP) logger implementation  
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.  

Следуйте этому руководству:

SLF4J: Не удалось загрузить класс "org.slf4j.impl.StaticLoggerBinder".

Предупреждение No Appender: если вы получаете это предупреждение в консоли:

log4j:WARN No appenders could be found for logger (dao.hsqlmanager).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

Следуйте этому руководству:

log4j: ПРЕДУПРЕЖДЕНИЕ. Не удалось найти ни одного дополнительного устройства для ведения журнала (dao.hsqlmanager).


Обновление: минимальный POM.xml, который у меня есть:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.interviewBubble</groupId>
  <artifactId>CoreNLP</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>CoreNLP</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <stanford.corenlp.version>3.9.1</stanford.corenlp.version>
  </properties>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
            <!-- Stanford dependecies -->
       <dependency> 
           <groupId>edu.stanford.nlp</groupId> 
           <artifactId>stanford-corenlp</artifactId> 
            <version>${stanford.corenlp.version}</version> 
            <scope>compile</scope>
        </dependency> 
        <dependency> 
            <groupId>edu.stanford.nlp</groupId> 
            <artifactId>stanford-corenlp</artifactId> 
            <classifier>models</classifier> 
            <version>${stanford.corenlp.version}</version> 
            <scope>compile</scope>
        </dependency>
           <dependency>
     <groupId>org.slf4j</groupId>
       <artifactId>slf4j-api</artifactId>
       <version>1.7.25</version>
   </dependency>
   <dependency>
       <groupId>org.slf4j</groupId>
       <artifactId>slf4j-log4j12</artifactId>
       <version>1.7.25</version>
   </dependency>
  </dependencies>
</project>
Другие вопросы по тегам