CN112100354B - 人机对话方法、装置、设备及存储介质 - Google Patents
人机对话方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112100354B CN112100354B CN202010972516.8A CN202010972516A CN112100354B CN 112100354 B CN112100354 B CN 112100354B CN 202010972516 A CN202010972516 A CN 202010972516A CN 112100354 B CN112100354 B CN 112100354B
- Authority
- CN
- China
- Prior art keywords
- data
- dialogue
- replied
- reply
- question
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000012549 training Methods 0.000 claims abstract description 115
- 238000013519 translation Methods 0.000 claims abstract description 33
- 238000000605 extraction Methods 0.000 claims description 47
- 238000004891 communication Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 10
- 238000013210 evaluation model Methods 0.000 claims description 9
- 238000011084 recovery Methods 0.000 abstract description 16
- 230000003993 interaction Effects 0.000 description 21
- 239000013598 vector Substances 0.000 description 20
- 230000008569 process Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000008685 targeting 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/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/26—Speech to text systems
-
- 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)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Human Computer Interaction (AREA)
- Evolutionary Biology (AREA)
- Databases & Information Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Probability & Statistics with Applications (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Machine Translation (AREA)
Abstract
本发明实施例提供了一种人机对话方法、装置、设备及存储介质,获取待回复的输入数据以及历史对话数据;将所述待回复的输入数据和所述历史对话数据,输入预先训练得到的多语言编码模型,得到所述待回复的输入数据的第一特征和所述历史对话数据的第二特征;其中,所述多语言编码模型为利用样本源语言数据和多语言翻译所述样本源语言数据得到的样本目标语言数据,样本源语言的多轮对话数据以及样本源语言的问答数据,进行多任务训练得到的模型;基于所述第一特征和所述第二特征,获取与所述待回复的输入数据匹配的回复数据。本方案可以提高在低资源语料环境下,跨语言的人机对话的回复准确度。
Description
技术领域
本发明涉及人机对话技术领域,特别是涉及一种人机对话方法、装置、设备及存储介质。
背景技术
对话语料库是实现人机对话的重要资源。例如,对话语料库可以作为用于人机对话中输入数据的识别模型的训练样本,还可以作为输出数据的数据库。在具体应用中,可以利用不同的对话语料库实现不同表述语言和对话轮数的人机对话。举例而言,可以利用中文问答语料库实现中文表述、且仅进行一轮问答的人机对话;可以利用英文多轮对话语料库,实现英文表述、且在上一轮问答的基础上,进行下一轮问答的多轮人机对话等等。
发明人在实现本发明的过程中发现,随着用户的多样化和人机对话向自然语言发展的需求,人机对话不再局限于单语言单轮对话,而是以多种语言表述的跨语言多轮对话。例如,某一用户在上一轮对话中询问“推荐一下孙俪的电视剧”,系统给出了相应的回复数据为孙俪的作品,然后用户再次询问“她husband有什么推荐的作品吗”。
但是,由于跨语言多轮对话的对话数据收集较为困难,需要花费大量的人力物力,成本相对昂贵,因此,跨语言多轮对话语料库属于低资源语料。对此,如果直接将单语言单轮对话的人机对话用于实现跨语言多轮对话,会仅针对单轮输入数据“她husband有什么推荐的作品吗”检索答案作为回复数据,回复答案无法准确匹配上孙俪丈夫的作品;并且,无法识别“husband”会造成对单轮输入数据“她husband有什么推荐的作品吗”的识别不准确,进一步降低回复数据的准确度。或者,如果直接将单语言多轮对话的人机对话用于实现跨语言多轮对话,会导致无法识别“husband”造成对单轮输入数据“她husband有什么推荐的作品吗”的识别不准确,降低回复数据的准确度。
可见,如何实现在低资源语料环境下,跨语言的多轮人机对话的回复准确度,是亟待解决的问题。
发明内容
本发明实施例的目的在于提供一种人机对话方法、装置、设备及存储介质,以实现提高在低资源语料环境下,跨语言的多轮人机对话的回复准确度的效果。具体技术方案如下:
第一方面,本发明实施例提供了一种人机对话方法,所述方法包括:
获取待回复的输入数据以及历史对话数据;其中,所述历史对话数据为产生所述待回复的输入数据的多轮对话中,对话时间在所述待回复的输入数据之前的对话数据;
将所述待回复的输入数据和所述历史对话数据,输入预先训练得到的多语言编码模型,得到所述待回复的输入数据的第一特征和所述历史对话数据的第二特征;其中,所述多语言编码模型为利用样本源语言数据和多语言翻译所述样本源语言数据得到的样本目标语言数据,样本源语言的多轮对话数据以及样本源语言的问答数据,进行多任务训练得到的模型;所述多任务训练包括:用于预测多语言数据翻译结果的任务的训练,用于预测多轮对话数据中回复的任务的训练以及用于预测问答数据中答案的任务的训练;
基于所述第一特征和所述第二特征,获取与所述待回复的输入数据匹配的回复数据。
第二方面,本发明实施例提供了一种人机对话装置,所述装置包括:
数据获取模块,用于获取待回复的输入数据以及历史对话数据;其中,所述历史对话数据为产生所述待回复的输入数据的多轮对话中,对话时间在所述待回复的输入数据之前的对话数据;
特征获取模块,用于将所述待回复的输入数据和所述历史对话数据,输入预先训练得到的多语言编码模型,得到所述待回复的输入数据的第一特征和所述历史对话数据的第二特征;其中,所述多语言编码模型为利用样本源语言数据和多语言翻译所述样本源语言数据得到的样本目标语言数据,样本源语言的多轮对话数据以及样本源语言的问答数据,进行多任务训练得到的模型;所述多任务训练包括:用于预测多语言数据翻译结果的任务的训练,用于预测多轮对话数据中回复的任务的训练以及用于预测问答数据中答案的任务的训练;
回复数据确定模块,用于基于所述第一特征和所述第二特征,获取与所述待回复的输入数据匹配的回复数据。
第三方面,本发明实施例提供了一种电子设备,该设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现上述第一方面提供的人机对话方法的步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面提供的人机对话方法的步骤。
本发明实施例有益效果:
本发明实施例提供的方案中,多任务训练包括:用于预测跨语言数据翻译结果的任务的训练,用于预测多轮对话数据中回复的任务的训练以及用于预测问答数据中答案的任务的训练;并且,多轮对话数据可以看作相互关联的多个问答数据。因此,利用多任务训练得到的多语言编码模型能够在低资源语料环境下,对跨语言的多轮对话进行特征提取,并在识别输入数据本身的同时,综合历史对话数据对待回复的输入数据的影响,从而保证本发明确定的回复数据与针对单轮输入数据检索答案得到的回复数据相比,相对而言更加符合输入数据的真实语义。因此,本方案通过对跨语言的人机对话场景中输入数据和历史对话数据的识别,可以提高在低资源语料环境下,跨语言的人机对话的回复准确度。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的人机对话方法的流程示意图;
图2为本发明另一实施例提供的人机对话方法的离线阶段到在线阶段的流程示例图;
图3为本发明一实施例提供的人机对话装置的结构示意图;
图4为本发明另一实施例提供的人机对话装置的结构示意图;
图5为本发明一实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
首先对本发明一实施例的人机对话方法进行介绍。
本发明实施例提供的人机对话方法,可以应用于能够进行人机交互的电子设备,该电子设备具体可以包括台式计算机、便携式计算机、互联网电视,智能移动终端、可穿戴式智能终端以及服务器等,在此不作限定,任何可以实现本发明实施例的电子设备,均属于本发明实施例的保护范围。
如图1所示,本发明一实施例提供的人机对话方法的流程,该流程可以包括以下步骤:
S101,获取待回复的输入数据以及历史对话数据。
其中,历史对话数据为产生待回复的输入数据的多轮对话中,对话时间在待回复的输入数据之前的对话数据。
在具体应用中,获取待回复的输入数据的方式可以是多种的。示例性的,当用户以文字进行人机对话时,可以直接接收用户输入的文字信息,作为待回复的输入数据;或者,当用户以语音进行人机对话时,可以将接收的语音信息转换为文本数据,作为待回复的输入数据。
并且,获取历史对话数据的方式,可以是多种的。示例性的,当历史对话数据存储在作为本发明执行主体的电子设备本地时,可以获取待回复的输入数据的用户标识,进而从该电子设备本地读取该用户标识对应的产生待回复的输入数据的多轮对话中,对话时间在待回复的输入数据之前的对话数据,作为历史对话数据。或者,示例性的,当历史对话数据存储在与作为本发明执行主体的电子设备通信连接的云端时,可以获取待回复的输入数据的用户标识,进而向云端请求该用户标识对应的产生待回复的输入数据的多轮对话中,对话时间在待回复的输入数据之前的对话数据,作为历史对话数据。
另外,对于任一待回复的输入数据,历史对话数据具体可以为在该待回复的输入数据之前的历史输入数据,以及历史输入数据的回复数据。对于历史输入数据的数量,可以按照具体应用场景设置,可以为一个,或者多个。
任何获取待回复的输入数据以及历史对话数据的方式,均可用于本发明,本实施例对此不作限制。
S102,将待回复的输入数据和历史对话数据,输入预先训练得到的多语言编码模型,得到待回复的输入数据的第一特征和历史对话数据的第二特征。
其中,多语言编码模型为利用样本源语言数据和多语言翻译所述样本源语言数据得到的样本目标语言数据,样本源语言的多轮对话数据以及样本源语言的问答数据,进行多任务训练得到的模型;多任务训练包括:用于预测跨语言数据翻译结果的任务的训练,用于预测多轮对话数据中回复的任务的训练以及用于预测问答数据中答案的任务的训练。
在人机对话中,特征提取和回复数据获取阶段,电子设备处理的输入数据和回复数据通常为文本数据,多语言编码模型用于提取文本数据的特征,以实现对文本数据的向量化。为此,多语言编码模型具体可以包括结构相同的第一自编码模块和第二自编码模块,分别用于获取输入多语言编码模型的文本数据中的词语的向量和字的向量,进而对词语的向量和字的向量进行拼接,作为该文本数据的特征。示例性的,第一自编码模块和第二自编码模块可以为Transformer模型中的编码模块,任一编码模块可以包括多个堆栈单元,每个堆栈单元包含多个前向层和多头自注意力层。其中,Transformer模型是一种完全基于注意力机制的Encoder-Decoder(编码-解码)模型。任一编码模块可以利用双向自注意力机制计算文本数据中所有词的上下文相关向量表示,随后取所有词的上下文相关向量表示的均值作为该文本数据的向量即特征。
并且,对于跨语言的多轮人机对话的应用场景,可以对跨语言表述的文本数据进行识别:特征提取;并且,历史对话数据相当于多轮对话,可以对多轮对话数据整体进行识别:特征提取;并且,历史对话数据可以看作多个问答数据,可以对历史对话数据中每个对话数据也就是问答数据进行识别:特征提取。为此,可以进行多任务训练以得到多语言编码模型。其中,多任务训练包括:用于预测跨语言数据翻译结果的任务的训练,用于预测多轮对话数据中回复的任务的训练以及用于预测问答数据中答案的任务的训练。具体的,用于预测跨语言数据翻译结果的任务的训练,可以利用样本源语言数据和多语言翻译样本源语言数据得到的样本目标语言数据进行,并获取训练完成时的特征提取层,作为第一特征提取层,第一特征提取层可以对跨语言表述的文本数据进行特征提取,实现在低资源语料环境下,对跨语言表述的文本数据的识别。以此为基础,将第一特征提取层作为用于预测多轮对话数据中回复的任务的特征提取层,并利用样本源语言的多轮对话数据对用于预测多轮对话数据中回复的任务进行训练,并获取训练完成时的特征提取层,作为第二特征提取层,第二特征提取层可以对跨语言表述的多轮对话数据进行特征提取。在此基础上,将第二特征提取层作为用于预测问答数据中答案的任务的特征提取层,并利用样本源语言的问答数据对用于预测问答数据中答案的任务进行训练,获取训练完成时的特征提取层,作为多语言编码模型,那么,多语言编码模型可以对跨语言表述的多轮对话、以及多轮对话中的任一问答数据进行特征提取。
由此可见,利用多任务训练得到的多语言编码模型能够在低资源语料环境下,对跨语言的多轮对话进行特征提取,并在识别输入数据本身的同时,综合历史对话数据对待回复的输入数据的影响。因此,多语言编码模型可以提高对待回复的输入数据和历史对话数据的识别准确度,提高所提取的第一特征和第二特征所表明的语义的准确度,有利于后续在步骤S103中基于第一特征和第二特征,获取的多轮对话语义数据的语义准确度。示例性的,样本源语言数据可以为q1,样本目标语言数据可以为r1,当用于预测跨语言数据翻译结果的任务的训练中,负对数似然p(r1|q1)达到最小值时,将用于预测跨语言数据翻译结果的任务所使用的特征提取层作为第一特征提取层。类似的,样本源语言的多轮对话数据中的前指定数量轮对话数据为q2,q2对应的回复数据为r2,当用于预测样本源语言的多轮对话数据中回复的任务的训练中,负对数似然p(r2|q2)达到最小值时,将用于预测样本源语言的多轮对话数据中回复的任务所使用的特征提取层作为第二特征提取层。样本源语言的问答数据中的问题数据为q3,q3对应的回复数据为r3,当用于预测样本源语言的问答数据中回复的任务的训练中,负对数似然p(r3|q3)达到最小值时,将用于预测样本源语言中回复的问答数据的任务所使用的特征提取层作为多语言编码模型。
S103,基于第一特征和第二特征,获取与待回复的输入数据匹配的回复数据。
基于第一特征和第二特征,获取与待回复的输入数据匹配的回复数据,具体可以是获取第一特征和第二特征所表明的待回复的输入数据的语义数据,并获取符合所获取的语义数据的回复数据,作为与待回复的输入数据匹配的回复数据。其中,获取第一特征和第二特征所表明的待回复的输入数据的语义数据的具体方式可以是多种的,并且对应于不同的多轮对话语义数据的获取方式,存在多种与待回复的输入数据匹配的回复数据的获取方式。为了便于理解和合理布局,后续以可选实施例的形式进行具体说明。
本发明实施例提供的方案中,多任务训练包括:用于预测跨语言数据翻译结果的任务的训练,用于预测多轮对话数据中回复的任务的训练以及用于预测问答数据中答案的任务的训练;并且,多轮对话数据可以看作相互关联的多个问答数据。因此,利用多任务训练得到的多语言编码模型能够在低资源语料环境下,对跨语言的多轮对话进行特征提取,并在识别输入数据本身的同时,综合历史对话数据对待回复的输入数据的影响,从而保证本发明确定的回复数据与针对单轮输入数据检索答案得到的回复数据相比,相对而言更加符合输入数据的真实语义。因此,本方案通过对跨语言的人机对话场景中输入数据和历史对话数据的识别,可以提高在低资源语料环境下,跨语言的人机对话的回复准确度。
在一种可选的实施方式中,上述基于第一特征和第二特征,获取与待回复的输入数据匹配的回复数据,具体可以包括如下步骤A11至A13:
步骤A11,从预先建立的问答数据库中,查找与第一特征之间的相似度满足第一相似度条件的问答数据,作为待回复的输入数据的问答数据,以及查找与第二特征匹配的问答数据,作为历史对话数据的问答数据;
在一种可选的实施方式中,上述问答数据库采用如下步骤建立:
获取多个知识图谱三元组;
针对每个知识图谱三元组,将该知识图谱三元组中的实体、关系以及属性中的任意两项作为问题,余下一项作为该问题的答案,得到多组问答数据;
针对多组问答数据,将该组问答数据输入预先训练得到的多语言编码模型,得到该组问答数据中问题的特征和答案的特征;
针对多组问答数据,将该组问答数据中问题的特征和答案的特征,与该组问答数据对应保存,得到问答数据库。
举例而言,针对每个知识图谱三元组,可以将该图谱三元组<实体,关系,属性>的其中两项作为问题,余下一项作为答案,得到多组问答数据;将多组问答数据分别输入上述多语言编码模型进行特征提取,得到每组问答数据中问题的特征和答案的特征,进而针对多组问答数据,将该组问答数据中问题的特征和答案的特征,与该组问答数据对应保存,得到问答数据库。其中,特征具体可以为向量的形式,对此,问答数据库具体可以为以向量作为索引的向量索引库,记为KG_INDEX。
步骤A12,利用待回复的输入数据的问答数据和历史对话数据的问答数据,获取多轮对话的语义数据;其中,多轮对话的语义数据用于表明在历史对话数据的语义下,待回复的输入数据的语义;
步骤A13,获取符合待回复的输入数据的语义的回复数据,作为与待回复的输入数据匹配的回复数据。
在一种可选的实施方式中,上述步骤A12,具体可以包括如下步骤B11:
步骤B11,将待回复的输入数据的问答数据和历史对话数据的问答数据输入多语言编码模型,得到待回复的输入数据的问答数据的特征和历史对话数据的问答数据的特征,并将所得到的对应的问答数据的特征作为多轮对话的语义数据;
相应的,上述步骤A13,具体可以包括如下步骤B12至步骤B14:
步骤B12,从预先建立的多轮对话数据库中,查找与多轮对话的语义数据的相似度满足第二相似度条件的对话,并将所查找的对话中的回复数据,作为候选回复数据;
在一种可选的实施方式中,上述多轮对话数据库,可以采用如下步骤建立:
将多个多轮对话数据分别输入多语言编码模型,得到该多轮对话数据的特征;
针对每个多轮对话数据,将该多轮对话数据的特征与该多轮对话数据对应保存,得到多轮对话数据库。
示例性的,多轮对话数据的特征具体可以为向量的形式,对此,多轮对话数据库具体可以为以向量作为索引的向量索引库,记为DIALOG_INDEX。另外,上述本发明图1实施例的步骤S102的多任务的训练中,每个任务的训练与本可选实施例中多轮对话回复评价模型的训练类似,区别在于训练所使用的样本数据、以及所训练的模型不同。并且,本可选实施例可以保证后续从多轮对话数据库中获得的候选回复数据,是与多轮对话的上下文数据关联了的回复数据,因此,后续对所候选回复数据进行评分,是针对综合了上下文数据的评分,可以进一步提高评分的准确度。
步骤B13,针对每个候选回复数据,将该候选回复数据输入预先训练得到的多轮对话回复评价模型,得到该候选回复数据的评分;其中,任一候选回复数据的评分用于表明在历史对话数据的语义下,该候选回复数据与待回复的输入数据之间的匹配度;
步骤B14,从得到的多个候选回复数据中,选择评分满足预设的评分条件的候选回复数据,作为与待回复的输入数据匹配的回复数据。
在一种可选的实施方式中,上述多轮对话回复评价模型为利用多个样本多轮对话数据、每个样本多轮对话数据的背景知识以及每个样本多轮对话数据中样本输入数据的样本回复数据训练得到的模型;其中,样本多轮对话数据的背景知识为关于描述该样本多轮对话中实体的信息,且与该样本多轮对话数据中描述该实体的信息不同。示例性的,样本多轮对话中的实体为明星S1,且描述该样本多轮对话数据中描述该实体的信息是女演员,那么,背景知识可以是明星S1的作品名称以及奖项信息等等。
示例性的,对于多轮对话回复评价模型,模型输入为<q,r>,其中q为前k轮对话内容和对话背景知识文本,r为候选回复数据。q和r分别输入多语言编码模型模块获取对应的特征表示q1,r1,随后r1输入到多个全连接层,输出r2,得到r的最终表示r2。多轮对话回复评价模型的训练目标是最小化负对数似然Ls:
其中,φ(xi,yi)是基于q1和r2的点乘计算,N是训练样本的个数,xi代表的是q1,yi代表的是r2,即正确回复数据,φ(xi,yn)是基于q1和负样本的点乘计算,yn代表的是负样本,即样本集中的其它回复。多语言编码模型会针对输入的样本问题,预测回复数据,并计算样本问题和预测回复数据之间的点乘,将样本问题和预测回答之间的点乘,以及样本问题和相应的样本回答之间的点乘,输入LS,以最小负对数似然为目标,调整多语言共享编码器的参数。
在一种可选的实施方式中,在上述步骤B14之前,本发明实施例提供的人机对话方法,还可以包括如下步骤C11至步骤C12:
步骤C11,获取历史对话数据的背景知识;其中,历史对话数据的背景知识为关于描述该历史对话数据中实体的信息,且与该历史对话数据中描述该实体的信息不同;
具体的,历史对话数据的背景知识与样本多轮对话数据的背景知识类似,区别在于对话数据不同。对于相同部分可以参见上述可选实施例中关于样本多轮对话数据的背景知识的介绍,在此不再赘述。
步骤C12,基于待回复的输入数据、历史对话数据以及所述历史对话数据的背景知识,获取第二多轮对话语义数据;
相应的,上述步骤A13,具体可以包括如下步骤步骤C13至步骤C15,或者,步骤C13至步骤C14,以及步骤C16至步骤C17:
步骤C13,从得到的多个候选回复数据中,选择评分满足预设的评分条件的候选回复数据,作为与待回复的输入数据匹配的第一回复数据;
其中,预设的评分条件可以是评分大于或者等于预设评分阈值。
步骤C14,将第二多轮对话语义数据,输入预先训练得到的回复生成模型,得到针对第二多轮对话语义数据生成的回复数据,作为与待回复的输入数据匹配的第二回复数据;其中,回复生成模型为利用多个样本对话数据训练得到的模型;
步骤C15,对第一回复数据和第二回复数据进行质量评分,选择分数高的回复数据作为与待回复的输入数据匹配的回复数据;其中,分数用于表明回复数据是否为自然语言的概率,或者,回复数据与待回复的输入数据的匹配程度;
或者,步骤C16,对第一回复数据和第二回复数据进行拼接,得到拼接后的回复数据,并利用语言模型判断所述拼接后的回复数据是否为自然语言;其中,语言模型为判断文字是否为自然语言的模型;
在具体应用中,语言模型可以包括统计语言模型和神经网络语言模型。其中,统计语言模型判断一段文字是不是一句自然语言的基本思想是确定这段文字中词的排列顺序是不是合理的自然语言,可以通过计算条件概率实现。神经网络语言模型(NNLM)是对n元语言进行建模,估计n元语言的条件概率,与统计语言模型不同的是,神经网络语言模型不通过计数的方法对n元条件概率进行估计,而是直接通过一个神经网络对条件概率建模求解。
步骤C17,如果是自然语言,将拼接后的回复数据作为与待回复的输入数据匹配的回复数据,否则,将第一回复数据和所述第二回复数据作为与待回复的输入数据匹配的回复数据。
示例性的,如图2所示。结合上述可选实施例所使用的各模型的获取、各数据库的建立以及人机对话的实现,本发明另一实施例提供的人机对话方法,可以包括离线阶段201和在线阶段202。其中,离线阶段201可以包括:多语言编码模型的训练、回复生成模型的训练以及数据库的建立,并且,数据库具体包括问答数据库和多轮对话数据库。离线阶段完成时,可以将离线阶段获得的各模型以及数据库用于在线阶段202,实现人机对话。在线阶段202可以包括:特征提取,知识检索,第一回复检索,第二回复生成以及最终回复确定。具体的,特征提取相当于本发明图1实施例的步骤S102;知识检索相当于本发明图1可选实施例中关于获取语义数据的步骤;第一回复检索相当于本发明图1可选实施例中的步骤C13至步骤C14;第二回复生成相当于相当于本发明图1可选实施例中的步骤C16;最终回复确定相当于本发明图1可选实施例中的步骤C15或者步骤C17。
在一种可选的实施方式中,上述步骤A12,具体可以包括如下步骤:
获取历史对话数据的背景知识;历史对话数据的背景知识为关于描述该历史对话数据中实体的信息,且与该历史对话数据中描述该实体的信息不同;
将待回复的输入数据的问答数据、历史对话数据的问答数据以及历史对话数据的背景知识,作为多轮对话语义数据;
相应的,上述步骤A13,具体可以包括如下步骤:
将多轮对话语义数据,输入预先训练得到的回复生成模型,得到针对多轮对话语义数据生成的回复数据,作为与待回复的输入数据匹配的回复数据;其中,回复生成模型为利用多个样本对话数据训练得到的模型。
在具体应用中,历史对话数据的背景知识与样本多轮对话数据的背景知识类似,区别在于对话数据不同。对于相同部分可以参见上述可选实施例中关于样本多轮对话数据的背景知识的介绍,在此不再赘述。并且,回复生成模型的训练阶段可以分为预训练阶段和微调阶段。其中,在预训练阶段,首先基于图谱三元组序列进行基于知识隐码的预训练,预测被隐码的实体或关系,随后进行基于对话序列的预训练,计算在给定知识下当前生成的对话子序列的自回归损失,并随机交换对话问题和回复进行二元预测,判断模型的输出是否是得到该输出时所使用的样本的正确回复。在微调阶段,模型预测当前回复是否是符合对话历史和上一问题的正确回复,损失为当前生成的回复序列的自回归损失和分类损失之和。通过自回归损失可以提高语义正确度,通过分类损失可以提高回复准确度,通过对二者进行加和,可以进一步提高人机对话的回复数据的准确度。由此,可以利用损失判断训练过程中的回复生成模型是否达到预设准确度,如果未达到,可以调整训练过程中的回复生成模型的参数,并继续对调整后的回复生成模型进行训练,直到达到预设准确度,得到回复生成模型。
在一种可选的实施方式中,上述将多轮对话语义数据,输入预先训练得到的回复生成模型,得到针对多轮对话语义数据生成的回复数据,作为与待回复的输入数据匹配的回复数据,具体可以包括如下步骤:
将多轮对话语义数据,输入预先训练得到的回复生成模型,使得预先训练得到的回复生成模型进行如下处理,得到针对多轮对话语义数据生成的回复数据:
获取多轮对话语义数据的特征;
利用后向隐码机制处理多轮对话语义数据的特征,得到多轮对话语义数据中各词语的权重;
基于所得到的权重,生成用于构建回复数据的词序列;
选择所生成的词序列中的最后一个词语进行降维处理,并输出给激活层,得到针对多轮对话语义数据生成的回复数据。
在具体应用中,该回复生成模型结构由改造后的双向自编码模型构成。回复生成模型基于对话历史生成下一个回复。输入向量为词向量加上段向量加上位置向量的拼接。其中,词向量序列为对话背景知识词序列和对话历史词序列的拼接。为使双向编码模型也能处理条件生成问题,在计算注意力时,在对话序列上使用后向隐码机制,使得对话序列中的任意词只和其之前的词做自注意力计算,忽略掉该词后的词汇。模型生成回复时,取双向编码模型最后一层的最后一个词,将该最后一个词通过线性映射转换为词汇表维度的向量,最后输出到激活层(log-softmax层)将向量转换为词汇,以获取最终的预测结果。
如图3所示,本发明一实施例提供的人机对话装置的结构,该装置可以包括:
数据获取模块301,用于获取待回复的输入数据以及历史对话数据;其中,所述历史对话数据为产生所述待回复的输入数据的多轮对话中,对话时间在所述待回复的输入数据之前的对话数据;
特征获取模块302,用于将所述待回复的输入数据和所述历史对话数据,输入预先训练得到的多语言编码模型,得到所述待回复的输入数据的第一特征和所述历史对话数据的第二特征;其中,所述多语言编码模型为利用样本源语言数据和多语言翻译所述样本源语言数据得到的样本目标语言数据,样本源语言的多轮对话数据以及样本源语言的问答数据,进行多任务训练得到的模型;所述多任务训练包括:用于预测多语言数据翻译结果的任务的训练,用于预测多轮对话数据中回复的任务的训练以及用于预测问答数据中答案的任务的训练;
回复数据确定模块303,用于基于所述第一特征和所述第二特征,获取与所述待回复的输入数据匹配的回复数据。
本发明实施例提供的方案中,多任务训练包括:用于预测跨语言数据翻译结果的任务的训练,用于预测多轮对话数据中回复的任务的训练以及用于预测问答数据中答案的任务的训练;并且,多轮对话数据可以看作相互关联的多个问答数据。因此,利用多任务训练得到的多语言编码模型能够在低资源语料环境下,对跨语言的多轮对话进行特征提取,并在识别输入数据本身的同时,综合历史对话数据对待回复的输入数据的影响,从而保证本发明确定的回复数据与针对单轮输入数据检索答案得到的回复数据相比,相对而言更加符合输入数据的真实语义。因此,本方案通过对跨语言的人机对话场景中输入数据和历史对话数据的识别,可以提高在低资源语料环境下,跨语言的人机对话的回复准确度。
如图4所示,本发明另一实施例提供的人机对话装置的结构,该装置可以包括:
数据获取模块401,用于获取待回复的输入数据以及历史对话数据;其中,所述历史对话数据为产生所述待回复的输入数据的多轮对话中,对话时间在所述待回复的输入数据之前的对话数据;
特征获取模块402,用于将所述待回复的输入数据和所述历史对话数据,输入预先训练得到的多语言编码模型,得到所述待回复的输入数据的第一特征和所述历史对话数据的第二特征;其中,所述多语言编码模型为利用样本源语言数据和多语言翻译所述样本源语言数据得到的样本目标语言数据,样本源语言的多轮对话数据以及样本源语言的问答数据,进行多任务训练得到的模型;所述多任务训练包括:用于预测多语言数据翻译结果的任务的训练,用于预测多轮对话数据中回复的任务的训练以及用于预测问答数据中答案的任务的训练;
回复数据确定模块403,包括:对话语义确定子模块4031和回复数据获取子模块4032;
所述对话语义确定子模块4031,用于从预先建立的问答数据库中,查找与所述第一特征之间的相似度满足第一相似度条件的问答数据,作为所述待回复的输入数据的问答数据,以及查找与所述第二特征匹配的问答数据,作为所述历史对话数据的问答数据;利用所述待回复的输入数据的问答数据和所述历史对话数据的问答数据,获取所述多轮对话的语义数据;其中,所述多轮对话的语义数据用于表明在所述历史对话数据的语义下,所述待回复的输入数据的语义;
所述回复数据获取子模块4032,用于获取符合所述待回复的输入数据的语义的回复数据,作为与所述待回复的输入数据匹配的回复数据。
可选的,所述对话语义确定子模块4031,具体用于:
将所述待回复的输入数据的问答数据和所述历史对话数据的问答数据输入所述多语言编码模型,得到所述待回复的输入数据的问答数据的特征和所述历史对话数据的问答数据的特征,并将所得到的对应的问答数据的特征作为所述多轮对话的语义数据;
所述回复数据获取子模块4032,具体用于:
从预先建立的多轮对话数据库中,查找与所述多轮对话的语义数据的相似度满足第二相似度条件的对话,并将所查找的对话中的回复数据,作为候选回复数据;
针对每个候选回复数据,将该候选回复数据输入预先训练得到的多轮对话回复评价模型,得到该候选回复数据的评分;其中,任一候选回复数据的评分用于表明在所述历史对话数据的语义下,该候选回复数据与所述待回复的输入数据之间的匹配度;
从得到的多个候选回复数据中,选择所述评分满足预设的评分条件的候选回复数据,作为与所述待回复的输入数据匹配的回复数据。
可循的,所述多轮对话回复评价模型为利用多个样本多轮对话数据、每个样本多轮对话数据的背景知识以及每个样本多轮对话数据中样本输入数据的样本回复数据训练得到的模型;
其中,所述样本多轮对话数据的背景知识为关于描述该样本多轮对话中实体的信息,且与该样本多轮对话数据中描述该实体的信息不同。
可选的,所述对话语义确定子模块4031,还用于:
在所述回复数据获取子模块4032从得到的多个候选回复数据中,选择所述评分满足预设的评分条件的候选回复数据,作为与所述待回复的输入数据匹配的回复数据之前,获取所述历史对话数据的背景知识;其中,所述历史对话数据的背景知识为关于描述该历史对话数据中实体的信息,且与该历史对话数据中描述该实体的信息不同;
基于所述待回复的输入数据、所述历史对话数据以及所述历史对话数据的背景知识,获取第二多轮对话语义数据;
所述回复数据获取子模块4032,具体用于:
从得到的多个候选回复数据中,选择所述评分满足预设的评分条件的候选回复数据,作为与所述待回复的输入数据匹配的第一回复数据;
将所述第二多轮对话语义数据,输入预先训练得到的回复生成模型,得到针对所述第二多轮对话语义数据生成的回复数据,作为与所述待回复的输入数据匹配的第二回复数据;其中,所述回复生成模型为利用多个样本对话数据训练得到的模型;
对所述第一回复数据和所述第二回复数据进行质量评分,选择分数高的回复数据作为与所述待回复的输入数据匹配的回复数据;其中,所述分数用于表明回复数据是否为自然语言的概率,或者,回复数据与所述待回复的输入数据的匹配程度;
或者,对所述第一回复数据和所述第二回复数据进行拼接,得到拼接后的回复数据,并利用语言模型判断所述拼接后的回复数据是否为自然语言;其中,所述语言模型为判断文字是否为自然语言的模型;
如果是自然语言,将所述拼接后的回复数据作为与所述待回复的输入数据匹配的回复数据,否则,将所述第一回复数据和所述第二回复数据作为与所述待回复的输入数据匹配的回复数据。
可选的,所述对话语义确定子模块4031,具体用于:
获取所述历史对话数据的背景知识;所述历史对话数据的背景知识为关于描述该历史对话数据中实体的信息,且与该历史对话数据中描述该实体的信息不同;
将所述待回复的输入数据的问答数据、所述历史对话数据的问答数据以及所述历史对话数据的背景知识,作为所述多轮对话语义数据;
所述回复数据获取子模块4032,具体用于:
将所述多轮对话语义数据,输入预先训练得到的回复生成模型,得到针对所述多轮对话语义数据生成的回复数据,作为与所述待回复的输入数据匹配的回复数据;其中,所述回复生成模型为利用多个样本对话数据训练得到的模型。
可选的,其特征在于,所述问答数据库采用如下步骤建立:
获取多个知识图谱三元组;
针对每个知识图谱三元组,将该知识图谱三元组中的实体、关系以及属性中的任意两项作为问题,余下一项作为该问题的答案,得到多组问答数据;
针对所述多组问答数据,将该组问答数据输入所述预先训练得到的多语言编码模型,得到该组问答数据中问题的特征和答案的特征;
针对所述多组问答数据,将该组问答数据中问题的特征和答案的特征,与该组问答数据对应保存,得到所述问答数据库。
可选的,所述多轮对话数据库,采用如下步骤建立:
将多个多轮对话数据分别输入所述多语言编码模型,得到该多轮对话数据的特征;
针对每个多轮对话数据,将该多轮对话数据的特征与该多轮对话数据对应保存,得到所述多轮对话数据库。
本发明实施例还提供了一种电子设备,如图5所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信,
存储器503,用于存放计算机程序;
处理器501,用于执行存储器503上所存放的程序时,实现如下步骤:
获取待回复的输入数据以及历史对话数据;其中,所述历史对话数据为产生所述待回复的输入数据的多轮对话中,对话时间在所述待回复的输入数据之前的对话数据;
将待回复的输入数据和历史对话数据,输入预先训练得到的多语言编码模型,得到待回复的输入数据的第一特征和历史对话数据的第二特征;其中,多语言编码模型为利用样本源语言数据和多语言翻译所述样本源语言数据得到的样本目标语言数据,以及样本源语言的多轮对话数据,样本源语言的问答数据,进行多任务训练得到的模型;所述多任务训练包括:用于预测多语言数据翻译结果的任务的训练,用于预测多轮对话数据中回复的任务的训练以及用于预测问答数据中答案的任务的训练;
基于第一特征和第二特征,获取与待回复的输入数据匹配的回复数据。
本发明实施例提供的方案中,多任务训练包括:用于预测跨语言数据翻译结果的任务的训练,用于预测多轮对话数据中回复的任务的训练以及用于预测问答数据中答案的任务的训练;并且,多轮对话数据可以看作相互关联的多个问答数据。因此,利用多任务训练得到的多语言编码模型能够在低资源语料环境下,对跨语言的多轮对话进行特征提取,并在识别输入数据本身的同时,综合历史对话数据对待回复的输入数据的影响,从而保证本发明确定的回复数据与针对单轮输入数据检索答案得到的回复数据相比,相对而言更加符合输入数据的真实语义。因此,本方案通过对跨语言的人机对话场景中输入数据和历史对话数据的识别,可以提高在低资源语料环境下,跨语言的人机对话的回复准确度。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一人机对话方法的步骤。
本发明实施例提供的方案中,多任务训练包括:用于预测跨语言数据翻译结果的任务的训练,用于预测多轮对话数据中回复的任务的训练以及用于预测问答数据中答案的任务的训练;并且,多轮对话数据可以看作相互关联的多个问答数据。因此,利用多任务训练得到的多语言编码模型能够在低资源语料环境下,对跨语言的多轮对话进行特征提取,并在识别输入数据本身的同时,综合历史对话数据对待回复的输入数据的影响,从而保证本发明确定的回复数据与针对单轮输入数据检索答案得到的回复数据相比,相对而言更加符合输入数据的真实语义。因此,本方案通过对跨语言的人机对话场景中输入数据和历史对话数据的识别,可以提高在低资源语料环境下,跨语言的人机对话的回复准确度。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一人机对话方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备以及存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (11)
1.一种人机对话方法,其特征在于,所述方法包括:
获取待回复的输入数据以及历史对话数据;其中,所述历史对话数据为产生所述待回复的输入数据的多轮对话中,对话时间在所述待回复的输入数据之前的对话数据;
将所述待回复的输入数据和所述历史对话数据,输入预先训练得到的多语言编码模型,得到所述待回复的输入数据的第一特征和所述历史对话数据的第二特征;其中,所述多语言编码模型为利用样本源语言数据和多语言翻译所述样本源语言数据得到的样本目标语言数据,样本源语言的多轮对话数据以及样本源语言的问答数据,进行多任务训练得到的模型;所述多任务训练包括:用于预测多语言数据翻译结果的任务的训练,用于预测多轮对话数据中回复的任务的训练以及用于预测问答数据中答案的任务的训练;
基于所述第一特征和所述第二特征,获取与所述待回复的输入数据匹配的回复数据;
所述基于所述第一特征和所述第二特征,获取与所述待回复的输入数据匹配的回复数据包括:
获取所述第一特征和所述第二特征所表明的待回复的输入数据的语义数据,并获取符合所获取的语义数据的回复数据,作为与待回复的输入数据匹配的回复数据;
所述多语言编码模型的训练方式包括:
利用所述样本源语言数据和所述多语言翻译所述样本源语言数据得到的所述样本目标语言数据,对所述用于预测跨语言数据翻译结果的任务进行训练,并获取所述用于预测跨语言数据翻译结果的任务的训练完成时的特征提取层,作为第一特征提取层;
将所述第一特征提取层作为所述用于预测多轮对话数据中回复的任务的特征提取层,并利用所述样本源语言的多轮对话数据对所述用于预测多轮对话数据中回复的任务进行训练,并获取训练完成时的特征提取层,作为第二特征提取层;
将所述第二特征提取层作为所述用于预测问答数据中答案的任务的特征提取层,并利用所述样本源语言的问答数据对所述用于预测问答数据中答案的任务进行训练,获取训练完成时的特征提取层,作为所述多语言编码模型。
2.根据权利要求1所述的方法,其特征在于,所述获取所述第一特征和所述第二特征所表明的待回复的输入数据的语义数据,并获取符合所获取的语义数据的回复数据,作为与待回复的输入数据匹配的回复数据,包括:
从预先建立的问答数据库中,查找与所述第一特征之间的相似度满足第一相似度条件的问答数据,作为所述待回复的输入数据的问答数据,以及查找与所述第二特征匹配的问答数据,作为所述历史对话数据的问答数据;
利用所述待回复的输入数据的问答数据和所述历史对话数据的问答数据,获取所述多轮对话的语义数据;其中,所述多轮对话的语义数据用于表明在所述历史对话数据的语义下,所述待回复的输入数据的语义;
获取符合所述待回复的输入数据的语义的回复数据,作为与所述待回复的输入数据匹配的回复数据。
3.根据权利要求2所述的方法,其特征在于,所述利用所述待回复的输入数据的问答数据和所述历史对话数据的问答数据,获取所述多轮对话的语义数据,包括:
将所述待回复的输入数据的问答数据和所述历史对话数据的问答数据输入所述多语言编码模型,得到所述待回复的输入数据的问答数据的特征和所述历史对话数据的问答数据的特征,并将所得到的对应的问答数据的特征作为所述多轮对话的语义数据;
所述获取符合所述待回复的输入数据的语义的回复数据,作为与所述待回复的输入数据匹配的回复数据,包括:
从预先建立的多轮对话数据库中,查找与所述多轮对话的语义数据的相似度满足第二相似度条件的对话,并将所查找的对话中的回复数据,作为候选回复数据;
针对每个候选回复数据,将该候选回复数据输入预先训练得到的多轮对话回复评价模型,得到该候选回复数据的评分;其中,任一候选回复数据的评分用于表明在所述历史对话数据的语义下,该候选回复数据与所述待回复的输入数据之间的匹配度;
从得到的多个候选回复数据中,选择所述评分满足预设的评分条件的候选回复数据,作为与所述待回复的输入数据匹配的回复数据。
4.根据权利要求3所述的方法,其特征在于,所述多轮对话回复评价模型为利用多个样本多轮对话数据、每个样本多轮对话数据的背景知识以及每个样本多轮对话数据中样本输入数据的样本回复数据训练得到的模型;
其中,所述样本多轮对话数据的背景知识为关于描述该样本多轮对话中实体的信息,且与该样本多轮对话数据中描述该实体的信息不同。
5.根据权利要求3所述的方法,其特征在于,在所述从得到的多个候选回复数据中,选择所述评分满足预设的评分条件的候选回复数据,作为与所述待回复的输入数据匹配的回复数据之前,所述方法还包括:
获取所述历史对话数据的背景知识;其中,所述历史对话数据的背景知识为关于描述该历史对话数据中实体的信息,且与该历史对话数据中描述该实体的信息不同;
基于所述待回复的输入数据、所述历史对话数据以及所述历史对话数据的背景知识,获取第二多轮对话语义数据;
所述从得到的多个候选回复数据中,选择所述评分满足预设的评分条件的候选回复数据,作为与所述待回复的输入数据匹配的回复数据,包括:
从得到的多个候选回复数据中,选择所述评分满足预设的评分条件的候选回复数据,作为与所述待回复的输入数据匹配的第一回复数据;
将所述第二多轮对话语义数据,输入预先训练得到的回复生成模型,得到针对所述第二多轮对话语义数据生成的回复数据,作为与所述待回复的输入数据匹配的第二回复数据;其中,所述回复生成模型为利用多个样本对话数据训练得到的模型;
对所述第一回复数据和所述第二回复数据进行质量评分,选择分数高的回复数据作为与所述待回复的输入数据匹配的回复数据;其中,所述分数用于表明回复数据是否为自然语言的概率,或者,回复数据与所述待回复的输入数据的匹配程度;
或者,对所述第一回复数据和所述第二回复数据进行拼接,得到拼接后的回复数据,并利用语言模型判断所述拼接后的回复数据是否为自然语言;其中,所述语言模型为判断文字是否为自然语言的模型;
如果是自然语言,将所述拼接后的回复数据作为与所述待回复的输入数据匹配的回复数据,否则,将所述第一回复数据和所述第二回复数据作为与所述待回复的输入数据匹配的回复数据。
6.根据权利要求2所述的方法,其特征在于,所述利用所述待回复的输入数据的问答数据和所述历史对话数据的问答数据,获取所述多轮对话的语义数据,包括:
获取所述历史对话数据的背景知识;所述历史对话数据的背景知识为关于描述该历史对话数据中实体的信息,且与该历史对话数据中描述该实体的信息不同;
将所述待回复的输入数据的问答数据、所述历史对话数据的问答数据以及所述历史对话数据的背景知识,作为所述多轮对话语义数据;
所述获取符合所述待回复的输入数据的语义的回复数据,作为与所述待回复的输入数据匹配的回复数据,包括:
将所述多轮对话语义数据,输入预先训练得到的回复生成模型,得到针对所述多轮对话语义数据生成的回复数据,作为与所述待回复的输入数据匹配的回复数据;其中,所述回复生成模型为利用多个样本对话数据训练得到的模型。
7.根据权利要求3-6任一项所述的方法,其特征在于,所述问答数据库采用如下步骤建立:
获取多个知识图谱三元组;
针对每个知识图谱三元组,将该知识图谱三元组中的实体、关系以及属性中的任意两项作为问题,余下一项作为该问题的答案,得到多组问答数据;
针对所述多组问答数据,将该组问答数据输入所述预先训练得到的多语言编码模型,得到该组问答数据中问题的特征和答案的特征;
针对所述多组问答数据,将该组问答数据中问题的特征和答案的特征,与该组问答数据对应保存,得到所述问答数据库。
8.根据权利要求3-6任一项所述的方法,其特征在于,所述多轮对话数据库,采用如下步骤建立:
将多个多轮对话数据分别输入所述多语言编码模型,得到该多轮对话数据的特征;
针对每个多轮对话数据,将该多轮对话数据的特征与该多轮对话数据对应保存,得到所述多轮对话数据库。
9.一种人机对话装置,其特征在于,所述装置包括:
数据获取模块,用于获取待回复的输入数据以及历史对话数据;其中,所述历史对话数据为产生所述待回复的输入数据的多轮对话中,对话时间在所述待回复的输入数据之前的对话数据;
特征获取模块,用于将所述待回复的输入数据和所述历史对话数据,输入预先训练得到的多语言编码模型,得到所述待回复的输入数据的第一特征和所述历史对话数据的第二特征;其中,所述多语言编码模型为利用样本源语言数据和多语言翻译所述样本源语言数据得到的样本目标语言数据,样本源语言的多轮对话数据以及样本源语言的问答数据,进行多任务训练得到的模型;所述多任务训练包括:用于预测多语言数据翻译结果的任务的训练,用于预测多轮对话数据中回复的任务的训练以及用于预测问答数据中答案的任务的训练;
回复数据确定模块,用于基于所述第一特征和所述第二特征,获取与所述待回复的输入数据匹配的回复数据;
所述回复数据确定模块具体用于:
所述基于所述第一特征和所述第二特征,获取与所述待回复的输入数据匹配的回复数据包括:
获取所述第一特征和所述第二特征所表明的待回复的输入数据的语义数据,并获取符合所获取的语义数据的回复数据,作为与待回复的输入数据匹配的回复数据;
所述多语言编码模型的训练方式包括:
利用所述样本源语言数据和所述多语言翻译所述样本源语言数据得到的所述样本目标语言数据,对所述用于预测跨语言数据翻译结果的任务进行训练,并获取所述用于预测跨语言数据翻译结果的任务的训练完成时的特征提取层,作为第一特征提取层;
将所述第一特征提取层作为所述用于预测多轮对话数据中回复的任务的特征提取层,并利用所述样本源语言的多轮对话数据对所述用于预测多轮对话数据中回复的任务进行训练,并获取训练完成时的特征提取层,作为第二特征提取层;
将所述第二特征提取层作为所述用于预测问答数据中答案的任务的特征提取层,并利用所述样本源语言的问答数据对所述用于预测问答数据中答案的任务进行训练,获取训练完成时的特征提取层,作为所述多语言编码模型。
10.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-8任一所述的方法步骤。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-8任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010972516.8A CN112100354B (zh) | 2020-09-16 | 2020-09-16 | 人机对话方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010972516.8A CN112100354B (zh) | 2020-09-16 | 2020-09-16 | 人机对话方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112100354A CN112100354A (zh) | 2020-12-18 |
CN112100354B true CN112100354B (zh) | 2023-07-25 |
Family
ID=73759653
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010972516.8A Active CN112100354B (zh) | 2020-09-16 | 2020-09-16 | 人机对话方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112100354B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112579760B (zh) * | 2020-12-29 | 2024-01-19 | 深圳市优必选科技股份有限公司 | 人机对话方法、装置、计算机设备及可读存储介质 |
CN112667796B (zh) * | 2021-01-05 | 2023-08-11 | 网易(杭州)网络有限公司 | 一种对话回复方法、装置、电子设备及可读存储介质 |
CN112800209A (zh) * | 2021-01-28 | 2021-05-14 | 上海明略人工智能(集团)有限公司 | 会话语料推荐方法、装置、存储介质和电子设备 |
CN112836030B (zh) * | 2021-01-29 | 2023-04-25 | 成都视海芯图微电子有限公司 | 一种智能对话系统及方法 |
CN113010653B (zh) * | 2021-03-16 | 2022-09-02 | 支付宝(杭州)信息技术有限公司 | 一种对话策略模型训练、对话的方法和系统 |
CN113486160B (zh) * | 2021-05-26 | 2023-04-11 | 山东大学 | 基于跨语言知识的对话方法及系统 |
CN115481221B (zh) * | 2021-05-31 | 2024-06-07 | 腾讯科技(深圳)有限公司 | 对话数据的增强方法、装置、设备、计算机存储介质 |
CN113420137A (zh) * | 2021-06-29 | 2021-09-21 | 山东新一代信息产业技术研究院有限公司 | 基于端到端框架的智能问答系统实现方法、设备及介质 |
CN115129838B (zh) * | 2022-06-08 | 2024-07-05 | 阿里巴巴(中国)有限公司 | 模型训练、对话数据处理方法、装置、设备及存储介质 |
CN116805004B (zh) * | 2023-08-22 | 2023-11-14 | 中国科学院自动化研究所 | 零资源跨语言对话模型训练方法、装置、设备和介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3017492B1 (ja) * | 1999-02-23 | 2000-03-06 | 株式会社エイ・ティ・アール音声翻訳通信研究所 | 対話システム |
CN106776583A (zh) * | 2015-11-24 | 2017-05-31 | 株式会社Ntt都科摩 | 机器翻译评价方法和设备及机器翻译方法和设备 |
CN110428813A (zh) * | 2019-07-23 | 2019-11-08 | 北京奇艺世纪科技有限公司 | 一种语音理解的方法、装置、电子设备及介质 |
CN111522925A (zh) * | 2020-04-09 | 2020-08-11 | 苏州思必驰信息科技有限公司 | 对话状态生成方法和装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9646001B2 (en) * | 2011-09-19 | 2017-05-09 | Nuance Communications, Inc. | Machine translation (MT) based spoken dialog systems customer/machine dialog |
US9613027B2 (en) * | 2013-11-07 | 2017-04-04 | Microsoft Technology Licensing, Llc | Filled translation for bootstrapping language understanding of low-resourced languages |
CN107885756B (zh) * | 2016-09-30 | 2020-05-08 | 华为技术有限公司 | 基于深度学习的对话方法、装置及设备 |
CN106448670B (zh) * | 2016-10-21 | 2019-11-19 | 竹间智能科技(上海)有限公司 | 基于深度学习和强化学习的自动回复对话系统 |
CN107357838B (zh) * | 2017-06-23 | 2020-09-01 | 上海交大知识产权管理有限公司 | 基于多任务学习的对话策略在线实现方法 |
CN110413752B (zh) * | 2019-07-22 | 2021-11-16 | 中国科学院自动化研究所 | 基于对话逻辑的多轮口语理解方法、系统、装置 |
CN111309883B (zh) * | 2020-02-13 | 2023-08-08 | 腾讯科技(深圳)有限公司 | 基于人工智能的人机对话方法、模型训练方法及装置 |
-
2020
- 2020-09-16 CN CN202010972516.8A patent/CN112100354B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3017492B1 (ja) * | 1999-02-23 | 2000-03-06 | 株式会社エイ・ティ・アール音声翻訳通信研究所 | 対話システム |
CN106776583A (zh) * | 2015-11-24 | 2017-05-31 | 株式会社Ntt都科摩 | 机器翻译评价方法和设备及机器翻译方法和设备 |
CN110428813A (zh) * | 2019-07-23 | 2019-11-08 | 北京奇艺世纪科技有限公司 | 一种语音理解的方法、装置、电子设备及介质 |
CN111522925A (zh) * | 2020-04-09 | 2020-08-11 | 苏州思必驰信息科技有限公司 | 对话状态生成方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112100354A (zh) | 2020-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112100354B (zh) | 人机对话方法、装置、设备及存储介质 | |
CN108363790B (zh) | 用于对评论进行评估的方法、装置、设备和存储介质 | |
CN110148416B (zh) | 语音识别方法、装置、设备和存储介质 | |
CN108846077B (zh) | 问答文本的语义匹配方法、装置、介质及电子设备 | |
CN109376222B (zh) | 问答匹配度计算方法、问答自动匹配方法及装置 | |
CN110019732B (zh) | 一种智能问答方法以及相关装置 | |
CN110019742B (zh) | 用于处理信息的方法和装置 | |
CN111428010A (zh) | 人机智能问答的方法和装置 | |
CN111382573A (zh) | 用于答案质量评估的方法、装置、设备和存储介质 | |
CN111026840B (zh) | 文本处理方法、装置、服务器和存储介质 | |
CN110674255A (zh) | 文本内容审核方法及装置 | |
CN113158687B (zh) | 语义的消歧方法及装置、存储介质、电子装置 | |
CN110309504B (zh) | 基于分词的文本处理方法、装置、设备及存储介质 | |
CN111414746A (zh) | 一种匹配语句确定方法、装置、设备及存储介质 | |
CN113326702A (zh) | 语义识别方法、装置、电子设备及存储介质 | |
CN112668333A (zh) | 命名实体的识别方法和设备、以及计算机可读存储介质 | |
CN114003682A (zh) | 一种文本分类方法、装置、设备及存储介质 | |
CN113343692A (zh) | 搜索意图的识别方法、模型训练方法、装置、介质及设备 | |
CN113705207A (zh) | 语法错误识别方法及装置 | |
CN112883713A (zh) | 基于卷积神经网络的评价对象抽取方法及装置 | |
CN117056483A (zh) | 一种问答方法、装置、电子设备以及存储介质 | |
CN116680387A (zh) | 基于检索增强的对话答复方法、装置、设备及存储介质 | |
CN116049370A (zh) | 信息查询方法和信息生成模型的训练方法、装置 | |
CN116186219A (zh) | 一种人机对话交互方法方法、系统及存储介质 | |
CN118715523A (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 |