朱 琳,冯慧敏,刘 铭,张鹏雷,唐 杰,陈镱文
(西北大学 科学史高等研究院,西安 710127)
近年来出土的秦代简牍材料,为研究战国晚期至秦代的历史提供了鲜活而可靠的资源。其中里耶秦简内涵丰富,作为研究秦历史文化的重要实录性材料,对于了解秦代社会全貌具有重要意义。但由于简牍特殊的保存环境,存在大量的散乱、残断简牍,不仅如此,其文本晦涩难懂,涉及诸多人物、事件,给人工分析带来了很大困难,严重影响了简牍文献材料的开发与利用。
近年文本挖掘技术的发展为大规模的历史文化资料定量分析提供了坚实的基础,学者已经成功将文本挖掘技术应用于《全唐诗》[1]《汉典》[2]《孟子》[3]及《左传》[4]等传世文献的分析。而针对出土文献则更注重建立相关数据库[5-6],甚少涉及利用文本挖掘技术对简牍文本进行分析。
相较于其他简牍,里耶秦简数量巨大且内容丰富,仅一、二卷就有八万余字,除了文本数量优势外,释读得如此完整的简牍更是少见,已出版的《里耶秦简校释》一、二卷[7-8]对简文进行了深入的释读,为后续准确理解诠释实验结果提供了基础。除此之外,文本分词对后续的挖掘研究至关重要,但简牍中未登录字、残断问题突出,已有的分词研究不能直接适用于简牍文献,语料处理难度极大,而目前课题组已经针对里耶秦简一、二卷的文本进行了分词,至此语料已具备进行文本挖掘研究的前期基础条件。虽然文本挖掘实验是一种探索性、创新性工作,但不难看出,里耶秦简一、二卷的主题挖掘结果与校释一卷中给出的主题内容徭役、邮传、禀食、案件诉讼等等均能对应,证实了通过文本挖掘方法来把握其主题内容具有一定的可行性。
文章利用文本分析技术对里耶秦简一、二卷文本进行研究,该方法打破了传统的人文学者研究模式,主要通过关键词提取、词频统计、文本摘要及主题模型等方法对简牍材料中涉及的主要制度内容进行不同维度的提取和挖掘,并为后续的研究提供参考与借鉴。
根据目前的史学研究可知,里耶秦简中大多是迁陵县廷与其上级洞庭郡府和下属司空、仓官、田官诸署以及都乡、启陵、贰春三乡的往来文书和各种簿籍,主要内容涉及郡县与官署设置、官吏的考核步骤、赋税徭役、诉讼、作物、邮传等等。[7]2
本文的研究框架如图1所示,首先选取已出版的《里耶秦简校释》第一卷与第二卷作为原始语料,对其进行数据预处理,包括分词、去停用词以及运用TF-IDF算法对语料进行特征词提取,得到其特征词语料。在此基础上,运用词频统计、文本摘要及LDA主题建模等多种挖掘方式对其中的主要内容及制度进行词、事件、主题等不同维度的挖掘。
1.语料预处理
语料预处理包括对简牍文本进行分词、去停用词和特征词的提取,由于简牍文本中存在大量未登录字及残断情况,为语料预处理带来了极大困难。根据文本特点,本文的语料预处理方案如下:第一,分词。简牍语料分词工作相对于现代汉语及传世文献来说存在更大的处理难度。实验采用本课题组得到的分词结果。第二,去除停用词。为了得到更为有效的结果,需要去除其中与主题无关的词以及符号,本文采用的停用词表为针对里耶秦简一、二卷人工制作的停用词表。第三,基于TF-IDF的特征词提取。在经过去停后,还需要对语料进行关键词提取以提高模型数据输入的有效性,TF-IDF(词频—逆文档频率)算法是信息检索中最常用的一种文本关键信息表示法,用以评估一个字词对于一个文件集或一个语料库中的其中一份文件的重要程度。其计算公式为
TF-IDF=TF×IDF
。
(1)
其中TF为词频,IDF为逆文档频率。对经过(1)(2)步处理的语料进行TF-IDF计算,经比较,我们选取了排名前20的词汇作为文本的特征词,得到一、二卷的特征词语料。
2.TextRank文本摘要算法
目前,文本摘要算法主要分为抽取式方法和生成式方法,前者是从原始文档中提取关键文本单元来组成摘要,文本单元包括但不限于单词、短语、句子等。抽取式方法产生的结果会留有正确的语法及原文中的显著信息,后者则会根据对原始文本的理解来形成摘要,模型试图去理解文本的内容,为了接近摘要的本质,可能会生成原文中没有的内容。根据前述的简牍文本特点,本文利用抽取型的TextRank算法来处理语料。TextRank模型是一种基于图模型的关键词排序算法。[9]首先其不需要很大的文本量,只有单篇文档亦可以进行摘要抽取;其次无需事先对文档进行训练,这与机器学习中的隐马尔可夫模型、条件随机场等模型不同。
综上,本文利用TextRank文本摘要算法将里耶秦简的主要事件从庞杂的语料中抽取出来,以抽取结果来探究简文中的主要内容。
3.LDA主题模型
LDA(Latent Dirichlet Allocation)是D.M.Blei于2003年在PLSA(概率潜在语义分析)模型的基础上提出的一种更加泛化的文本主题模型,称作潜在狄利克雷分布,通过无监督的学习方法发现语料库中隐含的主题信息。[10]本文利用LDA模型的主题建模结果之一,即主题—词概率分布来获取一、二卷中的主要主题及具体内涵,从主题的角度来对简牍内容进行分析。
在LDA主题建模中,主题数目对于结果的分析至关重要,若主题太少可能会将不相关的主题融合在一起,若主题数量太多又会导致相关内容分裂为单独的主题,造成主题冗余或不相关主题的积累。困惑度是用来评估语言模型优劣的指标,较小的困惑度意味着模型对新文本有较好的预测能力。[11]在LDA主题模型中,困惑度计算公式如下:
(2)
其中,D表示语料库的测试集,共M篇文档,Nd表示每篇文档d中的单词数,Wd表示文档d中的词,p(Wd)即文档中Wd产生的概率。
本文最优主题数目的评价采用困惑度指标最小与人工验证相结合的方法。根据困惑度最小可以确定最佳主题数目,但是仅根据困惑度选取的主题数目往往偏大,从而导致抽取的主题之间辨识度不高,因此本文采用上述两种方法结合验证。
本部分根据前述研究框架对语料进行处理,运用其中的实现方法分别对其进行处理,并根据实验结果对里耶秦简一、二卷中的主要内容进行分析。
本实验采用TF-IDF算法计算得出前十个特征词为关键词,提取出与其相关的所有语料,对这部分语料分别进行词频统计,得到与特征词具有高度相关性的前20个词。词频统计结果见表1。
表1 里耶一、二卷文本关键词共现结果
迁陵是秦代洞庭郡下属县,敢言、 敢告、律令、从事等词均为文书的固定用语,发、邮行为文书的传递用语,可得里耶简语料主要是以洞庭郡迁陵县的文书档案记录为主,具体往来官府涉及其上级洞庭郡、同属洞庭郡府酉阳县及迁陵县下属启陵、贰春、都乡三乡等地。秦代国家通过发达的文书制度对社会进行了有效控制,文书的上传下达保证了机构间的高效沟通,具体分析如下:
1.作徒簿文书
秦代对于刑徒的管理,不仅通过法律上的各项规定,还通过严密的簿籍来对其日常活动进行严格的控制,作徒簿类文书即是一个窥探秦代刑徒管理相关问题的窗口。
通过词频结果分析可以看出,其结果与现有研究基本一致。徒簿类文书为里耶中的一类重要文书,记录了秦代迁陵县“徒隶”劳作的相关信息,记载了诸多刑徒的工作分配情况。[12]秦代编制作徒簿的机构有司空和仓,实验结果中司空和仓均与作徒簿共现。不仅如此,朱圣明认为刑徒分派结果大多有明确目的地,在里耶中存在分配至迁陵县下属三乡即“启陵”“贰春”“都”(即“都乡”)[13]的情况,而实验结果中此三乡均与作徒簿共现,分别共现31次、26次和20次。
2.债务文书
债务问题是社会经济史中的重要部分。观察实验结果可得,阳陵县与“敢言”“洞庭”“司空”这三个主题词分别共现了53次、58次、40次,经查阳陵在里耶文本中共出现了61次,其中59次出现于里耶简牍9-1至9-12,大意为阳陵司空负责向洞庭郡写信追还士五、上造、公卒等所欠债务,请求此人所在地官府还债,洞庭郡负责调查此人目前在何县署,吴方基认为此批文书为跨县追债的一种情况。[14]文书完整地反映了秦代跨县追债的具体流程与细节,同时也侧面反映出司空的主要职责之一为追讨债务。
3.粮食管理
从上述词频结果中可以看出,粮食管理记录在里耶简牍中占据了非常重要的地位,关键词“令史”“粟米”“乡守”“视平”中均有涉及。
仓储是粮食管理中的重要一环,“廥”的设置与管理,是秦代仓储禀食的核心环节,也是秦代禀食制度的关键。廥在里耶简中颇为常见,并且多有名称,秦始皇二十六年至三十一年期间出现的廥至少有四处,分别是径廥、乙廥、丙廥、西廥。[7]42
从里耶简所载看,禀给的绝大部分粮食种类都是粟,且其形态无一例外都是粟米[15],这一点由其排名第6的关键词“粟米”体现,其为里耶简前十个关键词中唯一一个作物名称。而与“粟米”关系最为紧密的“廥”为“径廥”,其与“粟米”共现20次,而“廥”在里耶语料中共出现过30次,由此可推测在秦迁陵县辖区内,“径廥”曾是最常使用的一个粮仓,这与谢坤在对里耶中的“廥”进行分析时所得出的结论一致。[16]
官方的粮食管理机构向特定人员发放粮食的行为称为禀食,禀食过程需要遵循一定的程序。目前可知禀食的流程应当至少包括“发放前的准备”“量谷发放”“文书归档整理”几个主要环节。[17-18]而具体发放时,则需要多人参与完成。睡虎地《效律》中简27-28记载“某廥禾若干石,仓啬夫某、佐某、史某、禀人某”[19],此简为秦代关于禀食文书记录的官方依据。
从上述词频共现结果可得,“粟米”“令史”“视平”“乡守”等关键词均指向禀食的管理以及记录,与上述几个关键词共现的禀人、史、佐、仓、仓守、乡守等均为禀食发放的管理者,经过整理,里耶秦简所见禀食文书记录也可大致总结为“某廥粟米若干石,某年月仓/仓守/乡守/田官守某、佐/史某、禀人某出禀某,令史/令佐某视平,某手”。由此记录可看出,禀食发放至少需要三人以上参与才行,并且分工明确,仓、仓守、乡守、田官守等负责主理,佐、史负责记录监督,禀人负责具体劳作。
“感”与“令史”“视平”两个关键词分别共现37次和36次,经查,“感”在里耶简一、二卷中共出现81次,其以“史感”出现31次,以“感手”出现32次,其多次参与禀食发放监督及记录且主要集中在卅一年,根据上述记录总结,可推测其为秦始皇三十一年间粮食发放最重要的管理者。监督者中令史“逐”视平14次、令史“尚”视平12次、令史“扁”视平10次,可推测这三人均为监督禀食发放的重要管理人员。
综上,里耶秦简中主要为洞庭郡迁陵县的文书档案,包括其与上属洞庭郡府,同级酉阳县以及其下属启陵、贰春、都乡三乡的往来文书,且其中多为债务、粮食及徒簿类文书。可以看出从词频角度对简牍材料的文本内容进行分析具有一定的可行性。
根据上述研究框架抽取文本摘要,见表2,并从事件的角度对其内容进行分析。
表2 TextRank文本摘要算法结果
摘要1为政府与其官吏之间由于工作等原因而产生的具有负债或者赔偿关系的文书。大意为官吏“烦”在任时没有按要求备足粮食,导致其需要赔偿部分粮食,虽然其已迁至他地,但这项债务却一直未偿还,于是发文询问其赔偿的金额要由哪方县政府记入账目,并且将记录这一债务的校券转移至其现居县。[20]129摘要2描写了一个因欠债而在迁陵县戍守的外郡戍卒。籍贯为巫县的徐为外郡人,由洞庭郡尉派遣至迁陵,“徐”很可能是因欠债而在迁陵县戍守的外郡戍卒。摘要3为里耶简牍9-8,是一种洞庭郡行政事务内部协调的文书,根据词频统计结果可知,此摘要记录为跨县追债记录,完整地展现了跨县追讨债务的流程和细节。[21]摘要4为粮食的运输记录,记载了秦代迁陵县利用公船转运粮食的情况,是秦代粮食运输情况的缩影。摘要5为一条刑徒管理记录,描述洞庭郡安排坐罪者六十六人的服刑地点,将这些人安排于迁陵服刑,由迁陵司空管理。[22]摘要6为一官府的公船管理记录,为政府与私人之间的债务往来问题,此摘要抽取出了一个完整的事件,“狼”向政府借用公船,之后发现船已丢失,于是将此事写于券上并交给地方政府,相信报告了时间经过。[20]128
根据抽取结果可以看出,里耶一、二卷文本中涉及大量的债务文书,主要包括居赀赎债。为无法足额缴纳赀罚以劳役代偿称为居赀;无力缴纳赎金而以劳役代偿称为居赎(摘要2、3);而居债则是因为欠了公家债务,其本身并未犯罪,秦简当中经常可见官府与百姓间的借贷往来记录,在经济借贷过程中,若因自身原因造成官府损失需要按律赔偿,此时相当于“有债于公”(摘要1、6)。[23]
由词频实验可知粮食记录是其档案文书中重要的组成部分,摘要抽取结果中得到的粮食相关记录为运输管理记录(摘要4),综合两项实验结果可知秦代对于粮食的运输、储存、管理、发放相关环节均十分重视。
律令类记录多见于其他秦简,如睡虎地秦简中的《秦律十八种》《法律答问》,岳麓中的《秦律杂抄》《秦令杂抄》等等,相比之下里耶一、二卷中的律令类内容则主要是通过刑徒管理(摘要5)、仓储管理、邮驿津渡管理(摘要6)等等管理类的记录来侧面体现,通过这些记录,勾勒出了秦代官府的日常运作及各类制度,鲜活地反映了秦代县级政府日常运作的面相。
综合上述分析可知,文本摘要的计算结果主要分为三类,分别为官府与官吏或私人间的债务问题、粮食运输管理、刑徒管理记录。相较于词频实验,文本抽取结果均为里耶材料中较为完整且具有代表性的事件,能够较好地涵盖简牍材料的主要内容,并且能够更为细致生动地展现秦代官府之间的沟通、管理的具体细节。
依据前述研究框架,本文采用困惑度与人工评价相结合的方式对模型进行评价从而选取最合适的主题数目,结果显示,困惑度在主题数为12及15时最小,结合人工分析判断,最终确定12个主题为一、二卷内容中最为合适的主题数量。
如表3所示,实验以12个主题数为基础,利用LDA模型得到主题—关键词概率分布,分别描述了每个主题的概率分布排名的前15个关键词,根据特征词提取方法,这些结果词大多具有高度语义,代表了里耶一、二卷中的重要主题。
表3 主题—关键词概率分布
主题2中“迁陵”“洞庭”均为地名;而“廷” “丞”“守丞”“司空”等均为官职或机构名称, “廷” 为县廷,杨宗兵简文例中分析,“守”“丞”及“守丞”互见无别[24];“发”为拆阅文书,“邮”传达文书的机构,其均为传递、收发文书时所用,所以主题2可以定义为洞庭郡迁陵县的文书邮传。
主题6中“斗”“石”“半”“升”等词均为粮食计量时所用;“令史”“佐”为官职,当仓、少内等机构进出粮食及财物时,需要有人监督,称为“视平”,或简称为“视”“平”“监”。秦简显示,监督人主要是令史,但也可见到令佐担任监督人的情况,所以主题词中的“佐”有可能为令佐;“敬”多为债务文书的记录者,涉及对欠债戍卒的粮食发放,所以主题6可定义为欠债者的粮食发放。
主题9中排名最前的主题词为“甲”“赀”,“赀”为有罪被罚款或罚物者,“赀甲”“赀盾”皆可以代偿赀款或物,“赀甲”为财产惩罚的一种;而官职“令佐”的职责也包括参与司法事物、监督财物的进出,简牍9-119中记录“令佐赣入赀钱七百七十六 元年八月庚午 令佐赣监”[8]70-71,所以主题9可定义为赀罚问题。
LDA主题模型从主题的角度进一步对里耶文本进行解析,凝练出了邮传、赀罚、粮食、债务者粮食发放等等主题,由于简牍文本的特殊性和简文的多义性,其处理难度极大,其余主题中的关键词较为散乱,目前难以给出确切的定义,需要进一步针对其中较为清晰的内容进行分析。
文本挖掘方法为人文学科中的计算机辅助解释提供了一个有效的方法。本文在近年来国内外相关研究的基础上,以里耶秦简一、二卷为例,针对简牍文本进行特征词提取,构建里耶相关的词表、停用词表等,结合文本挖掘技术进行语料抽取与统计,运用词频统计、文本摘要及LDA主题模型等方法,分别从词、事件以及主题三个角度来对其中的相关可定义内容进行挖掘研究。研究显示一、二卷中主要以洞庭郡迁陵县的文书档案记录为主,具体往来官府涉及洞庭郡、酉阳县、下属启陵、贰春、都乡三乡等地。其中涉及文书邮传、债务、粮食、徒簿、案件、刑徒管理等等内容,与目前校释中给出的结论基本一致。本文将简牍研究与文本挖掘技术相结合,可以有针对性地提高简牍材料处理效率及有效性,为简牍材料的研究提供新思路,证实了人文领域可借助文本挖掘方法来理解、诠释中国丰富的文化遗产,具有一定的可行性及实践意义。
尽管如此,本文的主题内容挖掘方法仍存在一些局限性。首先,虽然算法不存在人为的偏见性,但简牍中广泛存在较为严重的残断及集外字情况,会极大影响模型的识别以及对结果的分析。其次,抽取型文本摘要算法虽然可为我们提供较为完整的结果,但其在抽取时会倾向于抽取有较为完整语义的内容,而里耶简牍中存在较多的残断现象,在这方面会不可避免地存在偏颇。最后,由于简牍中存在较多的残断及未登录字,其相较于传世文献及现代汉语的主题拟合结果较为散乱,仅有部分主题可以为其定义标签。由于各简牍之间在时代、题材等方面封闭性较强且语料处理难度极大,故后续会逐步针对睡虎地秦简、张家山汉简等内容更为完整的简牍进行语料处理,依次对其实现文本挖掘研究。