Pure Mathematics 理论数学, 2020, 10(5), 549-555
Published Online May 2020 in Hans. http://www.hanspub.org/journal/pm https://doi.org/10.12677/pm.2020.105067
An Analysis of the Authors of A Dream of Red Mansions Based on Equivalence Checking and Feature Clustering
Dongbo Cheng, Xiaoling Ke*, Shixin Lin
College of Mathematics and Data Science, Minjiang University, Fuzhou Fujian
Received: Apr. 27, 2020; accepted: May 20, 2020; published: May 27, 2020
ththth
Abstract
The equivalence checking model is introduced to calculate the test statistics U and p values by se-lecting the statistical frequency of “red” and “jade”. According to U-tests and probability compara-tive table, differences between the first 80 chapters and the last 40 chapters are preliminarily concluded. Many cases are clustered by word frequency with K-means clustering and agglomera-tive clustering. The results show that there are differences in word frequency used in A Dream of Red Mansions, and there is more than one author.
Keywords
Equivalence Checking, Feature Clustering, K-Means Clustering, Agglomerative Clustering
基于等价性检验和特征聚类的《红楼梦》作者分析
程东波,柯小玲*,林施鑫
闽江学院数学与数据科学学院,福建 福州
收稿日期:2020年4月27日;录用日期:2020年5月20日;发布日期:2020年5月27日
摘 要
引入等价性检验模型,选取“红”、“玉”二字统计频数,计算检验统计量U与p值。根据U检验值与概
*
通讯作者。
文章引用: 程东波, 柯小玲, 林施鑫. 基于等价性检验和特征聚类的《红楼梦》作者分析[J]. 理论数学, 2020, 10(5): 549-555. DOI: 10.12677/pm.2020.105067
程东波 等
率对照表,初步得出前80章与后40章存在差异,并非一人所著。同时选取K均值聚类与凝聚聚类,根据词频聚类出多种情况。结果表明,《红楼梦》全书使用词频均存在着差异,其作者不止一人。
关键词
等价性检验,特征聚类,K-均值聚类,凝聚聚类
Copyright ? 2020 by author(s) and Hans Publishers Inc.
This work is licensed under the Creative Commons Attribution International License (CC BY 4.0). http://creativecommons.org/licenses/by/4.0/
Open Access 1. 引言
《红楼梦》是中国古典四大名著之一,清代作家曹雪芹创作的章回体长篇小说。由于其在传播和保留过程中出现缺失,当下普遍的观点是前80回是曹雪芹所著,高鹗续写后40回。
前人的论述已经多从文学用语和数理统计学两大方面反复地论证过,并且得出结论:《红楼梦》前80回与后40回的作者并非同一人,甚至《红楼梦》全书也非一个作者所著。瑞典汉学家高本汉(B. Karlgren) 早在1952 年用统计学方法分析了32个语法和京话与口语词汇的用字习惯,认为全部120回均为曹雪芹所著[1];而胡适先生在20世纪20年代用文本的文学分析和文献考证方法认定前80回为曹雪芹所著,而后40回为高鹗所著[2];至今,更加有人认为,前80回也并非出自同一人之手[3]。
采用统计方法进行研究的主要有:李国强[4]等根据《红楼梦》的词频及其相关性进行研究,得到前中后各40回的相关度很高,但两两相关度很低的结论。而施建军[5] [6]利用支持向量机方法得到了前80回和后40回在写作风格上存在明显差别的结论,但其聚类方法不能为判断作者提供可靠的依据。叶雷[7]则使用文体特征进行K-means聚类,得到了后40回不是前80回作者所著的结论。
本文主要利用特征聚类对《红楼梦》前80回和后40回进行文本分析。分析《红楼梦》120回的词量、词频,确认其是否为同一作者所著,并用等价性检验模型进行验证。
2. 基于等价性检验的《红楼梦》作者分析模型
2.1. 数据预处理
统计全文中“红”、“玉”的字频,得到表1所示数据。根据表1的数据可以绘制“红”、“玉”二字在前80回和后40回的频率,如图1所示。由此,容易看出“红”、“玉”两字在前80回与后40回的频率存在差异。
Table 1. Statistics of frequency of “red” and “jade” in the full text 表1. 全文中“红”和“玉”的频数统计表
“红” “玉” 合计 总字数
前80回 470 3264 3734 561,093
后40回 153 1720 1873 276,659
前80回频率 0.0838% 0.5817% 0.6655%
后40回频率 0.0553% 0.6217% 0.6770%
DOI: 10.12677/pm.2020.105067
550
理论数学
程东波 等
Figure 1. The frequency of the words “red” and “jade” in the first 80 chapters and the latter 40 chapters of A Dream of Red Mansions
图1. 《红楼梦》中“红”“玉”二字在前80回频率和后40回频率
2.2. 等价性检验模型的建立与求解
选取等价性检验模型,假设前80章与后40章两个样本并未存在显著差异,即作者为同一人。根据表1,《红楼梦》前80章回和后40章回的“红”字和“玉”字出现的频数分析数理统计学的问题,求解等价性检验模型。这一检验问题可化为两个相互独立的二项总体的等价性检验,此时:X1~b(n1,p1)表示前80回的二项分布,其中n1=561093,其实测值为x1=470,X1表示前80章回的“红”字出现的频数,
p1表示前80章回“红”字出现的频率;X2~b(n2,p2)表示后40回的二项分布,其中n2=276659,X2
表示后40章回的“红”字出现的频数,其实测值为x2=153,p2表示后40章回“红”字出现的频率。
采用渐进正态检验,计算检验统计量U,进而计算检验的p值,即:否定原假设而犯错误的概率。解得记“红”字的检验统计量U1≈4.494465。重复上述步骤解得“玉”字的检验统计量U2≈2.238018。等价性检验模型的U检验值与概率对照表如表2所示。
Table 2. Comparison between U test value and probability 表2. U检验值与概率对照表
U检验值 2.4360 2.3590 1.8622 1.5811 1.4325
p-值 0.0074 0.0092 0.0313 0.0569 0.0760
可信概率% 99.26% 99.08% 96.87% 94.31% 92.40%
通过表2可得:U检验值越大,则可信概率就越大,即:拒绝原假设,差异就越显著。从数值模拟获得的数据分析,“红”、“玉”两字的U检验量足够大,表明前80回与后40回确实存在显著差异。 但无论观察图表,或是对照等价性检验的结论,都可以发现其中明显的问题:等价性检验所呈现的结果存在偏差,寻找其原因也能很容易发现,“玉”字与主角名字有很大的关系,而主角之一的“林黛玉”在后40章已经去世,这就对这个字的频数造成一定的影响。
综上,该方法中存在两个缺陷。其一,适用性差。因为需要抽取样本逐一进行等价性检验,对多个样本重复操作的过程将会十分繁琐;其二,模型稳定性差。针对于“红”和“玉”两个样本,出现了U检验值不小的差异,足以说明不同样本之间存在的差异性会受到其余因素的影响,且每个样本之间可能会出现矛盾。
DOI: 10.12677/pm.2020.105067
551
理论数学
程东波 等
所以,进一步选取特征聚类验证继续验证猜想。
3. 基于聚类分析的《红楼梦》作者分析
3.1. 数据处理
以每十章回为样本,分别对特征词频进行统计,选取代词进行统计,结果如图2。
Figure 2. Example of word frequency after word segmentation by part of speech (part of speech)
图2. 按照词性(词性)分词后统计的词频示例
根据分词结果统计每十回的代词词量,如下表3所示。
Table 3. Number of pronouns per decade 表3. 每十回的代词词量
1~10回 11~20回 21~30回 31~40回 41~50回 51~60回 61~70回 71~80回 81~90回 91~100回 101~110回 111~120回 218
188
158
169
155
187
179
174
139
148
148
163
其次,将各个代词的词频按照递减的顺序排列,选取词频排行前50的代词词频来作为第一次选取的特征向量,如图3。
Figure 3. First eigenvector
图3. 第一特征向量
显然在第一特征向量的代词中,并不是每个样本的第一特征向量的元素都相同,因此进一步提取数据。在第一特征向量中,统计在每个样本中都出现的元素,如图4。
根据我们划分样本的方式,上图中的数字为12的即表示每个样本中都包含的元素。因此,将每个样本中都包含的元素作为第二特征向量,每个向量中包含27个元素,即为最终选取的特征向量。并将每个样本中的数据进行提取,最终的数据提取的结果如图5所示。
DOI: 10.12677/pm.2020.105067
552
理论数学
程东波 等
Figure 4. Elements in each sample 图4. 每个样本中包含的元素情况
Figure 5. Finally selected data example 图5. 最终选取的数据实例
根据选取的27个特征值,依次提取相应的词频,组成特征向量,如图6。
Figure 6. 12 eigenvector data of samples 图6. 12个样本的特征向量数据
3.2. K均值聚类和凝聚聚类的聚类结果分析
使用python机器学习模块Scikit-Learn模块进行求解。
将K均值聚类模型实例化,将处理后的特征向量应用到算法模型中,解得:
Figure 7. K-means clustering of two categories 图7. K均值聚类两个类别的聚类情况
DOI: 10.12677/pm.2020.105067
553
理论数学