matchID-project / deces-backend

API Personnes décédées
https://deces.matchid.io/deces/api/v1/docs
GNU Lesser General Public License v3.0
9 stars 4 forks source link

Pour un appariement spécifique, permettre avec une option d'accepter l'absence de lieu de naissance sans pénalité (blindScore) #239

Open cristianpb opened 3 years ago

cristianpb commented 3 years ago

Par exemple:

https://deces.matchid.io/deces/api/v1/search?birthDate=23/01/1928&deathDate=2020

{
  "request": {
    "sort": [
      {
        "score": "desc"
      }
    ],
    "birthDate": "23/01/1928",
    "deathDate": "2020"
  },
  "response": {
    "total": 2114,
    "maxScoreES": 20.128998,
    "size": 20,
    "page": 1,
    "delay": 56,
    "persons": [
      {
        "score": 0,
        "source": "2020",
        "sourceLine": 26,
        "scores": {
          "birthDate": 1,
          "birthLocation": {
            "score": 0.75
          },
          "deathDate": 0.25,
          "score": 0.34,
          "es": 0.1,
          "multiMatchPenalty": 0.51,
          "multiMatch": 20
        },
....

Le premier résultat devrait pas avoir birthLocation dans le score parce qu'il n'y a pas de lieu de naissance dans la requête.

rhanka commented 3 years ago

C'est volontaire - même si discutable.

Attention, la suppression du score engendrerait un profond déséquilibre dans toutes les évaluations menées à ce stade.

L'absence de lieu de naissance doit être pénalisée puisqu'elle rend incertain le matching.

La seule fonction de multimatch ne palie pas à une carence du doute non quantifié "homonymie parmi les vivants". Il est donc indispensable de conserver un scoring de type "blindScore".

Le problème est lorsqu'on a un dataset mixte :

nom         prénom       lieu        date
jean        martin                   01/02/1915
maire       dupont       Lyon        15/10/1931

Proposition: mettre des options pour désactiver les pénalités de "blindScores", mais seulement si explicitement assumées par la personne qui soumet le matching.