J'essaie d'étirer ~ 4000 documents dans R, en utilisant la fonction stri_replace_all_fixed. Cependant, il est TRÈS lent, car mon dictionnaire de mots composés est composé d'env. 300k mots. Je le fais parce que les documents sont en danois et par conséquent le Porter Stemmer Algortihm n'est pas utile (il est trop agressif).stri_replace_all_fixed lente sur le gros ensemble de données - existe-t-il une alternative?
J'ai posté le code ci-dessous. Est-ce que quelqu'un sait une alternative pour faire cela? Logique: Regardez chaque mot dans chaque document -> Si mot = mot de la table de voc, puis remplacez par mot-trans.
##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))
Structure du cadre de données « voc »:
Word Stem
1 abandonnere abandonner
2 abandonnerede abandonner
3 abandonnerende abandonner
...
313273 åsyns åsyn