
数字人文基础设施的意义和技术实践
为什么要建设数字人文基础设施?
最近几年,数字人文可谓越来越热,我国大陆因此出现了一批优秀的数据库和应用平台。
复旦大学历史地理研究中心作为我国最著名的历史地理学研究机构,近期上线的中国历史地理信息平台,得到了西安云图的技术支持,属于学术界和企业界的合作;中南民族大学王兆鹏教授和文学公益网站搜韵网合作推出的唐宋文学编年地图,在社会上具有较高影响力,属于学者和公益网站的合作;中华书局这样的著名出版单位,利用自身优势,推出了籍合网这一古籍众包整理和综合服务平台,这是传统出版单位升级转型的例子,具有明确的市场定位、产品架构和盈利模式;丝绸之路历史地理信息开放平台,则由陕师大出版总社、首都师范大学张萍教授和西安云图合作打造;在2021年高调发布的汉典重光古籍数字化平台,由互联网巨头阿里巴巴和国内外多所知名大学、图书馆共同推出;全历史则是完美世界以互联网应用的模式,面向公众打造的科普平台。

我们可以看到,数字人文研究课题常常涉及到程序开发,需要消耗比传统人文研究更多的经费,而技术开发却不是人文类专业的特长,所以往往需要与企业合作。而出版社、互联网巨头、游戏公司等非学术机构,也搞起了数字人文平台,让这一领域呈现明显的跨界趋势。
多元化的跨界合作,是数字人文有别于传统人文研究的一个特点:因为它结合了信息技术,必然更靠近产业。我认识的几位做数字人文研究的老师,有的一直想商业化,只是没有资本投资;有的已经在尝试商业化,迈出了第一步。我们团队也不是学术机构,但我们既思考数字人文的理论方法,也在国内开展了多年的相关平台建设,和不少学术单位和学者有合作,算是小企业的代表。在能够和产业紧密结合的行业,比如计算机行业,学术机构和企业的界限是相对模糊的,学校和老师在运营企业,企业也投入大量研究经费,并有许多知名的实验室。
这些已有的平台都拥有一个共同特点,就是向历史、文学、艺术、哲学等特定领域,提供一到多种在线数据服务:比如专题数据库浏览;地理数据或知识图谱的可视化;古籍整理等等。它们是具体的数字人文成果,可以为主导单位或者研究者本人带来荣誉和更多的资源,有国家重大项目支撑,拥有相对较宽裕的经费,或者由大公司直接主导。

但这些成果还是太少。一个健康的领域,总需要构建一个像金字塔般良性的人才和应用结构:既要有顶级学者,也要有许多不知名的青年教师;既要有突出成果,也要有看起来一般,但数量庞大的小数据、小分析、小发现和小应用;既要有行业巨头,也得有更多的中小型企业。

现实情况是,初涉数字人文领域缺乏资源的普通教师,以及对数字人文感兴趣,想步入这一领域的学生,他们极度缺乏资源,甚至就没有任何资金,也很难找到合作者。而数字人文研究本身涉及到技术开发、数据共享、系统运维和基础软件采购等问题。已有平台开放程度是不够的,借鉴价值相对更大,却很难为新应用的建设提供直接的基础服务支撑。
由此我们看到一种现象:虽然人工智能这样的前沿技术已被应用到数字人文领域,但许多有志于此的普通师生,或者不懂技术的传统学者,还是只能用Word和Excel这类工具整理数据。他们无法使用技术手段分析数据,开发和发布具体的应用就更难了。在一些知名学者尚且缺乏资金长期推动数字人文平台建设的情况下,普通教师就连启动建设的资金都没有,哪怕不开发应用平台,仅仅发布数据库都找不到合适的地方。这就是数字人文现在面临的一个困境:一方面它很火,有了越来越多的成果,连一些唯利是图的巨头都参与其中;但另一方面,它的基础设施却很落后,处于一种相对原始的状态。金字塔底端的生态环境还是很恶劣,小人物、小数据、小发现、小应用、小企业的数量还是远远不够的。
要解决这个问题,在我看来就在于构建数字人文基础设施。如果说人才金字塔的底端是学生,成果和应用金字塔的底端就是基础设施。
如何定义数字人文基础设施
从字面上看,数字人文一半是“数字”,一半是“人文”。“数字”更多是一种信息技术手段,“人文”精神是其核心。
相对“人文”而言,代表“数字”的信息产业,有着非常庞大的行业基础设施,产业协作参与的人数更多,分工更明确、更标准。在高度分工之下,很多时候你不需要去和谁沟通,只要根据需求直接购买具有标准接口的产品即可,比如一台电脑。对于软件行业而言,如果使用开源软件,你甚至连钱都不用付,因为开源软件可以通过互联网无限复制,分发成本为零。你甚至不用一个个下载,因为已经有了一整套依赖包管理工具。

