基于新词发现与词典信息的古籍文本分词研究

2019-06-09 10:36李筱瑜
软件导刊 2019年4期
关键词:互信息分词

李筱瑜

摘 要:现代汉语分词虽已取得较大进展,但是古籍文本分词由于受到古代汉语词汇特征、语义、语法等限制,始终没有形成一种行之有效的方法。通过互信息与邻接熵的新词发现方法从《汉书》中寻找未登录词,结合古代汉语词汇表、古代人名词表和古代地名表构建古籍文本分词词典,以此为基础,使用pyNLPIR对《汉书》进行分词操作。实验结果显示,新词发现方法可以在一定程度上完善古籍文本分词所需的用户词典全面性,但是对3字以上的词语识别效果较差。实验证明使用新词发现结合词典信息的方法对古籍文本进行分词能够有效提高古代汉语分词准确度。

关键词:古籍文本;分词;互信息;邻接熵;新词发现

DOI:10. 11907/rjdk. 182867

中图分类号:TP301文献标识码:A文章编号:1672-7800(2019)004-0060-04

0 引言

随着人文计算的发展,针对文本进行深入分析并从中挖掘相应知识与内涵逐步成为新的研究趋势,但目前汉语人文计算主要集中于现当代文本上,古籍文本计算相对较少[1]。对于以意合为主要特点的汉语来说,词频与共现分析是重要的文本挖掘研究方法,因此对古籍文本内容进行人文计算及可视化分析过程中,分词是古籍文本分析和挖掘的基础。古代汉语经历了一个从单音节词向双音节及多音节词演化的长期过程[2]。古代汉语在词汇和语法等方面与现代汉语表现不同,虽然现代汉语自然语言处理技术已经取得了长足进展,然而这些成果主要针对现代汉语,现代汉语分词研究成果不能直接应用于古代汉语研究。

国内学者对古籍文本分词进行了诸多研究。严顺[3]在总结前人研究的基础上,对构建古文献语料库会遇到的古籍文本分词和词性标注等问题进行阐释,并提出了建设性见解;曹艳等[4]将常用于处理现代文本的N元组法移植到古籍文本中进行实义词提取,并从古籍文本《齐民要术》中提取3 000多个普通词语和专有名词;欧阳剑[5]根据古代汉语词汇发展特点、断代词典及词汇专书研究现状,将古籍文本切分为4个时段,采用分段叠加的方式构建词库,按古籍文本的年代分别调用相应词库,取得了较好的古籍文本分词效果;王晓玉等[6]运用CRFs和词典相结合的方法,以中古时期的史书、佛经、小说类语料训练古籍文本分词模型,消除了古代汉语人工分词结果不一致的问题;华振红[7]根据中古汉语基本特点,结合现有语料库建设经验,阐述了中古汉语语料库选取语料的若干原则,讨论了建立中古汉语语料库分词规范、分词词表的可行性,并初步构建了按照中古汉语分词规范进行信息处理的整体框架;宋彦等[8]借助机器学习中的学习算法,将基于字的条件随机场模型和基于词的Bi-gram语言模型结合,提出一种联合解码的中文分词方法,在一定程度上提高了分词准确度。

但以上研究并未在基于词典的古汉语分词方面提出一种快速建立古汉语词库的有效方法。因此本文提出一种基于新词发现与词典信息的古籍文本分词方法。首先,运用互信息和邻接熵的新词发现方法,对古籍文本进行处理,识别出未登录词、过滤掉停用词和错误的词;其次,将识别出的未登录词表与古代汉语词汇表、古代人名词表、古代地名表结合并构建古籍文本词典;最后,将古籍文本词典作为用户词典,使用中科院分词系统pyNLPIR对古籍文本进行分词,并检验分词准确度。该研究结果可直接服务于古籍文本语料库建设。

1 新词发现

根据刘伟童等 [9]的研究,将新词发现方法归纳为3种:基于规则、基于统计与基于统计与规则相结合的新词发现方法。基于规则的新词发现方法指利用词性特征、语言学构词规则等发现新词,新词发现准确率比较高,但是可扩展性、灵活性较差,而且消耗大量资源[10];基于统计的新词发现方法指通过大量实验语料计算词语词频、成词概率、左右邻接熵、邻接变化数等统计特征识别新词,基于统计的方法较为灵活,不受领域限制,易扩展且可移植性较好,但存在数据稀疏和准确率较低的缺点[11];基于规则与统计相结合的新词发现方法则融合上述两种方法优点,从而可提高新词发现的准确率和效率[12]。本文在未切词的实验语料中从左到右进行逐字扩展,利用互信息、左右邻接熵等统计特征和删除候选词的首尾停用词、过滤旧词等规则实现新词发现。

