Stanford CoreNLP provides coreference resolution as mentioned here, also this thread, this, provides some insights about its implementation in Java.
However, I am
As mentioned by @Igor You can try the python wrapper implemented in this GitHub repo: https://github.com/dasmith/stanford-corenlp-python
This repo contains two main files: corenlp.py client.py
Perform the following changes to get coreNLP working:
In the corenlp.py, change the path of the corenlp folder. Set the path where your local machine contains the corenlp folder and add the path in line 144 of corenlp.py
if not corenlp_path:
corenlp_path =
The jar file version number in "corenlp.py" is different. Set it according to the corenlp version that you have. Change it at line 135 of corenlp.py
jars = ["stanford-corenlp-3.4.1.jar",
"stanford-corenlp-3.4.1-models.jar",
"joda-time.jar",
"xom.jar",
"jollyday.jar"]
In this replace 3.4.1 with the jar version which you have downloaded.
Run the command:
python corenlp.py
This will start a server
Now run the main client program
python client.py
This provides a dictionary and you can access the coref using 'coref' as the key:
For example: John is a Computer Scientist. He likes coding.
{
"coref": [[[["a Computer Scientist", 0, 4, 2, 5], ["John", 0, 0, 0, 1]], [["He", 1, 0, 0, 1], ["John", 0, 0, 0, 1]]]]
}
I have tried this on Ubuntu 16.04. Use java version 7 or 8.