2015-07-20 2 views
0

J'utilise UIMA en combinaison avec UIMAfit et dkpro et le StanfordParser pour analyser des phrases en anglais.UIMA/dkpro: Obtenir le type de conjonction

Je peux créer des arborescences de dépendance sans aucun problème. Pour les conjonctions "et"/"ou", j'obtiens une annotation avec la classe CONJ, qui est une sous-classe de Dependency. A partir de maintenant, je n'ai pas découvert, comment vérifier si la conjonction trouvée est une conjonction "ET" ou "OU".

Est-ce que quelqu'un sait comment résoudre ce problème? J'ai vu des exemples où les dépendances "conj_and" et "conj_or" sont affichées, mais je ne vois pas d'où elles viennent. http://nlp.stanford.edu/software/dependencies_manual.pdf

Merci à l'avance

Une partie du code pour la visualisation:

// CONJ a; 
// StringBuilder sb 
Token dependent = a.getDependent(); 
Token governor = a.getGovernor(); 

sb.append("Dependent: "); 
sb.append(dependent); 
sb.append(", "); 

sb.append("Governor: "); 
sb.append(governor); 

// How to check type conj_and/conj_or? 

Répondre

2

La méthode pour obtenir l'étiquette de la relation de dépendance est appelée

getDependencyType() 

esprit que le conj_or est un "dépendance effondrée". Si vous voulez les obtenir, vous devez définir explicitement le mode de dépendance lors de l'appel du composant DKPro Core StanfordParser, par ex. en utilisant COLLAPSED ou CC_PROPAGATED peut-être:

AnalysisEngineFactory.createEngineDescription(StanfordParser.class, 
    StanfordParser.PARAM_MODE, StanfordParser.DependenciesMode.COLLAPSED) 

Le paramètre par défaut pour ce paramètre est TREE.

Voir aussi:

Divulgation: Je suis membre de l'équipe de base DKPro.

+0

Merci beaucoup, exactement ce que je cherchais! – schlimpf