1. 项目背景与核心价值
去年参与某省级图书馆古籍数字化项目时,我们团队遇到个有趣现象:当读者想查找"包含月亮意象的盛唐山水诗"这类复合需求时,传统数据库只能返回零散结果。这促使我尝试用NLP技术解构孟浩然诗作,没想到意外打开了古典文学研究的新维度。
这个项目本质上是在搭建"诗词搜索引擎的神经中枢"——通过语义网络构建、意象关联计算和分布式部署,让计算机真正理解"松月生夜凉,风泉满清听"这样的意境表达。目前已在高校文学课堂、文旅AR导览、智能创作辅助等场景落地,检索准确率较传统关键词搜索提升63%。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术架构设计精要
2.1 数据预处理流水线
处理唐代诗作需要特殊的数据清洗策略。我们构建的预处理流水线包含:
- 异体字映射表:将"峯"映射为"峰"、"逈"转为"迥"等,覆盖《全唐诗》中187个常见异体字
- 格律标注器:基于平水韵开发的特制工具,自动识别五言/七言、平仄、押韵模式
- 意象标注规范:
- 自然意象:月、山、松(需区分"明月"与"月"的语境差异)
- 人文意象:寺、舟、琴(注意"孤舟"与"轻舟"的情感权重差异)
关键技巧:使用正则表达式捕获"X+Y"型意象组合(如"烟+渚"),这类组合在孟浩然诗中占比达41%
2.2 意象知识图谱构建
我们设计的图谱包含三层结构:
| 层级 | 要素 | 示例 | 关联方式 |
|---|---|---|---|
| 表层 | 字面意象 | 月、松 | 共现频率 |
| 中层 | 情感基调 | 孤寂、闲适 | LDA主题分析 |
| 深层 | 文化原型 | 隐逸、禅意 | 专家标注 |
使用Neo4j构建的图谱包含:
- 节点:632个意象单元(含56个复合意象)
- 关系:7类关联(空间共存/情感呼应/季节关联等)
- 特色:支持"意象溯源"查询,如"鹿门月照开烟树"可追溯至《庄子》的"麋鹿见之决骤"
2.3 混合检索模型
传统TF-IDF在诗句检索中效果不佳,我们开发了混合模型:
python复制def hybrid_search(query):
# 意象权重计算
image_score = image_graph.match(query)
