마이크로소프트 봇 프레임워크 프로그래밍
해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.
패키지
북카드
키워드 Pick
키워드 Pick 안내
관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.
책 소개
이 책이 속한 분야
- 국내도서 > 컴퓨터/IT > 컴퓨터공학 > 인공지능 > 인공지능일반
- 국내도서 > 컴퓨터/IT > 프로그래밍 언어 > 프로그래밍일반
- 국내도서 > 컴퓨터/IT > 대학교재
- 국내도서 > 대학교재 > 컴퓨터
현재 우리 생활에선 24시간 상담과 Q&A를 수행하는 채팅 로봇, 챗봇을 쉽게 찾아볼 수 있다. 챗봇은 무수히 많은 엔터프라이즈 응용 프로그램과 산업에 존재한다.
마이크로소프트가 2016년에 선보인 봇 프레임워크(bot framework)는 매우 효율적인 대화식 커뮤니케이션 도구다. 개발자는 공통적인 메시징 앱에 등장하는 챗봇을 구축함에 따라 대화, 다채널, 음성 기능을 결합해서 자신이 만든 응용 프로그램을 챗봇을 통해 누구에게나, 어디에서든지 제공할 수 있다.
작가정보
저자(글) 조 마요
여러 해 동안 마이크로소프트 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
책 속으로
챗봇은 그래픽 사용자 인터페이스(Graphic User Interface, GUI)보다는 대화형 사용자 인터페이스를 사용한다. GUI는 화면에 표시되고 마우스나 터치 동작을 위한 그래픽 요소와 그림이 있는 프로그램이다. CUI는 사용자가 메시징 앱에 입력하는 텍스트다. 오늘날 대부분의 챗봇은 주로 텍스트를 사용하지만, 챗봇은 사용자와 상호작용하기 위해 음성을 사용할 수도 있다. 앞으로 배우겠지만, 챗봇은 일부 GUI 요소를 가질 수 있지만, 여전히 챗봇의 주된 특징은 대화를 쉽게 하기 위해 텍스트를 사용하는 것이다.
_5쪽
Activity 클래스는 다양한 유형의 액티비티를 모두 표현하는 멤버들을 포함하고 있다. Activity 멤버 중 일부는 챗봇에 전송되는 Activity 유형의 컨텍스트에서만 사용된다. 예를 들어 Activity Type이 Message라면 Text 속성에 사용자 입력을 포함할 것으로 예상할 수 있지만, Typing의 Activity Type은 어떤 속성도 사용하지 않는데 Type이 Activity의 의미에 해당하기 때문이다.
_72쪽
여러분에게 필요할 맞춤 변경 사항 중 하나는 정적 열거형에 의존하는 대신 동적 메뉴를 구성하는 것이다. 이 장에서는 하나의 필드에 대한 메뉴를 동적으로 구성하기 위해 양식 구성 절차를 수정하는 법을 배울 것이다. 또한, 그 필드에 맞춤 변경한 검증 방식을 추가하는 법도 배우게 될 것이다. 마지막으로 더 나은 사용자 경험을 제공하기 위한 유용한 기법으로 미리 채워진 필드를 제공하는 것을 다루겠다.
_170쪽
일반적으로 채널이 사용자의 일반 언어 텍스트로 된 메시지를 봇 커넥터에 전송하면, 봇 커넥터는 그 메시지를 챗봇에 전달한다. 이 시점에 챗봇은 사용자 텍스트를 적합하다고 판단하는 대로 처리할 수 있다. 더 구체적으로 이 장에서는 그림 8-1의 마지막 구성 요소인 LUIS를 배울 것이다. LUIS는 발화(utterance) 텍스트를 의도(intent)와 실체(entity)로 번역한다. 챗봇은 봇커넥터에서 받은 메시지로부터 발화 텍스트를 추출한다.
_205쪽
웹챗(WebChat) 제어는 웹 페이지라면 어디에나 챗봇을 추가할 수 있게 해준다. 이 제어는 HTML iframe에 포함되어 있으므로 HTML을 지원하는 모든 화면에 웹챗 제어(다른 응용 프로그램 웹 제어까지도)를 넣을 수 있다. 이 예제는 기본 봇 응용 프로그램 템플릿에 포함된 default.htm 파일에 웹챗 제어를 추가한다. 이 절은 웹챗 제어를 담고 있는 웹 페이지를 위한 HTML을 작성하는 한 가지 방법을 보여준다. 여기에서는 서버 웹 API와 통신하기 위해 클라이언트에 자바스크립트(JavaScript)를 사용했다.
_327쪽
출판사 서평
마이크로소프트 봇 프레임워크를 통해 살아있는 챗봇을 만든다!
이 책에서는 마이크로소프트 MVP인 조 마요가 마이크로소프트 봇 프레임워크로 챗봇을 구축하는 법을 안내한다. 저자는 인공지능과 자연어 처리를 활용해서 새로운 또는 기존 응용 프로그램을 놀라울 정도로 직관적으로 만드는 방법을 보여준다.
봇 프레임워크가 무엇이고 무엇을 할 수 있는지를 적당한 수준으로 이해하기 쉽게 설명한다. 또한, 핵심 개발 작업인 다이얼로그 구축 및 관리, 프레임워크 API와의 상호작용, 자연어 처리 통합, 슬랙, 스카이프, 페이스북 메신저와 같은 핵심 플랫폼에 봇을 배포하는 방법을 알려준다.
마지막으로, 실용적인 예제 코드와 알기 쉬운 설명을 추가해서 지능형 봇의 ‘마법’을 통해 현실적인 제품으로 변환하는 방법을 제시한다. 따라서, 봇이나 대화 사용자 인터페이스(CUI)의 사전 지식 없는 초보자라도 따라 하면서 학습할 수 있다.
■ 봇 프레임워크 구성요소, 통합, 통신 이해하기
■ 여러 세션에서 봇과 사람 사이의 복잡한 다이얼로그 흐름 관리하기
■ 미리 준비된 템플릿으로 봇 프로젝트 설정 구성하기
■ 액티비티 형식, 콘텐츠, 속성을 포함하여 대화의 핵심 요소 마스터하기
■ 에뮬레이터를 사용한 대화 테스트와 챗봇 디버깅하기
■ 폼플로우(FormFlow)로 대화 진행 지정하기
■ LUIS(Language Understanding Intelligent Service)로 유연한 지능형 봇 구성하기
■ 슬랙과 스카이프 같은 외부 메시징 서비스와 통합하기
■ 정교한 비선형 대화 구성하기
■ 마이크로소프트 애저에 봇 등록하고 게시하기
■ 이메일, SMS, 웹 챗봇 생성하기
■ 마이크로소프트 봇 프레임워크 API를 활용하는 고급 기법 마스터하기
■ 마이크로소프트 인식 서비스 API로 봇 확장하기
기본정보
ISBN | 9791188621286 | ||
---|---|---|---|
발행(출시)일자 | 2018년 08월 30일 | ||
쪽수 | 436쪽 | ||
크기 |
187 * 246
* 23
mm
/ 838 g
|
||
총권수 | 1권 | ||
시리즈명 |
제이펍의 인공지능 시리즈
|
||
원서명/저자명 | Programming the Microsoft Bot Framework/Mayo, Joe |
Klover
e교환권은 적립 일로부터 180일 동안 사용 가능합니다.
리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 리뷰 종류별로 구매한 아이디당 한 상품에 최초 1회 작성 건들에 대해서만 제공됩니다.
판매가 1,000원 미만 도서의 경우 리워드 지급 대상에서 제외됩니다.
일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
- 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
- 도서와 무관한 내용의 리뷰
- 인신공격이나 욕설, 비속어, 혐오발언이 개재된 리뷰
- 의성어나 의태어 등 내용의 의미가 없는 리뷰
리뷰는 1인이 중복으로 작성하실 수는 있지만, 평점계산은 가장 최근에 남긴 1건의 리뷰만 반영됩니다.
구매 후 리뷰 작성 시, e교환권 200원 적립
문장수집
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
구매 후 리뷰 작성 시, e교환권 100원 적립