CN116860934A - 一种用于虚拟客服的多场景多轮对话方法与系统 - Google Patents
一种用于虚拟客服的多场景多轮对话方法与系统 Download PDFInfo
- Publication number
- CN116860934A CN116860934A CN202310806021.1A CN202310806021A CN116860934A CN 116860934 A CN116860934 A CN 116860934A CN 202310806021 A CN202310806021 A CN 202310806021A CN 116860934 A CN116860934 A CN 116860934A
- Authority
- CN
- China
- Prior art keywords
- text
- query
- component
- node
- dialogue
- 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
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000012545 processing Methods 0.000 claims abstract description 14
- 230000003993 interaction Effects 0.000 claims abstract description 6
- 230000004044 response Effects 0.000 claims description 73
- 238000004422 calculation algorithm Methods 0.000 claims description 10
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000003062 neural network model Methods 0.000 claims description 4
- 125000002015 acyclic group Chemical group 0.000 claims description 3
- 238000003672 processing method Methods 0.000 claims description 3
- 230000001960 triggered effect Effects 0.000 claims description 3
- 230000002194 synthesizing effect Effects 0.000 claims description 2
- 238000011161 development Methods 0.000 abstract description 3
- 230000001737 promoting effect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 5
- 238000012549 training Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000004075 alteration Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000007635 classification algorithm Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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
-
- 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/3331—Query processing
- G06F16/334—Query execution
-
- 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/335—Filtering based on additional data, e.g. user or group profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/50—Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
- H04M3/527—Centralised call answering arrangements not requiring operator intervention
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Artificial Intelligence (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种用于虚拟客服的多场景多轮对话方法与系统,所述系统包含对话调度组件、业务办理组件、知识库查询组件和聊天组件。对话调度组件用于管理各场景对话组件的运行顺序和调用关系,业务办理组件负责处理业务办理相关的对话,知识库查询组件负责处理非业务办理类型的通用知识检索型对话,聊天组件负责处理非业务办理和非知识库查询类型的一般性对话。本发明提出的用于虚拟客服的多场景多轮对话方法能够使虚拟客服机器人灵活地在不同对话场景间切换,切换是在每轮自然对话时由对话内容自动感知进行的,无需外部干预,解决了对话割裂等问题,进一步推动了虚拟数字人在拟人化、交互能力等发面的发展。
Description
技术领域
本发明涉及自然语言处理技术领域,具体涉及一种用于虚拟客服的多场景多轮对话方法与系统。
背景技术
虚拟客服是虚拟数字人在智能客服场景的应用。传统客服一般仅需具备业务查询办理能力,而虚拟客服由于具备生动形象、更具交互能力等特点,往往还承担自然对话、闲聊、问答等任务。这不仅要求虚拟客服需要具备业务规则之外的更一般的通用对话能力,还要求其能够根据用户输入语句和上下文判断当前所处的对话场景,能够自然地在各场景间切换。
目前已经有些工作被提出用于实现多场景多轮对话的切换。徐敏等人在专利号为201811626785.8的发明专利“会话场景切换方法及装置”中提出了一种对话场景切换方法,该方法通过相邻两轮用户输入消息的相似性判断是停留在第一场景还是切换到第二场景,以及是否恢复到第一场景。李春兰等人在专利号为201911166714.9的发明专利“一种基于业务场景的多轮对话体系构建方法及系统”中提出了一种用于多场景业务的多轮对话方法,对不同业务场景预设关键词和预料,使用意图判定模型和规则匹配模型进行场景匹配与转换。王子豪等人在专利号为202010809597.X的发明专利“智能客服多轮会话管理的方法和装置”中提出一种多轮意图模型,通过在与用户多轮的交流中识别用户意图,使得系统可以根据潜在的用户意图类别执行不同的业务逻辑。
上述方法的问题在于它们被设计成只能在两种场景或相似功能的多个场景间切换,且它们大多都只能给出场景切换的“意图”或“信号”,需要由其他方法实现具体的对话逻辑。这些方法更适用于传统的客服机器人,它们通过两轮或多轮对话识别出用户需要办理的业务类型后转交给系统组件实施业务流程。对于虚拟数字人技术在智能客服场景的应用,虚拟人需要自身具备类似真人的完备对话逻辑,并且能够自然灵活地在不同对话场景间切换,这是现有方法不具备的。
发明内容
本发明针对现有技术中存在的技术问题,提供一种用于虚拟客服的多场景多轮对话方法与系统,提供了面向业务办理、知识库查询和闲聊三个不同场景的多轮对话能力,通过一个总体的场景对话调度和方法和三个独立场景的对话方法,智能地识别用户语义并在不同场景的语境间切换并完成对话。
本发明解决上述技术问题的技术方案如下:
一方面,本发明提供一种用于虚拟客服的多场景多轮对话系统,所述多场景包括面向业务办理场景、知识库查询场景和闲聊场景。
其中,所述业务办理场景,是指用户根据指引在各种预设的业务办理线路中进行选择以在各业务办理步骤间前进、后退、跳转或退出的流程。所述知识库查询场景,是指用户在一个包含知识条目和知识内容的数据库中检索特定条目对应内容的流程。所述闲聊场景,是指用户无目的性聊天的非业务查询、非特定内容检索的对话流程。
该对话系统包括对话调度组件、业务办理组件、知识库查询组件和聊天组件;
所述对话调度组件,用于管理各场景对话组件的运行顺序和调用关系,提供与外部交互的接口;每轮对话中,接收外部输入的文本或语音,经处理后将响应文本或语音返回,等待下一次输入;
所述业务办理组件,用于处理业务办理相关的对话,维护所有的业务规则办理线路并记录当前业务办理进度;
所述知识库查询组件,用于处理非业务办理类型的通用知识检索型对话,维护知识库并管理一个上下文记录器用于跟踪查询进度;
所述聊天组件,用于处理不属于业务办理同时不属于内容检索的聊天型对话,维护当前多轮聊天的历史会话内容。
进一步的,所述业务办理组件包括业务办理线路、进度记录器、业务办理查询接口和进度重置接口;
所述业务办理线路,包括由业务办理步骤的节点按顺序组成的线性数据结构,支持单条或多条业务办理线路;每个节点至少包含进入该节点的预置语料、指向下一节点的信息、用户回复的处理方法;每个节点负责处理一轮对话,该节点首先返回一段预置语料,用户根据该预料进行回复,节点检查用户的回复信息并决定节点跳转信息;
所述进度记录器,为一个用于记录当前所处节点位置的变量,包含当前所处的线路和该线路的节点位置;初始情况下进度记录器指向一个初始节点;所述初始节点不包含预置语料和下一节点信息,以各业务办理线路的首个节点作为跳转节点,并以各业务办理线路的业务描述作为触发文本;
所述业务办理查询接口,用于执行单轮业务办理对话;将用户输入发送给当前进度记录器指向的节点,该节点返回响应文本并按照该节点规则将进度记录器指向新的节点;
所述进度重置接口,用于重置所述进度记录器,将其指向初始节点。
进一步的,所述业务办理线路中,还包括特殊跳转节点,所述特殊跳转节点中包含特殊触发文本以及触发后的跳转节点、响应文本或退出信息。
进一步的,节点检查用户的回复信息并决定节点跳转信息,包括:
节点收到用户的回复信息后,判断节点内是否包含特殊触发文本,若包含则将用户的回复信息与节点的特殊触发文本进行匹配,若匹配不成功或节点内不包含特殊触发文本,则进入下一节点,若匹配成功,则跳转至该节点所包含的所述触发后的跳转节点。
进一步的,所述知识库查询组件,包括知识库模块、检索上下文模块、知识库查询接口和上下文重置接口;
所述知识库模块,包括一个或多个有向无环的树结构,由知识标签和知识内容组成;根节点是一级知识标签,中间节点是嵌套的多级标签,叶子节点是最终的知识内容,每个节点至少包含该节点代表的知识标签文本或知识内容文本;
所述检索上下文模块,包含当前所处检索节点的子标签列表和各子标签位置索引,初始时或检索节点处于叶子节点时,检索上下文模块为空;
所述知识库查询接口,用于执行单轮知识库查询对话;查询时直接检索非叶子节点的任意知识标签;
所述上下文重置接口,用于将检索上下文模块重置为空。
进一步的,知识库查询接口在执行单轮知识库查询对话时,执行如下操作:
获取用户的查询文本,并判断检索上下文模块是否为空;
若检索上下文模块不为空,计算查询文本与检索上下文的相似度;若最高相似度大于第一预设阈值,返回最高相似度的子标签的下级标签或知识内容,更新检索上下文模块,否则返回“匹配失败”信号;
若检索上下文模块为空,计算查询文本与所有知识标签的相似度;若最高相似度大于第二预设阈值,返回最高相似度对应的知识标签的下级标签或知识内容,更新检索上下文模块;否则返回“检索失败”信号。
进一步的,所述聊天组件包括:多轮对话聊天模型、历史聊天记录模块、聊天记录查询接口和聊天记录重置接口;
所述多轮对话聊天模型为一个生成式Seq2Seq神经网络模型,以历史聊天记录和当前轮次的查询文本作为输入,输出当前轮次的聊天响应文本;
所述历史聊天记录模块,用于记录一段历史轮数内的查询文本和响应文本,所述历史轮数可以是有限或无限的,初始情况下历史聊天记录模块为空;
所述聊天记录查询接口,用于执行单轮聊天对话;其聊天方法为:将历史聊天记录与查询文本拼接后经多轮对话聊天模型转发,返回模型输出;
所述聊天记录重置接口,用于将所述历史聊天记录模块重置为空。
进一步的,所述对话调度组件,包括:
信息接收模块,用于接收用户输入的查询文本或查询语音;
转换模块,用于采用语音转文本算法将输入的查询语音解析为查询文本;
调度响应模块,用于将所述查询文本作为输入,依次调用所述业务办理组件、知识库查询组件和聊天组件对所述查询文本进行匹配,获得相应的响应文本作为输出文本,确认对话意图;
输出模块,用于将所述输出文本返回给用户。
进一步的,所述调度响应模块,具体用于,
将所述查询文本作为输入,调用所述业务办理组件中的业务办理查询接口进行文本匹配,并根据匹配结果获得第一响应文本,若第一响应文本不为“匹配失败”信号,则确认对话意图为业务办理,将第一响应文本作为输出文本,并调用知识库查询组件的上下文重置接口以及聊天组件的聊天记录重置接口,否则调用所述知识库查询组件中的知识库查询接口进行文本匹配;
所述知识库查询组件根据匹配结果获得第二响应文本,若第二响应文本不为“匹配失败”或“检索失败”,则确认对话意图为知识库查询,将第二响应文本作为输出文本,并调用业务办理组件的进度重置接口及聊天组件的聊天记录重置接口;若第二响应文本为“匹配失败”信号,则调用知识库查询组件的上下文重置接口重置知识库查询的历史状态,并调用所述业务办理组件中的业务办理查询接口进行文本匹配;若第二响应文本为“检索失败”,则确认对话意图为一般性聊天,调用聊天组件中的聊天记录查询接口,获得第三响应文本作为输出文本,并调用业务办理组件的进度重置接口以及知识库查询组件的上下文重置接口。
另一方面,本发明还提供一种用于虚拟客服的多场景多轮对话方法,该方法基于上述的一种用于虚拟客服的多场景多轮对话系统实现,包括以下步骤:
步骤1,接收用户输入的查询文本或查询语音,若输入为语音,执行步骤2,否则执行步骤3;
步骤2,采用语音转文本算法将查询语音解析为查询文本;
步骤3,以查询文本为输入,调用业务办理组件的查询接口,获得第一响应文本;若第一响应文本不为“失败”信号,确认该轮对话意图为业务办理,以第一响应文本作为输出文本暂存,调用知识库查询组件的上下文重置接口,调用聊天组件的聊天记录重置接口,执行步骤6;否则执行步骤4;
步骤4,以查询文本为输入,调用知识库查询组件的查询接口,获得第二响应文本;若第二响应文本不为“匹配失败”或“检索失败”信号,则确认该轮对话意图为知识库查询,以第二响应文本作为输出文本暂存;调用业务办理组件的进度重置接口,调用聊天组件的聊天记录重置接口,执行步骤6;如果第二响应文本为“匹配失败”信号,即说明上一轮对话意图为知识库查询,但本轮查询进度与上一轮不匹配,则调用知识库查询组件的上下文重置接口重置知识库查询的历史状态,然后执行步骤3;如果第二响应文本为“检索失败”,即说明查询文本与知识库条目不匹配,则确认该轮对话意图不为知识库查询,执行步骤5;
步骤5,确认该轮对话意图为一般性聊天,以查询文本为输入,调用聊天组件的查询接口,获得第三响应文本作为输出文本暂存;调用业务办理组件的进度重置接口,调用知识库查询组件的上下文重置接口,执行步骤6;
步骤6,若用户输入为文本,将暂存的输出文本返回给用户,否则采用文本转语音算法将输出文本合成为音频后返回给用户。
本发明的有益效果是:本发明提出的用于虚拟客服的多场景多轮对话方法提供了面向业务办理、知识库查询和闲聊三个不同场景的多轮对话能力,通过一个总体的场景对话调度和方法和三个独立场景的对话方法,智能地识别用户语义并在不同场景的语境间切换并完成对话。所述场景切换不需要外部信号干预,而是在与用户的每轮对话中智能判断并实施的。判断基于多轮对话中用户输入与场景文本条目的语义相似度,而不是基于关键词的简单意图分类,因此能实现较高的精度。另外,本发明实现了从用户输入信息到返回响应文本的完整对话功能,不依赖外部的对话系统。
综上所述,本发明提出的方法在一定程度上解决了虚拟客服在不同对话场景间切换时需要外部干预、对话割裂等问题,进一步推动了虚拟数字人在拟人化、交互能力等发面的发展。
附图说明
图1是根据本发明实施例的用于虚拟客服的多场景多轮对话系统组件示意图;
图2是根据本发明实施例的业务办理线路示意图;
图3是根据本发明实施例的知识库查询对话流程示意图;
图4是根据本发明实施例的闲聊对话流程示意图;
图5是根据本发明实施例的多场景对话调度流程示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本申请的描述中,术语“例如”一词用来表示“用作例子、例证或说明”。本申请中被描述为“例如”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本发明,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本发明。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本发明的描述变得晦涩。因此,本发明并非旨在限于所示的实施例,而是与符合本申请所公开的原理和特征的最广范围相一致。
实施例1
图1为本发明一个实施例,提供一种用于虚拟客服的多场景多轮对话系统。该系统面向业务办理、知识库查询、闲聊共三种对话场景,其能够根据用户输入自动识别意图并在三种对话场景之间切换,并完成相应场景的对话回复。其中,所述业务办理场景,是指用户根据指引在各种预设的业务办理线路中进行选择以在各业务办理步骤间前进、后退、跳转或退出的流程;所述知识库查询,是指用户在一个包含知识条目和知识内容的数据库中检索特定条目对应内容的流程;所述闲聊场景,是指用户无目的性聊天的非业务查询、非特定内容检索的对话流程。
如图1所示,该系统10包含:对话调度组件100、业务办理组件200、知识库查询组件300和聊天组件400。
其中,对话调度组件100接收用户的每轮对话输入,按照一定的方法调用各场景对话组件,得到输出文本并返回给用户。业务办理组件200负责执行业务办理对话方法,它维护所有的业务规则办理线路并记录当前业务办理进度,并额外与一个外部真实业务系统对接以执行业务逻辑。知识库查询组件300,用于处理非业务办理类型的通用知识检索型对话,它维护知识库并管理一个上下文记录器用于跟踪查询进度。聊天组件400,用于处理不属于业务办理同时不属于内容检索的更一般的聊天型对话,它维护当前多轮聊天的历史会话内容。
如图1所示,本实施例的系统10的运行还依赖两个外部组件,即业务系统和预训练模型。
业务系统是一个真实的业务运行环境,用于实际执行业务逻辑,它与本专利的多场景多轮对话系统是独立的,仅用于本实施例中该对话系统用于执行实际业务时的举例说明。业务办理组件200与业务系统对接,在对话层面之外执行业务的办理。优选地,业务办理组件200与业务系统的对接可以发生在每个对话节点,在需要时将信息提交给业务系统并获取返回值。业务办理组件200也可以在对话过程中收集足够的业务办理信息,在最后一次性提交给业务系统获取返回值。
预训练模型是任意的用于文本特征提取和闲聊的神经网络模型,它们与本发明所提出的多场景多轮对话方法与系统的核心功能无关,具有一定的任意性,本发明不限制所采用的具体业务环境和预训练模型。
优选的,所述业务办理组件200包括业务办理线路、进度记录器、业务办理查询接口和进度重置接口。
所述业务办理线路,是指一种由业务办理步骤的节点按顺序组成的线性数据结构,支持单条或多条业务办理线路;每个节点负责处理一轮对话,该节点首先返回一段预置语料,用户根据该预料进行回复,节点检查该回复并决定节点跳转信息;每个节点至少包含进入该节点的预置语料、指向下一节点的信息、用户回复的处理方法;对于需要根据回复信息进行步骤跳转的节点,还包含特殊触发文本以及触发后的跳转节点、响应文本或退出信息;对于任意节点,若该节点不存在触发文本或用户回复没有触发特殊文本,则进入下一节点。
所述进度记录器,是指一个用于记录当前所处节点位置的变量,包含当前所处的线路和该线路的节点位置;初始情况下记录器指向一个特殊的初始节点,该节点不包含预置语料和下一节点信息,但以各业务办理线路的首个节点作为跳转节点,以其业务描述作为触发文本;当用户输入文本不与任何触发文本匹配时,返回“匹配失败”信号。
所述业务办理查询接口,用于执行单轮业务办理对话;将用户输入发送给当前进度记录器指向的节点,若该节点返回“失败”信号,保持进度记录器不变并返回“失败”信号和错误原因,否则返回响应文本并按照该节点规则将进度记录器指向新的节点。
所述进度重置接口,用于重置所述进度记录器,将其指向初始节点。
优选的,所述知识库查询组件300,包括知识库模块、检索上下文模块、知识库查询接口和上下文重置接口。
所述知识库模块,包括一个或多个有向无环的树结构,由知识标签和知识内容组成;根节点是一级知识标签,中间节点是嵌套的多级标签,叶子节点是最终的知识内容,每个节点至少包含该节点代表的知识标签文本或知识内容文本。
所述检索上下文模块,包含当前所处检索节点的子标签列表和各子标签位置索引,初始时或检索节点处于叶子节点时,检索上下文模块为空。
所述知识库查询接口,用于执行单轮知识库查询对话;不必按照顺序从一级标签开始,可以直接检索非叶子节点的任意知识标签,其检索方法为:若检索上下文不为空,计算输入文本与检索上下文的相似度;若最高相似度大于第一预设阈值,返回最高相似度的子标签的下级标签或知识内容,更新检索上下文,否则返回“匹配失败”信号;若检索上下文为空,计算输入文本与所有知识标签的相似度;若最高相似度大于第二预设阈值,返回最高相似度对应的知识标签的下级标签或知识内容,更新检索上下文;否则返回“检索失败”信号。
所述上下文重置接口,用于将检索上下文模块重置为空。
优选的,所述聊天组件400包括:多轮对话聊天模型、历史聊天记录模块、聊天记录查询接口和聊天记录重置接口;
所述多轮对话聊天模型为一个生成式Seq2Seq神经网络模型,以历史聊天记录和当前轮次的查询文本作为输入,输出当前轮次的聊天响应文本;
所述历史聊天记录模块,用于记录一段历史轮数内的查询文本和响应文本,所述历史轮数可以是有限或无限的,初始情况下历史聊天记录模块为空;
所述聊天记录查询接口,用于执行单轮聊天对话;其聊天方法为:将历史聊天记录与查询文本拼接后经多轮对话聊天模型转发,返回模型输出;
所述聊天记录重置接口,用于将所述历史聊天记录模块重置为空。
优选的,所述对话调度组件100,包括:
信息接收模块,用于接收用户输入的查询文本或查询语音;
转换模块,用于采用语音转文本算法将输入的查询语音解析为查询文本;
调度响应模块,用于实现三个场景间的对话调度与响应;
输出模块,用于将所述输出文本返回给用户。
具体的,所述调度响应模块将所述查询文本作为输入,调用所述业务办理组件中的业务办理查询接口进行文本匹配,并根据匹配结果获得第一响应文本,若第一响应文本不为“匹配失败”信号,则确认对话意图为业务办理,将第一响应文本作为输出文本,并调用知识库查询组件的上下文重置接口以及聊天组件的聊天记录重置接口,否则调用所述知识库查询组件中的知识库查询接口进行文本匹配;
所述知识库查询组件根据匹配结果获得第二响应文本,若第二响应文本不为“匹配失败”或“检索失败”,则确认对话意图为知识库查询,将第二响应文本作为输出文本,并调用业务办理组件的进度重置接口及聊天组件的聊天记录重置接口;若第二响应文本为“匹配失败”信号,则调用知识库查询组件的上下文重置接口重置知识库查询的历史状态,并调用所述业务办理组件中的业务办理查询接口进行文本匹配;若第二响应文本为“检索失败”,则确认对话意图为一般性聊天,调用聊天组件中的聊天记录查询接口,获得第三响应文本作为输出文本,并调用业务办理组件的进度重置接口以及知识库查询组件的上下文重置接口。
根据该实施例,每轮对话时系统10接收用户的一段输入文本,随后输出响应文本,用户获取响应文本后组织第二轮文本作为输入,如此往复。系统10处理完当前轮次后会一直等待用户输入下一段文本,直至系统关闭。需要注意,此处列举的输入输出形式是以介绍本系统主要工作原理而设计的,用户的原始输入也可以是语音等能被转换成文本的任意形式,输出文本也可以再经语音合成、动作生成等方式展现给用户用于进行第二轮对话,本发明不限制该系统与用户交互的来源数据形式。
实施例2
在本实施例中,提供了一种业务办理对话方法,该方法可由业务办理组件200执行。本实施例以某电信运营商电信业务办理场景为例,提供两种业务:预打票和资金到账核销,所采用的文本匹配方法为精确匹配。图2展示了本实施例的业务办理线路示意图。
根据图2所示,本实施例的业务办理对话流程的各节点执行逻辑说明如下(以下步骤均由业务办理组件200执行):
初始节点。判断输入文本是否与触发文本匹配。若匹配“预打票服务”,将进度记录器指向业务A-步骤1;若匹配“资金到账核销服务”,将进度记录器指向业务B-步骤1。否则返回”匹配失败“。
业务A-步骤1。返回语料“请输入合同号”,用户回复后将进度记录器指向业务A-步骤2。
业务A-步骤2。返回语料“请输入账期”,用户回复后将进度记录器指向业务A-步骤3。
业务A-步骤3。返回语料“请确认合同号、账期是否正确”。用户回复匹配“错误”或“不正确”时,将进度记录器指向业务A-步骤1,否则将其指向业务A-步骤4。
业务A-步骤4。返回语料“已启动预打票服务”,调用业务系统,返回业务系统执行结果,将进度记录器指向初始节点。
业务B-步骤1。返回语料“是否确认启动资金到账核销”。用户回复“否”时,将进度记录器指向初始节点,否则将其指向业务B-步骤2。
业务B-步骤2。返回语料“任务已启动”,调用业务系统,返回业务系统执行结果,将进度记录器指向初始节点。
实施例3
在本实施例中,提供了一种知识库查询对话方法,如图3所示,该方法可由知识库查询组件300执行。
根据图3所示,本实施例知识库查询对话具体流程如下。
步骤S101:初始化知识库。
记第k颗知识树、第l层的第i个节点的知识标签或知识内容文本为。其中,/>,/>,K为知识树的数量,/>为第k颗知识树的最大层数,/>为第k颗树第l层的同级知识标签数量,当为叶子节点时有/>。
使用BERT模型提取的特征向量,记为/>。BERT是一种在大规模语料库上使用语言模型预训练的神经网络,它能够实现将一段文本字符串映射为一个实数特征向量的功能,即/>,h是BERT中的隐藏层维度。注意,BERT预训练模型属于上述<实施例1>中的外部组件,使用BERT预训练模型提取文本特征向量只是用于计算文本相似度时的一种文本特征化方法,本发明不限制知识库查询的文本相似度度量指标和具体计算方法。
初始化知识库查询的检索上下文为。
使用余弦相似度作为文本相似度的度量指标。设置余弦相似度阈值为。
步骤S102:输入文本,使用BERT提取其特征向量为/>。
步骤S103:若检索上下文为空,设置待匹配特征为/>,否则设置待匹配特征为/>。
步骤S104:计算输入文本与待匹配特征的余弦相似度,找出最大相似度值与其对应的知识库节点/>:
步骤S105:若,执行步骤S106,否则执行步骤S109。
步骤S106:若(即叶子节点),执行步骤S107,否则执行步骤S108。
步骤S107:重置检索上下文,返回知识内容/>。
步骤S108:设置检索上下文为,/>,返回子层的所有知识标题,/>。
步骤S109:若检索上下文为空,返回“匹配失败”信号,否则返回“检索失败”信号。
以上列举的流程示例是针对单轮查询对话而言的,即用户输入查询文本,知识库查询组件300通过上述对话方法返回响应文本。在实际使用时知识库初始化步骤S101仅会在最开始执行一次。
实施例4
在本实施例中,提供了一种闲聊对话方法,如图4所示,该方法可由聊天组件400执行。
作为示例,本实施例使用基于NEZHA的生成式多轮对话模型,该模型已经在大规模闲聊语料库上进行了训练。注意,所述已训练的生成式多轮对话模型属于上述<系统实施例>中的外部组件,本发明不限制具体采用的闲聊算法模型。
根据图4所示,本实施例闲聊对话方法具体流程如下。
步骤S201:初始化聊天历史记录。
步骤S202:接受用户输入的对话文本。
步骤S203:将聊天历史记录与输入文本进行拼接,拼接以特殊字符串"[SEP]"作为分隔符。
步骤S204:将拼接后的文本输入所述生成式对话模型,得到输出文本。
步骤S205:将输入文本与输出文本追加至聊天历史记录末尾。
步骤S206:返回输出文本。
以上列举的流程示例是针对单轮闲聊对话而言的,在实际使用时聊天历史记录初始化步骤S201仅会在最开始执行一次。
实施例5
上述<实施例2>、<实施例3>和<实施例4>提出了适用于各场景对话的实施方法,为了按照本发明所述将各场景对话方法结合、衔接起来,本实施例提供了一种多场景多轮对话调度方法,如图5所示,用于将上述三个实施例提出的场景对话方法统筹起来,以实现对话意图识别和场景切换的核心逻辑。
本实施例提出的多场景多轮对话调度方法所实现的意图识别和场景切换并不依赖于业务办理对话方法、知识库查询对话方法和闲聊对话方法外的其他意图识别或分类算法,而是根据业务办理、知识库查询和闲聊三者在目的明确性上逐渐递减的事实,按顺序逐一调用每个方法。若某一场景对话方法识别成功则认为该轮对话意图为该场景,否则对话调度方法将输入文本提交给下一个场景对话方法。直到最后,如果该轮对话意图既不为业务办理也不为知识库查询,则按照目的性最弱的场景(即一般性无目的对话)将其输入聊天组件,返回闲聊的响应语句。
该方法可由对话调度组件100执行。根据图5所示,本实施例的多场景多轮对话调度方法具体流程如下。
步骤S301:初始化业务办理组件、知识库查询组件和聊天组件。
步骤S302:接收用户输入的文本或语音。
步骤S303:如果输入为语音,使用语音转文本算法将用户语音解析为文本。
步骤S304:将文本输入业务办理组件查询接口得到业务办理输出。
步骤S305:若业务办理输出为“匹配失败”时,执行步骤S307,否则执行步骤S306。
步骤S306:暂存业务办理组件的查询输出。调用知识库查询组件检索上下文重置接口,调用聊天组件历史聊天记录重置接口。
此处当业务办理组件返回值不为“匹配失败”信息时,代表在业务办理组件看来用户的对话意图是业务办理。对话调度组件重置知识库查询的历史状态(检索上下文)和聊天的历史状态(历史聊天记录),目的是在确认进入某一对话场景后将其他对话场景的历史信息清空。作为可选的实施方法,如果希望暂存某一场景的对话状态,在下一次进入该场景时仍能恢复对话进度,可以不重置历史信息。
步骤S307:将对话文本输入知识库查询接口得到知识库输出。
步骤S308:若知识库输出为“检索失败”,执行步骤S309,否则执行步骤S310。
步骤S309:调用知识库查询组件检索上下文重置接口,然后执行步骤S304。
此处,当知识库查询组件返回“检索失败”信号时,代表知识库处于正在查询中的状态,并且用户上一轮输入匹配到了中间某一层级的知识标签,该知识标签包含一系列子标签,需要等待用户此轮输入进行选择。而“检索失败”意味着此轮在检索上下文中并没有匹配到用户输入的文本信息,则用户此轮输入的意图很可能是转向一个新的对话场景,或想跳出现有知识库查询线路进行一个新知识标签的查询。因此,对话调度组件重置知识库的检索上下文信息,并从头开始重新执行步骤S304。由于知识库检索上下文已被重置,本步骤S309在新的一次迭代中不会重复执行,不会产生无限循环。
步骤S310:若知识库输出不为“匹配失败”,执行步骤S311,否则执行步骤S312。
步骤S311:暂存知识库输出文本。若输出是知识标签列表,优选地使用预置语料将其按照一定规则组织起来,例如“请选择您想查询的子标签:...”,用于提示用户可选的下一层知识标签信息。
步骤S312:将对话文本输入聊天组件查询接口得到闲聊输出,暂存闲聊输出文本。
步骤S313:如果该论对话的输入是语音,使用语音合成算法将暂存的输出文本转换为语音作为最终输出,否则以文本作为最终输出。
步骤S314:将最终输出返回给用户,并等待下一轮输入。
本发明提出的用于虚拟客服的多场景多轮对话方法及系统能够使虚拟客服机器人灵活地在不同对话场景间切换,切换是在每轮自然对话时由对话内容自动感知进行的,无需外部干预,解决了对话割裂等问题,进一步推动了虚拟数字人在拟人化、交互能力等发面的发展。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
Claims (10)
1.一种用于虚拟客服的多场景多轮对话系统,所述多场景包括业务办理场景、知识库查询场景和闲聊场景,其特征在于,包括对话调度组件、业务办理组件、知识库查询组件和聊天组件;
所述对话调度组件,用于管理各场景对话组件的运行顺序和调用关系,提供与外部交互的接口;每轮对话中,接收外部输入的文本或语音,经处理后将响应文本或语音返回,等待下一次输入;
所述业务办理组件,用于处理业务办理相关的对话,维护所有的业务规则办理线路并记录当前业务办理进度;
所述知识库查询组件,用于处理非业务办理类型的通用知识检索型对话,维护知识库并管理一个上下文记录器用于跟踪查询进度;
所述聊天组件,用于处理不属于业务办理同时不属于内容检索的聊天型对话,维护当前多轮聊天的历史会话内容。
2.根据权利要求1所述的用于虚拟客服的多场景多轮对话系统,其特征在于,所述对话调度组件,包括:
信息接收模块,用于接收用户输入的查询文本或查询语音;
转换模块,用于采用语音转文本算法将输入的查询语音解析为查询文本;
调度响应模块,用于将所述查询文本作为输入,依次调用所述业务办理组件、知识库查询组件和聊天组件对所述查询文本进行匹配,获得相应的响应文本作为输出文本,确认对话意图;
输出模块,用于将所述输出文本返回给用户。
3.根据权利要求2所述的用于虚拟客服的多场景多轮对话系统,其特征在于,所述业务办理组件包括业务办理线路、进度记录器、业务办理查询接口和进度重置接口;
所述业务办理线路,包括由业务办理步骤的节点按顺序组成的线性数据结构,支持单条或多条业务办理线路;每个节点至少包含进入该节点的预置语料、指向下一节点的信息、用户回复的处理方法;每个节点负责处理一轮对话,该节点首先返回一段预置语料,用户根据该预料进行回复,节点检查用户的回复信息并决定节点跳转信息;
所述进度记录器,为一个用于记录当前所处节点位置的变量,包含当前所处的线路和该线路的节点位置;初始情况下进度记录器指向一个初始节点;所述初始节点不包含预置语料和下一节点信息,以各业务办理线路的首个节点作为跳转节点,并以各业务办理线路的业务描述作为触发文本;
所述业务办理查询接口,用于执行单轮业务办理对话;将用户输入发送给当前进度记录器指向的节点,该节点返回响应文本并按照该节点规则将进度记录器指向新的节点;
所述进度重置接口,用于重置所述进度记录器,将其指向初始节点。
4.根据权利要求3所述的用于虚拟客服的多场景多轮对话系统,其特征在于,所述业务办理线路中,还包括特殊跳转节点,所述特殊跳转节点中包含特殊触发文本以及触发后的跳转节点、响应文本或退出信息。
5.根据权利要求4所述的用于虚拟客服的多场景多轮对话系统,其特征在于,节点检查用户的回复信息并决定节点跳转信息,包括:
节点收到用户的回复信息后,判断节点内是否包含特殊触发文本,若包含则将用户的回复信息与节点的特殊触发文本进行匹配,若匹配不成功或节点内不包含特殊触发文本,则进入下一节点,若匹配成功,则跳转至该节点所包含的所述触发后的跳转节点。
6.根据权利要求3所述的用于虚拟客服的多场景多轮对话系统,其特征在于,所述知识库查询组件,包括知识库模块、检索上下文模块、知识库查询接口和上下文重置接口;
所述知识库模块,包括一个或多个有向无环的树结构,由知识标签和知识内容组成;根节点是一级知识标签,中间节点是嵌套的多级标签,叶子节点是最终的知识内容,每个节点至少包含该节点代表的知识标签文本或知识内容文本;
所述检索上下文模块,包含当前所处检索节点的子标签列表和各子标签位置索引,初始时或检索节点处于叶子节点时,检索上下文模块为空;
所述知识库查询接口,用于执行单轮知识库查询对话;查询时直接检索非叶子节点的任意知识标签;
所述上下文重置接口,用于将检索上下文模块重置为空。
7.根据权利要求6所述的用于虚拟客服的多场景多轮对话系统,其特征在于,知识库查询接口在执行单轮知识库查询对话时,执行如下操作:
获取用户的查询文本,并判断检索上下文模块是否为空;
若检索上下文模块不为空,计算查询文本与检索上下文的相似度;若最高相似度大于第一预设阈值,返回最高相似度的子标签的下级标签或知识内容,更新检索上下文模块,否则返回“匹配失败”信号;
若检索上下文模块为空,计算查询文本与所有知识标签的相似度;若最高相似度大于第二预设阈值,返回最高相似度对应的知识标签的下级标签或知识内容,更新检索上下文模块;否则返回“检索失败”信号。
8.根据权利要求6所述的用于虚拟客服的多场景多轮对话系统,其特征在于,所述聊天组件包括:多轮对话聊天模型、历史聊天记录模块、聊天记录查询接口和聊天记录重置接口;
所述多轮对话聊天模型为一个生成式Seq2Seq神经网络模型,以历史聊天记录和当前轮次的查询文本作为输入,输出当前轮次的聊天响应文本;
所述历史聊天记录模块,用于记录一段历史轮数内的查询文本和响应文本,所述历史轮数可以是有限或无限的,初始情况下历史聊天记录模块为空;
所述聊天记录查询接口,用于执行单轮聊天对话;其聊天方法为:将历史聊天记录与查询文本拼接后经多轮对话聊天模型转发,返回模型输出;
所述聊天记录重置接口,用于将所述历史聊天记录模块重置为空。
9.根据权利要求8所述的用于虚拟客服的多场景多轮对话系统,其特征在于,所述对话调度组件中的调度响应模块,具体用于:
将所述查询文本作为输入,调用所述业务办理组件中的业务办理查询接口进行文本匹配,并根据匹配结果获得第一响应文本,若第一响应文本不为“匹配失败”信号,则确认对话意图为业务办理,将第一响应文本作为输出文本,并调用知识库查询组件的上下文重置接口以及聊天组件的聊天记录重置接口,否则调用所述知识库查询组件中的知识库查询接口进行文本匹配;
所述知识库查询组件根据匹配结果获得第二响应文本,若第二响应文本不为“匹配失败”或“检索失败”,则确认对话意图为知识库查询,将第二响应文本作为输出文本,并调用业务办理组件的进度重置接口及聊天组件的聊天记录重置接口;若第二响应文本为“匹配失败”信号,则调用知识库查询组件的上下文重置接口重置知识库查询的历史状态,并调用所述业务办理组件中的业务办理查询接口进行文本匹配;若第二响应文本为“检索失败”,则确认对话意图为一般性聊天,调用聊天组件中的聊天记录查询接口,获得第三响应文本作为输出文本,并调用业务办理组件的进度重置接口以及知识库查询组件的上下文重置接口。
10.一种用于虚拟客服的多场景多轮对话方法,该方法基于权利要求1-9任一项所述的一种用于虚拟客服的多场景多轮对话系统实现,其特征在于,包括以下步骤:
步骤1,接收用户输入的查询文本或查询语音,若输入为语音,执行步骤2,否则执行步骤3;
步骤2,采用语音转文本算法将查询语音解析为查询文本;
步骤3,以查询文本为输入,调用业务办理组件的查询接口,获得第一响应文本;若第一响应文本不为“失败”信号,确认该轮对话意图为业务办理,以第一响应文本作为输出文本暂存,调用知识库查询组件的上下文重置接口,调用聊天组件的聊天记录重置接口,执行步骤6;否则执行步骤4;
步骤4,以查询文本为输入,调用知识库查询组件的查询接口,获得第二响应文本;若第二响应文本不为“匹配失败”或“检索失败”信号,则确认该轮对话意图为知识库查询,以第二响应文本作为输出文本暂存;调用业务办理组件的进度重置接口,调用聊天组件的聊天记录重置接口,执行步骤6;如果第二响应文本为“匹配失败”信号,即说明上一轮对话意图为知识库查询,但本轮查询进度与上一轮不匹配,则调用知识库查询组件的上下文重置接口重置知识库查询的历史状态,然后执行步骤3;如果第二响应文本为“检索失败”,即说明查询文本与知识库条目不匹配,则确认该轮对话意图不为知识库查询,执行步骤5;
步骤5,确认该轮对话意图为一般性聊天,以查询文本为输入,调用聊天组件的查询接口,获得第三响应文本作为输出文本暂存;调用业务办理组件的进度重置接口,调用知识库查询组件的上下文重置接口,执行步骤6;
步骤6,若用户输入为文本,将暂存的输出文本返回给用户,否则采用文本转语音算法将输出文本合成为音频后返回给用户。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310806021.1A CN116860934A (zh) | 2023-07-03 | 2023-07-03 | 一种用于虚拟客服的多场景多轮对话方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310806021.1A CN116860934A (zh) | 2023-07-03 | 2023-07-03 | 一种用于虚拟客服的多场景多轮对话方法与系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116860934A true CN116860934A (zh) | 2023-10-10 |
Family
ID=88218374
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310806021.1A Pending CN116860934A (zh) | 2023-07-03 | 2023-07-03 | 一种用于虚拟客服的多场景多轮对话方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116860934A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117131183A (zh) * | 2023-10-26 | 2023-11-28 | 南通贝瑞斯曼信息科技有限公司 | 一种基于会话模拟的客服自动回复方法及系统 |
CN117671212A (zh) * | 2023-12-13 | 2024-03-08 | 江苏麦克数字空间营造有限公司 | 基于元宇宙的展厅展览系统及其交互方法 |
-
2023
- 2023-07-03 CN CN202310806021.1A patent/CN116860934A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117131183A (zh) * | 2023-10-26 | 2023-11-28 | 南通贝瑞斯曼信息科技有限公司 | 一种基于会话模拟的客服自动回复方法及系统 |
CN117131183B (zh) * | 2023-10-26 | 2024-01-26 | 南通贝瑞斯曼信息科技有限公司 | 一种基于会话模拟的客服自动回复方法及系统 |
CN117671212A (zh) * | 2023-12-13 | 2024-03-08 | 江苏麦克数字空间营造有限公司 | 基于元宇宙的展厅展览系统及其交互方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10297252B2 (en) | Predicting and learning carrier phrases for speech input | |
CN107038220B (zh) | 用于生成备忘录的方法、智能机器人及系统 | |
CN109792402B (zh) | 自动响应用户的请求 | |
US7398211B2 (en) | Method and apparatus for performing plan-based dialog | |
CN110111780B (zh) | 数据处理方法和服务器 | |
US9466294B1 (en) | Dialog management system | |
US7386449B2 (en) | Knowledge-based flexible natural speech dialogue system | |
CN105975530B (zh) | 基于聊天大数据知识库的机器人对话控制方法和系统 | |
CN111026886B (zh) | 一种针对专业场景的多轮对话处理方法 | |
CN112100354A (zh) | 人机对话方法、装置、设备及存储介质 | |
CN110069612B (zh) | 一种回复生成方法及装置 | |
CN111191450A (zh) | 语料清洗方法、语料录入设备及计算机可读存储介质 | |
CN116860934A (zh) | 一种用于虚拟客服的多场景多轮对话方法与系统 | |
CN111651572A (zh) | 一种多领域任务型对话系统、方法和终端 | |
CN112131885A (zh) | 语义识别方法、装置、电子设备及存储介质 | |
CN110287364A (zh) | 语音搜索方法、系统、设备及计算机可读存储介质 | |
CN116910220A (zh) | 多轮对话交互处理方法、装置、设备和存储介质 | |
CN113343692A (zh) | 搜索意图的识别方法、模型训练方法、装置、介质及设备 | |
CN117573834A (zh) | 一种用于面向软件即服务平台的多机器人对话方法及系统 | |
CN116955579A (zh) | 一种基于关键词知识检索的聊天回复生成方法和装置 | |
CN112069830A (zh) | 一种智能会话方法及装置 | |
CN109388695B (zh) | 用户意图识别方法、设备及计算机可读存储介质 | |
CN111291169B (zh) | 模板编辑回复的方法、装置、设备及存储介质 | |
CN113779987A (zh) | 一种基于自注意力增强语义的事件共指消岐方法及系统 | |
CN113822506A (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 |