====== Projet Groupe 8 ====== ==== Présentation du projet ==== * Nom 1 : COLOMBET Aurélien * Créneau (AM ou PM) : PM * Nom 2 : SALMERON Quentin * Créneau (AM ou PM) : PM * Nom du Projet : Circle Messenger === Un scénario d'illustration du Projet === 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 ==== * 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 * {{: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) * Caractéristiques de l'OS et des environnements logiciels utilisables pour développer sur ce SmartPhone * Android 6.0 ==== Ressouces utilisées dans 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 * Environnement de logiciel : Android Studio * Version OS : Android 6.0 (API 23) * [[https://developer.android.com/about/versions/marshmallow/android-6.0.html|Lien vers la page de doc]] * 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. 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]] * 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