Chapitre 4 Text Mining

Nous voici à l’étape de l’analyse de contenu.

4.1 Tokenisation des titres

La première étape de l’analyse des titres est de transformer notre table en tidy text format. Pour cela nous allons tokeniser les titres, c’est-à-dire séparer chaque mot (nous verrons aussi que nous pouvons séparer nos titres en n-grams) et les mettre dans une colonne. Pour nous aider, nous allons utiliser le package tidytext et proustr pour le nettoyage de la ponctuation.

#> Observations: 2,018
#> Variables: 5
#> Groups: agency [71]
#> $ agency   <chr> "takaneo", "betocee", "agence_vous", "binsfeld", "plan_k", "…
#> $ client   <chr> "kpmg", "rosport", "médecins du monde", "enovos", "belle éto…
#> $ category <chr> "category-marques", "category-crea", "category-crea", "categ…
#> $ title    <chr> "kpmg plage 2019: kpmg persiste et signe avec takaneo", "sou…
#> $ titlenum <int> 1, 1, 1, 1, 1, 2, 1, 2, 1, 3, 2, 1, 3, 2, 4, 1, 5, 6, 1, 2, …

4.2 Soustraire les stopwords

Les stopwords ou mots vides sont des mots communs dénués d’intérêt pour notre recherche. Ils sont le contraire des mots pleins. Ce sont des mots comme : “le”, “la”, “avec”, “du”, “ce”… que nous retrouvons avec une fréquence similaire dans un ensemble de documents. Pour soustraire les stopwords, nous devons récupérer une liste exhaustive. Nous allons nous servir du package stopwords pour créer 2 tables. Elles contiendront les mots vides provenant de sources différentes. Nous rassemblons l’ensemble dans une seule table stop_mix.

Table 4.1: Iso stopwords (10)
word
a
abord
absolument
afin
ah
ai
aie
aient
aies
ailleurs
ainsi
ait
allaient
allo
allons
allô
alors
anterieur
anterieure
anterieures

Voici le résultat.

Table 4.2: Title tokenisation (20)
agency client category titlenum word
takaneo kpmg category-marques 1 kpmg
takaneo kpmg category-marques 1 plage
takaneo kpmg category-marques 1 2019
takaneo kpmg category-marques 1 kpmg
takaneo kpmg category-marques 1 persiste
takaneo kpmg category-marques 1 signe
takaneo kpmg category-marques 1 takaneo
betocee rosport category-crea 1 sources
betocee rosport category-crea 1 rosport
betocee rosport category-crea 1 lancent
betocee rosport category-crea 1 eau
betocee rosport category-crea 1 aromatisée
betocee rosport category-crea 1 rosport
betocee rosport category-crea 1 mat
betocee rosport category-crea 1 betocee
agence_vous médecins du monde category-crea 1 médecins
agence_vous médecins du monde category-crea 1 monde
agence_vous médecins du monde category-crea 1 luxembourg
agence_vous médecins du monde category-crea 1 oppose
agence_vous médecins du monde category-crea 1 réalités

4.3 Répétition, fréquence (tf) et tf_idf

4.3.1 Répétition

Avant de calculer la fréquence d’apparition d’un mot dans un document, nous devons calculer d’abord sa répétition. Nous allons regrouper chaque mot par agence avant l’opération.

Table 4.3: Fréquence des token
agency n
no_agency 5341
binsfeld 690
mikado_publicis 582
agence_vous 533
concept_factory 480
vanksen 430
comed 334
plan_k 247
noosphere 237
wili 195
idp 161
maison_moderne 158
moskito 157
lola 142
h2a 134
nvision 122
takaneo 108
dechmann 106
moast 106
betocee 101
a3com 95
bizart 90
101_studios 83
apart 77
advantage 69
skill_lab 69
bunker_palace 64
cropmark 64
interact 59
explose 55
fish_and_chips 55
granduchy 54
human_made 52
mad_about 49
mad_about_soul 49
push_the_brand 48
knewledge 45
accentaigu 44
graphisterie_générale 44
groupe_get 38
mediation 34
shine_a_light 33
quattro_creative 28
studio_polenta 24
georges 23
ludwig 22
brainmade 21
vidale_gloesener 19
mefa 18
pointcomm 18
apollo strategists 16
intrepide_studio 16
antidote 11
gotcha 10
agacom 8
e_connect 8
piranha 8
smart media 8
standart 8
dotcom 6
meanings 6
plugandcom 6
kosmo 5
rose_de_claire 5
scalp 5
addedvalue 4
myagency 4
tapage 4
wide 4
neopixl 3
lightbulb 2

