【发布时间】:2016-04-17 21:41:45
【问题描述】:
我在 Linux 中执行了 LDA,但在主题 2 中没有得到像“ø”这样的字符。但是,当在 Windows 中运行时,它们会显示出来。有谁知道如何处理这个?我使用了 quanteda 和 topicmodels 包。
> terms(LDAModel1,5)
Topic 1 Topic 2
[1,] "car" "ø"
[2,] "build" "ù"
[3,] "work" "network"
[4,] "drive" "ces"
[5,] "musk" "new"
编辑:
数据:https://www.dropbox.com/s/tdr9yok7tp0pylz/technology201501.csv
代码是这样的:
library(quanteda)
library(topicmodels)
myCorpus <- corpus(textfile("technology201501.csv", textField = "title"))
myDfm <- dfm(myCorpus,ignoredFeatures=stopwords("english"), stem = TRUE, removeNumbers = TRUE, removePunct = TRUE, removeSeparators = TRUE)
myDfm <-removeFeatures(myDfm, c("reddit", "redditors","redditor","nsfw", "hey", "vs", "versus", "ur", "they'r", "u'll", "u.","u","r","can","anyone","will","amp","http","just"))
sparsityThreshold <- round(ndoc(myDfm) * (1 - 0.9999))
myDfm2 <- trim(myDfm, minDoc = sparsityThreshold)
LDAModel1 <- LDA(quantedaformat2dtm(myDfm2), 25, 'Gibbs', list(iter=4000,seed = 123))
【问题讨论】:
-
我猜不同的地区。
-
您没有真正提供足够的数据来使问题可重现。我猜问题出在文件编码上。 Windows 假定文件采用“latin-1”编码。您的 linux 操作系统可能采用 UTF-8 编码。了解数据文件中使用的编码并使用正确的编码正确读取数据非常重要。您没有显示任何导入步骤,因此很难知道您可能做了什么。
-
我尝试了不同的编码,例如support.rstudio.com/hc/en-us/articles/…,但没有成功。
-
请注意,最近在
trim()中添加了一个sparsity =参数,该参数模拟了 tm 的使用,如果您想以这种方式考虑稀疏性。
标签: r windows lda topicmodels quanteda