Você está na página 1de 15

Mesures de similarite pour comparer des e pisodes dans des traces modelisees

Mesures de similarit
e pour comparer des

episodes dans des traces mod


elis
ees

Raafat Zarka1,2 , Amelie Cordier1,3 , Elod Egyed-Zsigmond1,2 ,


Luc Lamontagne4 , and Alain Mille1,3
1
2
3
4

Universite de Lyon, CNRS

INSA-Lyon, LIRIS, UMR5205, F-69621, France

Universite Lyon 1, LIRIS, UMR5205, F-69622, France

Department of Computer Science and Software Engineering, Universite Laval, Quebec, Canada,
G1K 7P4
raafat.zarka@liris.cnrs.fr, amelie.cordier@liris.cnrs.fr,
elod.egyed-zsigmond@liris.cnrs.fr, luc.lamontagne@ift.ulaval.ca,
alain.mille@liris.cnrs.fr
Resume : Cet article rend compte dune mesure de similarite pour comparer des
e pisodes de traces modelisees. Une trace modelisee est un enregistrement structure
dobservations capturees a` partir des interactions entre des utilisateurs et un syst`eme
informatique. Un e pisode est une sous-partie de la trace modelisee, decrivant une
tache particuli`ere executee par lutilisateur. Notre methode propose une adaptation de lalgorithme de Smith-Waterman pour la comparaison depisodes. Cet algorithme est a` la fois precis quant aux sequences temporelles quil identifie, et tolerant
au bruit generalement present dans les traces que nous traitons. Nos e valuations
montrent que notre approche offre des resultats tout a` fait satisfaisants a` la fois en
qualite et en temps de reponse. Nous illustrons son utilisation dans le cadre dune
application de recommandation de sequences de video.
Mots-cles : mesures de similarite, traces modelisees, recommandations, distance
dedition, interaction homme-machine.

Introduction

Depuis quelques annees, nous observons un interet croissant de la communaute pour lanalyse de lactivite des utilisateurs sur le Web. Une des
raisons est quen observant lactivite des utilisateurs, il est possible den
apprendre beaucoup sur leurs comportements et leurs preferences. Ces

RJCIA 2013

connaissances apprises permettent ensuite dameliorer la qualite des services qui leurs sont proposes.
Nous nous interessons a` cette question dans le cadre dune collaboration
avec la societe Villeurbannaise Webcastor 1 . Plus particuli`erement, nous
travaillons sur lapplication Wanaclip 2 . Cette application Web permet a` des
utilisateurs de composer des clips video en compilant des e lements audiovisuels provenant de plusieurs sources. Wanaclip dispose dun syst`eme de
recommandations integre qui guide les utilisateurs a` la fois dans le processus de selection des videos, et dans lenchanement des actions a` effectuer
pour fabriquer des clips de qualite. Le moteur de recommandations est alimente par des traces dinteractions collectees lors des usages precedents
de lapplication.
Une trace dinteraction est un enregistrement des actions effectuees par
lutilisateur dun syst`eme. Nous soutenons que ces traces permettent de
capturer des inscriptions des experiences des utilisateurs. Les M-Traces
(pour Modeled Traces) diff`erent des logs car elles disposent dun mod`ele
qui decrit les e lements quelles contiennent. Ces e lements sont appeles obsels (pour observed elements). Une M-Trace contient donc a` la fois des
obsels temporellement situes et le mod`ele de trace qui caracterise ces obsels et leurs relations. Chaque obsel poss`ede au moins un type et deux marqueurs temporels (debut et fin). Les obsels ont un nombre variable dattributs, et poss`edent des relations avec les autres obsels. Chaque type dobsel
definit les types et les valeurs possibles pour les attributs. Une description
detaillee du domaine des M-Traces est disponible dans Settouti (2011).
Un e pisode est une portion dune trace modelisee dont la structure
peut e tre complexe. Calculer la similarite entre deux e pisodes est donc
un probl`eme different du probl`eme de calcul de similarite traditionnellement rencontre en R`aPC, car les mesures de similarite traditionnelles sappliquent mal.
Dans cet article, nous nous interessons au probl`eme du calcul de similarite entre deux e pisodes contenus dans des traces modelisees. Pour cela,
nous definissons une nouvelle mesure de similarite qui sappuie sur deux
composants principaux : une mesure de similarite utilisee pour comparer
les obsels ayant une structure potentiellement complexe ; et un algorithme
pour combiner les mesures de similarite entre obsels afin de comparer les
e pisodes. Lalgorithme que nous proposons est une adaptation de lalgorithme presente dans Smith & Waterman (1981). Nous avons implemente
1. www.webcastor.fr
2. www.wanaclip.eu

Mesures de similarite pour comparer des e pisodes dans des traces modelisees
notre proposition sous forme dun service Web dans T Store, un syst`eme
de gestion de bases de traces qui permet de stocker, traiter et exploiter les
traces modelisees (Zarka et al. (2013)). Nous avons applique notre proposition dans le cadre de Wanaclip afin de fournir des recommandations
contextuelles aux utilisateurs.
Ce papier est organise de la facon suivante. La section 2 presente des travaux relatifs a` la problematique des mesures de similarite dans les donnees
sequentielles. Notre proposition de mesure de similarite entre obsels est
presentee dans la section 3. Dans la section 4, nous decrivons lalgorithme
de calcul de similarite entre e pisodes dans des M-Traces. Dans la section 5, nous presentons les experimentations pour e valuer les performances
de lapproche. La section 6 conclut larticle.
2

Mesures de similarites pour les donnees sequentielles

Il existe differentes approches de comparaison de chanes de caract`eres


