ホームページ >バックエンド開発 >Python チュートリアル >NLP 用 Python を使用して、スキャンした PDF ファイルからテキストを抽出するにはどうすればよいですか?

NLP 用 Python を使用して、スキャンした PDF ファイルからテキストを抽出するにはどうすればよいですか?

王林
王林オリジナル
2023-09-27 11:38:01871ブラウズ

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

NLP 用 Python を使用して、スキャンした PDF ファイルからテキストを抽出するにはどうすればよいですか?

NLP (自然言語処理) は、テキストの分析と処理を含む重要な分野です。 Python は、テキスト データを処理および分析するための豊富なライブラリとツールを備えた強力なプログラミング言語です。この記事では、NLP 用 Python を使用して、スキャンした PDF ファイルからテキストを抽出する方法を説明します。

ステップ 1: 必要なライブラリをインストールしてインポートする

まず、PDF ファイルの処理とテキスト抽出のためによく使用されるライブラリを Python にインストールしてインポートする必要があります。

!pip install PyPDF2
import PyPDF2

ステップ 2: PDF ファイルを開く

テキストの抽出を開始する前に、スキャンした PDF ファイルを開く必要があります。

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

ステップ 3: PDF Reader オブジェクトを作成する

PyPDF2 ライブラリが提供する関数を使用して、PDF ファイルを読み取り、解析するための PDF Reader オブジェクトを作成できます。

pdf_reader = PyPDF2.PdfFileReader(pdf_file)

ステップ 4: テキストの抽出

ここで、PDF Reader オブジェクトによって提供されるメソッドを使用して、PDF ファイルからテキストを抽出できます。

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

上記のコードは、最初に空の文字列テキストを作成し、次に各ページのテキストを反復処理して、それをテキスト文字列に追加します。 extractText() メソッドは、ページ オブジェクトからテキストを抽出するために使用されます。

ステップ 5: クリーンなテキスト データ

抽出されたテキストにはノイズや不要な文字が含まれている場合があります。したがって、テキストをクリーンアップして前処理する必要があります。

import re

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

上記のコードは、正規表現を使用してテキストから英数字以外の文字を削除し、スペースに置き換えます。

ステップ 6: 抽出したテキストを保存する

最後に、抽出したテキストを後で使用できるようにテキスト ファイルに保存することを選択できます。

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

上記のコードは、クリーンアップされたテキストをテキスト ファイルに書き込み、「Extracted text.txt」という名前を付けます。

統合コード例:

!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')

概要:

この記事では、NLP 用 Python を使用して、スキャンされた PDF ファイルからテキストを抽出する方法を紹介します。 PyPDF2 ライブラリを使用すると、PDF ファイルを開いて読み取り、提供されたメソッドを使用して各ページのテキストを抽出できます。その後、正規表現を使用してテキストをクリーンアップし、前処理することができます。最後に、抽出したテキストをテキスト ファイルに保存するオプションがあります。これらの手順を使用すると、スキャンした PDF ファイルからテキストを簡単に抽出し、NLP の技術と手法をさらに適用できます。

以上がNLP 用 Python を使用して、スキャンした PDF ファイルからテキストを抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。