Analyse des données Twitter (nettoyer données et analyse sentimentale)
Bonjour à tous,
Je suis entrain de faire de l'analyse des données de Twitter.
J'ai à ma disposition un dataframe contenant plusieurs colonne( text, id, screenname, retweetcount, ...).
Tout d'abord, j'ai un problème de données , sûrement un problème d'encodage : dans mon dataframe, plus précisément dans la colonne text, j'ai des caractères à . Je pense que c'est un problème depuis l'extraction.
Puis, pour analyser le sentiment d'un tweet, j'ai utilisé les packages
Code:
1 2 3
| library(sentimentr)
library(SentimentAnalysis)
library(RSentiment) |
et la fonction calculate_sentiment pour savoir si un tweet est positive, negative ou neutral. Maintenant j'aimerais appliquer cette fonction à mon dataframe donc à la colonne [text] et stocker le résultat de chaque tweet quelque part ( par exemple dans une nouvelle colonne). J'ai essayé la fonction ddply mais je n'ai pas réussi à l'utiliser.
Pourriez - vous m'aider à résoudre ces 2 problèmes ? Je suis débutant.
Je vous remercie d'avance !
Analyse des données Twitter
Bonjour,
• Pour le problème d'encodage, vous pouvez tester l'import avec différents encodages, par exemple avec le paramètre encoding de la fonction read.csv().
• La fonction calculate_sentiment() produit un dataframe :
Code:
1 2 3 4 5 6 7
| > df <- data.frame(id=c(1,2),
+ text=c("This is good","This is bad"))
> library(RSentiment)
> str(calculate_sentiment(df$text))
'data.frame': 2 obs. of 2 variables:
$ text : Factor w/ 2 levels "This is bad",..: 2 1
$ sentiment: Factor w/ 2 levels "Negative","Positive": 2 1 |
Vous pouvez donc merger le résultat avec votre dataframe :
Code:
1 2 3 4 5
| > df <- merge(df,calculate_sentiment(df$text),by="text")
> df
text id sentiment
1 This is bad 2 Negative
2 This is good 1 Positive |
Cordialement,
NB : 2 discussions récentes sur l'analyse de sentiments sur Twitter ici et là.
Analyse des données Twitter
Bonjour,
Vous ne dites pas comment vous importez les données dans R. La fonction read.csv() permet d'importer le contenu d'un fichier csv. Voir help(read.csv).
Cordialement,
Analyse des données Twitter
Bonjour,
Vous pouvez essayer de définir l'encodage avec l'instruction options(encoding="UTF8"). Test sur le lexique français de sentiments et d’émotions FEEL :
Code:
1 2 3 4 5 6 7 8 9 10
| > options(encoding="native.enc") # option par défaut
> feel <- read.csv2("D:/temp/feel.csv")
> head(feel)
id word polarity joy fear sadness anger surprise disgust
1 1 Ã* ce endroit lÃ* positive 0 0 0 0 0 0
2 2 Ã* le hâte negative 0 1 0 0 1 0
3 3 Ã* part negative 0 0 1 0 0 0
4 4 Ã* pic negative 0 1 0 0 0 0
5 5 Ã* rallonge negative 0 0 1 0 0 0
6 6 abasourdir negative 0 0 0 0 1 0 |
Code:
1 2 3 4 5 6 7 8 9 10
| > options(encoding="UTF8")
> feel <- read.csv2("D:/temp/feel.csv")
> head(feel)
id word polarity joy fear sadness anger surprise disgust
1 1 à ce endroit là positive 0 0 0 0 0 0
2 2 à le hâte negative 0 1 0 0 1 0
3 3 à part negative 0 0 1 0 0 0
4 4 à pic negative 0 1 0 0 0 0
5 5 à rallonge negative 0 0 1 0 0 0
6 6 abasourdir negative 0 0 0 0 1 0 |
Voir aussi deux articles sur l'analyse de sentiments en français :
Cordialement,