Example usage for opennlp.tools.postag POSModel getPosModel

List of usage examples for opennlp.tools.postag POSModel getPosModel

Introduction

In this page you can find the example usage for opennlp.tools.postag POSModel getPosModel.

Prototype

@Deprecated
public MaxentModel getPosModel() 

Source Link

Usage

From source file:de.tudarmstadt.ukp.dkpro.core.opennlp.OpenNlpPosTagger.java

@Override
public void initialize(UimaContext aContext) throws ResourceInitializationException {
    super.initialize(aContext);

    modelProvider = new CasConfigurableProviderBase<POSTagger>() {
        {//w ww .j a  va2  s. c  om
            setDefault(VERSION, "20120616.0");
            setDefault(GROUP_ID, "de.tudarmstadt.ukp.dkpro.core");
            setDefault(ARTIFACT_ID,
                    "de.tudarmstadt.ukp.dkpro.core.opennlp-model-tagger-${language}-${variant}");

            setDefault(LOCATION, "classpath:/de/tudarmstadt/ukp/dkpro/core/opennlp/lib/"
                    + "tagger-${language}-${variant}.bin");
            setDefault(VARIANT, "maxent");

            setOverride(LOCATION, modelLocation);
            setOverride(LANGUAGE, language);
            setOverride(VARIANT, variant);
        }

        @Override
        protected POSTagger produceResource(URL aUrl) throws IOException {
            InputStream is = null;
            try {
                is = aUrl.openStream();
                POSModel model = new POSModel(is);

                if (printTagSet) {
                    List<String> tags = new ArrayList<String>();
                    for (int i = 0; i < model.getPosModel().getNumOutcomes(); i++) {
                        tags.add(model.getPosModel().getOutcome(i));
                    }
                    Collections.sort(tags);

                    StringBuilder sb = new StringBuilder();
                    sb.append("Model contains [").append(tags.size()).append("] tags: ");

                    for (String tag : tags) {
                        sb.append(tag);
                        sb.append(" ");
                    }
                    getContext().getLogger().log(INFO, sb.toString());
                }

                return new POSTaggerME(model);
            } finally {
                closeQuietly(is);
            }
        }
    };

    mappingProvider = new MappingProvider();
    mappingProvider.setDefault(MappingProvider.LOCATION, "classpath:/de/tudarmstadt/ukp/dkpro/"
            + "core/api/lexmorph/tagset/${language}-${tagger.tagset}-tagger.map");
    mappingProvider.setDefault(MappingProvider.BASE_TYPE, POS.class.getName());
    mappingProvider.setDefault("tagger.tagset", "default");
    mappingProvider.setOverride(MappingProvider.LOCATION, mappingLocation);
    mappingProvider.setOverride(MappingProvider.LANGUAGE, language);
    mappingProvider.addImport("tagger.tagset", modelProvider);

}