Journal Recherche sur DLFP

28
19
juil.
2018

Salut Nal,

Aujourd'hui, j'ai essayé de faire une recherche à propos d'un article relativement récent sur un outil de capture d'écran (qui permet d'effectuer des modifications de la capture directement) … sans succès.

Et ce n'est pas la première fois ! La recherche sur ce site (avec Duck Duck go) ramène les contenus par rapport à la pertinence des mots clefs quand la plupart du temps (pour ma part, en tout cas), il serait intéressant de trier le contenu trouvé par date de publication (en partant du plus récent), et également d'afficher la date de publication.
Du coup, cher Nal, je me demande comment tu fais tes recherches dans la somme de contenu de DLFP ?

Comme je vois souvent des lecteurs faire référence à des articles précédents, je ne doute pas que certains ont trouvé des manières de faire des recherches plus performantes que la recherche du site (Duck Duck Go) … ou bien c'est moi qui ne sait pas chercher correctement !

  • # je demande au grand méchant

    Posté par . Évalué à 10 (+10/-0).

    avec une précision : "site:linuxfr.org"

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

    • [^] # Re: je demande au grand méchant

      Posté par (page perso) . Évalué à 3 (+2/-0).

      Effectivement, avec StartPage (moteur Google anonymisé) on peut choisir les résultats de cette semaine, ce mois, cette année ?
      Je n'y avais pas pensé et c'est un plus … mais ça ne suffit pas !
      Dans mon cas, l'article en question date de plus d'un mois et en choisissant "capture d'écran" + "moins d'un an", je ne le trouve pas : il y a trop de résultats retournés.

      J'ai fini par le trouver en listant les entrées du forum général.cherche-logiciel (qui peuvent être triés par date) : en me rappelant la rubrique du forum, cela m'a permis d'obtenir une liste relativement faible.

      Ceci étant, je pense qu'il y a un consensus pour dire qu'il faudrait trouver une meilleure solution que d'utiliser Duck Duck Go … mais personnellement, je n'en connais pas ! :-(

      • [^] # Re: je demande au grand méchant

        Posté par (page perso) . Évalué à 1 (+0/-0).

        Pour implémenter la recherche il existe des solutions :

        Si vous souhaitez un peu d'aide n'hésitez pas à échanger, ça ferai un bon petit linuxfr summer of code :)

        • [^] # Re: je demande au grand méchant

          Posté par (page perso) . Évalué à 7 (+4/-0). Dernière modification le 20/07/18 à 16:19.

          On est toujours preneur d'un coup de main sur le code !

          Pour la recherche, on a eu pendant un temps un ElasticSearch pour faire ça, mais ce n'est pas simple d'avoir des résultats pertinents. Les gens avaient du mal à trouver ce qu'ils cherchaient et passaient finalement le plus souvent par un moteur de recherche externe. Si quelqu'un est motivé, on peut retenter le coup d'un moteur de recherche interne.

          https://github.com/Casecommons/pg_search

          Pour info, le moteur de base de données actuel du site est MySQL. C'est faisable de migrer vers PostgreSQL mais ça demande du travail.

          https://github.com/algolia/algoliasearch-rails

          Il me semble qu'Algolia est propriétaire et nécessite du JavaScript pour tourner. Je ne suis pas très chaud pour ça, mais ce n'est que mon avis personnel.

          • [^] # Re: je demande au grand méchant

            Posté par (page perso) . Évalué à 2 (+1/-0).

            Je viens de voir pour mysql, ca ne serait pas un mal de migrer. C'est quand même plus sérieux comme db mais je comprend qu'on veuille limiter la charge de dev.

            Pour algolia, c'est propriétaire mais pas plus que duckduckgo et au moins les données ne sont pas partagée ni réutilisée. Bien qu'il soit conseillé d'utiliser javascript ce n'est pas obligatoire. Idem, je comprends bien que ce n'est pas la tradition de linuxfr d'aller se bloquer chez un vendeur.

          • [^] # Re: je demande au grand méchant

            Posté par . Évalué à 2 (+0/-0).

            Pour la recherche, on a eu pendant un temps un ElasticSearch pour faire ça, mais ce n'est pas simple d'avoir des résultats pertinents. Les gens avaient du mal à trouver ce qu'ils cherchaient et passer finalement le plus souvent par un moteur de recherche externe. Si quelqu'un est motivé, on peut retenter le coup d'un moteur de recherche interne.

            J'essaierai bien avec Elastic Search. C'est facile d'obtenir un dump de la db?

          • [^] # Re: je demande au grand méchant

            Posté par . Évalué à 1 (+0/-0).

            Pour info, le moteur de base de données actuel du site est MySQL. C'est faisable de migrer vers PostgreSQL mais ça demande du travail.

            Quelles seraient les difficultés principales selon toi ?

            • [^] # Re: je demande au grand méchant

              Posté par (page perso) . Évalué à 6 (+3/-0).

              Je ne pense pas qu'il y ait quelque chose de difficile, c'est juste que ça prend du temps, notamment pour bien tester et corriger les petits soucis qui ne manqueront pas d'arriver. Le code, avec Ruby on Rails, est agnostique de la base de données et ça devrait marcher facilement. Mais il faut aussi penser à la partie admin/sys (les sauvegardes par exemple).

              • [^] # Re: je demande au grand méchant

                Posté par . Évalué à 2 (+2/-0).

                ok.

                https://github.com/linuxfrorg/linuxfr.org/blob/master/db/schema.rb donne le schéma de la base.

                en la remplissant chez moi de garbage, je devrais pouvoir faire des essais recherche "full text".

                mais comment juger ensuite de la pertinence ou non d'une solution?
                une solution fonctionnelle ne garantit pas des résultats pertinents.

                un pull request et vous nous lisez?

                • [^] # Re: je demande au grand méchant

                  Posté par . Évalué à 7 (+5/-0). Dernière modification le 21/07/18 à 14:56.

                  ok.

                  https://github.com/linuxfrorg/linuxfr.org/blob/master/db/schema.rb donne le schéma de la base.

                  en la remplissant chez moi de garbage, je devrais pouvoir faire des essais recherche "full text".

                  mais comment juger ensuite de la pertinence ou non d'une solution?
                  une solution fonctionnelle ne garantit pas des résultats pertinents.

                  un pull request et vous nous lisez?

                  Moi ce que je ferai c'est de remplir une base de donnees avec les vrais journaux, depeches et commentaires (et les dates parce que les gens trouvent ca important). Pas besoin du schema complet. J'ai juste besoin du contenu a rechercher et des liens vers les pages.

                  Ensuite je fais des petits scenario de tests a base des commentaires qu'on trouve sur la page ici.

                  Par exemple: enumerer les articles recents sur 0AD, trouver un article que j'ai lu, un commentaire que j'ai ecris. Puis ensuite je demanderai aux gens de tester les resultats.

                  J'aurai fais ca de facon tout a fait independante de la base de code du site linuxfr.org. Je fais une petite page web avec un champ de recherche, et j'affiche une liste de resultats avec un petit resume et un lien vers la page, comme Duck duck go. Ensuite si ca plait je vais faire des pull request pour l'integrer a linuxfr.

                  • [^] # Re: je demande au grand méchant

                    Posté par . Évalué à 1 (+1/-0).

                    il est pas évident, votre problème :).

                    Ok si c'était simple, ca serait déjà fait. d'autant plus qu'il y a sans doute des spécialistes du domaine qui fréquentent linuxfr.

                    sans possibilité d'avoir accès à un jeu de données, c'est quand même compliqué.

                    d'après mes 3-4 essais, les tags fonctionnent très bien sur le site.
                    ce sont les recherches "full text" qui pêchent.

                    est ce qu'elastisearch permet de modifier l'algo de scoring?
                    dans ce cas
                    - les dates étaient elles intégrées au score de pertinence?
                    - les notes (ne pas indexer les articles avec un score négatif, déjà)?
                    - elastisearch construit il automatiquement un début d ontologie, une reconnaissance lexicale? (je suis en train de me documenter sur le sujet et de rtfm)

                    où pourrait on discuter du sujet sans polluer ?

                    • [^] # Re: je demande au grand méchant

                      Posté par . Évalué à 2 (+0/-0). Dernière modification le 23/07/18 à 19:57.

                      est ce qu'elastisearch permet de modifier l'algo de scoring?

                      oui

                      Ok si c'était simple, ca serait déjà fait. d'autant plus qu'il y a sans doute des spécialistes du domaine qui fréquentent linuxfr.

                      Je ne sais pas a quel niveau on peut parler de specialiste, mais c'est assez proche de mon domaine de travail.

                      • les dates étaient elles intégrées au score de pertinence?

                      Je ne sais si c'etait les cas, mais c'est possible.

                      • les notes (ne pas indexer les articles avec un score négatif, déjà)?

                      c'est possible aussi. Mais il faut tester pour voir si ca donne de bon resultat

                      • elastisearch construit il automatiquement un début d ontologie, une reconnaissance lexicale? (je suis en train de me documenter sur le sujet et de rtfm)

                      Je ne sais pas ce qu'est une ontologie.

                      Mais si tu veux extraire une semantique des textes, extraire une semantique similaire de la requete et faire un matching de la requete contre les documents dans ce nouvel espace semantique ben alors il faudra sans doute passer par d'autres outils. Ca sera plutot keras et autre outils de machine learning. Ce sont des choses interessantes que j'aimerai essayer mais je n'y connais encore rien.

                      Mais je pense qu'on commencer par qc chose de plus simple.

                      Moi ce que j'ai penser c'est de faire un version proche de la configuration de base de ElasticSearch, c'est-a-dire ou l'importance des termes est pondere par un score de type tf-idf et d'ajouter un score lie a la date.

                      Une deuxieme version pourrait etre de considere la requete de l'utilisateur comme une requete booleenne. Ce sont des OU et des ET logique, ca permet d'etre tres selectifs et de retourner tres peu de resultat. On pourrait ensuite trouver un moyen d'ordonner le resultat par date.

                      Ca ca va etre facile. Ce que je ne sais pas encore comment on va faire, c'est pour gerer les synonymes ou des choses comme ca.

                      je suis en train de me documenter sur le sujet et de rtfm

                      Moi, je lis ca en ce moment, c'est gratuit: https://nlp.stanford.edu/IR-book/

                      où pourrait on discuter du sujet sans polluer ?

                      J'ai commence ce journal pour la partie scraping web: crowd-sourcing-pour-le-nouveau-data-pipeline-de-linuxfr

                      J'ai divise ca en trois partie pour que chacun puisse developer des morcaux independemment des autres, dans le language de son choix. J'ai commence la premiere partie en Scala. Mais peut-etre que je la reecrirais en Haskell, ca peut etre marrant.

                      Tu peux partir sur autre chose, ou donner ton avis sur le plan.

        • [^] # Re: je demande au grand méchant

          Posté par . Évalué à 3 (+1/-0).

          Pour implémenter la recherche il existe des solutions :
          Coté serveur :

          https://github.com/activerecord-hackery/ransack
          https://github.com/Casecommons/pg_search

          Pourquoi pas elasticsearch?

          Ca me semble etre le truc evident pour de la recherche full-text.

          pg_search a l'air de proposer quelque chose de similaire cependant.

  • # Même avis / constat !

    Posté par . Évalué à 7 (+5/-0).

    Sur un site de « nouvelle » la chronologie est fondamentale ! j’aurai le même reproche sur les sites de journaux généraliste en ligne que j’ai pu tester, on a une vague idée de la période ou on a lu ce qu’on cherche mais c’est pas toujours simple de l’exploiter. La recherche par mot clé fonctionne rarement du premier coup (ne serait-ce que parce que parfois on a le bon sujet mais pas le bon mot clé…)

  • # Ça tombe bien!

    Posté par . Évalué à 2 (+5/-6). Dernière modification le 19/07/18 à 13:58.

    Je pense qu'ils ne cracheront pas sur un peu d'aide.

    Rappelons que toute l'équipe est bénévole.

  • # Lecteur de flux RSS…

    Posté par . Évalué à 7 (+5/-0).

    J'utilise mon lecteur de flux RSS pour chercher toutes les publications depuis 2008. C'est en général suffisant. :)

  • # J'ai abandonné l'idée de retrouver un contenu avec l'outil de recherche depuis longtemps

    Posté par . Évalué à 7 (+7/-0). Dernière modification le 19/07/18 à 14:45.

    Moi c'est pareil, à chaque fois que j'utilise l'outil de recherche je râles sur le manque de tri chronologique. (hier/la semaine dernière/le mois dernier, c'est un peu léger je trouve).
    J'ai aussi l'impression que lors d'une recherche je tombe d'abord sur les articles les plus vieux.

    Exemple: je recherche 0AD et le premier résultat date de 2009 ! La date n'est pas toujours indiquée dans le chapeau du coup il faut cliquer sur chaque lien pour vérifier s'il s'agit d'un article récent ou d'une archive (bientôt 10 ans et le lien et toujours en première position).

    Il y a bien les tags pour retrouver du contenu mais quand je clique sur le tag 0ad les deux plus récents tagués datent du 18 Mai 2018 et ensuite du 24 Août 2017 pourtant il me semble avoir vu passer une dépêche ou un journal à propos de ce jeu entre ces deux dates :/ (mais je peux me tromper).

    J'imagine qu'on pourrait trouver d'autres exemples, moi en tout cas j'ai lâché l'affaire, je retrouve très difficilement ce que j'ai vu passer et ça me gonfle du coup je ne recherche plus, j'essaie de mettre en favoris ce que je veux retrouver rapidement et je me passe du reste (malheureusement parfois).

  • # Résultat

    Posté par (page perso) . Évalué à 0 (+1/-3).

    un outil de capture d'écran (qui permet d'effectuer des modifications de la capture directement)

    Gimp

  • # Avis de recherche

    Posté par . Évalué à 4 (+4/-1).

    J'ai vu passer un journal récemment sur la recherche de contenu sur LinuxFR. Est-ce que quelqu'un se rappelle de ça ?

Envoyer un commentaire

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.