Hayden's Archive
[AI] 빅스비 모각코(20191019) 본문
삼성전자 노래경님과 함께한 빅스비 모각코(20191019)
sample utterances example google
(utterance - 보이스 서비스를 만들 때 많이 쓰이는 단어)
빅스비와 함께 구글, 아마존 알렉사 등등 다양한 서비스도 해보기
보이스 시장은 뜰 것이고 어떤 플랫폼이 먼저 떠오를지 모름.
구글, 아마존 장점은 클라우드 서비스가 있음.
Bixby는 무엇일까요?
Bixby Server
1. ASR : 사람의 말과 관련된 파트에서 음성처리와 관련. 사람의 음성을 명확하게(잡소리 등 구분) 분별이 가능하게 처리하여 실제로 어떤 말인지 명확하게 파악. 음성으로 들어온 말을 speech to text로 바꿈
↓
2. NLU : 자연어 처리와 관련. 발화 분석과 관계. 어절분석, 음절분석 등을 거쳐서 중요하게 생각하는 명명이 무엇이고 사용자가 원하는 것이 무엇인지 분석.
↓
3. Capsule
<Bixby 시스템 구조>
Bixby Platform 서버는 사용자 발화를 잘 처리할 수 있는 Capsule을 찾아서 해당 Capsule에 사용자 발화를 남겨줌.
1. Bixby 사용자가 "주변 맛집 찾아줘"라고 발화를 하면 이 발화내용은 Bixby Platform 서버로 전달됨.
2. Bixby Capsule은 사용자 발화를 분석하여, 사용자가 원하는 말을 처리함. 이 때, 필요하다면 외부 서버와 연동도 진행함.
3. 사용자 발화에 맞는 동작이 완료되면 그 결과를 적절한 Layout과 함께 Bixby Client에 내려줌.
개발자들은 빅스비 만들 때 모델링, 비즈니스 로직, UI/UX 과정을 해줘야 함.
* 모델링 : 사용자가 한 말에 대해 실제로 어떤 의미인지 중요한 의도와 명명 파악
- Concepts : 일종의 발화 변수. Input Concepts, Output Concepts. 발화 인식 및 발화 결과를 리턴할 때 필요한 값. ex) 햄버거 두 개 주문해줘 // 햄버거 -> FoodName, 2->NumberOfFood
- Actions : 발화 함수. 캡슐이 사용자가 원하는 작업을 이해하도록 수행할 동작을 정의 ex) 햄버거 두개 주문해줘 -> order
* 비즈니스 로직 : 실제 정보를 찾는 것
- Javascript code : 모델링 단계에서 정의한 Concepts 및 Actions를 바탕으로 실제 서비스 코드를 구현. 이 단계에서 서비스 API 연동
ex) 햄버거 주문 캡슐: 개발자는 메뉴와 주문정보를 저장하는 서버를 구축한 뒤, API를 통해 캡슐과 연동시킴.
* UI/UX : 실제 찾아진 정보에 대해 UI를 입혀주는 작업
- Bixby Views : 최종 결과를 사용자에게 보여주는 레이아웃 작업
.view.bxb
.layout.bxb
웹개발시 HTML처럼 구조를 잡아주는 것처럼 -> view
그 안에 css처럼 상세한 색상, 스타일을 잡아주는 것 -> layout
* 트레이닝 : 사용자의 말을 알아들을 수 있도록 해줘야 함
- 발화 Training
- 디버깅
캡슐 아이디
네임스페이스 - 팀 아이디
example.xxitshop
playground.xxitshop // playground는 빅스비 스튜디오 안에서만 테스트하고 말 거야. 퍼블릭X.
bixbist.bixbist // 나만의 독특한 팀과 네임을 사용할 수 있는 경우.
public submission, private submission 둘 다 할 수 있음.
빅스비 디벨로퍼 센터
좌측 메뉴에서 Teams & Capsules 클릭. 팀은 3개까지만 생성 가능. 팀을 만들고 나면 위에 Capsule ID가 뜸. 그걸 카피해서 캡슐 생성 가능.
빅스비 마켓에 올리려면
나만의 키를 가진 캡슐 아이디를 사용해야 하고
public submission하면 됨.
(private submission은 단말에서 테스트할 때 함.)
이후 리뷰를 요청하고 리뷰가 완료되면 마켓에 보임.(유튜브 영상 있음)
asset에 이미지를 넣으면 됨. 아이콘 같은 것.
capsule.bxb
캡슐과 관련된 설정.
version은 한번 submission 했으면 다음 번엔 바꿔서 마지막 숫자를 올려줘야 함.
target은 지원할 단말과 언어에 관련된 설정.(현재는 모바일만 지원하지만 곧 냉장고, 스피커 등을 지원하게 될 것.)
en-US (세계적으로 통용되는 용어임. language code country code)
bixby-mobile-ko-KR (한국어는 이렇게) => 여기에 해둬야지 트레이닝에 한국어 뜸.
runtime-flags 에러시 어떻게 유지할 것인가 끌 것인가에 대한 설정. 그대로 두면 됨.
beer license(비어웨어) - 내꺼 써도 되는데 내 코드 쓰면 맥주 한잔 사줘~
위키백과에 있는 것을 복사해서 README에 넣어줘도 됨.
#사용자 발화 (Utterance)
- 콜라 1개 주문해줘.
- 햄버거 2개 주문해줘. // 유사한 거 두 개 하는 것은 효과X
- 감자튀김 2개 먹고 싶어.
↓
#사용자 발화 (Utterance)
- 콜라 1개 주문해줘.
- 나는 햄버거 2개 먹을래. // 사용자 발화에 범위를 넓혀주는 방법으로 하는 것이 효과가 좋음.
- 감자튀김 2개 먹고 싶어.
=> 중요한 명명은 2개. 콜라, 1. 주문은 될 수도 있고 아닐 수도 있다. 주문만 하는 경우에는 굳이 중요한 명명 아님. 주문도 하고 검색도 하고 여러 경우에는 중요한 명명이 될 수 있음.
actions 만들기 - models에서 오른쪽 마우스 클릭해서 model에서 action 생성. 앞글자는 대문자로. 함수명이랑 통일하는 게 나중에 편함. // 감자튀김 이렇게 별로 안 길 경우 name으로 해도 되고, 길면 text // 배열 만들 때는 structure
빅스비 스튜디오는 빅스비 서버와 싱크를 맞추는데 안 될 때...
1. 껐다 켠다
2. 캡슐 오른쪽 마우스에서 언싱크 후 싱크 맞추기
3. 그래도 안 되면 지원팀에 요청
컨셉과 액션은 앞글자 소문자... 비즈니스 로직을 코드에 만들 때 앞글자 소문자로 생성.
트레이닝 GOAL에 output을 넣어줌.
======================
어떤 회사가 어떤 기술을 썼는지 알 수 있음.
퍼블릭으로 나가는 것으로 보안은 아쉬움.
https://sheety.co/ 를 활용해서
구글 스프레드시트에 있는 걸 API로 만듦.
https://bixbydevelopers.com/dev/docs/sample-capsules/samples
HTTP API Calls 에서 API 관련
<어려운 점이 있을 때>
SW Expert Academy에 가서 여러가지 Bixby 강의를 들을 수 있음.
support.bixbydevelopers.com에서 FAQ, 질문
Bixby developer portal에서 Newsroom - News 에서
방문해서 빅스비 어려움 해결해줌. 신청자가 많아서 바로바로 신청.
빅스비 슬랙에 가입해서 어려움 해결 가능.