안녕하세요, 오늘은 알렉사 스킬 개발 방법에 대해 말씀드리겠습니다.

차례대로 따라하시면 됩니다.^^

 

아래와 같은 스킬을 만들어 볼건데요.

 

 


 

 


 

 


스킬 정보를 입력합니다. Invocation Name은 Alexa에서 Skill을 오픈할 때 사용합니다. Currency라면 "Alexa, Open Currency Skill"이 되겠죠.

 

 

이제 Interaction Model을 만듭니다.

1) Intent Schema입니다:

 

interaction model.txt

 


2) Custom Slot Types입니다:

 

Custom Slot Types으로 베트남 dong, 일본 yen, 유럽 euro, 영국 pound, 중국 yuan 등을 지정하였습니다.


 

3) Sample Utterances 입니다:

 

GetCurrencyIntent dollar to {targetCurrency} currency
GetCurrencyIntent get dollar to {targetCurrency} currency
GetCurrencyIntent send me dollar to {targetCurrency} currency for today
GetCurrencyIntent get today's currency for dollar to {targetCurrency} currency
GetCurrencyIntent send me dollar to {targetCurrency} currency
GetCurrencyIntent give me dollar to {targetCurrency} currency

 

sample utterances.txt


 

 


 

 

위에서 지정한 GetCurrencyIntent를 invoke 하기 위한 발화를 지정합니다. 여기까지 하셨으면 Alexa Skill Kit에서 할 일은 거의 끝났습니다.

 

다음으로 Lambda Function 생성 을 시작해야 하는데요.

Node.js나 Python 중에 편하신 걸로 하시면 됩니다!!

여기에서는 Node.js로 하겠습니다.

 

1) Lambda 함수 생성에서 alexa-skill-kit-sdk-factskill 선택

 


 

2) 원하는 Name을 지정하고, Lambda_basic_execution을 선택 후 Create 버튼 클릭

 


3) ARN을 Copy해서 메모장에 Paste 해놓습니다.

 


 

 


 

 


4) Trigger로 Alexa Skills kit을 선택

 

ARN을 Copy 해놓습니다.

 

 


이제 Intent에 따라 Trigger될 Function을 작성하여 업로드해야겠죠?

 

로컬에서 Node.js Code를 작성합니다.

코드는 첨부파일을 참고 바랍니다. 메일을 보내는 서버도 만드셔야 하는데 다음 포스팅에 같이 올리겠습니다. 소스 상에서는 메일 서버 주소를 http://아이피:포트/ 로 표시하였습니다(Lambda에 바로 하는 방법도 있습니다^^;).

src_final.zip



Alexa developer에서 skill을 위한 intent가 정의되어 있을 경우 호출됩니다.

intentName이 GetCurrencyIntent일 경우 handling 함수를 호출합니다.

 

Intent handling 함수 작성

E-mail 서버로 http post request =>

제목 및 사용자가 선택한 요청국 통화를 parameter로 전달합니다.

 

 


 

이제 코드를 다 작성했으니 index.js 실행에 필요한 모듈을 설치합니다!!

- 로컬에 node.js를 설치합니다.
- 위에서 작성한 index.js가 설치되어 있는 Path로 이동합니다.
- http request에 필요한‘request’ 모듈을 설치합니다.

 

 

node_modules 생성 확인 및 zip 파일로 압축


 

 

 

 

 

Zip 파일 업로드

 

 


 

 

Zip 파일 Upload가 끝났으면 이제 테스트를 진행합니다:

 

Alexa Skills Kit Endpoint 설정(앞에서 Copy했던 ARN을 붙여넣습니다.)

 

 

마지막으로 Alexa Skill 테스트를 진행합니다.

 

 

 

Sample Utterances를 참고하여 예상 발화를 입력해보고 결과가 정상적으로 오는지 확인하면 끝...

 

Amazon 디바이스가 있으시면 그걸로 테스트 하셔도 되고 아니면, 아래 사이트로 접속하셔서 테스트를 진행하시면 됩니다.

https://echosim.io/welcome?next=%2F

 

이상으로 알렉사 스킬 개발 관련 포스팅을 마치겠습니다.

감사합니다.^^



 


 

 

[2017/11/21 업데이트] AWS rekognition API가 크게 개선 되었습니다. 


이제 해당 API를 통해 이미지 분석 뿐만 아니라 이미지에서 텍스트 문자를 추출하는 것이 가능해졌습니다.

AWS에 나와있는 업데이트 내용입니다: 





Recognition은 거리 이름, 캡션, 제품 이름, 차량 번호판 등과 같은 이미지에서 텍스트 콘텐츠를 검색하고 인식합니다. 이미지의 텍스트는 문서 이미지 대신 실제 이미지로 작동하기 위해 특별히 제작되었습니다. 이미지를 분석할 때마다 인식된 텍스트와 각 검출된 단어 또는 라인에 대한 신뢰도 점수와 더불어 이미지의 텍스트가 인식된 텍스트와 함께 반환됩니다.


AWS Rekognition에서 실시간 이미지 인식, 얼굴 인식 기술이 개선되었습니다.



2017년 11월 21일 일요일
아마존 Rekognition은 오늘 세가지 새로운 기능을 추가했습니다. 이미지에 대한 인식과 인지도를 실시간으로 인식하고, 수많은 얼굴 표정에서 최대 100개의 얼굴을 감지합니다. 이미 검증 및 식별을 위해 Amazon Rekognition을 사용하고 있는 고객은 대부분의 경우 최대 10%의 정확도 향상을 경험할 것입니다.




