Resumate simulates a dialogue between computer and user. It asks the user questions and from the responses gathers the required data for the resume. This is how it works.
The user converses with the Prompter (where we receive input from the user) with the given speech response being converted by a speech to text processor to a text based response which is then passed to a natural language processor that creates a tagged token stream which is passed to an interpreter.
In the interpreter the earlier created tagged token stream goes through the main interface/module and inference engines. The main module manages all of the inference engines (IEs). It is the interface between the prompter and the IE, passes along the input from the user to all of the IEs and passes the questions from each IE to the prompter. Each inference engine represents a different section of the resume that requires complex processing to extract useful information from the input given by the user.
The sections that Resumate is scheduled to process are Education, Skills and Projects. The Inference Engines perform analysis on the tokens received and based on any information collected from this analysis an internal representation object (our data object e.g. Degree) is created. The system applies some reasoning or evaluation on the object to check if it is complete (has all the properties required) or more information is required (user will converse with the prompter again to supply this).
Once all sections have been queried, the data objects in each IE will then be passed to the Resume Formatter which will output that information in a document for the user.