Natural Language Processing

Generating Poetry in Prolog

Written by on August 4, 2019 in Natural Language Processing, Programming, Prolog with 0 Comments
Generating Poetry in Prolog

In an earlier article, I showed how we can generate poetry (with limitations, of course!) using my iLangGen framework. That implementation (in Lisp) made use of iLexicon, a large dictionary of English words, which I have been building over the years. I subsequently ported iLexicon to Prolog and it now works well in SICStus Prolog. […]

Continue Reading

Custom Text Analysis Using TextRazor’s Prolog Engine

Written by on July 21, 2019 in LISP, Natural Language Processing, Programming, Prolog with 0 Comments
Custom Text Analysis Using TextRazor’s Prolog Engine

This is the third part in the series on information extraction from unstructured text. In the first part, we saw how MeaningCloud allows us to specify complex rules to identify custom categories through their Deep Categorization API. The second part covered spaCy’s pattern matcher. Today, I would like to discuss how we can use TextRazor’s “Prolog Engine” to perform […]

Continue Reading

Information Extraction Using spaCy’s Pattern Matcher

Written by on July 11, 2019 in Homeopathy, Natural Language Processing, Programming, Python with 0 Comments
Information Extraction Using spaCy’s Pattern Matcher

In the previous article, I explored the Deep Categorization capabilities of MeaningCloud. We saw how a powerful rule-based pattern matching language allowed us to map fragments of unstructured text to custom categories. In today’s post, I want to go through spaCy’s pattern matching capabilities. The version I am using is 2.0.13. Some newer features are available […]

Continue Reading

Text Analysis Using MeaningCloud’s Deep Categorization API

Written by on June 24, 2019 in Homeopathy, Natural Language Processing, Programming with 0 Comments
Text Analysis Using MeaningCloud’s Deep Categorization API

MeaningCloud announced their premium offering “Deep Categorization” service quite recently. You can read about it in this nice blog by Blanca Galego. Compared to the canonical classification models that rely on machine learning using large data sets, MeaningCloud’s deep categorization models use hand-crafted rules that take advantage of “morphosyntactic, semantic and contextual information” to classify a piece […]

Continue Reading

TextContents[ ] Function in Mathematica 12

Written by on April 21, 2019 in Mathematica, Natural Language Processing, Programming with 0 Comments
TextContents[ ] Function in Mathematica 12

Mathematica 12 was released a few days ago.  It has been over a year since version 11.3 came out in March 2018. The long wait appears justified since the new release boasts of numerous improvements and new features across several areas. You may want to read this blog post by Stephen Wolfram. In the area of […]

Continue Reading

Book Review: Grammar as Science

Written by on April 7, 2019 in Book Review, Natural Language Processing, Uncategorized with 0 Comments

Title: Grammar as Science Author: Richard K. Larson Publisher: The MIT Press Year: 2010 I love studying English Grammar. That is one of the reasons I enjoy working in the area of NLP. Machine Learning techniques apart, I firmly believe that a good understanding of the conventional approaches to modelling syntax and semantics is essential […]

Continue Reading

Text Summarization APIs

Written by on March 3, 2019 in Natural Language Processing with 1 Comment

I talked about detecting Emotion from text in the last two articles. Another popular text analysis service is Text Summarization.  There are two approaches for summarization: Extractive summarization Abstractive summarization In the first approach, “Extractive Summarization”, the system extracts key sentences from the given text and puts them together to form a summary. There are no new […]

Continue Reading

Emotion Detection using ParallelDots API

Written by on February 24, 2019 in LISP, Natural Language Processing, Programming with 0 Comments
Emotion Detection using ParallelDots API

Last week, I showed how we can use IBM Natural Language Understanding API to identify emotions from given text. Today, I would like to run through the same examples, but using ParallelDots API service. There are wrappers in Java, Python, Ruby, C#, and PHP for accessing the REST service. However, I chose to write my own […]

Continue Reading

Identifying Emotions from Text

Written by on February 17, 2019 in Natural Language Processing, Programming, Python with 0 Comments
Identifying Emotions from Text

Identifying the predominant sentiment in unstructured text is used widely these days. There are several REST API services that allow you to submit a piece of text and get back the corresponding sentiment analysis. Meaningcloud, Aylien, Google’s Cloud Natural Language API, and  IBM Natural Language Understanding Service are just a few. Emotion detection, especially from facial […]

Continue Reading

Coreference Resolution in Stanford CoreNLP

Written by on February 10, 2019 in Natural Language Processing, Programming with 0 Comments
Coreference Resolution in Stanford CoreNLP

In the last article, I showed how we can use the neuralcoref library along with spaCy to do coreference resolution (examples involved anaphoric references). In today’s article, I want to try the same (well, almost) examples in Stanford CoreNLP engine and see how they compare. Since CoreNLP is a Java implementation, I chose to write the test […]

Continue Reading

Top