Image for post
Image for post
https://bitlybr.com/Ys9Xb

Criando um Podcast de resumos de livros e artigos em PDF com IA em Python!

Um Podcast? de Resumos? de PDF? em Python? de forma Automatizada? com IA?

1) Retirar o texto de um arquivo PDF com Python

#Instgalação da biblioteca Python para ler o PDF
!pip install pypdf2
import PyPDF2#URL do local onde está o livro
ULR_livro = './drive/MyDrive/machado_assis/papeisAvulsos.pdf'
#lendo o local indicado
book = open(ULR_livro, 'rb')
#Lendo o livro
pdfReader = PyPDF2.PdfFileReader(book)
text = '' #var aonde vai ficar todo o texto do livro#O conto está apenas entre as paginas 3 e 32
for num in range(3 , 32):
page = pdfReader.getPage(num)
text = text + page.extractText()

2) Resumindo textos com NLTK

#Instalação do pacote 
!pip install nltk
#Intalação dos dicionários de palavras(corpus)
!python -m nltk.downloader all
#dividindo o nosso texto em sentenças e depois em palavras
from nltk.tokenize import word_tokenize
from nltk.tokenize import sent_tokenize
sentencas = sent_tokenize(text)
palavras = word_tokenize(text.lower())
#Retirando as stopwords
from nltk.corpus import stopwords
from string import punctuation
stopwords = set(stopwords.words('portuguese') + list(punctuation))
palavras_sem_stopwords = [palavra for palavra in palavras if palavra not in stopwords]
# criando a distribuição de frequência
from nltk.probability import FreqDist
frequencia = FreqDist(palavras_sem_stopwords)
# Separando as sentenças mais importantes
from collections import defaultdict
sentencas_importantes = defaultdict(int)
#Loop para percorrer todas as sentenças e coletar todas as estatísticas
for i, sentenca in enumerate(sentencas):
for palavra in word_tokenize(sentenca.lower()):
if palavra in frequencia:
sentencas_importantes[i] += frequencia[palavra]
#“n” sentenças mais importantes
from heapq import nlargest
idx_sentencas_importantes = nlargest(4, sentencas_importantes, sentencas_importantes.get)
# Temos o resumo! :)
resumo = ''
for i in sorted(idx_sentencas_importantes):
resumo = resumo + sentencas[i]

3) Convertendo texto em áudio em Python

!pip install gTTSfrom gtts import gTTSimport ostts = gTTS(resumo, lang='pt-br')tts.save('resumo.mp3')

Conclusão

Referências:

Written by

Estou compartilhando minha opinião e o pouco que sei de forma eventual por aqui. https://www.linkedin.com/in/josueluzardo

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store