NLP intro


NLP for .NET is a natural language processing software for .NET developers. Natural language parser allows lexical and syntax parsing of English text.

NLP for .NET goal.

Main goal of Natural Language Processing for .NET is a language understanding for computer in the way human beings do. 


Humans are quite flexible creatures and can adjust their language down to the perforated cards, but does it make the life easier? It would be much better if a computer were able to understand natural language. The major goal of NLP for .NET. is to help to adjust the computer in a favor of human world. As Microsoft Natural Language Processing group says, "This goal is not easy to reach." But it is interesting and challenging task.

 

What can be done with NLP for .NET?

Natural Language document processing

  1. automatic text summarization and document simplification
  2. breaking text into syntax fragment (like: subject -- verb, subject -- verb -- object)
  3. convert plain text into syntax graphs
  4. build a list of key words for the text

Natural Language Search

  1. natural language query: look up a direct answer for the question
  2. search a phrase by "syntax + semantic" pattern
  3. search a phrase by "syntax + key words" template
  4. find documents with same theme

Human -> Software interaction

  1. natural language recognition: process input in form of unrestricted natural language

Text processing

  1. spell-checker
  2. Reed-Kellogg syntax
  3. Natural language question-answer
  4. Keyword builder


How it works.

Communication process between software and human is asymmetric for the computer program. While producing human readable output is relatively simple and straightforward task for a computer, consuming user input in a form of unrestricted natural language is in orders more difficult. A lot of things have to happen before string of characters can make sense for a program. It is a task of immense complexity for computer.

Language is like a key to open the door in a human world. Natural Language Parser helps to use the key. It does lexical and syntactical processing preparing the Utterance for semantic analysis.

Natural Language Parser wraps lexical and syntax parsers.

Lexical parser

NLP for .NET has a lexical parser to split plain text to lexemes. It supports real size dictionary with hundred thousands of words, compound words, hyphenation, carrions and more.

It allows incorporation of non-lexical information in the processed stream like text formatting, DTMF input or arbitrary user data.

NLP for .NET accepts word ambiguity. It is important for integration with OCR or speech recognition when word cannot be exactly recognized.

Syntax parser

NLP for .NET comes with English syntax parser based on Reed-Kellogg grammar.

Reed-Kellogg grammar belongs to Type-0 in Chomsky classification and has the scalability of a human syntax, not reachable in context-free grammars.

 

NLP for .NET uses Reed-Kellogg diagram in a form of Reed-Kellogg tree graph. Reed-Kellogg tree graph is essentially a classical Reed-Kellogg diagram but with enforced tree structure.

Classical Reed-Kellogg diagram is perfect for human understanding but it's less attractive than tree-based graphs for computer processing.  Reed-Kellogg tree representation gives the computer program all the advantages of classical Reed-Kellogg diagram combined with the simplicity of tree graphs.

Syntax is important but still intermediary step in natural language processing. It is as good as it helps the subsequent semantic layer to acquire the information. Variations of Chomsky phrase marker are quite popular methods to describe syntax. Another excellent but may be less known grammar is Tesnière dependency grammar. There are also other types of grammars.

NLP for .NET can be used even if you need non Reed-Kellogg grammar. Reed-Kellogg tree graph is easy to convert into another syntax as long as it is a tree based graph.

 

NLP for .NET syntax parser allows ambiguity. It is important feature to allow semantic and pragmatic layers to make the decision about the meaningful interpretation.

More information:

Why Reed-Kellogg diagrams?

©2006 1AiWay. All rights reserved. Contact   Download

1AiWay