“THE” Programming Language for Natural Language

Wikipedia entry for NLP++:

Text-Based NLP

Just like HTML or PHP, NLP++ is a text-based language. These code files can be edited with any text editor. If you want something more powerful, use our online NLP++ text editor with syntax highlighting or our full-blown VisualText IDE.

Syntax, Semantics, Knowledge

Most systems have separate processes for syntax (sentence structure), semantics (meaning), and the like. Not NLP++. You can mix and match anything anywhere, allowing for more powerful analyzers.

A Standard is Born

We see the future of NLP and it has a standard language: NLP++. It is powerful, robust, and can do anything thinkable.

Trees: The Structure of Language

Sentence Diagramming

If you ever diagrammed a sentence in school, NLP++ can do the same. Knowing the structure of language allows computers to know what words go together. There are noun phrases, verb phrases, prepositional phrases and the like. Don’t know what those are? Don’t worry! Our TAIParse analyzer will do the work for you and you can go from there!

Conceptual Grammar: The Structure of Knowledge

Bookkeeping on the Fly

It’s great to diagram the structure of a sentence, but what does a sentence mean? The sentence “John kicked the ball” is the same as “The ball was kicked by John”. In order to solve this, you need to find out who did what to whom, no matter the sentence structure. NLP++ has a knowledge base called “Conceptual Grammar” which can capture meaning as you go. So if you are tracking companies throughout a text, you can build knowledge for each sentence and put the companies in the knowledge base so that when you run across the word “it”, NLP++ knows what “it” should be.

NLP++ Rules: The Heart of Matching

Total Control

The syntax of NLP++ provides you with powerful functions and notations allowing you to define what you need in order to process text. You can define the context to match, the pattern to match, build meaning with that rule, and then produce a new tree if desired.

Total Flexibility: Mix and Match

In the example to the left, you can put any meaning to any rule at any time. Once a rule is matched, you can create new trees and, at the same time, label meaning on parts of the matched pattern.

Total Range: Generic or Specific

Another important part of NLP++ analyzers is their ability to make “general” rules. Notice that the rule to the left uses “direction”, which could be “up”, “down” or other phrases, and this one rule matches them all.

Step-by-Step: Analyzers that Make Sense


One of the great problems with text analyzers is trying to make sense of the flow inside an analyzer. Not with NLP++. Each pass can embody a clear, modular set of rules such as money, dates, companies, events, and output. Â Each text analyzer is made of a sequence of files containing the rules or “NLP++ language”. Â Each file, or pass, builds on the previous passes. Â And with the VisualText IDE, you can see exactly what the analyzer has matched, each step along the way.

Conclusion : Requirement for Every Programmer

No longer impossible

Every programmer knows how to code and every programmer knows one or more human languages. And that is why NLP++ has been picked up by non-linguists and non-programmers alike.

 5,055 total views,  2 views today