CTEXT文本工具使用经验(一)

摘要

本文将简单介绍Ctext官方提供的文本工具,并以实例展示N元语法、词云生成、正则表达式的应用,供人文领域师生朋友参考。

Ctext简介

Chinese Text Project,中国哲学书电子化计划,是一个开放获取的中文古籍文献检索系统。其发起人为Donald Sturgeon(德龙),目前该库已经包含大量古籍文献。Ctext官网对自己的定位是:提供尽可能精确且便利使用的中国古代原典文献,尤其先秦两汉文献,把这些资料以恰当结构、可搜索模式来展现,并且广泛使用现代技术作为工具使这些文献更容易学习和研究。

Ctext文本工具

Ctext库中的内容除了可以用作细读文本时的参考文献,也非常适合数字计算研究。Ctext官网即提供了几个可供试用的文本工具,点击左侧导航栏进入“工具”页面即可找到。除了本文将介绍的“文本工具”,官网还提供了Markus工具和python的相关用法。

官网一共提供了13项功能,分别为:N-gram;Regex;Replace;Similarity;Vectors;PCA;Diff;Transform;Network;Word cloud;Chart;Save/Load;Script。下面我们看一下最为常用的几个功能。

N-Gramm (N元语法)

N-Gram(也称N元语法/N元模型)是自然语言处理领域里的重要概念。简单来说,n指的是文本中的n个连续元素的序列,在Ctext中,元素一般为汉字。用此功能可以在给定文本中寻找连续的汉字序列的出现情况,下面我们展示一个示例:查看《春秋公羊传》中四字词语的出现频率。 image 如图,我们先用URN地址,将《公羊》的十一年文本导入。将n值设置为4,点击运行,即可查看四字词语(准确地说是连续的四个汉字,不一定能成词)的出现情况。 image 如图,“何以不称”的出现次数最多,共有8次;排名第二的是6次的“十有二月”。如果将n值改为2,出现频次最多的词为“何以”,从中或许能看出《公羊》的一些语法习惯。搜索数据可以导出成csv,也可以制表或生成词云。

Word cloud (词云)

词云的生成有助于可视化展示。Ctext提供的词云语法十分简单,主要包含了关键词、权重、颜色代码。我们以《公羊》出现频次最多的二字词为例(至少10次),生成一个简单的词云。 image 如图,我们从N-gram中导出数据,此处权重即为出现次数。点击Draw运行。 image 如图,我们就很快生成了一个简单词云。字体大小和出现的词语数量都可以调整。

Regex (正则表达式)

该功能其实就是查找功能,相当于一般文本编辑器中的查找(比如word)。不过在此处,Regex工具除了支持匹配字符串的查找形式,也支持正则表达式的运用,可以进行多样的查找方式。正则表达式在编程中常常能起到妙用,值得了解学习。为了方便,我们仍以《公羊》为例。比如我们需要寻找“齐侯”“陈侯”“卫侯”在书中出现的语境: image 我们只需输入正则表达式“([齊,陳,衛])侯”,同时勾选Regex。 image 如图,点击运行,就可以同时查找三位“侯”的出现信息。 image 在Summary标签下,也可以快速查看三个词出现的具体数据,也可导出或制图。

总结

Ctext作为一个文本库,提供了丰富的资源。而Ctext本身为我们提供的文本工具极为实用,且易用。作为人文学者,如果对技术还不是十分熟稔,那么这些文本工具将会带来快速的数字方法上手体验。当然,有经验的朋友也可自行设计程序,更个性化地利用Ctext的数据。