如何用PubMed基准数据集正确评估医疗句嵌入模型性能?
医疗嵌入模型PubMed基准数据集评估正确方法
一、PubMed QA Subset(pqa_labeled)评估错误修正
你当前的核心问题是输入构造错误以及对数据集用途的误解:
- 输入拼接错误:PubMed QA的long_answer是基于context生成的,单独用question和long_answer计算相似度没有语义关联意义。正确的输入应该是将
question和context拼接(使用模型默认的分隔符,如[SEP])作为查询文本,再和long_answer计算嵌入相似度。 - 真值映射与指标理解:原报告的93.27是百分比形式的皮尔逊相关系数(对应数值0.9327),你得到的-0.01完全是因为输入缺失context导致语义关联逻辑错误。正确流程:
- 将
final_decision映射为:Yes=1,No=0,Maybe=0.5 - 计算「question+context的嵌入」与「long_answer的嵌入」的余弦相似度
- 计算该相似度序列与映射后的数值序列的皮尔逊相关系数
- 将
二、PubMed Summary Subset(pubmed validation)评估方法
这个数据集的核心是原文与摘要的语义匹配度评估,具体步骤:
- 确定真值逻辑:每个样本的
article(全文)和abstract(摘要)是天然的高度语义相关对。如果数据集未附带人工标注的相似度得分(1-5分),可以构造正负样本对:- 正样本:每个样本的(article, abstract)对,标记为1
- 负样本:将当前样本的abstract与其他样本的article配对,标记为0
- 计算皮尔逊相关系数:
- 对所有正/负样本对,分别计算article嵌入与abstract嵌入的余弦相似度
- 将相似度序列与标记的真值序列(1/0)计算皮尔逊相关系数;如果有人工打分,则直接用打分作为真值计算相关系数
通用评估注意事项
- 统一嵌入计算方式:所有模型使用相同的文本预处理规则(如分词方式、最大截断长度),确保对比公平性
- 指标标准化:皮尔逊相关系数范围是[-1,1],报告时可乘以100转换为百分比形式,和原研究结果对齐
- 负样本合理性:如果数据集只有正样本,需构造符合医疗领域逻辑的负样本(如不同主题的article与abstract配对),避免随机配对导致的评估偏差
内容的提问来源于stack exchange,提问作者Muhammad Daniyal
相关产品推荐
相关产品推荐

