• Aucun résultat trouvé

II. Chapitre II : Etat de l’Art

3. Profil Utilisateur

3.4. Acquisition du profil

Il y a plusieurs façons d'obtenir les caractéristiques d’un profil utilisateur en fonction du degré d'autonomie du système, de ses capacités d'observation et d'adaptation.

• Profils statiques décrits par des experts : nécessite de dresser une liste des profils et de les faire décrire par des experts. Cette approche est statique, donc une fois que le système à démarré, il est difficile de mettre à jour les profils utilisateurs.

• Profils réflexifs : L'utilisateur doit remplir des formulaires pour configurer son propre profil. Cette approche permet plus de précision et d'adaptation.

• Profils corrigés dynamiquement : Un système de modélisation observe l’activité de l'utilisateur et apprend le profil de l'utilisateur à partir de ses actions.

L’agrégation de données à partir d’autres sources permet de disposer de plus d’information dont la qualité peut être meilleure et d’avoir ainsi un profil plus étoffé.

Un opérateur de téléphonie mobile peut agréger les données du contrat, les relations par induction à partir de la liste des appels les plus fréquents, etc.

La problématique qui existe est liée à la vie privée des utilisateurs, ceux-ci peuvent vouloir garder leur anonymat et les informations ne pourront être exposées à d’autres utilisateurs ou à d’autres systèmes. Les questions à se poser sont :

• Si nous avons le droit d’utiliser des informations concernant un utilisateur ?

• Si nous avons le droit d’exposer les informations concernant un utilisateur ?

Le choix revient à l’utilisateur, mais il faut insister dur le faut qu’il a grand intérêt que les informations le concernant soient publiques, car celles-ci permettront de définir le niveau de confiance qui lui est associé, par les techniques de sécurité et de réputation.

Chapitre II : Etat de l’Art – Profil Utilisateur

31 3.5. Le profil utilisateur dans le web sémantique

Le web d’aujourd’hui ce concentre de plus en plus sur l’utilisateur et plusieurs projets et standards viennent prendre part au web 2.0. Des ontologies RDF (comme FOAF, vCard, etc.), des standards XML (comme APML, etc.), des extensions de HTML (les microformats, etc.) Tous ces standards sont là pour avoir un web plus ouvert et plus structuré, pour pouvoir partager le plus grand nombre d’information sur l’utilisateur, dans l’objectif d’améliorer la qualité des informations transmises à celui-ci.

3.5.1. Formats VCard

