Maison >développement back-end >Tutoriel Python >Résumer un texte à l'aide du modèle BART de Hugging Face

Résumer un texte à l'aide du modèle BART de Hugging Face

DDD
DDDoriginal
2025-01-07 07:28:40843parcourir

Summarizing Text Using Hugging Face

Dans le monde trépidant d'aujourd'hui, il est essentiel de condenser un contenu long en résumés concis, que ce soit pour analyser rapidement des articles ou mettre en évidence des points clés dans des documents de recherche. Hugging Face propose un outil puissant de synthèse de texte : le modèle BART. Dans cet article, nous explorerons comment vous pouvez tirer parti des modèles pré-entraînés de Hugging Face, en particulier le modèle facebook/bart-large-cnn, pour résumer de longs articles et textes.

Premiers pas avec le modèle BART de Hugging Face

Hugging Face propose une variété de modèles pour les tâches de PNL telles que la classification, la traduction et le résumé de textes. L'un des modèles de synthèse les plus populaires est le BART (Transformateurs bidirectionnels et auto-régressifs), qui est formé pour générer des résumés cohérents à partir de documents volumineux.

Étape 1 : Installer la bibliothèque Hugging Face Transformers

Pour démarrer avec les modèles Hugging Face, vous devrez installer la bibliothèque de transformateurs. Vous pouvez le faire en utilisant pip :

pip install transformers

Étape 2 : Importation du pipeline de récapitulation

Une fois la bibliothèque installée, vous pouvez facilement charger un modèle pré-entraîné pour le résumé. L'API de pipeline de Hugging Face fournit une interface de haut niveau pour utiliser des modèles tels que facebook/bart-large-cnn, qui a été optimisée pour les tâches de synthèse.

from transformers import pipeline

# Load the summarization model
summarizer = pipeline("summarization", model="facebook/bart-large-cnn")

Étape 3 : Exécuter le résumé

Maintenant que le résumé est prêt, vous pouvez insérer n'importe quel texte long pour générer un résumé. Vous trouverez ci-dessous un exemple utilisant un exemple d'article sur Dame Maggie Smith, une actrice britannique bien connue.

ARTICLE = """ Dame Margaret Natalie Smith (28 December 1934 – 27 September 2024) was a British actress. Known for her wit in both comedic and dramatic roles, she had an extensive career on stage and screen for over seven decades and was one of Britain's most recognisable and prolific actresses. She received numerous accolades, including two Academy Awards, five BAFTA Awards, four Emmy Awards, three Golden Globe Awards and a Tony Award, as well as nominations for six Olivier Awards. Smith is one of the few performers to earn the Triple Crown of Acting.
Smith began her stage career as a student, performing at the Oxford Playhouse in 1952, and made her professional debut on Broadway in New Faces of '56. Over the following decades Smith established herself alongside Judi Dench as one of the most significant British theatre performers, working for the National Theatre and the Royal Shakespeare Company. On Broadway, she received the Tony Award for Best Actress in a Play for Lettice and Lovage (1990). She was Tony-nominated for Noël Coward's Private Lives (1975) and Tom Stoppard's Night and Day (1979).
Smith won Academy Awards for Best Actress for The Prime of Miss Jean Brodie (1969) and Best Supporting Actress for California Suite (1978). She was Oscar-nominated for Othello (1965), Travels with My Aunt (1972), A Room with a View (1985) and Gosford Park (2001). She portrayed Professor Minerva McGonagall in the Harry Potter film series (2001–2011). She also acted in Death on the Nile (1978), Hook (1991), Sister Act (1992), The Secret Garden (1993), The Best Exotic Marigold Hotel (2012), Quartet (2012) and The Lady in the Van (2015).
Smith received newfound attention and international fame for her role as Violet Crawley in the British period drama Downton Abbey (2010–2015). The role earned her three Primetime Emmy Awards; she had previously won one for the HBO film My House in Umbria (2003). Over the course of her career she was the recipient of numerous honorary awards, including the British Film Institute Fellowship in 1993, the BAFTA Fellowship in 1996 and the Society of London Theatre Special Award in 2010. Smith was made a dame by Queen Elizabeth II in 1990.
"""

# Generate the summary
summary = summarizer(ARTICLE, max_length=130, min_length=30, do_sample=False)

# Print the summary
print(summary)

Sortir:

[{'summary_text': 'Dame Margaret Natalie Smith (28 December 1934 – 27 September 2024) was a British actress. Known for her wit in both comedic and dramatic roles, she had an extensive career on stage and screen for over seven decades. She received numerous accolades, including two Academy Awards, five BAFTA Awards, four Emmy Awards, three Golden Globe Awards and a Tony Award.'}]

Comme vous pouvez le voir dans le résultat, le résumé condense les principaux points de l'article dans un format court et lisible, mettant en évidence des faits clés comme sa longévité de carrière et ses distinctions.

Une autre approche : résumer le texte d'un fichier

Dans certains cas d'utilisation, vous souhaiterez peut-être lire le texte d'un fichier plutôt que d'une chaîne codée en dur. Vous trouverez ci-dessous un script Python mis à jour qui lit un article à partir d'un fichier texte et génère un résumé.

from transformers import pipeline

# Load the summarizer pipeline
summarizer = pipeline("summarization", model="facebook/bart-large-cnn")

# Function to read the article from a text file
def read_article_from_file(file_path):
    with open(file_path, 'r') as file:
        return file.read()

# Path to the text file containing the article
file_path = 'article.txt'  # Change this to your file path

# Read the article from the file
ARTICLE = read_article_from_file(file_path)

# Get the summary
summary = summarizer(ARTICLE, max_length=130, min_length=30, do_sample=False)

# Print the summary
print(summary)

Entrée de fichier :

Dans ce cas, vous devrez enregistrer l'article dans un fichier texte (article.txt dans l'exemple), et le script lira le contenu et le résumera.

Conclusion

Le modèle

BART de Hugging Face est un excellent outil pour la synthèse automatique de texte. Que vous traitiez de longs articles, des documents de recherche ou tout autre texte volumineux, le modèle peut vous aider à distiller les informations dans un résumé concis.

Cet article a montré comment vous pouvez intégrer le modèle de synthèse pré-entraîné de Hugging Face dans vos projets, à la fois avec du texte codé en dur et de la saisie de fichiers. Avec seulement quelques lignes de code, vous pouvez disposer d'un pipeline de synthèse efficace et opérationnel dans vos projets Python.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn