2016-11-29 68 views
2

我希望你能夠協助文本挖掘練習。我對'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]) 
+0

它可能是因爲 「AAPL」 和 「AAPL」 是不同的字符串。我沒有在您的語料庫清潔程序中的任何地方看到「tolower」。您需要添加'語料庫< - tm_map(語料庫,content_transformer(tolower))'和'語料庫< - 語料庫(語料庫)'第二個'VCorpus'是因爲'content_transformer'返回的是一個向量而不是語料庫IIRC。 – emilliman5

回答

0

我覺得你的問題是在iconv 變化 「再見」,以 「字節」

tweets2 <- data.frame(
       text = iconv(aapl_tweets, "latin1", "ASCII", "byte"), 
       stringsAsFactors = FALSE) 
+0

感謝您一起傳遞!我嘗試過,但仍未解決問題。 – Munckinn

+0

@munchkinn你能提供更多的信息。 aapl_cleaned出現兩次......但我不認爲這是你的問題。嘗試在aapl_cleaned之前和之後顯示您的結果 –