确定词语位置的方法及装置与流程

文档序号:18712822发布日期:2019-09-20 20:45阅读:213来源:国知局
确定词语位置的方法及装置与流程

本申请涉及数据处理领域,具体而言,涉及一种确定词语位置的方法及装置。



背景技术:

由于搜索引擎具有对关键词进行高亮等需求,因此需要索引返回关键词在字符串中出现的起始位置和结束位置。即关键词在被提取出来时就对应提供了关键词在被提取字符串中的位置信息,这个位置信息表示关键词对于被抽取字符串的位置信息。但是当搜索引擎中被索引的字符串与提取关键词时被抽取的字符串不同时,该位置信息就不能继续作为定位关键词的依据,因此,需要通过被索引的字符串与提取关键词时被提取的字符串之间的关系,对关键词的位置信息进行修正,将原本属于被提取字符串的位置信息转化成被索引字符串的位置信息,才能够进行后续的工作。

例如,存在关键词以及关键词在篇章中的位置信息,当对篇章中出现的语句建立索引时,就需要通过语句与篇章的位置关系,将关键词在篇章中的位置转化成关键词在语句中的位置,然后再建立索引。当搜索引擎检索到该关键词时,可以通过索引中的位置信息对应语句中的字符串进行标记,添加高亮等标签。

相关技术中需要遍历待匹配的关键词与带匹配的语句,并对关键词和语句的位置信息进行比对,来确定关键词是否属于语句,以及更新关键词对于语句的位置信息。原来实现方式的遍历过程是完全遍历,在匹配每一个词的时候都需要遍历全部语句列表,但是其中只有一次匹配是真正正确的匹配,其他时候都是未正确匹配状态。假设待匹配的关键词数量是m,待匹配的语句数量是n,整个过程的时间复杂度为(m*n)。因此,导致词语与语句之间位置信息匹配效率比较低。

针对相关技术中获取目标词在对应语句中的位置信息效率低的问题,目前尚未提出有效的解决方案。



技术实现要素:

本申请实施例提供了一种确定词语位置的方法及装置,以至少解决相关技术中获取目标词在对应语句中的位置信息效率低的技术问题。

根据本申请实施例的一个方面,提供了一种确定词语位置的方法,该方法包括:确定待处理文本,其中,待处理文本中包括待处理语句,待处理语句包括待处理目标词;获取第一位置信息和第二位置信息,其中,第一位置信息为用于表示待处理语句在待处理文本中的位置信息,第二位置信息为用于表示待处理目标词在待处理文本中的位置信息;将第一位置信息和第二位置信息进行合并,得到位置信息集合;以及根据位置信息集合确定第三位置信息,其中,第三位置信息为用于表示待处理目标词在待处理语句中的位置信息。

进一步地,在得到位置信息集合之后,在根据位置信息集合确定第三位置信息之前,该方法还包括:对第一位置信息和第二位置信息进行排序处理,得到排序后的位置信息集合,根据位置信息集合确定第三位置信息还包括:通过遍历排序后的位置信息集合确定第三位置信息。

进一步地,通过遍历排序后的位置信息集合确定第三位置信息包括:确定第一排序位置信息和第二排序位置信息,其中,第一排序位置信息为排序后的位置信息集合中当前待处理语句的位置信息,第二排序位置信息为第一排序位置信息的下一位置信息;当第二排序位置信息对应的是待处理目标词时,确定待处理目标词存在于当前待处理语句中;以及获取待处理目标词在当前待处理语句中的位置信息,作为第三位置信息。

进一步地,当第二排序位置信息对应的是待处理语句时,该方法还包括:确定第二排序位置信息对应的待处理词句为当前待处理语句;以及根据当前待处理语句重新确定第一排序位置信息,直到遍历完成排序后的位置信息集合。

进一步地,对第一位置信息和第二位置信息进行排序处理,得到排序后的位置信息集合包括:确定位置信息集合中的每个位置信息的权重值;以及根据权重值,对位置信息集合中的位置信息进行排序,得到排序后的位置信息集合。

进一步地,获取第一位置信息和第二位置信息包括:获取待处理语句在待处理文本中的开始位置和待处理目标词在待处理文本中的开始位置;以及将待处理语句在待处理文本中的开始位置作为第一位置信息,待处理目标词在待处理文本中的开始位置作为第二位置信息。

