Защо стоп думите не са филтрирани в `tm` корпоративните матрици термин-документ?

Изграждам матрица термин-документ, използвайки библиотеката tm.

# Create corpus.
corporize <- function(dir_to_corporize)
{
    crp <- Corpus(DirSource(dir_to_corporize, mode="text", encoding="ASCII"),
                 readerControl=list(reader=readPlain, language="en_EN"))
    crp <- tm_map(crp, removeWords, stopwords("english"))
    crp <- tm_map(crp, removePunctuation, preserve_intra_word_dashes=F)
    crp <- tm_map(crp, removeNumbers)
    crp <- tm_map(crp, stripWhitespace)
    crp <- tm_map(crp, content_transformer(tolower))
}

Въпреки това, когато проверявам матрицата си термин-документ, откривам, че са останали няколко стоп думи:

the last time i saw
we need talk about kevin
you make me feel like

Защо е така и какво мога да направя?


person TMOTTM    schedule 19.08.2015    source източник
comment
Как точно си проверихте матрицата термин-документ? Резултатът, който показахте, не прилича на TDM. Би било по-добре, ако предоставите по-възпроизводим пример с примерен вход и кода, който изпълнявате. Включете минималното количество код, за да демонстрирате проблема.   -  person MrFlick    schedule 20.08.2015


Отговори (1)


Вашият ред на команди е грешен във вашата функция. Ако погледнете списъка със стоп думи чрез команда stopwords() ще видите, че всички стоп думи са с малки букви. Първо трябва да преобразувате всичко в малки букви, преди да премахнете спиращите думи, в противен случай ще запазите думи като „аз“ или думи в началото на изречението.

person phiver    schedule 20.08.2015