我们可以看到,软件行业作为信息产业的一部分,为各行各业开发出各种各样的信息系统,为其它行业的发展提供着基础服务支持,但行业本身也诞生出了大量基础工具:如编程语言、标记语言、操作系统、数据库、中间件、集成开发环境IDE、软件开发工具包SDK、容器、虚拟机等;出现了各种基础平台,如云计算平台、代码托管平台、应用市场等;有大量标准协议,如TCP/IP协议、开源协议、HTML标准、ECMAScript标准等。这些基础工具、在线服务和标准协议,能够成为各种具体应用的基础设施。互联网和开源代码流行后,更是极大的降低了开发成本,使得信息产业得到了前所未有的大发展,几乎深入到所有传统行业之中。
这让一个应用的开发、部署和运维变得无比便捷。假设你要开发一个爬虫,你可以轻易地获取到Linux操作系统、Python编程语言、VSCode编辑器,可以通过requests库爬取数据;通过BeautifulSoup解析HTML;通过Jupyter Notebook运行和调试;通过JSON格式保存爬取结果,或者存储在SQLite数据库中。代码编写成功后,可以在本机运行;可以在虚拟机里运行;可以在云计算平台中运行;也可以通过Docker轻易实现部署;或者使用函数计算这类Serverless服务实现服务器资源的用后即焚。

通过简单的编码和部署就能完成原本非常复杂耗时的工作,这一切都建立在无数的基础设施之上,而一个基础设施之下又是另一个基础设施,最后形成了一个金字塔般的运行环境。在一小段代码背后,是整个行业几十年努力构建起来的庞大基础工程。这些基础设施不仅仅是企业在使用,数字人文学术研究中同样在使用。

以浙大的学术地图发布平台为例,虽然我没有请教过他们具体使用的开发技术,但根据实际使用中的观察,以及在会议报告中展示的后台,我基本肯定它使用Python语言开发;使用了Django作为Web框架;使用PostgreSQL存储地理空间数据;使用了GeoNode完成地理空间数据管理;使用GeoServer发布WMS地图服务;使用OpenLayers实现地图可视化,这些全部是自由的开源软件。学术地图发布平台还使用了天地图的在线地图服务作为底图,使用了哈佛大学的诸多开放数据。其它数字人文项目也基本如此,各种人工智能、图像识别、自然语言处理应用,几乎都基于各种开源库实现。

研究数字人文的学者和学生,应当由衷感谢这些计算机行业的基础设施,特别是感谢开源软件,感谢知识共享。正因为有了这些设施,数字人文领域才能在经费和人力极其有限的情况下,完成各种数据生产、存储、分析和应用开发工作。如果没有它们,数字人文是不可能作为一个新兴学科存在的,各种数字人文应用也是不可能开发出来的。
古人说:他山之石,可以攻玉。数字人文领域也应该考虑学习计算机行业,建设数字人文基础设施。基础设施的构建在于高度的分工合作,高度的分工合作必须是高效的。我之前听到很多老师在谈合作,谈共享,但这种合作和共享的沟通成本也是很大的。如果凡是合作都要洽谈,要沟通,要找上门,要专人对接,这种合作是低效的。如果我开发一个软件用到的第三方代码库,每个都要我去沟通洽谈,那就没法搞了。
基础就像螺丝钉,花点钱就能买,买来能通用。基础一定要实现通用化、低成本和无沟通,不然就很难称之为基础。数字人文现在就有这个问题:开放不够,要合作只能一个个洽谈对接;数据不标准,只能一个个单独处理。这些都不能称之为基础设施,只是具体的数据或者应用。

