一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

对话方法、装置、设备和存储介质与流程

2022-03-19 14:43:45 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,特别是涉及一种对话方法和装置、一种电子设备和一种存储介质。


背景技术:

2.随着大数据和深度学习技术的发展,人机对话因其潜在的潜力和商业价值而受到越来越多的关注,对话系统应运而生,且深度学习技术的不断进步极大地推动了对话系统的发展。
3.具体来说,对话系统大致可分为两种:任务导向型(task-oriented)对话系统以及非任务导向型(non-task-oriented)对话系统,非任务导向型对话系统也称为聊天机器人。
4.目前,大多数的任务导向型对话系统是基于结构化的知识库(例如知识表)进行对话状态跟踪和对话策略学习,使得任务导向型对话系统只能处理特定范围的问题。然而,在实际应用场景的对话过程中,用户通常会询问知识表并没有覆盖的内容。目前应对该情况的常见的解决方案是利用预定义的系统拒识回复,如“不好意思我没有理解”等,然后引导用户继续问知识表中存在的知识,或者人工将这些新问题整理至知识表中。
5.上述解决方案在一定程度上解决了问题,但是对于线上交互的用户来说,其提问的信息并没有得到有效的应答回复。因此,基于结构化知识库的对话系统,应答成功率较低。


技术实现要素:

6.本技术实施例提供了一种对话方法,以解决现有技术中,基于结构化知识库的对话系统,应答成功率较低的问题。
7.相应的,本技术实施例还提供了一种对话装置、一种电子设备以及一种存储介质,用以保证上述方法的实现及应用。
8.为了解决上述问题,本技术实施例公开了一种对话方法,所述方法包括:
9.获取第一会话消息的会话参数信息,所述会话参数信息至少包括主题信息以及历史会话消息;根据所述主题信息,查找与所述主题信息关联的备选文本;所述备选文本为外部知识文本;
10.根据所述备选文本、所述第一会话消息以及所述历史会话消息,生成所述第一会话消息的应答消息。
11.本技术实施例还公开了一种应答消息生成方法,所述方法包括:
12.获取第一提问消息的会话参数信息,所述会话参数信息至少包括主题信息以及历史会话消息;
13.根据所述主题信息,查找与所述主题信息关联的备选文本;所述备选文本为外部知识文本;
14.根据所述备选文本、所述第一提问消息以及所述历史会话消息,生成所述第一提
问消息的应答消息。
15.本技术实施例还公开了一种对话装置,所述装置包括:
16.参数获取模块,用于获取第一会话消息的会话参数信息,所述会话参数信息至少包括主题信息以及历史会话消息;
17.文本查找模块,用于根据所述主题信息,查找与所述主题信息关联的备选文本;所述备选文本为外部知识文本;
18.消息生成模块,用于根据所述备选文本、所述第一会话消息以及所述历史会话消息,生成所述第一会话消息的应答消息。
19.本技术实施例还公开了一种应答消息生成装置,所述装置包括:
20.信息获取模块,用于获取第一提问消息的会话参数信息,所述会话参数信息至少包括主题信息以及历史会话消息;
21.查找模块,用于根据所述主题信息,查找与所述主题信息关联的备选文本;所述备选文本为外部知识文本;
22.应答生成模块,用于根据所述备选文本、所述第一提问消息以及所述历史会话消息,生成所述第一提问消息的应答消息。
23.本技术实施例还公开了一种电子设备,包括:处理器;和存储器,其上存储有可执行代码,当所述可执行代码被执行时,使得所述处理器执行如本技术实施例中一个或多个所述的方法。
24.本技术实施例还公开了一个或多个机器可读存储介质,其上存储有可执行代码,当所述可执行代码被执行时,使得处理器执行如本技术实施例中一个或多个所述的方法。
25.与现有技术相比,本技术实施例包括以下优点:
26.在本技术实施例中,获取第一会话消息的会话参数信息,所述会话参数信息至少包括主题信息以及历史会话消息;根据所述主题信息,查找与所述主题信息关联的备选文本;根据所述备选文本、所述第一会话消息以及所述历史会话消息,生成所述第一会话消息的应答消息,结合外部知识文本,扩充任务导向型对话可处理的问题范围,提高系统应对用户新问题的应答能力,提升对话系统的应答成功率。
附图说明
27.图1是本技术实施例的一种对话方法的场景示意图;
28.图2是本技术的实施例的第四示例的示意图;
29.图3是本技术的实施例的第五示例的示意图;
30.图4是本技术的实施例的第六示例的示意图;
31.图5是本技术的一种对话方法实施例的步骤流程图;
32.图6是本技术的一种应答消息生成方法实施例的步骤流程图;
33.图7是本技术的一种对话装置实施例的结构框图;
34.图8是本技术的一种应答消息生成装置实施例的结构框图;
35.图9是本技术一实施例提供的装置的结构示意图。
具体实施方式
36.为使本技术的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本技术作进一步详细的说明。
37.本技术的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
38.本技术实施例可应用于例如对话系统、客服系统等对话应答领域,通过引入外部知识库,通过扩充生成应答消息的备选文本的选择范围,扩大任务导向型对话可处理的问题范围;且外部知识库中的非结构化文本,不受文本类型的限制,可以使用多种类型的文本作为备选文本,例如问答对、文档、广告以及用户评论等。结合外部知识文本,扩充任务导向型对话可处理的问题范围,提高系统应对用户新问题的应答能力,提升对话系统的应答成功率。
39.具体地,任务导向型对话系统是对话系统的一个主要分支,其主要包括四个关键组成部分,分别为:自然语言理解(natural language understanding,nlu)、对话状态跟踪(dialogue state tracker,dst)、对话策略学习(dialogue policy learning)以及自然语言生成(natural language generation,nlg)。
40.自然语言理解将用户输入解析为预定义的语义槽,比如对于一个话语,自然语言理解将其映射为语义槽,而插槽是根据不同的场景预先定义的。对话状态跟踪是确保对话系统健壮性的核心组件,它在对话的每一轮次对用户的目标进行预估,管理每个回合的输入和对话历史,输出当前对话状态。对话策略学习用于根据状态跟踪器的状态标识,生成下一个可用的系统操作。自然语言生成用于选择操作进行映射并生成回复消息,即应答消息。本技术实施例中,在对话状态跟踪和对话策略学习的过程中,基于外部知识库查找相关文本,并生成应答消息;结合图1,本技术实施例提供一种对话方法,图1中以所述方法应用于对话系统为例,所述对话系统可以是客户服务系统,例如各种购物应用程序(application,app)的客服系统,或运营商、银行等客服系统。
41.在步骤101中,获取第一会话消息的会话参数信息,所述会话参数信息至少包括主题信息以及历史会话消息。
42.第一会话消息例如用户或客户端输入的消息,例如提问消息等;作为第一示例,用户在购物app中询问商品客服,询问商品的相关信息,比如用户输入“请问此商品适合年轻人吗?”则所询问的信息“请问此商品适合年轻人吗?”为第一会话消息;作为第二示例,用户在生活服务类app中输入:“a地附近有便宜的吃馄饨的地方”,则“我想订a地附近便宜的吃馄饨的地方”为第一会话消息;作为第三示例,用户在团购类网站中输入“最近有什么新的评分不错的电影”,则“最近有什么新的评分不错的电影”为第一会话消息。
43.对话系统在接收到第一会话消息后,提取会话参数信息,会话参数信息包括主题信息以及历史会话消息;主题信息即第一会话消息中的事件主题,如餐馆实体名、话题、领域等;通过提取第一会话消息的主题信息,了解用户所询问的第一会话信息的目的,比如上述第一示例中,主题信息为“商品是否适合年轻人”;上述第二示例中,主题信息为“附近便宜的吃馄饨的地方”;上述第三示例中,主题信息为“新的评分不错的电影”。
44.历史会话消息为第一会话消息的历史消息,例如选择第一会话消息前预设数目条
消息作为历史会话消息,比如选择第一会话消息前十条用户输入的消息,或者包括对话系统发出的消息作为历史会话消息,用以对第一会话消息做进一步的识别,以便了解用户的需求。
45.结合图1,用户输入第一会话消息,对话系统从第一会话消息中获取主题信息。
46.步骤102,根据所述主题信息,查找与所述主题信息关联的备选文本;所述备选文本为外部知识文本。
47.外部知识文本可包括非结构化文本,即以文本作为数据形式的非结构化的数据;可以理解的是,外部知识文本可以包括非结构化文本,也可能包括结构化文本,例如网页中的文档的标题、作者等。如图1所示,非结构化文本包括问答对、网页、广告、文档等。
48.外部知识文本可以来自于外部网站,比如一些购物类网站或生活服务类网站,比如上述第二示例中,用户希望查询附近便宜的吃馄饨的地方,则对话系统可从外部知识文本中的生活服务类网站中的非结构化文本,提取与第二示例相关的备选文本,例如一些商家的广告信息、优惠信息、以及用户评价信息等;对话系统根据用户的需求,查找外部知识文本中的a地的食品有馄饨的商家,并且获取商家的广告信息或者优惠信息,判断是否存在当前时间内的优惠商品,或者从该商家的用户评价信息中查找是否有与“便宜”相关的评论信息,将与主题信息相关的非结构化文本作为备选文本,用于后续应答消息的生成。
49.外部知识文本还可以包括来自一些外部app中的文本,例如购物app中的用户评论信息,生活服务类app中的广告信息、优惠信息等。比如,上述比如上述第一示例中,主题信息为“商品是否适合年轻人”,则对话系统可将购物类app中与该商品相关的评论信息、介绍信息中,与“适合”“年龄段”等相关的文本信息作为备选文本。
50.结合图1,对话系统将主题信息输入至外部知识文本(或用于存储外部知识文本的外部文本库)中,并在外部知识文本中为主题信息粗召回一些备选文本,例如,根据外部知识文本与主题信息的关联程度或匹配程度,选择关联程度或匹配程度较高的外部知识文本作为备选文本。
51.这样,融合外部知识中的结构化文本和/或非结构化文本,以扩大任务导向型对话系统可处理的问题范围,从而提升对话系统应对用户新问题的能力。
52.可选的,可设定一外部知识库,用于存储外部知识文本。
53.步骤103,根据所述备选文本、所述第一会话消息以及所述历史会话消息,生成所述第一会话消息的应答消息。
54.可选的,可通过会话生成器生成应答消息;结合图1,对话系统对备选文本、历史会话消息以及第一会话消息执行会话生成,比如将三者均输入至预设的会话生成器,通过会话生成器生成应答消息。会话生成器执行预设的会话生成算法,会话生成算法例如transformer算法,利用注意力机制生成出合理的回复消息,即应答消息;这样,在生成第一会话的应答消息的过程中,结合外部知识文本中的非结构化文本,以提升应答消息解决问题的能力。
55.在对话型任务系统的实际应用场景中,用户的表达是不受限制的,比如用户可能会问“能否带宠物”,“今天有什么优惠活动”,“可以定包间吗”“你们还招人吗?”等等知识表中不包含的新问题。对于这些结构化知识库中不包含的新问题,现有技术中难以使用户得到有效的应答回复,本技术实施例中,在与用户对话的过程中,对于结构化知识库中不包含
的问题,结合外部知识文本生成应答消息。
56.比如,上述第一示例中,对话系统采将购物类app或购物类网站中与该商品相关的评论信息、介绍信息中,与“适合”“年龄段”等相关的文本信息作为备选文本,将备选文本、第一会话消息以及历史会话消息均作为输入内容,输入至会话生成器,会话生成器生成应答消息,应答消息比如:“此商品不适合年轻人”。
57.比如上述第二示例中,用户希望查询附近便宜的吃馄饨的地方,则对话系统可从外部知识文本中的生活服务类网站中的非结构化文本,提取与第二示例相关的备选文本,例如一些商家的广告信息、优惠信息、以及用户评价信息等;具体的,对话系统根据用户的需求,查找外部知识文本中的a地的食品有馄饨的商家,并且获取商家的广告信息或者优惠信息,判断是否存在当前时间内的优惠商品,或者从该商家的用户评价信息中查找是否有与“便宜”相关的评论信息,将与主题信息相关的非结构化文本作为备选文本,将备选文本、第一会话消息以及历史会话消息均作为输入内容,输入至会话生成器,会话生成器生成应答消息,应答消息比如:“为您找到品牌b”。若用户继续输入:“品牌b在a市共有多少家店”,则“品牌b在a地共有多少家店”作为新的第一会话消息,对话系统继续为新的第一对话消息生成应答消息,比如应答消息为“品牌b在a地共有50家店”,这样,通过外部知识文本中的非结构化文本,提升对话系统应对用户新问题的能力。
58.比如上述第三示例中,用户输入“最近有什么新的评分不错的电影”,则对话系统可从外部知识文本中的生活服务类网站中的非结构化文本,提取与最近评分不错的电影相关的备选文本,例如一些购票网站、app中的评论信息,一些点评类网站中的电影点评等;对话系统根据用户的需求,查找外部知识文本中的非结构化文本,并且获取近期上映的电影的评分或者评论信息等,将与主题信息相关的非结构化文本作为备选文本,将备选文本、第一会话消息以及历史会话消息均作为输入内容,输入至会话生成器,会话生成器生成应答消息,应答消息比如:“为您找到电影c”。若用户继续输入:“电影c的主演是谁”,则“电影c的主演是谁”作为新的第一会话消息,对话系统继续为新的第一对话消息生成应答消息,比如应答消息为
““
电影c的主演包括演员d”。
59.本技术实施例中,获取第一会话消息的会话参数信息,所述会话参数信息至少包括主题信息以及历史会话消息;根据所述主题信息,查找与所述主题信息关联的备选文本;根据所述备选文本、所述第一会话消息以及所述历史会话消息,生成所述第一会话消息的应答消息,结合外部知识文本,扩充任务导向型对话可处理的问题范围,提高系统应对用户新问题的应答能力,提升对话系统的应答成功率;本技术实施例解决现有技术中,基于结构化知识库的对话系统,应答成功率较低的问题。
60.在一个可选实施例中,所述外部知识文本包括:目标来源处获取的文本。
61.外部知识文本可包括非结构化文本,即以文本作为数据形式的非结构化的数据,例如字符、数字、标点、各种可打印的符号等;如图1所示,非结构化文本包括问答对、网页、广告、文档等。所述外部知识文本从目标来源处获取的文本;
62.可选的,若预先设置有外部知识库,外部知识库中可包括:预先存储在所述外部知识库中的文本和/或从目标来源处获取的文本。外部知识库中可预先存储文本,比如,外部知识库可定期更新其中的非结构化文本,比如定期从外部网站或app中获取非结构化文本,在为主题信息匹配备选文本的过程中,可在外部知识库中搜索预先存储的文本;比如,外部
知识库可按照预设的更新周期定期从生活服务类网站中获取非结构化文本,例如一些购票网站、app中的评论信息,一些点评类网站中的电影点评等;在接收到例如第三示例中的第一会话消息后,对话系统从预先存储的非结构化文本,提取与最近评分不错的电影相关的备选文本,查找外部知识库中的非结构化文本,获取近期上映的电影的评分或者评论信息等,可以理解的是,更新周期可设定的短一些,比如几个小时。
63.所述目标来源包括目标应用程序以及目标网站中的至少一种。从目标来源处获取的文本即在对话系统接收到第一会话消息之后,从目标来源处实时获取的文本,比如上述第二示例中,用户在生活服务类app中输入:“a地附近有便宜的吃馄饨的地方”,则对话系统可实时从生活服务类网站、app中的获取与a地附近便宜的吃馄饨的地方关联的非结构化文本添加到外部知识文本中,提取与第二示例相关的备选文本,例如一些商家的广告信息、优惠信息、以及用户评价信息等;这样,若外部知识文本中预先存储的非结构化文本的数量较少,或与主体的关联程度较低时,可实时从目标来源处继续获取非结构化文本。
64.在一个可选实施例中,所述外部知识文本包括网页资讯、应用程序内部推送消息、问答对以及文档中的至少一种。
65.网页资讯例如与所述主题信息关联的网页资讯,例如新闻资讯;应用程序的内部推送消息,比如在应用程序的使用期间或后台运行期间内的推送消息;问答对是一种相邻语对(adjacency pair),指两个说话人依次分别说出的意义互相呼应的话语,比如常见的一问一答即为一个问答对。
66.仍然参考上述第二示例,用户在生活服务类app中输入:“a地附近有便宜的吃馄饨的地方”,则对话系统可实时从生活服务类网站、app中的获取与a地附近便宜的吃馄饨的地方关联的非结构化文本添加到外部知识文本中;所述外部知识文本包括与主题信息相关的网页资讯、应用程序内部推送消息、问答对以及文档中的至少一种。
67.在一个可选实施例中,所述根据所述主题信息,查找与所述主题信息关联的备选文本,包括:
68.步骤1021,对外部知识文本进行分割,得到字符数目小于预设字数阈值的短文本。
69.预设字数阈值为正整数,比如为20;若外部知识文本的字数较多时,比如超过预设字数阈值,为了避免较长的文本难以进行语义理解,对外部知识文本进行分割,得到字符数目小于预设字数阈值,符合字数要求的短文本。比如,上述第二示例中,获取到外部文本为“a地比较不错的馄饨店有e、f、g三家,其中,e家与g家的人均消费较高,性价比偏低,而f家的价位较为合理”,此时将该外部文本切分为如下三个短文本:“a地比较不错的馄饨店有e、f、g三家”“e家与g家的人均消费较高,性价比偏低”“f家的价位较为合理”,这样,在对三个短文本进行语义解析将较为容易,可提高确定与主题信息的匹配程度时的精确度。
70.若非结构化文本中存在问答对,则一对问答对可作为一个短文本。
71.步骤1022,将所述短文本与所述主题信息进行匹配,得到匹配度满足预设匹配度阈值的备选文本。
72.完成短文本切割后,分别将所述短文本与所述主题信息进行匹配,以筛选得到匹配度满足预设匹配度阈值的备选文本;可选地,可通过预设的第一匹配器可执行预设的匹配算法,将所述短文本与所述主题信息进行匹配;匹配算法例如bm25算法;具体的,bm25是一种用来评价搜索词和文档之间相关性的算法,是一种基于概率检索模型提出的算法,比
如,第一匹配器执行bm25算法时,依据主题信息与所有短文本之间的相关性、主题信息与每篇短文本之间的相关性以及每篇短文本的权重,确定每个短文本与主体信息之间的匹配度,并选择匹配度满足预设匹配度阈值的短文本作为备选文本。
73.在一个可选实施例中,所述根据所述备选文本、所述第一会话消息以及所述历史会话消息,生成所述第一会话消息的应答消息,包括:
74.步骤1031,确定所述备选文本与所述第一会话消息以及所述历史会话消息的匹配程度参数。
75.可选的,在确定备选文本后,可利用第二匹配器,将备选文本与第一会话消息以及所述历史会话消息匹配,得到匹配程度参数,即对每个备选文本进行打分;可选的,第二匹配器可可以为一个基于bert的二分类器,bert是双向transformer的encoder(bidirectional encoder representation from transformers,bert)。
76.步骤1032,根据所述匹配程度参数,从所述备选文本中选择目标文本。
77.得到匹配参数之后,根据匹配参数由高到低选择目标文本,比如若备选文本的数量大于最大数量阈值,则根据匹配程度参数由高到低选择匹配程度较高的作为目标文本,以减少备选文本的数量,降低计算的复杂度,提升计算的精确度。
78.步骤1033,根据所述目标文本以及所述历史会话消息,生成所述第一会话消息的应答消息。
79.得到目标文本之后,根据所述目标文本以及所述历史会话消息,生成所述第一会话消息的应答消息;可选的,可将所述目标文本以及所述历史会话消息输入至预设的会话生成器,生成所述第一会话消息的应答消息;会话生成器执行预设的会话生成算法,会话生成算法例如transformer算法,利用注意力机制生成出合理的回复消息,即应答消息;这样,在生成第一会话的应答消息的过程中,结合外部知识文本中的非结构化文本,以提升应答消息解决问题的能力。
80.在一个可选实施例中,步骤1031包括:
81.步骤10311,将所述第一会话消息以及所述历史会话消息作为第一文本,将所述备选文本作为第二文本。
82.可将第一文本,第二文本,分别输入至预设的第二匹配器,得到每个第二文本与第一文本之间的匹配程度参数。
83.作为第四示例,结合图2,图2所示为bert模型示意图;其中,cls指示用户的输入,s1至sn表示第一文本,即第一会话消息以及所述历史会话消息;sep指示系统的应答回复,x1至xm表示m个备选文本;r(rcls至rk)表示匹配程度参数(即打分),也可称为相似度,相似度即第二匹配器的输出概率值。
84.比如,r1表示s1与第一会话消息以及所述历史会话消息的匹配程度参数,
……
rk表示xm与第一会话消息以及所述历史会话消息的匹配程度参数。第一文本、第二文本与r之间的网络表示全连接网络。
85.步骤10312,获取所述第一文本和所述第二文本之间的匹配程度参数,所述匹配程度参数为所述备选文本与所述第一会话消息以及所述历史会话消息的匹配程度参数。
86.比如,参考上述第二示例,历史会话消息如下:
87.用户:我想定a地便宜的吃馄饨的地方;
88.系统:为您找到b品牌;
89.当前用户语句(第一会话信息)为:b品牌全a地有多少家店?
90.外部知识文本中通过bm25算法得到和第一会话信息相关的候选短文本有:
91.1.(来自网页段落)b品牌是a地x有限公司旗下的快餐连锁品牌,开办团队分别来自h地、i地、f地。
92.2.(来自网页段落)b品牌品牌受众定位于中高收入年轻一代群体,在a地开设50余家直营餐厅。
93.3.(来自问答对)问(q):b品牌的愿景;答(a):让b品牌的服务遍布全球。
94.将历史会话消息和第一会话信息以及各个短文本分别输入bert,一一进行打分。
95.比如,将针对短文本1,利用预设令牌(token)拼接后的完整句子为“[cls]用户:我想定a地便宜的吃

