Morphèmes, morphologie
Un automate fini (ou automate à états finis) est un dispositif constitué de : un vocabulaire fini V : dans notre cas, le vocabulaire sera constitué de l'ensemble des morphèmes considérés ; un ensemble fini Q d'états, parmi lesquels figurent : au moins un état initial ; au moins un état final ; une fonction de transition f : cette fonction énumère, pour chaque état possible q∈ Q et chaque élément possible du vocabulaire v∈ V, l'état (ou l'ensemble d'états) que l'on peut atteindre en partant de q et en utilisant v : f(q,v)⊂ Q. 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 : l'état 4 identifie le masculin singulier ; l'état 6 identifie le féminin singulier ; l'état 5 identifie le masculin ou le féminin singulier ; l'état 7 identifie le pluriel (on aurait pu distinguer "masculin pluriel" et "féminin pluriel" pour les formes en "é(e)s" mais pas pour les formes en "able", d'où cette indifférenciation). 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.
|