SlideShare ist ein Scribd-Unternehmen logo
1 von 47
Downloaden Sie, um offline zu lesen
Watson Conversation으로
쉽게 만드는 챗봇
IBM	Developer	Outreach	Team
Agenda
Watson Conversation 활용법
최신 챗봇 적용 사례 살펴보기
튜토리얼 따라하며 배우기
챗봇 프로젝트 방법론 및 Best Practices!
1
2
3
4
챗봇 도입 사례 살펴보기
챗봇 트렌드 파악하기!
Watson Conversation UI 툴의 이해
API 구조 및 사용 법 이해하기
챗봇 Reference Architecture
메신저 연결하기, 질문 모으기, 대화
서비스 만들기, 백엔드 연결하기직접
실습합니다.
챗봇 프로젝트! 단계별로 알아보기
챗봇을 검증하는 다양한 방법들
Contact	Us
#building-with-watson
#watson-korea
facebook.com/groups/BluemixStudy
wdc-slack-inviter.mybluemix.net
http://stackoverflow.com/question
s/tagged/watson-conversation
https://developer.ibm.com/answer
s/topics/watson-conversation.html
https://developer.ibm.com/kr
Watson Conversation Service
Watson Conversation
I’m	Watson.	I	can	help	you		
order	a	pizza.	What	size?
Great	!	Can	I	get	a	
medium?
Perfect.	What	toppings	are	
you	in	the	mood	for	today?
대화 기반 어플리케이션(챗봇)을 만들기 위해 필
요한 모든 툴을 제공
사용자의 메세지를 머신러닝을 사용하여 이해하
고 고객에게 응답
블루믹스에서 30일 Free Trial로 사용 가능
Watson Conversation 시나리오
아이스 아메리카노 한잔
주세요.
의도 : 주문 ---à Intent
메뉴 : 아이스 아메리카노 -à Entity
수량 : 한 잔 --à System	Entity
사이즈는 어떤
걸로 드릴까요?
레귤러요
조건 : 메뉴, 사이즈, 수량
문맥 :
- 메뉴 : 아이스 아메리카노
- 수량 : 한잔
부족한것 : 사이즈! -> 사이즈를 물어보자!	->	Response
사이즈 : 레귤러 à Entity
네! 주문이 완료
되었습니다.
조건 : 메뉴, 사이즈, 수량
문맥 :
- 메뉴 : 아이스 아메리카노
- 수량 : 한잔
- 사이즈 : 레귤러
부족한것 : 없음! -> 주문을 넣어야 겠군! à Action
Watson Conversation 시나리오
아이스 아메리카노 한잔
주세요.
의도 : 주문 ---à Intent
메뉴 : 아이스 아메리카노 -à Entity
수량 : 한 잔 --à System	Entity
사이즈는 어떤
걸로 드릴까요?
레귤러요
조건 : 메뉴, 사이즈, 수량
문맥 :
- 메뉴 : 아이스 아메리카노
- 수량 : 한잔
부족한것 : 사이즈! -> 사이즈를 물어보자!	->	Response
사이즈 : 레귤러 à Entity
네! 주문이 완료
되었습니다.
조건 : 메뉴, 사이즈, 수량
문맥 :
- 메뉴 : 아이스 아메리카노
- 수량 : 한잔
- 사이즈 : 레귤러
부족한것 : 없음! -> 주문을 넣어야 겠군! à Action
주문 Intent	작성
메뉴 Entity 설정
Dialog	설정
Context 관리
Action	관리
사이즈 Entity 설정
Intent
[정의]
사용자가 하려는 말의 의도, 목적을 의미, #을 Prefix로 사용한다. Watson
Conversation에서는 NLC(Natural Language Classifier)를 통해 문장의 Intent
를 파악한다.
[예시]
• 오늘 예약 가능한 회의실 있어요?
• 급하게 회의실이 필요한데 어디로 가면 돼요?
• 회의실 예약해주세요.
• 미팅룸 없을까요?
• 회의실 예약좀 해줄래?
#회의실_예약
Entity
[정의]
Intent와 관련된 데이터 타입이나 클래스 를 의미하며 문장에서 주요한 컨텍
스트를 제공하거나 분명한 문장을 만드는 명사. @을 Prefix로 사용한다.
[예시]
• Korea
• IFC
• 13층
• 남쪽
• 13M01
@위치 @날짜
• 오늘
• 다음 주
• 7월 7일
• 지금
• 금요일
System Entity
[정의]
미리 정의된 엔티티로 @을 Prefix로 사용한다.
https://www.ibm.com/watson/developercloud/doc/conversation/system-
entities.html#sys-date-and-sys-time-entities
[예시]
• Today
• 2017-04-26
• Now
• Friday
• April 26
@sys-date @sys-time
• Now
• 2pm
• At 5
• 15:30
• From 2 to 3
Dialog
[정의]
사용자와의 대화에 어떻게 응답할 것인가를 정의한다. 사용자의 메세지를
인풋으로 하여 Intent와 Entity를 기반으로 적절한 응답을 설계한다.
[예시]
#예약
#인사 안녕하세요. 무엇을 도와드릴까요?
언제 필요하신가요?
@날짜 몇 명이 참석하나요?
Context
[정의]
대화의 문맥을 기억하기 위한 장치로 $를 prefix로 사용한다.
[예시]
$user.name님 안녕하세요?
김명민님 안녕하세요?
“context”:{
“user”	{
“name”	:	“김명민”
}
}
Watson Conversation Tool
CSV Upload
(question, intent)
Watson Conversation Tool
Watson Conversation
Easy	Tool
Mixed	Initiative	
Dialog
Easy
Integration
High
Accuracy
Easy	Tool
• 쉽고 직관적인 UI 툴로 개발자가
아닌 사람도 쉽게 사용 가능!
• Intent,	Entity,	Dialog 기반의 대
화 서비스 빌드
• 채팅 로그를 저장하고, 시스템
을 개선시킬 수 있는 보정 기능
제공
High	Accuracy
• NLC(Natural	Language	Classifi
er) 기반 Intent 추측
• NLP(Natural	Language	Proces
sing)과 머신러닝 기반 Entity
추출
Mixed	Initiative	Dialog
• 사용자 또는 시스템이 일
방적으로 대화를 이끌기
보다 적절하게 조화
• 한번의 Q&A에 그치는 것이
아니라 Context를 유지하면
서 지속적인 대화 가능
Easy	Integration
• Restful	API 제공, 다양한
개발 언어의 SDK 제공
• API	Input/Output의 JSON
포맷을 변형하여 다양하
게 활용 가능
Watson Conversation API Overview
Watson Conversation API Explorer
POST /message
Watson Conversation API 이해하기
POST /message
{
“intents”	:	[
“intent”	:	“Greeting”
“confidence”	:	0.99
],
“entities”	:	[
],
“input”	:	{
“text”	:	“Hi”
},
“output”:	{
“text”	:	“Hello	HJ”
},
“context”:{
“user”	:	“HJ"
}
}
{
“input”	:	{
“text”	:	“Hi”
},
“context”:{
“user”	:	“HJ”
}
}
Watson Developer Cloud SDK
Watson Conversation 관련 문서 목록
Watson Conversation 소개 문서
https://www.ibm.com/watson/developercloud/doc/conversation/index.html
API 문서
https://www.ibm.com/watson/developercloud/conversation/api/v1/#introduction
API 테스트
https://watson-api-explorer.mybluemix.net/apis/conversation-v1
개발 툴, SDK, Starter Kit
https://www.ibm.com/watson/developercloud/developer-tools.html
튜토리얼
https://developer.ibm.com/kr/cloud/bluemix/watsonservice/2017/01/13/watsonchatbot-1-
watson-conversation/
샘플 코드
https://github.com/watson-developer-cloud/conversation-simple
문맥 관리하기 (Context)
POST /message
간단한 방법
POST /message
DB에 저장하는 방법
Output의 context를 payload context
로 바로 저장
Output의 context를 DB에 저장
Payload를 전송하기 전에 DB에서 Context를 가져옴
시스템과 연동하기(예시)
Watson Response
{
"output": {
"action": "getPoint"
}
}
“포인트 몇점
있어요?”
“600 포인트
남았어요.”
Watson Response
{
"output": {
”text": ”$point 포인트 남았어요."
}
}
Payload
{
”context": {
”point": 600
}
}
SPEL 사용하기
Watson	Conversation에서 사용하는 Expression	Language
(정리) 서비스 다이어그램
사용자 메세지
응답 추출
인텐트 엔티티 문맥
응답
백엔드 시스템다른 서비스
Natural	Language
Classification
Entity
Recognition
챗봇 만들기 Reference Architecture
다른 왓슨 서비스
튜토리얼 따라하며 배우기
- 회의실 예약 챗봇
챗봇 만들기 Tutorial Architecture
사용자
인터페이스
어플리케이션
워크스페이스
Conversation
Service 백엔드 시스템
튜토리얼 소개
1. WCS 시작하
기
2. 챗봇 노출하기
3. 질문 수집하
기
4. Intent 분류하
고 학습시키기
5. Entity와
Dialog 설정하
기
6. Backend 서비
스와 연동하기
사전 준비 사항
Bluemix Account 생성 및 CLI 설치1 2
3 GIT 설치
Node.js 설치
https://github.com/cloudfoundry/cli#dow
nloads
https://console.ng.mybluemix.net
https://nodejs.org/en/#d
ownload
https://git-
scm.com/book/ko/v1/%EC%8B%9
C%EC%9E%91%ED%95%98%EA%B
8%B0-Git-
%EC%84%A4%EC%B9%98
Developerworks
왓슨으로 쉽게 개발하는 카카오톡 챗봇 튜토리얼 시리즈
튜토리얼 1. WCS 시작하기
[목표]
• Bluemix에서 Watson Conversation 서비스 인스턴스 생성하기
• WCS 툴에 접근하기
• 내 Workspace 생성하기
• 내 Credential 정보 확인하기
튜토리얼 2. 챗봇 노출하기
[목표]
• Web Client 로 노출 하기 (필수)
• 카카오톡 연동 (옐로아이디 이미 있는경우에만, 선택)
• 텔레그램 연동 (선택)
튜토리얼 3. 질문 수집하기
카카오톡에서
친구 추가하여 영문으로 회의실 예약을 진행해주세요.
@camomile_bot
튜토리얼 4. Intent 분류하고 학습시키기
https://meetup23th.eu-gb.mybluemix.net/csv/questions
튜토리얼 5. Entity와 Dialog 설정하기
튜토리얼 6. Backend 서비스와 연동하기
챗봇 프로젝트 Best Practice!
Ground	truth
관리
Dialog
설정
실험적
검증
질문
수집
Premise	1.	Data	Driven	Project	!!
Premise	2.	Incremental and iterative
project
가능한 빨리 오픈하여 실제 사용자 데이터를
얻어야 함
챗봇 프로젝트 방법론
• 실제 사용자의 메세
지를 수집하기 위한
단계
• 수집한 메세지를 인
텐트로 분류
Ground Truth
• 사용자에게 적절한
응답을 주고 상호작
용 하였는가를 확인
하는 단계
• 적절한 통계 처리를
통한 오류 분석
검증
• WCS를 사용하는
UI를 생성한다.
• 생성한 어플리케이
션을 사용자가 접근
가능한 곳에 배포한
다.
User Interface
• 더 나은 Dialog 흐
름과 답변으로 시
스템 개선
• Ground Truth 유
지보수를 통해 시
스템 개선
개선
• Dialog 흐름을 설정한
다.
• 필요한 경우 Entity를
설정한다.
대화 흐름 설정
챗봇 프로젝트 방법론 > User Interface
• WCS를 사용하는
UI를 생성한다.
• 생성한 어플리케이
션을 사용자가 접
근 가능한 곳에 배
포한다.
User Interface
1. 실제 사용자의 데이터 수집
2. 데이터 수집 단계에서 가능한 실제와 같이 !!
• 챗봇은 Data driven 프로젝트 ! -> 실제 사용자 예제가
반드시 있어야 함
• 사용자가 도메인에 맞는 질문을 하도록 유도하는 UI가 필요
• Device Type, UI 등이 모두 고려되어야 함
챗봇 프로젝트 방법론 : Ground Truth 관리(Intent)
• 실제 사용자의 메세
지를 수집하기 위한
단계
• 수집한 메세지를 인
텐트로 분류
Ground Truth
1. Ground	Truth는 Machine	Learning 알고리즘을 학습시키기
위한 Training	Data
2. 동일한 행동을 유발해야 하는 질문을 함께 그룹화
• Example	– Intent Mapping
• 챗봇의 정확도를 좌우함!
• 일관성이 중요
챗봇 프로젝트 방법론 : Dialog Flows
• Dialog 흐름을 설정한
다.
• 필요한 경우 Entity를
설정한다.
대화 흐름 설정
1. 시스템이 사용자와 상호작용 하는 방식을 정의
2. 다양한 UI/UX를 활용
3. 필요한 경우 Entity 생성
• 친숙하고 사람같은 챗봇 !
• Multi	Step	Dialog를 설계 (	Mixed	Initiative	Dialog	!)
• 가벼운 대화
• 버튼
• 지도
• 이미지
챗봇 프로젝트 방법론 : 검증
• 간단한 실험 디자인
Question Answer
Question 1 Answer 1
Question 2 Answer 1
Question 3 Answer 2
Question 4 Answer 3
Question 5 Answer 3
…. …
Question N Answer N
Question Answer
Question 1 Answer 1
Question 3 Answer 2
Question 4 Answer 3
…. …
Question N Answer N
Question Answer
Question 2 Answer 1
Question 5 Answer 3
…. …
Question N Answer N
랜덤하게 Training
Set와 Test Set 으로
분할
Tests
Trained W
atson
Metrics
챗봇 프로젝트 방법론 : 검증
• K-Fold Cross Validation
• 트레이닝/테스트를 K번 반복 실행함으로써 K세트의 메트릭을 얻는다.
• 평균과 표준 편차, 신뢰 구간을 얻을 수 있다.
Training Training Training Training Testing Accuracy / Precision@k
Training Training Training Testing Training
Training Training Testing Training Training
Training Testing Training Training Training
Testing Training Training Training Training
Average: Accuracy / Precision
Accuracy / Precision@k
Accuracy / Precision@k
Accuracy / Precision@k
Accuracy / Precision@k
챗봇 프로젝트 방법론 : 검증
• Accuracy: 시스템이 Intent를 정확하게 예측 한 질문의 비율
• Precision @ k: 시스템이 가장 높은 신뢰 점수를 가진 상위 K개의 예측된 Intent 사이에 올바른
의도가 있는 질문의 비율
시스템이 정확하게 예측한 테스트 케이스
총 테스트 케이스
가장 높은 신뢰도로 예측한 상위 K개의 예측된 Intent에 올바른인텐트가 있는 케이스
총 테스트 케이스
챗봇 프로젝트 방법론 : 개선
• 정확도를 높이기 위해서는 ! Intent Overlapping이 최소화
되어야 함
• 비슷한 Intent 는 재작업이 필요 !
• Intent를 나눈다. 더 작은 인텐트를 생성한다.
• 두 Intent의 Example이 비슷하게 형성되어 있으면 Intent를 합친다
• 에러를 방지하기 위해 Example을 재다시맵핑한다
– 대표성이 낮은 인텐트는 구분이 힘들다.
• Intent가 대표성을 가지도록 더 많은 질문을 수집 – Example은 다다익선
• Key Task : 질문과 Intent를 재맵핑한다.
– 오류 및 품질 저하를 피하기 위해 윈칙적인 방법으로 수행
– Validation 단계에서 유용한 힌트를 얻을 수 있음
• 더 나은 Dialog 흐
름과 답변으로 시
스템 개선
• Ground Truth 유
지보수를 통해 시
스템 개선
개선
챗봇 프로젝트 방법론 : 개선
Contact	Us
#building-with-watson
#watson-korea
facebook.com/groups/BluemixStudy
wdc-slack-inviter.mybluemix.net
http://stackoverflow.com/question
s/tagged/watson-conversation
https://developer.ibm.com/answer
s/topics/watson-conversation.html
https://developer.ibm.com/kr

