CN111737406B - 文本检索方法、装置及设备、文本检索模型的训练方法 - Google Patents
文本检索方法、装置及设备、文本检索模型的训练方法 Download PDFInfo
- Publication number
- CN111737406B CN111737406B CN202010737496.6A CN202010737496A CN111737406B CN 111737406 B CN111737406 B CN 111737406B CN 202010737496 A CN202010737496 A CN 202010737496A CN 111737406 B CN111737406 B CN 111737406B
- Authority
- CN
- China
- Prior art keywords
- text
- feature vector
- preset
- training
- 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
- 238000012549 training Methods 0.000 title claims abstract description 383
- 238000000034 method Methods 0.000 title claims abstract description 154
- 239000013598 vector Substances 0.000 claims abstract description 611
- 230000006870 function Effects 0.000 claims description 47
- 238000007906 compression Methods 0.000 claims description 42
- 230000006835 compression Effects 0.000 claims description 37
- 230000015654 memory Effects 0.000 claims description 11
- 238000003860 storage Methods 0.000 claims description 8
- 238000000605 extraction Methods 0.000 claims description 4
- 238000013507 mapping Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 description 70
- 238000013528 artificial neural network Methods 0.000 description 33
- 238000010586 diagram Methods 0.000 description 23
- 238000009826 distribution Methods 0.000 description 18
- 238000012545 processing Methods 0.000 description 12
- 238000013473 artificial intelligence Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 201000004624 Dermatitis Diseases 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000013213 extrapolation Methods 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 238000000513 principal component analysis Methods 0.000 description 2
- 238000010845 search algorithm Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000011946 reduction process Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 241000894007 species Species 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
- G06F16/325—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/335—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
- G06F16/355—Class or cluster creation or modification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
公开了一种文本检索方法、装置及设备、文本检索模型的训练方法,其中该文本检索方法包括:提取目标文本的文本特征,生成目标文本的文本特征向量;基于该目标文本的文本特征向量、以及预设文本库中至少一个预设文本的文本特征向量,生成该目标文本的扩展文本特征向量;基于目标文本的文本特征向量及扩展文本特征向量,生成该目标文本的二进制编码;基于该目标文本的二进制编码及预设文本库中至少一个预设文本的二进制编码,在所述预设文本库中检索与该目标文本匹配的文本以生成文本检索结果。
Description
技术领域
本公开涉及文本检索领域,更具体地涉及一种文本检索方法、装置及设备、文本检索模型的训练方法及计算机可读存储介质。
背景技术
随着文本检索在民用和商用领域的广泛应用,文本检索在大规模的数据检索中具有重要作用,其也面临着更高的要求。
目前在文本检索中,通过将文本映射为其所对应的哈希编码(即二进制编码),将两个文档的相似度计算转换为计算哈希编码之间的汉明距离,从而得到与目标文本相似度最高的文本。然而,由于该检索方法仅针对单个文本进行建模,忽略了文本与文本之间的关系,使得所生成的哈希编码中仅包括文本的局部语义特征,无法捕捉文本与文本之间的全局信息,其检索的准确率较低,且检索速度较慢。
因此,需要一种在文本检索的前提下,具有较高的文本检索准确率及较高的文本检索速度的文本检索方法,且该方法具有较高的可靠性及鲁棒性。
发明内容
针对以上问题,本公开提供了一种文本检索方法、文本检索装置、文本检索设备、文本检索模型的训练方法及介质。利用本公开提供的文本检索方法可以在实现文本检索的基础上,具有较高的文本检索准确率及较高的文本检索速度,且该方法具有较高的可靠性及鲁棒性。
根据本公开的一方面,提出了一种文本检索方法,包括:提取目标文本的文本特征,生成目标文本的文本特征向量;基于该目标文本的文本特征向量、以及预设文本库中至少一个预设文本的文本特征向量,生成该目标文本的扩展文本特征向量;基于目标文本的文本特征向量及扩展文本特征向量,生成该目标文本的二进制编码;基于该目标文本的二进制编码及预设文本库中至少一个预设文本的二进制编码,在所述预设文本库中检索与该目标文本匹配的文本以生成文本检索结果。
在一些实施例中,所述预设文本库中至少一个预设文本的二进制编码是基于该预设文本的文本特征向量以及该预设文本的扩展文本特征向量生成的,且所述扩展文本特征向量是基于该预设文本的邻居文本生成的,其中,所述邻居文本是所述预设文本库中与所述预设文本的相似度满足预定要求的文本。
在一些实施例中,所述预设文本的文本特征向量与所述邻居文本的文本特征向量的余弦距离大于预设距离阈值。
在一些实施例中,基于该目标文本的文本特征向量以及预设文本库中至少一个预设文本的文本特征向量生成该目标文本的扩展文本特征向量包括:计算该目标文本的文本特征向量与预设文本库中至少一个预设文本的文本特征向量的余弦距离;将余弦距离大于预设距离阈值的预设文本确定为该目标文本的邻居文本;基于所述邻居文本,生成该目标文本的扩展文本特征向量。
在一些实施例中,基于目标文本的文本特征向量及扩展文本特征向量生成该目标文本的二进制编码包括:基于该目标文本的文本特征向量及目标文本的扩展文本特征向量,生成该目标文本的特征压缩向量;将该目标文本的特征压缩向量映射为二进制编码,生成该目标文本的二进制编码。
在一些实施例中,基于该目标文本的文本特征向量及目标文本的扩展文本特征向量生成该目标文本的特征压缩向量包括:对该文本特征向量进行压缩,生成该目标文本的第一特征压缩向量;对该扩展文本特征向量进行压缩,生成该目标文本的第二特征压缩向量;将所述第一特征压缩向量与所述第二特征压缩向量拼接,生成目标文本的文本特征压缩向量;且其中,所述第一特征压缩向量的维数小于所述文本特征向量的维数,所述第二特征压缩向量的维数小于所述扩展文本特征向量的维数。
在一些实施例中,基于该目标文本的二进制编码及预设文本库中至少一个预设文本的二进制编码,在所述预设文本库中检索与该目标文本匹配的文本以生成文本检索结果包括:计算目标文本的二进制编码与预设文本库中至少一个预设文本的二进制编码的汉明距离;基于所述汉明距离,确定文本检索结果。
根据本公开的另一方面,提出了一种文本检索模型的训练方法,所述文本检索模型包括向量生成模块、文本间关系生成模块、二进制编码模块、二进制解码模块,所述训练方法包括:利用所述向量生成模块生成训练文本库中的每一个训练文本的文本特征向量,对于所述训练文本库中的每一个训练文本,利用所述文本间关系生成模块,基于该训练文本的文本特征向量以及所述训练文本库中其它训练文本的文本特征向量,确定在所述其它训练文本中确定该训练文本的邻居文本,并基于所确定的邻居文本生成该训练文本的扩展文本特征向量,其中,所述邻居文本是所述预设文本库中与所述预设文本的相似度满足预定要求的文本;利用所述二进制编码模块,基于该训练文本的文本特征向量、以及该训练文本的扩展文本特征向量,生成该训练文本的预测二进制编码;利用二进制解码模块,基于该预测二进制编码,生成该训练文本的预测文本特征向量以及该训练文本的预测扩展文本特征向量;基于该训练文本的文本特征向量、该训练文本的扩展文本特征向量、该训练文本的预测文本特征向量、以及该训练文本的预测扩展文本特征向量,生成损失函数;基于该损失函数,对所述二进制编码模块、二进制解码模块进行联合训练。
在一些实施例中,通过训练所述二进制编码模块、二进制解码模块,使得所述该训练文本的预测文本特征向量与该训练文本的文本特征向量的相似度超出第一阈值,该训练文本的预测扩展文本向量与该训练文本的扩展文本向量的相似度超出第二阈值,所述第一阈值和第二阈值相同或不同。
在一些实施例中,所述损失函数基于对数似然函数生成,且当所述对数似然函数的下界取得最大值时,所述损失函数具有最小值。
在一些实施例中,在完成对所述二进制编码模块、二进制解码模块的联合训练之后,所述训练文本库中的每一个训练文本具有其对应的文本特征向量以及二进制编码。
在一些实施例中,利用所述文本间关系生成模块确定该训练文本的邻居文本,并生成该训练文本的扩展文本特征向量包括:计算该训练文本的文本特征向量与训练文本库中至少一个其他训练文本的文本特征向量的余弦距离;将所述至少一个其他训练文本中余弦距离大于预设距离阈值的训练文本确定为该训练文本的邻居文本,以及基于所确定的邻居文本,生成该训练文本的扩展文本特征向量。
在一些实施例中,所述利用二进制解码模块基于该训练文本的文本特征向量以及该训练文本的扩展文本特征向量生成该训练文本的预测二进制编码包括:基于该训练文本的文本特征向量及训练文本的扩展文本特征向量,生成该训练文本的特征压缩向量;将该训练文本的特征压缩向量映射为二进制编码,生成该训练文本的预测二进制编码。
在一些实施例中,基于该训练文本的文本特征向量及训练文本的扩展文本特征向量生成该训练文本的特征压缩向量包括:对该文本特征向量进行压缩,生成该训练文本的第一特征压缩向量;对该扩展文本特征向量进行压缩,生成该训练文本的第二特征压缩向量;将所述第一特征压缩向量与所述第二特征压缩向量拼接,生成训练文本的文本特征压缩向量;且其中,所述第一特征压缩向量的维数小于所述文本特征向量的维数,所述第二特征压缩向量的维数小于所述扩展文本特征向量的维数。
在一些实施例中,利用二进制解码模块基于该预测二进制编码生成该训练文本的预测文本特征向量以及该训练文本的预测扩展文本特征向量包括:基于该训练文本的预测二进制编码,生成该训练文本的预测文本特征向量;基于该训练文本的预测二进制编码以及训练文本库中除该训练文本外其他训练文本的预测二进制编码,生成该训练文本的预测扩展文本特征向量。
在一些实施例中,基于该训练文本的预测二进制编码生成该训练文本的预测文本特征向量包括:对该训练文本中的每一个字,计算由该预测二进制编码生成该字的概率,得到该字的生成概率;将该训练文本中每一个字的生成概率拼接,得到该训练文本的预测文本特征向量。
在一些实施例中,基于该训练文本的预测二进制编码以及训练文本库中除该训练文本外其他训练文本的预测二进制编码,生成该训练文本的预测扩展文本特征向量包括:对所述其他训练文本中的每一个其他训练文本,计算该训练文本的预测二进制编码与该其他训练文本的预测二进制编码的内积值,对该内积值进行整形处理,生成整形内积值;基于该整形内积值生成伯努利分布值,并基于该伯努利分布值生成该训练文本的预测扩展文本特征向量。
根据本公开的另一方面,提出了一种文本检索装置,包括:文本特征提取模块,其被配置为提取目标文本的文本特征,生成目标文本的文本特征向量;扩展文本特征向量生成模块,其被配置为基于该目标文本的文本特征向量、以及预设文本库中至少一个预设文本的文本特征向量,生成该目标文本的扩展文本特征向量;二进制编码生成模块,其被配置为基于目标文本的文本特征向量及扩展文本特征向量,生成该目标文本的二进制编码;文本检索结果生成模块,其被配置为基于该目标文本的二进制编码及预设文本库中至少一个预设文本的二进制编码,在所述预设文本库中检索与该目标文本匹配的文本以生成文本检索结果。
在一些实施例中,所述预设文本库中至少一个预设文本的二进制编码是基于该预设文本的文本特征向量以及该预设文本的扩展文本特征向量生成的,且所述扩展文本特征向量是基于该预设文本的邻居文本生成的,其中,所述邻居文本是所述预设文本库中与所述预设文本的相似度满足预定要求的文本。
根据本公开的另一方面,提出了一种文本检索设备,其中所述设备包括处理器和存储器,所述存储器包含一组指令,所述一组指令在由所述处理器执行时使所述文本检索设备执行操作,所述操作包括:提取目标文本的文本特征,生成目标文本的文本特征向量;基于该目标文本的文本特征向量、以及预设文本库中至少一个预设文本的文本特征向量,生成该目标文本的扩展文本特征向量;基于目标文本的文本特征向量及扩展文本特征向量,生成该目标文本的二进制编码;基于该目标文本的二进制编码及预设文本库中至少一个预设文本的二进制编码,在所述预设文本库中检索与该目标文本匹配的文本以生成文本检索结果。
根据本公开的另一方面,提出了一种计算机可读存储介质,其特征在于,其上存储有计算机可读的指令,当利用计算机执行所述指令时执行如前所述的方法。
利用本公开提供的文本检索的方法,可以很好的完成对目标文本的相似文本的检索,特别地,可具有较高的文本检索准确率,且算法具有良好的鲁棒性。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员而言,在没有做出创造性劳动的前提下,还可以根据这些附图获得其他的附图。以下附图并未刻意按实际尺寸等比例缩放绘制,重点在于示出本公开的主旨。
图1示出了根据本公开实施例的文本检索方法100的示例性的流程图;
图2A示出了根据本公开实施例生成该目标文本的扩展文本特征向量的过程S102的示例性流程图;
图2B示出了根据本公开实施例生成的预设文本的文本关系图;
图3示出了根据本公开实施例生成该目标文本的二进制编码的过程S103的示例性流程图;
图4示出了根据本公开实施例生成该目标文本的特征压缩向量的过程S1031的示例性流程图;
图5示出了根据本公开实施例的生成文本检索结果的过程S104的示例性流程图;
图6示出了根据本公开的实施例经由文本检索模型实现文本检索的示意图;
图7示出了根据本公开实施例的文本检索方法的具体应用过程的示意图;
图8A示出了根据本公开实施例的文本检索模型的训练方法400的示例性流程图;
图8B示出了根据本公开实施例的文本检索模型的训练方法的训练过程的示例性框图;
图8C示出了根据本公开实施例的文本检索模型中二进制编码模块及二进制解码模块的示意图;
图9A示出了根据本公开实施例生成训练文本的扩展文本特征向量的过程S402的示意图;
图9B示出了根据本公开实施例生成训练文本的扩展文本特征向量的过程S402的示例性流程图;
图10示出了根据本公开实施例的生成该训练文本的预测二进制编码的过程S403的示例性流程图;
图11示出了根据本公开实施例的生成该训练文本的特征压缩向量的过程S4031的示例性流程图;
图12示出了根据本公开实施例生成该训练文本的预测文本特征向量以及该训练文本的预测扩展文本特征向量的过程S404的示例性流程图;
图13示出了根据本公开实施例的文本检索装置900的示例性框图;
图14示出了根据本公开的实施例的文本检索设备950的示例性流程图。
具体实施方式
下面将结合附图对本公开实施例中的技术方案进行清楚、完整地描述,显而易见地,所描述的实施例仅仅是本公开的部分实施例,而不是全部的实施例。基于本公开实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,也属于本公开保护的范围。
如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其他的步骤或元素。
虽然本申请对根据本申请的实施例的系统中的某些模块做出了各种引用,然而,任何数量的不同模块可以被使用并运行在用户终端和/或服务器上。所述模块仅是说明性的,并且所述系统和方法的不同方面可以使用不同模块。
本申请中使用了流程图用来说明根据本申请的实施例的系统所执行的操作。应当理解的是,前面或下面操作不一定按照顺序来精确地执行。相反,根据需要,可以按照倒序或同时处理各种步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
本申请涉及人工智能技术在自然语言处理(Nature Language processing,NLP)及大数据处理方面,特别是人工智能技术在文本检索过程中的具体应用,具体地,本申请提出了一种基于人工智能的文本检索方法,通过考虑该目标文本与预设文本库中预设文本间的关系,生成该目标文本的扩展文本特征向量,并基于该目标文本的文本特征向量与扩展文本特征向量共同实现文本检索,使得在文本检索的过程中,有效地考虑了文本与文本之间的全局信息,从而有效地提高了文本检索的精确度。
本申请中所述的文本旨在表征由一个或多个词组所组成的内容,其例如可以包括单个句子,或者也可以包括多个句子。本公开的实施例不受该文本的具体内容及其具体组成的限制。
所述文本检索过程,旨在基于该目标文本,在预设文本库中检索与该目标文本相似度较高的一个或多个预设文本,并将该预设文本输出。本公开的实施例不受检索得到的预设文本的具体个数的限制。
现有的文本检索中,对于用户输入的目标文本,通过将文本映射为其所对应的哈希编码,将两个文档的相似度计算转换为计算哈希编码之间的汉明距离,从而得到与目标文本相似度最高的文本。然而,由于该检索方法仅针对单个文本进行建模,忽略了文本与文本之间的关系,使得所生成的哈希编码中仅包括文本的局部语义特征,无法捕捉文本与文本之间的全局信息,其检索的准确率较低,且检索速度较慢。
基于上述,本申请中提出了一种文本检索方法。该方法一方面提取了目标文本的局部语义特征(例如词频特征),另一方面提取了目标文本与预设文本库中预设文本的全局语义特征,从而能够在文本检索的过程中综合考虑到目标文本的自身特性以及目标文本与预设文本的文本间关系。图1示出了根据本公开实施例的文本检索方法100的示例性流程图。接下来将参照图1,对文本检索的过程及步骤进行简要说明。
首先,在步骤S101中,提取目标文本的文本特征,生成目标文本的文本特征向量。
所述目标文本可以是用户直接输入的文本,也可以是对用户的语音信息进行识别后得到的文本或计算机预先以其他方式获得的文本。本公开实施例不受目标文本的来源及获取方式的限制。
所述目标文本的文本特征即为该目标文本自身所具有的语义特征,且所述文本特征向量旨在表征该文本的文本特征。
该文本特征向量例如可以通过对该目标文本进行文本数据向量化处理(TF-IDF)得到该目标文本的文本特征向量,或者也可以通过搜索算法(BM25)对该目标文本进行处理以得到其文本特征向量,本公开的实施例不受获取该文本特征向量的具体方式及其具体内容的限制。
例如,若该目标文本由预设字库组成,且该预设字库共有1024个字,则该目标文本的文本特征向量例如可以为1024维,其中每一个子元素对应于一个字,若该子元素的数值为1,则表征该目标文本中包括子元素所对应的字,若该子元素的数值为0,则表征该目标文本中不包括该子元素所对应的字。
获取该目标文本的文本特征向量后,在步骤S102中,基于该目标文本的文本特征向量、以及预设文本库中至少一个预设文本的文本特征向量,生成该目标文本的扩展文本特征向量。
所述预设文本库中例如能够包括一个或多个预设文本,且所述预设文本库例如可以是通用知识的文本库,例如生活常识文本库;或者其可以是某一专业领域知识的文本库,例如医学文本库,或者金融知识文本库。本公开的实施例不受所述预设文本库中预设文本的数量及具体类型的限制。
所述预设文本库中的预设文本例如可以仅包括单个句子,或者也可以包括多个句子,本公开的实施例不受该预设文本库中预设文本的文本长度的限制。
所述预设文本的文本特征向量旨在表征该预设文本的文本特征,即该预设文本自身所具有的语义特征。且所述预设文本的文本特征向量与该目标文本的文本特征向量具有相同维数,例如其均为1024维,或者其均为2048维。本公开不受文本特征向量的具体维数的限制。
例如,若该预设文本库中的所有预设文本均由预设字库组成,且该预设字库共有1024个字,则该预设文本的文本特征向量例如可以为1024维,其中每一个子元素对应于一个字,若该子元素的数值为1,则表征该预设文本中包括子元素所对应的字,若该子元素的数值为0,则表征该预设文本中不包括该子元素所对应的字。
所述目标文本的扩展文本特征向量用于表征该目标文本与预设文本库中预设文本的关系。其例如通过计算该目标文本的文本特征向量与预设文本库中的每一个预设文本的文本特征向量的余弦距离,并将余弦距离大于预设距离阈值的预设文本确定为该目标文本的邻居文本,并基于该邻居文本生成目标文本的扩展文本特征向量。然而,应了解,本公开的实施例不限于此,还可以采用其他方式生成目标文本的扩展文本特征向量。
得到目标文本的文本特征向量及扩展文本特征向量后,在步骤S103中,基于目标文本的文本特征向量及扩展文本特征向量,生成该目标文本的二进制编码。
所述目标文本的二进制编码,即为目标文本的哈希编码,其旨在表征该编码中仅存在0、1数值而不存在其他数值。该二进制编码例如可以通过采用预设算法或神经网络对该文本特征向量及扩展文本特征向量进行处理得到。本公开的实施例不受该目标文本的二进制编码的具体生成方式及其内容的限制。
得到目标文本的二进制编码后,在步骤S104中,基于该目标文本的二进制编码及预设文本库中至少一个预设文本的二进制编码,在所述预设文本库中检索与该目标文本匹配的文本以生成文本检索结果。
所述预设文本的二进制编码例如与所述目标文本的二进制编码具有相同的位数,例如其均为50位,或者其均为100位,还可以基于实际需要设置该二进制编码的位数。本公开的实施例不受该预设文本及目标文本的二进制编码的具体位数的限制。
生成该文本检索结果的过程例如能够更具体地描述。例如通过求取该目标文本的二进制编码与至少一个预设文本的二进制编码间的汉明距离,将汉明距离最小的预设文本作为检索结果输出,或者也可以将该汉明距离由小至大排序后输出汉明距离顺序在先的预设个数(其例如由用户设定)的预设文本作为检索结果输出,还可以通过其他方法得到检索结果,本公开的实施例不受生成该文本检索结果的具体方式的限制。
基于上述,在本申请中,在提取目标文本的文本特征得到目标文本的文本特征向量的基础上,通过基于该目标文本的文本特征向量及预设文本库中预设文本的文本特征向量生成该目标文本的扩展文本特征向量,并基于目标文本的文本特征向量及扩展文本特征向量共同生成检索结果,使得在检索过程中综合考虑到了目标文本自身的语义特征及目标文本与预设文本间的文本间关系特征,从而有效地提高了检索精度,且该方法具有较高的鲁棒性及检索速度。
在一些实施例中,所述预设文本库中至少一个预设文本的二进制编码是基于该预设文本的文本特征向量以及该预设文本的扩展文本特征向量生成的。
所述预设文本的扩展文本特征向量用于表征该预设文本与文本库中其他预设文本的文本间关系,且该扩展文本特征向量基于该预设文本的邻居文本生成。所述邻居文本旨在表征预设文本库中与该预设文本具有较高关联度或相似度的文本。且其中,所述邻居文本是所述预设文本库中与所述预设文本的相似度满足预定要求的文本。例如,所述邻居文本可以是与该预设文本的相似度超过预设阈值的文本,或者其也可以是与该预设文本的相似度在相似度排名(由大至小)中排位在先的一个或多个文本。
该预设文本的邻居文本例如可以基于该预设文本的文本特征向量与文本库中其他预设文本的文本特征向量来确定(其计算过程将在下文中进行详细说明),本公开的实施例不受计算该预设文本的扩展文本特征向量的具体方式的限制。
如前所述,该预设文本的二进制编码与目标文本的二进制编码例如具有相同的编码位数L,该预设文本的文本特征向量与该目标文本的文本特征向量例如具有相同的第一维数N1,该预设文本的扩展文本特征向量与目标文本的扩展文本特征向量例如具有相同的第二维数N2。其中,该编码位数L、第一维数N1、第二维数N2例如可以为相同数值,或者其三者也可以分别为不同数值,本公开不受该编码位数L、第一维数N1、第二维数N2的具体数值的限制。
基于上述,通过设置该预设文本库中的至少一个预设文本的二进制编码基于文本特征向量以及该预设文本的扩展文本特征向量生成,使得该预设文本库中每一个预设文本的二进制编码均体现了预设文本的自身语义特征及预设文本间的文本关系特征,从而有利于后续将该预设文本库中的二进制编码与目标文本的二进制编码进行比较来生成高精度的文本检索结果。
在一些实施例中,所述预设文本的文本特征向量与所述邻居文本的文本特征向量的余弦距离大于预设距离阈值。
余弦距离旨在表征预设文本的文本特征向量与所述邻居文本的文本特征向量间的相似度,且该余弦距离的数值越大(越接近1),表征两个向量的相似度越高;该余弦距离的数值越小(越接近0),表征两个相邻的相似度越低。
所述预设距离阈值旨在用于选取与该预设文本具有较高关联度或相似度的文本。其例如能够基于实际情况进行设置,例如设置为0.5,或者也可以设置为0.7。本公开的实施例不受该预设距离阈值的具体数值的限制。
通过设置该预设文本的文本特征向量与邻居文本的文本特征向量的余弦距离大于预设距离阈值,使得能够灵活地控制所选取的邻居文本与该预设文本的相似或相关联程度,从而更灵活地控制该文本检索方法的精确度。
在一些实施例中,上述基于该目标文本的文本特征向量以及预设文本库中至少一个预设文本的文本特征向量生成该目标文本的扩展文本特征向量的过程S102例如能够更具体地描述。图2A示出了根据本公开实施例生成该目标文本的扩展文本特征向量的过程S102的示例性流程图。图2B示出了根据本公开实施例生成的目标文本的文本关系图。
参照图2A,首先,在步骤S1021中,计算该目标文本的文本特征向量与预设文本库中至少一个预设文本的文本特征向量的余弦距离。所述余弦距离旨在表征该目标文本的文本特征向量与预设文本库中预设文本的文本特征向量的相似度。
其后,在步骤S1022中,将余弦距离大于预设距离阈值的预设文本确定为该目标文本的邻居文本。
然而,应了解,上述仅给出了一种示例性的求取邻居文本的方式,本公开的实施例不限于此。根据实际需求,也可以设置预设邻居文本个数阈值H,并将该目标文本与预设文本库中预设文本的余弦距离由大至小排序,将排序在先的H个预设文本确定为该目标文本的邻居文本。
确定该目标文本的邻居文本后,在步骤S1023中,基于所述邻居文本,生成该目标文本的扩展文本特征向量。
上述生成扩展文本特征向量的过程例如能够更具体地描述。具体地,参照图2B,若预设文本库M中存在7个预设文本,分别为m1,m2,m3,m4,m5,m6,m7,则例如可以设置该扩展文本特征向量E的维数为7,且该向量E中的每一个子元素例如对应于该预设文本库中的一个预设文本(例如,向量E中的第2个子元素e2对应于预设文本库中的预设文本m2),且该子元素的取值旨在表征该预设文本是否为该目标文本的邻居文本,例如设置该向量E中的子元素的取值为0或1,其中1表征该子元素对应的预设文本是该目标文本的邻居文本,0表征该子元素对应的预设文本不是该目标文本的邻居文本;且例如经由计算得到目标文本A的邻居文本为预设文本m3,m4,m6,则例如可以基于该邻居文本生成对应的扩展文本特征向量E(0,0,1,1,0,1,0),且能够绘制如图2B右侧所示出的目标文本的文本关系图,其包括该目标文本A及该目标文本的邻居文本m3、m4、m6,且该邻居文本m3、m4、m6与该目标文本A相连接。
基于上述,通过计算目标文本与预设文本库中预设文本的余弦距离,并将余弦距离大于预设距离阈值的文本确定为目标文本的邻居文本,据此生成目标文本的扩展文本特征向量,使得本申请中能够通过扩展文本特征向量良好地反映出该目标文本与预设文本库中预设文本的文本间关系(相似度或关联度),从而使得后续文本检索中能够进一步考虑到文本间关系,提高文本检索的精确度。
在一些实施例中,基于目标文本的文本特征向量及扩展文本特征向量生成该目标文本的二进制编码的过程S103例如能够更具体地描述。图3示出了根据本公开实施例生成该目标文本的二进制编码的过程S103的示例性流程图。
参照图3,首先,在步骤S1031中,基于该目标文本的文本特征向量及目标文本的扩展文本特征向量,生成该目标文本的特征压缩向量。
所述目标文本的特征压缩向量旨在表征对目标文本的文本特征向量及扩展文本特征向量进行维数压缩后,基于压缩后的文本特征向量及扩展文本特征向量生成的特征向量。该特征压缩向量例如可以为由压缩后的文本特征向量及压缩后的扩展文本特征向量直接拼接得到的向量,或者也可以为对压缩后的文本特征向量及压缩后的扩展文本特征向量进一步处理(例如经由激活函数对其进行处理以使得该压缩后的文本特征向量及压缩后的扩展文本特征向量中每一个子元素处于0-1的范围内)后再拼接得到的向量。或者,也可以是先拼接后压缩得到的向量。且该特征压缩向量中的每一个子元素的数值例如均处于0-1的范围内。具体的压缩处理过程将在下文中详细说明。
且该特征压缩向量例如具有第三维数N3,应了解,本申请不受该特征压缩向量所具有的第三维数N3、该文本特征向量所具有的第一维数N1、该扩展文本特征向量所具有的第二维数N2的数值关系的限制。
得到该特征压缩向量后,在步骤S1032中,将该目标文本的特征压缩向量映射为二进制编码,生成该目标文本的二进制编码。且其中,该二进制编码的编码位数与该特征压缩向量的向量维数相同。
例如,上述生成二进制编码的过程例如可以通过设置伯努利分布算法(0-1分布),并对特征压缩向量中的每一个子元素求取其对应的伯努利概率(该概率值为0或1)来实现;也可以通过设定临界值,将大于该临界值的子元素设定为1,小于该临界值的子元素设定为0,还可以通过其他方式实现。本公开的实施例不受将特征压缩向量映射为二进制编码的具体方式的限制。
在一些实施例中,通过对目标文本的文本特征向量及扩展文本特征向量进行压缩来生成压缩特征向量,再经由该压缩特征向量生成该二进制编码,使得能够在保证检索精度的同时有效地减少所生成的二进制编码的位数,从而提高后续检索处理的速度。
在一些实施例中,上述基于该目标文本的文本特征向量及目标文本的扩展文本特征向量生成该目标文本的特征压缩向量的过程S1031例如可以更具体地描述。图4示出了根据本公开的实施例生成该目标文本的特征压缩向量的过程S1031的示例性流程图。
参照图4,首先,在步骤S1031-1中,对该文本特征向量进行压缩,生成该目标文本的第一特征压缩向量。且其中,所述第一特征压缩向量的维数小于该文本特征向量的维数。
例如,上述压缩过程例如可以通过预设算法或神经网络来实现,例如将该文本特征向量发送至第一神经网络(例如多层感知机)的输入端,经由第一神经网络对该文本特征向量进行处理,在该第一神经网络的输出端得到第一特征压缩向量。
生成该第一特征压缩向量后,在步骤S1031-2中,对该扩展文本特征向量进行压缩,生成该目标文本的第二特征压缩向量。且其中,该第二特征压缩向量的维数小于所述扩展文本特征向量的维数。
例如,上述压缩过程例如可以通过预设算法或神经网络来实现,例如将该扩展文本特征向量发送至第二神经网络(例如图卷积网络MLP)的输入端,经由第二神经网络对该扩展文本特征向量进行处理,在该第二神经网络的输出端得到第二特征压缩向量。
应了解,上述步骤S1031-1及S1031-2例如可以按顺序执行,逆序执行,或者其也可以同时执行。本公开的实施例不受该步骤S1031-1及S1031-2的具体执行顺序的限制。
应了解,上述第一神经网络和第二神经网络例如可以为相同的神经网络,或者根据实际需要,其也可以为不同的神经网络。本公开的实施例不受该第一神经网络、第二神经网络的具体类型及其关系的限制。
应了解,上述第一特征压缩向量与第二特征压缩向量例如可以具有相同维数,或者其二者也可以具有不同维数。本公开的实施例不受该第一特征压缩向量与第二特征压缩向量的维数之间的关系的限制。
生成第一特征压缩向量与第二特征压缩向量后,在步骤S1031-3中,将所述第一特征压缩向量与所述第二特征压缩向量拼接,生成目标文本的文本特征压缩向量。
例如,若目标文本的文本特征向量为1024维向量,目标文本的扩展文本特征向量为100维向量。经由多层感知机对该文本特征向量进行处理后生成的第一特征压缩向量为50维向量,经由图卷积网络对扩展文本特征向量进行处理后生成的第二特征压缩向量为70维向量,则将第一特征压缩向量与第二特征压缩向量拼接后所得到的文本特征压缩向量的维数为120维,基于此,后续基于该文本特征压缩向量映射得到的二进制编码的编码位数也为120维,远小于将扩展文本特征向量与文本特征向量直接拼接得到的向量维数(1124维)。
基于上述,通过分别对目标文本的文本特征向量及目标文本的扩展文本特征向量进行压缩以得到第一特征压缩向量、第二特征压缩向量,并将压缩后的第一、第二特征压缩向量拼接得到文本特征压缩向量,相较于将该目标文本的文本特征向量及扩展文本特征向量直接拼接并生成二进制编码的技术方案,能够显著地减小二者拼接后的向量的维数,从而使得后续生成的二进制编码具有较小的编码位数,从而能够提高该文本检索过程的计算量。
在一些实施例中,基于该目标文本的二进制编码及预设文本库中至少一个预设文本的二进制编码,在所述预设文本库中检索与该目标文本匹配的文本以生成文本检索结果的过程S104例如能够更具体的描述。图5示出了根据本公开实施例的生成文本检索结果的过程S104的示例性流程图。
参照图5,首先,在步骤S1041中,计算目标文本的二进制编码与预设文本库中至少一个预设文本的二进制编码的汉明距离。
所述汉明距离旨在表征将该目标文本的二进制编码与预设文本库中至少一个预设文本的二进制编码进行异或运算所生成异或运算值。且其中,该汉明距离的数值越大表征该目标文本与预设文本的相似度越低;该汉明距离越小,表征该目标文本与预设文本的相似度越高。
生成该汉明距离后,在步骤S1042中,基于所述汉明距离,确定文本检索结果。
例如,可以设置检索输出阈值Om,将所得到的汉明距离与该检索输出阈值Om相比较,并输出小于该检索输出阈值Om的汉明距离所对应的预设文本;或者,也可以设置预设输出个数On,将所得到的汉明距离由小至大排列,将排序在先的On个数的汉明距离所对应的预设文本作为检索结果输出。
基于上述,本申请中,通过求取该目标文本的二进制编码与预设文本库中至少一个预设文本的二进制编码的汉明距离,并基于该汉明距离输出文本检索结果,使得能够进一步地简化运算过程,降低运算量,提高文本检索的速度。
在一些实施例中,基于如上所述的文本检索方法,将经由文本检索模型来实现文本检索过程。接下来将结合文本检索模型的具体实施例进行更具体地说明。图6示出了根据本公开的实施例经由文本检索模型实现文本检索的示意图。图7示出了根据本公开实施例的文本检索方法的具体应用过程的示意图。
参照图6,该文本检索过程例如能够通过预先训练好的文本检索模型实现,且该文本检索模型200例如包括:向量生成模块201、文本间关系生成模块202、二进制编码模块203。
例如,如前所述,当预设文本库M中包括7个预设文本(文本m1-m7)时,当将目标文本A输入至该文本检索模型200的输入端后,首先,将在文本检索模块中执行上述步骤S101的操作,基于该目标文本A生成该目标文本的文本特征向量AT;其后,将该目标文本的文本特征向量AT输入至文本间关系生成模块202中,经由文本间关系生成模块202执行上述步骤S102的操作,基于该目标文本的文本特征向量AT、以及预设文本库M中预设文本(文本m1至m7)的文本特征向量(向量m1_t至m7_t),生成该目标文本的扩展文本特征向量AK(向量维数等于预设文本个数7);其后,将目标文本的文本特征向量及扩展文本特征向量输入至二进制编码模块203,在二进制编码模块203中执行上述步骤S103中的操作,该基于目标文本的文本特征向量及扩展文本特征向量,生成该目标文本的二进制编码AZ;其后,从该文本检索模型的输出端输出该目标文本的二进制编码AZ。其后,例如将该目标文本的二进制编码AZ与该预设文本库M中每一个预设文本的二进制编码(二进制编码m1_z至m7_z)输入至文本检索结果输出模块300,在该检索结果输出模块300中执行上述步骤S104的操作,基于该目标文本的二进制编码及预设文本库中至少一个预设文本的二进制编码,生成文本检索结果。据此,实现文本检索过程。
接下来将给出该文本检索方法在具体场景下的应用示意图。图7示出了根据本公开实施例的文本检索方法的具体应用过程的示意图。
参照图7,例如在搜索界面中(该搜索界面例如可以是微信搜索),当用户在该搜索界面的搜索框内输入搜索文本,例如输入目标文本“皮肤过敏应该注意什么”,此时,基于如前所述的检索方法,将根据用户输入的目标文本在预设文本库中的预设文本中检索与其相似度较高的多个预设文本,并将该预设文本输出在该搜索框下方,例如,经由本申请所述的文本检索方法,生成的部分文本检索结果为:“孩子皮肤过敏吃什么好”、“皮肤过敏涂什么”、“小孩皮肤过敏怎么办”。基于该检索结果可知,该文本检索得到的预设文本与该目标文本的相似度及关联度较高,其检索精确度较高。
接下来将参照表1及表2,结合数据集合(公开数据集:Reuter 21578),对本申请提出的文本检索方法的检索精确度及检索速度进行验证。其中,表1示出了文本检索方法效果的比较,其中示出了应用基于变分的深度语义哈希文本检索方法(VDSH)、基于混合伯努利先验的语义哈希文本检索方法(BMSH)、应用本申请中的文本检索方法但是不计算扩展文本特征向量的情况,以及应用本申请中提出的文本检索方法时的文本检索效果。
表1文本检索方法比较
基于上述,能够看出本申请所提出的文本检索方法相较于其他文本检索方法具有更好的检索精确度及可靠性,且在二进制编码位数处于不同档位的情况下始终具有较高的检索精确度,其可靠性及鲁棒性良好。且通过对比应用本申请检索方法但不计算扩展文本特征向量的情况,能够明显地看出:本申请中,通过在文本检索的过程中综合考虑文本间的关系,能够显著地提高文本检索的精确度。
接下来,参照表2,其中示出在微信程序上应用双向编码器表示(BERT模型)及本申请中所述的文本检索方法的效果比较。
表2微信程序中应用文本检索方法的效果比较
基于上表可知,本申请中的文本检索方法在精度指标及F1分数指标(F1Score,用于衡量二分类模型精确度的指标)上与BERT模型持平,在检索速度上是BERT模型的100倍左右,这将显著地提高该文本检索服务在微信程序上的分发能力。
根据本公开的另一方面,还提出了一种文本检索模型200的训练方法400。其中,所述文本检索模型200包括向量生成模块201、文本间关系生成模块202、二进制编码模块203、二进制解码模块204。图8A示出了根据本公开实施例的文本检索模型的训练方法400的示例性流程图,图8B示出了根据本公开实施例的文本检索模型的训练方法的训练过程的示例性框图,图8C示出了根据本公开实施例的文本检索模型中二进制编码模块及二进制解码模块的示意图。
参照图8A,首先,在步骤S401中,利用所述向量生成模块201生成训练文本库中的每一个训练文本的文本特征向量。
所述训练文本库旨在表征用于训练该文本检索模型的文本库,其中例如能够包括一个或多个训练文本,且所述训练文本库例如可以是通用知识的文本库,例如生活常识文本库;或者其可以是某一专业领域知识的文本库,例如医学文本库,或者金融知识文本库。本公开的实施例不受所述训练文本库中训练文本的数量及具体类型的限制。
所述训练文本库中的训练文本例如可以仅包括单个句子,或者也可以包括多个句子,本公开的实施例不受该训练文本库中训练文本的文本长度的限制。
所述训练文本的文本特征向量旨在表征该训练文本的文本特征,即该训练文本自身所具有的语义特征。且所述训练文本的文本特征向量与该目标文本的文本特征向量具有相同维数,例如其均为1024维,或者其均为2048维。本公开不受文本特征向量的具体维数的限制。
例如,若该训练文本库中的所有训练文本均由训练字库组成,且该训练字库共有1024个字,则该训练文本的文本特征向量例如可以为1024维,其中每一个子元素对应于一个字,若该子元素的数值为1,则表征该训练文本中包括子元素所对应的字,若该子元素的数值为0,则表征该训练文本中不包括该子元素所对应的字。
得到该训练文本库中每一个训练文本的文本特征向量后,在步骤S402中,对于所述训练文本库中的每一个训练文本,利用所述文本间关系生成模块202,基于该训练文本的文本特征向量以及所述训练文本库中其它训练文本的文本特征向量,确定在所述其它训练文本中确定该训练文本的邻居文本,并基于所确定的邻居文本生成该训练文本的扩展文本特征向量。
所述训练文本的扩展文本特征向量用于表征该训练文本与文本库中其他训练文本的文本间关系,且该扩展文本特征向量基于该训练文本的邻居文本生成。
所述邻居文本旨在表征训练文本库中与该训练文本具有较高关联度或相似度的文本。该训练文本的邻居文本例如可以基于该训练文本的文本特征向量与文本库中其他训练文本的文本特征向量来确定(其计算过程将在下文中进行详细说明),本公开的实施例不受计算该训练文本的扩展文本特征向量的具体方式的限制。
其后,在步骤S403中,对于所述训练文本库中的每一个训练文本,利用所述二进制编码模块203,基于该训练文本的文本特征向量、以及该训练文本的扩展文本特征向量,生成该训练文本的预测二进制编码。
所述预测二进制编码旨在表征在当前的模型参数下基于该训练文本的文本特征向量及扩展文本特征向量生成的该训练文本的二进制编码的预测量。
其后,在步骤S404中,对于所述训练文本库中的每一个训练文本,利用二进制解码模块204,基于该预测二进制编码,生成该训练文本的预测文本特征向量以及该训练文本的预测扩展文本特征向量。
所述训练文本的预测文本特征向量旨在表征基于当前生成的预测二进制编码反推得到的该预测二进制编码所对应的文本特征向量。所述训练文本的预测扩展文本特征向量旨在表征基于当前生成的预测二进制编码反推得到的该预测二进制编码所对应的扩展文本特征向量。生成该预测文本特征向量及扩展文本特征向量的过程将在下文中更具体地描述。
得到该训练文本的预测文本特征向量以及预测扩展文本特征向量后,在步骤S405中,对于所述训练文本库中的每一个训练文本,基于该训练文本的文本特征向量、该训练文本的扩展文本特征向量、该训练文本的预测文本特征向量、以及该训练文本的预测扩展文本特征向量,生成损失函数。
所述损失函数旨在表征该预测值与真实值之间的偏离程度。当该损失函数具有最小值时,旨在表征该预测值与真实值的偏离程度最小,即其二者的相似度最大。所述损失函数例如可以根据实际需要进行设计,例如将其设置为回归的熵损失函数,或者也可以将其设置为其他类型的损失函数。
生成损失函数后,在步骤S406中,基于该损失函数,对所述二进制编码模块、二进制解码模块进行联合训练。
基于该损失函数对二进制编码模块、二进制解码模块进行联合训练旨在表征通过调整更新该二进制编码模块、二进制解码模块中至少一部分模块的参数量,使得该损失函数取得最小值。
接下来将结合图8B及图8C对上述文本检索模型及其训练过程进行更具体的说明。首先,参照图8B,其示出了该文本检索模型的执行流程的示例性框图。当本申请中的文本检索模型训练完成后,该文本检索模型例如能够经由该生成过程由文本特征向量x及扩展文本特征向量e生成对应的二进制编码z,且同时,经由反向推断过程,能够由该二进制编码z准确地推断出与该二进制编码z相对应的文本特征向量x及扩展文本特征向量e,使得所产生的二进制编码与输入的文本特征向量及扩展文本特征向量相对应。
基于此,在文本检索模型的训练过程中,二进制编码模块旨在执行上述生成过程,二进制解码模块旨在执行上述反向推断过程。进一步参照图8C,二进制编码模块及二进制解码模块的具体执行过程例如为:在二进制编码模块中,其输入例如为该训练文本库中的每一个训练文本的文本特征向量x及该训练文本的扩展文本特征向量e,且其中,例如通过图卷积网络MLP对该文本特征向量进行处理以生成第一特征压缩向量,并通过多层感知机GCN对该扩展文本特征向量进行处理以生成第二特征压缩向量,并基于第一特征压缩向量及第二特征压缩向量生成特征压缩向量,并经由该压缩特征向量得到该训练文本的预测二进制编码,该预测二进制编码将输入至二进制解码模块。其后,在二进制解码模块中,基于该预测二进制编码生成与预测二进制编码相对应的预测文本特征向量及预测扩展文本特征向量
其后,基于该训练文本的文本特征向量、该训练文本的扩展文本特征向量、该训练文本的预测文本特征向量、以及该训练文本的预测扩展文本特征向量生成损失函数,例如能够通过调节二进制编码模块的参数量及二进制解码模块的参数量,使得该损失函数具有最小值,从而对于每一个训练文本,使得该文本检索模型所产生的该训练文本的二进制编码与该训练文本的文本特征向量及扩展文本特征向量相对应。
基于上述,通过对训练文本库中的每一个训练文本,通过文本间关系生成模块生成其扩展文本特征向量,通过二进制编码模块生成其预测二进制编码,并基于该预测二进制编码生成该训练文本的预测文本特征向量及预测扩展文本特征向量,基于该训练文本的文本特征向量、扩展文本特征向量、该训练文本的预测文本特征向量、预测扩展文本特征向量,生成损失函数,基于该损失函数对该二进制编码模块、二进制解码模块进行联合训练,使得能够训练该文本检索模型,使得该文本检索模型能够对于该训练文本库中的每一个训练文本生成其对应的文本特征向量及二进制编码,其使得该文本检索模型能够执行如前所述的文本检索方法,快速高精度地生成目标文本的二进制编码。
在一些实施例中,通过训练所述二进制编码模块、二进制解码模块,使得所述该训练文本的预测文本特征向量与该训练文本的文本特征向量的相似度超出第一阈值,该训练文本的预测扩展文本向量与该训练文本的扩展文本向量的相似度超出第二阈值,所述第一阈值和第二阈值相同或不同。
应了解,所述第一阈值与所述第二阈值能够基于实际需要进行设置,本公开的实施例不受该第一阈值与第二阈值的具体数值及其相互间关系的限制。且在一些实施例中,当训练所述二进制编码模块、二进制解码模块,使得该损失函数具有最小值时,则该训练文本的预测文本特征向量与该训练文本的文本特征向量的相似度超出第一阈值,该训练文本的预测扩展文本向量与该训练文本的扩展文本向量的相似度超出第二阈值,即表征此时的文本检索模型所生成的预测扩展文本向量与扩展文本向量具有最大相似度,预测文本特征向量与文本特征向量具有最大相似度。
基于上述,通过训练所述二进制编码模块、二进制解码模块,使得该训练文本的预测文本特征向量与该训练文本的文本特征向量的相似度超出第一阈值,该训练文本的预测扩展文本向量与该训练文本的扩展文本向量的相似度超出第二阈值,使得能够令该文本检索模型二进制解码模块所输出的预测扩展文本向量与扩展文本向量具有最大相似度,预测文本特征向量与文本特征向量具有最大相似度,从而使得能够更好地实现对该文本检索模型的训练,从而有利于该模型后续实现高精度的文本检索功能。
在一些实施例中,在完成对所述二进制编码模块、二进制解码模块的联合训练之后,所述训练文本库中的每一个训练文本具有其对应的文本特征向量以及二进制编码。
基于上述,通过本申请提出的文本检索模型的训练方法,使得训练得到该训练文本库中每一个文本的文本特征向量及二进制编码,包括训练文本的文本特征向量及二进制编码的训练文本库将作为后续进行文本检索过程中的预设文本库,从而用于实现文本检索。
在一些实施例中,利用所述文本间关系生成模块确定该训练文本的邻居文本并生成该训练文本的扩展文本特征向量的过程例如可以更具体地描述。图9A示出了根据本公开实施例生成训练文本的扩展文本特征向量的过程S402的示意图,图9B示出了根据本公开实施例生成训练文本的扩展文本特征向量的过程S402的示例性流程图。
结合图9A,在一些实施例中,在生成扩展文本特征向量时例如可以进行如下处理:例如,首先对训练文本库中每一个训练文本的文本特征向量可以进行预先的降维处理(例如主成分分析(PCA)处理),得到训练文本的文本特征向量的低维向量表示。然后计算训练文本的低维向量与训练文本的低维向量之间的余弦距离,对于每个训练文本,例如可以取出前K(K为大于0的正整数)余弦距离最近的训练文本作为该训练文本的邻居文本,从而得到该训练文本的文本关系图。其中,该图例如可以表示为G={V,E,X},其中G为该训练文本的关系图,V={v1,v2,…,vN}表示该训练文本关系图中的一系列节点(其与训练文本一一对应),N是节点个数。且例如可以用该训练文本的扩展文本特征向量E表示该训练文本关系图中的边,若该训练文本与一个其他训练文本间存在边关系,则该其他训练文本为该训练文本的邻居文本。X表征该训练文本库X,其具有N个训练文本。
接下来将结合图9B对上述扩展文本特征向量的生成步骤进行更具体地描述,首先,在步骤S4021中,计算该训练文本的文本特征向量与训练文本库中至少一个其他训练文本的文本特征向量的余弦距离。
余弦距离旨在表征该训练文本与训练文本库中的其他训练文本的相似度,且该余弦距离的数值越大(越接近1),表征两个向量的相似度越高;该余弦距离的数值越小(越接近0),表征两个相邻的相似度越低。
其后,在步骤S4022中,将所述至少一个其他训练文本中余弦距离大于预设距离阈值的训练文本确定为该训练文本的邻居文本。
所述预设距离阈值旨在用于选取与该训练文本具有较高关联度或相似度的文本。其例如能够基于实际情况进行设置,例如设置为0.5,或者也可以设置为0.7。本公开的实施例不受该预设距离阈值的具体数值的限制。
确定该训练文本的邻居文本后,在步骤S4023中,基于所确定的邻居文本,生成该训练文本的扩展文本特征向量。
基于上述,对训练文本库中的每一个文本,通过计算该训练文本与其他训练文本的文本特征向量的余弦距离,并将余弦距离大于预设距离阈值的训练文本确定为该训练文本的邻居文本,基于该邻居文本生成该训练文本的扩展文本特征向量,有利于后续进一步基于该扩展文本特征向量及文本特征向量生成预测二进制编码,从而实现良好的模型训练过程。
在一些实施例中,所述利用二进制解码模块基于该训练文本的文本特征向量以及该训练文本的扩展文本特征向量生成该训练文本的预测二进制编码的过程例如能够更具体地描述。图10示出了根据本公开实施例的生成该训练文本的预测二进制编码的过程S403的示例性流程图。
参照图10,首先,在步骤S4031中,基于该训练文本的文本特征向量及训练文本的扩展文本特征向量,生成该训练文本的特征压缩向量。
所述训练文本的特征压缩向量旨在表征对训练文本的文本特征向量及扩展文本特征向量进行维数压缩后,基于压缩后的文本特征向量及扩展文本特征向量生成的特征向量。
该特征压缩向量例如可以为由压缩后的文本特征向量及压缩后的扩展文本特征向量直接拼接得到的向量,或者也可以为对压缩后的文本特征向量及压缩后的扩展文本特征向量进一步处理后再拼接得到的向量。且该特征压缩向量中的每一个子元素的数值例如均处于0-1的范围内。
生成该训练文本的特征压缩向量后,在步骤S4032中,将该训练文本的特征压缩向量映射为二进制编码,生成该训练文本的预测二进制编码。
上述生成二进制编码的过程例如可以通过设置伯努利分布算法来实现;还可以通过其他方式实现。本公开的实施例不受将特征压缩向量映射为二进制编码的具体方式的限制。
在一些实施例中,基于该训练文本的文本特征向量及训练文本的扩展文本特征向量生成该训练文本的特征压缩向量的过程例如能够更具体地描述。图11示出了根据本公开实施例的生成该训练文本的特征压缩向量的过程S4031的示例性流程图。
首先,在步骤S4031-1中,对该文本特征向量进行压缩,生成该训练文本的第一特征压缩向量,且所述第一特征压缩向量的维数小于所述文本特征向量的维数。
例如,上述压缩过程例如可以通过预设算法或神经网络来实现,例如将该文本特征向量发送至第一神经网络(例如多层感知机)的输入端,经由第一神经网络对该文本特征向量进行处理,在该第一神经网络的输出端得到第一特征压缩向量。
生成该训练文本的第一特征压缩向量后,在步骤S4031-2中,对该扩展文本特征向量进行压缩,生成该训练文本的第二特征压缩向量,且所述第二特征压缩向量的维数小于所述扩展文本特征向量的维数。
例如,上述压缩过程例如可以通过预设算法或神经网络来实现,例如将该扩展文本特征向量发送至第二神经网络(例如图卷积网络)的输入端,经由第二神经网络对该扩展文本特征向量进行处理,在该第二神经网络的输出端得到第二特征压缩向量。
应了解,上述步骤S1031-1及S1031-2例如可以按顺序执行,逆序执行,或者其也可以同时执行。本公开的实施例不受该步骤S1031-1及S1031-2的具体执行顺序的限制。
应了解,上述第一神经网络和第二神经网络例如可以为相同的神经网络,或者根据实际需要,其也可以为不同的神经网络。本公开的实施例不受该第一神经网络、第二神经网络的具体类型及其关系的限制。
生成该第一特征压缩向量和第二特征压缩向量后,在步骤S4031-3中,将所述第一特征压缩向量与所述第二特征压缩向量拼接,生成训练文本的文本特征压缩向量。
基于上述,通过分别对训练文本的文本特征向量及训练文本的扩展文本特征向量进行压缩以得到第一特征压缩向量、第二特征压缩向量,并将压缩后的第一、第二特征压缩向量拼接得到文本特征压缩向量,能够显著地减小二者拼接后的向量的维数,从而使得后续生成的预测二进制编码具有较小的编码位数,从而能够提高该文本检索模型训练过程的计算量。
在一些实施例中,利用二进制解码模块基于该预测二进制编码生成该训练文本的预测文本特征向量以及该训练文本的预测扩展文本特征向量的过程例如能够更具体地描述。图12示出了根据本公开实施例生成该训练文本的预测文本特征向量以及该训练文本的预测扩展文本特征向量的过程S404的示例性流程图。
参照图12,首先,在步骤S4041中,基于该训练文本的预测二进制编码,生成该训练文本的预测文本特征向量。
例如可以经由预设的神经网络对该预测二进制编码进行处理,例如通过第三神经网络对该预测二进制编码进行处理以得到其所对应的预测文本特征向量,或者也可以通过其他方式生成该训练文本的预测文本特征向量。本公开的实施例不受该预测文本特征向量的具体生成方式的限制。
生成该预测文本特征向量后,在步骤S4042中,基于该训练文本的预测二进制编码以及训练文本库中除该训练文本外其他训练文本的预测二进制编码,生成该训练文本的预测扩展文本特征向量。
例如,可以通过预设的神经网络对该预测二进制编码进行处理,例如通过第四神经网络对该预测二进制编码及训练文本库中除该训练文本外其他训练文本的预测二进制编码进行处理以得到其所对应的预测扩展文本特征向量,或者也可以通过其他方式生成该训练文本的预测扩展文本特征向量。本公开的实施例不受该预测扩展文本特征向量的具体生成方式的限制。
应了解,上述步骤S4041及步骤S4042例如能够按顺序执行,或者也可以逆序执行或同步执行,本公开的实施例不受步骤S4041及步骤S4042的执行顺序的限制。
基于上述,本申请中,通过基于该预测二进制编码生成该训练文本的预测文本特征向量,并基于训练文本的预测二进制编码及训练文本库中除该训练文本外其他训练文本的预测二进制编码生成该训练文本的预测扩展文本特征向量,使得能够在二进制解码器的输出端获取该训练文本的预测文本特征向量及预测扩展文本特征向量,从而有利于后续经由该预测文本特征向量及预测扩展文本特征向量构建损失函数,实现对文本检索模型的训练过程。
在一些实施例中,上述基于该训练文本的预测二进制编码生成该训练文本的预测文本特征向量的过程S4041例如能够更具体地描述。首先,对该训练文本中的每一个字,计算由该预测二进制编码生成该字的概率,得到该字的生成概率。其后,将该训练文本中每一个字的生成概率拼接,得到该训练文本的预测文本特征向量。
接下来将对该过程进行更具体地说明。对于训练文本库中的每一个训练文本(共存在N个训练文本),例如能够将其表示为一系列的字,此时训练文本可表示为x={w1,w2,w3,…,w|x|}(即文本特征向量),wi表征该文本中第i个字,且其中,例如将该训练文本库中的每一个训练文本视为一个节点,则例如存在对应的N个节点,形成节点库,且每一个节点相应的具有一个预测二进制编码,则对于节点库中的节点,其例如具有预测二进制编码z,且从该预测二进制编码z中生成与该节点对应的该训练文本中的第i个字wi的概率例如可以表示为且其中:
且其中,|V|为节点库中所包括的节点的总数(也即训练文本库中训练文本的总数),wi为该训练文本中的第i个字wi,θ为该二进制解码模块的可变参数量,通过调节该参数量,使得由预测二进制编码生成与该预测二进制编码相对应的训练文本中的每一个字的概率最大,且该可变参量满足θ=W+b,其中,W及b为根据实际情况进行选取的参数量,且其中i为大于0小于训练文本所包括的总字数|x|(训练文本的文本特征向量的维数),j为大于0且小于训练文本库中所包括的节点的总数|V|。
基于上述,通过对该训练文本中的每一个字,计算由该预测二进制编码生成该字的概率,得到该字的生成概率,并将该训练文本中每一个字的生成概率拼接,得到该训练文本的预测文本特征向量,使得能够根据该训练文本的预测二进制编码生成该训练文本所具有的预测文本特征向量,且有利于在训练过程中通过比较该预测文本特征向量与实际文本特征向量,及时调整该文本检索模型。
在一些实施例中,上述基于该训练文本的预测二进制编码以及训练文本库中除该训练文本外其他训练文本的预测二进制编码生成该训练文本的预测扩展文本特征向量的过程S4042的过程例如能够更具体地描述。
首先,对所述其他训练文本中的每一个其他训练文本,计算该训练文本的预测二进制编码与该其他训练文本的预测二进制编码的内积值;其后,对该内积值进行整形处理,生成整形内积值;最后,基于该整形内积值生成伯努利分布值,并基于该伯努利分布值生成该训练文本的预测扩展文本特征向量,其例如能够基于如下公式实现:
其中,zi为该训练文本库中第i个训练文本的预测二进制编码,zj为该训练文本库第j个训练文本的预测二进制编码,且i,j为不同的数值。o’为sigmoid激活函数,Bernoulli旨在表征伯努利分布,eij旨在表征该第i个训练文本的预测扩展文本特征向量中对应于第j位的子元素的数值,其旨在表征第j个训练文本是否为该第i个训练文本的邻居文本。
在一些实施例中,所述损失函数基于对数似然函数生成,且当所述对数似然函数的下界取得最大值时,所述损失函数具有最小值。
接下来,我们将结合具体的文本检索模型,对该损失函数及训练过程进行更具体地说明。
例如,若二进制解码模块应用前述公式1)-2)求取预测扩展文本特征向量及预测文本特征向量,此时公式1)-2)共同形成联合概率分布pθ(x,e,z),则原则上,经过数据训练完成后,文本对应的二进制编码z能够从后验分布pθ(z|x,e)中直接抽样得到。但是,由于后验分布pθ(z|x,e)的计算非常困难,因此本申请中采用变分推断方法,引入一个新的分布qφ(z|x,e)来近似真实的后验分布pθ(z|x,e)。
此时,在二进制编码模块中,假设后验分布pθ(z|x,e)是一个多维的伯努利分布,其具体表示如下:
其中, 为神经网络,zi为第i个节点(也即第i个训练文本)的二进制编码,ei为该第i个节点(也即第i个训练文本)的扩展文本特征向量。为了实现端到端的训练,我们需要对服从伯努利分布的随机变量进行重参数操作:
然而,sign(.)函数是不可微的,因此,在二进制编码模块中,不能直接用反向梯度的方法对参数进行梯度更新。为了解决这个问题,本申请中使用了梯度估计器(straghtthrough Gumbel Softmax)来对(z|x,e)的梯度进行估计,其具体表示如下:
且其中,是zi的估计值,g1,g2~gumbel(0,1)表征参数量g1和g2是从gumbel分布中抽样得到的随机数,且其中,stop_gradient()表征具体的运算操作,即在进行梯度运算时忽略该部分的梯度。其余参数量的含义如前所述。
基于上述,本申请中通过选取梯度估计方法,显著地提高了离散梯度估计的精度,使得模型支持端到端训练,降低了训练成本,同时提高了检索的精度。
此外,由于对数似然函数、KL散度(Kullback–Leiblerdivergence)及交叉熵损失函数具有如下关系:当KL散度最小时,交叉熵损失函数取得最小值,此时对数似然函数取得最大值。因此,在模型训练过程中,为实现最佳的参数状态,旨在最大化其对数似然函数,即logpθ(X,E),例如能够通过最大化其下界ELBO的方式,其下界ELBO例如能够表示为:
且其中,X表征该训练文本库(其中每一个训练文本表示为该训练文本的文本特征向量的形式),E表征由训练文本库中每一个训练文本的扩展文本特征向量所组成的集合,Z表征由训练文本库中每一个训练文本的二进制编码所组成的集合。且其中,φ为二进制解码模块的可变参数量,θ为该二进制解码模块的可变参数量。
由于独立性假设,在给定二进制编码z的情况下,文本x和其对应的文本关系图(亦即扩展文本特征向量)e是相互独立的,也就是p(x,e|z)=p(x|z)p(e|z),因此,当采用蒙特卡洛估计器时,前述对数似然函数的下界ELBO的第一项可以表示为如下形式,其中各参数的含义如其在通用数学领域中的含义:
两个服从多维伯努利分布的KL散度可以显式地计算出来:
据此,能够得到损失函数,其表示如下:
根据本公开的另一方面,提出了一种文本检索装置。图13示出了根据本公开实施例的文本检索装置900的示例性框图。
如图13所示的文本检索装置900包括文本特征提取模块910、扩展文本特征向量生成模块920、二进制编码生成模块930和文本检索结果生成模块940。
其中,文本特征提取模块910被配置为执行图1中步骤S101的操作,提取目标文本的文本特征,生成目标文本的文本特征向量。
所述目标文本的文本特征即为该目标文本自身所具有的语义特征,且所述文本特征向量旨在表征该文本的文本特征。
该文本特征向量例如可以通过对该目标文本进行文本数据向量化处理(TF-IDF)得到该目标文本的文本特征向量,或者也可以通过搜索算法(BM25)对该目标文本进行处理以得到其文本特征向量,本公开的实施例不受获取该文本特征向量的具体方式及其具体内容的限制。
所述扩展文本特征向量生成模块920被配置为执行图1中步骤S102的操作,基于该目标文本的文本特征向量、以及预设文本库中至少一个预设文本的文本特征向量,生成该目标文本的扩展文本特征向量。
所述目标文本的扩展文本特征向量用于表征该目标文本与预设文本库中预设文本的关系。其例如通过计算该目标文本的文本特征向量与预设文本库中的每一个预设文本的文本特征向量的余弦距离,并将余弦距离大于预设距离阈值的预设文本确定为该目标文本的邻居文本,并基于该邻居文本生成目标文本的扩展文本特征向量。然而,应了解,本公开的实施例不限于此,还可以采用其他方式生成目标文本的扩展文本特征向量。
所述二进制编码生成模块930被配置为执行图1中步骤S103的操作,基于目标文本的文本特征向量及扩展文本特征向量,生成该目标文本的二进制编码。
所述目标文本的二进制编码,即为目标文本的哈希编码,其旨在表征该编码中仅存在0、1数值而不存在其他数值。该二进制编码例如可以通过采用预设算法或神经网络对该文本特征向量及扩展文本特征向量进行处理得到。本公开的实施例不受该目标文本的二进制编码的具体生成方式及其内容的限制。
所文本检索结果生成模块940被配置为执行图1中步骤S104的操作,基于该目标文本的二进制编码及预设文本库中至少一个预设文本的二进制编码,在所述预设文本库中检索与该目标文本匹配的文本以生成文本检索结果。
基于上述,在本申请中,在提取目标文本的文本特征得到目标文本的文本特征向量的基础上,通过基于该目标文本的文本特征向量及预设文本库中预设文本的文本特征向量生成该目标文本的扩展文本特征向量,并基于目标文本的文本特征向量及扩展文本特征向量共同生成检索结果,使得在检索过程中综合考虑到了目标文本自身的语义特征及目标文本与预设文本间的文本间关系特征,从而有效地提高了检索精度,且该方法具有较高的鲁棒性及检索速度。
在一些实施例中,所述预设文本库中至少一个预设文本的二进制编码是基于该预设文本的文本特征向量以及该预设文本的扩展文本特征向量生成的,且所述扩展文本特征向量是基于该预设文本的邻居文本生成的,其中,所述邻居文本是所述预设文本库中与所述预设文本的相似度满足预定要求的文本。
基于上述,通过设置该预设文本库中的至少一个预设文本的二进制编码基于文本特征向量以及该预设文本的扩展文本特征向量生成,使得该预设文本库中每一个预设文本的二进制编码均体现了预设文本的自身语义特征及预设文本间的文本关系特征,从而有利于后续将该预设文本库中的二进制编码与目标文本的二进制编码进行比较来生成高精度的文本检索结果。
在一些实施例中,所述文本检索装置能够实现如前所述的方法,且具有如前所述的功能。
根据本公开的另一方面,提出了一种文本检索设备950。图14示出了根据本公开的实施例的文本检索设备的示例性流程图。
如图14所示的文本检索设备950可以实现为一个或多个专用或通用的计算机系统模块或部件,例如个人电脑、笔记本电脑、平板电脑、手机、个人数码助理(personaldigital assistance,PDA)及任何智能便携设备。其中,文本检索设备950可以包括至少一个处理器960及存储器970。
其中,所述至少一个处理器用于执行程序指令。所述存储器970在文本检索设备950中可以以不同形式的程序储存单元以及数据储存单元存在,例如硬盘、只读存储器(ROM)、随机存取存储器(RAM),其能够用于存储处理器处理和/或执行文本检索过程中使用的各种数据文件,以及处理器所执行的可能的程序指令。虽然未在图中示出,但文本检索设备950还可以包括一个输入/输出组件,支持文本检索设备950与其他组件之间的输入/输出数据流。文本检索设备950也可以通过通信端口从网络发送和接收信息及数据。
在一些实施例中,所述存储器970所存储的一组指令在由所述处理器960执行时,使所述文本检索设备950执行操作,所述操作包括:提取目标文本的文本特征,生成目标文本的文本特征向量;基于该目标文本的文本特征向量、以及预设文本库中至少一个预设文本的文本特征向量,生成该目标文本的扩展文本特征向量;基于目标文本的文本特征向量及扩展文本特征向量,生成该目标文本的二进制编码;基于该目标文本的二进制编码及预设文本库中至少一个预设文本的二进制编码,在所述预设文本库中检索与该目标文本匹配的文本以生成文本检索结果。
在一些实施例中,文本检索设备950可以接收来自该文本检索设备950外部的设备或用户传输的目标文本,并对接收的目标文本执行上文描述的文本检索方法、实现上文描述的文本检索装置的功能。
尽管在图10中,处理器960、存储器970呈现为单独的模块,本领域技术人员可以理解,上述设备模块可以被实现为单独的硬件设备,也可以被集成为一个或多个硬件设备。只要能够实现本公开描述的原理,不同的硬件设备的具体实现方式不应作为限制本公开保护范围的因素。
根据本公开的另一方面,还提供了一种非易失性的计算机可读存储介质,其上存储有计算机可读的指令,当利用计算机执行所述指令时可以执行如前所述的方法。
技术中的程序部分可以被认为是以可执行的代码和/或相关数据的形式而存在的“产品”或“制品”,通过计算机可读的介质所参与或实现的。有形的、永久的储存介质可以包括任何计算机、处理器、或类似设备或相关的模块所用到的内存或存储器。例如,各种半导体存储器、磁带驱动器、磁盘驱动器或者类似任何能够为软件提供存储功能的设备。
所有软件或其中的一部分有时可能会通过网络进行通信,如互联网或其他通信网络。此类通信可以将软件从一个计算机设备或处理器加载到另一个。例如:从文本检索设备的一个服务器或主机计算机加载至一个计算机环境的硬件平台,或其他实现系统的计算机环境,或与提供文本检索所需要的信息相关的类似功能的系统。因此,另一种能够传递软件元素的介质也可以被用作局部设备之间的物理连接,例如光波、电波、电磁波等,通过电缆、光缆或者空气等实现传播。用来载波的物理介质如电缆、无线连接或光缆等类似设备,也可以被认为是承载软件的介质。在这里的用法除非限制了有形的“储存”介质,其他表示计算机或机器“可读介质”的术语都表示在处理器执行任何指令的过程中参与的介质。
本申请使用了特定词语来描述本申请的实施例。如“第一/第二实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本申请的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本申请的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本申请的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
除非另有定义,这里使用的所有术语(包括技术和科学术语)具有与本发明所属领域的普通技术人员共同理解的相同含义。还应当理解,诸如在通常字典里定义的那些术语应当被解释为具有与它们在相关技术的上下文中的含义相一致的含义,而不应用理想化或极度形式化的意义来解释,除非这里明确地这样定义。
上面是对本发明的说明,而不应被认为是对其的限制。尽管描述了本发明的若干示例性实施例,但本领域技术人员将容易地理解,在不背离本发明的新颖教学和优点的前提下可以对示例性实施例进行许多修改。因此,所有这些修改都意图包含在权利要求书所限定的本发明范围内。应当理解,上面是对本发明的说明,而不应被认为是限于所公开的特定实施例,并且对所公开的实施例以及其他实施例的修改意图包含在所附权利要求书的范围内。本发明由权利要求书及其等效物限定。
Claims (14)
1.一种文本检索方法,包括:
提取目标文本的文本特征,生成目标文本的文本特征向量,所述目标文本的文本特征为该目标文本自身所具有的语义特征;
基于该目标文本的文本特征向量、以及预设文本库中至少一个预设文本的文本特征向量,生成该目标文本的扩展文本特征向量;
基于目标文本的文本特征向量及扩展文本特征向量,生成该目标文本的二进制编码;
基于该目标文本的二进制编码及预设文本库中至少一个预设文本的二进制编码,在所述预设文本库中检索与该目标文本匹配的文本以生成文本检索结果;
其中,基于该目标文本的文本特征向量以及预设文本库中至少一个预设文本的文本特征向量生成该目标文本的扩展文本特征向量包括:计算该目标文本的文本特征向量与预设文本库中至少一个预设文本的文本特征向量的余弦距离;将余弦距离大于预设距离阈值的预设文本确定为该目标文本的邻居文本;基于所述邻居文本,生成该目标文本的扩展文本特征向量。
2.如权利要求1所述的文本检索方法,其中,所述预设文本库中至少一个预设文本的二进制编码是基于该预设文本的文本特征向量以及该预设文本的扩展文本特征向量生成的,且所述扩展文本特征向量是基于该预设文本的邻居文本生成的,
其中,所述邻居文本是所述预设文本库中与所述预设文本的相似度满足预定要求的文本。
3.如权利要求2所述的文本检索方法,其中,所述预设文本的文本特征向量与所述邻居文本的文本特征向量的余弦距离大于预设距离阈值。
4.如权利要求1所述的文本检索方法,其中,基于目标文本的文本特征向量及扩展文本特征向量生成该目标文本的二进制编码包括:
基于该目标文本的文本特征向量及目标文本的扩展文本特征向量,生成该目标文本的特征压缩向量;
将该目标文本的特征压缩向量映射为二进制编码,生成该目标文本的二进制编码。
5.如权利要求4所述的文本检索方法,其中,基于该目标文本的文本特征向量及目标文本的扩展文本特征向量生成该目标文本的特征压缩向量包括:
对该文本特征向量进行压缩,生成该目标文本的第一特征压缩向量;
对该扩展文本特征向量进行压缩,生成该目标文本的第二特征压缩向量;
将所述第一特征压缩向量与所述第二特征压缩向量拼接,生成目标文本的文本特征压缩向量;
且其中,所述第一特征压缩向量的维数小于所述文本特征向量的维数,所述第二特征压缩向量的维数小于所述扩展文本特征向量的维数。
6.如权利要求1所述的文本检索方法,其中,基于该目标文本的二进制编码及预设文本库中至少一个预设文本的二进制编码,在所述预设文本库中检索与该目标文本匹配的文本以生成文本检索结果包括:
计算目标文本的二进制编码与预设文本库中至少一个预设文本的二进制编码的汉明距离;
基于所述汉明距离,确定文本检索结果。
7.一种文本检索模型的训练方法,所述文本检索模型包括向量生成模块、文本间关系生成模块、二进制编码模块、二进制解码模块,所述训练方法包括:
利用所述向量生成模块生成训练文本库中的每一个训练文本的文本特征向量,所述训练文本的文本特征向量为该训练文本自身所具有的语义特征;
对于所述训练文本库中的每一个训练文本,
利用所述文本间关系生成模块,基于该训练文本的文本特征向量以及所述训练文本库中其它训练文本的文本特征向量,确定在所述其它训练文本中确定该训练文本的邻居文本,并基于所确定的邻居文本生成该训练文本的扩展文本特征向量,其中,所述邻居文本是预设文本库中与所述预设文本的相似度满足预定要求的文本;
利用所述二进制编码模块,基于该训练文本的文本特征向量、以及该训练文本的扩展文本特征向量,生成该训练文本的预测二进制编码;
利用二进制解码模块,基于该预测二进制编码,生成该训练文本的预测文本特征向量以及该训练文本的预测扩展文本特征向量;
基于该训练文本的文本特征向量、该训练文本的扩展文本特征向量、该训练文本的预测文本特征向量、以及该训练文本的预测扩展文本特征向量,生成损失函数;
基于该损失函数,对所述二进制编码模块、二进制解码模块进行联合训练。
8.如权利要求7所述的训练方法,其中,通过训练所述二进制编码模块、二进制解码模块,使得所述该训练文本的预测文本特征向量与该训练文本的文本特征向量的相似度超出第一阈值,该训练文本的预测扩展文本向量与该训练文本的扩展文本向量的相似度超出第二阈值,所述第一阈值和第二阈值相同或不同。
9.如权利要求7所述的训练方法,其中,所述损失函数基于对数似然函数生成,且当所述对数似然函数的下界取得最大值时,所述损失函数具有最小值。
10.如权利要求7所述的训练方法,其中,在完成对所述二进制编码模块、二进制解码模块的联合训练之后,所述训练文本库中的每一个训练文本具有其对应的文本特征向量以及二进制编码。
11.一种文本检索装置,包括:
文本特征提取模块,其被配置为提取目标文本的文本特征,生成目标文本的文本特征向量,所述目标文本的文本特征为该目标文本自身所具有的语义特征;
扩展文本特征向量生成模块,其被配置为基于该目标文本的文本特征向量、以及预设文本库中至少一个预设文本的文本特征向量,生成该目标文本的扩展文本特征向量;
二进制编码生成模块,其被配置为基于目标文本的文本特征向量及扩展文本特征向量,生成该目标文本的二进制编码;
文本检索结果生成模块,其被配置为基于该目标文本的二进制编码及预设文本库中至少一个预设文本的二进制编码,在所述预设文本库中检索与该目标文本匹配的文本以生成文本检索结果;
其中,基于该目标文本的文本特征向量以及预设文本库中至少一个预设文本的文本特征向量生成该目标文本的扩展文本特征向量包括:计算该目标文本的文本特征向量与预设文本库中至少一个预设文本的文本特征向量的余弦距离;将余弦距离大于预设距离阈值的预设文本确定为该目标文本的邻居文本;基于所述邻居文本,生成该目标文本的扩展文本特征向量。
12.如权利要求11所述的文本检索装置,其中,所述预设文本库中至少一个预设文本的二进制编码是基于该预设文本的文本特征向量以及该预设文本的扩展文本特征向量生成的,且所述扩展文本特征向量是基于该预设文本的邻居文本生成的,
其中,所述邻居文本是所述预设文本库中与所述预设文本的相似度满足预定要求的文本。
13.一种文本检索设备,其中所述设备包括处理器和存储器,所述存储器包含一组指令,所述一组指令在由所述处理器执行时使所述文本检索设备执行操作,所述操作包括:
提取目标文本的文本特征,生成目标文本的文本特征向量,所述目标文本的文本特征为该目标文本自身所具有的语义特征;
基于该目标文本的文本特征向量、以及预设文本库中至少一个预设文本的文本特征向量,生成该目标文本的扩展文本特征向量;
基于目标文本的文本特征向量及扩展文本特征向量,生成该目标文本的二进制编码;
基于该目标文本的二进制编码及预设文本库中至少一个预设文本的二进制编码,在所述预设文本库中检索与该目标文本匹配的文本以生成文本检索结果;
其中,基于该目标文本的文本特征向量以及预设文本库中至少一个预设文本的文本特征向量生成该目标文本的扩展文本特征向量包括:计算该目标文本的文本特征向量与预设文本库中至少一个预设文本的文本特征向量的余弦距离;将余弦距离大于预设距离阈值的预设文本确定为该目标文本的邻居文本;基于所述邻居文本,生成该目标文本的扩展文本特征向量。
14.一种计算机可读存储介质,其特征在于,其上存储有计算机可读的指令,当利用计算机执行所述指令时执行上述权利要求1-10中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010737496.6A CN111737406B (zh) | 2020-07-28 | 2020-07-28 | 文本检索方法、装置及设备、文本检索模型的训练方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010737496.6A CN111737406B (zh) | 2020-07-28 | 2020-07-28 | 文本检索方法、装置及设备、文本检索模型的训练方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111737406A CN111737406A (zh) | 2020-10-02 |
CN111737406B true CN111737406B (zh) | 2022-11-29 |
Family
ID=72656173
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010737496.6A Active CN111737406B (zh) | 2020-07-28 | 2020-07-28 | 文本检索方法、装置及设备、文本检索模型的训练方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111737406B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7381814B2 (ja) * | 2020-12-15 | 2023-11-16 | 之江実験室 | マルチタスク向けの予めトレーニング言語モデルの自動圧縮方法及びプラットフォーム |
CN112989797B (zh) * | 2021-03-10 | 2023-11-14 | 北京百度网讯科技有限公司 | 模型训练、文本扩展方法,装置,设备以及存储介质 |
CN113761124B (zh) * | 2021-05-25 | 2024-04-26 | 腾讯科技(深圳)有限公司 | 文本编码模型的训练方法、信息检索方法及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105095162A (zh) * | 2014-05-19 | 2015-11-25 | 腾讯科技(深圳)有限公司 | 文本相似度确定方法、装置、电子设备及系统 |
US9710544B1 (en) * | 2016-05-19 | 2017-07-18 | Quid, Inc. | Pivoting from a graph of semantic similarity of documents to a derivative graph of relationships between entities mentioned in the documents |
CN110955745A (zh) * | 2019-10-16 | 2020-04-03 | 宁波大学 | 一种基于深度学习的文本哈希检索方法 |
CN111401928A (zh) * | 2020-04-01 | 2020-07-10 | 支付宝(杭州)信息技术有限公司 | 基于图数据确定文本的语义相似度的方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104657350B (zh) * | 2015-03-04 | 2017-06-09 | 中国科学院自动化研究所 | 融合隐式语义特征的短文本哈希学习方法 |
CN108280061B (zh) * | 2018-01-17 | 2021-10-26 | 北京百度网讯科技有限公司 | 基于歧义实体词的文本处理方法和装置 |
-
2020
- 2020-07-28 CN CN202010737496.6A patent/CN111737406B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105095162A (zh) * | 2014-05-19 | 2015-11-25 | 腾讯科技(深圳)有限公司 | 文本相似度确定方法、装置、电子设备及系统 |
US9710544B1 (en) * | 2016-05-19 | 2017-07-18 | Quid, Inc. | Pivoting from a graph of semantic similarity of documents to a derivative graph of relationships between entities mentioned in the documents |
CN110955745A (zh) * | 2019-10-16 | 2020-04-03 | 宁波大学 | 一种基于深度学习的文本哈希检索方法 |
CN111401928A (zh) * | 2020-04-01 | 2020-07-10 | 支付宝(杭州)信息技术有限公司 | 基于图数据确定文本的语义相似度的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111737406A (zh) | 2020-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108959246B (zh) | 基于改进的注意力机制的答案选择方法、装置和电子设备 | |
CN109033068B (zh) | 基于注意力机制的用于阅读理解的方法、装置和电子设备 | |
CN111737406B (zh) | 文本检索方法、装置及设备、文本检索模型的训练方法 | |
CN110598206A (zh) | 文本语义识别方法、装置、计算机设备和存储介质 | |
CN110674279A (zh) | 基于人工智能的问答处理方法、装置、设备及存储介质 | |
CN112395385B (zh) | 基于人工智能的文本生成方法、装置、计算机设备及介质 | |
JP7417679B2 (ja) | 情報抽出方法、装置、電子機器及び記憶媒体 | |
CN111353303B (zh) | 词向量构建方法、装置、电子设备及存储介质 | |
JP6738769B2 (ja) | 文ペア分類装置、文ペア分類学習装置、方法、及びプログラム | |
CN112085091B (zh) | 基于人工智能的短文本匹配方法、装置、设备及存储介质 | |
CN111985228A (zh) | 文本关键词提取方法、装置、计算机设备和存储介质 | |
CN113204611A (zh) | 建立阅读理解模型的方法、阅读理解方法及对应装置 | |
CN111767697B (zh) | 文本处理方法、装置、计算机设备以及存储介质 | |
CN116775497B (zh) | 数据库测试用例生成需求描述编码方法 | |
Huai et al. | Zerobn: Learning compact neural networks for latency-critical edge systems | |
CN111967253A (zh) | 一种实体消歧方法、装置、计算机设备及存储介质 | |
CN110705279A (zh) | 一种词汇表的选择方法、装置及计算机可读存储介质 | |
CN113342944B (zh) | 一种语料泛化方法、装置、设备及存储介质 | |
CN114490954A (zh) | 一种基于任务调节的文档级生成式事件抽取方法 | |
CN110795937A (zh) | 信息处理方法、装置及存储介质 | |
CN112989024B (zh) | 文本内容的关系提取方法、装置、设备及存储介质 | |
CN114358020A (zh) | 疾病部位识别方法、装置、电子设备及存储介质 | |
CN112307738B (zh) | 用于处理文本的方法和装置 | |
CN113761151A (zh) | 同义词挖掘、问答方法、装置、计算机设备和存储介质 | |
CN112149424A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40030767 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |