Projecte

General

Perfil

Accions

Tasca #4476

tancat
FJ FJ

Programa per identificar registres externs al DDD

Tasca #4476: Programa per identificar registres externs al DDD

Afegit per Ferran Jorba fa aproximadament 9 anys. Actualitzat fa aproximadament 7 anys.

Estat:
Tancada
Prioritat:
Normal
Assignat a:
Categoria:
Gestió de la col·lecció
Inici:
07-03-2017
Data de venciment:
13-12-2018
Paraula clau:

Descripció

Al DDD tenim molts registres copiats de fonts externes. Alguns són incorporacions manuals i puntuals, com els que venen del catàleg, però altres són sistemàtiques, com els que recollim via OAI, per exemple les revistes de la UAB, Racó o Recercat. I hi ha un tercer grup del qual en tenim una quantitat significativa, però volem tenir ben identificats, com la producció científica (Fènix).

Degut a raons històriques i de funcionament de les bases de dades externes, singularment els OJS de les revistes de la UAB o de Racó, hi ha registres que tenim duplicats però no tenen cap identifidor únic comú. La identificació estandaritzada per aquest registres de servidors OAI hauria d'estar a la 035.

Cal un programa per intentar localitzar aquests registres d'una manera automatitzada però, donat que aquelles bases de dades no estan sota el nostre control, cal una confirmació manual nostra que la identifcació és correcte.

