掌桥专利:专业的专利平台
掌桥专利
首页

一种基于语义识别的文件搜索方法

文献发布时间:2024-01-17 01:26:37


一种基于语义识别的文件搜索方法

技术领域

本发明涉及数据处理领域,特别涉及一种基于语义识别的文件搜索方法。

背景技术

随着智能电网的发展,信息网络规模不断增大,不同应用系统之间的信息交换大大增加。与电网相关的运行参数、交易数据、合同等均实现了电子化,虽然电子文档或文件具有便于整理的特点,但仍然存在难以克服的问题,当数据量非常庞大时,为了准确搜索和提取,使用者需要记忆的特征或者关键词越来越多。如日期、关键词等,而如果有多份文件日期、关键词相同,则使用者就需要记住更多额外的信息以便于事后进行搜索。这在数据量剧增的时代显然是难以接受的。因此如何通过模糊的信息查找到准确的文件,是目前需要解决的问题。

发明内容

针对现有技术难以通过模糊的信息查找到准确的文件的问题,本发明提供了一种基于语义识别的文件搜索方法,通过语义识别接口调用外部的语义识别模型,将输入信息进行转化处理得到处理信息,并进行递进式预搜索,必要时提取指引信息进行递进式二次搜索,尽可能地利用中途搜索结果所携带的信息来选择搜索方向,帮助使用者在输入信息不准确的情况下,尽快找到准确的文件。

以下是本发明的技术方案。

一种基于语义识别的文件搜索方法,适用于存储有结构性数据的数据库,包括以下步骤:

S1:获取使用者的输入信息,调用语义识别接口处理所述输入信息,得到处理信息;

S2:对处理信息进行递进式预搜索,当搜索到的文件数量达到阈值则停止递进式预搜索,并跳转S3;如直至递进式预搜索完成,搜索到的文件数量仍然未达到阈值则跳转S5;

S3:从搜索到的文件中提取指引信息,所述指引信息区别于所述处理信息,将处理信息结合所述指引信息并进行递进式二次搜索,当搜索到的文件数量达到阈值则停止递进式二次搜索,并跳转S4;如直至递进式二次搜索完成,搜索到的文件数量仍然未达到阈值则跳转S5;

S4:展示处理信息、指引信息和搜索结果,确定是否继续,如不继续则跳转S5,如继续则获取使用者的二次输入信息,调用语义识别接口处理所述二次输入信息,得到二次处理信息并重新执行S2;

S5:输出搜索结果。

本发明中,语义识别接口用于调用外部的语义识别模型,将输入信息转为处理信息,提高信息的综合理解能力,并且在递进式预搜索过程中,如果最终结果少于阈值,则说明搜索结果确定性较高,直接输出,如果搜索结果过多,说明确定性较低,使用者的输入信息可能过于模糊,则提取指引信息并进行递进式二次搜索,相比传统技术直接浪费前期搜索结果,本申请充分利用了中途搜索结果所携带的信息,帮助使用者寻找准确的搜索结果。如递进式二次搜索仍然不够准确,则展示处理信息、指引信息和搜索结果,使用者可自行从结果中查找或重新输入,可帮助使用者利用排除法去除错误描述,缩小搜索的范围,此次的输入信息将进一步提高搜索的效率和准确性。

作为优选,所述S1:获取使用者的输入信息,调用语义识别接口处理所述输入信息,得到处理信息,包括:

利用人机交互模块获取使用者的输入信息,所述输入信息包括文本或音频;

调用语义识别接口对输入信息进行识别,所述语义识别接口连接有语义识别模型,接收识别反馈的处理信息。

作为优选,所述S2:对处理信息进行递进式预搜索,包括:

基于处理信息的内容,对数据库的结构性数据进行递进式预搜索;

设置计数器和阈值,每当搜索到一份文件时,计数器的数值加一;

如计数器的数值达到阈值则停止递进式预搜索,并跳转S3;如直至递进式预搜索完成,计数器的数值仍然未达到阈值则跳转S5;

其中,所述递进式预搜索的步骤为:

将数据库中所有文件地址划分为若干地址集,对部分地址集对应的文件进行搜索,如搜索到符合的文件则标记地址集;

根据被标记的地址集,确定地址向量,根据地址向量确定其余地址集的搜索顺序,并根据搜索顺序进行搜索。

作为优选,所述根据被标记的地址集,确定地址向量,根据地址向量确定其余地址集的搜索顺序,包括:

根据被标记的地址集确定对应地址向量(x,y) ,其中x表示该地址集在整个数据库存储空间中的位置,y表示该地址集中搜索到文件的数量;

连接y值最大的两个地址向量并延长,从延长线上取点(X,Y)得到地址中心,其中Y等于单个地址集包含的最大地址数量,如地址向量仅有一个,则直接作为地址中心;

根据其余地址集与所述地址中心的地址差值进行排序,地址靠近地址中心的优先搜索。