qui peuvent e tre utilisees pour definir des mesures de similarite dans les
donnees sequentielles.
Une comparaison detaillee de trois des plus importantes classes de mesures de similarite (i.e. distance dedition, sac de mots et String kernels) est
proposee dans Rieck (2011). Dans cette section, nous presentons certaines
de ces mesures et leur usage dans differents domaines.
2.1

Definir des mesures de similarite

Une des premi`eres approches est la notion de distance dedition entre


des chanes de caract`eres proposee par Hamming (1950) et Levenshtein
(1966). Ces mesures proviennent du domaine des telecommunications et
e taient principalement utilisees pour la detection des donnees e rronnees
dans les transmissions. Elles permettent de calculer la distance dedition
minimum entre deux chaines en utilisant le nombre doperations deditions
necessaires pour passer dune chaine a` lautre (insertion, suppression, substitution). La methode decrite dans Needleman & Wunsch (1970) effectue
un alignement global de sequences. Lalgorithme decrit dans Smith & Waterman (1981) effectue un alignement local, ce qui est plus pertinent pour
comparer des sequences plutot dissimilaires, qui contiennent probablement
des regions de similarite importantes.
Une autre approche de comparaison repose sur lutilisation despaces de
vecteurs (sac de mots). Cette approche provient des travaux en recherche
dinformation et implemente une solution de comparaison de chanes de

RJCIA 2013

caract`eres en representant des donnees sequentielles dans un espace de


vecteurs Salton et al. (1975). Ce concept a e te e tendu a` la notion de ngrams pour la comparaison approximative (Damashek (1995)). Un n-gram
est une sequence de n e lements dans une sequence de texte donnee. Lapproche a` base despaces de vecteurs est tr`es utilisee pour lanalyse de documents textuels.
Lapproche dapprentissage a` base de noyaux est une classe recente de
mesures de similarite derivee des mod`eles de probabilite generatifs. Plusieurs noyaux ont e te developpes pour traiter les donnees sequentielles.
Ces travaux sappuient sur les travaux originaux de Watkins (1999) et sont
e tendus en variantes pour des domaines specifiques, tels que les String kernels, tr`es utilises dans les travaux de traitement automatique de la langue
(Lodhi et al. (2002)) et en bio-informatique (Cuturi et al. (2006)).
2.2

Mesures de similarite en raisonnement a` partir de cas

Dans le domaine du R`aPC, des mesures de similarite pour les sequences


