Details
-
Improvement
-
Status: Closed
-
Blocker
-
Resolution: Won't Fix
-
1.8.3
-
None
-
None
Description
When working on OPENNLP-1154, I noticed this.
In GeneratorFactory.extractArtifactSerializerMappings(), it specifies concrete XML tag names:
for (int i = 0; i < allElements.getLength(); i++) { if (allElements.item(i) instanceof Element) { Element xmlElement = (Element) allElements.item(i); String dictName = xmlElement.getAttribute("dict"); if (dictName != null) { switch (xmlElement.getTagName()) { case "wordcluster": mapping.put(dictName, new WordClusterDictionary.WordClusterDictionarySerializer()); break; case "brownclustertoken": mapping.put(dictName, new BrownCluster.BrownClusterSerializer()); break; case "brownclustertokenclass"://, ; mapping.put(dictName, new BrownCluster.BrownClusterSerializer()); break; case "brownclusterbigram": //, ; mapping.put(dictName, new BrownCluster.BrownClusterSerializer()); break; case "dictionary": mapping.put(dictName, new DictionarySerializer()); break; } } String modelName = xmlElement.getAttribute("model"); if (modelName != null) { switch (xmlElement.getTagName()) { case "tokenpos": mapping.put(modelName, new POSModelSerializer()); break; } } } }
Instead, we'd better let FeatureGeneratorFactories implement a method that returns mapping (Map<String, ArtifactSerializer<?>>) and in GeneratorFactory.extractArtifactSerializerMappings(), the framework just calls the method of FeatureGeneratorFactories, which are found in XML config.
Attachments
Issue Links
- Blocked
-
OPENNLP-1154 change the XML format for feature generator config in NameFinder and POS Tagger
- Resolved
- links to