7
장
텍스트 데이터 다루기
419
우리가 풀려는 문제는 다음과 같습니다. 리뷰가 하나 주어졌을 때, 이 리뷰의 텍스트 내용을 보
고 ‘양성’인지 ‘음성’인지 구분하는 것입니다. 이는 전형적인 이진 분류 문제입니다. 그러나 텍스
트 데이터는 머신러닝 모델이 다룰 수 있는 형태가 아닙니다. 그래서 텍스트의 문자열 표현을
머신러닝 알고리즘에 적용할 수 있도록 수치 표현으로 바꿔야 합니다.
7.3
텍스트 데이터를
BOW
로 표현하기
머신러닝에서 텍스트를 표현하는 방법 중
BOW
bag
of
words
는 가장 간단하지만 효과적이면서 널
리 쓰이는 방법입니다. 이 방법을 쓰면 장, 문단, 문장, 서식 같은 입력 텍스트의 구조 대부분을
잃고, 각 단어가 이 말뭉치에 있는 텍스트에 얼마나 많이 나타나는지만 헤아립니다. 구조와 상
관없이 단어의 출현 횟수만 세기 때문에 텍스트를 담는 ‘가방
bag
’으로 생각할 수 있습니다.
전체 말뭉치에 대해
BOW
표현을 계산하려면 다음 세 단계를 거칩니다.
1. 토큰화
tokenization
. 각 문서를 문서에 포함된 단어(토큰)로 나눕니다. 예를 들어 공백이나 구두점 등을 기준
으로 분리합니다.
2. 어휘 사전 구축
. 모든 문서에 나타난 모든 단어의 어휘를 모으고 번호를 매깁니다(알파벳 순서).
3. 인코딩
. 어휘 사전의 단어가 문서마다 몇 번이나 나타나는지를 헤아립니다.
1
단계와
2
단계에 관련한 세부 사항은 이 장의 뒷부분에서 자세히 설명하겠습니다. 그럼 이
제
scikit
-
learn
으로
BOW
표현을 어떻게 만드는지 ...