Python untuk NLP: Bagaimana untuk memproses teks PDF yang mengandungi kata kunci tertentu?

WBOY
Lepaskan: 2023-09-27 12:58:41
asal
986 orang telah melayarinya

Python for NLP:如何处理包含特定关键词的PDF文本?

Python untuk NLP: Bagaimana untuk memproses teks PDF yang mengandungi kata kunci tertentu?

Abstrak: Pemprosesan bahasa semulajadi (NLP) adalah bidang penyelidikan penting dalam bidang kecerdasan buatan. Artikel ini akan menggunakan bahasa Python untuk memperkenalkan cara memproses teks PDF yang mengandungi kata kunci tertentu. Artikel akan menyertakan contoh kod untuk mengekstrak teks daripada PDF, menggunakan ungkapan biasa untuk pemadanan kata kunci dan cara menggunakan perpustakaan Python untuk pemprosesan PDF.

Pengenalan:
PDF (Portable Document Format) ialah format fail elektronik biasa yang digunakan secara meluas untuk membaca, berkongsi dan mencetak pelbagai dokumen. Dalam NLP, memproses teks PDF adalah tugas biasa, terutamanya mengekstrak maklumat penting daripada sejumlah besar dokumen PDF. Artikel ini akan memperkenalkan cara menggunakan Python untuk memproses teks PDF dan cara menghuraikan data teks dalam dokumen PDF dan melakukan pemadanan kata kunci.

Langkah 1: Pasang perpustakaan bergantung
Sebelum bermula, pastikan anda telah memasang perpustakaan bergantung yang diperlukan. Dalam contoh kod artikel ini, kami akan menggunakan perpustakaan Python berikut:

  • PyPDF2: untuk menghurai dan memanipulasi fail PDF
  • re: untuk padanan ungkapan biasa

Perpustakaan ini boleh dipasang menggunakan arahan berikut:

pip install PyPDF2
Salin selepas log masuk

Langkah 2: Ekstrak teks PDF
Pertama, kita perlu menggunakan perpustakaan PyPDF2 untuk mengekstrak teks daripada dokumen PDF. Di bawah ialah contoh kod yang mengekstrak teks daripada fail PDF bernama sample_pdf.pdf. sample_pdf.pdf的PDF文件中提取文本。

import PyPDF2

def extract_text_from_pdf(pdf_filename):
    pdf_file = open(pdf_filename, 'rb')
    pdf_reader = PyPDF2.PdfFileReader(pdf_file)
    num_pages = pdf_reader.numPages

    text = ''
    for page in range(num_pages):
        page_obj = pdf_reader.getPage(page)
        text += page_obj.extractText()

    pdf_file.close()

    return text
Salin selepas log masuk

对于上述代码示例,首先我们打开PDF文件并创建一个PdfFileReader对象。然后,我们使用getNumPages方法获取PDF的总页数,并创建一个空字符串text来存储提取的文本。接下来,我们使用getPage方法来提取每一页的文本,并将其添加到text字符串中。最后,我们关闭PDF文件并返回提取的文本。

步骤3:使用正则表达式匹配关键词
一旦我们提取了PDF文本,我们可以使用Python的正则表达式模块(re)来匹配关键词。下面是一个示例代码,该代码使用正则表达式匹配文本中包含特定关键词的部分。

import re

def match_keywords(text, keywords):
    keyword_matches = []
    for keyword in keywords:
        matches = re.findall(r'' + keyword + r'', text, flags=re.IGNORECASE)
        keyword_matches.append((keyword, len(matches)))
    
    return keyword_matches
Salin selepas log masuk

在上述代码示例中,我们使用re.findall函数来查找文本中所有匹配给定关键词的实例。使用表示单词的边界,flags=re.IGNORECASE表示忽略大小写。我们将找到的匹配结果存储在一个列表中,并返回匹配到的关键词及其对应的匹配次数。

步骤4:应用到PDF文本处理
现在我们已经定义了从PDF中提取文本和匹配关键词的函数,我们可以将它们应用到我们的PDF文本处理任务中。下面是一个示例代码,该代码演示了如何从一个名为sample_pdf.pdf的PDF文件中提取文本,并匹配包含特定关键词的部分,如NLPPython