Weitere ähnliche Inhalte

Was ist angesagt?

plProxy, pgBouncer, pgBalancer
plProxy, pgBouncer, pgBalancerplProxy, pgBouncer, pgBalancer
plProxy, pgBouncer, pgBalancerelliando dias
 
간단한 블로그를 만들며 Django 이해하기
간단한 블로그를 만들며 Django 이해하기간단한 블로그를 만들며 Django 이해하기
간단한 블로그를 만들며 Django 이해하기Kyoung Up Jung
 
How Vanguard and Bloomberg Use AWS PrivateLink (NET323) - AWS re:Invent 2018
How Vanguard and Bloomberg Use AWS PrivateLink (NET323) - AWS re:Invent 2018How Vanguard and Bloomberg Use AWS PrivateLink (NET323) - AWS re:Invent 2018
How Vanguard and Bloomberg Use AWS PrivateLink (NET323) - AWS re:Invent 2018Amazon Web Services
 
카카오i 오픈빌더로 피자챗봇 만들기
카카오i 오픈빌더로 피자챗봇 만들기카카오i 오픈빌더로 피자챗봇 만들기
카카오i 오픈빌더로 피자챗봇 만들기deepseaswjh
 
An Overview of ModeShape
An Overview of ModeShapeAn Overview of ModeShape
An Overview of ModeShapeRandall Hauch
 
