Sémato propose un générateur de matrices pour vos données textuelles et catégorielles, enrichies des descriptions sémantiques produites par Sémato. Le générateur de matrices est le cœur algorithmique de Sémato. Vous pouvez l'utiliser dès la fin de l'indexation de vos données.
Vous trouverez la commande Générateur de matrices (Saisie des scripts de génération de matrices) sous Analyses.
On trouvera sur la présente page les sections suivantes :
1. Les concepts de Variable Matricielle (VM), de Fonction Matricielle (FM) et de Matrice première
Le générateur de matrices s'alimente à une Matrice première construite au moment de l'indexation des textes et qui contient toutes les données textuelles, toutes les données sémantiques ajoutées par Sémato ainsi que toutes les catégories de votre projet. Toutes les matrices générées par le Générateur de matrices sont en quelque sorte des sous-ensembles de cette Matrice première. Nous donnons une description plus complète de la Matrice première ci-dessous.
Le générateur de matrices de Sémato repose sur deux autres concepts centraux, celui de Variables Matricielles (les VM) et celui de Fonctions Matricielles (les FM).
Les VM sont les multiples portes d'entrée sur la Matrice première. Les VM donnent accès…
à l’ensemble des descriptions linguistico-sémantiques trouvées par Sémato sur vos données textuelles : lexèmes, catégories grammaticales, lemmes, champs sémantiques, synapsies et thèmes ;
aux différentes unités de localisation contextuelle : mots, phrases, textes, catégories de projet, concordances programmées, groupes d'analyse prototypique et réseaux focus de similitude ;
aux données descriptives de votre corpus (vos catégories de projet dans le jargon de Sémato (données sociologiques, par exemple : âge, région, occupation…)).
Les FM prennent les VM pour arguments ainsi que des paramètres généraux. Elles définissent les actions de construction de matrice. Les FM permettent de déclarer…
les axes de la matrice que l’on désire construire ;
la nature de la matrice (occurrentielle entre deux variables, cooccurrentielle entre vocables...) ;
des conditions sur les propriétés des cellules retenues ;
le niveau de contextualisation (la nature de ce qui est compté (mots, phrases, textes) ;
des limites numériques sur les fréquences des cellules retenues ;
des analyses à effectuer sur la matrice construite.
Les fonctions s'assemblent pour former un script qui gouvernera la génération complète des matrices et, dans la foulée, l’application d’éventuelles analyses sur ces dernières.
Les VM et les FM s’articulent ainsi dans un langage qui permet de scripter de multiples scénarios de génération de matrices. Ces scénarios répondent aux objectifs de construire des matrices classiques de cooccurrences, de concordances, de distributions variées… mais aussi des analyses complexes telles les analyses prototypiques, des analyses en réseaux de similitude, tests de chi2, analyses avec le logiciel R, etc. Les scripts servent à la reproduction paramétrée de ces scénarios et aussi à leur documentation, publication et utilisation pour d’autres projets.
Examinons un premier exemple de script. Nous utilisons le projet de démonstration photographes pour illustrer la génération de matrices. Ce projet regroupe 12 entrevues publiques de photographes. Chacune des questions et chacune des réponses est une unité textuelle. Le corpus en rassemble 851 au total. Les textes questions et réponses d'une entrevue sont regroupés par la catégorie document qui prend pour valeur le nom du photographe interviewé. Voici le corpus des photographes en format tableur fichier Excel.
Sous Analyses -- Générateur de matrices -- Saisie des scripts de génération de matrices ouvre la fenêtre permettant d'écrire le script :
Les FM : rangée, colonne, cooccurrence, condition, projection, fréquence-minimum, intervalle-centiles, période-rangée, période-colonne, matrice-avec-null, construire-concordance, matrice-voir-textes, analyse.
Les VM : notxt, nophr, nopha, catgram, lexème, lemme, lemsem, synap1, synap2, thème, concordance, fréquence, décade, document, genre, origine.
Entrez ci-dessous le script d'une matrice ou la fonction multi-matrices et ses scripts comme arguments.
La page présente au début un rappel des VM et des FM. On remarque que les catégories de projet courant (ici, celles du projet photographes) sont disponibles dans les VM (décade, document, naissance, origine, genre, typeqr). Ce rappel permet de copier-coller ce dont on a besoin pour l'écriture du script. Les VM catégories de projet sont mises en vert pour les distinguer des VM de Sémato.
Nous voulons construire la matrice de la distribution des lemmes par document. On a écrit dans la zone de captation le script :
((rangée lemme) (colonne document) (projet photographes)) et on a fait Poursuivre.
Matrice : rangées = 3853, colonnes = 12, total des fréquences = 28786
Voici le lien pour récupérer la matrice en version WEB : G321347925-matrice.asp Voici le lien pour récupérer la matrice en format texte (.txt) : G321347925-matrice.txt (129601 octets)
Deux liens ouvrent la matrice. Une version WEB permet de prendre connaissance rapidement du contenu de la matrice (cliquez sur le premier lien). Le second lien est une version texte (.txt) qui permet de télécharger la matrice sur votre ordinateur. Vous pourrez l'ouvrir avec un logiciel tableur tel Excel. Pour toutes les pages de résultats à venir, cliquez sur le lien de version WEB pour examiner la matrice qui vient d'être construite. On notera que toutes les matrices en version WEB peuvent être triées en cliquant sur les en-têtes des colonnes.
Il est possible d'exécuter une matrice dans un autre projet que le projet actif. C'est à cela que sert la fonction projet :
Vous pouvez, sans attendre, écrire ce script tel quel dans la boîte de Saisie des scripts de génération de matrices (sous Analyses -- Générateur de matrices) pour générer votre copie de cette matrice. N'hésitez pas à tester de cette manière tous les exemples de la documentation.
Les VM sont les unités définitionnelles à la fois des rangées, des colonnes, de la nature des fréquences inscrites dans les cellules ainsi que des conditions de construction des matrices.
Les FM sont les fonctions de programmation des matrices. La majorité des FM prennent pour arguments des VM. Les autres prennent pour arguments des options globales régissant la construction de la matrice. On compte une douzaine de FM. Nous décrirons ci-dessous chacune d'entre elles.
Examinons la liste des VM :
notxt : numéro de texte. Les textes sont des unités que vous définissez au moment de la saisie du corpus (par exemple, les questions et les réponses dans une entrevue, des articles de journaux, des paragraphes d'un discours, etc.). Les textes reçoivent un numéro qui correspond à l'ordre de leur saisie au corpus (l'ordre des rangées si vous avez utilisé la méthode tableur pour entrer vos textes). On notera que le premier texte au corpus a le numéro 0.
nophr : numéro de phrase relatif. Chaque phrase a un numéro qui se remet à 1 au début de chaque texte. Il s'agit d'un numéro relatif au texte.
nopha : numéro de phrase absolu. Chaque phrase a un numéro absolu à l'intérieur du corpus. Une adresse unique en quelque sorte.
catgram : catégorie grammaticale. Chaque mot du corpus reçoit une catégorie grammaticale (nom, verbe, adjectif...). Vous trouverez la liste complète des catégories grammaticales au bas de cette page.
lexème : les mots tels que saisis au corpus.
synap1 : synapsies fortes; groupe de mots formant une entité sémantique construite directement sur une tête nominale (ex.: chef d'orchestre, coup de foudre...).
synap2 : synapsies faibles; groupe de mots formant une entité sémantique construite sur une tête verbale ou indirectement sur une tête nominale (ex.: donner la réponse, chemin de l'aéroport...).
lemme : forme canonique d'un lexème, telle que construite par l'analyse morphosyntaxique de Sémato.
lemsem : lemme ayant un champ sémantique au corpus. Une section ci-dessous est réservée à la description de cette VM.
thème : vos thèmes colligés ou les thèmes de la GTH-O ou de la GTH-C. Deux section ci-dessous sont réservées à la description de cette VM.
fréquence : VM paramètre qui permet de créer des matrices de type lexiques. Une section ci-dessous est réservée à la description de cette VM.
catégories de projet : toutes les catégories ou variables de votre corpus.
concordance : une VM concordance (ensemble de segments de vocables entourant un vocable donné) peut être créée selon vos propres paramètres. Une section ci-dessous est réservée à la description de cette VM.
grap : une VM grap (groupes d'analyse prototypique) est crée automatiquement à la suite d'une analyse prototypique. Elle est attribuée aux vocables respectifs des 4 groupes trouvés. Une section ci-dessous est réservée à la description de cette VM.
grfocus : une VM grfocus (groupe de la configuration focus) est crée automatiquement à la suite d'une analyse en réseaux de similitude. Elle est attribuée aux unités rassemblées par l'analyse dans chacun des groupes trouvés à la configuration focus. Une section ci-dessous est réservée à la description de cette VM.
La génération de matrices s'alimente à une Matrice première qui contient toutes les données trouvées dans votre corpus à la suite de son indexation. Les VM correspondent aux colonnes de cette Matrice première. Voici le début de la Matrice première pour la première phrase du corpus des photographes :
Les colonnes A à J contiennent les VM issues de l'analyse de Sémato et les suivantes, les VM associées aux catégories du projet plus une colonne concordance créée éventuellement à votre initiative (section #17 ci-dessous), plus deux VM grap et grfocus nourries par les résultats respectifs de la dernière analyse prototypique ou de la dernière analyse en réseaux de similitude.
Une rangée est ajoutée pour chaque vocable du corpus dans l'ordre de leur saisie. Les vocables englobent tous les signes d'un texte (mots, ponctuations, etc.). Vous pouvez obtenir une représentation exportée en mode texte de la Matrice première de votre projet, sous Analyses.
Vous pourrez apprécier les matrices qui utilisent des VM issues de l'analyse linguistique de Sémato même si vous ne connaissez pas la technologie linguistique sous-jacente. Si toutefois cela vous intéresse, cette technologie est décrite dans cette rubrique et de manière plus approfondie dans le document suivant : Technologie linguistique de Sémato.docx.
2. La génération d'une matrice
D'une manière générale, une matrice consistera à montrer la distribution des valeurs d'une VM en fonction des valeurs d'une autre VM, comme dans notre exemple ci-dessus, la matrice de la distribution des valeurs de la VM lemme en fonction des valeurs de la VM catégorie de projet document. La matrice construite avait autant de rangées qu'il y a de lemmes et autant de colonnes qu'il y a de documents, les cellules montrant les fréquences des lemmes dans chacun des documents : combien de fois chaque lemme apparaît-il dans chacun des documents. Nous utilisons donc ici le terme de fréquence au sens de nombre d'occurrences.
La programmation de matrice au moyen de scripts offre des possibilités de modification rapide, de documentation, de révision et de publication de vos algorithmes de génération de matrice. Ci-dessous, à la section 20, vous trouverez une table des fonctions de construction de matrices dans les scripts.
On notera que dans la documentation, les scripts sont en fonte bleu.
La matrice est construite par les fonctions matricielles (FM). La majorité des FM prennent pour arguments des VM; par exemple les FM rangée et colonne déclarent la nature des VM constitutives des rangées et des colonnes de la matrice. Les autres FM servent à paramétrer la construction de la matrice dans son ensemble. Par exemple, la fonction fréquence-minimum fixe la valeur minimum pour devenir une cellule dans la matrice à construire. Construire une matrice consistera à nourrir les arguments de ces fonctions ; vous écrirez le nom d'une fonction suivie des valeurs de ses arguments.
Voici une description générale des fonctions matricielles :
Deux fonctions appelées rangée et colonne définissent les axes de la matrice. Elles prennent pour arguments une ou plus d'une VM. Ces deux fonctions sont les seules fonctions obligatoires à la génération d'une matrice (sauf pour les matrices de concordance textuelle).
La possibilité, pour les VM vocables (lexèmes, lemmes, lemsem, et thèmes) de créer une matrice de cooccurrences (phrastiques ou textuelles) est commandée par la fonction cooccurrence.
La fonction condition permet d'ajouter des restrictions qui filtrent l'admission des cellules dans la matrice. Par exemple, dans un corpus d'entrevues, on peut vouloir une matrice de lemmes (rangée) par document (colonne) qui ne retiendrait que les lemmes trouvés dans les réponses (condition). Sur le projet photographes, on écrirait le script :
((rangée lemmes) (colonne document) (condition (typeqr = !réponse!)) (projet photographes) )
La fonction projection définit la nature des fréquences affichées dans les cellules de la matrice. Cette fonction gère ce que l'on compte : des mots, des phrases (en absolu au corpus (nopha) ou en relatif au texte (nophr)), des textes, des ensembles variés de textes (définis par les différentes catégories de projet). La fréquence par défaut (sans projection) est celle des mots.
Les questions de limite sur les fréquences sont gérées par deux fonctions : fréquence-minimum à l'inscription d'une cellule dans la matrice et intervalle-centiles qui contrôle les basses et hautes fréquences des cellules.
La périodisation transforme une VM numérique en périodes, par exemple une suite d'âges en classes d'âge. On aura les fonctions période-rangée et période-colonne.
Une fonction appelée matrice-avec-null permet d'ajouter une rangée ou une colonne qui décompte les NULL de la matrice.
La fonction construire-concordance construit une matrice textuelle, c'est-à-dire un ensemble de segments (phrases, textes ou contextes de x éléments à gauche ou à droite) qui satisfont à des conditions. La concordance ainsi construite devient elle-même, par la suite, une VM pouvant être utilisée dans la génération d'autres matrices.
La fonction analyse permet de commander une analyse sur la matrice construite (Analyse prototypique, Réseaux de similitude, Chi2 et diverses analyses en passerelle avec le logiciel R). Les descriptions détaillées des analyses sont accessibles sous l'onglet strong>Analyses.
Poursuivons notre exemple avec le projet photographes. Nous désirons une matrice sur les lemmes des documents (qui identifie les photographes) en y ajoutant une condition restrictive sur la nature des textes. Au projet photographes, une catégorie de projet nommée typeqr (type question/réponse) permet de distinguer les questions des réponses.
Nous construisons une matrice de l'ensemble des lemmes (en rangées) par document (en colonnes) avec une condition de restriction sur les seuls textes de typeqrréponse. Les cellules de la matrice contiendront donc les fréquences de ces lemmes dans les réponses de chacun des documents.
La matrice contient tous les lemmes (en rangées) des documents (en colonnes) des seules réponses des 12 entrevues.
La page de résultats donne le nombre de rangées, de colonnes et de cellules. Il indique aussi le total de toutes les fréquences contenues dans les cellules.
Le premier lien présente la matrice dans un format WEB, ce qui permet de prendre connaissance rapidement du contenu de la matrice, avec des fonctions de tri sur les colonnes. La matrice, dans ce format, peut prendre beaucoup de mémoire, plus peut-être que ce que peut offrir votre navigateur. Dans ce cas, Sémato vous le signalera et ne montrera que le début de la matrice. La version en mode texte (.txt) est, quant à elle, toujours complète.
Dans les cellules de cette matrice, les nombres indiquent la fréquence des lemmes. Par exemple, Giacomelli utilise 4 fois le lemmeabandonner dans les réponses de son entrevue (document), trois fois comme participe passé et une fois sous la forme infinitive. La cellule lemme abandonner et document Giacomelli nous montre ici la somme de ces occurrences.
3. Plus d'une VM en rangée ou en colonne
Pour illustrer cette section, nous construirons la matrice suivante :
Cette matrice est construite à l'aide de 3 fonctions (rangée, colonne et condition). La valeur de la fonction rangée est lemme. Les valeurs de la fonction colonne sont document et naissance. La troisième fonction est une condition devant être remplie par chaque cellule de la matrice construite. Nous verrons ci-dessous la syntaxe détaillée de cette fonction condition.
Ce script construira une matrice de tous les lemmes (en rangées) avec, en colonnes, les documents et les naissances et une conjonction (et) de deux conditions. Cette conjonction demande à ce que les lemmes soient trouvés dans les textes dont les catégories de projet genre
et typeqr sont respectivement instanciées par « femme » et « question ». Notons pour le moment que les points d'exclamation (!femme! !question!) servent à distinguer les valeurs de VM des noms de VM.
Extrait de la matrice générée :
Fig. #3
lemme
document=moon
document=rubinstein
naissance=1933
naissance=1940
acquérir
0
1
1
0
acuité
0
1
1
0
aigu
0
1
1
0
aimer
3
1
1
3
album
1
0
0
1
allée
1
0
0
1
aller
0
1
1
0
ambiguïté
1
0
0
1
amener
3
0
0
3
amour
0
3
3
0
analyse
0
1
1
0
ancien
2
0
0
2
angle
0
3
3
0
apercevoir
0
1
1
0
La matrice montre les fréquences des lemmes dans les textes du typeqrquestion dans les entrevues aux deux femmes photographes du corpus. Moon est née en 1940 et Rubinstein en 1933.
Si la matrice est programmée avec plus d'une VM en rangées et/ou en colonnes, les appellations des rangées et des colonnes sont construites des noms des VM suivis du signe égal (=) et des valeurs instanciées. Comme dans l'exemple ci-dessus (fig. #3) : la matrice a deux VM en colonnes : document et naissance. Les appellations de ces colonnes sont construites des noms des VM accompagnés de leurs valeurs instanciées (par exemple : document=moon). Cette mesure est prise pour éviter des ambiguïtés : il pourrait y avoir de la confusion lorsque des VM différentes ont des valeurs identiques (1940, par exemple, aurait pu instancier une VM naissance ou une VM décès).
Dans les rangées ou dans les colonnes, s'il y a plus d'une VM, la matrice présentera toujours celles-ci en ordre alphabétique (à la fig. #3, document précède naissance dans l'ordre des colonnes).
4. La transposition d'une matrice
Les matrices transposées (le contenu des rangées se retrouve en colonnes et vice-versa) sont strictement équivalentes.
Ainsi, les deux matrices :
produisent exactement le même nombre de cellules et le même total de fréquences.
La stratégie d'optimisation dans Sémato fait en sorte qu'il est plus avantageux, au niveau du temps de calcul requis, de mettre en rangées la ou les VM qui ont le plus grand nombre de valeurs. Dans notre exemple, il y a beaucoup plus de valeurs à la VM lemme que de valeurs aux VM document plus naissance. Ainsi, la matrice #1 où les lemmes sont en rangées est produite plus rapidement que la matrice #2 (par un facteur de 3).
On notera ici que des analyses branchées sur des matrices peuvent exiger un contenu spécifique en rangées et/ou en colonnes. Par exemple, l'analyse en réseaux de similitude demande de mettre les comparateurs en rangées et les comparés en colonnes.
5. La projection des fréquences sur une autre VM
Dans Sémato, la plus petite unité de description est le mot ou lexème.
Les matrices utilisent par défaut les fréquences des lexèmes (ou fréquences lexicales). On peut toutefois vouloir projeter ces fréquences sur un autre niveau, celui des phrases, par exemple, ou encore celui des textes ou sur un quelconque niveau défini par l'une de vos catégories de projet. La catégorie document par exemple, dans photographes, définit le niveau qui englobe tous les textes d'une entrevue. Formellement, on peut projeter les fréquences sur n'importe quelle VM. Cette section décrit ce mécanisme de projection fréquentielle.
Si on génère une matrice au projet photographes avec document en rangées et typeqr en colonnes...
On rappelle que dans ce projet photographes, un texte était soit une question, soit une réponse. Boubat a produit 21 réponses aux 21 questions. Les fréquences sont devenues textuelles par la déclaration de projection. Le total des 2 colonnes donne les 851 textes du corpus photographes.
Avec une projection sur la VM notxt, toutes les occurrences lexicales se projettent sur un seul point attribué au texte qui les contient. Quel que soit son nombre de lexèmes, un texte ne compte que pour 1 point. Ainsi, avec cette projection, on compte les textes et non les lexèmes. On peut choisir n'importe quelle des VM pour réaliser la projection fréquentielle. Voici la même requête, mais avec une projection déclarée sur le nombre absolu de phrases (VM = nopha) :
Encore ici, on ne compte pas les lexèmes, mais les phrases. Un point est compté par chaque nouvelle phrase. Boubat a utilisé 193 phrases pour répondre à toutes les questions de son entrevue.
La projection fréquentielle est particulièrement utile pour les sondages où l'unité de dénombrement est le formulaire (catégorie de projet formu dans Sémato Sondage). Au projet de démonstration abasco, construisons une matrice qui comparera l'activité (enseignant, professionnel... des répondant-es (catégorie de projet : q_01_activité) à la réponse donnée à la question graduelle (Likert) :
11- Quelle est, selon vous, la responsabilité de la société dans l'abandon scolaire ?
Les quatre dernières colonnes correspondent aux valeurs de gradation 1, 2, 3, et 5, personne n'ayant répondu par la valeur 4.
Un point est compté par formulaire (catégorie pour la projection VM = formu). Donc ici, plutôt que de compter des mots, on compte des individus (formu). Autrement dit, à défaut de projeter les fréquences sur la VM formu, les cellules auraient compter le nombre de mots des réponses aux deux questions ouvertes du sondage.
La fonction projection n'a pas de valeur par défaut. En l'absence de projection, le générateur rapporte les tokens des lexèmes, c'est à dire les lignes de la Matrice première, ce qui n'est pas équivalent à (projection lexème). Si on programme (projection lexème), le générateur rapportera les types des lexèmes.
6. La VM lemsem (lemme ayant un champ sémantique)
La VM lemsem rapporte les lemmes qui ont un champ sémantique dans le corpus. Les champs sémantiques sont trouvés au moment de l'indexation de votre corpus. Un champ sémantique est une liste de lemmes ayant entre eux une proximité synonymique ou morpho-étymologique (même famille). Vous trouverez toute la documentation nécessaire à la compréhension des champs sémantiques de Sémato sur cette page et dans ce document.
Voici un extrait de la table des champs sémantiques trouvés au corpus photographes :
La VM lemsem rapporte l'ensemble des lemmes du projet qui ont la propriété d'avoir un champ sémantique... donc toute la première colonne si on se réfère à l'exemple.
Les lemsem construisent en quelque sorte le centre de gravitation sémantique du corpus. Les lemsem ont une force d'attraction sémantique qui les différencie des autres lemmes.
Le lemme bouton, par exemple, est présent dans photographes mais sans champ sémantique. Au niveau de la langue, Sémato trouve 23 lemmes pour son champ sémantique : (boutonneux, boutonnage, boutonné, boutonnerie, boutonnier, boutonnière, boutonniériste, bouton-pression, tire-bouton, boutonnement, boutonner, bouton-poussoir, pousse-bouton, presse-bouton, acné, attache, bourgeon, commutateur, interrupteur, papule, pustule, vésicule, vésicule_cutané)... aucun de ces lemmes n'est présent dans photographes.
La VM lemsem agit tel un filtre qui ne garde des lemmes que ceux qui tissent, dans le corpus, des relations sémantiques entre eux.
7. La VM thème et la fonction pour-thème
Les thèmes sont la pierre angulaire de la sémantique descriptive produite par Sémato. Les thèmes peuvent être construits par vos soins (ce que nous appelons les thèmes colligés) ou trouvés de manière automatique lors de l'indexation de votre corpus par une fonctionnalité appelée GTH (Génération de THèmes). La GTH construit deux tables de thèmes : la GTH-O (sémantique ouverte, non étanche (un ingrédient peut se retrouver dans plus d'un thème)) et la GTH-C (sémantique concise et étanche).
Vous trouverez ici toute la documentation nécessaire à la compréhension de la GTH.
La VM thème, qu'elle soit utilisée en colonne, en rangée ou dans des conditions, peut être nourrie de trois façons différentes :
Par la table des thèmes de la GTH-O.
Par la table des thèmes de la GTH-C.
Par la table des thèmes colligés par vos soins, ces thèmes construits avec l'assistance de l'AST ou transférés depuis une GTH.
Par défaut, Sémato va nourrir la VM thème des thèmes de la GTH-O.
Extrait de la table de la GTH-O pour le projet photographes :
Voici des liens pour examiner les deux GTH du projet photographes :
GTH-O et GTH-C
Dans la Matrice première, un thème est attaché à ses lemmes ingrédients. Plusieurs thèmes peuvent se retrouver attachés au même lemme. Ces thèmes sont dits non étanches. La GTH-O produit des thèmes non étanches. La VM thème, nourrie par des thèmes non étanches, est une VM dite à multiples valeurs. Nous verrons ci-dessous les implications de cette propriété de certaines VM. Les thèmes de la GTH-C sont des thèmes étanches : un lemme ne peut être catégorisé que par un seul thème de la GTH-C.
Si, parmi vos thèmes colligés, il se trouve des thèmes manuellement arrimés à des phrases, ces thèmes n'ayant pas d'ingrédients seront, dans la construction des matrices, attachés au signe de ponctuation final de la phrase (. … ! ? .p (le « .p » est ajouté par Sémato pour marquer la fin des titres)).
Dans le générateur de matrices, la fréquence par défaut est la fréquence totale. Cela signifie qu'un thème est compté autant de fois qu'il est amarré à un lemme. Si vous voulez des fréquences phrastiques (ou textuelles) vous devez le déclarer par la fonction projection fréquentielle (ci-dessus : La projection des fréquences sur une autre VM).
Une fonction nommée pour-thème permet de changer la nature de la VM thème.
La VM thème peut être nourrie de trois types de thèmes :
Les thèmes de la TTC. Identificateur : ttc
Les thèmes de la GTH-O. Identificateur : gth-o.
Les thèmes de la GTH-C. Identificateur : gth-c.
La fonction pour-thème prend pour argument l'un de ces trois identificateurs. Exemple :
((rangée thème) (colonne fréquence) (pour-thème gth-o))
Cette fonction va modifier la VM thème de la Matrice première. Cela allongera la construction de votre matrice de quelques minutes, dépendant de la taille de votre corpus. Tant qu'elle n'est pas changée, la VM thème conserve les thèmes indiqués par le dernier usage de cette fonction.
La fonction pour-thème est exécutée seulement si son argument implique un changement d'identificateur. Autrement dit, la fonction (pour-thème gth-o) n'aura aucune action si la VM thème est déjà nourrie de la GTH-O.
Par défaut, suite à l'indexation de votre corpus, la VM thème contient les thèmes de la GTH-O.
La fonction pour-thème ne peut être exécutée sur un projet autre que le projet présentement actif. Elle est incompatible avec la fonction projet (qui permet justement de générer une matrice sur un autre projet que le projet activé).
Dans le présent document, nous utiliserons l'une ou l'autre des trois tables pour nourrir la VM thème, selon les besoins de l'exemple.
Dans le générateur de matrices, la fréquence par défaut est la fréquence totale. Cela signifie qu'un thème est compté autant de fois qu'il est amarré à un lemme. Si vous voulez des fréquences phrastiques (ou textuelles) vous devez le déclarer par la fonction projection fréquentielle (ci-dessus : La projection des fréquences sur une autre VM).
Les valeurs vides, aussi appelées données manquantes ou NULL (en majuscules ou minuscules), sont fréquentes pour certaines VM. Par exemple, les VM lemme, lemsem, thème, synap1 ou synap2 n'ont pas de valeurs pour tous les mots du corpus. Cela sera aussi le cas pour certaines de vos catégories de projet. Dans les sondages, il est fréquent de constater des réponses manquantes pour des questions.
Les NULL trouvés dans une VM sont comptabilisés dans une rangée ou dans une colonne portant le nom de la VM suivie de =null. Par exemple, dans la matrice ci-dessous (fig. #10), la colonne B présente les NULL associés à la VM thème (nourrie de la GTH-C). Cette colonne des NULL donne pour la VM en rangée sa fréquence au corpus (éventuellement restreinte par les conditions sur la composition de la matrice).
Le lemme abattoir, qui a une fréquence 2 au corpus, ne reçoit aucun thème de la VM thème (nourrie des thèmes de la GTH-C).
On notera que les NULL ne sont pas comptabilisés dans le total des fréquences affiché sur la page de résultat.
La prise en charge des NULL par le générateur de matrices est gérée par une fonction matricielle (matrice-avec-null oui). Par défaut, la valeur est Non et la prise en charge des NULL n'est pas active. Attention : la prise en charge des NULL augmente le temps de construction d'une matrice ainsi que son volume final.
9. Le traitement des VM à multiples valeurs
Des VM peuvent avoir plusieurs valeurs en relation avec une autre VM. Par exemple, la VM thème peut donner plus d'une valeur à une VM lemme. Le lemme voyage, ci-dessous, reçoit deux thèmes de la GTH-O (th-o-voyage et th-o-déplacement) :
Fig. #11
lemme
thème
tu
aimer
th-o-amour
les
gens
th-o-personne
,
les
voyage
th-o-voyage th-o-déplacement
Le générateur de matrices traite ce problème classique par une multiplication des colonnes (Fig. #12), ou des rangées (Fig. #13).
Si une rangée est catégorisée par plusieurs valeurs d'une VM (Fig. #12), sa fréquence est indiquée pour chacune de ces VM.
Ci-dessous (fig. #12), la fréquence du lemme voyage est déposée dans les deux colonnes th-o-déplacement et th-o-voyage.
((rangée lemme) (colonne thème)) générera la matrice (extrait) :
Fig. #12
lemme/thème
th-o-départ
th-o-déplacement
th-o-désir
th-o-voyage
th-o-vue
vouloir
0
0
0
0
0
voyage
0
13
0
13
0
voyant
0
0
0
0
1
Le lemme voyage est catégorisé 13 fois par le thème th-o-déplacement et 13 fois par le thème th-o-voyage. À l'inverse (dans la matrice transposée, Fig. #13), si une colonne est catégorisée par plusieurs valeurs d'une VM, sa fréquence est ajoutée dans chacune des rangées :
((rangée thème) (colonne lemme)) générera la matrice (extrait) :
Fig. #13
thème/lemme
vouloir
voyage
voyant
th-o-départ
0
0
0
th-o-déplacement
0
13
0
th-o-désir
0
0
0
th-o-voyage
0
13
0
th-o-vue
0
0
1
Cela semble être le meilleur traitement possible pour le problème des multiples valeurs d'une catégorie. L'alternative serait de générer de nouvelles catégories pour toutes les combinaisons possibles de plus d'une attribution. La matrice aurait ici inventé une colonne th-o-déplacement+th-o-voyage.
Dans la page de résultat, Sémato indique les VM à multiples valeurs qui sont actives dans la matrice. Une VM à multiples valeurs pourrait avoir été commandée en rangée ou en colonne, mais être désactivée par une condition restrictive.
Imaginons que nous ajoutions une catégorie de projet couleur aux documents du projet photographes. Cette catégorie est à multiples valeurs et tous les documents ont une ou des couleurs sauf le document sieff. La matrice :
qui, théoriquement a deux VM à multiples valeurs (thème et couleur), va indiquer dans son résultat qu'une seule VM à multiples valeurs est active dans la matrice : la VM thème. La VM couleur n'est pas trouvée comme étant active, car le seul document autorisé par la condition est un document sans couleur : Sieff.
10. La syntaxe des conditions
Les conditions sont des règles de restriction globale à la composition des matrices.
Construisons une matrice sans condition (toujours au projet photographes) :
La condition fera en sorte de ne conserver dans la matrice que la colonne genre=homme et de retirer les 2 rangées femme : Moon et Rubinstein.
Une condition est un triplet : (VM + fonction-de-comparaison + valeur-s).
Ce triplet commence et se termine toujours par une parenthèse.
À l'intérieur du triplet, les éléments d'une condition sont toujours séparés par des espaces. (genre=!homme!) donnera une erreur de syntaxe. Il faut plutôt écrire : (genre = !homme!) .
Les conditions peuvent faire l'objet des opérateurs logiques et, ou, non.
Les opérateurs (et, ou) sont placés entre les conditions. L'opérateur non est placé devant une condition, une disjonction de conditions ou une conjonction de conditions. Exemples :
(non (thème = null))
((genre = !homme!) et (non (typeqr = !question!)))
Les opérateurs (ou, et) séparent des conditions alors que l'opérateur non précède toujours sa condition. On peut imbriquer sans limites le nombre de et, non, ou. On utilisera les parenthèses pour organiser sans ambiguïtés l'action des opérateurs logiques.
Exemple : ((genre = !homme!) et ((naissance > 1925) ou (thème = !th-o-voyage!))) où le jeu des parenthèses reproduit l'arborescence :
Les noms des opérateurs, des VM et aussi de toutes les fonctions de comparaison présentées ci-dessous sont en minuscules.
Les valeurs non numériques des VM sont obligatoirement entourées (sans espace) du caractère point d'exclamation (!).
Les VM possibles sont : notxt noph catgram lexème synap1 synap2 lemme lemsem thème concordance plus les noms de toutes vos catégories de projet.
Le caractère % placé au début d'une valeur (mais après le !) et/ou placé à la fin d'une valeur (mais avant le !) indique à Sémato de tronquer la recherche si la fonction de comparaison utilisée est comme.
Par exemple, la condition (lemme comme !voyage%!) rapportera les lemmes voyage, voyager et voyagement.
Les VM sont suivies d'une fonction de comparaison elle-même suivie d'une ou plus d'une valeur. Voici la liste des fonctions de comparaison et leur syntaxe de manipulation de valeurs :
Fig. #16
Fonction de comparaison
Nature des valeurs possibles
Signification
Syntaxe des valeurs
Exemple
Commentaire
=
numérique ou symbolique
égal à
une seule valeur
(typeqr = !question!) (naissance = 1990)
<>
numérique ou symbolique
différent de
une seule valeur
(typeqr <> !question!) (naissance <> 1990)
<
numérique
plus petit que
une seule valeur
(notxt < 1990)
>
numérique
plus grand que
une seule valeur
(noph > 800)
>=
numérique
plus grand ou égal
une seule valeur
(naissance >= 1990)
<=
numérique
plus petit ou égal
une seule valeur
(naissance <= 1990)
entre
numérique
nombre entre deux valeurs (incluses)
deux valeurs séparées par et
(naissance entre 1920 et 1940)
1920 et 1940 sont incluses
dans
numérique ou symbolique
la VM est trouvée dans une liste de valeurs
liste parenthétisée de valeurs séparées par des espaces (pas de virgules)
(document dans (!doisneau! !boubat!)
!doisneau! et !boubat! sont les seules valeurs retenues pour document. La fonction dans ne peut être utilisée avec une VM multi-valeurs.
comme
numérique ou symbolique
recherche de caractères
une seule valeur pouvant contenir le signe % au début et/ou à la fin
(lemme comme !%age%!) (naissance comme !193%!)
Le premier exemple rapportera tous les lemmes contenant la séquence "age" ; le second toutes les dates de naissance débutant par la séquence "193".
null
numérique ou symbolique
aucune valeur pour la VM
la valeur est le mot null
(document = null)
La fonction de comparaison dans ne peut pas être utilisée avec les VM multi-valeurs.
Par exemple, la VM catégorie de projet document, VM à valeur unique, permettra la fonction de comparaison dans :
(condition (document dans (!boubat! !doisneau! !hamaya!)))
mais il est interdit de programmer :
(condition (thème dans (!th-photos! !th-existence! !th-période!)))
on programmera plutôt :
(condition ((thème = !th-photos!) ou (thème = !th-existence!) ou (thème = !th-période!)))
Pour les thèmes, on peut aussi contourner le problème en écrivant un seul thème ayant comme ingrédients d'autres thèmes (voir sous Thèmes la fonction Composer).
11. La fréquence minimum pour s'inscrire dans une cellule de la matrice
Il est possible de contraindre la composition de la matrice en exigeant une fréquence minimum à l'inscription d'une cellule dans la matrice. Ainsi, pour la matrice :
on exige, avec une fréquence minimum de 3, d'admettre par document donné, les seuls lemmes qui y apparaissent 3 fois ou plus.
12. Un intervalle de centiles pour contraindre les fréquences basses et élevées dans la matrice
La présente section propose une méthode pour limiter à la fois les fréquences basses et les fréquences élevées dans la matrice. L'intervalle de centiles doit être composé de deux nombres ordonnés, non égaux et dont les valeurs se situent entre 0 et 100 inclusivement. On ajoutera, par exemple, la fonction (intervalle-centiles 20 80) .
Voici l'algorithme :
Toutes les fréquences, plus grandes que 0, trouvées dans la matrice, sont ordonnées en ordre croissant dans une liste.
On cherche dans cette liste ordonnée, deux fréquences qui correspondent aux deux centiles de l'intervalle, considérés comme des pourcentages appliqués sur la liste de fréquences de la matrice.
On appelle les fréquences ainsi trouvées: fréquence pivot basse et fréquence pivot élevée. Supposons une matrice de 20 cellules et sa liste ordonnée de fréquences :
(1 1 2 3 3 3 4 5 5 6 6 7 8 8 8 9 9 10 12 16) et un intervalle de centiles de 20 80. La fréquence pivot basse est 3 (fréquence trouvée à 20% du début) et la fréquence pivot élevée est 9 (fréquence trouvée à 80% du début). Seules les fréquences situées entre les deux fréquences pivots ou égales à celles-ci sont conservées, les autres cellules sont vidées.
À la suite de cette opération, les rangées et les colonnes qui ne contiennent que des cellules vides sont retirées de la matrice.
Si le premier nombre de l'intervalle est 0, aucune cellule à fréquence basse n'est vidée.
Si le second nombre de l'intervalle est 100, aucune cellule à fréquence élevée n'est vidée.
Si l'intervalle ne contient qu'un nombre, il est considéré comme le second nombre, tout se passe comme s'il était, dans l'intervalle, précédé du nombre 0.
La nouvelle matrice est produite en sortie.
Sémato fournit en résultat les données : nombre de rangées, de colonnes de cellules et la fréquence totale (somme des cellules) pour la matrice non restreinte, puis, pour la matrice restreinte par l'intervalle de centiles. Le résultat donne aussi les 2 fréquences pivots trouvées.
La réduction par intervalle de centiles n'est possible que sur les matrices d'une seule VM en rangée par une seule VM en colonne. Puisque le calcul du centile utilise toutes les cellules, cela n'aurait pas de sens de compiler des fréquences provenant de plus d'une VM en rangée ou en colonne.
13. La périodisation des VM numériques
Lorsque vous commandez en rangée et/ou en colonne une VM numérique solitaire (qui deviendra la seule VM de cette rangée ou de cette colonne), Sémato permet de rassembler en périodes (vous précisez le nombre de périodes désirées), les valeurs numériques de cette VM.
La VM notxt du projet photographes rapporte, avec la condition (document = !boubat!) 42 textes, les 42 questions/réponses de l'entrevue de Boubat. Si on demande la matrice des thèmes par les notxt dans le but de connaître la distribution des thèmes dans ces textes, on obtient, avec le script :
Sémato a trouvé 40 textes, 2 textes n'ayant pas de thèmes.
Pour connaître les thèmes caractéristiques du début de l'entrevue ou au contraire caractéristiques de la fin de l'entrevue, il sera intéressant de périodiser, par exemple, sur 3 périodes, l'ensemble des textes de Boubat. On aura 3 colonnes seulement (1, 2 et 3), regroupant les thèmes du début (1) du milieu (2) et de la fin (3) de l'entrevue.
On comprend que les 40 colonnes originales ont été regroupées en trois périodes simplement nommées 1, 2 et 3. La périodisation permet un point de vue condensé propice à la comparaison de VM numériques dont le nombre d'éléments diffère d'une section de corpus à une autre. Sur photographes, par exemple, la périodisation permettra de comparer le développement d'un thème dans le temps (la VM notxt) de l'entrevue entre des photographes dont les entrevues étaient plus ou moins longues.
Il est possible de périodiser à la fois une VM en rangée et une VM en colonne; on devra toutefois respecter la règle qu'une VM périodisée doive être seule en rangée ou seule en colonne. On ne peut pas, par exemple, mettre en rangée (ou en colonne) notxt et lemme tout en périodisant, en colonne, notxt. Sémato dépistera l'erreur et n'exécutera pas la périodisation.
Pour créer les périodes, Sémato divise la liste ordonnée des valeurs différentes de la VM numérique sélectionnée par le nombre de périodes désirées. Il doit y a voir au moins 2 périodes possibles et chaque période doit contenir au minimum 2 éléments ; on ne peut pas, par exemple, faire 4 périodes dans une liste de 7 éléments. Si la division crée un nombre impair de périodes, les périodes excédentaires seront insérées une à la fois, la première dans la période centrale de la série, et les autres, si nécessaire, en s'éloignant graduellement de part et d'autre de la période centrale.
Liste ordonnée : (1 2 3 4 5 6 7) + nombre de périodes 4 = impossible, aucune périodisation effectuée, une période se retrouverait avec un seul élément ;
Liste ordonnée : (1 2 3 4 5 6 7) + nombre de périodes 3 =
(période 1 : (1 2)), (période 2 : (3 4 5)), (période 3 : (6 7)) ; l'élément supplémentaire a été ajouté à la période centrale 2.
La périodisation peut s'appliquer sur toute VM numérique, incluant vos catégories de projet. Il peut être pratique, par exemple, de périodiser une catégorie numérique âge pour créer des classes (périodes) d'âge.
Certaines catégories de projet numériques n'offre pas une série continue de valeurs. Par exemple, la catégorie âge ne ramassera pas nécessairement tous les âges possibles, dans un sondage. Si on veut périodiser cette catégorie, on peut donner la valeur Oui comme argument à une fonction optionnelle portant sur la périodisation en continu (périodisation-continue Oui). Ainsi, avec (périodisation-continue Non), la série de valeurs : (3 4 5 6 7 11 12 13 14 15 16) donnera une périodisation en 3 périodes :
période 1 : (3 4 5)
période 2 : (6 7 11 12)
période 3 : (13 14 15 16)
Avec (périodisation-continue Oui), Sémato va combler les trous dans la série qui deviendra : (3 4 5 6 7 8 9 10 11 12 13 14 15 16) et qui construira la périodisation :
période 1 : (3 4 5 6)
période 2 : (7 8 9 10 11)
période 3 : (12 13 14 15 16)
Ces ajouts (8 9 10) empêchent, dans l'exemple, le rapprochement (possiblement) indu entre 7 et 11. L'option est facultative, à vous de décider si la continuité est significative ou pas dans votre projet.
La périodisation rend le script éligible à une analyse prototypique :
Expérience : G32300598158. Total des vocables : 20. Répartition en % des vocables dans les groupes : (gr-1 : 25%), (gr-2 : 0%), (gr-3 : 40%), (gr-4 : 35%) Présentation des groupes
Vous trouverez la documentation sur les analyses prototypiques en suivant ce lien.
14. Les deux VM sur les phrases nophr et nopha
Deux VM donnent des informations sur la répartition des phrases. La VM nophr (numéro de phrase relatif) donne le numéro d'une phrase dans un texte. Ce numéro se remet à 1 au début de chaque nouveau texte. La VM nophr est utilisée pour des études de périodisation dans les textes. La numérotation phrastique relative permet d'analyser les effets locaux de progression des différents éléments de description sémantique (lemmes, synapsies, thèmes, etc.). Par exemple, on pourrait identifier quels sont les thèmes qui ont tendance à émerger dans les premières phrases des textes ou encore, dans les dernières.
La VM nopha (numéro de phrase absolu) donne le numéro d'une phrase dans le corpus. Chaque phrase reçoit donc un numéro unique. Cette VM servira particulièrement aux matrices de cooccurrences.
15. Des matrices de cooccurrences sur les données sémantiques
Si vous commandez une seule même VM en rangée comme en colonne et que cette VM est soit lemme, lemsem, synap1 ou thème, Sémato permet de construire une matrice de cooccurrences. Nous construirons une telle matrice sur 20 thèmes colligés, copiés depuis la GTH-C :
La fonction cooccurrence prend la VM nopha ou notxt, selon que l'on désire une cooccurrence dans les phrases ou dans les textes. La matrice est nourrie des 20 thèmes de la table des thèmes colligés (TTC) ao projet photographes.
Dans notre exemple, nous avons 20 thèmes en cooccurrence. Les fréquences nous montrent le nombre de fois où deux thèmes apparaissent (cooccurrent) dans la même phrase. Par défaut, la cooccurrence est binaire : on cooccurre ou on ne cooccurre pas. Autrement dit, la cooccurrence ne donne qu'un point par phrase (ou par texte selon le choix effectué de contexte); la fréquence des deux thèmes dans la phrase n'intervient pas. Une fonction (cooccurrence-pointage-multiple oui) permet de tenir compte au contraire de la fréquence des deux cooccurrents : on multiplie alors les deux fréquences des unités cooccurrentes. Par exemple, si le thème th-c-idée apparaît 3 fois dans une phrase et le thème th-c-commerce 2 fois dans la même phrase, cette cooccurrence recevra 6 points.
16. Les matrices de concordance textuelle : la fonction construire-concordance et la VM concordance
Une matrice de concordance textuelle contient dans toutes ses colonnes, sauf la première, des éléments textuels : phrases, textes, séquences diverses de mots. La première colonne contient une série de catégories qui permettront de relier chacune des rangées de la concordance à la VM concordance de la Matrice première. La figure #18 ci-dessous est un exemple de matrice de concordance textuelle. Elle a été construite par le script :
La fonction construire-concordance ne nécessite pas de voisiner avec les fonctions rangée et colonne. La raison est que la nature des rangées et des colonnes est déterminée par la fonction construire-concordance elle-même. Nous reviendrons en détails ci-dessous sur les arguments de la fonction construire-concordance.
La fonction construire-concordance identifie un ensemble de segments textuels du corpus à l'aide d'une condition nommée déclencheur.
Il y a deux sortes de déclencheurs : les déclencheurs vocables et les déclencheurs non-vocables.
Concordance sur déclencheurs vocables
Une matrice concordance sur vocables est un ensemble de séquences textuelles toutes construites sur la base d'un déclencheur de type vocable. Les déclencheurs de type vocable sont les VM : thème, lemme, lexème, synap1, synap2 et lemsem.
Par exemple, au projet photographes, on construira la matrice concordance de toutes les phrases qui contiennent le lemme guerre.
Une fois construite, la colonne Concordance vient nourrir la VM nommée concordance dans la Matrice première, de telle sorte que les résultats de cette matrice concordance pourront être questionnés par des scripts d'autres matrices. Le contenu de la VM concordance demeure présente dans la Matrice première jusqu'à ce qu'il soit remplacé par le résultat d'une nouvelle exécution de la fonction construire-concordance.
La construction de la concordance de type vocable permet de montrer l'ensemble des contextes d'apparition du déclencheur. La matrice qui est construite contiendra toutes les séquences trouvées, distribuées en trois colonnes correspondant au contexte gauche du déclencheur, au déclencheur lui-même et au contexte droit du déclencheur. Voici la matrice concordance phrastique du lemme guerre au projet des photographes :
Fig. #18
Concordance
Contexte gauche
Déclencheur
Contexte droit
c01
Comme la petite fille aux feuilles mortes, où il n'y a rien, tout est flou, c'était juste après la
guerre
, il n'y a que cette petite fille.
c02
Il m'a fallu cinq ans pour me faire mettre à la porte de chez renault - j'avais tout fait pour, mais j'ai quand même dû attendre cinq ans - et trois mois plus tard ça a été la déclaration de
guerre
, ma liberté était finie.
c03
En même temps je me suis dit que de m'écraser sur ce glacier aurait été une bonne manière de mourir - mon corps serait resté préservé par la glace, bien après que le reste du genre humain aurait été anéanti par les
guerres
nucléaires.
c04
Je dois commencer par dire que je ne me sens pas qualifié pour parler de photographie de
guerre
- parce que je n ai jamais été dans une guerre.
c05
Je dois commencer par dire que je ne me sens pas qualifié pour parler de photographie de guerre - parce que je n ai jamais été dans une
guerre
.
c06
C'était au début de la
guerre
de 1939, nous étions réfugiés dans une petite ville de Suisse, dont les autochtones nous faisaient sentir que nous leur devions la vie et que ça leur donnait le droit de nous brimer un peu.
c07
C'était d'ailleurs ma première idée, à l'origine je ne voulais pas être photographe de
guerre
- et je ne veux plus l'être maintenant.
c08
Photographier la
guerre
ne demande aucun talent, n'importe qui peut faire une photo d'un homme qui crève.
c09
Toutes les photos de
guerre
ne se ressemblent pas.
c10
Dans les vôtres 'et pas seulement dans vos photos de
guerre
- je remarque toujours un point qui attire l'oeil, et qui est un centre de souffrance ...
c11
Pour les photos de
guerre
c'est différent, évidemment je ne désire pas la souffrance ou la mort des gens.
c12
Vous vous posez certainement la même question, peut-être en d'autres termes, quand vous présentez une de vos photos de
guerre
dans une exposition.
c13
Et je jouais leur jeu, je ne demandais que de repartir pour la prochaine
guerre
, c'était devenu une drogue.
c14
Elle était morte du choléra, les enfants pleuraient et tapaient le sol, je faisais semblant de regarder les nuages pour ne pas montrer que je pleurais aussi ... car je me laisse emporter, on ne l'imagine pas, on me prend pour une espèce de John Wayne de la photographie de
guerre
- que je ne suis pas et que je ne veux pas être.
c15
Mais je ne veux plus jamais retourner dans une
guerre
.
c16
La paix est difficile à vivre, j'avais l'habitude de quatre ou cinq
guerres
par an, dans un coin de la planète ou dans un autre.
c17
Elles venaient à moi pour les mauvaises raisons, parce que mon nom était dans les journaux, parce que j'étais un célèbre photographe de
guerre
.
c18
Pendant la
guerre
des Six Jours, je ne suis resté que le jour de la bataille de Jérusalem et j'ai repris l'avion le lendemain.
c19
Dans la
guerre
du Kippour, je suis resté jusqu'à l'armistice, bien que je n'aie pu faire une seule bonne photo et que mon coéquipier ait été tué sur le Golan.
c20
Vous aviez l'habitude d'y revenir toujours, même quand vous étiez photographe de
guerre
.
c21
Mais permets 'moi d'exprimer l'hypothèse 'si cette photo avait été mise en scène, elle aurait montré une réalité de la
guerre
qui correspondait effectivement à l'observation de Capa.
c22
Cet homme-ci a perdu ses mains dans la
guerre
de Corée.
On remarquera qu'une même phrase est répétée dans le tableur : les séquences c04 et c05 catégorisent la même phrase, car celle-ci contient deux occurrences du lemme guerre. Dans la VM concordance, tous les vocables de cette phrase recevront les deux catégories c04 et c05.
La VM concordance recevra pour valeurs des catégories constituées de la lettre c suivie d'un nombre identifiant chacune des séquences dans l'ordre de leur apparition au corpus. Ainsi, si la construction de la concordance a identifié 22 séquences, elle contiendra 22 valeurs (c01, c02, c03, c04 ... c22). Dans la Matrice première, toutes les rangées d'une même séquence recevront la même catégorie.
Voici, extraite de la Matrice première, la première séquence (la phrase nopha #21) contenant le lemme guerre, la VM concordance loge à la dernière colonne :
Fig. #19
notxt
nophr
nopha
catgram
lexème
synap1
synap2
lemme
lemsem
thème
décade
document
naissance
origine
genre
typeqr
concordance
3
3
21
ff
comme
d1920
boubat
1923
france
homme
réponse
c01
3
3
21
ff
la
d1920
boubat
1923
france
homme
réponse
c01
3
3
21
adj
petite
petit_fille
petit
d1920
boubat
1923
france
homme
réponse
c01
3
3
21
nc
fille
fille_aux_feuille_mort
fille
fille
th-c-fille
d1920
boubat
1923
france
homme
réponse
c01
3
3
21
prep
aux
d1920
boubat
1923
france
homme
réponse
c01
3
3
21
nc
feuilles
feuille_mort
feuille
feuille
th-c-feuille
d1920
boubat
1923
france
homme
réponse
c01
3
3
21
adj
mortes
mort
mort
th-c-destruction
d1920
boubat
1923
france
homme
réponse
c01
3
3
21
ff
,
d1920
boubat
1923
france
homme
réponse
c01
3
3
21
ff
où
d1920
boubat
1923
france
homme
réponse
c01
3
3
21
ff
il
d1920
boubat
1923
france
homme
réponse
c01
3
3
21
adv
n'
n'
d1920
boubat
1923
france
homme
réponse
c01
3
3
21
ff
y
d1920
boubat
1923
france
homme
réponse
c01
3
3
21
vfle
a
avoir
d1920
boubat
1923
france
homme
réponse
c01
3
3
21
adv
rien
rien
rien
th-c-misère
d1920
boubat
1923
france
homme
réponse
c01
3
3
21
ff
,
d1920
boubat
1923
france
homme
réponse
c01
3
3
21
ff
tout
d1920
boubat
1923
france
homme
réponse
c01
3
3
21
vfle
est
être
d1920
boubat
1923
france
homme
réponse
c01
3
3
21
adj
flou
flou
flou
d1920
boubat
1923
france
homme
réponse
c01
3
3
21
ff
,
d1920
boubat
1923
france
homme
réponse
c01
3
3
21
ff
c'
d1920
boubat
1923
france
homme
réponse
c01
3
3
21
vfle
était
être
d1920
boubat
1923
france
homme
réponse
c01
3
3
21
adj
juste
juste
juste
th-c-justice
d1920
boubat
1923
france
homme
réponse
c01
3
3
21
ff
après
d1920
boubat
1923
france
homme
réponse
c01
3
3
21
ff
la
d1920
boubat
1923
france
homme
réponse
c01
3
3
21
nc
guerre
guerre
guerre
th-c-affrontement
d1920
boubat
1923
france
homme
réponse
c01
3
3
21
ff
,
d1920
boubat
1923
france
homme
réponse
c01
3
3
21
ff
il
d1920
boubat
1923
france
homme
réponse
c01
3
3
21
adv
n'
n'
d1920
boubat
1923
france
homme
réponse
c01
3
3
21
ff
y
d1920
boubat
1923
france
homme
réponse
c01
3
3
21
vfle
a
avoir
d1920
boubat
1923
france
homme
réponse
c01
3
3
21
ff
que
d1920
boubat
1923
france
homme
réponse
c01
3
3
21
ff
cette
d1920
boubat
1923
france
homme
réponse
c01
3
3
21
adj
petite
petit_fille
petit
d1920
boubat
1923
france
homme
réponse
c01
3
3
21
nc
fille
fille
fille
th-c-fille
d1920
boubat
1923
france
homme
réponse
c01
3
3
21
ponc
.
d1920
boubat
1923
france
homme
réponse
c01
La fonction construire-concordance prend trois arguments obligatoires et un argument facultatif. Exemple :
Le premier est une condition qui permettra d'identifier le déclencheur. Cette condition a la même syntaxe que celle qui peut contraindre la construction d'une matrice (voir ci-dessus la section #10). Dans notre exemple, on a : (lemme = !guerre!) pour construire une concordance de tous les contextes qui contiennent le lemme guerre. Les déclencheurs vocables admissibles sont les VM lexème, lemme, lemsem, thème, synap1 ou synap2.
On notera que la condition qui trouve les déclencheurs peut être complexe. Dans l'exemple suivant, on ne désire que des contextes d'un document précis (l'entretien avec le photographe Boubat) :
La contrainte sur le vocable peut se trouver n'importe où dans la condition, mais elle est toutefois obligatoire dans les concordances de type vocables.
Le second argument identifie le type de contexte qui définira la concordance. Trois types de contexte sont possibles :
le contexte phrastique (correspondant à la VM nopha) : la phrase complète du déclencheur est rapportée et catégorisée dans la concordance;
le contexte textuel (correspondant à la VM notxt); le texte complet du déclencheur est rapporté et catégorisé dans la concordance;
un contexte chiffré défini par un nombre de vocables situés à la gauche du déclencheur et un nombre de vocables situés à sa droite; il faut saisir une liste de 2 nombres entiers. 4 et 5, par exemple, rapporteront pour chaque séquence, 4 vocables dans le contexte gauche et 5 vocables dans le contexte droit. Exemple : (construire-concordance (lemme = !guerre!) (4 5) lexème) .
Le troisième argument est le nom de la VM qui identifiera la nature des unités exportées dans les colonnes Contexte gauche, Déclencheur et Contexte droit au tableur de la concordance. Cette VM doit être choisie dans cette liste : catgram, lexème, lemme, synap1, synap2, lemsem ou thème.
Dans l'exemple ci-dessus (fig. #18), la VM choisie était lexème. Toutes les cellules des colonnes Contexte gauche, Déclencheur et Contexte droit montrent donc des lexèmes. Même si le déclencheur était un lemme (lemme = !guerre!), la colonne du déclencheur nous montrera aussi des lexèmes (guerre et guerres (c16). Cette question ne concerne que la nature des entités montrées dans le fichier de présentation de la concordance.
Le quatrième argument de la fonction construire-concordance permet de construire une concordance d'une seule colonne textuelle : les trois colonnes Contexte gauche, Déclencheur et Contexte droit sont fusionnées en une seule. Cet argument est le chiffre 1. Ainsi, le script :
Comme la petite fille aux feuilles mortes, où il n'y a rien, tout est flou, c'était juste après la guerre, il n'y a que cette petite fille.
c02
Il m'a fallu cinq ans pour me faire mettre à la porte de chez Renault - j'avais tout fait pour, mais j'ai quand même dû attendre cinq ans - et trois mois plus tard ça a été la déclaration de guerre, ma liberté était finie.
c03
En même temps je me suis dit que de m'écraser sur ce glacier aurait été une bonne manière de mourir - mon corps serait resté préservé par la glace, bien après que le reste du genre humain aurait été anéanti par les guerres nucléaires.
c04
Je dois commencer par dire que je ne me sens pas qualifié pour parler de photographie de guerre - parce que je n ai jamais été dans une guerre.
c05
C'était au début de la guerre de 1939, nous étions réfugiés dans une petite ville de Suisse, dont les autochtones nous faisaient sentir que nous leur devions la vie et que ça leur donnait le droit de nous brimer un peu.
c06
C'était d'ailleurs ma première idée, à l'origine je ne voulais pas être photographe de guerre - et je ne veux plus l'être maintenant.
c07
Photographier la guerre ne demande aucun talent, n'importe qui peut faire une photo d'un homme qui crève.
c08
Toutes les photos de guerre ne se ressemblent pas.
c09
Dans les vôtres - et pas seulement dans vos photos de guerre - je remarque toujours un point qui attire l'oeil, et qui est un centre de souffrance ...
c10
Pour les photos de guerre c'est différent, évidemment je ne désire pas la souffrance ou la mort des gens.
c11
Vous vous posez certainement la même question, peut-être en d'autres termes, quand vous présentez une de vos photos de guerre dans une exposition.
c12
Et je jouais leur jeu, je ne demandais que de repartir pour la prochaine guerre, c'était devenu une drogue.
c13
Elle était morte du choléra, les enfants pleuraient et tapaient le sol, je faisais semblant de regarder les nuages pour ne pas montrer que je pleurais aussi ... car je me laisse emporter, on ne l'imagine pas, on me prend pour une espèce de John Wayne de la photographie de guerre - que je ne suis pas et que je ne veux pas être.
c14
Mais je ne veux plus jamais retourner dans une guerre.
c15
La paix est difficile à vivre, j'avais l'habitude de quatre ou cinq guerres par an, dans un coin de la planète ou dans un autre.
c16
Elles venaient à moi pour les mauvaises raisons, parce que mon nom était dans les journaux, parce que j'étais un célèbre photographe de guerre.
c17
Pendant la guerre des Six Jours, je ne suis resté que le jour de la bataille de Jérusalem et j'ai repris l'avion le lendemain.
c18
Dans la guerre du Kippour, je suis resté jusqu'à l'armistice, bien que je n'aie pu faire une seule bonne photo et que mon coéquipier ait été tué sur le Golan.
c19
Vous aviez l'habitude d'y revenir toujours, même quand vous étiez photographe de guerre.
c20
Mais permets - moi d'exprimer l'hypothèse - si cette photo avait été mise en scène, elle aurait montré une réalité de la guerre qui correspondait effectivement à l'observation de Capa.
c21
Cet homme -ci a perdu ses mains dans la guerre de Corée.
Cette matrice contient 21 concordances et non 22 comme la précédente (Fig. #18), c'est que le mode une colonne textuelle ne dédouble pas les phrases qui contiennent plus d'une occurrence du vocable déclencheur.
Concordance sur déclencheurs non-vocables
Le script suivant, au projet photographes, va construire la matrice des lexèmes (VM lexème), de tous les textes (VM notxt), de type réponse (VM typeqr), de l'entrevue du photographe McCullin (VM document) :
C'est une bonne histoire. Moi je n'ai jamais évité les affrontements, même face à des hommes beaucoup plus forts que moi. Ii m'arrive d'avoir peur, bien sûr, mais je ne le montre pas, si un soldat me frappe je ne montre pas ma peur. Mais vous n'avez rien à regretter, votre éducation vous a probablement donné des choses que quelqu'un comme moi n'a pas eues. Des gens qui ont lu la préface de Homecoming m'ont trouvé articulé - mais peut-être ils se trompent. Ce texte je ne l'ai pas écrit, je l'ai seulement enregistré sur une bande magnétique et chaque mot a été un combat. j'ai été élevé dans l'ignorance, la pauvreté et la superstition, et j'en porterai la marque toute ma vie. c'est un poison dont on ne se libère pas.
c02
De Mister Britain je me moquais un peu, mais je respecte l'Homme aux colombes. c'est un mineur, il a grandi dans l'un des paysages les plus déprimants des îles britanniques, et le voici qui caresse ces symboles de liberté et de beauté. Mais je me reconnais surtout dans le clochard irlandais, celui qui ressemble à Neptune. Il est mélancolique et digne. Cela peut sembler étrange que je parle de dignité à propos de ces gens, pourtant c'est ce qui les caractérise et que j'essaye de montrer. Une dignité qui grandit avec la souffrance, comme si dans la souffrance ils trouvaient la force de continuer le combat. La mère biafraise par exemple, avec l'enfant au sein - je ne peux imaginer un être plus digne.
c03
Elles le sont, d'une certaine manière. Je me proclame souvent athée, mais je cesse de l'être quand les difficultés deviennent sérieuses, comme la fois en Ouganda, où j'ai été emprisonné et battu par les soldats d'Idi Amin, ou l'autre fois au Cambodge, quand je me suis trouvé sous un barrage d'artillerie. Alors je tombe à genoux, au sens figuré du moins, et je prie - mon Dieu, sauve - moi. Et quelque chose fait que je m'en sors. Le sentiment religieux dans mes photos vient peut-être de là. Quand les gens souffrent, ils lèvent le regard vers le ciel, comme si l'aide devait venir d'en haut - et c'est à ce moment que je déclenche.
c04
Mais je me demande si les représentations que j'en fais ne sont pas trop faciles, si je n'utilise pas la crucifixion comme un cliché. Comme je l'ai raconté dans Homecoming, j'ai été élevé très durement, par des maîtres qui étaient les derniers représentants du système victorien. Le matin ils nous faisaient chanter des hymnes à l'église, et après l'église ils nous battaient, sous un prétexte ou un autre, par exemple parce que nous avions mal ciré nos chaussures. j'a fini par détester la religion et par ne plus aller à l'église, mais je me demande si j'ai raison. Je suis un homme ouvert à la compassion et je veux le rester, mais la compassion est - elle possible sans religion ? D'autre part j'ai travaillé pour les médias, ce qui veut dire que j'ai manipulé les gens, que j'ai exploité leurs réactions face à la misère et à la souffrance, tout en étant manipulé à mon tour. Je me trouve donc coupable dans tous les sens, d'une part envers la religion que je ne pratique pas, d'autre part envers tous ces gens que j'ai laissés derrière moi, mourant de faim ou sur le point d'être assassinés, pendant que moi je repartais tranquillement, avec mon film exposé dans la sacoche. Je ne supporte plus cette culpabilité, je ne veux plus avoir à me dire continuellement - ce n'est pas moi qui ai tué cet homme, ce n'est pas moi qui ai laissé mourir de faim cet enfant. Je veux photographier des paysages et des fleurs, je me condamne à la paix.
c05
Ne sommes - nous pas censés être à l'image du Christ ? Peut-être chacun souhaite sa propre crucifixion.
c06
Je suis d'accord. Parfois je me demande si ces vingt années de ma vie n'ont pas été en pure perte. Mais il faut quand même essayer de rendre le monde un peu plus vivable, même si l'on sait que les hommes ne changeront pas. Peut-être faudrait - il montrer autre chose que misère et destruction. c'était d'ailleurs ma première idée, à l'origine je ne voulais pas être photographe de guerre - et je ne veux plus l'être maintenant. Seulement je trouve la paix plus difficile à photographier. Photographier la guerre ne demande aucun talent, n'importe qui peut faire une photo d'un homme qui crève.
c07
Comme l'enfant qui attend son dîner, debout sur une chaise ?
c08
Savez - vous pourquoi ? Parce que je ressens et j'assume la douleur de cette personne. Quand un homme me regarde comme pour dire aide - moi, et que je sais qu'il ne peut parler parce qu'on vient de lui briser la mâchoire, je lui réponds avec mes yeux, j'essaye de faire dire à mes yeux - je t- entends. Je te vois. Je voudrais pouvoir t- aider. Mais je le photographie quand même, et tout en le photographiant je me sens méprisable, je sais que, loin de l'aider, j'ajoute à sa souffrance, je me dis qu'il ne survivra pas, que l'aide dont il a besoin n'arrivera pas, ou trop tard. La seule chose que je puisse faire est de m'approcher de lui avec dignité - et même cela je ne peux le faire que quand je suis seul. On ne peut garder sa dignité au milieu de douze paparazzi qui se bousculent et se bagarrent autour d'un blessé, s'accusant mutuellement - tu as gâché ma photo serrant le malheureux de si près qu'il ne lui reste plus d'air à respirer. Je les regarde et je me demande - qui sont ces gens ? À Beyrouth, ils se retrouvaient le soir dans un bar, discutant tarifs ou proclamant - si j'ai la couverture je vous paye le champagne.
c09
Exactement ! Au milieu d'eux je me sentais sale. Un jour une femme palestinienne m'a frappé, et j'ai senti ce coup comme un message - j'ai compris que mon temps était révolu, qu'il ne fallait plus que je retourne dans ces situations.
c10
Ne croyez - vous pas que certains êtres sont plus sensibles que d'autres aux énergies de l'univers ? Me trouveriez - vous ridicule si je vous disais que j'ai pressenti des coïncidences, et que cela m'a permis d'entrer dans certaines situations et d'en ressortir vivant ?
c11
J'allais employer les mêmes mots. j'ai un don pour me trouver au bon endroit au bon moment. Ou du moins pour trouver le bon endroit et attendre avec patience que le bon moment arrive. Ii y a quelques jours, je suis allé sur la côte ouest photographier la mer. Je me suis assis en face d'elle, regardant les nuages et imaginant la configuration que je souhaitais. Au bout de deux heures, les nuages se sont placés exactement comme je voulais, j'ai fait ma photo et je suis rentré. Pour les photos de guerre c'est différent, évidemment je ne désire pas la souffrance ou la mort des gens. D'ailleurs ces choses arrivent sans qu'on les désire et sont faciles à photographier. Il est bien plus difficile de photographier la paix.
c12
Pour moi le ciel est une énergie, je le montre pour introduire de l'énergie dans mes photos. Mais mon heure préférée est le crépuscule - je ne peux m'empêcher de souhaiter que tout devienne de plus en plus sombre. j'aime aussi photographier dans le vent et la pluie, bien que ça abîme mes appareils ...
c13
Une des différences est qu'une photo de magazine implique une série d'exploitations - des victimes, du photographe, du lecteur. Quand je revenais au bureau avec mes photos, le rédacteur en chef s'exclamait - quelle horreur ! ça fera une bonne double page ! ou Pauvres gens ! c'est une excellente couverture ! Et je jouais leur jeu, je ne demandais que de repartir pour la prochaine guerre, c'était devenu une drogue.
c14
Ce n'est pas fini, ce ne le sera jamais. Il n'y aura pas un jour sans ces flash-back dans ma tête. Je ne peux traverser une rue de Belgravia, ou entrer chez Harrods, ou me promener dans les collines du Somerset, sans que ces images reviennent, comme les spots à la télé. Des hommes dans une entrée d'immeuble de Beyrouth, pleurant, pendant que les miliciens rechargent leurs mitraillettes. Ils les ont massacrés quelques minutes plus tard, devant Gilles Caron et moi. Nous avons échangé un regard, en serrant un peu nos paupières, et nous n'avons plus dit un mot le reste de la journée.
c15
Certaines me paraissent plus signifiantes, par exemple la mère biafraise. Ou la famille indienne avec la femme sur une civière. Elle était morte du choléra, les enfants pleuraient et tapaient le sol, je faisais semblant de regarder les nuages pour ne pas montrer que je pleurais aussi ... car je me laisse emporter, on ne l'imagine pas, on me prend pour une espèce de John Wayne de la photographie de guerre - que je ne suis pas et que je ne veux pas être. l'homme continuait à répéter - que vais - je faire ? Comment vais - je nourrir mes enfants ? Au bout d'un moment, j'ai fait un geste auquel je ne peux repenser sans honte - j'ai sorti de ma poche une poignée d'argent et je la lui ai tendue. Et tout en le faisant, je me suis senti sale, j'aurais voulu qu'il me jette l'argent à la figure. Ii avait cinq enfants, le bébé dans ses bras devait avoir l'âge du mien. Ces photographies sont des documents, pas des icônes, pas des oeuvres d'art à mettre au mur. Ce n'est pas ma faute si la lumière de Sabra et Shatila avait quelque chose de biblique, si les scènes qui s'y déroulaient semblaient dessinées par Goya. Je n'étais pas là pour faire des icônes, mais pour rapporter des documents qui éviteraient peut-être la répétition de ces horreurs. Je ne veux pas être considéré comme un artiste, on n'a pas le droit de faire de l'art avec la souffrance des autres. Je voulais faire du bon travail, c'est tout. Mais je ne veux plus jamais retourner dans une guerre. Je veux photographier des gens normaux, dans la rue - bien que je me demande si je n'irai pas de nouveau chercher les miséreux, c'est plus fort que moi.
c16
Ce que vous dites vaut pour Eugene Smith. Ses photos sont effectivement des icônes, il n'y a pas plus icône que le mort entouré de femmes en noir, dans le Village espagnol.
c17
ça a été sa dernière grande photo. Il a lui-même raconté comment il avait tout mis en scène, dans un bain public, et son récit se termine par les mots - et je lui ai donné le baiser du flash - car le bain public était trop sombre pour travailler sans éclairage d'appoint. Cette photo a été à la fois le sommet et la fin de sa route, il le savait et en souffrait. Mais mes propres photos n'appartiennent pas à la même catégorie. Mon mérite est simplement d'avoir remarqué certaines attitudes corporelles, toujours les mêmes, par lesquelles les gens manifestent leur détresse - car il n'y a qu'un nombre limité de gestes que l'on peut faire avec deux bras et deux jambes. j'ai appris à prévoir ces gestes et à déclencher au bon moment. Les femmes au Moyen-Orient, par exemple, expriment leur désespoir en écartant les bras - comme des personnages de Michel-Ange. Mais il n'y avait pas besoin d'être Michel-Ange pour les photographier, à Sabra et Shatila. Les icônes défilaient devant moi, j'aurais pu les photographier les yeux fermés.
c18
Ii fallait un peu de dignité, face à des gens pour qui nous étions comme des chiens qui se battent pour des os - leurs propres os en l'occurrence. j'ai essayé de contrôler l'expression de mon visage, l'attitude de mon corps et même la manière dont je tenais l'appareil, pour leur montrer que j'étais conscient de ce que cette journée avait été pour eux. Et je n'étais pas habillé en paparazzo ... Même en Angleterre j'évite d'aller chez des gens très pauvres en sortant directement de l'hôtel, parfois je leur demande la permission de dormir chez eux, dans quelque lit immonde dans une pièce désaffectée. Et je ne les photographie pas en pensant à l'avion de sept heures et au bouclage du mercredi soir. d'ailleurs je ne confie mes films à personne, je les garde avec moi, comme des enfants nouveau-nés, ils ne reviennent au journal qu'avec moi.
c19
Le labo est comme une matrice, un lieu où je peux me séparer de l'extérieur, où les énergies de mes vibrations, de mes pensées, de mon sang se concentrent. Parfois c'est comme si mes pieds quittaient le sol, chaque feuille dans le révélateur devient magique, chaque tirage raté pèse sur ma conscience. j'en fais peu, rarement plus de cinq dans une journée. Je consomme également peu de pellicule, je n'utilise jamais de moteur, si je pars en reportage pendant trois semaines, je n'emporte pas plus que trente bobines. Je traite mon film avec respect, je suis convaincu que c'est une condition pour obtenir le respect des forces qui m'entourent. Vous direz que ce sont des superstitions, mais j'y crois. Je sais qu'à la moindre inattention la photographie peut me jouer un mauvais tour, qu'avec chaque bobine que je mets dans l'appareil je prends un risque. Il est vrai que la photographie est là pour tout le monde, que n'importe qui peut la cueillir - mais elle n'appartient à personne. Je la respecte comme je respecte la mer - parce qu'elle est tellement plus grande que moi. Parfois, en rentrant de voyage, je m'aperçois que le film est voilé, parce que le dos de l'appareil n'était pas étanche, ou pour une autre cause quelconque. Je ne me fâche pas, je ne fracasse pas l'appareil contre un mur, je ris seulement en moi-même et je me dis - cette fois -ci elle ne m'a pas respecté.
c20
Je sais pourtant la séduire - ou j'ai cru savoir. Mais il ne faut pas lui demander plus qu'une bonne photo par an - ou peut-être seulement une au cours d'une vie. Il faut savoir s'arrêter. c'est bien de tout sacrifier au travail, mais pas tout le temps. Parfois je m'arrête, et je me soûle comme une bourrique. La paix est difficile à vivre, j'avais l'habitude de quatre ou cinq guerres par an, dans un coin de la planète ou dans un autre. Pour moi, la vie normale ne va pas de soi.
c21
Je me contredis souvent, je ne suis pas un intellectuel. Mais c'est vrai - je cherche une forme de perfection.
c22
Ce serait effectivement comme un miracle biblique. Pour moi, qui pendant vingt-cinq ans me suis senti le lépreux de la photographie, le photographe des malheurs et des misères, ce serait comme une guérison miraculeuse, une restauration de mon vrai visage. Mais je ne crois pas à un tel miracle - je ne vois pas comment la culpabilité pourrait être rachetée par une photo particulièrement signifiante, ce ne serait qu'une manière de plus d'exploiter les victimes. Je sens, au contraire, que tous ces négatifs accumulés sous mon toit - comme un concentré de souffrance - ne se tiennent pas tranquilles dans leur boîte de métal. Ils dégagent un malaise qui flotte dans l'air, qui m'empêche de m'asseoir avec un livre, comme n'importe qui d'autre, qui me rend agité, fignoleur, toujours occupé à ramasser des objets, à les frotter, les nettoyer. Il y a quelque chose en moi qui ne tourne pas rond, quelque chose d'énervé, d'incontrôlable. Un autre, à ma place, serait déjà fou furieux. Un intellectuel, éduqué dans une université, n'aurait pas résisté à ce que j'ai vu, il aurait été brisé comme une branche sèche. Moi j'ai gardé un peu d'équilibre, peut-être grâce à la dureté de mes débuts, peut-être aussi parce que je suis quelqu'un d'essentiellement sain.
c23
Mon travail n'a pas été sans douleur. Au Cambodge, j'ai été blessé par un obus. Pas trop grièvement, mais j'ai quand même été touché aux jambes, à l'aine et à une oreille. Seulement, j'étais décidé à survivre, je me répétais sans arrêt - ils ne m'auront pas. Je ramperai sur le ventre s'il le faut. Et j'ai rampé six cents mètres, ça m'a évité de finir comme Gilles Caron, que les Khmers Rouges avaient mis à mort quelques jours plus tôt. c'était près d'un grand fleuve, le Mékong, je me disais que s'ils s'approchaient je me serais jeté à l'eau et j'aurais essayé de me sauver à la nage. Je voulais survivre et j'ai survécu. Je crois que certaines personnes sont plus prédisposées que d'autres à la folie, c'est comme pour les virus. Dans les hôpitaux psychiatriques j'ai vu beaucoup de gens qui avaient été persécutés, particulièrement des juifs, je ne peux m'empêcher de croire que ça vient de leur passé, qu'en pensez - vous ?
c24
Moi aussi je me sens coupable, bien que dernièrement cela tende à s'atténuer un peu. Lorraine me dit souvent qu'il est absurde d'éprouver du remords à chaque fois que j'entre dans un bon restaurant ou un bon hôtel. Mais je continue à éviter ces endroits.
c25
Beaucoup. Elles venaient à moi pour les mauvaises raisons, parce que mon nom était dans les journaux, parce que j'étais un célèbre photographe de guerre. Je déteste cette expression, ça fait mercenaire.
c26
C'est vrai que mes enfants sont beaux et que ma femme a été très jolie. j'ai connu beaucoup de jolies femmes, c'était bon pour mon équilibre. Mais je préfère photographier les jolis paysages.
c27
On croit que la folie n'apporte que du mal, mais c'est faux, elle permet aussi de supporter des situations qui sans elle seraient insoutenables. Ce qui m'a préservé, c'est l'autodiscipline - rester dans le rang, ne jamais perdre de vue le sens commun, toujours tout contrôler. Car je contrôle tout, tout le temps, c'est une manie, qui pourrait suffire à elle seule à me faire dérailler - et qui m'épuise. Quand je descendais de l'avion, à l'autre bout du monde, j'en étais effectivement épuisé - au moral comme au physique - et c'était le moment où il fallait se précipiter aux premières lignes, ce que d'ailleurs je faisais. j'étais connu pour ça et je ne demandais que ça.
c28
Au début, je faisais quelques photos et je partais, en me disant - je tiens l'histoire. Pendant la guerre des Six Jours, je ne suis resté que le jour de la bataille de Jérusalem et j'ai repris l'avion le lendemain. Mais peu à peu j'ai compris qu'il fallait rester jusqu'au bout. Dans la citadelle de Hué, en 1968, je suis resté deux semaines. Dans la guerre du Kippour, je suis resté jusqu'à l'armistice, bien que je n'aie pu faire une seule bonne photo et que mon coéquipier ait été tué sur le Golan. À l'aéroport, ils m'ont obligé à me mettre nu et à me plier en deux, pendant qu'ils examinaient mon anus pour voir si je ne contrebandais pas de film. Rien ne m'a été épargné, j'ai été humilié, menacé, battu, accusé d'espionnage.
c29
Toujours. Mais c'est un lieu éprouvant - le message ne passe pas directement du négatif au papier, il voyage à travers moi. Parfois je me lève la nuit, je descends, j'ouvre les boîtes et je reconsidère les tirages pour chercher un défaut. Encore une obsession, si j'arrive à vivre avec celle-là, cela veut dire que je suis immunisé contre la folie ! Mais le labo n'est pas seulement pour développer et tirer, c'est aussi le lieu où je me cherche et où je me parle - cela aussi peut sembler de la folie, mais ce n'en est pas, croyez - moi, c'est se frotter à la folie sans laisser qu'elle prenne le dessus. Parfois cela m'épuise et je sors dans le jardin, vous seriez étonné de voir mon jardin, il est suspendu sur le flanc de la vallée, on voit les vaches de l'autre côté, nous mettons le bébé sous un arbre et nous disons - c'est le Paradis ! Le labo peut devenir cruel, il faut toujours se parler à soi-même, ou alors allumer la radio et écouter de la musique stupide. Quand j'ai fini, je lave et je dépoussière tout méticuleusement, c'est comme un hommage aux forces qui pourraient me détruire. Mais ce ne sont pas ces forces -là qui me font peur, pas le labo ni la photographie, c'est autre chose qui me détruira. Bien que je sois très fort, blindé à quatre-vingt-dix-neuf pour cent, de tous les côtés - ou presque. Car il doit y avoir une faille, je le sais, peut-être derrière moi, où mon regard n arrive pas ...
c30
Ce n'est pas une bonne photo, je ne vous la donnerai pas pour votre livre. je l'ai prise parce qu'il y avait un côté humoristique. j'ai aussi de l'humour.
c31
Je l'ai rendu vulnérable en le ridiculisant, en montrant son côté féminin. c'est ce qu'il ne me pardonnera jamais. Mais pour revenir à ce que je disais - je crois à la logique, si l'on veut survivre il faut respecter la logique. La photographie est comme une mine qui pourrait exploser à tout instant. Ii faut la contourner, éviter de la fouler, la respecter, sinon elle vous arrachera les jambes. Je dois rester logique. Il y a des photographes qui renversent les tables dans les restaurants. Je ne fais pas ces choses -là, mais il m'arrive de me bagarrer. Quand un type vient et dit - qui vous a permis de faire cette photo ? je réponds - et qui êtes - vous ? Je ne me laisserai pas faire, je me défendrai, ce n'est pas toujours logique, parfois ça rend la vie encore plus compliquée et c'est peut-être là une des petites failles de ma forteresse. C'est pourquoi je dois me contrôler encore plus, contrôler mon travail, protéger mon lopin de terre ... Seulement voilà - mon lopin de terre est la terre entière, je ne peux la protéger entièrement.
Lorsque le déclencheur ne contient aucune restriction sur vocable, la matrice est automatiquement construite avec une seule colonne textuelle. Il n'est pas nécessaire de l'indiquer par le quatrième argument facultatif.
Insertion de la fonction construire-concordance dans un script de construction d'une autre matrice
La fonction construire-concordance peut se loger dans le script de construction d'une autre matrice.
Dans le déroulement de la génération d'une matrice, si la fonction construire-concordance est commandée,
elle est effectuée avant toute autre fonction.
La VM concordance nourrie par la fonction construire-concordance peut ainsi être consultée par les fonctions de génération de la matrice d'accueil (rangée, colonne, condition, etc.).
Exemple :
Cette matrice nous donne la distribution question/réponse des thèmes présents dans les seules rangées de la Matrice première contenant le lemme guerre. La VM concordance est donc d'abord construite, puis la matrice rangée-thème par colonne-typeqr est restreinte par la condition négative que la VM ne soit pas vide : (condition (non (concordance = null))).
On répète : la concordance est construite avant la génération proprement dite de la matrice, de telle sorte que son contenu peut être interrogé/utilisé par les fonctions de génération de la matrice d'accueil. Une fois nourrie, la VM concordance peut être questionnée dans des scripts ultérieurs de constructions de matrices sur le même projet.
Plus d'exemples
La matrice suivante montre la distribution des thèmes dans la VM concordance :
Le thème th-c-affrontement est présent dans toutes les séquences de la concordance : il contient l'ingrédient guerre.
Dans la prochaine matrice, on interroge la distribution fréquentielle des lemmes d'une concordance (la fonction (colonne fréquence) est décrite dans la prochaine section (#17)) :
La fréquence d'un lemme est contrainte par la (condition (non (concordance = null))). Il s'agit donc du nombre de fois où le lemme occurre dans la matrice concordance construite par le script d'accueil.
Il est intéressant d'utiliser la fonction macro-multi-matrices (décrite ci-dessous à la section #25) pour obtenir en un seul script, des matrices concordances sur plusieurs vocables. Ainsi :
17. Les matrices de type lexique avec le paramètre fréquence
Si le paramètre fréquence est fourni en argument de colonne, celle-ci rapporte le nombre de fois où sont trouvés le ou les arguments de rangée. Le paramètre fréquence ne peut être l'argument que de la fonction colonne. De plus, la fonction colonne avec l'argument fréquence ne peut pas avoir d'autres arguments. Ainsi, (colonne fréquence document) provoquera une erreur.
On appelle matrice lexique, les matrices ainsi construites de seulement deux colonnes, la première pour identifier les rangées et la seconde qui contient les fréquences des éléments en rangée.
Par exemple, sur le projet photographes, le script :
Le paramètre fréquence est sensible à la fonction projection. La fréquence est totale par défaut, mais s'ajuste selon une éventuelle projection programmée (voir la section sur la fonction projection). Ainsi, dans l'exemple, th-affrontement occurre 29 fois dans l'ensemble de tous les entretiens des photographes. Si on veut voir plutôt dans combien de documents il occurre, (un document = un entretien dans le projet des photographes), on ajoutera la fonction (projection document) dans le script :
Lorsque la fonction rangée prend l'une ou l'autre des VM vocables : lemme, thème, synap1 ou synap2, chacune des rangées offre un lien vers les phrases du corpus qui contiennent ce vocable. Le lien peut vous amener sur une concordance textuelle ou sur une page d'arrimage. Le choix se fait par la fonction matricielle lien-texte. On ajoutera (lien-texte concordance) ou (lien-texte arrimage) dans le script de la matrice. Par défaut, le lien-texte est de type concordance. En mode (lien-texte arrimage), si le vocable est thème, on notera que seuls les thèmes de la TTC (la Table de vos Thèmes Colligés) sont accessibles.
La fonctionnalité (colonne fréquence) n'ajoute les liens vers les textes que si la VM rangée ne contient qu'un argument. Le script :
va construire la matrice des lemme et synap1 avec leurs fréquences mais sans les liens vers les textes.
Le paramètre fréquence permet de construire de multiples matrices de type lexique. Quelques exemples :
((rangée lemme) (colonne fréquence) (projet photographes)) : un lexique des lemmes du corpus, fréquence totale.
((rangée lexème) (colonne fréquence) (projet photographes)) : un lexique des lexèmes du corpus, fréquence totale.
((rangée thème) (colonne fréquence) (projection notxt) (projet photographes)) : un lexique des thèmes du corpus, fréquence textuelle.
((rangée catgram) (colonne fréquence) (projet photographes)) : un lexique des catégories grammaticales du corpus, fréquence totale.
((rangée thème)
(colonne fréquence)
(construire-concordance (lemme = !guerre!) nopha)
(condition (non (concordance = null)))
(projet photographes)) : un lexique des thèmes présents dans les seules phrases du corpus qui contiennent le lemme guerre.
18. L'utilisation du générateur de matrices en post-sondage
Le projet de démonstration abasco nous servira ici à illustrer l'usage du générateur de matrices sur les données d'un sondage Sémato. Nous vous conseillons d'examiner rapidement le court questionnaire de ce sondage avant de poursuivre cette section.
Si vous arrivez ici sans avoir lu la documentation sur le générateur de matrices, sachez au minimum que ce dernier est basé sur deux concepts celui de variables matricielles (les VM) et celui de fonctions matricielles (les FM). Les fonctions (FM) prennent les variables (VM) comme arguments. Pour construire une matrice, deux fonctions seulement sont obligatoires: rangée et colonne (sauf pour les matrices de concordance textuelle).
Les fonctions avec leurs arguments sont déposées dans un script de génération de matrices. Ainsi, le script suivant :
Nous avons ici trois fonctions : rangée, colonne et projection qui prennent respectivement pour argument trois catégories du projet abasco : q_01_activité, q_05_âge et formu. La fonction projection indique au générateur la nature de ce qui sera compté dans la matrice. Dans l'exemple, nous comptons des formulaires; formu est une catégorie de projet qui identifie chaque formulaire acheminé au sondage. Une quatrième fonction permet d'identifier le projet pour lequel nous désirons cette matrice. Si vous demandez une matrice dans votre propre projet, cette fonction est superflue. Elle est utile si vous avez plus d'un projet ou pour tester votre script dans un projet de démonstration. Vous pouvez ainsi dès maintenant obtenir la matrice ci-dessus en cliquant sur Saisie de scripts trouvé sous Analyses -- Générateur de matrices et en y collant le script dans la boîte de saisie.
On peut utiliser toutes les fonctionnalités du générateur de matrices, présentées dans l'actuel document, sur l'ensemble des formulaires d'un sondage.
Quelques points sont cependant plus caractéristiques des matrices extraites d'un sondage Sémato. Ainsi, deux VM catégories de projet, présentes dans tous les sondages Sémato, ont un statut dédié :
Une VM appelée formu identifie chaque formulaire du sondage. Dans abasco, la VM formu prend les valeurs de formu-001 à formu-166 : 166 formulaires ont été acheminés au projet.
Une VM question_ouverte prend pour valeur les catégories des questions ouvertes du sondage. Ainsi, dans abasco, il y a deux questions ouvertes : q_12_causes_échec (Quelles sont, selon vous, les principales causes de l'échec scolaire ?) et q_13_causes_abandon (Quelles sont, selon vous, les principales causes de l'abandon scolaire ?).
Imaginons maintenant une matrice qui nous permette de comparer le volume lexical des deux questions ouvertes d'abasco :
Les scrips sont commandés à Sémato sous l'onglet Analyses -- Générateur de matrices -- Saisie des scripts de génération de matrices qui ouvre la page où nous écrirons ou collerons notre script :
Les FM : rangée, colonne, cooccurrence, condition, projection, fréquence-minimum, intervalle-centiles, période-rangée, période-colonne, périodisation-continue, matrice-avec-null, construire-concordance, analyse, rs-gain-cooccurrence, rs-action-comparateurs, ap-calcul, cooccurrence-pointage-multiple.
Entrez ci-dessous le script d'une matrice ou la fonction multi-matrices et ses scripts comme arguments.
Les listes des VM et des FM sont fournies au début de la page comme aide mémoire pour faciliter avec des copier-coller l'écriture des scripts. Notez que la liste des VM est relative au projet actif et non au projet indiqué par la fonction projet (si vous utilisez cette fonction dans votre script).
Matrice : rangées = 2, colonnes = 2, total des fréquences = 9514
Voici le lien pour récupérer la matrice en version WEB : G339270675-matrice.asp Voici le lien pour récupérer la matrice en format texte (.txt) : G339270675-matrice.txt (127 octets)
Pour examiner la matrice, vous cliquez sur le lien en version WEB. Pour la télécharger sur votre ordinateur, vous choisissez le lien en format texte (.TXT). Voici la matrice en format WEB :
question_ouverte/question_ouverte
q_12_causes_échec
q_13_causes_abandon
q_12_causes_échec
4828
0
q_13_causes_abandon
0
4686
Les chiffres sur la diagonale indiquent le nombre de mots de chacune des deux questions ouvertes. Si notre sondage avait contenu 50 questions ouvertes, la matrice aurait montré 50 rangées par 50 colonnes. Par défaut, les fréquences des cellules d'une matrice rapportent le nombre de mots. Les zéros dans la matrice nous montrent qu'aucun mot d'une réponse particulière (une ligne spécifique de la Matrice première) n'est doublement catégorisé par les deux catégories q_12_causes_échec et q_13_causes_abandon.
Plutôt que d'avoir une matrice de mots, demandons à la place le nombre de formulaires (donc le nombre de personnes) en demandant au générateur de projeter la fréquence sur la VM formu :
Ainsi, si par défaut, le générateur donne des fréquences lexicales (fréquences des mots), on peut toutefois lui demander de projeter cette fréquence sur n'importe quelle des VM, on obtiendrait ainsi des matrices de phrase (nopha), de textes (notxt)... de n'importe laquelle catégorie de projet... ici : formu, q_01_activité, q_02_ethnie, q_03_milieu, q_04_genre, q_05_âge, q_06_famille_échec, q_07_école_échec, q_08_société_échec, q_09_famille_abandon, q_10_école_abandon, q_11_société_abandon, question_ouverte.
À la suite d'un Sémato Sondage, le générateur de matrices peut servir à la préparation des matrices que l'on désire exporter vers des logiciels d'analyse statistique. On peut obtenir, par exemple, autant de matrices qu'il y a de combinaisons deux à deux des VM catégories de projet. Imaginons une matrice qui compare le genre des répondants en fonction des deux questions ouvertes :
On constate que pour les deux questions ouvertes, il y plus de femmes que d'hommes qui ont donné une réponse. On désirera sans doute pondérer ce résultat par le poids respectif des femmes et des hommes qui, au total, ont répondu aux questions ouvertes. On ajoutera pour cela une fonction appelée pondération :
Le total pondéré de chacune des rangées (femme + homme) donne 100%. Ainsi, la matrice pondérée nous montre une participation aux questions ouvertes quasi identique entre femmes et hommes avec une légère prédominance des femmes pour la question ouverte sur les causes de l'échec scolaire et des hommes pour les causes de l'abandon scolaire.
Examinons une pondération entre deux questions fermées. D'abord la matrice sans pondération :
Les valeurs comptent des individus (projection formu) du sondage abasco. La fonction pondération prend pour argument le nom d'une VM constitutive de la matrice. Par exemple (pondération q_04_genre) :
Le résultat de la fonction pondération est de relativiser sur 100 les valeurs de sa VM argument, ici, la VM q_04_genre. Pour chacune des colonnes de la nouvelle matrice, le total est de 100. Dans la matrice non pondérée, on a 104 réponses femmes et 60 réponses hommes. Dans la version pondérée, tout se passe comme s'il y avait eu autant de réponses des deux côtés. Elle montre, dans l'exemple, qu'il est plus significatif pour les hommes d'avoir 13 en milieu_aisé que pour les femmes, et cette différence s'exprime dans la comparaison 63.41% (hommes) / 36.59% (femmes). L'algorithme de pondération est décrit à la section ci-dessous : Les fonctions pourcentage et pondération.
Demandons maintenant une matrice dont les rangées seraient les 166 formu et les colonnes les valeurs d'une catégorie de projet. Prenons la catégorie q_01_activité dont les valeurs sont chercheur, enseignant_ou_professionnel, étudiant, gestionnaire et parent. Nous demandons de plus la projection des fréquences sur la VM formu :
Avec la projection sur la VM formu, une rangée de formu ne peut contenir que des 0 ou des 1. On construit ainsi une matrice binaire dont l'homogénéité est intéressante pour l'exportation statistique.
On peut aussi utiliser le générateur de matrices pour rassembler plusieurs ou même toutes les valeurs de questions fermées à chacun des répondants. Ainsi, on utilisera une VM nommée catpro qui rapporte automatiquement toutes les catégories de projet d'un sondage. On aura le script :
Cette matrice binaire donne l'ensemble des réponses aux questions fermées du sondage.
Sous Analyses -- Analyses spécifiques aux sondages, une fonction Construction d'une matrice binaire sur les données du sondage
va programmer pour vous cette matrice avec, en rangée les formus et en colonnes toutes les catégories de projets, le tout en projection sur formu. Le script utilise comme ici, la VM nommée catpro, qui, au moment de la compilation du script se déploie tel l'ensemble des catégories de projet.
On aura remarqué que Sémato ajoute le nom de la catégorie devant sa valeur lorsqu'il y a plus d'une catégorie en colonne (ou en rangée, comme on le verra au prochain exemple) : la catégorie est séparée de sa valeur par le caractère égal : q_01_activité=chercheur. Ceci empêche la confusion lorsque les valeurs de différentes catégories sont les mêmes. Dans abasco, c'est le cas des catégories de gradation (Likert) : ces 6 catégories ont les mêmes valeurs possibles de 1 à 5.
Construisons une matrice inverse de la dernière ; on inverse les rangées et les colonnes :
Une analyse de matrice dans Sémato appelée réseaux de similitude permet de calculer la similitude entre les colonnes d'une matrice selon le contenu des rangées. Peut-on trouver, par exemple, des réseaux de similitude entre les répondants (les formu que l'on mettra en colonne), selon l'ensemble des réponses trouvées aux 6 questions de gradation (que l'on mettra en rangées) : q_06_famille_échec, q_07_école_échec, q_08_société_échec, q_09_famille_abandon, q_10_école_abandon et q_11_société_abandon ? Un document explique en détail l'algorithme des réseaux de similitude de Sémato.
On commande une analyse de la matrice par les réseaux de similitude en ajoutant simplement la fonction analyse avec l'argument rs :
L'option relativisation (sur 100) des fréquences des comparateurs est désactivée. L'option retrait progressif des comparateurs les moins discriminants est désactivée.
Nombre de comparateurs retenus pour les réseaux = 29
Les colonnes de la matrice (les formu) sont devenues des éléments comparés alors que les rangées (les réponses aux questions) sont des comparateurs. Les couples de formu sont présentés dans une table d'inscription où viendront se construire les réseaux de similitude. Le premier couple à s'inscrire est formu-010etformu-053. En cliquant sur le numéro de leur inscription (ici le numéro 1), Sémato présente la liste des comparateurs responsables de leur ressemblance. Ils ont gagné 6 points de similitude. En fait, plusieurs couples de formu réalisent ce même score de 6. Examinons la première table de comparaison :
Points des comparateurs aux 2 unités : formu-010 et formu-053
Total des points gagnés par les 2 unités comparées (somme de minimum) = 6
Comparateur
formu-010
formu-053
minimum
q_11_société_abandon=1
1
1
1
q_10_école_abandon=1
1
1
1
q_09_famille_abandon=1
1
1
1
q_08_société_échec=1
1
1
1
q_07_école_échec=4
1
1
1
q_06_famille_échec=3
1
1
1
On comprend qu'ils soient ressemblants : ils sont identiques. Ces deux répondants ont donné les mêmes réponses aux 6 questions de gradation du sondage.
L'algorithme des réseaux de similitude cherche à extraire des réseaux de ressemblance entre les éléments comparés. Les formu se ressemblent tous plus ou moins en fonction des réponses aux 6 questions de gradation. Dans ce groupe de 166 formu, certains se ressemblent plus que d'autres. Peut-on trouver le seuil de ressemblance en deçà duquel deux formu comparés se dissemblent relativement plus qu'ils ne se ressemblent ? Quand on aura trouvé ce seuil, on pourra conserver que les liens de ressemblance les plus significatifs. On cherche donc ainsi la configuration des réseaux construits par les liens de similitude les plus forts. C'est ce qu'on appelle la configuration focus, suivant la métaphore de l'image la plus nette, de l'image nettoyée des relations faibles. La configuration focus montre le maximum de proximité dans chaque réseau pour un maximum de réseaux différents.
Une configuration focus a été trouvée dans notre exercice au seuil de 2652.6667. Cliquez sur ce lien dans la page de résultat vous amène à la configuration focus. On y trouve 23 réseaux comprenant 63 formu. Voici la représentation graphique de cette configuration de réseaux :
Tous les réseaux de cette configuration sont intéressants. Le plus volumineux (celui des jaunes) représente le groupe le plus homogène. Les plus petits réseaux représentent des groupes plus excentriques, mais ayant quand même entre eux des liens suffisamment forts pour résister à l'attraction des plus gros réseaux.
Pour connaître la composition des liens qui créent un réseau à la configuration focus, on questionnera la VM grfocus. Cette VM prend pour valeur le nom des 23 groupes de formu présents à la configuration focus : grfocus_01, grfocus_02, grfocus_03, etc.
Nous commandons une matrice qui permettra de voir le détail des réponses aux questions de gradation, par grfocus :
Cliquez sur le grfocus_01 de manière à obtenir les scores élevés tout en haut. Les nombres comptent des individus (projection formu). Les 6 individus du grfocus_01 ont répondu de manière identique. À la fois pour l'échec et l'abandon scolaire, il ont condamné l'école (score de 5) et uniquement l'école (score de 1 pour les 4 autres réponses). Un autre groupe est surprenant : le grfocus_04. Ses membres ont répondu 3 aux 6 questions, une forme d'indécision pour une Likert de 1 à 5.
Une autre matrice nous donnera la composition des groupes en fonction des réponses aux 5 premières questions fermées :
Cliquez sur le grfocus_01 de manière à obtenir les scores élevés tout en haut. Le groupe est composé principalement d'enseignantes/professionnelles, travaillant en milieu ethnique homogène, âgées entre 40 et 49 ans.
Examinons une dernière matrice qui permettra d'examiner la thématique des grfocus :
Dans cette matrice, on ne compte pas des individus/formu mais des occurrences de thèmes. Nous utilisons des thèmes de la GTH-C. Par défaut, les thèmes de la VM thème sont ceux de la GTH-O. Pour changer le contenu de la VM thème, nous utilisons la fonction (pour-thème gth-c). Voir la section ci-dessus : La VM thème et la fonction pour-thème.
À l'évidence, les membres du grfocus_01 se sont exprimés sur l'éducation, l'école, les élèves, l'apprentissage, etc. Ces thèmes viennent corroborer l'intérêt que l'on avait découvert dans la première matrice sur les questions de gradation opposant l'école, la société et la famille.
Plusieurs autres fonctionnalités du générateur de matrices peuvent intéresser les sondages. Mentionnons particulièrement :
La possibilité de construire des classes sur les données numériques continues. Par exemple, le sondage demande l'âge des répondants sous le format d'un nombre. La fonctionnalité de périodisation va construire automatiquement des périodes sur cette suite continue de nombres. Voir la fonction de périodisation.
19. La fonction projet qui permet d'exécuter un script localement sur un projet
Cette fonction permet d'exécuter un script sur un autre projet que le projet actif. Au retour de l'exécution, le projet actif est le même qu'avant l'exécution du script.
La fonction projet prend deux arguments : le nom du projet suivi du mot de passe du projet. Il y a une exception à cette règle ; si le projet est un projet de démonstration, on peut omettre le mot de passe : les projets de démonstration ont pour mot de passe le nom du projet. Ainsi,
(rangée lemme)(colonne thème)(projet abasco))
est équivalent à :
(rangée lemme)(colonne thème)(projet abasco abasco))
20. Condensé sur les scripts de génération de matrices
Le script est une liste (parenthèse ouvrante au début et fermante à la fin) constituée d'autres listes. Chacune de ces dernières a pour premier élément le nom d'une fonction suivi de la ou les valeurs de son ou ses arguments. Le nom des fonctions et des arguments est toujours au singulier. Exemple (sur le projet photographes) :
Dans l'exemple, la fonction rangée a la valeur lemme en argument. Elle aurait pu aussi avoir plus d'une valeur, par exemple : (rangée lemme, synap1, thème). On notera que les différentes valeurs ne sont jamais séparées par des virgules seules, les virgules sont acceptées mais doivent être suivies d'un espace. Les espaces peuvent être dédoublés. Les retours à la ligne ne sont pas significatifs.
Les fonctions matricielles (FM) prennent pour arguments une ou plus d'une VM ou encore un paramètre :
le mot moyenne ou le mot médiane, répété 3 fois pour indiquer la nature des 3 calculs : le seuil des fréquences, le rang représentatif du vocable et le seuil des rangs
(ap-calcul moyenne médiane moyenne)
la moyenne est la valeur par défaut pour les trois calculs
analyse
la construction de la matrice sera suivie par l'exécution de l'analyse rs pour les réseaux de similitude, ap pour une analyse prototypique, chi2 pour le test chi2 ou r suivie de afc, acm ou acp pour une analyse avec le logiciel r; il est possible de programmer plusieurs dans le même script
(analyse ap) (analyse rs) (analyse chi2) (analyse r afc) (analyse r acm) (analyse r acp)
le mot moyenne ou le mot médiane, répété 3 fois pour indiquer la nature des 3 calculs : le seuil des fréquences, le rang représentatif du vocable et le seuil des rangs
(ap-calcul moyenne médiane moyenne)
la moyenne est la valeur par défaut pour les trois calculs
Le signe égal (=) n'est utilisé que dans la syntaxe des conditions. Par exemple :
(condition (document = !boubat!)). Il n'est jamais utilisé comme argument d'une fonction matricielle. On mettra : (rangée lemme) mais non (rangée = lemme).
Il n'y a pas d'ordre entre les fonctions. On compose le script en ne donnant que les fonctions nécessaires. Sémato dépistera des erreurs d'argumentation. Par exemple, le script :
Les fonctions colonne et période-colonne ne sont pas compatibles; colonne doit recevoir une VM numérique. La fonction période-colonne est retirée.
Explication : la VM catégorie de projet document (au projet photographes) n'est pas une catégorie numérique. Il est erroné de vouloir la périodiser. Sémato retire la fonction période-colonne et construit la matrice.
Le générateur de matrices contient près d'une centaine de règles de ce type, pour dépister et expliquer des erreurs de programmation dans les scripts
21. La fonction multi-matrices pour commander plusieurs scripts de matrices à la fois
La fonction multi-matrices prend pour arguments une série de scripts générateurs de matrices. La saisie d'une fonction multi-matrices s'exécute dans la même fenêtre que celle empruntée pour l'écriture d'un script unique : onglets Analyses -- Générateur de matrices -- Saisie des scripts de génération de matrices :
Les FM : rangée, colonne, cooccurrence, condition, projection, fréquence-minimum, intervalle-centiles, période-rangée, période-colonne, matrice-avec-null, construire-concordance, analyse.
Entrez ci-dessous le script d'une matrice ou la fonction multi-matrices et ses scripts comme arguments.
Comme on le voit dans l'exemple, la fonction projet permet de spécifier sur quel projet un script sera exécuté. Si la fonction projet est absente d'un script, le projet utilisé est le projet actif par défaut, avant l'appel à multi-matrices. Ainsi, si vous exécutez une multi-matrices sur votre propre projet, il n'est pas nécessaire d'utiliser la fonction projet; tous les scripts de votre multi-matrices seront exécutés sur votre projet. Dans l'exemple, trois projets différents sont sollicités : rsdemo, apscience et photographes. À la fin de l'exécution de multi-matrices, on se retrouve avec le projet actif par défaut.
La fonction multi-matrices permet de documenter des protocoles d'analyse. Par exemple, à la suite d'une analyse en réseaux de similitude, plusieurs matrices peuvent être commandées pour dresser le portrait des groupes obtenus à la configuration focus. La fonction multi-matrices aura comme première matrice celle qui commande les réseaux. Elle sera suivie d'une série de matrices permettant d'établir le portrait. Dans un scénario où seule la première matrice changerait, par le choix de la VM mise en colonne (qui dicte ce que l'on veut comparer dans les réseaux), il serait très utile d'utiliser une multi-matrice.
22. Deux VM liées aux résultats d'analyse : grap et grfocus
Deux VM nommées grap et grfocus émergent à la suite d'une analyse prototypique (pour grap) ou d'une analyse en réseaux de similitude (pour grfocus). Elles permettent de nourrir de nouvelles matrices. Le comportement de ces deux VM est identique à celui des autres VM : elles peuvent servir de rangée ou de colonne, agir à l'intérieur d'une condition, contribuer à la construction d'une concordance, etc. Elles sont l'outil le plus important pour établir des portraits des groupes construits par une analyse prototypique ou une analyse en réseaux de similitude.
La VM grap identifie les 4 groupes construits par l'analyse prototypique. À la suite d'une analyse prototypique, Sémato nourrit la VM grap de 4 valeurs grap_1, grap_2, grap_3 et grap_4 correspondant aux 4 groupes construits par l'analyse prototypique. Ces valeurs peuvent être par la suite questionnées dans un futur script de génération de matrices. On aurait, par exemple :
((rangée thème) (colonne fréquence) (condition (grap = !grap_1!)) (projet apscience))
ou encore :
((rangée q_2_groupe_âge) (colonne grap) (projet apscience))
La VM grfocus identifie chacun des groupes de la configuration focus trouvée par les réseaux de similitude. Si la configuration focus contient, par exemple, 6 réseaux, la VM grfocus prend les 6 valeurs grfocus_1, grfocus_2, grfocus_3, grfocus_4, grfocus_5 et grfocus_6.
Exemples de scripts postérieurs à une analyse de réseaux de similitude :
Si vous sollicitez la VM grfocus dans un script en l'absence d'une préalable analyse en réseaux de similitude, Sémato répondra que les données sont insuffisantes pour construire la matrice. Il n'est pas nécessaire que les deux scripts, celui responsable de l'analyse en réseaux et celui qui questionne la VM grfocus soientt exécutés directement l'un après l'autre comme dans le dernier exemple avec la multi-matrices, mais on ne peut questionner la VM grfocus sur un projet où aucune configuration focus n'a encore été trouvée. Toute configuration focus trouvée remplacera le contenu antérieur de la VM grfocus. Ces considérations sur la VM grfocus s'appliquent de la même façon sur la VM grap.
La section #18 ci-dessus du présent document donne plusieurs exemples d'utilisation de la VM grfocus. Vous trouverez dans la section #5 de la documentation sur l'analyse prototypique un exemple d'utilisation de la VM grap.
La fonction pourcentage permet de substituer aux données brutes une distribution en pourcentages. Examinons les trois matrices suivantes (données extraites du projet abasco) :
Fig. #20
La première matrice (nommée Données brutes) est obtenue par le script :
On y croise deux catégories (des questions fermées du projet abasco) et on y compte des individus (projection formu). Les données sont brutes : par exemple, 57 femmes sont de la classe_moyenne.
La seconde matrice de la figure #20 (nommée Pourcentages sur le genre) est obtenue par le script :
C'est le même script que le précédent, mais avec l'ajout de la fonction pourcentage (pourcentage q_04_genre). Dans cette seconde matrice, les 57 formulaires où q_04_genre = femme représentent 72.15% de l'ensemble des 79 formulaires de la classe_moyenne (femmes + hommes). Chacune des 3 colonnes montre donc la distribution en pourcentages des valeurs de la VM q_04_genre.
Dans la troisième matrice de la figure #20 (nommée Pourcentages sur le milieu), le calcul de la distribution en pourcentages se fait par rangée, sur la VM q_03_milieu. Ainsi, parmi toutes les femmes, 54.81% sont de la classe_moyenne.
Le pourcentage donnera les mêmes scores si la matrice est inversée. Inversons rangée et colonne dans la seconde matrice de la figure #20:
On retient que le total des valeurs de la fonction pourcentage est toujours égal à 100, qu'il soit obtenu en rangée ou en colonne. Dans toutes ces matrices, le total (femmes + hommes) = 100.
Notre matrice en exemple ne comportait qu'une VM en rangée et qu'une VM en colonne. On peut très bien multiplier les VM en rangée comme en colonne :
Premier constat : les deux colonnes q_02_ethnie ne sont pas touchées par la fonction (pourcentage q_04_genre). Aucune cellule de ces deux colonnes n'a de contact, que ce soit par la rangée ou par la colonne, avec la VM argument de la fonction pourcentage q_04_genre.
Second constat : le pourcentage par q_04_genre est calculé de manière spécifique pour q_03_milieu et pour q_05_âge. On retrouve nos 6 cellules q_03_milieu/q_04_genre avec un total de 100 pour chaque couple femme+homme; ce sont les mêmes valeurs que celles des matrices simples présentées ci-dessus.
Un calcul spécifique a été produit sur les 10 cellules q_05_âge/q_04_genre avec, là aussi, un total de 100 pour chaque couple femme+homme.
Dans ces comparaisons entre des groupes de vocables (la VM lemme choisie pour l'analyse prototypique) et la catégorie q_04_genre qui est une catégorie de répondant-e, nous aurions pu choisir de projeter les données sur la catégorie UMT qui, dans apscience, identifie les répondant-e-s (l'équivalent de la catégorie formu dans les Sémato Sondages). Si, par exemple, un homme a utilisé le lemme recherche en réponse aux trois mots sollicités, cela a fait augmenter la probabilité pour ce lemme de se retrouver au groupe 1. Si on projette par UMT, cela ne comptera que pour un homme, si on ne projette pas, cela comptera pour 3 hommes.
Comme la consigne était de donner 3 mots différents, on peut penser que la différence entre les deux approches ne sera pas très significative.
Le script suivant permet d'examiner une distribution en pourcentages sur une seule VM :
Les formu de la classe_moyenne représentent 48.17% de tous les formu ayant répondu à cette question q_03_milieu. Pour obtenir les pourcentages sur l'ensemble de tous les répondant-e-s, on ajoutera la fonction (matrice-avec-null oui) :
Donnons un autre exemple faisant intervenir cette fois-ci des thèmes. Nous utilisons le projet photographes. Le script suivant compte les thèmes par genre :
Les distributions en pourcentages sont intéressantes pour l'obtention d'un portrait catégoriel suite à une analyse prototypique ou à une analyse en réseaux de similitude. Pour cet exemple, nous utilisons le projet de démonstration apscience.
Dans ce projet, une analyse prototypique demande 3 mots qui nous viennent à l'esprit lorsque nous pensons au mot science. Chacune des réponses reçoit un rang de 1 à 3, le rang 1 étant donné au premier mot. L'analyse construit ensuite 4 groupes de mots selon leur fréquence et leur rang. Par exemple, le groupe 1 de l'analyse prototypique (grap_1) rassemble les mots qui ont le rang le plus faible et la fréquence la plus forte.
La première matrice du script multi-matrices ci-dessous exécute cette analyse prototypique. On commande par la suite trois matrices qui croisent les 4 groupes construits et deux VM catégories de projet : q_1_genre et q_2_groupe_âge. Voici la multi-matrice :
Vous pouvez exécuter cette multi-matrices, sous Analyses, Saisie des scripts de génération de matrices. Dans cette analyse prototypique, nous choisissons de lemmatiser les mots recueillis. Ces lemmes seront classés en 4 groupes et une VM nommée GRAP ajoute, dans la Matrice première, une valeur grap_1, grap_2, grap_3 ou grap_4 aux lemmes, selon leur groupe d'appartenance. Examinons les résultats des 3 matrices.
Cette troisième matrice nous montre la distribution en pourcentage de l'âge par groupe. Chaque colonne GRAP a un total de 100%. On peut ainsi multiplier ce type de matrice pour chaque catégorie du projet.
La quatrième matrice porte encore sur les groupes d'âge et les 4 groupes de l'analyse prototypique, mais en changeant l'argument de la fonction pourcentage :
Ici, chaque rangée a un total de 100%. On peut ainsi voir la répartition des valeurs dans chacun des groupes d'âge.
La fonction pondération
La fonction pondération permet de pondérer une section de la matrice identifiée par une VM. Considérons en premier lieu une matrice non pondérée, construite au projet abasco :
Les valeurs comptent des individus (projection formu) du sondage abasco. La fonction pondération prend pour argument le nom d'une VM constitutive de la matrice. Par exemple (pondération q_04_genre) :
Le résultat de la fonction pondération est de relativiser sur 100 les valeurs de sa VM argument, ici, la VM q_04_genre. Pour chacune des colonnes de la nouvelle matrice, le total est de 100. Dans cette matrice, on a 104 réponses femmes et 60 réponses hommes. Dans la version pondérée, tout se passe comme s'il y avait eu autant de réponses des deux côtés. La pondération tient compte de toutes les cellules touchées par sa VM, ici, dans notre exemple, le calcul de pondération tient compte des 6 cellules.
La pondération permet de voir émerger des éléments d'interprétation. Dans la matrice non pondérée, les hommes et les femmes ont le même score de 13 en milieu aisé. La matrice pondérée mettra en relief que ce score de 13 est plus important pour les hommes que pour les femmes, et cette différence s'exprime dans la comparaison 63.41% (hommes) / 36.59% (femmes). Examinons l'algorithme de pondération.
Vous pouvez examiner ce tableau Excel avec toutes ses formules en suivant ce lien.
Six calculs sont effectués de manière identique, correspondant aux six cellules de la matrice. Par la suite, 3 calculs seront effectués sur les 3 colonnes B, C et D.
Examinons le premier calcul en prenant pour exemple la cellule B2 (femmes de classe_moyenne). Le calcul consiste à comparer une valeur trouvée à une valeur attendue.
La valeur trouvée est la valeur relative des femmes de classe_moyenne sur le total des femmes et des hommes de classe_moyenne. On aura : (B2 / B4) * 100, soit : (57 / 79) * 100 = 72.15%.
La valeur attendue est la somme de toutes les femmes ayant répondu à cette question sur l'ensemble de toutes les réponses obtenues. On aura (E2 / E4) * 100 soit : (104 / 164) * 100 = 63.41%. On remarquera que ce calcul est le même pour les femmes des 3 milieux.
On peut maintenant comparer la valeur trouvée à la valeur attendue pour obtenir la valeur pondérée. Pour ce calcul, on a besoin de la moyenne des valeurs possibles pour la VM pondérée. La VM pondérée est q_04_genre et elle a deux valeurs : femme et homme. La moyenne est donc de (100 / 2) = 50.
On obtient la valeur pondérée par la formule (valeur trouvée * (moyenne / valeur attendue)). Si le quotient de la moyenne par la valeur attendue est de 1, la valeur pondérée sera égale à la valeur trouvée. Si ce quotient est plus petit que 1, la valeur pondérée sera inférieure à la valeur attendue. Si ce quotient est plus grand que 1, ce sera l'inverse. La moyenne divisée par la valeur attendue nous donne en quelque sorte un le coefficient de pondération.
Dans notre tableau, la valeur pondérée des femmes de classe moyenne (B9) est trouvée par la formule : B6 * (50 / B7) = 72.15 * (50 / 63.41) = 59.92. La valeur pondérée pour les femmes en classe_moyenne est donc en dessous de la valeur attendue.
À la suite de ce premier calcul, on a donc des valeurs pondérées pour les six cellules de la matrice. Le second calcul consiste à relativiser sur 100 les valeurs pondérées obtenues pour chacune des trois colonnes de la matrice. Pour la colonne B (classe_moyenne), on relativise la valeur pondérée des femmes sur le total des valeurs pondérées des femmes et des hommes. On obtiendra ainsi la valeur de B9 : B8 /(B8 + B13) * 100 = 59.92%. Les six valeurs pondérées relatives (en rouge dans le tableau) nourrissent ainsi la nouvelle matrice pondérée.
Comme on pouvait s'y attendre, la pondération favorise les hommes dans les trois milieux. La comparaison en milieu_aisé est particulièrement éloquente. Les deux genres avaient le même nombre 13. La pondération nous montre que cette valeur est beaucoup plus significative pour les hommes que pour les femmes. Tenant compte de leur proportion de participation au sondage, les hommes viennent beaucoup plus du milieu_aisé que les femmes.
La pondération donnera les mêmes scores si la matrice est inversée. Ainsi :
On retient que le total des valeurs de la VM pondérée sera toujours égal à 100, qu'il soit obtenu en rangée ou en colonne. Dans les deux matrices, le total (femmes + hommes) = 100.
Notre matrice en exemple ne comportait qu'une VM en rangée et qu'une VM en colonne. Comme pour la fonction pourcentage, on peut très bien multiplier les VM en rangée comme en colonne :
Premier constat : les deux colonnes q_02_ethnie ne sont pas touchées par la pondération, que ce soit pour le milieu ou pour l'âge. Elles n'ont aucune cellule en contact avec la VM pondérée (q_04_genre).
Second constat : la pondération par q_04_genre est calculée de manière spécifique pour q_03_milieu et pour q_05_âge. On retrouve nos 6 cellules q_04_genre/q_03_milieu avec un total de 100 pour chaque couple femme+homme; ce sont les mêmes valeurs que celles des matrices simples présentées ci-dessus.
Un calcul spécifique a été produit sur les 10 cellules q_04_genre/q_05_âge avec, là aussi, un total par de 100 par couple femme+homme.
Le projet photographes rassemblait 10 hommes et 2 femmes. Il est difficile depuis la matrice non pondérée d'évaluer les thèmes caractéristiques des entrevues produites par les deux femmes. En cliquant sur la colonne femme de la matrice pondérée, on fait mieux ressortir ces spécificités.
Une matrice pondérée avec les null
Sur la première matrice présentée dans cette section sur la pondération :
L'addition de toutes les occurrences donne 164 formu. Or il y a 166 formu au sondage abasco. Dans notre exemple, nous voulions comparer les seuls formu ayant répondu à la question q_03_milieu. Rappelons le résultat pondéré :
Pour pondérer sur l'ensemble des formu, on ajoutera au script la fonction matrice-avec-null. Examinons en premier lieu la matrice non pondérée, mais programmée avec les null :
L'augmentation du nombre de femmes modifie légèrement la pondération sur toutes les valeurs.
Les fonctions pourcentage et pondération ne s'appliquent que si leur argument est présent en VM de rangée ou de colonne. Le script suivant, par exemple, n'exercera aucun calcul de pourcentage, son argument q_04_genre n'étant présent ni dans colonne ni dans rangée :
La VM catpro se programme seulement comme unique argument de colonne ou unique argument de rangée.
25. La fonction macro-multi-matrices
Nous utilisons le projet de démonstration apscience dans cette section.
Dans ce projet, une analyse prototypique demande 3 mots qui nous viennent à l'esprit lorsque nous pensons au mot science. Chacune des réponses reçoit un rang de 1 à 3, le rang 1 étant donné au premier mot. L'analyse construit ensuite 4 groupes de mots selon leur fréquence et leur rang. Par exemple, le groupe 1 de l'analyse prototypique (grap_1) rassemble les mots qui ont le rang le plus faible et la fréquence la plus élevée.
La fonction macro-multi-matrices permet d'étendre une multi-matrices à l'aide d'un modèle de départ et d'une liste de variables.
Le premier construit une matrice lemme par rang, matrice qui va supporter une analyse prototypique et nourrir ainsi les 4 groupes de la VM grap (grap_1, grap_2, grap_3 et grap_4).
La seconde matrice donnera la distribution en nombre de lemmes des q_1_genre par grap.
La troisième fait le même travail en relativisant (%) le calcul. La relativisation se fait sur les q_1_genre (on obtient 100 en additionnant les q_1_genre).
La dernière matrice reprend le script précédent, mais en effectuant cette fois le travail de relativisation sur la VM grap (on additionne les groupes pour obtenir 100).
Matrice : rangées = 359, colonnes = 3, total des fréquences = 1541
Voici le lien pour récupérer la matrice en version WEB : g440-matrice.asp Voici le lien pour récupérer la matrice en format texte (.txt) : g440-matrice.txt (6011 octets)
Expérience : G440. Total des vocables : 359. Répartition en % des vocables dans les groupes : (gr-1 : 10.86%), (gr-2 : 4.18%), (gr-3 : 44.57%), (gr-4 : 40.39%) Présentation des groupes
Matrice : rangées = 2, colonnes = 4, total des fréquences = 1537
Voici le lien pour récupérer la matrice en version WEB : g441-matrice.asp Voici le lien pour récupérer la matrice en format texte (.txt) : g441-matrice.txt (89 octets)
Voici le lien pour récupérer la matrice en version WEB : g442-matrice.asp Voici le lien pour récupérer la matrice en format texte (.txt) : g442-matrice.txt (108 octets)
Voici le lien pour récupérer la matrice en version WEB : g443-matrice.asp Voici le lien pour récupérer la matrice en format texte (.txt) : g443-matrice.txt (104 octets)
q_1_genre / grap
grap_1
grap_2
grap_3
grap_4
femme
62.26
9.5
16.05
12.2
homme
62.66
8.05
13.85
15.44
La fonction macro-multi-matrices prend deux arguments. Le premier argument est en quelque sorte un modèle de multi-matrices. C'est une multi-matrices dans laquelle on remplacera le contenu d'une VM par les caractères *var*; dans le script ci-dessous, *var* remplace la VM q_1_genre. Le second argument de la fonction est une liste de VM. Exemple :
La multi-matrices générée par la macro commence par le script de la première matrice du modèle. Ce script ne sera présent qu'une fois dans la multi-matrice générée, car il ne contient pas la macro variable *var*.
Par la suite, l'algorithme va itérer la liste fournie en second argument de la fonction macro-multi-matrices; dans notre exemple : (q_1_genre, q_2_groupe_âge, q_4_diplôme_plus_élevé).
Les trois scripts suivants dans le modèle seront réécrits dans la multi-matrices générée, autant de fois qu'il y a de variables au second argument. Pour chaque variable de la liste, on réécrit les 3 scripts en remplaçant *var* par cette variable.
Si la liste des variables fournie en second argument est (catpro) , la macro-multi-matrices va créer une liste composée de toutes les catégories de votre projet.
Si vous appliquer la fonction macro-multi-matrices sur un autre projet que le vôtre à l'aide de la fonction projet comme dans (projet photographes), il faut savoir que les catégories de projet de catpro seront celles du dernier projet sollicité dans la multi-matrices.
Exemple d'une macro-multi-matrices permettant de ramasser dans un seul fichier trois type de données textuelles pour chacune de toutes les catégories d'un projet :
Vous pouvez mélanger des matrices avec *var* et des matrices sans *var* dans l'écriture de la macro-multi-matrices. Puisque les matrices sans *var* ne sont pas répétées, elles sont déposées au début de la multi-matrices construite.
26. La fonction pour-fusion dans une multi-matrices
La fonction matricielle pour-fusion se programme depuis des scripts d'une multi-matrices. Cette fonction permet de fusionner des matrices en une seule nouvelle matrice. Exemple d'une fonction multi-matrices dont les scripts utilisent la fonction pour-fusion :
Cette multi-matrices va construire 4 matrices : les 3 matrices attendues et une quatrième résultant de la fusion des 3 premières. La fonction (pour-fusion oui) ordonne à son script de participer à la construction de la matrice fusion.
La valeur par défaut de la fonction pour-fusion est non; ainsi (pour-fusion non) a le même effet que de ne pas insérer pour-fusion dans un script. Une multi-matrices peut contenir à la fois des scripts avec ou sans pour-fusion. La multi-matrices suivante, par exemple, contient un script qui servira à l'évaluation d'une analyse prototypique :
Cette multi-matrices permet d'examiner la différence entre deux analyses prototypiques (AP) appliquant des calculs différents sur la même matrice de départ. Le projet de démonstration apscience ne contient comme questions ouvertes que les 3 réponses à la question de l'AP : Quels mots vous viennent à l'esprit lorsque vous pensez au mot science ?
La première matrice présente les fréquences des thèmes de l'ensemble de ces textes. On a donc un premier script qui collaborera à la construction de la matrice fusion (pour-fusion oui). La matrice construite par ce script deviendra la première colonne de la matrice fusion (colonne qui sera surnommée M1).
Le second script est responsable de la construction de la première AP celle qui implémente la moyenne pour les 3 calculs. La matrice de cette AP (thèmes par rang) s'inscrira dans la matrice fusion nourrissant 3 colonnes surnommées M2 (rangs 1, 2 et 3).
La troisième matrice montre la distribution des thèmes dans chacun des 4 groupes (grap_1, grap_2, grap_3 et grap_4) qui viennent tout juste de nourrir la VM grap de la Matrice première.
La quatrième matrice, qui supporte la seconde AP, est identique à la première. Seuls les calculs de constitution des 4 groupes changent. Il n'y a aucun intérêt à la dédoubler dans la matrice fusion.
Le cinquième script est identique au troisième. La matrice qu'il construit (M5) sera toutefois différente, car les 4 valeurs de la VM grap ont changé.
La matrice fusion, en juxtaposant côte à côte les 4 colonnes grap/moyenne (M3) et les 4 colonnes grap/médianes (M5), va simplifier grandement l'évaluation des deux AP.
Il est aussi possible, dans la même multi-matrices de fusionner des matrices provenant de projets différents. Voici, par exemple, une méthode pour comparer les thèmes trouvés dans trois projets :
Cette méthode de création de matrices depuis plusieurs projets permet, par exemple, de comparer des données de sondages récurrents.
Dans nos exemples, on a toujours conservé la même VM en valeur de rangée. Ceci n'est pas obligatoire. En fait toutes les matrices peuvent être fusionnées; il n'y a aucune de contrainte particulière à l'écriture des scripts qui participent à une fusion.
27. Annexe - VM catgram : la liste des catégories grammaticales