

Part.1


编程历史学(Programming Historian,简称为PH)由William J. Turkel和Alan MacEachern于2008年创立。Turkel当时发表了一篇博文,阐述了他们启动该项目的意图。起初,它主要侧重于Python编程语言,并以加拿大历史与环境网络(NiCHE)的“数字基础设施”项目开放发布。如今已发展为一个由志愿者推动的国际项目,其财务活动由ProgHist有限公司管理。
2012年,PH扩大了编辑团队,并推出了作为面向数字史学家方法论同行评审学术期刊的开放获取版本,随后,团队在最初的英语刊物基础上增加了西班牙语、法语、葡萄牙语等语言版本刊物。2016年,英语刊物(Programming Historian)荣获数字人文奖的“最佳文章集”奖项;2017年,西班牙语刊物(Programming Historian en español)赢得了同样的荣誉,并于2018年荣获Humanidades Digitales Hispánicas协会颁发的“年度最佳培训课程”奖。2020年,荣获加拿大社会知识研究所的开放学术奖,并于2021年荣获Coko基金会开放内容类别的开放出版奖。2022年,获得数字人文奖“最佳数字人文培训材料”奖。PH所获的多类奖项,展现了团队在开放获取出版和数字学术领域的卓越成就。
PH的所有教程都经过了严格的同行评审,由编辑指导通过评审流程。评审包括与教程编辑的深入交流,以确保教程达到预期效果,并且所有概念都得以向非专业读者解释清楚,然后再将教程发送给外部审稿人。评审流程是协作、高效和可持续努力的一个重要组成部分,学者们可以在其中相互教授和学习。一旦教程进入编辑工作流程,团队会尽一切努力确保教程尽可能有用,并在合理的时间内发布。PH团队坚守开源价值观,所有贡献的教程在尽可能的情况下都使用开源编程语言和软件。这一政策旨在将成本最小化,以及允许尽可能多的参与,团队认为每个人都应该能够从这些教程中受益,而不仅仅是那些有大量研究预算用于昂贵专有软件的人。自2016年以来,Programming Historian项目的可引用版本已被存储在Zenodo上。2022年的存档可以在doi.org/10.5281/zenodo.7313045找到。自2018年以来,英国Web档案馆定期对Programming Historian进行抓取。这些内容被存档并通过他们的网站公开提供。
Part.2



PH课程按研究过程的典型阶段和一般主题编排,分为Acquire(数据获取)、Transform(数据转换)、Analyze(数据分析)、Present(数据呈现)、Sustain(数据维护)五类,共102项课程,用户可按类别筛选课程,并根据出版日期或课程难度进行排序,从而了解需要的知识、技术与工具。
Part.3


1.使用Python从数字图书馆中提取插图页面 Stephen Krewson
(1)类别:Acquire
(2)简介:
HathiTrust和Internet Archive两大数字图书馆的机器学习技术和API扩展功能使从数字化卷宗中提取视觉兴趣页面区域变得更加容易。本课展示了如何有效地提取这些区域,并以此提出新的可视化研究问题。
(3)内容:
以下是具有唯一标识符的HathiTrust卷的页面缩略图osu.32435078698222。经过本课程中描述的过程后,只有那些带有图片的页面(总共31个)已作为JPEG文件下载到文件夹中。

图:HathiTrust所有页面的缩略图视图

