本案例研究还旨在证明原则上可以使用其数理统计背景尚未完全理解的方法或程序。[12]
2. 语料库和数据材料
此次实地实验所要分析的语料库是 Leo von Thun-Hohenstein(1811-1788 年)担任文化教育部长期间(1849-1860 年)的信件的一部分。该语料库包含约 520 个字母。此外,还有大约 250 份其他文件,如会议记录、概念、备忘录或法律草案。大部分资料位于杰钦 (Děčín),这是位于利托梅日采的捷克地区档案馆的一个分支机构。[13]除38份文件外,所有文本均以德语写成。在奥地利科学基金(FWF)资助的项目中,这些信件将逐步以在线版的形式发布。为此,根据 TEI 指南,将各个文档转录并以 XML 格式编码。[14]
对于本文来说,负责在线版技术实现的人也是这几行文字的作者,这有一定的好处。一方面,这需要对语料库和面向项目的工作流程有基本的了解,但另一方面,它也使得将为本文编写的一些用于分析语料库的脚本或功能集成到在线版本中成为可能。相应的 xQuery 模块可以在这里查看。 ›即时生成的信息也构成了后续文本材料简短描述的基础。[15]
在撰写本文时,项目负责人布丽吉特·马佐尔 (Brigitte Mazohl) 发布的合集包含了 48 位不同作者和一位女性作者撰写的 81 篇文献,前提是编辑能够识别这些文本的作者。虽然这些数字仍然可以以相当高的确定性确定,并且在有疑问的情况下可以通过简单地计算文档来验证,但文档中的单词数量的问题更令人头痛,因为它取决于每种情况下使用的标记器。对于统计评估(可以在在线版本的网页上查看),使用了 xQuery 函数 functx:word-count,该函数根据 Unicode 对“单词字符”的定义来定义单词边界。这 81 份文件的抄本中的“单词”(标记)数量为 119,577 个“单词”和 17,944 种不同的词形(类型)。这相当于近 200 页 A4 纸,以 Calibri 字体书写,单倍行距,11 号字体大小。如果让 LibreOffice 统计相同数量的文本,您会得到 117,939 个单词的结果,但如果您借助voyant-org分析文本,您会统计出 132,062 个“单词”和 17,380 个“独特单词”。但值得注意的是,它还包含编辑们偶尔发表的评论,但由于数量相对较少,这些评论并未被过滤掉。每篇文档的注释字数仅为24个字左右。一份文档的平均长度不到 1,500 个字,注释仅占 1.6%。
然而,鉴于标准差为 1693.6,仅从 1500 个单词的平均文本长度无法得出有关单个文档长度的进一步结论。根据字数来分发文件似乎更合理:
表 1:每篇文档的单词评分
单词数量 文件数量
最大 500 19
501-1000 二十六
1001-2000 18
2001-3000 9
3001-4000 3
4001- 6
从表中可以看出,81 篇文献中有 45 篇包含的单词少于 1000 个。在主题建模的数据准备过程中将发挥重要作用的值。
3. 人工:通过分配关键词进行内容索引
然而,Leo von Thun-Hohenstein 的通信不仅因为其数据的规模和系统结构而注定了人与机器之间的竞争。项目人员 Tanja Kraler 和 Christof Aichner 通过两种方式探索了语料库及其中的单个文档。每篇文献都配有一个简短的索引,并提供一个或多个(最多九个)关键字。总共分配了 299 个关键词,这意味着平均每个文档有 3.7 个关键词。出现频率最高的关键词是“人事问题”(24 次),其次是“邪教”(21 次)、“文法学校”(12 次)、“天主教会”(11 次)和“人事安排”,在 81 篇文章中的 10 篇文章中也可以找到这些关键词。[16]
即使从这个小例子中也可以看出,分配的关键字部分是彼此紧密相关的。如果想将这些术语组合成本体,那么可以将“人事安置”描述为更广泛的术语“人事问题”的更具体的子术语。我们可以用类似的方式来对待“邪教”一词。如果您浏览这 21 份文件(全部归入“Cultus”类别),您总会发现更多关键词,例如:“天主教会”、“天主教协会”、“主教会议”、“希腊天主教会”、“犹太人”、“教堂建筑”、“宗教协定”、“教派”、“德国天主教徒”、“新教徒”、“教会宪法”、“希腊东正教”和“福音派教会”,即始终围绕教派和宗教机构主题领域的术语。 21 份文件中只有两份没有被分配任何具有宗教或忏悔含义的关键词。[17]
与编辑讨论时发现,关键字是在每个文档编码后立即分配的。对于语料库中尚未出现的主题,编辑们总是需要创建或发明新的关键词,这不可避免地导致关键词库存不断增加且几乎不受监管。关键词的任何排序、构造或其他管理尚未进行,但考虑到项目资源有限,这不能归咎于编辑。
然而,由于主题建模的关键问题恰恰是语料库中的主题数量——毕竟,这几乎是必须传递给算法的唯一参数——至少对语料库中找到的 115 个不同关键词进行基本的整理对于此处要进行的实验至关重要。因为——可以提前说这么多——如果你创建一个实际上有 115 个主题的主题模型,它们的组成非常相似,并且只能在特殊情况下以语义上有意义的方式加载。[18]
然而,“基本的管理”仅仅包括保留那些至少被分配过两次的关键词。这样一来,主题数量就从 115 个减少到了 53 个。这一举措乍一看似乎非常武断,但其实是合理的,因为正如上文所指出的,大量的关键词并不会开辟全新的主题领域,相反,它们会澄清和具体化其他关键词已经粗略概括的论述。
4. 机器:通过主题建模进行内容开发
4.1 数据采集于该方法对要处理的数据材料的要求很低。如果您只对生成的主题感兴趣,那么一组分成单独文档且不包含任何类型的元数据的文本就足够了。但是,即使您想要追踪语料库中主题的历史、出现或缺失,也只需要相应文档的一种标题,尽管在语料库由单个文件集合(例如 .txt、.xml)组成的情况下,文件名就足够了。至少从个人经验来看,这会诱使您简单地尝试主题建模以看看会产生什么结果。
Leo von Thun-Hohenstein 信件的在线版本基于 xml 数据库eXist-db,该数据库带有集成的 RESTful API,允许轻松快速地访问存储在数据库中的文档。
有很多可能性可以将已发布的文件(可通过 URL http://thun-korrespondenz.uibk.ac.at:80 ... hun/xml/访问 )集成到主题建模工作流中。对于这个项目,我们编写了一个 Python 脚本[19],将各个 XML 文档存储在本地硬盘上的单独目录中。但是,从脚本中可以看出,保存的不是 XML 文件,而是仅保存了已删除所有标签的成绩单文本(现在这也适用于编辑所做的注释)。相同的脚本还确保整个文本都是小写的。
还可以将数据采集过程直接集成到用于实现主题模型和评估的 R 脚本中[20],这样 阿根廷电报数据 整个工作流程,即数据采集、准备、建模和分析或可视化,只需按一下按钮即可完成。然而,这里没有采用这种方法,因为本文创建了几个不同的模型,但要处理的数据始终保持不变。因此,数据仅下载一次,准备好并保存在 R 脚本可以访问的本地计算机上的目录中。
4.2 数据准备
如前所述,这里计划的主题建模过程中数据准备所需的工作量是有限的。需要分析的 Thun 对应文本已经作为单独的文档以 txt 格式存储在本地目录中,只需将其读入 R 并转换为 R 数据类型“数据框”即可。数据框是一个矩阵,其值与 R 数据类型»矩阵«不同,不必全部属于同一数据类型。
然而,关于主题建模的整个文献基本上一致地指出,模型的质量以及各个主题的质量在很大程度上取决于文档的数量。经验法则是:文档越少,模型越差。[21]如果我们将“文档”一词理解为独立文本,例如小说、散文、摘要、百科全书文章甚至信件,那么对于本文考虑的实验而言,这意味着主题模型只需从 81 篇文档中计算得出。即使没有深入的统计学知识,也应该清楚,这个数字可能太低而无法产生合理可靠的结果。此外,此时应该参考上面关于各个文档的长度和字数的概述(表 1),因为这清楚地表明各个字母的长度差异很大。因此,最短的文件是约瑟夫·耶拉契奇于 1850 年 3 月 30 日写给卡罗琳·图恩的信[22] ,仅包含 93 个“字”,而最长的文本是下奥地利地主给部长会议的请求[23]则有 9543 个“字”。