其实在传统研究中,各种书籍就是基础设施之一,出版社也是。学者出了书,我不需要认识他,也不需要联系他,花钱买他的书,按照规范引用,就能搞自己的研究了。现在各种可以分享数据的平台,很多时候就在担当出版社的角色。数字人文既要为人文研究和文化传承提供基础服务,数字人文本身也需要基础服务。实现了标准化、通用化和可共享的数字人文成果,以及为了实现这一目标所依赖的其它措施,就是数字人文基础设施。
数字人文基础设施的种类
那么数字人文的基础设施应该有哪些呢?
第一个就是足够丰富的开放信息平台,比如各类线上数据库、线上图书馆、API服务。
数据是数字人文研究的基础,但要成为基础设施,光有信息平台和优质数据是不行的,只有开放的数据才能成为基础设施。以历史地理信息为例,《中国历史地图集》早就有了,在信息化以前的时代,它也是完全满足当时要求的基础设施。但时代发展以后,现在它不能满足在线地图对矢量地图数据的要求了。

顺理成章的,就有人开始矢量化谭图,但因为各种原因这些数据并不开放。我这几年起码见过七八家单位和几十个人,要么搞过谭图整体矢量化,要么搞过部分朝代矢量化,要么有这个计划但没有实施,还有更多的单位在到处求购这些数据。他们做了无用的重复劳动,花费了本不该花的资金,就是因为没有基础设施。
第二个就是开放的标准。
信息的开放依赖开放的标准,否则信息就难以被二次利用。数据标准能实现数据的通用化,这方面讨论较多就不用我多说。
数字人文基础设施往往涉及到知识共享,知识共享就涉及到版权问题,因此还得有版权标准来规范和保障各方的权益。知识共享往往意味着可以免费使用,但知识共享不等于免费,使用者依然需要遵守作者的要求。作者拥有版权也不代表作者可以随意解释版权,我们不能光提“版权保护,侵权必究”,却不用标准协议规定清楚各方到底有什么权益,凡事都要靠扯皮、靠单独规定。目前CC协议就是国际上使用较为广泛的知识共享授权协议,已经有20年的历史,值得借鉴推广。

我之前听了一些相关的报告,老师们常提数据协议,但版权协议却提得比较少。免费授权那也是版权,涉及到是否署名、是否商用、能否修改后重新发布等问题。这个问题很重要,甚至在我看来,它比数据标准更重要,因为数据标准不涉及利益,版权涉及利益。数据不能共享,往往不是格式问题,而是因为利益问题。
除了数据标准和版权标准,使用和发行也应该有标准,就好像书籍最末会给参考文献,论文中有引用规范一样。如何在论文中引用数字人文成果,如何在应用中说明使用到的书籍、论文、数据库、开源软件等,也是一个问题。我国大陆现有的平台好多查不到这方面的完整信息。书籍出版发行时都有规范的主编、作者、日期、书号等等,一个数字人文成果发布后,有哪些参与人?分工是什么?怎么使用?有没有文档?这些都是问题。

但是标准的制定又往往沦为某些机构满足自身利益的工具,所以标准不仅仅要开放,标准的制定过程也需要开放。标准一定不能太多,所以不能总是创新。如果始终讨论不出标准,那么能够用国外的开放标准就用这些标准,不需要什么都要去创造标准。
第三个是基础软件服务,如基础应用软件、发布服务、云服务和软件工具包。
基础应用软件包括数据管理、文件管理、文本处理、图像识别、地理信息管理、知识图谱管理、数据可视化工具等。现在很多老师在搞数字人文研究时,使用的工具可谓五花八门,比如Word、Excel、Access、MySQL、Echarts、D3、PhotoShop、AutoCAD、ilustrator、ArcGIS、QGIS等等。但这些工具并不完全适合人文学科的要求,对团队协作的支持也不好,好些价格还挺贵。虽然已经有一些数字人文研究团队在相关领域取得了一定成果,实现了古籍识别、自动标点等功能,但却很少开放出相关的标准库和API,或者推出通用软件。