图:仅下载带有图片的页面的卷视图
本课程展示如何完成对HathiTrust (HT)和Internet Archive (IA)这两个世界上最大的数字图书馆持有的公共域文本卷的过滤和下载步骤。任何想要创建图像语料库以了解插图历史和书籍布局(mise en page)的人都会对此感兴趣。在EBBA和AIDA的开创性努力之后,数字书目的可视化方法正在变得流行。提取图片页面更有针对性的用例可能是同一本书不同版本的插图的整理。未来的工作可能会有益地研究提取图片的视觉特征和含义:它们的颜色、大小、主题、类型、人物数量等等。如何获取有关视觉感兴趣区域的本地化信息超出了本课程的范围,因为该过程涉及相当多的机器学习技术。然而,对带有(或不带有)图片的页面进行是/否分类是缩小目标集合中每本书所有页面的巨大空间的实用第一步,从而使插图本地化变得可行。
HT和IA允许通过解析光学字符识别软件生成的数据来间接回答图片/无图片问题(OCR在扫描物理卷后应用,以生成文本的经常有噪音的转录)。利用OCR输出来查找插图页面最初是由Kalev Leetaru在2014年与Internet Archive和Flickr 合作时提出的。本课程将Leetaru的方法移植到HathiTrust,并利用Python中更快的XML处理库以及IA新扩展的图像文件格式范围。
(4)课程结束时,您将能够:
设置“最小”Anaconda Python发行版(Miniconda)并创建环境
保存并迭代搜索生成的 HT 或 IA 卷 ID 列表
通过Python库访问HT和IA数据应用程序编程接口 (API)
查找页面级视觉特征
以编程方式下载页面JPEG
总体目标是通过创建历史插图语料库来加强数据收集和探索技能。将图像数据与体积元数据相结合,可以提出有关视觉随时间变化的有前景的研究问题。
具体课程内容详见链接:
https://programminghistorian.org/en/lessons/extracting-illustrated-pages
2.从解释学到数据再到网络:历史来源的数据提取和网络可视化 Marten Düring
(1)类别:Transform
(2)简介:
网络可视化可以帮助人文学者揭示文本资料中隐藏的复杂模式和结构。本教程介绍了如何通过使用定性数据分析(QDA)和社会网络分析(SNA)中开发的非技术方法从历史资料中提取网络数据(人物、机构、地点等),以及如何使用独立于平台且特别易用的Palladio将这些数据可视化。
(3)内容:

图:Palladio中的网络可视化以及
用户在本教程结束时将能够创建的内容

图:准备导出以进行可视化或计算的示例属性数据
上图显示了拉尔夫·诺依曼(Ralph Neumann)网络的摘录,特别是他与1943-1945年柏林地下生活期间帮助过他和他妹妹的人们的联系。用户可以轻松修改图表并询问:谁以哪种方式提供了帮助?谁在什么时候帮忙?谁与谁有联系?
一般来说,网络分析提供了探索实体之间高度复杂的关系群的工具。想想你的朋友:你会发现很容易找出哪些人关系亲密,哪些人相处不好。现在想象一下,您必须向一个不认识您朋友的人解释这些不同的关系。或者您想包括朋友的朋友之间的关系。在这种语言和我们理解社会结构的能力很快就达到了极限。图形可视化可以成为有效沟通和探索此类复杂星座的手段。一般来说,您可以将社交网络分析视为将复杂性从问题转变为研究对象的手段。通常,网络中的节点代表通过所有可以想象的社会关系类型与其他人相连的人类。但几乎任何东西都可以理解为节点:一部电影、一个地点、一个职位、一个时间点、一个地点。同样,节点之间的联系(也称为边缘)的概念也同样灵活:两个剧院可以通过在两个剧院中放映的电影、或者通过共同所有权、地理位置接近或在同一年开业来连接。所有这些都取决于用户的研究兴趣以及如何以网络中的节点和关系的形式表达它们。
本教程无法取代任何现有的通用网络分析手册,例如John Scott的《社交网络分析》。对于该领域及其对人文主义者的所有陷阱的全面介绍,推荐阅读Scott Weingart的博客文章系列“网络揭秘”以及Claire Lemercier的论文“历史上的形式网络方法:为什么和怎么做?”。您可能还想探索历史网络研究的参考书目和事件日历,以了解历史学家如何在他们的研究中利用网络。
本教程将重点关注从非结构化文本中提取数据,并展示一种使用Palladio对其进行可视化的方法。它的设计目的是尽可能简单和强大。由于本教程的范围有限,只需说参与者是指作为研究对象并通过关系连接起来的个人、机构等。在网络可视化或计算(也称为图)的上下文中,我们将它们称为节点,并将连接称为纽带。在所有情况下,重要的是要记住,节点和关系是用于表示过去事件的复杂性的大大简化的模型,其本身并不总是足以产生洞察力。但该图表很可能会突出有趣的方面,挑战您的假设和/或引导您产生新的假设。当网络图成为与数据和其他信息源对话的一部分时,它们就变得有意义。
在可视化网络关系时,首要也是最困难的挑战之一是决定谁应该成为网络的一部分以及要对所选参与者之间的哪些关系进行编码。弄清楚这一点可能需要一些时间,并且可能是一个迭代过程,因为您需要平衡您的研究兴趣和假设与文本中信息的可用性,并以严格且必然简化的编码方案来表示。
为此,需要明确以下问题的答案:
什么定义了两人之间的关系?
谁是网络的一部分,谁不是?
观察到哪些类型的关系?
哪些属性是相关的?
创建关系网络的目的是什么?
可视化当然不是任何事物的“证据”,只是帮助理解复杂关系的工具;他们的解释基于对基础数据及其可视化方式的良好理解。选定的网络可视化还可以伴随文本,帮助读者更好地理解您讨论的复杂关系,就像有时在旧书内封面上找到的地图一样。
(4)目标:
在一个电子表格中收集和存储数据,并使用副本进行可视化。
确保用户了解选择的任何中心性和布局算法背后的基本原理,因为它们会影响人们对数据的看法。维基百科通常是有关它们的全面信息的良好来源。
如果用户感觉自己的编码方案没有按预期工作,请毫不犹豫地修改并重新开始,这绝对是值得的。
可以使用本教程提供的小样本数据集创建的任何可视化都需要上下文知识才能真正有意义。要了解这种方法对您的研究是否有意义,唯一的方法是开始编码自己的数据并使用上下文知识来理解可视化。
具体课程内容详见链接:
https://programminghistorian.org/en/lessons/creating-network-diagrams-from-historical-sources
3.使用词嵌入对文档进行聚类和可视化 Jonathan Reades, Jennie Williams
(1)类别:Analyze
(2)简介:
本课程使用Python中的词嵌入和聚类算法来识别包含大约9000个学术摘要的语料库中的相似文档组。它将教您从大型语料库中提取结构的降维基础知识以及如何评估您的结果。
(3)内容:

