CN111966800B - 情感对话生成方法、装置及情感对话模型训练方法、装置 - Google Patents
情感对话生成方法、装置及情感对话模型训练方法、装置 Download PDFInfo
- Publication number
- CN111966800B CN111966800B CN202010733045.5A CN202010733045A CN111966800B CN 111966800 B CN111966800 B CN 111966800B CN 202010733045 A CN202010733045 A CN 202010733045A CN 111966800 B CN111966800 B CN 111966800B
- Authority
- CN
- China
- Prior art keywords
- emotion
- reply
- information
- sample
- dialogue
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000008451 emotion Effects 0.000 title claims abstract description 464
- 238000000034 method Methods 0.000 title claims abstract description 89
- 238000012549 training Methods 0.000 title claims abstract description 43
- 238000010586 diagram Methods 0.000 claims abstract description 54
- 230000014509 gene expression Effects 0.000 claims description 72
- 230000006870 function Effects 0.000 claims description 62
- 238000012545 processing Methods 0.000 claims description 50
- 238000013528 artificial neural network Methods 0.000 claims description 46
- 239000011159 matrix material Substances 0.000 claims description 31
- 230000002776 aggregation Effects 0.000 claims description 29
- 238000004220 aggregation Methods 0.000 claims description 29
- 230000007246 mechanism Effects 0.000 claims description 23
- 239000013598 vector Substances 0.000 claims description 23
- 238000003860 storage Methods 0.000 claims description 19
- 238000000605 extraction Methods 0.000 claims description 17
- 230000008921 facial expression Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 11
- 230000004931 aggregating effect Effects 0.000 claims description 8
- 238000010606 normalization Methods 0.000 claims description 8
- 238000006116 polymerization reaction Methods 0.000 claims description 7
- 238000005457 optimization Methods 0.000 claims description 4
- 230000009467 reduction Effects 0.000 claims description 4
- 238000013473 artificial intelligence Methods 0.000 abstract description 17
- 238000005516 engineering process Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 14
- 238000010276 construction Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 9
- 230000002996 emotional effect Effects 0.000 description 8
- 230000004913 activation Effects 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 7
- 238000009826 distribution Methods 0.000 description 7
- 238000010801 machine learning Methods 0.000 description 6
- 230000007935 neutral effect Effects 0.000 description 5
- 101100501282 Daucus carota EMB-1 gene Proteins 0.000 description 4
- 101100533509 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) SIF2 gene Proteins 0.000 description 4
- 239000000203 mixture Substances 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000011176 pooling Methods 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 210000001508 eye Anatomy 0.000 description 3
- 230000001965 increasing effect Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 101100501281 Caenorhabditis elegans emb-1 gene Proteins 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000008909 emotion recognition Effects 0.000 description 2
- 210000003128 head Anatomy 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 210000000697 sensory organ Anatomy 0.000 description 2
- 206010063659 Aversion Diseases 0.000 description 1
- 206010037180 Psychiatric symptoms Diseases 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000010195 expression analysis Methods 0.000 description 1
- 210000004709 eyebrow Anatomy 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000011946 reduction process Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 230000009466 transformation Effects 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
- 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/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/168—Feature extraction; Face representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/174—Facial expression recognition
-
- 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)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Databases & Information Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Machine Translation (AREA)
Abstract
本公开提供了一种情感对话生成方法、装置及情感对话模型训练方法、装置,涉及人工智能领域。方法包括:获取与对话参与方相关的多源知识;根据所述多源知识构建异质图,对所述异质图进行编码以获取异质图特征信息,并根据异质图特征信息确定与当前对话参与方对应的预测回复情绪;对历史回复信息对应的特征信息及异质图特征信息进行编码,以获取待回复特征信息;根据与预测回复情绪对应的情绪特征和待回复特征信息确定目标回复语句。本公开能够根据对话参与方的多源知识构建异质图,根据该异质图精准预测当前对话参与方的回复应包含的情绪,并生成回复,提高了回复的精准度,进一步提升了用户体验。
Description
技术领域
本公开涉及人工智能技术领域,具体而言,涉及一种情感对话生成方法、情感对话生成装置、情感对话模型训练方法、情感对话模型训练装置、计算机可读存储介质及电子设备。
背景技术
人机对话是人工智能领域的一个重要课题,它是计算机的一种工作方式,即计算机操作员或用户与计算机之间,以对话方式进行工作,包括语音对话和书面对话两方面。
随着智能电子设备的逐步普及,语音对话在生活中已经很普遍了,比如用户可以跟机器人通过语音聊天排遣寂寞、消解压力,等等。用户和机器人之间的聊天是基于情感对话系统实现的,目前的情感对话系统都是基于受限的场景,例如机器表达给定的情绪,或者只从用户的语音文本中感知情绪并回复生成相应的内容,但是由于无法从部分文本内容中准确感知情绪,因此机器无法做出与场景密切相关的回复,导致用户体验度较差。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的实施例提供了一种情感对话生成方法、情感对话生成装置、情感对话模型训练方法、情感对话模型训练装置、计算机可读存储介质及电子设备,进而至少在一定程度上可以提高情感预测以及回复预测的准确率,进一步提高用户体验。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开实施例的一个方面,提供了一种基于异质图神经网络的情感对话生成方法,包括:获取与对话参与方相关的多源知识;根据所述多源知识构建异质图,对所述异质图进行编码以获取异质图特征信息,并根据所述异质图特征信息确定与当前对话参与方对应的预测回复情绪;对历史回复信息对应的特征信息及所述异质图特征信息进行编码,以获取待回复特征信息;根据与所述预测回复情绪对应的情绪特征和所述待回复特征信息确定目标回复语句。
根据本公开实施例的一个方面,提供了一种基于异质图神经网络的情感对话生成装置,包括:多源知识获取模块,用于获取与对话参与方相关的多源知识;回复情绪预测模块,用于根据所述多源知识构建异质图,对所述异质图进行编码以获取异质图特征信息,并根据所述异质图特征信息确定与当前对话参与方对应的预测回复情绪;待回复特征确定模块,用于对历史回复信息对应的特征信息及所述异质图特征信息进行编码,以获取待回复特征信息;回复语句生成模块,用于根据与所述预测回复情绪对应的情绪特征和所述待回复特征信息确定目标回复语句。
根据本公开实施例的一个方面,提供了一种情感对话模型的训练方法,包括:获取多源知识样本,将所述多源知识样本输入至待训练的情感对话模型,所述多源知识样本至少包括历史对话样本、回复样本,以及与所述历史对话样本中各语句和所述回复样本对应的情绪样本;根据所述历史对话样本以及与所述历史对话样本中各语句对应的情绪样本构建异质图,对所述异质图进行编码以获取样本特征信息,并根据所述样本特征信息确定与当前对话参与方对应的预测情绪信息;对所述回复样本对应的特征信息及所述样本特征信息进行编码以获取预测回复特征信息,并根据与所述预测情绪信息对应的情绪特征和所述预测回复特征信息确定预测回复语句;根据所述预测回复语句和所述回复样本构建第一损失函数,同时根据所述预测情绪信息和所述回复样本对应的情绪样本构建第二损失函数,并根据所述第一损失函数和所述第二损失函数优化所述待训练的情感对话模型的参数,以获取情感对话模型。
根据本公开实施例的一个方面,提供了一种情感对话模型的训练装置,包括:样本获取模块,用于获取多源知识样本,将所述多源知识样本输入至待训练的情感对话模型,所述多源知识样本至少包括历史对话样本、回复样本,以及与所述历史对话样本中各语句和所述回复样本对应的情绪样本;情绪预测模块,用于根据所述历史对话样本以及与所述历史对话样本中各语句对应的情绪样本构建异质图,对所述异质图以获取样本特征信息,并根据所述样本特征信息确定与当前对话参与方对应的预测情绪信息;回复预测模块,用于对所述回复样本对应的特征信息及所述样本特征信息进行编码以获取预测回复特征信息,并根据与所述预测情绪信息对应的情绪特征和所述预测回复特征信息确定预测回复语句;参数优化模块,用于根据所述预测回复语句和所述回复样本构建第一损失函数,同时根据所述预测情绪信息和所述回复样本对应的情绪样本构建第二损失函数,并根据所述第一损失函数和所述第二损失函数优化所述待训练的情感对话模型的参数,以获取情感对话模型。
根据本公开实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实现方式中提供的基于异质图神经网络的情感对话生成方法和基于异质图神经网络的情感对话模型的训练方法。
根据本公开实施例的一个方面,提供了一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实现方式提供的情感对话生成方法和情感对话模型的训练方法。
在本公开的一些实施例所提供的技术方案中,通过基于情感对话模型对对话参与方的多源知识进行异质图编码以获取预测回复情绪,并对历史回复信息对应的特征信息和异质图编码过程中生成的异质图特征信息进行编码,以获取待回复特征信息;最后根据与预测回复情绪对应的情绪特征和待回复特征信息确定目标回复语句。本公开的技术方案一方面能够根据与对话参与方相关的多源知识构建异质图,并根据异质图准确预测当前对话参与方在回复时所应具有的情绪,进而生成包含该情绪的回复语句,提高了情绪预测的准确率,并提高了回复语句的精准度;另一方面能够提高情感对话系统的性能,进一步提高了用户体验。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了可以应用本公开实施例的技术方案的示例性系统架构的示意图;
图2示意性示出了相关技术中Emo-HERD模型的架构示意图;
图3示意性示出了根据本公开的一个实施例的情感对话生成方法的流程图;
图4示意性示出了根据本公开的一个实施例的包含多源知识的对话的示意图;
图5示意性示出了根据本公开的一个实施例的情感对话模型的架构示意图;
图6示意性示出了根据本公开的一个实施例的异质图的结构示意图;
图7示意性示出了根据本公开的一个实施例的信息聚合的流程示意图;
图8示意性示出了根据本公开的一个实施例的获取预测回复情绪的流程示意图;
图9示意性示出了根据本公开的一个实施例的情感对话模型训练的流程示意图;
图10示意性示出了根据本公开的一个实施例的情感对话生成装置的框架示意图;
图11示意性示出了根据本公开的一个实施例的情感对话模型的训练装置的框架示意图;
图12示出了适于用来实现本公开实施例的情感对话生成装置及情感对话模型的训练装置的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
图1示出了可以应用本公开实施例的技术方案的示例性系统架构的示意图。
如图1所示,系统架构100可以包括终端设备101、网络102以及服务器103。其中,上述终端设备101可以是手机、便携式计算机、平板电脑、机器人等具有语音收集模块的智能终端设备,进一步地,终端设备101还可以是包括语音收集模块和图像采集模块的智能终端设备;网络102用以终端设备101和服务器103之间提供通信链路的介质,网络102可以包括各种连接类型,例如有线通信链路、无线通信链路等等,在本公开实施例中,终端设备101和服务器103之间的网络102可以是无线通信链路,具体地可以是移动网络。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端、网络和服务器。比如服务器103可以是多个服务器组成的服务器集群等,可用于存储与情感对话生成相关的信息。
在本公开的一个实施例中,用户面对终端设备101说话,终端设备101中的语音收集模块可以收集用户的语音信息,在终端设备101具有图像采集模块时还可以通过图像采集模块对用户的面部表情进行采集,根据收集到的语音信息能够获取用户的对话语句,根据采集到的面部表情能够获取用户的表情图像。接着终端设备101能够通过网络102将对话语句或者对话语句和表情图像发送至服务器103,服务器103根据接收到的对话语句或者对话语句和表情图像能够确定各句对话对应的对话参与方的情绪或者情绪和个性,进一步地,可以调用基于异质图神经网络的情感对话模型根据对话语句和对话语句中各句话对应的情绪信息或者根据对话语句、对话语句中各句话对应的表情图像、情绪信息和对话参与方的个性信息进行回复情绪预测,同时根据历史回复信息和融合有历史对话信息的特征信息确定待回复特征信息,并根据预测到的与当前对话参与方对应的预测回复情绪和待回复特征信息或者根据预测到的与当前对话参与方对应的预测回复情绪、待回复特征信息以及当前对话参与方的个性特征确定包含情绪的目标回复语句。在人机对话场景中,用户和机器人之间一来一往进行对话,用户能够根据自己的思维说话,而机器人就需要根据用户的对话语句做出预测,确定与用户的对话语句对应的回复语句,也就是说,在通过基于异质图神经网络的情感对话模型进行回复预测时,对话参与方包括用户和机器人,当前对话参与方即为机器人,当前对话参与方的个性特征即为机器人所扮演的角色的个性特征。在进行情感对话的过程中,可以通过基于异质图神经网络的情感对话模型对对话语句及对话语句中各语句对应的情绪信息或者对对话语句以及对话语句中各语句对应的表情图像、对话参与方的个性信息和情绪信息进行处理,以获取预测回复情绪和待回复特征信息,进一步地,可以根据预测回复情绪对应的情绪特征和待回复特征信息确定目标回复语句,或者根据预测回复情绪对应的情绪特征、当前对话参与方的个性特征和待回复特征信息确定目标回复语句。
需要说明的是,本公开实施例所提供的情感对话生成方法一般由服务器执行,相应地,情感对话生成装置一般设置于服务器中。但是,在本公开的其它实施例中,也可以由终端设备执行本公开实施例所提供的情感对话生成方案,例如将情感对话生成方法对应的软件以插件的形式安装在终端设备中,终端设备获取用户的语音信号和表情图像后,可直接调用该软件进行情感对话。
相关技术中,通常采用Emo-HRED模型来处理情感对话任务,Emo-HRED模型是基于深度RNN网络的模型,图2示出了Emo-HERD模型的架构示意图,如图2所示,通过多个RNN单元分别对输入的一个语句中的各个字向量(w1,1、……w1,N1)依次进行特征提取,并将最后一个RNN单元输出的特征信息作为该语句的隐层信息hutt,对隐层信息hutt进行复制获取特征信息hdlg;接着对特征信息hdlg进行线性变换以获取情绪信息hemo,最后通过多个RNN单元对特征信息hdlg和情绪信息hemo进行处理,即可获取与输入的语句对应的回复(w2,1、……w2,N2)。接着,将语句(w1,1、……w1,N1)和(w2,1、……w2,N2)作为输入语句,通过重复上述流程即可得到对应的回复(w3,1、……w3,N3),也就是说,可以将前N句语句作为输入,通过重复上述流程以获取第N+1句回复。
可以看出,该方法只是对文本语句进行情绪分析,以实现情感对话生成,但是在获取情绪信息的过程中可能存在不准确或错误的情况,导致回复语句不准确,与输入语句不对应,进而降低了用户体验。
鉴于相关技术中存在的问题,本公开实施例提供了一种情感对话生成方法,该情感对话生成方法是基于机器学习实现的,机器学习属于人工智能的一种,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
计算机视觉技术(Computer Vision,CV)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
本公开实施例提供的方案涉及人工智能的自然语言处理技术,具体通过如下实施例进行说明:
本公开实施例首先提出了一种情感对话生成方法,该方法可以应用于人机交互领域,也可以应用于机器人的语音对话,等等,以下以人机交互中最简单的一人VS一机器人的场景为例,对本公开实施例的技术方案的实现细节进行详细阐述:
图3示意性示出了根据本公开的一个实施例的情感对话生成方法的流程图,该情感对话生成方法可以由服务器来执行,该服务器可以是图1中所示的服务器103。参照图3所示,该情感对话生成方法至少包括步骤S310至步骤S340,详细介绍如下:
在步骤S310中,获取与对话参与方相关的多源知识。
在本公开的一个实施例中,首先可以获取与对话参与方相关的多源知识,该对话参与方为场景中进行对话的所有角色,包括用户和机器人,该多源知识为与对话参与方相关的多个类型的知识,其中知识的具体类型可以根据实际需要进行确定,例如考虑到对话为情感对话,那么需要获取对话参与方在对话过程中产生的对话语句,为了准确预测回复应包含的情绪,更好地确定回复的内容,还需要获取对话参与方的情绪,以根据对话参与方的对话语句和各语句所对应的情绪预测回复所应包含的情绪,并将该预测的情绪融合到回复的内容中,实现高质量的情感对话,也就是说,可以由对话语句和各语句对应的情绪信息形成多源知识。在本公开的实施例中,可以通过预先训练好的情绪识别模型对对话语句进行特征提取,以获取与各对话语句对应的情绪信息,其中该情绪识别模型可以根据语料和语料所对应的标记情绪进行训练得到。
进一步地,为了更好地把握对话参与方的情绪,并正确预测当前对话参与方的回复所应包含的情绪,还可以获取对话参与方说话时的表情图像进行辅助分析,从表情中精准分析对话参与方当前的情绪;另外,对话参与方的个性对对话参与方的语言表达方式也有影响,因此也可以获取对话参与方的个性信息,由对话语句,每句话对应的情绪信息、表情图像和个性信息构成多源知识,进而通过基于异质图神经网络的情感对话模型对该多源知识进行处理以获取相应的回复。在人机对话的场景中,能够直接获取的是用户的表情图像,根据用户的对话语句和表情图像能够确定对话参与方的情绪信息及个性信息,对于机器人而言,其所对应的个性是根据大量的训练样本训练生成的,其可扮演多个角色,进而可以具有多种个性,根据不同的对话场景,其个性也相应发生变化。当然还可以获取其它关于对话参与方的信息进行情绪的辅助分析和预测,进而帮助机器人做出最恰当的回复。
在本公开的一个实施例中,多源知识可以包括与对话参与方相关的历史对话以及历史对话中每句话对应的情绪信息;可以包括与对话参与方相关的历史对话,以及历史对话中每句话所对应的情绪信息和表情图像;可以包括与对话参与方相关的历史对话,以及历史对话中每句话所对应的情绪信息和对话参与方的个性信息;还可以包括与对话参与方相关的历史对话,以及历史对话中每句话所对应的情绪信息、表情图像和对话参与方的个性信息,当然还可以包括历史对话和历史对话中每句话所对应的情绪信息以及其它可用于精准预测情绪的辅助信息,本公开在此不再赘述。其中,历史对话是用户和机器人从初始时刻到当前时刻所说的所有对话;每句话所对应的情绪信息是根据对话内容和表情图像进行分析确定的情绪,例如可以是悲伤、高兴、惊讶、恐惧、害怕等等;用户的表情图像是机器人在用户说话过程中拍摄得到的,用户说每句话时机器人都会对用户的表情进行拍摄,在拍摄过程中可以连续获取多张图像,为了准确判断用户说各句话时的情绪,可以将对应该句话的多张图像中能够清楚分辨对话参与方五官、表情的图像作为表情图像,至于机器人的对话语句所对应的表情图像则可以根据该语句应当包含的情绪搜索得到相应的表情图像;个性信息为对话参与方的个性,例如开放型、完美型、较真型、随和型,等等。图4示出了包含多源知识的对话的示意图,如图4所示,a部分为历史对话的内容,包括U1-U8共8句话,b部分为历史对话中每一句话所对应的情绪,c部分为历史对话中涉及的对话参与方的表情图像,d部分为对话参与方的名字,其与对话参与方的个性对应,由于每个人的个性是唯一的,因此当对话参与方的名字确定时即可明确对话参与方的个性。值得注意的是,图4示出了包含4个类别的知识的多源知识,根据不同的应用场景,多源知识的组成还可以在4类知识的基础上进行增减,另外图4所示的对话为训练样本,仅用于对多源知识的组成进行示意性说明。
值得注意的是,当用户向机器人说第一句话时,机器人无法明确用户的个性信息以及情绪信息,那么可以通过对用户所说的语句或者说话时的表情图像和语句进行分析,以确定其情绪信息或者确定情绪信息和个性信息。例如一轮对话为“M:你好啊!S:你好,外面下雨了。”根据用户S的语句无法准确确定用户S的情绪是中立、高兴还是悲伤,因此可以根据用户S说话时的表情图像判断其情绪,例如表情图像中用户S皱着眉头,那么可以确定其情绪为悲伤,如果表情图像中用户S嘴角上扬、眼睛微眯,那么可以确定其情绪为高兴,如果表情图像中用户S的面部五官无变化,那么可以确定其情绪为中立。对于用户的个性信息,同样可以通过设计好的个性预测模型对用户的对话语句进行处理,以获取其个性信息。
在本公开的一个实施例中,在获取对话参与方的多源知识后,可以将多源知识输入至情感对话模型,该情感对话模型为基于异质图神经网络的模型,通过该情感对话模型对多源知识进行异质图构建及特征提取,以输出与最新的对话语句对应的回复语句。异质图一般指含有多种类型节点和关系的图,相对于只含有一种节点/关系的同质图,异质图更加复杂,包含的信息也更多,例如本公开实施例中多源知识所包含的与对话参与方相关的历史对话,以及历史对话中每句话所对应的情绪信息、表情图像和对话参与方的个性信息均可作为异质图中的节点,各个节点之间的关系均可作为异质图中的边。异质图神经网络(Heterogeneous Graph Neural Networks,HGNN)是直接作用于异质图上的神经网络。
在本公开的一个实施例中,该基于异质图神经网络的情感对话模型包括编码器和解码器,其中编码器包含异质图神经网络层,用于对输入的多源知识进行处理以获取异质图特征信息和预测回复情绪,解码器用于根据历史回复信息和异质图特征信息确定待回复特征信息,最后根据与预测回复情绪对应的情绪特征和待回复特征信息确定目标回复语句,其中预测回复情绪为经编码器预测得到的回复语句所应包含的情绪,目标回复语句是与最新的对话语句对应的回复语句。进一步地,在确定目标回复语句时,解码器还可以根据与预测回复情绪对应的情绪特征、待回复特征信息和当前对话参与方的个性信息确定目标回复语句,以提高目标回复语句与最新的对话语句的匹配度。
在步骤S320中,根据所述多源知识构建异质图,对所述异质图进行编码以获取异质图特征信息,并根据所述异质图特征信息确定与当前对话参与方对应的预测回复情绪。
在本公开的一个实施例中,图5示出了情感对话模型的架构示意图,如图5所示,情感对话模型500包括编码器501和解码器502;其中编码器501包括多源知识输入层501-1、图构造及特征初始化层501-2、异质图神经网络层501-3、前馈神经网络层501-4和情绪预测层501-5。
接下来基于编码器501的结构对如何获取与当前对话参与方对应的预测回复情绪进行详细说明,其中当前对话参与方具体为机器人。
步骤S310中获取到的与对话参与方相关的多源知识可以通过多源知识输入层501-1发送至图构造及特征初始化层501-2,通过图构造及特征初始化层501-2根据多源知识中的各类知识及各类知识之间的关系构造异质图,并对多源知识中的各类知识进行特征提取,以获取多个子特征信息,值得注意的是,图5中仅示意性的示出了与第一句对话语句对应的异质图;接着图构造及特征初始化层501-2将异质图和多个子特征信息发送至异质图神经网络层501-3,以使异质图神经网络层501-3根据异质图和各子特征信息进行信息聚合,获取第一聚合特征信息;最后异质图神经网络层501-3可以将第一聚合特征信息发送至前馈神经网络层501-4,通过前馈神经网络层501-4对第一聚合特征信息进行全连接处理,以获取异质图特征信息。进一步地,可以将异质图特征信息发送至情绪预测层501-5,通过情绪预测层501-5对异质图特征信息进行处理,以获取预测回复情绪。
在本公开的一个实施例中,图构造及特征初始化层501-2包括图构造网络,在获取多源知识后,图构造网络可以将多源知识中的所有知识作为节点,将各个知识之间的关系作为边,以构造异质图。在本公开的实施例中,以包含历史对话,以及历史对话中各语句所对应的情绪信息、表情图像和对话参与方的个性信息的多源知识为例,在构造异质图时,首先将各语句,与各语句对应的情绪信息、表情图像和对话参与方的个性信息作为节点;然后确定各节点之间的关系类型,根据该关系类型确定节点之间的边,并基于节点和边构建异质图,其中关系类型包括:语句间的时间连续性、语句对应的对话参与方的个性信息、语句对应的情绪信息、语句对应的表情图像、表情图像间的时间连续性、表情图像对应的对话参与方的个性信息、表情图像对应的情绪信息,以及对话参与方的个性信息对应的情绪信息,进一步地,该些关系类型可以具体描述为以下十种关系:1)对话语句之间是相邻的;2)对话语句是同一个人说的;3)对话语句和相应地情绪;4)对话语句和相应的表情图像;5)对话语句和相应地对话参与方的个性信息;6)表情图像是相邻的;7)表情图像是同一个人的;8)表情图像和相应地情绪;9)表情图像和相应地对话参与方的个性信息;10)情绪和相应地对话参与方的个性信息。由于一个人的个性是唯一的,确定了对话参与方即可确定其个性,因而在异质图中可以用对话参与方的名字表征对话参与方的个性信息。基于图4所示的对话,图6示出了异质图的示意图,如图6所示,对话语句、情绪、表情图像和对话参与方为节点,各节点之间的关系为边,以对话语句U1为例,其所对应的情绪为neutral(中立),对话参与方为Monica,表情图像为Monica说这句话时的表情图像,与其相邻的对话语句为U2,与其对应同一对话参与方的语句为U6,与对话语句U1的表情图像相邻的表情图像为对话语句U2对应的表情图像,与对话语句U1的表情图像对应同一对话参与方的表情图像为U6对应的表情图像,那么根据上述关系就可以获取第一层异质图,接着通过对整个对话中的每个知识进行上述处理,即可得到与整个对话对应的异质图。图6示出了一段多人对话所对应的异质图,对于一人VS一机器人的场景,异质图的形成方法与图6所示的方法相同,但是结构相对更简单。值得说明的是,本公开实施例中的异质图为无向图,另外对于包含不同类别知识的多源知识,根据所包含的知识的类别可以调整构建异质图的条件,例如当多源知识包含历史对话以及与历史对话中各语句对应的情绪信息时,可以根据上述十个条件中的条件1)、2)和3)构建异质图,当多源知识包含历史对话以及与历史对话中各语句对应的情绪信息和表情图像时,可以根据上述十个条件中的条件1)、2)、3)、4)、6)、7)和8)来构建异质图,等等。
在本公开的一个实施例中,子特征信息的数量和类型与多源知识所包括的知识的类别相对应,若多源知识包含的知识类别越多,那么获取的与当前对话参与方对应的预测回复情绪和目标回复语句更精准。当多源知识包括与对话参与方相关的历史对话,以及历史对话中各语句所对应的情绪信息、表情图像和对话参与方的个性信息时,多个子特征信息包括与历史对话对应的第一子特征信息、与表情图像对应的第二子特征信息、与情绪信息对应的第三子特征信息和与个性信息对应的第四子特征信息。具体地,图构造及特征初始化层501-2中还包含长短期记忆网络、自注意力网络、图像特征提取网络和前馈神经网络,可以通过长短期记忆网络和自注意力网络依次对历史对话中的上下文关系进行编码,以获取该第一子特征信息;通过图像特征提取网络对表情图像进行特征提取以获取表情特征,并通过前馈神经网络层对面部表情特征进行全连接处理,以获取该第二子特征信息;同时根据情绪信息在情绪查找表中进行查询,以获取该第三子特征信息,并根据个性信息在个性查找表中进行查询,以获取该第四子特征信息。
在本公开的一个实施例中,在通过长短期记忆网络和自注意力网络依次对历史对话中的上下文关系进行编码获取第一子特征信息时,可以首先通过长短期记忆网络对历史对话中各对话语句进行特征提取,以获取与各对话语句对应的隐层特征信息;接着根据各语句的出现次序对隐层特征信息进行位置编码,以获取对话特征信息;最后通过自注意力网络对对话特征信息进行编码,以获取该第一子特征信息。在本公开的实施例中,可以将各对话语句中最后一个词所对应的隐层向量作为隐层特征信息,例如历史对话中包含N句话,通过长短期记忆网络对第一句话至第N句话中的各个词进行特征提取,并将各句话中最后一个词对应的隐层向量作为该句话的隐层特征信息,那么可以获得与历史对话对应的隐层特征信息hu={hu1,hu2,……huN}。接着为了区分对话的顺序,可以对隐层特征信息进行位置编码,在位置编码时,对于第N句话,第N-1句话是其产生的基础,因此第N-1句话为与第N句话位置最近的语句,第1句话是与第N句话位置最远的语句,那么通过位置编码可以得到与历史对话对应的对话特征信息Hu={[hu1;PEN],[hu2;PEN-1],……[huN;PE1]}。进一步地,为了获取整个对话级别的特征信息,可以采用自注意力网络对所有对话语句的隐层特征信息进行编码,以获取用于表征整个历史对话的第一子特征信息。在本公开的实施例中,可以采用多头自注意力机制对所有对话语句的隐层特征信息进行编码,以获取第一子特征信息,第一子特征信息具体可以表示为Xu=MultiHead(Hu,Hu,Hu),其中的对话特征信息Hu,Hu,Hu分别为Q(query)、K(key)、V(value),在确定Xu时,首先将Q与K对齐,计算Q与K中各个信息的相似度,然后对相似度的值进行归一化以生成注意力值,最后将相应的V与相应的注意力值进行加权求和即可得到相应的特征向量,通过进行多次同样地操作,然后将多个特征向量拼接即可得到Xu。当然也可以采用单头注意力机制对所有对话语句的隐层特征信息进行编码,本公开实施例对此不作具体要求。
在本公开的一个实施例中,通过图像特征提取网络对表情图像进行特征提取以获取面部表情特征,并通过前馈神经网络层对面部表情特征进行全连接处理时,可以通过OpenFace等工具对表情图像进行特征提取以获取面部表情特征Gf={gf1,gf2,……,gfN},然后再通过前馈神经网络层对面部表情特征Gf进行全连接处理,以获取第二子特征信息,第二子特征信息具体可以表示为Xf=FFN(Gf)。值得注意的是,图像特征提取网络还可以是除OpenFace之外的其它网络,前馈神经网络层也可以是普通的全连接层,只要实现对面部表情特征Gf的提取和对Gf的全连接处理即可。
在本公开的一个实施例中,存在两个可训练的参数查找表:情绪查找表EMB1和个性查找表EMB2,情绪查找表EMB1和个性查找表EMB2均为k-v键值表,在情绪查找表EMB1中情绪类型为k值,与情绪类型对应的特征向量为v值,同样地,在个性查找表EMB2中,个性类型为k值,与个性类型对应的特征向量为v值,在获取情绪信息和个性信息后,在对应的查找表中进行查询即可获取对应的特征向量,即第三子特征信息Xe和第四子特征信息Xs。作为示例,情绪可以分为7类,分别为Neutral(中立),Happiness(高兴),Surprise(惊讶),Sadness(悲伤),Anger(生气),Disgust(厌恶)和Fear(害怕),因此情绪查找表EMB1为一个7维的k-v表;个性可以分为开放型、完美型、较真型、随和型等20类,因此个性查找表EMB2具体可以为一个20维的k-v表。
在本公开的一个实施例中,在获取异质图、第一子特征信息、第二子特征信息、第三子特征信息和第四子特征信息之后,可以通过异质图神经网络层501-3对该些信息进行信息聚合,以获取第一聚合特征信息。图7示出了信息聚合的流程示意图,如图7所示,在步骤S701中,根据异质图确定邻接矩阵,并根据不同类型节点所对应的掩码矩阵和邻接矩阵获取与不同类型节点对应的目标邻接矩阵;在步骤S702中,根据与不同类型节点对应的目标邻接矩阵和第N层节点特征信息确定第N+1层节点特征信息;在步骤S703中,根据异质图的层数重复上一步骤,直至获取第一聚合特征信息;其中,N为正整数,当N=1时,与不同类型节点对应的第一层节点特征信息为各子特征信息。
其中,在步骤S701中,构造完异质图后,可以根据异质图中的节点和边确定异质图对应的邻接矩阵,标记为A,若某两个节点之间存在边时,说明这两个知识之间存在关系,那么邻接矩阵A中对应位置的值为1,若某两个节点之间不存在边,即这两个知识之间不存在关系,那么邻接矩阵A中对应位置的值为0,根据所有节点之间是否存在关系即可获取邻接矩阵A。掩码矩阵是与节点的类型相对应的,其大小与邻接矩阵的大小相同,也是由0/1构成,不同点在于0/1的分布是随聚合所需信息的类型不同而不同的,若想从邻接矩阵A中获取所需类型的知识所对应的邻接矩阵信息,那么就可以将掩码矩阵中与该类型知识对应的位置的值设置为1,其它位置的值设置为0,通过将掩码矩阵与邻接矩阵相乘即可获取所需类型知识所对应的目标邻接矩阵。在本公开的实施例中,通过不同类型节点对应的掩码矩阵可以获取与历史对话对应的目标邻接矩阵、与表情图像对应的目标邻接矩阵、与情绪信息对应的目标邻接矩阵和与个性信息对应的目标邻接矩阵。
在获取与不同类型节点对应的目标邻接矩阵后,可以根据该目标邻接矩阵和第N层节点特征信息确定第N+1层节点特征信息,其中第N层节点特征信息为异质图中第N层节点的隐层特征信息,通过对第N层中每一个节点和与其相邻的节点的特征信息进行聚合可以获得第N+1层节点特征信息,在本公开的实施例中,可以根据公式(1)对第N层节点特征信息进行信息聚合,以获取第N+1层节点特征信息:
其中,HN+1为第N+1层节点特征信息,Aτ为τ类节点对应的目标邻接矩阵,HN为第N层节点特征信息,为第N层节点对应τ类节点的权重,/>第N层节点对应τ类节点的偏置矩阵,u为历史对话节点,f为表情图像节点,e为情绪信息节点,s为个性信息节点。
在获取第N层中各类型节点所对应的目标特征信息(对应公式(1)中对每个类型节点特征信息的运算)之后,可以将各类型节点对应的目标特征信息相加,再根据激活函数对相加得到的结果进行处理即可得到第N+1层节点特征信息,其中激活函数具体可以是ReLU函数,当然还可以是其它类型的激活函数,本公开实施例对此不做具体限定。进一步地,根据异质图的层数,可以对异质图进行多次的信息聚合,以得到聚合有所有多源知识的第一聚合特征信息,记为HLg,Lg为异质图的层数。
从上述分析可知,异质图神经网络可以区别对待不同类型的知识,充分感知不同类型的知识,将异质图中各个节点的特征信息进行聚合,以得到聚合有所有多源知识的第一聚合特征信息。
在获取第一聚合特征信息后,可以对聚合特征信息进行全连接处理以获取异质图特征信息,该异质图特征信息即编码器端的最后表示。具体地可以通过前馈神经网络层501-4对第一聚合特征信息进行全连接,以获取异质图特征信息,具体可以表示为Henc=FFN(HLg),当然还可以将前馈神经网络层501-4替换为普通的全连接层,对第一聚合特征信息进行全连接处理,以获取异质图特征信息。
在本公开的一个实施例中,在获取异质图特征信息后,可以根据异质图特征信息确定预测回复情绪,图8示出了获取预测回复情绪的流程示意图,如图8所示,在步骤S801中,对异质图特征信息进行降维处理,以获取第一维度为1的特征向量;在步骤S802中,对特征向量进行全连接处理和归一化处理,以获取预测回复情绪。其中,在步骤S801中,由于在确定目标回复语句时需要用到一个综合情绪,因此需要对异质图特征信息进行压缩降维,以将其大小由N×M压缩至1×M,N为语句的数量,M为压缩后异质图特征信息的第二维度。降维时,具体可以采用池化操作进行降维,例如平均池化、最大池化等等,在本公开实施例中通过最大池化的方法对异质图特征信息进行处理,第一维度为1的特征向量具体可以表示为Hmax=Maxpooling(Henc),池化的卷积核大小可以根据实际需要设定,只要保证将第一维度压缩到1即可。在步骤S802中,通过对第一维度为1的特征向量进行全连接和归一化,即可获取预测回复情绪,该预测回复情绪为情绪概率分布信息,例如当情绪分类为7类时,那么预测回复情绪即为7类情绪所对应的概率值,预测回复情绪具体可以表示为P=softmax(WPHmax),其中WP为对特征向量Hmax进行全连接时的权重。
在步骤S330中,对历史回复信息对应的特征信息及所述异质图特征信息进行编码,以获取待回复特征信息。
在本公开的一个实施例中,在获取异质图特征信息和预测回复情绪后,可以通过解码器对所获取的信息进行处理,以获取包含情绪的目标回复语句。解码器能够根据编码器端的最后表示,也就是异质图特征信息确定回复内容,一般回复内容是逐词生成的,比如用户说“今天是星期几?”,那么机器人在生成回复“今天是星期一”时,生成顺序应该是“今天是星期一”,也就是说,在生成第t个词时,已经生成1~t-1个词了,同时由于每个词之间存在相互关系,因此在确定第t个词时,不仅需要依赖历史对话语句还需要依赖已生成的历史回复信息。
返回至图5,如图5所示,解码器502包括历史回复输入层502-1、自注意力网络层502-2、编解码自注意力网络层502-3和前馈神经网络层502-4。
接下来基于解码器502的结构对如何获取待回复特征信息进行说明。
首先将历史回复信息输入至历史回复输入层502-1,通过对历史回复信息进行词嵌入操作,以获取与历史回复信息对应的历史回复向量;然后将历史回复向量发送至自注意力网络层502-2,基于自注意力机制对历史回复向量进行编码,以获取历史回复特征信息,在对历史回复向量进行编码时,同样可以基于多头注意力机制进行编码,历史回复特征信息具体可以表示为Hr=MultiHead(Rr,Rr,Rr),其中Rr是历史回复信息向量;接着将历史回复特征信息和异质图特征信息输入至编解码自注意力网络层502-3,由于异质图特征信息包含了多源知识中的所有信息,历史回复特征信息包含已生成的回复信息,那么通过采用自注意力机制对历史回复特征信息和异质图特征信息进行编码,即可获取异质图特征信息与历史回复信息之间的相互关系;最后通过前馈神经网络层502-4对编解码自注意力网络层502-3输出的特征信息进行全连接处理,即可获取待回复特征信息,该待回复特征信息即为经全连接处理后的异质图特征信息与历史回复信息之间的相互关系,具体可以表示为O=FFN(MultiHead(Hr,Henc,Henc)),其中的Hr,Henc,Henc分别为Q、K、V,该多头自注意力方法的计算流程与获取第一子特征信息的多头自注意力方法的流程相同,在此不再赘述。
在步骤S340中,根据与所述预测回复情绪对应的情绪特征和所述待回复特征信息确定目标回复语句。
在本公开的一个实施例中,步骤S330中得到的待回复特征信息可以对最终输出的回复进行指导,同时为了使最终生成的回复与用户的对话语句更匹配,可以根据预测回复情绪对应的情绪特征和待回复特征信息确定目标回复语句,由于预测回复情绪是基于多源知识预测得到的与当前对话参与方对应的情绪信息,通过将该情绪信息引入到待回复特征信息中,可以提高目标回复语句的质量,提高与用户的对话语句的匹配度,进一步提升用户体验。
在本公开的一个实施例中,解码器502还包括特征聚合层502-5、归一化层502-6和输出层502-7,通过特征聚合层502-5根据门控机制对预测回复情绪对应的情绪特征和待回复特征信息进行聚合,以获取第二聚合特征信息,然后通过归一化层502-6对第二聚合特征信息进行归一化处理以获取当前回复信息,并根据当前回复信息和历史回复信息确定目标回复语句,进而通过输出层502-7输出。其中,预测回复情绪对应的情绪特征可以根据预测回复情绪和情绪查找表确定。
为了进一步提高目标回复语句的质量以及与用户对话语句的匹配度,可以在预测当前回复信息时同时引入与当前对话参与方对应的情绪特征和个性特征,基于待回复特征信息和当前对话参与方的情绪特征及个性特征获取与对话参与方的对话语句匹配度更高的目标回复语句。具体地,可以在进行特征拼接时,通过特征拼接层502-5基于门控机制对预测回复情绪对应的情绪特征、与当前对话参与方对应的个性特征和待回复特征信息进行聚合,以获取第二聚合特征信息,进而通过对第二聚合特征信息进行归一化处理以获取当前回复信息,并根据当前回复信息和历史回复信息确定目标回复语句。当前对话参与方的个性特征即为机器人的个性特征,并且当前对话参与方的个性特征可以根据当前对话参与方的个性信息和个性查找表确定,进一步地,由于一个人对应唯一的个性,因此可以根据对话参与方的名字和与其对应的个性特征向量形成个性查找表,进而根据当前对话参与方的名字和个性查找表可以确定当前对话参与方的个性特征。
通过根据门控机制对预测回复情绪对应的情绪特征和待回复特征信息或者对预测回复情绪对应的情绪特征、当前对话参与方的个性特征和待回复特征信息进行聚合,可以在第二聚合特征信息中引入情绪特征或者情绪特征和个性特征,提高目标回复语句的质量,另外在引入情绪特征或者情绪特征和个性特征时,由于门控机制中贡献度的存在,可以平衡情绪特征或者情绪特征和个性特征的比重,进而提高目标回复语句的情感的准确性以及目标回复语句与历史对话的匹配度,进而提升用户对人机对话产品的使用体验。
当基于门控机制对预测回复情绪对应的情绪特征和待回复特征信息进行聚合时,门控机制中的贡献度可以根据预测回复情绪对应的情绪特征和待回复特征信息确定,具体可如公式(2)所示:
g=σ([O;Eg]Wg+bg) (2)
其中,g为贡献度,O为待回复特征信息,Eg为与预测回复情绪对应的情绪特征,Wg为权重,bg为偏置矩阵,σ为激活函数,[O;Eg]为待回复特征信息和情绪特征拼接后得到的拼接特征信息。具体地,Eg=[Ep;…;Ep],其中Ep=Σ(P·EMB1),由于P为各个情绪类别的概率分布,情绪查找表EMB1为各个情绪类别对应的特征信息,因此Ep为多种情绪的综合表示,即为综合情绪特征;激活函数σ可以是ReLu函数。
当基于门控机制对预测回复情绪对应的情绪特征、与当前对话参与方对应的个性特征以及待回复特征信息进行聚合时,门控机制中的贡献度可以根据与预测回复情绪对应的情绪特征、与当前对话参与方对应的个性特征以及待回复特征信息确定,具体可如公式(3)所示:
g=σ([O;Eg;Sg]Wg+bg) (3)
其中,g为贡献度,O为待回复特征信息,Eg为与预测回复情绪对应的情绪特征,Sg为与当前对话参与方对应的个性特征,Wg为权重,bg为偏置矩阵,σ为激活函数,[O;Eg;Sg]为待回复特征信息、情绪特征和个性特征拼接后得到的拼接特征信息。具体地,Eg=[Ep;…;Ep],Sg=[Sp;…;Sp],其中,Ep=Σ(P·EMB1),由于P为各个情绪类别的概率分布,情绪查找表EMB1为各个情绪类别对应的特征信息,因此Ep为多种情绪的综合表示,即为综合情绪特征;Sp是与当前对话参与方对应的个性特征,激活函数σ可以是ReLu函数。
进一步地,根据门控机制获取第二聚合特征信息,具体可以通过公式(4)或者(5)计算确定:
Oes=O+g⊙Eg (4)
Oes=O+g⊙Eg+(1-g)⊙Sg (5)
其中,公式(4)表示基于门控机制对预测回复情绪对应的情绪特征和待回复特征信息进行聚合得到的第二聚合特征信息,公式(5)表示基于门控机制对预测回复情绪对应的情绪特征、与当前对话参与方对应的个性特征以及待回复特征信息进行聚合得到的第二聚合特征信息。
在获取第二聚合特征信息后,可以对第二聚合特征信息进行归一化,解码得到当前回复信息,即第t个词,当前回复信息的表达式具体如公式(6)或者(7)所示:
P(yt|y1:t-1;G;Ep;θ)=Softmax(WoOes t) (6)
P(yt|y1:t-1;G;Ep;Sp;θ)=Softmax(WoOes t) (7)
其中,Wo为权重。
从上述表达式分析可知,当前回复信息实质上是词表中各个词的分布概率,根据各个词的分布概率能够确定最终输出的词,进而得到目标回复语句。词表可以理解为包含大量词语的一个数据集,所有回复的构成都是根据词表中的词语组合形成的,情感对话模型只是根据历史对话从词表中选择概率值最高的多个词语,然后进行组合即可生成对应的回复。在本公开的实施例中,若第t个词是最后一个词,则根据前t-1个词和第t个词构成目标回复语句,若第t个词不是最后一个词,则重复执行解码器的处理流程,直至得到最后一个词,进而形成目标回复语句。
上述实施例中描述了将本公开的情感对话方法应用于一人VS一机器人的情感对话场景,本公开的情感对话方法还可以应用于多人VS一机器人的场景,例如有两个人P1、P2和机器人M在进行人机对话,每一轮次的对话可以在P1和P2之间、P1和M之间以及P2和M之间进行,对于用户P1或P2所说的每句话,机器人M都能获取其语音信息以及表情图像,通过对语音信息和表情图像进行分析,可以判断用户P1或P2所说的话是跟谁说的,例如P1说“听说你拿了XX大赛二等奖,恭喜啊!”,那么通过分析语音信息能够确认P1是在跟P2说话,机器人M可能就会等用户P2进行回复之后再回复。在确定回复信息时,机器人M可以收集用户P1和P2的语音信息和表情图像,然后根据语音信息和表情图像推断用户P1和P2的情绪信息以及个性信息,进而结合语音信息、表情图像、情绪信息和个性信息确定要回复的内容,例如P1微笑着说“听说你拿了XX大赛二等奖,恭喜啊!”,P2笑着说“谢谢”,那么机器人M能够判断二人的情绪信息都是高兴,并且预测二人的个性都是温和型的,那么能够根据编码器提取的异质图特征信息得到预测回复情绪为高兴,并且通过解码器根据历史回复信息和异质图特征信息,结合预测回复情绪和机器人M的个性特征确定目标回复语句,例如可以是“你好棒!”、“好厉害啊!”,使得整个情感对话就像是人与人之间的交流,不存在语义上的断层和逻辑上的偏离。
本公开实施例中的情感对话生成方法通过基于异质图神经网络的情感对话模型对多源知识进行异质图编码处理,以获取异质图特征信息,进而根据异质图特征信息确定与当前对话参与方对应的预测回复情绪;接着根据历史回复信息对应的特征信息和异质图特征信息确定待回复特征信息,并基于门控机制引入预测回复情绪对应的情绪特征或者预测回复情绪对应的情绪特征和当前对话参与方的个性特征,进而解码获得目标回复语句。一方面实现了对多模态信息进行处理,并基于异质图神经网络对异质图中的各类知识进行充分感知和聚合,进而根据聚合得到的特征信息能够准确预测目标回复语句应包含的情绪;另一方面通过综合考虑待回复特征信息和预测回复情绪或者待回复特征信息、预测回复情绪以及对话参与方的个性特征信息,能够提高目标回复语句的精准性,提高目标回复语句与用户话语的匹配度,进一步提升用户体验。
在本公开的一个实施例中,在采用情感对话模型对对话参与方的多源知识进行处理以获取目标回复语句之前,需要对待训练的情感对话模型进行训练,以获取稳定的情感对话模型。在模型训练时,可以获取多源知识样本,并根据多源知识样本对待训练的情感对话模型进行训练,以获取情感对话模型。
图9示出了情感对话模型训练的流程示意图,如图9所示,在步骤S901中,获取多源知识样本,将多源知识样本输入至待训练的情感对话模型,多源知识样本至少包括历史对话样本、回复样本,以及与历史对话样本和回复样本对应的情绪样本;在步骤S902中,根据历史对话样本以及与历史对话样本对应的情绪样本构建异质图,对异质图进行编码以获取样本特征信息,并根据样本特征信息确定与当前对话参与方对应的预测情绪信息;在步骤S903中,对回复样本对应的特征信息及样本特征信息进行编码以获取预测回复特征信息,并根据与预测情绪信息对应的情绪特征和预测回复特征信息确定预测回复语句;在步骤S904中,根据预测回复语句和回复样本构建第一损失函数,同时根据预测情绪信息和回复样本对应的情绪样本构建第二损失函数,并根据第一损失函数和第二损失函数优化待训练的情感对话模型的参数,以获取情感对话模型。
在本公开的一个实施例中,与上述实施例中多源知识的构成类似,多源知识样本除了可以包括对话样本和对话样本中各语句对应的情绪样本;还可以包括对话样本,以及对话样本中各语句所对应的表情图像样本和情绪样本和对话参与方的个性样本;还可以包括对话样本,以及对话样本中各语句所对应的情绪样本和对话参与方的个性样本;也可以包括对话样本,以及对话样本中各语句所对应的表情图像样本、情绪样本和对话参与方的个性样本。在模型训练过程中,通常将一段完整的对话作为对话样本,那么在根据对话样本进行模型训练时,可以将对话样本分为历史对话样本和回复样本,以图4所示的对话为例,可以将对话U1-U4作为历史对话样本,将对话U5作为回复样本,当多源知识样本包括对话样本和对话样本中各语句对应的情绪样本时,可以将与对话U1-U4对应的情绪信息作为与历史对话样本中各语句对应的情绪样本,将对话U5对应的情绪信息作为与回复样本对应的情绪样本;当多源知识样本包括对话样本,以及对话样本中各语句所对应的表情图像样本、情绪样本和对话参与方的个性样本时,可以将与对话U1-U4对应的情绪信息、表情图像、个性信息作为与历史对话样本中各语句对应的情绪样本、表情图像样本和个性样本,将对话U5对应的情绪信息、表情图像、个性信息作为与回复样本对应的情绪样本、表情图像样本和个性样本,等等。同样地,还可以将对话U1-U5作为历史对话样本,将对话U6作为回复样本,等等,进而根据不同组成的多源知识样本对待训练的情感对话模型进行多次训练。
由于多源知识样本所包含的知识的类别越多,根据该多源知识样本训练得到的情感对话模型的性能就越好,因此在本公开的实施例中优选以包含对话样本,以及对话样本中各语句所对应的表情图像样本、情绪样本和对话参与方的个性样本的多源知识样本对待训练情感对话模型进行训练。
在步骤S904中,在预测回复语句后,可以根据预测回复语句和回复样本构建第一损失函数,该第一损失函数用于表征预测回复语句与回复样本的偏离程度,同时还可以根据预测情绪信息和回复样本对应的情绪样本构建第二损失函数,该第二损失函数用于表征预测情绪信息与标准的情绪样本的偏离程度,接着根据第一损失函数和第二损失函数优化模型参数,直至完成预设次数的训练或者损失函数达到最小,即可获取稳定的情感对话模型。在本公开的实施例中,第一损失函数和第二损失函数均可以是交叉熵损失函数,其表达式分别如公式(8)和公式(9)所示:
/>
其中,LMLL为第一损失函数,yt为生成的第t个词语,J为目标预测回复语句包含词语的总数量,LCLS为第二损失函数,为第i个情绪类别对应的预测值,/>为第i个情绪类别对应的标准值,C1为情绪类别的总数,具体可以为7。
在计算第二损失函数时,回复样本对应的情绪样本所对应的情绪特征可以通过one-hot编码方式对情绪样本进行编码得到,也就是说,在情绪样本对应的向量表示中只有与标准的情绪类别对应的位置为1,其它情绪类别对应的位置均为0,即标记的情绪类别对应的标准值为1,非标记的情绪类别对应的标准值为0;预测情绪信息的情绪特征即为通过图8所示的获取预测回复情绪的方法流程对异质图样本特征信息进行处理所得到的情绪概率分布P;最后根据回复样本对应的情绪样本的情绪特征和预测情绪信息的情绪特征确定交叉熵损失函数即可。
在获取第一损失函数和第二损失函数之后,可以将第一损失函数和第二损失函数相加,并根据相加后的损失函数对待训练的情感对话模型进行反向调参,直至获取稳定的情感对话模型。在本公开的实施例中,第一损失函数和第二损失函数还可以是其它类型的损失函数,本公开实施例对此不作具体限定。
在本公开的一个实施例中,待训练的情感对话模型的结构与情感对话模型的结构类似,包括待训练编码器和待训练解码器,图9中步骤S902-S903的数据处理流程与基于异质图神经网络的情感对话模型的数据处理流程类似,在获取预测情绪信息时,首先通过对历史对话样本以及历史对话样本中各语句对应的情绪样本进行图构造和特征初始化,获取与历史对话样本对应的异质图以及与历史对话样本和情绪样本对应的子特征信息;接着通过异质图神经网络层根据异质图和多个子特征信息进行信息聚合并全连接以获取异质图样本特征信息;最后根据样本特征信息确定与当前对话参与方对应的预测情绪信息。在获取预测回复语句时,首先基于自注意力机制对回复样本对应的特征信息进行编码;接着基于自注意力机制对编码后的回复样本的特征信息和样本特征信息进行编码并全连接,以获取预测回复特征信息;最后对预测回复特征信息和预测情绪信息对应的情绪特征进行聚合及归一化处理,以获取预测回复语句。其中各步骤中的具体处理方法与上述实施例中进行情感对话的各步骤的具体处理方法相同,在此不再赘述。值得说明的是,在模型训练的过程中,输入至待训练解码器历史回复输入层的信息是与历史对话样本最后一个语句对应的回复,即回复样本,同时解码器的预期输出也是该回复样本。另外,根据多源知识样本中知识类别的不同,模型训练过程中各数据处理流程所针对的对象也不同,具体可参考情感对话生成方法实施例中涉及的数据处理流程和模型训练流程,在此不再赘述。
在本公开的一个实施例中,通过本公开实施例中的情感对话模型的训练方法训练得到的情感对话模型的性能相较于现有的Emo-HERD模型的性能有较大的提升,表一示出了本公开实施例中的情感对话模型和现有的Emo-HERD模型对两源知识进行处理所得到的性能参数,具体为:
表1模型对两源知识进行处理得到的性能参数
模型 | PPL | BLEU | DIST-1 | DIST-2 | w-avg |
Emo-HERD | 116.14 | 1.87 | 1.23 | 3.77 | 29.67 |
本公开 | 106.04 | 1.91 | 2.52 | 5.95 | 31.58 |
表1中示出了五个评价指标,其中PPL为困惑度,表征回复的质量,该指标值越小越好;BLEU为句子连续性,通常根据4个词语之间的连续性进行评判,该指标的值越大越好;Dist-1、Dist-2为多样性,表征回复中词语的多样性,Dist-1表示1个词的多样性,Dist-2表示连续2个词的多样性,该指标的值越大越好;w-avg为情绪预测的平均值,具体为7类情绪对应的F1值的平均值,该指标的值越大越好。由于情感对话模型的一个主要任务是预测当前对话参与方的情绪,因此在评价模型性能时,指标w-avg的重要性最高。
从表1分析可知,本公开实施例中的情感对话模型对两源知识进行处理所得到的各项性能参数均优于现有的Emo-HERD模型对两源知识进行处理所得到的性能参数,也就是说,本公开的基于异质图神经网络的情感对话模型能够对多源知识进行处理获得质量更高的回复。另外,由于多源知识样本所包含的知识的类别越多,根据多源知识样本训练得到的基于异质图神经网络的情感对话模型的性能越好,因此根据包含知识类别数更多的多源知识样本,例如四源知识等,对待训练的基于异质图神经网络的情感对话模型进行训练,可以获取性能更好的基于异质图神经网络的情感对话模型,进而通过该基于异质图神经网络的情感对话模型对多源知识进行处理能够得到情绪更贴合语境、逻辑更通顺、用词更恰当的回复。
以下介绍本公开的装置实施例,可以用于执行本公开上述实施例中的基于异质图神经网络的情感对话生成方法。对于本公开装置实施例中未披露的细节,请参照本公开上述的情感对话生成方法的实施例。
图10示意性示出了根据本公开的一个实施例的情感对话生成装置的框图。
参照图10所示,根据本公开的一个实施例的情感对话生成装置1000,包括:多源知识获取模块1001、回复情绪预测模块1002、待回复特征确定模块1003和回复语句生成模块1004。
其中,多源知识获取模块1001,用于获取与对话参与方相关的多源知识;回复情绪预测模块1002,用于根据所述多源知识构建异质图,对所述异质图进行编码以获取异质图特征信息,并根据所述异质图特征信息确定与当前对话参与方对应的预测回复情绪;待回复特征确定模块1003,用于对历史回复信息对应的特征信息及所述异质图特征信息进行编码,以获取待回复特征信息;回复语句生成模块1004,用于根据与所述预测回复情绪对应的情绪特征和所述待回复特征信息确定目标回复语句。
在本公开的一个实施例中,所述回复情绪预测模块1002包括:图构建单元,用于以所述多源知识中的知识为节点,以各所述知识之间的关系为边构建所述异质图;特征提取单元,用于对所述多源知识中的各类知识进行特征提取,以获取多个子特征信息;聚合单元,用于根据所述异质图和各所述子特征信息进行信息聚合,以获取第一聚合特征信息;全连接单元,用于对所述第一聚合特征信息进行全连接处理,以获取所述异质图特征信息。
在本公开的一个实施例中,所述多源知识包括:历史对话,以及所述历史对话中各语句所对应的情绪信息、表情图像和对话参与方的个性信息;所述图构建单元配置为:将各所述语句,与各所述语句对应的情绪信息、表情图像和对话参与方的个性信息作为所述节点;确定各所述节点之间的关系类型,根据所述关系类型确定所述节点之间的边,并基于所述节点和所述边构建所述异质图。
在本公开的一个实施例中,所述关系类型包括:语句间的时间连续性、语句对应的对话参与方的个性信息、语句对应的情绪信息、语句对应的表情图像、表情图像间的时间连续性、表情图像对应的对话参与方的个性信息、表情图像对应的情绪信息,以及对话参与方的个性信息对应的情绪信息。
在本公开的一个实施例中,所述聚合单元配置为:根据所述异质图确定邻接矩阵,并根据不同类型节点所对应的掩码矩阵和所述邻接矩阵获取与不同类型节点对应的目标邻接矩阵;根据与不同类型节点对应的所述目标邻接矩阵和第N层节点特征信息确定第N+1层节点特征信息;根据所述异质图的层数重复上一步骤,直至获取所述第一聚合特征信息;其中,N为正整数,当N=1时,与不同类型节点对应的第一层节点特征信息为各所述子特征信息。
在本公开的一个实施例中,所述特征提取单元配置为:通过长短期记忆网络和自注意力网络依次对所述历史对话中的上下文关系进行编码,以获取第一子特征信息;通过图像特征提取网络对所述表情图像进行特征提取以获取面部表情特征,并通过前馈神经网络对所述面部表情特征进行全连接处理,以获取第二子特征信息;根据所述情绪信息在情绪查找表中进行查询,以获取第三子特征信息;根据所述个性信息在个性查找表中进行查询,以获取第四子特征信息。
在本公开的一个实施例中,所述回复情绪预测模块1002配置为:对所述异质图特征信息进行降维处理,以获取第一维度为1的特征向量;对所述特征向量进行全连接处理和归一化处理,以获取所述预测回复情绪。
在本公开的一个实施例中,所述回复语句生成模块1004配置为:根据门控机制对所述情绪特征和所述待回复特征信息进行聚合,以获取第二聚合特征信息;对所述第二聚合特征信息进行归一化处理以获取当前回复信息,并根据所述当前回复信息和所述历史回复信息确定所述目标回复语句。
在本公开的一个实施例中,所述获取第二聚合特征信息还配置为:根据门控机制对所述情绪特征、与所述当前对话参与方对应的个性特征和所述待回复特征信息进行聚合,以获取所述第二聚合特征信息。
图11示意性示出了根据本公开的一个实施例的情感对话模型的训练装置的框图。
参照图11所示,根据本公开的一个实施例的情感对话模型的训练装置1100,包括:样本获取模块1101、情绪预测模块1102、回复预测模块1103和参数优化模块1104。
其中,样本获取模块1101,用于获取多源知识样本,将所述多源知识样本输入至待训练的情感对话模型,所述多源知识样本至少包括历史对话样本、回复样本,以及与所述历史对话样本中各语句和所述回复样本对应的情绪样本;情绪预测模块1102,用于根据所述历史对话样本以及与所述历史对话样本中各语句对应的情绪样本构建异质图,对所述异质图进行编码以获取样本特征信息,并根据所述样本特征信息确定与当前对话参与方对应的预测情绪信息;回复预测模块1103,用于对所述回复样本对应的特征信息及所述样本特征信息进行编码以获取预测回复特征信息,并根据与所述预测情绪信息对应的情绪特征和所述预测回复特征信息确定预测回复语句;参数优化模块1104,用于根据所述预测回复语句和所述回复样本构建第一损失函数,同时根据所述预测情绪信息和所述回复样本对应的情绪样本构建第二损失函数,并根据所述第一损失函数和所述第二损失函数优化所述待训练的情感对话模型的参数,以获取情感对话模型。
图12示出了适于用来实现本公开实施例的情感对话生成装置、情感对话模型的训练装置的计算机系统的结构示意图。
需要说明的是,图12示出的情感对话生成装置、情感对话模型的训练装置的计算机系统1200仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图12所示,计算机系统1200包括中央处理单元(Central Processing Unit,CPU)1201,其可以根据存储在只读存储器(Read-Only Memory,ROM)1202中的程序或者从储存部分1208加载到随机访问存储器(Random Access Memory,RAM)1203中的程序而执行各种适当的动作和处理,实现上述实施例中所述的情感对话生成方法。在RAM 1203中,还存储有系统操作所需的各种程序和数据。CPU 1201、ROM 1202以及RAM1203通过总线1204彼此相连。输入/输出(Input/Output,I/O)接口1205也连接至总线1204。
以下部件连接至I/O接口1205:包括键盘、鼠标等的输入部分1206;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1207;包括硬盘等的储存部分1208;以及包括诸如LAN(Local AreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分1209。通信部分1209经由诸如因特网的网络执行通信处理。驱动器1210也根据需要连接至I/O接口1205。可拆卸介质1211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1210上,以便于从其上读出的计算机程序根据需要被安装入储存部分1208。
特别地,根据本公开的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1209从网络上被下载和安装,和/或从可拆卸介质1211被安装。在该计算机程序被中央处理单元(CPU)1201执行时,执行本公开的系统中限定的各种功能。
需要说明的是,本公开实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本公开还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的基于异质图神经网络的情感对话生成装置中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本公开实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (15)
1.一种情感对话生成方法,其特征在于,包括:
获取与对话参与方相关的多源知识,所述多源知识包括与所述对话参与方相关的历史对话以及所述历史对话中各语句对应的情绪信息;
将所述多源知识输入至情感对话模型,通过所述情感对话模型对所述多源知识进行处理以获取相应的回复语句;
其中,通过所述情感对话模型对所述多源知识进行处理以获取相应的回复语句,包括:
根据所述多源知识构建异质图,对所述异质图进行编码以获取异质图特征信息,并根据所述异质图特征信息确定与当前对话参与方对应的预测回复情绪;
对历史回复信息对应的特征信息及所述异质图特征信息进行编码,以获取待回复特征信息;
根据与所述预测回复情绪对应的情绪特征和所述待回复特征信息确定目标回复语句。
2.根据权利要求1所述的方法,其特征在于,所述根据所述多源知识构建异质图,对所述异质图进行编码以获取异质图特征信息,包括:
以所述多源知识中的知识为节点,以各所述知识之间的关系为边构建所述异质图;
对所述多源知识中的各类知识进行特征提取,以获取多个子特征信息;
根据所述异质图和各所述子特征信息进行信息聚合,以获取第一聚合特征信息;
对所述第一聚合特征信息进行全连接处理,以获取所述异质图特征信息。
3.根据权利要求2所述的方法,其特征在于,所述多源知识包括:历史对话,以及所述历史对话中各语句所对应的情绪信息、表情图像和对话参与方的个性信息;
所述以所述多源知识中的知识为节点,以各所述知识之间的关系为边构建所述异质图,包括:
将各所述语句,与各所述语句对应的情绪信息、表情图像和对话参与方的个性信息作为所述节点;
确定各所述节点之间的关系类型,根据所述关系类型确定所述节点之间的边,并基于所述节点和所述边构建所述异质图。
4.根据权利要求3所述的方法,其特征在于,所述关系类型包括:语句间的时间连续性、语句对应的对话参与方的个性信息、语句对应的情绪信息、语句对应的表情图像、表情图像间的时间连续性、表情图像对应的对话参与方的个性信息、表情图像对应的情绪信息,以及对话参与方的个性信息对应的情绪信息。
5.根据权利要求2所述的方法,其特征在于,所述根据所述异质图和各所述子特征信息进行信息聚合,以获取第一聚合特征信息,包括:
根据所述异质图确定邻接矩阵,并根据不同类型节点所对应的掩码矩阵和所述邻接矩阵获取与不同类型节点对应的目标邻接矩阵;
根据与不同类型节点对应的所述目标邻接矩阵和第N层节点特征信息确定第N+1层节点特征信息;
根据所述异质图的层数重复上一步骤,直至获取所述第一聚合特征信息;
其中,N为正整数,当N=1时,与不同类型节点对应的第一层节点特征信息为各所述子特征信息。
6.根据权利要求3所述的方法,其特征在于,所述对所述多源知识中的各类知识进行特征提取,以获取多个子特征信息,包括:
通过长短期记忆网络和自注意力网络依次对所述历史对话中的上下文关系进行编码,以获取第一子特征信息;
通过图像特征提取网络对所述表情图像进行特征提取以获取面部表情特征,并通过前馈神经网络对所述面部表情特征进行全连接处理,以获取第二子特征信息;
根据所述情绪信息在情绪查找表中进行查询,以获取第三子特征信息;
根据所述个性信息在个性查找表中进行查询,以获取第四子特征信息。
7.根据权利要求1所述的方法,其特征在于,所述根据所述异质图特征信息确定与当前对话参与方对应的预测回复情绪,包括:
对所述异质图特征信息进行降维处理,以获取第一维度为1的特征向量;
对所述特征向量进行全连接处理和归一化处理,以获取所述预测回复情绪。
8.根据权利要求1所述的方法,其特征在于,所述根据与所述预测回复情绪对应的情绪特征和所述待回复特征信息确定目标回复语句,包括:
根据门控机制对所述情绪特征和所述待回复特征信息进行聚合,以获取第二聚合特征信息;
对所述第二聚合特征信息进行归一化处理以获取当前回复信息,并根据所述当前回复信息和所述历史回复信息确定所述目标回复语句。
9.根据权利要求8所述的方法,其特征在于,获取第二聚合特征信息还包括:
根据门控机制对所述情绪特征、与所述当前对话参与方对应的个性特征和所述待回复特征信息进行聚合,以获取所述第二聚合特征信息。
10.一种情感对话模型的训练方法,其特征在于,包括:
获取多源知识样本,将所述多源知识样本输入至待训练的情感对话模型,所述多源知识样本至少包括历史对话样本、回复样本,以及与所述历史对话样本中各语句和所述回复样本对应的情绪样本;
通过所述待训练的情感对话模型对所述多源知识样本进行处理以获取相应的预测回复语句;
根据所述预测回复语句和所述回复样本构建第一损失函数,同时根据预测情绪信息和所述回复样本对应的情绪样本构建第二损失函数,并根据所述第一损失函数和所述第二损失函数优化所述待训练的情感对话模型的参数,以获取情感对话模型;
其中,通过所述待训练的情感对话模型对所述多源知识样本进行处理以获取相应的预测回复语句,包括:
根据所述历史对话样本以及与所述历史对话样本中各语句对应的情绪样本构建异质图,对所述异质图进行编码以获取样本特征信息,并根据所述样本特征信息确定与当前对话参与方对应的预测情绪信息;
对所述回复样本对应的特征信息及所述样本特征信息进行编码以获取预测回复特征信息,并根据与所述预测情绪信息对应的情绪特征和所述预测回复特征信息确定预测回复语句。
11.根据权利要求10所述的方法,其特征在于,所述多源知识样本还包括与所述历史对话样本中各语句对应的表情图像样本和对话参与方的个性样本,以及与所述回复样本对应的表情图像样本和对话参与方的个性样本;
构建异质图还包括:
将所述历史对话样本中各语句,各所述语句对应的情绪样本、表情图像样本和对话参与方的个性样本作为节点;
确定各所述节点之间的关系类型,根据所述关系类型确定所述节点之间的边,并基于所述节点和所述边构建所述异质图。
12.一种情感对话生成装置,其特征在于,包括:
多源知识获取模块,用于获取与对话参与方相关的多源知识,所述多源知识包括与所述对话参与方相关的历史对话以及所述历史对话中各语句对应的情绪信息;将所述多源知识输入至情感对话模型,通过所述情感对话模型对所述多源知识进行处理以获取相应的回复语句;
其中,所述情感对话模型包括:
回复情绪预测模块,用于根据所述多源知识构建异质图,对所述异质图进行编码以获取异质图特征信息,并根据所述异质图特征信息确定与当前对话参与方对应的预测回复情绪;
待回复特征确定模块,用于对历史回复信息对应的特征信息及所述异质图特征信息进行编码,以获取待回复特征信息;
回复语句生成模块,用于根据与所述预测回复情绪对应的情绪特征和所述待回复特征信息确定目标回复语句。
13.一种情感对话模型的训练装置,其特征在于,包括:
样本获取模块,用于获取多源知识样本,将所述多源知识样本输入至待训练的情感对话模型,所述多源知识样本至少包括历史对话样本、回复样本,以及与所述历史对话样本中各语句和所述回复样本对应的情绪样本;通过所述待训练的情感对话模型对所述多源知识样本进行处理以获取相应的预测回复语句;
参数优化模块,用于根据所述预测回复语句和所述回复样本构建第一损失函数,同时根据预测情绪信息和所述回复样本对应的情绪样本构建第二损失函数,并根据所述第一损失函数和所述第二损失函数优化所述待训练的情感对话模型的参数,以获取情感对话模型;
其中,所述待训练的情感对话模型包括:
情绪预测模块,用于根据所述历史对话样本以及与所述历史对话样本中各语句对应的情绪样本构建异质图,对所述异质图进行编码以获取样本特征信息,并根据所述样本特征信息确定与当前对话参与方对应的预测情绪信息;
回复预测模块,用于对所述回复样本对应的特征信息及所述样本特征信息进行编码以获取预测回复特征信息,并根据与所述预测情绪信息对应的情绪特征和所述预测回复特征信息确定预测回复语句。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-9中任意一项所述的情感对话生成方法和权利要求10-11所述的情感对话模型的训练方法。
15.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-9中任意一项所述的情感对话生成方法和权利要求10-11所述的情感对话模型的训练方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010733045.5A CN111966800B (zh) | 2020-07-27 | 2020-07-27 | 情感对话生成方法、装置及情感对话模型训练方法、装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010733045.5A CN111966800B (zh) | 2020-07-27 | 2020-07-27 | 情感对话生成方法、装置及情感对话模型训练方法、装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111966800A CN111966800A (zh) | 2020-11-20 |
CN111966800B true CN111966800B (zh) | 2023-12-12 |
Family
ID=73362860
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010733045.5A Active CN111966800B (zh) | 2020-07-27 | 2020-07-27 | 情感对话生成方法、装置及情感对话模型训练方法、装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111966800B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112463967A (zh) * | 2020-12-07 | 2021-03-09 | 携程计算机技术(上海)有限公司 | 情绪预警方法、系统、设备及存储介质 |
CN112733994A (zh) * | 2020-12-10 | 2021-04-30 | 中国科学院深圳先进技术研究院 | 机器人的自主情感生成方法、系统及应用 |
CN113112994B (zh) * | 2021-04-21 | 2023-11-07 | 江苏师范大学 | 基于图卷积神经网络的跨语料库情感识别方法 |
CN113239147A (zh) * | 2021-05-12 | 2021-08-10 | 平安科技(深圳)有限公司 | 基于图神经网络的智能会话方法、系统及介质 |
CN113377907B (zh) * | 2021-06-08 | 2023-06-09 | 四川大学 | 基于记忆掩码自注意力网络的端到端任务型对话系统 |
CN113345590B (zh) * | 2021-06-29 | 2022-12-16 | 安徽大学 | 一种基于异质图的用户心理健康监测方法及系统 |
CN113571097B (zh) * | 2021-09-28 | 2022-01-18 | 之江实验室 | 一种说话人自适应的多视角对话情感识别方法及系统 |
CN114662105B (zh) * | 2022-03-17 | 2023-03-31 | 电子科技大学 | 基于图节点关系和图压缩识别Android恶意软件的方法及系统 |
CN116595985A (zh) * | 2023-03-09 | 2023-08-15 | 华院计算技术(上海)股份有限公司 | 一种基于生成式常识辅助增强对话中情绪识别的方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104268230A (zh) * | 2014-09-28 | 2015-01-07 | 福州大学 | 一种基于异质图随机游走的中文微博客观点探测方法 |
CN108805089A (zh) * | 2018-06-14 | 2018-11-13 | 南京云思创智信息科技有限公司 | 基于多模态的情绪识别方法 |
CN110008477A (zh) * | 2019-04-15 | 2019-07-12 | 江西财经大学 | 一种中文情感评价单元抽取方法 |
CN110347792A (zh) * | 2019-06-25 | 2019-10-18 | 腾讯科技(深圳)有限公司 | 对话生成方法及装置、存储介质、电子设备 |
CN110795531A (zh) * | 2019-10-10 | 2020-02-14 | 卓尔智联(武汉)研究院有限公司 | 一种意图识别方法、装置及存储介质 |
CN111428015A (zh) * | 2020-03-20 | 2020-07-17 | 腾讯科技(深圳)有限公司 | 一种信息生成方法、装置、设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10223440B2 (en) * | 2015-06-29 | 2019-03-05 | International Business Machines Corporation | Question and answer system emulating people and clusters of blended people |
-
2020
- 2020-07-27 CN CN202010733045.5A patent/CN111966800B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104268230A (zh) * | 2014-09-28 | 2015-01-07 | 福州大学 | 一种基于异质图随机游走的中文微博客观点探测方法 |
CN108805089A (zh) * | 2018-06-14 | 2018-11-13 | 南京云思创智信息科技有限公司 | 基于多模态的情绪识别方法 |
CN110008477A (zh) * | 2019-04-15 | 2019-07-12 | 江西财经大学 | 一种中文情感评价单元抽取方法 |
CN110347792A (zh) * | 2019-06-25 | 2019-10-18 | 腾讯科技(深圳)有限公司 | 对话生成方法及装置、存储介质、电子设备 |
CN110795531A (zh) * | 2019-10-10 | 2020-02-14 | 卓尔智联(武汉)研究院有限公司 | 一种意图识别方法、装置及存储介质 |
CN111428015A (zh) * | 2020-03-20 | 2020-07-17 | 腾讯科技(深圳)有限公司 | 一种信息生成方法、装置、设备及存储介质 |
Non-Patent Citations (3)
Title |
---|
Emotion-based control of cooperating heterogeneous mobile robots;R.R. Murphy等;IEEE Transactions on Robotics and Automation;第18卷(第5期);744-757 * |
Heterogeneous graph neural network;Chuxu Zhang等;SIGKDD explorations;793–803 * |
融合社交情感分析的股市预测探究;刘斌;计算机系统应用;第27卷(第02期);250-256 * |
Also Published As
Publication number | Publication date |
---|---|
CN111966800A (zh) | 2020-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111966800B (zh) | 情感对话生成方法、装置及情感对话模型训练方法、装置 | |
CN111897933B (zh) | 情感对话生成方法、装置及情感对话模型训练方法、装置 | |
CN113255755B (zh) | 一种基于异质融合网络的多模态情感分类方法 | |
CN111198937B (zh) | 对话生成及装置、计算机可读存储介质、电子设备 | |
Sadoughi et al. | Speech-driven expressive talking lips with conditional sequential generative adversarial networks | |
CN106448670A (zh) | 基于深度学习和强化学习的自动回复对话系统 | |
CN106875940B (zh) | 一种基于神经网络的机器自学习构建知识图谱训练方法 | |
CN108595436B (zh) | 情感对话内容的生成方法和系统、存储介质 | |
CN112214591B (zh) | 一种对话预测的方法及装置 | |
WO2020155619A1 (zh) | 带情感的机器聊天方法、装置、计算机设备及存储介质 | |
CN111159368A (zh) | 一种个性化对话的回复生成方法 | |
CN113987179B (zh) | 基于知识增强和回溯损失的对话情绪识别网络模型、构建方法、电子设备及存储介质 | |
CN108228576B (zh) | 文本翻译方法及装置 | |
CN112527966B (zh) | 基于Bi-GRU神经网络和自注意力机制的网络文本情感分析方法 | |
WO2021135457A1 (zh) | 基于循环神经网络的情绪识别方法、装置及存储介质 | |
CN113065344A (zh) | 一种基于迁移学习和注意力机制的跨语料库情感识别方法 | |
CN112364148B (zh) | 一种基于深度学习方法的生成型聊天机器人 | |
CN114386426B (zh) | 一种基于多元语义融合的金牌话术推荐方法及装置 | |
CN116561265A (zh) | 个性化对话生成方法和模型训练方法以及设备 | |
CN115937369A (zh) | 一种表情动画生成方法、系统、电子设备及存储介质 | |
CN112910761B (zh) | 即时通讯方法、装置、设备、存储介质以及程序产品 | |
CN116564338B (zh) | 语音动画生成方法、装置、电子设备和介质 | |
CN117271745A (zh) | 一种信息处理方法、装置及计算设备、存储介质 | |
CN111653270A (zh) | 语音处理方法、装置、计算机可读存储介质及电子设备 | |
CN116975288A (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 |