Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk mengekstrak maklumat berstruktur daripada fail PDF menggunakan Python untuk NLP?
Bagaimana untuk mengekstrak maklumat berstruktur daripada fail PDF menggunakan Python untuk NLP?
1. Pengenalan
Dengan kemunculan era data besar, data teks besar-besaran sentiasa terkumpul, termasuk sejumlah besar fail PDF. Walau bagaimanapun, fail PDF adalah format binari, dan tidak mudah untuk mengekstrak kandungan teks dan maklumat berstruktur secara langsung. Artikel ini akan memperkenalkan cara menggunakan Python dan alatan pemprosesan bahasa semula jadi (NLP) yang berkaitan untuk mengekstrak maklumat berstruktur daripada fail PDF.
2. Pemasangan Python dan perpustakaan berkaitan
Sebelum kita mula, kita perlu memasang Python dan perpustakaan berkaitan. Muat turun dan pasang versi terkini Python dari tapak web rasmi Python. Selepas memasang Python, kita perlu menggunakan arahan pip untuk memasang perpustakaan berkaitan berikut:
selesai, kita boleh mula menulis kod Python.
3. Import perpustakaan yang diperlukan
Pertama, kita perlu mengimport perpustakaan yang diperlukan, termasuk PyPDF2, nltk dan panda:
import PyPDF2 import nltk import pandas as pd
4. Baca fail PDF
Seterusnya, kita perlu membaca fail PDF. Gunakan kelas PdfReader pustaka PyPDF2 untuk membaca fail:
pdf_file = open('file.pdf', 'rb') pdf_reader = PyPDF2.PdfReader(pdf_file)
Di sini, kami perlu menggantikan 'file.pdf' dengan nama fail PDF sebenar yang anda mahu baca.
5 Ekstrak kandungan teks
Selepas membaca fail PDF, kami boleh menggunakan API yang disediakan oleh perpustakaan PyPDF2 untuk mengekstrak kandungan teks dalam PDF:
text_content = '' for page in pdf_reader.pages: text_content += page.extract_text()
Dengan cara ini, kandungan teks semua halaman akan digabungkan bersama dan disimpan di tengah pembolehubah text_content.
6. Pemprosesan dan prapemprosesan data
Selepas mengekstrak kandungan teks, kami perlu memproses dan mempraprosesnya. Pertama, kami membahagikan teks ke dalam ayat untuk analisis dan pemprosesan seterusnya. Kita boleh menggunakan perpustakaan nltk untuk mencapai ini:
sentence_tokens = nltk.sent_tokenize(text_content)
Seterusnya, kita boleh membahagikan setiap ayat sekali lagi untuk analisis dan pemprosesan teks seterusnya:
word_tokens = [nltk.word_tokenize(sentence) for sentence in sentence_tokens]
7. Analisis dan pemprosesan teks
Selepas melengkapkan prapemprosesan data, Kita boleh mula menganalisis dan memproses teks. Di sini, kami mengambil pengekstrakan kata kunci sebagai contoh untuk menunjukkan contoh kod tertentu.
from nltk.corpus import stopwords from nltk.stem import WordNetLemmatizer from collections import Counter # 停用词 stop_words = set(stopwords.words('english')) # 词形还原 lemmatizer = WordNetLemmatizer() # 去除停用词,词形还原,统计词频 word_freq = Counter() for sentence in word_tokens: for word in sentence: if word.lower() not in stop_words and word.isalpha(): word = lemmatizer.lemmatize(word.lower()) word_freq[word] += 1 # 提取前20个关键词 top_keywords = word_freq.most_common(20)
Dalam kod ini, kami menggunakan kelas stopwords dan WordNetLemmatizer yang disediakan oleh perpustakaan nltk untuk mengendalikan perkataan stop dan lemmatization. Kemudian, kami menggunakan kelas Kaunter untuk mengira kekerapan setiap perkataan dan mengekstrak 20 kata kunci teratas dengan kekerapan tertinggi.
8. Paparan hasil dan simpan
Akhir sekali, kami boleh memaparkan kata kunci yang diekstrak dalam bentuk jadual dan menyimpannya sebagai fail CSV:
df_keywords = pd.DataFrame(top_keywords, columns=['Keyword', 'Frequency']) df_keywords.to_csv('keywords.csv', index=False)
Dengan cara ini, kami boleh memaparkan kata kunci dalam bentuk jadual dan menyimpannya ialah fail CSV dinamakan 'keywords.csv'.
9 Ringkasan
Dengan menggunakan Python dan alatan NLP yang berkaitan, kami boleh mengekstrak maklumat berstruktur daripada fail PDF dengan mudah. Dalam aplikasi praktikal, teknologi NLP lain juga boleh digunakan, seperti pengiktirafan entiti bernama, klasifikasi teks, dsb., untuk melaksanakan analisis dan pemprosesan teks yang lebih kompleks mengikut keperluan. Saya harap artikel ini dapat membantu pembaca mengekstrak maklumat berguna semasa memproses fail PDF.
Atas ialah kandungan terperinci Bagaimana untuk mengekstrak maklumat berstruktur daripada fail PDF menggunakan Python untuk NLP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!