基于词语搭配关系的一种中文分词歧义性消除方法
2016-11-08郭丙华俞亚堃李中华
郭丙华 俞亚堃 李中华
1(肇庆学院电子信息工程系 广东 肇庆 526061)2(中山大学信息科学与技术学院 广东 广州 510006)
基于词语搭配关系的一种中文分词歧义性消除方法
郭丙华1俞亚堃1李中华2
1(肇庆学院电子信息工程系广东 肇庆 526061)2(中山大学信息科学与技术学院广东 广州 510006)
汉语中词与词之间存在固定的搭配关系,基于词语搭配关系提出一种分词歧义性消除方法。该方法先利用正向和逆向最大匹配方法进行句子预切分,并对词的歧义性进行检测和词性标注,再对歧义词与词语搭配词典进行匹配或者动宾搭配判断,实现了较为准确的文档词语歧义性消除。通过词的歧义性检测实验和词语搭配检测对比实验,该方法取得了较好的效果。
词语搭配最大匹配中文分词歧义性动宾搭配
ACHINESESEGMENTATIONDISAMBIGUATIONMETHOD
0 引 言
中文分词技术是中文文本信息自动处理诸如汉语语言理解、机器翻译与服务、自动分类、搜索引擎等关键技术之一[1],但由于机器自动分词的缺陷和中文的特殊性,其效果远远达不到人对中文的理解程度。现有的常用分词算法主要有以下两类:
(1) 最大匹配方法[2]
最大匹配算法是一种基于词典的机械分词算法,其包括正向匹配和逆向匹配两种方法以及这两种方法的一些改进[3,4]。这些方法主要从句头或句尾开始进行词的扫描并与词典匹配,匹配成功则在此位置进行切分。由于最大匹配算法实现简单、分词速度快的特点,使其成为应用最为广泛的一种分词方法。但也存在明显的不足,主要包括匹配时需要依赖于词典、词切分的准确率较低等缺陷,特别是当存在多歧义词时,难以有效地进行切分。
(2) 基于统计概率的分词方法[5]
以统计概率方法进行分词主要是利用文本中词出现的概率来预测组合成词的可信度的一种方法。由于汉字成词有其特定的统计规律,即相邻的字出现的频率越高,构成词的可能性就越大,这类算法的优点是不依赖于词典,能够较好解决成词的歧义。这类方法主要有:隐马尔可夫模型[5]、最大熵模型[6]和条件随机域模型[6]等算法,但由于需要对整个文档成词的概率进行统计,因而效率较低。由于基于统计概率的分词方法的良好歧义解决能力,因此统计概率常与最大匹配方法相结合,实现对文档的有效分词[2]。
由于最大匹配算法的简单和高效,本文针对其对解决分词歧义性不足的缺陷,提出一种基于词语搭配关系的改进算法。由于中文(汉语)的习惯,词与词之间有着一种固定的搭配关系,即词语搭配,利用汉语的这种固定搭配,可以有效提升切分的准确性。
1 分词的歧义性与最大匹配方法
分词的歧义性主要表现在切分的结果存在多种可能。实际上,正确的切分只有一种形式,由于机器自动分词算法存在的缺陷,导致切分的结果无法理解,因此一个鲁棒的分词算法应该能够较好地消去这种歧义性。根据对分词歧义性的分析,一般有两种歧义性[2,7-9],即交集型歧义和组合型歧义。为了能够应用于提出的算法,我们对其定义如下:
(1) 假定已切分的词构成一n维向量S,即S={C1,C2,…,Ci}。其中Ci为已切分的词,1≤i≤n,且Ci为由若干个字组成的m维向量,即Ci={xi1,xi2,…,xik},1≤ik≤m。假设词Ci和Ci+1为S中两个相邻元素,如果xik和xjk能够成词,则分词存在交集型歧义。比如:“他只会诊断一般的疾病”,分词的结果可能是“他/只/会诊/断/一般/的/疾病”或“他/只/会/诊断/一般/的/疾病”两种情况,其中“会诊断”三个字切分时就会出现交集型歧义。这种类型的歧义占绝大部分[8]。
(2) 对于(1)中定义的m维向量中,如果相邻的Ci和Ci+1能够成词,则分词存在组合型歧义。
比如:“白天鹅在水上游来游去”,分词的结果可能是“白天鹅/在/水上/游来游去”或“白天/鹅/在/水上/游来游去”两种情况,其中“白天鹅”三个字切分时就会出现组合型歧义。对于组合型歧义,一般需要根据上下文来进行判断,仅仅从单句来切分,两种切分结果都是符合逻辑的。
最大匹配算法[2]是一种基于词典的分词方法,其过程是通过切分的词与词典进行匹配,主要有最大正向分词算法和最大逆向分词算法两种。正向算法的实现主要如下:
(1) 从句子的开头取固定长度的词并与词典作匹配,如果匹配成功,则切分;否则从后面减少一个字并继续匹配。
(2) 初次切分完成后,继续从未切分句子中取固定长度的词并重复(1)的操作,直至整个句子完成词语切分。
与正向算法不同的逆向算法,是从句尾取固定长度的词,当匹配不成功时是前面减少一个字并继续匹配。由于最大匹配算法是按照一种惯性的方法进行词的切分,即按顺序取固定数量的字作为词对照词典的方法,无法分辨词的歧义性,因此仅仅采用单一的最大匹配算法很难解决词切分的歧义性问题。
实际上,分词的结果既要符合中文的习惯,也要满足汉语语法的要求,否则就说不通或者不成句子。在汉语中,词与词之间有着一种固定的搭配关系,即词语搭配[10]。如上述的“诊断…疾病”、“会诊…病情”等,如果切分错误,就会形成不正确的搭配关系。另外从汉语语法的角度来说,动宾搭配也是一种重要且最为常见的词语搭配,句子切分的结果应该能够保持这样一种搭配关系,即动词(v)+名词(n)的结构。在动宾搭配的判断上,一些学者提出了一些方法,如文献[11]采用了一种统计模型用于汉语动宾搭配的自动识别;文献[12]通过提取制约规则,依据v+n中汉语名词、动词的语义在英语译文中的具体形式及上下文模板来判断v+n的结构关系。本文将提出一种基于词语搭配的句子切分算法,以达到快速且准确的分词效果。
2 歧义性检测与切分算法
歧义性检测主要用于查找产生歧义的词以及确定其发生歧义的位置。由于最大分词算法的特点,因此仅仅采用单一的最大匹配算法难以发现切分的歧义性。但因该算法的高效性,本文拟对其改进,并将其应用于歧义的检测。
最大匹配算法有正向和逆向匹配方法,分别从句头和句尾开始进行词的扫描并与词典匹配。由于切分后产生的歧义性主要发生在临近词之间,当字与其左右两边的字或词组合成词时,采用正向匹配算法和逆向匹配算法切分的结果可能不同。比如:“他的确切地址在这儿”,采用正向匹配算法切分的结果是“他/的确/切/地址/在/这儿”,而采用逆向匹配算法切分的结果则变成“他/的/确切/地址/在/这儿”。通过比较两种结果则可以确定切分歧义发生在“的确切”位置。如果一个句子采用正向和逆向匹配算法分词的结果一样,则有可能是正确切分,但也可能切分不正确。比如:“当原子结合成分子时”,两种算法切分的结果都是“当/原子/结合/成分/子时”,这种情况下两种分词算法的切分结果都是不正确的。出现这种情况一般都是在存在连续多个交集型歧义时出现,即文献[13]中提到的歧义的链长大于1的情况。如上述“结合成分子时”的歧义是“合”、“成”、“分”、“子”四个字组成链长为4的交集型歧义,其都可以与左右的字组合成词。
当出现链长大于1的情况,采用正向和逆向匹配算法有可能无法检测词的歧义性位置。这种情况下,为了检测词的歧义性,可以利用正向匹配切分的结果,对已切分的词按句子的顺序与其临近的字或词重新匹配,如果匹配成功,则在该位置存在歧义性。比如前述的“当原子结合成分子时”,正向匹配切分后得到“当/原子/结合/成分/子时”,依次匹配按下述的框中的词,“当/原子/结合/成分/子时”,其中“合成”和“分子”匹配成功,因此“结合成分子时”构成交集型歧义。
采用上述方法,可以实现交集型歧义的检测,但不能保证句子切分的正确性。为了达到正确的切分,我们拟在歧义检测的基础上利用词语搭配进行分词。由于在汉语中,词与词之间有着一种固定的搭配关系(包括重要且最为常见的动宾搭配),我们参考文献[14,15]建立了一个常用的词语搭配词典。在检测到词的歧义同时,进行词语的词性标注,再对歧义词按照顺序依次与词语搭配词典进行匹配,匹配成功则进行切分。如果所有的歧义词与词典匹配不成功,则结合歧义词的词性标注进行词语动宾匹配,即“动词+…+名词”。比如前面提到的句子“他只会诊断一般的疾病”,通过歧义性检测得到“会诊断”产生两种词的歧义,即“会诊/断”和“会/诊断”;再搜索后面与其组合的名词“疾病”,结合“会诊…疾病”和“诊断…疾病”的词语搭配关系与词语搭配词典匹配,匹配的结果是“诊断…疾病”,因此正确的切分是“他/只/会/诊断/一般/的/疾病”。
综合上述方法,我们提出了一种词语搭配关系的分词歧义性消除算法,其具体如下:
(1) 先对待切分的句子分别用最大正向匹配和逆向最大匹配算法进行预切分,并对其切分的结果进行比较,再根据比较的结果确定分词的歧义性。
(2) 根据词典对切分的词进行词性标注。
(3) 对所有歧义的词与词语搭配词典进行匹配,匹配成功则在该位置切分;否则结合歧义词的词性标注进行词语动宾判断,根据判断的结果进行切分。
具体实现的流程见图1所示。
3 实验结果与分析
实验采用由东北大学中文信息处理实验室提供的词性词典,其中用户词典修改为词语搭配词典。该词典由参考文献[14,15]建立,其中包含了绝大多数常用的词语搭配。本文实验主要包括分词歧义性(包括不同链长的交集型歧义和组合型歧义)检测和词语搭配检测实验。表中切分正确率=正确切分数/所有标准切分数。
3.1分词歧义性检测实验
为了说明算法对分词歧义性的检测效果,本文分别对链长为1、2、3、4等四种交集型歧义进行了测试,同时也对比较难以检测的组合型歧义进行了实验,实验的结果见表1所示。从表1可以看出,提出的算法对交集型歧义有非常好的检测效果,对交集型歧义检测效果都在99%以上。尤其是对链长为1和3,歧义检测效果更好些。对链长为2和4的歧义性检测效果要低于链长为1和3。对于链长为1和3的歧义检测误差,通过分析发现主要是出现了词典中不能匹配的一些新词;而链长为2和4的歧义性检测误差原因是除了词典中不能匹配的一些新词外,还存在当匹配不成功时主要靠动宾结构(动词v+名词n)来判断。由于词语搭配词典中录入的词语搭配数量的有限性,依赖动宾结构可能会导致错误的搭配关系,算法在这个方面还有待改进,比如搭配词典扩展、增加语法识别等。另外,提出的算法在组合型歧义检测方面其正确率比较低,这主要是组合型歧义的识别还必须依靠上下文关系才能更有效地识别,这可以通过增加词语统计方法来改进。
表1 分词歧义性检测实验结果
3.2词语搭配检测对比实验
为了验证词语搭配的切分效果,我们随机从网上摘录3篇文档进行测试,实验的结果如表2所示。
表2中词语搭配切分包括动宾结构切分和除动宾搭配以外的其他词语搭配切分。动宾结构切分正确率=动宾结构正确切分数/动宾结构标准切分数,其他词语搭配切分正确率类同动宾结构。所有不包含词语搭配切分正确率是指本文的算法不包含词语搭配时切分的正确率。从表中可以看到,采用词语搭配后其切分的正确率增加了大约9%左右,词语搭配的应用起到比较好的效果。但仍有1%左右的误切分,主要原因是一个完整的句子中,不仅包括词语搭配关系,还可能包含其他复杂的语法关系,因此进一步的语法分析有助于获得满意的效果,这也是本文算法下一步改进的方向。表中第3篇文档动宾结构的切分正确率明显低于第1和第2篇文档,主要原因是该文档的新词较多,检测效果要差一些。
表2 词语搭配切分实验结果
4 结 语
在最大匹配算法的基础上,本文基于词语搭配关系提出一种分词歧义性消除方法。算法通过正向和逆向匹配检测词的歧义性及其位置,再对歧义词与词语搭配词典进行匹配,直至句子切分。为了验证算法的效果,本文设计了不同链长的交集型歧义性和组合型歧义检测、词语搭配检测对比实验,实验结果证明,该算法对交集型歧义词具有较高的检测效果和切分正确率。该算法切分的误差主要表现在新词、未录入的一些词语搭配词以及一些组合型歧义词,这方面的研究还有待于将来的完善。
[1] 刘迁,贾惠波.中文信息处理中自动分词技术的研究与展望[J].计算机工程与应用,2006,42(3):175-177,182.
[2] 李国和,刘光胜,秦波波,等.综合最大匹配和歧义检测的中文分词粗分方法[J].计算机工程与应用,2012,48(14):139-142,167.
[3] 周俊,郑中华,张炜.基于改进最大匹配算法的中文分词粗分方法[J].计算机工程与应用,2014,50(2):124-128.
[4] 戴上静,石春,吴刚.中文分词中的正向增字最大匹配算法研究[J].微型机与应用,2014,33(17):15-18.
[5] 刘丹,方卫国,周泓.基于贝叶斯网络的二元语法中文分词模型[J].计算机工程,2010,36(1):12-14.
[6] 孙晓.中文词法分析的研究及其应用[D].大连:大连理工大学,2010.
[7] 侯敏,孙建军.汉语自动分词中的歧义问题[J].语言文字应用,1996(1):68-72.
[8] 冯素琴,陈惠明.基于语境信息的汉语组合型歧义消歧方法[J].中文信息学报,2007,21(6):13-16.
[9] 修驰,宋柔.基于无监督学习的专业领域分词歧义消解方法[J].计算机应用,2013,33(3):780-783.
[10] 孙茂松,黄昌宁,方捷.汉语搭配定量分析初探[J].中国语文,1997(1):29-38.
[11] 程月,陈小荷.基于条件随机场的汉语动宾搭配自动识别[J].中文信息学报,2009,23(1):9-15.
[12] 冯敏萱.现代汉语“V+N”序列关系的平行处理[J].计算机工程与应用,2010,46(30):8-10.
[13] 郑逢斌,付征叶,乔保军,等.HENU汉语自动分词系统中歧义字段消除算法[J].河南大学学报:自然科学版,2004,34(4):49-52.
[14] 梅家驹.现代汉语搭配词典[M].上海:汉语大词典出版社,1999.
[15] 赵培痒.常用词语搭配词典[M].北京:首都师范大学出版社,1999.
BASEDONWORDCOLLOCATIONRELATIONSHIP
GuoBinghua1YuYakun1LiZhonghua2
1(DepartmentofElectronicsandInformationEngineering,ZhaoqingUniversity,Zhaoqing526061,Guangdong,China)2(SchoolofInformationScienceandTechnology,SunYat-senUniversity,Guangzhou510006,Guangdong,China)
InChinesetherearethefixcollocationrelationshipsbetweenwords.ThispaperpresentsadisambiguationmethodforChinesesegmentationbasedonwordcollocation.Itfirstlypre-segmentsthesentencesbyusingtheforwardmaximummatchingmethodandbackwardmaximummatchingmethod,andcarriesoutthewordambiguitydetectionandtagsthepartofspeech,andthenitmatchestheambiguouswordswithwordcollocationdictionaryormakesdistinguishmentonverb-objectcollocations,thusachievesthemoreaccurateresultsofdocumentwordsdisambiguation.Theproposedmethodreachesgoodresultsasshownincontrastexperimentsofwordambiguitydetectionandwordcollocationdetection.
WordcollocationMaximummatchChinesesegmentationWordambiguityVerb-objectcollocations
2015-05-15。国家自然科学基金项目(61201087);广东 省特色创新项目(2014KTSCX191)。郭丙华,副教授,主研领域:自动信息处理,机器服务。俞亚堃,讲师。李中华,副教授。
TP
ADOI:10.3969/j.issn.1000-386x.2016.10.021