Sample.Cat Project Comment Twitter reflte les sentiments dune - - PowerPoint PPT Presentation

sample cat project
SMART_READER_LITE
LIVE PREVIEW

Sample.Cat Project Comment Twitter reflte les sentiments dune - - PowerPoint PPT Presentation

Sample.Cat Project Comment Twitter reflte les sentiments dune population en tat de choc ? Mathieu Gaborit PSES-HSF 3 juillet 2016 Contenu 1. Remember... 2. Qui est on ? 3. TimeLine & Dfis passs 4. La suite : Machine


slide-1
SLIDE 1

Sample.Cat Project

Comment Twitter reflète les sentiments d’une population en état de choc ?

Mathieu Gaborit PSES-HSF – 3 juillet 2016

slide-2
SLIDE 2

Contenu

  • 1. Remember...
  • 2. Qui est ”on” ?
  • 3. TimeLine & Défis passés
  • 4. La suite : Machine Learning
  • 5. Un peu de socio
  • 6. We have cookies
slide-3
SLIDE 3

Celui qui chante cause

Mathieu Gaborit

  • Padawan physicien
  • Idéaliste pythoniste aimant les données
  • Intéressé par... un peu tout
slide-4
SLIDE 4

Remember...

slide-5
SLIDE 5

Souvenez vous…

slide-6
SLIDE 6
  • Jan. 2015
  • Juil. 2015
  • Jan. 2016
  • Juil. 2016
  • Jan. 2017

Charlie Hebdo: 15 personnes

Source Wikipédia

slide-7
SLIDE 7
  • Jan. 2015
  • Juil. 2015
  • Jan. 2016
  • Juil. 2016
  • Jan. 2017

Hyper Casher: 5 personnes

Source Wikipédia

slide-8
SLIDE 8
  • Jan. 2015
  • Juil. 2015
  • Jan. 2016
  • Juil. 2016
  • Jan. 2017

Thalys: 4 personnes

Source Wikipédia

slide-9
SLIDE 9
  • Jan. 2015
  • Juil. 2015
  • Jan. 2016
  • Juil. 2016
  • Jan. 2017

Paris Attacks: 500 personnes

Source Wikipédia

slide-10
SLIDE 10
  • Jan. 2015
  • Juil. 2015
  • Jan. 2016
  • Juil. 2016
  • Jan. 2017

San Bernardino: 15 personnes

Source Wikipédia

slide-11
SLIDE 11
  • Jan. 2015
  • Juil. 2015
  • Jan. 2016
  • Juil. 2016
  • Jan. 2017

Istanbul: 25 personnes

Source Wikipédia

slide-12
SLIDE 12
  • Jan. 2015
  • Juil. 2015
  • Jan. 2016
  • Juil. 2016
  • Jan. 2017

Brussels: 360 personnes

Source Wikipédia

slide-13
SLIDE 13
  • Jan. 2015
  • Juil. 2015
  • Jan. 2016
  • Juil. 2016
  • Jan. 2017

Orlando: 100 personnes

Source Wikipédia

slide-14
SLIDE 14
  • Jan. 2015
  • Juil. 2015
  • Jan. 2016
  • Juil. 2016
  • Jan. 2017

Istanbul (Atatürk) : 200 personnes

Source Wikipédia

slide-15
SLIDE 15

Things that shape you...

Beaucoup de crises sociales depuis quelques années :

  • nouvelle montée d’un “terrorisme d’état”
  • retour des questions d’identité nationale
  • toujours moins d’accord entre population et gouvernement
  • propagation de l’info toujours plus rapide (stress partagé)

Hypothèse : ces crises sociales modifient la perception du monde et les réactions futures

slide-16
SLIDE 16

Things that shape you...

Beaucoup de crises sociales depuis quelques années :

  • nouvelle montée d’un “terrorisme d’état”
  • retour des questions d’identité nationale
  • toujours moins d’accord entre population et gouvernement
  • propagation de l’info toujours plus rapide (stress partagé)

