Search

Dialogflow를 이용한 인공지능 챗봇 만들기 실습

생성일
2025/04/12 04:18
태그
푸딩쌤
Dialogflow
인공지능교육
안녕하세요. 푸딩 선생님입니다.
2022 개정 교육과정과 고교학점제 시대를 살아가는 모든 선생님, 잘 지내고 계신가요?
저는 이번 교육과정에서 2015 개정 교육과정에 진행했던 '챗봇 만들기 수업'을 기반으로 한층 발전된 프로젝트 중심 수업을 구성하여 운영하고 있어 그 내용을 여러분께 소개해 드리고자 합니다. 고교학점제 도입으로 학생의 선택과 진로에 맞춘 수업이 더욱 강조되는 지금, 챗봇 프로젝트는 인공지능 기초 수업에서 학생들의 흥미를 끌고, 실제 문제 해결 역량을 기를 수 있는 좋은 방법이었습니다. 특히, Dialogflow 플랫폼을 활용한 챗봇 제작 수업은 구글 계정만으로 기계학습의 개념을 자연스럽게 이해하고, 자료를 수집하고 학습과 성능 평가까지 이어지는 흐름을 통해 경험할 수 있다는 점에서 교육적 효과가 매우 높았습니다.
이 글에서는 그동안 제가 진행해 온 수업의 흐름과 구성, 그리고 학생들의 반응과 수업 결과를 공유해 드리며, 선생님들의 수업에 조금이나마 도움이 되고자 합니다. 고교학점제 상황에서 프로젝트형 인공지능 수업을 고민하시는 분들이 계신다면, 이 사례가 참고되었으면 좋겠습니다.

1. 프로젝트 평가 기준(2022 개정 교육과정)

[12인기02-01] 기계학습을 적용할 문제를 정의하고, 문제 해결에 필요한 데이터를 선정하여 수집한다.
[12인기02-06] 딥러닝을 활용하여 실생활 및 다양한 학문 분야의 문제를 해결하고, 성능을 평가한다.
[12인기02-01]과 [12인기02-06] 성취기준은 챗봇 프로젝트의 전개 과정과 밀접하게 맞물려 있어 적합하다고 판단했습니다.

2. Dialogflow에서 자기소개 및 학교 소개 챗봇 에이전트 제작 만들어 보기

‘자기소개/학교 소개 에이전트 만들기’ 활동은 Dialogflow의 기본 기능을 익히고, 텍스트 데이터를 어떻게 훈련해 챗봇이 응답을 생성하는지 직접 체험해 보는 데 목적이 있습니다.
이 활동을 통해 학생들은 챗봇의 작동 원리를 구조적으로 이해하고 인공지능이 어떻게 의도를 인식하고 응답을 생성하는지를 구체적인 실습으 자연스럽게 학습할 수 있었습니다.

<Dialogflow에 접속하기>

Dialogflow는 기본 인터페이스가 영어로 제공되기 때문에, 한국어 번역 기능의 품질이 중요한 요소가 됩니다. 실제 수업을 진행해 보니 Edge 브라우저보다 Chrome의 번역 기능이 더 정확하고 자연스러워, 학생들이 메뉴를 이해하고 기능을 익히는 데 있어 Chrome을 사용하는 것이 더 효과적이었습니다.
2.
학생 계정으로 로그인
학생 계정으로 로그인하게 한 이유는, 챗봇 제작 과정과 결과물이 개인 계정에 저장되어야 이후 학습 내용 확인 및 평가가 용이하기 때문입니다.

<자기소개 및 학교 소개 챗봇 에이전트>

1. 챗봇 에이전트 만드는 방법

Dialogflow Essentials 로고 아래에 있는 ‘Create Agent’ 버튼을 클릭합니다.
에이전트의 제목은 특수문자, 한글, 영어 모두 사용할 수 있지만, 공백은 사용할 수 없습니다.
기본 언어는 ‘한국어(Korean)’로 설정하고, 시간대(Time Zone)는 ‘Asia’로 그대로 유지합니다.
그 후 의도 생성 버튼을 클릭합니다.

2. 기본 폴백 인텐트와 기본 환영 의도

