CN114817452A - 一种语义匹配方法、装置、设备及可存储介质 - Google Patents
一种语义匹配方法、装置、设备及可存储介质 Download PDFInfo
- Publication number
- CN114817452A CN114817452A CN202110070112.4A CN202110070112A CN114817452A CN 114817452 A CN114817452 A CN 114817452A CN 202110070112 A CN202110070112 A CN 202110070112A CN 114817452 A CN114817452 A CN 114817452A
- Authority
- CN
- China
- Prior art keywords
- text
- similarity
- prediction network
- semantic
- training
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- 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/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种语义匹配方法、装置、设备及可存储介质,涉及人工智能技术领域,尤其涉及自然语言处理领域。该方法包括:获取待匹配的第一文本和第二文本;将所述第一文本和第二文本输入语义相似度预测网络,确定所述第一文本和第二文本的相似度;提取所述第一文本和第二文本的第一特征向量;将所述第一特征向量输入相似度动态阈值预测网络,确定所述第一文本和第二文本对应的相似度动态阈值;根据所述相似度、所述相似度动态阈值,确定所述第一文本和第二文本的匹配结果。本申请通过增加动态阈值预测网络分支,利用动态阈值预测网络输出的相似度动态阈值修正相似度预测网络输出的相似度,提高语义匹配的准确性。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种语义匹配方法、装置、设备及可存储介质。
背景技术
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能领域的研究包括机器人,自然语言处理,计算机视觉,决策与推理,人机交互,推荐与搜索,AI基础理论等。
自然语言处理(Natural Language Processing,NLP)领域中的语义匹配是应用最基础、最广泛的技术之一。语义匹配的本质是语义理解,语义理解在信息检索、文本聚类、机器翻译、智能问答等场景中发挥着核心的作用。但是,现有的语义匹配方案普遍存在着匹配准确性不高的问题。
申请内容
本申请的实施例提供一种语义匹配方法、装置、设备及可存储介质,解决了现有的语义匹配方法的匹配准确性差的问题。
第一方面,本申请提供了一种语义匹配方法,包括:获取待匹配的第一文本和第二文本;将所述第一文本和第二文本输入语义相似度预测网络,确定所述第一文本和第二文本的相似度;提取所述第一文本和第二文本的第一特征向量;将所述第一特征向量输入相似度动态阈值预测网络,确定所述第一文本和第二文本对应的相似度动态阈值;根据所述相似度、所述相似度动态阈值,确定所述第一文本和第二文本的匹配结果。
本申请实施例通过增加动态阈值预测网络分支,利用动态阈值预测网络输出的相似度动态阈值修正相似度预测网络输出的相似度,提高语义匹配的准确性。
在一个可能的实现中,上述第一特征向量至少表征所述第一文本和第二文本的长度特征。解决了现有的语义匹配方法中不考虑待匹配问题的句子长度特征,导致短文本匹配准确性差的问题。
在一个可能的实现中,所述长度特征至少包括:所述第一文本和第二文本的长度差的绝对值L1、所述第一文本的长度和第二文本的长度之和L2、所述第一文本和第二文本的公共子序列的长度之和Lcommon、和所述Lcommon和L2的比值中的一项或多项,其中,所述公共子序列的长度基于相同字符串的字符数量确定,所述相同字符串为第一文本的字符串和第二文本的字符串中连续N个字符相同的字符串,所述N为大于1的正整数。
本申请实施例通过提取待识别问题的长度之差的绝对值L1、待识别问题的长度之和L2、待识别问题的公共子序列之和Lcommon、以及Lcommon和L2的比值等待匹配文本的长度相关的特征,并将其作为相似度动态阈值预测网络的输入,确定相似度动态阈值,利用相似度动态阈值修正现有的语义相似度预测网络输出的相似度,以得到更加准确的匹配结果,实现提高较短文本的语义匹配结果的准确性。
在另一个可能的实现中,所述第一特征向量除了表征所述第一文本和第二文本的长度特征,还表征所述第一文本和第二文本的字语义特征。
本申请实施例通过增加待匹配文本的字语义特征作为确定相似度动态阈值的考虑因素,进一步增加语义匹配的准确性。
在另一个可能的实现中,所述根据所述相似度、所述相似度动态阈值,确定所述第一文本和第二文本的匹配结果,包括:所述相似度大于或等于所述相似度动态阈值,则确定所述第一文本和第二文本匹配,反之,则确定所述第一文本和第二文本不匹配。
在另一个可能的实现中,所述语义相似度预测网络包括预训练的特征提取器和相似度分类器;
将所述第一文本和第二文本输入语义相似度预测网络,确定所述第一文本和第二文本的相似度,包括:所述预训练的特征提取器分别提取所述第一文本和第二文本的第二特征向量,其中,所述第二特征向量表征第一文本和第二文本的语义特征;将所述第二特征向量输入所述相似度分类器,确定所述第一文本和第二文本的相似度。
在一个示例中,所述预训练的特征提取器为BERT模型。
在另一个可能的实现中,所述语义相似度预测网络基于训练文本对和所述训练文本对对应的标签训练得到;所述相似度动态阈值预测网络基于所述训练文本对的第一特征向量和所述第一特征向量对应的标签训练得到;其中,所述第一特征向量对应的标签基于语义相似度预测网络针对所述训练文本对的输出和所述训练文本对对应的标签确定。
在另一个可能的实现中,所述相似度动态阈值预测网络为前馈神经网络。
第二方面,本申请还提供一种语义匹配装置,包括:获取模块,用于获取待匹配的第一文本和第二文本;第一确定模块,用于将所述第一文本和第二文本输入语义相似度预测网络,确定所述第一文本和第二文本的相似度;提取模块,用于提取所述第一文本和第二文本的第一特征向量;第二确定模块,用于将所述第一特征向量输入相似度动态阈值预测网络,确定所述第一文本和第二文本对应的相似度动态阈值;匹配模块,用于根据所述相似度、所述相似度动态阈值,确定所述第一文本和第二文本的匹配结果。
在一个可能的实现中,所述第一特征向量至少表征所述第一文本和第二文本的长度特征。
在另一个可能的实现中,所述长度特征至少包括:所述第一文本和第二文本的长度差的绝对值L1、所述第一文本的长度和第二文本的长度之和L2、所述第一文本和第二文本的公共子序列的长度之和Lcommon,和所述Lcommon和L2的比值中的一项或多项,其中,所述公共子序列的长度基于相同字符串的字符数量确定,所述相同字符串为第一文本的字符串和第二文本的字符串中连续N个字符相同的字符串,所述N为大于1的正整数。
在另一个可能的实现中,所述第一特征向量至少表征所述第一文本和第二文本的长度特征、以及所述第一文本和第二文本的字语义特征。
在另一个可能的实现中,所述匹配模块还用于:所述相似度大于或等于所述相似度动态阈值,则确定所述第一文本和第二文本匹配,反之,则确定所述第一文本和第二文本不匹配。
在另一个可能的实现中,所述语义相似度预测网络包括预训练的特征提取器和相似度分类器;
所述第一确定模块还用于:
所述预训练的特征提取器分别提取所述第一文本和第二文本的第二特征向量,其中,所述第二特征向量表征第一文本和第二文本的语义特征;
将所述第二特征向量输入所述相似度分类器,确定所述第一文本和第二文本的相似度。
在另一个可能的实现中,所述预训练的特征提取器为BERT模型。
在另一个可能的实现中,所述语义相似度预测网络基于训练文本对和所述训练文本对对应的标签训练得到;
所述相似度动态阈值预测网络基于所述训练文本对的第一特征向量和所述第一特征向量对应的标签训练得到;
其中,所述第一特征向量对应的标签基于语义相似度预测网络针对所述训练文本对的输出和所述训练文本对对应的标签确定。
在另一个可能的实现中,所述相似度动态阈值预测网络为前馈神经网络。
第三方面,本申请还提供一种电子设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码,实现上述第一方面或第一方面任一种可能实现方式中所述的方法。
第四方面,本申请还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行上述第一方面或第一方面任一种可能实现方式中所述的方法。
第五方面,本申请还提供了一种计算机程序或计算机程序产品,所述计算机程序或计算机程序产品包括指令,当所述指令执行时,实现上述第一方面或第一方面任一种可能实现方式中所述的方法。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
图1为本申请实施例提供的一种人工智能主体框架示意图;
图2为本申请实施例提供的语义匹配系统的系统架构图;
图3为本申请实施例提供的一种根据CNN模型进行语义匹配的示意图;
图4为本申请实施例提供的另一种根据CNN模型进行语义匹配的示意图;
图5为本申请实施例提供的一种芯片的硬件结构的示意图;
图6为本申请实施例提供的一种语义匹配方法的流程图;
图7为本申请实施例提供的一种语义匹配模型的结构示意图;
图8为BERT模型训练示意图;
图9为语义相似度预测网络预测示意图;
图10本申请实施例提供的一种语义匹配装置的结构示意图;
图11为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1示出一种人工智能主体框架示意图,该主体框架描述了人工智能系统总体工作流程,适用于通用的人工智能领域需求。
下面从“智能信息链”(水平轴)和“IT价值链”(垂直轴)两个维度对上述人工智能主题框架进行阐述。
“智能信息链”反映从数据的获取到处理的一列过程。举例来说,可以是智能信息感知、智能信息表示与形成、智能推理、智能决策、智能执行与输出的一般过程。在这个过程中,数据经历了“数据—信息—知识—智慧”的凝练过程。
“IT价值链”从人智能的底层基础设施、信息(提供和处理技术实现)到系统的产业生态过程,反映人工智能为信息技术产业带来的价值。
(1)基础设施:
基础设施为人工智能系统提供计算能力支持,实现与外部世界的沟通,并通过基础平台实现支撑。通过传感器与外部沟通;计算能力由智能芯片提供,前述智能芯片包括但不限于中央处理器(central processing unit,CPU)、嵌入式神经网络处理器(neural-network processing unit,NPU)、图形处理器(graphics processing unit,GPU)、专用集成电路(application specific integrated circuit,ASIC)和现场可编程逻辑门阵列(field programmable gate array,FPGA)等硬件加速芯片;基础平台包括分布式计算框架及网络等相关的平台保障和支持,可以包括云存储和计算、互联互通网络等。举例来说,传感器和外部沟通获取数据,这些数据提供给基础平台提供的分布式计算系统中的智能芯片进行计算。
(2)数据
基础设施的上一层的数据用于表示人工智能领域的数据来源。数据涉及到图形、图像、语音、文本,还涉及到传统设备的物联网数据,包括已有系统的业务数据以及力、位移、液位、温度、湿度等感知数据。
(3)数据处理
数据处理通常包括数据训练,机器学习,深度学习,搜索,推理,决策等方式。
其中,机器学习和深度学习可以对数据进行符号化和形式化的智能信息建模、抽取、预处理、训练等。
推理是指在计算机或智能系统中,模拟人类的智能推理方式,依据推理控制策略,利用形式化的信息进行机器思维和求解问题的过程,典型的功能是搜索与匹配。
决策是指智能信息经过推理后进行决策的过程,通常提供分类、排序、预测等功能。
(4)通用能力
对数据经过上面提到的数据处理后,进一步基于数据处理的结果可以形成一些通用的能力,比如可以是算法或者一个通用系统,例如,翻译,文本的分析,计算机视觉的处理,语音识别,图像的识别等等。
(5)智能产品及行业应用
智能产品及行业应用指人工智能系统在各领域的产品和应用,是对人工智能整体解决方案的封装,将智能信息决策产品化、实现落地应用,其应用领域主要包括:智能制造、智能交通、智能家居、智能医疗、智能安防、自动驾驶,平安城市,智能终端等。
本申请实施例提供的语义匹配方法、装置、设备及可存储介质主要应用于自然语言处理领域,例如语义匹配,语义匹配可应用于信息检索、文本聚类、机器翻译、智能问答等场景。
以智能问答场景为例,智能问答系统接收用户输入的问题(用户输入问题的方式可以通过语音的方式或者文本方式或者图像的方式,本申请不做限定),执行语义匹配任务,在预先配置好的标准的问答库中匹配出与用户输入的问题相似度最高的标准问题或者匹配出与用户输入的问题相似度符合要求的标准问题,接着返回标准问题对应的答案当做对用户问题的反馈。
语义匹配方案大体可以分为两种方案。一种方案是,通过提取句子中的关键词或分析句式等方法,手工从句子里提取表征句子语义的信息,最后比较句子对的对应特征看是否相似。这种方案的问题在于人工构造特征难度较大,而且很难覆盖全面,容易导致精确率较高但召回率较低。另一种是基于深度学习的句子相似度模型。将待匹配的句子对输入训练好的句子相似度模型,得到句子对的相似度,然后比较句子对的相似度是否大于或等于预设阈值,若是则确定待匹配的句子对匹配。但是,现有的基于深度学习的相似度模型得出的句子匹配结果,判断句子是否匹配根据句子对的相似度和固定的预设阈值比较得出匹配结果。也就是说无论何种句子(即任何长度、句式、语种等的句子),判断是否匹配均是根据句子对的相似度和固定的预设阈值(例如,预设阈值为0.5)比较确定的。不同种类的句子对的匹配对相似度的要求可能是不同的,例如,对于比较短的句子,由于其字数比较少,每个字与上下文联系比较紧密,对相似度要求会比较高,此时再以相似度大于或等于0.5来判断是否匹配,势必会造成匹配结果不准确。
本申请实施例提供一种语义匹配方法,在相似度预测网络的基础上增加动态阈值预测网络分支,提取待匹配句子对的特征向量,将该特征向量输入动态阈值预测网络分支,得到相似度动态调整阈值,再基于相似度预测网络得出的句子对的相似度和相似度动态阈值确定匹配结果。实现根据句子对的特征动态调整相似度阈值,提高语义匹配的准确性。
为了便于理解本方案,本申请实施例中首先结合图2对本申请实施例提供的语义匹配系统进行介绍,参见附图2,数据采集设备260用于采集训练数据,本申请的训练数据包括:带标签的训练文本对。
在采集到训练数据后,数据采集设备260将这些训练数据并存入数据库230,训练设备220基于数据库230中维护的训练数据生成目标模型/规则201。下面将更详细地描述训练设备220如何基于训练数据得到目标模型/规则201,目标模型/规则201能够实现本申请实施例提供的语义匹配方法,即识别待匹配的文本对是否匹配。
在实际的应用中,数据库230中维护的训练数据不一定都来自于数据采集设备260的采集,也有可能是从其他设备接收到的。另外需要说明的是,训练设备220也不一定完全基于数据库230维护的训练数据进行目标模型/规则201的训练,也有可能从云端或其他地方获取训练数据进行模型训练,上述描述不应该作为对本申请实施例的限定。
根据训练设备220训练得到的目标模型/规则201可以应用于不同的系统或设备中,如应用于图2中的执行设备210中,执行设备210可以是终端,如手机、平板电脑、笔记本电脑、增强现实(augmented reality,AR)、虚拟现实(virtual reality,VR)、可穿戴设备、智能机器人、车载终端等,还可以是服务器或云端等。
在图2中,执行设备210配置(input/output,输入/输出)I/O接口212,用于与外部设备进行数据交换,用户可以通过客户设备240向I/O接口212输入数据,该数据在本实施例中可以包括,用户输入的文本。需要解释的是该文本可以以任何方式进行输入,例如,用户输入语音数据,通过语音识别得到语音数据对应的文本,或者用户输入图像数据,通过图像识别得到图像数据对应的文本,或者用户直接打字输入文本数据。
预处理模块213和预处理模块214用于根据I/O接口212接收到的输入数据(如用户输入的文本)进行预处理,例如,在本申请实施例中,预处理模块213将第一文本和第二文本进行融合连接,预处理模块214提取待匹配第一文本和第二文本的第一特征向量。
计算模块211用于根据上述目标模型/规则201对来自预处理模块213和预处理模块214输入的数据执行计算等相关的处理。
在执行设备210对输入数据进行预处理,或者在执行设备210的计算模块211执行计算等相关的处理过程中,执行设备210可以调用数据库存储系统250的数据、代码等以用于相应的处理,也可以将相应处理得到的数据、指令等存入数据存储系统250中。
最后,I/O接口212将处理结果(例如检索结果、翻译结果、问题答案、推理结果等)返回给客户设备240,提供给用户。应理解,对应于不同的自然语言处理任务,目标模型/规则201是不同的,其处理结果相应地也是不同的。
值得说明的是,训练设备220可以针对不同的下游系统,生成该下游系统对应的目标模型/规则201,该相应的目标模型/规则201即可以拥有实现上述目标或完成上述任务,从而为用户提供所需的结果。需要说明的是,训练设备220还可以针对不同的下游系统对应的目标模型/规则201生成对应的预处理模型,例如预处理模块213和/或预处理模块214中对应的预处理模型等。
在图2中所示情况下,用户可以手动指定输入执行设备210中的数据(例如,输入一段文本),例如,在I/O接口212提供的界面中操作。另一种情况下,客户设备240可以自动地向I/O接口212输入数据(例如,输入一段文本)并获得结果,如果客户设备240自动输入数据需要获得用户的授权,用户可以在客户设备240中设置相应权限。用户可以在客户设备240查看执行设备210输出的结果(例如,输出结果可以是翻译译文、问题答案、检索结果等),具体的呈现形式可以是显示、声音、动作等具体方式。客户设备240也可以作为数据采集端,采集如图2所示输入I/O接口212的输入数据(待匹配的第一文本和第二文本)及目标模型/规则201输出的匹配结果作为新的训练样本数据,并将其存入数据库230。
值得注意的,图2仅是本申请实施例提供的一种系统架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制。例如,在图2中,数据存储系统250相对执行设备210是外部存储器,在其它情况下,也可以将数据存储系统250置于执行设备210中。
如图2所示,根据训练设备220训练得到的目标模型/规则201,该目标模型/规则201可以是本申请实施例中的语义相似度预测网络和/或相似度动态阈值预测网络。具体的,本申请实施例提供的语义相似度预测网络和/或相似度动态阈值预测网络为神经网络,例如可以是卷积神经网络(Convolutional Neural Network,CNN)、深度卷积神经网络(deep convolutional neural network,DCNN)等神经网络。
由于CNN是一种非常常见的神经网络,下面结合图3重点对CNN的结构进行详细的介绍。CNN是一种带有卷积结构的深度神经网络,是一种深度学习(deep learning)架构,深度学习架构是指通过机器学习的算法,在不同的抽象层级上进行多个层次的学习。作为一种深度学习架构,CNN是一种前馈(feed-forward)人工神经网络,该前馈人工神经网络中的各个神经元对输入其中的图像中的重叠区域作出响应。
如图3所示,卷积神经网络(CNN)100可以包括输入层110,卷积层/池化层120,其中池化层为可选的,以及神经网络层130。下面对这些层的相关内容做详细介绍。
卷积层/池化层120:
卷积层:
如图3所示卷积层/池化层120可以包括如示例121-126层,在一种实现中,121层为卷积层,122层为池化层,123层为卷积层,124层为池化层,125为卷积层,126为池化层;在另一种实现方式中,121、122为卷积层,123为池化层,124、125为卷积层,126为池化层。即卷积层的输出可以作为随后的池化层的输入,也可以作为另一个卷积层的输入以继续进行卷积操作。
下面以卷积层121为例,介绍一层卷积层的内部工作原理。
卷积层121可以包括很多个卷积算子,卷积算子也称为核,其在自然语言处理中的作用相当于一个从输入的语音或语义信息中(例如文本)提取特定信息的过滤器,卷积算子本质上可以是一个权重矩阵,这个权重矩阵通常被预先定义。
这些权重矩阵中的权重值在实际应用中需要经过大量的训练得到,通过训练得到的权重值形成的各个权重矩阵可以从输入数据中提取信息,从而帮助卷积神经网络100进行正确的预测。
当卷积神经网络100有多个卷积层的时候,初始的卷积层(例如121)往往提取较多的一般特征,该一般特征也可以称之为低级别的特征;随着卷积神经网络100深度的加深,越往后的卷积层(例如126)提取到的特征越来越复杂,比如高级别的语义之类的特征,语义越高的特征越适用于待解决的问题。
池化层:
由于常常需要减少训练参数的数量,因此卷积层之后常常需要周期性的引入池化层,即如图3中120所示例的121-126各层,可以是一层卷积层后面跟一层池化层,也可以是多层卷积层后面接一层或多层池化层。在自然语言数据处理过程中,池化层的唯一目的就是减少数据的空间大小。
神经网络层130:
在经过卷积层/池化层120的处理后,卷积神经网络100还不足以输出所需要的输出信息。因为如前所述,卷积层/池化层120只会提取特征,并减少输入数据带来的参数。然而为了生成最终的输出信息(所需要的类信息或别的相关信息),卷积神经网络100需要利用神经网络层130来生成一个或者一组所需要的类的数量的输出。因此,在神经网络层130中可以包括多层隐含层(如图3所示的131、132至13n)以及输出层140,该多层隐含层中所包含的参数可以根据具体的任务类型的相关训练数据进行预先训练得到,例如该任务类型可以包括语音或语义识别、分类或生成等等。
在神经网络层130中的多层隐含层之后,也就是整个卷积神经网络100的最后层为输出层140,该输出层140具有类似分类交叉熵的损失函数,具体用于计算预测误差,一旦整个卷积神经网络100的前向传播(如图3由110至140的传播为前向传播)完成,反向传播(如图3由140至110的传播为反向传播)就会开始更新前面提到的各层的权重值以及偏差,以减少卷积神经网络100的损失及卷积神经网络100通过输出层输出的结果和理想结果之间的误差。
需要说明的是,如图3所示的卷积神经网络100仅作为一种卷积神经网络的示例,在具体的应用中,卷积神经网络还可以以其他网络模型的形式存在,例如,如图4所示的多个卷积层/池化层并行,将分别提取的特征均输入给全神经网络层130进行处理。
图5为本申请实施例提供的一种芯片的硬件结构的示意图。该芯片包括神经网络处理器(Network Process Units,NPU)50。该芯片可以被设置在如图2所示的执行设备210中,用于完成计算模块211的计算工作。该芯片也可以被设置在如图2所示的训练设备220中,用于完成训练设备220的训练工作并输出目标模型/规则201。如图3和图4所示的卷积神经网络中各层的算法均可在如图5所示的芯片中得以实现。
本申请实施例的语义匹配方法可以在神经网络处理器50中的运算电路503和/或向量计算单元507中执行,从而得到待匹配文本的匹配结果。
下面对神经网络处理器50中的各个模块和单元进行简单的介绍。
神经网络处理器50作为协处理器挂载到主CPU(Host CPU)上,由主CPU分配任务。神经网络处理器50的核心部分为运算电路503,在神经网络处理器50工作时,神经网络处理器50中的控制器504可以控制运算电路503提取存储器中的矩阵数据并进行乘法运算。
在一些实现中,运算电路503内部包括多个处理单元(Process Engine,PE)。在一些实现中,运算电路503是二维脉动阵列。运算电路503还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路503是通用的矩阵处理器。
举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路从权重存储器502中取矩阵B相应的数据,并缓存在运算电路中每一个PE上。运算电路从输入存储器501中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)508中。
向量计算单元507可以对运算电路的输出做进一步处理,如向量乘、向量加、指数运算、对数运算、大小比较等等。例如,向量计算单元507可以用于神经网络中非卷积/非全连接层(fully connected layers,FC)层的网络计算,如池化(pooling),批归一化(batchnormalization),局部响应归一化(local response normalization)等。
在一些实现中,向量计算单元507能将经处理的输出的向量存储到统一缓存器506。例如,向量计算单元507可以将非线性函数应用到运算电路503的输出,例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元507生成归一化的值、合并值、或者二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路503的激活输入,例如用于在神经网络中的后续层中的使用。
统一存储器506用于存放输入数据以及输出数据。
权重数据直接通过存储单元访问控制器(Direct Memory Access Controller,DMAC)505将外部存储器中的输入数据搬运到输入存储器501和/或统一存储器506、将外部存储器中的权重数据存入权重存储器502中,以及将统一存储器506中的数据存入外部存储器。
BIU为Bus Interface Unit即,总线接口单元510,用于通过总线实现主CPU、DMAC和取指存储器509之间进行交互。
与控制器504连接的取指存储器(instruction fetch buffer)509,用于存储控制器504使用的指令;
控制器504,用于调用指存储器509中缓存的指令,实现控制该运算加速器的工作过程。
一般地,统一存储器506、输入存储器501、权重存储器502以及取指存储器509均可以为片上(on-chip)存储器。NPU的外部存储器可以为该NPU外部的存储器,该外部存储器可以为双倍数据率同步动态随机存储器(double data rate synchronous dynamic randomaccess memory,DDR SDRAM)、高带宽存储器(high bandwidth memory,HBM)或其他可读可写的存储器。应理解,图5示出的芯片硬件结构仅为示例性说明,本申请并未限定于此。
下面结合图6对本申请实施例的语义匹配方法进行详细介绍。该方法可以由图2中的执行设备210执行。该执行设备210中配置训练完成的目标模型/规则。该执行设备210中配置图5的芯片结构。如上文所述该执行设备可以为手机、平板电脑、笔记本电脑、增强现实(augmented reality,AR)、虚拟现实(virtual reality,VR)、车载终端等,还可以是服务器或云端。下面以执行设备为手机为例进行说明本申请实施例的语义匹配方法。
如图6所示,本申请实施例提供的语义匹配方法包括步骤S601-S605。
在步骤S601中,获取待匹配的文本1和文本2。
在本实施例中,获取文本1的方式可以是手机获取用户输入的文本,例如,手机接收用户输入语音数据,通过手机的语音识别模块识别得到语音数据对应的文本,或者用户输入图像数据,通过手机的图像识别模块识别得到图像数据对应的文本,或者手机接收用户直接打字输入文本数据。获取文本1的方式也可以是手机获取用户选择的文本,例如,手机根据用户在手机的显示界面上选择的文本、或者根据用户的语音指令选择的语音语句,确定文本1。在本实施例中手机可通过多种交互方式与用户实现交互以获取文本1,本申请不做限定。
文本2为服务器中或手机中存储的文本。例如,在智能问答场景中,文本2为预先配置好的标准问答库(例如,人工维护的标准问答库)中的问题,则当手机获取到文本1时,则手机调取手机/服务器配置的标准问答库中的问题,获取文本2。当然在其他场景时,文本2根据不同的应用场景作适应性改变。
可以理解的是,文本1和文本2均可以是长文本或者短文本,或者文本1和文本2中其中一个是短文本,另一个长文本。短文本表示字符数不超过预设阈值的文本,例如预设阈值为5,则字符数大于5的为长文本,例如“家祭无忘告乃翁的上一句是什么?”字符数大于5,为长文本。字符数小于或等于5的为短文本,例如“今天几号?”字符数不超过5,则为短文本。
文本1和文本2的字符串包括但不限于文字、标点符号、特殊字符等。可选的,文本1和文本2可以是中文文本,例如“我爱中国”,也可以是外语文本,例如英语“I love China”,还可以是中文和外语的混合,例如中文和英文的混合“I love中国”。即本申请并不对文本1和文本2的字符长短、字符内容、文本内容的语种等做限定。
在步骤S602至步骤S604中,将文本1和文本2输入语义相似度预测网络分支中,确定文本1和文本2的相似度,提取文本1和文本2的特征向量,将提取的特征向量输入相似度动态阈值预测网络分支中,确定文本1和文本2的相似度动态阈值。
参见图7,本申请实施例公开的目标模型/规则201,即语义匹配模型包括语义相似度预测网络分支和相似度动态阈值预测网络分支。通过步骤S601获取到待匹配的文本1和文本2后,将文本1和文本2输入语义匹配模型中,文本1和文本2通过训练完成的语义相似度预测网络分支得到文本1和文本2的相似度P。文本1和文本2通过手工特征模块提取得到第一特征向量,将第一特征向量输入相似度动态阈值预测网络分支得到文本1和文本2的相似度动态阈值Topt。
可以理解的是,语义相似度预测网络可以是DSSM(Deep Structured SemanticModels,深度结构化语义模型)、CNN-DSSM(Convolutional Neural Network-DeepStructured Semantic Models,基于卷积神经网络的深度结构化语义模型)或LSTM-DSSM(Long Short Term Memory-Deep Structured Semantic Models,基于长短时记忆网络的深度结构化语义模型)等。也可以是包括预训练(pretrained)+精调(finetune)的模式,即用大规模的无标注语料来训练得到预训练的语义特征提取器模型,然后再在预训练的语义特征提取器下游接入句子相似度分类器做任务精调。即语义相似度预测网络包括预训练模型和接入下游的任务模型(相似度分类器),其中预训练的语义特征提取器模型可以为Transrofmer模型,或BERT(Bidirectional Encoder Representations fromTransformers,基于变换器的双向编码器标识技术)模型等预训练模型。精调是指在预训练模型的基础上,使用特定的任务目标(下游任务)和任务数据(下游数据)进行小规模训练,实现对预训练模型参数的微小调整,最终得到适配到特定数据和任务的模型。
在一种示例中,如图7所示,语义相似度预测网络包括BERT模型和相似度分类器网络,文本1和文本2输入BERT模型后,BERT模型提取表征文本1和文本2的句向量(即第二特征向量),将BERT模型的输出(即文本1和文本2的句向量)作为相似度分类器网络的输入,从而得到文本1和文本2的相似度P。
容易理解的是,本申请并不限定相似度分类器网络的类型,相似度分类器网络可以为任意神经网络,例如卷积神经网络(Convolutional Neural Network,CNN)、LSTM(LongShort Term Memory)网络、注意力机制网络等神经网络。
在一些示例中,语义相似度预测网络通过监督学习的方式训练,即标注有标签的语料(即训练文本对)训练,其中,标注的带标签的语料可以包括,有表征“匹配”的标注语料和表征“不匹配”的标注的语料。例如,可将匹配的语料标注“1”,将不匹配的语料标注“0”。
将带标签的语料输入语义相似度预测网络得到预测值,比较该预测值和标注值(即标签),根据两者的差异情况更新语义相似度预测网络的参数,即更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为神经网络中的各层预先配置参数),例如,如果相似度预测网络输出的预测值高了,就调整权重向量让它预测低一些,不断的调整,直到相似度预测网络能够预测出真正想要的目标值。通过多轮训练迭代,直至相似度预测网络的损失函数收敛,或者预测值与标注值的差值小于一定阈值,或者训练次数达到预设次数,则相似度预测网络训练完成。
继续参见图7,文本1和文本2进入相似度动态阈值预测网络之前,要先经过手工特征提取模块提取得到第一特征向量。第一特征向量可以为表征BERT模型未提取的特征,例如可以是长度相关的特征。
由于BERT模型是基于自注意力机制的网络模型,如图8所示。自注意力机制的本质是结合句子内的上下文来判别当前词的具体意思。局限性在于如果输入的句子较短,没有太多的上下文可以参考,此时,BERT模型输出的短句子的句向量置信度应该小于同等情况下的长句子的句向量,或者说,输入句子的长度不等,BERT输出的句向量的置信程度是不一样的,并不都等于1,如图9所示。但是,目前BERT模型抽取句向量得出的相似概率,是建立在句向量本身的置信度为1的基础上的,BERT模型提取的短文本或长文本的特征向量均为定长的句向量,例如768维,即忽略句子长度特征对预测的相似度的影响,这将造成语义相似度预测网络预测的文本1和文本2的相似度准确性较差,尤其是在文本1和文本2为短句子时。
考虑到这一点,第一特征向量可以为表征文本1和文本2的长度相关特征,以修正语义相似度预测网络针对短句子预测准确性差的问题。手工特征提取模块可通过编程提取需要的特征向量,无需参与相似度动态阈值预测网络的训练。
在一个示例中,文本1和文本2的长度特征表征于文本1和文本2的长度相关的特征。例如可以包括:所述第一文本和第二文本的长度差的绝对值L1、文本1的长度和文本2的长度之和L2、文本1和文本2的公共子序列的长度之和Lcommon、和Lcommon和L2的比值中的一项或多项,其中,公共子序列的长度基于相同字符串的字符数量确定,所述相同字符串表示文本1的字符串和文本2的字符串中连续N个字符相同的字符串,N为大于1的正整数。
本申请实施例通过提取文本1和文本2的长度之差的绝对值L1、文本1和文本2的长度之和L2、文本1和文本2的的公共子序列之和Lcommon、以及Lcommon和L2的比值等待匹配文本的长度相关的特征,并将其作为相似度动态阈值预测网络的输入,确定相似度动态阈值,利用相似度动态阈值修正现有的语义相似度预测网络输出的相似度,以得到更加准确的匹配结果,实现提高语义匹配结果的准确性。
在另一个示例中,第一特征向量还可以表征其他BERT模型未提取到的特征,例如,文本1和文本2中的各个字语义特征。手工特征模块分别提取表征文本1中各个字语义特征的第一特征向量,和表征文本2中各个字语义特征的第一特征向量,然后将文本1的第一特征向量和文本2的第一特征向量拼接后作为相似度动态阈值预测网络的输入得到相似度动态阈值Topt。
在另一个示例中,第一特征向量还可以表征多个BERT模型未提取到的特征,例如,第一特征向量表征文本1和文本2中的各个字语义特征和文本1和文本2的长度特征。手工特征模块分别提取表征文本1中各个字语义特征的第一特征向量,和表征文本2中各个字语义特征的第一特征向量,和表征文本1和文本2的长度特征的特征向量,将文本1的第一特征向量、文本2的第一特征向量和表征文本1和文本2的长度特征的特征向量拼接后作为相似度动态阈值预测网络的输入得到相似度动态阈值Topt。
本申请实施例进一步提取文本1和文本2的其他BERT模型未提取到的特征,并将其作为相似度动态阈值预测网络的输入以得到相似度动态阈值,在更多维度修正现有的语义相似度预测网络输出的相似度,进一步提高语义匹配的准确性。
在一个示例中,相似度动态阈值预测网络为前馈神经网络,例如多层感知器网络。
在另一个示例中,相似度动态阈值预测网络也可以为更加复杂的神经网络,例如卷积神经网络(Convolutional Neural Network,CNN)等神经网络。
相似度动态阈值预测网络通过监督学习的方式训练,即标注有标签的训练数据训练,其中,训练数据包括训练语料对应的第一特征向量和第一特征向量对应的标签。标签基于语义相似度预测网络针对训练文本对的输出和所述训练文本对对应的标签(即已知的训练文本对匹配或不匹配,匹配则标注1,不匹配则标注0)确定。
换句话说,相似度动态阈值预测网络训练阶段,训练文本对输入训练完成的相似度预测网络得到,相似度预测网络输出的预测值;基于相似度网络输出的预测值和训练文本对应的标签(即已知的训练文本对匹配或不匹配,匹配则标注1,不匹配则标注0)的差值,确定第一特征向量对应的标签。
将训练文本对输入手工提取模块提取得到第一特征向量,将第一特征向量作为相似度动态阈值预测网络的输入,得到动态阈值预测网络的预测值,比较动态阈值预测网络的预测值和相似度预测网络输出的预测值和第一特征向量对应的标签,根据两者的差异情况更新语义相似度预测网络的参数,即更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为神经网络中的各层预先配置参数),例如,如果动态阈值预测网络输出的预测值高了,就调整权重向量让它预测低一些,不断的调整,直到动态阈值预测网络能够预测出真正想要的目标值。通过多轮训练迭代,直至动态阈值预测网络的损失函数收敛,或者预测值与标签的差值小于一定阈值,或者训练次数达到预设次数,则动态阈值预测网络训练完成。
回到图6,在步骤S605中,根据相似度预测网络分支输出的相似度P和动态阈值预测网络输出的相似度动态阈值Topt,确定文本1和文本2的匹配结果。
若相似度P大于或等于相似度动态阈值Topt,则确定文本1和文本2匹配,若相似度P大于或等于相似度动态阈值Topt,则确定文本1和文本2匹配,则确定文本1和文本2不匹配。
当应用智能问答场景时,当确定文本1和文本2匹配时,则调取在标准问答库中文本2对应的答案,将该答案反馈给用户。当确定文本1和文本2不匹配时,则继续将文本1与标准问答库中的其他问题进行匹配,直到匹配到标准问答库中的问题为止,并将该问题对应的答案反馈给用户。当遍历标准问答库中的所有问题后,文本1仍未匹配到与其相似的问题时,则停止匹配,并向云端服务器反馈该问题未匹配到,请及时维护标准问答库的信息。
本申请的语义匹配方法相比于目前NLP领域流行的预训练(pretrained)+精调(finetune)的语义匹配方案,增加动态阈值预测网络分支,利用动态阈值预测网络输出的相似度动态阈值修正相似度预测网络输出的相似度,提高了语义匹配的准确性。
图10本申请实施例提供的一种语义匹配装置的结构示意图。如图10所示,该语义匹配装置300至少包括:
获取模块301,用于获取待匹配的第一文本和第二文本;
第一确定模块302,用于将所述第一文本和第二文本输入语义相似度预测网络,确定所述第一文本和第二文本的相似度;
提取模块303,用于提取所述第一文本和第二文本的第一特征向量;
第二确定模块304,用于将所述第一特征向量输入相似度动态阈值预测网络,确定所述第一文本和第二文本对应的相似度动态阈值;
匹配模块305,用于根据所述相似度、所述相似度动态阈值,确定所述第一文本和第二文本的匹配结果。
在一个可能的实现中,所述第一特征向量至少表征所述第一文本和第二文本的长度特征。
在另一个可能的实现中,所述长度特征至少包括:所述第一文本和第二文本的长度差的绝对值L1、所述第一文本的长度和第二文本的长度之和L2、所述第一文本和第二文本的公共子序列的长度之和Lcommon,和所述Lcommon和L2的比值中的一项或多项,其中,所述公共子序列的长度基于相同字符串的字符数量确定,所述相同字符串为第一文本的字符串和第二文本的字符串中连续N个字符相同的字符串,所述N为大于1的正整数。
在另一个可能的实现中,所述第一特征向量至少表征所述第一文本和第二文本的长度特征、以及所述第一文本和第二文本的字语义特征。
在另一个可能的实现中,所述匹配模块305还用于:所述相似度大于或等于所述相似度动态阈值,则确定所述第一文本和第二文本匹配,反之,则确定所述第一文本和第二文本不匹配。
在另一个可能的实现中,所述语义相似度预测网络包括预训练的特征提取器和相似度分类器;
所述第一确定模块302还用于:
所述预训练的特征提取器分别提取所述第一文本和第二文本的第二特征向量,其中,所述第二特征向量表征第一文本和第二文本的语义特征;
将所述第二特征向量输入所述相似度分类器,确定所述第一文本和第二文本的相似度。
在另一个可能的实现中,所述预训练的特征提取器为BERT模型。
在另一个可能的实现中,所述语义相似度预测网络基于训练文本对和所述训练文本对对应的标签训练得到;
所述相似度动态阈值预测网络基于所述训练文本对的第一特征向量和所述第一特征向量对应的标签训练得到;
其中,所述第一特征向量对应的标签基于语义相似度预测网络针对所述训练文本对的输出和所述训练文本对对应的标签确定。
在另一个可能的实现中,所述相似度动态阈值预测网络为前馈神经网络。
根据本申请实施例的语义匹配装置300可对应于执行本申请实施例中描述的方法,并且语义匹配装置300中的各个模块的上述和其它操作和/或功能分别为了实现图6-9中的各个方法的相应流程,为了简洁,在此不再赘述。
另外需说明的是,以上所描述的实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的设备实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行上述任一项方法。
本申请还提供一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括指令,当该指令执行时,令计算机执行上述任一项方法。
本申请还提供一种电子设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码,实现上述任一项方法。
本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执轨道,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
图11为本申请实施例提供的一种电子设备的结构示意图。
如11图所示,所述电子设备1100包括处理器1101、存储器1102、总线1103、麦克风1104、扬声器1105、显示器1106和通信接口1107。其中,处理器1101、存储器1102、麦克风1104、扬声器1105、显示器1106和通信接口1107通过总线1103进行通信,也可以通过无线传输等其他手段实现通信。该麦克风1104可接收用户输入的语音数据,例如在智能问答场景中的问题语句;扬声器1105可播放音频数据,例如在智能问答场景中,扬声器1105播放包含针对用户的问题反馈的该问题的答案的语音数据;该显示器1106可显示多媒体内容,例如在智能问答场景中,显示器1106显示针对用户的问题反馈的该问题的答案,针对用户提问的问题该答案可以是文本内容和/或图像内容和/或视频内容等多媒体内容。例如,用户提问“明天天气怎么样?”,显示器可向用户显示“明天天气晴,气温10-20度,北风6级”的文本内容,当用户提问“汽车长什么样子?”,则显示器向用户显示汽车的图像,当用户提问“怎么做标准的俯卧撑”,则显示器向用户显示标准俯卧撑的视频内容。该通信接口1107用于与其他通信设备进行通信连接;该存储器1102存储可执行程序代码,且处理器1101可以调用存储器1102中存储的程序代码执行前述方法实施例中的语义匹配方法。
应理解,在本申请实施例中,该处理器1101可以是中央处理单元CPU,该处理器1101还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(fieldprogrammable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。
该存储器1102可以包括只读存储器和随机存取存储器,并向处理器1101提供指令和数据。存储器1102还可以包括非易失性随机存取存储器。例如,存储器1102还可以存储训练数据集。
该存储器1102可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data date SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlinkDRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
该总线1103除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线1103。
应理解,根据本申请实施例的电子设备1100可对应于本申请实施例中的语义匹配装置,并可以对应于执行根据本申请实施例中图6-9所示方法中的相应主体,并且电子设备1100中的各个器件的上述和其它操作和/或功能分别为了实现图6-9的各个方法的相应流程,为了简洁,在此不再赘述。
本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执轨道,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执轨道的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施方式而已,并不用于限定本申请的保护范围,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (20)
1.一种语义匹配方法,其特征在于,包括:
获取待匹配的第一文本和第二文本;
将所述第一文本和第二文本输入语义相似度预测网络,确定所述第一文本和第二文本的相似度;
提取所述第一文本和第二文本的第一特征向量;
将所述第一特征向量输入相似度动态阈值预测网络,确定所述第一文本和第二文本对应的相似度动态阈值;
根据所述相似度、所述相似度动态阈值,确定所述第一文本和第二文本的匹配结果。
2.根据权利要求1所述的方法,其特征在于,所述第一特征向量至少表征所述第一文本和第二文本的长度特征。
3.根据权利要求2所述的方法,其特征在于,所述长度特征至少包括:所述第一文本和第二文本的长度差的绝对值L1、所述第一文本的长度和第二文本的长度之和L2、所述第一文本和第二文本的公共子序列的长度之和Lcommon、和所述Lcommon和L2的比值中的一项或多项,其中,所述公共子序列的长度基于相同字符串的字符数量确定,所述相同字符串为第一文本的字符串和第二文本的字符串中连续N个字符相同的字符串,所述N为大于1的正整数。
4.根据权利要求1-3任一所述的方法,其特征在于,所述第一特征向量至少表征所述第一文本和第二文本的长度特征、以及所述第一文本和第二文本的字语义特征。
5.根据权利要求1-4任一所述的方法,其特征在于,所述根据所述相似度、所述相似度动态阈值,确定所述第一文本和第二文本的匹配结果,包括:
所述相似度大于或等于所述相似度动态阈值,则确定所述第一文本和第二文本匹配,反之,则确定所述第一文本和第二文本不匹配。
6.根据权利要求1-5所述的方法,其特征在于,所述语义相似度预测网络包括预训练的特征提取器和相似度分类器;
所述将所述第一文本和第二文本输入语义相似度预测网络,确定所述第一文本和第二文本的相似度,包括:
所述预训练的特征提取器分别提取所述第一文本和第二文本的第二特征向量,其中,所述第二特征向量表征第一文本和第二文本的语义特征;
将所述第二特征向量输入所述相似度分类器,确定所述第一文本和第二文本的相似度。
7.根据权利要求6所述的方法,其特征在于,所述预训练的特征提取器为BERT模型。
8.根据权利要求1-7任一所述的方法,其特征在于,所述语义相似度预测网络基于训练文本对和所述训练文本对对应的标签训练得到;
所述相似度动态阈值预测网络基于所述训练文本对的第一特征向量和所述第一特征向量对应的标签训练得到;
其中,所述第一特征向量对应的标签基于语义相似度预测网络针对所述训练文本对的输出和所述训练文本对对应的标签确定。
9.根据权利要求1-8任一所述的方法,其特征在于,所述相似度动态阈值预测网络为前馈神经网络。
10.一种语义匹配装置,其特征在于,包括:
获取模块,用于获取待匹配的第一文本和第二文本;
第一确定模块,用于将所述第一文本和第二文本输入语义相似度预测网络,确定所述第一文本和第二文本的相似度;
提取模块,用于提取所述第一文本和第二文本的第一特征向量;
第二确定模块,用于将所述第一特征向量输入相似度动态阈值预测网络,确定所述第一文本和第二文本对应的相似度动态阈值;
匹配模块,用于根据所述相似度、所述相似度动态阈值,确定所述第一文本和第二文本的匹配结果。
11.根据权利要求10所述的装置,其特征在于,所述第一特征向量至少表征所述第一文本和第二文本的长度特征。
12.根据权利要求11所述的装置,其特征在于,所述长度特征至少包括:所述第一文本和第二文本的长度差的绝对值L1、所述第一文本的长度和第二文本的长度之和L2、所述第一文本和第二文本的公共子序列的长度之和Lcommon、和所述Lcommon和L2的比值中的一项或多项,其中,所述公共子序列的长度基于相同字符串的字符数量确定,所述相同字符串为第一文本的字符串和第二文本的字符串中连续N个字符相同的字符串,所述N为大于1的正整数。
13.根据权利要求10-12任一所述的装置,其特征在于,所述第一特征向量至少表征所述第一文本和第二文本的长度特征、以及所述第一文本和第二文本的字语义特征。
14.根据权利要求10-13任一所述的装置,其特征在于,所述匹配模块还用于:所述相似度大于或等于所述相似度动态阈值,则确定所述第一文本和第二文本匹配,反之,则确定所述第一文本和第二文本不匹配。
15.根据权利要求10-14任一所述的装置,其特征在于,所述语义相似度预测网络包括预训练的特征提取器和相似度分类器;
所述第一确定模块还用于:
所述预训练的特征提取器分别提取所述第一文本和第二文本的第二特征向量,其中,所述第二特征向量表征第一文本和第二文本的语义特征;
将所述第二特征向量输入所述相似度分类器,确定所述第一文本和第二文本的相似度。
16.根据权利要求15所述的装置,其特征在于,所述预训练的特征提取器为BERT模型。
17.根据权利要求10-16任一所述的装置,其特征在于,所述语义相似度预测网络基于训练文本对和所述训练文本对对应的标签训练得到;
所述相似度动态阈值预测网络基于所述训练文本对的第一特征向量和所述第一特征向量对应的标签训练得到;
其中,所述第一特征向量对应的标签基于语义相似度预测网络针对所述训练文本对的输出和所述训练文本对对应的标签确定。
18.根据权利要求10-17任一所述的装置,其特征在于,所述相似度动态阈值预测网络为前馈神经网络。
19.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码,实现权利要求1-9任一项所述的方法。
20.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110070112.4A CN114817452A (zh) | 2021-01-19 | 2021-01-19 | 一种语义匹配方法、装置、设备及可存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110070112.4A CN114817452A (zh) | 2021-01-19 | 2021-01-19 | 一种语义匹配方法、装置、设备及可存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114817452A true CN114817452A (zh) | 2022-07-29 |
Family
ID=82524383
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110070112.4A Pending CN114817452A (zh) | 2021-01-19 | 2021-01-19 | 一种语义匹配方法、装置、设备及可存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114817452A (zh) |
-
2021
- 2021-01-19 CN CN202110070112.4A patent/CN114817452A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112487182B (zh) | 文本处理模型的训练方法、文本处理方法及装置 | |
WO2020228376A1 (zh) | 文本处理方法、模型训练方法和装置 | |
WO2022007823A1 (zh) | 一种文本数据处理方法及装置 | |
WO2021057884A1 (zh) | 语句复述方法、训练语句复述模型的方法及其装置 | |
CN111368993B (zh) | 一种数据处理方法及相关设备 | |
CN111984766B (zh) | 缺失语义补全方法及装置 | |
CN112288075B (zh) | 一种数据处理方法及相关设备 | |
CN110083693B (zh) | 机器人对话回复方法及装置 | |
US20240029436A1 (en) | Action classification in video clips using attention-based neural networks | |
CN109523014B (zh) | 基于生成式对抗网络模型的新闻评论自动生成方法及系统 | |
CN111898636B (zh) | 一种数据处理方法及装置 | |
WO2021129411A1 (zh) | 文本处理方法及装置 | |
CN113505193A (zh) | 一种数据处理方法及相关设备 | |
CN111858898A (zh) | 基于人工智能的文本处理方法、装置及电子设备 | |
CN113656563A (zh) | 一种神经网络搜索方法及相关设备 | |
CN116432019A (zh) | 一种数据处理方法及相关设备 | |
CN110598210A (zh) | 实体识别模型训练、实体识别方法、装置、设备及介质 | |
WO2020192523A1 (zh) | 译文质量检测方法、装置、机器翻译系统和存储介质 | |
CN116913278B (zh) | 语音处理方法、装置、设备和存储介质 | |
WO2023279921A1 (zh) | 神经网络模型的训练方法、数据处理的方法及装置 | |
CN115795025A (zh) | 一种摘要生成方法及其相关设备 | |
WO2021129410A1 (zh) | 文本处理方法及装置 | |
WO2021083312A1 (zh) | 训练语句复述模型的方法、语句复述方法及其装置 | |
CN114817452A (zh) | 一种语义匹配方法、装置、设备及可存储介质 | |
CN118246537B (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 |