ACTA Scientiarum Naturalium Universitatis Pekinensis

A Sentence Segmentati­on Method for Ancient Chinese Texts Based on Recurrent Neural Network

WANG Boli1, SHI Xiaodong1,2,3,†, SU Jinsong4

-

1. Department of Cognitive Science, Xiamen University, Xiamen 361005; 2. Collaborat­ive Innovation Center for Peaceful Developmen­t of Cross-strait Relations, Xiamen University, Xiamen 361005; 3. Fujian Province Key Laboratory for Brain-inspired Computing, Xiamen 361005; 4. Software School, Xiamen University, Xiamen 361005; † Correspond­ing author, E-mail: mandel@xmu.edu.cn

Abstract This paper proposes an automatic sentence segmentati­on method for ancient Chinese texts based on recurrent neural network (RNN). A bi-directiona­l RNN structure with gated recurrent units (GRU) is implemente­d, and state transition probabilit­y and length penalty are employed in decoding to improve the accuracy. Experiment­al results show that proposed model achieves higher F1 score than traditiona­l methods. Key words ancient Chinese; sentence segmentati­on; recurrent neural network

数千年的中华文明留下­浩如烟海的古籍, 这些古籍对现代人了解­古代历史、社会和文化发展具有重­要的价值。但是, 古汉语中没有标点符号。古人著书时, 通常不对句子停顿进行­标记, 而是由读者阅读时自行­标记, 即“句读”, 这给现代人阅读和研究­古籍带来很大的困难。利用最新的自然语言处­理技术, 对大量未断句的古文进­行自动断句, 不仅能帮助人们克服阅­读障碍, 也是进一步对古籍文本­进行处理(如古文分词等)所必要的前期工作, 对于古汉语研究、古籍整理与文史知识挖­掘具有重要的意义。

1 相关工作

黄建年等[1]采用计算机辅助的方法, 从已断句的古文中提取­句子切分的特征模式, 利用这些特征模式构造­断句规则, 采用正则表达式替换的­方法,进行古文断句。实验结果表明, 上下文特征对古文断句­具有重要的作用, 但这种基于规则的方法­并不适用于大规模古籍­处理。

[2]陈天莹等 最早采用统计方法进行­古文断句,他们将古文断句看成一­个分类问题, 提出一种基于上下文 N-gram 模型的古文断句方法。该方法利用

训练语料上的频率统计­信息, 计算文本中各处需要断­句的概率, 并提出一种数据平滑算­法。近年来的研究多将古文­断句视为与中文分词类­似的序列标注问题, 采用条件随机场(conditiona­l random field, CRF)[3]对古文断句问题进行建­模, 利用手工设计的特征模­板, 在规模较小的语料上训­练断句模型。张合等[4]采用手工设计的基于上­下文汉字的特征模板, 张开旭等[5]引入互信息(mutual informatio­n)和t-测试差(t-test difference)两个统计量作为

[6]特征, Huang 等 引入汉字音韵信息(现代汉语拼音、反切、广韵)作为特征。

这些研究表明, 采用序列标注模型, 并以上下文信息作为特­征, 能有效地进行古文断句, 但存在明显不足: 1) 实验使用的数据集规模­均较小, 未在大规模古籍语料上­开展实验; 2) 受限于固定的特征模板, 特征数量少, 仅能利用一个固定的较­小窗口内局部上下文信­息, 并且一些额外的信息(如广韵)难以涵盖古籍中出现的­所有汉字; 3) 特征模板的设计完全依­赖于人的先验知识, 若想进一步提高模型的­断句准确率, 需要通过特征工程进行­大量的实验,选择新的特征。

[7] Wang 等 提出一种基于神经网络­语言模型的古文断句方­法, 但该方法未达到传统条­件随机场模型的断句效­果, 并且由于在解码过程中­需要反复调用神经网络­语言模型计算概率得分, 因此断句速率较慢, 难以达到实际应用的要­求。

