Как я могу лемматизировать английские слова (например, «бег» и «ран»), используя R, чтобы привести их все к одному и тому же времени?

Я хочу лемматизировать английские слова так, чтобы все они были преобразованы в одно и то же время. Например:

c("ran","run","running") 

должно стать c("run","run","run").

Я уже изучил пакеты R, такие как tm, wordnet, RTextTools и Snowball C; но все они приводят к выводу c("ran","run","run"). Как видите, они не преобразуют «бег» в «бег».


person Preyas    schedule 26.03.2017    source источник
comment
Этот ответ может быть полезен stackoverflow.com/a/36234096/2026277   -  person Jaime Caffarel    schedule 26.03.2017
comment
Спасибо Хайме!. Как вы думаете, Python предоставляет пакеты для этого без необходимости очистки Интернета (как используется в этом ответе: stackoverflow.com/a/36234096 /2026277). Еще раз спасибо :)   -  person Preyas    schedule 26.03.2017
comment
Внизу этой страницы есть несколько загружаемых списков лемм, которые, возможно, стоит изучить... /программное обеспечение/antconc   -  person Andrew Gustar    schedule 26.03.2017


Ответы (1)


Взгляните на textstem пакет, который я поддерживаю:

if (!require("pacman")) install.packages("pacman")
pacman::p_load(textstem)

lemmatize_words(c("ran","run","running"))
###[1] "run" "run" "run"

Обратите внимание, что если у вас на самом деле есть строки, а не векторы слов, вам может понадобиться функция lemmatize_strings.

person Tyler Rinker    schedule 26.03.2017
comment
Большое спасибо, Тайлер! - person Preyas; 26.03.2017