多少家店?;
[0096]
[sep]b品牌是a地x有限公司旗下的快餐连锁品牌,开办团队分别来自h地、i地、f地”;
[0097]
将这个句子送入bert模型,输出r_cls向量经过另外一个全连接网络得到一个二分类的输出概率作为第一文本和第二文本x1之间匹配程度参数。每个短文本都经过bert打分后,根据得分进行一个重新的排序,取前k个短文本作为下一个模块的输入,下一个模块即会话生成器。
[0098]
在一个可选实施例中,步骤1033包括:
[0099]
步骤10331,将所述第一会话消息以及所述历史会话消息作为第三文本,将所述目标文本作为第四文本。
[0100]
会话生成器可以是一个基于transformer的生成模型,将第一会话消息以及所述历史会话消息和目标文本拼接在一起,利用transformer进行编码和解码得到系统回复,系统回复即应答消息。
[0101]
步骤10332,根据所述第三文本和所述第四文本生成应答消息。
[0102]
作为第五示例,结合图3,图3所示为会话生成器的模型示意图,其中包括一bret模型和一解码器模型,将第三文本与第四文本输入至bret模型,并经由解码器模型输出应答消息。
[0103]
比如,将短文本2“b品牌品牌受众定位于中高收入年轻一代群体,在a地开设50余家直营餐厅”选为了匹配程度参数最高的短文本,在bret模型进行知识融合的过程中,根据对话上下文(历史会话信息)和目标短文本中的答案生成出流畅自然的表达。
[0104]
此时,transformer模型的编码器依然是一个bert,输入的第三文本为对话历史(历史会话信息) 当前轮用户语句(第一会话信息),输入的第四文本为topk个短文本(目标文本);以k=1为例,那么bert模型的完整输入为:
[0105]“cls]用户:我想定a地便宜的吃

多少家店?
[0106]
[sep]b品牌

