CN111400470A - 问题处理方法、装置、计算机设备和存储介质 - Google Patents
问题处理方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN111400470A CN111400470A CN202010174852.8A CN202010174852A CN111400470A CN 111400470 A CN111400470 A CN 111400470A CN 202010174852 A CN202010174852 A CN 202010174852A CN 111400470 A CN111400470 A CN 111400470A
- Authority
- CN
- China
- Prior art keywords
- question
- model
- similarity
- training
- prediction
- 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
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种问题处理方法、装置、计算机设备和存储介质。所述方法包括:获取问题查询语句;从预设问题库中,查找与所述问题查询语句匹配的候选问题;分别将所述问题查询语句与各所述候选问题组成问题组合,输入相似度预测模型中,输出所述问题组合中候选问题与所述问题查询语句之间的相似度;所述相似度预测模型,是将多个数据源的样本问题组合和相应的相似度标签作为训练集,通过多任务迭代训练对基础语言模型的模型参数进行调整后得到的;选取相似度最高的候选问题,作为与所述问题查询语句匹配的目标问题。采用本方法能够提高处理准确率。
Description
技术领域
本申请涉及自然语言处理技术领域,特别是涉及一种问题处理方法、装置、计算机设备和存储介质。
背景技术
随着科学技术的飞速发展,自然语言处理技术也随之不断地发展。通常会使用自然语言处理技术来进行语句处理。比如,会使用自然语言处理技术处理进行语句相似度判断。
传统方法中,是直接使用样本数据对初始的模型框架进行训练,得到用于进行相似度识别的模型。然而,由于标注数据量有限,导致模型的预测准确性比较低,从而导致进行语句处理的准确率比较低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高语句处理准确率的问题处理方法、装置、计算机设备和存储介质。
一种问题处理方法,所述方法包括:
获取问题查询语句;
从预设问题库中,查找与所述问题查询语句匹配的候选问题;
分别将所述问题查询语句与各所述候选问题组成问题组合,输入相似度预测模型中,输出所述问题组合中候选问题与所述问题查询语句之间的相似度;所述相似度预测模型,是将多个数据源的样本问题组合和相应的相似度标签作为训练集,通过多任务迭代训练对基础语言模型的模型参数进行调整后得到的;
选取相似度最高的候选问题,作为与所述问题查询语句匹配的目标问题。
一种问题处理装置,所述装置包括:
查询模块,用于获取问题查询语句;从预设问题库中,查找与所述问题查询语句匹配的候选问题;
相似度预测模块,用于分别将所述问题查询语句与各所述候选问题组成问题组合,输入相似度预测模型中,输出所述问题组合中候选问题与所述问题查询语句之间的相似度;所述相似度预测模型,是将多个数据源的样本问题组合和相应的相似度标签作为训练集,通过多任务迭代训练对基础语言模型的模型参数进行调整后得到的;
匹配模块,用于选取相似度最高的候选问题,作为与所述问题查询语句匹配的目标问题。
在一个实施例中,所述装置包括:
模型训练模块,用于获取训练集;所述训练集,包括来自多个数据源的样本问题组合和所述样本问题组合所对应的相似度标签;采用所述训练集,对基础语言模型迭代地进行多任务训练,得到相似度预测模型。
在一个实施例中,模型训练模块还用于针对至少两个基础语言模型中每个基础语言模型,采用所述训练集,对所述基础语言模型迭代地进行多任务训练,得到与所述基础语言模型对应的预测模型;不同所述基础语言模型的处理粒度不同;根据与各基础语言模型分别对应的所述预测模型,得到相似度预测模型。
在一个实施例中,模型训练模块还用于采用所述训练集,对第一基础语言模型迭代地进行多任务训练,得到与第一基础语言模型对应的预测模型;所述第一基础语言模型,是以字符为处理粒度的基础语言模型;采用所述训练集,对第二基础语言模型迭代地进行多任务训练,得到与第二基础语言模型对应的预测模型;所述第二基础语言模型,是以词为处理粒度的基础语言模型。
在一个实施例中,模型训练模块还用于获取所述基础语言模型所对应的预设超参数;所述预设超参数中包括初始的学习率;将所述初始的学习率作为当前学习率,并按照所述当前学习率,采用所述训练集,对所述基础语言模型进行当前轮的多任务训练;在当前轮训练结束后减小所述学习率,并将减小后的学习率作为当前学习率,将下一轮作为当前轮,返回所述对所述基础语言模型进行当前轮的多任务训练,直至达到迭代停止条件,得到与所述基础语言模型对应的预测模型。
在一个实施例中,模型训练模块还用于将对应多个数据源的训练集,输入至当前轮的基础语言模型进行多任务训练,得到所述训练集中的样本问题组合对应的输出向量;将同一数据源的样本问题组合所对应的输出向量,输入与所述数据源对应的全连接层,进行全连接处理;根据全连接处理的结果,确定各所述数据源所对应的子损失函数;根据各所述子损失函数,确定最终的损失函数;根据所述损失函数和所述当前学习率,调整所述基础语言模型的模型参数。
在一个实施例中,所述损失函数,由各子损失函数按照相应权重进行加权求和得到;模型训练模块还用于确定与所述损失函数中的子损失函数相应的数据源,针对每个子损失函数相应的数据源,确定所述数据源所对应的全连接层,并根据所述子损失函数,对所述全连接层的参数进行更新。
在一个实施例中,模型训练模块还用于采用所述训练集,对基础语言模型迭代地进行多任务训练,得到每轮对应的预测模型;从所述预测模型中,选取目标预测模型;所述目标预测模型的预测准确度,高于所述预测模型中的非目标预测模型;根据所述目标预测模型,对未标记的样本问题组合进行预测,并根据预测结果,确定未标记的样本问题组合的样本标签;将所述未标记的样本问题组合和所述样本标签作为样本数据,迭代地对初始相似度预测模型进行训练,得到相似度预测模型。
在一个实施例中,模型训练模块还用于针对每轮对应的预测模型,根据预设的验证集,验证所述预测模型的预测准确度;按照预测准确度由高到低的顺序,从各轮多任务训练后得到的预测模型中,筛选预设数量的预测模型,得到目标预测模型。
在一个实施例中,所述目标预测模型为多个;模型训练模块还用于获取未标记的样本问题组合;将所述未标记的样本问题组合,分别输入各所述目标预测模型中,输出所述未标记的样本问题组合对应的各预测结果;将对应于同一未标记的样本问题组合的各预测结果求平均,并将求平均得到的值作为所述未标记的样本问题组合的样本标签。
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行本申请各实施例所述的问题处理方法中的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行本申请各实施例所述的问题处理方法中的步骤。
上述问题处理方法、装置、计算机设备和存储介质,先从预设问题库中,查找与所述问题查询语句匹配的候选问题,再分别将所述问题查询语句与各所述候选问题组成问题组合,输入相似度预测模型中,输出所述问题组合中候选问题与所述问题查询语句之间的相似度。由于,相似度预测模型,是将多个数据源的样本问题组合和相应的相似度标签作为训练集,通过多任务迭代训练对基础语言模型的模型参数进行调整后得到的,所以该进行调整后得到的相似度预测模型继承了基础语言模型的强泛化和强迁移的能力,因而,能准确地预测候选问题和问题查询语句之间的相似度,从而能够准确地将自然语言表达的问题查询语句翻译匹配到已有的目标问题,提高了问题处理的准确性。
附图说明
图1为一个实施例中问题处理方法的应用环境图;
图2为一个实施例中问题处理方法的流程示意图;
图3为一个实施例中匹配的目标问题示意图;
图4为一个实施例中相似问题爬取的界面示意图;
图5为一个实施例中公开数据源的示意图;
图6为一个实施例中基础语言模型多任务训练的原理示意图;
图7为一个实施例中得到输出向量的示意图;
图8为一个实施例中预测效果示意图;
图9为另一个实施例中预测效果示意图;
图10为一个实施例中的性能比对分析图;
图11为一个实施例中问题处理装置的结构框图;
图12为另一个实施例中问题处理装置的结构框图;
图13为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的问题处理方法,可以应用于如图1所示的应用环境中。终端102和服务器104之间通过网络进行通信。终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、智能音箱和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
用户可以通过终端102输入问题查询语句,终端102可以将问题查询语句发送至服务器104。服务器104可以从预设问题库中,查找与问题查询语句匹配的候选问题。服务器104中预先将多个数据源的样本问题组合和相应的相似度标签作为训练集,通过多任务迭代训练对基础语言模型的模型参数进行调整,训练得到相似度预测模型。服务器104可以分别将问题查询语句与各候选问题组成问题组合,输入相似度预测模型中,输出问题组合中候选问题与问题查询语句之间的相似度。服务器104可以选取相似度最高的候选问题,作为与问题查询语句匹配的目标问题。其中,所述问题组合可以为问题列表,即问题以列表的形式呈现。
可以理解,服务器104可以将目标问题返回至终端102。服务器104也可以直接以该目标问题从预设答案库中查询相应的答案。
需要说明的是,当终端具备执行本申请实施例中的问题处理方法的能力时,也可以由终端自身来执行,而不限定于必须由服务器来执行。
可以理解,本申请各实施例中的问题处理方法,相当于使用人工智能技术自动地将自然语言表达的问题查询语句翻译成目标问题。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
可以理解,本申请各实施例中的问题处理方法相当于使用了自然语言处理技术和机器学习技术。比如,将自然语言表达的问题查询语句翻译成目标问题,就属于使用了自然语言处理技术。再比如,模型训练的过程,相当于使用了机器学习技术。
自然语言处理(Nature Language processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
在一个实施例中,如图2所示,提供了一种问题处理方法,以该方法应用于图1中的服务器为例进行说明。该方法包括以下步骤:
S202,获取问题查询语句。
其中,问题查询语句,是使用自然语言表达的问题。
具体地,用户可以通过语音或者文本的方式,在终端中输入问题查询语句。终端可以将问题查询语句发送至服务器。
可以理解,服务器可以直接从本地获取存储的问题查询语句,也可以实时获取终端发送的问题查询语句。
为了便于理解问题查询语句,现举例说明。比如,“世界上最大的火山叫什么名字”即为使用自然语言表达的问题,就属于问题查询语句。再比如,“世界上为什么天空是蓝色的”也属于使用自然语言表达的问题查询语句。
在一个实施例中,终端中可以安装并运行支持语音识别的应用。其中,用户可以通过语音的方式,使用自然语言说出问题,终端可以通过该应用对其进行语音识别,生成问题查询语句。可以理解,支持语音识别的应用,并不限定该应用仅能进行语音识别,该应用还可以具备其他功能。支持语音识别的应用可以是音视频播放应用、智能音箱中的声音处理应用和人机交互应用(即能够实现人机对话的应用)等中的至少一种。
在一个实施例中,终端可以提供输入界面,用户可以在输入界面中输入想要查询的问题查询语句。即,通过文本方式输入问题查询语句。
在其他实施例中,用户还可以通过手势或者空中书写的方式,向终端输入问题查询语句。可以理解,这种情况下,终端可以通过对用户的手势或者空中书写路径进行检测,从而获取输入的问题查询语句。
S204,从预设问题库中,查找与问题查询语句匹配的候选问题。
其中,预设问题库,是预先设置的问题库。预设问题库中包括已知的问题的集合。可以理解,预设问题库中的问题,相较于用户输入的问题查询语句更加规范化。问题查询语句会比预设问题库中的问题更加口语化。
具体地,服务器可以对问题查询语句进行分词和词性判断中的至少一种预处理,生成问题查询语句对应的词向量。服务器可以将该词向量与预设问题库中的各问题进行相似度比对,得到相似度评分,然后,从预设问题库中选取相似度评分在前预设位次的问题,作为与问题查询语句匹配的候选问题。
可以理解,候选问题可以为至少一个。相当于,从预设问题库中查询到与问题查询语句匹配的候选问题的集合。
S206,分别将问题查询语句与各候选问题组成问题组合,输入相似度预测模型中,输出问题组合中候选问题与问题查询语句之间的相似度。
相似度预测模型,是将多个数据源的样本问题组合和相应的相似度标签作为训练集,通过多任务迭代训练对基础语言模型的模型参数进行调整后得到的。
基础语言模型,是预训练的语言模型。预训练的语言模型,就是预先用大量的数据集训练好的模型(这种模型往往比较大,训练需要大量的内存资源)。可以理解,后续可以根据自身的模型需求,使用训练集,对预训练的语言模型进行模型微调,得到实现自身任务的模型。
在一个实施例中,基础语言模型可以是BERT模型(即,BERT-base模型)。BERT模型,是基于中文维基百科数据训练得到,属于通用领域预训练语言模型。由于问题查询语句本身可能更偏向口语化,为了使得模型更加匹配问题查询语句,需要在BERT模型上加入训练集继续训练进行领域自适应。其中,训练集中包括多个数据源的样本问题组合和相应的相似度标签。
领域自适应(DomainAdaptation),与机器学习和转移学习相关的领域,用于从源数据分布中学习在不同(但相关)的目标数据分布上的良好性能模型。
可以理解,基础语言模型还可以是其他模型。比如,WWM-BERT模型,是由哈工大发布的一种基于全词覆盖(Whole Word Masking)的中文BERT预训练模型,属于对BERT模型改进后的模型。
数据源,是指提供样本问题组合的数据源。可以理解,不同数据源,在多任务迭代训练中用于实现其中不同的训练任务。其中,问题组合,即指一对问题所组成的组合。比如,问题查询语句为“广东省最高的山峰是哪座?”,从预设问题库中查询的候选问题有3个,分别如表1所示:
深圳哪座山峰最高? |
世界上最高的山峰是哪座? |
广东哪里的山最高? |
(表1)
那么,将问题查询语句与各候选问题组成问题组合,则可以得到3个问题组合,即为问题组合1:“广东省最高的山峰是哪座?;深圳哪座山峰最高?”,问题组合2:“广东省最高的山峰是哪座?;世界上最高的山峰是哪座?”,问题组合3:“广东省最高的山峰是哪座?;广东哪里的山最高?”。
服务器将问题组合,输入预先训练好的相似度预测模型中,输出该问题组合所对应的相似度。即,该问题组合中的候选问题和问题查询语句之间的相似度。以问题组合1:“广东省最高的山峰是哪座?;深圳哪座山峰最高?”为例,将其输入相似度预测模型中,则输出的是问题查询语句“广东省最高的山峰是哪座?”与候选问题“深圳哪座山峰最高?”这两句话之间的相似度。
S208,选取相似度最高的候选问题,作为与问题查询语句匹配的目标问题。
具体地,终端可以将按照相似度由高到低的顺序,对各候选问题进行排序。按照排序结果,选取相似度最高的候选问题,作为与问题查询语句匹配的目标问题。
可以理解,在步骤S204中,所查询到的候选问题之间可能有一个初始排序。终端可以按照步骤S208的方式,以相似度由高到低的顺序,对候选问题进行重新排序。
为了便于理解,现以表2为例,进行举例说明。
广东哪里的山最高? | 0.9 |
深圳哪座山峰最高? | 0.4 |
世界上最高的山峰是哪座? | 0.3 |
(表2)
可以理解,表2后面的数字即为各候选问题与问题查询语句之间的相似度。从表2可知,相较于表1中的初始排序,按照相似度由高到低的顺序,对各候选问题进行了重新排序。其中,“广东哪里的山最高?”与问题查询语句“广东省最高的山峰是哪座?”的相似度最高,所以,可以从预设问题库中,选取该候选问题作为问题查询语句匹配的目标问题。即,采用本申请实施例中的方法,可以将自然语言表达的问题查询语句“广东省最高的山峰是哪座?”翻译为“广东哪里的山最高?”这一存在预设问题库中的目标问题。
图3为一个实施例中匹配的目标问题示意图。参照图3,左侧为“问题查询语句”,右侧为翻译匹配到的“目标问题”。比如,用户想要了解中国传统工艺有哪些,但是在输入问题的时候,比较口语化的只说了“中国工艺”,那么,经过本申请实施例中的问题处理方法,就可以将其翻译成问题库中已有的问题“中国有哪些传统工艺”。
可以理解,服务器可以直接将目标问题返回至终端进行输出展示。服务器还可以按照该目标问题,从预设答案库中查找相应的答案。
在一个实施例中,该方法还包括:确定预设答案库;预设答案库中的答案与预设问题库中的问题具有对应关系;根据对应关系,从预设答案库中,查找与目标问题对应的答案。
其中,预设答案库,是预先设置的答案库。预设答案库中包括答案的集合。可以理解,预设答案库中的答案,是对已知的问题做出的解答。所以,预设答案库中的答案与预设问题库中的问题具有对应关系。
服务器可以根据预设答案库中的答案与预设问题库中的问题之间的对应关系,从预设答案库中查找与目标问题对应的答案。
比如,问题查询语句“广东省最高的山峰是哪座?”在预设问题库中匹配的目标问题为“广东哪里的山最高?”,就可以在预设答案库中查找与“广东哪里的山最高?”对应的答案。可以理解,通过准确查找到问题查询语句的目标问题,可以提高问答处理的准确率,即能够提高答案的准确率。
上述问题处理方法,先从预设问题库中,查找与所述问题查询语句匹配的候选问题,再分别将所述问题查询语句与各所述候选问题组成问题组合,输入相似度预测模型中,输出所述问题组合中候选问题与所述问题查询语句之间的相似度。由于,相似度预测模型,是将多个数据源的样本问题组合和相应的相似度标签作为训练集,通过多任务迭代训练对基础语言模型的模型参数进行调整后得到的,所以该进行调整后得到的相似度预测模型继承了基础语言模型的强泛化和强迁移的能力,因而,能准确地预测候选问题和问题查询语句之间的相似度,从而能够准确地将自然语言表达的问题查询语句翻译匹配到已有的目标问题,提高了问题处理的准确性。
在一个实施例中,相似度预测模型的训练步骤包括:获取训练集;训练集,包括来自多个数据源的样本问题组合和样本问题组合所对应的相似度标签;采用训练集,对基础语言模型迭代地进行多任务训练,得到相似度预测模型。
在一个实施例中,不同数据源属于不同领域。
在一个实施例中,数据源可以包括私有数据源和公开数据源。其中,私有数据源,是指模型训练方自身准备的数据源。公开数据源,是由第三方提供的数据源。比如,由一些竞赛主办方提供的数据源。
在一个实施例中,可以通过爬虫从页面中爬取相似问题,对相似问题进行去重,然后对出现频率较高的(即出现频率大于或等于预设频率阈值)的相似问题,组成样本问题组合,并通过人工针对样本问题组合添加相似度标签(比如,问题a和问题b相似,则添加相似度标签为“1”),得到私有数据源。
在一个实施例中,还可以利用等同相似原理,对初始的私有数据源进行数据扩充,得到最终的私有数据源。等同相似原理,即具有共同相似问题的问题之间,相当于存在相似关系。比如,问题a与b相似,问题b与c相似,则问题a与c相似。
图4为一个实施例中相似问题爬取的界面示意图。图4是以百度知道页面为例,在该页面中,与“台风来了,我们该做些什么?”相似的问题有8个,那么,就可以将这些相似问题与“台风来了,我们该做些什么?”构成样本问题组合。此外,由于这些相似问题都与“台风来了,我们该做些什么?”相似,所以,这些相似问题之间也具有相似关系,相互之间也可以组成样本问题组合。
在一个实施例中,公开数据源,可以包括自然语言处理国际顶会构建的问题语义匹配数据集(比如,LCQMC,哈尔滨工业大学在自然语言处理国际顶会COLING2018构建的问题语义匹配数据集)。可以理解,该公开数据源中包含24万对口语化描述的中文句子对(即样本问题组合),相似度标签为1或0,1为句子语义相似,0为语义不相似。
在一个实施例中,公开数据源,可以包括自然语言处理智能客服比赛提供的数据集。比如,ATEC,2018年ATEC蚂蚁金服NLP智能客服比赛提供的数据集。可以理解,该公开数据源中包含48万对垂直领域的句子对(即样本问题组合),以金融领域为主,相似度标签为1或0,1为句子语义相似,0为语义不相似,标签准确率96%。
在一个实施例中,公开数据源,可以包括问句匹配大赛提供的数据集。比如,CCKS,2018年微众银行客户问句匹配大赛提供的数据集。可以理解,该公开数据源中包含10万对垂直领域的句子对(即样本问题组合),所有语料来自原始的银行领域智能客服日志,并经过了筛选和人工的意图匹配标注,相似度标签为1或0,1为句子语义相似,0为语义不相似。
图5为一个实施例中公开数据源的示意图。参照图5,示出了三种公开数据源。需要说明的是,对于每种公开数据源来说,示出的同一行的两个句子即为一组样本问题组合,同行中标注的“1”或“0”即为该样本问题组合对应的相似度标签。
其中,(a)即为对公开数据源LCQMC中的中文句子对(即样本问题组合)和相应相似度标签的举例说明。比如,“大家觉得她好看吗”与“大家觉得综艺节目A好看吗?”属于一对句子对(即一组样本问题组合),后面的标注的“0”,即表示这两个问题不相似。
图5中的(b)即为对公开数据源ATEC中的中文句子对(即样本问题组合)和相应相似度标签的举例说明。比如,“刀剑神域图片谁有”与“谁有刀剑神域里面所有剑的图片”属于一对句子对(即一组样本问题组合),后面的标注的“1”,即表示这两个问题相似。
图5中的(c)即为对公开数据源CCKS中的中文句子对(即样本问题组合)和相应相似度标签的举例说明。比如,“微信消费算吗”与“还有多少钱没还”属于一对句子对(即一组样本问题组合),后面的标注的“0”,即表示这两个问题不相似。
具体地,服务器可以从多个不同数据源中按照预设规则或者随机选取样本数据,根据多个数据源中选取的样本数据,形成训练集。然后,服务器可以根据训练集,对基础语言模型迭代地进行多任务训练,以对基础语言模型的模型参数进行微调,得到相似度预测模型。可以理解,一组样本数据中包括样本问题组合和相应的相似度标签。
需要说明的是,基础语言模型可以为一个或多个,当有多个基础语言模型时,则可以用训练集分别对各个基础语言模型迭代地进行多任务训练,得到相似度预测模型。
上述实施例中,采用多个数据源的样本问题组合作为训练集,对基础语言模型迭代地进行多任务训练,能够实现领域自适应,提高了相似度预测模型的泛化能力和迁移能力。进而提高了问题处理的准确性。
在一个实施例中,采用训练集,对基础语言模型迭代地进行多任务训练,得到相似度预测模型包括:针对至少两个基础语言模型中每个基础语言模型,采用训练集,对基础语言模型迭代地进行多任务训练,得到与所述基础语言模型对应的预测模型;不同基础语言模型的处理粒度不同;根据与各基础语言模型分别对应的预测模型,得到相似度预测模型。
其中,基础语言模型的处理粒度,是指基础语言模型对文本的处理粒度。可以理解,处理粒度可以包括字符粒度,词粒度和句子粒度等中的至少一种。字符粒度,是指基础语言模型是对单个字符进行处理。词粒度,是指基础语言模型是对分词后的各个词语进行处理。句子粒度,是指基础语言模型以句子为单位进行处理。
具体地,服务器可以针对每个基础语言模型,采用训练集,对基础语言模型迭代地进行多任务训练,得到与该基础语言模型对应的预测模型。可以理解,与该基础语言模型对应的预测模型,即为由该基础语言模型训练得到的预测模型。服务器可以将由各基础语言模型训练得到的预测模型按照相应权重进行组合,得到相似度预测模型。
在一个实施例中,针对至少两个基础语言模型中每个基础语言模型,采用训练集,对基础语言模型迭代地进行多任务训练,得到与基础语言模型对应的预测模型包括:采用训练集,对第一基础语言模型迭代地进行多任务训练,得到与第一基础语言模型对应的预测模型;第一基础语言模型,是以字符为处理粒度的基础语言模型;采用训练集,对第二基础语言模型迭代地进行多任务训练,得到与第二基础语言模型对应的预测模型;第二基础语言模型,是以词为处理粒度的基础语言模型。
在一个实施例中,第一基础语言模型可以为BERT模型。可以理解,BERT模型是以字符为处理粒度的基础语言模型。
在一个实施例中,第二基础语言模型可以为WWM-BERT模型。可以理解,由于BERT模型,中文是以字为粒度进行切分,没有考虑到传统NLP(Natural Language Processing,自然语言处理)中的中文分词,而哈工大发布的WWM-BERT模型是基于全词覆盖(Whole WordMasking)的中文BERT预训练模型,即,属于以词为处理粒度的基础语言模型。
可以理解,在对第一基础语言模型迭代地进行多任务训练结束后,可以得到与第一基础语言模型对应的预测模型,在对第二基础语言模型迭代地进行多任务训练结束后,可以得到与第二基础语言模型对应的预测模型。服务器可以将与第一基础语言模型对应的预测模型和与第二基础语言模型对应的预测模型结合起来,得到最终的相似度预测模型。
在一个实施例中,针对本方案最后的模型轻量化,为了进一步加快BERT的推理速度,可以参考混合精度的方式,一般模型的参数使用FP32(单精度)进行保存和计算,所以为了提供推理速度,可以使用单个的FP32寄存器,缓存两个FP16(半精度)变量,并进行并行计算。此外,还可以通过混合精度矩阵的乘加运算,将模型中的FP32变量替换成FP16,可以有效压缩模型大小,提升模型的推理速度,同时对模型本身基本无影响。
上述实施例中,对不同处理粒度的基础语言模型分别迭代地进行多任务训练,并根据由各基础语言模型训练得到的预测模型,得到相似度预测模型。能够通过不同处理粒度的基础语言模型之间的互补,提高相似度预测模型的准确性。
在一个实施例中,采用训练集,对基础语言模型迭代地进行多任务训练,得到与基础语言模型对应的预测模型包括:获取基础语言模型所对应的预设超参数;超参数中包括初始的学习率;将初始的学习率作为当前学习率,并按照当前学习率,采用训练集,对基础语言模型进行当前轮的多任务训练;在当前轮训练结束后减小学习率,并将减小后的学习率作为当前学习率,将下一轮作为当前轮,返回对基础语言模型进行当前轮的多任务训练,直至达到迭代停止条件,得到与基础语言模型对应的预测模型。
具体地,服务器可以选取一组预设超参数。该预设超参数中包括初始的学习率。服务器可以标准的微调方法(Fine-tuning)方法,从初始的学习率开始,将其作为当前学习率,采用训练集,对基础语言模型进行当前轮的多任务训练,在当前轮训练结束后减小学习率,并将减小后的学习率作为当前学习率,将下一轮作为当前轮,返回对基础语言模型进行当前轮的多任务训练,直至达到迭代停止条件,得到该基础语言模型所对应的预测模型。
在一个实施例中,初始的学习率设置由1e-5到5e-5。
在一个实施例中,迭代停止条件可以为训练得到的预测模型收敛,或,到达预设迭代次数,或,在一个迭代后学习率降到0。
在一个实施例中,按照当前学习率,采用训练集,对基础语言模型进行当前轮的多任务训练包括:将对应多个数据源的训练集,输入至当前轮的基础语言模型进行多任务训练,得到训练集中的样本问题组合对应的输出向量;将同一数据源的样本问题组合所对应的输出向量,输入与数据源对应的全连接层,进行全连接处理;根据全连接处理的结果,确定各数据源所对应的子损失函数;根据各子损失函数,确定最终的损失函数;根据损失函数和当前学习率,调整基础语言模型的模型参数。
需要说明的是,当前轮的基础语言模型,是在当前轮训练的基础语言模型,而非训练前的最初始的基础语言模型。
具体地,在每轮训练中,服务器可以将采取自多个数据源的训练集,输入至当前轮的基础语言模型中进行多任务训练。由于训练集中包括多个样本问题组合,因此,在每轮训练过程中,可以由当前轮训练的基础语言模型,针对各样本问题组合输出一个向量,即为训练集中的各样本问题组合分别对应的输出向量。服务器可以将同一数据源的样本问题组合所对应的输出向量,输入与该数据源对应的全连接层,进行全连接处理。服务器可以根据全连接处理的结果,确定各数据源所对应的子损失函数。服务器可以将各子损失函数按照相应权重进行加权平均,得到最终的损失函数。服务器可以根据损失函数和当前学习率,调整基础语言模型的模型参数。
在一个实施例中,可以通过逻辑回归和交叉熵,得到各子损失函数,即为(ylog(p)+(1-y)log(1-p))。
在一个实施例中,损失函数,由各子损失函数按照相应权重进行加权求和得到。该方法还包括:确定与损失函数中的子损失函数相应的数据源,针对每个子损失函数相应的数据源,确定所述数据源所对应的全连接层,并根据所述子损失函数,对所述全连接层的参数进行更新。即,在计算子损失函数时,对来自某一数据源的样本问题组合,在反向传播时除了根据该子损失函数更新共享的BERT模型参数以外,还可以更新与该数据源对应的全连接层的参数。从而进一步地提高了模型调整的准确性。
图6为一个实施例中基础语言模型多任务训练的原理示意图。图6是以基础语言模型为BERT模型为例进行说明。参照图6,从不同数据源(数据源1~4,分别为PAIRBANK,LCQMC,ATEC和CCKS)中选取样本数据,得到训练集。然后,将训练集输入基础语言模型中,对基础语言模型进行多任务训练。基础语言模型可以是BERT模型或WWM-BERT模型。由基础语言模型针对各样本问题组合输出对应的输出向量。输出向量可以是768维的向量。可以理解,图6中为了简洁,仅示出了对一个样本问题组合输出了输出向量。将同一数据源的样本问题组合所对应的输出向量,输入与数据源对应的全连接层,进行全连接处理。比如,将从数据源1中选取的样本问题组合所对应的输出向量,统一输入至该数据源1的全连接层进行全连接处理。接着,根据全连接处理的结果,确定预测结果(即logit),根据预测结果和相似度标签之间的差异,确定各数据源所对应的子损失函数,即可以得到图6中所示的子损失函数1~4。可以理解,可以根据各子损失函数,确定最终的损失函数;根据损失函数和当前学习率,调整基础语言模型的模型参数。
在一个实施例中,将对应多个数据源的训练集,输入至当前轮的基础语言模型进行多任务训练,得到训练集中的样本问题组合对应的输出向量的步骤包括:将训练集中的样本问题组合输入当前轮的基础语言模型,在基础语言模型中,针对样本问题组合中的各样本问题,将该样本问题中的各字符或者各分词进行编码,得到词向量,根据词向量进行语义解码,得到该样本问题组合对应的输出向量。可以理解,输出向量即为样本问题组合对应的语义向量。计算机设备可以将该输出向量后面接全连接层和逻辑回归层。即,可以执行将同一数据源的样本问题组合所对应的输出向量,输入与数据源对应的全连接层的处理及后续处理。
图7为一个实施例中得到输出向量的示意图。图7是以BERT模型为例进行说明。参照图7,样本问题组合中的两个问题,分别为问题一和问题二(即两个句子)将问题一和问题二中的字符输入BERT模型中进行编码,分别得到词向量E1~EN,和词向量E’ 1~E’ M。然后根据这些词向量进行解码,得到分别对应的向量T1~TN,和T’ 1~T’ M。根据解码得到的向量,得到语义向量C,即为BERT模型的输出向量。进一步地,可以将输出向量C接入一个分类层(ClassLabel)进行转换,然后接softmax进行分类处理。可以理解,图6中的接入全连接层和计算损失函数,即属于进行分类处理的步骤。
上述实施例中,采用多个数据源的样本数据作为训练集,进行多任务的子损失函数的计算,进而综合起来确定损失函数,以此调整模型参数,提高了模型的泛化能力和迁移能力。进而提高了问题处理的准确性。
在一个实施例中,采用训练集,对基础语言模型迭代地进行多任务训练,得到相似度预测模型包括:采用训练集,对基础语言模型迭代地进行多任务训练,得到每轮对应的预测模型;从预测模型中,选取目标预测模型;目标预测模型的预测准确度,高于预测模型中的非目标预测模型;根据目标预测模型,对未标记的样本问题组合进行预测,并根据预测结果,,确定未标记的样本问题组合的样本标签;将未标记的样本问题组合和样本标签作为样本数据,迭代地对初始相似度预测模型进行训练,得到相似度预测模型。
其中,预测准确度,是指对问题组合进行相似度预测的准确度。未标记的样本问题组合,是指未携带样本标签的样本问题组合。初始相似度预测模型,是用于对一个组合中的不同文本进行相似度匹配判断的模型框架。
初始相似度预测模型,是比基础语言模型小的轻量级模型。
在一个实施例中,初始相似度预测模型可以为ESIM模型框架。ESIM模型(EnhancedSequential Inference Model)是一个文本匹配模型。
可以理解,在采用训练集对基础语言模型迭代地进行多任务训练的过程中,每轮都会得到对应的预测模型(即每轮都会有训练后的基础语言模型)。
服务器可以从预测模型中,选取目标预测模型;目标预测模型的预测准确度,高于预测模型中的非目标预测模型。
在一个实施例中,从预测模型中,选取目标预测模型包括:针对每轮对应的预测模型,根据预设的验证集,验证预测模型的预测准确度;按照预测准确度由高到低的顺序,从各轮多任务训练后得到的预测模型中,筛选预设数量的预测模型,得到目标预测模型。
具体地,服务器可以将预设的验证集中的验证样本问题组合输入该预测模型中,输出预测结果,根据预测结果和该验证样本问题组合对应的样本标签之间的差异,确定预测准确度。然后,按照预测准确度由高到低的顺序,从各轮多任务训练后得到的预测模型中,筛选前预设数量的预测模型,得到目标预测模型。
进一步地,服务器可以根据目标预测模型,对未标记的样本问题组合进行预测,得到预测结果(即logits),并根据预测结果,确定未标记的样本问题组合的样本标签。然后,服务器可以将未标记的样本问题组合和相应的样本标签作为样本数据,代入初始相似度预测模型,进行迭代地训练,最终得到相似度预测模型。
可以理解,在将未标记的样本问题组合和相应的样本标签作为样本数据,代入初始相似度预测模型,进行迭代地训练的过程中,每轮训练得到的模型可以输出与样本问题组合对应的预测相似度,根据预测相似度和样本标签之间的差异,确定损失函数,通过寻找损失函数的最小值,来训练得到相似度预测模型。
在一个实施例中,可以采用训练步长batch size=512,学习率0.001,每个时期(epoch)1000步的方案,对初始相似度预测模型进行训练。
在一个实施例中,相似度预测模型的损失函数的公式如下:
其中,为当前轮的相似度预测模型针对第i个样本问题组合预测的相似度;Yi为由目标预测模型针对第i个样本问题组合预测的相似度;n为样本问题组合的数量。MSE(mean-square error)即为均方误差。即,可以根据目标预测模型预测的相似度与相似度预测模型预测的相似度之间的均方误差,确定损失函数。
需要说明的是,用样本问题组合和样本标签作为样本数据,对初始相似度预测模型,进行迭代地训练,最终得到的模型能够用于判断问题组合中两个问题之间的相似度,因而,最终可以得到相似度预测模型。
在一个实施例中,目标预测模型为多个;根据目标预测模型,预测未标记的样本问题组合所对应的相似度包括:获取未标记的样本问题组合;将未标记的样本问题组合,分别输入各目标预测模型中,输出未标记的样本问题组合对应的各预测结果;将对应于同一未标记的样本问题组合的各预测结果求平均,并将求平均得到的值作为未标记的样本问题组合的样本标签。
比如,从对基础语言模型迭代地进行多任务训练的过程中得到的预测模型中,选取3个预测效果好的预测模型作为目标预测模型。那么,可以用这3个目标预测模型分别在未标记的样本问题组合上进行预测。对于未标记的样本问题组合1来说,则各个目标预测模型会输出针对该未标记的样本问题组合1预测的各预测结果,然后将它们输出的各预测结果(即3个各预测结果)进行平均,得到的分数作为该未标记的样本问题组合1的样本标签。
可以理解,预测结果能够体现样本问题组合中问题之间的相似性,但是并非是取值在[0,1]区间的相似度。因此,将其作为样本标签,减少了局限性,不再局限于0和1这样的人工标注的标签,从而使得训练的相似度预测模型更加准确。
此外,本申请实施例中,基于目标预测模型的预测结果作为样本数据来进行训练相似度预测模型,相当于采用知识蒸馏的方式,让最终的相似度预测模型继承了基础语言模型因使用大量数据集训练所具有的准确性,而且,相较于基础语言模型的网络结构和参数量,更加的轻量级,因而能够节省系统资源消耗,提高性能。相当于采用所以存在系统资源消耗较大,对性能要求较高的问题。实际上,通过验证集对本实施例采用知识蒸馏的方式训练的相似度预测模型进行验证,得到F1_score=81.0%,是很高的预测准确率。而且,该相似度预测模型属于轻量级,能够在保证预测准确率的同时,减少系统资源消耗,降低性能要求,提高响应效率。
参照图8至图9,现用实验结果证明本申请实施例中的方法所能够产生的效果。
在我们的pairbank(一个数据源)的测试集上,我们对五个模型进行测试验证,分别为BERT_ENSEMBLE(利用多任务学习基于BERT-base模型和WWM-BERT模型在多数据集上微调)(其对应的精准率召回率曲线由802示出,对应的F1分数曲线由902示出),BERT_SINGLE_MODEL(基于BERT模型在pairbank数据集上微调)(其对应的精准率召回率曲线由804示出,对应的F1分数曲线由904示出)、ESIM_DISTILLED(即基于知识蒸馏训练的ESIM模型)(其对应的精准率召回率曲线由806示出,对应的F1分数曲线由906示出)、ESIM_MULTITASK(ESIM模型+多任务学习)(其对应的精准率召回率曲线由808示出,对应的F1分数曲线由908示出),以及传统ESIM模型(其对应的精准率召回率曲线由810示出,对应的F1分数曲线由910示出)。可以理解,BERT_ENSEMBLE即为基于至少两个基础语言模型,采用多个数据源的训练集进行训练得到的模型。ESIM_DISTILLED,即采用知识蒸馏训练得到的ESIM模型。其余的3个模型,即为未采用本申请实施例中的方法的参照组。
从图8中的PR(Precision Recall)精准率召回率指标、以及图9中的F1分数(即为模型精确率和召回率的一种加权平均)可知,BERT_ENSEMBLE的PR和FI值均最好。ESIM_DISTILLED虽然对比BERT_ENSEMBLE稍差,但是远远好于传统ESIM模型和ESIM_MULTITASK模型。所以,ESIM_DISTILLED在PR指标和F1分数指标上,也具有较高的评价。
图10为一个实施例中的性能比对分析图。图10中A所示的曲线,即为基于知识蒸馏训练得到的ESIM模型所对应的时延曲线。分别以2层、4层和12层网络结构的BERT模型作为对照组,所对应的时延曲线分别为B~D。从图10可知,时延曲线D所表示的12层的BERT模型并发数为1时开始延迟就超过50ms。曲线A所表示的基于知识蒸馏训练得到的ESIM模型在并发<=4时延迟表现都是最好的。所以,ESIM模型具有较短的延迟。
综合图8至图10可知,利用多任务学习基于BERT-base模型和WWM-BERT模型在多数据集上微调,得到的相似度预测模型,具有非常高的预测准确率和召回率。基于知识蒸馏训练得到的ESIM模型,在具有较高的预测准确率和召回率的同时,性能要求较低,系统资源消耗较小,处理速度较快,延迟较短。
此外,相较于传统直接采用数据集训练ESIM模型而言,基于知识蒸馏训练得到的ESIM模型继承了基础语言模型的泛化能力和迁移能力,所以泛化能力更高和迁移能力更强,在一定的准确率下,可以召回更多问题,覆盖更多的说法。而且,对新领域的问题,不需要单独训练模型,迁移得到比较好的问题语句理解能力。
应该理解的是,虽然各流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图11所示,提供了一种问题处理装置1100,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:查询模块1102、相似度预测模块1104以及匹配模块1106;其中:
查询模块1102,用于获取问题查询语句;从预设问题库中,查找与问题查询语句匹配的候选问题;
相似度预测模块1104,用于分别将问题查询语句与各候选问题组成问题组合,输入相似度预测模型中,输出问题组合中候选问题与问题查询语句之间的相似度;相似度预测模型,是将多个数据源的样本问题组合和相应的相似度标签作为训练集,通过多任务迭代训练对基础语言模型的模型参数进行调整后得到的;
匹配模块1106,用于选取相似度最高的候选问题,作为与问题查询语句匹配的目标问题。
在一个实施例中,该装置还包括:
答案查找模块1108,用于确定预设答案库;预设答案库中的答案与预设问题库中的问题具有对应关系;根据对应关系,从预设答案库中,查找与目标问题对应的答案。
如图12所示,在一个实施例中,该装置包括:模型训练模块1103和答案查找模块1108;其中:
模型训练模块1103,用于获取训练集;训练集,包括来自多个数据源的样本问题组合和样本问题组合所对应的相似度标签;采用训练集,对基础语言模型迭代地进行多任务训练,得到相似度预测模型。
在一个实施例中,模型训练模块1103还用于针对至少两个基础语言模型中每个基础语言模型,采用训练集,对基础语言模型迭代地进行多任务训练,得到与基础语言模型对应的预测模型;不同基础语言模型的处理粒度不同;根据与各基础语言模型分别对应的预测模型,得到相似度预测模型。
在一个实施例中,模型训练模块1103还用于采用训练集,对第一基础语言模型迭代地进行多任务训练,得到与第一基础语言模型对应的预测模型;第一基础语言模型,是以字符为处理粒度的基础语言模型;采用训练集,对第二基础语言模型迭代地进行多任务训练,得到与第二基础语言模型对应的预测模型;第二基础语言模型,是以词为处理粒度的基础语言模型。
在一个实施例中,模型训练模块1103还用于获取基础语言模型所对应的预设超参数;预设超参数中包括初始的学习率;将初始的学习率作为当前学习率,并按照当前学习率,采用训练集,对基础语言模型进行当前轮的多任务训练;在当前轮训练结束后减小学习率,并将减小后的学习率作为当前学习率,将下一轮作为当前轮,返回对基础语言模型进行当前轮的多任务训练,直至达到迭代停止条件,得到与该基础语言模型对应的预测模型。
在一个实施例中,模型训练模块1103还用于将对应多个数据源的训练集,输入至当前轮的基础语言模型进行多任务训练,得到训练集中的样本问题组合对应的输出向量;将同一数据源的样本问题组合所对应的输出向量,输入与数据源对应的全连接层,进行全连接处理;根据全连接处理的结果,确定各数据源所对应的子损失函数;根据各子损失函数,确定最终的损失函数;根据损失函数和当前学习率,调整基础语言模型的模型参数。
在一个实施例中,损失函数,由各子损失函数按照相应权重进行加权求和得到;模型训练模块1103还用于确定与损失函数中的子损失函数相应的数据源,针对每个子损失函数相应的数据源,确定所述数据源所对应的全连接层,并根据所述子损失函数,对所述全连接层的参数进行更新。
在一个实施例中,模型训练模块1103还用于采用训练集,对基础语言模型迭代地进行多任务训练,得到每轮对应的预测模型;从预测模型中,选取目标预测模型;目标预测模型的预测准确度,高于预测模型中的非目标预测模型;根据所述目标预测模型,对未标记的样本问题组合进行预测,并根据预测结果,确定未标记的样本问题组合的样本标签;将所述未标记的样本问题组合和所述样本标签作为样本数据,迭代地对初始相似度预测模型进行训练,得到相似度预测模型。
在一个实施例中,模型训练模块1103还用于针对每轮对应的预测模型,根据预设的验证集,验证预测模型的预测准确度;按照预测准确度由高到低的顺序,从各轮多任务训练后得到的预测模型中,筛选预设数量的预测模型,得到目标预测模型。
在一个实施例中,目标预测模型为多个;模型训练模块1103还用于获取未标记的样本问题组合;将未标记的样本问题组合,分别输入各目标预测模型中,输出所述未标记的样本问题组合对应的各预测结果;将对应于同一未标记的样本问题组合的各预测结果求平均,并将求平均得到的值作为所述未标记的样本问题组合的样本标签。
关于问题处理装置的具体限定可以参见上文中对于问题处理方法的限定,在此不再赘述。上述问题处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器或终端,其内部结构图可以如图13所示。该计算机设备包括通过系统总线连接的处理器、存储器和通信接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种问题处理方法。
本领域技术人员可以理解,图13中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Ran文档对象模型Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Ran文档对象模型Access Memory,SRAM)或动态随机存取存储器(Dynamic Ran文档对象模型Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (15)
1.一种问题处理方法,其特征在于,所述方法包括:
获取问题查询语句;
从预设问题库中,查找与所述问题查询语句匹配的候选问题;
分别将所述问题查询语句与各所述候选问题组成问题组合,输入相似度预测模型中,输出所述问题组合中候选问题与所述问题查询语句之间的相似度;所述相似度预测模型,是将多个数据源的样本问题组合和相应的相似度标签作为训练集,通过多任务迭代训练对基础语言模型的模型参数进行调整后得到的;
选取相似度最高的候选问题,作为与所述问题查询语句匹配的目标问题。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定预设答案库;所述预设答案库中的答案与所述预设问题库中的问题具有对应关系;
从预设答案库中,查找与所述目标问题对应的答案。
3.根据权利要求1所述的方法,其特征在于,所述相似度预测模型的训练步骤包括:
获取训练集;所述训练集,包括来自多个数据源的样本问题组合和所述样本问题组合所对应的相似度标签;
采用所述训练集,对基础语言模型迭代地进行多任务训练,得到相似度预测模型。
4.根据权利要求3所述的方法,其特征在于,所述采用所述训练集,对基础语言模型迭代地进行多任务训练,得到相似度预测模型包括:
针对至少两个基础语言模型中每个基础语言模型,采用所述训练集,对所述基础语言模型迭代地进行多任务训练,得到与所述基础语言模型对应的预测模型;不同所述基础语言模型的处理粒度不同;
根据与各基础语言模型分别对应的所述预测模型,得到相似度预测模型。
5.根据权利要求4所述的方法,其特征在于,所述针对至少两个基础语言模型中每个基础语言模型,采用所述训练集,对所述基础语言模型迭代地进行多任务训练,得到与所述基础语言模型对应的预测模型包括:
采用所述训练集,对第一基础语言模型迭代地进行多任务训练,得到与所述第一基础语言模型对应的预测模型;所述第一基础语言模型,是以字符为处理粒度的基础语言模型;
采用所述训练集,对第二基础语言模型迭代地进行多任务训练,得到与所述第二基础语言模型对应的预测模型;所述第二基础语言模型,是以词为处理粒度的基础语言模型。
6.根据权利要求4所述的方法,其特征在于,所述采用所述训练集,对所述基础语言模型迭代地进行多任务训练,得到与所述基础语言模型对应的预测模型包括:
获取所述基础语言模型所对应的预设超参数;所述预设超参数中包括初始的学习率;
将所述初始的学习率作为当前学习率,并按照所述当前学习率,采用所述训练集,对所述基础语言模型进行当前轮的多任务训练;
在当前轮训练结束后减小所述学习率,并将减小后的学习率作为当前学习率,将下一轮作为当前轮,返回所述对所述基础语言模型进行当前轮的多任务训练,直至达到迭代停止条件,得到与所述基础语言模型对应的预测模型。
7.根据权利要求6所述的方法,其特征在于,所述按照所述当前学习率,采用所述训练集,对所述基础语言模型进行当前轮的多任务训练包括:
将对应多个数据源的训练集,输入至当前轮的基础语言模型进行多任务训练,得到所述训练集中的样本问题组合对应的输出向量;
将同一数据源的样本问题组合所对应的输出向量,输入与所述数据源对应的全连接层,进行全连接处理;
根据全连接处理的结果,确定各所述数据源所对应的子损失函数;
根据各所述子损失函数,确定最终的损失函数;
根据所述损失函数和所述当前学习率,调整所述基础语言模型的模型参数。
8.根据权利要求7所述的方法,其特征在于,所述损失函数,由各子损失函数按照相应权重进行加权求和得到;
所述方法还包括:
确定与所述损失函数中的子损失函数相应的数据源;
针对每个子损失函数相应的数据源,确定所述数据源所对应的全连接层,并根据所述子损失函数,对所述全连接层的参数进行更新。
9.根据权利要求3所述的方法,其特征在于,所述采用所述训练集,对基础语言模型迭代地进行多任务训练,得到相似度预测模型包括:
采用所述训练集,对基础语言模型迭代地进行多任务训练,得到每轮对应的预测模型;
从所述预测模型中,选取目标预测模型;所述目标预测模型的预测准确度,高于所述预测模型中的非目标预测模型;
根据所述目标预测模型,对未标记的样本问题组合进行预测,并根据预测结果,确定未标记的样本问题组合的样本标签;
将所述未标记的样本问题组合和所述样本标签作为样本数据,迭代地对初始相似度预测模型进行训练,得到相似度预测模型。
10.根据权利要求9所述的方法,其特征在于,所述从所述预测模型中,选取目标预测模型包括:
针对每轮对应的预测模型,根据预设的验证集,验证所述预测模型的预测准确度;
按照预测准确度由高到低的顺序,从各轮多任务训练后得到的预测模型中,筛选预设数量的预测模型,得到目标预测模型。
11.根据权利要求9所述的方法,其特征在于,所述目标预测模型为多个;所述根据所述目标预测模型,对未标记的样本问题组合进行预测,并根据预测结果,确定未标记的样本问题组合的样本标签包括:
获取未标记的样本问题组合;
将所述未标记的样本问题组合,分别输入各所述目标预测模型中,输出所述未标记的样本问题组合对应的各预测结果;
将对应于同一未标记的样本问题组合的各预测结果求平均,并将求平均得到的值作为所述未标记的样本问题组合的样本标签。
12.一种问题处理装置,其特征在于,所述装置包括:
查询模块,用于获取问题查询语句;从预设问题库中,查找与所述问题查询语句匹配的候选问题;
相似度预测模块,用于分别将所述问题查询语句与各所述候选问题组成问题组合,输入相似度预测模型中,输出所述问题组合中候选问题与所述问题查询语句之间的相似度;所述相似度预测模型,是将多个数据源的样本问题组合和相应的相似度标签作为训练集,通过多任务迭代训练对基础语言模型的模型参数进行调整后得到的;
匹配模块,用于选取相似度最高的候选问题,作为与所述问题查询语句匹配的目标问题。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括:
答案查找模块,用于确定预设答案库;所述预设答案库中的答案与所述预设问题库中的问题具有对应关系;根据所述对应关系,从预设答案库中,查找与所述目标问题对应的答案。
14.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至11中任一项所述的方法的步骤。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至11中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010174852.8A CN111400470A (zh) | 2020-03-13 | 2020-03-13 | 问题处理方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010174852.8A CN111400470A (zh) | 2020-03-13 | 2020-03-13 | 问题处理方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111400470A true CN111400470A (zh) | 2020-07-10 |
Family
ID=71432529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010174852.8A Pending CN111400470A (zh) | 2020-03-13 | 2020-03-13 | 问题处理方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111400470A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111859960A (zh) * | 2020-07-27 | 2020-10-30 | 中国平安人寿保险股份有限公司 | 基于知识蒸馏的语义匹配方法、装置、计算机设备和介质 |
CN111881263A (zh) * | 2020-08-12 | 2020-11-03 | 福州大学 | 面向智能家居场景的服务推荐在线优化方法 |
CN112035649A (zh) * | 2020-09-02 | 2020-12-04 | 腾讯科技(深圳)有限公司 | 问答模型处理方法、装置、计算机设备及存储介质 |
CN112052320A (zh) * | 2020-09-01 | 2020-12-08 | 腾讯科技(深圳)有限公司 | 一种信息处理方法、装置及计算机可读存储介质 |
CN112214593A (zh) * | 2020-11-05 | 2021-01-12 | 腾讯科技(深圳)有限公司 | 问答处理方法、装置、电子设备及存储介质 |
CN112328097A (zh) * | 2020-11-16 | 2021-02-05 | 维沃移动通信有限公司 | 输入控制方法及装置 |
CN112328786A (zh) * | 2020-11-03 | 2021-02-05 | 平安科技(深圳)有限公司 | 基于bert的文本分类方法、装置、计算机设备及存储介质 |
CN112506963A (zh) * | 2020-11-23 | 2021-03-16 | 上海方立数码科技有限公司 | 一种面向多业务场景的服务机器人问题匹配方法 |
CN113688246A (zh) * | 2021-08-31 | 2021-11-23 | 中国平安人寿保险股份有限公司 | 基于人工智能的历史问题召回方法、装置及相关设备 |
CN113807074A (zh) * | 2021-03-12 | 2021-12-17 | 京东科技控股股份有限公司 | 基于预训练语言模型的相似语句生成方法和装置 |
CN114218372A (zh) * | 2021-12-17 | 2022-03-22 | 北京北大软件工程股份有限公司 | 基于知识库表示的知识图谱检索方法及系统 |
WO2022160442A1 (zh) * | 2021-01-28 | 2022-08-04 | 平安科技(深圳)有限公司 | 答案生成方法、装置、电子设备及可读存储介质 |
-
2020
- 2020-03-13 CN CN202010174852.8A patent/CN111400470A/zh active Pending
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111859960A (zh) * | 2020-07-27 | 2020-10-30 | 中国平安人寿保险股份有限公司 | 基于知识蒸馏的语义匹配方法、装置、计算机设备和介质 |
CN111859960B (zh) * | 2020-07-27 | 2023-08-01 | 中国平安人寿保险股份有限公司 | 基于知识蒸馏的语义匹配方法、装置、计算机设备和介质 |
CN111881263A (zh) * | 2020-08-12 | 2020-11-03 | 福州大学 | 面向智能家居场景的服务推荐在线优化方法 |
CN112052320A (zh) * | 2020-09-01 | 2020-12-08 | 腾讯科技(深圳)有限公司 | 一种信息处理方法、装置及计算机可读存储介质 |
CN112052320B (zh) * | 2020-09-01 | 2023-09-29 | 腾讯科技(深圳)有限公司 | 一种信息处理方法、装置及计算机可读存储介质 |
CN112035649A (zh) * | 2020-09-02 | 2020-12-04 | 腾讯科技(深圳)有限公司 | 问答模型处理方法、装置、计算机设备及存储介质 |
CN112035649B (zh) * | 2020-09-02 | 2023-11-17 | 腾讯科技(深圳)有限公司 | 问答模型处理方法、装置、计算机设备及存储介质 |
CN112328786A (zh) * | 2020-11-03 | 2021-02-05 | 平安科技(深圳)有限公司 | 基于bert的文本分类方法、装置、计算机设备及存储介质 |
CN112214593A (zh) * | 2020-11-05 | 2021-01-12 | 腾讯科技(深圳)有限公司 | 问答处理方法、装置、电子设备及存储介质 |
CN112328097A (zh) * | 2020-11-16 | 2021-02-05 | 维沃移动通信有限公司 | 输入控制方法及装置 |
CN112506963B (zh) * | 2020-11-23 | 2022-09-09 | 上海方立数码科技有限公司 | 一种面向多业务场景的服务机器人问题匹配方法 |
CN112506963A (zh) * | 2020-11-23 | 2021-03-16 | 上海方立数码科技有限公司 | 一种面向多业务场景的服务机器人问题匹配方法 |
WO2022160442A1 (zh) * | 2021-01-28 | 2022-08-04 | 平安科技(深圳)有限公司 | 答案生成方法、装置、电子设备及可读存储介质 |
WO2022188584A1 (zh) * | 2021-03-12 | 2022-09-15 | 京东科技控股股份有限公司 | 基于预训练语言模型的相似语句生成方法和装置 |
CN113807074A (zh) * | 2021-03-12 | 2021-12-17 | 京东科技控股股份有限公司 | 基于预训练语言模型的相似语句生成方法和装置 |
CN113688246B (zh) * | 2021-08-31 | 2023-09-26 | 中国平安人寿保险股份有限公司 | 基于人工智能的历史问题召回方法、装置及相关设备 |
CN113688246A (zh) * | 2021-08-31 | 2021-11-23 | 中国平安人寿保险股份有限公司 | 基于人工智能的历史问题召回方法、装置及相关设备 |
CN114218372A (zh) * | 2021-12-17 | 2022-03-22 | 北京北大软件工程股份有限公司 | 基于知识库表示的知识图谱检索方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111400470A (zh) | 问题处理方法、装置、计算机设备和存储介质 | |
US11934791B2 (en) | On-device projection neural networks for natural language understanding | |
US11113479B2 (en) | Utilizing a gated self-attention memory network model for predicting a candidate answer match to a query | |
Zhang et al. | DBNCF: Personalized courses recommendation system based on DBN in MOOC environment | |
CN109840287A (zh) | 一种基于神经网络的跨模态信息检索方法和装置 | |
CN109376222B (zh) | 问答匹配度计算方法、问答自动匹配方法及装置 | |
US10679012B1 (en) | Techniques to add smart device information to machine learning for increased context | |
US11580975B2 (en) | Systems and methods for response selection in multi-party conversations with dynamic topic tracking | |
WO2020151690A1 (zh) | 语句生成方法、装置、设备及存储介质 | |
US11238050B2 (en) | Method and apparatus for determining response for user input data, and medium | |
CN112148831B (zh) | 图文混合检索方法、装置、存储介质、计算机设备 | |
CN111563158B (zh) | 文本排序方法、排序装置、服务器和计算机可读存储介质 | |
CN112307048B (zh) | 语义匹配模型训练方法、匹配方法、装置、设备及存储介质 | |
US20220383119A1 (en) | Granular neural network architecture search over low-level primitives | |
Luo et al. | EmotionX-DLC: self-attentive BiLSTM for detecting sequential emotions in dialogue | |
CN113239697B (zh) | 实体识别模型训练方法、装置、计算机设备及存储介质 | |
CN113870863A (zh) | 声纹识别方法及装置、存储介质及电子设备 | |
WO2021129411A1 (zh) | 文本处理方法及装置 | |
WO2023279921A1 (zh) | 神经网络模型的训练方法、数据处理的方法及装置 | |
CN112667797B (zh) | 自适应迁移学习的问答匹配方法、系统及存储介质 | |
CN115114937A (zh) | 文本获取方法、装置、计算机设备及存储介质 | |
Du et al. | Hierarchical multi-layer transfer learning model for biomedical question answering | |
CN113282738B (zh) | 文本选择方法及装置 | |
CN117573985B (zh) | 一种应用于智能化在线教育系统的信息推送方法及系统 | |
CN117521674B (zh) | 对抗信息的生成方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40026391 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |