Sonal 1.8 est disponible

Après une assez longue gestation, une version 1.8 de Sonal est maintenant disponible au téléchargement.

Cette version contient une interface d’analyse globale des échanges, dont je vous parlais dans un précédent billet, et qui me semble ouvrir des perspectives analytiques plutôt intéressantes. Si je trouve le temps, je vous en ferai une présentation plus détaillée ici prochainement. Dans l’immédiat, vous pouvez toujours jeter un oeil au mode d’emploi (p. 151).

AQE

Elle vous offrira également la possibilité de « cloner » vos pistes, pour éventuellement encoder différents aspects des entretiens, ou pourquoi pas confronter les encodages de plusieurs chercheurs. Voir le mode d’emploi p. 40.

Comme d’habitude, le téléchargement est chaudement recommandé et la mise à jour est sans risque pour vos données.

 

Alex Alber

Sociologue. Maître de Conférences à l'Université F. Rabelais de Tours/ Laboratoire CITERES (UMR CNRS) Chercheur associé du Centre d'Etudes de l'Emploi.

More Posts - Website

Du nouveau dans l’analyse quantitative des échanges

J’ai eu la chance de pouvoir participer en juin aux journées d’étude consacrées aux usages de la lexicométrie en sociologie. J’ai profité de l’occasion pour présenter rapidement le projet Sonal et pour approfondir certaines pistes analytiques que le logiciel ne faisait jusqu’ici qu’entr’ouvrir (analyse des échanges et des débits). C’était une expérience assez enrichissante. A vrai dire, je m’étais engagé à parler de fonctionnalités qui n’étaient pas encore implémentées. Or, avec la préparation du congrès de l’AFS, j’ai manqué de temps pour développer les interfaces voulues.

J’ai donc dû travailler d’arrache-pied pour implémenter les fonctionnalités d’analyse globale des échanges (on pouvait jusqu’ici le faire entretien par entretien) en prévision de ma présentation. Je suis parvenu à stabiliser rapidement de premiers outils de décompte des propriétés des interventions pour faire quelques démonstrations mais, en cherchant à représenter graphiquement les interventions décomptées (en articulant longueur et débit), je suis finalement entré en territoire inconnu et j’ai ouvert une nouvelle étape du développement de Sonal, beaucoup plus fondamentale que je ne l’imaginais.

AQE

Développer un outil d’analyse quantitative des échanges m’a amené à prendre conscience qu’une approche quantitative de la dynamique des entretiens ouvrait sur une nouvelle échelle de segmentation des matériaux qui recèle ses propres enseignements et appelle ses propres outils. Il ne s’agit plus d’analyser des « passages » contenant des questions et des réponses mais bien de placer la focale sur les seules questions ou réponses, en cherchant à tenir compte de leurs caractéristiques morphologiques (nombre de mots, durées en secondes) dans l’analyse. Analyser ainsi les longueurs et les durées moyennes des questions et des réponses en fonction des (types d’)interlocuteurs et des sujets donne à voir des dimensions généralement invisibles dans l’analyse sociologique des entretiens. Pour le dire simplement, toutes les prises de parole collectées dans une campagne d’entretiens ne peuvent pas être considérées comme également heuristiques pour la recherche, tout particulièrement si l’on compte les utiliser à des fins lexicométriques. L’analyse quantitative des échanges, en tenant compte à la fois de la longueur mais aussi de la vitesse relative des réponses (débit en mots/minutes) permet d’objectiver le fait que sur certains sujets, il faut parfois « tirer les vers du nez » des répondants là où à d’autres moments, ils frisent la logorrhée; que certains sujets appellent des réponses en moyenne plus longues et plus rapides que les autres, indépendamment de l’interrogateur ou des caractéristiques du répondant. On peut voir ci-dessous un exemple de sujet qui suscite des réponses plus longues et plus rapides que la moyenne.

AQE(filtre)

C’est une échelle implicite d’appréciation des matériaux qui sort de l’ombre et oblige à une réflexion beaucoup plus profonde sur le traitement des entretiens. J’ai ainsi constaté que la morphologie des réponses renseignait indirectement sur l’intérêt de l’interrogateur pour les propos tenus. Si une réponse est très longue, c’est potentiellement que l’interrogateur s’est abstenu de la couper ou de la recadrer, ce qui va généralement de pair avec une bonne adéquation au guide d’entretien. Analyser prioritairement les interventions les plus longues peut donc avoir une certaine pertinence.  Ce ne sont là que de premières intuitions mais on ne peut exclure que ces dénombrements revêtent à terme un certain intérêt dans le cadre de dépouillements de corpus. Je prépare actuellement plusieurs textes sur ces questions.

Bien que je ne puisse préjuger de l’utilisation effective de tels outils par mes collègues, je dois avouer que je suis assez enthousiasmé par ce travail de conception et de développement, même si l’interface d’analyse revient largement à développer un logiciel dans le logiciel, ce qui retarde la sortie de la version 1.8. Pour la première fois, j’ai l’impression de partir de zéro, car ces outils s’appuient pleinement sur les fonctionnalités de synchronisation de Sonal, qui sont assez spécifiques. J’ai hâte de pouvoir partager les raisons de cet enthousiasme…

à suivre…

 

 

 

Alex Alber

Sociologue. Maître de Conférences à l'Université F. Rabelais de Tours/ Laboratoire CITERES (UMR CNRS) Chercheur associé du Centre d'Etudes de l'Emploi.

More Posts - Website

