J'utilise le NLP de Stanford Core et j'utilise cette ligne pour charger certains modules pour traiter mon texte: est un module que je peux charger pour chunnks le texte? < / p> ou toute suggestion avec une manière altérée d'utiliser le noyau Stanford pour calculer du texte? p> merci p> p> P>
4 Réponses :
Je pense que la sortie d'analyse peut être utilisée pour obtenir des morceaux NP. Jetez un coup d'œil à la représentation sans contexte sur le Stanford Parser qui fournit des exemples de sortie. < / p>
Pour utiliser des chunking avec Stanford NLP, vous pouvez utiliser les packages suivants: P>
Source: http://www-nlp.stanford.edu/links/statnlp.html#npchunk p>
Ce ne sont que des forfaits pour faire des chunking np. Par exemple: Mark Greenwood's Noun Phrase Chinker, fournit une enveloppe de porte, mais pas d'emballage pour l'utilisation de l'arbre d'analyse Stanfordnlp, etc. Je pense que l'on peut faire des chunking basés surgènes au moins - il peut y avoir un annoteur de morceau sur mesure qui ajoute au pipeline. Dites une annotateur personnalisée à l'aide de Tokenregex sur POS, placez après "parse" dans le pipeline. Telles que l'arbre d'analyse peut avoir un noeud supplémentaire «NNP» sous lequel les jetons punkés sont là. J'espère que quelqu'un l'a fait quelque part pour Corenlp.
Ce dont vous avez besoin est la sortie de circonscription à l'analyse forte> à Corenlp, ce qui vous donne les informations sur les chunks par exemple. Phrases verbales (VPS,) noms de nom (NPS,) et etc. Au mieux de mes connaissances, il n'y a aucune méthode à Corenlp pour vous donner une liste de morceaux. Cela signifie que vous devez analyser la production réelle de l'analyse de la circonscription pour extraire les morceaux. Par exemple, il s'agit de la sortie de l'analyseur de circonscription de corenlp pour une phrase d'échantillon: p> comme vous le voyez, il y a des balises NP et VP dans la chaîne, maintenant Vous devez aller et extraire le texte réel des morceaux en analysant cette chaîne. Faites-moi savoir si vous pouviez trouver une méthode qui vous donne la liste des morceaux ?! p> p>
En développant la réponse de Pedram, le code ci-dessous peut être utilisé:
from nltk.parse.corenlp import CoreNLPParser nlp = CoreNLPParser('http://localhost:9000') # Assuming CoreNLP server is running locally at port 9000 def extract_phrase(trees, labels): phrases = [] for tree in trees: for subtree in tree.subtrees(): if subtree.label() in labels: t = subtree t = ' '.join(t.leaves()) phrases.append(t) return phrases def get_chunks(sentence): trees = next(nlp.raw_parse(sentence)) nps = extract_phrase(trees, ['NP', 'CC']) vps = extract_phrase(trees, ['VP']) return trees, nps, vps if __name__ == '__main__': dialog = [ "Anarchism is a political philosophy that advocates self-governed societies based on voluntary cooperative institutions rejecting unjust hierarchy" ] for sentence in dialog: trees, nps, vps = get_chunks(sentence) print("\n\n") print("Sentence: ", sentence) print("Tree:\n", trees) print("Noun Phrases: ", nps) print("Verb Phrases: ", vps) """ Sentence: Anarchism is a political philosophy that advocates self-governed societies based on voluntary cooperative institutions rejecting unjust hierarchy Tree: (ROOT (S (NP (NN Anarchism)) (VP (VBZ is) (NP (NP (DT a) (JJ political) (NN philosophy)) (SBAR (WHNP (WDT that)) (S (VP (VBZ advocates) (NP (ADJP (NN self) (HYPH -) (VBN governed)) (NNS societies)) (PP (VBN based) (PP (IN on) (NP (NP (JJ voluntary) (JJ cooperative) (NNS institutions)) (VP (VBG rejecting) (NP (JJ unjust) (NN hierarchy))))))))))))) Noun Phrases: ['Anarchism', 'a political philosophy that advocates self - governed societies based on voluntary cooperative institutions rejecting unjust hierarchy', 'a political philosophy', 'self - governed societies', 'voluntary cooperative institutions rejecting unjust hierarchy', 'voluntary cooperative institutions', 'unjust hierarchy'] Verb Phrases: ['is a political philosophy that advocates self - governed societies based on voluntary cooperative institutions rejecting unjust hierarchy', 'advocates self - governed societies based on voluntary cooperative institutions rejecting unjust hierarchy', 'rejecting unjust hierarchy'] """
Par "CHUNKING" SOUMISSEZ-VOUS SENTILIER DES CHARGES DES CHARGES DE BASE NP ET DES GROUPES VERBES? Ou êtes-vous de confiance en divisant un texte important en segments, tels que des groupements de texte associés tels que des commentaires individuels de blog?
J'ai exactement la même question; Dans mon cas, je veux dire extraire des phrases nominales par exemple