¿Estás cansado de categorizar a mano datos de texto en varios idiomas para tu web? ¿Te cuesta seguir el ritmo de las tareas de un SEO por culpa del aumento de contenidos multilingües en tu web?
Pues bien, hemos creado un pequeño script en Google Colab para que actúe como un clasificador de texto multilingüe con IA para ayudarte.
En este artículo, definiremos qué es un clasificador de texto multilingüe con IA y hablaremos de su importancia para aumentar la productividad en migraciones SEO, para optimizar la etiqueta Hreflang de una web multilingüe o incluso para detectar canibalizaciones.
También nos adentraremos en las características y ventajas de utilizar un clasificador de texto multilingüe con IA.
Pero eso no es todo, nuestro Google Colab ofrece una herramienta de Clasificador de Texto Multilingüe que puede manejar cerca de 50 idiomas y proporciona hasta 3 coincidencias para cada resultado, según un índice de similitud semántica.
Es por este motivo por el cual podemos afirmar que es una excelente ayuda para los procesos de migración SEO de sitios multilingües. Así pues, ¡empecemos y descubramos cómo puede automatizar la identificación de idiomas y la clasificación de textos con facilidad!
En qué consiste la clasificación de textos multilingües
En el vertiginoso mundo actual, las empresas y los particulares generan diariamente una cantidad ingente de datos textuales.
Con la llegada del clasificador de texto multilingüe con IA, la clasificación de textos se ha vuelto más eficiente, precisa y rápida.
La clasificación de textos es el proceso de categorizar estos datos en grupos basados en características específicas, lo que facilita la gestión, el análisis y la recuperación de la información.
El objetivo de la clasificación de textos es clasificar automáticamente datos no estructurados, como correos electrónicos, publicaciones en redes sociales y artículos de noticias, en categorías predefinidas.
Por tanto, al emplear una herramienta de este tipo buscamos categorizar los datos de texto en varios idiomas.
El empleo de un clasificador de texto multilingüe mediante IA puede ayudar a las organizaciones a automatizar el proceso de identificación de idiomas y categorización de texto para diversas aplicaciones.
La importancia de clasificar textos en distintos idiomas de forma precisa y automatizada
La clasificación de texto multilingüe ayuda a:
1. Migraciones multilingües de sitios web:
Al migrar un sitio web a un nuevo dominio o sistema de gestión de contenidos (CMS), es crucial asegurarse de que todas las páginas y contenidos están correctamente categorizados en el idioma de destino. Una clasificador de texto multilingüe puede ayudar a automatizar este proceso identificando el idioma de cada página y categorizando el contenido en consecuencia.
2. Identificación de canibalizaciones de palabras clave:
La identificación de canibalizaciones es otro aspecto vital del SEO, y es esencial realizarla en varios idiomas para evitar que se reproduzcan en una audiencia global. Una herramienta de clasificación de texto multilingüe puede ayudar a identificarlas al agrupar contenidos con palabras clave y frases relevantes para idiomas específicos, lo que facilita la identificación de contenidos que puedan estar resolviendo la misma intención de búsqueda desde textos diferentes.
Ingredientes: Qué necesitas para clasificar textos en una web multilingüe
Lo cierto es que necesitas dos cosas.
- Instalar las dependencias de nuestro script
- Y cargar este Excel con los textos en diferentes idiomas para comparar.
El script contiene librerías programadas para realizar una búsqueda semántica simétrica entre diferentes textos en múltiples idiomas al mismo tiempo.
En realidad, lo que hace es comprar texto en diferentes idiomas, agrupando aquellos que son más parecidos desde el punto de vista semántico, ofreciendo una puntuación entre 0 y 1.
De esta forma lo que nos devuelve es un archivo agrupando los textos en diferentes idiomas cuyo contenido es similar, generando una paridad entre ellos.
Funciones del script para clasificar textos multiidioma
Este código hace una asignación idioma-idioma entre dos CSV con textos en distintos idiomas con base a su similitud semántica.
Puede extenderse añadiendo más documentos CSV a la comparativa con otros idiomas.
Existen varios modelos multiidioma disponibles:
- distiluse-base-multilingual-cased-v1: emplea hasta 15 idiomas diferentes. Entre ellos, árabe, chino, holandés, inglés, francés, alemán, italiano, coreano, polaco, portugués, ruso, español y turco.
- distiluse-base-multilingual-cased-v2: Versión destilada de conocimientos multilingües del codificador universal de frases multilingüe. Esta versión admite más de 50 idiomas, pero su rendimiento es algo inferior al del modelo v1.
- paraphrase-multilingual-MiniLM-L12-v2 – Versión multilingüe de la paráfrasis-MiniLM-L12-v2, entrenada con datos paralelos de más de 50 idiomas.
- paraphrase-multilingual-mpnet-base-v2 – Versión multilingüe de paraphrase-mpnet-base-v2, entrenada en datos paralelos para más de 50 idiomas.
En el script hemos elegido el modelo que mejor ha funcionado con base en los test realizados.
En nuestro caso: paraphrase-multilingual-MiniLM-L12-v2.
Como ves es distinto a GPT, pero es 100% gratuito y lo podemos instalar directamente en Colab y usarlo desde ahí.
Una vez hecho esto solo es necesario subir los CSV que deben incluir una columna: Title.
El Colab se encargará de generar los data frames, pasar el texto a una lista, asignar el idioma principal que hayamos marcado y agrupará por defecto hasta 3 resultados.
A continuación tenemos dos funciones que realizan los cálculos necesarios:
- Se generan embeddings para el texto en ambos idiomas.
- Al ser vectores podemos calcular su distancia de coseno para calcular su similitud
- Nos quedamos con el título más similar.
Al final obtenemos una hoja de cálculo con los resultados marcados con un match score entre 0 y 1.
Te recomendamos proceder a una revisión manual de los resultados de confiabilidad menor a 0,9.
Ejecutando el script en Google Colab
Para simplificar el proceso de clasificación, Luis Fernández de iSocialWeb os ha preparado el siguiente video donde te explica paso a paso como puedes ejecutar el Google Colab para sacar todo el provecho de este.
Puedes verlo justo aquí abajo:
Este contenido se genera a partir de la locución del audio por lo que puede contener errores.
Transcript:
(00:00) muy buenas bienvenidas y bienvenidos a un nuevo vídeo de social web yo soy Luis Fernández y en este caso seguimos con la serie de vídeos de Inteligencia artificial aplicada al seo vamos a ver un vídeo bastante interesante Espero que os guste en el que nos salimos un poco de la temática habitual de openea y gpt y vamos a ver qué alternativas muy funcionales y muy útiles para un montón de tareas en este caso vamos a utilizar un modelo Transformer también distintas gpt pero que es completamente gratuito y que podemos instalar directamente en
(00:30) collage y usarlo desde ahí paramos utilizar la librería sentes Transformers y lo que vamos a hacer es un clasificador de textos en distintos idiomas una búsqueda semántica simétrica que suene un poco chino pero lo que nos va a hacer es comparar textos en distintos idiomas imaginaos español e inglés y asignarnos entre sí los que sean más parecidos semánticamente Esto es algo brutal para cuando estamos haciendo una migración multidioma y no tenemos todos los postres quemados uno a uno o en las urls de producto o cuando estamos por ejemplo
(01:01) asignando hr Flans que nos faltan y queremos automatizar el proceso porque claro he puesto con 40 post en un blog que estamos migrando Sería fácil pero si necesitamos migrando 6 blogs en distintos dominios todos a un dominio único y queremos meterle el multidioma de forma correcta ahí se nos complica hacer la revisión manual entonces con esto la verdad que lo puedes hacer de forma gratuita con un par de clics lo hemos dejado totalmente preparado Así que os lo voy a explicar paso a paso para que lo podéis ejecutar vosotros y
(01:30) luego como Esto es algo más complejo una vez explique cómo se usais alguna demo para los que quieran quedarse a ver un poco cómo funciona os voy a hacer una breve explicación como siempre vamos a hacer un Collage para que lo podáis utilizar fácilmente y lo podéis compartir aquí tenéis toda la información comentarios al respecto este escribiendo generado yo os podéis seguirme aquí en Twitter si queréis ver más cosas de ella y vamos a hacerle el trabajo habitual instalamos las dependencias yo lo ejecutado todo De antemano Para que no
(01:56) haya que esperar pero básicamente es proceso estándar instalamos las dependencias en este caso lo sentís Transformers importamos las dependencias Aquí vamos a elegir el modelo en este caso esta avanza muy rápido en este caso estoy utilizando Este modelo para frames multilingual mini lm l2v2 de los modelos que tiene disponible esta librería podéis buscarlo en su documentación yo hice una prueba una batida en los proyectos que lo he utilizado y este es el que mejor me ha funcionado hasta ahora esto como siempre si sale un
(02:24) proyecto nuevo y lo tengo que ejecutar la acción más inteligente que no lleva nada es probar otros modelos y ver cuál te funciona mejor aquí veis que lo Descarga todo un dato interesante cuando hagáis este tipo de cosas es que podéis utilizar una carpeta de caché para que si lo tenéis que ejecutar o instalar de nuevo se acaba la sesión no pasa nada no tienes que esperar porque lo tienes ya guardado y así que se acelero un poco el proceso aquí os dejo un poco de info de los modelos que actualmente por si queréis
(02:50) probarlos Este es el que hemos utilizado y a continuación hacemos la subida típica de archivos a colab en este caso voy a subir un archivo es y un archivo en aquí tenéis una pequeña demo y como veis tenemos simplemente una plantilla de ejemplo con la columna title con el cabezado title y aquí tenemos títulos de post Este es el ejemplo más clásico que puedes utilizar aquí podéis utilizar productos o textos completos incluso aquí depende de la velocidad de cada de procesamiento y del número de contenidos que quieres
(03:22) utilizar pero lo que tienes que tener aquí es texto texto identificable en este caso hemos utilizado títulos del poste y del blog de social web podéis echar un ojo también son vídeos de YouTube que hemos subido y como veis tenemos en español y en inglés podríamos subir más idiomas y hacer el macheo en más idiomas normalmente trabajamos se puede trabajar sobre dos idiomas Pero esto lo hemos aplicado hasta en siete idiomas distintos en la documentación podéis ver por ejemplo que distinlus veis utiliza 15 idiomas los
(03:51) más comunes así del mundo entre ellos español italiano alemán chino y el que estamos utilizando utiliza más de 50 idiomas es decir que no os preocupéis a no ser que tengáis idiomas un poco raros probablemente funcione con mayor o menor acierto porque es verdad que los idiomas más extraños han sido entrenados con menos texto y tiene menor precisión pero una gran labor de ayudas puede hacer entonces tendríamos estos documentos que hemos subido aquí nosotros los subiríais aquí correctamente yo en este caso los
(04:20) he llamado es ym por comodidad os recomiendo hacerlo así si cambiáis su nombre acordes de cambiarlo aquí porque aquí los Vais a tener que leer y si el nombre es distinto os va a dar error y aquí los podéis leer en el Data frame lo leemos un Data frame seguimos ejecutando todo esto ya no no tiene mucha relevancia ya que es algo más complejo que tiene una pequeña explicación de cómo funciona Iris ejecutando todo hasta llegar a esta última celda en esta última es celda simplemente marcáis el idioma tenéis que decidir primero es el cierto
(04:52) Qué idioma queréis marchar A quién por ejemplo en este caso queremos asignarlos Pues en inglés al español entonces lo que vamos a marcar aquí es que nuestro lenguaje original Aquí está comentado es titaneses va a ser el español una vez tengamos el español marcado como idioma original si vosotros queréis utilizar otro idioma le cambiéis el nombre nos vamos abajo del todo y seleccionamos el otro contenido que queremos pasar en este caso el de inglés y aquí lo llamamos Data frame y ponemos en para que nos lo pongan el resultado
(05:23) final ejecutaríamos esto y podéis ver que nos sale aquí esto es muy rápido porque son cuatro posts nos abriría una barra que ejecutando también podéis ir aquí a la función vamos a hacer un poco cutre pero vamos a pasarle por aquí el modo de bug lo ejecutamos que nos lo marque y podéis ejecutarlo de nuevo e iréis viendo cómo va ejecutando título a título y si hay algún error si se para en algún sitio Pues podría ir viéndolo veis que se baja automáticamente yo he bajado aquí un par de demos os tengo aquí incluido el ejemplo de resultado si
(05:58) solo incluimos el title lo que nos va a hacer es Añadir columnas extra en este caso tenemos los resultados en inglés digamos que sigue el orden sería auto strack entity lo tenemos aquí y nos lo machea como esta entidad desde una URL con open aquí en Google Sí la verdad que está da un error de formato esto lo podemos ajustar nos lo habéis encontrado alguna vez si se ponen comas o puntos os lo puedo transformar automáticamente a un formato se la puede saltar entonces tendréis que ir a datos la perdona formato número y podéis quitar el
(06:34) automático o ponerlo en formato sin formato sin formato o número tenéis que ajustar por ahí aquí podéis ver los resultados que os da en realidad tenemos el match score que sería la confiabilidad del 0 a 1 con la que este título te lo asigna este es decir Este título y luego tenéis otra machis esto sirve porque muchas veces va a haber cosas parecidas esto en este caso es muy fácil porque son traducciones exactas Pero hay veces que Vais a trabajar con traducciones inexactas o títulos bastante incluso distintos entonces para
(07:12) facilitar la hora de trabajo esto siempre recomiendo hacer una revisión manual sobre todo en los que tienen una puntuación de confiabilidad menor a 0,9 podéis revisar y por ejemplo veis que aquí nosotros resultados nos da el principal con 09 38 y luego nos da otro como 0475 y otro con cero dos nueve ocho aquí igual y aquí igual Aquí vemos que está muy clara todo el macheo porque la introducción es exactas pero pensad que en un proyecto más complejo esto se puede complicar entonces este campo al menos en los casos que hemos utilizado
(07:43) nosotros no es muy útil para hacer revisiones Y eso sería todo luego podéis ver por ejemplo en un Sport de un wordpress aquí tengo un archivo que hemos usado en varios idiomas aquí tenemos cuatro idiomas he borrado los datos para no revelar nada pero veis que tenemos la idea del post esto sería un caso en un wordpress aquí tendríamos asignado el match en español que como borrado por nombre lo está encontrando pero ya tendríamos para el import perfecto vemos si está duplicado por si se nos han salido Machos duplicados esto es un
(08:14) aquí lo pegado Pero bueno sería un tipo is en el típico recuento de Google sites aquí tendríamos los resultados que teníamos aquí de title image de title y match title las Core aquí veis que ya tiene formato bien colocado tendríamos los otros maches y podéis ver que aquí hay casos muy similares aquí este nos lo ha dado con uno con 100% de confiabilidad pero cuando trabajamos en blogs que tienen con decenas y decenas y cientos de contenidos sabéis que existen las canalizaciones y hay contenidos muy parecidos Entonces en este caso vez que
(08:48) el primero tiene confiabilidad de uno pero el segundo tiene cero nueve dos con cinco y os aseguro que si bajáramos abajo y os enseñará el contenido hay muchos que están con confiabilidad 7 y luego hay otro que confiar ir a 5 que tendríamos que echarle un ojo Para estar seguros de que está correcto y vemos que aquí tenemos el resto de datos del Sport de wordpress pues la fecha el tipo de post El permalin que lo he borrado y el estado de publicación Y eso es todo simplemente tenéis que cambiar estas líneas que os he comentado
(09:16) en el vídeo estos pequeños detalles de texto con vuestros con los idiomas Que queréis cambiar y es ejecutar Funciona muy rápido Está bastante optimizado y espero que sea de mucha ayuda para los que queréis ver un poco cómo funciona nos quedamos aquí anteriormente y vemos que leemos todo en Data frames para luego poder utilizarlo formatearlo bien en csv Añadir columnas nos sacamos todos los textos a unas listas para pasarlo a formato Stream fácilmente y aquí es la primera cosa un poco extraña esto simplemente es el topk lo que vamos a
(09:48) hacer lo vamos a utilizar para optimizar esto un poco y para marcar el número de ese resultados que queremos que nos dé el número de machis aquí hemos puesto que vaya de 3 hasta es decir que nos dé tres resultados y va a compararlo con la longitud de el idioma original decirlo va a completar con todo nuestro Corpus Por así decirlo si queréis tener más resultados aquí en el odermachis simplemente podéis subir esto y os mostraría mucho más resultados y aquí tenemos las dos funciones que son el meollo de la función que básicamente
(10:23) lo que hace es generar en beadings está aquí todo explicado luego calculamos la distancia coseno entre ambos y nos quedamos con el más similar veis que aquí abajo hacemos giramos el Corpus esto básicamente es con el idioma original lo pasamos todo veis que él Llevamos aquí a originals lo pasamos todo en bedings los en si no estáis Así un poco metidos en el mundo del nlp y la Inteligencia artificial son formas de representar palabras en vectores en números pero que mantengan sus propiedades semánticas si es una forma
(10:55) de representar palabras numéricamente en las que Nuestro objetivo es que se muestran como vectores y en teoría palabras similares semánticamente son vectores en una posición similar en el plano hablamos de vectores n dimensionales no son vectores de x y simplemente me suena un poco complejo Pero bueno que es la verdad que está hoy en día básicamente para implementar esto si tenéis que llamar una función y se ejecute no hace falta saber el bagaje técnico de ello y a continuación tenemos la función Machine de match single model
(11:28) que nos coge los enberings de nuestro idioma original y nos los va a comparar con el idioma que queremos en este caso el inglés si nos va a comprar español con inglés y aquí tienes la ejecución de la función nos va a pasar el texto en el idioma lo pasa en Bering también y Aquí vamos a hacer la comparación esto es una forma un poco elaborada de hacer el producto de coseno que básicamente mide la distancia entre esos dos vectores que hemos conseguido y como os dije los vectores más cercanos tienen son similarmente semánticos entonces nos
(12:04) quedamos con la distancia más corta y aquí ya es cuestión de formatear y pues hacemos una score hacemos un Corpus ID lo formateamos todo esto es en el caso de que metamos debug Este es el caso de que no y vamos devolviendo todo y devolvemos pues el High el Core es decir la el título más próximo las Core en sí y other machis Y eso sería todo cualquier duda que tengáis al respecto Y si queréis profundizar ya sabéis tenemos más vídeos en el canal podéis seguirnos también en el blog de social web y un placer Gracias por vuestro tiempo
(12:36) nos vemos en el próximo vídeo
Nuestro script presenta una alternativa gratuita y útil para la tarea de migración multilingüe.
Utiliza un modelo Transformer de la librería Sentest Transformers.
En el video el modelo elegido para el demo es el Frase Multilingual MiniLM L12V2.
Con este modelo, se puede hacer una búsqueda semántica para comparar textos en diferentes idiomas y asignarlos entre sí según su similitud semántica.
Esto es especialmente útil para la migración multilingüe de muchos contenidos y para automatizar el proceso de asignación de productos o Hreflangs.
Además, el modelo usado es capaz de trabajar con más de 50 idiomas, incluyendo los más comunes del mundo, como español, italiano, alemán y chino.
Características del clasificador de texto multilingüe con IA:
- Soporte multilingüe: El clasificador de texto multilingüe con IA puede manejar datos de texto en varios idiomas.
- Alta precisión: La herramienta utiliza algoritmos de aprendizaje automático que aprenden de un conjunto determinado de textos para identificar patrones y aplicarlos a nuevos datos no vistos, lo que se traduce en una gran precisión.
- Rapidez: El clasificador de texto multilingüe con IA puede analizar grandes cantidades de datos de texto en cuestión de segundos, lo que lo convierte en una solución eficaz para las empresas que generan una gran cantidad de datos textuales.
- Facilidad de uso: La herramienta cuenta con una interfaz fácil de usar que facilita su utilización incluso a usuarios sin conocimientos técnicos.
- Personalizable: El Clasificador de Texto Multilenguaje con IA permite a los usuarios crear categorías personalizadas basadas en sus necesidades específicas.
Ventajas del clasificador de texto multilingüe con IA:
- Automatización: El Clasificador de Texto Multilingüe con IA automatiza el proceso de clasificación de texto, reduciendo el tiempo y el esfuerzo necesarios para la clasificación manual de datos de texto multilingüe.
- Precisión: La alta precisión de la herramienta garantiza que los datos se clasifican correctamente, lo que conduce a una mejor toma de decisiones y análisis.
- Mejora de la productividad: El clasificador de texto multilingüe con IA permite a los usuarios manejar grandes cantidades de datos de texto rápidamente, lo que conduce a una mayor productividad.
- Reducción de costes: Al automatizar el proceso de clasificación de textos, las empresas pueden reducir los costes asociados al trabajo manual.
¿Cómo funciona el clasificador de texto multilingüe con IA?
El clasificador de texto multilingüe con IA utiliza técnicas de procesamiento del lenguaje natural (PLN) y algoritmos de aprendizaje automático para analizar y categorizar datos de texto. La herramienta comienza analizando un conjunto determinado de textos para identificar patrones y asociaciones entre palabras, frases y oraciones. A continuación, el algoritmo aplica estos patrones a nuevos datos no vistos para clasificarlos en categorías predefinidas.
Preguntas sobre el clasificador de textos multiidioma:
¿Puede el clasificador de texto multilingüe con IA manejar datos de texto en varios idiomas?
Sí, la herramienta puede manejar datos de texto en varios idiomas, como inglés, español, alemán, francés y muchos más.
¿Es preciso el Clasificador de texto multilingüe con IA?
Sí, la alta precisión de la herramienta garantiza que los datos se clasifican correctamente, lo que permite tomar mejores decisiones y realizar mejores análisis.
Co-CEO y Head of SEO de iSocialWeb, una agencia especializada en SEO, SEM y CRO que gestiona más de +350M de visitas orgánicas al año y con una infraestructura 100% descentralizada.
Además de la empresa Virality Media, una empresa de proyectos propios con más de 150 Millones de visitas activas mensuales repartidos entre diferentes sectores e industrias.
Ingeniero de Sistemas de formación y SEO de vocación. Aprendiz incansable, fan de la IA y soñador de prompts.