신문 기사 4개에는 텍스트 데이터가 4개 있는데, 이 상태로는 정형 데이터에 맞게 고안된 머신 러닝을 적용하기가 쉽지 않다. 즉, 분석을 하려면 우리는 텍스트로 표현된 비정형 데이터를 정형화하는 과정을 거쳐야 한다.
비정형 텍스트 데이터를 처리하는 방법은 다양하지만 여기서는 단어 중심으로 정형화하는 방법을 소개하고자 한다. 각 신문 기사(문헌 단위)에서 의미를 담은 값이 바로 단어(Term)일 것이다. 그렇다면 각 신문 기사에서 중요한 의미를 나타내는 단어가 나타났는지, 나타났다면 얼마나 나타났는지를 정리할 수 있다. 이 과정을 통해 우리는 좀 더 효율적으로 비정형 데이터인 텍스트를 이해할 수 있다. 그 과정을 정형화의 관점에서 접근한다면 행과 열이 있는 표가 될 것이며, 행에는 각 신문 기사가, 열에는 각 신문 기사에서 출현한 중요한 단어들이 놓일 것이다. 이렇게 정형화된 텍스트 데이터를 문헌용어행렬(Document Term Matrix, DTM)3이라고 부른다. 문헌용어행렬은 텍스트 마이닝에서 가장 일반적인 형태의 자료 표현이다. 다음 표 1-6은 신문 기사 4개를 정형화한 문헌용어행렬의 일부다.
▼ 표 1-6 문헌용어행렬의 예
|
전세보증금 |
월세화 |
가계 부채 |
미분양 |
경기 부양 |
… |
기사 1 |
2 |
2 |
1 |
0 |
0 |
|
기사 2 |
0 |
0 |
0 |
1 |
0 |
|
기사 3 |
0 |
0 |
0 |
0 |
0 |
|
기사 4 |
0 |
0 |
1 |
0 |
1 |
|
이러한 DTM은 몇 가지 중요한 특징이 있는데, 우선 크기가 매우 클 수 있다. 아무리 문헌(document)의 수가 적다 하더라도 단어가 다양하게 사용될 수 있어서 열의 수 또한 늘어나기가 쉽다. 그러다 보니 행렬 값은 0을 많이 갖게 되며, 이렇게 0이 아닌 값이 희박한 행렬을 희소행렬(sparse matrix)이라고 한다. 희소행렬은 DTM 계산 과정에서 컴퓨팅 리소스와 시간을 많이 소요하게 되고, 효율적으로 처리하기 위해 내부적으로는 좌표 형태로 값을 저장하게 된다.
3 문서용어행렬이라고도 한다.