Un mode d’emploi complet de Sonal est (enfin) disponible…

Qu’il fut long et laborieux l’accouchement de ce mode d’emploi! Les souffrances du « parturient » ont été particulièrement longues et intenses pour faire progressivement voir le jour à ce beau bébé de 166 pages et qui pèse aux alentours de 5Mo.

ModeEmploi

Un certain nombre de parties reprennent et mettent à jour le contenu des tutoriels accessibles en ligne mais le mode d’emploi apporte plusieurs compléments et offre l’avantage de présenter une vue d’ensemble des fonctionnalités via une table des matières assez détaillée. En s’y reportant, chacun devrait pouvoir trouver des réponses à ses questions sur tel ou tel aspect de l’application.

Une sortie longtemps retardée

Bien qu’il m’ait été demandé de longue date, j’ai retardé pendant longtemps la rédaction de ce mode d’emploi. La première raison était que de nouvelles fonctionnalités s’ajoutaient constamment et que je savais qu’il allait falloir mettre à jour tout ce que j’avais expliqué au gré des fluctuations du logiciel. J’ai donc attendu d’avoir programmé la quasi totalité des fonctionnalités prévues dans le plan d’ensemble pour faire une présentation réellement exhaustive du logiciel.

Le second problème est qu’une fois l’application stabilisée, il a fallu définir un ordre de présentation, ce qui n’aura pas été une chose facile. En effet, Sonal permet de faire beaucoup de choses et l’on peut les faire dans n’importe quel ordre ou presque. J’ai donc mis un certain temps pour trouver comment présenter les choses pour que les chapitres s’enchaînent logiquement.  Certains choix peut-être contestables ont dû être faits. J’ai bien conscience que l’organisation peut gagner en clarté et que certaines parties gagneront à être reprises dans les versions distribuées avec les futures mises à jour du logiciel.

Il faut donc considérer cette version comme une première ébauche et ne pas hésiter à faire des recommandations sur la manière de présenter et d’organiser les choses. Pour avoir conçu Sonal, je connais logiquement très bien son fonctionnement, mais je suis à peu près incapable de me figurer la manière dont on l’appréhende lorsqu’on le découvre. Moi qui ait perdu la fraîcheur cognitive du grand débutant, je suis tout à fait preneur de remarques et de conseils…

 

 

 

Alex Alber

Sociologue. Maître de Conférences à l'Université F. Rabelais de Tours/ Laboratoire CITERES (UMR CNRS) Chercheur associé du Centre d'Etudes de l'Emploi.

More Posts - Website

La version 1.7 de Sonal est en ligne

Quid novi?

La version 1.6 de Sonal n’a presque pas été documentée sur ce carnet, malgré la mise en ligne d’une dizaine de versions; par manque de temps surtout: la construction du nouveau site de l’AFS m’a un peu accaparé et, si j’ai continué à développer Sonal, je n’ai vraiment pas trouvé de temps pour expliquer ce que je faisais; par prudence également: les grosses nouveautés n’étaient pas encore tout à fait stabilisées. J’ai donc attendu un peu avant de parler de ce qui avait changé dans Sonal. Avec la sortie de cette version 1.7, il est temps de lever le voile.

Petit tour d’horizon des nouveautés :

Le travail des documents textuels

C’est une petite révolution à l’échelle du développement de Sonal, dont le nom évoque directement le travail à partir de supports sonores. Celui-ci s’ouvre dorénavant à l‘indexation thématique des documents textuels. C’est un détour de quelques années qui se termine puisque, pour la petite histoire, c’est en voulant développer un Caqdas de type textuel que j’en suis venu à opter pour le découpage direct de la bande et que, de fil en aiguilles, la méthode d’encodage de Sonal a vu le jour. Si je n’ai pas travaillé plus tôt à la construction d’un outil textuel, c’est que les options prises pour travailler le son s’avèrent contraignantes lorsqu’il s’agit de passer au texte. Dans la plupart des Caqdas, même gratuits, l’indexation est généralement proposée au caractère près, et sur plusieurs couches. Or, la logique d’encodage de Sonal ne permet pas de travailler si finement; il lui faut des extraits, des chapitres en somme, et que ceux-ci soient contigus mais non superposés. Ce n’est pas forcément très intuitif pour traiter du texte mais,  j’ai dû opter pour une solution simple qui consiste à contraindre le matériau textuel à se conformer aux standards de codage imaginés pour le son, afin de pouvoir intégrer du texte seul, comme incognito dans la base de données.

La conversion des coordonnées en percentiles.

La question incontournable est celle des coordonnées. Sonal s’attend à ce qu’on lui dise : l’extrait s’étend de telle seconde à telle seconde. Que mettre à la place? La réponse est logique: la position en mots, ou en caractères, rapportée à la longueur totale du document. J’aurais pu opter pour une position en valeur absolue, mais le nombre de mots potentiels dans les textes aurait pu amener à déterminer des coordonnées fictives susceptibles de ralentir le logiciel : (Un document de 10000 mots aurait une durée « fictive » de 2h40). Le plus simple était donc de ramener la durée en pourcentages, ou plus précisément en millièmes. A sa création, l’extrait global a donc une durée fictive de 999 secondes et, lorsqu’un extrait est découpé, ses coordonnées de début sont déterminées en se basant sur la position du mot dans le texte.

L’encodage est sauvegardé dans un fichier rtr, comme les retranscriptions.  Sonal prend ensuite la portion de texte comme n’importe quel autre extrait et pour le reste, tout marche strictement à l’identique, à l’exception des analyses qui reposent sur la mesure des temps, dans lesquelles les documents textuels ne sont pas pris en compte.

