SlideShare uma empresa Scribd logo
1 de 41
Baixar para ler offline
Clova Extension – 대화모델 엔진 구조와
챗봇 개발 최적화 방안
Clova 챗봇 딥러닝 언어 모델 개발
신성진
Contents 1
2
3
4
Overview
Clova 대화모델 엔진 구조
Clova Chatbot Extension 가이드
챗봇 개발 최적화 방안
1 Overview
1. Overview
Clova Extension Kit (CEK) Chatbot을 개발하고, 여러 챗봇들을 출시하면서 겪었던 경험을 공유
네이버 고객센터 챗봇 (현 베타 서비스 8개 + @)
이벤트 챗봇 Clova 한국어 대화
2017.12월 첫 출시 이후로 현재까지 30개 이상의 서비스와 PoC를 출시 / 경험
각종 제휴 PoC 및 서비스
- Chatbot Framework 구축
: 대화 Framework 및 대화 모델 중 딥러닝 활용 모델
소개
- CEK를 통한 Chatbot 생성 가이드
: 도메인 생성 부터 서비스 Platform 연동까지 가이드
- Chatbot을 개발 최적화
: 실제 서비스를 론칭하기 까지 프로젝트 사례와,
데이터 활용 팁 공유
1. Overview
Deep Learning to Natural Language Processing
언어 데이터는 의미가 주변 단어에 의존하여 생성되기 때문에 Feature 추출이 어려움
+ 각 언어마다 문법과 구조가 달라, 활용 할 수 있는 데이터도 제한적…. (No MNIST, CIFAR-10 Dataset for KOREAN NLP….)
자연어처리가 어려운 이유….
Image Text
Image
고양이, 강아지 사진과 같은
각각의 데이터에 고유의 의미 값이 있음
Text
각 텍스트 단어에 대한 데이터에 고유의 의미가 없고,
주변 단어에 의해서 의미를 부여해야 함 (Unstable)
단어의 주변을 보면 그 단어를 안다.
단어 의 주변 을 보면 그 단어 안다를
단어[명사]: 분리하여
자립적으로 쓸 수 있는
말이나 이에 준하는 말
단어: ?
의: ?
주변: ?
1. Overview
Deep Learning to Natural Language Processing
컴퓨터의 성능, 많은 데이터와 알고리즘의 발전으로 개선
번역 인공지능 스피커 대화형 챗봇
대화를 ‘잘 알아듣게’ 하려면?
2 CEK 대화모델 엔진 구조
2. CEK 대화모델 엔진 구조
2.1 Chatbot Framework
Query Answer
Query
Pre-processing
Query
classification
Chatbot
Search
Engine
User
Guide
rama chil
akella
kaa
언어특징 추출
라이브러리
형태소 분석
개체명 인식
raksha
vector
representaion
멀티플랫폼 서비스 엔진
다양한 경로로 인입된 쿼리를
실시간 처리해 Clova, 라인 등
외부 메신저 플랫폼, 웹에 서비
스
쿼리 분류기
대화인지 여부
와 도메인 판정
챗봇 모델
답변 생성
baloo
전처리 라이브러리
분석된 언어 특징
을
대화 모델이 이해
가능한 형태로 변
경
Query
Feature
Extraction
Chat & Voice Platform
2. CEK 대화모델 엔진 구조
2.1 Chatbot Framework
NLP
Query
Classifier
Chatbot
NAS
Variational Models
Answering Model
Optimization
ML Architecture
External Model
External Model
Query
Result
Answer
Output
Output
챗봇 아키텍쳐
지속적인 Feature 및 모델 개선, 추가에 대한
“서비스”가 가능한 유연한 구조로 설계
2. CEK 대화모델 엔진 구조
2.2 Model Workflow
Query Tokenization NE Tagging chat?
Chatbot
model
Naver search
Sentence
embedding
model
Compute
score
Compute
score
ensemble>Threshold?Answer
“답할 수 없는
말이에요”
no
yes
yes
no
답변 생성 절차
쿼리의 언어적 특징을 추출, 해당 쿼리가 대
화(chat)일 경우 이를 챗봇과 문장 임베딩 두
모델에 넣어 결과를 산출하고 score 계산, 이
점수가 threshold보다 높을 경우 답변
2. CEK 대화모델 엔진 구조
2.3 Dialogue Component
Sentence splitting
Linguistic feature extraction
Tokenization
Part-Of-Speech Tagging
Named Entity Tagging
Vector Representation
Naïve Bayes
Query classification
Feed-Forward NN
GAN
Ensemble Model
Long Short-Term Memory
Chatbot Model
Gated Recurrent Unit
Cell
N-hot representation Bidirectional Encoder
Architecture
Embedding Sharing
Multiplicative Attention Additive Attention
Attention
Highway Network
질의, 응답을 전처리한 후
형태소, 개체명 등 언어적
특징을 뽑아 벡터로 표현
N-hot, FastText, TAPI…
질의 의도가 대화(chat)인
지
검색(search)인지 분류하고
대화라면 도메인 판정
질의 시퀀스가 주어졌을 때 답변 시퀀스를 생성 블로그 만드는법 알려줘
블로그/<Noun>, 만드는/<Verb>, 법<Noun>
알려/<VERB>, 줘/<VERB>
블로그는 별도의 개설 절차가 없으며 …
Vector Space
2. CEK 대화모델 엔진 구조
2.4 Base Model
Seq2Seq-Based Model
Google의 GMNT에서 아이디어를 착안하여
한국어 및 대화형 데이터에 최적인 대화 모델 설계
*GMNT (Google’s Neural Machine Translation): https://arxiv.org/pdf/1609.08144.pdf
2. CEK 대화모델 엔진 구조
2.5 Model Architecture GRU
1 2Cell Bi-directional LSTM + Highway Network
4 Embedding Sharing
𝑤"#$ … 𝑤"#&
𝑤'#$
…𝑤'#$<go>
…𝑤'#(
1
5
3 4
4
62
7
8
LSTM
Bi-LSTM
Residual Block
6 Query Encoding Vector
7 Query Encoder
8 Answer Decoder
5 N-hot representation
Additional Research
Convolutional S2S
DSSMAdditive
Multiplicative
Attention Mechanism3
2. CEK 대화모델 엔진 구조
2.6 N-hot vector
∑
Hidde
n=128
Token one-hot
d=# of vocabulary
POS tag one-hot
d=# of tag
Token endingone-hot
d=# of ending
Token
EmbeddingMatrix
POS tag
EmbeddingMatrix
Token ending
EmbeddingMatrix
Embedding matrix 구축
(1) Uniform Random
(2) Xavier Initialization
(3) Pre-trained word vectors
배경
한국어/일본어는 조사, 어미가 발달. 토크나이즈 작업 생략하거나 토
큰의 기본형만 학습에 반영할 경우 모델 성능 저하 경향.
개요
기본형, 품사, 조사와 어미, 개체명을 모두 포함하는 representation 기법.
기법
기본형, 품사, 조사 + 개체명에 해당하는 one-hot-vector를 만들고, 이를
각각 embedding matrix와 내적한 뒤 셋을 합쳐 chatbot model의 입력값
으로 넣음
One-hot-vector 생성
POS Tagging : 네이버 다국어
형태소 분석기
NE Tagging : 사전, 패턴, 모델 기반
NE tag one-hot
d=# of tag
NE tag
EmbeddingMatrix
2. CEK 대화모델 엔진 구조
2.7 Prediction Flow
Initiator Model
Escape Model
State-based Model
Dialogue History
Utterance Model
Query Answer
Chatbot
Multi-turn Detector
Template-based Model
Goal-oriented Model
Response Selector
3 Clova Chatbot Extension 가이드
3. Clova Chatbot Extension 가이드
3-1. 도메인 생성: Extension 생성
4 / 30
https://developers.naver.com/console/clova/ -> 새로운 extention 생성 -> Chatbot을 선택하여 만들기 선택
3. Clova Chatbot Extension 가이드
3-2. 기본 설정: 메세지
인사 메세지, 답변 불가 및 거부에 대한
메세지 설정
금칙어 입력
3. Clova Chatbot Extension 가이드
3-2. 기본 설정: 답변 옵션
객관식 형태 답변 생성
답변 생성에 대한 Action 지정 (URL연동 기능)
3. Clova Chatbot Extension 가이드
3-2. 기본 설정: 언어 모델
답변에 대한 정확도 허용치 설정
각 모델의 앙상블 비율을 설정
고객의 쿼리에서 일정 비율이상
답변 거부
3. Clova Chatbot Extension 가이드
3-3. 기본 설정: 채널
3. Clova Chatbot Extension 가이드
3-4. 대화 모델: 사용자 발화 입력
학습에 필요한 대화셋 생성
EX)
#등록 오류 메세지
Q1: 등록 시 오류 메세지가 노출되요.
Q2: 등록 버튼을 클릭해도 반응이 없어요
A: 포스트에 잘못된 html 태그 혹은 브라우저
의 오류로 등록이 …..
3. Clova Chatbot Extension 가이드
3-4. 대화 모델: 사용자 발화 입력 (개체명)
Entity (개체명)을 입력
3. Clova Chatbot Extension 가이드
3-4. 대화 모델: 사용자 발화 입력 (개체명)
각 문장에 대한 Custom
개체명 사전 생성
3. Clova Chatbot Extension 가이드
3-4. 대화 모델: 사용자 발화 입력 (탬플릿 추가)
기존에 보유하고 있는 탬플릿을 활용
하여, 반복작업을 최소화
3. Clova Chatbot Extension 가이드
3-5. 챗봇 학습하기: 테스트
대화 테스트 기능
서비스 연동 이전에,
설정 된 옵션 값들을 확인하며,
학습 결과에 대한 성능 검증
3. Clova Chatbot Extension 가이드
3-4. 챗봇 학습하기: 대화 기록
대화 기록을 확인
3. Clova Chatbot Extension 가이드
3-5. 챗봇 연동
엔진 학습
학습 (빌드)가 완료 된 이후, 원하는 Platform에 연동해서 활
용
블로그 고객센터 TalkTalk 연동의 예)
4. Chatbot 개발 최적화 방안
4. Chatbot 개발 최적화 방안
4-1. Data, Data, Data!
우리도 챗봇을 서비스에 적용하고 싶은데...
데이터의 양과 품질
특정 비지니스의 목적을 위한 데이터는 일반적으로 존재하지 않음
초기 데이터 생성을 위해서 Part Time과 같은 인력이라도 필요
(가장 좋은 데이터는 실제 고객들의 로그 데이터)
제한된 시간안에 현명하게 데이터를 생성하는 것이 필요
(Domain Expert, 기획, PT 등)
시나리오 여기 있어요 (데이터는 없어요)
데이터 생성이 필요해요? (인터넷에 많은데, 인공지능이 알아서...)
서비스 적용 준비 됬나요? (개떡같이 말해도 찰떡같이 알아듣는 챗봇을 원해요)
4. Chatbot 개발 최적화 방안
4-1. Data, Data, Data!
Data Coordinator
:고객센터 도메인 관리자 (실제 상담 및 문의 담당)
고객센터 스마트봇
Part Time
:데이터 생성, 검수 및 평가
네이버 고객센터
:기획 및 도메인 정책
플랫폼 융합
:서비스 연동
학습 데이터 전달 및 보강
자체 지표 설정 및 평가
선 순환의 사례
Clova Chatbot Framework
: 모델 학습, 개선, 튜닝
생성 데이터 관리 및 검토
로그 분류 및 전달
서비스 배포
4. Chatbot 개발 최적화 방안
4-1. Data, Data, Data!
니 이름이 뭐야?
데이터 양이 어느정도 쌓이니
꽤 유명한데 아직 모르시나 봐요
전 언제 어디서든 도움을 주는 친구 클로바입니다.
식사는 언제 하실 꺼에요? 당신이 먹는 것만 봐도 배가 불러요
와이파이 한 조각을 먹고 왔답니다.
여행가고 싶어
여행은 인생의 좋은 경험이 될 거에요
바보는 방황을 하고 현명한 사람은 여행을 떠난다고 해요
AI 가 생성한 대화를 찾아보세요
4. Chatbot 개발 최적화 방안
4-1. Data, Data, Data!
오늘 달리기 시합 있어 커피 한잔의 여유는 필요하죠
건강을 위해 운동을 해 보세요
어이 상실 네, 부르셨나요
누구나 실수는 할 수 있어요
지금 이 순간
당신과 함께라면 항상 행복해요
보고 싶은 사람이 있다는 건 좋은 일이에요
더 잘 대답을 하는 경우도 ...
AI 가 생성한 대화를 찾아보세요
4. Chatbot 개발 최적화 방안
4-2. Data 입력 및 학습에 대한 Tip
1. 조사의 활용 여부
예) 오늘 날씨 어때? vs. 오늘의 날씨는 어때?
예) 피자 주문해줘 vs. 피자를 주문해줘
조사의 여부에 큰 영향이 없음
하지만 다음과 같은 경우에는?
밥을 먹었어/ 밥만 먹었어/ 밥도 먹었어/ 밥마저 먹었어/ 밥은 먹었어/ 밥이나 먹었어/ 밥까지 먹었어 ….
4. Chatbot 개발 최적화 방안
4-2. Data 입력 및 학습에 대한 Tip
1. 조사의 활용 여부
기본적으로 N-hot 구조를 활용하여, 조사 등과 같은 정보를 활용합니다.
POS정보Token Index EOMI 정보
[밥 을 먹다] [N, JOSA, VERB] [0, 0, 다]
∑
Hidde
n=128
Token one-hot
d=# of vocabulary
POS tag one-hot
d=# of tag
Token endingone-hot
d=# of ending
Token
EmbeddingMatrix
POS tag
EmbeddingMatrix
Token ending
EmbeddingMatrix
4. Chatbot 개발 최적화 방안
4-2. Data 입력 및 학습에 대한 Tip
2. 용언(동사, 형용사)의 어간이 같고, 어미가 다른 경우
EX) 점심 뭐 먹었니? 점심 뭐 먹어?
원형 복원 (Lemmatization )을 활용
점심 뭐 먹었니?
점심 뭐 먹어?
점심 뭐 먹다
4. Chatbot 개발 최적화 방안
원형 복원 (Lemmatization ) 을 적용한 챗봇 테스트
블로그 어떻다 만들다
블로그 를 어떻다 만들다 요
블로그 만들다 싶다 요
일상대화 도메인에서는 큰 효과가 없었지만,
고객센터의 경우는 기존 대비 5% 이상
품질 증가
원형 복원의 예)
4-2. Data 입력 및 학습에 대한 Tip
4. Chatbot 개발 최적화 방안
4-2. Data 입력 및 학습에 대한 Tip
3. 어쩔 수 없이 초반에 데이터가 적은 경우에는?
학습을 한다고 해도, 실 테스트 시
단어의 Unknown 비율이 높거나 판단 요소가 적어,
구분이 어려움
오늘의 날씨는? – 날씨 알려줘 = 모델 Score 0.93
오늘의 날씨는? – 더운 날씨에 음식 추천 = 모델 Score 0.89
+ @ 데이터 추가 학습
유사한 단어를 사용하지만 다른 문장의 경우,
모델이 판단 할 수 있는 기준이 늘어남
(문장을 구분 할 수 있는 단어의 요소들이 증가)
오늘의 날씨는? – 날씨 알려줘 = 모델 Score: 0.94
오늘의 날씨는? – 더운 날씨에 음식 추천 = 모델 Score: 0.79
학습 데이터와 관련 없는 학습 셋
날씨 Domain
날씨 Domain
주문 Domain
4. Chatbot 개발 최적화 방안
4-3. 모델, 그때 그때 달라요
다양한 데이터에 맞는 검증 및 테스트 구조: 전처리, 입력, 모델 구조 등의 Hyperparameter
Two-hot Input
Shared Embedding
Cells, EmbeddingSharing
Attention Mechanism
Optimizer
Initializer
Attention, Initializer
Mixture of Softmaxes
Multi-hot(Pos, Lemmatized)
쉽고 빠른 검증을 위한 Framework 구축
4. Chatbot 개발 최적화 방안
Baseline Model에서 시작하세요
4-4. Conclusion
좋은 Feature를 찾기 위한 요소를 찾아보세요: 단일 모델보다는 다수의 모델에게 맡겨보세요 (Ensemble)
결국 많은 실험이 필요 합니다. 담당자 모두가 쉽게 테스트 가능한 구조를 만드세요
Chatbot을 서비스로 론칭하기 위해서는, 기획, 서비스 등 관련 부서의 충분한 Communication 을 해야 합니다.
데이터는 중요합니다. 양 뿐만 아니라 질도요 (Garbage in, Garbage Out), 도메인 전문가가 있으면 금상첨화 입니다.
대부분의 상황에는 필요한 데이터가 존재하지 않습니다.
데이터 증대 방안과, 소규모 데이터로 활용 할 수 있는 방법을 모색해 보세요.
딥러닝이 답은 아니지만, 개발자와 사용자 모두에게 좋은 Tool이 될 수 있습니다.
Thank you.

