查看原文
其他

论文荐读 | ChatGPT掌握现代汉语书面语的句长规律了吗?

周义凯 刘海涛 计量语言学
2024-09-04

读者朋友们还记得我们去年在《外语教学与研究》第5期上发表的《现代汉语句长分布的普遍性和特殊性》一文吗?在那篇文章里,我们发现,多种语言的句长分布服从同一种概率分布模型,人们在用句时很可能遵循着一种关于句子长度的概率模式。换言之,人们在使用语言时能凭一种共有的“直觉”断句。但是,人们又普遍认为汉语书面语中有较多“流水句”,时常“一逗到底”,汉语母语者在书面表达时句子观念(“直觉”)不强。赵元任(1979)指出,尽管汉语句子在书面上有时难以辨别,但在口语中大多可以用语调和停顿来判定。我们不禁要问:汉语书面语中真的有很多“可断可连”的流水句吗?


此外,ChatGPT这类大语言模型通过大规模语言数据训练,在不少场景中已经能够生成较为自然的语言。那么,ChatGPT和人一样掌握汉语书面语的句长规律了吗?围绕着这两个问题,我们完成了“句长分布”研究的续篇,现已发表在《语言文字应用》2024年第2期上。本期推文简要介绍此文的主要观点。


言兼具线条性和层级性。因此,研究句长规律可以从两方面着手:句长的概率分布和句子单位的层级关系。本文中,我们将句子分为整句与小句。此前,我们发现,现代汉语的整句、“零句”(本文中为小句)句长的概率分布同其他多种语言一样符合扩展正负二项分布(公式1),并且模型参数(k,p,α)可用于区分语体。

公式1 扩展正负二次项分布


关于语言(句子)单位的层级关系,语言学中有一个著名的函数定律——门策拉—阿尔特曼定律(简称“门策拉定律”)。根据该定律,一种语言结构越长,直接构成它的下一级结构就越短,简言之,“整体越长,部分越短”。如果人们在用句时的确遵循着一种模式,那么我们有理由推测:一个整句越长,组成它的小句就越短。


综上,为了评估ChatGPT对现代汉语书面语句长规律的掌握程度,我们不仅要确定ChatGPT生成文本(对比语料)的句子单位长度分布和层级关系是否符合真实文本(参照语料)的句长分布规律,也要考察ChatGPT是否同人类一样具有区分语体的意识。


我们选用了兰卡斯特汉语语料库(LCMC)中的新闻报道、学术文章、通俗小说三种语体的文本作为参照语料,用ChatGPT也生成这三种语体的文本,作为对比语料。与此前一样,在计算句长时,我们用句号、问号、叹号划分整句,用整句中的逗号、分号、冒号、破折号划分出小句;以3个词为一个级别来计算句长。得到数据后,又分别将整句和小句句长频率数据在Altmann Fitter软件中与扩展正负二项分布进行拟合。


在对比两组语料之前,我们首先需要确定汉语书面语的整句、小句句长关系是否符合“门策拉”定律(公式2):


公式2  门策拉—阿尔特曼定律


x为整句句长(以每个整句中的小句数计),y为小句句长(以每个小句中的 词数计),编写了一段Python代码用以拟合。数据拟合后可得到a、b、c三个参数和拟合决定系数R^2。


从R^2值看,LCMC库的15种书面语体中,有7种语体文本的整句句长、小句句长拟合门策拉定律效果较好。该定律背后的机理是:在“省力原则”的驱动下,人类对各级语言单位以经济的方式自适应地调整组织形式,比如压缩、重组结构信息,达到“整体大于内部组分之和”的效果。语言中一个层级单位的变化会向相邻层级的单位传导。词、小句、句子都不会因为信息量增大而无节制地变长。从拟合结果看,LCMC库中有一些语体文本的拟合效果不够理想。那么,汉语书面语中的句子单位是否偏离了这种规律呢?


我们对LCMC库里每一种语体文本中的整句长度升序排列后,计算累计频率,发现:各语体文本累计频率95%几乎都落在长度为5至6个小句的整句上(图1)。换言之,不论在什么语体中,都有95%的整句由不超过6个小句组成。截取这95%的数据与门策拉定律的函数拟合后,所有语体文本的R^2值都提升至0.95以上。这说明:汉语书面语中真正的长句其实并不多,汉语的整句、小句长度关系符合语言中相邻层级单位关系的规律。

图1 参照语料整句句长累计频率


确定了现代汉语书面语句子长度符合语言中句长的概率分布和层级单位关系规律后,我们开始评估ChatGPT对这些规律的掌握情况。


