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

Connected

연습 문제

정규식으로 의도 분류하기 I

키워드 존재 여부를 확인하는, 아주 간단한 방식으로 의도(intent)를 인식하는 방법부터 구현해 볼게요.

사전에 keywords가 미리 정의되어 있어요. 키로는 "greet", "goodbye", "thankyou" 같은 의도가 들어 있고, 값으로는 해당 의도에 대한 키워드 목록이 들어 있어요. 예를 들어 keywords["greet"]는 "["hello","hi","hey"]로 설정되어 있어요.

또한 두 번째 사전 responses도 정의되어 있는데, 각 의도에 대해 봇이 어떻게 응답해야 하는지를 나타냅니다. 키 "default"에는 기본 응답이 들어 있어요.

send_message() 함수와 봇/사용자 템플릿도 이미 정의되어 있어요. 이번 연습 문제의 목표는 의도를 키로, 정규식 객체를 값으로 갖는 사전(dictionary)을 만드는 것입니다.

지침

100 XP
  • 반복 변수로 intent와 keys를 사용하여 keywords 사전을 순회하세요.
  • 키워드 중 하나 이상을 매칭하는 정규 표현식을 만들기 위해 '|'.join(keys)를 사용하고, 이를 re.compile()에 전달해 패턴 객체로 컴파일하세요. 결과는 patterns 사전에 값으로 저장합니다.