• Aucun résultat trouvé

Mise en oeuvre de techniques de fouille de données dans une base orientée graphe: application aux systèmes de questions / réponses

N/A
N/A
Protected

Academic year: 2021

Partager "Mise en oeuvre de techniques de fouille de données dans une base orientée graphe: application aux systèmes de questions / réponses"

Copied!
96
0
0

Texte intégral

(1)

Université Mohamed Sadik Benyahia de Jijel

Faculté des Sciences Exactes et d’informatique Département d’Informatique

Mémoire

de fin d’etude pour obtention du diplôme Master de Recherche en

Informatique

Option : Systèmes d’Information et Aide à la Décision

Théme

Mise en œuvre de techniques de fouille de données dans une base orientée graphe :

application aux systèmes de questions / réponses

Réaliser par :

BENAMIRA Salima BOUSSAYOUD Rania

Encadrer par :

Mr BOUKRAA Doulkifli

Année universitaire : 2019\2020

(2)

Nous tenons tout d’abord à remercier Dieu le tout puissant, qui nous a donné la force et la patience d’accomplir ce modeste travail.

Nous profonde gratitude et nos sincères remerciements vont à notre encadreur Mr. BOUKRAA Doulkifli, pour la confiance qu’il nous a

accordées en acceptant de nous encadrer, pour toutes les heures qu’il nous a consacrées, pour ses précieux conseils et ses encouragements tout

au long de la réalisation de ce travail ainsi que pour sa patience et sa compréhension.

Nos vifs remerciements vont également aux membres du jury pour l’intérêt qu’ils ont porté à notre travail en acceptant de l’examiner et de

l’enrichir par leurs propositions.

Enfin, nous tenons également à remercier tous les enseignants qui nous accompagnés durant nos études supérieures.

(3)

Je dédie ce travail :

Aux âmes de ma mère et de mon frère Chouib, que Dieu ait pitié d’eux,

À mon très cher père, que Dieu tout puissant le protège,

À mes sœurs : Dalila, Nadia, Saliha, Rofia, Nabila, et Adila,

À mon frère : Riad,

À mon beau-frère : Bachir,

À ma nièce : Sidra,

À ma tante : Zoulikha.

Salima

(4)

Á

Ma chère Maman, Á

Mon cher Papa, Á

Mes chers grand-parents que Dieu les garde pour nous inchallah, Á

Mes frères : Rafik, Mohammed, Rachid, Sofiane et Wahid, Á

Mes sœurs : Aicha, Sabrina, Assia, Rafika et Houda, Á

Mes belles-sœurs : Sadjia, Nesrine, Loubna, Khadija Á

Mes adorables nièces et mes plus beaux neveux, Á

Ma chère Samira qui m’a soutenu dans les moments difficiles, Et enfin à

Tous ceux que j’aime.

Rania.

(5)

Résumé

Le présent travail vise à extraire les informations pertinentes d’un grand ensemble de données réelles et de réussir à préparer, manipuler et analyser les données dans l’optique de les transformer en connaissance actionnable et en outil d’aide à la décision.

Afin d’atteindre cet objectif, nous proposons une fouille de données basée sur les al- gorithmes de fouille de graphes de données de la bibliothèque Neo4j Graphe Data Science (GDS), appliquée aux données du réseau StackExchange en particulier le sous-réseau

“Data Science”, et des réseaux similaires, basés sur la notion de Questions et Réponses.

Mots-clés : Big Data, Base de données orientée graphe, Neo4j, Algorithmes analy- tiques de graphes.

Abstract

This work aims to extract relevant information from a large dataset and to success- fully prepare, manipulate and analyze the data in order to transorm them into actionable knowledge and a decision support tool.

In order to achieve this objective, we propose a data mining based on graph mining algorithms of the Neo4j Graphe Data Science (GDS) library, applied to the data of the StackExchange network and particulary to the “Data Science” subnetwork, and similar networks , based on the concept of Questions and Answers.

Keywords: Big Data, Graph-oriented database, Neo4j, Analytical graph algorithms.

Pl›

AžAyb˜ Ÿ› ­ryb• Tˆwm› Ÿ› Tmh› ‘CA`› rtF Y˜ ™m`˜ @¡ ‘dh§

­ ¤ ­dyf› A›wl`› Y˜ Ahl§w ‘dh An Ahlyl¤ Aht˜A`›¤ A¡ dˆ¤ Tyž¤rtk˜¯

.C rq˜ œˆd˜

Y˜ A¾ AntF Ahlyl¤ AžAyb˜ rtF Tynq rtqž , ‘dh˜ @¡ “yq ™ Ÿ›

Neo4j Graphe Data ScienceTbtkm T}A˜ AžAyb˜ rtF¯ ¨žAyb˜ œFr˜ Ay›EC w AkbK˜ ¤ Data Science‰’wm T}A˜ StackExchangeTkbJ AžAy Ylˆ AhqybW¤ ,(GDS)

. w ¤ š ¥Fwhf› xAF Ylˆ Tm¶Aq˜ , TlAmm˜

(6)

Résumé I

Liste des Figures VI

Liste des Tableaux VII

Introduction générale 1

I Concepts de base 4

1.1 Introduction . . . . 4

1.2 Big Data . . . . 4

1.2.1 Origine du Big Data . . . . 4

1.2.2 Définitions . . . . 5

1.2.3 Caractérisation des Big Data . . . . 5

1.2.4 Types du Big Data . . . . 7

1.2.5 Big Data et Technologies connexes . . . . 7

1.2.6 Domaines d’applications du Big Data . . . . 9

1.3 Bases de données NoSQL . . . . 9

1.3.1 Définition . . . 10

1.3.2 Le Théorème du CAP . . . 10

1.3.3 Type de base de données NoSQL . . . 11

1.4 Les bases de données orientées graphes . . . 13

1.4.1 Qu’est-ce qu’une base de données orientée graphe (Graph Database) ? 13 1.4.2 Les familles de base de données orientes graphe . . . 14

1.4.3 Avantages des bases de données orientées graphe . . . 14

1.4.4 Vue d’ensemble des bases de données orientées graphe les plus po- pulaires . . . 15

1.4.5 Neo4j . . . 15

1.5 Big Data Analytics . . . 17

1.5.1 Définition . . . 17

1.5.2 Données traitées . . . 17

1.5.3 Objectif . . . 17

1.5.4 Cas illustratif d’utilisation du Big Data Analytics . . . 17

1.5.5 Types du Big Data Analytics . . . 18

1.5.6 Les outils du Big Data Analytics . . . 18

1.6 Analytiques de graphes . . . 19

1.6.1 Qu’est-ce que l’Analytiques de graphes ? . . . 19

1.6.2 Types Analytiques de graphes . . . 20

1.6.3 Les Algorithmes d’Analytiques de graphes . . . 21

1.6.4 Cas d’utilisation . . . 21

(7)

1.7 Conclusion . . . 22

II Présentation du domaine d’application 23 2.1 Introduction . . . 23

2.2 Forums d’entraide . . . 23

2.2.1 C’est quoi un forum d’entraide ? . . . 24

