Exemplo de dados textuais

text_data = c("Adorei o novo produto! Superou minhas expectativas.",
            "Produto ok, mas nada de especial.",
            "Péssima experiência com o produto. Não recomendo.",
            "Ainda não testei o produto, mas estou ansioso.")

Pré-processamento dos dados

# Converter para minúsculas
text_data_clean <- str_to_lower(text_data)

# Remover pontuação
text_data_clean <- str_replace_all(text_data_clean, "[[:punct:]]", "")

# Remover números
text_data_clean <- str_replace_all(text_data_clean, "[[:digit:]]", "")

# Remover espaços extras
text_data_clean <- str_squish(text_data_clean)

# Visualizar os textos limpos
print(text_data_clean)
## [1] "adorei o novo produto superou minhas expectativas"
## [2] "produto ok mas nada de especial"                  
## [3] "péssima experiência com o produto não recomendo"  
## [4] "ainda não testei o produto mas estou ansioso"

Análise de Sentimentos

# Exemplo de um léxico de sentimentos simples
sentiment_lexicon <- data.frame(
  word = c("adorei", "ok", "péssima", "ansioso", "especial"),
  sentiment = c("positive", "neutral", "negative", "positive", "positive"),
  stringsAsFactors = FALSE
)

# Dividindo as frases em palavras (tokenização básica)
tokens <- unlist(str_split(text_data_clean, " "))

# Verificando o sentimento das palavras
sentiments <- sentiment_lexicon %>%
  filter(word %in% tokens) %>%
  count(sentiment)

# Exibindo a análise de sentimentos
print(sentiments)
##   sentiment n
## 1  negative 1
## 2   neutral 1
## 3  positive 3
bp<-barplot(
  sentiments$n,
  space = 0.2,
  horiz = FALSE,
  las = 1,
  cex.names = 0.7,
  col = brewer.pal(n = 8, name = "Set3"),
  main = "Analise de sentimentos",
  sub = "Exemplo realizado por Natalia Teixeira",
  xlab="sentimentos", ylab = "frequencia",
  ylim = c(0, max(sentiments$n) + 1))
text(x = bp, y = sentiments$n, labels = sentiments$sentiment, pos = 3, cex = 0.8, col = "black")