Détection des doublons (Dedup)(Primo VE)

Le processus de détection des doublons repose sur la création d’un vecteur de déduplication pour chaque notice Alma. Ce vecteur inclut une ou plusieurs clefs qui sont construites à partir des métadonnées bibliographiques.

Les notices marquées comme doublons sont alors affichées comme un seul enregistrement dans les résultats de recherche. Les métadonnées sont extraites de la première notice dans la liste des résultats.

Articulation du Dedup et du FRBR

Les processus Dedup et FRBR sont similaires, mais utilisent différentes clés. Le système recherche d’abord les doublons, puis les groupes FRBR. Ainsi, des notices fusionnées peuvent être également « FRBRisé ».

Flux de Traitement Dedup/FRBR

1. Calcul des clés :

Le système extrait des champs de la notice Alma (comme l’auteur, le titre, l’ISBN, etc.) et crée des clés en combinant et normalisant ces données. Ces clés sont utilisées pour identifier les enregistrements similaires.

2. Recherche des clés existantes :

Le système compare les clés nouvellement calculées avec celles déjà présentes dans la base de données. Si une correspondance est trouvée, cela signifie que la notice en cours de traitement pourrait avoir un doublon. Le système associe donc à la clef nouvellement créée l’identifiant du groupe déjà présent dans Alma.

En cas de correspondances multiples, le système sélectionne l’identifiant de groupe associé à la clé de priorité la plus élevée. On ne connait malheureusement pas le niveau de prorité affecté à chaque clef.

Si plusieurs clés ont la même priorité, l’identifiant de groupe est choisi de manière aléatoire.

En l’absence de clé existante, le système utilise la clé de priorité la plus élevée pour créer un nouvel identifiant de groupe et l’associé à la notice.

3. Stockage de l’identifiant de Groupe :

Une fois l’identifiant de groupe sélectionné, il est stocké pour toutes les clés calculées à l’étape 1.

Transitivité du Dedup

Le processus de fusion n’est pas entièrement transitif, ce qui signifie que si une notice A correspond à une notice B, et que la notice B correspond à une notice C, A ne correspondra pas nécessairement à C. Cela peut se produire en raison de la manière dont les clés sont calculées et priorisées. En effet, l’ordre dans lequel les enregistrements sont traités peut influencer les groupements.

Voici un exemple :

  1. Ajout de la noticeB :
    • B est ajoutée à la base de données.
    • Aucune correspondance n’est trouvée, donc B est considéré comme unique.
  2. Ajout de la noticeC :
    • C est ajoutée à la base de données.
    • Aucune des clés de C ne correspond à celles de B.
    • C est également considéré comme unique.
  3. Ajout de la notice A :
    • A est ajoutée à la base de données. Il a des clefs qui correspondent avec B et C
    • Une des clés de A correspond à une clé de B.
    • Le système arrête de traiter A dès qu’il trouve une correspondance avec B, car il a trouvé un groupe existant.
    • A est donc ajouté au groupe de B, formant le groupe AB.

Calcul des clés

Type de Clé

Chaque clé dans le système Primo VE possède un type qui indique au système quelles définitions de clé utiliser pour une notice donnée. Ce type est crucial pour déterminer comment les enregistrements sont traités dans les processus de déduplication.

Le champ match/t définit ainsi le type de clé pour le processus de déduplication :

  • Valeur 1 : Indique que la notice n’est pas une notice de publication en série.
  • Valeur 2 : Indique que la notice est une notice de publication en série.

Construction des champs dédiés : mapping des champs Alma en clés Dedup

Champs prédéfinis