기본 환영 의도를 클릭해서 들어가서 보면 응답을 수정할 수 있습니다.
기본 환영 의도(intent)
사용자가 처음 챗봇에 접속해서 인사를 했을 때 자동으로 실행되는 인텐트입니다.
훈련 문구: 챗봇이 다양한 표현의 사용자 질문을 이해할 수 있도록 학습시키는 입력 예시
훈련 문구가 많을수록 챗봇은 더 다양한 사용자 표현을 학습하게 되어, 테스트 시 인식률이 높아질 가능성이 있다는 점을 강조했습니다.
응답은 질문에 대해 챗봇이 출력할 답변을 설정하는 영역입니다. Dialogflow에서는 여러 개의 응답을 등록할 수 있으며, 챗봇은 그중 하나를 무작위로 선택하게 되어 있습니다.
이후 아래 의도 생성 버튼을 클릭하고
챗봇이 잘 작동하는지 확인하려면, 오른쪽 테스트 창에 방금 등록한 훈련 문구 중 하나를 입력해 보세요.
올바른 응답이 출력되면, 인텐트와 응답 설정이 제대로 연결되었음을 의미합니다.
기본 폴백 인텐트
기본 폴백 인텐트는 사용자의 입력을 챗봇이 이해하지 못했을 때 작동하는 것을 의미합니다.
클릭해서 인텐트에 들어가 보면, 훈련 문구는 꼭 입력하지 않아도 되며,
중요한 것은 사용자가 모르는 단어를 입력했을 때 챗봇이 어떻게 응답할지를 설정하면 됩니다.
의도를 만든 뒤 아무 문장이나 입력해 보면, 챗봇이 이해하지 못할 때 사용자가 설정한 응답이 잘 작동하는지 확인할 수 있습니다.

3. 자기소개&학교소개 인텐트 만들기

의도를 추가하고 자기소개&학교소개 제목을 설정해 줍니다.
사용자가 입력한 문장에서 ‘학교’나 ‘자기’와 같은 단어를 자동으로 인식하여 @sys.any 또는 @sys.person 엔터티로 처리하고, “학교 소개해줘”, “자기소개 해 줘”와 같은 다양한 표현을 훈련 문구로 등록함으로써 챗봇이 이를 동일한 의도로 인식하도록 학습시킬 수 있습니다.
이렇게 추출된 엔터티는 응답에서 변수처럼 활용할 수 있어, 예를 들어 "안녕하세요, $any를 소개해 드릴게요."와 같이 보다 개인화된 대화를 구성하는 데 사용할 수 있습니다.
의도 생성 후 챗봇을 작성해 보면 실행되는 것을 알 수 있습니다.
이 이외에도 챗봇이 이해하지 못할 때 사용자가 설정한 응답이 잘 작동하는지 확인할 수 있습니다.
후속 조치(Follow-up)로 ‘폴백(Fallback)’ 인텐트를 추가하면, 사용자가 ‘자기소개’나 ‘학교’ 외의 단어를 입력했을 때 챗봇이 해당 내용을 이해하지 못하더라도, 다시 원하는 정보를 입력하도록 유도하는 안내 메시지를 제공할 수 있습니다.
예를 들어, “죄송해요, 이해하지 못했어요. 자기소개나 학교 중에서 선택해 입력해 주세요.”와 같은 문장을 설정해 사용자의 입력을 올바른 흐름으로 유도하는 역할을 하게 됩니다.
만약 자기소개 및 학교 소개 인텐트에서 더 질문이 있냐? 라고 응답을 끝냈다면 후속 조치로 예/아니요를 활용할 수 있습니다.
후속 조치 의도 추가를 클릭하면 아래와 같이 추가할 수 있는데 예를 선택할 경우 이미 훈련 문구가 작성되어 있습니다.
이럴 경우 챗봇 응답을 작성할 수 있으며, 아니요는 기본적으로 아래와 같은 문구가 미리 학습되어 있습니다.
챗봇이 응답한 후 대화의 끝으로 설정할 수 있습니다.

4. 실제 챗봇으로 구현하기

통합-Dialogflow 메신저를 클릭하면 지금까지 구현한 챗봇을 실제 챗봇처럼 대화해볼 수 있습니다.
Dialogflow의 기본 기능(인텐트 생성, 훈련 문구 입력, 응답 설정, 폴백 처리 등)을 충분히 실습한 뒤, 학생들이 자율적으로 주제를 정해 자신만의 챗봇을 제작하는 프로젝트를 수행하였고(챗봇에 필요한 자료 수집, 구조화, 챗봇 구현화 등), 이를 과정 중심 평가로 연계하여 학습의 깊이를 확인하였습니다.
본 실습 활동이 고교학점제 운영 및 인공지능 교육을 고민하는 선생님들께 작게나마 실질적인 도움이 되기를 바라며, 각자의 교육 현장에서 창의적이고 의미 있는 수업으로 확장되기를 기대합니다.