CoderCastrov logo
CoderCastrov
R

Оценка Twitter 'KKN Desa Penari' с использованием R

Оценка Twitter 'KKN Desa Penari' с использованием R
просмотров
2 мин чтение
#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 твитов - положительными. Мы можем сделать вывод, что большинство пользователей считают эти твиты нейтральными.

Счастливого чтения!