返回项目列表
GuessWord
猜一个词,系统只告诉你它离谜底有多近——六种语言、十二万词的语义距离排名。
语言
6 种
词表规模
约 12.6 万词
词向量
300 维 · int8
排名引擎
服务端 + 浏览器双路
Highlights
项目要点
- 用 ConceptNet Numberbatch 19.08 词向量(int8 量化的 300 维)做余弦相似度排名:猜词不靠字面匹配,靠语义距离。
- 六种语言:英语(牛津 CEFR A1–C2,21,376 词)、日语(JLPT N5–N1,21,867 词)、韩语 6,411 词,法语 / 德语 / 西班牙语各约 3.9 万词。
- 线上版把排名与词表放在 Cloudflare Pages Functions 服务端:浏览器只拉每种语言约 200KB 的轻量词表,切换语言接近秒开,谜底加密存放。
- 离线单文件版把词向量内嵌进页面,在浏览器里本地算排名;两条路径的排名逐位一致,有逐词对比的测试脚本兜底。
- 变形自动归并(复数 / 时态 / 比较级 / 英式拼写,内置 6,630 条映射);词义来自 Wiktionary,非英语词条附中文释义。
Story
细节
这个项目最初只是想验证一件事:语义猜词游戏能不能完全不依赖后端跑起来。最后做成了两条路径——服务端排名(轻量、切语言快)和浏览器内排名(离线单文件、打开就能玩),并且保证两条路径算出来的排名完全一致:每一个词都在两种引擎里跑一遍逐位比对,不一致就报错。
数据侧的工作量比代码大:把英语、日语、韩语、法语、德语、西班牙语的词表和词向量做交叉清洗——去专名、合并变形、剔除词料垃圾、给每个词配好释义和难度分级,最后压成浏览器能承受的体量。
Source
源码
仓库结构和 README 都做成了站内可读的页面。