تهدف خدمة البحث هذه إلى ربط بيانات التكرار بالمجموعات. سيستخدم بيانات المجموعات للبحث ولكن يمكن الكتابة فوق هذا السلوك بعلامات جهاز مجموعة البيانات.
يمكن أن تتلقى هذه الخدمة المعلمات التالية:
إذا كانت هناك علامات آلة في مجموعة البيانات ، فإننا نستخدمها ونوقف البحث.
يجب أن تعرض الخدمة مدى جودة المطابقة (تامة ، غامضة ، إلخ). ستحدث المطابقات التامة فقط إذا تطابق الرموز والمعرفات أو لم تكن متناقضة (على سبيل المثال: موجودة في جانب واحد فقط).
أي شيء آخر؟ هل هناك أي معلمات أخرى يمكن أن يكون من المفيد أخذها في الاعتبار؟
لقد وضعت في DEV الإصدار الأول من خدمة البحث عن المجموعات (لا تزال لا تستخدم علامات الجهاز) لمعرفة ما إذا كان هذا هو ما كنا نتوقعه.
تقوم بإرجاع قائمة بمطابقات مؤسسة وأخرى لمطابقات المجموعة. إنها قائمة لأن الرموز ليست فريدة ، لذا قد تكون هناك حالات يمكننا فيها الحصول على خيارات متعددة ولا يمكننا التمييز بواسطة أي حقل آخر.
لكل مباراة يظهر:
exact
أو fuzzy
. exact
يكون فقط في حالة تطابق الرمز والمعرف. وإلا فهو fuzzy
.CODE_MATCH
: لا يتجاهل القضيةIDENTIFIER_MATCH
: لا يتجاهل القضيةALTERNATIVE_CODE_MATCH
: لا يتجاهل القضيةNAME_MATCH
: يتجاهل الحالة ويزيل علامات التشكيل والمسافات البيضاء ولكنه لا يطابق البادئة أو اللاحقةPROBABLY_ON_LOAN
: يحدث عندما تختلف المؤسسة المالكة والمؤسسةINST_COLL_MISMATCH
: يحدث عندما لا تكون مؤسسة المجموعة موجودة في المؤسسات المطابقة.عندما تكون هناك مطابقات مؤسسة ، فإن المجموعة تتطابق بشكل غامض فقط إذا كانت تنتمي إلى أي مؤسسة مطابقة. دائما ما يتم إرجاع التطابقات الدقيقة.
يمكنك التحقق من هذه الأمثلة لمعرفة كيفية عمل الخدمة:
INST_COLL_MISMATCH
PROBABLY_ON_LOAN
هل أفتقد شيئًا MortenHofft @ timrobertson100 ؟
لقد أضفت فحص علامة الجهاز باتباع التنسيق الذي تم استخدامه بالفعل في خطوط الأنابيب في الوقت الحالي:
processing.gbif.org
institutionCode
: تعيين رمز مؤسسة لمؤسسة GrSciCollcollectionCode
: تعيين كود مجموعة لمجموعة GrSciCollcollectionToInstitutionCode
: تعيين كود مجموعة لمؤسسة 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. النتائج في هذا النطاق
التعليق الأكثر فائدة
لقد حاولت للتو المطابقة بناءً على مقتطف csv الذي حصلت عليه منذ بعض الوقت.
إن csv مميز
institutionId, institutionCode, datasetKey, publisherKey
مع عدد مرات التكرار لكل منها.أخذت أي شيء يحتوي على أكثر من 2500 تكرار وحاولت مضاهاة الخدمة.
هذه ليست بداية سيئة. لم أقم بتقييم جودة المباريات رغم ذلك.