• Aucun résultat trouvé

Chapitre 2 État de l’art

2.2 Examen de quelques systèmes

2.2.3 CATS

CATS est un système de petites annonces d’achat et de vente basé sur l’utilisation des SMS en

arabe (Daoud 2006), il est déployé en Jordanie par la société FastLink.

2.2.3.1 Brève présentation

CATS permet à des acheteurs de prendre contact avec des vendeurs et réciproquement. N’importe

quelle personne se trouvant en Jordanie qui veut vendre une voiture, peut envoyer un SMS au système

en indiquant sa proposition de vente en précisant quelques attributs comme le modèle, l'année, etc.

Une autre personne, intéressée par l’achat d’une voiture, peut simplement envoyer une requête au

système. En cas de correspondance, le système CATS les met en contact. Ce service est disponible

dans les domaines de l’automobile (Cars), de l’immobilier (Real Estate) et de l’emploi (Jobs).

Un vrai utilisateur a envoyé à partir de son téléphone mobile le SMS suivant décrivant sa requête

d’achat :

Figure 13 : exemple de SMS envoyé à CATS

Notre traduction :

6/1/2005 11 :32 :20 AM Message reçu : 962795028727 : recherche voiture Honda,

modèle 97, prix entre 3500 et 3750

CATS envoie la réponse de la Figure 14.

Figure 14 : exemple de SMS envoyé par CATS

Les requêtes et/ou propositions SMS sont envoyées à un numéro spécial et sont enregistrées

automatiquement dans un corpus de données, précédées de la date, de l’heure et du numéro de

téléphone. Leur texte est analysé et le résultat de l’extracteur de contenu est enregistré dans une base

de données.

Une réponse est envoyée automatiquement à l’expéditeur d’un SMS contenant une requête,

seulement en cas de correspondance exacte ou approchée de la demande avec l’une des propositions.

Cette réponse permet de contacter la personne qui a envoyé la proposition (grâce au numéro de

téléphone).

En cas d’échec, le système mémorise la demande et envoie une réponse dès qu’une nouvelle

proposition le permet, dans un certain délai.

2.2.3.2 Type des énoncés traités

Voici quelques exemples typiques de SMS reçu par CATS.

Comme le montre la Figure 15, les données envoyées à CATS contiennent accidentellement des

lignes vides, des morceaux d’annonces incomplètes, des mots étrangers, ou bien sont complètement en

anglais. Ce sont des énoncés spontanés rédigés de façon très naturelle.

Les raisons d’avoir un tel mélange de textes non propres sont nombreuses : erreurs humaines

naturelles (envoi d’un message incomplet en appuyant sur la touche « OK » involontairement, SMS

rédigés par des personnes résidant en Jordanie mais parlant l’anglais et pas l’arabe, et n’hésitant pas à

envoyer des annonces en anglais pour leurs besoins commerciaux).

2.2.3.3 Architecture et ressources

2.2.3.3.1 Architecture

Figure 16 : architecture du système CATS

La Figure 16 montre l’architecture du système CATS : un vendeur ou un acheteur envoie un SMS,

le texte de ce SMS est analysé par un extracteur d’information et est représenté dans le format

intermédiaire CRL-CATS (Content Representation Language). Cette représentation est traduite en

requête SQL et envoyée vers une base de données.

Cette traduction comporte un module d’inférence, qui explicite les informations implicites sûres

(comme le montre l’exemple de la Figure 18, la marque [Mitsubishi] implique que le pays est le

[Japon]).

2.2.3.3.2 Composants linguiciels et sémantiques

Description

Le système CATS mets en œuvre deux composants principaux, un extracteur de contenu et un

composant de gestion de requêtes (le noyau fonctionnel) :

Un Extracteur de Contenu « EC »

L’extracteur de contenu reçoit les SMS et traduit (« enconvertit ») leur texte vers la représentation

CRL-CATS en utilisant un dictionnaire spécifique du domaine et une grammaire « dynamique » écrits

dans le langage EnCo (Uchida and Zhu 1999).

Comme le montre l’exemple de la Figure 17, CRL-CATS ressemble à une représentation de type

Propriété {objet, valeur}.

Figure 17 : exemple de représentation CRL-CATS

Pour la propriété type (make), l’objet est une voiture (saloon) et la valeur est égale à

RENAULT(country<France,country<europe).