2.2.2 Utilité des forums d’entraide . . . 24

2.2.3 Types de forums d’entraide . . . 25

2.2.4 Classification des forums de Questions-Réponses . . . 25

2.2.5 Motivation de l’utilisation d’un forum de Questions-Réponses . . . 26

2.2.6 Exemple des forums d’entraide en ligne . . . 26

2.3 Modèle de données de forum d’entraide . . . 28

2.3.1 Description des données . . . 28

2.3.2 Descriptions des Datasets . . . 28

2.3.3 Descriptions des relations . . . 30

2.3.4 Schéma de données de Stackexchange . . . 32

2.4 Fouille de graphes dans les forums de questions-réponses. . . 33

2.4.1 Identification des acteurs importants et des experts . . . 33

2.4.2 Extraction de communautés . . . 34

2.4.3 Prédiction de liens . . . 34

2.4.4 Diffusion de l’information . . . 34

2.5 Conclusion . . . 34

III Application des algorithmes de fouille de graphe aux forums d’entraide 35 3.1 Introduction . . . 35

3.2 Les algorithmes de fouille de graphe utilisés et leurs familles . . . 35

3.2.1 Détection de communauté . . . 35

3.2.2 Centralité . . . 39

3.2.3 Similarité . . . 44

3.2.4 Prédictions des liens . . . 45

3.3 Modélisation orientée graphes de forums d’entraides . . . 47

3.3.1 Les nœuds . . . 47

3.3.2 Les relations . . . 47

3.3.3 Le schema . . . 48

3.4 Correspondances entre le schéma relationnel et le schéma Graphe . . . 50

3.5 Plan d’application des algorithmes de fouille de Graphes . . . 51

3.6 Conclusion . . . 53

IV Mise en œuvre 54 4.1 Introduction . . . 54

4.2 Environnement de développement . . . 54

4.2.1 MySQL . . . 54

4.2.2 Valentina Studio . . . 55

4.2.3 Neo4j . . . 56

4.2.4 NetBeans . . . 57

4.3 Jeux de données . . . 58

4.4 Application développée . . . 61

4.4.1 Intérêt d’application . . . 61

4.4.2 L’objectif d’application . . . 61

4.4.3 Schéma général et enchainement de l’application . . . 61

(8)

4.4.4 Interfaces d’application . . . 64

4.4.5 Explication des différents composants de l’interface . . . 65

4.4.6 Représentation graphique . . . 70

4.5 Résultats, interprétation, utilisation . . . 72

4.5.1 Analyse de centralité . . . 72

4.5.2 Détection des Communautés . . . 74

4.5.3 Similarité . . . 76

4.5.4 Prédiction des liens . . . 77

4.6 Conclusion . . . 79

Conclusion générale 80

(9)

1.1 Volume prévu de données produites et stockées dans le monde [59] . . . . . 5

1.2 Les 5V du big data . . . . 6

1.3 Cloud computing [19] . . . . 8

1.4 Application de l’internet des objets [19] . . . . 8

1.5 Le Théorème du CAP . . . 10

1.6 Base de données clé-valeur [16] . . . 11

1.7 Base de données orientée document [16] . . . 12

1.8 Base de données orientée colonnes [16] . . . 13

1.9 Base de données orientées graphe [16] . . . 13

1.10 Illustration d’une base de données orientée graphes [20] . . . 14

1.11 Exemple de requête en utilisant le langage Cypher sous Neo4j . . . 16

1.12 Type de Big Data Analytics . . . 18

1.13 Exemple illustrant l’application du graph analytics avec le resultat [13] . . 20

2.1 Le forum en trois questions [29] . . . 24

2.2 Schéma de données de Stackexchange [1] . . . 33

3.1 Le schéma de la base de données orientée graphe . . . 49

4.1 Environnement de travail sur valentina studio . . . 56

4.2 Interface Neo4j version 1.2.9 Desktop . . . 57

4.3 La base de données « stackexchange » de Mysql est ouverte dans Valentina Studio . . . 58

4.4 La requête visuel pour extraire les données de la relation User -> Comment -> User . . . 59

4.5 Les données des utilisateurs en format « .csv » . . . 60

4.6 Enchainement des étapes d’exécution de l’application . . . 62

4.7 Choix de type d’analyse . . . 62

4.8 Choix d’ algorithme d’analyse . . . 63

4.9 Choix de configuration et création de la requête Cypher d’analyse . . . 63

4.10 Interface de connexion . . . 64

4.11 Interface d’analyse . . . 65

4.12 Panneau de contrôle . . . 66

4.13 Panneau de configuration . . . 66

4.14 Panneau d’affichage des résultats . . . 67

4.15 Panneau d’aide . . . 67

4.16 Base de données connectée dans un navigateur par défaut . . . 68

4.17 JFrame qui contient des informations sur l’application . . . 68

4.18 Message d’alerte qui s’affiche s’il y a un problème dans la connexion . . . . 69

(10)

4.19 Un message d’erreur qui s’affiche dans la première interface lors d’une fausse tentative de connexion à la base de données . . . 69 4.20 Message d’alerte pour le cas des données non compatibles . . . 69 4.21 Représentation des résultats sous forme de diagramme en bâtons . . . 70 4.22 Représentation graphique des résultats de l’algorithme de louvain selon

toutes les relations sous forme des cellules . . . 71 4.23 Représentation graphique des résultats de l’algorithme de similarité entre

les tags ( machine-learning) et (classification) selon la relation « LieeA » . 71

(11)

1.1 Algorithmes de neo4j [37] . . . 21

2.1 Comparaison entre SE, Quora, Yahoo !answers. [33] . . . 27

2.2 Description des données de StackExchange [11] , [2] . . . 29

2.3 Description des associations de StackExchange [11] , [2] . . . 32

3.1 Configuration de l’algorithme louvain [45] . . . 37

3.2 Configuration de l’algorithme Composants fortement connectés [48] . . . . 38

3.3 Configuration de l’algorithme propagation d’étiquettes [44] . . . 39

3.4 Configuration de l’algorithme Page Rank [46] . . . 40

3.5 Configuration de l’algorithme degré [41] . . . 41

3.6 Configuration de l’algorithme Betweenness [39] . . . 42

3.7 Configuration de l’algorithme Eingenvector centrality [42] . . . 44

3.8 Configuration de l’algorithme Similarité des noeuds [47] . . . 45

3.9 Configuration de l’algorithme Adamic Adar [38] . . . 46

3.10 Configuration de l’algorithme Voisins communs [40] . . . 47

3.11 Table des nœuds . . . 47

3.12 Table des relations . . . 48

3.13 Correspondances entre le schéma relationnel et le schéma orienté graphe . . 50

3.14 Liste des algorithmes appliqués . . . 52

4.1 Description de la base de données orientée graphe « StackEx » utilisée . . 61

4.2 Tableau des paramètres d’analyse de centralité . . . 72

4.3 Résultats d’analyse de centralité . . . 73

4.4 Tableau des paramètres de Détection des Communautés . . . 74

4.5 Résultats d’analyse de détection des communautés selon les tags . . . 75

4.6 Résultats d’analyse de détection des communautés selon les utilisateurs . . 75

4.7 Résultats d’analyse de similarité . . . 77

4.8 Tableau des paramètres d’analyse de prédiction des liens . . . 77

4.9 Résultats d’analyse de prédiction des liens . . . 78

(12)

De nos jours, les données sont de plus en plus présentes autour de nous, dans notre quotidien professionnel ou personnel, ce qui a engendré une augmentation sans précédent des volumes de données, mais aussi de formats divers et une production à une vélocité élevée. Le volume, variété et vélocité (3V) constituent les caractéristiques de base que renferme le terme Big Data (ou données massives).

Aux 3V précédents s’ajoutent d’autres V, comme la valeur de ces données. En effet, les données massive sont précieuses notamment pour les entreprises, en fonction de l’aptitude à les utiliser pour comprendre et influencer les comportements des clients et les acteurs de nos systèmes (achats, ventes, etc...) où le client est devenu le point focal de la collecte et l’exploitation des données.

L’augmentation de la valeur et du volume des données est derrière l’évolution des méthodes et technologies qui stockent, traitent, et extraient ces données, une évolution importante en termes de vitesse de traitement, de capacité en mémoire et en stockage, et de variation en besoins et fins d’exploiter. Les technologies de bases comme les moteurs SQL sont devenus incapables de gérer les données massives, donnant lieu à l’émergence de systèmes de gestions de données adéquats, comme le système HDFS et les bases de données NoSQL. La philosophie du NoSQL n’est plus fondée sur l’architecture classique des bases relationnelles. L’unité logique n’est plus la table, et les données ne sont en général pas manipulés avec le SQL et elles sont stockée dans quatre (4) différents formats : clé-valeur, documents, colonnes, graphes.

Par ailleurs, les données que nous produisons ou manipulons deviennent de plus en plus compliquées et changent continuellement (dynamicité), comme les données en temps réel, les données satellitaires et les comportements d’individus. Pour traiter ce type de données reliées, les bases de données orientées graphes, qui représentent un type de bases NoSQL, sont particulièrement adaptées car la structure graphe permet d’abord de modé- liser naturellement les données sous formes de nœuds représentant les entités du monde réel, et d’arcs représentant les liens entre entités. En outre, les bases orientées graphe simplifient l’insertion et la lecture des données par rapport au modèle relationnel et ce à cause notamment de leur flexibilité.

Les bases de données orientées graphes, tout comme les autres type de bases NoSQL, sont utilisées depuis des années pour gérer les données transactionnelles des entreprises.

Au delà de cette gestion transactionnelles, les bases de données graphes ont commencé à être utilisées à des fins analytiques ou d’extraction de connaissances cachées, connue notamment par l’appellation fouille de graphes ou graph analytics.

Le Big Data analytics ou Fouille de données massives est une discipline qui vise

(13)

à extraire les informations pertinentes à travers des modèles compréhensibles qui sont construits en utilisant des ensembles de données homogènes ou hétérogènes collectées de diverses sources de données (comme les bases de données distribuées, le Web, les entrepôts de données et les images satellitaires ou plus généralement, les données massives).

L’objectif de ce travail est d’appliquer la fouille de graphes à des données réelles afin d’extraire des connaissances utiles.

Notre travail consiste d’abord à concevoir et implémenter une base de données orientée graphe ensuite à implémenter des algorithmes de fouilles de graphes dessus. Aussi, le travail consiste à développer une application en dessus de la base graphe et des algorithmes pour permettre aux analystes d’appliquer les algorithmes de fouilles par eux-mêmes sur différentes bases de données, pourvu qu’elles respectent un schéma de référence.

Dans ce cadre, nous nous intéressons à la base de données orientée graphe « Neo4j », une parmi d’autres bases de données conçues pour résoudre les problèmes de traitements de données en volume, multi-sources....etc. Notre choix de Neo4j est motivé par le fait qu’elle prend en charge plusieurs bibliothèques d’algorithmes de graphe de fouille de don- nées (GDS,..) que nous détaillons tout au long de ce travail.

Nous appliquons notre travail à des données du réseau « StackExchange» un des sys- tèmes d’entre-aide déployés sous la forme de forums sur le Web et qui permettent des échanges d’expériences entre les gens d’un domaine particulier (informatique, mathéma- tiques, langues, etc.) sous forme des Questions / Réponses ou des sites qui offrent des services en ligne. En particulier, notre travail s’applique au sous-réseau “Data Science” de Stack Exchange.

Le reste de notre mémoire est structuré en quatre (04) chapitres, suivis d’une conclu- sion générale qui présente une synthèse des travaux réalisés et la mention de quelques perspectives pour des travaux futurs.

• Dans le chapitre 1 « Concepts de bases », nous développons les principaux concepts concernant les domaines de notre travail, Big Data, NoSQL, Big Data Analytics et l’Ana- lytique de Graphe, à travers leurs définitions, leurs processus de fonctionnement, leurs domaines d’application et leurs tendances.

• Dans le chapitre 2, nous présentons en premier lieu une introduction aux systèmes d’entraide Q/R (Quora, Yahoo ! Answers, Stackexchange). Ensuite, nous mettons l’ac- cent sur quelques cas d’utilisations des fouilles de données appliquées aux forums Ques- tions/Réponses.

• Le chapitre 3 est consacré à la description des algorithmes de graphe de fouille de données et leurs familles et la manière de les utiliser, ainsi que la modélisation de la base de données orientée graphe de forum d’entraide en ligne. Par la suite, nous présentons une mise en correspondance (mapping) entre la base de données orientée graphe modélisée et la base de données relationnelle, et les éventuelles transformations des données du relationnel vers le graphe. Enfin, nous proposons un plan d’application des algorithmes au forum d’entraide en ligne.

(14)

• Le chapitre 4 détaille la phase de mise en œuvre de notre application, qui consiste à implémenter les algorithmes de graphe de fouille de données de la bibliothèque Neo4j Graphe Data Science (GDS) et les incorporer dans notre application et nous présentons et interprétons les résultats obtenus.

(15)

Concepts de base

1.1 Introduction

Depuis une vingtaine d’années, on assiste à une croissance importante des moyens de génération et collection des données. Ceci est dû principalement à une explosion des données en établissant une nouvelle dimension appelée Big Data.

Cette masse gigantesque de données générées automatiquement sur Internet (Réseaux so- ciaux, appareils mobiles, messagerie électronique ... etc.), et avec le développement des grandes entreprises Internet(Google, Amazon, eBay,..etc.) ainsi que les difficultés pour satisfaire les besoins des clients et les applications Web (nouveaux besoins métier et nou- velles contraintes techniques) ont remis en question la domination sans partage du modèle relationnel à cause des limites de ce dernier.

Afin de répondre aux limites du modèle relationnel, de nouvelles technologies sont venues pour soulager les entreprises génératrices d’un grand volume de données, concernant la capture, la recherche, le partage, le stockage, l’analyse et la présentation des donnée.

