# Les objectifs du projet L'objectif du projet est de mettre en place une plateforme de requête d'un modèle de langue permettant la génération de résumé d'article de presse. # Une description du système ou des données auxquelles l’interface permet d’accéder Le projet utilisera pour l'entraînement du modèle de langue le corpus issu de 'Newsroom: A Dataset of 1.3 Million Summaries with Diverse Extractive Strategies' (Grusky et al., NAACL 2018) newsroom assemblé par Max Grusky et ses collègues en 2018. Newsroom est un corpus parallèle rassemblant 1,3 millions articles de presse et leur résumé en anglais. Les résumés sont réalisés en utilisant les méthodes d'extraction comme d'abstraction ainsi que des méthodes mixtes. Ce corpus est disponible sur HuggingFace mais necessite un téléchargement préalable pour des raisons de protection des données. # La méthodologie ## Répartition du travail Nous avons décidé de travailler avec le logiciel de gestion de version Github en mettant en place un système de verification des commit avec un pull request. Cette méthode permet à chaque participant du projet d'observer les modifications effectuées par les autres membres avant d'accepter de fondre en une seule les branches main et les modifications proposées. ## Problèmes rencontrés et résolution - Problème Mojibake depuis les fichiers jsonl : encodage en cp1252 et decodage en utf-8 avec ignore pour éviter les erreurs sur les caractères utf-8 présents dans le fichier à l'encodage - Répétition des mots à cause de la ponctuation : suppresion de la ponctuation avec `strip` - Agglomération des pronoms et des verbes : remplacement des `'` par des espaces avant le `split` - Split des noms propres composés ('Ivory Coast', 'Inter Milan') : - Problème des mots non disponibles dans le vocabulaire - Problème de la qualité du corpus : - Résumés tronqués : "Did', 'Tatum', "O'Neal's", 'latest', 'battle', 'with', 'ex-husband', 'John', 'McEnroe', 'put', 'her', 'back', 'on', 'drugs?', 'The', '"Paper', 'Moon"star', 'checked', 'herself', 'into', "L.A.'s", 'Promises', 'rehab', 'facility', 'after', 'a', 'friend', 'caught', 'her', 'smoking', 'crack,', 'according', 'to', 'The', 'National', 'Enquirer.', "O'Neal", 'emerged', 'clean', 'and', 'sober', 'from', "Promises'", '34-day', 'recovery', 'program', 'in', 'late', 'July,', 'the', 'tab', 'reports.', 'The', 'actress', 'is', 'said', 'to', 'have', 'plunged', 'into', 'her', 'old', 'habits', 'because', 'of'" - Résumés plus proche de titres que de résumés - Prise en compte du padding dans l'apprentissage --> utilisation de la fonctionnalité ignore_index de NLLLoss avec un padding d'une valeur à -100 ## Les étapes du projet # Implémentation ## modélisation Nous avons décidé dans un premier temps de modéliser une LSTM pour le résuméautomatique sur labase du réseau de neurone réalisé en cours. Pour ce faire nous nous sommes beaucoup inspirée du kaggle https://www.kaggle.com/code/columbine/seq2seq-pytorch ainsi que de la documentation de PyTorch https://pytorch.org/tutorials/beginner/nlp/sequence_models_tutorial.html#example-an-lstm-for-part-of-speech-tagging ## modules et API utilisés ## Langages de programmation # Les résultats (fichiers output, visualisations…) ## Les metriques d'évaluation - ROUGE - BLEU - QAEval - Meteor - BERTScore # Discussion des résultats ce que vous auriez aimé faire et ce que vous avez pu faire par exemple