Hypothèse : ces crises sociales modifient la perception du monde et les réactions futures

slide-17
SLIDE 17

Problème à deux échelles

A l’échelle d’une personne

  • analyse psychologique
  • réflexion sur le penchant affectif
  • lien avec des peurs personnelles
  • prise en compte des expériences passées

A l’échelle d’une population

  • analyses sociologique & politique
  • effets à moyen et long terme
  • réflexion sur l’appartenance à des

groupes, des communautés

  • problème statistique
slide-18
SLIDE 18

Problème à deux échelles

A l’échelle d’une personne

  • analyse psychologique
  • réflexion sur le penchant affectif
  • lien avec des peurs personnelles
  • prise en compte des expériences passées

A l’échelle d’une population

  • analyses sociologique & politique
  • effets à moyen et long terme
  • réflexion sur l’appartenance à des

groupes, des communautés

  • problème statistique
slide-19
SLIDE 19

Problème à deux échelles

A l’échelle d’une personne

  • analyse psychologique
  • réflexion sur le penchant affectif
  • lien avec des peurs personnelles
  • prise en compte des expériences passées

A l’échelle d’une population

  • analyses sociologique & politique
  • effets à moyen et long terme
  • réflexion sur l’appartenance à des

groupes, des communautés

  • problème statistique
slide-20
SLIDE 20

Comment mesurer ?

Plusieurs approches et en particulier : Sondage classique/internet Sympa pour...

  • la mise en oeuvre
  • le contrôle du volume

Mais pas pour...

  • la représentativité
  • l’impartialité des

questions Data-mining sur des réseaux sociaux Pas toujours idéal à cause...

  • du défi technique
  • de la définition des marqueurs

Mais...

  • impartial par essence
  • représentativité analysée
slide-21
SLIDE 21

Comment mesurer ?

Plusieurs approches et en particulier : Sondage classique/internet Sympa pour...

  • la mise en oeuvre
  • le contrôle du volume

Mais pas pour...

  • la représentativité
  • l’impartialité des

questions Data-mining sur des réseaux sociaux Pas toujours idéal à cause...

  • du défi technique
  • de la définition des marqueurs

Mais...

  • impartial par essence
  • représentativité analysée
slide-22
SLIDE 22

Comment mesurer ?

Plusieurs approches et en particulier : Sondage classique/internet Sympa pour...

  • la mise en oeuvre
  • le contrôle du volume

Mais pas pour...

  • la représentativité
  • l’impartialité des

questions Data-mining sur des réseaux sociaux Pas toujours idéal à cause...

  • du défi technique
  • de la définition des marqueurs

Mais...

  • impartial par essence
  • représentativité analysée
slide-23
SLIDE 23

Sample.Cat Project Quelles informations peut-on tirer de l’activité d’une population sur Twitter ?

slide-24
SLIDE 24

Qui est ”on” ?

slide-25
SLIDE 25

Team – Part 1

Ahmet Aker, PhD

  • PhD en NLP
  • Research Fellow à USFD (Sheffield, UK)
  • Intéressé par l’extraction d’informations et la classification

Baekkwan Park, PhD

  • PhD en Sciences Politiques
  • Chercheur post-doc à MSU (East Lansing, USA)
  • Intéressé par les problématiques sociales et NLP
slide-26
SLIDE 26

Team – Part 2

Ben Michalski

  • Ingénieur logiciel sur des projets web
  • Problem-solver on steroids
  • Intéressé par le côté BigData

(récup., stockage, manip.) Fred Blain, PhD

  • Co-fondateur du HAUM
  • Chercheur post-doc à USFD (Sheffield, UK)
  • Intéressé par les problématiques NLP/ML
slide-27
SLIDE 27

TimeLine & Défis passés

slide-28
SLIDE 28

Timeline

# P a r i s A t t a c k s

13 Nov. 15

