Académique Documents
Professionnel Documents
Culture Documents
Octubre 2016
Comite Editorial
Ing. Daniel Eugenio Muñoz Caballero
Lic. Dora Elia Martínez Rojas
M.C. Rodrigo Márquez Castillo
Dr. Eduardo Ramírez Rangel
Elisa García Vargas
Fernando Ángel Juárez Cueyactle
Dr. Daniel Villanueva Vásquez
Dr. Anselmo Osorio Mirón
Índice general
1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2 Marco Teórico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1 Antecedentes de OpenRefine 11
2.2 OpenRefine 12
2.3 Herramientas de OpenRefine 14
2.3.1 Fingerprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3.2 N-Gram Fingerprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3.3 Phonetic Fingerprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3.4 Nearest Neighbor Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3.5 PPM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3 Metodología . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.1 Instalación de OpenRefine 19
3.2 Importación de datos con OpenRefine 24
3.3 Operaciones básicas 25
3.3.1 Conversión de mayúsculas/ minúsculas . . . . . . . . . . . . . . . . . . . . . . . 25
3.3.2 Eliminación espacios en blanco . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.3.3 Facet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.3.4 Separación automática de columnas . . . . . . . . . . . . . . . . . . . . . . . . 29
3.3.5 Cambio de nombre a una columna . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.3.6 Eliminación de una columna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
6
4 Conclusión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
1. Introducción
2.2 OpenRefine
por voluntarios.
2.3.1 Fingerprint
Este método difiere de los demás anteriores por la forma en que considera
los elementos, pues agrupa aquellos elementos en base a su similitud fonética,
por lo que debe tener en cuenta la igualdad de dos frases que tienen el mismo
"sonidoçuando se pronuncian. Esto método puede detectar errores de falta de
ortografía que no pueden ser reconocidos a partir de la Fingerprint y N-Gram
Fingerprint, [2].
2.3.5 PPM
PPM funciona para dar una complejidad y estimar las similitudes entre las
cadenas. Este método se desarrolló a partir de modelo de Markov. También,
se relaciona con la longitud y la distancia del elemento, ya que forma una
secuencia de datos y busca los errores en algunos casos. Encuentra una gran
cantidad de numero de falsos positivos, que son caracteres iguales, pero
realmente están correctos, [2].
La Figura 3.2 muestra que Refine contiene varias versiones, en este caso
20 Capítulo 3. Metodología
La Figura 3.3 muestra la ventana que ofrece Refine antes de iniciar, este
cuenta con un seguimiento de cómo se debe utilizar la herramienta. Para
poder observar cómo se utiliza, se agregó una numeración para que el usuario
pueda seguir los pasos. A continuación, se muestra los pasos:
la Figura 3.4.
Por otra parte, también cuenta con la herramienta de Open. Aquí también
se encuentran los proyectos que se han realizado. La pestaña de Export se
utiliza cuando ya se haya realizado la limpieza y organización de una base
de datos y Help. Todas estas herramientas se encuentras en la parte superior
3.1 Instalación de OpenRefine 23
Cuando un archivo se importa con extensión .zip, .tar.gz, .tgz, tar.bz, .gz o
.bz2, OpenRefine detecta la extensión de archivo más común en ella y carga
todos los archivos con esa extensión en un solo proyecto. También puede
señalar OpenRefine a una URL de un archivo de datos o una hoja de cálculo
de Google. Una vez importados, los datos se almacenan en formato propio
de OpenRefine y el archivo de datos original se deja en reposo, [10].
3.3 Operaciones básicas 25
3.3.3 Facet
Con cualquiera de los dos métodos se puede corregir el error. Para guardar
el cambio, se selecciona el botón Apply. También es posible buscar y corregir
aquellas palabras repetidas o que contengan algún error y son diferentes de
los demás. Sin embargo, si la palabra se repitiera más de una vez, Refine
28 Capítulo 3. Metodología
el menú Edit Column >Rename this column. Una vez realizado lo anterior,
aparecerá una nueva ventana, en esta se escribirá el nombre de la nueva
columna, como se muestra en la Figura 3.14.
columna y arrastrarla tal como se indica en la Figura 3.17, de tal manera que
aquí se visualizan todas las columnas y el usuario puede re ordenarlas más
fácilmente, [11].
3.4.1 Clustering
Figura 3.22: Method: Key Collision, Keying Funtion: Ngram-fingerprint, Ngram Size: 2
Mientras que los métodos de Key Collision son muy rápidos, tienden a
ser demasiado estrictos o demasiado ambiguos y no hay forma de afinar la
40 Capítulo 3. Metodología
gran diferencia entre los datos. Los métodos de Nearest Neighbor (también
conocidos como kNN), proporcionan un parámetro conocido como Radius,
que representa un umbral de distancia. Cualquier par de cadenas que está
más cerca de un cierto valor se declaran como juntos.
atención para no corregir aquellos casos en los que no hay ningún error o
también llamados, falsos positivos.
Figura 3.28: Método Nearest-Neighbor con distancia Levenhstein, R=2 y Block Chars=5
import re
return g.group(1)
GREL admite Regex. Para escribir una expresión regular dentro de una
expresión GREl, se coloca entre un par de diagonales /. Por ejemplo, va-
lue.replace(/\s +/, ), donde la expresión regular es /s+.
Replace
46 Capítulo 3. Metodología
Match
Partition
Repartition
Split
120.0232898
-0.2909
+2.343
9]+)?
3.4 Métodos de OpenRefine 47
Hay que tomar en cuenta que cualquier carácter que se utilice para des-
cribir los comandos dentro de las expresiones regulares, deber ser escrito.
Por ejemplo, si se requiere escribir un carácter de "..en lugar de cualquier ca-
rácter, entonces debe escribirse "\"porque solo escribir "."significa cualquier
carácter similar [9]. Por ejemplo,
+ debe ser escrito como (\+)
? debe ser escrito como (\?)
[ debe ser escrito como (\[)
4. Conclusión
[1] Concina. Alessandro. “Thesis: Data cleansing Different approaches for different
datasets”. En: (2014-2015), págs. 38-42.
[3] Nguyen Dan. “Data Exploration with OpenRefine”. En: (jun. de 2013).
[6] Ham. Kelli. “OpenRefine (version 2.5), open-source tool for cleaning and transfor-
ming data”. En: (jul. de 2013), págs. 233-234.
[7] Per Larsson. “Evaluation of Open Source Data Cleaning Tools: Open Refine and
Data Wrangler”. En: (jun. de 2013), pág. 6.
[12] Tillman. Ruth. “Extracting, Augmenting, and Updating Metadata in Fedora 3 and 4
Using a Local OpenRefine Reconciliation Service”. En: (Enero de 2016).
[13] Verborgh. Max de Wilde Seth van Hooland. Ruben. “Cleaning Data with OpenRefine”.
En: (Agosto de 2013), págs. 242-243.