CN113033664A - 问答模型训练方法、问答方法、装置、设备及存储介质 - Google Patents
问答模型训练方法、问答方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113033664A CN113033664A CN202110325654.1A CN202110325654A CN113033664A CN 113033664 A CN113033664 A CN 113033664A CN 202110325654 A CN202110325654 A CN 202110325654A CN 113033664 A CN113033664 A CN 113033664A
- Authority
- CN
- China
- Prior art keywords
- sequence
- sample
- conversation
- content
- question
- 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.)
- Granted
Links
- 238000012549 training Methods 0.000 title claims abstract description 277
- 238000000034 method Methods 0.000 title claims abstract description 107
- 238000012545 processing Methods 0.000 claims description 32
- 230000036961 partial effect Effects 0.000 claims description 25
- 230000004044 response Effects 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 18
- 238000013473 artificial intelligence Methods 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 238000011144 upstream manufacturing Methods 0.000 description 10
- 230000000694 effects Effects 0.000 description 6
- 238000005316 response function Methods 0.000 description 6
- 238000005070 sampling Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 102100026933 Myelin-associated neurite-outgrowth inhibitor Human genes 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 238000012163 sequencing technique Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000000873 masking effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 101000928335 Homo sapiens Ankyrin repeat and KH domain-containing protein 1 Proteins 0.000 description 1
- 101000701393 Homo sapiens Serine/threonine-protein kinase 26 Proteins 0.000 description 1
- 102100030617 Serine/threonine-protein kinase 26 Human genes 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004575 stone Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- 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
- 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 Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Electrically Operated Instructional Devices (AREA)
Abstract
本申请提供了一种问答模型训练方法、问答方法、装置、设备及存储介质,涉及人工智能技术领域,其中,问答模型训练方法包括:获取训练样本,训练样本中包括:多个连续的多轮对话内容,每轮对话内容包括输入内容样本和回复内容样本,训练样本标注有各多轮对话内容中最后一轮的输入内容样本和最后一轮的回复内容样本是否匹配的指示信息,根据训练样本进行模型训练,得到问答模型。本申请在问答模型建模时,考虑多轮问答情况,采用该问答模型在做匹配逻辑时返回的对话结果可以令上下文逻辑更加流畅,提高了回复准确率。
Description
技术领域
本申请涉及人工智能技术领域,具体而言,涉及一种问答模型训练方法、问答方法、装置、设备及存储介质。
背景技术
随着人工智能技术的发展,越来越复杂的对话机器人应运而生,按照功能分类,对话机器人包括任务型对话机器人、闲聊型机器人以及客户聊天性机器人,其中,对于任意一种对话机器人来说,其背后都是一个复杂的对话流程。
相关技术中,往往会存在多个对话应答模块,常见的有检索式应答模块和生成式应答模块,这些模块在接收到相同的用户输入后会输出多个候选回复,将多个候选回复和用户输入到问答模型,得到每个候选回复和用户输入之间的匹配分数,然后将最高匹配分数的候选回复作为机器人针对该用户输入的最终回复内容。
然而,上述问答模型在建模时,只考虑了对话应答模块的返回和用户输入之间的匹配关系,即只考虑了单轮问答的情况,可能导致最终回复内容上下文逻辑不通,使得针对用户输入的回复准确率不高。
发明内容
本申请的目的在于,针对上述现有技术中的不足,提供一种问答模型训练方法、问答方法、装置、设备及存储介质,以解决现有技术中回复准确率不高的问题。
第一方面,本申请一实施例提供了一种问答模型训练方法,所述方法包括:
获取训练样本,所述训练样本中包括:多个连续的多轮对话内容,每轮对话内容包括输入内容样本和回复内容样本,所述训练样本标注有各所述多轮对话内容中最后一轮的输入内容样本和所述最后一轮的回复内容样本是否匹配的指示信息;
根据所述训练样本进行模型训练,得到问答模型。
可选地,所述根据所述训练样本进行模型训练,得到问答模型,包括:
分别在所述输入内容样本和所述回复内容样本中添加对应的人称标示符,得到添加人称标示符之后的训练样本;
根据所述添加人称标示符之后的训练样本进行模型训练,得到所述问答模型。
可选地,所述根据所述训练样本进行模型训练,得到问答模型,包括:
对各所述多轮对话内容构成的对话序列进行切分,得到历史对话序列和预测对话序列,其中,所述历史对话序列的对话时间在所述预测对话序列的对话时间之前;
根据所述历史对话序列和所述预测对话序列,分别得到两组训练样本,所述两组训练样本标注有所述历史对话序列是否被替换的指示信息,以及所述预测对话序列是否被替换的指示信息;
根据所述两组训练样本进行模型训练,得到所述问答模型。
可选地,所述根据所述历史对话序列和所述预测对话序列,分别得到两组训练样本,包括:
对所述历史对话序列和所述预测对话序列中的任一对话序列进行替换,得到第一负对话样本;
根据所述历史对话序列和所述预测对话序列中未替换的对话序列,得到第一正对话样本;所述两组训练样本包括:所述第一负对话样本和所述第一正对话样本。
可选地,所述对各所述多轮对话内容构成的对话序列进行切分,得到历史对话序列和预测对话序列,包括:
根据预设的对话内容序号,对各所述多轮对话内容构成的对话序列进行切分,得到所述历史对话序列和所述预测对话序列;所述历史对话序列包括:所述预设的对话内容序号的对话内容,以及所述预设的对话内容序号之前的对话内容。
可选地,所述根据预设的对话内容序号,对连续的所述多轮对话内容构成的对话序列进行切分,得到所述历史对话序列和所述预测对话序列之前,所述方法还包括:
从所述对话序列的多个对话内容序号中,随机确定所述预设的对话内容序号。
可选地,所述对所述历史对话序列和预测对话序列中的任一对话序列的对话内容进行替换,得到第一负对话样本,包括:
根据预设的概率值,从所述任一对话序列的对话内容中随机选择待替换对话内容;
对所述待替换对话内容进行替换,得到所述第一负对话样本。
可选地,所述根据所述训练样本进行模型训练,得到问答模型,包括:
对各所述多轮对话内容构成的对话序列中的部分序列进行掩码处理,得到掩码序列;
根据所述掩码序列和所述对话序列中未进行掩码处理的序列进行模型训练,得到所述问答模型,所述对话序列中未进行掩码处理的对话序列标注有所述部分序列对应的原始对话内容。
可选地,所述根据所述训练样本进行模型训练,得到问答模型,包括:
对各所述多轮对话内容构成的对话序列中同一人称标示符对应的部分序列进行替换,得到所述同一人称标示符的第二负对话样本;
根据所述对话序列中所述同一人称标示符对应的未替换的序列,得到所述同一人称标示符的第二正对话样本;
根据所述第二负对话样本和所述第二正对话样本,得到逻辑训练样本,所述逻辑训练样本标注有所述第二负对话样本被替换的指示信息,以及所述第二正对话样本未被替换的指示信息。
根据所述逻辑训练样本进行模型训练,得到所述问答模型。
第二方面,本申请另一实施例提供了一种问答方法,所述方法包括:
根据预设的多个对话应答模型对输入内容进行处理,得到所述输入内容对应的多个候选回复内容;
将所述输入内容、与所述输入内容连续的多轮历史对话内容以及所述多个候选回复内容输入到预先训练的问答模型,得到每个候选回复内容和所述输入内容的匹配度,所述预先训练的问答模型根据第一方面任一项所述的方法训练得到;
根据所述匹配度,从所述多个候选回复内容中确定所述输入内容的最终回复内容。
第三方面,本申请另一实施例提供了一种问答模型训练装置,包括:
获取模块,用于获取训练样本,所述训练样本中包括:多个连续的多轮对话内容,每轮对话内容包括输入内容样本和回复内容样本,所述训练样本标注有各所述多轮对话中最后一轮的输入内容样本和所述最后一轮的回复内容样本是否匹配的指示信息;
训练模块,用于根据所述训练样本进行模型训练,得到问答模型。
可选地,训练模块,具体用于:
分别在所述输入内容样本和所述回复内容样本中添加对应的人称标示符,得到添加人称标示符之后的训练样本;
根据所述添加人称标示符之后的训练样本进行模型训练,得到所述问答模型。
可选地,训练模块,具体用于:
对各所述多轮对话内容构成的对话序列进行切分,得到历史对话序列和预测对话序列,其中,所述历史对话序列的对话时间在所述预测对话序列的对话时间之前;
根据所述历史对话序列和所述预测对话序列,分别得到两组训练样本,所述两组训练样本标注有所述历史对话序列是否被替换的指示信息,以及所述预测对话序列是否被替换的指示信息;
根据所述两组训练样本进行模型训练,得到所述问答模型。
可选地,训练模块,具体用于:
对所述历史对话序列和所述预测对话序列中的任一对话序列进行替换,得到第一负对话样本;
根据所述历史对话序列和所述预测对话序列中未替换的对话序列,得到第一正对话样本;所述两组训练样本包括:所述第一负对话样本和所述第一正对话样本。
可选地,训练模块,具体用于:
根据预设的对话内容序号,对各所述多轮对话内容构成的对话序列进行切分,得到所述历史对话序列和所述预测对话序列;所述历史对话序列包括:所述预设的对话内容序号的对话内容,以及所述预设的对话内容序号之前的对话内容。
可选地,还包括:
确定模块,用于从所述对话序列的多个对话内容序号中,随机确定所述预设的对话内容序号。
可选地,训练模块,具体用于:
根据预设的概率值,从所述任一对话序列的对话内容中随机选择待替换对话内容;
对所述待替换对话内容进行替换,得到所述第一负对话样本。
可选地,训练模块,具体用于:
对各所述多轮对话内容构成的对话序列中的部分序列进行掩码处理,得到掩码序列;
根据所述掩码序列和所述对话序列中未进行掩码处理的序列进行模型训练,得到所述问答模型,所述对话序列中未进行掩码处理的对话序列标注有所述部分序列对应的原始对话内容。
可选地,训练模块,具体用于:
对各所述多轮对话内容构成的对话序列中同一人称标示符对应的部分序列进行替换,得到所述同一人称标示符的第二负对话样本;
根据所述对话序列中所述同一人称标示符对应的未替换的序列,得到所述同一人称标示符的第二正对话样本;
根据所述第二负对话样本和所述第二正对话样本,得到逻辑训练样本,所述逻辑训练样本标注有所述第二负对话样本被替换的指示信息,以及所述第二正对话样本未被替换的指示信息。
根据所述逻辑训练样本进行模型训练,得到所述问答模型。
第四方面,本申请另一实施例提供了一种问答装置,包括:
处理模块,用于根据预设的多个对话应答模型对输入内容进行处理,得到所述输入内容对应的多个候选回复内容;
输入模块,用于将所述输入内容、与所述输入内容连续的多轮历史对话内容以及所述多个候选回复内容输入到预先训练的问答模型,得到每个候选回复内容和所述输入内容的匹配度,所述预先训练的问答模型根据第一方面任一项所述的方法训练得到;
确定模块,用于根据所述匹配度,从所述多个候选回复内容中确定所述输入内容的最终回复内容。
第五方面,本申请另一实施例提供了一种问答模型训练设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的计算机程序,当问答模型训练设备运行时,所述处理器与所述存储器之间通过总线通信,所述处理器执行所述计算机程序,以执行第一方面任一项所述的方法。
第六方面,本申请另一实施例提供了一种问答设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的计算机程序,当问答设备运行时,所述处理器与所述存储器之间通过总线通信,所述处理器执行所述计算机程序,以执行第一方面任一项所述的方法。
第七方面,本申请另一实施例提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行第一方面和第二方面任一项所述的方法。
本申请提供了一种问答模型训练方法、问答方法、装置、设备及存储介质,涉及人工智能技术领域,其中,问答模型训练方法包括:获取训练样本,训练样本中包括:多个连续的多轮对话内容,每轮对话内容包括输入内容样本和回复内容样本,训练样本标注有各多轮对话内容中最后一轮的输入内容样本和最后一轮的回复内容样本是否匹配的指示信息,根据训练样本进行模型训练,得到问答模型。本申请在问答模型建模时,考虑多轮问答情况,采用该问答模型在做匹配逻辑时返回的对话结果可以令上下文逻辑更加流畅,提高了回复准确率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例提供的问答模型训练方法的流程示意图一;
图2示出了本申请实施例提供的问答模型训练方法的流程示意图二;
图3示出了本申请实施例提供的问答模型训练方法的流程示意图三;
图4示出了本申请实施例提供的问答模型训练方法的流程示意图四;
图5示出了本申请实施例提供的问答模型训练方法的流程示意图五;
图6示出了本申请实施例提供的问答模型训练方法的流程示意图六;
图7示出了本申请实施例提供的问答方法的流程示意图;
图8示出了本申请实施例提供的问答模型训练装置的结构示意图;
图9示出了本申请实施例提供的问答装置的结构示意图;
图10示出了本申请实施例提供的问答模型训练设备的结构示意图;
图11示出了本申请实施例提供的问答设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
随着人工智能技术的发展,越来越多复杂的对话机器人应运而生。其中,对话机器人的主要功能,包括但不限于以下几类:用以解决诸如帮助人们订机票、查天气等任务相关的任务型对话机器人;用以帮助人们休闲娱乐,进行聊天陪伴的闲聊型机器人;帮助人们减轻人工客服压力的一些客服聊天型机器人。
在上述任何一个类型的机器人背后都是一个复杂的对话的流程,在真实场景下,大多数的对话机器人均为被动触发式,即对话机器人的每个回复均是因为用户输入所触发,根据系统设计框架不同,会存在几个不同的对话应答功能模块,常见的有检索式应答模块和生成式应答模块,这些模块在接收到相同的用户输入后,会根据自身模块特性或生成或检索返回几个不同的输出。而排序模块(即问答模型),即作为整体功能的最终组件,综合考虑每个对话应答功能模块的返回与用户输入之间的匹配度作为度量分数,将该度量分数作为每个对话应答功能模块返回的分数,然后将采用分数最高的对话应答功能模块的返回值作为机器人的最终返回,即将最高度量分数的候选回复作为机器人针对该用户输入的最终回复内容,其中每个对话应答功能模块的返回值为一个候选回复。
现有的排序模块为单轮的问答模型,单轮问答模型指的是在建模时,只考虑用户输入以及上游模块根据用户输入得到的应答文本,输出匹配分数。在模型训练阶段,将准备若干已有单轮的成对对话数据,例如用户输入和收集到真实回复,作为单轮问答模型训练的正样本;对于构建模型训练需要的负样本,采用负采样的方式进行得到,负采样是指保持用户输入不变,对回复采用随机采样回复和字共现采样的方式作为负样本的采样方式。该问答模型实际上为一个正负二分类的模型,其损失函数为交叉熵,其训练目标是尽可能的令模型学习到正样本和负样本之间的差异,令模型可以感知到哪些是可能匹配程度切合正样本的例子。
在问答模型的推理阶段,对于训练得到的问答模型,在每来一个用户输入,以及上游模块(即对话应答功能模块)根据用户输入的返回值时,问答模型将拼接当前用户输入和上游模块的返回值,在经过神经网络的变化后将输出一个[0,1]之间的数值,作为上游模块的返回值和用户输入之间的匹配分数,越高则代表返回值和用户输入越匹配。在这样的模型结构下,如果出现了多个上游模块均有针对当前用户输入的返回值,那么将进行多次的单轮问答的模型推理阶段。
然而,现有技术方案在建模均只考虑上游模块返回和当前用户输入之间的匹配关系,即只考虑单轮的问答情况,在这样的情景下,不能保证用户输入和上游模块的返回值的匹配是满足一定的上下文语义关系;并且考虑到用户在使用对话系统时,对于用户而言会自然的结合考虑上下文来观察当前机器人的返回值,那么采用现有方案的返回值的匹配分数可能不够准确,即可能导致最终回复内容上下文逻辑不通,使得针对用户输入的回复准确率不高,这样就会造成逻辑上的断层,从而出现语义不通畅的情况。例如:用户输入“玩游戏,你呢?”,如果单从该输入看,作为模型的考虑重点,那么通过问答模型确定的最终回复内容可能为“我玩游戏的水平不错”,但实际上多轮对话内容为:“今天天气不错,你在干嘛?”、“玩游戏,你呢?”,由此可知,用户实际上想问的是“你在干嘛?”,那么像“我玩游戏的水平不错”这种句子就造成了逻辑上的断层,语义不通畅。
此外,由于现有技术方案在建模时,将排序问题视为问答模型,由于在问答模型中,对于回复的内容一定是一句内在逻辑自洽的句子,而现有建模方式对于上游模块导致的一些内部逻辑不通顺的返回值无法很好地处理,即未考虑到上游模块可能出现的逻辑不自洽的情况,导致部分本身逻辑不自洽的候选回复得到的分数较高。
基于上述问题,本申请提供了一种问答模型训练方法,在问答模型建模时,考虑多轮问答情况,采用该问答模型在做匹配逻辑时返回的对话结果可以令上下文逻辑更加流畅,提高回复准确率,并且考虑到现有技术方案在建模时,未考虑到上游模块可能出现的逻辑不自洽的情况,导致部分本身逻辑不自洽的候选回复得到的分数较高的情况,本申请在建模过程中通过几个不同的自学习辅助任务,令问答模型可以隐式地提升逻辑自洽的句子的句法和词法信息,以得更好地满足语义信息的前后连贯性和话题内容风格习惯的前后连贯性,从而令更符合上下文序列语义的候选回复的得分提升,从而提升问答模型的准确率和对话效果的满意度。
下面结合几个具体实施例对本申请提供的问答模型训练方法进行详细说明。
图1示出了本申请实施例提供的问答模型训练方法的流程示意图一,本实施例的执行主体可以为问答模型训练设备,例如对话机器人、终端设备、服务器等。如图1所示,该方法可以包括:
S101、获取训练样本,训练样本中包括:多个连续的多轮对话内容,每轮对话内容包括输入内容样本和回复内容样本,训练样本标注有各多轮对话中最后一轮的输入内容样本和最后一轮的回复内容样本是否匹配的指示信息。
S102、根据训练样本进行模型训练,得到问答模型。
其中,多个连续的多轮对话内容可以是从预设的对话内容数据库中获取的,每轮对话内容包括输入内容样本和回复内容样本,对于对话机器人来说,输入内容样本可以为用户所说的内容样本,例如可以为“今天星期几”,回复内容样本可以为对话机器人返回给用户的内容样本,例如可以为“今天星期一”。
示例性地,多轮对话内容例如可以包括第一轮输入内容样本:“今天天气不错”、第一轮回复内容样本:“是啊,非常适合晒太阳,你在干嘛”、第二轮输入内容样本:“玩游戏,你呢?”、第二轮回复内容样本:“我在玩游戏”。
需要说明的是,多轮对话内容可以为三轮对话内容,也可以为四轮对话内容,多轮对话内容的数量可以根据实际情况选择,本实施例对对话内容的轮数,以及多轮对话内容的数量不做特别限定。
该训练样本标注有各多轮对话内容中最后一轮的输入内容样本和最后一轮的回复内容样本是否匹配的指示信息,其中,若输入内容样本和回复内容样本匹配,表明该回复内容样本是针对该输入内容样本的准确回复,例如输入内容样本为:“今天星期几”,回复内容样本为“今天星期一”;若输入内容样本和回复内容样本不匹配,表明该回复内容样本不是针对该输入内容样本的准确回复,例如输入内容样本为“今天星期几”,回复内容样本为“我在吃饭”。
若指示信息指示最后一轮的输入内容样本和最后一轮的回复内容样本匹配,说明最后一轮的输入内容样本和最后一轮的回复内容样本均为正样本,即输入内容样本为:“今天星期几”,回复内容样本为“今天星期一”为一组正样本;若指示信息指示最后一轮的输入内容样本和最后一轮的回复内容样本不匹配,说明最后一轮的输入内容样本和最后一轮的回复内容样本均为负样本,即输入内容样本为“今天星期几”,回复内容样本为“我在吃饭”为一组负样本。
也就是说,以各多轮对话内容中最后一轮的输入内容样本和最后一轮的回复内容样本为基准,结合最后一轮之前的多轮输入内容样本和多轮回复内容样本,即考虑了多轮问答情况,然后根据该训练样本进行模型训练,得到问答模型,这样在问答模型训练过程中融合引入多轮问答情况,解决了用户输入与上文信息强相关时,由于不考虑上文带来的负面影响,在引入前几轮的具体历史信息之后,从而可以隐式的将用户的真实想法进行引入。
本实施例的问答模型训练方法,获取训练样本,训练样本中包括:多个连续的多轮对话内容,每轮对话内容包括输入内容样本和回复内容样本,训练样本标注有各多轮对话中最后一轮的输入内容样本和最后一轮的回复内容样本是否匹配的指示信息,根据训练样本进行模型训练,得到问答模型。本实施例在问答模型建模时,考虑多轮问答情况,采用该问答模型在做匹配逻辑时返回的对话结果可以令上下文逻辑更加流畅,提高了回复准确率。
示例性地,为了令问答模型更容易学习到多轮相关的信息,提高回复准确率,在建模过程中可以采用显式人称输入的方式。下面结合图2进行说明,图2示出了本申请实施例提供的问答模型训练方法的流程示意图二,如图2所示,步骤S102可以包括:
S201、分别在输入内容样本和回复内容样本中添加对应的人称标示符,得到添加人称标示符之后的训练样本。
S202、根据添加人称标示符之后的训练样本进行模型训练,得到问答模型。
其中,输入内容样本对应的人称标示符可以为输入内容样本对应的说话对象的标识信息,回复内容样本对应的人称标示符可以为回复内容样本对应的说话对象的标识信息。
在输入内容样本添加对应的人称标示符,得到添加人称标示符之后的输入内容样本,在回复内容样本添加对应的人称标示符,得到添加人称标示符之后的回复内容样本,添加人称标示符之后的训练样本包括:添加人称标示符之后的输入内容样本和添加人称标示符之后的回复内容样本。
示例性地,输入内容样本对应的人称标示符例如可以为“你”,回复内容样本对应的人称标示符例如可以为“我”,也即用户输入的所有内容均显式加上“你说”的标示,对话机器人返回的所有内容均显式加上“我说”的标示。
示例性地,训练样本可以包括两轮连续的多轮对话内容,两轮连续的多轮对话内容包括第一轮输入内容样本和第一轮回复内容样本,第二轮输入内容样本和第二轮回复内容样本,那么添加人称标示符之后的训练样本可以包括添加标示符之后的第一轮输入内容样本、添加标示符之后的第一轮回复内容样本、添加标示符之后的第二轮输入内容样本以及添加标示符之后的第二轮回复内容样本,例如,你说:“今天天气不错”,我说:“是啊,非常适合晒太阳,你在干嘛”,你说:“玩游戏,你呢?”,我说:“我在玩游戏”。
分别在输入内容样本和回复内容样本中添加对应的人称标示符,得到添加人称标示符之后的训练样本,然后根据添加人称标示符之后的训练样本进行模型训练,得到问答模型,这样的显式标示符,可以帮助问答模型显式的学习到人称对象的关系。
本实施例的问答模型训练方法,分别在输入内容样本和回复内容样本中添加对应的人称标示符,得到添加人称标示符之后的训练样本,根据添加人称标示符之后的训练样本进行模型训练,得到问答模型。通过显式显式标示符,有助于问答模型显式的学习到人称对象的关系,进而更好地理解输入内容样本和回复内容样本之间的关系,提高回复准确率。
示例性地,为了让问答模型更好地学习语义上的逻辑顺通关系,在模型训练时,本申请还设计了几种自学习的辅助训练任务,辅助训练任务包括:下一个对话片段的预测任务、句子级别的掩码的语言模型任务、语义不连贯的句子识别任务。
第一个辅助训练任务:由于对话之间的自然顺序关系,后一个对话内容片段通常与上下文中的前一个片段表现出强烈的语义相关性,受此特性的启发,设计了一个具有对话上下文的更通用的响应预测任务,命名下一个对话片段的预测,以充分利用对话数据的顺序关系并增强模型测量语义相关性的能力,这样的辅助任务,可以帮助模型隐式地感知到在给定的一定的历史信息或者回复片段时,哪种回复或者历史信息才是相对合乎逻辑的。具体而言,下一个对话预测任务需要模型预测两个序列是否连续且相关,下面结合图3实施例进行说明。
图3示出了本申请实施例提供的问答模型训练方法的流程示意图三,如图3所示,步骤S102可以包括:
S301、对各多轮对话内容构成的对话序列进行切分,得到历史对话序列和预测对话序列。
各多轮对话内容构成的对话序列可以为对各多轮对话内容中、每轮对话内容的输入内容样本和回复内容样本进行排序得到的对话序列。
举例而言,多轮对话内容例如可以包括第一轮输入内容样本:“今天天气不错”、第一轮回复内容样本:“是啊,非常适合晒太阳,你在干嘛”、第二轮输入内容样本:“玩游戏,你呢?”、第二轮回复内容样本:“我在看书晒太阳”、第三轮输入内容样本:“那你有悠闲有情趣”、第三轮回复内容样本:“你也可以过这样的生活,放下电脑,亲近自然”、第四轮输入内容样本:“我拒绝”、第四轮回复内容样本:“不愧是你”,因此该多轮对话内容构成的对话序列可以为c=<u1:今天天气不错,u2:是啊,非常适合晒太阳,你在干嘛,u3:玩游戏,你呢?,u4:我在看书晒太阳,u5:那你有悠闲有情趣,u6:你也可以过这样的生活,放下电脑,亲近自然,u7:我拒绝,u8:不愧是你>,其中,c代表对话序列,u_代表对话内容序号。
对各多轮对话内容构成的对话序列进行切分,将该对话序列切分为两部分,记作:c_left、c_right,c_left为历史对话序列,c_right为预测对话序列,其中,历史对话序列的对话时间在预测对话序列的对话时间之前,也就是说,c_left的对话时间在c_right的对话时间之前,也即c_left中的输入文本内容样本和回复内容样本所说的时间,早于c_right中的输入文本内容和回复内容样本所说的时间。
可选地,步骤S301可以包括:
根据预设的对话内容序号,对各多轮对话内容构成的对话序列进行切分,得到历史对话序列和预测对话序列。
其中,预设的对话内容序号可以是固定的对话内容序号,也可以是随机确定的一个对话内容序号,例如可以为序号4,那么根据预设的对话内容序号,对各多轮对话内容构成的对话内容进行切分,得到历史对话序列和预测对话序列,历史对话序列包括:预设的对话内容序号的对话内容,以及预设的对话内容序号之前的对话内容。
以上述示例为例,若预设的对话内容为4,那么将多轮对话内容构成的对话序列切分为c_left、c_right,c_left为u1至u3的对话序列,c_right为u5至u8的对话序列。
可选地,可选地,根据预设的对话内容序号,对连续的多轮对话内容构成的对话序列进行切分,得到历史对话序列和预测对话序列之前,还包括:
从对话序列的多个对话内容序号中,随机确定预设的对话内容序号。
若预设的对话内容序号为随机确定的,那么在对对话序列进行切分之前,还可以从对话序列的多个对话内容序号中,随机确定预设的对话内容序号,使得对话序列的切分更加灵活。
S302、根据历史对话序列和预测对话序列,分别得到两组训练样本。
S303、根据两组训练样本进行模型训练,得到问答模型。
两组训练样本标注有历史对话序列是否被替换的指示信息,以及预测对话序列是否被替换的指示信息。
若历史对话序列和预测对话序列均未被替换,说明历史对话序列和预测对话序列均为一组正对话样本,合起来即为两组训练样本,该两组训练样本标注有历史对话序列未被替换的指示信息,以及预测对话序列未被替换的指示信息。
若历史对话序列或预测对话序列被替换,说明历史对话序列和预测对话序列中存在一组正对话样本和一组负对话样本,合起来即为两组训练样本,该两组训练样本标注有历史对话序列或预测对话序列被替换的指示信息,以及其中一个未被替换的指示信息。
然后,根据两组训练样本进行模型训练,得到问答模型,也就是说,在训练过程中,模型输入为两组训练样本,模型训练的目标就是来判断历史对话序列和预测对话序列是否被替换。
需要说明的是,步骤S101中的训练样本包括各多轮对话内容,且训练样本标注有各多轮对话内容中最后一轮的输入内容样本和最后一轮的回复内容样本是否匹配的指示信息,而本实施例中的两组训练样本由步骤S101中的训练样本确定得到,即步骤S101中的训练样本包括该两组训练样本,因此,根据两组训练样本进行模型训练时,可以并行基于多轮问答情况,以及下一个对话片段的预测任务进行问答模型的训练。
本实施例的问答模型训练方法,对各多轮对话内容构成的对话序列进行切分,得到历史对话序列和预测对话序列,根据历史对话序列和预测对话序列,分别得到两组训练样本,根据两组训练样本进行模型训练,得到问答模型。在实施例,通过该辅助学习任务可以使问答模型更好地学习语义上的逻辑顺通关系,以令逻辑不自洽的候选回复的得分降低,令更符合上下文序列语义的候选回复的得分提升,从而提升问答模型的准确率和对话效果的满意度。
下面结合图4实施例对两组训练样本的一种可能的实施方式进行说明,图4示出了本申请实施例提供的问答模型训练方法的流程示意图四,如图4所示,步骤S302包括:
S401、对历史对话序列和预测对话序列中的任一对话序列进行替换,得到第一负对话样本。
S402、根据历史对话序列和预测对话序列中未替换的对话序列,得到第一正对话样本。
对历史对话序列和预测对话序列中的任一对话序列进行替换,替换后的对话序列即为第一负对话样本,将历史对话序列和预测对话序列中未替换的对话序列,作为第一正对话样本,其中,两组训练样本包括:第一负对话样本和第一正对话样本。
若历史对话序列被替换,则说明历史对话序列为第一负对话样本,相应的,预测对话序列为第一正对话样本,两组训练样本标注有:历史对话序列被替换的指示信息,以及预测对话序列未被替换的指示信息,然后根据替换后的历史对话序列和预测对话序列进行模型训练,得到问答模型。
类似地,若历史对话序列未被替换,则说明历史对话序列为第一正对话样本,相应的,预测对话序列为第一负对话样本,两组训练样本标注有:历史对话序列未被替换的指示信息,以及预测对话序列被替换的指示信息,然后根据历史对话序列和替换后的预测对话序列进行模型训练,得到问答模型。
可选地,步骤S401包括:
根据预设的概率值,从任一对话序列的对话内容中随机选择待替换对话内容。
对待替换对话内容进行替换,得到第一负对话样本。
预设的概率值可以为从历史对话序列和预测对话序列中的任一对话序列的对话内容中选择待替换的部分的数量,例如,预设的概率值为50%,历史对话序列为待替换的对话序列,那么可以从历史对话序列的对话内容中随机选择50%的待替换对话内容,并采用其他内容对该50%的待替换对话内容进行替换,得到第一负对话样本。
以上述示例为例,c_left为u1至u3的对话序列,c_right为u5至u8的对话序列,预设的概率值为30%,c_left为待替换的对话序列,c_left=<u1:今天天气不错,u2:是啊,非常适合晒太阳,你在干嘛,u3:玩游戏,你呢?>,那么可以随机将u2“是啊,非常适合晒太阳,你在干嘛”替换为“今天星期几”,替换后的c_left=<u1:今天天气不错,u2:今天星期几,u3:玩游戏,你呢?>。
本实施例的问答模型训练方法,对历史对话序列和预测对话序列中的任一对话序列的对话内容进行替换,得到第一负对话样本,根据历史对话序列和预测对话序列中的未替换对话内容的对话序列,得到第一正对话样本。在本实施例,通过构建负对话样本和正对话样本进行模型训练,可以使问答模型更好地学习语义上的逻辑顺通关系,以令逻辑不自洽的候选回复的得分降低,令更符合上下文序列语义的候选回复的得分提升,从而提升问答模型的准确率和对话效果的满意度。
第二个辅助训练任务:受到目前主流的预训练语言模型的启发,使用字词级屏蔽语言建模来指导模型学习双向上下文中单词序列的语义和句法特征,即通过屏蔽一个句子中的部分字词,利用未经屏蔽的上下文来恢复这些被屏蔽的字词。具体来说,将所有对话中随机采样的其中一句所有词语都掩盖起来,然后让模型使用其余上下文中的句子信息将预测被掩盖的句子的内容,通过学习预测适合其周围对话上下文的适当话语,该模型可以隐式的获取在给定上下文的情景下,逻辑自洽的句子的句法和词法信息,下面结合图5实施例进行说明。
图5示出了本申请实施例提供的问答模型训练方法的流程示意图五,如图5所示,步骤S102可以包括:
S501、对各多轮对话内容构成的对话序列中的部分序列进行掩码处理,得到掩码序列。
S502、根据掩码序列和对话序列中未进行掩码处理的序列进行模型训练,得到问答模型。
其中,各多轮对话内容构成的对话序列中的部分序列可以为该对话序列中的至少一个输入内容样本对应的序列,和/或至少一个回复内容样本对应的序列。
对各多轮对话内容构成的对话序列中的部分序列进行掩码处理,得到掩码序列,然后根据掩码序列和该对话序列中未进行掩码处理的序列进行模型训练,得到问答模型,其中,该对话序列中未进行掩码处理的序列标注有部分序列对应的原始对话内容。
举例而言,多轮对话内容构成的对话序列可以为c=<u1:今天天气不错,u2:是啊,非常适合晒太阳,你在干嘛,u3:玩游戏,你呢?,u4:我在看书晒太阳,u5:那你有悠闲有情趣,u6:你也可以过这样的生活,放下电脑,亲近自然,u7:我拒绝,u8:不愧是你>,随机对该对话序列中的序列3进行掩码处理,得到掩码序列,掩码序列记作u3=[MASK][MASK][MASK][MASK][MASK][MASK][MASK],其中,[MASK]代表掩码的特定字符,u3一共7个字符,所以在这里就变成了7个[MASK]组成的句子。
然后,根据掩码序列(即u3)和对话序列中未进行掩码处理的序列(即u1-u2、u4-u8)进行模型训练,得到问答模型,其中,未进行掩码处理的序列(即u1-u2、u4-u8)标注有部分序列(即u3)对应的原始对话内容(即玩游戏,你呢?),也就是说,在训练过程中,模型输入为掩码序列和对话序列中未进行掩码处理的序列,模型训练的目标就是来预测掩码序列中[MASK]真实应该是什么。
需要说明的是,步骤S101中的训练样本包括各多轮对话内容,且训练样本标注有各多轮对话内容中最后一轮的输入内容样本和最后一轮的回复内容样本是否匹配的指示信息,而本实施例中的掩码序列和对话序列中未进行掩码处理的序列由步骤S101中的训练样本确定得到,即步骤S101中的训练样本包括掩码序列和未进行掩码处理的序列,因此,在本实施例可以并行基于多轮问答情况,以及句子级别的掩码的语言模型任务进行问答模型的训练。
本实施例的问答模型训练方法,对各多轮对话内容构成的对话序列中的部分序列进行掩码处理,得到掩码序列,根据掩码序列和对话序列中未进行掩码处理的序列进行模型训练,得到问答模型。在本实施例,通过学习预测适合其周围对话上下文的适当话语,使得模型可以隐式地获取在给定上下文的情景下,逻辑自洽的句子的句法和词法信息,从而提升问答模型的准确率和对话效果的满意度。
第三个辅助训练任务:从对正常的对话的研究,可以发现,来自同一段会话的对话共享相似的话题,在同一段对话且来自同一说话对象的讲话倾向于保持相同的个性或风格。根据该特性,通过对句子的语义连贯性,可以构造这样一个任务。即,将一段对话中的来自同一个对话者的内容视为正样本,通过随机采样的方式构建负样本。在这样的任务基础上,可以令模型隐式的获取到当前回复须与上文中讨论的话题内容相关,可以令满足相同话题内容的句子得分提升。下面结合图6实施例进行说明。
图6示出了本申请实施例提供的问答模型训练方法的流程示意图六,如图6所示,步骤S102可以包括:
S601、对各多轮对话内容构成的对话序列中同一人称标示符对应的部分序列进行替换,得到同一人称标示符的第二负对话样本。
S602、根据对话序列中同一人称标示符对应的未替换的序列,得到所述同一人称标示符的第二正对话样本。
S603、根据第二负对话样本和第二正对话样本,得到逻辑训练样本。
S604、根据逻辑训练样本进行模型训练,得到问答模型。
其中,各多轮对话内容构成的对话序列中同一人称标示符对应的序列指的是,该对话序列中同一说话对象所说的内容对应的序列。
同一人称标示符对应的部分序列可以为同一人称标示符对应的至少一个序列,以上述示例为例,多轮对话内容构成的对话序列可以为c=<u1:今天天气不错,u2:是啊,非常适合晒太阳,你在干嘛,u3:玩游戏,你呢?,u4:我在看书晒太阳,u5:那你有悠闲有情趣,u6:你也可以过这样的生活,放下电脑,亲近自然,u7:我拒绝,u8:不愧是你>,其中,u1,u3,u5,u7属于同一个对话者的对话,u2,u4,u6,u8为同一个对话者的对话,属于同一说话对象的对话其内在保持一定的逻辑话题的连贯性。
那么可以采用其他内容,对该对话序列中同一人称标示符对应的部分序列进行替换,得到同一人称标示符的第二负对话样本,例如将u7“我拒绝”替换为“在中国元旦是个法定假期”,其中,由于u1、u3、u5都在讲闲聊玩游戏的场景,而最后一句话是陈述相关的句子,属于了破坏同一说话对象的内容,这样的样本就是模型训练的第二负对话样本。
然后将对话序列中同一人称标示符对应的未替换的序列,作为同一人称标示符的第二正对话样本,根据第二负对话样本和第二正对话样本,得到逻辑训练样本,逻辑训练样本标注有第二负对话样本被替换的指示信息,以及第二正对话样本未被替换的指示信息,也就是,在训练过程中,模型输入为第二负对话样本和第二正对话样本,模型训练的目标就是来判断第二负对话样本是否被替换。
需要说明的是,步骤S101中的训练样本包括各多轮对话内容,且训练样本标注有各多轮对话内容中最后一轮的输入内容样本和最后一轮的回复内容样本是否匹配的指示信息,而本实施例中的第二负对话样本和第二正对话样本由步骤S101中的训练样本确定得到,即步骤S101中的训练样本包括第二负对话样本和第二正对话样本,因此,在本实施例可以并行基于多轮问答情况,以及语义不连贯的句子识别任务进行问答模型的训练。
本实施例的问答模型训练方法,对各多轮对话内容构成的对话序列中同一人称标示符对应的部分序列进行替换,得到同一人称标示符的第二负对话样本,根据对话序列中同一人称标示符对应的未替换的序列,得到所述同一人称标示符的第二正对话样本,根据第二负对话样本和第二正对话样本,得到逻辑训练样本,根据逻辑训练样本进行模型训练,得到问答模型。在本实施例,使模型可以隐式地学习同一说话对象的逻辑性和连贯性,从而提升问答模型的准确率和对话效果的满意度。
需要说明的是,上述方法实施例描述的是在考虑多轮问答情况的基础上,分别结合人称标示符、三个辅助训练任务对问答模型进行训练的过程,在实际应用中,还可以综合结合多轮问答情况、人称标示符、三个辅助训练任务并行进行模型训练,以得到问答模型,通过显式引入了历史信息,令问答模型在排序时可以考虑到一定的历史信息,令之在做匹配逻辑时返回的对话结果可以令上下文的逻辑相对更佳流畅,通过几个不同的自学习的辅助任务,令问答模型可以隐式的提升逻辑自洽的句子的句法和词法信息,隐式地更好的满足语义信息的前后连贯性和话题内容风格习惯的前后连贯性,从而令满足上述特性的句子可以得到更高的匹配分数,从而提升对话效果的满意度和排序模型的准确率。
图7示出了本申请实施例提供的问答方法的流程示意图,如图6所示,该方法可以包括:
S701、根据预设的多个对话应答模型对输入内容进行处理,得到输入内容对应的多个候选回复内容。
其中,输入内容为待回复的用户输入,对话应答模型用于根据输入内容返回候选回复内容,多个对话应答模型例如可以包括:检索式应答模型和生成式应答模型,将输入内容输入分别输入到多个对话应答模型中,得到每个对话应答模型输出的一个候选回复内容。
S702、将输入内容、与输入内容连续的多轮历史对话内容以及多个候选回复内容输入到预先训练的问答模型,得到每个候选回复内容和输入内容的匹配度。
其中,每轮连续的历史对话内容包括:历史输入内容和历史回复内容,历史回复内容可以是对话机器人基于历史输入内容返回的。将输入内容、与该输入内容连续的多轮历史对话内容以及多个候选回复内容输入到预先训练的问答模型,得到每个候选回复内容和输入内容的匹配度,其中,预先训练的问答模型根据图1至图5实施例所示的方法训练得到。
其中,输入内容、与该输入内容连续的多轮历史对话内容以及多个候选回复内容均可以添加对应的人称标示符,示例性地,输入内容对应的人称标示符例如可以为“你”,候选回复内容对应的人称标示符例如可以为“我”,每轮历史对话内容中的历史输入内容对应的人称标示符例如可以为“你”,历史回复内容对应的人称标示符例如可以为“我”,也即,输入内容加上“你说”的标示,候选回复内容加上“我说”的标示,历史输入内容加上“你说”的标示,历史回复内容加上“我说”的标示。
举例而言,连续的多轮历史对话内容包括你说:“今天天气不错”、我说:“是啊,非常适合晒太阳,你在干嘛”,输入内容为你说“玩游戏,你呢?”,以两个对话应答模型为例,候选回复内容包括:我说:“我在玩游戏”、我说“今天星期一”。
将你说:“今天天气不错”、我说:“是啊,非常适合晒太阳,你在干嘛”、你说:“玩游戏,你呢?”、我说:“我在玩游戏”、我说“今天星期一”输入到预先训练的问答模型,得到候选回复内容我说:“我在玩游戏”与输入内容你说:“玩游戏,你呢?”之间的匹配度,以及候选回复内容我说“今天星期一”与输入内容你说:“玩游戏,你呢?”之间的匹配度,匹配度可以为[0,1]之间的一个数值进行表示,越高代表与输入内容越匹配。其中,候选回复内容我说“今天星期一”与输入内容你说:“玩游戏,你呢?”之间的匹配度可以为0.1,我说:“我在玩游戏”与输入内容你说:“玩游戏,你呢?”之间的匹配度之间的匹配度可以为0.8。
S703、根据匹配度,从多个候选回复内容中确定输入内容的最终回复内容。
具体地,可以从多个候选回复内容中将匹配度最高的候选回复内容作为输入内容的最终回复内容,即对话机器人可以将匹配度最高的候选回复内容返回给用户。以上述示例为例,我说:“我在玩游戏”为输入内容你说“玩游戏,你呢?”的最终回复内容。采用该问答模型在做匹配逻辑时返回的对话结果可以令最满足匹配用户输入的候选回复内容的匹配度量最高,提高了回复准确率。
当然,也可以将匹配度大于预设匹配度的多个候选回复内容返回给用户,本实施例对此不做特别限定。
本实施例的问答方法,根据预设的多个对话应答模型对输入内容进行处理,得到输入内容对应的多个候选回复内容,将输入内容、与输入内容连续的多轮历史对话内容以及多个候选回复内容输入到预先训练的问答模型,得到每个候选回复内容和输入内容的匹配度,根据匹配度,从多个候选回复内容中确定输入内容的最终回复内容,采用该问答模型在做匹配逻辑时返回的对话结果可以令上下文逻辑更加流畅,提高了回复准确率。
图8示出了本申请实施例提供的问答模型训练装置的结构示意图,问答模型训练装置10可以集成在问答模型训练设备中。如图8所示,问答模型训练装置10包括:
获取模块11,用于获取训练样本,所述训练样本中包括:多个连续的多轮对话内容,每轮对话内容包括输入内容样本和回复内容样本,所述训练样本标注有各所述多轮对话中最后一轮的输入内容样本和所述最后一轮的回复内容样本是否匹配的指示信息;
训练模块12,用于根据所述训练样本进行模型训练,得到问答模型。
可选地,训练模块12,具体用于:
分别在所述输入内容样本和所述回复内容样本中添加对应的人称标示符,得到添加人称标示符之后的训练样本;
根据所述添加人称标示符之后的训练样本进行模型训练,得到所述问答模型。
可选地,训练模块12,具体用于:
对各所述多轮对话内容构成的对话序列进行切分,得到历史对话序列和预测对话序列,其中,所述历史对话序列的对话时间在所述预测对话序列的对话时间之前;
根据所述历史对话序列和所述预测对话序列,分别得到两组训练样本,所述两组训练样本标注有所述历史对话序列是否被替换的指示信息,以及所述预测对话序列是否被替换的指示信息;
根据所述两组训练样本进行模型训练,得到所述问答模型。
可选地,训练模块12,具体用于:
对所述历史对话序列和所述预测对话序列中的任一对话序列进行替换,得到第一负对话样本;
根据所述历史对话序列和所述预测对话序列中未替换的对话序列,得到第一正对话样本;所述两组训练样本包括:所述第一负对话样本和所述第一正对话样本。
可选地,训练模块12,具体用于:
根据预设的对话内容序号,对各所述多轮对话内容构成的对话序列进行切分,得到所述历史对话序列和所述预测对话序列;所述历史对话序列包括:所述预设的对话内容序号的对话内容,以及所述预设的对话内容序号之前的对话内容。
可选地,还包括:
确定模块13,用于从所述对话序列的多个对话内容序号中,随机确定所述预设的对话内容序号。
可选地,训练模块12,具体用于:
根据预设的概率值,从所述任一对话序列的对话内容中随机选择待替换对话内容;
对所述待替换对话内容进行替换,得到所述第一负对话样本。
可选地,训练模块,具体用于:
对各所述多轮对话内容构成的对话序列中的部分序列进行掩码处理,得到掩码序列;
根据所述掩码序列和所述对话序列中未进行掩码处理的序列进行模型训练,得到所述问答模型,所述对话序列中未进行掩码处理的对话序列标注有所述部分序列对应的原始对话内容。
可选地,训练模块12,具体用于:
对各所述多轮对话内容构成的对话序列中同一人称标示符对应的部分序列进行替换,得到所述同一人称标示符的第二负对话样本;
根据所述对话序列中所述同一人称标示符对应的未替换的序列,得到所述同一人称标示符的第二正对话样本;
根据所述第二负对话样本和所述第二正对话样本,得到逻辑训练样本,所述逻辑训练样本标注有所述第二负对话样本被替换的指示信息,以及所述第二正对话样本未被替换的指示信息。
根据所述逻辑训练样本进行模型训练,得到所述问答模型。
本实施例的问答模型训练装置,实现过程和实现原理可以参见上述方法实施例提供的问答模型训练方法,在此不再赘述。
图9示出了本申请实施例提供的问答装置的结构示意图,问答装置20可以集成在问答设备中,例如可以集成在对话机器人中。如图9所示,问答装置20包括:
处理模块21,用于根据预设的多个对话应答模型对输入内容进行处理,得到所述输入内容对应的多个候选回复内容;
输入模块22,用于将所述输入内容、与所述输入内容连续的多轮历史对话内容以及所述多个候选回复内容输入到预先训练的问答模型,得到每个候选回复内容和所述输入内容的匹配度,所述预先训练的问答模型根据第一方面任一项所述的方法训练得到;
确定模块23,用于根据所述匹配度,从所述多个候选回复内容中确定所述输入内容的最终回复内容。
本实施例的问答装置,实现过程和实现原理可以参见上述方法实施例提供的问答方法,在此不再赘述。
图10示出了本申请实施例提供的问答模型训练设备的结构示意图,如图10所示,问答模型训练设备30包括:处理器31、存储器32和总线33,所述存储器32存储有所述处理器31可执行的计算机程序,当问答模型训练设备30运行时,所述处理器31与所述存储器32之间通过总线33通信,所述处理器31执行所述计算机程序,以执行上述方法实施例提供的问答模型训练方法。
图11示出了本申请实施例提供的问答设备的结构示意图,如图11所示,问答设备40包括:处理器41、存储器42和总线43,所述存储器42存储有所述处理器41可执行的计算机程序,当问答设备40运行时,所述处理器41与所述存储器42之间通过总线43通信,所述处理器41执行所述计算机程序,以执行上述方法实施例提供的问答方法。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。
Claims (15)
1.一种问答模型训练方法,其特征在于,包括:
获取训练样本,所述训练样本中包括:多个连续的多轮对话内容,每轮对话内容包括输入内容样本和回复内容样本,所述训练样本标注有各所述多轮对话内容中最后一轮的输入内容样本和所述最后一轮的回复内容样本是否匹配的指示信息;
根据所述训练样本进行模型训练,得到问答模型。
2.根据权利要求1所述的方法,其特征在于,所述根据所述训练样本进行模型训练,得到问答模型,包括:
分别在所述输入内容样本和所述回复内容样本中添加对应的人称标示符,得到添加人称标示符之后的训练样本;
根据所述添加人称标示符之后的训练样本进行模型训练,得到所述问答模型。
3.根据权利要求1所述的方法,其特征在于,所述根据所述训练样本进行模型训练,得到问答模型,包括:
对各所述多轮对话内容构成的对话序列进行切分,得到历史对话序列和预测对话序列,其中,所述历史对话序列的对话时间在所述预测对话序列的对话时间之前;
根据所述历史对话序列和所述预测对话序列,分别得到两组训练样本,所述两组训练样本标注有所述历史对话序列是否被替换的指示信息,以及所述预测对话序列是否被替换的指示信息;
根据所述两组训练样本进行模型训练,得到所述问答模型。
4.根据权利要求3所述的方法,其特征在于,所述根据所述历史对话序列和所述预测对话序列,分别得到两组训练样本,包括:
对所述历史对话序列和所述预测对话序列中的任一对话序列进行替换,得到第一负对话样本;
根据所述历史对话序列和所述预测对话序列中未替换的对话序列,得到第一正对话样本;所述两组训练样本包括:所述第一负对话样本和所述第一正对话样本。
5.根据权利要求3所述的方法,其特征在于,所述对各所述多轮对话内容构成的对话序列进行切分,得到历史对话序列和预测对话序列,包括:
根据预设的对话内容序号,对各所述多轮对话内容构成的对话序列进行切分,得到所述历史对话序列和所述预测对话序列;所述历史对话序列包括:所述预设的对话内容序号的对话内容,以及所述预设的对话内容序号之前的对话内容。
6.根据权利要求5所述的方法,其特征在于,所述根据预设的对话内容序号,对连续的所述多轮对话内容构成的对话序列进行切分,得到所述历史对话序列和所述预测对话序列之前,所述方法还包括:
从所述对话序列的多个对话内容序号中,随机确定所述预设的对话内容序号。
7.根据权利要求4所述的方法,其特征在于,所述对所述历史对话序列和预测对话序列中的任一对话序列的对话内容进行替换,得到第一负对话样本,包括:
根据预设的概率值,从所述任一对话序列的对话内容中随机选择待替换对话内容;
对所述待替换对话内容进行替换,得到所述第一负对话样本。
8.根据权利要求1所述的方法,其特征在于,所述根据所述训练样本进行模型训练,得到问答模型,包括:
对各所述多轮对话内容构成的对话序列中的部分序列进行掩码处理,得到掩码序列;
根据所述掩码序列和所述对话序列中未进行掩码处理的序列进行模型训练,得到所述问答模型,所述对话序列中未进行掩码处理的对话序列标注有所述部分序列对应的原始对话内容。
9.根据权利要求1所述的方法,其特征在于,所述根据所述训练样本进行模型训练,得到问答模型,包括:
对各所述多轮对话内容构成的对话序列中同一人称标示符对应的部分序列进行替换,得到所述同一人称标示符的第二负对话样本;
根据所述对话序列中所述同一人称标示符对应的未替换的序列,得到所述同一人称标示符的第二正对话样本;
根据所述第二负对话样本和所述第二正对话样本,得到逻辑训练样本,所述逻辑训练样本标注有所述第二负对话样本被替换的指示信息,以及所述第二正对话样本未被替换的指示信息;
根据所述逻辑训练样本进行模型训练,得到所述问答模型。
10.一种问答方法,其特征在于,包括:
根据预设的多个对话应答模型对输入内容进行处理,得到所述输入内容对应的多个候选回复内容;
将所述输入内容、与所述输入内容连续的多轮历史对话内容以及所述多个候选回复内容输入到预先训练的问答模型,得到每个候选回复内容和所述输入内容的匹配度,所述预先训练的问答模型根据权利要求1至9任一项所述的方法训练得到;
根据所述匹配度,从所述多个候选回复内容中确定所述输入内容的最终回复内容。
11.一种问答模型训练装置,其特征在于,包括:
获取模块,用于获取训练样本,所述训练样本中包括:多个连续的多轮对话内容,每轮对话内容包括输入内容样本和回复内容样本,所述训练样本标注有各所述多轮对话中最后一轮的输入内容样本和所述最后一轮的回复内容样本是否匹配的指示信息;
训练模块,用于根据所述训练样本进行模型训练,得到问答模型。
12.一种问答装置,其特征在于,包括:
处理模块,用于根据预设的多个对话应答模型对输入内容进行处理,得到所述输入内容对应的多个候选回复内容;
输入模块,用于将所述输入内容、与所述输入内容连续的多轮历史对话内容以及所述多个候选回复内容输入到预先训练的问答模型,得到每个候选回复内容和所述输入内容的匹配度,所述预先训练的问答模型根据权利要求1至9任一项所述的方法训练得到;
确定模块,用于根据所述匹配度,从所述多个候选回复内容中确定所述输入内容的最终回复内容。
13.一种问答模型训练设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的计算机程序,当问答模型训练设备运行时,所述处理器与所述存储器之间通过总线通信,所述处理器执行所述计算机程序,以执行权利要求1至9任一项所述的方法。
14.一种问答设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的计算机程序,当问答设备运行时,所述处理器与所述存储器之间通过总线通信,所述处理器执行所述计算机程序,以执行权利要求10所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行权利要求1至10任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110325654.1A CN113033664B (zh) | 2021-03-26 | 2021-03-26 | 问答模型训练方法、问答方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110325654.1A CN113033664B (zh) | 2021-03-26 | 2021-03-26 | 问答模型训练方法、问答方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113033664A true CN113033664A (zh) | 2021-06-25 |
CN113033664B CN113033664B (zh) | 2024-08-27 |
Family
ID=76474371
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110325654.1A Active CN113033664B (zh) | 2021-03-26 | 2021-03-26 | 问答模型训练方法、问答方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113033664B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114444514A (zh) * | 2022-02-08 | 2022-05-06 | 北京百度网讯科技有限公司 | 语义匹配模型训练、语义匹配方法及相关装置 |
CN114490967A (zh) * | 2021-12-28 | 2022-05-13 | 北京百度网讯科技有限公司 | 对话模型的训练方法、对话机器人的对话方法、装置和电子设备 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105704013A (zh) * | 2016-03-18 | 2016-06-22 | 北京光年无限科技有限公司 | 基于上下文的话题更新数据处理方法及装置 |
WO2018157700A1 (zh) * | 2017-03-02 | 2018-09-07 | 腾讯科技(深圳)有限公司 | 对话生成方法、装置及存储介质 |
CN110059169A (zh) * | 2019-01-25 | 2019-07-26 | 邵勃 | 基于语料标注的智能机器人聊天上下文实现方法及系统 |
CN110162600A (zh) * | 2019-05-20 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 一种信息处理的方法、会话响应的方法及装置 |
CN110188331A (zh) * | 2019-06-03 | 2019-08-30 | 腾讯科技(深圳)有限公司 | 模型训练方法、对话系统评价方法、装置、设备及存储介质 |
CN110245221A (zh) * | 2019-05-13 | 2019-09-17 | 华为技术有限公司 | 训练对话状态跟踪分类器的方法和计算机设备 |
CN110543552A (zh) * | 2019-09-06 | 2019-12-06 | 网易(杭州)网络有限公司 | 对话交互方法、装置及电子设备 |
WO2020006835A1 (zh) * | 2018-07-03 | 2020-01-09 | 平安科技(深圳)有限公司 | 智能客服多轮问答方法、设备、存储介质及装置 |
CN111177359A (zh) * | 2020-04-10 | 2020-05-19 | 支付宝(杭州)信息技术有限公司 | 多轮对话方法和装置 |
US20200279553A1 (en) * | 2019-02-28 | 2020-09-03 | Microsoft Technology Licensing, Llc | Linguistic style matching agent |
CN111737426A (zh) * | 2020-05-09 | 2020-10-02 | 中国科学院深圳先进技术研究院 | 问答模型的训练方法、计算机设备以及可读存储介质 |
CN112417127A (zh) * | 2020-12-02 | 2021-02-26 | 网易(杭州)网络有限公司 | 对话模型的训练、对话生成方法、装置、设备及介质 |
WO2021051404A1 (en) * | 2019-09-20 | 2021-03-25 | Beijing Didi Infinity Technology And Development Co., Ltd. | Systems and methods for auxiliary reply |
-
2021
- 2021-03-26 CN CN202110325654.1A patent/CN113033664B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105704013A (zh) * | 2016-03-18 | 2016-06-22 | 北京光年无限科技有限公司 | 基于上下文的话题更新数据处理方法及装置 |
WO2018157700A1 (zh) * | 2017-03-02 | 2018-09-07 | 腾讯科技(深圳)有限公司 | 对话生成方法、装置及存储介质 |
WO2020006835A1 (zh) * | 2018-07-03 | 2020-01-09 | 平安科技(深圳)有限公司 | 智能客服多轮问答方法、设备、存储介质及装置 |
CN110059169A (zh) * | 2019-01-25 | 2019-07-26 | 邵勃 | 基于语料标注的智能机器人聊天上下文实现方法及系统 |
US20200279553A1 (en) * | 2019-02-28 | 2020-09-03 | Microsoft Technology Licensing, Llc | Linguistic style matching agent |
WO2020228732A1 (zh) * | 2019-05-13 | 2020-11-19 | 华为技术有限公司 | 训练对话状态跟踪分类器的方法和计算机设备 |
CN110245221A (zh) * | 2019-05-13 | 2019-09-17 | 华为技术有限公司 | 训练对话状态跟踪分类器的方法和计算机设备 |
CN110162600A (zh) * | 2019-05-20 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 一种信息处理的方法、会话响应的方法及装置 |
CN110188331A (zh) * | 2019-06-03 | 2019-08-30 | 腾讯科技(深圳)有限公司 | 模型训练方法、对话系统评价方法、装置、设备及存储介质 |
CN110543552A (zh) * | 2019-09-06 | 2019-12-06 | 网易(杭州)网络有限公司 | 对话交互方法、装置及电子设备 |
WO2021051404A1 (en) * | 2019-09-20 | 2021-03-25 | Beijing Didi Infinity Technology And Development Co., Ltd. | Systems and methods for auxiliary reply |
CN111177359A (zh) * | 2020-04-10 | 2020-05-19 | 支付宝(杭州)信息技术有限公司 | 多轮对话方法和装置 |
CN111737426A (zh) * | 2020-05-09 | 2020-10-02 | 中国科学院深圳先进技术研究院 | 问答模型的训练方法、计算机设备以及可读存储介质 |
CN112417127A (zh) * | 2020-12-02 | 2021-02-26 | 网易(杭州)网络有限公司 | 对话模型的训练、对话生成方法、装置、设备及介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114490967A (zh) * | 2021-12-28 | 2022-05-13 | 北京百度网讯科技有限公司 | 对话模型的训练方法、对话机器人的对话方法、装置和电子设备 |
CN114490967B (zh) * | 2021-12-28 | 2023-10-31 | 北京百度网讯科技有限公司 | 对话模型的训练方法、对话机器人的对话方法、装置和电子设备 |
CN114444514A (zh) * | 2022-02-08 | 2022-05-06 | 北京百度网讯科技有限公司 | 语义匹配模型训练、语义匹配方法及相关装置 |
CN114444514B (zh) * | 2022-02-08 | 2023-01-24 | 北京百度网讯科技有限公司 | 语义匹配模型训练、语义匹配方法及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113033664B (zh) | 2024-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Shi et al. | Sentiment adaptive end-to-end dialog systems | |
CN106469212B (zh) | 基于人工智能的人机交互方法和装置 | |
CN109597876B (zh) | 一种基于强化学习的多轮对话答复选择模型及其方法 | |
CN1321401C (zh) | 语音识别设备、语音识别方法、会话控制设备以及会话控制方法 | |
CN110377716A (zh) | 对话的交互方法、装置及计算机可读存储介质 | |
CN109478188A (zh) | 对话系统以及用于其的计算机程序 | |
CN112417127A (zh) | 对话模型的训练、对话生成方法、装置、设备及介质 | |
CN113033664B (zh) | 问答模型训练方法、问答方法、装置、设备及存储介质 | |
CN110347787A (zh) | 一种基于ai辅助面试场景的面试方法、装置及终端设备 | |
Kao et al. | Model of multi-turn dialogue in emotional chatbot | |
Larionov et al. | Tartan: A retrieval-based socialbot powered by a dynamic finite-state machine architecture | |
Fulda et al. | Byu-eve: Mixed initiative dialog via structured knowledge graph traversal and conversational scaffolding | |
Ye et al. | A sentiment based non-factoid question-answering framework | |
CN115017276B (zh) | 政务咨询多轮对话方法、系统、政务机器人和存储介质 | |
CN113378826B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
KR20200011251A (ko) | 대화 인지를 위한 규칙 생성 방법, 규칙 기반의 추론 방법 및 그 방법이 적용된 장치 | |
Hijjawi et al. | A general evaluation framework for text based conversational agent | |
Alam | Neural Encoder-Decoder based Urdu Conversational Agent | |
KR20200023620A (ko) | 대화 인지를 위한 규칙기반의 사용자 의도 추론 장치 | |
Mehta et al. | Developing a conversational agent using ontologies | |
Kazemzadeh et al. | A Sequential Bayesian Dialog Agent for Computational Ethnography. | |
Rzepka et al. | Bacteria Lingualis on BERToids--Concept Expansion for Cognitive Architectures | |
CN116737913B (zh) | 回复文本生成方法、装置、设备和可读存储介质 | |
KR102551296B1 (ko) | 외국어 말하기 학습을 위한 대화 장치 및 그 방법 | |
CN117133413B (zh) | 一种基于nlp的用户心理状态评估方法及系统 |
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 |