인공지능이 텍스트를 인식하려면 수와 수학 기호로 바꾸어야 합니다. 문장을 전처리해 단어집합으로 표현하는 방법을 배웁니다.
| 단계 | 활동 | |
|---|---|---|
| 도입 | 단어가방 — 문장을 숫자로 바꾸기 | 5분 |
| 활동1 | 범주가 있는 데이터 vs 범주가 없는 텍스트 데이터 | 10분 |
| 활동2 | 텍스트 전처리 — 어절 분리, 기본형, 불용어 제거 | 15분 |
| 활동3 | 단어집합과 전체집합 U 구하기 | 15분 |
| 정리 | 집합으로 표현하기의 한계 | 5분 |
"나는 과일을 좋아해. 너도 과일을 좋아하니?"라는 두 문장을 하나의 단어가방에 넣고 등장한 단어의 횟수를 세면, 나(1회) 과일(2회) 좋아하다(2회) 너(1회)와 같이 문장을 숫자로 나타낼 수 있습니다.
붓꽃의 종류나 전기 자동차 에너지 등급처럼 특정한 범주로 나타낼 수 있는 데이터는 범주마다 수를 대응시켜 인공지능이 인식하게 할 수 있습니다.
| 붓꽃의 종류 | 세토사 | 버시컬러 | 버지니카 |
|---|---|---|---|
| 대응하는 수 | 0 | 1 | 2 |
| 전기 자동차 에너지 등급 (km/kWh) | 5.9 이상 | 5.1~5.8 | 4.3~5.0 | 3.5~4.2 | 3.4 이하 |
|---|---|---|---|---|---|
| 등급 | 1 | 2 | 3 | 4 | 5 |
하지만 댓글이나 리뷰 같은 텍스트 데이터는 특정한 범주가 없습니다. 이런 텍스트 데이터는 집합이나 벡터를 이용하여 표현합니다.
책 『불편한 편의점』을 읽고 쓴 한 줄 평 데이터를 집합으로 표현하는 과정을 살펴봅시다. 문장을 어절로 분리한 후, 각 어절을 기본 사전형 단어로 바꾸고, 검색에 쓰이지 않는 불용어를 제거합니다.
텍스트 데이터에서 불용어를 제거하고 남은 단어를 중복 없이 모아 놓은 것을 단어집합이라고 합니다. 한 줄 평 A, B, C의 단어집합을 각각 A, B, C라 하면 다음과 같습니다.
| 단어집합 | 원소 |
|---|---|
| A | {불편하다, 편의점, 따뜻하다, 이야기, 감동하다} |
| B | {불편하다, 편의점, 찾아가다} |
| C | {불편하다, 편의점, 일상, 소중하다} |
세 집합 A, B, C의 합집합을 전체집합 U라 하면
U = A∪B∪C = {불편하다, 편의점, 따뜻하다, 이야기, 감동하다, 찾아가다, 일상, 소중하다}
즉 전체집합 U는 원소가 8개인 집합입니다. 이 U를 기준으로 하면 각 단어가 어떤 문장에 등장했는지 숫자로 나타낼 수 있습니다 (다음 차시에서 벡터로 배웁니다).
텍스트 데이터를 집합으로 표현하면 어떤 단어가 포함되는지 파악할 수 있습니다. 그러나 집합으로만 표현하면 단어들 사이의 순서를 고려하지 않고, 중복된 단어는 한 번만 나타내기 때문에 텍스트 데이터의 특징을 충분히 담아내기 어렵다는 한계가 있습니다.
오늘은 텍스트를 전처리해 단어집합으로 표현하는 방법을 배웠습니다. 다음 시간에는 단어집합을 벡터로 표현하는 방법을 배웁니다.