Click here to load reader
Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
BIG DATA: el Poder de la informaciónConceptos, Infraestructuras y Datos
Xavi Barber
Centro de Investigación OperativaUniversidad Miguel Hernández de Elche
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 1 / 104
1 Big Data y Marketing
2 Hadoop y su arquitectura
3 Utilidades del Big Data
4 Cómo trabajar con grandes bases de datos
5 Machine Learning
6 Técnicas de Machine Learning
7 Data Mining y R
8 Text analytics
9 Redes Sociales
10 WordCloud desde twitter
11 Facebook
12 Ejemplos de RBloggers
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 2 / 104
willfreedom
ring
day
drea
mlet
ever
y
able
one faithfr
ee
mountain
natio
n
shall
blackchildren
god
land
last
little
mad
e
men
new
sing
state
today white
alab
ama
boys
brotherhood
even
former
geor
gia
girls
handsheat
hill
hope join
live
sons
stone
thee
true
words
allow
almighty
amer
ica
back
brothers
city
color
country
creed
died
fathers
four
great
hew
hills
holdjail
lips
lord
low
must
old
red
sit
skin
stillta
ble
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 3 / 104
Big Data y Marketing
Big Data y Marketing
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 4 / 104
Big Data y Marketing
Introducción
Ahora la moda es Big Data, la gente habla de ellos y creé que son casi cosa demagos. Se cree que las predicciones serán hechas con 100% de precisión, locual es totalmente absurdo y totalmente falto de sustento. Denota a miparecer una postura exagerada y sobre cargada de fanatismo con la sensaciónde que todo es predecible.
-No es así, ni todo es predecible ni todo se solventa con Big Data, se requieremucho más que eso para muchos problemas técnicas y mucho menos para lamayoría de problemas de algunas empresas.
“Big data is like teenage sex: everyone talks about it, nobodyreally knows how to do it, everyone thinks everyone else is doingit, so everyone claims they are doing it...” Dan Ariely
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 5 / 104
Big Data y Marketing
Si bien en cualquier proyecto o análisis la mayor cantidad de tiempo se invierteen el procesamiento y limpieza de lo datos, no tienen valor extra la informaciónsi no se hace uso de alguna técnica de explotación. Lo que se llama ciencia dedatos es más cercana a un puñado de algoritmos, de técnicas y metodologías,pero además se debe tener la curiosidad y libertad de experimentar con lainformación para tratar de aprovecharla lo mejor posible.
Data Scientist (n.): "Person who is better at statistics thanany software engineer and better at software engineering than anystatistician”.... Josh Wills
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 6 / 104
Big Data y Marketing
Definiciones
Sistemas que manipulan grandes conjuntos de datos.Las dificultades más habituales en estos casos se centran en la captura, elalmacenamiento, búsqueda, compartición, análisis, y visualización.La tendencia a manipular ingentes cantidades de datos se debe a la necesidaden muchos casos de incluir los datos relacionados del análisis en un granconjunto de datos .
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 7 / 104
Big Data y Marketing
Estamos viviendo la época de la revolución del Big Data, donde los grandesvolúmenes de datos, usados para trabajar, han superado con creces, la capacidad deprocesamiento de un simple host. El Big Data nace para solucionar estos problemas:
Como almacenar y trabajar con grandes volúmenes de datos.Y la más importante, como poder interpretar y analizar estos datos, denaturaleza muy dispar.
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 8 / 104
Big Data y Marketing
Si miramos alrededor nuestro, vemos que cualquier dispositivo que usamos generadatos, estos pueden ser analizados actualmente.
De esta gran cantidad de datos que tenemos a nuestro alcance, sólo el 20% setrata de información estructura y el 80% son datos no estructurados. Estosúltimos añaden complejidad en la forma que se tienen que almacenar y analizar.
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 9 / 104
Big Data y Marketing
Hadoop aparece en el mercado como una solución para estos problemas, dando una
forma de almacenar y procesar estos datos.
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 10 / 104
Hadoop y su arquitectura
Hadoop y su arquitectura
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 11 / 104
Hadoop y su arquitectura
Recopilando información
Figure 1
http://www.ticout.com/blog/2013/04/02/introduccion-a-hadoop-y-su-ecosistema/
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 12 / 104
Hadoop y su arquitectura
Apache Hadoop es un framework que permite el procesamiento de grandesvolúmenes de datos a través de clusters, usando un modelo simple deprogramación.Además su diseño permite pasar de pocos nodos a miles de nodos de formaágil.Hadoop es un sistema distribuido usando una arquitectura Master-Slave,usando para almacenar su Hadoop Distributed File System (HDFS) yalgoritmos de MapReduce para hacer cálculos.
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 13 / 104
Hadoop y su arquitectura
Figure 2
http://www.ticout.com/blog/2013/04/02/introduccion-a-hadoop-y-su-ecosistema/
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 14 / 104
Hadoop y su arquitectura
Internet de las CosasInternet de las cosas se refiere a una red de objetos cotidianos interconectados.El concepto de Internet de las cosas se atribuye a Auto-ID Center, fundado en1999 y basado en el MIT.
Figure 3
https://pixabay.com/es/red-iot-internet-de-las-cosas-782707/
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 15 / 104
Hadoop y su arquitectura
La idea es muy simple pero su aplicación es difícil. Si todas las latas, libros, zapatoso partes de un vehículo estuvieran equipados con dispositivos de identificaciónminúsculos, la vida cotidiana en nuestro planeta sufriría una transformación. Ya noexistirían cosas fuera de stock o productos perdidos, porque nosotros sabríamosexactamente lo que se consume en el otro lado del planeta. El robo sería una cosadel pasado, sabríamos dónde está el producto en todo momento. Lo mismo seaplica a los paquetes perdidos.
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 16 / 104
Hadoop y su arquitectura
Si todos los objetos de la vida cotidiana, desde el yogur a un avión, estuvieranequipados con etiquetas de radio, podrían ser identificados y gestionados porequipos de la misma manera que si lo fuesen por seres humanos.Con la próxima generación de aplicaciones de Internet (protocolo IPv6) sepodrían identificar todos los objetos, algo que no se puede hacer con IPv4, elsistema actualmente en uso. Este sistema sería, por tanto, capaz de identificarinstantáneamente cualquier tipo de objeto.
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 17 / 104
Hadoop y su arquitectura
El Internet de las cosas debe codificar de 50 a 100.000 millones de objetos yseguir el movimiento de estos. Todo ser humano está rodeado de 1.000 a5.000 objetos.Actualmente, el término Internet de las Cosas se usa con una denotación deconexión avanzada de dispositivos, sistemas y servicios que va más allá deltradicional M2M y cubre una amplia variedad de protocolos, dominios yaplicaciones ( códigos QR, etc.).
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 18 / 104
Hadoop y su arquitectura
Inteligencia: El Internet de las cosas probablemente será “no determinista” yde red abierta (ciberespacio), en la que entidades inteligentes auto-organizadas(servicio Web) u objetos virtuales (avatares) serán interoperables y capaces deactuar de forma independiente (que persiguen objetivos propios ocompartidos), en función del contexto, las circunstancias o el ambiente. Segenerará una Inteligencia Ambiental.Consideraciones temporales: En esta Internet de los objetos, hecha de milesde millones de eventos paralelos y simultáneos, el tiempo ya no será utilizadocomo una dimensión común y lineal, sino que dependerá de la entidad de losobjetos, procesos, sistema de información, etc.
Este Internet de las cosas tendrá que basarse en los sistemas de TI en paralelomasivo (computación paralela).
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 19 / 104
Utilidades del Big Data
Utilidades del Big Data
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 20 / 104
Utilidades del Big Data
Redes Sociales
Las redes sociales son el origen de ese Big Data en la gran mayoría deocasiones. Mediante herramientas de monitoreo se pueden capturar enormescantidades de conversaciones públicas referidas a las marcas o conceptos quese desean examinar.Posteriormente, utilizando tecnologías que incorporen inteligencia artificial yprocesamiento de lenguaje natural, se pueden convertir esas conversacionespúblicas entre personas en datos tremendamente útiles.Los datos extraídos incluyen el género de las personas que conversan, el idiomautilizado, su rango de edad, su profesión, su ubicación geográfica o elsentimiento expresado, permitiendo una segmentación de targets muy fiable enun tiempo record y con unos costes mínimos si lo comparamos con losmétodos tradicionales.
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 21 / 104
Utilidades del Big Data
-Otro uso habitual consiste en la extracción de las asociaciones semánticasutilizadas por cada target, de forma que el departamento de marketing puedeconocer exactamente qué palabras están utilizando, en positivo y en negativo, losfuturos clientes antes incluso de empezar a definir la campaña.
-La tecnología juega un papel crucial en el Big Data Marketing, aunque la existenciade herramientas comerciales de costes ajustados hace que no se trate ya de unterreno reservado a las grandes corporaciones, sinó al alcance de cualquier empresade tamaño medio.
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 22 / 104
Utilidades del Big Data
360º de visión sobre el cliente
Para conseguir un conocimiento total del cliente, las compañías deben obtenerinformación de fuentes internas y externas para poder asesorarle y entendercuál es la mejor manera de ayudarle. El objetivo es comprender elcomportamiento del cliente y predecir sus futuras acciones.Los empleados que trabajan directamente con los clientes deben poseer lainformación suficiente y adecuada para crear una relación de confianza yconseguir un compromiso o una fidelidad por parte del consumidor. Paraconseguirlo, el empleado debe poder disponer al instante tanto de informacióninterna (según el comportamiento del cliente en otras experiencias con lapropia compañía) como externa (sobre sus gustos e intereses, obtenida deredes sociales, correo electrónico, etc).
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 23 / 104
Utilidades del Big Data
Gran volumen de Datos
Hay que aclarar que la palabra cliente es un nombre genérico, que pasará adenominarse paciente en el sector de la salud, un sospechoso en un caso policial,etc.
Finalmente, para 2020 se prevé que el Big Data continue creciendo, y que en eseaño se llegue al 4300% en la generación de datos anuales, “gracias a los cambiostecnológicos acelerados de transición de lo analógico a lo digital, y al rápidoaumento en la generación de datos, tanto por particulares como por grandesempresas”.
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 24 / 104
Cómo trabajar con grandes bases de datos
Cómo trabajar con grandes bases de datos
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 25 / 104
Cómo trabajar con grandes bases de datos
Cloud Computing vs Big Data
Big Data es un concepto más amplio que decir “Grandes bases de datos”, esun nuevo paradigma de la recogida, almacenamiento, manipulación y lo másimportante extraer el significado de diferentes tipos de datos.Cloud Computing es el paradigma de la computación en el “aire”. No hayque configurar ninguna máquina ni servidor, ejemplos de ellos son:
EC2 - Amazon Web ServicesCompute Engine - IaaS — Google Cloud Platform
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 26 / 104
Cómo trabajar con grandes bases de datos
Figure 4
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 27 / 104
Cómo trabajar con grandes bases de datos
elección de softaware o lenguaje
SPSS y SAS son buenos y no se han quedado atrás en actualizaciones ymejoras al software, pero. . .La desventaja tanto de SPSS y SAS es que al no ser libres la velocidad con lacual se adaptan o mejoran es lenta, R y Python los han dejado atrás en cosade nada y basta ver la cantidad de librerías o módulos que existen de estosúltimos. Lo difícil es elegir entre ese montón de librerías las mejores paranuestras necesidades, para eso uno va y consulta en artículos de investigación,foros o blog y sin mucho esfuerzo las mejores persisten.
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 28 / 104
Cómo trabajar con grandes bases de datos
PythonPython es un lenguaje de programación interpretado cuya filosofía hacehincapié en una sintaxis muy limpia y que favorezca un código legible.Se trata de un lenguaje de programación multiparadigma, ya que soportaorientación a objetos, programación imperativa y, en menor medida,programación funcional. Es un lenguaje interpretado, usa tipado dinámico y esmultiplataforma.
Figure 5
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 29 / 104
Cómo trabajar con grandes bases de datos
Python 3: Fibonacci series up to n > def fib(n):
a, b = 0, 1
while a > n:
print(a, end=' ')
a, b = b, a+b
print()
fib(1000)
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 30 / 104
Cómo trabajar con grandes bases de datos
Map Reduce
MapReduce es una técnica de procesamiento y un programa modelo decomputación distribuida basada en java. El algoritmo MapReduce contiene dostareas importantes, a saber Mapa y reducir. Mapa toma un conjunto de datosy se convierte en otro conjunto de datos, en el que los elementos se dividen entuplas (pares clave/valor). En segundo lugar, reducir tarea, que toma la salidade un mapa como entrada y combina los datos tuplas en un conjunto máspequeño de tuplas. Como la secuencia de MapReduce el nombre implica, lareducción se realiza siempre después de que el mapa.La principal ventaja de MapReduce es que es fácil de escalar procesamiento dedatos en múltiples nodos. En el modelo MapReduce, el procesamiento dedatos primitivos son llamados mapas y reductores.
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 31 / 104
Cómo trabajar con grandes bases de datos
public class WordCount {
public static class TokenizerMapperextends Mapper{
private final static IntWritable one = new IntWritable(1);private Text word = new Text();
public void map(Object key, Text value, Context context) throws IOException, InterruptedException {
StringTokenizer itr = new StringTokenizer(value.toString());while (itr.hasMoreTokens()) {
word.set(itr.nextToken());context.write(word, one);
}}
}
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 32 / 104
Cómo trabajar con grandes bases de datos
MapReduce con R
Existe la posibilidad de realizar “trabajos”" de MapReduce vía Hadoopstreming API a traves de R.Se trata de conectar con un servidor Hadoop pero a traves de nuestroordenador. Lanzamos las ordenes y nos devuelve los resultados en un tiempoinfinitamente inferior al que tardaría si intentasemos descargar los datos delservidor y utilizar R para realizar los modelos deseados.
En el siguiente enlace podreis encontrar más información al respecto:[link](http://www.revolutionanalytics.com/sites/default/files/
using-r-with-hadoop.pdf)
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 33 / 104
http://www.revolutionanalytics.com/sites/default/files/using-r-with-hadoop.pdfhttp://www.revolutionanalytics.com/sites/default/files/using-r-with-hadoop.pdf
Cómo trabajar con grandes bases de datos
#! /usr/bin/env Rscript# map.Rlibrary(stringdist, quietly=TRUE)
input
Machine Learning
Machine Learning
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 35 / 104
Machine Learning
Definición de ML
Machine learning is a method of data analysis that automates analytical modelbuilding. Using algorithms that iteratively learn from data, machine learning allowscomputers to find hidden insights without being explicitly programmed where tolook.(Definición de ML por SAS)
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 36 / 104
Machine Learning
DEbido a las nuevas tecnologías actuales, existe una gran información la cualdeseamos controlar de forma muy rápida y de manera completa, y sobre todoen el mundo empresaria.Algunos ejemplos que pueden resultar familiares:
El coche de Google sin conductor,La esencia del Machine Learning, las recomendaciones on-line de Amazon oNetflix,Conocer lo que los consumidores dicen de “tu” empresa en Redes SocialesDetección del fraude fiscal, en seguros, etc.
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 37 / 104
Técnicas de Machine Learning
Técnicas de Machine Learning
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 38 / 104
Técnicas de Machine Learning
Supervised learning
Algoritmos que reciben la información de Entrada y Salida, así el algoritmoaprende y corregise los errores.
Métodos de ClasificaciónMétodos de Regresión
Ejemplo : anticiparse a las transacciones de tarjeta de crédito haciendoofertas al usuario previas a su gasto.
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 39 / 104
Técnicas de Machine Learning
Unsupervised learning
Utilizado cunado no se dispone de un “histórico de datos”. El sistema noconoce la “verdadera respuesta”. El algoritmo debe ir viendo las respuesta yperseguir una meta óptima.
Mapas de ClasificaciónMapas de vecindadCluster k-meansMétodos de descoposición singular.
Ejemplo: Identificar segmentos de consumidores con característicassimilares los cuales puedan tratarse de forma similar en una campaña demarketing
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 40 / 104
Técnicas de Machine Learning
Semi-supervised learning y Reinforcement learning
Semi-supervised: igual que el supervisado pero con menos informacióndisponible. Un ejemplo es el reconocimiento de patrones (reconocimiento facialdesde una WebCam).
Reinforcement: usado en robótica, juegos y navegación. El algoritmo descubreatraves del prueba-error. El objetivo del algoritmo es aprender la mejor“política” posible.
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 41 / 104
Técnicas de Machine Learning
Diferencia entre ML, Data Mining y Deep Learning
Data Mining aplica métodos desde distintas áreas para identificar patrones(conocidos) en los datos. Esto puede incluir algoritmos estadísticos, machinelearning, text analytics, series temporales y otras áreas analíticas. El datamingi también incluye el estudio y práctica del almacenamiento y manipulaciónde datos.
Machine Learning es una categoría dentro del Data mining que usaautomatismos y algoritmos iterativos paa encontrar patrones en los datos.Machine Learning se centra en algoritmos matemáticos, los cuales aprenden delos datos con una mínima intervención humana.
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 42 / 104
Técnicas de Machine Learning
Las redes neuronales han introducido un nuevo concepto, el Deep Leraning,con gran importancia dentro de la Inteligencia Artificial, aprovechando lainformación del pasado. Los investigadores están ahora buscando cómo aplicarestos conocimientos al reconocimiento de patrones, sobre todo en el campo dela médicina, diagnóstico automático por imágenes, y en otros campos como losmercados financieros y el marketing en tiempo real.
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 43 / 104
Data Mining y R
Data Mining y R
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 44 / 104
Data Mining y R
Paquestes de R para grandes bases de datos
Una vez demostrado que Big Data es simplemente lo que hace años se llamabaHigh Dimensional Data, vamos a ver cómo afrontar problemas con grandesbases de datos.
Rcpp: Para escribir funciones de R utilizando C++, aumentado la rapidez deejecución.
data.table: Un camino alternativo para organizar conjuntos de datos paraorganizalos de forma muy, muy, muy rápida.
parallel - Una altertativa cuando el banco de datos es muy grande.
www.r-pbd.org: El proyecto “Programming with Big Data in R” es un conjuntode paquetes que permite realizar cálculos en high performance, high-level interfacesto MPI, ScaLAPACK, NetCDF4, y otras más.
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 45 / 104
Data Mining y R
Métodos implementados en RNeural networks
Decision trees
Random forests
Associations and sequence discovery
Gradient boosting and bagging
Support vector machines
Nearest-neighbor mapping
k-means clustering
Self-organizing maps
Genetic algorithms
Expectation maximization
Multivariate adaptive regression splines
Bayesian networks Kernel density estimation
Principal component analysis
Singular value decomposition
Gaussian mixture models
Sequential covering rule building
Y otros más. . .Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 46 / 104
Text analytics
Text analytics
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 47 / 104
Text analytics
Text Mining
Es una de las ramas de la lingüística computacional que trata de obtenerinformacion y conocimiento a partir de conjuntos de datos que en principio notienen un orden o no estan dispuestos en origen para transmitir esainformacion.Es una tecnica clave en un mundo como el actual en el que continuamente serecogen datos desde distintas perspectivas y de muchos aspectos diferentes detodas las actividades propias de los seres humanos.
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 48 / 104
Text analytics
La extracción de términos, es la técnica más básica que identifica lostérminos clave y entidades lógicas (nombres de las organizaciones, lugares,fechas y valores financieros entre otros). Es el formato más básico de mineríade texto. La estructura de datos más simple en la minería de texto es el vectorde características, una lista de las palabras ponderadas que aparecen en untexto.La extracción de información se basa en los términos extraídos del textopara identificar las relaciones básicas, tales como las funciones de las distintasempresas en una fusión,o la promoción de la reacción química de una enzima.La extracción de información se centra en un conjunto de hechos queconstituyen un evento, episodio, o estado.El análisis relacional, combina múltiples vínculos para formar modelos devarios pasos de procesos complejos. Es un conjunto de técnicas que permitetener una idea de las relaciones entre varias entidades con múltiples conexiones,pasos, o enlaces.
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 49 / 104
Text analytics
Beneficios del Text Mining
Es importante diferenciar entre Minería de Datos de Texto y acceso a lainformación. Acceso a la información es ayudar a los usuarios a encontrar losdocumentos que satisfagan sus necesidades de información.El Text Mining se centra en cómo usar un bloque de información textual, comouna amplia base de conocimientos a partir de la cual se puede extraer nuevainformación nunca antes conocida.El Text Mining, contribuye a proporcionar sistemas suplementados conherramientas para el análisis exploratorio de los datos.También se puede entender el Text Mining como un proceso de análisisexploratorio de datos que conduce al descubrimiento de información hasta elmomento desconocida, o utilizada para responder a preguntas para las cualesno se conoce actualmente la respuesta.
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 50 / 104
Text analytics
Text mining y R
pubmed.mineR: Text Mining of PubMed Abstractstext2vec: Fast Text Mining Framework for Vectorization and WordEmbeddingstextmineR: Functions for Text Mining and Topic Modelingtm: Text Mining PackageImport texts from files in the Alceste format using the tm text miningframeworkText Mining Distributed Corpus Plug-InImport Articles using
Text Mining E-Mail Plug-In
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 51 / 104
Redes Sociales
Redes Sociales
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 52 / 104
Redes Sociales
APIs
Para analizar el contenido de las redes sociales mediante técnicas de textmining, necesitamos primero obtener los datos.La gran mayoría de Redes Sociales publican sus APIs (ApplicationProgramming Interfaces) para que se puede acceder a su información desdeotras herramientas.
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 53 / 104
Redes Sociales
Existen distintos paquetes para obtener información de Twitter
Paquete DescripciónRKlout Fetch Klout Scores for Twitter UsersstreamR Access to Twitter Streaming API via RtwitteR R Based Twitter ClientgraphTweets Visualise Twitter Interactions
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 54 / 104
Redes Sociales
Twitter: ejemplosMapping Twitter Followers in R
Figure 6Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 55 / 104
Redes Sociales
Twitter conectar al APIPaso 1: CREAMOS UNA APLICACIÓN DENTRO DE TWITTER
Accedemos a la web https://apps.twitter.com ponemos nuestro usuario ycontraseña:
Figure 7
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 56 / 104
https://apps.twitter.com
Redes Sociales
Paso 1: CREAMOS UNA APLICACIÓN DENTRO DE TWITTER
Nos indicará las “apps” que ya tenemos creadas o si queremos crear una nueva.Introducimos los datos y aceptamos las condiciones de uso.
Figure 8Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 57 / 104
Redes Sociales
Paso 1: CREAMOS UNA APLICACIÓN DENTRO DE TWITTER
Figure 9
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 58 / 104
Redes Sociales
Paso 1: CREAMOS UNA APLICACIÓN DENTRO DE TWITTER
Figure 10
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 59 / 104
Redes Sociales
Paso 1: CREAMOS UNA APLICACIÓN DENTRO DE TWITTER - Vemosnuestros datos de autentificación
Figure 11Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 60 / 104
Redes Sociales
Paso 1: CREAMOS UNA APLICACIÓN DENTRO DE TWITTER - Tenermos quecrear nuestros token
Figure 12
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 61 / 104
Redes Sociales
Paso 1: CREAMOS UNA APLICACIÓN DENTRO DE TWITTER - Ya lostenemos creados token
Figure 13Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 62 / 104
Redes Sociales
Paso 1: CREAMOS UNA APLICACIÓN DENTRO DE TWITTER - Comporbamosque funcionan nuestros token
Figure 14
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 63 / 104
Redes Sociales
Paso 1: CREAMOS UNA APLICACIÓN DENTRO DE TWITTER - Nos dice loque vamos a hacer
Figure 15Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 64 / 104
Redes Sociales
Paso 1: CREAMOS UNA APLICACIÓN DENTRO DE TWITTER - La query quehacemos
Figure 16Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 65 / 104
Redes Sociales
Paso 1: CREAMOS UNA APLICACIÓN DENTRO DE TWITTER - La query quedevuelve
Figure 17
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 66 / 104
Redes Sociales
Paso 2: INSTALAR Y CARGAS LOS PAQUETES DE R
– ROAuth: nos permite un interfax para la OAuth 1.0 specification, permitiendo alusuario identificarse vía OAuth al servidor que ha solicitado.
– Twitter: Nos muestra el interface para la Twitter web API.
#install.packages("twitteR")#install.packages("ROAuth")library("twitteR")library("ROAuth")
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 67 / 104
Redes Sociales
Paso 3: CREAR Y GUARDAR LA TWITTER AUTHENTICATED CREDENTIALOBJECT
Para los usuarios de Windows:# Download "cacert.pem" filedownload.file(url="http://curl.haxx.se/ca/cacert.pem",destfile="cacert.pem")
#create an object "cred" that will save the authenticated#object that we can use for later sessionscred #To enable the connection, please direct your web browser to: .#Note: You only need to do this part oncecred$handshake(cainfo="cacert.pem")#6432188
To enable the connection, please direct your web browser to:https: // api. twitter. com/ oauth/ authorize? oauth_ token= 1Tpw2wAAAAAAuvqjAAABVDSxOGwWhen complete, record the PIN given to you and provide it here: 6432188
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 68 / 104
https://api.twitter.com/oauth/authorize?oauth_token=1Tpw2wAAAAAAuvqjAAABVDSxOGw
Redes Sociales
Paso 3: CREAR Y GUARDAR LA TWITTER AUTHENTICATED CREDENTIALOBJECT
Figure 18Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 69 / 104
Redes Sociales
Paso 3: CREAR Y GUARDAR LA TWITTER AUTHENTICATED CREDENTIALOBJECT
Figure 19
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 70 / 104
Redes Sociales
#save for later use for Windowssave(cred, file="twitter authentication.Rdata")
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 71 / 104
Redes Sociales
Paso 4: DESCARGAR TWEETS
library(twitteR)library(httr)
# Credenciales
consumer_key = "3ws---C8x"consumer_secret = "ngKs----iFTLr64abk"access_token = "28545046-kC-----MXPb7N"access_secret = "sL0O9XCl5Y----egA8UWFB"
credentials_file = "cred.RData"
setup_twitter_oauth(consumer_key, consumer_secret, access_token, access_secret ) #, credentials_file)
#[1] "Using direct authentication"#Use a local file to cache OAuth access credentials between R sessions?#1: Yes
Redes Sociales
head(tw)# [[1]]# [1] "apowers411: RT @dataandme: ICYMI walk-through:# “How to start analyzing tweets with #Rstats &# #Neo4j” by @stevenbeeckman https://t.co/HRrw4WgiLT https:/..."## [[2]]# [1] "cathyjingqiu: RT @hadleywickham:# Some advice on writing functions in# #rstats: https://t.co/nPnyEGlUP3. Feedback welcomed!"## [[3]]# [1] "ysabet_m: RT @drob: When teaching,# be careful not to mix up \"I learned this a long time ago\"# with \"This is simple\"\n\n#rstats"## [[4]]# [1] "yodacomplex: RT @drob: When teaching,# be careful not to mix up \"I learned this# a long time ago\" with \"This is simple\"\n\n#rstats"
#....
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 73 / 104
Redes Sociales
Ahora ya estamos en disposición de descargarnos los tweets del contenido quedeseemos, para analizarlos.
Sentiment AnalysisWordCloudGeographical Analysisetc.
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 74 / 104
Redes Sociales
Os adjunto varios tutoriales en inglés:
Mining twittertext mining with RUsing twitteR psackasgeVideotutorialSentioment analysis example
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 75 / 104
http://www.slideshare.net/jeffreybreen/r-by-example-mining-twitter-forhttp://www.slideshare.net/rdatamining/text-mining-with-r-an-analysis-of-twitter-data?next_slideshow=1http://davetang.org/muse/2013/04/06/using-the-r_twitter-package/https://www.youtube.com/watch?v=lT4Kosc_ershttp://datascienceplus.com/how-to-create-a-twitter-sentiment-analysis-using-r-and-shiny/
WordCloud desde twitter
WordCloud desde twitter
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 76 / 104
WordCloud desde twitter
library(“tm”)
library(twitteR)library(tm)library(wordcloud)library(RColorBrewer)
tw2
WordCloud desde twitter
# define tdm as matrixm = as.matrix(tdm)# get word counts in decreasing orderword_freqs = sort(rowSums(m), decreasing=TRUE)# create a data frame with words and their frequenciesdm = data.frame(word=names(word_freqs), freq=word_freqs)
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 78 / 104
WordCloud desde twitter
# plot wordcloudwordcloud(dm$word, dm$freq,
random.order=FALSE,colors=brewer.pal(8, "Dark2"))
rstatsag
o
time
venn
datascience
https
learned
careful
drob longmix
simple
teaching
amp
diagrams
now
amcrisan
bad
excuses
httpstcoqaqiyg
like
new
sec
rbloggersupsetr
call
pyth
on
rladieslondon
vers
ion
analysis
banana
diagram
good
heres
infamous
mwilsonsayres
rladies
shiny
theatavism
via
chapter
cont
inuu
mio
datatable
looks
nilsgehlenborg register
rladiessf
sqlstop
welcome
writingbi
gdat
a
chdoig
community
cran
crashes
data
days
fwrite
ggplot
hosted
httpstcodlyeovykc
httpstcoiozlygetb
ipl
markdanese
nothing
open
opendata
package
part
party
prejudice
pride
readrreadcsv
rstudio
seeing
server
sign
theres
thrill
waste
web
inar
wondering
yorkr
# save the image in png formatpng("img/MachineLearningCloud.png", width=12, height=8, units="in", res=300)wordcloud(dm$word, dm$freq, random.order=FALSE, colors=brewer.pal(8, "Dark2"))dev.off()
## pdf## 2
Figure 20
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 79 / 104
WordCloud desde twitter
WordClud comparativos
# user hits the error easy handled already used in multi handle, then dodetach(rCurl)detach("package:httr", character.only =TRUE)library(rCurl)library(httr)
# SAS tweetsfcb_tweets = userTimeline("SAS", n=100)
# SPSS tweetsat_tweets = userTimeline("IBMSPSS", n=100)
# rstats tweestrm_tweets = userTimeline("hadleywickham", n=100)
# VCF pcs tweetsvcf_tweets = userTimeline("Stata", n=100)
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 80 / 104
WordCloud desde twitter
# get textatt_txt = sapply(fcb_tweets, function(x) x$getText())ver_txt = sapply(at_tweets, function(x) x$getText())mob_txt = sapply(rm_tweets, function(x) x$getText())pcs_txt = sapply(vcf_tweets, function(x) x$getText())
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 81 / 104
WordCloud desde twitter
clean text
clean.text = function(x){# tolowerx = tolower(x)# remove rtx = gsub("rt", "", x)# remove atx = gsub("@\\w+", "", x)# remove punctuationx = gsub("[[:punct:]]", "", x)# remove numbersx = gsub("[[:digit:]]", "", x)# remove links httpx = gsub("http\\w+", "", x)# remove tabsx = gsub("[ |\t]{2,}", "", x)# remove blank spaces at the beginningx = gsub("^ ", "", x)# remove blank spaces at the endx = gsub(" $", "", x)return(x)
}
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 82 / 104
WordCloud desde twitter
# clean textsatt_clean = clean.text(att_txt)ver_clean = clean.text(ver_txt)mob_clean = clean.text(mob_txt)pcs_clean = clean.text(pcs_txt)
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 83 / 104
WordCloud desde twitter
#Join texts in a vector for each companyatt = paste(att_clean, collapse=" ")ver = paste(ver_clean, collapse=" ")mob = paste(mob_clean, collapse=" ")pcs = paste(pcs_clean, collapse=" ")
# put everything in a single vectorall = c(att, ver, mob, pcs)
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 84 / 104
WordCloud desde twitter
# remove stop-wordsall = removeWords(all,c(stopwords("english"),
"att", "verizon","tmobile", "metropcs"))
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 85 / 104
WordCloud desde twitter
# create corpuscorpus = Corpus(VectorSource(all))
# create term-document matrixtdm = TermDocumentMatrix(corpus)
# convert as matrixtdm = as.matrix(tdm)
# add column namescolnames(tdm) = c("ATT", "Verizon", "T-Mobile", "MetroPCS")
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 86 / 104
WordCloud desde twitter
Plot comparison wordcloud# comparison cloudcomparison.cloud(tdm, random.order=FALSE,colors = c("#00B2FF", "red", "#FF0099", "#6600CC"),title.size=1.5, max.words=500)
# save the image in png formatpng("img/CaparasionCloud1.png",
width=12, height=8, units="in", res=300)comparison.cloud(tdm, random.order=FALSE,colors = c("#00B2FF", "red", "#FF0099", "#6600CC"),title.size=1.5, max.words=500)dev.off()![](img/CaparasionCloud1.png)
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 87 / 104
WordCloud desde twitter
# commonality cloudcommonality.cloud(tdm, random.order=FALSE,colors = brewer.pal(8, "Dark2"),title.size=1.5)
pdf("img/CarriersCommCloud.pdf", width=8, height=8)commonality.cloud(tdm, random.order=FALSE,colors = brewer.pal(8, "Dark2"),title.size=1.5)dev.off()
Figure 21: scale=0.8
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 88 / 104
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 89 / 104
FaceBook desde R con RfaceebookInformación actualizada: link
Figure 22
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 90 / 104
https://github.com/pablobarbera/Rfacebook
Obteniendo permisos de Facebook
(Los cambios en las API pueden hacer que estos pasos sean dintintos, de la API 2.5 a las APi 2.6 varias cosas dejaron de funcionar).
Las restricciones de seguridad de Facebook hacen que no se puede analizar con lamisma facilidad que en Twitter, pero si se puede obtener bastante información.Tutorial obtenido desde: link
Para crear una nueva App iremos a link
Figure 23
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 91 / 104
http://thinktostart.com/analyzing-facebook-with-r/https://developers.facebook.com
Click on “Apps” and choose “Add a New App“. In the next window choose“Website” and give your app a fancy name.After clicking on “Create a New App ID“, choose a category for your app inthe next window and apply the changes with “Create App ID“.You can then click on “Skip Quick Start” to get directly to the settings of yourapp.
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 92 / 104
Figure 24
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 93 / 104
Una vez ya en R:
install.packages("devtools")library(devtools)
install_github("Rfacebook", "pablobarbera", subdir="Rfacebook")
require("Rfacebook")
fb_oauth
The console will then print you the message:
Figure 25
Copy the URL and go to the settings of your Facebook app. Click on the settingstab on the left side and then choose “+ Add Platform“.
Figure 26Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 95 / 104
Then add the URL in the field “Site URL” and save the changes.
Figure 27
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 96 / 104
Go back to your R session and hit enter. Then a browser window should open youhave to allow the app to access your Facebook account.
If everything worked the browser should show the message
Figure 28
And your R console will confirm it with
Figure 29
save(fb_oauth, file="fb_oauth")
load("fb_oauth")
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 97 / 104
Analizando desde Facebook
me
Ejemplos de RBloggers
Ejemplos de RBloggers
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 99 / 104
Ejemplos de RBloggers
twitter: descargando
Una página web donde indica como hacerlo Enlace
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 100 / 104
http://www.interhacktives.com/2017/01/25/scrape-tweets-r-journalists/
Ejemplos de RBloggers
twitter: How to set up a Twitter bot using R
Más de lo mismo, siempre es bueno tener una segunda opnión
Enlace
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 101 / 104
https://blog.eoda.de/2017/02/02/tutorial-how-to-set-up-a-twitter-bot-using-r/
Ejemplos de RBloggers
Text Mining y twitter
mining-twitter-data-tidy-text-tags
free-guide-to-text-mining-with-r
facesofr
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 102 / 104
http://pushpullfork.com/2017/02/mining-twitter-data-tidy-text-tags/http://blog.revolutionanalytics.com/2017/01/free-guide-to-text-mining-with-r.htmlhttp://www.masalmon.eu/2017/03/19/facesofr/
Ejemplos de RBloggers
facebook: Analyzing the US elections with Facebook and R
Veamos un ejemplo de lo que podemos hacer con R y facebook
Enlace
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 103 / 104
http://thinktostart.com/analyzing-us-elections-facebook-r/
Ejemplos de RBloggers
facebook: Gender Analysis of Facebook Post Likes
Otro ejemplo, conocer el sexo de los “me gusta”
Enlace
Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 104 / 104
http://thinktostart.com/gender-analysis-facebook-post-likes/
Big Data y MarketingHadoop y su arquitecturaUtilidades del Big DataCómo trabajar con grandes bases de datosMachine LearningTécnicas de Machine LearningData Mining y RText analyticsRedes SocialesWordCloud desde twitterFacebookEjemplos de RBloggers