CN111078848A - 一种用于对话机器人的输入提示方法及装置 - Google Patents
一种用于对话机器人的输入提示方法及装置 Download PDFInfo
- Publication number
- CN111078848A CN111078848A CN201911199807.1A CN201911199807A CN111078848A CN 111078848 A CN111078848 A CN 111078848A CN 201911199807 A CN201911199807 A CN 201911199807A CN 111078848 A CN111078848 A CN 111078848A
- Authority
- CN
- China
- Prior art keywords
- information
- model
- conversation
- input prompt
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
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)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书提供一种用于对话机器人的输入提示方法及装置,所述方法包括:获取当前对话信息的对话上文信息,利用会话生成模型对对话上文信息的编码,再利用会话生成模型对解码获得的向量以及当前接收到的对话信息进行解码,生成输入提示信息,将生成的输入提示信息反馈给用户,以补全用户的输入信息。
Description
技术领域
本说明书属于计算机技术领域,尤其涉及一种用于对话机器人的输入提示方法及装置。
背景技术
随着科技的发展,越来越多的智能机器人出现在人们的生活和工作中,其中,对话机器 人是一种比较常见的机器人。对话机器人可以用于客服业务中,对话机器人通常擅长解决简 单规范的提问,不擅长处理复杂、模糊的提问。由于部分用户对于机器人的这个特点不熟悉, 经常会发送复杂问题或模糊问题,在增加机器人处理难度的同时也会降低用户的使用体验。
发明内容
本说明书实施例的目的在于提供一种用于对话机器人的输入提示方法、装置及对话机器 人,实现了准确为用户推荐输入提示信息,减少用户工作量和对话机器人的数据处理量。
一方面本说明书实施例提供了一种用于对话机器人的输入提示方法,包括:
接收对话信息;
获取所述对话信息之前接收到的指定数量个对话上文信息;
利用会话生成模型对所述对话上文信息进行语义编码,获得上文句向量;
利用所述会话生成模型对所述上文句向量和所述对话信息进行解码,获得所述对话信息 的输入提示信息。
另一方面,本说明书提供了一种用于对话机器人的输入提示装置,包括:
会话接收模块,用于接收对话信息;
上文信息获取模块,用于获取所述对话信息之前接收到的指定数量个对话上文信息;
语义编码模块,用于利用会话生成模型对所述对话上文信息进行语义编码,获得上文句 向量;
提示信息生成模块,用于利用所述会话生成模型对所述上文句向量和所述对话信息进行 解码,获得所述对话信息的输入提示信息。
又一方面,本说明书实施例提供了一种对话机器人,包括:至少一个处理器以及用于存 储处理器可执行指令的存储器,所述存储器中存储有会话生成模型、排序模型;
所述会话生成模型采用Seq2Seq模型,所述处理器用于采用Seq2Seq模型基于用户输入 的对话信息的上文信息,生成输入提示信息;
所述处理器还用于采用所述排序模型对所述会话生成模型生成的所述输入提示信息进 行评分排序,将排序在前预设名次内的输入提示信息并输出;
所述处理器还用于根据用户对输出的前预设名次内的输入提示信息点击操作,输出对应 的答案。
还一方面,本说明书提供了一种用于对话机器人的输入提示设备,包括:至少一个处理 器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上述用于对话 机器人的输入提示方法。
本说明书提供的用于对话机器人的输入提示方法、装置、处理设备、对话机器人,利用 会话生成模型对对话上文信息的编码解码等方式,生成输入提示信息。直接利用机器学习模 型进行输入提示信息的预测生成,克服了知识库等方式覆盖率低的缺点,给用户提供了更多 的补全方案。并且,结合用户输入的提示信息的上文信息,使得补全的内容更符合用户当前 问答的主题,提高了输入提示的准确率。同时,推荐的输入提示信息通常比较符合对话机器 人的提问格式,减少了对话机器人的数据处理量,提高了对话机器人准确回答用户问题的概 率。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技 术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书 中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还 可以根据这些附图获得其他的附图。
图1是本说明书一个实施例中用于对话机器人的输入提示方法的流程示意图;
图2是本说明书一个实施例中会话提示信息生成过程的流程示意图;
图3是本说明书又一个实施例中用于对话机器人的输入提示的流程示意图;
图4是本说明书提供的用于对话机器人的输入提示装置一个实施例的模块结构示意图;
图5是本说明书又一个实施例中用于对话机器人的输入提示装置的结构示意图;
图6是本说明书又一个实施例中用于对话机器人的输入提示装置的结构示意图;
图7是本说明书一个实施例中用于对话机器人的输入提示服务器的硬件结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施 例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施 例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域 普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书 保护的范围。
对话机器人可以用于回答比较简单的文本提问,在服务行业应用的比较多,例如:购物 网站的客服通常会有对话机器人,用户一些比较常见、简单的问题可以由对话机器人进行回 答,减少人工劳动量。
本说明书实施例提供一种用于对话机器人的输入提示方法,可以在用户输入提问输入信 息时,给予用户当前输入的内容,为用户进行输入补全,即用户在输入过程中,系统会在输 入框附近为用户推荐或补全可能要输入的内容,方便用户输入,提高用户提问的效率,减轻 用户的输入负担,尤其对于输入法不熟悉或打字比较困难的用户。本说明书实施例基于用户 当前输入的对话信息以及当前对话信息的对话上文信息,为用户推荐提问信息,可以理解为 一种渐进提示。在一些搜索引擎中用户输入的时候会推荐一些相关的搜索请求,辅助用户输 入,推荐内容来源于历史的搜索请求。但是,搜索引擎的调用量极大,几大引擎每天的调用 量都在数亿次甚至更多,所以有足够的历史请求用于推荐。但对于对话机器人来说,一方面 用户请求量较少,难以覆盖用户的所有输入;另一方面,用户在搜索引擎搜索大多数文本都 有结果,但在对话机器人里只有部分问题能够找到答案,所以渐进提示要避免推荐对话机器 人不能回答的问题,因此,搜索引擎的渐进提示方案并不适用于对话机器人。
本说明书中用于对话机器人的输入提示方法可以应用在客户端或服务器中,客户端可以 是智能手机、平板电脑、智能可穿戴设备(智能手表、虚拟现实眼镜、虚拟现实头盔等)、 智能车载设备等电子设备。
图1是本说明书一个实施例中用于对话机器人的输入提示方法的流程示意图,如图1所 示,本说明书一个实施例中提供的用于对话机器人的输入提示方法可以包括:
步骤102、接收对话信息。
在具体的实施过程中,对话信息可以表示用户在对话机器人中输入的文本信息,当然, 也可以是语音信息。对话信息可以是不完整的问题,本说明书实施例可以在用户输入的过程 中实时获取用户输入的提问输入信息,如:用户输入“花呗怎么……”或“怎么……”等这 些对话信息还未输入完成时,即可以实时获取用户输入的对话信息,以实现及时根据用户输 入的内容为用户推荐其想输入的问题,方便用户提问,减少工作量。
步骤104、获取所述对话信息之前接收到的指定数量个对话上文信息。
在具体的实施过程中,可以根据用户当前输入的对话信息获取当前的对话信息的上文信 息即对话上文信息,对话上文信息可以表示当前接收到的对话信息的上文信息,对话上文信 息的具体获取方式可以根据实际需要进行设置,本说明书实施例不作具体限定。例如:可以 将当前对话信息之前接收到的指定数量个对话信息作为对话上文信息,也可以将用户本次所 有的会话内容作为对话上文信息,或者根据接收到的对话信息的含义进行话题切分,将与当 前接收到的对话信息属于同一话题的对话信息作为对话上文信息。
例如:在一个会话过程中,用户先输入了“你好”和“花呗是什么”,在对话机器人给出相关回复后,用户在输入框中又输入了“怎么”,则“怎么”作为当前的对话信息时,“你好”和“花呗是什么”可以作为对话信息的对话上文信息。
步骤106、利用会话生成模型对所述对话上文信息进行语义编码,获得上文句向量。
在具体的实施过程中,会话生成模型可以理解为一种能够根据用户输入的对话信息和对 话上文信息,生成输入提示信息的机器学习模型。会话生成模型可以基于历史对话信息以及 历史对话上文信息,通过模型训练构建获得。本说明书一些实施例中,会话生成模型可以采 用Seq2Seq(Sequence to Sequence,序列到序列)模型,Seq2Seq模型可以理解为RNN(Recurrent Neural Network,循环神经网络模型)的一个变种,输入和输出序列的长度不同,也可以称 为Encoder-Deocder(编码-解码)结构的模型,输入是一个序列,输出也是一个序列。
本说明书实施例中,可以预先采集对话机器人的多轮会话数据作为样本数据,使用每个 句子之前接收到的指定数量个词或句子作为对话上文信息,训练构建会话生成模型。会话生 成模型构建完成后,当用户在对话机器人中输入对话信息后,获取对话信息的对话上文信息, 利用会话生成模型中的Encoder部分对各个对话上文信息进行语义编码,获得上文句向量。 其中,在对对话上文信息进行语义编码时,可以先对各个对话上文信息进行分词,再对分词 后的句子进行编码,获得上文句向量,还可以对分词后的句子进行归一化处理后再进行编码, 具体实施过程可以根据实际需要进行调整,本说明书实施例不作具体限定。分词可以理解为 根据句子的结构或词性,将语句切分为多个词语。如:“花呗怎么”分为“花呗”和“怎么” 两个词语。归一化可以理解为将提问输入信息转换为指定的格式的文本,如:可以删除语句 中的标点符号,将所有英文字母都统一为小写等,方便后续处理。
其中,会话生成模型根据对话上文信息生成一个上文句向量的过程,可以理解为语义编 码过程。
步骤108、利用所述会话生成模型对所述上文句向量和所述对话信息进行解码,获得所 述对话信息的输入提示信息。
在具体的实施过程中,可以将会话生成模型对会话上文信息进行编码获得的上文句向量 和用户当前输入的对话信息,作为会话生成模型的输入,由会话生成模型中的Deocder部分 对上文句向量和用户当前输入的对话信息进行解码,获得当前对话信息对应的输入提示信 息。会话生成模型在生成输入提示信息时,还可以对各个输入提示信息进行评分,可以将分 值高的输入提示信息作为提示信息推荐给用户,或者会话生成模型直接输出分值排序在前指 定名次如:前5名的输入提示信息。输入提示信息可以显示对话机器人的输入框附近,以供 用户根据实际需要进行点击。其中,会话生成模型根据输入的上文句向量和对话信息,生成 输入提示信息的过程可以理解为解码,会话生成模型的编码、解码的具体过程本说明书实施 例不作具体的限定。
当用户输入的对话信息有更新时,可以根据更新后的对话信息,利用上述步骤生成新的 输入提示信息,例如:用户输入“花呗”时,可以根据对话上文信息利用上述步骤生成输入 提示信息,若还未来得及给用户反馈输入提示信息或输入提示信息还未生成时,用户继续输 入了“怎么”时,可以根据“花呗怎么”以及对话上文信息,利用上述步骤,生成新的输入 提示信息,以使得提示信息更加符合用户的需求。
本说明书实施例提供的用于对话机器人的输入提示方法,获取当前对话信息的对话上文 信息,利用会话生成模型对对话上文信息的编码,再利用会话生成模型对解码获得的向量以 及当前接收到的对话信息进行解码,生成输入提示信息,将生成的输入提示信息反馈给用户, 以补全用户的输入信息。直接利用机器学习模型基于对话信息的上文信息进行输入提示信息 的预测生成,克服了知识库等方式覆盖率低的缺点,给用户提供了更多的补全方案。并且, 结合用户输入的提示信息的上文信息,使得补全的内容更符合用户当前问答的主题,提高了 输入提示的准确率。同时,推荐的输入提示信息通常比较符合对话机器人的提问格式,减少 了对话机器人的数据处理量,提高了对话机器人准确回答用户问题的概率。
在上述实施例的基础上,本说明书一些实施例中,所述利用会话生成模型对所述对话上 文信息进行语义编码,获得上文句向量,包括:
利用所述会话生成模型中的句子编码模型分别对所述对话上文信息进行语义编码,获得 各个对话上文信息对应的句子编码向量;
利用所述会话生成模型中的会话编码模型对各个所述句子编码向量进行对话编码,获得 所述上文句向量。
在具体的实施过程中,本说明书一些实施例中,会话生成模型中可以包括句子编码模型 和会话编码模型,句子编码模型和会话编码模型均可以是RNN模型,如:可以采用LSTM (Long Short-Term Memory,长短期记忆网络模型)或GRU(Gated Recurrent Unit,门控制 循环网络模型),也可以采用Transformer模型替代LSTM模型对句子进行编码。具体的模型 结构可以根据实际需要进行选择,本说明书实施例不作具体限定。在对对话上文信息进行语 义编码时,可以先采用会话生成模型中的句子编码模型对各个对话上文信息进行分别语义编 码,获得各个对话上文信息对应的句子编码向量。再利用会话编码模型将句子编码模型生成 的各个句子编码向量进行对话编码,获得对话上文信息对应的上文句向量。
例如:在一个会话过程中,用户先输入了“你好”和“花呗是什么”,在对话机器人给出相关回复后,用户在输入框中又输入了“怎么”,“怎么”可以是当前的对话信息,“你好”和“花呗是什么”可以是对话信息的对话上文信息。可以利用会话生成模型中的句子编码模型分别对“你好”和“花呗是什么”进行语义编码,可以先对上文信息进行分词后,对分词 后的上文信息进行编码,获得“你好”对应的句子编码向量和“花呗是什么”对应的句子编 码向量。再将“你好”对应的句子编码向量和“花呗是什么”对应的句子编码向量输入到会 话生成模型中的会话编码模型中,获得“你好”和“花呗是什么”对应的上文句向量。
若对话上文信息只有一句,则可以直接利用句子编码模型对对话上文信息进行编码,获 得的向量作为上文句向量,用于后续输入提示信息生成的初始向量。
其中,编码是信息从一种形式或格式转换为另一种形式的过程,可以用预先规定的方法 将文字、数字或其它对象编成数码,或将信息、数据转换成规定的电脉冲信号。编码是信息 从一种形式或格式转换为另一种形式的过程,解码,是编码的逆过程。利用会话生成模型进 行编码、解码的具体编码解码方式可以根据实际需要进行选择,本说明书实施例不作具体限 定。
本说明书实施例,会话生成模型中包括对句子编码的RNN和对会话编码的RNN,先利 用对句子编码的RNN对各个对话上文信息分别进行编码后,再利用对会话编码的RNN对句 子编码后获得的向量进行编码,获得对话上文信息对应的向量。综合考虑了各个上文信息的 特性以及上下文的关联性,为后续生成对话信息的输入提示信息奠定了数据基础。
在上述实施例的基础上,本说明书一些实施例中,所述利用所述会话生成模型对所述上 文句向量和所述对话信息进行解码,获得所述对话信息的输入提示信息,包括:
利用所述上文句向量初始化所述会话生成模型中的解码模型,将所述对话信息输入初始 化后的所述解码模型,获得所述输入提示信息。
在具体的实施过程中,会话生成模型中还可以包括一个解码模型即Deocder模型,可以 对编码生成的向量进行解码获得输入提示信息。在利用会话生成模型进行解码生成输入提示 信息时,可以将会话生成模型生成的上文句向量作为解码模型的初始化向量,再将用户当前 输入的对话信息输入到初始化后的解码模型,对对话信息进行解码,获得输入提示信息。
上述示例中,在一个会话过程中,用户先输入了“你好”和“花呗是什么”,在对话机器人给出相关回复后,用户在输入框中又输入了“怎么”,“怎么”可以是当前的对话信息,“你好”和“花呗是什么”可以是对话信息的对话上文信息。图2是本说明书一个实施例中 会话提示信息生成过程的流程示意图,如图2所示,可以利用会话生成模型中的对句子编码的RNN模型分别对“你好”和“花呗是什么”进行语义编码,获得“你好”对应的句子编 码向量和“花呗是什么”对应的句子编码向量。再将“你好”对应的句子编码向量和“花呗 是什么”对应的句子编码向量均输入到对会话编码的RNN模型即图2中的上下文编码RNN 中,获得“你好”和“花呗是什么”对应的上文句向量。将上下文编码RNN生成的上文句 向量输入到用于解码生成句子的RNN中,同时将用户当前输入的对话信息“怎么”也输入 到用于解码生成句子的RNN中,解码生成输入提示信息。
图2中的“</s>”可以表示结束字符,如图2所示,用于解码生成句子的RNN基于上下文编码RNN生成的上文句向量和用户输入的对话信息“怎么”进行解码,更新hidden state(隐藏状态层),并根据hidden state预测出后续词,如“开通”,模型继续使用“开通”更新hidden state并预测后续词,直至预测到结束字符“</s>”为止。得到的词语序列就是最终的 输出,本说明书一个示例中,获得的输入提示信息为“怎么开通花呗</s>”。
在利用解码模型进行解码时,还可以将利用对会话进行编码的RNN编码后获得的上文 句向量作为解码过程中每一步的输入,进行解码,本说明书实施例不作具体限定。
本说明书实施例,基于对上文会话信息的编码信息,进行解码,生成输入提示信息,使 得生成的提示信息更加符合用户当前的问答主题,提高了机器人问答输入提示的准确率。
在上述实施例的基础上,所述利用所述会话生成模型对所述上文句向量和所述对话信息 进行解码,获得所述对话信息的输入提示信息包括:
利用所述会话生成模型对所述上文句向量和所述对话信息进行解码,获得解码信息;
利用集束搜索对所述解码信息进行搜索,获得所述输入提示信息。
在具体的实施过程中,在利用会话生成模型对上文句向量和对话信息进行解码,获得输 入提示信息时,可以利用集束搜索即beam search对解码后获得的句子进行搜索,以优化会 话生成模型输出的句子的准确性。集束搜索可以理解为一种启发式图搜索算法,可以在每一 步深度扩展的时候,剪掉一些质量比较差的结点,保留下一些质量较高的结点。
本说明书实施例,利用集束搜索对会话生成模型生成的句子进行搜索,减少了空间消耗, 并提高了时间效率,提高了最终生成的输入提示信息的准确性,避免了输入提示信息生成过 程中先入局部最优解的问题。
在上述实施例的基础上,本说明书一些实施例中,所述方法还可以包括:
利用排序模型对所述输入提示信息进行排序,将排序在前预设名次内的输入提示信息作 为目标输入提示信息输出,其中,所述输入排序模型基于用户对历史输入提示信息的点击数 据训练获得。
在具体的实施过程中,在利用会话生成模型结合会话的上文信息生成输入提示信息后, 可以利用排序模型对会话生成模型生成的输入提示信息进行排序,将排序名次较高的输入提 示信息作为目标输入提示信息反馈给用户。排序模型可以理解为一种基于用户对输入提示信 息的点击数据进行模型训练,获得的一种机器学习模型。例如:可以将会话生成模型生成的 输入提示信息以及用户对各个输入提示信息的点击情况,作为训练样本数据,获得输入提示 信息的排序模型。构建排序模型后,当需要对新的对话信息进行输入提示时,可以利用排序 模型对会话生成模型生成的输入提示信息进行打分,按照分值从高到低对各个输入提示信息 进行排序,并将排序在前预设名次如前5名的输入提示信息输出,以供用户选择。
本说明书实施例,基于用户的点击数据训练构建出排序模型,对生成的输入提示信息进 行评分排序,提高了反馈给用户的输入提示信息的准确性,使得对话机器人的输入提示更加 符合用户的需求,降低了用户的工作量。
在上述实施例的基础上,本说明书一些实施例中,可以采用下述方法训练构建所述排序 模型:
构建排序模型;
获取所述会话生成模型生成的历史输入提示信息以及用户对所述历史输入提示信息的 点击数据;
获取所述会话生成模型确定出的各个所述历史输入提示信息的分值、所述历史输入提示 信息的长度、所述历史输入提示信息与对应的上文信息之间的编辑距离、所述历史输入提示 信息在背景语料中出现的频次,作为所述排序模型的模型输入特征;
将被用户点击的输入提示信息作为正样本数据,未被用户点击的输入提示信息作为负样 本数据,对所述排序模型进行训练。
在具体的实施过程中,排序模型可以采用XGBoost(eXtreme Gradient Boosting,极端梯 度提升,可以认为是一种提升树模型)模型,并将会话生成模型生成的历史输入提示信息以 及用户对历史输入提示信息的点击数据作为训练样本数据。如:可以将会话生成模型确定出 的各个历史输入提示信息的分值、历史输入提示信息的长度、历史输入提示信息与对应的上 文信息之间的编辑距离、历史输入提示信息在背景语料中出现的频次作为XGBoost模型的特 征。其中,背景语料可以采用指定时间段内用户提出过的对话信息,可以是一个用户在指定 时间段内的对话信息,也可以是会话机器人接收到的所有用户在指定时间段内的对话信息。 历史输入提示信息与对应的上文信息之间的编辑距离,可以采用文本距离计算方法计算,具 体的计算方法本说明书实施例不作具体限定。在进行模型训练时,可以采集指定时间段内会 话生成模型生成的历史输入提示信息,以及用户对于会话生成模型生成的历史输入提示信息 的点击数据,作为样本数据。点击数据可以通过对话机器人的日志数据获得,或通过其他设 备监测装置获得,本说明书实施例不作具体限定。
例如:在指定时间段内,排序模型还未构建完成时,可以直接使用会话生成模型生成的 输入提示信息对应的分值,将会话生成模型输出的分值排序最高的前5个输入提示信息返回 给用户。用户接收到输入提示信息后,根据自己的需要询问的问题,选择其中一个输入提示 信息并点击,对话机器人可以记录指定时间段内会话生成模型输出的输入提示信息以及各个 输入提示信息对应的点击数据,将用户点击的输入提示信息作为正样本数据,将未被用户点 击的输入提示信息作为负样本数据,对排序模型进行训练,构建出排序模型。排序模型构建 完成后,会话生成模型生成输入提示信息后,直接将生成的所有输入提示信息输入到排序模 型,由排序模型进行打分排序,将排序模型打分后分值排名较高的输入提示信息反馈给用户。
本说明书实施例基于用户对会话生成模型生成的输入提示信息的点击数据,训练构建出 排序模型,基于排序模型对后续会话生成模型生成的输入提示信息进行排序,提高了输出的 提示信息的准确性。
图3是本说明书又一个实施例中用于对话机器人的输入提示的流程示意图,如图3所示, 本说明书实施例中采用了一种Seq2Seq的生成式模型来根据用户输入预测完整的用户问题。 输入提示的过程主要分为两个部分:一个是提示信息的生成,一个是提示信息的排序,下面 结合图3具体介绍本说明书实施例的方法的实施过程:
1、基于上下文的会话生成模型
本说明书实施例采用了对上文信息的编码,来作为输入提示信息生成时的背景信息。在 一个示例中,用户先输入了“你好”和“花呗是什么”,在对话机器人给出相关回复后,用 户在输入框中又输入了“怎么”,“怎么”可以是当前的对话信息,“你好”和“花呗是什么”可以是对话信息的对话上文信息。为了区分对句子编码的RNN、对会话编码的RNN和用于 解码生成句子的RNN,本说明书实施例中分别将其记为:RNN_enc、RNN_ctx、RNN_dec, 对应的hidden state分别记为h、c、d,RNN_enc、RNN_ctx、RNN_dec组合在一起构成了会 话生成模型。上文信息中总共有M个句子,第m个句子有N个词,词向量分别为w_1,…w_N, 编码得到的句向量为q_m。如图2所示,可以利用每个RNN_enc依次对分词后的句子进行 编码,得到的句向量q_m依次输入RNN_ctx得到对整个上文的向量编码c_M;c_M用于初 始化RNN_dec,并输入用户当前输入的对话信息“怎么”来更新d_n。最后利用beam search, 由RNN_dec得到输出的完整句子。
在会话生成模型的训练时,可以使用对话机器人中的多轮会话数据,使用每个句子的前 1~2个词来预测整个句子。会话生成模型可以采用LSTM模型作为encoder和decoder,在实 际使用中,可以用同为RNN的GRU模型替代LSTM,也可以用Transformer模型来替代LSTM 作为encoder对句子进行编码。
2、基于用户点击的排序模型
通过beam search,可以得到多个可能的补全句子,但最终展现给用户的通常是指定数量 个如:5个,一般需要对会话生成模型生成的结果进行排序,将最好的5个展现给用户。最 初在线下实验时,可以直接利用会话生成模型输出的分值作为生成的输入提示信息排序依 据,选择会话生成模型认为最好的5个候选推送给用户。在积累了用户点击数据之后,可以 利用搜索排序中的Learning to Rank方案,训练XGBoost模型机排序模型来做算分排序,排 序模型用到的特征主要有:
1)、会话生成模型对输入提示信息算出的分值;
2)、候选项(即会话生成模型生成的输入提示信息)的长度;
3)、候选项与上文信息的编辑距离;
4)、候选项在背景语料中出现的频次。
训练得到XGBoost模型后,可以利用排序模型来对会话生成模型输出的输入提示信息进 行排序,输出分值最高的指定数量个输入提示信息,如:5个。
排序生成模型也可以采用GBDT(Gradient Boosting Descision Tree,梯度增强树模型) 或LR(logistic regression,逻辑回归模型)来做特征融合,也可以用神经网络模型,本说明 书实施例不作具体限定。
本说明书实施例,使用了基于上文信息的生成式模型做输入补全,克服了覆盖率低的缺 点,给用户更多补全推荐;另一方面,利用机器人会话的上文信息,使补全的内容更符合当 前的问答主题,提升了补全的准确率。
本说明书中上述方法的各个实施例均采用递进的方式描述,各个实施例之间相同相似的 部分互相参考即可,每个实施例重点说明的都是与其他实施例的不同之处。相关之处参考方 法实施例的部分说明即可。
基于上述所述的用于对话机器人的输入提示方法,本说明书一个或多个实施例还提供一 种用于对话机器人的输入提示装置。所述的装置可以包括使用了本说明书实施例所述方法的 系统(包括分布式系统)、软件(应用)、模块、组件、服务器、客户端等并结合必要的实施 硬件的装置。基于同一创新构思,本说明书实施例提供的一个或多个实施例中的装置如下面 的实施例所述。由于装置解决问题的实现方案与方法相似,因此本说明书实施例具体的装置 的实施可以参考前述方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模 块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件 来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
具体地,图4是本说明书提供的用于对话机器人的输入提示装置一个实施例的模块结构 示意图,如图4所示,本说明书中提供的用于对话机器人的输入提示装置可以包括:会话接 收模块41、上文信息获取模块42、语义编码模块43、提示信息生成模块44,其中:
会话接收模块41,可以用于接收对话信息;
上文信息获取模块42,可以用于获取所述对话信息之前接收到的指定数量个对话上文信 息;
语义编码模块43,可以用于利用会话生成模型对所述对话上文信息进行语义编码,获得 上文句向量;
提示信息生成模块44,可以用于利用所述会话生成模型对所述上文句向量和所述对话信 息进行解码,获得所述对话信息的输入提示信息。
本说明书实施例提供的用于对话机器人的输入提示装置,利用会话生成模型对对话上文 信息的编码解码等等方式,生成输入提示信息。直接利用机器学习模型进行输入提示信息的 预测生成,克服了知识库等方式覆盖率低的缺点,给用户提供了更多的补全方案。并且,结 合用户输入的提示信息的上文信息,使得补全的内容更符合用户当前问答的主题,提高了输 入提示的准确率。同时,推荐的输入提示信息通常比较符合对话机器人的提问格式,减少了 对话机器人的数据处理量,提高了对话机器人准确回答用户问题的概率。
在上述实施例的基础上,本说明书一些实施例中,所述语义编码模块具体用于:
利用所述会话生成模型中的句子编码模型分别对所述对话上文信息进行语义编码,获得 各个对话上文信息对应的句子编码向量;
利用所述会话生成模型中的会话编码模型对各个所述句子编码向量进行对话编码,获得 所述上文句向量。
本说明书实施例,会话生成模型中包括对句子编码的RNN和对会话编码的RNN,先利 用对句子编码的RNN对各个对话上文信息分别进行编码后,再利用对会话编码的RNN对句 子编码后获得的向量进行编码,获得对话上文信息对应的向量。综合考虑了各个上文信息的 特性以及上下文的关联性,为后续生成对话信息的输入提示信息奠定了数据基础。
在上述实施例的基础上,本说明书一些实施例中,所述提示信息生成模块具体用于:
利用所述上文句向量初始化所述会话生成模型中的解码模型,将所述对话信息输入初始 化后的所述解码模型,获得所述输入提示信息。
本说明书实施例,基于对上文会话信息的编码信息,进行解码,生成输入提示信息,使 得生成的提示信息更加符合用户当前的问答主题,提高了机器人问答输入提示的准确率。
在上述实施例的基础上,本说明书一些实施例中,所述提示信息生成模块具体用于:
利用所述会话生成模型对所述上文句向量和所述对话信息进行解码,获得解码信息;
利用集束搜索对所述解码信息进行搜索,获得所述输入提示信息。
本说明书实施例,利用集束搜索对会话生成模型生成的句子进行搜索,减少了空间消耗, 并提高了时间效率,提高了最终生成的输入提示信息的准确性,避免了输入提示信息生成过 程中先入局部最优解的问题。
图5是本说明书又一个实施例中用于对话机器人的输入提示装置的结构示意图,如图5 所示,在上述实施例的基础上,本说明书一些实施例中所述装置还包括:提示信息排序模块 51,用于:
利用排序模型对所述输入提示信息进行排序,将排序在前预设名次内的输入提示信息作 为目标输入提示信息输出,其中,所述输入排序模型基于用户对历史输入提示信息的点击数 据训练获得。
本说明书实施例,基于用户的点击数据训练构建出排序模型,对生成的输入提示信息进 行评分排序,提高了反馈给用户的输入提示信息的准确性,使得对话机器人的输入提示更加 符合用户的需求,降低了用户的工作量。
图6是本说明书又一个实施例中用于对话机器人的输入提示装置的结构示意图,如图6 所示,在上述实施例的基础上,本说明书一些实施例中,所述装置还包括排序模型构建模块 61,用于采用下述方法训练构建所述排序模型:
构建排序模型;
获取所述会话生成模型生成的历史输入提示信息以及用户对所述历史输入提示信息的 点击数据;
获取所述会话生成模型确定出的各个所述历史输入提示信息的分值、所述历史输入提示 信息的长度、所述历史输入提示信息与对应的上文信息之间的编辑距离、所述历史输入提示 信息在背景语料中出现的频次,作为所述排序模型的模型输入特征;
将被用户点击的输入提示信息作为正样本数据,未被用户点击的输入提示信息作为负样 本数据,对所述排序模型进行训练。
本说明书实施例,基于用户对会话生成模型生成的输入提示信息的点击数据,训练构建 出排序模型,基于排序模型对后续会话生成模型生成的输入提示信息进行排序,提高了输出 的提示信息的准确性。
需要说明的,上述所述的装置根据方法实施例的描述还可以包括其他的实施方式。具体 的实现方式可以参照上述对应的方法实施例的描述,在此不作一一赘述。
本说明书实施例还提供一种用于对话机器人的输入提示设备,包括:至少一个处理器以 及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上述实施例中用于 对话机器人的输入提示方法,如:
接收对话信息;
获取所述对话信息之前接收到的指定数量个对话上文信息;
利用会话生成模型对所述对话上文信息进行语义编码,获得上文句向量;
利用所述会话生成模型对所述上文句向量和所述对话信息进行解码,获得所述对话信息 的输入提示信息。
本说明书实施例还提供一种用于对话机器人,包括:至少一个处理器以及用于存储处理 器可执行指令的存储器,所述存储器中存储有会话生成模型、排序模型;
所述会话生成模型采用Seq2Seq模型,所述处理器用于采用Seq2Seq模型基于用户输入 的对话信息的上文信息,生成输入提示信息;
所述处理器还用于采用所述排序模型对所述会话生成模型生成的所述输入提示信息进 行评分排序,将排序在前预设名次内的输入提示信息并输出;
所述处理器还用于根据用户对输出的前预设名次内的输入提示信息点击操作,输出对应 的答案。
参考上述实施例的记载,本说明书一些实施例中,所述会话生成模型包括句子编码循环 神经网络模型、会话编码循环神经网络模型、解码循环神经网络模型,其中:
所述句子编码循环神经网络模型用于对接收到的对话信息的对话上文信息分别进行语 义编码,获得各个对话上文信息对应的句子编码向量;
所述会话编码循环神经网络模型用于对所述句子编码循环神经网络模型获得的句子编 码向量进行对话编码,获得上文句向量;
所述解码循环神经网络模型用于对所述上文句向量和所述对话信息进行解码,获得所述 对话信息的输入提示信息。
本说明书实施例,使用了基于上文信息的生成式模型做输入补全,克服了覆盖率低的缺 点,给用户更多补全推荐;另一方面,利用机器人会话的上文信息,使补全的内容更符合当 前的问答主题,提升了补全的准确率。
需要说明的,上述所述的处理设备和对话机器人,根据方法实施例的描述还可以包括其 他的实施方式。具体的实现方式可以参照上述对应的方法实施例的描述,在此不作一一赘述。
本说明书提供的用于对话机器人的输入提示装置或处理设备或对话机器人,也可以应用 在多种数据分析处理系统中。所述系统或装置或处理设备可以包括上述实施例中任意一个用 于对话机器人的输入提示装置。所述的系统或装置或处理设备可以为单独的服务器,也可以 包括使用了本说明书的一个或多个所述方法或一个或多个实施例装置的服务器集群、系统 (包括分布式系统)、软件(应用)、实际操作装置、逻辑门电路装置、量子计算机等并结合 必要的实施硬件的终端装置。所述核对差异数据的检测系统可以包括至少一个处理器以及存 储计算机可执行指令的存储器,所述处理器执行所述指令时实现上述任意一个或者多个实施 例中所述方法的步骤。
本说明书实施例所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的 运算装置中执行。以运行在服务器上为例,图7是本说明书一个实施例中用于对话机器人的 输入提示服务器的硬件结构框图,该服务器可以是上述实施例中的用于对话机器人的输入提 示装置、用于对话机器人的输入提示设备或系统。如图7所示,服务器10可以包括一个或 多个(图中仅示出一个)处理器100(处理器100可以包括但不限于微处理器MCU或可编 程逻辑器件FPGA等的处理装置)、用于存储数据的存储器200、以及用于通信功能的传输 模块300。本邻域普通技术人员可以理解,图7所示的结构仅为示意,其并不对上述电子装 置的结构造成限定。例如,服务器10还可包括比图7中所示更多或者更少的组件,例如还 可以包括其他的处理硬件,如数据库或多级缓存、GPU,或者具有与图7所示不同的配置。
存储器200可用于存储应用软件的软件程序以及模块,如本说明书实施例中的用于对话 机器人的输入提示方法对应的程序指令/模块,处理器100通过运行存储在存储器200内的软 件程序以及模块,从而执行各种功能应用以及资源数据更新。存储器200可包括高速随机存 储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性 固态存储器。在一些实例中,存储器200可进一步包括相对于处理器100远程设置的存储器, 这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企 业内部网、局域网、移动通信网及其组合。
传输模块300用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机 终端的通信供应商提供的无线网络。在一个实例中,传输模块300包括一个网络适配器 (Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进 行通讯。在一个实例中,传输模块300可以为射频(Radio Frequency,RF)模块,其用于通 过无线方式与互联网进行通讯。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一 些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍 然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺 序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是 有利的。
本说明书提供的上述实施例所述的方法或装置可以通过计算机程序实现业务逻辑并记 录在存储介质上,所述的存储介质可以计算机读取并执行,实现本说明书实施例所描述方案 的效果。
所述存储介质可以包括用于存储信息的物理装置,通常是将信息数字化后再以利用电、 磁或者光学等方式的媒体加以存储。所述存储介质有可以包括:利用电能方式存储信息的装 置如,各式存储器,如RAM、ROM等;利用磁能方式存储信息的装置如,硬盘、软盘、磁 带、磁芯存储器、磁泡存储器、U盘;利用光学方式存储信息的装置如,CD或DVD。当然, 还有其他方式的可读存储介质,例如量子存储器、石墨烯存储器等等。
本说明书实施例提供的上述用于对话机器人的输入提示方法或装置可以在计算机中由 处理器执行相应的程序指令来实现,如使用windows操作系统的c++语言在PC端实现、linux 系统实现,或其他例如使用android、iOS系统程序设计语言在智能终端实现,以及基于量子 计算机的处理逻辑实现等。
需要说明的是说明书上述所述的装置、计算机存储介质、系统根据相关方法实施例的描 述还可以包括其他的实施方式,具体的实现方式可以参照对应方法实施例的描述,在此不作 一一赘述。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相 参考即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类 实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参考方法实施 例的部分说明即可。
本说明书实施例并不局限于必须是符合行业通信标准、标准计算机资源数据更新和数据 存储规则或本说明书一个或多个实施例所描述的情况。某些行业标准或者使用自定义方式或 实施例描述的实施基础上略加修改后的实施方案也可以实现上述实施例相同、等同或相近、 或变形后可预料的实施效果。应用这些修改或变形后的数据获取、存储、判断、处理方式等 获取的实施例,仍然可以属于本说明书实施例的可选实施方案范围之内。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对 二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人 员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制 作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、 Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几 种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程 的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及 存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、 逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑 控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被 实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码 方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、 专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制 器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部 件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块 又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者 由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为 个人计算机、膝上型计算机、车载人机交互设备、蜂窝电话、相机电话、智能电话、个人数 字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或 者这些设备中的任何设备的组合。
虽然本说明书一个或多个实施例提供了如实施例或流程图所述的方法操作步骤,但基于 常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅 为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执 行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多 线程处理的环境,甚至为分布式资源数据更新环境)。术语“包括”、“包含”或者其任何 其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备 不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、 产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、 方法、产品或者设备中还存在另外的相同或等同要素。第一,第二等词语用来表示名称,而 并不表示任何特定的顺序。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明 书一个或多个时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同 一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性 的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式, 例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。 另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置 或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
本发明是参照根据本发明实施例的方法、装置(系统)、和计算机程序产品的流程图和 /或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和 /或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指 令到通用计算机、专用计算机、嵌入式处理机或其他可编程资源数据更新设备的处理器以产 生一个机器,使得通过计算机或其他可编程资源数据更新设备的处理器执行的指令产生用于 实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程资源数据更新设备以特定 方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装 置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方 框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程资源数据更新设备上,使得在计算 机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他 可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方 框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接 口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失 性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术 来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机 的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随 机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除 可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、 数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储、石墨烯存储或其他 磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中 的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载 波。
本领域技术人员应明白,本说明书一个或多个实施例可提供为方法、系统或计算机程序 产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软 件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中 包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、 光学存储器等)上实施的计算机程序产品的形式。
本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中 描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、 程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本本说明书一个或多个 实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。 在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质 中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相 参考即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而 言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参考方法实施例的部分 说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、 “具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、 材料或者特点包含于本说明书的至少一个实施例或示例中。在本说明书中,对上述术语的示 意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特 点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下, 本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特 征进行结合和组合。
以上所述仅为本说明书一个或多个实施例的实施例而已,并不用于限制本说明书一个或 多个实施例。对于本领域技术人员来说,本说明书一个或多个实施例可以有各种更改和变化。 凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在权利要求 范围之内。
Claims (15)
1.一种用于对话机器人的输入提示方法,包括:
接收对话信息;
获取所述对话信息之前接收到的指定数量个对话上文信息;
利用会话生成模型对所述对话上文信息进行语义编码,获得上文句向量;
利用所述会话生成模型对所述上文句向量和所述对话信息进行解码,获得所述对话信息的输入提示信息。
2.如权利要求1所述的方法,所述利用会话生成模型对所述对话上文信息进行语义编码,获得上文句向量,包括:
利用所述会话生成模型中的句子编码模型分别对所述对话上文信息进行语义编码,获得各个对话上文信息对应的句子编码向量;
利用所述会话生成模型中的会话编码模型对各个所述句子编码向量进行对话编码,获得所述上文句向量。
3.如权利要求1所述的方法,所述利用所述会话生成模型对所述上文句向量和所述对话信息进行解码,获得所述对话信息的输入提示信息,包括:
利用所述上文句向量初始化所述会话生成模型中的解码模型,将所述对话信息输入初始化后的所述解码模型,获得所述输入提示信息。
4.如权利要求1所述的方法,所述利用所述会话生成模型对所述上文句向量和所述对话信息进行解码,获得所述对话信息的输入提示信息包括:
利用所述会话生成模型对所述上文句向量和所述对话信息进行解码,获得解码信息;
利用集束搜索对所述解码信息进行搜索,获得所述输入提示信息。
5.如权利要求1所述的方法,所述方法还包括:
利用排序模型对所述输入提示信息进行排序,将排序在前预设名次内的输入提示信息作为目标输入提示信息输出,其中,所述输入排序模型基于用户对历史输入提示信息的点击数据训练获得。
6.如权利要求5所述的方法,采用下述方法训练构建所述排序模型:
构建排序模型;
获取所述会话生成模型生成的历史输入提示信息以及用户对所述历史输入提示信息的点击数据;
获取所述会话生成模型确定出的各个所述历史输入提示信息的分值、所述历史输入提示信息的长度、所述历史输入提示信息与对应的上文信息之间的编辑距离、所述历史输入提示信息在背景语料中出现的频次,作为所述排序模型的模型输入特征;
将被用户点击的输入提示信息作为正样本数据,未被用户点击的输入提示信息作为负样本数据,对所述排序模型进行训练。
7.一种用于对话机器人的输入提示装置,包括:
会话接收模块,用于接收对话信息;
上文信息获取模块,用于获取所述对话信息之前接收到的指定数量个对话上文信息;
语义编码模块,用于利用会话生成模型对所述对话上文信息进行语义编码,获得上文句向量;
提示信息生成模块,用于利用所述会话生成模型对所述上文句向量和所述对话信息进行解码,获得所述对话信息的输入提示信息。
8.如权利要求7所述的装置,所述语义编码模块具体用于:
利用所述会话生成模型中的句子编码模型分别对所述对话上文信息进行语义编码,获得各个对话上文信息对应的句子编码向量;
利用所述会话生成模型中的会话编码模型对各个所述句子编码向量进行对话编码,获得所述上文句向量。
9.如权利要求7所述的装置,所述提示信息生成模块具体用于:
利用所述上文句向量初始化所述会话生成模型中的解码模型,将所述对话信息输入初始化后的所述解码模型,获得所述输入提示信息。
10.如权利要求7所述的装置,所述提示信息生成模块具体用于:
利用所述会话生成模型对所述上文句向量和所述对话信息进行解码,获得解码信息;
利用集束搜索对所述解码信息进行搜索,获得所述输入提示信息。
11.如权利要求7所述的装置,所述装置还包括:提示信息排序模块,用于:
利用排序模型对所述输入提示信息进行排序,将排序在前预设名次内的输入提示信息作为目标输入提示信息输出,其中,所述输入排序模型基于用户对历史输入提示信息的点击数据训练获得。
12.如权利要求11所述的装置,所述装置还包括排序模型构建模块,用于采用下述方法训练构建所述排序模型:
构建排序模型;
获取所述会话生成模型生成的历史输入提示信息以及用户对所述历史输入提示信息的点击数据;
获取所述会话生成模型确定出的各个所述历史输入提示信息的分值、所述历史输入提示信息的长度、所述历史输入提示信息与对应的上文信息之间的编辑距离、所述历史输入提示信息在背景语料中出现的频次,作为所述排序模型的模型输入特征;
将被用户点击的输入提示信息作为正样本数据,未被用户点击的输入提示信息作为负样本数据,对所述排序模型进行训练。
13.一种对话机器人,包括:至少一个处理器以及用于存储处理器可执行指令的存储器,所述存储器中存储有会话生成模型、排序模型;
所述会话生成模型采用Seq2Seq模型,所述处理器用于采用Seq2Seq模型基于用户输入的对话信息的上文信息,生成输入提示信息;
所述处理器还用于采用所述排序模型对所述会话生成模型生成的所述输入提示信息进行评分排序,将排序在前预设名次内的输入提示信息并输出;
所述处理器还用于根据用户对输出的前预设名次内的输入提示信息点击操作,输出对应的答案。
14.如权利要求13所述的对话机器人,所述会话生成模型包括句子编码循环神经网络模型、会话编码循环神经网络模型、解码循环神经网络模型,其中:
所述句子编码循环神经网络模型用于对接收到的对话信息的对话上文信息分别进行语义编码,获得各个对话上文信息对应的句子编码向量;
所述会话编码循环神经网络模型用于对所述句子编码循环神经网络模型获得的句子编码向量进行对话编码,获得上文句向量;
所述解码循环神经网络模型用于对所述上文句向量和所述对话信息进行解码,获得所述对话信息的输入提示信息。
15.一种用于对话机器人的输入提示设备,包括:至少一个处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911199807.1A CN111078848A (zh) | 2019-11-29 | 2019-11-29 | 一种用于对话机器人的输入提示方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911199807.1A CN111078848A (zh) | 2019-11-29 | 2019-11-29 | 一种用于对话机器人的输入提示方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111078848A true CN111078848A (zh) | 2020-04-28 |
Family
ID=70312070
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911199807.1A Pending CN111078848A (zh) | 2019-11-29 | 2019-11-29 | 一种用于对话机器人的输入提示方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111078848A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113486167A (zh) * | 2021-07-26 | 2021-10-08 | 科大讯飞股份有限公司 | 文本补全方法、装置、计算机设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103116582A (zh) * | 2011-11-16 | 2013-05-22 | 阿里巴巴集团控股有限公司 | 一种信息检索方法及相关系统和装置 |
US20140257793A1 (en) * | 2013-03-11 | 2014-09-11 | Nuance Communications, Inc. | Communicating Context Across Different Components of Multi-Modal Dialog Applications |
CN107168546A (zh) * | 2017-03-27 | 2017-09-15 | 上海奔影网络科技有限公司 | 输入提示方法及装置 |
CN109032375A (zh) * | 2018-06-29 | 2018-12-18 | 北京百度网讯科技有限公司 | 候选文本排序方法、装置、设备及存储介质 |
CN110263247A (zh) * | 2019-05-20 | 2019-09-20 | 话媒(广州)科技有限公司 | 一种回复信息推荐方法及电子设备 |
CN110334201A (zh) * | 2019-07-18 | 2019-10-15 | 中国工商银行股份有限公司 | 一种意图识别方法、装置及系统 |
-
2019
- 2019-11-29 CN CN201911199807.1A patent/CN111078848A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103116582A (zh) * | 2011-11-16 | 2013-05-22 | 阿里巴巴集团控股有限公司 | 一种信息检索方法及相关系统和装置 |
US20140257793A1 (en) * | 2013-03-11 | 2014-09-11 | Nuance Communications, Inc. | Communicating Context Across Different Components of Multi-Modal Dialog Applications |
CN107168546A (zh) * | 2017-03-27 | 2017-09-15 | 上海奔影网络科技有限公司 | 输入提示方法及装置 |
CN109032375A (zh) * | 2018-06-29 | 2018-12-18 | 北京百度网讯科技有限公司 | 候选文本排序方法、装置、设备及存储介质 |
CN110263247A (zh) * | 2019-05-20 | 2019-09-20 | 话媒(广州)科技有限公司 | 一种回复信息推荐方法及电子设备 |
CN110334201A (zh) * | 2019-07-18 | 2019-10-15 | 中国工商银行股份有限公司 | 一种意图识别方法、装置及系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113486167A (zh) * | 2021-07-26 | 2021-10-08 | 科大讯飞股份有限公司 | 文本补全方法、装置、计算机设备和存储介质 |
CN113486167B (zh) * | 2021-07-26 | 2024-04-16 | 科大讯飞股份有限公司 | 文本补全方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102577514B1 (ko) | 텍스트 창작 방법, 텍스트 창작 장치, 전자 기기 및 저장 매체 | |
CN110309283B (zh) | 一种智能问答的答案确定方法及装置 | |
CN109616108B (zh) | 多轮对话交互处理方法、装置、电子设备及存储介质 | |
US20200301954A1 (en) | Reply information obtaining method and apparatus | |
CN107832433B (zh) | 基于对话交互的信息推荐方法、装置、服务器和存储介质 | |
CN105095182B (zh) | 一种回复信息推荐方法及装置 | |
CN110765247B (zh) | 一种用于问答机器人的输入提示方法及装置 | |
CN112948534A (zh) | 一种智能人机对话的交互方法、系统和电子设备 | |
CN111708869B (zh) | 人机对话的处理方法及装置 | |
CN109243468B (zh) | 语音识别方法、装置、电子设备及存储介质 | |
CN110019742B (zh) | 用于处理信息的方法和装置 | |
CN107291840B (zh) | 一种用户属性预测模型构建方法和装置 | |
CN111368538A (zh) | 语音交互方法、系统、终端及计算机可读存储介质 | |
CN108304376B (zh) | 文本向量的确定方法、装置、存储介质及电子装置 | |
CN114840671A (zh) | 对话生成方法、模型的训练方法、装置、设备及介质 | |
CN108280218A (zh) | 一种基于检索和生产混合问答的流程系统 | |
CN111767394A (zh) | 一种基于人工智能专家系统的摘要提取方法及装置 | |
CN113505198A (zh) | 关键词驱动的生成式对话回复方法、装置及电子设备 | |
EP4060517A1 (en) | System and method for designing artificial intelligence (ai) based hierarchical multi-conversation system | |
CN111859953A (zh) | 训练数据的挖掘方法、装置、电子设备及存储介质 | |
CN111813923A (zh) | 文本摘要方法、电子设备及存储介质 | |
CN111508497B (zh) | 语音识别方法、装置、电子设备及存储介质 | |
CN111078848A (zh) | 一种用于对话机器人的输入提示方法及装置 | |
CN117193582A (zh) | 交互控制方法及系统、电子设备 | |
CN115378890B (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 |