Précédent Remonter Suivant
Chapitre 4 Morphèmes, morphologie
En combinant des sons élémentaires qui, par eux-mêmes, ne veulent rien dire, on finit par réussir à "dire" quelque chose, c'est-à-dire à référer à quelque chose du monde, à signifier. Il y a là un saut qualitatif considérable qui justifie qu'on lui associe un niveau d'analyse spécifique. Ce nouveau niveau correspond à ce que le sens commun identifie par la notion de "mot". Mais, comme nous le verrons, cette notion n'est pas très pertinente pour la linguistique, qui lui préfère celle de "morphème".

1 Description linguistique

1.1 Problèmes avec la notion de "mot"

Qu'est-ce qu'un mot ? La première définition possible fait appel à un critère formel : un mot c'est ce qui, dans un texte, est compris entre deux séparateurs. Mais cette définition n'est pas aussi opératoire qu'on pourrait l'espérer. Qu'on songe aux cas suivants : A défaut d'être reconnaissables par leur forme, les mots le seraient-ils par leur sens ? Un mot pourrait-il être caractérisé comme la plus petite unité de sens possible ? Là encore, le critère se révèle insatisfaisant : Le mot, décidément, n'est pas une engeance très fiable. Saussure, on l'a vu, lui préférait la notion de "signe" tandis que Martinet parlait, lui, de "monème". La linguistique contemporaine utilise plutôt le terme de "morphème", avec la définition suivante : un morphème est une unité linguistique minimale ayant une forme et un sens. L'étude des morphèmes et de leurs modes de combinaison est l'objet de la morphologie. La morphologie que nous présentons par la suite est essentiellement celle de la langue française.

La définition d'un morphème reprend en quelque sorte les critères qui avaient été envisagés pour le mot, mais sans contraindre la délimitation par des séparateurs. On peut très bien, ainsi, considérer que "pomme de terre", "parce que" ou même "casser sa pipe" ne constituent chacun qu'un seul morphème. On peut même admettre l'existence de morphèmes discontinus à l'intérieur desquels peuvent s'insérer d'autres morphèmes : c'est le cas par exemple, en français, de la marque de la négation ("je ne dort pas") ou du passé composé "j'ai bien dormi").

Le découpage en morphèmes d'un énoncé peut s'avérer problématique. Par exemple, même si les mots de "pomme de terre" ne forment, la plupart du temps, qu'un seul morphème, dans une phrase comme "Pour les protéger, il a recouvert les pommes de terre", ils sont à prendre comme autant de morphèmes distincts. Dans quelle mesure les expressions figées idiomatiques comme "prendre la clé des champs" ne font qu'un seul ou plusieurs morphèmes n'est pas non plus facile à trancher.

1.2 Les différents types de morphèmes

On répartit traditionnellement les morphèmes en deux groupes : les morphèmes lexicaux et les morphèmes grammaticaux. Pour opérer cette distinction, plusieurs critères sont possibles : Dans certaines traditions linguistiques, on utilise le terme "lexème" pour désigner ce que nous appelons ici "morphème lexical", et "morphème" pour ce que nous nommons ici "morphème gramatical". Nous nous en tiendrons par la suite à nos termes initiaux.

Cette distinction entre morphèmes lexicaux et grammaticaux est sans doute plus une affaire de degré que de coupure franche. Certaines prépositions comme "dans", par exemple, ont une sémantique plus riche que d'autres comme "de", et on peut discuter de leur classification.

Ce découpage présente aussi l'inconvénient de laisser de côté une famille de mots qui jouent un rôle fondamental dans le TALN à l'heure actuelle : il s'agit des entités nommées. On nomme ainsi depuis quelques années la classe des expressions qui désignent soit des "noms propres" (de lieux, de personnes, d'organisations, etc.), soit des "valeurs numériques" (dates, nombres, etc.). Ces mots ou groupes de mots ont longtemps été oubliés des classifications parce qu'ils ne figurent pas dans les dictionnaires usuels. Mais de nombreux textes (par exemple, les articles de presse) en sont truffés, et ils contribuent au sens de ces textes de façon déterminante. Toutes les applications de fouille de textes fondées sur le sens se doivent donc de les identifier et de les prendre en compte. Cela justifie qu'ils font l'objet de recherches intensives depuis quelques années. Nous y reviendrons plus loin.