图:宗教期刊摘要的UMAP嵌入

图:4种轻微调整的聚类算法的结果比较
随着硬盘以及网络和电子邮件服务器上的语料库越来越“天生数字化”,我们正在从能够使用关键字或手动搜索来选择或分组文档,转变为需要能够大规模自动化此任务。此外,由数千或数万个文档组成的大型、未标记的语料库也不是特别适合主题建模或TF/IDF分析。由于可能存在什么群体类型未知,可能涵盖什么主题类型位置,同时词汇的独特性程度可能非常重要,所以需要不同的、更灵活的方法来可视化和从文本中提取结构。
本课程展示了实现这一目标的一种方法:通过使用降维和层次聚类这两种技术,在包含约9000个文档的大型语料库中发现有意义的结构,从而在最少的人工指导下查找和分组相似的文档。本课程所采用的文档分类方法是无监督的:不使用关键字或人类专业知识——除了验证结果并提供“质量”衡量标准——而是依赖于文本本身包含的信息。
为此,利用单词和文档嵌入等技术,这些是文本挖掘和自然语言处理领域最新进展的根源,它们为我们提供了文本的数字表示,扩展了文本计数或TF/IDF表示的可能性。采用这些嵌入,结合技术选择从语料库中提取关系的层次结构。本课程将探讨为什么有关相似主题的文档在单词和文档嵌入的(数字)“空间”中往往比那些截然不同主题的文档更接近。
为了帮助理解这个多维“空间”,本课程通过一系列数据可视化来解释语料库,从而使这个过程变得生动。基于这些可视化,本课程演示了这种方法如何帮助进行一系列实际应用:在单词和文档级别,可以使用相似性来建议缺失的关键字或查找同一主题的文档(即使它们使用了稍微不同的词汇可以做到这一点);在语料库层面,可以了解主题如何随着时间的推移而发展和变化,并确定学科或知识领域的核心/外围。
有关词嵌入及其在自然语言处理中的使用的更全面介绍,可阅读Barbara McGillivray的《如何使用词嵌入进行自然语言处理(How to use word embeddings for Natural Language Processing)》(详细信息请参阅伦敦国王学院机构存储库,下载链接:https://perma.cc/5NKB-WQAL)。此外,如何创建单词和文档嵌入的详细信息将在未来的编程历史学家课程中介绍。本课程还将简要概述嵌入的作用(以及为什么它们与TF/IDF等不同),使用团队在由艺术和人文学科已完成的博士研究的标题和摘要组成的语料库上训练的嵌入与大英图书馆。
(4)目标:
了解“维数诅咒”以及为什么它对文本挖掘很重要。
使用(非线性)降维来揭示语料库结构的能力。
使用层次聚类对语料库中的相似文档进行分组的能力。
具体课程内容详见链接:
https://programminghistorian.org/en/lessons/clustering-visualizing-word-embeddings
4.人文学科的计算机视觉:图像分类深度学习简介(共含2部分)
Daniel van Strien, Kaspar Beelen, Melvin Wevers, Thomas Smits, Katherine McDonough
(1)类别:Analyze
(2)简介:
本课程共含2部分,介绍基于深度学习的人文研究计算机视觉方法。第一部分课程使用历史报纸广告数据集和fastai Python库,介绍了训练计算机视觉模型以执行图像分类的流程。第二部分将深入探讨训练基于深度学习的计算机视觉模型的细节,它涵盖了由于所使用的训练数据而可能面临的一些挑战,以及为模型选择适当指标的重要性,还介绍了一些评估模型性能的方法。
(3)内容:

图:有监督的计算机视觉问题的工作流程

图:深度学习训练循环

图:“show_batch”的输出
虽然大多数历史学家都同意(现代)表征是由多模式媒体塑造的——即结合了多种模式的媒体,如报纸、电视或互联网——但数字人文和数字历史领域仍然以文本媒体和广泛的媒体为主导。现代历史学家经常被指责忽视非文本的表现形式,尤其是数字人文主义者致力于探索文本来源。许多人使用了光学字符识别(OCR) 以实现数字化文本机器可读,以及源自自然语言处理领域的技术(NLP)分析大型文档中语言的内容和上下文。两者的结合塑造了数字历史领域的核心方法创新:“远程阅读”大型语料库并发现大规模模式的能力。
在过去的十年中,旨在利用计算技术获得对图像的高级理解的计算机视觉领域经历了快速的创新。例如,计算机视觉模型可以高精度地定位和识别图像中包含的人、动物和数千个物体。这项技术进步有望为图像识别带来与OCR/NLP技术相结合对文本所做的同样的效果。简而言之,计算机视觉打开了数字档案的一部分,用于大规模分析,而这些数据大部分尚未被探索:数字化书籍、报纸、期刊和历史文献中的数百万张图像。因此,历史学家现在将能够探索“历史研究中数字化转变的视觉方面”。
本课程由两部分组成,提供了应用计算机视觉技术以新方式分析大型历史视觉语料库以及训练自定义计算机视觉模型的示例。除了识别图像内容并根据类别对其进行分类(这两项任务都侧重于视觉特征)之外,计算机视觉技术还可以用于绘制图像之间风格(不)相似性的图表。
然而,应该指出的是,计算机视觉技术给历史学家带来了一系列理论和方法论的挑战。首先,计算机视觉技术在历史语料库中的任何应用都应该从精心制定的历史问题开始,因此包括对规模的讨论。简而言之:为什么我们回答这个问题很重要,为什么需要计算机视觉技术来回答这个问题?
接下来机器学习公平领域的讨论旨在解决机器学习(ML)中的偏见问题,历史学家应该意识到这样一个事实:计算机视觉技术揭示了视觉语料库的某些部分,但可能会忽略、错误识别、错误分类,甚至模糊其他部分。作为历史学家,我们很早就意识到我们是从我们自己的时代来看待过去的,因此计算机视觉技术的任何应用都应该包括对可能的“历史偏见”的讨论。由于(大多数)计算机视觉模型是根据当代数据进行训练的,因此我们面临着将该数据的特定时间偏差投射到历史记录上的风险。虽然全面探讨偏见问题超出了本两部分课程的范围,但应该牢记这一点。
(4)目标:
介绍用于人文研究的基于深度学习的计算机视觉方法。深度学习是机器学习的一个分支(我们将在课程中更详细地讨论)。
概述训练深度学习模型所涉及的步骤。
讨论使用深度学习/计算机视觉进行人文研究的一些具体考虑因素。
帮助您确定深度学习是否对您有用。
本课程分为两部分,目的不是:
复制其他更通用的深度学习介绍,尽管它确实涵盖了一些相同的材料。
涵盖深度学习和计算机视觉的每一个细节;计算机视觉和深度学习是一个广阔的主题,不可能在这里涵盖所有内容。
具体课程内容详见链接:
https://programminghistorian.org/en/lessons/computer-vision-deep-learning-pt1
https://programminghistorian.org/en/lessons/computer-vision-deep-learning-pt2


转自公众号数字人文资讯
进读者群请加小编微信w1078430264,备注学校/单位 专业/职务 入群。
本篇文章来源于微信公众号: 博雅史学资讯