Agrupación de palabras clave semánticas para más de 10 000 palabras clave [con secuencia de comandos]

  • HatumSEO
  • SEO
  • Agrupación de palabras clave semánticas para más de 10 000 palabras clave [con secuencia de comandos]

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!

keywords clusters grouped in excel tables

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?

excel sheet showing an example of semantic keyword clustering

¿O qué tal, al por mayor y al por mayor?

excel sheet showing another example of semantic keyword clustering

¿Perro y Dachshund, Navidad y Navidad?

excel sheet showing another example of semantic keyword clustering. Showing that Dachshund and dogs have been grouped together.

¡Incluso puede agrupar palabras clave en más de cien idiomas diferentes!

excel sheet showing another example of semantic keyword clustering in French

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

How to Open Google Colab from Github

Cambie el tipo de tiempo de ejecución a GPU seleccionando Tiempo de ejecución > Cambiar tipo de tiempo de ejecución.

Google Collab, How to change settings to use the GPU

Seleccione Tiempo de ejecución > Ejecutar todo desde la navegación superior desde Google Colaboratory (o simplemente presione Ctrl+F9).

How to run all cell in Google Colab

Cargue un archivo .csv que contenga una columna llamada «Palabra clave» cuando se le solicite.

How to upload a file using Google Colab

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.

Demonstration of the example output from the script showing alpaca socks have been grouped together

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.

How to choose a sentence transformer for keyword clustering

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.

How to set the minimum sentence size and keyword cluster accuracy

¡Eso es todo!

Más recursos:

Imagen destacada: Cuadrícula gráfica/Shutterstock

Leer el articulo original en Search Engine Journal.

¡Danos un Voto!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

¿Tienes una pregunta?

Luis Narciso
Sobre SEO
(Posicionamiento Web)

Frank Fajardo
Sobre Diseño Web, Anuncios, Diseño y Redes Sociales