CléContenu du champTypeChamp MARC 21Champ DCChamp UNIMARCChamp BIBFRAME
C5Numéro de contrôle1+2035 a,zN/A035 a,zbf:identifiedBy – bf:Local – rdf:value
F1LCCN1+2010 adcterms:identifier dcterms:LCCNN/Abf:AdminMetadata – bf:identifiedBy – bf:Lccn
F3ISBN1020 a,edcterms:identifier dcterms:ISBN010 abf:identifiedBy – bf:Isbn
F3ISSN2022 a,edcterms:identifier dcterms:ISSN011 abf:identifiedBy – bf:Issn
F4ISBN_invalid1020 zN/A010 zbf:identifiedBy – bf:Isbn – rdf:value – bf:status- bf:Status
F4ISSN_invalid2022 yN/A011 ybf:identifiedBy – bf:Issn – rdf:value – bf:status- bf:Status
F5Titre abrégé1245 a,b,n,pdc.title, dcterms.title200 abf:title – bf:Title
F5ISSN_cancelled2022 zN/A011 zbf:identifiedBy – bf:Issn – rdf:value – bf:status- bf:Status
F6Année de début de publication1+2008 (positions 7-10)dc.date, dcterms.date210 d, 100 a (positions 9-16)bf:provisionActivity – bf:Publication – bf:date
F7Titre complet1+2245 a,b,n,pdc.title, dcterms.title200 a,e,d,h,ibf:title – bf:Title
F8Pays de publication1008 (positions 15-17)N/ALDR position 7 = m ou c AND MARC is « 102 ». »a »bf:provisionActivity – bf:Publication – bf:place
F8Titre abrégé2245 adc.title, dcterms.titleLDR position 7 = a, i, ou s AND MARC is « 200 ». »a »bf:title – bf:Title
F9Pagination1300 aN/ALDR position 7 = m ou c AND MARC is « 215 ». »a »N/A
F9Pays de publication2008 (positions 15-17)N/ALDR position 7 = a, i, ou s AND MARC.control is « 102 » « a »bf:provisionActivity – bf:Publication – bf:place
F10Éditeur1260 b, 264 bdcterms.publisher, dc.publisherLDR position 7 = m ou c AND MARC is « 210 ». »c »bf:provisionActivity – bf:Publication – bflc:simpleAgent
F10Lieu de publication2260 a, 264 aN/ALDR position 7 = a, i, ou s AND MARC is « 200 ». »a »bf:provisionActivity – bf:Publication – bflc:simplePlace
F11Entrée principale (auteur, organisme, réunion)1100 a,b,c,d,q, 111 a,c,d,e,n,qdc.creator, dcterms.creatorLDR position 7 = m ou c AND 700 a,b,c,d,f, 710 1st ind. = 1 a-hbf:contribution – bf:PrimaryContribution
F11Entrée principale (auteur, organisme, réunion)2110a ,b,c,d,e,n, 111 a,c,d,e,n,q, 130 a,d,l,m,n,o,p,r,s,tdc.creator, dcterms.creatorLDR position 7 = a, i, ou s AND 710 1st ind. = 0 a,b,c,g,h, 710 1st ind. = 1 a-h, 500 a,b,h,i,k,l,mbf:contribution – bf:PrimaryContribution
F13Numéro de contrôle1+2001N/A001MMSID (bf:adminMetadata – bf:AdminMetadata – bf:identifiedBy – bf:Local – rdf:value – bf:source « ALMA »)
F50*URI de l’œuvre1+2N/AN/AN/Abf:Work – RDF:about

Champs locaux

ClefFormatChampDescription
L1Unimarc902Numéro de partie + Titre de partie (200$h_200$i) : permet d’éviter les regroupements des monographies en plusieurs volumes partageant le même ISBN
L2Marc21902Numéro de partie + Titre de partie (245$n_245$p) : permet d’éviter les regroupements des monographies en plusieurs volumes partageant le même ISBN
L3Unimarc903PPN en 035, 452, 455, 456
L4Marc21903PPN en 035 et 776

Création des clefs

Les champs de données sont ensuite normalisés et combinés pour créer les clés de Dedup.

Concaténation des Champs

La concaténation des champs permet de créer des clés en combinant plusieurs champs de données. Si un champ a plusieurs entrées, le système crée plusieurs clés en combinant toutes les entrées possibles des champs.

Explication pour la définition de la Clé : match/f1 + match/f7

  • f1 : Contient les entrées : a, b
  • f7 : Contient les entrées : c, d
  • Clés Créées : ac, ad, bc, bd

Méthodes de Normalisation

Les méthodes de normalisation sont appliquées aux valeurs des champs pour standardiser les données et améliorer la correspondance des enregistrements. Voici les méthodes utiisés :

  • FUZZY_STRING : Utilise les cinq premiers mots de la valeur du champ. Cela aide à ignorer les petites différences dans les titres ou descriptions.
  • ROUND_NUMBER : Arrondit le dernier chiffre de la valeur du champ à 0.
    • Exemples :
      • 11 devient 10
      • 199 devient 190
  • REMOVE_COMMON_WORDS : Supprime certains mots courants qui peuvent ne pas être pertinents pour la correspondance, tels que « annual report », « bulletin », « proceedings », etc.
  • SPLIT : Lorsqu’un enregistrement a plusieurs identifiants (comme ISSN/ISBN), cette méthode crée des clés séparées pour chaque identifiant. Cela permet de faire correspondre des enregistrements qui partagent au moins un identifiant commun.

Champs Optionnels

  • Définition : Lors de la création d’une clé à partir de plusieurs champs, certains champs peuvent être optionnels. Ils sont indiqués par des crochets ([]).
  • Exemple : match/f1 + [match/f7] signifie que match/f7 n’est pas obligatoire pour créer la clé.

Définitions des clés Dedup

Clefs prédéfinnies