互联网上有各种各样针对行业的云服务,比如金融云、外贸云、设计云,但很少有为人文研究者提供服务的基础云平台。数字人文涉及到数据共享和可视化,涉及软件开发和部署,使用云平台可以大幅降低成本,这对于经费有限的人文研究而言,更有其重要价值。
第四是由社会运营的数字人文开放基金会,这个问题谈的人很少,我要重点谈一谈。
一方面我们在提倡数据开放,一方面我也要承认,开放数据和开放代码这种事,好多时候对于原作者而言,不仅仅得不到好处,反而还会有损失。比如时常就有报道指出,除了少数开源明星外,大部分开源作者依靠开源获取的收入极少,甚至为了推动开源降低了自己的本职收入水平。

就数字人文研究而言,开放共享这一行为并不会在职称晋级和项目评审上有什么优势,反而可能被别人拿去牟取名利,给作者本人带来经济和名誉上的损失。国家的科研基金和企业自己的投入,主要用于支撑这些单位完成成果,但通常不用于支持开放共享。
在这里我不谈论制度对数字人文的影响,比如学术考核机制,比如经费划拨机制,因为我不需要被考核,也没有申请过国家基金,讨论这个属于空谈。我想说的是,我们需要一种对开放共享这一行为本身的物质奖励和资金支持。如果你研究国外的开源软件和知识共享就会发现,开源软件和知识共享虽然意味着免费使用,但一般都接受个人赞助、企业赞助或者基金会的支持,如果没有这个模式,开源软件和知识共享是达不到现在这一高度的。
在做地理信息系统开发时,总会使用到开源GIS软件。根据OSGEO官网显示,开源地理空间基金会资助的项目,就包括GDAL/OGR、GEOS、GeoNode、GeoServer、GRASS GIS、OpenLayers、Post GIS、QGIS、OSGeo4W、Leaflet在内的60多个项目。之前介绍的学术地图发布平台,提到的开源软件半数都是由这个基金会推动的。

根据Visual Capitalist的数据显示,维基百科是全球访问量第五的网站。维基的访问量巨大,拥有海量用户,其运营费用很高。之所以能够长期稳定的免费运营并不断发展,又不受任何商业污染和考核机制的压迫,就得益于维基媒体基金会的成功运作。根据维基百科上的词条信息显示,到2021年,维基媒体基金会拥有员工450人,年收入约1.25亿美元。
我们不能光指望别人共享,也要为共享者谋福利。我们不仅仅要为共享者谋福利,还要建立一整套激励措施。哪怕我们不能为他们提供太多的金钱,但起码得让他们不会因为开放行为损失太多的经济利益,或者可以获得名誉。再伟大的精神落实到具体的事情时,都离不开物质支持。革命先辈除了有伟大的理想外,也特别注重根据地建设。如果没有基金会的支持,很难想象国外的开源软件和知识共享能那么发达。
在这一点上,海峡对岸的台湾也是领先大陆许多年的。之前我们发布了法鼓佛教学院的“佛学规范资料库”中的“时间规范资料库”。这个在2000年左右开始建设的系列数据库二十年来一直在不断更新,采用CC BY-SA 2.5知识共享授权协议,有规范的发布信息,能查到负责人、参与者和赞助者;有详细的文档介绍数据库结构以及如何使用。该项目由“浩然基金会”赞助,据说此基金会成立于1978年,其理念是以文化教育为核心,推广与赞助各类活动,期望开拓大众视野,培养广阔的胸襟,本着人文关怀精神,以实际行动改变世界。

