CN116737868A - 文本的匹配方法及装置、非易失性存储介质 - Google Patents

文本的匹配方法及装置、非易失性存储介质 Download PDF

Info

Publication number
CN116737868A
CN116737868A CN202310747953.3A CN202310747953A CN116737868A CN 116737868 A CN116737868 A CN 116737868A CN 202310747953 A CN202310747953 A CN 202310747953A CN 116737868 A CN116737868 A CN 116737868A
Authority
CN
China
Prior art keywords
text
determining
vector
gaussian
neural network
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.)
Pending
Application number
CN202310747953.3A
Other languages
English (en)
Inventor
马俊
储军梅
陈爱华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Telecom Corp Ltd
Original Assignee
China Telecom Corp Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Telecom Corp Ltd filed Critical China Telecom Corp Ltd
Priority to CN202310747953.3A priority Critical patent/CN116737868A/zh
Publication of CN116737868A publication Critical patent/CN116737868A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • G06F16/322Trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3334Selection or weighting of terms from queries, including natural language queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/094Adversarial learning
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种文本的匹配方法及装置、非易失性存储介质。其中,该方法包括:获取待检索文本;采用第一预设模型将待检索文本进行特征提取,得到多个嵌入式表征向量;利用第二预设模型对多个嵌入式表征向量进行白化操作,得到第一高斯向量,其中,第二预设模型包括:目标矩阵和偏置参数;获取待检索文本所对应文本库的树索引;在树索引中确定与第一高斯向量匹配的第二高斯向量,并将与第一高斯向量匹配的第二高斯向量对应的文本确定为待检索文本的匹配文本。本申请解决了由于相关技术采用人工标注的标签数据进行文本匹配造成的无法针对十万级和百万级数据进行检索匹配的技术问题。

Description

