1. सीखें
  2. /
  3. पाठ्यक्रम
  4. /
  5. Python으로 챗봇 만들기

Connected

अभ्यास

ELIZA II: 핵심 구절 추출하기

ELIZA의 정말 영리한 점은, 사용자가 말한 구절을 가끔 응답에 포함하여 마치 프로그램이 사용자의 말을 이해한 듯이 ‘보이게’ 한다는 데 있어요.

이번 연습 문제에서는 re.search()를 사용해 메시지를 몇 가지 일반적인 패턴과 매칭하고, 해당 구절을 추출해 보겠습니다. 이미 rules라는 딕셔너리가 정의되어 있으며, 다음 패턴에 매칭돼요:

  • "do you think (.*)"
  • "do you remember (.*)"
  • "I want (.*)"
  • "if (.*)"

연습을 시작하기 전에 Shell에서 이 딕셔너리를 확인해 보세요.

निर्देश

100 XP
  • pattern과 responses를 반복 변수로 하여 .items() 메서드를 사용해 rules 딕셔너리를 순회하세요.
  • pattern과 message를 사용해 re.search()로 match 객체를 만드세요.
  • 매칭이 있다면, random.choice()로 response를 하나 선택하세요.
  • 그 response에 '{0}'가 포함되어 있다면, match 객체의 .group() 메서드에 인덱스 1을 사용해 구절을 가져오세요.