import PyPDF2
import re
import nltk
import numpy as np
# PDF 파일 열기
pdf_file = open('example.pdf', 'rb')
pdf_reader = PyPDF2.PdfFileReader(pdf_file)
# 모든 페이지에서 문장 추출하여 단어로 분리 후 근접한 단어 찾기
word1 = 'apple'
word2 = 'juice'
for page_num in range(pdf_reader.getNumPages()):
# 페이지 추출
page = pdf_reader.getPage(page_num)
text = page.extractText()
# 문장으로 분리
sentences = nltk.sent_tokenize(text)
# 문장에서 단어로 분리
words = [nltk.word_tokenize(sent) for sent in sentences]
# 근접한 단어 찾기
for sent_words in words:
sent_len = len(sent_words)
for i in range(sent_len):
if sent_words[i] == word1:
for j in range(max(0, i-5), min(sent_len, i+6)):
if re.match(r'\w', sent_words[j]):
if np.abs(i-j) <= 5 and sent_words[j] == word2:
print(f"{word1} and {word2} are found in the same sentence: {' '.join(sent_words)}")
break
'프로그래밍 > 파이썬' 카테고리의 다른 글
flask 에서 인수를 받는 방법 chatgpt (0) | 2023.03.28 |
---|---|
pdf 근접단어 찾기(pdfminer) chatgpt (0) | 2023.03.21 |
환율 예측 chatgpt (0) | 2023.02.24 |
에러 메세지 (0) | 2022.12.06 |
파이썬 팁 (0) | 2022.12.06 |