Kaggleコンペ紹介:Make Data Count - Finding Data References
こんにちは、松尾研究所の奥村です。
今回はKaggleで開催された「Make Data Count - Finding Data References」というコンペに参加したので、その内容と上位解法について紹介します。
コンペティション概要
論文からデータ利用に関する引用部分を抽出し、そのデータがPrimary(その論文のために生成)かSecondary(既存データの再利用)かを分類するのが課題でした。
データ引用の言及の仕方は多様で、プログラム的に処理するのが難しいという課題があります。現行のデータ引用システムでは、約86%のデータが引用されていないという調査があります。
高性能なモデルを活用して科学論文のデータ引用を網羅的・高品質に整理することができれば、研究成果のデータでの貢献を適切に評価・可視化することでき、より透明性が高く効率的な科学研究が可能になります。2種類のデータセットの識別子が本コンペティションでは対象となっていました。以下にそれぞれの例を示します。
- DOIs
- Accession IDs
- "GSE12345" (Gene Expression Omnibus dataset)
- “PDB 1Y2T” (Protein Data Bank dataset)
- "E-MEXP-568" (ArrayExpress dataset)
PrimaryとSecondaryについては以下のような例が紹介されています。
- Primary
- Data: https://doi.org/10.5061/dryad.6m3n9
- In-text span: "The data we used in this publication can be accessed from Dryad at doi:10.5061/dryad.6m3n9."
- Secondary
- Data: E-MTAB-10217, PRJE43395
- In-text span: “The datasets presented in this study can be found in online repositories. The names of the repository/repositories and accession number(s) can be found below: https://www.ebi.ac.uk/arrayexpress/, E-MTAB-10217 and https://www.ebi.ac.uk/ena, PRJE43395.”
訓練データでは論文のPDFが524件しか与えられませんでした。また、引用タイプの分布にも偏りがありました。DOIについてはPrimary / Secondaryが半々くらいなのですが、Accession IDはSecondaryがほとんどになっていました。
上位解法概要
データ引用に関する候補を抽出し、その引用部分を分類する2段階のアプローチで構成されていました。
候補抽出
コンペティションのタイトルにあるように、まず論文からデータ引用箇所を探すことが求められるはずなのですが、実態は公開されているデータセットに(論文名, 引用されたデータセット)の組が全て書いてありました。この件についてはコンペティションのホストがディスカッションで言及しています(link)。
DOIはMake Data CountのData Citation Corpus Data Fileから、Accession IDは前述のCorpusとEuropePMCのデータベースから候補が抽出されていました。コンペティションの説明と実態が一致していないこともあり、他の参加者も頭を悩ませていたようです。
I thought a lot about this actually. I tried to rationalize hosts preparation.
Is there like a small % chance that DCC+EUPMC DOI/ACC retrieval was intended and the real task was to label it well? But it doesn't add up with statements from the competition overview…
これらのデータには論文内に登場しないデータ引用も含まれるため、スクリーニングが必要でした。Accession IDのアノテーションパターンは非常に奇妙(理由はわからないが、GCA_やGO:で始まるものがアノテーション対象となっていない)で、LBのprobingや訓練データからアノテーションパターンを正確に把握することが必要でした。
LB probingについて
Kaggleではsubmissionコードを工夫することで、テストデータの特性について調べることが可能です。詳しく知りたい方はこちらを参照
タイプ分類
データが少ないこともあり、安定してモデルを訓練するのが難しかったようです。上位入賞チームは何かしらのモデルの訓練を成功させていました。
- 1位は論文とデータセットのメタデータを用いて、Catboostを訓練していました(1st place solution)
- 3位はEMAやgradient clippingを活用し、Deberta-v3 largeを訓練していました(3rd place solution)
- 4位はEuropePMCで公開されている論文を用いて合成ラベルを生成し、Qwen2.5シリーズの事前学習に活用していました(4th place solution)
まとめ
KaggleのMake Data Count - Finding Data Referencesというコンペについて紹介しました。私のチームはギリギリで金メダルを獲得することができたのですが、タイプ分類モデルの訓練は行っていませんでした。上位入賞チームはモデルの訓練を成功させており、差を感じたコンペでもありました。
データを全件目視で確認したり、メタデータとの照らし合わせから(謎の)アノテーションパターンの把握に四苦八苦していましたが、結果は報われてよかったです。個人的にはGMリーチなので、あと1枚なんとか金メダルを獲得したいと思います。
Discussion