findAssocs (tm) возвращает все корреляции в виде списка единиц

У меня есть корпус, созданный из двух текстовых документов и DocumentTermMatrix, в котором я хочу найти корреляции между словами. Какой бы выбор слов я ни выбрал, функция findAssocs возвращает корреляции = 1 для всех слов в корпусе. Это почему?

Вот выдержки из моего кода:

library(tm)
library(SnowballC)
doc <- Corpus(DirSource("C:/Users/biat/Documents/customersatis"))

toSpace <- content_transformer(function(x,pattern) {return (gsub(pattern, " ", x))})

doc <- tm_map(doc, toSpace, "-")
doc <- tm_map(doc, toSpace, ":")
doc <- tm_map(doc, removePunctuation)
doc <- tm_map(doc,content_transformer(tolower))
doc <- tm_map(doc,removeNumbers)
doc <- tm_map(doc,removeWords,stopwords("swedish"))
doc <- tm_map(doc,stripWhitespace)
doc <- tm_map(doc, PlainTextDocument)
doc <- tm_map(doc, stemDocument, "swedish")

dtm <- DocumentTermMatrix(doc)
findAssocs(dtm,"active",0.1)

Когда я запускаю это, результаты подразумевают, что термин «активный» коррелирует со всеми 560 другими словами на 1 следующим образом, что на самом деле не так.

$active
  admin    actions    all   analysis arrends   
      1          1      1          1       1 .........    
   ...................................................        

............................ website  workshops  
                                   1          1                                                       

person Bilal    schedule 02.09.2016    source источник
comment
Добро пожаловать в StackOverflow! Прочтите информацию о том, как задать хороший вопрос и как поставить воспроизводимый пример. Это значительно облегчит другим людям помощь.   -  person Axeman    schedule 02.09.2016
comment
У вас есть два документа в вашем корпусе. Любые два слова, встречающиеся в обоих документах, будут иметь корреляцию, равную единице. Я предполагаю, что ваши документы очень похожи, хотя без воспроизводимого примера невозможно узнать, что именно происходит.   -  person scoa    schedule 02.09.2016


Ответы (1)


Как указано в scoa, у вас может быть два документа, в которых термин встречается оба раза: в результате получаются единицы.

Попробуйте свернуть документ, прежде чем превратить его в корпус:

text <- paste(unlist(text), collapse ="")
person BadLuckNick    schedule 01.05.2018