Class GeneratorFactory
Example of an XML descriptor:
<featureGenerators name="namefind"> <generator class="opennlp.tools.util.featuregen.CachedFeatureGeneratorFactory"> <generator class="opennlp.tools.util.featuregen.WindowFeatureGeneratorFactory"> <int name="prevLength">2</int> <int name="nextLength">2</int> <generator class="opennlp.tools.util.featuregen.TokenClassFeatureGeneratorFactory"/> </generator> <generator class="opennlp.tools.util.featuregen.WindowFeatureGeneratorFactory"> <int name="prevLength">2</int> <int name="nextLength">2</int> <generator class="opennlp.tools.util.featuregen.TokenFeatureGeneratorFactory"/> </generator> <generator class="opennlp.tools.util.featuregen.DefinitionFeatureGeneratorFactory"/> <generator class="opennlp.tools.util.featuregen.PreviousMapFeatureGeneratorFactory"/> <generator class="opennlp.tools.util.featuregen.BigramNameFeatureGeneratorFactory"/> <generator class="opennlp.tools.util.featuregen.SentenceFeatureGeneratorFactory"> <bool name="begin">true</bool> <bool name="end">false</bool> </generator> </generator> </featureGenerators>
Each XML element is mapped to aGeneratorFactory.AbstractXmlFeatureGeneratorFactory
which
is responsible to process the element and create the specified
AdaptiveFeatureGenerator
. Elements can contain other
elements in this case it is the responsibility of the mapped factory to process
the child elements correctly.
In the example above the generators element is mapped to the
AggregatedFeatureGeneratorFactory
which then
creates all the aggregated AdaptiveFeatureGenerator
s to
accomplish this it evaluates the mapping with the same mechanism
and gives the child element to the corresponding factories. All
created generators are added to a new instance of the
AggregatedFeatureGenerator
which is then returned.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic AdaptiveFeatureGenerator
create
(InputStream xmlDescriptorIn, FeatureGeneratorResourceProvider resourceManager) Creates anAdaptiveFeatureGenerator
from an provided XML descriptor.static Map<String,
ArtifactSerializer<?>> extractArtifactSerializerMappings
(InputStream xmlDescriptorIn) getDescriptorElements
(InputStream xmlDescriptorIn) Provides a list with all the elements in the xml feature descriptor.
-
Constructor Details
-
GeneratorFactory
public GeneratorFactory()
-
-
Method Details
-
create
public static AdaptiveFeatureGenerator create(InputStream xmlDescriptorIn, FeatureGeneratorResourceProvider resourceManager) throws IOException Creates anAdaptiveFeatureGenerator
from an provided XML descriptor.Usually this XML descriptor contains a set of nested feature generators which are then used to generate the features by one of the opennlp components.
- Parameters:
xmlDescriptorIn
- theInputStream
from which the descriptor is read, the stream remains open and must be closed by the caller.resourceManager
- the resource manager which is used to resolve resources referenced by a key in the descriptor- Returns:
- created feature generators
- Throws:
IOException
- if an error occurs during reading from the descriptorInputStream
-
extractArtifactSerializerMappings
public static Map<String,ArtifactSerializer<?>> extractArtifactSerializerMappings(InputStream xmlDescriptorIn) throws IOException - Throws:
IOException
-
getDescriptorElements
Provides a list with all the elements in the xml feature descriptor.- Parameters:
xmlDescriptorIn
- the xml feature descriptor- Returns:
- a list containing all elements
- Throws:
IOException
- if the givenInputStream
cannot be openInvalidFormatException
- if xml is not well-formed
-