我有一个推文数据集。我正在搜索荷兰语'verhuizen'。当我运行以下代码时,我从包含单词的数据集中得到两条推文。
Aah_verhuizen=Aa_en_Hunze[grepl('verhuizen', Aa_en_Hunze$twt_txt),]
[1] @ Isaa_0592 verhuizen? Waarheen丹?
[2]是的学校blijft hier in het dorp,nu gaan we niet meer verhuizen dit jaar! ??
然后我运行代码,使用包tm的findAssocs找到与'verhuizen'关联最多的单词。
verhuizen <- c('verhuizen')
Aah.corpus <- Corpus(VectorSource(Aa_en_Hunze$twt_txt))
Aah.corpus <- tm_map(Aah.corpus, tolower)
Aah.corpus <- tm_map(Aah.corpus, removePunctuation)
Aah.dtm <- TermDocumentMatrix(Aah.corpus)
Aah_ass_verhuizen <- findAssocs(Aah.dtm, verhuizen, 0.10)
我的代码结果是:
waarheen 0.58
dorp 0.24
isaa0592 0.24
gebeuren 0.22
blijft 0.15
我不知道findAssocs如何计算分数。例如:为什么“waarheen”这个词得分如此之高。在两条推文中只提到了一次。我不明白findAssocs如何计算相关单词的分数。我搜索了帮助功能,谷歌和stackoverflow但没有找到满意的答案。有谁知道吗?
我认为我正在搜索的答案在以下代码行中。我从以下问题得到了。
Math of tm::findAssocs how does this function work?
function (x, term, corlimit)
sort(round(x[term, which(x[term, ] > corlimit)], 2), decreasing = TRUE)
<environment: namespace:tm>
它做什么?我会尝试通过运行部分句子来弄清楚自己。
test <- Aah.dtm['verhuizen', which(Aah.dtm['verhuizen', ]> 0.10)],2
为什么这会给我以下错误?
错误:在'test&lt; - Aah.dtm ['verhuizen'中出现意外',',(Aah.dtm ['verhuizen',]&gt; 0.10)],“
答案 0 :(得分:1)
如果您想知道该功能的工作原理,最简单的方法是查看文档。主页面为here,其中包含一个函数引用here和一个漂亮的小插图here。
如果这些内容没有给你足够的细节,你可以随时查阅source code,这恰好在GPL下可用。