• Aucun résultat trouvé

Modèle de calcul des 2-tuples sémantiques

Modélisation des données fortement asymétriques

Algorithme 1 Algorithme de partitionnement

4.2.3 Modèle de calcul des 2-tuples sémantiques

Le modèle de représentation des données par les 2-tuples sémantiques étant inspiré de celui des 2-tuples linguistiques, nous nous fondons également sur leur modèle de calcul afin d’assurer une inter-compatibilité entre les deux modèles.

Les fonctions ∆, ∆−1, LH et LH−1 que nous utilisons pour les calculs des 2-tuples sémantiques sont directement dérivées de celles définies par Herrera et Martínez. Pour rappel, les fonctions ∆ et ∆−1permettent d’obtenir le terme linguistique (snj(t), αj) d’une hiérarchie linguistique LH correspondant à une valeur β sur l’axe de valeurs et

inversement, tandis que LH et LH−1 (voir [Herrera et al., 2008]) permettent d’obtenir le 2-tuple (linguistique (si, αi) ou sémantique dans notre cas) correspondant à un terme linguistique d’une hiérarchie linguistique et inversement.

Dans ce qui suit, nous allons voir en détail des opérateurs essentiels à tout modèle de calcul flou : la question de l’agrégation, au sens général du terme et l’addition,en particulier.

Agrégation, exemple avec la moyenne, et cas général

Afin d’agréger des couples sémantiques (si, vi), nous rappelons que, suite au processus de partitionnement flou, chaque couple est associé à un 2-tuple sémantique (ou plutôt à deux demi 2-tuples sémantiques). Ainsi, agréger des couples sémantiques revient à agréger les 2-tuples sémantiques qui les représentent puis représenter le résultat dans l’ensemble de départ des couples sémantiques S.

Nous pouvons résumer le processus d’agrégation (par calcul de moyenne) des couples sémantiques ainsi :

1. calculer la valeur numérique du 2-tuple sémantique associé à chaque couple séman-tique à l’aide de la fonction ∆−1;

2. appliquer l’opérateur d’agrégation aux valeurs numériques des 2-tuples séman-tiques. Nous nommons β le résultat de cette opération ;

3. appliquer la fonction ∆ à β afin d’obtenir le terme linguistique (snj(t), αj) de la hiérarchie linguistique lui correspondant ;

4. transformer (sn(t)

j , αj) à l’aide de la fonction LH−1 afin d’obtenir un 2-tuple sé-mantique (sk, αk) exprimé dans l’espace de départ.

Le résultat (sk, αk) ainsi obtenu est un 2-tuple sémantique projeté dans l’ensemble de départ et ce sans perte d’information (grâce à la translation symbolique).

Pour illustrer le processus d’agrégation, nous représentons les taux d’alcoolémie pré-cédemment introduits par les couples sémantiques suivants :

S = {(NoAlcohol, 0.0)(YoungLegalLimit, 0.05)(Intermediate, 0.06)(LegalLimit, 0.08) (RiskOfDeath, 0.3)}.

Nous allons appliquer une agrégation de type moyenne arithmétique aux deux couples (YoungLegalLimit, 0.05) et (LegalLimit, 0.08).

En utilisant notre algorithme de partitionnement, (YoungLegalLimit, 0.05) est associé au 2-tuple sémantique [(s33

5 , 0.003), (s91, 0.125)] alors que (LegalLimit, 0.08) est associé à

[(s3

1,−0.07), (s174 , 0.005)].

Tout d’abord nous appliquons la fonction ∆−1 aux deux 2-tuples sémantiques [(s33

5 , 0.003), (s91, 0.125)] et [(s3

1,−0.07), (s174 , 0.005)]. Nous obtenons respectivement 0.05

et 0.08.

Nous appliquons ensuite la moyenne arithmétique aux deux valeurs obtenues. Comme ces dernières sont définies sur une échelle absolue (la hiérarchie linguistique est mise à

l’échelle au début du processus du partitionnement), aucune transformation n’est néces-saire. Nous obtenons comme résultat de l’agrégation : β = 0.065.

En troisième étape, nous cherchons à exprimer β par son terme linguistique corres-pondant dans la hiérarchie LH. Le niveau choisi pour la représentation est le niveau ayant le grain le plus fin parmi ceux utilisés pour représenter les deux 2-tuples séman-tiques. Dans notre cas, il s’agit de l(5, 33). Nous appliquons ensuite la fonction ∆ à β pour obtenir le résultat suivant : ∆(β) = (s33

7 ,−0.001).

Finalement, nous appliquons la fonction LH−1 afin d’obtenir un couple séman-tique exprimé dans notre ensemble de départ S. Le résultat final obtenu est : LH1((s337 ,−0.001)) = (Intermediate, 0.005).

