A computing machinery device (source parser) for natural language applications that accepts a digitally encoded (unstructured) natural language (NL) source text and transforms it to output a structured semantically-interpretable syntactic representation (SISR) of said text,
- wherein SISR is a structured representation of standard templates and fields, wherein each of the existent clauses of the said NL text is represented in a single SISR entry, wherein each clause of the said existent clauses is represented in its complete, independent and declarative form and in the active voice, and in a complement-free manner and without the linking expressions and the conjunctions external to the clause and represented also in terms of SISR units, wherein a unit comprises one or more words able to be associated together to represent a grammatical function as noun, verb, preposition, verbal phrase, adjective, comparative adjective, superlative adjective, superlative adverb, comparative adverb, or copula,
- and wherein each SISR entry comprises:
- an entry identifier;
- a clause of the said existent clauses represented in terms of the said units in a syntax template;
- the complements of the clause of the said existent clauses, represented in terms of the said units;
- and
- annotations;
- wherein the said annotations are data comprising information related to the SISR entry and its components,
- wherein the said source parser comprises:
- a processor (lexical analyzer) configured to receive the said text and to generate a stream of words and a grammatical type for each word,
- a processor (SISR unit tagger) configured to receive the said stream of words with their associated grammatical types and to generate a stream of SISR units,
- wherein the SISR unit tagger is configured to group the words that constitute a grammatical type into a unit and to tag the unit with the said type upon receiving the said stream of words,
- the SISR unit tagger further configured to add to the said unit any elided word or a variable to replace the word in case the word is not known, and to add to the stream of SISR units any elided unit, or a variable to replace the unit in case the unit is not known, the SISR unit tagger further configured to replace anaphors by their referred back units;
- and
- a processor (clause extractor) configured to receive the said stream of SISR units and to analyze them and to identify the clauses existent in the said source text and to generate an SISR for each clause,
- wherein the clause extractor is configured to identify the said clauses as one of independent clause, dependent clause or noun clause,
- the clause extractor further configured to identify complements, conjunctions and linking expressions associated with each clause,
- the clause extractor further configured to complete the clauses,
- the clause extractor further configured to add new clauses to cover for lost information resulting from turning the clauses of the source text into declarative form,
- the clause extractor further configured to construct one or more clauses out of verbal phrases of the source text,
- the clause extractor further configured to replace said verbal phrases by noun units references pointing out to SISR entries where the clauses made out of said verbal phrases are installed,
- the clause extractor further configured to extract the clauses embedded in noun units.