2011-03-19 55 views
15

Tengo POS etiquetado algunas palabras con nltk.pos_tag(), por lo que se les da etiquetas de árbol de árbol. Me gustaría hacer una lematización de estas palabras utilizando las etiquetas POS conocidas, pero no estoy seguro de cómo. Estaba buscando Wordmat lemmatizer, pero no estoy seguro de cómo convertir las etiquetas de POS treebank en etiquetas aceptadas por el lematizador. ¿Cómo puedo realizar esta conversión simplemente, o hay un lemmatizador que usa etiquetas de árbol?¿Lemmatizar palabras etiquetadas de POS con NLTK?

+3

leí esto como 'POS humeante' – fizzer

+1

algunos consejos también están disponibles aquí http://stackoverflow.com/questions/15586721/wordnet-lemmatization-and-pos-tagging-in-python – Sadik

Respuesta

28

El lematizador de wordnet solo conoce cuatro partes del discurso (ADJ, ADV, NOUN y VERB) y solo las reglas de SUSTANTIVO y VERBO hacen algo especialmente interesante. El nombre de las partes del discurso en el conjunto de etiquetas de treebank comienza con NN, todas las etiquetas de verbos comienzan con VB, las etiquetas de adjetivo comienzan con JJ, y las etiquetas de adverbio comienzan con RB. Por lo tanto, la conversión de un conjunto de etiquetas para el otro es bastante fácil, algo así como:

from nltk.corpus import wordnet 

morphy_tag = {'NN':wordnet.NOUN,'JJ':wordnet.ADJ,'VB':wordnet.VERB,'RB':wordnet.ADV}[penn_tag[:2]] 
+0

¿qué pasa con los adjetivos satelitales? – user1048677

+0

Los adjetivos de satélite se tratan de la misma manera que los adjetivos comunes. – rmalouf

+0

¿de dónde saca el [penn_tag]? la lista de etiquetas Treebank? – Ksofiac

Cuestiones relacionadas