文本的匹配方法及装置、非易失性存储介质
技术领域
本申请涉及基于人工智能的自然语言处理技术领域,具体而言,涉及一种文本的匹配方法及装置、非易失性存储介质。
背景技术
随着近些年人工智能技术的迅速发展,特别是自然语言处理的日益更新,文本检索匹配成为自然语言处理领域一个比较核心的任务,不管是在对话系统、推荐系统还是搜索引擎中,文本匹配都是必不可少的。相关技术中,通常将深度学习的方法应用于中文文本检索匹配中,最常见的是有监督的学习,这种方法需要大量的可用于训练的有标签数据,而有标签数据是通过人工标注得到的,因此,需要企业承担不小的人工标注的成本。并且有监督学习通过标签训练得到的模型往往只能学到一些任务特定的知识,而不能学习到通用的知识,因此,有监督学习学到的特征表示难以迁移到其他任务,导致检索速度慢,匹配结果的有效性低。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种文本的匹配方法及装置、非易失性存储介质,以至少解决由于相关技术采用人工标注的标签数据进行文本匹配造成的无法针对十万级和百万级数据进行检索匹配的技术问题。
根据本申请实施例的一个方面,提供了一种文本的匹配方法,包括:获取待检索文本;采用第一预设模型将待检索文本进行特征提取,得到多个嵌入式表征向量,其中,第一预设模型的类型为神经网络模型;利用第二预设模型对多个嵌入式表征向量进行白化操作,得到第一高斯向量,其中,第二预设模型包括:目标矩阵和偏置参数;获取待检索文本所对应文本库的树索引,其中,树索引基于文本库中多个文本对应的多个第二高斯向量生成,第一高斯向量的向量维度与第二高斯向量的向量维度相同;在树索引中确定与第一高斯向量匹配的第二高斯向量,并将与第一高斯向量匹配的第二高斯向量对应的文本确定为待检索文本的匹配文本。
可选地,待检索文本对应的文本库的树索引通过以下方法生成:将组成树索引的树的个数确定为预设数量;基于多个第二高斯向量生成包含预设数量个树的树索引。
可选地,在树索引中确定与第一高斯向量匹配的第二高斯向量,包括:在树索引中确定匹配路径;确定在匹配路径上的多个第二高斯向量中的各个第二高斯向量与第一高斯向量的余弦值,得到多个余弦值;将多个余弦值中的最小余弦值对应的第二高斯向量和第一高斯向量确定为向量组,并将向量组中的第二高斯向量对应的文本确定为待检索文本的匹配文本。
可选地,第一预设模型通过以下方法生成:将文本库中的目标文本删除,得到训练文本,其中,目标文本至少包括:英文和字符;将训练文本输入基础神经网络模型进行分析,得到第一输出结果,并再次将训练文本输入基础神经网络模型进行分析,得到第二输出结果;将由同一个训练文本的第一输出结果和第二输出结果作为正样本对,并将由任意两个不同的训练文本的第一输出结果和第二输出结果作为负样本对;根据多个正样本对和多个负样本对基础神经网络模型进行对抗训练,生成第一预设模型。
可选地,根据多个正样本对和多个负样本对基础神经网络模型进行对抗训练,生成第一预设模型,包括:根据多个正样本对和多个负样本对确定基础神经网络模型的第一损失函数;通过反向传播算法确定第一损失函数在基础神经网络模型中每个参数上的第一梯度;获取扰动参数,利用扰动参数对基础神经网络模型进行更改,得到更改后的神经网络模型;根据多个正样本对和多个负样本对确定更改后的神经网络模型的第二损失函数,并通过反向传播算法确定第二损失函数在更改后的神经网络模型中每个参数上的第二梯度;将第一梯度与第二梯度的和确定为对抗梯度;依据预设优化算法和对抗梯度确定目标参数,并将神经网络模型的参数修正为目标参数,其中,修正后得到的神经网络模型为第一预设模型。
可选地,根据多个正样本对和多个负样本对确定基础神经网络模型的第一损失函数,包括:确定每一个正样本对的第一条件概率和每一个负样本对的第二条件概率,并确定每一个第一条件概率的第一对数值和每一个第二条件概率的第二对数值;确定多个第一对数值与多个第二对数值的和,并确定训练文本的数量;确定多个第一对数值与多个第二对数值的和与训练文本的数量的比值,并将比值的负数确定为第一损失函数。
可选地,第二预设模型通过以下方法生成:获取多个训练文本的多个嵌入式表征向量,并确定多个嵌入式表征向量的平均值;确定由多个嵌入式表征向量组成的矩阵的协方差矩阵;基于协方差矩阵确定目标矩阵,并将目标矩阵和平均值共同确定为第二预设模型,其中,平均值为第二预设模型中的偏置参数。
可选地,利用第二预设模型对多个嵌入式表征向量进行白化操作,得到第一高斯向量,包括:确定第二预设模型中的变换矩阵的矩阵内积;确定待检索文本的嵌入式表征向量与平均值的和;将待检索文本的嵌入式表征向量与平均值的和与矩阵内积的乘积确定为待检索文本的第一高斯向量。
根据本申请实施例的另一方面,还提供了一种文本的匹配装置,包括:第一获取模块,用于获取待检索文本;特征提取模块,用于采用第一预设模型将待检索文本进行特征提取,得到多个嵌入式表征向量,其中,第一预设模型的类型为神经网络模型;白化操作模块,用于利用第二预设模型对多个嵌入式表征向量进行白化操作,得到第一高斯向量,其中,第二预设模型包括:目标矩阵和偏置参数;第二获取模块,用于获取待检索文本所对应文本库的树索引,其中,树索引基于文本库中多个文本对应的多个第二高斯向量生成,第一高斯向量的向量维度与第二高斯向量的向量维度相同;确定模块,用于在树索引中确定与第一高斯向量匹配的第二高斯向量,并将与第一高斯向量匹配的第二高斯向量对应的文本确定为待检索文本的匹配文本。
根据本申请实施例的另一方面,还提供了一种非易失性存储介质,该非易失性存储介质中存储有计算机程序,其中,在非易失性存储介质所在设备通过运行计算机程序执行上述的文本的匹配方法。
根据本申请实施例的另一方面,还提供了一种电子设备,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为通过计算机程序执行上述的文本的匹配方法。
在本申请实施例中,采用获取待检索文本;采用第一预设模型将待检索文本进行特征提取,得到多个嵌入式表征向量,其中,第一预设模型的类型为神经网络模型;利用第二预设模型对多个嵌入式表征向量进行白化操作,得到第一高斯向量,其中,第二预设模型包括:目标矩阵和偏置参数;获取待检索文本所对应文本库的树索引,其中,树索引基于文本库中多个文本对应的多个第二高斯向量生成,第一高斯向量的向量维度与第二高斯向量的向量维度相同;在树索引中确定与第一高斯向量匹配的第二高斯向量,并将与第一高斯向量匹配的第二高斯向量对应的文本确定为待检索文本的匹配文本的方式,通过利用暂退机制(dropout)形成对比学习的正负样本对,在深度学习训练阶段加入对抗训练,增加与梯度方向变化一致的扰动,以提高模型的泛化能力。同时对神经网络输出的嵌入式表征向量进行融合白化操作,即通过线性变换将嵌入式表征向量转换成各向同性的高斯向量,充分利用神经网络对底层语义特征的表征能力,在推断阶段以临近算法(annoy)这一高维空间索引代替传统的信息检索方法,达到了提高推断速度的目的,从而实现了基于无需人工标注的正负样本对实现快速有效的中文文本检索匹配的技术效果,进而解决了由于相关技术采用人工标注的标签数据进行文本匹配造成的无法针对十万级和百万级数据进行检索匹配技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的用于实现文本的匹配方法的计算机终端(或移动设备)的硬件结构框图;
图2是根据本申请实施例的文本的匹配方法的流程图;
图3是根据本申请实施例的文本的匹配装置的结构图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了更好地理解本申请实施例,以下将本申请实施例中涉及的技术术语解释如下:
神经网络模型:简称神经网络(Neural Network,NN)或类神经网络,在机器学习和认知科学领域,是一种模仿生物神经网络的结构和功能的数学模型或计算模型,用于对函数进行估计或近似。神经网络由大量的人工神经元联结进行计算。是一种具备学习功能自适应系统。
偏置参数/偏置项(bias term):也称截距项(intercept term),在神经网络模型中称为偏置单元(bias unit),是函数在纵轴(y)上的截距,控制着函数偏离原点的距离。
反向传播算法:(Back Propagation,BP)是“误差反向传播”的简称,是一种与最优化方法(如梯度下降法)结合使用的,用来训练人工神经网络的常见方法。该方法对网络中所有权重计算损失函数的梯度。这个梯度会反馈给最优化方法,用来更新权值以最小化损失函数。
梯度:表示某一函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大。
在相关技术中,利用大规模人工标注的标签数据进行中文文本检索,因此,存在需要大量的人工参与、检索速度慢以及检索结果有效性低的问题。为了解决该问题,本申请实施例中提供了相关的解决方案,以下详细说明。
根据本申请实施例,提供了一种文本的匹配方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现文本的匹配方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为BUS总线的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的文本的匹配方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的文本的匹配方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
在上述运行环境下,本申请实施例提供了一种文本的匹配方法,图2是根据本申请实施例提供的文本的匹配方法的流程图,如图2所示,该方法包括如下步骤:
步骤S202,获取待检索文本。
本申请实施例提供了一种基于临近算法(annoy)的文本匹配方法,根据本申请实施例提供的方法,在初次进行检索匹配时,用户可同时输入带检索文本和与待检索文本匹配的文本库,初次检索中在基于文本库生成树索引后,树索引将被保存在数据库中,以后每次检索时可直接调用。本申请实施例中的文本匹配方法是在数据库中保存有多个文本库对应的多个树索引的情况下进行的,在步骤S202中,接收用户输入的待检索文本,其中,用户输入的待检索文本可以是一个或者多个。
步骤S204,采用第一预设模型将待检索文本进行特征提取,得到多个嵌入式表征向量,其中,第一预设模型的类型为神经网络模型。
在步骤S204中,利用训练好的、用于特征提取的神经网络模型(即第一预设模型)对在步骤S202中接收到的待检索文本进行特征提取,得到待检索文本对应的嵌入式表征向量,其中,每个待检索文本对应的一个嵌入式表征向量;即如果在步骤S202中接收到一个待检索文本,则得到一个嵌入式表征向量;如果在步骤S202中接收到多个待检索文本,则得到多个嵌入式表征向量。
根据本申请一个可选的实施例,第一预设模型通过以下方法生成:将文本库中的目标文本删除,得到训练文本,其中,目标文本至少包括:英文和字符;将训练文本输入基础神经网络模型进行分析,得到第一输出结果,并再次将训练文本输入基础神经网络模型进行分析,得到第二输出结果;将由同一个训练文本的第一输出结果和第二输出结果作为正样本对,并将由任意两个不同的训练文本的第一输出结果和第二输出结果作为负样本对;根据多个正样本对和多个负样本对基础神经网络模型进行对抗训练,生成第一预设模型。
第一预设模型为训练后的神经网络模型,在本实施例中,第一预设模型通过以下方法训练得到,首先,对初始获得的数据进行清洗,本申请实施例提供的匹配方法用于中文文本匹配,因此,将初始获得的数据中的英文和字符(即目标文本)等其它文本数据删除;将删除了目标文本后的数据作为训练文本。在清洗数据后,通过以下步骤训练基础神经网络模型:首先,利用训练文本生成正负样本对,以基于正负样本对对基础神经网络模型进行对抗训练,得到第一预设模型。其中,正负样本对通过以下方法得到:将训练文本输入到基础神经网络模型两次,其中,第一次输入会得到一批处理结果quei(即第一输出结果),第二次输入会再次得到一批处理结果posi(即第二输出结果);将由训练文本的第一输出结果和第二输出结果组成的向量组(quei,posj)作为样本对,其中,i和j均表示任意一个训练文本,当i=j时,向量组(quei,posj)为正样本对,当i≠j时,向量组(quei,posj)为负样本对。
根据本申请另一个可选的实施例,根据多个正样本对和多个负样本对基础神经网络模型进行对抗训练,生成第一预设模型,包括:根据多个正样本对和多个负样本对确定基础神经网络模型的第一损失函数;通过反向传播算法确定第一损失函数在基础神经网络模型中每个参数上的第一梯度;获取扰动参数,利用扰动参数对基础神经网络模型进行更改,得到更改后的神经网络模型;根据多个正样本对和多个负样本对确定更改后的神经网络模型的第二损失函数,并通过反向传播算法确定第二损失函数在更改后的神经网络模型中每个参数上的第二梯度;将第一梯度与第二梯度的和确定为对抗梯度;依据预设优化算法和对抗梯度确定目标参数,并将神经网络模型的参数修正为目标参数,其中,修正后得到的神经网络模型为第一预设模型。
在通过上一实施例中的方法得到多个正样本对和多个负样本对之后,利用多个正样本对和多个负样本对进行基础神经网络模型的对抗训练,对抗训练的方法如下:首先,利用多个正样本对和多个负样本对确定基础神经网络模型的(第一)损失函数BatchLoss;接下来,通过反向传播算法计算(第一)损失函数BatchLoss在基础神经网络模型的每个参数上的(第一)梯度g。接下来,利用获取的扰动参数更改基础神经网络模型,得到更改后的神经网络模型,方法如下:首先,根据公式r=ε*sign(g)计算得到扰动攻击r,用符号函数sign(g)在保证饶东方向与原始的梯度方向一致的情况下,利用扰动攻击r攻击基础神经网络模型(即将r与基础神经网络模型每一个参数相加),得到攻击后的神经网络模型(即更改后的神经网络模型);然后,再次利用多个正样本对和多个负样本对确定更改后的神经网络模型的(第二)损失函数BatchLoss,利用反向传播算法计算(第二)损失函数BatchLoss在更改后的神经网络模型的每个参数上的(第二)梯度g;并根据公式G=g+g确定对抗梯度G。将利用预设优化算法(AdamW优化算法)根据对抗梯度G确定神经网络模型的最优参数(即目标参数),将基础神经网络模型训练为参数为最优参数(即目标参数)的神经网络模型并保存,其中,上述参数为最优参数(即目标参数)的神经网络模型即为第一预设模型。
根据本申请一些可选的实施例,根据多个正样本对和多个负样本对确定基础神经网络模型的第一损失函数,包括:确定每一个正样本对的第一条件概率和每一个负样本对的第二条件概率,并确定每一个第一条件概率的第一对数值和每一个第二条件概率的第二对数值;确定多个第一对数值与多个第二对数值的和,并确定训练文本的数量;确定多个第一对数值与多个第二对数值的和与训练文本的数量的比值,并将比值的负数确定为第一损失函数。
上述实施例中的损失函数BatchLoss是根据以下公式求得的,其中,i为任意一个训练文本,N为一组训练文本中样本对的个数,P(posi丨quej)为在quej出现的情况下posi出现的概率(即条件概率),当i=j时,P(posi丨quej)即为正样本对的概率(即第一概率),当I≠j时,P(posi丨quej)即为负样本对的概率(即第二概率)。
损失函数BatchLoss还可以通过以下公式得到,其中,S(posi,quej)为神经网络函数的输出结果,其中,posi为将训练文本第一次输入基础神经网络模型得到的(第一)输出结果,quej为将训练文本第二次输入基础神经网络模型得到的(第二)输出结果,i合j表示任意一个训练文本,当i=j时,S(posi,quej)为正样本对,当I≠j时,S(posi,quej)即为负样本对。
步骤S206,利用第二预设模型对多个嵌入式表征向量进行白化操作,得到第一高斯向量,其中,第二预设模型包括:目标矩阵和偏置参数。
在步骤S206中,利用由变换矩阵(即目标矩阵)和其偏置项(即偏置参数)组成的第二预设模型对在步骤S204中得到的嵌入式表征向量进行白化操作,得到各向同性、均值为0且协方差矩阵为单位矩阵的高斯分布向量(即第一高斯向量),其中,每个嵌入式表征向量对应一个(第一)高斯向量,即每个待检索文本对应一个(第一)高斯向量。
根据本申请一个可选的实施例,第二预设模型通过以下方法生成:获取多个训练文本的多个嵌入式表征向量,并确定多个嵌入式表征向量的平均值;确定由多个嵌入式表征向量组成的矩阵的协方差矩阵;基于协方差矩阵确定目标矩阵,并将目标矩阵和平均值共同确定为第二预设模型,其中,平均值为第二预设模型中的偏置参数。
第二预设模型中包括目标矩阵和偏置参数两项,在本实施例中,偏置参数通过以下方法得到,用于生成待检索文本对应的(第一)高斯向量和文本库中的文本对应的(第二)高斯向量的第二预设模型基于第一预设模型输出的嵌入式表征向量得到,偏置参数也是基于嵌入式表征向量得到的。根据公式将第一预设模型输出的多个嵌入式表征向量的平均值bias确定为偏置项(即偏置参数)其中,xi为任意一个训练文本的嵌入式表征向量,N为训练文本的数量。目标矩阵通过以下方法得到:将由多个嵌入式表征向量xi组成的矩阵确定为基础矩阵,根据基础数学算法得到基础矩阵的协方差矩阵Σ,接下来,利用奇异值分解算法(Singular Value Decomposition,SVD)将协方差矩阵Σ分解为∑=U∧UT,其中,U是协方差矩阵Σ经SVD算法分解得出的正交矩阵,∧为对角元素为正数的对角矩阵。变换矩阵kernal(即目标矩阵)通过公式/>得到。最后将通过本实施例提供的方法得到的变换矩阵kernal和通过上一实施例提供的方法得到的偏置项(即偏置参数)bias共同保存在数据库中作为第二预设模型使用。
根据本申请另一些可选的实施例,利用第二预设模型对多个嵌入式表征向量进行白化操作,得到第一高斯向量,包括:确定第二预设模型中的变换矩阵的矩阵内积;确定待检索文本的嵌入式表征向量与平均值的和;将待检索文本的嵌入式表征向量与平均值的和与矩阵内积的乘积确定为待检索文本的第一高斯向量。
第二预设模型通过公式y=(x+bias).dot(kernal)生成任意文本的高斯向量(包括第一高斯向量和第二高斯向量),其中,dot(kernal)为变换矩阵kernal(即目标矩阵)的内积,y为输入的嵌入式表征向量x对应的高斯向量;如果x为待检索文本对应的嵌入式表征向量,y即为第一高斯向量;如果x为文本库中的文本的嵌入式表征向量,y即为第二高斯向量。
步骤S208,获取待检索文本所对应文本库的树索引,其中,树索引基于文本库中多个文本对应的多个第二高斯向量生成,第一高斯向量的向量维度与第二高斯向量的向量维度相同。
在步骤S208中,确定待检索文本对应的文本库,并从数据库中获取基于该文本库生成的树索引;其中,该文本库的树索引是基于该文本库中每个文本对应的(第二)高斯向量生成的;需要说明的是,待检索文本对应的(第一)高斯向量和文本库中每个文本对应的(第二)高斯向量都是基于第一预设模型和第二预设模型得到的,因此,待检索文本对应的(第一)高斯向量与文本库中每个文本对应的(第二)高斯向量是维度相同的向量,因而,可以进行后续的匹配。
根据本申请一个可选的实施例,待检索文本对应的文本库的树索引通过以下方法生成:将组成树索引的树的个数确定为预设数量;基于多个第二高斯向量生成包含预设数量个树的树索引。
在本实施例中,树索引通过以下方法生成:文本库中的文本在依次经过第一预设模型和第二预设模型的转换后得到与文本库中的多个文本对应的多个(第二)高斯向量;基于(第二)高斯向量生成预设数量棵树,并给予生成树生成树索引;其中,生成的树的数量可以通过人为设定,树索引中的树的数量越多,检索的结果越精确,但相应的检索耗费的时间也越长,如果树索引中的树的数量较少,检索的速度快、耗费时间短,但检索得到的结果的准确度也越低,因此,通常依据检索的数据的数量定义树索引中的树的数量。举例来说。在生成树索引时,将多个(第二)高斯向量看做分布在一个平面的多个点,如果预设数量是2,则用一条线将这个平面分割为两个平面,分割后的两个平面各自对应一棵树,即树索引中树的数量与分割得到的平面的数量相同。
步骤S210,在树索引中确定与第一高斯向量匹配的第二高斯向量,并将与第一高斯向量匹配的第二高斯向量对应的文本确定为待检索文本的匹配文本。
在步骤S210中,在步骤S208中得到的树索引中确定与待检索文本对应的(第一)高斯向量最匹配的第二高斯向量,该第二高斯向量对应的文本库中的文本即为待检索文本的匹配文本。
根据本申请一个可选的实施例,在树索引中确定与第一高斯向量匹配的第二高斯向量,包括:在树索引中确定匹配路径;确定在匹配路径上的多个第二高斯向量中的各个第二高斯向量与第一高斯向量的余弦值,得到多个余弦值;将多个余弦值中的最小余弦值对应的第二高斯向量和第一高斯向量确定为向量组,并将向量组中的第二高斯向量对应的文本确定为待检索文本的匹配文本。
在本实施例中,在树索引的多个与文本库中的文本对应的多个(第二)高斯向量中确定与待检索文本对应的(第一)高斯向量最匹配的一个(第二)高斯向量时,首先需要确定匹配路径。举例来说,在通过上一实施例提供的方法将多个(第二)高斯向量所在的一整个平面分割为两个平面之后,在确定匹配路径时需要确定待匹配的(第一)高斯向量落在哪一个平面,如果落在第一个平面,则匹配路径就是将待匹配的(第一)高斯向量与该平面中所有(第二)高斯向量依次匹配时的路径;如果将多个(第二)高斯向量所在的一整个平面分割为多个平面则在初次判断待匹配的(第一)高斯向量落在哪个平面后,按照树索引依次确定该平面的上一个平面,即,将该平面是树索引的一个节点,在树索引中向着根节点的方向逐个寻找表示该平面的节点的每个根节点,这些节点组成的路劲即为匹配路径。在确定了匹配路径后,确定匹配的(第一)高斯向量与匹配路径上的每一个(第二)高斯向量的余弦值;将其中的最小的余弦值对应的(第一)高斯向量和(第二)高斯向量为最匹配的向量组,向量组中的(第二)高斯向量对应的文本库中的文本就是向量组中的(第一)高斯向量对应的待检索文本的匹配文本。
需要说明的是,本申请实施例还可以预先设定余弦值阈值,根据余弦值阈值确定匹配结果的有效性,其中,余弦值与余弦值阈值越接近说明余弦值对应的匹配结果准确度越高。
通过上述步骤,可以实现在利用对比学习的同时引入对抗训练、基于变换器的双向编码器表示(Bidirectional Encoder Representations from Transformer,BERT)输出文本向量白化操作以及基于临近算法(annoy)的向量搜索框架,设计了一种全新的深度学习中文文本检索匹配模型,有效解决了在缺乏大量需要人工标注的标签训练数据下的中文文本检索匹配问题,提升了匹配准确率及检索匹配速度,提高了检索匹配的效果。
图3是根据本申请实施例提供的一种文本的匹配装置的结构图,如图3所示,该文本的匹配装置包括:第一获取模块30,用于获取待检索文本;特征提取模块32,用于采用第一预设模型将待检索文本进行特征提取,得到多个嵌入式表征向量,其中,第一预设模型的类型为神经网络模型;白化操作模块34,用于利用第二预设模型对多个嵌入式表征向量进行白化操作,得到第一高斯向量,其中,第二预设模型包括:目标矩阵和偏置参数;第二获取模块36,用于获取待检索文本所对应文本库的树索引,其中,树索引基于文本库中多个文本对应的多个第二高斯向量生成,第一高斯向量的向量维度与第二高斯向量的向量维度相同;确定模块38,用于在树索引中确定与第一高斯向量匹配的第二高斯向量,并将与第一高斯向量匹配的第二高斯向量对应的文本确定为待检索文本的匹配文本。
需要说明的是,图3所示实施例的优选实施方式可以参见图2所示实施例的相关描述,此处不再赘述。
本申请实施例的,还提供了一种非易失性存储介质,该非易失性存储介质中存储有计算机程序,其中,在非易失性存储介质所在设备通过运行计算机程序执行以上的文本的匹配方法。
上述非易失性存储介质用于存储执行以下功能的程序:获取待检索文本;采用第一预设模型将待检索文本进行特征提取,得到多个嵌入式表征向量,其中,第一预设模型的类型为神经网络模型;利用第二预设模型对多个嵌入式表征向量进行白化操作,得到第一高斯向量,其中,第二预设模型包括:目标矩阵和偏置参数;获取待检索文本所对应文本库的树索引,其中,树索引基于文本库中多个文本对应的多个第二高斯向量生成,第一高斯向量的向量维度与第二高斯向量的向量维度相同;在树索引中确定与第一高斯向量匹配的第二高斯向量,并将与第一高斯向量匹配的第二高斯向量对应的文本确定为待检索文本的匹配文本。
本申请实施例还提供了一种电子设备,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为通过计算机程序执行以上的文本的匹配方法。
上述电子设备中的处理器用于运行执行以下功能的程序:获取待检索文本;采用第一预设模型将待检索文本进行特征提取,得到多个嵌入式表征向量,其中,第一预设模型的类型为神经网络模型;利用第二预设模型对多个嵌入式表征向量进行白化操作,得到第一高斯向量,其中,第二预设模型包括:目标矩阵和偏置参数;获取待检索文本所对应文本库的树索引,其中,树索引基于文本库中多个文本对应的多个第二高斯向量生成,第一高斯向量的向量维度与第二高斯向量的向量维度相同;在树索引中确定与第一高斯向量匹配的第二高斯向量,并将与第一高斯向量匹配的第二高斯向量对应的文本确定为待检索文本的匹配文本。
需要说明的是,上述文本的匹配装置中的各个模块可以是程序模块(例如是实现某种特定功能的程序指令集合),也可以是硬件模块,对于后者,其可以表现为以下形式,但不限于此:上述各个模块的表现形式均为一个处理器,或者,上述各个模块的功能通过一个处理器实现。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (11)

