221010

AIVILLAIN·2022년 10월 10일
0

오공완

목록 보기
19/25

한글 텍스트 처리

실습 코드

일반적으로 한글 언어 처리는 영어 등의 라틴어 처리보다 어려움
띄어쓰기, 다양한 조사 때문
영어의 띄어쓰기는 매우 명확함
주어나 목적어를 위해 추가되는 조사의 경우의 수가 많기 때문에 어근 추출 등의 전처리 시 제거하기 까다로움

KoNLPy

파이썬의 대표적인 한글 형태소 패키지
형태소는 단어로서 의미를 가지는 최소 단위
말뭉치를 형태소 어근 단위로 쪼개고 각 형태소에 품사 태깅을 부착하는 작업
기존 C/C++, Java로 만들어진 한글 형태소 엔진을 파이썬 래퍼 기반으로 재작성한 패키지
꼬꼬마(KKma), 한나눔(Hannanum), Komoran, 은전한닢(Mecab), Twitter(Okt) 등 5개의 형태소 분석 모듈을 KoNLPy에서 사용 가능

설치 (wsl2)

sudo apt-get install g++ openjdk-8-jdk
pip install konlpy
bash <(curl -s https://raw.githubusercontent.com/konlpy/konlpy/master/scripts/mecab.sh)

Mercari Price Suggestion Challenge

실습 코드

제품 가격 예측 과제
제품에 대한 여러 속성 및 제품 설명 등의 텍스트 데이터로 구성
카테고리형 피처는 원-핫 인코딩, 비교적 짧은 텍스트 벡터화는 Count 기반, 긴 텍스트는 TF-IDF 기반 벡터화 적용

CountVectorizer, TfidfVectorizer의 fit_transform() 반환 데이터는 희소 행렬 형태
희소 행렬을 결합하여 새로운 데이터 세트로 구성, 인코딩 된 카테고리형 피처들 또한 함께 결합되어 ML 모델 입력 데이터 세트로 재구성 되어야 함
따라서 인코딩 대상도 희소 행렬 형태로 인코딩을 적용하여 함께 결합
원-핫 인코딩을 위한 OneHotEncoder, LabelBinarizer 클래스 중 LabelBinarizer는 희소 행렬 형태의 원-핫 인코딩 변환 지원
sparse_out=True
개별 컬럼으로 만들어진 희소 행렬은 scipy 패키지의 sparse 모듈의 hstack() 함수 이용하여 결합

profile
소신있는 오픈마인드

0개의 댓글