句长概率分布方面,ChatGPT生成文本的句长概率分布整体上符合扩展正负二项分布。但在(尤其是小句句长的)拟合效果上,ChatGPT生成的文本与LCMC库中对应语体的文本分别还有一定差异。我们对各组语料中的平均句长、模型参数α、拟合参数R^2进行非参数检验,发现参照组和对比组文本的整句句长概率分布拟合结果参数R^2值(简称“整句R^2”)、小句平均句长、小句句长概率分布模型参数α值(以下简称“小句α”)、小句句长概率分布拟合结果参数R^2值(简称“小句R^2”)差异显著。在句长概率分布方面,ChatGPT生成文本与真实文本在小句上的显著差异多于整句。如图2所示,ChatGPT生成的文本中,长度在1至5级(即1至15词)长的整句频率普遍低于真实语言。同样,如图3,ChatGPT生成的1至3级(即1至9词)长的小句频率普遍低于真实语言。据此,我们判断:尽管ChatGPT大致掌握了汉语句长概率分布规律,但是就具体的分布特征而言,与真实文本还有一定差异,比如用句时不像人一样“省力”。


图2 整句句长分布比较

图3 小句句长分布比较


那么,在长句方面,ChatGPT是否掌握了汉语的“流水句”呢?在图1的基础上,我们将参照组和对比组语料的句长累计频率同列(图4)。图4显示,ChatGPT生成的汉语文本中整句长度不超过7个小句,几乎是真实文本中的一半,并且有95%的整句长度不超过5个小句,比真实文本少了1个小句。我们再将两组语料的整句、小句长关系数据与门策拉定律拟合后得到的R^2值进行比较,发现:在小句和整句句长关系方面,ChatGPT生成的新闻和学术文本都比真实文本更符合门策拉定律。尽管从全集数据拟合结果来看,小说文本也是如此,但取累计前95%数据拟合后,ChatGPT生成的小说文本数据拟合效果并没有提升,说明ChatGPT生成的句子比较规整。


图4 对比语料整句句长累计频率


根据不同语言使用环境变换语言风格有赖于语用能力。因此,我们还要评估ChatGPT生成文本中句长分布的语体差异。我们先分别对两组文本内部进行跨语体比较。整体上,真实文本句长概率分布拟合后各项参数的语体显著差异多于ChatGPT生成的文本。进一步,我们以语体、语料来源(ChatGPT/LCMC)为自变量,以整句、小句的平均句长、拟合扩展正负二项式后得到的α和R^2值等6个指标为因变量,进行多因素方差分析。结果显示,语料来源的主效应显著且强于语体,语料来源和语体的交互效应也显著,程度不如二者各自的主效应。这意味着,ChatGPT生成的文本在句长概率分布方面具有一定的语体差异,但没有达到人类的水平。以各项指标较接近的新闻和学术文本为例,对比语料在Kruskal-Wallis H检验中差异显著的指标中,新闻和学术文本之间只有小句句长的差异达到了显著水平。而在参照语料中,这两种语体的整句R^2、小句句长、小句α都有显著差异。也就是说,ChatGPT在句长分布特征的语体区分方面不如人类敏锐。


整体而言,ChatGPT生成的文本已经基本遵循了真实文本中句子单位的规律,但还差一些“火候”。这不仅值得人工智能领域的开发者关注,而且更应该得到语言学研究者的重视。究其原因,一是当前大语言模型所用的“端到端”、用海量数据和参数的训练模式效率仍有待提升;二是,人类语言系统的规律不仅限于纯粹的概率统计规律,还有语言这个复杂动态系统中“人驱”的作用。


ChatGPT生成的图片


Open AI(2023)在GPT-4的技术报告中指出,GPT-4在多种专业和学术基准测验中的表现已经达到甚至超过了人类的平均水平,尤其在多种语言的多项选择题中表现出色。这说明,GPT模型并不只是掌握了数据中纯粹的统计规律,而且已经开始建立语言数据和现实世界知识的联系。与此同时,Open AI在报告中也披露,目前的GPT模型依旧没有摆脱大语言模型一些共同的缺陷。比如,它在一些具体的现实任务场景中的表现还不如人类,偶尔会出现幻觉(hallucinations),不会从经验中获取知识,而是依赖预训练所用的数据。GPT现有的优势与缺陷共同说明,大语言模型本质上是人类发明的工具,要更好地发挥它强大的潜力,需要人类有意识地加以引导。其中就需要语言学家的参与。


回到本文关注的问题,汉语书面语中确实有一些特别长的句子,但人们不会无节制地使用长句;ChatGPT已经掌握了真实文本中句子单位的长度分布和层级关系的规律,也能够在不同语体之间对句长分布的特征做一定区分,但是在一些细节方面还需要多加关注。而这些规律和细节,正是语言学家所能发现的。在人工智能不断进步的同时,人类也应该加深自己了解。发掘并解决人工智能发展提出的需求,正是当代语言研究应当发挥的重要作用。


·END·

参考文献略。

欢迎对本文感兴趣的读者阅读、引用原文


原文引用信息:

周义凯, 刘海涛. ChatGPT 掌握现代汉语书面语的句长规律了吗?[J]. 语言文字应用, 2024, (2): 124-134.


您可能还想看

SEE ALSO

论文荐读 | 英语复句的句法复杂性有规律吗?

论文荐读 | 德语词长的跨语体历时演化研究

论文荐读|机器翻译痕迹究竟是什么?

论文荐读 | 苹果发布会里的语言奥秘

论文荐读 | 大语言模型的语用能力探索——从整体评估到反语分析

“在看”我吗?

个人观点,仅供参考
继续滑动看下一个
计量语言学
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存