이 책은 현재 절판입니다. 그간 읽어주신 분들께 감사드립니다.
마이크로소프트 봇 프레임워크로 만드는 대화형 인터페이스, 챗봇의 모든 것!
마이크로소프트 봇 프레임워크를 통해 살아있는 챗봇을 만든다!
출판사 제이펍
원출판사 Microsoft Press
원서명 Programming the Microsoft Bot Framework(원서 ISBN: 9781509304981)
저자명 조 마요
역자명 김정인
출판일 2018년 8월 30일
페이지 436쪽
시리즈 I♥A.I. 10(아이러브 인공지능 10)
판 형 46배판변형(188*245*20)
제 본 무선(soft cover)
정 가 28,000원
ISBN 979-11-88621-28-6(93000)
키워드 봇 프레임워크 / 챗봇 / 루이스(LUIS) / GUI / FormFlow / 애저
분야 프로그래밍 / 인공지능
관련 사이트
관련 포스트
■ 2018/08/22 - [출간전 책소식] - 잘 만든 챗봇 하나, 열 직원 안 부럽다!
관련 시리즈
관련 도서
관련 파일 다운로드
■ 예제 코드
강의보조 자료
교재로 채택하신 분들은 메일을 보내주시면 아래의 자료를 보내드리겠습니다: jeipubmarketer@gmail.com
■ 본문의 그림과 표
샘플 PDF(차례, 옮긴이 머리말, 추천사, 이 책에 대하여, 베타리더 후기, 1장 '봇 프레임워크 아키텍처', 4장 '챗팅 세부 조정하기' 일부, 5장 '다이얼로그 만들기' 일부)
정오표 페이지
■ (등록되는 대로 링크를 걸어드리겠습니다.)
도서구매 사이트(가나다순)
도서 소개
마이크로소프트 봇 프레임워크로 만드는 대화형 인터페이스, 챗봇의 모든 것!
마이크로소프트 봇 프레임워크를 통해 살아있는 챗봇을 만든다!
이 책에서는 마이크로소프트 MVP인 조 마요가 마이크로소프트 봇 프레임워크로 챗봇을 구축하는 법을 안내한다. 저자는 인공지능과 자연어 처리를 활용해서 새로운 또는 기존 응용 프로그램을 놀라울 정도로 직관적으로 만드는 방법을 보여준다. 봇 프레임워크가 무엇이고 무엇을 할 수 있는지를 적당한 수준으로 이해하기 쉽게 설명한다. 또한, 핵심 개발 작업인 다이얼로그 구축 및 관리, 프레임워크 API와의 상호작용, 자연어 처리 통합, 슬랙, 스카이프, 페이스북 메신저와 같은 핵심 플랫폼에 봇을 배포하는 방법을 알려준다. 마지막으로, 실용적인 예제 코드와 알기 쉬운 설명을 추가해서 지능형 봇의 ‘마법’을 통해 현실적인 제품으로 변환하는 방법을 제시한다. 따라서, 봇이나 대화 사용자 인터페이스(CUI)의 사전 지식 없는 초보자라도 따라 하면서 학습할 수 있다.
■ 봇 프레임워크 구성요소, 통합, 통신 이해하기
■ 여러 세션에서 봇과 사람 사이의 복잡한 다이얼로그 흐름 관리하기
■ 미리 준비된 템플릿으로 봇 프로젝트 설정 구성하기
■ 액티비티 형식, 콘텐츠, 속성을 포함하여 대화의 핵심 요소 마스터하기
■ 에뮬레이터를 사용한 대화 테스트와 챗봇 디버깅하기
■ 폼플로우(FormFlow)로 대화 진행 지정하기
■ LUIS(Language Understanding Intelligent Service)로 유연한 지능형 봇 구성하기
■ 슬랙과 스카이프 같은 외부 메시징 서비스와 통합하기
■ 정교한 비선형 대화 구성하기
■ 마이크로소프트 애저에 봇 등록하고 게시하기
■ 이메일, SMS, 웹 챗봇 생성하기
■ 마이크로소프트 봇 프레임워크 API를 활용하는 고급 기법 마스터하기
■ 마이크로소프트 인식 서비스 API로 봇 확장하기
추천사
"이 책은 기본적인 내용부터 자연어 처리를 위해서 꼭 필요한 NLP(Natural Language Processing) 기술인 LUIS와 기본으로 지원하지 않는 채널을 연결하기 위해서 사용되는 다이렉트라인(DirectLine)에 이르기까지 필요한 요소들을 두루 포함하고 있어서 챗봇 개발자들에게 단비와 같은 책이 될 것이다. 제4차 산업혁명이라는 단어가 시장에 흘러넘치고 있지만, 이런 실체 없는 단어에 생명을 불어 넣고 시장을 만들어가는 진정한 개발자들에게 이 책을 강력히 추천한다."
Microsoft Commercial Software Engineering Team
Senior Software Engineer 김영욱
지은이 소개
조 마요(Joe Mayo)
여러 해 동안 마이크로소프트 MVP로 활동했으며, 마이크로소프트 기술을 전문으로 하는 저자이자 소프트웨어 컨설턴트다. 7종의 책을 집필했고, 여러 잡지에 수많은 기사를 기고했으며, 다양한 온/오프라인 교육도 진행했다. 그의 경험은 데스크톱, 클라우드, 디바이스 등 광범위한 기술에 걸쳐 있다. 또한, LINQ-to-Twitter 오픈 소스 프로젝트를 생성했고, 2000년부터는 C#과 .NET으로 작업해 왔다. 트위터에서 @JoeMayo로 검색하면 #BotFramework와 #AI에 대한 그의 의견을 확인할 수 있다.
옮긴이 소개
김정인
약 20년을 IT 분야에 종사했다. 회사를 나오기 전 최근 7년 동안 BI/BA 영역에 몸담았다. 관심 있는 분야는 데이터 과학이며, 늘 이 책으로 처음 공부하는 사람처럼 번역에 임하고자 노력한다. 옮긴 책으로는 《러닝 스칼라》, 《파이썬 데이터 사이언스 핸드북》, 《애자일 데이터 과학 2.0》, 《구글 애널리틱스 완벽 가이드》가 있다.
차례
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
'도서 소개' 카테고리의 다른 글
코딩 교육을 위한 마이크로비트 (0) | 2018.09.20 |
---|---|
패턴 인식과 머신 러닝 (10) | 2018.09.11 |
웹 서비스를 만들며 배우는 node.js 프로그래밍: 설치에서 배포까지 (0) | 2018.08.03 |
모던 C++로 배우는 동시성 프로그래밍 (0) | 2018.08.03 |
해킹 일렉트로닉스: 아두이노와 라즈베리파이로 배우는 전자공학 (0) | 2018.08.03 |