Les agences avec le plus de mots sont les agences avec le plus de titres à leur actif. Logique.

4.3.2 Répétition par agence

Regardons le mot le plus répété par agence.

Table 4.4: Fréquence des token
agency word n
no_agency luxembourg 205
binsfeld campagne 21
mikado_publicis campagne 21
comed campagne 18
agence_vous bnp 17
concept_factory luxembourg 17
vanksen luxembourg 13
plan_k luxembourg 9
idp campagne 8
moast createam 8
moskito campagne 8
dechmann partners 7
wili dudelange 7
lola nouvelle 6
takaneo kpmg 6
betocee dévoile 5
bizart campagne 5
fish_and_chips auchan 5
h2a design 5
maison_moderne quitte 5
noosphere agence 5
nvision bofferding 5
skill_lab spot 5
101_studios signe 4
a3com signe 4
apart bcee 4
cropmark luxembourg 4
human_made luxembourg 4
accentaigu campagne 3
bunker_palace nouvelle 3
graphisterie_générale 10 3
groupe_get campagne 3
knewledge google 3
mad_about dété 3
mad_about_soul dété 3
push_the_brand marketing 3
quattro_creative police 3
advantage agence 2
antidote agence 2
apollo strategists apollo 2
brainmade agence 2
explose 1535 2
granduchy 2018 2
interact communication 2
intrepide_studio briquemont 2
ludwig adidas 2
mediation 1er 2
mefa contern 2
pointcomm aral 2
shine_a_light rejoint 2
vidale_gloesener luxembourg 2
addedvalue alleva 1
agacom 3d 1
dotcom identité 1
e_connect activités 1
georges agence 1
gotcha appel 1
kosmo change 1
lightbulb creativecluster.lu 1
meanings banque 1
myagency belux 1
neopixl anthony 1
piranha capital 1
plugandcom airstrip 1
rose_de_claire 2017 1
scalp agence 1
smart media alexandra 1
standart associent 1
studio_polenta 2017 1
tapage bénédicte 1
wide david 1

On retrouve luxembourg, campagne, bnp… Tiens pour l’agence VOUS le mot bnp a été plus de fois cité que le mot campagne.

4.3.3 Fréquence

Calculons maintenant la proportion ou fréquence de chaque mot dans son groupe agence (ou document). On divise donc le nombre d’occurrences par la somme des occurrences.

