[파이썬] Gensim 다양한 코퍼스 포맷 지원

Gensim은 효율적인 자연어 처리를 위한 Python 라이브러리로, 다양한 코퍼스 포맷을 지원합니다. 코퍼스는 텍스트 데이터의 모음으로, 텍스트 분석 및 자연어 처리 작업에 사용됩니다. Gensim을 사용하여 다양한 코퍼스 포맷을 읽고 처리하는 방법에 대해 알아보겠습니다.

1. 텍스트 포맷

가장 일반적인 코퍼스 포맷은 텍스트 파일입니다. Gensim은 텍스트 파일을 쉽게 읽어와 코퍼스 객체로 변환할 수 있습니다. 예를 들어, 아래는 텍스트 파일을 라인 단위로 읽어와 코퍼스 객체로 변환하는 코드입니다.

from gensim import corpora

with open('corpus.txt', 'r') as file:
    documents = [line.strip().split() for line in file]

dictionary = corpora.Dictionary(documents)
corpus = [dictionary.doc2bow(doc) for doc in documents]

위 코드에서는 corpus.txt 파일을 읽어와 각 줄을 단어로 분리한 후, corpora.Dictionary 객체를 사용하여 단어 사전을 생성합니다. 그리고 doc2bow 함수를 사용하여 코퍼스 내 각 문서를 단어의 빈도수로 표현합니다.

2. CSV 포맷

CSV 포맷은 텍스트 포맷과 마찬가지로 일반적으로 사용되는 코퍼스 포맷입니다. Gensim은 CSV 파일을 읽어와 코퍼스 객체로 변환할 수 있습니다. 다음은 CSV 파일을 읽어와 코퍼스 객체로 변환하는 코드의 예입니다.

import csv
from gensim import corpora

documents = []

with open('corpus.csv', 'r') as file:
    reader = csv.reader(file)
    for row in reader:
        documents.append(row)

dictionary = corpora.Dictionary(documents)
corpus = [dictionary.doc2bow(doc) for doc in documents]

위 코드에서는 corpus.csv 파일을 읽어와 각 행을 문서로 처리합니다. 이후 corpora.Dictionary 객체를 사용하여 단어 사전을 생성하고, doc2bow 함수를 사용하여 코퍼스 내 각 문서를 단어의 빈도수로 표현합니다.

3. 다른 포맷들

Gensim은 위에서 소개한 텍스트와 CSV 포맷 외에도 다양한 포맷을 지원합니다. 예를 들어, XML, JSON, SQLite, MySQL 등의 포맷을 지원합니다. 각 포맷에 알맞은 라이브러리를 사용하여 데이터를 읽어와서 코퍼스 객체로 변환할 수 있습니다.

Gensim의 다양한 포맷 지원은 텍스트 분석 및 자연어 처리 작업을 수행할 때 데이터 처리 과정을 단순화하고 효율적으로 수행할 수 있도록 도와줍니다. 만약 Gensim을 사용하고 있다면, 다양한 코퍼스 포맷을 활용해 데이터를 분석해 보세요!


참고 자료: