Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk mengekstrak teks daripada fail PDF yang diimbas menggunakan Python untuk NLP?

Bagaimana untuk mengekstrak teks daripada fail PDF yang diimbas menggunakan Python untuk NLP?

王林
王林asal
2023-09-27 11:38:01867semak imbas

如何利用Python for NLP从扫描的PDF文件中提取文本?

Bagaimana untuk mengekstrak teks daripada fail PDF yang diimbas menggunakan Python untuk NLP?

NLP (Pemprosesan Bahasa Asli) ialah bidang penting yang melibatkan analisis dan pemprosesan teks. Python ialah bahasa pengaturcaraan yang berkuasa dengan perpustakaan yang kaya dan alatan untuk memproses dan menganalisis data teks. Dalam artikel ini, kami akan meneroka cara menggunakan Python untuk NLP untuk mengekstrak teks daripada fail PDF yang diimbas.

Langkah 1: Pasang dan import perpustakaan yang diperlukan

Mula-mula, kita perlu memasang dan mengimport beberapa perpustakaan yang biasa digunakan dalam Python untuk memproses fail PDF dan pengekstrakan teks.

!pip install PyPDF2
import PyPDF2

Langkah 2: Buka fail PDF

Sebelum kita mula mengekstrak teks, kita perlu membuka fail PDF yang diimbas.

pdf_file = open('扫描文件.pdf', 'rb')

Langkah 3: Cipta objek Pembaca PDF

Menggunakan fungsi yang disediakan oleh perpustakaan PyPDF2, kita boleh mencipta objek Pembaca PDF untuk membaca dan menghuraikan fail PDF.

pdf_reader = PyPDF2.PdfFileReader(pdf_file)

Langkah 4: Ekstrak teks

Kini, kita boleh menggunakan kaedah yang disediakan oleh objek Pembaca PDF untuk mengekstrak teks daripada fail PDF.

text = ""
for page_num in range(pdf_reader.numPages):
    page = pdf_reader.getPage(page_num)
    text += page.extractText()

Kod di atas mula-mula mencipta teks rentetan kosong, kemudian melelang melalui teks setiap halaman dan menambahkannya pada rentetan teks. Kaedah extractText() digunakan untuk mengekstrak teks daripada objek halaman.

Langkah 5: Bersihkan data teks

Teks yang diekstrak mungkin mengandungi bunyi atau aksara yang tidak diperlukan. Oleh itu, kita perlu membersihkan dan memproses teks terlebih dahulu.

import re

clean_text = re.sub(r'[^A-Za-z0-9]+', ' ', text)

Kod di atas menggunakan ungkapan biasa untuk mengalih keluar aksara bukan abjad angka daripada teks dan menggantikannya dengan ruang.

Langkah 6: Simpan teks yang diekstrak

Akhir sekali, kita boleh memilih untuk menyimpan teks yang diekstrak ke fail teks untuk kegunaan kemudian.

output_file = open('提取的文本.txt', 'w')
output_file.write(clean_text)
output_file.close()

Kod di atas menulis teks yang telah dibersihkan ke dalam fail teks dan menamakannya "Extracted Text.txt".

Contoh kod bersepadu:

!pip install PyPDF2
import PyPDF2
import re

def extract_text_from_pdf(pdf_filename, output_filename):
    pdf_file = open(pdf_filename, 'rb')
    pdf_reader = PyPDF2.PdfFileReader(pdf_file)
    
    text = ""
    for page_num in range(pdf_reader.numPages):
        page = pdf_reader.getPage(page_num)
        text += page.extractText()
    
    clean_text = re.sub(r'[^A-Za-z0-9]+', ' ', text)
    
    output_file = open(output_filename, 'w')
    output_file.write(clean_text)
    output_file.close()

extract_text_from_pdf('扫描文件.pdf', '提取的文本.txt')

Ringkasan:

Artikel ini memperkenalkan cara menggunakan Python untuk NLP untuk mengekstrak teks daripada fail PDF yang diimbas. Menggunakan perpustakaan PyPDF2, kami boleh membuka dan membaca fail PDF dan mengekstrak teks setiap halaman menggunakan kaedah yang disediakan. Kami kemudiannya boleh menggunakan ungkapan biasa untuk membersihkan dan mempraproses teks. Akhir sekali, kami mempunyai pilihan untuk menyimpan teks yang diekstrak ke fail teks. Dengan menggunakan langkah ini, kami boleh mengekstrak teks dengan mudah daripada fail PDF yang diimbas dan seterusnya menggunakan teknik dan kaedah NLP.

Atas ialah kandungan terperinci Bagaimana untuk mengekstrak teks daripada fail PDF yang diimbas menggunakan Python untuk NLP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn