Projets finaux du cours Deep Learning in Natural Language Processing (par DeepPavlov Lab)

Récemment terminé " Deep Learning in Natural Language Processing ", un cours éducatif ouvert sur le traitement du langage naturel. Traditionnellement, les conservateurs du cours sont des employés du projet DeepPavlov , une bibliothèque ouverte pour l'intelligence artificielle parlée, qui est en cours de développement au laboratoire des systèmes neuronaux et de l'apprentissage profond du MIPT. Le cours a été organisé avec le soutien informationnel de la communauté Open Data Science . Si vous avez besoin de plus de détails sur le format du cours, cliquez ici . L'un des éléments clés de DL en PNL est la possibilité de se sentir comme un chercheur et de mettre en œuvre son propre projet.



Nous parlons périodiquement sur Mediumsur les projets que les participants créent dans le cadre de nos programmes éducatifs, par exemple, comment construire un oracle parlé . Aujourd'hui, nous sommes prêts à partager les résultats du cours du semestre du printemps 2020.







Quelques données et analyses



Cette année, nous avons battu tous les records de nombre de cours: début février, il y avait environ 800 personnes inscrites . Soyons honnêtes, nous n'étions pas prêts pour autant de participants, nous avons donc trouvé de nombreux points en cours de route avec eux. Mais nous écrirons à ce sujet la prochaine fois.



Revenons aux participants. Tout le monde a-t-il terminé le cours? La réponse est, bien entendu, évidente. À chaque nouvelle affectation, le nombre de ceux qui le souhaitent devenait de moins en moins. En conséquence, soit à cause de la quarantaine, soit pour d'autres raisons, mais au milieu du cours, il n'en restait que la moitié. Eh bien, alors j'ai dû décider des projets. Soixante-dix œuvres ont été annoncées par les participants. Et le projet le plus populaire - l'extraction de sentiments sur les tweets - dix-neuf équipes ont tenté de terminer la tâche sur Kaggle .



En savoir plus sur les projets présentés



La semaine dernière, nous avons eu une dernière session du cours où plusieurs équipes ont présenté leurs projets. Si vous avez manqué le séminaire ouvert, nous avons préparé un enregistrement . Ci-dessous, nous tenterons de décrire brièvement les cas mis en œuvre.



Kaggle Jigsaw: Classification multilingue des commentaires toxiques



Shchekin romain (QtRoS), Denis Grushentsev (Evilden), Maxim Talimanchuk (mtalimanchuk)



Ce concours est une continuation du concours Jigsaw populaire pour déterminer le texte toxique, cependant, dans ce cas, la formation a lieu sur des données anglaises et des tests - sur des données multilingues (y compris le russe). L'évaluation est basée sur la métrique ROC AUC. L'équipe a remporté le bronze (132 sur 1621) avec une AUC ROC de ~ 0,9463. Le modèle final était un ensemble de classificateurs:



  • XLMRoberta grand
  • Bayes naïves
  • Base de Bert
  • Bert base multilingue
  • UTILISER multilingue


XLMRoberta large avec une couche linéaire de 1024 * 1 a été formé sur un jeu de données de base avec l'optimiseur AdamW. Le modèle multilingue USE a été utilisé dans la version de base (formée en 16 langues) sans formation supplémentaire. L'utilisation de la base Bert a été possible grâce à la traduction automatique du jeu de données de test en anglais. L'ensemble de formation a été étendu avec des ensembles de données supplémentaires.



La présentation du projet est disponible ici .

Le GitHub du projet est disponible sur ce lien .



Sur la distillation de Bert



Nikita Balaganskiy



Comme vous le savez, les modèles basés sur l'architecture BERT, tout en atteignant des cotes de qualité impressionnantes, sont encore loin derrière en termes de performances. En effet, BERT est un modèle avec un grand nombre de poids. Il existe plusieurs façons de réduire le modèle, l'une d'entre elles est la distillation. L'idée derrière la distillation est de créer un modèle «étudiant» plus petit qui imite le comportement du modèle plus grand «enseignant». Le modèle étudiant russe a été formé sur quatre cartes 1080ti pendant 100 heures, sur un ensemble de données d'actualité. En conséquence, le modèle de l'élève s'est avéré 1,7 fois plus petit que le modèle original.... Une comparaison de la qualité des modèles d'élèves et d'enseignants a été faite sur un ensemble de données pour déterminer la coloration émotionnelle du texte Mokoron. En conséquence, le modèle de l'élève a donné des résultats comparables au modèle de l'enseignant. Le script de formation a été rédigé à l'aide du package de catalyseur . Vous pouvez en savoir plus sur le projet sur Medium .



La présentation du projet est disponible ici .

Le GitHub du projet est disponible sur ce lien .





Image: rasa.com



Réponse aux questions sur la science des données ouvertes



Ilya Sirotkin, Yuri Zelensky, Ekaterina Karpova



Tout a commencé avec un poste chez ODS d'Ekaterina Karpova. L'idée était assez ambitieuse: créer un répondeur automatique aux questions de la communauté ODS Slack sur la base de l' ensemble de données Q&R collecté. Cependant, une analyse préliminaire a révélé que la plupart des questions sont assez uniques et que la création d'un échantillon de test étiqueté pour évaluer la qualité est une tâche assez laborieuse. Par conséquent, il a été décidé de créer d'abord un classificateur pour déterminer si la question posée appartient au canal de marge ODS. Il aiderait les nouveaux arrivants ODS à poser des questions sur le sujet de canal pertinent. La métrique pwROC-AUC a été choisie comme évaluation de la qualité.



Dans le cadre du projet, une analyse comparative des modèles de classification de textes populaires a été réalisée. Le meilleur d'entre eux - un modèle basé sur RuBERT de DeepPavlov - a montré une qualité de 0,995 pwROC-AUC. Ces nombres élevés de qualité de modèle indiquent un degré élevé de séparation (et de séparabilité) des données originales. Le seul canal qui pose problème pour tous les modèles que j'ai testés est _call_4_colaboration. Mais pourquoi exactement lui, il n'était pas encore possible de le savoir.



Ayant traité cette tâche, l'équipe ne laisse aucun espoir de revenir à la tâche initiale de répondre aux questions des utilisateurs ODS.



La présentation du projet est disponible ici .

Le GitHub du projet est disponible sur ce lien .



Analyse des sentiments basée sur l'aspect russe



Dmitry Bunin



Dans le cadre de ce projet, le problème de la détermination du sentiment relatif à un objet donné dans le texte a été résolu (problème C du concours Dialogue Evaluation 2015). Les données russes et anglaises ont été utilisées comme ensembles de données. Fondamentalement, les modèles modernes basés sur les architectures ELM® (du package RusVectores) et BERT (du package DeepPavlov ) ont été comparés . Le modèle ELM® + CNN en russe a montré une qualité comparable avec le meilleur modèle de la concurrence, malgré le petit échantillon d'entraînement et le fort déséquilibre des données.



La présentation du projet est disponible ici .

Le GitHub du projet est disponible sur ce lien .







Kaggle: Extraction de sentiments de Tweet



Kirill Gerasimov



Selon les termes du concours , la tâche était d'extraire du texte du tweet un mot-clé ou une phrase qui définirait l'ambiance de ce tweet. Le score Jaccard au niveau du mot a été utilisé comme mesure de qualité. Dans cette compétition, tous les concurrents ont été confrontés à des données bruyantes et à un balisage ambigu. L'équipe a utilisé un modèle d'ordinateur portable public basé sur la base RoBERTa comme modèle de base. Ce modèle utilise une approche de compréhension en lecture, dans laquelle le début et la fin de la phrase clé sont mis en évidence (avec la condition obligatoire que la fin soit après le début). Selon la tradition acceptée, l'ensemble des différents modèles a fonctionné plus rapidement que les modèles individuels. Du coup, le bronze (135e place sur 2100)... Dans l'expérience du vainqueur du concours, l'annotation à deux niveaux donne des vitesses encore meilleures.



La présentation du projet est disponible ici .

Le GitHub du projet est disponible sur ce lien .



Solution automatique de l'examen



Mikhail Teterin et Leonid Morozov



L'objectif de ce projet est d'améliorer les métriques de qualité sur trois tâches du concours AI Journey 2019 (solution automatique de l'examen), à savoir:



  • rechercher des informations principales dans le texte;
  • déterminer la signification d'un mot dans un contexte donné;
  • placement des signes de ponctuation dans les phrases.


Pour les trois problèmes, nous avons réussi à surpasser la meilleure solution de la concurrence. Une grande partie des améliorations est due à l'utilisation de données d'entraînement supplémentaires. Dans les solutions, les modèles basés sur RuBERT de DeepPavlov ont montré la meilleure qualité .



La présentation du projet est disponible ici .

Le GitHub du projet est disponible sur ce lien .







Dans cet article, nous avons essayé de parler de certains des projets qui ont été présentés au séminaire, mais bien sûr, il y en avait plus.



Merci à tous ceux qui ont participé activement au cours et qui n'ont pas abandonné. Eh bien, pour ceux qui apprennent et recherchent des tâches intéressantes dans le domaine de la PNL, nous vous recommandons d'envisager le projet DeepPavlov Contribute .L'avenir de l'IA conversationnelle est entre vos mains!



All Articles