Bonjour à tous,
Ce soir, j'aimerais vous présenter un projet qui me tient à coeur depuis un certain temps.
L'idée générale
L'idée générale m'est venue un jour ou je faisais des recherches à propos de quelqu'un sur le Web.
Après avoir fait le tour de nombreux moteurs de recherches, de nombreux sites, de nombreux flux rss, je n'avais toujours pas trouvé ce que je cherchais. Quelle frustration !
J'ai alors voulu automatiser ma recherche et demander à un programme de la faire à ma place.
Les buts
Le but est donc de développer une application agrégeant le plus possible de sources afin d'accéder le plus possible d'informations.
Une fois les informations récupérées, l'étape suivante est de trier et de cataloguer cette information. Mon idée à ce niveau est toujours floue mais je dirais qu'un minimum est de définir les liens les plus intéressant et de les afficher.
Le mieux du mieux serait de, dans les pages les plus intéressantes, récupérer les paragraphes les plus intéressants et de tous les agréger afin de sortir un joli résumé.
Récupérer les informations
J'ai déjà développé mon propre Web Crawler en python (https://github.com/AnOnyme77/SearchTools --> WebBot.py).
Il récupère des liens Google et surf après de manière arborescente sur les sites récupérés. Il a été développé dans l'urgence et a été très mal fait mais il est fonctionnel. L'idée serait donc de le réécrire en lui donnant d'autres moteurs de recherches et d'autres services.
D'autres modules doivent également pouvoir s'adapter à cette structure de base :
L'analyse des informations
A ce niveau, il reste beaucoup à faire.
Il faudrait trier et catégoriser l'information.
Dans le cadre du web crawler, j'avais en son temps développé un système simpliste basé sur des critères. Cependant, cela ne suffit pas à tous les types d'informations.
Les technologies utilisées
J'aimerais faire ce développement en Java (simplement parce que c'est le langage que je maitrise le plus).
Il faudrait bien évidement stocker les données récupérées, elles pourraient servir à d'autres recherches.
Au point de vue du stockage, j'hésite toujours entre une DB SQL ou NoSQL (actuellement SQL).
Le futur idéal
Le problème de ce projet, c'est sa demande en puissance de calcul.
Rien que pour le web crawler parcourant de manière arborescente 5 liens Google, il m'est arrivé d'attendre 20 minutes. J'ai pourtant une très bonne config.
Le futur idéal serait donc de fournir un service de recherche en ligne dont chaque client servirait aux recherches des autres. Le tout avec une centralisation pour l'ordonnancement du travail.
C'est bien évidement un futur idéal qui n'arrivera probablement jamais mais bon qui sait.
Votre avis
J'ai eu l'occasion de présenter l'idée devant une équipe d'IBM (l'occasion était fortuite et dans le cadre scolaire) mais le projet avait eu l'air de les surprendre.
Et vous, qu'en pensez vous ?
Voyez vous un intérêt à un tel produit ?
Ce soir, j'aimerais vous présenter un projet qui me tient à coeur depuis un certain temps.
L'idée générale
L'idée générale m'est venue un jour ou je faisais des recherches à propos de quelqu'un sur le Web.
Après avoir fait le tour de nombreux moteurs de recherches, de nombreux sites, de nombreux flux rss, je n'avais toujours pas trouvé ce que je cherchais. Quelle frustration !
J'ai alors voulu automatiser ma recherche et demander à un programme de la faire à ma place.
Les buts
Le but est donc de développer une application agrégeant le plus possible de sources afin d'accéder le plus possible d'informations.
Une fois les informations récupérées, l'étape suivante est de trier et de cataloguer cette information. Mon idée à ce niveau est toujours floue mais je dirais qu'un minimum est de définir les liens les plus intéressant et de les afficher.
Le mieux du mieux serait de, dans les pages les plus intéressantes, récupérer les paragraphes les plus intéressants et de tous les agréger afin de sortir un joli résumé.
Récupérer les informations
J'ai déjà développé mon propre Web Crawler en python (https://github.com/AnOnyme77/SearchTools --> WebBot.py).
Il récupère des liens Google et surf après de manière arborescente sur les sites récupérés. Il a été développé dans l'urgence et a été très mal fait mais il est fonctionnel. L'idée serait donc de le réécrire en lui donnant d'autres moteurs de recherches et d'autres services.
D'autres modules doivent également pouvoir s'adapter à cette structure de base :
- Récupération de flux RSS (ici, j'ai déjà une implémentation partielle)
- Accès direct à Wikipedia
- Accès direct à Base
- Accès direct à Wolfram Alpha
- ...
L'analyse des informations
A ce niveau, il reste beaucoup à faire.
Il faudrait trier et catégoriser l'information.
Dans le cadre du web crawler, j'avais en son temps développé un système simpliste basé sur des critères. Cependant, cela ne suffit pas à tous les types d'informations.
Les technologies utilisées
J'aimerais faire ce développement en Java (simplement parce que c'est le langage que je maitrise le plus).
Il faudrait bien évidement stocker les données récupérées, elles pourraient servir à d'autres recherches.
Au point de vue du stockage, j'hésite toujours entre une DB SQL ou NoSQL (actuellement SQL).
Le futur idéal
Le problème de ce projet, c'est sa demande en puissance de calcul.
Rien que pour le web crawler parcourant de manière arborescente 5 liens Google, il m'est arrivé d'attendre 20 minutes. J'ai pourtant une très bonne config.
Le futur idéal serait donc de fournir un service de recherche en ligne dont chaque client servirait aux recherches des autres. Le tout avec une centralisation pour l'ordonnancement du travail.
C'est bien évidement un futur idéal qui n'arrivera probablement jamais mais bon qui sait.
Votre avis
J'ai eu l'occasion de présenter l'idée devant une équipe d'IBM (l'occasion était fortuite et dans le cadre scolaire) mais le projet avait eu l'air de les surprendre.
Et vous, qu'en pensez vous ?
Voyez vous un intérêt à un tel produit ?
Commentaire