DGP系统中分词技术的实现

时间:2013-07-21

  摘 要:首先对DGP系统作了一个简单的介绍,在对DGP系统将要实现的功能有了一个大致的了解的基础上,然后通过对现有的分词技术的深入了解分析之后,决定将双向匹配法进行改进之后运用于DGP系统之中。对双向匹配法的改进主要是针对词典,方法就是根据词的长度将词典分成一个一个的块,每一块具有相同的词长。通过对双向匹配法的改进,提高了DGP 系统分词效率和搜索的准确率,达到了优化DGP系统的目的。

  0 引言

  DGP就是《气田地面工程设计规定》体系(DGP,Code for Design of Gasfield Group Project),DGP 要实现的功能是将各类繁多数量庞大的相关文件数据进行统一的管理,以方便用户查找和打印,便于实现知识共享,实现对气田地面工程的设计技术标准和工作标准进行系统地管理。因为像图书馆查阅的方式已经达不到方便快捷的查询与使用,必须要建立一个像DGP 一样的能够提供便捷的服务来满足用户的需要。DGP 需要完成搜索与管理功能,具体表现在需要实现用户登陆系统,文件搜索、浏览、、打印,文件上传、删除、更新,文件的管理,系统的管理等功能。要实现这些功能需要用到很多的技术,其中非常关键的一项技术,也是影响DGP 系统性能至关重要的一项技术就是分词技术。

  分词技术是搜索引擎针对用户提交查询的关键串进行的查询处理,后根据用户的关键串用各种匹配方法进行的一种技术,是一个搜索引擎好坏的关键。中文分词技术,指的是将一个汉字序列切分成一个一个单独的词,也就是将连续的字序列按照一定的规则重新组合成词序列的过程。因为中文的词没有一个形式上的分界符,而英文有空格作为单词之间的分界符,所以中文比英文的要更复杂、更困难。

  现有的分词技术有三大类:基于词频度统计的分词方法、基于字典词库匹配分词方法、基于知识理解的分词方法。三种分词技术分别有各自的特点:

  统计分词方法的优点在于可以发现所有的切分歧义并且容易将新词提取出来,但是分词速度太慢了;基于字典词库匹配分词方法速度比较快,但对词典的依赖性较大,且不能根据文档上下文的语义特征来切分词语,在实际使用时,难免会造成一些分词错误,为了提高系统分词的准确度,可以采用正向匹配法和逆向匹配法相结合的分词方案,即双向匹配法;基于知识理解的分词方法的分词效率应该是的,但是目前还处于完善阶段。

  在此,综合现有的分词技术的优缺点,确定将匹配法进行改进之后运用于DGP系统之中,并讨论匹配法在DGP 系统里的实现问题。

  1 匹配法的思路及改进

  匹配法是需要建立一个“充分大”的机器词典,也就是建立一个关键词库,其中包含所有可能出现的词,将需要分词的字符串按照一定的方法与词典中的词条进行逐条匹配,直到找出匹配的词则匹配成功。这类方法简单、分词效率高。

  匹配法的特点就是从长的词开始匹配,可以提高查询的速度,提高工作效率。匹配法又分为正向匹配法和逆向匹配法。正向匹配法的基本思路如下:

  1 ) 假设一个句子S 的长度为n,即S =C1C2C3C4  …C n-1Cn,其中Ci (i=1,2,3…,n)为单个的汉字字符。如果n 的值小于等于1,则分词匹配结束,直接跳到step7;当n大于1时,进入步骤2。

  2)从词典中查找长度匹配词的值M=MAX_Length,“窗口”的起始位置为待匹配句子的个字,记为j =0。

  3)当n - j大于等于M 且M 大于等于 1 时,则从j 的位置开始向后截取长度为M 的子串进行匹配,若匹配不成功则进入步骤4,若匹配成功则进入步骤 5;当n - j小于M 且M 大于等于 1 时,进入步骤6;当M 小于1 时,进入步骤7。

  4) j = j +1,进入步骤3。

  5)将匹配成功的分词取出, j = j + M ,进入步骤3。

  6)M 值减1, j =0,进入步骤3。

  7)匹配结束。

  用流程图来描述如图1所示。

  逆向匹配法与正向匹配法相差无几,只是逆向匹配法是从词串的一个字开始取i 个字与词典作匹配而已。

  在正向和逆向匹配法中,都是运用了“窗口”的思想。首先选取了长度M,确定窗口的大小,从前端的个字开始依次往向挪动“窗口”截词与词典中的词进行匹配。如果匹配成功,那么将词典中匹配的关键词取出,继续向后匹配,如果整个句子都没匹配成功,那么将M 的值减一,即是将窗口的大小减小一个字,依照之前的方法进行挨个匹配,直到将待匹配的句子全部与词典中的词匹配并截取出来,整个匹配任务便完成了。

  举例看一下匹配法的分词效果:

  假使有句子A:“有意见分歧”,B:“天然气管理部门”,使用正向和逆向匹配法对其进行切分,分别得到“有意、见、分歧”,“天然气、管理部门”

  和“有、意见、分歧”,“天然气、管理部门”。从语义上来看,可以看到句子A 使用逆向匹配法分词是正确的,句子B两种方法得到的结果是一样的,都是正确的。因此,为了提高分词的准确性,应该考虑将正向、逆向匹配法结合的方式进行分词。在具体分词的时候,如果两种分词方法得到的匹配结果相同,则认为分词正确,否则,按集处理。使用双向匹配法可以大大提高分词的准确率。

  但是双向匹配法也给分词带来了一些难题,因为从时间效率上来讲,双向匹配法肯定要比单向的匹配法效率要低些,但是为了准确率,必须牺牲一点时间效率。在这样的情况下,考虑到可以从另外的地方进行改进,为DGP系统搜索节约出一部分的时间。因为匹配法有一个特点是“长词优先”,而在分词的时候,是将切分的句子与词典中的词一一匹配的,那么可以考虑将词典里的词按相同长度的词分成一个词块,在分词匹配的时候,根据待匹配的词的长度,也就是M 值,确定目前应与哪个长度的词块里的词进行匹配。这样就避免与不同词长度的词块匹配浪费很多时间,达到了提高搜索效率的目的。

  2 双向匹配法在DGP系统中的运用效果

  DGP系统中的文件主要是一些标准规范、技术规格书、参考资料等等,内容十分丰富。在这里可以看一下双向匹配法在DGP系统中的运用效果。

  如图2、图3所示,在DGP系统中只要输入关键字就能查出所有的相关的标准文献,并没有其它无关的信息出现,说明双向匹配法让DGP系统搜索的准确率大大高,而且在实际操作的时候,反应速度是很快的,完够满足用户的实际需要。这说明,在DGP系统中,运用双向匹配法能够很好地达到高效查找资料的目的,并提高搜索准确率,使得DGP系统得到优化。

  3 结语

  通过对分词技术的分析,并且根据DGP系统的分词需要,分析出使用双向匹配法是适合DGP系统的分词方法。并了解到双向匹配法在分词的时候的难点是:在进行分词时会在一定程度上会使DGP 的分词效率稍微有点降低,使搜索变慢,在这样的情况下,提出对词典进行适当地整理,将词典内的词按词长分块,以提高DGP系统分词效率,为搜索节约了时间,并且提高了搜索的准确率,达到了优化DGP系统的目的。

上一篇:电子设备热仿真及优化技术研究
下一篇:北斗导航民用市场分析研究

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料