BIG DATA: el Poder de la información - Conceptos...

Click here to load reader

Transcript of BIG DATA: el Poder de la información - Conceptos...

  • 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

    Twitter

    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

  • Facebook

    Facebook

    Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 89 / 104

  • Facebook

    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

  • Facebook

    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

  • Facebook

    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

  • Facebook

    Figure 24

    Xavi Barber (@umh1480 @XaviBarberUMH) BIG DATA: el Poder de la información 93 / 104

  • Facebook

    Una vez ya en R:

    install.packages("devtools")library(devtools)

    install_github("Rfacebook", "pablobarbera", subdir="Rfacebook")

    require("Rfacebook")

    fb_oauth

  • Facebook

    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

  • Facebook

    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

  • Facebook

    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

  • Facebook

    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