La mayor parte de la web abierta está escrita en un puñado de idiomas, y un crawler que funciona desde un solo país ve una porción aún más estrecha: la versión en inglés o por defecto de sitios que mostrarían texto local a un visitante local. Si entrenas o ajustas modelos para varios mercados, recopilar datos de verdad multilingües y regionales es un problema en sí mismo, y es donde la recopilación de datos para IA y ML se complica.
Esta guía explica cómo planificar la cobertura por idioma, dónde encontrar fuentes locales, cómo obtener la versión que ven los lectores locales y cómo identificar, filtrar y equilibrar el texto una vez que lo tienes. Para el proceso general del rastreo al corpus, consulta nuestra guía para crear conjuntos de datos de entrenamiento a gran escala desde la web abierta.
Planifica la cobertura por idioma y región
Empieza con una tabla, no con un crawler. Para cada idioma objetivo, anota:
- Las regiones que importan. El español de España, México y Argentina difiere en vocabulario, ortografía y temas. El portugués de Brasil y de Portugal difiere aún más. Decide qué variedades necesitas.
- El volumen objetivo por idioma y variedad, en tokens o documentos.
- Los ámbitos que deben estar cubiertos: noticias, foros, administración, comercio, obras de referencia, documentación técnica.
- Los sistemas de escritura. Algunos idiomas se escriben en más de un alfabeto, como el serbio en cirílico y en latino. Decide si conservas ambos.
Esa tabla se convierte en tu prueba. Al final de cada ejecución, compara lo que obtuviste con ella, idioma por idioma.
Encuentra fuentes locales
Los rastreos generales infrarrepresentan los idiomas pequeños, así que crea listas semilla por idioma:
- Los dominios de país como
.pl,.vno.co.keson una buena señal inicial de contenido regional. - Las versiones por idioma de sitios globales. Las etiquetas
hreflangen las cabeceras de las páginas y en los sitemaps enumeran cada versión de idioma de una página. Nuestra guía sobre cómo usar hreflang para encontrar cada versión de idioma de una página muestra cómo extraerlas. - Directorios locales, agregadores de noticias y portales gubernamentales, que enlazan a muchos sitios en el mismo idioma.
- Resultados de búsqueda en el idioma local, obtenidos desde la región, que muestran sitios que un rastreo global rara vez alcanza.
Registra la fuente y el estado de exclusión de cada semilla. Respeta robots.txt y las exclusiones para IA en el momento de la descarga, y guarda ese registro junto con los datos.
Obtén la versión que ven los lectores locales
Muchos sitios deciden qué servir según la ubicación del visitante: idioma, moneda, noticias locales, una edición regional o un muro de consentimiento. Un crawler en un centro de datos recibe la versión por defecto para cada país, a menudo en inglés, y la guarda como si fuera contenido local.
Para recopilar la versión local, cada petición debe parecer la de un lector local:
- Una IP en el país de destino, idealmente una conexión doméstica. Las peticiones a través de proxies residenciales llegan desde IP residenciales del país o la ciudad elegidos, así que los sitios las enrutan y localizan como hacen con los visitantes reales.
- Una cabecera
Accept-Languagecoherente, por ejemplopl-PL,pl;q=0.9para lectores polacos en Polonia. - Señales coherentes. La zona horaria y la configuración regional de un navegador headless deben coincidir con la IP. Las discrepancias son una de las razones por las que los sitios vuelven a una versión por defecto; nuestro artículo sobre cómo hacer coincidir geolocalización, zona horaria y configuración regional del proxy repasa las comprobaciones.
Revisa a mano una muestra de cada región al principio de la ejecución. Si el bloque “vietnamita” está lleno de páginas en inglés, la capa de descarga está mal, y ningún filtro posterior lo arreglará.
Identifica el idioma de cada documento
Nunca te fíes solo del atributo lang o del dominio. Pasa un modelo de identificación de idioma por el texto extraído:
- El modelo lid.176 de fastText cubre 176 idiomas y es lo bastante rápido para usarlo en todos los documentos.
- Modelos más amplios como GlotLID cubren muchos más idiomas y funcionan mejor con los de pocos recursos.
Identifica el idioma por párrafo además de por documento. Muchas páginas mezclan idiomas: un artículo local con un menú de navegación en inglés, o un hilo de foro en el que los usuarios cambian de idioma. Conserva los párrafos en el idioma que quieres y guarda una puntuación de confianza para poder endurecer el umbral más adelante. Los textos cortos son donde más falla la identificación, así que fija una longitud mínima antes de fiarte de una etiqueta.
Filtra por idioma, no de forma global
Los filtros de calidad ajustados para el inglés dañan a otros idiomas. Heurísticas como el número de palabras vacías, la longitud media de las palabras o la proporción de signos de puntuación se comportan de otra forma en tailandés, que no separa las palabras con espacios, o en finés, que tiene palabras muy largas. Fija umbrales por idioma, a partir de una muestra revisada por un hablante nativo.
Dos problemas crecen en los datos multilingües:
- Contenido traducido automáticamente. Muchos sitios publican traducciones automáticas de páginas en inglés. Aportan volumen, pero enseñan al modelo errores de traducción. Marca las páginas que son casi traducciones de páginas en inglés conocidas y trata con cautela los sitios que lo traducen todo automáticamente.
- Errores de codificación. El texto mal decodificado produce caracteres corruptos que parecen un idioma real pero extraño. Normaliza a Unicode, repara o descarta las codificaciones rotas y normaliza las formas Unicode para que la misma palabra no se guarde de dos maneras.
Deduplica dentro de cada idioma y entre idiomas, porque el mismo texto repetitivo, los mismos avisos legales y las mismas plantillas aparecen en todas las versiones de un sitio.
Equilibra la mezcla
Los datos web en bruto están dominados por unos pocos idiomas. Entrenar con las proporciones brutas significa que los idiomas pequeños apenas se aprenden. Entrenar con proporciones iguales significa que los idiomas pequeños se repiten muchas veces y el modelo los memoriza.
La vía intermedia habitual es el muestreo por temperatura: cada idioma se muestrea en proporción a su tamaño elevado a una potencia menor que uno. Los artículos de mT5 y XLM-R usaron un exponente de 0,3. Elijas lo que elijas, documéntalo junto con el número de tokens por idioma antes y después del muestreo, para que la mezcla se pueda reproducir y explicar. Nuestra guía sobre la procedencia en el proceso de entrenamiento de IA explica qué registrar.
En resumen
Los datos multilingües no son datos en inglés con un paso de traducción. Planifica la cobertura por idioma y variedad, encuentra fuentes locales, obtén cada región como la ven los lectores locales, identifica el idioma por párrafo, filtra con umbrales por idioma y equilibra la mezcla a propósito. La capa de recopilación decide si tus datos “polacos” son realmente polacos, así que asegura primero la descarga.