CN116894085A - 对话生成方法及装置、电子设备和存储介质 - Google Patents
对话生成方法及装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN116894085A CN116894085A CN202310907170.7A CN202310907170A CN116894085A CN 116894085 A CN116894085 A CN 116894085A CN 202310907170 A CN202310907170 A CN 202310907170A CN 116894085 A CN116894085 A CN 116894085A
- Authority
- CN
- China
- Prior art keywords
- data
- dialogue
- knowledge
- topic
- dialog
- 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
- 238000000034 method Methods 0.000 title claims abstract description 113
- 230000004044 response Effects 0.000 claims abstract description 80
- 238000012545 processing Methods 0.000 claims abstract description 53
- 230000008569 process Effects 0.000 claims abstract description 26
- 230000000977 initiatory effect Effects 0.000 claims abstract description 24
- 230000015654 memory Effects 0.000 claims description 26
- 239000013598 vector Substances 0.000 claims description 17
- 238000004458 analytical method Methods 0.000 claims description 15
- 238000006243 chemical reaction Methods 0.000 abstract description 6
- 230000007704 transition Effects 0.000 abstract description 3
- 230000006854 communication Effects 0.000 description 17
- 238000004891 communication Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 16
- 230000003993 interaction Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 230000036651 mood Effects 0.000 description 8
- 230000008451 emotion Effects 0.000 description 6
- 230000011218 segmentation Effects 0.000 description 5
- 230000001364 causal effect Effects 0.000 description 4
- 239000011521 glass Substances 0.000 description 4
- 238000005065 mining Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000001816 cooling Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 241000287420 Pyrus x nivalis Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 210000004072 lung Anatomy 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000033764 rhythmic process Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
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/335—Filtering based on additional data, e.g. user or group profiles
- G06F16/337—Profile generation, learning or modification
-
- 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/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
-
- 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
- G06F40/295—Named entity recognition
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- Life Sciences & Earth Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Machine Translation (AREA)
Abstract
一种对话生成方法及装置、电子设备和存储介质。该对话生成方法包括:接收对话数据;根据对话数据,结合预设对话策略知识,确定对话数据的主题数据;利用语言生成模型对输入信息进行处理,得到当前对话数据对应的预测回应语句,其中,输入信息至少包括对话数据和主题数据,主题数据包括对话数据的当前主题和对应的预测主题,预测主题为预测回应语句的主题。在该对话生成方法中,显式融入对话主题转换的对话策略知识,使得主动对话发起的过程更加智能化、合理化,主动对话所发起的新话题和原有聊天内容承接过渡足够连贯,保证了主动对话发起的逻辑连贯性,提高了生成响应的内容丰富度,从而增强了主动对话的能力。
Description
技术领域
本公开的实施例涉及一种基于对话生成方法方法、对话生成方法装置、电子设备以及非瞬时性计算机可读存储介质。
背景技术
在人机交互对话场景,对话系统都是用户发起对话-机器回复的模式为主,交流过程中机器系统表现非常被动,很少主动发起新的聊天话题。随着智能交互设备越来越多样化,例如各种AR眼镜、智能音箱等以语音交互为主的交互设备,其在主动对话交互能力方面的表现是影响产品体验的显著因素。因此为了提升用户交互过程中对话体验,避免千篇一律的一问一答式回复带给用户的生硬感,需要在对话系统的回复话语中发起合适的主动对话。
主动对话是指,由机器主动引导话题跳转,依据对话中的相关属性来主导话题,机器侧发起的对话主题需要是符合用户感知的新话题,该新话题与原有对话中的主题相关但不同。
发明内容
本公开至少一实施例提供一种对话生成方法,包括:接收对话数据,其中,所述对话数据包括历史对话数据及当前对话数据;根据所述对话数据,结合预设对话策略知识,确定所述对话数据的主题数据;利用语言生成模型对输入信息进行处理,得到所述当前对话数据对应的预测回应语句,其中,所述输入信息至少包括所述对话数据和所述主题数据,所述主题数据包括所述对话数据的当前主题和对应的预测主题,所述预测主题为所述预测回应语句的主题。
例如,在本公开至少一实施例提供一种对话生成方法中,所述预设对话策略知识包括多个对话策略,每个对话策略包括具有对应关系的第一主题和第二主题,所述第一主题表示当前对话的主题,所述第二主题表示所述当前对话的下一轮主动对话的主题,根据所述对话数据,结合预设对话策略知识,确定所述对话数据的主题数据,包括:根据所述对话数据,提取所述对话数据的当前主题;根据所述当前主题,从所述预设对话策略知识包括的多个对话策略中,确定与所述当前主题相应的第一主题,将所述确定的第一主题对应的第二主题作为所述预测主题。
例如,在本公开至少一实施例提供一种对话生成方法中,根据所述对话数据,提取所述对话数据的当前主题,包括:利用线性判别分析方法对所述对话数据进行处理,提取所述当前主题。
例如,在本公开至少一实施例提供一种对话生成方法中,利用线性判别分析方法对所述对话数据进行处理,提取所述当前主题,包括:利用所述线性判别分析方法对所述对话数据进行处理,得到中间主题,其中,所述中间主题为基于主题知识确定的第二主题集合中的一个主题,所述预设对话策略知识中由第一主题组成的第一主题集合是所述第二主题集合的子集;对所述中间主题进行转换,得到所述中间主题在所述第二主题集合中对应的主题作为所述当前主题。
例如,在本公开至少一实施例提供一种对话生成方法中,所述输入信息还包括关联知识数据;利用语言生成模型对输入信息进行处理,得到所述当前对话数据对应的预测回应语句,包括:确定所述关联知识数据;利用所述语言生成模型对所述关联知识数据、所述主题数据和所述对话数据进行处理,得到所述当前对话数据对应的预测回应语句。
例如,在本公开至少一实施例提供一种对话生成方法中,确定所述关联知识数据,包括:获取预设知识信息,其中,所述预设知识信息包括百科知识信息和/或常识知识信息;根据所述预设知识信息和所述对话数据,确定所述关联知识数据。
例如,在本公开至少一实施例提供一种对话生成方法中,根据所述预设知识信息和所述对话数据,确定所述关联知识数据,包括:提取所述对话数据中的命名实体信息和/或关系信息;根据所述命名实体信息和/或所述关系信息,从所述预设知识信息中提取与所述对话数据相关的关联知识数据。
例如,在本公开至少一实施例提供一种对话生成方法中,所述百科知识信息表示为知识图谱形式,所述常识知识信息表示为包括多个常识知识项的多元组形式,根据所述命名实体信息和/或所述关系信息,从所述预设知识信息中提取与所述对话数据相关的关联知识数据,包括:响应于所述预设知识信息包括百科知识信息,根据所述命名实体信息和/或所述关系信息,从所述知识图谱形式的百科知识信息中确定命中的节点或边,基于所述知识图谱中所述命中的节点或边的预设范围内的数据得到所述关联知识数据;响应于所述预设知识信息包括常识知识信息,根据所述命名实体信息和/或所述关系信息,从所述多个常识知识项中确定命中的起始节点或关系名,确定所述关联知识数据包括所述命中的起始节点或关系名所在的常识知识项。
例如,在本公开至少一实施例提供一种对话生成方法中,所述知识图谱由多个表示实体的节点和表示实体间关系的边组成,根据所述命名实体信息和/或所述关系信息,从所述知识图谱形式的百科知识信息中确定命中的节点或边,基于所述知识图谱中所述命中的节点或边的预设范围内的数据得到所述关联知识数据,包括:根据所述命名实体信息和/或所述关系信息,从所述知识图谱包括的节点和边中确定命中的节点或边;将所述知识图谱中所述命中的节点或边周围预设范围内的数据按照时间顺序排列,将最接近所述当前对话数据发生时刻的预设时间范围内数据作为所述关联知识数据。
例如,在本公开至少一实施例提供一种对话生成方法中,所述语言生成模型包括编码器和解码器,利用所述语言生成模型对所述关联知识数据、所述主题数据和所述对话数据进行处理,得到所述当前对话数据对应的预测回应语句,包括:利用所述编码器对所述对话数据、所述主题数据和所述关联知识数据分别进行处理,得到所述对话数据对应的第一编码结果、所述主题数据对应的第二编码结果和所述关联知识数据对应的第三编码结果;利用所述解码器对所述第一编码结果、所述第二编码结果和所述第三编码结果的加权和进行处理,得到所述预测回应语句。
例如,在本公开至少一实施例提供一种对话生成方法中,在利用语言生成模型对输入信息进行处理,得到所述当前对话数据对应的预测回应语句前,所述对话生成方法还包括:结合所述对话数据和所述主题数据,判断是否生成所述当前对话数据对应的预测回应语句。
例如,在本公开至少一实施例提供一种对话生成方法中,结合所述对话数据和所述主题数据,判断是否生成所述当前对话数据对应的预测回应语句,包括:计算所述对话数据和所述当前主题之间的向量相似度,得到相似度值;响应于所述相似度值大于等于预设阈值,确定生成所述当前对话数据对应的预测回应语句;响应于所述相似度值小于所述预设阈值,确定不生成所述当前对话数据对应的预测回应语句。
例如,在本公开至少一实施例提供一种对话生成方法中,所述预设对话策略知识中包括基于用户画像建立的对话策略;所述用户画像通过发起所述对话数据的用户的用户数据建立,所述用户数据包括发起所述对话数据的时间、地点、场景或设备信息。
例如,在本公开至少一实施例提供一种对话生成方法中,所述历史对话数据为所述当前对话数据的上文,所述当前对话数据为用户当前发起的对话,所述预测回应语句为对所述用户当前发起的对话的回复,所述对话数据的当前主题与所述预测回应语句的预测主题不同。
本公开至少一实施例提供一种对话生成装置,包括:接收单元,配置为接收对话数据,其中,所述对话数据包括历史对话数据及当前对话数据;主题确定单元,配置为根据所述对话数据,结合预设对话策略知识,确定所述对话数据的主题数据;处理单元,配置为利用语言生成模型对输入信息进行处理,得到所述当前对话数据对应的预测回应语句,其中,所述输入信息至少包括所述对话数据和所述主题数据,所述主题数据包括所述对话数据的当前主题和对应的预测主题,所述预测主题为所述预测回应语句的主题。
本公开至少一实施例提供一种电子设备,包括:存储器,非瞬时性地存储有计算机可执行指令;处理器,配置为运行所述计算机可执行指令,其中,所述计算机可执行指令被所述处理器运行时实现根据本公开任一实施例所述的对话生成方法。
本公开至少一实施例提供一种非瞬时性计算机可读存储介质,其中,所述非瞬时性计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现根据本公开任一实施例所述的对话生成方法。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
图1是本公开一个示例性实施例提供的可以应用对话生成方法的系统架构图;
图2为本公开一实施例提供的一种对话生成方法的流程图;
图3为本公开至少一实施例提供的对话生成方法中步骤S30的示意性流程图;
图4为本公开一实施例提供的百科知识信息的知识图谱示意图;
图5为本公开至少一实施例提供的对话生成方法的处理流程示意图;
图6为本公开至少一实施例提供的一种对话生成装置的示意性框图;
图7为本公开一实施例提供的一种电子设备的示意性框图;
图8为本公开至少一实施例提供的一种非瞬时性计算机可读存储介质的示意图;
图9为本公开至少一实施例提供的一种硬件环境的示意图。
具体实施方式
为了使得本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。为了保持本公开实施例的以下说明清楚且简明,本公开省略了部分已知功能和已知部件的详细说明。
可以理解的是,本技术方案所涉及的数据(包括但不限于数据本身、数据的获取或使用)应当遵循相应法律法规及相关规定的要求。
可以理解的是,在使用本公开各实施例公开的技术方案之前,均应当根据相关法律法规通过适当的方式对本公开所涉及个人信息的类型、使用范围、使用场景等告知用户并获得用户的授权。
例如,在响应于接收到用户的主动请求时,向用户发送提示信息,以明确地提示用户,其请求执行的操作将需要获取和使用到用户的个人信息。从而,使得用户可以根据提示信息来自主地选择是否向执行本公开技术方案的操作的电子设备、应用程序、服务器或存储介质等软件或硬件提供个人信息。
作为一种可选的但非限制性的实现方式,响应于接收到用户的主动请求,向用户发送提示信息的方式,例如可以是弹窗的方式,弹窗中可以以文字的方式呈现提示信息。此外,弹窗中还可以承载供用户选择“同意”或“不同意”向电子设备提供个人信息的选择控件。
可以理解的是,上述通知和获取用户授权过程仅是示意性的,不对本公开的实现方式构成限定,其他满足相关法律法规的方式也可应用于本公开的实现方式中。
机器发起主动对话有很多难点,尤其主动发起新的话题需要依赖一定的知识联想,才能发起符合用户感知的新话题。
目前,主动对话可以通过相似检索模型完成。这种方式检索以往多轮对话记录,匹配到相似对话以后,将其后的一轮对话作为下一轮主动对话的主题发起。但是,这种方式对数据资源依赖较大,且由于依赖历史对话库,对话效果多样性较差。
主动对话也可以采用一些对话生成模型实现,例如端到端的对话生成模型,在编码阶段融合对话信息得到隐式向量,在解码阶段解析隐式向量生成新对话主题。但这种方式缺乏对话内容本身的显式主题挖掘和知识挖掘,而这两部分对于主动对话判别和后续知识关联具有关键作用,现有的对话生成模型通常只在编码阶段使用统一的编码器,编码后的隐式向量在知识关联阶段的可解释性和关联精度都不如显式知识挖掘的效果显著。反应到产品体验上,表现为机器主动发起的话题和原有聊天内容承接过渡不够连贯。
本公开至少一实施例提供一种对话生成方法,包括:接收对话数据,其中,对话数据包括历史对话数据及当前对话数据;根据对话数据,结合预设对话策略知识,确定对话数据的主题数据;利用语言生成模型对输入信息进行处理,得到当前对话数据对应的预测回应语句,其中,输入信息至少包括对话数据和主题数据,主题数据包括对话数据的当前主题和对应的预测主题,预测主题为预测回应语句的主题。
在该实施例的对话生成方法中,融合主题数据、当前对话数据和历史对话数据,显式融入对话主题转换的对话策略知识,使得主动对话发起的过程更加智能化、合理化,主动对话所发起的新话题和原有聊天内容承接过渡足够连贯,保证了主动对话发起的逻辑连贯性,提高了生成响应的内容丰富度,从而增强了主动对话的能力。
本公开至少一实施例提供的对话生成方法可应用于本公开实施例提供的对话生成装置,该对话生成装置可被配置于电子设备上。该电子设备可以是个人计算机、移动终端、可穿戴设备、车机、智能家居等,该移动终端可以是手机、平板电脑、笔记本电脑等硬件设备;可穿戴设备可以是AR(增强现实)眼镜、VR(虚拟现实)眼镜、MR(混合现实)眼镜、智能手表、智能耳机等;车机可以是集成到车载主机ECU中或者独立的设置在车载信息系统主机中;智能家居可以是智能音箱、智能电视等。
例如,对话生成方法可以应用于闲聊型对话系统、智能机器人、聊天机器人、汽车车内人机语音交互和手机语音助手等人机交互通信场合,本公开对此不作具体限制。不同于被动对用户问题进行反应的场景,应用该对话生成方法的主动对话装置或电子设备具有主动引导对话的能力。
下面结合附图对本公开的实施例进行详细说明,但是本公开并不限于这些具体的实施例。
图1是本公开一个示例性实施例提供的可以应用对话生成方法的系统架构图。需要注意的是,图1仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的系统架构100可以包括终端设备101、通信网络102和服务器103。通信网络102用以在终端设备101和服务器103之间提供通信链路的介质。通信网络102可以包括各种连接类型,例如有线或无线通信链路,例如WIFI、3G、4G、5G、光纤、电缆等。
用户可以使用终端设备101通过通信网络102与服务器103交互,以接收或发送消息。
终端设备101例如可以包括但不限于手机、平板电脑、台式计算机和便携式计算机等。在本公开的实施例中,终端设备101例如可以是装载有智能聊天功能的终端设备,例如,用户可以通过终端设备101发送文字或语音形式的对话数据,将对话数据发送至后台应用服务器进行对话生成。
服务器103可以是提供各种服务的服务器,例如对用户利用终端设备101所得到的对话数据进行处理的后台应用服务器(仅为示例)。后台应用服务器例如可以基于对话数据进行处理得到预测回应语句,并发送回终端设备101。
需要说明的是,本公开实施例所提供的对话生成方法例如可以由服务器103执行,相应地,本公开实施例所提供的对话生成装置例如可以设置于服务器103中。或者,本公开实施例所提供的对话生成方法例如可以由终端设备101执行,相应地,本公开实施例所提供的对话生成装置例如可以设置于终端设备101中。或者,本公开实施例所提供的对话生成方法也可以由不同于服务器103且能够与终端设备101或服务器103通信的服务器或服务器集群执行,相应地,本公开实施例所提供的对话生成装置一般可以设置于不同于服务器103且能够与终端设备101或服务器103通信的服务器或服务器集群中。
图2为本公开一实施例提供的一种对话生成方法的流程图。如图2所示,本公开至少一实施例提供的对话生成方法包括步骤S10至步骤S30。
在步骤S10,接收对话数据。
例如,对话数据包括历史对话数据及当前对话数据。
例如,历史对话数据为当前对话数据的上文,当前对话数据为用户当前发起的对话语句。
例如,当前对话数据可以是用户当前发送的对话语句,例如,对话语句可以是直接输入的文字形式,或者,对话语句可以是由用户语音经语音识别转换成的文字。
例如,历史对话数据可以是用户当前发送的对话语句之前发生的多轮对话,例如四个或五个对话语句。
例如,在一个场景中,存在如下对话:
A:你喜欢看电影吗?
B:喜欢啊,你喜欢看什么类型的电影?
A:张三的喜剧还不错。
其中,A表示用户发送的对话语句,B表示应用对话生成方法的机器或电子设备发送的对话语句,其中,“你喜欢看电影吗?”和“喜欢啊,你喜欢看什么类型的电影?”为历史对话数据,“张三的喜剧还不错”为当前对话数据。
当然,对话数据也可以仅包括当前对话数据,本公开对此不作具体限制。
例如,对话数据可以是文字形式,例如,对话数据可以来自输入的文字,或者,通过语音识别对语音转换得到的文字,本公开对对话数据的来源不作具体限制。
在步骤S20,根据对话数据,结合预设对话策略知识,确定对话数据的主题数据。
在步骤S30,利用语言生成模型对输入信息进行处理,得到当前对话数据对应的预测回应语句。
例如,输入信息至少包括对话数据和主题数据,主题数据包括对话数据的当前主题和对应的预测主题,预测主题为预测回应语句的主题。
在本公开至少一实施例提供的对话生成方法中,主动对话生成时能够显式融入预设对话策略知识,结合当前对话主题和预测的下一轮发起的主动对话的预测主题,使得主动对话发起的过程更加智能化、合理化,话题过渡更加连贯,保证了主动对话发起的逻辑连贯性,提高了生成响应的内容丰富度,从而增强了主动对话的能力。
例如,预设对话策略知识包括多个对话策略,每个对话策略包括具有对应关系的第一主题和第二主题,第一主题表示当前对话的主题,第二主题表示所述当前对话的下一轮主动对话的主题。
如下表1为一种预设对话策略知识的示意,表1中一行元素构成一个对话策略。
表1
策略标识符 | 主题标识符 | 第一主题 | 第二主题 |
P001 | T001 | 气候 | 养生 |
P002 | T002 | 情绪 | 音乐推荐 |
P003 | T002 | 情绪差 | 主动关怀 |
P004 | T005 | 聚会 | 休闲方式 |
…… | …… | …… | …… |
P1000 | T003 | 影视明星 | 影视推荐 |
在表1中,“策略标识符”用于指示不同的对话策略,每个对话策略具有唯一对应的策略标识符,例如,表1中的P001-P1000可以表示提供了1000个对话策略;“主题标识符”指示当前对话的主题,每个对话主题具有唯一对应的主题标识符;“第一主题”为用户当前发起的对话的主题,“第二主题”为预先设定的在当前对话之后紧接着要发起的下一轮对话的新主题,也即要跳转或引导的新话题的主题。
例如,预设对话策略知识可以从常用对话语料中进行聚类挖掘,也可由相关的产品策略人员进行补充。
例如,若判断当前对话的主题是“影视明星”,则可以引导话题跳转到“影视推荐”,“影视推荐”为要发起的下一轮对话的新主题。
例如,可以预先生成大量的对话策略组成预设对话策略知识并存储在数据库中。例如,对话策略可以对海量对话进行分析得到。
例如,步骤S20可以包括:根据对话数据,提取对话数据的当前主题;根据当前主题,从预设对话策略知识包括的多个对话策略中,确定与当前主题相应的第一主题,将确定的第一主题对应的第二主题作为预测主题。
例如,根据对话数据,提取对话数据的当前主题,可以包括:利用线性判别分析方法对对话数据进行处理,提取当前主题。
线性判别分析方法可以采用LDA(Linear Discriminant Analysis,线性判别分析)模型推测文档的主题分布。
在一个示例中,利用线性判别分析方法对对话数据进行处理以提取当前主题时,首先将对话数据(包括历史对话数据和当前对话数据)进行分词,得到分词后对话数据对应的分词集合;之后,计算分词集合中每个分词属于各个主题的概率;之后,计算各个主题对应的概率乘积,例如,将分词集合中所有分词属于某主题的概率相乘,得到该主题对应的概率乘积;最后,将各个主题对应的概率乘积中的最大值对应的主题作为当前主题,这里,“各个主题”为预先设定的可能的M个主题,M为正整数,例如M为1000。
当然,本公开不限于此,也可以采用其它可行的分析方法提取对话数据的当前主题,这里不再一一描述。
例如,在一些实施例中,对话生成方法还提供有主题知识,主题知识包括多个主题知识项,每个主题知识项包括主题名称和该主题名称可能对应的主题词汇,也即在对话数据中出现某主题词汇时,可能表示该对话数据的主题是该主题词汇对应的主题名称。
表2为一种主题知识的示意,表2中一行元素构成一个主题知识项。
表2
在表2中,“主题标识符”指示当前对话的主题,每个对话主题具有唯一对应的主题标识符,例如,在同一个对话生成系统中,相同主题在表2中的主题标识符和表1中的主题标识符相同;主题名称表示当出现对应的主题词汇时,该对话的当前主题为主题名称指示的主题,例如,当对话中出现“明星”、“电影”、“喜剧”等词汇时,表示该对话的当前主题为“影视明星”。
例如,主题知识可以利用海量对话文本分词后的语料,使用无监督主题聚类模型(例如LDA模型)按照指定的主题数量进行聚类,聚类结果即为主题知识。
例如,在一些实施例中,通过聚类对海量对话文本进行处理后,可以得到大量的主题知识项,而预设对话策略知识包括的对话策略的数量可能小于主题知识项的数量,从而预设对话策略知识中的第一主题无法全面覆盖主题知识中的主题名称,例如,预设对话策略知识中由第一主题组成的第一主题集合是主题知识中由主题名称组成的第二主题集合的子集。
例如,第二主题集合里的多个主题名称可以对应第一主题集合中的同一个主题,这种对应关系可以由表1中的策略标识符和主题标识符表示。例如,第二主题集合中的多个主题名称对应同一个相关性最大的第一主题,也即在预设对话策略知识中,这些主题名称的主题标识符都对应同一个策略标识符,属于一个对话策略。例如,主题知识中的“影视娱乐”、“娱乐明星”、“喜剧电影”等都对应预设策略知识中的第一主题“影视明星”。
例如,利用线性判别分析方法对所述对话数据进行处理,提取所述当前主题,可以包括:利用线性判别分析方法对对话数据进行处理,得到中间主题,其中,中间主题为基于主题知识确定的第二主题集合中的一个主题,预设对话策略知识中由第一主题组成的第一主题集合是第二主题集合的子集;对中间主题进行转换,得到中间主题在第二主题集合中对应的主题作为当前主题。
例如,先基于主题知识,利用线性判别分析方法对对话数据进行处理,提取得到中间主题,该中间主题为主题知识中某个主题知识项中的主题名称;之后,对中间主题进行主题转换,将其转换为预设对话策略知识中由第一主题组成的第一主题集合里对应的某个主题,该主题作为当前主题。
例如,预设对话策略知识可以根据实际情况不断扩充、更新、拓展。存在多种方式可以实现对预设对话策略知识的调整,例如通过联网定期或不定期或实时的进行扩充、更新等。相应的,可以更新预设对话策略知识中的第一主题与主题知识中的主题的对应关系,以将中间主题转换为当前主题。例如,此时预设对话策略知识的更新不会影响LDA模型的参数,LDA模型可以基于主题知识进行训练,将对话数据的分词集合输入LDA模型后可以得到中间主题,之后结合更新的对应关系对中间主题进行主题转换,得到当前主题,由此,可以避免更新、补充预设对话策略知识时需要对线性判别分析模型进行重新训练、调整。
例如,在得到当前主题后,从预设对话策略知识包括的多个对话策略中,寻找与当前主题匹配的第一主题,然后,将该第一主题对应的第二主题作为对用户的当前对话数据进行回复的预测回应语句的预测主题。例如,根据对话数据提取得到对话数据的当前主题是“影视明星”,如表1所示的预设对话策略知识,找到对应的策略标识符为P1000的第一主题“影视明星”,并确定预测主题是“影视明星”对应的第二主题“影视推荐”。
例如,在得到当前主题、预测主题后,可以将主题数据与对话数据相融合,得到当前对话数据对应的预测回应语句,该预测回应语句为对当前对话数据的主动回复,该预测回应语句的主题为引导的新主题,也即预测主题与当前主题不同。通过显式的引入主题信息,明确预测回应语句的主题,从而在知识关联阶段有很强的可解释性和很高的关联精度,能显著改善主动对话的连贯性。
例如,语言生成模型包括编码器和解码器,例如,语言生成模型可以采用UniLM(Unified Language Model,统一语言模型)结构的编码解码网络。其中,编码部分基于预训练的语言生成模型编码各种来源的异构数据,如对话数据、主题数据等,并将对其编码转换为隐式向量(编码结果);解码部分联合解码器状态向量和上述隐式向量,采用束搜索(BeamSearch)方法对主动发起的下一轮的对话内容进行预测,得到预测回应语句。
尽管前述以UniLM为例,其它的基于Bert的语言生成模型,也可适用于本公开的实施例。
例如,语言生成模型还可以是只包括解码器的,如只有解码器的Transformer架构及其衍生的各种大语言模型LLM,如各种GPT模型。
例如,在一些实施例中,步骤S30可以包括:利用编码器对对话数据、主题数据分别进行处理,得到对话数据对应的第一编码结果和主题数据对应的第二编码结果;利用解码器对第一编码结果和第二编码结果的加权和进行处理,得到预测回应语句。
例如,在一些示例中,还可以显式地引入外部知识增强主动对话能力,以避免隐式地引入知识造成主动对话的概率不确定,可控性和可解释性较差的问题。
图3为本公开至少一实施例提供的对话生成方法中步骤S30的示意性流程图。
例如,输入信息还包括关联知识数据,如图3所示,步骤S30可以包括步骤S301和步骤S302。
在步骤S301,确定关联知识数据。
在步骤S302,利用语言生成模型对关联知识数据、主题数据和对话数据进行处理,得到当前对话数据对应的预测回应语句。
例如,步骤S301可以包括:获取预设知识信息,其中,预设知识信息包括百科知识信息和/或常识知识信息;根据预设知识信息和对话数据,确定关联知识数据。
例如,根据预设知识信息和对话数据,确定关联知识数据,可以包括:提取对话数据中的命名实体信息和/或关系信息;根据命名实体信息和/或关系信息,从预设知识信息中提取与对话数据相关的关联知识数据。
例如,常识知识信息用来提供日常对话可能涉及的各类关联事物和概念的因果传承关系。例如,常识知识信息可以采用包括多个常识知识项的多元组的形式表示,例如每个常识知识项为三元组或两元组。例如,在三元组形式中,每个常识知识项由起始节点、关系名和终点节点组成,例如,在二元组形式中,每个常识知识项由起始节点和终点节点组成。
表3为一种三元组形式的常识知识信息的示意,表3中一行元素构成一个常识知识项。
表3
起始节点 | 关系名 | 终点节点 |
冷空气 | 因果 | 降温 |
降温 | 因果 | 保暖 |
降温 | 因果 | 换季养生 |
雪花梨 | 属于 | 润肺水果 |
秋裤 | 属于 | 保暖衣物 |
看电影 | 属于 | 休闲方式 |
... | ... | ... |
例如,常识知识信息的构建可以基于开源常识知识库,如知网(HowNet)。例如,常识知识信息可以存储在数据库中,在使用时调用。
例如,百科知识信息用于提供各个学科、领域的知识,可以涵盖能源科学、环境科学、国际政治等学术领域,或者影视娱乐、音乐、艺术等领域。百科知识信息主要通过垂类知识图谱挖掘建设,百科知识信息可以表示为知识图谱形式或者多元组形式。
例如,百科知识信息可以来源于各类论文和知识数据库,如中国知网(CNKI)、万方数据库(WANFANG)、维基百科(Wikipedia)、百度百科等。
例如,常识知识和百科知识的构建还可以来源于各种互联网知识。
表4为一种三元组形式的百科知识信息的示意。
表4
起始节点 | 关系名 | 终点节点 |
《一二三四》 | 主演 | 张三 |
《一二三四》 | 类型 | 喜剧片 |
《一二三四》 | 上映时间 | 2022.8.25 |
... | ... | ... |
如表4中第一行所示,起始节点为“《一二三四》”,关系为“主演”,终点节点为“张三”,表示电影《一二三四》的主演为张三,以此类推。
图4为本公开一实施例提供的百科知识信息的知识图谱示意图,关于百科知识信息可以参考的图4相关描述,这里不再赘述。
例如,可以利用命名实体识别模型(Named Entity Recognition,简称NER)提取对话数据中的命名实体信息,命名实体信息包括多个命名实体(词槽)、命名实体的位置、类型等,命名实体体现了对话数据中的关键词信息。
例如,可以采用关系抽取模型提取对话数据中关系信息,例如,关系信息可以体现为表3或表4中的关系名的形式。
例如,根据命名实体信息和/或关系信息,从预设知识信息中提取与对话数据相关的关联知识数据,可以包括:响应于预设知识信息包括百科知识信息,根据命名实体信息和/或关系信息,从知识图谱形式的百科知识信息中确定命中的节点或边,基于知识图谱中命中的节点或边的预设范围内的数据得到关联知识数据;响应于预设知识信息包括常识知识信息,根据命名实体信息和/或关系信息,从多个常识知识项中确定命中的起始节点或关系名,确定关联知识数据包括命中的起始节点或关系名所在的常识知识项。
例如,在一个示例中,预设知识信息包括多元组形式的常识知识信息,常识知识信息可以参考表3相关描述,这里不再赘述。
例如,在提取常识知识信息中的关联知识数据时,根据命名实体信息中的命名实体和关系信息中的关系名,从多个常识知识项中寻找命中的常识知识项,例如,命名实体命中一个或多个常识知识项中的起始节点,关系信息中的关系名命中一个或多个常识知识项中的关系名,将这些命中的常识知识项作为关联知识数据。
例如,知识图谱由多个表示实体的节点和表示实体间关系的边组成,根据命名实体信息和/或关系信息,从知识图谱形式的百科知识信息中确定命中的节点或边,基于知识图谱中命中的节点或边的预设范围内的数据得到关联知识数据,可以包括:根据命名实体信息和/或关系信息,从知识图谱包括的节点和边中确定命中的节点或边;将知识图谱中命中的节点或边周围预设范围内的数据按照时间顺序排列,将最接近当前对话数据发生时刻的预设时间范围内数据作为关联知识数据。
例如,在一个示例中,预设知识信息包括知识图谱形式的百科知识信息,图4为本公开一实施例提供的百科知识信息的知识图谱示意图。
如图4所示,空心圆表示节点,连接空心圆的线段表示节点之间的关系。例如,节点“张三”与“《一二三四》”的关系为“主演”,关系由连接节点“张三”与“《一二三四》”的边表示;节点“《一二三四》”与“喜剧片”的关系是“类型”,节点“《一二三四》”与“2022.8.25”的关系是“上映时间”,其它节点及边的含义不再重复说明。
例如,在提取百科知识信息中的关联知识数据时,根据命名实体信息和/或关系信息确定知识图谱中命中的节点(实体)及边(关系),然后将命中的节点或边周围一定范围(例如步长2或3范围内)的数据作为关联知识数据。
例如,为进一步提高预测回应语句的对话质量,可以将命中的节点或边周围一定范围的数据按照时间顺序排列,将发生时间最接近当前时刻的一条或多条数据作为关联知识数据。
例如,提取的实体信息是“张三:人名”,通过上述过程在百科知识的知识图谱中提取与“张三”有关的知识信息,得到关联知识数据{(《一二三四》,主演,张三),(《一二三四》,电影类型,喜剧片)}。
例如,若百科知识信息为多元组形式,则确定百科知识信息中的关联知识数据的过程与常识知识信息相似,这里不再赘述。
例如,在一个示例中,预设知识信息既包括常识知识信息也包括百科知识信息,则关联知识数据可以包括由上述过程得到的与百科知识信息和常识知识信息相关联的知识信息,具体过程不再赘述。
在该实施例中,将提取的对话数据中的命名实体信息和关系信息与知识图谱、多元组相关联,提取其中有相邻关系的相关知识信息,从而可以嵌入有价值的外部知识联合对话数据、主题数据共同构建主动回复,较好融合显式的主题知识和关联知识,在知识关联阶段有很强的可解释性和很高的关联精度,能显著改善主动对话的连贯性,提高了生成响应的内容丰富度,从而大大增强了主动对话的能力。
例如,在一些实施例中,语言生成模型的编码部分基于预训练的语言生成模型编码对话数据、主题数据和关联知识数据,并将对其编码转换为隐式向量(编码结果);解码部分联合解码器状态向量和上述隐式向量,采用束搜索(Beam Search)方法对主动发起的下一轮的对话内容进行预测,得到预测回应语句。
例如,步骤S302可以包括:利用编码器对对话数据、主题数据和关联知识数据分别进行处理,得到对话数据对应的第一编码结果、主题数据对应的第二编码结果和关联知识数据对应的第三编码结果;利用解码器对第一编码结果、第二编码结果和第三编码结果的加权和进行处理,得到预测回应语句。
例如,编码器的编码融合公式如下:
其中,Embcombine表示融合后的编码结果,该编码结果输入解码器进行处理;a1,a2和a3表示权重,例如a1,a2和a3可以相等且均为1,或者也可以根据需要设置成不相等的值;Emb(UO∪UQ)表示第一编码结果,UO表示历史对话数据,UQ表示当前对话数据,∪表示取并集; 表示第二编码结果,TP表示当前主题,/>表示下一轮主题;Emb(Kj)表示第三编码结果,Kj表示关联知识数据。
之后,将融合后的编码结果Embcombine输入解码器,生成最佳个性化的预测回应语句,将预测回应语句以文字形式或转换成语音形式输出给用户,完成一轮主动对话回复。
在该实施例中,显式的关联知识数据、对话策略知识和对话数据,将关联知识数据、主题数据和对话数据编码得到的隐式向量全部合并输入到语言生成模型的编码器,充分利用了大规模预训练语言模型的生成能力和知识图谱的常识推理能力和内容扩展能力,保证了生成结果的质量和多样性,能显著提升对话交互系统的智能化体验。
例如,在一些实施例中,预设对话策略知识中包括基于用户画像建立的对话策略,用户画像通过发起对话数据的用户的用户数据建立。例如,用户数据包括发起对话数据的时间、地点、场景或设备信息,例如,还可以包括构建的用户心情、状态、职业关系等信息。通过基于用户画像确定的对话策略,在确定预测主题时可以提供更加个性化的预测回应语句,显著提升对话交互系统的智能化体验。
例如,在第一时刻发生了与用户1之间的对话:
A:今天好郁闷啊,工作一点进展都没有,怎么办?
B:要不我给你放一个轻音乐放松一下心情吧,心情不好的时候要给自己充点电噢。
具体的,参考步骤S20,识别的用户1的对话数据的当前主题为“情绪”,命中策略P002,从而确定预测主题为“音乐推荐”,之后参考步骤S30得到预测回应语句“要不我给你放一个轻音乐放松一下心情吧,心情不好的时候要给自己充点电噢”。并且,将“情绪差”的对话主题记录在用户1的用户画像中。
之后,在第二时刻接收到用户1发送的对话数据“你好呀”,由于用户画像提供了用户1存在24小时以内的“情绪差”对话主题,则可以根据对话策略,确定预测主题为“情绪关怀”,并基于预测主题确定预测回应语句,例如预测回应语句可以是“昨天你心情不太好,今天感觉好些了吗?”。
通过增加与用户画像相关的对话策略,可以针对不同用户生成更加个性化的主动回复,显著提升对话交互系统的智能化体验。
目前的主动对话系统缺少单独的主动对话判别功能,不能有效控制主动对话的发起节奏,也不方便在是否发起主动对话环节引入对话策略管理模块,无法根据场景有选择地发起主动对话,而不是全部发起主动对话,降低了智能对话机器人的产品体验。
在本公开至少一实施例提供的对话生成方法中,还包括:结合对话数据和主题数据,判断是否生成当前对话数据对应的预测回应语句。
在该实施例中,在执行完步骤S10和S20后,通过结合历史对话数据、当前对话数据及主题数据,判断是否符合主动对话的发起条件;当判定结果为不满足发起条件时,则当前对话不触发主动对话,例如仍可沿用原有的问-答模式,即对用户的提问给出对应的答案;当判定结果为满足发起条件时,则进入主动对话生成部分,也即执行前述步骤S30。
例如,结合对话数据和主题数据,判断是否生成当前对话数据对应的预测回应语句,可以包括:计算对话数据和当前主题之间的向量相似度,得到相似度值;响应于相似度值大于等于预设阈值,确定生成当前对话数据对应的预测回应语句;响应于相似度值小于预设阈值,确定不生成当前对话数据对应的预测回应语句。
向量相似度的计算公式如下所示:
simscore(UO∪UQ,TP)=E(UO∪UQ)·E(TP) (公式2)
其中,simscore(UO∪UQ,TP)表示对话数据和当前主题之间的向量相似度的相似度值,E(UO∪UQ)表示对话数据的编码结果,E(TP)表示当前主题的编码结果,·表示点积计算,计算对话数据和当前主题的编码结果可以使用开源的bert(Bidirectional EncoderRepresentation from Transformers,转换器的双向编码表示)编码器。
在得到相似度值后,将相似度值与预设阈值(例如0.5)进行比较,若相似度值大于等于预设阈值,判断可以发起主动对话,确定生成当前对话数据对应的预测回应语句,继续执行步骤S30;若相似度值小于预设阈值,判断不需要发起主动对话,例如,可以执行常规的问-答模式对话。
表5为本公开至少一实施例提供的主动对话判别的示意。
表5
例如,对于标识符为UQ001的当前对话数据“今天发生的事情真是有戏剧性”,假设对UQ001提取的当前主题为“影视明星”,计算得到的对话数据与当前主题的相似度值为0.46,小于预设阈值0.5,因此判断对于该当前对话数据不需要发起主动对话;对于标识符为UQ003的当前对话数据“要不要这么搞笑啊”,假设对UQ003提取的当前主题为“影视明星”,计算得到的对话数据与当前主题的相似度值为0.35,小于预设阈值0.5,因此判断对于该当前对话数据不需要发起主动对话;对于标识符为UQ002的当前对话数据“张三的喜剧还不错”,其与当前主题的相似度值为0.89,大于预设阈值0.5,因此判断对于该当前对话数据需要发起主动对话。
在该实施例中,通过独立的主动对话判别作为开关,方便接入任何现有对话系统中,具有很强的灵活性或扩展性;在主动对话判别和预测回应语句生成阶段均充分利用了对话内外部包含的各种知识,使得主动对话发起的过程更加智能化、合理化,保证了主动对话发起的逻辑连贯性,提高了生成响应的内容丰富度,从而增强了主动对话的能力。
图5为本公开至少一实施例提供的对话生成方法的处理流程示意图。
例如,在一个示例中,对话数据如下:
A(UO):你喜欢看电影吗?
B(UO):喜欢啊,你喜欢看什么类型的电影?
A(UQ):张三的喜剧还不错。
其中,UO表示历史对话数据,UQ表示当前对话数据,A表示用户发送的对话语句,B表示应用对话生成方法的机器或电子设备发送的对话语句。下面结合图5,以该示例的对话数据为例具体说明本公开至少一实施例提供的对话生成方法的处理过程,以生成对用户的当前对话语句“张三的喜剧还不错”的预测回应语句。
首先,如图5所示,对对话数据进行信息抽取,得到命名实体信息、关系信息和当前主题。
例如,在得到对话数据后,对当前对话数据和历史对话数据进行分词,得到分词集合。
例如,对分词集合应用实体识别模型提取对话数据中的命名实体信息,例如,提取得到命名实体“张三:人名”;对分词集合应用关系抽取模型提取对话数据中的关系信息,例如,提取得到关系信息为空。
例如,对分词集合应用线性判别模型得到当前对话数据的当前主题,例如“影视明星”;例如,还可以先结合主题知识,利用线性判别模型得到当前对话数据的中间主题,例如“喜剧电影”,结合表2,“喜剧电影”的主题标识符为T4999,对中间主题进行主题转换,将其转换到预设对话策略知识中的第一主题能够覆盖的主题,例如转换为表1中的“影视明星”作为当前主题,其主题标识符为T003。关于获得当前主题的具体过程可以参考步骤S20的相关描述,这里不再赘述。
之后,结合预设对话策略知识,依据当前主题确定预测主题。例如,依据当前主题“影视明星”的主题标识符T003,确定命中策略标识符P1000,将策略标识符P1000的对话策略中的第二主题“影视推荐”作为预测主题。关于获得预测主题的具体过程可以参考步骤S20的相关描述,这里不再赘述。
之后,结合对话数据和主题数据(当前主题和预测主题),判断是否进行后续的主动对话生成。
例如,按照公式2计算得到对话数据和当前主题之间的向量相似度,得到相似度值。例如,如表5所示,计算得到的相似度值大于预设阈值(UQ002),因此判断发起主动对话,执行后续的主动对话生成。当然,若计算得到的相似度值小于预设阈值,确定不发起主动对话,例如可以执行问-答模式得到回复,输出回复语句。
之后,执行主动对话的生成。
例如,依据提取的命名实体信息和关系信息,从预设指示信息中提取与对话数据相关的关联知识数据。
例如,预设知识信息包括百科知识信息,百科知识信息的知识图谱如图4所示。如前所述,从对话数据中提取的命名实体信息为“张三:人名”,关系信息为空。结合图4中的百科知识信息的知识图谱,寻找节点“张三”周围步长为3(最远相距三个节点)的范围内的数据,并选择出最接近当前时刻的数据作为关联知识数据,例如,提取得到的关联知识数据Kj={(《一二三四》,主演,张三),(《一二三四》,电影类型,喜剧片)}。详细描述可以参考步骤S301的相关描述,这里不再赘述。
之后,利用语言生成模型中的编码器对主题数据(当前主题和预测主题)、关联知识数据和对话数据进行编码,得到对话数据对应的第一编码结果、主题数据对应的第二编码结果和关联知识数据对应的第三编码结果。
之后,计算第一编码结果、第二编码结果和第三编码结果的加权和,以显式融合关联知识数据、对话数据和主题数据,将融合的编码结果输入语言生成模型中的解码器,联合解码器状态向量由解码器预测得到预测回应语句。例如,解码器得到的预测回应语句为“是呀,最近他主演的《一二三四》上映了,挺有意思的。”
在本公开至少一实施例提供的对话生成方法中,提供了专门的主动对话判别过程,该过程结合对话数据及主题数据,判断当前场景下是否符合主动对话的发起条件,并作为开关,方便接入任何现有的对话系统中,具有很强的灵活性或扩展性;基于对话数据抽取主题数据,并基于预设知识信息抽取有价值的关联知识数据,其对于主动对话判别和后续的主动对话生成都具有关键作用;并且,在主动对话生成阶段显式引入了百科知识、常识知识等,还特别添加了主题主句,以显式融入对话策略知识,使得主动对话发起的过程更加智能化和合理化,保证了主动对话发起的逻辑连贯性,提高了生成响应的内容丰富度,从而大大增强了主动对话的能力;此外,显式的关联知识数据、对话策略知识和对话数据,将关联知识数据、主题数据和对话数据编码得到的隐式向量全部合并输入到语言生成模型的编码器,充分利用了大规模预训练语言模型的生成能力和知识图谱的常识推理能力和内容扩展能力,保证了生成结果的质量和多样性。
本公开至少一实施例还提供一种对话生成装置,图6为本公开至少一实施例提供的一种对话生成装置的示意性框图。
如图6所示,对话生成装置200可以包括接收单元201、主题确定单元202和处理单元203。这些组件通过总线系统和/或其它形式的连接机构(未示出)互连。应当注意,图6所示的对话生成装置200的组件和结构只是示例性的,而非限制性的,根据需要,对话生成装置200也可以具有其他组件和结构。
例如,这些模块可以通过硬件(例如电路)模块、软件模块或二者的任意组合等实现,以下实施例与此相同,不再赘述。例如,可以通过中央处理单元(CPU)、对话生成器(GPU)、张量处理器(TPU)、现场可编程逻辑门阵列(FPGA)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元以及相应计算机指令来实现这些单元。
例如,接收单元201配置为接收对话数据,其中,所述对话数据包括历史对话数据及当前对话数据。
例如,接收单元201可以包括存储器,存储器存储有历史对话数据。例如,接收单元201还可以包括录音装置,以获得音频片段,此外,接收单元201还可以包括音频转换模块,用于将接收的音频片段转换为文字形式的对话数据。例如,接收单元201可以为硬件、软件、固件以及它们的任意可行的组合。
例如,主题确定单元202配置为根据所述对话数据,结合预设对话策略知识,确定所述对话数据的主题数据。
例如,处理单元203配置为利用语言生成模型对输入信息进行处理,得到所述当前对话数据对应的预测回应语句。
语言生成模型包括编码器和解码器,需要说明的是,对语言生成模型与上述对话生成方法的实施例中的语言生成模型的结构和功能相同,在此不再赘述。
需要说明的是,接收单元201可以用于实现图2所示的步骤S10,主题确定单元202可以用于实现图2所示的步骤S20,处理单元203可以用于实现图2所示的步骤S30。从而关于接收单元201、主题确定单元202和处理单元203能够实现的功能的具体说明可以参考上述对话生成方法的实施例中的步骤S10至步骤S30的相关描述,重复之处不再赘述。此外,对话生成装置200可以实现与前述对话生成方法相似的技术效果,在此不再赘述。
图7为本公开一实施例提供的一种电子设备的示意性框图。如图7所示,该电子设备300例如适于用来实施本公开实施例提供的对话生成方法。应当注意,图7所示的电子设备300的组件只是示例性的,而非限制性的,根据实际应用需要,该电子设备300还可以具有其他组件。
如图7所示,电子设备300可以包括处理装置(例如中央处理器、图形处理器等)301,其可以根据存储在存储器中的非暂时性计算机可读指令执行各种适当的动作和处理,以实现各种功能。
例如,计算机可读指令被处理装置301运行时可以执行根据上述任一实施例所述的对话生成方法中的一个或多个步骤。需要说明的是,关于对话生成方法的处理过程的详细说明可以参考上述对话生成方法的实施例中的相关描述,重复之处不再赘述。
例如,存储器可以包括一个或多个计算机程序产品的任意组合,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)303和/或高速缓冲存储器(cache)等,例如,计算机可读指令可以从存储装置308加载到随机存取存储器(RAM)303中以运行计算机可读指令。非易失性存储器例如可以包括只读存储器(ROM)302、硬盘、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、闪存等。在计算机可读存储介质中还可以存储各种应用程序和各种数据,例如风格图像、以及应用程序使用和/或产生的各种数据等。
例如,处理装置301、ROM 302以及RAM 303通过总线304彼此相连。输入/输出(I/O)接口305也连接至总线304。
通常,以下装置可以连接至I/O接口305:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置306;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置307;包括例如磁带、硬盘、闪存等的存储装置308;以及通信装置309。通信装置309可以允许电子设备300与其他电子设备进行无线或有线通信以交换数据。虽然图7示出了具有各种装置的电子设备300,但应理解的是,并不要求实施或具备所有示出的装置,电子设备300可以替代地实施或具备更多或更少的装置。例如,处理器301可以控制电子设备300中的其它组件以执行期望的功能。处理器301可以是中央处理单元(CPU)、张量处理器(TPU)或者图形处理器GPU等具有数据处理能力和/或程序执行能力的器件。中央处理器(CPU)可以为X86或ARM架构等。GPU可以单独地直接集成到主板上,或者内置于主板的北桥芯片中。GPU也可以内置于中央处理器(CPU)上。
图8为本公开至少一实施例提供的一种非瞬时性计算机可读存储介质的示意图。例如,如图8所示,存储介质400可以为非瞬时性计算机可读存储介质,在存储介质400上可以非暂时性地存储一个或多个计算机可读指令401。
例如,该存储介质400可以应用于上述电子设备中,例如,该存储介质400可以包括电子设备中的存储器。
例如,存储介质可以包括智能电话的存储卡、平板电脑的存储部件、个人计算机的硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、闪存、或者上述存储介质的任意组合,也可以为其他适用的存储介质。
例如,关于存储介质400的说明可以参考电子设备的实施例中对于存储器的描述,重复之处不再赘述。
图9为本公开至少一实施例提供的一种硬件环境的示意图。本公开提供的电子设备可以应用在互联网系统。
利用图9中提供的计算机系统可以实现本公开中涉及的图像处理装置和/或电子设备的功能。这类计算机系统可以包括个人电脑、笔记本电脑、平板电脑、手机、个人数码助理、智能眼镜、智能手表、智能指环、智能头盔及任何智能便携设备或可穿戴设备。本实施例中的特定系统利用功能框图解释了一个包含用户界面的硬件平台。这种计算机设备可以是一个通用目的的计算机设备,或一个有特定目的的计算机设备。两种计算机设备都可以被用于实现本实施例中的图像处理装置和/或电子设备。计算机系统可以包括实施当前描述的实现图像处理所需要的信息的任何组件。例如,计算机系统能够被计算机设备通过其硬件设备、软件程序、固件以及它们的组合所实现。为了方便起见,图9中只绘制了一台计算机设备,但是本实施例所描述的实现图像处理所需要的信息的相关计算机功能是可以以分布的方式、由一组相似的平台所实施的,分散计算机系统的处理负荷。
如图9所示,计算机系统可以包括通信端口250,与之相连的是实现数据通信的网络,例如,计算机系统可以通过通信端口250发送和接收信息及数据,即通信端口250可以实现计算机系统与其他电子设备进行无线或有线通信以交换数据。计算机系统还可以包括一个处理器组220(即上面描述的处理器),用于执行程序指令。处理器组220可以由至少一个处理器(例如,CPU)组成。计算机系统可以包括一个内部通信总线210。计算机系统可以包括不同形式的程序储存单元以及数据储存单元(即上面描述的存储器或存储介质),例如硬盘270、只读存储器(ROM)230、随机存取存储器(RAM)230,能够用于存储计算机处理和/或通信使用的各种数据文件,以及处理器组220所执行的可能的程序指令。计算机系统还可以包括一个输入/输出组件260,输入/输出组件260用于实现计算机系统与其他组件(例如,用户界面280等)之间的输入/输出数据流。
通常,以下装置可以连接输入/输出组件260:例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置;例如显示器(例如,LCD、OLED显示器等)、扬声器、振动器等的输出装置;包括例如磁带、硬盘等的存储装置;以及通信接口。
虽然图9示出了具有各种装置的计算机系统,但应理解的是,并不要求计算机系统具备所有示出的装置,可以替代地,计算机系统可以具备更多或更少的装置。
本领域技术人员能够理解,本公开所披露的内容可以出现多种变型和改进。例如,以上所描述的各种设备或组件可以通过硬件实现,也可以通过软件、固件、或者三者中的一些或全部的组合实现。
此外,虽然本公开对根据本公开的实施例的系统中的某些单元做出了各种引用,然而,任何数量的不同单元可以被使用并运行在客户端和/或服务器上。单元仅是说明性的,并且系统和方法的不同方面可以使用不同单元。
本公开中使用了流程图用来说明根据本公开的实施例的方法的步骤。应当理解的是,前面或后面的步骤不一定按照顺序来精确的进行。相反,可以按照倒序或同时处理各种步骤。同时,也可以将其他操作添加到这些过程中。
本领域普通技术人员可以理解上述方法中的全部或部分的步骤可通过计算机程序来指令相关硬件完成,程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本公开并不限制于任何特定形式的硬件和软件的结合。
除非另有定义,这里使用的所有术语具有与本公开所属领域的普通技术人员共同理解的相同含义。还应当理解,诸如在通常字典里定义的那些术语应当被解释为具有与它们在相关技术的上下文中的含义相一致的含义,而不应用理想化或极度形式化的意义来解释,除非这里明确地这样定义。
以上是对本公开的说明,而不应被认为是对其的限制。尽管描述了本公开的若干示例性实施例,但本领域技术人员将容易地理解,在不背离本公开的新颖教学和优点的前提下可以对示例性实施例进行许多修改。因此,所有这些修改都意图包含在权利要求书所限定的本公开范围内。应当理解,上面是对本公开的说明,而不应被认为是限于所公开的特定实施例,并且对所公开的实施例以及其他实施例的修改意图包含在所附权利要求书的范围内。本公开由权利要求书及其等效物限定。
Claims (17)
1.一种对话生成方法,包括:
接收对话数据,其中,所述对话数据包括历史对话数据及当前对话数据;
根据所述对话数据,结合预设对话策略知识,确定所述对话数据的主题数据;
利用语言生成模型对输入信息进行处理,得到所述当前对话数据对应的预测回应语句,
其中,所述输入信息至少包括所述对话数据和所述主题数据,所述主题数据包括所述对话数据的当前主题和对应的预测主题,所述预测主题为所述预测回应语句的主题。
2.根据权利要求1所述的对话生成方法,其中,所述预设对话策略知识包括多个对话策略,每个对话策略包括具有对应关系的第一主题和第二主题,所述第一主题表示当前对话的主题,所述第二主题表示所述当前对话的下一轮主动对话的主题,
根据所述对话数据,结合预设对话策略知识,确定所述对话数据的主题数据,包括:
根据所述对话数据,提取所述对话数据的当前主题;
根据所述当前主题,从所述预设对话策略知识包括的多个对话策略中,确定与所述当前主题相应的第一主题,将所述确定的第一主题对应的第二主题作为所述预测主题。
3.根据权利要求2所述的对话生成方法,其中,根据所述对话数据,提取所述对话数据的当前主题,包括:
利用线性判别分析方法对所述对话数据进行处理,提取所述当前主题。
4.根据权利要求3所述的对话生成方法,其中,利用线性判别分析方法对所述对话数据进行处理,提取所述当前主题,包括:
利用所述线性判别分析方法对所述对话数据进行处理,得到中间主题,其中,所述中间主题为基于主题知识确定的第二主题集合中的一个主题,所述预设对话策略知识中由第一主题组成的第一主题集合是所述第二主题集合的子集;
对所述中间主题进行转换,得到所述中间主题在所述第二主题集合中对应的主题作为所述当前主题。
5.根据权利要求1所述的对话生成方法,其中,所述输入信息还包括关联知识数据;
利用语言生成模型对输入信息进行处理,得到所述当前对话数据对应的预测回应语句,包括:
确定所述关联知识数据;
利用所述语言生成模型对所述关联知识数据、所述主题数据和所述对话数据进行处理,得到所述当前对话数据对应的预测回应语句。
6.根据权利要求5所述的对话生成方法,其中,确定所述关联知识数据,包括:
获取预设知识信息,其中,所述预设知识信息包括百科知识信息和/或常识知识信息;
根据所述预设知识信息和所述对话数据,确定所述关联知识数据。
7.根据权利要求6所述的对话生成方法,其中,根据所述预设知识信息和所述对话数据,确定所述关联知识数据,包括:
提取所述对话数据中的命名实体信息和/或关系信息;
根据所述命名实体信息和/或所述关系信息,从所述预设知识信息中提取与所述对话数据相关的关联知识数据。
8.根据权利要求7所述的对话生成方法,其中,所述百科知识信息表示为知识图谱形式,
所述常识知识信息表示为包括多个常识知识项的多元组形式,
根据所述命名实体信息和/或所述关系信息,从所述预设知识信息中提取与所述对话数据相关的关联知识数据,包括:
响应于所述预设知识信息包括百科知识信息,根据所述命名实体信息和/或所述关系信息,从所述知识图谱形式的百科知识信息中确定命中的节点或边,基于所述知识图谱中所述命中的节点或边的预设范围内的数据得到所述关联知识数据;
响应于所述预设知识信息包括常识知识信息,根据所述命名实体信息和/或所述关系信息,从所述多个常识知识项中确定命中的起始节点或关系名,确定所述关联知识数据包括所述命中的起始节点或关系名所在的常识知识项。
9.根据权利要求8所述的对话生成方法,其中,所述知识图谱由多个表示实体的节点和表示实体间关系的边组成,
根据所述命名实体信息和/或所述关系信息,从所述知识图谱形式的百科知识信息中确定命中的节点或边,基于所述知识图谱中所述命中的节点或边的预设范围内的数据得到所述关联知识数据,包括:
根据所述命名实体信息和/或所述关系信息,从所述知识图谱包括的节点和边中确定命中的节点或边;
将所述知识图谱中所述命中的节点或边周围预设范围内的数据按照时间顺序排列,将最接近所述当前对话数据发生时刻的预设时间范围内数据作为所述关联知识数据。
10.根据权利要求5所述的对话生成方法,其中,所述语言生成模型包括编码器和解码器,
利用所述语言生成模型对所述关联知识数据、所述主题数据和所述对话数据进行处理,得到所述当前对话数据对应的预测回应语句,包括:
利用所述编码器对所述对话数据、所述主题数据和所述关联知识数据分别进行处理,得到所述对话数据对应的第一编码结果、所述主题数据对应的第二编码结果和所述关联知识数据对应的第三编码结果;
利用所述解码器对所述第一编码结果、所述第二编码结果和所述第三编码结果的加权和进行处理,得到所述预测回应语句。
11.根据权利要求1-10任一项所述的对话生成方法,其中,在利用语言生成模型对输入信息进行处理,得到所述当前对话数据对应的预测回应语句前,所述对话生成方法还包括:
结合所述对话数据和所述主题数据,判断是否生成所述当前对话数据对应的预测回应语句。
12.根据权利要求11所述的对话生成方法,其中,结合所述对话数据和所述主题数据,判断是否生成所述当前对话数据对应的预测回应语句,包括:
计算所述对话数据和所述当前主题之间的向量相似度,得到相似度值;
响应于所述相似度值大于等于预设阈值,确定生成所述当前对话数据对应的预测回应语句;
响应于所述相似度值小于所述预设阈值,确定不生成所述当前对话数据对应的预测回应语句。
13.根据权利要求1所述的对话生成方法,其中,所述预设对话策略知识中包括基于用户画像建立的对话策略;
所述用户画像通过发起所述对话数据的用户的用户数据建立,所述用户数据包括发起所述对话数据的时间、地点、场景或设备信息。
14.根据权利要求1-10任一项所述的对话生成方法,其中,所述历史对话数据为所述当前对话数据的上文,所述当前对话数据为用户当前发起的对话,所述预测回应语句为对所述用户当前发起的对话的回复,
所述对话数据的当前主题与所述预测回应语句的预测主题不同。
15.一种对话生成装置,包括:
接收单元,配置为接收对话数据,其中,所述对话数据包括历史对话数据及当前对话数据;
主题确定单元,配置为根据所述对话数据,结合预设对话策略知识,确定所述对话数据的主题数据;
处理单元,配置为利用语言生成模型对输入信息进行处理,得到所述当前对话数据对应的预测回应语句,
其中,所述输入信息至少包括所述对话数据和所述主题数据,所述主题数据包括所述对话数据的当前主题和对应的预测主题,所述预测主题为所述预测回应语句的主题。
16.一种电子设备,包括:
存储器,非瞬时性地存储有计算机可执行指令;
处理器,配置为运行所述计算机可执行指令,
其中,所述计算机可执行指令被所述处理器运行时实现根据权利要求1-14任一项所述的对话生成方法。
17.一种非瞬时性计算机可读存储介质,其中,所述非瞬时性计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现根据权利要求1-14任一项所述的对话生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310907170.7A CN116894085A (zh) | 2023-07-21 | 2023-07-21 | 对话生成方法及装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310907170.7A CN116894085A (zh) | 2023-07-21 | 2023-07-21 | 对话生成方法及装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116894085A true CN116894085A (zh) | 2023-10-17 |
Family
ID=88313430
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310907170.7A Pending CN116894085A (zh) | 2023-07-21 | 2023-07-21 | 对话生成方法及装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116894085A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117539996A (zh) * | 2023-11-21 | 2024-02-09 | 北京拓医医疗科技服务有限公司 | 一种基于用户画像的咨询问答方法及系统 |
CN117909483A (zh) * | 2024-03-19 | 2024-04-19 | 巽风科技(贵州)有限公司 | 个性化对话方法、系统、设备及介质 |
-
2023
- 2023-07-21 CN CN202310907170.7A patent/CN116894085A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117539996A (zh) * | 2023-11-21 | 2024-02-09 | 北京拓医医疗科技服务有限公司 | 一种基于用户画像的咨询问答方法及系统 |
CN117909483A (zh) * | 2024-03-19 | 2024-04-19 | 巽风科技(贵州)有限公司 | 个性化对话方法、系统、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109658928B (zh) | 一种家庭服务机器人云端多模态对话方法、装置及系统 | |
WO2020177673A1 (zh) | 一种视频序列选择的方法、计算机设备及存储介质 | |
CN116894085A (zh) | 对话生成方法及装置、电子设备和存储介质 | |
CN113762322A (zh) | 基于多模态表示的视频分类方法、装置和设备及存储介质 | |
TW201935273A (zh) | 語句的使用者意圖識別方法和裝置 | |
JP6361351B2 (ja) | 発話ワードをランク付けする方法、プログラム及び計算処理システム | |
CN111819625A (zh) | 用于语言模型个性化的系统和方法 | |
CN110234018B (zh) | 多媒体内容描述生成方法、训练方法、装置、设备及介质 | |
Chen et al. | Dynamic time-aware attention to speaker roles and contexts for spoken language understanding | |
CN113254684B (zh) | 一种内容时效的确定方法、相关装置、设备以及存储介质 | |
CN110114765B (zh) | 通过共享话语的上下文执行翻译的电子设备及其操作方法 | |
CN111400601A (zh) | 一种视频推荐的方法及相关设备 | |
CN112989212B (zh) | 媒体内容推荐方法、装置和设备及计算机存储介质 | |
EP4310695A1 (en) | Data processing method and apparatus, computer device, and storage medium | |
KR102580017B1 (ko) | 음성패킷 추천방법, 장치, 설비 및 저장매체 | |
CN113392265A (zh) | 多媒体处理方法、装置及设备 | |
CN111930915A (zh) | 会话信息处理方法、装置、计算机可读存储介质及设备 | |
CN117093687A (zh) | 问题应答方法和装置、电子设备、存储介质 | |
CN114040216B (zh) | 直播间推荐方法、介质、装置和计算设备 | |
CN109002498B (zh) | 人机对话方法、装置、设备及存储介质 | |
CN116977701A (zh) | 视频分类模型训练的方法、视频分类的方法和装置 | |
CN116208824A (zh) | 标题生成方法、计算机设备、存储介质和计算机程序产品 | |
US20230351752A1 (en) | Moment localization in media stream | |
CN111222011B (zh) | 一种视频向量确定方法和装置 | |
CN114970494A (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 |