1. 학습
  2. /
  3. 강의
  4. /
  5. Python으로 챗봇 만들기

Connected

연습 문제

양식 채우기

봇이 사용자가 주문을 진행할 때처럼 여러 단계를 차근차근 안내하도록 만들고 싶을 때가 자주 있어요.

이번 연습에서는 사용자가 커피를 주문할 수 있는 봇을 만들어 보겠습니다. 커피 종류는 Colombian과 Kenyan 두 가지 중에서 고를 수 있어요. 사용자가 예기치 않은 입력을 하면, 대화 흐름의 위치에 따라 봇이 이를 다르게 처리합니다.

여기서의 역할은 주어진 의도와 응답 메시지에 따라 적절한 현재 상태와 다음 상태를 식별하는 것입니다. 예를 들어 의도가 "order"이면 상태가 INIT에서 CHOOSE_COFFEE로 바뀝니다.

함수 send_message(policy, state, message)는 이미 정의되어 있습니다. 이 함수는 정책, 현재 상태, 메시지를 인자로 받아 새로운 상태를 반환합니다. 추가로, 영상에서 Alan이 설명한 것과 유사한 interpret(message) 함수도 미리 정의되어 있어요.

지침

100 XP
  • 세 가지 상태를 정의하세요: 값이 0인 INIT, 값이 1인 CHOOSE_COFFEE, 값이 2인 ORDERED.
  • 키와 값이 튜플인 policy 딕셔너리를 만드세요. 각 키는 상태와 의도를 담은 튜플이고, 각 값은 다음 상태와 응답 메시지를 담은 튜플입니다. 메시지는 이미 채워져 있습니다. 여러분은 상태를 채우면 됩니다.
  • 변수 state를 INIT 값으로 초기화하세요.
  • 각 메시지에 대해 send_message() 함수를 호출하고, policy, state, message를 전달하세요.