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

文本检索方法、装置、设备及存储介质

文献发布时间:2023-06-19 16:04:54



技术领域

本发明涉及文本检索技术领域,尤其涉及一种文本检索方法、装置、设备及存储介质。

背景技术

计算机系统中,最早且最常见的信息表现形式是文本,文本检索一直广泛应用于互联网、商业、医疗等领域的实际应用中,如搜索引擎、电商购物、电子病历检索等。而现有的基于BERT的文本检索技术通常采取截断法来缓解长文档的输入问题,但是截断法不可避免的会丢失整个文档的上下文语义信息,导致检索结果不准确。

上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。

发明内容

本发明的主要目的在于提供了一种文本检索方法、装置、设备及存储介质,旨在解决现有技术通过截断法进行文本检索导致的检索结果不准确的技术问题。

为实现上述目的,本发明提供了一种文本检索方法,所述方法包括以下步骤:

根据查询文本和待处理句子通过预设BERT模型确定分类标签向量,所述待处理句子基于预设文档集确定;

确定所述查询文本对应的文本语义信息和所述预设文档集对应的句子语义信息;

确定所述预设文档集的上下文语义信息;

根据所述分类标签向量、所述文本语义信息、所述句子语义信息和所述上下文语义信息生成文本检索结果。

可选地,所述根据查询文本和待处理句子通过预设BERT模型确定分类标签向量的步骤之前,还包括:

对预设文档集进行文本预处理,获得处理后的目标文档;

通过文档分类器对所述目标文档进行分割,获得待处理句子。

可选地,所述根据查询文本和待处理句子通过预设BERT模型确定分类标签向量的步骤,包括:

确定所述查询文本的文本长度和所述待处理句子的句子长度;

根据所述文本长度和所述句子长度判断所述待处理句子是否满足截断条件;

若满足,则对所述待处理句子进行截断处理,获得截断后的待处理句子;

根据所述查询文本和所述截断后的待处理句子生成预设BERT模型的输入嵌入;

将所述输入嵌入输入至预设BERT模型,获得分类标签向量。

可选地,所述确定所述查询文本对应的文本语义信息和所述预设文档集对应的句子语义信息的步骤,包括:

通过预设隐含狄利克雷分布模型确定所述查询文本对应的查询主题分布;

通过预设隐含狄利克雷分布模型确定所述预设文档集对应的文档主题分布;

分别对所述文档主题分布和所述查询主题分布求平均,获得文本语义信息和句子语义信息。

可选地,所述确定所述查询文本对应的文本语义信息和所述预设文档集对应的句子语义信息的步骤之前,还包括:

获取查询集样本和文档集样本;

将所述查询集样本和所述文档集样本作为训练语料,并从所述训练语料中提取目标主题信息;

根据所述训练语料和所述目标主题信息对初始隐含狄利克雷分布模型进行训练,得到预设隐含狄利克雷分布模型。

可选地,所述确定所述预设文档集的上下文语义信息的步骤,包括:

获取所述预设文档集对应的待处理句子;

将所述待处理句子传递至预设主题模型,获得所述待处理句子中各句子对应的句子主题分布;

将所述句子主题分布作为上下文语义信息。

可选地,所述根据所述分类标签向量、所述文本语义信息、所述句子语义信息和所述上下文语义信息生成文本检索结果的步骤,包括:

将所述分类标签向量、所述文本语义信息、所述句子语义信息和所述上下文语义信息进行拼接,获得拼接信息;

将所述拼接信息输入分类器,获得文档相关性分值;

根据所述文档相关性分值生成文本检索结果。

此外,为实现上述目的,本发明还提供一种文本检索装置,所述装置包括:

分类标签向量确定模块,用于根据查询文本和待处理句子通过预设BERT模型确定分类标签向量,所述待处理句子基于预设文档集确定;

语义信息确定模块,用于确定所述查询文本对应的文本语义信息和所述预设文档集对应的句子语义信息;

上下文语义信息确定模块,用于确定所述预设文档集的上下文语义信息;

检索结果确定模块,用于根据所述分类标签向量、所述文本语义信息、所述句子语义信息和所述上下文语义信息生成文本检索结果。

