Sujets-libres.fr

Informatique, logiciels libres, internet, humeurs et… le reste !

Trouver l'actualité dominante sur une période donnée

Rédigé par -Fred- 3 commentaires
J'ai précédemment évoqué vaguement le projet sur lequel je travaille en ce moment. Cette fois ci, je vais expliquer le truc plus concrètement.

Le problème à résoudre



La génération de mes parents et plus encore celle de mes grand parents savaient globalement mieux utiliser leur mémoire que nos générations. A leur époque, il était tout à fait normal de connaître les noms de l'ensemble des départements français, et ce, en primaire. Je me rappel avoir vu en vidéo une conférence de Michel Serres il y a quelques années traitant des grandes étapes de l'évolution de l'homme. Pour faire court, à chaque fois que l'homme a perdu (un peu) une faculté, c'est parce qu'il a gagné quelque chose de plus intéressant ailleurs. Aujourd'hui, nos machines disposent de capacités de mémorisation (et de calcul) largement supérieures à celles du cerveau humain. Tout naturellement, notre génération a moins besoin de faire travailler sa mémoire et par la force des choses, cette mémoire est moins bonne.

Pour preuve, lorsque je demande dans mon entourage s'ils se souviennent de l'actualité qui les a marqué disons... il y a 3 mois, je n'obtiens pas beaucoup de réponses positives. Précision importante, la notion d'information "importante" est fixée par celui à qui on pose la question. Ainsi, cette notion variera entre un amateur de sport collectifs et une personne suivant l'actualité internationale ou tout autre sujet.

Ce mouvement est inéluctable, alors autant l'accompagner. Je me suis donc demandé par quel moyen il était possible pour chacun de retrouver les actualités qui de son point de vue on eu de l'importance sur une période donnée.



L'approche retenue



Collecter l'information


Une manière simple, parmi d'autres, de trouver des informations mises à jour régulièrement est de suivre des flux RSS.

L'avantage des flux RSS est qu'ils sont standardisés et qu'il est possible d'en trouver couvrant n'importe quel sujet.
L'inconvénient des flux RSS est qu'à un instant T, il ne contiennent que les dernières informations du flux. Afin de garder un historique, il faut donc mémoriser régulièrement les nouvelles entrées du flux. Pour ça, j'ai opté pour une base de donnée installée localement et ça fait parfaitement l'affaire.

Sur ce dernier point, j'ai quand même eu deux interrogations :

  • Ai-je le droit de stocker ces données, y compris si elle ne sont plus accessible depuis le site source du flux ? Il est probable que la réponse dépende à chaque fois du flux à traiter. Dans le cas du journal "Le Monde" par exemple, la lecture des mentions légales me laisse penser que pour ce site, cela est autorisé tant que ça reste dans un cadre privé.

  • Y a-t-il un risque à récupérer des données préalablement collectées par un tiers ? Cela présenterai l'avantage de construire directement une base bien remplie qui serait exploitable immédiatement. Outre le fait que celui qui mettrait à disposition le fasse alors hors du cadre privé, je pense qu'utiliser un intermédiaire serait prendre un risque. Le risque que les données disponibles soient altérées d'une quelconque manière, volontairement ou non.



Je pense donc qu'il est quoi qu'il arrive préférable d'effectuer la collecte soit même, en renseignant directement l'adresse des flux à suivre.
La partie relative à la collecte n'est pas compliquée à résoudre en fait puisqu'il s'agit simplement d'enregistrer des bouts de fichiers XML en base de donnée.

J'ai développé un petit script Python pour ça et les résultats sont stockés dans une base de données PostgreSQL. La première mouture de mon script de collecte faisait un pré-traitement de mon fichier XML. J'en suis un peu revenu est j'ai décidé de collecter à la place des données brut. Le traitement sera donc à effectuer lors de la phase d'analyse.

Il me reste encore des détails à voir mais la collecte fonctionne déjà. Pour le moment, je lance le script python périodiquement grâce à une tâche cron.
Je peux diffuser cette partie aux intéressés si on m'en fait la demande (voir mon mail, page "auteur"). Comme pour mes projets précédents, je diffuserai le tout sous GPLv3 une fois que j'aurais quelque chose de pleinement fonctionnel (la collecte et l'analyse donc).

Analyser l'information


Cette partie là est super intéressante car on peut le faire de différentes manières.

Ma première approche a consisté à compter simplement les occurrences de chaque mot des textes à analyser
--> le résultat n'est pas pertinent car ce sont les mots de grammaire qui ressortent.

L'approche suivante, que j'utilise pour le moment, donne de meilleurs résultats. Elle consiste à donner un poids à chaque mot, encore en fonction de son occurrence, mais pas que. Plus un mot comporte de caractères, plus son poids est important (là, le poids du mot est proportionnel au carré de sa longueur). Je donne aussi plus de poids aux mots comportant plus d'un caractère majuscule (signe qu'il s'agit d'un acronyme ; les acronymes sont généralement chargés de sens)
--> le résultat est nettement meilleur mais je bute sur un problème. Les mots qui ont le plus de poids n'ont pas de sens très clair puisque tout est encore sorti de son contexte.

