NLP 用 Python を使用して複数の段落を含む PDF テキストを処理するにはどうすればよいですか?
要約:
自然言語処理 (NLP) は、人間の言語の処理と分析に特化した分野です。 Python は、データ処理と分析に広く使用されている強力なプログラミング言語です。この記事では、Python といくつかの一般的なライブラリを使用して、複数の段落を含む PDF テキストを自然言語処理で処理する方法を紹介します。
ライブラリのインポート:
まず、PDF ファイルの処理と自然言語処理の実行に役立ついくつかのライブラリをインポートする必要があります。次のライブラリを使用します:
これらのライブラリをインストールするには、pip コマンドを使用できます:
pip install PyPDF2 pip install nltk
PDF ファイルの読み取り:
最初に PyPDF2 ライブラリを使用して PDF ファイルを読み取ります。以下は、複数の段落を含む PDF のテキストを読み取る方法を示すサンプル コード スニペットです:
import PyPDF2 def read_pdf(file_path): text = "" with open(file_path, "rb") as file: pdf = PyPDF2.PdfFileReader(file) num_pages = pdf.getNumPages() for page in range(num_pages): page_obj = pdf.getPage(page) text += page_obj.extract_text() return text
上記のコードは、PDF ファイルを読み取り、各ページのテキストを抽出し、それを文字列内の に連結します。 。
セグメンテーション:
NLTK ライブラリを使用すると、テキストを段落に分割できます。 NLTK を使用してテキストを段落に分割する方法を示すコード スニペットの例を次に示します。
import nltk def split_paragraphs(text): sentences = nltk.sent_tokenize(text) paragraphs = [] current_paragraph = "" for sentence in sentences: if sentence.strip() == "": if current_paragraph != "": paragraphs.append(current_paragraph.strip()) current_paragraph = "" else: current_paragraph += " " + sentence.strip() if current_paragraph != "": paragraphs.append(current_paragraph.strip()) return paragraphs
上記のコードは、nltk.sent_tokenize
関数を使用して、テキストを文に分割し、文を段落に分割します。空白行に基づいています。最後に、すべての段落を含むリストが返されます。
テキスト処理:
次に、正規表現といくつかのテキスト処理テクニックを使用して、テキストをクリーンアップします。以下に、正規表現と NLTK を使用してテキストを処理する方法を示すコード スニペットの例を示します。
import re from nltk.corpus import stopwords from nltk.stem import PorterStemmer def preprocess_text(text): # 移除非字母字符和多余的空格 text = re.sub("[^a-zA-Z]", " ", text) text = re.sub(r's+', ' ', text) # 将文本转为小写 text = text.lower() # 移除停用词 stop_words = set(stopwords.words("english")) words = nltk.word_tokenize(text) words = [word for word in words if word not in stop_words] # 提取词干 stemmer = PorterStemmer() words = [stemmer.stem(word) for word in words] # 将单词重新连接成文本 processed_text = " ".join(words) return processed_text
上記のコードは、正規表現と NLTK ライブラリを使用して、テキストから非アルファベット文字と無関係なスペースを削除します。次に、テキストを小文字に変換し、ストップワード (実際の意味を持たない「a」、「the」など) を削除します。次に、Porter ステミング アルゴリズムを使用してステムを抽出します。最後に、単語が再びテキストに結合されます。
概要:
この記事では、Python といくつかの一般的なライブラリを使用して、複数の段落を含む PDF テキストを自然言語処理で処理する方法を紹介します。 PyPDF2 ライブラリを通じて PDF ファイルを読み取り、NLTK ライブラリを使用してテキストを段落に分割し、正規表現と NLTK ライブラリを使用してテキストをクリーンアップします。読者は、必要に応じてさらに処理や分析を行うことができます。
参考資料:
以上がNLP 用 Python を使用して複数の段落を含む PDF テキストを処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。