IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

R Discussion :

Analyse des données Twitter (nettoyer données et analyse sentimentale)


Sujet :

R

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 18
    Points : 15
    Points
    15
    Par défaut 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 !

  2. #2
    Membre expérimenté
    Inscrit en
    Novembre 2009
    Messages
    703
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 703
    Points : 1 311
    Points
    1 311
    Par défaut 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 .

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 18
    Points : 15
    Points
    15
    Par défaut
    merci pour votre réponse

    Pourriez vous expliciter pour la fonction read.csv ? je n'ai pas importé de données donc pourquoi je devrais utiliser cette fonction ?

  4. #4
    Membre expérimenté
    Inscrit en
    Novembre 2009
    Messages
    703
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 703
    Points : 1 311
    Points
    1 311
    Par défaut 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,

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 18
    Points : 15
    Points
    15
    Par défaut
    C'est vrai que j'aurai du préciser, excusez-moi.
    en fait, le dataframe que j'ai provient de quelques instructions sur R.
    tweets <- searchTwitter("Macron", n = 4000, resultType = "recent" ,lang="fr") pour extraire
    tweets_df <- twListToDF(tweets) pour mettre des données en dataframe.
    C'est dans ce dataframe que j'ai des caractères bizarre et un problème d'encodage.

  6. #6
    Membre expérimenté
    Inscrit en
    Novembre 2009
    Messages
    703
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 703
    Points : 1 311
    Points
    1 311
    Par défaut 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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,

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 18
    Points : 15
    Points
    15
    Par défaut
    merci.
    j'ai réussi à débloquer le problème d'encodage. j'aperçois que mes données de mon dataframe sont incomplètes.
    Dans la colonne text de mon dataframe, le contenu du tweet est incomplet et la fin se termine par ... . Je suppose qu'il y a une taille maximum pour cela. Est ce que vous sauriez comment je pourrai faire résoudre ce problème ?

Discussions similaires

  1. Analyse des données chronologiques Project 2010
    Par Arnaud Malabeux dans le forum Project
    Réponses: 5
    Dernier message: 18/05/2011, 14h20
  2. Réponses: 0
    Dernier message: 01/11/2010, 19h57
  3. Quelle structure de données ? Analyse des occurrences d'un trigramme
    Par Tidus159 dans le forum Algorithmes et structures de données
    Réponses: 46
    Dernier message: 12/04/2009, 19h35
  4. Réponses: 2
    Dernier message: 21/04/2007, 20h19
  5. [TComPort] Analyse des données reçues avec ReadStr
    Par chourmo dans le forum Langage
    Réponses: 4
    Dernier message: 22/06/2005, 14h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo