.. _l-proj_data: Data en folie ============= .. contents:: :local: Il est difficile de résumer les sujets de cette rubrique. Il s'agit toujours de triturer des données de différentes façons, machine learning, datamining, recherche opérationnelle, texte mining... .. _l-data-velib: Inférer les trajectoirs de vélo vélib ------------------------------------- C'était le sujet de la première coding party que personne n'est vraiment arrivé à conclure. Avec un peu plus de temps, qui sait ? Voir aussi `Déterminer la vitesse moyenne des vélib `_. .. _l-data-nuage: Nuages de mots, extraction de concepts -------------------------------------- Les nuages de mots sont apparus récemment pour représenter les mots-clés les plus importants sur une page, un ensemble de pages internet : `Tag Cloud `_. .. image:: nuage.png L'objectif est de construire ces nuages de points pour les discours du premier ministre et du président de la République. Le rendu graphique peut être réalisé simplement à partir du langage HTML (voir l'`exemple suivant `_) ou en utilisant des représentations dynamiques (voir `More about interactive graphs using Python, d3.js, R, shiny, Jupyter, vincent, d3py, python-nvd3 `_). Pour déterminer l'importance des termes, les premiers essais pourront être faits en fonction de la fréquence de chaque mot bien que cette méthode a tendance à favoriser les petits mots. On pourra ensuite utiliser des critères plus complexes comme celles suggérées sur la page `Tag Cloud `_. Quelques références bibliographiques : - `BM25 `_ : c'est une des variables utilisées par les moteurs de recherches - `TF-IDF `_ - `Représentations du texte pour la classification arborée `_ - `Tag Clusters as Information Retrieval Interfaces `_ - `Sur la topologie d'un arbre phylogénétique... `_ Pour la partie extraction de concepts, on pourra s'inspirer de : - `Interactive Retrieval Based on Wikipedia Concepts `_, Lanbo Zhang Deux blogs qui pourront vous donner d'autres idées comme calculer la richesse d'un vocabulaire : - `Pascal Marchand, richesse lexicale `_ - `Corpus - La distance intertextuelle `_ Si besoin, voici d'autres données sur un autre blog : - `Veronis/Discours 2007 `_ - `Veronis Premiers Ministres `_ Et quelques exemples de nuages : `Creating Stylish, High-Quality Word Clouds Using Python and Font Awesome Icons `_. .. _l-data-twitter: Twitter ------- On peut faire beaucoup de choses avec `Twitter `_. La première étape consiste à récupérer des données avec des modules tels que : - `twint `_ - `tweepy `_ - `twitter `_ - `python-twitter `_ Ensuite, l'exploitation des données peut varier. A partir de données historiques qu'on collectera tout au long du projet, on peut chercher à prédire un événément, la météo, des opinions... Quelques références : - `Competing Opinions and Stubborness: Connecting Models to Data `_ - `Home Location Identification of Twitter Users `_ - `Opinion control in complex networks `_ - `Social Clicks: What and Who Gets Read on Twitter? `_ - `What is Twitter, a Social Network or a News Media? `_ Il est préférable de lire le dernier article avant de commencer le projet. .. _l-data-whoosh: Recherche de texte dans n'importe quelle base de données avec Whoosh -------------------------------------------------------------------- `Whoosh `_ est un module Python qui permet de faire de la recherche dans une base de données de textes. Il faudra d'abord constituer un corpus de texte (discours politiques, pages `wikipedia dumps `_, Twitter, blogs, ...) Evaluer un moteur de recherche n'est pas chose facile, cela dépend de la tâche, du corpus... Une métrique possible est le `DCG `_. Le projet se déroulera en plusieurs étapes : * constitution du corpus de texte * premiers exemples avec Whoosh * définition de l'objectif de recherche * évaluation * prolongements possibles * `query rewriting `_ * `Rewriting Queries `_ * `Online Expansion of Rare Queries for Sponsored Search `_ Source de textes ---------------- * `wikipedia dumps `_ * :ref:`f-discourspolitique` (pour récupérer les discours politiques de l'Elysées) * :ref:`l-datasources`