◼︎ 입력 문장
랭콘은 자연어 처리 콘퍼런스로, 여기서는 명사(고유명사)의 예시로 사용했다. 그림 5-5에 사용한 문장은 잘 정돈되어 있지만 자연어 문장은 대체로 그렇지 않다. ‘안녕’ 같이 매우 짧은 문장부터 몇 줄씩 이어지는 긴 문장이 한꺼번에 나오기도 한다.
◼︎ 토큰화
요리에서 재료를 정리하고 적합한 크기로 잘라 주는 과정이 필요한 것처럼, 자연어 처리에서도 이와 같은 작업이 필요하다. 이를 토큰화(tokenization) 작업이라 부른다. 처음 들을 때는 익숙하지 않은 개념이지만 몇 번 반복하다 보면 ‘토큰화하지 않으면 내 데이터에 랭콘이라는 단어가 몇 번 나오는지 알 수 없겠지?’라고 자연스레 생각하게 된다.
◼︎ 인코딩
토큰화 작업으로 잘 정돈한 언어 재료는 벡터를 표현할 수 있는 인코딩 과정을 거친다. 단어 벡터를 만드는 작업을 위해 사이킷런을 사용해 보자. 사이킷런에서 단어 가방 벡터를 만드는 방법은 4장에서 알아본 바와 같이 CountVectorizer(), TfidfVectorizer(), HashingVectorizer(), DictVectorizer()가 있다.