Ajouter un document texte

L’ajout peut se faire soit via le menu « entretiens » de la page de corpus

Soit directement avec le bouton ci-dessous.

La boite de dialogue qui s’ouvre va vous permettre de pointer sur le fichier texte que vous souhaitez importer. Celui-ci peut être au format *.doc, *.docx ou txt. Si vous n’avez pas Word, je vous recommande de faire un export au format texte brut depuis votre traitement de texte (si votre fichier porte une extension word, Sonal essayera d’ouvrir directement Word pour dialoguer avec lui et risque de planter s’il ne le trouve pas).

Une fois le document sélectionné, celui-ci est ajouté au corpus, sous une forme qui ne diffère en rien de celle des enregistrements. Au chargement d’un entretien au format texte, celui-ci est considéré comme un seul long extrait, comme si on avait ajouté une bande muette:

On remarque cependant une différence : à l’extrémité droite du fichier, il n’y a pas de petit bouton play, seulement le bouton de lecture textuelle, et pour cause, il n’y a rien à lire.

Ouvrir la liseuse de documents

Le clic sur le bouton de lecture ouvre une page qui ressemble beaucoup à la liseuse (ci-dessous). La principale différence se situe dans la représentation globale de l’entretien, qui figure la nature textuelle du matériau, avec des pages juxtaposées latéralement, au lieu du spectre sonore.

En cliquant sur les pages, on progresse dans le document.

La plupart des fonctionnalités sont reprises depuis la page de lecture habituelle. Depuis cette nouvelle page, vous pouvez pareillement modifier la thématisation, éditer le contenu des extraits, exactement comme dans la liseuse, en cliquant sur les coordonnées de l’extrait ou sur le gros « plus » à gauche de la bordure. Je vous dissuade cependant d’effacer ou d’ajouter de trop grandes parties de textes à l’intérieur de documents déjà encodés car cela risque de perturber le calcul en millièmes de la position des extraits et Sonal risque de vous embêter avec des histoires de coordonnées des extraits. Encodez donc des documents finalisés, ou qui ne nécessitent que des petites retouches.

Chapitrer les documents

Pour encoder vos documents, il s’agira ensuite, comme dans la resynchronisation, de placer des bordures d’extrait dans le texte comme autant de fractures thématiques. Du premier extrait global on fait d’abord deux extraits, puis trois, et ainsi de suite.

Pour placer un point de partition, qui débute une portion thématique, on peut cliquer sur le bouton « couper » en haut de page, qui se mettra à clignoter, ou directement faire un clic droit sur le mot voulu. Quand le mode « coupage » est activé, le curseur prend alors la forme d’une paire de ciseaux, avec des bordures d’extraits fictives. Il suffit de cliquer à nouveau sur « couper » pour en sortir.

En cliquant sur le mot, vous scinderez l’extrait courant en deux parties.

Les extraits apparaîtront d’une manière qui, tout en restituant la verticalité propre au texte, conservera la latéralité de l’encodage, comme s’il s’agissait d’une bande. Pour le voir, il vous faudra  choisir une première thématique, comme dans l’exemple ci-dessous.

Logiquement, l’extrait que vous venez de débuter s’étire jusqu’à la fin du document, car vous vous êtes contenté de scinder l’extrait global, il vous faudra donc placer une nouvelle bordure à la suite pour définir la fin de l’extrait que vous venez de commencer. En affectant « Pas de thématique » à l’extrait suivant, on peut laisser la suite de l’entretien vierge de tout codage, jusqu’à la déclaration d’un nouveau début d’extrait :

C’est donc en ajoutant successivement des bordures et en jouant avec les thématiques que vous encoderez votre entretien, soit de manière continue, soit en repérant certains passages disjoints. Il vous faudra jongler avec une logique d’encodage un peu particulière, héritée du travail du son, qui s’écarte de ce que proposent la plupart des caqdas, mais qui permet finalement de tout faire assez simplement.  Par la suite, les extraits créés seront interprétés exactement à l’identique des entretiens enregistrés, à ceci près que Sonal ne vous proposera normalement pas de les lire et qu’ils ne compteront pas dans les analyses chronométriques.

Un document encodé aura en gros cette apparence :

Vous noterez la présence de bandes verticales à droite du texte, qui rappellent la ou les thématiques associées au passage lu. C’est joli mais cela ralentit le chargement. Ce pourquoi je ne l’ai pas encore implémenté dans la liseuse traditionnelle pour l’instant. Il faut également savoir que la représentation graphique des extraits en pages est un peu plus longue à charger que celle associée aux bandes. Pour éviter de trop ralentir Sonal, elle n’est pas encore utilisée dans le corpus. Les documents y sont représentés comme les bandes.

Une synthèse éditable, pondérable et sauvegardable

Si vous êtes utilisateur de Sonal, je pense qu’il vous est déjà arrivé de vouloir corriger une coquille dans un extrait, que vous auriez repérée dans la synthèse. Jusqu’ici, il vous fallait rouvrir l’entretien duquel était issu l’extrait, retrouver ce dernier, et le modifier. C’était un petit peu contraignant. Permettre l’édition des extraits directement depuis la synthèse fait partie des choses que je voulais faire depuis très longtemps et sur lesquelles je butais, pour des raisons d’ailleurs injustifiées : ce n’était pas grand chose au niveau de la programmation et c’est un plus énorme dans l’utilisation du logiciel.

