摘自 Vectors of Mind —— 图片见原文。
好吧,让我们从那些关于感知能力的内容中稍微喘口气。其实在被意识那声号角召唤走神之前,我已经排好了一堆心理测量学的内容。就是很难移开视线。
[图片:原文中的可视化内容]《Ulysses and the Sirens》,画家为 John William Waterhouse
我开这个博客,是想从机器学习的视角来探索“词汇假说”(Lexical Hypothesis)。人格模型定义的是一种语言中最常被八卦谈论的特质,而在 GPT 时代,我们可以把这种东西测量得好得多。无论是从词向量还是传统问卷中推导出的人格模型,最终都会回到那几个相同的特质,尤其是那两个“大因子”:社会自我调节(social self-regulation)和活力/动力性(dynamism)。如果需要复习,可以看看这两篇:The Big Five are Word Vectors 和 The Primary Factor of Personality。
大五人格在许多语言中都被独立发现过,但语言之间的比较始终是定性的。研究者会在土耳其语或德语中发放人格形容词问卷,对其做因子分析,然后大致“目测”这些因子是否相同。这样的数据不能用来说明:“在德语中,外向性(Extraversion)相对于尽责性(Conscientiousness)相比英语偏移了 15 度。”要做到这种精确度,两种语言必须共享某种共同的基底。
如果你在多种语言中施测问卷,你可以通过两种方式把它们联系起来:1)找到一批能用两种语言作答的双语被试;或者 2)假定词语翻译是 1:1 对应的(例如,英语的 fun 在西班牙语中与 divertido 完全等价)。在前一种情况下,会有很强的选择效应。比如,如果双语者往往受教育程度更高怎么办?后一种假设则根本不成立。事实上,把多种语言放在一起做因子分析的理由,正是为了理解人格结构在不同语言之间可能如何分化。预设词语是相同的,等于直接否定了研究的目的。
**我的研究表明,你可以从英文语言模型中抽取出人格结构。一个自然的问题是,当你加入其他语言时,这种结构会如何变化。**在使用训练于数十种语言的模型时,这个问题变得相当容易探索。你可以把任意数量的语言映射到同一个基底上。
再一次看到“大二因子”#
我使用 XLM-RoBERTa 来为人格形容词之间赋予相似度。奇怪的是,这个模型在某种意义上是缅甸种族灭绝事件的产物。Meta 处在一个极其尴尬的位置:他们需要在对当地几乎一无所知的情况下删除内容。从技术上讲,这就是所谓的迁移学习问题。他们希望在英语(或其他高资源语言)中训练一个仇恨言论分类器,然后把它应用到其他语言上。在语言建模的黑暗时代(2018 年),这件事做得非常糟糕。缅甸语中口语化的“让我们把同性恋抓起来杀掉”在他们的分类器看来就像是“应该少一点彩虹”。这当然顺利绕过了内容审核。《纽约时报》解释了其后果:A Genocide Incited on Facebook, With Posts From Myanmar’s Military
Meta 的应对是构建一个语言模型,使其能更好地把任意语言(准确说是 100 种语言)映射到同一个共享空间中的词向量。这样,一个在英语中训练的仇恨言论分类器就能更好地扩展到其他语言。(微调时需要的缅甸语数据就更少。)使用这个模型,我把四种语言中的人格词嵌入到向量空间:英语、西班牙语、法语和土耳其语。下面是前两个因子:
这两个因子起到了区分不同语言的作用。第一个因子把土耳其语与印欧语系语言区分开来。在第二个因子上,罗曼语族彼此相邻(同时也与土耳其语相对接近)。
这很合理。模型被训练来预测句子的下一个词,因此自然会包含语言特定的信息。如果有人在说西班牙语,他们不会经常突然切换到土耳其语。我们的希望是,在向量空间中也存在一些方向对应于人格信息。
如果语言之间相当独立,那么你至少需要 3 个维度才能把 4 种语言分开成互不重叠的簇。我们来看看接下来的主成分。
第四因子是第一个不是用来区分语言的因子,而它就是人格的一般因子(General Factor of Personality, GFP)!在英语中,它是:domineering, ruthless, compulsive 和 selfish 对 generous, gentle, 和 thoughtful。 我曾经论证过,这个因子最好的理解方式是“践行黄金法则(Golden Rule)的倾向”。“意识的夏娃理论”(Eve Theory of Consciousness)实际上就是在思考这种倾向在我们的进化史中会被选择出什么特征时产生的。第五因子同样与人格有关,把它们画在一起:
我们得到了“大二因子”(Big Two)!第五因子(或者说,在人格因子中是第二个)是“活力/动力性”(Dynamism):adventurous, imaginative, 和 enthusiastic 对 cautious, reserved, 和 cowardly。这种因子能如此稳定地反复出现,实在令人惊叹。**关于“大二因子”那篇论文有2,500 篇引用,但研究者们仍然没有意识到,它们只是一般人格的前两个未旋转因子而已。**人们普遍认为“大二因子”与“大五人格”存在某种层级关系,这种看法源于研究者在构建完大五人格量表后,很快就放弃了直接处理语言本身。从那以后,任何试图理解“基本人格”或“一般人格”的努力,都必须以大五为参照。但词语先于量表而存在,而语言模型现在让我们可以在那个更为根本的层面上轻松分析语言。
我们得挖得更深一点#
加入俄语和波斯语之后,得到的还是同样的因子:
[图片:原文中的可视化内容]要更清楚地看清这些词,请下载图片并放大查看。
以我这个懒惰工程师的标准来看,这已经算是相当费力的工作了,因为它需要为每种语言找到一个合适的提示词(prompt)。我与 Google 翻译和母语者合作来把这件事做好,你可以看到波斯语在第四因子上的分布仍然有些偏。我猜,我那种忽略任何不被多语言共享的因子的做法,对这么多语言来说太粗糙了。第四因子很可能既被用作 GFP,又稍微用来区分波斯语。这些因子并没有什么机制保证其“纯度”,我们其实非常幸运,分布能表现得如此“乖巧”。做一些预处理(比如对每个语言簇做零均值化)可能会解决这个问题。
据我所知,这是第一次把多种语言放在一起做因子分析。如果要发表,这只用英语和西班牙语的结果就足够了,而我在这里做到了六种语言,其中包括两种非印欧语系语言。这也为“大二因子”的本质提供了新的线索——它是心理测量学中最流行、但也最被误解的构念之一。
不足之处#
我几乎是用最蠢的方法做的这项研究。我在一本 ESL(英语作为第二语言)教材里找了 100 个与人格相关的词,然后用 Google 翻译把它们翻译成其他语言。如果有重复,就删掉。事情没有看上去那么糟。在英语中,无论你用 100 个还是 500 个词,前两个因子几乎不变。但是,如果这是篇正式论文,你显然应该在每种语言的词汇中独立开发一套词表。还有其他一些不足之处:
**语言不够多!**如果我要发表这项研究,我希望能再加入十几种人格科学中通常不会被研究的语言。事实上,这也是我一直没把它发表出来的原因。这工作量太大,而且需要多种亚洲语言的母语者参与。
**多语种模型会被训练数据扭曲。**语言模型被训练来预测句子的下一个词。如果你用多种语言训练,模型会尝试在它们之间迁移一部分知识。然而,对于那些低资源语言来说,这种迁移更可能表现为:它们的含义被强行类比到高资源语言(英语、中文、俄语等)中的对应概念上。
**查询句式是研究者的自由度。**我用来嵌入词语的方法是:“My personality can be described as
**语言模型已经过时。**我做这项工作是在两年多以前,远在 GPT-4 出现之前。那是个更简单的时代。
结论#
如果我还在学术界,这会是我的研究议程。加入尽可能多的语言,并尝试理解这种方法可能被偏倚的所有方式。最终,它也许能产生一个优于大五人格的、更加普适的人格模型。它会帮助我们更好地理解我们是谁,甚至也许能帮助我们理解我们从何而来。因为是语言在当下定义了我们的物种,而正是语言在久远的过去锻造了我们的心灵。我们之所以习惯性地社会化,是因为在几千年前,不能好好管理自己的名声就意味着死亡。人格模型是语言的地图;它们是我们心智演化中的向量。