CN115617972B - 一种机器人对话方法、装置、电子设备及存储介质 - Google Patents
一种机器人对话方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115617972B CN115617972B CN202211597920.7A CN202211597920A CN115617972B CN 115617972 B CN115617972 B CN 115617972B CN 202211597920 A CN202211597920 A CN 202211597920A CN 115617972 B CN115617972 B CN 115617972B
- Authority
- CN
- China
- Prior art keywords
- dialogue
- conversation
- sequence
- dialog
- management module
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 230000009471 action Effects 0.000 claims abstract description 67
- 230000006399 behavior Effects 0.000 claims abstract description 12
- 239000013598 vector Substances 0.000 claims description 34
- 238000013507 mapping Methods 0.000 claims description 19
- 238000012549 training Methods 0.000 claims description 15
- 230000015654 memory Effects 0.000 claims description 13
- 238000004364 calculation method Methods 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 description 30
- 238000010586 diagram Methods 0.000 description 16
- 230000003993 interaction Effects 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 5
- 230000015572 biosynthetic process Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000003786 synthesis reaction Methods 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000013604 expression vector Substances 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
- G06F40/35—Discourse or dialogue representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- 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)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Machine Translation (AREA)
Abstract
本申请提供一种机器人对话方法、装置、电子设备及存储介质,所述方法包括:通过自然语言理解模块,根据输入文本,获得语义信息;语义信息包括对话任务;通过对话管理模块,基于语义信息,生成对话动作;其中,对话管理模块的结构为序列到序列网络结构;对话管理模块与对话任务相对应;通过自然语言生成模块,将对话动作转换为自然语言回复语句。将序列到序列的网络作为岗位机器人的对话管理模块结构,使得对话管理模块具有足够的泛化能力,针对语料中未出现的对话情形也能生成合理的行为。对话管理模块和对话任务是相对应的,根据对话任务确定对应的对话管理模块,使得岗位机器人的回复语句具有导向性,提高了模型性能。
Description
技术领域
本申请涉及信息处理技术领域,具体而言,涉及一种机器人对话方法、装置、电子设备及存储介质。
背景技术
近几年来,随着人工智能的飞速发展,一些行业出现了语音对话机器人,现有的语音对话机器人通常被统计建模成为一个马尔科夫决策过程(Markov Decision Process)模型,通过随机优化的方法来学习对话策略。然而这种方式的机器学习算法泛化能力较差,模型的性能较差。
发明内容
本发明实施例的目的在于一种机器人对话方法、装置、电子设备及存储介质,应用于岗位机器人的对话管理模块是序列到序列的网络结构,提高了模型泛化能力,提高了模型性能。
第一方面,本申请实施例提供了一种机器人对话方法,包括:通过自然语言理解模块,根据输入文本,获得语义信息;语义信息包括对话任务;通过对话管理模块,基于语义信息,生成对话动作;其中,对话管理模块的结构为序列到序列网络结构;对话管理模块与对话任务相对应;通过自然语言生成模块,将对话动作转换为自然语言回复语句。
在上述的实现过程中,通过序列到序列的网络作为岗位机器人的对话管理模块结构,使得对话管理模块具有足够的泛化能力,针对语料中未出现的对话情形也能生成合理的行为。对话管理模块和对话任务是相对应的,根据对话任务确定对应的对话管理模块,使得岗位机器人的回复语句具有导向性,能够生成上下文连贯的对话动作,提高了模型性能。
可选的,在本申请实施例中,根据输入文本,获得语义信息;语义信息包括对话任务,包括:根据语义信息,确定对话任务;根据输入文本以及对话任务,获得本轮对话的上下文序列;本轮对话的上下文序列包括:用户与岗位机器人前一轮对话中岗位机器人的动作、用户与岗位机器人前一轮对话中岗位机器人回复的信息与对话任务不一致的部分、输入文本中的约束条件状态、以及输入文本中的问询内容状态。
在上述的实现过程中,根据输入文本以及对话任务,获得本轮对话的上下文序列,上下文序列包括四部分内容,使得输入文本更加具有解释性,提高对话管理模块的准确性。
可选的,在本申请实施例中,对话管理模块包括编码器、解码器和映射单元;通过对话管理模块,基于语义信息,生成对话动作,包括:通过编码器利用上下文序列获得对话向量;通过解码器根据对话向量获得动作序列;利用映射单元根据预设的数据库,将动作序列映射为对话动作;对话动作包括岗位机器人的行为槽位。
在上述的实现过程中,对话管理系统包括解码器和编码器,实现对话管理系统的结构为序列到序列的网络结构,对于不同长度的输入序列可以得到不同长度的输出序列,符合文本的变长特性,并且考虑了文本元素之间的顺序关系,提高了模型的泛化性。
可选的,在本申请实施例中,语义信息包括用户意图以及词槽;词槽包括可告知槽和可问询槽,可告知槽用于表示用户查询的约束条件,可问询槽用于表示查询的属性。
在上述的实现过程中,获取输入对话的语义信息,获得用户意图和词槽,对输入语音进行更深层次的语义分析,提高对话准确性。
可选的,在本申请实施例中,方法还包括:基于预设的语料库,获得岗位机器人在对话中的目标答复;将自然语言回复语句与目标答复进行相似度计算,获得相似度;若相似度大于预设阈值,则结束本轮对话若相似度小于预设阈值,则基于自然语言回复语句对对话管理模块进行训练。
在上述的实现过程中,通过将自然语言回复语句与目标答复进行相似度计算,获得相似度数据,利用相似度数据对对话管理模块的准确性等性能进行判断,是否需要进行训练,从而提高对话管理系统的准确性。
可选的,在本申请实施例中,在通过自然语言生成模块,将对话动作转换为自然语言回复语句之后,方法还包括:根据输入文本、自然语言回复语句以及对话任务,获得任务完成率;根据输入文本获得每一次对话的对话轮数;通过任务完成率以及每一次对话的对话轮数对对话管理模块进行评价。
在上述的实现过程中,通过任务完成率以及每一次对话的对话轮数对对话管理模块进行评价,将这两个指标作为评价对话管理模块对应的模型的整体效果的评价指标,给出定量的反馈评分用于指导对话管理模型学习优化,提高对话管理模块的准确性。
可选的,在本申请实施例中,在通过自然语言理解模块,根据输入文本,获得语义信息之前,方法还包括:通过语音识别模块获得输入语音,并将输入语音进行语音识别,生成输入文本。
在上述的实现过程中,通过语音识别模块将用户语音识别为输入文本,以及语音合成模块生成输入语音。使得用户可以通过对话的形式与岗位机器人进行对话,以帮助用户完成办公任务。
第二方面,本申请实施例还提供了一种机器人对话装置,包括:自然语言理解模块,用于根据输入文本,获得语义信息;语义信息包括对话任务;对话管理模块,用于基于语义信息,生成对话动作;其中,对话管理模块的结构为序列到序列网络结构;对话管理模块与对话任务相对应;自然语言生成模块,用于将对话动作转换为自然语言回复语句。
第三方面,本申请实施例还提供了一种电子设备,包括:处理器和存储器,存储器存储有处理器可执行的机器可读指令,机器可读指令被处理器执行时执行如上面描述的方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上面描述的方法。
采用本申请提供机器人对话方法、装置、电子设备及存储介质,通过序列到序列的网络作为岗位机器人的对话管理模块结构,对于不同长度的输入序列可以得到不同长度的输出序列,符合文本的变长特性,并且考虑了文本元素之间的顺序关系,提高了模型的泛化性。针对语料中未出现的对话情形也能生成合理的行为。对话管理模块和对话任务是相对应的,根据对话任务确定对应的对话管理模块,使得岗位机器人的回复语句具有导向性,能够生成上下文连贯的用户动作,提高了模型性能。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种机器人对话方法的流程示意图;
图2为本申请提供的编码器解码器训练内部结构图;
图3为本申请提供的编码器解码器预测内部结构图;
图4为本申请实施例提供的岗位机器人对话系统的结构示意图;
图5为本申请实施例提供的对话管理模型的训练流程示意图;
图6为本申请实施例提供的机器人对话装置的结构示意图;
图7为本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合附图对本申请技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本申请的技术方案,因此只作为示例,而不能以此来限制本申请的保护范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。
在本申请实施例的描述中,技术术语“第一”、“第二”等仅用于区别不同对象,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量、特定顺序或主次关系。在本申请实施例的描述中,“多个”的含义是两个及以上,除非另有明确具体的限定。
请参见图1示出的本申请实施例提供的一种机器人对话方法的流程示意图。本申请实施例提供的机器人对话方法可以应用于岗位机器人,岗位机器人通过对用户语音的意图进行判断以及识别,与用户进行对话,以帮助各行各业需要进行办公处理的用户完成办公任务。
步骤S110:通过自然语言理解模块,根据输入文本,获得语义信息;语义信息包括对话任务。
上述步骤S110的实施方式包括:自然语言理解模块(Natural LanguageUnderstanding,NLU),可以解析并“理解”用户输入的信息,将其转变成计算机可以理解的形式。这个过程也可以看作一个信息结构化的过程。输入文本可以为用户输入的语句信息,语句信息为将用户语音进行识别转化获得的,还可以是通过岗位机器人的交互界面,向岗位机器人输入的指令或文字。
在具体的识别过程中,自然语言理解模块根据输入文本,获得语义信息,其中,语义信息包括用户意图以及词槽,用户意图用于判断用户需要做什么,意图识别可以是一个文本分类的过程,自然语言理解模块需要对用户输入的信息进行文本分析,包括对用户输入的语句的成分分析以及语法关系分析等,进而对其潜在的语义信息进行分析。意图的识别方式包括基于规则的方式和基于深度学习的方式等。词槽(slot)是对话系统中的重要概念,词槽的填充是指从用户输入的对话中抽取与对话任务相关及所需的关键信息并补全到词槽中的过程。词槽的获得方式包括基于规则的方式和基于深度学习的方式等。
在获得语义信息之后,可以获得该语义信息对应的对话任务,一个对话任务对应一个对话场景,例如,对话场景可以是使用岗位机器人进行公司财务报销任务、还可以是使用岗位机器人进行信息管理,例如信息的查询及更新,对话场景还可以是利用岗位机器人进行会议管理等。
步骤S120:通过对话管理模块,基于语义信息,生成对话动作;其中,对话管理模块的结构为序列到序列网络结构;对话管理模块与对话任务相对应。
上述步骤S120的实施方式包括:对话管理模块和对话任务相对应,在获取到对话任务之后,获得对话任务对应的对话管理模块,通过对话任务对应的对话管理模块,基于语义信息,生成对话动作。
对话管理模块负责维护多轮对话的状态,根据与任务管理器或知识库的交互结果、输入文本以及历史对话,获得新的对话状态。状态是一种包含0时刻到t时刻的对话历史记录、对话任务、用户意图和槽位对应的数据结构。获得对话状态的方法包括基于规则法和基于统计法。获得对话状态之后,对话管理模块选择合适的对话策略,进而生成对话动作。
其中,对话管理模块的结构为序列到序列(Sequence-to-Sequence)网络结构,序列指的是比如语音数据、文本数据、视频数据等一系列具有连续关系的数据。序列到序列网络结构形成的对话管理模块具有以下特点:对话管理模块的输入和输出是不定长的,以及输入或输出元素之间的顺序是不同的,例如,输入元素之间的元素顺序不同,得到的结果应该是不同的。
序列到序列网络模型框架包括编码器和解码器,编码器和解码器通常有RNN(循环神经网络)类网络或CNN(卷积神经网络)类网络构成,具体例如,长短期记忆网络(LongShort Term Memory Networks,LSTM)或GRU(gated recurrent units)神经网络等。
步骤S130:通过自然语言生成模块,将对话动作转换为自然语言回复语句。
上述步骤S130的实施方式包括:自然语言生成模块要传达给用户的信息以人类可以理解的自然语言形式表示,以实现机器与人类的交互。自然语言模块生成自然语言回复语句的步骤包括根据对话动作确定合理的文本顺序,按照文本顺序将句子进行聚合,通过将聚合后的句子进行语法化,例如添加连接词是内容看起来是完整的句子,已实现生成结构完整的自然语言回复语句。
在上述的实现过程中,通过序列到序列的网络作为岗位机器人的对话管理模块结构,使得对话管理模块具有足够的泛化能力,具备足够的泛化能力,针对语料中未出现的对话情形也能生成合理的行为。并且,对话管理模块和对话任务是相对应的,根据对话任务确定对应的对话管理模块,使得岗位机器人的回复语句具有导向性,能够生成上下文连贯的用户动作,提高了模型性能。
可选的,在本申请实施例中,根据输入文本,获得语义信息;语义信息包括对话任务,包括:根据语义信息,确定对话任务;根据输入文本以及对话任务,获得本轮对话的上下文序列;本轮对话的上下文序列包括:用户与岗位机器人前一轮对话中岗位机器人的动作、用户与岗位机器人前一轮对话中岗位机器人回复的信息与对话任务不一致的部分、输入文本中的约束条件状态、以及输入文本中的问询内容状态。
在具体的实现过程中:语义信息包括用户意图以及词槽,根据用户意图以及词槽,确定对话任务,对话任务可以是基于多轮用户和岗位机器人的对话进行确定的。具体例如,针对使用岗位机器人进行公司财务报销任务,约束条件通常指的是物品名称、物品用途以及使用时间,问询内容可以为以下槽位:物品数量等。
根据输入文本以及对话任务,获得本轮对话的上下文序列;本轮对话的上下文序列包括四部分,分别为:第一部分,用户与岗位机器人前一轮对话中岗位机器人的动作,岗位机器人的动作可以为上一轮对话中对话管理模块生成的对话动作。
第二部分,用户与岗位机器人前一轮对话中岗位机器人回复的信息与对话任务不一致的部分。例如,获得在本轮对话前一轮中岗位机器人回复的语句信息,判断该语句信息中与对话任务不一致的部分。
第三部分,输入文本中的约束条件状态;例如,在针对使用岗位机器人进行公司财务报销的对话任务中,约束条件可以为物品名称、物品用途以及使用时间;以及第四部分,输入文本中的问询内容状态,例如,物品数量等。
其中,一轮对话指用户和岗位机器人发生一次问答的过程,例如用户对岗位机器人进行语句输入,机器人针对用户输入的语句进行回答,输出语句,即完成一轮对话。
在上述的实现过程中,根据输入文本以及对话任务,获得本轮对话的上下文序列,上下文序列包括四部分内容,使得输入文本更加具有解释性,提高对话管理模块的准确性。
可选的,在本申请实施例中,对话管理模块包括编码器、解码器和映射单元;通过对话管理模块,基于语义信息,生成对话动作,包括:通过编码器利用上下文序列获得对话向量;通过解码器根据对话向量获得动作序列;利用映射单元根据预设的数据库,将动作序列映射为对话动作;对话动作包括岗位机器人的行为槽位。
在具体的实现过程中:通过编码器(Encoder)利用上下文序列获得对话向量,具体例如,将上下文源文本的词序列先经过embedding(嵌入)层转化成向量,然后输入到编码器对应的神经网络,例如LSTM网络,经过LSTM网络的计算,获得输入文本整体的表示向量,即为对话向量。对话向量可以通过将上下文序列的四部分依次进行拼接获得。
通过解码器根据对话向量获得动作序列,具体例如,将上下文序列输入到编码器对应的神经网络,例如LSTM网络,获得动作序列。对话序列例如约束条件和问询的属性等。
利用映射单元根据预设的数据库,将动作序列映射为对话动作;对话动作包括岗位机器人的行为槽位。具体例如,预设的数据库可以为任务管理器数据库,通过启发式规则算法数据库的查询语句,将动作序列与数据库中的对话动作进行匹配,生成对话动作。对话动作包括岗位机器人的行为槽位,包括可告知槽和可问询槽,可告知槽用于表示用户查询的约束条件,可问询槽用于表示查询的属性。
进一步的,请参见图2示出的本申请提供的编码器解码器训练内部结构图。
在一个可选的实施例中,编码器(Encoder)的输入为源文本的词的序列,源文本即输入文本,将上下文源文本的词序列先经过embedding(嵌入)层转化成对话向量contextvector。上下文序列例如(x1,x2,x3,..,xm),其中x1-xm都为通过标注获得的训练数据集。在训练时,解码器的输入为对话向量context vector,以及输入文本对应的标准答案,将对话向量context vector以及标准答案输入解码器的第一步,后续的每一步根据上一步的输出词以及上一步的隐状态来,通过Projection(预测层)获得下一步的输出词,直至输出为<end>则结束。如图2所示,解码器用于获得动作序列(y1,y2,y3,..,yn)。
请参见图3示出的本申请提供的编码器解码器预测内部结构图。
在通过对话管理模型进行对话的预测时,编码器的输入为输入文本对应的本轮对话的上下文序列,上下文序列经过embedding(嵌入)层转化成向量,获得对话向量。对于解码器,在预测时,由于此时没有“真实输出”或“标准答案”,因此将每一步的预测结果,都作为下一步的输入,即将解码器上一步的预测结果作为当前步骤的输入。例如,第一步得输出和对话向量作为第二步的输入,分别经过embedding(嵌入)层将词映射至向量空间,以及经过Projection(预测层)输出第二步预测出的词的序列;第二步的输出和对话向量作为第三步的输入,直至输出为<end>,则结束。
在上述的实现过程中,对话管理系统包括解码器和编码器,对话管理系统的结构为序列到序列的网络结构,对于不同长度的输入序列可以得到不同长度的输出序列,符合文本的变长特性,并且考虑了文本元素之间的顺序关系,提高了模型的泛化性。
可选的,在本申请实施例中,语义信息包括用户意图以及词槽;词槽包括可告知槽和可问询槽,可告知槽用于表示用户查询的约束条件,可问询槽用于表示查询的属性。
语义信息包括用户意图以及词槽,用户意图用于判断用户需要做什么,意图识别可以是一个文本分类的过程。语义信息还包括词槽,词槽包括可告知槽和可问询槽,词槽指从用户输入的对话中抽取与对话任务相关及所需的关键信息。
可告知槽用户用于查询的约束条件,可问询槽是用户希望向系统问询的属性。例如:对话任务是“可告知槽(类型=名字,目的=报销,日期=今天),可问询槽(数量)”,表达用户的对话任务是想要上传今天报销需要的资料,确认后再进一步问询资料的数量。
在上述的实现过程中,获取输入对话的语义信息,获得用户意图和词槽,对输入语音进行更深层次的语义分析,提高对话准确性。
可选的,在本申请实施例中,方法还包括:基于预设的语料库,获得岗位机器人在对话中的目标答复;将自然语言回复语句与目标答复进行相似度计算,获得相似度;若相似度大于预设阈值,则结束本轮对话若相似度小于预设阈值,则基于自然语言回复语句对对话管理模块进行训练。
在具体的实现过程中:基于预设的语料库,获得岗位机器人在对话中的目标答复,目标答复为输入文本对应的答复。将自然语言回复语句与目标答复进行相似度计算,获得相似度。文本相似度的算法包括余弦相似度算法、TF-IDF模型算法以及基于语义的相似度计算。
若相似度大于预设阈值,则结束本轮对话。若相似度大于预设阈值,则表征对话管理模块的整体较好。若相似度小于预设阈值,则基于自然语言回复语句对对话管理模块进行训练。将本次对话中岗位机器人的自然语言回复语句和用户的输入文本,作为上一轮对话;继续获得用户新的输入文本,利用上一轮对话对模型进行训练。
在上述的实现过程中,通过将自然语言回复语句与目标答复进行相似度计算,获得相似度数据,利用相似度数据对对话管理模块的准确性等性能进行判断,是否需要进行训练,从而提高对话管理系统的准确性。
可选的,在本申请实施例中,在通过自然语言生成模块,将对话动作转换为自然语言回复语句之后,方法还包括:根据输入文本、自然语言回复语句以及对话任务,获得任务完成率;根据输入文本获得每一次对话的对话轮数;通过任务完成率以及每一次对话的对话轮数对对话管理模块进行评价。
在具体的实现过程中:根据输入文本、自然语言回复语句以及对话任务,获得任务完成率,判断本轮对话中岗位机器人的自然语音回复语句的任务完成率,任务完成率可以通过记录岗位机器人是否完成对话任务得到,以及预设时间周期内完成任务的概率。根据输入文本获得每一次对话的对话轮数,每一次对话的对话轮数可以为完成用户的当前任务所进行的对话轮数。例如,在用户与岗位机器人进行了两轮对话之后,用户本次的任务目标达成,结束对话,则本次对话的对话轮数为两轮。
在上述的实现过程中,通过任务完成率以及每一次对话的对话轮数对对话管理模块进行评价,将这两个指标作为评价对话管理模块对应的模型的整体效果的评价指标,给出定量的反馈评分用于指导对话管理模型学习优化,提高对话管理模块的准确性。
可选的,在本申请实施例中,在通过自然语言理解模块,根据输入文本,获得语义信息之前,方法还包括:通过语音识别模块获得输入语音,并将输入语音进行语音识别,生成输入文本。
在具体的实现过程中:通过语音识别模块获得输入语音,输入语音可以为用户需要岗位机器人协助完成任务,对岗位机器人提出的语句。语音识别模块接收到用户的输入语音之后,将输入语音进行语音识别,生成输入文本。
进一步的,在通过自然语言生成模块,将对话动作转换为自然语言回复语句,所述方法还包括:通过语音合成模块,将所述自然语言回复语句合成语音,生成输入语音。
在上述的实现过程中,通过语音识别模块将用户语音识别为输入文本,以及语音合成模块生成输入语音。使得用户可以通过对话的形式与岗位机器人进行对话,以帮助用户完成办公任务。
请参见图4示出的本申请实施例提供的岗位机器人对话系统的结构示意图。
在一个可选的实施例中,对话系统包括语音识别模块(ASR)、自然语言理解模块(NLU)、对话管理模块(DM)、任务管理器(数据库)、自然语言生成模块(NLG)以及语音合成模块(TTS)。
获取用户语音输入,语音识别模块接收到用户语音输入,对语音进行识别,获得输入文本。将输入文本输入到自然语言理解模块,识别出输入文本中的用户意图和词槽,生成对话任务;对话管理模块根据当前上下文序列生成动作序列,并将动作序列输入自然语言生成模块,生成对应的回复文本,通过语音合成模块将回复文本合成语音传给用户。其中,对话管理模块为一种端到端有监督学习即Sequence-to-sequence 结构网络。
请参见图5示出的本申请实施例提供的对话管理模型的训练流程示意图。
在一个优选实施例中,获得对话文本,将对话文本输入到自然语言理解模块,识别出用户意图和词槽,利用用户意图和词槽构建出一个对话任务。获得本轮对话的上下文序列向量,上下文序列向量包括:上一轮的系统动作;上一轮系统回复的信息与对话任务不一致的部分;约束条件的状态(告知与否);问询内容的状态(被告知与否)。
根据对话动作的个数以及对话任务的状态,对上下文序列的4部分进行one-hot(独热)编码,从而得到对话上下文的向量化Ct表示。将上下文序列向量Ct输入到一个编码器LSTM网络,得到一个向量vt。将向量vt输入到解码器LSTM网络,输出动作序列dialogueacts。通过启发式规则将动作序列映射为带槽的用户行为。将带槽的用户行为通过自然语言生成模块生成回复语句,并将回复语句与语料库预设的标准回复语句进行语义相似度计算,相似度大于预设阈值,结束对话,否则继续对话。将本次对话中岗位机器人的自然语言回复语句和用户的输入文本,作为上一轮对话;继续获得用户新的输入文本,利用上一轮对话对模型进行训练。
请参见图6示出的本申请实施例提供的机器人对话装置的结构示意图;本申请实施例提供了一种机器人对话装置200,包括:
自然语言理解模块210,用于根据输入文本,获得语义信息;语义信息包括对话任务;
对话管理模块220,用于基于语义信息,生成对话动作;其中,对话管理模块的结构为序列到序列网络结构;对话管理模块与对话任务相对应;
自然语言生成模块230,用于将对话动作转换为自然语言回复语句。
可选地,在本申请实施例中,机器人对话装置,自然语言理解模块,具体用于根据语义信息,确定对话任务;根据输入文本以及对话任务,获得本轮对话的上下文序列;本轮对话的上下文序列包括:用户与岗位机器人前一轮对话中岗位机器人的动作、用户与岗位机器人前一轮对话中岗位机器人回复的信息与对话任务不一致的部分、输入文本中的约束条件状态、以及输入文本中的问询内容状态。
可选地,在本申请实施例中,机器人对话装置,对话管理模块包括编码器、解码器和映射单元;对话管理模块,具体用于通过编码器利用上下文序列获得对话向量;通过解码器根据对话向量获得动作序列利用映射单元根据预设的数据库,将动作序列映射为对话动作;对话动作包括岗位机器人的行为槽位。
可选地,在本申请实施例中,机器人对话装置,语义信息包括用户意图以及词槽;词槽包括可告知槽和可问询槽,可告知槽用于表示用户查询的约束条件,可问询槽用于表示查询的属性。
可选地,在本申请实施例中,机器人对话装置,还包括:相似度计算模块,用于基于预设的语料库,获得岗位机器人在对话中的目标答复;将自然语言回复语句与目标答复进行相似度计算,获得相似度;若相似度大于预设阈值,则结束本轮对话;若相似度小于预设阈值,则基于自然语言回复语句对对话管理模块进行训练。
可选地,在本申请实施例中,机器人对话装置,还包括:评价模块,用于根据输入文本、自然语言回复语句以及对话任务,获得任务完成率;根据输入文本获得每一轮对话的对话轮数;通过任务完成率以及每一轮对话的对话轮数对对话管理模块进行评价。
可选地,在本申请实施例中,机器人对话装置,还包括:语音识别模块,用于通过语音识别模块获得输入语音,并将输入语音进行语音识别,生成输入文本。
应理解的是,该装置与上述的机器人对话方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该装置具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。该装置包括至少一个能以软件或固件(firmware)的形式存储于存储器中或固化在装置的操作系统(operating system,OS)中的软件功能模块。
请参见图7示出的本申请实施例提供的电子设备的结构示意图。本申请实施例提供的一种电子设备300,包括:处理器310和存储器320,存储器320存储有处理器310可执行的机器可读指令,机器可读指令被处理器310执行时执行如上的方法。
本申请实施例还提供了一种存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上的方法。
其中,存储介质可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random Access Memory, 简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory, 简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory, 简称EPROM),可编程只读存储器(Programmable Red-Only Memory, 简称PROM),只读存储器(Read-OnlyMemory, 简称ROM),磁存储器,快闪存储器,磁盘或光盘。
本申请实施例所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其他的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请实施例的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请实施例各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
以上的描述,仅为本申请实施例的可选实施方式,但本申请实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请实施例的保护范围之内。
Claims (8)
1.一种机器人对话方法,其特征在于,应用于岗位机器人,包括:
通过自然语言理解模块,根据输入文本,获得语义信息;所述语义信息包括对话任务;
通过对话管理模块,基于语义信息,生成对话动作;其中,所述对话管理模块的结构为序列到序列网络结构;所述对话管理模块与所述对话任务相对应;
通过自然语言生成模块,将所述对话动作转换为自然语言回复语句;
其中,所述根据输入文本,获得语义信息,包括:
根据所述语义信息,确定对话任务;
根据所述输入文本以及所述对话任务,获得本轮对话的上下文序列;所述本轮对话的上下文序列包括:用户与所述岗位机器人前一轮对话中所述岗位机器人的动作、所述用户与所述岗位机器人前一轮对话中所述岗位机器人回复的信息与所述对话任务不一致的部分、所述输入文本中的约束条件状态、以及所述输入文本中的问询内容状态;
所述对话管理模块包括编码器、解码器和映射单元;所述通过对话管理模块,基于语义信息,生成对话动作,包括:
通过所述编码器利用所述上下文序列获得对话向量;所述对话向量通过将所述上下文序列的四部分依次进行拼接获得;
通过解码器根据所述对话向量获得动作序列;
利用映射单元根据预设的数据库,将所述动作序列映射为所述对话动作;所述对话动作包括岗位机器人的行为槽位。
2.根据权利要求1所述的方法,其特征在于,所述语义信息包括用户意图以及词槽;所述词槽包括可告知槽和可问询槽,所述可告知槽用于表示所述用户查询的约束条件,所述可问询槽用于表示查询的属性。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于预设的语料库,获得所述岗位机器人在对话中的目标答复;
将所述自然语言回复语句与所述目标答复进行相似度计算,获得相似度;
若所述相似度大于预设阈值,则结束本轮对话;
若所述相似度小于所述预设阈值,则基于所述自然语言回复语句对所述对话管理模块进行训练。
4.根据权利要求1所述的方法,其特征在于,在通过自然语言生成模块,将所述对话动作转换为自然语言回复语句之后,所述方法还包括:
根据所述输入文本、所述自然语言回复语句以及所述对话任务,获得任务完成率;
根据所述输入文本获得每一次对话的对话轮数;
通过所述任务完成率以及所述每一次对话的对话轮数对所述对话管理模块进行评价。
5.根据权利要求1所述的方法,其特征在于,在所述通过自然语言理解模块,根据输入文本,获得语义信息之前,所述方法还包括:
通过语音识别模块获得输入语音,并将所述输入语音进行语音识别,生成输入文本。
6.一种机器人对话装置,其特征在于,应用于岗位机器人,包括:
自然语言理解模块,用于根据输入文本,获得语义信息;所述语义信息包括对话任务;
对话管理模块,用于基于语义信息,生成对话动作;其中,所述对话管理模块的结构为序列到序列网络结构;所述对话管理模块与所述对话任务相对应;
自然语言生成模块,用于将所述对话动作转换为自然语言回复语句;
所述自然语言理解模块,具体用于根据所述语义信息,确定对话任务;根据所述输入文本以及所述对话任务,获得本轮对话的上下文序列;所述本轮对话的上下文序列包括:用户与所述岗位机器人前一轮对话中所述岗位机器人的动作、所述用户与所述岗位机器人前一轮对话中所述岗位机器人回复的信息与所述对话任务不一致的部分、所述输入文本中的约束条件状态、以及所述输入文本中的问询内容状态;
所述对话管理模块包括编码器、解码器和映射单元;所述对话管理模块,具体用于通过所述编码器利用所述上下文序列获得对话向量;所述对话向量通过将所述上下文序列的四部分依次进行拼接获得;通过解码器根据所述对话向量获得动作序列;利用映射单元根据预设的数据库,将所述动作序列映射为所述对话动作;所述对话动作包括岗位机器人的行为槽位。
7.一种电子设备,其特征在于,包括:处理器和存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述机器可读指令被所述处理器执行时执行如权利要求1-5任一所述的方法。
8.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1-5任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211597920.7A CN115617972B (zh) | 2022-12-14 | 2022-12-14 | 一种机器人对话方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211597920.7A CN115617972B (zh) | 2022-12-14 | 2022-12-14 | 一种机器人对话方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115617972A CN115617972A (zh) | 2023-01-17 |
CN115617972B true CN115617972B (zh) | 2023-04-07 |
Family
ID=84879631
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211597920.7A Active CN115617972B (zh) | 2022-12-14 | 2022-12-14 | 一种机器人对话方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115617972B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115952272B (zh) * | 2023-03-10 | 2023-05-26 | 杭州心识宇宙科技有限公司 | 一种生成对话信息的方法、装置、设备及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113158691A (zh) * | 2021-04-15 | 2021-07-23 | 清华大学 | 基于混合知识管理的对话方法、装置和电子设备 |
CN113553860A (zh) * | 2021-06-10 | 2021-10-26 | 合肥工业大学 | 基于多任务学习的回复多样性多轮对话生成方法和系统 |
WO2022033332A1 (zh) * | 2020-08-14 | 2022-02-17 | 腾讯科技(深圳)有限公司 | 对话生成方法、网络训练方法、装置、存储介质及设备 |
CN115392264A (zh) * | 2022-10-31 | 2022-11-25 | 康佳集团股份有限公司 | 一种基于rasa的任务型智能多轮对话方法及相关设备 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107273406B (zh) * | 2017-04-27 | 2020-06-05 | 上海奔影网络科技有限公司 | 任务对话系统中的对话处理方法及装置 |
CN109446306A (zh) * | 2018-10-16 | 2019-03-08 | 浪潮软件股份有限公司 | 一种基于任务驱动的多轮对话的智能问答方法 |
CN109901896A (zh) * | 2018-12-06 | 2019-06-18 | 华为技术有限公司 | 一种人机交互系统及人机交互系统中多任务处理方法 |
US11580970B2 (en) * | 2019-04-05 | 2023-02-14 | Samsung Electronics Co., Ltd. | System and method for context-enriched attentive memory network with global and local encoding for dialogue breakdown detection |
EP3804915A1 (en) * | 2019-10-11 | 2021-04-14 | Tata Consultancy Services Limited | Conversational systems and methods for robotic task identification using natural language |
CN111651572A (zh) * | 2020-05-19 | 2020-09-11 | 金日泽 | 一种多领域任务型对话系统、方法和终端 |
CN112069300A (zh) * | 2020-09-04 | 2020-12-11 | 中国平安人寿保险股份有限公司 | 任务型对话的语义识别方法、装置、电子设备及存储介质 |
CN112507696B (zh) * | 2021-02-04 | 2021-04-20 | 湖南大学 | 基于全局注意力意图识别的人机交互导诊方法与系统 |
CN112818107B (zh) * | 2021-02-24 | 2023-10-31 | 中国人民大学 | 一种用于日常生活的对话机器人及其聊天方法 |
CN113239167A (zh) * | 2021-05-31 | 2021-08-10 | 百融云创科技股份有限公司 | 一种可自动生成对话策略的任务型对话管理方法和系统 |
CN113515616B (zh) * | 2021-07-12 | 2024-05-14 | 中国电子科技集团公司第二十八研究所 | 一种基于自然语言的任务驱动系统 |
CN113743127B (zh) * | 2021-09-10 | 2024-06-18 | 京东科技信息技术有限公司 | 任务型对话的方法、装置、电子设备及存储介质 |
CN115309879A (zh) * | 2022-08-05 | 2022-11-08 | 中国石油大学(华东) | 一种基于bart的多任务语义解析模型 |
-
2022
- 2022-12-14 CN CN202211597920.7A patent/CN115617972B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022033332A1 (zh) * | 2020-08-14 | 2022-02-17 | 腾讯科技(深圳)有限公司 | 对话生成方法、网络训练方法、装置、存储介质及设备 |
CN113158691A (zh) * | 2021-04-15 | 2021-07-23 | 清华大学 | 基于混合知识管理的对话方法、装置和电子设备 |
CN113553860A (zh) * | 2021-06-10 | 2021-10-26 | 合肥工业大学 | 基于多任务学习的回复多样性多轮对话生成方法和系统 |
CN115392264A (zh) * | 2022-10-31 | 2022-11-25 | 康佳集团股份有限公司 | 一种基于rasa的任务型智能多轮对话方法及相关设备 |
Non-Patent Citations (5)
Title |
---|
Serban I 等.A hierarchical latent variable encoder-decoder model for generating dialogues.《Proceedings of the AAAI Conference on Artificial Intelligence》.2017,第31卷(第31期),1-7. * |
常金鑫.面向开放域对话的神经回复生成算法研究.《中国优秀硕士学位论文全文数据库 信息科技辑》.2022,(第1期),I138-3321. * |
甄江杰.多层次语义模型在多轮对话系统中的研究与实现.《中国优秀硕士学位论文全文数据库信息科技辑》.2019,(第1期),I138-5449. * |
管梦雨 等.于对话约束的回复生成研究.《中文信息学报》.2022,第36卷(第36期),144-153. * |
赵阳洋 等.任务型对话系统研究综述.《计算机学报》.2020,第43卷(第43期),1862-1896. * |
Also Published As
Publication number | Publication date |
---|---|
CN115617972A (zh) | 2023-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11568855B2 (en) | System and method for defining dialog intents and building zero-shot intent recognition models | |
CN111344779B (zh) | 训练和/或使用编码器模型确定自然语言输入的响应动作 | |
US11948058B2 (en) | Utilizing recurrent neural networks to recognize and extract open intent from text inputs | |
KR102199423B1 (ko) | 심리 상담 데이터를 기계 학습한 자동 대화 장치 및 그 방법 | |
De Mori | Spoken language understanding: A survey | |
CN110782870A (zh) | 语音合成方法、装置、电子设备及存储介质 | |
CN113268609B (zh) | 基于知识图谱的对话内容推荐方法、装置、设备及介质 | |
CN109344242B (zh) | 一种对话问答方法、装置、设备及存储介质 | |
CN110069612B (zh) | 一种回复生成方法及装置 | |
CN113901191A (zh) | 问答模型的训练方法及装置 | |
CN115599901B (zh) | 基于语义提示的机器问答方法、装置、设备及存储介质 | |
CN112214585A (zh) | 回复消息生成方法、系统、计算机设备及存储介质 | |
CN114239547A (zh) | 一种语句生成方法及电子设备、存储介质 | |
CN112395887A (zh) | 对话应答方法、装置、计算机设备和存储介质 | |
CN112364147A (zh) | 一种基于知识图谱的跨领域多轮对话方法及实现系统 | |
CN115617972B (zh) | 一种机器人对话方法、装置、电子设备及存储介质 | |
CN115497465A (zh) | 语音交互方法、装置、电子设备和存储介质 | |
CN113988071A (zh) | 一种基于金融知识图谱的智能对话方法及装置、电子设备 | |
CN114005446A (zh) | 情感分析方法、相关设备及可读存储介质 | |
CN116680369B (zh) | 一种共情对话生成方法及系统 | |
CN117725163A (zh) | 智能问答方法、装置、设备及存储介质 | |
CN115759262A (zh) | 基于知识感知注意力网络的视觉常识推理方法及系统 | |
CN114386426A (zh) | 一种基于多元语义融合的金牌话术推荐方法及装置 | |
JP2022532853A (ja) | シーケンシング及びプランニングのためのシステム | |
CN112328774A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: A robot dialogue method, device, electronic device, and storage medium Granted publication date: 20230407 Pledgee: Shanghai Pudong Development Bank Co.,Ltd. Chengdu Branch Pledgor: CHENGDU MINTO TECHNOLOGY CO.,LTD. Registration number: Y2024980021746 |