De Big Data a Linked Data
Transcripción
De Big Data a Linked Data
2nd Workshop of Open and Research Jorge Morato- Univ. Carlos III Motivación de la Charla: Por qué fallan los proyectos Big Data Similitudes y diferencias entre Linked Data y Big Data El ciclo de vida de la Información Serializaciones Volumen Tecnología Reduciendo diferencias. Tareas Limpieza y calidad de Datos Integración y enriquecimiento de Datos Algunos problemas Ejemplos de Proyectos Retos en Big Data MOTIVACIÓN http://www.intel.es/content/www/es/es/communications/internet-minute-infographic.html http://www.obs-edu.com/noticias/estudio-obs/en-2020-mas-de-30-mil-millones-de-dispositivos-estaran-conectados-internet/ “Big data is a collection of data [structured or not] from traditional and digital sources inside and outside your company that represents a source for ongoing discovery and analysis” Las tecnología Big Data se desarrollo para evitar las deficiencias de los sistemas tradicionales. Volumen Cada día se generan 2.3 trillón de GB de datos Velocidad Variabilidad Video, fotos, tweets, … 19 billones de conexiones en 2016 Muchos algoritmos en Big Data son robustos en los primeros estadios a los datos de poca calidad, pero las conclusiones que se extraen depende de esa calidad Veracidad La baja calidad de los datos supone un trillón de dolares al año (1012) En un estudio, el 27% de los encuestados dijo no saber si los datos de los proyectos eran confiables o no (Experian QAS study) Motivación El porcentaje de éxito de un proyecto Big Data es del 45%. Problemas genéricos son falta de presupuesto, tiempo o herramientas. El factor principal es debida a la sobreestimación de las capacidades de Big Data Aspectos Dificultades Planificación • Demasiadas expectativas en las técnicas Big Data • Falta de comunicación entre la directiva, ingenieros y gestores de software • Falta de concienciación con los recursos que un proyecto Big Data requiere Adquisición de datos • Cultura corporativa, cada departamento tiene silos de información que es reacia a compartir • Presencia de datos incorrectos Integración datos • Falta de normalización (en el modelo y en los formatos) • Falta de metadatos de los registros (p.e. trazabilidad) Análisis • Falta de comprensión del modelo subyacente, simplificación excesiva • Dificultades para escalar y gestionar los datos recopilados Puesta en valor • Falta de velocidad para poner en valor las conclusiones CIOs & Big Data: What Your IT Team Wants You to Know” Infochimps, 2013 (sample 300 IT companies) Motivación “There are a lot of small data problems that occur in big data. They don’t disappear because you’ve got lots of the stuff. They get worse” (David Spiegelhalter, Cambridge Univ.) Ejemplo: Estimación de voto en las elecciones presidenciales de 1936 Agencia /Autor # encuestas Previsión Literary Digest magazine Encuesta a 2.4 millones de personas 55% Landon 41% Roosevelt Gallup 3,000 entrevistas 56% para Roosevelt Resultados 61% para Roosevelt (error de muestreo) Otras fuentes de error Errores por incomprensión del modelo subyacente a los datos, sobretodo correlacióncausalidad. Errores por manejo inadecuado de datos Errores por sesgos en los datos Errores por datos incorrectos y diferencias en formatos Motivación “There are a lot of small data problems that occur in big data. They don’t disappear because you’ve got lots of the stuff. They get worse” (David Spiegelhalter, Cambridge Univ.) Cuanto más datos más probabilidad de encontrar correlaciones casuales Regla de los Redskins: “Si los Redskins ganan el último juego antes de una elección, el candidato del partido actualmente en el poder ganará las elecciones” (ha fallado dos veces en las últimas 19 elecciones, 0.9) Diagnóstico prenatal según Target Co. Identificación de una cliente embarazada por los hábitos de compra para envío de propaganda (similar a Netfix con sus 10 trailers al azar) Se presentó como violación de la intimidad pero no se sabe realmente la correlación Understanding correlations: How Nate Silver won the election with Data Science (2012) Motivación Reinhard and Rogoff (2010) recomendaron una política de austeridad para favorecer el crecimiento Conclusión: a mayores niveles de deuda nacional, menores tasas de crecimiento Motivo: Errores de codificación y no haber seleccionado una fila completa en una página Excel http://www.peri.umass.edu/fileadmin/pdf/working_papers/working_papers_301-350/WP322.pdf Misil Patriot, fallo para calcular la posición de un misil iraquí (1991) Motivo: redondeos en la medida del tiempo Motivación Muchos estudios basados en Twitter, aunque estos usuarios no son una muestra representativa (en US en ciudades, de color y jóvenes) Boston’s Street Bump smartphone app Motivación Accidente Ariane 5 (1996) Motivo: El sistema de referencia inercial tuvo un error debido a la conversión de real con 64 bits a un entero de 16 bits, dando un error por overflow https://www.ima.umn.edu/~arnold/disasters/ariane5rep.html • Mars Climate Orbiterm (1999) Una sonda para estudiar Marte se desintegró al acercarse a la superficie Motivo: Interoperabilidad entre sistemas, uno de Lockheed y el otro británico, las unidades eran respectivamente pulgadas y pies y por otro lado sistema métrico. Motivación Los datos y los datasets son creados por personas, por lo que pueden tener sesgos, manipulaciones, ambigüedades e imprecisiones. Hay una tendencia a sustituir comprensión y teorías por el análisis de grandes cantidades de datos (theory-free) Ejemplo Google Flu Trends Google puede conocer la incidencia de una enfermedad en solo un día. nature (2009) Fuente Google Flu Trends (2012) Indicador: Consultas a Google con un conjunto de términos Durante los últimos tres años Google ha fallado, sobrestimando la incidencia por dos Periodo Correl. Entrenamiento 2003-07 0.9 Verificación 2007-08 0.97 2009 0.29 http://www.google.org/flutrends/about/data/flu/es/data.txt Motivo: correlación y causalidad, media (what linked Google queries and spread of flu?) Motivación Google Translate está basado en Big Data. ¿por qué crees que empeora en algunos idiomas? (Echo-chamber effect) http://per-fide.di.uminho.pt/site.pl/tools.pt, lingue Who’s Bigger? Motivación 1. 2. 3. 4. 5. Conocer de donde vienen los datos, qué significan y como se modifican Apoyo tecnológico para evitar errores humanos (65% del total) Comprender qué se puede inferir con los datos Evitar incorporar información con poca calidad Formalizar y contextualizar los datos Big data tiende a simplificar “Not everything that can be counted counts, and not everything that counts can be counted” “Make it simple, but not simpler” (A.Einstein) ¿Se podrían evitar errores y proyectos fallidos en Big Data con LoD? …Si es así, ¿en qué casos? …y ¿cómo? Para responder vamos a ver en que se parecen y diferencian LoD y Big Data. Es decir que puede aportar LoD a Big Data SIMILITUDES Y DIFERENCIAS ENTRE BIG DATA Y LOD Courtesy of Sandro Hawke, W3C Similitudes, ciclo de vida Mediante la gestión de información aumentamos la complejidad para ganar en comprensión y mejorar procesos. Datos. Símbolos o signos en relación a una diferencia observada (p.e. edad=9) Información. Relaciones entre datos en un dominio, para resumir , clasificar, etc (p.e. 9x2=18) Conocimiento. Información almacenada con un objetivo para inferir nueva información basada en un patrón, know-how (p.e. 193x200=?) Sabiduría: teorías, principios… es decir patrones de conocimiento de un dominio La gestión de información se puede sistematizar en Ciclos de Vida Ejemplo Pool-party Similitudes, ciclo de vida Capturar datos (observaciones, medidas, …) Comprensión del negocio Evaluar Inteligencia de Negocio Desarrollo de Software Integrar y Analizar Ing.Requisitos Entender y preparar los datos Evaluación Planificar y actuar Modelado Análisis y Diseño Minería de datos Pruebas & Evaluación Ontologías Especificación Planificación Conceptualización Formalización Implementación Implementación Mantenimiento Similitudes, ciclo de vida Publicar Datos (p.e. csv) Información, enlazar datos (RDF) Conocimiento, modelar (RDFS) Consultar (SPARQL) Conocimiento, razonar (OWL) 18 Similitudes, ciclo de vida 6. Interpretación 3. Limpieza 2. Adquisición, Grabación y Extracción 1. Objetivos & Planificación 4. Integración, Agregación, Representación (anotación) 5. Análisis & Modelado Diferencias, modelo Los datos en la Web suelen estar tabulados Cualquiera puede incorporar datos Los datos tabulados de distintas fuentes deben poder fusionarse Problema: La ambigüedad y la polisemia dificultan esta fusión Person Parent Datebirth State Paris Richard Hilton Feb. 17, 1981 New York Country United States United States France City Paris Paris Paris State Arkansas Illinois Paris Region Person Parent Birthplace Paris Priam Troy ¿cómo se podría obtener esta tabla de las precedentes? City Population Paris 3532 Paris 8837 Paris 5183 Paris 8553 Paris 2273305 Country United States United States United States United States France City State Paris Arkansas Paris Maine Paris Illinois Paris Kentucky City State Paris New York City Paris Paris Paris Paris Paris Population 5183 State Population Arkansas 3532 Maine 5183 Illinois 8837 Kentucky 8553 Paris Region 2273305 Diferencias, modelo La Web Semántica es una forma de especificar datos y relaciones. El objetivo es mejorar la combinación y navegación entre conceptos de distintas fuentes de datos. Requisitos: 1. Identidad: Conceptos con una URIs a modo de clave primaria. 2. Accesibilidad: Acceso mediante el protocolo HTTP 3. Estructura: estandarizar la forma de expresar y recuperar la información (RDF y SPARQL) 4. Navegación: URIs relacionadas mediante enlaces Las URIs son espacios del nombre (namespaces), normalmente designdos por un qname PREFIX : dc http://purl.org/dc/elements/1.1/ La Web Semántica da conceptos con definición compartida, un medio de compartir datos y mejora en la integración de datos Diferencias, modelo RDF (Resource Description Framework), es el modelo más usual de transmitir información en la Web Semántica. Sujeto Predicado Identificador de una entidad/recurso URI Nombre del atributo URI Valor del atributo Objeto Tripleta URI Strings, fechas, números, … Ejemplos: “dollar” o “10,000” o “1967-02-04T00:00:00Z” o “Paris”@en Sujeto (Entidad) Predicado Valor www.john.com Autor John Diferencias, modelo Tres casos básicos: 1. <Paris><Population><2273305> 2. N-aria <Paris><Population><2273305><Junio 2015> Equipo Reificación: more information about a statement <ID01><Place><Paris> < ID01 ><Population><2273305> < ID01 ><Date><June 2015> Jugador 3. El conjunto de la tripleta le afecta el mismo atributo. Temporada Equipo (<Paris><Population><2273305>)<INSEE> (<Paris><Population><24ZZ53305>)<Eurostat> Reificación Explicita: <statement1_Paris><rdf:subject><Paris> <statement1_Paris><rdf:predicate><Population> <statement1_Paris><rdf:value>< 2273305> Y finalmente: <INSEE><report><statement1_Paris> Jugador Temporada Eurostat RDF tiene un modelo más formalizado que Big Data, con conceptos desambiguados Diferencias, modelo • • • Existen millones de URIs en la Web para formar las tripletas Las propiedades de una entidad se pueden describir mediante metadata, element sets. Mientras que sus valores están en vocabularios de valores. <“Libro”-”Propiedad_dc:title”-”Guerra y Paz”>, donde el significado de dc:title está descrito en la URI [http://dublincore.org/documents/dces/]. Element sets (Metadata) Value Vocabularies Dublin Core FRBR MARC21 FOAF LCSH AAT VIAF GeoNames http://lov.okfn.org “Library Linked Data Incubator Group: Datasets, Value Vocabularies, and Metadata Element Sets de la W3C” http://www.w3.org/2005/Incubator/lld/XGR-lld-vocabdataset/ Diferencias, serialización Traducción de estructuras de datos en formato de texto o binario para su tranferencia o almacenamiento Pros Cons XML texto plano, legible Tamaño del fichero Binary XML Ligero en cuanto tamaño No texto plano JSON Ligero, texto plano, legible Pocos tipos de datos YAML Compacto y legible Pocos tipos de datos RDF texto plano, estructurado, legible Pocos tipos de datos BSON Eficiente y con tipos de datos No legible CSV Ligero y legible Pobre en tipos de datos y estructura Diferencias, serialización Formatos Ejemplo Spreadsheets (Excel, …) TSV NAME Alan John NACIONALITY WEIGHT Spanish 55 French 129 CSV NAME, NACIONALITY,WEIGHT Alan, Spanish, 55 John, French, 129 XML <example> <person ID=“1”> <name> Alan </name> <nationality> Spanish</nationality><weight>55</weight></person> <person ID=“2”><name>John<….></person></example> Diferencias, serialización Formatos Ejemplo JSON {“example":[ {“name":“Alan”, “nacionality”:“Spanish“, “phone“:[“work_ph”:”25255”,”cell_ph”:”45433”] , “weight”:51}, {other_record} ]} JSONbased BSON (Binary JSON) basado en JSON, con tipos de datos (string, Integer, double, fecha, array o booleano), tamaño del documento y longitud del campo. Otras basadas en JSON son: HOCON, Candle , Smile or Yaml YAML Data: given: Alan nacionality: Spanish weight: 51.5 age: 26 Phone: - Work: 25255 Address: 8 St.Paul Av. Quebec - cellular: 45433 Diferencias, serialización Formatos Ejemplo RDF <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns: foaf: “http://xmlns.com/foaf/” xmlns:ex=“http://example.edu/ ”> <rdf:Description rdf:about="http://example.edu/alan"> <rdf:type rdf:resource:”http://xmlns.com/foaf/person” /> <ex:name >Alan</ex:name> <ex:weight>57</ex:weight> </rdf:Description> </rdf:RDF> TURTLE PREFIX ex: <http://example.edu/> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns> PREFIX foaf: <http://xmlns.com/foaf/> <ex:alan> a foaf:Person ; <ex:name>Alan <ex:weight>57 Similitudes, volumen Existen miles de vocabularios de valores, metadatos y datasets en la Web LoD (Linking Open Data) uniendo entre si datasets Ejemplos de vocabularios: Dbpedia (415000 categories), Yago (286.000 classes), UMBEL (20000 classes). . Existen 630 millones de tripletas. http://linkeddatacatalog.dws.informatik.unimannheim.de/state/ http://stats.lod2.eu/stats Tema Grandes círculos con millones de tripletas Lineas más gruesas representan 100.000 enlaces entre los recursos Dataset % Government 183 18.05% Publications 96 9.47% Life sciences 83 8.19% Usergenerated 48 4.73% Crossdomain 41 4.04% Media 22 2.17% Geographic 21 2.07% Social web 520 51.28% Total 1014 56.1% están enlazados 68% con SPARQL endpoint LoD en cuanto volumen es Big Data Similitudes, tecnología Sujeto Propiedad Objeto ID1 type fullProfessor ID1 teacherof AI ID1 bachelorfrom MIT ID1 mastersfrom Cambridge ID1 phdfrom Yale ID2 type AssocProfessor ID2 worksfor MIT ID2 teacherfof DataBases ID2 bachelorfrom Yale ID2 phdfrom Stanford ID3 type GradStudent ID3 advisor ID2 ID3 teachingAssitant AI ID3 bachelorsFrom Stanford ID3 mastersFrom Princeton ID4 type GradStudent ID4 advisor ID1 ID4 takesCourse DataBases ID4 bachelorsFrom Columbia Tripleta (tabla) * Semantic Web Technologies. H.Sack Graduados de la misma universidad* SPARQL Select ?university Where (?subject rdf.type :GradStudent. ?subject :bachelorfrom ?university) SQL SELECT triple_1.Object, triple.Property, triple.Object FROM triple, triple as triple_1 WHERE triple_1.Subject = triple.Subject AND triple_1.Object="GradStudent" AND triple.Property="bachelorsFrom"; Sujeto Vehiculo Vehiculo Coche Coche Propiedad Especifico Especifico Especifico Especifico Objeto Coche Moto Ambulancia Limusina Coche Moto Sinonimo Sinonimo Auto Motocicleta Thesaurus (tabla) Sinónimos y específicos de vehículo (SQL) Select a2.Object From thesaurus as a2 Where a2.Property=“synonym" and a2.Subject in (Select a1.Object From thesaurus as a1 Where a1.Subject=“vehicle" and a1.Property="narrower") O Select a2.Object from thesaurus as a2, thesaurus as a1 where a2.Subject=a1.Object and a1.Subject=“vehicle" and a1.Property="narrower" and a2.Property=“synonym" Similitudes, tecnología Pros Cons En una única tabla fácil de implementar y trabajar con muchas propiedades Muchos joins, aumenta mucho el coste computacional Redundancias Con identificadores Ahorra espacio Permite reificar Escalabilidad Propiedad/Tabla funciona bien con pocas propiedades y si los valores están acotados, si no funciona mal inserts complejos Mal si no están valores acotados o muchas propiedades Hexastores (guarda índices spo, pos, osp, sop, pso, ops) Responde rápido Es rápido inicialmente pero ocupa mucho espacio BD noSQL de Big Data Responden rápido Las más utilizadas, AllegroGraph (grafo), Neo4j (grafo)… Sujeto Vehiculo Vehiculo Coche Moto Propiedad Especifico Especifico Sinonimo Sinonimo Propiedad Clv Específico 1 Sinónimo 2 Relacionado 3 Espec. Clv Vehic. Coche motoSinon. Vehic. Objeto Coche Moto Auto Motocicleta S P 1 1 1 1 O 2 3 2 2 3 2 5 6 Clv Coche Auto Moto Motocicleta En la práctica LoD muchas triplestores se almacenan con tecnologías Big Data La más usada es Virtuoso que es una BDR con herencia (tiene varios modelos de datos) Similitudes, tecnología AM Lorente. Almacenes de datos NoSQL, estudio de la tecnología. TFG, UC3M 2015 Similitudes, tecnología No garantizan th. ACID • Atomicidad transacción completa o nada • Consistencia: tras la transacción las restricciones de la BD se cumplen • Isolation las transacciones son secuenciales • Durabilidad las transacciones no se pierden aunque caiga el sistema No garantizan th. CAP - Consistencia - Disponibilidad - Tolerancia a Fallos AM Lorente. Almacenes de datos NoSQL, estudio de la tecnología. TFG, UC3M 2015 Similitudes, tecnología http://db-engines.com/en/ranking Comparativa A pesar de su desarrollo paralelo (p.e. STRATA conferences en Big Data), muchos estudio señalan la necesidad de convergencia RDF y LoD Big Data Inf. Estructurada Si Frecuentemente no (80%) Info tipo de datos Escaso1 Escaso Limpieza Necesaria Necesaria Uso Rígido Flexible y sencillo Ambigüedad de los No conceptos, contexto Frecuente Ámbito Toda la Web Frecuentemente interno a una corporación Datos Gran volumen Gran volumen Tecnología Frecuente BD noSQL BD noSQL Tiene especial sentido si el contexto de BigData no es local. En Big Data algunos formatos pueden definir tipos, como BSON o en RDF con rdfs:datatype (xsd:gYear, string, …) y con owl:onDatatype para restricciones (el problema es que no es obligatorio) ¿Big Data + Semantic Web =Smarter Big Data? La convergencia tiene sobre todo sentido cuando: El ámbito no sea local Cuando se precise incluir datos externos (p.e. de la Web) a la corporación de forma no ambigua REDUCIENDO DIFERENCIAS Cagle, K. Understanding the Big Data Life-Cycle Reduciendo diferencias Etapas en el ciclo de vida de Big Data: 80% Coste del proyecto Objetivos y planificación: que datos tenemos y datos esperamos obtener. Adquisición: adquirir información de fuentes internas o externas. Utilizar fuentes reputadas y registrarlo (data lineage) Limpieza: eliminar inconsistencias y datos corruptos. Integración: enriquecimiento de datos mediante su integración coherente, para dar mayor contexto y significado. Análisis: Modelado de datos y análisis para responder preguntas sobre una organización. Interpretación: propuesta de unas pautas para facilitar la gestión de los datos Limpieza. Reduciendo diferencias “Juan Garcia, Av. Pez,8, Mejico DF, 40205 México” “J. García, Avenida Pez,8, México DF, 50205 México” Proceso Ejemplo Resultado ejemplo Split Juan Garcia, Av. Pez,8, Mejico DF, 40205 México Juan; Garcia; Av. Pez 8; Mejico DF; 40205; México Typos Juan; Garcia; Av. Pez 8; Mejico DF; 40205; México Juan; García; Av. Pez 8; Méjico DF; 40205; México Normalizar Juan; García; Av. Pez 8; Méjico DF; 40205; México Juan; García; Av. Pez 8; México DF; 40205; México Validar Juan; García; Av. Pez 8; México DF; 40205; México Juan; García; Av. Pez 8; México DF; 50205; México Agrupar Juan García, Av. Pez,8, México DF, 50205 México J. García, Avenida Pez,8, México DF, 50205 México Juan García, Av. Pez,8, México DF, 50205 México Juan García, Av. Pez,8, México DF, 50205 México Linked data nos puede ayudar a corregir typos, normalizar y validar pero para ello tenemos que comparar cadenas de textos y contextos Limpieza. Reduciendo diferencias Necesidad debida a: •datos no estructurados, •no atómicos, •vocabulario ambiguo, •errores tipográficos, •datos inconsistentes (no coherentes y uniformes), •datos incompletos, …. Estrategias para comparar cadenas de texto para corregir errores o para emparejar un dataset y un dato del LoD. Estrategias para eliminar errores ortográficos y tipográficos: Distancias de edición (p.e. distancia Levehenstein ) Comparadores fonéticos (Soundex y Metaphone) Frecuencia de subcadenas (p.e. ngram y fingerprint) Crowdsourcing Visualización Limpieza. Reduciendo diferencias Distintas variaciones con más de 40 ocurrencias de las 593 registradas con frecuencia mayor de dos: 488941 britney spears 40134 brittany spears 36315 brittney spears 24342 britany spears 7331 britny spears 6633 briteny spears 2696 britteny spears 1807 briney spears 1635 brittny spears 1479 brintey spears 1479 britanny spears 1338 britiny spears 1211 britnet spears 1096 britiney spears 991 britaney spears 991 britnay spears 811 brithney spears 811 brtiney spears 664 birtney spears 664 brintney spears 664 briteney spears 601 bitney spears 601 brinty spears 544 brittaney spears 544 brittnay spears 364 britey spears 364 brittiny spears 329 brtney spears 269 bretney spears 269 britneys spears 244 britne spears 244 brytney spears 220 breatney spears 220 britiany spears 199 britnney spears 163 britnry spears 147 breatny spears 147 brittiney spears 147 britty spears 147 brotney spears 147 brutney spears 133 britteney spears 133 briyney spears 121 bittany spears 121 bridney spears 121 britainy spears 121 britmey spears 109 brietney spears 109 brithny spears 109 britni spears 109 brittant spears 98 bittney spears 98 brithey spears 98 brittiany spears 98 btitney spears 89 brietny spears 89 brinety spears 89 brintny spears 89 britnie spears 89 brittey spears 89 brittnet spears 89 brity spears 89 ritney spears 80 bretny spears 80 britnany spears 73 brinteny spears 73 brittainy spears 73 pritney spears 66 brintany spears 66 britnery spears 59 briitney spears 59 britinay spears 54 britneay spears 54 britner spears 54 britney’s spears 54 britnye spears 54 britt spears 54 brttany spears 48 bitany spears 48 briny spears 48 brirney spears 48 britant spears 48 britnety spears 48 brittanny spears 48 brttney spears 44 birttany spears 44 brittani spears 44 brityney spears Limpieza. Reduciendo diferencias Corrección ortográfica por comparando la diferencia de dos cadenas (distancia de edición) Levehenstein da un peso que indica el esfuerzo en transformar una cadena en otra Mínimo valor de: d[i-1, j] + 1, // supresión d[i, j-1] + 1, // inserción d[i-1, j-1] + coste//sustitución i if x(i)<>Y(j)+2 If if x(i)=Y(j)0 Distancia de edición d[3,4] d [2,4] (r<>a)2+1=3 d [3,3] (a<>r)2+1=3 d [2,3] (r<>a) 1+2=3 Min=3 j http://odur.let.rug.nl/kleiweg/lev/ How do you spell Britney Spears or Katy Perry? Limpieza. Reduciendo diferencias Calcular la probabilidad de que un conjunto de caracteres o palabras se produzcan. Si es baja puede ser un error tipográfico. Simple y escalable n-gram se puede aplicar a secuencia de caracteres o palabras ( bigram si se calcula la frecuencia con la letra/palabra anterior, trigrama si dos letras/palabras anteriores, …) A veces con fingerprint (resultado de ordenar los caracteres alfabeticamente tras quitar duplicados) 40 Aplicaciones Pesos 30 DNA 20 10 Ortografia 0 Alineamiento de datasets ... C A R B O N N-GRAM DERECHO … C A R B O N M O N O X I D E Caracteres M O N N-GRAM IZQUIERDO N-gram http://guidetodatamining.com/ngramAnalyzer/ https://books.google.com/ngrams ... Limpieza. Reduciendo diferencias Algoritmos fonéticos: Soundex, Metaphone Agrupan palabras que suenan parecido Metaphone Sustituye conjuntos de letras por una concreta http://www.php.net/manual/en/function.metaphone.php Computer -> KMPTR Prueba http://php.fnlist.com/string/metaphone: seas, sees, seize right, rite, wright, write duel, jewel Soundex [http://www.gedpage.com/soundex.html] Computer-> C513 Enriquecimiento. Reduciendo diferencias Estrategias para emparejar un dataset y un dato del LoD. Estrategias para Integrar y enriquecer : [además de los de semejanza léxica] Eliminar palabras vacías Comparar con minúsculas y sin acentos Stemming o lematización Comprobar contra listados, vocabulario u ontología Agrupamiento Listas de sinónimos Anotaciones Distancias semánticas en tesauros y ontologías Algoritmos de clustering Palabras vacías The An A Their This Enriquecimiento. Reduciendo diferencias Si tenemos un documento con el nombre Carlos, el contexto nos dice qué Carlos es. Hay muchos vocabularios con el mismo término Si se extraen nombres propios próximos se puede desambiguar Term Domain Carlos University (Roberto) Carlos Singer (Roberto) Carlos Football player Carlos Terrorist Enriquecimiento. Reduciendo diferencias Named entity Recognition (NER): Identificar nombres propios (gente, lugares, empresas, …) en lenguaje natural, mediante: Triggers: dr., Mr. Patrones (Hearst, 91): X <works_in> Y X <born_in> Y Listas/Gazetters: John Mary Julian … Desambigüación por cotexto: -Listas con un término y su contexto -Distancia semántica en tesauros -Anotación humana --- Crowdsourcing --- Folksonomies Enriquecimiento. Reduciendo diferencias Hearst (1992) “Agar is a substance prepared from a mixture of red algae, such as Gelidium, for laboratory or industrial use” Hearst para hiperonimos definió los siguientes indicadores: “Y such as X ((, X)* (, and|or) X)” “such Y as X” “X or other Y” “X and other Y” “Y including X” “Y, especially X” Incluso patrones más complejos: PERSON [be]? (named|appointed|etc.) Prep? ORG POSITION ▪ George Marshall was named US Secretary of State Enriquecimiento. Reduciendo diferencias Grounthruth: Basadas en nodos Coocurrencia Car-taxi Whole-artifact Tobacco – horse ? (heroine) C = Cij2 / Ci * Cj Búsquedas Palabras compuestas sin palabras vacias Enriquecimiento. Reduciendo diferencias Utilizar humanos como procesadores de un sistema distribuido Plataformas: Mturk (Mechanical Turk), Crowdflower, CloudCrowd, … Se definen tareas sencillas para realizar en Web (llmadas HITS:Human Intelligence Tasks) . Actualmente 200,000 workers Proyectos para cleansing: Se hacen micropagos por HIT (5-20 c/HIT) CrowdCleaning (U.Hong Kong) Rapido y económico Argonaut (U.Berkeley) Hay formas de implentar control de calidad Katara (U.Waterloo) (preguntas trampa o conocidas, acuerdo entre anotadores, test de cualificación, ratio de aceptación, evitar superworkers ….) Similar a las folksonomias pero de pago A simple method to find duplicate records is to ask the crowd to check all possible pairs and decide whether each item in the pair refers to the same entity or not (CrowdER project) Enriquecimiento. Reduciendo diferencias Muchas más, Oracle, IBM (InfoSphere), Lavastorm, Experian, tidyr (para R), Nadeef, Llunatic … Herramientas Funcionalidad Google Refine (Open refine) -Gran comunidad de usuarios - Fácil de instalar y de utilizar. - Levehstein, ngrams, fingerprint, …. -- Número creciente de mejoras -- Capacidad de incrementar la información con datos relacionados (Conciliation) -- Corrección errores comunes en datasets creados manualmente -- Extensiones para crowsourcing y NER DataWrangler Es un proyecto finalizado Sugiere acciones según anteriores procesos Facil de usar aunque poca documentación QAS Clean Web Service Se necesita el entorno .Net y SOAP Enriquecimiento con coordenadas GPS, guías de telefono o dirictorios de negocio, direcciones postales y validación de direcciones de email. QLink Herramienta de visualización de patrones utilizada en el sector financiero PROBLEMAS Algunos problemas También en LoD se precisan tareas de limpieza y consistencia PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX : <http://dbpedia.org/resource/> PREFIX dbpedia2: <http://dbpedia.org/property/> PREFIX dbo: <http://dbpedia.org/ontology/> SELECT ?ciudad ?poblacion WHERE { {?ciudad dbo:type :Municipalities_of_Spain.} UNION { ?ciudad rdf:type dbo:City. ?ciudad dbo:country :Spain } OPTIONAL {?ciudad dbo:populationTotal ?poblacion} } ORDER BY DESC (xsd:int(?poblacion)) (Necesidad de conocer atributos y valores para consultar) Población de municipios españoles (ejecutado en http://dbpedia.org/snorql/) Algunos problemas Longitud Pétalo Eliminación de información útil: modificar o eliminar datos puede suponer una perdida de información valiosa o generar nuevos errores. Sobre todo en procesos masivos automatizados. Mantenimiento: evitar reevaluar datos ya limpiados y sistematizar y documentar el flujo de trabajo (workflow) para optimizar la limpieza de nuevos datos. Big Data 55 Algunos problemas Def: Information about another person who will act on behalf of the vCard object. Falta de consenso entre significados en LoD FOAF Foaf:birthday Def: “The birthday of this Agent, represented in mm-dd string form, eg. '12-31'” Vcard Vcard: bday Property Vcard: agent ?birthday Def: “birthday of a Person” Complejidad debido a mapeos uno a uno Def “Date of birth of the individual associated with the vCard '” N-1 N 2 Algunos problemas Enriquecimiento de datasets: Cambiar el objeto para los que los datos se recopilaron vulnera la ley de protección de datos Datos abiertos: Las instituciones públicas alientan la publicación de datos por transparencia, pero están escasamente enlazados y formalizados PROYECTOS Proyectos Anotación de corpus multimedia con NER y crowsourcing para corroborar, volcando en tripletas el trabajo. Crowdsourcing Un proyecto similar es Accurator (proyecto similar a Didactalia o Mis Museos) Proyectos Uso de los principios de LoD para modelar comercio electrónico B2B (conf. Ying Ding) SQRREL Enterprise V2, crean grafos con logs de usuario para ciberseguridad y mapeado con ontologías (consultas con Accumulo+) Stardog, base de datos basada en grafos RDF, la NASA dice ahorrar 38 m.$/año en búsquedas Proyectos Watson (IBM) Da respuestas “utiles” a preguntas Recopila respuestas de la comunidad y PLN (QA tripletas) e IA Utiliza como pruebas de evidencia dbpedia, Freebase y Wikipedia Similar al proyecto CubeQA Talk of Europe 25 millones de tripletas de los debates del parlamento Europeo. Etiquetados con dbpedia y geonames, consultables por SPARQL CONCLUSIONES Y RETOS Conclusiones y Retos Incorporar tecnologías semánticas Mejora de la calidad: con políticas de procedencia de datos, normalizar terminología y asegurar interoperabilidad. Utilizar identificadores globales para recursos (no PK de BD). Anotar con metadatos estandarizados. Centrarse en identificar patrones no términos (p.e. Google Flu) Uso PLN e IA acercar Big Data a Linked Data Mejorar la integración con recursos Web externos a la empresa Tecnologías Web Indicadores de calidad en el mapeado (#pronombres, anáforas, …) Conclusiones y Retos Integrar con LoD es complejo si no se ha hecho a priori El mayor beneficio se da cuando se necesita fusionar con recursos web o datasets de producción externa No siempre es beneficioso por la falta de flexibilidad Dentro del LoD hay diferentes niveles de limpieza y completitud, el data lineage es crítico para el análisis 2nd Workshop of Open and Research Jorge Morato- Univ. Carlos III [email protected]