1.1 互信息

词语是词和语的合称,是一个可以单独存在的语言单元,词语各个字之间存在一定相关性。字之间或词与字之间相关性越大,则字之间或词与字成词的概率越大。互信息可以计算两个物体相互依赖的程度,互信息值越大,代表两个物体依赖程度越大,因此新字符串内部成词概率可通过互信息计算获取[13]。二元互信息指两个事件相关性的数量,见公式(1)。

1.2 邻接熵

信息熵是信息期望值,用来描述信息不确定度。一般来讲,信息熵越大说明变量包含的信息越大,变量不确定性也越大[15]。实验结果表明,集合信息混乱程度越高,包含的信息量越少。消除外界不确定性的方法是引入信息,如果没有外部信息则无法排除不确定性,在自然语言处理过程中,信息处理过程是一个消除不确定性的过程。

在新词发现过程中,需要计算一对词之间左、右信息熵,因为熵表示不确定性,所以熵值越大说明词越新,与它相邻的字或词种类越多,其边界越明显。以左信息熵为例,一个新候选词的左信息熵為该候选词与其左边所有种类相邻字结合的信息熵之和,与候选词左边相邻字的种类越多,则候选词左信息熵越大,候选词左边与其它类别的字边界越明显;相反,与候选词左边相邻字的种类越少,则候选词左信息熵越小,候选词左边成为一个词左边界的可能性也越小,此时需对候选词向左扩充字符,直到左边界确定为止[16]。候选词左信息熵计算公式见式(5)。

2 古籍文本分词

古籍文本分词是进行古籍文本知识挖掘及知识计算的基础,目前用于古籍文本分词的方法主要有两种:一种是基于词典的分词方法,另一种是基于统计和机器学习的分词方法[17]。基于词典的分词方法需要语言学家通过人工筛选标注出古代汉语词汇,构建古代汉语领域词典,然后将待分词的古籍文本与词典中的词进行对比,从而达到分词目的。其优点是分词准确率较高、程序简单,但缺点也很明显,构建的词典具有领域局限性;古代汉语还有朝代局限性,即不同朝代的汉语词汇表达不同,因此需要重新构建词典。基于统计和机器学习的分词方法利用人工标注的古籍文本语料训练语言模型、语言模型学习语料库中词的构成方式及语法语义信息,从而实现古籍文本自动分词[18-20]。

由于鲜有古籍文本分词所需的词库、训练语料及语法规则,所以本文基于字符串匹配进行古籍文本分词。采用该方法的首要任务是构建古汉语词库,根据实际需要,本文依据《汉语大词典》[21],过滤掉现代汉语词汇以构建古代汉语词汇表,根据中国历代人物资料库构建历代人物词表,依据古今地名对照表梳理出古代地名表。整合古代汉语词汇表、历代人物词表、古代地名表,初步构建古籍文本分词词典。

为进一步扩充古籍文本分词词典,提高古籍文本分词准确率,本文基于互信息与邻接熵的新词发现方法从《汉书》中抽取未登录的新词添加到词典中,使用自定义的古籍文本分词词典对《汉书》进行分词,分词流程见图1。

3 实验结果及分析

本文实验选用中国第一部纪传体断代史《汉书》,约     1 267 776个汉字。将文本转换为TXT格式,利用正则表达式过滤文本标点符号及特殊符号,结合哈尔滨工业大学停用词表与古代序词表作为古汉语分词停用词表。

采用Python3.6实现互信息与邻接熵算法,对《汉书》进行处理以发现未登录的新词,使用中科院提供的pyNLPIR[22]作为分词工具。

对利用基于互信息与邻接熵的新词方法发现的实验结果,采用准确率(Precision)、召回率(Recall)和F值(F-measure)作为评价指标,其计算公式为:

对《汉书》进行处理之后,将计算获取的互信息[MI(w1?wn)]、左邻接熵[Hleft(W)]、右邻接熵[Hright(W)]进行求和得到综合评分,对综合评分排序,取topN作为新发现词。通过互信息与邻接熵的新词发现方法,将《汉书》中发现的新词按评分从高到低排列后,选取top10进行展示,如表1所示。

新词发现的准确率、召回率和F值如表2所示。

结合表1、表2可以发现,通过基于互信息与邻接熵的新词发现方法在《汉书》中识别出的新词,虽然能够选用的不多,准确率、召回率和F值普遍不高,但该方法可以增加自建词典词语全面性,在一定程度上提高古籍文本基于词典分词的准确性。

