一种适用于唐诗诗句分词方法的研究
2016-01-01闫伟杨秀梅
闫伟,杨秀梅
(1.四川大学计算机学院,成都 610000;2.中国科学院大学,北京 100049)
一种适用于唐诗诗句分词方法的研究
闫伟1,杨秀梅2
(1.四川大学计算机学院,成都610000;2.中国科学院大学,北京100049)
0 引言
随着自然语言处理技术的发展,文学性语言的计算机处理作为自然语言处理的分支摆在了学术界的面前。但由于汉语连续书写的习惯,构建适合计算机处理的诗词语料库成为后续工作的基础,因此分词技术成为对汉语信息处理的第一步。中国素来享有“诗国”之称,诗词作为特殊的文学形式,以独特的艺术形式,以恒久不衰的魅力成为中国文学的骄傲而流传千古。因此,利用计算机技术处理古典诗词成为广大科研人员的关注点。
本文在对现有研究成果学习总结的基础上,提出了一种适用于唐诗的分词方法。
1 古典诗词切分方法的提出
相关的科研机构和科研人员在古典诗词切分方面都做了大量研究,并取得了丰硕的研究成果。目前,对于词的切分方法归纳起来大致分为三类:第一类是基于语法和规则的方法。其基本思想是在提取词的同时进行句法、语义的分析,利用句法信息和语义信息进行词性的标注,并以此解决提取词歧义的现象。第二类是基于统计的方法。该方法根据字符串在语料库中出现的统计频率决定是否能够构成词。此方法不需要词典技术的支持,但会提取出共现频率高但不是词的字符串。第三类是机械式方法。该方法将文档中的字符串与词典中的词条进行逐一匹配,若查找成功,则进行切分,否则不予切分。古典诗词切分方面,北大计算语言所通过利用纯统计的方法将结合强度较强、使用稳定以及带有隐喻义的二字词抽取出来;台湾元智大学罗凤珠等人根据诗词格律进行诗词切分。这些方法的提出为后续研究奠定了良好的基础。
唐诗是一种特殊的文体形式。就诗行字数看,有:五言体(每句必须是五个字)、七言体(每句必须是七个字);从诗体长短看,有:绝句(全诗共四句)、律诗(全诗共八句)、排律(全诗多余八句)。
本文在对上述方法及唐诗特点研究的基础上,提出了诗词格律与机械匹配相结合的唐诗切分方法。本文剩余章节将详细介绍本文涉及的相关定义及相应的算法流程。
2 相关定义及说明
2.1子句和短句
子句是从文献整体中经由标点符号分割,并进行抽取的字符串。子句是文献分词的初始对象。短语是子句经由多次分词处理后,删除已成功分词的之后的剩余部分。例如,在古体诗-乐府诗中常有以“君不见”为起始的句子,若将子句“君不见黄河之水天上来”中“君不见”三个字被切分之后,剩余的“黄河之水天上来”则作为下一次切分的短语。
2.2词
学术界至今没有一个公认的、具有权威性的词表。鉴于此,故本文对词的形式作如下定义:词是最小的能够独立应用的语言单位,即在汉语言文献中能够独立、完整的表达语义且语义上不可再做分割的字符串。语义上不可分割指部分词字面上可以分割成两个或多个词,但在实际分割之后语义则会发生改变不能表达原词的意义。例如“二十四桥仍在,波心荡、冷月无声”(作者:姜夔 词牌:扬州慢)中,“二十四桥”为扬州的古桥名,表示一个地点的专有名词,若将其划分为“二十四/桥”,则使得原本句意发生改变。
从构成元素上看,词可以分为基本词和复合词。基本词无法看作由其他词构成。例如:单字词“闪”、“亮”,双字词“鸳鸯”等。复合词看作由其他词构成,可再分但整体词义可能会发生改变。
2.3复合词
复合词指词与词的复合体,由两个或两个以上的词组成的字符串。构成复合词的词称为构词部件,构词部件可为基本词或者其他复合词。复合词的结构取决于构词部件的数量和关系。复合词的构词成分及所在的位置,社会已对其约定俗成,因而尽管这些复合词在结构上可以拆分开来,但在唐诗语料库中出现频率非常高,结构稳定,带有一定的特殊意义,具有“词”的特性。
3 唐诗分词算法
3.1全唐诗及词数据库
本文以彭定求等人编著的《全唐诗》为标准进行整理,剔除其余朝代诗作,整合后全唐诗数据库中共收录2529人共计42863首诗词。以范之麟编撰的《全唐诗大辞典》作为基本唐诗词库。
3.2全唐诗典故及专有名词数据库
唐诗中运用大量的典故及专有名词进行诗词的表情达意,具有特殊的含义。然而,由于数据稀疏情况的存在,这类词在统计中并没有显示出具有很强的结合强度。这都造成词汇切分与语意标记的困难。对此,本文以范之麟编撰的《全唐诗典故辞典》和张忠纲编撰的《全唐诗大辞典》为基础,结合前人的工作,建立全唐诗典故及专有名词数据库。该数据库共包含唐诗专有名词732个,唐诗典故5126个。
3.3唐诗分词方法介绍
平仄是近体诗最重要的格律因素,平仄在诗和韵文中的作用是构成一种节奏。唐诗以两个音节为一个音步,由于唐诗中天然的韵律结构,除了典故及专有名词之外,以双字词最多,单字词次之。此外,在五言句中的第2-3字、七言中的第2-3、4-5字之间一般不构成词。因此,本文提出了一种基于唐诗格律特点,结合现代汉语分词方法生成一种适用于唐诗诗句分词算法。在此,以“青山隐隐水迢迢,秋尽江南草未凋。二十四桥明月夜,玉人何处教吹箫。”为例来说明唐诗的切分步骤。(其中/表示分词符号,|表示根据古代诗词切分规则设置词结构切分点)
步骤1对比专有名词数据库和典故数据库,将长度大于等于3的专有名词和典故优先切分出来。“二十四桥”为扬州的古桥名,是一个表示地点的专有名词。将其先切分出来成词:“青山隐隐水迢迢/秋尽江南草未凋/二十四桥|明月夜/玉人何处教吹箫/”。
步骤2经过步骤1之后,切分成的各子句字数为一到七之间,在这里根据古代诗词切分规则[2]来设定词结构切分点:
规则(1)子句字数为一则单字成词;
规则(2)子句字数为二、三的字串,不设置词结构切分点;
规则(3)子句字数为四、五的字串,则在第二字后面设置词结构切分点;
规则(4)子句字数为六、七的字串,则可分别在第二字和第四字后面设置词结构切分点 。
根据步骤2的规则,切分结果如下:“青山|隐隐|水迢迢/秋尽|江南|草未凋/二十四桥|明月夜/玉人|何处|教吹箫/”。
步骤3经过步骤2之后,将切分的所有长度为2的字串“XY”,与基本唐诗词库中词进行匹配,若匹配成功,则保留原切分;否则,将原字串“XY”切分为“X| Y”。
步骤4经过上述操作,仅剩下长度为3的字串,结合现代汉语分词技术对剩余字串进行进一步切分。
本文采用最大逆向匹配算法对长度为3的字串“XYZ”进行切分。其原理如下:对字串进行最大正向匹配算法:首先基本唐诗词库若存在长度为3的字词,则取“XYZ”作为匹配字段,若词库中存在“XYZ”,则匹配成功,字串“XYZ”不予切分,独自成词;若匹配不成功,则匹配“XY”,若成功,则字串切分为“XY|Z”;否则匹配“YZ”,若匹配成功,则字串切分为“X|YZ”;否则,字串切分为则字串切分为 “X|Y|Z”。切分之后的诗句结果如下:“青山|隐|隐|水|迢迢/秋|尽|江南|草|未|凋/二十四桥|明月|夜/玉人|何处|教|吹箫/”。
4 结果分析
本文在《全唐诗》基础上构建生语料库,利用上文所述分词方法,对全唐诗生语料库进行分词。利用现已人工分词的王维和孟浩然诗篇621首对上文分词方法进行验证。从统计结果来看,分词正确率达90%。对于未成功分词的诗句,主要由以下几个方面的原因构成:
①专有名词语料库和典故数据库的完善程度不够,这直接影响了分词准确率的高低。
②本文利用唐诗音律进行分词,是基于这样一个假设:唐诗中的词多以二字词为主。然而,在对于长度为3的字串进行切分时,没有充分考虑字串“XYZ”中“XY”和“YZ”两者之中结合成词的频度。
③存在包孕型的错误。例如:“三月”有可能是表示三个月,也可能表示十二月份中的三月,而两种情况下的切分是不同的。从实验结果来看,相对于现代汉语的切分,全唐诗的切分正确率还有一定差距的。
5 结语
本文对唐诗语料的结构特点及相应的分词技术进行了深入的探讨,在总结前人研究方法的同时,提出了一种基于唐诗格律特点,结合现代汉语分词方法生成一种适用于唐诗诗句分词算法。实验结果表明,本文提出的方法能够有效提高唐诗分词准确率。当然,仅对语料进行切分是不够的,只有以词汇为单位对进行标注加工,才能对整首唐诗的情感、风格等诸多方面进行深入研究,这也为本文未来的工作指明了道路。
[1]苏劲松,周昌乐等.基于统计抽词和格律的全宋词切分语料库建立[J].中文信息学报,2007,21(2):52-57.
[2]罗凤珠.诗词语言切分与语意分类标记之系统设计及应用[A].第四届数位典藏技术研讨会[C].2005.
[3]俞士汶,段慧明,等.北京大学现代汉语语料库基本加工规范[J].中文信息学报,2002,16(5):49-64.
Tang Poetry;Corpus;Word Segmentation;String Matching
Research on Segmentation Methods Applicable to Tang Poetry
YAN Wei1,YANG Xiu-mei2
(1.College of Computer Science,Sichuan University,Chengdu 610000;2.University of Chinese Academy of Sciences,Beijing 100049)
1007-1423(2016)03-0017-03
10.3969/j.issn.1007-1423.2016.03.004
闫伟(1990-),男,山东滕州人,硕士研究生,研究方向为数据挖掘、多媒体计算杨秀梅(1990-),女,山东临沂人,硕士研究生,,研究方向为数据分析、数据挖掘
2015-12-15
2015-12-30
构建一个全唐诗语料库是使用计算机自动研究唐诗的基础。在对唐诗中的“词”、“复合词”等进行系统定义的基础上,综合唐诗在格律方面的特点,提出一种适用于唐诗诗句分词的方法。该方法先依据唐诗格律特点对诗句进行切分,对不符合词定义的切分结果,再采用现代汉语分词技术中最大逆向匹配算法进行修正。实验结果表明,所提出的方法能有效提高唐诗分词准确率。
唐诗;语料库;分词技术;字串匹配
The construction of a full Tang poetry corpus is the basis for the study of Tang poetry by computer.Based on the Tang Dynasty in the "word"and"compound"system is defined on the basis of the comprehensive characteristics of Tang poetry in metrical form,proposes a method applicable to segment the Tang poetry.The first method of Tang poetry metrical features segmentation of verse basis,does not conform to the definition of the segmentation results,and then the use of modern Chinese word segmentation in reverse matching algorithm is modified.The experimental results show that the method proposed can effectively improve the accuracy rate of Tang poetry word segmentation.