返回资讯

学者消歧算法

发布时间:2024年6月28日

算法介绍

目前主流的学者消歧任务可以分为冷启动同名消歧(From-scratch NameDisambiguation,SND)和实时同名消歧(Real-time Name Disambiguation,RND)。冷启动同名消歧方法需要将大量同名论文进行划分,使得划分后同一组内的论文属于同一个现实作者,不同组的论文属于不同的现实作者,此任务通常处理为聚类问题。实时同名消歧则旨在实时、准确地将具有歧义的作者姓名的新增论文关联到同名候选作者中的正确作者,此任务通常处理为分类或排序问题。论文链接: https://arxiv.org/abs/2302.11848

算法流程图

算法使用说明

将数据处理与加载、生成消歧特征、模型训练与预测以及结果评测这四个基本步骤封装为如下pipeline,用户可以通过指定同名消歧数据集(name)和同名消歧任务(task)来快速开展实验。已为同名消歧数据集WhoIsWho()准备了消歧特征,方便用户快速获取学者消歧结果。用户若需要对个人数据进行同名消歧,只需将数据转换为WhoIsWho的数据格式便能使用本工具包完成全部消歧流程。

下载链接

https://github.com/THUDM/WhoIsWho

调用方式

def pipeline(name: str , task: str ,type_list: list, feature_list: list):
    version = {"name": name, "task": task}
    if task == 'RND':
        # Module-1: Data Loading
        download_data(name,task)
        # Partition the training set into unassigned papers and candidate authors
        processdata_RND(version=version)

        # Modules-2: Feature Creation
        generate_feature(version,
                         type_list = type_list,
                         feature_list = feature_list)

        # Module-3: Model Construction
        trainer = RNDTrainer(version,simplified=False,graph_data=True)
        cell_model_list = trainer.fit()
        trainer.predict(whole_cell_model_list=cell_model_list,datatype='valid')

        # Modules-4: Evaluation
        
    if task == 'SND':
        # Module-1: Data Loading
        download_data(name, task)
        processdata_SND(version=version)

        # Modules-2: Feature Creation & Module-3: Model Construction
        trainer = SNDTrainer(version)
        trainer.fit(datatype='valid')

        # Modules-4: Evaluation