为了实现上述目的,根据本发明的另一方面,提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述所述的确定词语位置的方法。

为了实现上述目的,根据本发明的另一方面,提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述所述的确定词语位置的方法。

根据本申请实施例的另一方面,还提供了一种确定词语位置的装置,该装置包括:第一确定单元,用于确定待处理文本,其中,待处理文本中包括待处理语句,待处理语句包括待处理目标词;获取单元,用于获取第一位置信息和第二位置信息,其中,第一位置信息为用于表示待处理语句在待处理文本中的位置信息,第二位置信息为用于表示待处理目标词在待处理文本中的位置信息;合并单元,用于将第一位置信息和第二位置信息进行合并,得到位置信息集合;以及第二确定单元,用于根据位置信息集合确定第三位置信息,其中,第三位置信息为用于表示待处理目标词在待处理语句中的位置信息。

进一步地,该装置还包括:排序单元,用于对第一位置信息和第二位置信息进行排序处理,得到排序后的位置信息集合,第二确定单元还包括:遍历模块,用于通过遍历排序后的位置信息集合确定第三位置信息。

进一步地,遍历模块包括:第一确定子模块,用于确定第一排序位置信息和第二排序位置信息,其中,第一排序位置信息为排序后的位置信息集合中当前待处理语句的位置信息,第二排序位置信息为第一排序位置信息的下一位置信息;判断子模块,用于判断第二排序位置信息对应的对象是待处理语句还是待处理目标词;第二确定子模块,用于当第二排序位置信息对应的是待处理目标词时,确定待处理目标词存在于当前待处理语句中;以及获取子模块,用于获取待处理目标词在当前待处理语句中的位置信息,作为第三位置信息。

进一步地,排序单元包括:确定模块,用于确定位置信息集合中的每个位置信息的权重值;以及排序模块,用于根据权重值,对位置信息集合中的位置信息进行排序,得到排序后的位置信息集合。

在本申请中,由于通过确定待处理文本;获取第一位置信息和第二位置信息;将第一位置信息和第二位置信息进行合并,得到位置信息集合;以及根据位置信息集合确定第三位置信息,解决了相关技术中获取目标词在对应语句中的位置信息效率低的技术问题,进而达到了提升获取目标词在对应语句中的位置信息效率的技术效果。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是根据本申请实施例的一种确定词语位置的方法的流程图;以及

图2是根据本申请实施例的一种确定词语位置的装置的示意图。

具体实施方式

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

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

根据本申请实施例,提供了一种确定词语位置的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图1是根据本申请实施例的一种确定词语位置的方法的流程图。如图1所示,该方法包括如下步骤:

步骤S101,确定待处理文本。

具体地,在上述步骤S101中,上述待处理文本中包括待处理语句,待处理语句包括待处理目标词。在确定待处理文本之前,如果输入内容为语句,确定该语句为待处理语句,根据待处理语句确定待处理文本,其中,待处理语句中包括待处理目标词。例如,待处理语句为:“北京欢迎你”。待处理语句包括待处理目标词北京,那么如何从待处理语句中快速定位到待处理目标词详见后续说明。

步骤S102,获取第一位置信息和第二位置信息。

具体地,在上述步骤S102中,上述的第一位置信息为用于表示待处理语句在待处理文本中的位置信息,第二位置信息为用于表示待处理目标词在待处理文本中的位置信息。

获取第一位置信息和第二位置信息有多种方式,优选地,为了提升获取第一位置信息的效率和准确率,获取待处理语句在待处理文本中的开始位置,将待处理语句在待处理文本中的开始位置作为第一位置信息。获取待处理目标词在待处理文本中的开始位置(即待处理目标词在待处理文本中第一次出现的位置),将待处理目标词在待处理文本中的开始位置作为第二位置信息。

此处需要说明:由于同一待处理目标词可能会在待处理文本中的不同位置多次出现,因此,为了便于了解本申请,假设目标词在待处理文本中第一次出现的位置设置为待处理目标词的开始位置。然而,本申请并不限于此,例如,还可以对待处理文本的进行段落分割处理(其中,每一个段落可包含多个待处理语句),然后,依据每一个分段再重新定义待处理目标词的开始位置。

