Stopword lists

Même si je n’ai pas écrit aussi régulièrement que je l’avais promis, je n’ai pas non plus passé mon temps à tester des bières irlandaises ; il y a quelques progrès sur le front MALLET et Gephi, auxquels vient de s’ajouter depuis peu Python (ainsi nommé, me précise-t-on, en hommage au Monty Python’s Flying Circus, et non pas par goût pour quelque reptile).

Pour faire fonctionner MALLET, il importe de « bloquer » des mots fréquents mais peu parlants quand ils se retrouvent dans une liste du genre : « de le j’ai coeur l’on n’a d’être l’autre reste j’y qu’en me l’esprit doute son ami entre être fait j’avais ». (Une telle liste constitue une « topic » pour MALLET ; celle-ci est particulièrement dépourvue de sens, j’en conviens)
Mais comment constitue-t-on une liste de « mots vides » (stopwords) ? L’objet de ce billet est d’exposer ma méthode, de publier la liste finalement constituée, et d’ouvrir l’une comme l’autre à la discussion, au commentaire, à la critique.
Comme tout un chacun, j’ai d’abord « tapé » la ressource internet – assez peu fournie en l’occurrence – ou alors c’est moi qui ne sais pas bien chercher. On y trouve surtout des listes utilisées par ceux qui travaillent avec des moteurs de recherche ; sur le site d’un programme pour le TAL, il y également une liste (http://snowballstem.org/algorithms/french/stop.txt). En ajoutant des éléments de celle-ci à ce qui était inscrit par défaut dans la liste de stopwords en français de MALLET, j’ai fait tourner une première fois MALLET, avec des résultats encore peu lisibles.
La raison de ce « premier » échec (en réalité, j’en étais au dixième, au moins, et « échec » n’est peut-être pas le mot qui convient) était double :
– d’une part, l’absence de cette liste de toute une série de mots fréquents et peu chargés sémantiquement ;
– d’autre part son inadaptation à mon corpus, celui de pièces de théâtre, dans lesquelles, pour donner un exemple les noms des personnages apparaissent souvent (même si je travaille sur des textes qui ont été volontairement dépouillés des didascalies indiquant les tours de parole).
Pour corriger le premier point, j’ai soumis mes textes à TXM, et généré une liste de mots par ordre inversé de fréquence ; pour le second point, j’ai fait tourner à plusieurs reprises MALLET, en y identifiant les intrus qui subsistaient.
Ce qu’on trouve, in fine, outre les noms propres que j’ai éliminé au fur et à mesure (et pas complétement, sans doute), ce sont les prépositions, conjonctions, déterminants et pronoms (aussi bien personnels, qu’indéfinis ou interrogatifs), que l’on s’attend à trouver dans une telle liste. Laisser de côté « je » et « vous » n’est pas quand même sans produire un petit pincement de cœur, tant ces « pronoms du dialogue » sont porteurs de sens quand on les regarde avec d’autres outils, dans d’autres perspectives…
De même, j’ai suivi l’exemple de snowball et éliminé les formes conjuguées à l’indicatif présent des verbes « être » et « avoir ». J’y ai mis aussi l’imparfait d’« être », mais pas celui d’« avoir » : aurais-je dû ? Plus largement, à partir du moment où l’on cible « être » et « avoir », ne faudrait-il pas inscrire l’ensemble du spectre de conjugaison ? Dans les topics que je produis actuellement, « être » figure en bonne place, et l’on peut dire qu’il aide à éclaircir le sens du topic… mais peut-être peut-on dire autant d’autres formes, que j’ai laissées de côté ?
De nombreuses autres questions se posent, auxquelles je ne suis pas certaine d’avoir une réponse convaincante, ou même pas de réponse du tout. Dans son état actuel, la liste inclut les locatifs (« ici », « là »), ainsi que plusieurs autres adverbes – mais pourquoi pas tous les adverbes ? Et pourquoi ne pas tendre vers une option radicale, consistant à forcer MALLET à retenir uniquement les substantifs, éventuellement accompagnés des adjectifs ?
Voici donc ladite liste, dans son état actuel ; c’est un étrange objet, critiquable à la fois parce qu’il manque de systématicité, et parce qu’il est, parfois, trop systématique dans ses rejets. Il lui manque une « théorie », qui justifie dans une perspective globale ces règles d’inclusion et d’exclusion que j’ai décrites plus haut. Mais je me demande dans quelle mesure une telle « théorie » n’est pas directement dépendante d’une pratique plus assidue de MALLET, avec des erreurs et des échecs successifs – autrement dit, je me demande si en l’occurrence une telle liste ne peut s’inventer une théorie que dans la mesure où elle parvient à fédérer une communauté de pratique.

Liste de stopwords
à
a
ah
ai
ainsi
alcidor
alison
alle
allons
allez
angélique
après
araminte
argante
ariste
arlequin
arnault
as
assez
avons
avez
au
aussi
autant
autre
autres
aux
avec
basile
bazile
ben
blaise
bouvillon
c
c’
car
ce
cela
cependant
ces
c’est
c’est
cet
cette
chez
claudine
clitandre
colombine
comme
comment
crispin
ça
d
d’
damis
damon
dans
daphnis
de

déjà
depuis
des
dès
dom
don
donc
dont
dorante
du
d’un
d’un
d’une
d’une
eh
elle
elles
en
encor
encore
enfin
éraste
eraste
es
est
est-ce
et
étais
était
étaient
été
êtes
étions
étiez
être
eu
féronte
figaro
finette
frontin
frosine
ha

hortense
ici
il
ils
isabelle
j’
jacinte
jacinthe
j’ai
j’ai
jamais
je

j’en
j’en
juan
julie
j’y
l’
la

l’ai
l’autre
l’autre
le

léandre
leandre
lélio
les
leur
leandre
lépine
l’épine
leurs
li
lisette
lisimon
l’on
l’on
longtemps
lucas
lucile
lucinde
lui
m’
ma
m’a
m’a
mais
marthon
marton
mascarille
me

m’en
m’en
merlin
mes
mieux
moi
moins
mon
morgué
même
m’y
my
n’
n’a
n’a
n’a
n’ai
n’ai
n’as
n’as
ne

n’en
n’en
nérine
nerine
n’est
n’est
ni
non
n’ont
n’ont
nos
nous
notre
nôtre
n’y
n’y
ny
oh
on
ont
orgon
oronte
ou

oui
par
pas
pasquin
peu
pierrot
pis
plus
point
pour
pourquoi
puis
puisque
qu
qu’
qu’à
qu’à
quand
que
qué
quel
quelle
qu’elle
qu’elle
quelque
quelqu’un
quelqu’une
qu’en
qu’en
qu’est-ce
qui
qu’il
qu’il
qu’ils
quoi
qu’on
qu’on
qu’un
qu’un
qu’une
qu’une
rien
s’
sa
sans
se
s’en
ses
sganarelle
si
s’il
s’il
silvia
sis
sommes
son
sont
sous
suis
sur
ta
tant
tantôt
te
tel
tes
thibault
thibaut
toi
ton
toujours
tous
tout
toute
toutes
très
trop
tu
un
une
vais
valère
valere
va
vas
velà
v’là
voici
voilà
vont
vos
vote
votre
vôtre
voulez-vous
vous

Un mois pour tout faire. Monologue en plusieurs tableaux

Acteur : Ioana Galleron, auto-stoppeuse sans serviette dans la galaxie numérique, sous l’étroite et haineuse observation d’une nuée de Vogons qui ont plein de « principes », rien que des certitudes, du pouvoir institutionnel, et la ferme volonté de l’utiliser pour empêcher de vivre tous ceux qui ne sont pas de leur chapelle.

Lieux : Maynooth university, Iontas building, bureau 1.11 de An Foras Feasa;  Forêt des balises TEI; Forges géantes de XPath et XQuery; Puits sans fond de MALLET; Désert des mirages de la PCA

Et autres – à découvrir avec le temps…

Tableau no. 1. Aux commencements il y avait la liste

Commençons donc par faire le tour de ce que je me propose de faire pendant ce temps béni, à organiser comme je veux, sans heures de cours, avec peu de copies à corriger et presque sans tracasseries administratives :

  • reprendre l’encodage des 850 pièces de théâtre de Dramacode (merci à Paul Fièvre pour son travail de Romain!) pour y ajouter mes informations à propos des traits de caractère des personnages ;

(Au passage, revenir sur les dates – mais que choisir pour les extractions? Date de publication ? Date de représentation ? date de la première édition? De la dernière parue du vivant de l’auteur? De toute façon, apparemment, il n’y a pas vraiment de moyen d’encoder tout ceci dans le header.)

  • extraire les informations encodées, et s’en servir pour construire des graphiques ;

(Tant qu’on y est, aller regarder du côté de Voyant Tools et de Gephi voir si cela peut simplifier les visualisations, et pourquoi c’est mieux qu’Excel. Vu aussi, sur l’écran d’un collègue d’ici, Giphy : est-ce la même chose ???)

  • interpréter les graphiques et essayer d’écrire cet article pour DHQ en souffrance depuis un an ;
  • discuter avec d’autres littéraires à propos d’un encodage « sémantique » des textes, XML/TEI conformant ;

(Mais sur ce point la première discussion avec Susan vient de me faire déchanter : elle confirme qu’il n’y a pas d’outil de visualisation capable de se « brancher » directement sur des fichiers xml. Nous passons donc nos vies à ajouter du code, puis à tout enlever pour créer des fichiers txt, manipulables par les logiciels de visualisation…)

  • penser une stratégie pour amener un maximum de gens autour de la table et créer une liste de demandes à présenter à la communauté TEI : tags and attributes for literary encoding and analysis ;
  • générer des fichiers txt à partir de mes 850 pièces en xml, les nettoyer, les grouper par catégories (comédies, tragédies, etc.) ;
  • soumettre mes txt à des outils de textométrie, et reprendre les réflexions que j’avais commencées à esquisser sur un corpus restreint ;
  • comprendre comment fonctionne MALLET, puis s’essayer à faire du sens à partir de ses listes de topics ;
  • tester différentes bières irlandaises et trouver celle que mon ami GCW n’écartera pas d’un revers de la main comme « gasy and floaty »…

Ca a du bon de faire des listes, cela aide à identifier les priorités ! Avec ce dernier item, je viens décidément de trouver la mienne, pour le week-end  qui approche. TEI, MALLET et Gephi attendront !

C@st list

MCF HDR à l’université de Bretagne-Sud, rattachée pour ma recherche au laboratoire Litt&Arts de l’université de Grenoble-Alpes, je passe un mois en tant que visiting fellow à An Foras Feasa (centre de recherches en Humanités numériques à Maynooth, Irlande). L’objectif de ce blog est de rendre compte de l’expérience de chercheur invité, et d’évoquer l’avancement de mes travaux dans les quatre directions que je me suis proposé de développer pendant mon séjour:
– l’encodage ‘sémantique’ de pièces de théâtre;
– l’extraction, la manipulation et la visualisation des données encodées;
– les apports de la lexicométrie pour l’étude des thèmes, topoi, personnages, etc.;
– la réflexion sur les nouveaux objets de recherche créées par le numérique dans les études théâtrales.
S’y ajouteront sans doute des réflexions sur la différence entre les systèmes universitaires et de recherche français, respectivement irlandais.

Domestiquer l'analyse du théâtre assistée par ordinateur