This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
deteccion_de_duplicados [18/08/2010 16:17] fernando |
deteccion_de_duplicados [18/08/2010 18:14] fernando |
||
---|---|---|---|
Line 7: | Line 7: | ||
Si bien el procedimiento correcto para ingresar registros a una base bibliográfica requiere que el catalogador haga previamente una búsqueda, para cerciorarse de que el registro en cuestión no ha sido ya ingresado, en la práctica a veces sucede (por distracción o por un error en la forma de hacer la búsqueda) que se termina cargando dos veces lo mismo. | Si bien el procedimiento correcto para ingresar registros a una base bibliográfica requiere que el catalogador haga previamente una búsqueda, para cerciorarse de que el registro en cuestión no ha sido ya ingresado, en la práctica a veces sucede (por distracción o por un error en la forma de hacer la búsqueda) que se termina cargando dos veces lo mismo. | ||
- | Catalis no cuenta con un mecanismo para alertar al catalogador cuando se va a grabar un registro duplicado en la base de datos, aunque tal vez no sería complicado añadirle ese tipo de validación. | + | Catalis no cuenta con un mecanismo para alertar al catalogador cuando se va a grabar en la base de datos un registro duplicado (aunque tal vez no sería complicado añadirle ese tipo de validación). De modo que, por la salud de nuestro catálogo, nos vemos obligados a realizar periódicamente tareas de control de calidad, que incluyan la detección de registros posiblemente duplicados. |
- | De modo que, por la salud de nuestro catálogo, nos vemos obligados a realizar periódicamente tareas de control de calidad, que incluyan la detección de registros posiblemente duplicados. | + | A continuación se presenta un método sencillo que ayuda a detectar registros sospechosos de estar duplicados. Tal como lo mostramos, el método funciona en Linux; con algunas pequeñas adaptaciones puede usarse también en Windows. |
- | + | ||
- | A continuación se presenta un método sencillo que ayuda a detectar registros sospechosos de estar duplicados. En la forma que mostramos, el método funciona en Linux; con algunas pequeñas adaptaciones puede usarse también en Windows. | + | |
Guardamos las siguientes líneas en un archivo que podemos llamar ''duplic.sh'': | Guardamos las siguientes líneas en un archivo que podemos llamar ''duplic.sh'': | ||
Line 18: | Line 16: | ||
#!/bin/bash | #!/bin/bash | ||
- | mx biblio uctab=ansi "fst=1000 0 if s(v100,v110,v111) > '' then v100^a.10,v110^a.10,v111^a.10, else '----------', fi,c11,'/',v008*7.4,'/',replace(replace(v245^a,' /',''),' :','')/" "pft=v1000^*/" now | sort | uniq > claves.txt | + | mx biblio \ |
- | mx seq=claves.txt create=claves now -all | + | uctab=ansi \ |
- | mx claves "pft=if v1=ref(mfn-1,v1) then v1/ fi" now > dup-sospechosos.txt | + | "fst=1 0 \ |
+ | if s(v100,v110,v111) > '' then v100^a.10,v110^a.10,v111^a.10, else '----------', fi, \ | ||
+ | c11,'/',v008*7.4,'/', \ | ||
+ | replace(replace(v245^a,' /',''),' :','')" \ | ||
+ | fullinv=clavesdup \ | ||
+ | now -all | ||
+ | |||
+ | mx dict=clavesdup "pft=if val(v1^t)>1 then v1^*/ fi" now | ||
</file> | </file> | ||
Line 34: | Line 39: | ||
<code> | <code> | ||
- | $ ./duplic.sh | + | $ ./duplic.sh > dup-sospechosos.txt |
</code> | </code> | ||
Line 47: | Line 52: | ||
</file> | </file> | ||
- | Es de esperar que este método produzca unos cuantos falsos positivos; por otra parte, no debemos suponer que este método permita encontrar a //todos// los duplicados. Es decir, puede andar flojo [[http://en.wikipedia.org/wiki/Precision_and_recall|tanto en 'precision' como en 'recall']]... pero al menos es una ayuda para empezar a limpiar nuestros catálogos. | + | Es de esperar que este método produzca falsos positivos; por otra parte, no debemos suponer que nos permitirá encontrar a //todos// los duplicados. Es decir, el método puede andar flojo [[http://en.wikipedia.org/wiki/Precision_and_recall|tanto en 'precision' como en 'recall']]... pero al menos es una ayuda para empezar a limpiar nuestros catálogos. |
Para mejorar la precisión es conveniente usar la versión 16/60 del utilitario ''mx'', que trabaja con claves grandes. Se lo puede descargar desde [[http://bvsmodelo.bvsalud.org/php/level.php?lang=es&component=28&item=1|el sitio de la BVS]]. | Para mejorar la precisión es conveniente usar la versión 16/60 del utilitario ''mx'', que trabaja con claves grandes. Se lo puede descargar desde [[http://bvsmodelo.bvsalud.org/php/level.php?lang=es&component=28&item=1|el sitio de la BVS]]. |