J'ai découvert que nltk fonctionne bien avec la grammaire de l'analyseur développé par Stanford.
Analyse syntaxique avec Stanford CoreNLP et NLTK
Il est très facile de commencer à utiliser Stanford CoreNLP et NLTK. Tout ce dont vous avez besoin est une petite préparation, après quoi vous pouvez analyser les phrases avec le code suivant :
from nltk.parse.corenlp import CoreNLPParser
parser = CoreNLPParser()
parse = next(parser.raw_parse("I put the book in the box on the table."))
Préparation :
- Télécharger Modèle Java Stanford
- Exécuter CoreNLPServer
Vous pouvez utiliser le code suivant pour exécuter CoreNLPServer :
import os
from nltk.parse.corenlp import CoreNLPServer
# The server needs to know the location of the following files:
# - stanford-corenlp-X.X.X.jar
# - stanford-corenlp-X.X.X-models.jar
STANFORD = os.path.join("models", "stanford-corenlp-full-2018-02-27")
# Create the server
server = CoreNLPServer(
os.path.join(STANFORD, "stanford-corenlp-3.9.1.jar"),
os.path.join(STANFORD, "stanford-corenlp-3.9.1-models.jar"),
)
# Start the server in the background
server.start()
Ne pas oublier d'arrêter le serveur en exécutant server.stop()