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
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
À 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
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
}
}
}
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
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