Le corpus utilisé dans cet exemple contient 454 titres de publications des éditions de l’Ined (en français) extraites de l’archive ouverte (Archined) sur les 10 dernières années. Les textes,variable textuelle, sont composés de quelques mots (textes courts) et sont associés à des métadonnées.
Exemples de publications - Ined Edition
Nous utilisons R.temis dont le principe est de faciliter les étapes essentielles de l’analyse textuelle (importation du corpus et métadonnées, nettoyage et analyses) en s’appuyant au maximum sur les packags existants (tm, FactoMineR, explor, igraph, Shiny..).
Le corpus et les métadonnées (variables qualitatives) sont dans un “tableau” ; la variable textuelle est en 4e colonne.
#corpus <- import_corpus("publis.txt", format="alceste", language="fr")
corpus <- import_corpus("publis.csv", format="csv",textcolumn = 4, language="fr")
corpus
## <<VCorpus>>
## Metadata: corpus specific: 1, document level (indexed): 4
## Content: documents: 454
Le corpus est court, il ne sera pas découpé.
Affichage d’un extrait du tableau lexical entier (TLE) ou DocumentTermMatrix (DTM), essentiellement rempli de 0.
## <<DocumentTermMatrix (documents: 454, terms: 1257)>>
## Non-/sparse entries: 2899/567779
## Sparsity : 99%
## Maximal term length: 21
## Weighting : term frequency (tf)
## Sample :
## Terms
## Docs enquête entre évolution fécondité femmes france immigrés population vie
## X232 0 1 0 0 0 0 0 0 1
## X263 0 0 0 0 0 0 0 1 0
## X295 0 0 0 0 0 1 0 0 0
## X301 0 0 0 0 0 0 0 0 0
## X312 0 0 0 0 0 1 0 0 0
## X57 0 0 0 0 0 0 0 0 0
## X63 0 0 0 0 0 0 0 0 0
## X67 1 0 0 0 1 0 0 0 0
## X68 1 0 0 0 1 0 0 0 0
## X69 1 0 0 0 1 0 0 0 0
## Terms
## Docs violences
## X232 0
## X263 0
## X295 0
## X301 0
## X312 0
## X57 0
## X63 2
## X67 1
## X68 1
## X69 1
## <<DocumentTermMatrix (documents: 454, terms: 1257)>>
## Non-/sparse entries: 2899/567779
## Sparsity : 99%
## Maximal term length: 21
## Weighting : term frequency (tf)
Les lignes du tableau lexical (dtm) correspondent ici aux 454 titres et les colonnes aux 1257 mots différents utilisés dans les titres.
On crée un premier lexique (dictionnaire) : ensemble des mots distincts du corpus
Les concordances permettent, pour un mot choisit, de rassembler l’ensemble des unités de textes (ou documents) dans lesquels il apparaît. On vérifie ici l’usage de ces mots dans les titres avec la fonction concordances
. On décide d’éliminer certains mots. On en fait une liste qu’on supprime du lexique.
## X328
## L’ombre démesurée de Halley. Les recherches démographiques dans les Philosophical Transactions of the Royal Society (1683-1800)
#concordances(corpus, dtm, "plus")
#concordances(corpus, dtm, "face")
concordances(corpus, dtm, c("préface","chapitre"))
## X313
## Préface [La paléodémographie, à la croisée de la démographie et de l'archéologie]
## X327
## Préface
## X416
## Chapitre 3. Logement, intimité et genre
## X425
## Chapitre 6. Santé des adultes: l'importance des maladies non transmissibles
## X426
## Préface à la nouvelle édition
## X430
## Préface
## X439
## Préface - Virage : une enquête exceptionnelle
L’usage du lemmatiseur permet de :
Cette opération permet de réduire la liste de mots distincts.
lexique3 <- read.csv("Lexique383_simplifie.csv", fileEncoding="UTF-8")
lexique3 <- arrange(lexique3, desc(freqlivres))
lexique3 <- lexique3[!duplicated(lexique3$ortho),]
voc_actif <- lexique3[lexique3$cgram %in% c("ADV", "VER", "ADJ", "NOM"),]
dic_total <- merge(dictemis2, voc_actif, by.x="row.names", by.y="ortho", all.x=TRUE)
dic_total <- mutate(dic_total, Term=coalesce(lemme, Term))
rownames(dic_total) <- dic_total$Row.names
#View(dic_total)
# Lister les mots non reconnus par Lexique 3
nr <- filter(dic_total, is.na(lemme))
#View(nr)
On adapte ce lemmatiseur (dic_total
) en créant un autre dictionnaire (dicor
) avec une colonne contenant les mots mal lemmatisés automatiquement. Puis on lemmatisera le tableau lexical avec les “mots” (Term) de cette nouvelle colonne.
La fonction View
affiche le dictionnaire dans une fenêtre de RStudio où on pourra trier les colonnes. Cette étape n’est pas exécutée ici. L’exploration du dictionnaire par affichage des mots (Term) par ordre alphabétique aide à créer ces regroupements.
dicor <- dic_total
# View(dicor)
dicor$Term[dicor$Term == "ae"] <- "aes"
dicor$Term[dicor$Term == "alger"] <- "algérie"
dicor$Term[dicor$Term == "afriqu"] <- "afrique"
dicor$Term[dicor$Term == "ancrag"] <- "ancrage"
dicor$Term[dicor$Term == "appari"] <- "appariement"
dicor$Term[dicor$Term == "antill"] <- "antilles"
dicor$Term[dicor$Term == "asi"] <- "asie"
dicor$Term[dicor$Term == "austral"] <- "australie"
dicor$Term[dicor$Term == "autonomis"] <- "autonomisation"
dicor$Term[dicor$Term == "bioéthiqu"] <- "bioéthique"
dicor$Term[dicor$Term == "biopolit"] <- "biopolitique"
dicor$Term[dicor$Term == "birman"] <- "birmanie"
dicor$Term[dicor$Term == "bretagn"] <- "bretagne"
dicor$Term[dicor$Term == "burkin"] <- "burkina"
dicor$Term[dicor$Term == "cherchel"] <- "cherchell"
dicor$Term[dicor$Term == "cinqu"] <- "cinquante"
dicor$Term[dicor$Term == "colomb"] <- "colombie"
dicor$Term[dicor$Term == "démograph"] <- "démographie"
dicor$Term[dicor$Term == "dispar"] <- " disparité"
dicor$Term[dicor$Term == "écrou"] <- "écroué"
dicor$Term[dicor$Term == "égypt"] <- "égypte"
dicor$Term[dicor$Term == "enquêt"] <- "enquête"
dicor$Term[dicor$Term == "érfi"] <- "erfi"
dicor$Term[dicor$Term == "etat"] <- "état"
dicor$Term[dicor$Term == "etud"] <- "étude"
dicor$Term[dicor$Term == "europ"] <- "europe"
dicor$Term[dicor$Term == "franc"] <- "france"
dicor$Term[dicor$Term == "gend"] <- "gender"
dicor$Term[dicor$Term == "gener"] <- "génération"
dicor$Term[dicor$Term == "génes"] <- "genèse"
dicor$Term[dicor$Term == "genr"] <- "genré"
dicor$Term[dicor$Term == "gg"] <- "ggs"
dicor$Term[dicor$Term == "guadeloup"] <- "guadeloupe"
dicor$Term[dicor$Term == "hor"] <- "hors"
dicor$Term[dicor$Term == "ile"] <- "île"
dicor$Term[dicor$Term == "immigrer"] <- "immigré"
dicor$Term[dicor$Term == "inégalit"] <- "inégalité"
dicor$Term[dicor$Term == "interact"] <- "interactif"
dicor$Term[dicor$Term == "island"] <- "islande"
dicor$Term[dicor$Term == "ital"] <- "italie"
dicor$Term[dicor$Term == "législ"] <- "législation"
dicor$Term[dicor$Term == "maf"] <- "mafe"
dicor$Term[dicor$Term == "martin"] <- "martinique"
dicor$Term[dicor$Term == "masculinis"] <- "masculinisation"
dicor$Term[dicor$Term == "mayott"] <- "mayotte"
dicor$Term[dicor$Term == "méthodolog"] <- "méthodologique"
dicor$Term[dicor$Term == "métropolis"] <- "métropolisation"
dicor$Term[dicor$Term == "mobil"] <- "mobilité"
dicor$Term[dicor$Term == "modeler"] <- "modèle"
dicor$Term[dicor$Term == "moldav"] <- "moldavie"
dicor$Term[dicor$Term == "multisitu"] <- "multisitué"
dicor$Term[dicor$Term == "normand"] <- "normandie"
dicor$Term[dicor$Term == "normat"] <- "normatif"
dicor$Term[dicor$Term == "océan"] <- "océanie"
dicor$Term[dicor$Term == "orphelinag"] <- "orphelinage"
dicor$Term[dicor$Term == "paléodémograph"] <- "paléodémographie"
dicor$Term[dicor$Term == "pari"] <- "paris"
dicor$Term[dicor$Term == "polynes"] <- "polynésie"
dicor$Term[dicor$Term == "quatr"] <- "quatre"
dicor$Term[dicor$Term == "recens"] <- "recensé"
dicor$Term[dicor$Term == "recompos"] <- "recomposé"
dicor$Term[dicor$Term == "reconfigur"] <- "reconfiguration"
dicor$Term[dicor$Term == "remigr"] <- "remigration"
dicor$Term[dicor$Term == "sad"] <- "sade"
dicor$Term[dicor$Term == "saisonnal"] <- "saisonnalité"
dicor$Term[dicor$Term == "sexual"] <- "sexualité"
dicor$Term[dicor$Term == "sociodémograph"] <- "sociodémographique"
dicor$Term[dicor$Term == "socioéconom"] <- "socioéconomique"
dicor$Term[dicor$Term == "surmortal"] <- "surmortalité"
dicor$Term[dicor$Term == "teew"] <- "teewa"
dicor$Term[dicor$Term == "thaïland"] <- "thaïlande"
dicor$Term[dicor$Term == "trent"] <- "trente"
dicor$Term[dicor$Term == "tunis"] <- "tunisie"
#View(dicor)
La fonction combine_terms
de R.temis permet de remplacer les mots initiaux par les mots du dictionnaire “personnalisé” dicor
.
## <<DocumentTermMatrix (documents: 454, terms: 1043)>>
## Non-/sparse entries: 2816/470706
## Sparsity : 99%
## Maximal term length: 18
## Weighting : term frequency (tf)
La taille du vocabulaire est réduite à 1043 mots distincts au lieu de 1257 initialement.
On affiche la distibution des 10 mots les plus employés dans les titres (occurrence et %).
## Global occ. Global %
## france 98 3.4217877
## enquête 50 1.7458101
## femme 32 1.1173184
## population 29 1.0125698
## démographique 28 0.9776536
## immigré 27 0.9427374
## vie 27 0.9427374
## violence 27 0.9427374
## famille 26 0.9078212
## couple 23 0.8030726
“Enquête” est utilisé 50 fois dans les titres et représente 1,73% des occurrences.
Le nuage de mot est une forme de visualisation du lexique associé au corpus. On affiche ici les mots d’au moins 5 occurrences et 50 mots au maximum.
On affiche les mots cooccurrents, c’est à dire présents simultanément dans les unités textuelles (ici les titres).
#cooc_terms(dtm2, "femme")
#cooc_terms(dtm2, "couple")
#cooc_terms(dtm2, "vie")
cooc_terms(dtm2, "immigré", n=10)
## % Term/Cooc. % Cooc./Term Global % Cooc. Global t value Prob.
## immigré 17.532468 100 0.9427374 27 27 Inf 0.0000
## descendant 5.194805 100 0.2793296 8 8 6.442756 0.0000
## identité 3.246753 100 0.1745810 5 5 4.924699 0.0000
## nationale 1.948052 100 0.1047486 3 3 3.610824 0.0002
## part 1.948052 100 0.1047486 3 3 3.610824 0.0002
## natif 1.298701 100 0.0698324 2 2 2.761873 0.0029
## regain 1.298701 100 0.0698324 2 2 2.761873 0.0029
## registre 1.298701 100 0.0698324 2 2 2.761873 0.0029
## religiosité 1.298701 100 0.0698324 2 2 2.761873 0.0029
## sécularis 1.298701 100 0.0698324 2 2 2.761873 0.0029
Parmi les titres contenant le mot “descendant”, ce mot représente 5.19% des occurrences et 100% des titres qui contiennent “decendant” contiennent aussi “immigré”.
On génère un graphe de mots où les mots les plus fréquents sont centraux et où les liens représentent les cooccurrences avec ces mots. On a le choix entre 2 affichages :
Une analyse permet de répérer des univers lexicaux, et des oppositions …
## 34 documents have been skipped because they do not include any occurrence of the terms retained in the final document-term matrix. Increase the value of the 'sparsity' parameter if you want to include them. These documents are: X7, X8, X23, X26, X84, X96, X143, X148, X155, X171, X191, X213, X259, X281, X300, X307, X310, X311, X314, X318, X320, X321, X327, X350, X357, X368, X395, X397, X399, X410, X424, X430, X433, X438.
## Variable(s) num have been skipped since they contain more than 100 levels.
res <- explor::prepare_results(resTLE)
explor::CA_var_plot(res, xax = 1, yax = 2, lev_sup = FALSE, var_sup = FALSE,
var_sup_choice = , var_hide = "Row", var_lab_min_contrib = 1, col_var = "Position",
symbol_var = "Type", size_var = NULL, size_range = c(10, 300), labels_size = 10,
point_size = 10, transitions = TRUE, labels_positions = NULL, xlim = c(-5.48,
4.84), ylim = c(-3.79, 6.52))
On peut ouvrir l’interface d’exploration du résultats de l’AFC (resTLE) avec explor(resTLE)
pour lire les contributions et coordonnées des mots axe par axe. Attention à fermer cette fenêtre de Shiny avant de lancer d’autre commandes R.
On affiche les titres les plus contributifs (par axe)
## Most contributive documents on the positive side of axis 1:
## X427
## Les limites sociospatiales aux aspirations étudiantes en Haute-Normandie
## X421
## Parcours d'étudiants. Sources, enjeux et perspectives de recherche
## X422
## L'autonomie résidentielle des étudiants européens
## X435
## Étudiants et parents. Prévalence, circonstances et incidences sur les études
## X429
## Trajectoires étudiantes à l'université de Ouagadougou
##
##
## Most contributive documents on the negative side of axis 1:
#contributive_docs(corpus,resTLE, 2)
#contributive_docs(corpus,resTLE, 3)
#contributive_docs(corpus,resTLE, 4)
Autre aide à l’interprétation : les concordances de mots.
#concordances(corpus, dtm2, "enquête")
#concordances(corpus, dtm2, "violence")
#concordances(corpus, dtm2, "homogam")
concordances(corpus, dtm2, "guerre")
## X126
## Générations sacrifiées : le bilan démographique de la Grande Guerre
## X279
## Avant-propos sur la Grande Guerre
## X302
## La guerre de 1914-1918 et la disparition des noms de famille en France : un essai d'estimation à partir du modèle Galton-Watson
## X351
## Générations sacrifiées : le bilan démographique de la Grande Guerre
## X352
## La mortalité infantile en Europe pendant les deux guerres mondiales
## X353
## Bouleversements démographiques de la Grande Guerre
## X378
## Pertes de guerre en URSS : un nouvel éclairage
## X412
## Les déracinés de Cherchell. Camps de regroupement dans la guerre d'Algérie (1954-1962)
Une classification sur les premiers axes de l’AFC est souvent plus simple à interpréter que les axes grâce à la lecture des mots et documents spécifiques des classes.
L’exécution de la classification génère un dendrogramme dans la fenêtre Plots. Au vu du dendrogramme, on fixe un nombre de classes (ici 7) … Puis on affiche les “mots” et documents (titres) spécifiques des classes
# Interactif : ne fonctionne que hors du RMarkdown
# corpus_clustering(resTLE)
clusAFCTLE <- corpus_clustering(resTLE, 7)
plot(clusAFCTLE$call$t$tree)
clusAFCTLE$desc.var
corpus2 <- add_clusters(corpus, clusAFCTLE)
characteristic_docs(corpus2, dtm2, meta(corpus2)$cluster, ndocs=3)
Mais on ne l’exécute pas ici. On fait une classification directe des titres.
En classant ensemble les titres contenant des mots cooccurrents, on peut repérer les thématiques du corpus.
## 62 documents have been skipped because they do not include any occurrence of the terms retained in the final document-term matrix. Increase the value of the 'sparsity' parameter if you want to include them. These documents are: X7, X8, X10, X23, X26, X50, X56, X59, X65, X84, X96, X118, X138, X143, X148, X155, X171, X190, X191, X192, X200, X209, X213, X217, X221, X223, X231, X248, X259, X260, X274, X280, X281, X300, X307, X310, X311, X314, X318, X320, X321, X327, X340, X350, X356, X357, X368, X374, X376, X378, X388, X395, X397, X399, X410, X412, X422, X424, X427, X430, X433, X438.
## Variable(s) num have been skipped since they contain more than 100 levels.
#plot(clusTLE$call$t$tree)
#clusTLE$desc.var
corpus3 <- add_clusters(corpus, clus)
characteristic_docs(corpus3, dtm2, meta(corpus3)$cluster, ndocs=3)
## Warning in rollup.simple_triplet_matrix(t(x), 2L, INDEX[as.character(k)], :
## NA(s) in 'index'
## Documents characteristic of: 1
## X92: distance 64.64
## Tous les pays du monde (2011)
##
## X119: distance 64.64
## Tous les pays du monde (2013)
##
## X137: distance 64.64
## Tous les pays du monde (2015)
##
## Documents characteristic of: 2
## X386: distance 33.65
## Parcours de familles : l'enquête Etude des relations familiales et intergénérationnelles
##
## X17: distance 48.67
## La mesure des discriminations dans l’enquête « Trajectoires et Origines »
##
## X98: distance 60.66
## La ségrégation des immigrés en France : état des lieux
##
## Documents characteristic of: 3
## X124: distance 26.38
## Les politiques familiales en France et en Europe : évolutions récentes et effets de la crise
##
## X258: distance 27.97
## L'évolution démographique récente de la France et ses tendances depuis 70 ans
##
## X201: distance 30.19
## L'évolution démographique récente en France : les adultes vivent moins souvent en couple
##
## Documents characteristic of: 4
## X5: distance 21.39
## Trajectoires et Origines. Enquête sur la diversité des populations en France. Premiers résultats
##
## X442: distance 25.29
## Violences et rapports de genre. Enquête sur les violences de genre en France
##
## X195: distance 26.26
## Les violences sexuelles envers les femmes immigrées d’Afrique subsaharienne après la migration en France
##
## Documents characteristic of: 5
## X106: distance 56.71
## La contraception en France en 2010 : nouveau contexte, nouvelles pratiques ?
##
## X299: distance 64.99
## Nouvelle vie de couple, nouvelle vie commune ? Processus de remise en couple après une séparation
##
## X263: distance 72.56
## Retraites d'hier et d'aujourd'hui : même équation, nouveaux paramètres : suivi de Vieillissement de la population : retraites et immigration de Paul Vincent
##
## Documents characteristic of: 6
## X233: distance 89.74
## La démographie du Canada et des États-Unis des années 1980 aux années 2000. Synthèse des changements et bilan statistique
##
## X252: distance 113.4
## Théories de la fécondité: des démographes sous influence ?
##
## X113: distance 165.1
## La démographie et son vocabulaire au fil des siècles : une exploration numérique
On va mettre en relation les mots et les caractéristiques des titres à disposition (métadonnées) : type de publication (ty), année (an), et (aut) qui combine le sexe de tous les auteurs de la publications, en mettant « Mixte » si les deux sexes sont représentés.
On peut afficher le tableau des métadonnées
On affiche les effectifs et répartitions des métadonnées
## n % val%
## ArticPopulation 105 23.1 23.1
## ChapOuv 124 27.3 27.3
## DocTrav 78 17.2 17.2
## Ouvrage 25 5.5 5.5
## Pop&Soc 122 26.9 26.9
## n % val%
## 2010 36 7.9 7.9
## 2011 36 7.9 7.9
## 2012 54 11.9 11.9
## 2013 28 6.2 6.2
## 2014 36 7.9 7.9
## 2015 49 10.8 10.8
## 2016 43 9.5 9.5
## 2017 31 6.8 6.8
## 2018 57 12.6 12.6
## 2019 44 9.7 9.7
## 2020 40 8.8 8.8
## n % val%
## Femmes(s) 143 31.5 31.5
## Homme(s) 161 35.5 35.5
## Mixte 150 33.0 33.0
On peut utiliser des éléments quantitatifs sur le corpus pour le présenter, par exemple sa taille (nombre d’occurrences) ou le nombre de mots distincts (indicateur de “richesse” du vocabulaire). Pour faire ces comparaisons, le corpus est découpé en sous-parties à l’aide des modalités des métadonnées.
#lexical_summary(dtm2, corpus, "an", unit="global" )
lexical_summary(dtm2, corpus, "ty", unit="global" )
##
## Per category total: ArticPopulation ChapOuv DocTrav Ouvrage
## Number of terms 792.00000 628.00000 579.00000 152.00000
## Number of unique terms 443.00000 377.00000 327.00000 117.00000
## Percent of unique terms 55.93434 60.03185 56.47668 76.97368
## Number of hapax legomena 310.00000 265.00000 218.00000 96.00000
## Percent of hapax legomena 39.14141 42.19745 37.65112 63.15789
## Number of words 1317.00000 1063.00000 963.00000 243.00000
##
## Per category total: Pop&Soc Corpus total
## Number of terms 713.00000 2864.00000
## Number of unique terms 387.00000 1043.00000
## Percent of unique terms 54.27770 36.41760
## Number of hapax legomena 265.00000 595.00000
## Percent of hapax legomena 37.16690 20.77514
## Number of words 1229.00000 4815.00000
Le corpus contient au total 4815 mots mais seulement 2889 sont pris en compte dans les analyes et 1044 mots distincts (après réduction du vocabulaire par suppression de mots, de chiffres et lemmatisation).
Le vocabulaire d’une sous-popoulation construite selon les modalités d’une variable qualitative (métadonnée) est comparé à l’ensemble. Un mot (term) est spécifique positivement (ou caractéristique) si sa fréquence y est “anormalement élevée” (la probabilité calculées à partir du modèle hypergéométrique pour les valeurs égales ou supérieures à la sous-fréquence constatée est inférieure au seuil fixé au départ). On dit aussi que ce mot est sur employé.
On affiche les mots specifiques de chaque sous-population (ici contruite avec la variable de mixité des auteurs) par ordre de valeur-test décroissante.
## $`Femmes(s)`
## % Term/Level % Level/Term Global % Level Global occ. t value
## violence 2.6455026 92.592593 0.9427374 25 27 6.329767
## entourage 1.0582011 100.000000 0.3491620 10 10 4.176309
## femme 2.1164021 62.500000 1.1173184 20 32 3.262146
## état 0.7407407 87.500000 0.2793296 7 8 2.821248
## virage 0.7407407 87.500000 0.2793296 7 8 2.821248
## travail 0.8465608 80.000000 0.3491620 8 10 2.735302
## genre 1.3756614 65.000000 0.6983240 13 20 2.719942
## homme 1.1640212 68.750000 0.5586592 11 16 2.687050
## public 0.5291005 100.000000 0.1745810 5 5 2.662046
## ---------- NA NA NA NA NA NA
## population 0.2116402 6.896552 1.0125698 2 29 -3.094642
## Prob.
## violence 0.0000
## entourage 0.0000
## femme 0.0006
## état 0.0024
## virage 0.0024
## travail 0.0031
## genre 0.0033
## homme 0.0036
## public 0.0039
## ---------- NA
## population 0.0010
##
## $`Homme(s)`
## % Term/Level % Level/Term Global % Level Global occ. t value
## comparaison 0.7352941 87.50000 0.2793296 7 8 2.805554
## guerre 0.7352941 87.50000 0.2793296 7 8 2.805554
## identité 0.5252101 100.00000 0.1745810 5 5 2.649575
## tout 0.5252101 100.00000 0.1745810 5 5 2.649575
## monde 0.9453782 64.28571 0.4888268 9 14 2.123136
## -------------- NA NA NA NA NA NA
## entourage 0.0000000 0.00000 0.3491620 0 10 -2.109567
## travail 0.0000000 0.00000 0.3491620 0 10 -2.109567
## discrimination 0.0000000 0.00000 0.4539106 0 13 -2.564812
## genre 0.1050420 5.00000 0.6983240 1 20 -2.715590
## violence 0.0000000 0.00000 0.9427374 0 27 -4.142370
## Prob.
## comparaison 0.0025
## guerre 0.0025
## identité 0.0040
## tout 0.0040
## monde 0.0169
## -------------- NA
## entourage 0.0174
## travail 0.0174
## discrimination 0.0052
## genre 0.0033
## violence 0.0000
##
## $Mixte
## % Term/Level % Level/Term Global % Level Global occ. t value
## discrimination 1.1375388 84.615385 0.4539106 11 13 3.497680
## trajectoire 1.1375388 68.750000 0.5586592 11 16 2.617963
## droit 0.4136505 100.000000 0.1396648 4 4 2.227926
## longitudinal 0.4136505 100.000000 0.1396648 4 4 2.227926
## récent 0.9307135 64.285714 0.4888268 9 14 2.079122
## -------------- NA NA NA NA NA NA
## état 0.0000000 0.000000 0.2793296 0 8 -1.788316
## guerre 0.0000000 0.000000 0.2793296 0 8 -1.788316
## monde 0.1034126 7.142857 0.4888268 1 14 -1.956635
## entourage 0.0000000 0.000000 0.3491620 0 10 -2.141339
## violence 0.2068252 7.407407 0.9427374 2 27 -2.966458
## Prob.
## discrimination 0.0002
## trajectoire 0.0044
## droit 0.0129
## longitudinal 0.0129
## récent 0.0188
## -------------- NA
## état 0.0369
## guerre 0.0369
## monde 0.0252
## entourage 0.0161
## violence 0.0015
Exemple d’interprétation : le mot “violence” est specifique des auteures. Il représente 2,62% de l’ensemble des occurrences des mots employés dans les titres par des femmes et 92,6% des occurrences du mot “violence” sont employées par des auteures.
Le mot “guerre” est spécifique aux auteurs respectivement (0.72% et 87,5%) et trajectoire quand les co auteurs sont des hommes et des femmes (1,12% et 68%). Ces valeurs sont significatives au seuil de 5% (p-value < 0.05 et t-value > 2).
Le calcul de la distance est fondé sur la métrique du Khi2 et mesure l’écart entre le profil d’un document et le profil moyen du document de la sous-population. Ce critère a tendance à favoriser les documents longs car plus ils contiennent de « mots », plus ils ont de chance de contenir de « mots » cooccurrents, et donc de se rapprocher du profil moyen.
## Documents characteristic of: Femmes(s)
## X442: distance 25.38
## Violences et rapports de genre. Enquête sur les violences de genre en France
##
## X195: distance 26.15
## Les violences sexuelles envers les femmes immigrées d’Afrique subsaharienne après la migration en France
##
## X69: distance 26.32
## Violences envers les femmes dans les espaces publics, au travail et dans les couples à La Réunion. Premiers résultats de l’enquête Virage dans les Outre-mer
##
## X34: distance 29.38
## Enquête VIRAGE. Violences et rapports de genre : Contextes et conséquences des violences subies par les femmes et les hommes
##
## X201: distance 31.14
## L'évolution démographique récente en France : les adultes vivent moins souvent en couple
##
## Documents characteristic of: Homme(s)
## X124: distance 28.56
## Les politiques familiales en France et en Europe : évolutions récentes et effets de la crise
##
## X141: distance 29.71
## La première vie en couple : évolutions récentes
##
## X386: distance 35.38
## Parcours de familles : l'enquête Etude des relations familiales et intergénérationnelles
##
## X87: distance 36
## Le recul de la mortalité des enfants dans le monde : de grandes inégalités entre pays
##
## X6: distance 38.64
## Les populations enquêtées
##
## Documents characteristic of: Mixte
## X5: distance 22.39
## Trajectoires et Origines. Enquête sur la diversité des populations en France. Premiers résultats
##
## X362: distance 27.77
## Trajectoires et origines. Enquête sur la diversité des populations en France
##
## X258: distance 29.64
## L'évolution démographique récente de la France et ses tendances depuis 70 ans
##
## X46: distance 30.66
## L'analyse de la diversité des trajectoires professionnelles à partir de l'enquête Histoire de Vie (2003)
##
## X234: distance 41.94
## L'évolution démographique récente en France : la fécondité est stable
Le titre contenant les mots “violences” et “genre” est le plus spécifique des co-auteures femmes (distance du Khi2 à la distance moyenne du groupe la plus petite = 25.61).
On veut connaître la fréquence et la spécificité d’un mot (ici genre) par titre ou sous-population.
## , , genre
##
## % Term/Level % Level/Term Global % Level Global t value Prob.
## Femmes(s) 1.3756614 65 0.698324 13 20 2.71994160 0.0033
## Homme(s) 0.1050420 5 0.698324 1 20 -2.71558997 0.0033
## Mixte 0.6204757 30 0.698324 6 20 -0.09375183 0.4627
Les mots “genre” est spécifique aux titres des publications de co auteures.
Le tableau lexical agrégé croise en lignes les mots (termes) et en colonnes les modalités d’une ou plusieurs variables qualtatives (métadonnées) ; c’est un tableau de contigence sur lequel on peut exécuter une analyse factorielle. La fonction corpus_ca
exécute une Analyse factorielle sur le tableau lexical créé ici avec les variables année, type de publication et auteurs. On a vérifié que les modalités étaient réparties “équitablement”. On cherche à repérer des profils types.
## 62 documents have been skipped because they do not include any occurrence of the terms retained in the final document-term matrix. Increase the value of the 'sparsity' parameter if you want to include them. These documents are: X7, X8, X10, X23, X26, X50, X56, X59, X65, X84, X96, X118, X138, X143, X148, X155, X171, X190, X191, X192, X200, X209, X213, X217, X221, X223, X231, X248, X259, X260, X274, X280, X281, X300, X307, X310, X311, X314, X318, X320, X321, X327, X340, X350, X356, X357, X368, X374, X376, X378, X388, X395, X397, X399, X410, X412, X422, X424, X427, X430, X433, X438.
## Variable(s) num have been skipped since they contain more than 100 levels.
#explor(resTLA)
res <- explor::prepare_results(resTLA)
explor::CA_var_plot(res, xax = 1, yax = 2, lev_sup = FALSE, var_sup = FALSE,
var_sup_choice = , var_hide = "None", var_lab_min_contrib = 1, col_var = "Position",
symbol_var = "Type", size_var = NULL, size_range = c(10, 300), labels_size = 10,
point_size = 11, transitions = TRUE, labels_positions = NULL, xlim = c(-1.08,1.51), ylim = c(-1.18, 1.4))
Les résultats de l’analyse factorielle (plans factoriels, contributions axes par axes) s’affichent dans une fenêtre interactive à l’exécution de la commande explor()
. Les valeurs des contributions axes par axes permettent de déterminer les modalités des variables qui différencient le plus les univers lexicaux des titres. Le signe - ou + des valeurs des coordonnées permettent de repérer les oppositions.
On affiche les titres qui sont aux extrémités des axes (coordonnées les plus grandes sur l’axe 2)
## Most extreme documents on the positive side of axis 1:
## X441
## Lesbiennes, gays, bisexuel·le·s et trans (LGBT) : une catégorie hétérogène, des violences spécifiques
## X444
## Échantillonnage, protocole de collecte et impacts sur la mesure des violences
## X448
## Les violences dans la sphère professionnelle
## X453
## Conclusion - Genre et continuum des violences
## X449
## Violences et santé : le poids du genre ?
##
##
## Most extreme documents on the negative side of axis 1:
Attention risque de conflit entre les paquets tm (chargé par R.temis) et quanteda : il ne faut pas lancer library(quanteda)
.
library(rainette)
dfm <- quanteda::as.dfm(dtm2)
resrai <- rainette(dfm, min_uc_size = 3, k = 6)
rainette_plot(resrai, dfm)
# Exploration interactive
#rainette_explor(resrai, dfm)
groups <- cutree(resrai, 6)
rainette_stats(groups, dfm, n_terms = 5)
## [[1]]
## # A tibble: 3 x 6
## feature chi2 p n_target n_reference sign
## <chr> <dbl> <dbl> <dbl> <dbl> <fct>
## 1 hommage 238. 0 1 0 positive
## 2 louis 238. 0 1 0 positive
## 3 roussel 238. 0 1 0 positive
##
## [[2]]
## # A tibble: 5 x 6
## feature chi2 p n_target n_reference sign
## <chr> <dbl> <dbl> <dbl> <dbl> <fct>
## 1 identité 721. 0 5 0 positive
## 2 nationale 370. 0 3 0 positive
## 3 registre 200. 0 2 0 positive
## 4 descendant 136. 0 3 5 positive
## 5 immigré 37.1 0.00000000110 3 24 positive
##
## [[3]]
## # A tibble: 5 x 6
## feature chi2 p n_target n_reference sign
## <chr> <dbl> <dbl> <dbl> <dbl> <fct>
## 1 génital 370. 0. 3 0 positive
## 2 mutilation 370. 0. 3 0 positive
## 3 féminin 277. 0. 3 1 positive
## 4 connaissance 132. 0. 2 1 positive
## 5 lieu 47.8 4.75e-12 2 6 positive
##
## [[4]]
## # A tibble: 4 x 6
## feature chi2 p n_target n_reference sign
## <chr> <dbl> <dbl> <dbl> <dbl> <fct>
## 1 tout 679. 0. 5 0 positive
## 2 monde 237. 0. 5 9 positive
## 3 pays 194. 0. 5 12 positive
## 4 repère 41.4 1.25e-10 1 0 positive
##
## [[5]]
## # A tibble: 5 x 6
## feature chi2 p n_target n_reference sign
## <chr> <dbl> <dbl> <dbl> <dbl> <fct>
## 1 enquête -34.2 0.00000000505 7 43 negative
## 2 violence -28.7 0.0000000841 1 26 negative
## 3 france 21.2 0.00000406 76 22 positive
## 4 famille -19.8 0.00000856 3 23 negative
## 5 fécondité 17.5 0.0000293 21 0 positive
##
## [[6]]
## # A tibble: 5 x 6
## feature chi2 p n_target n_reference sign
## <chr> <dbl> <dbl> <dbl> <dbl> <fct>
## 1 enquête 39.9 2.74e-10 43 7 positive
## 2 violence 32.6 1.14e- 8 26 1 positive
## 3 famille 22.9 1.68e- 6 23 3 positive
## 4 france -16.4 5.24e- 5 22 76 negative
## 5 fécondité -15.5 8.26e- 5 0 21 negative
## list()
La variable “classe” pour chaque titre (document) peut être utilisée par la suite en métadonnée