SlideShare uma empresa Scribd logo
1 de 80
Baixar para ler offline
Elio Rojano - elio@sinologic.net
Inteligencia Artificial
y BigData en VoIP
Elio Rojano
http://sinologic.net/
Elio Rojano - elio@sinologic.net
[Introducción]
Elio Rojano - elio@sinologic.net
{
name: "Elio Rojano",
email: “elio@sinologic.net”,
web: "https://www.sinologic.net/",
work: "http://VOZ.com",
twitter: "https://twitter.com/hellc2",
linkedin: "https://www.linkedin.com/in/rojano/",
interests: [
“VoIP",
"WebRTC",
"SIP",
"Development",
"Javascript",
"PHP",
"Python",
"Linux",
"OpenSource"
],
keynotes: "https://www.sinologic.net/portfolio"
}
Quién soy
Elio Rojano - elio@sinologic.net
Interés en la IA y la VoIP
Curiosidad sobre IA
Conceptos matemáticos
Datos
+
Curiosidad sobre VoIP
Las llamadas generan datos
La gente hacen llamadas
+
Elio Rojano - elio@sinologic.net
Dónde está la IA
Inteligencia

Artificial
Informática Matemática
Elio Rojano - elio@sinologic.net
¿Qué tal las matemáticas?
Elio Rojano - elio@sinologic.net
Al comienzo, bastante frustrante
Elio Rojano - elio@sinologic.net
¿Por qué interesa la IA?
Elio Rojano - elio@sinologic.net
- Prever posibles datos y acelerar el trabajo más tedioso

- Hacer automáticamente el trabajo más tedioso

- Ser más prácticos en la obtención de objetivos

- Porque es un reto…

- Enseñar al sistema lo que nos gusta y que nos ofrezca lo que podemos desear
¿Por qué interesa la IA?
Elio Rojano - elio@sinologic.net
…aunque no siempre aciertan…
WTF!
Elio Rojano - elio@sinologic.net
Atención
Procesamiento de datos

está muy cerca, es muy parecido, pero no es
Inteligencia Artificial
Elio Rojano - elio@sinologic.net
Inconvenientes
Elio Rojano - elio@sinologic.net
Inconvenientes
Elio Rojano - elio@sinologic.net
2
1
3
Inconvenientes
????
Elio Rojano - elio@sinologic.net
1º. Lisp

2º. R

3º. Java

4º. Python

5º. Javascript

6º. PHP
Inconvenientes
Elio Rojano - elio@sinologic.net
Inconvenientes
Elio Rojano - elio@sinologic.net
Correlación no implica causalidad
Número de ahogados por caídas en piscina en relación con películas de Nicolas Cage
Elio Rojano - elio@sinologic.net
[Empecemos]
Elio Rojano - elio@sinologic.net
Qué es la IA
Entrada Salida
Entrada Salida
Entrada Salida
Entrada Salida
Entrada
?
Elio Rojano - elio@sinologic.net
Qué es la IA
Entrada Modelo matemático
?
Salida
Probabilidad de acierto: X%
Elio Rojano - elio@sinologic.net
Ejemplo
30 135
53 138
61 160
50 155
100
?
Entradas Salidas
Elio Rojano - elio@sinologic.net
Ejemplo
Elio Rojano - elio@sinologic.net
Ejemplo
Elio Rojano - elio@sinologic.net
Ejemplo
Elio Rojano - elio@sinologic.net
El objetivo es desarrollar un modelo que nos permita prever los valores que nos interesa
obtener de forma automática.

Nos basamos en datos antiguos para obtener información automática.
Los datos suficientemente claros
Elio Rojano - elio@sinologic.net
Matemáticamente definidos, mejor dicho.
Se basa en conceptos muy definidos
Todo debe ser pasado a valores numéricos
Una imagen, un texto, todo debe ser numerado pixel a pixel
para poder ser procesado
255

255

255
255

255

255
255

255

255
255

255

255
255

255

255
255

255

255
255

255

255
255

255

255
255

255

255
255

255

255
255

255

255
255

255

255
255

255

255
255

255

255
255

190

25
255

190

25
255

128

25
255

90

0
255

90

0
255

90

0
10111100101010010111010010101010
10101010101010101110101111101010
10010001011101001011010101010101
0101010111010101101010110101011011101101011101
1011011010101101010110101101010010011010010110

1101110100101001000011100010110101011011011010001001010101011010010111011101001010010

0011100010110101011011011010001001010101011010010111011101001010010000111000101101010
1101101101000100101010101101001010011100010110101011011011010001001010101011010010111
01110001110001011010101101101101000100101010101101001011101110001110001011010101101101
10100010010101010110100101110111000111000101101010110110110100010010101010110100101110111000111000101101010110110110100010010101010110100101110111
00011100010110101011011101000100101010101101001011101110001110001011010101101101101000100101010101101001011101110001110001011010101101101101000100
10101010110100101110110100010010101010110100101110111000111000101101010110110110100010010101010110100101110111000111000101101010110110110100010010
10101011010010111011010001001010101011010010111011100011100010110101011011011010001001010101011010010111011100011100010110101011011011010001001010
10101101001011101101000100101010101101001011101110001110001011010101101101101000100101010101101001011101110001110001011010101101101101000100101010
10110100101110110100010010101010110100101110111000111000101101010110110110100010010101010110100101110111000111000101101010110110110100010010101010
1101001011101101000100101010101101001011101110001110001011010101101101101000100101010101101001011101110001110001011010

