Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
cours:plim:projet16_17:gr8:gr8 [2016/10/18 09:48] qsalmeron |
cours:plim:projet16_17:gr8:gr8 [2017/02/17 16:47] (Version actuelle) qsalmeron [APK] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Projet Groupe 1 ====== | + | ====== Projet Groupe 8 ====== |
==== Présentation du projet ==== | ==== Présentation du projet ==== | ||
Ligne 7: | Ligne 7: | ||
* Nom 2 : SALMERON Quentin | * Nom 2 : SALMERON Quentin | ||
* Créneau (AM ou PM) : PM | * Créneau (AM ou PM) : PM | ||
- | * Nom du Projet : | + | * Nom du Projet : Circle Messenger |
=== Un scénario d'illustration du Projet === | === Un scénario d'illustration du Projet === | ||
- | Il s'agit d'un réçit de quelques lignes, qui illustre l'utilisation du système par un utilisateur appelé Bob. | + | Bobby est une personne débordée, mais il tient à envoyer des messages d’anniversaire à ses contacts. |
+ | Aujourd’hui, c’est l’anniversaire d’Alexandra, une amie de Bobby. Notre application Circle Messenger catégorise Alexandra comme faisant partie de son cercle d’amis à partir des données récupérées dans le journal d’appels et le journal de SMS. Bobby reçoit une notification lui informant que c’est l’anniversaire d’Alexandra, et lui propose un message personnalisé pour lui souhaiter un bon anniversaire sur un ton familier. | ||
+ | Un autre jour, l’anniversaire de Charles, un collègue de travail, arrivera. Ce jour-là, Circle Messenger proposera à Bobby d’envoyer à Charles un message lui souhaitant un joyeux anniversaire, mais sur un ton plus formel. | ||
+ | === Activité reconnue === | ||
+ | |||
+ | Notre application a pour but de catégoriser les contacts en fonction des interactions avec l'utilisateur. Nous allons donc reconnaître la relation entre l'utilisateur et ses contacts à partir de leur communication. | ||
+ | |||
+ | == Algorithme mis en oeuvre == | ||
+ | |||
+ | Le but de notre application étant avant tout de catégoriser les contacts de l’utilisateur, nous avons choisi comme type d’algorithme le clustering, un algorithme non supervisé répondant exactement à notre besoin. | ||
+ | Nous avons choisi plus particulièrement l’algorithme K-means, algorithme qui nous a été présenté et facile à utiliser. | ||
+ | Pour notre algorithme, nous utilisons comme métrique les différentes informations récupérées par les sondes du smartphone traitées pour n’obtenir que ce qui suit : | ||
+ | |||
+ | Les types de données suivants sur une période d'une heure : | ||
+ | |||
+ | |Nombre de SMS|Nombre d'appels|temps d'appel cumulé|Temps d'appel moyen|Est en semaine|Moment de la journée (matinée, journée, soirée)|Contact Type| | ||
==== Matériel disponbile ==== | ==== Matériel disponbile ==== | ||
- | * Référence du SmartPhone | + | * Référence du SmartPhone : Huawei Honor 5C |
+ | * Caractéristiques techniques | ||
+ | * {{:cours:plim:projet16_17:gr8:stat_honor.png?300|}} | ||
+ | * Résumé des fiches techniques en terme de ressources du SmartPhone (capteurs mais aussi Data collectés par le Mobile) | ||
+ | * Caractéristiques de l'OS et des environnements logiciels utilisables pour développer sur ce SmartPhone | ||
+ | * Android 6.0 | ||
+ | |||
+ | * Référence du SmartPhoe : Huawei P8 | ||
* Caractéristiques techniques | * Caractéristiques techniques | ||
- | * [[http://example.com|Lien vers les fiches techniques du constructeur]] | + | * {{:cours:plim:projet16_17:gr8:stathuawei.png?300|}} |
- | * Résumé des fiches techniques en terme de ressources du SmartPhone (capteurs mais aussi Data collectés par le Mobile) | + | * Résumé des fiches techniques en terme de ressources du SmartPhone (capteurs mais aussi Data collectés par le Mobile) |
- | * Caractéristiques de l'OS et des environnements logiciels utilisables pour développer sur ce SmartPHone | + | * Caractéristiques de l'OS et des environnements logiciels utilisables pour développer sur ce SmartPhone |
- | * Autre Commentaires | + | * Android 6.0 |
==== Ressouces utilisées dans le Projet ==== | ==== Ressouces utilisées dans le Projet ==== | ||
* Liste des capteurs mais aussi Data collectés par le Mobile, utilisés pour le projet | * Liste des capteurs mais aussi Data collectés par le Mobile, utilisés pour le projet | ||
+ | * Journal d'appels | ||
+ | * Journal de SMS | ||
+ | * Répertoire de contacts | ||
* Liste des SDK et API pour l'accès à ces informations | * Liste des SDK et API pour l'accès à ces informations | ||
- | * Environnement de logiciel : | + | * Environnement de logiciel : Android Studio |
- | * Version OS : | + | * Version OS : Android 6.0 (API 23) |
- | * [[http://example.com|Lien vers la page de doc]] | + | * [[https://developer.android.com/about/versions/marshmallow/android-6.0.html|Lien vers la page de doc]] |
- | * Conclusion sur la Fisabilité du Projet | + | * Conclusion sur la Faisabilité du Projet |
+ | * Tout d’abord, le SDK Android 6.0 (API 23) noud permet d’accéder aux sondes dont nous avons besoin. <del>Ensuite, la bibliothèque « Java Machine Learning Library » nous permet d’utiliser l’algorithme K-means en Java. [[http://java-ml.sourceforge.net/api/0.1.7/net/sf/javaml/clustering/KMeans.html|La documentation ici]]</del> | ||
+ | * Au final nous avons utilisé la librairie RandomForest du langage R que nous avons couplé avec un serveur PHP qui permet de faire la passerelle entre notre application mobile et notre serveur. Coté serveur nous avons donc mis en place un systeme qui permet de faire l'apprentissage grâce aux données collectés. Un système qui permet de récupérer les données depuis l'application et un système qui permet d'estimer un type de contact grâce à une liste de vecteur de celui-ci. | ||
- | ==== | + | ==== Rendu final ==== |
+ | Dépôt GitHub : https://github.com/KingdomCodeur/Circle-Messenger | ||
+ | APK : https://drive.google.com/file/d/0B-AGqqBLH05SV0kxLXJob0dxRDQ/view?usp=sharing |