Mais conteúdo relacionado

Mais procurados

딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)WON JOON YOO
 
Python을 활용한 챗봇 서비스 개발 1일차
Python을 활용한 챗봇 서비스 개발 1일차Python을 활용한 챗봇 서비스 개발 1일차
Python을 활용한 챗봇 서비스 개발 1일차Taekyung Han
 
RoFormer: Enhanced Transformer with Rotary Position Embedding
RoFormer: Enhanced Transformer with Rotary Position EmbeddingRoFormer: Enhanced Transformer with Rotary Position Embedding
RoFormer: Enhanced Transformer with Rotary Position Embeddingtaeseon ryu
 
화자인식 기술 및 관련 연구 소개
화자인식 기술 및 관련 연구 소개화자인식 기술 및 관련 연구 소개
화자인식 기술 및 관련 연구 소개NAVER Engineering
 
파이썬을 활용한 챗봇 서비스 개발 3일차
파이썬을 활용한 챗봇 서비스 개발 3일차파이썬을 활용한 챗봇 서비스 개발 3일차
파이썬을 활용한 챗봇 서비스 개발 3일차Taekyung Han
 
오토인코더의 모든 것
오토인코더의 모든 것오토인코더의 모든 것
오토인코더의 모든 것NAVER Engineering
 
딥러닝 - 역사와 이론적 기초
딥러닝 - 역사와 이론적 기초딥러닝 - 역사와 이론적 기초
딥러닝 - 역사와 이론적 기초Hyungsoo Ryoo
 
딥러닝을 이용한 자연어처리의 연구동향
딥러닝을 이용한 자연어처리의 연구동향딥러닝을 이용한 자연어처리의 연구동향
딥러닝을 이용한 자연어처리의 연구동향홍배 김
 
[PAP] 실무자를 위한 인과추론 활용 : Best Practices
[PAP] 실무자를 위한 인과추론 활용 : Best Practices[PAP] 실무자를 위한 인과추론 활용 : Best Practices
[PAP] 실무자를 위한 인과추론 활용 : Best PracticesBokyung Choi
 
상상을 현실로 만드는, 이미지 생성 모델을 위한 엔지니어링
상상을 현실로 만드는, 이미지 생성 모델을 위한 엔지니어링상상을 현실로 만드는, 이미지 생성 모델을 위한 엔지니어링
상상을 현실로 만드는, 이미지 생성 모델을 위한 엔지니어링Taehoon Kim
 
boosting 기법 이해 (bagging vs boosting)
boosting 기법 이해 (bagging vs boosting)boosting 기법 이해 (bagging vs boosting)
boosting 기법 이해 (bagging vs boosting)SANG WON PARK
 