1010001001010101011010010111011100011100010110101011011011010001001010101

101000100101010101101001011101110001110001

10100010010101010110
Elio Rojano - elio@sinologic.net
[Tipos de IA]
Elio Rojano - elio@sinologic.net
Tipos de IA
Estadística / Probabilidad
Redes Neuronales Machine Learning* Deep Learning
Linear Polinómica (SVR) Vectorial
Random Forest
K-Nearest Neighbors SVM Naive Bayes
Redes Bayesianas
Logarítmica
Predicción
Clasificación
Toma de decisiones
Regresión
Elio Rojano - elio@sinologic.net
Existen otras clasificaciones…
http://peekaboo-vision.blogspot.com/2013/01/machine-learning-cheat-sheet-for-scikit.html
Elio Rojano - elio@sinologic.net
[Probabilidad y Estadística]
Elio Rojano - elio@sinologic.net
Detección de anomalías
Probabilidad y Estadística
Elio Rojano - elio@sinologic.net
Demo
Anaconda es un distribución libre y abierta de los lenguajes Python y R, utilizada en ciencia
de datos, y aprendizaje automático (machine learning). Esto incluye procesamiento de grandes
volúmenes de información, análisis predictivo y cómputos científicos. Está orientado a simplificar
el despliegue y administración de los paquetes de software.  
Las diferentes versiones de los paquetes se administran mediante el sistema de administración
del paquete conda, el cual lo hace bastante sencillo de instalar, correr, y actualizar software de
ciencia de datos y aprendizaje automático como ser Scikit-team, TensorFlow y SciPy.3
La distribución Anaconda es utilizada por 6 millones de usuarios e incluye más de 250
paquetes de ciencia de datos válidos para Windows, Linux y MacOS.


Más información: https://www.anaconda.com
Elio Rojano - elio@sinologic.net
Demo
Elio Rojano - elio@sinologic.net
Demo
Elio Rojano - elio@sinologic.net
Demo
Elio Rojano - elio@sinologic.net
Demo
http://sukiweb.net/archivos/2018/03/04/deteccion-de-anomalias-con-python-pandas/
Elio Rojano - elio@sinologic.net
Regresiones
Elio Rojano - elio@sinologic.net
Regresiones
Elio Rojano - elio@sinologic.net
Toma de decisiones
Elio Rojano - elio@sinologic.net
Toma de decisiones
Redes Bayesianas
Elio Rojano - elio@sinologic.net
Clasificación
Elio Rojano - elio@sinologic.net
Clasificación
Elio Rojano - elio@sinologic.net
Clasificación
Naive Bayes
Cálculo de la probabilidad de que un mensaje
que contiene una palabra dada es spam



Combinaciones de probabilides individuales



Heurística
¿Te suena SpamAssassin?
Elio Rojano - elio@sinologic.net
Predicción
Elio Rojano - elio@sinologic.net
Predicción
Machine Learning
Elio Rojano - elio@sinologic.net
Predicción
Arte ?Literatura ?
Elio Rojano - elio@sinologic.net
Predicción
Elio Rojano - elio@sinologic.net
[BigData]
Elio Rojano - elio@sinologic.net
Machine Learning necesita datos
Elio Rojano - elio@sinologic.net
Cuantos más ejemplos le enseñemos al modelo, más
acertada será la predicción.
¿Cuantos datos?
Elio Rojano - elio@sinologic.net
¿Cuantos datos?
MySQL no es muy práctico aquí:
the data cache stored in RAM can grow very large and be subjected to
thousands or even millions of requests per second.
Hacen falta motores muy orientado a la entrega rápida de datos con muy
bajo consumo y posibilidad de redundancia, escalabilidad y distribución
Volumen
Variedad
Velocidad
Veracidad
Variabilidad
Valor
Elio Rojano - elio@sinologic.net
Bases de datos BigData hay muchas
Elio Rojano - elio@sinologic.net
¿Mi es compatible con eso?
Todos los motores disponen de sistemas para insertar
datos de una forma fácil y cómoda.
Asterisk no tiene un módulo para enviar datos a la base
de datos, pero podemos implementarlo muy fácilmente.
Elio Rojano - elio@sinologic.net
Ejemplo
#!/usr/bin/env node
var MongoClient = require('mongodb').MongoClient;

var ami = require('asterisk-manager')(5038,'localhost','amiuser','amip4ssw0rd',true);
var url = “mongodb://localhost:27017/";
ami.on('cdr', function(evt) {

MongoClient.connect(url, function(err, db) {
if (err) throw err;
var dbo = db.db("cdr");
myobj = {
date: evt.starttime,
src: evt.source,
dst: evt.destination,
res: evt.disposition,
time: parseInt(evt.billableseconds),
};
dbo.collection('cdr').insertOne(myobj, function(err, res) {
if (err) throw err;
db.close();
});
});
});
});
Elio Rojano - elio@sinologic.net
[Revolucion de la IA]
Machine Learning
Deep Learning
Elio Rojano - elio@sinologic.net
¿Por qué ahora está en auge?
Nuevos procesadores hacen millones
de pruebas por segundo.
Elio Rojano - elio@sinologic.net
¿Por qué ahora está en auge?
Nuevas librerías y herramientas facilitan su accesibilidad.
Elio Rojano - elio@sinologic.net
Machine Learning vs Deep Learning
Inteligencia

