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 중국어 웹사이트의 기타 관련 기사를 참조하세요!