簡體   English   中英

R文本挖掘問題

[英]R Text Mining Issue

我對編程完全陌生,現在在開始學習R的地方做我的ResMA。

我現在必須做一些非常非常簡單的事情,但有時似乎會失敗。 我只需要在一個txt文件中計算字素(字母),別無其他。 我首先使用TM創建語料庫,正在清理它以及所有內容,但是當我嘗試對每個字素進行頻率分析時,實際上並沒有清除標點符號和奇怪符號等文本。

我正在使用的代碼是這樣的:

library("tm")
library("SnowballC")
library("wordcloud")
library("RColorBrewer")
filePath <- choose.files()
text <- readLines(filePath)
docs <- Corpus(VectorSource(text))
toSpace <- content_transformer(function (x , pattern ) gsub(pattern, " ", x))
docs <- tm_map(docs, toSpace, "/")
docs <- tm_map(docs, toSpace, "@")
docs <- tm_map(docs, toSpace, "\\|")
docs <- tm_map(docs, content_transformer(tolower))
docs <- tm_map(docs, removeNumbers)
docs <- tm_map(docs, removePunctuation)
docs <- tm_map(docs, stripWhitespace)
docs <- tm_map(docs, stemDocument)
print (docs)

x=strsplit(text, "")

newlist = unlist(x,recursive=F)
freqtab = table(newlist)

print (freqtab)

好的,很明顯,這里的文檔與下面的x完全不同,但是當我嘗試做相反的事情時,它仍然無法正常工作。

我只需要這樣做:我要去學校!--->我要去學校----> i- 2 a- 1 m- 1 ....

我不知道我的問題來自哪里,我將感謝您的幫助!

問題在於您沒有使用所有操作來修改text 您正在處理docs

以帖子中的簡單示例作為text來運行代碼,

text <- "I am going to school!"
docs <- Corpus(VectorSource(text))
toSpace <- content_transformer(function (x , pattern ) gsub(pattern, " ", x))
docs <- tm_map(docs, toSpace, "/")
docs <- tm_map(docs, toSpace, "@")
docs <- tm_map(docs, toSpace, "\\|")
docs <- tm_map(docs, content_transformer(tolower))
docs <- tm_map(docs, removeNumbers)
docs <- tm_map(docs, removePunctuation)
docs <- tm_map(docs, stripWhitespace)
docs <- tm_map(docs, stemDocument)

然后打印docs的內容,所有修改都適用

print(unlist(docs)[1])
    content.content 
"i am go to school" 

盡管請注意,由於詞干的原因,“ going”被轉換為“ go”。

然后,您可以像原始代碼中那樣計算字符,

x=strsplit(as.character(unlist(docs)[1]), "")
freqtab = table(x[[1]])
print(freqtab)

  a c g h i l m o s t 
4 1 1 1 1 1 1 1 4 1 1

希望能幫助到你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM