Las conversaciones en línea son omnipresentes en la vida moderna y abarcan industrias desde los videojuegos hasta las telecomunicaciones. Esto ha llevado a un crecimiento exponencial en la cantidad de datos de conversaciones en línea, lo que ha ayudado en el desarrollo de sistemas de procesamiento de lenguaje natural (NLP) de última generación como chatbots y modelos de generación de lenguaje natural (NLG). Con el tiempo, también han evolucionado varias técnicas de PNL para el análisis de textos. Esto requiere el requisito de un servicio completamente administrado que se pueda integrar en las aplicaciones mediante llamadas API sin la necesidad de una amplia experiencia en aprendizaje automático (ML). AWS ofrece servicios de IA de AWS preentrenados como Amazon Comprehend, que puede manejar con eficacia los casos de uso de NLP que involucran clasificación, resumen de texto, reconocimiento de entidades y más para recopilar información del texto.
Además, las conversaciones en línea han dado lugar a un fenómeno generalizado de uso no tradicional del lenguaje. Las técnicas tradicionales de PNL a menudo funcionan mal en estos datos de texto debido a los vocabularios específicos de dominio y en constante evolución que existen dentro de las diferentes plataformas, así como a las desviaciones léxicas significativas de las palabras del inglés correcto, ya sea por accidente o intencionalmente como una forma de ataque adversario. .
En esta publicación, describimos múltiples enfoques de ML para la clasificación de texto de conversaciones en línea con herramientas y servicios disponibles en AWS.
Requisitos previos
Antes de profundizar en este caso de uso, complete los siguientes requisitos previos:
- Configurar un Cuenta de AWS y crear un usuario de IAM.
- Configura el CLI de AWS y SDK de AWS.
- (Opcional) Configure su Entorno IDE de Cloud9.
Conjunto de datos
Para esta publicación, usamos el Conjunto de datos de sesgo involuntario de Jigsaw en la clasificación de toxicidad, un referente para el problema específico de clasificación de toxicidad en conversaciones en línea. El conjunto de datos proporciona etiquetas de toxicidad, así como varios atributos de subgrupos, como obsceno, ataque de identidad, insulto, amenaza y sexualmente explícito. Las etiquetas se proporcionan como valores fraccionarios, que representan la proporción de anotadores humanos que creían que el atributo se aplicaba a un fragmento de texto determinado, que rara vez son unánimes. Para generar etiquetas binarias (por ejemplo, tóxico o no tóxico), se aplica un umbral de 0.5 a los valores fraccionarios y los comentarios con valores superiores al umbral se tratan como la clase positiva para esa etiqueta.
Incrustación de subpalabras y RNN
Para nuestro primer enfoque de modelado, usamos una combinación de incrustación de subpalabras y redes neuronales recurrentes (RNN) para entrenar modelos de clasificación de texto. Las incrustaciones de subpalabras fueron introducidas por Bojanowski et al. en 2017 como una mejora sobre los métodos de incrustación a nivel de palabra anteriores. Los modelos tradicionales de salto de gramo de Word2Vec están entrenados para aprender una representación vectorial estática de una palabra objetivo que predice de manera óptima el contexto de esa palabra. Los modelos de subpalabras, por otro lado, representan cada palabra objetivo como una bolsa de los n-gramas de caracteres que componen la palabra, donde un n-grama se compone de un conjunto de n caracteres consecutivos. Este método permite que el modelo de incrustación represente mejor la morfología subyacente de las palabras relacionadas en el corpus, así como el cálculo de incrustaciones para palabras novedosas fuera del vocabulario (OOV). Esto es particularmente importante en el contexto de las conversaciones en línea, un espacio problemático en el que los usuarios a menudo escriben mal las palabras (a veces intencionalmente para evadir la detección) y también usan un vocabulario único en constante evolución que podría no ser capturado por un corpus de capacitación general.
Amazon SageMaker facilita el entrenamiento y la optimización de un modelo de incrustación de subpalabras no supervisado en su propio corpus de datos de texto específicos del dominio con el integrado Algoritmo BlazingText. También podemos descargar modelos de propósito general existentes entrenados en grandes conjuntos de datos de texto en línea, como los siguientes Modelos en inglés disponibles directamente desde fastText. Desde la instancia de su notebook de SageMaker, simplemente ejecute lo siguiente para descargar un modelo de texto rápido previamente entrenado:
Ya sea que haya entrenado sus propias incrustaciones con BlazingText o haya descargado un modelo previamente entrenado, el resultado es un modelo binario comprimido que puede usar con la biblioteca gensim para incrustar una palabra de destino dada como un vector basado en sus subpalabras constituyentes:
Después de preprocesar un segmento de texto dado, podemos usar este enfoque para generar una representación vectorial para cada una de las palabras constituyentes (separadas por espacios). Luego usamos SageMaker y un marco de aprendizaje profundo como PyTorch para entrenar un RNN personalizado con un objetivo de clasificación binaria o multietiqueta para predecir si el texto es tóxico o no y el subtipo específico de toxicidad basado en ejemplos de entrenamiento etiquetados.
Para cargar su texto preprocesado a Servicio de almacenamiento simple de Amazon (Amazon S3), use el siguiente código:
Para iniciar el entrenamiento escalable del modelo multi-GPU con SageMaker, ingrese el siguiente código:
En un radio de , definimos un conjunto de datos PyTorch que es utilizado por train.py
para preparar los datos de texto para el entrenamiento y la evaluación del modelo:
Tenga en cuenta que este código prevé que el vectors.zip
El archivo que contiene sus incrustaciones de fastText o BlazingText se almacenará en .
Además, puede implementar fácilmente modelos fastText preentrenados por sí solos para puntos finales de SageMaker en vivo para calcular vectores de incrustación sobre la marcha para usar en tareas relevantes a nivel de palabra. Ver lo siguiente Ejemplo de GitHub para más información.
Transformadores con cara de abrazo
Para nuestro segundo enfoque de modelado, hacemos la transición al uso de Transformers, presentado en el documento La atención es todo lo que necesitas. Los transformadores son modelos de aprendizaje profundo diseñados para evitar deliberadamente las trampas de los RNN al depender de un mecanismo de autoatención para generar dependencias globales entre la entrada y la salida. La arquitectura del modelo Transformer permite una paralelización significativamente mejor y puede lograr un alto rendimiento en un tiempo de entrenamiento relativamente corto.
Basado en el éxito de Transformers, BERT, presentado en el periódico BERT: pre-entrenamiento de transformadores bidireccionales profundos para la comprensión del lenguaje, agregó pre-entrenamiento bidireccional para la representación del lenguaje. Inspirado en la tarea Cloze, BERT está preentrenado con modelado de lenguaje enmascarado (MLM), en el que el modelo aprende a recuperar las palabras originales para tokens enmascarados aleatoriamente. El modelo BERT también está preentrenado en la tarea de predicción de la siguiente oración (NSP) para predecir si dos oraciones están en el orden de lectura correcto. Desde su aparición en 2018, BERT y sus variaciones se han utilizado ampliamente en tareas de clasificación de texto.
Nuestra solución utiliza una variante de BERT conocida como RoBERTa, que se presentó en el documento RoBERTa: un enfoque de preentrenamiento BERT robustamente optimizado. RoBERTa mejora aún más el rendimiento de BERT en una variedad de tareas de lenguaje natural mediante el entrenamiento optimizado de modelos, incluido el entrenamiento de modelos más largos en un corpus 10 veces más grande, el uso de hiperparámetros optimizados, el enmascaramiento aleatorio dinámico, la eliminación de la tarea NSP y más.
Nuestros modelos basados en RoBERTa utilizan el Transformadores de cara abrazados Library, que es un marco Python de código abierto popular que proporciona implementaciones de alta calidad de todo tipo de modelos de Transformer de última generación para una variedad de tareas de NLP. Hugging Face se ha asociado con AWS para permitirle entrenar e implementar fácilmente modelos de Transformer en SageMaker. Esta funcionalidad está disponible a través de Hugging Face Imágenes del contenedor de aprendizaje profundo de AWS, que incluyen las bibliotecas Transformers, Tokenizers y Datasets, y una integración optimizada con SageMaker para el entrenamiento y la inferencia de modelos.
En nuestra implementación, heredamos la columna vertebral de la arquitectura RoBERTa del marco Hugging Face Transformers y usamos SageMaker para entrenar e implementar nuestro propio modelo de clasificación de texto, al que llamamos RoBERTox. RoBERTox utiliza la codificación de pares de bytes (BPE), introducida en Traducción automática neuronal de palabras raras con unidades de subpalabras, para tokenizar el texto de entrada en representaciones de subpalabras. Luego, podemos entrenar nuestros modelos y tokenizadores en los datos de Jigsaw o cualquier corpus específico de un dominio grande (como los registros de chat de un juego específico) y usarlos para la clasificación de texto personalizada. Definimos nuestra clase de modelo de clasificación personalizada en el siguiente código:
Antes del entrenamiento, preparamos nuestros datos de texto y etiquetas utilizando la biblioteca de conjuntos de datos de Hugging Face y subimos el resultado a Amazon S3:
Iniciamos el entrenamiento del modelo de manera similar a la RNN:
Finalmente, el siguiente fragmento de código de Python ilustra el proceso de servir RoBERTox a través de un punto final de SageMaker en vivo para la clasificación de texto en tiempo real para una solicitud JSON:
Evaluación del rendimiento del modelo: conjunto de datos de sesgo no deseado de Jigsaw
La siguiente tabla contiene métricas de rendimiento para modelos entrenados y evaluados en datos de la competencia Jigsaw Unintended Bias in Toxicity Detection Kaggle. Entrenamos modelos para tres tareas diferentes pero interrelacionadas:
- caso binario – El modelo se entrenó en el conjunto de datos de entrenamiento completo para predecir el
toxicity
solo etiqueta - Caso de grano fino – El subconjunto de los datos de entrenamiento para los cuales
toxicity>=0.5
se utilizó para predecir otras etiquetas de subtipo de toxicidad (obscene
,threat
,insult
,identity_attack
,sexual_explicit
) - Estuche multitarea – El conjunto de datos de entrenamiento completo se usó para predecir las seis etiquetas simultáneamente
Entrenamos modelos RNN y Roberta para cada una de estas tres tareas utilizando las etiquetas fraccionarias proporcionadas por Jigsaw, que corresponden a la proporción de anotadores que pensaron que la etiqueta era apropiada para el texto, así como con etiquetas binarias combinadas con pesos de clase en la red. función de pérdida. En el esquema de etiquetado binario, las proporciones se establecieron en un umbral de 0.5 para cada etiqueta disponible (1 si etiqueta >=0.5, 0 en caso contrario) y las funciones de pérdida del modelo se ponderaron en función de las proporciones relativas de cada etiqueta binaria en el conjunto de datos de entrenamiento. En todos los casos, encontramos que el uso directo de las etiquetas fraccionarias resultó en el mejor desempeño, indicando el valor agregado de la información inherente al grado de acuerdo entre los anotadores.
Mostramos dos métricas del modelo: la precisión promedio (AP), que proporciona un resumen de la curva de recuperación de precisión al calcular la media ponderada de los valores de precisión logrados en cada umbral de clasificación, y el área bajo la curva característica operativa del receptor (AUC) , que agrega el rendimiento del modelo a través de los umbrales de clasificación con respecto a la tasa de verdaderos positivos y la tasa de falsos positivos. Tenga en cuenta que la clase verdadera para una instancia de texto dada en el conjunto de prueba corresponde a si la proporción verdadera es mayor o igual a 0.5 (1 si etiqueta>=0.5, 0 en caso contrario).
. | Incrustación de subpalabras + RNN | roberta | ||
. | Etiquetas fraccionarias | Etiquetas binarias + Ponderación de clase | Etiquetas fraccionarias | Etiquetas binarias + Ponderación de clase |
Binario | PA=0.746, ABC=0.966 | AP=0.730, AUC=0.963 | AP=0.758, AUC=0.966 | AP=0.747, AUC=0.963 |
De grano fino | AP=0.906, AUC=0.909 | AP=0.850, AUC=0.851 | AP=0.913, AUC=0.913 | AP=0.911, AUC=0.912 |
Multitarea | PA=0.721, ABC=0.972 | AP=0.535, AUC=0.907 | AP=0.740, AUC=0.972 | AP=0.711, AUC=0.961 |
Conclusión
En esta publicación, presentamos dos enfoques de clasificación de texto para conversaciones en línea utilizando los servicios de aprendizaje automático de AWS. Puede generalizar estas soluciones en todas las plataformas de comunicación en línea, con industrias como la de los juegos que probablemente se beneficiarán de una capacidad mejorada para detectar contenido dañino. En publicaciones futuras, planeamos analizar más a fondo una arquitectura de un extremo a otro para la implementación perfecta de modelos en su cuenta de AWS.
Si desea obtener ayuda para acelerar el uso de ML en sus productos y procesos, comuníquese con el Laboratorio de soluciones de Amazon ML.
Acerca de los autores
marca ryan es un científico de datos en el laboratorio de soluciones de aprendizaje automático de Amazon. Tiene experiencia específica en la aplicación del aprendizaje automático a problemas relacionados con la salud y las ciencias de la vida, y en su tiempo libre le gusta leer historia y ciencia ficción.
Sourav Bhabesh es científico de datos en Amazon ML Solutions Lab. Desarrolla soluciones de IA/ML para clientes de AWS en diversas industrias. Su especialidad es el procesamiento del lenguaje natural (PNL) y le apasiona el aprendizaje profundo. Fuera del trabajo le gusta leer libros y viajar.
Liutong Zhou es científico aplicado en Amazon ML Solutions Lab. Crea soluciones de inteligencia artificial/aprendizaje automático a medida para clientes de AWS en varios sectores. Se especializa en Procesamiento del lenguaje natural (NLP) y le apasiona el aprendizaje profundo multimodal. Es tenor lírico y disfruta cantando óperas fuera del trabajo.
Sia Gholami es un científico de datos sénior en Amazon ML Solutions Lab, donde crea soluciones de IA/ML para clientes de diversas industrias. Le apasiona el procesamiento del lenguaje natural (PNL) y el aprendizaje profundo. Fuera del trabajo, a Sia le gusta pasar tiempo en la naturaleza y jugar al tenis.
Daniel Horowitz es Gerente de Ciencias de IA Aplicada. Dirige un equipo de científicos en el laboratorio de soluciones de Amazon ML que trabaja para resolver los problemas de los clientes e impulsar la adopción de la nube con ML.
- Coinsmart. El mejor intercambio de Bitcoin y criptografía de Europa.
- Platoblockchain. Inteligencia del Metaverso Web3. Conocimiento amplificado. ACCESO LIBRE.
- CriptoHawk. Radar de altcoins. Prueba gratis.
- Fuente: https://aws.amazon.com/blogs/machine-learning/text-classification-for-online-conversations-with-machine-learning-on-aws/
- '
- "
- 10
- 100
- 7
- a
- capacidad
- Sobre
- acelerador
- Mi Cuenta
- Lograr
- alcanzado
- a través de
- adicional
- Adopción
- Agreement
- AI
- Servicios de IA
- Todos
- permite
- Amazon
- cantidad
- análisis
- abejas
- aplicaciones
- aplicada
- Aplicá
- La aplicación de
- enfoque
- enfoques
- adecuado
- arquitectura
- Reservada
- atributos
- Hoy Disponibles
- promedio
- AWS
- bolsa
- es el beneficio
- MEJOR
- mejores
- entre
- más grande
- Libros
- construye
- incorporado
- llamar al
- case
- cases
- personajes
- clase
- clasificación
- Soluciones
- código
- combinación
- combinado
- comentarios
- Comunicación
- competencia
- completar
- compuesto
- cálculo
- Calcular
- informática
- consecutivo
- constantemente
- contacte
- Envase
- contiene
- contenido
- Conversación
- conversaciones
- Para crear
- curva
- personalizado
- cliente
- Clientes
- datos
- científico de datos
- profundo
- desplegar
- despliegue
- describir
- diseñado
- detalles
- Detección
- Determinar
- Desarrollo
- una experiencia diferente
- Dimensiones
- directamente
- discutir
- Pantalla
- descargar
- el lado de la transmisión
- durante
- lugar de trabajo dinámico
- cada una
- pasan fácilmente
- de manera eficaz
- habilitar
- de extremo a extremo
- Punto final
- Inglés
- Participar
- entidad
- evaluación
- evolución
- ejemplo
- ejemplos
- existente
- experience
- Experiencia
- en los detalles
- Cara
- Moda
- Ficción
- Nombre
- siguiendo
- formulario
- adelante
- encontrado
- fraccionario
- Marco conceptual
- Gratuito
- en
- ser completados
- función
- a la fatiga
- funciones
- promover
- futuras
- juego
- Juegos
- juego de azar
- General
- propósito general
- generar
- generación de AHSS
- Buscar
- mayor
- Crecimiento
- encargarse de
- cabeza
- la salud
- ayuda
- ayudado
- Alta
- alta calidad
- historia
- HTTPS
- humana
- Identidad
- implementación
- importante
- mejorado
- es la mejora continua
- incluir
- Incluye
- industrias
- información
- inherente
- Las opciones de entrada
- Insights
- inspirado
- ejemplo
- Insulto
- COMPLETAMENTE
- integración
- IT
- rompecabezas
- Trabajos
- claves
- conocido
- el lab
- Label
- etiquetado
- Etiquetas
- idioma
- large
- mayores
- .
- Prospectos
- APRENDE:
- aprendizaje
- LED
- Biblioteca
- Ciencias de la vida
- que otros
- para vivir
- carga
- máquina
- máquina de aprendizaje
- para lograr
- HACE
- gestionado
- gerente
- máscara
- Mascarillas
- Match
- Matrix
- mecanismo
- Salud Cerebral
- métodos
- Métrica
- podría
- ML
- modelo
- modelos
- más,
- múltiples
- Natural
- Naturaleza
- del sistema,
- telecomunicaciones
- Next
- cuaderno
- número
- Ofertas
- en línea
- funcionamiento
- Optimización
- optimizado
- solicite
- reconocida por
- Otro
- de otra manera
- EL DESARROLLADOR
- Papel
- particularmente
- asociado
- apasionado
- (PDF)
- actuación
- pieza
- Plataformas
- jugando
- Por favor
- Popular
- positivo
- Artículos
- predecir
- predicción
- Preparar
- anterior
- Problema
- problemas
- en costes
- tratamiento
- Productos
- Proyección
- previsto
- proporciona un
- Reading
- en tiempo real
- Recuperar
- la eliminación de
- representar
- representación
- que representa
- solicita
- volvemos
- devoluciones
- Función
- Ejecutar
- escalable
- esquema
- Ciencia:
- CIENCIAS
- Científico
- los científicos
- sin costura
- segmento
- de coches
- Servicios
- servicio
- set
- Varios
- En Corto
- importante
- similares
- sencillos
- desde
- SEIS
- Tamaño
- a medida
- Soluciones
- RESOLVER
- Espacio
- espacios
- se especializa
- CURSOS
- soluciones y
- Gastos
- el estado de la técnica
- Zonas
- STORAGE
- comercial
- Todas las funciones a su disposición
- Target
- tareas
- equipo
- técnicas
- telecomunicaciones
- test
- El
- Tres
- umbral
- 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
- Tokens
- antorcha
- tradicional
- Entrenar
- Formación
- transición
- Traducción
- Viajar
- bajo
- único
- utilizan el
- usuarios
- validación
- propuesta de
- variedad
- diversos
- Video
- videojuegos
- sean
- QUIENES
- dentro de
- sin
- palabras
- Actividades:
- trabajando
- tú