Artificial
Machine

Learning
Deep

Learning
Técnica que permite a un sistema 

IMITAR

el comportamiento humano
Técnica que permite a un sistema 

MEJORAR

en base a la experiencia
Técnica que permite a un sistema 

PERFECCIONAR

en base a su propia experiencia
Elio Rojano - elio@sinologic.net
Machine Learning vs Deep Learning
Elio Rojano - elio@sinologic.net
DEMO
TensorFlow es una biblioteca de código abierto para aprendizaje automático a través de un rango
de tareas, y desarrollado por Google para satisfacer sus necesidades de sistemas capaces de
construir y entrenar redes neuronales para detectar y descifrar patrones y correlaciones, análogos al
aprendizaje y razonamiento usados por los humanos.

Todos los productos de Google utilizan alguna característica de Inteligencia Artificial.

TensorFlow está originalmente desarrollado en Python, aunque hay una versión para Javascript.
https://www.tensorflow.org
Elio Rojano - elio@sinologic.net
DEMO<html>
<head>
<!-- Load TensorFlow.js -->
<!-- Get latest version at https://github.com/tensorflow/tfjs -->
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@0.11.2">
</script>
<style>body{ font-size: 50px; }</style>
</head>
<body>
<div id="output_field"></div>
</body>
<script>
async function learnLinear(){
const model = tf.sequential();
model.add(tf.layers.dense({units: 1, inputShape: [1]}));
model.compile({
loss: 'meanSquaredError',
optimizer: 'sgd'
});
const xs = tf.tensor2d([-1, 0, 1, 2, 3, 4], [6, 1]);
const ys = tf.tensor2d([-3, -1, 1, 3, 5, 7 ], [6, 1]);
await model.fit(xs, ys, {epochs: 500});
document.getElementById('output_field').innerText =
model.predict(tf.tensor2d([10], [1, 1]));
}
learnLinear();
</script>
<html>
Entrenamiento…
Solicitamos una predicción…
Elio Rojano - elio@sinologic.net
Machine Learning vs Deep Learning
Reconocimiento de patrones
+
tensorflow.org keras.io
Elio Rojano - elio@sinologic.net
Machine Learning vs Deep Learning
Elio Rojano - elio@sinologic.net
Machine Learning vs Deep Learning
Elio Rojano - elio@sinologic.net
Machine Learning vs Deep Learning
Elio Rojano - elio@sinologic.net
Machine Learning vs Deep Learning
Elio Rojano - elio@sinologic.net
Machine Learning vs Deep Learning
Elio Rojano - elio@sinologic.net
Machine Learning vs Deep Learning
Elio Rojano - elio@sinologic.net
Machine Learning vs Deep Learning
Elio Rojano - elio@sinologic.net
[WebRTC e IA]
Elio Rojano - elio@sinologic.net
Gracias al WebRTC y la IA podemos hacer cosas como:

• Reconocimiento de imágenes (MobileNet)

• Reconocimiento del estado de ánimo

• Reconocimiento del número de personas

• Reconocimiento de qué están haciendo esas personas

• Filtrar el audio para obtener una mejora en la calidad de la voz

• …
WebRTC
Elio Rojano - elio@sinologic.net
Demo
Elio Rojano - elio@sinologic.net
https://github.com/tensorflow/tfjs-models/tree/master/posenet
Demo
Elio Rojano - elio@sinologic.net
[Otros usos]
Elio Rojano - elio@sinologic.net
- Detección de anomalías en parámetros de sistemas, (procesador, memoria, hilos, procesos, etc.)

- Predicción de incidencias del sistema en base a sus parámetros.

- Creación de bots conversacionales de ayuda.

- Identificación de la persona que habla mediante “Voice ID Fingerprint”.

- Aceleración en la gestión de incidencias de equipos de Help Desk.

- Ajuste de los parámetros de búsqueda de posibles leads en base a las ventas logradas.

- Mejora sustancial de los sistemas de reconocimiento de voz.

- … 

Otros usos
Elio Rojano - elio@sinologic.net
Un futuro muy presente…
Google Duplex HSBC Voice ID
Elio Rojano - elio@sinologic.net
¿Preguntas?
Elio Rojano - elio@sinologic.net
- a Rosa y Pablo por su paciencia y apoyo.

- a Guillermo Ruiz por su apoyo y recomendaciones.

- a David Martín (Suki) por sus ejemplos y tutoriales.

- a todos los que publican libremente su trabajo para enseñarnos cómo se hacen las cosas.

- a la organización del VoIP2DAY por invitarme a este evento.

- a VOZ.com por apoyarme con estos y otros proyectos.

- a los lectores y patrocinadores de Sinologic.net.

- y especialmente a…
Agradecimientos
Elio Rojano - elio@sinologic.net
… a Daniel Maestre
Elio Rojano - elio@sinologic.net
Gracias!

Mais conteúdo relacionado

Mais procurados

Sistemas de VoIP con Asterisk
Sistemas de VoIP con AsteriskSistemas de VoIP con Asterisk
Sistemas de VoIP con Asterisk
Gabriel Astudillo
 
Configuración de escenarios reales con asterisk
Configuración de escenarios reales con asteriskConfiguración de escenarios reales con asterisk
Configuración de escenarios reales con asterisk
Diego Llanes
 
Configuración básica asterisk sixbell - v2.0
Configuración básica asterisk   sixbell - v2.0Configuración básica asterisk   sixbell - v2.0
Configuración básica asterisk sixbell - v2.0
Sebastian Cisternas Arenas
 
Experiencias con-asterisk-1.8-cert
Experiencias con-asterisk-1.8-certExperiencias con-asterisk-1.8-cert
Experiencias con-asterisk-1.8-cert
r3iz0
 
Protegiendo SIP y SSH con Fail2ban en Elastix
Protegiendo SIP y SSH con Fail2ban en ElastixProtegiendo SIP y SSH con Fail2ban en Elastix
Protegiendo SIP y SSH con Fail2ban en Elastix
PaloSanto Solutions
 

Mais procurados (20)

Qué hace tu Asterisk cuando no miras
Qué hace tu Asterisk cuando no mirasQué hace tu Asterisk cuando no miras
Qué hace tu Asterisk cuando no miras
 
Sistemas de VoIP con Asterisk
Sistemas de VoIP con AsteriskSistemas de VoIP con Asterisk
Sistemas de VoIP con Asterisk
 
Seguridad en Asterisk: Un acercamiento detallado
Seguridad en Asterisk: Un acercamiento detalladoSeguridad en Asterisk: Un acercamiento detallado
Seguridad en Asterisk: Un acercamiento detallado
 
Configuración de escenarios reales con asterisk
Configuración de escenarios reales con asteriskConfiguración de escenarios reales con asterisk
Configuración de escenarios reales con asterisk
 
Los mejores trucos para Asterisk (VoIP2DAY 2008)
Los mejores trucos para Asterisk (VoIP2DAY 2008)Los mejores trucos para Asterisk (VoIP2DAY 2008)
Los mejores trucos para Asterisk (VoIP2DAY 2008)
 
Seguridad en VoIP
Seguridad en VoIPSeguridad en VoIP
Seguridad en VoIP
 
Los mejores trucos de Asterisk
Los mejores trucos de AsteriskLos mejores trucos de Asterisk
Los mejores trucos de Asterisk
 
Voice OVER IP
Voice OVER IPVoice OVER IP
Voice OVER IP
 
Extensiones remotas seguras en Elastix
Extensiones remotas seguras en ElastixExtensiones remotas seguras en Elastix
Extensiones remotas seguras en Elastix
 
Configuración básica asterisk sixbell - v2.0
Configuración básica asterisk   sixbell - v2.0Configuración básica asterisk   sixbell - v2.0
Configuración básica asterisk sixbell - v2.0
 
Introducción a Asterisk
Introducción a AsteriskIntroducción a Asterisk
Introducción a Asterisk
 
Experiencias con-asterisk-1.8-cert
Experiencias con-asterisk-1.8-certExperiencias con-asterisk-1.8-cert
Experiencias con-asterisk-1.8-cert
 
Asterix: simplemente...
Asterix: simplemente...Asterix: simplemente...
Asterix: simplemente...
 
Rompiendo el protocolo: Usos y abusos de TCP/IP
Rompiendo el protocolo: Usos y abusos de TCP/IPRompiendo el protocolo: Usos y abusos de TCP/IP
Rompiendo el protocolo: Usos y abusos de TCP/IP
 
Gestión de la Información de Desempeño con OpenNMS
Gestión de la Información de Desempeño con OpenNMSGestión de la Información de Desempeño con OpenNMS
Gestión de la Información de Desempeño con OpenNMS
 
Protegiendo SIP y SSH con Fail2ban en Elastix
Protegiendo SIP y SSH con Fail2ban en ElastixProtegiendo SIP y SSH con Fail2ban en Elastix
Protegiendo SIP y SSH con Fail2ban en Elastix
 
Introducción a la VoIP con Asterisk
Introducción a la VoIP con AsteriskIntroducción a la VoIP con Asterisk
Introducción a la VoIP con Asterisk
 
Diseño de PBX multitenant basada en Asterisk
Diseño de PBX multitenant basada en AsteriskDiseño de PBX multitenant basada en Asterisk
Diseño de PBX multitenant basada en Asterisk
 
Capitulo1 Nat Dhcp
Capitulo1 Nat DhcpCapitulo1 Nat Dhcp
Capitulo1 Nat Dhcp
 
Elastix, TLS, SRTP y OpenVPN
Elastix, TLS, SRTP y OpenVPNElastix, TLS, SRTP y OpenVPN
Elastix, TLS, SRTP y OpenVPN
 

Semelhante a Introducción a la Inteligencia Artificial y el BigData en el ámbito de la VoIP

Semelhante a Introducción a la Inteligencia Artificial y el BigData en el ámbito de la VoIP (20)

Tendencia actual en la búsqueda de perfiles de software libre- OpenExpo Day 2015
Tendencia actual en la búsqueda de perfiles de software libre- OpenExpo Day 2015Tendencia actual en la búsqueda de perfiles de software libre- OpenExpo Day 2015
Tendencia actual en la búsqueda de perfiles de software libre- OpenExpo Day 2015
 
Estudio open source
Estudio open sourceEstudio open source
Estudio open source
 
