# A Context Management Framework based on Wisdom of Crowds for Social Awareness applications

Adrien Joly

► To cite this version:

Adrien Joly. A Context Management Framework based on Wisdom of Crowds for Social Awareness applications. Computer Science [cs]. INSA de Lyon, 2010. English. NNT: 2010ISAL0081. tel-03959479

HAL Id: tel-03959479

https://hal.science/tel-03959479

Submitted on 27 Jan 2023

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

Public Domain
Thèse

A Context Management Framework
based on Wisdom of Crowds
for Social Awareness applications

Présentée devant
L'Institut National des Sciences Appliquées de Lyon

Pour obtenir
Le grade de docteur

Formation doctorale : Informatique

École doctorale : InfoMaths

Par
Adrien Joly

Soutenance donnée le 14 octobre 2010 devant la Commission d'examen

**Jury MM.**

Directeur P. MARET Professeur (Université Saint-Etienne)

Encadrant J. DAIGREMONT Chef d'unité (Alcatel-Lucent Bell Labs Fr.)

Rapporteur A. K. DEY Professeur associé (Carnegie Mellon, USA)

Rapporteur E. SOULIER Maître de conférences, HDR (UTT)

Examinateur F. LAFOREST Maître de conférences, HDR (INSA de Lyon)

Examinateur B. AMANN Professeur (LIP6)

Président H. MARTIN Professeur (LIG)

Laboratoire de recherche : LIRIS

Contrat CIFRE avec Alcatel-Lucent Bell Labs France
Thèse

# Un cadre de gestion de contextes fondé sur l'intelligence collective pour améliorer l'efficacité des applications de communication sociale

Présentée devant

L'Institut National des Sciences Appliquées de Lyon

Pour obtenir

Le grade de docteur

Formation doctorale : Informatique

École doctorale : InfoMaths

Par

Adrien Joly

Soutenance donnée le 14 octobre 2010 devant la Commission d'examen

Jury MM.

Directeur P. MARET Professeur (Université Saint-Etienne)

Encadrant J. DAIGREMONT Chef d'unité (Alcatel-Lucent Bell Labs Fr.)

Rapporteur A. K. DEY Professeur associé (Carnegie Mellon, USA)

Rapporteur E. SOULIER Maître de conférences, HDR (UTT)

Examinateur F. LAFOREST Maître de conférences, HDR (INSA de Lyon)

Examinateur B. AMANN Professeur (LIP6)

Président H. MARTIN Professeur (LIG)

Laboratoire de recherche : LIRIS

Contrat CIFRE avec Alcatel-Lucent Bell Labs France
INSA Direction de la Recherche - Ecoles Doctorales -
Quadriennal 2007-2010

<table><thead><tr><th>SIGLE</th><th>ECOLE DOCTORALE</th><th>NOM ET COORDONNEES DU RESPONSABLE</th></tr></thead><tbody><tr><td></td><td>CHIMIE DE LYON<br>http://sakura.cpe.fr/ED206</td><td>M. Jean Marc LANCELIN<br>Université Claude Bernard Lyon 1<br>Bât CPE<br>43 bd du 11 novembre 1918<br>69622 VILLEURBANNE Cedex<br>Tél : 04.72.43 13 95 Fax :<br>lancelin@hikari.cpe.fr</td></tr><tr><td>CHIMIE</td><td>M. Jean Marc LANCELIN<br>Insa : R. GOURDON</td><td></td></tr><tr><td>E.E.A.</td><td>ELECTRONIQUE,<br>ELECTROTECHNIQUE, AUTOMATIQUE<br>http://www.insa-lyon.fr/eea<br>M. Alain NICOLAS<br>Insa : C. PLOSSU<br>ede2a@insa-lyon.fr<br>Secrétariat : M. LABOUNE<br>AM. 64.43 - Fax : 64.54</td><td>M. Alain NICOLAS<br>Ecole Centrale de Lyon<br>Bâtiment H9<br>36 avenue Guy de Collongue<br>69134 ECULLY<br>Tél : 04.72.18 60 97 Fax : 04 78 43 37 17<br>eea@ec-lyon.fr<br>Secrétariat : M.C. HAVGOUDOUKIAN</td></tr><tr><td>E2M2</td><td>EVOLUTION, ECOSYSTEME,<br>MICROBIOLOGIE, MODELISATION<br>http://biomserv.univ-lyon1.fr/E2M2<br>M. Jean-Pierre FLANDROIS<br>Insa : H. CHARLES</td><td>M. Jean-Pierre FLANDROIS<br>CNRS UMR 5558<br>Université Claude Bernard Lyon 1<br>Bât G. Mendel<br>43 bd du 11 novembre 1918<br>69622 VILLEURBANNE Cédex<br>Tél : 04.26 23 59 50 Fax 04 26 23 59 49<br>06 07 53 89 13<br>e2m2@biomserv.univ-lyon1.fr</td></tr><tr><td>EDISS</td><td>INTERDISCIPLINAIRE SCIENCES-<br>SANTE<br>Sec : Safia Boudjema<br>M. Didier REVEL<br>Insa : M. LAGARDE</td><td>M. Didier REVEL<br>Hôpital Cardiologique de Lyon<br>Bâtiment Central<br>28 Avenue Doyen Lépine<br>69500 BRON<br>Tél : 04.72.68 49 09 Fax : 04 72 35 49 16<br>Didier.revel@creatis.uni-lyon1.fr</td></tr><tr><td>INFOMATHS</td><td>INFORMATIQUE ET<br>MATHEMATIQUES<br>http://infomaths.univ-lyon1.fr<br>M. Alain MILLE</td><td>M. Alain MILLE<br>Université Claude Bernard Lyon 1<br>LIRIS - INFOMATHS<br>Bâtiment Nautibus<br>43 bd du 11 novembre 1918<br>69622 VILLEURBANNE Cedex<br>Tél : 04.72. 44 82 94 Fax 04 72 43 13 10<br>infomaths@bat710.univ-lyon1.fr - alain.mille@liris.cnrs.fr</td></tr><tr><td>Matériaux</td><td>MATERIAUX DE LYON<br>M. Jean Marc PELLETIER<br>Secrétariat : C. BERNAVON<br>83.85</td><td>M. Jean Marc PELLETIER<br>INSA de Lyon<br>MATEIS<br>Bâtiment Blaise Pascal<br>7 avenue Jean Capelle<br>69621 VILLEURBANNE Cédex<br>Tél : 04.72.43 83 18 Fax 04 72 43 85 28<br>Jean-marc.Pelletier@insa-lyon.fr</td></tr><tr><td>MEGA</td><td>MECANIQUE, ENERGETIQUE, GENIE<br>CIVIL, ACOUSTIQUE<br>M. Jean Louis GUYADER<br>Secrétariat : M. LABOUNE<br>PM : 71.70 -Fax : 87.12</td><td>M. Jean Louis GUYADER<br>INSA de Lyon<br>Laboratoire de Vibrations et Acoustique<br>Bâtiment Antoine de Saint Exupéry<br>25 bis avenue Jean Capelle<br>69621 VILLEURBANNE Cedex<br>Tél : 04.72.18.71.70 Fax : 04 72 43 72 37<br>mega@lva.insa-lyon.fr</td></tr><tr><td>ScSo</td><td>ScSo*<br>M. OBADIA Lionel<br>Insa : J.Y. TOUSSAINT</td><td>M. OBADIA Lionel<br>Université Lyon 2<br>86 rue Pasteur<br>69365 LYON Cedex 07<br>Tél : 04.78.77.23.88 Fax : 04.37.28.04.48<br>Lionel.Obadia@univ-lyon2.fr</td></tr></tbody></table>

<footnote>*ScSo : Histoire, Geographie, Aménagement, Urbanisme, Archéologie, Science politique, Sociologie, Anthropologie</footnote>
# Un cadre de gestion de contextes fondé sur l'intelligence collective pour améliorer l'efficacité des applications de communication sociale

## Résumé

A l'heure où les sites de réseaux sociaux transforment les usages sur le Web, les échanges entre personnes deviennent de plus en plus faciles, ludiques et riches. Le partage en temps réel de nouvelles, d'humeurs, et autres contenus (personnels ou personnelment sélectionnés) permet de tisser, de maintenir et de renforcer des liens sociaux entre personnes à des échelles encore inédites. Cependant, la quantité sans cesse croissante d'information circulant sur ces réseaux, souvent en temps réel, motive une régulation des signaux (ici appelées "interactions médiatisées"), de manière à réduire le temps nécessaire pour suivre ses réseaux sociaux, et modérer les interruptions induites, non favorables à une bonne productivité sur le traitement de tâches demandant une attention continue.

Dans le cadre de cette thèse, nous avons développé un système de filtrage et de recommandation de ces signaux qui repose sur la similarité contextuelle entre utilisateurs, producteurs et consommateurs de ces signaux, pour évaluer leur pertinence. Notre approche consiste à agréger et interpréter les données de contexte sur les terminaux des utilisateurs, sous forme de mots-clés pondérés (tags), avant qu'elles ne puissent être exploitées par le serveur de recommandation, à la demande de l'utilisateur. Dans ce mémoire, nous présenterons un état de l'art couvrant la gestion de données contextuelles, les réseaux sociaux et leurs pratiques actuelles sur internet, et des techniques de recherche d'information. Ensuite, nous proposerons une formalisation de notre problématique de filtrage contextuel, l'implémentation d'une application de réseautage social d'entreprise, et nous discuterons les résultats expérimentaux obtenus auprès d'utilisateurs.

**Mots-Clés:** recherche d'informations, modélisation de données de contexte, systèmes de recommandation, réseaux sociaux, surcharge informationelle
# A Context Management Framework based on Wisdom of Crowds for Social Awareness applications

## Abstract

At a time when social networking sites revolutionize the usages on the Web, it has become rich, easy, and fun to share private or professional content. Sharing personal information in real-time (such as news, moods, etc...), supports the maintenance of social ties at a high scale. However, the information overload which emerged from the growing quantity of signals exchanged on these services, often in real-time, motivates a regulation of these signals (called "mediated interactions"), in order to reduce the temporal cost for maintaining social networks, and implied interruptions, which have a negative impact on productivity on tasks that require long-lasting attention.

In the frame of this thesis, we have developed a filtering and recommendation system that relies on contextual similarity between users that produce and consume social signals, as relevance criteria. In our approach, contextual information is aggregated and interpreted on users' terminal(s), before being submitted on-demand to a server in the form of a set of weighted tags. In this thesis, we present a broad state of the art on context-awareness, social networks and information retrieval, we propose a formalization of our filtering problem, and we implement and evaluate its application for enterprise social networking.

**Keywords:** information retrieval, context-awareness, recommender systems, social networks, information overload
Acknowledgements

When I decided to start a PhD thesis, I was very motivated for working on
my own research project during three years, but I also knew it was not
going to be easy. Indeed, it has been a very enriching experience, but I
could not have achieved it without support from my supervisors, colleagues,
friends and family.

First, I would like to thank my research supervisor, Pierre Maret, for having
trusted my insights and research directions, giving wise advice and
confidence when I needed it, and providing several opportunities to present
my work. As my co-supervisor (and former-) at Alcatel-Lucent Bell Labs
France, I am thankful to Johann Daigremont and Fabien Bataille, for giving
me the resources, responsibilities and autonomy I needed to carry out my
thesis in the best conditions. It was a pleasure to supervise Johann Stan
and Chafik Bachatene, who collaborated to my research during their
internship at Alcatel-Lucent Bell Labs France.

Throughout my PhD thesis, I have had the chance to meet great people and new friends, including fellow PhD students Julien Subercaze, Romain Vuillemot, François Guern, and Dominique Decotter, who provided valuable references from various disciplines (including sociology and cognitive psychology), believed in my research, and always shared honest feedback about it. I'm thankful to my colleagues from Alcatel-Lucent worldwide, especially Dimitre Kostadinov, Jerôme Picault, Florian Rodary, Peter Schott, Christophe Scicluna and Makram Bouzid for their participation to the evaluation of my prototype, and for their help at various phases of my thesis. I would also like to express my sincere gratitude to the committee members of my PhD defense, and especially to Anind K. Dey and Eddie Soulier for the positive and enriching feedback they provided through their review of my thesis.

This thesis, and most of my scientific publications, were written in English.
This would have not been a reasonable objective without some serious
proofreading, which was kindly proposed by several friends, including
Jenna Campbell, Thibaud Hulin, Alain Leufroy, Hayley Nilsen, Laure
Pavlovic, Greg Payne and Peter Schott.

Finally, I would like to dedicate this work to my family. They have always
supported me to pursue my vocation — to become a successful computer
scientist — and my passion for performing music and travels. Thank you.

<footnote>This work has been partially funded by the French Ministry of Higher Education and Research, in the frame of a CIFRE (Conventions Industrielles de Formation par la REcherche) convention between Alcatel-Lucent and INSA-Lyon. It was partly conducted as part of the ITEA2 EASY Interactions project, partially funded by the French Minister of the Economy, Industry and Employment.</footnote>
<figure><img src="image_1.png" /></figure>
# Un cadre de gestion de contextes fondé sur l'intelligence collective pour améliorer l'efficacité des applications de communication sociale

Adrien Joly *†, Pierre Maret ‡ and Johann Daigremont †

* Université de Lyon, CNRS, INSA-Lyon, LIRIS, UMR5205, F-69621, France

† Alcatel-Lucent Bell Labs France, Site de Villarceaux, F-91620 Nozay, France

‡ Université de Lyon, Laboratoire Hubert Curien, UMR CNRS 5516, F-42000 Saint-Etienne, France

**Résumé**—A l'heure où les sites de réseaux sociaux transforment les usages sur le Web, les échanges entre personnes deviennent de plus en plus faciles, ludiques et riches. Le partage en temps réel de nouvelles, d'humeurs, et autres contenus (personnels ou personnelment sélectionnés) permet de tisser, de maintenir et de renforcer des liens sociaux entre personnes à des échelles encore inédites. Cependant, la quantité sans cesse croissante d'information circulant sur ces réseaux, souvent en temps réel, motive une régulation des signaux (ici appelées "interactions médiatisées"), de manière à réduire le temps nécessaire pour suivre ses réseaux sociaux, et modérer les interruptions induites, non favorables à une bonne productivité sur le traitement de tâches demandant une attention continue.

Dans le cadre de cette thèse, nous avons développé un système de filtrage et de recommandation de ces signaux qui repose sur la similarité contextuelle entre utilisateurs, producteurs et consommateurs de ces signaux, pour évaluer leur pertinence. Notre approche consiste à agréger et interpréter les données de contexte sur les terminaux des utilisateurs, sous forme de mots-clés pondérés (tags), avant qu'elles ne puissent être exploitées par le serveur de recommandation, à la demande de l'utilisateur. Dans cette synthèse, nous présenterons un état de l'art couvrant la gestion de données contextuelles, les réseaux sociaux et leurs pratiques actuelles sur internet, et des techniques de recherche d'information. Ensuite, nous proposerons une formalisation de notre problématique de filtrage contextuel, l'implémentation d'une application de réseautage social d'entreprise, et nous discuterons les résultats expérimentaux obtenus auprès d'utilisateurs.

## I. INTRODUCTION

### A. Contexte

Cette thèse se situe à la rencontre de trois thématiques de recherche : la gestion de données de contexte utilisateur pour adapter les applications logicielles, l'évaluation de pertinence pour la recommandation et le filtrage d'informations, et l'étude des réseaux sociaux sur Internet.

La problématique de gestion de données de contexte (context awareness) a été proposée par Schilit et col. [1] en 1994. Elle s'inscrit dans le cadre de systèmes informatiques répartis, dits "ubiquitaires" (ubiquitous computing [2]), tels que définis par Weiser en 1991, permettant alors aux logiciels de s'adapter au contexte de leurs utilisateurs (ex. leur localisation). Alors que le concept d'intelligence ambiante [3]

consiste à tirer parti de ces données de contexte pour permettre aux logiciels d'être pro-actifs envers les buts et habitudes de leur utilisateurs, le concept de conscientisation ambiante (ambient awareness [4]) préfère exploiter ces connaissances pour faciliter la communication et la collaboration entre personnes, en les rendant respectivement conscientes de leurs activités et contextes.

Avec l'avènement des téléphones intelligents et des réseaux sans-fils, cette vision se réalise : l'ordinateur classique, équipé d'un écran, d'un clavier et d'une souris, est progressivement remplacé par toutes sortes d'appareils mobiles autonomes et inter-connectés, procurant alors de nouvelles interfaces pouvant être utilisées en mobilité. Plus récemment encore, des milliers d'applications logicielles sensibles à la localisation de leur utilisateur sont utilisées en masse, rendant accessibles au grand public des premières implémentation d'intelligence et de conscientisation ambiante.

Parallèlement, de nouveaux usages se sont développés sur le Web, parmi lesquels le *réseautage social* — la communication et l'échange de données sur des réseaux sociaux — et l'annotation de ressources. Le premier permet aux personnes de maintenir et d'enrichir leur communication avec leurs réseaux professionnels, amicaux, voire familiaux, et d'étendre ces réseaux en partageant des contenus égo-centrés. Le second usage croissant, l'annotation de ressources, permet l'émergence d'une **intelligence collective**. En effet, en apportant de modestes contributions, comme l'annotation de pages web grâce à des mots-clés couramment appelés *tags*, des millions d'utilisateurs font naître une base de connaissances collaborative, permettant alors de mieux catégoriser, indexer, chercher et recommander l'information disponible en masse sur Internet.

Grâce aux appareils capables de se repérer dans le monde réel et aux informations fournies par des millions d'internautes, le Web peut désormais être vu comme une sur-couche digitale/informationnelle du monde réel. C'est d'ailleurs ainsi que sont nées les applications de réalité augmentée, permettant aux utilisateurs d'obtenir des informations d'Internet à propos de leur localisation actuelle, sans avoir à formuler la moindre requête. Dans cet écosystème de surcharge informationnelle
(information overload) où l'information croit plus vite qu'elle ne peut être consommée, et où les utilisateurs sont prêts à être interrompus à tout moment pour recevoir de nouvelles informations émises par leurs réseaux sociaux, le nouveau challenge est d'attirer l'attention des personnes sur les informations qu'elles trouveront les plus pertinentes.

## B. Problématique

L'objectif général de cette thèse est d'exploiter des connaissances sur le contexte d'utilisateurs de réseaux sociaux afin de réduire la quantité d'informations émises par ces réseaux, en sélectionnant les plus pertinentes.

En particulier, nous étudions l'hypothèse selon laquelle *une information est pertinente pour un utilisateur, si le contexte dans lequel son auteur l'a partagé est similaire au sien.* Inspirés par la définition de Dey [5], nous qualifions de contexte, toute information décrivant l'activité courante d'un utilisateur, et l'environnement dans lequel il l'exerce : le lieu, les personnes, objets et activités environnantes. Vérifier cette hypothèse rendrait possible la création d'outils de sélection automatique d'informations pertinentes, et permettrait donc une utilisation plus efficace de réseaux sociaux, en réduisant le temps nécessaire pour le maintenir et la fréquence des notifications reçues en temps-réel. Dans un cadre professionnel, une telle réduction de charge pourrait révéler le potentiel des réseaux sociaux d'entreprise, en permettant une augmentation de la productivité et des opportunités de collaboration et d'échange entre professionnels, qu'ils travaillent ou non dans la même entreprise.

Afin de valider cette hypothèse, nous proposons :

- d'identifier des capteurs permettant de recueillir diverses données de contexte sur les utilisateurs,

- de formaliser un modèle de représentation de données de contexte, et un modèle de pertinence basé sur leur similarité,

- et d'évaluer l'application d'un tel système dans un environnement réaliste, auprès d'utilisateurs réels.

## C. Plan

Dans une première partie d'état de l'art, nous allons commencer en section II par étudier les fonctionnalités, usages et impacts cognitifs des réseaux sociaux et systèmes de micro-blogging, suivie par une section sur les techniques de gestion d'informations dans les systèmes collaboratifs, puis par une section sur l'extraction et la modélisation de données de contexte. En section V, nous élaborerons notre cadre de gestion de contextes, son exploitation dans une application sociale d'entreprise en section VI, puis l'évaluation de notre système en section VII. Enfin, nous conclurons cette étude (section VIII), avant de proposer des pistes de recherche (section IX).

# II. RÉSEAUX SOCIAUX : FONCTIONNALITÉS, USAGES, ET IMPACT COGNITIF

Après les forums, les messageries instantanées, les blogs, entre autres moyens de communication et d'expression sur

Internet, les réseaux sociaux permettent le maintien de communautés larges, réconciliant la gestion de la représentation publique de soi, d'espaces de discussions, et l'échange de messages privés. Ils permettent ainsi d'enrichir les liens entre professionnels, entre amis, voire en famille, et de faciliter la créations de nouveaux liens. Dans cette partie, nous allons commencer par décrire les fonctionnalités et usages de différents réseaux sociaux parmi les plus populaires sur Internet, puis nous allons étudier les impacts cognitifs auxquels sont potentiellement exposés les utilisateurs de médias sociaux où l'information est diffusée en temps réel.

## A. Fonctionnalités de base

Sur tout site de réseau social, chaque membre est encouragé à renseigner et maintenir une page personnelle appelée *profil*, tel qu'illustré en Figure 1. Identifié par son nom (ou un pseudonyme) ainsi qu'une photo (ou un avatar), chaque membre se présente à son réseau en partageant quelques éléments : une biographie concise, quelques contenus qu'il apprécie et permettent de mieux appréhender sa personnalité, ainsi que la liste de ses contacts. Les contacts d'un membre, élément central de tout réseau social, sont d'autres membres qui ont une relation privilégiée avec ce membre, en termes de visibilité et/ou de fonctionnalités interactionnelles. Selon la nature du réseau social, un contact peut être un ami, un collègue, un fan, un client, ou tout autre personne intéressée par l'actualité de l'autre.

1) **Facebook:** Sur le réseau social le plus populaire et actif sur Internet, un contact est généralement un proche, ou une personne déjà rencontrée avec qui l'on souhaite pouvoir se retrouver ou maintenir une correspondance informelle [6]. La connexion entre deux contacts est alors explicite, mutuelle et diffusée : l'un propose à l'autre, qui peut alors accepter ou refuser la relation d'amitié sur le réseau, et les autres membres de leurs réseaux seront informés de l'éventuelle connexion. Une fois connectés, deux contacts peuvent avoir accès à certaines informations et fonctionnalités potentiellement limitées aux membres du réseau de ceux-ci.

2) **Twitter:** Sur ce site de micro-blogging (une variante de réseau social), les contacts sont non mutuels et chaque membre a donc deux listes de contacts : les personnes suivies

