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é
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
hé
hortense
ici
il
ils
isabelle
j’
jacinte
jacinthe
j’ai
j’ai
jamais
je
jé
j’en
j’en
juan
julie
j’y
l’
la
là
l’ai
l’autre
l’autre
le
lé
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é
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é
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
où
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