“你将通过词语所处的环境来了解它。”—— J.R. Firth, 1957

在本文中,我们将深入探讨如何利用大模型技术来解决一个看似简单的游戏难题:Codenames(猜词游戏)。Codenames的核心在于,给出单个线索词,引导队友猜中棋盘上的正确目标词汇,同时避开敌方词汇。这是一个对语言理解、语境把握和NLP技术应用能力的综合考验。通过将机器置于这个充满挑战的游戏场景中,我们可以更深刻地理解大模型在处理复杂语言任务时的优势与局限,并对未来NLP技术的发展方向有所启发。

Codenames的游戏规则与NLP问题框架

Codenames 游戏看似简单,实则对人类的认知能力提出了极高的要求。游戏中,两队特工需要根据代号队长的单个提示词,从一堆词语中找出己方特工的代号。线索词既要与己方词语相关联,又要避免指向敌方词语,还要避免指向“刺客”词语,一击致命。这种游戏规则巧妙地提炼出了NLP领域一个核心问题:如何在严格的约束条件下,实现最佳的词语联想

将 Codenames 游戏转化为NLP问题,可以这样理解:给定一组目标词汇(己方特工代号),以及一组干扰词汇(敌方特工代号和刺客),如何找到一个线索词,使其与目标词汇的语义关联性最高,同时与干扰词汇的语义关联性最低。这本质上是一个分布式语义问题,需要将多个词语的共享语义压缩到一个向量中,然后反向映射回一个线索词。

语境的重要性:从word2vec到Transformer

NLP 的发展历程中,语境的重要性日益凸显。早期的 word2vec 模型,通过滑动窗口预测相邻词汇,能够将词语组织成一个富含信息的向量空间。例如,kingqueen 在向量空间中的相似度很高,反映了它们在语义上的关联性。

然而,word2vec 的局限性在于其窗口大小有限,无法捕捉更深层次的语义关系。例如,kingqueen 之间的婚姻关系,或者王朝传承关系,在 word2vec 模型中很难有效编码。这是因为 word2vec 的训练语料仅仅局限于几个单词的上下文,缺乏更广阔的语境信息。

2025 年,Transformer 架构的出现彻底改变了 NLP 领域。大模型(LLMs)利用数十万甚至上百万个词的上下文,能够捕捉长距离的语义依赖关系。这得益于 Transformer 的注意力机制,它能够跨越多个页面、章节甚至整个故事,将语义信息拼接起来。

大模型语境 理解方面的优势体现在以下几个方面:

  • 细微差别大模型能够捕捉到细微的主题,例如婚姻、背叛、血统等,这些主题只有在大量的语境中才会浮现。例如,在一个关于皇室家族的长篇小说中,读者可以逐渐理解 kingqueen 之间的复杂关系,而不仅仅是表面上的权力关系。
  • 消除歧义大模型能够自然地消除歧义。例如,python 既可以指蛇,也可以指编程语言。如果之前的段落讨论了毒牙或鳞片,大模型就会将其理解为蛇;如果之前的段落讨论了装饰器或函数,大模型就会将其理解为编程语言。
  • 泛化能力:更大的语境大模型能够创造更新颖、更安全的线索词。例如,在 Codenames 游戏中,如果目标词是 appleorange大模型可以给出 fruit 这个线索词,避免了指向 apple 公司的风险。

大模型在Codenames中的应用尝试

作者尝试将 大模型 应用于 Codenames 游戏中,旨在让机器像人类一样巧妙地给出线索词。最初的尝试是简单的向量平均法:

  1. 获取每个目标词的向量表示。
  2. 计算这些向量的平均值,找到一个中心点。
  3. 找到距离中心点最近的词,作为线索词。

然而,结果并不理想。例如,curry + potatoonion(尚可接受),king + queengirl(明显错误)。这说明简单的向量平均法无法捕捉到词语之间更深层次的关联性。word2vec 的五词窗口无法编码婚姻或王朝等更深层次的关系。它擅长 king ↔ royalty,但不擅长 king & queen ↔ marriage

从失败中学习:长度、涌现与游戏

尽管 大模型 在 Codenames 游戏中并没有取得压倒性的胜利,但这次尝试带来了一些重要的启示:

  • 语境长度 = 更深层次的理解:五个词的语境与五十页的语境有着天壤之别。更长的语境能够让模型捕捉到更复杂、更微妙的语义关系。
  • 意义是涌现的:向 Transformer 输入足够的叙述,它就会开始推理出你从未明确标记的概念。例如,通过阅读大量的历史书籍,大模型可以逐渐理解权力的运作方式、战争的原因以及文明的兴衰,即使你从未明确告诉它这些概念。
  • 游戏是绝佳的沙盒:游戏提供了一种有趣且受限的环境,让你能够直面当前模型的局限性,并理解它们的工作原理。Codenames 游戏的单线索词约束迫使你探索模型的极限,并思考如何改进模型的设计。

未来的方向:混合嵌入、安全过滤器与定制Transformer

为了进一步提升 大模型 在 Codenames 游戏中的表现,作者提出了一些可能的方向:

  • 混合嵌入:将快速的静态向量与来自 LLMs 的速度较慢的高语境嵌入相结合。例如,可以使用 word2vec 快速找到与目标词汇相关的候选线索词,然后使用 大模型 对这些候选线索词进行评估,选择最佳的线索词。
  • 安全过滤器:防止模型暗示对手词汇,这可能是一个强化学习问题。可以使用强化学习算法训练一个安全过滤器,使其能够识别并过滤掉可能指向对手词汇的线索词。
  • 基于Transformer的定制模型:训练一个执行此特定任务的定制 Transformer。与通用 LLMs 相比,它可能更有效,并且可能在 Codenames 游戏中具有卓越的性能。专门针对 Codenames 游戏训练的 Transformer 模型,可以学习到更适合游戏的语义表示,从而提高线索词生成的准确性。

总结:语言的深度与NLP的未来

总而言之,这个项目并没有达到作者的预期目标,即击败 Codenames 游戏。然而,作者学到了更重要的东西:语言的细微差别,以及真正理解我们每天如何说话、写作和阅读所需的深度。它加深了作者对计算语言学的迷恋,并促使作者更深入地理解语义意义的谜团。

通过 Codenames 游戏的尝试,我们可以看到,大模型NLP 领域取得了显著的进展,但仍然存在许多挑战。未来的 NLP 研究需要更加关注 语境 的理解、知识的融合以及模型的泛化能力。只有不断探索新的模型架构和训练方法,我们才能真正让机器理解 语言 的奥秘,并将其应用于更广泛的领域。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注