Stanford CoreNLP is a Java
suite for Natural Language Processing (NLP). In its new version it includes a web API server. The NLPclient package provides client access to the CoreNLP server. In the following we provide information on how to set up and to use NLPclient, for more information about the CoreNLP Server we refer to https://stanfordnlp.github.io/CoreNLP/corenlp-server.html
.
To install NLPclient from CRAN, execute:
install.packages("NLPclient")
For NLPclient to do anything useful CoreNLP server has to be installed. CoreNLP server can either be run by starting the server with Java
directly or by running the server under docker. For running CoreNLP server with Java
we refer to the CoreNLP Server documentation.
The RSelenium documentation provides a nice introduction on the usage of docker which also gives guidance on the docker installation.
We recommend to use the docker image schwe/corenlp
from https://hub.docker.com/r/schwe/corenlp
it is derived from frnkenstien/corenlp
but allows to insert arguments into server startup and to specify default properties. The image can be obtained by
docker pull schwe/corenlp
To start the CoreNLP server a command similar to
docker run -p 9000:9000 --name coreNLP --rm -i -t schwe/corenlp
can be used, this will also download the docker image if necessary. On Linux it might by necessary to run docker with sudo
or to setup docker to be manageable a non-root user.
The function nlp_server_docker_run
can be used to create the run command from within R
.
nlp_server_docker_run(memory = "-mx4g", threads = 2L)
#R> "docker run -p 9000:9000 --name coreNLP --env PREARGS='-mx4g' --env SUBARGS='-threads 2' --rm -i -t schwe/corenlp"
nlp_server_docker_run
returns the run command as a string, to run the server the command has to be copied into the terminal (on Unix) or the docker toolbox (on Windows).