Dans ce chapitre, nous allons présenter les notions de base sur les Big Data, NoSQL, Big Data Analytique et l’Analytique de Graphe.

1.2 Big Data

1.2.1 Origine du Big Data

Le Big Data est un phénomène qui a vu le jour avec l’émergence de données volumi- neuses qu’on ne pouvait pas traiter avec des techniques traditionnelles.

Les premiers projets de Big Data sont ceux des acteurs de la recherche d’information sur le Web « moteurs de recherche » tel que Google et Yahoo. En effet, ces acteurs étaient confrontés aux problèmes de la scalabilité (passage à l’échelle) des systèmes et du temps de réponse aux requêtes utilisateurs. Très rapidement, d’autres sociétés ont suivi le même chemin comme Amazon et Facebook. Big Data est devenu une tendance incontournable pour beaucoup d’acteurs industriels du fait de l’apport qu’offre en qualité de stockage, traitement et d’analyse de données. [17]

La figure 1.1 montre l’évolution des volumes des données produites et stockées pondant les dix ans passées et leurs volumes prévus jusqu’à l’an deux mille vingt cinq.

(16)

Figure 1.1: Volume prévu de données produites et stockées dans le monde [59]

1.2.2 Définitions

Plusieurs définitions ont été données pour décrire le Big Data mais elles sont similaires et renferment les mêmes concepts. Nous citons :

Définition 1 : Big Data sont des données de très grandes tailles, dont la manipu- lation et la gestion présentent des enjeux du point de vue logistiques. (Traduit au français d’Oxford English Dictionary) [7]

Définition 2 : "The definition of Big Data is very fluid, as it is a moving tar- get — what can be easily manipulated with common tools — and specific to the organization : what can be managed and stewarded by any one institution in its infrastructure. One researcher or organization’s concept of a large data set is small to another." [32].

Définition 3 :Big Data signifie mégas données, grosses données ou encore données massives. Ils désignent un ensemble très volumineux de données qu’aucun outil classique de gestion de bases de données ou de gestion de l’information ne peut vraiment les traités. [22]

1.2.3 Caractérisation des Big Data

Le Big Data (données massives) se caractérise par la problématique des 3V qui sont le Volume, la Variété et la Vélocité, étendu au 5V auxquels s’ajoutent d’autres ” V ” complémentaires, comme ceux de Valeur et de Véracité/Validité (figure 1.2).

(17)

Figure 1.2: Les 5V du big data

A. Volume : certainement celui qui est le mieux décrit par le terme « Big » de l’ex- pression. Volume fait référence à la quantité d’informations trop volumineuse pour être stockée, traitée, analysée et diffusée par des outils standards. Cette caractè- ristique peut s’interpréter comme le traitement d’objets informationnels de grande taille ou de grandes collections d’objets. [28]

B. Variété : fait référence à l’hétérogénéité des formats, des types, et de qualité des in- formations. Ce qui signifie que ces données peuvent présenter des formes complexes du fait qu’elles trouvent leurs origines dans des capteurs divers et variés (tempé- rature, vitesse du vent, hygrométrie, tours/mn, luminosité...), dans des messages échangés (e-mails, médias sociaux, échanges d’images, de vidéos, musique), dans des textes, des publications en ligne (bibliothèques numériques, sites web, blogs...), des enregistrements de transactions d’achats, des plans numérisés, des annuaires, des informations issues des téléphones mobiles, etc [28].

C. Vélocité : l’aspect dynamique et/ ou temporel des données, à leur délai d’actua- lisation et d’analyse. Les données ne sont plus traitées, analysées en différé, mais en temps réel ou quasi réel. Elles sont produites en flux continus, sur lesquels des décisions en temps réel peuvent être prises [28].

D. Valeur : la notion de valeur correspond au profit qu’on peut tirer de l’usage du Big Data. Ce sont généralement les entreprises qui commencent à obtenir des avantages incroyables de leurs Big Data. Selon les gestionnaires et les économistes, les entre- prises qui ne s’intéressent pas sérieusement au Big Data risquent d’être pénalisées et écartées. Puisque l’outil existe, ne pas s’en servir conduirait à perdre un privilège concurrentiel [36].

E. Véracité ou validité : L’authenticité du Big Data reste un obstacle. Les données sont rapidement obsolètes et de nombreuses informations qui sont partagées via l’Internet et les réseaux sociaux ne sont pas forcément correctes, la vérification de la qualité est rendue difficile voire impossible du fait du volume, de la variété et de la vélocité spécifiques au Big Data. [36]

(18)

1.2.4 Types du Big Data

A. Données structurées

Elles ont été reformatées et leurs éléments réorganisés, selon une structure permet- tant à chacun d’être traité, organisé et manipulé selon diverses combinaisons, afin de mieux exploiter les informations [55]. Par exemple, la table des employés dans une base de données d’entreprise sera structurée de manière afin que les détails des employés, leurs noms, leurs postes, leurs salaires,.. etc, soient présents de manière organisée.

B. Données non structurées

Les données non structurées ne sont pas organisées dans un format qui permet d’y accéder et de les traiter plus facilement. En réalité, très peu de données sont complètement non structurées. Même des éléments souvent considérés comme non structurés, tels que des documents et images, sont structurés dans une certaine mesure [55].

C. Données semi structurées

Constituent une forme intermédiaire. Elles ne sont pas organisées selon une méthode complexe rendant possible un accès et une analyse sophistiqués [55] ; Pour être précis, sont des données que n’ayant pas été classées dans un référentiel particulier (base de données), elles contiennent néanmoins des informations vitales ou des balises qui séparent les éléments individuels au sein des données. Des exemples de formats de données semi-structurée sont XML, Json et les fichiers logs (journaux).

1.2.5 Big Data et Technologies connexes

Le Big Data est associé à un large éventail de technologies aux objectifs divers, allant de la collecte de données au traitement à l’analyse et la visualisation des données. Ci- dessous nous décrivons un ensemble de techniques-clés impliquées dans l’écosystème Big Data.

A. Cloud computing

Le Cloud Computing est une technologie employée pour désigner les nouveaux sys- tèmes informatique (matériels, raccordements réseau, et logiciels (figure 1.3)) four- nissant des ressources et des services à la demande par Internet, généralement des services payant par mode « Pay-as-you-go» où le client ne sera facturé uniquement pour ce qu’il a vraiment utiliser.

Le Cloud Computing est doté de larges capacités de stockage extensible et adaptés aux traitements des Big Data. De manière générale, on parle de Cloud Computing lorsqu’il est possible d’accéder à des données ou à des programmes depuis Inter- net. [19]

(19)

Figure 1.3: Cloud computing [19]

B. Internet of things

Depuis maintenant plusieurs années, l’Internet ne se limite plus aux ordinateurs et autres smartphones. Désormais, presque tous les objets sont connectables à l’In- ternet. Les montres, les frigos, les télévisions, les voitures, ou encore les machines industrielles ... l’Internet des objets n’a pas de limites.

