NLTK CoreNLPDependencyParser: N'a pas réussi à établir une connexion
j'essaie d'utiliser le Stanford Parser par NLTK, en suivant l'exemple ici .
je suis les deux premières lignes de l'exemple (avec l'importation nécessaire)
from nltk.parse.corenlp import CoreNLPDependencyParser
dep_parser = CoreNLPDependencyParser(url='http://localhost:9000')
parse, = dep_parser.raw_parse('The quick brown fox jumps over the lazy dog.')
mais je reçois une erreur disant:
[...] Failed to establish a new connection: [Errno 61] Connection refused"
je me rends compte que ça doit être un problème d'essayer de se connecter à l'url donnée en entrée au constructeur.
dep_parser = CoreNLPDependencyParser(url='http://localhost:9000')
quelle url devrais-je être? connectez, si ce pas? Si tel est le cas, quel est le problème?
1 réponses
vous devez d'abord télécharger et exécuter le serveur CoreNLP sur localhost:9000
.
1) Télécharger CoreNLP à https://stanfordnlp.github.io/CoreNLP/download.html
2) décompressez les fichiers dans un répertoire puis lancez la commande suivante dans ce répertoire pour démarrer le serveur
java -mx4g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer -port 9000 -timeout 15000
Réf: https://stanfordnlp.github.io/CoreNLP/corenlp-server.html
le résultat du code ci-dessus est comme
>>> print(parse.to_conll(4))
The DT 4 det
quick JJ 4 amod
brown JJ 4 amod
fox NN 5 nsubj
jumps VBZ 0 ROOT
over IN 9 case
the DT 9 det
lazy JJ 9 amod
dog NN 5 nmod
. . 5 punct
vous pouvez également démarrer le serveur via L'API NLTK (besoin de configurer la variable d'environnement CORENLP_HOME
en premier)
os.environ["CORENLP_HOME"] = "dir"
client = corenlp.CoreNLPClient()
# do something
client.stop()