4 结语

本文运用互信息与邻接熵的新词发现方法对《汉书》进行了新词抽取,并结合古代汉语词汇表、古代人物词表、古代地名表构建了古籍文本词典,使用pyNLPIR分词工具对《汉书》进行分词实验。新词发现方法在创建用户词典过程中可提供一些新的词语,为基于词典的古籍文本分词提供了一种可行的思路。同时本文还有许多不足,如新词发现准确率、召回率并不高,这与新词发现算法在古籍文本中的参数设定有关,还需进一步研究,提高新词准确率,从而构建更完整的古籍文本分词词典,提高古籍文本分词准确度。

参考文献:

[1] 赵生辉,朱学芳. 我国高校数字人文中心建设初探[J]. 图书情报工作,2014,58(6):64-69.

[2] 董秀芳. 词汇化:汉语双音词的衍生和发展(修订本)[M]. 北京:商务印书馆,2011.

[3] 严顺. 先秦文献的语料库构建探究[J]. 江苏科技信息, 2016(12):32-33.

[4] 曹艳,侯汉清. 古籍文本抽词研究[J]. 图书情报工作,2008,52(1):132-135.

[5] 欧阳剑. 面向数字人文研究的大规模古籍文本可视化分析与挖掘[J]. 中国图书馆学报,2016(2):66-80.

[6] 王晓玉,李斌. 基于CRFs和词典信息的中古汉语自动分词[J]. 数据分析与知识发现,2017,1(5):62-70.

[7] 化振红. 深加工中古汉语语料库建设的若干问题[J]. 西南大学学报:社会科学版,2014,40(3):136-142.

[8] 宋彦,蔡东风,张桂平,等. 一种基于字词联合解码的中文分词方法[J]. 软件学报,2009,20(9):2366-2375.

[9] 刘伟童,刘培玉,刘文锋,等. 基于互信息和邻接熵的新词发现算法[J/OL]. 计算机应用研究:1-6.2018-01-10, http://www.arocmag.com/article/02-2019-05-017.html.

[10] 李明. 针对特定领域的中文新词发现技术研究[D]. 南京:南京航空航天大学,2012.

[11] 李文坤,张仰森,陈若愚. 基于词内部结合度和边界自由度的新词发现[J]. 计算机应用研究,2015, 32(8):2302-2304.

[12] 夭荣朋,许国艳,宋健. 基于改进互信息和邻接熵的微博新词发现方法[J]. 计算机应用,2016, 36(10):2772-2776.

[13] 杜丽萍,李晓戈,于根,等. 基于互信息改进算法的新词发现对中文分词系统改进[J]. 北京大学学报:自然科学版,2016, 52(1):35-40.

[14] YE Y,WU Q,LI Y,et al. Unknown Chinese word extraction based on variety of overlapping strings[J]. Information Processing & Management, 2013, 49(2):497-512.

[15] 王锋,刘吉超,魏巍. 基于信息熵的半监督特征选择算法[J]. 计算机科学,2018,45(11A):427-430.

[16] 王欣. 一种基于多字互信息与邻接熵的改进新词合成算法[J]. 现代计算机,2018(4):7-11.

[17] 梁社会,陈小荷. 先秦文献《孟子》自动分词方法研究[J]. 南京师范大学文学院学报, 2013(3):175-182.

[18] 段磊,韩芳,宋继华. 古汉语双字词自动获取方法的比较与分析[J]. 中文信息学报,2012, 26(4):34-43.

[19] 石民,李斌,陈小荷. 基于CRF的先秦汉语分词标注一体化研究[J]. 中文信息学报,2010, 24(2):39-46.

[20] 黄水清,王东波,何琳. 以《汉学引得丛刊》为领域词表的先秦典籍自动分词探讨[J]. 图书情报工作, 2015(11):127-133.

[21] 《汉语大词典》编写委员会. 汉语大词典[M]. 北京:商务印书馆, 2003.

[22] 张华平. 汉语分词系統[EB/OL]. http://www.nlpir.org/.

(责任编辑:江 艳)

猜你喜欢
互信息分词
基于伪标注样本融合的领域分词方法
分词在英语教学中的妙用
基于改进互信息和邻接熵的微博新词发现方法
采用目标区域互信息的星空图像配准
基于互信息的贝叶斯网络结构学习
联合互信息水下目标特征选择算法
改进的互信息最小化非线性盲源分离算法
基于增量式互信息的图像快速匹配方法
论英语不定式和-ing分词的语义传承
聚焦现在完成进行时