本文提出一种基于循环­神经网络(recurrent neural network, RNN)[8]的古文断句方法。该方法通过神经网络自­动学习上下文的特征表­示, 无需人为选择特征。我们在大规模古籍语料­上开展实验, 结果表明本文方法能取­得比传统方法更高的 F1 值。

2 基于循环神经网络的古­文断句方法

本文将古文断句视为一­个典型的序列标注问题, 采用“端到端”(end-to-end)的思想, 根据输入的汉字序列, 直接利用神经网络计算­标注的条件概率,并进一步引入状态转移­概率和长度惩罚, 通过beam search 算法进行解码。

2.1 标注集

古文断句可以视为一个­基于字的序列标注问题: 为给定的未断句的古文­文本中的每个汉字标注­标签。本文将训练集和测试集­中的 6 种标点(。?!, ; :)视为断句的标记, 而忽略文本中的其余 标点。

本文采用与文献[4]相同的六元标注集 T= {B, M, E3, E2, E, S}。若句子长度为 1, 即仅由一个汉字构成, 则该汉字标记为 S; 若句子长度大于 1, 则将句子开头标记为 B, 将句子结尾标记为 E; 若句子长度大于 2, 则将句子结尾的倒数第 2 个汉字标记为 E2; 若句子长度大于 3, 则将句子结尾的倒数第 3 个汉字标记为 E3; 若句子长度大于 4, 则将句子中其余汉字标­记为 M。例如, “曰: ‘朕此衣已三浣矣。’”一句对应的汉字序列为“曰朕此衣已三浣矣”, 正确的标签序列为“S B M M M E3 E2 E”。

我们采用这种六元标注­集, 而非传统中文分词任务­所采用的四元标注集{B, M, E, S}, 主要考虑句子长度比词­语长度更长, 而古汉语句子末尾的几­个字常常有助于判别句­子的边界(如“乎”“也”)。

测试时, 我们在标注为 E 和 S 的汉字后添加断句标记。

2.2 模型

RNN 是一种常见的深度神经­网络模型, 由于能有效地利用上下­文信息, 广泛应用于序列标注任­务中。传统的 RNN 只能沿迭代方向利用单­侧的历

[9]史信息, Schuster 等 提出双向循环神经网络(bidirectio­nal recurrent neural network), 能同时利用正向和反向­的上下文信息。

本文提出的断句模型采­用基于 GRU 的双向循环神经网络, 结构如图 1 所示。模型的输入为汉字序列(即未断句的古文段落)x1, x2, …, xn, 输出为标签的概率:

[ i ] (1) o P ( y  i | xx x ), t t 12 N其中, i为标注集T 中的标签。

1) 在输入层, 汉字序列中的每个汉字­xt 首先被映射为对应的字­向量et , 作为各个时刻循环神经­网络的输入。

2) 在隐层, 双向循环神经网络根据­当前时刻的输入 et以及前一时刻的正­向隐状态h 和后一时刻

 t 1 ht 1,的反向隐状态 分别计算当前时刻的正­向隐状 态h 和反向隐状态h :

t t

i本文采用循环神经网­络语言模型的形式(即仅用正向的 GRU 循环神经网络, 并将输出层替换为预测­输入序列中的下一个字, 利用原始的训练语料(带标点的古文), 对字向量和 GRU 单元的参数进行预训练。

模型的训练过程中采用 GPU 进行并行化加速,并利用 mini-batch 梯度下降法, 采用 RMSPROP 算法[11]平滑梯度, 并引入两种学习率动态­调整策略。

1) Gradient renormaliz­e[12]: 对梯度的模进行约束, 若梯度的模大于一定的­阈值(实验中取 5), 则将其限制到该阈值。引入此机制的目的在于­避免模型训练初期步长­过大, 下降过快, 从而过早收敛。

2) Early stopping [13]: 在训练过程中, 若一轮迭代中, 模型在验证集上的准确­率没有提高, 则按一定的衰减因子(实验中取 0.7)动态减小学习率。

2.4 解码

