Proyectos finales del curso Deep Learning in Natural Language Processing (por DeepPavlov Lab)

Recientemente completado " Aprendizaje profundo en el procesamiento del lenguaje natural ", un curso educativo abierto sobre el procesamiento del lenguaje natural. Tradicionalmente, los curadores del curso son empleados del proyecto DeepPavlov , una biblioteca abierta para inteligencia artificial hablada, que se está desarrollando en el laboratorio de sistemas neuronales y aprendizaje profundo del MIPT. El curso se llevó a cabo con el apoyo informativo de la comunidad de Open Data Science . Si necesita más detalles sobre el formato del curso, vaya aquí . Uno de los elementos clave de DL en PNL es la oportunidad de sentirse investigador e implementar su propio proyecto.



Hablamos periódicamente en Mediumsobre proyectos que los participantes crean como parte de nuestros programas educativos, por ejemplo, cómo construir un oráculo hablado . Hoy estamos listos para compartir los resultados del curso semestral primavera 2020.







Algunos datos y análisis



Este año hemos batido todos los récords en cuanto al número de cursos: a principios de febrero había unas 800 personas inscritas . Seamos honestos, no estábamos listos para tantos participantes, por lo que se nos ocurrieron muchos puntos con ellos. Pero escribiremos sobre esto la próxima vez.



Volvamos a los participantes. ¿Todos terminaron el curso? La respuesta es, por supuesto, obvia. Con cada nueva asignación, el número de personas que estaban dispuestas era cada vez menor. Como resultado, ya sea por cuarentena, o por otras razones, pero a la mitad del curso solo quedaba la mitad. Bueno, entonces tuve que decidirme por los proyectos. Los participantes anunciaron setenta obras. Y el proyecto más popular, extracción de sentimiento de tweets, diecinueve equipos intentaron completar la tarea en Kaggle .



Más sobre los proyectos presentados



La semana pasada realizamos una sesión final del curso donde varios equipos presentaron sus proyectos. Si se perdió el seminario abierto, entonces hemos preparado una grabación . Y a continuación intentaremos describir brevemente los casos implementados.



Kaggle Jigsaw: Clasificación multilingüe de comentarios tóxicos



Roman Shchekin (QtRoS), Denis Grushentsev (malvado), Maxim Talimanchuk (mtalimanchuk)



Esta competencia es una continuación de la competencia popular de Jigsaw para determinar el texto tóxico, pero en este caso la capacitación se lleva a cabo con datos en inglés y pruebas con datos multilingües (incluido el ruso). La evaluación se basa en la métrica ROC AUC. El equipo se llevó el bronce (132 de 1621) con un AUC de la República de China de ~ 0,9463. El modelo final fue un conjunto de clasificadores:



  • XLMRoberta grande
  • Bayes ingenuos
  • Bert base
  • Bert base multilingüe
  • USE multilingüe


XLMRoberta grande con una capa lineal de 1024 * 1 se entrenó en un conjunto de datos básico con el optimizador AdamW. Se utilizó el modelo multilingüe USE en la versión básica (entrenado en 16 idiomas) sin entrenamiento adicional. El uso de la base de Bert fue posible gracias a la traducción automática del conjunto de datos de prueba al inglés. El conjunto de entrenamiento se ha ampliado con conjuntos de datos adicionales.



La presentación del proyecto está disponible aquí .

El GitHub del proyecto está disponible en este enlace .



En destilación bert



Nikita Balaganskiy



Como usted sabe, los modelos basados ​​en la arquitectura BERT, si bien logran índices de calidad impresionantes, todavía están muy por detrás en cuanto a rendimiento. Esto se debe al hecho de que BERT es un modelo con una gran cantidad de pesos. Hay varias formas de reducir el modelo, una de ellas es la destilación. La idea detrás de la destilación es crear un modelo de "estudiante" más pequeño que imite el comportamiento del modelo de "maestro" más grande. El modelo de estudiante ruso se entrenó en cuatro tarjetas 1080ti durante 100 horas, en un conjunto de datos de noticias. Como resultado, el modelo del estudiante resultó ser 1,7 veces más pequeño que el modelo original.... Se realizó una comparación de la calidad de los modelos de estudiantes y maestros en un conjunto de datos para determinar el color emocional del texto de Mokoron. Como resultado, el modelo de estudiante tuvo un desempeño comparable al modelo de maestro. El guión de formación se escribió utilizando el paquete catalizador . Puedes leer más sobre el proyecto en Medium .



La presentación del proyecto está disponible aquí .