이미지 안에 텍스트:
이미지의 물체와 얼굴에 있는 물체들을 인식하는 고객들은 우리에게 교통 카메라, 뉴스, 자막, 그리고 TV화면에 새겨진 문양과 같은 문구들을 인식하고 있습니다. 오늘부터 이미지에서 RecognitionText(인식 텍스트)를 사용하여 영상에서 텍스트 콘텐츠를 인식하고 추출할 수 있습니다. 이미지의 텍스트는 문서 이미지 대신 실제 이미지로 작동하기 위해 특별히 제작되었습니다. 대부분의 라틴어 스크립트와 다양한 레이아웃, 글꼴 및 스타일에 포함된 텍스트를 지원하며, 배너 및 포스터와 같은 다양한 방향으로 배경 개체에 중첩되어 있습니다.


예를 들어, 이미지 공유 및 소셜 미디어 응용 프로그램에서 이제 동일한 키워드를 포함하는 이미지 색인을 바탕으로 시각적 검색을 실행할 수 있습니다. 미디어 및 엔터테인먼트 응용 프로그램에서는 광고, 뉴스, 스포츠 점수 및 캡션과 같은 화면의 관련 텍스트를 바탕으로 비디오를 분류할 수 있습니다. 또한 보안 및 안전 응용 프로그램에서 거리 카메라가 찍힌 영상에서 차량 번호판 번호를 기준으로 차량을 식별할 수 있습니다.


Pinterest CTO,  Vanja Josifovski

"시각적으로 주도적인 플랫폼으로서 Pinterest는 이미지의 속도와 품질에 크게 의존하지만, 이러한 이미지의 텍스트는 컨텍스트를 제공하고 200M+액티브 피너스를 실행할 수 있습니다. 이미지에서 Amazon Rekognition 이미지 내 텍스트를 사용할 때는 이미지에서 캡처한 풍부한 텍스트를 캡처하고 AmazonS3에 저장된 수백만개의 핀 만 낮은 지연 시간으로 줄일 수 있습니다. 당사는 Pinterest와 Pinterest에 있는 Pinners와 협력하기 위해 AWS와의 파트너십을 지속적하기를 기대하고 있습니다."


SmugMug, Don MacAskill

"전문 사진 작가들은 종종 스프라그 게임 비브의 숫자와 같은 사진을 포함한 사진을 공유하고 판매하기 위해 스무그 버그를 사용합니다. 이미지로 구성된 Amazon Rekognition 이미지 내 텍스트 인식은 규모에 맞게 비브 번호를 추출하고 이벤트 사진을 빠르고 쉽게 공유할 수 있는 이벤트 사진을 제공할 수 있습니다."


얼굴 검색 및 검색 : 아마존 서비스를 이용하면 수백만장의 얼굴을 가진 컬렉션에 대한 실시간 얼굴 수색을 수행할 수 있습니다. 이를 통해 검색 지연 시간은 5~10배 감소하며, 동시에 10-20배 더 많은 얼굴을 저장할 수 있는 컬렉션을 제공할 수 있습니다.

보안 및 안전 응용 프로그램에서, 당신은 실시간으로 수백만명의 사람들의 관심을 끌 수 있는 사람들을 식별할 수 있고, 적시에 정확한 범죄 예방과 같은 사용 사례를 이용할 수 있습니다. 워싱턴 주 보안관 사무실은 오리건 주의 시민들로부터 911신고를 받은 최초의 응답자입니다. 경찰청은 또 다른 도시 경찰 부서에 범죄 예방을 위한 지원을 제공하고 있습니다. 보안관 사무실은 이전에 2-3일 간의 용의자들의 신원 확인 시간을 줄이기 위해 이전에 Amazon Rekognition를 사용했었습니다.

워싱턴 주 보안관 사무실의 선임 정보 시스템 분석가, Chris Adzima
"이러한 개선을 통해 현장의 대표자들은 실시간으로 검색에 대한 응답을 받을 수 있습니다. 이를 통해 필요한 정보를 얻고 신속하게 조치를 취할 수 있습니다. 현장에서 몇 초는 생명 구조를 살리는 데 도움이 될 수 있습니다."







오늘부터 고객은 단일 이미지에서 최대 100개의 얼굴(15개)을 감지, 분석 및 색인화할 수 있습니다. 이러한 개선을 통해 그룹 사진, 혼잡한 사건, 공항 및 백화점과 같은 공공 장소의 모든 면에서 인구 통계를 정확하게 포착하고 감정을 분석할 수 있게 됩니다.




이제 다음 주면 AWS에서 새로운 서비스를 소개하는 자리이고 연간 가장 큰 행사인 aws re:invent가 개최됩니다. 







작년에는 AWS Snowmobile : 100PB Container를 소개하면서, 트럭을 직접 행사장으로 끌고 나와서 화제가 됐었죠:




역시 스케일부터가 다른 것 같습니다...

이번에도 작년과 동일하게 Las Vegas에서 열리는데요. 일정은 현지 시간으로 



2017년 11월 27일(월요일)부터 12월1일(금요일)까지입니다.

AWS re:invent Live Stream 접수는 AWS 홈페이지에서 하실 수 있습니다.




https://pages.awscloud.com/reInvent-2017-live-stream-registration.html


접수가 완료되시면 Live Stream일정을 메일로 받으실 수 있습니다.







Keynote Speech는 현지시간으로 28일(화요일)오후 8:00 시작이니...Las Vegas와 시차가 17시간...그러니 한국시간으로는...

1) 11월 29일(수요일)오후 1:00

2) 11월 30일(목요일) 새벽 1:00 

3) 12월1일(금요일) 새벽 1:30

이 되겠습니다. 시간이 되시는 분들은 한번 들어보세요^^


+ Recent posts