智庄禾和尚书
核心提示
日前,由北京师范大学数学科学学院数学建模教育中心主办的“高中数学建模(应用)能力展示活动”举行,来自扬州中学的两支队伍获得一等奖。其中,扬州中学早培高一的尚书、智庄禾、包城竹同学组成的队伍,选用了KNN算法对《红楼梦》一书中虚词的使用进行了研究,得出了《红楼梦》前80回和后40回确实由两人所作的结论。文学如何与数学碰撞?他们的“红学”研究价值在哪里?昨天,记者进行了采访。
扬中学子获一等奖
用数学算法研究《红楼梦》
此次高中数学建模(应用)能力展示活动由北京师范大学数学科学学院下属数学建模教育中心举办,吸引了全国296个队伍参与。最终,71支队伍脱颖而出,参与由主办方组织的专家团队作为评委的线上答辩,角逐一、二等奖。
“《红楼梦》前八十回与后四十回是否由同一作者所写?也是研究中争论颇多的焦点问题。我们采用KNN算法对全书进行分析,证实了《红楼梦》前八十回与后四十回有明显的用词差异,应存在两名作者。”项目主要负责人尚书告诉记者,他与包城竹、智庄禾同学组成的团队,经过了一个多月的研究,最终提交了《从虚词使用角度分析〈红楼梦〉作者争议》的论文,通过了专家组评审,最终获得一等奖。
“我从小学五年级开始读《红楼梦》,至今已读了几十遍,《红楼梦》确实是一本包罗万象、常读常新的名著。”从小学三年级开始接触计算机编程的尚书,萌发了用算法对《红楼梦》一书中虚词的使用进行研究,“相比较主观的文学,数学模型是‘冷酷无情’的,不以研究者意志为转移。”尚书告诉记者,他父亲是计算机系毕业,自己对编程也很感兴趣,思维也有所改变。
计算虚词使用差异
得出《红楼梦》存在两个作者
如何用数学算法研究《红楼梦》?尚书和他的小伙伴们选择了目前最为通行的120回程甲本作为原始文本。
首先是模型假设。作出以下假设:同一个作者对虚词的使用有一定的模式可循,且这一模式对于不同作者是不同的。
“这一假设为许多曾从数学角度研究《红楼梦》的学者所采用。”尚书介绍,例如学者赵冈认为,助词在句中都不起主要作用,与内容和情节无关,并且“这些字的用法是完全受习惯的支配”,可以作为判断不同作者的标准。
对虚词,他们作出如下定义:它不是数字、专有名词等有特殊意义的汉字,即使它可能在特殊意义外仍有一般的意义。它没有确定的意义,或虽有确定意义但存在较多的不同使用搭配。如“这”“了”等字符合虚词的定义,“连”字虽有确定的意义,但存在较多的不同使用搭配,故也符合虚词的定义。而“贾”“玉”“黛”等字则不属于虚词。
在模型建立阶段,尚书和同学们采用KNN算法(最近邻居法)对问题进行分析,他们从1-80回和81-120回中各随机选择10回作为训练数据。对于虚词的选定标准为:在全文出现次数最多的70个汉字中,选择符合标准的49个虚词进行比较:了、不、的、一、来、人、道、我、是、说、这、里、也、有、那、儿、去、见、么、只、个、他、家、便、好、年、都、其、当、今、正、住、为、如、连、心、老、发、无、事、意、然、过、很、出、把、听、样、拿。
尚书和伙伴们通过将各个虚词的使用频率组合,形成一个49维向量,用欧几里得距离计算虚词使用的差异。通过上述方法,进行1000次计算后,得到结果分析后,认定《红楼梦》前80回和后40回存在明显的虚词使用上的差异,证明《红楼梦》存在两个不同的作者。
红学专家
用现代科学研究古代小说值得鼓励
记者了解到,早在20世纪50年代,瑞典学者高本汉最先使用统计学的方法对《红楼梦》进行研究,他以有正本的前八十回和程甲本的后四十回为蓝本,对虚词的出现次数进行评级。得出结论,《红楼梦》前后百二十回均出自曹氏一人之手, 没有续补之说。另外,复旦大学数学系李贤平教授利用统计学中的聚类方法,对《红楼梦》的作者进行了分析,并提出了《红楼梦》的成书新说。
“青少年热爱中国传统文化,用现代科学的研究方法去研究古代小说,这个是一件很值得鼓励的事情。”扬州红学专家方晓伟说,他认真阅读了孩子们的研究成果后,也提出了一些建议。“虚词的选定,要仔细斟酌,依我看,‘拿、道、心’这几个词显然不是虚词。”
“通过虚词等词汇的使用频率来发现文本的差异与端倪,孩子们做这样的尝试,值得鼓励。”扬州文史学者韦明铧告诉记者,希望孩子们通过生活更加深刻理解《红楼梦》的伟大。
尚书和同学们坦言,他们的尝试还很粗浅,只是想为“红楼梦的作者有不止一人”这一说法进行一份探索。 记者 刘冠霖
编辑 : 胡妍璐
更多内容请打开紫牛新闻, 或点击链接