6. ASR+NLU
음성이해
원 클릭 배포
구축(구성)
비즈니스 로직
AWS Lambda
와 연동
확장
완전 관리형
서비스
보안
전송/저장 데이터의
암호화
분석
모니터링 및 개선
TTS (Text to Speech)
Amazon Polly
연동
대화 관리
대화의
컨텍스트 관리
통합 솔루션
End to End
7. Amazon Lex – 특징 및 기능
텍스트 및 음성 이해 : Amazon Alexa 와 같은 기술 기반
엔터프라이즈 SaaS 커넥터 제공: 엔터프라이즈 시스템 연동
대화형 서비스 구축을 위한 직관적인 도구 제공
한번의 Build로 다양한 플랫폼에 적용
지속적인 학습 : 봇을 모니터링 하고 개선
8. 텍스트 및 음성 언어 이해
음성인식 자연어 이해
Alexa와 같은 딥 러닝 기술기반 서비스
9. 멀티 플랫폼
모바일 메시징 플랫폼 웹(Web) IoT
SDKs: iOS & Android
Mobile Hub
Facebook, Twilio
SMS and Slack
SDKs: Java, JavaScript,
Python, CLI, .NET, Ruby
on Rails, PHP, Go, and
CPP
Integrated with
AWS IoT via AWS
Lambda
한번의 빌드로 다양한 플랫폼에서 사용
10. Amazon Lex – 적용 기술 및 서비스
Amazon Lex
Automatic Speech
Recognition (ASR)
Natural Language
Understanding (NLU)
Amazon Alexa 와 같은 기술 적용
Amazon Cognito Amazon CloudWatch
AWS 서비스들
동작
AWS Lambda
인증 및 가시성
Speech API 언어 API
수행
사용자
개발자
콘솔
SDK
Intents,
Slots,
Prompts,
Utterances
입력 :
음성
또는 텍스트
멀티 플랫폼 클라이언트:
Mobile, IoT, Web,
Chat
API
출력: 음성 (Amazon
Polly TTS) 또는 텍스트
11. Amazon Polly
텍스트를 실제같은 음성으로 변환해주는 서비스
24개의 언어, 47가지의 음성 지원
저 지연 응답으로 실시간 어플리케이션에 적용가능
생성된 음성데이터를 저장, 재생, 배포 가능
12. Amazon Polly : 품질
Natural sounding speech
TTS의 결과가 얼마나 인간의 음성에 가까운지를 나타내는 객관적 측정지표
정확한 텍스트 처리
일반적인 텍스트 형식, 축약, 약어, 숫자표현, 단위 등에 대한 올바른 처리
Today in Las Vegas, NV it's 90°F.
"We live for the music", live from the Madison Square Garden.
음성이 얼마나 이해하기 쉬운지를 측정
”Peter Piper picked a peck of pickled peppers.”
14. 버전관리 및 별칭 지원
v1 v2 v3 latest
v1 dev
v2 stage
v3 prod
별칭버저닝
Intents, Slots, Bots 지원
다수의 개발자들이 동시에 사용하는 환경 고려
이전 버전으로 롤백 지원
플랫폼별로 개별 별칭 설정
개발, 스테이징, 프로덕션에 따라 다른 스택 구성
개별 별칭을 통해 다른 사용자 그룹을 타겟팅
18. Mobile Hub의 Connector를 통해 Ent App과 연동
모바일 앱
Mobile Hub
SaaS 커넥터
Amazon API AWS
Gateway Lambda
Amazon Lex
3: REST 형식의
응답을 자연어로
변환
Amazon API AWS
Gateway Lambda
2: SaaS 어플리케이션
호출 또는 다른 비즈니스
어플리케이션
방화벽
Biz어플
리케이션
사용자 입력
1: 사용자 입력
이해(해석)
Mobile Hub
커스텀 커넥터
19. 정보봇 서비스 - Informational Bots
모든 고객의 매일 일상적 질의에 대한 챗봇 서비스
어플리케이션 봇 - Application Bots
모바일 어플리케이션에 강력한 인터페이스 연계
• 뉴스 업데이트
• 날씨 정보
• 스포츠 경기 스코어
• 티켓예약
• 식사 주문
• 은행 계좌 관리 등
기업 생산성 봇 – Enterprise Productivity Bots
기업의 업무에서 생산성 향상과 업무 과정상에 지원
• 매출 확인
• 마케팅 상황/결과
• 실시간 재고 파악
IoT 봇 – Internet of Things (IoT) Bots
디바이스 상호 자굥에서 인터페이스를 통한 대화(컨트롤)가능
• 웨어러블
• 원격 어플리케이션
• 자동화
Amazon Lex – 사용 예시
20. 높은 수준의 텍스트와 음성 인식 및 이해
AWS플랫폼과 완벽한 통합 및 연계
유연한 구성/배포, 탄력적 서비스
도입 및 구성, 활용이 용이
비용 효율적이고 최적화
Amazon Lex – 장점 및 기대효과
21. Amazon Lex 구성 요소
Utterances
Intent를 동작시키는 문장,
구문
BookHotel
Intents
사용자가 가진 특정 의도에
따른 동작을 정의
Slots
Intent의 수행을 위해 필요한
정보들
Fulfillment
Intent 를 실제 수행하는 방법
22. 예시 : “Book a hotel” 을 처리하는 과정
“Book a Hotel in
NYC”
Hotel Booking
City
Check In
Check Out
23. 예시 : “Book a hotel” 을 처리하는 과정
Book Hotel
NYC
“Book a Hotel in
NYC”
Automatic Speech
Recognition
Hotel Booking
City
Check In
Check Out
a
in
24. 예시 : “Book a hotel” 을 처리하는 과정
Book Hotel
NYC
“Book a Hotel in
NYC”
Automatic Speech
Recognition
Hotel Booking
New York City
Natural Language
Understanding
Hotel Booking
City New York City
Check In
Check Out
a
in
25. 예시 : “Book a hotel” 을 처리하는 과정
Book Hotel
NYC
“Book a Hotel in
NYC”
Automatic Speech
Recognition
Hotel Booking
New York City
Natural Language
Understanding
Hotel Booking
City New York City
Check In
Check Out
“Can I go ahead
with the booking?
a
in
26. 예시 : “Book a hotel” 을 처리하는 과정
Book Hotel
NYC
“Book a Hotel in
NYC”
Automatic Speech
Recognition
Hotel Booking
New York City
Natural Language
Understanding
Intent/Slot
Model
UtterancesHotel Booking
City New York City
Check In April 19th
Check Out April 21st
a
in
27. 예시 : “Book a hotel” 을 처리하는 과정
Book Hotel
NYC
“Book a Hotel in
NYC”
Automatic Speech
Recognition
Hotel Booking
New York City
Natural Language
Understanding
Intent/Slot
Model
UtterancesHotel Booking
City New York City
Check In April 19th
Check Out April 21st
“Can I go ahead
with the booking?
a
in
28. 예시 : “Book a hotel” 을 처리하는 과정
Book Hotel
NYC
“Book a Hotel in
NYC”
Automatic Speech
Recognition
Hotel Booking
New York City
Natural Language
Understanding
Intent/Slot
Model
UtterancesHotel Booking
City New York City
Check In April 19th
Check Out April 21st
“Your hotel is booked for
April 19th”
Amazon Polly
Confirmation: “Your hotel
is booked for Nov 30th”
“Can I go ahead
with the booking?
a
in
29. Slot 도출 (필수 정보 파악)
Check In
4/19/2017
City
New York
City
I would like to book a hotel
Sure, which city will you be
traveling to?
New York City
What date do you want to
check in?
April 19th
30. 대화의 문맥 (흐름) 유지
Slot Values Intents Prompts ConfirmationsSession
Attributes
Slot Value
Slot Value
대화
Yes/No
Session
Attributes
Intent
Prompt
Lex는 대화 전체에 데이터를 저장하여 컨텍스트를 유지합니다.
Confirm
31. 동적인 대화 흐름 (분기, 연결)
대화세션 속성
두번째 Intent
Intent 변경
첫번째 Intent
세션 값(Value)
대화
Intent 연결
Takeout
Dine In
Dine In or
Take out?
Anything
else
today?
Book a Car
32. 대화 관리
I would like to book a hotel
Sure, which city will you be
traveling to?
New York City
What date do you want to
check in?
Tomorrow
… And for how many nights
is this for?
City
간단한, 선언형식의 대화 형식
Check-In Date
Check-Out Date
Slots
Which city will you be travelling to?
What date do you want to check in?
How many nights is this for?
Prompts
주고 받는(Multi-turn) 대화 구성
콘솔에서 손쉽게 구성
33. 맞춤형 대화
I would like to book a hotel
Would you prefer to stay in
Downtown this time as
well?
Yes
What date do you want to
check in?
April 19th
Sorry no availability. Would
a different location work?
사용자의 환경 설정을
기반으로한 맞춤형 대화
필요한 경우 사용자 입력값의
유효성 검사후, 적절한 메시지 출력
34. 에러 처리
I want to …. {garbled} …..
Sorry can you please repeat
that?
I am having trouble understanding
Can you please say that again?
Sorry I am not able to assist
you at this time
사용자로 하여금 반복 요청
매번 다른 표현 사용
일정 시도 이후 대화 종료
35. Rich 메시지 포멧
I would like to rent a car
Sure. What type of car are
you looking for?
Compact
메시징 플랫폼에 알맞은 포멧 제공
복수의 카드 지원
프리뷰 기능
콘솔에서 테스트 가능
36. 처리(Fulfillment)
AWS Lambda 연동 Client로 전달
사용자 입력에서 Intent와 Slot값
도출을 위해 분석됨
결과값은 추가 처리를 위해
클라이언트로 전달
Intents 와 slots 이 AWS
Lambda에 구성된 비즈니스
로직으로 전달되어 동작수행
37. 저장, 빌드 및 퍼블리싱
저장 빌드
현재 까지의 Bot구성
내역을 서버에 저장
현재 구성된 Bot을
빌드하고, 버전 부여
퍼블리시
퍼블리시를 통해 버전 및
별칭 생성후 Client에게 전달
테스트
콘솔에서 제공되는 채팅창을
통해 바로 테스트 가능
38. 프로그래밍 방식으로 Bot 구성
SDK를 통한 빌드, 테스트 및 배포
Utterances 추가 Slot Values 추가
SDKs: Java, JavaScript, Python, CLI,
.NET, Ruby on Rails, PHP, Go, and CPP
42. Chatbot 의 역할결정
역할(용도)에 따른
시나리오구성
시나리오 작성
(Coversation flow)
시나리오 정리
및 상세화
Intent/Slot 구성
(함수명/파라미터 정의)
역할설정 및
시나리오 구성
Utterance
(함수 호출을위한 문장)
Fulfilment
(요청 수행용 Lambda구성)
Intent/Slot 구성
(함수명/파라미터 정의)
빌드/테스트 퍼블리시
MobleHub
(모바일 앱 연동)
SNS 서비스 연동
(Facebook/Slack/Twilio)
배포
Lex기반 chat bot 구성 흐름도