Lorsque vous accédez à un extrait dans la synthèse, vous pouvez donc dorénavant l’ouvrir et modifier son contenu textuel, sa thématisation et ses mots-clés.

L’édition d’un extrait se fait avec le bouton « + » situé à droite du bouton play (voir ci-dessous). Vous pouvez également taper « entrée » sur votre clavier après sélection d’un extrait.

Vous pouvez également « pondérer » le contenu des extraits, ou modifier la pondération existante, comme dans la liseuse ( ce qui n’était pas possible dans les versions 1.6).

Vous pouvez également renseigner les variables de la base de données directement depuis la synthèse, comme d’ailleurs dans toutes les pages d’édition (voir plus bas) :

La synthèse n’est donc plus seulement, comme par le passé, un outil voué à l’export sélectif des données, mais devient un outil de travail des matériaux qui peut faire gagner beaucoup de temps. C’est particulièrement utile lorsque l’on veut, par exemple, revenir sur un codage ou des mots clés dans plusieurs extraits partageant certaines caractéristiques.

La sauvegarde des synthèses

Il est dorénavant possible de sauvegarder les synthèses que l’on a réalisées dans Sonal :

La synthèse sera ensuite disponible pour être rouverte plus tard:

Attention, c’est une mémorisation relative qui est sensible au découpage. Concrètement, le logiciel mémorise la position des extraits et leur entretien d’origine et se contente d’aller y puiser le contenu voulu. Si vous redécoupez les entretiens après enregistrement de votre synthèse, Sonal risque de ne plus retrouver tous les extraits.

L’ajout d’entretiens multiples

Lorsque l’on construit son corpus, on peut avoir à ajouter d’un coup beaucoup d’entretiens. Il est parfois un peu fastidieux de devoir repasser par le menu « ajouter un entretien », rechoisir le format *.mp3 etc. Pour gagner du temps, on peut dorénavant ajouter en une fois un grand nombre de bandes. Le menu « entretiens, ajouter plusieurs entretiens » permet d’accéder à une liste de tous les fichiers son ou texte présents dans le dossier du projet, ce qui veut dire que vous devrez au préalable coller toutes vos bandes à côté du fichier corpus du projet avant d’utiliser cette fonction. Les entretiens sélectionnés seront tous ajoutés consécutivement.

L’accès aux caractéristiques des entretiens depuis les fenêtres d’encodage.

Une fenêtre accessible d’un peu partout permet maintenant de renseigner la base de données au sujet d’un entretien donné. On a vu plus haut comment y accéder depuis la synthèse. Depuis les autres pages, le bouton est situé à droite de la page et a cette apparence :

ou celle-ci, dans les pages « claires »

Comme partout, il suffit de rentrer les valeurs voulues dans les cases si elles ne figurent pas dans la liste et de valider. On peut même ajouter des variables en cliquant sur le petit plus à gauche de la croix qui permet de fermer la fenêtre. Là aussi, c’est potentiellement beaucoup de temps de gagné.

Une version pour les musiciens

Enfin, une petite nouveauté de pure forme. Sonal est bâti autour du travail des entretiens enregistrés. La terminologie de ses fonctionnalités renvoie directement à cette destination première – on y parle partout d’entretiens -, mais il n’échappe à personne que la logique d’encodage peut s’appliquer à n’importe quel type d’enregistrement.

J’ai un ami – que dis-je? un frère! il se reconnaîtra- , qui joue de la basse et qui devait apprendre un répertoire de 140 morceaux très rapidement pour rejoindre un orchestre de reprises. Il n’avait pas chaque morceau pris séparément mais des enregistrements de concerts de plusieurs heures dans lesquels les morceaux originaux étaient parfois transposés ou réarrangés, ce qui lui interdisait d’utiliser les morceaux originaux pour travailler.

L’utilisation de Sonal comme outil de repérage des différents morceaux, d’indexation des différents styles et des noms d’artiste, est apparue particulièrement adaptée dans son cas. En encodant les bandes au fil de l’écoute (« à la volée »), il lui devient en effet possible de retrouver rapidement, et de retravailler les différents morceaux. En éditant les extraits depuis la synthèse (cf. plus haut), il peut même entrer les accords du morceaux en guise de retranscriptions, et les formater de telle sorte qu’ils soient aisément lisibles (exemple ci-dessous). Rien n’interdit non plus de placer des points de synchronisation, comme par exemple ci-dessous au niveau du « pont ». La synchronisation peut donc aussi être utilisée pour lier une tablature et une bande sonore.

Pour que le nom des fonctionnalités du logiciel soient plus adaptées à son usage particulier, une « traduction » de Sonal en langage musical a donc été ajoutée. Pour traduire Sonal en musicien, ou en mélomane, il faut choisir et cliquer sur « Français (musique) » dans le menu de traduction qui s’ouvre au lancement du logiciel. Les corpus sont des « projets », les entretiens s’appellent « enregistrements », les thématiques sont des « styles » et la synthèse est dénommée « Compil », faute de mieux.

Voilà, ce sont les nouveautés les plus importantes. Pour le reste, la version 1.7 apporte quelques correctifs importants par rapport aux différentes versions 1.6. En écartant les questions de l’analyse lexicométrique, j’avais notamment fait une petite erreur qui faussait potentiellement les résultats. Par exemple,  le dénombrement des occurrences des mots lemmatisés n’était pas conforme au total . Si vous utilisez les analyses lexicométriques, la mise à jour est donc impérative. Il y avait aussi potentiellement des problèmes avec l’enregistrement des entretiens directement dans Sonal. J’ai corrigé deux trois choses. Cela vaut la peine de réessayer si vous avez eu des problèmes avec les toutes dernières versions.

