새로운 Watson Conversation 활용 튜토리얼을 소개합니다. 지난 IBM DevCon 행사에서 진행했던 내용인데요, 그날 행사에 참석하신 분들이 비교적 수월하게 진행하셨으니 그냥 천천히 읽어내려가며 진행하셔도 어렵지 않으실겁니다. 이 앱은 “오늘 뭐하지?” 라는 단순한 질문에 대한 아이디어에서 시작하여 개발을 했는데요, Watson Conversation 뿐만 아니라 Natural language Understanding 및 The Weather Company Data를 활용하여 사용자의 최근 액티비티, 날씨 정보 등을 기반으로 사용자에게 오늘 할 수 있는 활동을 추천합니다. 이 튜토리얼은 한국어가이드와 한국어 챗봇 workspace파일을 포함합니다. Github Readme로 시작하실 수 있습니다 :-)

이 튜토리얼을 마치면 다음을 이해할 수 있습니다.
– Node.js 기반의 챗봇 애플리케이션 개발
– IBM Watson Conversation을 활용하여 챗봇 빌드
– IBM Watson Natural Language Undersatanding 및 The Weather Company Data 서비스를 애플리케이션에서 활용
– 구글 캘린더 API 및 tinyurl의 Url Shorten 기능을 애플리케이션에서 사용

Flow

1. 사용자는 다양한 인터페이스를 통해 캘린더봇을 사용합니다. 실습 과정에서는 웹 애플리케이션 및 카카오톡 메신저 플랫폼을 사용합니다.
2. 모든 인터페이스는 사용자와 애플리케이션 사이의 매개체 역할을 합니다. 사용자의 메세지를 애플리케이션에 전달하고 응답을 다시 사용자에게 전달합니다.애플리케이션은 Node.js 런타임 기반으로 개발되었습니다. 애플리케이션은 필요한 기능을 수행하기 위해 다른 서비스들을 호출하거나 자체적인 로직을 수행합니다.
3. 애플리케이션은 사용자가 메세지를 전송할 때마다 Watson Conversation 서비스를 호출하여 이 다음에 수행할 로직 및 응답 메세지를 추출합니다.
4. 애플리케이션은 필요에 따라 Natural Language Understanding 서비스를 활용하여 텍스트로부터 메타데이터를 추출합니다. 이 애플리케이션은 사용자에게 오늘 하면 좋은 액티비티를 추천하기 위해 사용자의 과거 캘린더 데이터를 조회 및 분석합니다.
5. 날씨 데이터를 얻기 위해 The Weather Company Data를 활용합니다. 사용자에게 액티비티를 추천할 때에 날씨의 영향을 받는 액티비티는 제외하기 위해 날씨 데이터를 활용합니다.
6. 사용자의 문맥 정보 및 로그를 클라우던트에 저장합니다.
7. 사용자의 일정을 조회 및 생성하기 위해 Google Calendar API를 사용합니다.
8. 때로는 Google Calendar API를 사용할 때에 너무 긴 URL을 사용자에게 보여줄 필요가 있습니다. 이 경우를 대비해 TinyURL을 사용하여 짧은 URL을 사용하여 사용자에게 보여줍니다.

실습

실습 과정은 다음과 같습니다. 자세한 내용 및 순서는 Github Readme를 참조하십시오.

1. 사전 준비 사항
2. 애플리케이션을 IBM Cloud에 바로 배포하거나 로컬에서 실행
3. Conversation의 워크스페이스를 설정하고 애플리케이션에 필요한 환경 변수를 수정
4. Watson Conversation Tool 활용한 실습
5. 챗봇을 카카오톡과 연동

IBM Cloud의 Standard 계정으로는 The weather company data 서비스를 생성할 수 없습니다. 코드는 기본적으로 해당 서비스를 bypass하도록 되어 있습니다. 날씨 데이터를 활용하려면 bypass하지 않기 위한 가이드(추후 게시 예정)를 따르십시오.

토론 참가

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.