Stressed Out!
Aqui você vai ajustar as palavras negativas para refletir melhor o texto específico. Em seguida, vai comparar as pontuações básicas e personalizadas de polarity().
Uma música famosa do Twenty One Pilots se chama "Stressed Out". Ao ler a letra, você percebe que a canção fala de nostalgia da juventude. No geral, a maioria diria que a polaridade é negativa. A letra menciona repetidamente estresse, medos e fingimento.
Vamos comparar a letra usando o léxico de subjetividade padrão e também um personalizado.
Para começar, você precisa verificar se o léxico de subjetividade key.pol já não contém o termo que você quer adicionar. Uma forma de checar é com grep(). A função grep() retorna a linha que contém caracteres que correspondem a um padrão de busca. Eis um exemplo usado ao indexar:
data_frame[grep("search_pattern", data_frame$column), ]
Depois de verificar que a gíria ou nova palavra ainda não está no léxico key.pol, você precisa adicioná-la. O código abaixo usa sentiment_frame() para construir o novo léxico. No código, sentiment_frame() recebe o vetor original de palavras positivas, positive.words. Em seguida, as negative.words originais são concatenadas a "smh" e "kappa", ambas consideradas gírias negativas. Embora você possa definir os pesos positivo e negativo, o padrão é 1 e -1, então eles não são incluídos abaixo.
custom_pol <- sentiment_frame(positive.words, c(negative.words, "hate", "pain"))
Agora você está pronto para aplicar a polaridade e ela fará referência ao léxico de subjetividade personalizado!
Este exercicio faz parte do curso
Análise de Sentimentos em R
Instruções do exercicio
Criamos stressed_out, que contém a letra da música "Stressed Out", do Twenty One Pilots.
- Use
polarity()emstressed_outpara ver a pontuação padrão. - Verifique
key.polpara quaisquer palavras que contenham "stress". Usegrep()para indexar o data frame pesquisando na colunax. - Crie
custom_polcomo um novo data frame de sentimento.- Chame
sentiment_frame()e passepositive.wordscomo primeiro argumento, sem concatenar novos termos. - Depois, use
c()para combinarnegative.wordscom os novos termos "stressed" e "turn back".
- Chame
- Aplique
polarity()novamente emstressed_outcom o parâmetro adicionalpolarity.frame = custom_polpara comparar como as novas palavras alteram a pontuação para uma representação mais fiel da música.
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
# stressed_out has been pre-defined
head(stressed_out)
# Basic lexicon score
___(___)
# Check the subjectivity lexicon
___[___("stress", x)]
# New lexicon
custom_pol <- ___(___, c(negative.words, "___", "___"))
# Compare new score
___(___, polarity.frame = ___)