Package com.artisol.teneo.engine.core.inputprocessor
input processor chain
that maintains an ordered sequence of one or more
input processors
.
A user input text is processed
by an
input processor chain in order to convert it into one or more
sentences
(each containing a number of
words
), and to optionally generate additional
annotations
.
The input processor chain passes the user input text, the sentences, and the annotations data from one input processor to the next in the chain, so that each processor can utilize the data generated by the previous processor and extend or modify it.
The InputProcessorChain
also provides a so called
"simplifier
" that provides functionality to
bring a given text into some normalized form. The simplifier is customizable through a plug-in mechanism
(see method InputProcessorChain.setSimplifier(com.artisol.teneo.engine.core.inputprocessor.SimplifierI)
).
Usage pattern:
class InputProcessorA extends InputProcessor { // add implementations of abstract methods } class InputProcessorB extends InputProcessor { // add implementations of abstract methods } DictionaryI dictionary = new SimpleDictionary(); // optional, depends on processor imlementations SimplifierI simplifier = new SimplifierImpl(); InputProcessorChain ipc = new InputProcessorChain(); simplifier.initialize(properties, locale); ipc.setSimplifier(simplifier); ipc.setProcessors(Arrays.<InputProcessor>asList(new InputProcessorA(), new InputProcessorB())); Properties initProperties = new Properties(); initProperties.setProperty(InputProcessorChain.PROPERTY_LOCALE_LANGUAGE, localeId); // mandatory property! ipc.initializeProcessors(initProperties, dictionary); for (String userInput : userInputs) { List<SentenceI> sentences = new ArrayList<SentenceI>(); AnnotationsI annotations = new Annotations(); ipc.process(userInput, Collections.EMPTY_MAP, new Properties(), sentences, annotations); // add actions here that utilize the sentences and annotations } ipc.shutdown();
-
Interface Summary Interface Description AnnotationsI A collection that containsAnnotation
objects, with no duplicates.SentenceI This interface represents a sentence identified in the user input text.WordDataI This interface defines the data associated with a word identified in asentence
. -
Class Summary Class Description Annotation AnAnnotation
represents additional data associated with words in thesentences
, e.g.