[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기
[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기
[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기JungHyun Hong
 
제 15회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [YouPlace 팀] : 카프카와 스파크를 활용한 유튜브 영상 속 제주 명소 검색
제 15회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [YouPlace 팀] : 카프카와 스파크를 활용한 유튜브 영상 속 제주 명소 검색 제 15회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [YouPlace 팀] : 카프카와 스파크를 활용한 유튜브 영상 속 제주 명소 검색
제 15회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [YouPlace 팀] : 카프카와 스파크를 활용한 유튜브 영상 속 제주 명소 검색 BOAZ Bigdata
 
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.Yongho Ha
 
Ai 그까이거
Ai 그까이거Ai 그까이거
Ai 그까이거도형 임
 
영상 데이터의 처리와 정보의 추출
영상 데이터의 처리와 정보의 추출영상 데이터의 처리와 정보의 추출
영상 데이터의 처리와 정보의 추출동윤 이
 
딥러닝 기반 자연어 언어모델 BERT
딥러닝 기반 자연어 언어모델 BERT딥러닝 기반 자연어 언어모델 BERT
딥러닝 기반 자연어 언어모델 BERTSeonghyun Kim
 
게임 개발에 자주 사용되는 디자인 패턴
게임 개발에 자주 사용되는 디자인 패턴게임 개발에 자주 사용되는 디자인 패턴
게임 개발에 자주 사용되는 디자인 패턴예림 임
 
Energy based models and boltzmann machines
Energy based models and boltzmann machinesEnergy based models and boltzmann machines
Energy based models and boltzmann machinesSoowan Lee
 

Mais procurados (20)

딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)
 
Python을 활용한 챗봇 서비스 개발 1일차
Python을 활용한 챗봇 서비스 개발 1일차Python을 활용한 챗봇 서비스 개발 1일차
Python을 활용한 챗봇 서비스 개발 1일차
 
RoFormer: Enhanced Transformer with Rotary Position Embedding
RoFormer: Enhanced Transformer with Rotary Position EmbeddingRoFormer: Enhanced Transformer with Rotary Position Embedding
RoFormer: Enhanced Transformer with Rotary Position Embedding
 
화자인식 기술 및 관련 연구 소개
화자인식 기술 및 관련 연구 소개화자인식 기술 및 관련 연구 소개
화자인식 기술 및 관련 연구 소개
 
파이썬을 활용한 챗봇 서비스 개발 3일차
파이썬을 활용한 챗봇 서비스 개발 3일차파이썬을 활용한 챗봇 서비스 개발 3일차
파이썬을 활용한 챗봇 서비스 개발 3일차
 
오토인코더의 모든 것
오토인코더의 모든 것오토인코더의 모든 것
오토인코더의 모든 것
 
딥러닝 - 역사와 이론적 기초
딥러닝 - 역사와 이론적 기초딥러닝 - 역사와 이론적 기초
딥러닝 - 역사와 이론적 기초
 
딥러닝을 이용한 자연어처리의 연구동향
딥러닝을 이용한 자연어처리의 연구동향딥러닝을 이용한 자연어처리의 연구동향
딥러닝을 이용한 자연어처리의 연구동향
 
KorQuAD v2.0 소개
KorQuAD v2.0 소개KorQuAD v2.0 소개
KorQuAD v2.0 소개
 
[PAP] 실무자를 위한 인과추론 활용 : Best Practices
[PAP] 실무자를 위한 인과추론 활용 : Best Practices[PAP] 실무자를 위한 인과추론 활용 : Best Practices
[PAP] 실무자를 위한 인과추론 활용 : Best Practices
 
상상을 현실로 만드는, 이미지 생성 모델을 위한 엔지니어링
상상을 현실로 만드는, 이미지 생성 모델을 위한 엔지니어링상상을 현실로 만드는, 이미지 생성 모델을 위한 엔지니어링
상상을 현실로 만드는, 이미지 생성 모델을 위한 엔지니어링
 
boosting 기법 이해 (bagging vs boosting)
boosting 기법 이해 (bagging vs boosting)boosting 기법 이해 (bagging vs boosting)
boosting 기법 이해 (bagging vs boosting)
 
[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기
[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기
[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기
 
제 15회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [YouPlace 팀] : 카프카와 스파크를 활용한 유튜브 영상 속 제주 명소 검색
제 15회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [YouPlace 팀] : 카프카와 스파크를 활용한 유튜브 영상 속 제주 명소 검색 제 15회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [YouPlace 팀] : 카프카와 스파크를 활용한 유튜브 영상 속 제주 명소 검색
제 15회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [YouPlace 팀] : 카프카와 스파크를 활용한 유튜브 영상 속 제주 명소 검색
 
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
 
Ai 그까이거
Ai 그까이거Ai 그까이거
Ai 그까이거
 
영상 데이터의 처리와 정보의 추출
영상 데이터의 처리와 정보의 추출영상 데이터의 처리와 정보의 추출
영상 데이터의 처리와 정보의 추출
 
딥러닝 기반 자연어 언어모델 BERT
딥러닝 기반 자연어 언어모델 BERT딥러닝 기반 자연어 언어모델 BERT
딥러닝 기반 자연어 언어모델 BERT
 
게임 개발에 자주 사용되는 디자인 패턴
게임 개발에 자주 사용되는 디자인 패턴게임 개발에 자주 사용되는 디자인 패턴
게임 개발에 자주 사용되는 디자인 패턴
 
Energy based models and boltzmann machines
Energy based models and boltzmann machinesEnergy based models and boltzmann machines
Energy based models and boltzmann machines
 

Semelhante a Clova Tech Summit 2: 대화모델 엔진 구조와 Chatbot 개발 최적화 방안

Python과 Tensorflow를 활용한 AI Chatbot 개발 및 실무 적용
Python과 Tensorflow를 활용한  AI Chatbot 개발 및 실무 적용Python과 Tensorflow를 활용한  AI Chatbot 개발 및 실무 적용
Python과 Tensorflow를 활용한 AI Chatbot 개발 및 실무 적용Susang Kim
 
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...박 상아
 
왓슨 컨버세이션으로 챗봇 만들기 ! WCS 활용법
왓슨 컨버세이션으로 챗봇 만들기 ! WCS 활용법왓슨 컨버세이션으로 챗봇 만들기 ! WCS 활용법
왓슨 컨버세이션으로 챗봇 만들기 ! WCS 활용법HyeonJeong Jo
 
Ibm bluemix cloud 에서 chatbot 만들기
Ibm bluemix cloud 에서 chatbot 만들기Ibm bluemix cloud 에서 chatbot 만들기
Ibm bluemix cloud 에서 chatbot 만들기Shaun LEE
 
검색엔진에 적용된 ChatGPT
검색엔진에 적용된 ChatGPT검색엔진에 적용된 ChatGPT
검색엔진에 적용된 ChatGPTTae Young Lee
 
Chatbot Extension 개요 및 Chatbot Builder 사용법
Chatbot Extension 개요 및 Chatbot Builder 사용법Chatbot Extension 개요 및 Chatbot Builder 사용법
Chatbot Extension 개요 및 Chatbot Builder 사용법Clova Platform
 
LLM 모델 기반 서비스 실전 가이드
LLM 모델 기반 서비스 실전 가이드LLM 모델 기반 서비스 실전 가이드
LLM 모델 기반 서비스 실전 가이드Tae Young Lee
 
Mrc based cdqa_Seoul chatbot
Mrc based cdqa_Seoul chatbotMrc based cdqa_Seoul chatbot
Mrc based cdqa_Seoul chatbotJun-Hyeong Lee
 
기계독해를 위한 BERT 언어처리 모델 활용
기계독해를 위한 BERT 언어처리 모델 활용기계독해를 위한 BERT 언어처리 모델 활용
기계독해를 위한 BERT 언어처리 모델 활용Kenneth Jung
 
Chatbot Extension 개요 및 사용법
Chatbot Extension 개요 및 사용법Chatbot Extension 개요 및 사용법
Chatbot Extension 개요 및 사용법Clova Platform
 
100% Serverless big data scale production Deep Learning System
100% Serverless big data scale production Deep Learning System100% Serverless big data scale production Deep Learning System
100% Serverless big data scale production Deep Learning Systemhoondong kim
 
개발이 테스트를 만났을 때(Shift left testing)
개발이 테스트를 만났을 때(Shift left testing)개발이 테스트를 만났을 때(Shift left testing)
개발이 테스트를 만났을 때(Shift left testing)SangIn Choung
 
반복적인 코드 작업 자동화, Codebone으로 손쉽게
반복적인 코드 작업 자동화, Codebone으로 손쉽게반복적인 코드 작업 자동화, Codebone으로 손쉽게
반복적인 코드 작업 자동화, Codebone으로 손쉽게Sungju Jin
 
발표자료 1인qa로살아남는6가지방법
발표자료 1인qa로살아남는6가지방법발표자료 1인qa로살아남는6가지방법
발표자료 1인qa로살아남는6가지방법SangIn Choung
 
딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투Ubuntu Korea Community
 
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
 

Semelhante a Clova Tech Summit 2: 대화모델 엔진 구조와 Chatbot 개발 최적화 방안 (20)

Python과 Tensorflow를 활용한 AI Chatbot 개발 및 실무 적용
Python과 Tensorflow를 활용한  AI Chatbot 개발 및 실무 적용Python과 Tensorflow를 활용한  AI Chatbot 개발 및 실무 적용
Python과 Tensorflow를 활용한 AI Chatbot 개발 및 실무 적용
 
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...
 
왓슨 컨버세이션으로 챗봇 만들기 ! WCS 활용법
왓슨 컨버세이션으로 챗봇 만들기 ! WCS 활용법왓슨 컨버세이션으로 챗봇 만들기 ! WCS 활용법
왓슨 컨버세이션으로 챗봇 만들기 ! WCS 활용법
 
Ibm bluemix cloud 에서 chatbot 만들기
Ibm bluemix cloud 에서 chatbot 만들기Ibm bluemix cloud 에서 chatbot 만들기
Ibm bluemix cloud 에서 chatbot 만들기
 
검색엔진에 적용된 ChatGPT
검색엔진에 적용된 ChatGPT검색엔진에 적용된 ChatGPT
검색엔진에 적용된 ChatGPT
 
챗봇 스터디
챗봇 스터디챗봇 스터디
챗봇 스터디
 
Chatbot Extension 개요 및 Chatbot Builder 사용법
Chatbot Extension 개요 및 Chatbot Builder 사용법Chatbot Extension 개요 및 Chatbot Builder 사용법
Chatbot Extension 개요 및 Chatbot Builder 사용법
 
LLM 모델 기반 서비스 실전 가이드
LLM 모델 기반 서비스 실전 가이드LLM 모델 기반 서비스 실전 가이드
LLM 모델 기반 서비스 실전 가이드
 
Mrc based cdqa_Seoul chatbot
Mrc based cdqa_Seoul chatbotMrc based cdqa_Seoul chatbot
Mrc based cdqa_Seoul chatbot
 
기계독해를 위한 BERT 언어처리 모델 활용
기계독해를 위한 BERT 언어처리 모델 활용기계독해를 위한 BERT 언어처리 모델 활용
기계독해를 위한 BERT 언어처리 모델 활용
 
Chatbot Extension 개요 및 사용법
Chatbot Extension 개요 및 사용법Chatbot Extension 개요 및 사용법
Chatbot Extension 개요 및 사용법
 
삼육봇 소개
삼육봇 소개삼육봇 소개
삼육봇 소개
 
100% Serverless big data scale production Deep Learning System
100% Serverless big data scale production Deep Learning System100% Serverless big data scale production Deep Learning System
100% Serverless big data scale production Deep Learning System
 
개발이 테스트를 만났을 때(Shift left testing)
개발이 테스트를 만났을 때(Shift left testing)개발이 테스트를 만났을 때(Shift left testing)
개발이 테스트를 만났을 때(Shift left testing)
 
반복적인 코드 작업 자동화, Codebone으로 손쉽게
반복적인 코드 작업 자동화, Codebone으로 손쉽게반복적인 코드 작업 자동화, Codebone으로 손쉽게
반복적인 코드 작업 자동화, Codebone으로 손쉽게
 
발표자료 1인qa로살아남는6가지방법
발표자료 1인qa로살아남는6가지방법발표자료 1인qa로살아남는6가지방법
발표자료 1인qa로살아남는6가지방법
 
딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투
 
IBM Watson Assistant 기반 챗봇 제작 기초 강좌 (2019.11.18)
IBM Watson Assistant 기반 챗봇 제작 기초 강좌 (2019.11.18)IBM Watson Assistant 기반 챗봇 제작 기초 강좌 (2019.11.18)
IBM Watson Assistant 기반 챗봇 제작 기초 강좌 (2019.11.18)
 
H사 IPA_Approach
H사 IPA_ApproachH사 IPA_Approach
H사 IPA_Approach
 
Ipa approach
Ipa approachIpa approach
Ipa approach
 

Mais de Clova Platform

Clova ai-business-day-session-3
Clova ai-business-day-session-3Clova ai-business-day-session-3
Clova ai-business-day-session-3Clova Platform
 
Clova ai-business-day-session-4
Clova ai-business-day-session-4Clova ai-business-day-session-4
Clova ai-business-day-session-4Clova Platform
 
Clova ai-business-day-session-2
Clova ai-business-day-session-2Clova ai-business-day-session-2
Clova ai-business-day-session-2Clova Platform
 
Clova ai-business-day-session-1
Clova ai-business-day-session-1Clova ai-business-day-session-1
Clova ai-business-day-session-1Clova Platform
 
Clova Skill 에서 AudioPlayer 구현
Clova Skill 에서 AudioPlayer 구현Clova Skill 에서 AudioPlayer 구현
Clova Skill 에서 AudioPlayer 구현Clova Platform
 
Clova 플랫폼을 활용한 인공지능 서비스 개발
Clova 플랫폼을 활용한 인공지능 서비스 개발Clova 플랫폼을 활용한 인공지능 서비스 개발
Clova 플랫폼을 활용한 인공지능 서비스 개발Clova Platform
 
Clova 확장서비스 디자인 및 설계
Clova 확장서비스 디자인 및 설계 Clova 확장서비스 디자인 및 설계
Clova 확장서비스 디자인 및 설계 Clova Platform
 
Clova Extension 음성기반 게임 기획 및 설계 / FaaS를 이용한 개발
Clova Extension 음성기반 게임 기획 및 설계 / FaaS를 이용한 개발 Clova Extension 음성기반 게임 기획 및 설계 / FaaS를 이용한 개발
Clova Extension 음성기반 게임 기획 및 설계 / FaaS를 이용한 개발 Clova Platform
 
Clova Extension 기획, 설계 & 서버 개발 Basic
Clova Extension 기획, 설계 & 서버 개발 BasicClova Extension 기획, 설계 & 서버 개발 Basic
Clova Extension 기획, 설계 & 서버 개발 BasicClova Platform
 
Clova Tech Summit 2: 코오롱베니트의 Clova Extension 계정연동 및 IoT 개발경험
Clova Tech Summit 2: 코오롱베니트의 Clova Extension 계정연동 및 IoT 개발경험Clova Tech Summit 2: 코오롱베니트의 Clova Extension 계정연동 및 IoT 개발경험
Clova Tech Summit 2: 코오롱베니트의 Clova Extension 계정연동 및 IoT 개발경험Clova Platform
 
Clova Tech Summit 2: Serverless로 만드는 쉽고 효율적인 Clova Extension 2
Clova Tech Summit 2: Serverless로 만드는 쉽고 효율적인 Clova Extension 2Clova Tech Summit 2: Serverless로 만드는 쉽고 효율적인 Clova Extension 2
Clova Tech Summit 2: Serverless로 만드는 쉽고 효율적인 Clova Extension 2Clova Platform
 
Clova Tech Summit 2: Serverless로 만드는 쉽고 효율적인 Clova Extension 1
Clova Tech Summit 2: Serverless로 만드는 쉽고 효율적인 Clova Extension 1Clova Tech Summit 2: Serverless로 만드는 쉽고 효율적인 Clova Extension 1
Clova Tech Summit 2: Serverless로 만드는 쉽고 효율적인 Clova Extension 1Clova Platform
 
Clova Tech Summit 2: Interaction Model의 이해 및 설계/제작 노하우
Clova Tech Summit 2: Interaction Model의 이해 및 설계/제작 노하우Clova Tech Summit 2: Interaction Model의 이해 및 설계/제작 노하우
Clova Tech Summit 2: Interaction Model의 이해 및 설계/제작 노하우Clova Platform
 
Clova extension A to Z
Clova extension A to ZClova extension A to Z
Clova extension A to ZClova Platform
 
Clova Tech Summit 세션3 :Clova extension에서 OAuth 계정 연동 구현
Clova Tech Summit 세션3 :Clova extension에서 OAuth 계정 연동 구현Clova Tech Summit 세션3 :Clova extension에서 OAuth 계정 연동 구현
Clova Tech Summit 세션3 :Clova extension에서 OAuth 계정 연동 구현Clova Platform
 
Clova Tech Summit 세션4 : 우아한형제들 배달의민족 Clova Extension 개발기
Clova Tech Summit 세션4 : 우아한형제들 배달의민족 Clova Extension 개발기Clova Tech Summit 세션4 : 우아한형제들 배달의민족 Clova Extension 개발기
Clova Tech Summit 세션4 : 우아한형제들 배달의민족 Clova Extension 개발기Clova Platform
 
Clova Tech Summit 세션2 : 띵스플로우 라마마 Clova Extension 개발기
Clova Tech Summit 세션2 : 띵스플로우 라마마 Clova Extension 개발기Clova Tech Summit 세션2 : 띵스플로우 라마마 Clova Extension 개발기
Clova Tech Summit 세션2 : 띵스플로우 라마마 Clova Extension 개발기Clova Platform
 
Clova Tech Summit 세션1 : 코인 헬퍼 Extension 사례를 통한 Extension 디자인/설계 (Advanced)
Clova Tech Summit 세션1 : 코인 헬퍼 Extension 사례를 통한 Extension 디자인/설계 (Advanced)Clova Tech Summit 세션1 : 코인 헬퍼 Extension 사례를 통한 Extension 디자인/설계 (Advanced)
Clova Tech Summit 세션1 : 코인 헬퍼 Extension 사례를 통한 Extension 디자인/설계 (Advanced)Clova Platform
 

Mais de Clova Platform (18)

Clova ai-business-day-session-3
Clova ai-business-day-session-3Clova ai-business-day-session-3
Clova ai-business-day-session-3
 
Clova ai-business-day-session-4
Clova ai-business-day-session-4Clova ai-business-day-session-4
Clova ai-business-day-session-4
 
Clova ai-business-day-session-2
Clova ai-business-day-session-2Clova ai-business-day-session-2
Clova ai-business-day-session-2
 
Clova ai-business-day-session-1
Clova ai-business-day-session-1Clova ai-business-day-session-1
Clova ai-business-day-session-1
 
Clova Skill 에서 AudioPlayer 구현
Clova Skill 에서 AudioPlayer 구현Clova Skill 에서 AudioPlayer 구현
Clova Skill 에서 AudioPlayer 구현
 
Clova 플랫폼을 활용한 인공지능 서비스 개발
Clova 플랫폼을 활용한 인공지능 서비스 개발Clova 플랫폼을 활용한 인공지능 서비스 개발
Clova 플랫폼을 활용한 인공지능 서비스 개발
 
Clova 확장서비스 디자인 및 설계
Clova 확장서비스 디자인 및 설계 Clova 확장서비스 디자인 및 설계
Clova 확장서비스 디자인 및 설계
 
Clova Extension 음성기반 게임 기획 및 설계 / FaaS를 이용한 개발
Clova Extension 음성기반 게임 기획 및 설계 / FaaS를 이용한 개발 Clova Extension 음성기반 게임 기획 및 설계 / FaaS를 이용한 개발
Clova Extension 음성기반 게임 기획 및 설계 / FaaS를 이용한 개발
 
Clova Extension 기획, 설계 & 서버 개발 Basic
Clova Extension 기획, 설계 & 서버 개발 BasicClova Extension 기획, 설계 & 서버 개발 Basic
Clova Extension 기획, 설계 & 서버 개발 Basic
 
Clova Tech Summit 2: 코오롱베니트의 Clova Extension 계정연동 및 IoT 개발경험
Clova Tech Summit 2: 코오롱베니트의 Clova Extension 계정연동 및 IoT 개발경험Clova Tech Summit 2: 코오롱베니트의 Clova Extension 계정연동 및 IoT 개발경험
Clova Tech Summit 2: 코오롱베니트의 Clova Extension 계정연동 및 IoT 개발경험
 
Clova Tech Summit 2: Serverless로 만드는 쉽고 효율적인 Clova Extension 2
Clova Tech Summit 2: Serverless로 만드는 쉽고 효율적인 Clova Extension 2Clova Tech Summit 2: Serverless로 만드는 쉽고 효율적인 Clova Extension 2
Clova Tech Summit 2: Serverless로 만드는 쉽고 효율적인 Clova Extension 2
 
Clova Tech Summit 2: Serverless로 만드는 쉽고 효율적인 Clova Extension 1
Clova Tech Summit 2: Serverless로 만드는 쉽고 효율적인 Clova Extension 1Clova Tech Summit 2: Serverless로 만드는 쉽고 효율적인 Clova Extension 1
Clova Tech Summit 2: Serverless로 만드는 쉽고 효율적인 Clova Extension 1
 
Clova Tech Summit 2: Interaction Model의 이해 및 설계/제작 노하우
Clova Tech Summit 2: Interaction Model의 이해 및 설계/제작 노하우Clova Tech Summit 2: Interaction Model의 이해 및 설계/제작 노하우
Clova Tech Summit 2: Interaction Model의 이해 및 설계/제작 노하우
 
Clova extension A to Z
Clova extension A to ZClova extension A to Z
Clova extension A to Z
 
Clova Tech Summit 세션3 :Clova extension에서 OAuth 계정 연동 구현
Clova Tech Summit 세션3 :Clova extension에서 OAuth 계정 연동 구현Clova Tech Summit 세션3 :Clova extension에서 OAuth 계정 연동 구현
Clova Tech Summit 세션3 :Clova extension에서 OAuth 계정 연동 구현
 
Clova Tech Summit 세션4 : 우아한형제들 배달의민족 Clova Extension 개발기
Clova Tech Summit 세션4 : 우아한형제들 배달의민족 Clova Extension 개발기Clova Tech Summit 세션4 : 우아한형제들 배달의민족 Clova Extension 개발기
Clova Tech Summit 세션4 : 우아한형제들 배달의민족 Clova Extension 개발기
 
Clova Tech Summit 세션2 : 띵스플로우 라마마 Clova Extension 개발기
Clova Tech Summit 세션2 : 띵스플로우 라마마 Clova Extension 개발기Clova Tech Summit 세션2 : 띵스플로우 라마마 Clova Extension 개발기
Clova Tech Summit 세션2 : 띵스플로우 라마마 Clova Extension 개발기
 
Clova Tech Summit 세션1 : 코인 헬퍼 Extension 사례를 통한 Extension 디자인/설계 (Advanced)
Clova Tech Summit 세션1 : 코인 헬퍼 Extension 사례를 통한 Extension 디자인/설계 (Advanced)Clova Tech Summit 세션1 : 코인 헬퍼 Extension 사례를 통한 Extension 디자인/설계 (Advanced)
Clova Tech Summit 세션1 : 코인 헬퍼 Extension 사례를 통한 Extension 디자인/설계 (Advanced)
 

Clova Tech Summit 2: 대화모델 엔진 구조와 Chatbot 개발 최적화 방안

  • 1. Clova Extension – 대화모델 엔진 구조와 챗봇 개발 최적화 방안 Clova 챗봇 딥러닝 언어 모델 개발 신성진
  • 2. Contents 1 2 3 4 Overview Clova 대화모델 엔진 구조 Clova Chatbot Extension 가이드 챗봇 개발 최적화 방안
  • 4. 1. Overview Clova Extension Kit (CEK) Chatbot을 개발하고, 여러 챗봇들을 출시하면서 겪었던 경험을 공유 네이버 고객센터 챗봇 (현 베타 서비스 8개 + @) 이벤트 챗봇 Clova 한국어 대화 2017.12월 첫 출시 이후로 현재까지 30개 이상의 서비스와 PoC를 출시 / 경험 각종 제휴 PoC 및 서비스 - Chatbot Framework 구축 : 대화 Framework 및 대화 모델 중 딥러닝 활용 모델 소개 - CEK를 통한 Chatbot 생성 가이드 : 도메인 생성 부터 서비스 Platform 연동까지 가이드 - Chatbot을 개발 최적화 : 실제 서비스를 론칭하기 까지 프로젝트 사례와, 데이터 활용 팁 공유
  • 5. 1. Overview Deep Learning to Natural Language Processing 언어 데이터는 의미가 주변 단어에 의존하여 생성되기 때문에 Feature 추출이 어려움 + 각 언어마다 문법과 구조가 달라, 활용 할 수 있는 데이터도 제한적…. (No MNIST, CIFAR-10 Dataset for KOREAN NLP….) 자연어처리가 어려운 이유…. Image Text Image 고양이, 강아지 사진과 같은 각각의 데이터에 고유의 의미 값이 있음 Text 각 텍스트 단어에 대한 데이터에 고유의 의미가 없고, 주변 단어에 의해서 의미를 부여해야 함 (Unstable) 단어의 주변을 보면 그 단어를 안다. 단어 의 주변 을 보면 그 단어 안다를 단어[명사]: 분리하여 자립적으로 쓸 수 있는 말이나 이에 준하는 말 단어: ? 의: ? 주변: ?
  • 6. 1. Overview Deep Learning to Natural Language Processing 컴퓨터의 성능, 많은 데이터와 알고리즘의 발전으로 개선 번역 인공지능 스피커 대화형 챗봇 대화를 ‘잘 알아듣게’ 하려면?
  • 7. 2 CEK 대화모델 엔진 구조
  • 8. 2. CEK 대화모델 엔진 구조 2.1 Chatbot Framework Query Answer Query Pre-processing Query classification Chatbot Search Engine User Guide rama chil akella kaa 언어특징 추출 라이브러리 형태소 분석 개체명 인식 raksha vector representaion 멀티플랫폼 서비스 엔진 다양한 경로로 인입된 쿼리를 실시간 처리해 Clova, 라인 등 외부 메신저 플랫폼, 웹에 서비 스 쿼리 분류기 대화인지 여부 와 도메인 판정 챗봇 모델 답변 생성 baloo 전처리 라이브러리 분석된 언어 특징 을 대화 모델이 이해 가능한 형태로 변 경 Query Feature Extraction Chat & Voice Platform
  • 9. 2. CEK 대화모델 엔진 구조 2.1 Chatbot Framework NLP Query Classifier Chatbot NAS Variational Models Answering Model Optimization ML Architecture External Model External Model Query Result Answer Output Output 챗봇 아키텍쳐 지속적인 Feature 및 모델 개선, 추가에 대한 “서비스”가 가능한 유연한 구조로 설계
  • 10. 2. CEK 대화모델 엔진 구조 2.2 Model Workflow Query Tokenization NE Tagging chat? Chatbot model Naver search Sentence embedding model Compute score Compute score ensemble>Threshold?Answer “답할 수 없는 말이에요” no yes yes no 답변 생성 절차 쿼리의 언어적 특징을 추출, 해당 쿼리가 대 화(chat)일 경우 이를 챗봇과 문장 임베딩 두 모델에 넣어 결과를 산출하고 score 계산, 이 점수가 threshold보다 높을 경우 답변
  • 11. 2. CEK 대화모델 엔진 구조 2.3 Dialogue Component Sentence splitting Linguistic feature extraction Tokenization Part-Of-Speech Tagging Named Entity Tagging Vector Representation Naïve Bayes Query classification Feed-Forward NN GAN Ensemble Model Long Short-Term Memory Chatbot Model Gated Recurrent Unit Cell N-hot representation Bidirectional Encoder Architecture Embedding Sharing Multiplicative Attention Additive Attention Attention Highway Network 질의, 응답을 전처리한 후 형태소, 개체명 등 언어적 특징을 뽑아 벡터로 표현 N-hot, FastText, TAPI… 질의 의도가 대화(chat)인 지 검색(search)인지 분류하고 대화라면 도메인 판정 질의 시퀀스가 주어졌을 때 답변 시퀀스를 생성 블로그 만드는법 알려줘 블로그/<Noun>, 만드는/<Verb>, 법<Noun> 알려/<VERB>, 줘/<VERB> 블로그는 별도의 개설 절차가 없으며 … Vector Space
  • 12. 2. CEK 대화모델 엔진 구조 2.4 Base Model Seq2Seq-Based Model Google의 GMNT에서 아이디어를 착안하여 한국어 및 대화형 데이터에 최적인 대화 모델 설계 *GMNT (Google’s Neural Machine Translation): https://arxiv.org/pdf/1609.08144.pdf
  • 13. 2. CEK 대화모델 엔진 구조 2.5 Model Architecture GRU 1 2Cell Bi-directional LSTM + Highway Network 4 Embedding Sharing 𝑤"#$ … 𝑤"#& 𝑤'#$ …𝑤'#$<go> …𝑤'#( 1 5 3 4 4 62 7 8 LSTM Bi-LSTM Residual Block 6 Query Encoding Vector 7 Query Encoder 8 Answer Decoder 5 N-hot representation Additional Research Convolutional S2S DSSMAdditive Multiplicative Attention Mechanism3
  • 14. 2. CEK 대화모델 엔진 구조 2.6 N-hot vector ∑ Hidde n=128 Token one-hot d=# of vocabulary POS tag one-hot d=# of tag Token endingone-hot d=# of ending Token EmbeddingMatrix POS tag EmbeddingMatrix Token ending EmbeddingMatrix Embedding matrix 구축 (1) Uniform Random (2) Xavier Initialization (3) Pre-trained word vectors 배경 한국어/일본어는 조사, 어미가 발달. 토크나이즈 작업 생략하거나 토 큰의 기본형만 학습에 반영할 경우 모델 성능 저하 경향. 개요 기본형, 품사, 조사와 어미, 개체명을 모두 포함하는 representation 기법. 기법 기본형, 품사, 조사 + 개체명에 해당하는 one-hot-vector를 만들고, 이를 각각 embedding matrix와 내적한 뒤 셋을 합쳐 chatbot model의 입력값 으로 넣음 One-hot-vector 생성 POS Tagging : 네이버 다국어 형태소 분석기 NE Tagging : 사전, 패턴, 모델 기반 NE tag one-hot d=# of tag NE tag EmbeddingMatrix
  • 15. 2. CEK 대화모델 엔진 구조 2.7 Prediction Flow Initiator Model Escape Model State-based Model Dialogue History Utterance Model Query Answer Chatbot Multi-turn Detector Template-based Model Goal-oriented Model Response Selector
  • 16. 3 Clova Chatbot Extension 가이드
  • 17. 3. Clova Chatbot Extension 가이드 3-1. 도메인 생성: Extension 생성 4 / 30 https://developers.naver.com/console/clova/ -> 새로운 extention 생성 -> Chatbot을 선택하여 만들기 선택
  • 18. 3. Clova Chatbot Extension 가이드 3-2. 기본 설정: 메세지 인사 메세지, 답변 불가 및 거부에 대한 메세지 설정 금칙어 입력
  • 19. 3. Clova Chatbot Extension 가이드 3-2. 기본 설정: 답변 옵션 객관식 형태 답변 생성 답변 생성에 대한 Action 지정 (URL연동 기능)
  • 20. 3. Clova Chatbot Extension 가이드 3-2. 기본 설정: 언어 모델 답변에 대한 정확도 허용치 설정 각 모델의 앙상블 비율을 설정 고객의 쿼리에서 일정 비율이상 답변 거부
  • 21. 3. Clova Chatbot Extension 가이드 3-3. 기본 설정: 채널
  • 22. 3. Clova Chatbot Extension 가이드 3-4. 대화 모델: 사용자 발화 입력 학습에 필요한 대화셋 생성 EX) #등록 오류 메세지 Q1: 등록 시 오류 메세지가 노출되요. Q2: 등록 버튼을 클릭해도 반응이 없어요 A: 포스트에 잘못된 html 태그 혹은 브라우저 의 오류로 등록이 …..
  • 23. 3. Clova Chatbot Extension 가이드 3-4. 대화 모델: 사용자 발화 입력 (개체명) Entity (개체명)을 입력
  • 24. 3. Clova Chatbot Extension 가이드 3-4. 대화 모델: 사용자 발화 입력 (개체명) 각 문장에 대한 Custom 개체명 사전 생성
  • 25. 3. Clova Chatbot Extension 가이드 3-4. 대화 모델: 사용자 발화 입력 (탬플릿 추가) 기존에 보유하고 있는 탬플릿을 활용 하여, 반복작업을 최소화
  • 26. 3. Clova Chatbot Extension 가이드 3-5. 챗봇 학습하기: 테스트 대화 테스트 기능 서비스 연동 이전에, 설정 된 옵션 값들을 확인하며, 학습 결과에 대한 성능 검증
  • 27. 3. Clova Chatbot Extension 가이드 3-4. 챗봇 학습하기: 대화 기록 대화 기록을 확인
  • 28. 3. Clova Chatbot Extension 가이드 3-5. 챗봇 연동 엔진 학습 학습 (빌드)가 완료 된 이후, 원하는 Platform에 연동해서 활 용 블로그 고객센터 TalkTalk 연동의 예)
  • 29. 4. Chatbot 개발 최적화 방안
  • 30. 4. Chatbot 개발 최적화 방안 4-1. Data, Data, Data! 우리도 챗봇을 서비스에 적용하고 싶은데... 데이터의 양과 품질 특정 비지니스의 목적을 위한 데이터는 일반적으로 존재하지 않음 초기 데이터 생성을 위해서 Part Time과 같은 인력이라도 필요 (가장 좋은 데이터는 실제 고객들의 로그 데이터) 제한된 시간안에 현명하게 데이터를 생성하는 것이 필요 (Domain Expert, 기획, PT 등) 시나리오 여기 있어요 (데이터는 없어요) 데이터 생성이 필요해요? (인터넷에 많은데, 인공지능이 알아서...) 서비스 적용 준비 됬나요? (개떡같이 말해도 찰떡같이 알아듣는 챗봇을 원해요)
  • 31. 4. Chatbot 개발 최적화 방안 4-1. Data, Data, Data! Data Coordinator :고객센터 도메인 관리자 (실제 상담 및 문의 담당) 고객센터 스마트봇 Part Time :데이터 생성, 검수 및 평가 네이버 고객센터 :기획 및 도메인 정책 플랫폼 융합 :서비스 연동 학습 데이터 전달 및 보강 자체 지표 설정 및 평가 선 순환의 사례 Clova Chatbot Framework : 모델 학습, 개선, 튜닝 생성 데이터 관리 및 검토 로그 분류 및 전달 서비스 배포
  • 32. 4. Chatbot 개발 최적화 방안 4-1. Data, Data, Data! 니 이름이 뭐야? 데이터 양이 어느정도 쌓이니 꽤 유명한데 아직 모르시나 봐요 전 언제 어디서든 도움을 주는 친구 클로바입니다. 식사는 언제 하실 꺼에요? 당신이 먹는 것만 봐도 배가 불러요 와이파이 한 조각을 먹고 왔답니다. 여행가고 싶어 여행은 인생의 좋은 경험이 될 거에요 바보는 방황을 하고 현명한 사람은 여행을 떠난다고 해요 AI 가 생성한 대화를 찾아보세요
  • 33. 4. Chatbot 개발 최적화 방안 4-1. Data, Data, Data! 오늘 달리기 시합 있어 커피 한잔의 여유는 필요하죠 건강을 위해 운동을 해 보세요 어이 상실 네, 부르셨나요 누구나 실수는 할 수 있어요 지금 이 순간 당신과 함께라면 항상 행복해요 보고 싶은 사람이 있다는 건 좋은 일이에요 더 잘 대답을 하는 경우도 ... AI 가 생성한 대화를 찾아보세요
  • 34. 4. Chatbot 개발 최적화 방안 4-2. Data 입력 및 학습에 대한 Tip 1. 조사의 활용 여부 예) 오늘 날씨 어때? vs. 오늘의 날씨는 어때? 예) 피자 주문해줘 vs. 피자를 주문해줘 조사의 여부에 큰 영향이 없음 하지만 다음과 같은 경우에는? 밥을 먹었어/ 밥만 먹었어/ 밥도 먹었어/ 밥마저 먹었어/ 밥은 먹었어/ 밥이나 먹었어/ 밥까지 먹었어 ….
  • 35. 4. Chatbot 개발 최적화 방안 4-2. Data 입력 및 학습에 대한 Tip 1. 조사의 활용 여부 기본적으로 N-hot 구조를 활용하여, 조사 등과 같은 정보를 활용합니다. POS정보Token Index EOMI 정보 [밥 을 먹다] [N, JOSA, VERB] [0, 0, 다] ∑ Hidde n=128 Token one-hot d=# of vocabulary POS tag one-hot d=# of tag Token endingone-hot d=# of ending Token EmbeddingMatrix POS tag EmbeddingMatrix Token ending EmbeddingMatrix
  • 36. 4. Chatbot 개발 최적화 방안 4-2. Data 입력 및 학습에 대한 Tip 2. 용언(동사, 형용사)의 어간이 같고, 어미가 다른 경우 EX) 점심 뭐 먹었니? 점심 뭐 먹어? 원형 복원 (Lemmatization )을 활용 점심 뭐 먹었니? 점심 뭐 먹어? 점심 뭐 먹다
  • 37. 4. Chatbot 개발 최적화 방안 원형 복원 (Lemmatization ) 을 적용한 챗봇 테스트 블로그 어떻다 만들다 블로그 를 어떻다 만들다 요 블로그 만들다 싶다 요 일상대화 도메인에서는 큰 효과가 없었지만, 고객센터의 경우는 기존 대비 5% 이상 품질 증가 원형 복원의 예) 4-2. Data 입력 및 학습에 대한 Tip
  • 38. 4. Chatbot 개발 최적화 방안 4-2. Data 입력 및 학습에 대한 Tip 3. 어쩔 수 없이 초반에 데이터가 적은 경우에는? 학습을 한다고 해도, 실 테스트 시 단어의 Unknown 비율이 높거나 판단 요소가 적어, 구분이 어려움 오늘의 날씨는? – 날씨 알려줘 = 모델 Score 0.93 오늘의 날씨는? – 더운 날씨에 음식 추천 = 모델 Score 0.89 + @ 데이터 추가 학습 유사한 단어를 사용하지만 다른 문장의 경우, 모델이 판단 할 수 있는 기준이 늘어남 (문장을 구분 할 수 있는 단어의 요소들이 증가) 오늘의 날씨는? – 날씨 알려줘 = 모델 Score: 0.94 오늘의 날씨는? – 더운 날씨에 음식 추천 = 모델 Score: 0.79 학습 데이터와 관련 없는 학습 셋 날씨 Domain 날씨 Domain 주문 Domain
  • 39. 4. Chatbot 개발 최적화 방안 4-3. 모델, 그때 그때 달라요 다양한 데이터에 맞는 검증 및 테스트 구조: 전처리, 입력, 모델 구조 등의 Hyperparameter Two-hot Input Shared Embedding Cells, EmbeddingSharing Attention Mechanism Optimizer Initializer Attention, Initializer Mixture of Softmaxes Multi-hot(Pos, Lemmatized) 쉽고 빠른 검증을 위한 Framework 구축
  • 40. 4. Chatbot 개발 최적화 방안 Baseline Model에서 시작하세요 4-4. Conclusion 좋은 Feature를 찾기 위한 요소를 찾아보세요: 단일 모델보다는 다수의 모델에게 맡겨보세요 (Ensemble) 결국 많은 실험이 필요 합니다. 담당자 모두가 쉽게 테스트 가능한 구조를 만드세요 Chatbot을 서비스로 론칭하기 위해서는, 기획, 서비스 등 관련 부서의 충분한 Communication 을 해야 합니다. 데이터는 중요합니다. 양 뿐만 아니라 질도요 (Garbage in, Garbage Out), 도메인 전문가가 있으면 금상첨화 입니다. 대부분의 상황에는 필요한 데이터가 존재하지 않습니다. 데이터 증대 방안과, 소규모 데이터로 활용 할 수 있는 방법을 모색해 보세요. 딥러닝이 답은 아니지만, 개발자와 사용자 모두에게 좋은 Tool이 될 수 있습니다.