「那只戴草帽的水獭把订书机吞了。」这句话大概率没人说过,你却一秒就懂,还能看见画面。你不是背下来的,是现算的。
算法听上去很朴素:认识每个词,再按它们的搭法把意思拼起来。这个朴素想法有个名字,叫组合性原则(principle of compositionality)——一句话的意思,由各部分的意思加上组合方式共同决定。「句子有骨架」那期讲的分组之所以能改变意思,正是「组合方式」这一半在起作用。
可是「假枪」不是一种枪。「红苹果」既是红的又是苹果,两个条件都成立;「假枪」把「是枪」这条直接取消了。同样是形容词加名词,两次算出来的东西根本不是一回事。
这期就沿着这条裂缝走:意思到底怎么算、算出来的是什么东西、以及有一类词天生就没有确定答案。
先把这件事变成一个能做的实验。
Lake、Linzen 和 Baroni 2019 年请人学一门临时编的小语言:几个假词对应几个彩色圆点,比如某个假词就是「一个红点」。另外几个假词不指任何东西,它们是操作——把前面那个东西重复三遍,或者把两边的顺序调过来。每个假词只给几个例子,然后考没考过的组合。多数人做得又快又对,还能把新学的操作套到从没搭配过的词上去。人真的在算,而且几个例子就够。
算法当然有例外,最有名的是习语。英语的 kick the bucket 是「死了」,跟桶没关系,你把它改成被动、加个修饰语,比喻义立刻散掉。但不是所有习语都这么铁板一块。Gibbs 和 Nayak 1989 年比较了一批习语,发现越是能把比喻义分给内部各个词的习语,句法上越灵活:pop the question(求婚)里 question 大致对应「那个问题」,所以说成 the question was finally popped 照样能懂;kick the bucket 拆不开,也就动不了。汉语的「拍马屁」属于能拆的那类——「马屁拍到马腿上」这种说法成立,正因为「马屁」在里面还担着一个角色。所以习语不是组合性的整块反例,而是一条从「完全拼得出」到「完全拼不出」的连续谱。
更麻烦的其实是那些看起来最规矩的搭配。
「红苹果」是两个条件取重叠。「熟练的外科医生」不是——他不必擅长打网球,熟练只按开刀这件事算,所以那个词得先钻进名词里、拿名词划定的范围当尺子。「假枪」更极端:它不在「枪」那一堆里,那个词把名词的条件整个否掉了。
所以「组合」不是一个动作,是一族动作。词不光带着意思,还带着自己的接法。一个词进入句子时,它的接法也一起进来了。
EN People compose meanings on the fly from a handful of examples; idioms sit on a scale of decomposability, and even ordinary adjective–noun pairs run at least three different combining operations.
前面一直在说「算出意思」,可算出来的到底是什么东西?有个检验办法特别朴素:你说你懂了这句话,那就说说,世界得是什么样,这句话才成立。说得出,你就是懂了;说不出,你只是认得那些字。这套东西叫真值条件(truth conditions)。
它把「懂没懂」变成了能当场验的事。发展心理学里有一个用了几十年的方法就建在这上面:真值判断任务——当着孩子的面演一小段情节,然后让他判断某句话对不对。四岁孩子做得下来,他接受和拒绝的分界正好画出了他脑子里那句话的意思。
用它能看见一件光靠内省看不见的事。英语的 Every student read a book 对应两种完全不同的场面:三个学生各读各的三本书,或者三个人读的是同一本。两种场面都能让这句话成立。一句话对应的不是一个画面,是一组画面。
这条界线还会随语言而变。Scontras 和合作者用真值判断任务比过英语和汉语:英语被试接受「数量词在前、每在后」这类句子的逆向读法,也就是让后面那个词管到前面那个;汉语被试在关键的那组材料里一个人都没接受,「一个学生读了每本书」只能是同一个学生读完了所有书。证据强度:多组实验方向一致,但后来有研究发现汉语在关系从句和状语从句的环境里能出现逆向读法,所以「汉语一律不许逆向」这个概括太强了,眼下更像是「看结构、分环境」。
还有一层,真值条件也不是意思的全部。「晨星」和「暮星」指的是同一颗金星。可是说「晨星就是晨星」是句废话,说「晨星就是暮星」是一项天文发现——两句话指到的东西一模一样,价值天差地别。Frege 由此把指称(reference,指到哪个东西)和涵义(sense,通过什么方式指到它)分开。用一句话说:意思里既有「指到哪」,也有「怎么指到的」。
EN Knowing a sentence means knowing which situations make it true — a testable notion that four-year-olds can be probed with, and one that varies across languages.
两米算高。比一个高的人矮一毫米,还是高。再矮一毫米,仍然高。一路减到一米五——按这条推理他还是高的,而这显然荒唐。这个连环套两千多年前就有人摆出来了,叫连锁悖论(sorites paradox)。它不是文字游戏:每一步都对,结论却错,说明「高」这个词身上有件事跟我们默认的不一样。
Alxatib 和 Pelletier 2011 年把它搬进了实验室。他们给人看一张警察列队照片,五个身高不同的嫌疑人,然后让人判断一组句子是真、是假、还是说不好。对那个身高刚好卡在中间的人,多数被试既不肯说「他高」为真,也不肯说「他不高」为真——但相当一部分人接受「他又高又不高」这句听上去自相矛盾的话。他们的解释是:这句话被当成了「他在边界上」的说法。证据强度:单个设计清楚的实验,后来被反复重做和建模,方向稳定。
为什么会这样?因为「高」根本不自带阈值,阈值是当场借来的。一个高的三年级学生比一个矮的职业中锋矮得多,两句话都没说错——「高」永远相对一个对照类。所以边界情形上的犹豫不是你没测准,是那儿本来就没有事实可测。
不同语言处理这件事的家伙什也不一样。华秀语(Washo,美国加州与内华达州交界一带的原住民语言)里没有对应英语 -er 或 more 的比较成分,要比较就把两句话并在一起说,大意是「这个大,那个小」。Bochnak 2015 年据此提出,这门语言的形容词不引入「程度」这个东西;Beck 等人对巴布亚新几内亚的 Motu 语有类似结论。证据强度:田野描写加一个跨语言参数假说,同一框架下也有语言两边都不靠。要紧的是别把它读成「他们不做比较」——比较照做,只是装备不同:句法上没有那个专用零件,活儿由两个句子的并置来干。
回头看,模糊不是组合性的反例。「高」照样老老实实按规矩组合,只不过它拼进去的那块料自带一个空格,等着语境来填。前面那三种形容词接法讲的是「怎么接」,这里讲的是「接上来的东西本身就没画完」。
EN Vague predicates have no built-in threshold: people hedge on borderline cases and even accept apparent contradictions there, and languages differ in the machinery they use for comparison.
一种回答是:规则没坏,只是每个词自带的接法不同,「假」的接法本来就是取消。可这样一来,只要遇到反例就说「那个词自带一种特殊接法」,这条原则还能被什么证伤?什么样的发现会让你说「这次真的不是组合出来的」?
命令、提问、祝福都不描述世界,谈不上真假,但你显然懂它们。会不会「知道在什么情况下算真」只是一类句子的做法,另一类得换成「知道满足了它算什么」?如果是两套,它们在同一个脑子里是怎么共存的?
如果是矛盾,为什么那么多人接受它、而且觉得自己表达得很准?如果不是矛盾,那「不高」在这句话里的意思,是不是已经跟它单独出现时不一样了?有没有办法在实验里把这两种解释分开?
不能推出使用者不做比较——两句并置照样把比较说清楚了。但也不是什么都没变:如果比较必须借助两个完整的句子,那「比他高一点点」这种精细的量该怎么表达?该去看哪一类句子,才能判断差别是在语言的装备上,还是只在说法的习惯上?