SBL超級籃球聯賽文字雲

使用套件

library(devtools)
library(Rfacebook)
library("jiebaR")
library(tm)
library(NLP) 
library(wordcloud2)

抓取臉書資料

token <- "EAACEdEose0cBAAcz5MHUmNAZBzlxs6EX9xk1OhdNpVJ6TSs7D4JN5ZByeKKGZBogtbVJYiyOqmZCv6KoIsTEFpGrY4kIVFxDtAoqPZA2Gk1Uw6RQTyl1U96iZCuj99rRZCjgSXbVMyInQyQ6J3rZBSCv9la2jZAAOoAdsJOcpCtZA0LaUn1dmYQhqoLzpVBG5pRzZCX9vsvUsQrHAZDZD"

page.id <- "359745807519263"
page <- getPage(page.id, token, n = 80)
## 25 posts 50 posts 75 posts 100 posts
Page <- subset(page, select = c(from_id, message))
colnames(Page) <- c("doc_id","text")

文本清理

toSpace <- content_transformer(function(x, pattern) {
  return (gsub(pattern, " ", x))}
)
docs <- VCorpus(DataframeSource(Page))
#inspect(docs)
docs<-tm_map(docs,stripWhitespace)
docs<-tm_map(docs,removeNumbers)
docs<-tm_map(docs,removePunctuation)
docs <- tm_map(docs, toSpace, "的")
docs <- tm_map(docs, toSpace, "年")
docs <- tm_map(docs, toSpace, "我")
docs <- tm_map(docs, toSpace, "有")
docs <- tm_map(docs, toSpace, "了")
docs <- tm_map(docs, toSpace, "是")
docs <- tm_map(docs, toSpace, "很")
docs <- tm_map(docs, toSpace, "都")
docs <- tm_map(docs, toSpace, "在")
docs <- tm_map(docs, toSpace, "和")
docs <- tm_map(docs, toSpace, "他")
docs <- tm_map(docs, toSpace, "為")
docs <- tm_map(docs, toSpace, "跟")
docs <- tm_map(docs, toSpace, "就")
docs <- tm_map(docs, toSpace, "也")
docs <- tm_map(docs, toSpace, "與")
docs <- tm_map(docs, toSpace, "以")
docs <- tm_map(docs, toSpace, "讓")
docs <- tm_map(docs, toSpace, "日")
docs <- tm_map(docs, toSpace, "月")
docs <- tm_map(docs, toSpace, "到")
for(i in seq(docs)){
  docs[[i]]<-gsub('[[:punct:]]', '', docs[[i]])
  docs[[i]]<-gsub(","," ",docs[[i]])
  docs[[i]]<-gsub("-"," ",docs[[i]])
}

製作文字雲

cc = worker()
num = c()
for (i in c(1:80)){
    num = append(num,docs[[i]],length(num))
}

num1 <- table(cc[num])
num1 <- data.frame(num1)
wordcloud2(data = num1,backgroundColor = 'black', color = 'random-light', 
           minRotation = -pi/2, maxRotation = pi/2,  
           rotateRatio = 1)

結論

可以發現 文字雲中出現最多的是“比賽”“富邦”“布拉”“達欣”等等

這些都在預料之內 像是 富邦 璞園 金酒 達欣 都是球隊的名字 而達欣隊洋將布拉的大量出現則是因為近期吵很兇的技術犯規禁賽事件

當然包括 林書緯 呂政儒這些本土球星也有在當中 最後可以從 排名 首輪 以及門票等等看出 今年SBL的季後賽即將來到

碰到的問題

在清理文本時 會發現 大部分的標點符號跟其他東西 就能被清理到 但最近網路開始流行的表情符號卻無法被清理 上網一開始查了很多資料 都沒辦法解決

所以一開始我就小偷懶了 選擇去忽略表情符號的出現 因為 在眾多文辭中 文字雲裡的表情符號 其實出現的非常少

後來 在discord上提問後 透過其他人的解答 知道可以從表情符號的編碼 來清理表情符號

而如果是用英文的話 甚至可以一次清除所有不相干的符號

這是我第一次在discord上提問 以前我都是自己埋頭找網路上的資料 因為覺得自己能夠花夠快的時間就找到解答 不過這次的問題 對我來說 困難許多 所以覺得這個平台很棒 以後遇到問題時 我會更多地做提問~