This example goes over how to set up CoreNLP from the GitHub repo. The GitHub code has newer features than the official release, but may be unstable. This example will take you through downloading, building, and running a simple command-line invocation of CoreNLP.
Prerequisites:
Steps:
Clone the CoreNLP Git repository:
git clone [email protected]:stanfordnlp/CoreNLP.git
Enter the CoreNLP directory:
cd CoreNLP
Build the project into a self-contained jar file. The easiest way to do this is with:
ant jar
Download the latest models.
wget http://nlp.stanford.edu/software/stanford-corenlp-models-current.jar
Or using curl (what you get by default on macOS):
curl -O http://nlp.stanford.edu/software/stanford-corenlp-models-current.jar
Set up your classpath. If you're using an IDE, you should set the classpath in your IDE.
export CLASSPATH="$CLASSPATH:javanlp-core.jar:stanford-corenlp-models-current.jar";
for file in `find lib -name "*.jar"`; do export CLASSPATH="$CLASSPATH:`realpath $file`"; done
If you'll be using CoreNLP frequently, this is a useful line to have in your ~/.bashrc
(or equivalent) file, replacing the directory /path/to/corenlp/
with the appropriate path to where you unzipped CoreNLP (3 replacements):
export CLASSPATH="$CLASSPATH:/path/to/corenlp/javanlp-core.jar:/path/to/corenlp/stanford-corenlp-models-current.jar";
for file in `find /path/to/corenlp/lib -name "*.jar"`; do export CLASSPATH="$CLASSPATH:`realpath $file`"; don
Try it out! For example, the following will make a simple text file to annotate, and run CoreNLP over this file. The output will be saved to input.txt.out
as a JSON file. Note that CoreNLP requires quite a bit of memory. You should give it at least 2GB (-mx2g
) in most cases.
echo "the quick brown fox jumped over the lazy dog" > input.txt
java -mx2g edu.stanford.nlp.pipeline.StanfordCoreNLP -outputFormat json -file input.txt