一种创建中文名称索引的方法及装置与流程

文档序号:11199383阅读:491来源:国知局
一种创建中文名称索引的方法及装置与流程

本发明涉及数据处理技术领域,特别涉及一种创建中文名称索引的方法及装置。



背景技术:

随着计算机技术的不断发展与进步,各种智能设备被广泛应用于生活、生产中的各个领域。用户在使用智能设备的过程中,经常遇到需要对中文名称进行检索的情况,比如,用户在使用智能机顶盒点播中文电视节目时,需要通过遥控器对所要观看电视节目的中文名称进行搜索。但是,在一些特定场景下,用户无法通过输入中文来对中文名称进行检索,比如通过遥控器难以输入中文,因此需要为中文名称创建索引,以方便对中文名称进行检索。

目前,在为中文名称创建索引时,获取中文名称所包括各个汉字的拼音首字母,形成包括中文名称中第一个汉字的拼音首字母的至少一个字符串作为中文名称的索引,以实现通过拼音对中文名称记性检索。例如,中文名称包括3个汉字,3个汉字的拼音首字母依次为h、l和s,则将h、hl和hls作为该中文名称的索引。

针对目前为中文名称创建索引的方法,由于中文名称的索引均包括中文名称中第一个汉字的拼音首字母,用户在对中文名称进行检索时,必须要知道中文名称的第一个汉字,否则无法成功检索到中文名称。因此,现有为中文名称创建索引的方法,造成用户对中文名称进行检索时的体验较差。



技术实现要素:

本发明实施例提供了一种创建中文名称索引的方法及装置,能够提高用户对中文名称进行检索时的体验。

第一方面,本发明实施例提供了一种创建中文名称索引的方法,包括:

获取中文名称中各个汉字的拼音首字母;

分别获取以每一个所述拼音首字母开头的至少一个字符串,其中,所述字符串中任意两个相邻所述拼音首字母对应的两个汉字在所述中文名称中相邻,且所述字符串中各个所述拼音首字母的顺序与对应汉字在所述中文名称中的顺序相同;

将获取到的各个所述字符串与所述中文名称相关联,作为所述中文名称的索引。

可选地,当所述中文名称包括有至少两个汉字时,所述分别获取以每一个所述拼音首字母开头的至少一个字符串,包括:

按照对应汉字在所述中文名称中的顺序,对各个所述拼音首字母进行顺序组合,形成待切分字符串;

以不同的切分位置和切分次数对所述待切分字符串进行至少一次切分,获得至少两个所述字符串,其中,每一个所述字符串包括有至少一个所述拼音首字母。

可选地,所述以不同的切分位置和切分次数对所述待切分字符串进行至少一次切分,包括:

通过递归算法,以所述待切分字符串作为初始输入,对所述待切分字符串进行切分运算,将每一次切分运算输出的至少两个运算结果作为对应数量的所述字符串。

可选地,在所述形成待切分字符串之后,进一步包括:

将所述待切分字符串与所述中文名称相关联,作为所述中文名称的一个索引。

可选地,所述获取中文名称中各个汉字的拼音首字母,包括:

通过预先定义的java归档文件jar包,分别将所述中文名称包括的每一个汉字翻译为对应的拼音全拼;

针对每一个所述汉字,通过所述jar包,从该汉字对应拼音全拼中提取第一个字母作为该汉字的所述拼音首字母。

第二方面,本发明实施例还提供了一种创建中文名称索引的装置,包括:获取单元、切分单元和关联单元;

所述获取单元,用于获取中文名称中各个汉字的拼音首字母;

所述切分单元,用于分别获取以所述获取单元获取到的每一个所述拼音首字母开头的至少一个字符串,其中,所述字符串中任意两个相邻所述拼音首字母对应的两个汉字在所述中文名称中相邻,且所述字符串中各个所述拼音首字母的顺序与对应汉字在所述中文名称中的顺序相同;

所述关联单元,用于将所述切分单元获取到的各个所述字符串与所述中文名称相关联,作为所述中文名称的索引。

可选地,当所述中文名称包括有至少两个汉字时,

所述切分单元包括:组合子单元和切分子单元;

所述组合子单元,用于按照对应汉字在所述中文名称中的顺序,对各个所述拼音首字母进行顺序组合,形成待切分字符串;