步骤S103,将第一位置信息和第二位置信息进行合并,得到位置信息集合。

在一种实施方式中,如果待处理语句的第一位置信息与待处理目标词的第二位置信息是相同的位置信息,对第一位置信息和第二位置信息进行合并时,对可以只保留第一位置信息,该位置信息对应的对象是待处理语句和待处理目标词。对此本申请方案可以根据实际应用情况,对该第一位置信息和该第二位置信息进行其他方式的设置,例如,当待处理语句的第一位置信息与待处理目标词的第二位置信息是相同的位置信息时,也可以只保留第二位置信息,对此本申请不做任何限定。

步骤S104,根据位置信息集合确定第三位置信息。

具体地,在上述步骤S104中,上述的第三位置信息为用于表示待处理目标词在待处理语句中的位置信息。

为了提升遍历排序后的位置信息确定第三位置信息的效率,在本申请实施例提供的确定词语位置的方法中,在得到位置信息集合之后,根据位置信息集合确定第三位置信息之前,该方法还包括:对第一位置信息和第二位置信息进行排序处理,得到排序后的位置信息集合,根据位置信息集合确定第三位置信息还包括:通过遍历排序后的位置信息集合确定第三位置信息。

例如,在第一位置信息为待处理语句在待处理文本中的位置信息情况下,可以将待处理文本中的多个待处理语句各自对应的位置信息(即每个待处理语句在待处理文本中的第一位置信息)组成集合A,如{(a1,ac1),(a2,ac2),…,(am,acm)};在第二位置信息为待处理目标词在待处理文本中的位置信息情况下,可以将待处理语句中的多个(或至少一个)待处理目标词各自对应的位置信息(即每个待处理目标词在待处理语句中的第二位置信息)组成集合B,如{(b1,bc1),(b2,bc2),…,(bn,bcn)};合并集合A和集合B,得到位置信息集合{(a1,ac1),(a2,ac2),…,(am,acm),(b1,bc1),(b2,bc2),…,(bn,bcn)}。具体地,对位置信息集合,按照位置信息做升序排序,生成有序的位置信息集合。进行升序排序的方法有很多种,不局限于具体使用何种方法,但是排序方法的时间复杂度是对整体时间复杂度有影响的。因此,为了提升对第一位置信息和第二位置信息的排序效率,在本申请实施例中,采用快速排序的方法。

具体地,快速排序的实现步骤如下:

第一步,设置两个变量i、j,排序开始的时候:令,i=0,j=N-1。

第二步,以第一个数组元素作为关键数据,赋值给key,即key=A[0]。

第三步,从j开始向前搜索,即由后开始向前搜索(j--),找到第一个小于key的值A[j],将A[j]和A[i]互换。

第四步,从i开始向后搜索,即由前开始向后搜索(i++),找到第一个大于key的A[i],将A[i]和A[j]互换。

第五步,重复第三步和第四步,直到i=j。

需要说明的是,在第三步和第四步中,没找到符合条件的值,即第三步中A[j]不小于key,第四步中A[i]不大于key的时候改变j、i的值,使得j=j-1,i=i+1,直至找到为止。找到符合条件的值,进行交换的时候i,j指针位置不变。另外,i==j这一过程是i+或j-完成的时候,此时循环结束。

例如,采用上述快速升序排序对位置信息集合{(a1,ac1),(a2,ac2),…,(am,acm),(b1,bc1),(b2,bc2),…,(bn,bcn)}进行排序后,得到排序后的位置信息集合为{(a1,ac1),(b1,bc1),(b2,bc2),(a2,ac2),…,(am,acm),…,(bn,bcn)}。

通过以上步骤,提高了对第一位置信息和第二位置信息的排序效率。

可选地,在本申请实施例提供的确定词语位置的方法中,通过遍历排序后的位置信息集合确定第三位置信息包括:确定第一排序位置信息和第二排序位置信息,其中,第一排序位置信息为排序后的位置信息集合中当前待处理语句的位置信息,第二排序位置信息为第一排序位置信息的下一位置信息;当第二排序位置信息对应的是待处理目标词时,确定待处理目标词存在于当前待处理语句中;以及获取待处理目标词在当前待处理语句中的位置信息,作为第三位置信息。