complexes ont e galement e te developpees. Lenvironnement pour le raisonnement a` partir depisodes propose par S`anchez-Marr`e et al. (2005) fournit des mecanismes pour representer, retrouver et apprendre des e pisodes
ayant un dimension temporelle. Une mesure de confiance pour ladaptation
de workflows, qui sappuie sur un mecanisme dintrospection dans la base
de cas, est propose dans Minor et al. (2012). Le syst`eme CeBeTA (Valls &
Ontano n (2012)) combine une mesure de similarite sous forme de distance
dedition avec une approche de reutilisation de routines de transformation
de texte. Cette methode permet de generer des solutions a` des probl`emes
de modification de textes. Une structure de cas specifique et une distance
associee ont e te proposees dans Montani & Leonardi (2012). Les auteurs
utilisent cette approche pour retrouver des traces similaires a` la trace courante. Les auteurs utilisent un graph de distance dedition construit a` partir
des traces dexecution. Cela leur permet de garantir que les actions enregistrees dans les traces correspondent toujours a` la realite. Notre approche
sappuie sur une mesure de similarite entre obsels, mesure qui permet de
comparer leur contenu (dates, utilisateurs, types et valeurs). La plupart de
ces approches permettent une comparaison delements homog`enes (lettres,
symboles). Dans cet article, nous nous interessons plus particuli`erement a`
des traces qui contiennent des symboles qui ne sont pas homog`enes, et
sont donc moins faciles a` comparer. Pour cela, nous proposons une approche inspiree de lalgorithme de Smith & Waterman (1981), que nous
avons enrichi afin de prendre en compte la complexite des e lements que

Mesures de similarite pour comparer des e pisodes dans des traces modelisees
nous devons comparer. Nous avons choisi cet algorithme car, en lenrichissant avec notre mesure de similarite entre obsels, il presente toutes les proprietes attendues pour la comparaison depisodes, a` savoir : le traitement de
donnees sequentielles, la tolerance aux variations dans les representations,
un fort degre de possibilites de personnalisation, et un temps de reponse
satisfaisant pour une utilisation en temps reel.
3

Mesures de similarite entre obsels

Afin de calculer la similarite entre obsels, il est necessaire de definir


des mesures de similarite locales entre les types dobsels, les utilisateurs,
les attributs, et les dates, autant delements importants dans la composition
dun obsel.
Definition 1
Soit simobs (o1 , o2 ) une mesure de similarite entre les obsels
o1 = {c1 , Ao1 , u1 , st1 , et1 } et o2 = {c2 , Ao2 , u2 , st2 , et2 } telle que :
simobs (o1 , o2 ) = simobstype (c1 , c2 ) + simobsattr (Ao1 , Ao2 )
+ simobsuser (u1 , u2 ) + simobstime (st1 , et1 , st2 , et2 )

(1)

avec :
simobstype (c1 , c2 ) : similarite entre les types dobsels,
simobsattr (Ao1 , Ao2 ) : similarite entre les attributs,
simobsuser (u1 , u2 ) : similarite entre les utilisateurs,
simobstime (st1 , et1 , st2 , et2 ) : similarite temporelle,
, , , : poids, avec ( + + + ) = 1 (normalisation).
La mesure de similarite entre obsels simobs (o1 , o2 ) est une valeur normalisee [0, 1] puisque toutes ses mesures composantes (simobstype , simobsattr ,
simobsuser , simobstime ) sont normalisees et que la somme des poids est
e gale a` 1 ( + + + ) = 1. Cest lexpert qui definit ces valeurs.
3.1

Similarite entre types dobsels simobstype (c1 , c2 )

Deux types dobsels differents peuvent e tre consideres comme similaires sils partagent un certain nombre de proprietes communes. Par
consequent, nous proposons de definir une matrice de substitution pour
les types dobsels Sobstype (|C| |C|). En bio-informatique et en biologie
e volutionnaire, une matrice de substitution decrit la facon selon laquelle

RJCIA 2013

un caract`ere dune sequence se transforme en un autre caract`ere au fil du


temps. Nous considerons que la matrice de substitution contient des valeurs normalisees entre 0 et 1. La matrice de substitution la plus simple est
une matrice dans laquelle chaque type dobsel dans (c C) est considere
similaire a` lui-meme, mais totalement dissimilaire a` tous les autres types
dobsels.
Definition 2
Soient deux types dobsels c1 , c2 C, nous definissions leur similarite
ainsi :
simobstype (c1 , c2 ) = Sobstype (c1 , c2 ) [0, 1]
(2)
Avec :
C lensemble de tous les types dobsels
S une matrice de substitution |C| |C|
Les lignes et les colonnes de S sont des types dobsels. Chaque e lement
de la matrice est une valeur normalisee representant la distance entre
deux types dobsels.
La matrice de substitution depend des obsels definis dans lapplication. Par
defaut, elle est definie manuellement par un expert.
3.2