Pour la propriété modèle (mod), l’objet est une voiture (saloon) et la valeur est égale à

Megane(country<France,country<europe,make<RENAULT). Pour la propriété année (yea),

l’objet est une voiture (saloon) et la valeur est égale à « 2000».

Un composant de gestion de requêtes

Le gestionnaire de requêtes (QM : Query Manager) permet de convertir la représentation

CRL-CATS vers une requête SQL (de sélection pour l’achat et/ou d’insertion pour la vente). Il manipule

aussi les situations dans lesquelles aucune réponse n’a été trouvée.

SMS CRL-CATS SQL

« Recherche une

Mitsubishi Lancer »

wan(saloon:00, wanted:00)

mak(saloon:00,

MITSUBISHI(country<japan):06)

mod(saloon:00,

Lancer(country<japan,

make<MITSUBISHI):0G)

select MsgContact

from Cars where

make ='mitsubishi'

and model ='lancer'

and maincat =’saloon’

« A vendre une Lancer

99 prix 5000 dinars »

sal(saloon:00, sale:00)

mod(saloon:00,

Lancer(country<japan,

make<MITSUBISHI):06)

yea(saloon:00, 99:0I)

pri(saloon :00, 5000:0L)

Insert into cars

(maincat, model, year,

price, country, make)

Values('saloon','lancer

','99','5000','japan',

'mitsubishi')

Figure 18 : exemples de CRL-CATS transformés en requêtes SQL

Taille et complexité

L’extracteur de contenu utilisé dans le système CATS nécessite un dictionnaire et des règles.

Le dictionnaire utilisé contient 30.000 entrées, dont 20.000 ont été générées automatiquement

(grâce à un répertoire de variantes et de fautes d’orthographe fréquentes). Il relie les mots et les

expressions arabes d’un domaine spécifique aux concepts de ce domaine, en gardant les

caractéristiques sémantiques, syntaxiques et morphologiques utilisées dans l’analyse des SMS arabes.

La structure des entrées inclut des abréviations, différentes écritures pour la même entrée, différentes

formes orthographiques, et d’autres formes de jargon utilisé dans le sous-langage en question.

Figure 19 : exemple d'entrées du dictionnaire CATS

Les 710 règles utilisées dans le système CATS permettent l’analyse du texte des annonces

envoyées au système.

2.2.3.3.3 Corpus

Le corpus actuel comprend 12000 annonces. Il grossit tous les jours mais cet accroissement évolue

suivant le nombre de publicités commerciales effectuées dans les journaux et les médias à propos du

système CATS. Ce corpus n’est accessible qu’au développeur (D. Daoud).

Le corpus de développement a été « inventé » à partir de la collecte de petites annonces sur le

Web. Il contient 1817 SMS (16047 mots au total).

Pour mesurer la complexité lexicale du corpus produit par CATS, (Daoud 2006) a utilisé comme

mesure principale le TTR (Type/Token Ratio), le rapport entre le nombre des types

9

représentant les

différents mots et le nombre total des mots d’un texte donné. D’après lui, plus ce rapport est faible,

plus le langage est spécialisé. Le tableau Tableau 3 résume les différentes valeurs trouvées.

Cependant, comme le TTR décroît quand la taille du corpus croit, il faut comparer les TTR pour des

corpus de même taille.

Domaine Nombre de SMS Longueur moyenne (mots) Types Tokens (Types/Token) TTR

Automobile 771 9 1181 5875 0,201

Immobilier 641 12,5 1441 6182 0,233

Emploi 174 14,61 921 2452 0,375

Divers 231 6,42 1099 1538 0,714

Tableau 3 : TTR (Type/Token Ratio) dans les sous-corpus de CATS.

2.2.3.4 Portage linguistique

Le système CATS n’avait pas été porté vers d’autres langues au début de notre étude, mais c’est

un bon exemple d’application traitant des énoncés spontanés en langue naturelle, et un très bon

candidat à des expériences de portage. Pour aborder concrètement le problème général du portage

linguistique d’applications de e-commerce traitant des énoncés spontanés, nous avons donc entrepris

de porter CATS, dans un premier temps vers le français, puis si possible vers l’anglais et d’autres

langues européennes.

9

Un « type » est la forme de base dans le dictionnaire, i.e. un lemme en français, et en général une racine

consonantique trilitère ou quadrilitère en arabe.