Table 4.5: Fréquence des token
agency word n prop
no_agency luxembourg 205 0.0383823
binsfeld campagne 21 0.0304348
mikado_publicis campagne 21 0.0360825
comed campagne 18 0.0538922
agence_vous bnp 17 0.0318949
concept_factory luxembourg 17 0.0354167
vanksen luxembourg 13 0.0302326
plan_k luxembourg 9 0.0364372
idp campagne 8 0.0496894
moskito campagne 8 0.0509554
dechmann partners 7 0.0660377
wili dudelange 7 0.0358974
lola nouvelle 6 0.0422535
moast nouvelle 6 0.0566038
betocee dévoile 5 0.0495050
bizart campagne 5 0.0555556
h2a design 5 0.0373134
maison_moderne quitte 5 0.0316456
noosphere agence 5 0.0210970
skill_lab spot 5 0.0724638
101_studios signe 4 0.0481928
a3com signe 4 0.0421053
apart campagne 4 0.0519481
cropmark luxembourg 4 0.0625000
fish_and_chips cloche 4 0.0727273
human_made luxembourg 4 0.0769231
takaneo consulting 4 0.0370370
accentaigu campagne 3 0.0681818
bunker_palace nouvelle 3 0.0468750
graphisterie_générale 10 3 0.0681818
groupe_get campagne 3 0.0789474
knewledge google 3 0.0666667
mad_about dété 3 0.0612245
mad_about_soul dété 3 0.0612245
nvision digitale 3 0.0245902
push_the_brand marketing 3 0.0625000
quattro_creative police 3 0.1071429
advantage agence 2 0.0289855
antidote agence 2 0.1818182
apollo strategists apollo 2 0.1250000
brainmade agence 2 0.0952381
explose 1535 2 0.0363636
granduchy 2018 2 0.0370370
interact communication 2 0.0338983
intrepide_studio briquemont 2 0.1250000
ludwig agence 2 0.0909091
mediation 1er 2 0.0588235
mefa contern 2 0.1111111
pointcomm aral 2 0.1111111
shine_a_light rejoint 2 0.0606061
vidale_gloesener luxembourg 2 0.1052632
addedvalue alleva 1 0.2500000
agacom 3d 1 0.1250000
dotcom identité 1 0.1666667
e_connect activités 1 0.1250000
georges agence 1 0.0434783
gotcha appel 1 0.1000000
kosmo change 1 0.2000000
lightbulb plateforme 1 0.5000000
meanings banque 1 0.1666667
myagency belux 1 0.2500000
neopixl anthony 1 0.3333333
piranha capital 1 0.1250000
plugandcom airstrip 1 0.1666667
rose_de_claire 2017 1 0.2000000
scalp agence 1 0.2000000
smart media alexandra 1 0.1250000
standart associent 1 0.1250000
studio_polenta 2017 1 0.0416667
tapage bénédicte 1 0.2500000
wide david 1 0.2500000

Nous pourrions maintenant comparer les documents et trouver des similitudes dans la fréquence des mots utilisés avec un calcul de corrélation entre catégorie pour cela il nous faudrait calculer pour chaque mot la fréquence par catégorie sans oublier de supprimer la colonne word pour ne garder que les colonnes numériques comme illusté ci-dessous.

4.3.4 Corrr Package

Le package corrr du meta-package tidymodels va nous permettre de manipuler notre matrix.

Table 4.6: Calcul de corrélation
x y r
category-communiques category-concours-dagences 0.6235569
category-communiques category-crea 0.4708947
category-communiques category-medias 0.5057214
category-communiques category-vie-dagence 0.4216571

Résumons. Nous avons transformé nos données par tokénisation (un mot par rang). Puis nous avons enlevé les mots vides (stopwords). Calculé la répétition(n dans notre table) puis la fréquence ou proportion (prop). Mais :

  • Est-ce que la fréquence suffit à déterminer le contenu d’un texte ?
  • Que se passe-t-il avec les mots dont la fréquence est élevé mais qui ne sont pas ou très peu important ?

Reprenons notre table sans la soustraction des stopwords.

Table 4.7: Tokenisation sans stopwords
agency word n prop
no_agency de 307 0.0364392
concept_factory avec 73 0.0808416
agence_vous avec 70 0.0727651
mikado_publicis avec 62 0.0579439
binsfeld de 51 0.0429655
comed la 35 0.0551181
vanksen de 27 0.0381356
wili de 24 0.0701754
idp avec 19 0.0629139
plan_k avec 19 0.0439815
moskito avec 17 0.0568562
noosphere de 17 0.0437018
nvision de 15 0.0617284
maison_moderne de 14 0.0555556
a3com de 12 0.0764331
cropmark de 12 0.1016949
bizart avec 11 0.0588235
dechmann avec 11 0.0607735
graphisterie_générale la 10 0.1111111
101_studios la 9 0.0633803

Sans la soustraction des mots vides, nous voyons que les termes avec le plus de répétitions sont des mots sans doute de peu d’importance. Néanmoins, il peut arriver que ces mêmes mots soient plus importants dans certains documents que d’autres. Pour cela, nous allons utiliser une autre méthode qui consiste à calculer la fréquence inverse d’un terme dans un document. La fréquence inverse va nous permettre de diminuer le poids des termes qui se répètent donc commun dans l’ensemble des documents. La formule de l’ìdfest :

