一个提示词最多只能指向六张牌,指不到九张
简而言之
- 在《行动代号》中,能指向全部九张己方牌的单个提示词只在0.286%的棋盘上存在。合理的期望值大约是六张。
- 瓶颈在词汇量。在300维空间里,总能找到某个方向把你的九张牌分出来;但提示词表里的7,009个常用词中,没有一个指向那个方向。
- 被词向量解码器认定为完美的提示词,在语言模型读取方那里44组中恢复了0组,而普通类别提示词是24组中恢复23组。这部分结论还是初步的。
- 词向量相似度并不能很好地代表一个人会理解什么,在目标多、余量薄时尤其糟糕。
在《行动代号》中,一名玩家看到由25个词组成的棋盘,私下知道哪些属于己方队伍,然后要用一个提示词加一个数字,让搭档恰好选中这些词。说一句「ocean 3」,搭档就选出他认为你指的那三个词。
你的队伍最多持有棋盘上的九个词,所以梦想中的第一步是用一个提示词指向全部九个词,当场获胜。我想知道这样的提示词是否存在。
大多数情况下并不存在,原因也很具体。
在固定的7,009个常用英文词汇表和标准的词向量相似度读取方之下,单个合法词能锁定全部九张己方牌的棋盘只占0.286%。在2.02亿次分配上的精确计数表明,不到千分之三。现实上限大约是六张。而阻碍它的是词汇表:几何上允许这种分割,但没有哪个常用词能实现它。
从同一概念里挑四个词,就会出现一个真实的提示词;全选九个则撞上墙,插进来的那个词会标红。
还有一个更奇怪的第二结论,证据更薄:那些确实让读取方满意的提示词,在真实读取方那里大多失败。下文详述。
我是怎么测量的
读取方的做法很直接。把提示词和每个棋盘词嵌入为向量,按与提示词的余弦相似度对棋盘词排序,取前 k 个。当前 k 个恰好就是目标词时,这个提示词就「恢复」了一个 k 词目标集。向量是300维GloVe;合法提示词表是7,009个高于Brown语料频率下限的WordNet词元,所以每个提示词都是有人真会说出口的词。
还没开始测量,九就已经很难了。从25张牌中指定任意9张大约需要21比特;从7,009个词中选一个只携带约12.8比特。所以没有任何单个词能成为通用的九牌提示词:仅从计数上看,一个符号无法区分两百万个目标集。这否定了通用版本,但对具体棋盘什么也没说。真正的问题是逐盘而论。对这九张牌,是否存在某个可用的合法提示词?这要靠枚举,我做了。
上限大约是六
在每个棋盘上把所有合法提示词跑一遍解码器,收集它能恢复的集合,就得到精确计数,每个提示词都枚举过。在九个目标时,覆盖率是0.286%。对随机的九牌密钥,你能精确恢复的最大子集分布如下:
| 最佳精确数量 | 棋盘占比 |
|---|---|
| ≥ 6 | 64% |
| ≥ 7 | 22% |
| ≥ 8 | 3.8% |
| = 9 | 0.3% |
期望的最佳值是5.87。五或六很常见,七会出现,八很罕见,九几乎不可能。
看上面局面浏览器里的那个棋盘,目标是 {barn, builder, call, colonel, educator, pit, product, specialist, wood}。解码器给出的最佳合法提示词仍会把一个非目标词排在这九个中的某一个之上。没有合法词能分割这个集合;根本找不到提示词。
墙在词里
直觉的猜想是25个点太挤,分不开。事实恰恰相反。在300维空间里,处于一般位置的25个向量可以任意切分:对基本上每个九牌子集,都存在某个方向把这九个排在其余十六个之上。我在每个词包上检查了100个棋盘的一般位置;每次都成立。
所以分割方向几乎总是存在。只是合法词不指向那个方向。「存在一个可用方向」和「存在一个向量正好实现它的词」之间的落差,就是全部结论。把词汇表收紧到更自然的词,覆盖率单调下降,这正是覆盖问题的样子。只要提示词必须是真实的词,你就没法靠变换绕过去。
我不太确定的部分
这里证据更薄,所以我先划好界限。我把解码器认定为完美的提示词交给代替人类搭档的语言模型读取方,同时给出「animal 3」「vehicle 4」这类普通对照提示词。对照组24组中恢复了23组。解码器认证的提示词44组中恢复了0组。另外在解码器负余量处的二十组也是零。更强的读取方模型重现了这些零,一次盲测人工检验也逐层重现了同样的模式。
一个把余弦余量最大化的提示词,是在利用某一种排序算法对词的排列方式。按意义理解的读取方无法恢复它。局面浏览器的第二个标签页重放了这一点:一个解码器认证的提示词,它「完美」恢复的集合,以及真实读取方实际选了什么。vain 被认证可以恢复九个特定的词;读取方一个都没选中。
真正有效的是干净的分割概念。当九张牌共享一个明确类别,且棋盘上没有同类别干扰词时,恢复率从零跳到约三分之一,即使数量很高也是如此。加入一个同类别干扰词,精确恢复就崩塌,而部分识别缓慢衰减。决定可读性的是是否存在一个干净的概念;一旦存在,数量几乎无关紧要。
这一节是初步的:样本量小的审计,读取方大多是语言模型,唯一一次人工检验来自一名知晓假设的标注者。它需要而尚未得到的检验,是真正的人类评测组。我报告的是观测计数,不要当作总体比率来读。
这为什么超出游戏本身
词向量之间的余弦相似度是「这个词传达了这个概念」的标准替代指标。测量结果表明,恰恰在最诱人的地方这个替代指标不可靠:目标多、余量薄。一个靠最大化词向量分数来挑选提示词、图注或类别标签的系统,正在优化一个另一端的人并不共享的目标,而且分数看起来最自信的地方,失败最严重。
干净的那部分结论无需附加说明:来自共享的有限词汇表的单个词,无法可靠地指示任意的25选9集合;限制在于把理想含义投射到真实的词上;而且数量的影响,远不如是否存在一个干净概念来命名它们。叠加在上面的那个分离现象,是我最希望人类评测组去证实或推翻的部分。