2nd Workshop of Open and Research -...
Transcript of 2nd Workshop of Open and Research -...
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.
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
Volumen
Cada día se generan 2.3 trillón de GB de datos
Velocidad
19 billones de conexiones en 2016
Variabilidad
Video, fotos, tweets, …
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)
Fuente: IBM, Forbes, Gardner
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)
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
Motivación
Otras fuentes de error Errores por incomprensión del modelo subyacente a los datos, sobretodo correlación-
causalidad. Errores por manejo inadecuado de datos Errores por sesgos en los datos Errores por datos incorrectos y diferencias en formatos
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
Ejemplo: Estimación de voto en las elecciones presidenciales de 1936
“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.)
(error de muestreo)
Motivación
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
Cuanto más datos más probabilidad de encontrar correlaciones casuales
“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.)
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.
nature (2009)
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. Indicador: Consultas a Google con un conjunto de términos Durante los últimos tres años Google ha fallado, sobrestimando la incidencia por dos Motivo: correlación y causalidad, media (what linked Google queries and spread of flu?)
Fuente Google Flu Trends (2012)
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
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. Conocer de donde vienen los datos, qué significan y como se modifican
2. Apoyo tecnológico para evitar errores humanos (65% del total)
3. Comprender qué se puede inferir con los datos
4. Evitar incorporar información con poca calidad
5. 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)
Motivación
¿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
La gestión de información se puede sistematizar en Ciclos 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
Ejemplo Pool-party
Similitudes, ciclo de vida
Comprensión del negocio
Entender y preparar los datos
Modelado
Evaluación
Minería de datos
Desarrollo de Software
Ing.Requisitos
Análisis y Diseño
Implementación Pruebas & Evaluación
Planificación
Especificación Conceptualización Formalización Implementación Mantenimiento
Ontologías
Inteligencia de Negocio
Capturar datos (observaciones,
medidas, …)
Integrar y Analizar
Planificar y actuar
Evaluar
Similitudes, ciclo de vida
18
Publicar Datos (p.e. csv)
Información, enlazar datos (RDF)
Conocimiento, modelar (RDFS)
Consultar (SPARQL)
Conocimiento, razonar (OWL)
Similitudes, ciclo de vida
2. Adquisición, Grabación y Extracción
3. Limpieza
4. Integración, Agregación, Representación (anotación)
5. Análisis & Modelado
6. Interpretación
1. Objetivos & Planificación
Similitudes, ciclo de vida
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
Country City State
United States Paris Arkansas
United States Paris Illinois
France Paris Paris Region
Person Parent Birthplace Paris Priam Troy
Person Parent Datebirth State Paris Richard Hilton Feb. 17, 1981 New York
City Population
Paris 3532
Paris 8837
Paris 5183
Paris 8553
Paris 2273305
City State
Paris Arkansas
Paris Maine
Paris Illinois
Paris Kentucky
City State Population Paris New York 5183
¿cómo se podría obtener esta tabla de las precedentes?
Country City State Population
United States Paris Arkansas 3532 United States Paris Maine 5183
United States Paris Illinois 8837
United States Paris Kentucky 8553
France Paris 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/
Diferencias, modelo
La Web Semántica da conceptos con definición compartida, un medio de compartir datos y mejora en la integración de datos
Identificador de una entidad/recurso
URI Nombre del atributo
URI Valor del atributo
URI
Strings, fechas, números, …
Ejemplos: “dollar” o “10,000” o “1967-02-04T00:00:00Z” o “Paris”@en
Sujeto
Predicado
Objeto
Sujeto (Entidad) Predicado Valor
www.john.com Autor John
Tripleta
RDF (Resource Description Framework), es el modelo más usual de transmitir información en la Web Semántica.
Diferencias, modelo
Tres casos básicos: 1. <Paris><Population><2273305> 2. N-aria <Paris><Population><2273305><Junio 2015>
Reificación: more information about a statement <ID01><Place><Paris> < ID01 ><Population><2273305> < ID01 ><Date><June 2015>
3. El conjunto de la tripleta le afecta el mismo atributo.
(<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
Equipo
Jugador Temporada
Equipo
Eurostat
Diferencias, modelo
RDF tiene un modelo más formalizado que Big Data, con conceptos desambiguados
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/
Element sets (Metadata)
Value Vocabularies
Dublin Core FRBR MARC21 FOAF
LCSH AAT VIAF GeoNames
• 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/].
Diferencias, modelo
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
Traducción de estructuras de datos en formato de texto o binario para su tranferencia o almacenamiento
Diferencias, serialización
Formatos Ejemplo
Spreadsheets (Excel, …)
TSV NAME NACIONALITY WEIGHT Alan Spanish 55 John 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} ]}
JSON-based
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
Diferencias, serialización
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.uni-mannheim.de/state/
http://stats.lod2.eu/stats
Similitudes, volumen
Tema Dataset %
Government 183 18.05%
Publications 96 9.47%
Life sciences 83 8.19%
User-generated
48 4.73%
Cross-domain
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
Grandes círculos con millones de tripletas Lineas más gruesas representan 100.000 enlaces entre los recursos
LoD en cuanto volumen es Big Data
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
Sujeto Propiedad Objeto
Vehiculo Especifico Coche
Vehiculo Especifico Moto
Coche Especifico Ambulancia
Coche Especifico Limusina
Coche Sinonimo Auto
Moto Sinonimo Motocicleta
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"
Graduados de la misma universidad* SPARQL 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";
* Semantic Web Technologies. H.Sack
Select ?university Where (?subject rdf.type :GradStudent. ?subject :bachelorfrom ?university)
Tripleta (tabla)
Thesaurus (tabla)
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 Propiedad Objeto
Vehiculo Especifico Coche
Vehiculo Especifico Moto
Coche Sinonimo Auto
Moto Sinonimo Motocicleta
Propiedad Clv
Específico 1
Sinónimo 2
Relacionado 3
S P O
1 1 2
1 1 3
2 2 5
3 2 6
Espec. Clv
Vehic. Coche
Vehic. moto Sinon. 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
AM Lorente. Almacenes de datos NoSQL, estudio de la tecnología. TFG, UC3M 2015
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
Similitudes, tecnología
http://db-engines.com/en/ranking
Similitudes, tecnología
Tiene especial sentido si el contexto de BigData no es local.
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 conceptos, contexto
No Frecuente
Ámbito Toda la Web Frecuentemente interno a una corporación
Datos Gran volumen Gran volumen
Tecnología Frecuente BD noSQL BD noSQL
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)
A pesar de su desarrollo paralelo (p.e. STRATA conferences en Big Data), muchos estudios señalan la necesidad de convergencia
Comparativa
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
¿Big Data + Semantic Web =Smarter Big Data?
REDUCIENDO DIFERENCIAS
Cagle, K. Understanding the Big Data Life-Cycle
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
Etapas en el ciclo de vida de Big Data: 80% Coste del proyecto
Reduciendo diferencias
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
“Juan Garcia, Av. Pez,8, Mejico DF, 40205 México” “J. García, Avenida 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
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
Necesidad debida a: •datos no estructurados, •no atómicos, •vocabulario ambiguo, •errores tipográficos, •datos inconsistentes (no coherentes y uniformes), •datos incompletos, ….
Limpieza. Reduciendo diferencias
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
Distintas variaciones con más de 40 ocurrencias de las 593 registradas con frecuencia mayor de dos:
Limpieza. Reduciendo diferencias
http://odur.let.rug.nl/kleiweg/lev/
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
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
i
j
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
if x(i)<>Y(j)+2
If if x(i)=Y(j)0
Min=3
How do you spell Britney Spears or Katy Perry?
Limpieza. Reduciendo diferencias
Aplicaciones
DNA
Ortografia
Alineamiento de datasets
…
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)
N-gram http://guidetodatamining.com/ngramAnalyzer/ https://books.google.com/ngrams
0
10
20
30
40
... C A R B O N M O N O X I D E ...
Caracteres
Peso
s
C A R B O N M O N
N-GRAM DERECHO
N-GRAM IZQUIERDO
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
Limpieza. 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
The An A Their This Palabras
vacías
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
Basadas en nodos
Coocurrencia
Búsquedas
Grounthruth: Car-taxi Whole-artifact
Tobacco – horse ? (heroine)
C = Cij2 / Ci * Cj
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 Se hacen micropagos por HIT (5-20 c/HIT) Rapido y económico Hay formas de implentar control de calidad
(preguntas trampa o conocidas, acuerdo entre anotadores, test de cualificación, ratio de aceptación, evitar superworkers ….) Similar a las folksonomias pero de pago
Omar Alonso. Crowdsourcing 101
Proyectos para cleansing: CrowdCleaning (U.Hong Kong) Argonaut (U.Berkeley) Katara (U.Waterloo)
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
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
Muchas más, Oracle, IBM (InfoSphere), Lavastorm, Experian, tidyr (para R), Nadeef, Llunatic …
Enriquecimiento. Reduciendo diferencias
PROBLEMAS
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))
Población de municipios españoles (ejecutado en http://dbpedia.org/snorql/)
También en LoD se precisan tareas de limpieza y consistencia
(Necesidad de conocer atributos y valores para consultar)
Algunos problemas
Big Data 55
Mantenimiento: evitar reevaluar datos ya limpiados y sistematizar y documentar el flujo de trabajo (workflow) para optimizar la limpieza de nuevos datos.
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.
Lo
ng
itu
d P
étal
o
Algunos problemas
Def “Date of birth of the individual associated with the vCard '”
Def: “The birthday of this Agent, represented in mm-dd string form, eg. '12-31'”
FOAF Vcard
Foaf:birthday Vcard: bday
?birthday
Def: “birthday of a Person”
Property
Def: Information about another person who will act on behalf of the vCard object.
Vcard: agent
Falta de consenso entre significados en LoD
N-1 N 2 Complejidad debido a mapeos uno a uno
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
Algunos problemas
PROYECTOS
Crowdsourcing
Anotación de corpus multimedia con NER y crowsourcing para corroborar, volcando en tripletas el trabajo.
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
Proyectos
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
Conclusiones y Retos
2nd Workshop of Open and Research
Jorge Morato- Univ. Carlos III [email protected]