El auge del texto y búsqueda semántica Los motores han facilitado la búsqueda de comercio electrónico y negocios minoristas para sus consumidores. Los motores de búsqueda impulsados por texto e imagen unificados pueden proporcionar flexibilidad adicional en las soluciones de búsqueda. Puede utilizar texto e imágenes como consultas. Por ejemplo, tiene una carpeta con cientos de fotos familiares en su computadora portátil. Desea encontrar rápidamente una foto que se tomó cuando usted y su mejor amigo estaban frente a la piscina de su antigua casa. Puede usar un lenguaje conversacional como "dos personas paradas frente a una piscina" como una consulta para buscar en un motor de búsqueda unificado de texto e imágenes. No necesita tener las palabras clave correctas en los títulos de las imágenes para realizar la consulta.
Servicio Amazon OpenSearch ahora soporta el similitud de coseno Métrica para índices k-NN. La similitud de coseno mide el coseno del ángulo entre dos vectores, donde un ángulo de coseno más pequeño denota una mayor similitud entre los vectores. Con la similitud del coseno, puede medir la orientación entre dos vectores, lo que lo convierte en una buena opción para algunas aplicaciones de búsqueda semántica específicas.
Pre-entrenamiento de imagen-lenguaje contrastivo (CLIP) es una red neuronal entrenada en una variedad de pares de imágenes y texto. La red neuronal CLIP es capaz de proyectar imágenes y texto en el mismo espacio latente, lo que significa que se pueden comparar usando una medida de similitud, como la similitud del coseno. Puede usar CLIP para codificar las imágenes o la descripción de sus productos en incrustacionesy luego guárdelos en un índice k-NN de OpenSearch Service. Luego, sus clientes pueden consultar el índice para recuperar los productos que les interesan.
Puede usar CLIP con Amazon SageMaker para realizar la codificación. Inferencia sin servidor de Amazon SageMaker es un servicio de inferencia especialmente diseñado que facilita la implementación y el escalado de modelos de aprendizaje automático (ML). Con SageMaker, puede implementar serverless para desarrollo y prueba, y luego pasar a inferencia en tiempo real cuando vas a producción. SageMaker sin servidor lo ayuda a ahorrar costos al reducir la infraestructura a 0 durante los tiempos de inactividad. Esto es perfecto para construir un POC, donde tendrá largos tiempos de inactividad entre ciclos de desarrollo. También puedes usar Transformación por lotes de Amazon SageMaker para obtener inferencias de grandes conjuntos de datos.
En esta publicación, demostramos cómo crear una aplicación de búsqueda usando CLIP con SageMaker y OpenSearch Service. El código es de código abierto y está alojado en GitHub.
Resumen de la solución
OpenSearch Service proporciona coincidencia de texto e incrustación de búsqueda k-NN. Utilizamos la búsqueda k-NN incrustada en esta solución. Puede usar tanto la imagen como el texto como una consulta para buscar elementos del inventario. La implementación de esta aplicación unificada de búsqueda de imágenes y texto consta de dos fases:
- índice de referencia k-NN – En esta fase, pasa un conjunto de documentos corpus o imágenes de productos a través de un modelo CLIP para codificarlos en incrustaciones. Las incrustaciones de texto e imágenes son representaciones numéricas del corpus o las imágenes, respectivamente. Guarde esas incrustaciones en un índice k-NN en OpenSearch Service. El concepto que sustenta k-NN es que existen puntos de datos similares muy cerca en el espacio de incrustación. Por ejemplo, el texto "una flor roja", el texto "rosa" y una imagen de una rosa roja son similares, por lo que estas incrustaciones de texto e imagen están cerca una de la otra en el espacio de incrustación.
- consulta de índice k-NN – Esta es la fase de inferencia de la aplicación. En esta fase, envía una consulta de búsqueda de texto o una consulta de búsqueda de imágenes a través del modelo de aprendizaje profundo (CLIP) para codificar como incrustaciones. Luego, usa esas incrustaciones para consultar el índice k-NN de referencia almacenado en OpenSearch Service. El índice k-NN devuelve incrustaciones similares del espacio de incrustaciones. Por ejemplo, si pasa el texto de "una flor roja", devolverá las incrustaciones de una imagen de rosa roja como un elemento similar.
La siguiente figura ilustra la arquitectura de la solución.
Los pasos del flujo de trabajo son los siguientes:
- Créar un modelo de SageMaker de un modelo CLIP preentrenado para inferencia por lotes y en tiempo real.
- Genere incrustaciones de imágenes de productos mediante un trabajo de transformación por lotes de SageMaker.
- Utilice SageMaker Serverless Inference para codificar la imagen y el texto de la consulta en incrustaciones en tiempo real.
- Uso Servicio de almacenamiento simple de Amazon (Amazon S3) para almacenar el texto sin procesar (descripción del producto) y las imágenes (imágenes del producto) y la incrustación de imágenes generada por los trabajos de transformación por lotes de SageMaker.
- Utilice OpenSearch Service como motor de búsqueda para almacenar incrustaciones y encontrar incrustaciones similares.
- Utilice una función de consulta para organizar la codificación de la consulta y realizar una búsqueda k-NN.
Utilizamos Estudio Amazon SageMaker ordenadores portátiles (no se muestra en el diagrama) como el entorno de desarrollo integrado (IDE) para desarrollar la solución.
Configurar los recursos de la solución
Para configurar la solución, complete los siguientes pasos:
- Cree un dominio de SageMaker y un perfil de usuario. Para obtener instrucciones, consulte el Paso 5 de Incorporación al dominio de Amazon SageMaker mediante la configuración rápida.
- Cree un dominio de servicio de OpenSearch. Para obtener instrucciones, consulte Creación y administración de dominios de Amazon OpenSearch Service.
También puedes usar un Formación en la nube de AWS plantilla siguiendo las instrucciones de GitHub para crear un dominio.
Puede conectar Studio a Amazon S3 desde Nube privada virtual de Amazon (Amazon VPC) utilizando un punto final de la interfaz en su VPC, en lugar de conectarse a través de Internet. Al utilizar un punto de enlace de la VPC de interfaz (punto de enlace de la interfaz), la comunicación entre su VPC y Studio se lleva a cabo de forma completa y segura dentro de la red de AWS. Su portátil Studio puede conectarse a OpenSearch Service a través de una VPC privada para garantizar una comunicación segura.
Los dominios de OpenSearch Service ofrecen cifrado de datos en reposo, que es una función de seguridad que ayuda a evitar el acceso no autorizado a sus datos. El cifrado de nodo a nodo proporciona una capa adicional de seguridad además de las funciones predeterminadas de OpenSearch Service. Amazon S3 aplica automáticamente el cifrado del lado del servidor (SSE-S3) para cada objeto nuevo, a menos que especifique una opción de cifrado diferente.
En el dominio del servicio OpenSearch, puede adjuntar políticas basadas en identidad que definan quién puede acceder a un servicio, qué acciones pueden realizar y, si corresponde, los recursos en los que pueden realizar esas acciones.
Codificar imágenes y pares de texto en incrustaciones
En esta sección se explica cómo codificar imágenes y texto en incrustaciones. Esto incluye la preparación de datos, la creación de un modelo de SageMaker y la realización de transformaciones por lotes utilizando el modelo.
Resumen y preparación de datos
Puede usar una computadora portátil SageMaker Studio con un kernel de Python 3 (Ciencia de datos) para ejecutar el código de muestra.
Para esta publicación, usamos el Conjunto de datos de objetos de Amazon Berkeley. El conjunto de datos es una colección de 147,702 398,212 listados de productos con metadatos multilingües y 1,600 XNUMX imágenes de catálogo únicas. Solo usamos las imágenes y los nombres de los artículos en inglés estadounidense. Para fines de demostración, utilizamos aproximadamente XNUMX productos. Para obtener más detalles sobre este conjunto de datos, consulte el README. El conjunto de datos está alojado en un depósito público de S3. Hay 16 archivos que incluyen la descripción del producto y los metadatos de los productos de Amazon en el formato de listings/metadata/listings_<i>.json.gz
. Usamos el primer archivo de metadatos en esta demostración.
Tu usas Los pandas para cargar los metadatos, luego seleccione productos que tengan títulos en inglés de EE. UU. del marco de datos. Pandas es una herramienta de manipulación y análisis de datos de código abierto construida sobre el lenguaje de programación Python. Usas un atributo llamado main_image_id
para identificar una imagen. Ver el siguiente código:
Hay 1,639 productos en el marco de datos. A continuación, vincule los nombres de los elementos con las imágenes de los elementos correspondientes. images/metadata/images.csv.gz
contiene metadatos de imagen. Este archivo es un archivo CSV comprimido con gzip con las siguientes columnas: image_id
, height
, width
y path
. Puede leer el archivo de metadatos y luego fusionarlo con los metadatos del elemento. Ver el siguiente código:
Puede usar el kernel Python 3 incorporado de SageMaker Studio Notebook Biblioteca PIL para ver una imagen de muestra del conjunto de datos:
Preparación del modelo
A continuación, crea un modelo de SageMaker de un modelo CLIP preentrenado. El primer paso es descargar el archivo de ponderación del modelo previamente entrenado, ponerlo en un model.tar.gz
y cárguelo en un bucket de S3. La ruta del modelo preentrenado se puede encontrar en el CLIP repositorio. Usamos un preentrenado ResNet-50 (RN50) modelo en esta demostración. Ver el siguiente código:
Luego debe proporcionar un script de punto de entrada de inferencia para el modelo CLIP. CLIP se implementa usando PyTorch, entonces usas el PyTorch de SageMaker estructura. PyTorch es un marco de ML de código abierto que acelera el camino desde la creación de prototipos de investigación hasta la implementación de producción. Para obtener información sobre cómo implementar un modelo PyTorch con SageMaker, consulte Implementar modelos de PyTorch. El código de inferencia acepta dos variables de entorno: MODEL_NAME
y ENCODE_TYPE
. Esto nos ayuda a cambiar fácilmente entre diferentes modelos CLIP. Usamos ENCODE_TYPE
para especificar si queremos codificar una imagen o un fragmento de texto. Aquí, usted implementa el model_fn
, input_fn
, predict_fn
y output_fn
funciones para anular la controlador de inferencia PyTorch predeterminado. Ver el siguiente código:
La solución requiere paquetes de Python adicionales durante la inferencia del modelo, por lo que puede proporcionar un requirements.txt
para permitir que SageMaker instale paquetes adicionales al hospedar modelos:
Utilice el clase PyTorchModel para crear un objeto que contenga la información de la ubicación de Amazon S3 de los artefactos del modelo y los detalles del punto de entrada de la inferencia. Puede usar el objeto para crear trabajos de transformación por lotes o implementar el modelo en un punto final para la inferencia en línea. Ver el siguiente código:
Transformación por lotes para codificar imágenes de elementos en incrustaciones
A continuación, usamos el modelo CLIP para codificar imágenes de elementos en incrustaciones y usamos la transformación por lotes de SageMaker para ejecutar la inferencia por lotes.
Antes de crear el trabajo, use el siguiente fragmento de código para copiar imágenes de elementos del depósito público de S3 de Amazon Berkeley Objects Dataset a su propio depósito. La operación dura menos de 10 minutos.
A continuación, realiza inferencias sobre las imágenes de los elementos por lotes. El trabajo de transformación por lotes de SageMaker utiliza el modelo CLIP para codificar todas las imágenes almacenadas en la ubicación de Amazon S3 de entrada y carga las incrustaciones de salida en una carpeta de S3 de salida. El trabajo dura alrededor de 10 minutos.
Cargue incrustaciones de Amazon S3 en una variable, para que pueda ingerir los datos en OpenSearch Service más tarde:
Cree un motor de búsqueda unificado basado en ML
En esta sección se explica cómo crear un motor de búsqueda que utilice la búsqueda k-NN con incrustaciones. Esto incluye la configuración de un clúster de OpenSearch Service, la ingesta de incrustaciones de elementos y la realización de consultas de búsqueda de imágenes y texto libre.
Configure el dominio del servicio OpenSearch usando la configuración de k-NN
Anteriormente, creó un clúster de OpenSearch. Ahora va a crear un índice para almacenar los datos del catálogo y las incrustaciones. Puede configurar los ajustes del índice para habilitar la funcionalidad k-NN utilizando la siguiente configuración:
Este ejemplo usa el Cliente Python Elasticsearch para comunicarse con el clúster de OpenSearch y crear un índice para alojar sus datos. Tu puedes correr %pip install elasticsearch
en el cuaderno para instalar la biblioteca. Ver el siguiente código:
Ingerir datos de incrustación de imágenes en OpenSearch Service
Ahora recorre su conjunto de datos e ingiere datos de elementos en el clúster. La ingestión de datos para esta práctica debe finalizar en 60 segundos. También ejecuta una consulta simple para verificar si los datos se incorporaron correctamente al índice. Ver el siguiente código:
Realizar una consulta en tiempo real
Ahora que tiene un índice de OpenSearch Service en funcionamiento que contiene incrustaciones de imágenes de artículos como nuestro inventario, veamos cómo puede generar incrustaciones para consultas. Debe crear dos extremos de SageMaker para manejar incrustaciones de texto e imágenes, respectivamente.
También crea dos funciones para usar los puntos finales para codificar imágenes y textos. Para el encode_text
función, agregas this is
antes del nombre de un elemento para traducir un nombre de elemento a una oración para la descripción del elemento. memory_size_in_mb
se establece en 6 GB para servir el subrayado transformador y Resnet modelos Ver el siguiente código:
En primer lugar, puede trazar la imagen que se utilizará.
Veamos los resultados de una consulta simple. Después de recuperar los resultados de OpenSearch Service, obtiene la lista de nombres de elementos e imágenes de dataset
:
El primer ítem tiene una puntuación de 1.0, porque las dos imágenes son iguales. Otros artículos son diferentes tipos de anteojos en el índice de OpenSearch Service.
También puede usar texto para consultar el índice:
Ahora puede obtener tres imágenes de vasos de agua del índice. Puede encontrar las imágenes y el texto dentro del mismo espacio latente con el codificador CLIP. Otro ejemplo de esto es buscar la palabra “pizza” en el índice:
Limpiar
Con un modelo de pago por uso, Serverless Inference es una opción rentable para un patrón de tráfico poco frecuente o impredecible. Si tienes un estricto acuerdo de nivel de servicio (SLA), o no puede tolerar los inicios en frío, los puntos finales en tiempo real son una mejor opción. Usando multimodelo or multi-contenedor Los terminales proporcionan soluciones escalables y rentables para implementar una gran cantidad de modelos. Para obtener más información, consulte Precios de Amazon SageMaker.
Sugerimos eliminar los puntos finales sin servidor cuando ya no sean necesarios. Después de terminar este ejercicio, puede eliminar los recursos con los siguientes pasos (puede eliminar estos recursos de la Consola de administración de AWSo utilizando el SDK de AWS o el SDK de SageMaker):
- Elimine el punto final que creó.
- Opcionalmente, elimine los modelos registrados.
- Opcionalmente, elimine la función de ejecución de SageMaker.
- Opcionalmente, vacíe y elimine el depósito S3.
Resumen
En esta publicación, demostramos cómo crear una aplicación de búsqueda k-NN utilizando las funciones de índice k-NN de SageMaker y OpenSearch Service. Usamos un modelo CLIP pre-entrenado de su OpenAI puesta en práctica.
La implementación de ingesta del servicio OpenSearch de la publicación solo se usa para la creación de prototipos. Si desea ingerir datos de Amazon S3 en OpenSearch Service a escala, puede iniciar un Trabajo de procesamiento de Amazon SageMaker con el tipo de instancia y el número de instancias adecuados. Para ver otra solución de incorporación de ingestión escalable, consulte Novartis AG utiliza Amazon OpenSearch Service K-Nearest Neighbor (KNN) y Amazon SageMaker para impulsar la búsqueda y la recomendación (Parte 3/4).
CLIP proporciona tiro cero capacidades, lo que hace posible adoptar un modelo pre-entrenado directamente sin usar transferencia de aprendizaje para afinar un modelo. Esto simplifica la aplicación del modelo CLIP. Si tiene pares de imágenes de productos y texto descriptivo, puede ajustar el modelo con sus propios datos mediante el aprendizaje de transferencia para mejorar aún más el rendimiento del modelo. Para más información, ver Aprendizaje de modelos visuales transferibles a partir de la supervisión del lenguaje natural y del CLIP repositorio de GitHubhistoria
Acerca de los autores
kevin du es Arquitecto sénior de laboratorio de datos en AWS, dedicado a ayudar a los clientes a acelerar el desarrollo de sus productos de Machine Learning (ML) y plataformas MLOps. Con más de una década de experiencia en la creación de productos habilitados para ML para nuevas empresas y empresas, su objetivo es ayudar a los clientes a optimizar la producción de sus soluciones de ML. En su tiempo libre, a Kevin le gusta cocinar y ver baloncesto.
Ananya Roy es un arquitecto sénior de laboratorio de datos especializado en IA y aprendizaje automático con sede en Sídney, Australia. Ha estado trabajando con una amplia gama de clientes para brindar orientación arquitectónica y ayudarlos a brindar una solución efectiva de IA/ML a través del compromiso del laboratorio de datos. Antes de AWS, trabajaba como científica de datos sénior y se ocupó de modelos de aprendizaje automático a gran escala en diferentes industrias, como telecomunicaciones, bancos y fintech. Su experiencia en AI/ML le ha permitido brindar soluciones efectivas para problemas comerciales complejos, y le apasiona aprovechar las tecnologías de vanguardia para ayudar a los equipos a alcanzar sus objetivos.
- Distribución de relaciones públicas y contenido potenciado por SEO. Consiga amplificado hoy.
- Platoblockchain. Inteligencia del Metaverso Web3. Conocimiento amplificado. Accede Aquí.
- Fuente: https://aws.amazon.com/blogs/machine-learning/implement-unified-text-and-image-search-with-a-clip-model-using-amazon-sagemaker-and-amazon-opensearch-service/
- :es
- ][pag
- $ UP
- 1
- 10
- 100
- 11
- 7
- 8
- 9
- a
- Poder
- Nuestra Empresa
- acelera
- Acepta
- de la máquina
- Lograr
- a través de
- acciones
- Adicionales
- adoptar
- Después
- AG
- Agreement
- AI
- AI / ML
- Todos
- Amazon
- Servicio Amazon OpenSearch
- Amazon SageMaker
- análisis
- y
- Otra
- aplicable
- Aplicación
- aplicaciones
- adecuado
- aproximadamente
- arquitectónico
- arquitectura
- somos
- argumento
- en torno a
- AS
- At
- adjuntar
- Australia
- automáticamente
- AWS
- Bancos
- basado
- Baloncesto
- BE
- porque
- antes
- Berkeley
- MEJOR
- mejores
- entre
- cuerpo
- build
- Construir la
- construido
- incorporado
- negocios
- by
- , que son
- PUEDEN
- capacidades
- catalogar
- CD
- comprobar
- manera?
- cliente
- Cerrar
- Médico
- código
- --
- Columnas
- Comunicarse
- Comunicación
- en comparación con
- completar
- integraciones
- concepto
- llevado a cabo
- Configuración
- Contacto
- Conectándote
- conexión
- Clientes
- que no contengo
- contiene
- contenido
- conversacional
- Correspondiente
- Cost
- rentable
- podría
- Para crear
- creado
- Creamos
- Referencias
- Vaso
- Clientes
- innovador
- de ciclos
- datos
- análisis de los datos
- puntos de datos
- Ciencia de los datos
- científico de datos
- conjuntos de datos
- década
- a dedicados
- profundo
- deep learning
- Predeterminado
- definir
- entregamos
- demostrar
- demostrado
- desplegar
- Desplegando
- despliegue
- descripción
- deseado
- detalles
- Dev
- desarrollar
- Desarrollo
- dispositivo
- una experiencia diferente
- Dimensiones
- directamente
- Pantalla
- diverso
- documentos
- dominio
- dominios
- No
- DE INSCRIPCIÓN
- descargar
- durante
- cada una
- más fácil
- pasan fácilmente
- comercio electrónico
- Eficaz
- habilitar
- cifrado
- Punto final
- de su negocio.
- Motor
- motores
- Inglés
- garantizar
- empresas
- enteramente
- entrada
- Entorno
- Errores
- ejemplo
- ejecución
- Haz ejercicio
- experience
- extra
- familia
- Feature
- Caracteristicas
- Figura
- Archive
- archivos
- Encuentre
- acabado
- Nombre
- Flexibilidad
- Focus
- siguiendo
- siguiente
- formato
- encontrado
- FRAME
- Marco conceptual
- Gratis
- Amigo
- Desde
- frontal o trasero
- función
- funcional
- a la fatiga
- funciones
- promover
- generar
- generado
- obtener
- Git
- GitHub
- vaso
- Go
- Goals
- va
- candidato
- guía
- encargarse de
- Tienen
- cabeceras
- altura
- ayuda
- ayudando
- ayuda
- esta página
- más alto
- Golpear
- Golpes
- fortaleza
- organizado
- hosting
- Cómo
- Como Hacer
- HTML
- http
- HTTPS
- Cientos
- i
- Identifique
- Idle
- IDX
- imagen
- Búsqueda de imágenes
- imágenes
- implementar
- implementación
- implementado
- implementación
- importar
- mejorar
- in
- incluir
- incluye
- índice
- índices
- Indices
- industrias
- información
- EN LA MINA
- Las opciones de entrada
- instalar
- ejemplo
- Instrucciones
- COMPLETAMENTE
- interesado
- Interfaz
- Internet
- inventario
- IT
- artículos
- SUS
- Trabajos
- Empleo
- jpg
- json
- el lab
- idioma
- portátil
- large
- Gran escala
- lanzamiento
- .
- aprendizaje
- aprovechando
- Biblioteca
- como
- LINK
- Lista
- Propiedades
- carga
- carga
- Ubicación
- Largo
- por más tiempo
- Mira
- máquina
- máquina de aprendizaje
- hecho
- HACE
- Management
- administrar
- Manipulación
- manera
- significa
- medir
- medidas
- ir
- Meta
- metadatos
- métrico
- Min
- ML
- MLOps
- modelo
- modelos
- más,
- movimiento
- nombre
- nombres
- Natural
- ¿ Necesita ayuda
- del sistema,
- red neural
- Nuevo
- Next
- cuaderno
- números
- objeto
- objetos
- of
- LANZAMIENTO
- Viejo
- on
- en línea
- habiertos
- de código abierto
- Inteligente
- Optión
- OS
- Otro
- salida
- anular
- visión de conjunto
- EL DESARROLLADOR
- paquetes
- pares
- Los pandas
- parte
- apasionado
- camino
- Patrón de Costura
- (PDF)
- Personas
- perfecto
- Realizar
- actuación
- realizar
- fase
- imagen
- Fotos
- pieza
- Pizza
- Plataformas
- Platón
- Inteligencia de datos de Platón
- PlatónDatos
- PoC
- punto
- puntos
- políticas
- alberca
- posible
- Publicación
- industria
- alimentado
- predicción
- Predicciones
- preparación
- evitar
- Anterior
- privada
- problemas
- tratamiento
- Producto
- Producción
- Productos
- Mi Perfil
- Programación
- proyecto
- propiedades
- prototipado
- proporcionar
- proporciona un
- público
- fines
- poner
- Python
- piñón
- Búsqueda
- con rapidez
- distancia
- Crudo
- Leer
- real
- en tiempo real
- Recomendación
- grabar
- Rojo
- expresiones regulares
- región
- registrado
- remove
- requiere
- la investigación
- Recursos
- respuesta
- RESTO
- resultado
- Resultados
- el comercio minorista
- volvemos
- devoluciones
- Subir
- Función
- ROSE
- Ejecutar
- sabio
- mismo
- Guardar
- escalable
- Escala
- la ampliación
- Ciencia:
- Científico
- Puntuación
- Sdk
- Buscar
- motor de búsqueda
- Los motores de búsqueda
- segundos
- Sección
- seguro
- segura
- EN LINEA
- mayor
- sentencia
- ayudar
- Sin servidor
- de coches
- Sesión
- set
- ajustes
- Forma
- tienes
- mostrado
- similares
- sencillos
- Tamaño
- menores
- So
- a medida
- Soluciones
- algo
- Fuente
- Espacio
- especializado
- soluciones y
- stand
- comienza
- Startups
- paso
- pasos
- STORAGE
- tienda
- almacenados
- aerodinamizar
- Estricto
- estudio
- enviar
- Con éxito
- tal
- soportes
- Switch
- Sydney
- SYS
- toma
- equipos
- Tecnologías
- Las redes de
- plantilla
- test
- esa
- La
- la información
- su
- Les
- Estas
- Tres
- A través de esta formación, el personal docente y administrativo de escuelas y universidades estará preparado para manejar los recursos disponibles que derivan de la diversidad cultural de sus estudiantes. Además, un mejor y mayor entendimiento sobre estas diferencias y similitudes culturales permitirá alcanzar los objetivos de inclusión previstos.
- equipo
- veces
- Título
- títulos
- a
- ficha
- del IRS
- parte superior
- antorcha
- visión de antorcha
- tráfico
- entrenado
- transferir
- Transformar
- la traducción
- verdadero
- tipos
- unificado
- único
- imprevisible
- us
- utilizan el
- Usuario
- propuesta de
- variedad
- verificar
- vía
- Ver
- Virtual
- ver
- Agua
- WELL
- que
- QUIENES
- anchura
- Wikipedia
- seguirá
- dentro de
- sin
- Palabra
- trabajando
- se
- X
- Usted
- tú
- zephyrnet