CN110442693B - 基于人工智能的回复消息生成方法、装置、服务器及介质 - Google Patents
基于人工智能的回复消息生成方法、装置、服务器及介质 Download PDFInfo
- Publication number
- CN110442693B CN110442693B CN201910685616.XA CN201910685616A CN110442693B CN 110442693 B CN110442693 B CN 110442693B CN 201910685616 A CN201910685616 A CN 201910685616A CN 110442693 B CN110442693 B CN 110442693B
- Authority
- CN
- China
- Prior art keywords
- encoder
- vocabulary
- sequence
- decoder
- level
- 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 63
- 238000013473 artificial intelligence Methods 0.000 title claims abstract description 36
- 108091026890 Coding region Proteins 0.000 claims abstract description 39
- 239000013598 vector Substances 0.000 claims description 133
- 239000011159 matrix material Substances 0.000 claims description 12
- 230000015654 memory Effects 0.000 claims description 6
- 230000000875 corresponding effect Effects 0.000 description 50
- 238000002474 experimental method Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 12
- 230000000694 effects Effects 0.000 description 10
- 230000001276 controlling effect Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 241000282414 Homo sapiens Species 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 238000003058 natural language processing Methods 0.000 description 6
- 238000011156 evaluation Methods 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 5
- 230000000052 comparative effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 239000010410 layer Substances 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 230000006403 short-term memory Effects 0.000 description 3
- 239000002344 surface layer Substances 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- JEIPFZHSYJVQDO-UHFFFAOYSA-N iron(III) oxide Inorganic materials O=[Fe]O[Fe]=O JEIPFZHSYJVQDO-UHFFFAOYSA-N 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种基于人工智能的回复消息生成方法、装置、服务器及介质,属于人工智能技术领域。方法包括:获取目标用户的会话消息;将会话消息输入多级编码器中,多级编码器包括多个级联的编码器;根据多个编码器的级联关系,控制每个编码器分别根据每个编码器对应的词汇表以及上一级编码器的状态信息生成会话消息的编码序列;根据多级解码器包括的多个解码器的级联关系,控制每个解码器分别根据多个编码器生成的编码序列、上级解码器生成的第一解码序列以及对应的编码器的状态信息生成第二解码序列,多个解码器与多个编码器一一对应;根据多级解码器生成的解码序列,输出会话消息的回复消息。使得生成的回复消息更加顺畅流利,质量较高。
Description
技术领域
本发明涉及人工智能技术领域,特别涉及一种基于人工智能的回复消息生成方法、装置、服务器及介质。
背景技术
让计算机像人类一样拥有智能是研究人员一直以来的奋斗目标。而随着自然语言处理技术的发展,人机对话系统已经实现了人与计算机之间通过自然语言进行有效的通信,也即计算机在会话过程中可以根据用户发送的会话消息,生成一句自然语言作为回复消息。其中,如何进行回复消息生成是人机对话系统中一个重要的发展方向。
相关技术中,人机对话系统中的回复消息生成技术可以采用基于深度学习的端到端生成技术。在实现过程中,计算机在接收到用户发送的会话消息之后,对该会话消息进行解析,提取该会话消息中的词汇,根据编码器对会话消息中的词汇进行编码,编码完成后,由解码器进行解码得到解码序列,根据该解码序列从该词汇表中获取词汇,从而生成相应的自然语言作为回复消息。
上述技术存在的问题是,基于该预设的词汇表,只能捕获词汇层面的信息,而不能捕获更多的信息,导致生成的回复消息质量不高。
发明内容
本发明实施例提供了一种基于人工智能的回复消息生成方法、装置、服务器及介质,用于解决目前人机对话系统中基于预设的词汇表,只能捕获词汇层面的信息,而不能捕获更多的信息,导致生成的回复消息质量不高的问题。所述技术方案如下:
一方面,提供了一种基于人工智能的回复消息生成方法,所述方法包括:
获取目标用户的会话消息;
将所述会话消息输入多级编码器中,所述多级编码器包括多个级联的编码器,每个编码器与多级词汇表中包括的一级词汇表对应,每级所述词汇表包括的词汇用于表示层级相邻且层级低于所述词汇表的其他词汇表中多个词汇的类别;
根据所述多个编码器的级联关系,控制每个所述编码器分别根据每个所述编码器对应的词汇表以及上一级编码器的状态信息生成所述会话消息的编码序列;
根据多级解码器包括的多个解码器的级联关系,控制每个解码器分别根据所述多个编码器生成的编码序列、上级解码器生成的第一解码序列以及对应的编码器的状态信息生成第二解码序列,所述多个解码器与所述多个编码器一一对应;
根据所述多级解码器生成的解码序列,输出所述会话消息的回复消息。
另一方面,提供了一种基于人工智能的回复消息生成装置,所述装置包括:
获取模块,用于获取目标用户的会话消息;
输入模块,用于将所述会话消息输入多级编码器中,所述多级编码器包括多个级联的编码器,每个编码器与多级词汇表中包括的一级词汇表对应,每级所述词汇表包括的词汇用于表示层级相邻且层级低于所述词汇表的其他词汇表中多个词汇的类别;
控制模块,用于根据所述多个编码器的级联关系,控制每个所述编码器分别根据每个所述编码器对应的词汇表以及上一级编码器的状态信息生成所述会话消息的编码序列;
所述控制模块,还用于根据多级解码器包括的多个解码器的级联关系,控制每个解码器分别根据所述多个编码器生成的编码序列、上级解码器生成的第一解码序列以及对应的编码器的状态信息生成第二解码序列,所述多个解码器与所述多个编码器一一对应;
输出模块,用于根据所述多级解码器生成的解码序列,输出所述会话消息的回复消息。
在另一种可能的实现方式中,所述控制模块,还用于对于每个所述编码器,确定所述编码器对应的词汇表;根据所述词汇表,确定所述会话消息包括的每个词汇的词向量,得到词向量序列;根据所述词向量序列以及所述上一级编码器的状态信息生成所述会话消息的编码序列。
在另一种可能的实现方式中,所述编码器为第一级的第一编码器时,所述上一级编码器的状态信息为空;所述控制模块,还用于根据零向量初始化所述第一编码器包含的第一序列模型;将所述词向量序列输入所述第一序列模型,生成所述会话消息的编码序列。
在另一种可能的实现方式中,所述编码器为非第一级的第二编码器时,所述上一级编码器的状态信息不为空;所述控制模块,还用于获取上一级编码器的状态信息,根据所述状态信息初始化所述第二编码器包含的第二序列模型;将所述词向量序列输入所述第二序列模型,生成所述会话消息的编码序列。
在另一种可能的实现方式中,所述控制模块,还用于对于每个解码器,获取所述多个编码器生成的编码序列,得到多个编码序列;获取每个编码序列对应的上下文向量,得到多个上下文向量;根据所述多个上下文向量、上级解码器生成的第一解码序列以及对应的编码器的状态信息生成所述第二解码序列。
在另一种可能的实现方式中,所述解码器为第一级的第一解码器时,所述上级解码器生成的第一解码序列为空;所述控制模块,还用于获取所述第一解码器对应的编码器的状态信息,根据所述状态信息初始化所述第一解码器包括的第三序列模型;根据所述多个上下文向量更新所述第三序列模型的状态;根据更新后的第三序列模型生成所述第二解码序列。
在另一种可能的实现方式中,所述解码器为非第一级的第二解码器时,所述上级解码器生成的第一解码序列不为空;所述控制模块,还用于获取所述第二解码器对应的编码器的状态信息,根据所述状态信息初始化所述第二解码器包括的第四序列模型;获取上级解码器生成的第一解码序列,根据所述第一解码序列生成注意力向量,所述注意力向量用于表示词汇的重要程度;根据所述多个上下文向量和所述注意力向量更新所述第四序列模型的状态;根据更新后的第四序列模型生成所述第二解码序列。
在另一种可能的实现方式中,所述装置还包括生成模块,用于对于每个词汇表,获取相邻层级且层级低于所述词汇表的其他词汇表;获取所述其他词汇表对应的词向量矩阵,所述词向量矩阵包括所述其他词汇表中的词汇对应的词向量;对所述词向量矩阵进行聚类,将聚类得到的词汇作为所述词汇表中的词汇。
在另一种可能的实现方式中,所述生成模块,还用于当所述词汇表为层级最低的词汇表时,获取多个原始词汇;将所述多个原始词汇作为所述层级最低的词汇表中的词汇。
另一方面,提供了一种服务器,所述服务器包括处理器和存储器,所述存储器用于存储程序代码,所述程序代码由所述处理器加载并执行以实现本发明实施例中基于人工智能的回复消息生成方法中所执行的操作。
另一方面,提供了一种存储介质,所述存储介质中存储有程序代码,所述程序代码用于执行本发明实施例中基于人工智能的回复消息生成方法。
本发明实施例提供的技术方案带来的有益效果是:
在本发明实施例中,由于采用了多级词汇表,从而不同层级的词汇具有不同深度的语意含义,通过多级编码器按照多个编码器级联关系依次生成会话消息的多个编码序列,再由多级解码器基于该多个编码序列多级编码器中各编码器的状态信息和已经解码出来的序列来生成当前解码序列,最后根据该多级编码器中最后一个解码器生成的解码序列输出对话消息的回复消息。也即该回复消息是在多级词汇表、多级编码器以及多级解码器的共同作用下生成的,多步编解码的过程近似于人类思考的过程,不仅捕获了词汇表层的意思,还捕获了更深层的含义,使得生成的回复消息更加顺畅流利,质量较高。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于人工智能的回复消息生成系统100的结构框图;
图2为本发明实施例提供的一种基于人工智能的回复消息生成方法流程图;
图3为本发明实施例提供的一种多级词汇表的示意图;
图4为本发明实施例示例性提供的一种多级编码器-多级解码器的结构示意图;
图5为本发明实施例提供的一种基于人工智能的回复消息生成方法的整体流程结构图;
图6为本发明实施例提供的一种本发明与现有技术的实验效果对比图;
图7为本发明实施例提供的一种单个词汇表与多级词汇表的效果对比图;
图8为本发明实施例提供的一种不同编解码器个数的效果对比图;
图9为本发明实施例提供的一种人工评价效果对比图;
图10为本发明实施例提供的一种基于人工智能的回复消息生成装置的框图;
图11是根据本发明实施例提供的一种服务器的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
本发明实施例主要涉及文本生成的场景,如机器翻译、摘要生成、故事生成以及回复消息生成等。本发明实施例以回复消息生成为例进行说明。回复消息生成是人机对话系统中的一个重要的发展方向,而人机对话系统是研究人员在人工智能领域取的一项研究成果,该人机对话系统已经实现了人与计算机之间可以通过自然语言进行有效的通信,能够使得用户无法辨别会话的另一方是其他用户还是计算机。其中,自然语言即是人们日常生活中使用的语言。
下面介绍一下本发明实施例中对话回复生成的主要流程:
首先,服务器需要生成多级词汇表,当然该多级词汇表生成一次即可。其次,得到多级词汇表后,在进行会话时,服务器控制多级编码器对用户发送的会话消息进行编码,得到多个编码序列。然后,服务器根据得到的多个编码序列,控制多级解码器进行解码操作,高级的解码器生成的解码序列可以影响相邻的低级的解码器生成的解码序列。最后,服务器根据多级解码器输出的解码序列输出会话消息的回复消息。
再简单介绍一下本发明实施例可能用到的技术:
自然语言处理技术。在人工智能领域,自然语言处理(Nature Languageprocessing,NLP)是一个重要的研究方向,用于研究能够实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融合了语言学、计算机科学以及数学的科学。自然语言处理技术通常包括文本处理、语意理解、机器翻译、机器人问答、知识图谱等技术。
机器学习技术。机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、等技术。
长短期记忆网络技术。长短期记忆网络(LSTM,Long Short-Term Memory)是一种时间循环神经网络,是为了解决一般的RNN(循环神经网络)存在的长期依赖问题而专门设计出来的,所有的RNN都具有一种重复神经网络模块的链式形式。
图1为本发明实施例提供的一种基于人工智能的回复消息生成系统100的结构框图,参见图1,该基于人工智能的回复消息生成系统包括多个终端101和消息生成服务器102。
终端101通过无线网络或有线网络与消息生成服务器102相连。终端101可以是智能手机、游戏主机、台式计算机、平板电脑和膝上型便携计算机中的至少一种。终端101安装和运行有支持人机对话的应用程序。该应用程序可以是通信类应用程序等。示意性的,终端110是目标用户使用的终端,终端110中运行的应用程序内登录有用户账号。
消息生成服务器102包括一台服务器、多台服务器、云计算平台和虚拟化中心中的至少一种。消息生成服务器102用于为支持人机对话的应用程序提供后台服务。可选的,消息生成服务器102承担主要的消息生成工作,终端101承担次要消息生成工作,或者,消息生成服务器102承担次要消息生成工作,终端101承担主要消息生成工作;或者,消息生成服务器102或终端101可以分别单独承担消息生成工作。
可选地,消息生成服务器102包括:接入服务器、编解码服务器和数据库。接入服务器用于为终端101提供接入服务。编解码服务器用于提供编码和解码服务。数据库用于存储多级词汇表。编解码服务器可以是一台或多台。当编解码服务器是多台时,存在至少两台编解码服务器用于提供不同的服务,和/或,存在至少两台图像识别服务器用于提供相同的服务,比如以负载均衡方式提供同一种服务,本申请实施例对此不加以限定。
图2为本发明实施例提供的一种基于人工智能的回复消息生成方法流程图,参见图2所示,在本发明实施例中以应用在服务器中为例进行说明。该回复消息生成方法包括以下步骤:
201、服务器生成多级词汇表。
其中,多级词汇表包括多个不同层级的词汇表,层级最低的词汇表中存储的可以是原始的粗糙词汇,各层级的词汇表可以由层级相邻且层级较低的词汇表聚类得到,如,对层级最低的词汇表进行聚类得到层级第二低的词汇表,对该层级第二低的词汇表再聚类,可以得到层级第三低的词汇表,依次类推,得到该多级词汇表。每级词汇表包括的词汇用于表示层级相邻且层级低于该词汇表的其他词汇表中多个词汇的类别。如,“我”和“你”在层级最低的词汇表中属于两个不同的词汇,由于“我”和“你”同属于人称代词,则在层级第二低的词汇表中可能会将“我”和“你”合并为一个词类,如“代词”。
在一种可选的实现方式中,服务器生成层级最低的词汇表的步骤可以为:当待生成的词汇表为层级最低的词汇表时,服务器可以获取多个原始词汇,将该多个原始词汇作为该层级最低的词汇表中的词汇。
其中,多个原始词汇可以是上述粗糙词汇,如“我”、“你”、“吃惊”、“觉得”、“黑”以及“白”等中文词汇,或者“freshman”、“sophomore”、“junior”、“amazingly”、“surprisingly”以及“black”等英文词汇,还可以是其他语言中的词汇,本发明实施例对原始词汇的所属的语言不进行具体限制。服务器可以通过用于产生词向量的模型来生成第一词汇表中每个词汇的词向量,从而确定第一词向量矩阵。如通过Word2vec(word tovector,包括多个用来产生词向量的相关模型的模型组)来对第一词汇表中包括的多个原始词汇进行训练,得到各词汇的向量化表示,将各词汇的词向量构成该第一词向量矩阵。
在一种可选的实现方式中,服务器生成多级词汇表的步骤可以为:对于每个词汇表,服务器可以获取相邻层级且层级低于该词汇表的其他词汇表,服务器获取该其他词汇表对应的词向量矩阵,该词向量矩阵包括其他词汇表中的词汇对应的词向量,服务器对该词向量矩阵进行聚类,将聚类得到的词汇作为所述词汇表中的词汇。通过低层级的词汇表对应的词向量矩阵聚类得到相邻层级的词汇表,随着生成的词汇表的层级的增加,词汇表中的词汇数量逐渐减少,词汇的抽象程度逐渐增加。
例如,参见图3所示,图3为本发明实施例提供的一种多级词汇表的示意图。该多级词汇表包括3个词汇表,分别为粗糙词汇表、浅层词汇表和高层词汇表,该3个词汇表的层级关系为粗糙词汇表<浅层词汇表<高层词汇表。服务器通过三个步骤依次生成该3个词汇表。步骤一,服务器将多个原始词汇(粗糙词汇),如“我”、“你”、“吃惊”、“觉得”、“黑”以及“白”等作为粗糙词汇表中的词汇,为每个词汇赋予唯一标识,记为R为大于零的正整数。服务器将该多个原始词汇通过word2vec进行预训练,得到第一词向量矩阵,该第一词向量矩阵的各元素为各词汇的词向量。步骤二,服务器将该第一词向量矩阵作为聚类模型的输入,根据Scipy(Python中的一个用于数学、科学、工程领域的常用软件包)中的聚类算法生成浅层词汇表,记为L为大于零且小于R的正整数。服务器可以基于步骤一中的方式,得到第二词向量矩阵,该第二词向量矩阵的各元素为该浅层词汇表中各词汇的词向量,该词向量实际为词汇的类别向量。其中,该聚类模型可以由服务器根据Ward和Maxclust函数构建得到。步骤三,服务器将该第二词向量矩阵作为聚类模型的输入,基于步骤二的方式生成高层词汇表,记为H为大于零且小于L的正整数。服务器通过上述步骤一至步骤三得到多级词汇表Vr、Vl和Vh。三个词汇表的规模递减,呈金字塔结构。
202、服务器获取目标用户的会话消息。
在目标用户使用应用程序进行人机会话时,服务器可以获取目标用户在终端中输入的会话消息,该会话消息可以为文本消息,还可以为语音消息,还可以为手势消息。
在一种可选的实现方式中,当该会话消息为文本消息时,服务器可以获取目标用户通过终端的输入设备输入的会话消息,该会话消息由终端在检测到目标用户触发发送指令时发送至该服务器。该输入设备可以为键盘、显示屏或者手写板等。
在一种可选的实现方式中,当该会话消息为语音消息时,服务器可以获取目标用户通过终端的声音采集设备输入的会话消息,该会话消息由终端在检测到目标用户触发结束录制指令时发至该服务器。该声音采集设备可以为麦克风。
在一种可选的实现方式中,当该会话消息为手势消息时,服务器可以获取目标用户通过终端的图像采集设备输入的会话消息,该会话消息由终端在检测到目标用户触发手势提交指令时发送至该服务器。该图像采集设备可以为前置或者后置摄像头。
203、服务器将该会话消息输入多级编码器中,该多级编码器包括多个级联的编码器,每个编码器与多级词汇表中包括的一级词汇表对应。
多级编码器包括的多个级联的编码器中,每个编码器具有不同的等级,按照编码器的等级,从低到高进行排序,建立相邻的编码器的链接关系,从而得到该多个编码器的级联关系,该级联关系即为该多个编码器的执行顺序。其中,等级最低的编码器可以为多级编码器中执行顺序位于首位的编码器。
每个编码器对应一个词汇表,也即编码器的个数等于词汇表的个数。编码器的等级与词汇表的层级正相关,等级低的编码器对应层级低的词汇表,等级高的编码器对应层级高的词汇表。
例如,多级词汇表中包括层级从低到高的粗糙词汇表、浅层词汇表以及高层词汇表,多级编码器包括粗糙词汇编码器、浅层词汇编码器以及高层词汇编码器,粗糙词汇编码器对应粗糙词汇表,浅层词汇编码器对应浅层词汇表,高层词汇编码器对应高层词汇表。
204、服务器根据多个编码器的级联关系,控制每个编码器分别根据每个编码器对应的词汇表以及上一级编码器的状态信息生成该会话消息的编码序列。
在步骤203中已经说明该级联关系即为各编码器的执行顺序,且每个编码器对应一个词汇表,因此在本步骤中,服务可以控制每个编码器按照执行顺序,依次根据对应的词汇表以及该编码器上一级的编码器的状态信息来生成编码序列。其中,状态信息为编码器包括的序列模型中各节点的状态,该序列模型用于根据词向量序列生成该编码序列。该序列模型可以为递归神经网络(RNN,Recurrent Neural Networks)、门控循环单元(GRU,Gated Recurrent Unit)、长短期记忆网络(LSTM,Long Short Term Memory)以及Transformer模型等。该编码序列为神经网络中的隐层状态序列,可以作为解码器的输入参数。
在一种可选的实现方式中,服务器可以根据词汇表得到会话消息对应的词向量序列,从而生成该会话消息的编码序列。相应的,服务器控制每个编码器分别根据每个编码器对应的词汇表以及上一级编码器的状态信息生成该会话消息的编码序列的步骤可以为:对于每个编码器,服务器可以确定该编码器对应的词汇表,服务器可以控制该编码器根据该词汇表,确定会话消息包括的每个词汇的词向量,得到词向量序列,服务器可以控制该编码器根据该词向量序列以及该编码器的上一级编码器的状态信息生成该会话消息的编码序列。根据词汇表确定会话消息对应的词向量序列,可以得到该会话消息在不同层级的词汇表对应的编码序列,从而从不同深度对该会话消息进行编码。
其中,词汇表中的每个词汇都有唯一标识,如名称、ID(Identity,身份标识号)等。服务器可以对该会话消息进行分词,得到该会话消息包括的至少一个词汇,控制编码器从该编码器对应的词汇表中确定每个词汇的唯一标识,控制编码器根据该唯一标识从词汇表对应的词向量矩阵中确定每个词汇的词向量,从而得到词向量序列。
在一种可选的实现方式中,当该编码器为第一级的第一编码器时,该第一编码器的上一级编码器的状态信息为空。相应的,服务器控制编码器根据词向量序列以及该编码器的上一级编码器的状态信息生成会话消息的编码序列的步骤可以为:服务器控制第一编码器根据零向量初始化该第一编码器包含的第一序列模型,将词向量序列输入第一序列模型,生成该会话消息的编码序列。通过使用零向量来初始化第一级的第一编码器,可以使得该第一编码器生成的编码序列更加准确。
在一种可选的实现方式中,当该编码器为非第一级的第二编码器时,该第二编码器的上一级编码器的状态信息不为空。相应的,服务器控制编码器根据词向量序列以及该编码器的上一级编码器的状态信息生成会话消息的编码序列的步骤可以为:服务器控制该第二编码器获取上一级编码器的状态信息,控制该第二编码器根据该状态信息初始化该第二编码器包含的第二序列模型,将词向量序列输入该第二序列模型,生成该会话消息的编码序列。通过使用上一级编码器的状态信息来初始化第二序列模型,使得各编码器之间既相互独立又有紧密的联系。
需要说明的是,各编码器包括的序列模型可以具有相同的结构,但是具有不同的参数,该参数与各序列模型训练时采用的词汇表不同有关。
205、服务器根据多级解码器包括的多个解码器的级联关系,控制每个解码器分别根据多个编码器生成的编码序列、上级解码器生成的第一解码序列以及对应的编码器的状态信息生成第二解码序列,该多个解码器与该多个编码器一一对应。
多级解码器中包括多个解码器,每个解码器具有不同的等级,且每个解码器对应一个编码器,由于每个编码器对应一级的词汇表,则每个解码器也对应一级的词汇表,且等级最高的解码器为多级解码器中第一顺序执行的解码器。
例如,粗糙词汇表、粗糙词汇编码器和粗糙词汇解码器相对应,浅层词汇表、浅层词汇编码器和浅层词汇解码器相对应,高层词汇表、高层词汇编码器和高层词汇解码器相对应。
在一种可选的实现方式中,服务器可以控制解码器获取每个编码序列的上下文向量,基于该上下文向量生成该第二解码序列。相应的,服务器控制每个解码器分别根据多个编码器生成的编码序列、上级解码器生成的第一解码序列以及对应的编码器的状态信息生成第二解码序列的步骤可以为:对于每个解码器,服务器可以控制该解码器获取多个编码器生成的编码序列,得到多个编码序列,服务器可以控制该解码器获取每个编码序列对应的上下文向量,得到多个上下文向量,服务器可以控制该解码器根据该多个上下文向量、上级解码器生成的第一解码序列以及对应的编码器的状态信息生成第二解码序列。通过获取每个编码序列对应的上下文向量,使得解码过程中引入了会话消息的上下文内容的影响,从而生成的回复消息更像人类的思考方式。
其中,服务器可以控制编码器基于不同的注意力机制获取每个编码序列对应的上下文向量,该上下文向量用于更新解码器包括的序列模型的状态。该注意力机制为通过注意力模型确定每个词汇的注意力强度,该注意力强度用于反映各词汇的重要程度。由于每个词汇在每个编码器上对应一个编码状态,因此每个词汇的注意力强度也可以反映每个词汇的编码状态的重要程度。
例如,服务器在控制解码器生成第二解码序列时,通过三个不同的注意力机制分别获取粗糙词汇编码器生成的编码序列浅层词汇编码器生成的编码序列高层词汇编码器生成的编码序列对于当前解码时刻j,服务器控制解码器动态地从中读取上下文向量从中读取上下文向量从中读取上下文向量
在一种可选的实现方式中,当解码器为第一级的第一解码器时,该第一解码器的上级解码器生成的第一解码序列为空。相应的,服务器控制解码器根据多个上下文向量、上级解码器生成的第一解码序列以及对应的编码器的状态信息生成第二解码序列的步骤可以为:服务器可以控制该第一解码器获取该第一解码器对应的编码器的状态信息。服务器可以控制该第一解码器根据该状态信息初始化该第一解码器包括的第三序列模型。服务器可以控制该第一解码器根据该多个上下文向量更新该第三序列模型的状态,服务器可以控制该第一解码器根据更新后的第三序列模型生成第二解码序列。通过由上下文向量更新第三序列模型的状态使得生成的第二解码序列与会话消息的上下文具有一定的联系。
例如,以第一解码器为高层词汇解码器为例,服务器控制高层词汇解码器获取高层词汇编码器在编码结束时的状态信息,也即高层词汇编码器包括的序列模型中最后节点的值,根据最后节点的值对该高层词汇解码器包括的第三序列模型进行初始化。然后服务器控制该高层词汇解码器根据三个不同的注意力机制获取上下文向量和根据该三个基于注意力的上下文向量,更新高层词汇解码器包括的第三序列模型的状态,通过归一化函数(如softmax函数)对该第三序列模型进行迭代后得到第二解码序列,该第二解码序列对应的词向量为L为大于零的正整数。
在一种可选的实现方式中,当解码器为非第一级的第二解码器时,该第二解码器的上级解码器生成的第一解码序列不为空。相应的,服务器控制解码器根据多个上下文向量、上级解码器生成的第一解码序列以及对应的编码器的状态信息生成第二解码序列的步骤可以为:服务器可以控制该第二解码器获取该第二解码器对应的编码器的状态信息,服务器可以控制该第二解码器根据该状态信息初始化该第二解码器包括的第四序列模型。服务器可以控制该第二解码器获取该第二解码器的上级解码器生成的第一解码序列,根据该第一解码序列生成注意力向量,该注意力向量用于表示词汇的重要程度。服务器可以控制该第二解码器根据该多个上下文向量和注意力向量,来更新该第四序列模型的状态,服务器可以控制该第二解码器根据更新后的第四序列模型生成第二解码序列。其中,等级越低的解码器生成的注意力向量越多,如等级第二的解码器根据等级第一的解码器生成的第一解码序列生成一个注意力向量,等级第四的解码器根据等级前三的解码器生成的三个解码序列生成三个注意力向量。通过由上下文向量以及上级解码器的至少一个注意力向量来更新第四序列模型的状态,使得高级的解码器可以影响低级的解码器,也即是抽象的词汇指导实体词汇的选取,从而使得生成的回复消息更接近人类的思考方式。
例如,以第二解码器为浅层词汇解码器为例,服务器控制浅层词汇解码器获取浅层词汇编码器在编码结束时的状态信息,也即浅层词汇编码器包括的序列模型中最后一个节点的值,根据该最后一个节点的值对该浅层词汇解码器包括的第四序列模型进行初始化。然后服务器控制该浅层词汇解码器根据三个不同的注意力机制获取上下文向量和服务器通过另一个注意力机制获取高层词汇解码器生成的第二解码序列对应的词向量Yh,得到注意力向量服务器控制浅层词汇解码器根据上述三个上下文向量和一个注意力向量更新浅层词汇解码器包括的第四序列模型的状态,通过归一化函数对该第四序列模型进行迭代后得到第二解码序列。
需要说明的是,上述提到的注意力机制均可以采用相同的注意力模型,而各注意力模型的参数不同,该参数根据实际需要进行设置,本发明实施例不进行具体限制。
206、服务器根据多级解码器生成的解码序列,输出该会话消息的回复消息。
根据步骤205的内容,服务器根据多级解码器中的各级解码器按照级联顺序,依次生成多个解码序列,且高等级的解码器生成的解码序列可以指导等级较低的解码器生成解码序列,等级最低的解码器生成的解码序列即为该多级解码器生成的最终的解码序列。服务器根据该解码序列从词汇表中获取该解码序列包括的多个词汇,将该多个词汇进行组合得到回复消息,输出该回复消息,该回复消息为接近自然语言的回复消息。
为了使上述步骤204和步骤205描述的编码和解码过程更易理解,参见图4所示,图4为本发明实施例示例性提供的一种多级编码器-多级解码器的结构示意图。图中所示的多级编码器包括粗糙汇编码器、浅层词汇编码器以及高层词汇编码器。多级解码器包括粗糙词汇解码器、浅层词汇解码器以及高层词汇解码器。每个解码器都根据对应的编码器的状态信息来初始化该解码器包括的序列模型,即粗糙词汇解码器通过粗糙词汇编码器的状态信息来初始化其包括的序列模型,浅层词汇解码器通过浅层词汇编码器的状态信息来初始化其包括的序列模型,高层词汇解码器通过高层词汇编码器的状态信息来初始化其包括的序列模型。浅层词汇编码器通过粗糙词汇编码器的状态信息来初始化其包括的序列模型,高层词汇编码器通过浅层词汇编码器初始化其包括的序列模型。浅层词汇解码器根据高层词汇解码器生成的解码序列来指导生成其解码序列,粗糙词汇解码器根据高层词汇解码器生成的解码序列和浅层词汇解码器生成的解码序列来指导生成其解码序列。
为了使上述步骤201-步骤206描述的基于人工智能的回复消息生成方法的整体流程更清楚,参见图5所示,图5为本发明实施例提供的一种基于人工智能的回复消息生成方法的整体流程结构图。图5包括多级词汇表、多级编码器和多级解码器,其中,多级词汇表为金字塔型结构,随着词汇表层级的增高,词汇表中包括的词汇减少。多级编码器的级联关系为由低到高,由塔底的粗糙词汇编码器到中层的浅层词汇编码器,再到塔尖的高层词汇编码器。多级解码器的级联关系为由高到低,由塔尖的高层词汇解码器到中层浅层词汇解码器,再到塔底的粗糙词汇编码器。
需要说明的是,上述步骤201-步骤206描述的基于人工智能的回复消息生成方法仅是本发明实施例提出的一种最优方案,上述编码器和解码器的个数不一定相等,且不一定等于词汇表的个数,如多级词汇表可以配置一个编码器多个解码器,或者多级词汇表可以配置多个编码器一个解码器,本发明实施例对此不进行具体限制。
需要说明的是,为了验证本发明实施例提出的基于人工智能的回复消息生成方法的有效性,本发明实施例还进行了多个对比实验。通过BLUE(Bilingual EvaluationUnderstudy)以及ROUGE(Recall-Oriented Understudy for Gisting Evaluation)来评估现有技术与本发明。
对比实验1,参见图6所示,图6为本发明实施例提供的一种本发明与现有技术的实验效果对比图。由于本发明实施例提供的方法中多级词汇表的结构类似于金字塔,因此由VPN(Vocabulary Pyramid Network,词汇金字塔网络)来表示。作为对比的现有技术有S2SA(融合注意力机制的Sequence-to-Sequence模型)、S2STA(融合主题词的Sequence-to-Sequence模型)、S2SDV(基于动态词汇表的Sequence-to-Sequence模型)以及DelNet(Deliberation Network,推敲网络)。进行实验的平台为社交平台1和社交平台2。通过图6中的实验数据可以看出,本发明实施例提供的方法在社交平台1和社交平台2数据上的BLUE以及ROUGE指标都超过其他现有技术,表示本发明实施例提供的方法优于已有方法。
对比实验2,参见图7所示,图7为本发明实施例提供的一种单个词汇表与多级词汇表的效果对比图。进行的实验采用社交平台1和社交平台2的数据。采用三组实验进行说明,第一组实验配置有三个编码器和一个解码器来对比单个词汇表和多级词汇表的效果。第二组实验配置有一个编码器和三个解码器来对比单个词汇表和多级词汇表的效果。第三组实验配置有三个编码器和三个解码器来对比单个词汇表和多级词汇表的效果。通过图7中的实验数据可以看出,本发明实施例提供的方法中包括的多级词汇表在社交平台1和社交平台2数据上的BLUE以及ROUGE指标都超过单个词汇表,标识多级词汇表的效果优于单个词汇表。
对比实验3,参见图8所示,图8为本发明实施例提供的一种不同编解码器个数的效果对比图。进行的实验采用社交平台1和社交平台2的数据。以VPN表示本发明实施例,VPN包括粗糙词汇编码器、粗糙词汇解码器、浅层词汇编码器、浅层词汇解码器、高层词汇编码器以及高层词汇解码器。实验过程中,以VPN作为基准组,其他三组实验分别为实验组二:去除浅层词汇编码器和浅层词汇解码器;实验组三:去除高层词汇编码器和高层词汇解码器;实验组四:去除浅层词汇编码器、浅层词汇解码器、高层词汇编码器和高层词汇解码器。通过图8中的实验数据可以看出,相对于本发明实施例提供的多级编码器和多级解码器,移除任何编码器和解码器效果均会下降,从而证明确定多级编码器和多级解码器的有效性。
对比实验4,参见图9所示,图9为本发明实施例提供的一种人工评价效果对比图。进行的实验的平台为社交平台1和社交平台2。以VPN表示本发明实施例,将VPN分别与现有技术S2STA和DelNet进行比较,由人工评判流利性、一致性以及信息含量三方面的指标。通过图9中的实验数据可以看出,VPN的得分均大于50%,表示VPN优于S2STA和DelNet。
在本发明实施例中,通过获取目标用户的会话消息,将该会话消息输入多级编码器中,该多级编码器包括多个级联的编码器且每个编码器与多级词汇表中包括的一级词汇表对应,每级词汇表包括的词汇用于表示层级相邻且第一该词汇表的其他词汇表中多个词汇的类别,根据多个编码器的级联关系,控制每个编码器分别根据每个编码器对应的词汇表以及上一级编码器的状态信息生成会话消息的编码序列,根据多级解码器包括的多个解码器的级联关系,控制每个解码器分别根据多个编码器生成的编码序列、上级解码器生成的第一解码序列以及对应的编码器的状态信息生成第二解码序列,多个解码器与所述多个编码器一一对应,根据多级解码器生成的解码序列,输出会话消息的回复消息。由于采用了多级词汇表,从而不同层级的词汇具有不同深度的语意含义,通过多级编码器按照多个编码器级联关系依次生成会话消息的多个编码序列,再由多级解码器基于该多个编码序列多级编码器中各编码器的状态信息和已经解码出来的序列来生成当前解码序列,最后根据该多级编码器中最后一个解码器生成的解码序列输出对话消息的回复消息。也即该回复消息是在多级词汇表、多级编码器以及多级解码器的共同作用下生成的,多步编解码的过程近似于人类思考的过程,不仅捕获了词汇表层的意思,还捕获了更深层的含义,使得生成的回复消息更加顺畅流利,质量较高。
图10为本发明实施例提供的一种基于人工智能的回复消息生成装置的框图。该装置用于执行上述基于人工智能的回复消息生成方法执行时的步骤,参见图10,装置包括:获取模块1001、输入模块1002、控制模块1003和输出模块1004。
获取模块1001,用于获取目标用户的会话消息;
输入模块1002,用于将会话消息输入多级编码器中,多级编码器包括多个级联的编码器,每个编码器与多级词汇表中包括的一级词汇表对应,每级词汇表包括的词汇用于表示层级相邻且层级低于词汇表的其他词汇表中多个词汇的类别;
控制模块1003,用于根据多个编码器的级联关系,控制每个编码器分别根据每个编码器对应的词汇表以及上一级编码器的状态信息生成会话消息的编码序列;
控制模块1003,还用于根据多级解码器包括的多个解码器的级联关系,控制每个解码器分别根据多个编码器生成的编码序列、上级解码器生成的第一解码序列以及对应的编码器的状态信息生成第二解码序列,多个解码器与多个编码器一一对应;
输出模块1004,用于根据多级解码器生成的解码序列,输出会话消息的回复消息。
在另一种可能的实现方式中,控制模块1003,还用于对于每个编码器,确定编码器对应的词汇表;根据词汇表,确定会话消息包括的每个词汇的词向量,得到词向量序列;根据词向量序列以及上一级编码器的状态信息生成会话消息的编码序列。
在另一种可能的实现方式中,编码器为第一级的第一编码器时,上一级编码器的状态信息为空;控制模块1003,还用于根据零向量初始化第一编码器包含的第一序列模型;将词向量序列输入第一序列模型,生成会话消息的编码序列。
在另一种可能的实现方式中,编码器为非第一级的第二编码器时,上一级编码器的状态信息不为空;控制模块1003,还用于获取上一级编码器的状态信息,根据状态信息初始化第二编码器包含的第二序列模型;将词向量序列输入第二序列模型,生成会话消息的编码序列。
在另一种可能的实现方式中,控制模块1003,还用于对于每个解码器,获取多个编码器生成的编码序列,得到多个编码序列;获取每个编码序列对应的上下文向量,得到多个上下文向量;根据多个上下文向量、上级解码器生成的第一解码序列以及对应的编码器的状态信息生成第二解码序列。
在另一种可能的实现方式中,解码器为第一级的第一解码器时,上级解码器生成的第一解码序列为空;控制模块1003,还用于获取第一解码器对应的编码器的状态信息,根据状态信息初始化第一解码器包括的第三序列模型;根据多个上下文向量更新第三序列模型的状态;根据更新后的第三序列模型生成第二解码序列。
在另一种可能的实现方式中,解码器为非第一级的第二解码器时,上级解码器生成的第一解码序列不为空;控制模块1003,还用于获取第二解码器对应的编码器的状态信息,根据状态信息初始化第二解码器包括的第四序列模型;获取上级解码器生成的第一解码序列,根据第一解码序列生成注意力向量,注意力向量用于表示词汇的重要程度;根据多个上下文向量和注意力向量更新第四序列模型的状态;根据更新后的第四序列模型生成第二解码序列。
在另一种可能的实现方式中,装置还包括生成模块,用于对于每个词汇表,获取相邻层级且层级低于词汇表的其他词汇表;获取其他词汇表对应的词向量矩阵,词向量矩阵包括其他词汇表中的词汇对应的词向量;对词向量矩阵进行聚类,将聚类得到的词汇作为词汇表中的词汇。
在另一种可能的实现方式中,生成模块,还用于当词汇表为层级最低的词汇表时,获取多个原始词汇;将多个原始词汇作为层级最低的词汇表中的词汇。
在本发明实施例中,由于采用了多级词汇表,从而不同层级的词汇具有不同深度的语意含义,通过多级编码器按照多个编码器级联关系依次生成会话消息的多个编码序列,再由多级解码器基于该多个编码序列多级编码器中各编码器的状态信息来生成第二解码序列,最后根据该多级编码器生成的解码序列输出对话消息的回复消息。也即该回复消息是在多级词汇表、多级编码器以及多级解码器的共同作用下生成的,多步编解码的过程近似于人类思考的过程,不仅捕获了词汇表层的意思,还捕获了更深层的含义,使得生成的回复消息更加顺畅流利,质量较高。
需要说明的是:上述实施例提供的基于人工智能的回复消息生成装置在运行应用程序时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的基于人工智能的回复消息生成装置与基于人工智能的回复消息生成方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图11是本发明实施例提供的一种服务器的结构示意图,该服务器1100可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processingunits,CPU)1101和一个或一个以上的存储器1102,其中,所述存储器1102中存储有至少一条指令,所述至少一条指令由所述处理器1101加载并执行以实现上述各个方法实施例提供的方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质应用于服务器,该计算机可读存储介质中存储有程序代码,该程序代码由处理器加载并执行以实现上述实施例的基于人工智能的回复消息生成方法中服务器所执行的操作。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (15)
1.一种基于人工智能的回复消息生成方法,其特征在于,所述方法包括:
获取目标用户的会话消息;
将所述会话消息输入多级编码器中,所述多级编码器包括多个级联的编码器,每个编码器与多级词汇表中包括的一级词汇表对应,每级所述词汇表包括的词汇用于表示层级相邻且层级低于所述词汇表的其他词汇表中多个词汇的类别;
根据所述多个编码器的级联关系,控制每个所述编码器分别根据每个所述编码器对应的词汇表以及上一级编码器的状态信息生成所述会话消息的编码序列;
根据多级解码器包括的多个解码器的级联关系,控制每个解码器分别根据所述多个编码器生成的编码序列、上级解码器生成的第一解码序列以及对应的编码器的状态信息生成第二解码序列,所述多个解码器与所述多个编码器一一对应;
根据所述多级解码器生成的解码序列,输出所述会话消息的回复消息。
2.根据权利要求1所述的方法,其特征在于,所述控制每个所述编码器分别根据每个所述编码器对应的词汇表以及上一级编码器的状态信息生成所述会话消息的编码序列,包括:
对于每个所述编码器,确定所述编码器对应的词汇表;
根据所述词汇表,确定所述会话消息包括的每个词汇的词向量,得到词向量序列;
根据所述词向量序列以及所述上一级编码器的状态信息生成所述会话消息的编码序列。
3.根据权利要求2所述的方法,其特征在于,所述编码器为第一级的第一编码器时,所述上一级编码器的状态信息为空;
所述根据所述词向量序列以及所述上一级编码器的状态信息生成所述会话消息的编码序列,包括:
根据零向量初始化所述第一编码器包含的第一序列模型;
将所述词向量序列输入所述第一序列模型,生成所述会话消息的编码序列。
4.根据权利要求2所述的方法,其特征在于,所述编码器为非第一级的第二编码器时,所述上一级编码器的状态信息不为空;
所述根据所述词向量序列以及所述上一级编码器的状态信息生成所述会话消息的编码序列,包括:
获取上一级编码器的状态信息,根据所述状态信息初始化所述第二编码器包含的第二序列模型;
将所述词向量序列输入所述第二序列模型,生成所述会话消息的编码序列。
5.根据权利要求1所述的方法,其特征在于,所述控制每个解码器分别根据所述多个编码器生成的编码序列、上级解码器生成的第一解码序列以及对应的编码器的状态信息生成第二解码序列,包括:
对于每个解码器,获取所述多个编码器生成的编码序列,得到多个编码序列;
获取每个编码序列对应的上下文向量,得到多个上下文向量;
根据所述多个上下文向量、上级解码器生成的第一解码序列以及对应的编码器的状态信息生成所述第二解码序列。
6.根据权利要求5所述的方法,其特征在于,所述解码器为第一级的第一解码器时,所述上级解码器生成的第一解码序列为空;
所述根据所述多个上下文向量、上级解码器生成的第一解码序列以及对应的编码器的状态信息生成第二解码序列,包括:
获取所述第一解码器对应的编码器的状态信息,根据所述状态信息初始化所述第一解码器包括的第三序列模型;
根据所述多个上下文向量更新所述第三序列模型的状态;
根据更新后的第三序列模型生成所述第二解码序列。
7.根据权利要求5所述的方法,其特征在于,所述解码器为非第一级的第二解码器时,所述上级解码器生成的第一解码序列不为空;
所述根据所述多个上下文向量、上级解码器生成的第一解码序列以及对应的编码器的状态信息生成第二解码序列,包括:
获取所述第二解码器对应的编码器的状态信息,根据所述状态信息初始化所述第二解码器包括的第四序列模型;
获取上级解码器生成的第一解码序列,根据所述第一解码序列生成注意力向量,所述注意力向量用于表示词汇的重要程度;
根据所述多个上下文向量和所述注意力向量更新所述第四序列模型的状态;
根据更新后的第四序列模型生成所述第二解码序列。
8.根据权利要求1所述的方法,其特征在于,所述多级词汇表的生成方式为:
对于每个词汇表,获取相邻层级且层级低于所述词汇表的其他词汇表;
获取所述其他词汇表对应的词向量矩阵,所述词向量矩阵包括所述其他词汇表中的词汇对应的词向量;
对所述词向量矩阵进行聚类,将聚类得到的词汇作为所述词汇表中的词汇。
9.根据权利要求8所述的方法,其特征在于,所述获取相邻层级且层级低于所述词汇表的其他词汇表之前,所述方法还包括:
当所述词汇表为层级最低的词汇表时,获取多个原始词汇;
将所述多个原始词汇作为所述层级最低的词汇表中的词汇。
10.一种基于人工智能的回复消息生成装置,其特征在于,所述装置包括:
获取模块,用于获取目标用户的会话消息;
输入模块,用于将所述会话消息输入多级编码器中,所述多级编码器包括多个级联的编码器,每个编码器与多级词汇表中包括的一级词汇表对应,每级所述词汇表包括的词汇用于表示层级相邻且层级低于所述词汇表的其他词汇表中多个词汇的类别;
控制模块,用于根据所述多个编码器的级联关系,控制每个所述编码器分别根据每个所述编码器对应的词汇表以及上一级编码器的状态信息生成所述会话消息的编码序列;
所述控制模块,还用于根据多级解码器包括的多个解码器的级联关系,控制每个解码器分别根据所述多个编码器生成的编码序列、上级解码器生成的第一解码序列以及对应的编码器的状态信息生成第二解码序列,所述多个解码器与所述多个编码器一一对应;
输出模块,用于根据所述多级解码器生成的解码序列,输出所述会话消息的回复消息。
11.根据权利要求10所述的装置,其特征在于,所述控制模块,还用于对于每个所述编码器,确定所述编码器对应的词汇表;根据所述词汇表,确定所述会话消息包括的每个词汇的词向量,得到词向量序列;根据所述词向量序列以及所述上一级编码器的状态信息生成所述会话消息的编码序列。
12.根据权利要求11所述的装置,其特征在于,所述编码器为第一级的第一编码器时,所述上一级编码器的状态信息为空;所述控制模块,还用于根据零向量初始化所述第一编码器包含的第一序列模型;将所述词向量序列输入所述第一序列模型,生成所述会话消息的编码序列。
13.根据权利要求11所述的装置,其特征在于,所述编码器为非第一级的第二编码器时,所述上一级编码器的状态信息不为空;所述控制模块,还用于获取上一级编码器的状态信息,根据所述状态信息初始化所述第二编码器包含的第二序列模型;将所述词向量序列输入所述第二序列模型,生成所述会话消息的编码序列。
14.一种服务器,其特征在于,所述服务器包括处理器和存储器,所述存储器用于存储程序代码,所述程序代码由所述处理器加载并执行权利要求1至9任一权利要求所述的基于人工智能的回复消息生成方法。
15.一种存储介质,其特征在于,所述存储介质用于存储程序代码,所述程序代码用于执行权利要求1至9任一权利要求所述的基于人工智能的回复消息生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910685616.XA CN110442693B (zh) | 2019-07-27 | 2019-07-27 | 基于人工智能的回复消息生成方法、装置、服务器及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910685616.XA CN110442693B (zh) | 2019-07-27 | 2019-07-27 | 基于人工智能的回复消息生成方法、装置、服务器及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110442693A CN110442693A (zh) | 2019-11-12 |
CN110442693B true CN110442693B (zh) | 2022-02-22 |
Family
ID=68431842
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910685616.XA Active CN110442693B (zh) | 2019-07-27 | 2019-07-27 | 基于人工智能的回复消息生成方法、装置、服务器及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110442693B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111460126B (zh) * | 2020-06-12 | 2020-09-25 | 支付宝(杭州)信息技术有限公司 | 一种用于人机对话系统的回复生成方法、装置及电子设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103729459A (zh) * | 2014-01-10 | 2014-04-16 | 北京邮电大学 | 一种构建情感分类模型的方法 |
WO2017139539A2 (en) * | 2016-02-10 | 2017-08-17 | Yong Zhang | Electronic message information retrieval system |
CN107632981A (zh) * | 2017-09-06 | 2018-01-26 | 沈阳雅译网络技术有限公司 | 一种引入源语组块信息编码的神经机器翻译方法 |
CN108062388A (zh) * | 2017-12-15 | 2018-05-22 | 北京百度网讯科技有限公司 | 人机对话的回复生成方法和装置 |
CN108984524A (zh) * | 2018-07-05 | 2018-12-11 | 北京理工大学 | 一种基于变分神经网络主题模型的标题生成方法 |
CN109241262A (zh) * | 2018-08-31 | 2019-01-18 | 出门问问信息科技有限公司 | 基于关键词生成回复语句的方法及装置 |
CN109829172A (zh) * | 2019-01-04 | 2019-05-31 | 北京先声智能科技有限公司 | 一种基于神经翻译的双向解码自动语法改错模型 |
CN109902145A (zh) * | 2019-01-18 | 2019-06-18 | 中国科学院信息工程研究所 | 一种基于注意力机制的实体关系联合抽取方法和系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10459928B2 (en) * | 2016-12-14 | 2019-10-29 | Microsoft Technology Licensing, Llc | Dynamic tensor attention for information retrieval scoring |
US10672388B2 (en) * | 2017-12-15 | 2020-06-02 | Mitsubishi Electric Research Laboratories, Inc. | Method and apparatus for open-vocabulary end-to-end speech recognition |
-
2019
- 2019-07-27 CN CN201910685616.XA patent/CN110442693B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103729459A (zh) * | 2014-01-10 | 2014-04-16 | 北京邮电大学 | 一种构建情感分类模型的方法 |
WO2017139539A2 (en) * | 2016-02-10 | 2017-08-17 | Yong Zhang | Electronic message information retrieval system |
CN107632981A (zh) * | 2017-09-06 | 2018-01-26 | 沈阳雅译网络技术有限公司 | 一种引入源语组块信息编码的神经机器翻译方法 |
CN108062388A (zh) * | 2017-12-15 | 2018-05-22 | 北京百度网讯科技有限公司 | 人机对话的回复生成方法和装置 |
CN108984524A (zh) * | 2018-07-05 | 2018-12-11 | 北京理工大学 | 一种基于变分神经网络主题模型的标题生成方法 |
CN109241262A (zh) * | 2018-08-31 | 2019-01-18 | 出门问问信息科技有限公司 | 基于关键词生成回复语句的方法及装置 |
CN109829172A (zh) * | 2019-01-04 | 2019-05-31 | 北京先声智能科技有限公司 | 一种基于神经翻译的双向解码自动语法改错模型 |
CN109902145A (zh) * | 2019-01-18 | 2019-06-18 | 中国科学院信息工程研究所 | 一种基于注意力机制的实体关系联合抽取方法和系统 |
Non-Patent Citations (4)
Title |
---|
Deliberation Networks: Sequence Generation Beyond One-Pass Decoding;Yingce Xia etc.;《Advances in Neural Information Processing Systems 30 (NIPS 2017)》;20171230;第1-7页 * |
Generating Keyword Queries for Natural Language Queries to Alleviate Lexical Chasm Problem;Liu, Xiaoyu etc.;《27th ACM International Conference on Information and Knowledge Management (CIKM)》;20181230;第1163-1171页 * |
基于多级语义表示和混合注意力机制的机器阅读理解研究;王立胜;《中国优秀硕士学位论文全文数据库(信息科技辑)》;20190515;I138-1889 * |
面向问答社区的抽取式答案融合研究;熊雪;《中国优秀硕士学位论文全文数据库(信息科技辑)》;20190115;I138-4422 * |
Also Published As
Publication number | Publication date |
---|---|
CN110442693A (zh) | 2019-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021233112A1 (zh) | 基于多模态机器学习的翻译方法、装置、设备及存储介质 | |
CN112131366B (zh) | 训练文本分类模型及文本分类的方法、装置及存储介质 | |
CN110427461B (zh) | 智能问答信息处理方法、电子设备及计算机可读存储介质 | |
CN106202010B (zh) | 基于深度神经网络构建法律文本语法树的方法和装置 | |
CN112115687B (zh) | 一种结合知识库中的三元组和实体类型的生成问题方法 | |
CN108287820A (zh) | 一种文本表示的生成方法及装置 | |
CN113722483B (zh) | 话题分类方法、装置、设备及存储介质 | |
CN111382231B (zh) | 意图识别系统及方法 | |
CN114676234A (zh) | 一种模型训练方法及相关设备 | |
CN111694937A (zh) | 基于人工智能的面试方法、装置、计算机设备及存储介质 | |
CN110427629A (zh) | 半监督文本简化模型训练方法和系统 | |
CN107679225A (zh) | 一种基于关键词的回复生成方法 | |
CN111598979A (zh) | 虚拟角色的面部动画生成方法、装置、设备及存储介质 | |
CN113096242A (zh) | 虚拟主播生成方法、装置、电子设备及存储介质 | |
CN111858898A (zh) | 基于人工智能的文本处理方法、装置及电子设备 | |
CN111597815A (zh) | 一种多嵌入命名实体识别方法、装置、设备及存储介质 | |
CN113761220A (zh) | 信息获取方法、装置、设备及存储介质 | |
CN113312919A (zh) | 一种知识图谱的文本生成方法及装置 | |
CN110929532B (zh) | 数据处理方法、装置、设备及存储介质 | |
CN112199502A (zh) | 基于情感的诗句生成方法及装置、电子设备和存储介质 | |
CN115730597A (zh) | 多级语义意图识别方法及其相关设备 | |
CN111597816A (zh) | 一种自注意力命名实体识别方法、装置、设备及存储介质 | |
CN110442693B (zh) | 基于人工智能的回复消息生成方法、装置、服务器及介质 | |
CN113704393A (zh) | 关键词提取方法、装置、设备及介质 | |
CN113609873A (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 |