1.一种文本的匹配方法,其特征在于,包括:
获取待检索文本;
采用第一预设模型将所述待检索文本进行特征提取,得到多个嵌入式表征向量,其中,所述第一预设模型的类型为神经网络模型;
利用第二预设模型对所述多个嵌入式表征向量进行白化操作,得到第一高斯向量,其中,所述第二预设模型包括:目标矩阵和偏置参数;
获取所述待检索文本所对应文本库的树索引,其中,所述树索引基于所述文本库中多个文本对应的多个第二高斯向量生成,所述第一高斯向量的向量维度与所述第二高斯向量的向量维度相同;
在所述树索引中确定与所述第一高斯向量匹配的第二高斯向量,并将与所述第一高斯向量匹配的第二高斯向量对应的文本确定为所述待检索文本的匹配文本。
2.根据权利要求1所述的方法,其特征在于,所述待检索文本对应的文本库的树索引通过以下方法生成:
将组成所述树索引的树的个数确定为预设数量;
基于多个所述第二高斯向量生成包含所述预设数量个树的树索引。
3.根据权利要求1所述的方法,其特征在于,在所述树索引中确定与所述第一高斯向量匹配的第二高斯向量,包括:
在所述树索引中确定匹配路径;
确定在所述匹配路径上的多个所述第二高斯向量中的各个所述第二高斯向量与所述第一高斯向量的余弦值,得到多个余弦值;
将所述多个余弦值中的最小余弦值对应的第二高斯向量和所述第一高斯向量确定为向量组,并将所述向量组中的第二高斯向量对应的文本确定为所述待检索文本的匹配文本。
4.根据权利要求1所述的方法,其特征在于,所述第一预设模型通过以下方法生成:
将所述文本库中的目标文本删除,得到训练文本,其中,所述目标文本至少包括:英文和字符;
将所述训练文本输入基础神经网络模型进行分析,得到第一输出结果,并再次将所述训练文本输入所述基础神经网络模型进行分析,得到第二输出结果;
将由同一个所述训练文本的第一输出结果和第二输出结果作为正样本对,并将由任意两个不同的所述训练文本的第一输出结果和第二输出结果作为负样本对;
根据多个所述正样本对和多个所述负样本对所述基础神经网络模型进行对抗训练,生成所述第一预设模型。
5.根据权利要求4所述的方法,其特征在于,根据多个所述正样本对和多个所述负样本对所述基础神经网络模型进行对抗训练,生成所述第一预设模型,包括:
根据多个所述正样本对和多个所述负样本对确定所述基础神经网络模型的第一损失函数;
通过反向传播算法确定所述第一损失函数在所述基础神经网络模型中每个参数上的第一梯度;
获取扰动参数,利用所述扰动参数对所述基础神经网络模型进行更改,得到更改后的神经网络模型;
根据多个所述正样本对和多个所述负样本对确定所述更改后的神经网络模型的第二损失函数,并通过所述反向传播算法确定所述第二损失函数在所述更改后的神经网络模型中每个参数上的第二梯度;
将所述第一梯度与所述第二梯度的和确定为对抗梯度;
依据预设优化算法和所述对抗梯度确定目标参数,并将所述神经网络模型的参数修正为所述目标参数,其中,修正后得到的神经网络模型为所述第一预设模型。
6.根据权利要求5所述的方法,其特征在于,根据多个所述正样本对和多个所述负样本对确定所述基础神经网络模型的第一损失函数,包括:
确定每一个所述正样本对的第一条件概率和每一个所述负样本对的第二条件概率,并确定每一个所述第一条件概率的第一对数值和每一个所述第二条件概率的第二对数值;
确定多个所述第一对数值与多个所述第二对数值的和,并确定所述训练文本的数量;
确定多个所述第一对数值与多个所述第二对数值的和与所述训练文本的数量的比值,并将所述比值的负数确定为所述第一损失函数。
7.根据权利要求4所述的方法,其特征在于,所述第二预设模型通过以下方法生成:
获取多个所述训练文本的多个嵌入式表征向量,并确定所述多个嵌入式表征向量的平均值;
确定由所述多个嵌入式表征向量组成的矩阵的协方差矩阵;
基于所述协方差矩阵确定所述目标矩阵,并将所述目标矩阵和所述平均值共同确定为所述第二预设模型,其中,所述平均值为所述第二预设模型中的偏置参数。
8.根据权利要求7所述的方法,其特征在于,利用第二预设模型对所述多个嵌入式表征向量进行白化操作,得到第一高斯向量,包括:
确定所述第二预设模型中的变换矩阵的矩阵内积;
确定所述待检索文本的嵌入式表征向量与所述平均值的和;
将所述待检索文本的嵌入式表征向量与所述平均值的和与所述矩阵内积的乘积确定为所述待检索文本的第一高斯向量。
9.一种文本的匹配装置,其特征在于,包括:
第一获取模块,用于获取待检索文本;
特征提取模块,用于采用第一预设模型将所述待检索文本进行特征提取,得到多个嵌入式表征向量,其中,所述第一预设模型的类型为神经网络模型;
白化操作模块,用于利用第二预设模型对所述多个嵌入式表征向量进行白化操作,得到第一高斯向量,其中,所述第二预设模型包括:目标矩阵和偏置参数;
第二获取模块,用于获取所述待检索文本所对应文本库的树索引,其中,所述树索引基于所述文本库中多个文本对应的多个第二高斯向量生成,所述第一高斯向量的向量维度与所述第二高斯向量的向量维度相同;
确定模块,用于在所述树索引中确定与所述第一高斯向量匹配的第二高斯向量,并将与所述第一高斯向量匹配的第二高斯向量对应的文本确定为所述待检索文本的匹配文本。
10.一种非易失性存储介质,其特征在于,所述非易失性存储介质中存储有计算机程序,其中,在所述非易失性存储介质所在设备通过运行所述计算机程序执行权利要求1至8中任意一项所述的文本的匹配方法。
11.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行权利要求1至8中任意一项所述的文本的匹配方法。
CN202310747953.3A 2023-06-21 2023-06-21 文本的匹配方法及装置、非易失性存储介质 Pending CN116737868A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310747953.3A CN116737868A (zh) 2023-06-21 2023-06-21 文本的匹配方法及装置、非易失性存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310747953.3A CN116737868A (zh) 2023-06-21 2023-06-21 文本的匹配方法及装置、非易失性存储介质

