Saltar al contenido

¿Cómo realizar la Lematización en R?

Siéntete libre de compartir nuestra web y códigos con otro, apóyanos para aumentar nuestra comunidad.

Solución:

Hola, puedes probar el paquete. koRpus que permiten 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

Ver el lemma columna para el resultado que está solicitando.

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

library(textstem)
vector <- c("run", "ran", "running")
lemmatize_words(vector)

## [1] "run" "run" "run"

@Andy y @Arunkumar tienen razón cuando dicen tallo de texto La biblioteca se puede utilizar para realizar derivaciones y/o lematizaciones. Sin embargo, lemmatize_words() solo funcionará en un vector de palabras. Pero en un corpus, no tenemos vector de palabras; tenemos cuerdas, con cada string ser el contenido de un documento. Por lo tanto, para realizar la lematización en un corpus, puede usar la función lemmatize_strings() como argumento para tm_map() de t.m. paquete.

> corpus[[1]]
[1] " earnest roughshod document serves workable primer regions recent history make 
terrific th-grade learning tool samuel beckett applied iranian voting process bard 
black comedy willie loved another trumpet blast may new mexican cinema -bornin "
> corpus <- tm_map(corpus, lemmatize_strings)
> corpus[[1]]
[1] "earnest roughshod document serve workable primer region recent history make 
terrific th - grade learn tool samuel beckett apply iranian vote process bard black 
comedy willie love another trumpet blast may new mexican cinema - bornin"

No olvide ejecutar la siguiente línea de código después de haber realizado la lematización:

> corpus <- tm_map(corpus, PlainTextDocument)

Esto se debe a que para crear una matriz de término de documento, debe tener un objeto de tipo 'PlainTextDocument', que se modifica después de usar lemmatize_strings() (para ser más específicos, el objeto de corpus no contiene contenido ni metadatos de cada documento ya no es más que una estructura que contiene el contenido de los documentos; este no es el tipo de objeto que DocumentTermMatrix() toma como argumento).

¡Espero que esto ayude!

Valoraciones y comentarios

Si entiendes que te ha resultado de utilidad este post, sería de mucha ayuda si lo compartes con otros entusiastas de la programación de esta manera contrubuyes a extender nuestra información.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *