본문 바로가기
정보공유

[정보]1시간만에 만드는 음성인식 인공지능 챗봇

by 날고싶은커피향 2018. 3. 2.

Dialogflow 기반의 쇼핑몰 챗봇 데모. Google Assistant와 붙여서 스마트폰에서 음성으로 챗봇을 사용하도록 하는 내용을 정리한 자료입니다.  많은 참고 하시기 바랍니다.

 

 

1시간만에 만드는 음성인식 인공지능 챗봇 from 정명훈 Jerry Jeong

 

1. 1시간만에 만드는 음성인식 인공지능 챗봇 정명훈, Google Cloud
 2.  2 목차 ● 챗봇의 원리 ● 어떤 챗봇을 만들까? 스케치 ● 데이터 모으기 ● 대화하는 법 가르치기 ● 똑똑하게 만들기 ● 음성 지원 및 다양한 채널
3.  3 챗봇의 원리
4.  4 챗봇의 원리 ● 챗봇이란? ○ 채팅과 로봇의 합성어 ○ 인공지능을 기반으로 사람과 대화를 나누는 프로그램
5.  5 챗봇의 원리 챗봇 인공 지능 =
6.  6 챗봇의 원리 챗봇 인공 지능 =
7.  7 챗봇의 원리 ● 챗봇이란? ○ 인간의 언어를 흉내 내어 인간의 질문에 답하는 형식 ○ 메신저 상에서 사람처럼 행동하며 날씨나 교통정보 제공, 제품 주문, 고객지원 등을 제공
8.  8 챗봇의 원리 ● 챗봇이란? ○ 인간의 언어를 흉내 내어 인간의 질문에 답하는 형식 ○ 메신저 상에서 사람처럼 행동하며 날씨나 교통정보 제공, 제품 주문, 고객지원 등을 제공 (능동적인 대화가 아니라는 의미)
9.  9 챗봇의 원리 ● 챗봇이란? ○ 인간의 언어를 흉내 내어 인간의 질문에 답하는 형식 ○ 메신저 상에서 사람처럼 행동하며 날씨나 교통정보 제공, 제품 주문, 고객지원 등을 제공 (아직은 제한된 역할)
10.  10 챗봇에 대한 관심도 - 전 세계
11.  11 챗봇에 대한 관심도 - 한국
12.  12 딱 이 느낌...
13.  13 챗봇 만들 때 알아두어야 할 것 ● 인간의 언어를 흉내 내어 인간의 질문에 답하는 형식 (인간과 유사한 대화가 편하게 느껴짐) 정말 잘못(appology) 했습니다 ????? (한대 때릴까???) 저는 사과(apple)를 좋아해요
14.  14 챗봇 어린이는 어떻게 대화를 배울까? ● 인간의 언어를 흉내 내어 인간의 질문에 답하는 형식 (어떻게 하면 흉내를 잘 낼 것인가?) 저는 사과를 좋아해요 음 이번엔 신중하게 대답해야지… 사과는 정말 맛있죠
15.  15 챗봇 어린이는 어떻게 대화를 배울까? ● 인간의 언어를 흉내 내어 인간의 질문에 답하는 형식 저는 사과를 좋아해요 우리 대화의 장소는 과일 가게 사과는 정말 맛있죠 대화의 범위를 제약 (아직 데리고 다녀야 할 때가 많음)
16.  16 챗봇 어린이는 어떻게 대화를 배울까? ● 인간의 언어를 흉내 내어 인간의 질문에 답하는 형식 저는 사과를 좋아해요 참, 과일 얘기를 하고 있었지? 사과는 정말 맛있죠 대화의 분위기를 파악 (눈치도 좋아져야 함)
17.  17 챗봇 어린이는 어떻게 대화를 배울까? ● 인간의 언어를 흉내 내어 인간의 질문에 답하는 형식 저는 사과를 좋아해요 사과(appology)를 받고 싶을 땐, 좋아한다고 말하지는 않았음 사과는 정말 맛있죠 언어적인 이해와 경험 향상 (국어 공부를 열심히)
18.  18 챗봇의 대화 방법
19.  19 챗봇의 대화 방법 대화의 “의도(Intent)” 대화의 “재료(Entity)” 대화의 “분위기(Context)” 대화의 경험을 쌓고 응용(Training)”
20.  20 챗봇의 대화 방법 대화의 “의도(Intent)” 대화의 “재료(Entity)” 대화의 “분위기(Context)” 대화의 경험을 쌓고 응용(Training)” (사과라는 과일을 좋아한다) (사과, 배, 복숭아 등 과일 이름) (과일 이야기를 이어서 하기) (과일 이야기를 할 때는 주로 이런 표현을 사용하는 구나...)
21.  21 어떤 챗봇을 만들까? 스케치
22.  22 챗봇에게 무엇을 가르칠까? 이번 과제의 핵심은? 주말에 데이트할 좋은 장소는? 오늘 발표 자료좀 만들어 주면 안될까… ㅠㅠ 흑흑… 저보고 어쩌시라고요? 가출...
23.  23 챗봇에게 무엇을 가르칠까? 장소와 역할을 정의 쇼핑몰 스마트폰 판매 직원 대화의 “의도(Intent)” 대화의 “재료(Entity)” 대화의 “분위기(Context)” 대화의 경험을 쌓고 응용 (Training)” 공부!! 공부!! 공부!!
24.  24 챗봇에게 무엇을 가르칠까? 대화에 대한 스케치
25.  25 챗봇에게 무엇을 가르칠까? 교재는 뭘로? ● 쇼핑몰이 가지고 있는 상품 목록 (Entity - 대화의 재료) ● 쇼핑몰 상담 목록? 쇼핑몰 직원의 대화록? (Intent - 대화의 의도) ● 기존 대화에 대한 분석, 직관, 상황설정 (Context - 대화의 분위기 및 흐름) ● 학습: 대화록 입력 또는 실제 대화의 내용을 보고 교육 (연기는 설정이 중요합니다~)
26.  26 만들어 볼 챗봇에 대한 정리 ● 쇼핑몰이 가지고 있는 상품 목록 (Entity - 대화의 재료) ⇒ 상품 목록 CSV 파일 ● 쇼핑몰 상담 목록? 쇼핑몰 직원의 대화록? (Intent - 대화의 의도) ⇒ 최대한 단순환 상황을 가정(시간적인 한계) ● 기존 대화에 대한 분석, 직관, 상황설정 (Context - 대화의 분위기 및 흐름) ⇒ 최대한 단순환 상황을 가정(시간적인 한계) ● 학습: 대화록 입력 또는 실제 대화의 내용을 보고 교육 ⇒ 인터넷 상에 있는 스마트폰 매장 대화 예시 및 지속적인 훈련
27.  27 데이터 모으기
28.  28 데이터 모으기 쇼핑몰 검색키워드 (소스) 실제 쇼핑몰이라면 자체 데이터를 가지고 있음 구글링을 통해서 데이터 수집
29.  29 데이터 모으기 쇼핑몰 검색키워드 (소스) 데이터 가공 및 정제 (Google DataPrep) 키워드 분류하여 연관된 것들끼리 묶음 스마트폰 관련 키워드 추출 향후 가공/정제 작업 자동화 키워드 중에서 애매한 부분에 대한 판단 요청 (예) samsung galaxy case Google Natural Language API
 30.  30 데이터 모으기 쇼핑몰 검색키워드 (소스) 데이터 가공 및 정제 (Google DataPrep) Google Natural Language API 제품, 카테고리, 브랜드, 상품모델로 구분하여 Entity 등록 Dialogflow(api.ai)
 31.  31 대화하는 법 가르치기
32.  32 챗봇 어린이 Dialogflow(api.ai) 저는 배울 준비가 되어 있습니다. 근데 뭘??? 배울 자세는 잘 되어 있는 착한 어린이군 근데 뭘???
33.  33 챗봇 상담원 - 한 번에 하나씩, Entity부터 Dialogflow(api.ai) 자 일단 외우세요… (우리나라의 수도는?) 카테고리, 상품 등 (Entity) 스마트폰 모델에는 samsung, apple 등이 있슴
34.  34 시연 - Entity 입력
35.  35 챗봇 상담원 - 대화의 기술 가르치기, 기본적인 인사법 Dialogflow(api.ai) 이런 대화는 어떤 경우에 할까요? (기본 인사법부터) Small Talk (Intent) 고객을 처음만나면 인사를 해야겠군 Hello!! Good morning Hello ... 보통은 기본 내장
36.  36 챗봇 상담원 - 대화의 기술 가르치기, 의도(Intent) Dialogflow(api.ai) 이런 대화는 어떤 경우에 할까요? (고객이 스마트폰을 찾으면 어떻게 대답) 아 고객이 스마트폰을 찾으면 (Intent) 이렇게 대답(행동)해야 하는 구나 May I see smartphones? 라고 물으면… smartphone(s)라는 Entity Yes we have라 대답하고 원하는 모델이 있는지 추가 질문
37.  37 시연 - Intent 등록
38.  38 챗봇 상담원 - 대화의 기술 가르치기, 분위기 (Context) Dialogflow(api.ai) 고객이 가격을 물으면 어떤 제품에 대한 가격을 답하는게 맞을까요? 고객이 갑자기 가격을 물을 때는 그 전까지 대화하던 브랜드라는 Context를 참고해야겠구나 현재 Context가 “brand-chosen”인지 파악 해당 Context로부터 정보 (브랜드)를 추출하여 대답
39.  39 시연 - Context 처리
40.  40 챗봇 아키텍처 챗봇 상담원 Frontline
 41.  41 챗봇 아키텍처 백엔드 전문가 그룹 Backline Python 등
42.  42 똑똑하게 만들기
43.  43 챗봇의 성장 학습 및 훈련 (상담 전문가) 재교육과 경험 기반의 학습을 통해서 전문가로 성장 교육 전 (챗봇 어린이) 교육 후 (챗봇 상담원) 기본 지식 교육 대화의 기술 교육 챗봇 교육 담당자 예외 처리
44.  44 챗봇의 성장 - 재교육 학습 및 훈련 (상담 전문가) 실제 사례를 통해서 배우니 확실히 이해가 잘 된다 교육 후 (챗봇 상담원) 챗봇 교육 담당자 아까 예외 상황에서 이렇게 한 것은 “잘한 것이야” 아까 예외 상황에서는 판단이 “틀렸어" 재학습
45.  45 챗봇의 성장 - 자체 ML 학습 학습 및 훈련 (상담 전문가) 이렇게 응용을 해보니 이제 조금 더 전문가가 된 느낌이다 ML 학습 더 많은 학습 데이터 (상담 경험) 기타 자료 인터넷 자료 상담록
46.  46 음성 지원 및 다양한 채널
47.  47 챗봇 아키텍처 - 다양한 입출력 채널 다양한 입출력 채널 (웹, 메신저, 음성)
48.  48 다양한 입출력 채널 텔레그램 메신저 Google Assistant
 49.  49 Demo & Source Code ● github ○ https://github.com/javalove93/dialogflowdemo ○ Dialogflow Agent 및 WebHook Python Sample
 50.  50 감사합니다. Free credit!! 페이스북 구글 클라우드 사용자 그룹 https://www.facebook.com/groups/googlecloudkorea/
 

반응형