NLP 用 Python を使用して PDF ファイルから構造化情報を抽出するにはどうすればよいですか?
1. はじめに
ビッグデータ時代の到来により、大量の PDF ファイルを含む膨大なテキスト データが蓄積され続けています。ただし、PDF ファイルはバイナリ形式であり、テキストの内容や構造化された情報を直接抽出するのは簡単ではありません。この記事では、Python および関連する自然言語処理 (NLP) ツールを使用して PDF ファイルから構造化情報を抽出する方法を紹介します。
2. Python と関連ライブラリのインストール
開始する前に、Python と関連ライブラリをインストールする必要があります。 Python 公式 Web サイトから最新バージョンの Python をダウンロードしてインストールします。 Python をインストールした後、pip コマンドを使用して次の関連ライブラリをインストールする必要があります:
まず、PyPDF2、nltk、pandas などの必要なライブラリをインポートする必要があります:
import PyPDF2 import nltk import pandas as pd
接続次に、 PDF ファイルを読む必要があります。 PyPDF2 ライブラリの PdfReader クラスを使用してファイルを読み取ります。
pdf_file = open('file.pdf', 'rb') pdf_reader = PyPDF2.PdfReader(pdf_file)
PDF ファイルを読み込んだ後、PyPDF2 ライブラリが提供する API を使用して、PDF 内のテキスト コンテンツを抽出できます:
text_content = '' for page in pdf_reader.pages: text_content += page.extract_text()
テキスト コンテンツを抽出した後、それを処理および前処理する必要があります。まず、その後の分析と処理のためにテキストを文に分割します。これを実現するには、nltk ライブラリを使用します:
sentence_tokens = nltk.sent_tokenize(text_content)
word_tokens = [nltk.word_tokenize(sentence) for sentence in sentence_tokens]
完了後データの前処理が完了したら、テキストの分析と処理を開始できます。ここでは、キーワード抽出を例に具体的なコード例を示します。
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)
最後に、抽出したキーワードを表に表示し、CSV ファイルとして保存できます:
df_keywords = pd.DataFrame(top_keywords, columns=['Keyword', 'Frequency']) df_keywords.to_csv('keywords.csv', index=False)
Python と関連する NLP ツールを使用すると、PDF ファイルから構造化情報を簡単に抽出できます。実際のアプリケーションでは、固有表現認識やテキスト分類などの他の NLP テクノロジーを使用して、必要に応じてより複雑なテキスト分析や処理を実行することもできます。この記事が、読者が PDF ファイルを処理する際に有益な情報を抽出するのに役立つことを願っています。
以上がNLP 用 Python を使用して PDF ファイルから構造化情報を抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。