【RAG数据集】中文信息检索数据集整合

Multi-CPR: 大规模段落检索多领域中文数据集

  • 链接:

https://tianchi.aliyun.com/dataset/132745

  • 描述

Multi-CPR 是用于段落检索的多领域中文数据集。 该数据集是从三个不同的领域收集的,包括电商、娱乐视频和医疗。 每个数据集包含数百万个段落和一定数量的人工标注查询-段落相关对。

  • Baseline实验

WebCPM:清华发布中文LFQA 数据集,探索搜索引擎和PLM大模型结合新范式

  • 论文地址:

https://arxiv.org/abs/2305.06849

  • 代码:

https://github.com/thunlp/WebCPM

  • 描述

开发一个类似于WebGPT一样的中文版本的数据集,用于检索相关事实,并基于这些事实生成最终回答,并发布一个baseline模型。
LFQA:旨在回答复杂的、开放式的问题,并带有详细的、段落长度的回答,一般有两个步骤,information retrieval:信息检索,检索出相关信息。information synthesis:信息合成,集成信息合成最终的答案。

  • 数据样例

千言数据集:段落检索评测

  • 数据集地址:

https://github.com/baidu/DuReader

  • 数据集描述

DuReader_retrieval1数据集包含训练集、开发集、测试集和段落语料库:训练集: 训练集以大规模中文阅读理解数据集DuReader 2.0为基础构建而成,共提供了约8.6W个 <q,Pq> 样本用于模型的训练;数据集中的问题均为百度搜索中的真实用户问题,数据集中的篇章均来自百度搜索结果。开发集: 数据构造方法和分布与训练集完全相同,共包含2K个样本,用于模型整体性能调试。测试集: 数据构造方法和分布与训练集完全相同,共包含4K样本,用于模型的最终评测。段落语料库: 从真实网页文档中抽取并清理得到,共包含809万段落数据。作为检索的候选来源,包括了训练集、开发集和测试集中的所有段落。

cMedQA中文医疗社区问答数据集

  • 数据集链接:

https://www.luge.ai/#/luge/dataDetail?id=70

  • 数据集介绍

本数据集是目前为止最大规模的公开中文医疗社区问答数据集。数据来源为寻医问药网。 其中,cMedQA v1.0数据集有超过5万个医疗问题和超过10万个专业医生回答的答案构成[1],cMedQA v2.0数据集有近11万个医疗问题和近23万个专业医生回答的答案构成[2]。研究者需要通过训练集训练医疗自动问答模型,在验证和测试集上,针对每一个问题在给定的100个候选答案池中找出最佳的答案(该答案为真实医生所回答的答案)。数据集适合于训练中文医疗问答系统,减轻在线系统中医生的工作量,提高医疗社区系统服务用户的效率。

### 基于RAG的推荐系统实现 #### RAG简介 检索增强生成模型(Retrieval-Augmented Generation, RAG)是一种结合了检索和生成技术的方法,旨在通过从外部知识库中检索相关信息来提升自然语言生成的质量[^1]。这种方法特别适用于需要大量背景知识的任务,比如问答系统、对话系统以及推荐系统。 在推荐系统的背景下,RAG可以被用来改进传统的基于协同过滤或者矩阵分解的技术。它不仅依赖用户的历史行为数据来进行预测,还能够动态地从大规模的知识图谱或其他结构化数据库中提取上下文信息,从而提供更加个性化和精准的推荐服务[^2]。 #### 实现步骤概述 以下是构建一个基本版RAG驱动型推荐系统的几个核心组件和技术要点: 1. **文档索引与存储** 构建并维护一个高效的文档搜索引擎作为外部记忆模块是非常重要的一步。Elasticsearch 或者 FAISS 是两个常用的开源工具选项,它们支持快速相似度查询操作,在处理高维向量空间上的表现尤为突出[^3]。 2. **编码器设计** 使用预训练的语言表示模型(如BERT、RoBERTa等),分别对输入查询query 和候选文章passage 进行特征抽取得到对应的dense embeddings 。这些embedding 将用于后续计算两者之间的匹配程度得分[^4]。 3. **融合机制开发** 设计一种有效的策略将来自不同源的信息结合起来形成最终输出序列的概率分布估计值p(y|x)=∑_k p(k|q)p(y|c_k,q),其中 k 表示可能的相关片段集合 C={c₁,...ck} 中的一个成员;而 q 则代表当前用户的请求描述字符串形式表达 y* = argmax_y log(p(y|x)) 可视为目标优化函数之一[^5]。 4. **端到端微调过程** 对整个框架执行联合监督学习调整参数权重直至收敛为止。具体来说就是利用标注好的样本集{(qi , ai)} 来最小化负似然损失L=-ΣlogP(ai | qi ) ,这里ai指的是针对特定问题提出的正确答案文本串[^6]。 ```python from transformers import RagTokenizer, RagTokenForGeneration tokenizer = RagTokenizer.from_pretrained("facebook/rag-token-nq") model = RagTokenForGeneration.from_pretrained("facebook/rag-token-nq") input_text = "What is the capital of France?" inputs = tokenizer(input_text, return_tensors="pt") outputs = model.generate(inputs["input_ids"]) print(tokenizer.decode(outputs[0], skip_special_tokens=True)) ``` 上述代码展示了如何加载Facebook官方发布的RAG-Token-NQ版本,并完成简单的提问回答任务演示[^7]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值