L’Internet of thinqs pourrait se définir simplement comme un ensemble de réseaux d’objets physiques ou virtuels qui communiquent via des réseaux souvent sans fil. A mesure que le nombre d’objets connectés augmente, le volume de données générées par l’Internet des objets explose. Ainsi, pour pouvoir les prendre en charge et les analyser en temps réel, il est nécessaire de s’en remettre aux outils analytiques Big Data (figure 1.4). [52]

Figure 1.4: Application de l’internet des objets [19]

(20)

1.2.6 Domaines d’applications du Big Data

A. Marketing

Le Big Data permet en effet aux professionnels du secteur de connaître des infor- maions sur leurs clients, le Big Data intervient sur toute la chaîne marketing, depuis la définition du produit final à la publicité et la recherche de nouveaux prospects, en passant bien évidemment par la mise en place des outils d’analyse sous-jacents. [54]

B. Protection de la population et prévention

En effet de nombreux moyens ont été mis en œuvre par les états au nom de la défense du territoire et de la protection des citoyens contre toute menace ou attaque ce fait des péta-octets de données non structurées sont ainsi collectées sous forme d’images, d’enregistrement audio ou vidéo...etc, qu’il faut pouvoir stocker, trier en fonction de la pertinence et analyser afin d’en ressortir des informations critique. [18]

C. Les médias numériques

Le ciblage publicitaire et l’analyse des sites web au plus détailler le numérique grâce au Big Data et la démocratisation d’internet, il est possible de créer une campagne de publicité ciblée. En effet, sur Google et Facebook, on peut cibler une personne en particulier, et ce en fonction de ces préférences et de sa situation géographique. [18]

D. La santé

Le Big Data permet à la science de réaliser des avancées importantes. En effet, dans le domaine de la santé, les technologies du Big Data permettent des évolutions im- pressionnantes dans l’analyse du génome humain. Ces avancées ont permis de mieux comprendre le développement de pathologies, d’améliorer les protocoles de soins et les mesures de prévention. De plus les analyses des recherches des internautes sur Google ont permis de prévenir des maladies ou des épidémies, ou même d’amélio- rer des traitements. Par exemple l’utilisation du Big Data pour aider les patients atteints d’un cancer du sang. [18]

E. Les marchés financiers

Fut l’un des premiers secteurs à bénéficier du Big Data, notamment pour l’analyse des transactions et les clients, la gestion des risques,ainsi que la prévision des fraudes.

Par exemple en croisant de multiples données sur un emprunteur, avec d’autres données externes, on peut prédire avec une grande acuité le risque de fraude que présente un client.

1.3 Bases de données NoSQL

On ne peut pas parler de Big Data sans citer le NoSQL. Ce dernier est venu pour surmonter les difficultés rencontrées pendant la gestion des données classées «Big Data»

avec les systèmes SGBD relationnelles.

Suite à des besoins de haute disponibilité, d’accès, de calculs des volumes impressionnants de données pour des grandes compagnies telles que Google, Amazon, Facebook,..etc, les solutions SQL offertes dans le marché ne répondaient pas aux besoins, car leurs limites ont été atteintes :

• Volumétrie,

• Difficulté de la mise à jour sans cesse de serveur de plus en plus puissant,

• Besoin d’analyser des quantités de données faramineuses (Peta octets),

• Tolérance aux pannes (serveur maître tombe). . . etc.

(21)

D’où l’apparition de solutions basées sur des systèmes distribués qui sont les SGBD NoSQL.

1.3.1 Définition

NoSQL est une gamme étendue de technologies et d’architectures, afin de résoudre les problèmes de performances en matière d’évolutivité et de Big Data que les bases de données relationnelles ne sont pas conçues pour affronter [58].

Les bases de données NoSQL ont été conçues pour résoudre les problèmes de traitements de données en volume, multi-sources....etc, elles stockent et récupèrent les données d’une façon rapide, un peu comme une base de données relationnelle, sauf qu’elles n’est pas basés sur des relations mathématiques entre les tables comme dans une base de données relationnelle traditionnelle. [27]

1.3.2 Le Théorème du CAP

En règle générale ces bases de données respectent le théorème de CAP d’Eric Brewer, ce théorème consiste en trois notions (figure 1.5), Seuls deux des trois contraintes peuvent être respectés en même temps :

Consistance (consistency /C) : Tous les clients voient la même vue même lors- qu’il y a des mises-à-jour.

Haute disponibilité (availability /A) : L’ensemble des clients peuvent trouver des données répliquées, même lorsqu’une panne survient.

Tolérance à la partition (partition-tolerance /P) :Le système doit bien fonc- tionner sur les réseaux distribués ; aucune panne moins importante qu’une coupure totale du réseau ne doit empêcher le système de répondre correctement. [51]

Figure 1.5: Le Théorème du CAP

(22)

1.3.3 Type de base de données NoSQL

Il en existe quatre types distincts (figure 1.6) qui s’utilisent différemment et qui se prêtent mieux selon le type de données que l’on souhaite y stocker :

A. Bases clé-valeur

La base de données de type clé-valeur est considérée comme la plus élémentaire. Son principe est très simple, chaque valeur stockée est associée à une clé unique (figure 1.6). C’est uniquement par cette clé qu’il sera possible d’exécuter des requêtes sur la valeur (Voldemort, Dynomite, Riak...etc). [35]

Figure 1.6: Base de données clé-valeur [16]

B. Bases orientées document

Les bases de données orientées document sont une extension des bases orientées clé-valeur, à la place de stocker une valeur, nous stockons un document (figure 1.7).

Un document peut contenir plusieurs valeurs et d’autres documents, qui peuvent à leur tour en contenir d’autres et ainsi de suite. Un document peu donc posséder plusieurs niveaux de profondeur. Tous les documents de niveau 0 sont identifiés par une clef et sont regroupés dans une collection [62], comme exemple de ce type de base de données, la base de données MongoDB et CouchDB.

(23)

Figure 1.7: Base de données orientée document [16]

C. Bases orientées colonnes

Les bases de données orientées colonnes ne diffèrent pas beaucoup des bases SQL classiques du point de vue architectural, généralement le modèle n’est pas présent pour des questions de performances. La principale différence se situe à la façon dont les données sont stockées en mémoire, dans une base orientée colonnes les données sont stockées par colonnes (figure 1.8), de ce fait le système sera beaucoup plus rapide pour des requêtes portant sur peu de colonnes, il est donc beaucoup plus rapide de parcourir les lignes d’une table. [61]

La colonne est l’entité de base représente un champ de données, où chaque colonne est définie par un couple (clé, valeur), les colonnes sont regroupées en des super- colonnes, ainsi que ces dernières sont regroupées dans des familles de colonnes.Les colonnes sont regroupées par ligne et identifiées par un identifiant unique et un nom unique, le nombre de colonnes est dynamique et peut varier d’un enregistrement à un autre, ce qui évite de retrouver des valeurs null. Comme exemple de base de données orientées colonnes : HBase , Hypertable, Cassandra ,BigTable...etc.

(24)

Figure 1.8: Base de données orientée colonnes [16]

D. Bases orientées graphe

