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]

Documentos relacionados