aws lambda를 활용한 amazon alexa skills 개발 방법 (윤석찬) - startup deepdive conference

58
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 2HD =ITJLI를 활용한 Amazon Alexa Skills 개발 방법 윤석찬 아마존웹서비스코리아, 테크에반젤리스트

Upload: amazon-web-services-korea

Post on 29-Jan-2018

4.294 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

2HD =ITJLI를 활용한Amazon Alexa Skills 개발 방법

윤석찬아마존웹서비스코리아, 테크에반젤리스트

Page 2: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference

음성이 미래다!“Advanced voice technology will soon be ubiquitous, as natural and intelligent user interface technology integrates seamlessly into daily life.” – Recode

Page 3: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference
Page 4: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference

Amazon Echo: The 1st Alexa-enabled DeviceAmazon Echo sales up 9X compared to last year, company says in holiday roundup of 2016 winter sold “millions” of Echo devices.

Page 5: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference

다양한 디바이스로 음성 서비스 확대

Page 6: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference
Page 7: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference

10,000+ Skills

Page 8: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference

오늘 살펴볼 내용

• 2SMxI 서비스 g요• 2SMxI DRPSSs KPt 소g• 2HD =ITJLI를

활용한 DRPSS g발• 데모• B&2

Page 9: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

FAQ

Page 10: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference

Q: Amazon Echo가 없습니다 ㅠㅠhttps://echosim.io/

Page 11: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference

Q: Amazon Echo가 없습니다 ㅠㅠ

Do-It-Yourself Echo• CIsWJMrry AP 3• MPKrV D5 4IrL . 83! • FD3 ).0 MPKrVWOVUM• 6xtMrUIS DWMIRMr• MPKrV-FD3 WVwMr KIJSM

https://github.com/alexa/alexa-avs-sample-app/wiki/Raspberry-Pi

Page 12: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference

Q: Alexa Skills는 어디서 볼 수 있나요?https://www.amazon.com/b?ie=UTF8&node=13727921011

Page 13: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference

Q: Alexa Skills는 어디서 볼 수 있나요?

https://play.google.com/store/apps/details?id=com.amazon.dee.apphttps://itunes.apple.com/us/app/amazon-alexa/id944011620

Page 14: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference

Alexa Mobile App

Page 15: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference

Q: Alexa 한글 지원은 언제 되나요?질문을 바y 보세요. 세상은 넓k 할 일은 많습니다.

Page 16: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference

Q: 그럼 Alexa 기반 앱 개발은 쉬운가요?OttW/&&LMvMSVWMrs.ITIzVU.KVT&ISMxI OttW/&&NPtOuJ.KVT&ISMxI

Page 17: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Alexa 음성 서비스 개요

Page 18: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference

Alexa 음성 서비스: 양방향 오픈 API

AlexaVoice

Service (AVS)

AlexaSkills

Kit (ASK)

Page 19: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference

Alexa Skills Kit (ASK)

음성혹은오디오파일로Skill로받은결과전달

응답이모바일앱으로도함께전달하여표시

음성 인식자연어 인식(NLU)음성 합성 (TTS)머신러닝/딥러닝

텍스트로서결과전달

사용자음성요청

Alexa 테스트포맷으로요청전달

AWS Lambda

AWS Cloud

오디오스트리밍이Alexa 서비스로전달

서비스요청및앱실행

ASK 는 Alexa 지원기기에맞춤형음성기반앱을만들수있는 API, 개발도구, 문서및 AWS 클라우드연계서비스를지원합니다.

Page 20: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference

Alexa Voice Service (AVS)

Skills

ASR NLU TTS

Learning

Your Product

AVS 는 여러분이직접 Alexa 지원기기를반들수있도록도와주는서비스로서, 다양한음성인식기기를프로토타입을하거나만들어볼수있습니다.

Page 21: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference

“Alexa, What’s the weather?”

“Speak” Directive

Intent

Recognition Result

Recognition Result

Text/SSML

SpeechPlatform

Skills

Weather

ASR

NLU

TTS

“Recognize” Event

Alexa Voice

User’s Utterance

Alexa Voice

Intent

Wake Word Engine

Speech Capture via Microphone

Play back through Speaker

Alexa Voice Service

Page 22: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Alexa Skill을 만들어 보자!

Page 23: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference

여러분 만의ALEXA SKILLS 만들기Alexa skills 구현을위한두가지:

앱 설정하기 – Amazon Developer Portal

서비스 운영 – 사용자음성응답서비스

Page 24: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference

Amazon Developer 포털 가입 - 무료!

Page 25: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference

GetFactIntentIntent

Alexa Skill 기본 개념

utterance slot value

One more pleaseutterance

Alexa, open MySkillwake word Skill (Invocation) namelaunch

Alexa, ask Anime Facts for a factwake word utterancelaunch Skill (Invocation) name

Page 26: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference

AnswerIntent {value: “one”}slot valueIntent

one is the answerslot value

The answer is oneslot value

oneslot value

Alexa Skill 기본 개념

Page 27: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference

Alexa Skill 기본 개념

FttMrIUKMs :UtMUt DKOMTI

Page 28: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference

Alexa Skill 개발HOSTED SERVICE• AWS Lambda 활용가능• HTTP over SSL/TLS on port 443• 인터넷 접근 가능 필요• 도메인명과 맞는 SSL 인증서 사용 필요

– 개발시에는사설인증서사용가능– 서비스를위해서는정식인증서필요

Page 29: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference

Alexa Skill 개발VOICE SIMULATOR일반 텍스트나 SSML 지원<say-as interpret-as="spell-out">hello</say-as>

SERVICE SIMULATORAWS Lambda 함수 호출 가능

Page 30: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference
Page 31: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference
Page 32: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference
Page 33: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference
Page 34: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference

AWS Lambda란?

높은 확장성 및빠른 서비스 연동

서버 필요 없이코드만 배포

함수 실행 시100ms 단위 과금

서버 없는, 이벤트 처리 방식의 컴퓨팅 서비스2HD =ITJLI 0 클라우드 함수 w반 마이크로서비스

Page 35: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference

AWS Lambda : 동작 원리Bring your own code• ?VLM.Qs, JIvI, AytOVU• JIvI 0 DKISI 4SVQurM 등의

어떠한 JGMw반 언어.• 3rPUN yVur VwU SPJrIrPMs

유연한 호출 경로• 6vMUt w반 호출 옵션 여러

2HD 서비스들m 통합!• C6DE 2A: 호출 e능 2TIzVU

2A: 8ItMwIy와 연동!

단순한 자원 모델• ().M3부터 (.,83x지 -+M3

단위로 메모리 설정• 할당된 메모리에 비례하여

4AF 및 네트웍 자원 할당• 실제 사용량 내역 보k

효과적인 권한 통제• 2HD :2M :LMUtPty IUL

2KKMss MIUINMTMUt! CVSM을사용한 실행 s한 설정

• 2HD 이벤트 소스에 대한자원 정책

Page 36: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference

AWS Lambda: 이미지 썸네일 만들기

Page 37: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference

1. Alexa 이벤트를 통한 Lambda 실행

2SMxI 서비스로 들어오는 이벤트 요청을 서버리스 DMrvMrSMss! w반으로 처리

Page 38: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference

2. Skill 데이터 DynamoDB에 저장하기

exports.handler = function (event, context, callback) { var alexa = Alexa.handler(event, context); alexa.appId = appId; alexa.dynamoDBTableName = 'YourTableName'; // That's it!alexa.registerHandlers(State1Handlers, State2Handlers); alexa.execute();

};

this.attributes['yourAttribute'] = 'value';

var yourVariable = this.attributes['yourAttribute']

index.js

put

get

Page 39: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference

3. Skill 상태 관리

상태 정의

cErPvPId 상태핸들러

cHMSWd 상태핸들러

Page 40: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference

DemoAlexa Skill 만들기 – AWS Lambda 기반 VoiceOps

https://www.youtube.com/watch?v=azKYe4IWTxA

Page 41: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference

Alexa Smart Home

A L E X AV O I C ES E R V I C E

A L E X AS K I L L SK I T

AMAZON SMART HOME STORE (amazon .com/smarthome)

Page 42: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference
Page 43: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference

DemoIoT Greenhouse with Amazon Echo and AWS IoT

https://youtu.be/3UCMQC6HQhE

Page 44: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference

하늘채 아파트 스마트홈

Page 45: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference

Amazon AI 서비스

Amazon Rekognition딥러닝 w반 이미지인식 및 분석 서비스

Amazon Polly딥러닝 w반

음성 합성 서비스

Amazon Lex딥러닝 w반 자동 음성인식 및 자연어 처리

Page 46: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference

~군e 우리집 초인종을 ~르면c띵똥ad 소리 대신

dOOO이 문앞에 왔어요d,c모르는 사람이 문앞에 있어요d라k

말해줄 수는 없을x1

Page 47: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference

Amazon AI 서비스 활용한 스마트 초인종

통신이 e능한 버튼

명령을 받을 수 있는 카메라

얼r을 i색할 수 있는 서비스

상황에 따른 음성 생성 서비스

(. 방문자e 초인종을 ~른다). 초인종에 있는 카메라로 방문자 사진을

찍k,3. 사진에 찍힌 얼r이 아는 사람인지

확인해서,+. 집안의 인터폰이 ~e 집앞에 있는지 말로

알려준다

Page 48: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference

Amazon AI 서비스 활용한 스마트 초인종

(. 방문자e 초인종을 ~른다). 초인종에 있는 카메라로 방문자 사진을

찍k,3. 사진에 찍힌 얼r이 아는 사람인지

확인해서,+. 집안의 인터폰이 ~e 집앞에 있는지 말로

알려준다

2HD :VE

2TIzVU D3

2HD =ITJLI

2TIzVUCMRVNUPtPV

U

2TIzVUAVSSy

Page 49: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference

스마트 초인종 AWS 서비스 아키텍처4VSSMKtPVU (우리 e족 4VSSMKtPVU )

친o

3 b 얼r찾w

아빠

+ b 방문자 알림 방문자 목록!

+ b 방문자 알림 방문자목록!

, b 음성요청

) b 사진업로드

