-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbots_for_teams.html
213 lines (194 loc) · 7.34 KB
/
bots_for_teams.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
<!doctype html>
<html lang="en" prefix="og: http://ogp.me/ns#">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- CLEAN MARKUP = GOOD KARMA.
Hi source code lover,
you're a curious person and a fast learner ;)
Let's make something beautiful together. Contribute on Github:
https://github.com/webslides/webslides
Thanks,
@jlantunez.
-->
<!-- SEO -->
<title>Builind Bots for Teams by Greenie</title>
<!-- Google Fonts -->
<link href="https://fonts.googleapis.com/css?family=Roboto:100,100i,300,300i,400,400i,700,700i%7CMaitree:200,300,400,600,700&subset=latin-ext" rel="stylesheet">
<!-- CSS WebSlides -->
<link rel="stylesheet" type='text/css' media='all' href="static/css/webslides.css">
<!-- Optional - CSS SVG Icons (Font Awesome) -->
<link rel="stylesheet" type='text/css' media='all' href="static/css/svg-icons.css">
</head>
<body>
<main role="main">
<article id="webslides" class="vertical">
<section>
<div class="wrap size-80">
<h1><strong>Building Bots for Teams</strong></h1>
<p class="text-intro">Or more accurately, how I built bots that are impactful for my organisation</p>
</div>
<!-- .end .wrap -->
</section>
<section>
<!--.wrap = container (width: 90%) -->
<div class="wrap size-80">
<h1><strong>Who am I?</strong></h1>
<p class="text-intro">
Greenie Cheng, CTO at GrantTree<br><br>
<svg class="fa-twitter"><use xlink:href="#fa-twitter"></use></svg> greenietea
</p>
<!-- .end .wrap -->
</section>
<section>
<!--.wrap = container (width: 90%) -->
<div class="wrap size-80">
<h2><strong>What am I talking about today?</strong></h2>
<p></p>
<p class="text-intro">Share the story about how and why I built bots.</p>
</div>
<!-- .end .wrap -->
</section>
<section>
<!--.wrap = container (width: 90%) -->
<div class="wrap size-80">
<h2><strong>Two years ago...</strong></h2>
<p class="text-intro">I started analysing conversations archived in HipChat and Slack.</p>
<p class="text-intro"><img src="slideimages/wordcloud.png"></p>
</div>
</section>
<section>
<div class="wrap size-80">
<h2><strong>How I started</strong></h2>
<div class="bg-white shadow">
<ul class="flexblock reasons">
<li>
<h5>All the words</h5>
<p>Downloaded the archived conversations in text format and clean up the data to remove private channels and notifications from Slack integrations</p>
</li>
<li>
<h5>NLTK</h5>
<p>Wrote a script in Python and used the Natural Language ToolKit (https://nltk.org) to parse the files to see what it finds</p>
</li>
<li>
<h5>Uncovered frequently used term</h5>
<p>Chose a list of excluded words and find that most frequently asked questions are about clients</p>
</li>
<li>
<h5>Simplified</h5>
<p>Instead of using NLTK, a simple hash table worked just as well</p>
</li>
</ul>
</div>
<!-- .end .bg-white shadow -->
</div>
<!-- .end .wrap -->
</section>
<section>
<div class="wrap size-80">
<h2><strong>Connecting the dots</strong></h2>
<p class="text-intro"><br>
<i>Why don't they just use the platform I built? It's all got the data!</i>
</p>
</div>
</section>
<section>
<div class="wrap size-80">
<h2><strong>Interface with a bot</strong></h2>
<div class="bg-white shadow">
<ul class="flexblock reasons">
<li>
<h5>Intent</h5>
<p>What type of info is the user asking for? </p>
</li>
<li>
<h5>Parameter</h5>
<p>What is specific about the intent? (e.g. client name)</p>
</li>
<li>
<h5>Action</h5>
<p>How to map the intent to an action for the bot? </p>
</li>
<li>
<h5>Request data</h5>
<p>Which data source does the bot request data from?</p>
</li>
<li>
<h5>Response</h5>
<p>Parse, prettifier, return response to the user</p>
</li>
</ul>
</div>
</div>
</section>
<section>
<div class="wrap size-80">
<h2><strong>Results</strong></h2>
<p class="text-intro"><br>
Engaged users<br><br>
Used in group discussions<br><br>
Users asking more questions<br><br>
</p>
</div>
<!-- .end .wrap -->
</section>
<section>
<div class="wrap size-80">
<h2><strong>Challenges</strong></h2>
<p class="text-intro"><br>
Imperfect users with strict strings matching<br><br>
Lack of parameters<br><br>
Context switching<br><br>
</p>
</div>
<!-- .end .wrap -->
</section>
<section>
<div class="wrap size-80">
<h2><strong>How I really did it at the end</strong></h2>
<p class="text-intro"><br>
Used a service to do the request parsing Api.ai https://api.ai
</p>
</div>
<!-- .end .wrap -->
</section>
<section>
<div class="wrap size-80">
<h2><strong>Lessons learned</strong></h2>
<div class="text-intro"><br>
Software engineers are problem solvers first and software is one of the tools. <br><br>
Don't reinvent the wheel.<br><br>
Geek out on something that engages the users first, and leave the hard computing problems for later.
</div>
</div>
</section>
<section>
<div class="wrap size-80">
<h2><strong>Contact me</strong></h2>
<div class="text-intro"><br>
Greenie Cheng<br>
<svg class="fa-twitter"><use xlink:href="#fa-twitter"></use></svg> greenietea
</div>
</div>
</section>
</article>
<!-- end article -->
</main>
<!-- end main -->
<!-- A global footer
<footer role="contentinfo">
<div class="wrap">
<p>An <a href="https://github.com/webslides/webslides">open source solution</a>, by <a href="https://twitter.com/webslides">@webslides</a>.</p>
</div>
</footer> -->
<!-- Required -->
<script src="static/js/webslides.js"></script>
<script>
window.ws = new WebSlides();
</script>
<!-- OPTIONAL - svg-icons.js (fontastic.me - Font Awesome as svg icons) -->
<script defer src="static/js/svg-icons.js"></script>
</body>
</html>