CN111198940B - Faq方法、问答检索系统、电子设备和存储介质 - Google Patents
Faq方法、问答检索系统、电子设备和存储介质 Download PDFInfo
- Publication number
- CN111198940B CN111198940B CN201911382839.5A CN201911382839A CN111198940B CN 111198940 B CN111198940 B CN 111198940B CN 201911382839 A CN201911382839 A CN 201911382839A CN 111198940 B CN111198940 B CN 111198940B
- Authority
- CN
- China
- Prior art keywords
- question
- model
- data
- semantic feature
- tower
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
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/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种FAQ方法、系统、电子设备和存储介质,涉及自然语言处理技术领域。具体实现方案为:获取输入的请求问题;基于预先建立的双塔问题匹配模型,将请求问题转化成第一语义特征向量;其中,双塔问题匹配模型是利用知识蒸馏技术,将基于预训练语言模型微调的问题匹配模型迁移到一个简单的双塔模型中而得到的;在预先建立的语义特征向量检索库中检索出与第一语义特征向量相似的多个语义特征向量;其中,语义特征向量检索库是基于双塔问题匹配模型将候选问题表示成语义特征向量,并基于候选问题对应的语义特征向量而建立的检索库;根据多个语义特征向量,获取对应的多个扩展问题。由此,可以使得整个计算过程更加简单,更加高效。
Description
技术领域
本申请涉及自然语言处理技术领域,尤其涉及一种FAQ方法、问答检索系统、电子设备和存储介质。
背景技术
相关技术中,主要有以下两种问答系统,即:基于检索与匹配的FAQ(FrequentlyAsked Questions,常见的问题解答)检索系统、和基于改写与生成的FAQ检索系统。其中,基于检索与匹配的FAQ检索系统可通过以下两个步骤来实现问题扩展:首先,在候选召回模块中,系统基于检索技术检索出种子问题q字面相近的候选问题集合Q_1={q_1,q_2,..,q_n},然后,在问题匹配模块中,系统基于问题匹配技术计算种子问题与候选问题集合Q_1的匹配程度,即计算{(q,q_1),(q,q_2),…,(q,q_n)}的相似度,返回相似性度高的query集合Q_2。
基于改写与生成的FAQ检索系统可通过以下方式实现问题扩展:对于一个给定种子问题q,系统基于挖掘的同义词、规则,利用同义词改写、规则改写、DNN改写等方法,直接改写或生成出其同义的问题。
但是,针对基于检索与匹配的FAQ检索系统存在以下问题:在候选召回模块,基于字面匹配的检索算法无法召回语义相同义但字面不相似的候选问题;在给出同义问题时,系统串行执行候选召回、问题匹配两大模块计算,存在计算复杂、耗时、效率低等问题;通常需要先召回候选问题集合,然后计算输入问题与每个问题候选问题的相似性,效率低下。而针对基于改写与生成的FAQ检索系统存在以下问题:前期需要收集大量的同义词、规则、同义句对训练模型,存在收集成本高、依赖规则性强,泛化性较差等问题;改写与生成模型存在不通顺、同义性差、可控性差等问题。
发明内容
本申请目的旨在至少在一定程度上解决上述的技术问题之一。
为此,本申请第一个目的在于提出一种FAQ方法。该方法可以去了复杂的相关性匹配模块(包含向量转化、匹配计算等)、且可召回字面不匹配、语义相似的候选问题,使得整个计算过程更加简单,更加高效。
本申请的第二个目的在于提出一种问答检索系统。
本申请的第三个目的在于提出一种电子设备。
本申请的第四个目的在于提出一种计算机可读存储介质。
为达到上述目的,本申请第一方面实施例提出的FAQ方法,包括:获取输入的请求问题;基于预先建立的双塔问题匹配模型,将所述请求问题转化成第一语义特征向量;其中,所述双塔问题匹配模型是利用知识蒸馏技术,将基于预训练语言模型微调的问题匹配模型迁移到一个简单的双塔模型中而得到的;在预先建立的语义特征向量检索库中检索出与所述第一语义特征向量相似的多个语义特征向量;其中,所述语义特征向量检索库是基于所述双塔问题匹配模型将候选问题表示成语义特征向量,并基于所述候选问题对应的语义特征向量而建立的检索库;根据所述多个语义特征向量,获取对应的多个扩展问题。
根据本申请的一个实施例,通过以下步骤预先建立所述双塔问题匹配模型:基于若干无标注数据的数据集,构建预训练语言模型;构建符合目标业务场景的问题匹配数据;根据所述符合目标业务场景的问题匹配数据,对所述预训练语言模型进行微调,得到问题匹配模型;利用知识蒸馏技术,将所述问题匹配模型迁移到一个简单的双塔模型中,得到所述双塔问题匹配模型。
根据本申请的一个实施例,所述利用知识蒸馏技术,将所述问题匹配模型迁移到一个简单的双塔模型中,得到所述双塔问题匹配模型,包括:构建问题对数据;将所述问题对数据输入至所述问题匹配模型,得到所述问题匹配模型对所述问题对数据的评分;根据所述问题匹配模型对所述问题对数据的评分,和所述问题对数据,构建训练数据;根据所述训练数据对双塔模型进行训练,得到所述双塔问题匹配模型。
根据本申请的一个实施例,所述构建问题对数据,包括:获取搜索点击日志,其中,所述搜索点击日志中包括搜索时输入的问题和所述问题对应的被点击答案的标识信息;根据所述搜索点击日志中的被点击答案的标识信息,对所述搜索点击日志中的问题进行配对,以构建所述问题对数据。
根据本申请的一个实施例,根据所述问题匹配模型对所述问题对数据的评分,和所述问题对数据,构建训练数据,包括:根据所述问题匹配模型对所述问题对数据的评分,从所述问题对数据中提炼出满足目标条件的问题对数据;根据所述满足目标条件的问题对数据,构建所述训练数据。
根据本申请的一个实施例,所述满足目标条件,包括:问题与相关问题组成的问题对数据的评分大于第一阈值;所述问题与不相关问题组成的问题对数据的评分小于第二阈值,且所述问题与相关问题组成的问题对数据的评分和所述问题与不相关问题组成的问题对数据的评分的差值大于第三阈值。
根据本申请的一个实施例,所述在预先建立的语义特征向量检索库中检索出与所述第一语义特征向量相似的多个语义特征向量,包括:基于向量检索系统,采用近似最近邻检索索引技术,在所述语义特征向量检索库中检索出与所述第一语义特征向量相似的多个语义特征向量。
为达到上述目的,本申请第二方面实施例提出的问答检索系统,包括:请求问题获取模块,用于获取输入的请求问题;向量生成模块,用于基于预先建立的双塔问题匹配模型,将所述请求问题转化成第一语义特征向量;其中,所述双塔问题匹配模型是利用知识蒸馏技术,将基于预训练语言模型微调的问题匹配模型迁移到一个简单的双塔模型中而得到的;向量检索模块,用于在预先建立的语义特征向量检索库中检索出与所述第一语义特征向量相似的多个语义特征向量;其中,所述语义特征向量检索库是基于所述双塔问题匹配模型将候选问题表示成语义特征向量,并基于所述候选问题对应的语义特征向量而建立的检索库;扩展问题获取模块,用于根据所述多个语义特征向量,获取对应的多个扩展问题。
为达到上述目的,本申请第三方面实施例提出的电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请第一方面实施例所述的FAQ方法。
为达到上述目的,本申请第四方面实施例提出的存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本申请第一方面实施例所述的FAQ方法。
上述申请中的一个实施例具有如下优点或有益效果:获取输入的请求问题,并基于预先建立的双塔问题匹配模型,将请求问题转化成第一语义特征向量,在预先建立的语义特征向量检索库中检索出与第一语义特征向量相似的多个语义特征向量,以及根据多个语义特征向量,获取对应的多个扩展问题。即整个过程中,只需要对输入问题进行向量表示,然后基于向量检索技术,即可返回相似性问题集合,与基于检索与匹配的FAQ检索系统相比,省去了复杂的相关性匹配模块(包含向量转化、匹配计算等)、且可召回字面不匹配、语义相似的候选问题,使得整个计算过程更加简单,更加高效,可以搭建端到端的问答检索系统,整个系统计算过程完全端到端、利于整体系统优化,不存在优化目标不一致问题;另外,只需要构建少量问题相关性数据,即可搭建一个完整的、高效率、高效益的问答检索系统,使得系统构建成本低、易训练。
上述可选方式所具有的其他效果将在下文中结合具体实施例加以说明。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请一个实施例的FAQ方法的流程图;
图2是根据本申请实施例的FAQ方法的示例图;
图3是根据本申请实施例的建立双塔问题匹配模型的流程图;
图4是根据本申请实施例的双塔问题匹配模型的建立流程示例图;
图5是根据本申请实施例的获得双塔问题匹配模型的流程图;
图6是根据本申请实施例的双塔问题匹配模型的训练流程示例图;
图7是根据本申请一个实施例的问答检索系统的结构示意图;
图8是根据本申请另一个实施例的问答检索系统的结构示意图;
图9是用来实现本申请实施例的FAQ方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
下面参照附图来描述根据本申请实施例提出的FAQ方法、问答检索系统、电子设备和计算机可读存储介质。
图1是根据本申请一个实施例的FAQ方法的流程图。需要说明的是,本申请实施例的FAQ方法可应用于本申请实施例的问答检索系统。
如图1所示,该FAQ方法可以包括:
步骤101,获取输入的请求问题。
举例而言,假设本申请实施例的FAQ方法可运用于问答对问答系统中。该问答系统可为用户提供问题输入框,进而基于用户输入的问题进行检索以提供对应的答案。在本步骤中,可通过该输入框来获取用户输入的请求问题。
步骤102,基于预先建立的双塔问题匹配模型,将请求问题转化成第一语义特征向量;其中,双塔问题匹配模型是利用知识蒸馏技术,将基于预训练语言模型微调的问题匹配模型迁移到一个简单的双塔模型中而得到的。
可选地,将用户输入的请求问题输入至该预先建立的双塔问题匹配模型中,通过该双塔问题匹配模型将该请求问题表示成第一语义特征向量。
需要说明的是,在本申请的实施例中,该双塔问题匹配模型是预先建立的,即在预先建立阶段,可先构建预训练语言模型,并利用少量的特定业务场景的问题匹配数据对该预训练语言模型进行微调,然后,利用知识蒸馏技术,将该微调后的模型迁移到一个简单的双塔模型中,以得到所述双塔问题匹配模型。具体实现过程可参见后续实施例的描述。
步骤103,在预先建立的语义特征向量检索库中检索出与第一语义特征向量相似的多个语义特征向量;其中,语义特征向量检索库是基于双塔问题匹配模型将候选问题表示成语义特征向量,并基于候选问题对应的语义特征向量而建立的检索库。
可选地,基于向量检索系统,采用近似最近邻检索索引技术,在语义特征向量检索库中检索出与第一语义特征向量相似的多个语义特征向量。举例而言,本申请使用开源的FAISS(针对聚类和相似性搜索库)向量检索系统,采用近似最近邻检索(ApproximateNearest Neighbor,英文简称为ANN)索引技术,在语义特征向量检索库中进行检索,以检索出与第一语义特征向量相似的多个语义特征向量。由于本申请使用FAISS向量检索系统来实现向量检索,可以提高向量检索速度,提高效率;同时,通过利用近似最近邻检索索引技术,可以进一步提高向量检索速度,进一步提高效率,同时还可以保证检索结果的质量。
需要说明的是,在本申请的一个实施例中,语义特征向量检索库是预先建立的。其中,该语义特征向量检索库可以是基于双塔问题匹配模型将候选问题表示成语义特征向量,并基于候选问题对应的语义特征向量而建立的检索库。也就是说,可获取一些候选问题,比如,可从用户输入的历史问题信息中提取一些候选问题,然后,通过预先建立的双塔问题匹配模型对一些候选问题表示成对应的高维语义特征向量,基于这些候选问题对应的高维语义特征向量进行建库,从而得到语义特征向量检索库。
步骤104,根据多个语义特征向量,获取对应的多个扩展问题。
在本步骤中,在得到与第一语义特征向量相似的多个语义特征向量之后,基于语义特征向量与问题信息之间的映射关系,即可得到所述多个语义特征向量对应的多个扩展问题的文本内容。
举例而言,如图2所示,在获得用户输入的请求问题时,可利用预先训练好的双塔问题匹配模型将该请求问题映射到相同特征空间,即得到该请求问题的语义特征向量,然后,利用向量检索系统,采用近似最近邻检索索引技术,在预先建立的语义特征向量检索库中进行检索,以检索出与该输入语义特征向量相似的多个语义特征向量,进而基于该多个语义特征向量即可得到对应的多个扩展问题的文本内容,将这些扩展问题的文本内容进行返回,从而可以返回相似的问题集合。在整个过程中,只需要对输入问题进行向量表示;然后基于向量检索技术,即可返回相似性问题集合,与基于检索与匹配的FAQ检索系统相比,省去了复杂的相关性匹配模块(包含向量转化、匹配计算等)、且可召回字面不匹配、语义相近的候选问题,整个计算过程完全端到端、利于整体系统优化,不存在优化目标不一致问题。
根据本申请实施例的FAQ方法,获取输入的请求问题,并基于预先建立的双塔问题匹配模型,将请求问题转化成第一语义特征向量,在预先建立的语义特征向量检索库中检索出与第一语义特征向量相似的多个语义特征向量,以及根据多个语义特征向量,获取对应的多个扩展问题。即整个过程中,只需要对输入问题进行向量表示,然后基于向量检索技术,即可返回相似性问题集合,与基于检索与匹配的FAQ检索系统相比,省去了复杂的相关性匹配模块(包含向量转化、匹配计算等)、且可召回字面不匹配、语义相似的候选问题,使得整个计算过程更加简单,更加高效,可以搭建端到端的问答检索系统,整个系统计算过程完全端到端、利于整体系统优化,不存在优化目标不一致问题。
在本申请的一个实施例中,如图3所示,可通过以下步骤预先建立所述双塔问题匹配模型:
步骤301,基于若干无标注数据的数据集,构建预训练语言模型。
需要说明的是,预训练语言模型一般分为两步,首先用某个较大的数据集训练好模型(这种模型往往比较大,训练需要大量的内存资源),使模型训练到一个良好的状态,然后下一步根据不同的任务,改造预训练模型,用这个任务的数据集在预训练模型上进行微调。这种做法的好处是训练代价很小,预训练的模型参数可以让新的模型达到更快的收敛速度,并且能够有效地提高模型性能,尤其是对一些训练数据比较稀缺的任务,在神经网络参数十分庞大的情况下,仅仅依靠任务自身的训练数据可能无法训练充分,预训练方法可以认为是让模型基于一个更好的初始状态进行学习,从而能够达到更好的性能。在本申请的实施例中,可以使用BERT、ERNIE等开源预训练语言模型,也可以根据这些模型的训练,自己重训语言模型。
步骤302,构建符合目标业务场景的问题匹配数据。
可选地,确定本申请实施例的FAQ方法的适用业务场景,可基于该适用业务场景,构建符合该业务场景的问题匹配数据。例如,该问题匹配数据的格式可为<问题1,问题2,label>,其中label一般为0或1,其中,“0”表示不具有相关性,“1”表示具有相关性。可以理解,本步骤中的问题匹配数据即为标注数据。
步骤303,根据符合目标业务场景的问题匹配数据,对预训练语言模型进行微调,得到问题匹配模型。
例如,以预训练语言模型为ERNIE语言模型为例,将标注好的<问题-问题>文本拼接在一起输入语言模型,得到两者共同的语义表示向量,将向量输入分类器,用标注数据微调此分类器,然后,可以得到基于预训练语言模型的问题匹配模型。该问题匹配模型效果,远胜于其它不使用语言模型的方法,是目前问题匹配领域中最先进的模型。
步骤304,利用知识蒸馏技术,将问题匹配模型迁移到一个简单的双塔模型中,得到双塔问题匹配模型。
需要说明的是,上述基于预训练模型的问题匹配模型虽然效果远优于其他模型,但在问答检索系统使用中,存在如下两个问题:1)结构复杂、参数庞大,时间复杂度高等问题;以ERNIE 2.0base模型为例,该模型有12层transformer组成,含有上亿参数,不能满足大规模系统应用;2)需要将问题对同时输入到语言模型,无法搭建端到端问题扩展系统,通常需要先召回候选问题集合,然后计算输入问题与每个问题候选问题的相似性。
基于上述存在的问题,在本步骤中,利用知识蒸馏技术,将问题匹配模型迁移到一个简单的双塔模型中,以得到双塔问题匹配模型。其中,模型蒸馏就是将训练好的复杂模型推广能力“知识”迁移到一个结构更为简单的网络中,收集简单模型训练数据,此处的训练数据可以是训练原始网络的有标签数据,也可以是额外的无标签数据。
举例而言,如图4所示,为该双塔问题匹配模型的建立流程,首先,可基于大量无标注数据的数据集构建一个预训练语言模型;然后,可构建符合目标业务场景的问题匹配数据,该问题匹配数据可为少量的标注数据,进而可基于该少量标注数据对预训练语言模型进行微调,即对模型中的业务关系数据进行微调,以得到问题匹配模型;之后,可利用无标注数据从问题匹配模型中提炼出预训练标注数据,进而基于该预训练标注数据对一个简单的双塔模型进行训练,从而得到双塔问题匹配模型。
作为一种示例,如图5所示,所述利用知识蒸馏技术,将问题匹配模型迁移到一个简单的双塔模型中,得到双塔问题匹配模型的实现过程可包括以下步骤:
步骤501,构建问题对数据。
在本申请的实施例中,可获取搜索点击日志,其中,搜索点击日志中包括搜索时输入的问题和问题对应的被点击答案的标识信息;然后,根据搜索点击日志中的被点击答案的标识信息,对搜索点击日志中的问题进行配对,以构建问题对数据。
举例而言,可基于大量的点击日志问题query,构建共点问题对数据。首先,基于搜索点击日志query,进行简单清洗、过滤,比如,过滤掉过长的噪声query,非目标query等。接着,可根据搜索点击日志中的被点击答案的标识信息,对搜索点击日志中的问题进行配对,以构建问题对数据。例如,有<问题1,url>,<问题2,url>,确定“问题1”的“url”与“问题2”的“url”具有相关性,则可将“问题1”和“问题2”进行配对,即可构造点击问题对<问题1,问题2>。
步骤502,将问题对数据输入至问题匹配模型,得到问题匹配模型对问题对数据的评分。
可选地,将步骤501构建的问题对数据输入到问题匹配模型中,得到该问题匹配模型对该问题对数据的评分,该评分即可表示对应问题对之间的相关性,即可根据该评分即可判断对应问题对的相关性。
步骤503,根据问题匹配模型对问题对数据的评分,和问题对数据,构建训练数据。
在本申请的一个实施例中,可根据问题匹配模型对问题对数据的评分,从问题对数据中提炼出满足目标条件的问题对数据,并根据该满足目标条件的问题对数据,构建训练数据。需要说明的是,在本申请的实施例中,所述满足目标条件可包括但不限于:问题与相关问题组成的问题对数据的评分大于第一阈值;问题与不相关问题组成的问题对数据的评分小于第二阈值,且问题与相关问题组成的问题对数据的评分和问题与不相关问题组成的问题对数据的评分的差值大于第三阈值。
需要说明的是,训练数据构建是知识蒸馏过程关键的一步。在本步骤中,可基于步骤502得到的问题匹配模型对问题对数据的评分,来构建训练数据。例如,对于<问题,相关问题,不相关问题>,可要求score_<问题,相关问题>大于第一阈值,score_<问题,不相关问题>小于第二阈值,且{score_<问题,相关问题>-score_<问题,不相关问题>}大于第三阈值(其中,阈值越大表示问题对相关性越高),其中,第一阈值大于第三阈值,第三阈值大于第二阈值,第一阈值、第二阈值和第三阈值的大小要根据具体模型、任务去定义。在本步骤中,可从问题对数据中提炼出满足上述要求的问题对数据,进而将满足上述要求的问题对数据中的问题作为训练数据。
步骤504,根据训练数据对双塔模型进行训练,得到双塔问题匹配模型。
可选地,将步骤503得到的训练数据输入至双塔模型中,以对该模型进行训练,直至该模型训练到满足目标要求时结束训练,将训练好的模型可作为双塔问题匹配模型。
举例而言,如图6所示,为双塔问题匹配模型的训练流程,首先,在构建到问题对数据<问题1,问题2>之后,可将该问题对数据输入至问题匹配模型,得到问题匹配模型对该问题对数据的评分,即该问题匹配模型的标注样本。之后,从该标注样本中提炼出满足目标条件的问题对数据,进而基于该满足目标条件的问题对数据构建训练数据<问题,相关问题,不相关问题>。然后,将训练数据输入到双塔模型进行训练,以得到双塔问题匹配模型。其中,该双塔模型可通过向量表示层将这些训练数据表示成对应的特征向量,之后,将问题向量与相关问题向量进行匹配,并计算匹配到的问题向量与相关问题向量之间的相似度1;将问题向量与不相关问题向量进行匹配,并计算匹配到的问题向量与不相关问题向量之间的相似度2;然后,计算相似度1与相似度2的差值,判断该差值是否大于目标阈值,若否,则可根据该差值与目标阈值之间的差值,来调整该双塔模型的模型参数并继续训练,直至相似度1与相似度2的差值大于目标阈值,从而拉大相似问题与不相似问题之间的距离。需要说明的是,在本申请的实施例中,双塔模型中的向量表示层可以选用BOW(Bag of Words,词袋)、CNN(Convolutional Neural Networks,卷积神经网络)、LSTM(Long Short-TermMemory,长短期记忆网络)等,作为一种示例,可使用较为简单的BOW表示层。
图7是根据本申请一个实施例的问答检索系统的结构示意图。如图7所示,该问答检索系统700可以包括:请求问题获取模块710、向量生成模块720、向量检索模块730和扩展问题获取模块740。
具体地,请求问题获取模块710用于获取输入的请求问题。
向量生成模块720用于基于预先建立的双塔问题匹配模型,将请求问题转化成第一语义特征向量;其中,双塔问题匹配模型是利用知识蒸馏技术,将基于预训练语言模型微调的问题匹配模型迁移到一个简单的双塔模型中而得到的。
向量检索模块730用于在预先建立的语义特征向量检索库中检索出与第一语义特征向量相似的多个语义特征向量;其中,语义特征向量检索库是基于双塔问题匹配模型将候选问题表示成语义特征向量,并基于候选问题对应的语义特征向量而建立的检索库。作为一种示例,向量检索模块730基于向量检索系统,采用近似最近邻检索索引技术,在语义特征向量检索库中检索出与第一语义特征向量相似的多个语义特征向量。
扩展问题获取模块740用于根据多个语义特征向量,获取对应的多个扩展问题。
在本申请的一个实施例中,如图8所示,该问答检索系统700还可包括:双塔问题匹配模型建立模块750。其中,双塔问题匹配模型建立模块750可用于预先建立所述双塔问题匹配模型。其中,在本申请的实施例中,如图8所示,该双塔问题匹配模型建立模块750包括:预训练模型构建单元751、问题匹配数据构建单元752、模型微调单元753和模型蒸馏单元754。其中,预训练模型构建单元751用于基于若干无标注数据的数据集,构建预训练语言模型;问题匹配数据构建单元752用于构建符合目标业务场景的问题匹配数据;模型微调单元753用于根据符合目标业务场景的问题匹配数据,对预训练语言模型进行微调,得到问题匹配模型;模型蒸馏单元754用于利用知识蒸馏技术,将问题匹配模型迁移到一个简单的双塔模型中,得到双塔问题匹配模型。
在本申请的一个实施例中,模型蒸馏单元754利用知识蒸馏技术,将问题匹配模型迁移到一个简单的双塔模型中,得到双塔问题匹配模型的具体实现过程可如下:构建问题对数据;将问题对数据输入至问题匹配模型,得到问题匹配模型对问题对数据的评分;根据问题匹配模型对问题对数据的评分,和问题对数据,构建训练数据;根据训练数据对双塔模型进行训练,得到双塔问题匹配模型。
在本申请的一个实施例中,模型蒸馏单元754构建问题对数据的具体实现过程可如下:获取搜索点击日志,其中,搜索点击日志中包括搜索时输入的问题和问题对应的被点击答案的标识信息;根据搜索点击日志中的被点击答案的标识信息,对搜索点击日志中的问题进行配对,以构建问题对数据。
在本申请的一个实施例中,模型蒸馏单元754根据问题匹配模型对问题对数据的评分,和问题对数据,构建训练数据的具体实现过程可如下:根据问题匹配模型对问题对数据的评分,从问题对数据中提炼出满足目标条件的问题对数据;根据满足目标条件的问题对数据,构建训练数据。需要说明的是,在本申请的实施例中,所述满足目标条件,包括:问题与相关问题组成的问题对数据的评分大于第一阈值;所述问题与不相关问题组成的问题对数据的评分小于第二阈值,且所述问题与相关问题组成的问题对数据的评分和所述问题与不相关问题组成的问题对数据的评分的差值大于第三阈值。
根据本申请实施例的问答检索系统,获取输入的请求问题,并基于预先建立的双塔问题匹配模型,将请求问题转化成第一语义特征向量,在预先建立的语义特征向量检索库中检索出与第一语义特征向量相似的多个语义特征向量,以及根据多个语义特征向量,获取对应的多个扩展问题。即整个过程中,只需要对输入问题进行向量表示,然后基于向量检索技术,即可返回相似性问题集合,与基于检索与匹配的FAQ检索系统相比,省去了复杂的相关性匹配模块(包含向量转化、匹配计算等)、且可召回字面不匹配、语义相似的候选问题,使得整个计算过程更加简单,更加高效,可以搭建端到端的问答检索系统,整个系统计算过程完全端到端、利于整体系统优化,不存在优化目标不一致问题。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图9所示,是根据本申请实施例的用于实现FAQ方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图9所示,该电子设备包括:一个或多个处理器901、存储器902,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图9中以一个处理器901为例。
存储器902即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的FAQ方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的FAQ方法。
存储器902作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的FAQ方法对应的程序指令/模块(例如,附图7所示的请求问题获取模块710、向量生成模块720、向量检索模块730和扩展问题获取模块740)。处理器901通过运行存储在存储器902中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的FAQ方法。
存储器902可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据用于实现FAQ方法的电子设备的使用所创建的数据等。此外,存储器902可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器902可选包括相对于处理器901远程设置的存储器,这些远程存储器可以通过网络连接至用以实现FAQ方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
用以实现FAQ方法的电子设备还可以包括:输入装置903和输出装置904。处理器901、存储器902、输入装置903和输出装置904可以通过总线或者其他方式连接,图9中以通过总线连接为例。
输入装置903可接收输入的数字或字符信息,以及产生与用以实现FAQ方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置904可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (12)
1.一种FAQ方法,其特征在于,包括:
获取输入的请求问题;
基于预先建立的双塔问题匹配模型,将所述请求问题转化成第一语义特征向量;其中,所述双塔问题匹配模型是利用知识蒸馏技术,将基于预训练语言模型微调的问题匹配模型迁移到一个简单的双塔模型中而得到的;
在预先建立的语义特征向量检索库中检索出与所述第一语义特征向量相似的多个语义特征向量;其中,所述语义特征向量检索库是基于所述双塔问题匹配模型将候选问题表示成语义特征向量,并基于所述候选问题对应的语义特征向量而建立的检索库;
根据所述多个语义特征向量,获取对应的多个扩展问题;
其中,通过以下步骤预先建立所述双塔问题匹配模型:
基于若干无标注数据的数据集,构建预训练语言模型;
构建符合目标业务场景的问题匹配数据;
根据所述符合目标业务场景的问题匹配数据,对所述预训练语言模型进行微调,得到问题匹配模型;
利用知识蒸馏技术,将所述问题匹配模型迁移到一个简单的双塔模型中,得到所述双塔问题匹配模型;其中,所述利用知识蒸馏技术,将所述问题匹配模型迁移到一个简单的双塔模型中,得到所述双塔问题匹配模型,包括:
构建问题对数据;
将所述问题对数据输入至所述问题匹配模型,得到所述问题匹配模型对所述问题对数据的评分;
根据所述问题匹配模型对所述问题对数据的评分,和所述问题对数据,构建训练数据;
根据所述训练数据对双塔模型进行训练,得到所述双塔问题匹配模型。
2.根据权利要求1所述的方法,其特征在于,所述构建问题对数据,包括:
获取搜索点击日志,其中,所述搜索点击日志中包括搜索时输入的问题和所述问题对应的被点击答案的标识信息;
根据所述搜索点击日志中的被点击答案的标识信息,对所述搜索点击日志中的问题进行配对,以构建所述问题对数据。
3.根据权利要求1所述的方法,其特征在于,根据所述问题匹配模型对所述问题对数据的评分,和所述问题对数据,构建训练数据,包括:
根据所述问题匹配模型对所述问题对数据的评分,从所述问题对数据中提炼出满足目标条件的问题对数据;
根据所述满足目标条件的问题对数据,构建所述训练数据。
4.根据权利要求3所述的方法,其特征在于,所述满足目标条件,包括:
问题与相关问题组成的问题对数据的评分大于第一阈值;
所述问题与不相关问题组成的问题对数据的评分小于第二阈值,且所述问题与相关问题组成的问题对数据的评分和所述问题与不相关问题组成的问题对数据的评分的差值大于第三阈值。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述在预先建立的语义特征向量检索库中检索出与所述第一语义特征向量相似的多个语义特征向量,包括:
基于向量检索系统,采用近似最近邻检索索引技术,在所述语义特征向量检索库中检索出与所述第一语义特征向量相似的多个语义特征向量。
6.一种问答检索系统,其特征在于,包括:
请求问题获取模块,用于获取输入的请求问题;
向量生成模块,用于基于预先建立的双塔问题匹配模型,将所述请求问题转化成第一语义特征向量;其中,所述双塔问题匹配模型是利用知识蒸馏技术,将基于预训练语言模型微调的问题匹配模型迁移到一个简单的双塔模型中而得到的;
向量检索模块,用于在预先建立的语义特征向量检索库中检索出与所述第一语义特征向量相似的多个语义特征向量;其中,所述语义特征向量检索库是基于所述双塔问题匹配模型将候选问题表示成语义特征向量,并基于所述候选问题对应的语义特征向量而建立的检索库;
扩展问题获取模块,用于根据所述多个语义特征向量,获取对应的多个扩展问题;
其中,所述系统还包括:
双塔问题匹配模型建立模块,用于预先建立所述双塔问题匹配模型;其中,所述双塔问题匹配模型建立模块包括:
预训练模型构建单元,用于基于若干无标注数据的数据集,构建预训练语言模型;
问题匹配数据构建单元,用于构建符合目标业务场景的问题匹配数据;
模型微调单元,用于根据所述符合目标业务场景的问题匹配数据,对所述预训练语言模型进行微调,得到问题匹配模型;
模型蒸馏单元,用于利用知识蒸馏技术,将所述问题匹配模型迁移到一个简单的双塔模型中,得到所述双塔问题匹配模型;其中,所述模型蒸馏单元具体用于:
构建问题对数据;
将所述问题对数据输入至所述问题匹配模型,得到所述问题匹配模型对所述问题对数据的评分;
根据所述问题匹配模型对所述问题对数据的评分,和所述问题对数据,构建训练数据;
根据所述训练数据对双塔模型进行训练,得到所述双塔问题匹配模型。
7.根据权利要求6所述的系统,其特征在于,所述模型蒸馏单元具体用于:
获取搜索点击日志,其中,所述搜索点击日志中包括搜索时输入的问题和所述问题对应的被点击答案的标识信息;
根据所述搜索点击日志中的被点击答案的标识信息,对所述搜索点击日志中的问题进行配对,以构建所述问题对数据。
8.根据权利要求6所述的系统,其特征在于,所述模型蒸馏单元具体用于:
根据所述问题匹配模型对所述问题对数据的评分,从所述问题对数据中提炼出满足目标条件的问题对数据;
根据所述满足目标条件的问题对数据,构建所述训练数据。
9.根据权利要求8所述的系统,其特征在于,所述满足目标条件,包括:
问题与相关问题组成的问题对数据的评分大于第一阈值;
所述问题与不相关问题组成的问题对数据的评分小于第二阈值,且所述问题与相关问题组成的问题对数据的评分和所述问题与不相关问题组成的问题对数据的评分的差值大于第三阈值。
10.根据权利要求6至9中任一项所述的系统,其特征在于,所述向量检索模块具体用于:
基于向量检索系统,采用近似最近邻检索索引技术,在所述语义特征向量检索库中检索出与所述第一语义特征向量相似的多个语义特征向量。
11.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至5中任一项所述的FAQ方法。
12.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1至5中任一项所述的FAQ方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911382839.5A CN111198940B (zh) | 2019-12-27 | 2019-12-27 | Faq方法、问答检索系统、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911382839.5A CN111198940B (zh) | 2019-12-27 | 2019-12-27 | Faq方法、问答检索系统、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111198940A CN111198940A (zh) | 2020-05-26 |
CN111198940B true CN111198940B (zh) | 2023-01-31 |
Family
ID=70746287
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911382839.5A Active CN111198940B (zh) | 2019-12-27 | 2019-12-27 | Faq方法、问答检索系统、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111198940B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113326860B (zh) * | 2020-05-29 | 2023-12-15 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置、电子设备和计算机存储介质 |
US11775839B2 (en) * | 2020-06-10 | 2023-10-03 | International Business Machines Corporation | Frequently asked questions and document retrieval using bidirectional encoder representations from transformers (BERT) model trained on generated paraphrases |
CN111539224B (zh) * | 2020-06-25 | 2023-08-25 | 北京百度网讯科技有限公司 | 语义理解模型的剪枝方法、装置、电子设备和存储介质 |
CN112070233B (zh) * | 2020-08-25 | 2024-03-22 | 北京百度网讯科技有限公司 | 模型联合训练方法、装置、电子设备和存储介质 |
US20220067304A1 (en) * | 2020-08-27 | 2022-03-03 | Google Llc | Energy-Based Language Models |
CN112148855A (zh) * | 2020-09-16 | 2020-12-29 | 深圳康佳电子科技有限公司 | 一种智能客服问题检索方法、终端以及存储介质 |
CN112507091A (zh) * | 2020-12-01 | 2021-03-16 | 百度健康(北京)科技有限公司 | 检索信息的方法、装置、设备以及存储介质 |
CN112347763A (zh) * | 2020-12-03 | 2021-02-09 | 云知声智能科技股份有限公司 | 针对预训练语言模型bert的知识蒸馏方法、装置及系统 |
CN112541362B (zh) | 2020-12-08 | 2022-08-23 | 北京百度网讯科技有限公司 | 一种泛化处理的方法、装置、设备和计算机存储介质 |
CN113553415B (zh) * | 2021-06-30 | 2023-06-02 | 北京百度网讯科技有限公司 | 问答匹配的方法、装置及电子设备 |
CN117312500B (zh) * | 2023-11-30 | 2024-02-27 | 山东齐鲁壹点传媒有限公司 | 一种基于ann和bert的语义检索模型建立方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101373532A (zh) * | 2008-07-10 | 2009-02-25 | 昆明理工大学 | 旅游领域faq中文问答系统实现方法 |
JP2012003704A (ja) * | 2010-06-21 | 2012-01-05 | Nomura Research Institute Ltd | Faq候補抽出システムおよびfaq候補抽出プログラム |
CN103902652A (zh) * | 2014-02-27 | 2014-07-02 | 深圳市智搜信息技术有限公司 | 自动问答系统 |
CN108280155A (zh) * | 2018-01-11 | 2018-07-13 | 百度在线网络技术(北京)有限公司 | 基于短视频的问题检索反馈方法、装置及其设备 |
CN108846126A (zh) * | 2018-06-29 | 2018-11-20 | 北京百度网讯科技有限公司 | 关联问题聚合模型的生成、问答式聚合方法、装置及设备 |
CN110196901A (zh) * | 2019-06-28 | 2019-09-03 | 北京百度网讯科技有限公司 | 对话系统的构建方法、装置、计算机设备和存储介质 |
-
2019
- 2019-12-27 CN CN201911382839.5A patent/CN111198940B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101373532A (zh) * | 2008-07-10 | 2009-02-25 | 昆明理工大学 | 旅游领域faq中文问答系统实现方法 |
JP2012003704A (ja) * | 2010-06-21 | 2012-01-05 | Nomura Research Institute Ltd | Faq候補抽出システムおよびfaq候補抽出プログラム |
CN103902652A (zh) * | 2014-02-27 | 2014-07-02 | 深圳市智搜信息技术有限公司 | 自动问答系统 |
CN108280155A (zh) * | 2018-01-11 | 2018-07-13 | 百度在线网络技术(北京)有限公司 | 基于短视频的问题检索反馈方法、装置及其设备 |
CN108846126A (zh) * | 2018-06-29 | 2018-11-20 | 北京百度网讯科技有限公司 | 关联问题聚合模型的生成、问答式聚合方法、装置及设备 |
CN110196901A (zh) * | 2019-06-28 | 2019-09-03 | 北京百度网讯科技有限公司 | 对话系统的构建方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111198940A (zh) | 2020-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111198940B (zh) | Faq方法、问答检索系统、电子设备和存储介质 | |
CN111125335B (zh) | 问答处理方法、装置、电子设备和存储介质 | |
CN107066621B (zh) | 一种相似视频的检索方法、装置和存储介质 | |
CN110727806B (zh) | 基于自然语言和知识图谱的文本处理方法及装置 | |
CN112507715A (zh) | 确定实体之间关联关系的方法、装置、设备和存储介质 | |
KR102573637B1 (ko) | 엔티티 링킹 방법, 장치, 전자 기기 및 기록 매체 | |
JP7214949B2 (ja) | Poi状態情報を取得する方法、装置、デバイス、プログラム及びコンピュータ記憶媒体 | |
JP7106802B2 (ja) | リソースソート方法、ソートモデルをトレーニングする方法及び対応する装置 | |
CN107690634B (zh) | 自动查询模式生成方法及系统 | |
JP7397903B2 (ja) | インテリジェント対話方法、装置、電子機器及び記憶媒体 | |
CN112507091A (zh) | 检索信息的方法、装置、设备以及存储介质 | |
JP2022050379A (ja) | 意味検索方法、装置、電子機器、記憶媒体およびコンピュータプログラム | |
US11714840B2 (en) | Method and apparatus for information query and storage medium | |
CN112182292B (zh) | 视频检索模型的训练方法、装置、电子设备及存储介质 | |
JP7295200B2 (ja) | 汎化処理方法、装置、デバイス、コンピュータ記憶媒体及びプログラム | |
CN111831821A (zh) | 文本分类模型的训练样本生成方法、装置和电子设备 | |
US11321370B2 (en) | Method for generating question answering robot and computer device | |
CN113869060A (zh) | 语义数据的处理方法及搜索方法、装置 | |
CN112115232A (zh) | 一种数据纠错方法、装置及服务器 | |
CN111666292A (zh) | 用于检索地理位置的相似度模型建立方法和装置 | |
CN111666751A (zh) | 训练文本扩充方法、装置、设备以及存储介质 | |
CN110543558A (zh) | 问题匹配方法、装置、设备和介质 | |
CN111859953A (zh) | 训练数据的挖掘方法、装置、电子设备及存储介质 | |
CN111782975A (zh) | 一种检索方法、装置和电子设备 | |
CN114860913A (zh) | 智能问答系统构建方法、问答处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |