[python] scikit-learn을 활용한 워드 임베딩
이번 포스트에서는 scikit-learn 라이브러리를 사용하여 워드 임베딩을 구현하는 방법에 대해 알아보겠습니다.
1. 워드 임베딩이란?
워드 임베딩은 텍스트 데이터를 벡터로 표현하는 기술입니다. 각 단어를 고정된 차원의 실수 벡터로 매핑하여 단어 간의 유사성을 측정할 수 있습니다. 이를 통해 텍스트 데이터를 기계 학습 모델에 적용하기 위해 단어들을 수치화할 수 있습니다.
2. scikit-learn을 활용한 워드 임베딩 구현
scikit-learn은 파이썬의 머신러닝 라이브러리로, CountVectorizer와 TfidfVectorizer를 통해 워드 임베딩을 구현할 수 있습니다.
2.1 CountVectorizer를 사용한 워드 임베딩
CountVectorizer는 텍스트 문서의 단어 빈도를 기반으로 벡터화하는 방법입니다. 다음은 CountVectorizer를 사용하여 워드 임베딩을 구현하는 예제 코드입니다.
from sklearn.feature_extraction.text import CountVectorizer
# 텍스트 데이터
corpus = [
"I love scikit-learn",
"I love machine learning",
"I love natural language processing"
]
# CountVectorizer 객체 생성
vectorizer = CountVectorizer()
# 문서 벡터화
X = vectorizer.fit_transform(corpus)
# 벡터화된 문서 출력
print(X.toarray())
2.2 TfidfVectorizer를 사용한 워드 임베딩
TfidfVectorizer는 Term Frequency-Inverse Document Frequency(TF-IDF) 방식을 사용하여 워드 임베딩을 구현하는 방법입니다. 다음은 TfidfVectorizer를 사용하여 워드 임베딩을 구현하는 예제 코드입니다.
from sklearn.feature_extraction.text import TfidfVectorizer
# 텍스트 데이터
corpus = [
"I love scikit-learn",
"I love machine learning",
"I love natural language processing"
]
# TfidfVectorizer 객체 생성
vectorizer = TfidfVectorizer()
# 문서 벡터화
X = vectorizer.fit_transform(corpus)
# 벡터화된 문서 출력
print(X.toarray())
3. 마치며
이번 포스트에서는 scikit-learn 라이브러리를 사용하여 워드 임베딩을 구현하는 방법을 살펴보았습니다. CountVectorizer와 TfidfVectorizer를 활용하여 텍스트 데이터를 수치화할 수 있으며, 이를 기계 학습 모델에 적용할 수 있습니다. 좀 더 복잡한 워드 임베딩 모델이 필요할 경우, 다른 라이브러리나 알고리즘을 적용해볼 수도 있습니다.