File size: 1,876 Bytes
91861aa
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5420324
 
c1262c3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
!pip install transformers pyPDF2 torchaudio

!pip install pdfminer.six

!pip install datasets sentencepiece

from google.colab import drive
from transformers import pipeline
import PyPDF2

from pdfminer.high_level import extract_pages, extract_text

from pdfminer.layout import LTTextContainer, LTChar

drive.mount('/content/drive')

pdf_path = '/content/drive/MyDrive/Applied AI/Assessment_3/Article 11 Hidden Technical Debt in Machine Learning Systems.pdf'

summarization = pipeline ('summarization', model = "pszemraj/long-t5-tglobal-base-16384-book-summary")

# Open the PDF file
pdf_file = open(pdf_path, 'rb')
pdf_reader = PyPDF2.PdfReader(pdf_file)

# Extract text from the Abstract section
abstract_text = pdf_reader.pages[0].extract_text()

# Close the PDF file
pdf_file.close()

summary = summarization(abstract_text, max_length=13, min_length=10)[0]['summary_text']

print(summary)

!pip install --upgrade transformers sentencepiece datasets[audio]

import torch

import soundfile as sf

from IPython.display import Audio

from datasets import load_dataset

synthesiser = pipeline("text-to-speech", "facebook/mms-tts-eng")

TTS_Output = synthesiser(summary)

print(TTS_Output.keys())


audio_key = TTS_Output["audio"]


Audio(data=audio_key[0], rate=16000)

!pip install gradio==2.3.6
!pip install --upgrade typing-extensions

import gradio as gr

def summarize_pdf(pdf_path):
    pdf_file = open(pdf_path, 'rb')
    pdf_reader = PyPDF2.PdfReader(pdf_file)
    abstract_text = pdf_reader.pages[0].extract_text()
    summary = summarization(abstract_text, max_length=13, min_length=10)[0]['summary_text']
    pdf_file.close()
    return summary
    
iface = gr.Interface(
    fn=summarize_pdf,
    inputs= "file",
    outputs="text",
    live=True,
    title="PDF Summarizer",
    description="Upload a PDF with an abstract, and the model will generate a summary."
)