论文部分内容阅读
Lucene是一个全文搜索体系架构,具有优异的索引结构、良好的系统架构以及高性能、可伸缩的信息搜索库等优点,但是对于中文分词以及多种文本格式的支持却很是不足。目前Lucene采用的中文分词算法有很多,包括Lucene自身提供的StandardAnalyzer和CJKAnalyzer,以及第三方提供的ChineseAnalyzer和IK_CAnalyzer等等很多种中文分词系统。其中,StandardAnalyzer是基于单字分词的,即在对中文文本进行分词时,以字为单位进行切分,其缺点是需要复杂的单字匹配算法,以及大量的CPU运算;CJKAnalyzer和ChineseAnalyzer采用的均是二分法,所谓二分法就是每每两个字当作一个词来切分;IK_CAnalyzer分词技术是基于分词词典的,采用了特有的正向迭代最细粒度切分算法和多子处理器分析模式。目前,Lucene搜索引擎并未实现基于理解的中文分词方法,因为计算机无法识别每个词在不同语境中的含义,所以基于理解的分词方法还未有实际的运用效果。针对Lucene对中文分词的不足,尤其是缺少基于理解领域的中文分词技术等缺陷,本文探讨了BP(Back Propagation)神经网络算法在中文分词中的应用研究,并针对BP神经网络应用中文分词具有收敛速度慢,容易陷入局部极小值以及速度和效率低等缺陷,提出了一种改进的微粒群优化算法(PSO, Particle SwarmOptimization)优化BP神经网络——PSO-BP神经网络,并将其运用于中文分词中,与传统的BP神经网络相比较,可以得出PSO-BP神经网络不仅解决了传统BP神经网络收敛速度慢的缺陷,同时也提高了分词的精度。然后,本文对Lucene提供的第三方中文分词组件的API进行了系统地研究与分析,将经PSO-BP神经网络优化后的中文分词技术成功应用于Lucene中,并与Lucene自带的中文分词技术进行比较,得出该技术明显优于自带的中文分词技术。最后,本文采用包含PSO-BP神经网络中文分词组件的Lucene进行搜索引擎的设计和实现,从而实现搜索引擎的中文分词的智能化探索,为后续的工作和研究提供了一个良好的平台。