对于大陆而言,基金是有的,比如学术项目通常受到国家专项基金的资助。由社会运营,完全透明开放,以资助开放共享的数字人文项目为目标,运行良好有社会影响力的基金会是没有的。
抛开国内公益基金会的种种乱象不谈,归根到底,中国的发展程度还不够,人们只是把公益和慈善,理解为扶贫、助困、求学、寻亲、环保、文保等形式,把公益理解为扶危济困。而把科技发展,文化创新这类勇攀高峰的事情,理解为只需要国家和企业投入即可。
这些方面国家固然要投入,但政府资金有其天然的体制弊端,需要社会力量的补充。又因为数字人文项目拿的是国家的钱,所以就按学术考核、职称晋升那一套标准走。当项目完结,平台也就宣告死亡。数字人文成果和著作成果不一样,著作可以通过出版社不断重印继续供其他人使用,应用平台却需要创建者长期持续维护。
数字人文项目通过开放共享的形式,是可以直接服务社会大众的,数字人文领域有许多企业主动参与其中就是明证。但是因为这些成果是迎合学术体系的,所以又天然和大众远离,甚至认为不需要服务大众。而当大众的受教育水平越来越高时,他们对人文精神的追求也越来越强烈。最近二十年,互联网出现了网民创作大潮,社会上阅读人文著作和人文类自媒体文章的人越来越多,学习研究人文知识的爱好者也越来越多,他们都有查询分析学术数据的需求。
只要逐步建立一个公益基金会长期资助数字人文项目的机制,就会让一些项目的目标,逐渐偏向于服务更广泛的人群,偏向于知识共享。服务了更广泛的人群,能产生更广泛的社会影响力,就会让有实力的企业和收入较高的个人,参与到基金会的建设中,最终形成一个良性循环。

其实国外开源软件诞生之初也多是个人行为,后来又成了小企业的行为,大企业是不愿意共享的。后来这些共享行为又倒逼大公司也参与到开源之中,否则就失去了竞争力。发展到现在,大公司也主动参与到开源共享之中,把别人对抗自己的武器,变成了维护自己地位反击竞争对手的武器。
目前大陆开放共享这一趋势,在我看来更多是被动的。欧美和我国台湾地区,都在搞知识共享。互联网的精神是开放共享,国家也在提开放共享。学术研究面对社会的洪流,面对国家的提倡,不得不被动共享数据。学术界的数据不共享和商业公司的代码不共享有相似性,因为它们同样都是竞争关系。但我相信,总有一天,一些单位会认识到,不共享会损害自己的利益,共享能维护自己的地位。最后整个领域都认识到,数据共享有利于整体的利益,最终都参与到共享之中。
就好像一本传世之作是学者的伟大成就一样,一个长期维护可以自由使用并得到社会广泛认可的数字人文成果,是数字人文研究者的毕生荣誉。
地图书知识库
我在上面提出了一些对于数字人文基础设施的粗浅看法,但这些问题并没有解决,也非某个人或者某个机构能够解决。这需要政府、学校和社会共同参与,通过科学而长期的规划逐步解决这些问题。
我们的开发团队是从志愿者发展而来。从2015年开始,我们通过实践去认识这个问题,又通过实践去探索解决问题。地图书人文地理知识库ditushu.com就是我们2019年开始开发的一个数字人文基础设施。它主要向用户提供人文知识库在线托管、可视化分析、知识共享服务和应用服务。目前已经拥有上万注册用户,和多家单位和学者建立了合作关系,发布了“中国古旧地图”、“明代的灾荒:基于方志文献的灾荒等级数据库”等多个人文数据库。

我之前说:他山之石,可以攻玉。人文知识数据库以下简称知识库托管这一理念最初就是参考了Github、Gitee这类开源代码托管平台。代码托管平台可以分享代码库,地图书则可以实现方便的知识库分享。
我们把知识库分为几类:
第一类是正式的数字人文学术课题成果,采用先完成后发布策略,比如西北大学胡鹏老师的“明代的灾荒:基于方志文献的灾荒等级数据库1368-1643”,后续还有多个正式的学术项目发布。

