摘要:本文在中文分词技术的基础上,提出了一种基于中文文本主题提取的分词方法,以概念语义网络的思想构造主题词典,描述词间概念语义关系,采用改进的最大匹配算法对文本进行切词,既提高了分词的准确性,又能识别文中的未登录词,并同步完成主题词的规范工作。从而在概念层次上理解用户的需求,实现概念检索,提高查准率。
论文关键词:中文分词,概念检索,词频统计
中文分词技术是中文信息处理的基础,自动识别汉语文献中词的边界,将书面汉字序列切分成正确的词串,是理解自然语言的第一步。目前提出的各种汉语自动标引方法基本上不能进行语义理解,只能从形式上进行机械的匹配抽词来完成标引,标引质量不高。本文提出的中文分词算法从两方面进行改进,一是结合领域背景,以概念语义网络作为分词词典,采用改进的正向最大匹配法进行分词,分词过程中同时完成主题词的规范工作。二是对无领域背景的文献采用基于无词典的词频统计的方法进行分词。
2 分词算法的研究与实现
2.1词典的建立
综合考虑分词和基于语义理解的主题词提取的需要,算法采用概念语义网络作为分词词典,词典中的每个词对应于概念语义网络中的一个结点。
由于中文词是一个开放集,词的数目不断增加,词的长度变也很大,故要求在设计词典的数据结构时,不仅要考虑访问效率而且还要考虑存储利用率。本文的词典结构是一种基于整词二分的分词词典机制[1]。
词典结构分为三级,包括词典正文、词索引表、首字Hash散列表。通过首字散列的哈希定位和词索引表很容易确定指定词在词典正文中的可能位置范围,词典按词名称索引。当切分词不是正式主题词时,要通过“主题词指针”规范为正式主题词。同时,可以为用户提供扩检、缩检及相关检索等功能。
2.2 改进的正向最大匹配算法[2]
最大匹配法(MM)的目的是“长词优先”,即认为对同一句子来说,切分所得的词数量最少时是最佳结果。这一评估原则在大多数情况下是合理的。然而现有的MM法,都是在局部范围内进行最大匹配,没有充分体现“长词优先”的原则。
考虑到汉语文本主题词提取的需要和分词效率,算法在此基础上又进行了改进。除了构建概念语义网络分词词典之外,算法还构造了停用字表。假设句子的长度为N,词典中最长词为i个汉字,其算法描述如下:
(1)从文本中顺序取一个汉字,若到文本末尾则结束。
(2)查停用字表,若为停用字,则文本指针移动一个字长,转(1)。
(3)从词表中筛选出以该字为词首的关键词集,并按长度进行降序排列,从句子中截取以该字开始长度为i的字串,另它同词表中的词匹配。
(4)若匹配不成功,则依次取下一个汉字重复上述过程,直到第N-i个汉字。若在某一次匹配时查到词表中确有这样一个i字词,匹配成功,把该字串作为一个词从句子中切分出去,并按“主题词指针”记录该候选主题词,写入到“候选主题词词表”中。把原句中位于字串左右两边的部分作为两个新句子,转步骤(1)。
(5)若所有匹配都不成功,说明句子中没有长度为i的词,则开始寻找长度为i-1的词,转步骤(1)。
用该算法对句子“当年夜饭端上来时” 进行切分,若采用改进的正向MM法分词,切分结果为:“当/年夜饭/端上来/时”,没有出现歧义切分,结果正确。
同样对句子,“当她还是小孩子时”,采用改进的逆向MM法进行分词,首先被匹配成功的字串显然是该句中最长的分词单位“小孩子”,得到了正确的切分结果:当/她/还是/小孩子/时”。
可以看到,本算法是在整个句子的范围内寻找最长词,克服了局部范围最大匹配的局限性,充分体现了“长词优先”的原则,成功处理了MM不能正确切分的句子,提高了分词精度。
2.3 无词典分词技术
由于词典的不完全性,许多词可能不会在词典中登录,为了处理句子中的未登录词,本文还采用了一种基于统计的从文字信息中自动获取知识的方法,即无词典分词技术。其基本假设是:“组成一个词的汉字经常在文中以相同的顺序重复出现”。这样就能准确的切分出文档中的词汇。
本文对文献[3]中所提出的无词典分词模型进行了改进,算法描述如下:
首先建立“特殊符号表”,用以存放标点符号等特殊符号;建立“高频单字词表”和“高频多字词表”,用以滤除文本中的高频词;建立“word_collection” 数据表,该表用于存放切分出来的词。
(1)建立“text_collection”数据表,包括三个字段,file_number, char,position,将文本集以三元组形式存入到“text_collection”表中。
(2)参照“特殊符号表”和“高频单字表”,将“text_collection”表中所有标点符号以及结构性高频字“的”、“是”等的char字段置为空,并记录file_number和 position字段的值。
(3)对“text_collection”表中所有char字段为非空的字符si,寻找表中与si相同的字符。
If(找到)
{
a.记录si的频次及各个位置;
b.然后查找与sisi+1相同的出现;
c.如果查到并且频次和si的频次相同,则一直进行到sisi+1…si+k,它无相同字串或频次不同于si的频次;
d. 设频繁阈值为 f,将频繁阈值大于f的sisi+1…si+k-1字串、它的长度、所在文件标号和频次等信息记录到“word_collection”表中,并将“text_collection”数据表中所有sisi+1…si+k-1出现的记录的char字段置为空,并记录file_number 和 position字段的值。
e.将扫描头指到位置si+k,重复以上过程直到结束。
}
Else
{
将扫描头指到si+1位置,处理以char字段为si+1开头的记录,重复以上过程直到结束;
}
(4)若频繁阈值f等于1,则将“text_collection”表中char字段为空的“残留字串” 也作为“词”记录到“word_collection”表中去。
(5)参照“高频多字词表”,将“word_collection”表中的“高频多字词”滤掉。
(6)结束。
为验证算法的有效性,我们选取了《十六大开幕报告》全文和《全面建设小康社会,开创中国特色社会主义事业新局面》中的《全面贯彻“三个代表”重要思想》部分等8篇以“中国共产党第十六次全国代表大会”为主题的文章。采用无词典分词技术进行分词,设置的频繁阈值f为3,我们选择部分分词结果如图1所示[4]。
我们可以看到“全面建设小康社会”(18)、“三个代表”(69),是新出现的词汇,这实际上是通过统计词频计算出来的。也可以说基于无词典的切词技术具有自动学习的功能。

图1 部分分词结果
3 结论
本文对汉语文献进行自动分词研究,构建了概念语义网络作为分词词典和知识库,研究并设计了基于词典的分词算法和无词典的基于词频统计的分词算法。实验结果表明此算法具有更好的标引准确性,提高了标引质量。
参考文献
[1]孙茂松 左正平 黄昌宁.汉语自动分词词典机制的实验研究.中文信息学报.1999.14(1).1-6
[2]唐培莉,胡明,解飞等.全文检索搜索引擎的中文信息处理技术研究.2006.24(6):895-899
[3]韩客松 王永成 陈桂林.汉语文献的无词典分词模型系统.计算机应用研究.1999.Vol(10).8-9
[4]唐培丽,胡明,王树明,基于语义的汉语文献主题词提取算法的研究.吉林大学学报:信息科学版 2005.23(5):535-540
|