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