第二类是志愿者协作知识库,先发布且持续更新,不设置明确的完成时间。这种类型主要做一些简单而基础,但又确实有用的数据。比如“中国古旧地图”知识库的目标,就是整理翻译国外图书馆的开放地图资源。这个项目已经进行了快两年,收录的地图即将突破2000幅。

第三类是和单位合作的公益项目,比如我们和四川大学历史地理研究所以及成都城市河流研究会合作开展的“蜀都河图:成都自然历史文化数据库”,希望将古旧地图、历史地名、老照片和现代地标有机集合,展现成都的历史文化。预计下半年将公开发布,可能需要五年以上时间去完成。

第四类是纸质著作配图知识库,比如根据饶胜文老师《中国古代军事地理》一书整理的配套知识库。其中对照文本标注了关隘、城市、山脉、河流等地名,后续还将有更多这类知识库出现。

第五类是民间研究者的成果数据,杨帆的“东汉州郡沿革”就是这样的知识库。他组织志愿者在地图书上完成了数据结构化,后续还将不断完善,并整合另外一个合作者制作的配套地图。民间研究者往往是写文章出书,研究数据的少之又少,所以他的处境并不好。作者因为缺乏资源,多年研究已经无法继续,现在回老家送外卖去了,这类知识库恐怕是最稀有的。

现在人们常说,只有家里有矿实现了经济自由才适合搞文史研究。复旦大学曾有过拉三轮的特招博士,现在又有了送外卖的历史地理研究者。从感情上,我希望这类知识库越来越多,这才能证明中国真正地强大起来,人民过上了富足美好的生活,敢于追求精神世界,“人民日益增长的美好生活需要和不平衡不充分的发展之间的矛盾”得到了解决。
第六类是各种官方数据和已有知识共享数据库的重新发布版本。比如“佛学时间规范资料库”就是自动转换了台湾法鼓佛学院的“时间规范资料库”。这一数据在大陆知道的人并不多,在GitHub上只有1颗星,我们希望有更多人知道它的存在。

地图书并不是一个学术机构或者政府运营的学术平台,重大学术课题往往会单独开发应用,所以我们的主要方向是技术服务和知识共享,特别是面向缺乏资源的青年师生提供服务。我们为愿意知识共享的人文研究者提供永久免费的技术服务和发布平台。学术机构、公益机构、企业、教师、研究生、纸质著作作者、民间学者都可以来发布。但我们会要求公开发布的数据库,必须以单位名称、品牌名称或者个人实名发表,公布作者的真实履历。发布的内容需要文责自负,需要设置明确的知识共享授权。数据必须真实可靠,会进行必要的发布审核甚至第三方审核。未来我们可能还会要求用户进行实名认证。
知识库结构
数据管理是数字人文研究的常见基础工作之一。为此我们提出了一套基于数据库云服务的知识库托管理念,设计了一系列的标准,并且这些标准都是公开的。
不同的数字人文项目有不同的需求,因此会有不同的知识库结构。知识库结构类似于数据库建模,需要根据实际需求设计数据的类型和数据间的相互关系。人文数据库需求多样但规模一般不大,因此人文数据库更注重简单灵活,而较少考虑海量数据下的查询速度、存储空间、分布式集群等。为此我们使用了图数据库和文档数据库来存储数据,使用JSON作为数据存储格式,这样具有了高度的灵活性,能够兼容知识图谱和各种半结构化数据,支持百万数据规模无索引快速关系查询。

