• Aucun résultat trouvé

Les structures Sumo forment une alg`ebre. On pr´esente ici la syntaxe des expressions permettant de d´ecrire des structures Sumo et des chemins dans ces structures ; on voit ensuite un mode de manipu-lation fondamental que sont les r`egles d’identification et de liaison. Enfin, on revient sur les attributs, qui sont une partie importante des items.

5.2.1 Description des items

La syntaxe d’un item est donn´ee par l’expression :

intitul´e ("@{" (attribut ("," attribut)*)? "}")? ("/" poids)?

On distingue donc trois parties : l’intitul´e, la liste d’attributs et le poids de l’item. L’intitul´e est un symbole qui suit la mˆeme syntaxe que les symboles des transducteurs pond´er´es, et ne peut ˆetre qu’un symbole simple (donc pas de symbole de la forme a:b).

Le poids est comme pour les symboles une expression de poids dont la syntaxe varie selon le type de poids employ´e ; dans la plupart des cas il s’agit de r´eels, mais il peut aussi s’agir de bool´eens ou de chaˆınes quelconques.

Si l’ensemble d’attributs est omis, alors l’item n’a aucun attribut. Au contraire, le symbole sp´ecial "..." d´enote n’importe quel ensemble de valeurs. Enfin, un item n’ayant qu’un seul attribut peut s’exprimer plus simplement par :

intitul´e "@" attribut ("/" poids)? Une expression attribut est de la forme

nom "=" valeur

Le nom d’un item est un symbole de la mˆeme forme qu’un intitul´e. La valeur peut ˆetre positive, n´egative ou potentielle. Une valeur positive est un symbole de la mˆeme forme qu’un intitul´e ; on peut utiliser ”0" pour une valeur vide et "." pour une valeur quelconque.

Exemples :

chat@{cat=N,gnr=Masc}/2

L’item intitul´e chat a un poids de 2 et deux attributs, cat et gnr, qui valent respective-ment N et Masc.

chat

L’item intitul´e chat n’a aucun attribut. chat@{cat=N,gnr=.,nbr=.,...}

L’item intitul´e chat a pour cat´egorie N et peut avoir n’importe quelle valeur pour genre et nombre. Il peut s’agir ici d’une forme lexicale repr´esentant des formes comme chat, chats, chatte ou chattes. Il peut ´egalement avoir n’importe quel autre attribut.

chat@{...}

L’item intitul´e chat peut avoir n’importe quels attributs.

Une valeur n´egative est d´efinie de la mˆeme fa¸con, mais est pr´ec´ed´ee d’un !. Exemple :

chat@{mark=!.,time!=.,...}

L’item intitul´e chat peut avoir n’importe quel attribut, mais ne peut pas avoir de valeur pour l’attribut mark, et ne peut pas avoir l’attribut time.

Une valeur potentielle est une liste de valeurs s´epar´ees par | (signifiant une alternance), ou, pour les nombres (r´eels ou entiers), un intervalle d´elimit´e par des crochets ouverts ou ferm´es. Une valeur potentielle peut ´egalement ˆetre n´egative si elle est pr´ec´ed´ee d’un ”!".

5.2 L’alg`ebre des structures Sumo 103

Exemples

.@{gnr=Masc|Fem}

Un item quelconque qui peut ˆetre masculin ou f´eminin. a@x=]0,1]

Un item intitul´e a ayant un attribut x dont la valeur est comprise entre 0 (non-inclus) et 1.

5.2.2 Op´erations concernant les structures

5.2.2.1 Expressions de chemins

Une expression de chemins d´ecrit un ou plusieurs chemins dans une structure Sumo. Il s’agit d’une extension de la notation des expressions r´eguli`eres sur les chaˆınes :

– les ´el´ements terminaux sont des items ;

– on utilise les deux op´erateurs ":" et "^:" pour relier deux niveaux. Syntaxe. expression-de-chemin ::= expression-r´eguli`ere-d’items-de-chemins

Les op´erateurs r´eguliers sont ici limit´es `a : la concat´enation (% ), l’union ("|"), l’´etoile ("*"), le plus ("+") et l’optionnalit´e ("?").

item-de-chemin ::= item-usuel | "[" chemin-plat "]" | item-de-chemin opref item-de-chemin

item-usuel ::= item

chemin-plat ::= expression-r´eguli`ere-d’items-usuels | "<" item-usuel ">" opref ::= "^:" | ":"

S´emantique. "<" item ">" ´eclate l’item en une liste d’items dont les intitul´es sont les caract`eres de l’intitul´e de item et les attributs sont ceux de item.

