[JAVA] Configurons Stanford CoreNLP Server pour Windows (guide le plus court)

CoreNLP Server

Une description détaillée de CoreNLP Server se trouve ci-dessous. Des échantillons sont également affichés.

CoreNLP Server - CoreNLP https://stanfordnlp.github.io/CoreNLP/corenlp-server.html

Télécharger

Il existe plusieurs méthodes de téléchargement disponibles, mais la plus simple est de télécharger le fichier à partir de l'URL ci-dessous. http://nlp.stanford.edu/software/stanford-corenlp-latest.zip

Extrayez le fichier ZIP téléchargé.

À partir d'octobre 2020, les dossiers suivants seront développés.

stanford-corenlp-4.1.0

Déplacez le dossier vers le chemin suivant. Veuillez le modifier à votre guise.

C:\usr\local\stanford-corenlp-4.1.0

Courir

À l'invite de commandes, accédez à C: \ usr \ local \ stanford-corenlp-4.1.0 et exécutez la commande Java.

C:\>cd C:\usr\local\stanford-corenlp-4.1.0
C:\usr\local\stanford-corenlp-4.1.0>java -mx4g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer -port 9000 -timeout 15000
[main] INFO CoreNLP - --- StanfordCoreNLPServer#main() called ---
[main] INFO CoreNLP - Server default properties:
                        (Note: unspecified annotator properties are English defaults)
                        inputFormat = text
                        outputFormat = json
                        prettyPrint = false
[main] INFO CoreNLP - Threads: 8
[main] INFO CoreNLP - Starting server...
[main] INFO CoreNLP - StanfordCoreNLPServer listening at /0:0:0:0:0:0:0:0:9000

Créer un client

pom.xml

<!-- https://mvnrepository.com/artifact/edu.stanford.nlp/stanford-corenlp -->
<dependency>
	<groupId>edu.stanford.nlp</groupId>
	<artifactId>stanford-corenlp</artifactId>
	<version>4.0.0</version>
	<scope>provided</scope>
</dependency>

package nlp4j.stanford;

import java.util.List;
import java.util.Properties;

import edu.stanford.nlp.ling.CoreAnnotations.LemmaAnnotation;
import edu.stanford.nlp.ling.CoreAnnotations.PartOfSpeechAnnotation;
import edu.stanford.nlp.ling.CoreAnnotations.TextAnnotation;
import edu.stanford.nlp.ling.CoreAnnotations.TokensAnnotation;
import edu.stanford.nlp.ling.CoreLabel;
import edu.stanford.nlp.pipeline.Annotation;
import edu.stanford.nlp.pipeline.StanfordCoreNLPClient;

public class StanfordClientSample1 {

	public static void main(String[] args) throws Exception {

		// creates a StanfordCoreNLP object with POS tagging, lemmatization
		Properties props = new Properties();
		props.setProperty("annotators", "tokenize, ssplit, pos, lemma");

		StanfordCoreNLPClient pipeline = new StanfordCoreNLPClient(props, "http://localhost", 9000, 2);

		// read some text in the text variable
		String text = "This is sample text for NLP.";

		// create an empty Annotation just with the given text
		Annotation document = new Annotation(text);

		// run all Annotators on this text
		pipeline.annotate(document);

		{
			List<CoreLabel> labels = document.get(TokensAnnotation.class);
			// for each labels
			for (CoreLabel label : labels) { //
				String str = label.get(TextAnnotation.class);
				String lex = label.get(LemmaAnnotation.class);
				String pos = label.get(PartOfSpeechAnnotation.class);
				int begin = label.beginPosition();
				int end = label.endPosition();

				System.err.println("str=" + str + ",lex=" + lex + ",pos=" + pos + ",begin=" + begin + ",end=" + end);

			} // for each labels
		}

	}

}

Résultat d'exécution

str=This,lex=this,pos=DT,begin=0,end=4
str=is,lex=be,pos=VBZ,begin=5,end=7
str=sample,lex=sample,pos=NN,begin=8,end=14
str=text,lex=text,pos=NN,begin=15,end=19
str=for,lex=for,pos=IN,begin=20,end=23
str=NLP,lex=nlp,pos=NN,begin=24,end=27
str=.,lex=.,pos=.,begin=27,end=28

Résumé

Le démarrage de Stanford NLP en Java prend beaucoup de temps à charger, mais l'utilisation de Core NLP Server accélère le deuxième appel et les suivants. Il est recommandé car il est facile de configurer le serveur une fois que vous vous y êtes habitué.

c'est tout

Recommended Posts

Configurons Stanford CoreNLP Server pour Windows (guide le plus court)
Configurer le service de métabase sur Windows Server 2012
[Note] Comment redémarrer le conteneur Windows configuré avec docker-compose
[Ubuntu] Configurer un serveur Nukkit
Essayez l'analyse syntaxique des phrases anglaises avec Stanford CoreNLP