Registry: تنفيذ خدمة بحث لمجموعات GrSciColl

تم إنشاؤها على ١٧ يونيو ٢٠٢٠  ·  11تعليقات  ·  مصدر: gbif/registry

تهدف خدمة البحث هذه إلى ربط بيانات التكرار بالمجموعات. سيستخدم بيانات المجموعات للبحث ولكن يمكن الكتابة فوق هذا السلوك بعلامات جهاز مجموعة البيانات.

يمكن أن تتلقى هذه الخدمة المعلمات التالية:

  • رمز المؤسسة
  • معرف المؤسسة
  • كود المجموعة
  • معرف المجموعة
  • مفتاح مجموعة البيانات
  • رمز المؤسسة المالك ؟؟

إذا كانت هناك علامات آلة في مجموعة البيانات ، فإننا نستخدمها ونوقف البحث.

يجب أن تعرض الخدمة مدى جودة المطابقة (تامة ، غامضة ، إلخ). ستحدث المطابقات التامة فقط إذا تطابق الرموز والمعرفات أو لم تكن متناقضة (على سبيل المثال: موجودة في جانب واحد فقط).

أي شيء آخر؟ هل هناك أي معلمات أخرى يمكن أن يكون من المفيد أخذها في الاعتبار؟

question GRSciColl

التعليق الأكثر فائدة

لقد حاولت للتو المطابقة بناءً على مقتطف csv الذي حصلت عليه منذ بعض الوقت.
إن csv مميز institutionId, institutionCode, datasetKey, publisherKey مع عدد مرات التكرار لكل منها.

أخذت أي شيء يحتوي على أكثر من 2500 تكرار وحاولت مضاهاة الخدمة.

105,871,241 occurrences had a single match
 24,553,278 with an exact singular match
 27,113,941 occurrences had multiple matches
 34,998,066 occurrences had no match

2,374 combinations was tested against the service (multiple can be the same since it included dataset and publisher)

هذه ليست بداية سيئة. لم أقم بتقييم جودة المباريات رغم ذلك.

ال 11 كومينتر

لقد وضعت في DEV الإصدار الأول من خدمة البحث عن المجموعات (لا تزال لا تستخدم علامات الجهاز) لمعرفة ما إذا كان هذا هو ما كنا نتوقعه.

تقوم بإرجاع قائمة بمطابقات مؤسسة وأخرى لمطابقات المجموعة. إنها قائمة لأن الرموز ليست فريدة ، لذا قد تكون هناك حالات يمكننا فيها الحصول على خيارات متعددة ولا يمكننا التمييز بواسطة أي حقل آخر.

لكل مباراة يظهر:

  • النوع: يمكن أن يكون exact أو fuzzy . exact يكون فقط في حالة تطابق الرمز والمعرف. وإلا فهو fuzzy .
  • ملاحظات: هي ملاحظات لفهم كيف تمت المباراة. القيم الممكنة هي:

    • CODE_MATCH : لا يتجاهل القضية

    • IDENTIFIER_MATCH : لا يتجاهل القضية

    • ALTERNATIVE_CODE_MATCH : لا يتجاهل القضية

    • NAME_MATCH : يتجاهل الحالة ويزيل علامات التشكيل والمسافات البيضاء ولكنه لا يطابق البادئة أو اللاحقة

    • PROBABLY_ON_LOAN : يحدث عندما تختلف المؤسسة المالكة والمؤسسة

    • INST_COLL_MISMATCH : يحدث عندما لا تكون مؤسسة المجموعة موجودة في المؤسسات المطابقة.

عندما تكون هناك مطابقات مؤسسة ، فإن المجموعة تتطابق بشكل غامض فقط إذا كانت تنتمي إلى أي مؤسسة مطابقة. دائما ما يتم إرجاع التطابقات الدقيقة.

يمكنك التحقق من هذه الأمثلة لمعرفة كيفية عمل الخدمة:

هل أفتقد شيئًا MortenHofft @ timrobertson100 ؟