<figure><img src="image_2.png" /><figcaption>FIGURE 1. Un profil utilisateur sur un site de réseau social</figcaption></figure>
(following), et les suiveurs (followers). Sur ce site, la plupart des profils sont publics, mais seules les personnes suivies par un membre peuvent lui envoyer des messages privés.

## B. Fonctionnalités interactionnelles : messages et flux sociaux

Comme nous l'avons expliqué plus haut, l'appartenance d'un membre au réseau d'un autre membre donne accès à des fonctionnalités interactionnelles supplémentaires. Ces fonctionnalités, propres aux sites de réseaux sociaux, et spécifiques à chacun d'eux, consistent généralement à être en mesure de diffuser un message dans un réseau, et d'accéder aux messages des autres. Ces messages, que nous pourrions qualifier d'interactions médiatisées, et que nous appelons social updates dans la thèse, peuvent être de diverses natures. Cependant, ils partagent généralement des modalités communes de diffusion, et des fonctionnalités communes d'interaction. Concernant la diffusion, un message est généralement diffusé par un membre à l'attention de son propre réseau de contacts, mais il peut parfois être destiné à un contact particulier ainsi qu'au réseau de ce contact.

1) **Diffusion à son propre réseau:** Cette première modalité permet à chaque membre de partager des actualités, son humeur, ses activités ou autres contenus personnels (ou personnelment sélectionnés). Par ce biais, il donne alors l'opportunités à ses contacts de réagir en commentant ce message, de s'engager dans l'activité sociale qu'il représente éventuellement, de relayer ce message à son propre réseau de contacts, ou de consommer passivement cette information sans réagir publiquement, un peu comme en parcourant un journal quotidien d'actualités.

2) **Diffusion ciblée:** Cette deuxième modalité, quant à elle, est moins égo-centrée : elle consiste à partager un message avec une personne particulière, et donc d'attirer son attention de manière plus personnelle. Afin de vulgariser cette distinction avec la première modalité, Facebook emploie la métaphore du "mur". Le profil de chaque membre est constitué d'un mur, sur lequel ses contacts peuvent laisser des messages, lesquels seront visibles aux autres contacts de ce membre, ainsi qu'aux contacts de celui qui laisse le message. Sur les réseaux professionnels, comme LinkedIn, laisser un message sur le profil d'un contact consiste en fait à le valoriser en vantant ses qualités, à des fins de recommandation auprès d'employeurs/collaborateurs potentiels. Sur Twitter, cette modalité est rendue possible par la mention explicite du/des membre(s) concernés dans le corps même du message, en préfixant son/leur nom d'utilisateur par une arobase, tel qu'illustré en Figure 2.

Dans les deux cas, la visibilité des messages au réseau de leur auteur et de leur destinataire éventuel permet d'initier des discussions entre les membres de ces réseaux, et de les diffuser de manière virale via les contacts de second degré. Sur Twitter, ces usages ont émergé par l'entente collective des utilisateurs sur des syntaxes particulières : commenter le message d'un membre revient à diffuser un nouveau message mentionnant le nom d'utilisateur de ce membre, préfixé du diminutif "RE" (de "réponse"). Avant d'être adopté en tant que fonctionnalité

<figure><img src="image_3.png" /></figure>

rolytyler

<figure><img src="image_4.png" /></figure>

June 16, 2010

<figure><img src="image_5.png" /></figure>

Attending a seminar presentation of the LaHC lab on data mining and social networks, Uni. St-Etienne, at Bell Labs technolab.

1 twitter reply

<figure><img src="image_6.png" /></figure>

<figure><img src="image_7.png" /></figure>

<figure><img src="image_8.png" /></figure>

<figure><img src="image_9.png" /></figure>

@rolytyler would love to see any documentation from the LaHC seminar

<caption>FIGURE 2. Un message social et une réponse mentionnant l'auteur, sur Twitter</caption>

nativement supportée par le site, le relai d'un message suit le même principe, sauf que le diminutif "RT" (de "re-tweet") est utilisé comme préfixe.

Afin de suivre les nouvelles de son réseau social sans avoir à consulter le profil de tous ses contacts, les derniers messages (et autres interactions) qu'ils ont émis sont énumérés dans un flux appelé **newsfeed**. Chaque membre peut alors se tenir au courant de l'actualité de ses contacts, et des discussion qui s'y rattachent, en parcourant cette liste. Contrairement à l'échange de messages en mode "push" où les messages des contacts s'accumulent dans une boite de réception en attendant d'être consommés (ex. le courrier électronique), la consultation des messages sociaux se fait en mode "pull", et il n'y a aucune attente de consommation de chaque message de la part de leurs auteurs [7]. Alors que seules les personnes volontairement attentives à ce flux prendront connaissance des messages les plus récents, il reste possible de consulter les messages plus anciens en remontant dans la chronologie du flux, ou de ceux de leurs auteurs (leur profil).

## C. Nature et contenu des messages sociaux

Comme nous l'avons introduit plus haut, les messages diffusés par les membres à leurs réseaux permettent de partager des actualités, des humeurs, des activités ou autres contenus personnels ou personnelment sélectionnés. Nous allons commencer par proposer catégorisation non exhaustive de la nature de ces messages :

1) **Mises à jour de profil:** Nombreux réseaux sociaux diffusent de manière automatique les changements qu'un membre a effectué sur son profil. De cette manière, lorsqu'un membre met à jour son statut marital (par exemple) sur son profil Facebook, ce changement de statut sera annoncé automatiquement à son réseau, comme si le membre avait manuellement rédigé un message en cette occasion, permettant alors à ses contacts de le féliciter ou de compatir, selon le cas. Cette fonctionnalité prend tout son sens dans un réseau social professionnel comme LinkedIn, où tout changement de situation professionnelle d'un membre (ex. changement d'employeur, de poste ou de projet) sera notifié automatiquement aux membres de son réseau. Grâce à ces notifications, les contacts peuvent éventuellement proposer de nouvelles opportunités pertinentes de collaboration.

2) **Nouvelles:** Sur les sites de micro-blogging et la plupart des réseaux sociaux, les membres sont invités à partager régulièrement des nouvelles, et autres courts billets d'humeur.
Pionnier dans cette nouvelle pratique de communication, Twitter proposait à ses débuts de répondre publiquement à la question "Que faites-vous ?", en 140 caractères seulement. Aujourd'hui, suite à l'appropriation de l'outil par ses usagers, la question est devenue "Que se passe-t-il ?", alors que Facebook demande "Qu'avez-vous à l'esprit ?" à ses utilisateurs. Par ce biais, les membres maintenant un profil personnel (ex. sur Facebook) partagent leur humeur du moment, racontent des blagues, partagent leurs bonnes (ou mauvaises) nouvelles, annoncent leurs activités présentes et à venir, ou encore rapportent un évènement ou situation dont ils sont témoins [8], [9]. Sur leur profil professionnel, les membres préféreront diffuser des actualités en rapport avec leurs activités, et faire connaître leurs réalisations. Dans les deux cas, l'intention est double : se faire valoir, et susciter une réaction des autres contacts du réseau.

3) **Partage de contenus:** Proche de la diffusion de nouvelles, en termes d'intention, certains réseaux sociaux permettent à leurs membres de partager des contenus plus riches que des messages textuels : vidéos, liens vers des pages web etc... Parfois dénués de commentaires, ces contenus peuvent être partagés à des fins d'information, mais aussi à des fins d'expression de ses gouts personnels. Dans certains cas, l'utilisateur peut être l'auteur du contenu, ex. une photo, une vidéo qu'il a prise lui-même.

4) **Questions:** Enfin, les réseaux sociaux sont un excellent médium pour poser des questions, demander des conseils et suggestions de manière plus ou moins publique. En effet, outre l'intérêt pour les personnes de s'entraider au sein d'un réseau, le fait de connaitre la personne proposant une réponse permet de mieux juger de sa pertinence, et de profiter d'un avis plus subjectif et personnalisé [10].

## D. Autres interactions médiatisées et usages

Outre l'échange de messages et contenus saisis et diffusés explicitement par les utilisateurs de réseaux sociaux, des fonctionnalités interactionnelles plus spécifiques sont couramment proposées, voici quelques exemples :

1) **L'annotation sociale de contenus:** Le partage de photos a longtemps été une fonctionnalité phare des réseaux sociaux personnels. En partageant un album de photos sur son profil, un membre permet aux contacts de son réseau de consulter et commenter ces photos. Il est désormais possible (voire encouragé) d'associer les visages apparaissant sur ces photos avec le profil social de la personne correspondante, la photo concernée est alors automatiquement diffusée au réseau de cette personne. Pratique pour s'échanger des souvenirs entre amis, cette fonctionnalité suscite encore aujourd'hui de nombreuses controverses, pour des raisons évidente d'atteinte à la vie privée. Cette fonctionnalité n'en reste pas moins puissante quand elle est utilisée de manière respectueuse et responsable. Sur Twitter, il est possible de mentionner un autre utilisateur, mais ce contenu ne sera pas directement visible sur le profil de ce dernier.

2) **Groupes:** Certains réseaux sociaux permettent la création de sous-réseaux (ou communautés) rassemblant des

personnes qui n'étaient pas forcément connectées entre elles. A l'image des profils personnels, ces groupes sont des espaces d'échange et de discussion autour d'une thématique plus ou moins spécifique. En rejoignant un groupe, un membre se rend visible aux autres membres, sans avoir besoin de les inclure à son réseau de contacts personnels. Il peut alors partager des contenus et interagir avec eux de manière cloisonnée, sachant qu'un groupe peut être caché et nécessiter un contrôle d'entrée (ou une invitation) par un modérateur.

3) **Évènements:** Présentant des fonctionnalités similaires à celles des groupes, les évènements sont des espaces d'annonce et d'interactions sociales autour d'un événement qui va avoir lieu prochainement, ou a eu lieu dernièrement. Outre la spécification de l'objet, de la date, du lieu, et des invités, la page d'un évènement est propice à sa préparation collaborative puis au partage de contenus autour de celui-ci (ex. diffusion de photos et vidéos prises à cette occasion). Sur Twitter, pour être associé à un évènement (ou un groupe), un message doit contenir un mot-clé (appelé **hashtag**) représentant cet évènement de manière unique. Ainsi, suivre et participer aux discussions liées à un évènement ne nécessite pas d'intégrer explicitement un groupe de personnes, il suffit de rechercher les messages contenant le mot-clé correspondant, et de contribuer en incluant ce mot-clé dans ses propres messages.

4) **Applications sociales:** Initiée par Facebook en 2007, la transformation de sites de réseaux sociaux en plateformes a permis le développement d'applications tierces pouvant tirer parti du graphe social des utilisateurs. De nouvelles fonctionnalités interactionnelles sont alors apparues, telles que des jeux de société, des quizz, et des applications de recommandation sociale (ex. films, livres) basées sur les gouts de ses propres contacts. Tierces pour la plupart, ces applications sont le plus souvent financées par la diffusion de publicités et tentent donc d'inciter leurs utilisateurs à y faire participer un maximum de contacts. Pour cela, ces applications peuvent diffuser des messages au nom de leur utilisateur, de manière à inciter ses contacts à l'y rejoindre.

## E. Réseaux sociaux mobiles

Avec la croissance des appareils mobiles supportant la technologie sans fil à courte portée Bluetooth, de nouvelles pratiques de communication de proximité sont nées. La tendance consistait alors à envoyer des messages OBEX à d'autres personnes alentours, à conditions que leur connexion Bluetooth soit activée et visible. Dans le but de faire des rencontres, certains personnalisaien l'identifiant de leur appareil tel qu'il était vu par les autres possesseurs d'appareils Bluetooth, afin d'y placer des informations personnelles comme leur sexe, leur age, etc... Se sont alors développé des applications de messagerie de proximité tirant parti de ces techniques (Nokia Sensor, Serendipity, Mobiluck), avant que des applications déclinées des sites de réseaux sociaux présentés ici ne puissent tirer parti des téléphones portables ayant un accès à Internet. De par sa simplicité, et la possibilité de diffuser des messages par SMS, Twitter devient l'un des réseaux sociaux mobiles les plus re joints. Se développe alors un nouvel usage : la
diffusion de messages sociaux en mobilité, transformant le témoin d'évènements en journaliste, grâce à l'instantanéité de l'information produite. Aujourd'hui, la plupart des sites de réseaux sociaux proposent une ou plusieurs applications pour téléphones mobiles, et tirent parti des possibilités de géolocalisation. En particulier, sont apparus de nouveaux réseaux sociaux mobiles invitant leur utilisateurs à diffuser leur position actuelle à leur contacts, leur permettant ainsi de nouvelles opportunités de rencontre, de recommandations sociales de lieux, voire d'accès à certaines promotions commerciales : Dodgeball, Foursquare, Gowalla, Plyce, etc...

## F. Réseaux sociaux et vie privée

Les réseaux sociaux ont provoqué de nombreux bouleversements en peu de temps, compromettent parfois des normes sociales comme le maintien de la vie privée. En guise d'exemple, suite à l'apparition du newsfeed sur Facebook, des milliers d'utilisateurs trouvant cette fonctionnalité trop intrusive ont menacé de se désinscrire du site, mais la popularité du site a en fait explosé au delà des espérances de son fondateur. Barkhuus et Dey ont observé que les utilisateurs sont prêts à fournir des données personnelles potentiellement sensibles, à condition que la satisfaction d'usage du système/service qui les exploite soit supérieure au coût que représenterait un contrôle manuel de ces données [11], ce qui s'applique parfaitement aux réseaux sociaux vu les statistiques d'usage sans cesse croissantes qu'ils affichent.

## G. Micro-blogging temps-réel : usage et impacts

A mi-chemin entre blogs et réseaux sociaux, les systèmes de micro-blogging permettent la diffusion instantanée de messages courts à des millions de lecteurs. Dans cette partie, nous présentons les résultats d'un sondage que nous avons mené auprès de 256 utilisateurs actifs de solutions de micro-blogging, afin d'observer leurs usages, et d'étudier l'impact cognitif potentiellement induit.

1) **Réception de nombreux messages:** Nous avons observé qu'un tiers des participants suit de 100 à 250 flux, et que près d'un deuxième tiers suit plus de 250 flux, ce qui dépasse le nombre de personnes avec qui l'on est humainement capable de maintenir une relation sociale stable selon Dunbar [12]. 75% des participants pratiquent le micro-blogging à des fins professionnelles, 69% pour suivre l'actualité, et 64% pour profiter des opportunités que peuvent leur apporter ce réseau de contacts.

2) **Intérêts à long terme:** Nous avons mesuré un sentiment d'utilité des messages reçus pour les intérêt à long terme plus élevé que pour les intérêt immédiats (ex. messages utiles pour l'activité courante). Nous déduisons de cette observation que la réception de messages en temps-réel est rarement utile, comparée au cout cognitif qu'induit la lecture immédiate de messages n'ayant pas de rapport avec la tâche exécutée par l'utilisateur.

3) **Un potentiel de distraction élevé:** Plus d'un tiers des participants sont en écoute permanente de nouveaux messages, en gardant leur flux visibles à l'écran, voire en étant notifié

instantanément par des pop-ups. De plus, 62% des participants avouent lire la majorité des messages qu'ils reçoivent. La distraction occasionnée par ces notifications peut réduire fortement leur performance sur leur tache principale [13], d'autant plus que rares sont les messages ayant un rapport direct avec cette tache. Il est important que les utilisateurs puissent contrôler leur degré d'interruptibilité en fonction du contexte [14].

4) **Un besoin de filtrage:** Alors que 78% des participants n'utilise aucun mécanisme de filtrage des messages qu'ils reçoivent, plus de la moitié d'entre eux souhaiteraient bénéficier d'un tel mécanisme. Outre les besoins reconnus de filtrage par type de message (entre actualités, messages professionnels, privés, etc...), 36% des participants aimeraient que les messages qu'ils reçoivent soient filtrés en fonction de leur activité courante, ce qui n'est pas directement faisable par les systèmes de micro-blogging tels qu'ils sont actuellement implémentés. Relativement faible, cette dernière proportion peut-être expliquée par la peur de rater un message intéressant, ou par manque de confiance envers l'intelligence du mécanisme de filtrage employé, tel que l'ont observé Iqbal & Horvitz. Cependant un tel mécanisme sachant exploiter des données sur leur contexte d'activité pourrait aider à réduire la distraction causée par des notifications trop fréquentes de messages non pertinents avec la tache courante [15].

## H. Pistes d'amélioration et conclusion

Dans cette première section d'état de l'art, nous avons présenté les fonctionnalités proposées par la plupart des réseaux sociaux actuels, les usages constatés et étudié leur impact cognitif. De plus en plus utilisés par des solutions destinées aux entreprises, les mécanismes de diffusion et d'interaction apportés par les réseaux sociaux montrent un potentiel important pour améliorer la diffusion de connaissances et la collaboration entre professionnels, y compris au sein d'une même entreprise. Toutefois, le temps nécessaire pour maintenir manuellement un réseau, ainsi que les distractions occasionnées par la réception instantanée de trop nombreux messages sont un frein à leur adoption, par crainte d'une baisse de productivité.

Sur la base du sondage que nous avons mené, et de références en psychologie cognitive, nous avons identifié une piste d'amélioration de ces outils qui permettrait de profiter des flux de messages sociaux, tout en réduisant la perte de temps occasionnée par la lecture de messages trop souvent peu en rapport avec l'activité courante des utilisateurs. Elle consiste à développer un mécanisme de filtrage qui exploiterait des connaissances sur le contexte des utilisateurs pour ne notifier que les messages les plus pertinents.

## III. GESTION D'INFORMATIONS DANS LES SYSTÈMES COLLABORATIFS

Dans la section précédente, nous avons étudié l'intérêt des réseaux sociaux pour maintenir et enrichir des connexions entre personnes à des échelles supérieures à nos capacités cognitives naturelles. Dans cette section, nous allons étudier
cette problématique telle qu'elle est traitée dans le travaux de recherche sur la collaboration informatisée (CSCW), et identifier des techniques permettant de réduire la surcharge informationnelle causée par ces réseaux.

## A. Systèmes de collaboration informatisée

Initialement défini par Dourish & Bellotti dans le cadre de travaux sur des outils de collaboration informatés (CSCW), le concept d'**awareness** (parfois traduit en français sous le terme de conscientisation) consiste à procurer une perception des activités d'autres personnes de manière à mieux contextualiser sa propre activité. A condition que les collaborateurs acceptent de partager entre eux des informations sur leurs taches et d'annoter celles des autres, il est possible d'augmenter leur productivité en réduisant les taches redondantes [16]. Nous remarquons que le concept de newsfeed, tel que décrit dans la section précédente sur les réseaux sociaux, est en fait une application informelle de ce principe.

## B. Techniques de filtrage et recommandation

Notre objectif est de permettre une telle conscientisation à grande échelle, tout en réduisant de manière logicielle la charge induite par la lecture des informations partagées par les autres utilisateurs. Pour cela, deux types de mécanismes peuvent être mis en œuvre :

1) **Filtrage basé sur le contenu:** Ce type de filtrage permet de sélectionner des éléments pertinents en fonction de l'adéquation entre les caractéristiques de ces éléments et des critères attendus par l'utilisateur. De nombreux travaux utilisent cette technique pour sélectionner des documents pertinents en fonction de caractéristiques attendues par l'utilisateur. En 1997, Balabanovic décrit un système de recommandation de pages web où leur contenu est indexé par extraction statistique de mots-clés, et où le profil de l'utilisateur s'enrichit progressivement par notation manuelle de pertinence des recommandations [17]. Afin de réduire l'intervention manuelle de l'utilisateur, ce profil peut être généré dynamiquement en fonction ou de la caractérisation des documents actuellement ouverts par l'utilisateur [18]. Il est possible d'extraire des informations riches sur l'activité de l'utilisateur à partir des logiciels qu'il utilise [19]. Dans le cadre d'une expérimentation portant sur une application similaire, de meilleurs résultats de pertinence sont obtenus avec la méthode WordSieve d'extraction de mots-clés, qu'avec TF-IDF, classiquement utilisé dans les systèmes de recommandation basés sur le contenu [20]. Enrichie d'un mécanisme d'apprentissage, cette méthode prend en compte l'historique de l'utilisateur. Une technique aux avantages similaires est appliquée à des flux de messages agrégés à partir de blogs et réseaux sociaux sur l'application My6sense<fnref n="1" />. Outre la classification de contenus web, l'agrégation de données contextuelles à partir de plusieurs sources de données a été explorée dans le but de rappeler des notes à son auteur au moment le plus opportun [21].

2) **Filtrage collaboratif:** Contrairement aux techniques de filtrage basées sur le contenu, le filtrage collaboratif s'appuie seulement sur les liens entre des personnes et des éléments qui peuvent être recommandés à d'autres personnes. Le filtrage élément-élément consiste à trouver des utilisateurs liés avec un maximum d'éléments en commun, de manière à leur recommander les éléments qui leur manque. De la même façon, il est possible de recommander des personnes [22]. Si l'on considère que les signets web (bookmarks) d'une personne caractérise ses centres d'intérêts, il devient alors possible de recommander des personnes pertinentes par centre d'intérêt. Pour cela, Agosto regroupe les signets d'une personne par catégorie [23], en exploitant la taxonomie hiérarchique de l'annuaire Open Directory Project<fnref n="2" />. S'inspirant des principes sociologiques de l'Actor-Network Theory, Delalonde décrit un système de mise en relation basé sur les traces d'activités des utilisateurs [24]. Dans son approche, les utilisateurs caractérisent eux-même leurs données à l'aide de mots-clés. Toutefois, le vocabulaire prédéfini de 250 mots-clés s'est finalement montré trop contraignant auprès des utilisateurs invités à évaluer le système. Avec l'essor du web participatif, les tags – ces mots-clés associés librement par des milliers d'utilisateurs sur des contenus web – sont devenus un moyen puissant de caractériser les documents et les personnes dans le cadre de systèmes de recherche d'information [25], et de recommandation [26]. Cependant, sachant que seule une minorité de documents sont annotés sur des services de partage de signets comme Delicious<fnref n="3" />, il n'est pas raisonnable de se contenter de cette seule source de méta-données [27].

Afin de bénéficier des avantages des deux méthodes de filtrage – la pertinence élevée du filtrage collaboratif à la généricité de l'analyse de contenu – Pazzani évoque la possibilité de les hybrider pour concevoir des systèmes de recommandation collaboratifs via le contenu [28].

## C. Modèles de contenu et techniques d'extraction

Il existe deux courants majoritaires pour analyser et indexer du contenu de manière à pouvoir le recommander : le premier se base sur des mots en langage naturel – qu'ils soient ou pas tirés du contenu –, et le second consiste à identifier des entités sémantiques représentées dans le contenu.

