마이크로소프트 봇 프레임워크 프로그래밍
도서명:마이크로소프트 봇 프레임워크 프로그래밍
저자/출판사:조,마요/제이펍
쪽수:436쪽
출판일:2018-08-30
ISBN:9791188621286
목차
옮긴이 머리말
추천사
이 책에 대하여
베타리더 후기
PART 1 시작하기
CHAPTER 1 봇 프레임워크 아키텍처 3
1.1 챗봇이란 무엇인가? 3
챗봇의 정의 4
왜 대화인가? 5
챗봇의 이점 6
봇을 채택할 것인가, 말 것인가? 8
1.2 봇 프레임워크 아키텍처 10
챗봇, 커넥터, 채널 시각화하기 10
채널 개요 11
봇 커넥터 서비스 12
챗봇의 특성 13
챗봇 통신 14
요약 15
CHAPTER 2 프로젝트 구성 16
2.1 챗봇 구축 단계 16
2.2 봇 프레임워크 프로젝트 생성 17
프로젝트 템플릿 설치하기 17
새 프로젝트 시작하기 19
2.3 기본 코드 검사 19
어셈블리 참조 20
폴더와 파일 구조 22
기본 챗봇 23
2.4 에뮬레이터로 초기 테스트하기 28
봇 에뮬레이터 설치하기 28
챗봇 설정 29
챗봇과 통신하기 32
2.5 챗봇 게시 및 등록 33
챗봇 게시 33
챗봇 등록 37
요약 40
CHAPTER 3 대화 구축하기: 기초 41
3.1 가위, 바위, 보 게임 봇 41
PlayType 열거형 42
Game 클래스 42
MessageController 클래스 46
3.2 대화 상태 관리 48
대화의 요소 48
상태 정보 저장 및 검색 51
3.3 대화에 참여하기 65
대화에 응답하기 65
맞춤 메시지 액티비티 만들기 66
맞춤 메시지 액티비티 사용하기 67
요약 69
CHAPTER 4 챗봇 세부 조정하기 70
4.1 봇 에뮬레이터 세부 사항 검토 70
4.2 액티비티 처리하기 72
Activity 클래스 72
ActivityType 클래스 74
코드 설계 개요 74
봇 에뮬레이터로 액티비티 전송하기 78
관계 변경 79
대화 업데이트 80
사용자 데이터 삭제하기 82
Ping 보내기 83
Typing 표시 84
4.3 고급 대화 메시지 85
Typing Activity 전송하기 85
독립 메시지 전송하기 89
요약 97
PART 2 봇 빌더
CHAPTER 5 다이얼로그 만들기 101
5.1 와인봇 소개 101
5.2 Wine.com API 사용하기 102
5.3 다이얼로그 구현하기 109
다이얼로그 클래스 생성하기 113
다이얼로그 초기화 및 작업 흐름 115
IDialogContext 검토 115
다이얼로그 대화 흐름 117
다이얼로그 프롬프트 옵션 120
검색하기 128
5.4 다이얼로그 호출하기 130
요약 132
CHAPTER 6 FormFlow 사용하기 133
6.1 기본 기능 133
6.2 기본 FormFlow 챗봇 137
Wine API 인터페이스 138
WineForm: FormFlow 양식 138
WineForm을 Dialog로 사용하기 144
6.3 FormFlow 대화 개선하기 148
Describe 특성 148
Numeric 특성 150
Optional 특성 150
Pattern 특성 151
Prompt 특성 151
Terms 특성 152
6.4 고급 템플릿과 패턴 154
패턴 언어 154
기본 템플릿 156
템플릿 용도 156
템플릿 옵션 163
요약 169
CHAPTER 7 FormFlow 맞춤 변경하기 170
7.1 FormFlow 플루언트 인터페이스 이해하기 170
7.2 Configuration 속성 172
응답 설정 174
템플릿 설정 175
명령어 설정 178
7.3 Message 메서드와 공통 매개변수 181
condition 매개변수 183
dependencies 매개변수 183
Prompt 매개변수 185
generateMessage 매개변수 185
7.4 Confirm 메서드 186
7.5 필드로 작업하기 188
동적 필드 정의 192
필드 검증 194
AddRemainingFields 메서드 196
HasField 메서드 197
7.6 OnCompletion 메서드 197
7.7 Build 메서드 200
7.8 FormFlow 초기화하기 200
요약 203
CHAPTER 8 LUIS로 자연어 처리 사용하기 204
8.1 핵심 LUIS 개념 205
8.2 LUIS와 훈련 모델 구성하기 206
모델 생성하기 206
의도 구성하기 208
실체 지정하기 209
훈련 및 배포 211
8.3 챗봇에서 LUIS 사용하기 214
WineBotLuis 소개 214
의도 추가 217
실체 처리하기 218
8.4 지속적인 LUIS 모델 개선 223
요약 225
CHAPTER 9 고급 대화 관리하기 266
9.1 다이얼로그 스택 관리하기 226
다이얼로그 스택이란 무엇인가? 227
다른 다이얼로그로 이동하기 228
Forward를 통한 이동 231
Call을 통한 이동 233
다이얼로그 끝내기 235
9.2 체이닝으로 대화 관리하기 239
WineBotChain 프로그램 239
Chain.From 245
Chain.Loop 246
Chain.Switch 247
Chain.ContinueWith 250
체인 게시 및 대기 메서드 종합 251
LINQ to Dialog 252
9.3 IScorable로 중단 처리하기 254
9.4 텍스트 출력 서식 지정하기 259
요약 262
PART 3 채널과 GUI
CHAPTER 10 카드 추가하기 265
10.1 음악 챗봇 개요 265
Spotify API 266
루트(Root) 다이얼로그 272
프로필(Profile) 다이얼로그 273
탐색(Browse) 다이얼로그 273
재생목록(Playlist) 다이얼로그 274
검색(Search) 다이얼로그 275
10.2 구성 요소 276
추천 활동 제시 276
파일 첨부 사용하기 281
10.3 카드 표시하기 289
BrowseDialog 구현하기 289
PlaylistDialog 구현하기 296
10.4 적응형 카드 301
컨테이너를 사용한 레이아웃 305
제어 사용하기 307
액션 처리하기 309
요약 311
CHAPTER 11 채널 구성 312
11.1 채널 개요 313
채널 구성 페이지 313
챗봇 통계 314
11.2 팀 구성 317
채널 설정 317
챗봇 사용 319
11.3 빙 구성 319
채널 설정 320
검색에서 사용하기 321
11.4 채널 검사기 321
요약 322
CHAPTER 12 이메일, SMS, 웹 챗봇 생성 323
12.1 챗봇 대화를 이메일로 보내기 323
이메일 계정 생성 323
이메일 채널 구성 324
12.2 챗봇에 텍스트 보내기 325
12.3 웹챗 제어 포함시키기 327
웹챗 IFrame 자리 표시자 추가하기 327
클라이언트 쪽 코딩 328
서버 요청 처리 329
요약 333
PART 4 API, 통합, 음성
CHAPTER 13 Direct Line API로 맞춤 채널 코딩하기 337
13.1 콘솔 채널 개요 338
콘솔 채널 코드 검사하기 340
13.2 대화 시작하기 343
13.3 새 액티비티 수신 345
13.4 대화를 계속 열어두기 351
13.5 액티비티 전송하기 353
13.6 대화 종료하기 355
CancellationTokenSource와 CancellationToken 355
사용자 종료 처리 356
요약 357
CHAPTER 14 인식 서비스 통합하기 358
14.1 빙으로 검색하기 359
14.2 이미지 해석 369
14.3 텍스트 번역 371
14.4 QnA Maker로 FAQ 챗봇 구성하기 379
요약 384
CHAPTER 15 음성 서비스 추가하기 385
15.1 액티비티에 음성 추가하기 385
15.2 SayAsync로 음성 추가하기 388
15.3 PromptDialog에 음성 추가하기 391
15.4 입력 힌트 지정 395
15.5 코타나 설정 397
요약 401
찾아보기 402