[파이썬] 말뭉치(Corpus) 개념과 예제

말뭉치(Corpus)는 자연어 처리 작업을 위해 수집된 텍스트 데이터의 집합을 말합니다. 이 데이터는 분석, 모델 학습, 평가 등 다양한 자연어 처리 작업에서 사용됩니다. 말뭉치는 텍스트 데이터의 다양한 유형과 주제를 포함하며, 이를 통해 모델이 다양한 상황과 언어를 이해하고 처리할 수 있도록 합니다.

예를 들어, 영어에서 영화 리뷰, 뉴스 기사, 소설 등의 다양한 형태의 텍스트 데이터를 수집하여 말뭉치를 구성할 수 있습니다.

아래는 간단한 말뭉치 관리 예제를 보여드리겠습니다.

from nltk.corpus import reuters

## 말뭉치 다운로드 (한 번만 실행)
import nltk
nltk.download('reuters')

## 말뭉치에서 문서 읽어오기
document_ids = reuters.fileids()[:5]  # 처음 5개 문서 선택

## 선택한 문서 출력
for doc_id in document_ids:
    words = reuters.words(doc_id)
    print(f"Document ID: {doc_id}")
    print(" ".join(words[:50]))  # 처음 50단어 출력
    print()` 

위의 코드에서 nltk 라이브러리의 reuters 말뭉치를 사용하여 다운로드하고, 선택한 문서의 내용을 출력합니다.

예제 출력:

Document ID: test/14826
ASIAN EXPORTERS FEAR DAMAGE FROM U.S.-JAPAN RIFT
...` 

말뭉치 관리는 자연어 처리 작업의 시작 단계 중 하나로, 다양한 텍스트 데이터를 수집하고 저장하여 모델 학습 및 평가에 활용합니다. 또한 말뭉치는 자연어 처리 기술의 발전과 연구를 위한 중요한 자원이 됩니다.