CN110083693B - 机器人对话回复方法及装置 - Google Patents
机器人对话回复方法及装置 Download PDFInfo
- Publication number
- CN110083693B CN110083693B CN201910349985.1A CN201910349985A CN110083693B CN 110083693 B CN110083693 B CN 110083693B CN 201910349985 A CN201910349985 A CN 201910349985A CN 110083693 B CN110083693 B CN 110083693B
- Authority
- CN
- China
- Prior art keywords
- reply
- item
- vector
- candidate
- feature
- 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
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J11/00—Manipulators not otherwise provided for
- B25J11/0005—Manipulators having means for high-level communication with users, e.g. speech generator, face recognition means
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Manipulator (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种机器人对话回复方法及装置,属于计算机技术领域,用于提升机器人回复的准确性。该方法包括:获取针对用户的输入内容的M个候选回复项,M为正整数;获得每一个所述候选回复项与回复依据项集合之间的关联概率,其中,所述回复依据项集合包括对话机器人的角色特征的描述语句项以及至少一轮所述用户与所述对话机器人的历史对话;将所述关联概率的值最大的候选回复项确定为所述对话机器人对于所述输入内容的回复。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种机器人对话回复方法及装置。
背景技术
对话机器人,或称对话系统则是利用机器学习(Machine Learning,ML)和人工智能(Artificial Intelligence,AI)等技术让机器理解人的语言,进而模拟人与人之间的沟通交流。
但是,目前的对话机器人与用户进行交互时,一般采用问答知识库的形式,即预先在问答知识库中存储问题以及与问题相对应的回复,当用户输入问题时,对话机器人根据该问题在问答知识库中检索出与该问题相对应的回复并将其反馈给用户,以实现人机对话,但是,这种采用问答知识库形式的对话机器人仅适用于一轮对话的场景,而当用户与对话机器人进行多轮对话时,即用户连续与对话机器人进行交互时,若对话机器人仍然采用问答知识库的形式,极有给出错误的回复或者完全不相关的回复,从而使得用户使用体验较差。
发明内容
本发明实施例提供一种机器人对话回复方法及装置,用于提升机器人回复的准确性。
一方面,提供一种机器人对话回复方法,所述方法包括:
获取针对用户的输入内容的M个候选回复项,M为正整数;
获得每一个所述候选回复项与回复依据项集合之间的关联概率,其中,所述回复依据项集合包括对话机器人的角色特征的描述语句项以及至少一轮所述用户与所述对话机器人的历史对话;
将所述关联概率的值最大的候选回复项确定为所述对话机器人对于所述输入内容的回复。
一方面,提供一种机器人对话回复装置,所述装置包括:
回复项获取单元,用于获取针对用户的输入内容的M个候选回复项,M为正整数;
概率获得单元,获得每一个所述候选回复项与回复依据项集合之间的关联概率,其中,所述回复依据项集合包括对话机器人的角色特征的描述语句项以及至少一轮所述用户与所述对话机器人的历史对话;
确定单元,用于将所述关联概率的值最大的候选回复项确定为所述对话机器人对于所述输入内容的回复。
可选的,所述概率获得单元,具体用于:
利用预先训练的关联概率确定模型获得每一个所述候选回复项与回复依据项集合之间的关联概率;所述关联概率确定模型是采用标注了候选回复项与回复依据项集合之间的目标概率的多个训练样本进行训练得到的。
可选的,所述训练样本包括正样本和负样本,所述正样本的候选回复项是从多个候选回复项中选中的最佳回复,且与回复依据项集合之间的目标概率为100%,所述负样本为多个候选回复项中除最佳回复之外的候选回复项,且与回复依据项集合之间的目标概率为0;
其中,所述关联概率确定模型在训练过程中针对各训练样本输出的关联概率与各训练样本中标注的目标概率之间满足设定要求。
可选的,至少一轮所述用户与所述对话机器人的历史对话仅包括所述用户在至少一轮历史对话中的输入内容。
可选的,所述概率获得单元,具体用于:
针对一个所述候选回复项,基于所述候选回复项的表示矩阵集合,以及所述回复依据项集合中每一个回复依据项的表示矩阵集合,获得关联度特征子向量集合,所述关联度特征子向量集合中的一个关联度特征子向量表征所述候选回复项与一个所述回复依据项之间的相关性;
基于每一个关联度特征子向量所对应的回复依据项在所述回复依据项集合中的顺序,将各关联度特征子向量进行特征融合以得到关联度特征总向量,所述关联度特征总向量用于表征所述候选回复项与所述回复依据项集合之间的相关性;
分别基于所述候选回复项与每一个回复依据项的关联度特征总向量,确定所述候选回复项与每一个回复依据项之间的关联概率。
可选的,所述概率获得单元,具体用于:
对所述候选回复项进行拆分得到至少一个分词;
通过每一个分词的词向量按照各分词在所述候选回复项中的顺序进行组合得到所述候选回复项的词向量表示矩阵;
利用至少一种语义特征分析方法对所述词向量表示矩阵进行语义分析,分别得到所述候选回复项的至少一种语义表示矩阵,各语义表示矩阵均包含了所述至少一个分词之间的语义上下文信息;并,
基于所述词向量表示矩阵,以及至少一种语义表示矩阵组成所述表示矩阵集合。
可选的,所述概率获得单元,具体用于:
将所述候选回复项的表示矩阵集合中各表示矩阵,与每一个回复依据项的表示矩阵集合中各表示矩阵进行交叉匹配,得到所述候选回复项的与每一个回复依据项的多个关联度特征子矩阵;其中,关联度特征子矩阵中的每一个元素表示所述候选回复项的一个分词与一个回复依据项的一个分词之间的相关性;
针对每一个回复依据项,对所述候选回复项与所述回复依据项的多个关联度特征子矩阵进行特征提取,以得到所述候选回复项与所述回复依据项的第一关联度特征子向量;
根据所述候选回复项与每一个回复依据项的第一关联度特征子向量得到所述关联度特征子向量集合。
可选的,所述概率获得单元,具体用于:
分别对所述候选回复项以及每一个回复依据项的词向量表示矩阵进行特征提取,以得到所述候选回复项以及每一个回复依据项的第一特征表示向量;
将所述候选回复项的第一特征表示向量,分别与每一个回复依据项的第一特征表示向量进行拼接,以得到所述候选回复项与每一个回复依据项的第二关联度特征子向量;
则所述根据所述候选回复项与每一个回复依据项的关联度特征子向量得到所述关联度特征子向量集合,包括:
根据所述候选回复项与每一个回复依据项的第一关联度特征子向量,以及第二关联度特征子向量,得到所述关联度特征子向量集合。
可选的,所述概率获得单元,具体用于:
分别从所述候选回复项以及每一个回复依据项的词向量表示矩阵中,选取在各特征维度上的最大特征值,以得到所述候选回复项以及每一个回复依据项的第二特征表示向量;并,
分别从所述候选回复项以及每一个回复依据项的词向量表示矩阵中,获取在各特征维度上所有分词的特征值之和,以得到所述候选回复项以及每一个回复依据项的第三特征表示向量;
获取所述候选回复项的第二特征表示向量与每一个回复依据项的第二特征表示向量的相似度,以及获取所述候选回复项的第三特征表示向量与每一个回复依据项的第三特征表示向量的相似度;
分别将各回复依据项对应的所述第二特征表示向量的相似度与第三特征表示向量的相似度进行拼接,以得到所述候选回复项与每一个回复依据项的第三关联度特征子向量;
则所述根据所述候选回复项与每一个回复依据项的关联度特征子向量得到所述关联度特征子向量集合,包括:
根据所述候选回复项与每一个回复依据项的第一关联度特征子向量以及第三关联度特征子向量,得到所述关联度特征子向量集合;或者,
根据所述候选回复项与每一个回复依据项的第一关联度特征子向量、第二关联度特征子向量以及第三关联度特征子向量,得到所述关联度特征子向量集合。
一方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方面所述的方法。
一方面,提供一种计算机可读存储介质,存储有处理器可执行指令,所述处理器可执行指令用于执行上述方面所述的方法。
本发明实施例中,对话机器人在针对用户的输入内容进行回复时,计算每一个候选回复项与回复依据项集合之间的关联概率,从而选择关联概率的值最大的候选回复项作为对话机器人给用户的回复。其中,回复依据项集合中包括的是对话机器人的角色特征的描述语句项和用户跟对话机器人的历史对话,即将这些内容作为对话机器人给用户回复的依据,关联概率即表征与回复依据项集合之间的关联性,那么关联概率越高,则表明候选回复项与机器人的角色特征以及历史对话内容愈加相符,因而最终确定出的回复即为候选回复项中的最优回复项,从而提升了机器人回复的准确性,且对话机器人拥有着自身的角色特征,使得对话机器人富有个性,更加接近于真人,用户与之交互的使用体验随之提升。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种场景示意图;
图2为本发明实施例提供的用户与对话机器人的对话界面的示意图;
图3为本发明实施例提供的另一种场景示意图;
图4为本发明实施例提供的对话机器人与用户对话的示意图;
图5为本发明实施例提供的机器人对话回复方法的流程示意图;
图6为本发明实施例提供的关联概率确定模型的结构示意图;
图7为本发明实施例提供的关联概率确定模型的训练过程的流程示意图;
图8为本发明实施例提供的利用关联概率确定模型得到关联概率的流程示意图;
图9为本发明实施例提供的词向量表示矩阵的结构示意图;
图10为本发明实施例提供的描述语句项p1和候选回复项c的交叉匹配的示意图;
图11为本发明实施例提供的得到第一关联度特征子向量的示意图;
图12为本发明实施例提供的CNN的架构示意图;
图13为本发明实施例提供的得到描述语句项p1和候选回复项c之间的第三关联度特征子向量的流程示意图;
图14为本发明实施例提供的机器人对话回复装置的一种结构示意图;
图15为本发明实施例提供的计算机设备的一种结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互任意组合。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
为便于理解本发明实施例提供的技术方案,这里先对本发明实施例使用的一些关键名词进行解释:
描述语句项:为提升对话机器人的个性和魅力,可以为对话机器人赋予一定的角色特征,或称人设,换句话说,具有人设的对话机器人更加接近于真人,例如对话机器人可以具有年龄以及爱好等等。对话机器人的人设可以通过描述语句项来表示,一个描述语句项即一个句子,每一个描述语句项可以表征出对话机器人的一个或者多个人设特征,例如“我喜欢在欧洲旅行”以及“我喜欢苹果”,即可以表达出对话机器人的喜好,即喜欢旅行和喜欢的水果等信息。实质上,对话机器人的描述语句项也可理解成对话机器人的自我描述,类似于自我介绍。
回复依据项:在用户输入内容之后,对话机器人则需要对用户的输入内容进行回复,一般而言,回复的内容既要符合对话机器人的人设,也要与历史对话内容相关联,因而对话机器人选择回复的依据则可以是对话机器人的人设和历史对话内容,人设和历史对话内容均可以通过句子进行表示,即每一个描述语句项或者历史对话的句子即可作为一个回复依据项,从而构成回复依据项集合。当然,在进行回复时,若是还需要考虑其他的因素,那其他因素也可以作为回复依据项,本发明实施例对此不做限制。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,在不做特别说明的情况下,一般表示前后关联对象是一种“或”的关系。
目前的对话机器人与用户进行交互时,一般采用问答知识库的形式,即预先在问答知识库中存储问题以及与问题相对应的回复,当用户输入问题时,对话机器人根据该问题在问答知识库中检索出与该问题相对应的回复并将其反馈给用户,以实现人机对话,但是,这种采用问答知识库形式的对话机器人仅适用于一轮对话的场景,而当用户与对话机器人进行多轮对话时,由于用户的多轮输入内容之间可能存在联系,对话机器人则极有可能无法识别出用户的真正意图而给出错误的回复或者完全不相关的回复,从而使得用户使用体验较差。
鉴于上述的问题,对话机器人问答知识库的方式已经无法满足多轮对话的场景的需求,从而使得对话机器人的回复不准确。在实际应用中,在人与人之间对话时,由于人拥有着较强的逻辑推理能力,能够基于对话上下文信息推理到对方的意图,从而给出最佳的答复,因而,那么要想解决上述问题,除了需要找到用户当前输入的内容所对应的候选回复项之外,还需要考虑到用户与对话上下文对机器人当前回复所带来的影响,即在给出回复时需要联系历史对话的上下文信息,进而才能得到更好的回复。此外,考虑到每个人都拥有这自己的个性,在给出答复时,或多或少的都会掺杂着个人的个性因素,因此为能够使得对话机器人与真人更为接近,用户人机交互的体验更为真实,还可以为对话机器人设定一定的角色特征,即赋予一定的人设,那么在对话机器人进行回复时,除了考虑历史对话的上下文之外,还需要考虑到自身人设对回复所带来的影响,这样,才能够使得最终输出的回复更为符合对话机器人的人设,且与历史对话上下文保持一致,进而用户的使用体验感才更佳。
鉴于上述的考虑,本发明实施例提供的一种机器人对话回复方法,在该方法中,对话机器人在针对用户的输入内容进行回复时,计算每一个候选回复项与回复依据项集合之间的关联概率,从而选择关联概率的值最大的候选回复项作为对话机器人给用户的回复。其中,回复依据项集合中包括的是对话机器人的角色特征的描述语句项和用户跟对话机器人的历史对话,即将这些内容作为对话机器人给用户回复的依据,关联概率即表征与回复依据项集合之间的关联性,那么关联概率越高,则表明候选回复项与机器人的角色特征以及历史对话内容愈加相符,因而最终确定出的回复即为候选回复项中的最优回复项,从而提升了机器人回复的准确性,且对话机器人拥有着自身的角色特征,使得对话机器人富有个性,更加接近于真人,用户与之交互的使用体验随之提升。
此外,考虑到在实际对话过程中对话机器人的回复可能存在偏差,这些偏差会随着对话轮数的增多累积起来导致后面的决策错误,因此为了避免错误累积,在进行模型训练以及模型实际应用中,只选用了对话机器人的人设和以及历史会话中用户的上下文,即用户的输入内容,这样就避免了引入对话机器人历史回复偏差所带来的错误信息,进一步提升对话机器人回复的准确性。
本发明实施例中,获取每一个候选回复项与回复依据项集合之间的关联概率时,所使用的表示矩阵集合中包括多种粒度的表示矩阵,例如词粒度的表示矩阵,即基于候选回复项或者回复依据项中所包括的分词构建的词向量表示矩阵,还包括利用多种语义特征分析方法得到的语义表示矩阵,语义表示矩阵可以表达出候选回复项或者回复依据项中各分词之间的语义上下文信息,通过不同粒度的表示矩阵对候选回复项或者回复依据项进行更为准确的表示,从而在计算关联概率时,能够更为准确的反映各候选回复项或者回复依据项的内容,进而提升对话机器人回复的准确性。
在介绍完本发明实施例的设计思想之后,下面对本发明实施例的技术方案能够适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本发明实施例而非限定。在具体实施过程中,可以根据实际需要灵活地应用本发明实施例提供的技术方案。
请参见图1所示,为发明实施例能够适用的一种场景示意图,该场景中可以包括服务器101以及多个终端102,即图1中所示终端102~1至终端102~L,L为正整数,L的值本发明实施例并不进行限制。
其中,终端102具体可以为手机、个人电脑(personal computer,PC)或者平板电脑等设备,那么终端102中可以安装包括对话机器人的应用程序,用户可以在该应用程序中与对话机器人的交互界面进行输入。其中,应用程序可以是对话机器人专用的程序,例如手机中的智能助理,例如图2所示的对话界面,例如用户可以在唤醒智能助理(即对话机器人)后,在与智能助理的交互界面进行输入,输入的方式可以通过文本方式输入或者语音方式输入,针对用户在每一轮对话中的输入内容,智能助理都会给出相应的回复,如用户语音输入“XX”(为智能助理的名称)时,智能助理获取用户的输入内容之后,即会进行回复,并显示如图2所示的交互界面,例如智能助理的回复可以为“诶,我在。”,从而开始与用户的对话。
对话机器人也可以是上述应用程序的其中一种功能或者插件等形式存在,例如购物应用中的机器人客服。终端102还可以为存在实体的机器人,例如游戏陪伴机器人、扫地机器人、儿童学习机或者智能音箱等,用户可以也可以通过输入界面进行输入,此外,为提升用户输入的便捷性,用户还可以通过语音进行输入。
终端102可以包括一个或多个处理器1021、存储器1022、与服务器101交互的I/O接口1023、显示面板1024等。其中,终端102的存储器1022中可以存储上述应用程序的程序指令,这些程序指令被处理器1021执行时能够用以实现应用程序的功能,以及在显示面板1024显示该应用程序的相应显示页面。终端102还可以包括话筒、触控面板或者按键等部件,以能够采集到用户的输入内容,相对应的,终端102可以通过显示面板1024显示回复内容,还可以通过终端102包括的扬声器以语音的形式输出回复内容。
终端102获取用户的输入内容之后,则可以将用户的输入内容通过与服务器101交互的I/O接口1023发送给服务器101。
服务器101可以包括一个或多个处理器1011、存储器1012以及与终端交互的I/O接口1013等。此外,服务器101还可以配置数据库1014,数据库1014可以用于存储各用户的历史对话、各用户的对话机器人的角色特征的描述语句项以及关联概率确定模型的参数等信息。服务器101可以是对话机器人所在应用程序的后台服务器,或者可以为实体机器人的后台服务器。其中,服务器101的存储器1012中可以存储本发明实施例提供的机器人对话回复方法的程序指令,这些程序指令被处理器1011执行时能够用以实现本发明实施例提供的机器人对话回复方法的步骤,以确定出对话机器人针对用户的输入内容的回复,并通过与终端交互的I/O接口1013发送给终端102,终端102则可以将回复输出给用户,以完成一轮人机对话。
服务器101与终端102之间可以通过一个或者多个网络103进行通信连接。该网络103可以是有线网络,也可以是无线网络,例如无线网络可以是移动蜂窝网络,或者可以是无线保真(WIreless-Fidelity,WIFI)网络,当然还可以是其他可能的网络,本发明实施例对此不做限制。
请参见图3所示,为发明实施例能够适用的另一种场景示意图,该场景中可以包括对话机器人30,对话机器人30具体可以是游戏陪伴机器人、扫地机器人或者语音机器人等,其中,对话机器人30为具有足够计算能力的设备。
具体的,对话机器人30可以包括一个或多个处理器301、存储器302、显示面板303、扬声器304以及麦克风305等。当然,对话机器人30还可以包括触控按键、实体按键等输入部件,进而可以通过麦克风305或者触控按键、实体按键等输入部件采集用户的输入内容。对话机器人30的存储器302中可以存储本发明实施例提供的机器人对话回复方法的程序指令,这些程序指令被处理器301执行时能够用以实现本发明实施例提供的机器人对话回复方法的步骤,从而在用户输入内容之后,基于对话机器人的角色特征以及历史对话包括的上下文信息从候选回复中确定出最优回复,并将最优回复输出给用户,例如可以通过显示面板303进行输出,或者也可以通过扬声器304以声音的形式输出。
如图4所示,为对话机器人与用户对话的示意图。其中,对话机器人具有自己的角色特征,如图4中所示的描述语句项,例如“我喜欢参观新地方”或者“我喜欢在欧洲旅行”等级反映出该对话机器人被赋予的角色的喜好,当然,对于对话机器人的描述语句项一般是较多的,图4中仅示出少数进行示例。图4所示的对话示意图中,用户跟对话机器人已进行了多轮历史对话,且对于每一轮对话,对话机器人都会进行存储,如图4中所示的第1轮对话中,用户的输入内容为“你好,你今天要做什么?”,对话机器人给予的回复为“我在想我即将退休的事。你呢?”。在用户与对话机器人进行第4轮对话时,用户输入“她9岁。我爱他们所有人。你是做什么工作的?”,即用户询问对话机器人被赋予的角色的工作,对话机器人可以从预存储的回复项中进行检索,得到图4所示的4个候选回复项。基于对话机器人的描述语句项“我在公共部门工作”,以及在于用户的历史对话中“我在想我即将退休的事。你呢”,则可以推理得到对话机器人被赋予的角色快退休了,且候选回复项中只有第4个候选回复项的工作性质为公共部门,因而第4个候选回复项符合要求,即第4个候选回复项应该为对话机器人在第4轮对话中的回复。因此,本发明实施例的目标即为基于对话机器人的人设以及历史对话从候选回复项中确定出最优回复项。
当然,本发明实施例提供的方法并不限用于图1和图3所示的应用场景中,还可以用于其他可能的应用场景,本发明实施例并不进行限制。对于图1和图3所示的应用场景的各个设备所能实现的功能将在后续的方法实施例中一并进行描述,在此先不过多赘述。
请参见图5,为本发明实施例提供的机器人对话回复方法的流程示意图,该方法可以通过图1中的服务器或者图5中的对话机器人来执行。
步骤501:获取针对用户的输入内容的M个候选回复项。
本发明实施例中,在获取到用户的输入内容之后,则可以基于输入内容进行检索,以从预先存储的众多回复项中检索得到与输入内容相关的M个候选回复项,从而过滤掉与用户输入内容完全不相关或者相关性很小的回复项,进而后续只需要从这M个候选回复项中选择最优回复项即可,从而减少计算量,提高对话机器人的答复速度。
在实际应用时,上述检索得到的候选回复项的数量可以是固定的,即最终从众多回复项中选择M个较优的回复项作为候选回复项;也可以是设置预设条件,即从众多回复项中选择满足预设条件的回复项作为候选回复项,那么可能针对不同输入内容检索得到的候选回复项的数量M则可以是不同的。
步骤502:获得每一个候选回复项与回复依据项集合之间的关联概率。
本发明实施例中,为从M个候选回复项中确定出最优回复项,可以获取每一个候选回复项与回复依据项集合之间的关联概率,关联概率表征与回复依据项集合之间的关联性,那么关联概率越高,则表明候选回复项与机器人的角色特征以及历史对话内容愈加相符,从而最终确定出最优回复项。
步骤503:将关联概率的值最大的候选回复项确定为对话机器人对于输入内容的回复。
本发明实施例中,在获取各候选回复项对应的关联概率之后,则可以基于关联概率的值的大小,对各候选回复项进行排序,以从中选择出关联概率的值最大的候选回复项,并将其作为针对用户的输入内容的回复。
本发明实施例中,在确定关联概率时所利用的回复依据项集合中包括的是对话机器人的角色特征的描述语句项和用户跟对话机器人的历史对话,即将这些内容作为对话机器人给用户回复的依据,那么最终确定出的回复不仅能够与对话机器人的角色特征最为相符,也能够与用户与对话机器人的历史对话所包括的上下文信息最为相符,从而提升了机器人回复的准确性。
在一种可能的实施方式中,在获得每一个候选回复项与回复依据项集合之间的关联概率时,可以利用计算各候选回复项与回复依据项集合之间的相似度,进而将相似度作为关联概率这种方式来进行。
在另一种可能的实施方式中,本发明实施例中,在获得每一个候选回复项与回复依据项集合之间的关联概率时,可以通过预先训练的关联概率确定模型来获取,本发明实施例中后续具体以此为例进行介绍。那么,在利用关联概率确定模型获取关联概率之前,还需要预先训练得到关联概率确定模型,因此下面,首先对关联概率确定模型的训练过程进行介绍。
请参见图6所示,为关联概率确定模型的结构示意图,其中,关联概率确定模型可以包括输入层、矩阵表示层、特征向量提取层、特征向量融合层、全连接层、Softmax层以及输出层,上述各层的功能将在后续的介绍中一一进行介绍,因而在此先不进行赘述。
请参见图7所示,为关联概率确定模型的训练过程的流程示意图。
步骤701:获取训练样本集合。
本发明实施例中,训练样本集合包括多个训练样本,每一个训练样本包括一个候选回复项和一个回复依据项集合,以及标注的候选回复项和回复依据项集合之间的目标概率。其中,目标概率用于表征候选回复项和回复依据项集合之间的相关性,那么目标概率越高,则表明候选回复项为最佳回复项的可能性越高。
具体的,回复依据项集合包括对话机器人的角色特征的描述语句项以及至少一轮用户与对话机器人的历史对话,那么回复依据项集合所包括的一个回复依据项实质上即为对话机器人的角色特征的描述语句项,或者为历史对话中用户的输入内容,或者为历史对话中机器人的回复。
其中,对话机器人的角色特征可以通过各描述语句项进行表示,描述语句项组成的集合可表示为P=[p1,p2,…,pn],其中,p1、p2以及pn等则分别为一个描述语句项;在第k轮对话时,历史对话组成的集合可表示为C=[u1,r1,u2,r2,…,uk],其中,u1、u2以及uk等分别为用户在每一轮的输入内容,r1以及r2等分别为在每一轮历史对话中对话机器人给出的答复;第k轮对话的候选回复项构成的集合可表示为R=[c1,c2,…,cm],其中c1、c2以及cm则分别为各候选回复项。关联概率确定模型的任务则是基于集合P和集合C确定集合R中各候选回复的关联概率,在理想情况下,可以将集合P和集合C拼接在一起组成集合U,即U=[p1,p2,…,pn,u1,r1,u2,r2,…,uk],那么集合U和集合R中的每一个候选回复项c可以组成一个训练样本。
当然,上述是针对第k轮对话时所能采集的训练样本,在实际应用中,每一轮对话都可以采集到训练样本,从而丰富训练样本的数量,最终构成上述训练样本集合。
在实际应用中,针对每一轮对话而言,对话机器人最终只会从M个候选回复项中选中一个候选回复项作为最优回复项输出给用户,那么被选中的候选回复项与该轮对话所利用的回复依据项集合所构成为训练样本即为正样本,而M个候选回复项中未选中的候选回复项与该轮对话所利用的回复依据项集合所构成为训练样本即为负样本。在进行模型训练时,所期望的是模型预测结果无限接近于目标值,即期望利用关联概率确定模型计算各训练样本的关联概率值无限接近于真实概率值,而训练样本中候选回复项与回复依据项集合无法直接衡量,并不好进行标注,但是对于每一轮对话而言,被选中的候选回复项是已定的,那么则可以将被选中的候选回复项所在的训练样本,即正样本的目标概率,标注得远远大于未被选中的候选回复项所在的训练样本,即负样本。
示例性的,可以将正样本的目标概率标注为100%,而将负样本的目标概率标注为0。当然,除了以直接标注目标概率的形式之外,还可以为每个训练样本打上标签,例如标注正样本的标签(label)为1,表示该训练样本中的候选回复项是被选中的最优回复项,相对应的,该训练样本所对应的目标概率为100%,而标注负样本的标签为0,表示该训练样本中的候选回复项是未被选中的最优回复项,相对应的,该训练样本所对应的目标概率为0。
本发明实施例中,在实际应用中,由于误差的存在,对话机器人每一轮给出的回复可能存在一定的偏差,这些偏差会随着对话轮数的增多累积起来,从而导致后面的决策错误,使得后续的回复越来越偏离正确的回复,因此,为了避免错误累积,在构造训练样本时,可以将上述理想状况下的样本构造方法中历史对话包括的对话机器人给出的回复筛除,那么回复依据项集合U则可以为U=[p1,p2,…,pn,u1,u2,…,uk],也就是说回复依据项集合可以只包含机器人的角色特征的描述语句项,以及历史对话中用户的上下文,这样,则避免了引入错误信息。后续将具体以此为例进行训练过程的描述。
本发明实施例中,在获取得到训练样本集合之后,则可以将训练样本集合输入至关联概率确定模型的输入层,以开始模型训练。
步骤702:利用本次训练使用的关联概率确定模型获取每一个训练样本中候选回复项与恢复依据项集合之间的关联概率。
本发明实施例中,对于利用关联概率确定模型获取关联概率的过程在后续的实施例中会进行详细介绍,因此在此先不过多赘述。
其中,对于初次训练时,所使用的关联概率确定模型即为初始关联概率确定模型,而后续的训练过程中,每一次训练所使用的关联概率确定模型为上一次训练调整后的关联概率确定模型。
步骤703:确定关联概率确定模型针对各训练样本输出的关联概率与各训练样本中标注的目标概率之间是否满足设定要求。
其中,在每一次训练过程中,需要本次所使用的关联概率确定模型是否能够达到训练完成的标准,即确定关联概率确定模型针对各训练样本输出的关联概率与各训练样本中标注的目标概率之间是否满足设定要求。其中,设定要求可以是根据实际情况进行设置,例如设定要求可以是模型针对各训练样本输出的关联概率与各训练样本中标注的目标概率之间的总差值需不大于预设差值阈值,或者,还可以是利用设定的损失函数计算模型针对各训练样本输出的关联概率与各训练样本中标注的目标概率之间的损失值,那么设定条件则可以是损失值需不大于预设损失值阈值。其中,损失函数例如可以是交叉熵损失函数或者均方差损失函数,当然,还可以是其他可能的损失函数,本发明实施例对此不做限制。
当然,在实际应用中,还可以基于关联概率确定模型的准确率作为设定条件,例如可以在关联概率确定模型输出关联概率之后,再基于关联概率进行分类,即针对各训练样本,确定各训练样本中的候选回复项是否被选中,在于目标概率所指示的是否选中进行比较,若分类确定结果与目标概率所指示的结果一致,那么针对该训练样本,关联概率确定模型的预测结果是准确的,同理,可以确定所有训练样本的预测结果是否准确,从而统计得到准确率,那设定条件则可以是准确率需不小于预设准确率阈值。
步骤704:若步骤703的确定结果为否,则基于关联概率确定模型针对各训练样本输出的关联概率与各训练样本中标注的目标概率之间的差异度对关联概率确定模型的参数进行调整。
本发明实施例中,若是步骤703的确定结果为否,即关联概率确定模型针对各训练样本输出的关联概率与各训练样本中标注的目标概率之间无法满足设定要求,那么则需要对关联概率确定模型的参数进行调整,从而继续进行训练。
其中,可以根据关联概率确定模型针对各训练样本输出的关联概率与各训练样本中标注的目标概率之间的差异度对关联概率确定模型的参数进行调整,并利用调整后的关联概率确定模型继续进行下一次的训练过程。具体的,在进行调整时,可以采用模型调整算法基于关联概率目标概率之间的差异度来对模型参数进行调整,其中,模型调整算法例如可以是梯度下降(Gradient Descent,GD)算法,以计算参数调整的梯度,从而基于梯度对模型参数进行调整,或者,模型调整算法还可以是反向传播(back propagation,BP)算法,当然,模型调整算法还可以是其他可能的算法,本发明实施例对此不做限制。
步骤705:若步骤703的确定结果为是,则训练结束。
请参见图8所示,为利用关联概率确定模型得到关联概率的流程示意图。在模型训练时,针对每一个训练样本而言,即一个候选回复项与一个回复依据项集合处理过程均是类似的,且在模型训练之后,关联概率确定模型应用于实际的对话场景时,在确定M个候选回复项之后,对于每一个候选回复项与回复依据项集合的处理过程也是类似的,因此下面将针对一个候选回复项与回复依据项集合的处理过程进行介绍。
步骤801:获取候选回复项的表示矩阵集合,以及回复依据项集合中每一个回复依据项的表示矩阵集合。
本发明实施例中,输入层输入的候选回复项和回复依据项集合中的每一个回复依据项一般为文本形式的句子,在模型计算的过程,计算设备对于对文本形式的句子无法直接识别,因而通常是将各句子中包括的分词转化为向量进行表示。因此,在输入层获取输入的候选回复项和回复依据项集合之后,则会将候选回复项和回复依据项集合提供给矩阵表示层,以将各句子转化为计算设备能够识别的形式。
其中,候选回复项和回复依据项集合中的每一个回复依据项一般都为一个句子,矩阵表示层对每一个句子的处理均是相同的,因此这里具体以候选回复项为例,对通过矩阵表示层得到候选回复项的表示矩阵集合的过程进行介绍,而基于回复依据项得到表示矩阵集合的过程时与之相同的,因此可参见后续的描述,就不在进行赘述了。
具体的,可以对候选回复项进行拆分操作,以将一个句子拆分为至少一个分词。例如,候选回复项“我喜欢参观新地方”则可以拆分为“我”“喜欢”“参见”“新”“地方”这几个分词。其中,对句子的拆分可以使用分词工具进行拆分,例如分词工具可以是结巴分词工具或者语言技术平台(Language Technology Plantform,LTP)工具,当然,也可以是其他可能的分词工具,本发明实施例对此不做限制。
在得到候选回复项的至少一个分词之后,则可以查询词向量表,以找到每一个分词的词向量,通过按照各分词在候选回复项中的顺序进行组合得到候选回复项的词向量表示(word embedding)矩阵。如图9所示,每一行表示一个分词的词向量,按照从上到下的顺序构成word embedding矩阵。当然,在实际应用中,除了按照图9所示的方式排列之外,还可以将通过每一列表示一个分词的词向量,那么相对应的,各分词则按照从左到右顺序进行排列。
本发明实施例中,考虑到上述的word embedding矩阵中仅包括候选回复项中分词特征,但是word embedding矩阵中并未包括候选回复项中所包括的语义特征,因此还可以对word embedding矩阵进行语义分析,从而得到候选回复项的语义表示矩阵。具体的,可以利用预先设置的至少一种语义特征分析方法对word embedding矩阵进行语义分析,分别得到候选回复项的至少一种语义表示矩阵。
其中,至少一种语义特征分析方法可以包括但不限于如下几种方法:
(1)单向循环神经网络(Recurrent Neural Network,RNN),例如单向RNN可以采用门控循环单元(Gated Recurrent Unit,GRU),采用GRU得到的语义表示矩阵可以表示为GRU矩阵。
(2)双向循环神经网络(Bidirectional-Recurrent Neural Network,Bi-RNN),采用Bi-RNN得到的语义表示矩阵可以表示为Bi-RNN矩阵。其中,Bi-RNN可以得到一个单词从两个方向时序输入时的语义表示,语义信息比较全面,提高候选回复项的表达的准确性。
(3)N元语法(N-Gram)模型,例如可以采用二元语法(Bi-Gram)模型,即N为2时的情况,采用Bi-Gram模型得到的语义表示矩阵可以表示为Bi-Gram矩阵。其中,Bi-Gram模型是将word embedding矩阵中相邻两个分词进行词向量的平均,从而得到Bi-Gram矩阵。具体的,针对一个word embedding矩阵而言,将第一个分词的词向量和第二个分词的词向量求平均,作为Bi-Gram矩阵的第一行,将第二个分词的词向量和第三个分词的词向量求平均,作为Bi-Gram矩阵的第二行,依次类推,而为了保证Bi-Gram矩阵与word embedding矩阵大小相同,则Bi-Gram矩阵的最后一行可以以word embedding矩阵的最后一行作为填充。Bi-Gram矩阵能够增加了特征的区分能力,降低对单个分词对匹配分数的依赖性,提高最终得到关联概率的准确性。
本发明实施例中,通过语义分析可以根据各句子中的上下文信息对wordembedding矩阵中各分词的词向量进行修正,例如对于“苹果”一词其可能具有两种含义,即水果或者手机品牌商,那么根据上下文信息,可以推断出其具体所表示的含义,例如“我喜欢吃苹果”,基于句子中“吃”显然可以推断出苹果表示水果,因而可以对苹果的词向量进行修正,以使得矩阵表示更为准确。
当然,除上述语义表示方法之外,还可以采用其他可能的语义特征分析方法,本发明实施例对此不做限制。
本发明实施例中,通过上述过程可以分别得到候选回复项和每一个回复依据项的word embedding矩阵,以及各语义表示矩阵,以组成候选回复项和每一个回复依据项的表示矩阵集合,如图6中所示的从p1(描述语句项)到c(候选回复项)的表示矩阵集合。
本发明实施例中,各句子的标识矩阵可以在获取之后,存储至数据库中,这样,在后续需要使用某句子时,若是数据库中已存储了该句子的表示矩阵,则可以直接获取使用,而无需再次通过上述的处理过程得到,节省计算量,提高对话机器人响应速度。
步骤802:基于候选回复项的表示矩阵集合,以及回复依据项集合中每一个回复依据项的表示矩阵集合,获得关联度特征子向量集合。
本发明实施例中,矩阵表示层输出的候选回复项和每一个回复依据项的表示矩阵集合输入至特征向量提取层,以得到关联度特征子向量集合。
其中,特征向量提取层可以包括多种特征向量提取方式,图6具体示出了3种,当然,本发明实施例中并不限于采用图6所示的3种特征向量提取方式,还可以采用其他可能的方式,本发明实施例对此不做限制。下面将针对各特征向量提取方式分别进行描述。
第一种特征向量提取方式
本发明实施例中,可以采用交叉相乘的方式,分别得到候选回复项与各回复依据项的关联度特征矩阵,进而再从相关性矩阵中提取候选回复项与各回复依据项的关联特征子向量。
具体的,将候选回复项的表示矩阵集合中各表示矩阵,与每一个回复依据项的表示矩阵集合中各表示矩阵进行交叉匹配,得到候选回复项的与每一个回复依据项的多个关联度特征子矩阵。其中,关联度特征子矩阵中的每一个元素表示候选回复项的一个分词与一个回复依据项的一个分词之间的相关性。
示例性的,如图10所示,为描述语句项p1和候选回复项c的交叉匹配的示意图。其中,交叉匹配的过程即为描述语句项p1的各个表示矩阵与候选回复项c的各个表示矩阵的转置进行相乘的过程。其中,当表示矩阵集合包括4个表示矩阵时,则交叉匹配可以得到10个关联度特征子矩阵,即图10所示的M1~M10。
例如,描述语句项p1的一个表示矩阵的大小为15*300,其中15表示分词数量,300表示特征维度,候选回复项c的一个表示矩阵的大小为15*300,那么候选回复项c的一个表示矩阵的转置的大小则为300*15,那么这两个表示矩阵相乘后,所得到的关联度特征子矩阵的大小则为15*15,其中的每一个元素的值用于表征描述语句项p1的一个分词与候选回复项c的一个分词组成的词对的相关性。
本发明实施例中,针对每一个回复依据项而言,在获取候选回复项的与该回复依据项的多个关联度特征子矩阵之后,则可以对候选回复项与该回复依据项的多个关联度特征子矩阵进行特征提取,从而得到候选回复项与回复依据项的第一关联度特征子向量。
具体的,可以通过卷积神经网络(Convolutional Neural Network,CNN)进行特征提取。具体的,由于对于每一个回复依据项而言,都对应着多个关联度特征子矩阵,即每一个回复依据项对应的关联度特征子矩阵集合都是多通道的,例如图10所示包括10个关联度特征子矩阵,即通道数为10,在通过CNN进行卷积处理之后,则可以将多通道进行叠加,并通过平铺(Flatten)将矩阵展开,从而最终仅得到一个1维的向量。如图11所示,为得到第一关联度特征子向量示意图,通过CNN进行特征提取之后,仍然得到10个通道的特征图,在将10个通道的特征图在对应位置上进行叠加,从将10个通道合并为单通道,再通过平铺操作,将特征图压平为一个维度的向量,最终得到的向量即为第一关联度特征子向量。在CNN中,除了卷积处理之外,还可以包括池化处理等操作。
在实际应用时,候选回复项与每一个回复依据项均可以得到一个第一关联度特征子向量,从而组成第一关联度特征子向量集合其中,则表示描述语句项p1与候选回复项c之间的第一关联度特征子向量。其中,第一关联度特征子向量集合实质上即可以作为关联度特征子向量集合进行下一步的操作。
第二种特征向量提取方式
本发明实施例中,可以直接对word embedding矩阵进行特征提取的方式,分别得到候选回复项与各回复依据项的句子向量表示,进而将候选回复项与各回复依据项的句子向量表示进行拼接,从而得到候选回复项与各回复依据项的关联特征子向量。
具体的,特征提取同样可以采用CNN来进行。该CNN可以如上述的CNN相同,如图6所示,进行卷积运算之后,对获取的特征图(feature map)进行平铺,从而将维度压缩,以得到一个维度为1的向量,即第一特征表示向量。
或者还可以采用如图12所示的CNN的架构示意图。其中,该CNN包括输入层、卷积层、池化(pooling)层以及输出层。当然,CNN并不限于图12所示的网络架构,还可以根据实际情况进行架构的设置,例如可以增加卷积层或者池化层的数量等。
输入层输入的word embedding矩阵输入至卷积层中,将word embedding矩阵与各卷积核进行卷积运算,分别得到各卷积核对应的特征图(feature map),如图12所示,卷积核的大小分别为5*4、5*3以及5*2,且卷积层的fitter数目为2,即每种大小的卷积核包括2个,这两个卷积核的元素值可以不同。
卷积层输出的特征图输入至池化层,池化层分别对每个特征图进行池化处理,例如选择特征图中的最大值作为输出,如图12所示,经池化处理之后,由1*4的特征图变更为1*1的特征图。在池化层中,还可以将相同大小的卷积核所对应的特征图进行拼接,如图12所示,最终池化层的输出为1*2的向量。
输出层将池化层输出的各向量进行拼接,从而最终得到各word embedding矩阵对应的第一特征表示向量。
需要声明的是,图12中各矩阵或者特征图中的灰度深浅并不表示所在位置值的大小,且在本发明实施例中的其他示意图中,除特别说明了值的大小的示意图外,灰度深浅也不会产生实际的值大小的限定。
本发明实施例中,在得到候选回复项与各回复依据项的第一特征表示向量之后,可以将候选回复项的第一特征表示向量,分别与每一个回复依据项的第一特征表示向量进行拼接后通过一个全连接层进行处理后,得到候选回复项与每一个回复依据项的第二关联度特征子向量。其中,在进行拼接时,因为候选回复项在时序上应是在回复依据项之后的,那么可以将回复依据项的第一特征表示向量放置在前,将候选回复项的第一特征表示向量放置在后。
在实际应用时,候选回复项与每一个回复依据项均可以得到一个第二关联度特征子向量,从而组成第二关联度特征子向量集合其中,则表示描述语句项p1与候选回复项c之间的第二关联度特征子向量。其中,第二关联度特征子向量集合实质上即可以作为关联度特征子向量集合进行下一步的操作。
第三种特征向量提取方式
本发明实施例中,还可以对word embedding矩阵进行特征提取的方式,分别得到候选回复项与各回复依据项的句子向量表示,再计算候选回复项与各回复依据项的句子向量表示之间的相似度,并将相似度值进行拼接,从而得到候选回复项与各回复依据项的关联特征子向量。
具体的,可以从候选回复项以及每一个回复依据项的word embedding矩阵中,按维度分别取最大值(max)和求和值(sum),从而得到候选回复项以及每一个回复依据项的两种句子向量表示。
其中,可以分别从候选回复项以及每一个回复依据项的word embedding矩阵中,选取在各特征维度上的最大特征值,以得到候选回复项以及每一个回复依据项的第二特征表示向量,表示为max向量。如图13所示,为得到描述语句项p1和候选回复项c之间的第三关联度特征子向量的流程示意图。其中,图13所示的word embedding矩阵是以行表示分词的词向量,列为各维度为例进行示出的,那么在获取max向量的过程即是从每一列中选择出最大值的过程,其中,图13中每一列中有灰度表示的元素即为该列中的最大值,从将这些值按位组合得到max向量。
还可以分别从候选回复项以及每一个回复依据项的词向量表示矩阵中,获取在各特征维度上所有分词的特征值之和,以得到候选回复项以及每一个回复依据项的第三特征表示向量,表示为sum向量。如图13所示,获取max向量的过程即是将每一列中所有值进行相加求和的过程,从将这些相加求和得到的值按位组合得到sum向量。
本发明实施例中,如图13所示,获取候选回复项的第二特征表示向量与每一个回复依据项的max向量和sum向量之后,可以求取候选回复项的max向量与每一个回复依据项的max向量之间的相似度,以及获取候选回复项的sum向量与每一个回复依据项的sum向量的相似度,再分别将得到的两个相似度值进行拼接,从而得到第三关联度特征子向量。其中,在计算相似度值时,可以采用余弦(cosine)相似度算法进行计算,当然,也可以采用其他的相似度计算方法进行计算,本发明实施例对此不做限制。
在实际应用时,候选回复项与每一个回复依据项均可以得到一个第三关联度特征子向量,从而组成第三关联度特征子向量集合其中,则表示描述语句项p1与候选回复项c之间的第三关联度特征子向量。其中,第三关联度特征子向量集合实质上即可以作为关联度特征子向量集合进行下一步的操作。
本发明实施例中,在获取候选回复项与每一个回复依据项之间的v1~v3之后,除了将v1~v3分别作为关联度特征子向量之外,还可以基于v1~v3得到新的向量,作为关联度特征子向量,例如可以基于v1和v2得到新的向量,或者基于v1和v3得到新的向量,或者基于v1、v2和v3得到新的向量。基于v1、v2和v3得到新的向量时,可以将候选回复项与一个回复依据项之间的v1、v2和v3进行拼接,以得到新的向量,作为关联度特征子向量,从而构成关联度特征子向量集合。例如,将描述语句项p1与候选回复c的和拼接得到那么得到的关联度特征子向量集合则为
步骤803:基于每一个关联度特征子向量所对应的回复依据项在回复依据项集合中的顺序,将各关联度特征子向量进行特征融合以得到关联度特征总向量。
本发明实施例中,关联度特征子向量集合中各关联度特征子向量只能够表示候选回复项与一个回复依据项之间的相关性,而本发明实施例最终的目标是获取候选回复项与整个回复依据项集合之间的相关性,因而还需要将特征向量提取层输出的关联度特征子向量集合输入至特征融合层,以得到表征候选回复项与整个回复依据项集合之间的相关性的关联度特征总向量。
具体的,特征融合层可以通过RNN来实现。如图6所示,所采用的RNN具体为GRU,那么就可以按照每一个关联度特征子向量所对应的回复依据项在回复依据项集合中的顺序,将关联度特征子向量依次输入至GRU中,GRU的最后一个隐层(hidden layer)的输出即为关联度特征总向量。对于GRU而言,在第一个关联度特征子向量输入之后,GRU的第一个隐层会基于模型训练时训练得到的权重,来决定关联度特征子向量哪些信息有用或者无用,没用的信息就过滤,再将保留下来的信息输入到下一个隐层中,同时还会将第二个关联度特征子向量输入至这个隐层中,然后由这个隐层来决定哪些信息需要保留,需要保留的信息继续输入至下一个隐层中,依次类推,直至最后一个隐层。
具体的,回复依据项在回复依据项集合中的顺序具体可以是按照个回复依据项的时序进行排序的,其中,对话机器人的描述语句项可认为时序优先于历史对话。
步骤804:分别基于候选回复项与回复依据项集合之间的关联度特征总向量,确定候选回复项与回复依据项集合之间的关联概率。
本发明实施例中,特征融合层输出的关联度特征总向量输入至全连接层中,通过全连接层对关联度特征总向量进行降维,再将全连接层输出的降维后的关联度特征总向量输入至Softmax层进行二分类。其中,Softmax层可以基于降维后的关联度特征总向量计算得到候选回复项与回复依据项集合之间的关联概率,以及不关联的概率。例如,用标签1表示候选回复项与回复依据项集合关联,标签0表示候选回复项与回复依据项集合不关联,那么Softmax层的输出则为分类结果为1的概率和为0的概率,而实际应用中,一般只需要知道候选回复项与回复依据项集合关联的概率,即分类结果为1的概率,因此输出层可以选择输出分类结果为1的概率,作为关联概率确定模型的最终输出结果,即关联概率。
综上所述,本发明实施例中,在计算关联概率时,将角色特征的描述语句项与历史对话的上下文信息拼接在一起,作为回复依据项集合,给候选回复的排序提供更多信息,维持机器人人设以及与上下文的一致性。此外,还对回复依据项集合进行深层理解,即在进行特征表示时,通过字、词、句子等多粒度、多通道的语义模型刻画文本,以用于计算候选回复项回复与恢复依据项之间的相关性,提升相关性匹配能力,从而提升对话机器人候选回复项排序的准确性,进而提升对话机器人输出的回复的准确性。
请参见图14,基于同一发明构思,本发明实施例还提供了一种机器人对话回复装置140,该装置例如可以为图1所示的服务器或者图3所示的对话机器人,该装置包括:
回复项获取单元1401,用于获取针对用户的输入内容的M个候选回复项,M为正整数;
概率获得单元1402,获得每一个候选回复项与回复依据项集合之间的关联概率,其中,回复依据项集合包括对话机器人的角色特征的描述语句项以及至少一轮用户与对话机器人的历史对话;
确定单元1403,用于将关联概率的值最大的候选回复项确定为对话机器人对于输入内容的回复。
可选的,概率获得单元1402,具体用于:
利用预先训练的关联概率确定模型获得每一个候选回复项与回复依据项集合之间的关联概率;关联概率确定模型是采用标注了候选回复项与回复依据项集合之间的目标概率的多个训练样本进行训练得到的。
可选的,训练样本包括正样本和负样本,正样本的候选回复项是从多个候选回复项中选中的最佳回复,且与回复依据项集合之间的目标概率为100%,负样本为多个候选回复项中除最佳回复之外的候选回复项,且与回复依据项集合之间的目标概率为0;
其中,关联概率确定模型在训练过程中针对各训练样本输出的关联概率与各训练样本中标注的目标概率之间满足设定要求。
可选的,至少一轮用户与对话机器人的历史对话仅包括用户在至少一轮历史对话中的输入内容。
可选的,概率获得单元1402,具体用于:
针对一个候选回复项,基于候选回复项的表示矩阵集合,以及回复依据项集合中每一个回复依据项的表示矩阵集合,获得关联度特征子向量集合,关联度特征子向量集合中的一个关联度特征子向量表征候选回复项与一个回复依据项之间的相关性;
基于每一个关联度特征子向量所对应的回复依据项在回复依据项集合中的顺序,将各关联度特征子向量进行特征融合以得到关联度特征总向量,关联度特征总向量用于表征候选回复项与回复依据项集合之间的相关性;
分别基于候选回复项与每一个回复依据项的关联度特征总向量,确定候选回复项与每一个回复依据项之间的关联概率。
可选的,概率获得单元1402,具体用于:
对候选回复项进行拆分得到至少一个分词;
通过每一个分词的词向量按照各分词在候选回复项中的顺序进行组合得到候选回复项的词向量表示矩阵;
利用至少一种语义特征分析方法对词向量表示矩阵进行语义分析,分别得到候选回复项的至少一种语义表示矩阵,各语义表示矩阵均包含了至少一个分词之间的语义上下文信息;并,
基于词向量表示矩阵,以及至少一种语义表示矩阵组成表示矩阵集合。
可选的,概率获得单元1402,具体用于:
将候选回复项的表示矩阵集合中各表示矩阵,与每一个回复依据项的表示矩阵集合中各表示矩阵进行交叉匹配,得到候选回复项的与每一个回复依据项的多个关联度特征子矩阵;其中,关联度特征子矩阵中的每一个元素表示候选回复项的一个分词与一个回复依据项的一个分词之间的相关性;
针对每一个回复依据项,对候选回复项与回复依据项的多个关联度特征子矩阵进行特征提取,以得到候选回复项与回复依据项的第一关联度特征子向量;
根据候选回复项与每一个回复依据项的第一关联度特征子向量得到关联度特征子向量集合。
可选的,概率获得单元1402,具体用于:
分别对候选回复项以及每一个回复依据项的词向量表示矩阵进行特征提取,以得到候选回复项以及每一个回复依据项的第一特征表示向量;
将候选回复项的第一特征表示向量,分别与每一个回复依据项的第一特征表示向量进行拼接,以得到候选回复项与每一个回复依据项的第二关联度特征子向量;
则根据候选回复项与每一个回复依据项的关联度特征子向量得到关联度特征子向量集合,包括:
根据候选回复项与每一个回复依据项的第一关联度特征子向量,以及第二关联度特征子向量,得到关联度特征子向量集合。
可选的,概率获得单元1402,具体用于:
分别从候选回复项以及每一个回复依据项的词向量表示矩阵中,选取在各特征维度上的最大特征值,以得到候选回复项以及每一个回复依据项的第二特征表示向量;并,
分别从候选回复项以及每一个回复依据项的词向量表示矩阵中,获取在各特征维度上所有分词的特征值之和,以得到候选回复项以及每一个回复依据项的第三特征表示向量;
获取候选回复项的第二特征表示向量与每一个回复依据项的第二特征表示向量的相似度,以及获取候选回复项的第三特征表示向量与每一个回复依据项的第三特征表示向量的相似度;
分别将各回复依据项对应的第二特征表示向量的相似度与第三特征表示向量的相似度进行拼接,以得到候选回复项与每一个回复依据项的第三关联度特征子向量;
则根据候选回复项与每一个回复依据项的关联度特征子向量得到关联度特征子向量集合,包括:
根据候选回复项与每一个回复依据项的第一关联度特征子向量以及第三关联度特征子向量,得到关联度特征子向量集合;或者,
根据候选回复项与每一个回复依据项的第一关联度特征子向量、第二关联度特征子向量以及第三关联度特征子向量,得到关联度特征子向量集合。
该装置可以用于执行图5~图13所示的实施例中所示的方法,因此,对于该装置的各功能模块所能够实现的功能等可参考图5~图13所示的实施例的描述,不多赘述。
请参见图15,基于同一技术构思,本发明实施例还提供了一种计算机设备150,可以包括存储器1501和处理器1502。
所述存储器1501,用于存储处理器1502执行的计算机程序。存储器1501可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据计算机设备的使用所创建的数据等。处理器1502,可以是一个中央处理单元(central processing unit,CPU),或者为数字处理单元等等。本发明实施例中不限定上述存储器1501和处理器1502之间的具体连接介质。本发明实施例在图15中以存储器1501和处理器1502之间通过总线1503连接,总线1503在图15中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线1503可以分为地址总线、数据总线、控制总线等。为便于表示,图15中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器1501可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器1501也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器1501是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器1501可以是上述存储器的组合。
处理器1502,用于调用所述存储器1501中存储的计算机程序时执行如图5~图13中所示的实施例中设备所执行的方法。
在一些可能的实施方式中,本发明提供的方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算机设备上运行时,所述程序代码用于使所述计算机设备执行本说明书上述描述的根据本发明各种示例性实施方式的方法中的步骤,例如,所述计算机设备可以执行如图5~图13中所示的实施例中设备所执行的方法。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种机器人对话回复方法,其特征在于,所述方法包括:
获取针对用户的输入内容的M个候选回复项,M为正整数;
利用预先训练的关联概率确定模型,获得每一个所述候选回复项与回复依据项集合之间的关联概率,其中,所述回复依据项集合包括对话机器人的角色特征的描述语句项以及至少一轮所述用户与所述对话机器人的历史对话,所述关联概率确定模型是采用标注了候选回复项与回复依据项集合之间的目标概率的多个训练样本进行训练得到的;
将所述关联概率的值最大的候选回复项确定为所述对话机器人对于所述输入内容的回复;
其中,所述利用预先训练的关联概率确定模型获得每一个所述候选回复项与回复依据项集合之间的关联概率,包括:
针对一个所述候选回复项,基于所述候选回复项的表示矩阵集合,以及所述回复依据项集合中每一个回复依据项的表示矩阵集合,获得关联度特征子向量集合,所述关联度特征子向量集合中的一个关联度特征子向量表征所述候选回复项与一个所述回复依据项之间的相关性;
基于每一个关联度特征子向量所对应的回复依据项在回复依据项集合中的顺序,将各关联度特征子向量进行特征融合以得到关联度特征总向量,所述关联度特征总向量用于表征所述候选回复项与所述回复依据项集合之间的相关性;
分别基于所述候选回复项与每一个回复依据项的关联度特征总向量,确定所述候选回复项与每一个回复依据项之间的关联概率。
2.如权利要求1所述的方法,其特征在于,所述训练样本包括正样本和负样本,所述正样本的候选回复项是从多个候选回复项中选中的最佳回复,且与回复依据项集合之间的目标概率为100%,所述负样本为多个候选回复项中除最佳回复之外的候选回复项,且与回复依据项集合之间的目标概率为0;
其中,所述关联概率确定模型在训练过程中针对各训练样本输出的关联概率与各训练样本中标注的目标概率之间满足设定要求。
3.如权利要求1所述的方法,其特征在于,至少一轮所述用户与所述对话机器人的历史对话仅包括所述用户在至少一轮历史对话中的输入内容。
4.如权利要求1所述的方法,其特征在于,在所述基于所述候选回复项的表示矩阵集合,以及所述回复依据项集合中每一个回复依据项的表示矩阵集合,获得关联度特征向量集合之前,所述方法还包括:
对所述候选回复项进行拆分得到至少一个分词;
通过每一个分词的词向量按照各分词在所述候选回复项中的顺序进行组合得到所述候选回复项的词向量表示矩阵;
利用至少一种语义特征分析方法对所述词向量表示矩阵进行语义分析,分别得到所述候选回复项的至少一种语义表示矩阵,各语义表示矩阵均包含了所述至少一个分词之间的语义上下文信息;并,
基于所述词向量表示矩阵,以及至少一种语义表示矩阵组成所述表示矩阵集合。
5.如权利要求4所述的方法,其特征在于,所述基于所述候选回复项的表示矩阵集合,以及所述回复依据项集合中每一个回复依据项的表示矩阵集合,获得关联度特征子向量集合,包括:
将所述候选回复项的表示矩阵集合中各表示矩阵,与每一个回复依据项的表示矩阵集合中各表示矩阵进行交叉匹配,得到所述候选回复项的与每一个回复依据项的多个关联度特征子矩阵;其中,关联度特征子矩阵中的每一个元素表示所述候选回复项的一个分词与一个回复依据项的一个分词之间的相关性;
针对每一个回复依据项,对所述候选回复项与所述回复依据项的多个关联度特征子矩阵进行特征提取,以得到所述候选回复项与所述回复依据项的第一关联度特征子向量;
根据所述候选回复项与每一个回复依据项的第一关联度特征子向量得到所述关联度特征子向量集合。
6.如权利要求5所述的方法,其特征在于,在所述根据所述候选回复项与每一个回复依据项的第一关联度特征子向量得到所述关联度特征子向量集合之前,所述方法还包括:
分别对所述候选回复项以及每一个回复依据项的词向量表示矩阵进行特征提取,以得到所述候选回复项以及每一个回复依据项的第一特征表示向量;
将所述候选回复项的第一特征表示向量,分别与每一个回复依据项的第一特征表示向量进行拼接,以得到所述候选回复项与每一个回复依据项的第二关联度特征子向量;
则所述根据所述候选回复项与每一个回复依据项的关联度特征子向量得到所述关联度特征子向量集合,包括:
根据所述候选回复项与每一个回复依据项的第一关联度特征子向量,以及第二关联度特征子向量,得到所述关联度特征子向量集合。
7.如权利要求5或者6所述的方法,其特征在于,在所述根据所述候选回复项与每一个回复依据项的第一关联度特征子向量得到所述关联度特征子向量集合之前,所述方法还包括:
分别从所述候选回复项以及每一个回复依据项的词向量表示矩阵中,选取在各特征维度上的最大特征值,以得到所述候选回复项以及每一个回复依据项的第二特征表示向量;并,
分别从所述候选回复项以及每一个回复依据项的词向量表示矩阵中,获取在各特征维度上所有分词的特征值之和,以得到所述候选回复项以及每一个回复依据项的第三特征表示向量;
获取所述候选回复项的第二特征表示向量与每一个回复依据项的第二特征表示向量的相似度,以及获取所述候选回复项的第三特征表示向量与每一个回复依据项的第三特征表示向量的相似度;
分别将各回复依据项对应的所述第二特征表示向量的相似度与第三特征表示向量的相似度进行拼接,以得到所述候选回复项与每一个回复依据项的第三关联度特征子向量;
则所述根据所述候选回复项与每一个回复依据项的关联度特征子向量得到所述关联度特征子向量集合,包括:
根据所述候选回复项与每一个回复依据项的第一关联度特征子向量以及第三关联度特征子向量,得到所述关联度特征子向量集合;或者,
根据所述候选回复项与每一个回复依据项的第一关联度特征子向量、第二关联度特征子向量以及第三关联度特征子向量,得到所述关联度特征子向量集合。
8.一种机器人对话回复装置,其特征在于,所述装置包括:
回复项获取单元,用于获取针对用户的输入内容的M个候选回复项,M为正整数;
概率获得单元,利用预先训练的关联概率确定模型,获得每一个所述候选回复项与回复依据项集合之间的关联概率,其中,所述回复依据项集合包括对话机器人的角色特征的描述语句项以及至少一轮所述用户与所述对话机器人的历史对话,所述关联概率确定模型是采用标注了候选回复项与回复依据项集合之间的目标概率的多个训练样本进行训练得到的;
确定单元,用于将所述关联概率的值最大的候选回复项确定为所述对话机器人对于所述输入内容的回复;
其中,所述概率获得单元,具体用于:
针对一个所述候选回复项,基于所述候选回复项的表示矩阵集合,以及所述回复依据项集合中每一个回复依据项的表示矩阵集合,获得关联度特征子向量集合,所述关联度特征子向量集合中的一个关联度特征子向量表征所述候选回复项与一个所述回复依据项之间的相关性;
基于每一个关联度特征子向量所对应的回复依据项在回复依据项集合中的顺序,将各关联度特征子向量进行特征融合以得到关联度特征总向量,所述关联度特征总向量用于表征所述候选回复项与所述回复依据项集合之间的相关性;
分别基于所述候选回复项与每一个回复依据项的关联度特征总向量,确定所述候选回复项与每一个回复依据项之间的关联概率。
9.一种计算机设备,其特征在于,包括:
存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1~7任一所述的方法。
10.一种计算机可读存储介质,其特征在于,存储有处理器可执行指令,所述处理器可执行指令用于执行如权利要求1~7任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910349985.1A CN110083693B (zh) | 2019-04-28 | 2019-04-28 | 机器人对话回复方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910349985.1A CN110083693B (zh) | 2019-04-28 | 2019-04-28 | 机器人对话回复方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110083693A CN110083693A (zh) | 2019-08-02 |
CN110083693B true CN110083693B (zh) | 2021-03-12 |
Family
ID=67417259
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910349985.1A Active CN110083693B (zh) | 2019-04-28 | 2019-04-28 | 机器人对话回复方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110083693B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110674292B (zh) * | 2019-08-27 | 2023-04-18 | 腾讯科技(深圳)有限公司 | 一种人机交互方法、装置、设备及介质 |
CN111651686B (zh) * | 2019-09-24 | 2021-02-26 | 北京嘀嘀无限科技发展有限公司 | 一种测试处理方法、装置、电子设备及存储介质 |
CN110688470B (zh) * | 2019-09-27 | 2022-04-26 | 北京百度网讯科技有限公司 | 用于发送信息的方法和装置 |
CN110727775B (zh) * | 2019-10-11 | 2021-03-30 | 京东数字科技控股有限公司 | 用于处理信息的方法和装置 |
CN111291170B (zh) * | 2020-01-20 | 2023-09-19 | 腾讯科技(深圳)有限公司 | 一种基于智能客服的会话推荐方法及相关装置 |
CN111930915B (zh) * | 2020-09-14 | 2021-01-01 | 腾讯科技(深圳)有限公司 | 会话信息处理方法、装置、计算机可读存储介质及设备 |
CN112231451B (zh) * | 2020-10-12 | 2023-09-29 | 中国平安人寿保险股份有限公司 | 指代词恢复方法、装置、对话机器人及存储介质 |
CN112541063B (zh) * | 2020-12-08 | 2022-06-24 | 山东师范大学 | 一种基于自学习对话模型的人机对话方法及系统 |
CN112632239A (zh) * | 2020-12-11 | 2021-04-09 | 南京三眼精灵信息技术有限公司 | 基于人工智能技术的类脑问答系统 |
CN113377933B (zh) * | 2021-04-27 | 2023-05-30 | 中国联合网络通信集团有限公司 | 多轮对话的意图分类方法及装置 |
CN114969292A (zh) * | 2022-05-31 | 2022-08-30 | 福州大学 | 一种基于多回复解码器的对话系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105139237A (zh) * | 2015-09-25 | 2015-12-09 | 百度在线网络技术(北京)有限公司 | 信息推送的方法和装置 |
CN106297789A (zh) * | 2016-08-19 | 2017-01-04 | 北京光年无限科技有限公司 | 智能机器人的个性化交互方法及交互系统 |
CN108595609A (zh) * | 2018-04-20 | 2018-09-28 | 深圳狗尾草智能科技有限公司 | 基于人物ip的机器人回复生成方法、系统、介质及设备 |
CN108960402A (zh) * | 2018-06-11 | 2018-12-07 | 上海乐言信息科技有限公司 | 一种面向聊天机器人的混合策略式情感安抚系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170371955A1 (en) * | 2016-06-23 | 2017-12-28 | International Business Machines Corporation | System and method for precise domain question and answer generation for use as ground truth |
CN109658928B (zh) * | 2018-12-06 | 2020-06-23 | 山东大学 | 一种家庭服务机器人云端多模态对话方法、装置及系统 |
-
2019
- 2019-04-28 CN CN201910349985.1A patent/CN110083693B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105139237A (zh) * | 2015-09-25 | 2015-12-09 | 百度在线网络技术(北京)有限公司 | 信息推送的方法和装置 |
CN106297789A (zh) * | 2016-08-19 | 2017-01-04 | 北京光年无限科技有限公司 | 智能机器人的个性化交互方法及交互系统 |
CN108595609A (zh) * | 2018-04-20 | 2018-09-28 | 深圳狗尾草智能科技有限公司 | 基于人物ip的机器人回复生成方法、系统、介质及设备 |
CN108960402A (zh) * | 2018-06-11 | 2018-12-07 | 上海乐言信息科技有限公司 | 一种面向聊天机器人的混合策略式情感安抚系统 |
Non-Patent Citations (1)
Title |
---|
基于自然语言理解的自动应答系统;郭庆琳 等;《计算机工程》;20040705;第30卷(第13期);11-12、20 * |
Also Published As
Publication number | Publication date |
---|---|
CN110083693A (zh) | 2019-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110083693B (zh) | 机器人对话回复方法及装置 | |
CN110188331B (zh) | 模型训练方法、对话系统评价方法、装置、设备及存储介质 | |
CN108829822B (zh) | 媒体内容的推荐方法和装置、存储介质、电子装置 | |
US20200301954A1 (en) | Reply information obtaining method and apparatus | |
CN109033068B (zh) | 基于注意力机制的用于阅读理解的方法、装置和电子设备 | |
CN110121706B (zh) | 提供会话中的响应 | |
CN110598206B (zh) | 文本语义识别方法、装置、计算机设备和存储介质 | |
CN108875074B (zh) | 基于交叉注意力神经网络的答案选择方法、装置和电子设备 | |
CN111984766B (zh) | 缺失语义补全方法及装置 | |
US10133729B2 (en) | Semantically-relevant discovery of solutions | |
CN109376222B (zh) | 问答匹配度计算方法、问答自动匹配方法及装置 | |
US20210019599A1 (en) | Adaptive neural architecture search | |
CN111914067B (zh) | 中文文本匹配方法及系统 | |
CN108763535B (zh) | 信息获取方法及装置 | |
CN110795913B (zh) | 一种文本编码方法、装置、存储介质及终端 | |
CN111382573A (zh) | 用于答案质量评估的方法、装置、设备和存储介质 | |
US10872601B1 (en) | Natural language processing | |
CN108108347B (zh) | 对话模式分析系统及方法 | |
WO2021135457A1 (zh) | 基于循环神经网络的情绪识别方法、装置及存储介质 | |
CN112131345B (zh) | 文本质量的识别方法、装置、设备及存储介质 | |
CN110597968A (zh) | 一种回复选择方法及装置 | |
US20220383119A1 (en) | Granular neural network architecture search over low-level primitives | |
CN116541493A (zh) | 基于意图识别的交互应答方法、装置、设备、存储介质 | |
JP2024512628A (ja) | キャプション生成器を生成するための方法および装置、並びにキャプションを出力するための方法および装置 | |
CN111126084B (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 |