Мне нужно вычислить косинусное сходство документов, включенных в пространство LSA, с новым TDM, сложенным в том же пространстве.Это набросок моего кода:
## First data set to create space
data1<-read.csv(file="path/Minus500.csv",header=TRUE)
corpus.train = Corpus(VectorSource(data1$Text))
tdm.train = TermDocumentMatrix(
corpus.train,
control = list(
removePunctuation = TRUE,
stopwords = stopwords(kind = "en"),
stemming = FALSE,
removeNumbers = TRUE,
tolower = TRUE,
weighting = weightTfIdf,
bounds=list(global=c(5,Inf)))
)
lsa.train = lsa(tdm.train, dimcalc_share())
## Second data set Best500
data2<-read.csv(file="path/Best500.csv",header=TRUE)
corpus.test = Corpus(VectorSource(data2$Text))
tdm.test = TermDocumentMatrix(
corpus.test,
control = list(
removePunctuation = TRUE,
stopwords = stopwords(kind = "en"),
stemming = FALSE,
removeNumbers = TRUE,
tolower = TRUE,
weighting = weightTfIdf,
dictionary=rownames(tdm.train)
)
)
test_matrix = as.matrix(tdm.test)
## Fold second tdm in the space
projected.test = fold_in(docvecs = test_matrix, LSAspace = lsa.train)
myDocs2 <- rownames(lsa.train$dk)
Вот проблема и то, чего я пытаюсь достичь:
multicos(myDocs2,projected.test,tvectors=lsa.train$dk,breakdown=FALSE)
Полученное сообщение об ошибке:
[1] NA
Warning message:
In multicos(myDocs2, projected.test, tvectors = lsa.train$dk, breakdown = FALSE) :
no element of y found in rownames(tvectors)
Большое спасибо за помощь!