本技术涉及人工智能领域,尤其涉及一种确定回复语句的方法及装置。
背景技术:
1、人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
2、对话系统有多种对话类型,例如闲聊型(主要面向娱乐、陪护等)、任务型(用于完成用户特定需求,例如订票、订酒店等)、问答型(给用户提供知识相关的服务,回答用户问题)等。随着深度学习的进步,对话系统取得了巨大的进步。
3、在现有的实现中,为了能够使得对话系统同时具备应对上述多种对话类型的用户对话,针对于每种对话类型,单独训练对应的对话模型,不同的对话模型通过集成的方式组织在一起来构造一个多功能的对话系统。然而,上述对话系统存在系统结构复杂、且占据存储空间较大的问题。
技术实现思路
1、本技术提供了一种确定回复语句的方法,通过状态确定网络识别出用户对话的对话类别,并针对于不同的对话类型,复用对话生成网络来生成对应的回复语句,相当于可以采用同一个模型来处理不同对话类型的用户语句,降低了对话系统的模型复杂度以及模型大小。
2、第一方面,本技术提供了一种确定回复语句的方法,所述方法包括:
3、获取待回复的第一用户语句;
4、在一种可能的实现中,该第一用户语句可以是用户向问答设备输入的问题、请求等文本。示例性的,用户可以采用文本形式向问答设备输入目标问题,该情况下,问答设备可以直接获取到文本形式的第一用户语句。用户还可以采用语音形式向问答设备输入目标问题,该情况下,问答设备可以将接收到的语音信息转换为文本信息,从而得到文本形式的第一用户语句。用户还可以采用肢体语言向问答设备输入目标问题,该情况下,问答设备通过对用户的肢体动作进行采集和分析,识别得到文本形式的第一用户语句。
5、根据所述第一用户语句,通过状态确定网络确定所述第一用户语句的第一状态信息,所述第一状态信息包括所述第一用户语句的第一对话类别,所述第一对话类别为聊天型对话、任务型对话、问答型对话或检索型对话;
6、其中,状态确定网络可以为训练好的,具备基于用户语句确定对应的对话类型的能力。
7、应理解,本技术并不限定状态确定网络需要具备识别出四种对话类别(聊天型对话、任务型对话、问答型对话或检索型对话)的能力,状态确定网络可以具备识别出四种对话类别中至少两种的能力。
8、应理解,在确定对话类型时,状态确定网络的输入可以为第一用户语句(可选的,还可以包括用户的其他历史语句),这里并不限定。
9、应理解,上述对话类型也可以称之为对话置信状态(belief state)。
10、其中,聊天型对话也可以称之为闲聊型对话。
11、其中,状态确定网络可以为gpt模型的一部分或者完整的gpt模型,语句生成网络可以为dialogpt模型的一部分或者完整的dialogpt模型,语句生成网络可以为bart模型的一部分或者完整的bart模型,语句生成网络可以为t5模型的一部分或者完整的t5模型。
12、将所述第一用户语句以及所述第一对话类别,输入至语句生成网络,得到所述第一用户语句对应的回复语句。
13、在一种可能的实现中,所述语句生成网络可以为gpt模型、dialogpt模型、bart模型或t5模型。其中,语句生成网络可以为gpt模型的一部分或者完整的gpt模型,语句生成网络可以为dialogpt模型的一部分或者完整的dialogpt模型,语句生成网络可以为bart模型的一部分或者完整的bart模型,语句生成网络可以为t5模型的一部分或者完整的t5模型。
14、可选的,本技术实施例中的状态确定网络和语句生成网络可以为同一个网络的两部分,也可以为不同的网络。
15、应理解,语句生成网络还可以基于除了第一用户语句之外的其他用户历史语句来生成第一用户语句的回复语句,这里并不限定。
16、应理解,针对于不同对话类别的用户语句,都可以作为同一个语句生成网络的输入,来得到回复语句。
17、本技术实施例中,通过状态确定网络识别出用户对话的对话类别,并针对于不同的对话类型,复用对话生成网络来生成对应的回复语句,相当于可以采用同一个模型来处理不同对话类型的用户语句,在模型训练时,可以通过统一多种对话类型的模式,使得多种对话类型可以同时进行训练,训练出的对话系统同时具备多种对话类型的能力,降低了对话系统的模型复杂度以及模型大小。
18、在一种可能的实现中,第一状态信息还可以包括槽位信息,其中,槽位信息可以为第一用户语句中的关键词。
19、在一种可能的实现中,所述根据所述第一用户语句,通过状态确定网络确定所述第一用户语句的第一状态信息,包括:通过状态确定网络,从多个对话类型中确定所述第一用户语句的第一对话类别,所述多个对话类型包括所述聊天型对话、任务型对话、问答型对话以及检索型对话中的至少两个。
20、在一种可能的实现中,可以通过状态确定网络,从多个对话类型中确定所述第一用户语句的第一对话类别,所述多个对话类型包括所述聊天型对话、任务型对话、问答型对话以及检索型对话中的至少两个。
21、例如,多个对话类型包括聊天型对话以及任务型对话。
22、例如,多个对话类型包括聊天型对话以及问答型对话。
23、例如,多个对话类型包括聊天型对话以及检索型对话。
24、例如,多个对话类型包括任务型对话以及问答型对话。
25、例如,多个对话类型包括任务型对话以及检索型对话。
26、例如,多个对话类型包括问答型对话以及检索型对话。
27、例如,多个对话类型包括聊天型对话、任务型对话以及问答型对话。
28、例如,多个对话类型包括聊天型对话、任务型对话以及检索型对话。
29、例如,多个对话类型包括任务型对话、问答型对话以及检索型对话。
30、例如,多个对话类型包括聊天型对话、任务型对话、问答型对话以及检索型对话。
31、本技术实施例中,针对于不同的对话类型,可以复用本技术实施例中的对话生成网络来生成对应的回复语句,在一种可能的实现中,还可以获取到待回复的第二用户语句,根据所述第二用户语句,通过所述状态确定网络确定所述第二用户语句的第二状态信息,所述第二状态信息包括所述第二用户语句的第二对话类别,所述第二对话类别为聊天型对话、任务型对话、问答型对话或检索型对话,且所述第二对话类别和所述第一对话类别不同,进而将所述第二用户语句以及所述第二对话类别输入至所述语句生成网络,得到所述第二用户语句对应的回复语句。
32、在一种可能的实现中,所述状态确定网络和所述语句生成网络为gpt模型、dialogpt模型、bart模型或t5模型。其中,本技术并不限定所述状态确定网络和所述语句生成网络分别为完整的gpt模型、dialogpt模型、bart模型或t5模型,状态确定网络和所述语句生成网络可以分别为具备gpt模型、dialogpt模型、bart模型或t5模型的相似网络结构或网络性能的模型。例如,状态确定网络和所述语句生成网络可以分别为gpt模型的部分、dialogpt模型的部分、bart模型的部分或t5模型的部分。
33、在一种可能的实现中,对话系统可以根据所述第一用户语句,从所述第一用户语句或者数据库中得到用于构建所述回复语句所需的关键词或关键句,将所述第一用户语句、所述第一对话类别、所述关键词或关键句输入至所述语句生成网络,得到所述第一用户语句对应的回复语句。
34、本技术实施例中,可以根据第一用户语句,以及第一对话类别,在外部数据库/知识库/语料库等外部资源中获取对话相关的数据或文本内容作为对话信息(即上述关键词或关键句)加入对话过程。
35、在一种可能的实现中,可以将所述第一用户语句以及所述第一对话类别,输入至语句生成网络,得到所述第一用户语句对应的回复语句,或者,将所述第一用户语句、所述第一对话类别、所述关键词或关键句输入至所述语句生成网络,得到所述第一用户语句对应的回复语句。
36、第二方面,本技术提供了一种确定回复语句的方法,所述方法包括:
37、获取第一用户语句、所述第一用户语句的第一对话类别以及所述第一用户语句对应的第一回复语句,所述第一对话类别为所述第一用户语句的真实类别,所述第一对话类别为聊天型对话、任务型对话、问答型对话或检索型对话;
38、根据所述第一用户语句,通过状态确定网络确定所述第一用户语句的第一状态信息,所述第一状态信息包括所述第一用户语句的第二对话类别;
39、将所述第一用户语句以及所述第一对话类别输入至语句生成网络,得到所述第一用户语句对应的第二回复语句;
40、根据所述第一对话类别和所述第二对话类别之间的差异,更新所述状态确定网络;
41、根据所述第一回复语句和所述第二回复语句之间的差异,更新所述语句生成网络。
42、本技术通过状态确定网络识别出用户对话的对话类别,并针对于不同的对话类型,复用对话生成网络来生成对应的回复语句,相当于可以采用同一个模型来处理不同对话类型的用户语句,在模型训练时,可以通过统一多种对话类型的模式,使得多种对话类型可以同时进行训练,训练出的对话系统同时具备多种对话类型的能力,降低了对话系统的模型复杂度以及模型大小。
43、在一种可能的实现中,所述根据所述第一用户语句,通过状态确定网络确定所述第一用户语句的第一状态信息,包括:
44、通过状态确定网络,从多个对话类型中确定所述第一用户语句的第二对话类别,所述多个对话类型包括所述聊天型对话、任务型对话、问答型对话以及检索型对话中的至少两个。
45、在一种可能的实现中,所述方法还包括:
46、获取第二用户语句、所述第二用户语句的第三对话类别以及所述第二用户语句对应的第三回复语句,所述第三对话类别为所述第二用户语句的真实类别;
47、根据所述第二用户语句,通过所述状态确定网络确定所述第二用户语句的第二状态信息,所述第二状态信息包括所述第二用户语句的第四对话类别,所述第四对话类别和所述第三对话类别不同;
48、将所述第二用户语句以及所述第三对话类别输入至所述语句生成网络,得到所述第二用户语句对应的第四回复语句;
49、根据所述第四对话类别和所述第三对话类别之间的差异,更新所述状态确定网络;
50、根据所述第四回复语句和所述第三回复语句之间的差异,更新所述语句生成网络。
51、在一种可能的实现中,所述状态确定网络和所述语句生成网络为gpt模型、dialogpt模型、bart模型或t5模型。
52、在一种可能的实现中,所述将所述第一用户语句以及所述第一对话类别输入至语句生成网络,得到所述第一用户语句对应的第二回复语句,包括:
53、根据所述第一用户语句,从所述第一用户语句或者数据库中得到用于构建所述回复语句所需的关键词或关键句;
54、将所述第一用户语句、所述第一对话类别、所述关键词或关键句输入至所述语句生成网络,得到所述第一用户语句对应的第二回复语句。
55、第三方面,本技术提供了一种确定回复语句的装置,所述装置包括:
56、获取模块,用于获取待回复的第一用户语句;
57、状态生成模块,用于根据所述第一用户语句,通过状态确定网络确定所述第一用户语句的第一状态信息,所述第一状态信息包括所述第一用户语句的第一对话类别,所述第一对话类别为聊天型对话、任务型对话、问答型对话或检索型对话;
58、回复语句生成模块,用于将所述第一用户语句以及所述第一对话类别,输入至语句生成网络,得到所述第一用户语句对应的回复语句。
59、本技术提供了一种确定回复语句的装置,所述装置包括:获取模块,用于获取待回复的第一用户语句;状态生成模块,用于根据所述第一用户语句,通过状态确定网络确定所述第一用户语句的第一状态信息,所述第一状态信息包括所述第一用户语句的第一对话类别,所述第一对话类别为聊天型对话、任务型对话、问答型对话或检索型对话;回复语句生成模块,用于将所述第一用户语句以及所述第一对话类别,输入至语句生成网络,得到所述第一用户语句对应的回复语句。通过状态确定网络识别出用户对话的对话类别,并针对于不同的对话类型,复用对话生成网络来生成对应的回复语句,相当于可以采用同一个模型来处理不同对话类型的用户语句,在模型训练时,可以通过统一多种对话类型的模式,使得多种对话类型可以同时进行训练,训练出的对话系统同时具备多种对话类型的能力,降低了对话系统的模型复杂度以及模型大小。
60、在一种可能的实现中,所述状态生成模块,具体用于:
61、通过状态确定网络,从多个对话类型中确定所述第一用户语句的第一对话类别,所述多个对话类型包括所述聊天型对话、任务型对话、问答型对话以及检索型对话中的至少两个。
62、在一种可能的实现中,所述获取模块,还用于:
63、获取待回复的第二用户语句;
64、所述状态生成模块,还用于根据所述第二用户语句,通过所述状态确定网络确定所述第二用户语句的第二状态信息,所述第二状态信息包括所述第二用户语句的第二对话类别,所述第二对话类别为聊天型对话、任务型对话、问答型对话或检索型对话,且所述第二对话类别和所述第一对话类别不同;
65、所述回复语句生成模块,还用于将所述第二用户语句以及所述第二对话类别输入至所述语句生成网络,得到所述第二用户语句对应的回复语句。
66、在一种可能的实现中,所述状态确定网络和所述语句生成网络为gpt模型、dialogpt模型、bart模型或t5模型。
67、在一种可能的实现中,所述回复语句生成模块,具体用于:
68、根据所述第一用户语句,从所述第一用户语句或者数据库中得到用于构建所述回复语句所需的关键词或关键句;
69、将所述第一用户语句、所述第一对话类别、所述关键词或关键句输入至所述语句生成网络,得到所述第一用户语句对应的回复语句。
70、第四方面,本技术提供了一种确定回复语句的装置,所述装置包括:
71、获取模块,用于获取第一用户语句、所述第一用户语句的第一对话类别以及所述第一用户语句对应的第一回复语句,所述第一对话类别为所述第一用户语句的真实类别,所述第一对话类别为聊天型对话、任务型对话、问答型对话或检索型对话;
72、状态生成模块,用于根据所述第一用户语句,通过状态确定网络确定所述第一用户语句的第一状态信息,所述第一状态信息包括所述第一用户语句的第二对话类别;
73、回复语句生成模块,用于将所述第一用户语句以及所述第一对话类别输入至语句生成网络,得到所述第一用户语句对应的第二回复语句;
74、模型更新模块,用于根据所述第一对话类别和所述第二对话类别之间的差异,更新所述状态确定网络;
75、根据所述第一回复语句和所述第二回复语句之间的差异,更新所述语句生成网络。
76、本技术提供了一种确定回复语句的装置,所述装置包括:获取模块,用于获取第一用户语句、所述第一用户语句的第一对话类别以及所述第一用户语句对应的第一回复语句,所述第一对话类别为所述第一用户语句的真实类别,所述第一对话类别为聊天型对话、任务型对话、问答型对话或检索型对话;状态生成模块,用于根据所述第一用户语句,通过状态确定网络确定所述第一用户语句的第一状态信息,所述第一状态信息包括所述第一用户语句的第二对话类别;回复语句生成模块,用于将所述第一用户语句以及所述第一对话类别输入至语句生成网络,得到所述第一用户语句对应的第二回复语句;模型更新模块,用于根据所述第一对话类别和所述第二对话类别之间的差异,更新所述状态确定网络;根据所述第一回复语句和所述第二回复语句之间的差异,更新所述语句生成网络。本技术通过状态确定网络识别出用户对话的对话类别,并针对于不同的对话类型,复用对话生成网络来生成对应的回复语句,相当于可以采用同一个模型来处理不同对话类型的用户语句,在模型训练时,可以通过统一多种对话类型的模式,使得多种对话类型可以同时进行训练,训练出的对话系统同时具备多种对话类型的能力,降低了对话系统的模型复杂度以及模型大小。
77、在一种可能的实现中,所述状态生成模块,具体用于:
78、通过状态确定网络,从多个对话类型中确定所述第一用户语句的第二对话类别,所述多个对话类型包括所述聊天型对话、任务型对话、问答型对话以及检索型对话中的至少两个。
79、在一种可能的实现中,所述获取模块,还用于:
80、获取第二用户语句、所述第二用户语句的第三对话类别以及所述第二用户语句对应的第三回复语句,所述第三对话类别为所述第二用户语句的真实类别;
81、所述状态生成模块,还用于根据所述第二用户语句,通过所述状态确定网络确定所述第二用户语句的第二状态信息,所述第二状态信息包括所述第二用户语句的第四对话类别,所述第四对话类别和所述第三对话类别不同;
82、所述回复语句生成模块,还用于将所述第二用户语句以及所述第三对话类别输入至所述语句生成网络,得到所述第二用户语句对应的第四回复语句;
83、所述模型更新模块,还用于根据所述第四对话类别和所述第三对话类别之间的差异,更新所述状态确定网络;
84、根据所述第四回复语句和所述第三回复语句之间的差异,更新所述语句生成网络。
85、在一种可能的实现中,所述状态确定网络和所述语句生成网络为gpt模型、dialogpt模型、bart模型或t5模型。
86、在一种可能的实现中,所述回复语句生成模块,具体用于:
87、根据所述第一用户语句,从所述第一用户语句或者数据库中得到用于构建所述回复语句所需的关键词或关键句;
88、将所述第一用户语句、所述第一对话类别、所述关键词或关键句输入至所述语句生成网络,得到所述第一用户语句对应的第二回复语句。
89、第五方面,本技术实施例提供了一种确定回复语句的装置,可以包括存储器、处理器以及总线系统,其中,存储器用于存储程序,处理器用于执行存储器中的程序,以执行如上述第一方面任一可选的方法。
90、第六方面,本技术实施例提供了一种确定回复语句的装置,可以包括存储器、处理器以及总线系统,其中,存储器用于存储程序,处理器用于执行存储器中的程序,以执行如上述第二方面任一可选的方法。
91、第七方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行上述第一方面任一可选的方法、以及第二方面任一可选的方法。
92、第八方面,本技术实施例提供了一种计算机程序产品,包括代码,当代码被执行时,用于实现上述第一方面任一可选的方法、以及第二方面任一可选的方法。
93、第九方面,本技术提供了一种芯片系统,该芯片系统包括处理器,用于支持执行设备或训练设备实现上述方面中所涉及的功能,例如,发送或处理上述方法中所涉及的数据;或,信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存执行设备或训练设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
94、本技术实施例提供了一种确定回复语句的方法,所述方法包括:获取待回复的第一用户语句;根据所述第一用户语句,通过状态确定网络确定所述第一用户语句的第一状态信息,所述第一状态信息包括所述第一用户语句的第一对话类别,所述第一对话类别为聊天型对话、任务型对话、问答型对话或检索型对话;将所述第一用户语句以及所述第一对话类别,输入至语句生成网络,得到所述第一用户语句对应的回复语句。通过状态确定网络识别出用户对话的对话类别,并针对于不同的对话类型,复用对话生成网络来生成对应的回复语句,相当于可以采用同一个模型来处理不同对话类型的用户语句,在模型训练时,可以通过统一多种对话类型的模式,使得多种对话类型可以同时进行训练,训练出的对话系统同时具备多种对话类型的能力,降低了对话系统的模型复杂度以及模型大小。