Il ne fait pas de doute que les entités nommées appartiennent à une liste ouverte : tout le monde peut inventer le nom de sa nouvelle société, voire le prénom qu'il donne à ses enfants. Mais le caractère référentiel de ces expressions est un problème connu en logique depuis longtemps comme délicat. Nous préférerons donc les considérer comme à une classe à part.

1.3 Combinaisons de morphèmes

La morphologie étudie comment différents morphèmes se combinent entre eux pour former des unités plus complexes qu'on appelera unités lexicales, parce qu'elle vérifient en général les critères associés aux morphèmes lexicaux (elles réfèrent à quelque chose et on peut en créer de nouvelles). On distingue habituellement au moins deux façons d'opérer des combinaisons : la composition et l'affixation.

La composition fonctionne par simple concaténation (mise bout à bout) de morphèmes lexicaux. Elle est à l'oeuvre dans des exemples comme : On peut étendre ce mécanisme à certains groupes comme "pomme de terre" ou "laisser tomber". Ce qui justifie que ces derniers se comportent comme un seul morphème (sauf dans la phrase citée précédemment !), c'est que leur sens ne se réduit pas à une combinaison des sens des mots qui les composent, et qu'il est quasiment impossible dans un énoncé d'intercaler d'autres mots entre eux.

L'affixation est un mécanisme plus complexe qui fait interagir des morphèmes lexicaux, sous la forme de "racines", et des morphèmes grammaticaux, les "affixes". Les affixes sont des morphèmes non autonomes, c'est-à-dire qu'ils ne peuvent exister sans être rattachés à une racine. Ils sont eux-mêmes de deux types distincts : La figure 4.1 montre comment fonctionne l'affixation en français, et l'illustre sur le mot "in-imit-able-s". Sur cette figure, les affixes sont mis entre parenthèses parce qu'ils sont facultatifs.


Figure 4.1 : l'affixation en français


Une même unité lexicale peut être construite à l'aide de plusieurs affixations successives. Les suffixes ont la particularité (que n'ont pas les préfixes) de pouvoir changer la catégorie grammaticale de la racine à laquelle ils s'associent, comme l'illustrent les exemples du tableau suivant :

mot racine suffixe   nominal adjectival adverbial am i cal ement   our eu(x) sement   ant    
Notons enfin que les entités nommées qui désignent des noms propres peuvent, elles aussi, subir des dérivations : des unités lexicales comme "néo-nantais", "pseudo-RMIste", "crypto-chomskyen", etc. dérivent de telles entités.

1.4 Les informations associées à une unité lexicale

Nous aurons parfois tendance à assimiler la notion d'unité lexicale à celle de "mot", dont il est tout de même difficile de se passer (même si c'est clairement un abus de langage). On associe traditionnellement à chaque unité lexicale présente dans un énoncé un ensemble de propriétés, que nous passons maintenant en revue.

Tout d'abord, on peut associer à chaque unité lexicale une forme lemmatisée : c'est la forme sous laquelle on va trouver cette unité dans un dictionnaire de la langue courante. Elle correspond à un choix arbitraire parmi les flexions possibles que peut subir l'unité en question. En français, la forme lemmatisée (ou lemme) des noms et des adjectifs est celle du masculin singulier, tandis que celle des verbes est l'infinitif. Les autres unités sont invariables et se confondent donc avec leur lemme. On ne parle pas en général de forme lemmatisée pour les entités nommées (mais elles sont souvent aussi invariables).