Similarite entre attributs simobsattr (Ao1 , Ao2 )

Lorsque deux obsels sont de meme type, il est facile de les comparer.
En revanche, lorsque deux obsels sont de types differents, une methode de
comparaison specifique, souvent complexe, doit e tre definie. Par exemple,
dans Wanaclip, nous avons les deux types dobsels differents suivants :
playVideo et infoVideo. Ces deux types contiennent des metadonnees sur
les videos. Pour comparer leurs attributs, il est necessaire de savoir quels
sont les attributs communs et quels sont les attributs differents dans les
types dobsels.
Definition 3
Nous definissons cA(Ao1 , Ao2 ) = {(ca1,i , ca2,i )}i=1,|cA(Ao ,Ao )| comme
1
2
lensemble des couples de types dattributs communs parmi les ensembles
dattributs Ao1 et Ao2 o`u o1 , o2 sont deux obsels qui peuvent e tre de differents
types. Un obsel ne peut pas avoir deux attributs du meme type a` moins
quils ne se situent pas au meme niveau hierarchique.

Mesures de similarite pour comparer des e pisodes dans des traces modelisees
Definition 4
Pour deux obsels o1 O et o2 O, nous definissons la similarite entre les
deux ensembles dattributs de o1 et o2 comme :
|cA(Ao1 ,Ao2 )|

simobsattr (Ao1 , Ao2 ) =

wimportance (i) simattr (ca1,i , ca2,i )

i=1

(3)
o`u :
simattr (ca1,i , ca2,i ) [0, 1]. Pour chaque type dattribut, il doit y
avoir au moins une fonction de similarite pour comparer leurs valeurs.
|cA(A ,A )|
sumi=1 o1 o2 wimportance (i) = 1. Les differents poids sont definis
separements et peuvent e tre modifies manuellement par lutilisateur
du syst`eme. Ils assurent que la similarite entre deux ensembles dattributs est normalisee.
3.3

Similarite entre utilisateurs simobsuser (u1 , u2 )

Lorsque lon compare des M-Traces, dans notre contexte, nous donnons la priorite aux traces de lutilisateur courant et des utilisateurs de
son groupe. Dans les applications sociales, cette dimension a beaucoup
dimportance. En effet, les utilisateurs ayant des profils similaires et des
interets communs sont plus susceptibles de faire des activites similaires
et par consequent de produire des M-Traces similaires (H. Kietzmann
(2011)).
Definition 5
La mesure de similarite entre deux utilisateurs u1 , u2 est definie comme
suit :

simobsuser (u1 , u2 ) =

1
simprof ile (u1 , u2 ) + simgroups (u1 , u2 )

u1 = u2
u1 6= u2

(4)

avec :
simprof ile (u1 , u2 ) la similarite entre les profils des utilisateurs calculee en fonction de leurs interets et de leurs activites (valeurs entre
0 et 1).
simgroups (u1 , u2 ) le coefficient de similarite de Jaccard entre des
groupes dutilisateurs (Lipkus (1999)).
, : poids, avec + = 1.
Cette mesure nest pas utilisee pour le moment dans Wanaclip.

RJCIA 2013
3.4

Similarite temporelle entre obsels simobstime (o1 , o2 )

Tel que defini dans le mod`ele de M-Traces, un obsel a generalement


deux marqueurs temporels (debut et fin). Pour le moment, nous definissons
une similarite temporelle en nous appuyant uniquement sur la duree de
lobsel. Toutefois, la mesure de similarite temporelle pourrait facilement
e tre e tendue, par exemple en utilisant des relations dintervalles telles que
celles de Allen (1983).
Definition 6
Soient deux obsels o1 , o2 ayant les memes marqueurs temporels (st1 , et1 )
pour o1 et (st2 , et2 ) pour o2 . Nous definissons la mesure de similarite temporelle entre obsels tel que :
(
simobstime (o1 , o2 ) =

1
min(et1 st1 ,et2 st2 )
max(et1 st1 ,et2 st2 )

|(et1 st1 ) (et2 st2 )| = 0


|(et1 st1 ) (et2 st2 )| =
6 0
(5)

o`u (et1 st1 ) est la duree de o1 . Nous calculons le rapport entre les durees
minimum et maximum de o1 , o2 pour obtenir une valeur normalisee. Par
exemple, si t1 (2, 9), t2 (4, 14) alors simobstime (o1 , o2 ) = 0.7
4

