Class CoreNLPNERecogniser

  • All Implemented Interfaces:
    NERecogniser

    public class CoreNLPNERecogniser
    extends java.lang.Object
    implements NERecogniser
    This class offers an implementation of NERecogniser based on CRF classifiers from Stanford CoreNLP. This NER requires additional setup, due to runtime binding to Stanford CoreNLP. See Tika NER Wiki for configuring this recogniser.
    See Also:
    NERecogniser
    • Field Detail

      • NER_3CLASS_MODEL

        public static final java.lang.String NER_3CLASS_MODEL
        See Also:
        Constant Field Values
      • NER_4CLASS_MODEL

        public static final java.lang.String NER_4CLASS_MODEL
        See Also:
        Constant Field Values
      • NER_7CLASS_MODEL

        public static final java.lang.String NER_7CLASS_MODEL
        See Also:
        Constant Field Values
      • DEFAULT_MODEL_PATH

        public static final java.lang.String DEFAULT_MODEL_PATH
        default Model path
        See Also:
        Constant Field Values
      • ENTITY_TYPES

        public static final java.util.Set<java.lang.String> ENTITY_TYPES
    • Constructor Detail

      • CoreNLPNERecogniser

        public CoreNLPNERecogniser()
      • CoreNLPNERecogniser

        public CoreNLPNERecogniser​(java.lang.String modelPath)
        Creates a NERecogniser by loading model from given path
        Parameters:
        modelPath - path to NER model file
    • Method Detail

      • isAvailable

        public boolean isAvailable()
        Description copied from interface: NERecogniser
        checks if this Named Entity recogniser is available for service
        Specified by:
        isAvailable in interface NERecogniser
        Returns:
        true if model was available, valid and was able to initialise the classifier. returns false when this recogniser is not available for service.
      • getEntityTypes

        public java.util.Set<java.lang.String> getEntityTypes()
        Gets set of entity types recognised by this recogniser
        Specified by:
        getEntityTypes in interface NERecogniser
        Returns:
        set of entity classes/types
      • recognise

        public java.util.Map<java.lang.String,​java.util.Set<java.lang.String>> recognise​(java.lang.String text)
        recognises names of entities in the text
        Specified by:
        recognise in interface NERecogniser
        Parameters:
        text - text which possibly contains names
        Returns:
        map of entity type -> set of names
      • main

        public static void main​(java.lang.String[] args)
                         throws java.io.IOException,
                                com.github.openjson.JSONException
        Throws:
        java.io.IOException
        com.github.openjson.JSONException