Nous avons déjà incidemment évoqué le fait que les unités appartiennent à des catégories grammaticales : certaines sont des noms communs, d'autres des verbes ou des adverbes, etc. Les anglos-saxons parlent d'étiquettes "part-of-speech" (ou POS). D'où provient cette classification et quel critère permet de ranger dans la même catégorie des unités distinctes ? Ce n'est pas pour rien que ces catégories sont qualifiées de "grammaticales". La notion de syntaxe et de grammaire ne sera abordée que dans le chapitre suivant, mais on peut d'ors et déjà voir son influence au niveau lexical. Plus précisément, le critère décisif qui nous est ici utile est celui de grammaticalité (nous y reviendrons au cf. chapitre 5, section 1.1). Depuis Chomsky, une grammaire est vue comme un dispositif capable de trier les suites de mots d'une langue donnée en "grammaticales" ou "non grammaticales", et cela indépendamment de leur sens. Cette capacité à formuler des jugements de grammaticalité est ce qui constitue la compétence d'un locuteur. Si on admet l'existence d'une telle capacité, alors on dira que deux unités lexicales appartiennent à la même catégorie si on peut remplacer l'une par l'autre dans n'importe quel énoncé, sans modifier sa grammaticalité. Ainsi, par exemple : Ce critère rappelle celui employé pour définir la notion de phonème (cf. chapitre 3, section 1.2). On peut dire aussi que les catégories grammaticales sont des classes d'équivalence pour la relation de substituabilité en préservant la grammaticalité de l'unité de niveau supérieur (l'énoncé). Il est intéressant de noter que, pour caractériser les propriétés d'un certain niveau d'analyse, on doive systématiquement faire appel au niveau d'analyse supérieur. Décidément, il est bien difficile de les isoler les uns des autres.

En réalité, il ne faut pas utiliser ce critère de façon trop rigoureuse pour caractériser les classes. Si on le suivait de trop près, on ne pourrait associer de catégorie aux morphèmes grammaticaux : il faudrait en effet définir autant de catégories différentes qu'il existe de prépositions ou de conjonctions, parce qu'elles sont rarement substituables les unes aux autres (on ne peut impunément remplacer "à" par "pour" ni "qui" par "dont"). Le critère fonctionne nettement mieux pour les morphèmes lexicaux que pour les morphèmes grammaticaux, sur lesquels, précisément, repose en grande partie la structure grammaticale des énoncés qui les contiennent.

Par ailleurs, les accords en genre et en nombre imposés par la langue française font que, pour préserver la grammaticalité d'un énoncé, un nom commun féminin singulier ne peut être en général remplacé que par un autre nom commun féminin singulier. Les informations flexionnelles sont pourtant généralement abstraites de la définition d'une catégorie, ce qui autorise à ranger les noms masculins et féminins dans la même classe. De même, la catéorie des "verbes" n'est pas homogène puisqu'il faudrait distinguer : Les substitutions entre verbes ne peuvent préserver la grammaticalité qu'en tenant compte de ces propriétés. Mais ces distinctions ne sont pas toujours faites et on se contente souvent d'une unique classe "verbe". En fait, il n'y a pas consensus quant au nombre de classes à considérer, ni quant à leurs frontières précises.

Remarquons aussi que de nombreux mots appartiennent à plusieurs classes distinctes. Parfois, ce sont plutôt des homonymes, c'est-à-dire des mots différents qui se trouvent avoir la même forme : les instances de "ferme" qui sont respectivement un nom commun, un verbe et un adjectif n'entretiennent pas de rapports entre eux. Mais il y a un lien très fort au contraire entre les mots "petit", "juste", "informatique"... employés comme noms communs ou comme adjectifs, de même qu'entre les usages de "fort," "clair"... en tant qu'adjectifs ou en tant qu'adverbes. L'attribution de ces mots à une classe plutôt qu'à une autre (la nature de "l'étiquette part-of-speech" qui leur est associée) dépend de l'énoncé dont ils font partie.

Enfin, on associe traditionnellement aux unités lexicales présentes dans un énoncé des informations de flexion : le genre, le nombre et éventuellement le cas (qui permet de distinguer les pronoms "le" et "lui") pour les noms, les pronoms et les adjectifs ; la personne, le nombre, le temps, le mode ("indicatif", "subjonctif", etc.) et la voix ("active" ou "passive") pour les verbes.

2 Modélisation informatique

La capacité de mémoire des ordinateurs actuels est telle qu'elle permet de stocker facilement l'intégralité des formes fléchies d'une langue. On a pourtant parfois intérêt à enregistrer ces différentes formes de façon synthétique. Pour cela, nous évoquons ici deux approches possibles. La première est simplement une structure de données, c'est-à-dire une manière efficace de coder des informations, en l'occurrence des listes de mots partageant des lettres communes. La deuxième est un modèle très puissant issu de l'informatique théorique, dont nous verrons d'autres usages possibles plus loin : les automates finis. Nous montrons ici qu'ils permettent de représenter les découpages morphologiques sous la forme de règles plutôt que sous la forme de listes. En écrivant des règles, en effet, on généralise et on peut faire des prédictions, notamment sur la forme des mots nouveaux qui peuvent apparaître dans la langue et la façon dont leurs variantes morphologiques pourront décliner leurs variantes de sens.

2.1 Arbre à lettres

Pour stocker un dictionnaire de façon économique, il existe des organisations plus efficaces que les simples listes. Prenons l'exemple de la liste (arbitraire, mise à part son ordre alphabétique) de noms communs sous forme lemmatisée suivante : {abri, abus, an, anse, art, arme, as, astre}. Pour la coder efficacement, les informaticiens emploient la structure de la figure 4.2, appelée "arbre à lettres".


Figure 4.2 : un arbre à lettres


Cette structure est déjà la deuxième (après la figure 4.1) que nous rencontrons qui prend la forme d'un arbre. Ce n'est pas la dernière ! Le point de départ de ces arbres (ici la lettre a), bien qu'habituellement situé en haut de la figure, s'appelle aussi leur racine, tandis que chaque point intermédiaire (ici une lettre) est un noeud. Ces noeuds sont reliés les uns aux autres par des branches qui se développent de haut en bas jusqu'à des feuilles. Les fils d'un noeud intermédiaire (c'est-à-dire qui n'est pas une feuille) sont les noeuds situés au niveau immédiatement inférieur et reliés au premier par une branche. Un chemin est une succession de noeuds partant de la racine et suivant les branches en descendant. Dans un arbre à lettres, quand en suivant un tel chemin on parvient à épeler un mot complet de la liste, alors on entoure le noeud auquel on est parvenu. C'est le cas, bien sûr, pour les feuilles de l'arbre qui, toutes, correspondent à la fin d'un nom de la liste mais aussi pour certains noeuds intermédiaires (comme le n de "an" et le s de "as").

Certains index des logiciels documentaires, des bases de données, des correcteurs orthographiques ou des moteurs de recherche sont enregistrés dans la mémoire des ordinateurs sous cette forme. C'est grâce à de telles structures qu'il est facile pour les machines d'anticiper sur les frappes au clavier de certaines lettres. Certains chemins, en effet, ne mènent que vers un seul mot possible.

Mais les arbres à lettres ne rendent absolument pas compte de l'organisation morphologique des mots : les morphèmes n'y sont pas du tout apparents. Pour remédier à ce problème, on va introduire une structure un peu plus complexe, qui peut être interprétée comme un programme d'analyse ou de synthèse morphologique : le modèle des automates finis.

2.2 Automates finis

Un automate fini (ou automate à états finis) est un dispositif constitué de : Un automate est un modèle informatique parce qu'il se traduit de façon quasi immédiate en un programme.

Prenons tout de suite l'exemple d'un automate élémentaire permettant de rendre compte de régularités de découpages morphologiques visibles dans des mots comme : "inimitables", "imitée", "analysées", "inanalysable", "désirable", "indésiré", "innomable"', etc. La liste des morphèmes pertinents dans ce cas est constituée du préfixe "in", des racines "imit", "désir", "analys" et "nomm" (on pourrait bien sûr en ajouter d'autres), des suffixes "able" et "é" et des flexions "e" et "s". Ces morphèmes définissent l'ensemble V de notre automate.