Business intelligence through big data and cloud computing
Business intelligence through big data and cloud computingBusiness intelligence through big data and cloud computing
Business intelligence through big data and cloud computing
 
[Run Reloaded] Innovación y liderazgo (Pablo C. García + Jorge Rodríguez)
[Run Reloaded] Innovación y liderazgo (Pablo C. García + Jorge Rodríguez)[Run Reloaded] Innovación y liderazgo (Pablo C. García + Jorge Rodríguez)
[Run Reloaded] Innovación y liderazgo (Pablo C. García + Jorge Rodríguez)
 
Webinar Arquitectura de Microservicios
Webinar Arquitectura de MicroserviciosWebinar Arquitectura de Microservicios
Webinar Arquitectura de Microservicios
 
Empleos con futuro. Perfil de un ingeniero de datos
Empleos con futuro. Perfil de un ingeniero de datosEmpleos con futuro. Perfil de un ingeniero de datos
Empleos con futuro. Perfil de un ingeniero de datos
 
10 años de vo ip. conocer el pasado para pronosticar el futuro | ELIO ROJANO ...
10 años de vo ip. conocer el pasado para pronosticar el futuro | ELIO ROJANO ...10 años de vo ip. conocer el pasado para pronosticar el futuro | ELIO ROJANO ...
10 años de vo ip. conocer el pasado para pronosticar el futuro | ELIO ROJANO ...
 
Protección de los datos en la era Post-Datacenter
Protección de los datos en la era Post-DatacenterProtección de los datos en la era Post-Datacenter
Protección de los datos en la era Post-Datacenter
 
Html5
Html5Html5
Html5
 
Html5. El futuro de la web... ahora.
Html5. El futuro de la web... ahora.Html5. El futuro de la web... ahora.
Html5. El futuro de la web... ahora.
 
La problemática de la identificación de los participantes en las plataformas ...
La problemática de la identificación de los participantes en las plataformas ...La problemática de la identificación de los participantes en las plataformas ...
La problemática de la identificación de los participantes en las plataformas ...
 
Cumbre Virtual Juguemos Piedra Papel Tijeras con ML NET.pptx
Cumbre Virtual  Juguemos Piedra  Papel Tijeras con ML NET.pptxCumbre Virtual  Juguemos Piedra  Papel Tijeras con ML NET.pptx
Cumbre Virtual Juguemos Piedra Papel Tijeras con ML NET.pptx
 
TODO.pdf
TODO.pdfTODO.pdf
TODO.pdf
 
El arte de trasferir 169 billones de pesos en menos de 5 segundos
El arte de trasferir 169 billones de pesos en menos de 5 segundosEl arte de trasferir 169 billones de pesos en menos de 5 segundos
El arte de trasferir 169 billones de pesos en menos de 5 segundos
 
Arduino day mex
Arduino day mexArduino day mex
Arduino day mex
 
HTML5 Warm up!
HTML5 Warm up!HTML5 Warm up!
HTML5 Warm up!
 
Taller Online de Netcat
Taller Online de NetcatTaller Online de Netcat
Taller Online de Netcat
 
2016 cloud summit_iot
2016 cloud summit_iot2016 cloud summit_iot
2016 cloud summit_iot
 
Big Data en el entorno Bancario
Big Data en el entorno BancarioBig Data en el entorno Bancario
Big Data en el entorno Bancario
 
Evolución hacia las plataformas de datos modernas, el Edge-to-cloud continuum
Evolución hacia las plataformas de datos modernas, el Edge-to-cloud continuumEvolución hacia las plataformas de datos modernas, el Edge-to-cloud continuum
Evolución hacia las plataformas de datos modernas, el Edge-to-cloud continuum
 

Mais de Elio Rojano

Simo Presentacion
Simo PresentacionSimo Presentacion
Simo Presentacion
Elio Rojano
 

Mais de Elio Rojano (8)

Usando Docker con sistemas Asterisk
Usando Docker con sistemas AsteriskUsando Docker con sistemas Asterisk
Usando Docker con sistemas Asterisk
 
Charla tendencias para el 2015
Charla tendencias para el 2015Charla tendencias para el 2015
Charla tendencias para el 2015
 
Elastix Market
Elastix MarketElastix Market
Elastix Market
 
The 12 tasks of Asterisk
The 12 tasks of AsteriskThe 12 tasks of Asterisk
The 12 tasks of Asterisk
 
Llámame a mi correo electrónico
Llámame a mi correo electrónicoLlámame a mi correo electrónico
Llámame a mi correo electrónico
 
Comunicaciones Unificadas En Grandes Infraestructuras
Comunicaciones Unificadas En Grandes InfraestructurasComunicaciones Unificadas En Grandes Infraestructuras
Comunicaciones Unificadas En Grandes Infraestructuras
 
Simo Presentacion
Simo PresentacionSimo Presentacion
Simo Presentacion
 
Avaya Vs Asterisk Bulos Y Leyendas
Avaya Vs Asterisk Bulos Y LeyendasAvaya Vs Asterisk Bulos Y Leyendas
Avaya Vs Asterisk Bulos Y Leyendas
 

Último

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Último (11)

How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 