Un cop els registres s'identifiquen correctament i estan ben lligats, es poden fer altres tasques ja d'una manera perfectament automatitzada, com l'actualitació d'identificadors com el DOI (tasca #4078) o la comprovació de si hi són tots o quants en manquen.


Tasques relacionades 10 (0 obertes10 tancades)

relacionat amb DDD - Tasca #4078: Recollir automàticament el DOI de les revistes de la UABTancadaFerran Jorba27-06-201601-06-2017Accions
relacionat amb DDD - Tasca #4411: Generar una taula d'equivalències d'identificadors per les tesisTancadaFerran Jorba30-01-201728-07-2017Accions
relacionat amb DDD - Tasca #3148: Fer una comprovació automàtica de possibles duplicats Ein@ - DDD amb la 035TancadaFerran Jorba06-11-201408-03-2018Accions
relacionat amb DDD - Tasca #4955: Identificar els DOIs erronis i el seu origenTancadaManuel Montoza Coca19-03-201829-07-2020Accions
relacionat amb DDD - Tasca #5116: Comprovar la càrrega automàtica d'articles de les revistes UAB (de REDI i de RACO)TancadaFerran Jorba18-09-201825-10-2018Accions
relacionat amb DDD - Tasca #5133: Refer el circuit de recollida i importacions de registres via OAITancadaFerran Jorba05-10-201820-12-2018Accions
relacionat amb DDD - Tasca #5172: Identificadors 024 duplicats, nou llistat de qualitatTancadaFerran Jorba31-10-201830-04-2019Accions
relacionat amb DDD - Tasca #5246: Accions de millora identificador de registres (idregistres)TancadaFerran Jorba10-01-201909-11-2020Accions
relacionat amb DDD - Tasca #5434: Programa idautoritats.py per detectar duplicats d'entrades d'autoritat, afegir Orcids i normalitzar les formes dels nomsTancadaFerran Jorba25-07-201931-12-2020Accions
relacionat amb DDD - Tasca #5682: Neteja dels identificadors de Scopus que el programa detecta duplicats (idregistres)TancadaFerran Jorba27-03-2020Accions

FJ Actualitzat per Ferran Jorba fa aproximadament 9 anys Accions #1

  • S'ha afegit relacionat amb Tasca #4078: Recollir automàticament el DOI de les revistes de la UAB

FJ Actualitzat per Ferran Jorba fa aproximadament 9 anys Accions #2

  • Estat ha canviat de Creada a En curs

El programa ja funciona, en proves. Consisteix en dues parts.

D'una banda hi ha un programa nocturn que manté una base de dades actualitzada dels registres publicats via OAI per part dels servidors remots, segons la llista https://ddd.uab.cat/admin/oaiharvest/oaiharvestadmin.py. Aprofitant el funcionament normal dels servidors OAI, cada dia mira si hi ha registres nous o actualitzats i, quan n'hi ha, en fa una còpia local dels principals identificadors: oai, doi, títol, urls i md5 del fitxers adjunts, a més de l'any com a segona confirmació. Alhora, fa el mateix exercici amb els registres locals del DDD.

Amb aquestes dues taules, primer fa creuament ràpid amb els identificadors exactes descrits al paràgraf anterior. D'aquí en surten tres llistes:

  1. els que tenen tots els identificadors actualitzats,
  2. els que sembla que es poden identificar (via md5, títol o urls, i que l'any sigui el mateix) o però li manca l'identificador oai, els que no troba. Els que no troba però hi haurien de ser, en fa una sèrie de cerques, via l'API d'Invenio, per veure si en pot trobar un registre únic. Si en troba només un, l'afegeix a la llista dels registres a confirmar.
  3. si a resultes del punt anterior, no en troba cap o en dóna més d'un, queda a la llista de registres no trobats.

Les llistes de registres possiblement trobats i els que no, ja es poden repassar via web. Degut al volum tan inesperadament gran de registres (inicialment uns 14.000 registres), n'he fet una agrupació per any de publicació, perquè les altres no eren fàcils de fer igual a tot arreu.

https://ddd.uab.cat/idregistres.py

A mesura que aneu identificant registres, s'afegeix automàticament la 035 als registres i desapareix de la llista pendent. Per tant, entre les actualitzacions nocturnes i les confirmacions manuals, la llista està sempre actualitzada.

FJ Actualitzat per Ferran Jorba fa aproximadament 9 anys Accions #3

Aquesta primera versió té algunes limitacions, que aniré resolent i apuntant en aquesta tasca:

  1. De moment només comprova raco.cat i revistes.uab.cat, és a dir, articles. Recercat està mig preparat, TDX no hauria de costar més però ni m'hi he posat perquè no l'estem recollint via OAI, i Fènix està previst però encara no començat.
  2. Se salta alguns registres que em dónen error per algun tipus de codificació Unicode que no acabo d'entendre. No et ser dir quants són, però no crec que passin de dues dotzenes.
  3. La resposta «No» a si el programa ha identificat bé un registre no queda desada i, per tant, l'endemà tornarà a sortir.

Pel que fa al TDX, com que no el recol·lectem via OAI sinó pel catàleg, no apareix a la llista https://ddd.uab.cat/admin/oaiharvest/oaiharvestadmin.py i, per tant, ara mateix tampoc no es comprova. El mateix passa amb aquelles revistes del Servei de Publicacions que estan duplicades a Racó i que, com que no les recol·lectem, ara mateix no n'estem fent cap comprovació de la seva coherència a Racó. Com que crec que valdria la pena fer-ho, la meva proposta és tenir una pàgina en aquest wiki on hi hagués la llista dels OAI sets (equivalent a https://ddd.uab.cat/admin/oaiharvest/oaiharvestadmin.py) que, sense ser pròpiament font d'informació per nosaltres, sí que ens interessa tenir-ne els registres ben identificats i sincronitzats.

FJ Actualitzat per Ferran Jorba fa aproximadament 9 anys Accions #4

FJ Actualitzat per Ferran Jorba fa aproximadament 9 anys Accions #5

Una altra limitació:

A la versió actual surt el text que es poden carregar registres no localitzats (registres que hauríem de tenir i efectivament heu confirmat que no tenim) amb un botó. Aquest botó està previst, però ara mateix encara no existeix.

CA Actualitzat per Cristina Azorin fa aproximadament 9 anys Accions #6

  • Data de venciment s'ha establert a 19-12-2017
  • Paraula clau s'ha establert a JR

CA Actualitzat per Cristina Azorin fa aproximadament 9 anys Accions #7

  • S'ha afegit relacionat amb Tasca #4411: Generar una taula d'equivalències d'identificadors per les tesis

CA Actualitzat per Cristina Azorin fa aproximadament 9 anys Accions #8

  • S'ha afegit relacionat amb Tasca #4411: Generar una taula d'equivalències d'identificadors per les tesis

CA Actualitzat per Cristina Azorin fa aproximadament 9 anys Accions #9

  • relacionat amb s'ha suprimit (Tasca #4411: Generar una taula d'equivalències d'identificadors per les tesis)

FJ Actualitzat per Ferran Jorba fa quasi 9 anys Accions #10

A partir d'avui, el programa ja desa les equivalències que heu detectat que no són correctes, i ja no les tornarà a ensenyar més.

Les millores pendents, ara, són, per tant:

  1. De moment només comprova raco.cat i revistes.uab.cat, és a dir, articles. Recercat està mig preparat, TDX no hauria de costar més però ni m'hi he posat perquè no l'estem recollint via OAI, i Fènix està previst però encara no començat.
  2. Se salta alguns registres que em dónen error per algun tipus de codificació Unicode que no acabo d'entendre. No et ser dir quants són, però no crec que passin de dues dotzenes.
  3. A la versió actual surt el text que es poden carregar registres no localitzats (registres que hauríem de tenir i efectivament heu confirmat que no tenim) amb un botó. Aquest botó està previst, però ara mateix encara no existeix.

FJ Actualitzat per Ferran Jorba fa quasi 9 anys Accions #12

Recercat ja forma part dels registres a identificar.

FJ Actualitzat per Ferran Jorba fa quasi 9 anys Accions #13

Aquesta nit ha acabat de baixar-se tots els identificadors del TDX via oai. A partir de demà ja se'n podran fer les comprovacions via https://ddd.uab.cat/idregistres.py.

Espero que amb aquest procediment podrem, finalment identificar els registres que ens falten. Ara mateix, segons l'oai del TDX, tenim 7.062 tesis, i al DDD 6.538 (http://ddd.uab.cat/collection/tesisuab).

FJ Actualitzat per Ferran Jorba fa quasi 9 anys Accions #14

Ja hi ha un procediment per importar automàticament els registres no trobats al DDD (el botó del punt 3 de les millores pendents).

Funciona de la següent manera: en el segon epígraf, el que diu Registres no trobats, fins ara donava només l'opció d'identificar manualment el registre del DDD que es correspon al registre remot i que el programa, automàticament, no troba. Des d'avui, si en comptes del número de registre hi poseu el signe de +, el registre queda a una llista de registres per incorporar, l'endemà es rel·lectarà com un registre OAI qualsevol, i seguirà el circuit habitual de revisió, com qualsevol altre recol·lecció OAI.

De moment, no l'utilitzeu per les tesis (amb identificador oai:www.tdx.cat), perquè el circuit no és ben bé el mateix i hem de parlar com ho resolem.

FJ Actualitzat per Ferran Jorba fa quasi 9 anys Accions #15

De tant en tant hi ha registres remots que, per la raó que sigui (sovint perquè ho tenen malament al servidor remot), nosaltres no els volem al DDD, i els hem de marcar d'alguna manera perquè desapareixin de les llistes d'idregistres.py.

Hem quedat amb la Cristina que el marcarem amb el signe -. Encara no està implementat, ja ho deixaré apuntat aquí quan estigui.

FJ Actualitzat per Ferran Jorba fa quasi 9 anys Accions #16

He començat a posar alguns valors inicials a la pàgina ServidorsOAIcomplementaris que ha de completar la informació de registres externs secundaris. A la pàgina hi trobareu més explicacions.

FJ Actualitzat per Ferran Jorba fa quasi 9 anys Accions #17

A partir de demà, a l'hora d'identificar els registres, també fa la cerca per 035 a les col·leccions no públiques (ex: revisar).

FJ Actualitzat per Ferran Jorba fa quasi 9 anys Accions #18

Això de recol·lectar identificadors dels ServidorsOAIcomplementaris ha tingut (m'ho temia...) una conseqüència negativa (de moment). M'olorava que en algun lloc tindriem algun incident, però no sabia on. Avui ja sí.

Fins ara, per a cada registre local del DDD, el programa només tenia previst una sola identificació OAI. És a dir, que encara que tingués més d'una 035 amb valors que comencen amb «oai:», ara per ara només n'està agafant un. Això afecta, avui, principalment a les dues revistes de proves que hi ha a la llista: Anàlisi i Enseñanza de las Ciencias.

M'ho acabo de mirar i crec que serà fàcil canviar el comportament, i que doni per bons tots els identificadors oai, però el dia d'avui hi ha un ball de registres d'aquestes dues que abans el programa deia que estaven ben identificats i lligats i avui ja no. Espero tenir-ho corregit per demà.

FJ Actualitzat per Ferran Jorba fa quasi 9 anys Accions #19

  • S'ha afegit relacionat amb Tasca #3148: Fer una comprovació automàtica de possibles duplicats Ein@ - DDD amb la 035

FJ Actualitzat per Ferran Jorba fa quasi 9 anys Accions #20

Per demà haurien de funcionar les següents millores:

  1. Ja es poden marcar amb - els registres remots que no volem incorporar al DDD.
  2. Els registres del DDD ja poden tenir més d'una etiqueta 035 que comenci amb oai:, i així podem marcar registres nostres que estan tant a ReDI com a Racó.

FJ Actualitzat per Ferran Jorba fa quasi 9 anys Accions #21

A resultes de les incidències que hem pogut detectar de registres no carregats, sobretot de registres recents, hem vist que el sistema de carregar només registres nous és insuficient. Recapitulant: el (gran) problema que tenim a l'hora de recol·lectar via OAI registres (sobretot) d'OJS és que al DDD només hi volem registres nous, no modificats, perquè entenem que, un cop al DDD, els millorem i no volem que modificacions remotes matxaquin les nostres millores.

En el seu moment vaig demanar quina manera hi havia amb Invenio de recollir registres nous, i vaig obtenir una resposta no gaire satisfactòria:

https://www.mail-archive.com/project-invenio-general@cern.ch/msg00968.html

Vaig inspirar-me amb l'exemple que citaven els del CERN, però no acaba de rutllar. N'acabo de fer un de nou, mirant, sobretot, de tenir en compte els registres en col·leccions ocultes (singularment la de revisar). Espero que amb això l'ideal de recollir només registres nous funcioni i no en manquin.

FJ Actualitzat per Ferran Jorba fa quasi 9 anys Accions #22

També, a resultes de carregar registres que no teníem via el signe +, me n'he adonat que els que venien d'OJS (Racó i ReDI) no es carregaven. Repassant-ho, he vist que la causa era que eren articles anteriors al 2014, que era una condició, una mica arbitrària, que vaig posar per no carregar registres antics que es carregaven a ReDI, per exemple, però que nosaltres ja teníem. Com que ara estem carregant registres antics, aquesta condició és un obstacle. A partir d'ara ho mirarà a partir del nom del fitxer, comptant que es generen automàticament (ex: analisi_a2015m12n53p95) i no en poden haver-hi de duplicats.

(No podria ser tot una mica més fàcil?)

FJ Actualitzat per Ferran Jorba fa més de 8 anys Accions #23

Ja he implementat el signe - per als registres no trobats, si es tracta d'un registre que està al servidor remot però, per la raó que sigui, no ens interessa tenir-lo al DDD. Posant-hi el signe -, desapareix de la llista dels no trobats i ja no apareix més.

FJ Actualitzat per Ferran Jorba fa més de 8 anys Accions #24

En els darrers dies me n'havia adonat d'algunes inconsistències en els resultats, que hem comentat i confirmat amb la Cristina. Després de donar-li unes quantes voltes, he vist que es donen en els registres que tenen més d'on identificador OAI a la 035, p. ex., articles de revistes UAB que també tenim a Racó.

El programa no estava preparat per aquests casos. He hagut de reescriure tota la lògica interna per identificar i casar registres, cosa que m'ha ocupat un parell de matins de feina. Crec que ara ja funciona, i ho he provat al DDD de proves. Ara estic executant el programa de casar registres, que normalment s'executa de nit, per comprovar que el resultat sigui el que toca.

FJ Actualitzat per Ferran Jorba fa més de 8 anys Accions #25

Amb el canvi de funcionament intern del programa s'ha produit una incidència a l'hora de carregar identificadors externs (oai i url). Hi ha estat afegint, respectivament, el prefix oai: i url:, p. ex:

El fet que surti duplicat forma part del mateix problema. Ara miro de solucionar-ho automàticament.

FJ Actualitzat per Ferran Jorba fa més de 8 anys Accions #26

Aquest cap de setmana s'han afegit un munt d'identificadors oai nous de Racó per repassar, en concret:

La llista actualtizada està a ServidorsOAIcomplementaris.

FJ Actualitzat per Ferran Jorba fa més de 8 anys Accions #27

Ferran Jorba va escriure:

Amb el canvi de funcionament intern del programa s'ha produit una incidència a l'hora de carregar identificadors externs (oai i url). Hi ha estat afegint, respectivament, el prefix oai: i url:, p. ex:

Eren 95 registres i ja estan corregits, ex:

FJ Actualitzat per Ferran Jorba fa més de 8 anys Accions #28

S'estan produint falsos negatius, és a dir, que el programa diu que els identificadors no estan lligats però sí que ho estan, ex:

https://ddd.uab.cat/idregistres.py/review_possible_matches?year=1998 (ex. el primer de tots, oai:educar.revistes.uab.cat:article/350, que sí que hi és com a 035 a https://ddd.uab.cat/record/1053/export/hm)

Ja he vist per què està passant, i miraré de corregir-ho avui mateix.

FJ Actualitzat per Ferran Jorba fa més de 8 anys Accions #29

Bé, crec que ja està corregit. Per exemple, l'identificador oai oai:educar.revistes.uab.cat:article/350 ja hi surt a l'any 2008, ni a cap altre: https://ddd.uab.cat/idregistres.py/review_possible_matches?year=1998

CA Actualitzat per Cristina Azorin fa més de 8 anys Accions #30

Ferran, pel que dius sembla que ja podem treballar amb normalitat amb el programa. la xifra dels no trobats s'ha reduït bastant però, en canvi, la dels possiblement identificats continua sent molta alta, creus que és correcta??

Registres possiblement identificats 5423
Registres no trobats 1111

FJ Actualitzat per Ferran Jorba fa més de 8 anys Accions #31

Sí, crec que podeu treballar amb normalitat. Si ha crescut (molt) el número de registres possiblement identificats és perquè aquest cap de setmana hi he afegit unes quantes revistes grans nostres a Racó, tal com he explicat a la nota 26.

En tot cas, com que he hagut de canviar tota la lògica interna, poden haver sortit problemes nous. Quan els detecteu (si els trobeu), si us plau feu-m'ho saber.

CA Actualitzat per Cristina Azorin fa més de 8 anys Accions #32

  • Prioritat ha canviat de Alta a Normal

Cal acabar d'arreglar l'OAI per a deixar aquesta aplicació estable.

CA Actualitzat per Cristina Azorin fa aproximadament 8 anys Accions #33

  • Data de venciment ha canviat de 19-12-2017 a 22-02-2018

FJ Actualitzat per Ferran Jorba fa aproximadament 8 anys Accions #34

  • S'ha afegit relacionat amb Tasca #4955: Identificar els DOIs erronis i el seu origen

CA Actualitzat per Cristina Azorin fa més de 7 anys Accions #35

  • Data de venciment ha canviat de 22-02-2018 a 13-12-2018

CA Actualitzat per Cristina Azorin fa més de 7 anys Accions #36

  • S'ha afegit relacionat amb Tasca #5116: Comprovar la càrrega automàtica d'articles de les revistes UAB (de REDI i de RACO)

FJ Actualitzat per Ferran Jorba fa més de 7 anys Accions #37

  • S'ha afegit relacionat amb Tasca #5133: Refer el circuit de recollida i importacions de registres via OAI

FJ Actualitzat per Ferran Jorba fa més de 7 anys Accions #38

A resultes de la tasca #5133, que encara no està acabada, hi ha dubtes sobre el funcionament de l'eina https://ddd.uab.cat/idregistres.py

Acabo de confirmar que funcionen:

  1. La confirmació que dos registres són el mateix. Això afegeix al registre del DDD una 035 amb l'identificador remot. Això es pot fer amb normalitat i a més es pot confirmar que funciona, havent d'esperar una estona, potser, si el servidor té gaire feina d'indexació.
  2. La identificació (via afegir el número de registre del DDD) d'un registre no trobat però que sí que tenim al DDD. També genera al moment una 035 al DDD amb l'identificació del registre remot.

El que de moment està aturat és l'afegit de les urls remotes, sobretot pel ball d'adreces http a https (#5052) que la darrera vegada que ho vaig comprovar encara les duplicava, amb http i https. És per això que aquesta part encara està aturada.

CA Actualitzat per Cristina Azorin fa més de 7 anys Accions #39

Ferran, aquest cas que seria un 'no', el podem fer??

oai:da.revistes.uab.cat:article/353
https://revistes.uab.cat/da/article/view/v9-n4-hall Derechos de los animales
https://ddd.uab.cat/record/98291 Estudio y diseño de filtros pasobanda y en banda dual basados en resonadores microstrip open-loop acoplados
Coincideix: title, year

FJ Actualitzat per Ferran Jorba fa més de 7 anys Accions #40

Cristina Azorin va escriure:

Ferran, aquest cas que seria un 'no', el podem fer??

Sí, aquests també, sento que no ho escrivís.

FJ Actualitzat per Ferran Jorba fa més de 7 anys Accions #41

Cristina Azorin va escriure:

Ferran, aquest cas que seria un 'no', el podem fer??

Sí; perdó per no haver-ho contestat abans.

CA Actualitzat per Cristina Azorin fa més de 7 anys Accions #42

  • S'ha afegit relacionat amb Tasca #5172: Identificadors 024 duplicats, nou llistat de qualitat

CA Actualitzat per Cristina Azorin fa més de 7 anys Accions #43

  • Estat ha canviat de En curs a Tancada

La tanquem perquè el programa ja està en funcionament i només quedaria anar fent retocs o noves peticions.

CA Actualitzat per Cristina Azorin fa aproximadament 7 anys Accions #44

Nova fase de la renovació d'idregistres:
https://ddd.uab.cat/idregistres.py

Els canvis principals són:

  1. La manera de trobar els possibles duplicats.
  2. La presentació a la llista; ara sempre indica la revista i l'any, de manera que sovint ja es veu, si la revista és diferent, que no ho són.
  3. Quan és un registre d'eina, on abans deia ARE-1234, ara diu recercauab:ARE-1234, de manera que en general surten al final de la llista, i no al principi.

Millores pendents, obrim una tasca:

4. Reactivar la detecció per md5, que ara mateix està desactivada.
5. Reactivar la detecció per cerca aproximada, que ara mateix està desactivada.

Pel que fa a la cerca aproximada per títol, el funcionament és el següent:

Per a cada registre extern, el programa agafa tots els títols en tots els idiomes. Per a cadascun d'ells, n'agafa tant el títol sencer, com el títol propi, i cada subtítol (ja sigui separat per : com per .). Per a cadascuna d'aquestes variants dels títols externs mira si hi ha alguna coincidència en títols locals del DDD. Si no hi ha cap coincidència exacta (=majúscules, minúscules, diacrítics, puntuació, espais), en fa una d'aproximada (ignorant tot l'anterior, o bé com a subconjunt). Això he vist que funciona quasi sempre bé, però crea alguns falsos positius, quan el subtítols (o el títol sense subtítol) és del tipus: 'estudi de cas', o 'aproximació quantitativa', o similar. Igualment, per a no crear soroll, ja no fa comprovacions pels títols d'una sola paraula ('editorial', 'dedicatòria', 'errata', etc.).

A més a més, com a condició extra, el programa només proposa com a possible duplicat si l'any de publicació és el mateix.

CA Actualitzat per Cristina Azorin fa aproximadament 7 anys Accions #45

  • S'ha afegit relacionat amb Tasca #5246: Accions de millora identificador de registres (idregistres)

CA Actualitzat per Cristina Azorin fa aproximadament 7 anys Accions #46

  • Paraula clau s'ha suprimit (JR)

FJ Actualitzat per Ferran Jorba fa més de 6 anys Accions #47

  • S'ha afegit relacionat amb Tasca #5434: Programa idautoritats.py per detectar duplicats d'entrades d'autoritat, afegir Orcids i normalitzar les formes dels noms

CA Actualitzat per Cristina Azorin fa quasi 6 anys Accions #48

  • S'ha afegit relacionat amb Tasca #5682: Neteja dels identificadors de Scopus que el programa detecta duplicats (idregistres)
Accions

També disponible a: PDF Atom