Pour définir les états et les transitions, il est plus simple de visualiser le graphe de l'automate. A tout automate, en effet, on peut associer une représentation graphique, que l'on appelera par la suite un graphe. La figure 4.3 donne le graphe d'un des automates possibles qui répond à notre problème.


Figure 4.3 : un automate morphologique


Dans cette représentation, les états sont représentés par des "ronds" numérotés. Q est donc ici l'ensemble des nombres de 1 à 7 (l'ordre de numérotation est totalement arbitraire). Les états initiaux sont ceux sur lesquels arrive un flèche "qui ne vient de nulle part" : c'est le cas dans notre exemple des états 1 et 2. Les états finaux, eux, sont visualisés par un "double rond": ce sont les états 4, 5, 6 et 7. Rien n'empêcherait en théorie qu'un état puisse être à la fois initial et final, mais il n'y en a pas dans notre exemple.

Chaque flèche dont le point de départ et le point d'arrivée sont des états et qui porte une étiquette prise dans le vocabulaire V correspond à une transition. Par exemple, la flèche entre les états 3 et 5 est la traduction du fait que la fonction de transition f prend pour valeur 5 quand elle a pour données 3 et able, autrement dit : f(3,able)=5. Entre les états 2 et 3, il faut considérer qu'il y a en réalité 4 flèches différentes, chacune portant un morphème distinct. C'est uniquement pour des questions de lisibilité qu'on n'en a représenté qu'une seule (les "/" séparant les morphèmes signifient qu'il faut en choisir un parmi ceux énumérés). Rien n'empêcherait en théorie qu'une flèche ait pour point de départ et point d'arrivée le même état (elle serait représentée alors par une "boucle" sur cet état) , mais il n'y en a pas dans notre exemple.

Un automate permet de caractériser un ensemble de chemins. Un chemin dans un automate commence nécessairement à partir d'un état initial, suit des transitions et aboutit à un état final. Le langage de l'automate est l'ensemble de suites (ou concaténations) d'éléments du voacabulaire V qui correspondent à un tel chemin. Le langage de notre automate contient ainsi tous les mots évoqués au début de cette section, et toutes leurs variantes morphologiques. C'est un langage fini parce qu'on peut énumérer tous ses éléments dans une liste finie. Il existe d'autres automates reconnaissant le même langage. Par exemple, un automate avec seulement un état initial et un état final, et autant de transitions que de mots distincts conviendrait tout aussi bien en termes de langage. Mais celui de la figure 4.3 met en évidence des régularités de construction que n'auraient pas l'autre (équivalent à une simple liste). Nous l'avons de plus construit pour que chaque état final identifie une variante flexionnelle distincte : Les automates sont particulièrement bien adaptés à la modélisation des phénomènes d'affixation. On peut ainsi facilement construire des automates qui explicitent les règles de conjugaison des verbes, mais il faut alors autant d'automates différents qu'il y a de familles de conjugaisons différentes possibles. Dans ce cas, on peut aussi faire en sorte que les états finaux distincts identifient les différentes personnes (1ère, 2ème ou 3ème) et le nombre (singulier ou pluriel) de la conjugaison. Le verbe "troufigner", imaginé dans les sections précédentes, aurait ainsi toutes les chances de se conjuguer comme "aligner" et tous les autres verbes réguliers du 1er groupe. Le fait de déjà disposer d'un automate pour caractériser cette conjugaison évite d'en inventer une nouvelle, et économise donc son stockage en mémoire.

Un des principaux intérêts des automates (comme des grammaires formelles dont nous verrons plus loin qu'ils ne sont qu'un cas particulier) est qu'ils peuvent fonctionner aussi bien en analyse qu'en synthèse. En analyse, on dit que l'automate "reconnaît" un mot s'il existe un chemin correct étiqueté par ce mot. En synthèse, on dit qu'on "génère" ou "engendre" un mot en le produisant au fil des transitions de l'automate.

2.3 Expressions régulières

Les automates finis ont été très étudiés par Chomsky et les pionniers de l'informatique théorique, à partir des années 60, et un très grand nombre de leurs propriétés formelles ont alors été explicitées. Nous n'évoquerons ici que quelques-unes d'entre elles, sans rentrer dans les détails techniques et sans fournir aucune démonstration.

Les automates finis reconnaissent (ou engendrent, suivant le point de vue adopté) une classe de langages particulière appelée langages réguliers ou langages rationnels. Un langage est régulier (ou rationnel) s'il existe un automate qui reconnaît exactement ce langage. On peut aussi caractériser cette famille de langages par d'autres moyens. Nous verrons plus loin une caractérisation en termes de grammaires formelles. Ici, nous présentons la caractérisation par les expressions régulières.

Une expression régulière est une suite de symboles prise parmi : Elle doit être de plus bâtie en respectant les règles de construction suivantes : Le symbole ε joue le rôle d'élément neutre pour la concaténation : pour tout symbole w V, w.ε=ε.w=w. A titre d'exemple, l'automate de la figure 4.4 construit sur le vocabulaire V={a,b} reconnaît le langage constitué d'un nombre quelconque (éventuellement nul) de symboles a suivi d'un nombre quelconque mais non nul de symboles b (parce que tout chemin, pour passer de l'état initial 1 à l'état final 2, doit obligatoirement emprunter la transition étiquetée par b entre ces deux états). Il peut être représenté par l'expression régulière : a*b+.


Figure 4.4 : un automate fini dont le langage est a*b+


Le langage a*b+ est un langage infini, puisqu'il contient un nombre non borné de mots différents : a*b+={b, ab, bb, aab, abb, bbb, ...}. On voit que la puissance des automates finis et des expressions régulières vient de ce qu'ils permettent de caractériser un nombre infini de mots différents à l'aide d'un nombre fini d'éléments. Néanmoins, si les langues naturelles contiennent un nombre infini d'unités lexicales, c'est grâce au fait que les morphèmes lexicaux constituent une liste ouverte (et qu'on peut toujours inventer de nouveaux mots) et non grâce à l'expressivité des affixations, telles qu'on peut les exprimer dans des automates finis.

Tout langage régulier peut être exprimé sous la forme d'une (ou plusieurs) expression(s) régulière(s) (et inversement). Passer d'un automate à une expression régulière ou inversement n'est pas toujours simple. Le langage (fini) reconnu par l'automate morphologique précédent, en figure 4.3, peut être représenté par exemple par l'expression régulière complexe suivante :
(in|ε).(imit|analys|désir|nomm).((é.(ε|e|s|es))|able(ε|s))

2.4 Sites Web et programmes gratuits

De nombreux sites réalisent en ligne des traitements se situant au niveau des mots ou des morphèmes. Parmi les programmes libres et gratuits qui illustrent les notions introduites dans ce chapitre, on peut citer Unitex, logiciel fondé sur les automates et les RTRs (cf. chapitre suivant). Quand on charge un texte avec Unitex, ce dernier lui applique un certain nombre de pré-traitements (normalisations, comptages, lemmatisations, etc.) qui, tous, sont réalisés à l'aide d'automates facilement visualisables et modifiables. L'utilisateur peut aussi écrire ses propres automates pour, par exemple, effectuer la recherche d'une expression régulière dans un texte :
www-igm.univ-mlv.fr/~unitex/


Précédent Remonter Suivant