对话方法、装置、设备和存储介质
技术领域
本公开涉及计算机
技术领域
,具体涉及自然语言处理、深度学习等人工智能领域,尤其涉及一种对话方法、装置、设备和存储介质。背景技术
人机对话(Human-Machine Conversation)是指让机器理解和运用自然语言实现人机通信的技术。任务型对话系统是一种以完成任务为目的的人机对话系统。随着技术的发展,人机对话系统越来越能够满足用户的任务需求,但是,也会存在任务失败的情况。
相关技术中,当任务失败时,一般是向用户反馈固定内容的信息。
发明内容
本公开提供了一种对话方法、装置、设备和存储介质。
根据本公开的一方面,提供了一种对话方法,包括:基于用户输入的当前用户应答,执行所述当前用户应答对应的特定任务;若所述特定任务的执行结果触发对话推荐,在多种推荐类型中,确定所述当前用户应答对应的当前推荐类型;基于所述当前推荐类型,生成所述当前推荐类型对应的当前推荐应答,并将所述当前推荐应答反馈给所述用户。
根据本公开的另一方面,提供了一种对话装置,包括:执行模块,用于基于用户输入的当前用户应答,执行所述当前用户应答对应的特定任务;确定模块,用于若所述特定任务的执行结果触发对话推荐,在多种推荐类型中,确定所述当前用户应答对应的当前推荐类型;推荐模块,用于基于所述当前推荐类型,生成所述当前推荐类型对应的当前推荐应答,并将所述当前推荐应答反馈给所述用户。
根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述任一方面的任一项所述的方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据上述任一方面的任一项所述的方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据上述任一方面的任一项所述的方法。
根据本公开的技术方案,可以生成更灵活的推荐应答。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开第一实施例的示意图;
图2是根据本公开第二实施例的示意图;
图3是根据本公开第三实施例的示意图;
图4是根据本公开第四实施例的示意图;
图5是根据本公开第五实施例的示意图;
图6是根据本公开第六实施例的示意图;
图7是根据本公开第七实施例的示意图;
图8是根据本公开第八实施例的示意图;
图9是根据本公开第九实施例的示意图;
图10是根据本公开第十实施例的示意图;
图11是根据本公开第十一实施例的示意图;
图12是用来实现本公开实施例的对话方法中任一方法的电子设备的示意图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
发明人通过对任务型对话的分析,发现任务型对话失败的原因主要有以下几种:
(1)对话理解模型的泛化能力不足,导致一些明显在系统能力范围内的用户应答却没能被系统正确识别导致走向失败。
(2)用户询问的内容超出了当前系统的能力边界导致的对话失败。
(3)用户会把日常生活中人与人交流的方式用在人机对话中,引入一些非任务型对话的内容,比如:“哈哈哈”、“我想想”、“你猜”等口语化的表述,导致系统无法正确理解而失败。
(4)用户完全不知道当前对话系统的能力边界,以一种试用的态度来进行对话,这种没有明确目的性的对话尤其容易导致对话走向失败。
相关技术中,任务失败时,人机对话系统(可简称为系统)会向用户反馈固定内容的信息,或者称为反馈固定话术,一般比如为,“我无法理解你的意思”等。但是,这种单一的固定话术,并不能很好适应于任务失败的具体原因,不能很好引导用户后续的操作,影响用户体验。
为了提供更丰富、灵活的推荐应答,适用于更多场景,本公开可以提供如下实施例。
图1是根据本公开第一实施例的示意图。本实施例提供一种对话方法,包括:
101、基于用户输入的当前用户应答,执行所述当前用户应答对应的特定任务。
102、若所述特定任务的执行结果触发对话推荐,在多种推荐类型中,确定所述当前用户应答对应的当前推荐类型。
103、基于所述当前推荐类型,生成所述当前推荐类型对应的当前推荐应答,并将所述当前推荐应答反馈给所述用户。
本实施例的执行主体可以称为人机对话系统,人机对话系统可以位于服务器或者终端设备上。进一步地,该人机对话系统可以为任务型人机对话系统,以完成特定任务为目标。
以人机对话系统位于服务器上为例,用户使用的终端设备上可以安装用于人机对话的客户端,客户端比如为应用程序(Application,APP)形式等。用户可以以语音、文本等形式向客户端中输入信息,用户输入的信息可以称为用户应答,之后,客户端可以将用户应答发送给位于服务器上的人机对话系统,人机对话系统可以基于用户输入的用户应答向用户进行反馈,人机对话系统反馈的信息可以称为系统应答。
进一步地,系统应答可以为任务应答或者推荐应答,任务应答是指系统完成用户应答对应的特定任务时反馈的正常的应答,推荐应答是指基于当前场景向用户推荐的内容。
一条用户应答和一条系统应答可以组成一轮的对话过程,任务型对话过程中,一般会包括多轮的对话过程。本实施例中,可以对应每轮的对话过程,基于当前轮的用户应答,获得当前轮的任务应答或者当前轮的推荐应答,将任务应答或者推荐应答作为系统应答反馈给用户。其中,当前轮的用户应答可以称为当前用户应答,当前轮的任务应答和推荐应答可以分别称为当前任务应答和当前推荐应答。
特定任务是指当前用户应答对应的具体任务,任务比如包括:订饮品、订机票、查询天气等。比如,当前用户应答是关于订饮品的内容,则特定任务是指订饮品。
系统接收到用户输入的用户应答后,可以基于该用户应答执行对应的特定任务,比如,基于用户输入的关于订饮品的内容,执行订饮品的任务。
特定任务的执行结果包括:任务成功,或者,任务失败,任务成功是指完成用户应答对应的需求,任务失败是指未完成用户应答对应的需求。一般来讲,在执行任务时,会识别出任务意图及其对应的词槽,若成功识别出任务意图并完成了对应的词槽的填充,则任务成功,否则为任务失败。以订饮品为例,假设该任务对应的词槽包括饮品种类和数量,假设用户输出的用户应答包括“我要喝奶茶”,则可以识别出任务意图为订饮品,饮品种类为奶茶,此时由于还需要数量词槽,则系统可以向用户反馈“需要几杯”,用户再次输入的用户应答可以为“1杯”,系统识别出数量词槽为1后,完成了所需词槽的填充,此时需要填充的词槽全部填充完毕,可以确定出任务成功,之后系统可以向用户反馈任务成功对应的系统应答,比如“好的,下单成功”。上述交互过程中,系统向用户反馈的“需要几杯”是为了完成任务而进行反馈的内容,该系统应答为任务应答。
在系统向用户反馈“需要几杯”后,如果用户不进行上述“1杯”类似的应答,而是说其他内容,比如,用户应答为“今天天气很好”,系统基于该用户应答无法完成词槽填充,则可以确定出任务失败。可以理解的是,上述对任务成功或任务失败的确定过程是示例性的,实际的人机对话过程是较为复杂的,可以根据实际场景确定任务成功或者任务失败。
相关技术中,任务失败后,系统会向用户反馈预先配置的固定话术,比如,“我无法理解你的意思”。
相对比的,本公开实施例中,会存在多种类型的推荐应答,可以根据当前场景生成适合当前场景的推荐应答,并反馈给用户,而不是所有场景都反馈单一的固定话术。
多种是指至少两种,可以先确定当前轮的用户应答对应的推荐类型,再基于该推荐类型生成对应类型的推荐应答。
具体地,系统中可以预先配置多种类型,系统在确定触发对话推荐时,可以在多种推荐类型中确定出当前轮的用户应答对应的推荐类型,再生成该推荐类型对应的推荐应答。
本实施例中,通过在多种推荐类型中确定用户应答对应的推荐类型,可以实现在多种推荐类型中的选择,以便适用于当前场景,基于推荐类型生成对应的推荐应答,可以生成更灵活的推荐应答,更好地适用于当前场景。进一步地,基于当前用户应答生成当前推荐应答,可以实现实时推荐。
图2是根据本公开第二实施例的示意图。本实施例提供一种对话方法,该方法包括:
201、接收任务配置。
系统开发人员可以对系统进行任务配置,任务配置是指为系统配置该当前系统对应的任务的配置数据,是对当前系统的能力进行定义,配置数据中的不同数据可以用到任务型人机对话的相关环节中。配置数据可以包括如下数据:
(1)意图:对话中用户想要表达的目的,整个对话系统就是要帮助用户来完成这种的特定任务需求,比如电影票预订、机票预定、音乐播放等。一个任务型对话系统可以包含很多意图,每个意图下的配置包括:意图名称、意图描述、意图示例问法、意图满足话术等。
(2)词槽:达成用户对话目的(意图)所需要的关键信息,比如机票预定意图下,出发地、目的地、出发时间等信息都是词槽。一个意图可以包含0个或者多个词槽,每个词槽下的配置包括:词槽名、词槽描述、词槽示例值、词槽澄清话术等。
(3)问答库:任务型对话场景的背景知识,用于解决用户的信息查询需求,以问答对(通常是一问一答,也可以是多问多答,即多个相似问题对应多个答案)的对话形式存在。每个问答对的配置都包括:问题和对应的答案。
(4)其他配置数据:还包括对话样本、对话模板、特征词等,主要用于提升对话理解(或口语理解)效果,还可以用于对话推荐过程。对话样本是指历史上的对话信息,对话模板是指基于多条对话信息获得的相同句式的模板,特征词是需要解析的词,比如,词槽的名称等。
202、接收用户输入的当前用户应答。
203、基于所述当前用户应答,执行所述当前用户应答对应的特定任务。
如图3所示,系统执行当前用户应答对应的特定任务时,可以对当前用户应答进行口语理解(Spoken Language Understanding,SLU)、话状态跟踪(Dialogue StateTracking,DST)、对话策略学习(Dialogue Policy Learning,DPL)、自然语言生成(NaturalLanguage Generation,NLG)等处理,进一步地,若系统中包括问答库,还可以基于用户应答进行问答库检索和排序。
SLU:对用户应答进行语义理解,看是否能够命中某个意图以及所包含的词槽信息等。
DST:根据当前轮的SLU理解结果以及历史对话状态,生成任务型多轮对话的对话状态。
DPL:根据DST输出的结果决策当前轮的回复动作,如词槽澄清、意图满足、对话失败等。另外,有些任务型对话场景会包含问答库,这时候还会进行问答库的检索与排序,根据问答库的匹配结果和DST输出结果来综合决策当前轮应该输出命中问题所对应的答案,还是进行词槽澄清等。
NLG:根据DPL输出的动作生成一个自然语言句子,这时候就得到了任务型对话应答(或称为任务应答)。
204、基于所述特定任务的执行结果,判断是否触发对话推荐,若是,执行205,否则执行208。
如图3所示,系统中可以包括对话推荐(Conversational Recommender,CR)模块,CR模块进一步可以包括:CR判定器、CR分类器和CR执行器。
其中,CR判定器可以基于特定任务的执行结果,判断是否触发对话推荐。
CR判定器可以执行:若所述执行结果为所述特定任务成功,且所述特定任务存在接续任务,确定所述特定任务的执行结果触发对话推荐;或者,若所述执行结果为所述特定任务失败,确定所述特定任务的执行结果触发对话推荐。
进一步地,CR判定器还可以执行:若所述执行结果为所述特定任务成功,且所述特定任务不存在接续任务,确定所述特定任务的执行结果不触发对话推荐,此时,系统可以将任务应答作为系统应答反馈给用户,即,进行正常的任务对话流程。
CR判定器在判定时主要使用的是基于规则的方法:
(1)任务成功且命中引导规则:特定任务的执行结果为意图满足(或称为任务成功),且命中了任务配置中定义的接续意图引导规则(当一个意图满足时,直接引导到另外一个意图)(或称为存在接续任务),这时候就需要进行对话推荐。
(2)用户应答未理解导致对话失败:当用户应答未理解时,会导致任务型对话应答使用失败兜底话术,或者导致词槽连续澄清等,即此时任务失败,这时候需要进行对话推荐。
当对话推荐判定结果为“是(Y)”时,会进入到CR分类器中,进行后续的策略处理;当判定结果为“否(N)”时,会获得任务应答,并将任务应答作为系统应答进行输出。任务应答的获取方式可以采用正常的任务对话流程的获取方式,不再详述。
通过基于执行结果判定是否进行对话推荐,可以在需要对话推荐时进行对话推荐,不需要对话推荐时进行正常的任务对话。
205、确定所述当前用户应答对应的当前推荐类型。
如图3所示,CR判定器判断出触发对话推荐后,可以触发CR分类器执行,CR分类器可以执行:采用预先训练的分类模型,对包括所述当前用户应答的对话信息进行分类处理,以确定所述当前用户应答对应的当前推荐类型。
对话信息还可以称为对话上下文(context),一般来讲,对话为多轮,对话信息可以包括当前轮的用户应答,当前轮的系统应答(如果有)、还可以包括之前轮的用户应答、之前轮的系统应答、当前轮的对话状态(比如意图、词槽等)等。
CR分类器的输入为上述的对话信息,输出为分类结果,即,当前推荐类型是多种推荐类型中的哪一种。
分类模型可以预先训练,分类模型可以为深度神经网络模型,可以采用机器学习的方式进行训练。另外,分类模型还可以是迭代更新的。
比如,初始需要人工构建少量训练数据,以用户应答、任务型对话应答、上轮系统应答、当前轮对话状态等对话信息样本作为输入来训练模型,输出多分类结果。机器学习是一个不断迭代优化的过程,在初始模型投入使用后并积累了一定量的对话日志后,从这些对话日志中提取更多的数据来重新训练模型,经过反复迭代以使模型达到较好的效果。
以5种推荐类型为例,具体可以如下:
(1)接续任务推荐(或称为接续意图引导):当一个意图满足时,将话题引导到另外一个意图。不是所有对话场景都有这种意图间的接续关系,需要在开发一个对话系统时根据场景特性来明确指定。
(2)系统能力推荐:一般在以下两种情况下出现:
第一种情况,用户主动询问系统能力:用户不知道当前对话系统的能力边界,主动进行询问。
第二种情况,非任务进行过程中的对话失败:非任务进行过程中指的是当前轮不是在完成某个指定的任务,通常发生在任务开始前SLU未理解导致的对话失败,或者某个任务结束后SLU未理解导致的对话失败。
(3)填槽对话推荐:某些任务的达成需要收集一些词槽等关键信息,这时候会进行词槽缺失澄清。当某个词槽一直没有被填充,系统会进行反复询问,这时候就会触发填槽对话推荐。
(4)肯否对话推荐:某些任务中会展示收集到的信息让用户进行确认,例如:订火车票时的订单信息确认,这就是肯否态度澄清。当一直没有收集到肯否态度时,系统会进行反复询问,这时候就会触发肯否对话推荐。
(5)选择对话推荐:某些任务中会展示多个选项让用户进行选择,例如:订火车票时的车次选择,这就是多结果选择澄清。当一直没有收集到选择结果时,系统会进行反复询问,这时候就会触发选择对话推荐。
因此,CR分类器可以采用分类模型,基于对话信息,可以在5种推荐类型中确定当前推荐类型。比如,当前用户应答对应的任务为订火车票且该任务成功,并且预先配置了订火车票的接续任务为查天气,则当前推荐类型为接续任务类型,之后可以生成接续任务对应的推荐应答。
通过采用预先训练的分类模型进行当前推荐类型的确定,由于分类模型是可以不断更新的,从而可以提高当前推荐类型的准确度。
206、基于所述当前推荐类型,生成所述当前推荐类型对应的当前推荐应答。
如图3所示,CR分类器确定出当前推荐类型后,可以触发CR执行器执行,CR执行器可以基于CR分类器确定出的当前推荐类型生成对应的当前推荐应答。
207、将所述当前推荐应答反馈给用户。
如图3所示,在对话推荐时,可以将推荐应答作为系统应答反馈给用户。
208、获得当前任务应答并反馈给用户。
若不触发对话推荐,则可以进行正常的任务对话流程,比如,若CR判定器判断出不触发对话推荐时,系统可以生成任务应答,之后,将任务应答作为系统应答反馈为用户。
具体地,比如,若所述特定任务的执行结果为特定任务成功,且所述特定任务不存在接续任务,则此时可以不触发对话推荐,而是生成正常的任务应答,任务应答比如上述示例中的“需要几杯”。
基于当前推荐类型生成当前推荐内容时,可以采用如下方式:基于所述当前推荐类型对应的推荐模板,和/或,包括所述当前用户应答的对话信息,生成所述当前推荐类型对应的当前推荐应答。
其中,任务配置时,可以配置多种推荐类型中各种推荐类型对应的推荐模板,推荐模板是相关场景下的各种对话信息的通用模板,之后,基于该通用的推荐模板生成当前推荐应答,比如,当前推荐类型为肯否对话推荐时,可以预先配置对应的推荐模板为“我不理解你的意思,比如可以说“是”或“否””,则在确定当前推荐类型为肯否对话推荐时,可以将该推荐模板作为当前推荐应答反馈给用户。进一步地,对应当前场景的对话信息,可以用当前场景下的对话信息中的全部或部分信息对推荐模板进行填充、过滤等处理,以生成当前场景的当前推荐应答。比如,订火车票的接续任务是查天气,则该接续任务对应的推荐模板可以是:需要查询XX的天气吗?其中的XX可以根据当前场景的对话信息进行填充,比如,订火车票时获得的目的地槽位为上海,则XX为上海。又比如,用户询问系统能力时,比如,系统能力对应的推荐模板为“我会订火车票、订饮品”,如果用户之前已经成功完成了订火车票的任务,则可以在推荐模板中删除订火车票,而是将“我会订饮品”作为当前推荐应答反馈给用户。
通过基于推荐模板和/或对话信息生成当前推荐应答,可以生成更适合当前场景的推荐应答,提高当前推荐应答的准确度。
具体地,可以包括:若所述当前推荐类型为引导新任务类型,获取所述引导新任务类型对应的推荐模板,采用所述对话信息对所述引导新任务类型对应的推荐模板进行处理,以获得处理后的推荐模板,将所述处理后的推荐模板作为所述当前推荐应答;或者,若所述当前推荐类型为引导当前任务完成类型,获取所述引导当前任务完成类型对应的推荐模板,将所述引导当前任务完成类型对应的推荐模板作为所述当前推荐应答。
其中,上述5种推荐类型中,接续任务推荐和系统能力推荐,可以认为是引导新任务类型,此时,可以基于对应的推荐模板和对话信息获得当前推荐应答;填槽对话推荐、肯否对话推荐和选择对话推荐可以任务是引导当前任务完成类型,此时,可以基于对应的推荐模板获得当前推荐应答。
通过上述不同的处理,可以快速引导用户进行新任务或者引导用户完成当前任务。
进一步地,上述5种推荐类型对应的当前推荐应答可以如下:
(1)接续任务推荐(或称为接续意图引导)。
第一种情况,任务配置中已明确定义接续意图引导规则:使用当前轮已满足的意图,在任务配置的接续意图引导规则中进行匹配,找到接下来应该引导到的下一个意图,根据意图示例问法和对话状态来生成引导话术。
第二种情况,任务配置中未定义接续意图引导规则:需要根据当前场景下已有对话日志,来进行关联意图挖掘,即当一个意图满足时,大部分用户接下来会倾向于询问哪个/哪几个意图,通过挖掘日志的方法来得到意图间的关联关系,从而形成接续意图引导规则(如果存在的话),再根据引导规则生成引导话术。
接续任务推荐对应的当前推荐应答可以如图4所示。
(2)系统能力推荐
第一种情况,用户主动询问系统能力:选取高频意图展示给用户,让用户知晓系统具备的能力。另外需要注意的一个点,当本组对话中前面有某个任务已经达成,这里在进行系统能力推荐时就应该避开已经达成的任务,避免重复推荐。如图5所示。
第二种情况,问答对匹配相似度过低导致的对话失败:综合考虑相似度及问答对出现频率来进行系统能力推荐。如图6所示。
第三种情况,超出当前系统能力边界导致的对话失败:进行当前系统的能力推荐。另外需要注意的一个点,当本组对话中前面有某个任务已经达成,这里在进行系统能力推荐时就应该避开已经达成的任务,避免重复推荐。如图7所示。
(3)填槽对话推荐
任务达成的过程中某个词槽一直没有被填充,这时候需要给用户一定的引导来促使词槽得以填充,另外在一些情况下可以展示示例词槽值帮助用户更好地理解,这个示例词槽值可以根据用户应答来动态生成(如果有的话),也可以从任务配置中获取静态值。如图8所示。
(4)肯否对话推荐
在进行肯否确认的过程中,一直没有收集到用户的肯否态度,这时候需要给用户一定的引导来促使肯否态度的表达。如图9所示。
(5)选择对话推荐
在进行多结果选择的过程中,一直没有收集到用户的选择结果,这时候需要给用户一定的引导来促使用户对列举出来的多个选项做出选择。如图10所示。
获得上述的当前推荐应答后,可以将上述当前推荐应答作为系统应答反馈给用户。
本实施例中,始终以任务型对话系统下的任务达成为目的,充分利用对话配置,并能够做到实时地进行对话推荐,很好地提升了任务完成率。通过对话推荐判定器,能够很好地判定当前轮对话是否需要使用对话推荐,在任务正常进行的过程中不进行干预,直接输出任务型对话应答;在对话发生异常的时候,才会触发对话推荐,并输出对话推荐应答。能够处理所有对话失败的情况,无论是在任务开始前,或者任务进行中,还是任务结束后,都进行了充分地考虑,对话推荐非常全面,且推荐类型非常多样。在任务进行中的对话推荐(例如:填槽对话推荐、肯否对话推荐等),不仅能够对用户进行合理地引导,让用户规范使用当前对话系统,还能够保持当前任务继续进行,促使任务达成。综合考虑了意图推荐和问答推荐两个方面,满足各种场景下的对话需求。推荐话术与用户应答衔接顺畅,保证了话术的连贯性和流畅性,人机对话体验真实。
图11是根据本公开第十一实施例的示意图,本实施例提供一种对话装置。如图11所示,对话装置1100包括:执行模块1101、确定模块1102和推荐模块1103。
执行模块1101用于基于用户输入的当前用户应答,执行所述当前用户应答对应的特定任务;确定模块1102用于若所述特定任务的执行结果触发对话推荐,在多种推荐类型中,确定所述当前用户应答对应的当前推荐类型;推荐模块1103用于基于所述当前推荐类型,生成所述当前推荐类型对应的当前推荐应答,并将所述当前推荐应答反馈给所述用户。
一些实施例中,所述装置还包括:触发模块,用于若所述执行结果为所述特定任务成功,且所述特定任务存在接续任务,确定所述特定任务的执行结果触发对话推荐;或者,若所述执行结果为所述特定任务失败,确定所述特定任务的执行结果触发对话推荐。
一些实施例中,所述确定模块1102具体用于:采用预先训练的分类模型,对包括所述当前用户应答的对话信息进行分类处理,以确定所述当前用户应答对应的当前推荐类型。
一些实施例中,所述推荐模块1103具体用于:基于所述当前推荐类型对应的推荐模板,和/或,包括所述当前用户应答的对话信息,生成所述当前推荐类型对应的当前推荐应答。
一些实施例中,所述推荐模块1103进一步具体用于:若所述当前推荐类型为引导新任务类型,获取所述引导新任务类型对应的推荐模板,采用所述对话信息对所述引导新任务类型对应的推荐模板进行处理,以获得处理后的推荐模板,将所述处理后的推荐模板作为所述当前推荐应答;或者,若所述当前推荐类型为引导当前任务完成类型,获取所述引导当前任务完成类型对应的推荐模板,将所述引导当前任务完成类型对应的推荐模板作为所述当前推荐应答。
本公开实施例中,通过在多种推荐类型中确定用户应答对应的推荐类型,可以实现在多种推荐类型中的选择,以便适用于当前场景,基于推荐类型生成对应的推荐应答,可以生成更灵活的推荐应答,更好地适用于当前场景。进一步地,基于当前用户应答生成当前推荐应答,可以实现实时推荐。
可以理解的是,本公开实施例中,不同实施例中的相同或相似内容可以相互参考。
可以理解的是,本公开实施例中的“第一”、“第二”等只是用于区分,不表示重要程度高低、时序先后等。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图12示出了可以用来实施本公开的实施例的示例电子设备1200的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字助理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图12所示,电子设备1200包括计算单元1201,其可以根据存储在只读存储器(ROM)1202中的计算机程序或者从存储单元1208加载到随机访问存储器(RAM)1203中的计算机程序,来执行各种适当的动作和处理。在RAM 1203中,还可存储电子设备1200操作所需的各种程序和数据。计算单元1201、ROM 1202以及RAM 1203通过总线1204彼此相连。输入/输出(I/O)接口1205也连接至总线1204。
电子设备1200中的多个部件连接至I/O接口1205,包括:输入单元1206,例如键盘、鼠标等;输出单元1207,例如各种类型的显示器、扬声器等;存储单元1208,例如磁盘、光盘等;以及通信单元1209,例如网卡、调制解调器、无线通信收发机等。通信单元1209允许电子设备1200通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元1201可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1201的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元1201执行上文所描述的各个方法和处理,例如对话方法。例如,在一些实施例中,对话理解方法或者对话方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1208。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1202和/或通信单元1209而被载入和/或安装到电子设备1200上。当计算机程序加载到RAM 1203并由计算单元1201执行时,可以执行上文描述的对话方法的一个或多个步骤。备选地,在其他实施例中,计算单元1201可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行对话方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务("Virtual Private Server",或简称"VPS")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:一种数据查询方法、装置和设备