所述切分子单元,用于以不同的切分位置和切分次数对所述组合子单元形成的所述待切分字符串进行至少一次切分,获得至少两个所述字符串,其中,每一个所述字符串包括有至少一个所述拼音首字母。

可选地,

所述切分子单元,用于通过递归算法,以所述待切分字符串作为初始输入,对所述待切分字符串进行切分运算,将每一次切分运算输出的至少两个运算结果作为对应数量的所述字符串。

可选地,

所述关联单元,进一步用于将所述待切分字符串与所述中文名称相关联,作为所述中文名称的一个索引。

可选地,

所述获取单元包括:翻译子单元和提取子单元;

所述翻译子单元,用于通过预先定义的jar包,分别将所述中文名称包括的每一个汉字翻译为对应的拼音全拼;

所述提取子单元,用于针对每一个所述汉字,通过所述jar包,从该汉字对应拼音全拼中提取第一个字母作为该汉字的所述拼音首字母。

本发明实施例提供的创建中文名称索引的方法及装置,获取中文名称中每一个汉字的拼音首字母后,针对每一个拼音首字母,获取以该拼音首字母开头的至少一个字符串,使得每一个字符串中任意两个相邻拼音首字母对应的两个汉字在中文名称中相连,且每一个字符串中各个拼音首字母的顺序与对应汉字在中文名称中的顺序相同,将获取到的各个字符串与中文名称关联后,各个字符串作为中文名称的索引。由此可见,将以中文名称中每一个汉字的拼音首字母为开头的字符串作为中文名称的索引,用户在不知道中文名称的第一汉字时,可以通过中文名称后面的一个或多个汉字的拼音首字母对中文名称进行检索,达到对中文名称进行检索的目的,从而提升了用户对中文名称进行检索时的体验。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一个实施例提供的一种创建中文名称索引的方法流程图;

图2是本发明一个实施例提供的另一种创建中文名称索引的方法流程图;

图3是本发明一个实施例提供的一种创建中文名称索引的装置所在设备的示意图;

图4是本发明一个实施例提供的一种创建中文名称索引的装置示意图;

图5是本发明一个实施例提供的另一种创建中文名称索引的装置示意图;

图6是本发明一个实施例提供的又一种创建中文名称索引的装置示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,本发明实施例提供了一种创建中文名称索引的方法,该方法可以包括以下步骤:

步骤101:获取中文名称中各个汉字的拼音首字母;

步骤102:分别获取以每一个所述拼音首字母开头的至少一个字符串,其中,所述字符串中任意两个相邻所述拼音首字母对应的两个汉字在所述中文名称中相邻,且所述字符串中各个所述拼音首字母的顺序与对应汉字在所述中文名称中的顺序相同;

步骤103:将获取到的各个所述字符串与所述中文名称相关联,作为所述中文名称的索引。

本发明实施例提供了一种创建中文名称索引的方法,获取中文名称中每一个汉字的拼音首字母后,针对每一个拼音首字母,获取以该拼音首字母开头的至少一个字符串,使得每一个字符串中任意两个相邻拼音首字母对应的两个汉字在中文名称中相连,且每一个字符串中各个拼音首字母的顺序与对应汉字在中文名称中的顺序相同,将获取到的各个字符串与中文名称关联后,各个字符串作为中文名称的索引。由此可见,将以中文名称中每一个汉字的拼音首字母为开头的字符串作为中文名称的索引,用户在不知道中文名称的第一汉字时,可以通过中文名称后面的一个或多个汉字的拼音首字母对中文名称进行检索,达到对中文名称进行检索的目的,从而提升了用户对中文名称进行检索时的体验。

例如,一个中文名称为“甲乙丙”,汉字“甲”的拼音首字母为j,汉字“乙”的拼音首字母为y,汉字“丙”的拼音首字母为b,分别获取以j、y和b为开头的字符串作为中文名称“甲乙丙”的索引,比如索引包括j、yb和b。

可选地,如图1所示,

当中文名称中包括有至少两个汉字时,步骤102中分别获取以每一个拼音首字母开头的至少一个字符串的过程,具体可以通过如下方式实现:

按照对应汉字在中文名称中的顺序,对各个拼音首字母进行顺序组合,形成一个待切分字符串;以不同的切分位置和切分次数对待切分字符串进行至少一个切分,每一次切分都获得至少两个字符串,并保证每一个字符串都包括有至少一个拼音首字母。