pdf_filename = 'sample_pdf.pdf'
keywords = ['NLP', 'Python']

text = extract_text_from_pdf(pdf_filename)
matches = match_keywords(text, keywords)

for keyword, count in matches:
    print(f'关键词 "{keyword}" 在PDF中出现了 {count} 次.')
Salin selepas log masuk

对于上述代码示例,我们首先指定要处理的PDF文件的文件名,并定义了一个包含特定关键词的关键词列表。然后,我们使用extract_text_from_pdf函数从PDF中提取文本,并将结果存储在一个名为text的变量中。接下来,我们使用match_keywords函数匹配关键词,并将结果存储在一个名为matches的变量中。最后,我们遍历matchesrrreee

Untuk contoh kod di atas, mula-mula kita buka fail PDF dan buat objek PdfFileReader. Kemudian, kami menggunakan kaedah getNumPages untuk mendapatkan jumlah bilangan halaman PDF dan mencipta rentetan kosong text untuk menyimpan teks yang diekstrak. Seterusnya, kami menggunakan kaedah getPage untuk mengekstrak teks setiap halaman dan menambahkannya pada rentetan text. Akhir sekali, kami menutup fail PDF dan mengembalikan teks yang diekstrak.


Langkah 3: Padankan kata kunci menggunakan ungkapan biasa

Setelah kami mengekstrak teks PDF, kami boleh menggunakan modul ungkapan biasa Python (semula) untuk memadankan kata kunci. Di bawah ialah kod sampel yang menggunakan ungkapan biasa untuk memadankan bahagian teks yang mengandungi kata kunci tertentu.

rrreee

Dalam contoh kod di atas, kami menggunakan fungsi re.findall untuk mencari semua kejadian dalam teks yang sepadan dengan kata kunci yang diberikan. Gunakan untuk menunjukkan sempadan perkataan dan flags=re.IGNORECASE untuk mengabaikan huruf besar. Kami menyimpan hasil padanan yang ditemui dalam senarai dan mengembalikan kata kunci yang dipadankan dan bilangan padanan yang sepadan.
  1. Langkah 4: Mohon pada pemprosesan teks PDF
  2. Sekarang kami telah menentukan fungsi untuk mengekstrak teks daripada PDF dan kata kunci yang sepadan, kami boleh menggunakannya pada tugas pemprosesan teks PDF kami. Di bawah ialah contoh kod yang menunjukkan cara mengekstrak teks daripada fail PDF bernama sample_pdf.pdf dan memadankan bahagian yang mengandungi kata kunci tertentu, seperti NLP dan Python kod>. <li>rrreee</li>Untuk contoh kod di atas, kami terlebih dahulu menentukan nama fail fail PDF untuk diproses dan menentukan senarai kata kunci yang mengandungi kata kunci tertentu. Kami kemudian menggunakan fungsi <code>extract_text_from_pdf untuk mengekstrak teks daripada PDF dan menyimpan hasilnya dalam pembolehubah yang dipanggil text. Seterusnya, kami memadankan kata kunci menggunakan fungsi match_keywords dan menyimpan hasilnya dalam pembolehubah yang dipanggil match. Akhir sekali, kami mengulangi senarai padanan dan mencetak setiap kata kunci dan bilangan kejadiannya dalam teks PDF.
🎜Kesimpulan: 🎜Artikel ini memperkenalkan cara menggunakan Python untuk memproses teks PDF yang mengandungi kata kunci tertentu. Kami menunjukkan cara untuk mencapai ini dengan menggunakan perpustakaan PyPDF2 untuk mengekstrak teks daripada PDF dan kata kunci yang sepadan menggunakan ungkapan biasa. Teknik ini boleh digunakan untuk pelbagai tugas NLP, termasuk mengekstrak maklumat berguna daripada sejumlah besar dokumen PDF. 🎜🎜Rujukan: 🎜🎜🎜https://pypi.org/project/PyPDF2/🎜🎜https://docs.python.org/3/library/re.html🎜🎜

Atas ialah kandungan terperinci Python untuk NLP: Bagaimana untuk memproses teks PDF yang mengandungi kata kunci tertentu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan