Ошибка stemCompletion: ошибка в grep (sprintf ("^% s", w), словарь, значение = ИСТИНА): недопустимое регулярное выражение, причина "отсутствует") '' - PullRequest
0 голосов
/ 07 апреля 2020

Я довольно плохо знаком с анализом текста в R, и я пытаюсь использовать stemCompletion.

Вот что я сделал сначала:

#Clean Corpus
# 1. Stripping any extra white space:
corpus <- tm_map(corpus, stripWhitespace)
# 2. Transforming everything to lowercase
corpus <- tm_map(corpus, content_transformer(tolower))
# 3. Removing numbers 
corpus <- tm_map(corpus, removeNumbers)
# 4. Removing punctuation
corpus <- tm_map(corpus, removePunctuation, preserve_intra_word_contractions=FALSE)
# 5. Removing stop words
corpus <- tm_map(corpus, removeWords, stopwords("english"))
# 6. Stem words
corpusStem <- tm_map(corpus, stemDocument, language="english")

Затем я запустил эту строку для stemCompletion, и она на самом деле ничего не делала:

corpusStem <- tm_map(corpusStem, stemCompletion, dictionary=corpus, type="shortest")

Я прочитал на stemCompletion и узнал, что это нужно делать для каждого отдельного слова. Я видел этот код в другом потоке SOF? 48022087 :

stemCompletion_mod <- function(x,dict=dictCorpus) {
  PlainTextDocument(stripWhitespace(paste(stemCompletion(unlist(strsplit(as.character(x)," ")),dictionary=dict, type="shortest"),sep="", collapse=" ")))
}'

Я отредактировал вышеупомянутое с моими именами корпуса, но, когда я запустил stemCompletion_mod, я получил ошибку: stemCompletion_mod(corpusStem,corpus)

Ошибка в grep (sprintf ("^% s", w), словарь, значение = ИСТИНА): недопустимое регулярное выражение, причина 'Отсутствует') ''

Что вызывает эту ошибку? (Я также разместил в оригинальной ветке, где я нашел этот код, но он довольно старый, поэтому посмотрим, есть ли у кого-нибудь еще понимание здесь!)

Большое спасибо!

Вот CSV что выкинуло ошибку.

structure(list(Type = c("Example 1", "Example 2"), Comment = c("This    is an example for a corpus. Words like business and charge are not stemming correctly.", 
"Here is another example. Challenge and always also need to have stemCompletion."
 )), class = "data.frame", row.names = c(NA, -2L))

enter image description here

...