对于普通用户而言,无需再关注数据库的具体存储实现和运维问题,也不需要学习任何命令和语法,不需要安装任何软件,而是通过可视化界面在线创建数据库结构。需要管理地理数据就创建点、线、面类型,需要管理图谱数据就创建关系类型,需要管理多媒体就创建图片等类型。用户可以邀请团队成员,一起参与在线协作,也可以通过分享链接,给其它用户授予临时访问权限。在需要公开时,则可以通过标准的知识共享协议分享数据库。
我们允许任何数据库在设计结构时,关联到其它已经公开发布的数据库,或者关联到自己创建的数据库,最大程度的复用信任资源。比如法鼓佛教学院有一个“人名规范资料库”,如果用户在知识库中整理佛经,需要使用这样的佛学人物数据,用户就无需自己搜集整理人名,直接关联到这一数据库即可。这样一来,任何高质量的知识库都可能被其它知识库关联引用,变成其它数据库的基础设施。
数据库托管为数字人文项目提供了极大的便利性,老师和学生在需要时即可随时创建数据库,随时协作,随时分享。再配合云计算服务对计算和存储资源的合理利用,极大的降低了整体成本。不过为了满足某些学校要求内部使用,某些老师希望本地使用的需求,未来我们还会推出私有部署服务和本地客户端软件。
和MySQL、SQLite等关系型数据库相似,地图书的一个数据库也由多个数据表组成,一个数据表又由多个字段组成。但结构化数据库的创建需要一定的专业知识,为了降低数据库创建的难度,我们在设计上进一步简化了操作,同时又增加了一些方便人文数据管理的设计。
对于绝大多数用户而言,创建结构是一件非常困难甚至无法完成的事情,而创建成功后录入数据则可以很快上手。为了简化这一操作,我们推出了结构模板,用户可以直接使用我们提供的通用模板快速创建知识库。用户还可以复制已经公开发布的知识库,使用这个知识库的结构作为模板,创建自己的空白知识库。只要发布的知识库越多,可用的模板就越多。
管理字画、古旧地图、老照片、文物照片等高清图片资源是人文数据库的常见需求。为此我们设计了一个专门的图片字段类型,并有与之配套的图片上传控件。两者配合后,可以自动存储用户上传图片的地址、宽度、高度、大小等信息。当用户上传的图片分辨率过高或者体积过大时,服务器会自动为这类图片生成切片缓存,以达到瞬间无延时的显示效果。
为图像添加注记同样是一种非常常见的需求。我们支持一种可以和图片字段配合的“图片标注”字段,用以存储用户对图像标注的点、线、面像素坐标。再结合其它字段类型,就可以实现完整的注记管理功能。比如为字画和文物照片添加注释;为古旧地图矢量化历史地名、街道和区域;为老照片添加历史人物和建筑说明等。

自动生成管理系统
用户成功创建数据库结构后,再配合默认排序字段、默认显示字段、默认列表显示方式等可选设置参数,就可以为一个数据库自动生成可视化管理系统。管理系统可以浏览数据列表、编辑数据详情,支持分页、排序、搜索等常见功能。同时系统还将根据数据库结构自动为数据库生成筛选器。

知识库的管理通常使用电脑完成,为了充分利用大屏幕显示器的宽度,我们大量使用多栏式布局简化用户的操作。多栏式布局分为导航栏、左栏和右栏,每一栏都可以隐藏或者显示。默认情况下,左栏显示数据列表和详情,右栏实现地图、图谱、图表等可视化功能。古人讲求“左图右史”,讲求文字和图的结合,地图书的这种设计思想,来源于我们对左图右史这一理念的多年追求,也是一种传承。不过我们并不要求数据库一定有地理信息,当数据库没有地理信息时,用户可以选择在右栏显示数据详情,此时左栏将只显示数据列表。这种布局下非常方便添加数据和浏览数据,能够极大提高便捷性。

左图右史的设计理念,我们运用到了多个场合。除了实现数据列表和可视化图表的同屏显示外,当显示数据详情时,如果数据拥有地理信息和图片字段,还可以实现现代地图和现代地图的对比,古旧地图和现代地图的对比等。也可以用于对同一数据不同历史版本之间的对比。

地图书平台支持多用户在线协作。对于未公开的私有项目,知识库管理员可以通过邀请链接邀请其它用户参与协作。
不过这里又涉及两个问题。第一,让协作者任意修改数据库可能导致数据库被污染。第二,对于公开的数据库而言,访客在浏览数据时发现数据库存在问题,或者自己也可以提供部分数据时,将无法更改数据库。为了解决这个问题,我们提供了数据提交功能。当管理员开启此功能后,不管是协作组成员还是访客,都可以向数据库提交更改请求。管理员或者审核者收到提交数据后,可以对比更改后的版本与现版本。同意后更改请求将被立即合并到数据库中。