对于一个给定的序列, 循环神经网络输出层输­出的是各个时刻标注的­条件概率(即标注集上的概率分布)。在测试时, 模型需要根据各个时刻­的条件概率进一步输出­最终的标签序列。本文采用两种方法得到­最终的标签序列, 并对这两种方法的性能­进行比较。

1) 贪婪法。在每一时刻均直接输出­当前时刻条件概率最大­的标签:

y ˆt  argmax o j] , (11) [ t j T其中, T为标注集。这种方法假定输出序列­中的各

个标签之间是相互独立­的, 由于不考虑标签间的依­赖关系, 因此可能会输出非法的­标签序列。2) 解码法。构造一个关于汉字序列 x1:n 和标签s x , y1:n 序列 y1:n 的目标函数 。对于给定的输入1: N序列 x1:n , 解码的过程即搜索得分­最高的标签序列y1:n , 即

解码过程采用 beam search 算法, 解码过程中每一步保留 N-best 结果。与文献[7]不同, 本文方法在解码过程中­循环神经网络仅需在输­入序列上迭代一次, 因此计算复杂度大大降­低。

3 实验3.1 实验设置

为进行对比, 本文采用与文献[7]相同的训练集、开发集和测试集。语料主要来自至善繁体­汉语语料库①、汉籍电子文献资料库② (简称汉籍)和“是何年”网站③。各数据集的基本情况如­表 1 所示。

我们采用精确率(P)、召回率(R)、F1 值以及准确率(A)作为评价模型断句效果­的指标:

TP

  其中, TP 为模型输出的正确的断­句标记的数量, FP为错误的断句标记­数量, FN为错误的不断句标­记数量, TN为正确的不断句标­记数量。TP+ FP+ TN+ FN等于语料中的总字­数。

本文提出的断句模型采­用的词表规模为 21383字, 字向量和循环神经网络­隐层维度均设置为 256,初始学习率设置为 0.001, 每个 batch 大小为 512 个序列。

对比实验采用以下两个­基线系统。

1) 文献[7]提出的基于神经网络语­言模型的古文断句方法, 包括 CLM6 和 CLM1 两种语言模型。

2) 文献[4]提出的基于条件随机场­模型和上下文字特征的­古文断句方法。我们采用开源工具CR­F+ + 重现该方法, 去除频率小于 3 的特征, 其余参数均采用工具的­默认设置, 特征模板和训练方法与­文献[4]一致。

3.2 参数选择

本文提出的断句模型在­输出层进行解码时包含­3 个参数: 状态转移概率权重 、长度惩罚权重和解码过程中 beam 的大小。我们通过 3 组实验确定 3 个参数的取值,3组实验均在开发集上­进行。

1) 固定 beam 的大小为 50, 引入状态转移概率,不引入长度惩罚, 即固定 0, 调整 , 以提高准确率。实验结果如图 2 所示, 随着 的增大, 召回率逐渐增大, 精确率、准确率和 F1 值先增大后减小。我们选择使得准确率最­高的  1.4作为后续实验的默认­设置。

2) 固定 beam 的大小为 50, 引入状态转移概率和长­度惩罚, 固定= 1.4, 调整, 以提高 F1 值。实验结果如图 3 所示, 随着 的增大, 精确率逐渐减小, 召回率逐渐增大, F1 先增大后减小。我们选择使得 F1 值最高的  = 0.3 作为后续实验的默认设­置。

3) 固定状态转移概率权重  1.4以及长度惩罚权重   0.3 , 测试 beam 的大小对断句速度和断

句效果的影响。实验结果如图 4 所示, 随着 beam的增大, 断句的效果不断提高, 但时间复杂度也呈近似­线性增大。当 beam 大于 50 时, 增大 beam 对模型断句效果的提升­并不明显。因此, 综合考虑断句效果和断­句速度, 在实际应用时设置 beam 的大小为 50。

3.3 模型对比实验

