-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
executable file
·229 lines (201 loc) · 6.88 KB
/
index.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
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Introducción a los chatbots</title>
<meta name="description" content="Introducción a los chatbots">
<meta name="author" content="Alberto Fernández Valiente">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<link rel="stylesheet" href="css/reveal.css">
<link rel="stylesheet" href="css/theme/moon.css" id="theme">
<!-- Theme used for syntax highlighting of code -->
<link rel="stylesheet" href="lib/css/zenburn.css">
<!-- Printing and PDF exports -->
<script>
var link = document.createElement( 'link' );
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = window.location.search.match( /print-pdf/gi ) ? 'css/print/pdf.css' : 'css/print/paper.css';
document.getElementsByTagName( 'head' )[0].appendChild( link );
</script>
<!--[if lt IE 9]>
<script src="lib/js/html5shiv.js"></script>
<![endif]-->
</head>
<body>
<div class="reveal">
<div class="slides">
<section data-background-image="img/ayesa.png" data-background-size="15%" data-background-position="75% 90%">
<h2>Introducción a los chatbots</h2>
<h4>¿Qué se cuece dentro de Siri?</h4>
<p>
<small>Por Alberto Fernández Valiente</small>
</p>
</section>
<section>
<h3>¿Cómo llegamos a los chatbots?</h3>
<ul>
<li>Alan Turing</li>
<li>1950 - Articulo "Computing Machinery and Intelligence"</li>
<li class="fragment">¿Pueden las máquinas "pensar"?</li>
<li class="fragment">¿Pueden las máquinas ganar el "juego de la imitación"?</li>
</ul>
</section>
<section>
<h3>El test de Turing</h3>
<ul>
<li>Dos sujetos, un ordenador y un humano</li>
<li>Un evaluador independiente aislado de ellos</li>
<li>Canal de comunicación textual</li>
<li>¿Puede el evaluador identificar cuál de los dos es la máquina?</li>
<li>Premio Loebner, sin ganador desde 1991</li>
</ul>
</section>
<section>
<h3>Eliza</h3>
<ul>
<li>1966</li>
<li>Joseph Weizenbaum (MIT)</li>
<li>Búsqueda de patrones y sustituciones</li>
<li>Interacciones programadas en guiones (DOCTOR)</li>
</ul>
</section>
<section>
<h3>A.L.I.C.E.</h3>
<ul>
<li>1995</li>
<li>Richard Wallace</li>
<li>Procesamiento de lenguaje natural y reglas heurísticas</li>
<li>Desarrollado en Java</li>
<li>Reglas almacenadas en XML (AIML)</li>
</ul>
</section>
<section>
<h3>Cleverbot</h3>
<ul>
<li>1997</li>
<li>Rollo Carpenter</li>
<li>Heredero de Jabberwacky de 1988</li>
<li>Búsqueda de palabras claves y frases</li>
<li>Base de datos con conversaciones previas</li>
<li>Accesible en <a href="https://www.cleverbot.com">Cleverbot</a></li>
</ul>
</section>
<section>
<h3>Watson</h3>
<ul>
<li>2006</li>
<li>Jeopardy!</li>
<li>Procesamiento de lenguaje natural y aprendizaje automático</li>
<li>90 servidores, 2880 núcleos, 16TB de RAM</li>
<li>Búsqueda de soluciones en paralelo</li>
</ul>
</section>
<section>
<h3>Siri</h3>
<ul>
<li>2010</li>
<li>Asistente virtual</li>
<li>Reconocimiento del lenguaje hablado y aprendizaje automático</li>
<li>Adaptación al usuario mediante el uso continuado</li>
</ul>
</section>
<section>
<h3>Bots para Telegram</h3>
<ul>
<li>2015</li>
<li>Aplicación de mensajería instantánea</li>
<li>Plataforma abierta al desarrollo de terceros</li>
<li>Buena documentación y facilidad para crear un bot</li>
</ul>
</section>
<section>
<h3>El flujo de un chatbot</h3>
<ol>
<li>El usuario contacta con el chatbot, saludo inicial</li>
<li>El usuario hace una pregunta en lenguaje natural</li>
<li>El chatbot analiza el texto y devuelve una respuesta</li>
<li>Vuelta al punto 2</li>
</ol>
</section>
<section>
<h3>Los tres ejes básicos</h3>
<ul>
<li>Detección de la intención del usuario</li>
<li>Extracción de entidades</li>
<li>Flujo de diálogo</li>
</ul>
</section>
<section>
<h3>¿Que podemos utilizar para crear un chatbot?</h3>
<ul>
<li>Procesamiento del lenguaje natural</li>
<li>Técnicas de aprendizaje automático</li>
</ul>
</section>
<section>
<h3>Procesamiento del lenguaje natural</h3>
<ul>
<li>Tokenización de palabras</li>
<li>Análisis de la estructura sintáctica</li>
<li>Creación de un corpus lingüístico propio</li>
</ul>
</section>
<section>
<h3>Técnicas de aprendizaje automático</h3>
<ul>
<li>Clasificador</li>
<li>Word2Vec</li>
<li>Creación de un conjunto de entrenamiento</li>
</ul>
</section>
<section>
<h3>¿Cómo construimos las respuestas?</h3>
<ul>
<li>Base de datos de respuestas</li>
<li>Ampliación de respuestas con contenido propio</li>
</ul>
</section>
<section>
<h3>¿Qué necesitamos para montar un chatbot?</h3>
<ul>
<li>Orquestador</li>
<li>Framework de desarrollo del entorno</li>
<li>Diseño de la infraestructura necesaria</li>
</ul>
</section>
<section>
<h1>Enlaces</h1>
<p><a href="https://www.nltk.org/">NLTK</a></p>
<p><a href="https://spacy.io">spaCy</a></p>
<p><a href="https://www.ibm.com/watson/services/conversation/">Watson Assistant</a></p>
<p><a href="https://aws.amazon.com/es/lex/">Amazon Lex</a></p>
<p><a href="https://dialogflow.com/">Dialogflow</a></p>
</section>
</div>
</div>
<script src="lib/js/head.min.js"></script>
<script src="js/reveal.js"></script>
<script>
// More info https://github.com/hakimel/reveal.js#configuration
Reveal.initialize({
controls: false,
progress: true,
history: true,
center: true,
transition: 'slide', // none/fade/slide/convex/concave/zoom
// More info https://github.com/hakimel/reveal.js#dependencies
dependencies: [
{ src: 'lib/js/classList.js', condition: function() { return !document.body.classList; } },
{ src: 'plugin/markdown/marked.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
{ src: 'plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
{ src: 'plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } },
{ src: 'plugin/zoom-js/zoom.js', async: true },
{ src: 'plugin/notes/notes.js', async: true }
]
});
</script>
</body>
</html>