本申请中,由于模糊信息的搜索结果一般较多,为了尽可能提高搜索效率,通过递进式预搜索,可以快速确定搜索的优先级,提高搜索效率。并且递进式二次搜索的步骤与递进式预搜索相同。

作为优选,所述S3中,从搜索到的文件中提取指引信息,包括:

判断每份搜索到的文件的关键词并汇总,根据关键词重复次数进行排序,得到关键词序列作为指引信息。

作为优选,所述S3中,将处理信息结合所述指引信息并进行递进式二次搜索,包括:

根据指引信息的关键词序列,选择重复次数最高的n个关键词分别依次与处理信息结合,得到n种不同的结合信息;

选择一种结合信息,对数据库的结构性数据进行递进式二次搜索;

设置计数器和阈值,当搜索到一份文件时,选择另一种结合信息继续搜索,以此类推,每轮搜索得到n份文件,每完成一轮计数器的数值加一;

如计数器的数值达到阈值则停止递进式二次搜索,并跳转S4;如直至递进式二次搜索完成,计数器的数值仍然未达到阈值则跳转S5。

本发明还提供一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现上述的一种基于语义识别的文件搜索方法的步骤。

本发明还提供一种存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现上述的一种基于语义识别的文件搜索方法的步骤。

本发明的实质性效果包括:

利用语义识别接口实现语义识别模型的访问,提高输入信息的综合理解能力,以得到准确的处理信息,并通过递进式预搜索进行判断,必要时进行指引信息的获取并进行递进式二次搜索甚至重新获取输入信息。本发明将所有中途搜索结果进行利用,避免搜索过程中算力的浪费并提高了搜索准确率和效率。

附图说明

图1是本发明实施例的流程图。

具体实施方式

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

应当理解,在本发明的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

应当理解,在本发明中,“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

应当理解,在本发明中,“多个”是指两个或两个以上。“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。“包含A、B和C”、“包含A、B、C”是指A、B、C三者都包含,“包含A、B或C”是指包含A、B、C三者之一,“包含A、B和/或C”是指包含A、B、C三者中任1个或任2个或3个。

下面以具体的实施例对本发明的技术方案进行详细说明。实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。

实施例:

一种基于语义识别的文件搜索方法,如图1所示,适用于存储有结构性数据的数据库,包括以下步骤:

S1:获取使用者的输入信息,调用语义识别接口处理所述输入信息,得到处理信息;

S2:对处理信息进行递进式预搜索,当搜索到的文件数量达到阈值则停止递进式预搜索,并跳转S3;如直至递进式预搜索完成,搜索到的文件数量仍然未达到阈值则跳转S5;

S3:从搜索到的文件中提取指引信息,所述指引信息区别于所述处理信息,将处理信息结合所述指引信息并进行递进式二次搜索,当搜索到的文件数量达到阈值则停止递进式二次搜索,并跳转S4;如直至递进式二次搜索完成,搜索到的文件数量仍然未达到阈值则跳转S5;

S4:展示处理信息、指引信息和搜索结果,确定是否继续,如不继续则跳转S5,如继续则获取使用者的二次输入信息,调用语义识别接口处理所述二次输入信息,得到二次处理信息并重新执行S2;

S5:输出搜索结果。

本实施例不涉及语义识别模型的构建,而是利用语义识别接口调用外部的语义识别模型,将输入信息转为处理信息,提高信息的综合理解能力。

其中,常见的语义识别模型包括:基于规则的模型:根据语言中遵循的规则和约定,对语义进行解析,如基于推理和逻辑规则的模型。统计学模型:通过学习大量的自然语言数据,将语言中的词语和句子转换为向量表示,再用机器学习算法训练模型,从而实现语义识别,例如,基于概率统计的N-gram模型。深度学习模型:基于深度神经网络,通过学习大量的语料库,将自然语言中的语义信息抽取出来,实现语义分析和识别,例如,基于LSTM或Transformer的模型。

具体如某商业公司采用的基于Transformer结构的深度学习模型,它使用了一个具有多个编码器和解码器的Transformer架构,可以对自然语言进行编码和解码,从而实现了在任务上的精准预测和高质量的生成对话,在自然语言处理领域取得了很好的效果。本实施例通过语义识别接口调用这些外部的语义识别模型,能够实现语言的理解和文本的转化。

本实施例在递进式预搜索过程中,如果最终结果少于阈值,则说明搜索结果确定性较高,直接输出,如果搜索结果过多,说明确定性较低,使用者的输入信息可能过于模糊,则提取指引信息并进行递进式二次搜索,相比传统技术直接浪费前期搜索结果,本申请充分利用了中途搜索结果所携带的信息,帮助使用者寻找准确的搜索结果。如递进式二次搜索仍然不够准确,则展示处理信息、指引信息和搜索结果,使用者可自行从结果中查找或重新输入,可帮助使用者利用排除法去除错误描述,缩小搜索的范围,此次的输入信息将进一步提高搜索的效率和准确性。

本实施例中,所述S1:获取使用者的输入信息,调用语义识别接口处理所述输入信息,得到处理信息,包括:

利用人机交互模块获取使用者的输入信息,所述输入信息包括文本或音频;

调用语义识别接口对输入信息进行识别,所述语义识别接口连接有语义识别模型,接收识别反馈的处理信息。

本实施例中,所述S2:对处理信息进行递进式预搜索,包括:

基于处理信息的内容,对数据库的结构性数据进行递进式预搜索;

设置计数器和阈值,每当搜索到一份文件时,计数器的数值加一;

如计数器的数值达到阈值则停止递进式预搜索,并跳转S3;如直至递进式预搜索完成,计数器的数值仍然未达到阈值则跳转S5。

例如,阈值为5,每搜到一份文件,则计数加一,如果计数加到5,则停止递进式预搜索。

其中,所述递进式预搜索的步骤为:

将数据库中所有文件地址划分为若干地址集,对部分地址集对应的文件进行搜索,如搜索到符合的文件则标记地址集;

根据被标记的地址集,确定地址向量,根据地址向量确定其余地址集的搜索顺序,并根据搜索顺序进行搜索。

作为优选,所述根据被标记的地址集,确定地址向量,根据地址向量确定其余地址集的搜索顺序,包括:

根据被标记的地址集确定对应地址向量(x,y) ,其中x表示该地址集在整个数据库存储空间中的位置,y表示该地址集中搜索到文件的数量;

连接y值最大的两个地址向量并延长,从延长线上取点(X,Y)得到地址中心,其中Y等于单个地址集包含的最大地址数量,如地址向量仅有一个,则直接作为地址中心;

根据其余地址集与所述地址中心的地址差值进行排序,地址靠近地址中心的优先搜索。

本实施例中,由于模糊信息的搜索结果一般较多,为了尽可能提高搜索效率,通过递进式预搜索,可以快速确定搜索的优先级,提高搜索效率。并且递进式二次搜索的步骤与递进式预搜索相同。

具体到本实施例,例如共分出了10个地址集,先随机选择地址集进行搜索,例如目前搜索了第2、5、6个地址集,其中第2个地址集搜索到1篇,第5个地址集搜索到3篇,第6个地址集未搜索到,则产生两个地址向量,(x2,1)和(x5,3),其中x2和x5表示具体的地址,如对应地址集中的开头、结尾或中间的地址,然后根据(x2,1)和(x5,3)进行连接并延长,如每个地址集最多包含100个文件地址,则Y取100,得到地址中心(X,Y)。如计算得到的地址中心处在第9个地址集内,则第8和第10地址集为同一优先级,第7地址集为下一优先级,以此类推。当然,如判断地址中心处在第9个地址集内靠近第10地址集处,则也可以将第10地址集作为最高优先级,其次是第8地址集,再次第7地址集,以此类推。需要说明的是,实际的地址集通常比10多得多,包含的文件地址也多得多,为了便于理解才简化了数据的表述形式,上述内容不作为对权利要求的限制。

本实施例中,所述S3中,从搜索到的文件中提取指引信息,包括:

判断每份搜索到的文件的关键词并汇总,根据关键词重复次数进行排序,得到关键词序列作为指引信息。

本实施例在判断关键词时,以文件中出现的频率和特殊的位置综合进行判断,数量可以根据需要设定,如5个关键词等,例如在一份文件中,某小区的名称、“电费”等4个词出现次数很多,则可以判断出4个关键词,并从特殊的位置如时间栏目中提取关键词,得到5个关键词。

本实施例中,所述S3中,将处理信息结合所述指引信息并进行递进式二次搜索,包括:

根据指引信息的关键词序列,选择重复次数最高的n个关键词分别依次与处理信息结合,得到n种不同的结合信息;

选择一种结合信息,对数据库的结构性数据进行递进式二次搜索;

设置计数器和阈值,当搜索到一份文件时,选择另一种结合信息继续搜索,以此类推,每轮搜索得到n份文件,每完成一轮计数器的数值加一;

如计数器的数值达到阈值则停止递进式二次搜索,并跳转S4;如直至递进式二次搜索完成,计数器的数值仍然未达到阈值则跳转S5。

需要说明的是,重复次数最高,表示的是同样的关键词在不同文件中出现的次数,而同一份文件中同一个关键词不论出现多少次,都仅记为1次。

作为实施例的另一方面,本实施例还提供一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现上述的一种基于语义识别的文件搜索方法的步骤。

作为实施例的另一方面,本实施例还提供一种存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现上述的一种基于语义识别的文件搜索方法的步骤。

本实施例的实质性效果包括:

利用语义识别接口实现语义识别模型的访问,提高输入信息的综合理解能力,以得到准确的处理信息,并通过递进式预搜索进行判断,必要时进行指引信息的获取并进行递进式二次搜索甚至重新获取输入信息。本实施例将所有中途搜索结果进行利用,避免搜索过程中算力的浪费并提高了搜索准确率和效率。

通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中可以根据需要而将上述功能分配由不同的功能模块完成,即将具体装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。

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

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

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

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

以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

技术分类

06120116212474