Package edu.upf.taln.dri.module.parser
Class MateParser
- java.lang.Object
-
- gate.util.AbstractFeatureBearer
-
- gate.creole.AbstractResource
-
- gate.creole.AbstractProcessingResource
-
- gate.creole.AbstractLanguageAnalyser
-
- edu.upf.taln.dri.module.parser.MateParser
-
- All Implemented Interfaces:
DRIModule
,gate.creole.ANNIEConstants
,gate.Executable
,gate.LanguageAnalyser
,gate.ProcessingResource
,gate.Resource
,gate.util.FeatureBearer
,gate.util.NameBearer
,Serializable
@CreoleResource(name="DRI Modules - Citation Aware MATE Parser") public class MateParser extends gate.creole.AbstractLanguageAnalyser implements gate.ProcessingResource, Serializable, DRIModule
Citation-aware Mate-tools parser (pos tagger, lemmatizer, dep parser and semantic role labeller) REF: https://code.google.com/p/mate-tools/- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static String
depInternalIdFeat
static String
depKindFeat
static String
depTargetIdFeat
static String
gateIdFeat
static String
lemmaFeat
static String
posFeat
static String
SRLpartRoodIdNFeat
static String
SRLpartSenseNFeat
static String
SRLpartTagNFeat
static String
SRLrootSenseFeat
-
Fields inherited from interface gate.creole.ANNIEConstants
ANNOTATION_COREF_FEATURE_NAME, DATE_ANNOTATION_TYPE, DATE_POSTED_ANNOTATION_TYPE, DEFAULT_FILE, DOCUMENT_COREF_FEATURE_NAME, JOB_ID_ANNOTATION_TYPE, LOCATION_ANNOTATION_TYPE, LOOKUP_ANNOTATION_TYPE, LOOKUP_CLASS_FEATURE_NAME, LOOKUP_INSTANCE_FEATURE_NAME, LOOKUP_LANGUAGE_FEATURE_NAME, LOOKUP_MAJOR_TYPE_FEATURE_NAME, LOOKUP_MINOR_TYPE_FEATURE_NAME, LOOKUP_ONTOLOGY_FEATURE_NAME, MONEY_ANNOTATION_TYPE, ORGANIZATION_ANNOTATION_TYPE, PERSON_ANNOTATION_TYPE, PERSON_GENDER_FEATURE_NAME, PLUGIN_DIR, SENTENCE_ANNOTATION_TYPE, SPACE_TOKEN_ANNOTATION_TYPE, TOKEN_ANNOTATION_TYPE, TOKEN_CATEGORY_FEATURE_NAME, TOKEN_KIND_FEATURE_NAME, TOKEN_LENGTH_FEATURE_NAME, TOKEN_ORTH_FEATURE_NAME, TOKEN_STRING_FEATURE_NAME
-
-
Constructor Summary
Constructors Constructor Description MateParser()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description int
annotateSentences(List<gate.Annotation> sentencesSorted, gate.Document doc, int t, gate.AnnotationSet citeAnnotationSet)
Annotate by means of the parser a set of sentencesvoid
execute()
Boolean
getCitancesEnabled()
String
getCiteSpanAnnotationSetToExclude()
String
getCiteSpanAnnotationTypeToExclude()
Integer
getExcludeThreshold()
String
getLemmaModelPath()
String
getParserModelPath()
String
getPostaggerModelPath()
String
getSentenceAnnotationSetToAnalyze()
String
getSentenceAnnotationTypeToAnalyze()
Set<String>
getSentenceIdsToAnalyze()
String
getSrlModelPath()
String
getTokenAnnotationSetToAnalyze()
String
getTokenAnnotationTypeToAnalyze()
gate.Resource
init()
static void
languageAwareAnnotationParsing(boolean isLangAware, Map<LangENUM,MateParser> parsersLangMap, gate.Document doc, gate.Annotation sentenceAnn, String sentAnnSet, String sentAnnType, String tokenAnnSet, String tokenAnnType)
static void
languageAwareAnnotationParsing(boolean isLangAware, Map<LangENUM,MateParser> parsersLangMap, gate.Document doc, List<gate.Annotation> sentenceAnnList, String sentAnnSet, String sentAnnType, String tokenAnnSet, String tokenAnnType)
Given a map of parsers instances for different languages, determine the majority language from the list of sentence annotations and parse all the sentence annotations by means of the parser for that language.static void
main(String[] args)
boolean
resetAnnotations()
Delete the annotations provided by a modulevoid
setCitancesEnabled(Boolean citancesEnabled)
void
setCiteSpanAnnotationSetToExclude(String citeSpanAnnotationSetToExclude)
void
setCiteSpanAnnotationTypeToExclude(String citeSpanAnnotationTypeToExclude)
void
setExcludeThreshold(Integer excludeThreshold)
void
setLemmaModelPath(String lemmaModelPath)
void
setParserModelPath(String parserModelPath)
void
setPostaggerModelPath(String postaggerModelPath)
void
setSentenceAnnotationSetToAnalyze(String sentenceAnnotationSetToAnalyze)
void
setSentenceAnnotationTypeToAnalyze(String sentenceAnnotationTypeToAnalyze)
void
setSentenceIdsToAnalyze(Set<String> sentenceIdsToAnalyze)
void
setSrlModelPath(String srlModelPath)
void
setTokenAnnotationSetToAnalyze(String tokenAnnotationSetToAnalyze)
void
setTokenAnnotationTypeToAnalyze(String tokenAnnotationTypeToAnalyze)
List<gate.Annotation>
sortSetenceList(gate.AnnotationSet sentences)
Given aAnnotationSet
instance, returns a sorted list of its elements.-
Methods inherited from class gate.creole.AbstractLanguageAnalyser
getCorpus, getDocument, setCorpus, setDocument
-
Methods inherited from class gate.creole.AbstractProcessingResource
addProgressListener, addStatusListener, cleanup, fireProcessFinished, fireProgressChanged, fireStatusChanged, getRuntimeParameterValues, getRuntimeParameterValues, interrupt, isInterrupted, reInit, removeProgressListener, removeStatusListener
-
Methods inherited from class gate.creole.AbstractResource
checkParameterValues, flushBeanInfoCache, forgetBeanInfo, getBeanInfo, getInitParameterValues, getInitParameterValues, getName, getParameterValue, getParameterValue, getParameterValues, removeResourceListeners, setName, setParameterValue, setParameterValue, setParameterValues, setParameterValues, setResourceListeners, toString
-
-
-
-
Field Detail
-
posFeat
public static final String posFeat
- See Also:
- Constant Field Values
-
lemmaFeat
public static final String lemmaFeat
- See Also:
- Constant Field Values
-
gateIdFeat
public static final String gateIdFeat
- See Also:
- Constant Field Values
-
depKindFeat
public static final String depKindFeat
- See Also:
- Constant Field Values
-
depTargetIdFeat
public static final String depTargetIdFeat
- See Also:
- Constant Field Values
-
depInternalIdFeat
public static final String depInternalIdFeat
- See Also:
- Constant Field Values
-
SRLpartTagNFeat
public static final String SRLpartTagNFeat
- See Also:
- Constant Field Values
-
SRLpartSenseNFeat
public static final String SRLpartSenseNFeat
- See Also:
- Constant Field Values
-
SRLpartRoodIdNFeat
public static final String SRLpartRoodIdNFeat
- See Also:
- Constant Field Values
-
SRLrootSenseFeat
public static final String SRLrootSenseFeat
- See Also:
- Constant Field Values
-
-
Method Detail
-
getSentenceAnnotationSetToAnalyze
public String getSentenceAnnotationSetToAnalyze()
-
setSentenceAnnotationSetToAnalyze
@RunTime @CreoleParameter(defaultValue="Analysis", comment="Set name of the annotation set where the sentences to parse are annotated") public void setSentenceAnnotationSetToAnalyze(String sentenceAnnotationSetToAnalyze)
-
getSentenceAnnotationTypeToAnalyze
public String getSentenceAnnotationTypeToAnalyze()
-
setSentenceAnnotationTypeToAnalyze
@RunTime @CreoleParameter(defaultValue="Sentence", comment="The type of sentence annotations") public void setSentenceAnnotationTypeToAnalyze(String sentenceAnnotationTypeToAnalyze)
-
getTokenAnnotationSetToAnalyze
public String getTokenAnnotationSetToAnalyze()
-
setTokenAnnotationSetToAnalyze
@RunTime @CreoleParameter(defaultValue="Analysis", comment="Set name of the annotation set where the token of the sentences to parse are annotated") public void setTokenAnnotationSetToAnalyze(String tokenAnnotationSetToAnalyze)
-
getTokenAnnotationTypeToAnalyze
public String getTokenAnnotationTypeToAnalyze()
-
setTokenAnnotationTypeToAnalyze
@RunTime @CreoleParameter(defaultValue="Token", comment="The type of token annotations") public void setTokenAnnotationTypeToAnalyze(String tokenAnnotationTypeToAnalyze)
-
getExcludeThreshold
public Integer getExcludeThreshold()
-
setExcludeThreshold
@RunTime @CreoleParameter(defaultValue="0", comment="The value of exclude threshold of the parser.") public void setExcludeThreshold(Integer excludeThreshold)
-
getCitancesEnabled
public Boolean getCitancesEnabled()
-
setCitancesEnabled
@CreoleParameter(defaultValue="false", comment="Make the parser aware of the presence of cite span annotations in order to properly manage while parsing sentences. If set to false, the parameters citeSpanAnnotationSetToExclude and citeSpanAnnotationTypeToExclude have no validity.") public void setCitancesEnabled(Boolean citancesEnabled)
-
getCiteSpanAnnotationSetToExclude
public String getCiteSpanAnnotationSetToExclude()
-
setCiteSpanAnnotationSetToExclude
@RunTime @CreoleParameter(defaultValue="Analysis", comment="The name of the annotation set that includes cite span annotaitons. Valid only if citancesEnabled is true.") public void setCiteSpanAnnotationSetToExclude(String citeSpanAnnotationSetToExclude)
-
getCiteSpanAnnotationTypeToExclude
public String getCiteSpanAnnotationTypeToExclude()
-
setCiteSpanAnnotationTypeToExclude
@RunTime @CreoleParameter(defaultValue="CitSpan", comment="The name of the annotation type of cite span annotaitons. Valid only if citancesEnabled is true.") public void setCiteSpanAnnotationTypeToExclude(String citeSpanAnnotationTypeToExclude)
-
getLemmaModelPath
public String getLemmaModelPath()
-
setSentenceIdsToAnalyze
@RunTime @CreoleParameter(defaultValue="", comment="The ids of all the sentence type annotations to parse. If empty or null all annotations of sentence type will be parsed.") public void setSentenceIdsToAnalyze(Set<String> sentenceIdsToAnalyze)
-
setLemmaModelPath
@RunTime @CreoleParameter(comment="Full path to the lemmatizer model.") public void setLemmaModelPath(String lemmaModelPath)
-
getPostaggerModelPath
public String getPostaggerModelPath()
-
setPostaggerModelPath
@RunTime @CreoleParameter(comment="Full path to the POS tagger model.") public void setPostaggerModelPath(String postaggerModelPath)
-
getParserModelPath
public String getParserModelPath()
-
setParserModelPath
@RunTime @CreoleParameter(comment="Full path to the dep parser model.") public void setParserModelPath(String parserModelPath)
-
getSrlModelPath
public String getSrlModelPath()
-
setSrlModelPath
@RunTime @CreoleParameter(comment="Full path to the semantic role labeller model.") public void setSrlModelPath(String srlModelPath)
-
init
public gate.Resource init()
- Specified by:
init
in interfacegate.Resource
- Overrides:
init
in classgate.creole.AbstractProcessingResource
-
execute
public void execute()
- Specified by:
execute
in interfacegate.Executable
- Overrides:
execute
in classgate.creole.AbstractProcessingResource
-
annotateSentences
public int annotateSentences(List<gate.Annotation> sentencesSorted, gate.Document doc, int t, gate.AnnotationSet citeAnnotationSet)
Annotate by means of the parser a set of sentences- Parameters:
sentencesSorted
- list of sentences to annotatedoc
- document the sentences belong tot
- threshold for the parser- Returns:
-
sortSetenceList
public List<gate.Annotation> sortSetenceList(gate.AnnotationSet sentences)
Given aAnnotationSet
instance, returns a sorted list of its elements. Sorting is done by position (offset) in the document.- Parameters:
sentences
-Annotation
- Returns:
- Sorted list of
Annotation
instances.
-
languageAwareAnnotationParsing
public static void languageAwareAnnotationParsing(boolean isLangAware, Map<LangENUM,MateParser> parsersLangMap, gate.Document doc, List<gate.Annotation> sentenceAnnList, String sentAnnSet, String sentAnnType, String tokenAnnSet, String tokenAnnType)
Given a map of parsers instances for different languages, determine the majority language from the list of sentence annotations and parse all the sentence annotations by means of the parser for that language. If the list of sentence annotations is null or empty all the annotation of the sentence type specified are parsed.- Parameters:
isLangAware
- if false, always the English parser will be usedparsersLangMap
-doc
-sentenceAnnList
-sentAnnSet
-sentAnnType
-tokenAnnSet
-tokenAnnType
-- Throws:
ResourceAccessException
-
languageAwareAnnotationParsing
public static void languageAwareAnnotationParsing(boolean isLangAware, Map<LangENUM,MateParser> parsersLangMap, gate.Document doc, gate.Annotation sentenceAnn, String sentAnnSet, String sentAnnType, String tokenAnnSet, String tokenAnnType)
-
main
public static void main(String[] args)
-
resetAnnotations
public boolean resetAnnotations()
Description copied from interface:DRIModule
Delete the annotations provided by a module- Specified by:
resetAnnotations
in interfaceDRIModule
- Returns:
-
-