Je vais maintenant travailler à appliquer aux corpus entiers les outils d’analyse des échanges et de débitmétrie qui ne sont pour l’instant disponibles qu’entretien par entretien.  A suivre…

Alex Alber

Sociologue. Maître de Conférences à l'Université F. Rabelais de Tours/ Laboratoire CITERES (UMR CNRS) Chercheur associé du Centre d'Etudes de l'Emploi.

More Posts - Website

Journal d’une resynchronisation massive

Je participe actuellement à une recherche collective dans laquelle nous allons tester grandeur nature les possibilités de Sonal. La thématique et les protagonistes ne sont pas un enjeu ici, aussi resterai-je discret sur le sujet. Nous avons réalisé près de 60 entretiens à ce jour et il va nous falloir les encoder pour pouvoir les analyser. C’est à l’histoire de ce travail qu’est consacré ce billet.

Construire un corpus collectif

Comment fait-on pour construire un corpus collectif à six dans Sonal? Cela demande un peu d’organisation. Chacun a réalisé ses entretiens suivant un guide commun, et collecté des informations clés au sujet des répondants, via une petite grille de critères (un petit arbre généalogique en l’occurrence). Les enregistrements ont ensuite été placés sur un serveur en ligne.

L’organisation du travail est la suivante : les entretiens sont retranscrits et chaque utilisateur reçoit « son » corpus Sonal, dans lequel il va encoder ses propres entretiens, c’est à dire à la fois les « thématiser » en découpant des extraits audio-textuels auxquels seront conférées des thématiques, et renseigner les variables clés au sujet des personnes enquêtées. Les corpus individuels sont tous dérivés d’un corpus de base contenant une grille thématique et une série de variables communes. Etant encodés à partir d’un même corpus de départ, les entretiens traités séparément pourront ensuite être refondus dans un corpus commun, qui sera redistribué à tous à la fin de l’encodage.

La question délicate de la retranscription

Nous avons d’abord mis à contribution quelques étudiants en sociologie de l’université pour retranscrire les entretiens dans Sonal. Une brève formation a suffi, et nous avons récupéré des entretiens synchronisés, c’est à dire comportant des « points de synchronisation » grâce auxquels chaque chercheur pourra, par la suite, segmenter ses entretiens. Concrètement, chaque ajout d’une balise de locuteur est accompagnée de l’ajout d’un point de synchro. Aussi, la position dans la bande est connue et il suffit de redécouper les entretiens en s’appuyant sur ces coordonnées pour scinder à la fois le texte et le son, et créer des « extraits » cohérents. Un petit clic droit sur le point, suivi du choix du bouton adapté et le tour est joué.

Cela marche très bien, le seul hic étant qu’il y a parfois trop de points, et notamment que plusieurs points peuvent partager une même position, ce qui n’est pas dramatique mais peut poser quelques problèmes de lisibilité. Pour répondre à cette première petite difficulté, une fonction ajoutée dans la version 1.6 permet dorénavant de supprimer tous les points en double.

Le plan initial était de tout faire retranscrire à l’intérieur de Sonal mais, pour des raisons de charge de travail, un certain nombre d’entretiens ont été distribués à l’extérieur et ont donc été réalisés hors de Sonal (il n’y a pas – encore – de transcripteur professionnel qui propose de travailler dans Sonal). Pour que mes collègues puissent encoder leurs entretiens facilement, un certain nombre de tâches ont dû être réalisées au préalable, et j’ai dû développer quelques outils pour gagner du temps. Comme certains utilisateurs risquent de devoir faire la même chose, voici un bref récit de ce travail.

1 – Importer les retranscriptions

La première chose à faire à été d’intégrer dans les corpus tous les entretiens retranscrits hors de Sonal; cela implique d’importer d’abord les bandes, puis les retranscriptions de chaque entretien (Plus de détails voir étape 2 ici).

2 – Reformater les balises

Il a fallu ensuite procéder à un petit travail de reformatage. Il a d’abord fallu transformer les repères de locuteurs en balises lisibles par Sonal. Quand le transcripteur avait tapé « Question: », il me fallait aboutir à « [>Question?]: » pour que Sonal puisse repérer le changement de locuteur et le statut interrogatif du passage. Pour ce faire, une fonction rechercher/remplacer est disponible dans la page de lecture.

Attention, cette fonction rencontre parfois des difficultés avec les caractères importés de Word, qui ne sont pas toujours reconnus. Une méthode simple et efficace consiste à faire un rechercher/remplacer directement dans le fichier *.rtr de l’entretien, en prenant garde que Sonal ne soit pas en marche, du moins qu’il ne lise pas ce corpus au moment où vous éditez les *.rtr (sinon vos modifications risquent d’être écrasées par les sauvegardes suivantes réalisées par Sonal).

Le travail de balisage offre d’abord la possibilité d’analyser quantitativement les échanges, et donc les conditions de réalisation des entretiens. Par ailleurs, les balises de locuteur permettent d’accélérer le travail de resynchronisation, comme on le verra plus bas; c’est enfin un moyen de naviguer rapidement dans les entretiens, en « sautant » de questions en questions (à partir de la version 1.6.0) :