\(idf = ln(\dfrac{n_{doc}}{n_{doc-term}})\)

n_doc est le nombre de documents. Nous utiliserons l’ensemble des titres par agences pour document. n_doc_term est la répétition du mot dans l’ensemble des documents. Si par ex. le mot apparait au moins 1x dans 5 documents, la valeur sera de 5.

Donc si nous retrouvons le terme dans tous les documents, la valeur de l’idf sera de 1. Si le terme apparait moins souvent, la valeur augmentera. Dès la valeur obtenue, nous multiplions tf par ìdf pour obtenir la valeur tf-idf, c’est-à-dire le poids final du terme ou son importance.

Table 4.8: Calcul tf-idf
agency word n tf n_doc_term n_doc n_doc_n_doc_term idf tf_idf
no_agency de 307 0.0364392 58 71 1.224138 0.2022369 0.0073693
no_agency la 259 0.0307418 54 71 1.314815 0.2736958 0.0084139
no_agency le 206 0.0244510 51 71 1.392157 0.3308542 0.0080897
no_agency luxembourg 205 0.0243323 41 71 1.731707 0.5491078 0.0133611
no_agency pour 149 0.0176855 44 71 1.613636 0.4784902 0.0084623
no_agency et 145 0.0172107 50 71 1.420000 0.3506569 0.0060350
no_agency les 144 0.0170920 38 71 1.868421 0.6250937 0.0106841
no_agency l 129 0.0153116 50 71 1.420000 0.3506569 0.0053691
no_agency à 125 0.0148368 42 71 1.690476 0.5250103 0.0077895
no_agency au 104 0.0123442 35 71 2.028571 0.7073318 0.0087315
no_agency du 98 0.0116320 35 71 2.028571 0.7073318 0.0082277
no_agency des 95 0.0112760 26 71 2.730769 1.0045833 0.0113276
no_agency avec 88 0.0104451 51 71 1.392157 0.3308542 0.0034558
no_agency en 87 0.0103264 34 71 2.088235 0.7363194 0.0076035
no_agency d 79 0.0093769 38 71 1.868421 0.6250937 0.0058614
concept_factory avec 73 0.0808416 51 71 1.392157 0.3308542 0.0267468
no_agency campagne 73 0.0086647 38 71 1.868421 0.6250937 0.0054162
agence_vous avec 70 0.0727651 51 71 1.392157 0.3308542 0.0240746
no_agency media 68 0.0080712 14 71 5.071429 1.6236225 0.0131046
no_agency un 66 0.0078338 33 71 2.151515 0.7661723 0.0060021

Pour nous faciliter la vie, la fonction bind_tf_idf du package tidytext permet de calculer ces valeurs directement.

Table 4.9: Calcul tf-idf avec tidytext
agency word n tf idf tf_idf
no_agency de 307 0.0364392 0.2022369 0.0073693
no_agency la 259 0.0307418 0.2736958 0.0084139
no_agency le 206 0.0244510 0.3308542 0.0080897
no_agency luxembourg 205 0.0243323 0.5491078 0.0133611
no_agency pour 149 0.0176855 0.4784902 0.0084623
no_agency et 145 0.0172107 0.3506569 0.0060350
no_agency les 144 0.0170920 0.6250937 0.0106841
binsfeld binsfeld 133 0.0993279 1.6236225 0.1612709
no_agency l 129 0.0153116 0.3506569 0.0053691
no_agency à 125 0.0148368 0.5250103 0.0077895
mikado_publicis mikado_publicis 114 0.0945274 1.7777732 0.1680482
agence_vous agence_vous 112 0.1028466 1.8647846 0.1917868
no_agency au 104 0.0123442 0.7073318 0.0087315
concept_factory concept_factory 102 0.1006910 2.6532420 0.2671576
no_agency du 98 0.0116320 0.7073318 0.0082277
no_agency des 95 0.0112760 1.0045833 0.0113276
no_agency avec 88 0.0104451 0.3308542 0.0034558
no_agency en 87 0.0103264 0.7363194 0.0076035
no_agency d 79 0.0093769 0.6250937 0.0058614
vanksen vanksen 78 0.0973783 1.8647846 0.1815895

