返回列表

8th place solution

666. Make Data Count - Finding Data References | make-data-count-finding-data-references

开始: 2025-06-11 结束: 2025-09-09 文献与知识发现 数据算法赛
第 8 名解决方案

第 8 名解决方案

作者: zhang2dog (EXPERT)
发布时间: 2025-09-10
竞赛排名: 第 8 名

简要总结

DOI 识别

  • 步骤 1. 使用正则表达式 r'10\s*\.\s*\d{4,9}\s*/\s*\S+' 从文本中提取候选 DOI。
  • 步骤 2. 使用数据语料库过滤 DOI。
  • 步骤 3. 基于论文摘要、数据部分、DOI 上下文,使用微调后的 Qwen2.5-32b-instruct 模型分类 DOI 类型。(微调后 LB 分数提升)

登录号 (Accession IDs)

  • 步骤 1. 使用正则表达式从文本中提取候选登录号。
  • 步骤 2. 使用 Europe PMC 数据集过滤登录号。
  • 步骤 3. 基于登录号上下文、登录号表格信息(标题、脚注、表头、登录号前后 3 行)、论文摘要、数据部分,使用 Qwen2.5-32b-instruct 模型分类登录号类型。(提示工程优化后 LB 分数提升)

登录号正则表达式:

REGEX_ACC_IDS = (
        r"\b(?:"
        r"E-[A-Z][A-Z][A-Z][A-Z]-[0-9]+|"  #arrayexpress 数据库
        r"(?:BIOMD|MODEL)\d{10}|BMID\d{12}|"  #biomodels 数据库
        r"SAM[NED][A-Z]?[0-9]+|"  #biosample 数据库
        r"(?:[0-9][a-zA-Z0-9]{4}[0-9]{2})|(?:[1-4]\.[0-9]+\.[0-9]+\.[0-9]+)|" #cath 数据库
        r"CVCL_[a-zA-Z0-9]{4}|"  #Cellosaurus 数据库
        r"CHEMBL\d+|"  #chembl 数据库
        r"CPX-[0-9]+|"  #complexportal 数据库
        r"SRS\d{6}|"  #metagenomics 数据库
        r"EMPIAR-\d{5}|" #empiar 数据库
        r"[eE][nN][sS][a-zA-Z]*[gGptPT]\d{11}|" #ensembl 数据库
        # r"HGNC:[0-9]+|" #hgnc 数据库
        r"(?:HPA|hpa|CAB|cab)\d{6}|"  # HPA 数据库
        r"[iI][pP][rR]\d{6}|" #interpro 数据库
        r"PF(AM)?\d{5}|"  #pfam 数据库
        r"(R)?PXD\d{6}|"   #pride, pxd 数据库
        r"([a-nr-zA-NR-Z][0-9][a-zA-Z][a-zA-Z0-9][a-zA-Z0-9][0-9]|[opqOPQ][0-9][a-zA-Z0-9]{3}[0-9])([-][0-9]+)?|"
        r"UPI[A-F0-9]{10}|" #uniprot 数据库
        r"(AC|AP|NC|NG|NM|NP|NR|NT|NW|NZ|XM|XP|XR|YP|ZP|NS)_([A-Z]{4})*\d{6}(\d{3})?([.][0-9]+)?|" #refseq 数据库
        r"[rs]s[0-9][0-9]?[0-9]?[0-9]?[0-9]?[0-9]?[0-9]?[0-9]?[0-9]?|" #refsnp 数据库
        r"PRJ[DEN][A-Z][0-9]+|" #bioproject 数据库
        r"G(PL|SM|SE|DS)[0-9][0-9]+|"  #geo 数据库
        r"EPI\d{5}[0-9]+|EPI\d{6}-[0-9]+|EPI_ISL_\d{5}[0-9]+|" #GISAID 数据库
        r"[0-9][a-zA-Z0-9]{3}|"  #pdb 数据库
        r"phs\d{6}(?:\.v\d{1,2}\.p\d{1,2})?|" #dbgap 数据库
        # r"ORPHA:[0-9]+|ORPHA [0-9]+|"#orphadata 数据库
        # r"[0-9][0-9][0-9][0-9]\-[0-9][0-9][0-9][0-9][0-9][0-9]\-[0-9][0-9]|"#eudract 数据库
        # r"NCT[0-0][0-9][0-9][0-9][0-9][0-9][0-9][0-9]|"#nct 数据库
        # r"TF[0-9][0-9][0-9][0-9][0-9][0-9]|"#treefam 数据库
        # r"[0-9][0-9][0-9][0-9][0-9][0-9]|"#omim 数据库
        # r"HPSI[0-9][0-9][0-9][0-9](i|pf)\-[a-z]+_[0-9]+|"#hipsci 数据库
        # r"[A-Z][A-Z]+i[0-9][0-9][0-9]\-[A-Z]|"#ebisc 数据库
        # r"URS[0-9A-Z]+_[0-9]+|" #rnacentral 数据库
        # r"[Rr][Hh][Ee][Aa]\:[1-9][0-9][0-9][0-9][0-9]|[Rr][Hh][Ee][Aa]\:[1-9][0-9]+|[Rr][Hh][Ee][Aa]\:[1-9][0-9]+|"#rhea 数据库
        # r"MTBLS[0-9]+|"#metabolights 数据库
        # r"MINT\-[0-9]+|IM\-[0-9]+|"#mint 数据库
        # r"EBI\-[0-9]+|"#intact 数据库
        # r"EGAD[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]|"#ega 数据库
        # r"EFO_[0-9]+|EFO:[0-9]+|"#efomapping_dict 数据库
        # r"CHEBI:[0-9]+|"#chebi 数据库
        # r"S\-BIAD[0-9]+|"#bia 数据库
        # r"AF\-[OPQ][0-9][A-Z0-9][A-Z0-9][A-Z0-9][0-9]+\-F[0-9]|AF\-[A-NR-Z][0-9]([A-Z][A-Z0-9][A-Z0-9][0-9])+\-F[0-9]|"#alphafold 数据库
        r"R\-HSA\-[0-9]+|"#reactome 数据库
        r"RF[0-9][0-9][0-9][0-9][0-9]|" #rfam 数据库
        r"([0-9]+\.\-\.\-\.\-|[0-9]+\.[0-9]+\.\-\.\-|[0-9]+\.[0-9]+\.[0-9]+\.\-|[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)|BTO: ?([0-9][0-9][0-9][0-9][0-9][0-9][0-9])|"#brenda 数据库
        r"HG0[0-4][0-9][0-9][0-9]|(NA|GM)[0-2][0-9][0-9][0-9][0-9]|"#1000genomes 数据库
        r"TI[0-9]+|(?:(E|D|S)RA|(E|D|S)RZ|(E|D|S)RR|(E|D|S)RX|ERS|(E|D|S)RP)\d{5}(\d+)?|[A-Z]\d{5}|[A-Z]{2}\d{6}|[A-RT-Z][A-Z]{3}[S]?\d{8}([0-9])?|[A-Z]{3}\d{5}" #gen 数据库
        r")"     
    )  
同比赛其他方案