Ma question est similaire à question. Dans spacy
, je peux faire un étiquetage de partie de la parole et une identification de phrase nominale séparément, par exemple.mergnig POS tag par bloc nominal chunk
import spacy
nlp = spacy.load('en')
sentence = 'For instance , consider one simple phenomena :
a question is typically followed by an answer ,
or some explicit statement of an inability or refusal to answer .'
token = nlp(sentence)
token_tag = [(word.text, word.pos_) for word in token]
résultat ressemble à:
[('For', 'ADP'),
('instance', 'NOUN'),
(',', 'PUNCT'),
('consider', 'VERB'),
('one', 'NUM'),
('simple', 'ADJ'),
('phenomena', 'NOUN'),
...]
Pour syntagmes nominaux ou morceau, je peux obtenir noun_chunks
qui est un morceau de mots comme suit:
[nc for nc in token.noun_chunks] # [instance, one simple phenomena, an answer, ...]
Je me demande s'il est un moyen de grouper l'étiquette POS basée sur noun_chunks
de sorte que je reçois la sortie comme
[('For', 'ADP'),
('instance', 'NOUN'), # or NOUN_CHUNKS
(',', 'PUNCT'),
('one simple phenomena', 'NOUN_CHUNKS'),
...]