4.3.5 Quel est le terme avec la valeur tf_idf la plus élevée par agence ?

Table 4.10: tf-idf par agence
agency word n tf idf tf_idf
binsfeld binsfeld 133 0.0993279 1.623622 0.1612709
mikado_publicis mikado_publicis 114 0.0945274 1.777773 0.1680482
agence_vous agence_vous 112 0.1028466 1.864785 0.1917868
concept_factory concept_factory 102 0.1006910 2.653242 0.2671576
vanksen vanksen 78 0.0973783 1.864785 0.1815895
comed comed 62 0.0885714 2.876386 0.2547656
plan_k plan_k 49 0.1004098 2.653242 0.2664116
no_agency médias 44 0.0052226 2.653242 0.0138567
noosphere noosphere 39 0.0884354 2.183238 0.1930755
idp idp 33 0.0976331 3.164068 0.3089178
wili wili 33 0.0854922 2.183238 0.1866499
lola lola 32 0.1189591 2.876386 0.3421723
moskito moskito 29 0.0873494 2.653242 0.2317591
h2a h2a 26 0.1052632 2.876386 0.3027774
maison_moderne maison_moderne 25 0.0899281 3.569533 0.3210011
nvision nvision 25 0.0905797 1.960095 0.1775448
bizart bizart 24 0.1132075 3.569533 0.4040980
dechmann dechmann 21 0.1014493 2.876386 0.2918072
advantage advantage 19 0.1484375 3.569533 0.5298525
takaneo takaneo 18 0.0952381 4.262680 0.4059695
betocee betocee 17 0.0890052 4.262680 0.3794008
moast moast 16 0.0733945 3.569533 0.2619841
101_studios 101_studios 15 0.0949367 3.569533 0.3388797
a3com a3com 15 0.0872093 4.262680 0.3717453
apart apart 15 0.0955414 4.262680 0.4072624
bunker_palace bunker_palace 12 0.0909091 3.569533 0.3245030
fish_and_chips fish_and_chips 12 0.1176471 3.164068 0.3722432
skill_lab skill_lab 12 0.0784314 2.653242 0.2080974
cropmark cropmark 11 0.0839695 3.164068 0.2656851
mad_about mad_about_soul 11 0.1037736 3.569533 0.3704232
mad_about_soul mad_about_soul 11 0.1037736 3.569533 0.3704232
push_the_brand push_the_brand 11 0.1018519 3.569533 0.3635635
explose explose 10 0.0943396 4.262680 0.4021396
graphisterie_générale graphisterie_générale 10 0.1000000 4.262680 0.4262680
interact interact 10 0.0800000 2.876386 0.2301108
granduchy granduchy 9 0.0927835 3.569533 0.3311938
groupe_get groupe_get 9 0.1216216 4.262680 0.5184340
human_made human_made 9 0.0857143 3.569533 0.3059599
accentaigu accentaigu 8 0.0919540 4.262680 0.3919706
knewledge knewledge 8 0.0888889 2.183238 0.1940656
mediation mediation 8 0.1159420 3.569533 0.4138589
shine_a_light shine_a_light 6 0.1071429 4.262680 0.4567157
ludwig ludwig 5 0.1111111 3.569533 0.3966147
studio_polenta studio_polenta 5 0.1041667 4.262680 0.4440292
quattro_creative quattro_creative 4 0.0754717 4.262680 0.3217117
antidote antidote 3 0.1304348 4.262680 0.5560017
brainmade brainmade 3 0.0769231 4.262680 0.3278985
georges georges 3 0.0731707 4.262680 0.3119034
intrepide_studio intrepide_studio 3 0.0967742 3.569533 0.3454386
vidale_gloesener vidale_gloesener 3 0.0909091 3.569533 0.3245030
apollo strategists apollo 2 0.0909091 4.262680 0.3875164
apollo strategists strategists 2 0.0909091 4.262680 0.3875164
e_connect e_connect 2 0.1428571 4.262680 0.6089543
gotcha gotcha 2 0.0800000 4.262680 0.3410144
kosmo kosmo 2 0.1666667 4.262680 0.7104466
mefa contern 2 0.0645161 4.262680 0.2750116
mefa mefa 2 0.0645161 4.262680 0.2750116
piranha piranha 2 0.1538462 4.262680 0.6557969
pointcomm aral 2 0.0740741 4.262680 0.3157541
pointcomm pointcomm 2 0.0740741 4.262680 0.3157541
tapage tapage 2 0.2500000 4.262680 1.0656700
addedvalue addedvalue 1 0.1000000 4.262680 0.4262680
addedvalue alleva 1 0.1000000 4.262680 0.4262680
addedvalue démolition 1 0.1000000 4.262680 0.4262680
agacom agacom 1 0.0833333 4.262680 0.3552233
agacom roby 1 0.0833333 4.262680 0.3552233
dotcom dotcom 1 0.1111111 4.262680 0.4736311
dotcom light 1 0.1111111 4.262680 0.4736311
lightbulb 101_studios 1 0.1428571 3.569533 0.5099332
lightbulb creativecluster.lu 1 0.1428571 3.569533 0.5099332
lightbulb lightbulb 1 0.1428571 3.569533 0.5099332
meanings meanings 1 0.0833333 4.262680 0.3552233
myagency belux 1 0.1666667 4.262680 0.7104466
myagency myagency 1 0.1666667 4.262680 0.7104466
neopixl chaves 1 0.2500000 4.262680 1.0656700
neopixl neopixl 1 0.2500000 4.262680 1.0656700
plugandcom airstrip 1 0.1000000 4.262680 0.4262680
plugandcom plugandcom 1 0.1000000 4.262680 0.4262680
rose_de_claire cnl 1 0.1111111 4.262680 0.4736311
rose_de_claire ed 1 0.1111111 4.262680 0.4736311
rose_de_claire rose_de_claire 1 0.1111111 4.262680 0.4736311
scalp collaborative 1 0.1000000 4.262680 0.4262680
scalp scalp 1 0.1000000 4.262680 0.4262680
smart media dussort 1 0.1111111 4.262680 0.4736311
smart media petitjean 1 0.1111111 4.262680 0.4736311
standart associent 1 0.0769231 4.262680 0.3278985
standart créer 1 0.0769231 4.262680 0.3278985
standart kugener 1 0.0769231 4.262680 0.3278985
standart standart 1 0.0769231 4.262680 0.3278985
standart steve 1 0.0769231 4.262680 0.3278985
wide wide 1 0.1428571 4.262680 0.6089543