VCard3 (VisitCard) est un format ouvert pour l’échange des données personnelles, il est utilisé par les logiciels de carnet d’adresses (Outlook, Thunderbird, …) ainsi que par les appareils mobiles et les logiciels de messagerie instantanée (Jabber). Il est possible de décrire les données vCard dans un format simple utilisé par les outils cités ci-dessus, ou bien au format RDF ou XML [http://www.w3.org/TR/vcard-rdf] pour utilisation dans un système plus global.

Avec vCard, il est possible de représenter des informations personnelles (nom, prénom, surnom, date de naissance, titre, rôle, organisation, adresse, e-mail, téléphone, …), des données binaires (photo, son, logo, …), ainsi que des liens vers d’autres entrées vCard via la propriété (agent).

<rdf:RDF xmlns:rdf="…/22-rdf-syntax-ns#" xmlns:vCard="…/vcard-rdf/3.0#">

<rdf:Description rdf:about = "http://qqqfoo.com/staff/corky" >

<vCard:FN>Corky Crystal</vCard:FN>

<vCard:N rdf:parseType="Resource">

<vCard:Family>Crystal</vCard:Family>

<vCard:Prefix>Dr</vCard:Prefix>

</vCard:N>

<vCard:BDAY>1980-01-01</vCard:BDAY>

<vCard:TITLE>Computer Officer Class 3</vCard:TITLE>

<vCard:ROLE>Programmer</vCard:ROLE>

<vCard:TEL rdf:parseType="Resource">

<rdf:value> +61 7 555 5555 </rdf:value>

<rdf:type rdf:resource="http://www.w3.org/2001/vcard-rdf/3.0#work"/>

<rdf:type rdf:resource="http://www.w3.org/2001/vcard-rdf/30#voice"/>

</vCard:TEL>

</rdf:Description>

</rdf:RDF>

Figure II-7 : Exemple de description vCard

FOAF

FOAF4 (Friend Of A Friend) est une ontologie permettant de décrire les personnes, les liens entre eux, et les choses qu'ils créent et font. Elle est composée de plusieurs modules, des attributs basics (nom, prénom, e-mail, ...), des informations personnelles (connaissances, blogs, intérêts, ...), comptes (MSN, ICQ, Yahoo, ...), Appartenance à des groups (groups, organisations, projets), documents (documents, images, ...) [Mika 05].

3 ftp://ftp.rfc-editor.org/in-notes/rfc2426.txt

4 http://www.foaf-project.org/index.html

Chapitre II : Etat de l’Art – Profil Utilisateur

32 Une des extensions de FOAF est FOAF/Trust qui est un module permettant de définir la confiance d’une relation [Goldbeck 05] [Dolog 03]. La confiance dans une relation permet de définir les utilisateurs pouvant influencer dans le cadre d’un système de recommandation.

Une personne peut donc être identifiée par son profil FOAF, celui-ci étant unique sur le web.

On peut donc apercevoir la possibilité d’avoir une authentification unique avec OpenID et un profil unique avec FOAF dans un futur proche.

SIOC

L’ontologie SIOC5 (Semantically Interlinked Online Communities) a pour objectif de rationaliser les communautés en ligne, Utilisateurs, Groupes, Forums, Posts, Mailing-Lists et thèmes associé. Cette ontologie s’intègre donc naturellement avec FOAF, ou une entité

foaf:Person peut avoir plusieurs comptes sioc:User. SKOS peut aussi être utilisée pour définir les thèmes des forums.

APML

APML6, Attention Profiling Markup Language, est un standard émergeant permettant de modéliser les préférences d’un utilisateur. L’idée est de regrouper toute forme de données concernant les préférences (attention portée à des thèmes) dans un format portable contenant ces préférences et leurs poids [APML 1].

Le processus global de capture de préférences est composé des étapes suivantes :

1. Analyse du comportement de l’utilisateur sur un ensemble de ressources, nommées

« Attention Data »

2. Inférence des intérêts de l’utilisateur « Interest Cloud » 3. Structuration du profil sous forme XML « APML profile »

Figure II-8 : Profiling des intérêts de l’utilisateur - Attention Profiling7

5 http://sioc-project.org/

6 http://www.apml.org/

7 http://www.faradaymedia.com/

Chapitre II : Etat de l’Art – Profil Utilisateur

33 En plus de la partie principale qui vise à pondérer les préférences de l’utilisateur, La spécification APML défini un certain nombre de concepts :

1. Liste pondérées de préférences allant de -100% à +100%.

2. La source a partir de laquelle les préférences on été inférées.

Par exemple : des préférences musicales inférées à partir de last.fm8, des préférences cinématographiques à partir de Flixter9.

3. La possibilité de définir plusieurs contextes. En général, l’utilisateur sépare le contexte professionnel, du contexte personnel, du contexte familial, … Il est donc possible de définir plusieurs contextes avec APML.

4. Il est possible de spécifier si les préférences ont été explicitement déclarées par l’utilisateur ou bien implicitement inférées par le système.

Les avantages du standard APML résident dans les points suivants :

• Il permet/facilite le filtrage de l’information. En pondérant l’attention portée à des thèmes, des auteurs, il est possible de donner des priorités ou de filtrer les données reçues par un utilisateur.

• Imputabilité des données. Certaines informations inférées automatiquement par le système peuvent être erronées, l’utilisateur peut valider l’exactitude de ces données.

• Respect de la vie privée, par la définition du : Qui, Quand, Quoi. Qui peut voir quelles informations, à quel moment ?

• Données partagées. Le partage de données et l’agrégation de plusieurs profils APML peut donner lieu à des scenarii du genre : J’écoute de la musique sur last.fm. Mon profil APML est transféré vers Amazon. Lorsque je me connecte sur Amazon, le système me propose d’acheter la musique que j’aime.

• Control du profil. APML donne la possibilité à l’utilisateur de contrôler son profil, pour qu’il soit le plus proche de la réalité et pour contrôler l’image qu’ont les autres personnes de vous.

Un exemple de représentation des préférences utilisateur est le nuage de Tags « Tag Cloud »

Figure II-9 : Nuage de Tags "Tag Cloud"10

Ceci est l’utilisation la plus simpliste des données de préférences. D’autres utilisations sont faites en pratique : la correspondance d’utilisateurs par la comparaison de leurs préférences, le filtrage basé contenu par l’indexation des contenus et leur comparaison aux préférences, etc.

8 http://www.lastfm.fr/

9 http://www.flixster.com/

10 http://www.tagurself.com/

Chapitre II : Etat de l’Art – Profil Utilisateur

34 Microformats

Les ‘microformats’11 (hCard, hCalendar, hReview, rel-tag, XFN, …) sont des normes d’écriture de fichiers XHtml, pour pouvoir en tirer une signification, en utilisant des valeurs spéciales dans les attributs (class et rel) de XHtml.

Ci-dessous un exemple d’utilisation de microformats pour l’affichage d’un numéro de téléphone. Du html classique pour l’utilisateur, pouvant être compris par les machines.

<span class="tel">

<span class="type">home</span>:

<span class="value">+1.415.555.1212</span>

</span>

home: +1.415.555.1212

Figure II-10 : Code hCard et affichage XHtml

La vision des microformats vient se positionner entre le web classique et le web sémantique.

En fait le web classique se focalise sur l’utilisateur comme consommateur de l’information, et le web sémantique sur la machine et l’adoption du web sémantique fût un peu difficile, les microformats viennent améliorer le web classique sans le changer carrément. En introduisant des conventions sur l’utilisation de propriétés XHtml telles que (class et rel).

Donc les microformats sont conçus pour l’homme d’abord, pour ne pas chambouler tout ce qui a été construit pour le web 1.0, puis pour les machines qui peuvent traiter ces données.

3.5.2. Portabilité des données (Data Portability)

L’initiative Data Portabilité12, DP, et les standards ouverts permettent de partager les données d’une manière plus libre entre différents sites pour pouvoir réutiliser les informations personnelles, les listes de contacts, les préférences, …

Plusieurs standards composent aujourd’hui l’initiative : OpenID, OAuth, RSS, APML, Yadis, OPML, hCard, XFN, …

Une telle initiative permet à l’utilisateur de reprendre contrôle sur ces propres données, lui permettant de réutiliser ces données et d’éviter de créer un nouveau compte pour chaque site, retenir les informations d’authentification, créer son profil, créer sa liste de contacts, …

11 http://microformats.org/

12 http://www.dataportability.org/

Chapitre II : Etat de l’Art – Similarités Sémantiques

35

4. Similarité Sémantique

Après avoir présenté le web sémantique et des technologies associées dans le chapitre précédent, nous revenons à l’utilisation du web sémantique dans le contexte des systèmes de recommandation et de filtrage.

Pour pouvoir intégrer l’aspect sémantique dans un système de recommandation, on doit pouvoir calculer des distances entre les objets d’une ontologie pour pourvoir constituer un voisinage ou une communauté (cluster).

Quelque soit l’étape du processus de filtrage dans laquelle les informations sémantiques sont intégrées, nous avons besoin de trouver des similarités. Par exemple si nous voulons trouver un voisinage pour un utilisateur qui est nouveau au système, il faut pouvoir trouver les utilisateurs qui lui sont similaires sémantiquement : du même âge, pratiquant la même profession, étant de la même région, ayant les mêmes pôles d’intérêt, etc.

Il est à noter que les concepts et les algorithmes que nous allons présenter ne sont pas uniquement liés aux ontologies, au web sémantiques ou aux technologies associées. Ces pratiques peuvent être adaptées pour être appliquées sur des modèles plus basiques : bases de données relationnelles, modèle objet ou tout autre.

Plusieurs méthodes de calcul de similarité sémantique on été décrites dans la littérature.

Dans les travaux faits dans [Petrakis 06] on peut trouver 4 grandes catégories.

• Comptage des arcs entre deux termes (Edge Counting)

• Approche basée sur le contenu informationnel (Information Content)

• Méthodes basées sur les fonctionnalités (Feature-Based)

• Méthodes hybrides

Ces méthodes se concentres sur des structures d’ontologies hiérarchiques, où la notion de relation ‘est-un’, ‘is-a’ est centrale.

En plus de ces types de mesures on peut ajouter les mesures de similarité vectorielles, en effet une ressource est souvent caractérisée par un vecteur de notions. Un utilisateur par un ensemble de préférences, une ressource par un ensemble de catégories, un texte par un ensemble de termes significatifs, etc.

On trouve aussi les similarités en chaines de caractères, car certaines descriptions textuelles ne sont pas structurés, l’indexation en texte intégral permet de déduire la similarité entre elles.

Chapitre II : Etat de l’Art – Similarités Sémantiques

36 4.1. Comptage des arcs

La méthode la plus intuitive pour le calcul de similarité dans une ontologie est le calcul du nombre d’arcs entre deux concepts dans la hiérarchie. Cette Méthode est utilisée lorsque l’ontologie est sous forme d’arborescence.

Figure II-11 : Exemple de hiérarchie de termes dans WordNet

La similarité entre deux termes est calculée en fonction de la distance qui lie les deux termes dans la hiérarchie (plus proche parent commun) et en fonction de la profondeur des termes dans la hiérarchie. En effet en allant plus profondément dans la hiérarchie on va vers des termes plus spécifiques et la similarité est plus grande que celle qui lie 2 notions très génériques, au contraire, celles-ci sont très opposées.

Cette approche est idéale pour les taxonomies du genre WordNet et Mesh ou les termes sont hiérarchisés selon la relation « est un » ou la profondeur de la hiérarchie est grande.

Un autre exemple d’ontologies où on peut utiliser le comptage d’arcs est « Gene Ontology » [Sanfilippo].

4.1.1. Rada

La distance la plus intuitive est la distance proposée par Rada [Rada 89]. La distance entre deux concepts est représentée par la distance minimale entre les éléments et le parent commun le plus récent.

La distance entre ‘Professor’ et ‘Administrator’

est égale à la distance entre ‘Professor’ et

‘Employee’ plus la distance entre ‘Administrator’

et ‘Employee’, Le concept ‘Employee’ étant le parent commun le plus récent.

La distance est ainsi égale à 3. La distance entre

‘Professor’ et ‘Student’ est égale à 4.

On remarque que la distance n’est pas normalisée pouvant aller de 0 à l’infini [0, *[.

Il faut une mesure de similarité allant de [0, 1] par exemple. Ou la valeur 1 représenterait une similarité parfaite et 0 aucune similarité entre les concepts.

Chapitre II : Etat de l’Art – Similarités Sémantiques

37 4.1.2. Resnik

Une première possibilité pour la représentation de la similarité est mentionnée par Resnik [Resnik 99]. La similarité de Resnik est donnée par la formule suivante :

Max : représente la plus grande distance entre la racine de l’ontologie et les feuilles de l’arborescence.

Len(Cx, Cy) : la plus petite distance entre deux concepts Cx et Cy Max : est la distance entre ‘Person’ et ‘Doctorant’,

elle est égale à 4.

Len(Cx, Cy) : correspond à la distance de Rada et est égale à 3.

La similarité est donc égale à : (2*4 – 3) / 2*4 Ce qui donne 0,625.

On aura toujours une similarité entre [0, 1]

L’inconvénient de cette approche est que la similarité entre les termes en haut en bas de la hiérarchie sont égales, par exemple la similarité entre ‘Assistant’ et ‘Professor’ est égale à la similarité entre ‘Employee’ et ‘Student’ 0,75. Alors que nous devons avoir une similarité plus grande entre ‘Assistant’ et ‘Professor’.

4.1.3. Wu & Palmer

Une autre variante, La similarité conceptuelle, décrite par Wu & Palmer [Wu Palmer 94]

introduit la notion de position dans la hiérarchie.

Elle est calculée avec la formule suivante :

N1, N2 : Les distances entre concepts Cx, Cy respectivement et le premier parent commun.

N3 : La distance entre le premier parent commun et la racine de l’ontologie.

Distance entre ‘Professor’ et ‘Assistant’ est égale à

Distance entre ‘Employee’ et ‘Student’ est égale à

Dans le cas ou deux termes sont directement les fils de la racine la similarité est égale à 0, comme pour ‘Person’ et ‘Animal’

Chapitre II : Etat de l’Art – Similarités Sémantiques

38 4.1.4. Leacock & Chodorow

Leacock & Chodorow [Leacock 98] introduisent une autre formule :

Max : La plus grande distance entre la racine de l’ontologie et les feuilles de l’arborescence.

4.2. Théorie de l’information

Le problème de la distance dans une ontologie est qu’elle dépend sur le caractère subjectif de la construction des ontologies. Pour adresser ce problème, les chercheurs dans le domaine du traitement naturel de la langue proposent de mesurer la similarité entre deux concepts (dans leur cas des termes) dans une ontologie (dans leur cas Wordnet [Miller 93]) en termes de mesure d’entropie (Information Theoric entropy measures [Resnik 99] [Lin 98]). Lin [Lin 98] argumente qu’une classe (terme) est définie par son usage.

Le contenu en information d’un terme est égal à : IC(x) = -log P(x).

Ou P(x) est la probabilité d’apparition du terme x (ou de certains de ces descendants) dans le corpus de référence. Il est possible de calculer le contenu en information directement à partir de WordNet.

En modélisant son évaluation sur l’expérience de Miller & Charles [Miller 91] qui utilise des sujets humains pour évaluer la similarité entre 30 paires de termes, Resnik montre que les méthodes basées sur la théorie de l’information apportent une amélioration significative, une corrélation de 0.79 au lieu d’une corrélation de 0.60 pour les méthodes de comptage d’arcs classiques.

4.2.1. Resnik

Resnik [Resnik 99] défini la similarité comme étant :

CA (Cx, Cy) : est l’ensemble des ancêtres communs de Cx et Cy.

-log PCz : le contenu en information du terme Z.

4.2.2. Lin

Lin [Lin 98] défini la similarité différemment :

: Le contenu en information du parent commun le plus récent.

: Le contenu en information du terme X.

Chapitre II : Etat de l’Art – Similarités Sémantiques

39 4.2.3. Jiang Conrath

Jiang et Conrath [Jiang 98] définissent une autre formule :

La similarité est égale au contenu en information de X + le contenu de Y – le contenu du parent le plus récent.

4.3. Similarité vectorielle

Les termes d’une ontologie peuvent être représentés par des vecteurs de valeurs, de mots, d’évaluations, etc. Plusieurs métriques de similarité peuvent être utilisées pour le calcul des distances entre vecteurs. Parmi les distances typiques on trouve :

Cosinus

Jaccard

Overlap

Dice

Euclidienne

La distance cosinus mesure la similarité entre deux vecteurs comme étant le cosinus de l’angle entre les deux vecteurs. La distance Jaccard mesure le ratio du nombre d’attributs communs [Strehl 00].

On remarque que ces distances sont utilisées dans les systèmes collaboratifs pour calculer la distance entre utilisateurs selon les vecteurs d’évaluation. Dans un contexte sémantique la similarité vectorielle consiste à calculer la distance entre deux vecteurs définis dans l’ontologie. Si on prend l’exemple d’une ontologie ou des ressources peuvent être assignées à des catégories, la similarité entre ressources peut être substituée à la similarité entre les deux vecteurs contenant les catégories de chaque ressource.

Chapitre II : Etat de l’Art – Similarités Sémantiques

40 4.4. Séquences et chaînes

La distance entre séquences / chaînes est calculée avec la distance de Levenshtein [Levenshtein 66] La distance de Levenshtein correspond au nombre de modifications nécessaires pour transformer une séquence / chaîne en une autre. C’est le nombre d’insertions, suppressions et remplacements nécessaires.

On normalise la similarité en divisant par le nombre d’actions dans le pire des cas

D’autres distances sont utilisées dans le cas de chaînes courtes et plus précisément dans le cas de mots, comme la distance de Jaro et Jaro Winkler. Ces distances peuvent être utilisées pour faire correspondre des mots écrits avec des erreurs syntaxiques avec les mots corrects.

4.5. Texte intégral

L’algorithme de similarité textuelle TF-IDF se base sur la description textuelle des concepts d’une ontologie. Ces descriptions sont indexées à l’aide d’un moteur d’indexation. Les mots sont réduits à leurs racines (stems) en utilisant un ‘Stemmer’.

On applique sur les résultats l’algorithme standard TF-IDF décrit dans [Baeza 99]. TF-IDF compte la fréquence d’occurrence d’un terme dans un document par rapport à la fréquence d’apparition dans un corpus. Les fréquences sont alors utilisées pour construire un vecteur pondéré de termes décrivant le document. La similarité est donc déduite par le calcule de la similarité vectorielle entre les deux vecteurs de termes (Cosinus, Jaccard, Overlap, Dice, Euclidienne, etc.).

L’approche est idéale quand l’ontologie n’est pas très riche et il faut donc recourir aux descriptions des termes pour déduire des similarités.

4.6. Basée Propriétés

Les approches basées propriétés utilisent les propriétés d’un terme pour calculer la similarité. La catégorie, la date de sortie, les acteurs sont des propriétés permettant de calculer la similarité entre deux films.

Cette approche est adaptée aux cas ou la hiérarchie des termes est horizontale (non

Cette approche est adaptée aux cas ou la hiérarchie des termes est horizontale (non