CN110232190A - 一种对话生成的方法、装置、存储介质及电子设备 - Google Patents
一种对话生成的方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN110232190A CN110232190A CN201910516779.5A CN201910516779A CN110232190A CN 110232190 A CN110232190 A CN 110232190A CN 201910516779 A CN201910516779 A CN 201910516779A CN 110232190 A CN110232190 A CN 110232190A
- Authority
- CN
- China
- Prior art keywords
- word slot
- filled
- slot
- user
- word
- 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 72
- 230000008569 process Effects 0.000 claims description 11
- 238000012790 confirmation Methods 0.000 claims description 10
- 238000004891 communication Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 6
- 238000012795 verification Methods 0.000 claims description 5
- 235000021183 entrée Nutrition 0.000 description 22
- 235000013361 beverage Nutrition 0.000 description 14
- 230000003993 interaction Effects 0.000 description 12
- 244000124853 Perilla frutescens Species 0.000 description 10
- 235000004348 Perilla frutescens Nutrition 0.000 description 10
- 235000021185 dessert Nutrition 0.000 description 10
- 235000015067 sauces Nutrition 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 235000015220 hamburgers Nutrition 0.000 description 2
- 240000005856 Lyophyllum decastes Species 0.000 description 1
- 235000013194 Lyophyllum decastes Nutrition 0.000 description 1
- 244000269722 Thea sinensis Species 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 235000015115 caffè latte Nutrition 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 235000009508 confectionery Nutrition 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 235000021186 dishes Nutrition 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 235000012054 meals Nutrition 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 235000011962 puddings Nutrition 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/26—Speech to text systems
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L17/00—Speaker identification or verification techniques
- G10L17/22—Interactive procedures; Man-machine interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Acoustics & Sound (AREA)
- Human Computer Interaction (AREA)
- Computational Linguistics (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
Abstract
本发明提供了一种对话生成的方法、装置、存储介质及电子设备,其中,该方法包括:获取用户输入的语音数据,并识别出语音文本;根据语音文本确定用户的用户意图和词槽;在用户意图为填充词槽意图时,将词槽值填充至词槽;在将词槽值填充至词槽之后、或者在用户意图不为填充词槽意图时,基于未填充词槽生成引导填充语音。通过本发明实施例提供的对话生成的方法、装置、存储介质及电子设备,可以提升用户的听力和表达能力,真实感更强;采用词槽填充的方式,基于用户的对话内容自适应调整聊天逻辑及顺序,对话自由度更高,更符合真实对话场景。
Description
技术领域
本发明涉及对话生成的技术领域,具体而言,涉及一种对话生成的方法、装置、存储介质及电子设备。
背景技术
随着全球经济一体化的发展,中国人在旅游、留学、求职、贸易等场景中对英语口语表达的需求逐步提高。传统的情景口语教学通过书本学习和教师标准示范,让学习者通过阅读和模仿去尽量掌握相应的表达方式。由于真人教师资源的有限性和真实英语对话环境的匮乏,学生难以和真人进行一对一的情景交流演练,从而导致许多学习者无法获得及时的反馈和真实的场景对话体验,降低了学习者的学习效果;另一方面,传统的学习情景口语学习方式需要真人教师的参与,也使学习者的有效练习受到了时间和空间限制。
发明内容
为解决上述问题,本发明实施例的目的在于提供一种对话生成的方法、装置、存储介质及电子设备。
第一方面,本发明实施例提供了一种对话生成的方法,包括:
获取用户输入的语音数据,将所述语音数据作为目标语音数据,并识别出所述目标语音数据中的语音文本;
根据所述语音文本确定所述用户的用户意图,以及与所述用户意图相对应的词槽;
在所述用户意图为填充词槽意图时,确定所述语音文本中与所述词槽相对应的词槽值,并将所述词槽值填充至相应的词槽;
在将所述词槽值填充至相应的词槽之后、或者在所述用户意图不为填充词槽意图时,判断是否存在未填充词槽,若存在未填充词槽,则基于所述未填充词槽生成用于引导填充所述未填充词槽的引导填充语音。
在一种可能的实现方式中,在所述生成用于引导填充所述未填充词槽的引导填充语音之后,该方法还包括:
当再次获取到所述用户输入的语音数据时,将再次获取到的语音数据作为目标语音数据,并重复上述过程,直至预设的词槽均被填充或未获取到用户输入的语音数据。
在一种可能的实现方式中,在所述将所述词槽值填充至相应的词槽之后,该方法还包括:
判断是否存在与填充所述词槽值的词槽相对应的未填充的子词槽,在存在未填充的子词槽时,将与填充所述词槽值的词槽同级的未填充的其他词槽压入堆栈,并将所述未填充的子词槽作为未填充词槽,基于所述未填充词槽生成用于引导填充所述未填充词槽的引导填充语音,直至与填充所述词槽值的词槽相对应的所有子词槽均被填充;
在与填充所述词槽值的词槽相对应的所有子词槽均被填充之后,从所述堆栈中取出词槽并进行相应的填充处理。
在一种可能的实现方式中,所述将所述词槽值填充至相应的词槽包括:
基于所述词槽值生成包含所述词槽值的核实语音;
当获取到所述用户输入的用于反馈所述核实语音的确认语音数据时,将所述词槽值填充至相应的词槽。
在一种可能的实现方式中,在所述基于所述未填充词槽生成用于引导填充所述未填充词槽的引导填充语音之前,该方法还包括:
生成与当前对话场景的词槽不相关的反馈语音。
在一种可能的实现方式中,在所述判断是否存在未填充词槽之前,该方法还包括:
基于对话场景预先设置一个或多个未填充词槽。
在一种可能的实现方式中,在所述所有的词槽均被填充之后,该方法还包括:
基于所述用户输入的所有语音数据生成所述用户的学习报告。
第二方面,本发明实施例还提供了一种对话生成的装置,包括:
语音获取模块,用于获取用户输入的语音数据,将所述语音数据作为目标语音数据,并识别出所述目标语音数据中的语音文本;
识别模块,用于根据所述语音文本确定所述用户的用户意图,以及与所述用户意图相对应的词槽;
词槽值填充模块,用于在所述用户意图为填充词槽意图时,确定所述语音文本中与所述词槽相对应的词槽值,并将所述词槽值填充至相应的词槽;
引导填充模块,用于在将所述词槽值填充至相应的词槽之后、或者在所述用户意图不为填充词槽意图时,判断是否存在未填充词槽,若存在未填充词槽,则基于所述未填充词槽生成用于引导填充所述未填充词槽的引导填充语音。
第三方面,本发明实施例还提供了一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于上述任意一项所述的对话生成的方法。
第四方面,本发明实施例还提供了一种电子设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述任意一项所述的对话生成的方法。
本发明实施例上述第一方面提供的方案中,识别用户输入语音的意图和词槽,并通过填充词槽的方式引导用户进行对话,可以逐步完成整个对话过程。对话过程中接收到的语音数据和生成的引导填充语音均为语音格式,可以实现人机语音交互,通过语音进行交互,可以提升用户的听力和表达能力;基于设备上的交互效果营造真实的对话情境,真实感更强;区别于传统固定流程式对话,本实施例基于用户的意图和词槽可以实现词槽填充,且可以自适应确定未填充词槽,采用词槽填充的方式,基于未填充词槽生成相应的引导填充语音,可以自适应调整聊天逻辑及顺序,对话自由度更高,更符合真实对话场景。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明实施例所提供的一种对话生成的方法的流程图;
图2示出了本发明实施例所提供的对话生成的方法中,学习报告的一个报告页的示意图;
图3示出了本发明实施例所提供的另一种对话生成的方法的流程图;
图4示出了本发明实施例所提供的一种对话生成的装置的结构示意图;
图5示出了本发明实施例所提供的用于执行对话生成的方法的电子设备的结构示意图。
具体实施方式
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
本发明实施例提供的一种对话生成的方法,由本地设备(包括客户端和服务器)执行。参见图1所示,该方法包括:
步骤101:获取用户输入的语音数据,将语音数据作为目标语音数据,并识别出目标语音数据中的语音文本。
本发明实施例中,当用户需要与本地设备(例如智能手机、智能机器人等)进行模拟对话时,用户可以输入语音格式的语音数据。本地设备在获取到该语音数据后,即可初步确定或确定当前的对话场景,并确定需要用户填充的词槽(slot),即未填充词槽。或者,本地设备预先设置一种或多种对话场景,并为每种对话场景设置相应的未填充词槽;用户在第一次输入语音数据之前,需要先选择对话场景,从而可以确定在之后的对话过程中需要用户填充的词槽。例如,当前的对话场景是“西餐厅点餐”,此时可以为该对话场景设置相应的词槽,比如“前菜”、“主菜”、“饮料”、“甜点”等,待所有的词槽均被填充之后,该“西餐厅点餐”的对话场景结束。同时,还可以预先设置每个词槽可以取的值,以及在不同值下的回复,方便本地设备快速、流畅地完成对话过程。
本实施例中,在获取到语音数据之后,即可基于语音识别技术识别出与该语音数据相对应的语音文本。其中,“目标语音数据”是后续需要处理的语音数据,本质上即是用户输入的语音数据。
步骤102:根据语音文本确定用户的用户意图,以及与用户意图相对应的词槽。
本发明实施例中,在确定语音文本之后,可基于预设模型来确定用户意图和相应的词槽,具体可通过基于注意力机制的循环神经网络来识别出语音文本中的意图和词槽。本发明实施例中,将用户意图主要分为两类:填充词槽意图和非填充词槽意图,其中,该非填充词槽意图还可细分为拒绝填充词槽、确认词槽、询问词槽等。通过将用户意图分类为少量的几类,可以增加该预设模型的训练速度,也能提高识别的准确率。区别于传统的关键词匹配,本实施例采用自然语言处理技术,可以支持用户在该场景下进行相同意图的不同表达。
步骤103:在用户意图为填充词槽意图时,确定语音文本中与词槽相对应的词槽值,并将词槽值填充至相应的词槽。
本发明实施例中,在用户意图为填充词槽意图时,则说明该语音文本中包含相应的词槽值,此时确定语音文本中与词槽相对应的词槽值即可。本领域技术人员可以理解,在步骤102中对语音文本进行识别的同时,可以直接识别出语音文本中的词槽值,本实施例并不限定识别词槽值的过程必须在确定用户意图为填充词槽意图之后。
例如,当前的对话场景是西餐厅点餐,需要用户填充的词槽包括“前菜”、“主菜”、“饮料”、“甜点”,且“主菜”可以取的值包括“牛排”、“炸鸡”等。若用户输入的语音文本为“我要吃牛排”,则可以确定该语音文本可以填充“主菜”这一词槽,故该语音文本的意图为“填充词槽意图”,词槽为“主菜”,相应的词槽值为“牛排”。此时本地设备即可将词槽值“牛排”填充至词槽“主菜”中即可。
步骤104:在将词槽值填充至相应的词槽之后、或者在用户意图不为填充词槽意图时,判断是否存在未填充词槽,若存在未填充词槽,则基于未填充词槽生成用于引导填充未填充词槽的引导填充语音。
本发明实施例中,如上所述,对于当前的对话场景会设置需要填充的词槽,若在步骤103“将词槽值填充至相应的词槽”之后,仍然存在未填充的词槽,则本地设备基于未填充词槽生成用于引导填充未填充词槽的引导填充语音,进而引导用户以语音的方式输入相应的词槽值。同样的,若在步骤102中识别出的用户意图不是填充词槽意图时(例如是拒绝填充词槽、确认词槽、询问词槽等)、或者用户意图与当前的对话场景无关(例如用户只是输入了“你好”),此时也可以通过生成引导填充语音的方式来引导用户以语音的方式输入相应的词槽值。如上述西餐厅点餐的例子,若将词槽值“牛排”填充至词槽“主菜”之后,词槽“前菜”、“饮料”、“甜点”三者均未被填充,则三者均可以作为未填充词槽,本地***生成引导填充语音来引导用户对话。该引导填充语音可以是“您需要喝点什么饮料吗?”、“布丁和冰激凌,您更喜欢哪个?”等。
可选的,无论用户的意图是什么意图,在获取到用户输入的语音数据之后,可以首先基于该语音数据生成一个反馈语音,用于响应用户的输入。具体的,在步骤104“基于未填充词槽生成用于引导填充未填充词槽的引导填充语音”之前,该方法还包括:生成与当前对话场景的词槽不相关的反馈语音。每当词槽的状态发生变化时(词槽被填充/跳过之后),本地设备都可以对用户进行反馈。对用户的反馈也可以通过一些用户的意图来触发,通常用来处理一些任务范畴外的意图。该反馈语音具体可以是“收到”、“我记下了”等。
需要说明的是,本实施例中的“未填充词槽”指的是从未被用户填充过的词槽;若用户拒绝填充某个词槽,则认为用户填入至该词槽的词槽值为空,该词槽并不是“未填充词槽”。
可选的,在上述步骤104“生成用于引导填充未填充词槽的引导填充语音”之后,该方法还可以包括:当再次获取到用户输入的语音数据时,将再次获取到的语音数据作为目标语音数据,并重复上述过程,直至预设的词槽均被填充或未获取到用户输入的语音数据。
本发明实施例中,当本地设备生成并播放引导填充语音后,用户可以回答该引导填充语音,从而本地设备再次获取到用户输入的语音数据;或者,即使本地设备没有播放引导填充语音,用户也可以随时输入语音数据,即本实施例中生成引导填充语音后可基于实际情况确定是否需要播放该引导填充语音。若本地设备再次获取到用户输入的语音数据后,则可以将该语音数据作为目标语音数据,重复上述步骤101-104,直至预设的词槽均被填充。其中,可以预先设置哪些词槽需要用户填充,当预设的词槽均被填充时,可以认为此时对话结束。或者,本地设备在生成并播放引导填充语音之后,若没有再次获取到用户输入的语音数据,则说明用户暂时不需要继续进行模拟对话,此时也可以结束对话流程。
本发明实施例提供的一种对话生成的方法,识别用户输入语音的意图和词槽,并通过填充词槽的方式引导用户进行对话,可以逐步完成整个对话过程。对话过程中接收到的语音数据和生成的引导填充语音均为语音格式,可以实现人机语音交互,通过语音进行交互,可以提升用户的听力和表达能力;基于设备上的交互效果营造真实的对话情境,真实感更强;区别于传统固定流程式对话,本实施例基于用户的意图和词槽可以实现词槽填充,且可以自适应确定未填充词槽,采用词槽填充的方式,基于未填充词槽生成相应的引导填充语音,可以自适应调整聊天逻辑及顺序,对话自由度更高,更符合真实对话场景。
在上述实施例的基础上,本实施例在填充词槽之后,额外引入了需要用户填充的子词槽,从而可以进一步丰富对话内容。具体的,在步骤103“将词槽值填充至相应的词槽”之后,该方法还包括:
步骤A1:判断是否存在与填充词槽值的词槽相对应的未填充的子词槽,在存在未填充的子词槽时,将与填充词槽值的词槽同级的未填充的其他词槽压入堆栈,并将未填充的子词槽作为未填充词槽,基于未填充词槽生成用于引导填充未填充词槽的引导填充语音,直至与填充词槽值的词槽相对应的所有子词槽均被填充。
本发明实施例中,在将词槽值填充至词槽之后,每个填充有词槽值的词槽均有可能触发一系列相关的新问题,从而触发新的词槽,即子词槽(sub slot),本实施例中将子词槽作为填充有词槽值的词槽的下一级词槽。
例如,在西餐厅点餐的对话场景下,用户输入了“我要吃牛排”,则可以将词槽值“牛排”填充至词槽“主菜”;同时,触发该词槽“主菜”的子词槽作为补充词槽,比如“熟度”、“酱料”等,之后即可将未填充的子词槽作为未填充词槽,执行与上述步骤104相同的过程,即基于未填充词槽生成用于引导填充未填充词槽的引导填充语音,直至与填充词槽值的词槽相对应的所有子词槽均被填充。
本领域技术人员可以理解,用户可以一次性输入多个词槽值。例如,用户输入的语音文本为“我要吃七分熟的牛排”,则“牛排”是词槽“主菜”的词槽值,而“七分熟”是“主菜”的子词槽“熟度”的词槽值;之后只有子词槽“酱料”是未填充的,此时需要引导用户填充子词槽“酱料”。若用户反馈的语音数据是“不要酱料”,则此时反馈的语音数据“不要酱料”的意图是拒绝填充词槽,此时也认为所有子词槽均已被填充。
步骤A2:在与填充词槽值的词槽相对应的所有子词槽均被填充之后,从堆栈中取出词槽并进行相应的填充处理。
本发明实施例中,若触发了子词槽,则本地设备有限引导用户填充子词槽,在所有的子词槽均被填充之后再对上一级的词槽进行填充处理。具体通过将上一级的词槽压入堆栈的方式实现上述优先级的区分。例如,当前级别的词槽包括“前菜”、“主菜”、“饮料”、“甜点”,若此时用户填充了“主菜”的词槽值“牛排”,则此时将词槽“前菜”、“饮料”、“甜点”均压入堆栈,并将下一级别的子词槽“熟度”、“酱料”作为优先填充的词槽。待所有的子词槽均被填充完后,将前述的词槽“前菜”、“饮料”、“甜点”从堆栈中取出,并依次进行填充。其中,词槽入栈的顺序可根据实际情况而定,本实施例对此不做限定。
本发明实施例中,在填充词槽的同时出发下一级的子词槽供用户填充,可以丰富对话内容;且采用堆栈的方式确定词槽填充的优先级,可以保证子词槽被完全填充,且能保证整个对话过程的逻辑性。
在上述实施例的基础上,本发明实施例还可以包括词槽值确认的过程。具体的,上述步骤103“将词槽值填充至相应的词槽”包括:
步骤B1:基于词槽值生成包含词槽值的核实语音。
步骤B2:当获取到用户输入的用于反馈核实语音的确认语音数据时,将词槽值填充至相应的词槽。
本发明实施例中,本地设备可基于实际情况选择是否需要对词槽值进行确认,其可以通过对比用户输入的词槽值与预设的词槽值之间的差异,若差异过大,则需要对用户输入的词槽值进行确认。具体的,通过生成并播放核实语音的方式来引导用户输入确认语音数据,在用户确认后才将词槽值填充至相应的词槽。例如,用户想要把词槽值“汉堡”填充至词槽“主菜”中,此时可以生成包含该词槽值的核实语音“您确定主菜吃汉堡吗?”,若接收到用户输入的确认语音数据“是”时,此时用户输入的意图为确认词槽意图,则把词槽值“汉堡”填充至词槽“主菜”中;若没有接收到用户输入的确认语音,或用户明确否定了该词槽值,则进行填充处理,并继续之后的对话过程,例如引导用户填充其他词槽等。本实施例中通过生成核实语音,可一定程度避免语音识别错误,可以提高对话质量。
在上述实施例的基础上,在上述步骤“预设的词槽均被填充”之后,该方法还包括:基于用户输入的所有语音数据生成用户的学习报告。
本发明实施例中,在当前的词槽堆栈中的词槽全部填完之后,则可触发对话结束的指令,此时可以将本次对话的全部过程(包括用户输入的语音数据和本地设备生成的数据)进行保存。此外,还可以基于用户输入的语音数据生成学习报告,从用户的发音、语法、表达流利程度等维度来进行评分,用户可根据报告页中所展示的内容进行后续针对性的训练和提升。该学习报告的一个报告页的示意图参见图2所示。
可选的,该学习报告中还可以包含用户本次进行词槽填充的填充结果,该填充结果包括已填充词槽和/或未填充词槽。例如,本次对话过程需要用户填充四个词槽“前菜”、“主菜”、“饮料”、“甜点”,若用户本次填充了三个词槽“前菜”、“主菜”、“饮料”,没有填充词槽“甜点”,则在学习报告中展示本次的填充结果。优选的,还可以展示用户填充词槽时所输入的文本,例如用户填充词槽“饮料”的文本为“May I have a cup of latte?”,在展示用户所填充的词槽“饮料”时,还可以同时展示上述的文本。通过在学习报告中增加词槽的填充结果,方便用户快速了解本次的对话过程;通过展示未填充词槽使得用户可以得知本次的不足,有利于用户下次进一步完善对话过程。
下面通过一个实施例详细介绍该对话生成的方法流程。参见图3所示,该过程具体包括:
步骤301:对话开始,生成开始问候语音。
本实施例以西餐厅点餐的对话场景为例说明,该开始问候语音具体可是“Hello,what can I do for you?”。同时,预先设置该对话场景下需要填充的词槽,包括:“前菜”、“主菜”、“饮料”和“甜点”。
步骤302:获取用户输入的语音数据,将语音数据作为目标语音数据,并识别出目标语音数据中的语音文本。
步骤303:根据语音文本确定用户的用户意图,以及与用户意图相对应的词槽。
例如,用户输入的语音转换为语音文本后是“What do you recommend?”,则该语音文本的用户意图为询问意图,且词槽包含了该对话场景下的所有词槽“前菜”、“主菜”、“饮料”和“甜点”。
或者,若用户输入的是“I'd like to have steak”,则该语音文本的用户意图是填充词槽意图,且想要填充的词槽是“主菜”,词槽值为“steak”。
步骤304:判断用户意图是否为填充词槽意图,若是,则继续步骤305,否则继续步骤307。
步骤305:将词槽值填充至相应的词槽,并判断是否触发子词槽,若触发子词槽,则继续步骤306,否则继续步骤307。
步骤306:将与填充词槽值的词槽同级的未填充的其他词槽压入堆栈,并将未填充的子词槽作为未填充词槽。
其中,在确定未填充词槽之后,即可基于未填充词槽生成用于引导填充未填充词槽的引导填充语音,直至与填充词槽值的词槽相对应的所有子词槽均被填充。
步骤307:生成与当前对话场景的词槽不相关的反馈语音,并基于未填充词槽生成用于引导填充未填充词槽的引导填充语音。
其中,该反馈语音可以是简单的常用语“OK”,或者内容更加详尽的反馈语音,例如“All the dishes with the thumbs-up icon are special recommendations”。该引导填充语音可以是“What main dish do you want?”、“What drink do you like”等。
步骤308:判断所有词槽是否均被填充,若存在词槽未被填充,则继续步骤302,否则继续步骤309。
即判断是否存在未填充词槽,即判断“前菜”、“主菜”、“饮料”和“甜点”是否均被填充;其中,若用户主动拒绝填充某个词槽,则也认为该词槽被填充了,只是填充的值为空。同时,若含有子词槽,还需要判断所有的子词槽是否被填充。
步骤309:生成对话结束的指令或提示。
其中,在对话结束之前也可生成一个反馈语音,例如“OK,I got it”。
本发明实施例提供的一种对话生成的方法,识别用户输入语音的意图和词槽,并通过填充词槽的方式引导用户进行对话,可以逐步完成整个对话过程。对话过程中接收到的语音数据和生成的引导填充语音均为语音格式,可以实现人机语音交互,通过语音进行交互,可以提升用户的听力和表达能力;基于设备上的交互效果营造真实的对话情境,真实感更强;区别于传统固定流程式对话,本实施例基于用户的意图和词槽可以实现词槽填充,且可以自适应确定未填充词槽,采用词槽填充的方式,基于未填充词槽生成相应的引导填充语音,可以自适应调整聊天逻辑及顺序,对话自由度更高,更符合真实对话场景。在填充词槽的同时触发下一级的子词槽供用户填充,可以丰富对话内容;且采用堆栈的方式确定词槽填充的优先级,可以保证子词槽被完全填充,且能保证整个对话过程的逻辑性。通过生成核实语音,可一定程度避免语音识别错误,可以提高对话质量。
以上详细介绍了对话生成的方法的流程,该方法也可以通过相应的装置实现,下面详细介绍该装置的结构和功能。
本发明实施例提供的一种对话生成的装置,参见图4所示,包括:
语音获取模块41,用于获取用户输入的语音数据,将所述语音数据作为目标语音数据,并识别出所述目标语音数据中的语音文本;
识别模块42,用于根据所述语音文本确定所述用户的用户意图,以及与所述用户意图相对应的词槽;
词槽值填充模块43,用于在所述用户意图为填充词槽意图时,确定所述语音文本中与所述词槽相对应的词槽值,并将所述词槽值填充至相应的词槽;
引导填充模块44,用于在将所述词槽值填充至相应的词槽之后、或者在所述用户意图不为填充词槽意图时,判断是否存在未填充词槽,若存在未填充词槽,则基于所述未填充词槽生成用于引导填充所述未填充词槽的引导填充语音。
在上述实施例的基础上,该装置还包括:循环处理模块,用于当再次获取到所述用户输入的语音数据时,将再次获取到的语音数据作为目标语音数据,并重复上述过程,直至所有的词槽均被填充或未获取到用户输入的语音数据。
在上述实施例的基础上,所述词槽值填充模块43在将所述词槽值填充至相应的词槽之后,还用于:
判断是否存在与填充所述词槽值的词槽相对应的未填充的子词槽,在存在未填充的子词槽时,将与填充所述词槽值的词槽同级的未填充的其他词槽压入堆栈,并将所述未填充的子词槽作为未填充词槽,基于所述未填充词槽生成用于引导填充所述未填充词槽的引导填充语音,直至与填充所述词槽值的词槽相对应的所有子词槽均被填充;
在与填充所述词槽值的词槽相对应的所有子词槽均被填充之后,从所述堆栈中取出词槽并进行相应的填充处理。
在上述实施例的基础上,所述词槽值填充模块43还用于:
基于所述词槽值生成包含所述词槽值的核实语音;
当获取到所述用户输入的用于反馈所述核实语音的确认语音数据时,将所述词槽值填充至相应的词槽。
在上述实施例的基础上,该装置还包括反馈模块;
在所述引导填充模块44基于所述未填充词槽生成用于引导填充所述未填充词槽的引导填充语音之前,所述反馈模块用于:生成与当前对话场景的词槽不相关的反馈语音。
在上述实施例的基础上,该装置还包括预先设置模块;
在所述引导填充模块44判断是否存在未填充词槽之前,所述预先设置模块用于:基于对话场景预先设置一个或多个未填充词槽。
在上述实施例的基础上,该装置还包括报告生成模块;
在预设的词槽均被填充之后,所述报告生成模块用于:基于所述用户输入的所有语音数据生成所述用户的学习报告。
本发明实施例提供的一种对话生成的装置,识别用户输入语音的意图和词槽,并通过填充词槽的方式引导用户进行对话,可以逐步完成整个对话过程。对话过程中接收到的语音数据和生成的引导填充语音均为语音格式,可以实现人机语音交互,通过语音进行交互,可以提升用户的听力和表达能力;基于设备上的交互效果营造真实的对话情境,真实感更强;区别于传统固定流程式对话,本实施例基于用户的意图和词槽可以实现词槽填充,且可以自适应确定未填充词槽,采用词槽填充的方式,基于未填充词槽生成相应的引导填充语音,可以自适应调整聊天逻辑及顺序,对话自由度更高,更符合真实对话场景。在填充词槽的同时触发下一级的子词槽供用户填充,可以丰富对话内容;且采用堆栈的方式确定词槽填充的优先级,可以保证子词槽被完全填充,且能保证整个对话过程的逻辑性。通过生成核实语音,可一定程度避免语音识别错误,可以提高对话质量。
本发明实施例还提供了一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令,其包含用于执行上述的对话生成的方法的程序,该计算机可执行指令可执行上述任意方法实施例中的方法。
其中,所述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NANDFLASH)、固态硬盘(SSD))等。
图5示出了本发明的另一个实施例的一种电子设备的结构框图。所述电子设备1100可以是具备计算能力的主机服务器、个人计算机PC、或者可携带的便携式计算机或终端等。本发明具体实施例并不对电子设备的具体实现做限定。
该电子设备1100包括至少一个处理器(processor)1110、通信接口(Communications Interface)1120、存储器(memory array)1130和总线1140。其中,处理器1110、通信接口1120、以及存储器1130通过总线1140完成相互间的通信。
通信接口1120用于与网元通信,其中网元包括例如虚拟机管理中心、共享存储等。
处理器1110用于执行程序。处理器1110可能是一个中央处理器CPU,或者是专用集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器1130用于可执行的指令。存储器1130可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1130也可以是存储器阵列。存储器1130还可能被分块,并且所述块可按一定的规则组合成虚拟卷。存储器1130存储的指令可被处理器1110执行,以使处理器1110能够执行上述任意方法实施例中的对话生成的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种对话生成的方法,其特征在于,包括:
获取用户输入的语音数据,将所述语音数据作为目标语音数据,并识别出所述目标语音数据中的语音文本;
根据所述语音文本确定所述用户的用户意图,以及与所述用户意图相对应的词槽;
在所述用户意图为填充词槽意图时,确定所述语音文本中与所述词槽相对应的词槽值,并将所述词槽值填充至相应的词槽;
在将所述词槽值填充至相应的词槽之后、或者在所述用户意图不为填充词槽意图时,判断是否存在未填充词槽,若存在未填充词槽,则基于所述未填充词槽生成用于引导填充所述未填充词槽的引导填充语音。
2.根据权利要求1所述的方法,其特征在于,在所述生成用于引导填充所述未填充词槽的引导填充语音之后,还包括:
当再次获取到所述用户输入的语音数据时,将再次获取到的语音数据作为目标语音数据,并重复上述过程,直至预设的词槽均被填充或未获取到用户输入的语音数据。
3.根据权利要求1所述的方法,其特征在于,在所述将所述词槽值填充至相应的词槽之后,还包括:
判断是否存在与填充所述词槽值的词槽相对应的未填充的子词槽,在存在未填充的子词槽时,将与填充所述词槽值的词槽同级的未填充的其他词槽压入堆栈,并将所述未填充的子词槽作为未填充词槽,基于所述未填充词槽生成用于引导填充所述未填充词槽的引导填充语音,直至与填充所述词槽值的词槽相对应的所有子词槽均被填充;
在与填充所述词槽值的词槽相对应的所有子词槽均被填充之后,从所述堆栈中取出词槽并进行相应的填充处理。
4.根据权利要求1所述的方法,其特征在于,所述将所述词槽值填充至相应的词槽包括:
基于所述词槽值生成包含所述词槽值的核实语音;
当获取到所述用户输入的用于反馈所述核实语音的确认语音数据时,将所述词槽值填充至相应的词槽。
5.根据权利要求1所述的方法,其特征在于,在所述基于所述未填充词槽生成用于引导填充所述未填充词槽的引导填充语音之前,还包括:
生成与当前对话场景的词槽不相关的反馈语音。
6.根据权利要求1所述的方法,其特征在于,在所述判断是否存在未填充词槽之前,还包括:
基于对话场景预先设置一个或多个未填充词槽。
7.根据权利要求1-6任一所述的方法,其特征在于,在所述预设的词槽均被填充之后,还包括:
基于所述用户输入的所有语音数据生成所述用户的学习报告。
8.一种对话生成的装置,其特征在于,包括:
语音获取模块,用于获取用户输入的语音数据,将所述语音数据作为目标语音数据,并识别出所述目标语音数据中的语音文本;
识别模块,用于根据所述语音文本确定所述用户的用户意图,以及与所述用户意图相对应的词槽;
词槽值填充模块,用于在所述用户意图为填充词槽意图时,确定所述语音文本中与所述词槽相对应的词槽值,并将所述词槽值填充至相应的词槽;
引导填充模块,用于在将所述词槽值填充至相应的词槽之后、或者在所述用户意图不为填充词槽意图时,判断是否存在未填充词槽,若存在未填充词槽,则基于所述未填充词槽生成用于引导填充所述未填充词槽的引导填充语音。
9.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于执行权利要求1-7任意一项所述的对话生成的方法。
10.一种电子设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7任意一项所述的对话生成的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910516779.5A CN110232190A (zh) | 2019-06-14 | 2019-06-14 | 一种对话生成的方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910516779.5A CN110232190A (zh) | 2019-06-14 | 2019-06-14 | 一种对话生成的方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110232190A true CN110232190A (zh) | 2019-09-13 |
Family
ID=67859944
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910516779.5A Pending CN110232190A (zh) | 2019-06-14 | 2019-06-14 | 一种对话生成的方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110232190A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111198937A (zh) * | 2019-12-02 | 2020-05-26 | 泰康保险集团股份有限公司 | 对话生成及装置、计算机可读存储介质、电子设备 |
CN111241249A (zh) * | 2020-01-21 | 2020-06-05 | 苏宁云计算有限公司 | 人机对话方法、装置、计算机设备和存储介质 |
CN111368538A (zh) * | 2020-02-29 | 2020-07-03 | 平安科技(深圳)有限公司 | 语音交互方法、***、终端及计算机可读存储介质 |
CN111402888A (zh) * | 2020-02-19 | 2020-07-10 | 北京声智科技有限公司 | 语音处理方法、装置、设备及存储介质 |
CN111680144A (zh) * | 2020-06-03 | 2020-09-18 | 湖北亿咖通科技有限公司 | 多轮对话语音交互的方法及***、存储介质、电子设备 |
CN112035630A (zh) * | 2020-03-27 | 2020-12-04 | 北京来也网络科技有限公司 | 结合rpa和ai的对话交互方法、装置、设备及存储介质 |
CN112597288A (zh) * | 2020-12-23 | 2021-04-02 | 北京百度网讯科技有限公司 | 人机交互方法、装置、设备及存储介质 |
CN114302028A (zh) * | 2021-12-24 | 2022-04-08 | 贝壳找房网(北京)信息技术有限公司 | 提词方法、装置以及电子设备、存储介质、程序产品 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108630203A (zh) * | 2017-03-03 | 2018-10-09 | 国立大学法人京都大学 | 语音交互设备及其处理方法和程序 |
CN109002501A (zh) * | 2018-06-29 | 2018-12-14 | 北京百度网讯科技有限公司 | 用于处理自然语言对话的方法、装置、电子设备以及计算机可读存储介质 |
CN109003605A (zh) * | 2018-07-02 | 2018-12-14 | 北京百度网讯科技有限公司 | 智能语音交互处理方法、装置、设备及存储介质 |
CN109446307A (zh) * | 2018-10-16 | 2019-03-08 | 浪潮软件股份有限公司 | 一种实现智能对话中对话管理的方法 |
CN109639907A (zh) * | 2019-01-28 | 2019-04-16 | 百度在线网络技术(北京)有限公司 | 用于处理信息的方法和装置 |
CN109712617A (zh) * | 2018-12-06 | 2019-05-03 | 珠海格力电器股份有限公司 | 一种语音控制方法、装置、存储介质及空调 |
-
2019
- 2019-06-14 CN CN201910516779.5A patent/CN110232190A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108630203A (zh) * | 2017-03-03 | 2018-10-09 | 国立大学法人京都大学 | 语音交互设备及其处理方法和程序 |
CN109002501A (zh) * | 2018-06-29 | 2018-12-14 | 北京百度网讯科技有限公司 | 用于处理自然语言对话的方法、装置、电子设备以及计算机可读存储介质 |
CN109003605A (zh) * | 2018-07-02 | 2018-12-14 | 北京百度网讯科技有限公司 | 智能语音交互处理方法、装置、设备及存储介质 |
CN109446307A (zh) * | 2018-10-16 | 2019-03-08 | 浪潮软件股份有限公司 | 一种实现智能对话中对话管理的方法 |
CN109712617A (zh) * | 2018-12-06 | 2019-05-03 | 珠海格力电器股份有限公司 | 一种语音控制方法、装置、存储介质及空调 |
CN109639907A (zh) * | 2019-01-28 | 2019-04-16 | 百度在线网络技术(北京)有限公司 | 用于处理信息的方法和装置 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111198937A (zh) * | 2019-12-02 | 2020-05-26 | 泰康保险集团股份有限公司 | 对话生成及装置、计算机可读存储介质、电子设备 |
CN111241249A (zh) * | 2020-01-21 | 2020-06-05 | 苏宁云计算有限公司 | 人机对话方法、装置、计算机设备和存储介质 |
CN111402888A (zh) * | 2020-02-19 | 2020-07-10 | 北京声智科技有限公司 | 语音处理方法、装置、设备及存储介质 |
CN111402888B (zh) * | 2020-02-19 | 2023-12-08 | 北京声智科技有限公司 | 语音处理方法、装置、设备及存储介质 |
CN111368538A (zh) * | 2020-02-29 | 2020-07-03 | 平安科技(深圳)有限公司 | 语音交互方法、***、终端及计算机可读存储介质 |
CN111368538B (zh) * | 2020-02-29 | 2023-10-24 | 平安科技(深圳)有限公司 | 语音交互方法、***、终端及计算机可读存储介质 |
CN112035630A (zh) * | 2020-03-27 | 2020-12-04 | 北京来也网络科技有限公司 | 结合rpa和ai的对话交互方法、装置、设备及存储介质 |
CN111680144A (zh) * | 2020-06-03 | 2020-09-18 | 湖北亿咖通科技有限公司 | 多轮对话语音交互的方法及***、存储介质、电子设备 |
CN112597288A (zh) * | 2020-12-23 | 2021-04-02 | 北京百度网讯科技有限公司 | 人机交互方法、装置、设备及存储介质 |
CN112597288B (zh) * | 2020-12-23 | 2023-07-25 | 北京百度网讯科技有限公司 | 人机交互方法、装置、设备及存储介质 |
CN114302028A (zh) * | 2021-12-24 | 2022-04-08 | 贝壳找房网(北京)信息技术有限公司 | 提词方法、装置以及电子设备、存储介质、程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110232190A (zh) | 一种对话生成的方法、装置、存储介质及电子设备 | |
CN110368690B (zh) | 游戏决策模型训练方法、游戏策略生成方法及装置 | |
CN109101545A (zh) | 基于人机交互的自然语言处理方法、装置、设备和介质 | |
US11264006B2 (en) | Voice synthesis method, device and apparatus, as well as non-volatile storage medium | |
CN110085261A (zh) | 一种发音纠正方法、装置、设备以及计算机可读存储介质 | |
CN108763495B (zh) | 人机对话方法、***、电子设备及存储介质 | |
CN109582822A (zh) | 一种基于用户语音的音乐推荐方法及装置 | |
CN108877782A (zh) | 语音识别方法和装置 | |
CN104115221A (zh) | 基于文本到语音转换以及语义的音频人类交互证明 | |
CN109325091A (zh) | 兴趣点属性信息的更新方法、装置、设备及介质 | |
CN108549662A (zh) | 多轮会话中语义解析结果的补充消解方法及装置 | |
CN110517692A (zh) | 热词语音识别方法和装置 | |
CN108959531A (zh) | 信息搜索方法、装置、设备及存储介质 | |
CN109461437A (zh) | 唇语识别的验证内容生成方法及相关装置 | |
Weinschenk | 100 more things every designer needs to know about people | |
CN111667728B (zh) | 语音后处理模块训练方法和装置 | |
CN109817244A (zh) | 口语评测方法、装置、设备和存储介质 | |
CN109461459A (zh) | 语音评分方法、装置、计算机设备及存储介质 | |
CN110399488A (zh) | 文本分类方法及装置 | |
US20240028893A1 (en) | Generating neural network outputs using insertion commands | |
CN108762878A (zh) | 一种应用程序互动界面生成方法、装置、设备及存储介质 | |
CN108564833A (zh) | 智能交互对话控制方法及装置 | |
CN116932927B (zh) | 基于人工智能实现社交匹配推荐的数据处理方法和装置 | |
CN107423307A (zh) | 一种互联网信息资源的分配方法及装置 | |
CN116258613A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190913 |