大模型之路7-1:中国人都会喜欢的知识库——中华诗词知识库(同步Github)数据收集
📊中华诗词知识库
Knowledge Base of Chinese Poetry (KBCP)
1. 为什么是一个诗词知识库
最近正在做关于RAG(Retrieval-Augmented Generation,检索增强生成)的技术研究。这个作为一个练习的实例,中国人应该都很喜欢,特别是诗词大会的爱好者。
RAG是一种结合了检索与生成能力的技术框架,它通过从大规模知识库中检索相关信息,来辅助生成模型产生更准确、更丰富、更具上下文相关性的回答或内容。
在自然语言处理领域,RAG技术是一种比较有效的提升模型性能、拓展应用场景的重要手段。
将中国经典的诗词数据整理起来构建这样一个结构化知识库,
一方面能够满足对于传统文化深入探索的需求,
另一方面,相较于其他复杂多变、结构不一的文本类型,诗词相对固定的文本结构使得数据预处理和分析工作更为简便高效,
有助于较快地进入RAG技术研究的核心状态,为后续的实验和模型优化提供坚实的数据基础, 从而推动在该领域取得更有价值的研究成果。
2. 总体目标
本项目旨在构建中华诗词结构化知识库系统。
👉 最终目的,是用高质量诗词数据 + 检索增强生成(RAG),做一个“可引用、可解释”的知识库。
对于诗词研究领域而言,该数据集将为历史、文学、语言学等多学科的研究提供丰富且详实的资料。
示例性的工作流程类似于:
用户问题
↓
数据收集 ─ │ ┌────────────────┐
数据清洗 ─ │─────│ 结构化数据库 │ ← 过滤(朝代/作者/主题)🔵(当前阶段)
数据入库 ─ │ └────────────────┘
↓
┌────────────────┐
│ 关键词检索 │ ← 精确匹配(诗句/标题)
└────────────────┘
↓
┌────────────────┐
│ 向量检索 │ ← 语义相似(主题/风格)
└────────────────┘
↓
┌────────────────┐
│ 重排序(rerank)│
└────────────────┘
↓
LLM
↓
回答
本项目是一个包含中国历代诗词的综合性数据集,涵盖了从先秦到现当代的诗歌作品,当前总计收集了 4,611 位诗人 的 62,450 首诗词。数据集采用结构化存储方式,便于学术研究、文化分析和诗歌爱好者的使用。
本项目是一个包含中国历代诗词的综合性数据集,远景目标是做成规模宏大、内容丰富、知识准确的诗词宝库。
当前整理收集了 4600多位诗人 的 62400多首诗词, 涵盖了从先秦到现当代的诗歌作品。后续会收集开源内容持续增加。
一方面吸收更多的诗词,另一方面增加对诗词的标签和注释解读。
| 朝代 | 诗人数量 | 诗篇数量 |
|---|---|---|
| 先秦 | 4 | 325 |
| 秦 | 0 | 0 |
| 汉 | 19 | 84 |
| 魏晋 | 20 | 128 |
| 南北朝 | 43 | 152 |
| 隋 | 14 | 22 |
| 唐 | 2,475 | 40,373 |
| 五代 | 0 | 0 |
| 宋 | 1,497 | 17,158 |
| 金 | 14 | 225 |
| 辽 | 1 | 10 |
| 元 | 339 | 2,937 |
| 明 | 44 | 90 |
| 清 | 95 | 360 |
| 近代 | 3 | 131 |
| 现当代 | 42 | 452 |
| 不详 | 1 | 3 |
| 总计 | 4,611 | 62,450 |
注:
- 表格仅代表初始统计,实际以数据集中为准。
- 先秦主要是诗经,整理表格时,李煜等归类在唐而没有划分到五代,以至于五代为0。
- 不详是指朝代信息不详的诗词,目前只有3首。
本项目采用JSON格式存储数据,每个JSON文件包含一个诗人的所有诗词,文件名以诗人的名字命名,例如“李白.json”。
每个JSON文件的结构如下:
(1). 诗词.json
全部诗词,结构为朝代、作者、诗词。诗词一般是每一句或每两句为一个最小元素。在Json中是这么存的,在知识库中不知道是否好用。暂时感觉还是可以的。
单个朝代,为全部诗词的一个json子集。
discription字段为诗词的注释解读,目前为空,后续会补充。
{
"唐": {
"杜甫": {
"杜甫-春日忆李白": {
"title": "春日忆李白",
"author": "杜甫",
"author_id": "F0282",
"dynasty": "唐",
"dynasty_id": "F",
"content": [
"白也诗无敌,飘然思不群。",
"清新庾开府,俊逸鲍参军。",
"渭北春天树,江东日暮云。",
"何时一樽酒,重与细论文。"
],
"format": "五言律诗",
"discription": ""
}
}
}
}
(2) 诗人.json
诗人仅汇总了朝代,诗人传记,以及诗人图谱后续也会补充。
{
"1": [
"诗经",
"先秦"
],
"2": [
"荆轲",
"先秦"
],
"3": [
"屈原",
"先秦"
]
}
| 阶段 | 状态 | 描述 |
|---|---|---|
| 1 | 🟢 已完成 | 数据收集:从公开诗集、古籍API等渠道抓取原始诗歌数据。 持续优化中。 |
| 2 | 🔵 进行中 | 数据集整理:清洗重复数据,统一格式,标注诗歌朝代、作者等元信息。 |
| 3 | ⚪ 待开始 | 数据 Schema 设计:定义诗歌数据的结构化字段(如标题、内容、标签)。 |
| 4 | ⚪ 待开始 | 数据加工流程:构建自动化脚本,实现数据清洗、分词、向量化等处理。 |
| 5 | ⚪ 待开始 | 知识增强方案:引入外部知识库(如历史背景、诗人关系)丰富数据。 |
| 6 | ⚪ 待开始 | RAG 功能:基于检索增强生成(RAG)实现诗歌问答、创作等交互功能。 |
- 🟢 已完成(未来更新时使用):该阶段任务已完成。
- 🔵 进行中:当前正在专注开发的阶段。
- ⚪ 待开始:尚未启动的阶段。
项目的Github地址为
https://github.com/liang1057/Knowledge-Base-of-Chinese-Poetry
诗词资源json文件下载链接到资源中了。免积分资源 https://download.csdn.net/download/sdust_dx/92826598
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)