Spaces:
Runtime error
Runtime error
from sumy.parsers.plaintext import PlaintextParser | |
from sumy.nlp.tokenizers import Tokenizer | |
from sumy.summarizers.text_rank import TextRankSummarizer | |
from sumy.summarizers.lsa import LsaSummarizer | |
from sumy.summarizers.lex_rank import LexRankSummarizer | |
import nltk | |
nltk.download('punkt') | |
def summarize_with_textrank(text, sentences_count=10): | |
""" | |
Summarizes the provided text using TextRank algorithm. | |
Args: | |
text (str): Text to summarize. | |
sentences_count (int): Number of sentences for the summary. | |
Returns: | |
str: Summarized text. | |
""" | |
# Check if the text is not empty | |
if not text.strip(): | |
return "Provided text is empty." | |
# Create a parser for the provided text | |
parser = PlaintextParser.from_string(text, Tokenizer("english")) | |
# Use TextRank for summarization | |
text_rank_summarizer = TextRankSummarizer() | |
text_rank_summary = text_rank_summarizer(parser.document, sentences_count=sentences_count) | |
# Compile summary into a single string | |
summary_text = "\n".join(str(sentence) for sentence in text_rank_summary) | |
return summary_text | |
# Define LSA summarization function | |
def summarize_with_lsa(text, sentences_count=10): | |
""" | |
Summarizes the provided text using LSA (Latent Semantic Analysis) algorithm. | |
Args: | |
text (str): Text to summarize. | |
sentences_count (int): Number of sentences for the summary. | |
Returns: | |
str: Summarized text. | |
""" | |
# Check if the text is not empty | |
if not text.strip(): | |
return "Provided text is empty." | |
# Create a parser for the provided text | |
parser = PlaintextParser.from_string(text, Tokenizer("english")) | |
# Use LSA for summarization | |
lsa_summarizer = LsaSummarizer() | |
lsa_summary = lsa_summarizer(parser.document, sentences_count=sentences_count) | |
# Compile summary into a single string | |
summary_text = "\n".join(str(sentence) for sentence in lsa_summary) | |
return summary_text |