Оценка Twitter 'KKN Desa Penari' с использованием R
Анализ текста Twitter с использованием R (Часть 2)
Анализ текста Twitter с использованием R (Часть 2)
Привет, друзья :)
Это продолжение предыдущей статьи о парсинге данных Twitter, пожалуйста, прочтите предыдущую статью здесь_ _для большей ясности. Для_ оценки текста_ здесь используются данные, полученные в предыдущей статье. Перейдем к R!
Установка пакетов
Подготовим необходимые пакеты для оценки твиттера.
install.packages("plyr")
install.packages("stringr")
library(plyr)
library(stringr)
_Код выше используется для установки пакетов и использования необходимых пакетов. Убедитесь также, что у вас есть подключение к интернету.
Импорт данных
kkndp<-read.csv(“D://kkndesapenari_Clean.csv”,header=TRUE)
_Этот код используется для импорта данных в R, пожалуйста, измените код в соответствии с расположением файла в вашем каталоге.
Оценка текста
Вы уже скачали файлы в соответствии с инструкциями в ЧАСТЬ 1? Если нет, пожалуйста, сначала скачайте файлы здесь и укажите путь к файлам в вашем каталоге.
positive <- scan(“D:/R/Twitter/s-pos.txt”,what=”character”,comment.char=”;”)
negative <- scan(“D:/R/Twitter/s-neg.txt”,what=”character”,comment.char=”;”)
score.teks = function(kkndp, positive, negative, .progress=’none’)
{
require(plyr)
require(stringr)
scores = laply(kkndp, function(teks, positive, negative) {
teks = gsub(‘[[:punct:]]’, ‘’, teks)
teks = gsub(‘[[:cntrl:]]’, ‘’, teks)
teks = gsub(‘\\d+’, ‘’, teks)
teks = tolower(teks)
list.kata = str_split(teks, ‘\\s+’)
kata2 = unlist(list.kata)
positive.matches = match(kata2, positive)
negative.matches = match(kata2, negative)
positive.matches = !is.na(positive.matches)
negative.matches = !is.na(negative.matches)
score = sum(positive.matches) — (1*sum(negative.matches))
return(score)
}, positive, negative, .progress=.progress )
scores.df = data.frame(score=scores, text=kkndp)
return(scores.df)
}
hasil = score.teks(kkndp$text, positive, negative)
View(hasil)
Тогда результатом кода будет следующее:
Столбец score показывает значение или вес анализа данных твиттера в R. Затем я создам классификацию твита как положительный или отрицательный на основе полученных данных, где, если результат является положительным, то твит относится к категории Положительный. Если результат является отрицательным, то твит относится к категории Отрицательный. Если результат равен 0, то мы классифицируем его как Нейтральный. Чтобы добавить эту категорию, необходим следующий код:
#CONVERT SCORE TO CATEGORY
hasil$klasifikasi<- ifelse(hasil$score<0, “Negatif”,ifelse(hasil$score>0,”Positif”,”Netral”))
hasil$klasifikasi
View(hasil)
Тогда результат анализа будет выглядеть следующим образом:
Из результатов классификации видно, что из 10 000 твитов, содержащих фразу "kkn desa penari", 1 705 твитов являются отрицательными, 7 528 твитов - нейтральными и 767 твитов - положительными. Мы можем сделать вывод, что большинство пользователей считают эти твиты нейтральными.
Счастливого чтения!