ホームページ  >  記事  >  バックエンド開発  >  NLP 用 Python: 特定のキーワードを含む PDF テキストを処理するには?

NLP 用 Python: 特定のキーワードを含む PDF テキストを処理するには?

WBOY
WBOYオリジナル
2023-09-27 12:58:41987ブラウズ

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

NLP 用 Python: 特定のキーワードを含む PDF テキストを処理するにはどうすればよいですか?

要約: 自然言語処理 (NLP) は、人工知能分野の重要な研究分野です。この記事では、Python 言語を使用して、特定のキーワードを含む PDF テキストを処理する方法を紹介します。記事には、PDF からテキストを抽出するコード例、キーワード照合に正規表現を使用するコード例、PDF 処理に Python ライブラリを使用する方法が含まれます。

はじめに:
PDF (Portable Document Format) は、さまざまなドキュメントの読み取り、共有、印刷に広く使用されている一般的な電子ファイル形式です。 NLP では、PDF テキストの処理、特に多数の PDF ドキュメントから重要な情報の抽出が一般的なタスクです。この記事では、Python を使用して PDF テキストを処理する方法と、PDF ドキュメント内のテキスト データを解析してキーワード マッチングを実行する方法を紹介します。

ステップ 1: 依存ライブラリをインストールする
始める前に、必要な依存ライブラリがインストールされていることを確認してください。この記事のコード例では、次の Python ライブラリを使用します:

  • PyPDF2: PDF ファイルの解析と操作用
  • re: 正規表現マッチング用

次のコマンドを使用してこれらのライブラリをインストールできます:

pip install PyPDF2

ステップ 2: PDF テキストの抽出
まず、PyPDF2 ライブラリを使用して 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

上記のコード例では、まず 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

上記のコード例では、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} 次.')

上記のコード例では、まず処理対象の PDF ファイルのファイル名を指定し、特定のキーワードを含むキーワード リストを定義します。次に、extract_text_from_pdf 関数を使用して PDF からテキストを抽出し、結果を text という変数に保存します。次に、match_keywords 関数を使用してキーワードを照合し、結果を matches という変数に保存します。最後に、matches リストをループし、PDF テキスト内の各キーワードとその出現数を出力します。

結論:
この記事では、Python を使用して特定のキーワードを含む PDF テキストを処理する方法を紹介します。 PyPDF2 ライブラリを使用して PDF からテキストを抽出し、正規表現を使用してキーワードを照合することで、これを実現する方法を示します。これらの手法は、大量の PDF ドキュメントから有用な情報を抽出するなど、さまざまな NLP タスクに使用できます。

参考文献:

  1. https://pypi.org/project/PyPDF2/
  2. https://docs.python.org/3/library/re .html

以上がNLP 用 Python: 特定のキーワードを含む PDF テキストを処理するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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