Les bases orientées graphe permettent la modélisation, le stockage ainsi que le trai- tement de données complexes reliées par des relations. Ce modèle privilégie les re- lations entre les valeurs, ce qui facilite la représentation du monde réel (figure 1.9), il est composé d’un [25] :

• Moteur de stockage pour les entités de cette base est nommé nœud.

• Mécanisme qui décrit les arcs contiennent des propriétés de type simple (inte- ger, string, date..).

Parmi les bases de données orientées graphe les plus connus Neo4j, Blazegraph...etc.

Figure 1.9: Base de données orientées graphe [16]

1.4 Les bases de données orientées graphes

1.4.1 Qu’est-ce qu’une base de données orientée graphe (Graph Database) ?

Les bases de données orientées graphe se basent sur la théorie des graphes. Un nœud représente une ou plusieurs données tandis qu’un arc représente une relation entre un

(25)

couple de données. Un SGBD orienté graphe stocke et manipule des graphes composés de nœuds et de relations qui peuvent tous avoir des propriétés (figure 1.10). [50]

Figure 1.10: Illustration d’une base de données orientée graphes [20]

L’intérêt des graphes est de permettre la modélisation facile d’une très grandes quan- tités des données dans des modèles complexes et très connectés tout en offrant une struc- turation flexible, des opérations de modification et de parcours performantes.

La structure graphe simplifie le modèle relationnel. Cette simplification rend aussi sa lecture facile qu’un modèle logique entité-relation. [50]

1.4.2 Les familles de base de données orientes graphe

Il existe trois sous-familles de SBGD orientés graphe : [50]

• Les graphes basés en mémoire sont les plus véloces en manipulation mais sont limités en taille par la quantité de mémoire centrale d’un serveur et sont volatiles.

• Les graphes basés sur disque sont eux limités par la taille des volumes locaux ou distants (plus de place mais des performances moins bonnes).

• Les graphes en cluster gèrent les plus grosses volumétries mais, du fait de leur architecture distribuée, sont par conséquent plus lents.

1.4.3 Avantages des bases de données orientées graphe

Les bases de données orientées graphes apportent des avantages non négligeables : [63]

A. Performances accrues

• Traiter des données fortement connectées en évitant les multiples jointures très coûteuses qu’il faudrait mettre en œuvre dans les bases de données relation- nelles et ainsi permettre des mises à jour très performantes, même pour un très grand ensemble de données.

• Offrir des performances exceptionnelles en termes de rapidité de temps de ré- ponse pour les lectures locales, par parcours de graphe.

(26)

B. Développements simples

L’utilisation de langages de requêtes tels que Cypher ou Gremlin destinés au traite- ment des données connectées facilite les développements. Par exemple, la recherche d’amis prend une seule ligne de code en Cypher.

C. Modélisation facile

• Gérer facilement un modèle complexe puisque la base de données ne s’appuie pas sur un schéma rigide.

• Permettre une modélisation parfois plus naturelle et plus lisible selon le cas d’utilisation.

• Découverte de nouveaux cas d’usages par une représentation naturelle des don- nées.

1.4.4 Vue d’ensemble des bases de données orientées graphe les plus populaires

Le site web nosql-database.org fournit la liste de plus de deux cent vingt cinq bases de données NoSQL différentes se distinguent par de nombreuses fonctionnalités différentes, parmi les bases de données orientées graphe :

A. Neo4j : Neo4j est une base de données orientée graphe open source, considérée comme une base orienté graphe native car elle implémente efficacement le modèle de graphes de propriétés jusqu’au niveau du stockage. [31]

B. Amazon Neptun : cette base de données orientée graphe est disponible sur le cloud public d’Amazon Web Services et a été publiée en 2018 en tant que base de données hautes performances. [31]

C. SAP Hana Graph : avec SAP Hana, le développeur SAP a créé une plateforme basée sur un système de gestion de base de données relationnelle et complétée par le modèle intégré orienté graphe SAP Hana. [31]

D. OrientDB : cette base de données orientée graphe est considérée comme l’un des modèles les plus rapides actuellement disponibles. [31]

Dans ce qui suit, nous allons présenter la base de données orientée graphe Neo4j que nous allons utiliser dans notre travail.

1.4.5 Neo4j

Neo4J est un SGBD orienté graphe de la famille NoSQL crée en 2000 par la société NeoTechnology écrite en JAVA et SCALA. Elle est sous licence GPLv3 sous la dénomi- nation de Community Edition. [50]

La base de données Neo4j est complètement compatible avec les transactions ACID (Atomicité1, Cohérence2, Isolation3, Durabilité4), les données sont stockées sur disque sous la forme d’une structure de données optimisée pour les réseaux de graphes. Le noyau Neo4j est un moteur de graphes extrêmement performant, avec toutes les caractéristiques

1. Une transaction s’effectue entiérement ou pas du tout

2. Le contenu d’une base doit être cohérent au début et à la fin d’une transaction

3. Toute transaction doit s’exécuter comme si elle était la seule sur le systéme (aucune dépendance possible entre les transactions)

4. Une fois la transaction validée, l’etat de la base est permanent (non affecté par les pannes ou autre)

(27)

attendues d’une base de données de production telles que la récupération, les transactions par commit en 2 phases5, la compatibilité XA6, etc. [49]

A. Langage des requêtes utilisé

Gremlin était au départ le langage par défaut sur Neo4J mais NeoTechnology a décidé de créer un nouveau langage, le Cypher , pour faciliter la prise en main, la lecture et l’écriture des requêtes [50]. Dans la figure 1.11 une requête Cypher sous Neo4j pour crée trois noeuds «User» avec une propriété «username»,deux relation

«KNOWS», et le résultat de l’exécution de cette requête.

Figure 1.11: Exemple de requête en utilisant le langage Cypher sous Neo4j B. Neo4j Data Browser Le navigateur de données Neo4j est accessible en utilisant

l’URL : http ://localhost :7474/browser/, dés que Neo4j est installer.

Neo4j Data Browser est utilisé pour exécuter des commandes CQL et afficher la sortie (figure 1.11).Vous devez exécuter toutes les commandes CQL à l’invite dollar :

"$".

5. Moyen de coordonner des transactions distribuées sur différents SGBDR ( scrute l’état des serveurs et ordonne la finalité globale de la transaction)

6. Une interface de communication entre gestionnaire de ressource (base SQL) et un gestionnaire de transction, aide à synchroniser les validations multiples au sein d’une transaction globale.

(28)

1.5 Big Data Analytics

1.5.1 Définition

L’analytique du Big Data est le processus qui consiste à examiner des ensembles de données volumineux contenant des types de données hétérogènes (les données non structu- rées, semi-structurées et structurées) pour découvrir des schémas cachés, des corrélations inconnues, les tendances du marché, les préférences des utilisateurs et d’autres informa- tions exploitables. [57]

Les six éléments clés de Big Data Analytics selon Gartner sont [4] :

• Les sources de données,

• Les types de données,

• Les applications de traitement,

• La puissance de calculs,

• Les modèles analytiques,

• Le partage ou le stockage des résultats.

1.5.2 Données traitées

Le Big Data Analytics peut traiter des données suivantes : logs de serveurs Web et données issues des parcours de navigation sur Internet, contenu et rapports d’activité des réseaux sociaux, texte extrait des e-mails des clients et de leurs réponses aux sondages, relevés détaillés des appels par téléphone mobile et données machine capturées par des capteurs connectés à l’Internet des objets, grands volumes de données transactionnelles, ainsi que d’autres formes de données encore inexploitées par les programmes convention- nels d’informatique décisionnelle (Business Intelligence). [57]

1.5.3 Objectif

Les Big Data Analytics peuvent aider les organisations à mieux comprendre les in- formations contenues dans les données, améliorer la compréhension des performances de l’entreprise et du comportement des clients, aider à identifier les données qui sont les plus importantes pour l’entreprise, mais également orienter les futures décisions straté- giques. [4]

1.5.4 Cas illustratif d’utilisation du Big Data Analytics

L’exemple illustre l’utilisation de différentes sources de Big Data et les différents types d’analyses qui peuvent être effectuées.

Présentation d’un nouveau produit de café chez Starbucks : Starbucks introduisait un nouveau produit de café mais craignait que les clients ne trouvent son goût trop fort. Le matin du lancement du café, Starbucks a surveillé les blogs, Twitter et les groupes de discussion du forum sur le café de niche pour évaluer les réactions des clients. Au milieu de la matinée, Starbucks a découvert que même si les gens aimaient le goût du café, ils pensaient qu’il était trop cher. Starbucks a baissé le prix et à la fin de la journée, tous les commentaires négatifs avaient disparu.

Comparez cette réponse rapide avec une approche plus traditionnelle consistant à attendre

(29)

les rapports de vente et à remarquer que les ventes sont décevantes. Une prochaine étape pourrait être d’organiser un groupe de discussion pour découvrir pourquoi. Peut-être que dans quelques semaines, Starbucks aurait découvert la raison et aurait répondu en baissant le prix. [60]

1.5.5 Types du Big Data Analytics

Après la collecte des données, nous devons commencer à les analyser. Il existe quatre types d’analyses (figure 1.12) qui doivent être utilisés pour différents types de données.

Figure 1.12: Type de Big Data Analytics

A. L’analytique descriptif : fournit des informations sur ce qui a été réalisé et permet donc de comprendre ce qui s’est produit. Elle est utilisée par la majorité des organisations. Par exemple : Une analyse descriptive examine l’utilisation historique de l’électricité pour planifier les besoins en électricité et fixer les prix. [8]

B. L’analytique prédictif : a pour objectif de fournir des modèles afin de prévoir ce qui pourrait se réaliser. Elle s’appuie sur le Data Mining qui fournit des modèles statistiques. Cette méthode analytique est l’une des méthodes les plus couramment utilisées pour la notation des pistes de vente, les médias sociaux et les données de gestion des relations avec les consommateurs. [8]

C. L’analytique prescriptif : aide à choisir la meilleure solution entre plusieurs actions possibles pour orienter ce qui va se réaliser. Cette méthode d’analyse n’est pas beaucoup préférée par les organisations, mais ses données peuvent montrer des résultats impressionnants si elles sont utilisées correctement. [8]

D. L’analyse diagnostique : examine les informations passées et nous fait savoir comment, quoi et pourquoi s’est produit. Il est généralement utilisé pour décou- vrir les motifs cachés qui aident à préciser la cause racine complète ainsi que pour identifier les facteurs qui provoquent directement ou indirectement un effet. [24]

1.5.6 Les outils du Big Data Analytics

Pour convertir les données en informations exploitables, il est nécessaire de s’équiper de meilleurs outils analytiques tel que : Hadoop, Storm, Hadoop MapReduce, Cassandra, OpenRefine, Rapidminer, MongoDB...

(30)

1.6 Analytiques de graphes

1.6.1 Qu’est-ce que l’Analytiques de graphes ?

L’analytique de graphe exploite des structures de graphe (nœuds également appelés sommets et d’arêtes ou arcs) pour comprendre, codifier et visualiser les relations qui existent entre des personnes ou des appareils dans un réseau (figure 1.13). Elle est basée sur les mathématiques de la théorie des graphes, est utilisée pour modéliser des relations par paires entre des personnes, des objets ou des nœuds dans un réseau.

L’analytique de graphe peut révéler des informations sur la force et la direction de la relation. [5]

Force de la relation :À quelle fréquence les nœuds ou les individus communiquent- ils entre eux ? Quels autres nœuds ou individus ont tendance à rejoindre cette conver- sation ? Quelle « pondération » faut-il attribuer à un type de nœud, en fonction de l’analyse que vous effectuez ?

Direction de la relation :Qui initie généralement la conversation ? S’agit-il d’une conversation à double sens, où mène-t-on toujours ? À quelle fréquence et dans quelles situations la conversation est-elle transmise aux autres ?

Le format graphique d’Analytique de Graphe fournit une plate-forme beaucoup plus flexible pour trouver des connexions distantes ou analyser des données en fonction de choses telles que la force ou la qualité de la relation. Lors de la recherche d’une relation indirecte entre deux points de données, la nature de la logique d’un format de graphe est une plate-forme plus efficace pour effectuer cette tâche. C’est pourquoi l’analytique de graphe est le moyen le plus efficace - et dans de nombreux cas, le plus préféré - d’explorer des relations complexes dans les données. [14]

(31)

Figure 1.13: Exemple illustrant l’application du graph analytics avec le resultat [13]

1.6.2 Types Analytiques de graphes

Les quatre types d’analytiques de graphe largement utilisés sont : A. Analyse de chemin

Elle se concentre sur les relations entre deux nœuds dans un graphe. Ce type d’ana- lyse de graphe peut aider à identifier le chemin le plus court entre les nœuds, à trouver le chemin le plus large entre les nœuds pondérés et à calculer un arbre couvrant autour d’un point central, par exemple. Un cas d’utilisation évident est l’optimisation des itinéraires qui s’applique particulièrement à la logistique, aux chaînes d’approvisionnement et de distribution et à l’optimisation du trafic pour les villes intelligentes. [56]

B. Analyse de communautés

Une analyse basée sur les interactions entre les nœuds (la distance et la densité).

Elle regroupe les nœuds en groupes étiquétés d’objets similaires pour faciliter l’or- ganisation. Utilisée pour trouver des groupes de personnes en interaction dans un réseau social, par exemple, et identifier si elles sont transitoires et prédire si le réseau va croître [56].

C. Analyse de centralité

Ce type d’analyse se concentre sur la pertinence de chaque nœud dans un graphe.

Il peut être utilisé pour classer la popularité ou l’influence entre les nœuds. Par exemple : permet d’identifier la pertinence pour trouver les personnes les plus in- fluentes dans un réseau social, ou pour trouver les pages Web les plus consultées [56].

(32)

D. Analyse de connectivité

Ce type d’analyse de graphe concentre sur le poids des bords entre les nœuds.