Similarite entre e pisodes

Dans la section precedente, nous avons defini une mesure de similarite pour comparer deux obsels. Dans cette section, nous presentons
une approche pour comparer les e pisodes en nous appuyant sur la notion
de distance dedition minimum. Cette approche utilise la mesure definie
plus haut. Elle exploite un algorithme de programmation dynamique qui
resout les sous-probl`emes de facon optimale et qui utilise ces solutions
pour resoudre le probl`eme initial de facon optimale. Nous utilisons lalgorithme de Smith & Waterman (1981) pour comparer les e pisodes, et nous
letendons en introduisant la notion de mesure de similarite entre obsels.
4.1

Lalgorithme de M-Trace Smith-Waterman

Lalgorithme de Smith-Waterman est un algorithme bien connu pour


resoudre les probl`emes dalignement local de sequences. Plutot que de
considerer chaque sequence comme un tout, lalgorithme compare toutes
les longueurs possibles et optimise la mesure de similarite en fonction
de cette comparaison. Nous avons adapte lalgorithme en utilisant la mesure de similarite decrite plus haut, ce qui le rend plus precis en ce qui

Mesures de similarite pour comparer des e pisodes dans des traces modelisees
concerne laspect dalignement temporel de sequences, et plus tolerant au
bruit que nous rencontrons generalement dans les traces que nous traitons.
Nous avons construit une matrice de substitution qui utilise les resultats
des mesures de similarite entre obsels et une  fonction decart  qui permet dajuster les scores en fonction du nombre doperations dinsertions
et de suppressions entre les obsels. Cette valeur represente le cout de remplacement dun obsel par un autre. La methode que nous proposons permet non seulement devaluer la similarite entre deux e pisodes, mais aussi
les operations de transformation necessaires pour passer dun e pisode a`
un autre (operation appelee  alignement ). Connatre ces operations de
transformations sav`ere particuli`erement utile quand il sagit de produire
des recommandations a` base depisodes.
Definition 7
La fonction decart (gap) determine les scores en fonction du nombre
doperations dinsertion et de suppression dans le processus dalignement
de sequences. Dans la version actuelle de la mesure, pour tout obsel o, nous
considerons que gap(o) = 1.
Definition 8
Pour deux e pisodes A, B, a A {0 0 }, b B {0 0 }, nous definissons
la matrice de substitution des obsels telle que :

b =0 0
gap(a)
gap(b)
a =0 0
S(a, b) =
(6)
(sim (a, b) 0.5) 2
a

B
obs
avec :
gap(a) [1, 0] la fonction decart pour un obsel a A
0 0 le symbole de lecart
simobs (a, b) [0, 1] la mesure de similarite entre obsels pour le
couple a, b
(simobs (a, b)0.5)2 une conversion des valeurs de [0, 1] a` [1, +1]
Lalgorithme de M-Trace Smith-Waterman (cf. algorithme 1) compare deux e pisodes A, B. Lalgorithme calcule la similarite entre e pisodes
simepisode (A, B) et les alignements locaux L1 , L2 de A, B. La matrice de
similarite des scores (H) entre un suffixe de A[1 i] et un suffixe de
B[1 j] avec une taille de (|A| + 1 |B| + 1), est construite durant
lexecution de lalgorithme. Tout dabord, la premi`ere ligne et la premi`ere
colonne sont initialisees a` 0. Ensuite, lecart est calcule pour chaque obsel dans (A B). Comme illustre sur la figure 1, lalgorithme it`ere sur

