← 回成果库

诗歌地球 v2 · 加「🌍 本国诗人」档 —— 给一座城,就给它所属国家的诗人和诗


一、主席点到的问题是真的

v1 有两档:中文诗词(9378 首)、English Poetry(1696 首)。

English Poetry 这一档全部来自 PoetryDB,而 PoetryDB 收的是英语世界的诗人——莎士比亚、惠特曼、狄金森、弥尔顿。

所以给巴黎配的是英国诗,给莫斯科配的还是英国诗。这等于没解决「本国诗歌」。

v2 加的第三档换了一条完全不同的路:

逻辑给什么
🀄 中文诗词算法匹配:城市意象向量 × 诗歌意象向量敦煌 → 边塞诗
🌍 本国诗人(新)纯查表:城市 → 所属国家 → 该国诗人名单莫斯科 → 普希金、莱蒙托夫、马雅可夫斯基
🔤 English Poetry算法匹配(英文意象词)英美经典诗

新档不做主题匹配,就是把这个国家自己的著名诗人摆出来——这正是主席要的。


二、三段数据,一个校验闸

`

第一段【谁是这个国家的诗人】

中文维基「X国诗人」分类 → 人工策展、天然含历史人物、直接给中文名

⚠️ 分类名不能猜,要【搜分类名字空间】让维基自己告诉你

(普希金不在「俄罗斯诗人」里,他在「俄罗斯帝国诗人」)

第二段【他是谁】

中文维基导言 → 中文简介(主席不必读外文)

Wikidata sitelinks(多少种语言的维基写过他)→ 知名度排序

第三段【他的诗】

en.wikisource 公版英译 → 用 <div class="ws-poem"> 容器精确切出正文

🔴 归属校验闸:每一首诗都必须过 verify_author()

页面头部必须出现该诗人的姓,否则整首丢弃。宁可少收,绝不错挂。

`


三、这一档踩了四个坑,每个都上了闸(过程留痕,别的会话别再踩)

坑 1:用 Wikidata「职业=诗人 且 国籍=某国」取人 —— 错得离谱

坑 2:分类名用「包含」匹配 —— 一路污染

这样「俄罗斯帝国诗人」能进(同一国家的历史政权),「印度尼西亚诗人」进不来。

坑 3 🔴:诗作按搜索结果归属 —— 编造级错误

坑 4:靠"剥掉开头几行"去页眉 —— 把兄弟诗篇的标题当成了诗的第一句

另:Wikimedia 限流触发 http_guard 封端点

http_guard 按 ME-018 设计封了 en.wikisource 端点——它做对了

正确反应是结构性改变而不是加退避硬撞:并发降到 1、请求间隔 0.45 秒、带官方背压参数 maxlag=5、User-Agent 带联系方式(Wikimedia 明文要求)。做完这三条才复位该端点。


四、覆盖分层:诗人名单全都要,诗作只给主要国家

抓诗很贵(每位诗人要向 wikisource 发十几次请求,限速下约 2 分钟/国),拉诗人名单很便宜。

所以分层——这正对应主席说的「有些小城市可能太难了,但把那些国家有关的诗放进来也完全可以」


五、诚实边界(这一档最该说清楚的部分)

1. 只有公有领域的东西能拿——作者与译者都要逝世 70 年以上。

当代诗人(北岛、辛波斯卡、聂鲁达的多数译本)没有合法免费源,页面上会明说"他的诗或译本还在版权期内,绝不抓盗版凑数",只给简介和维基入口。

2. 诗作是英译不是中译。公版中译几乎不存在(译者版权期未过),所以正文是英文,配中文诗人简介。

3. 日本是个明显缺口:中文维基「日本詩人」分类里多是近现代诗人,而他们的作品在 en.wikisource 上几乎没有公版英译,所以日本目前是"有诗人卡片、没有诗"。松尾芭蕉这类古典俳人不在这个分类里(他属"俳人"类),后续要单独接。

4. 小语种国家在中文维基本来就收录稀薄,没有「X国诗人」分类的国家,页面会明说拿不到,不编。


六、验收

build/verify.mjs 新增了本国诗人档的判据(原有 v1 判据全部保留):


七、缺口

1. 诗作只覆盖前 32 个国家;其余国家目前只有诗人名单和简介。

2. 日本、韩国等东亚国家的古典诗人(俳人/歌人/词人)尚未接入。

3. 诗作全是英译,没有中译(版权限制,无解)。

4. 每位诗人最多 3 首,头部诗人也只取前 4 位——是请求预算的取舍,不是能力上限。

5. 没做人工盲评:目前只有机器判据(归属对不对、渲不渲染得出来),没有人评过"这些诗人是不是真的代表这个国家"。