R語言學(xué)習(xí)筆記:文本分析

文本分析

使用的數(shù)據(jù):yelp_subset.csv

library (data.table)
data.all = fread ('yelp_subset.csv', stringsAsFactors = FALSE)
dim (data.all)
data = data.all [1:100,]#取前一百行來分析

目標(biāo):利用評(píng)論預(yù)測(cè)打分
為了簡(jiǎn)化,把星級(jí)分為兩類:1-3星為0,4-5星為1

data$rating = c(0)#做出新的rating列并賦值為0
data$rating [data$stars >= 4] = 1#大于等于四星的評(píng)價(jià)賦值為1
data$rating = as.factor (data$rating)#變?yōu)轭悇e變量
table (data$rating)/nrow (data)#查看好壞點(diǎn)評(píng)的數(shù)量
data1.text <- data$text#取出文本
print(data1.text[1:5])#看看前五段
library(tm)
library(SnowballC)
mycorpus1 <- VCorpus( VectorSource(data1.text))#轉(zhuǎn)成corpus格式
mycorpus2 <- tm_map(mycorpus1, content_transformer(tolower))#全部轉(zhuǎn)成小寫字母
mycorpus3<- tm_map(mycorpus2, removeWords, stopwords("english"))#去掉無實(shí)際意義的單詞
mycorpus4 <- tm_map(mycorpus3, removePunctuation)#去掉標(biāo)點(diǎn)符號(hào)
mycorpus5 <- tm_map(mycorpus4, removeNumbers)#去掉數(shù)字
mycorpus6 <- tm_map(mycorpus5, stemDocument, lazy = TRUE)  #使用詞根
dtm1 <- DocumentTermMatrix( mycorpus6 ) #制作單詞頻率矩陣
as.matrix(dtm1[1, 1:50])#第一篇點(diǎn)評(píng)的前五十個(gè)變量,基本都是0,因?yàn)榈谝黄c(diǎn)評(píng)只有28個(gè)單詞
dim(as.matrix(dtm1))#一共有7161個(gè)自變量

可以通過lasso先篩選出來對(duì)于星級(jí)貢獻(xiàn)更為顯著的單詞,再進(jìn)行多元線性回歸來觀察單詞

threshold <- .01*length(mycorpus6)#留了出現(xiàn)頻率至少為文本總量1%的單詞
words.10 <- findFreqTerms(dtm1, lowfreq=threshold)
length(words.10)#將符合標(biāo)準(zhǔn)的單詞篩選出來
dtm.10 <- DocumentTermMatrix(mycorpus6, control = list(dictionary = words.10)) #將篩選出來的單詞從單詞矩陣中拿出放入新的矩陣

去掉那些不常出現(xiàn)的單詞,還剩1128個(gè)單詞,但是我們只有1000條數(shù)據(jù),自變量數(shù)量大于數(shù)據(jù)數(shù)量,運(yùn)用lasso篩選出更有用的單詞

data1.temp <- data.frame(data,as.matrix(dtm.10) ) #將數(shù)據(jù)變成dataframe格式,將原始數(shù)據(jù)和矩陣合并在一起,自變量和因變量放在一起 
data2 <- data1.temp[, c(11, 14:ncol(data1.temp))] #11列(data2的第一列)和14列分別為因變量和自變量(詞頻)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容