CN112559718A - 对话处理的方法、装置、电子设备和存储介质 - Google Patents
对话处理的方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN112559718A CN112559718A CN202011555886.8A CN202011555886A CN112559718A CN 112559718 A CN112559718 A CN 112559718A CN 202011555886 A CN202011555886 A CN 202011555886A CN 112559718 A CN112559718 A CN 112559718A
- Authority
- CN
- China
- Prior art keywords
- round
- slot position
- entity
- target
- matching information
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 31
- 238000012549 training Methods 0.000 claims abstract description 122
- 238000012545 processing Methods 0.000 claims abstract description 55
- 238000000034 method Methods 0.000 claims description 59
- 230000015654 memory Effects 0.000 claims description 19
- 230000008569 process Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 10
- 238000013135 deep learning Methods 0.000 abstract description 4
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 238000003058 natural language processing Methods 0.000 abstract description 3
- 230000004044 response Effects 0.000 description 15
- 238000012790 confirmation Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 11
- 230000000873 masking effect Effects 0.000 description 11
- 235000013305 food Nutrition 0.000 description 9
- 230000011218 segmentation Effects 0.000 description 9
- 230000009471 action Effects 0.000 description 7
- 238000000605 extraction Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 238000012805 post-processing Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000013136 deep learning model Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000036651 mood Effects 0.000 description 3
- 230000009897 systematic effect Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 238000005352 clarification Methods 0.000 description 2
- 230000002996 emotional effect Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000010521 absorption reaction Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 235000012054 meals Nutrition 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000005728 strengthening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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
- 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
- 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
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- 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/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Medical Informatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Machine Translation (AREA)
Abstract
本申请公开了一种对话处理方法、装置、电子设备和存储介质,涉及人工智能技术领域中的深度学习技术领域和自然语言处理技术领域。具体实现方案为:获取目标领域第M轮输入训练语料,第M轮输入训练语料包括:第一轮至第M轮的用户输入、第一轮至第M‑1轮的系统回复,M≥1;根据基本实体属性和第M轮输入训练语料生成第一实体匹配信息;根据第一实体匹配信息和预设数据库和第M轮输入训练语料生成的第二实体匹配信息;根据第二实体匹配信息生成第M轮的系统回复语句;根据第一和第二实体匹配信息以及系统回复语句获取与所述第M轮输入训练语料对应的第M轮输出训练语料;根据所有的输入训练语料和输出训练语料生成目标领域的任务型对话训练数据集。
Description
技术领域
本申请涉及人工智能技术领域中的深度学习技术领域和自然语言处理技术领域,尤其是涉及一种对话处理的方法、装置、电子设备和存储介质。
背景技术
任务型对话是机器人为满足用户某一需求而产生的多轮对话,机器人需要通过理解、澄清等方式来确定用户的意图,例如订餐、订票、订会议室等,由此可见,任务型对话有广泛的应用场景。
现有技术中,通常采用定义规则来实现任务型对话需求,但是这种技术会涉及多模块配合,并且每个模块的主流实现方法均是基于规则配置,规则配置较为复杂,更改配置需要花费大量的工作量,不能很好地满足用户需求。
发明内容
本申请公开了一种对话处理方法、装置、电子设备和存储介质,涉及人工智能技术领域中的深度学习、自然语言处理技术领域。解决了任务型对话中无法提供多样性对话的问题。
根据本申请的第一方面,提供了一种对话处理方法,包括:
获取目标领域的第M轮输入训练语料,其中,所述第M轮输入训练语料包括:从第一轮到第M轮的用户输入语句,以及与第一轮到第M-1轮对应的系统回复语句,其中,M大于等于1;
根据预设的与所述目标领域对应的基本实体属性和所述第M轮输入训练语料生成的第一实体匹配信息;
根据所述第一实体匹配信息和预设数据库,以及所述第M轮输入训练语料生成的第二实体匹配信息;
根据所述第二实体匹配信息生成的第M轮的系统回复语句;
根据所述第一实体匹配信息、所述第二实体匹配信息,以及所述第M轮的系统回复语句获取与所述第M轮输入训练语料对应的第M轮输出训练语料;
根据所有的所述输入训练语料和所述输出训练语料生成所述目标领域的任务型对话训练数据集,根据所述训练数据集训练预设的端到端多轮对话模型。
根据本申请的第二方面,提供了一种对话处理装置,包括:
第一获取模块,用于获取目标领域的第M轮输入训练语料,其中,所述第M轮输入训练语料包括:从第一轮到第M轮的用户输入语句,以及与第一轮到第M-1轮对应的系统回复语句,其中,M大于等于1;
第一生成模块,用于根据预设的与所述目标领域对应的基本实体属性和所述第M轮输入训练语料生成第一实体匹配信息;
第二生成模块,用于根据所述第一实体匹配信息和预设数据库,以及所述第M轮输入训练语料生成第二实体匹配信息;
第三生成模块,用于根据所述第二实体匹配信息生成第M轮的系统回复语句;
第二获取模块,用于根据所述第一实体匹配信息、所述第二实体匹配信息,以及所述第M轮的系统回复语句获取与所述第M轮输入训练语料对应的第M轮输出训练语料;
第四生成模块,用于根据所有的所述输入训练语料和所述输出训练语料生成所述目标领域的任务型对话训练数据集,根据所述训练数据集训练预设的端到端多轮对话模型。
根据本申请的第三方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请的第一方面所述对话处理方法。
根据本申请的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行本申请的第一方面所述的对话处理方法。
根据本申请的第五方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据本申请的第一方面所述的对话处理方法。
本申请提供的实施例,至少具有如下有益技术效果。
根据本申请的技术方案解决了当前端到端对话模型在进行目标领域的对话时,无法结合预设的基本实体属性和预设的数据库,完成任务型对话的问题,该技术方案提高了对话的目的性,使得该对话模型在完成任务型对话时,有更好的任务完成率以及对话效率,并且也可以提高对话模型进行增强训练时的训练效率。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请一个实施例的对话处理方法的流程图;
图2是根据本申请另外一个实施例的对话处理方法的流程图;
图3根据本申请又一个实施例的对话处理方法的掩码部分流程图;
图4是本申请一个实施例的结合掩码进行对话处理方法的流程图;
图5是根据本申请一个实施例的对话处理装置的结构框图;
图6是根据本申请另一个实施例的对话处理装置的结构框图;
图7是根据本申请又一个实施例的对话处理装置的结构框图;
图8是用来实现本申请实施例的对话处理的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在互联网技术日益发展的今天,人们对人机对话的要求也越来越高。基本的闲聊型对话和问答型对话已经不能满足人们的需求,人们希望通过对话电子设备可以帮助人类完成某些任务。基于此事实,任务型对话的需求越来越强烈,并且人们希望任务型对话可以做到有感情色彩的对话,而不是机械式的一问一答,基于此需求,现有主流的任务型对话处理系统已经没有办法发挥作用,因此针对此类需求,本申请提出了一种对话处理方法、装置、电子设备以及存储介质。具体地,下面参考附图描述本申请实施例的对话处理方法、装置、电子设备以及存储介质。
本申请提出了一种任务型对话的处理方式,该处理方式使用了端到端模型,在使用端到端模型处理任务型对话之前,通常要对端到端模型进行增强训练。增强训练是指在基础模型的基础上,通过数据训练,使得该模型不只具有基础模型的能力,还具有通过增强训练得到的能力。需要说明的是,本申请使用的增强训练的方式可以是通过语料对模型进行训练,这种语料通常包括输入训练语料和输出训练语料,输入训练语料即为模型接收并处理的数据,输出训练语料即为期望模型输出的数据。
图1是根据本申请一个实施例的对话处理方法的流程图。需要说明的是,本申请实施例的对话处理方法可应用于本申请实施例的对话处理装置,该对话处理装置可被配置于本申请实施例的电子设备上。
如图1所示,该对话处理方法可以包括:
步骤101,获取目标领域的第M轮输入训练语料,其中,第M轮输入训练语料包括:从第一轮到第M轮的用户输入语句,以及与第一轮到第M-1轮对应的系统回复语句,其中,M大于等于1。
具体地,目标领域指的是用户和系统进行任务型对话时,所要完成的任务所处的领域,该目标领域可以表征该任务型对话的知识和/或数据范围,该目标领域可以从提前设定的领域集合中提取,也可以结合深度学习技术对训练数据训练,得到深度学习模型,使得深度学习模型具有提取目标领域的能力。目标领域在一个训练语料中可以有多种,包括但不限于:酒店、学校、饭店中的任一种或几种。
由于端到端在完成任务型对话的时候,用户和系统的对话方式通常为一问一答,所以我们可以将任务型对话依据用户的询问分为多轮。对于系统而言,每一轮对话会有对应的输入训练语料和输出训练语料,本申请中,任务型对话按照轮次进行分割的方法可以为:第一轮的输入训练语料为:第一轮的用户输入语句;第M轮的输入训练语料为:第一轮到第M轮的用户输入语句,以及,第一轮到第M-1轮的系统回复语句。可以理解的,第M轮的输入训练语料为第M轮的用户输入语句,以及,M轮之前所有的用户输入语句和系统回复语句。例如,当M=2时,第二轮的输入训练语料为:第一轮的用户输入语句,以及,第一轮的系统回复语句,以及,第二轮的用户输入语句。其中,用户输入语句可以为用户与系统对话时发出的文本或者语音信息,系统回复语句可以为期望的反馈给用户的系统响应,该系统响应是指系统对用户输入语句做出的响应。
在本申请的一些实施例中,上述训练语料可以从已经公开的任务型对话数据集中获取。上述训练语料还可以从人类生活中的对话获取,该种对话是人类以完成某项任务为目的而进行的对话,将所述对话通过语音识别系统将音频信号转换为文字信号,该文字信号即可作为训练语料或者训练语料的来源。并且,上述训练语料可以通过多种语言表达,包括但不限于:中文、英文、日文中的任一或多种,为使得该模型具有识别多种语言的能力,还可以通过机器翻译和/或人工翻译将已有的语料翻译成其他语言,将翻译处理过的语料作为训练语料。
步骤102,根据预设的与目标领域对应的基本实体属性和第M轮输入训练语料生成第一实体匹配信息。
具体地,第一实体匹配信息的内容包括但不限于:表示当前对话状态追踪的信息和/或根据对话历史,和/或,对对话的理解产生的信息。
第一实体匹配信息的生成可以由以下两方面决定:第一方面,是第M轮输入训练语料;第二方面,是目标领域对应的基本实体属性,基本实体属性可以是对应目标领域中表征了该领域实体相关信息的一些属性,并且这些属性大多属于实体的客观属性,通常情况下,通过目标领域对应的基本实体属性可以全面的描述属于目标领域的实体,并且基本实体属性通常为用户关心度高的属性。例如:当目标领域为饭店时,基本实体属性包括但不限于:价格、地点、位置中的任一或多个。
根据基本实体属性与第M轮输入训练语料生成第一实体匹配信息的方法可以有多种,可以根据具体地应用场景进行选择,为了更清楚的进行说明第一实体匹配信息的生成方法,举例说明如下,包括但不限于以下示例:
示例一,对第M轮的用户输入语句进行分词处理得到分词,对分词进行筛选,得到关键分词,将关键分词和基本实体属性进行匹配,将匹配成功的基本实体属性和匹配失败的基本实体属性分别记录,得到第一实体匹配信息。
示例二,将第M轮的输入训练语料输入到关键字提取模型,该关键字提取模型可以实现关键字提取功能,该机器学习模型包括但不限于:TF-IDF(term frequency-inversedocument frequency,词频-逆文档文件频率)模型、TextRank(基于词图模型的关键词提取)模型、LDA(基于主题模型的关键词提取)模型其中的任一模型,经过关键字提取模型的处理可以得到关键字,将关键字和基本实体属性进行匹配,该匹配包括模糊匹配,即关键字和基本实体属性的语义相同,但是字符不同时,也可以将该关键字和该基本实体属性匹配成功,将匹配成功的基本实体属性和匹配失败的基本实体属性分别记录,得到第一实体匹配信息。
步骤103,根据第一实体匹配信息和预设数据库,以及第M轮输入训练语料生成第二实体匹配信息。
具体地,第二实体匹配信息可以是表示对话策略的信息,该信息可以表示根据当前的对话状态,系统所要执行的下一步动作,所述系统动作包括但不限于:澄清、询问、查询其中的任一或多个。第二实体匹配信息的生成可以由以下三方面决定:
第一方面,是第M轮的第一实体匹配信息。
第二方面,是第M轮的输入训练语料。
第三方面,是预设数据库,该预设数据库的数据可以表示某一领域或多种领域的信息,其中,所述领域可以包含目标领域,该预设数据库的数据包括:领域中的实体,领域对应的基本实体属性,实体的各个基本实体属性对应的值。该数据库包括但不限于是关系型数据库和/或非关系型数据库,该数据库也可以是不同类型的数据库的组合。该数据库可以为一个数据库,也可以为多个子数据库通过不同拓扑结构连接起来形成的数据库组,该拓扑结构包括但不限于:网状拓扑结构、星型拓扑结构、蜂窝拓扑结构中的任一或多种。多个子数据库可以是一个总数据库按照数据种类的不同进行拆分得到的,该拆分方法包括但不限于:按照数据所属的领域进行拆分和/或按照数据的使用频率进行拆分。
根据第M轮的第一实体匹配信息、第M轮的输入训练语料、预设数据库生成第二实体匹配信息的方法可以有多种,包括但不限于一下两种实现方式。第一种实现方式为:根据第一实体匹配信息中匹配成功的信息对数据库进行查询操作,得到第一实体匹配信息中匹配失败的信息对应的值。将第M轮的输入训练语料进行分词,根据数据库将分词进行组合,该组合为一一对应的组合。具体为,将分词中属于基本实体属性的词筛选出来,根据筛选出的词对数据库进行查询,将查询到的值和分词进行匹配,根据匹配结果确定当前对话系统的下一步对话类型。该对话类型包括但不限于澄清和/或询问和/或确认预定。
上述对话类型的确认方式可以为:当一个基本实体属性匹配到多个值的情况下,记录下一步系统要进行的动作为澄清;当基本实体属性未全部匹配成功的情况下,记录下一步系统要进行的对话为询问,并且记录下第一实体匹配信息中匹配失败的信息以及其对应的值;当全部基本实体属性匹配成功的情况下,记录下一步系统要进行的对话为确认预定。对系统要进行的动作和该动作涉及到的基本实体属性组合进行记录,得到第二实体匹配信息。第二种实现方式为:将对话类型记录在数据库中,该对话类型包括但不限于:答复、确认预定其中任一个。将第M轮用户输入语句进行分词处理,得到代表语气的分词,推测出第M轮用户输入语句的语气。该语气包括但不限于疑问和/或陈述。在语气为疑问的情况下,记录对话类型为答复,从分词中提取基本实体属性,根据第一实体匹配信息对提取出的基本实体属性进行查询操作,该查询操作的结果和问答对话类型即为第二实体匹配信息。在语气为陈述的情况下,将第M轮输入训练语料进行分词处理,将分词和基本实体属性进行匹配,如果匹配全部成功,记录对话类型为确认预定,该确认预定对话类型即为第二实体匹配信息。
步骤104,根据第二实体匹配信息生成第M轮的系统回复语句。
具体地,通过对第二实体匹配信息进行处理,可以生成第M轮的系统回复语句。生成步骤包括但不限于以下方法:从第二实体匹配信息中提取对话类型,该对话类型即为系统回复语句的类型,该类型包括但不限于陈述、询问、查询,基于对话类型,选择合适的自然语言生成模板。然后,再从第二实体匹配信息中提取基本实体属性和对应的值。将提取的基本实体属性和对应的值填充到自然语言生成模板中,生成自然语言,该自然语言即为系统回复语言。
步骤105,根据第一实体匹配信息、所述第二实体匹配信息,以及第M轮的系统回复语句获取与第M轮输入训练语料对应的第M轮输出训练语料;
可以理解的,第M轮输入训练语料对应的第M轮输出训练语料包括:第一实体匹配信息、第二实体匹配信息和第M轮的系统回复语句。
步骤106,根据所有的输入训练语料和输出训练语料生成目标领域的任务型对话训练数据集,根据训练数据集训练预设的端到端多轮对话模型。
具体地,在对一个深度学习模型进行增加功能的操作时,可以用训练数据集对该模型进行增强训练,本申请中,需要对模型训练,使模型增加的功能为完成任务型对话的功能,所以需要使用任务型对话训练数据集对该模型进行训练,该任务型对话训练数据集涉及的领域可以为一个或多个,该训练集也可以是去除了对话中和完成任务没有关联的内容之后形成的对话集。为了使模型可以区分输入训练语料和输出训练语料,可以对输入训练语料和输出训练语料进行标记处理。在使用训练数据集对模型进行训练之前,还需要选择被训练的预设模型,本申请选择的预设模型为的端到端多轮对话模型。在这里,端到端多轮对话模型指的是可以实现用户端自然语言输入到机器端自然语言输出整体映射的对话模型,其中,包括但不限于PLATO(一款大规模隐变量对话模型)、PLATO-2(一款大规模隐变量对话模型)、Meena(一款谷歌旗下的对话生成模型)、Blender(一款脸书旗下的对话生成模型)中的任一模型,现有端到端模型中,较为先进的是PLATO-2模型。
在本申请一些实施例中,为了区分输入训练语料和输出训练语料,可以用不同的标识区分两者,输入训练语料和输出训练语料的标识包括但不限于:输入训练语料标识为输入、输出训练语料标识为输出;输入训练语料标识为<、输出训练语料标识为>,也可以采取颜色标识、字体标识等其他可以用作标识目的的标识手段。
在本申请的一些实施例中,我们可以优选PLATO-2模型作为预设的端到端模型,PLATO-2模型的一个突出特点是可以产生多样性回复,也就是在同样的对话语境下,可以产生多种不同的回复。这些不同的回复,除了与上下文相关,也和背景知识相关。这些背景知识包括但不限于生活常识、相关知识、对话人情绪状态意图中的任一或多个。在建模过程中,可以使用隐变量来表示背景知识,所以,PLATO-2模型采取了离散隐变量的方式建模,并且采用了多样化生成和合适度判断的方式,该合适度判断用于筛选出最为合适的回复。
具体而言,PLATO-2包括了三个逻辑模块,分别是Generation,Recognition和Response Selection,其中:Recognition网络用于在训练过程中试别隐变量;Generation网络用于根据不同隐变量生成回复;Response Selection用于从不同隐变量生成的回复中,选择合适度最好的回复,可以被认为是一种评估模块。PLATO-2的结构设定经过各项任务的反复验证,证实在同等规模参数量的情况下具有最佳的性价比,基于PLATO-2模型,能够生成内容丰富、连贯性强的对话。在PLATO-2的基础上使用任务型对话训练数据集进行增强训练,可以使得该模型可以在完成任务型对话的基础上可以产生内容丰富、连贯性强的对话。
可以理解,训练后的端到端多轮对话模型不仅具有闲聊型对话的能力,还具有处理任务型对话的能力,当用户输入以完成任务为目的的对话时,该端到端模型可以以完成该以任务为目的对话,当预设模型为PLATO-2时,该模型在完成任务型对话的基础上,还可以生成多样性的回复。
根据本申请实施例的对话处理方法,对输入训练语料和输出训练语料进行预处理,输入训练语料包括当前所有的用户输入和系统回复,输出语料包括:目标领域的基本实体属性和最后一轮输入语料生成的第一匹配信息;第一匹配信息和预设数据库和最后一轮输入语料生成的第二匹配信息;第二匹配信息生成的当轮对话的系统回复语句。使用该输入语料和输出语料,对端到端模型进行训练,通过训练,该模型可以根据用户输入生成系统回复。
现有的主流任务型对话的实现方式是基于规则的,该种技术方案需要对规则进行人工配置,并且需要大量的人工配置才能产生多样性回复。现有的端到端模型可以生成内容丰富、连贯性强的回复,但由于其在数据和/或知识分布上与任务型对话存在分布差异,并且端到端模型不具备试别对话状态的能力,所以端到端模型在完成任务性对话时的表现没有基于规则的模型效果好。本申请使用任务型对话训练数据集对端到端模型进行增强训练,通过此种训练,使得该模型具有了进行任务型对话的能力并且还能采用多样性的语言完成任务型对话,该模型对话效果优于目前主流的任务型对话模型,完成任务型对话的能力优于端到端模型。
图2是根据本申请另一个实施例的对话处理方法的流程图。如图2所示,该对话处理方法可以包括:
步骤201,获取目标领域的第M轮输入训练语料,其中,第M轮输入训练语料包括:从第一轮到第M轮的用户输入语句,以及与第一轮到第M-1轮对应的系统回复语句,其中,M大于等于1。
具体地,为了使系统可以区分输入训练语料中的用户输入和系统回复,我们可以使用一些标识符来标记用户输入和系统输出,将这些标识符标识在对应的语句,将语句和标识符一同输入系统,使得系统具有识别语句是用户输入还是系统回复的能力。其中,用户输入的标识符包括但不限于:[user]、<usr>、{用户}中的任一文字和/或符号标识;系统回复的标识符包括但不限于:[system]、<sys>、{系统}中的任一文字和/或符号标识。以上标识符合均可以采取颜色标识、字体标识等其他可以用作标识目的的标识手段。
作为一种示例,当前对话如下:用户发起询问:“i am looking for a restaurantnamed kymmoy.”系统回复:“ah,yes.it's an expensive asian oriental restaurant inthe centre.would you like me to book for you?”用户第二次发起询问:“yes.i needa table booked for 7on saturday”。在本示例中,我们使用<usr>标识用户输入;<sys>标识系统回复。第1轮的输入训练语料即为:<usr>i am looking for a restaurant namedkymmoy.第2轮的输入训练语料即为:<usr>i am looking for a restaurant namedkymmoy.<sys>ah,yes.it's an expensive asian oriental restaurant in thecentre.would you like me to book for you?<usr>yes.i need a table booked for7on saturday。
步骤202,根据基本实体属性匹配从第一轮到第M轮的用户输入语句,获取与匹配成功的第一基本槽位对应的槽位信息,以及没有匹配成功的第二基本槽位。
具体地,第一实体匹配信息包括,第一基本槽位及其对应的槽位信息,和,第二基本槽位及其对应的空白信息。第一基本槽位和第二基本槽位都是基本实体属性的集合,第一基本槽位和第二基本槽位的不同在于:第一基本槽位能与第一轮到第M轮的用户输入语句匹配成功,第二基本槽位与第一轮到第M轮的用户输入语句匹配失败。
该匹配过程具体可以为:将第一轮到第M轮的用户输入语句进行分词处理,或者通过关键字提取模型进行关键字提取处理,将处理之后的词和基本实体属性进行匹配,这里的匹配包括精准匹配和/或模糊匹配。匹配成功的认定标准可以为分词或者关键字中有与基本实体属性语义相近的词,匹配成功的认定标准还可以为,根据该语义相近的词对数据库执行查询操作,查询到的信息在用户输入语句的分词或者关键字中可以匹配到。
步骤203,标记与第一基本槽位对应的槽位信息,以及标记与第二基本槽位对应的空白信息生成所述第一实体匹配信息。
具体地,槽位信息指的是根据该槽位对数据库执行查询操作得到的信息,该信息可以反映该目标领域实体在基本实体属性方面的特征,槽位可以和槽位信息相关联,用以表示基本实体属性及其对应的值。第二基本槽位即为用户输入语句中没有相关记载的槽位,第二基本槽位的对应可以标记为空白信息,空白信息表示该第二基本槽位尚未被匹配到。
在本申请一些实施例中,第一基本槽位对应的槽位信息的标识方法包括但不限于:标识在第一基本槽位的后方,“<第一基本槽位>槽位信息”,“第一基本槽位:槽位信息”,“第一基本槽位-槽位信息”中的任一或几种。第二基本槽位对应的空白信息的标识方法包括但不限于:“<第二基本槽位>nm”,“第二基本槽位:”,“第二基本槽位:_”中的任一或几种。第一基本槽位和第二基本槽位还可以采用其他的标识符进行标识,该标识符包括但不限于文字、符号、颜色、字体其中任一或几个标识手段。类似地,其他起到标识作用的标识手段也可以应用在本步骤中第一基本槽位和/或第二基本槽位的标识。
下面,可以结合本申请的一个实施例来理解第一实体匹配信息的生成。
作为一种示例,用户发起询问:“i am looking for a restaurant namedkymmoy.”系统回复:“ah,yes.it's an expensive asian oriental restaurant in thecentre.would you like me to book for you?”用户第二次发起询问:“yes.i need atable booked for 7 on saturday”。在本示例中,我们使用<ds>标识第一实体匹配信息,该对话中目标领域为restaurant,我们用<restaurant>标识目标领域,该目标领域对应的基本实体属性为food、pricerange、name、area,其中,name可以在第一轮用户输入语句中匹配成功,所以name对应的槽位为第一基本槽位,kymmoy为第一基本槽位对应的槽位信息。food、pricerange、area在第一轮用户输入语句中匹配失败,food、pricerange、area对应的槽位为第二基本槽位,需要对这三个槽位对应空白信息,将这些槽位分别用<food>、<pricerange>、<name>、<area>进行标识,第二基本槽位对应的空白信息标识为<nm>。由此可见,第一轮得到的第一实体匹配信息标识为:<ds><restaurant><food><nm><pricerange><nm><name>kymmoy<area><nm>;由于第二轮用户输入语句没有输入基本实体属性可以匹配到的信息,第二轮得到的第一实体匹配信息标识为:<ds><restaurant><food><nm><pricerange><nm><name>kymmoy<area><nm>。
步骤204,根据第一基本槽位对应的槽位信息查询预设的与目标领域对应的数据库,获取与第二基本槽位对应的槽位信息。
具体地,在本申请一些实施例中,第二实体匹配信息中的第二基本槽位的匹配信息的获取方式可以是:将第二基本槽位作为关键字,以第一基本槽位及第一基本槽位对应的槽位信息作为查询范围的限制,对数据库执行查询操作,此操作可以获取第二基本槽位对应的槽位信息。
步骤205,根据数据库预设的与目标领域对应的扩展实体属性匹配所述从第一轮到第M轮的用户输入语句,获取与匹配成功的第一扩展槽位对应的槽位信息,以及没有匹配成功的第二扩展槽位。
具体地,该扩展实体属性是根据目标领域在数据库中预设的属性,该实体属性可以表示根据当前的对话状态所要执行的下一步系统动作,该系统动作包括但不限于:确认信息、预定信息、询问预定中的任一种。
在获取第二基本槽位对应的槽位信息之后,还需要获取第一扩展槽位和第二扩展槽位,第一扩展槽位和第二扩展槽位的不同在于:第一扩展槽位能与第一轮到第M轮的用户输入语句匹配成功,第二扩展槽位与第一轮到第M轮的用户输入语句匹配失败,该匹配过程具体可以为:将第一轮到第M轮的用户输入语句进行分词处理,从分词中提取关键字,该关键字可以代表当前语句的状态,该状态包括但不限于:请求确认信息、请求预定信息、请求询问预定,将用户对话的状态和扩展实体属性进行匹配。如果扩展实体属性和用户输入语句匹配成功,则标记为第一扩展槽位;如果扩展实体属性和用户输入语句匹配失败,则标记为第二扩展槽位,该匹配成功可以定义为扩展实体属性可以满足用户的对话状态,例如:用户对话状态为请求确认信息,对应的第一扩展槽位为确认信息。
具体地,当前对话如下:用户发起询问:“i am looking for a restaurant namedkymmoy.”系统回复:“ah,yes.it's an expensive asian oriental restaurant in thecentre.would you like me to book for you?”用户第二次发起询问:“yes.i need atable booked for 7 on saturday”。在本示例中,我们使用<sa>标识第二实体匹配信息、<booking-inform>为扩展实体属性中对确认信息的标识、<booking-request>为扩展实体属性中对预定询问的标识、<restaurant-inform>为第二实体匹配信息中的第二基本槽位及其对应的值的标识、特殊标识符none标识占位、特殊标识符“?”标识询问。
根据第一轮用户输入语句,目标领域为restaurant,第一实体匹配信息中第一基本槽位为name,第一基本槽位对应的槽位信息为kymmoy,第二基本槽位为food、asianoriental、pricerange,对数据库执行查询操作,限定条件为:name对应的值kymmoy,可以查询到第二基本槽位与槽位信息的对应情况为:food对应asian oriental;pricerange对应expensive;area对应centre,同时根据用户输入语句,判断出用户当前请求确认信息,扩展实体属性中的确认信息和请求确认信息匹配成功,第一扩展槽位为booking-inform,并且该槽位需要使用none来表示占位,最后根据第二实体匹配信息生成当前轮次的对话。
该示例的具体标识为:第一轮输入训练语料对应的第一轮输出训练语料为:<ds><restaurant><food><nm><pricerange><nm><name>kymmoy<area><nm><sa><booking-inform><none>none<restaurant-inform><food>asian oriental<pricerange>expensive<area>centre<response>ah,yes.it's an expensive asian oriental restaurant inthe centre.would you like me to book for you?
第二轮时,根据用户输入语句,可以判断出,用户当前请求询问预定,扩展实体属性中的确认预定和请求确认预定匹配成功,第一扩展槽位为booking-request,用?标识询问,用<time>标识需要询问的内容为时间,可以理解,第2轮输入训练语料对应的第1轮输出训练语料为:<ds><restaurant><food><nm><pricerange><nm><name>kymmoy<area><nm><sa><booking-request><time>?<response>what time do you need that booking at?
步骤206,根据第二实体匹配信息生成第M轮的系统回复语句。
步骤207,根据第一实体匹配信息、第二实体匹配信息,以及第M轮的系统回复语句获取与第M轮输入训练语料对应的第M轮输出训练语料。
步骤208,根据所有的输入训练语料和输出训练语料生成目标领域的任务型对话训练数据集,根据训练数据集训练预设的端到端多轮对话模型。
根据本申请实施例的对话处理方法,该端到端对话模型通过训练具有了处理任务型对话的能力,该实施例将基于规则的任务型对话中的语言理解、对话状态追踪、对话策略、自然语言生成等模块统一建模,使得四个模块可以一同进行训练,从而可以对四个模块一同进行优化,避免了优化某一模块却造成模型整体效果退化的情况。
基于规则的任务型对话的对话槽位需要提前定义,而本申请中通过对端到端模型进行强化训练,实现任务型对话,通过训练数据集对端到端模型进行训练即可,无需设计复杂的对话槽位系统,并且基于规则的任务型对话由四个模块组成,每个模块的主流实现方法均是基于规则,而规则需要人进行大量的总结归纳,之后,还需要进行大量的手工模板配置,虽然已经进行了大量的人力付出,但是如果在基于规则的任务型对话系统上实现多样性回复的功能,要进行更多的模板配置,在没有进行大量人为配置的情况下,回复质量和用户体验欠佳。
图2实施例已经使得端到端模型具有了处理任务型对话的能力,但是此模型的迁移性较差,不能跨领域迁移,所以本申请另一个实施例的目的是提出一个具有跨领域迁移能力,并且更加泛化的对话处理方法。
本申请的第三实施例中,基于上述实施例,为了使模型具有更加泛化的能力,提出了使用掩码处理输出训练语料的技术方案。为了更清楚说明掩码处理,可以基于图2的端到端任务型对话处理方案使用实施例三具体说明该掩码处理方式。具体地,基于步骤204之后,还包括,步骤301-302;基于步骤208之后,还包括,步骤307-310。
图3中步骤301-302解释了如何对语料进行掩码,下面为具体说明。
步骤301,获取预设的与基本实体属性对应的目标槽位。
具体地,为了使得模型具备更加泛化的对话处理能力,需要对训练数据进行泛化处理,泛化目标对应的槽位也称为目标槽位,为了完成泛化的目的,该目标槽位可以为实体的一些实体属性,该实体属性通常具有个性化的特点,可以明显的表示实体的一些特点,甚至,在一些实施例中,该目标槽位对应的槽位信息可以作为该实体的唯一标识。
作为一种示例,我们掩码的目标槽位包括但不限于train ID(Identity,序列号)、postcode、phone number、address、name其中的任一或几个。
步骤302,将目标槽位与第二基本槽位进行匹配,如果匹配成功,则对第二实体匹配信息和第M轮的系统回复语句中与目标槽位对应的目标槽位信息进行掩码处理。
可以理解的,本申请一些实施例中的目标是对系统回复语句进行掩码处理,系统回复语句是根据第二实体匹配信息生成的,所以,我们需要对第二实体匹配信息中可以表述实体的特点的内容进行掩码,所以,我们需要首先对第二基本槽位对应的槽位信息进行掩码处理,该掩码处理的方法可以是将目标槽位和第二基本槽位进行匹配,该匹配可以为模糊匹配,也可以为精准匹配,如果匹配成功便可以对第二基本槽位对应的槽位信息进行掩码处理,由于第二实体匹配信息中包含第二基本槽位及其对应的槽位信息,因此,此时第二实体匹配信息也完成了掩码处理,从而,根据第二实体匹配信息生成的系统回复语句生成时也会完成掩码处理。为了使系统回复语句在泛化处理之后具有逆泛化的能力,在本申请一些实施例中,通常会使用同一种掩码对同一类目标槽位的槽位信息进行掩码处理,这里提到的掩码处理指的是将槽位信息替换成包括但不限于文字、符号、空白其中任一或几个可以起到掩盖槽位信息作用的标识符号。
常用的,掩码方式通常分为只对输出语句进行掩码和对输入语句和输出语句都进行掩码,下面将分别阐述。
本申请一些实施例中,可以采用只对输出训练语句进行掩码的方法对输入训练语料对应的输出训练语料进行掩码处理,例如:预设的目标槽位为addr,当用户输入语句为:“can you help me find an attraction named hughes hall?thanks.”,该对话所处领域为attraction,attraction对应的基本实体属性为type、name、area,可以理解的,生成的第一实体匹配信息为:<ds><attraction><type><nm><name>hughes hall<area><nm>,根据数据库查询第一实体匹配信息中槽位信息为空白的基本实体属性对应的值,再对第二实体匹配信息进行掩码处理,目标槽位中包括<addr>,第二基本槽位为<area>、<addr>,从而只需要对<addr>进行掩码即可,那么,得到的第二实体匹配信息为:<sa><attraction-inform><area>center of town<addr>[attraction_address],这里对应的标识为:<sa>标识第二实体匹配信息;<attraction-inform>标识第二基本槽位;<area>标识第二基本槽位位中的区域;<addr>标识第二基本槽位中的地址。
在本申请一些实施例中,还可以采用对输入训练语料和输出训练语料都进行掩码的掩码方法。对输入训练语料和输出训练语料都进行掩码处理的时候,将第一基本槽位和目标槽位进行匹配,如果匹配成功,在用户输入语句中对匹配成功的槽位对应的槽位信息进行掩码处理,但是,如果将输入训练语料中目标槽位对应的槽位信息全部掩码,将无法对数据库进行查询操作,所以,本申请一些实施例中预设了一个或几个目标槽位作为包裹掩码目标槽位,当对该包裹掩码目标槽位对用的槽位信息进行掩码处理时,可以采用包裹掩码的方式。该包裹掩码仍然会保留被掩码内容的信息,例如:预设的目标槽位为name且name为包裹掩码目标槽位,包裹掩码方法为<name/></name>,那么当用户输入语句为:“can youhelp me find an attraction named hughes hall?thanks.”,此用户输入语句中的第一基本槽位为name,且该槽位为预设的包裹掩码目标槽位,于是,掩码处理之后的输入训练语料为:“<usr>can you help me find an attraction named<name/>hughes hall</name>?thanks.”。第二实体匹配为:<sa><attraction-inform><area>center of town<addr>[attraction_address],系统生成的系统回复语句为:“<response>sure,it's located inthe center of town,address is:[attraction_address].”,其中,response标识系统回复。
可理解的,该任务型对话训练数据集已经经过了掩码处理,使用该种经过掩码处理的输入训练语料训练出来的端到端多轮对话模型具有更好的跨领域能力,会更加泛化。
模型在泛化处理之后,输出语料也是泛化处理的,直接反馈给用户,用户无法理解,因此还要对系统回复语句进行逆泛化处理,基于步骤208之后,还包括,步骤307-310。
步骤307,接收用户输入的目标内容。
可以理解,该步骤中系统会将用户输入作为系统的输入数据。
步骤308,根据训练后的端到端多轮对话模型对目标内容进行处理生成第一目标实体匹配信息和携带掩码槽位的第二目标实体匹配信息。
可以理解的,采用掩码处理后的第二目标实体匹配信息训练的端到端多轮对话模型输出的也将会是携带掩码槽位的第二目标实体匹配信息。
作为一种示例,当用户输入为:“can you help me find an attraction namedhughes hall?thanks.”,生成的第一目标实体匹配信息为:<ds><attraction><type><nm><name>hughes hall<area><nm>,生成的第二目标实体匹配信息为:<sa><attraction-inform><area>center of town<addr>[attraction_address]。
步骤309,根据携带掩码槽位的第二目标实体匹配信息生成携带掩码槽位的回复内容。
可以理解的,由于第二目标实体匹配信息中心携带掩码,根据其生成的回复内容也会携带有掩码。
作为一种示例,第二目标实体匹配信息为:<sa><attraction-inform><area>center of town<addr>[attraction_address],根据第二目标实体匹配信息生成的携带掩码槽位的系统回复语句为:<response>sure,it's located in the center of town,address is:[attraction_address]。
步骤310,根据第一目标实体匹配信息查询数据库获取查询内容,根据查询内容对掩码槽位进行填充生成目标回复内容。
在本申请一些实施例中,步骤306可以理解为一种后处理模块,后处理模块会根据第一实体匹配信息形成查询数据库,再根据查询数据库返回的内容对回复内容中已掩码的槽位进行替换,从而形成最后返回给用户的系统回复语句,所述的流程如图4所示。图4中,用户输入语句为“I am looking for a train from Stansted airport to Cambridge”,经过训练的端到端多轮对话模型为PLATO-2模型,此时该模型已经具备了处理任务型对话的能力,并且其具有掩码功能,数据库为DB,后处理模块为Post Processing,系统回复语句为“What day will you be traveling?”。经过训练的端到端多轮对话模型PLATO-2的输入为用户输入语句,输出为带有掩码的系统回复语句,后处理模块根据掩码对应的槽位从数据库中获得槽位信息,从而到的完整的系统回复语句。可以理解的,被执行查询操作的数据库包括但不限于:关系型数据库、非关系型数据库中的任一或其组合。
作为一种示例,当用户输入语句为“can you help me find an attractionnamed hughes hall?thanks”,系统生成的带掩码的系统回复语句为“<response>sure,it's located in the center of town,address is:[attraction_address]”,根据第一实体匹配信息中第一基本槽位对应的槽位信息hughes hall对数据库进行查询,查询到槽位<addr>对应的槽位信息Cambridge,最终生成的系统回复为“sure,it's located in thecenter of town,address is:Cambridge。”
根据本申请实施例的处理方法,本技术方案通过对涉及数据库的内容进行了掩码处理,使得模型可以跨领域使用并且提升了训练效率,具备了更通用,更泛化的能力。具体地,我们可以使用两种掩码方法,一种掩码方法是对于输入训练语料不进行掩码,对输出训练语料按照目标槽位进行全部掩码;一种方法是对于输入训练语料和输出训练语料都按照目标槽位进行掩码,但是对于客体的唯一标识采取包裹掩码的方式进行掩码。之后再对输出训练语料中的回复内容进行后处理,根据从数据库中查询到的内容对已掩码槽位进行替换,得到返回给客户的回复话术。
通常的,任务型对话的测试方法为:以完成一个任务为目标,任务分为用户方和系统方,用户方首先会拿到一个Goal(目标),按照Goal发起对话,询问酒店、景点、餐馆等不同目标领域的相关信息,并有可能进行预订操作,系统提供客服的功能,可以查询数据库,提供用户所需的信息,为用户预订。用户的Goal是寻找一家本地餐厅,餐厅价格要便宜,餐厅提供法式食物,并且餐厅位于美国中部,找到餐厅后,用户需要获取餐厅的电话号码和地址
Human代表用户,Bot代表系统,用户和系统可以围绕Goal进行对话。
如表1所示,该技术方案在公开英文数据集上进行测试,获得了比现有技术更好的效果:本申请的技术方案在公开英文数据集上进行了测试,如表1所示,本申请的技术方案获得了比现有技术更好的效果。
其中表1中的评价指标的具体解释为:
Complete Rate:对话的完成率,用户需要根据Goal进行对话,不考虑系统返回的信息是否正确,如果能正常完成对话,则表示对话完成,若系统无法理解用户,无法给出所需的信息,则用户可以直接退出对话过程,判定对话不完成。
Success Rate:指对话完成Goal的成功率,该指标为关键评估指标,如果系统返回的信息符合Goal目标,并且与数据库信息一致,则表示对话成功,否则判定失败。
Book Rate:指成功预订率,用户Goal中有时会有预订的要求,比如查询一家餐馆后,要求预订周六晚上6点5人,系统需要返回对应的餐厅编号,若正常返回则表示预订成功,否则判定失败。
Inform P/R/F1:用于评估Goal中槽位的识别情况,包括Precision(精确率)、Recall(召回率)、F1(一种综合评价指标)值。其中Precision=槽位填写的正确个数/总填写的槽位个数,Recall=槽位填写的正确个数/必须填写的槽位个数,F1=2*P*R/(P+R)。例如,Goal中需要判断的槽位包括[hotel_phone_number]和[hotel_address],如果能正确返回这两个槽位的信息,此时P/R/F1都等于1,若系统多返回一个其它不相干槽位信息,则此时P=2/3=0.67,R=2/2=1,F1=0.802。
表1
根据本申请的实施例,本申请还提供了一种对话处理装置。
图5是根据本申请一个实施例的对话处理装置的结构框图。如图5所示,该对话处理的装置500可以包括:第一获取模块501、第一生成模块502、第二生成模块503、第三生成模块504、第二获取模块505、训练模块506。
具体地,第一获取模块501,用于获取目标领域的第M轮输入训练语料,其中,所述第M轮输入训练语料包括:从第一轮到第M轮的用户输入语句,以及与第一轮到第M-1轮对应的系统回复语句,其中,M大于等于1。
第一生成模块502,用于根据预设的与所述目标领域对应的基本实体属性和所述第M轮输入训练语料生成第一实体匹配信息。
第二生成模块503,用于根据所述第一实体匹配信息和预设数据库,以及所述第M轮输入训练语料生成第二实体匹配信息。
第三生成模块504,用于根据所述第二实体匹配信息生成第M轮的系统回复语句。
第二获取模块505,用于根据所述第一实体匹配信息、所述第二实体匹配信息,以及所述第M轮的系统回复语句获取与所述第M轮输入训练语料对应的第M轮输出训练语料。
训练模块506,用于根据所有的述输入训练语料和所述输出训练语料生成所述目标领域的任务型对话训练数据集,根据所述训练数据集训练预设的端到端多轮对话模型。
在本申请的一些实施例中,如图6所示,该对话处理装置600还可以包括:掩码模块607、第三获取模块608。
具体地,掩码模块607,用于将所述目标槽位与所述第二基本槽位进行匹配,如果匹配成功,则对所述第二实体匹配信息和所述第M轮的系统回复语句中与所述目标槽位对应的目标槽位信息进行掩码处理。
第三获取模块608,用于获取预设的与所述基本实体属性对应的目标槽位。
在本申请一些实施例中,如图7所示,该对话处理装置700还可以包括:接收模块709、第四生成模块710、第五生成模块711、填充模块712。
具体地,接收模块709,用于接收用户输入的目标内容;
第四生成模块710,用于根据所述训练后的端到端多轮对话模型对所述目标内容进行处理生成第一目标实体匹配信息和携带掩码槽位的第二目标实体匹配信息;
第五生成模块711,用于根据所述携带掩码槽位的第二目标实体匹配信息生成携带掩码槽位的回复内容;
填充模块712,用于根据所述第一目标实体匹配信息查询所述数据库获取查询内容,根据所述查询内容对所述掩码槽位进行填充生成目标回复内容。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图8所示,是根据本申请实施例的对话处理方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图8所示,该电子设备包括:一个或多个处理器801、存储器802,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图8中以一个处理器801为例。
存储器802即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的对话处理方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的对话处理方法。
存储器802作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的对话处理方法对应的程序指令/模块(例如,附图5所示的第一获取模块501、第一生成模块502、第二生成模块503、第三生成模块504、第二获取模块505、训练模块506)。处理器801通过运行存储在存储器802中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的对话处理方法。
存储器802可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据对话处理的电子设备的使用所创建的数据等。此外,存储器802可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器802可选包括相对于处理器801远程设置的存储器,这些远程存储器可以通过网络连接至对话处理的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
对话处理方法的电子设备还可以包括:输入装置803和输出装置804。处理器801、存储器802、输入装置803和输出装置804可以通过总线或者其他方式连接,图8中以通过总线连接为例。
输入装置803可接收输入的数字或字符信息,以及产生与对话处理的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置804可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,即本申请还提出了一种计算机程序,该计算机程序在被处理器执行时,实现上述实施例所描述的对话处理方法,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、互联网和区块链网络。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务("Virtual Private Server",或简称"VPS")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
根据本申请实施例的技术方案,对输入训练语料和输出训练语料进行预处理,输入训练语料包括当前所有的用户输入和系统回复,输出语料包括:目标领域的基本实体属性和最后一轮输入语料生成的第一匹配信息;第一匹配信息和预设数据库和最后一轮输入语料生成的第二匹配信息;第二匹配信息生成的当轮对话的系统回复语句。使用该输入语料和输出语料,对端到端模型进行训练,通过训练,该模型可以根据用户输入生成系统回复,该模型具备端到端对话的能力和进行任务型对话的能力。进一步的,该技术方案可以将pipeline中的NLU、DST、SA、NLG等过程统一建模,使得四个模块可以一同进行训练,一同进行优化,避免了优化某一模块却造成模型整体效果退化的情况,并且,该技术方案克服至少如下问题:对话槽位需要提前定义;模型需要进行大量的手工模板配置;在不进行大量工作的情况下,无法得到多样性回复。进一步的,还可以对涉及数据库的内容进行掩码处理,使得模型可以跨领域使用并且提升了训练效率,具备了更通用,更泛化的能力。应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (13)
1.一种对话处理方法,包括:
获取目标领域的第M轮输入训练语料,其中,所述第M轮输入训练语料包括:从第一轮到第M轮的用户输入语句,以及与第一轮到第M-1轮对应的系统回复语句,其中,M大于等于1;
根据预设的与所述目标领域对应的基本实体属性和所述第M轮输入训练语料生成第一实体匹配信息;
根据所述第一实体匹配信息和预设数据库,以及所述第M轮输入训练语料生成第二实体匹配信息;
根据所述第二实体匹配信息生成第M轮的系统回复语句;
根据所述第一实体匹配信息、所述第二实体匹配信息,以及所述第M轮的系统回复语句获取与所述第M轮输入训练语料对应的第M轮输出训练语料;
根据所有的所述输入训练语料和所述输出训练语料生成所述目标领域的任务型对话训练数据集,根据所述训练数据集训练预设的端到端多轮对话模型。
2.如权利要求1所述的方法,其中,所述根据预设的与所述目标领域对应的基本实体属性和所述第M轮输入训练语料生成的第一实体匹配信息,包括:
根据所述基本实体属性匹配所述从第一轮到第M轮的用户输入语句,获取与匹配成功的第一基本槽位对应的槽位信息,以及没有匹配成功的第二基本槽位;
标记与所述第一基本槽位对应的槽位信息,以及标记与所述第二基本槽位对应的空白信息生成所述第一实体匹配信息。
3.如权利要求2所述的方法,其中,所述根据所述第一实体匹配信息和预设数据库,以及所述第M轮输入训练语料生成的第二实体匹配信息,包括:
根据所述第一基本槽位对应的槽位信息查询预设的与所述目标领域对应的数据库,获取与所述第二基本槽位对应的槽位信息;
根据所述数据库预设的与所述目标领域对应的扩展实体属性匹配所述从第一轮到第M轮的用户输入语句,获取与匹配成功的第一扩展槽位对应的槽位信息,以及没有匹配成功的第二扩展槽位。
4.如权利要求3所述的方法,其中,在所述获取与所述第二基本槽位对应的槽位信息之后,还包括:
获取预设的与所述基本实体属性对应的目标槽位;
将所述目标槽位与所述第二基本槽位进行匹配,如果匹配成功,则对所述第二实体匹配信息和所述第M轮的系统回复语句中与所述目标槽位对应的目标槽位信息进行掩码处理。
5.如权利要求4所述的方法,其中,还包括:
接收用户输入的目标内容;
根据所述训练后的端到端多轮对话模型对所述目标内容进行处理生成第一目标实体匹配信息和携带掩码槽位的第二目标实体匹配信息;
根据所述携带掩码槽位的第二目标实体匹配信息生成携带掩码槽位的回复内容;
根据所述第一目标实体匹配信息查询所述数据库获取查询内容,根据所述查询内容对所述掩码槽位进行填充生成目标回复内容。
6.一种对话处理装置,包括:
第一获取模块,用于获取目标领域的第M轮输入训练语料,其中,所述第M轮输入训练语料包括:从第一轮到第M轮的用户输入语句,以及与第一轮到第M-1轮对应的系统回复语句,其中,M大于等于1;
第一生成模块,用于根据预设的与所述目标领域对应的基本实体属性和所述第M轮输入训练语料生成第一实体匹配信息;
第二生成模块,用于根据所述第一实体匹配信息和预设数据库,以及所述第M轮输入训练语料生成第二实体匹配信息;
第三生成模块,用于根据所述第二实体匹配信息生成第M轮的系统回复语句;
第二获取模块,用于根据所述第一实体匹配信息、所述第二实体匹配信息,以及所述第M轮的系统回复语句获取与所述第M轮输入训练语料对应的第M轮输出训练语料;
训练模块,用于根据所有的所述输入训练语料和所述输出训练语料生成所述目标领域的任务型对话训练数据集,根据所述训练数据集训练预设的端到端多轮对话模型。
7.如权利要求6所述的装置,其中,所述第一生成模块具体用于:
根据所述基本实体属性匹配所述从第一轮到第M轮的用户输入语句,获取与匹配成功的第一基本槽位对应的槽位信息,以及没有匹配成功的第二基本槽位;
标记与所述第一基本槽位对应的槽位信息,以及标记与所述第二基本槽位对应的空白信息生成所述第一实体匹配信息。
8.如权利要求7所述的装置,其中,所述第二生成模块具体用于:
根据所述第一基本槽位对应的槽位信息查询预设的与所述目标领域对应的数据库,获取与所述第二基本槽位对应的槽位信息;
根据所述数据库预设的与所述目标领域对应的扩展实体属性匹配所述从第一轮到第M轮的用户输入语句,获取与匹配成功的第一扩展槽位对应的槽位信息,以及没有匹配成功的第二扩展槽位。
9.如权利要求8所述的装置,还包括:
第三获取模块,获取预设的与所述基本实体属性对应的目标槽位;
掩码模块,将所述目标槽位与所述第二基本槽位进行匹配,如果匹配成功,则对所述第二实体匹配信息和所述第M轮的系统回复语句中与所述目标槽位对应的目标槽位信息进行掩码处理。
10.如权利要求9所述的装置,还包括:
接收模块,用于接收用户输入的目标内容;
第四生成模块,用于根据所述训练后的端到端多轮对话模型对所述目标内容进行处理生成第一目标实体匹配信息和携带掩码槽位的第二目标实体匹配信息;
第五生成模块,用于根据所述携带掩码槽位的第二目标实体匹配信息生成携带掩码槽位的回复内容;
填充模块,用于根据所述第一目标实体匹配信息查询所述数据库获取查询内容,根据所述查询内容对所述掩码槽位进行填充生成目标回复内容。
11.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-5中任一项所述的方法。
12.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-5中任一项所述的方法。
13.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-5任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011555886.8A CN112559718B (zh) | 2020-12-24 | 2020-12-24 | 对话处理的方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011555886.8A CN112559718B (zh) | 2020-12-24 | 2020-12-24 | 对话处理的方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112559718A true CN112559718A (zh) | 2021-03-26 |
CN112559718B CN112559718B (zh) | 2024-04-12 |
Family
ID=75034031
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011555886.8A Active CN112559718B (zh) | 2020-12-24 | 2020-12-24 | 对话处理的方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112559718B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113221572A (zh) * | 2021-05-31 | 2021-08-06 | 北京字节跳动网络技术有限公司 | 一种信息处理方法、装置、设备及介质 |
CN113326367A (zh) * | 2021-06-30 | 2021-08-31 | 四川启睿克科技有限公司 | 基于端到端文本生成的任务型对话方法和系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018157700A1 (zh) * | 2017-03-02 | 2018-09-07 | 腾讯科技(深圳)有限公司 | 对话生成方法、装置及存储介质 |
CN110674314A (zh) * | 2019-09-27 | 2020-01-10 | 北京百度网讯科技有限公司 | 语句识别方法及装置 |
US20200327892A1 (en) * | 2019-04-12 | 2020-10-15 | Asapp, Inc. | Maintaining machine language model state across communications channels |
-
2020
- 2020-12-24 CN CN202011555886.8A patent/CN112559718B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018157700A1 (zh) * | 2017-03-02 | 2018-09-07 | 腾讯科技(深圳)有限公司 | 对话生成方法、装置及存储介质 |
US20200327892A1 (en) * | 2019-04-12 | 2020-10-15 | Asapp, Inc. | Maintaining machine language model state across communications channels |
CN110674314A (zh) * | 2019-09-27 | 2020-01-10 | 北京百度网讯科技有限公司 | 语句识别方法及装置 |
Non-Patent Citations (1)
Title |
---|
王龙;杨俊安;刘辉;陈雷;林伟;: "基于RNN汉语语言模型自适应算法研究", 火力与指挥控制, no. 05 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113221572A (zh) * | 2021-05-31 | 2021-08-06 | 北京字节跳动网络技术有限公司 | 一种信息处理方法、装置、设备及介质 |
CN113221572B (zh) * | 2021-05-31 | 2024-05-07 | 抖音视界有限公司 | 一种信息处理方法、装置、设备及介质 |
CN113326367A (zh) * | 2021-06-30 | 2021-08-31 | 四川启睿克科技有限公司 | 基于端到端文本生成的任务型对话方法和系统 |
CN113326367B (zh) * | 2021-06-30 | 2023-06-16 | 四川启睿克科技有限公司 | 基于端到端文本生成的任务型对话方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112559718B (zh) | 2024-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108446286B (zh) | 一种自然语言问句答案的生成方法、装置及服务器 | |
US11042579B2 (en) | Method and apparatus for natural language query in a workspace analytics system | |
US8032823B2 (en) | Intent-based information processing and updates | |
KR102565673B1 (ko) | 시멘틱 표현 모델의 생성 방법, 장치, 전자 기기 및 저장 매체 | |
KR102694584B1 (ko) | 이벤트 추출 방법, 이벤트 추출 장치 및 전자 기기 | |
US11361002B2 (en) | Method and apparatus for recognizing entity word, and storage medium | |
CN111666380A (zh) | 一种智能呼叫方法、装置、设备和介质 | |
US20060235691A1 (en) | Intent-based information processing and updates in association with a service agent | |
CN114090755B (zh) | 基于知识图谱的回复语句确定方法、装置及电子设备 | |
CN110674260B (zh) | 语义相似模型的训练方法、装置、电子设备和存储介质 | |
US11727213B2 (en) | Automatic conversation bot generation using input form | |
CN112528001B (zh) | 一种信息查询方法、装置及电子设备 | |
CN114595686B (zh) | 知识抽取方法、知识抽取模型的训练方法及装置 | |
CN114860913B (zh) | 智能问答系统构建方法、问答处理方法及装置 | |
CN113836925A (zh) | 预训练语言模型的训练方法、装置、电子设备及存储介质 | |
CN113590776A (zh) | 基于知识图谱的文本处理方法、装置、电子设备及介质 | |
CN112559718A (zh) | 对话处理的方法、装置、电子设备和存储介质 | |
CN111090991A (zh) | 场景纠错方法、装置、电子设备和存储介质 | |
CN111708800A (zh) | 查询方法、装置及电子设备 | |
US11321531B2 (en) | Systems and methods of updating computer modeled processes based on real time external data | |
US12086555B2 (en) | Method for generating dialogue, electronic device, and storage medium | |
CN112466277A (zh) | 韵律模型训练方法、装置、电子设备及存储介质 | |
CN109344374A (zh) | 基于大数据的报表生成方法及装置、电子设备、存储介质 | |
CN113516491A (zh) | 推广信息展示方法、装置、电子设备及存储介质 | |
CN114490985A (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 |