Attention : ce bouton se repère à la position courante dans le texte, il butte parfois (pour l’instant) sur les changements d’extraits, et y reste coincé. Descendez un peu dans l’extrait et vous pourrez à nouveau sauter de question en question.

3 – Resynchroniser les entretiens

Se baser sur les timecodes?

Pour anticiper le travail de resynchronisation rendu inévitable par la transciption hors de Sonal, la demande avait été faite que soient laissés des « timecodes » dans le texte, grâce auxquels on pourrait reconstituer grosso modo les points de synchronisation. Ces timecodes étaient soit au format [min:sec] soit au format [hr:min].

La première chose à faire a donc été de fabriquer un petit bout de code pour convertir ces timecodes en points de synchronisation lisibles par Sonal (cela revient à convertir les balises en secondes). La version courante de Sonal contient dorénavant des fonctions permettant ce travail de conversion :

Hélas, une fois la conversion faite, le résultat a été décevant. Les transcripteurs avaient laissé des timecodes très espacés et assez peu précis. Mentionner la minute sans préciser les secondes aboutit à une erreur de placement qui peut logiquement aller jusqu’à… une minute. C’est beaucoup, beaucoup trop dans Sonal.

D’abord pour se repérer dans les entretiens, quand un point désigne une mauvaise position, et qu’on ne sait pas si la vraie position du texte est loin avant ou après ce point, c’est pour le moins déroutant. Même si la lecture du texte en parallèle de l’écoute permet de se repérer, on doit donc tâtonner « en aveugle » autour du point et c’est parfois assez long. D’autant que le système de calcul inférentiel des positions (qui permet d’approximer la position dans la bande d’un passage textuel et inversement) est totalement détraqué par l’existence de points très imprécis.

Au final, je suis arrivé à la conclusion qu’il vaut mieux ne pas avoir du tout de points de synchro que des points de synchro erronés. Donc, que croyez-vous qu’il arriva? J’ai dû créer une fonction débarrassant les entretiens de tous leurs points de synchronisation. Elle est accessible dans le menu « balises » de la page de lecture.

Resynchroniser manuellement?

Puisque les timecodes étaient généralement très imprécis, la seule solution pour traiter ces entretiens retranscrits hors de Sonal était donc la resynchronisation manuelle : on sélectionne un mot qui marque un changement de thématique dans le texte (généralement le début d’une question), on infère sa position dans la bande, on corrige éventuellement l’approximation proposée et l’on ajoute à cet endroit un point de synchronisation ou un point de partition (bordure d’extrait). A mesure que l’on avance dans l’entretien, les approximations s’améliorent progressivement.

Une astuce permet d’accélérer le travail de découpage : comme Sonal réécrit systématiquement les extraits modifiés par la synchronisation, le temps de calcul est d’autant plus important que les extraits sont longs. Une bonne méthode peut être de commencer par découper l’entretien en trois ou quatre grands extraits avant de procéder à la synchronisation proprement dite, le logiciel gagnera considérablement en rapidité et en précision.

Comment découpe-t-on de si grands extraits? Je vous conseille d’utiliser la méthode suivante : Dans la vue complète de l’entretien en haut de la page de lecture, positionnez-vous d’abord dans la bande, par exemple à 30 mn (le premier clic sélectionne l’extrait dans son ensemble, et place la lecture à son début, il faut recliquer pour parvenir à la position voulue).

La position dans le texte est alors inférée, vous arrivez dans la lecture à la position supposée du passage. Si vous n’avez qu’un très long extrait, le premier positionnement risque d’être approximatif. Ce n’est pas un problème, écoutez les échanges, repérez un mot dont vous pressentez qu’il ne sera pas utilisé ailleurs, et cherchez-le dans la zone de recherche située en haut à droite du texte (validation pour lancer la recherche). Une fois la bonne occurrence du mot trouvée dans le texte, vous avez « calé » grossièrement la bande et le verbatim.

Il vous faudra ensuite affiner le positionnement du mot à l’aide de la barre de synchronisation (bouton « synchro » en haut de page). Lorsque la position de la bande correspond au mot voulu, il vous suffit de placer un point de partition (= couper en deux l’extrait) à cet endroit. Faites un clic droit sur le mot, choisissez le bouton en forme de ciseaux qui apparaît dans le menu. L’extrait est coupé en deux. Le choix du point de coupure n’a pas une grande importance, choisissez une question dans les environs de la position trouvée, ou un changement de phrase si c’est un long « tunnel » d’un répondant. En fait, l’endroit importe peu car cette coupure pourra être convertie par la suite en un simple point de synchronisation, ou même être effacée, lors de l’encodage final. L’important, c’est d’avoir plusieurs extraits relativement courts, dont les positions sont fiables, plutôt qu’un seul très long extrait. L’inférence des positions, lors de la resynchronisation n’en sera que meilleure, et tout le logiciel travaillera plus rapidement.

Suivant ce plan, j’avais donc procédé à un découpage rudimentaire sur les corpus de mes cinq collègues pour accélérer leur travail d’encodage, mais j’ai été progressivement pris d’un doute quant à la faisabilité de la tâche. Je craignais que l’ajout manuel des points de synchronisation ou de partition reste un travail trop lourd, au delà de quelques entretiens, pour des enseignants-chercheurs qui n’ont pas que cela à faire (doux euphémisme).

La synchronisation semi-automatique

