Kaomojis 方法论 — 收集、分类与质量控制
本页以工程术语说明 Kaomojis 如何为61,000+条颜文字进行收集、分类和质量管理。我们并非简单的复制粘贴站点,而是以集成流水线运行数据设计、去重、多语言标注、排名和翻译 QA。
1. 收集
主要来源是日本 BBS 和社交媒体上流通多年的公共颜文字。我们还通过编辑原创和 /request 用户提交(经过审核)进行补充。
摄取时自动筛查拒绝基于角色、商标或其他版权内容。
所有字符串经 Unicode NFC 归一化处理,统一半角/全角和组合形式变体。
2. 去重
每个颜文字文本使用 SHA-256 哈希并在数据库层通过 UNIQUE 约束强制执行。
近似重复(Levenshtein 距离、部分匹配)标记为人工审核。
实际运营中,约 8% 的候选添加被自动拒绝为重复。
3. 分类算法
分类采用三层结构:类别(情感)、活动、场景。一个颜文字可以属于多个标签。
候选标签由 AI 草稿 → 编辑审核的流水线生成,作为 JSON 列存储在 SQLite 中。
Phase 122(细粒度情感分类)以来,我们将情感从 7 种扩展到 48 种。
4. 排名算法
每个颜文字都有动态分数:score = α × 复制数 + β × 收藏数 + γ × 停留秒数 − δ × 自上次复制的天数。
α/β/γ/δ 为可调超参数,目前复制数权重最高。
分数每 15 分钟重新计算,驱动排名页面、热门栏目和相关推荐。
5. 多语言元数据流水线
每个颜文字都附带 12 种语言的使用示例、关键词和文化注释。
草稿来自 AI 翻译;主要语言(日语、英语、中文、韩语、西班牙语、葡萄牙语)经过人工审核。
关键词不是直译,而是按语言的自然搜索表达。
6. 翻译质量审核
scripts/audit-translations.mjs --strict 每周运行,按语言测量未翻译率。目标 < 5%。
添加新语言遵循 `.claude/skills/adding-language` 清单,覆盖 16 个文件。
翻译反馈欢迎发送至 [email protected]。
7. 基础设施
技术栈:Astro 6 SSR + React 19 Islands + SQLite + PM2 集群 + Cloudflare CDN。
TTFB:约 25ms(暖态)。
站点地图:415,000+ URL,分片以保持在 Google 50MB 限制内。
8. 持续改进
自成立以来的每次变更以 "Phase" 记录 — 截至 2026-04 已达 Phase 554。
GA4 + GSC 分析每日通过 `/analytics-review` cron 运行 5 次。
A/B 测试由 `/ab-test` 技能自动评估并宣布胜者。
最后更新: 2026-04-15 (Phase 554)