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

文档查询方法、装置、存储介质及电子设备

文献发布时间:2023-06-19 10:27:30


文档查询方法、装置、存储介质及电子设备

技术领域

本发明涉及文档查询技术领域,特别是涉及文档查询方法、装置、存储介质及电子设备。

背景技术

随着电子化办公的普及,各种文档越来越多。用户常需要查询某些文档。

当前对文档的查询一般直接根据用户输入的检索词在文档中进行全文查询,当某个文档中包括有检索词时,则将该文档作为查询结果输出。

但是,全文查询的查询速度较慢。

发明内容

本发明实施例的目的在于提供一种文档查询方法、装置、存储介质及电子设备,以提高查询速度。具体技术方案如下:

一种文档查询方法,包括:

获得用户输入的目标词组;

获得所述目标词组的相似词组,将所述相似词组和所述目标词组确定为待查询词组;

在预先构建的知识图谱中查询与所述待查询词组对应的关键词节点,当查询到与所述待查询词组对应的关键词节点时,获得与查询到的所述关键词节点具有直接连接关系的文档节点;

将获得的至少一个文件节点对应的文档确定为查询结果。

可选的,所述获得所述目标词组的相似词组,包括:

获得所述目标词组的词向量;

在所述目标词组对应的领域的预设词向量字典中,获得与所述目标词组的词向量的相似度满足预设相似度要求的词组,将所述预设相似度要求的词组确定为所述目标词组的相似词组。

可选的,所述预先构建的知识图谱为所述目标词组对应的领域的知识图谱,和/或,所述关键词节点位于与所述关键词节点具有直接连接关系的文档节点对应的文档中。

可选的,所述在预先构建的知识图谱中查询与所述待查询词组对应的关键词节点,当查询到与所述待查询词组对应的关键词节点时,获得与查询到的所述关键词节点具有直接连接关系的文档节点,包括:

使用所述待查询词组构建知识图谱查询语句,执行所述知识图谱查询语句,其中,所述知识图谱查询语句用于:

在预先构建的知识图谱中查询与所述待查询词组对应的关键词节点,并在查询到与所述待查询词组对应的关键词节点时,获得与查询到的所述关键词节点具有直接连接关系的文档节点。

可选的,所述预先构建的知识图谱的构建过程包括:

获得多个文档;

对所述文档进行分词处理,获得多个词组;

将所述多个词组中的停用词去除;

通过预设关键词抽取算法,从去除所述停用词后的所述多个词组中抽取关键词;

根据所述多个文档与所述关键词的包含关系,建立三元组;

根据所述三元组在知识图谱中建立所述关键词节点、所述文档节点以及所述直接连接关系。

一种文档查询装置,包括:目标词组获得单元、相似词组获得单元、节点查询单元和结果确定单元,

所述目标词组获得单元,用于获得用户输入的目标词组;

所述相似词组获得单元,用于获得所述目标词组的相似词组,将所述相似词组和所述目标词组确定为待查询词组;

所述节点查询单元,用于在预先构建的知识图谱中查询与所述待查询词组对应的关键词节点,当查询到与所述待查询词组对应的关键词节点时,获得与查询到的所述关键词节点具有直接连接关系的文档节点;

所述结果确定单元,用于将获得的至少一个文件节点对应的文档确定为查询结果。

可选的,所述相似词组获得单元获得所述目标词组的相似词组,具体配置为:

获得所述目标词组的词向量;在所述目标词组对应的领域的预设词向量字典中,获得与所述目标词组的词向量的相似度满足预设相似度要求的词组,将所述预设相似度要求的词组确定为所述目标词组的相似词组。

可选的,所述预先构建的知识图谱为所述目标词组对应的领域的知识图谱,和/或,所述关键词节点位于与所述关键词节点具有直接连接关系的文档节点对应的文档中。

一种存储介质,其上存储有程序,所述程序被处理器执行时实现上述的任一种文档查询方法。

一种电子设备,所述电子设备包括至少一个处理器、以及与所述处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行上述的任一种文档查询方法。

本发明实施例提供的文档查询方法、装置、存储介质及电子设备,可以获得用户输入的目标词组;获得所述目标词组的相似词组,将所述相似词组和所述目标词组确定为待查询词组;在预先构建的知识图谱中查询与所述待查询词组对应的关键词节点,当查询到与所述待查询词组对应的关键词节点时,获得与查询到的所述关键词节点具有直接连接关系的文档节点;将获得的至少一个文件节点对应的文档确定为查询结果。本发明无需进行全文查询,查询速度较快。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。

附图说明

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

图1为本发明实施例提供的一种文档查询方法的流程图;

图2为本发明实施例提供的一种知识图谱的示意图;

图3为本发明实施例提供的一种知识图谱的构建过程的示意图;

图4为本发明实施例提供的一种基于python实现本发明文档查询方法的示意图;

图5为本发明实施例提供的一种文档查询装置的结构示意图;

图6为本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

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

如图1所示,本发明实施例提供的一种文档查询方法,可以包括:

S100、获得用户输入的目标词组。

其中,用户输入的目标词组可以为一个或多个词组,当为多个词组时,用户可以通过分隔符号(如空格,顿号,分号,逗号等)来分割各个词组。

当然,在其他实施例中,本发明也可以自动识别用户输入的内容并进行切割以获得至少一个目标词组。可选的,本发明可以通过分词技术来对用户输入的内容并进行切割。

S200、获得目标词组的相似词组,将相似词组和目标词组确定为待查询词组。

可以理解的是,如果仅通过用户输入的目标词组进行查询,则查询的范围较窄,无法有效覆盖所需要查询的文档。而通过目标词组和相似词组,本发明不仅可以查询包括目标词组的文档,还可以查询到包含目标词组的相似词组的文档,有效提高了查询结果的覆盖度和准确度。

可选的,获得目标词组的相似词组,可以具体包括:

获得目标词组的词向量;

在目标词组对应的领域的预设词向量字典中,获得与目标词组的词向量的相似度满足预设相似度要求的词组,将预设相似度要求的词组确定为目标词组的相似词组。

可选的,本发明可以通过Word2vec模型来获得目标词组的词向量。Word2vec是用来产生词向量的模型,利用神经网络通过训练语料库来将词组映射到词向量。

可选的,本发明可以对Word2vec模型进行训练以获得与某领域对应的Word2vec模型。可选的,本发明可以获得该领域的多个语料(如从该领域的百科、网络资料、教科书、论文中获得语料),并根据获得的语料来获得该领域的关键词,并根据关键词训练Word2vec模型。

可选的,本发明获得目标词组的词向量后,可以将词向量转存为csv格式,以便使用时作为字典载入,提高存取效率。

本发明的预设词向量字典可以与领域对应,可以有效提高对领域的针对性,并进一步提高了查询的准确性。上述词向量的相似度可以为余弦相似度。上述预设相似度要求可以为:相似度高于预设阈值,或相似度排名位于前N个。

S300、在预先构建的知识图谱中查询与待查询词组对应的关键词节点,当查询到与待查询词组对应的关键词节点时,获得与查询到的关键词节点具有直接连接关系的文档节点。

本发明预先构建的知识图谱中可以包括:文档节点和关键词节点。图2为本发明实施例提供的一种知识图谱的示意图。如图2所示,文档节点和关键词节点可以具有图2中箭头所示的直接连接关系,如第一文档对应的节点和第一关键词对应的节点之间具有箭头。该箭头的含义为:第一关键词位于第一文档中。可选的,一个文档节点可以与多个关键词节点连接,一个关键词节点也可以和多个文档节点连接。

本发明可以通过知识图谱体现文档与关键词的关系。同时,由于知识图谱的可拓展性很强,因此本发明可以通过添加关键词节点和文档节点以及连接关系来扩充知识图谱。

可选的,本发明的知识图谱的文档节点之前还可以具有连接关系,关键词节点之前可以具有连接关系。文档节点之间的连接关系可以有多种,如:文档相似关系、文档包含关系等。关键词节点之间的连接关系可以有多种,如:含义相似关系、含义相反关系、含义包括和被包括的关系等。

上述在预先构建的知识图谱中查询与待查询词组对应的关键词节点,可以包括:

在预先构建的知识图谱包含的关键词节点对应的关键词中,查找与待查询词组相似的关键词,将查找到的关键词对应的关键词节点确定为与待查询词组对应的关键词节点。

可选的,预先构建的知识图谱为目标词组对应的领域的知识图谱,和/或,关键词节点位于与关键词节点具有直接连接关系的文档节点对应的文档中。

可选的,步骤S300可以包括:

使用待查询词组构建知识图谱查询语句,执行知识图谱查询语句,其中,知识图谱查询语句用于:

在预先构建的知识图谱中查询与待查询词组对应的关键词节点,并在查询到与待查询词组对应的关键词节点时,获得与查询到的关键词节点具有直接连接关系的文档节点。

可选的,本发明中的知识图谱查询语句可以为SPARQL查询语句。

SPARQL是一种可用于知识图谱的查询语言和数据获取协议,提供了类似于SQL语句的功能,并实现了基于图算法的多种操作。

通过SPARQL查询语句,本发明可以快速找到对应的关键词节点,从而找到相应的文档节点。

S400、将获得的至少一个文件节点对应的文档确定为查询结果。

本发明通过目标词组和相似词组进行查询,无需进行全文检索,可以有效提高查询速度。

