一种基于单词查找树实现的汉语拼音快速分词方法技术

技术编号:8191011 阅读:367 留言:0更新日期:2013-01-10 01:54
本发明专利技术公开了一种基于单词查找树实现的汉语拼音快速分词方法,该方法通过计算机或者嵌入式可移动设备来实现,主要工作步骤如下:步骤一、根据所有已知的汉语单字拼音表建立汉语单字拼音查找树;步骤二、依据已建立的单词查找树,将查找树与哈希表结合,对给定的一串汉语拼音进行分词;步骤三、给出分词结果;步骤四、销毁查找树,释放资源。本发明专利技术利用字符串的公共前缀来节约构造空间,最大限度地减少无谓的字符串比较;利用带索引的冗余哈希表来提高查询效率,最大限度减小算法的时间复杂度。

【技术实现步骤摘要】

本专利技术属于计算机或各种手持嵌入式可移动设备汉语信息处理
,特别涉及。
技术介绍
从一串连续的汉语拼音中,通过计算机软件算法自动识别出每个单字拼音,是拼音输入法和搜索引擎(根据拼音型关键字再联想汉语语句)必须要使用的技术。将现存的所有汉语单字拼音作为关键字,建立一个哈希表,分词时通过从建立的哈希表中多次查找和匹配,可以实现将一串连续的汉语拼音进行分词,但此方法存在效率不高的问题。为提高效率,现有技术中对上述哈希表做出如下改良以汉语单字拼音的首字母作为关键字,建立一个哈希表,哈希表每个元素都是一个单向链表,链表中存储着以哈希表 关键字字母为开头的所有单字拼音。这样经过改良后,每次查找时,先根据首字母从哈希表中快速得到一个单向链表的首节点指针,然后再遍历单向链表,做出最终匹配。使用经过改良的哈希表已经提高了分词效率,但在处理多义词,诸如“xian” “piao”时,依然会存在需要特殊处理的问题,比如检索到“xi ”后,一种方案是立即将“xi ”从字串中移除,接下来继续检索“an”,但这样拼音“xian”就丢失了 ;第二种方案是在字串中保留“xi ”,继续检索以字母X开头的拼音,直至找到单向链表的末尾,然后再移除“xi”,最后再继续检索“an”,这样就可以找到所有可能的拼音方案“xi” “an” “xian”,但这种方案查找效率比较低下。中国专利(专利号200710118921),一种电话号码映射域名服务器的内存处理方法及装置,这项专利虽然提到了查找树和哈希表,但是这项专利只是使用了查找树和哈希表存储和查找的基本功能,并没有经过任何的改良,也没有任何的延伸和改进;而且在使用的用途上也存在根本不同,此专利只是在查找树和哈希表的节点上存储了数据,只是单纯通过查找树和哈希表找到存储的数据的功能,而本专利技术主要实现的是通过查找树和哈希表的一种变种的结合完成汉语拼音快速分词,这项专利是查找存储的数据,本专利技术是完成汉语拼音的快速分词,两个文件在使用方式和用途上存在本质的区别。中国专利(专利号200810129141. 8),调整候选词顺序的方法和装置,这项专利虽然提到了查找树和哈希表,但是此专利中的检索树只是用到了查找树或者哈希树中的一种,并没有如本专利技术中一样把查找树和哈希表结合起来使用,在本专利技术中两者紧密结合,缺一不可;而且用途也不一样,此专利调整候选词顺序的方法和装置只是利用查找树或者哈希表进行存储,判断存储的拼音串是否为标准全拼,使用查找树或者哈希树并不是用作分词的功能,而本专利技术使用查找树和哈希树的变种的结合完成拼音的快速分词,最终形成拼曰甲O中国专利(专利号200910107961. 1),一种快速分词的实现方法,这项专利虽然也是一种分词的方法,但是此专利查找树是由一级索引表和HASH多叉树实现的,此专利的不足是在处理多义词时,容易造成丟词的情况;如果不想出现丟词的情况,就需要采取降低查找效率的方法解决,虽然保证了查找结果的正确性,但是最直接后果就是造成了查找效率比较低下的问题。上述方案中的单向链表虽然有诸如内存中易维护、插入删除简单等优点,但存在查询性能低下、查找效率低或丟词的缺点。
技术实现思路
本专利技术的目的就是为了解决上述问题,提供,将查找树与哈希表结合,使用哈希树的一种变种来完成对汉语拼音的快速分词,此种分词方式既避免了查询性能低下、效率低、丟词的问题,又提高了查找效率,实现了快速分词。为了实现上述目的,本专利技术采用如下技术方案,该方法通过计算机或者嵌入 式可移动设备来实现,主要工作步骤如下步骤一、根据所有已知的汉语单字拼音表建立汉语单字拼音查找树;步骤二、依据已建立的单词查找树,将查找树与哈希表结合,对给定的一串汉语拼音进行分词;步骤三、给出分词结果;步骤四、销毁查找树,释放资源。所述步骤一中,根据所有已知的汉语单字拼音表建立单字拼音查找树,主要包含以下步骤( I)根节点不包含字符,除根节点外每一个节点都只包含一个字符;(2)每个节点的所有子节点包含的字符都不相同;(3)除叶子节点外,每个节点都有一个长度为26的哈希表,哈希表以26个英文字母的升序为索引,每个元素分别存储一个子节点,且子节点实际个数小于或等于26 ;(4)每一个节点都包含一个标识字段,此字段取值O或1,用来标识从根节点到此节点,路径上经过的字符连接起来是否代表一个完整的汉语单字拼音。所述步骤二中,依据已建立的单词查找树,将查找树与哈希表结合,对给定的一串汉语拼音进行分词,主要包含以下步骤a)从根结点开始一次搜索;b)取得要查找关键词的第一个字母,并根据该字母从哈希表中选择对应的子树并转到该子树继续进行检索;c)在相应的子树上,取得要查找关键词的第二个字母,并进一步选择对应的子树进行检索;d)迭代过程取得关键词的第1、2……η个字母,继续查找。所述步骤三中,具体步骤如下I)在某个结点处,如果关键词的所有字母已被取出或节点的标识字段取值为1,则从根路径到当前节点依次输出所有字符和当前节点的标识字段值。2)如果关键词所有字母已被取出,即完成查找;否则取得关键词的下一个字母,回到查找树的根节点继续迭代查找。3)针对包含多个语义的关键词,例如piao,既可以解释成“票”,也可以解释成“皮袄”,分词结果将输出所有可能的值。所述步骤四中,完成分词后,销毁查找树,释放资源,回收占用的内存。所述查找树是一种支持多态集合,包括插入、删除和查找等操作的数据结构。所述哈希表,也叫散列表,是根据关键码值而直接进行访问的数据结构。本专利技术的有益效果此专利技术在计算机或各种手持嵌入式可移动设备汉语信息处理
是一个新的突破,全面解决了丟词、查找效率低的问题,提供了一种汉语信息处理
的新思路。 本专利技术利用字符串的公共前缀来节约构造空间,最大限度地减少无谓的字符串比较,这样不仅提高了拼音的查找效率,也会有效提高计算机或者各种手持嵌入式可移动设备的内存使用效率,有效提闻了各种设备的运行效率;本专利技术利用带索引的冗余哈希表来提高查询效率,最大限度减小算法的时间复杂度。有效减少了节点的搜索数目,有效提高了算法的实时性,并保证了查找的准确性。同时,也有效提高了查询效率和有效节省了查询时间。本专利技术的分词方式既避免了查询性能低下、效率低、丟词的问题,又提高了查找效率,实现了快速分词。在分词技术上是一个新的突破,由于查询效率提高,分词效率提高,相应的也会提高汉语拼音使用者的工作效率,节省劳动时间,降低劳动强度。附图说明图I :查找树分词流程图;图2 :查找树的结构图;图3:分词过程流程图。具体实施例方式下面结合附图与实施例对本专利技术作进一步说明。如图I所示,首先根据现有汉语单字拼音表建立一个查找树和哈希表结合的哈希树,然后对给定的一串连续的汉语拼音进行分词,给出分析结果,最后销毁查找树,释放资源,回收内存。建立哈希树,根据所有已知的汉语单字拼音表建立一个单词查找树。查找树的根节点不包含字符,除根节点外每一个节点都只包含一个字符。查找树的每个节点的所有子节点包含的字符都不相同。查找树除叶子节点外,每个节点都有一个长度为26的哈希表,哈希表以26个英文字母的升序为索引,每个元素分别存储一个子节点,且子节点实际个数小于或等于26。查找树除根节点外,每一个节点都包含一个标识字段本文档来自技高网
...

【技术保护点】
一种基于单词查找树实现的汉语拼音快速分词方法,该方法通过计算机或者嵌入式可移动设备来实现,其特征是,主要工作步骤如下:步骤一、根据所有已知的汉语单字拼音表建立汉语单字拼音查找树;步骤二、依据已建立的单词查找树,将查找树与哈希表结合,对给定的一串汉语拼音进行分词;步骤三、给出分词结果;步骤四、销毁查找树,释放资源。

【技术特征摘要】

【专利技术属性】
技术研发人员:于少飞袁美英杨震威
申请(专利权)人:山东康威通信技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1