Nlp4Net.NlpLib Namespace

NLP for .NET is built with .NET technologies and can be used directly from C#, Visual Basic.NET or ASP.NET.

Nlp4Net.NlpLib namespace contains .NET classes for natural language recognition. Please add a reference to NlpLib.dll to your project.

How to start?

Read the documentation.
You need only 5 classes to integrate Reed-Kellogg syntax functionality in your application: Lexeme, Word, SyntaxNode, Utterance and NLParser. The first 4 hold the data, the last one does actual processing.

SpellChecker and WordDictionary(T) can be used independently.

Review code samples.


  1. How to check spelling with NLP for .NET
  2. How to implement English syntax parser.
  3. How to find part of speech.
  4. How to build a list of keywords for a topic.
  5. How to search direct answers for a natural language question.

Understand basic principals of Reed-Kellogg diagramming. If you are not familiar with Reed-Kellogg diagramming, please invest some time because parsing is based on Reed-Kellogg syntax.




Class Description
Nlp4Net class Lexeme Associates a string of characters with words.
Nlp4Net class NLParser Natural language parser.
Nlp4Net class SpellChecker Iimplements spell-checking and autocomplete algorithms for your dictioaries.
Nlp4Net class SyntaxNode Describes Reed-Kellogg syntax in a form of tree graph.
Nlp4Net class Word Contains word syntax information.
Nlp4Net class WordDictionary(T) Generic helps to create custom dictionaries.
Nlp4Net class Utterance Associates a string of lexemes with Reed-Kellogg tree syntax graph.



Interface Description
Nlp4Net interface IUserData Allows you to attach your arbitrary data to Nlp4Net objects.
Nlp4Net interface INormalizer Performs string normalization.



Delegate Description
Nlp4Net delegate OnLexemeEventHandler Fired when Lexeme is ready.
Nlp4Net delegate OnUtteranceEventHandler Fired when Utterance is ready.



Enumeration Description
Nlp4Net enumeration Lexeme.LexType 3 possible Lexeme types.
Nlp4Net enumeration PartOfSpeech Part of speech.
Nlp4Net enumeration RKRole Reed-Kellogg syntax role.
Nlp4Net enumeration RKStruct Reed-Kellogg syntax struct (can appear on a pedestal or tower).
Nlp4Net enumeration SpellChecker.Options Optional flags for spell-checker.
Nlp4Net enumeration SyntaxNode.Flag Additional hints to simplify utterance syntax processing.
Nlp4Net enumeration SyntaxNode.Traverse Specifies processing direction: up or down the syntax tree.
Nlp4Net enumeration SyntaxTag Optional word syntax information.
Nlp4Net enumeration Utterance.Flag Hints to simplify Utterance processing.
Nlp4Net enumeration Word.FragmentFlags Describes fragments of compound words.