Skip to main content

A library for summarizing and explaining academic papers

Project description

Paper Summarizer & Explainer

<<<<<<< HEAD

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 Groq 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.

Pypi Link = https://pypi.org/project/paper-academic-summarizer/

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.

39c69d9eb6032e0dfbfc9aa30e54574ad4debf5a

Features

  • PDF Text Extraction: Easily extract text from academic papers in PDF format using PyPDF2.
  • Automated Summarization: Leverage Groq 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

<<<<<<< HEAD
pip install Groq PyPDF2 graphviz

Example Usage

import os import re from paper_academic_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 academic paper text with detailed model references 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. """

# Generate the full summary using your library function
full_summary = summarize_paper(sample_text, is_pdf=False)
print("Full Summary:\n")
print(full_summary)

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

# 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()

Contributing

Contributions are welcome! Please open an issue or submit a pull request for any enhancements or bug fixes.

License

This project is licensed under the MIT License.

Acknowledgments

Contact

For any questions or inquiries, please contact harshchitaliya193@gmail.com.

======= pip install azure-ai-inference PyPDF2 graphviz

39c69d9eb6032e0dfbfc9aa30e54574ad4debf5a

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.2.3.tar.gz (4.8 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.2.3-py3-none-any.whl (5.5 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for paper_academic_summarizer-0.2.3.tar.gz
Algorithm Hash digest
SHA256 e5a679cfcc85523cf86d83abad4269d45afbda4ab50bbbd8a59324978bc1862e
MD5 313c7bc3af93ad81d45931652f311b8f
BLAKE2b-256 4c7f4f997d6d3c5bf763b761a26455962c42810f3b318125629007200e3ecc0a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for paper_academic_summarizer-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 e992ee15ba086a3ab342acd7b6c9df59c336480d758ae484a1cb4356ce7d17b1
MD5 1a60159ec04814903839b9c928938656
BLAKE2b-256 67784753c56ecb3c8b9152a417a66f7fe833d7b3f3b7b47a8133ac2e1bd5768e

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