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

[실습하기] 인공지능 클린봇 프로그램 만들기(1)

  엔트리로 구현하기

지금부터 엔트리를 사용하여 클린봇 프로그램을 만들어 보겠습니다.


[STEP 1] 텍스트 분류 모델과 클래스의 이름을 정하고, 각 클래스에 텍스트 데이터 작성하기

 

1) 엔트리 공유 주소 http://naver.me/5HvHbvVG 에 접속하여, 코드보기를 클릭합니다. 

 


2) ‘인공지능’ 블록 꾸러미에서 ‘AI블록 불러 오기’를 클릭합니다.



3) ‘텍스트’를 선택합니다.

 


4) 새로운 모델의 이름을 ‘댓글 분류’라고 입력하고, 클래스 1의 이름을 ‘선한 댓글’, 클래스 2의 이름을 ‘악성 댓글’로 입력합니다.



5) ‘선한 댓글’ 클래스에 들어갈 텍스트 데이터를 작성합니다. 각각의 데이터는 쉼표로 구분하며, 데이터를 많이 입력할수록 댓글을 분류하는 정확도가 높아집니다.


 

6) 마찬가지 방법으로 ‘악성 댓글’ 클래스에 들어갈 텍스트 데이터를 작성합니다.

 


[STEP 2] 질문에 대한 사용자의 대답을 댓글로 받도록 '소피' 오브젝트 조립하기

 

7) 먼저 ‘소피’ 오브젝트에 들어갈 블록부터 조립을 하겠습니다. 시작하기 버튼을 클릭했을 때, 대답 변수의 값은 화면에 보이지 않도록 ‘자료’ 블록 꾸러미에서 ‘대답 숨기기’ 블록을 가져옵니다.


8) 프로그램이 시작되면 소피가 ‘여러분 안녕!’이라고 말하도록 아래와 같이 블록을 조립합니다.


9) 소피가 ‘나에 대해 어떻게 생각해?’라고 묻고 대답을 기다리도록, ‘자료’ 블록 꾸러미에서 ‘안녕을 묻고 대답 기다리기’ 블록을 가져와 아래와 같이 수정합니다.

 

10) 사용자의 대답을 변수 ‘댓글 내용:’에 저장합니다. ‘자료’의 ‘~를 ~으로 정하기’와 ‘대답’ 블록을 가져와 아래와 같이 조립합니다.




[STEP 3] 사용자의 댓글이 선한지 나쁜지 판단하여 적절한 대답하도록 만들기

 

11) 사용자의 대답을 앞서 학습시킨 텍스트 모델에 인식 시켜보겠습니다. ‘인공지능’ 블록 꾸러미에서 ‘~을 학습한 모델로 인식하기’ 블록을 가져와 아래와 같이 ‘대답’ 블록과 함께 조립합니다.


 

12) 인식 결과에 소피의 반응이 달라지도록 하기 위해, ‘만일 ~라면, 아니면~’ 블록을 가져와 조립합니다.



 

13) 인식 결과가 ‘선한 댓글’이면, 소피의 모양을 ‘소피_신남’으로 바꾸고 ‘고마워!’를 2초 동안 말하도록 만들겠습니다. 먼저 ‘인공지능’의 ‘인식 결과가 선한 댓글인가?’ 블록을 가져와 ‘만일 ~라면 아니면~’의 조건 부분에 끼웁니다. ‘만일 ~라면’의 실행 부분에는 아래와 같이 ‘생김새’의 블록들을 활용하여 블록을 조립합니다.


 

14) 이번에는 인식 결과가 ‘선한 댓글’이 아닌 경우의 실행 블록을 조립해보겠습니다. ‘만일 ~라면, 아니면~’ 중 ‘아니면~’의 실행 부분에 아래와 같이 ‘생김새’의 블록을 활용하여 블록을 조립합니다.



[STEP 4] 사용자의 댓글이 악성 댓글인 경우, 댓글을 차단하도록 만들기

 

15) 이어서 ‘아니면~’의 실행 부분의 블록을 추가하겠습니다. 인식 결과가 ‘선한 댓글’이 아니면, 즉 ‘악성 댓글’이라면 클린봇이 작동해야 합니다. 따라서 클린봇 버튼에게 ‘클린봇_ON’ 신호를 보내고 1초를 기다립니다. 1초 뒤, 댓글 내용을 ‘*클린봇이 악성 댓글을 차단하였습니다.*’로 변경하여 댓글이 차단된 것을 보여줍니다.


 

16) 마지막으로 ‘클린봇 버튼’ 오브젝트에 블록을 조립하겠습니다. 클린봇 버튼은 ‘클린봇_ON’ 신호를 받으면 ‘클린봇 버튼_켜짐’ 모양으로 바뀝니다.



17) ‘시작하기’ 버튼을 클릭하여 프로그램이 잘 동작하는지 확인합니다.




 프로그램에 대해 이야기해봅시다.
Q. 이번 시간에 만든 작품은 엔트리의 어떤 인공지능 관련 기능을 사용하였나요?

Q. 작품을 만들면서 어떤 생각이 들었나요?