2022 a été si mauvaise en termes de courriels indésirables et de bruit que j’ai commencé la Secrétaire Virtuelle , un cadre Python pour écrire des filtres de courriels intelligents en croisant des informations provenant de plusieurs sources pour deviner ce que sont les courriels entrants et s’ils sont importants/urgents ou non. Quand je parle de courriels indésirables, il s’agit aussi des notifications Github, des pings sur pixls.us (heureusement, j’ai fermé mon compte sur ce forum stupide), YouTube et des courriels directs de personnes espérant obtenir de l’aide en privé.
Étant devenu “le visage” de darktable, principalement parce que je suis l’un des rares à m’embêter à offrir une éducation et une formation aux utilisateurs au lieu de simplement développer du code, je ne l’avais pas vu venir, et je n’étais pas préparé. Beaucoup de gens me confondent maintenant avec le comptoir d’accueil, ce qui n’aide pas à la réflexion abstraite sur les questions de programmation, encore moins à prendre le temps de produire réellement de l’art. Le problème est que tout le temps perdu à gérer les infos/bruit/entrées n’est pas passé à résoudre des problèmes, et le temps est la seule chose pour laquelle vous ne pouvez pas obtenir de remboursement.
Après un certain temps, j’ai pensé que ce serait bien d’étendre la Secrétaire Virtuelle avec un classificateur d’apprentissage automatique, qui devinerait dans quel dossier les courriels entrants devraient aller, en extrayant le contenu des courriels déjà dans ledit dossier. C’est en fait beaucoup plus facile à mettre en œuvre que ce que je pensais, mais la partie chronophage est d’écrire des filtres texte pour nettoyer l’entrée (parce que des ordures en entrée, des ordures en sortie, surtout pour les courriels de spam qui sont généralement mal formatés).
Mais l’objectif ultime, dans mes rêves les plus fous, était de créer un répondeur automatique pour les personnes posant des questions déjà répondues sur l’un des nombreux sites Web auxquels j’ai contribué au fil des ans. C’est une frustration constante de voir que toutes les pages de doc que j’ai écrites au fil des ans sont perdues dans les limbes d’Internet. Sur les forums centrés sur le FLOSS, les gars bienveillants ont aussi tendance à éprouver le même genre de fatigue : répéter encore et encore les mêmes infos, lier les mêmes pages, à des hordes sans fin de nouveaux venus qui ne savent pas quoi chercher. Regardez simplement Reddit darktable : tous les 14 jours, quelqu’un d’autre demande pourquoi les vignettes de la table lumineuse ne ressemblent pas à l’aperçu de la chambre noire. Même en écartant la quantité de frustration et de colère ici, le nombre d’heures-homme perdues à répéter est impressionnant. simplement parce que l’information est perdue.
Le véritable problème des moteurs de recherche est que vous devez savoir quels mots clés rechercher. Ce qui revient au fait que les débutants ne connaissent pas le jargon. Ils ne savent donc pas quoi chercher. Ils n’ont pas de point d’entrée dans la matrice. Sauf les autres humains. Ce qui est ennuyeux pour ceux qui doivent faire le travail, généralement gratuitement.
Après avoir fusionné une couche neuronale d’incorporation de mots word2vec (de grands mots pour dire que c’est de l’apprentissage automatique non supervisé trouvant comment les mots sont contextuellement liés dans les phrases, c’est-à-dire trouvant des structures syntaxiques, des synonymes et autres), comme première étape dans mon classificateur de courriels (qui atteint maintenant une précision de 92 %), je me suis demandé si cela ne pourrait pas être utilisé pour construire un moteur de recherche sensible au contexte et aux synonymes, capable de passer outre les mots clés exacts.
Il s’avère qu’une paire de gars de Bing avait la même idée en 2016 et a publié leurs maths, alors je les ai implémentées. Puis j’ai procédé à l’ajout d’une interface Web par-dessus. Cela a donné naissance à Chantal , l’IA que vous êtes gentiment prié de déranger avant de me déranger. La version actuelle est formée contre 101.000 pages internet de mes propres sites, des docs darktable et Ansel, ainsi que des ressources fiables sur la science des couleurs. Elle indexe 15.500 pages en français et en anglais et peut traiter des requêtes de recherche dans l’une ou les deux langues. Une de ses principales fonctionnalités est de vous proposer une liste de mots-clés associés à votre requête, afin que vous puissiez affiner/orienter/essayer des choses auxquelles vous n’auriez pas pensé auparavant.
J’espère que cela vous aide.
Cela m’a montré à quel point de nombreux sites Web sont mal indexables. Pour tenir compte de l’absence de plan de site XML sur forums.darktable.fr et color.org, j’ai dû écrire un robot d’exploration récursif. Mais même alors, de nombreuses pages n’ont pas de balises méta de description et une balise de date appropriée. Cela signifie que vous devez utiliser des expressions régulières et des méthodes indirectes pour essayer d’identifier les métadonnées, et ajuster manuellement l’analyseur HTML pour extraire la partie réelle du contenu de la page Web (en délaissant les barres latérales, menus, à-côtés et publicités si c’est le cas).
Ensuite, vous en venez à aimer les forums de questions-réponses comme Stack Overflow, où les questions appropriées commencent un fil, des réponses appropriées suivent, et les meilleures réponses sont sélectionnées par la communauté. Les messages de “merci” et “moi aussi” sont explicitement interdits dans les conditions d’utilisation. Sur les forums comme pixls.us ou forums.darktable.fr, les informations techniques appropriées se perdent au milieu des divagations semi-techniques, des histoires de vie et des frères qui se lient d’amitié autour des récits de logiciels, dans un fil continu où rien ne distingue le pertinent de l’irrélevant, l’exact de l’inexact, et le malentendu flagrant de la théorie des couleurs. D’un point de vue de l’exploration par machine, il y a très peu à exploiter ici, et investir du temps sur une telle plateforme est une pure perte.
Plus d’infos (techniques) :
- Les sites Web sont nuls : Sur les défis techniques de l’exploration et de l’indexation des pages HTML (et… PDF), à une époque où les gens prononcent de grandes choses comme “Web 4.0” ou “Internet des objets”, mais où des choses basiques comme fournir des plans de site de page ou mettre la date des publications internet dans des formats standard est encore trop demander aux webmasters et CMS,
- Concevoir un moteur de recherche IA from scratch dans les années 2020 : sur la manière dont Chantal a été construite et comment le langage synthétique Dumbrish a été créé pour généraliser le français et l’anglais naturels, et quelques prodiges de regex,
- Réflexions sur l’IA Word2Vec pour les applications de recherche d’information : sur la façon dont le nettoyage des entrées est de loin la tâche la plus chronophage de la conception d’une IA et comment les modèles de langage devenant trop précis sémantiquement ne font pas de meilleurs moteurs de recherche.
Translated from English by : Aurélien Pierre, ChatGPT. In case of conflict, inconsistency or error, the English version shall prevail.