此外,为实现上述目的,本发明还提出一种文本检索设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的文本检索程序,所述文本检索程序配置为实现如上文所述的文本检索方法的步骤。

此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有文本检索程序,所述文本检索程序被处理器执行时实现如上文所述的文本检索方法的步骤。

本发明根据查询文本和待处理句子通过预设BERT模型确定分类标签向量,所述待处理句子基于预设文档集确定;确定所述查询文本对应的文本语义信息和所述预设文档集对应的句子语义信息;确定所述预设文档集的上下文语义信息;根据所述分类标签向量、所述文本语义信息、所述句子语义信息和所述上下文语义信息生成文本检索结果。相对于现有的直接采用截断法处理文档,进而确定检索结果的方式,本发明上述方式能够充分利用文档的上下文信息特征和查询与文档的交互性,对文档中的段落有侧重的利用。进而提高检索结果的准确性。

附图说明

图1是本发明实施例方案涉及的硬件运行环境的文本检索设备的结构示意图;

图2为本发明文本检索方法第一实施例的流程示意图;

图3为本发明文本检索方法第一实施例的文本检索示意图;

图4为本发明文本检索方法第二实施例的流程示意图;

图5为本发明文本检索装置第一实施例的结构框图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

参照图1,图1为本发明实施例方案涉及的硬件运行环境的文本检索设备结构示意图。