我们搜索的词与文档中存在的关键词可能只是语义相近的关系,而字符是不匹配的。采用词语相似度计算的方法能有效地支持模糊查询,选择大型语料库进行训练可以覆盖大多数可能的查询输入词。

如图3所示,本发明实施例还提供了预先构建的知识图谱的构建过程,可以包括:

S001、获得多个文档;

S002、对文档进行分词处理,获得多个词组;

S003、将多个词组中的停用词去除;

S004、通过预设关键词抽取算法,从去除停用词后的多个词组中抽取关键词;

上述预设关键词抽取算法可以为:TF-IDF(term frequency–inverse documentfrequency),文档主题生成模型LDA(Latent Dirichlet Allocation),TextRank等。

S005、根据多个文档与关键词的包含关系,建立三元组;

S006、根据三元组在知识图谱中建立关键词节点、文档节点以及直接连接关系。

图4展示了本发明一可选实施例提供的一个基于python实现本发明文档查询方法的示意图。

图4中两个虚线框中都需要对语料文本进行预处理,我们使用jieba工具对语料文本进行中文分词,可以通过设置jieba.suggest_freq(),在分词时将某些词不分开。例如“路由交换/协议”而不是“路由/交换/协议”。Word2vec文本预处理阶段不需要处理停用词,而LDA的文本预处理阶段需要移除停用词(高频的无实义的词,如连接词或语气助词),可对照常见的中文停用词表。query.py中我们将输入通过词向量字典找到相似的n个向量对应的词,并再对照关键词集合表来找出其中的关键词。接着利用这些关键词创建SPARQL查询语句对Fuseki数据库进行查询并返回结果。

与上述文档查询方法相对应,本发明实施例还提供了一种文档查询装置。

如图5所示,本发明实施例提供的一种文档查询装置,可以包括:目标词组获得单元100、相似词组获得单元200、节点查询单元300和结果确定单元400,

目标词组获得单元100,用于获得用户输入的目标词组;

相似词组获得单元200,用于获得目标词组的相似词组,将相似词组和目标词组确定为待查询词组;

可选的,相似词组获得单元200获得目标词组的相似词组,可以具体配置为:

获得目标词组的词向量;在目标词组对应的领域的预设词向量字典中,获得与目标词组的词向量的相似度满足预设相似度要求的词组,将预设相似度要求的词组确定为目标词组的相似词组。

节点查询单元300,用于在预先构建的知识图谱中查询与待查询词组对应的关键词节点,当查询到与待查询词组对应的关键词节点时,获得与查询到的关键词节点具有直接连接关系的文档节点;

结果确定单元400,用于将获得的至少一个文件节点对应的文档确定为查询结果。

可选的,预先构建的知识图谱为目标词组对应的领域的知识图谱,和/或,关键词节点位于与关键词节点具有直接连接关系的文档节点对应的文档中。

可选的,节点查询单元300可以具体用于:

使用待查询词组构建知识图谱查询语句,执行知识图谱查询语句,其中,知识图谱查询语句用于:

在预先构建的知识图谱中查询与待查询词组对应的关键词节点,并在查询到与待查询词组对应的关键词节点时,获得与查询到的关键词节点具有直接连接关系的文档节点。

可选的,图5所示文档查询装置还可以包括:图谱构建单元,用于构建知识图谱,图谱构建单元包括:第一获得单元、分词单元、去词单元、抽取单元、三元组建立单元和节点建立单元,

第一获得单元,用于获得多个文档;

分词单元,用于对文档进行分词处理,获得多个词组;

去词单元,用于将多个词组中的停用词去除;

抽取单元,用于通过预设关键词抽取算法,从去除停用词后的多个词组中抽取关键词;

三元组建立单元,用于根据多个文档与关键词的包含关系,建立三元组;

节点建立单元,用于根据三元组在知识图谱中建立关键词节点、文档节点以及直接连接关系。

文档查询装置包括处理器和存储器,上述目标词组获得单元100、相似词组获得单元200、节点查询单元300和结果确定单元400等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。

处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来查询文档。

本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述文档查询方法。

本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述文档查询方法。

如图6所示,本发明实施例提供了一种电子设备70,电子设备70包括至少一个处理器701、以及与处理器701连接的至少一个存储器702、总线703;其中,处理器701、存储器702通过总线703完成相互间的通信;处理器701用于调用存储器702中的程序指令,以执行上述的文档查询方法。本文中的设备可以是服务器、PC、PAD、手机等。

本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有上述的文档查询方法包括的步骤的程序。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

在一个典型的配置中,设备包括一个或多个处理器(CPU)、存储器和总线。设备还可以包括输入/输出接口、网络接口等。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

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

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

相关技术
  • 文档查询方法、装置、电子设备和存储介质
  • 文档查询方法、装置、存储介质及电子设备
技术分类

06120112553806