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

NLP 用の Python を使用して複数の PDF ファイルからテキストを抽出して分析するにはどうすればよいですか?

PHPz
PHPzオリジナル
2023-09-27 17:45:42660ブラウズ

如何用Python for NLP提取并分析多个PDF文件中的文本?

NLP 用 Python を使用して複数の PDF ファイルからテキストを抽出して分析するにはどうすればよいですか?

要約:
ビッグデータ時代の到来により、自然言語処理 (NLP) は大量のテキスト データを解決する重要な手段の 1 つになりました。一般的な文書形式として PDF にはリッチ テキスト情報が含まれているため、PDF ファイル内のテキストをどのように抽出して分析するかが NLP の分野で重要なタスクとなっています。この記事では、Python プログラミング言語と関連する NLP ライブラリを使用して複数の PDF ファイル内のテキストを抽出および分析する方法を、具体的なコード例を示しながら紹介します。

  1. 準備
    始める前に、Python と必要なライブラリ PyPDF2、nltk、pandas がインストールされていることを確認する必要があります。これらのライブラリは、pip コマンドを使用してインストールできます。
pip install PyPDF2
pip install nltk
pip install pandas
  1. PDF テキスト抽出
    Python には、PDF ファイルを処理するためのライブラリが多数用意されています。その中でも PyPDF2 は、抽出に使用できる強力なライブラリです。 PDFからのテキスト。以下は、単一の PDF ファイルからテキストを抽出する簡単なサンプル コードです。
import PyPDF2

def extract_text_from_pdf(file_path):
    with open(file_path, 'rb') as file:
        pdf_reader = PyPDF2.PdfFileReader(file)
        text = ""
        for page_num in range(pdf_reader.numPages):
            page = pdf_reader.getPage(page_num)
            text += page.extractText()
        return text

pdf_file_path = "example.pdf"
text = extract_text_from_pdf(pdf_file_path)
print(text)
  1. 複数の PDF ファイルからテキストをバッチ抽出します
    複数の PDF ファイルがある場合、処理が必要な場合は、同様の方法を使用して、テキストをバッチで抽出できます。以下は、フォルダー内のすべての PDF ファイルのテキストを抽出し、結果をテキスト ファイルに保存するサンプル コードです:
import os

def extract_text_from_folder(folder_path):
    text_dict = {}
    for file_name in os.listdir(folder_path):
        if file_name.endswith(".pdf"):
            file_path = os.path.join(folder_path, file_name)
            text = extract_text_from_pdf(file_path)
            text_dict[file_name] = text
    return text_dict

pdf_folder_path = "pdf_folder"
text_dict = extract_text_from_folder(pdf_folder_path)

output_file_path = "output.txt"
with open(output_file_path, 'w', encoding='utf-8') as file:
    for file_name, text in text_dict.items():
        file.write(file_name + "
")
        file.write(text + "
")
  1. テキストの前処理と分析
    テキストを抽出したらPDF ファイルからテキストを前処理して分析することができます。以下は、抽出されたテキストの単語の分割と単語の頻度の計算のサンプル コードです:
import nltk
import pandas as pd
from nltk.tokenize import word_tokenize

nltk.download('punkt')

def preprocess_text(text):
    tokens = word_tokenize(text)  # 分词
    tokens = [token.lower() for token in tokens if token.isalpha()]  # 去除标点符号和数字,转换为小写
    return tokens

# 对提取的文本进行预处理和分析
all_tokens = []
for text in text_dict.values():
    tokens = preprocess_text(text)
    all_tokens.extend(tokens)

# 计算词频
word_freq = nltk.FreqDist(all_tokens)
df = pd.DataFrame.from_dict(word_freq, orient='index', columns=['Frequency'])
df.sort_values(by='Frequency', ascending=False, inplace=True)
print(df.head(10))

概要:
Python プログラミング言語と関連する NLP ライブラリを使用することで、簡単に抽出して分析できます。複数の PDF ファイルからのテキスト。上記では具体的なコード例を示しています。読者の役に立つことを願っています。読者は、品詞のタグ付けやセンチメント分析など、実際のニーズに基づいてさらなるテキスト処理と分析を実行できます。

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

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