P r e m i è r e s i d é e s H A U M T a l k s # 3 D é b u t d e s c r a w l s Statistiques Classification (supervisée) Clustering Analyse sémantique …

slide-29
SLIDE 29

Timeline

# P a r i s A t t a c k s P r e m i è r e s i d é e s

Déc. 15

H A U M T a l k s # 3 D é b u t d e s c r a w l s Statistiques Classification (supervisée) Clustering Analyse sémantique …

slide-30
SLIDE 30

Timeline

# P a r i s A t t a c k s P r e m i è r e s i d é e s H A U M T a l k s # 3

8 Jan. 16

D é b u t d e s c r a w l s Statistiques Classification (supervisée) Clustering Analyse sémantique …

slide-31
SLIDE 31

Timeline

# P a r i s A t t a c k s P r e m i è r e s i d é e s H A U M T a l k s # 3 D é b u t d e s c r a w l s

Mars 16

Statistiques Classification (supervisée) Clustering Analyse sémantique …

slide-32
SLIDE 32

Timeline

# P a r i s A t t a c k s P r e m i è r e s i d é e s H A U M T a l k s # 3 D é b u t d e s c r a w l s Statistiques Classification (supervisée) Clustering Analyse sémantique …

slide-33
SLIDE 33

Réduction du champ

2 questions pour l’instant :

  • 1. Peut-on définir un temps caractéristique social en observant

Twitter ?

  • 2. Quelle est l’influence des médias sur le sentiment global ?

Outils pour y répondre :

  • 1. Classification supervisée, Markov Chains
  • 2. Analyse statistique, traitement de signal, NLP
  • 3. Quelques idées farfelues à tester
slide-34
SLIDE 34

Réduction du champ

2 questions pour l’instant :

  • 1. Peut-on définir un temps caractéristique social en observant

Twitter ?

  • 2. Quelle est l’influence des médias sur le sentiment global ?

Outils pour y répondre :

  • 1. Classification supervisée, Markov Chains
  • 2. Analyse statistique, traitement de signal, NLP
  • 3. Quelques idées farfelues à tester
slide-35
SLIDE 35

Prérequis

Statistiques, Machine Learning non supervisé Besoin de grands jeux de données Analyse sémantique, Machine Learning supervisé Besoin de jeux qualifiés et annotés

slide-36
SLIDE 36

TimeLine & Défis passés

Récupérer des tweets : défi #1

slide-37
SLIDE 37

Des tweets dans le passé

Twitter est l’instantané même… …la récupération “facile” dans le passé est limitée à 10 jours. Solution : mettre en place un crawler sauce Michalski !

  • 1. Scrapping web sur la recherche avancée (géoloc) :

86kT

  • 2. Enrichissement via /statuses/lookup
  • 3. Extraction des hashtags :

26k#

  • 4. Filtrage (violent, par nombre d’occurences)
  • 5. Scrapping et enrichissement

jour par jour, hashtag par hashtag Autre solution (payante) : gnip.com

slide-38
SLIDE 38

Des tweets dans le passé

Twitter est l’instantané même… …la récupération “facile” dans le passé est limitée à 10 jours. Solution : mettre en place un crawler sauce Michalski !

  • 1. Scrapping web sur la recherche avancée (géoloc) : ∼86kT
  • 2. Enrichissement via /statuses/lookup
  • 3. Extraction des hashtags : ∼26k#
  • 4. Filtrage (violent, par nombre d’occurences)
  • 5. Scrapping et enrichissement

jour par jour, hashtag par hashtag Autre solution (payante) : gnip.com

slide-39
SLIDE 39

Des tweets dans le passé

Twitter est l’instantané même… …la récupération “facile” dans le passé est limitée à 10 jours. Solution : mettre en place un crawler sauce Michalski !

  • 1. Scrapping web sur la recherche avancée (géoloc) : ∼86kT
  • 2. Enrichissement via /statuses/lookup
  • 3. Extraction des hashtags : ∼26k#
  • 4. Filtrage (violent, par nombre d’occurences)
  • 5. Scrapping et enrichissement

jour par jour, hashtag par hashtag Autre solution (payante) : gnip.com

slide-40
SLIDE 40

Résultat des courses

Bonus : Travailler off-line assure la complétude des conversations. $ du -h --classe-ça-correctement GB Géoloc .128 13/11 seul 1.3 Première semaine 10

slide-41
SLIDE 41

Résultat des courses

Bonus : Travailler off-line assure la complétude des conversations. $ du -h --classe-ça-correctement GB Géoloc .128 13/11 seul 1.3 Première semaine 10

slide-42
SLIDE 42

TimeLine & Défis passés

Étude préliminaire : dynamique

slide-43
SLIDE 43

Qu’apporte une analyse quantitative ?

Dynamique ⇔ Évolution d’un système Il y a plein de modèles pour étudier les systèmes dynamiques. En particulier lorsqu’ils sont linéaires et smooth. Idée Représenter le nombres de tweets en fonction du temps et analyser le tout comme une série temporelle.

slide-44
SLIDE 44

Qu’apporte une analyse quantitative ?

Dynamique ⇔ Évolution d’un système Il y a plein de modèles pour étudier les systèmes dynamiques. En particulier lorsqu’ils sont linéaires et smooth. Idée Représenter le nombres de tweets en fonction du temps et analyser le tout comme une série temporelle.

slide-45
SLIDE 45

Y a-t-il une modification du motif Jour/Nuit ?

slide-46
SLIDE 46

Y a-t-il une modification du motif Jour/Nuit ?

slide-47
SLIDE 47

Y a-t-il une modification du motif Jour/Nuit ?

slide-48
SLIDE 48

Y a-t-il une modification du motif Jour/Nuit ?

slide-49
SLIDE 49

Voit-on une corrélation média/public sur le nombre de tweets ?

slide-50
SLIDE 50

Voit-on une corrélation média/public sur le nombre de tweets ?

slide-51
SLIDE 51

Voit-on une corrélation média/public sur le nombre de tweets ?

slide-52
SLIDE 52

La suite : Machine Learning

slide-53
SLIDE 53

La suite : Machine Learning

5min ML crash-course

slide-54
SLIDE 54

Deux approches du Machine Learning

Apprentissage supervisé

Entrainement Évaluation

? ? ? ? ?

WTF!?

slide-55
SLIDE 55

Deux approches du Machine Learning

Apprentissage supervisé Entraînement sur un jeu entièrement résolu

Entrainement Évaluation

? ? ? ? ?

WTF!?

slide-56
SLIDE 56

Deux approches du Machine Learning

Apprentissage supervisé Entraînement sur un jeu entièrement résolu

Entrainement Évaluation

? ? ? ? ?

WTF!?

slide-57
SLIDE 57

Deux approches du Machine Learning

Apprentissage supervisé Entraînement sur un jeu entièrement résolu

Entrainement Évaluation

? ? ? ? ?

WTF!?

slide-58
SLIDE 58

Deux approches du Machine Learning

Apprentissage supervisé Exécution de la tâche elle-même

Entrainement Évaluation

? ? ? ? ?

WTF!?

slide-59
SLIDE 59

Deux approches du Machine Learning

Apprentissage supervisé Exécution de la tâche elle-même

Entrainement Évaluation

? ? ? ? ?

WTF!?

slide-60
SLIDE 60

Deux approches du Machine Learning

Apprentissage supervisé Exécution de la tâche elle-même

Entrainement Évaluation

? ? ? ? ?

WTF!?

slide-61
SLIDE 61

Deux approches du Machine Learning

Apprentissage non supervisé

Entrainement Évaluation

? ? ? ? ?

WTF!?

slide-62
SLIDE 62

Deux approches du Machine Learning

Apprentissage non supervisé Régression libre

Entrainement Évaluation

? ? ? ? ?

WTF!?

slide-63
SLIDE 63

Deux approches du Machine Learning

Apprentissage non supervisé Régression libre

Entrainement Évaluation

? ? ? ? ?

WTF!?

slide-64
SLIDE 64

Deux approches du Machine Learning

Apprentissage non supervisé Nommage des classes

Entrainement Évaluation

? ? ? ? ?

WTF!?

slide-65
SLIDE 65

Deux approches du Machine Learning

Et pour du texte ?

Entrainement Évaluation

? ? ? ? ?

WTF!?

slide-66
SLIDE 66

Non-supervisé sur du texte ? Srly ?

Un ordinateur, ça fait des calculs. Sur des nombres. Travailler sur du texte implique de le rendre machine-friendly. Many problems, one solution… Blow up the moon !

V e c t

  • r

i z e t e x t !

slide-67
SLIDE 67

Non-supervisé sur du texte ? Srly ?

Un ordinateur, ça fait des calculs. Sur des nombres. Travailler sur du texte implique de le rendre machine-friendly. Many problems, one solution… Blow up the moon !

V e c t

  • r

i z e t e x t !

slide-68
SLIDE 68

Non-supervisé sur du texte ? Srly ?

Un ordinateur, ça fait des calculs. Sur des nombres. Travailler sur du texte implique de le rendre machine-friendly. Many problems, one solution… Blow up the moon !

V e c t

  • r

i z e t e x t !

slide-69
SLIDE 69

Vectoriser ? Comment ?

Principe :

  • identifier certains aspects (features)
  • transformer chaque élément sémantique en une suite de

nombres (vectors)

  • représenter ces vecteurs dans l’espace et constater comment ils

se regroupent Quelques techniques : Brown Clusters, Bag of Words, words embeddings

slide-70
SLIDE 70

La suite : Machine Learning

Applications aux gazouillis

slide-71
SLIDE 71

Tweeter n’est pas écrire

Un tweet c’est :

  • 140 caractères (très très court)
  • informel/condensé
  • pas uniquement du texte (emojis, images)
  • rarement clair (ironie, sarcasme)
  • extrêmement dépendant du contexte

Un tweet est une entitée psychologiquement intéressante :

  • courte
  • tranchée
  • immédiate
slide-72
SLIDE 72

Alors comment faire ?

Emojis/Emoticones/Abbréviations Inclus au lexique et dans les vecteurs. [BRS16] Dépendance vis-à-vis du contexte

  • Réflexion à l’échelle des conversations
  • Lien entre les métadonnées du tweet et des données

extérieures (activité médiatique, etc.) Ironie/Sarcasme

  • Utilisation de jeux spécialisés [Bos+16]
  • Recours à des esclaves humains
slide-73
SLIDE 73

La suite : Machine Learning

Classification

slide-74
SLIDE 74

Classification : objectifs

Sample.Cat ⇔ sentiment analysis En particulier :

  • Identifier le type d’opinion (sentiment) pour chaque tweet
  • Observer les changements dans l’opinion au cours du temps
  • Mettre au jour l’(in)existence d’une dynamique dans le lien

média/opinion Dynamic Topic Modelling

slide-75
SLIDE 75

Classification : 2 étapes

Besoin de faire des classes pour trier les données... ...oui, mais lesquelles ? Double approche :

  • 1. utiliser une approche non-supervisée pour identifier des

ensembles

  • 2. nommer les ensembles
  • 3. mettre en oeuvre un outil d’annotation
  • 4. utiliser une approche supervisée

pour classifier le jeu

slide-76
SLIDE 76

Classification : 2 étapes

Besoin de faire des classes pour trier les données... ...oui, mais lesquelles ? Double approche :

  • 1. utiliser une approche non-supervisée pour identifier des

ensembles

  • 2. nommer les ensembles
  • 3. mettre en oeuvre un outil d’annotation
  • 4. se procurer des annotateurs humains
  • 5. utiliser une approche supervisée

