MedEureka 医疗领域用于多粒度、多数据类型基于文本嵌入检索的测试数据集

最近在研究医疗领域的基于文本嵌入的信息检索,需要一个比较全面的评测数据集,因此找到了《MedEureka: A Medical Domain Benchmark for Multi-Granularity and Multi-Data-Type Embedding-Based Retrieval》一文,发表于NAACL 2025,NAACL是CCF的B类会议,算是不错的会议了,文章质量相信不差。但是在复现学习的时候却发现以下问题,分享出来供高手指点。

1、git上的代码和数据研究

根据摘要,文章的代码和数据在https://github.com/JOHNNY-fans/MedEureka

下载下来后,总共发现4个文件夹:code、dataset、eval和figure。

1.1dataset文件夹

我对数据最感兴趣,因此研究dataset文件夹。

发现这个文件夹下之后一个Linux下的脚本文件download_medeureka.sh,文件中只有一行内容

huggingface-cli download --repo-type dataset --resume-download Johnnyfans/medeureka_sup_train --local-dir Johnnyfans/medeureka_sup_train

这行命令的功能是从huggingface上下载数据集 Johnnyfans/medeureka_sup_train,然后保持到本地文件夹Johnnyfans/medeureka_sup_train中。我在huggingface的镜像站点(https://hf-mirror.com)上找到了这个数据集,地址为https://hf-mirror.com/datasets/Johnnyfans/medeureka_sup_train

这里面只有一个大小为228M的train-00000-of-00001.parquet文件。

利用以下代码对数据集进行了解析并保持在了MySQL数据库中。

复制代码
import pyarrow.parquet as pq
import pandas as pd
# 打开Parquet文件
parquet_file = pq.ParquetFile('train-00000-of-00001.parquet')
# 读取数据并转换为pandas DataFrame
data = parquet_file.read().to_pandas()
print(type(data))
# 显示前几行数据
print(data.head())
print(data.iloc[0])
print(len(data))

发现是一个有209164行的数据,表头分别为query、pos 和neg。

query最大长度2170,pos最大长度为114580,neg的最大长度为114580,为表。

到此,我就不知道这个数据集是用来干嘛的了。

1.2code文件夹

code文件夹下有2个子文件夹,分别是Eureka_SBERT和Eureka_SimCSE。

Eureka_SBERT文件夹下的run_sbert.sh脚本主要是调用train.py来训练模型。

传递的数据集路径是/Eureka/eureka_sup_dataset,跟datase中设定的Johnnyfans/medeureka_sup_train路径并不一样。目前,我也没搞清楚训练数据集是从哪里获取的。

没有训练数据集,code文件夹下的训练代码是跑不起来的。

Eureka_SimCSE文件夹下的情况类似,就不赘述。

1.3eval文件夹

毫无疑问,这个文件夹就是在执行评估的了。

里面有usage.py(通过usage.ipynb转换得到)和Toolkit.py

第33行代码是加载数据集

eureka_unsup = load_from_disk('./dataset/eureka_unsup_dataset')

同样,也没有找到。

现在看来,是作者没有在git上完整上传所需的数据。

相关推荐
2401_841495642 天前
【自然语言处理】语义基石:WordNet与知网赋能自然语言处理的深层逻辑与实践路径
人工智能·自然语言处理·机器翻译·信息检索·情感分析·知识问答·词义消歧
在未来等你5 个月前
RAG实战指南 Day 28:RAG系统缓存与性能优化
性能优化·信息检索·缓存策略·llm应用·rag系统
CodeShare5 个月前
RATE:基于LLM的检索增强生成技术提取管道
人工智能·信息检索·大型语言模型
致Great1 年前
5个开源RAG框架对比
人工智能·自然语言处理·大模型·信息检索·rag
致Great1 年前
【GoMate框架案例】讯飞大模型RAG智能问答挑战赛top10 Baseline
人工智能·搜索引擎·自然语言处理·大模型·信息检索·rag
deephub1 年前
RAG系统的7个检索指标:信息检索任务准确性评估指南
人工智能·机器学习·大语言模型·信息检索·rag
cooldream20092 年前
深度学习引领信息检索革新:从传统方法到神经网络信息检索的探索
人工智能·深度学习·神经网络·自然语言处理·信息检索
NLP工程化2 年前
BM25(Best Matching 25)算法基本思想
python·信息检索·bm25
啦啦右一2 年前
信息检索与数据挖掘|(四)索引构建
数据挖掘·信息检索·索引构建