1) **Modèles basés sur les mots-clés:** Plus haut, nous avons vu que plusieurs projets adoptent la méthode TF-IDF. Elle consiste à représenter un document sous forme de vecteur de mots-clés pondérés, en fonction de leur fréquence d'apparition dans le contenu, et de leur fréquence inverse d'apparition dans l'ensemble des documents considérés [29]. Afin d'améliorer les résultats de fréquence, il est aussi courant de réduire ces mots sous leur forme la plus simple, en retirant les pluriels et autres suffixes d'accords, ainsi qu'en réduisant les verbes conjugués sous leur forme infinitive. Certains algorithmes combinent de telles techniques statistiques et linguistiques à des techniques d'apprentissage permettant d'associer de mots

<footnote n="1">1. http://www.my6sense.com/</footnote>

<footnote n="2">2. http://www.dmoz.org/</footnote>

<footnote n="3">3. http://delicious.com/</footnote>
à des termes plus généraux décrits dans une taxonomie, c'est le cas du module logiciel KEA<fnref n="4" />. Cependant il est aussi possible d'obtenir des mots-clés descriptifs à partir d'annotations associées au contenu, sachant que cette pratique d'annotation est très courante sur Internet [30]. Malgré le manque de structure et l'ambiguïté sémantique des tags fournis par les internautes (ex. grâce à des sites comme Delicious), leur quantité permet de décrire les documents de manière très large et selon différents points de vue, et même de décrire des entités et événements du monde réel.

2) Modèles sémantiques: Basés sur la définition de concepts dans des ontologies, les modèles sémantiques explicitent le sens de manière formelle, de manière à ce que des systèmes automatiques puissent raisonner sur des bases de connaissances. Alors que de telles bases de connaissances sémantiques sont constituées en traduisant des référentiels sûrs (ex. DBpedia<fnref n="5" />, une traduction sémantique de Wikipedia<fnref n="6" />, et the WordNet lexical database<fnref n="7" />), plusieurs services permettent de bénéficier d'une telle traduction automatique en fournissant du contenu en langage naturel : Semantic Proxy<fnref n="8" />, tagthe.net<fnref n="9" /> et AlchemyAPI<fnref n="10" />, pour les retourner sous forme de triplets au format RDF. La sémantique peut aussi émerger à partir d'un vecteur de mots-clés pondérés (ex. tags) [31]. Dans tous les cas, l'utilisation de modèles sémantiques impose la création et la maintenance d'ontologies à jour, et couvrant tous les sens nécessaires, sans quoi certaines annotations peuvent ne pas être représentées.

### D. Pistes d'optimisation

Les systèmes basés sur des modèles vectoriels de mots-clés nécessitent souvent un espace de représentation de dimension élevée, ce qui réduit les performances des calculs de similitudes, critiques dans les systèmes de filtrage et recommandation. Pour réduire cette dimension, il est possible de recourir à des techniques de statistiques incrémentales au lieu de TF-IDF [32], d'unifier les mots ayant une sémantique proche [33][34]. Cette dernière technique permet effectivement d'améliorer la performance d'un système de recommandation basé sur les tags [35], mais nécessite une phase d'apprentissage.

### E. Conclusion

Dans cette section, nous avons introduit les fondements des systèmes de collaboration informatisés, identifié des techniques de filtrage permettant d'automatiser la sélection de documents et de personnes pertinentes dans de tels systèmes, et comparé plusieurs modèles de représentation de données. En particulier, le filtrage collaboratif via le contenu semble être la meilleure méthode pour augmenter le ratio signal-bruit dans le système que nous développons. De manière

<figure><img src="image_10.png" /><figcaption>FIGURE 3. Un message social et une réponse mentionnant l'auteur, sur Twitter</figcaption></figure>

à pouvoir profiter de l'annotation participative (tags) et de l'émergence spontanée de sens sur les réseaux sociaux (ex. hashtags, sur Twitter), un modèle vectoriel de données est le plus approprié pour décrire des activités et des contextes utilisateur de manière ouverte.

## IV. EXTRACTION ET MODÉLISATION DE DONNÉES DE CONTEXTE

Afin d'augmenter le ratio signal-bruit dans les applications de communication médiatisée, le contexte des utilisateurs a été identifié comme un bon critère de filtrage. Dans cette section, nous étudions l'exploitation de données de contexte utilisateur au sein d'applications informatiques, puis nous définissons plus en détails trois types de capteurs de contexte : physique, virtuel et social.

### A. Systèmes de gestion de contexte

Les systèmes de gestion de contexte permettent de collecter et d'interpréter (cf Figure 3) de manière centralisée des données sur le contexte de l'utilisateur, afin que plusieurs applications puissent adapter leur fonctionnement en accord avec sa situation et les contraintes qui y sont éventuellement associées. Depuis son introduction par Schilit en 1994 [1], cette discipline de recherche en gestion d'informations a beaucoup évolué, et a accouché de nombreuses problématiques que nous allons aborder ici.

1) *Premiers systèmes de gestion de contexte:* Les premières applications sensibles au contexte étaient implémentées de manière à supporter certains types spécifiques de capteurs seulement. Malgré la similarité fonctionnelle de la plupart capteurs – en particulier, les capteurs de positionnement, – il n'y avait aucune réutilisation du code source permettant d'exploiter ces capteurs, ni moyen de fédérer les informations produites et induites au bénéfice de plusieurs applications. En 2000, Dey conçut alors le Context Toolkit, un

<footnote n="4">4. http://www.nzdl.org.org/Kea/</footnote>

<footnote n="5">5. http://dbpedia.org/</footnote>

<footnote n="6">6. http://www.wikipedia.org/</footnote>

<footnote n="7">7. http://wordnet.princeton.edu/</footnote>

<footnote n="8">8. http://semanticproxy.com/</footnote>

<footnote n="9">9. http://tagthe.net/</footnote>

<footnote n="10">10. http://www.alchemyapi.com/</footnote>
<figure><img src="image_11.png" /><figcaption>FIGURE 4. Le système CoBrA</figcaption></figure>

cadre logiciel modulaire séparant les modules de gestion de
contexte (capture, interprétation et stockage) des applications,
afin de pouvoir les réutiliser dans d'autres applications, et
de simplifier le développement de ces dernières [36]. Gu
proposa ensuite les fonctionnalités attendues d'un système de
gestion de contexte : acquisition de données de contexte à
partir de capteurs variés (physiques et virtuels), interprétation
de données contextuelles, distribution robuste et efficace de
données de contexte aux applications qui l'ont demandé, et
mise à disposition de modèles de programmation pour aider
le développement d'applications [37].

2) *Gestion sémantique du contexte:* Les ontologies sont alors devenues la représentation de données la plus courante dans les systèmes de gestion de contexte [38][39], bénéficiant des capacités d'inférence et de raisonnement apportées par les langages de logiques de description (ex. OWL-DL) et de règles (ex. F-Logic) [40]. Se développe alors le système CoBrA (pour Context Broker Architecture) supportant de nombreux capteurs [41] (cf Figure 4), mais dont les données sémantiques doivent subir une traduction pour que les règles d'inférences puissent être appliquées. Néanmoins, l'ontologie SOUPA sur laquelle repose CoBrA, et liée à d'autres ontologies pré-existantes, a été adoptée par d'autres systèmes de gestion de contexte. L'un de ces systèmes, MOGATU ajoute la composante BDI permettant d'orienter le raisonnement en fonction de souhaits et buts de l'utilisateur [42].

3) *Incertitude et qualité de contexte:* Avec le système GAIA, le raisonnement probabiliste et en logique floue sont expérimentés dans le but de mieux s'adapter aux contextes incertains [43]. Dans SOCAM [37] (dont l'ontologie de contexte CONON est représentée en Figure 5) et KMF [44], de nouvelles propriétés permettent d'expliciter le degré de confiance, la fraîcheur et l'origine de chaque donnée de contexte, pouvant alors être capturée, définie, agrégée, ou déduite. Malgré la nécessité de prendre en compte des contextes incertains ou flous, une évaluation met en évidence le fait que la gestion sémantique du contexte pose un sérieux problème de complexité algorithmique rendant difficile le passage à l'échelle [45].

4) *Passage à l'échelle:* En réponse aux problèmes de complexité algorithmique induits par l'utilisation massive de

modèles sémantiques pour gérer les données de contexte, Tan propose d'exécuter les tâches de raisonnement dès la réception de nouvelles données de contexte, au lieu de les traiter à la demande [46]. D'autres systèmes, quant à eux, proposent une solution hybride répartissant de manière optimale les données de contexte entre une base relationnelle et une base sémantique, de manière à réduire la dimension de la base de connaissances, et donc la complexité des processus de raisonnement [47][48].

5) *Maintien de la vie privée:* Sachant que les systèmes de gestion de contexte ont pour vocation la collecte de données de contexte sur leurs utilisateurs, des mesures doivent être prises pour garantir à ceux-ci que ces données privées ne seront pas compromises. Alors que Context Toolkit se contente de sécuriser l'accès aux données par capteur [36], la plupart de ses successeurs ont prévu des règles de permissions plus complexes pour modérer la circulation de données privées. Cependant, il est difficile d'imaginer un utilisateur final personneliser ces règles dans un système où les applications ne sont pas définies à l'avance. L'utilisateur est en fait contraint à faire confiance aux règles telles qu'elles ont été définies dans ces systèmes, sachant que les données de contextes lui sont cachées et donc non contrôlables, tel que le rapporte Dourish [49]. Ce dernier dénonce la perte de contrôle imposée aux utilisateurs, conséquence de la volonté de rendre ces systèmes invisibles.

6) *Exploitation pragmatique du contexte:* Depuis 2008, l'accès à la géolocalisation se généralise grâce aux interfaces logicielles fournies par Google (via leur interface web, et sur leur système d'exploitation Android, pour téléphones et autres plateformes mobiles), Yahoo! (Fire Eagle) et Apple (sur l'iPhone). De nombreuses applications exploitant ces données sont alors adoptées par des millions d'utilisateurs, sans pour autant reposer sur des systèmes de gestion de contexte complexes tels que ceux présentés plus haut. Le site Pachube ¹¹, quant à lui, s'inspire de ces systèmes pour proposer une plateforme collaborative de gestion de contexte basée sur un modèle de données et de règles simplifié. Il permet

<figure><img src="image_12.png" /><figcaption>FIGURE 5. Ontologie de contexte CONON, utilisée dans SOCAM</figcaption></figure>
ainsi aux utilisateurs de soumettre des flux de données issues de leurs capteurs, et d'exploiter ces données (possiblement combinées avec d'autres données, selon la pratique du mash-up de services web) pour actionner des appareils ou autres services web. Dénuées de sémantique et pourtant adoptées massivement par le grand public, toutes ces interfaces valident la thèse de Bolchini selon laquelle la volonté de créer des systèmes génériques – en utilisant notamment des modèles sémantiques – n'est pas une solution pragmatique pour proposer des applications utiles et utilisables [50].

7) *Conclusion et pistes*: Nous avons vu dans cette section que, séduits par l'interopérabilité et les capacités de raisonnement permises par les modèles sémantiques, la plupart des systèmes de gestion de contexte présentés s'avèrent trop complexes pour permettre le passage à l'échelle. De plus, la volonté de rendre ces systèmes transparents pour l'utilisateur implique une inquiétude quant à l'exploitation des données privées qui y transitent. L'apparition d'interfaces web et mobiles de géolocalisation – voire de partage de données de capteur au sens plus large – ont finalement triomphé auprès du grand public, par leur simplicité. Dans un web où les flux de données se multiplient et se combinent au gré des internautes, le nouveau challenge n'est pas de créer des systèmes de gestion de contexte génériques entre capteurs et applications, mais de savoir extraire et exploiter les données de contexte produites par des millions de personnes au travers de leurs flux sociaux.

## B. Capteurs physiques : géolocalisation

Répartis dans notre environnement ou embarqués dans nos appareils mobiles, les capteurs physiques nous permettent d'identifier et de mesurer certaines de caractéristiques de notre environnement telles que la position géographique, la température, la luminosité ou l'ambiance sonore. Dans cette section, nous étudions en particulier l'utilisation de capteurs variés pour déterminer la localisation géographique d'une entité.

1) *Modélisation d'une position géographique:* Elle peut être représentée selon des repères physiques ou symboliques. Le modèle physique consiste à référencer une position à l'aide de sa latitude, longitude et altitude, afin de la situer de manière absolue sur le globe terrestre. Une position se représente alors sous forme de trois valeurs décimales, et éventuellement d'un rayon de précision. Le modèle symbolique, quant à lui, s'appuie sur des relations structurelles de nature politique (ex. pays, ville), architecturelle (ex. bâtiment, étage), ou subjective (ex. chez moi). La représentation symbolique est plus libre : utilisation de taxonomies, ontologies, voire de mots en langage naturel. Le passage d'une représentation à une autre est assuré par de nombreux services web dont Google Geocoding API<fnref n="12" />.

2) *Localisation par satellite:* Le satellite est l'un des moyens de localisation les plus précis, du moment que le signal entre les satellites et le terminal n'est pas perturbé par des obstacles. Alors que le système de positionnement

satellitaire GPS est couramment utilisé dans les appareils de navigation grand public pour automobilistes, et même dans les téléphones portables, cette contrainte rend leur utilisation impossible ou très difficile à l'intérieur des bâtiments. Un récepteur GPS fournit la position sous forme physique absolue (latitude, longitude et altitude), ainsi que d'autres valeurs telles que l'heure universelle, la vitesse, la direction ainsi que des indicateurs de précision.

3) *Localisation par antennes:* Plusieurs technologies de connexion sans fils (ex. Wi-Fi, Bluetooth, NFC) peuvent permettre à un récepteur de se localiser par triangulation, à condition qu'il soit à portée d'une ou plusieurs antennes dont l'emplacement géographique est connu. Sur les téléphones mobiles GSM, en quasi-permanence connectés à une ou plusieurs antennes, ce mécanisme de localisation a l'avantage de consommer moins de batterie que le GPS, mais montre une précision plus faible.

4) *Localisation collaborative:* Sachant que certains terminaux mobiles sont équipés de plusieurs interfaces sans-fil permettant la géolocalisation, il devient possible de créer collaborativement un référentiel d'antennes localisées. En effet, toute personne proche d'une antenne GSM ou Wi-Fi, et géolocalisée précisément par satellite, peut aider à déterminer la position géographique de cette antenne. Ainsi, d'autres personnes ne bénéficiant pas d'une localisation précise (ex. par satellite), peuvent tout de même bénéficier d'une localisation approximative, celle des antennes auxquelles elles sont connectées. Le produit VirtualGPS de Navizon<fnref n="13" />, ainsi que ContextWatcher [51] exploitent cette technique.

## C. Capteurs virtuels

Dans le cadre d'une activité informatisée, des données de contexte sur cette activité de l'utilisateur peuvent être extraites à partir des logiciels qu'il utilise [19].

1) *Le contenu ou sujet de documents web:* Les pages web en cours de visualisation peuvent être analysées par une extension du navigateur, ou par la capture du flux réseau induit par son chargement (ex. via un proxy). Des services web comme Delicious<fnref n="14" /> permettent d'accéder à des méta-données descriptives fournies par leur utilisateurs sur ces pages web. Par ailleurs, certains événements (ex. la soumission d'une réponse sur un forum) peuvent être interceptés après avoir souscrit à un flux RSS correspondant.

2) *Le contenu ou sujet d'un document local:* De manière similaire, le contenu d'un document consulté ou édité locale-ment peut fournir de précieux indices concernant le contexte d'activité de l'utilisateur. Pour accéder à ce contenu, certaines applications comme Microsoft Office proposent des interfaces logicielles pouvant être exploitées [18]. Sinon, il reste possible d'identifier quels fichiers sont actuellement ouverts sur le système, et d'extraire dans un processus séparé le contenu de ces fichiers.

<footnote n="12">12. http://code.google.com/apis/maps/documentation/geocoding/</footnote>

<footnote n="13">13. http://www.navizon.com/</footnote>

<footnote n="14">14. http://delicious.com/</footnote>
3) *Détection de problèmes:* Les difficultés que rencontrent éventuellement un développeur peuvent-être identifiées à partir de plateformes comme Eclipse ou Microsoft Visual Studio. Par exemple, des tentatives fréquentes de compilation peuvent être rapportées de manière automatique pour proposer l'aide d'un collègue au développeur [52].

4) Mesure de présence: La présence et le niveau de stress d'un utilisateur peut être estimé à partir de l'analyse des mouvements de souris, des saisies au clavier, du l'activation du mode veille et des fermetures/ouvertures de session.

D. Capteurs sociaux

Grâce à son ouverture aux contenus et annotations des internautes, que ce soit sur des ressources web ou des entités du monde réel, le web est un environnement collaboratif dans lequel il devient possible de capter des données de contexte. Malgré leur qualité inégale, ces contributions, lorsqu'elles sont en quantité suffisante, permettent de décrire des ressources de manière plus humaine que les méthodes automatique, en profitant de plusieurs points de vue.

1) Référentiels collaboratifs: Lancé en 2001, Wikipedia est l'un des premiers sites web participatifs, invitant tous les internautes à constituer ensemble une encyclopédie en partant de rien. Cette encyclopédie en ligne peut-être aujourd'hui utilisée comme référentiel de connaissances sémantiques, grâce à DBpedia<fnref n="15" />. Alors que la proportion de contributeurs par rapport aux visiteurs de ce genre de site est très faible – de l'ordre de 1% – la pratique d'annotation participative (tagging) est devenue plus populaire, grâce au site de partage de signets web Delicious<fnref n="16" />. En effet, la saisie libre de mots-clés sur un signet est plus simple, plus rapide, plus utile et plus personnelle que la contribution à un article de Wikipedia. Ces annotations ainsi apportées collaborativement permettent de refléter de manière subjective la nature, la fonction, la catégorie et le contexte des ressources correspondantes [53][54].

2) Annotation d'entités du monde réel: Avec la popularité croissante de sites de documentation et de recommandation, de plus en plus d'entités du monde réel sont représentées et annotées sur le web : personnes, lieux, évènements, objets... Par exemple, il est possible pour une machine de reconnaître visuellement une personne, un lieu, voire d'identifier l'émergence d'un événement grâce au partage de photos géolocalisées et annotées par les utilisateurs du service Flickr [55]. Les lieux d'intérêts (ex. sites touristiques) sont décrits, commentés, critiqués par les visiteurs sur des sites (et applications mobiles) comme Yelp<fnref n="17" />, Qype<fnref n="18" /> et DisMoiOu<fnref n="19" />. Les évènements sont explicitement annoncés et décrits sur des sites comme MySpace<fnref n="20" />, Facebook<fnref n="21" />, Taweet<fnref n="22" />, voire

les agenda partagés comme Google Agenda<fnref n="23" />. Les activités planifiées, telles que les prochains voyages, sont annoncées sur des sites comme Plancast<fnref n="24" />, Tripit<fnref n="25" /> et Dopplr<fnref n="26" />. Il est même possible pour une machine de reconnaître une musique écoutée par l'utilisateur, grâce aux services Musicbrainz<fnref n="27" /> et Shazam<fnref n="28" />. La plupart de ces services proposent des flux RSS permettant de suivre les activités de leurs utilisateurs, et/ou des interfaces logicielles permettant d'accéder aux données de leur référentiel.

3) Le capteur internaute: Grâce à la pratique croissante du micro-blogging (ex. Twitter<fnref n="29" />) et à leur ouverture (en terme d'accès aux informations), il est devenu aisé d'obtenir en temps-réel des données récentes sur des entités et sujets variés. En particulier, 41% des messages diffusés sur Twitter reflètent l'activité actuelle de leur auteur [9], et ce nombre atteint 51% en mobilité. Grâce à la facilité de diffusion à partir des téléphones mobiles, les utilisateurs sont de plus en plus tentés d'écrire à propos de ce qu'ils sont en train de vivre, les faits desquels ils sont témoins. Depuis qu'il est possible d'ajouter à chaque message la localisation géographique depuis laquelle il a été diffusé, ce genre de messages géolocalisés permet d'identifier des évènements, des situations locales, mieux que ne le feraient un capteur physique. L'internaute social devient alors un capteur à part entière.

E. Conclusions de l'état de l'art

Dans cet état de l'art en trois parties, nous avons observé que le suivi de personnes et de sujets sur des systèmes collaboratifs et sociaux était une activité couteuse en temps et en attention. Outre le temps nécessaire à la diffusion de messages, le nombre de message à lire augmente proportionnellement au nombre de personnes et sujets suivis, et la distraction occasionnée par les notifications intempestives de nouveaux messages réduisent l'attention de l'utilisateur sur son activité principale. Le besoin d'un support logiciel pour aider à réduire ces couts a été confirmé par les utilisateurs.

Nous avons vu que la connaissance du contexte d'un utilisateur est primordiale pour évaluer la pertinence de messages qui vont potentiellement l'interrompre. Sachant que, dans le cadre d'une activité informatisée, des données de contexte peuvent être tirées des documents et applications logicielles utilisées par l'utilisateur, une caractérisation du contenu associé est importante. C'est pourquoi nous avons décidé d'appliquer une méthode de filtrage collaboratif via le contenu, sur les flux de messages afin de ne notifier que les plus pertinents. Une représentation sous forme de mots-clés en langage naturel (tags) a été retenue, de manière à pouvoir profiter de plus nombreuses sources de données contextuelles, trop peu souvent décrites sous forme sémantique, et sachant qu'il est possible de faire émerger la sémantique à partir de jeux de mots-clés.

<footnote n="15">15. http://dbpedia.org/</footnote>

<footnote n="16">16. http://delicious.com/</footnote>

<footnote n="17">17. http://www.yelp.com/</footnote>

<footnote n="18">18. http://www.qype.com/</footnote>

<footnote n="19">19. http://www.dismoiou.fr/</footnote>

<footnote n="20">20. http://www.myspace.com/</footnote>

<footnote n="21">21. http://www.facebook.com/</footnote>

<footnote n="22">22. http://taweet.com/</footnote>

<footnote n="23">23. http://www.google.com/calendar/</footnote>

<footnote n="24">24. http://plancast.com/</footnote>

<footnote n="25">25. http://www.tripit.com/</footnote>

<footnote n="26">26. http://www.dopplr.com/</footnote>

<footnote n="27">27. http://musicbrainz.org/</footnote>

<footnote n="28">28. http://www.shazam.com/</footnote>

<footnote n="29">29. http://www.twitter.com/</footnote>
Enfin, dans notre analyse des systèmes de gestion de contexte, nous avons confirmé que la gestion de contexte sous forme sémantique pose des problèmes de passage à l'échelle. De plus, les systèmes de gestion de contexte trop génériques et pro-actifs font perdre le contrôle des utilisateurs sur l'exploitation de leurs propres données privées (ex. localisation), impliquant un rejet de leur part. Trois types de capteurs de contexte ont été définis :

- les capteurs physiques extraient de l'information échantillonnée à partir d'un environnement physique, ex. localisation, température ;

- les capteurs virtuels synthétisent des données contextuelles à partir d'activités informatisées, ex. lecture/rédaction de documents ;

- les capteurs sociaux agrègent des données qui ont émergé collaborativement sur Internet, à partir de service web participatifs, ex. tags apportés par les utilisateurs de sites de partage de signets, de contenus, et de micro-blogging géolocalisé.

## V. ÉLABORATION DU CADRE DE GESTION DE CONTEXTES

Après avoir constaté l'amplification du problème de surcharge d'information sur les réseaux sociaux, la difficulté de caractériser le sujet et l'intention de l'utilisateur derrière chaque message, comparé plusieurs techniques de filtrage d'informations, et étudié comment exploiter des données de contexte sur les utilisateurs, nous allons élaborer un cadre permettant d'exploiter ces contextes pour filtrer les messages sociaux.

Dans cette section, nous allons définir le cadre conceptuel et logiciel de gestion de contextes. Dans la section suivante, nous développerons une application sociale basée sur ce cadre.

### A. Problématique

Afin de réduire le cout lié à la distraction de l'utilisateur causée par la notification instantanée de messages sociaux, nous proposons de notifier seulement les messages jugés comme étant les plus pertinents par rapport à son contexte d'activité actuel. Nous allons donc modéliser un système de filtrage de données dans lequel les éléments sont des messages sociaux, et la critère de sélection sera basé sur la similarité de contextes entre chaque producteur et consommateur de ces messages.

1. Hypothèse: Un message est pertinent pour un utilisateur si le contexte dans lequel il sera reçu est similaire au contexte de l'utilisateur qui l'a émis, au moment où il l'a émis.

2. Questions:

- Comment modéliser le contexte d'activité d'utilisateurs, de manière à pouvoir mesurer la pertinence de messages sociaux ?

- De quels capteurs peut-on extraire des données de contexte utiles en guise de critère de filtrage ?

- Sur quel types de messages sociaux le filtrage est-il le plus efficace ?

- Comment maintenir la vie privée des utilisateurs ?

java date sql util techiesabode
using table datetime mysql insert
developpez api com cast forum
programming reference en informatique

<caption>FIGURE 6. Un nuage de tags représentant un contexte d'activité</caption>

3. Contraintes:

- La qualité émerge de la quantité : En plus des capteurs physiques classiques, nous avons identifié les capteurs virtuels et sociaux comme des sources de données de contexte pertinentes pour notre système de filtrage. Or, contrairement aux capteurs physiques, ces derniers peuvent difficilement produire des données sémantiques, en particulier lorsque les données sont saisies par des humains. Nous proposons donc d'exploiter un format de représentation commun à tous ces types de capteurs.

- L'utilisateur doit être maitre de ses informations : Comme pour les messages envoyés à un réseau social, les données de contexte d'un utilisateur sont de nature privée, et la décision d'exploiter ou non ces données doit donc rester entre ses mains. Pour cela, nous proposons d'agréger les données de contexte sur l'équipement propre de l'utilisateur, sous forme compréhensible et manipulable, et de ne soumettre aucune donnée de contexte avant que l'utilisateur n'aie validé cet envoi.

### B. Approche

En accord avec les contraintes ci-dessus, nous proposons de représenter les données de contexte sous forme de mots pondérés en langage naturel. En effet, toutes les données de capteurs peuvent être représentées selon cette forme, et elle est directement visible et simplement modifiable par un utilisateur novice. Un contexte pourra alors être représenté à l'utilisateur sous forme d'un nuage de tags (cf fig. 6).

Les poids – représentés en jouant sur la taille des mots, tels qu'affichés aux utilisateurs – représenteront alors l'importance et la confiance accordés aux mots pour définir le contexte.

### C. Modélisation du contexte

A partir des capteurs étudiés dans la section précédente, nous définissons trois dimensions de contexte : activité, environnement et intentions de l'utilisateur. A défaut de définir des structures de données spécifiques, nous proposons ici une liste non exhaustive de caractéristiques qui pourraient intégrer un nuage de tags contextuel. En effet, la spécification de contextes et de règles prédéfinies restreindrait les cas d'usages possibles.

1. Activité de l'utilisateur: Les informations décrivant l'activité actuelle de l'utilisateur sont déterminantes pour mesurer l'impact de la réception de messages sociaux sur cette activité. Outre l'extraction de telles informations à partir de messages sociaux, voici quelques exemples :
- Le sujet et mots-clés de contenus en cours de consultation ou rédaction peuvent être extraits à partir des pages web et documents actuellement ouverts par l'utilisateur, à l'aide de capteurs virtuels (analyse de documents en local) ou sociaux (description participative de contenus publiés, ex. delicious).

- L'identification de contenus multimédia en cours de consultation (musique, vidéo) peut être assurée de manière similaire.

- La situation sociale (ex. en réunion, en discussion) peut être prévue grâce à des capteurs virtuels (calendrier de l'utilisateur, caractérisation d'un signal de microphone embarqué) ou sociaux (calendrier partagé).

- Une situation de déplacement peut être inférée à l'aide de capteurs virtuels (calendrier de l'utilisateur), sociaux (calendrier partagé), et/ou physique (mesure de vitesse et direction de déplacement).

2) **Environnement de l'utilisateur:** La connaissance de données sur la localisation, les personnes et les évènements environnants peut inciter les interlocuteurs potentiels à initier une communication, ou adapter leur discours :

- La localisation peut être extraite à partir de capteurs physiques (ex. GPS, antennes), représentée de manière textuelle à l'aide de services de geocoding, les lieux d'intérêt environnants peuvent être extraits depuis des référentiels web (ex. yelp, dismoiou), et les tags récupérés sur des sites de géotagging (ex. flickr).

- Les évènements en cours peuvent être extraits à partir de calendriers publics, mais aussi identifiés à partir de capteurs sociaux : contenus géolocalisés et partagés en temps réel (ex. photos, messages sociaux).

- Les personnes proches peuvent être identifiée par des capteurs physiques (ex. bluetooth) ou sociaux (contenus partagés par les deux personnes à un moment et position proches).

- La musique ambiante peut être reconnue par des services comme shazam.

- D'autres caractéristiques (bruit, foule) peuvent être inférées à partir de capteurs physiques (microphone, thermomètres, capteurs de présence), ou sociaux (quantité de messages sociaux au même moment et même localisation).

3) **Intentions de l'utilisateur:** Nous avons identifié l'intérêt des utilisateurs pour lire des messages sociaux en rapport avec leurs intentions et buts à plus long terme. En effet, les messages sociaux en rapport avec ces intentions ont valeur de conseil ou de recommandation dignes de confiance, car issues du réseau social de l'utilisateur. Actuellement, certaines de ces intentions peuvent être extraites :

- Prochaines destinations : à partir de calendriers, de services web de publication de déplacements (ex. tripit, dopplr), voire d'une combinaison de capteurs physiques et sociaux (reconnaitre un trajet en avion ou train en fonction de trajectoires partagées).

- Les goûts, préférences et souhaits d'une personne sont parfois manifestés explicitement via des messages sociaux, qui peuvent alors être analysés.

<figure><img src="image_13.png" /><figcaption>FIGURE 7. Critères de pertinence en fonction du temps</figcaption></figure>

### D. Modèle formel et algèbre

Conformément aux travaux de recherche d'information classiques [29], nous représentons un nuage de tags contextuel (assimilable à un profil instantané de l'utilisateur) sous forme d'un vecteur de termes pondérés : $v(d) = [w(t_1, d), w(t_2, d), ..., w(t_N, d)]$, pour chaque tag $t_N$, et $d$ représentant une source de contexte. Les opérateurs suivants sont alors définis pour permettre la manipulation de ces vecteurs :

- L'opérateur d'addition (+) entre deux vecteurs retourne un vecteur contenant l'ensemble des termes, dont le poids est la somme des poids de chacun de ces termes.

- L'opérateur $||v||$ consiste à normaliser les poids d'un vecteur $v$, de manière à ce que leur somme fasse 1.

- L'opérateur d'agrégation est une addition normalisée de plusieurs vecteurs normalisés :

$$aggr(V) = \left\| \sum_{t=1}^{M} ||v_t|| \right\|$$

- La fonction de similarité est basée sur la mesure cosinus. Entre deux vecteurs $R$ et $S$ :

$$sim(R, S) = \frac{R \cdot S}{||R|| \cdot ||S||}$$

Elle retourne un score de similarité décimal entre 0 et 1, 1 lorsque les vecteurs sont identiques.

### E. Mesure de pertinence

A partir des opportunités de filtrage identifiées plus haut, nous définisons un modèle de pertinence entre l'émetteur $U_S$ et un receveur potentiel $U_R$ d'un message social, selon quatre critères d'appariement temporels tels que représentés en Figure 7 :

1) **Recommandation basée sur les intérêts passés:** (en haut à gauche) Les intérêts du receveur sont conservés dans un profil agrégeant les tags contextuels passés, de manière à pouvoir recommander des messages en rapport avec ceux-ci.

2) **Filtrage basé sur les intérêts actuels:** (en haut à droite) Les messages récents sont filtrés en fonction de la similarité entre le contexte du receveur et de l'émetteur, créant alors des opportunités peu disruptives de collaboration immédiate.
<figure><img src="image_14.png" /><figcaption>FIGURE 8. Architecture du système, et boucle d'exécution</figcaption></figure>

3) **Recommandation basée sur les intérêts actuels:** (en bas à gauche) Des messages plus anciens sont recommandés lorsque le contexte de l'émetteur est similaire au contexte courant du receveur, permettant alors de proposer des solutions pertinentes (et un moyen de contacter leur auteur) par rapport à son contexte d'activité.

4) **Recommandation basée sur les intérêts futurs:** (en bas à droite) Si les intérêts futurs du receveur sont connus, des messages plus ou moins récents peuvent être recommandés par ordre de pertinence.

Dans le cadre de cette thèse, nous prenons en compte les contextes courants et passés, ce qui permet de réaliser les trois premiers critères. Nous définissons donc la fonction de pertinence suivante :

$$rel(S, R, P, \alpha) = sim(\|S\|, \|\alpha \cdot R + (1 - \alpha) \cdot P\|)$$

Pour chaque message social, la pertinence sera calculée entre l'émetteur dont le contexte courant est représenté par *S*, et le receveur dont le contexte courant est représenté par *R*. Les intérêts passés du receveur sont représentés par *P*, un vecteur agrégeant les tags des contextes précédents.

La variable décimale $\alpha$, définie dans l'intervalle $[0; 1]$ permet au receveur d'ajuster le poids de son contexte courant par rapport à celui de ses intérêts passés, en fonction de la nature des recommandations qu'il souhaite recevoir (cas 1 et 2). Une autre variable peut être proposée au receveur pour ajuster l'âge minimal ou maximal des messages qui lui seront proposés (cas 2 et 3), influant alors sur les valeurs de *S* qui seront évaluées par la fonction de pertinence.

## F. Conception du système

Conformément aux principes de programmation modulaire nécessaires pour permettre le développement séparé de sources de contexte et d'applications, nous avons conçu une architecture logicielle basée sur quatre modules, tels que représentés en Figure 8 :

1) **Sources de contexte (sniffers):** En charge de capturer des données brutes de contexte et de capturer les actions de l'utilisateur, chaque source de contexte doit fournir des nuages de tags contextuels (sous forme de vecteurs de termes pondérés) dès que le contexte de l'utilisateur a subi un changement, que ce changement soit provoqué par une action explicite de

l'utilisateur (ex. ouverture d'un nouveau document) ou pas (ex. changement de température ambiante).

2) **Aggrégateur de contexte (aggregator):** Ce module logiciel en exécution permanente sur le terminal de l'utilisateur reçoit les mises à jour de contexte provenant de chaque source afin de les agréger dans un nuage de tags contextuel représentant le contexte actuel de l'utilisateur, tel qu'il sera soumis au système de filtrage, à sa demande.

3) **Système de filtrage (filter):** Exécuté sur un serveur commun à tous les utilisateurs d'une même communauté, ce système reçoit et conserve les nuages de tags contextuels émis par chaque utilisateur, ainsi que les messages sociaux correspondants, de manière à leur proposer en retour une sélection de messages sociaux pertinents, grâce à la fonction de mesure de pertinence.

4) **Interface de notification (notifier):** Les messages sociaux proposés par le système de filtrage peuvent être transmis à l'utilisateur au travers de diverses interfaces : espace dédié sur un écran d'ordinateur, notification sur un terminal mobile etc... Ces interfaces doivent fournir une fonction permettant de contacter l'auteur d'un message, afin de permettre une éventuelle collaboration.

## G. Structures de données

Le système de filtrage repose sur trois types de structures de données :

- Le nuage de tags contextuel, composé d'un vecteur de termes pondérés, et de fonctions permettant la normalisation de ce vecteur.

- La mise à jour de contexte, une structure associant un nuage de tags contextuel à la source de contexte qui l'a émise, ainsi qu'à l'heure précise à laquelle il a été émis. Lorsqu'un message social a été émis dans ce contexte, il est référencé dans cette structure.

- La recommandation de message social, une structure associant un message social, son émetteur, à un score de pertinence calculé spécifiquement pour un receveur donné en fonction de la similarité de son contexte avec celle de l'émetteur.

Les classes correspondantes sont décrites précisément dans le manuscrit de thèse.

## H. Interfaces logicielles

Le module d'agrégation doit implémenter la méthode `onEvent()` de l'interface `IEventListener` afin de traiter les mises à jour de contexte émises par les sources de contexte. Dans notre implémentation de référence, ce module est matérialisé par un serveur HTTP exposant un point d'entrée `/event/` auquel la structure de mise à jour de contexte doit être soumise, après avoir été sérialisée au format JSON. Une classe est fournie pour faciliter cette soumission vers notre serveur.

Responsable de la gestion de contextes au sein du serveur de filtrage, la classe `ContextManager` propose trois types de souscriptions asynchrones :
<figure><img src="image_15.png" /><figcaption>FIGURE 9. Chaîne de recommandation pas à pas</figcaption></figure>

- `subscribeToEvents()` permet de signaler les mises à jour de contexte aux classes implémentant l'interface `IEventListener`.

- `subscribeToMatch()` permet de signaler les scores de similarités calculés entre les contextes de chaque utilisateur, à la suite d'une mise à jour, aux classes implémentant l'interface `IContextMatchHandler`.

- `subscribeToContext()` permet de signaler les changements de poids observés pour chaque tag issu d'une mise à jour récente de contexte, aux classes implémentant l'interface `IContextListener`.

Dans notre implémentation de référence, la classe `DwrGuiDispatcher` implémente l'interface `IContextMatchHandler`, de manière à afficher en temps réel les recommandations de messages sociaux sur page `Updates.html` (interface de notification), via la technologie DWR.

## I. Chaîne de recommandation pas à pas

Afin de permettre l'analyse expérimentale et reproductible de chaque étape du processus de filtrage, nous décrivons ici les modules logiciels indépendants à exécuter et les fichiers intermédiaires produits et exploités par ceux-ci, comme illustré en Figure 9.

1) **Enregistrement des actions de l'utilisateur:** Pendant la période de collecte des données, les activités de l'utilisateur sont enregistrées de manière transparente dans un fichier `Log` au format CSV. Dans le cadre de l'évaluation de notre système, les actions d'ouverture, de fermeture, et de changement de page web sont capturées à partir d'un navigateur web, en guise d'activités, et les URLs correspondantes sont listées dans un fichier texte.

2) **Extraction et archivage des méta-données:** Afin de constituer un contexte, les activités de l'utilisateur sont analysées, interprétées par des algorithmes et services web d'extraction de tags. Dans le cadre de l'évaluation de notre système, ceux-ci produisent des tags à partir de la localisation, du contenu, et des descriptions participatives associées à chaque URL (celles listées dans le fichier texte généré à l'étape précédente). Les vecteurs de tags ainsi produits pour chaque combinaison d URL et d'analyseur sont alors stockés dans un cache au format JSON.

3) **Indexation des contextes:** Sachant que les utilisateurs n'ont pas été invités à soumettre explicitement leur contexte pendant la période de collecte des données, il convient de simuler de telles soumissions de manière régulière et synchrone (pour tous les utilisateurs concernés) sur un axe temporel commun. En respect de la fréquence d'indexation fixée (ex. 10 minutes), chaque contexte est construit par agrégation des

vecteurs de tags correspondant à toutes les URLs ayant été concernées par une action de l'utilisateur pendant la même tranche temporelle. Un fichier JSON est alors généré pour chaque utilisateur, listant ces nuages de tags contextuels ainsi constitués pour chaque tranche temporelle.

4) **Indexation des messages sociaux:** De manière similaire à l'indexation des contextes, les messages sociaux émis par les utilisateurs pendant la période de collecte des données (feeds récupérés au format RSS) sont indexés sur l'axe temporel commun, pour produire un fichier JSON par utilisateur. A ce stade, il est alors possible de connaitre le contexte des utilisateurs lors de l'émission d'un message social, sachant que les contextes et les messages sociaux sont indexés sur le même axe temporel.

5) **Génération de rapports:** Parmi les sept scripts développés :

- *recommender* génère un rapport listant les scores de pertinence entre chaque message social et chaque contexte, à partir de fichiers d'index de contextes et de messages sociaux spécifiés.

- *genSurvey* génère un formulaire HTML personnalisé pour chaque utilisateur, à partir de leurs fichiers d'index. Pour chaque utilisateur, cinq contextes sont sélectionnés et représentés sous forme de nuages de tags. Pour chacun de ces contextes, trois messages sociaux émis par d'autres utilisateurs sont proposés, ayant différents scores de pertinence : élevé, moyen et faible. L'utilisateur est alors invité à noter la pertinence perçue de chaque message par rapport au contexte correspondant.

- *genCtxFeedReport* génère un formulaire HTML personnalisé à partir des fichiers d'index d'un utilisateur donné. Pour chaque message social émis par l'utilisateur, le nuage de tags contextuel de la période correspondante est représenté, et l'utilisateur est invité à évaluer la pertinence perçue entre ce message et son contexte.

## J. Conclusion

Dans cette section, nous avons spécifié un cadre conceptuel permettant de valider notre hypothèse sur le filtrage contextuel de messages sociaux. En accord avec les contraintes identifiées (ex. exploitation d'annotations participatives, contrôle des utilisateurs), nous avons conçu un modèle de données de contexte basé sur des tags, puis quatre critères de sélection de messages pertinents. Enfin nous avons décrit l'implémentation de ce cadre conceptuel.

## VI. APPLICATION À L'ENTREPRISE

Dans la section précédente, nous avons décrit un cadre de gestion de contexte basé sur des tags, ainsi qu'une méthodologie permettant de filtrer des messages sociaux en fonction de similarités de contextes. Dans cette section, nous proposons une application sociale d'entreprise reposant sur ce cadre, appelée 'Enterprise Contextual Notifier'. Cette application exploite la navigation web des utilisateurs pour constituer leur contexte d'activité.
## A. Étude de cas

Prenons le cas d'une entreprise dans laquelle des milliers d'employés travaillent sur des ordinateurs individuels. Répartis sur plusieurs sites et plusieurs pays, peu d'employés se connaissent et communiquent entre eux. La majorité des communications entre équipes repose sur la coordination et le transfert d'information opérés par des directeurs à différents niveaux hiérarchiques.

Nous proposons de créer un réseau social informatisé permettant à chaque employé de partager ses activités, et de consulter celles des autres, du moment qu'elles sont pertinentes avec les siennes. Le temps de maintenance de cet outil doit être négligeable, et les interruptions de taches doivent rester exceptionnelles. Cet outil doit permettre aux employés de partager leurs idées, activités en cours, intentions et questions; et de les aider à obtenir des réponses de collègues pertinents, afin de promouvoir une communication et collaboration transversale, outre les barrières hiérarchiques.

## B. Navigateur web en guise de capteur de contexte

Sachant que les employés travaillent sur des terminaux informatiques individuels, nous pouvons tirer des données de contexte à partir des logiciels qu'ils utilisent. En supposant que ces employés sont susceptibles de rechercher sur le web des informations en relation (au moins partiellement) avec leur activité en cours, nous allons considérer leur navigateur web comme un capteur de contexte. En application du cadre de gestion de contexte décrit dans la section précédente, nous définissons alors six moyens d'extraire des tags à partir de pages web :

1) **Méta-données de la page:** La fonction Metadata compte le nombre d'occurrences de chaque terme *t* en appliquant les coefficients α, β, et γ, selon la localisation de ce terme dans les méta-données de la page *d* :

$$w_1(t, d) = \alpha * |t \in T_d| + \beta * |t \in K_d| + \gamma * |t \in D_d|$$

où $|t \in T_d|$ est le nombre d'occurrences du terme *t* dans l'élément titre de la page *d*, $|t \in K_d|$ dans la liste de mots-clés, et $|t \in D_d|$ dans son texte de description. Dans le cadre de l'évaluation présentée plus bas, les paramètres suivants ont été utilisés : $\alpha = 50$, $\beta = 10$, et $\gamma = 1$.

2) **Mots-clés de recherche:** La fonction SearchQuery compte le nombre d'occurrences de chaque terme *t* dans une requête de recherche $Q_d$ dont la page *d* présente les résultats :

$$w_2(t, d) = |t \in Q_d|$$

Cette fonction reconnaît les requêtes formulées au moteur de recherche Google³⁰.

3) **Nom de domaine:** La fonction DomainNames considère en tant que termes les noms de domaine et de sous-domaine $N_d$ de l'URL de la page *d* :

$$w_3(t, d) = |t \in N_d|$$

<figure><img src="image_16.png" /><figcaption>FIGURE 10. Tags extraits à l'aide de quatre fonctions</figcaption></figure>

4) **Annotation collaborative:** La fonction SocialBookmarks compte le nombre de personnes qui ont publiquement annoté la page *d* en utilisant le tag *t* :

$$w_4(t, d) = \sum_{p \in P} tag(p, d, t)$$

où chaque personne *p* appartient au groupe *P* d'utilisateurs du service d'annotation, et où tag(*p*, *d*, *t*) vaut 1 si la personne *p* a annoté la page *d* en utilisant le tag *t*, sinon 0. Cette fonction repose sur l'exécution d'un service web exposé par le site d'annotation Delicious<fnref n="31" />.

5) **Analyse sémantique:** La fonction SemanticAnalyzer compte le nombre d'occurrences d'entités définies sémantiquement et représentées textuellement par le terme *t*, parmi celles identifiées dans la page *d* :

$$w_5(t, d) = |t \in R_d| \\ R_d = [\forall e \in E_d, repr(e)]$$

où repr(*e*) est la représentation textuelle de l'entité sémantique *e*, $R_d$ est la représentation textuelle des entités sémantiques $E_d$ trouvées dans la page *d*. Cette fonction repose sur l'exécution du service web SemanticProxy<fnref n="32" />.

6) **Synthèse de mots clés:** La fonction KeyphraseExtractor compte le nombre d'occurrences de chaque terme *t* de $K_d$, un ensemble de mots clés extraits du contenu de la page *d* :

$$w_6(t, d) = |t \in K_d|$$

Cette fonction utilise le module KEA, Keyphrase Extraction Algorithm [56].

## C. Tags extraits à partir de pages web

Sur la Figure 10, nous comparons la nature des tags extraits à partir d'une même page à l'aide de quatre fonctions :

- La fonction Metadata basée sur le code HTML met en avant les mots contenus dans le titre de la page, ce qui est représentatif du contenu de la page, dans le cas présenté ici.

- La fonction KeyphraseExtractor basée sur KEA renvoie des mots pertinents (ex. *firefox*, *xul*), assez descriptifs (ex. 'extension development'), mais parfois trop spécifiques (e.g. *ifest*, *EM*, *files*).

- La fonction SemanticAnalyser basée sur Semantic Proxy identifie des termes précis : *RDF*, *DTD*, *XML* et *XUL*

<footnote n="31">31. http://delicious.com/</footnote>

<footnote n="32">32. http://semanticproxy.opencalais.com/</footnote>
<figure><img src="image_17.png" /><figcaption>FIGURE 11. Architecture et cycle de filtrage de ECN</figcaption></figure>

sont en effet des noms de technologies employées dans
le contenu de la page. Des mots clés de poids plus faible
reflètent moins le sujet de la page.

- La fonction SocialBookmarks basée sur Delicious renvoie des mots-clés moins nombreux mais plus descriptifs, de poids plus variés, et une forte représentativité de mots assez généraux mais très pertinents : *firefox*, *extension*, *development*. Même les mots de poids plus faible représentent bien le sujet et l'utilité de la page : *programming*, *tutorial*, *xul*.

Les tags issus de la fonction SocialBookmarks semblent
particulièrement adaptés pour représenter le contexte d'un
utilisateur basé sur sa navigation web. Néanmoins, les autres
fonctions doivent être utilisées aussi, afin de couvrir les pages
non annotées sur Delicious, et de renforcer le poids des mots-
clés apparaissant dans les résultats de plusieurs fonctions.

D. *Implémentation de l'application*

L'application ECN a été implémentée en respectant une
architecture modulaire, représentée en Figure 11, et s'appuyant
sur le protocole HTTP pour communiquer entre elles :

1) *Firefox Sniffer*: L'unique capteur de contexte de ECN est une extension pour le navigateur web *Firefox*³³, développée en Javascript pour intercepter et transmettre à l'agrégateur les évènements d'ouverture, de fermeture et de changement de pages web.

2) *Context Aggregator*: Exécuté sur le poste de chaque
utilisateur, l'agrégateur est un serveur léger développé en
Java responsable de maintenir le nuage de tags contextuel de
l'utilisateur à partir des actions et mises à jour de contexte
soumises par les capteurs, de le rendre visible à l'utilisateur,
et de le soumettre au serveur de filtrage, à sa demande.
Dans notre implémentation, les six fonctions d'extraction et
de pondération de tags (telles que définies plus haut) sont
exécutées par l'agrégateur, à partir des URLs fournies par
l'extension Firefox.

3) *Contextual Filter*: Le serveur de filtrage est un serveur HTTP en Java responsable de recueillir les messages sociaux (à partir de flux RSS, ex. Twitter) et les nuages de tags

contextuels de chaque utilisateur, afin d'évaluer leur similarité,
et de recommander les messages sociaux aux utilisateurs pour
lesquels ils sont pertinents.

4) *Side-bar*: L'interface utilisateur d'ECN est générée en HTML par l'agrégateur, et affichée sous forme de barre latérale dans Firefox. Elle représente le nuage de tags contextuel de l'utilisateur, évoluant dynamiquement au gré de la navigation web de l'utilisateur. Un champ (appelé *tweet*) permet l'envoi d'un message social auquel sera attaché le nuage de tags contextuel. En dessous sont énumérés les messages sociaux recommandés par le serveur de filtrage, classés par ordre de pertinence décroissante. Sur la Figure 12, les messages sociaux des deux utilisateurs représentés, Adrien et John, leur sont mutuellement recommandés avec un score de pertinence de 35% car leur contexte de navigation est similaire.

<figure><img src="image_18.png" /><figcaption>FIGURE 12. Interface de ECN, vue par deux utilisateurs</figcaption></figure>

E. *Conclusion*

Dans cette section, nous avons proposé une application
sociale basée sur le cadre conceptuel décrit dans la section
précédente. Cette application de recommandation contextuelle
de messages sociaux repose sur 5 capteurs virtuels (Meta-
data, SemanticAnalyzer, SearchQuery, DomainNames, Key-
phraseExtractor) et 1 capteur social (SocialBookmarks), tous
basés sur la navigation web de l'utilisateur. Dans la section
suivante, nous allons utiliser cette application pour évaluer le
cadre conceptuel, dans le but de valider notre hypothèse.

VII. ÉVALUATION DU SYSTÈME

Sachant que l’évaluation d’un système de mise en relation
entre personnes doit être centrée sur les personnes et leurs ob-
jectifs propres [57], nous avons décidé d’obtenir des données
de volontaires sans leur imposer de contraintes, et de recueillir
leur satisfaction concernant des recommandations de messages
sociaux en fonctions de leurs propres contextes. Dans cette
section, nous décrivons le l’expérimentation qui a été menée
et présentons les résultats de quatre analyses :

- Qualité des nuages de tags contextuels perçue par les utilisateurs

- Pertinence de messages sociaux recommandés en fonction du contexte

- Pertinence de ses propres messages sociaux, par rapport à leur contexte d'émission

- Impact de l'origine des tags sur les scores de similarité contextuelle
<figure><img src="image_19.png" /><figcaption>FIGURE 13. Protocole expérimental</figcaption></figure>

<figure><img src="image_20.png" /><figcaption>FIGURE 14. Représentativité et volonté de partage</figcaption></figure>

## A. Cadre expérimental

Afin de vérifier notre hypothèse sur la pertinence de messages sociaux contextuellement recommandés, nous avons enregistré près de deux semaines de navigation web et de messages sociaux fournis par huit employés volontaires, exécuté nos algorithmes pour obtenir 1846 nuages de tags contextuels, et demandé aux volontaires de noter la pertinence perçue de résultats sélectionnés.

Sachant que le système n'a pas été évalué sous sa forme interactive, les participants ne voyaient pas leur nuage de tags contextuel, et ne pouvaient donc pas décider du partage de leur contexte au moment où ils le souhaitaient. Nous avons alors choisi de considérer des nuages de tags contextuels générés par tranches de 10 minutes de navigation, et d'indexer les messages sociaux émis par les participants en associant chacun d'eux au contexte de la tranche correspondante. Dans le cas où le contexte d'une de ces tranches est vide, c'est le contexte de la tranche précédente qui y est associé.

Chaque nuage de tags contextuel ainsi indexé a été nettoyé, de manière à ce que chaque tag ne contienne qu'un seul mot, et soit dépourvu de ponctuation et autres caractères spéciaux. De plus, les mots non descriptifs (ex. déterminants, pronoms, et autres mots de liaison) sont retirés, et seuls les 20 tags les plus pondérés sont conservés, avant de normaliser les vecteurs de tags ainsi nettoyés. Tel qu'illustré en Figure 6, un nuage de tags contextuel contient finalement plusieurs types de mots, potentiellement de langues variées, des combinaisons de mots et des acronymes.

Nous avons ensuite appliqué la fonction de similarité à toutes les combinaisons de contextes, afin de produire une matrice de pertinence entre tous les utilisateurs, et de générer deux types de questionnaires personnalisés (cf Figure 13) :

- Le premier propose à chaque participant une sélection de 5 contextes propres, afin d'évaluer leur représentation, et la qualité perçue de 3 recommandations (dont une jugée pertinente par la fonction de similarité contextuelle) par contexte,

- Le second propose à chaque participant la liste de ses propres messages sociaux associés au contexte de leur envoi, l'invitant ainsi à noter la pertinence de chaque message avec son contexte d'envoi.

## B. Description des données de contexte

Avant de rapporter les résultats de l'évaluation menée auprès des participants, nous fournissons quelques caractéristiques observées pendant l'agrégation des données de contexte. Sur un total de 14625 URLs uniques accédées par les participants :

- SemanticProxy a fourni des tags pour 5292 URLs,

- des tags ont été extraits à partir des noms de sous-domaine de 3979 URLs,

- des méta-données ont été extraites du code source HTML de 2898 URLs,

- les tags donnés par les utilisateurs de Delicious ont pu être exploités pour 1395 URLs,

- et des termes de recherche ont été récupérés à partir de 1050 URLs Google.

## C. Représentativité et volonté de partage

Afin d'évaluer la représentativité et la volonté de partage des nuages de tags contextuels, nous avons demandé à chaque participant de noter, pour cinq de leurs contextes et sur une échelle de 1 à 4, leur avis sur les quatre critères suivants :

- Lisibilité : *Ce nuage contient-il des mots en anglais et/ou en français ? Réponses proposées : 1 - aucun, 2 - quelques mots seulement, 3 - plusieurs, or 4 - tous sont des mots bien orthographiés.*

- Représentativité : *Ces mots reflètent-ils bien votre activité ? Réponses proposées : 1 - pas du tout, 2 - vaguement, 3 - assez bien, or 4 - complètement.*

- Confidentialité : *Avec qui seriez-vous prêt à partager ce nuage de tags contextuel ? Réponses proposées : 1 - personne, 2 - à une personne spécifique, 3 - à un cercle de personnes choisi (amis, famille, collègues), or 4 - à n'importe qui.*

- Partage dans l'entreprise : *Quel degré d'exploitation de vos contextes seriez-vous prêt à accepter en entreprise ? Réponses proposées : 1 - aucun, 2 - je les garderai pour moi, 3 - prêt à les partager à condition que ça m'aide, or 4 - je suis prêt à la diffuser en temps réel et de manière transparente.*

Tel que représenté en Figure 14, la lisibilité observée est de 3,05 (68,33%) en moyenne, et les notes individuelles sont assez homogènes. La représentativité moyenne est de 2,93 (64,17%). Certaines notes plus prononcées mettent en évidence l'impact du contexte sur ce type de représentation, et la qualité variable des tags extraits à partir des pages web. Ces résultats confirment que la visualisation de contexte sous forme de nuages de tags ne pose pas de problème aux utilisateurs.

Avec une note moyenne de 2,38 (45,83%), le rapport à la confidentialité révèle des résultats hétérogènes parmi les participants, en fonction des contextes. Avec une note moyenne de 2,25 (41,67%), la volonté de partage au sein de
<figure><img src="image_21.png" /><figcaption>FIGURE 15. Qualité des recommandations par participant</figcaption></figure>

l'entreprise n'est pas pour autant corrélée avec les résultats précédents : la majorité des participants souhaitent conserver ces contextes pour eux-seuls. Deux explications sont proposées : tous les participants ne sont pas familiers avec les pratiques de réseautage social en entreprise, et certains tags contextuels n'étaient pas en rapport avec le travail, sachant que dans notre cadre expérimental il ne leur était pas possible de modifier/retirer des tags.

## D. Pertinence contextuelle des messages recommandés

A présent, notre objectif est d'observer une corrélation entre les scores de pertinence estimés par le système et ceux perçus par les participants. Pour cela, certains messages recommandés aux participants étaient volontairement peu pertinents. Nous définissons alors une fonction de mesure de performance basée sur MAE (Mean Absolute Error) :

$$ accuracy = 1 - \sum_{q=1}^{Q} |sim(C_q, U_q) - rating(C_q, U_q)| $$

Pour chaque recommandation $q$, $sim(C_q, U_q)$ est le score de pertinence entre le contexte de l'utilisateur $U_q$ et celui de l'émetteur du message $C_q$. Alors que $rating(C_q, U_q)$ est la note de pertinence correspondante donnée par le participant. Ces scores, compris dans l'intervalle $[0; 1]$, sont représentés sous forme de pourcentages. Données dans l'intervalle $[1; 4]$, les notes de participants sont converties à l'aide de la fonction suivante :

$$ rating = \frac{(grade - 1)}{3} $$

Comme nous le voyons sur la Figure 15, la performance varie entre 56% et 84%, avec une moyenne de 72%.

Sur la Figure 16, nous observons que la distribution des notes de pertinences sur les 120 messages sociaux recommandés aux utilisateurs est proche de celles estimées par le système. Les notes moyennes-hautes (surtout la note 3) sont légèrement surestimées par le système, alors que des notes basses (en particulier la note 1) ont été données plus fréquemment par les participants.

Nous observons que 63% des scores de pertinence attendus ont une note de 1, et que 19% ont une note de 3. Cette répartition montre que les contextes similaires étaient peu fréquents dans notre expérimentation. En augmentant le

<figure><img src="image_22.png" /><figcaption>FIGURE 16. Distribution comparative des notes de pertinence</figcaption></figure>

<figure><img src="image_23.png" /><figcaption>FIGURE 17. Distribution des notes de pertinence par type de message social</figcaption></figure>

nombre de participants, plus de contextes similaires auraient pu être trouvés, améliorant ainsi la moyenne des scores.

## E. Lien des messages avec leur contexte d'envoi

Afin de montrer que les nuages de tags contextuels sont de bons profils pour recommander des messages sociaux, nous avons demandé aux participants de noter la pertinence de leurs propres messages (ex. statuts twitter et notifications de signets delicious) par rapport au contexte de leur envoi.

Sur les 59 messages sociaux émis par les participants pendant l'expérimentation, le score de pertinence moyen noté par leurs auteurs est de 50,3%. La Figure 17 montre que 54% de ces messages sont des statuts Twitter, et 29% sont des notifications de signets Delicious.

Nous observons que le taux de pertinence moyen varie en fonction de la nature de ces messages : 71% pour les notifications de signets Delicious, contre 38% seulement pour les statuts Twitter. Il est naturel qu'un signet de page web soit plus similaires à son contexte, car les annotations pré-existantes de cette page font partie du contexte au moment de la création du signet. Concernant les statuts, il a été prouvé que seuls 41% des statuts diffusés sur Twitter sont en rapport avec l'activité courante de son auteur [9], ce qui explique le score de pertinence correspondant que nous avons observé.

## F. Capteurs virtuels et sociaux, étude comparative

Les nuages de tags contextuels générés dans le cadre de cette évaluation viennent de deux types de capteurs :

- quatre capteurs virtuels : Metadata (Méta-données HTML), DomainNames (noms de domaines), et Search-Query (mots-clés de recherche Google);

- et un capteur social : SocialBookmarks (tags donnés par les utilisateurs de Delicious).
<figure><img src="image_24.png" /><figcaption>FIGURE 18. Distribution comparative de contextes similaires, par seuil de pertinence</figcaption></figure>

Afin de comparer l'efficacité des capteurs virtuels et sociaux pour recommander des messages sociaux contextuellement, nous étudions la distribution des scores de similarité entre des contextes à base de tags issus de SemanticProxy (en tant que capteur virtuel) et de Delicious (en tant que capteur social).

La Figure 18 représente la distribution du nombre de combinaisons de contexte dont la similarité dépasse le seuil de pertinence, affiché en abscisse. Trois courbes de distribution sont comparées : la première représente les contextes dont les tags sont issus de SemanticProxy, la deuxième représente les contextes dont les tags sont issus de Delicious, et la troisième représente les contextes agrégeant ces deux sources de tags.

Nous observons que le nombre de contextes similaires issus du capteur virtuel SemanticProxy est inférieur à ceux issus du capteur social Delicious, alors que les tags ont été extraits à partir de plus d'URLs grâce à SemanticProxy que Delicious. De plus, 31% des similarités induites par des tags issus de Delicious ont un score de pertinence supérieur à 0,1 (10%), contre 5% seulement pour SemanticProxy. Cet avantage de Delicious s'explique par une grande popularité de tags descriptifs plus généraux, alors que SemanticProxy tire des tags plus spécifiques à partir du contenu, et donc plus rares. L'agrégation de tags issus de capteurs virtuels et sociaux implique un score de pertinence supérieur à 0,1 dans 8% des cas, mais globalement inférieur à ceux obtenus avec Delicious utilisé seul.

Alors que notre capteur social basé sur Delicious augmente les scores de pertinence contextuelle entre utilisateurs par rapport aux capteur virtuels, leur agrégation est nécessaire pour garantir une couverture suffisante des pages web ouvertes par les utilisateurs, ainsi que pour inclure des tags plus spécifiques permettant un granularité plus fine des recommandations.

## G. Conclusions

Dans cette section, nous avons évalué l'application de notre cadre conceptuel de filtrage contextuel de messages sociaux, dans un environnement d'entreprise informatisée. Afin de valider notre hypothèse, nous avons réalisé une expérimentation et observé les résultats suivants :

- Nous obtenons une performance de 72% entre les scores prévus par la fonction de recommandation contextuelle

de messages sociaux, et les notes données par les participants, ce qui est significatif pour un système de recommandation.

- En revanche, les participants ont rapporté un lien de pertinence moyen (50%) entre leurs messages sociaux et leurs propres contextes correspondants. Plus faible que prévu, ce résultat est dû au fait que seulement 41% des messages sociaux issus de Twitter sont en rapport avec l'activité courante de son auteur, sachant que ce type de message représente 54% des messages produits pendant la période d'expérimentation.

- Concernant l'efficacité des capteurs sociaux par rapport aux capteurs virtuels plus classiques (basés sur le contenu), nous avons apprécié la capacité des tags émergeant sur Delicious à trouver plus de similarités entre contextes. Notre approche présente un judicieux compromis entre cette capacité, la granularité des tags issus des capteurs virtuels, et la couverture des capteurs virtuels exploitant le contenu (ex. SemanticProxy).

## VIII. CONCLUSION

Dans cette thèse, nous avons proposé une approche de filtrage de messages sociaux (ex. status Twitter, notifications Delicious) utilisant la similarité contextuelle entre utilisateurs comme critère de pertinence. Pour cela, nous avons mené un état de l'art des systèmes de réseaux sociaux, des systèmes de filtrage et de recommandation, et des systèmes de gestion de contexte. Afin de valider notre hypothèse en répondant aux limites identifiées dans les travaux précédents, nous avons spécifié un cadre de gestion de données contextuelles et une méthode d'évaluation de pertinence dans lesquelles le contexte est partiellement extrait de sources de données collaboratives, et manipulé visuellement par l'utilisateur. Nous avons alors appliqué ce cadre en implémentant un système de recommandation contextuelle de messages sociaux pour grandes entreprises, où le contexte est extrait à partir de la navigation web des utilisateurs, et évalué notre approche grâce à ce système.

Notre état de l'art et les résultats de notre évaluation prouvent l'utilité de notre approche :

- Les données de contexte peuvent émerger par des pratiques d'annotation collaborative sur Internet, considérant alors l'humain comme un capteur, à partir du moment où il contribue en masse suffisante.

- Considérés comme données caractéristiques dans notre système de filtrage collaboratif via le contenu, les tags extraits de capteurs sociaux offrent des opportunités de collaboration élevées et pertinentes, grâce à la bonne représentativité des annotations humaines fournies en langage naturel. Cependant, il est nécessaire d'agréger des tags venant d'autres capteurs, sachant qu'encore trop peu de ressources sont annotées de cette manière sur Delicious.

- La recommandation contextuelle de messages sociaux est prometteuse (72% de performance), à condition que ces messages soient en rapport avec le contexte actuel de
leurs auteurs, ce qui est actuellement vrai pour seulement
41% des messages échangés sur Twitter.

Les contributions suivantes sont proposées :

- Un large état de l'art, notamment une étude d'usage des systèmes de réseaux sociaux et de micro-blogging, et une analyse critique sur les systèmes de gestion de contexte.

- Les résultats d'un sondage concernant l'usage et les besoins d'utilisateurs de services de micro-blogging, et une analyse de l'impact cognitif des notifications instantanées induites.

- Un système de gestion de contexte basé sur des tags au lieu d'ontologies.

- Le modèle sous-jacent de données de contexte, ainsi que le modèle de pertinence utilisé pour piloter la recommandation de messages sociaux.

- Six capteurs (cinq virtuels et un social) permettant d'extraire des données de contexte à partir de la navigation web de l'utilisateur.

- Une application sociale pour grandes entreprises, permettant de promouvoir des opportunités nouvelles de collaboration et de communication de manière productive, par l'analyse d'activités informatisées.

- Et une méthode, ainsi que les outils informatiques associés, pour évaluer les systèmes de recommandation basés sur des données sociales.

IX. PISTES DE RECHERCHE

Au cours de nos recherches, nous avons identifié les axes d'amélioration suivants :

- Afin d'augmenter les chances de recommander des messages pertinents, la qualité des nuages de tags contextuels doit être améliorée. Par exemple, des techniques de réduction dimensionnelle de vecteurs pourraient être employées pour éviter les tags sémantiquement proches ou redondants. Par ailleurs, il serait intéressant d'étudier plus profondément l'impact du temps sur le contexte, ex. la rémanence de tags précédents par décroissance progressive de poids.

- Sachant que seule la dimension de contexte d'activité a été évaluée dans cette thèse, la méthodologie et les outils correspondants pourraient être exploités pour explorer la recommandation de messages sociaux basée sur des données de contexte plus larges, combinant physique et social (ex. localisation, messages sociaux environnants).

- Afin de simplifier le contrôle de leurs contextes aux utilisateurs, de nouvelles techniques de visualisation, d'exploration et de manipulation des nuages de tags contextuels sont à développer.

RÉFÉRENCES

[1] B. N. Schilit, N. Adams, and R. Want, "Context-Aware computing applications," in *Proceedings of the Workshop on Mobile Computing Systems and Applications*, Santa Cruz, CA, USA, 1994.

[2] M. Weiser, "The computer for the 21st century," *Scientific American*, vol. 265, no. 3, 1991.

[3] K. Ducatel, M. Bogdanowicz, F. Scapolo, J. Leijten, and J. C. Burgelma, "Scenarios for ambient intelligence in 2010 (ISTAG 2001 final report)," ISTAG, Tech. Rep., 2001.

[4] E. Mynatt, A. Adler, M. Ito, and V. O'Day, "Design for network communities," in *CHI '97 : Proceedings of the SIGCHI conference on Human factors in computing systems*. Atlanta, Georgia, United States : ACM, 1997, pp. 217, 210.

[5] A. K. Dey, G. D. Abowd, and D. Salber, "A conceptual framework and a toolkit for supporting the rapid prototyping of Context-Aware applications," *Human-Computer Interaction*, vol. 16, no. 2, 3 & 4, pp. 97-166, 2001.

[6] N. B. Ellison, C. Steinfield, and C. Lampe, "The benefits of facebook friends : Social capital and college students' use of online social network sites," *Journal of Computer-Mediated Communication*, vol. 12, no. 4, 2007.

[7] I. Erickson, "The translucence of twitter," *EPIC 2008, Ethnographic Praxis in Industry Conference*, p. 58, 2008.

[8] E. Mischaud, "Twitter : Expressions of the whole self," MSc Dissertation, London School of Economics and Political Science, 2007.

[9] M. Naaman, J. Boase, and C. Lai, "Is it really about me ? : message content in social awareness streams," in *Proceedings of the 2010 ACM conference on Computer supported cooperative work*. Savannah, Georgia, USA : ACM, 2010, pp. 189-192.

[10] M. R. Morris, J. Teevan, and K. Panovich, "What do people ask their social networks, and why? : a survey study of status message q&a behavior," in *Proceedings of the 28th international conference on Human factors in computing systems*. Atlanta, Georgia, USA : ACM, 2010, pp. 1739-1748.

[11] L. Barkhuus and A. K. Dey, "Is context-aware computing taking control away from the user ? three levels of interactivity examined," *Ubicomp 2003 : Ubiquitous Computing*, vol. 2864/2003, pp. 149-156, 2003.

[12] R. I. M. Dunbar, "Co-evolution of neocortex size, group size and language in humans," *Behavioral and brain sciences*, vol. 16, no. 4, pp. 681-735, 1993.

[13] C. Roda, L. Ach, B. Morel, T. Nabeth, A. A. Angehrn, P. Rudman, M. Zajicek, D. Kingma, I. Molenaar, and T. Vanhala, "AtGentive deliverable d1.2, state of the art report," IST AtGentive, Tech. Rep. D1.2, May 2006.

[14] Y. Miyata and D. A. Norman, "Psychological issues in support of multiple activities," *User centered system design*, pp. 265-284, 1986.

[15] S. Iqbal and E. Horvitz, "Notifications and awareness : a field study of alert usage and preferences," in *CSCW '10 : Proceedings of the 2010 ACM conference on Computer supported cooperative work*. Savannah, Georgia, USA : ACM, 2010, pp. 30, 27.

[16] P. Dourish and V. Bellotti, "Awareness and coordination in shared workspaces," *Proceedings of the 1992 ACM conference on Computer-supported cooperative work*, pp. 107-114, 1992.

[17] M. Balabanovic, "An adaptive web page recommendation service," *Proceedings of the first International Conference on Autonomous Agents*, 1997.

[18] J. Budzik, X. Fu, and K. J. Hammond, "Facilitating opportunistic communication by tracking the documents people use," in *CSCW 2000 Workshop on Awareness and the WWW. Retrieved January*, vol. 30, 2000, p. 2005.

[19] A. N. Dragunov, T. G. Dietterich, K. Johnsrude, M. McLaughlin, L. Li, and J. L. Herlocker, "TaskTracer : a desktop environment to support multi-tasking knowledge workers," in *Proceedings of the 10th international conference on Intelligent user interfaces*. San Diego, California, USA : ACM, 2005, pp. 75-82.

[20] T. Bauer and D. B. Leake, "Real time user context modeling for information retrieval agents," in *Proceedings of the tenth international conference on Information and knowledge management*. Atlanta, Georgia, USA : ACM, 2001, pp. 568-570.

[21] M. V. Kleek, D. R. Karger, and mc schraefel, "Watching through the web : Building personal activity and Context-Aware interfaces using web activity streams," in *Proceedings of the Workshop on Understanding the User - Logging and Interpreting User Interactions in Information Search and Retrieval (UIR-2009)*, Boston, USA, 2009.

[22] G. Adomavicius and A. Tuzhilin, "Toward the next generation of recommender systems : A survey of the state-of-the-art and possible extensions," *IEEE transactions on knowledge and data engineering*, vol. 17, no. 6, pp. 734-749, 2005.

[23] L. Agosto, "Optimisation d'un réseau social d'échange d'Information par recommandation de mise en relation," Ph.D. dissertation, Université de Savoie, 2005.
[24] C. Delalonde, "Mise en relation et coopération dans les equipes dis-
tribuées de R&D, l'application de l'Actor-Network theory dans la
recherche de connaissances," Thèse de Doctorat, Université de Tech-
nologie de Troyes, 2007.

[25] A. Hotho, R. Jäschke, C. Schmitz, and G. Stumme, "Information retrieval in folksonomies: Search and ranking," in *The Semantic Web: Research and Applications*. Springer, 2006, pp. 411–426.

[26] S. Niwa, T. Doi, and S. Honiden, "Web page recommender system based on folksonomy mining for itg'06 submissions," in *Information Technology: New Generations, 2006. ITNG 2006. Third International Conference on*, 2006, pp. 388–393.

[27] K. Bielenberg and M. Zacher, "Groups in social software : Utilizing tagging to integrate individual contexts for social navigation," Digital Media. Bremen, Germany, University Bremen. Master of Science in Digital Media, Tech. Rep., 2005.

[28] M. J. Pazzani, "A framework for collaborative, Content-Based and demographic filtering," *Artif. Intell. Rev.*, vol. 13, no. 5-6, pp. 393-408, 1999.

[29] G. Salton and M. J. McGill, *Introduction to Modern Information Retrieval*. McGraw-Hill, Inc., 1986.

[30] R. Sinha, "A cognitive analysis of tagging," 2005. [Online]. Available : http://rashmisinha.com/2005/09/27/a-cognitive-analysis-of-tagging/

[31] M. Tesconi, F. Ronzano, A. Marchetti, and S. Minutoli, "Semantify del.icio. us : automatically turn your tags into senses," in *Social Data on the Web, workshop at the 7th International Semantic Web Conference, Karlsruhe, Germany, 2008.*

[32] K. Ciesielski, M. A. Klopotek, and S. T. Wierzchon, "Histogram-Based dimensionality reduction of term vector space," in *Proceedings of the 6th International Conference on Computer Information Systems and Industrial Management Applications*. IEEE Computer Society, 2007, pp. 103–108.

[33] T. Hofmann, "Probabilistic latent semantic indexing," in *Proceedings of the 22nd annual international ACM SIGIR conference on Research and development in information retrieval*. Berkeley, California, United States : ACM, 1999, pp. 50–57.

[34] G. Tsatsaronis and V. Panagiotopoulou, "A generalized vector space model for text retrieval based on semantic relatedness," in *Proceedings of the 12th Conference of the European Chapter of the Association for Computational Linguistics : Student Research Workshop*. Athens, Greece : Association for Computational Linguistics, 2009, pp. 70–78.

[35] R. Wetzker, W. Umbrath, and A. Said, "A hybrid approach to item recommendation in folksonomies," in *Proceedings of the WSDM '09 Workshop on Exploiting Semantic Annotations in Information Retrieval*. Barcelona, Spain : ACM, 2009, pp. 25–29.

[36] A. K. Dey and G. D. Abowd, "The context toolkit : Aiding the development of Context-Aware applications," *Workshop on Software Engineering for Wearable and Pervasive Computing*, 2000.

[37] T. Gu, X. H. Wang, H. K. Pung, and D. Q. Zhang, "An ontology-based context model in intelligent environments," *Proceedings of Communication Networks and Distributed Systems Modeling and Simulation Conference*, vol. 2004, 2004.

[38] T. Strang and C. Linnhoff-Popien, "A context modeling survey," *Workshop on Advanced Context Modelling, Reasoning and Management, UbiComp*, pp. 34–41, 2004.

[39] M. Baldauf, S. Dustdar, and F. Rosenberg, "A survey on context-aware systems," *International Journal of Ad Hoc and Ubiquitous Computing*, vol. 2, no. 4, pp. 263–277, 2007.

[40] T. Strang, C. Linnhoff-Popien, and K. Frank, "CoOL : a context ontology language to enable contextual interoperability," *Distributed Applications and Interoperable Systems : 4th Ifip Wg6. 1 International Conference, Dais 2003, Paris, France, November 17-21, 2003, Proceedings*, 2003.

[41] H. Chen, T. Finin, A. Joshi, L. Kagal, F. Perich, and D. Chakraborty, "Intelligent agents meet the semantic web in smart spaces," *IEEE Internet Computing*, vol. 8, no. 6, pp. 69–79, 2004.

[42] F. Perich, S. Avancha, D. Chakraborty, A. Joshi, and Y. Yesha, *Profile Driven Data Management for Pervasive Environments*. Springer, 2005.

[43] A. Ranganathan, J. Al-Muhtadi, and R. H. Campbell, "Reasoning about uncertain contexts in pervasive computing environments," *Pervasive Computing*, IEEE, vol. 3, no. 2, pp. 62–70, 2004.

[44] SPICE, "SPICE d4.1 : Ontology definition of user profiles, knowledge information and services," 2006. [Online]. Available : http://www.ist-spice.org/documents/D4.1-final.pdf

[45] X. Wang, D. Zhang, T. Gu, and H. Pung, "Ontology based context modeling and reasoning using OWL," in *Pervasive Computing and Communications Workshops, 2004. Proceedings of the Second IEEE Annual Conference on*, 2004, pp. 18–22.

[46] J. G. Tan, D. Zhang, X. Wang, and H. S. Cheng, "Enhancing semantic spaces with Event-Driven context interpretation," *Pervasive Computing : Third International Conference, Pervasive 2005, Munich, Germany, May 8-13, 2005, Proceedings*, 2005.

[47] D. Ejigu, M. Scuturici, and L. Brunie, "An Ontology-Based approach to context modeling and reasoning in pervasive computing," in *Pervasive Computing and Communications Workshops, 2007. PerCom Workshops '07. Fifth Annual IEEE International Conference on*, 2007, pp. 14–19.

[48] X. Lin, S. Li, J. Xu, W. Shi, and Q. Gao, "An efficient context modeling and reasoning system in pervasive environment : Using absolute and relative context filtering technology," 2005.

[49] P. Dourish, *Where the action is : the foundations of embodied interaction*. The MIT Press, 2004.

[50] C. Bolchini, C. A. Curino, E. Quintarelli, F. A. Schreiber, and L. Tanca, "A data-oriented survey of context models," *SIGMOD Rec.*, vol. 36, no. 4, pp. 19–26, 2007.

[51] J. Koolwaaij, A. Tarlano, M. Luther, P. Nurmi, B. Mrohs, A. Bat-
testini, and R. Vaidya, "Context Watcher-Sharing context information
in everyday life," in *Proceedings of the IASTED conference on Web
Technologies, Applications and Services (WTAS). IASTED*, Calgary,
Canada, Jul. 2006.

[52] J. Carter and P. Dewan, "Automatically identifying that distributed programmers are stuck," in *Proceedings of the 2009 ICSE Workshop on Cooperative and Human Aspects on Software Engineering*. IEEE Computer Society, 2009, p. 12.

[53] O. Ertzsccheid, "Indexation sociale et folksonomies : le monde comme catalogue," Montpellier, France, May 2008. [Online]. Available : http://www.slideshare.net/olivier/oe-abes-mai2008

[54] S. Golder and B. A. Huberman, "The structure of collaborative tagging systems," *Arxiv preprint cs.DL/0508082*, 2005.

[55] T. Rattenbury, N. Good, and M. Naaman, "Towards automatic extraction of event and place semantics from flickr tags," in *Proceedings of the 30th annual international ACM SIGIR conference on Research and development in information retrieval*. Amsterdam, The Netherlands : ACM, 2007, pp. 103–110.

[56] I. H. Witten, G. W. Paynter, E. Frank, C. Gutwin, and C. G. Nevill-Manning, “KEA : practical automatic keyphrase extraction,” in *Proceedings of the fourth ACM conference on Digital libraries*. ACM, 1999, p. 255.

[57] L. Terveen and D. W. McDonald, "Social matching : A framework and research agenda," *ACM Trans. Comput.-Hum. Interact.*, vol. 12, no. 3, pp. 401–434, 2005.
# Contents

<table><tr><td>List of Figures</td><td>ix</td></tr><tr><td>List of Tables</td><td>xi</td></tr><tr><td>Glossary</td><td>xiii</td></tr><tr><td>1 Introduction and motivation</td><td>1</td></tr><tr><td>1.1 Introduction</td><td>1</td></tr><tr><td>1.2 Definitions, Context and Motivation</td><td>2</td></tr><tr><td>1.2.1 What is relevance, and how to measure it?</td><td>2</td></tr><tr><td>1.2.2 What is context, and how can it help?</td><td>3</td></tr><tr><td>1.2.3 How to gather necessary contextual information?</td><td>3</td></tr><tr><td>1.2.4 Vision: an ambient awareness scenario</td><td>4</td></tr><tr><td>1.3 Towards Ambient Awareness</td><td>6</td></tr><tr><td>1.3.1 Ubiquitous Computing</td><td>7</td></tr><tr><td>1.3.2 Ambient Intelligence</td><td>7</td></tr><tr><td>1.3.3 Emergence of crowd-sourced information on the Web</td><td>8</td></tr><tr><td>1.4 Dissertation plan</td><td>9</td></tr><tr><td>2 Social Networking Systems and their cognitive impact</td><td>13</td></tr><tr><td>2.1 Social Networking Systems</td><td>14</td></tr><tr><td>2.1.1 Meaning of relationships</td><td>14</td></tr><tr><td>2.1.2 User profile enhancement</td><td>16</td></tr><tr><td>2.1.3 New social interaction modalities</td><td>18</td></tr><tr><td>2.1.4 Feeds of social updates</td><td>20</td></tr><tr><td>2.1.5 Pointless babble or awareness?</td><td>22</td></tr></table>
CONTENTS

<table><tr><td>2.1.6</td><td>Content of status updates</td><td>23</td></tr><tr><td>2.1.7</td><td>Different types of social updates</td><td>24</td></tr><tr><td>2.1.8</td><td>Many opportunities to communicate</td><td>24</td></tr><tr><td>2.1.9</td><td>Mobile Social Networking</td><td>26</td></tr><tr><td>2.1.10</td><td>What about privacy?</td><td>27</td></tr><tr><td>2.1.11</td><td>Some usage statistics</td><td>27</td></tr><tr><td>2.1.12</td><td>Conclusion</td><td>29</td></tr><tr><td>2.2</td><td>Usage and impact of real-time microblogging</td><td>29</td></tr><tr><td>2.2.1</td><td>Results of the survey</td><td>29</td></tr><tr><td>2.2.2</td><td>Filtering mechanisms: challenges, solutions and opportunities</td><td>35</td></tr><tr><td>2.2.3</td><td>Discussion</td><td>36</td></tr><tr><td>2.3</td><td>Social notifications: cognitive impact and opportunities for improvement</td><td>36</td></tr><tr><td>2.4</td><td>Conclusion</td><td>38</td></tr><tr><td>3</td><td>From Awareness Systems to Information management techniques</td><td>39</td></tr><tr><td>3.1</td><td>Awareness and social matching systems</td><td>40</td></tr><tr><td>3.1.1</td><td>Definitions</td><td>40</td></tr><tr><td>3.1.2</td><td>Foundations and some applications</td><td>40</td></tr><tr><td>3.2</td><td>Recommender systems and information filtering techniques</td><td>43</td></tr><tr><td>3.2.1</td><td>Content-based filtering</td><td>43</td></tr><tr><td>3.2.2</td><td>Social matching and collaborative filtering</td><td>44</td></tr><tr><td>3.2.3</td><td>Discussion</td><td>45</td></tr><tr><td>3.3</td><td>Content models and feature extraction techniques</td><td>46</td></tr><tr><td>3.3.1</td><td>Keyword/phrase and tag-based models</td><td>46</td></tr><tr><td>3.3.2</td><td>Semantic extraction</td><td>47</td></tr><tr><td>3.3.3</td><td>Discussion</td><td>48</td></tr><tr><td>3.4</td><td>Improving performance and scalability</td><td>49</td></tr><tr><td>3.4.1</td><td>Dimensionality reduction of term vector space</td><td>49</td></tr><tr><td>3.4.2</td><td>Tag clustering techniques</td><td>49</td></tr><tr><td>3.5</td><td>Conclusion</td><td>50</td></tr></table>
4 Extracting and modeling contextual information 51

4.1 What is context-awareness? 53

4.2 Context management systems 54

4.2.1 From context-aware applications to context management systems 54

4.2.2 Semantic context management systems 55

4.2.3 Uncertainty and quality of context 59

4.2.4 Popularization of context-aware applications 63

4.2.5 Privacy concerns 64

4.2.6 A problem of scalability 65

4.2.7 Discussion 66

4.3 Physical sensors: Extracting and modeling geographical contexts 67

4.3.1 Absolute geographic location 67

4.3.2 Beacon-based location 68

4.3.3 Movement-based relative coordinates 73

4.3.4 Political regions and logical spaces 73

4.4 Virtual sensors: context from computer-based activities 74

4.5 Social sensors: context from personal streams and crowd-sourced data 75

4.5.1 Human messages as sensor data 75

4.5.2 Web repositories of user-generated content 76

4.5.3 Extracting context by mashuping up web streams and services 78

4.6 Conclusion 79

5 A Context Management Framework for Social Awareness 81

5.1 Aims 81

5.2 Problem definition and scope 82

5.2.1 Hypothesis 82

5.2.2 Constraints and choices 83

5.2.3 Approach: a tag-based context model 84

5.2.4 Methodology 85

5.3 Interaction model 85

5.3.1 General interaction flow 85

5.3.2 Computer-based interaction 86

5.3.3 Nomadic interaction 86
CONTENTS

<table><tr><td>5.4 Contextual model</td><td>87</td></tr><tr><td>5.4.1 Contextual dimensions and information sources</td><td>87</td></tr><tr><td>5.4.2 Formalization: a tag-based contextual algebra</td><td>90</td></tr><tr><td>5.5 Social matching scheme</td><td>92</td></tr><tr><td>5.5.1 The temporal dimension of social matching</td><td>92</td></tr><tr><td>5.5.2 General relevance function</td><td>94</td></tr><tr><td>5.6 Design and implementation of the framework</td><td>95</td></tr><tr><td>5.6.1 Data flow</td><td>95</td></tr><tr><td>5.6.2 Main structures</td><td>96</td></tr><tr><td>5.6.3 Using the framework for real-time matching</td><td>100</td></tr><tr><td>5.6.4 Using the framework to generate batch matching reports from logs</td><td>103</td></tr><tr><td>5.7 Conclusion</td><td>108</td></tr><tr><td><b>6 A Social Awareness Application and its evaluation</b></td><td><b>109</b></td></tr><tr><td>6.1 Case study</td><td>109</td></tr><tr><td>6.2 Application of the approach</td><td>110</td></tr><tr><td>6.2.1 Enterprise context model</td><td>110</td></tr><tr><td>6.2.2 Web-browsing-based context sensors</td><td>110</td></tr><tr><td>6.2.3 A comparison of tags gathered from virtual and social sensors</td><td>112</td></tr><tr><td>6.2.4 Software implementation</td><td>114</td></tr><tr><td>6.3 Context-based relevance of social updates, an evaluation</td><td>118</td></tr><tr><td>6.3.1 Evaluation requirements</td><td>118</td></tr><tr><td>6.3.2 Experimentation plan</td><td>118</td></tr><tr><td>6.3.3 Experimental setup and recommendation process</td><td>120</td></tr><tr><td>6.3.4 Results</td><td>121</td></tr><tr><td>6.3.5 Discussion</td><td>125</td></tr><tr><td>6.4 Matching contexts from virtual and social sensor tags, a comparative analysis</td><td>126</td></tr><tr><td>6.4.1 Description of the data</td><td>126</td></tr><tr><td>6.4.2 Analysis of results</td><td>127</td></tr><tr><td>6.4.3 Discussion</td><td>131</td></tr><tr><td>6.5 Conclusion</td><td>132</td></tr></table>
CONTENTS

<table><tr><td>7 Conclusion</td><td>135</td></tr><tr><td>7.1 Research summary</td><td>135</td></tr><tr><td>7.1.1 Research context</td><td>135</td></tr><tr><td>7.1.2 Design, application and evaluation of a context management framework for social awareness</td><td>137</td></tr><tr><td>7.2 Contributions</td><td>138</td></tr><tr><td>7.3 Findings</td><td>139</td></tr><tr><td>7.4 Recommendations and best practices</td><td>139</td></tr><tr><td>7.5 Opportunities for improvement</td><td>141</td></tr><tr><td>References</td><td>143</td></tr><tr><td>A Introduction to ontologies and the Semantic Web</td><td>153</td></tr><tr><td>B Samples of personalized surveys</td><td>155</td></tr><tr><td>C Survey on usage of real-time microblogging</td><td>157</td></tr></table>
# CONTENTS
List of Figures

<table><tr><td>1.1 Vision: an ambient awareness scenario</td><td>5</td></tr><tr><td>1.2 From first modems to ambient awareness systems</td><td>8</td></tr><tr><td>2.1 Social interactions in a Social Networking Site</td><td>15</td></tr><tr><td>2.2 Typical user profile in Social Networking Sites</td><td>16</td></tr><tr><td>2.3 The "Movies" application on Facebook</td><td>17</td></tr><tr><td>2.4 An opportunistic contact on Twitter</td><td>21</td></tr><tr><td>2.5 Two sample social updates</td><td>24</td></tr><tr><td>2.6 Simplified model of SNS communication</td><td>25</td></tr><tr><td>2.7 Distribution of respondents among number of followed feeds</td><td>30</td></tr><tr><td>2.8 Uses of microblogging</td><td>30</td></tr><tr><td>2.9 Usefulness of microblog updates</td><td>31</td></tr><tr><td>2.10 Notification modalities for real-time updates</td><td>32</td></tr><tr><td>2.11 Attention given to notified updates</td><td>32</td></tr><tr><td>2.12 Probability of consulting content attached to updates</td><td>33</td></tr><tr><td>2.13 Use of filtering</td><td>34</td></tr><tr><td>2.14 Filtering criteria most expected from respondents</td><td>34</td></tr><tr><td>4.1 Contextual information: from raw sensor data to ambient intelligence</td><td>52</td></tr><tr><td>4.2 Overview of CoBrA</td><td>56</td></tr><tr><td>4.3 The SOUPA ontology</td><td>57</td></tr><tr><td>4.4 Partial definition of the CONON ontology extended with the home domain</td><td>60</td></tr><tr><td>4.5 Creating a rule-based service using SPICE's End User Studio</td><td>62</td></tr><tr><td>4.6 HCoM: Hybrid Context Management and reasoning system</td><td>65</td></tr><tr><td>4.7 Beacon-based positioning</td><td>69</td></tr></table>
LIST OF FIGURES

<table>
  <tbody>
    <tr>
      <td>4.8</td>
      <td>Comparison of three GSM-based positioning methods</td>
      <td>70</td>
    </tr>
    <tr>
      <td>5.1</td>
      <td>A sample contextual tag cloud</td>
      <td>84</td>
    </tr>
    <tr>
      <td>5.2</td>
      <td>Interaction flow</td>
      <td>86</td>
    </tr>
    <tr>
      <td>5.3</td>
      <td>Different matching modalities</td>
      <td>93</td>
    </tr>
    <tr>
      <td>5.4</td>
      <td>Overview of the contextual recommendation loop</td>
      <td>95</td>
    </tr>
    <tr>
      <td>5.5</td>
      <td>Hierarchy of classes encapsulating contextual clouds</td>
      <td>97</td>
    </tr>
    <tr>
      <td>5.6</td>
      <td>Hierarchy of classes encapsulating contextualized events</td>
      <td>99</td>
    </tr>
    <tr>
      <td>5.7</td>
      <td>Hierarchy of classes encapsulating recommendations</td>
      <td>100</td>
    </tr>
    <tr>
      <td>5.8</td>
      <td>Batch sequence, from logs to reports</td>
      <td>103</td>
    </tr>
    <tr>
      <td>6.1</td>
      <td>A sample contextual tag cloud, in an enterprise environment</td>
      <td>110</td>
    </tr>
    <tr>
      <td>6.2</td>
      <td>Tag clouds extracted using four methods</td>
      <td>113</td>
    </tr>
    <tr>
      <td>6.3</td>
      <td>Flow of the contextual aggregation and recommendation process</td>
      <td>114</td>
    </tr>
    <tr>
      <td>6.4</td>
      <td>Screenshot of the side-bar user interface in Firefox</td>
      <td>117</td>
    </tr>
    <tr>
      <td>6.5</td>
      <td>Experimentation plan</td>
      <td>119</td>
    </tr>
    <tr>
      <td>6.6</td>
      <td>Distribution of ratings on contextual clouds</td>
      <td>122</td>
    </tr>
    <tr>
      <td>6.7</td>
      <td>Average precision values for each participant</td>
      <td>123</td>
    </tr>
    <tr>
      <td>6.8</td>
      <td>Comparative distribution of recommendation ratings</td>
      <td>124</td>
    </tr>
    <tr>
      <td>6.9</td>
      <td>Comparative distribution of relevance ratings of social updates</td>
      <td>125</td>
    </tr>
    <tr>
      <td>6.10</td>
      <td>Tags from SemanticProxy: Cumulative distribution of context matches</td>
      <td>128</td>
    </tr>
    <tr>
      <td>6.11</td>
      <td>Tags from Delicious: Cumulative distribution of context matches</td>
      <td>129</td>
    </tr>
    <tr>
      <td>6.12</td>
      <td>Tags from all sensors: Cumulative distribution of context matches</td>
      <td>129</td>
    </tr>
    <tr>
      <td>6.13</td>
      <td>Number of matching contexts using only tags from SemanticProxy</td>
      <td>130</td>
    </tr>
    <tr>
      <td>6.14</td>
      <td>Number of matching contexts using only tags from Delicious</td>
      <td>130</td>
    </tr>
    <tr>
      <td>6.15</td>
      <td>Number of matching contexts using tags from all sensors</td>
      <td>131</td>
    </tr>
    <tr>
      <td>B.1</td>
      <td>A social update from a participant's personalized survey</td>
      <td>155</td>
    </tr>
    <tr>
      <td>B.2</td>
      <td>Another social update from a participant's personalized survey</td>
      <td>155</td>
    </tr>
    <tr>
      <td>B.3</td>
      <td>A sample context from a participant's personalized survey</td>
      <td>156</td>
    </tr>
  </tbody>
</table>
# List of Tables

<table><tr><td>2.1</td><td>Typical interaction modalities on Social Networking Sites</td><td>19</td></tr><tr><td>6.1</td><td>Types of browsing events handled from Firefox</td><td>115</td></tr><tr><td>6.2</td><td>Specification of parameters for events sent by the Firefox sniffer to the Context Aggregator</td><td>116</td></tr></table>
Glossary

**API** Application Programming Interface, an external interface exposing some methods of a program, in order for other programs to invoke those methods

**Context** Context is any information that can be used to characterize the situation of an entity. An entity is a person, place, or object that is considered relevant to the interaction between a user and an application, including the user and applications themselves. (Dey, 2000)

**Context-Awareness** The ability, for software components, to adapt to contextual information

**HTTP** Hypertext Transfer Protocol, the protocol that is commonly used to request resources on the web (e.g. pages), and to invoke web services

**Interface** A specified set of method prototypes that can be implemented by a program for allowing external invocation of those methods

**JSON** JavaScript Object Notation, a lightweight and hierarchical data-interchange format

**Microblogging** A social networking system in which people regularly share concise status updates to their community

**Physical sensor** A device that can extract contextual information from its physical environment

**REST** Representational State Transfer, an basic abstraction of HTTP that allows one to invoke actions on identified state-less resources, usually returning outputs in standard markup languages such as XML or JSON

**RESTful** A RESTful web service is a simple web service implemented using HTTP and the principles of REST

**RSS feed** A dynamic list of recent updates that can be requested regularly from a web server

**Sensor** A device (or software component) that can extract contextual information from its environment

**Social bookmark** A link to a resource (e.g. web page) that is intentionally stored, and possibly shared, by an identified individual on a social bookmarking system, on which individuals can attach tags

**Social networking system (SNS)** A software-based system in which people are represented by a personal profile, and can communicate by emitting social updates to their community
**Social sensor** A mechanism to interpret/enrich contextual information using crowd-sourced information

**Social update** A piece of content that is shared on a social network by an identified individual, and that can be viewed, notified, relayed, or commented by other people of the network

**Status update** A social update which consists of a short text about (or related to) its author

**Tag** A descriptive keyword entered by a human individual

**Tag cloud** A weighted set of tags which can be represented as a bag of words of different sizes, according to their respective weights

**Virtual sensor** A software component that can extract contextual information from other software components

**Web services** A script that can be invoked by requesting a web server using HTTP, can possibly return some output, given some parameters

**Wisdom of Crowds** Data and knowledge emerging from collective contributions, on collaborative spaces
# Chapter 1

# Introduction and motivation

## 1.1 Introduction

On Social Networking Sites (such as Facebook<fnref n="1" />, Twitter<fnref n="2" />, LinkedIn<fnref n="3" />) and other collaboration software, people maintain and create new social ties by sharing personal (but not necessarily private) social updates (e.g. status updates) regularly to their community. A social update is a short message sent to a group of people (e.g. a community of colleagues, friends, followers). It can consist of a single sentence (a news, a question), include a picture, a comment on a picture, a hyperlink, to share their current thoughts, activities, intentions and needs.

Contrarily to emails, social updates are informal, not aimed at a specific list of recipients, and are not expected to be acknowledged. Instead, community members can go through the list of short social updates of the people or topics (e.g. hashtags on twitter) they follow, to get a quick feeling of awareness about people and subjects they care about. However, as the number of people and subjects being followed increases, the time required to get through to the social updates they emit also increases, causing a loss of productivity. Additionally, as social updates are broadcast (and thus, potentially consumed) in real-time, they can create frequent interruptions that can reduce people's ability to focus on a demanding task, especially when the social update is not relevant for this task (because it would induce a costly cognitive disruption).

<footnote n="1">¹http://www.facebook.com/</footnote>

<footnote n="2">²http://www.twitter.com/</footnote>

<footnote n="3">³http://www.linkedin.com/</footnote>
In response to this emerging problem of *information overload*, we model, develop and evaluate a context management framework for ranking *social updates* by relevance according to real-time similarities in-between users' contexts. We also demonstrate how information emerging on crowd-sourced web sites can be leveraged as '*social sensors*' to generate and enhance underlying contextual information.

## 1.2 Definitions, Context and Motivation

### 1.2.1 What is relevance, and how to measure it?

According to Hjrland & Christensen (2002), '*something (A) is relevant to a task (T) if it increases the likelihood of accomplishing the goal (G), which is implied by T.*

As humans, we perceive (and receive) a lot of information, either when communicating or not. As our senses make us aware of our environment, we are surrounded by signals. How many of those signals are '*relevant*' to our current task? Few, as most signals do not increase the likelihood of accomplishing the goal aimed by this task. However, several signals can help to achieve other goals. E.g. if you have to finish the redaction of a report before noon, the coffee machine that you hear, the photos that you see on your desk, and the fan which cools you down are not relevant for your task, by they are part of your context, and can help you achieve other goals: having a break to socialize with your colleagues, remembering to pick up your children from school on time, and prevent being sick by wearing warmer clothes.

The problem is to allow a certain degree and scope of awareness, for ensuring a sufficient productivity on ongoing task(s), while keeping up with other goals. A part of this problem is handled naturally: cognitive processes drive attention (i.e. in-depth mental processing) selectively on relevant signals perceived through our senses (James et al., 1981; Posner, 1980), but one's surrounding environment can still produce disruptions that interrupt him in focusing on ongoing tasks, and thus reducing his productivity. Moreover, in the frame of a computer-supported interaction, additional signals are brought in enormous quantities (e.g. notifications from instant messaging programs, incoming electronic mail, and real-time social updates), imply even more opportunities of being interrupted in our tasks. In that frame, computational support is to be provided to help users cope with information overload. A relevance function is thus to be defined and executed to filter abusive interruptions caused by irrelevant
electronic signals (e.g. chats, emails and social updates that are not useful/important for carrying on the current task).

### 1.2.2 What is context, and how can it help?

‘Context’ was defined by Dey (2000) as ‘information that can be used to characterize the situation of an entity. An entity is a person, place, or object that is considered relevant to the interaction between a user and an application, including the user and applications themselves’. Based on this definition, Dey also defines ‘context-awareness’ systems: ‘A system is context-aware if it uses context to provide relevant information and/or services to the user, where relevancy depends on the user’s task.’.

From these definitions, we identify that contextual information can be used as a criterion for evaluating the relevance of information (and more specifically in our case, social updates) on the user’s task. We support the hypothesis that: by sharing clues about his current context, one can implicitly solicit relevant information and communication, without having to formalize a request (e.g. make a phone call, send an email, ask a specific person). In the aim of supporting one user in being notified of the most relevant signals, the challenges are to:

* identify what is his/her task,

* determine which contextual entities are relevant to the execution of this task,

* and how to evaluate the relevance of social updates for that user, knowing his/her current task and context, and other users'.

### 1.2.3 How to gather necessary contextual information?

In most context-aware applications, researchers have been relying either on physical sensors to extract contextual information, or on specific software sensors depending on the kind of computer-based information being manipulated by the user. In both cases, the nature and the representation/format of contextual cues was determined specifically for each sensor, and for each context-aware application. E.g. an application requiring temperature information would necessarily have to rely on a sensor that samples temperature information from the environment. In order to ensure interoperability
between heterogeneous context producers (i.e. sensors) and consumers (e.g. context-aware applications), common and extensible representation mark-ups were proposed by researchers, e.g. ontologies.

As ‘tagging’ becomes a common practice on the Internet, rich contextual information can also emerge from human-generated content. Indeed, descriptive tags have been collaboratively given by people to many kinds of resources and entities: social bookmarking sites, reviews of places, events, people etc... Thus, such tags associated to documents that a user is manipulating, and to his surrounding entities (e.g. places, people, events...), can represent meaningful information about his current context. However, contextual information emerging in such ways is fuzzier (in terms of certainty and ambiguity), more error-prone and harder to classify than information sampled by sensors. Indeed, most human-generated content is published on the web in natural language, in various locales, with implicit semantics and a certain amount of misspellings, subjective and wrong information. It is possible to classify such information using ontologies, by inferring semantics from large amounts of content. However, we support that user-generated content (and social updates in particular) often contain features (e.g. words) that are not yet described in ontologies, and would sometimes take longer to describe than the time during which this feature is being used. This phenomenon is particularly true on real-time social networks, in which users create and relay trending words (also called ‘buzz-words’) that have a very contextual and temporary meaning. Such features are very important for real-time awareness, and users cannot wait until a semantic description has emerged (i.e. in an ontology) before being made aware of them.

For those reasons, we developed a novel context management scheme based on tags, instead of traditional ontologies.

### 1.2.4 Vision: an ambient awareness scenario

In this section, we present an usage scenario to illustrate our vision of ambient awareness, relying on the contribution of the thesis.

As shown on Figure 1.1, Christine’s context is synthesized and represented as a tag cloud containing:
<figure><img src="image_25.png" /><figcaption>Figure 1.1: Vision: an ambient awareness scenario -</figcaption></figure>

* *Paris, Chatelet and France*, which qualifies her current location (respectively, the name of the city, the place and the country), as inferred from GPS and Wi-Fi signals (including its identifier $Wifi_{S}SID_{5}$874, also presented as a tag) received by her cell phone.

* *McDonalds* qualifies a near-by restaurant that could be identified by a wireless signal (e.g. Wi-Fi hotspot), or a geo-coded directory/database. *DriveIn* is also included in the context, as a capability of this restaurant.

* One of Christine's friend, *Alice*, is part of the tag cloud because she was detected in short range.

* A *radio* has also been detected as currently playing the song *Californication* by the *RedHotChiliPeppers*. This information can be emitted wirelessly by the radio itself, or published through a web service in real-time.

In this illustrative tag cloud, the size of tags is arbitrary. However, the size of a tag is to be computed from:

* the quality of this tag: the degree of confidence concerning the relevance of this tag in the current context,

* the quantity of this tag: the cumulative weights of this tag as it is extracted from several contextual and social sources.
As Christine observes her contextual tag cloud on the screen of her mobile phone, she decides to share it with her friends, so that they can know what she is doing. One second later, the screen displays a list of social updates that are relevant to her current context:

* She discovers that *Mario*, a friend of hers, is also *currently shopping near Chatelet*, and proposes to *grab a coffee* near-by.

* *Alice*, who is also near-by, has just shared a photo.

* Another friend, *Lucie*, is currently listening to the same song.

* Kevin posted a status message to recommend a burger he just ate at *McDonalds*.

* And, she is notified that a car incident happened a *few meters away* from her.

This scenario illustrates the benefits of ambient awareness, an implicit, pervasive and quick mean of communication and relevant information, relying on contextual information and social networking systems.

## 1.3 Towards Ambient Awareness

The contributions of this thesis are positioned in the overlap of several research domains: context-awareness (as a branch of ambient intelligence), knowledge management, and information filtering. Before reviewing the corresponding research background in the following sections, we propose an introduction to general concepts and visions, such as ubiquitous computing, ambient intelligence and social systems, to explain the context of our contribution.

Up to our knowledge, Mynatt et al. (1997) from Xerox PARC and Stanford University were the first researchers to use the phrase ‘Ambient Awareness’, as we consider it in this thesis. In their paper ‘Design for network communities’, they present peripheral and ambient awareness as natural kinds of social interaction that must be taken in account in network communities. Indeed, ambient awareness is the human capability to sense events occurring, moods of people and subjects being discussed in the environment. A person can stay aware without having to actually be involved in a mutual conversation with anyone else, just observation of ambient signals is needed.
In this section, we study the translation of ambient awareness from a natural human environment to computer-supported ‘smart’ environments. This translation is empowered by the visions and technologies of ubiquitous computing, ambient intelligence and the social web.

### 1.3.1 Ubiquitous Computing

Proposed by Weiser (1991) from Xerox PARC, the vision of ubiquitous computing consists of accessing and manipulating digital information through several specific objects, instead of having to rely on computers with keyboards, mice and screens. In his foundational paper ‘The Computer for the 21st century’, he promotes a few mobile collaboration devices being used opportunistically at PARC, communicating through wireless networks. The early implementation of this vision demonstrated that high distribution of simple chips embedded in objects is more useful than one omnipotent computer, and successfully predicted the current ubiquity of wireless networks and autonomous chips and sensors embedded in contemporary devices and appliances.

Whereas Weiser’s vision has become true with the emergence of wireless networks, smartphones, and other autonomous internet-connected objects, his dream about interoperability between these objects has not been completely reached yet.

### 1.3.2 Ambient Intelligence

Based on Weiser’s vision, ‘ambient intelligence’ was firstly coined on 1998 by Eli Zelkha and Brian Epstein from Palo Alto Ventures, as the title for a series of workshops commissioned by Philips towards more fragmented entertainment solutions, especially intended for people’s living rooms. Compared to Weiser’s vision, the concept of ‘ambient intelligence’ was focusing on the pro-activity of a common intelligence federating people’s appliances. In order to fulfill one’s needs without expecting explicit human intervention, such system had to become aware of and adaptive to him (i.e. his identity and preferences) and to his environment.

Building upon ubiquitous computing, Schilit *et al.* (1994) proposed the concept of ‘context awareness’, to enable sensing, recognizing and acting upon the context of ubiquitous objects (and of the users who carry them on) in the real world. In 2001, this concept was integrated to ambient intelligence, which motivated the launch of the sixth framework (FP6) in Information, Society and Technology (IST) of the European
Commission, following the advice of the Information Society and Technology Advisory Group (ISTAG, Ducatel *et al.* (2001)).

Today, ambient intelligence has become a major research domain which gave birth to numerous scientific articles, conferences and journals. Recent off-the-shelf technologies such as QR-codes (i.e. 2D bar-codes), beacon-based positioning (e.g. GPS), RFID and other NFC technologies (Want, 2008) have become practical bridges for researchers and end-users to explore the frontiers between the real world and the digital/virtual worlds.

<figure><img src="image_26.png" /><figcaption>**Figure 1.2:** From first modems to ambient awareness systems - This timeline illustrates the history of communication technologies towards ambient awareness</figcaption></figure>

### 1.3.3 Emergence of crowd-sourced information on the Web

Another evolution which emerged with Web 2.0 is ‘crowd-sourcing’: the creation of value from Internet users, through sharing of user-generated content, and collaborative annotation of content. In particular, the ‘tagging’ practice consists of annotating content by typing words that subjectively reflect the apparent nature, function, category and context of a piece of content for each annotator (Ertzscheid, 2008; Golder & Humberman, 2005). These ‘tags’ can then be leveraged to categorize, index, search, and recommend content to users so that they can easily find it.
We have seen that, thanks to their numerous contributions on web platforms, In-
ternet users (the ‘crowd’) generate a growing amount of information. The quality of
information provided freely by users is highly heterogeneous, and often low when taken
individually. However, the enormous quantity of contributions turn humans into ‘so-
cial sensors’, providing emerging information about content and entities from the real
world, with their rich variety of locales and points of view.

1.4 Dissertation plan

In this last section, we depict the sequence of research activities that have been un-
dertaken from the problem statement introduced in this first chapter, towards the
contributions discussed in chapter seven.

In the first part of the thesis (chapters two to four), we have carried out a state
of the art in the several domains that are relevant to address the theoretical and tech-
nical challenges towards Ambient Social Awareness applications we envisioned, and to
position our contribution to existing work:

* In chapter two, we introduce web-based social networking systems, describe their common and specific characteristics and functions, and analyze their usage through the enumeration of salient trends and major evolutions that we have observed since their appearance on the Internet. All along this study, we identify functional lacks, and opportunities to potentially improve the social experience of their users. Then, we study the cognitive impacts of the social communication behaviors which emerged with these new communication tools and platforms. In particular, we further analyze how users of real-time micro-blogging services (e.g. Twitter) consume social updates, based on the results of a survey we carried out. In that chapter, we conclude that some automated support is to be provided to users for improving their communication experience while regulating negative cognitive impacts (i.e. preventing productivity loss by reducing interruptions). In particular, we identify that contextual information about users can be leveraged in that matter.

* In chapter three, we review several research efforts on improving social awareness, communication and collaboration using computer-based techniques. Whereas
some of them focus on human-computer interaction design, we identify that information filtering techniques and recommender systems can also be considered to improve and regulate information streams between people. In particular, the relevance of incoming content for a person can be evaluated against personal subjects of interests and needs, either explicit (e.g. queries on a search engine) or implicit (e.g. profiling). According to our specific approach, we review several techniques for extracting and representing information from user-manipulated content, in order to gather a dynamic user profile representing his interests during his ever-changing activities. Then, we compare relevance estimation techniques based on similarity functions, and identify existing techniques to improve the performance (and thus, reduce complexity) of relevance estimation.

* In chapter four, we explore research literature on ‘*context-aware*’ computing, as we have identified user context as a good source of information for evaluating relevance of socially-mediated information and communication. After selecting a definition of ‘*context*’, we review several research efforts on context-aware software and the underlying sensor infrastructures, and discuss the issues related to these applications: modeling contextual information and its uncertainty, privacy concerns for their users, and scalability problems. Three kinds of sensors are considered: (i) physical sensors transmit information that is sampled from a physical environment (e.g. geographical positioning of users and other entities), (ii) virtual sensors synthesize contextual information from computer-based activities, and (iii) social sensors which can provide emergent contextual information from crowd-sourced content by combining various web services.

In the second part of the thesis, we design, implement and evaluate a context management framework, and its ambient social awareness application:

* In chapter five, we define the main problem of the thesis, relying on the lacks and possibilities identified in the three chapters of the previous part. Firstly, we demonstrate the importance of contextual knowledge about people for evaluating the relevance of social communication signals (e.g. microblog/status updates, shared content, inter-personal messages), and the impact of relevance on induced cognitive disruption. In order to regulate the cost of interruptions potentially caused by these signals on people’s attention, we propose to emphasize to each
user the signals that are the most relevant to him, according to contextual cues
about his current task and environment. Following the enumeration of several
constraints that are required to maximize the usability of context-based social
awareness applications, we design a context information model, an algebra for
aggregating contexts and evaluating contextual relevance, and the information
flow of the underlying context management software.

* In chapter six, we apply our theoretical framework to develop a social awareness application for improving communication and collaboration in high-scale computer-based environments (e.g. a company, a research lab). After proposing a motivating case study, we develop a set of software mechanisms for extracting contextual information from computer-based activities, by specializing the functions of the theoretical framework (as defined in the previous chapter). Then, we describe the interaction flow of the application, and the implementation of each software module that it contains.

* In chapter seven, we analyze and compare the quality of tags gathered from virtual and social sensors. Then, we evaluate the performance of our theoretical framework (as defined in chapter five) and some parts of its software application (as defined in chapter six) for estimating the relevance of social updates in an experimental setup.

To conclude the thesis, in chapter eight, we discuss our contribution and the implied
findings and limitations. Future work, recommendations and perspectives are then
proposed.
# 1. INTRODUCTION AND MOTIVATION
# Chapter 2

## Social Networking Systems and their cognitive impact

