stanfordnlp
8 great Python libraries for natural language processing
Natural language processing, or NLP for short, is best described as "AI for speech and text." The magic behind voice commands, speech and text translation, sentiment analysis, text summarization, and many other linguistic applications and analyses, natural language processing has been improved dramatically through deep learning. The Python language provides a convenient front-end to all varieties of machine learning including NLP. In fact, there is an embarrassment of NLP riches to choose from in the Python ecosystem. In this article we'll explore each of the NLP libraries available for Python--their use cases, their strengths, their weaknesses, and their general level of popularity.
Introduction to StanfordNLP with Python Implementation
A common challenge I came across while learning Natural Language Processing (NLP) – can we build models for non-English languages? The answer has been no for quite a long time. Each language has its own grammatical patterns and linguistic nuances. I could barely contain my excitement when I read the news last week. The authors claimed StanfordNLP could support more than 53 human languages!
StanfordNLP
StanfordNLP is the combination of the software package used by the Stanford team in the CoNLL 2018 Shared Task on Universal Dependency Parsing, and the group's official Python interface to the Stanford CoreNLP software. Aside from the functions it inherits from CoreNLP, it contains tools to convert a string of text to lists of sentences and words, generate base forms of those words, their parts of speech and morphological features, and a syntactic structure that is designed to be parallel among more than 70 languages. This package is built with highly accurate neural network components that enables efficient training and evaluation with your own annotated data. The modules are built on top of PyTorch. To see StanfordNLP's neural pipeline in action, you can launch the Python interactive interpreter, and try the following commands At the end, you should be able to see the dependency parse of the first sentence in the example.
stanfordnlp/stanfordnlp
It contains packages for running our latest fully neural pipeline from the CoNLL 2018 Shared Task and for accessing the Java Stanford CoreNLP server. For detailed information please visit our official website. The PyTorch implementation of the neural pipeline in this repository is due to Peng Qi and Yuhao Zhang, with help from Tim Dozat, who is the main contributor to the Tensorflow version of the tagger and parser. If you use the CoreNLP server, please cite the software package and the respective modules as described here ("Citing Stanford CoreNLP in papers"). The CoreNLP client is mostly written by Arun Chaganty, and Jason Bolton spearheaded merging the two projects together.
Adding Stanford CoreNLP To Big Data Pipelines (Apache NiFi 1.1/HDF 2.1) Part 1 of 2 - Hortonworks
The latest version of Stanford CoreNLP includes a server that you can run and access via REST API. CoreNLP adds a lot of features, but the one most interesting to me is Sentiment Analysis. This is big, it has models and all the JARS and server code. Giving the JVM Four Gigs of RAM to run makes it run nice. Port 9000 works for me.