Prolog

Visual Prolog has its roots in Turbo Prolog, which was popularized by Borland in the mid 1980s. It is developed and supported by PDC A/S, Denmark. So how is Visual Prolog different from other Prolog implementations out there, for example, SWI-Prolog or Sicstus Prolog? Here are the key differences: 1) It is not an ISO Prolog […]

WH-Questions are questions that begin with the following words: – Who (“Who came here yesterday?”) – What (“What is the goal of this project?”) – When (“When can I visit my parents?”) – Where (“Where did he go?”) – Why (“Why is everyone running away?”) – Which (“Which is the book you recommend?”) – How […]

iLexicon is an “intelligent” dictionary that can be used to build Natural Language applications. I have two implementations, one in Lisp and another in Prolog. Both implementations are memory-based, in order to speed up performance. I have written several articles referencing it, for example see this. LiteDB is a NoSQL database for .NET. I […]

The iLexicon system can handle active/passive voice conversion of fairly complex English sentences. I gave examples of the underlying verb conjugation mechanism in this article and this one. Today, I am going to give examples of the conversion of complete sentences. Here is an example of active to passive voice conversion: The above is a snapshot […]

In my earlier article, I showed how the iLexicon system can generate verb conjugations based on <Verb, Tense, Person, Number> quadruple. For the 16 tense forms discussed in that article, the verb conjugations were generated in “active” voice. We all know that “transitive” verbs can be expressed in both “active” and “passive” voice. For example, […]

Linda, originally proposed by Nicholas Carriero and David Gelernter, is a model of process communication using a small set of well-defined primitives, operating on a tuple space. Interestingly, Sicstus Prolog comes with a library that implements Linda (both Server and Client). I played with it a little bit and really enjoyed it. In this article, I would […]

In the previous article, I showed how we can use ATNs for extracting key information from natural language text. I also pointed out in that article that Definite Clause Grammars (DCG) are a more compact formalism for doing this. That will be the focus of today’s article. For a nice introduction to DCG, read this. […]

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 […]

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: […]

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 […]
Recent Comments