After forums, blogs, instant messaging platforms and other Internet-based communication media, Social Networking Systems (SNS) have become a new communication paradigm on the Internet, enabling large friend communities to keep in touch, improving collaboration between colleagues, and facilitating new contacts.

A SNS is a virtual community in which users maintain a personal web page (called ‘profile’ or ‘space’) that allows members of his/her community to know more about the interests and latest activities of its owner, and to interact with him/her in many ways. The goal of each SNS is different, but in most cases, possible social interactions involve people that consented to connect as ‘contacts’ or ‘friends’ on the system.

In this chapter, we analyze the evolution, distinctive functionalities, and usage of social networking systems: social networking sites, microblogging systems and mobile social software. Then, we present and discuss the results of a survey we conducted about the usage of microblogging users concerning real-time notifications and their expectations concerning filtering of social feeds. Finally, we further study those observations from a cognitive psychology point of view, and identify some opportunities for improvement towards preventing information overload.
### 2.1 Social Networking Systems

Social networking sites are web-based platforms that rely on manually shared content and status messages for triggering communication. Amongst the most popular informal SNS, ‘Facebook’<fnref n="1" /> helps friends keeping in touch by providing each of them with a personal and dynamic news feed that contains updates about the content they shared and the comments they wrote, as further explained in this section. The microblogging site ‘Twitter’<fnref n="2" /> proposes a simpler approach: invite its users to regularly share concise and public status updates about their activities, current interests and opinions, for their followers.

In this section, we compare the features of several of the most popular Social Networking Systems against regular communication mediums.

#### 2.1.1 Meaning of relationships

Like popular instant messengers (e.g. Windows Live Messenger, Yahoo! Messenger, ICQ), SNS users have to invite their contacts on the platform to enable proper communication. On one of the first social networks, classmates.com (1995), your contacts were people you have actually been in school with. But, ten years later, the well known SNS Myspace <fnref n="3" /> (2005), which was reportedly getting more page views than Google (Rosenbush, 2005), built its popularity on a weak meaning for "friendship" connections. Indeed, on this site, many "friends" (contacts) have actually never seen each other in real life. It is also usual to see a celebrity in one's friend list. Indeed, Myspace has become the best place for teenagers to boost their social ego, and for artists (and brands) to show off their content and get closer to their fans.

With Facebook, Myspace's biggest rival, the meaning of "friend" seemed more natural, as it was originally intended for students of Harvard College to keep in touch. With time, its population grew out of Harvard to seduce students and workers around the world. But still, it seems most people that connect with each other on the site already knew each other before in real life (Ellison et al., 2007). Indeed, a study (Lampe et al., 2006) proved that this kind of SNS is more used for "social searching" (i.e. look up already known people) than for "social browsing" (i.e. find strangers online). The

<footnote n="1">¹Facebook: http://www.facebook.com/</footnote>

<footnote n="2">²Twitter: http://www.twitter.com/</footnote>

<footnote n="3">³Myspace: http://www.myspace.com/</footnote>
same trend seems to apply on the popular professional SNS LinkedIn <fnref n="1" />, although some people gather as many professional contacts as possible to increase their visibility to potential employers and/or collaborators.

<figure><img src="image_27.png" /><figcaption>**Figure 2.1: Social interactions in a Social Networking Site -**</figcaption></figure>

The notion of connection has a different meaning depending on the site, but the fact of being recognized as a contact is usually required to enable most kinds of social interactions provided by these sites. As depicted on Figure 2.1, a user (A) can benefit from these rich interactions with the contacts (B, C and D) of his social network, whereas the only possible action between this user (A) and a person (Z) who is not a contact of his social network is to invite him/her by email to join his social network. These interactions include: personalize one's own profile, writing a public message to a contact's profile, commenting publicly a contact's photos, being notified of what actions were undertaken by one's contacts on the site... Here, the "public" visibility is often restricted to the recipient's contacts, but this constraint is not common to all SNS.

In Twitter, which we will further describe below, the contacts are called "followers" who chose to be notified of one's last social updates in real-time, even though anyone can actually read them. Whereas connection as "contact" or "friend" requires a mutual approval on most SNS, twitter does not.

We have seen that SNS rely on connections between contacts, but the meaning of these relationships differ from one SNS to another. In every case, however, a connection is to be declared explicitly, by consulting a user profile, searching for a person or responding to an invitation.

<footnote n="1">¹LinkedIn: http://www.linkedin.com/</footnote>
### 2.1.2 User profile enhancement

<figure><img src="image_28.png" /><figcaption>Figure 2.2: Typical user profile in Social Networking Sites -</figcaption></figure>

On former SNS (i.e. classmates.com), user profiles were structured in a specific manner, usually by filling predefined fields. A major reason for the popularity of Myspace is the possibility for users to personalize deeply the appearance of their profile page with HTML and CSS code. With a little bit of hacking, anyone could feel more unique, not only with the content but also with the style of their profile, making it more attractive to get more friend requests, and thus appear to be more popular.

On most other SNS, users were invited to personalize their profile with pre-defined styles or controlled choice of colors, media and fonts. The biggest step in this domain was made by Facebook in 2007, when they opened their website as a platform for externally-developed add-on applications (Economist, 2007). These applications can appear as public widgets on the user's profile, leverage his/her community and integrate new social interactions in the facebook interface. For example, as depicted on Figure 2.3, a social application about users' favorite movies can display a widget on the user's profile in order to show off the user's favorite movies to the user's contacts, and to invite them to interact about these movies (e.g. ratings). This innovation made Facebook become more popular than Myspace for the first time in 2008 (Beky, 2008), showing
<figure><img src="image_29.png" /><figcaption>Figure 2.3: The "Movies" application on Facebook - ©2008 Flixster, Facebook.
Used with permission.</figcaption></figure>
that it is the diversity of applications (and thus, new social interaction opportunities) which attracts users on SNS.

Since this evolution, most competing SNS have turned into social applications platforms like Facebook, allowing third-party applications to leverage the user's community in order to enrich its social experience. This trend gave birth to several collaborative initiatives such as OpenSocial (OpenSocial & Group, 2009), which defines a common API to build interoperable applications on compliant social platforms, including LinkedIn. Note that Facebook has not joined this project, so they keep full control on their API. Besides the addition of content brought by third-party social applications on user profiles, we will discuss some of the new interactions modalities implied in the next paragraph.

### 2.1.3 New social interaction modalities

In this subsection, we present several interaction modalities listed in Table 2.1, which were introduced by SNS and their add-on applications.

The most common feature is public profile messaging. This feature was metaphorically called "wall" by Facebook. It allows to turn a simple message into a public announcement or display of affection, allowing friends to know what is happening in their community. This modality has been appropriated by users to create new rituals. On Myspace, the most respected ritual is to respond to a connection approval by sending a public message "thanks for the add" on the recipient's profile page. This is a good way to show the recipient's contacts that there is a new contact on board, advertise, in the case of an artist or a brand, and also to recommend the recipient to the people who consult his profile (e.g. for business networking).

SNS also allow users to advertise bulletins to their community. A bulletin (also called "updates" on Facebook) is an announcement or message that will be listed on every contact's bulletin listing. It is a good way for artists to announce new material, and for other people to spread good/bad news, general questions and even jokes. It can also be used as an incentive to gather attention and feedback from contacts.

One can also buy a "gift" for someone, which eventually appears as a small image on the recipient's profile, with the name of the sender. As silly as it may seem to pay for sending a small image to another internet user, it is actually seen by users
<table><caption>Table 2.1: Typical interaction modalities on Social Networking Sites</caption><thead><tr><th>Interaction</th><th>Recipient(s)</th><th>Visibility/ notification</th><th>Intention(s)</th></tr></thead><tbody><tr><td>Profile message</td><td>Contact/own profile</td><td>Public (all contacts)</td><td>- Introduction of a newly added user<br>- Public display of interest/affection, or recommendation of the recipient (e.g. business)<br>- Let the recipient's contacts know what's going on between them</td></tr><tr><td>Bulletin/ Posted item</td><td>Contact/own profile</td><td>Public (all contacts)</td><td>- Share interesting content with contacts<br>- Announce an important event to all contacts<br>- Request feedback from contacts</td></tr><tr><td>Gift</td><td>Contact</td><td>Public (all contacts)</td><td>- Public display of interest/affection, with more impact that a profile message, because gifts are usually not free</td></tr><tr><td>Events (invitation)</td><td>Contact</td><td>Public or Private</td><td>- Invite (some) contacts to an event<br>- Enable communication between attending people (e.g. for arranging a common gift, adding contacts)<br>- Share content related to the event (e.g. photos, videos, links)</td></tr><tr><td>Groups (invitation)</td><td>Contact</td><td>Public or Private</td><td>- Gather people around a same interest or cause to enable communication about it<br>- Opportunity to add contacts</td></tr><tr><td>Poke</td><td>Any person</td><td>Private</td><td>- Say "hello, check out my profile" to someone probably just met in real life (less formal than a connection request)<br>- Temporary inclusion of the recipient in the sender's contacts, allowing visibility of his/her profile and rich communication</td></tr><tr><td>Private message</td><td>Any person</td><td>Private</td><td>- Have private interpersonal discussions (no particular interest for social networking)</td></tr></tbody></table>
as a distinctive sign of affection, as this "gift" cannot be duplicated to other contacts without paying for it again.

Creating "events" and inviting contacts to them is a good way to announce this event with practical (and possibly targeted) information such as their location, time, and motivations to attend. Because people are invited to respond whether they are going to attend or not (or maybe), it gives the opportunity to communicate with attending people (e.g. for arranging a common gift because a party, or to keep in touch with new friends made during the party) and with indecisive people (i.e. to personally insist with good reasons to accept the invitation). An "event" can also gather and hold content related to this event (e.g. photos, videos, links...) to all participants.

A social network can hold several communities which are interested in specific subjects or causes. By joining a group, one has the opportunity to integrate conversations that are related to the subject of this group, possibly with people that are not part of his/her contacts. This can lead to connecting with some of these people.

Despite the strong meaning of "friend" given to Facebook contacts, one can "poke" another if he/she is interested in contacting that person without bothering for a "friendship" request. This "poke" is a notification that also allows the recipient to browse the profile of the sender without restriction, like if they were friends for a limited period.

Other interactions include social tagging of people, comparison and matching of user preferences (e.g. favorite movies, music and books) and quiz results, and games (e.g. poker). Of course, it is also possible to send private messages, but this communication modality shows no interest for social networking.

### 2.1.4 Feeds of social updates

In September 2006, Facebook added a 'news feed' to their users' home page: a personalized list of the latests events which occurred in one's social network, including profile changes (including marital/relationship status, new photos) and public messages. That way, Facebook users no longer had to regularly check their friends' profiles to know what they have been up to. Instead, they just had to log into Facebook, and read social updates from their news feed, like they would read a newspaper. At first, this announcement scared many users for privacy reasons (Arrington, 2006). Whereas many predicted that this feature would kill Facebook, it actually catalyzed a massive increase in the site's growth. Since then, many sites have been integrating a news feed.
It allows one to have a social feeling of what is happening in the community, and it helps spreading information in a viral fashion.

With the integration of news feeds on SNS, Internet users discovered a new and addictive way of keeping in touch with other people: ‘microblogging’. Microblogging sites allowed them to share their news, mood, ideas, jokes and status through short messages, broadcasted to their communities, or to the whole web. As said by Thompson (2008), this ‘ambient awareness’ is ‘very much like being physically near someone and picking up on his mood through the little things he does - body language, sighs, stray comments – out of the corner of your eye.’ The pioneer in this domain is Twitter (Java et al., 2007), launched in October 2006. On this website, users are invited to post public ‘status updates’, by answering the question ‘what are you doing?’ from time to time, without exceeding 140 characters. It is possible to send such updates from anywhere by SMS, and to be notified of updates sent by ‘followed’ twitter users through a personalized feed but also by SMS, which turns this SNS into a simple mobile SNS that works with any mobile phone without Internet access. This microblogging concept has been adopted by users through various unexpected usages: to advertise websites and bulletins, share personal opinions and moods, ask for advice, enable fluid and transparent client-to-business communication, relay news and hazardous events they witnessed (Mischaud, 2007) (by ‘re-tweeting’ the social update from their original author), and even advertising some other users to their followers on fridays (the ‘#followfriday’ practice).

<figure><img src="image_30.png" /><figcaption>**Figure 2.4: An opportunistic contact on Twitter** - The update sent by ‘rolytyler’ was found and replied by a stranger, who was probably looking for one of the keywords contained in ‘rolytyler’’s update.</figcaption></figure>

By default, Twitter status updates are public. Additionally to the possibility of fol-
lowing users, Twitter Search <fnref n="1" /> allows to invoke dynamic queries (i.e. feed subscriptions) on the whole public Twitter feed, according to several criteria: presence of given words, author, time and geographical location of posting, etc... This functionality enables new kinds of opportunistic communication, in which people can be discovered for having included a specific keyword in one of their updates (see Figure 2.4), and frequency of keywords found in updates can be leveraged for statistics. Whereas Twitter is good tool to improve visibility, Erickson (2008) deplore that is it too poor for proper awareness, as it does not provide a feeling of accountability to its users. However, its growing usage, and its influence towards other microblogging services and SNS, makes Twitter a novel, efficient and popular way to communicate.

> "It's like I can distantly read everyone's mind," Haley went on to say. "I love that. I feel like I'm getting to something raw about my friends. It's like I've got this heads-up display for them."

Testimony from a microblog user, (Thompson, 2008)

Thanks to social feeds, microblogging systems and other SNS can help to virtually increase the number of individuals with whom a stable inter-personal relationship can be maintained, known as the ‘Dunbar number’ (Dunbar, 1993) which observed values can vary between 100 and 200 for humans. Indeed, a computer-supported social network can be used to overcome cognitive limits of one’s ‘social memory’, and therefore to be potentially able to keep in touch with more than 200 people at once. Overcoming this limit can expand people’s ability to solve problems, by connecting with more ‘weak ties’, those unfamiliar or remote acquaintances that are intimate enough to want to help out. Professional SNS such as LinkedIn rely on this assumption to help people finding professional opportunities thanks to their network of colleagues.

### 2.1.5 Pointless babble or awareness?

When Twitter started to become very popular, some criticism arose from skeptics, as its users would mostly broadcast ‘pointless babble’ Boyd (2009). But Thompson (2008) explains that some microblog updates might not seem useful when taken individually, but can become interesting and inspiring when received in higher pace:

<footnote n="1">¹Twitter Search: http://search.twitter.com/</footnote>
> This is the paradox of ambient awareness. Each little update – each individual bit of social information – is insignificant on its own, even supremely mundane. But taken together, over time, the little snippets coalesce into a surprisingly sophisticated portrait of your friends’ and family members’ lives, like thousands of dots making a pointillist painting. This was never before possible, because in the real world, no friend would bother to call you up and detail the sandwiches she was eating. The ambient information becomes like "a type of E.S.P.," as Haley described it to me, an invisible dimension floating over everyday life.

This opinion is shared by Marc Davis, a chief scientist at Yahoo and former professor of information science at the University of California at Berkeley: ‘No message is the single-most-important message. It’s sort of like when you’re sitting with someone and you look over and they smile at you. You’re sitting here reading the paper, and you’re doing your side-by-side thing, and you just sort of let people know you’re aware of them.’

### 2.1.6 Content of status updates

Naaman et al. (2010) identified two types of Twitter users: ‘*Informers*’ are conversational users that mostly use status updates for consuming, sharing and relaying information (news etc...) without forgetting to mention and reply to their peers, whereas ‘*Meformers*’ are more egocentric but however necessary to help users keep maintain relationships with strong and weak ties. Furthermore, four dominant categories of practices were observed: information sharing (22% of updates), opinions/complaints (25% of updates), statements and random thoughts (25% of updates), and ‘*me now*’ (41% of updates) relating to the author’s personal activity and context at the time of posting. This last category represent 51% of updates posted from mobile devices, and 37% from non-mobile applications.

In another study on 624 facebook and twitter users, Morris et al. (2010) reported that 50% of respondents had used status messages to ask a question, similar to Q&A sites. Most of them were expecting recommendations (29%) and opinions (22%). They prefer submitting those questions to SNS because they trust their contacts more than strangers, they expect more subjective answers, and also because some questions are hard to formulate on search engines and public Q&A sites that lack context. The intention of advertising current interests to their community was also cited as a motivation for preferring SNS-mediated questions.
### 2.1.7 Different types of social updates

<figure><img src="image_31.png" /><figcaption>**Figure 2.5: Two sample social updates** - A status update from Twitter, and a bookmark update from Delicious.</figcaption></figure>

Following the microblogging phenomenon, many web sites and social applications have been producing updates, which we generalize under the name of ‘social updates’. The following kinds of social updates are identified:

* Status updates, as introduced above, are manual messages shared by users to their community only, or publicly on the Internet. Beyond providing personal statuses, users also post status updates for information sharing and for asking questions.

* Content sharing updates are less explicit and personal, they are generated automatically when a user contributes some content (e.g. a photo, a video, a blog post) in order to advertise this content to the community. Those updates usually mediate the publication of a user's past activity rather than a current one, but they add some visibility to him/her, and can trigger feedback from the community.

* Bookmarking updates immediately mediates a part of the author's context: one of the pages that he/she was browsing. Those updates can reflect current interests of the user, or improve the knowledge of user's preferences (i.e. for profiling).

### 2.1.8 Many opportunities to communicate

Even though spontaneous messages are the most simple and universal way of communicating, SNS also provide many other opportunities to communicate. Indeed, it is possible to comment (or reply to) almost every piece of information shared on a SNS, including photos, videos, bulletins and even quizz results for example. Like on blogs, comments are a great way to communicate with someone in a specific context in which we assume the recipient to be interested (i.e. because he/she is the one who posted the
piece of information that was commented). Of course, new comments are also considered as social updates, and thus they can be advertised on the feeds of every contact of the sender's community, according to the privacy preferences set by the users.

<figure><img src="image_32.png" /><figcaption>Figure 2.6: Simplified model of SNS communication -</figcaption></figure>

It also means that a comment can lead to other comments from other people, giving birth to a discussion. On Facebook, comments can even be posted on status updates. As depicted on Figure 2.6, we can generalize SNS communications in a simple model in which the main conversational classes are PublicMessage and Comment. The user profile holds public messages, whereas social content and notifications hold comments. Both of them define a starting point for human communication. Whereas social content is manually entered by the user, notifications are generated by the platform and its applications from socially-relevant interactions. Social links are provided to the author of every message and comment (through the from attribute), and they can also be added on social content which is related to them (e.g. photos in which they appear) through the taggedPeople relation. This explicit link gives a good reason to notify people when content is posted about them, which leads to a good probability to get a response from them (e.g. to comment a photo on which they appear).

In his talk on the Impact of Social Models, and based on statistical studies of Twitter and Facebook (Facebook, 2010; Sysomos, 2009), Wroblewski (2009) observed that the contribution of users to social networks is driven by the attention of their connections, among other social model properties. The more connections, the more motivation to share. Indeed, the number of daily Twitter updates increases from 3 to 6 when followers
increased by 1000. Yahoo Answers showed a 480% increase in contributions when the number of relationships increased to 20.

### 2.1.9 Mobile Social Networking

The emergence of Bluetooth technology on most mobile phones led to new usages related to proximity, because of its short range coverage (usually around 10 meters). One of the earliest usages was called ‘bluechat’ <fnref n="1" />; it consisted of sending OBEX messages to surrounding Bluetooth-enabled devices. Connecting with people in public places relies on the Bluetooth discovery function (implemented on all Bluetooth-compliant mobile phones) in order to look up devices in range. Users could change the public name/identifier of their Bluetooth mobile phone in order to advertise personal information such as sex, age and language. This usage led to the emergence of new programs allowing improved Bluetooth communication on mobile phones, for instant messaging (e.g. like IRC) and mobile social networking. Some of them were specialized for the purpose of dating (or, finding people to meet in the vicinity, with the ultimate target of dating), allowing participants to specify expectations of the people they would like to date: sex, age, interests, physical description... This was given the name of ‘Bluedating’ <fnref n="2" />. Many bluedating programs appeared: Nokia Sensor, Serendipity, MobiLuck... Despite the benefits of considering the location (portion of one’s context) in internet-based-like social platforms, none of these programs reached the critical amount of users to take off. There was no reason to join a dating network that nobody was using. One of the reasons of this failure was the lack of interoperability between these programs, preventing users of one program to communicate with users of another program. As none of these programs were raised as a standard, none became popular.

Bluetooth technology has proved to be a very interesting way to enable location/proximity-based services including communication and provision of local information, thanks to this short range coverage. Moreover it is widely supported by most mobile phones (and other devices) and is not a big battery consumer. However, the popularization of Internet connectivity on mobile phones encouraged a new breed of mobile social applications, called MoSoSo, Mobile Social Software (Lugano, 2007). Most applications are a mobile transposition of computer-based social networking systems. Most recent and

<footnote n="1">¹Bluechat: http://en.wikipedia.org/wiki/Bluechat</footnote>

<footnote n="2">²Bluedating: http://en.wikipedia.org/wiki/Bluedating</footnote>
popular MoSoSo applications, including Foursquare <fnref n="1" /> and Gowalla <fnref n="2" />, invite their users to ‘check-in’ to the places where they go. By doing that, a user’s friends can decide to join him/her there, he/she can leave some tips about that place for other people, and he/she can be awarded different ‘badges’ to show off on his/her social network profile, depending on his/her loyalty to the place, the discovery of a new area or other challenges. Considered as a sort of social game, this kind of application also implies links between the real world which the user explores, and the digital world which his/her friends can read about.

### 2.1.10 What about privacy?

In Barkhuus & Dey (2003), it was observed that ‘users are willing to accept a large degree of autonomy from [context-aware and personalized] applications as long as the application’s usefulness is greater than the cost of limited control’. This behavior seems to apply well to most social applications. In 2010, Mark Zuckerberg, CEO of Facebook said that privacy was no longer a social norm. At a time when Facebook was re-designing its interface and communication workflows to a fashion quite similar to Twitter, this controversial phrase clearly shows the intention of inviting social network users to share more, to more people. Of course, Zuckerberg proved several times that he could orchestrate the behavior of Facebook’s users to make them accept new usages. Indeed, users were happy to share more, because interacting on Facebook was worth it. This behavior proves that their privacy can be eroded, as long as the service brings sufficient value to every user.

### 2.1.11 Some usage statistics

Some selected statistics about Facebook (Facebook, 2010):

* More than 400 million active users:

* More than 35 million users update their status each day

* More than 60 million status updates posted each day

* More than 3 billion photos uploaded to the site each month

<footnote n="1">¹Foursquare: http://foursquare.com/</footnote>

<footnote n="2">²Gowalla: http://gowalla.com/</footnote>