La forme (Intermediate, 0.005) est une commodité d’écriture qui permet une meilleure compréhension du résultat obtenu. La solution finale est donc interprétée de la façon suivante : le résultat de l’agrégation est le terme Intermediate, qui est issu du couple sémantique (Intermediate, 0.06), à qui nous appliquons une translation symbolique de 0.005. Ceci revient à appliquer la translation symbolique au 2-tuple sémantique auquel est associé le couple sémantique (Intermediate, 0.06).

Ce type d’agrégation peut être utile pour des statistiques incluant le calcul de moyennes de taux d’alcoolémie dans divers pays par exemple car les législations diffèrent et, par conséquent, les seuils des taux légaux également. Il peut bien sûr être utile également dans des cas, plus généraux, de décision collective, où il est nécessaire de satisfaire le maximum d’exigences.

Remarque : Grâce à l’échelle absolue que nous avons adoptée pour notre méthode de partitionnement, tout autre type d’opérateur peut être adapté et utilisé pour les 2-tuples sémantiques car celui-ci s’applique directement aux positions v.

Addition, cas particulier

Nous procédons, pour l’opération d’addition, comme pour les autres opérations, grâce à l’échelle absolue sur laquelle sont définis les 2-tuples sémantiques et la hiérarchie lin-guistique. Nous appliquons ainsi l’addition aux valeurs numériques des 2-tuples séman-tiques obtenues par le biais de la fonction ∆−1, puis nous appliquons successivement les fonctions ∆ et LH−1 pour obtenir le résultat final. Cette opération d’addition est notée ⊕.

Par exemple, considérons l’addition des deux 2-tuples sémantiques [(s33

5 , 0.003), (s9

1, 0.125)] et [(s3

1,−0.07), (s17

4 , 0.005)] associés respectivement aux deux couples sémantiques

(YoungLegalLimit, 0.05) et (LegalLimit, 0.08). Nous notons cette addition [(s33

5 , 0.003), (s9

1, 0.125)]⊕ [(s3

1,−0.07), (s17

4 , 0.005)] dont le déroulement est le suivant :

– nous calculons les valeurs numériques correspondant aux deux 2-tuples séman-tiques. Nous obtenons respectivement 0.05 et 0.08 ;

– nous additionnons les valeurs 0.05 et 0.08 pour obtenir β = 0.13 ;

– nous appliquons ∆ pour obtenir la représentation de β dans LH : ∆(0.13) = (s33

– finalement, nous utilisons LH−1pour obtenir le résultat final : LH−1((s33

14,−0.001)) = (LegalLimit, 0.05).

Nous obtenons un 2-tuple sémantique exprimé dans l’ensemble de départ :

(LegalLi-mit, 0.05). Nous avons adopté ici également la même commodité d’écriture, comme dans

l’exemple précédent.

Propriétés de l’addition pour 2-tuples sémantiques

L’opérateur d’addition ⊕ peut être considéré comme une extension (selon le prin-cipe d’extension de Lotfi Zadeh) de l’addition classique aux 2-tuples sémantiques. Il est donc associatif, commutatif, possède un élément neutre e = (s0, 0.0) où s0 est le terme correspondant à la position 0 (c’est-à-dire que ∆−1((s0, 0.0)) = 0) et un élément

symétrique (s i, α i) tel que (s i, α i) ⊕ (si, αi) = e.

4.3 Sémantique floue

Nous avons présenté dans le chapitre 3 une approche de traitement du langage naturel pour la création d’agents intelligents de dialogue dans un domaine clos. Cette approche s’appuie notamment sur l’établissement d’un lexique tagué ainsi que d’une grammaire métier faisant office de scénario de dialogue. L’analyse des phrases de l’utilisateur permet la compréhension et la récupération des demandes et préférences de celui-ci aboutissant ainsi à diverses actions définies par le concepteur de l’agent.

Néanmoins, il reste un point critique que nous n’avons pas abordé. Lors de ces dia-logues en langage naturel, les utilisateurs emploient leurs propres mots pour décrire leurs besoins métiers. Et comme nous l’avons déjà relevé, le langage naturel comporte plusieurs termes ambigus, vagues et, par nature, imprécis. Ces termes sont le plus souvent em-ployés pour exprimer une certaine subjectivité et leur sens (ou sémantique) est déduit du contexte dans lequel ils sont utilisés.

Comme les techniques issues de la logique floue se donnent pour objectif de modéliser et traiter les données imprécises et vagues, nous nous posons les questions suivantes : que peut, d’un point de vue plus général, apporter la logique floue au traitement automatique du langage naturel ? Et en particulier comment les 2-tuples sémantiques peuvent-ils aider le traitement de la langue ?