"[" chemin-plat "]" comprime le chemin-plat en un seul item dont l’intitul´e est la concat´enation des intitul´es et les attributs l’union des attributs.

α ":" β d´ecrit une relation entre les deux chemins plats α (situ´e au niveau courant n) et β (situ´e au niveau n − 1 ).

α "^:" β d´ecrit une relation entre les deux chemins plats α (situ´e au niveau courant n) et β (situ´e au niveau n + 1 ).

Exemples :

chat : <chat>

d´ecrit la correspondance entre un item (intitul´e chat) au niveau n et sa d´ecomposition en caract`eres (c, h, a, t) au niveau n − 1 .

(a : b c) (d e ^: f)

d´ecrit un chemin a d e au niveau n tel que a soit en relation avec b c au niveau n − 1 et d e soit en relation avec f au niveau n + 1 .

5.2.2.2 Op´erations sur les structures Sumo

La table 5.3 pr´esente ces op´erations. La colonne « Struct » pr´ecise si une op´eration est possible sur les structures Sumo ; la mention « MN » est mise quand une op´eration binaire n’est d´efinie que pour deux structures de mˆeme niveau. A et B d´esignent deux structures Sumo quelconques.

104 Syntaxe et s´emantique formelle de Sumo

Op´erateur Nom Struct Interpr´etation sp´ecifique

A B Concat´enation oui (MN) concat´enation de chaque niveau, liaisons

gard´ee telles quelles

!A Compl´ement oui compl´ement `a chaque niveau, aucune

liaison sauf entre les "." rajout´es

A % B Composition non

A %+ B Composition it´erative non

A & B Intersection oui (MN) intersection `a chaque niveau, de haut en

bas, liaisons restantes gard´ees telles quelles

A* Fermeture transitive oui fermeture de chaque niveau

A+ Fermeture positive oui idem

A,l Projection inf´erieure oui ´etage inf´erieur (raccourci)

A,u Projection sup´erieure oui ´etage sup´erieur (raccourci)

A,n n`eme projection extraction du n`eme niveau

A,-n n`eme suppression suppression du n`eme niveau

A,"nom" projection nomm´ee extraction du niveau nomm´e nom

A,-"nom" suppression nomm´ee suppression du niveau nomm´e nom

A - B Diff´erence oui il reste `a chaque niveau les chemins de A

non chemins de B et liaisons rest´ees intactes

A : B Produit cart´esien oui A se met au-dessus de B,

aucune liaison nouvelle

A? Optionnalit´e oui Optionnalit´e de chaque niveau (ajout

d’un arc epsilon `a chaque niveau)

^A Inversion oui l’ordre des ´etages et l’orientation des

liaisons sont invers´es

A | B Union oui (MN) union `a chaque niveau, de haut en bas,

liaisons restantes gard´ees telles quelles

~A Renversement oui renversement (horizontal) `a chaque

niveau et modification correspondante des liaisons

Tab. 5.3 – Op´erateurs sur les structures

5.2 L’alg`ebre des structures Sumo 105

5.2.2.3 Fonctions reliant transducteurs et structures Sumo

Les deux fonctions de la table 5.4 sont utiles. L’explosion cr´ee de nouvelles relations entre les deux

Op´erateur Nom Interpr´etation

<T> Explosion Explosion d’un transducteur vers une structure Sumo `a deux

niveaux

[A] Compression Compression d’une structure Sumo de deux niveaux vers un

transducteur

Tab. 5.4 – Passage de transducteurs `a structures Sumo et r´eciproquement

niveaux ; la compression perd les relations entre les deux niveaux ainsi que les attributs des items.

5.2.3 R`egles d’identification et de liaison

Les r`egles d’identification cr´eent un nouveau niveau de segmentation `a partir d’un niveau existant, et les r`egles de liaison cr´eent des relations entre deux niveaux adjacents. Ces deux types de r`egles ont une syntaxe similaire et existent en deux versions : une version simple et une version param´etr´ee. 5.2.3.1 Syntaxe

Une r`egle simple est de la forme suivante : φ op´erateur ψ ( "||" λ " " ρ )?

o`u φ , ψ , λ et ρ sont des expressions de chemin et op´erateur est l’op´erateur d’identification (->) ou de liaison (<->). Le contexte peut ˆetre omis.

Une r`egle avec variables est de la forme

φ op´erateur ψ ("||" λ " " ρ )? ("?{" conditions "}")? ("{" actions "}")?

o`u φ , ψ , λ et ρ sont des expressions de chemin pouvant contenir des variables, et op´erateur est l’op´erateur d’identification (=>) ou de liaison (<=>). Le contexte ainsi que le parties conditions et actions peuvent ˆetre omis. Les conditions portent sur les variables de φ et peuvent appeler des fonctions provoquant des effets de bord, comme des messages envoy´es `a l’utilisateur ou conserv´es dans un fichier. Les actions consistent en des affectations aux variables de la partie droite et en appels `a des fonctions arbitraires.

Exemple :

0 => 0/$p || $x _ $y { $x = . ; $y = . ;

$p = f($x@CAT, $y@CAT) }

Cette r`egle ins`ere un symbole epsilon entre deux items ; son poids $p est calcul´e `a partir d’une matrice de poids par la fonction f qui prend la cat´egorie grammaticale de deux items comme arguments.

Exemple :

$a $b => [$a $b] || ?{$a eq $b} {$a = (a|b)* ; $b = (a|b)* } Cette r`egle reconnaˆıt des mots d´efinis sur l’alphabet {a, b} de la forme ww.

106 Syntaxe et s´emantique formelle de Sumo

Les expressions de contexte λ et ρ peuvent contenir le symbole sp´ecial #, qui indique une extr´emit´e (le d´ebut d’un chemin en contexte gauche, et la fin en contexte droit).

Grammaires. Une grammaire ´el´ementaire consiste en une liste de r`egles combin´ees par le mˆeme op´erateur :

– r`egle ("," r`egle)* pour une liste de r`egles avec priorit´e – r`egle (",," r`egle)* pour la mise en parall`ele

– r`egle ("%" r`egle)* pour la mise en s´equence

Une grammaire g´en´erale est une grammaire ´el´ementaire ou une expression form´ee de grammaires combin´ees avec ces mˆemes op´erateurs.

L’op´erateur "%" est prioritaire par rapport `a l’op´erateur ",," qui est lui-mˆeme prioritaire par rapport `a "," : a%b,,c,d ´equivaut `a (((a%b),,c),d).

5.2.3.2 S´emantique

R`egles d’identification. Une r`egle d’identification s’applique `a un niveau existant pour cr´eer des chemins dans un nouveau niveau, ainsi que des relations entre ces deux niveaux. L’application d’une r`egle simple cr´ee, pour chaque chemin correspondant `a l’expression φ , tous les chemins d´ecrits par ρ et une relation de chemins entre chaque couple de chemins.

Une r`egle avec variables a la mˆeme s´emantique, mais trois aspects alt`ere ce comportement : 1. chaque expression de chemin peut contenir des variables. φ , λ et ρ permettent de capturer

certaines parties du chemin reconnu pour le stocker dans une variable, tandis que ψ est lui-mˆeme d´ecrit `a l’aide de variables ;

2. le bloc conditions sp´ecifie des conditions que le chemin reconnu doit remplir, et qui ne sont pas exprimables par l’expression de chemin. Ces conditions portent sur les variables introduites par les expressions φ , λ et ρ ;

3. le bloc actions affecte une valeur aux variables de l’expression ψ `a partir des variables captur´ees dans le chemin reconnu et son contexte (φ , λ et ρ ).

R`egles de liaison. Les r`egles de liaison sont similaires aux r`egles d’interpr´etation mais s’appliquent entre deux niveaux existants afin d’ajouter de nouvelles relations. Ainsi, la partie droite de la r`egle (not´ee ψ ) doit repr´esenter un chemin existant dans la structure consid´er´ee.

Restrictions sur les chemins. On pose une restriction sur les expressions de chemins dans ces deux types de r`egles.

Dans les r`egles d’identification, les expressions de chemins φ , λ et ρ ne peuvent faire r´ef´erence qu’`a des chemins dans des niveaux inf´erieurs `a celui consid´er´e; alors que ψ ne peut d´ecrire qu’un chemin plat.

Dans les r`egles de liaison, les expressions de chemins φ , λ et ρ ne peuvent faire r´ef´erence qu’`a des chemins dans des niveaux inf´erieurs `a celui consid´er´e; et ψ ne peut faire r´ef´erence qu’`a des niveaux sup´erieurs `a celui consid´er´e.

5.2.3.3 Extraction de r`egles `a partir d’une structure Sumo

L’extraction de r`egles `a partir d’une structure Sumo est un moyen de produire des dictionnaires de segmentation `a partir de documents Sumo. C’est particuli`erement int´eressant dans le cas o`u un ensemble de structures Sumo a ´et´e cr´e´e ou am´elior´e par ´edition manuelle (comme on l’a vu dans la section 4.3.3).