可视化、应用和接口服务
数据可视化是数字人文最重要的呈现手段之一。对于地图书而言,地理数据可视化是重中之重,图谱、图表、词云等形式的可视化则相对简单,这里就不过多谈论。我们和国内知名的开源WebGIS框架MapTalks的开发团队深入合作,基于这一框架进行二次开发,实现地图可视化效果。在实践中我们也发现,地图可视化是诸多可视化效果中最为困难的。这是因为地理数据不仅仅需要呈现数据本身,还必须依赖历史地图或者现代地图作为底图。
我们使用了“地图”和“图层”的概念来实现地图可视化。一个数据库可以包含多个地图,一个地图可以包含多个图层。为了呈现不同的效果,我们定义了多种类型的图层,比如矢量图层、热力图层、聚合图层等。

默认情况下,地图书会为每一个拥有地理元素的表生成一个地图,包含一个底图图层和矢量图层,并配置默认样式。如果用户需要在一个地图中显示多个不同表的数据,可以手动配置图层。
地图的样式是地图可视化的重点。但要配置出好看的样式对于大多数用户而言并不容易,未来我们会定义数套模板供用户选择,并保留手动配置样式。
数据库托管和可视化只是解决数据的生产和呈现问题。但如果数据不能进一步的应用,那么数据就没有发挥它的最大价值。应用的开发部署需要掌握相关的软件开发技术,而人文领域的研究者会编程的并不多。但我们可以看到最近几年,许多受过计算机教育的青年人文学者和学生都在自学编程,一些成名的人文学者,也在学习程序开发。Python和Node.js等易学易用、类库丰富的语言,尤其受人文研究者喜爱。
但一个程序的全部生命周期不仅仅只是开发:程序开发依赖数据接口;程序的部署需要环境;程序上线后需要运维。我们希望尽可能地为应用的开发、部署和运维提供便利。为此我们利用阿里云强大的云计算能力,进一步的简化操作,将地图书已公开发布的数据库进一步开放数据接口,为广大师生提供简易的Web应用程序运行环境和发布渠道。
拥有一定编程能力的用户可以通过知识库管理数据,再使用应用功能创建简单的Web应用。比如用户觉得自动生成的可视化图表太过简单,就可以通过创建Web应用,调用地图书知识库的API,以及其它平台的API,获取数据后实现更高级的数据可视化效果。

用户只需要把自己开发的应用代码托管到GitHub、Gitee等平台,在创建应用时填入相应的代码库地址,系统就会自动拉取代码并配置应用环境,还可以为应用配置独立的子域名。
地图书编辑器是我们团队很早就开始开发的地图编辑软件,多年来持续更新,拥有数万用户,以青年师生、作者、文史爱好者为主。有学生用于画论文配图,有自媒体作者用于配图或者录制视频,也有作者用于整理资料或者制作书籍配图。2017年出版的《英雄的棋局:三国军事地理大势》就是第一本用地图编辑器制作配图的纸质出版物。

之前地图编辑器的底图设置、样式模板、地图模板均存储在本地。我们准备使用地图书知识库的API,实现底图设置、样式模板、地图模板的线上存储。这将是第一个使用地图书API的跨平台应用。
后记
本文是根据2021年7月13日,地图书创始人曹江在复旦大学历史地理研究中心内的一次报告整理补充而成。

曹江,软件开发工程师,成都发现时代科技有限公司总经理,历史地图和古旧地图爱好者。2015年创办历史地图公益网站发现中国现更名为观沧海,2019年创办地图书人文地理知识库协作平台,为人文知识共享数据库提供免费的协作分享服务,并多次应邀参加学术会议和公益活动。其开发的地图编辑器多年来已经服务数万制图者,以青年师生、作者和文史爱好者为主。2019年,发起组织“中国古旧地图开放协作计划”,目前已收录古旧地图约2000幅。2021年和多家单位共同发起组织“蜀都河图:成都自然历史文化数据库”协作项目,希望让公众认识到古旧地图的价值。