このルックアップサービスは、オカレンスデータをコレクションにリンクすることを目的としています。 ルックアップにコレクションデータを使用しますが、この動作はデータセットマシンタグで上書きされる可能性があります。
このサービスは、次のパラメーターを受け取る可能性があります。
データセットにマシンタグがある場合は、それらを使用してルックアップを停止します。
サービスは、一致がどれだけ良いか(正確、あいまいなど)を返す必要があります。 完全一致は、コードが一致し、IDが一致するか、矛盾しない場合にのみ発生します(例:片側にのみ存在する)。
他に何か? 考慮に入れるのに役立つ他のパラメータはありますか?
コレクションルックアップサービスの最初のバージョン(まだマシンタグを使用していません)を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
:機関コードをGrSciColl機関にマッピングしますcollectionCode
:コレクションコードをGrSciCollコレクションにマップしますcollectionToInstitutionCode
:コレクションコードをGrSciColl機関にマップします。 おそらく名前をcollectionCodeToInstitution
(TBD)に変更します。institutionToCollectionCode
:機関コードをGrSciCollコレクションにマップします。 おそらく名前をinstitutionCodeToCollection
(TBD)に変更します。タグの値は、パターン{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": [
...
]
}
ネーミングについて
種一致APIは$ type
matchType
を使用し、クラスターはremarks
reasons
を使用します。
実際のデータ
実際のデータで実行する前に、機関コード/ ID colelctionCode / IDの上位500の異なる組み合わせをチェックし、それらのいくつかを手動で評価するだけの価値があるのではないかと思います。 私たちは何かを学ぶかもしれません(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)
それは悪いスタートではありません。 しかし、私は試合の質を評価していません。
_何が一致を構成しますか?_
これが試合の引き金になると思いますか?
- 正確ですか?
- あいまいですが、結果は1つだけです
- 正確な機関ですが、ファジーコレクションは1つだけですか?
これは、1つの一致のみを表示する非冗長バージョンを意味しますよね?
次のようになります。
全体的な試合状況も提供する必要があると思いますか?
_何が一致を構成しますか?_
これが試合の引き金になると思いますか?
- 正確ですか?
- あいまいですが、結果は1つだけです
- 正確な機関ですが、ファジーコレクションは1つだけですか?
これは、1つの一致のみを表示する非冗長バージョンを意味しますよね?
パイプラインでGrSciCollIDをオカレンスに割り当てるために使用することを意味しました。 このサービスには決定とすべてのロジックが含まれていると想像していました。 他のルックアップサービスではどのように機能しますか?
先日、一致したすべてのIDをオカレンスインデックスに追加することを検討したとおっしゃいました。
私は2つの可能なバージョンがあると思います:
私はバージョン2の方が好きです。1つの信頼できる一致がある場合にのみ、GrSciCollIDをオカレンスに追加します。 一致する候補の配列ではありません。 さらに一致が必要な場合は、パブリッシャーに対応して、GrSciCollまたはオカレンスのいずれかに適切な識別子を追加します。 または、場合に応じてデータセットにマシンタグを追加します。
すべての候補者にインデックスを付けることが有用である場合、それについて別のフィールドを検討できますか?
サービスがフラグを返す必要があります。 ファジーコレクションコードの一致。 コレクションコードが一致しません。 種の一致サービスに似ています。
私はこれらの旗について考えることができます:
AMBIGUOUS_INSTITUTION
:複数の機関が見つかり、関係を断ち切ることができませんでしたAMBIGUOUS_COLLECTION
:上記と同じですが、コレクション用ですFUZZY_INSTITUTION_MATCH
:1つの機関が一致しましたがあいまいです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
:提供されたIDが一致しませんでしたNO_INSTITUTION_ID_MATCH
:上記と同じINSTITUTION_COLLECTION_MISMATCH
:見つかったコレクションは一致した機関に属していません編集: INSTITUTION_NAME_USED
のものは削除して、これらの場合にFUZZY_INSTITUTION_MATCH
を使用することができます。 出版社にとって何がもっと役立つかわかりません
私はそれが好きです-多くの出版社がそれらの旗を高く評価し、それに基づいて行動しているというのが私の印象です。 これにより、データを変更してマッチングを改善するための洞察が得られます。
これで、サービスは次のような応答を返します。
{
"institutionMatch": {
...
},
"collectionMatch": {
...
},
alternativeMatches {
institutionMatches: []
collectionMatches: []
}
}
代替一致は、 verbose
パラメーターがtrueに設定されている場合にのみ表示されます。 あいまい一致は、パフォーマンス上の理由から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
フィールドから推測できます。 パイプラインのこのフィールドから問題を設定できます。
1000を超えるレコードに存在するこれらのフィールドのPRODの組み合わせのデータから抽出しました。
v_institutionid
v_institutioncode
v_ownerinstitutioncode
v_collectioncode
v_collectionid
datasetkey
さらに、データセットの発行組織から国を取得しました。
次に、それらをUATのルックアップサービスに渡しました。 結果はこのスプレッドシートにあります
最も参考になるコメント
少し前に持っていたcsv抽出に基づいて一致させようとしました。
csvは個別の
institutionId, institutionCode, datasetKey, publisherKey
であり、それぞれに発生回数があります。2500回以上発生するものをすべて取得し、それらをサービスと照合しようとしました。
それは悪いスタートではありません。 しかし、私は試合の質を評価していません。