Data in the humanities

Data in the humanities Workshop

Information :

  • Université Sorbonne Nouvelle
  • Horaires et salles sur le site de l’université

Audience
Le séminaire est destiné aux doctorants et docteurs.
Cours en français.

Charge de travail
Lecture des documents
Participation active aux ateliers

Références

Liminaire

Recherche avancée sur Google

R, téléchargement

R, manuels

R-Studio

Réseaux socionumériques

Graph API Exporer

Création d’une application sur Facebook

Création d’une application sur Twitter

  • création de l’application (nom, description, site web)

Librairies R

Librairie utilisées

  • library(tm)
    # outil de fouille de texte
  • library(wordcloud)
    # Nuage de mots
  • library(RColorBrewer)
    # de la couleur
  • library(ggplot2)
    # représentation graphique

Installation d’une librairie (ici twitteR)

install.packages("twitteR")

Chargement d’une librairie (à nouveau twitteR)

require(twitteR)

De l’analyse de Twitter

Keys and access tokens

4 clefs :

  • consumerKey
  • consumerKey secret
  • Access token
  • Access token secret

Twitter OAuth

# Twitter Oauth
# insérer la clef entre les guillemets
consumer_key <- "consumer_key"
consumer_secret <- "consumer_secret"
token <- "Access token"
token_secret <- "Access token secret"

# Connexion à Twitter avec vos clefs
setup_twitter_oauth(consumer_key, consumer_secret, token, token_secret)

Les données accessibles
# Voir plus bas la fonction twListToDF

  • "text"
  • "favorited"
  • "favoriteCount"
  • "replyToSN"
  • "created"
  • "truncated"
  • "replyToSID"
  • "id"
  • "replyToUID"
  • "statusSource"
  • "screenName"
  • "retweetCount"
  • "isRetweet"
  • "retweeted"
  • "longitude"
  • "latitude"

Recherche Pad Twitter

# Utilisation des opérateurs logiques (Cf. premier séminaire)

"#Paris+immobilier"

# Nombre de tweets : 1000

n=1000

# Langue : français
# [Codes de langues (2 caractères)->http://www.iso.org/iso/home/standards/language_codes.htm]

lang="fr"

# Type de résultats

resultType="recent"

Cas pratique

# Recherche "#Paris", 1000 tweets les plus récents en français.

Paris_tweets <- searchTwitter("#paris", n=1000, lang="fr", resultType="recent")

# 100 derniers tweets @libe

libe_tweets = userTimeline("libe", n=100)

Opérations sur les données

# exemple sur les données provenant de Twitter

# Voir le corpus

Paris_tweets

# Voir les 10 premiers éléments

Paris_tweets[1:10]

# Structure du corpus

str(Paris_tweets)

# Les premiers résultats

head(Paris_tweets)

# Conversion en tableau de données

Paris_tweets <- twListToDF(Paris_tweets)

# En résumé

summary(Paris_tweets)

# Export des données (tableau)

write.table(Paris_tweets, "F:/Paris_Tweets.txt", sep=";")

# La fonction grep

grep("metro", Paris_tweets$text, ignore.case = TRUE)

# combien de mentions de "metro",
# dans le corpus "Paris_tweets",
# au sein de la colonne "text",
# en ignorant la casse.

Fouille de données

Librairies "wordcloud" et "tm".

La fonction s apply

Paris_txt <- sapply(Paris_tweets, function(x) x$getText())
# préparation du texte

Nettoyage et préparation du corpus

# Vectorisation

Paris_corpus <- Corpus(VectorSource(Paris_txt))

# Retrait de la ponctuation

Paris_tm <- tm_map(Paris_corpus, removePunctuation)

# Passage en minuscules

Paris_tm <- tm_map(Paris_tm, content_transformer(tolower))

Autres options dans "tm" :

# Retrait des nombres

removeNumber

# retrait de premierMot et secondMot du corpus

removeWords, c("premierMot", "secondMot"))

# retrait des mots vides

removeWords, stopwords("french"))

# Les espaces

stripWhitespace

Un nuage de mots

# Nuage de mots à partir du corpus Paris_tm

wordcloud(Paris_tm)

quelles options ?

  • ramdom.order=FALSE
    # centralité
  • max.words=200
  • colors=rainbow(50)

Luciencastex.com v6 '2011 | Mentions légales