Sans grande surprise, c’est le nom de l’agence qui a le tf_idf le plus élevé. C’est normal, car le terme n’apparait que dans le document le concernant et il a la fréquence la plus élevée. Que se passe-t-il si nous enlevons les noms d’agences des titres ?

Table 4.11: tf-idf par agence
agency word n tf idf tf_idf
neopixl chaves 1 0.3333333 4.262680 1.4208933
myagency belux 1 0.2000000 4.262680 0.8525360
lightbulb creativecluster.lu 1 0.2000000 3.569533 0.7139065
tapage bénédicte 1 0.1666667 4.262680 0.7104466
wide photographe 1 0.1666667 3.569533 0.5949221
dotcom light 1 0.1250000 4.262680 0.5328350
rose_de_claire cnl 1 0.1250000 4.262680 0.5328350
addedvalue alleva 1 0.1111111 4.262680 0.4736311
plugandcom airstrip 1 0.1111111 4.262680 0.4736311
scalp collaborative 1 0.1111111 4.262680 0.4736311
smart media dussort 1 0.1111111 4.262680 0.4736311
antidote immotop.lu 2 0.1000000 4.262680 0.4262680
kosmo houillon 1 0.1000000 4.262680 0.4262680
apollo strategists apollo 2 0.0909091 4.262680 0.3875164
agacom roby 1 0.0909091 4.262680 0.3875164
piranha white 1 0.0909091 4.262680 0.3875164
e_connect activités 1 0.0833333 4.262680 0.3552233
standart associent 1 0.0833333 4.262680 0.3552233
pointcomm aral 2 0.0800000 4.262680 0.3410144
mefa contern 2 0.0689655 4.262680 0.2939779
intrepide_studio briquemont 2 0.0740741 3.569533 0.2644098
meanings com 1 0.0909091 2.876386 0.2614896
quattro_creative police 3 0.0612245 3.569533 0.2185428
fish_and_chips auchan 5 0.0568182 3.569533 0.2028144
gotcha fausse 1 0.0434783 4.262680 0.1853339
ludwig adidas 2 0.0512821 3.569533 0.1830530
takaneo kpmg 6 0.0350877 4.262680 0.1495677
dechmann ierace 6 0.0331492 4.262680 0.1413043
vidale_gloesener lsa 1 0.0357143 3.569533 0.1274833
knewledge google 3 0.0400000 3.164068 0.1265627
brainmade benelux 1 0.0277778 4.262680 0.1184078
moast createam 8 0.0398010 2.876386 0.1144830
human_made infographies 3 0.0315789 3.569533 0.1127221
georges flavor 1 0.0263158 4.262680 0.1121758
accentaigu dépistage 2 0.0253165 4.262680 0.1079159
mad_about dété 3 0.0319149 3.164068 0.1009809
mad_about_soul dété 3 0.0319149 3.164068 0.1009809
apart bcee 4 0.0281690 3.569533 0.1005502
studio_polenta alimentaire 1 0.0232558 4.262680 0.0991321
granduchy centaure 2 0.0229885 4.262680 0.0979926
graphisterie_générale confiées 2 0.0222222 4.262680 0.0947262
push_the_brand street 3 0.0312500 2.876386 0.0898870
explose sonotron 2 0.0208333 4.262680 0.0888058
mediation 1er 2 0.0333333 2.653242 0.0884414
shine_a_light costantini 1 0.0200000 4.262680 0.0852536
advantage remercie 2 0.0185185 4.262680 0.0789385
betocee kichechef 3 0.0172414 4.262680 0.0734945
cropmark visuel 3 0.0254237 2.876386 0.0731284
wili dudelange 7 0.0204678 3.569533 0.0730606
bunker_palace commun 2 0.0168067 4.262680 0.0716417
groupe_get absorbe 1 0.0153846 4.262680 0.0655797
skill_lab présentent 2 0.0145985 4.262680 0.0622289
interact interactive 2 0.0188679 3.164068 0.0596994
nvision bofferding 5 0.0205761 2.876386 0.0591849
h2a rapport 4 0.0184332 3.164068 0.0583238
concept_factory autopolis 16 0.0177187 3.164068 0.0560632
a3com attractive 2 0.0127389 4.262680 0.0543017
idp losch 5 0.0165563 3.164068 0.0523852
maison_moderne direction 4 0.0158730 3.164068 0.0502233
moskito yellow.lu 4 0.0133779 3.569533 0.0477529
bizart destinations 2 0.0106952 4.262680 0.0455902
101_studios 1ere 2 0.0140845 3.164068 0.0445643
agence_vous bnp 17 0.0176715 2.316770 0.0409408
plan_k moutarderie 4 0.0092593 4.262680 0.0394693
mikado_publicis orange 14 0.0130841 2.876386 0.0376350
comed winwin 5 0.0078740 4.262680 0.0335644
binsfeld enovos 15 0.0126369 2.653242 0.0335288
lola tango 3 0.0128205 2.316770 0.0297022
vanksen stratégie 8 0.0112994 2.470920 0.0279200
noosphere losch 3 0.0077121 3.164068 0.0244015
no_agency médias 44 0.0052226 2.653242 0.0138567

4.4 Wordcloud

Pour visualiser les termes par agence, nous pouvons utiliser le package wordcloud avec la fonction map. Je ne vais pas vous indiquer à quel agence appartient le cloud, à vous de deviner.

4.4.1 wordcloud 1

4.4.2 wordcloud 2

4.4.3 wordcloud 3

4.4.4 wordcloud 4

4.4.5 wordcloud 5

4.4.6 wordcloud 6

4.4.7 wordcloud 7