Programming

Calling C# Methods from Sicstus Prolog through COM Interface

Written by on November 10, 2019 in Programming, Prolog with 0 Comments
Calling C# Methods from Sicstus Prolog through COM Interface

Recently I needed to make use of a C# library (which I had implemented a few years ago) from Sicstus Prolog. Calling C/C++ functions from Sicstus Prolog is fairly well documented. When it comes to C#/.NET, the official documentation recommends the PrologBeans library. After going through the documentation, I felt that it would not work for […]

Continue Reading

Conjugating Phrasal Verbs

Written by on October 13, 2019 in Natural Language Processing, Programming, Prolog with 0 Comments
Conjugating Phrasal Verbs

In the last article, I showed how to generate verb conjugations in the “iLexicon” system. Today, let us see how this idea can be extended to English “phrasal verbs”. According to Wikipedia: “a phrasal verb is a phrase such as turn down or ran into which combines two or three words from different grammatical categories: […]

Continue Reading

Generating Verb Conjugations

Written by on September 29, 2019 in Natural Language Processing, Programming, Prolog with 0 Comments
Generating Verb Conjugations

We have been taught in school that English language has different “tense” forms. To help you quickly recollect, I am listing them in the table below (the verb ‘sleep’ is used as example): No. Tense Form Example Sentence (3rd Person Singular Pronoun) 1 Simple Present She sleeps 2 Simple Past She slept 3 Simple Future […]

Continue Reading

Exploring Word Patterns

Written by on September 15, 2019 in Natural Language Processing, Programming, Prolog with 0 Comments
Exploring Word Patterns

Working with word patterns can be an exciting (and challenging) creative activity. Such patterns come into picture while playing word games, solving word puzzles or even writing poetry. It is precisely to facilitate such tasks that I am building my “iLexicon” system.  One popular word game goes like this: The first player utters a word, […]

Continue Reading

Poetry in Prolog: Part-2

Written by on September 1, 2019 in Natural Language Processing, Programming, Prolog with 0 Comments
Poetry in Prolog: Part-2

In an earlier post, I showed how Prolog can be used to generate poetry, making use of my “iLexicon”. I want to continue the discussion today by giving another example, this time based on the theme of sounds emitted by various animals and birds. As hinted in my previous articles, “iLexicon” stands for “Intelligent Lexicon”. […]

Continue Reading

Using Berkeley DB with Sicstus Prolog

Written by on August 18, 2019 in Programming, Prolog with 0 Comments
Using Berkeley DB with Sicstus Prolog

One of the nice features of Sicstus Prolog is the support for storing Terms externally in a Berkeley DB database. Since we can control how the terms are indexed in the database, it is possible to store and retrieve a large amount of Terms (the limit is 2^32-1) fairly efficiently. This can be useful when we work in a […]

Continue Reading

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

Top