Is the CoreNLP server required and what are its advantages?

155 views
Skip to first unread message

bram...@gmail.com

unread,
Feb 3, 2019, 10:33:55 AM2/3/19
to StanfordNLP: A Python NLP Library for Many Human Languages
If I remember correctly, in the past, CoreNLP was Java-based. With the increased interest in Python, many people looked towards other parses or a Python wrapper for CoreNLP. I understand that a lot of your work has gone into the native Java-framework. However, it is not clear to me what the new StanfordNLP library is: is it completely independent from the original Java code - built from the ground up in Cython/Python? Or is it an improved wrapper?

In other words, do you still need the original CoreNLP server or not? And if you can use the Stanford parser without the CoreNLP server, what is the benefit of still using the server?


Thanks in advance for your reply

Yuhao Zhang

unread,
Feb 4, 2019, 4:13:16 PM2/4/19
to StanfordNLP: A Python NLP Library for Many Human Languages
Hi there,

First thanks for your interest in the library! In short, StanfordNLP library (as of v0.1.1) is a combination of the two: an independent Python NLP pipeline and a Python interface of the CoreNLP server. Details below:

1. Independent Python NLP pipeline: an important part of this new library is a deep learning-based NLP pipeline which is built from the ground up in Python, by using the PyTorch framework. This pipeline currently supports tokenization, sentence split, lemmatization, pos and morphological features tagging and universal dependency parsing. There are three main advantages of having this pipeline: 1) it provides native Python implementations, which is currently the main language of a lot of NLP researchers/practitioners; 2) by using deep learning models, it now supports 53 human languages with a single model architecture; 3) the deep learning components can also provide very accurate and even state-of-the-art results on many languages (as measured in the UD shared task). Note that currently this Python NLP pipeline is completely independent from CoreNLP, and you can refer to this page in order to use it: https://stanfordnlp.github.io/stanfordnlp/installation_download.html

2. A Python interface of the CoreNLP Java library: this part of the library is dedicated to communicating users' requests with the backend CoreNLP server, and converting the results returned by CoreNLP into local Python objects. The advantage of having this interface is obvious: while the deep learning-based Python NLP pipeline provides support for many more languages, it currently lacks many functionalities that CoreNLP provides (e.g., high level tasks such as named entity recognition, relation extraction, etc.). Therefore having this Python interface will help unlock these possibilities. For instructions on how to use this interface, please refer to this page: https://stanfordnlp.github.io/stanfordnlp/corenlp_client.html

I hope these will answer your question?

subrat....@gmail.com

unread,
May 7, 2019, 4:27:14 AM5/7/19
to StanfordNLP: A Python NLP Library for Many Human Languages
Hi Yuhao,

As per the documentation https://stanfordnlp.github.io/stanfordnlp/processors.html for the list of supported Processors, I don't see sentence split as part of supported features. Can you please verify this. If yes, can you please provide an example of how to get the sentences from the annotated document.

Best Regards,
Subrat Kumar Giri

subrat....@gmail.com

unread,
May 7, 2019, 12:28:16 PM5/7/19
to StanfordNLP: A Python NLP Library for Many Human Languages
W.R.T the previous reply:
I want to use ssplit for Italian language which is not supported in CoreNLP. So, looking towards Python NLP Pipeline.

Christian

unread,
May 15, 2019, 2:41:28 PM5/15/19
to StanfordNLP: A Python NLP Library for Many Human Languages
Hi Yuhao,

thank you for providing the StanfordNLP  library.

Ist there a way to use both StandordNLP and CoreNLPServer in one pipeline through the interface? I want to use the dependencies from the Python implementation together with NER tags from the CoreNLP ner annotator.


Thank you very much and best regards,

Christian

Reply all
Reply to author
Forward
0 new messages