例如,遍历排序后的位置信息集合{(a1,ac1),(b1,bc1),(b2,bc2),(a2,ac2),…,(am,acm),…,(bn,bcn)},首先,确定排序后的位置信息集合中当前待处理语句的位置信息为(a1,ac1),确定当前待处理语句的位置信息的下一位置信息为(b1,bc1)。然后,判断出当前待处理语句的位置信息的下一位置信息(b1,bc1)对应的是待处理目标词,即表示该待处理目标词是属于当前待处理语句的词语。最后,根据该待处理目标词与当前待处理语句的从属关系,获取该待处理目标词在当前待处理语句中的位置信息。

可选地,当第二排序位置信息对应的是待处理语句时,该方法还包括:确定第二排序位置信息对应的待处理词句为当前待处理语句;以及根据当前待处理语句重新确定第一排序位置信息,直到遍历完成排序后的位置信息集合。

继续以上述排序结果为例,如果当前待处理语句的位置信息的下一位置信息是(a2,ac2),其对应的是待处理语句,则确定当前待处理语句的位置信息为(a2,ac2)。然后重新确定第一排序位置信息为(a2,ac2),最后,根据重新确定的第一排序位置信息,遍历完成排序后的位置信息集合。

可选地,对第一位置信息和第二位置信息进行排序处理,得到排序后的位置信息集合包括:确定位置信息集合中的每个位置信息的权重值;以及根据权重值,对位置信息集合中的位置信息进行排序,得到排序后的位置信息集合。

例如,多个第一位置信息组成集合A,如{(a1,ac1),(a2,ac2),…,(am,acm)};多个第二位置信息组成集合B,如{(b1,bc1),(b2,bc2),…,(bn,bcn)};合并集合A和集合B,得到位置信息集合{(a1,ac1),(a2,ac2),…,(am,acm),(b1,bc1),(b2,bc2),…,(bn,bcn)}。确定位置信息集合{(a1,ac1),(a2,ac2),…,(am,acm),(b1,bc1),(b2,bc2),…,(bn,bcn)}中每个位置信息的权重值,由于每个位置信息的权重值基本上均不相同,因此,根据每个位置信息的权重值对位置信息集合中的位置信息进行排序,得到排序后的位置信息集合。如得到排序后的位置信息集合为{(a1,ac1),…,(am,acm),(b1,bc1),(b2,bc2),(a2,ac2),…,(bn,bcn)}。

需要说明的是,在对位置信息集合进行排序时,如果待处理语句的第一位置信息与待处理目标词的第二位置信息的权重值相同,则再考虑其它因素对相同的位置信息进行排序,例如位置信息的数值大小。

可选地,获取第一位置信息和第二位置信息包括:获取待处理语句在待处理文本中的开始位置和待处理目标词在待处理文本中的开始位置;以及将待处理语句在待处理文本中的开始位置作为第一位置信息,待处理目标词在待处理文本中的开始位置作为第二位置信息。

具体地,在得到排序后的位置信息集合之后,确定排序后的位置信息中当前待处理语句的位置信息,即上述的第一排序位置信息。遍历排序后的位置信息,并进行判断:如果当前遍历到的对象是语句,则将该语句对于篇章的位置信息进行更新为当前待处理语句位置的位置信息,即更新为第一排序位置信息,然后继续遍历下一位置的位置信息;如果当前遍历到的对象是待处理目标词,则表示该待处理目标词是在当前待处理语句的这句话中出现的,该待处理目标词属于当前待处理语句。同时,更新该待处理目标词对应于该语句的位置信息,即该待处理目标词对应于该语句的位置信息。继续遍历下一位置的位置信息,直到遍历排序后的位置信息的最后一个位置信息。

通过以上步骤能够得到全部目标词与语句之间的从属关系与位置信息的匹配结果。通过合并、排序、遍历的方式快速识别和建立目标词与语句之间的从属关系,从而达到了提升获取目标词在对应语句中的位置信息效率的技术效果,进而解决了相关技术中获取目标词在对应语句中的位置信息效率低的技术问题。

需要说明的是,本申请实施例提供的确定目标词位置的方法不仅可以适用于自然语言处理的目标词与语句的匹配,同样还能够适用于其它类似的场景。对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

本申请实施例提供的一种确定目标词位置的方法,通过确定待处理文本,其中,待处理文本中包括待处理语句,待处理语句包括待处理目标词;获取第一位置信息和第二位置信息,其中,第一位置信息为用于表示待处理语句在待处理文本中的位置信息,第二位置信息为用于表示待处理目标词在待处理文本中的位置信息;将第一位置信息和第二位置信息进行合并,得到位置信息集合;以及根据位置信息集合确定第三位置信息,其中,第三位置信息为用于表示待处理目标词在待处理语句中的位置信息,达到了提升获取目标词在对应语句中的位置信息效率的技术效果,进而解决了相关技术中获取目标词在对应语句中的位置信息效率低的技术问题。

为了实现上述目的,根据本发明的另一方面,本发明实施例还提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述所述的确定词语位置的方法。

为了实现上述目的,根据本发明的另一方面,本发明实施例还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述所述的确定词语位置的方法。

本申请实施例还提供了一种确定词语位置的装置,需要说明的是,本申请实施例的确定词语位置的装置可以用于执行本申请实施例所提供的用于确定词语位置的方法。以下对本申请实施例提供的确定词语位置的装置进行介绍。

图2是根据本申请实施例的一种确定词语位置的装置的示意图。如图2所示,该装置包括:第一确定单元10、获取单元20、合并单元30以及第二确定单元40。

第一确定单元10,用于确定待处理文本,其中,待处理文本中包括待处理语句,待处理语句包括待处理目标词。

获取单元20,用于获取第一位置信息和第二位置信息,其中,第一位置信息为用于表示待处理语句在待处理文本中的位置信息,第二位置信息为用于表示待处理目标词在待处理文本中的位置信息。

合并单元30,用于将第一位置信息和第二位置信息进行合并,得到位置信息集合。

第二确定单元40,用于根据位置信息集合确定第三位置信息,其中,第三位置信息为用于表示待处理目标词在待处理语句中的位置信息。

本申请实施例提供的一种确定词语位置的装置,通过第一确定单元10确定待处理文本,其中,待处理文本中包括待处理语句,待处理语句包括待处理目标词;获取单元20获取第一位置信息和第二位置信息,其中,第一位置信息为用于表示待处理语句在待处理文本中的位置信息,第二位置信息为用于表示待处理目标词在待处理文本中的位置信息;合并单元30将第一位置信息和第二位置信息进行合并,得到位置信息集合;以及第二确定单元40根据位置信息集合确定第三位置信息,其中,第三位置信息为用于表示待处理目标词在待处理语句中的位置信息,达到了提升获取目标词在对应语句中的位置信息效率的技术效果,进而解决了相关技术中获取目标词在对应语句中的位置信息效率低的技术问题。

优选地,为了提升确定第三位置信息效率,在本申请实施例提供的一种确定词语位置的装置中,该装置还包括:排序单元,用于对第一位置信息和第二位置信息进行排序处理,得到排序后的位置信息集合,第二确定单元40还包括:遍历模块,用于通过遍历排序后的位置信息集合确定第三位置信息。

可选地,在本申请实施例提供的一种确定词语位置的装置中,遍历模块包括:第一确定子模块,用于确定第一排序位置信息和第二排序位置信息,其中,第一排序位置信息为排序后的位置信息集合中当前待处理语句的位置信息,第二排序位置信息为第一排序位置信息的下一位置信息;判断子模块,用于判断第二排序位置信息对应的对象是待处理语句还是待处理目标词;第二确定子模块,用于当第二排序位置信息对应的是待处理目标词时,确定待处理目标词存在于当前待处理语句中;以及获取子模块,用于获取待处理目标词在当前待处理语句中的位置信息,作为第三位置信息。

可选地,在本申请实施例提供的一种确定词语位置的装置中,排序单元包括:确定模块,用于确定位置信息集合中的每个位置信息的权重值;以及排序模块,用于根据权重值,对位置信息集合中的位置信息进行排序,得到排序后的位置信息集合。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

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