随着计算机的普及人们已经习惯了“有问题问百度”这种上网搜索问题答案的生活方式。但是网上的信息太多,不可能把所有的信息条浏览一遍,没有这个时间也没有那么多精力。这个时候怎样呈现给用户最有用也就是相关度最高的信息就成了最重要的问题。其实这就是搜索引擎技术的范畴,好的搜索方式能够帮助用户更快更准确的锁定信息范围并将所有信息按相关度进行排序,从而节省用户自己翻阅查找的时间。现在,如何在海量的网上信息中快速定位到用户需要的信息范围已经成为大学里计算机专业一门重要的学科。和其他技术一样,国内对搜索引擎的研究比国外要晚。但不同的是国内用户通常使用国内的搜索引擎,绝大多数人还是使用百度、有道而不是google。为什么在国外引擎技术如此完善的现在国内仍然有优秀搜索引擎出现并能得到广泛的认可?
分词技术就是一个重要的原因。英文词与词之间有天然的分离,可以很轻松的将文本进行分割进而进行处理。中文不同,根据古代中文的书写习惯,中文以单个的字为最小单位,词与词之间没有明显的界限。因而要必须要借助于某种特定的方法或技术将其分开。英文中“I am studying.”,用中文表示就是“我在学习”。可以看出,在英文中可以很方便的通过对空格的判断来对语句进行分割,但在中文中,字是最小的书写单位,没有特定的分隔符。而中文是世界上使用人数最多的语言,不可能所有的人都使用英文,这就使对中文文本的分割显得尤为重要。
中文分词技术已经在人们的日常生活中扮演着重要的角色。随着人工智能等高新技术的发展,它将渗入到人们生活的方方面面。就目前来说,车载GPS智能导航系统、歌曲辨识、语音控制等等方面都与分词技术息息相关。中文自然语言恰当的分割能让计算机更好的理解人们的需求,为人们提供更准确的服务。科技的进步能够改变了生活方式,使生活更加舒适方便。当然这种生活的实现不仅仅需要中文分词技术,但中文分词技术的进步绝对会令这种理想的生活离人们更近一步。
1.2 中文分词技术发展现状
2 分词算法技术
中文分词算法一般由词典和算法两部分组成,词典结构和算法的不同都会影响整体的分词效果。本章节主要围绕分词算法词典结构、分词搜索算法以及常用的几种机械分词算法展开,介绍并分析当前各项技术的发展状况。此外,本章节将重点介绍MMSEG机械中文分词算法,相较于常用的几种分词算法,其分词效果更好。
2.1 词典结构
词典结构一般有有序线性结构、整词二分结构、基于TRIE索引树结构和基于逐字二分结构。
1)有序线性词典结构
有序线性词典结构是将所有词语按照一定的顺序进行排序,并在初始化时读入内存。这种词典结构最为简单且算法易于实现,空间使用率高;但其查找效率低,更新代价高。每次更新都要对所有的词语重新排序,所需时间较长,占用空间也比较大。但是并不是每次分割都要重新构建词典,如果不需要对词语进行处理只要将之前排序好的词典文件放在程序执行文件夹里就可以运行程序。这种情况下程序运行速度较快。
2)整词二分的分词词典结构
采用此种结构的词典主要由词典正文、词索引表和首字散列表组成。词典正文是一个有序词表源`自*优尔~文·论^文`网[www.youerw.com;词索引表其实就是由指向词典正文里按照一定顺序排列的词的指针组成的;首字散列表里是词语首字的哈希值。查询时先由词索引和首字哈希值确定词语范围,再用整词二分进行定位。使用哈希函数可以将每个汉字与一个数值相对应,就是用一个值来代替一个汉字。词的索引表其实就是所有词语首字的哈希值的有序集总。其结构图如下图2.1。