Publications (1)

Publication Number Publication Date
CN116737868A true CN116737868A (zh) 2023-09-12

Family

ID=87914790

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310747953.3A Pending CN116737868A (zh) 2023-06-21 2023-06-21 文本的匹配方法及装置、非易失性存储介质

Country Status (1)

Country Link
CN (1) CN116737868A (zh)

Similar Documents

Publication Publication Date Title
US11501182B2 (en) Method and apparatus for generating model
CN111444320B (zh) 文本检索方法、装置、计算机设备和存储介质
CN108804641B (zh) 一种文本相似度的计算方法、装置、设备和存储介质
CN110147551B (zh) 多类别实体识别模型训练、实体识别方法、服务器及终端
CN112100529B (zh) 搜索内容排序方法、装置、存储介质和电子设备
CN109902159A (zh) 一种基于自然语言处理的智能运维语句相似度匹配方法
CN111382248B (zh) 一种问题回复方法、装置、存储介质及终端设备
CN113010683B (zh) 基于改进图注意力网络的实体关系识别方法及系统
CN110399547B (zh) 用于更新模型参数的方法、装置、设备和存储介质
CN117076688A (zh) 基于领域知识图谱的知识问答方法及其装置、电子设备
CN111125295A (zh) 一种基于lstm的获取食品安全问题答案的方法及系统
CN111553140B (zh) 数据处理方法、数据处理设备及计算机存储介质
CN117851605B (zh) 一种行业知识图谱构建方法、计算机设备及存储介质
CN114490926A (zh) 一种相似问题的确定方法、装置、存储介质及终端
CN115840867A (zh) 数学解题模型的生成方法、装置、电子设备和存储介质
JP2020086548A (ja) 処理装置、処理方法、及び処理プログラム
CN109582802B (zh) 一种实体嵌入方法、装置、介质及设备
CN115859973A (zh) 文本特征提取方法、装置、非易失性存储介质及电子设备
CN115730037A (zh) 目标文本检索方法及装置
CN115658921A (zh) 一种基于预训练语言模型的开放域科学知识发现方法和装置
CN116737868A (zh) 文本的匹配方法及装置、非易失性存储介质
JP7081455B2 (ja) 学習装置、学習方法、及び学習プログラム
CN115186096A (zh) 针对特定类型分词的识别方法、装置、介质及电子设备
CN113704422A (zh) 一种文本推荐方法、装置、计算机设备和存储介质
CN114942980B (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