لقد أضفت فحص علامة الجهاز باتباع التنسيق الذي تم استخدامه بالفعل في خطوط الأنابيب في الوقت الحالي:

  • مساحة الاسم: processing.gbif.org
  • الأسماء:

    • institutionCode : تعيين رمز مؤسسة لمؤسسة GrSciColl

    • collectionCode : تعيين كود مجموعة لمجموعة GrSciColl

    • collectionToInstitutionCode : تعيين كود مجموعة لمؤسسة GrSciColl. ربما سأعيد تسميته إلى collectionCodeToInstitution (يتم تحديده لاحقًا).

    • institutionToCollectionCode : تعيين رمز مؤسسة لمجموعة GrSciColl. ربما أعيد تسميته إلى institutionCodeToCollection (يتم تحديده لاحقًا).

يجب أن تتبع قيمة العلامات النمط {key}:{code} .

يبدو الأمر جيدًا - أنا فضولي جدًا لرؤيتها مطبقة على البيانات الفعلية.

مطول أم لا
هل يجب أن يكون لدينا خيار "مطوّل" كما هو الحال في مطابقة الأنواع؟

إذا تخيلنا أي شخص يستخدم هذا باستثناء الموظفين ، فقد يكون من المفيد أن يكون لديك خيار match or none . قل Plazi استخدمه لإنشاء روابط من أكواد المجموعة في المقالات.

// plain lookup - not verbose - will at most return one institution and one collection.
{
  institutionMatch: {
    matchType: 'NONE'
  },
  {
    collectionMatch: {
      matchType: 'FUZZY',
      reasons: ['SAME_NAME', 'SAME_CODE', 'SAME_COUNTRY'],
      entity: {
        ...
      }
    }
  }
}

// verbose option
// could be like the one running in dev
{
  "institutionMatches": [],
  "collectionMatches": [
    ...
  ]
}

على التسمية
تستخدم واجهة برمجة تطبيقات مطابقة الأنواع matchType بدلاً من type وتستخدم المجموعات reasons بدلاً من remarks .

بيانات حقيقية
قبل تشغيله على بيانات حقيقية ، أتساءل عما إذا كان الأمر يستحق فقط التحقق من أفضل 500 مجموعة متميزة من كود المؤسسة / معرف colelctionCode / ID وتقييم بعضها يدويًا؟ قد نتعلم شيئًا ما (لنفترض أننا بحاجة لمحاولة قلب الهوية والرمز)

ما الذي يشكل المباراة؟
متى تتخيل أن هذا سيؤدي إلى تطابق؟

  • بالضبط فقط؟
  • نتيجة ضبابية ولكن واحدة فقط
  • مؤسسة بالضبط ، ولكن مجموعة واحدة ضبابية فقط؟

البلد كمزيل للالتباس
هل سيكون من المنطقي إضافة بلد باعتباره معلمة بحث؟ عند فهرسة مرات الحدوث ، يمكننا إضافة بلد الناشر لإزالة الغموض عندما يكون هناك على سبيل المثال 2 مجموعة مطابقة؟ أم أنه من الأفضل أن يقوم المستهلك بتكرار النتائج؟

لقد حاولت للتو المطابقة بناءً على مقتطف csv الذي حصلت عليه منذ بعض الوقت.
إن csv مميز institutionId, institutionCode, datasetKey, publisherKey مع عدد مرات التكرار لكل منها.

أخذت أي شيء يحتوي على أكثر من 2500 تكرار وحاولت مضاهاة الخدمة.

105,871,241 occurrences had a single match
 24,553,278 with an exact singular match
 27,113,941 occurrences had multiple matches
 34,998,066 occurrences had no match

2,374 combinations was tested against the service (multiple can be the same since it included dataset and publisher)

هذه ليست بداية سيئة. لم أقم بتقييم جودة المباريات رغم ذلك.

_ماذا تشكل المباراة؟ _
متى تتخيل أن هذا سيؤدي إلى تطابق؟

  • بالضبط فقط؟
  • نتيجة ضبابية ولكن واحدة فقط
  • مؤسسة بالضبط ، ولكن مجموعة واحدة ضبابية فقط؟

تقصد لهذا بالنسبة للنسخة غير المطولة حيث نعرض تطابقًا واحدًا فقط ، أليس كذلك؟

يمكن أن يكون شيئًا مثل:

  • للمؤسسات

    • تطابق تام واحد فقط

    • مباراة ضبابية واحدة فقط

  • للمجموعات

    • تطابق تام واحد فقط

    • إذا كان هناك تطابق مع مؤسسة ، فلن يكون هناك سوى تطابق غير واضح واحد تكون مؤسسته هي نفسها المؤسسة المطابقة

    • إذا لم يكن هناك تطابق مؤسسي ، فستكون مطابقة ضبابية واحدة فقط

هل تعتقد أنه يجب علينا أيضًا تقديم حالة مطابقة عامة؟

_ماذا تشكل المباراة؟ _
متى تتخيل أن هذا سيؤدي إلى تطابق؟

  • بالضبط فقط؟
  • نتيجة ضبابية ولكن واحدة فقط
  • مؤسسة بالضبط ، ولكن مجموعة واحدة ضبابية فقط؟

تقصد لهذا بالنسبة للنسخة غير المطولة حيث نعرض تطابقًا واحدًا فقط ، أليس كذلك؟

قصدته عند استخدامه في خطوط الأنابيب لتعيين معرفات GrSciColl إلى التكرارات. كنت أتخيل أن هذه الخدمة تضمنت القرار وكل المنطق. كيف تعمل مع خدمات البحث الأخرى؟


هذا يذكرني ، لقد ذكرت في اليوم الآخر أنك فكرت في إضافة جميع المعرفات المتطابقة إلى فهرس التكرار.
أعتقد أن هناك نسختين محتملتين:

  • إضافة جميع المرشحين المحتملين. يدفع هذا العبء بشكل فعال إلى واجهة المستخدم أو المستخدم. وستظهر نفس العينات ضمن مجموعات متعددة.
  • أضف رابطًا فقط عندما يكون لدينا تطابق واحد واثق. الخدمة تتحمل مسؤولية البيان. سنكون قادرين على مطابقة عدد أقل.

أنا أؤيد الإصدار 2. فقط إضافة معرف GrSciColl إلى التكرار عندما يكون لدينا تطابق واحد واثق. ليست مجموعة من المطابقات المرشحة. وإذا أردنا المزيد من التطابقات ، فإننا نخاطب الناشرين لإضافة معرفات أفضل إلى GrSciColl أو التكرارات. أو نضيف علامات الآلة إلى مجموعات البيانات في حالة.

إذا كان من المفيد فهرسة جميع المرشحين ، فهل يمكننا بعد ذلك التفكير في حقل منفصل لذلك؟

يجب أن تقوم الخدمة بإرجاع الأعلام. تطابق كود الجمع الضبابي. لا يوجد تطابق مع رمز المجموعة. مماثلة لخدمة مطابقة الأنواع.

يمكنني التفكير في هذه الأعلام:

  • AMBIGUOUS_INSTITUTION : تم العثور على أكثر من مؤسسة ولم نتمكن من فك الارتباط
  • AMBIGUOUS_COLLECTION : نفس ما ورد أعلاه لكن للمجموعات
  • FUZZY_INSTITUTION_MATCH : مؤسسة واحدة متطابقة ولكن مرتبكة
  • FUZZY_COLLECTION_MATCH : نفس ما ورد أعلاه لكن للمجموعات
  • INSTITUTION_NAME_USED : يحتوي الحقل institutionCode على اسم المؤسسة بدلاً من الرمز
  • OWNER_INSTITUTION_NAME_USED : نفس ما ورد أعلاه لكن للمؤسسة المالكة
  • COLLECTION_NAME_USED : نفس ما ورد أعلاه لكن للمجموعات
  • NO_COLLECTION_CODE_MATCH : الكود المقدم غير متطابق
  • NO_INSTITUTION_CODE_MATCH : نفس ما ورد أعلاه
  • NO_COLLECTION_ID_MATCH : المعرف المقدم غير مطابق
  • NO_INSTITUTION_ID_MATCH : نفس ما ورد أعلاه
  • INSTITUTION_COLLECTION_MISMATCH : المجموعة التي تم العثور عليها لا تنتمي إلى المؤسسة المتطابقة

تحرير: ربما يمكن إزالة INSTITUTION_NAME_USED واستخدام فقط FUZZY_INSTITUTION_MATCH لهذه الحالات. لا أعرف ما الذي قد يكون أكثر فائدة للناشرين

يعجبني - إنه انطباعي أن العديد من الناشرين يقدرون هذه الأعلام ويتصرفون وفقًا لها. سيعطيهم ذلك رؤى لتعديل البيانات وتحسين المطابقة.

تقوم الخدمة الآن بإرجاع استجابة مثل:

{
  "institutionMatch": {
    ...
  },
  "collectionMatch": {
    ...
  },
  alternativeMatches { 
    institutionMatches: []
    collectionMatches: []
  }
}

تظهر المطابقات البديلة فقط إذا تم تعيين المعلمة verbose على "صواب". تقتصر المطابقات الضبابية على 20 نتيجة لأسباب تتعلق بالأداء.

تمت أيضًا إضافة معلمة Country تُستخدم لكسر الروابط: http://api.gbif-dev.org/v1/grscicoll/lookup؟institutionCode=BR&country=BE&verbose=true

تحدث المطابقة إذا تم استيفاء أي من هذه الشروط:

  • هناك تطابق علامة آلة واحدة فقط
  • هناك تطابق تام واحد فقط
  • هناك العديد من المطابقات التامة ولكن واحدة فقط تتطابق مع معلمة البلد المستلمة
  • هناك تطابق واحد غير واضح فقط
  • هناك العديد من التطابقات غير الواضحة ولكن تطابق واحدة فقط على الأقل الرمز أو المعرف وحقل آخر (الاسم أو الرمز البديل)
  • هناك العديد من التطابقات الغامضة ولكن واحدة فقط تتطابق مع معلمة البلد التي تم استلامها

بالإضافة إلى ذلك ، لا تعتبر المؤسسات التي تختلف مؤسستها المالكة عن المؤسسة مطابقة. أيضًا ، المجموعات التي لا تتطابق مؤسستها مع المؤسسة المقبولة للمطابقة لا تعتبر أيضًا مطابقة.

لم أقم بإضافة العلامات ولكن حقل الحالة بدلاً من ذلك:

  • ACCEPTED : مطابقة مقبولة
  • AMBIGUOUS : تم العثور على أكثر من نتيجة واحدة ولم نتمكن من كسر التعادل
  • AMBIGUOUS_MACHINE_TAGS : كما هو مذكور أعلاه ولكن مع تطابق علامة الجهاز
  • AMBIGUOUS_OWNER : توجد نتائج ولكن لا تتطابق مع مالك المؤسسة لذلك نتخطىها حتى لا ترتبط بمجموعات القروض
  • AMBIGUOUS_INSTITUTION_MISMATCH : توجد مطابقات غير واضحة ولكنها لا تنتمي إلى المؤسسة المطابقة
  • DOUBTFUL : المطابقة غير واضحة

يمكن الاستدلال على باقي الأعلام من الحقل reasons الخاص بالمباراة. يمكن تعيين القضايا من هذا المجال في خطوط الأنابيب.

لقد استخلصت من بياناتنا في مجموعات PROD لهذه الحقول الموجودة في أكثر من 1000 سجل:

  • v_institutionid
  • v_institutioncode
  • v_ownerinstitutioncode
  • v_collectioncode
  • v_collectionid
  • datasetkey

بالإضافة إلى ذلك ، أخذت الدولة من هيئة نشر مجموعة البيانات.

ثم قمت بتمريرها إلى خدمة البحث في UAT. النتائج في هذا النطاق

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات