我希望你能夠協助文本挖掘練習。我對'AAPL'推文感興趣,並能夠從API中獲取500條推文。我能夠自己清除幾個障礙,但需要幫助完成最後一部分。出於某種原因,tm軟件包不會刪除停用詞。你可以看一看,看看問題可能是什麼?表情符號是否會引起問題?股票推文,文本挖掘,圖釋情色
繪製Term_Frequency後,最常見的術語是 「AAPL」, 「蘋果」, 「iPhone」, 「價格」, 「股票」
提前感謝!
Munckinn
transform into dataframe
tweets.df <- twListToDF(tweets)
#Isolate text from tweets
aapl_tweets <- tweets.df$text
#Deal with emoticons
tweets2 <- data.frame(text = iconv(aapl_tweets, "latin1", "ASCII", "bye"), stringsAsFactors = FALSE)
#Make a vector source:
aapl_source <- VectorSource(tweets2)
#make a volatile corpus
aapl_corpus <- VCorpus(aapl_source)
aapl_cleaned <- clean_corpus(aapl_source)
#create my list to remove words
myList <- c("aapl", "apple", "stock", "stocks", stopwords("en"))
#clean corpus function
clean_corpus <- function(corpus){
corpus <- tm_map(corpus, stripWhitespace, mc.cores = 1)
corpus <- tm_map(corpus, removePunctuation, mc.cores = 1)
corpus <- tm_map(corpus, removeWords, myList, mc.cores = 1)
return(corpus)
}
#clean aapl corpus
aapl_cleaned <- clean_corpus(aapl_corpus)
#convert to TDM
aapl.tdm <- TermDocumentMatrix(aapl_cleaned)
aapl.tdm
#Convert as Matrix
aapl_m <- as.matrix(aapl.tdm)
#Create Frequency tables
term_frequency <- rowSums(aapl_m)
term_frequency <- sort(term_frequency, decreasing = TRUE)
term_frequency[1:10]
barplot(term_frequency[1:10])
它可能是因爲 「AAPL」 和 「AAPL」 是不同的字符串。我沒有在您的語料庫清潔程序中的任何地方看到「tolower」。您需要添加'語料庫< - tm_map(語料庫,content_transformer(tolower))'和'語料庫< - 語料庫(語料庫)'第二個'VCorpus'是因爲'content_transformer'返回的是一個向量而不是語料庫IIRC。 – emilliman5