例如,根据中文名称“甲乙丙”中3个汉字的顺序,将拼音首字母j、y和b进行顺序组合,形成待切分字符串jyb。以不同的切分位置和切分次数对待切分字符串jyb进行多次切分后,可以获得j、y、b、jy、yb共计5个字符串。

通过不同切分位置和切分次数的组合,对由各个拼音首字母组成的待切分字符串进行多次切分后,可以获得由一个或多个拼音首字母顺序组合形成的各种字符串,所获得的各个字符串涵盖了中文名称中任意个数相邻汉字的拼音首字母的组合形式。将切分获得的各个字符串作为中文名称的索引后,用户可以通过中文名称中任意一个汉字的拼音首字母或任意多个相邻汉字的拼音首字母组合来对中文名称进行检索。一方面,用户可以通过中文名称中任意个数和任意位置汉字的拼音首字母组合来对中文名称进行检索,提高了用户对中文名称进行检索的方便性;另一方面,为中文名称创建多个索引,用户在输入任意一个索引对应的拼音字符串后,都可以快速地检索到该拼音字符串对应的一个或多个中文名称,相对模糊搜索的方式可以提高对中文名称进行检索的速度。

可选地,在以不同的切分位置和切分次数对待切分字符串进行切分时,可以通过递归算法,以待切分字符串作为初始输入,对待切分字符串进行切分运算,将每一次切分运算输出的至少两个运算结果作为用于索引的字符串。

例如,以待切分字符串jyb作为初始输入,通过递归算法对待切分字符串jyb进行切分运算。第一次切分运算输出字符串jy和字符串yb,将输出的字符串jy和字符串yb作为中文名称“甲乙丙”的两个索引;第二次切分运算分别以字符串jy和字符串yb作为输入,以字符串jy作为输入时输出字符串j和字符串y,以字符串yb作为输入时输出字符串y和字符串b,将输出的字符串j、字符串y和字符串b作为中文名称“甲乙丙”的3个索引。

通过递归算法对待切分字符串进行切分,可以快速并准确地对待切分字符串进行切分,保证切分运算形成的字符串涵盖拼音首字母的各种顺序组合形式,进而保证用户对中文名称进行检索的方便性和速度。

可选地,除了将对待切分字符串进行切分所得的字符串与中文名称进行关联,作为中文名称的索引外,还将待切分字符串本身与中文名称进行关联,作为中文名称的一个索引。

一方面,由于用户在对中文名称进行检索时,可能会输入中文名称所包括各个汉字的拼音首字母,将待切分字符串作为中文名称的一个索引后,保证用户在输入中文名称所包括各个汉字的拼音首字母时,能够检索到中文名称;另一方面,将待切分字符串作为中文名称的一个索引,由于待切分字符串反映了中文名称所包括的各个汉字,以该待切分字符串作为索引的中文名称的个数相对较少,因而用户通过输入待切分字符串进行检索时,检索到的中文名称的数量较少,使得用户可以从检索到的各个中文名称中快速找出所需的中文名称,进一步提升了用户检索中文名称时的体验。

可选地,如图1所示,

步骤101获取中文名称中各个汉字的拼音首字母时,可以通过预先创建的jar包,分别将中文名称包括的每一个汉字翻译成对应的拼音全拼,然后针对每一个汉字,通过jar包从该汉字对应的拼音全拼中提取第一个字母作为该汉字的拼音首字母。

例如,通过预先创建的jar包,将中文名称“甲乙丙”中的“甲”翻译为拼音全拼jia,将“乙”翻译为拼音全拼yi,将“丙”翻译成拼音全拼bing。然后通过再次通过jar包,从拼音全拼jia中提取j作为“甲”的拼音首字母,从拼音全拼yi中提取y作为“乙”的拼音首字母,从拼音全拼bing中提取b作为“丙”的拼音首字母。

预先定义一个jar包,在需要对中文名称创建索引时,可以调用jar包实现获取中文名称中每一个汉字的拼音首字母,从而方便地获取中文名称中各个汉字的拼音首字母。另外,由于jar包可以直接引入相应的项目,使用jar包中的方法,从而可以将定义的jar包引入不同的中文名称索引创建系统,降低开发工作的工作量。

下面以对智能机顶盒中点播电视节目的中文名称进行索引创建为例,对本发明实施例提供的创建中文名称索引的方法作进一步详细说明,如图2所示,该方法可以包括以下步骤:

步骤201:获取需要创建索引的中文名称。

在本发明一个实施例中,智能机顶盒增加了新的点播电视节目后,需要为新增加点播电视节目的中文名称创建索引,以便用户能够通过遥控器输入部分字母后检索到该点播电视节目。在为新增加点播电视节目的中文名称创建索引之前,首先要获取该新增加点播电视节目的中文名称。

例如,获取新增加点播电视节目a的中文名称“甲乙丙”。

步骤202:通过预先定义的jar包将中文名称包括的各个汉字翻译为对应的拼音全拼。

在本发明一个实施例中,预先定义或获取已经存在的jar包,通过该jar包将新增加点播电视节目的中文名称包括的每一个汉字翻译为对应的拼音全拼。

例如,通过预先定义的jar包,将新增加点播电视节目a的中文名称“甲乙丙”中的汉字“甲”翻译为拼音全拼jia,将“乙”翻译为拼音全拼yi,将“丙”翻译成拼音全拼bing。

步骤203:通过jar包从各个汉字的拼音全拼中提取各个汉字的拼音首字母。

在本发明一个实施例中,在获取到中文名称中每一个汉字的拼音全拼后,再次通过jar包,分别从每一个汉字的拼音全拼中提取该汉字的拼音首字母,从而获取中文名称中各个汉字的拼音首字母。

例如,从拼音全拼jia中提取j作为“甲”的拼音首字母,从拼音全拼yi中提取y作为“乙”的拼音首字母,从拼音全拼bing中提取b作为“丙”的拼音首字母。

步骤204:对各个汉字的拼音首字母进行组合,形成待切分字符串。

在本发明一个实施例中,在获取到中文名称中各个汉字的拼音首字母后,根据对应汉字在中文名称中的顺序,对各个汉字的拼音首字母进行顺序组合,形成待切分字符串。

例如,根据汉字“甲”、“乙”和“丙”在中文名称“甲乙丙”中的排序,将汉字“甲”、“乙”和“丙”对应的拼音首字母j、y和b组合成待切分字符串jyb。

步骤205:通过递归算法对待切分字符串进行切分运算,获得至少一个字符串。

在本发明一个实施例中,获取到由中文名称中各个汉字的拼音首字母组成的待切分字符串后,将待切分字符串作为初始输入,通过递归算法对待切分字符串进行切分运算,获得输出的各个字符串。

例如,以待切分字符串jyb作为初始输入,通过递归算法对待切分字符串jyb进行切分运算,运算输出字符串jy、字符串yb、字符串j、字符串y和字符串b。

步骤206:将各个字符串及待切分字符串与中文名称相关联,作为中文名称的索引。

在本发明一个实施例中,在对待切分字符串进行切分获得字符串后,将获得的各个字符串以及待切分字符串与中文名称相关联,将各个字符串以及待切分字符串作为中文名称的索引,并将新增加点播电视节目的中文名称与字符串及待切分字符串的关联关系存储到智能机顶盒中,使用户通过遥控器输入各个字符串及待切分字符串中的任意一个时,能够检索到该新增加点播电视节目。

例如将字符串jy、字符串yb、字符串j、字符串y和字符串b与新增加点播电视节目a的中文名称“甲乙丙”相关联,并将待切分字符串jyb与新增加点播电视节目a的中文名称“甲乙丙”相关联,将字符串jy、字符串yb、字符串j、字符串y、字符串b及待切分字符串jyb作为中文名称“甲乙丙”的索引。当用户通过遥控器向智能机顶盒发送jy、yb、j、y、b和jyb中任意一个字符串时,智能机顶盒能够通过中文名称“甲乙丙”的各个索引,检索到中文名称“甲乙丙”,进而向用户展示新增加点播电视节目a。

在本发明一个实施例中,通过递归算法对待切分字符串进行切分运算时,可以通过以下脚本实现:

如图3、图4所示,本发明实施例提供了一种创建中文名称索引的装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图3所示,为本发明实施例提供的创建中文名称索引的装置所在设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图4所示,作为一个逻辑意义上的装置,是通过其所在设备的cpu将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。本实施例提供的创建中文名称索引的装置,包括:获取单元401、切分单元402和关联单元403;

获取单元401,用于获取中文名称中各个汉字的拼音首字母;