Il peut être appliqué pour identifier les faiblesses d’un système ou des anomalies telles qu’une activité anormalement élevée ou faible, elle peut être appliqué pour déterminer les faiblesses de réseaux tels qu’un réseau électrique public. Il permet également de comparer la connectivité entre les réseaux. [56]

1.6.3 Les Algorithmes d’Analytiques de graphes

Les algorithmes d’analytiques de graphes sont le moteur de l’analyse des systèmes connectés. Ces algorithmes utilisent les connexions entre les données pour évaluer et inférer l’organisation et la dynamique des systèmes du monde réel. Dans le tableau suivant (Table 1.1) nous présentons les algorithmes de la bibliothèque « Neo4j Graph Algorithms » les plus utilisées regroupés par catégorie :

Table 1.1: Algorithmes de neo4j [37]

1.6.4 Cas d’utilisation

L’analyse orientée graphes peut être utilisée pour une variété d’applications, telles que [30] :

(33)

• Appliquer l’analyse aux réseaux sociaux et aux communautés, comme le suivi des statistiques et l’identification des influenceurs,

• Réalisation d’analyses sur le trafic et la qualité de service des réseaux informatiques,

• Optimiser la logistique pour les industries manufacturières et de transport,

• Déterminer les analyses de classement des pages et suivre leur popularité ou le nombre de clics,

• Mener des recherches en sciences de la vie (bioinformatique), y compris la recherche médicale, les pathologies des maladies,...etc,

• Analyser les parties d’une application logicielle et comment elles interagissent pour trouver des problèmes potentiels.

1.7 Conclusion

Dans ce chapitre, nous avons illustré le concept du Big Data, ses caractéristiques, ses technologies connexes et ses domaines d’applications ainsi que les outils et les techniques de stockage utiliser, représentation et analyse qui aide à l’extraction directe ou indirecte des connaissances. A ce stade, nous pouvons dire que le Big Data est un écosystème large et complexe qui nécessite la maitrise des technologies matérielles et logicielles diverses (stockage, parallélisassions des traitements, Analyse...etc).

Concernent le chapitre qui suit nous allons le consacrer à la présentation de domaine d’application.

(34)

Présentation du domaine d’application

2.1 Introduction

De nos jours, il est devenu primordial que les utilisateurs des services en ligne (exemple : services de vente, bibliothèques en ligne,..etc.) accèdent à l’information qu’ils souhaitent, et qu’ils soient satisfaits des réponses obtenues pour qu’ils restent fidèles au service. Lors- qu’il s’agit d’un forum d’entraide en ligne, les traces des utilisateurs en termes de questions, de réponses, de commentaires, de votes, etc., sont des sources très riches permettant après exploitation d’améliorer la qualité du service. Parmi les exploitations utiles de ces services figure l’analyse de l’activité des utilisateurs afin de mieux comprendre la façon dont ils interagissent avec le système.

Certains systèmes mettent à la disposition des analystes intéressées une quantité de leurs propres données pour leurs analyses, comme StackExchange. Généralement ces données sont en format tabulaire, la représentation de ces données sous forme de graphes (les bases de données orientées graphes) permet une richesse de représentation des interactions entre les utilisateurs ce qui impose des opportunités d’analyses plus riches et orientées, à l’instar des analyses des interaction dans les réseaux sociaux.

Dans ce chapitre , nous allons présenter les systèmes d’entraide et un modèle commun pour la représentation de leurs données. Ensuite, nous allons présenter un système parti- culier d’entraide, à savoir StackExchange que nous utiliserons dans notre travail. Enfin, nous allons illustrer quelques possibilités d’analyse orientées graphes dans le système de StackExchange.

2.2 Forums d’entraide

L’évolution de la connaissance scientifique ne cesse de croître. Les gens, étudiants, chercheurs ou autres font face à des situations où ils ont besoin de l’aide dans un domaine ou un sujet qui l’intéresse. L’évolution de l’informatique, et entre autres, l’intelligence ar- tificielle ainsi que l’apparition de l’Internet ont promu des systèmes de questions/réponses (Q/R)(appelés aussi forums d’entraide).

Le concept du forum d’entraide s’articule au-tout de trois questions principales (Figure 2.1). Dans ce qui suit, nous détaillons chacune de ces questions.

(35)

Figure 2.1: Le forum en trois questions [29]

2.2.1 C’est quoi un forum d’entraide ?

Les forums dits d’entraide foisonnent sur le Web. Ils touchent des domaines nombreux et variés : santé, technologie, éducation etc. Leur point commun est, de manière générale, la constitution d’un fil de discussion à partir d’une requête/demande et la/les réponses éventuelle(s) d’autres participants [26].

Les forums d’entraide sont implémentés sous forme de plateformes permettant la discus- sion ainsi que les échanges d’information dans le but de s’aider mutuellement, de manière réciproque, spontanée et gratuite entre des internautes (des communautés en ligne) pour tenter de surmonter les difficultés. généralement sans spécialiser dans un domaine spéci- fique [6].

En ce qui concerne l’expérience client, un forum d’entraide est un type de support en libre- service où les clients peuvent trouver une solution à leurs problèmes sans avoir à contacter un agent du service client. Comme dit le proverbe, le meilleur nombre de contacts est zéro.

Les clients veulent résoudre eux-mêmes les problèmes [12].

2.2.2 Utilité des forums d’entraide

La recherche simple dans Google ou Wikipédia ne répond pas toujours à nos besoins d’apprentissage et de connaissance. Parfois on ne comprend jamais les gens qui répondent ou qui posent ces questions ni leurs intentions ou motivations. Les gens qui développent les sites d’entraide en ligne visent à régler ce problème par :

• L’augmentation de niveau de questions/réponses significative en ligne dans un do- maine précis,

• Développement de systèmes de qualité qui permettent le contrôle des utilisateurs et par l’utilisateur, et la mise d’un système de reconnaissance à ceux qui posent/répondent à des meilleures publications (posts), badges, réputation, droits d’action sur le site, etc,

• Développement de sites extrêmement efficaces, tant dans la pertinence des questions posées que dans la lisibilité et la qualité des réponses obtenues (dans chaque domaine précis il y a des experts). [33]

Références

Documents relatifs

mining complex data: sequences, trees, graphs, linked open data text mining, information retrieval, recommendation. preferences in KD: skylines, skycubes, aggregation measures

También se implementaron programas de sensibilización para escolares alrededor de una nueva cultura del agua, se diseñó una exposición fotográfica sobre los proyectos de

LES OPERATIONS septembre octobre novembre décembre janvier février mars avril mai juin.. savoir poser

The chemical components of raw materials that have large positive coefficients and thus increase the calculated/predicted contact angle values are: coke sulfur (S) content,

Il semble toutefois que ces dames pieuses n’étaient que tolérées dans l’organisation de la vie religieuse de la cité, car face aux attaques de messire Garcin, et bien qu’il

Some surveyed homes experienced untypically poor temperature control indoors due to the absence of a heat distribution system compounded by high air leakage rates through the

The overall problem may be taken from four different perspec- tives: i) a Biological problem in which particular types of mole- cules are investigated with a measuring device (such as