Django를 Django답게, Django로 뉴스 사이트 만들기
Django를 Django답게, Django로 뉴스 사이트 만들기Django를 Django답게, Django로 뉴스 사이트 만들기
Django를 Django답게, Django로 뉴스 사이트 만들기Kyoung Up Jung
 
Giving MongoDB a Way to Play with the GIS Community
Giving MongoDB a Way to Play with the GIS CommunityGiving MongoDB a Way to Play with the GIS Community
Giving MongoDB a Way to Play with the GIS CommunityMongoDB
 
[Pgday.Seoul 2017] 3. PostgreSQL WAL Buffers, Clog Buffers Deep Dive - 이근오
[Pgday.Seoul 2017] 3. PostgreSQL WAL Buffers, Clog Buffers Deep Dive - 이근오[Pgday.Seoul 2017] 3. PostgreSQL WAL Buffers, Clog Buffers Deep Dive - 이근오
[Pgday.Seoul 2017] 3. PostgreSQL WAL Buffers, Clog Buffers Deep Dive - 이근오PgDay.Seoul
 
날로 먹는 Django admin 활용
날로 먹는 Django admin 활용날로 먹는 Django admin 활용
날로 먹는 Django admin 활용KyeongMook "Kay" Cha
 
How Oath (a Verizon Company) Built a Multi-Region GDPR Application with Amazo...
How Oath (a Verizon Company) Built a Multi-Region GDPR Application with Amazo...How Oath (a Verizon Company) Built a Multi-Region GDPR Application with Amazo...
How Oath (a Verizon Company) Built a Multi-Region GDPR Application with Amazo...Amazon Web Services
 
Full Page Writes in PostgreSQL PGCONFEU 2022
Full Page Writes in PostgreSQL PGCONFEU 2022Full Page Writes in PostgreSQL PGCONFEU 2022
Full Page Writes in PostgreSQL PGCONFEU 2022Grant McAlister
 
Postgres & Red Hat Cluster Suite
Postgres & Red Hat Cluster SuitePostgres & Red Hat Cluster Suite
Postgres & Red Hat Cluster SuiteEDB
 
Odoo (Build module, Security, ORM)
Odoo (Build module, Security, ORM)Odoo (Build module, Security, ORM)
Odoo (Build module, Security, ORM)sroo galal
 
Raster Data In GeoServer And GeoTools: Achievements, Issues And Future Develo...
Raster Data In GeoServer And GeoTools: Achievements, Issues And Future Develo...Raster Data In GeoServer And GeoTools: Achievements, Issues And Future Develo...
Raster Data In GeoServer And GeoTools: Achievements, Issues And Future Develo...GeoSolutions
 
AMPscript for Email Marketing
AMPscript for Email MarketingAMPscript for Email Marketing
AMPscript for Email MarketingAvanish Kumar
 
Leverage StandardSetController in Apex and Visualforce
Leverage StandardSetController in Apex and VisualforceLeverage StandardSetController in Apex and Visualforce
Leverage StandardSetController in Apex and VisualforceSalesforce Developers
 
Building and running Spring Cloud-based microservices on AWS ECS
Building and running Spring Cloud-based microservices on AWS ECSBuilding and running Spring Cloud-based microservices on AWS ECS
Building and running Spring Cloud-based microservices on AWS ECSJoris Kuipers
 

Was ist angesagt? (20)

Database Normalization
Database NormalizationDatabase Normalization
Database Normalization
 
plProxy, pgBouncer, pgBalancer
plProxy, pgBouncer, pgBalancerplProxy, pgBouncer, pgBalancer
plProxy, pgBouncer, pgBalancer
 
간단한 블로그를 만들며 Django 이해하기
간단한 블로그를 만들며 Django 이해하기간단한 블로그를 만들며 Django 이해하기
간단한 블로그를 만들며 Django 이해하기
 
How Vanguard and Bloomberg Use AWS PrivateLink (NET323) - AWS re:Invent 2018
How Vanguard and Bloomberg Use AWS PrivateLink (NET323) - AWS re:Invent 2018How Vanguard and Bloomberg Use AWS PrivateLink (NET323) - AWS re:Invent 2018
How Vanguard and Bloomberg Use AWS PrivateLink (NET323) - AWS re:Invent 2018
 
카카오i 오픈빌더로 피자챗봇 만들기
카카오i 오픈빌더로 피자챗봇 만들기카카오i 오픈빌더로 피자챗봇 만들기
카카오i 오픈빌더로 피자챗봇 만들기
 
An Overview of ModeShape
An Overview of ModeShapeAn Overview of ModeShape
An Overview of ModeShape
 
Django를 Django답게, Django로 뉴스 사이트 만들기
Django를 Django답게, Django로 뉴스 사이트 만들기Django를 Django답게, Django로 뉴스 사이트 만들기
Django를 Django답게, Django로 뉴스 사이트 만들기
 
Giving MongoDB a Way to Play with the GIS Community
Giving MongoDB a Way to Play with the GIS CommunityGiving MongoDB a Way to Play with the GIS Community
Giving MongoDB a Way to Play with the GIS Community
 
[Pgday.Seoul 2017] 3. PostgreSQL WAL Buffers, Clog Buffers Deep Dive - 이근오
[Pgday.Seoul 2017] 3. PostgreSQL WAL Buffers, Clog Buffers Deep Dive - 이근오[Pgday.Seoul 2017] 3. PostgreSQL WAL Buffers, Clog Buffers Deep Dive - 이근오
[Pgday.Seoul 2017] 3. PostgreSQL WAL Buffers, Clog Buffers Deep Dive - 이근오
 
날로 먹는 Django admin 활용
날로 먹는 Django admin 활용날로 먹는 Django admin 활용
날로 먹는 Django admin 활용
 
Magic methods in php
Magic methods in phpMagic methods in php
Magic methods in php
 
How Oath (a Verizon Company) Built a Multi-Region GDPR Application with Amazo...
How Oath (a Verizon Company) Built a Multi-Region GDPR Application with Amazo...How Oath (a Verizon Company) Built a Multi-Region GDPR Application with Amazo...
How Oath (a Verizon Company) Built a Multi-Region GDPR Application with Amazo...
 
Full Page Writes in PostgreSQL PGCONFEU 2022
Full Page Writes in PostgreSQL PGCONFEU 2022Full Page Writes in PostgreSQL PGCONFEU 2022
Full Page Writes in PostgreSQL PGCONFEU 2022
 
Infinispan for Dummies
Infinispan for DummiesInfinispan for Dummies
Infinispan for Dummies
 
Postgres & Red Hat Cluster Suite
Postgres & Red Hat Cluster SuitePostgres & Red Hat Cluster Suite
Postgres & Red Hat Cluster Suite
 
Odoo (Build module, Security, ORM)
Odoo (Build module, Security, ORM)Odoo (Build module, Security, ORM)
Odoo (Build module, Security, ORM)
 
Raster Data In GeoServer And GeoTools: Achievements, Issues And Future Develo...
Raster Data In GeoServer And GeoTools: Achievements, Issues And Future Develo...Raster Data In GeoServer And GeoTools: Achievements, Issues And Future Develo...
Raster Data In GeoServer And GeoTools: Achievements, Issues And Future Develo...
 
AMPscript for Email Marketing
AMPscript for Email MarketingAMPscript for Email Marketing
AMPscript for Email Marketing
 
Leverage StandardSetController in Apex and Visualforce
Leverage StandardSetController in Apex and VisualforceLeverage StandardSetController in Apex and Visualforce
Leverage StandardSetController in Apex and Visualforce
 
Building and running Spring Cloud-based microservices on AWS ECS
Building and running Spring Cloud-based microservices on AWS ECSBuilding and running Spring Cloud-based microservices on AWS ECS
Building and running Spring Cloud-based microservices on AWS ECS
 

Ähnlich wie 왓슨 컨버세이션으로 챗봇 만들기 ! WCS 활용법

Clova Tech Summit 2: 대화모델 엔진 구조와 Chatbot 개발 최적화 방안
Clova Tech Summit 2: 대화모델 엔진 구조와 Chatbot 개발 최적화 방안Clova Tech Summit 2: 대화모델 엔진 구조와 Chatbot 개발 최적화 방안
Clova Tech Summit 2: 대화모델 엔진 구조와 Chatbot 개발 최적화 방안Clova Platform
 