切分单元402,用于分别获取以获取单元401获取到的每一个拼音首字母开头的至少一个字符串,其中,字符串中任意两个相邻拼音首字母对应的两个汉字在中文名称中相邻,且字符串中各个拼音首字母的顺序与对应汉字在中文名称中的顺序相同;

关联单元403,用于将切分单元402获取到的各个字符串与中文名称相关联,作为中文名称的索引。

可选地,如图5所示,

当中文名称包括有至少两个汉字时,切分单元402包括:组合子单元4021和切分子单元4022;

组合子单元4021,用于按照对应汉字在中文名称中的顺序,对各个拼音首字母进行顺序组合,形成待切分字符串;

切分子单元4022,用于以不同的切分位置和切分次数对组合子单元4021形成的待切分字符串进行至少一次切分,获得至少两个字符串,其中,每一个字符串包括有至少一个拼音首字母。

可选地,如图5所示,

切分子单元4022,用于通过递归算法,以待切分字符串作为初始输入,对待切分字符串进行切分运算,将每一次切分运算输出的至少两个运算结果作为对应数量的字符串。

可选地,如图5所示,

关联单元403,进一步用于将待切分字符串与中文名称相关联,作为中文名称的一个索引。

可选地,如图6所示,

获取单元401包括:翻译子单元4011和提取子单元4012;

翻译子单元4011,用于通过预先定义的jar包,分别将中文名称包括的每一个汉字翻译为对应的拼音全拼;

提取子单元4012,用于针对每一个汉字,通过jar包,从该汉字对应拼音全拼中提取第一个字母作为该汉字的拼音首字母。

需要说明的是,上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。

本发明实施例还提供了一种可读介质,可读介质上存储有执行指令,当存储控制器的处理器执行所述执行指令时,所述存储控制器执行前述任意一个实施例提供的创建中文名称索引的方法。

本发明实施例还提供了一种存储控制器,包括:处理器、存储器和总线;

所述存储器用于存储执行指令,所述处理器与所述存储器通过所述总线连接,当所述存储控制器运行时,所述处理器执行所述存储器存储的所述执行前述任意一个实施例提供的创建中文名称索引的方法。

综上所述,本发明各个实施例提供的创建中文名称索引的方法及装置,至少具有如下有益效果:

1、在本发明实施例中,获取中文名称中每一个汉字的拼音首字母后,针对每一个拼音首字母,获取以该拼音首字母开头的至少一个字符串,使得每一个字符串中任意两个相邻拼音首字母对应的两个汉字在中文名称中相连,且每一个字符串中各个拼音首字母的顺序与对应汉字在中文名称中的顺序相同,将获取到的各个字符串与中文名称关联后,各个字符串作为中文名称的索引。由此可见,将以中文名称中每一个汉字的拼音首字母为开头的字符串作为中文名称的索引,用户在不知道中文名称的第一汉字时,可以通过中文名称后面的一个或多个汉字的拼音首字母对中文名称进行检索,达到对中文名称进行检索的目的,从而提升了用户对中文名称进行检索时的体验。

2、在本发明实施例中,在获取作为中文名称索引的字符串时,首先将中文名称中各个汉字的拼音首字母进行顺序组合形成待切分字符串,然后以不同的切分位置和切分次数对待切分字符串进行多次切分,获得多个字符串,所获得的各个字符串涵盖了中文名称中任意个数相邻汉字的拼音首字母的组合形式。这样,用户可以通过中文名称中任意个数和任意位置汉字的拼音首字母组合来对中文名称进行检索,提高了用户对中文名称进行检索的方便性。

3、在本发明实施例中,在对待切分字符串进行切分时,可以将待切分字符串作为初始输入,通过递归算法对待切分字符串进行切分运算。这样,可以快速并准确地对待切分字符串进行切分,保证切分运算形成的字符串涵盖拼音首字母的各种顺序组合形式,进而保证用户对中文名称进行检索的方便性和速度。

4、在本发明实施例中,除了将对待切分字符串进行切分所得的字符串与中文名称进行关联,作为中文名称的索引外,还将待切分字符串本身与中文名称进行关联,作为中文名称的一个索引。这样,用于可以输入中文名称所包括各个汉字的拼音首字母,来对中文名称进行更加快速的检索,提高对中文名称进行检索的速度。

需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个〃····〃”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质中。

最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1