Contenidos
La agrupación semántica de palabras clave puede llevar su investigación de palabras clave al siguiente nivel. Aquí hay una secuencia de comandos de Python para ayudarlo a hacer precisamente eso.
La agrupación semántica de palabras clave puede ayudar a llevar su investigación de palabras clave al siguiente nivel.
En este artículo, aprenderá a usar una hoja de Google Colaboratory compartida exclusivamente con los lectores de Search Engine Journal.
Este artículo lo guiará a través del uso de la hoja de Google Colab, una vista de alto nivel de cómo funciona bajo el capó y cómo hacer ajustes para satisfacer sus necesidades.
Pero primero, ¿por qué agrupar palabras clave?
Casos de uso comunes para la agrupación de palabras clave
Aquí hay algunos casos de uso para agrupar palabras clave.
Investigación de palabras clave más rápida:
- Agrupe las palabras clave relacionadas para crear artículos más detallados.
- Agrupa preguntas y respuestas relacionadas para crear preguntas frecuentes.
Campañas de búsqueda pagadas:
- Agrupe palabras clave similares en ideas de campaña para anuncios.
Aquí hay un ejemplo del guión que agrupa preguntas similares, ¡perfecto para un artículo detallado!
Problemas con versiones anteriores de esta herramienta
Si ha estado siguiendo mi trabajo en Twitter, sabrá que he estado experimentando con la agrupación de palabras clave desde hace un tiempo.
Las versiones anteriores de este script se basaban en la excelente biblioteca PolyFuzz que utilizaba la coincidencia TF-IDF. PolyFuzz library
Si bien hizo el trabajo, siempre hubo algunos grupos de rascarse la cabeza en los que sentí que el resultado original podría mejorarse.
Las palabras que compartían un patrón similar de letras se agruparían incluso si no estuvieran relacionadas semánticamente.
Por ejemplo, no pudo agrupar palabras como «Bicicleta» con «Bicicleta».
Las versiones anteriores del script también tenían otros problemas:
- No funcionó bien en otros idiomas además del inglés.
- Creó una gran cantidad de grupos que no se pudieron agrupar.
- No había mucho control sobre cómo se creaban los clústeres.
- La secuencia de comandos se limitó a unas 10 000 filas antes de que se agotara el tiempo de espera debido a la falta de recursos.
Agrupación de palabras clave semánticas utilizando procesamiento de lenguaje natural (NLP) de aprendizaje profundo
Avance rápido cuatro meses hasta la última versión, que se ha reescrito por completo para utilizar incrustaciones de oraciones de aprendizaje profundo de última generación.
¡Mira algunos de estos increíbles grupos semánticos!
¿Observa que calentado, térmico y tibio están contenidos en el mismo grupo de palabras clave?
¿O qué tal, al por mayor y al por mayor?
¿Perro y Dachshund, Navidad y Navidad?
¡Incluso puede agrupar palabras clave en más de cien idiomas diferentes!
Características del nuevo script frente a iteraciones anteriores
Además de la agrupación semántica de palabras clave, se han agregado las siguientes mejoras a la última versión de este script.
- Soporte para agrupar más de 10,000 palabras clave a la vez.
- Grupos sin clúster reducidos.
- Posibilidad de elegir diferentes modelos pre-entrenados (¡aunque el modelo predeterminado funciona bien!).
- Capacidad para elegir qué tan estrechamente relacionados deben estar los clústeres.
- Elección del número mínimo de palabras clave a utilizar por clúster.
- Detección automática de codificación de caracteres y delimitadores CSV.
- Agrupación multilingüe.
- Funciona con muchas exportaciones de palabras clave comunes listas para usar. (Search Console Data, AdWords o herramientas de palabras clave de terceros como Ahrefs y Semrush).
- Funciona con cualquier archivo CSV con una columna llamada «Palabra clave».
- Fácil de usar (el script funciona insertando una nueva columna llamada Nombre del clúster en cualquier lista de palabras clave cargadas).
Cómo usar el script en cinco pasos (inicio rápido)
Para comenzar, deberá hacer clic en este enlace y luego elegir la opción Abrir en Colab como se muestra a continuación. click this link
Cambie el tipo de tiempo de ejecución a GPU seleccionando Tiempo de ejecución > Cambiar tipo de tiempo de ejecución.
Seleccione Tiempo de ejecución > Ejecutar todo desde la navegación superior desde Google Colaboratory (o simplemente presione Ctrl+F9).
Cargue un archivo .csv que contenga una columna llamada «Palabra clave» cuando se le solicite.
La agrupación debería ser bastante rápida, pero en última instancia depende de la cantidad de palabras clave y del modelo utilizado.
En términos generales, debería ser bueno para 50,000 palabras clave.
Si ve un error de memoria insuficiente de Cuda, ¡está intentando agrupar demasiadas palabras clave al mismo tiempo!
(Vale la pena señalar que este script puede adaptarse fácilmente para ejecutarse en una máquina local sin los límites de Google Colaboratory).
La salida del guión
El script se ejecutará y agregará clústeres a su archivo original en una nueva columna llamada Nombre del clúster.
Los nombres de clúster se asignan utilizando la palabra clave de menor longitud en el clúster.
Por ejemplo, el nombre del clúster para el siguiente grupo de palabras clave se ha establecido como «calcetines de alpaca» porque es la palabra clave más corta del clúster.
Una vez que se ha completado el agrupamiento, se guarda automáticamente un nuevo archivo, con el agrupamiento agregado en una nueva columna al archivo original.
Cómo funciona la herramienta de agrupación de claves
Este script se basa en el algoritmo Fast Clustering y utiliza modelos que se han entrenado previamente a escala en grandes cantidades de datos. Fast Clustering algorithm
Esto facilita el cálculo de las relaciones semánticas entre palabras clave utilizando modelos estándar.
(¡No tienes que ser un científico de datos para usarlo!)
De hecho, aunque lo he hecho personalizable para aquellos a quienes les gusta jugar y experimentar, he elegido algunos valores predeterminados equilibrados que deberían ser razonables para los casos de uso de la mayoría de las personas.
Se pueden intercambiar diferentes modelos dentro y fuera del script según los requisitos (agrupación en clústeres más rápida, mejor compatibilidad con varios idiomas, mejor rendimiento semántico, etc.).
Después de muchas pruebas, encontré el equilibrio perfecto entre velocidad y precisión utilizando el transformador All-MiniLM-L6-v2 que proporcionó un gran equilibrio entre velocidad y precisión.
Si prefiere usar el suyo propio, puede simplemente experimentar, puede reemplazar el modelo preentrenado existente con cualquiera de los modelos que se enumeran aquí o en el Centro de modelos Hugging Face. here
Intercambio de modelos preentrenados
Intercambiar modelos es tan fácil como reemplazar la variable con el nombre de su transformador preferido.
Por ejemplo, puede cambiar el modelo predeterminado all-miniLM-L6-v2 a all-mpnet-base-v2 editando:
transformer = ‘all-miniLM-L6-v2’
transformador = ‘todo-miniLM-L6-v2’
a
transformer = ‘all-mpnet-base-v2‘
transformador = ‘todo-mpnet-base-v2’
Aquí es donde lo editarías en la hoja de Google Colaboratory.
La compensación entre la precisión de los clústeres y la ausencia de grupos de clústeres
Una queja común con las iteraciones anteriores de este script es que generó una gran cantidad de resultados no agrupados.
Desafortunadamente, siempre será un acto de equilibrio entre la precisión del grupo y la cantidad de grupos.
Una configuración de precisión de grupo más alta dará como resultado una mayor cantidad de resultados no agrupados.
Hay dos variables que pueden influir directamente en el tamaño y la precisión de todos los conglomerados:
min_cluster_size
min_cluster_size
y
cluster accuracy
precisión de grupo
Establecí un valor predeterminado de 85 (/100) para la precisión del grupo y un tamaño mínimo de grupo de 2.
En las pruebas, descubrí que este es el punto óptimo, ¡pero siéntete libre de experimentar!
Aquí es donde establecer esas variables en el script.
¡Eso es todo!
Más recursos:
Imagen destacada: Cuadrícula gráfica/Shutterstock
Leer el articulo original en Search Engine Journal.