( b 버튼눌림 à 사진

촬영 요청

방문자 화면 스트리밍

2HD=ITJLI

2TIzVUD3

2TIzVUCMRVNUPtPVU

2TIzVUAVSSy

2HD:VE

Page 50: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference

Alexa와 연동도 가능하겠네요!

c2SMxI, IsR 5VVr HItKOMr tV VWMU tOM TIPU LVVr.dc2SMxI, IsR 5VVr HItKOMr tV tMSS TM wOV Ps It tOM LVVr.d

Page 51: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference

© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

Page 52: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference

프로그램 소개

2HD 서비스무료 활용

실습 자료 및n육 프로t램

오피스 아워 및스타트업 j험 l유

비지니스 지원프로t램

https://aws.amazon.com/ko/activate/

(2/ (5 8B 6 Q r t a (2/ Qn Q k UV

Page 53: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference

AWS Activate 패키지 안내/6: / 6 - :8 - :8 -:A

ot UV

vr

UV

v 1* sL

UV

(2/ n W c0/

(2/ k c SD S0/

(2/ k c SD Se S 0/

(2/ /AU bP

~ S (2/ /AU bP

S ~ S (2/ /AU bP

(2/ Q r U f 0/.C8 , f c 0/

f i f i r (2/ l

W c (2/ (5 8B 6 t r UV(5 8B 6 - :8 w u k p UV (2/ k c Q f S e S UVS e S (2/ k c 1* e Q k s k UV- :8 0/ (2/ )A 8 6 /A c k UV - :8 -:A 0/(2/ )A 8 6 /A c k UV

Page 54: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference

Alexa Fund2SMxI FuUL는 2SMxI 음성 w술 혁신을 촉진하w 위해 최대 (억 달러 투자를 제l합니다. 2SMxI DRPSSs KPt 2DK!로 새로운 2SMxI w능을 만들hz, 2SMxI GVPKM DMrvPKM 2GD!를 사용하여 새롭k 새로운음성 j험을 위해 2SMxI를 사용하는 장치를 o축하hz, 음성 인식

w술 혁신을 위한 원천 w술 스타트업이라면 지v 지원하세요!

https://developer.amazon.com/alexa-fund

Page 55: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference

Alexa Prize for Universityhttps://developer.amazon.com/alexaprize/

Page 56: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference

맺으면서

• Amazon Echo를 통한 음성 인식 스마트 홈 o축 e능• Alexa Skills Kit w반 다양한 서비스 제l e능• AWS Lambda를 통한 서버 없는 빠른 서비스 g발 e능• Alexa 서비스를 타k u로벌 진출!

• 지금 시작해 보세요!

Page 57: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference

Alexa Skill 개발자를 위한AWS 크레딧 제공!

http://bit.ly/awskr-feedbackAWS Activate 패키지

100달러 무료 크레딧 + 80 달러 Qwiklab Credit -00달러 온라인 강좌 수강s+ (00달러 (g월 비지니스 서포트

등록하시면 패키지를 받으실 수 있는 FC= 및 2HD 학습 정보를 이메일로 보내드립니다!

Page 58: AWS Lambda를 활용한 Amazon Alexa Skills 개발 방법 (윤석찬) - Startup DeepDive Conference

더 궁금한 점은?

“아마존 웹 서비스” 검색 후

“AWSKRUG” 검색 후한p 사용자모임 커뮤니티 e입

“윤석찬” 검색 후