Escolar Documentos
Profissional Documentos
Cultura Documentos
Mesures de similarit
e pour comparer des
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
RJCIA 2013
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
(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
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
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 )|
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
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
1
min(et1 st1 ,et2 st2 )
max(et1 st1 ,et2 st2 )
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
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
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.
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
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.
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.