Play With AI > Chapter 7. 클린봇 만들기

[이해하기] 인공지능 알아보기

 클린봇 알아보기


 

‘AI 클린봇’을 들어본 적 있나요? 클린봇은 악성 댓글을 차단하기 위해 만들어진 인공지능 서비스로, 악성 댓글을 판단하면 해당 댓글을 보이지 않게 숨깁니다. 클린봇을 도입한 결과 악성 댓글이 6개월만에 63% 줄어들었다고 합니다.

클린봇에는 텍스트를 분류하는 기술이 적용되어 있습니다. 텍스트 데이터를 보고 ‘선한 댓글’과 ‘악성 댓글’로 분류하는 것이죠. 이렇게 대상을 ‘분류’ 하는 것은 인공지능이 할 수 있는 대표적인 일 중 하나입니다. ‘분류’ 이 외에도 인공지능은 주어진 데이터를 보고 새로운 무언가를 ‘예측’하는 데도 많이 쓰이죠.

이번 주제에서는 인공지능이 할 수 있는 ‘분류’와 ‘예측’의 개념을 알아보고, 엔트리로 텍스트를 분류하는 클린봇 프로그램을 만들어보는 활동을 해보겠습니다.

 

영상 시청하기 : https://www.youtube.com/watch?v=kUMmJ7yi90k


예측과 분류


 
인공지능은 무언가를 ‘예측’하거나 ‘분류’하는 일을 잘 합니다. 특히 예측과 분류는 기계학습, 그 중에서도 지도 학습을 통해 만들어진 인공지능과 관련이 있습니다. 즉 지도학습으로 만든 인공지능은 무언가를 예측하거나 분류할 수 있습니다. 예측과 분류가 무엇인지, 각각 어떤 상황에 사용될 수 있는지에 대해 자세히 알아봅시다.


1. 예측

인공지능을 활용한 예측이란, 데이터의 값을 분석하여 주어진 값에 대한 결과값(수치)을 예측하는 것을 말합니다. 이때 예측하고자 하는 결과는 특정 수치, 즉 숫자입니다. 인공지능으로 무언가를 예측하는 문제로는 학생들의 과거 성적 데이터를 바탕으로 향후 시험에서의 성적을 예측하거나, 집의 면적, 건설 날짜, 지하철역까지의 거리 등을 분석하여 집값을 예측하는 것 등이 있습니다.

1-1. 목적에 필요한 데이터 구상하기

데이터를 통해 무언가를 예측하기 위해서는 예측에 필요한 적절한 데이터를 준비하는 것이 중요합니다. 국어 시험 점수를 가지고 수학 점수를 예측하려고 한다면, 점수를 제대로 예측하기 어려울 것입니다. 여러분이 예측 하고 싶은 것을 한번 생각해보고, 그것을 예측하기 위해서는 어떤 데이터가 필요한지에 대해 구상해봅시다. 

 

Q. 무엇을 예측하고 싶나요? (예: 올해 추석 때 사과 한 박스의 가격)

Q. 예측을 하기 위해서는 어떤 데이터가 필요할까요? (예: 작년 추석 때 사과 한 박스의 가격, 올해 사과 수확량 등)

1-2. 선을 그어 예측하기

데이터를 통해 예측하는 방법의 대표적인 방법은 선을 그어 예측하는 것입니다. 이 방법은 서로 관계가 있는 두 가지 항목의 데이터를 이용하여, 둘 사이의 관계를 가장 잘 나타내는 선을 하나 찾는 것이라고 할 수 있습니다. 수면 시간과 성적, 신발 사이즈와 키, 몸무게와 키 등의 데이터를 이용하여 데이터 간의 관계를 나타내는 선을 찾은 뒤, 찾아낸 예측 선을 이용하여 새로운 데이터를 예측할 수 있습니다. 활동을 통해 좀 더 자세히 알아봅시다.


Q. 친구들의 신발 사이즈와 키를 조사하여 아래 표를 채워봅시다.


 

Q. 친구들의 정보를 아래 그래프에 표시해봅시다.

 


Q. 신발 사이즈와 키 사이의 관계가 나타나도록 실을 그래프 위에 붙여봅시다. 실을 이리저리 움직이며 데이터의 관계를 가장 잘 설명하는 위치로 실을 고정합니다. 실을 붙일 때는 최대한 팽팽히 당겨 실이 곡선이 아닌 직선이 되도록 주의합니다.
Q. 여러분이 붙인 실은 신발 사이즈와 키 사이의 관계를 예측하는 선입니다. 신발 사이즈가 240인 학생의 키는 몇 cm일지 예측해봅시다.

2. 분류

분류란 어떤 대상이 두 개, 또는 그 이상의 그룹 중에 어떤 그룹에 해당되는지를 판단하여 구분하는 것을 의미 합니다. 분류는 두 종류의 대상을 구분하는 이중 분류(Binary Classification)와 세 종류 이상의 대상을 분류하는 다중 분류(Multi-class Classifiaction)로 나뉩니다. 예를 들어 남자와 여자를 구분하는 문제는 이중 분류에 해당하고, 고양이와 강아지, 앵무새, 토끼를 구분하는 문제는 다중 분류의 문제에 해당합니다.

앞에서 살펴본 클린봇 역시 악성 댓글을 구분하는 분류 사례에 해당합니다. 이 외에 분류를 활용한 예시로는 스팸 메일 분류, 자율주행자동차의 사물을 분류하고 판단하는 이미지 감지 기능 등이 있습니다. 

2-1. 의사결정트리

의사결정트리는 분류를 할 수 있는 다양한 방법들 중 하나로, 특정 기준 또는 질문에 따라 다섯 고개 놀이처럼 ‘예’ 또는 ‘아니오’로 답할 수 있는 질문을 이어가며 학습하는 방법입니다.

 

위 그림은 의사결정트리를 사용하여 매, 펭귄, 돌고래, 곰을 구분하는 예시를 보여주고 있습니다. 매와 펭귄은 날개가 있고, 돌고래와 곰은 날개가 없습니다. 따라서 ‘날개가 있나요?’라는 질문을 통해 매/펭귄과 돌고래/곰으로 먼저 나눌 수 있습니다. 그 다음으로 ‘날 수 있나요?’ 라는 질문을 통해 매와 펭귄을 다시 구분하고, ‘지느러미가 있나요?’라는 질문으로 돌고래와 곰을 구분하면 모든 대상을 분류할 수 있게 됩니다.

전체적인 모양이 나무를 뒤집어 높은 것과 비슷하여 이름 붙여진 의사결정트리는 어떤 대상을 분류하거나 예측 하는 데 모두 사용할 수 있습니다.

2-2. 의사결정트리로 다중 분류 문제 해결하기

의사결정트리를 이용하여 다중 분류 문제를 해결해봅시다.


Q. 분류하고자 하는 대상은 무엇인가요?

Q. 대상을 분류하는 데 필요한 기준들을 생각해봅시다.

Q. ‘인공지능’과 관련하여 배운 키워드를 생각나는 대로 적어보세요.

Q. 의사결정트리를 이용하여 대상을 분류해봅시다.