关键词查找方法、装置及终端与流程

文档序号:13915588阅读:161来源:国知局
本发明涉及通信领域,具体而言,涉及一种关键词查找方法、装置及终端。
背景技术
:传统的文本信息内容识别技术大致分为两类:一类是部分匹配,一类是全词匹配。其中,部分匹配方法,即匹配所有包含该字符串的文本。优点是不会漏识别,缺点是会出现匹配过多的情况,匹配结果中会出现大量的干扰信息。比如下面的文本:“methodandapparatusforlongestprefixmatchingbased(on)atree.”我们如果要匹配其中的英文单词“on”,用字符串匹配,longest,(on)都会被识别出来,并且文本内容越多,匹配的字符串越短,这种干扰信息就越多。而全词匹配方法,一般是用空格作为分词标准,但是实际语境用来分隔单词的符号很多,这种方法容易遗漏识别,比如上面的例子,用全词匹配方法是识别不了(on)的。相关技术中是通过将这些分隔符替换为空格,但是实际场景中分隔符种类非常繁多,并且不仅仅局限于标点符号。特别是当有人恶意规避内容识别,用数字、其他语种文字、甚至是不可见字符来做间隔时,还是会出现漏识别的情况。这种方法治标不治本,比较被动。因此,在相关技术中,查到用户所需的关键词过程中存在的识别过程复杂且遗漏较多的问题。技术实现要素:本发明实施例提供了一种关键词查找方法、装置及终端,以至少解决相关技术中查到用户所需的关键词过程中存在的识别过程复杂且遗漏较多的问题。根据本发明的一个实施例,提供了一种关键词查找方法,包括:在一个或多个与关键词长度相同的字符串中获取与所述关键词的字符串属性相同的一个或多个指定字符串;判断所述一个或多个指定字符串的相邻字符是否属于所述关键词的取值范围;在判断结果为否的情况下,确定所述指定字符串为目标关键词。可选地,在一个或多个与关键词长度相同的字符串中获取与所述关键词的字符串属性相同的一个或多个指定字符串之前,所述方法还包括:确定所述关键词的取值范围,并计算关键词长度以及所述关键词所在文本的长度;从所述文本的首个字符开始,依据所述关键词长度以及文本长度,将所述文本切分为所述一个或多个与关键词长度相同的字符串;计算所述一个或多个与关键词长度相同的字符串的字符串属性。可选地,将所述文本切分为所述一个或多个与关键词长度相同的字符串,包括:从所述文本的首个字符开始,按照预定步长,依次截取长度为所述关键词长度的字符串;当截取的字符串长度小于所述关键词长度时,抛弃该字符串并结束截取。可选地,判断所述一个或多个指定字符串的相邻字符是否属于所述关键词的取值范围,包括:所述关键词位于所述一个或多个与关键词长度相同的字符串所在文本的头部时,所述相邻字符为与所述指定字符串的尾部相邻的字符;所述关键词位于所述一个或多个与关键词长度相同的字符串所在文本的尾部时,所述相邻字符为与所述指定字符串的头部相邻的字符。可选地,所述方法还包括:在判断结果为是的情况下,确定所示指定字符串为干扰关键词。可选地,所述字符串属性至少包括:字符串的哈希值,字符串中字符编码值。根据本发明的另一个实施例,提供了一种关键词查找装置,包括:获取模块,用于在一个或多个与关键词长度相同的字符串中获取与所述关键词的字符串属性相同的一个或多个指定字符串;判断模块,用于判断所述一个或多个指定字符串的相邻字符是否属于所述关键词的取值范围;确定模块,用于在判断结果为否的情况下,确定所述指定字符串为目标关键词。可选地,所述装置还包括:处理模块,用于确定所述关键词的取值范围,并计算关键词长度以及所述关键词所在文本的长度;切分模块,用于从所述文本的首个字符开始,依据所述关键词长度以及文本长度,将所述文本切分为所述一个或多个与关键词长度相同的字符串;计算模块,用于计算所述一个或多个与关键词长度相同的字符串的字符串属性。可选地,所述切分模块还用于:从所述文本的首个字符开始,按照预定步长,依次截取长度为所述关键词长度的字符串;当截取的字符串长度小于所述关键词长度时,抛弃该字符串并结束截取。根据本发明的另一个实施例,还提供了一种终端,包括:处理器;用于在一个或多个与关键词长度相同的字符串中获取与所述关键词的字符串属性相同的一个或多个指定字符串;判断所述一个或多个指定字符串的相邻字符是否属于所述关键词的取值范围;在判断结果为否的情况下,确定所述指定字符串为目标关键词;输出装置,用于显示或输出所述目标关键词。可选地,所述终端还包括:输入装置,用于接收用户输入的参数确定所述关键词的取值范围,并计算关键词长度以及所述关键词所在文本的长度;所述处理器,还用于从所述文本的首个字符开始,依据所述关键词长度以及文本长度,将所述文本切分为所述一个或多个与关键词长度相同的字符串;计算所述一个或多个与关键词长度相同的字符串的字符串属性。根据本发明的又一个实施例,还提供了一种存储介质。该存储介质设置为存储用于执行以下步骤的程序代码:s11,在一个或多个与关键词长度相同的字符串中获取与所述关键词的字符串属性相同的一个或多个指定字符串;s12,判断所述一个或多个指定字符串的相邻字符是否属于所述关键词的取值范围;s13,在判断结果为否的情况下,确定所述指定字符串为目标关键词。可选地,存储介质还设置为存储用于执行以下步骤的程序代码:s21,确定所述关键词的取值范围,并计算关键词长度以及所述关键词所在文本的长度;s22,从所述文本的首个字符开始,依据所述关键词长度以及文本长度,将所述文本切分为所述一个或多个与关键词长度相同的字符串;s23,计算所述一个或多个与关键词长度相同的字符串的字符串属性。通过本发明,由于通过判断与关键词的字符串属性相同的一个或多个指定字符串相邻字符是否在关键词的取值范围之内,确定不在该取值范围内的字符串。因此,可以解决相关技术中查到用户所需的关键词过程中存在的识别过程复杂且遗漏较多的问题,从而达到了实现流程简单,以及保证了在关键词查找时的低遗漏率以及避免非目标关键词影响的效果。附图说明此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:图1是本发明实施例的一种关键词查找方法的移动终端的硬件结构图;图2是根据本发明实施例的一种关键词查找方法的流程图;图3是根据本发明实施例的另一种关键词查找方法的流程图;图4是根据本发明实施例的一种关键词查找装置的结构图;图5是根据本发明实施例的另一种关键词查找装置的结构图;图6是根据本发明实施例的一种终端的结构图;图7是根据本发明实施例的另一种终端的结构图。具体实施方式下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。实施例1本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在终端上为例,图1是本发明实施例的一种关键词查找方法的移动终端的硬件结构图。如图1所示,移动终端10可以包括一个或多个(图中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的关键词查找方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(networkinterfacecontroller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。在本实施例中提供了一种运行于上述终端的关键词查找方法,图2是根据本发明实施例的一种关键词查找方法的流程图,如图2所示,该流程包括如下步骤:步骤s202,在一个或多个与关键词长度相同的字符串中获取与所述关键词的字符串属性相同的一个或多个指定字符串;可选地,字符串属性包括但不限于,字符串的哈希值以及字符串中各个字符的字符编码值。需要指出的是,该字符编码值可以为对字符串进行字符转换后的usc2编码,当然其他编码,例如ascii码等其他编码也同样在本实施例的保护范围之内。可选地,该指定字符串具体表征为与关键词文本相同的字符串。例如,在文本“methodandapparatusforlongestprefixmatchingbasedonatree”中,与查找的关键词on字符串属性相同的字符串包括:“longest”中的“on”以及“baseon”中的“on”。因此,上述两个“on”理解为指定字符串。步骤s204,判断所述一个或多个指定字符串的相邻字符是否属于所述关键词的取值范围;可选地,相邻字符为指定字符串中第一个字符前的一个或多个字符以及指定字符串中最后一个字符后的一个或多个字符。例如,对于文本“233314key551024keyboard12keyword84123”中,如果查到的关键词为“key”时,可以看出存在3个指定关键词(如划线所示)。以第二个出现的“key”为例,相邻字符可以包括:“4”、“b”,“24”、“bo”,…,“551024”、“board1”。可选地,所述关键词位于所述一个或多个与关键词长度相同的字符串所在文本的头部时,所述相邻字符为与所述指定字符串的尾部相邻的字符;所述关键词位于所述一个或多个与关键词长度相同的字符串所在文本的尾部时,所述相邻字符为与所述指定字符串的头部相邻的字符。具体地,关键词的取值范围是指,与关键词中出现的字符种类的所属的范围。例如,查找的关键词为“key”时,所述关键词的取值范围为“a-z”,而在查找的关键词为“120”时,所述关键词的取值范围为“1,2,3…”而当查找的关键词为“m2”时,所述关键词的取值范围即包括“a-z”,还包括“1,2,3…”。步骤s206,在判断结果为否的情况下,确定所述指定字符串为目标关键词。图3是根据本发明实施例的另一种关键词查找方法的流程图,如图3所示,该流程还包括以下步骤:s302,确定所述关键词的取值范围,并计算关键词长度以及所述关键词所在文本的长度;可选地,在计算关键词长度的同时,还计算该关键词对应的字符串属性。s304,从所述文本的首个字符开始,依据所述关键词长度以及文本长度,将所述文本切分为所述一个或多个与关键词长度相同的字符串;可选地,从所述文本的首个字符开始,按照预定步长,依次截取长度为所述关键词长度的字符串;当截取的字符串长度小于所述关键词长度时,抛弃该字符串并结束截取。需要指出的是,上述预定步长默认设置为1,当然,用户也可以根据自身需要,设定其他长度的预定步长。例如,对于文本14key2keyboard而言,由于所要查找的关键词“key”的长度为3,因此,分别截取了“14k”、“4ke”、“key”、“ey2”…“oar”以及“ard”总共12个字符串。在截取“rd”时,由于字符串上述不满足关键词长度3,因此抛弃该字符串,并停止截取。s306,计算所述一个或多个与关键词长度相同的字符串的字符串属性。此外,在本实施例中还提供了以下场景,以便理解本实施例中上述记载的内容。场景1:文本“app4apple”是用数字4作为分隔符,我们期望从其中找出英文单词“app”。1.分别计算文本长度为9,关键词长度为3;2.对上述文本进行切分并切分为“app”,“pp4”,“p4a”,“4ap”,“app”,“ppl”,“ple”。并计算它们的hash值与关键词hash值进行比较。若相等,则记下该字符串开始的位置。表1是文本及字符对应的位置表,如表1所示,123456789app4apple3.在位置1,位置5处找到关键词。位置1在文本开始位置,所以只需取结尾相邻字符“4”;位置5的关键词开始位置相邻字符为“4”,结束位置相邻为“l”。4.判断字符“4”,“l”是否在“a-z”范围内。“4”明显不在该取值范围之内,“l”在该取值范围以内。因此,位置1处的关键词是目标关键词。位置5处的关键词为干扰关键词。上述方法很好地规避了非空间隔符的干扰,精确地找到了目标关键词。场景2中英文混合的情况,例如文本“我love苹果lover”。目标关键词为英文“love”。1.输入关键词取值范围“a-z,a-z”;为了便于计算字符长度,我们将关键词、文本转换为ucs2编码。表2是文本及文本对应的编码表。123456789101112我love苹果lover6211006c006f0076006582f9679c006c006f0076006500722.在位置2处和位置8处找到目标字符串;3.将位置2处和位置8处前后相邻字符0x6211、0x82f9,0x679c、0x0072与关键词取值范围“a-z,a-z”的ucs2编码范围“0041-007a”进行比较,0x6211、0x82f9不在该范围内,则认为位置2处的字符串为目标字符串,0x0072在该范围内,则认为位置8处字符串为干扰字符串。通过上述步骤,解决了相关技术中查到用户所需的关键词过程中存在的识别过程复杂且遗漏较多的问题,从而达到了实现流程简单,以及保证了在关键词查找时的低遗漏率以及避免非目标关键词影响的效果。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。实施例2在本实施例中还提供了一种关键词查找装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图4是根据本发明实施例的一种关键词查找装置的结构图,如图4所示,该装置包括:获取模块42,判断模块44以及确定模块46获取模块42,用于在一个或多个与关键词长度相同的字符串中获取与所述关键词的字符串属性相同的一个或多个指定字符串;判断模块44,用于判断所述一个或多个指定字符串的相邻字符是否属于所述关键词的取值范围;确定模块46,用于在判断结果为否的情况下,确定所述指定字符串为目标关键词。图5是根据本发明实施例的另一种关键词查找装置的结构图,如图5所示,该装置除包括图4所示的所有模块外,还包括:处理模块52,切分模块54以及计算模块56。处理模块52,用于确定所述关键词的取值范围,并计算关键词长度以及所述关键词所在文本的长度;切分模块54,用于从所述文本的首个字符开始,依据所述关键词长度以及文本长度,将所述文本切分为所述一个或多个与关键词长度相同的字符串;计算模块56,用于计算所述一个或多个与关键词长度相同的字符串的字符串属性。需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。实施例3在本实施例中还提供了一种终端,图6是根据本发明实施例的一种终端的结构图,如图6所示,该终端包括:处理器62以及输出装置64。处理器62,用于在一个或多个与关键词长度相同的字符串中获取与所述关键词的字符串属性相同的一个或多个指定字符串;判断所述一个或多个指定字符串的相邻字符是否属于所述关键词的取值范围;在判断结果为否的情况下,确定所述指定字符串为目标关键词;输出装置64,用于显示或输出所述目标关键词。需要指出的是,该输出装置64包括但不限于:显示屏以及终端上设置的接口。图7是根据本发明实施例的另一种终端的结构图,如图7所示,该装置除包括图6所示的所有模块外,还包括:输入装置72。输入装置72,用于接收用户输入的参数确定所述关键词的取值范围,并计算关键词长度以及所述关键词所在文本的长度;需要指出的是,该输入装置72包括但不限于:包括ui输入界面的显示屏以及相应的输入按键。所述处理器62,还用于从所述文本的首个字符开始,依据所述关键词长度以及文本长度,将所述文本切分为所述一个或多个与关键词长度相同的字符串;计算所述一个或多个与关键词长度相同的字符串的字符串属性。实施例4本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:s11,在一个或多个与关键词长度相同的字符串中获取与所述关键词的字符串属性相同的一个或多个指定字符串;s12,判断所述一个或多个指定字符串的相邻字符是否属于所述关键词的取值范围;s13,在判断结果为否的情况下,确定所述指定字符串为目标关键词。可选地,存储介质还设置为存储用于执行以下步骤的程序代码:s21,确定所述关键词的取值范围,并计算关键词长度以及所述关键词所在文本的长度;s22,从所述文本的首个字符开始,依据所述关键词长度以及文本长度,将所述文本切分为所述一个或多个与关键词长度相同的字符串;s23,计算所述一个或多个与关键词长度相同的字符串的字符串属性。可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1