stemmer spanish lemmatize example entre diferencia and r nlp lemmatization

r - lemmatize - spanish lemmatization



¿Cómo realizar la Lematización en R? (4)

Esta pregunta es un posible duplicado de Lemmatizer en R o python (am, are, is -> be?) , Pero lo vuelvo a agregar desde que cerró el anterior diciendo que era demasiado amplio y que la única respuesta que tiene no es eficiente (ya que accede a un sitio web externo para esto, que es demasiado lento ya que tengo un corpus muy grande para encontrar los lemas). Entonces, una parte de esta pregunta será similar a la pregunta mencionada anteriormente.

Según Wikipedia, la lematización se define como:

Lemmatización (o lematización) en lingüística, es el proceso de agrupar las diferentes formas de una palabra para que puedan analizarse como un solo elemento.

Una simple búsqueda de Google de lematización en R solo señalará el paquete wordnet de R. Cuando probé este paquete, esperaba que una entrada de vector de caracteres c("run", "ran", "running") a la función de lematización daría como resultado c("run", "run", "run") , vi que este paquete solo proporciona una funcionalidad similar a la función grepl través de varios nombres de filtro y un diccionario.

Un código de ejemplo del paquete wordnet , que proporciona un máximo de 5 palabras que comienzan con "automóvil", ya que el nombre del filtro se explica a sí mismo:

filter <- getTermFilter("StartsWithFilter", "car", TRUE) terms <- getIndexTerms("NOUN", 5, filter) sapply(terms, getLemma)

Lo anterior NO es la lematización que estoy buscando. Lo que estoy buscando es, usando R , quiero encontrar raíces verdaderas de las palabras: (Por ejemplo, desde c("run", "ran", "running") hasta c("run", "run", "run") ).


Como se mencionó en una publicación anterior, la función lemmatize_words () del texto del paquete R puede realizar esto y darle lo que entiendo como los resultados deseados:

library(textstem) vector <- c("run", "ran", "running") lemmatize_words(vector) ## [1] "run" "run" "run"


¿Tal vez la eliminación es suficiente para ti? Las tareas típicas de procesamiento del lenguaje natural se ajustan a los textos derivados. Puede encontrar varios paquetes de CRAN Task View of NLP: http://cran.r-project.org/web/views/NaturalLanguageProcessing.html

Si realmente necesita algo más complejo, existen soluciones especializadas basadas en el mapeo de oraciones a redes neuronales. Hasta donde yo sé, estos requieren una gran cantidad de datos de entrenamiento. Hay gran cantidad de software abierto creado y disponible por Stanford NLP Group .

Si realmente desea profundizar en el tema, puede buscar en los archivos del evento vinculados en la misma sección de publicaciones del Stanford NLP Group. También hay algunos libros sobre el tema.


Hola, puedes probar el paquete koRpus que permite usar Treetagger :

tagged.results <- treetag(c("run", "ran", "running"), treetagger="manual", format="obj", TT.tknz=FALSE , lang="en", TT.options=list(path="./TreeTagger", preset="en")) [email protected] ## token tag lemma lttr wclass desc stop stem ## 1 run NN run 3 noun Noun, singular or mass NA NA ## 2 ran VVD run 3 verb Verb, past tense NA NA ## 3 running VVG run 7 verb Verb, gerund or present participle NA NA

Vea la columna lemma para el resultado que está solicitando.


La lematización se puede hacer en R fácilmente con el paquete textStem. Los pasos son: 1) Instalar el sistema de texto 2) agregar el paquete por la biblioteca (sistema de texto) 3) stem_word = lemmatize_words (word, dictionary = lexicon :: hash_lemmas) #where stem_word es el resultado de la lematización y word es la palabra de entrada.