pour classifier le jeu

slide-77
SLIDE 77

Classification : 2 étapes

Besoin de faire des classes pour trier les données... ...oui, mais lesquelles ? Double approche :

  • 1. utiliser une approche non-supervisée pour identifier des

ensembles

  • 2. nommer les ensembles
  • 3. mettre en oeuvre un outil d’annotation
  • 4. se procurer des annotateurs humains
  • 5. utiliser une approche supervisée

pour classifier le jeu

slide-78
SLIDE 78

Prochain défi technique Implementer un outil de crowdtagging

pas trop biaisé

From Scratch ? Pourquoi ?

  • Libre (donc vérifiable)
  • Paramètrable (nombre d’annotateurs/item, etc.)
  • Contrôle des rejets
  • Choix des canaux de diffusion (Twitter, etc.)
  • Pré/post traitement on-line
slide-79
SLIDE 79

Un peu de socio

slide-80
SLIDE 80

Un peu de socio

Intérêt sociologique

slide-81
SLIDE 81

Points d’intérêts

Intérêts socios

  • 1. Réaction et type de langage
  • 2. Rapport à l’information

Sample.Cat plusieurs millions de tweets Intérêts scientifiques

  • 1. Approche on-line
  • 2. Libération des ressources
slide-82
SLIDE 82

Points d’intérêts

Intérêts socios

  • 1. Réaction et type de langage
  • 2. Rapport à l’information

Sample.Cat ⇔ plusieurs millions de tweets Intérêts scientifiques

  • 1. Approche on-line
  • 2. Libération des ressources
slide-83
SLIDE 83

Réactions, langages, information

Réaction et type de langage

  • L’étude de la dynamique et de la forme des réactions permet de

comprendre l’évolution au cours d’une crise.

  • L’immense jeu de données permet de construire des modèles

statistiques ayant un sens. Rapport à l’information

  • L’information en direct innonde nos sociétés et

particulièrement en temps de crise.

  • L’analyse proposée questionne les

conséquences d’un accès immmédiat et ininterrompu à l’information.

slide-84
SLIDE 84

Temps réel, libération du jeu

Approche on-line

  • Les métadonnées récupérées permettent de rejouer l’activité

Twitter de la soirée du 13/11 et de voir si des informations auraient pu être tirées du flux.

  • L’approche online utilisée parfois comme argument aux écoutes

est ainsi mise à l’épreuve. Libération des ressources Le projet devrait permettre d’aboutir à un jeu de données annoté immense, en français (habituellement sous-dotté).

slide-85
SLIDE 85

Un peu de socio

Un écosystème de recherche

slide-86
SLIDE 86

13·11 – Étude d’une attaque

12 Années de recherche 35 Partenaires 1000 Témoignages vidéos 8 Champs de recherche (de la santé aux mathématiques) 20 Millions d’euros de financement

slide-87
SLIDE 87

Comportements sociaux et réseaux

  • Des thèses en socio sur l’axe réseaux sociaux
  • Beaucoup de recherches sur le data-mining appliqué aux

médias sociaux

  • Réflexion autour du suivi d’opinion(s) et de rumeurs
  • Terrain de jeu pour réseaux de neurones

Application à la politique

  • Bing Political Index : suivi des opinions pour la présidentielle

américaine

  • Brexit Watch par W2O Group (basé sur Twitter)
slide-88
SLIDE 88

We have cookies

slide-89
SLIDE 89

Join the purring side !

On cherche en particulier :

  • d’autres amateurs de machine learning/bigdata
  • au moins un autre physicien fou (je me sens seul)
  • des gens pour le côté psycho/socio (Baekkwan va se sentir seul)

Interessé(e)s ? Welcome! meow@sample.cat — #sample.cat @ irc.freenode.net

slide-90
SLIDE 90

Des questions ?

mat@sample.cat