CN109684442B - 一种文本检索方法、装置、设备及程序产品 - Google Patents
一种文本检索方法、装置、设备及程序产品 Download PDFInfo
- Publication number
- CN109684442B CN109684442B CN201811572936.6A CN201811572936A CN109684442B CN 109684442 B CN109684442 B CN 109684442B CN 201811572936 A CN201811572936 A CN 201811572936A CN 109684442 B CN109684442 B CN 109684442B
- Authority
- CN
- China
- Prior art keywords
- text
- expression
- result
- expression result
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种文本检索方法、装置、设备及程序产品,所述方法包括:在获取到待检索的目标文本后,可以生成该目标文本的第一文本表达结果,然后,将该第一表达结果与预先构建的样本表达集合进行匹配,得到该样本表达集合中每一与第一表达结果在表达形式上相同或相近的文本表达结果,作为第二文本表达结果,进而,可以将第二文本表达结果对应的样本文本,作为与目标文本在语义上相同或相近的文本。可见,本申请通过匹配文本表达结果的方式,即可快速检索到与目标文本在语义上相同或相近的文本,由于不需要利用深度学习等高计算量的算法进行语义扩展,故而,不存在因计算量过大导致的检索时间过长、占用资源过多的问题,从而提高了用户体验。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种文本检索方法、装置、设备及程序产品。
背景技术
随着互联网的快速发展,互联网上的信息越来越多,使得用户在互联网上搜索得到想要的内容,变得越来越困难。这是因为,不同的词语可能具有相同的含义,由于用户的词汇量有限,一般情况下,用户不可能扩展得到语义相同或相近的各个不同词语,故而,用户在搜索互联网信息时,导致搜索结果不够全面。
在现有的检索方法中,会利用深度学习等高计算量的算法应对语义扩展,但是该类型的算法计算量过大,在实际检索计算时,会消耗大量时间和计算资源,用户体验并不理想。
发明内容
本申请实施例的主要目的在于提供一种文本检索方法、装置、设备及程序产品,能够提高文本检索的速度并减少资源占用。
本申请实施例提供了一种文本检索方法,包括:
获取待检索的目标文本;
生成所述目标文本的第一文本表达结果;
将所述第一文本表达结果与预先构建的样本表达集合进行匹配,得到各个第二文本表达结果,其中,所述样本表达集合中包括各个样本文本的文本表达结果,所述第二文本表达结果是所述样本表达集合中与所述第一表达结果在表达形式上相同或相近的文本表达结果;
将所述第二文本表达结果对应的样本文本,作为与所述目标文本在语义上相同或相近的文本。
可选的,所述生成所述目标文本的第一文本表达结果,包括:
将所述目标文本按照预设的文本单位进行切分,得到各个单位文本,或将所述目标文本作为一个单位文本;
生成每一单位文本的文本表达向量;
利用每一单位文本的文本表达向量,生成所述目标文本的第一文本表达结果。
可选的,所述利用每一单位文本的文本表达向量,生成所述目标文本的第一文本表达结果,包括:
生成每一单位文本对应的权重值,所述权重值表征了对应单位文本的重要度;
利用每一单位文本对应的文本表达向量和权重值,生成所述目标文本的第一文本表达结果。
可选的,所述利用每一单位文本对应的文本表达向量和权重值,生成所述目标文本的第一文本表达结果,包括:
将每一单位文本的文本表达向量中的每一向量元素值乘以对应单位文本的权重值,得到每一单位文本的文本表达向量中每一向量元素的加权值;
将每一单位文本的文本表达向量的相同维度下的向量元素加权值进行相加,并将每一相加结果除以所述目标文本的单位文本个数,得到所述目标文本的第一文本表达结果。
可选的,所述得到所述目标文本的第一文本表达结果之后,还包括:
对所述第一文本表达结果进行处理,使所述第一文本表达结果是由第一元素和/或第二元素组成的向量。
可选的,所述将所述第一文本表达结果与预先构建的样本表达集合进行匹配,得到各个第二文本表达结果,包括:
统计所述第一文本表达结果中存在的目标元素的个数,得到第一个数,其中,所述目标元素为所述第一元素或所述第二元素;
对于所述样本表达集合中每一样本文本的文本表达结果,确定该文本表达结果中存在的所述目标元素的个数,得到第二个数;
从所述样本表达集合中,选择与所述第一个数相同的各个第二个数对应的各个文本表达结果;
从所选择的各个文本表达结果中,选择与所述第一文本表达结果在表达形式上相同或相近的文本表达结果,作为第二文本表达结果。
可选的,所述从所选择的各个文本表达结果中,选择与所述第一文本表达结果在表达形式上相同或相近的文本表达结果,包括:
利用所述第一文本表达结果,生成第一哈希索引;
对于所选择的各个文本表达结果,获取利用该文本表达结果生成的第二哈希索引;
从获取的各个第二哈希索引中,选择与所述第一哈希索引相同的第二哈希索引对应的文本表达结果。
本申请实施例还提供了一种文本检索装置,包括:
目标文本获取单元,用于获取待检索的目标文本;
表达结果生成单元,用于生成所述目标文本的第一文本表达结果;
表达结果匹配单元,用于将所述第一文本表达结果与预先构建的样本表达集合进行匹配,得到各个第二文本表达结果,其中,所述样本表达集合中包括各个样本文本的文本表达结果,所述第二文本表达结果是所述样本表达集合中与所述第一表达结果在表达形式上相同或相近的文本表达结果;
检索文本获得单元,用于将所述第二文本表达结果对应的样本文本,作为与所述目标文本在语义上相同或相近的文本。
可选的,所述表达结果生成单元包括:
单位文本获得子单元,用于将所述目标文本按照预设的文本单位进行切分,得到各个单位文本,或将所述目标文本作为一个单位文本;
表达向量生成子单元,用于生成每一单位文本的文本表达向量;
表达结果生成子单元,用于利用每一单位文本的文本表达向量,生成所述目标文本的第一文本表达结果。
可选的,所述表达结果生成子单元包括:
权重值生成子单元,用于生成每一单位文本对应的权重值,所述权重值表征了对应单位文本的重要度;
结果生成子单元,用于利用每一单位文本对应的文本表达向量和权重值,生成所述目标文本的第一文本表达结果。
可选的,所述结果生成子单元包括:
加权值获得子单元,用于将每一单位文本的文本表达向量中的每一向量元素值乘以对应单位文本的权重值,得到每一单位文本的文本表达向量中每一向量元素的加权值;
结果获得子单元,用于将每一单位文本的文本表达向量的相同维度下的向量元素加权值进行相加,并将每一相加结果除以所述目标文本的单位文本个数,得到所述目标文本的第一文本表达结果。
可选的,所述结果生成子单元还包括:
结果处理子单元,用于对所述第一文本表达结果进行处理,使所述第一文本表达结果是由第一元素和/或第二元素组成的向量。
可选的,所述表达结果匹配单元包括:
第一个数获得子单元,用于统计所述第一文本表达结果中存在的目标元素的个数,得到第一个数,其中,所述目标元素为所述第一元素或所述第二元素;
第二个数获得子单元,用于对于所述样本表达集合中每一样本文本的文本表达结果,确定该文本表达结果中存在的所述目标元素的个数,得到第二个数;
第一结果选择子单元,用于从所述样本表达集合中,选择与所述第一个数相同的各个第二个数对应的各个文本表达结果;
表达结果获得子单元,用于从所选择的各个文本表达结果中,选择与所述第一文本表达结果在表达形式上相同或相近的文本表达结果,作为第二文本表达结果。
可选的,所述表达结果获得子单元包括:
哈希索引生成子单元,用于利用所述第一文本表达结果,生成第一哈希索引;
哈希索引获得子单元,用于对于所选择的各个文本表达结果,获取利用该文本表达结果生成的第二哈希索引;
第二结果选择子单元,用于从获取的各个第二哈希索引中,选择与所述第一哈希索引相同的第二哈希索引对应的文本表达结果。
本申请实施例还提供了一种文本检索设备,所述设备包括存储器和处理器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于运行所述程序代码,其中,所述程序代码运行时执行上述任一项所述的方法。
本申请实施例还提供了一种计算机程序产品,所述计算机程序产品在终端设备上运行时,使得所述终端设备执行上述任一项所述的方法。
本申请实施例提供的一种文本检索方法、装置、设备及程序产品,在获取到待检索的目标文本后,可以生成该目标文本的第一文本表达结果,然后,将该第一表达结果与预先构建的样本表达集合进行匹配,得到该样本表达集合中每一与第一表达结果在表达形式上相同或相近的文本表达结果,作为第二文本表达结果,进而,可以将第二文本表达结果对应的样本文本,作为与目标文本在语义上相同或相近的文本。本申请实施例通过匹配文本表达结果的方式,即可快速检索到与目标文本在语义上相同或相近的文本,由于不需要利用深度学习等高计算量的算法进行语义扩展,故而,不存在因计算量过大导致的检索时间过长、占用资源过多的问题,从而提高了用户体验。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种文本检索方法的流程示意图;
图2为本申请实施例提供的生成目标文本的第一文本表达结果的流程示意图;
图3为本申请实施例提供的将第一文本表达结果与预先构建的样本表达集合进行匹配以得到各个第二文本表达结果的流程示意图;
图4为本申请实施例提供的一种文本检索装置的结构示意图。
具体实施方式
在一些文本检索方法中,为了能够尽可能全面的检索到与待检索文本语义相同或相似的文本,通常是采用深度学习等高计算量的算法对待检索文本进行语义扩展。虽然这种类型的算法能较好的实现对待检索文本的语义扩展,即,能够检索到更多的与待检索文本语义相同或相近的文本,但存在计算量过大的问题,并且,在利用这种高计算量的算法进行文本检索时,会因为算法的计算量过大,导致检索时间过长且占用过多的计算资源,从而影响了用户体验。
为解决上述缺陷,本申请实施例提供了一种文本检索方法,在获取到待检索的目标文本后,首先生成表征目标文本语义信息的文本表达结果,然后将该文本表达结果与预先构建的样本表达集合中的每一文本表达结果进行匹配,以匹配得到与目标文本的文本表达结果在表达形式上相同或相近的一个或多个文本表达结果,接着,可以将这些匹配出的文本表达结果对应的文本,作为对目标文本的语义扩展结果。可见,本申请实施例通过匹配文本表达结果的方式,即可快速检索到与目标文本在语义上相同或相近的文本,由于不需要利用深度学习等高计算量的算法进行语义扩展,故而,不存在因计算量过大导致的检索时间过长、占用资源过多的问题,从而提高了用户体验。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
第一实施例
参见图1,为本实施例提供的一种文本检索方法的流程示意图,该方法包括以下步骤:
S101:获取待检索的目标文本。
在本实施例中,将采用本实施例进行检索的任一文本定义为目标文本。并且,本实施例不限制目标文本的语种类型,比如,目标文本可以是中文文本、或英文文本等;本实施例也不限制目标文本的长度,比如,目标文本可以是词语、句子文本、也可以是篇章级文本。
可以理解的是,句子文本指的是一个句子,是各个词语的集合;篇章级文本指的是一连串句子的集合。在获取到词语、或句子文本、或篇章级文本作为待检索的目标文本后,可按照后续步骤对其进行语义扩展,以扩展得到与之在语义上相同以及相近的文本。
S102:生成目标文本的第一文本表达结果。
在本实施例中,通过步骤S101获取待检索的目标文本后,为了能够对目标文本实现更快速、便捷地检索,可以对目标文本进行分词处理,以获取目标文本中包含的各个词语,再计算得到各个词语的词向量,用以生成表征目标文本语义信息的文本表达结果,并将该文本表达结果定义为第一文本表达结果。
其中,当目标文本为词语时,则不需要进行分词处理,可直接计算出该词语的词向量,用以生成表征该词语语义信息的第一文本表达结果;当目标文本为句子文本时,可以利用现有或未来出现的分词方法对目标文本进行分词处理,得到目标文本中的各个词语,再计算得到各个词语的词向量,用以生成表征该句子文本语义信息的第一文本表达结果;当目标文本为篇章级文本时,需要先对目标文本进行分句处理,得到目标文本的各个分句文本,再利用分词方法对各个分句文本进行分词处理,得到目标文本中的各个词语,接着,再计算各个词语的词向量,用以生成表征该篇章级文本语义信息的第一文本表达结果。
需要说明的是,本步骤S102的具体实现方式将在第二实施例中介绍。
S103:将第一文本表达结果与预先构建的样本表达集合进行匹配,得到各个第二文本表达结果。
其中,预先构建的样本表达集合中包括了各个样本文本的文本表达结果,这里的各个样本文本可以预先收集得到的。需要说明的是,样本文本的文本表达结果与目标文本的第一文本表达结果的形式类似,对样本文本与目标文本进行处理以得到相应文本表达结果的处理过程一致,均是对文本进行分词后得到的文本表达结果。
需要说明的是,本实施例不限制样本文本的语种类型,比如,样本文本可以是中文文本、或英文文本等;本实施例也不限制样本文本的长度,比如,样本文本可以是词语、句子文本、也可以是篇章文本。通常情况下,需要保证目标文本和样本文本具有相同的语种类型以及相同的长度类型,关于长度类型,一种可选的实现方式是,目标文本和样本文本均可以为词语、或句子或篇章级文本。
在本实施例中,通过步骤S102生成目标文本的第一文本表达结果后,可以将该第一文本表达结果与预先构建的样本表达集合进行匹配,可以找出该样本表达集合中包含的所有与第一表达结果在表达形式上相同或相近的文本表达结果,并将找出的这些文本表达结果中的每一文本表达结果定义为第二文本表达结果。
需要说明的是,本步骤S103的具体实现方式将在第三实施例中介绍。
S104:将第二文本表达结果对应的样本文本,作为与目标文本在语义上相同或相近的文本。
在本实施例中,由于通过步骤S103得到的各个第二文本表达结果是与第一表达结果在表达形式上相同或相近的文本表达结果,则表明在这些第二文本表达结果中,每个第二文本表达结果对应的样本文本与目标文本的语义均是相同或相近的。所以,可以将每个第二文本表达结果对应的样本文本,作为与目标文本在语义上相同或相近的文本,即,完成了对目标文本的语义扩展。
综上,在本申请实施例提供的文本检索方法中,在获取到待检索的目标文本后,可以生成该目标文本的第一文本表达结果,然后,将该第一表达结果与预先构建的样本表达集合进行匹配,得到该样本表达集合中每一与第一表达结果在表达形式上相同或相近的文本表达结果,作为第二文本表达结果,进而,可以将第二文本表达结果对应的样本文本,作为与目标文本在语义上相同或相近的文本。可见,本申请实施例通过匹配文本表达结果的方式,即可快速检索到与目标文本在语义上相同或相近的文本,由于不需要利用深度学习等高计算量的算法进行语义扩展,故而,不存在因计算量过大导致的检索时间过长、占用资源过多的问题,从而提高了用户体验。
第二实施例
在本实施例中,当通过第一实施例中的步骤S101获取待检索的目标文本后,可以生成该目标文本中包含的各个词语的词向量,接着,在对这些词向量做进一步处理后,可以得到表征目标文本的语义信息的第一文本表达结果。一种可选的实现方式是,第一文本表达结果可以是由第一元素和/或第二元素组成的向量,相应的,由于第二文本表达结果是样本表达集合中与第一文本表达结果在表达形式上相同或相近的文本表达结果,则第二文本表达结果也可以是由第一元素和/或第二元素组成的向量。
其中,一种可选的实现方式是,第一元素为0,第二元素为1;或者,第一元素为1,第二元素为0。则相应的,第一文本表达结果和第二文本表达结果均可以是由0和/或1组成的向量。
接下来,本实施例将对第一实施例中的步骤S102“生成目标文本的第一文本表达结果”的具体实现方式进行介绍。
参见图2,其示出了本实施例提供的生成目标文本的第一文本表达结果的流程示意图,该流程包括以下步骤:
S201:将目标文本按照预设的文本单位进行切分,得到各个单位文本,或将目标文本作为一个单位文本。
在本实施例中,通过步骤S101获取待检索的目标文本后,为了能够对目标文本实现更快速、便捷地检索,可以利用现有或未来出现的分字或分词方法,将目标文本按照预设的文本单位进行切分,得到目标文本包含的各个单位文本,其中,预设的文本单位可以是字或词等。当预设的文本单位为字时,可以利用分字方法,将目标文本以字为单位进行切分,得到目标文本包含的各个字;当预设的文本单位为词时,可以利用分词方法,将目标文本以词语为单位进行切分,得到目标文本包含的各个词语。需要说明的是,当目标文本本身为字或词语时,则可以直接将其作为一个单位文本,无需进行切分操作。
S202:生成每一单位文本的文本表达向量。
在本实施例中,通过步骤S201将目标文本按照预设的文本单位进行切分,得到各个单位文本后,可以对各个单位文本进行数据处理,以生成表征每一单位文本的语义信息的文本表达向量。需要说明的是,本实施例不限制每一单位文本的文本表达向量的向量维度,比如,可以是500维左右,或者不低于1000维,等等。
具体来讲,以预设的文本单位为词为例,在对目标文本按照词语为单位进行切分以得到各个词语后,可以利用预先构建好的Word2Vec模型,生成每个词语对应的Word2Vec词向量,并将每个词语对应的Word2Vec词向量作为该词语的文本表达向量。
S203:利用每一单位文本的文本表达向量,生成目标文本的第一文本表达结果。
在本实施例中,通过步骤S202生成表征每一单位文本的语义信息的文本表达向量后,可以对每一单位文本的文本表达向量进行数据处理,以生成表征目标文本的语义信息的第一文本表达结果。
具体来讲,在本实施例的一种实现方式中,本步骤S203的具体实现方式可以包括以下步骤A1-A2:
步骤A1:生成每一单位文本对应的权重值,该权重值表征了对应单位文本的重要度。
在本实现方式中,每一单位文本在整个目标文本中的重要程度是不同的。比如,以单位文本为词语为例,每一词语的重要度可以随着该词语在目标文本中出现的次数成正比增加,即,出现的次数越多,说明该词语越重要;但同时该词语也会随着其在语料库中出现的频率成反比下降,即,如果该词语是语料库中经常出现的普通词,如词语“的”、“好的”等,其在语料库中出现的频率较高,则表明该词语的重要度较低。因此,可以结合每一单位文本在目标文本以及在语料库中的重现频度,生成每一单位文本对应的权重值。
具体来讲,一种可选的实现方式是,每一单位文本对应的权重值可以是对应单位文本的词频-逆向文件频率值。
在本实现方式中,每一单位文本对应的权重值为对应单位文本的词频-逆向文件频率值,其中,单位文本的词频-逆向文件频率值指的就是单位文本的词频(termfrequency,简称TF)与单位文本的逆向文件频率(Inverse Document Frequency,简称IDF)的乘积,即TF*IDF。
由此,在计算每一单位文本对应的权重值时,首先可以计算出每一单位文本对应的词频TF,即,计算出该单位文本在目标文本中出现的频率,以单位文本为词语为例,计算该词语的词频TF的具体方法为:(该词语在目标文本中出现的次数)/(目标文本包含词语的总数),这个比值越大,表明该词语的词频越高,即该词语在目标文本中重要性越高,所占权重也越大。例如:假设对目标文本进行分词后,得到目标文本包含的500个词语,而词语“鸟巢”在其中出现的次数是20次,则词语“鸟巢”对应的TF值即为:20/500=0.04。
其次,还需要计算出每一单位文本对应的逆向文件频率IDF,即,计算出该单位文本在语料库中出现的频率,以单位文本为词语为例,计算该词语逆向文件频率IDF的算法为:log(总文本数/出现该词语的文本数),这个比值越小,表明该词语的逆向文件频率IDF越低,即在文本库中,出现该词语的文本数越多。例如:假设文本库中共包含有50个文本,其中,2个文本中出现过词语“鸟巢”,则词语“鸟巢”对应的IDF值即为:log(50/2)。
进而,在计算出每一单位文本对应的词频TF和逆向文件频率IDF后,可以将二者的乘积,即词频-逆向文件频率值(TF*IDF),作为每一单位文本对应的权重值,例如,基于上述两个例子,计算出词语“鸟巢”对应的TF值为0.04,IDF值为log(50/2),则词语“鸟巢”对应的权重值即为0.04与log(50/2)的乘积结果0.05592。
步骤A2:利用每一单位文本对应的文本表达向量和权重值,生成目标文本的第一文本表达结果。
在本实现方式中,通过步骤A1生成每一单位文本对应的权重值后,结合通过上步骤S202生成的表征每一单位文本语义信息的文本表达向量,可以生成表征目标文本的语义信息的第一文本表达结果。
具体来讲,在本实施例的一种实现方式中,本步骤A2的具体实现方式可以包括以下步骤A21-A22:
步骤A21:将每一单位文本的文本表达向量中的每一向量元素值乘以对应单位文本的权重值,得到每一单位文本的文本表达向量中每一向量元素的加权值。
对于每一单元文本,可以将该单位文本对应的文本表达向量中的每一维度的向量元素值均乘以该单位文本对应的权重值,得到该单位文本对应的文本表达向量中每一维度的向量元素加权值。
步骤A22:将每一单位文本的文本表达向量的相同维度下的向量元素加权值进行相加,并将每一相加结果除以所述目标文本的单位文本个数,得到所述目标文本的第一文本表达结果。
通过步骤A21得到目标文本中每一单位文本的文本表达向量中每一向量元素的加权值后,可以将每一单位文本对应的文本表达向量的相同维度下的向量元素加权值进行相加,并将每一相加结果除以目标文本中单位文本的个数,即可生成表征目标文本的语义信息的文本表达结果,定义为Vector Search,可以将该文本表达结果Vector Search作为第一文本表达结果。
具体计算公式如下:
其中,VectorSearch为表征目标文本的语义信息的文本表达结果;∑word∈ SearchVectorword表示目标文本中每一单位文本对应的文本表达向量的相同维度下的向量元素加权值的相加结果;|word∈Search|表示目标文本中包含的单位文本的个数。
举例说明:假设单位文本为词语,且目标文本中包含了50个词语,而每一词语对应的文本表达向量是维度为1000的Word2Vec词向量,则可以将每个词语对应的1000维的Word2Vec词向量中每一维度的词向量元素值与该词语对应的权重值相乘,得到每一维度的词向量元素的加权值,再将这50个Word2Vec词向量中相同维度下的词向量元素的加权值相加,并除以目标文本中词语的总个数50,即可得到一个维度值同样为1000的向量,作为目标文本的文本表达结果VectorSearch。
进一步的,还可以对文本表达结果VectorSearch进行处理,转化为由第一元素和/或第二元素组成的向量表达结果,即转换为由0和/或1组成的向量表达结果,故而,可以将该向量表达结果作为第一文本表达结果。具体地,可以将向量VectorSearch中大于0的元素值替换为1,并将向量VectorSearch中小于或等于0的元素值替换为0,进而可以将VectorSearch转化为一个由元素值0和/或1组成的向量,定义为Vector Search',用以作为目标文本最终的第一文本表达结果,并与预先构建的样本表达集合进行匹配,得到各个同样由0和/或1构成的第二文本表达结果。
需要说明的是,样本表达集合中包括的各个样本文本的文本表达结果同样可以通过执行本实施例的上述步骤得到,只是在具体执行过程中,将目标文本替换为样本文本即可,相关内容可参见上述步骤S201-S203,在此不再赘述。
综上,本实施例通过利用Word2Vec模型等向量生成方式,生成了表征目标文本的语义信息的第一文本表达结果,有助于后续利用该第一文本表达结果对目标文本进行语义扩展。
第三实施例
需要说明的是,本实施例将对第一实施例中的步骤S103“将第一文本表达结果与预先构建的样本表达集合进行匹配,得到各个第二文本表达结果”的具体实现方式进行介绍。
参见图3,其示出了本实施例提供的将第一文本表达结果与预先构建的样本表达集合进行匹配以得到各个第二文本表达结果的流程示意图,该流程包括以下步骤:
S301:统计第一文本表达结果中存在的目标元素的个数,得到第一个数,其中,目标元素为第一元素或第二元素。
在本实施例中,通过上述第二实施例的介绍可知,目标文本的第一文本表达结果Vector Search'是一个由第一元素和/或第二元素组成的向量,其中,第一元素可以为0,第二元素可以为1;或者,第一元素可以为1,所述第二元素可以为0。将目标元素设为第一元素或第二元素后,可以统计出第一文本表达结果中存在的目标元素的个数,得到第一个数,定义为Searchdimension=1。
S302:对于样本表达集合中每一样本文本的文本表达结果,确定该文本表达结果中存在的目标元素的个数,得到第二个数。
在本实施例中,需要统计得到样本表达集合中每一文本表达结果中存在的目标元素的个数,得到第二个数,定义为Sizedimension=1。具体地,在进行统计时,可以在本步骤中统计得到样本表达集合中每一文本表达结果中存在的目标元素的个数,或者,预先统计得到样本表达集合中每一文本表达结果中存在的目标元素的个数,在本步骤中直接获取这些统计个数即可,避免重复统计。
S303:从样本表达集合中,选择与第一个数相同的各个第二个数对应的各个文本表达结果。
在本实施例中,通过步骤S301统计出第一文本表达结果中存在的目标元素的个数Searchdimension=1,以及通过步骤S302确定出样本表达集合中每一样本文本的文本表达结果中存在的目标元素的个数Sizedimension=1后,可以从样本表达集合中选择与Searchdimension=1相同的各个Sizedimension=1对应的各个文本表达结果。例如,假设第一文本表达结果中存在的目标元素的个数Searchdimension=1为150,即第一文本表达结果中存在150个目标元素,则可以在样本表达集合中选择出同样存在目标元素的个数Sizedimension=1为150的各个文本表达结果,即,可以从样本表达集合中选择出同样存在150个目标元素的各个文本表达结果。
S304:从所选择的各个文本表达结果中,选择与第一文本表达结果在表达形式上相同或相近的文本表达结果,作为第二文本表达结果。
在本实施例中,通过步骤S303从样本表达集合中,选择出与第一个数相同的各个第二个数对应的各个文本表达结果后,此时只是进行了粗略的筛选。进而,可以从所选择的各个文本表达结果中,选择出与第一文本表达结果在表达形式上相同或相近的文本表达结果,作为第二文本表达结果,而这些选择出来的每个第二文本表达结果对应的样本文本,即为与目标文本在语义上相同或相近的文本,此时,完成对目标文本的语义扩展。
具体来讲,在本实施例的一种实现方式中,本步骤S304的具体实现方式可以包括以下步骤B1-B3:
步骤B1:利用第一文本表达结果,生成第一哈希索引。
在本实现方式中,为了快速从所选择的各个文本表达结果中,选择出与第一文本表达结果在表达形式上相同或相近的第二文本表达结果,首先,可以利用现有或未来出现的哈希索引计算方法,生成第一文本表达结果对应的哈希索引,这里,将其定义为第一哈希索引。例如,假设第一文本表达结果是由第一元素1和第二元素0组成的一个1000维的0-1向量,则可以利用哈希算法,计算出该向量对应的哈希索引。
步骤B2:对于所选择的各个文本表达结果,获取利用该文本表达结果生成的第二哈希索引。
在本实现方式中,为了快速的从所选择的各个文本表达结果(通过步骤S303从样本表达集合中选择的)中,选择出与第一文本表达结果在表达形式上相同或相近的第二文本表达结果,一种可选的实现方式是,同样利用上述对第一文本表达结果进行哈希索引计算的方法,生成所选择的各个文本表达结果各自对应的哈希索引,这里,将生成的每一哈希索引定义为第二哈希索引。
具体地,可以在本步骤中计算所选择的各个文本表达结果对应的第二哈希索引;也可以预先计算样本表达集合中每一文本表达结果对应的哈希索引,而在本步骤中,直接获取所选择的各个文本表达结果对应的第二哈希索引,避免重复计算。
需要说明的是,对于从样本表达集合中所选择的文本表达结果,其可能与第一文本表达结果相同,也可能不同,比如,虽然二者都是由第一元素1和第二元素0组成的一个1000维的0-1向量,但两个向量在相同维度上的向量元素值可能不同、也可能相同。
步骤B3:从获取的各个第二哈希索引中,选择与第一哈希索引相同的第二哈希索引对应的文本表达结果。
在本实现方式中,通过步骤B1生成了第一文本表达结果对应的第一哈希索引,以及通过步骤B2获取到所选择的各个文本表达结果各自对应的第二哈希索引后,可以从获取的各个第二哈希索引中,选择出与第一哈希索引相同的第二哈希索引对应的文本表达结果,作为第二文本表达结果。
可见,基于哈希索引的检索方式,能够快速的从所选择的各个文本表达结果中,检索出与第一文本表达结果在表达形式上相同或相近的第二文本表达结果,提高了检索速度并减少了资源占用。
需要说明的是,在步骤S304的具体实现过程中,还可以采用倒排索引或者位图索引等其他索引方式,检索出与第一文本表达结果在表达形式上相同或相近的第二文本表达结果,进而完成对目标文本的语义扩展,具体索引方式的选择可根据实际情况进行设定,本申请实施例对此不进行限制。
综上,本实施例通过哈希索引匹配的方式,从样本表达集合中快速检索出各个与第一文本表达结果在表达形式上相同或相近的第二文本表达结果,并将每个第二文本表达结果对应的样本文本作为与目标文本在语义上相同或相近的文本,从而完成了对目标文本的语义扩展,不但提高了检索速度,还减少了检索过程中的资源占用,从而提高了用户体验。
第四实施例
本实施例将对一种文本检索装置进行介绍,相关内容请参见上述方法实施例。
参见图4,为本实施例提供的一种文本检索装置的结构示意图,该装置包括:
目标文本获取单元401,用于获取待检索的目标文本;
表达结果生成单元402,用于生成所述目标文本的第一文本表达结果;
表达结果匹配单元403,用于将所述第一文本表达结果与预先构建的样本表达集合进行匹配,得到各个第二文本表达结果,其中,所述样本表达集合中包括各个样本文本的文本表达结果,所述第二文本表达结果是所述样本表达集合中与所述第一表达结果在表达形式上相同或相近的文本表达结果;
检索文本获得单元404,用于将所述第二文本表达结果对应的样本文本,作为与所述目标文本在语义上相同或相近的文本。
在实施例的一种实现方式中,所述表达结果生成单元402包括:
单位文本获得子单元,用于将所述目标文本按照预设的文本单位进行切分,得到各个单位文本,或将所述目标文本作为一个单位文本;
表达向量生成子单元,用于生成每一单位文本的文本表达向量;
表达结果生成子单元,用于利用每一单位文本的文本表达向量,生成所述目标文本的第一文本表达结果。
在实施例的一种实现方式中,所述表达结果生成子单元包括:
权重值生成子单元,用于生成每一单位文本对应的权重值,所述权重值表征了对应单位文本的重要度;
结果生成子单元,用于利用每一单位文本对应的文本表达向量和权重值,生成所述目标文本的第一文本表达结果。
在实施例的一种实现方式中,所述结果生成子单元包括:
加权值获得子单元,用于将每一单位文本的文本表达向量中的每一向量元素值乘以对应单位文本的权重值,得到每一单位文本的文本表达向量中每一向量元素的加权值;
结果获得子单元,用于将每一单位文本的文本表达向量的相同维度下的向量元素加权值进行相加,并将每一相加结果除以所述目标文本的单位文本个数,得到所述目标文本的第一文本表达结果。
在实施例的一种实现方式中,所述结果生成子单元还包括:
结果处理子单元,用于对所述第一文本表达结果进行处理,使所述第一文本表达结果是由第一元素和/或第二元素组成的向量。
在实施例的一种实现方式中,所述表达结果匹配单元403包括:
第一个数获得子单元,用于统计所述第一文本表达结果中存在的目标元素的个数,得到第一个数,其中,所述目标元素为所述第一元素或所述第二元素;
第二个数获得子单元,用于对于所述样本表达集合中每一样本文本的文本表达结果,确定该文本表达结果中存在的所述目标元素的个数,得到第二个数;
第一结果选择子单元,用于从所述样本表达集合中,选择与所述第一个数相同的各个第二个数对应的各个文本表达结果;
表达结果获得子单元,用于从所选择的各个文本表达结果中,选择与所述第一文本表达结果在表达形式上相同或相近的文本表达结果,作为第二文本表达结果。
在实施例的一种实现方式中,所述表达结果获得子单元包括:
哈希索引生成子单元,用于利用所述第一文本表达结果,生成第一哈希索引;
哈希索引获得子单元,用于对于所选择的各个文本表达结果,获取利用该文本表达结果生成的第二哈希索引;
第二结果选择子单元,用于从获取的各个第二哈希索引中,选择与所述第一哈希索引相同的第二哈希索引对应的文本表达结果。
综上,在本申请实施例提供的文本检索装置中,在获取到待检索的目标文本后,可以生成该目标文本的第一文本表达结果,然后,将该第一表达结果与预先构建的样本表达集合进行匹配,得到该样本表达集合中每一与第一表达结果在表达形式上相同或相近的文本表达结果,作为第二文本表达结果,进而,可以将第二文本表达结果对应的样本文本,作为与目标文本在语义上相同或相近的文本。可见,本申请实施例通过匹配文本表达结果的方式,即可快速检索到与目标文本在语义上相同或相近的文本,由于不需要利用深度学习等高计算量的算法进行语义扩展,故而,不存在因计算量过大导致的检索时间过长、占用资源过多的问题,从而提高了用户体验。
进一步地,本申请实施例还提供了一种文本检索设备,所述设备包括存储器和处理器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于运行所述程序代码,其中,所述程序代码运行时执行上述文本检索方法的任一种实现方法。
进一步地,本申请实施例还提供了一种计算机程序产品,所述计算机程序产品在终端设备上运行时,使得所述终端设备执行上述文本检索方法的任一种实现方法。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如媒体网关等网络通信设备,等等)执行本申请各个实施例或者实施例的某些部分所述的方法。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、设备和程序产品而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种文本检索方法,其特征在于,包括:
获取待检索的目标文本;
将所述目标文本按照预设的文本单位进行切分,得到各个单位文本,或将所述目标文本作为一个单位文本;
生成每一单位文本的文本表达向量;
利用每一单位文本的文本表达向量,生成所述目标文本的第一文本表达结果;所述第一文本表达结果表征所述目标文本的语义信息;将所述第一文本表达结果与预先构建的样本表达集合进行匹配,得到各个第二文本表达结果,其中,所述样本表达集合中包括各个样本文本的文本表达结果,所述第二文本表达结果是所述样本表达集合中与所述第一文本表达结果在表达形式上相同或相近的文本表达结果;
将所述第二文本表达结果对应的样本文本,作为与所述目标文本在语义上相同或相近的文本。
2.根据权利要求1所述的方法,其特征在于,所述利用每一单位文本的文本表达向量,生成所述目标文本的第一文本表达结果,包括:
生成每一单位文本对应的权重值,所述权重值表征了对应单位文本的重要度;
利用每一单位文本对应的文本表达向量和权重值,生成所述目标文本的第一文本表达结果。
3.根据权利要求2所述的方法,其特征在于,所述利用每一单位文本对应的文本表达向量和权重值,生成所述目标文本的第一文本表达结果,包括:
将每一单位文本的文本表达向量中的每一向量元素值乘以对应单位文本的权重值,得到每一单位文本的文本表达向量中每一向量元素的加权值;
将每一单位文本的文本表达向量的相同维度下的向量元素加权值进行相加,并将每一相加结果除以所述目标文本的单位文本个数,得到所述目标文本的第一文本表达结果。
4.根据权利要求3所述的方法,其特征在于,所述得到所述目标文本的第一文本表达结果之后,还包括:
对所述第一文本表达结果进行处理,使所述第一文本表达结果是由第一元素和/或第二元素组成的向量。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述将所述第一文本表达结果与预先构建的样本表达集合进行匹配,得到各个第二文本表达结果,包括:
统计所述第一文本表达结果中存在的目标元素的个数,得到第一个数,其中,所述目标元素为第一元素或第二元素;
对于所述样本表达集合中每一样本文本的文本表达结果,确定该文本表达结果中存在的所述目标元素的个数,得到第二个数;
从所述样本表达集合中,选择与所述第一个数相同的各个第二个数对应的各个文本表达结果;
从所选择的各个文本表达结果中,选择与所述第一文本表达结果在表达形式上相同或相近的文本表达结果,作为第二文本表达结果。
6.根据权利要求5所述的方法,其特征在于,所述从所选择的各个文本表达结果中,选择与所述第一文本表达结果在表达形式上相同或相近的文本表达结果,包括:
利用所述第一文本表达结果,生成第一哈希索引;
对于所选择的各个文本表达结果,获取利用该文本表达结果生成的第二哈希索引;
从获取的各个第二哈希索引中,选择与所述第一哈希索引相同的第二哈希索引对应的文本表达结果。
7.一种文本检索装置,其特征在于,包括:
目标文本获取单元,用于获取待检索的目标文本;
表达结果生成单元,用于将所述目标文本按照预设的文本单位进行切分,得到各个单位文本,或将所述目标文本作为一个单位文本;生成每一单位文本的文本表达向量;利用每一单位文本的文本表达向量,生成所述目标文本的第一文本表达结果;所述第一文本表达结果表征所述目标文本的语义信息;
表达结果匹配单元,用于将所述第一文本表达结果与预先构建的样本表达集合进行匹配,得到各个第二文本表达结果,其中,所述样本表达集合中包括各个样本文本的文本表达结果,所述第二文本表达结果是所述样本表达集合中与所述第一文本表达结果在表达形式上相同或相近的文本表达结果;
检索文本获得单元,用于将所述第二文本表达结果对应的样本文本,作为与所述目标文本在语义上相同或相近的文本。
8.一种文本检索设备,其特征在于,所述设备包括存储器和处理器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于运行所述程序代码,其中,所述程序代码运行时执行如权利要求1-6中任一项所述的文本检索方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811572936.6A CN109684442B (zh) | 2018-12-21 | 2018-12-21 | 一种文本检索方法、装置、设备及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811572936.6A CN109684442B (zh) | 2018-12-21 | 2018-12-21 | 一种文本检索方法、装置、设备及程序产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109684442A CN109684442A (zh) | 2019-04-26 |
CN109684442B true CN109684442B (zh) | 2021-03-23 |
Family
ID=66188791
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811572936.6A Active CN109684442B (zh) | 2018-12-21 | 2018-12-21 | 一种文本检索方法、装置、设备及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109684442B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110750616B (zh) * | 2019-10-16 | 2023-02-03 | 网易(杭州)网络有限公司 | 检索式聊天方法、装置以及计算机设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101493841A (zh) * | 2009-02-23 | 2009-07-29 | 深圳市中科新业信息科技发展有限公司 | 一种搜索方法及搜索装置 |
CN106407280A (zh) * | 2016-08-26 | 2017-02-15 | 合网络技术(北京)有限公司 | 查询目标匹配方法及装置 |
CN106815226A (zh) * | 2015-11-27 | 2017-06-09 | 阿里巴巴集团控股有限公司 | 文本匹配方法和装置 |
WO2018076243A1 (zh) * | 2016-10-27 | 2018-05-03 | 华为技术有限公司 | 一种查找方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106156154A (zh) * | 2015-04-14 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 相似文本的检索方法及其装置 |
CN106649868B (zh) * | 2016-12-30 | 2019-03-26 | 首都师范大学 | 问答匹配方法及装置 |
-
2018
- 2018-12-21 CN CN201811572936.6A patent/CN109684442B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101493841A (zh) * | 2009-02-23 | 2009-07-29 | 深圳市中科新业信息科技发展有限公司 | 一种搜索方法及搜索装置 |
CN106815226A (zh) * | 2015-11-27 | 2017-06-09 | 阿里巴巴集团控股有限公司 | 文本匹配方法和装置 |
CN106407280A (zh) * | 2016-08-26 | 2017-02-15 | 合网络技术(北京)有限公司 | 查询目标匹配方法及装置 |
WO2018076243A1 (zh) * | 2016-10-27 | 2018-05-03 | 华为技术有限公司 | 一种查找方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109684442A (zh) | 2019-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11544474B2 (en) | Generation of text from structured data | |
CN110019794B (zh) | 文本资源的分类方法、装置、存储介质及电子装置 | |
CN109614499B (zh) | 一种词典生成方法、新词发现方法、装置及电子设备 | |
CN107229610A (zh) | 一种情感数据的分析方法及装置 | |
CN105069143B (zh) | 提取文档中关键词的方法及装置 | |
CN109918660B (zh) | 一种基于TextRank的关键词提取方法和装置 | |
CN107885717B (zh) | 一种关键词提取方法及装置 | |
CN110472043B (zh) | 一种针对评论文本的聚类方法及装置 | |
CN110598201B (zh) | 从概率输入识别准确转录 | |
JP6705318B2 (ja) | 対訳辞書作成装置、対訳辞書作成方法、及び対訳辞書作成プログラム | |
CN110941959A (zh) | 文本违规检测、文本还原方法、数据处理方法及设备 | |
CN105335375B (zh) | 主题挖掘方法和装置 | |
US8224642B2 (en) | Automated identification of documents as not belonging to any language | |
CN110019670A (zh) | 一种文本检索方法及装置 | |
CN109684442B (zh) | 一种文本检索方法、装置、设备及程序产品 | |
CN113407584A (zh) | 标签抽取方法、装置、设备及存储介质 | |
CN111125329B (zh) | 一种文本信息筛选方法、装置及设备 | |
CN107665222B (zh) | 关键词的拓展方法和装置 | |
JP2011090463A (ja) | 文書検索システム、情報処理装置およびプログラム | |
CN109344397B (zh) | 文本特征词语的提取方法及装置、存储介质及程序产品 | |
CN110609997B (zh) | 生成文本的摘要的方法和装置 | |
CN115577082A (zh) | 文档关键词的提取方法、装置、电子设备及存储介质 | |
CN114385777A (zh) | 文本数据处理方法、装置、计算机设备和存储介质 | |
CN110852078A (zh) | 生成标题的方法和装置 | |
CN115455975A (zh) | 基于多模型融合决策提取主题关键词的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |