预测 Wordle 结果(MCM 2023 C)范文一:数据探索与难度模型构建
摘要
2023 年美赛 C 题以《纽约时报》旗下现象级文字游戏 Wordle 的公开对局数据为对象,要求参赛者建立模型,刻画每日报告结果数的变化规律、由单词自身属性预测其得分分布、并对单词按难度分级。本文聚焦该问题的数据基础与建模底座:在联网查证确认赛题背景(数据由 Twitter 挖掘,覆盖 2022-01-07 至 2022-12-31 共 360 个每日单词,字段含当日单词、报告结果数、困难模式数,以及 1–6 次猜中与 X(六次内未解出)的百分比)之后,我们构建了一套确定性的练习数据集与可复现的难度量化框架。我们对 360 个五字母单词提取了六项语言学特征(平均字母频率、是否含重复字母、元音占比、罕见字母占比、首字母常见度、常见双字母词形),并据此定义了一个介于 0 与 1 之间的潜在难度指数 d;进一步给出由 d 到"失败率—平均猜词次数—得分分布"的响应模型。探索性分析显示:整体平均失败率为 0.1766、平均猜词 3.883 次;常见词形(双字母)与难度呈最强负相关(相关系数 −0.665),而含重复字母的词平均难度(0.665)显著高于无重复字母者(0.522)。本文为后续两篇论文(回归预测与验证、参与度预测与推荐)提供了统一、可计算、可复现的量化基础。
1 问题重述
赛题要求围绕 Wordle 公开数据回答若干相互关联的子问题,其中与"单词属性—结果分布"直接相关的核心任务有三:其一,识别并量化单词的哪些语言学属性会影响玩家的表现(得分分布、失败率);其二,基于这些属性建立模型,预测任意给定单词的得分分布(即 1、2、3、4、5、6、X 各档百分比);其三,按难度对单词分级,并刻画每一难度等级所对应的属性画像。本文不急于给出最终预测方程,而是先把上述任务的数据结构与难度概念讲清楚——这是任何可靠预测与分类的前提。我们强调:只有先建立可解释、可复现的"属性→难度→分布"链条,后续的回归与分类才有意义。
2 数据与假设
本站的练习数据集 data/mcm2023c.csv 由真源 tools/gen_mcm2023c.py(SEED=2024,纯标准库,零依赖)确定性生成,共 360 个单词,结构与真题字段对齐。为使模型可解、可复现,作如下假设:
- H1(五字母聚合):仅考虑 Wordle 标准的五字母单词,单词长度统一,避免长度差异干扰难度比较。
- H2(属性决定难度):单词的"难度"本质上是其语言学属性对玩家信息获取效率的综合作用,可由有限个可计算特征近似刻画。
- H3(难度决定分布):给定难度,玩家的得分分布(各档概率)可由一个平滑的响应函数生成,峰值随难度右移、失败率随难度上升。
- H4(确定性可复现):练习数据由固定随机种子生成,任何人都可在
tools/目录重新运行真源以复现本文全部数字,保证教学与评审的可验证性。
主要符号: 潜在难度指数(∈[0,1],越大越难); 单词总参与人数; 恰好 次猜中的百分比(); 六次内未解出的百分比(失败率); 平均猜词次数。
3 特征工程:六项语言学特征
我们为每个单词计算以下六项、取值均归一到 [0,1] 的特征,力求覆盖"信息含量"的不同维度:
- 平均字母频率 :取单词各字母的英语语频均值并除以最高频字母 e 的频率(12.7%),频率越高意味着玩家更熟悉、更易通过语言直觉排除候选。
- 是否含重复字母 :五字母中若含重复字母则取 1,否则 0;重复字母会减少有效信息位,通常使猜词更困难。
- 元音占比 :元音(a/e/i/o/u)个数除以 5;偏离 2 个元音的极端情况(全辅音或过元音)往往更难。
- 罕见字母占比 :j/q/x/z/w/v/k 等低频字母个数占比;罕见字母既不易被猜中,也难以提供对其它候选的排除信息。
- 首字母常见度 :首字母是否为常见开局字母(t/s/a/c/b/m/f/w/p/d/o/e/r/h/l 之一),常见首字母更友好。
- 常见双字母词形 :取相邻两字母构成的最强常见双字母权重(如 th/he/in/er 等),常见词形意味着单词更符合英语拼写直觉。
这六项特征彼此部分相关,但分别从"整体频率""结构重复""元音—辅音平衡""罕见度""开局""词形"六个角度刻画信息友好度,构成后续难度建模的输入向量。
图4 展示元音占比与潜在难度的散点关系:两者呈轻度负相关(相关系数 −0.223),说明过多或过少元音都会略微推高难度,而接近 2 个元音的词最"中性"。
4 潜在难度模型
我们定义一个潜在难度指数 ,它是上述六特征的线性组合经 Sigmoid 压缩后的结果:
其中 。该式的设计逻辑是"信息越友好、难度越低":常见字母、常见首字母、常见词形三项降低难度;重复字母、罕见字母、元音偏离则提升难度。Sigmoid 保证输出落在 [0,1] 且对极端特征不敏感。这一潜在难度是后续所有预测的"枢纽变量"——它把高维属性压缩为一维可比较的标量。
图5 以分组柱直观比较"含重复字母"与"无重复字母"两组的平均难度:含重复字母的词平均难度达 0.665,明显高于无重复字母组的 0.522,印证了重复字母作为难度驱动因素的直觉。
5 得分分布响应模型
给定难度 ,我们给出从难度到得分分布的响应函数。失败率随难度近似线性上升:
即在最易词上约 1% 玩家失败,在最难词上约 30% 玩家六次内无法解出。解出者(占比 )的平均猜词次数随难度右移:
即以难度 0 的词平均约 3.0 次猜中,难度 1 的词平均约 4.6 次。各档概率 由以 为中心、 的高斯权重归一化得到,使分布自然在 附近聚集。该响应模型物理含义清晰:难度越高,分布重心越靠右、尾部(失败)越厚。
关于响应模型的标定,有两点需要说明。其一,分布宽度取 是为了让相邻猜词档之间平滑过渡:若 过小,分布会过度集中于单一档而失去"猜词次数存在波动"的真实感;若过大,则各档概率被摊平、难以体现难度差异。0.8 是在"可分辨难度"与"保留随机波动"之间的折中。其二,失败率上限设为 0.30 是对现实经验的尊重——即便最冷僻的单词,仍有约七成玩家能在六次内凭借英语语感解出,完全无解的比例极低。以潜在难度 的示例词 EERIE 为例,代入响应模型得失败率 、平均猜词 ,与范文二的实例完全一致,说明底座模型与后续预测模型自洽。
图6 显示罕见字母占比与难度的正相关(相关系数 0.371):含 j/q/x/z 等罕见字母的词显著更难,符合"罕见字母信息量低"的直觉。
6 探索性数据分析
在建立上述模型后,我们对 360 个单词的整体分布与单特征关系做了系统探索。
在 360 个词上的分布:整体集中在 0.45–0.70 的中等区间,少量词跌入高难区(>0.85),说明 Wordle 词表以"适中偏难"为主,刻意保留了挑战性。">
图1 给出潜在难度 在 360 个词上的分布:整体集中在 0.45–0.70 的中等区间,少量词跌入高难区(>0.85),说明 Wordle 词表以"适中偏难"为主,刻意保留了挑战性。
在 360 个词上的分布:整体集中在 0.45–0.70 的中等区间,少量词跌入高难区(>0.85),说明 Wordle 词表以"适中偏难"为主,刻意保留了挑战性。">
图2 为各单词失败率分布:均值 0.1766,多数词落在 0.10–0.25 区间,长尾延伸至 0.30,对应少数极难词。
图3 为平均猜词次数分布:整体均值 3.883 次,峰值在 3.8–4.2 附近,与 Wordle"平均约四次猜中"的普遍经验一致。
图7 展示平均字母频率与难度的负相关(相关系数 −0.481):高频字母组成的词(如 earth、heart)明显更易。
图8 以热力图汇总六项特征与三个结果指标(难度、失败率、平均猜词)的相关系数。最强的信号来自常见双字母词形( 与难度相关系数 −0.665),其与失败率(−0.658)、平均猜词(−0.669)同样高度相关,说明"单词是否符合英语拼写直觉"是最具区分力的单一属性;其次是平均字母频率与重复字母(±0.48 左右);元音占比的影响最弱(±0.22)。这张图直接指导了后续回归中特征权重的相对重要性预期。
7 小结
本文完成了 MCM 2023 C 的数据理解与难度底座建设:定义了六项可计算语言学特征、一个介于 [0,1] 的潜在难度指数 ,以及由 到失败率、平均猜词与完整得分分布的响应模型。探索性分析揭示,常见词形、字母频率与重复字母是难度的三大主因,整体单词以"适中偏难"为主。所有这些结果均由 tools/gen_mcm2023c.py 确定性生成,可被任何人独立复现。下一篇论文将在此基础上建立属性→分布的回归预测模型,并用交叉验证与留出测试评估其准确性;第三篇则把模型用于 2023-03-01 参与度预测与未来单词推荐。
结论
本文针对Wordle对局数据建立了难度量化框架。核心发现:
1. 语言学特征:提取六项特征(平均字母频率、重复字母、元音占比、罕见字母、首字母常见度、双字母词形),其中双字母词形与难度呈最强负相关(r=-0.665)。
2. 难度指数:潜在难度d∈[0,1]由六特征线性组合经Sigmoid压缩得到,常见词形降低难度,重复字母提升难度。
3. 统计基准:整体平均失败率0.1766、平均猜词3.883次;含重复字母词平均难度0.665,无重复字母者0.522。
4. 模型底座:为后续两篇论文(回归预测与验证、参与度预测与推荐)提供统一、可计算、可复现的量化基础。
参考文献
[1] COMAP. 2023 MCM Problem C: Predicting Wordle Results.
[2] 本题数据背景(联网查证):Wordle 对局数据由 Twitter 挖掘,覆盖 2022-01-07 至 2022-12-31。
[3] 本书站真题库配套:tools/gen_mcm2023c.py(确定性真源)与 data/mcm2023c.csv。
附录:核心 Python 实现
下列代码需位于 tools/ 目录运行,调用真源独立复现本文全部权威数字(SEED=2024,确定性)。
import gen_mcm2023c as G
D = G.gen_mcm2023c()
k = D["key"]
print("样本量 N =", k["N_WORDS"])
print("整体平均失败率 = %.4f 平均猜词 = %.3f" % (k["mean_fail"], k["mean_guesses"]))
print("失败率回归 R2 = %.4f 平均猜词回归 R2 = %.4f" % (k["r2_fail"], k["r2_mean"]))
print("最难词 =", k["hardest_word"], " d=%.3f 失败率=%.3f" % (k["hardest_d"], k["hardest_fail"]))
print("最易词 =", k["easiest_word"], " d=%.3f 失败率=%.3f" % (k["easiest_d"], k["easiest_fail"]))