Word Network

When the engine recognizes a common word and hands back a Lexeme, that lexeme exists as a node in a network of related lexemes. Relationships between lexemes can include different conjugations of a verb (e.g. x is a past tense of y), opposites (e.g. x is opposite of y), adjective forms (comparative of, superlative of, ...), connections between verb, noun, adjective and adverb forms of a root (e.g. quickly is adverb form of adjective quick).

This is one reason why it's important for each meaning of a word to be represented as a separate Lexeme - each meaning exists in a separate network of related lexemes.


You can use the word network provided to conjugate verbs or to find the noun form of a verb. For example, you create a rule that expects the past tense of a verb 'I printed an invoice' but when you reply back to the user you want to reply 'Which invoice did you print?'. In code this might be:

st.Say('Which invoice did you ' + verb.PresentPlural.Text);

As you can see Natural Language Generation is intimately related to Natural Language Parsing and the word-network is an important element of both.