OpenNLP Named Entity Recogniser (NER) not recognising money

160 Views Asked by At

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'
1

There are 1 best solutions below

0
On

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.