RJCIA 2013
Algorithm 1 Lalgorithme de M-Trace Smith-Waterman
Donnees : A, B sont des e pisodes a` comparer
Resultat : La mesure de similarite simepisode (A, B) et lalignement local
L1 , L2

HScore (i, 0) 0
0 i |A|
1:
. Initialisation de la matrice
HScore (0, j) 0
0 j |B|
de similarite-score

S(Ai , ) gap(Ai )
1 i |A|
2:
. Calculer lecart des
S(, Bj ) gap(Bj )
1 j |B|
penalites des obsels
3:
4:
5:
6:

for i = 1 |A| do
for j = 1 |B| do
S(Ai , Bj ) (simobs (Ai , Bj ) 0.5) 2
. Remplir la
matrice de substitution
Score
Pointeur

None
0
Substitution
7:
H(i, j) max H(i 1, j 1) + S(Ai , Bj )

Supprission

H(i 1, j) + S(Ai , )
H(i, j 1) + S(, Bj )
Insertion
8:
end for
9: end for
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:

L1 , L2 [ ]
i, j max(Hi,j (i, j))
while (i > 0) (j > 0) (Hpointer (i, j) 6= N one) do . Trace-back
switch (Hpointer (i, j)) do
case Substitution
push(L1 , Ai )
push(L2 , Bj )
ii1
j j1
case Insertion
push(L1 , )
push(L2 , Bj )
j j1
case Deletion
push(L1 , Ai )
push(L2 , )
ii1
end while
simepisode (A, B) max(Hscore (i, j))
return L1 , L2 , simepisode (A, B)

Mesures de similarite pour comparer des e pisodes dans des traces modelisees
chaque cellule dans H du haut a` gauche vers le bas a` droite (voir lignes
4 a` 8). A chaque iteration, lalgorithme permet de calculer la mesure de
similarite entre les deux obsels Ai , Bj selon la definition 1. Le score de
la cellule courante H(i, j) est le plus haut score parmi les trois valeurs de
la matrice des scores de similarite (ligne 7) : la cellule voisine en haut a`
gauche H(i 1, j 1) est ajoutee a` la similarite dobsels Ai , Bj , la voisine
de gauche et celle du haut sont ajoutees a` la mesure decart. Nous gardons
la trace des cellules aux valeurs les plus importantes de sorte a` garder des
informations sur la direction a` suivre durant la construction de la matrice.
Ces informations sont utilisees durant la procedure de backtrack pour obtenir le meilleur alignement possible.

F IGURE 1 Iterations de lalgorithme de Smith-Waterman.


Pour obtenir le meilleur alignement local, nous recherchons Hopt =
maxi,j H(i, j) et nous declenchons une procedure de backtrack. Les cellules ayant les valeurs les plus hautes peuvent se trouver nimporte o`u.
Pour trouver les alignements locaux, nous utilisons H(i, j) > seuil pour
tous les i, j et nous declenchons une procedure de backtrack. Pour obtenir
le meilleur alignement local, nous commencons par les plus grandes valeurs de la matrice H(i, j) (ligne 12). Ensuite, nous retournons a` lune des
positions H(i1, j), H(i, j 1), et H(i1, j 1) selon le mouvement qui
a e te utilise pour construire la matrice (lignes 13 a` 28). Nous poursuivons le
processus jusqu`a atteindre une cellule de la matrice ayant pour valeur 0, ou
la cellule H(0, 0). Une fois termine, nous reconstruisons lalignement de
la facon suivante : en commencant par la derni`ere valeur, nous atteignons
H(i, j) en utilisant le chemin calcule precedemment. Un mouvement diagonal correspond a` un remplacement. Un mouvement du haut vers le bas
correspond a` une suppression. Un mouvement de gauche a` droite correspond a` une insertion. Le processus de backtrack sarrete quand le score
de 0 est atteint ou quand nous arrivons a` la premi`ere ligne ou la premi`ere

RJCIA 2013
colonne. Lalgorithme retourne le score de similarite maximum Hopt et
lalignement L1 , L2 trouve. Parfois, plusieurs alignements sont possibles,
en particulier lorsquil y a plusieurs cellules dont la valeur est maximum.
5

Implementation et e valuation

Nous avons implemente les mesures de similarite locales et lalgorithme


de M-Trace Smith-Waterman sous forme de web service PHP au sein de
lenvironnement T Store. Tout client connecte a` T Store peut executer le
service pour comparer des obsels, des e pisodes, des M-Traces, ou tout
autre type de sequence. Cette implementation nous permet de personnaliser les mesures de similarite en specifiant chacun des poids utilises dans
la mesure (cf. definition 1). Il est e galement possible de personnaliser lalgorithme en changeant la matrice de substitution. De meme, la fonction
decart peut e tre modifiee, et il est possible de changer le spectre des valeurs des scores de similarite entre obsels (il est possible de letendre sur
[, +]. Par exemple, reduire le score de similarite entre obsels permet
daugmenter la probabilite que deux e pisodes soient similaires. Si nous
affectons une valeur negative a` la substitution entre deux obsels, cela implique e galement une reduction de la probabilite de trouver des e pisodes
similaires.
Lalgorithme SmithWaterman pour les M-Traces est raisonnablement
gourmand en temps. Pour comparer deux e pisodes E1 , E2 , la complexite
est O(|E1 ||E2 |). De plus, il est assez facile doptimiser lalgorithme. Par
exemple, si lon observe le processus de calcul de la matrice de similarite en Figure 1, on constate quil est possible doptimiser le temps de
calcul des scores de similarite. A chaque iteration, tous les e lements de
la diagonale ayant la meme valeur peuvent e tre calcules en meme temps.
Par exemple, dans le premier cycle, seuls les e lements marques comme
(1) peuvent e tre calcules. Dans le second cycle, deux e lements marques
comme (2) peuvent e tre calcules. Dans le troisi`eme cycle, trois e lements
marques comme (3) peuvent e tre calcules, etc.
Nous avons implemente un processus de collecte dans Wanaclip. Le
gestionnaire de M-Traces capture les actions des utilisateurs et les stocke
sous forme dobsels dans T Store. Afin dillustrer lefficacite de notre algorithme, nous avons effectue des experimentations en temps reel sur des
e pisodes generes aleatoirement. T Store et Wanaclip e taient tous les deux
installes sur la meme machine. Nous avons realise plusieurs tests, en faisant varier les poids utilises dans la mesure de similarite entre obsels et les

Mesures de similarite pour comparer des e pisodes dans des traces modelisees
valeurs de similarite utilises dans la matrice de substitution. Nous avons
compare les resultats avec 100 e pisodes de longueurs differentes, allant
de 2 a` 20 obsels. Nous avons utilise environ 50 types dobsels, dont 10
types frequents. Les obsels ont 3 attributs en moyenne. La procedure a
e te repetee 10 fois, avec des poids differents, et le temps dexecution a
e te moyenne sur lensemble de la procedure. Comme cela est indique sur
la Figure 2, le temps dexecution presente une croissance logarithmique.
Il est compose du temps requis par les iterations de comparaisons, et le
temps necessaire au processus dalignement. Le calcul des alignements
nest pas necessaire pour levaluation de la mesure de similarite, mais cela
est utile pour les recommandations. Sur la partie droite de la figure, nous
observons quenviron la moitie des mesures de similarite du test de comparaison ont e te effectuees entre 0 et 5. Environ 25% correspondent a` des
non-correspondances, ce qui aide a` e liminer de nombreux e pisodes lors du
processus de rememoration depisodes similaires pour la recommandation.

F IGURE 2 Evaluation de lalgorithme de M-Trace Smith-Waterman.


Lobservation la plus importante est les types dobsels, la longueur
des e pisodes compares (i.e. le nombre dobsel dans chaque e pisode) et le
nombre dattributs communs entre les e pisodes compares. Nous avons observe que lalignement des e pisodes est parfois meilleur lorsque lon e tend
le spectre de la matrice de substitution. Toutefois, le temps dexecution
pour le spectre [1, +1] est meilleur que le spectre e tendu car il y a plus
de valeurs (0) qui diminuent le nombre de pointeurs dans la matrice des
score et conduit donc a` moins de chemins possibles lors de la recherche
dalignements.

RJCIA 2013
6

Conclusion

Dans cet article, nous avons introduit une mesure de similarite qui permet de comparer des e pisodes contenus dans des M-Traces. Comparer
des e pisodes est une tache difficile, non seulement du fait de leur caract`ere
sequentiel, mais aussi parce quils sont composes dobsels qui sont euxmemes des objets complexes et donc difficiles a` comparer. Notre methode
sappuie sur deux composants principaux. Le premier est une mesure de similarite qui permet de comparer des obsels complexes. Le second est une
adaptation de lalgorithme de lalgorithme de Smith-Waterman, qui sappuie sur la mesure de similarite precedente pour determiner la similarite
entre deux e pisodes. Cette methode fournit non seulement une mesure de
similarite entre deux e pisodes, mais aussi lensemble des transformations
requises de sorte a` passer dun e pisode a` lautre (alignement), ce qui est
particuli`erement appreciable en entree du processus de construction des
recommandations.
Les e valuations de la methode ont montre que lalgorithme utilise nest
pas consommateur en temps, et quil presente toutes les proprietes que lon
attend, a` savoir : la possibilite de comparer des objets complexes, le calcul dun score de similarite, des possibilites de personnalisation, etc. Nous
avons implemente cette mesure dans la plateforme T Store Zarka et al.
(2013). Nous avons e value la mesure dans le cadre de lapplication Wanaclip (www.wanaclip.eu) afin de fournir aux utilisateurs de lapplication
des recommandations contextuelles qui sappuient sur les traces des utilisateurs precedents. La prochaine e tape est deffectuer une e valuation approfondie de la qualite des recommandations afin de mieux parametrer les
mesures de similarite. Parmi les perspectives de ce travail, nous envisageons e galement de travailler sur la question de loptimisation de lalgorithme de Smith-Waterman pour les M-Traces, et a` son adaptation dans
differents domaines. De plus, nous prevoyons dutiliser les retours utilisateurs pour ameliorer les param`etres de calcul de la mesure de similarite.

References
A LLEN J. F. (1983). Maintaining knowledge about temporal intervals. Communications of the ACM, 26(11), 832843.
C UTURI M., V ERT J.-P., B IRKENES O. & M ATSUI T. (2006). A Kernel for Time
Series Based on Global Alignments. 2007 IEEE International Conference on
Acoustics Speech and Signal Processing ICASSP 07, 2(i), II413II416.

Mesures de similarite pour comparer des e pisodes dans des traces modelisees

DAMASHEK M. (1995).
Gauging Similarity with n-Grams : LanguageIndependent Categorization of Text. Science, 267(5199), 843848.
H. K IETZMANN J. (2011). Social media ? Get serious ! Understanding the functional building blocks of social media, volume 54.
H AMMING R. W. (1950). Error detecting and error correcting codes. Bell System
Technical Journal, 29(2), 147160.
L EVENSHTEIN V. I. (1966). Binary codes capable of correcting deletions, insertions, and reversals. Soviet Physics Doklady, 10(8), 707710.
L IPKUS A. H. (1999). A proof of the triangle inequality for the Tanimoto distance,
volume 26.
L ODHI H., S AUNDERS C., S HAWE -TAYLOR J., C RISTIANINI N. & WATKINS
C. (2002). Text Classification using String Kernels. Journal of Machine Learning Research, 2(3).
M INOR M., I SLAM S. & S CHUMACHER P. (2012). Confidence in Workflow
Adaptation. In ICCBR12.
M ONTANI S. & L EONARDI G. (2012). Retrieval and clustering for supporting
business process adjustment and analysis. Information Systems.
N EEDLEMAN S. B. & W UNSCH C. D. (1970). A general method applicable to
the search for similarities in the amino acid sequence of two proteins. Journal
of Molecular Biology, 48(3), 443453.
R IECK K. (2011). Similarity measures for sequential data. Wiley Interdisciplinary
Reviews : Data Mining and Knowledge Discovery, 1(4), 296304.
S ALTON G., W ONG A. & YANG C. S. (1975). A vector space model for automatic indexing. Communications of the ACM, 18(11), 613620.
`
S ANCHEZ
-M ARR E` M., C ORT E S U., M ARTI NEZ M., C OMAS J. & RODRI GUEZ RODA I. (2005). An Approach for Temporal Case-Based Reasoning : EpisodeBased Reasoning. In ICCBR, p. 465476.
S ETTOUTI L. S. (2011). M-Trace-Based Systems - Models and languages for
exploiting interaction traces. PhD thesis, University Lyon1.
S MITH T. F. & WATERMAN M. S. (1981). Identification of common molecular
subsequences. Journal of Molecular Biology, 147(1), 195197.
S. (2012). Natural Language Generation through CaseVALLS J. & O NTA N ON
Based Text Modification. In ICCBR12.
WATKINS C. (1999). Dynamic Alignment Kernels. Advances in Large Margin
Classifiers, 00(January), 3950.
Z ARKA R., C HAMPIN P.-A., C ORDIER A., E GYED -Z SIGMOND E., L AMON TAGNE L. & M ILLE A. (2013). TStore : A Trace-Base Management System
using Finite-State Transducer Approach for Trace Transformation. In MODELSWARD 2013 : SciTePress.

Você também pode gostar