50余家直营餐厅”;
[0107]
bret模型输出的向量序列作为解码器模型的输入,按照transformer模型的标准流程,利用注意力机制生成出合理的回复,如“b品牌在全a地开设了50余家直营餐厅”;
[0108]
此时,整个对话过程如下:
[0109]
用户:我想定a地便宜的吃馄饨的地方;
[0110]
系统:为您找到b品牌;
[0111]
用户:b品牌全a地有多少家店?
[0112]
系统:b品牌在全a地市开设了50余家直营餐厅。
[0113]
这样,对于在知识表外的问题,也可成功答复用户。
[0114]
在一个可选实施例中,所述方法还包括:
[0115]
步骤104,将所述第一会话消息输入至预设的识别器,识别与所述第一会话消息对应的目标知识;所述目标知识包括所述外部知识文本或结构化知识文本。
[0116]
识别器用于识别当前的第一会话消息适用于的目标知识,作为第六示例,如图4所示,识别器接收第一会话消息,判断第一会话消息对应的目标知识,比如首先判断基于结构化知识库的对话处理器是否可回答第一会话消息的问题,若可以,则目标知识为结构化知识库中的文本,执行步骤106;否则,执行步骤105。
[0117]
步骤105,若所述目标知识包括所述外部知识文本,获取第一会话消息的会话参数信息,并跳转至步骤101,以及执行步骤101的后续步骤。
[0118]
将第一会话消息依次输入至主题识别模块进行主题识别,然后进行知识抽取,选择目标文本,最终生成应答消息。
[0119]
步骤106,若所述目标知识包括所述结构化知识文本,对所述第一会话消息进行会话处理,生成所述第一会话消息的应答消息。
[0120]
将第一会话消息依次输入至自然语言理解模块、对话状态跟踪模块、对话策略学习模块,最终生成自然语言(应答消息)。
[0121]
这样,在对话系统接收到用户输入的第一会话消息后,首先选择目标知识,判断基于结构化知识库的对话处理器是否可解答第一会话消息;若无法解答,再输入至基于外部知识文本的对话处理器,生成应答消息,融合外部知识中的结构化文本和/或非结构化文本,以对话系统可处理的问题范围,从而提升对话系统应对用户新问题的能力。
[0122]
本技术实施例中,获取第一会话消息的会话参数信息,所述会话参数信息至少包括主题信息以及历史会话消息;根据所述主题信息,查找与所述主题信息关联的备选文本;根据所述备选文本、所述第一会话消息以及所述历史会话消息,生成所述第一会话消息的应答消息,结合外部知识文本,扩充任务导向型对话可处理的问题范围,提高系统应对用户新问题的应答能力,提升对话系统的应答成功率;本技术实施例解决现有技术中,基于结构化知识库的对话系统,应答成功率较低的问题。
[0123]
参照图5,示出了本技术实施例的一种对话方法实施例的步骤流程图,所述方法可应用于例如对话系统、客服系统等对话应答领域,通过引入外部知识库,通过扩充生成应答消息的备选文本的选择范围,扩大任务导向型对话可处理的问题范围;且外部知识库中的非结构化文本,不受文本类型的限制,可以使用多种类型的文本作为备选文本,例如问答对、文档、广告以及用户评论等。结合外部知识文本,扩充任务导向型对话可处理的问题范围,提高系统应对用户新问题的应答能力,提升对话系统的应答成功率。
[0124]
参见图5,所述方法包括以下步骤:
[0125]
步骤501,获取第一会话消息的会话参数信息,所述会话参数信息至少包括主题信息以及历史会话消息。
[0126]
第一会话消息例如用户或客户端输入的消息,例如提问消息等;作为第一示例,用
户在购物app中询问商品客服,询问商品的相关信息,比如用户输入“请问此商品适合年轻人吗?”则所询问的信息“请问此商品适合年轻人吗?”为第一会话消息;作为第二示例,用户在生活服务类app中输入:“a地附近有便宜的吃馄饨的地方”,则“我想订a地附近便宜的吃馄饨的地方”为第一会话消息;作为第三示例,用户在团购类网站中输入“最近有什么新的评分不错的电影”,则“最近有什么新的评分不错的电影”为第一会话消息。
[0127]
对话系统在接收到第一会话消息后,提取会话参数信息,会话参数信息包括主题信息以及历史会话消息;主题信息即第一会话消息中的事件主题,如餐馆实体名、话题、领域等;通过提取第一会话消息的主题信息,了解用户所询问的第一会话信息的目的,比如上述第一示例中,主题信息为“商品是否适合年轻人”;上述第二示例中,主题信息为“附近便宜的吃馄饨的地方”;上述第三示例中,主题信息为“新的评分不错的电影”。
[0128]
历史会话消息为第一会话消息的历史消息,例如选择第一会话消息前预设数目条消息作为历史会话消息,比如选择第一会话消息前十条用户输入的消息,或者包括对话系统发出的消息作为历史会话消息,用以对第一会话消息做进一步的识别,以便了解用户的需求。
[0129]
步骤502,根据所述主题信息,查找与所述主题信息关联的备选文本;所述备选文本为外部知识文本。
[0130]
外部知识文本可包括非结构化文本,即以文本作为数据形式的非结构化的数据;可以理解的是,外部知识文本可以包括非结构化文本,也可能包括结构化文本,例如网页中的文档的标题、作者等。如图1所示,非结构化文本包括问答对、网页、广告、文档等。
[0131]
外部知识文本可以来自于外部网站,比如一些购物类网站或生活服务类网站,比如上述第二示例中,用户希望查询附近便宜的吃馄饨的地方,则对话系统可从外部知识文本中的生活服务类网站中的非结构化文本,提取与第二示例相关的备选文本,例如一些商家的广告信息、优惠信息、以及用户评价信息等;对话系统根据用户的需求,查找外部知识文本中的a地的食品有馄饨的商家,并且获取商家的广告信息或者优惠信息,判断是否存在当前时间内的优惠商品,或者从该商家的用户评价信息中查找是否有与“便宜”相关的评论信息,将与主题信息相关的非结构化文本作为备选文本,用于后续应答消息的生成。
[0132]
外部知识文本还可以包括来自一些外部app中的文本,例如购物app中的用户评论信息,生活服务类app中的广告信息、优惠信息等。比如,上述比如上述第一示例中,主题信息为“商品是否适合年轻人”,则对话系统可将购物类app中与该商品相关的评论信息、介绍信息中,与“适合”“年龄段”等相关的文本信息作为备选文本。
[0133]
结合图1,对话系统将主题信息输入至外部知识文本中,并在外部知识文本中为主题信息粗召回一些备选文本,例如,根据外部知识文本与主题信息的关联程度或匹配程度,选择关联程度或匹配程度较高的外部知识文本作为备选文本。
[0134]
这样,融合外部知识中的结构化文本和/或非结构化文本,以扩大任务导向型对话系统可处理的问题范围,从而提升对话系统应对用户新问题的能力。
[0135]
可选的,可设定一外部知识库,用于存储外部知识文本。
[0136]
步骤503,根据所述备选文本、所述第一会话消息以及所述历史会话消息,生成所述第一会话消息的应答消息。
[0137]
可选的,可通过会话生成器生成应答消息;结合图1,对话系统对备选文本、历史会
话消息以及第一会话消息执行会话生成,比如将三者均输入至预设的会话生成器,通过会话生成器生成应答消息。会话生成器执行预设的会话生成算法,会话生成算法例如transformer算法,利用注意力机制生成出合理的回复消息,即应答消息;这样,在生成第一会话的应答消息的过程中,结合外部知识文本中的非结构化文本,以提升应答消息解决问题的能力。
[0138]
在对话型任务系统的实际应用场景中,用户的表达是不受限制的,比如用户可能会问“能否带宠物”,“今天有什么优惠活动”,“可以定包间吗”“你们还招人吗?”等等知识表中不包含的新问题。对于这些结构化知识库中不包含的新问题,现有技术中难以使用户得到有效的应答回复,本技术实施例中,在与用户对话的过程中,对于结构化知识库中不包含的问题,结合外部知识文本生成应答消息。
[0139]
比如,上述第一示例中,对话系统采将购物类app或购物类网站中与该商品相关的评论信息、介绍信息中,与“适合”“年龄段”等相关的文本信息作为备选文本,将备选文本、第一会话消息以及历史会话消息均作为输入内容,输入至会话生成器,会话生成器生成应答消息,应答消息比如:“此商品不适合年轻人”。
[0140]
比如上述第二示例中,用户希望查询附近便宜的吃馄饨的地方,则对话系统可从外部知识文本中的生活服务类网站中的非结构化文本,提取与第二示例相关的备选文本,例如一些商家的广告信息、优惠信息、以及用户评价信息等;具体的,对话系统根据用户的需求,查找外部知识文本中的a地的食品有馄饨的商家,并且获取商家的广告信息或者优惠信息,判断是否存在当前时间内的优惠商品,或者从该商家的用户评价信息中查找是否有与“便宜”相关的评论信息,将与主题信息相关的非结构化文本作为备选文本,将备选文本、第一会话消息以及历史会话消息均作为输入内容,输入至会话生成器,会话生成器生成应答消息,应答消息比如:“为您找到品牌b”。若用户继续输入:“品牌b在a市共有多少家店”,则“品牌b在a地共有多少家店”作为新的第一会话消息,对话系统继续为新的第一对话消息生成应答消息,比如应答消息为“品牌b在a地共有50家店”,这样,通过外部知识文本中的非结构化文本,提升对话系统应对用户新问题的能力。
[0141]
比如上述第三示例中,用户输入“最近有什么新的评分不错的电影”,则对话系统可从外部知识文本中的生活服务类网站中的非结构化文本,提取与最近评分不错的电影相关的备选文本,例如一些购票网站、app中的评论信息,一些点评类网站中的电影点评等;对话系统根据用户的需求,查找外部知识文本中的非结构化文本,并且获取近期上映的电影的评分或者评论信息等,将与主题信息相关的非结构化文本作为备选文本,将备选文本、第一会话消息以及历史会话消息均作为输入内容,输入至会话生成器,会话生成器生成应答消息,应答消息比如:“为您找到电影c”。若用户继续输入:“电影c的主演是谁”,则“电影c的主演是谁”作为新的第一会话消息,对话系统继续为新的第一对话消息生成应答消息,比如应答消息为
““
电影c的主演包括演员d”。
[0142]
在一个可选实施例中,所述外部知识文本包括:从目标来源处获取的文本。
[0143]
在一个可选实施例中,所述目标来源包括目标应用程序以及目标网站中的至少一种。
[0144]
在一个可选实施例中,所述外部知识文本包括网页资讯、应用程序内部推送消息、问答对以及文档中的至少一种。
[0145]
在一个可选实施例中,所述根据所述主题信息,查找与所述主题信息关联的备选文本,包括:
[0146]
对外部知识文本进行分割,得到字符数目小于预设字数阈值的短文本;
[0147]
将所述短文本与所述主题信息进行匹配,得到匹配度满足预设匹配度阈值的备选文本。
[0148]
在一个可选实施例中,所述根据所述备选文本、所述第一会话消息以及所述历史会话消息,生成所述第一会话消息的应答消息,包括:
[0149]
确定所述备选文本与所述第一会话消息以及所述历史会话消息的匹配程度参数;
[0150]
根据所述匹配程度参数,从所述备选文本中选择目标文本;
[0151]
根据所述目标文本以及所述历史会话消息,生成所述第一会话消息的应答消息。
[0152]
在一个可选实施例中,所述确定所述备选文本与所述第一会话消息以及所述历史会话消息的匹配程度参数,包括:
[0153]
将所述第一会话消息以及所述历史会话消息作为第一文本,将所述备选文本作为第二文本,分别输入至预设的第二匹配器;
[0154]
获取所述第一文本和所述第二文本之间的匹配程度参数,所述匹配程度参数为所述备选文本与所述第一会话消息以及所述历史会话消息的匹配程度参数。
[0155]
在一个可选实施例中,所述根据所述目标文本以及所述历史会话消息,生成所述第一会话消息的应答消息,包括:
[0156]
将所述第一会话消息以及所述历史会话消息作为第三文本,将所述目标文本作为第四文本;
[0157]
根据所述第三文本和所述第四文本生成应答消息。
[0158]
在一个可选实施例中,所述方法包括:
[0159]
将所述第一会话消息输入至预设的识别器,识别与所述第一会话消息对应的目标知识;所述目标知识包括所述外部知识文本或结构化知识文本;
[0160]
若所述目标知识包括所述外部知识文本,获取第一会话消息的会话参数信息;
[0161]
若所述目标知识包括所述结构化知识文本,对所述第一会话消息进行会话处理,生成所述第一会话消息的应答消息。
[0162]
本技术实施例中,获取第一会话消息的会话参数信息,所述会话参数信息至少包括主题信息以及历史会话消息;根据所述主题信息,查找与所述主题信息关联的备选文本;根据所述备选文本、所述第一会话消息以及所述历史会话消息,生成所述第一会话消息的应答消息,结合外部知识文本,扩充任务导向型对话可处理的问题范围,提高系统应对用户新问题的应答能力,提升对话系统的应答成功率;本技术实施例解决现有技术中,基于结构化知识库的对话系统,应答成功率较低的问题。
[0163]
在上述实施例的基础上,本技术实施例还提供了一种应答消息生成方法,能解决现有技术中,基于结构化知识库的对话系统,应答成功率较低的问题。所述方法可应用于例如对话系统、客服系统等对话应答领域,通过引入外部知识库,通过扩充生成应答消息的备选文本的选择范围,扩大任务导向型对话可处理的问题范围;且外部知识库中的非结构化文本,不受文本类型的限制,可以使用多种类型的文本作为备选文本,例如问答对、文档、广告以及用户评论等。结合外部知识文本,扩充任务导向型对话可处理的问题范围,提高系统
应对用户新问题的应答能力,提升对话系统的应答成功率。
[0164]
参照图6,示出了本技术的一种应答消息生成方法实施例的步骤流程图,所述方法包括:
[0165]
步骤601,获取第一提问消息的会话参数信息,所述会话参数信息至少包括主题信息以及历史会话消息。
[0166]
第一提问消息例如用户或客户端输入的消息,例如提问消息等;作为第一示例,用户在购物app中询问商品客服,询问商品的相关信息,比如用户输入“请问此商品适合年轻人吗?”则所询问的信息“请问此商品适合年轻人吗?”为第一提问消息;作为第二示例,用户在生活服务类app中输入:“a地附近有便宜的吃馄饨的地方”,则“我想订a地附近便宜的吃馄饨的地方”为第一提问消息;作为第三示例,用户在团购类网站中输入“最近有什么新的评分不错的电影”,则“最近有什么新的评分不错的电影”为第一提问消息。
[0167]
对话系统在接收到第一提问消息后,提取会话参数信息,会话参数信息包括主题信息以及历史会话消息;主题信息即第一提问消息中的事件主题,如餐馆实体名、话题、领域等;通过提取第一提问消息的主题信息,了解用户所询问的第一会话信息的目的,比如上述第一示例中,主题信息为“商品是否适合年轻人”;上述第二示例中,主题信息为“附近便宜的吃馄饨的地方”;上述第三示例中,主题信息为“新的评分不错的电影”。
[0168]
历史会话消息为第一提问消息的历史消息,例如选择第一提问消息前预设数目条消息作为历史会话消息,比如选择第一提问消息前十条用户输入的消息,或者包括对话系统发出的消息作为历史会话消息,用以对第一提问消息做进一步的识别,以便了解用户的需求。
[0169]
用户输入第一提问消息,对话系统从第一提问消息中获取主题信息。
[0170]
步骤602,根据所述主题信息,查找与所述主题信息关联的备选文本;所述备选文本为外部知识文本。
[0171]
外部知识文本可包括非结构化文本,即以文本作为数据形式的非结构化的数据;可以理解的是,外部知识文本可以包括非结构化文本,也可能包括结构化文本,例如网页中的文档的标题、作者等。如图1所示,非结构化文本包括问答对、网页、广告、文档等。
[0172]
外部知识文本可以来自于外部网站,比如一些购物类网站或生活服务类网站,比如上述第二示例中,用户希望查询附近便宜的吃馄饨的地方,则对话系统可从外部知识文本中的生活服务类网站中的非结构化文本,提取与第二示例相关的备选文本,例如一些商家的广告信息、优惠信息、以及用户评价信息等;对话系统根据用户的需求,查找外部知识文本中的a地的食品有馄饨的商家,并且获取商家的广告信息或者优惠信息,判断是否存在当前时间内的优惠商品,或者从该商家的用户评价信息中查找是否有与“便宜”相关的评论信息,将与主题信息相关的非结构化文本作为备选文本,用于后续应答消息的生成。
[0173]
外部知识文本还可以包括来自一些外部app中的文本,例如购物app中的用户评论信息,生活服务类app中的广告信息、优惠信息等。比如,上述比如上述第一示例中,主题信息为“商品是否适合年轻人”,则对话系统可将购物类app中与该商品相关的评论信息、介绍信息中,与“适合”“年龄段”等相关的文本信息作为备选文本。
[0174]
结合图1,对话系统将主题信息输入至外部知识文本中,并在外部知识文本中为主题信息粗召回一些备选文本,例如,根据外部知识文本与主题信息的关联程度或匹配程度,
选择关联程度或匹配程度较高的外部知识文本作为备选文本。
[0175]
这样,融合外部知识中的结构化文本和/或非结构化文本,以扩大任务导向型对话系统可处理的问题范围,从而提升对话系统应对用户新问题的能力。
[0176]
可选的,可设定一外部知识库,用于存储外部知识文本。
[0177]
步骤603,根据所述备选文本、所述第一提问消息以及所述历史会话消息,生成所述第一提问消息的应答消息。
[0178]
结合图1,对话系统对备选文本、历史会话消息以及第一会话消息执行会话生成,比如将三者均输入至均输入至预设的会话生成器,通过会话生成器生成应答消息。会话生成器执行预设的会话生成算法,会话生成算法例如transformer算法,利用注意力机制生成出合理的回复消息,即应答消息;这样,在生成第一会话的应答消息的过程中,结合外部知识文本中的非结构化文本,以提升应答消息解决问题的能力。
[0179]
在对话型任务系统的实际应用场景中,用户的表达是不受限制的,比如用户可能会问“能否带宠物”,“今天有什么优惠活动”,“可以定包间吗”“你们还招人吗?”等等知识表中不包含的新问题。对于这些结构化知识库中不包含的新问题,现有技术中难以使用户得到有效的应答回复,本技术实施例中,在与用户对话的过程中,对于结构化知识库中不包含的问题,结合外部知识文本生成应答消息。
[0180]
比如,上述第一示例中,对话系统采将购物类app或购物类网站中与该商品相关的评论信息、介绍信息中,与“适合”“年龄段”等相关的文本信息作为备选文本,将备选文本、第一提问消息以及历史会话消息均作为输入内容,输入至会话生成器,会话生成器生成应答消息,应答消息比如:“此商品不适合年轻人”。
[0181]
比如上述第二示例中,用户希望查询附近便宜的吃馄饨的地方,则对话系统可从外部知识文本中的生活服务类网站中的非结构化文本,提取与第二示例相关的备选文本,例如一些商家的广告信息、优惠信息、以及用户评价信息等;具体的,对话系统根据用户的需求,查找外部知识文本中的a地的食品有馄饨的商家,并且获取商家的广告信息或者优惠信息,判断是否存在当前时间内的优惠商品,或者从该商家的用户评价信息中查找是否有与“便宜”相关的评论信息,将与主题信息相关的非结构化文本作为备选文本,将备选文本、第一提问消息以及历史会话消息均作为输入内容,输入至会话生成器,会话生成器生成应答消息,应答消息比如:“为您找到品牌b”。若用户继续输入:“品牌b在a市共有多少家店”,则“品牌b在a地共有多少家店”作为新的第一提问消息,对话系统继续为新的第一对话消息生成应答消息,比如应答消息为“品牌b在a地共有50家店”,这样,通过外部知识文本中的非结构化文本,提升对话系统应对用户新问题的能力。
[0182]
比如上述第三示例中,用户输入“最近有什么新的评分不错的电影”,则对话系统可从外部知识文本中的生活服务类网站中的非结构化文本,提取与最近评分不错的电影相关的备选文本,例如一些购票网站、app中的评论信息,一些点评类网站中的电影点评等;对话系统根据用户的需求,查找外部知识文本中的非结构化文本,并且获取近期上映的电影的评分或者评论信息等,将与主题信息相关的非结构化文本作为备选文本,将备选文本、第一提问消息以及历史会话消息均作为输入内容,输入至会话生成器,会话生成器生成应答消息,应答消息比如:“为您找到电影c”。若用户继续输入:“电影c的主演是谁”,则“电影c的主演是谁”作为新的第一提问消息,对话系统继续为新的第一对话消息生成应答消息,比如
应答消息为
““
电影c的主演包括演员d”。
[0183]
除步骤601至步骤603,本技术实施例提供的应答消息生成方法还包括上述实施例中的对话方法中的其他步骤,具体可参照上述实施例的描述;为避免重复,在此不再赘述。
[0184]
本技术实施例中,获取第一提问消息的会话参数信息,所述会话参数信息至少包括主题信息以及历史会话消息;根据所述主题信息,查找与所述主题信息关联的备选文本;根据所述备选文本、所述第一提问消息以及所述历史会话消息,生成所述第一提问消息的应答消息,结合外部知识文本,扩充任务导向型对话可处理的问题范围,提高系统应对用户新问题的应答能力,提升对话系统的应答成功率;本技术实施例解决现有技术中,基于结构化知识库的对话系统,应答成功率较低的问题。
[0185]
在上述实施例的基础上,本实施例还提供了一种对话装置,应用于终端设备、服务器等电子设备中。通过引入外部知识库,通过扩充生成应答消息的备选文本的选择范围,扩大任务导向型对话可处理的问题范围;且外部知识库中的非结构化文本,不受文本类型的限制,可以使用多种类型的文本作为备选文本,例如问答对、文档、广告以及用户评论等。结合外部知识文本,扩充任务导向型对话可处理的问题范围,提高系统应对用户新问题的应答能力,提升对话系统的应答成功率。
[0186]
参照图7,示出了本技术的一种对话装置实施例的结构框图,具体可以包括如下模块:
[0187]
参数获取模块701,用于获取第一会话消息的会话参数信息,所述会话参数信息至少包括主题信息以及历史会话消息。
[0188]
第一会话消息例如用户或客户端输入的消息,例如提问消息等;作为第一示例,用户在购物app中询问商品客服,询问商品的相关信息,比如用户输入“请问此商品适合年轻人吗?”则所询问的信息“请问此商品适合年轻人吗?”为第一会话消息;作为第二示例,用户在生活服务类app中输入:“a地附近有便宜的吃馄饨的地方”,则“我想订a地附近便宜的吃馄饨的地方”为第一会话消息;作为第三示例,用户在团购类网站中输入“最近有什么新的评分不错的电影”,则“最近有什么新的评分不错的电影”为第一会话消息。
[0189]
对话系统在接收到第一会话消息后,提取会话参数信息,会话参数信息包括主题信息以及历史会话消息;主题信息即第一会话消息中的事件主题,如餐馆实体名、话题、领域等;通过提取第一会话消息的主题信息,了解用户所询问的第一会话信息的目的,比如上述第一示例中,主题信息为“商品是否适合年轻人”;上述第二示例中,主题信息为“附近便宜的吃馄饨的地方”;上述第三示例中,主题信息为“新的评分不错的电影”。
[0190]
历史会话消息为第一会话消息的历史消息,例如选择第一会话消息前预设数目条消息作为历史会话消息,比如选择第一会话消息前十条用户输入的消息,或者包括对话系统发出的消息作为历史会话消息,用以对第一会话消息做进一步的识别,以便了解用户的需求。
[0191]
文本查找模块702,用于根据所述主题信息,查找与所述主题信息关联的备选文本;所述备选文本为外部知识文本。
[0192]
外部知识文本可包括非结构化文本,即以文本作为数据形式的非结构化的数据;可以理解的是,外部知识文本可以包括非结构化文本,也可能包括结构化文本,例如网页中的文档的标题、作者等。如图1所示,非结构化文本包括问答对、网页、广告、文档等。
[0193]
外部知识文本可以来自于外部网站,比如一些购物类网站或生活服务类网站,比如上述第二示例中,用户希望查询附近便宜的吃馄饨的地方,则对话系统可从外部知识文本中的生活服务类网站中的非结构化文本,提取与第二示例相关的备选文本,例如一些商家的广告信息、优惠信息、以及用户评价信息等;对话系统根据用户的需求,查找外部知识文本中的a地的食品有馄饨的商家,并且获取商家的广告信息或者优惠信息,判断是否存在当前时间内的优惠商品,或者从该商家的用户评价信息中查找是否有与“便宜”相关的评论信息,将与主题信息相关的非结构化文本作为备选文本,用于后续应答消息的生成。
[0194]
外部知识文本还可以包括来自一些外部app中的文本,例如购物app中的用户评论信息,生活服务类app中的广告信息、优惠信息等。比如,上述比如上述第一示例中,主题信息为“商品是否适合年轻人”,则对话系统可将购物类app中与该商品相关的评论信息、介绍信息中,与“适合”“年龄段”等相关的文本信息作为备选文本。
[0195]
结合图1,对话系统将主题信息输入至外部知识文本中,并在外部知识文本中为主题信息粗召回一些备选文本,例如,根据外部知识文本与主题信息的关联程度或匹配程度,选择关联程度或匹配程度较高的外部知识文本作为备选文本。
[0196]
这样,融合外部知识中的结构化文本和/或非结构化文本,以扩大任务导向型对话系统可处理的问题范围,从而提升对话系统应对用户新问题的能力。
[0197]
可选的,可设定一外部知识库,用于存储外部知识文本。
[0198]
消息生成模块703,用于根据所述备选文本、所述第一会话消息以及所述历史会话消息,生成所述第一会话消息的应答消息。
[0199]
结合图1,对话系统对备选文本、历史会话消息以及第一会话消息执行会话生成,比如将三者均输入至预设的会话生成器,通过会话生成器生成应答消息。会话生成器执行预设的会话生成算法,会话生成算法例如transformer算法,利用注意力机制生成出合理的回复消息,即应答消息;这样,在生成第一会话的应答消息的过程中,结合外部知识文本中的非结构化文本,以提升应答消息解决问题的能力。
[0200]
在对话型任务系统的实际应用场景中,用户的表达是不受限制的,比如用户可能会问“能否带宠物”,“今天有什么优惠活动”,“可以定包间吗”“你们还招人吗?”等等知识表中不包含的新问题。对于这些结构化知识库中不包含的新问题,现有技术中难以使用户得到有效的应答回复,本技术实施例中,在与用户对话的过程中,对于结构化知识库中不包含的问题,结合外部知识文本生成应答消息。
[0201]
比如,上述第一示例中,对话系统采将购物类app或购物类网站中与该商品相关的评论信息、介绍信息中,与“适合”“年龄段”等相关的文本信息作为备选文本,将备选文本、第一会话消息以及历史会话消息均作为输入内容,输入至会话生成器,会话生成器生成应答消息,应答消息比如:“此商品不适合年轻人”。
[0202]
比如上述第二示例中,用户希望查询附近便宜的吃馄饨的地方,则对话系统可从外部知识文本中的生活服务类网站中的非结构化文本,提取与第二示例相关的备选文本,例如一些商家的广告信息、优惠信息、以及用户评价信息等;具体的,对话系统根据用户的需求,查找外部知识文本中的a地的食品有馄饨的商家,并且获取商家的广告信息或者优惠信息,判断是否存在当前时间内的优惠商品,或者从该商家的用户评价信息中查找是否有与“便宜”相关的评论信息,将与主题信息相关的非结构化文本作为备选文本,将备选文本、
第一会话消息以及历史会话消息均作为输入内容,输入至会话生成器,会话生成器生成应答消息,应答消息比如:“为您找到品牌b”。若用户继续输入:“品牌b在a市共有多少家店”,则“品牌b在a地共有多少家店”作为新的第一会话消息,对话系统继续为新的第一对话消息生成应答消息,比如应答消息为“品牌b在a地共有50家店”,这样,通过外部知识文本中的非结构化文本,提升对话系统应对用户新问题的能力。
[0203]
比如上述第三示例中,用户输入“最近有什么新的评分不错的电影”,则对话系统可从外部知识文本中的生活服务类网站中的非结构化文本,提取与最近评分不错的电影相关的备选文本,例如一些购票网站、app中的评论信息,一些点评类网站中的电影点评等;对话系统根据用户的需求,查找外部知识文本中的非结构化文本,并且获取近期上映的电影的评分或者评论信息等,将与主题信息相关的非结构化文本作为备选文本,将备选文本、第一会话消息以及历史会话消息均作为输入内容,输入至会话生成器,会话生成器生成应答消息,应答消息比如:“为您找到电影c”。若用户继续输入:“电影c的主演是谁”,则“电影c的主演是谁”作为新的第一会话消息,对话系统继续为新的第一对话消息生成应答消息,比如应答消息为
““
电影c的主演包括演员d”。
[0204]
在一个可选实施例中,所述外部知识文本包括:从目标来源处获取的文本。
[0205]
在一个可选实施例中,所述目标来源包括目标应用程序以及目标网站中的至少一种。
[0206]
在一个可选实施例中,所述外部知识文本包括网页资讯、应用程序内部推送消息、问答对以及文档中的至少一种。
[0207]
在一个可选实施例中,所述文本查找模块702包括:
[0208]
分割子模块,用于对外部知识文本进行分割,得到字符数目小于预设字数阈值的短文本;
[0209]
匹配子模块,用于将所述短文本与所述主题信息进行匹配,得到匹配度满足预设匹配度阈值的备选文本。
[0210]
在一个可选实施例中,所述消息生成模块703包括:
[0211]
确定子模块,用于确定所述备选文本与所述第一会话消息以及所述历史会话消息的匹配程度参数;
[0212]
选择子模块,用于根据所述匹配程度参数,从所述备选文本中选择目标文本;
[0213]
生成子模块,用于根据所述目标文本以及所述历史会话消息,生成所述第一会话消息的应答消息。
[0214]
在一个可选实施例中,所述确定子模块包括:
[0215]
第一输入单元,用于将所述第一会话消息以及所述历史会话消息作为第一文本,将所述备选文本作为第二文本,分别输入至预设的第二匹配器;
[0216]
参数获取单元,用于获取所述第一文本和所述第二文本之间的匹配程度参数,所述匹配程度参数为所述备选文本与所述第一会话消息以及所述历史会话消息的匹配程度参数。
[0217]
在一个可选实施例中,所述生成子模块,包括:
[0218]
第二输入单元,用于将所述第一会话消息以及所述历史会话消息作为第三文本,将所述目标文本作为第四文本;
[0219]
消息获取单元,用于根据所述第三文本和所述第四文本生成应答消息。
[0220]
在一个可选实施例中,所述装置包括:
[0221]
识别模块,用于将所述第一会话消息输入至预设的识别器,识别与所述第一会话消息对应的目标知识;所述目标知识包括所述外部知识文本或结构化知识文本;
[0222]
外部处理模块,用于若所述目标知识包括所述外部知识文本,指示所述参数获取模块701获取第一会话消息的会话参数信息;
[0223]
结构化处理模块,用于若所述目标知识包括所述结构化知识文本,对所述第一会话消息进行会话处理,生成所述第一会话消息的应答消息。
[0224]
本技术实施例提供的对话装置,执行上述对话方法中的步骤。
[0225]
本技术实施例中,参数获取模块701获取第一会话消息的会话参数信息,所述会话参数信息至少包括主题信息以及历史会话消息;文本查找模块702根据所述主题信息,查找与所述主题信息关联的备选文本;消息生成模块703根据所述备选文本、所述第一会话消息以及所述历史会话消息,生成所述第一会话消息的应答消息,结合外部知识文本,扩充任务导向型对话可处理的问题范围,提高系统应对用户新问题的应答能力,提升对话系统的应答成功率;本技术实施例解决现有技术中,基于结构化知识库的对话系统,应答成功率较低的问题。
[0226]
参照图8,示出了本技术的一种应答消息生成装置的实施例的结构框图,具体可以包括如下模块:
[0227]
信息获取模块801,用于获取第一提问消息的会话参数信息,所述会话参数信息至少包括主题信息以及历史会话消息。
[0228]
第一提问消息例如用户或客户端输入的消息,例如提问消息等;作为第一示例,用户在购物app中询问商品客服,询问商品的相关信息,比如用户输入“请问此商品适合年轻人吗?”则所询问的信息“请问此商品适合年轻人吗?”为第一提问消息;作为第二示例,用户在生活服务类app中输入:“a地附近有便宜的吃馄饨的地方”,则“我想订a地附近便宜的吃馄饨的地方”为第一提问消息;作为第三示例,用户在团购类网站中输入“最近有什么新的评分不错的电影”,则“最近有什么新的评分不错的电影”为第一提问消息。
[0229]
对话系统在接收到第一提问消息后,提取会话参数信息,会话参数信息包括主题信息以及历史会话消息;主题信息即第一提问消息中的事件主题,如餐馆实体名、话题、领域等;通过提取第一提问消息的主题信息,了解用户所询问的第一会话信息的目的,比如上述第一示例中,主题信息为“商品是否适合年轻人”;上述第二示例中,主题信息为“附近便宜的吃馄饨的地方”;上述第三示例中,主题信息为“新的评分不错的电影”。
[0230]
历史会话消息为第一提问消息的历史消息,例如选择第一提问消息前预设数目条消息作为历史会话消息,比如选择第一提问消息前十条用户输入的消息,或者包括对话系统发出的消息作为历史会话消息,用以对第一提问消息做进一步的识别,以便了解用户的需求。
[0231]
用户输入第一提问消息,对话系统从第一提问消息中获取主题信息。
[0232]
查找模块802,用于根据所述主题信息,查找与所述主题信息关联的备选文本;所述备选文本为外部知识文本。
[0233]
外部知识文本可包括非结构化文本,即以文本作为数据形式的非结构化的数据;
可以理解的是,外部知识文本可以包括非结构化文本,也可能包括结构化文本,例如网页中的文档的标题、作者等。如图1所示,非结构化文本包括问答对、网页、广告、文档等。
[0234]
外部知识文本可以来自于外部网站,比如一些购物类网站或生活服务类网站,比如上述第二示例中,用户希望查询附近便宜的吃馄饨的地方,则对话系统可从外部知识文本中的生活服务类网站中的非结构化文本,提取与第二示例相关的备选文本,例如一些商家的广告信息、优惠信息、以及用户评价信息等;对话系统根据用户的需求,查找外部知识文本中的a地的食品有馄饨的商家,并且获取商家的广告信息或者优惠信息,判断是否存在当前时间内的优惠商品,或者从该商家的用户评价信息中查找是否有与“便宜”相关的评论信息,将与主题信息相关的非结构化文本作为备选文本,用于后续应答消息的生成。
[0235]
外部知识文本还可以包括来自一些外部app中的文本,例如购物app中的用户评论信息,生活服务类app中的广告信息、优惠信息等。比如,上述比如上述第一示例中,主题信息为“商品是否适合年轻人”,则对话系统可将购物类app中与该商品相关的评论信息、介绍信息中,与“适合”“年龄段”等相关的文本信息作为备选文本。
[0236]
结合图1,对话系统将主题信息输入至外部知识文本中,并在外部知识文本中为主题信息粗召回一些备选文本,例如,根据外部知识文本与主题信息的关联程度或匹配程度,选择关联程度或匹配程度较高的外部知识文本作为备选文本。
[0237]
这样,融合外部知识中的结构化文本和/或非结构化文本,以扩大任务导向型对话系统可处理的问题范围,从而提升对话系统应对用户新问题的能力。
[0238]
可选的,可设定一外部知识库,用于存储外部知识文本。
[0239]
应答生成模块803,用于根据所述备选文本、所述第一提问消息以及所述历史会话消息,生成所述第一提问消息的应答消息。
[0240]
结合图1,对话系统将备选文本、历史会话消息以及第一提问消息均输入至预设的会话生成器,通过会话生成器生成应答消息。会话生成器执行预设的会话生成算法,会话生成算法例如transformer算法,利用注意力机制生成出合理的回复消息,即应答消息;这样,在生成第一会话的应答消息的过程中,结合外部知识文本中的非结构化文本,以提升应答消息解决问题的能力。
[0241]
在对话型任务系统的实际应用场景中,用户的表达是不受限制的,比如用户可能会问“能否带宠物”,“今天有什么优惠活动”,“可以定包间吗”“你们还招人吗?”等等知识表中不包含的新问题。对于这些结构化知识库中不包含的新问题,现有技术中难以使用户得到有效的应答回复,本技术实施例中,在与用户对话的过程中,对于结构化知识库中不包含的问题,结合外部知识文本生成应答消息。
[0242]
比如,上述第一示例中,对话系统采将购物类app或购物类网站中与该商品相关的评论信息、介绍信息中,与“适合”“年龄段”等相关的文本信息作为备选文本,将备选文本、第一提问消息以及历史会话消息均作为输入内容,输入至会话生成器,会话生成器生成应答消息,应答消息比如:“此商品不适合年轻人”。
[0243]
比如上述第二示例中,用户希望查询附近便宜的吃馄饨的地方,则对话系统可从外部知识文本中的生活服务类网站中的非结构化文本,提取与第二示例相关的备选文本,例如一些商家的广告信息、优惠信息、以及用户评价信息等;具体的,对话系统根据用户的需求,查找外部知识文本中的a地的食品有馄饨的商家,并且获取商家的广告信息或者优惠
信息,判断是否存在当前时间内的优惠商品,或者从该商家的用户评价信息中查找是否有与“便宜”相关的评论信息,将与主题信息相关的非结构化文本作为备选文本,将备选文本、第一提问消息以及历史会话消息均作为输入内容,输入至会话生成器,会话生成器生成应答消息,应答消息比如:“为您找到品牌b”。若用户继续输入:“品牌b在a市共有多少家店”,则“品牌b在a地共有多少家店”作为新的第一提问消息,对话系统继续为新的第一对话消息生成应答消息,比如应答消息为“品牌b在a地共有50家店”,这样,通过外部知识文本中的非结构化文本,提升对话系统应对用户新问题的能力。
[0244]
比如上述第三示例中,用户输入“最近有什么新的评分不错的电影”,则对话系统可从外部知识文本中的生活服务类网站中的非结构化文本,提取与最近评分不错的电影相关的备选文本,例如一些购票网站、app中的评论信息,一些点评类网站中的电影点评等;对话系统根据用户的需求,查找外部知识文本中的非结构化文本,并且获取近期上映的电影的评分或者评论信息等,将与主题信息相关的非结构化文本作为备选文本,将备选文本、第一提问消息以及历史会话消息均作为输入内容,输入至会话生成器,会话生成器生成应答消息,应答消息比如:“为您找到电影c”。若用户继续输入:“电影c的主演是谁”,则“电影c的主演是谁”作为新的第一提问消息,对话系统继续为新的第一对话消息生成应答消息,比如应答消息为
““
电影c的主演包括演员d”。
[0245]
本技术实施例提供的应答消息生成装置,执行上述应答消息生成方法中的步骤。
[0246]
本技术实施例中,信息获取模块801获取第一提问消息的会话参数信息,所述会话参数信息至少包括主题信息以及历史会话消息;查找模块802根据所述主题信息,查找与所述主题信息关联的备选文本;应答生成模块803根据所述备选文本、所述第一提问消息以及所述历史会话消息,生成所述第一提问消息的应答消息,结合外部知识文本,扩充任务导向型对话可处理的问题范围,提高系统应对用户新问题的应答能力,提升对话系统的应答成功率;本技术实施例解决现有技术中,基于结构化知识库的对话系统,应答成功率较低的问题。
[0247]
本技术实施例还提供了一种非易失性可读存储介质,该存储介质中存储有一个或多个模块(programs),该一个或多个模块被应用在设备时,可以使得该设备执行本技术实施例中各方法步骤的指令(instructions)。
[0248]
本技术实施例提供了一个或多个机器可读存储介质,其上存储有指令,当由一个或多个处理器执行时,使得电子设备执行如上述实施例中一个或多个所述的方法。本技术实施例中,所述电子设备包括终端设备、服务器(集群)等各类型的设备。
[0249]
本公开的实施例可被实现为使用任意适当的硬件,固件,软件,或及其任意组合进行想要的配置的装置,该装置可包括终端设备、服务器(集群)等电子设备。图9示意性地示出了可被用于实现本技术中所述的各个实施例的示例性装置900。
[0250]
对于一个实施例,图9示出了示例性装置900,该装置具有一个或多个处理器902、被耦合到(一个或多个)处理器902中的至少一个的控制模块(芯片组)904、被耦合到控制模块904的存储器906、被耦合到控制模块904的非易失性存储器(nvm)/存储设备908、被耦合到控制模块904的一个或多个输入/输出设备910,以及被耦合到控制模块904的网络接口912。
[0251]
处理器902可包括一个或多个单核或多核处理器,处理器902可包括通用处理器或
专用处理器(例如图形处理器、应用处理器、基频处理器等)的任意组合。在一些实施例中,装置900能够作为本技术实施例中所述终端设备、服务器(集群)等设备。
[0252]
在一些实施例中,装置900可包括具有指令914的一个或多个计算机可读介质(例如,存储器906或nvm/存储设备908)以及与该一个或多个计算机可读介质相合并被配置为执行指令914以实现模块从而执行本公开中所述的动作的一个或多个处理器902。
[0253]
对于一个实施例,控制模块904可包括任意适当的接口控制器,以向(一个或多个)处理器902中的至少一个和/或与控制模块904通信的任意适当的设备或组件提供任意适当的接口。
[0254]
控制模块904可包括存储器控制器模块,以向存储器906提供接口。存储器控制器模块可以是硬件模块、软件模块和/或固件模块。
[0255]
存储器906可被用于例如为装置900加载和存储数据和/或指令914。对于一个实施例,存储器906可包括任意适当的易失性存储器,例如,适当的dram。在一些实施例中,存储器906可包括双倍数据速率类型四同步动态随机存取存储器(ddr4sdram)。
[0256]
对于一个实施例,控制模块904可包括一个或多个输入/输出控制器,以向nvm/存储设备908及(一个或多个)输入/输出设备910提供接口。
[0257]
例如,nvm/存储设备908可被用于存储数据和/或指令914。nvm/存储设备908可包括任意适当的非易失性存储器(例如,闪存)和/或可包括任意适当的(一个或多个)非易失性存储设备(例如,一个或多个硬盘驱动器(hdd)、一个或多个光盘(cd)驱动器和/或一个或多个数字通用光盘(dvd)驱动器)。
[0258]
nvm/存储设备908可包括在物理上作为装置900被安装在其上的设备的一部分的存储资源,或者其可被该设备访问可不必作为该设备的一部分。例如,nvm/存储设备908可通过网络经由(一个或多个)输入/输出设备910进行访问。
[0259]
(一个或多个)输入/输出设备910可为装置900提供接口以与任意其他适当的设备通信,输入/输出设备910可以包括通信组件、音频组件、传感器组件等。网络接口912可为装置900提供接口以通过一个或多个网络通信,装置900可根据一个或多个无线网络标准和/或协议中的任意标准和/或协议来与无线网络的一个或多个组件进行无线通信,例如接入基于通信标准的无线网络,如wifi、2g、3g、4g、5g等,或它们的组合进行无线通信。
[0260]
对于一个实施例,(一个或多个)处理器902中的至少一个可与控制模块904的一个或多个控制器(例如,存储器控制器模块)的逻辑封装在一起。对于一个实施例,(一个或多个)处理器902中的至少一个可与控制模块904的一个或多个控制器的逻辑封装在一起以形成系统级封装(sip)。对于一个实施例,(一个或多个)处理器902中的至少一个可与控制模块904的一个或多个控制器的逻辑集成在同一模具上。对于一个实施例,(一个或多个)处理器902中的至少一个可与控制模块904的一个或多个控制器的逻辑集成在同一模具上以形成片上系统(soc)。
[0261]
在各个实施例中,装置900可以但不限于是:服务器、台式计算设备或移动计算设备(例如,膝上型计算设备、手持计算设备、平板电脑、上网本等)等终端设备。在各个实施例中,装置900可具有更多或更少的组件和/或不同的架构。例如,在一些实施例中,装置900包括一个或多个摄像机、键盘、液晶显示器(lcd)屏幕(包括触屏显示器)、非易失性存储器端口、多个天线、图形芯片、专用集成电路(asic)和扬声器。
[0262]
其中,检测装置中可采用主控芯片作为处理器或控制模块,传感器数据、位置信息等存储到存储器或nvm/存储设备中,传感器组可作为输入/输出设备,通信接口可包括网络接口。
[0263]
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0264]
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0265]
本技术实施例是参照根据本技术实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0266]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0267]
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0268]
尽管已描述了本技术实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术实施例范围的所有变更和修改。
[0269]
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
[0270]
以上对本技术所提供的一种对话方法和装置,一种应答消息生成方法和装置,一种电子设备和一种存储介质,进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献