大规模语料库上的Stanford和Berkeley句法分析器性能对比分析
2013-04-29项炜金澎
项炜 金澎
摘要:句法分析性能的高低对机器翻译、信息检索、语音识别等自然语言处理相关应用领域的发展有着很大的影响。该文基于LDC 14年的新华社语料,采用开源中文句法分析器Stanford parser和Berkeley parser,在内部分词系统和外部分词系统两种策略下对句法分析的性能进行对比分析,并就实验结果提出自己的分析和思考。
关键词:句法分析;性能;Stanford parser;Berkeley parser
中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2013)08-1984-03
1 概述
句法分析判断输入的单词序列(一般为句子)的构成是否合乎给定的语法,并通过构造句法树来确定句子的结构以及各层次句法成分之间的关系,即确定一个句子中的哪些词构成一个短语,哪些词是动词的主语或宾语等问题。随着自然语言应用的日益广泛,特别是对文本处理需求的进一步增加,句法分析的作用愈加突出,它在机器翻译、信息检索与抽取、问答系统、语音识别等研究领域中都有重要的应用价值[1]。
现阶段,基于统计的方法是句法分析的主流技术。常见的概率句法分析模型包括概率上下文无关模型、基于历史的句法分析模型、层次化渐进式的句法分析模型和中心词驱动的句法分析模型。综合多种模型而实现的句法分析器种类繁多,该文实验使用的是目前在开源中文句法分析器中比较具有代表性的Stanford parser和Berkeley parser,。前者基于因子模型,后者基于非词汇化分析模型。
英文句法分析性能已经达到90%以上的水平,然而中文句法分析性能却停留在80%左右,如何提高中文句法分析的性能成为了一个关键问题。由于概率句法分析主要是由数据来驱动的一项任务,故用于训练分析器的树库规模的大小将直接决定该分析器的性能。事实上,当前中文句法分析性能确实在很大程度上受到了训练数据规模小的限制,此外,分词和词性标记的准确率对句法分析性能的影响也是十分显著的[2]。如果能引入一个高质量的外部词法分析器来辅助句法分析,将在一定程度上提高中文句法分析的性能。该文选取 LDC Chinese Gigaword Second Edition 中的14年新华社新闻语料(共计约12, 163, 828个句子),外部分词工具使用中科院计算技术研究所的ICTCLAS汉语分词系统(2011版),中文句法分析器使用Stanford parser和Berkeley parser,实验将基于两种句法分析器共4种分析模型下的分析结果,进而在分析速度、准确率、分词对句法分析质量的影响等方面进行性能对比。另外,实验中得到的句法分析结果数据也将为后续相关研究提供大规模的语料支持。
论文内容的安排如下:第2部分介绍Stanford parser、Berkeley parser和ICTCLAS;第3部分介绍实验结果与分析,第4部分是总结与未来工作展望。
2 分析器
目前支持中文的句法分析器越来越多,其中作为开源软件的Stanford parser和Berkeley parser受到了较为广泛的关注和应用,两者都基于统计句法分析模型并支持多种语言,用来训练分析器中文模型的训练数据和句法分析树格式都是源自宾州中文树库的相应规范。
2.1 Stanford parser
Stanford parser是由斯坦福大学自然语言处理小组开发的开源句法分析器,是基于概率统计句法分析的一个JAVA实现,从2002年12月的Version 1.0 到2012年11月的Version 2.0.4,共历经了22个版本。分析器目前提供了5个中文文法[3],与传统的单一句法分析器相比,Stanford parser的设计更为合理和多样化:
1) 既是一个高度优化的概率上下文无关文法和词汇化依存分析器,也是一个词汇化上下文无关文法分析器。
2) 基于权威可靠的宾州树库作为分析器的训练数据,目前已面向英文、中文、德文、阿拉伯文、意大利文、保加利亚文、葡萄牙文等语种提供句法分析功能。
3) 提供了多样化的分析输出形式,除句法分析树输出外,还支持分词和词性标注文本输出、短语结构树输出、斯坦福依存关系输出等。
4) 分析器内置了分词工具、词性标注工具、基于自定义树库的分析器训练工具等句法分析辅助程序。
5) 通过设置不同的运行参数,可实现句法分析模型选择、自定义词性标记集、文本编码设置和转换、语法关系导入和导出等功能的定制。
2.2 Berkeley parser
Berkeley parser是由伯克利大学自然语言处理小组开发的开源句法分析器,目前支持的语种主要有英文、中文、德文、阿拉伯文、保加利亚文、法文等。与Stanford parser相比,Berkeley parser具有如下特点:
1) Berkeley parser是一个纯粹的基于PCFG的句法分析器。
2) 分析器的输入形式可以文件为单位(每行一个句子),分析完成后得到的输出文件中包含了输入文件中所有句子的句法分析结果。
3) 默认的分析结果输出形式是文本,但为了让分析结果更加直观,可以设置程序的输出形式为句法分析树图像。
4) 可指定输出基于一个句子的排名前n的句法分析树及每棵树的概率值。
5) 分析器提供了用于读取标准树库的代码,可基于用户指定的树库来训练新的文法。
6) 支持多线程分析,在多处理机系统上能获得更高的句法分析性能。
7) 由于分析器不含分词功能,所以必须先借助外部分词工具来进行分词,再将经过预处理的分词结果串作为句法分析器的输入。
2.3 ICTCLAS
中文词法分析是中文信息处理的重要基础。ICTCLAS是由中国科学院计算技术研究所研制的汉语词法分析系统,主要功能包括中文分词、词性标注、命名实体识别、新词识别、导入用户词典等,相比其它中文分词系统具有如下特点[4]:
1) 支持繁体中文分词,可自动识别GB2312、GBK、UTF8等多种编码格式。
2) 采用多线程技术,进一步提高了分词精度和速度。
3) 采用层叠隐马尔可夫模型实现了统一的语言计算理论框架,将汉语词法分析的所有环节都统一到了一个完整的理论框架中,获得最好的总体效果。
4) 在国内和国际权威的公开评测中,其分词速度在单机上是500KB/s,分词精度98.45%,API不超过100kb,各种词典数据压缩后不到3M,被评价为当前最好的汉语词法分析器。
3 实验结果与分析
3.1 实验设计
3.1.1 语料预处理
考虑到LDC原始语料文件采用了SGML标记规范,因此需要对168个语料文件进行预处理。预处理的任务首先是删除
3.1.2 结合外部ICTCLAS分词系统的句法分析
第一步,通过API调用ICTCLAS,对经过预处理的168个语料文件进行中文分词处理。
第二步,将分词结果文件中的句子按照句子长度(该句子的词数)进行句长区间分类,即每个文件被切割为句子长度为[1,9],[10,19],[20,29],[30,39],[40,49],[50,59],[60,100]的7个文件。
第三步,通过API调用Stanford parser(PCFG model)、Stanford parser(Factored model)、Berkeley parser,分别对第二步中得到的不同句长区间的文件进行句法分析,并将上述3种分析模型的分析结果进行合并汇总,统计得到句法分析的平均速度:Standford(PCFG)为1.1273秒/句,Stanford(Factored)为11.6939秒/句,Berkeley为1.8173秒/句。
第四步,在每个句长区间中随机挑选出100个句子,在宾州树库的规范基础上,通过人工分析得出句法分析树,通过与第三步中的句法分析器分析结果进行对比,统计得到句法分析的平均准确率:Stanford(PCFG)为72.4%,Stanford(Factored)为74.4%,Berkeley为74%。
3.1.3 使用内置分词功能的句法分析
在Stanford parser和Berkeley parser中,只有Stanford parser的Factored segmenting model内置了分词功能。基于该模型重复3.1.2中实验的第三步,统计得到实验结果:平均速度为12.0966秒/句,平均准确率为68.9%。
3.2 实验分析
第一,速度分析:Stanford的三种模式中,PCFG最快,Factored其次,FactoredSegmenting最慢,其中PCFG和Factored速度差异很大,主要是因为Factored模式要对概率上下文无关文法分析器和依存分析器进行权衡,从中获取一个最佳分析结果,特别是当句子长度大于40,Factored速度变得非常缓慢。而FactoredSegmenting与Factored的速度差异很小,这个差异主要是分词的时间开销。由于Berkeley是一个纯PCFG分析器,其速度与Stanford PCFG相近。
第二,准确率分析:Stanford的三种模式中,综合了两种分析器的Factored准确率最高,其次是PCFG,FactoredSegmenting最低。Berkeley在分析准确率上与Stanford比较接近,但随着句子长度的增加,每种句法分析器的准确率都呈现明显下降的趋势,特别是当句子长度大于60,分析准确率已经低于43%。
第三,3.1.2和3.1.3的实验数据表明,采用性能更好的外部分词工具,对于提高句法分析器的分析质量是明显有帮助的。
4 总结与展望
从实验结果来看,在开放式语料环境下,Stanford parser和 Berkeley parser的整体性能都存在一定的缺陷,说明目前中文句法分析的整体水平还有待提高。
目前基于依存分析的方法和短语结构分析的方法仍是句法分析研究的主流方向,但如本文概述中所述,如何建设与句法分析研究密不可分的相关资源库是一个关键因素,包括如何有效利用异构树库(例如依存树库)来帮助短语结构分析系统,以及如何帮助在再排序系统中高效率地利用更多的候选分析树来提高句法分析性能。
最后,期望在本文实验中生成的14年新华社新闻语料的句法分析结果数据能为后续相关研究提供大规模的语料支持。
参考文献:
[1] 何亮,戴新宇,周俊生,陈家骏.中心词驱动的汉语统计句法分析模型的改进[J].中文信息学报,2008,22(4):3-9.
[2] 米海涛,熊德意,刘群.中文词法分析与句法分析融合策略研究[J].中文信息学报,2008,22(2): 10-17.
[3] http://nlp.stanford.edu/software/parser-faq.shtml.
[4] http://ictclas.org/.