


Bagaimana untuk mengekstrak data teks berstruktur daripada fail PDF dengan Python untuk NLP?
Bagaimana untuk mengekstrak data teks berstruktur daripada fail PDF menggunakan Python untuk NLP?
Pengenalan:
Natural language processing (NLP) adalah salah satu cabang penting dalam bidang kecerdasan buatan Matlamatnya adalah untuk membolehkan komputer memahami dan memproses bahasa manusia. Data teks ialah sumber teras NLP, jadi cara mengekstrak data teks berstruktur daripada pelbagai sumber telah menjadi tugas asas NLP. Fail PDF ialah format dokumen biasa Artikel ini akan memperkenalkan cara menggunakan Python untuk NLP dan mengekstrak data teks berstruktur daripada fail PDF.
Langkah 1: Pasang perpustakaan bergantung
Pertama, kita perlu memasang beberapa perpustakaan Python yang diperlukan untuk memproses fail PDF. Antaranya, yang paling penting ialah perpustakaan PyPDF2, yang boleh membantu kami membaca dan menghuraikan fail PDF. Pustaka PyPDF2 boleh dipasang dengan arahan berikut:
pip install PyPDF2
Langkah 2: Baca fail PDF
Sebelum kita mula, kita perlu menyediakan sampel fail PDF untuk demonstrasi. Katakan fail PDF sampel kami dinamakan "sample.pdf". Seterusnya, kami akan menggunakan perpustakaan PyPDF2 untuk membaca fail PDF seperti yang ditunjukkan di bawah:
import PyPDF2 filename = "sample.pdf" # 打开PDF文件 pdf_file = open(filename, 'rb') # 创建一个PDF阅读器 pdf_reader = PyPDF2.PdfReader(pdf_file) # 获取PDF文件中的页数 num_pages = pdf_reader.numPages # 逐页提取文本 text_data = [] for page in range(num_pages): page_obj = pdf_reader.getPage(page) text_data.append(page_obj.extractText()) # 关闭PDF文件 pdf_file.close()
Dalam kod di atas, kami mula-mula membuka fail PDF dan kemudian mencipta pembaca PDF menggunakan perpustakaan PyPDF2. Selepas itu, kami mendapat nombor halaman fail PDF dan menggunakan gelung untuk mengekstrak kandungan teks halaman demi halaman dan menyimpan data teks yang diekstrak dalam senarai. Akhir sekali, ingat untuk menutup fail PDF.
Langkah 3: Bersihkan data teks
Data teks yang diekstrak daripada fail PDF selalunya mengandungi sejumlah besar aksara kosong dan aksara khas lain yang tidak berkaitan. Oleh itu, kita perlu membersihkan dan memproses data teks sebelum meneruskan ke langkah seterusnya. Berikut ialah contoh fungsi pembersihan teks ringkas:
import re def clean_text(text): # 去除多余的空白字符 text = re.sub('s+', ' ', text) # 去除特殊字符 text = re.sub('[^A-Za-z0-9]+', ' ', text) return text # 清理文本数据 cleaned_text_data = [] for text in text_data: cleaned_text = clean_text(text) cleaned_text_data.append(cleaned_text)
Dalam kod di atas, kami mula-mula menggunakan ungkapan biasa untuk mengalih keluar aksara ruang kosong tambahan dan kemudian mengalih keluar aksara khas. Sudah tentu, kaedah pembersihan teks boleh dilaraskan mengikut keadaan sebenar.
Langkah 4: Pemprosesan selanjutnya data teks
Dalam langkah di atas, kami telah mengekstrak data teks berstruktur daripada fail PDF dan melakukan pembersihan mudah. Walau bagaimanapun, bergantung pada keperluan aplikasi khusus, kami mungkin perlu melakukan pemprosesan teks selanjutnya. Di sini, kami akan memperkenalkan secara ringkas dua tugas pemprosesan teks biasa: statistik kekerapan perkataan dan pengekstrakan kata kunci.
Statistik kekerapan perkataan:
Statistik kekerapan perkataan ialah salah satu tugas biasa dalam NLP, dan tujuannya adalah untuk mengira bilangan kali setiap perkataan muncul dalam teks. Berikut ialah contoh mudah statistik kekerapan perkataan:
from collections import Counter # 将文本数据拼接为一个字符串 combined_text = ' '.join(cleaned_text_data) # 分词 words = combined_text.split() # 统计词频 word_freq = Counter(words) # 打印出现频率最高的前10个词语 print(word_freq.most_common(10))
Pengestrakan kata kunci:
Pengestrakan kata kunci ialah tugas penting dalam NLP, dan tujuannya adalah untuk mengekstrak kata kunci yang paling mewakili daripada data teks. Dalam Python, kita boleh menggunakan perpustakaan textrank4zh untuk pengekstrakan kata kunci Contohnya adalah seperti berikut:
from textrank4zh import TextRank4Keyword # 创建TextRank4Keyword对象 tr4w = TextRank4Keyword() # 提取关键词 tr4w.analyze(text=combined_text, lower=True, window=2) # 打印关键词 for item in tr4w.get_keywords(10, word_min_len=2): print(item.word)
Dalam kod di atas, kita mula-mula mencipta objek TextRank4Keyword, dan kemudian memanggil kaedah analisis() untuk mengekstrak kata kunci. Selepas itu, kita boleh mendapatkan bilangan kata kunci yang ditentukan melalui kaedah get_keywords(), lalai ialah 10 kata kunci pertama.
Kesimpulan:
Artikel ini menerangkan cara menggunakan Python untuk pemprosesan bahasa semula jadi (NLP) dan mengekstrak data teks berstruktur daripada fail PDF. Kami menggunakan perpustakaan PyPDF2 untuk membaca dan menghuraikan fail PDF, dan kemudian melakukan pembersihan dan prapemprosesan teks ringkas. Akhir sekali, kami juga memperkenalkan cara melaksanakan statistik kekerapan perkataan dan pengekstrakan kata kunci. Saya percaya bahawa melalui pengenalan artikel ini, pembaca boleh menguasai cara mengekstrak data teks berstruktur daripada fail PDF dan seterusnya mengaplikasikannya pada tugas pemprosesan bahasa semula jadi.
Atas ialah kandungan terperinci Bagaimana untuk mengekstrak data teks berstruktur daripada fail PDF dengan Python untuk NLP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