J'espère donc maintenant pouvoir interpréter le sens des articles.
Si je ne dis pas de bêtises, ça revient à vouloir faire une étude sémantique des textes.

A suivre...

[edit du 28/07/2014]
Si je réfléchi bien à ce que je veux finalement, je pense que l'analyse des articles complets (ou le cas échéant des articles tronqués ou des articles résumés) n'est pas du tout nécessaire. Normalement, le titre doit suffire. C'est vrai sauf si le fil à suivre adopte des titres racoleurs (allez voir sur yahoo! par exemple).
Bref, l'analyse des mots clés des titres d'articles (nombre d'occurrences sur la période et associations) me paraît suffisante.

Ça présente aussi l'avantage de rendre la phase d'analyse plus simple.
[/edit]

3 commentaires

#1  - alterlibriste a dit :

Ton projet est super intéressant mais il y a certains points qui me posent question.

Si j'ai bien compris, une fois ta base constituée, tu interrogeras un panel de personnes pour voir si les différentes générations retiennent mieux les actus qui les ont marqué (dans leur domaine de prédilection) les mois précédents. Il y aura peut-être juste un petit biais pour les personnes de plus de 70 ans dont l'enregistrement commence à défaillir, alors qu'elles savent encore leurs départements.

C'est là où ça me titille un peu. Je ne suis pas un spécialiste mais je me suis déjà intéressé au sujet de la mémoire et il y a vraiment différents types (court terme, moyen terme, long terme) et c'est un processus qui s'entraîne. Par exemple, quelqu'un d'habitué à apprendre des choses saura très bien retenir. Nos parents qui savent encore ce qu'ils ont appris par coeur à l'école, s'ils n'ont plus gardé l'entraînement auront sans doute plus de mal.
Par ailleurs, la période choisie (mémoire à moyen terme) est celle où le cerveau doit sélectionner ce qu'il doit oublier (car non utile) et précisément, pour qu'il ait retenu, il faut qu'il y ait eu du matraquage (on retient ce que l'on a oublié 3 fois), peu de chance que quelqu'un ne se souvienne pas du mondial par exemple.
Bref, je trouve que la méthode n'est pas forcément optimale.

Ne vaudrait-il mieux pas faire apprendre une citation et revoir les personnes une semaine plus tard pour savoir si elles l'ont retenu ?

En plus, l'accès à l'actualité est devenu tellement différent et spécialisé que la traditionnelle grand messe du 20h (par exemple, moi je suis l'actu locale, musicale et du libre, à peine celle nationale ; comment m'interrogerais-tu ?)

Sinon, bon courage pour cette étude et si mes critiques te semblent constructives, n'hésite pas à poursuivre la discussion par mail.

Répondre
#2  - -Fred- a dit :

Bonjour,

En fait, ce n'est pas tout à fait ça. L'exemple des grand parents était là pour illustrer que les générations actuelles font moins appel à leur mémoire que les précédentes. L'idée générale, c'est qu'en fonction de ses centres d'intérêts, on soit en mesure de retrouver la ou les actualités dominantes sur une période donnée, et ce, sans l'aide de personne, juste grâce à un outil.

Ça sera plus parlant si je prend ton cas par exemple :
Si tu venais à utiliser cet outil, il te faudrait d'abord donner plusieurs flux RSS à suivre (ces flux couvrant l'actu locale, la musique et le libre). Au fil des jours, des semaines, tu vas te constituer progressivement ta base en local.
A posteriori, il te sera donc possible d'interroger ta base, ou simplement une partie de ce que tu as collecté (par exemple, les flux ne traitant que de musique), afin d'en faire ressortir une actualité dominante sur une période donnée.

J'espère pouvoir analyser les données que j'ai collecté sans l'aide d'une tierce personne. Comme expliqué dans mon premier message, compter les occurrences n'est sans doute pas la meilleure solution. Je ne sais pas encore trop bien comment je vais m'y prendre, ni même si ce que je veux faire est vraiment réalisable mais bon, il faut essayer.

Je suis entièrement d'accord avec toi concernant le grand messe du 20h. Ce sera certainement trop généraliste pour servir dans le cas présent.

Merci de ton retour.

Répondre
#3  - alterlibriste a dit :

En effet, je n'avais rien compris ; en fait, tu voudrais pallier le manque d'entraînement de notre mémoire avec un outil qui permette de se remémorer facilement les événements marquants des mois précédents.

Effectivement, te baser sur les titres est probablement ce qu'il y a de plus simple.

Répondre

Écrire un commentaire

Quelle est la dernière lettre du mot ocja ?

Fil RSS des commentaires de cet article