Clé complèteTypeDescription
match/c51Numéro de système externe
match/f1 + match/f5 + match/f61LCCN + titre abrégé + année
match/f1 + FUZZY_STRING(match/f7) + match/f61LCCN + titre flou + année
match/f1 + match/f7 + match/f61LCCN + titre complet + année
match/f3 + match/f5 + match/f61ISBN + titre abrégé + date
match/f3 + FUZZY_STRING(match/f7) + match/f61ISBN + titre flou + date
match/f3 + match/f7 + match/f91ISBN + titre complet + pagination
SPLIT(match/f3) + match/f5 + match/f61ISBN1 + titre abrégé + date, ISBN2 + titre abrégé + date
SPLIT(match/f3) + FUZZY_STRING(match/f7) + match/f61ISBN1 + titre flou + date, ISBN2 + titre flou + date
SPLIT(match/f3) + match/f7 + match/f91ISBN1 + titre complet + pagination, ISBN2 + titre complet + pagination
match/f4 + match/f7 + match/f61ISBN incorrect + titre complet + date
match/f4 + match/f7 + match/f91ISBN incorrect + titre complet + pagination
SPLIT(match/f4) + match/f7 + match/f61ISBN incorrect1 + titre complet + date, ISBN incorrect2 + titre complet + date
SPLIT(match/f4) + match/f7 + match/f91ISBN incorrect1 + titre complet + pagination, ISBN incorrect2 + titre complet + pagination
match/f7 + match/f11 + match/f6 + match/f91Titre complet + entrée principale + date + pagination
match/f7 + match/f11 + match/f6 + ROUND_NUMBER(match/f9)1Titre complet + entrée principale + date + pagination floue
match/f7 + match/f6 + match/f10 + match/f9 + [match/f11]1Titre complet + date + éditeur + pagination + [entrée principale]
match/f7 + match/f6 + match/f10 + ROUND_NUMBER(match/f9) + [match/f11]1Titre complet + date + éditeur + pagination floue + [entrée principale]
match/f7 + match/f6 + match/f9 + [match/f11]1Titre complet + date + pagination + [entrée principale]
match/f7 + match/f6 + ROUND_NUMBER(match/f9) + [match/f11]1Titre complet + date + pagination floue + [entrée principale]
match/f7 + match/f6 + match/f10 + [match/f11]1Titre complet + date + éditeur + [entrée principale]
match/c52ID MMS
match/f1 + match/f82LCCN + titre abrégé
match/f3 + match/f82ISSN + titre abrégé
SPLIT(match/f3) + match/f81ISSN1 + titre abrégé, ISSN2 + titre abrégé
REMOVE_COMMON_WORDS(match/f7) + match/f10 + match/f9 + [match/f11]2Titre complet (non dans la liste des titres courants) + lieu de publication + pays de publication + Entrée principale conditionnelle
REMOVE_COMMON_WORDS(match/f7) + match/f10 + match/f9 + [match/f11] + [SPLIT(match/f3)]2Titre complet (non dans la liste des titres courants) + lieu de publication + entrée principale (conditionnelle) + ISSN1 conditionnel, Titre complet (non dans la liste des titres courants) + lieu de publication + entrée principale (conditionnelle) + ISSN2 conditionnel
REMOVE_COMMON_WORDS(match/f7) + match/f6 + match/f112Titre complet (non dans la liste des titres courants) + date + entrée principale
match/f7 + match/f6 + match/f11 + match/f102Titre complet (peut être dans la liste des titres courants) + date + entrée principale + lieu de publication
REMOVE_COMMON_WORDS(match/f7) + match/f6 + match/f11 + match/f102Titre flou (non dans la liste des titres courants) + date + entrée principale + lieu de publication

Clefs adaptées ou créees localement

Clef complèteTypeDescrition
SPLIT(match/f3) + FUZZY_STRING(match/f7) + match/f6 + [localKey/L1] + [localKey/L2]1ISBN + fuzzy Full title + Start publication year + Numéro de partie_Titre de partie + Numéro de partie_Titre de partie (Marc21) : permet d’éviter les regroupements des monographies en plusieurs volumes partageant le même ISBN.
[localKey/L3] + [localKey/L4]1/2Clef PPN 035 et 452 + Clef PPN 035 et 776 : regroupement sur la base des PPNs

Affichage des notices

Primo VE est configuré pour privélégier les données de la notice du document physique. Mais, à la différence de Primo BO, le système détermine en amont des identifiants de regroupements et fusionne les notices au moment de l’affichage. Ainsi, en cas de fusion de deux notices, le système affichera la notice en fonction des métadonnées qui répondent à la recherche :

Recalculer les clefs de Dedup

Configuration > Decouverte > Autre > Utilitaire de test Dedup et FRBR

L’option Recalculer les groupes FRBR et Dedup permet de forcer recalcul des groupes FRBR et Dedup.

Date de publication

Mis à jour le

Attention ! Certains établissements utilisent parfois de procédures complémentaires