汉语中新词识别方法研究
2014-07-09王倩倩范通让
王倩倩,范通让
(石家庄铁道大学 信息科学与技术学院,河北 石家庄 050043)
随着社会以及互联网的迅猛发展,人们逐渐步入了海量信息时代,信息量正遵循“网络摩尔定律”以每100天翻一番的速度增长[1],这其中就包括大量涌现的术语和新词语。如何高效快速的从海量化的信息中提取出人们所需信息就变得有些困难,同时,这也是目前中文信息处理的一个重要研究方向。新词的自动识别在中文信息处理的众多领域都发挥着重要作用。此外,新词在一定程度上还可以反映当前社会的舆论走势或者热点问题,比如近期发生的备受关注的“马航失联”事件等。新词识别的性能对其相关领域存在很大的影响,具有重要的研究价值和意义。
1 相关工作
目前主要有两种新词识别的研究方法:一种是基于统计的方法,一种是基于规则的方法。基于统计的方法是通过统计语料上下文中某些特定信息的出现频数来进行新词的识别[2]。其优点是灵活性非常好、适应能力强等。但是这种方法一般需要的语料规模较大,所以,准确率会受到相应影响。基于规则的方法是通过构词原理、词性和语义等信息的结合构造的样板来进行匹配,以此来识别新词。其优点是具有较高的准确率等。但由于各领域词语并没有统一的规则,所以适应性较差,并且对其规则的维护也有一定困难[3-4]。目前为了更好的实现新词识别,大多数人都采用基于统计和规则相结合的方法[5]。
Chen等[6]基于统计特征,通过从分词后的散串中剔除单字词,提取新词语素的方法来进行新词识别。该方法对低频词识别效果较好,但其基于大规模语料库,自动识别单字词规则难以控制实现。张海军等[7]应用统计学习模型作为框架来整合不同类型的可用特征,结合多种特征规则,来检测新词。苏宁等[8]提出一种基于统计模型和词语搭配的中文新词自动识别方法,采用条件概率的方法提取单字词搭配特征和临界词特征来识别新词。钟将等[9]结合使用了互信息、信息熵以及词频等3个指标评价新词,同时为进一步提高其新词识别性能,还引入了垃圾串过滤机制。林自芳等[10]基于词的内部模式,利用改进位置成词概率和首尾单字成词概率加权,通过统计量对新词进行识别。
本研究是以统计与规则相结合的方法来识别新词。首先采用基于PAT-Array的候选重复串抽取方法,获取含有新词的候选串,然后依据新词内部模式特点训练的垃圾词典进行垃圾串过滤,此外,利用改进互信息与独立成词概率相结合的方法来确定多字词新词。本研究方法综合考虑了字符串的外部统计特征和内部的模式特征,使新词识别效果更佳。
2 理论背景知识
2.1 PAT-Array
PAT-Array是1993年由Manber和Myers提出的一种数据结构[11],其已成功应用在信息检索等诸多领域。定义如下:
(1)设S=c0c1…cn-1是长度为n的字符串,其中以某一字符i为起始位置,其左右的后缀字符串分别为Li=cici-1…c0,Ri=cici+1…cn-1。
(2)字符串S的所有左右后缀字符串的位置索引数组定义为a[0,…,n-1]和b[0,…,n-1],若i<j(i,j=0,…,n-1),使La[i]<La[j],Rb[i]<Rb[j]。
(3)定义PL,PR数组为左右后缀字符串的最长共有前缀数组,以此迅速查找到最长的重复字符串。
对字符串S的左右后缀字符串分别进行扫描,即可获得S的左右重复字符串的列表,分别记为LL、RL。LL、RL中重复字符串是文本中从某一个字符i开始向左或向右重复出现2次及以上次数的字符串。只有同时出现在LL和RL中的字符串才是所需的重复字符串。
2.2 互信息
互信息是一种有用的信息度量方法,它是用来定量估计汉字之间的结合紧密程度:当两个字的互信息越大,表示它们的结合紧密程度越高;否则,则反之。用互信息来反映词语间结合的紧密度,当互信息MI大于某个特定阈值时,就可判定两词结合为新词,否则,则反之。
设S为n个词组成的字符串,S=w1w2…wn,wi和wi+1是相邻的两个词,则应用互信息的方法计算它们结合搭配在一起的概率为:
其中P(wiwi+1)为词wi和wi+1在语料库中共同出现的概率,P(wi)和P(wi+1)为两词单独出现的概率。
3 新词自动识别整体设计
本研究主要面向网络中新词发现,因此从网页中爬取语料信息,进行预处理后存储为文档信息。对语料进行重复串发现,选出候选串,再对候选串进行过滤操作,滤除垃圾字符串。通过分析新词的内部模式,使用了训练垃圾词典的方法对单字串进行过滤,再利用互信息与独立成词概率结合方法来检验候选串,最终确定新词串并存入新词表中。整体流程图如图1。
图1 系统整体流程设计
4 系统实现过程
4.1 文档预处理
(1)获取网页语料:本文利用网络爬虫技术来
进行网页语料的提取。首先,从某一个网页开始,将此网页中内容信息提取出来,并且将此网页中所包含的网页链接地址信息记录下来,然后,根据这些链接地址信息链接到下一个网页,继续提取其网页内容,如此向后循环,直到网页中信息提取完为止。
(2)文本预处理:直接从网页中提取的内容包含大量的无用信息。对文本的预处理就是将这些信息滤除,保留所需信息,用这些处理后的信息来构造语料库。
4.2 生成候选串
生成新词候选串是识别新词的重要步骤,候选串中对新词的包含量将直接影响系统新词识别的性能。一般来说,新词会在语料上下文中重复出现,或者可以说,当某个字符串在上下文中多次出现,那么此重复串很有可能就是新词,因此,我们可以通过对这种多次出现的重复串进行查找来确定候选串。采用上文所提到的基于PAT-Array的候选重复字符串抽取方法。
通过简单的堆栈操作和对左右后缀字符串及其相应的最长共有前缀数组的扫描来获得候选重复字符串集合。利用PAT-Array方法来统计查找重复串来获得候选串,取得的新词召回率较高。但获取新词的同时,也会包含较多的垃圾词串,需要进一步过滤,才能更准确的提取出新词。
4.3 过滤垃圾串
垃圾串的过滤是新词识别的关键过程,直接关系到生成的新词的准确度。目前可将新词的内部模式分为表1中所示的11种模式。例如“1+1+1”表示由三个单子串组成的新词;“1+2”表示由一个单子串与一个两个字词语组成的新词。本文利用新词的内部模式来进行垃圾串的过滤,根据对不同模式的特征分析,结合其相适应方法分别进行过滤。首先对单字串垃圾词过滤是利用垃圾词典的方法,再根据多字词的成词规律利用改进互信息和独立成词概率的方法来搭配检验候选串,决定是否为新词。
表1 新词模式分布
针对网络新词进行统计分析,根据新词不同内部模式分类,列举了一些新词实例见表2。
表2 不同模式新词实例
4.3.1 垃圾词典对单字串过滤
单字串垃圾一般是由连词,介词和单字实体词等可独立运用的语素构成。在统计分析中发现,新词中单字串构成的新词数量较多,同时,由单字串构成的垃圾串占的比重也较大,因此,本节主要针对单字串进行过滤,运用训练垃圾词典的方法滤除单字垃圾串。
本文共训练了3个垃圾词典,垃圾串词典、垃圾头词典和垃圾尾词典,训练方法如下:
(1)将语料库进行切分并且做词性标注,形成标记语料库C。
(2)寻找库中的单字串碎片,将其与对应词性作为一个词典项添加到垃圾串词典中。
(3)在单字碎片库中,首先对每个单字赋予基础权值为1。对于常用的伪前缀、伪后缀,如“据”、“当”等字再进行加权,除此之外,对介词、副词、代词、数量词等此类常见垃圾单字也进行加权,提高其统计量。
(4)统计并计算垃圾串词典中的单字作为垃圾词典项的首(尾)字的概率。如果大于某一个特定阈值,则将该单字添加到对应的垃圾头(尾)词典中。
对于与新词同时候选出的垃圾串,主要运用学习到的垃圾头(尾)词典剔除。垃圾头(尾)词典的训练流程如图2所示。
图2 垃圾头(尾)词典训练流程
如果候选串中包含垃圾串词典中的字符串,则该候选串非新词,若此候选串删除垃圾字符串后仍为单字串碎片,则作为新的候选串加入到候选新词集合。如果候选串中的首字包含在垃圾头词典中,则该串非新词,如果删除首字后,此候选串仍然是单字串碎片,则此串可作为新的候选串。如果候选串中的尾字包含在垃圾尾词典中,则该串非新词,如果删除尾字后,此候选串仍然是单字串碎片,则此串可作为新的候选串。
4.3.2 多字词串过滤
汉语中汉字和词都有一定的构词规则和用法,根据汉字在词语中的构词位置可以分为词首、词中和词尾3类。通过对多字词模式新词的分析,发现不合理搭配一般多出现在词语的首尾这两个位置,如“零风险”、“放心肉”,“零”与“风险”,“放心”与“肉”的搭配。因此,将这种位置特征融入互信息的方法,改进互信息为:
其中s为待检验的字符串,wh、wh+1为字符串的第一和第二个词,wt、wt-1为倒数第一和第二个词。利用公式(2)计算互信息,如果互信息MI(s)大于所设定阈值,则表示字符串之间的搭配是合理的,即可确定此串为新词。否则,需要对此字符串进行掐头或去尾操作,循环直至字符串只剩一个单字时进行丢弃操作。
对于候选串构词搭配不合理的情况,需要进行处理。由于不同的词独立成词概率不一样,此外,有些词通常有自己的构词位置。例如“超”一般是出现在组合新词的词首:“超负荷”、“超音速”等;而“族”一般出现在词的词尾:“上班族”、“吉他族”等。本文引入独立成词概率来解决对词首或词尾的处理。
其中,N(Iw)表示语料中w独立成词的次数,N(w)表示w在语料中出现的总次数,CP(w)则为w独立成词的概率。当字符串互信息MI(s)小于某设定阈值时,利用公式(3)对该串进行如下操作处理:
(1)首先对其词首和词尾的独立成词概率进行比较:当词首独立成词概率大于词尾独立成词概率时,删除该串词首;否则,删除词尾。
(2)如果处理后的字符串仍为多字词串,则将此串作为新的候选串进行再次处理,否则转(3)。
(3)丢弃此候选串。
5 结束语
汉语中新词语的不断涌现是一个客观规律,随着互联网的发展,这一现象更加明显。新词识别又对众多领域研究有极其重要的影响,因此,汉语新词识别的研究具有重要的现实需求和实际价值。本文利用PAT-Array候选重复串抽取方法获取候选串,再通过自学习的方法训练了垃圾串、垃圾头和垃圾尾词典,进行单字垃圾串的过滤,再由改进互信息与词的独立成词概率结合的方法确定新词。候选串的选取和垃圾串的过滤是影响系统性能的关键部分,针对目前准确率不是很高的情况下,我们将在新词的选择标准以及垃圾串过滤等方面继续努力,以期得到更高的新词召回率和准确率。
[1]曾依灵,许洪波.网络热点信息发现研究[J].通信学报,2007,28(12):141-146.
[2]张海军,史树敏,朱朝勇,黄河燕.中文新词识别技术综述[J].计算机科学,2010,37(3):6-10.
[3]Nie J-Y,Hannan M-L,Jin W.Unknown Word Detection and Segmentation of Chinese using Statistical and Heuristic Knowledge[J].Communications of COLIPS,1995:47-57.
[4]Isozaki H.Japanese named entity recognition based on a simple rule generator and decision tree learning[C].Proceedings of the39th Annual Meeting on Association f or Computational Linguistics Toulouse.France,2001:306-313.
[5]刘华.一种快速获取领域新词语的新方法[J].中文信息学报,2006,20(5):17-23.
[6]Chen K-J,Ma W .Unknown Word Ex traction for Chinese Documents[C].Proceedings of COLING 2002.Taipei,2002:169-175.
[7]张海军,栾静,李勇,齐向伟.基于统计学习框架的中文新词检测方法[J].计算机科学,2012,39(2):232-235.
[8]苏宁,惠子敬,刘娟.基于单字特征和搜索引擎的新词识别[J].武汉大学学报,2010,56(6):704-710.
[9]钟将,耿升华,董高峰.一种新词检测方法研究[J].数字通信,2013,40(2):1-5.
[10]林自芳,蒋秀凤.基于词内部模式的新词识别[J].计算机与现代化,2010,(11):162-164.
[11]MANBERU,MYERSG.Suffix arrays:a new method for outline string searches[J].SIAM Journal on Computing,1993,22(5):935-948.