Я пытаюсь сфокусировать ~ 4000 документов в R, используя функцию stri_replace_all_fixed. Тем не менее, это ОЧЕНЬ медленно, так как словарь словарных слов состоит из ок. 300 тыс. Слов. Я делаю это, потому что документы находятся на датском языке, и поэтому Портер Стэммер Алгортим не полезен (он слишком агрессивный).stri_replace_all_fixed slow на большом наборе данных - есть ли альтернатива?
Я разместил код ниже. Кто-нибудь знает альтернативу для этого?
Логика: Посмотрите каждое слово в каждом документе -> Если слово = слово из вокала, затем замените его на tran-word.
##Read in the dictionary
voc <- read.table("danish.csv", header = TRUE, sep=";")
#Using the library 'stringi' to make the stemming
library(stringi)
#Split the voc corpus and put the word and stem column into different corpus
word <- Corpus(VectorSource(voc))[1]
tran <- Corpus(VectorSource(voc))[2]
#Using stri_replace_all_fixed to stem words
## !! NOTE THAT THE FOLLOWING STEP MIGHT TAKE A FEW MINUTES DEPENDING ON THE SIZE !! ##
docs <- tm_map(docs, function(x) stri_replace_all_fixed(x, word, tran, vectorize_all = FALSE))
Структура кадра данных «VOC»:
Word Stem
1 abandonnere abandonner
2 abandonnerede abandonner
3 abandonnerende abandonner
...
313273 åsyns åsyn