2017-09-07 3 views
0

J'essaie d'obtenir le mot principal de certaines phrases. Mais je fais face No head rule defined exception pour les différents types de phrases. Comme certains types de phrases ne sont pas si importants pour moi, je peux ignorer tham par une clause if. Mais, par exemple, AP (Phrase Adjective) est important pour moi et je voudrais avoir le mot principal de telles phrases. Toute aide ou idée à ce sujet?Aucune règle d'en-tête définie pour AP lors de l'analyse d'une phrase à l'aide de Stanford CoreNLP

J'utilise le code suivant:

HeadFinder hf = new UniversalSemanticHeadFinder(); 
    hf.determineHead(oneTree, mainTree); 

J'utilise la dernière version de Stanford CoreNLP (3.8) de mon code java et le code fonctionne parfaitement avec des phrases en anglais.

Best,

Répondre

0

Il semble que vous utilisez un autre ensemble d'étiquettes constitutives. Le chercheur de tête a été développé pour les arbres dans le format Penn Treebank (PTB), qui, par exemple, utilisent l'étiquette ADJP pour les phrases adjectives. Vous pouvez trouver l'ensemble des étiquettes PTB et leurs descriptions sur this page.

+0

Merci pour votre réponse. Cela signifie-t-il que le CoreFLP HeadFinder de Stanford n'est pas développé pour l'allemand ou est-ce que j'utilise les mauvais modèles? J'utilise "german-fast.tagger" et "germanSR.ser.gz" pour l'allemand. Ces modèles me donnent "AP" pour "Phrase Adjective". Est-ce que j'utilise quelque chose à tort? – user1419243

+0

Oui, malheureusement, il faut développer un chercheur de tête pour chaque schéma d'annotation des arbres, et nous n'avons pas de chercheur de tête pour l'une des banques d'arbres allemandes. Cela étant dit, je pense qu'il ne devrait pas être trop difficile d'adapter 'UniversalSemanticHeadFinder()' à l'allemand. (Si vous finissez par mettre en œuvre ceci, s'il vous plaît partagez-le avec nous - nous serions heureux de l'inclure dans CoreNLP) –