I am running a DKPRO UIMA pipeline with the OpenNLP Named Entity Recogniser running the following models: money, date, location, person. All of them work except money. Monetary items get identified but classified as dates. Here is an extract of my pipeline.
createEngineDescription(OpenNlpSegmenter.class),
createEngineDescription(OpenNlpPosTagger.class),
createEngineDescription(OpenNlpNamedEntityRecognizer.class,
OpenNlpNamedEntityRecognizer.PARAM_VARIANT, "money"),
createEngineDescription(OpenNlpNamedEntityRecognizer.class,
OpenNlpNamedEntityRecognizer.PARAM_VARIANT, "date"),
createEngineDescription(OpenNlpNamedEntityRecognizer.class,
OpenNlpNamedEntityRecognizer.PARAM_VARIANT, "location"),
createEngineDescription(OpenNlpNamedEntityRecognizer.class,
OpenNlpNamedEntityRecognizer.PARAM_VARIANT, "person"),
My gradle imports are
compile 'de.tudarmstadt.ukp.dkpro.core:de.tudarmstadt.ukp.dkpro.core.opennlp-model-ner-en-date:20100907.0'
compile 'de.tudarmstadt.ukp.dkpro.core:de.tudarmstadt.ukp.dkpro.core.opennlp-model-ner-en-location:20100907.0'
compile 'de.tudarmstadt.ukp.dkpro.core:de.tudarmstadt.ukp.dkpro.core.opennlp-model-ner-en-money:20100907.0'
compile 'de.tudarmstadt.ukp.dkpro.core:de.tudarmstadt.ukp.dkpro.core.opennlp-model-ner-en-person:20130624.1'
After experimenting with different text it became evident that the pipeline works but the 'money' model seems to only recognise $ value as money. Maybe it was only trained in one currency because it doesn't seem to recognise others. I tried EUR, €, and £. I will have to train my own model or create my own MoneyEntityRecogniser.