Skip to main content

A library for summarizing and explaining academic papers

Project description

Paper Summarizer & Explainer

Paper Summarizer & Explainer is a Python library designed to help students and researchers quickly digest complex academic papers. The library extracts text from PDFs or accepts raw text and uses Azure AI Inference (leveraging GitHub models) to generate concise summaries that highlight key concepts and define technical terms. Additionally, it provides an optional feature to generate simple diagrams or flowcharts from the summary.

Features

  • PDF Text Extraction: Easily extract text from academic papers in PDF format using PyPDF2.
  • Automated Summarization: Leverage Azure AI Inference and pre-trained NLP models to create clear, concise summaries of academic papers.
  • Diagram Generation: Generate simple diagrams or flowcharts from summary points using Graphviz.
  • Modular Design: Start with core summarization and gradually expand functionality to include additional explanations or visual aids.

Installation

Prerequisites

  • Python 3.8 or higher

Install Dependencies

pip install azure-ai-inference PyPDF2 graphviz


### Example Usage
import os
from paper_summarizer import summarize_paper, generate_diagram

def shorten_summary(summary: str, max_words: int = 30) -> str:
    """
    Truncates the summary to a specified number of words.
    Appends '...' if the original summary exceeds max_words.
    """
    words = summary.split()
    if len(words) <= max_words:
        return summary
    return " ".join(words[:max_words]) + " ..."

def main():
    sample_text = """
    In this study, we present a comprehensive evaluation of several state-of-the-art deep learning architectures 
    for image classification and object detection. Our focus includes ResNet50, which uses residual connections 
    to mitigate the vanishing gradient problem, Inception-v3 for multi-scale processing, and EfficientNet-B7 
    leveraging compound scaling. We also analyze transformer-based models such as the Vision Transformer (ViT) 
    and DeiT, discussing their performance trade-offs in terms of accuracy, computational cost, and scalability. 
    Overall, these findings provide guidance for selecting and optimizing deep learning architectures in 
    real-world applications, where balancing efficiency and accuracy is crucial.
    """

    # 1) Generate a summary using your library
    full_summary = summarize_paper(sample_text, is_pdf=False)
    print("Full Summary from the Library:\n")
    print(full_summary)

    # 2) Shorten the summary to ensure it's very concise
    short_summary = shorten_summary(full_summary, max_words=30)
    print("\nShortened Summary:\n")
    print(short_summary)

    # 3) Generate a diagram from the shortened summary
    output_file = "diagram_short"
    try:
        generate_diagram(short_summary, output_file=output_file)
        print(f"\nShort diagram generated successfully: {output_file}.png")
    except Exception as e:
        print("Error generating diagram:", e)

if __name__ == "__main__":
    main()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

paper_academic_summarizer-0.1.6.tar.gz (4.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

paper_academic_summarizer-0.1.6-py3-none-any.whl (5.1 kB view details)

Uploaded Python 3

File details

Details for the file paper_academic_summarizer-0.1.6.tar.gz.

File metadata

File hashes

Hashes for paper_academic_summarizer-0.1.6.tar.gz
Algorithm Hash digest
SHA256 732a7389e369e7b6180569e0da15a6f7b21bb8a0c90b38ec415b86937e5849de
MD5 e27802603a2e44c1728a40af22c7be5b
BLAKE2b-256 7c03ecf63e3168471d40605cde081cdf31d0b4ebb488b0c3915168a75a787d18

See more details on using hashes here.

File details

Details for the file paper_academic_summarizer-0.1.6-py3-none-any.whl.

File metadata

File hashes

Hashes for paper_academic_summarizer-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 a27ff9b57d7cc09694f00c3b7fda11c1d75e6aea2ba252b606d86d9db5e320df
MD5 3f73aa3b10cd4447994643b4c2f02140
BLAKE2b-256 efd91c2464964031172d9443c091f6793332e25116e9128d31c4da653e171d7f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page