Rebaja de PRIMAVERA de hasta 87 %

+ Dominio GRATIS para planes anuales

La oferta termina en:

04 :

03 :

28 :

06

Actualización de Zyro: búsqueda de categorías con asistencia

Zyro tuvo un problema que abordar recientemente. Queríamos ofrecer un enfoque más ágil para la creación de sitios web.

Actualmente, al crear un sitio web, eliges una plantilla de la lista y luego la modificas de acuerdo con tus necesidades: cambiar imágenes, escribir textos, ajustar el diseño y agregar funciones. 

Este proceso requiere de mucho tiempo. 

Decidimos ahorrar algo de tiempo a nuestros usuarios creando un nuevo flujo. En lugar de seleccionar una plantilla y adaptarla a las necesidades manualmente, solo deben responder algunas preguntas y se ofrecen plantillas a medida basadas en las respuestas. 

Pueden comenzar directamente a trabajar en una plantilla que satisfaga tus necesidades.

Llamamos Asistente de preguntas y respuestas al nuevo flujo de creación de sitios web. Debería ofrecer algunas ventajas sobre el enfoque actual:

  • Creación de sitios web más rápido e intuitivo
  • Plantillas dinámicas y personalizadas
  • Fácil selección de funciones
  • Más participación del usuario durante el proceso de creación
  • Menos clientes “perdidos”

Aquí hay un diagrama inicial de flujo simple de la creación de sitios web con el Asistente de preguntas y respuestas:

diagrama de flujo simple

El usuario selecciona una categoría para su sitio web, según la selección, sabemos qué imágenes, textos y diseños debemos aplicar.

Posteriormente, el usuario selecciona las funciones que necesita, como un blog o una funcionalidad eCommerce. En algún momento esto podrá seleccionarse automáticamente en función de la categoría del sitio web seleccionado. 

El último paso es elegir las paletas de colores y las fuentes que le gusten al usuario. 

El resultado de esta función son tres sugerencias únicas para que el usuario de un sitio web pueda seguir construyendo.

El principal problema en el que nos enfocamos fue el primer paso en el diagrama de flujo anterior: cómo presentar posibles categorías de sitios web de una manera fácil de usar y entendible.

Nuestro enfoque inicial

El primer enfoque que probamos fue tener 15 categorías generales entre las que un cliente pudiera elegir, con una categoría especial “Otro”. 

Después de que la función estuvo activa durante una semana, notamos que la mayoría de los clientes solo elegían la categoría “Otros”. Esto nos dijo que no podían encontrar la categoría que necesitaban.

selecciona una categoría para el sitio web

La segunda iteración

Pensamos que sería posible darles a nuestros clientes más libertad, permitiéndoles elegir una categoría de una enorme lista predefinida. 

El usuario podría ingresar palabras clave relacionadas con su sitio web en un cuadro de texto y nosotros les presentaríamos las sugerencias relevantes. Para implementar esto, necesitábamos algunas categorías generales predefinidas en las que pudiéramos basar nuestras sugerencias. 

Así que creamos 10.000 categorías diferentes para que nuestros usuarios eligieran la categoría de su sitio web. Estos incluyeron coro a cappella, blog de consejos, fabricante de carpas y sitio de registro de bodas. 

Luego, pensamos en formas de implementar la búsqueda en sí. La manera más sencilla sería simplemente buscar entradas de los usuarios en las categorías. Por ejemplo, si el usuario escribe “pony”, realizamos una búsqueda en nuestra lista de categorías de 10k para las apariciones de “pony” en cualquier parte del texto. 

Pero, ¿qué pasa si el término de búsqueda no está presente en la lista de categorías? Una forma de resolver este problema es simplemente tener un diccionario de sinónimos o un diccionario de palabras similares. 

Cuando un usuario ingresa “pony”, buscamos en la lista de categorías y en una lista de sinónimos predefinida y hacemos sugerencias basadas en esos resultados. Pero eso no es viable por razones de mantenimiento. También es inflexible, ya que necesitamos trabajo humano para agregar nuevos sinónimos. 

En este punto, decidimos combinar dos técnicas populares en el procesamiento del lenguaje natural para resolver nuestro problema. 👇

  1. Gráfico de palabras dirigido y la Distancia de Levenshtein para buscar coincidencias directas en nuestra lista de categorías. Primero, construimos un gráfico de nuestras categorías y usamos la Distancia de Levenshtein para calcular los resultados finales
diagrama de flujo Distancia de Levenshtein
  1. Incrustaciones de palabras: realizamos búsquedas de palabras similares en caso de que la consulta de los usuarios no esté presente en nuestra lista de categorías. 

Por ejemplo, un usuario busca la categoría “mago”, pero no tenemos dicha categoría en nuestra lista. Usando la técnica de incrustaciones de palabras, sabemos que el término “mago” es muy similar a las categorías de “hechicero” o “magia” que existen en nuestra lista de categorías. Así que puede sugerir el uso.

Se implementa convirtiendo las 10mil categorías en vectores que representan palabras en un espacio multidimensional. Se realiza una búsqueda comparando la consulta del usuario, convertida en vector, con nuestras 10mil categorías para encontrar la coincidencia más cercana por similitud de coseno.

vectores de palabras

En general, tenemos el siguiente proceso:

proceso de búsqueda

Después de esta iteración, tenemos una función de búsqueda que puede manejar consultas de búsqueda directas e indirectas de nuestros usuarios.

Implementar la función de búsqueda 

Al implementar esta función, buscamos algo fácil y rápido que no creara dolores de cabeza adicionales para nuestro equipo de desarrollo. 

Como usamos Google Cloud como nuestro proveedor de nube, decidimos ir con Cloud Run. Este toma un contenedor con nuestra aplicación prediseñada (usamos Cloud Container Registry para almacenar imágenes) y lo implementa en un entorno sin servidor. 

Elimina la necesidad de administrar recursos o crear una infraestructura. 

Google Cloud Platform

“Fotos o no pasó”

Aquí hay algunos ejemplos de consultas solo para mostrar la búsqueda contextual y directa:

ingresa una categoría para el sitio web

Escrito por

Avatar del autor

Luis Jordán

Luis es un profesional del eCommerce y de los constructores de sitios web que ama el marketing digital. Se dedica a ayudar a las empresas a incrementar su presencia en línea a través de las prácticas del marketing. Cuando no está sentado frente al computador, seguramente está cocinando algún platillo o entrenando.

Unirse a la conversación

Tu dirección de correo electrónico no será publicada. Todos los campos son obligatorios.