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.