La dépression et le suicide sont devenus des problèmes de plus en plus préoccupants dans notre société. Une détection à temps de ces problèmes peut aider à sauver des vies. Le travail de ce projet consiste à explorer la possibilité de détecter des signaux de dépression et de suicide sur les réseaux sociaux où beaucoup d'internautes échangent des informations et leurs pensées. Des personnes ayants la dépression ou des idées suicidaires peuvent les exprimer sur les réseaux sociaux. Notre travail est une étude de faisabilité dans l'automatisation de cette détection. Le projet est subventionnée par L'Agence de la santé publique du Canada via une subvention à l'entreprise Sightline avec qui des chercheurs de McGill et de l'UdeM collaborent.
La tâche de détection peut être vue comme une tâche de classification: est-ce qu'un post sur Twitter (un tweet) montre des signaux de dépression ou de suicide? Pour cela, nous allons explorer différents types d'informations: les mots dans le post, le sentiment que ces mots expriment, les caractéristiques de l'utilisateur (e.g. fréquence d'utilisation de Twitter), le cercle d'amis sur Twitter, etc. Ces informations seront extraites à partir des données de Twitter en utilisant l'extraction de l'information et des outils de traitement de langue naturelle. Parmi les techniques de classification envisagées, nous allons tester des techniques de classification classiques comme Naive Bayes, l'arbre de décision, mais aussi les techniques d'apprentissage profond (e.g. représenter des mots par des embeddings). Ces techniques, supervisés, devront être investigués seulement l'annotation des données complétés par des chercheurs de McGill. En attente de cela, je vais explorer la fesabilité d'une telle détection en utilisant les techniques non-supervisées, en ajoutant comme information supplémentaire la polarité émotionnelle, information accessible via un classificateur entrainé sur le jeu de donnée Sentiment140 .
J'utiliserai la librairie Scikit-learn pour les techniques d'apprentissages classiques, PyTorch pour l'implémentation de réseaux de neuronnes "non-standards", et Keras pour l'implémentation de réseaux de neuronnes "standards". Pour les contraintes matériels, j'aurai accès à des GPU puissantes lorsqu'il s'agira d'entraîner les modèles, via Google Colab. Pour la phase de developpement logiciel, une machine ample suffit, et je developperai dans l'IDE Spyder.
J'envisage me familiariser avec les techniques non-supervisées, et en particulier, implémenter le modèle proposé dans l'article Short Text Clustering via Convolutional Neural Networks (Xu) (CNN modélisateur) à l'aide de PyTorch et Scikit Learn.
Pour obtenir un classificateur entrainé pour analyser la polarité émotionnelle, j'ai décidé d'implémenter le CNN décrit dans l'article Convolutional Neural Networks for Sentence Classification (Kim) (CNN classificateur) , que j'entrainerai avec le jeu de donné Sentiment140, contenant 1.6 millions de tweets annotées.
Date de début: 10 septembre
Date de fin : 1er décembre
Date de présentation : à confirmer
Plan pour le mois de septembre (avant l'annotation des données) :
À planifier :
Objectif :
Objectif :
Objectif :
Objectif :
Note: je planifie mettre moins de temps cette semaine pour le projet, en raison de la mi-session.
Objectif :
Note: je planifie mettre moins de temps cette semaine pour le projet, en raison de la mi-session.
Objectif :
Objectif :
Cette semaine, j'ai rencontré le chercheur PhD. Pan Du, du RALI, qui travail sur le projet. Il m'a demander de lire un segment d'article non publié sur la selection d'attributs spécifiquement dans le contexte de l'analyse de sentiment. Il m'a aussi demander de finir le clusterer du modèle de Xu. Les résultats de clustering pourront être incorporés comme attributs une fois les données annotées. On a aussi discuté des idées sur comment utilisé le classificateur de polarité émotionnelle, et d'aprés lui, le mieux serait de "fine-tuner" le classifier une fois les données annotés.
Bilan :
J'ai implémenter l'algorithme de clustering. J'ai choisi le Spectral Clustering. Le modèle de Xu est donc prêt à être testé.
J'ai été mis en contact avec la compagnie SightLine. J'ai maintenant accès aux données brutes non-annotées via leur serveur.
Ayant consacré beaucoup trop de temps sur le projet au détriment de mes autres cours, je vais plus me concentrer sur mes autres cours et ce jusqu'à la fin de la session. Je crains aussi ne pas avoir le temps de tester mon modèle. Cela ne fait rien, ma contribution est en open-source sur GitHub. J'ai une rencontre avec le chercheur PhD.Pan Du pour m'aider à m'orienter dans la rédaction de mon rapport. J'ai également un séminaire le 21 novembre sur la détection de dépression sur les résaux sociaux.
J'ai correspondu avec SightLine pour obtenir les données. J'attend leur réponse.
Sightline veut garder les données sur leurs serveurs. Je dois donc uploader mon repo pour pouvoir lancer le test. J'ai envoyé mon repo à Sightline, et j'attend qui le mettent sur le serveur.
Mon repo a été mis sur le serveur le 5 décembre. Toutefois, je ne peux encore tester le tout car les données ne sont pas encore prêtes. J'ai commencé le rapport, et j'ai commencé le rapport en laissant les résultats expérimentaux à blanc. Je remplirai ceux-ci vers Janvier, comme Prof. Nie me l'a recommandé.