PHP terutamanya pengaturcaraan prosedur, tetapi juga menyokong pengaturcaraan berorientasikan objek (OOP); Python menyokong pelbagai paradigma, termasuk pengaturcaraan OOP, fungsional dan prosedur. PHP sesuai untuk pembangunan web, dan Python sesuai untuk pelbagai aplikasi seperti analisis data dan pembelajaran mesin.

PHP sesuai untuk pembangunan web dan prototaip pesat, dan Python sesuai untuk sains data dan pembelajaran mesin. 1.Php digunakan untuk pembangunan web dinamik, dengan sintaks mudah dan sesuai untuk pembangunan pesat. 2. Python mempunyai sintaks ringkas, sesuai untuk pelbagai bidang, dan mempunyai ekosistem perpustakaan yang kuat.

Python lebih sesuai untuk pemula, dengan lengkung pembelajaran yang lancar dan sintaks ringkas; JavaScript sesuai untuk pembangunan front-end, dengan lengkung pembelajaran yang curam dan sintaks yang fleksibel. 1. Sintaks Python adalah intuitif dan sesuai untuk sains data dan pembangunan back-end. 2. JavaScript adalah fleksibel dan digunakan secara meluas dalam pengaturcaraan depan dan pelayan.

Sambungan kod VS menimbulkan risiko yang berniat jahat, seperti menyembunyikan kod jahat, mengeksploitasi kelemahan, dan melancap sebagai sambungan yang sah. Kaedah untuk mengenal pasti sambungan yang berniat jahat termasuk: memeriksa penerbit, membaca komen, memeriksa kod, dan memasang dengan berhati -hati. Langkah -langkah keselamatan juga termasuk: kesedaran keselamatan, tabiat yang baik, kemas kini tetap dan perisian antivirus.

Kod VS boleh digunakan untuk menulis Python dan menyediakan banyak ciri yang menjadikannya alat yang ideal untuk membangunkan aplikasi python. Ia membolehkan pengguna untuk: memasang sambungan python untuk mendapatkan fungsi seperti penyempurnaan kod, penonjolan sintaks, dan debugging. Gunakan debugger untuk mengesan kod langkah demi langkah, cari dan selesaikan kesilapan. Mengintegrasikan Git untuk Kawalan Versi. Gunakan alat pemformatan kod untuk mengekalkan konsistensi kod. Gunakan alat linting untuk melihat masalah yang berpotensi lebih awal.

Kod VS boleh dijalankan pada Windows 8, tetapi pengalaman mungkin tidak hebat. Mula -mula pastikan sistem telah dikemas kini ke patch terkini, kemudian muat turun pakej pemasangan kod VS yang sepadan dengan seni bina sistem dan pasangnya seperti yang diminta. Selepas pemasangan, sedar bahawa beberapa sambungan mungkin tidak sesuai dengan Windows 8 dan perlu mencari sambungan alternatif atau menggunakan sistem Windows yang lebih baru dalam mesin maya. Pasang sambungan yang diperlukan untuk memeriksa sama ada ia berfungsi dengan betul. Walaupun kod VS boleh dilaksanakan pada Windows 8, disyorkan untuk menaik taraf ke sistem Windows yang lebih baru untuk pengalaman dan keselamatan pembangunan yang lebih baik.

Dalam kod VS, anda boleh menjalankan program di terminal melalui langkah -langkah berikut: Sediakan kod dan buka terminal bersepadu untuk memastikan bahawa direktori kod selaras dengan direktori kerja terminal. Pilih arahan Run mengikut bahasa pengaturcaraan (seperti python python your_file_name.py) untuk memeriksa sama ada ia berjalan dengan jayanya dan menyelesaikan kesilapan. Gunakan debugger untuk meningkatkan kecekapan debug.

PHP berasal pada tahun 1994 dan dibangunkan oleh Rasmuslerdorf. Ia pada asalnya digunakan untuk mengesan pelawat laman web dan secara beransur-ansur berkembang menjadi bahasa skrip sisi pelayan dan digunakan secara meluas dalam pembangunan web. Python telah dibangunkan oleh Guidovan Rossum pada akhir 1980 -an dan pertama kali dikeluarkan pada tahun 1991. Ia menekankan kebolehbacaan dan kesederhanaan kod, dan sesuai untuk pengkomputeran saintifik, analisis data dan bidang lain.
