当前位置: 首页 > news >正文

kdd比赛方案

解决方案概述

采用两阶段的方法来解决比赛任务。在第一阶段,采用与 SciBERT 集成的跨编码器模型来确定源论文是否是最重要的参考文献之一。在第二阶段,利用了从目标和源论文中得出的特征,以及第一阶段的输出,输入到几个二进制分类器中进行预测。最后,我们使用集成方法聚合了这些分类器的结果,以提高我们解决方案的整体准确性和稳健性。

数据内容结构

  • 训练集与验证集都包含若干篇论文的信息,每篇论文以字典形式存储。具体字段包括:
    • _id: 论文的唯一标识符。
    • title: 论文题目。
    • refs_trace: 重要参考文献列表(每个参考文献为一个字典,包含作者、组织、期刊/会议、年份及序号等详细信息)。
    • references: 参考文献列表。
    • authors: 作者信息。
    • venue: 发表地点(期刊或会议)。
    • year: 发表年份。

验证集和测试集都提供了提交样例文件(如 submission_example_valid.json),便于参赛者理解提交格式要求。 

比赛还提供了额外的训练数据 (paper_source_gen_by_rule.json),通过关键词如“motivated by”或“inspired by”从上下文中自动提取出参考文献标题。这部分数据并未人工标注,存在一定的错误可能性。

论文原文使用TEI格式标注,

额外数据:

本次比赛为参赛者提供了额外的训练数据,文件为paper_source_gen_by_rule.json,该文件包含4854条数据,其内容为一个字典,键是论文的_id,值为其重要参考文献的字典,该字典键为该参考文献在论文参考文献列表中的序号,值为对应的重要参考文献论文题目。例:

  1. "564b35960cf25e4e03c8752d": {
  2. "15": "Co-saliency detection based on hierarchical segmentation",
  3. "20": "Transfer learning by ranking for weakly supervised object annotation",
  4. ......
  5. "25": "Deep learners benefit more from out-of-distribution examples"
  6. }

注意!额外数据为使用规则的方法从论文数据集中收集。具体地,通过”motivated by”, “inspired by”等关键词抽取出现在相应关键词上下文的参考文献。该数据非标注数据,无法保证其正确性。 

测试集公开数据

paper_source_trace_test_wo_ans.json

测试集数据,该文件格式与paper_source_trace_valid_wo_ans.json相同。

submission_example_test.json

测试集提交样例。

这次使用了允许用于本次比赛的纸质属性数据集

  • DBLP 数据集

    • DBLP-Citation-network V15

DBLP 数据集:

6,404,473 篇论文和 62,492,559 条引文关系 (2024-02-05) 概述

该数据集仅用于研究目的。引文数据从 DBLP、ACM、MAG (Microsoft Academic Graph) 和其他来源提取。第一版包含 629,814 篇论文和 632,752 次引用。每篇论文都与摘要、作者、年份、地点和标题相关联。

该数据集可用于与网络和侧面信息进行聚类、研究引文网络中的影响力、查找最具影响力的论文、主题建模分析等。

DBLP-Citation-network V15: 6,275,271 篇论文和 42,104,228 个引文关系 (2023-11-22)

  • OAG 数据集

    • OAG V3.1 数据集
      • publication_1.zip ~ publication_14.zip

OAG 是通过链接两个大型学术图形生成的:Microsoft Academic Graph (MAG) 和 AMiner。

OAG 在 ODC-BY 许可下发布。2017 年年中,我们发布了 OAG v1,其中包含来自 MAG 的 166,192,182 篇论文和来自 AMiner 的 154,771,162 篇论文(见下文),并在两个图之间生成了 64,639,608 个链接(匹配)关系。它可以用作研究引文网络、论文内容等的统一大型学术图谱,也可以用于研究多个学术图谱的整合。

Open Academic Graph 3.1

概述

Open Academic Graph (OAG) 由 AMiner 生成。版本 3.0 数据集于 2023 年首次发布。基于 3.0 版本的数据集,我们通过合并重复论文并更新论文与研究人员、论文与机构、论文与期刊之间关系的匹配算法,大大提高了关系的准确性。现在我们发布 3.1 版数据集,如下所示。

目录中的文件如下所示。dataset

<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>.
├── DBLP-Citation-network-V15.json
├── OAG
│   ├── v3.1_oag_publication_1_00.gz
│   ├── v3.1_oag_publication_1_00.json
│   ├──  .......
│   └── v3.1_oag_publication_14.json
└── PST├── paper-xml│   ├── 53e99792b7602d9701f57e77.xml│   ├── 53e99796b7602d9701f5d380.xml│   ├── 6584f922939a5f408236fc36.xml│   ├──  ........│   └── 65922fe2939a5f40826ca612.xml├── paper_source_gen_by_rule.json├── paper_source_trace_test_wo_ans.json├── paper_source_trace_train_ans.json├── paper_source_trace_valid_wo_ans.json├── submission_example_test.json└── submission_example_valid.json </code></span></span></span></span>
  • 原始的 OAG 数据集被划分为小规模数据集,因为我们在实现中使用以下命令在有限的内存上执行代码。
$ split -l 1000000 -d --additional-suffix=.json v3.1_oag_publication_X.json v3.1_oag_publication_X_ 
  • “context_feature” 表示 train_context.csv 和 test_pub_context.csv

前处理

$ <Inside container /works>
$ cd preprocess

从 DBLP 数据集中提取数据。

$ poetry run python process_kddcup_data.py

从提供的训练、验证和测试数据集以及 DBLP 数据集中解析 XML 文件,以提取标题、摘要、关键字、组织、地点、上下文等。

$ poetry run pytohn xml_parser.py

为最终提交的测试数据集中的缺失值生成论文标题。

$ poetry run python oagbert_title_gen.py
特征生成(填充上下文功能)

使用 Open Academic Graph 填写论文信息。在执行以下笔记本之前,请从 Open Academic Graph 下载 OAG 数据集。

Fill_paper_info_by_OAG.ipynb

第一阶段(训练和测试预测)

使用 sentence-transformers 库执行跨编码器模型。我们使用 SciBERT 模型,并使用 GroupKFold 进行 5 倍交叉验证。

$ <Inside container /works>
$ cd first_stage
$ poetry run python cross_encoder.py --ubm --output_dir ../ce/default --train --prediction

第二阶段

$ <Inside container /works>
$ cd second_stage

基于 DBLP 的功能

使用 DBLP 数据集和 XML 文件创建纸张元数据要素。此脚本基于 paper-source-trace/rf/process_data.py at main · THUDM/paper-source-trace · GitHub 上提供的公共基线代码

$ poetry run python dblp_feature.py

和修改版的 dblp_feature.py

$ poetry run python dblp_feature2.py

基于 OAGBERT 的功能

使用以下笔记本填写上下文特征 b 后计算基于 OAG-BERT 的余弦相似度特征。

OAGBERT_embedding_cossim.ipynb

使用 OAGBERT 模型对论文进行编码,并计算目标论文和源论文之间的余弦相似度。此脚本创建 OAGBERT 功能的另一个版本。

$ poetry run python oagbert.py 

生成特征

运行以下笔记本以设置特征的格式。

feature_generate4.ipynb
feature_generate5_feature_without_emb.ipynb
feature_generate6_with_oag.ipynb
feature_post_process.ipynb

运行分类器(训练和测试预测)

执行二元分类模型。CatBoost、LightGBM、RandomForest 和 SVM。使用 GroupKFold 实现 5 倍交叉验证。 在这里,我们训练了 6 个模型。2 个 CatBoost、2 个 LightGBM、1 个 RandomForest 和 1 个 SVM。

<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>$ poetry run python classifier.py --model_name catboost_0 --input_dir ../output/0601/ --trial_name catboost_0
$ poetry run python classifier.py --model_name lightgbm_binary --input_dir ../output/0601/ --trial_name lgbm_binary
$ poetry run python classifier.py --model_name random_forest --input_dir ../output/0601/ --trial_name rf
$ poetry run python classifier.py --model_name svm --input_dir ../output/feat_without_emb --trial_name svm_feat_without_emb --fill
$ poetry run python classifier_weight.py --model_name catboost_0 --input_dir ../output/dblp_title_2_oag_clean/ --trial_name catboost_0_dblp_2_clean
$ poetry run python classifier_weight.py --model_name lightgbm_binary --input_dir ../output/dblp_title_2_oag_clean/ --trial_name lgbm_dblp_2_clean
</code></span></span></span></span>

整体

运行以下笔记本以集成分类器的结果。

<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>ensemble_oag_clean.ipynb
</code></span></span></span></span>

现在目录中有最终的提交文件。submit

 


http://www.mrgr.cn/news/62593.html

相关文章:

  • TensorRT端测模型TensorFormat输入输出格式详解
  • XSS(Cross - Site Scripting,跨站脚本攻击)是一种常见的网络安全漏洞
  • 鸿蒙生态崛起:开发者机遇与挑战并存
  • SpringBoot 集成 Mybatis-Plus,LambdaQueryWrapper 使用方法
  • 偷懒总结篇|贪心算法|动态规划|单调栈|图论
  • 红帽认证系列之一:红帽认证工程师(RHCE)详解
  • 基于Python的PostgreSQL数据库操作示例(三)
  • 笔记本双系统win10+Ubuntu 20.04 无法调节亮度亲测解决
  • Istio_04_Istio可观测性
  • 一:Linux学习笔记(第一阶段)-- 安装软件 vmware workstation 虚拟机软件 centos系统
  • vue3使用vite设置 @ 路径别名指向src 目录
  • mac-ubuntu虚拟机(扩容-共享-vmtools)
  • 如何预防Kubernetes安全漏洞
  • 如何创建一个网站?
  • 【hacker送书第14期】AI训练师算法与模型训练从入门到精通
  • 9、node.js和Lowdb
  • 知网中的复合影响因子和综合影响因子解析
  • 鸿蒙-三分栏中控制二栏和三栏展示
  • leaflet矢量瓦片vetorgrid显示聚合和图标裁剪显示不全的问题
  • 论文中涉及的数学定义
  • 新闻列表以及详情页面梳理
  • Java基础面试题--
  • 特征提取:AI 挖掘数据关键信息的技巧
  • 分类算法——XGBoost 详解
  • JAVA开源项目 学生宿舍管理系统 计算机毕业设计
  • AFSim 基础总结一 代码总结(1)