文字编码和译码方法、装置及电子设备的制造方法_3

文档序号:9766018阅读:来源:国知局
执行查找作为当前分词尾字的下一个字所在的节点的步骤。
[0088]S106:将以当前分词首字为开始且以当前分词尾字为结束的文本中的分词转换为当前分词尾字对应的预设长度的编码,将转换后得到的编码存储到编码文件中,并将当前分词尾字的下一个字确定为当前分词首字,返回执行步骤S102。
[0089]具体的,所述预设长度可以为3字节。
[0090]如果在确定的当前分词尾字的子节点中未找到当前分词尾字的下一个字所在的节点,则将以当前分词首字为开始且以当前分词尾字为结束的文本中的分词转换为当前分词尾字对应的预设长度的编码,将转换后得到的编码存储到编码文件中,由此,将所述待转换文本中的分词转换为编码,并将转换后得到的编码存储在编码文件中的对应位置上。
[0091]其中,各分词转换后得到的编码在所述编码文件中的存储顺序与各分词在所述待转换文本中的排列顺序一致。
[0092]在所述分词编码库包含的各字典树中,不是每个节点都对应有预设长度的编码,由于分词编码库是根据预设分词而编制的,所以只有预设分词的分词尾字所在的节点才对应有预设长度的编码。
[0093]例如:所述文字为中文,如图2所示,所述分词编码库中包含有多个字典树,各字典树中的每个节点中均包含一个中文且各字典树的根节点中包含的中文不同,将所有根节点按拼音递增有序排列,每个字典树包含以其根节点为分词首字的所有预设分词,将所有预设分词所包括的中文均放置于对应的节点上,且每个预设分词的分词尾字所在的节点对应有预设长度的编码。
[0094]在图2中,在根节点为“中”的字典树中,将由“中”为分词首字的预设分词“中华人民共和国”所包括的中文均放置于对应的节点上,“人”、“共”和“和”所在节点不存在预设长度的编码,“华”、“民”和“国”所在节点对应有预设长度的编码。因为“中华人”、“中华人民共”和“中华人民共和”不是预设分词,所以“人”、“共”和“和”所在节点不存在预设长度的编码。而“中华”、“中华人民”和“中华人民共和国”是预设分词,所以,“华”、“民”和“国”所在节点对应有预设长度的编码。
[0095]本发明实施例通过将分词转换为预设长度的编码,达到减少占用存储空间的目的。
[0096]例如:所述文字为中文,所述待转换文本为中文文本,将待转换文本中的“中华人民共和国”转换为编码,每个字转换为双字节编码,需要占用14字节的存储空间。用本发明所述方法将“中华人民共和国”作为分词,将这个分词转换为预设长度的编码,所述预设长度为3字节,则只需要占用3字节的存储空间。对整个待转换文本而言,使用本发明所述方法将大大减少占用的存储空间。
[0097]下面通过一具体实施例对本发明图1所示方法进行介绍:
[0098]假定待转换文本中的中文为:中华人民共和国成立了。在分词编码库中找到根节点为“中”的树,在所述“中”的子节点中查找到“华”所在的节点,将“华”作为当前分词尾字,在“华”的子节点中查找到“人”所在的节点,最后找到“国”所在的叶子节点,将“中华人民共和国”转换为“国”对应的预设长度的编码并将该编码存储到编码文件的第一个位置上。然后在分词编码库中找到根节点为“成”的树,在所述“成”的子节点中查找到“立”所在的节点,将“立”作为当前分词尾字,由于在“立”的子节点中未找到“了”所在的节点,将“成立”转换为“立”对应的预设长度的编码并将该编码存储到编码文件的第二个位置上,由于“了”已经为待转换文本的最后一个字,所以将“了”转换为“了”对应的预设长度的编码并将该编码存储到编码文件的第三个位置上,由此将所述待转换文本中的分词均转换为编码并存储在编码文件中。
[0099]在图1所示方法实施例基础上,如图3所示,本发明提供的另一种文字编码方法,还可以包括:
[0100]S301:如果在所述根节点的子节点中未找到当前分词首字的下一个字所在的节点,将当前分词首字转换为对应的预设长度的编码,将转换后得到的编码存储到编码文件中,并将当前分词首字的下一个字确定为当前分词首字,返回执行步骤S102。
[0101]由于在待转换文本中,不仅存在分词还存在不能组成分词的单个文字,而分词编码库中的预设分词包括单个文字,所以如果在根节点的子节点中未找到当前分词首字的下一个字所在的节点,将当前分词首字转换为对应预设长度的编码,由此,将待转换文本中的单个文字转换为对应预设长度的编码,并将转换后得到的编码存储在编码文件中的对应位置上。
[0102]例如:所述文字为中文,所述当前分词首字为“矗”,如图2所示,在分词编码库中根节点为“矗”的树,其不存在子节点,无法找到其下一个所在的节点,所以可将“矗”视为一个预设分词,将“矗”转换为对应预设长度的编码,将转换后得到的编码存储到编码文件中。
[0103]将当前分词首字的下一个字确定为当前分词首字,返回执行步骤S102直至将所述文本中的分词均转换为编码并按顺序存储在编码文件中为止。
[0104]本发明实施例提供的一种文字编码方法,可以在分词编码库中找到根节点为当前分词首字的树,在所述根节点的子节点中找到下一个字所在的节点,将该下一个字作为当前分词尾字,在确定的当前分词尾字的子节点中查找当前分词尾字的下一个字所在的节点,如果找到,则将该下一个字作为当前分词尾字,返回执行在确定的当前分词尾字的子节点中查找当前分词尾字的下一个字所在的节点的步骤;如果未找到,则将以当前分词首字为开始且以当前分词尾字为结束的分词转换为预设长度的编码,将编码存储到编码文件中,并将当前分词尾字的下一个字确定为当前分词首字,返回执行找到根节点为当前分词首字的树的步骤。本发明在分词编码库中查找待转换文本中的分词,并将查找到的分词转换为预设长度的编码,与将单个文字转化为预设长度的编码的方法相比,本发明将分词转换为预设长度的编码减少了占用的存储空间。
[0105]如图4所示,本发明提供的一种文字译码方法,对图1或图3所述任意一种方法中的所述编码文件进行处理,图4所示方法可以应用于电子设备中,所述电子设备中存储有分词译码库,所述分词译码库是根据所述分词编码库设置的,所述分词译码库中对应存储有所述分词编码库中的所有预设分词及预设长度的编码。所述方法可以包括:
[0106]S401:获得所述编码文件中的当前编码。
[0107]其中,在开始对所述编码文件中的编码进行转换时,所述当前编码为所述编码文件中的首个预设长度的编码。
[0108]在所述分词译码库中,预设长度的编码与分词是映射的关系,从预设长度的编码到分词的映射可以通过Map结构来实现。
[0109]由于所述分词译码库是根据所述分词编码库设置的,所以所述分词译码库也具有通用性。
[0110]S402:在所述分词译码库中查找所述当前编码对应的分词。
[0111]在开始对所述编码文件中的编码进行转换时,从所述分词译码库包含的多个映射关系中找到所述编码文件中的首个预设长度的编码所在的映射关系对应的分词。其它情况时,从所述分词译码库包含的多个映射关系中找到所述编码文件中的当前预设长度的编码所在的映射关系对应的分词。
[0112]S403:将所述当前编码转换为查找到的分词,将转换后得到的分词存储到文本中,并将已转换的当前编码的下一个预设长度的编码确定为当前编码,返回执行步骤S402。
[0113]将所述当前编码转换为查找到的分词,并将转换后得到的分词存储到文本的对应位置上,继续查找已转换的当前预设长度的编码的下一个预设长度的编码对应的分词并转换为查找到的分词,并转换为对应的分词直至所述编码文件的最后一个编码为止,将所述编码文件中的编码均转换为分词并按顺序存储在文本中。
[0114]其中,各预设长度的编码转换后得到的分词在所述文本中的排列顺序与各预设长度的编码在所述编码文件中的存储顺序一致。
[0115]由此,将编码文件中的编码转换为分词。
[0116]可见,本发明实施例提供的一种文字译码方法,可以获得编码文件中的当前编码,在所述分词译码库中查找所述当前编码对应的分词,将所述当前编码转换为查找到的分词,将转换后得到的分词存储到文本中,并将已转换的当前编码的下一个预设长度的编码确定为当前编码,返回执行所述在所述分词译码库中查找所述当前编码对应的分词的步骤。本发明在分词译码库中查找编码文件中的编码对应的分词,将编码转换为查找到的分词,并将转换后得到的分词存储到文本中,将预设长度的编码转换为文字达到文字译码的目的。
[0117]图5为本发明实施例提供的一种文字编码装置的结构示意图,与图1所示的方法相对应,应用于电子设备中,所述电子设备中存储有分词编码库,所述分词编码库包含有多个字典树,各字典树中的每个节点中均包含一个文字且各字典树的根节点中包含的文字不同,每个字典树包含以其根节点为分词首字的所有预设分词,且每个预设分词的分词尾字所在的节点对应有预设长度的编码,图5所示装置可以包括:
[0118]第一获得模块501,用于获得待转换文本中的当前分词首字,其中,在开始对所述待转换文本进行转换时,所述当前分词首字为所述待转换文本中的首个文字;
[0119]所述分词编码库是根据预设分词编制的,所以具有通用性。
[0120]所述文字可以为英文、中文、韩文或日文。
[0121]第一查找模块502,用于在所述分词编码库中找到根节点为当前分词首字的树;
[0122]确定模块503,用于在所述根节点的子节点中查找当前分词首字的下一个字所在的节点,如果找到,则将该下一个字作为当前分词尾字;
[0123]第二查找模块504,用于在确定的当前分词尾字的子节点中查找当前分词尾字的下一个字所在的节点;
[0124]第一编码模块505,用于第二查找模块504如果找到,则将该下一个字作为当前分词
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1