明朝版“今日头条”,这个北航校友的开源AI脑洞很大

用来处理文言文的算法,竟是用现代汉语数据训练的?

贾浩楠 发自 凹非寺
量子位 报道 | 公众号 QbitAI

下面这段明朝万历年间的“今日头条”,你能看懂吗?

这条明朝新闻所讲的,其实是:

小本生意免税条约未能落实,小商贩被严重剥削,以致百姓聚众闹事并火烧衙门,造成多人伤亡。王炀 抢救出公章。

还有另外一条:

这条新闻说的是:

陕西天鼓鸣。

这些明朝的“一句话”新闻,都是一个名叫HistSumm的AI算法,根据文言文提炼出来的摘要。

生成文本摘要的NLP见得多了,古汉语摘要总结还是第一次。这项研究来自就读于英国谢菲尔德大学的北航校友,以及北航计算机系的团队,和英国开放大学。

这项研究最神奇的是,用来处理文言文的算法,是用现代汉语数据训练的。

这个AI,会写明朝新闻

这篇论文题目是Summarising Historical Text in Modern Languages,文中提出的核心算法名为HistSumm

研究团队分别以古德语和古汉语作为目标语言,来实现算法的摘要提取。

其中,古汉语部分的测试结果,选用了明朝历史文献。

《万历邸抄》,是明万历年间的“今日头条”,抄录自当时的官方“邸报”。内容包括皇帝诏谕、民生百态、军事外交等等。

团队使用HistSumm,对《万历邸抄》中的100多段文言文进行了摘要提炼。

比如这一段:

其中,story是原文,Expert是人类专家给出的摘要。

HistSumm在“相同词汇对”(Identical Mapping)的映射方法下,给出的结果是:

宋应昌撤兵自朝鲜回京。

IdMap+CONV(CONV指简繁汉字转换增强语料库训练)给出的结果也是:

宋应昌撤兵自朝鲜回京。

怎么样,摘要是不是能直接上标题了?

再看另一个例子:

HistSumm给出的摘要为:

高拱不忠,已死了,他妻还来乞恩,不准他。

高拱不忠,不准他妻来乞恩。

以上两个结果也分别是IdMap、IdMap+CONV给出的结果。

可以看出,算法对于一段文言文主要的人物 、事件、关系都能准确把握,只是偶然会遗漏一些细节。

在与最出色的跨语言学习模型XLM的结果对比中,HistSumm的表现都有所超越:

结果分别在ROUGE1、ROUGE2、ROUGEL基准下得到

实验方法与思路

对古汉语进行摘要历练的HistSumm,它的训练数据,其实大部分都是现代汉语。

这是因为,可供模型训练的古汉语数据集,实在太少了。

于是,研究团队构建了一个跨语言迁移学习框架

第一步,训练模型的现代和古汉语单词嵌入

对于像中文这样的表意语言,基于笔画(类似于字母语言的单词信息)训练的词嵌入是实现最佳性能的途径。因此团队利用笔画信息来提取汉字的特征向量。

此外,还有一点很重要。与简化字(在训练资源中占主导)相比,繁体字通常有更丰富的笔画,例如,“葉”字,包含’艹’(植物)和’木’(木)的语义相关成分,而它的简化版本(’叶’)则没有。

繁体字的这些特性,有利于基于笔画的嵌入方式。所以为了提高模型的性能,团队还对繁体化的汉字进行了额外的实验。

建立特征向量空间

接下来,团队为模型建立了两个语义空间,空间中的特征向量既来自现代汉语,也有古汉语。

对于特征向量,主要采取两种引导策略:完全无监督(UspMap)的方式和相同词汇对(IdMap)方式。

前者只依赖于输入向量之间的拓扑相似性,而后者则额外利用古今同意的词作为依据。

使用现代汉语数据集训练

训练阶段,团队使用了现代汉语数据集CSTS,训练了一个只接受现代汉语输入的总结器。

编码器的嵌入权重,在建立特征空间时,用相应的跨语言词向量的现代语分区进行初始化。

而解码器的嵌入权重则是随机初始化的,可以通过反向传播更新。

最后,就是模型的收敛。

团队直接将编码器的嵌入权重替换为向量空间中的古汉语特征向量,得到一个新的模型。这个模型可以用古汉语输入,但输出现代汉语句子,并且整个过程不需要任何外部并行监督。

简单的总结一下,团队让模型能理解古文的关键,是在特征向量空间中,建立互相联系的古汉语-现代汉语词汇对。然后再用现代汉语数据训练模型,之后替换掉对应的特征向量。

北航校友科研成果

本研究的第一作者Xutan Peng,目前是英国谢菲尔德大学在读博士生,研究方向是自然语言处。

Xutan Peng本科就读于北京航空航天大学计算机系。

而本文的共同作者中,也有来自北航计算机系的Yi Zheng

论文的另一作者,谢菲尔德大学的Lin Chenghua老师,本科也毕业于北航计算机系。

本文通讯作者Advaith Siddharthan博士,是英国开放大学Knowledge Media Institute的研究院。

论文地址:
https://arxiv.org/abs/2101.10759

开源代码:
https://github.com/Pzoom522/HistSumm

版权所有,未经授权不得以任何形式转载及使用,违者必究。