2022 fue tan malo en términos de correos electrónicos no deseados y ruido que comencé el Secretario Virtual , un marco en Python para escribir filtros de correos electrónicos inteligentes cruzando información entre varias fuentes para adivinar qué son los correos electrónicos entrantes y si son importantes/urgentes o no. Cuando hablo de correos electrónicos no deseados, también me refiero a notificaciones de Github, menciones en pixls.us (gracias a Dios cerré mi cuenta en ese foro estúpido), YouTube y correos electrónicos directos de personas que esperan recibir ayuda en privado.

Habiéndome convertido en “la cara” de darktable, principalmente porque soy uno de los pocos que se molesta en proporcionar educación y formación a los usuarios en lugar de simplemente escribir código, no vi venir esto, y no estaba preparado. Muchas personas ahora me confunden con la recepción, lo que no ayuda al pensamiento abstracto en cuestiones de codificación, y mucho menos al tomarme el tiempo para realmente producir arte. El problema es que todo el tiempo perdido lidiando con info/ruido/entradas no se gasta resolviendo problemas, y el tiempo es lo único que no puedes reembolsar.

Después de un tiempo, pensé que sería bueno extender el Secretario Virtual con un clasificador de aprendizaje automático, que adivinara en qué carpeta deberían ir los correos electrónicos entrantes, extrayendo el contenido de los correos electrónicos ya en dicha carpeta. En realidad, es mucho más fácil de implementar de lo que pensaba, pero la parte que consume tiempo es escribir filtros de texto para limpiar la entrada (porque basura entra, basura sale, especialmente para los correos electrónicos no deseados que generalmente están mal formateados).

Pero el objetivo final, en mis sueños más salvajes, era construir un contestador automático para personas que hacen preguntas que ya han sido respondidas en una de las muchas páginas web a las que he contribuido a lo largo de los años. Es una frustración constante ver que todas las páginas de documentación que he escrito a lo largo de los años se pierden en el limbo de Internet. En los foros centrados en FLOSS, los chicos benevolentes también tienden a experimentar el mismo tipo de fatiga: repitiendo una y otra vez la misma información, enlazando las mismas páginas, a hordas infinitas de novatos que no saben qué buscar. Simplemente mira Reddit darktable: cada 14 días, alguien más pregunta por qué las miniaturas del lighttable no se parecen a la vista previa del cuarto oscuro. Incluso descartando la cantidad de frustración y enojo aquí, la cantidad de horas hombre perdidas en repetición es asombrosa. Simplemente porque la información se pierde.

El verdadero problema de los motores de búsqueda es que necesitas saber qué palabras clave buscar. Lo que nos lleva al hecho de que los novatos no conocen el argot. Entonces no saben qué buscar. No tienen ningún punto de entrada en la matriz. Excepto otros humanos. Lo cual apesta para los que tienen que hacer el trabajo, generalmente gratis.

Después de fusionar una capa neural de incrustación de palabras word2vec (palabras grandes para decir que es aprendizaje automático no supervisado buscando cómo las palabras están contextualmente relacionadas en oraciones, es decir, encontrando estructuras sintácticas, sinónimos y similares), como un primer paso en mi clasificador de correos electrónicos (que ahora tiene un 92 % de precisión), me pregunté si esto no sería utilizable para construir un motor de búsqueda consciente del contexto y consciente de los sinónimos, capaz de ver más allá de las palabras clave exactas.

Resulta que un par de chicos de Bing tuvieron la misma idea en 2016 y publicaron sus matemáticas, así que las implementé. Luego procedí a agregar una interfaz web encima. Eso dio nacimiento a Chantal , la IA que se te pide amablemente que molestes antes de molestarme a mí. La versión actual está entrenada contra 101.000 páginas de internet de mis propios sitios web, la documentación de darktable & Ansel, junto con algunos recursos fiables de ciencias del color. Indexa 15.500 páginas en francés e inglés y puede procesar consultas de búsqueda en uno o ambos de estos idiomas. Una de sus principales características es proponerte una lista de palabras clave asociadas a tu consulta, para que puedas refinar/reorientar/probar cosas en las que no habrías pensado antes.

Espero que eso ayude.

Ese trabajo me mostró cuán poco indexables son muchos sitios web. Para tener en cuenta la falta de un mapa del sitio XML en forums.darktable.fr y color.org, tuve que escribir un rastreador recursivo. Pero incluso entonces, muchas páginas no tienen etiquetas de descripción meta y una etiqueta de fecha adecuada. Eso significa que necesitas usar expresiones regulares y métodos indirectos tratando de identificar los metadatos, y ajustar manualmente el analizador HTML para extraer la parte real de contenido de la página web (descarte de barras laterales, menús, apartados y publicidad si la hay).

Entonces, llegas a amar los foros de preguntas y respuestas como Stack Overflow, donde las preguntas adecuadas inician un hilo, las respuestas adecuadas siguen, y las mejores respuestas son seleccionadas por la comunidad. Los mensajes de “gracias” y “yo también” están explícitamente prohibidos en las condiciones de uso. En foros como pixls.us o forums.darktable.fr, la información técnica adecuada se pierde en medio de divagaciones semitécnicas, relatos de vida y compañeros uniendo lazos sobre historias de software, en un hilo continuo donde nada distingue lo relevante de lo irrelevante, lo preciso de lo impreciso, y los grandes malentendidos de la teoría del color. Desde una perspectiva de exploración automatizada, hay muy poco que explotar aquí, e invertir tiempo en tal plataforma es una pérdida seca.

Más información (técnica):

  • Los sitios web apestan  : sobre los desafíos técnicos de rastrear e indexar páginas HTML (y… PDF), en un tiempo donde la gente dice grandes cosas como “Web 4.0” o “Internet de las Cosas”, pero cosas básicas como proporcionar mapas de sitio página o poner la fecha de publicaciones en internet en formatos estándar todavía es demasiado pedir a los webmasters y CMS,
  • Diseñando un motor de búsqueda de IA desde cero en la década de 2020  : sobre cómo se construyó Chantal y cómo se creó el lenguaje sintético Dumbrish para generalizar el francés y el inglés natural, además de algunos juegos de regex,
  • Reflexiones sobre la IA Word2Vec para aplicaciones de recuperación de información  : sobre cómo la limpieza de entradas es de lejos el peor paso que consume tiempo al diseñar una IA y los modelos de lenguaje que se vuelven demasiado semánticamente precisos no hacen mejores motores de búsqueda.

Translated from English by : ChatGPT. In case of conflict, inconsistency or error, the English version shall prevail.