El GitHub del proyecto está disponible en este enlace .





Imagen: rasa.com



Respuesta a preguntas sobre ciencia de datos abiertos



Ilya Sirotkin, Yuri Zelensky, Ekaterina Karpova



Todo comenzó con una publicación en ODS de Ekaterina Karpova. La idea era bastante ambiciosa: crear una respuesta automática a las preguntas de la comunidad slack de ODS en función del conjunto de datos de preguntas y respuestas recopilados. Sin embargo, el análisis preliminar reveló que la mayoría de las preguntas son bastante únicas, y crear una muestra de prueba etiquetada para evaluar la calidad es una tarea bastante laboriosa. Por lo tanto, se decidió crear primero un clasificador para determinar si la pregunta que se hace pertenece al canal de holgura de ODS. Ayudaría a los novatos de ODS a hacer preguntas sobre el tema del canal relevante. Se eligió la métrica pwROC-AUC como evaluación de calidad.



En el marco del proyecto, se realizó un análisis comparativo de modelos populares de clasificación de textos. El mejor de ellos, el modelo basado en RuBERT de DeepPavlov , mostró una calidad de 0,995 pwROC-AUC. Un número tan alto de calidad del modelo indica un alto grado de separación (y separabilidad) de los datos originales. El único canal que es problemático para todos los modelos que he probado es _call_4_colaboration. Pero por qué exactamente aún no se ha descubierto.



Habiendo hecho frente a esta tarea, el equipo no tiene esperanzas de volver a la tarea original de responder a las preguntas de los usuarios de ODS.



La presentación del proyecto está disponible aquí .

El GitHub del proyecto está disponible en este enlace .



Análisis de sentimiento basado en aspectos de Rusia



Dmitry Bunin



En el marco de este proyecto, se resolvió el problema de determinar el sentimiento relativo a un objeto dado en el texto (problema C del concurso Dialogue Evaluation 2015). Se utilizaron datos tanto en ruso como en inglés como conjuntos de datos. Básicamente, se compararon modelos modernos basados ​​en las arquitecturas ELM® (del paquete RusVectores) y BERT (del paquete DeepPavlov ). El modelo ELM® + CNN en ruso mostró una calidad comparable con el mejor modelo de la competencia, a pesar de la pequeña muestra de entrenamiento y el fuerte desequilibrio de datos.



La presentación del proyecto está disponible aquí .

El GitHub del proyecto está disponible en este enlace .







Kaggle: extracción de sentimiento de tweets



Kirill Gerasimov



Según los términos del concurso , la tarea consistía en extraer una palabra clave o frase del texto del tweet que definiera el estado de ánimo de este tweet. La puntuación Jaccard a nivel de palabra se utilizó como medida de calidad. En esta competencia, todos los participantes enfrentaron datos ruidosos y marcado ambiguo. El equipo utilizó un modelo de portátil público basado en RoBERTa-base como modelo base. Este modelo utiliza un enfoque de comprensión lectora, en el que se resaltan el principio y el final de la frase clave (con la condición obligatoria de que el final sea posterior al principio). Según la tradición aceptada, el conjunto de varios modelos funcionó más rápido que los modelos individuales. Como resultado, el bronce (puesto 135 de 2100)... En la experiencia del ganador de la competencia, la anotación de dos niveles brinda velocidades aún mejores.



La presentación del proyecto está disponible aquí .

El GitHub del proyecto está disponible en este enlace .



Solución automática del examen



Mikhail Teterin y Leonid Morozov



El objetivo de este proyecto es mejorar las métricas de calidad en tres tareas del concurso AI Journey 2019 (solución automática del examen), a saber:



  • buscar información principal en el texto;
  • determinar el significado de una palabra en un contexto dado;
  • colocación de signos de puntuación en oraciones.


Para los tres problemas, logramos superar la mejor solución en la competencia. Muchas de las mejoras se deben al uso de datos de entrenamiento adicionales. En las soluciones, los modelos basados ​​en RuBERT de DeepPavlov mostraron la mejor calidad .



La presentación del proyecto está disponible aquí .

El GitHub del proyecto está disponible en este enlace .







En este artículo, intentamos contar algunos de los proyectos que se presentaron en el seminario, pero por supuesto que hubo más.



Gracias a todos los que participaron activamente en el curso y no se dieron por vencidos. Bueno, para aquellos que recién están aprendiendo y buscan problemas interesantes en el campo de la PNL, recomendamos considerar el proyecto DeepPavlov Contribute .¡El futuro de la IA conversacional está en tus manos!



All Articles