R findAssocs(tm)返回未计算正确相关性,所有比较的单词返回1
我需要帮助找出我做错了什么。我已经从2个文本文件创建了语料库,并且创建了DocumentTermMatrix,但是相关性返回值1,就好像数据正在检查一个单词和它自己的单词之间的相关性,或者如果所有单词都属于同一个向量。有一段时间,虽然导入到语料库时出现了分隔符问题,但我不知道我做错了什么R findAssocs(tm)返回未计算正确相关性,所有比较的单词返回1,r,tm,R,Tm,我需要帮助找出我做错了什么。我已经从2个文本文件创建了语料库,并且创建了DocumentTermMatrix,但是相关性返回值1,就好像数据正在检查一个单词和它自己的单词之间的相关性,或者如果所有单词都属于同一个向量。有一段时间,虽然导入到语料库时出现了分隔符问题,但我不知道我做错了什么 setwd("C:/Users/kangom/Documents") options(stringAsFactors = FALSE) library(tm) docs <- Corpus(DirSour
setwd("C:/Users/kangom/Documents")
options(stringAsFactors = FALSE)
library(tm)
docs <- Corpus(DirSource("cmtxtmining"))
summary(docs)
然后我做了:
docs <- tm_map(docs, tolower)
docs <- tm_map(docs, removeNumbers)
docs <- tm_map(docs, removePunctuation)
docs <- tm_map(docs, removeWords, stopwords("english"))
docs <- tm_map(docs, stripWhitespace)
dtm <- DocumentTermMatrix(docs)
dtms <- removeSparseTerms(dtm, 0.1)
inspect(dtms[1:2, 1:50])
名单还在继续
findAssocs(dtms, "account", corlimit=0.6) #(similar result with findAssocs(dtm, "account", corlimit=0.6))
# account
#able 1
#accelerate 1
#accepting 1
#accidents 1
#accountability 1
#accountable 1
#accountably 1
#achieve 1
#acquisition 1
#across 1
#acting 1
#action 1
#active 1
#activities 1
#adapting 1
#address 1
#addressing 1
#adjust 1
#aesb 1
#affect 1
#aggressive 1
#aggressively 1
#aggressiveness 1
#aim 1
#alex 1
#align 1
#aligned 1
#alignment 1
#alive 1
#allow 1
#...
#zero 1
我不确定这一点,但由于只有两份文件,总共50个单词,也许您尝试过的两个单词都在两份文件中,因此关联度为100%,即1.谢谢。我最终弄明白了这个问题。语料库是在不分开行的情况下创建的,就像一个长句子被分析一样。当使用制表符分隔符并将其加载到数据帧中时,我使用包gsubfn读取该行。然后使用DataframeSource或创建语料库。现在一切都好了。打字错误:gsubfn使用制表符分隔符帮助阅读文本中的行
#A document-term matrix (2 documents, 50 terms)
#Non-/sparse entries: 100/0
#Sparsity : 0%
#Maximal term length: 20
#Weighting : term frequency (tf)
# Terms
#Docs aaron abilities ability able accelerate accept accepting
# cmstrenght.txt 2 4 119 16 1 4 1
# cmweakness.txt 1 2 17 29 13 2 2
# Terms
#Docs accepts accident accidents accomplish accomplishments
# cmstrenght.txt 10 113 17 3 2
# cmweakness.txt 2 105 37 2 2
# Terms
#Docs accordingly account accountabilities accountability
# cmstrenght.txt 1 1 2 54
# cmweakness.txt 1 2 2 141
findAssocs(dtms, "account", corlimit=0.6) #(similar result with findAssocs(dtm, "account", corlimit=0.6))
# account
#able 1
#accelerate 1
#accepting 1
#accidents 1
#accountability 1
#accountable 1
#accountably 1
#achieve 1
#acquisition 1
#across 1
#acting 1
#action 1
#active 1
#activities 1
#adapting 1
#address 1
#addressing 1
#adjust 1
#aesb 1
#affect 1
#aggressive 1
#aggressively 1
#aggressiveness 1
#aim 1
#alex 1
#align 1
#aligned 1
#alignment 1
#alive 1
#allow 1
#...
#zero 1