실습에 앞서 러시아어 데이터 전처리에 유용한 주요 라이브러리를 소개하겠습니다.
nltk(Natural Language Toolkit)
토큰화, 불용어 제거, 어간 추출, 품사 태깅 등의 기능을 제공합니다. 토큰화를 위한 ‘punkt’와 불용어 처리를 도와주는 ‘stopwords’를 설치할 수 있습니다. (https://www.nltk.org/)
nltk 라이브러리는 코랩에 기본적으로 설치되어 있습니다. 따라서 별도로 설치할 필요 없이 바로 임포트할 수 있습니다.
pymystem
Yandex에서 개발한 러시아어 형태소 분석기입니다. 어간 추출, 표제어 추출, 품사 태깅 등의 작업을 지원합니다. (https://yandex.ru/dev/mystem/)
코랩에서 다음과 같이 설치할 수 있습니다.
!pip install pymystem
pymorphy2
러시아어를 비롯한 슬라브어 형태소 분석기입니다. 어간 추출, 표제어 추출, 품사 태깅 등의 작업을 지원합니다. (https://pymorphy2.readthedocs.io/)
코랩에서 다음과 같이 설치할 수 있습니다.
!pip install pymorphy2
이 중에서 pymystem과 pymorphy2는 모두 러시아어 형태소 분석을 위한 라이브러리지만, 다음과 같은 차이가 있습니다.
| pymystem | 속도가 다소 느리지만 정교한 분석을 제공합니다. 사용이 간단하고 직관적이며, 러시아어에 특화되어 있습니다. | | --- | --- | | pymorphy2 | 속도가 빠르고 많은 양의 텍스트를 처리하는 데 유리합니다. 러시아어 외에도 다양한 슬라브언어의 분석을 제공합니다. |
그 밖에도 spaCy, Transformers, TextBlob, Gensim 등의 라이브러리가 있습니다. 목적에 맞는 라이브러리를 활용하여 전처리 과정을 보다 효율적으로 수행할 수 있습니다.
이제 러시아어 데이터 전처리 실습을 시작하겠습니다. 실습에서는 Wortschatz에서 다운로드한 데이터를 사용하겠습니다. 데이터 수집 방법은 1️⃣데이터 수집의 정제된 텍스트 구하기를 참고하세요.
【실습】 Wortschatz의 rus_news_2022_10K-sentences 데이터에 대해 정제화, 토큰화, 정규화, 불용어 제거, 형태소 분석 작업을 하세요.