Back

La evolución de la búsqueda en el sitio: desde la tokenización y expresiones regulares hasta MongoDB, semántica de IA y mi exploración de múltiples soluciones

MaoMaoyu

Solución de búsqueda híbrida actual: una apuesta segura, pero aún limitada

Actualmente, mi sitio web de navegación utiliza una solución de búsqueda híbrida, que consta principalmente de estas tres partes:

  1. Tokenización + Expresiones regulares: Este es el método de búsqueda más básico, tokenizando la entrada del usuario y luego comparándola con los títulos y descripciones de los sitios web utilizando expresiones regulares. Es simple, rápido y de bajo costo, y funciona bien para búsquedas básicas de palabras clave. Sin embargo, no comprende la semántica, lo que lleva a interpretaciones erróneas, como la coincidencia de una receta que contiene "manzana" cuando alguien busca "teléfono apple".
  2. Búsqueda de documentos de MongoDB: MongoDB ofrece sólidas capacidades de búsqueda de texto, que utilizo para la indexación de texto completo de los datos del sitio web. En comparación con la tokenización simple y las expresiones regulares, admite búsquedas más complejas y proporciona cierta clasificación de relevancia. Pero todavía se basa en la coincidencia de palabras clave y no comprende realmente la intención del usuario.
  3. Coincidencia de categorías semánticas de IA (modelo DeepSeek): Para abordar la comprensión semántica, utilizo el modelo DeepSeek para categorizar los sitios web. Las consultas de los usuarios también se analizan semánticamente para que coincidan con la categoría más relevante, devolviendo los sitios web de esa categoría. Esto ha mejorado la precisión, pero aún no es lo suficientemente granular y el modelo DeepSeek tiene un costo.

Este enfoque híbrido es una opción sólida por ahora, que equilibra el costo y la efectividad. Pero a medida que mi sitio web crece y las expectativas de los usuarios aumentan, me doy cuenta de sus limitaciones:

  • Mala comprensión semántica: La coincidencia de palabras clave no logra captar la verdadera intención de los usuarios, como no encontrar excelentes resultados para "¿qué buenas herramientas de colaboración en línea existen?".
  • Clasificación de resultados no inteligente: La clasificación a menudo se basa en una relevancia simple, no en lo que el usuario realmente necesita.
  • Mayores costos de mantenimiento: Tres sistemas separados significan más mantenimiento, lo que se vuelve más difícil a medida que crecen los datos.

Otras soluciones exploradas: Equilibrio entre costo y complejidad

He considerado otras soluciones, pero no las adopté debido a varias razones:

  • Búsqueda semántica de bases de datos: La solución ideal, convierte los datos del sitio web y las búsquedas de los usuarios en vectores, haciendo coincidir mediante cálculos de similitud. Sin embargo, es demasiado costoso debido a las altas exigencias de cómputo y almacenamiento, especialmente para un sitio web pequeño como el mío.
    • Solución intermedia: Para reducir costos, consideré agregar un campo de vector semántico a los datos de mi sitio web, utilizando modelos semánticos gratuitos para obtener vectores de descripciones de sitios web. Luego, cuando un usuario buscara, obtendría un vector para su término de búsqueda y los haría coincidir. Aunque era más barato, necesitaba mucho trabajo de desarrollo y era difícil de mantener.
  • API de búsqueda de sitios de terceros (Algolia): Estos servicios son sencillos y profesionales, pero demasiado caros. El nivel gratuito de 10 000 búsquedas al mes es insuficiente para mi sitio.

Estas exploraciones me han demostrado que elegir una solución de búsqueda en el sitio requiere equilibrar el costo, la efectividad, la complejidad y el mantenimiento. Se trata de encontrar ese punto óptimo que encaje.

Visión futura: Base de conocimiento de IA + Búsqueda semántica

Si bien mi solución actual cumple su función, tengo una solución ideal en mente: transformar todos los datos de mi sitio web en una base de conocimiento de IA y utilizar la búsqueda semántica de IA.

Las ventajas son claras:

  • Mayor comprensión semántica: La IA puede comprender la intención del usuario y proporcionar resultados más precisos.
  • Clasificación más inteligente: La clasificación impulsada por IA puede ordenar mejor los resultados según las necesidades del usuario y la calidad del sitio web.
  • Búsqueda más flexible: Los usuarios pueden buscar como si hablaran con la IA, como "encuéntrame una herramienta gratuita en línea para diagramas de flujo".
  • Menores costos de mantenimiento: Solo necesitaría mantener un modelo de IA y una base de conocimiento.

Pero hay desafíos:

  • Construcción de la base de conocimiento de IA: ¿Cómo se pueden transformar eficientemente los datos del sitio web en conocimiento comprensible por la IA?
  • Selección del modelo de IA: ¿Qué modelo se adapta mejor a mis necesidades?
  • Almacenamiento en caché de IA: ¿Cómo se pueden almacenar en caché los resultados de búsqueda de manera eficiente para evitar cálculos redundantes?

Todavía estoy descubriendo algunas de estas cosas, pero creo que la búsqueda en el sitio impulsada por IA es el futuro.

Conclusión y Perspectivas Futuras

La búsqueda en el sitio es una evolución continua, sin una solución única para todos. Debemos experimentar, ajustar y optimizar constantemente.

Espero que este artículo comparta mi viaje y genere un debate sobre las soluciones de búsqueda en el sitio. Si tienes alguna experiencia o idea, ¡no dudes en compartirla en los comentarios!

En el futuro, seguiré explorando la búsqueda en el sitio basada en la base de conocimiento de IA y espero compartir más. ¡Gracias por leer!