Il a donc fallu que je trouve un moyen d’accélérer ce travail de resynchronisation, pour que les entretiens soient prêts au découpage, sans qu’il y ait à ajouter manuellement tous les points. Comment? Par la création automatique de points de synchronisation à chaque changement de locuteur – d’où l’intérêt d’avoir converti les « question: » et « réponse: » en balises de locuteurs lisibles par Sonal (voir plus haut). Ces points ont une apparence particulière, qui signifie leur caractère incertain. Pour le reste, ils se comportent exactement comme les points de synchronisation habituels.

Comme ces points sont ajoutés automatiquement, leur position est déterminée par calcul : en se basant sur les coordonnées connues  et fiables autour du point (avant et après), et sur le nombre de mots contenus dans ces limites, le logiciel infère la position probable de la balise en question dans la bande, et l’ajoute comme point de synchro dans le texte. Evidemment, la qualité de l’estimation est très relative. Aussi ces points ont-ils la particularité de se terminer par un « ? » (exemple : [621,5?]). Sonal sait donc qu’ils ne sont pas totalement fiables et recalcule leur position à chaque modification de la trame temporelle. Dès que l’on corrige un point quelque part (par glisser déplacer), les points environnants s’ajustent automatiquement à cette nouvelle donne : la validation d’un point donne une base corrigée pour l’estimation de la position des points environnants qui sont encore incertains. Concrètement, si vous déplacez un point vers la gauche ou la droite, tous les points avant et après se décalent dans le même sens. De cette manière, on décale d’un même mouvement plusieurs points et, logiquement, l’estimation se fait de plus en plus précise à mesure que l’on corrige les points. Dans certains contextes (voir plus bas), ce procédé est vraiment très efficace.

La question du nom à donner à ces points m’a occupé quelque temps. Fallait-il les appeler temporaires? non car finalement ils restent dans l’entretien jusqu’à être validés ou effacés. Incertains? pas terrible… Flottants? C’était tentant, mais une flottaison désigne à mes yeux un mouvement vertical par rapport à la surface d’un liquide ou d’un gaz, pas forcément un mouvement latéral. J’ai donc choisi de les appeler points « dérivants », car après tout, c’est exactement ce qu’ils font, ces points, lorsque leur environnement change: ils dérivent tous ensemble vers la droite ou la gauche.

On peut donc ajouter automatiquement des points dérivants en cliquant sur le menu suivant :

Là aussi, le calcul est d’autant plus long que les extraits le sont eux-mêmes. Le prédécoupage de l’entretien en quelques grands extraits accélèrera donc le processus.

On avance ensuite dans l’entretien en validant successivement ces points, soit en les décalant à la souris vers leur position réelle, soit en cliquant simplement dessus s’ils sont déjà fiables (et au fil du temps ils le sont de plus en plus). Là aussi, le processus aboutit progressivement à accélérer le travail.

Pour gagner du temps, j’ai programmé une petite suite de raccourcis clavier pour réaliser la correction autrement que par glisser déplacer à la souris. Les touches <- et -> du clavier font passer de point en point, et lorsque l’on valide avec entrée, le point en cours devient déplaçable avec ces mêmes touches (+ ou – 1 sec). On peut donc corriger la position des points sans avoir à saisir la souris. Puis on valide à nouveau lorsque le point est corrigé, les flèches retrouvent leur fonction originale. On passe ainsi de point en point et c’est un réel gain de temps.

Au fur et à mesure des essais, je me suis rendu compte que, assez souvent, la première position après une question était sous-évaluée, le point était plus loin qu’estimé; la raison en est simple : l’interrogateur tend à « tourner autour du pot », si vous me passez l’expression, ce qui se traduit par une transcription souvent laconique de la question qui ne prend pas en compte toutes les circonlocutions de l’interrogateur. Pour éviter d’avoir à décaler à chaque fois les points à droite, j’ai opté pour un système simple : lorsque le point est en cours d’édition (il est en gras), lorsque l’on tape ctrl+entrée, le point est validé à la position atteinte dans la lecture.

Concrètement, j’arrive sur un nouveau point, je valide pour le modifier, j’écoute s’il est correct et, s’il ne l’est pas et que le point est manifestement « en avance », je laisse filer la  bande jusqu’à entendre le passage considéré et je tape ctrl+entrée. Un petit correctif d’une seconde de recul permet de compenser le décalage lié à la reconnaissance auditive de la forme graphique et le tour est joué. Je peux passer l’extrait suivant et ainsi de suite. Dans le même ordre d’idée, j’ai ajouté un raccourci ctrl+x pour convertir au clavier les points de synchronisation en points de partition (couper les extraits de part et d’autre). Ce sont quelques secondes de gagnées à chaque fois mais, comme chacun sait, les petits ruisseaux font les grandes rivières.

Avec cette méthode, et dans de bonnes conditions, je suis arrivé à resynchroniser les entretiens dans un temps compris  entre un tiers et la moitié de la bande elle-même, soit 20 à 30 minutes pour une heure d’entretien, mais cela dépend de la qualité de la transcription et du nombre de locuteurs (voir plus bas).

Petite astuce : il faut bien vérifier que le dernier extrait se termine à la fin du texte. Il y a parfois des éléments non retranscrits en fin de bande, qui « trompent » l’estimation des positions dans le dernier extrait. Cela peut être déroutant et obliger à recalculer la position des points dérivants après correction. Ecouter immédiatement la fin de l’entretien et vérifier que la bande et le texte s’arrêtent bien ensemble peut vous faire gagner du temps.

