引言
《梦溪笔谈》是北宋沈括撰写的综合性笔记体著作,从现代的学科分类角度出发,它记录了涉及政治、历史、语言、天文、数学、物理、化学等各个领域的知识。然而知识在当时的分类并非遵循我们今日的学科分类系统,而是有其独特的方式。并且各种知识与后世的读者以及他们的知识世界之间建立联系,不断发生变化,乃至生成新的知识。
看似“毫无体系”的类目,以及条目间“缺乏必然的逻辑”,却通过各种文献的引述、编撰、再分类而生成新知,呈现出旺盛的知识生命力。随着知识的精确理解,《梦溪笔谈》中处于生成状态的知识得以定型,类目变得明确,这也意味着其活力的减弱。
将这种难以用文字表述的抽象复杂关系通过可视化的方式呈现,将更好地帮助历史学者讨论知识生成的相关话题。
数据特征分析
本课题所涉及的数据,主要来源于“鼎秀古籍数据库”检索所得引述或评论《梦溪笔谈》的结果,再加以结构化。目前整理的数据包含216条引述数据,每条数据包括《梦溪笔谈》数据、引文、引述《梦溪笔谈》的文献三方面内容,其中《梦溪笔谈》数据又包含版本数据、卷次、主题、条目数等,引述《梦溪笔谈》的文献数据则包含该文献的作者或编者信息、出版者信息、序作者信息、题跋者信息等。
在探索中,我们着眼于引用数据的“层级结构”与“流传关系”两个主要特征,并将引文看作书与书之间的连接——当引文从一本书流向另一本书,也意味着其在书、类、卷、条四个层级上的流动;每个层级又能构成不同粒度的主题,可以关注主题分布和每个主题的引文语义分布。在流传中可能涉及到主题、类目等文化知识的变化,反应着人们在不同时期的认识论演变,承载着文化传承现象。
迭代设计
如何多层级地探索《梦溪笔谈》的知识生长模式?在初步图形设计中,我们选择桑基图来体现量级的流变,其节点嵌入多层级的树图,节点间的流作为引文连接书与书之间的层级关系;同时,加入时间轴来编码书的顺序。
在探索过程中,我们尝试了冰柱图、BarcodeTree等多种可视化方法,使之在展示层级关系的同时,隐喻古书简的展开;并尝试纵向编排桑基图,时间由下向上流动,隐喻“知识生长”。
确定主视图后,我们对整体的页面布局与交互逻辑进行了一系列设计迭代。
一些看似在迭代过程中被舍弃的方案,在后续实现的过程中,产生了相似的效果(例如图3为对书的编码设计方案,图6为最终“书”层级节点的实现效果);不同的洞察在最终实现中收束。
设计方案形成
编码规则
Node
层级分为书、类、卷、条目,其中《梦溪笔谈》的类和类之间用颜色区分。层级编码为长方形,图形宽度与引用量成正比,其颜色组成由引用梦溪笔谈的类别确定。
Link
通过交互,引文与原文将相互连接,以便用户观察原文在时间与主题维度上的知识流向。直接引用的条目使用实线相连,间接引用的条目使用虚线相连。
界面布局
纵向时间轴
系统纵坐标将引文所在的26本书按写作时间从下到上依次排序,《梦溪笔谈》为时间轴的起始点。鼠标经过书籍可显示此书的书名、写作时间及作者此类基本信息。
控件区
界面右下方为控件区域,引文层级控件可以切换书籍的目录层级,原文层级控件可以切换《梦溪笔谈》的目录层级,通过两部分的多种切换和组合方式,用户可以探索《梦溪笔谈》和后世书籍各自分类在不同层级之间的相互关系。
用户交互探索
从《梦溪笔谈》到被引书目
从被引书目到《梦溪笔谈》
系统实现与案例分析
以《梦溪笔谈》视角中心,我们今天看来是“算命/术数”的知识和“天文”的分类放在了同一个类名“象数”下。在沈括的世界观中,天文历法的知识是为术数服务的。而通过关注《梦溪笔谈》中“象数”卷名的再分类,我们可以看出后人如何细化知识。
在被引用书目“类”的展示层级,可以看到《晦庵先生朱文公文集》将象数的知识分别分到了“易经”和“日月”的类下,《古今图书集成》放到“历象汇编”的类下,《月令粹编》放到“月令”的类下。再点开卷和条的界面,可以发现所引书目的卷名和条目名都是同“历法”相关。
从引用书目为中心出发,我们可以以一种阅读史的视角,关注后世读者更加关注《梦溪笔谈》中的哪些内容。同样以《晦庵先生朱文公文集》为例,它引用了《梦溪笔谈》中“辩证”“官政”“乐律”“书画”“象数”“艺文”“杂志”七个类,同时将这些类重新放在作者的知识框架内。
结语
总体而言,这种复杂的层级结构的关系比对需要借助可视化,仅仅依靠数据表格无法完成直观的分析。从《梦溪笔谈》的个案出发,我们将更能了解书籍史家罗伯特·达恩所谈到的“对当地人特具意义,而自己却不得要领的东西”,从而更好地掌握当代和古代素昧平生的知识系统。
暑期学校优秀课程设计将陆续收录在可视化看中国网页:
https://vis.pku.edu.cn/vis4china
暑期学校网页:
https://chinavis.org/s24