Bluemix 23th meetup 실습 자료
Bluemix 23th meetup 실습 자료Bluemix 23th meetup 실습 자료
Bluemix 23th meetup 실습 자료HyeonJeong Jo
 
e-Commerce Chatbot Day1
e-Commerce Chatbot Day1e-Commerce Chatbot Day1
e-Commerce Chatbot Day1Startup Coding
 
Designing Effective Interview Chatbots: Automatic Chatbot Profiling and Desig...
Designing Effective Interview Chatbots: Automatic Chatbot Profiling and Desig...Designing Effective Interview Chatbots: Automatic Chatbot Profiling and Desig...
Designing Effective Interview Chatbots: Automatic Chatbot Profiling and Desig...박 상아
 
U&i insight2012스터디설명회
U&i insight2012스터디설명회U&i insight2012스터디설명회
U&i insight2012스터디설명회Amy Young Ah Kim
 
[AWS Builders] 손쉽게 만드는 AWS기반 한국어 챗봇 빌더 서비스
[AWS Builders] 손쉽게 만드는 AWS기반 한국어 챗봇 빌더 서비스[AWS Builders] 손쉽게 만드는 AWS기반 한국어 챗봇 빌더 서비스
[AWS Builders] 손쉽게 만드는 AWS기반 한국어 챗봇 빌더 서비스Amazon Web Services Korea
 
IBM Watson Assistant 기반 챗봇 제작 기초 강좌 (2019.11.18)
IBM Watson Assistant 기반 챗봇 제작 기초 강좌 (2019.11.18)IBM Watson Assistant 기반 챗봇 제작 기초 강좌 (2019.11.18)
IBM Watson Assistant 기반 챗봇 제작 기초 강좌 (2019.11.18)KYOYOON JUNG
 