Cela dit, tout le temps gagné dans le recalage des points dérivants ne résout pas le problème de savoir où et quand placer ces points. S’il y a des points toutes les 5 secondes, si rapide que soit le travail, le temps de resynchronisation reste trop important, or l’idée était quand même d’accélérer le travail…

Où placer les points dérivants?

La question de la fréquence d’ajout automatique est donc vite apparue centrale. L’enjeu étant de permettre à mes collègues de redécouper aisément leurs entretiens, il n’y a pas lieu d’en mettre partout. Alors quand? A chaque question? A quelle fréquence? Quel espacement minimal? Compte tenu du caractère semi-directif des entretiens, les changements de thématique – qui impliquent un découpage – sont généralement accompagnés de questions introductives. Placer un point dérivant avant chaque question apparait donc assez logique. Mais que faire des relances, parfois nombreuses et très courtes, qu’il est fastidieux et généralement inutile de repositionner? La longueur en mots de la question doit-elle intervenir dans le choix des questions à positionner? Ce n’est pas évident. Je suis en train de faire des tests…

Et que faire des réponses, lorsque les échanges sont très serrés? La solution actuelle est de prévoir un espacement minimal entre deux balises. Les 5 secondes par défaut peuvent aisément être augmentées. On peut également choisir d’en placer seulement devant les questions ou seulement devant les réponses. Tout cela se paramètre sous le menu « ajouter des points dérivants ».

Au final, j’ai procédé comme suit : comme,  la plupart du temps, les changements thématiques importants sont introduits par des questions, et que ce sont eux qui m’intéressent pour le découpage, j’ai opté pour un ajout de point uniquement devant les questions, avec un espacement minimal de 10 secondes. Puis, résistant à la tentation de corriger tous les points, j’ai préféré sauter de question en question et ne pratiquer une correction que lorsque cela valait la peine, en découpant au besoin les extraits de part et d’autre du point lorsque cela s’imposait. Puis, j’ai effacé tous les points dérivants auxquels je n’avais pas touché à l’aide de la commande « supprimer tous les points de synchronisation dérivants ».

Quelques constats à chaud…

Tout cela me prend un temps non négligeable et ce sont des fonctions annexes de Sonal qui n’intéresseront sans doute pas la majorité des utilisateurs. C’est cependant intéressant du point de vue du développement car je travaille donc en même temps à construire des données scientifiques et à améliorer les fonctionnalités du logiciel. Ce faisant, j’ai d’ores et déjà travaillé une bonne quinzaine d’entretiens et quelques constats peuvent être faits à ce niveau.

Les entretiens collectifs sont plus durs à resynchroniser

Il s’agit d’un résultat qui aurait été largement prévisible pour qui aurait sérieusement réfléchi à la question, mais j’avoue l’avoir constaté au fil du travail : lorsque les verbatims contiennent plus de deux locuteurs, les fonctions d’approximation des positions sont moins efficaces que dans un entretien en face à face. La raison est on ne peut plus simple : la logique d’estimation des positions du logiciel repose sur l’hypothèse que les paroles ne se chevauchent pas ou très peu. Or, lorsque vous interrogez deux personnes, une certaine concurrence pour la parole peut intervenir, amenant les locuteurs à parler en même temps, à enchâsser leurs réponses. Conséquence logique : quand deux personnes parlent en même temps, le ratio mots/seconde, sur lequel se base Sonal pour inférer les positions, est potentiellement multiplié par deux, car le transcripteur place deux fois plus de mots dans une même portion de bande. Le passage est long sous sa forme textuelle et court d’un point de vue sonore, le logiciel risque donc de surévaluer la position dans la bande. A cela s’ajoute le fait que pour des raisons de commodité de lecture, les transcripteurs ramènent à des propositions successives des prises de parole qui dans les faits sont superposées. On ne peut donc parfois pas retrouver tout à fait dans la bande ce que l’on a à l’écrit. Le temps de le comprendre et de choisir où placer le point contribue à ralentir le travail.

La resynchronisation : une lumière (assez crue) projetée sur les transcriptions

Le travail de resynchronisation permet de comparer en permanence la bande à sa transcription. C’est parfois l’occasion d’avoir quelques frayeurs rétrospectives à l’idée d’avoir pu se baser uniquement sur les verbatims pour analyser les corpus. Au-delà des quelques coquilles plus ou moins inévitables dans des textes si longs, il y a de nombreux contresens qui découlent parfois manifestement de l’usage de logiciels de reconnaissance vocale, ou d’une grammaire approximative qui nuit à la compréhension des échanges. Par ailleurs, les points dérivants sont très sensibles à la qualité des transcriptions, car les raccourcis de certains transcripteurs, qui résument parfois certains passages, induisent de fortes perturbations dans l’estimation du positionnement (il manque des mots, le ratio mot/seconde est donc faux). On s’aperçoit donc très vite quand des digressions ont été ignorées, car les points sont parfois loin de leur place supposée… Tout cela pousse à préférer un travail audio textuel à une analyse centrée exclusivement sur le texte.

***

Les différents outils construits dans ce travail de resynchronisation automatique sont disponibles dans la dernière version (1.6.0) téléchargeable ici.

Si vous utilisez ces fonctions et que vous avez des problèmes ou des remarques, vous pouvez m’en faire part en passant par ce formulaire.

 

 

Alex Alber

Sociologue. Maître de Conférences à l'Université F. Rabelais de Tours/ Laboratoire CITERES (UMR CNRS) Chercheur associé du Centre d'Etudes de l'Emploi.

More Posts - Website

Une nouvelle méthode pour retranscrire et analyser les entretiens