1. 引言
叙事作品通过叙述一系列的事件给出现实或虚拟世界中发生的故事[1]。而叙事遵从的底层逻辑和呈现方法则取决于多方面的因素,包括预设的读者群,作者的语言风格、特长和偏好,采用的语言和表达形式,以及所处的环境等。叙事具有很强的目的性,为了达到预期效果,现实中的一个事件可能被分解为多个片段或者从不同的视角进行观察,放在不同的叙述场景中;而多个不同时间场景发生的事件,也可以集中在一个叙述场景中,使得矛盾冲突更加鲜明[2] [3]。因此,叙事不只是简单的故事再现,而是一种再创造,是一种艺术化的呈现。因此,小说不仅仅提供了一个生动形象的故事,更是一个信息源,供人们挖掘相关的事实[4]-[7]。
基于叙事作品的数据挖掘已经取得了令人瞩目的成果。这里仅举几个例子。一篇小说中人物之间有着多重复杂的关系,形成人物关系网络[8],其中节点是人物,边是人物之间的关系。这一人物关系网络形成整个故事的脉络骨架。大量的实证分析表明,采取不同体裁对同样一个故事叙述的作品,其人物关系网络有着显著的差异[9],实际上人物关系网络的特征是识别叙事体裁的可靠指标。从小说《三国演义》构造出来的人物关系网络,与从历史文献《三国志》和《史记》等构造出来的人物关系网络,其拓扑结构更复杂、更多变。这一网络结构差异,可以看作是对“文学性”的定量描述和拓扑画像[7]。
叙事作品的作者认定是人们感兴趣的问题[10]。《红楼梦》面世已近300年,对华语社会的思想产生了重要的影响,是华语社会思想的主要塑造者之一。这一小说的前80回和后40回的句子长度序列,都具有长程关联性质[11] [12],也就是序列的延迟自相关系数按照延迟的某个幂次方衰减,而非指数衰减。这两部分的延迟自相关衰减幂指数有着明显的差异。这一结果支持这一小说的两位作者推断:前80回的作者是曹雪芹,后40回的作者是高鹗[11] [13]。关于《红楼梦》作者的争论最早由著名华人学者胡适于1921年提出,已经持续一个世纪。这一结果与基于语言风格的研究相一致[14]。
句子的长短、音调的高低等变化,形成叙事作品的节奏感[15] [16]。节奏感给阅读者带来美的体验,是作品受欢迎并得以流传的重要因素之一。本文将对句子长度序列中存在的节奏进行讨论。具体地,我们划分中文小说《红楼梦》和英译小说“Remembrance of Things Past”(《追忆似水年华》)中的句子,每个句子包含的字(词)的个数作为句子长度,得到句子长度序列。近年来,一个有趣的研究方向是基于小图的时间序列分析[17]-[19]。用一个指定长度的窗口沿着时间序列滑动,抽取出时间序列片段,然后采用可见图(Visibility Graph) [20]、序结构图(Ordinal Graph) [21]等把这些序列片段映射为小图,用这些小图表征对应时间段内系统的状态。一个时间序列被映射为一个小图序列,在所有可能的小图构成的空间中,形成一个轨迹(状态转移链),得到小图状态转移矩阵[22]。不同动力学机制产生的时间序列,其小图状态转移矩阵有着显著的差异。本文中采用这一研究框架,把句子长度时间序列划分为指定长度的序列片段,得到这些片段的序结构图,形成序结构图转移链[23] [24],用对应的转移矩阵的特征表征句子长度序列的特征。
计算结果发现:1) 小说序列存在着较强的短程相关;2) 通过网络图以及对节点的聚类分析发现,不同作者写作风格具有各自的特异性,同一作者写作风格则保持一致;3) 《红楼梦》前80回和后40回的序结构转移网络主要的节点之间转移相同,表明后部分的作者有意模仿前部分作者的叙述方式,但在其它转移细节上表现出明显差异,表明个人写作风格的不同;4) 比较而言,英文版《追忆似水流年》的语言叙述变化更丰富一些,而中文小说《红楼梦》由于其语言偏文言文句式,序结构转移更倾向于某几个特定的节点。
本文的结构如下:第二部分介绍基于序结构图的时间序列分析方法;第三、四部分介绍从小说抽取句子长度序列的具体步骤以及给出句子长度序列的转移矩阵及其特征;第五部分讨论并得到一些结论。
2. 基于小图的句子长度序列分析
考虑从文本提取到的句子长度序列,
(1)
其中N为句子的数量,
是第m个句子的长度。用一个长度是s的窗口沿着这一序列滑动,抽取出长度是s的所有可能的序列片段
(2)
每个序列片段隐含着对应叙述范围内的特征,不同特征序列片段的次序展开形成语言的节奏。
这里采用序结构图表达序列片段。把第m个片段
的所有元素按照从大到小的次序排列,得到一个新的数组:
(3)
其中
中的元素与
的元素存在一一对应关系,区别只是在数组中的位置不同。显然,存在一个唯一的矩阵gm把两者联系起来,也就是,
。这一连接两个数组的矩阵是一个s × s的方阵,每一行(列)只有一个元素为1,其他元素为零。第i行j列为1,其作用是把第j个位置的元素重置到第i个位置。把这一矩阵看作是一个图的邻接矩阵,这一矩阵对应唯一的一个网络结构,称为小图[17] [18]。本文中用gm表示位置转移矩阵,也表示这一矩阵对应的网络,称为序结构图。通过这种映射,句子长度序列
被映射为一个序结构图序列
。共有
可能的序结构图,形成一个置换群。句子长度序列的序结构图,是在这一置换群空间上的一条轨迹[23] [24]。
在每一对连续的序结构图之间,存在着唯一的一个s × s维的矩阵,把两者桥接起来,即
。显然,每个桥接矩阵也是置换群里的一个元素。所有的桥接矩阵,形成一个桥接图序列
。句子长度序列的桥接图序列,也是这一置换群空间上的一条轨迹。
计算中小图窗口选为4,对应的24个状态及其编号如图1所示。图1中,每一种代表着一种置换也就是一种4 × 4的矩阵。比如标号为24的小图中,有对角线上的元素为1,其他元素为零,表示每个置换都是自转移。
Figure 1. When the window is 4, the 24 subfigures and their numbering
图1. 窗口为4时,24个小图及其编号
句子长度序列的序结构图及其桥接图中的关联特征,可用转移矩阵来描述[22]。转移频率矩阵
定义为一个
的矩阵,其中矩阵元
是在整个序结构图序列g中,当前序结构图为n,下一个序结构图是m的出现次数,也就是从第n个状态通过一个时间步跳跃到第m个状态的次数。把转移频率矩阵中的矩阵元
替换为转移概率
,也就是从当前的第n个状态,通过一个时间步,跳到第m个状态的概率,
(4)
得到转移概率矩阵
。这两个矩阵也称为转移频率网络和转移概率网络。
转移概率网络
的特征值谱Λ,能够给出状态转移的很多有趣的性质。比如,最大特征值为1,对应的特征向量是每个状态出现的概率,第二特征根给出自相关系数的上界[22]。对于完全的Markovian过程,我们有,
(5)
其中Λ(k)是转移概率矩阵
的第k个特征根,
是其对应的特征向量。但是对于非Markovian过程,特征根随着时间延迟指数衰减并不成立,其差异可作为序列相关性的一个度量,对于下文的矩阵,我们计算其所有特征值,并按照大小进行排序,其最大特征值均为1,取其第二大特征根,通过观察转移矩阵第二特征根的大小,可以分析文本序列中相邻两句或几句话的相关性,进而通过语句之间的相关性反映作者的写作手法,对于不同的情况,研究Λ (2, vol)随章节的变化情况,其中横坐标为0的点表示随机打乱的数据。
本文为了对比文本序列与随机情况的差异,将文本序列的数据随机打乱作为随机序列数据。同时对句子序列进行重叠划分和不重叠划分两种方式,也就是滞后w为1和4两种情况。
3. 《追忆似水年华》句子长度序列分析
原始数据是法国作家Marcel Proust写的小说《追忆似水年华》的英译版“Remembrance of Things Past”。读取每一章,得到文本文件,对文件数据进行清洗(删除多余章节题目等),然后用识别标志句子结束的英文符号(包括句号、逗号、感叹号、问号、省略号等),从文本中提取出独立的句子,每一句中包含的单词数作为句子的长度。统计某一章中所有句子的长度,构成一个句子长度序列,长度范围在1.3 × 104~3.2 × 104。从每个句子序列,得到转移频率和转移概率网络,见图2。
Figure 2. Frequency network diagrams for different chapters, overlapping and non-overlapping cases
图2. 不同章节,重叠和不重叠两种情况下的频率网络图
为了更清楚地展示网络结构,我们对转移频率矩阵只保留数值较大的边,图中节点的排布均按照统一次序:每张图的最下边开始,逆时针按编号次序增加,其中将每个图中数值最大的三条边由红色高亮显示,由于网络近似对称,这里只给出从小标号到大标号节点的边(以下同)。
图2中(a1)~(a8)表示重叠情况下的频率网络,其中(a1)为随机数据的情况,(a2)~(a8)对应着小说的第1章节到第7章节,网络图可以看出,主要在节点6和8,18和20间转换,只有在随机情况下,12到14节点的转换偏多,后部分的章节在15到24间的转换增多,但总体还是在这些节点间进行转换,说明了在写作方面,作者有着明确的自我表达方式,且与随机情况不同。
图2中(b1)~(b8)为不重叠的情况,其中(b1)为随机数据的情况,(b2)~(b8)对应着小说的第1章节到第7章节,与重叠方式相比,转移的方式明显增加,但是由边的粗细程度可以看出此时转移的频率有所减少,节点间的转换主要还是在6、8、18和24这些节点间,说明在写作过程中,作者保持着较为一致的书写方式。同时可以看出尽管对于不同章节(除随机排列数据外),第24种矩阵的自转移都是处于比较高的转移方式,由重叠到不重叠的情况,主要转移的边减少也说明了小说文本中存在较强的短程相关而非长程相关。
图3的(a1)~(a2)给出了转移概率网络的第二特征根Λ (2, vol)随章节vol的变化,其中横坐标为0的点表示随机打乱的数据。(b1)~(b2)给出了各个节点的出度
,横坐标为节点的种类,其中(a1)和(b1)均为重叠的情况,(a2)和(b2)为不重叠的情况(以下同)。
Figure 3. Distribution of the second eigenroot and out-degree of each probability matrix in different cases
图3. 不同情况下,各个概率矩阵的第二特征根和出度的分布情况
从(a1)~(a2)可以看出,重叠情况下的第二特征根Λ (2, vol)要明显大于不重叠的情况,且不重叠时候的第二特征根都很小,进一步说明了小说序列存在较为明显的短程相关(即某句话能以较大的程度影响着后续相邻的几句话),而非长程相关(对于相距较远的语句影响程度会比较小)。(b1)~(b2)表明,随机数据的出度
的起伏与其他各章保持着一致性,出度较高的节点有6、8、12、16、18和24。
用转移频率网络边的倒数作为对应节点之间的距离,采用matlab中clustertree命令对节点进行聚类,得到聚类树如图4所示,由于这七章在聚类树上的表现都是相似的,比如在本图中,重叠情况下前三章均将节点大致分为4类(相同高度视为一类),例如(a1)~(a3)中节点2、5均与节点1一类,节点3、4、6为一类等,在不重叠的情况下这七章的聚类也是类似,如图4中前三章的节点6和8,18和24均处于相似的一类,因此本图中只给出了前三章的情况。其中(a1)~(a3)表示重叠情况下第1、2、3章的结果,节点分类大体上是一致的,说明了作者写作手法的相似性,而高度的数值不同表示了不同章节写作时作者在写作手法上的波动。(b1)~(b3)表示不重叠情况下第1、2、3章的结果,节点的分类有着明显的改变。
Figure 4. Clustering tree for each frequency matrix in different cases
图4. 不同情况下,各个频率矩阵的聚类树
4. 《红楼梦》句子长度序列分析
另一个例子中,我们选择中国古典四大名著中的《红楼梦》作为研究对象,这里用识别标志句子结束的中文符号(包括句号、逗号、感叹号、问号、省略号等)来划分句子,分割计数每句话中所含的字数作为句子的长度,根据不同作者来区分数据,选择前80回作为一部分,后40回作为一部分,统计每一部分中所有句子的长度,构成一个句子长度序列,并同样随机排序一组数据,得到约3.5 × 104~7.6 × 104句,将超过40,000的数据进行裁剪,保留前40,000个,少于该长度就按照就采用原数据进行研究,筛选后的网络图如图5所示。
图5中(a1)~(a3)表示重叠情况下的频率网络,其中(a1)为随机数据的情况,(a2)~(a3)对应着小说的第1部分(前80回)和第2部分(后40回),网络图可以看出两部分的转移主要在节点6和8,15和24以及24的自转移,只有在随机情况下,18到20节点的转换偏多,与随机情况下节点的区别说明了作者写作的特殊性。
图5中(b1)~(b3)为不重叠的情况,其中(b1)为随机数据的情况,(b2)~(b3)对应着小说的两部分,与重叠方式相比,转移的方式明显增加,但是由边的粗细程度可以看出此时转移的频率有所减少,体现出了较强的短程相关性。主要节点的一致说明了后部分的作者在有意模仿前作者的写作手法,但其他边的数值差异也体现了尽管有意在模仿,也避免不了写作的差异性。因此不同作者的词汇选择、语法结构等方面也会在一定程度上影响着句子长短的表达,进而也会影响着文本序列。同时较于前面的外文小说,红楼梦的主要节点更为明确,也体现了中英文的表达差异。
Figure 5. Frequency network diagrams for different chapters, overlapping and non-overlapping cases
图5. 不同章节,重叠和不重叠两种情况下的频率网络图
图6的(a1)~(a2)给出了转移概率网络的第二特征根Λ (2, p)随小说部分的变化,其中横坐标为0的点表示随机打乱的数据。(b1)~(b2)给出了各个节点的出度
。
Figure 6. Distribution of the second eigenroot and out-degree of each probability matrix in different cases
图6. 不同情况下,各个概率矩阵的第二特征根和出度的分布情况
从(a1)~(a2)可以看出,重叠情况下的第二特征根Λ (2, p)要明显大于不重叠的情况,且不重叠时候的第二特征根都很小,进一步说明了小说序列存在短程相关。(b1)~(b2)表明,随机数据的出度
的起伏与其他各章保持着一致性,值比较高的节点均为6、18和24等。
同样,用转移频率网络边的倒数作为对应节点之间的距离,得到聚类树,如图7所示。其中(a1)~(a2)表示重叠情况下两部分的结果,节点分类大体上是一致的,说明了作者写作手法的相似性,而高度的数值不同表示了不同章节写作时作者在写作手法上的波动。(b1)~(b2)表示不重叠情况下两部分的结果,节点的分类有着明显的改变。
Figure 7. Clustering tree for individual frequency matrices in different cases: (a1)~(a2) are clustering tree for two part frequency matrices when overlapping
图7. 不同情况下,各个频率矩阵的聚类树:(a1)~(a2)为重叠时两部分频率矩阵的聚类树
5. 结论与展望
文本是读者、作者、及其所处社会经济政治等环境共同作用的结果,是挖掘相关事实的重要资料源。文本挖掘是大数据分析和人工智能研究的一个热点方向。本文关注的是文本中隐含的作者叙事风格的信息。为此提出了一个文本分析框架:1) 从文本文件中抽取出所有的句子,其长度构成句子长度序列;2) 把句子长度序列划分成相继发生的序列片段,并把这些片段映射为网络结构,用以表征每个片段的结构,形成小图序列,也就是所有可能出现的小图构成完备空间里的一个轨迹;3) 从这一轨迹得到小图之间的转移矩阵,称为转移网络,其结构用于表征文本差异。
具体地,本文考察并比较了《红楼梦》和英文版《追忆似水流年》,发现后者比前者有更丰富的叙述语言的变化;红楼梦的前80回和后40回的序结构转移网络有共同的核心结构,同时其它结构有着显著的差异,表明后40回的作者在模仿并保持前80回作者叙事风格的主观努力和客观的差异;不同作者有着各自的叙事风格,同时每个作者的叙事风格又有很好的一致性。这些发现丰富了人们对文本挖掘的知识。
本文提出的研究框架具有普适性,可推广到基于文本的社会、经济、语言、心理等的研究。
NOTES
*第一作者。
#通讯作者。