如图1所示,该文本检索设备可以包括:处理器1001,例如中央处理器(CentralProcessing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(Wireless-Fidelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM),也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

本领域技术人员可以理解,图1中示出的结构并不构成对文本检索设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及文本检索程序。

在图1所示的文本检索设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明文本检索设备中的处理器1001、存储器1005可以设置在文本检索设备中,所述文本检索设备通过处理器1001调用存储器1005中存储的文本检索程序,并执行本发明实施例提供的文本检索方法。

基于上述文本检索设备,本发明实施例提供了一种文本检索方法,参照图2,图2为本发明文本检索方法第一实施例的流程示意图。

本实施例中,所述文本检索方法包括以下步骤:

步骤S10:根据查询文本和待处理句子通过预设BERT模型确定分类标签向量,所述待处理句子基于预设文档集确定。

需要说明的是,本实施例的执行主体可以是一种具有数据处理、网络通信以及程序运行功能的计算服务设备,例如手机、平板电脑、个人电脑等,或者是一种能够实现上述功能的电子设备或文本检索设备。以下以所述文本检索设备为例,对本实施例及下述各实施例进行说明。

需要说明的是,所述查询文本可以是需要进行查询的词语或句子,所述预设文档集可以是预先存储的文本集合,所述查询文本对应的检索结果为所述预设文档集中的内容。所述待处理句子为对所述预设文档集中的文本进行分割后得到的句子。所述分类标签向量可以是将所述查询文本和待处理句子输入至预设BERT模型得到的查询文本和待处理句子的向量表示。所述预设BERT模型可以是一种预训练语言模型,用来对查询文本和分割后的待处理句子的语义相关性进行特征学习和提取,主要为BERT模型。

进一步的,为了提高文本检索结果的准确性,所述步骤S10之前,还包括:对预设文档集进行文本预处理,获得处理后的目标文档;通过文档分类器对所述目标文档进行分割,获得待处理句子。

需要说明的是,所述对预设文档集进行文本预处理可以是提取预设文档集中的有效文本,去除其中的停用词,去除无效标签和将其中包含的所有单词处理为小写字母等处理。通过文档分类器对所述目标文档进行分割,获得待处理句子可以是通过文档分类器将目标文档以句子为单位进行分割,即将目标文档分割成各个句子,可以表示为:d

其中,d

进一步的,为了提高文本检索结果的准确性,所述步骤S10,可包括:确定所述查询文本的文本长度和所述待处理句子的句子长度;根据所述文本长度和所述句子长度判断所述待处理句子是否满足截断条件;若满足,则对所述待处理句子进行截断处理,获得截断后的待处理句子;根据所述查询文本和所述截断后的待处理句子生成预设BERT模型的输入嵌入;将所述输入嵌入输入至预设BERT模型,获得分类标签向量。

需要说明的是,所述文本长度可以是所述查询文本中的词数量,例如,若查询文本为“文本检索方式”则其对应的文本长度为6。同理,所述待处理句子的句子长度也可以是待处理句子的词数量。根据所述文本长度和所述句子长度判断所述待处理句子是否满足截断条件可以是若所述句子长度加上所述文本长度大于预设数量个词,则判定所述待处理句子满足截断条件。所述预设数量可以是预先设置的数量,可以是512等数值。例如,若文本长度为12,待处理句子长度为510,则需要对所述长度为510的待处理句子进行截断处理,截断所述待处理句子中的后10个词的文本。若待处理句子的长度小于或等于510,则不需要对所述待处理句子进行截断处理。所述根据所述查询文本和所述截断后的待处理句子生成预设BERT模型的输入嵌入可以是将所述查询文本和每一个所述截断后的待处理句子转换为如下形式:[cls]q[sep]Sentence

其中,q用于表征查询文本,Sentence

应理解的是,在通过预设BERT模型获得分类标签向量前,还需要根据查询集样本和文档集样本对预训练语言模型BERT模型进行模型训练,具体可以是对所述查询集样本和文档集样本均进行文本预处理和句子分割,具体可参照上述对预设文档集进行预处理和分割的步骤,并参照上述根据查询文本和截断后的待处理句子生成预设BERT模型的输入嵌入的步骤将分割后的查询集样本和文档集样本生成预设BERT模型的输入嵌入,可以是如下形式[cls]q

其中,q

需要说明的是,所述将所述输入嵌入输入至预设BERT模型,获得分类标签向量可以是将所述输入嵌入输入至预设BERT模型,获得如下形式的输出分类标签向量:CLS

需要说明的是,所述Sentence

步骤S20:确定所述查询文本对应的文本语义信息和所述预设文档集对应的句子语义信息。

需要说明的是,所述确定所述查询文本对应的文本语义信息和所述预设文档集对应的句子语义信息可以是通过预设隐含狄利克雷分布模型确定所述查询文本对应的查询主题分布;通过预设隐含狄利克雷分布模型确定所述预设文档集对应的文档主题分布;分别对所述文档主题分布和所述查询主题分布求平均,获得文本语义信息和句子语义信息。

需要说明的是,所述预设隐含狄利克雷分布模型可以是通过查询集样本和文档集样本对隐含狄利克雷分布(Latent Dirichlet Allocation,LDA)模型进行模型训练得到的模型,所述预设隐含狄利克雷分布模型用于提取所述查询文本对应的查询主题分布和预设文档集对应的文档主题分布。所述提取所述查询文本对应的查询主题分布和预设文档集对应的文档主题分布可以是参照如下公式:

w

M

其中,w

应理解的是,所述提取所述查询文本对应的查询主题分布之前,还包括对查询文本进行分词处理,以获得查询文本中的各个词语。

需要说明的是,所述分别对所述文档主题分布和所述查询主题分布求平均,获得文本语义信息和句子语义信息可以是参照以下公式对所述文档主题分布和所述查询主题分布求平均,获得文本语义信息和句子语义信息:

其中,Q

进一步的,为了准确的得到所述文本语义信息和句子语义信息,所述所述确定所述查询文本对应的文本语义信息和所述预设文档集对应的句子语义信息的步骤之前,还包括:获取查询集样本和文档集样本;将所述查询集样本和所述文档集样本作为训练语料,并从所述训练语料中提取目标主题信息;根据所述训练语料和所述目标主题信息对初始隐含狄利克雷分布模型进行训练,得到预设隐含狄利克雷分布模型。

需要说明的是,所述目标主题信息可以包括所述查询集样本对应的文本语义信息和所述文档集样本对应的句子语义信息。所述初始隐含狄利克雷分布模型可以是隐含狄利克雷分布(Latent Dirichlet Allocation,LDA)模型。

在具体实施中,根据查询集样本和文档集样本提取目标主题信息可以是:按照先验概率从文档集样本中选择一篇文档;从Dirichlet分布α中取样生成文档的主题分布,主题分布由超参数为α的Dirichlet分布生成;从主题的多项式分布中取样生成文档第k个词的主题;从Dirichlet分布中取样生成主题对应的词语分布,词语分布由参数为的Dirichlet分布生成;从词语的多项式分布中采样最终生成词语主题,即目标主题信息。

步骤S30:确定所述预设文档集的上下文语义信息。

需要说明的是,所述上下文语义信息可以是根据预设文档集通过预设主题模型确定的所述预设文档集的上下文语义。

进一步的,所述确定所述预设文档集的上下文语义信息的步骤可以包括:获取所述预设文档集对应的待处理句子;将所述待处理句子传递至预设主题模型,获得所述待处理句子中各句子对应的句子主题分布;将所述句子主题分布作为上下文语义信息。

需要说明的是,所述预设主题模型可以是通过查询集样本和文档集样本对隐含狄利克雷分布模型进行模型训练得到的模型。所述将所述待处理句子传递至预设主题模型可以是将所述待处理句子中的所有单词传递至预设主题模型,以获得所述待处理句子中各句子对应的句子主题分布。将所述待处理句子中的所有单词传递至预设主题模型,获得所述待处理句子中各句子对应的句子主题分布可以是参照以下公式:

D

其中,D

应理解的是,通过查询集样本和文档集样本对隐含狄利克雷分布模型进行模型训练得到预设主题模型可以是按照先验概率选择一篇文档;从Dirichlet分布α中取样生成文档的主题分布θ

步骤S40:根据所述分类标签向量、所述文本语义信息、所述句子语义信息和所述上下文语义信息生成文本检索结果。

需要说明的是,所述根据所述分类标签向量、所述文本语义信息、所述句子语义信息和所述上下文语义信息生成文本检索结果可以是将所述分类标签向量、所述文本语义信息、所述句子语义信息和所述上下文语义信息输入至预设分类器,获得分类器的输出结果,根据分类器的输出结果确定文本检索结果。

在具体实施中,可参照图3,图3为本发明文本检索方法第一实施例的文本检索示意图。参照图3,图3中的01为预设分类器,用于接收BERT模型模块08输出的分类标签向量、查询和句子语义信息提取主题模型浅层模块02输出的句子语义信息以及上下文语义信息提取主题模型浅层模块03输出的上下文语义信息。07用于表征查询文本,04用于表征对预设文档进行分割后的待处理句子,05为文档输入处理模块,用于对预设文档和/或查询文本进行预处理和分割,06为输入的预设文档和查询文本。

本实施例根据查询文本和待处理句子通过预设BERT模型确定分类标签向量,所述待处理句子基于预设文档集确定;确定所述查询文本对应的文本语义信息和所述预设文档集对应的句子语义信息;确定所述预设文档集的上下文语义信息;根据所述分类标签向量、所述文本语义信息、所述句子语义信息和所述上下文语义信息生成文本检索结果。相对于现有的直接采用截断法处理文档,进而确定检索结果的方式,本实施例上述方式能够综合考虑查询文本和待处理句子的语义关系,提高文本检索的准确性。

参考图4,图4为本发明文本检索方法第二实施例的流程示意图。

基于上述第一实施例,在本实施例中,所述步骤S40包括:

步骤S401:将所述分类标签向量、所述文本语义信息、所述句子语义信息和所述上下文语义信息进行拼接,获得拼接信息。

需要说明的是,将所述分类标签向量、所述文本语义信息、所述句子语义信息和所述上下文语义信息进行拼接,获得拼接信息可以是将所述分类标签向量、所述文本语义信息、所述句子语义信息和所述上下文语义信息进行按序拼接。拼接结果可以为如下形式:[CLS

步骤S402:将所述拼接信息输入分类器,获得文档相关性分值。

需要说明的是,所述将所述拼接信息输入分类器,获得文档相关性分值可以是将所述拼接信息作为分类器的输入,获得分类器输出的文档相关性分值。

步骤S403:根据所述文档相关性分值生成文本检索结果。

需要说明的是,所述根据所述文档相关性分值生成文本检索结果可以是根据所述文档相关性分值对预设文档集中的文档进行排序,选取排序结果中的文档相关性分值大于预设阈值的文档作为文本检索结果。所述预设阈值可以是预先设置的阈值,本实施例在此不加以限制。作为一种实施方式,也可以直接根据所述排序结果展示预设文档集中的文档,作为文本检索结果。

本实施例将所述分类标签向量、所述文本语义信息、所述句子语义信息和所述上下文语义信息进行拼接,获得拼接信息;将所述拼接信息输入分类器,获得文档相关性分值;根据所述文档相关性分值生成文本检索结果。本实施例根据分类器,获取文档的相关性分值,根据所述文档相关性分值生成文本检索结果。能够更加准确的获得文本检索结果。

参照图5,图5为本发明文本检索装置第一实施例的结构框图。

如图5所示,本发明实施例提出的文本检索装置包括:

分类标签向量确定模块10,用于根据查询文本和待处理句子通过预设BERT模型确定分类标签向量,所述待处理句子基于预设文档集确定;

语义信息确定模块20,用于确定所述查询文本对应的文本语义信息和所述预设文档集对应的句子语义信息;

上下文语义信息确定模块30,用于确定所述预设文档集的上下文语义信息;

检索结果确定模块40,用于根据所述分类标签向量、所述文本语义信息、所述句子语义信息和所述上下文语义信息生成文本检索结果。

本实施例根据查询文本和待处理句子通过预设BERT模型确定分类标签向量,所述待处理句子基于预设文档集确定;确定所述查询文本对应的文本语义信息和所述预设文档集对应的句子语义信息;确定所述预设文档集的上下文语义信息;根据所述分类标签向量、所述文本语义信息、所述句子语义信息和所述上下文语义信息生成文本检索结果。相对于现有的直接采用截断法处理文档,进而确定检索结果的方式,本实施例上述方式能够综合考虑查询文本和待处理句子的语义关系,提高文本检索的准确性。

需要说明的是,以上所描述的工作流程仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部来实现本实施例方案的目的,此处不做限制。

另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的文本检索方法,此处不再赘述。

基于本发明上述文本检索装置第一实施例,提出本发明文本检索装置的第二实施例。

在本实施例中,所述分类标签向量确定模块10,还用于对预设文档集进行文本预处理,获得处理后的目标文档;通过文档分类器对所述目标文档进行分割,获得待处理句子。

进一步的,所述分类标签向量确定模块10,还用于确定所述查询文本的文本长度和所述待处理句子的句子长度;根据所述文本长度和所述句子长度判断所述待处理句子是否满足截断条件;若满足,则对所述待处理句子进行截断处理,获得截断后的待处理句子;根据所述查询文本和所述截断后的待处理句子生成预设BERT模型的输入嵌入;将所述输入嵌入输入至预设BERT模型,获得分类标签向量。

进一步的,所述语义信息确定模块20,还用于通过预设隐含狄利克雷分布模型确定所述查询文本对应的查询主题分布;通过预设隐含狄利克雷分布模型确定所述预设文档集对应的文档主题分布;分别对所述文档主题分布和所述查询主题分布求平均,获得文本语义信息和句子语义信息。

进一步的,所述语义信息确定模块20,还用于获取查询集样本和文档集样本;将所述查询集样本和所述文档集样本作为训练语料,并从所述训练语料中提取目标主题信息;根据所述训练语料和所述目标主题信息对初始隐含狄利克雷分布模型进行训练,得到预设隐含狄利克雷分布模型。

进一步的,所述上下文语义信息确定模块30,还用于获取所述预设文档集对应的待处理句子;将所述待处理句子传递至预设主题模型,获得所述待处理句子中各句子对应的句子主题分布;将所述句子主题分布作为上下文语义信息。

进一步的,所述检索结果确定模块40,还用于将所述分类标签向量、所述文本语义信息、所述句子语义信息和所述上下文语义信息进行拼接,获得拼接信息;将所述拼接信息输入分类器,获得文档相关性分值;根据所述文档相关性分值生成文本检索结果。

本发明文本检索装置的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。

此外,本发明实施例还提出一种存储介质,所述存储介质上存储有文本检索程序,所述文本检索程序被处理器执行时实现如上文所述的文本检索方法的步骤。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

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

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器/随机存取存储器、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

技术分类

06120114696408