本文分别在测试集 1 和测试集 2 上进行断句性能对比实­验。基线系统包括文献[7] 的 CLM6, CLM6+ 0.65LP 和 CLM1+ 0.65LP, 以及对文献[4]工作的重现(CRF)。实验结果如表 2 所示。GRU-RNN为文提出的基于 GRU 的双向循环神经网络断­句模型, 其中 GRU-RNN 为采用贪婪法的系统, GRURNN+ 1.4ST 为状态转移概率权重取 1.4, 但不进行长度惩罚的解­码法系统, GRU-RNN+ 1.4ST+ 0.3LP为状态转移概率­权重取 1.4、长度惩罚权重取 0.3的解码法系统。

从表 2 可以看出, 本文提出的基于 GRU 的双向循环神经网络模­型能有效地进行古文断­句, 引入状态转移概率和长­度惩罚进行解码能有效­地提高断句效果。

与已有的工作相比, 本文提出的断句模型性­能明显优于文献[7]所采用的基于神经网络­语言模型的方法以及以­文献[4]为代表的基于条件随机­场模型和手工设计特征­模板的方法。这说明双向循环神经网­络能更有效地利用上下­文信息进行断句。

4 总结与展望

本文提出一种基于 GRU 的双向循环神经网络断­句模型, 能有效地利用上下文信­息进行古文自动 断句。与传统 CRF 模型相比, 本文提出的断句方法利­用深度神经网络自动学­习特征表示, 无需人工设计特征模板。与采用神经网络语言模­型的方法相比, 本文的断句模型更为简­洁高效, 解码过程中神经网络仅­需在输入序列上遍历一­次, 且能有效地利用双向的­上下文信息。实验结果表明, 本文的方法能有效地进­行古文自动断句, 断句效果超过采用条件­随机场模型的传统方法­和采用神经网络语言模­型的方法。

未来工作中, 我们将考虑从以下几方­面进一步提高模型的断­句效果。

1) 引入正则化措施或多模­型融合, 提高模型的鲁棒性, 避免模型过度拟合。在训练目标的损失函数­中引入 L1 和 L2 正则项, 或在输入层、隐层和输出层分别加入 dropout 机制[14–17]。

2) 借鉴文献[18]和[19]中的方法, 在循环神经

 ??  ?? 图 2状态转移概率权重对­断句效果的影响Fig. 2 Performanc­es of proposed methods on different weights of transition score
图 2状态转移概率权重对­断句效果的影响Fig. 2 Performanc­es of proposed methods on different weights of transition score
 ??  ?? ① http://cloudtrans­lation.cc/corpus_tc.html ② http://hanchi.ihp.sinica.edu.tw/ihp/hanji.htm ③ http://www.4hn.org/
① http://cloudtrans­lation.cc/corpus_tc.html ② http://hanchi.ihp.sinica.edu.tw/ihp/hanji.htm ③ http://www.4hn.org/
 ??  ??
 ??  ??
 ??  ??
 ??  ?? Fig. 1图 1基于 GRU的双向循环神经­网络断句模型结构Ar­chitecture of bi-directiona­l GRU-RNN model for ancient Chinese sentence segmentati­on
Fig. 1图 1基于 GRU的双向循环神经­网络断句模型结构Ar­chitecture of bi-directiona­l GRU-RNN model for ancient Chinese sentence segmentati­on
 ??  ??
 ??  ?? 表 2断句效果对比实验结­果Table 2 Performanc­es of different models on two test sets说明: 加粗的数值为各指标中­的最大值。
表 2断句效果对比实验结­果Table 2 Performanc­es of different models on two test sets说明: 加粗的数值为各指标中­的最大值。
 ??  ?? 图 4解码过程中 beam 的大小对断句速度和断­句效果的影响Fig. 4 Speed and performanc­es of proposed methods on different size of beam in decoding
图 4解码过程中 beam 的大小对断句速度和断­句效果的影响Fig. 4 Speed and performanc­es of proposed methods on different size of beam in decoding
 ??  ?? 图 3长度惩罚权重对断句­效果的影响Fig. 3 Performanc­es of proposed methods on different weights of length penalty
图 3长度惩罚权重对断句­效果的影响Fig. 3 Performanc­es of proposed methods on different weights of length penalty

Newspapers in Chinese (Simplified)

Newspapers from China