top of page

Natural Language Processor

A simplified view of the language processor can be seen in the diagram below. It is not a standard 'parser' in as much as the output is not a 'parse tree'. Though there is an element of tree structuring at the lower levels of the process, the more important and complex tasks of identifying the entities being 'talked about' in the sentence and the relationships between them takes over

ProcessFlow.png

The state machines allow for and use a mixture of left-to-right (normal reading order) processing and dependency satisfaction processing. To give a simple example the sentence:

"James likes Mary and John likes Jane"

might on left-to-right reading start to be interpreted as "James likes Mary and John" but this leaves a dangling "likes Jane" and so we switch to trying to satisfy the dependency for the second clause to have a subject and can arrive at "James likes Mary", "John likes Jane"

As noted the output of the system is a graph (or part of a graph) an example is shown below, for the sentence:

"Mike's greasy fish and chips went cold before he could eat them"

MikeFishChips.png

The diagram shows some of the relationships that are extracted as part of the processing. The fish and chips are identified as a collection of objects and graphed as a collection with links to the members. The fish and chips are identified as being owned by Mike and appropriate links added. Also the "fish and chips" are the subject of the sentence - it  is they that have gone cold, not Mike.

bottom of page