Introducción a la Inteligencia Artificial y el BigData en el ámbito de la VoIP

  • 1. Elio Rojano - elio@sinologic.net Inteligencia Artificial y BigData en VoIP Elio Rojano http://sinologic.net/
  • 2. Elio Rojano - elio@sinologic.net [Introducción]
  • 3. Elio Rojano - elio@sinologic.net { name: "Elio Rojano", email: “elio@sinologic.net”, web: "https://www.sinologic.net/", work: "http://VOZ.com", twitter: "https://twitter.com/hellc2", linkedin: "https://www.linkedin.com/in/rojano/", interests: [ “VoIP", "WebRTC", "SIP", "Development", "Javascript", "PHP", "Python", "Linux", "OpenSource" ], keynotes: "https://www.sinologic.net/portfolio" } Quién soy
  • 4. Elio Rojano - elio@sinologic.net Interés en la IA y la VoIP Curiosidad sobre IA Conceptos matemáticos Datos + Curiosidad sobre VoIP Las llamadas generan datos La gente hacen llamadas +
  • 5. Elio Rojano - elio@sinologic.net Dónde está la IA Inteligencia
 Artificial Informática Matemática
  • 6. Elio Rojano - elio@sinologic.net ¿Qué tal las matemáticas?
  • 7. Elio Rojano - elio@sinologic.net Al comienzo, bastante frustrante
  • 8. Elio Rojano - elio@sinologic.net ¿Por qué interesa la IA?
  • 9. Elio Rojano - elio@sinologic.net - Prever posibles datos y acelerar el trabajo más tedioso - Hacer automáticamente el trabajo más tedioso - Ser más prácticos en la obtención de objetivos - Porque es un reto… - Enseñar al sistema lo que nos gusta y que nos ofrezca lo que podemos desear ¿Por qué interesa la IA?
  • 10. Elio Rojano - elio@sinologic.net …aunque no siempre aciertan… WTF!
  • 11. Elio Rojano - elio@sinologic.net Atención Procesamiento de datos
 está muy cerca, es muy parecido, pero no es Inteligencia Artificial
  • 12. Elio Rojano - elio@sinologic.net Inconvenientes
  • 13. Elio Rojano - elio@sinologic.net Inconvenientes
  • 14. Elio Rojano - elio@sinologic.net 2 1 3 Inconvenientes ????
  • 15. Elio Rojano - elio@sinologic.net 1º. Lisp 2º. R 3º. Java 4º. Python 5º. Javascript 6º. PHP Inconvenientes
  • 16. Elio Rojano - elio@sinologic.net Inconvenientes
  • 17. Elio Rojano - elio@sinologic.net Correlación no implica causalidad Número de ahogados por caídas en piscina en relación con películas de Nicolas Cage
  • 18. Elio Rojano - elio@sinologic.net [Empecemos]
  • 19. Elio Rojano - elio@sinologic.net Qué es la IA Entrada Salida Entrada Salida Entrada Salida Entrada Salida Entrada ?
  • 20. Elio Rojano - elio@sinologic.net Qué es la IA Entrada Modelo matemático ? Salida Probabilidad de acierto: X%
  • 21. Elio Rojano - elio@sinologic.net Ejemplo 30 135 53 138 61 160 50 155 100 ? Entradas Salidas
  • 22. Elio Rojano - elio@sinologic.net Ejemplo
  • 23. Elio Rojano - elio@sinologic.net Ejemplo
  • 24. Elio Rojano - elio@sinologic.net Ejemplo
  • 25. Elio Rojano - elio@sinologic.net El objetivo es desarrollar un modelo que nos permita prever los valores que nos interesa obtener de forma automática. Nos basamos en datos antiguos para obtener información automática. Los datos suficientemente claros
  • 26. Elio Rojano - elio@sinologic.net Matemáticamente definidos, mejor dicho. Se basa en conceptos muy definidos Todo debe ser pasado a valores numéricos Una imagen, un texto, todo debe ser numerado pixel a pixel para poder ser procesado 255
 255
 255 255
 255
 255 255
 255
 255 255
 255
 255 255
 255
 255 255
 255
 255 255
 255
 255 255
 255
 255 255
 255
 255 255
 255
 255 255
 255
 255 255
 255
 255 255
 255
 255 255
 255
 255 255
 190
 25 255
 190
 25 255
 128
 25 255
 90
 0 255
 90
 0 255
 90
 0 10111100101010010111010010101010 10101010101010101110101111101010 10010001011101001011010101010101 0101010111010101101010110101011011101101011101 1011011010101101010110101101010010011010010110
 1101110100101001000011100010110101011011011010001001010101011010010111011101001010010
 0011100010110101011011011010001001010101011010010111011101001010010000111000101101010 1101101101000100101010101101001010011100010110101011011011010001001010101011010010111 01110001110001011010101101101101000100101010101101001011101110001110001011010101101101 10100010010101010110100101110111000111000101101010110110110100010010101010110100101110111000111000101101010110110110100010010101010110100101110111 00011100010110101011011101000100101010101101001011101110001110001011010101101101101000100101010101101001011101110001110001011010101101101101000100 10101010110100101110110100010010101010110100101110111000111000101101010110110110100010010101010110100101110111000111000101101010110110110100010010 10101011010010111011010001001010101011010010111011100011100010110101011011011010001001010101011010010111011100011100010110101011011011010001001010 10101101001011101101000100101010101101001011101110001110001011010101101101101000100101010101101001011101110001110001011010101101101101000100101010 10110100101110110100010010101010110100101110111000111000101101010110110110100010010101010110100101110111000111000101101010110110110100010010101010 1101001011101101000100101010101101001011101110001110001011010101101101101000100101010101101001011101110001110001011010
 1010001001010101011010010111011100011100010110101011011011010001001010101
 101000100101010101101001011101110001110001
 10100010010101010110
  • 27. Elio Rojano - elio@sinologic.net [Tipos de IA]
  • 28. Elio Rojano - elio@sinologic.net Tipos de IA Estadística / Probabilidad Redes Neuronales Machine Learning* Deep Learning Linear Polinómica (SVR) Vectorial Random Forest K-Nearest Neighbors SVM Naive Bayes Redes Bayesianas Logarítmica Predicción Clasificación Toma de decisiones Regresión
  • 29. Elio Rojano - elio@sinologic.net Existen otras clasificaciones… http://peekaboo-vision.blogspot.com/2013/01/machine-learning-cheat-sheet-for-scikit.html
  • 30. Elio Rojano - elio@sinologic.net [Probabilidad y Estadística]
  • 31. Elio Rojano - elio@sinologic.net Detección de anomalías Probabilidad y Estadística
  • 32. Elio Rojano - elio@sinologic.net Demo Anaconda es un distribución libre y abierta de los lenguajes Python y R, utilizada en ciencia de datos, y aprendizaje automático (machine learning). Esto incluye procesamiento de grandes volúmenes de información, análisis predictivo y cómputos científicos. Está orientado a simplificar el despliegue y administración de los paquetes de software.   Las diferentes versiones de los paquetes se administran mediante el sistema de administración del paquete conda, el cual lo hace bastante sencillo de instalar, correr, y actualizar software de ciencia de datos y aprendizaje automático como ser Scikit-team, TensorFlow y SciPy.3 La distribución Anaconda es utilizada por 6 millones de usuarios e incluye más de 250 paquetes de ciencia de datos válidos para Windows, Linux y MacOS. 
 Más información: https://www.anaconda.com
  • 33. Elio Rojano - elio@sinologic.net Demo
  • 34. Elio Rojano - elio@sinologic.net Demo
  • 35. Elio Rojano - elio@sinologic.net Demo
  • 36. Elio Rojano - elio@sinologic.net Demo http://sukiweb.net/archivos/2018/03/04/deteccion-de-anomalias-con-python-pandas/
  • 37. Elio Rojano - elio@sinologic.net Regresiones
  • 38. Elio Rojano - elio@sinologic.net Regresiones
  • 39. Elio Rojano - elio@sinologic.net Toma de decisiones
  • 40. Elio Rojano - elio@sinologic.net Toma de decisiones Redes Bayesianas
  • 41. Elio Rojano - elio@sinologic.net Clasificación
  • 42. Elio Rojano - elio@sinologic.net Clasificación
  • 43. Elio Rojano - elio@sinologic.net Clasificación Naive Bayes Cálculo de la probabilidad de que un mensaje que contiene una palabra dada es spam
 
 Combinaciones de probabilides individuales
 
 Heurística ¿Te suena SpamAssassin?
  • 44. Elio Rojano - elio@sinologic.net Predicción
  • 45. Elio Rojano - elio@sinologic.net Predicción Machine Learning
  • 46. Elio Rojano - elio@sinologic.net Predicción Arte ?Literatura ?
  • 47. Elio Rojano - elio@sinologic.net Predicción
  • 48. Elio Rojano - elio@sinologic.net [BigData]
  • 49. Elio Rojano - elio@sinologic.net Machine Learning necesita datos
  • 50. Elio Rojano - elio@sinologic.net Cuantos más ejemplos le enseñemos al modelo, más acertada será la predicción. ¿Cuantos datos?
  • 51. Elio Rojano - elio@sinologic.net ¿Cuantos datos? MySQL no es muy práctico aquí: the data cache stored in RAM can grow very large and be subjected to thousands or even millions of requests per second. Hacen falta motores muy orientado a la entrega rápida de datos con muy bajo consumo y posibilidad de redundancia, escalabilidad y distribución Volumen Variedad Velocidad Veracidad Variabilidad Valor
  • 52. Elio Rojano - elio@sinologic.net Bases de datos BigData hay muchas
  • 53. Elio Rojano - elio@sinologic.net ¿Mi es compatible con eso? Todos los motores disponen de sistemas para insertar datos de una forma fácil y cómoda. Asterisk no tiene un módulo para enviar datos a la base de datos, pero podemos implementarlo muy fácilmente.
  • 54. Elio Rojano - elio@sinologic.net Ejemplo #!/usr/bin/env node var MongoClient = require('mongodb').MongoClient;
 var ami = require('asterisk-manager')(5038,'localhost','amiuser','amip4ssw0rd',true); var url = “mongodb://localhost:27017/"; ami.on('cdr', function(evt) {
 MongoClient.connect(url, function(err, db) { if (err) throw err; var dbo = db.db("cdr"); myobj = { date: evt.starttime, src: evt.source, dst: evt.destination, res: evt.disposition, time: parseInt(evt.billableseconds), }; dbo.collection('cdr').insertOne(myobj, function(err, res) { if (err) throw err; db.close(); }); }); }); });
  • 55. Elio Rojano - elio@sinologic.net [Revolucion de la IA] Machine Learning Deep Learning
  • 56. Elio Rojano - elio@sinologic.net ¿Por qué ahora está en auge? Nuevos procesadores hacen millones de pruebas por segundo.
  • 57. Elio Rojano - elio@sinologic.net ¿Por qué ahora está en auge? Nuevas librerías y herramientas facilitan su accesibilidad.
  • 58. Elio Rojano - elio@sinologic.net Machine Learning vs Deep Learning Inteligencia
 Artificial Machine
 Learning Deep
 Learning Técnica que permite a un sistema 
 IMITAR
 el comportamiento humano Técnica que permite a un sistema 
 MEJORAR
 en base a la experiencia Técnica que permite a un sistema 
 PERFECCIONAR
 en base a su propia experiencia
  • 59. Elio Rojano - elio@sinologic.net Machine Learning vs Deep Learning
  • 60. Elio Rojano - elio@sinologic.net DEMO TensorFlow es una biblioteca de código abierto para aprendizaje automático a través de un rango de tareas, y desarrollado por Google para satisfacer sus necesidades de sistemas capaces de construir y entrenar redes neuronales para detectar y descifrar patrones y correlaciones, análogos al aprendizaje y razonamiento usados por los humanos. Todos los productos de Google utilizan alguna característica de Inteligencia Artificial. TensorFlow está originalmente desarrollado en Python, aunque hay una versión para Javascript. https://www.tensorflow.org
  • 61. Elio Rojano - elio@sinologic.net DEMO<html> <head> <!-- Load TensorFlow.js --> <!-- Get latest version at https://github.com/tensorflow/tfjs --> <script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@0.11.2"> </script> <style>body{ font-size: 50px; }</style> </head> <body> <div id="output_field"></div> </body> <script> async function learnLinear(){ const model = tf.sequential(); model.add(tf.layers.dense({units: 1, inputShape: [1]})); model.compile({ loss: 'meanSquaredError', optimizer: 'sgd' }); const xs = tf.tensor2d([-1, 0, 1, 2, 3, 4], [6, 1]); const ys = tf.tensor2d([-3, -1, 1, 3, 5, 7 ], [6, 1]); await model.fit(xs, ys, {epochs: 500}); document.getElementById('output_field').innerText = model.predict(tf.tensor2d([10], [1, 1])); } learnLinear(); </script> <html> Entrenamiento… Solicitamos una predicción…
  • 62. Elio Rojano - elio@sinologic.net Machine Learning vs Deep Learning Reconocimiento de patrones + tensorflow.org keras.io
  • 63. Elio Rojano - elio@sinologic.net Machine Learning vs Deep Learning
  • 64. Elio Rojano - elio@sinologic.net Machine Learning vs Deep Learning
  • 65. Elio Rojano - elio@sinologic.net Machine Learning vs Deep Learning
  • 66. Elio Rojano - elio@sinologic.net Machine Learning vs Deep Learning
  • 67. Elio Rojano - elio@sinologic.net Machine Learning vs Deep Learning
  • 68. Elio Rojano - elio@sinologic.net Machine Learning vs Deep Learning
  • 69. Elio Rojano - elio@sinologic.net Machine Learning vs Deep Learning
  • 70. Elio Rojano - elio@sinologic.net [WebRTC e IA]
  • 71. Elio Rojano - elio@sinologic.net Gracias al WebRTC y la IA podemos hacer cosas como: • Reconocimiento de imágenes (MobileNet) • Reconocimiento del estado de ánimo • Reconocimiento del número de personas • Reconocimiento de qué están haciendo esas personas • Filtrar el audio para obtener una mejora en la calidad de la voz • … WebRTC
  • 72. Elio Rojano - elio@sinologic.net Demo
  • 73. Elio Rojano - elio@sinologic.net https://github.com/tensorflow/tfjs-models/tree/master/posenet Demo
  • 74. Elio Rojano - elio@sinologic.net [Otros usos]
  • 75. Elio Rojano - elio@sinologic.net - Detección de anomalías en parámetros de sistemas, (procesador, memoria, hilos, procesos, etc.) - Predicción de incidencias del sistema en base a sus parámetros. - Creación de bots conversacionales de ayuda. - Identificación de la persona que habla mediante “Voice ID Fingerprint”. - Aceleración en la gestión de incidencias de equipos de Help Desk. - Ajuste de los parámetros de búsqueda de posibles leads en base a las ventas logradas. - Mejora sustancial de los sistemas de reconocimiento de voz. - … Otros usos
  • 76. Elio Rojano - elio@sinologic.net Un futuro muy presente… Google Duplex HSBC Voice ID
  • 77. Elio Rojano - elio@sinologic.net ¿Preguntas?
  • 78. Elio Rojano - elio@sinologic.net - a Rosa y Pablo por su paciencia y apoyo.
 - a Guillermo Ruiz por su apoyo y recomendaciones. - a David Martín (Suki) por sus ejemplos y tutoriales. - a todos los que publican libremente su trabajo para enseñarnos cómo se hacen las cosas. - a la organización del VoIP2DAY por invitarme a este evento. - a VOZ.com por apoyarme con estos y otros proyectos. - a los lectores y patrocinadores de Sinologic.net.
 - y especialmente a… Agradecimientos
  • 79. Elio Rojano - elio@sinologic.net … a Daniel Maestre
  • 80. Elio Rojano - elio@sinologic.net Gracias!