数据结构形成方法、电子词典和多数组结构技术

技术编号:2870814 阅读:327 留言:0更新日期:2012-04-11 18:40
一种用于电子词典的数据结构形成方法,其特征在于,包括如下步骤:    在所述电子词典的存储器中形成一个由n+1个数组组成的多数组结构(n表示词典中最长的词所包括的字符个数),其中第一至第n数组用于分别存放词典中的所有词的第一至第n字符及其索引信息,第n+1数组用来存放所有词的词条信息;    将第二至第n数组分别划分成多个区,每个区包括一个或多个结构,所述结构由字符部分和带有对应于下一数组中的位置的起始索引值的索引部分组成;    将该词典中的所有词的字符和词条信息存放到所述多数组结构中。(*该技术在2022年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及用于电子词典的数据结构形成方法、具有存储了由该方法形成的数据结构的存储器的电子词典以及用于该电子词典的多数组结构。
技术介绍
近年来电子词典被广泛地使用。该电子词典是具有能存放大量词信息和索引值以查找中文词信息的存储器的设备。然而,由于容量和重量的原因,电子词典的存储器空间是有限的。因此,更有效地利用存储器就非常重要。对于用于中文词的电子词典,使用何种汉语分词词典机制对于其空间效率和查找时间效率很重要。一篇名为“汉语自动分词词典机制的实验研究”的论文发表在《中文信息学报》第14卷第1期。在该论文中,介绍了三种典型的汉语分词词典机制,如,整词二分,TRIE索引树和逐字二分。作者还比较了三种典型的词典机制,并得出结论,认为逐字二分模式是最大程度地满足实际汉语分词速度要求的最合适的词典机制。不过,现有的汉语分词词典机制的存储空间效率和查找时间效率不令人满意。
技术实现思路
因此,本专利技术的目的是通过提供一种用于电子词典的数据结构形成方法、具有存储了由此形成的数据结构的存储器的电子词典以及用于该电子词典的多数组结构来解决现有技术中的上述问题,其能改善存储空间效率和查找时间效率。为实现上述目的,提供一种用于电子词典的数据结构形成方法。该数据结构形成方法包括如下步骤在所述电子词典的存储器中形成一个由n+1个数组组成的多数组结构(n表示词典中最长的词所包括的字符个数),其中第一至第n数组用于分别存放词典中的所有词的第一至第n字符及其索引信息,第n+1数组用来存放所有词的词条信息。将第二至第n数组分别划分成多个区,每个区包括一个或多个结构,所述结构由字符部分和带有对应于下一数组中的位置的起始索引值的索引部分组成。将该词典中的所有词的字符和词条信息存放到所述多数组结构中。对于中文词典来说,针对其中的每个中文词,执行如下步骤根据所述中文词的第一中文字符的内码确定所述第一中文字符在第一数组中的位置,并得到保存在所述位置的与第二数组中的一个区中的第一结构在该第二数组中的位置相对应的索引值。根据所述中文词的第m中文字符的索引值,将所述中文词的第m+1中文字符放置在第m+1数组中的一个区中的一个结构的字符部分中(1≤m≤n-1)。将所述中文词的词条信息依次存放在第n+1数组中的相应位置。其中,如果由一个中文词的前m(1≤m≤n-1)个中文字符组成的字符串构成另一中文词,则所述中文词的第m中文字符的索引值在第m+1数组中所确定的一个区的第一结构的字符部分设置一个标示符,其索引部分用来存放该中文词的词条信息在第n+1数组中的起始位置和长度信息,由所述字符串作为其前半部分的中文词的第m+1中文字符依次存放在包括所述标示符的第一结构之后的结构的字符部分中,其索引值分别放置在与其中文字符相对应的结构的索引部分中;如果由该中文词的前m个中文字符组成的字符串不构成另一中文词,则由所述字符串作为其前半部分的中文词的第m+1中文字符依次存放在由第m中文字符的索引值所确定的位于第m+1数组中的一个区的各个结构的字符部分中,其索引值分别放置在与其中文字符相对应的结构的索引部分中;如果一个中文词不构成其它中文词的一部分,则用于存放该中文词的最后一个中文字符的一个结构的索引部分用来存放该中文词的词条信息在第n+1数组中的起始位置和长度信息。而且,根据本专利技术还提供一种电子词典。该电子词典包括存储器。所述存储器包括一个由n+1个数组组成的多数组结构(n表示词典中最长的词所包括的字符个数),其中第一至第n数组分别存放词典中的所有词的第一至第n字符及其索引信息,第n+1数组存放所有词的词条信息。第二至第n数组分别被划分成多个区,每个区包括一个或多个结构,所述结构由字符部分和索引部分组成。对中文词典来说,所有中文词的第一中文字符的索引值与第二数组中的区中的第一结构在该第二数组中的位置相对应,并根据该中文字符的内码保存在第一数组中的相应位置;如果由一个中文词的前m(1≤m≤n-1)个中文字符组成的字符串构成另一中文词,则所述中文词的第m中文字符的索引值在第m+1数组中所确定的一个区的第一结构的字符部分设置一个标示符,其索引部分用来存放该中文词的词条信息在第n+1数组中的起始位置和长度信息,由所述字符串作为其前半部分的中文词的第m+1中文字符依次存放在包括所述标示符的第一结构之后的结构的字符部分中,其索引值分别放置在与其中文字符相对应的结构的索引部分中;如果由该中文词的前m个中文字符组成的字符串不构成另一中文词,则由所述字符串作为其前半部分的中文词的第m+1中文字符依次存放在由第m中文字符的索引值所确定的位于第m+1数组中的一个区的各个结构的字符部分中,其索引值分别放置在与其中文字符相对应的结构的索引部分中;如果一个中文词不构成其它中文词的一部分,则用于存放该中文词的最后一个中文字符的一个结构的索引部分用来存放该中文词的词条信息在第n+1数组中的起始位置和长度信息。根据本专利技术,还提供一种用于电子词典的多数组结构,所述电子词典包括一个存储器,所述多数组结构设置于所述存储器中,由n+1个数组组成(n表示词典中最长的词所包括的字符个数),其中第一至第n数组分别存放词典中的所有词的第一至第n字符及其索引信息,第n+1数组存放所有词的词条信息。第二至第n数组分别被划分成多个区,每个区包括一个或多个结构,所述结构由字符部分和索引部分组成。对于中文词典来说,所有中文词的第一中文字符的索引值与第二数组中的区中的第一结构在该第二数组中的位置相对应,并根据该中文字符的内码保存在第一数组中的相应位置。如果由一个中文词的前m(1≤m≤n-1)个中文字符组成的字符串构成另一中文词,则所述中文词的第m中文字符的索引值在第m+1数组中所确定的一个区的第一结构的字符部分设置一个标示符,其索引部分用来存放该中文词的词条信息在第n+1数组中的起始位置和长度信息,由所述字符串作为其前半部分的中文词的第m+1中文字符依次存放在包括所述标示符的第一结构之后的结构的字符部分中,其索引值分别放置在与其中文字符相对应的结构的索引部分中;如果由该中文词的前m个中文字符组成的字符串不构成另一中文词,则由所述字符串作为其前半部分的中文词的第m+1中文字符依次存放在由第m中文字符的索引值所确定的位于第m+1数组中的一个区的各个结构的字符部分中,其索引值分别放置在与其中文字符相对应的结构的索引部分中;如果一个中文词不构成其它中文词的一部分,则用于存放该中文词的最后一个中文字符的一个结构的索引部分用来存放该中文词的词条信息在第n+1数组中的起始位置和长度信息。利用这样的中文电子词典,将极大降低中文词典中的中文词所占据的存储器空间,并且提高中文词的查找速度。根据下面的结合附图对实施例所做的描述,本专利技术的上述及其他目的、效果、特征和优点将会变得更显而易见。附图说明图1是根据本专利技术的用于中文电子词典的数据结构形成方法的流程图;图2是将由一个中文字符组成的中文词存放于多数组结构的方法的流程图;图3是将由两个中文字符组成的中文词存放于多数组结构的方法的流程图;图4A和图4B是表示由三个中文字符组成的中文词存放于多数组结构的方法的流程图;图5是根据本专利技术的用于中文电子词典的数据结构的示意图。具体实施例图1是根据本专利技术本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:杨大为金浩刘贺飞秦晓亮
申请(专利权)人:佳能株式会社
类型:发明
国别省市:

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

1
相关领域技术
  • 暂无相关专利