Comment faire pour supprimer l'erreur en terme de document de la matrice dans la R?
Je suis en train de créer à Terme-Document de la matrice à l'aide de R à partir d'un corpus de fichier. Mais sur l'exécution du code, j'obtiens cette erreur, suivi par 2 avertissements:
Error in simple_triplet_matrix(i = i, j = j, v = as.numeric(v), nrow = length(allTerms), :
'i, j' invalid
Calls: DocumentTermMatrix ... TermDocumentMatrix.VCorpus -> simple_triplet_matrix -> .Call
In addition: Warning messages:
1: In mclapply(unname(content(x)), termFreq, control) :
scheduled core 1 encountered error in user code, all values of the job will be affected
2: In simple_triplet_matrix(i = i, j = j, v = as.numeric(v), nrow = length(allTerms), :
NAs introduced by coercion
Mon code est donné ci-dessous:
library(tm)
library(RWeka)
library(tmcn.word2vec)
#Reading data
data <- read.csv("Train.csv", header=T)
#text <- data$EventDescription
#Pre-processing
corpus <- Corpus(VectorSource(data$EventDescription))
corpus <- tm_map(corpus, stripWhitespace)
corpus <- tm_map(corpus, removePunctuation)
corpus <- tm_map(corpus, tolower)
corpus <- tm_map(corpus, PlainTextDocument)
#dataframe <- data.frame(text=unlist(sapply(corpus,'[',"content")))
#Reading dictionary file
dict <- scan("dictionary.txt", what='character',sep='\n')
#Bigram Tokenization
BigramTokenizer <- function(x) NGramTokenizer(x, Weka_control(min = 1, max = 4))
tdm_doc <- DocumentTermMatrix(corpus,control=list(stopwords = dict, tokenize=BigramTokenizer))
tdm_dic <- DocumentTermMatrix(corpus,control=list(tokenize=BigramTokenizer, dictionary=dict))
Comme indiqué dans d'autres réponses, j'ai essayé d'installer SnowballC paquet et d'autres idées inscrites. Pourtant, je reçois le même message d'erreur. Quelqu'un peut-il m'aider à ce sujet? Merci à l'avance.
- s'il vous plaît poster assez de les fichiers d'entrée ainsi que l'on peut reproduire l'erreur
- Par exemple post la valeur de
dput(head(data))
. Mais d'abord essayer et voir si vous obtenez le message d'erreur lorsque vous utilisez seulement lehead
dedata
. - Ressemble à un parallèle question. cochez cette post ou le post.
Vous devez vous connecter pour publier un commentaire.
J'ai eu le même problème pour l'obtention de mon DocumnetTermMatrix et je l'ai résolu en supprimant la commande suivante:
J'ai eu une erreur similaire lors du nettoyage d'un corpus. Pour résoudre le problème, j'ai ajouté ce qui suit après la ligne de code malveillant et il fixe. Certains des tm_map fonctions ne renvoient pas d'un corpus...
Pour moi, le problème se pose après l'achèvement de la tige. Je suggère d'essayer de faire un tdm après chaque tm_map appel. Qui vous indiquera étape de nettoyage est à l'origine du problème.
Bonne chance!