서버리스(Serverless)를 위한 Zombie Microservices Workshop 실습 가이드 :: 윤석찬 (AWS 테크에반젤...
서버리스(Serverless)를 위한 Zombie Microservices Workshop 실습  가이드 ::  윤석찬 (AWS 테크에반젤...서버리스(Serverless)를 위한 Zombie Microservices Workshop 실습  가이드 ::  윤석찬 (AWS 테크에반젤...
서버리스(Serverless)를 위한 Zombie Microservices Workshop 실습 가이드 :: 윤석찬 (AWS 테크에반젤...Amazon Web Services Korea
 
Wwc2016 기획디자인개발그리고프로토
Wwc2016 기획디자인개발그리고프로토Wwc2016 기획디자인개발그리고프로토
Wwc2016 기획디자인개발그리고프로토keesung kim
 
비대면 MSA / CNA 강의 - Contactless Microservices Architecture Learning
비대면 MSA / CNA 강의 - Contactless Microservices Architecture Learning비대면 MSA / CNA 강의 - Contactless Microservices Architecture Learning
비대면 MSA / CNA 강의 - Contactless Microservices Architecture LearninguEngine Solutions
 
[AIS 2018] [Team Tools_Advanced] Altassian 기능 확장과 구축사례 - 한국정보컨설팅
[AIS 2018] [Team Tools_Advanced] Altassian 기능 확장과 구축사례 - 한국정보컨설팅[AIS 2018] [Team Tools_Advanced] Altassian 기능 확장과 구축사례 - 한국정보컨설팅
[AIS 2018] [Team Tools_Advanced] Altassian 기능 확장과 구축사례 - 한국정보컨설팅Atlassian 대한민국
 
꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)
꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)
꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)VMware Tanzu Korea
 
개발자, 성장하는 '척' 말고, 진짜 성장하기
개발자, 성장하는 '척' 말고, 진짜 성장하기개발자, 성장하는 '척' 말고, 진짜 성장하기
개발자, 성장하는 '척' 말고, 진짜 성장하기Donghyun Cho
 
[마인즈랩] 챗봇 소개서 201707
[마인즈랩] 챗봇 소개서 201707[마인즈랩] 챗봇 소개서 201707
[마인즈랩] 챗봇 소개서 201707Taejoon Yoo
 
Clova 플랫폼을 활용한 인공지능 서비스 개발
Clova 플랫폼을 활용한 인공지능 서비스 개발Clova 플랫폼을 활용한 인공지능 서비스 개발
Clova 플랫폼을 활용한 인공지능 서비스 개발Clova Platform
 
개발자로써 갖춰야할 스킬들 - 최용호
개발자로써 갖춰야할 스킬들 - 최용호개발자로써 갖춰야할 스킬들 - 최용호
개발자로써 갖춰야할 스킬들 - 최용호용호 최
 
반복적인 코드 작업 자동화, Codebone으로 손쉽게
반복적인 코드 작업 자동화, Codebone으로 손쉽게반복적인 코드 작업 자동화, Codebone으로 손쉽게
반복적인 코드 작업 자동화, Codebone으로 손쉽게Sungju Jin
 
Python과 Tensorflow를 활용한 AI Chatbot 개발 및 실무 적용
Python과 Tensorflow를 활용한  AI Chatbot 개발 및 실무 적용Python과 Tensorflow를 활용한  AI Chatbot 개발 및 실무 적용
Python과 Tensorflow를 활용한 AI Chatbot 개발 및 실무 적용Susang Kim
 

Ähnlich wie 왓슨 컨버세이션으로 챗봇 만들기 ! WCS 활용법 (20)

Clova Tech Summit 2: 대화모델 엔진 구조와 Chatbot 개발 최적화 방안
Clova Tech Summit 2: 대화모델 엔진 구조와 Chatbot 개발 최적화 방안Clova Tech Summit 2: 대화모델 엔진 구조와 Chatbot 개발 최적화 방안
Clova Tech Summit 2: 대화모델 엔진 구조와 Chatbot 개발 최적화 방안
 
Bluemix 23th meetup 실습 자료
Bluemix 23th meetup 실습 자료Bluemix 23th meetup 실습 자료
Bluemix 23th meetup 실습 자료
 
e-Commerce Chatbot Day1
e-Commerce Chatbot Day1e-Commerce Chatbot Day1
e-Commerce Chatbot Day1
 
Designing Effective Interview Chatbots: Automatic Chatbot Profiling and Desig...
Designing Effective Interview Chatbots: Automatic Chatbot Profiling and Desig...Designing Effective Interview Chatbots: Automatic Chatbot Profiling and Desig...
Designing Effective Interview Chatbots: Automatic Chatbot Profiling and Desig...
 
U&i insight2012스터디설명회
U&i insight2012스터디설명회U&i insight2012스터디설명회
U&i insight2012스터디설명회
 
[AWS Builders] 손쉽게 만드는 AWS기반 한국어 챗봇 빌더 서비스
[AWS Builders] 손쉽게 만드는 AWS기반 한국어 챗봇 빌더 서비스[AWS Builders] 손쉽게 만드는 AWS기반 한국어 챗봇 빌더 서비스
[AWS Builders] 손쉽게 만드는 AWS기반 한국어 챗봇 빌더 서비스
 
IBM Watson Assistant 기반 챗봇 제작 기초 강좌 (2019.11.18)
IBM Watson Assistant 기반 챗봇 제작 기초 강좌 (2019.11.18)IBM Watson Assistant 기반 챗봇 제작 기초 강좌 (2019.11.18)
IBM Watson Assistant 기반 챗봇 제작 기초 강좌 (2019.11.18)
 
서버리스(Serverless)를 위한 Zombie Microservices Workshop 실습 가이드 :: 윤석찬 (AWS 테크에반젤...
서버리스(Serverless)를 위한 Zombie Microservices Workshop 실습  가이드 ::  윤석찬 (AWS 테크에반젤...서버리스(Serverless)를 위한 Zombie Microservices Workshop 실습  가이드 ::  윤석찬 (AWS 테크에반젤...
서버리스(Serverless)를 위한 Zombie Microservices Workshop 실습 가이드 :: 윤석찬 (AWS 테크에반젤...
 
Wwc2016 기획디자인개발그리고프로토
Wwc2016 기획디자인개발그리고프로토Wwc2016 기획디자인개발그리고프로토
Wwc2016 기획디자인개발그리고프로토
 
챗봇 스터디
챗봇 스터디챗봇 스터디
챗봇 스터디
 
비대면 MSA / CNA 강의 - Contactless Microservices Architecture Learning
비대면 MSA / CNA 강의 - Contactless Microservices Architecture Learning비대면 MSA / CNA 강의 - Contactless Microservices Architecture Learning
비대면 MSA / CNA 강의 - Contactless Microservices Architecture Learning
 
[AIS 2018] [Team Tools_Advanced] Altassian 기능 확장과 구축사례 - 한국정보컨설팅
[AIS 2018] [Team Tools_Advanced] Altassian 기능 확장과 구축사례 - 한국정보컨설팅[AIS 2018] [Team Tools_Advanced] Altassian 기능 확장과 구축사례 - 한국정보컨설팅
[AIS 2018] [Team Tools_Advanced] Altassian 기능 확장과 구축사례 - 한국정보컨설팅
 
꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)
꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)
꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)
 
개발자, 성장하는 '척' 말고, 진짜 성장하기
개발자, 성장하는 '척' 말고, 진짜 성장하기개발자, 성장하는 '척' 말고, 진짜 성장하기
개발자, 성장하는 '척' 말고, 진짜 성장하기
 
[마인즈랩] 챗봇 소개서 201707
[마인즈랩] 챗봇 소개서 201707[마인즈랩] 챗봇 소개서 201707
[마인즈랩] 챗봇 소개서 201707
 
Ipa approach
Ipa approachIpa approach
Ipa approach
 
Clova 플랫폼을 활용한 인공지능 서비스 개발
Clova 플랫폼을 활용한 인공지능 서비스 개발Clova 플랫폼을 활용한 인공지능 서비스 개발
Clova 플랫폼을 활용한 인공지능 서비스 개발
 
개발자로써 갖춰야할 스킬들 - 최용호
개발자로써 갖춰야할 스킬들 - 최용호개발자로써 갖춰야할 스킬들 - 최용호
개발자로써 갖춰야할 스킬들 - 최용호
 
반복적인 코드 작업 자동화, Codebone으로 손쉽게
반복적인 코드 작업 자동화, Codebone으로 손쉽게반복적인 코드 작업 자동화, Codebone으로 손쉽게
반복적인 코드 작업 자동화, Codebone으로 손쉽게
 
Python과 Tensorflow를 활용한 AI Chatbot 개발 및 실무 적용
Python과 Tensorflow를 활용한  AI Chatbot 개발 및 실무 적용Python과 Tensorflow를 활용한  AI Chatbot 개발 및 실무 적용
Python과 Tensorflow를 활용한 AI Chatbot 개발 및 실무 적용
 

왓슨 컨버세이션으로 챗봇 만들기 ! WCS 활용법

  • 1. Watson Conversation으로 쉽게 만드는 챗봇 IBM Developer Outreach Team
  • 2. Agenda Watson Conversation 활용법 최신 챗봇 적용 사례 살펴보기 튜토리얼 따라하며 배우기 챗봇 프로젝트 방법론 및 Best Practices! 1 2 3 4 챗봇 도입 사례 살펴보기 챗봇 트렌드 파악하기! Watson Conversation UI 툴의 이해 API 구조 및 사용 법 이해하기 챗봇 Reference Architecture 메신저 연결하기, 질문 모으기, 대화 서비스 만들기, 백엔드 연결하기직접 실습합니다. 챗봇 프로젝트! 단계별로 알아보기 챗봇을 검증하는 다양한 방법들
  • 5. Watson Conversation I’m Watson. I can help you order a pizza. What size? Great ! Can I get a medium? Perfect. What toppings are you in the mood for today? 대화 기반 어플리케이션(챗봇)을 만들기 위해 필 요한 모든 툴을 제공 사용자의 메세지를 머신러닝을 사용하여 이해하 고 고객에게 응답 블루믹스에서 30일 Free Trial로 사용 가능
  • 6. Watson Conversation 시나리오 아이스 아메리카노 한잔 주세요. 의도 : 주문 ---à Intent 메뉴 : 아이스 아메리카노 -à Entity 수량 : 한 잔 --à System Entity 사이즈는 어떤 걸로 드릴까요? 레귤러요 조건 : 메뉴, 사이즈, 수량 문맥 : - 메뉴 : 아이스 아메리카노 - 수량 : 한잔 부족한것 : 사이즈! -> 사이즈를 물어보자! -> Response 사이즈 : 레귤러 à Entity 네! 주문이 완료 되었습니다. 조건 : 메뉴, 사이즈, 수량 문맥 : - 메뉴 : 아이스 아메리카노 - 수량 : 한잔 - 사이즈 : 레귤러 부족한것 : 없음! -> 주문을 넣어야 겠군! à Action
  • 7. Watson Conversation 시나리오 아이스 아메리카노 한잔 주세요. 의도 : 주문 ---à Intent 메뉴 : 아이스 아메리카노 -à Entity 수량 : 한 잔 --à System Entity 사이즈는 어떤 걸로 드릴까요? 레귤러요 조건 : 메뉴, 사이즈, 수량 문맥 : - 메뉴 : 아이스 아메리카노 - 수량 : 한잔 부족한것 : 사이즈! -> 사이즈를 물어보자! -> Response 사이즈 : 레귤러 à Entity 네! 주문이 완료 되었습니다. 조건 : 메뉴, 사이즈, 수량 문맥 : - 메뉴 : 아이스 아메리카노 - 수량 : 한잔 - 사이즈 : 레귤러 부족한것 : 없음! -> 주문을 넣어야 겠군! à Action 주문 Intent 작성 메뉴 Entity 설정 Dialog 설정 Context 관리 Action 관리 사이즈 Entity 설정
  • 8. Intent [정의] 사용자가 하려는 말의 의도, 목적을 의미, #을 Prefix로 사용한다. Watson Conversation에서는 NLC(Natural Language Classifier)를 통해 문장의 Intent 를 파악한다. [예시] • 오늘 예약 가능한 회의실 있어요? • 급하게 회의실이 필요한데 어디로 가면 돼요? • 회의실 예약해주세요. • 미팅룸 없을까요? • 회의실 예약좀 해줄래? #회의실_예약
  • 9. Entity [정의] Intent와 관련된 데이터 타입이나 클래스 를 의미하며 문장에서 주요한 컨텍 스트를 제공하거나 분명한 문장을 만드는 명사. @을 Prefix로 사용한다. [예시] • Korea • IFC • 13층 • 남쪽 • 13M01 @위치 @날짜 • 오늘 • 다음 주 • 7월 7일 • 지금 • 금요일
  • 10. System Entity [정의] 미리 정의된 엔티티로 @을 Prefix로 사용한다. https://www.ibm.com/watson/developercloud/doc/conversation/system- entities.html#sys-date-and-sys-time-entities [예시] • Today • 2017-04-26 • Now • Friday • April 26 @sys-date @sys-time • Now • 2pm • At 5 • 15:30 • From 2 to 3
  • 11. Dialog [정의] 사용자와의 대화에 어떻게 응답할 것인가를 정의한다. 사용자의 메세지를 인풋으로 하여 Intent와 Entity를 기반으로 적절한 응답을 설계한다. [예시] #예약 #인사 안녕하세요. 무엇을 도와드릴까요? 언제 필요하신가요? @날짜 몇 명이 참석하나요?
  • 12. Context [정의] 대화의 문맥을 기억하기 위한 장치로 $를 prefix로 사용한다. [예시] $user.name님 안녕하세요? 김명민님 안녕하세요? “context”:{ “user” { “name” : “김명민” } }
  • 13. Watson Conversation Tool CSV Upload (question, intent)
  • 15. Watson Conversation Easy Tool Mixed Initiative Dialog Easy Integration High Accuracy Easy Tool • 쉽고 직관적인 UI 툴로 개발자가 아닌 사람도 쉽게 사용 가능! • Intent, Entity, Dialog 기반의 대 화 서비스 빌드 • 채팅 로그를 저장하고, 시스템 을 개선시킬 수 있는 보정 기능 제공 High Accuracy • NLC(Natural Language Classifi er) 기반 Intent 추측 • NLP(Natural Language Proces sing)과 머신러닝 기반 Entity 추출 Mixed Initiative Dialog • 사용자 또는 시스템이 일 방적으로 대화를 이끌기 보다 적절하게 조화 • 한번의 Q&A에 그치는 것이 아니라 Context를 유지하면 서 지속적인 대화 가능 Easy Integration • Restful API 제공, 다양한 개발 언어의 SDK 제공 • API Input/Output의 JSON 포맷을 변형하여 다양하 게 활용 가능
  • 16. Watson Conversation API Overview Watson Conversation API Explorer POST /message
  • 17. Watson Conversation API 이해하기 POST /message { “intents” : [ “intent” : “Greeting” “confidence” : 0.99 ], “entities” : [ ], “input” : { “text” : “Hi” }, “output”: { “text” : “Hello HJ” }, “context”:{ “user” : “HJ" } } { “input” : { “text” : “Hi” }, “context”:{ “user” : “HJ” } }
  • 19. Watson Conversation 관련 문서 목록 Watson Conversation 소개 문서 https://www.ibm.com/watson/developercloud/doc/conversation/index.html API 문서 https://www.ibm.com/watson/developercloud/conversation/api/v1/#introduction API 테스트 https://watson-api-explorer.mybluemix.net/apis/conversation-v1 개발 툴, SDK, Starter Kit https://www.ibm.com/watson/developercloud/developer-tools.html 튜토리얼 https://developer.ibm.com/kr/cloud/bluemix/watsonservice/2017/01/13/watsonchatbot-1- watson-conversation/ 샘플 코드 https://github.com/watson-developer-cloud/conversation-simple
  • 20. 문맥 관리하기 (Context) POST /message 간단한 방법 POST /message DB에 저장하는 방법 Output의 context를 payload context 로 바로 저장 Output의 context를 DB에 저장 Payload를 전송하기 전에 DB에서 Context를 가져옴
  • 21. 시스템과 연동하기(예시) Watson Response { "output": { "action": "getPoint" } } “포인트 몇점 있어요?” “600 포인트 남았어요.” Watson Response { "output": { ”text": ”$point 포인트 남았어요." } } Payload { ”context": { ”point": 600 } }
  • 23. (정리) 서비스 다이어그램 사용자 메세지 응답 추출 인텐트 엔티티 문맥 응답 백엔드 시스템다른 서비스 Natural Language Classification Entity Recognition
  • 26. 튜토리얼 따라하며 배우기 - 회의실 예약 챗봇
  • 27. 챗봇 만들기 Tutorial Architecture 사용자 인터페이스 어플리케이션 워크스페이스 Conversation Service 백엔드 시스템
  • 28. 튜토리얼 소개 1. WCS 시작하 기 2. 챗봇 노출하기 3. 질문 수집하 기 4. Intent 분류하 고 학습시키기 5. Entity와 Dialog 설정하 기 6. Backend 서비 스와 연동하기
  • 29. 사전 준비 사항 Bluemix Account 생성 및 CLI 설치1 2 3 GIT 설치 Node.js 설치 https://github.com/cloudfoundry/cli#dow nloads https://console.ng.mybluemix.net https://nodejs.org/en/#d ownload https://git- scm.com/book/ko/v1/%EC%8B%9 C%EC%9E%91%ED%95%98%EA%B 8%B0-Git- %EC%84%A4%EC%B9%98
  • 30. Developerworks 왓슨으로 쉽게 개발하는 카카오톡 챗봇 튜토리얼 시리즈
  • 31. 튜토리얼 1. WCS 시작하기 [목표] • Bluemix에서 Watson Conversation 서비스 인스턴스 생성하기 • WCS 툴에 접근하기 • 내 Workspace 생성하기 • 내 Credential 정보 확인하기
  • 32. 튜토리얼 2. 챗봇 노출하기 [목표] • Web Client 로 노출 하기 (필수) • 카카오톡 연동 (옐로아이디 이미 있는경우에만, 선택) • 텔레그램 연동 (선택)
  • 33. 튜토리얼 3. 질문 수집하기 카카오톡에서 친구 추가하여 영문으로 회의실 예약을 진행해주세요. @camomile_bot
  • 34. 튜토리얼 4. Intent 분류하고 학습시키기 https://meetup23th.eu-gb.mybluemix.net/csv/questions
  • 35. 튜토리얼 5. Entity와 Dialog 설정하기
  • 36. 튜토리얼 6. Backend 서비스와 연동하기
  • 37. 챗봇 프로젝트 Best Practice! Ground truth 관리 Dialog 설정 실험적 검증 질문 수집 Premise 1. Data Driven Project !! Premise 2. Incremental and iterative project 가능한 빨리 오픈하여 실제 사용자 데이터를 얻어야 함
  • 38. 챗봇 프로젝트 방법론 • 실제 사용자의 메세 지를 수집하기 위한 단계 • 수집한 메세지를 인 텐트로 분류 Ground Truth • 사용자에게 적절한 응답을 주고 상호작 용 하였는가를 확인 하는 단계 • 적절한 통계 처리를 통한 오류 분석 검증 • WCS를 사용하는 UI를 생성한다. • 생성한 어플리케이 션을 사용자가 접근 가능한 곳에 배포한 다. User Interface • 더 나은 Dialog 흐 름과 답변으로 시 스템 개선 • Ground Truth 유 지보수를 통해 시 스템 개선 개선 • Dialog 흐름을 설정한 다. • 필요한 경우 Entity를 설정한다. 대화 흐름 설정
  • 39. 챗봇 프로젝트 방법론 > User Interface • WCS를 사용하는 UI를 생성한다. • 생성한 어플리케이 션을 사용자가 접 근 가능한 곳에 배 포한다. User Interface 1. 실제 사용자의 데이터 수집 2. 데이터 수집 단계에서 가능한 실제와 같이 !! • 챗봇은 Data driven 프로젝트 ! -> 실제 사용자 예제가 반드시 있어야 함 • 사용자가 도메인에 맞는 질문을 하도록 유도하는 UI가 필요 • Device Type, UI 등이 모두 고려되어야 함
  • 40. 챗봇 프로젝트 방법론 : Ground Truth 관리(Intent) • 실제 사용자의 메세 지를 수집하기 위한 단계 • 수집한 메세지를 인 텐트로 분류 Ground Truth 1. Ground Truth는 Machine Learning 알고리즘을 학습시키기 위한 Training Data 2. 동일한 행동을 유발해야 하는 질문을 함께 그룹화 • Example – Intent Mapping • 챗봇의 정확도를 좌우함! • 일관성이 중요
  • 41. 챗봇 프로젝트 방법론 : Dialog Flows • Dialog 흐름을 설정한 다. • 필요한 경우 Entity를 설정한다. 대화 흐름 설정 1. 시스템이 사용자와 상호작용 하는 방식을 정의 2. 다양한 UI/UX를 활용 3. 필요한 경우 Entity 생성 • 친숙하고 사람같은 챗봇 ! • Multi Step Dialog를 설계 ( Mixed Initiative Dialog !) • 가벼운 대화 • 버튼 • 지도 • 이미지
  • 42. 챗봇 프로젝트 방법론 : 검증 • 간단한 실험 디자인 Question Answer Question 1 Answer 1 Question 2 Answer 1 Question 3 Answer 2 Question 4 Answer 3 Question 5 Answer 3 …. … Question N Answer N Question Answer Question 1 Answer 1 Question 3 Answer 2 Question 4 Answer 3 …. … Question N Answer N Question Answer Question 2 Answer 1 Question 5 Answer 3 …. … Question N Answer N 랜덤하게 Training Set와 Test Set 으로 분할 Tests Trained W atson Metrics
  • 43. 챗봇 프로젝트 방법론 : 검증 • K-Fold Cross Validation • 트레이닝/테스트를 K번 반복 실행함으로써 K세트의 메트릭을 얻는다. • 평균과 표준 편차, 신뢰 구간을 얻을 수 있다. Training Training Training Training Testing Accuracy / Precision@k Training Training Training Testing Training Training Training Testing Training Training Training Testing Training Training Training Testing Training Training Training Training Average: Accuracy / Precision Accuracy / Precision@k Accuracy / Precision@k Accuracy / Precision@k Accuracy / Precision@k
  • 44. 챗봇 프로젝트 방법론 : 검증 • Accuracy: 시스템이 Intent를 정확하게 예측 한 질문의 비율 • Precision @ k: 시스템이 가장 높은 신뢰 점수를 가진 상위 K개의 예측된 Intent 사이에 올바른 의도가 있는 질문의 비율 시스템이 정확하게 예측한 테스트 케이스 총 테스트 케이스 가장 높은 신뢰도로 예측한 상위 K개의 예측된 Intent에 올바른인텐트가 있는 케이스 총 테스트 케이스
  • 45. 챗봇 프로젝트 방법론 : 개선 • 정확도를 높이기 위해서는 ! Intent Overlapping이 최소화 되어야 함 • 비슷한 Intent 는 재작업이 필요 ! • Intent를 나눈다. 더 작은 인텐트를 생성한다. • 두 Intent의 Example이 비슷하게 형성되어 있으면 Intent를 합친다 • 에러를 방지하기 위해 Example을 재다시맵핑한다 – 대표성이 낮은 인텐트는 구분이 힘들다. • Intent가 대표성을 가지도록 더 많은 질문을 수집 – Example은 다다익선 • Key Task : 질문과 Intent를 재맵핑한다. – 오류 및 품질 저하를 피하기 위해 윈칙적인 방법으로 수행 – Validation 단계에서 유용한 힌트를 얻을 수 있음 • 더 나은 Dialog 흐 름과 답변으로 시 스템 개선 • Ground Truth 유 지보수를 통해 시 스템 개선 개선