CN110838288B - 一种语音交互方法及其系统和对话设备 - Google Patents
一种语音交互方法及其系统和对话设备 Download PDFInfo
- Publication number
- CN110838288B CN110838288B CN201911172944.6A CN201911172944A CN110838288B CN 110838288 B CN110838288 B CN 110838288B CN 201911172944 A CN201911172944 A CN 201911172944A CN 110838288 B CN110838288 B CN 110838288B
- Authority
- CN
- China
- Prior art keywords
- module
- model
- user
- vector
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000003993 interaction Effects 0.000 title claims abstract description 45
- 238000012549 training Methods 0.000 claims abstract description 25
- 238000012937 correction Methods 0.000 claims abstract description 23
- 230000008569 process Effects 0.000 claims abstract description 19
- 239000013598 vector Substances 0.000 claims description 92
- 238000007726 management method Methods 0.000 claims description 50
- 230000015654 memory Effects 0.000 claims description 40
- 230000009471 action Effects 0.000 claims description 24
- 230000006870 function Effects 0.000 claims description 23
- 238000013528 artificial neural network Methods 0.000 claims description 20
- 230000007246 mechanism Effects 0.000 claims description 12
- 238000013136 deep learning model Methods 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 claims description 10
- 239000011159 matrix material Substances 0.000 claims description 9
- 230000001537 neural effect Effects 0.000 claims description 8
- 125000004122 cyclic group Chemical group 0.000 claims description 6
- 238000005070 sampling Methods 0.000 claims description 4
- 238000013500 data storage Methods 0.000 claims description 3
- 230000007787 long-term memory Effects 0.000 description 9
- 235000012054 meals Nutrition 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 239000003795 chemical substances by application Substances 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 235000010149 Brassica rapa subsp chinensis Nutrition 0.000 description 1
- 235000000536 Brassica rapa subsp pekinensis Nutrition 0.000 description 1
- 241000499436 Brassica rapa subsp. pekinensis Species 0.000 description 1
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 210000005036 nerve Anatomy 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013518 transcription Methods 0.000 description 1
- 230000035897 transcription Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- 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/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
-
- 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/08—Speech classification or search
- G10L15/16—Speech classification or search using artificial neural networks
-
- 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/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
-
- 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/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Machine Translation (AREA)
Abstract
本发明公开一种语音交互方法,包括编写对话故事,模拟自然对话过程,编写人机对话样板;准备语言理解数据,将用户可能的输入语句,按照所代表的意图进行分类,并标注出语句中包含的实体;准备用于校正识别所得的用户语句的领域语言模型数据;基于端到端模型训练语音识别模块的语音识别能力;在语句校正模块中对语音识别模块识别出的语句进行校正;利用语言理解数据在语言理解模块中对校正后语句进行分类与识别;利用用户故事数据和领域知识,训练对话管理模块的对话管理模型。本发明还公开语音交互系统和对话设备,采用前述语音交互方法。本发明能有效降低系统架构模型的复杂度,无需预定义所有对话可能,枚举容易,功能性好。
Description
技术领域
本发明涉及人机交互领域,尤其涉及一种语音交互方法及其系统和对话设备。
背景技术
近几年来,随着人工智能的飞速发展,市场上出现了多种多样的语音对话机器人,用于手机助手、智能客服、语音导航、智能音箱等场景。这些语音交互系统的核心模块一般包括语音识别、语音理解、对话管理等模块。
语音识别模块一般采用DNN-HMM模型或者深度学习模型,通用的语音识别模型在特定领域的对话中,准确率会大打折扣,从而导致后续语言理解模块难以有效工作。语音理解模块一般采用流水线式作业,把工作流程分拆成几个部分,用多个模型一次对数据进行处理,执行分词、命名实体识别、意图识别等任务,模型复杂,计算量大。对话管理模块一般会采用对话管理方法,包括基于有限状态机的对话管理算法、基于槽位填充的对话管理算法和基于代理(Agent)的对话管理方法,但是基于有限状态机的对话管理算法,需要预定义所有的对话可能,枚举困难,难以处理异常情况,功能性较差;基于槽位填充的对话管理算法,只能处理槽位填充问题;基于Agent的对话管理方法开发复杂,维护和可拓展性较差。由于上述的系统架构、模型的复杂性,导致多年以来实时语音交互系统发展进程缓慢。
发明内容
本发明针对现有技术中的不足,提供一种语音交互方法,包括以下步骤:编写对话故事,模拟自然的对话过程,编写人机对话样板,用于模型训练;准备语言理解数据,将用户可能的输入语句,按照所代表的意图进行分类,并标注出语句中包含的实体;准备用于校正识别所得的用户语句的领域语言模型数据;基于端到端模型训练语音识别模块的语音识别能力;利用所述领域语言模型数据在语句校正模块中对语音识别模块识别出的语句进行校正;利用所述语言理解数据在语言理解模块中对校正后语句进行分类与识别;利用用户故事数据和领域知识,训练对话管理模块的对话管理模型。
特别的,所述对话管理模型采用基于嵌入机制的深度学习模型,并通过对所述基于嵌入机制的深度学习模型进行循环神经网络计算而得到循环嵌入对话管理模型,所述循环嵌入对话管理模型的建立步骤包括:将用户输入、机器动作和槽进行向量化,形成能够用来训练深度学习模型的特征向量,所述特征向量包括用户输入特征向量、机器动作特征向量和槽特征向量;将所述特征向量输入嵌入层来创建嵌入向量,所述嵌入向量包括用户输入嵌入向量、机器动作和槽嵌入向量;将用户输入嵌入向量分别输入用户注意力模块和系统注意力模块,得到用户输入的用户注意力向量,和用户输入的系统注意力向量;将用户输入嵌入向量与用户输入的注意力向量相加,并将槽嵌入向量连接到所述用户输入嵌入向量与用户输入的注意力向量相加的计算结果的尾端,最后所得的数据一起输入LSTM单元;将LSTM单元的输出通过嵌入层计算到当前时间步的嵌入向量,并将所述当前时间步的嵌入向量与用户输入的系统注意力向量相加而得到当前时间步的对话状态向量;计算所述当前时间步的对话状态向量与目标机器动作嵌入向量的正确相似度。
可选地,所述循环嵌入对话管理模型的建立步骤还包括:采用负采样的方法获得当前时间步的对话状态向量与错误的机器动作嵌入向量的错误相似度,将正确相似度与错误相似度均代入损失函数,通过使所述损失函数最小化来提高正确相似度,降低错误相似度。
可选地,在所述循环嵌入对话管理模型的建立步骤中,所述用户注意力模块包括注意力机制、神经图灵机与记忆模块,所述系统注意力模块也包括注意力机制、神经图灵机与记忆模块。
可选地,所述注意力机制的计算采用Bahdanau分数的插值;所述神经图灵机用于将记忆模块中的值切断,而只使用当前时间步之前的时间步的信息。
可选地,所述语句校正模块采用基于transformer的encoder-decoder模型;所述基于transformer的encoder-decoder模型的架构建立步骤包括:利用word2vec对输入语句进行词嵌入训练,从而得到样本的嵌入矩阵;利用正弦和余弦函数进行位置编码;将所述位置编码所得的样本集输入多头注意力模型;将所述多头注意力模型的输出送入前馈神经网络;所述多头注意力模型与所述前馈神经网络构成encoder,将encoder输出的特征矩阵输入decoder;获得输入语句的对应文字。
可选地,所述decoder包括两层堆叠的多头注意力模型和一层前馈神经网络;第一层所述多头注意力模型采用输出标签作为输入;第二层所述多头注意力模型采用所述encoder的输出作为输入;第二层所述多头注意力模型的输出在经由前馈神经网络计算之后输入到softmax函数,所述softmax函数输出概率;对所述softmax函数的输出概率通过贪心算法的计算,选择最大概率;对所述最大概率进行词典查找获得获得输入语句的对应文字。
可选地,所述语音识别模块基于DeepSpeech/wav2letter++/DFSMN的端到端模型训练语音识别能力;所述语言理解模块采用bert进行语句进行嵌入,再利用DNN+softmax来对校正后语句进行分类与识别。
本发明还提供一种语音交互系统,采用前面所述的语音交互方法,包括语音识别模块、语句校正模块、语言理解模块以及对话管理模块;所述语音识别模块基于wav2letter++框架,采用全卷积神经网络;所述语句校正模块采用基于transformer的encoder-decoder模型;所述语言理解模块采用bert模型进行语句嵌入,利用DNN+softmax进行分类与识别;所述对话管理模块采用循环嵌入对话管理模型。
本发明还提供一种对话设备,采用前面所述的语音交互系统,包括接口、处理器以及存储器;所述处理器利用各个接口和线路来连接整个对话设备硬件的各个部分,并通过运行或执行存储在存储器中的软件程序和/或模块,以及调用存储在存储器中的数据,来执行对话设备硬件的各种功能和处理数据,从而对对话设备硬件进行整体的控制。所述存储器包括存储程序区和存储数据区;所述存储程序区存储有存储操作系统、驱动程序模块、语音识别模块、语句校正模块、语言理解模块和对话管理模块;所述存储数据区存储有所述对话设备硬件因使用所创建的数据;所述存储器还包括用于提供所述处理器对存储器访问的存储器控制器。
本发明有益效果如下:
本发明的语音识别模块基于wav2letter++框架,采用全卷积神经网络,能够极大程度提高训练速度,提高准确率。
本发明的语句校正模块采用基于transformer的encoder-decoder模型,可以把包含错误文字的语句校正为正确的语句。
本发明的语言理解模块采用bert模型进行语句嵌入,利用DNN+softmax进行分类与识别,模型简单,计算量小。
本发明的对话管理模块采用循环嵌入对话管理模型,无需预定义所有的对话可能,枚举容易,可以处理异常情况,功能性较好。
本发明通过全面采用深度学习模型来提供一种语音交互系统,实现端对端的训练,可以有效降低系统架构模型的复杂度,并能充分利用大数据的红利,创建优秀的对话系统。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
附图1为本发明实施例三一种对话设备的应用场景图;
附图2为本发明实施例二一种语音交互系统的系统框图;
附图3为本发明实施例一一种语音交互方法的语句校正模型示意图;
附图4为本发明实施例一一种语音交互方法的语言理解模型示意图;
附图5为本发明实施例一一种语音交互方法的对话管理模型示意图;
附图6为本发明实施例四一种应用于订餐领域的语音交互系统的一次语音交互示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
除非另作定义,此处使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本发明专利申请说明书以及权利要求书中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”或者“一”等类似词语也不表示数量限制,而是表示存在至少一个。
实施例一:
本实施例公开一种语音交互方法,采用语音识别模块、语句校正模块、语言理解模块以及对话管理模块来完成语音交互工作。本实施例进行语音交互的步骤包括如下:编写对话故事,模拟自然的对话过程,编写人机对话样板,用于模型训练;准备语言理解数据,将用户可能的输入语句,按照所代表的意图进行分类,并标注出语句中包含的实体;准备用于校正识别所得的用户语句的领域语言模型数据;基于端到端模型训练语音识别模块的语音识别能力;利用所述领域语言模型数据在语句校正模块中对语音识别模块识别出的语句进行校正;利用所述语言理解数据在语言理解模块中对校正后语句进行分类与识别;利用用户故事数据和领域知识,训练对话管理模块的对话管理模型。本实施例公开的语音交互方法是基于端对端模型实现的,具体的语音交互过程介绍如下。
实施例一种语音交互方法的语音识别模块所采用的模型,即语音识别模型。本实施例的语音识别模型基于wav2letter++框架,采用全卷积神经网络,能够极大程度地提高训练速度。具体的,语音识别模型包括四个部分,分别为可学习前端(Learnable frontend)、声学模型、语言模型以及集束搜索解码器(Beam-search decoder)。
其中,可学习前端(Learnable front end)包含宽度为2的卷积(用于模拟预加重)和宽度为25ms的复卷积。在计算完平方模数后,由低通滤波器和步长执行抽取任务,并最后应用于log-compression和per-channel mean-variance normalization上。声学模型是一款带有门线性单元(GLU)的卷积神经网络,负责处理可学习前端的输出内容;声学模型基于自动分割准则,在字母预测任务上进行训练。语言模型为卷积语言模型,采用一共包含14个卷积残差块,并将门线性单元作为激活函数,主要用来对集束搜索解码器中的语言模型的预备转录内容进行评分。集束搜索解码器(Beam-search decoder)根据声学模型的输出内容来生成词序列。
附图3为本实施例一种语音交互方法中的语句校正模块所采用的深度学习模型,是基于transformer的encoder-decoder模型,可以把包含错误文字的语句校正为正确的语句。语句校正模块所采用的深度学习模型的主要架构包括:词嵌入、位置编码、多头注意力模型、前馈神经网络、encoder输出与decoder。具体地,各架构建立的步骤如下:
步骤一:利用word2vec对输入语句进行词嵌入训练,从而得到样本的嵌入矩阵Se={se1,se2,se3,…sem},其中,嵌入维度为dm。
步骤二:利用正弦和余弦函数进行位置编码:
PE(pos,2i)=sin(pos/100002i/dm)
PE(pos,2i+1)=cos(pos/100002i/dm)
其中,pos是文字所处位置,i是维度。在获得位置编码后,将位置编码与嵌入矩阵Se相加,可得到模型输入样本集:Si={si1,si2,si3,…sim}。
步骤三:将位置编码所得的样本集Si输入多头注意力模型(multi-headattention)。多头注意力模型如下所示:
其中,Q,K,V分别为query,keys,values矩阵,dk为注意力的维度,且多头注意力模型此处采用如下表示:
MultiHead(Q,K,V)=Concat(head1,...,headh)
步骤四;将多头注意力模型的输出送入前馈神经网络:
FFN(x)=max(0,xW1+b1)W2+b2
其中W,b分别为神经元的权重与偏移。
步骤五:上述步骤一至步骤四组成了模型的encoder部分,并最终输出一个特征矩阵Sf,用于后续decoder的输入,即将encoder部分输出的特征矩阵Sf,输入decoder。
步骤六:获得输入语句的对应文字。如附图3所示,decoder部分的网络结构与步骤五中的encoder部分的网络结构类似,但不同的是,decoder部分需要堆叠两层步骤三中的多头注意力模型。其中,第一层多头注意力模型采用输出标签作为输入,第二层多头注意力模型采用步骤五中的encoder部分的输出Sf作为输入,再经由步骤四中介绍到的前馈神经网络计算之后输出,这个输出将作为softmax函数的输入,最终softmax函数输出一个概率;之后再采用贪心算法,并取概率最大者为预测结果,再通过查找词典,即可得到该预测结果所对应的文字。
附图4公开本实施例一种语音交互方法的语言理解模块所采用的模型,即语言理解模型。本实施例的语言理解模型利用语言理解数据,即用户语句。本实施例采用bert模型进行语句嵌入,在通过前馈网络神经的计算后,再利用DNN+softmax进行分类与识别。具体的,本实施例的语言理解模块是从预训练的bert模型中抽取全连接层作为词嵌入向量,之后再将词嵌入向量输入DNN+softmax层中进行分类与识别操作。
附图5公开本实施例一种语音交互方法的对话管理模块所采用的模型,即对话管理模型。在本实施例中,通过利用语言理解数据(即用户语句)来训练对话管理模型。具体的,本实施例采用循环嵌入对话管理模型。建立循环嵌入对话管理模型的步骤如下:
步骤一:将用户输入、机器动作和槽进行向量化,将它们形成能够用来训练深度学习模型的特征向量,即用户输入特征向量、机器动作特征向量和槽特征向量。其中,用户输入为通过语言理解(即通过用户语句)提取的意图和实体。机器动作采用词袋模型表示。槽则通过被特征化为二进制向量来表明它们的存在或者不存在。
步骤二:将步骤一中所形成的特征向量输入嵌入层来创建嵌入向量,即嵌入向量包括用户输入嵌入向量、机器动作嵌入向量和槽嵌入向量。其中,嵌入层是具有独立权重的全连接层,作用于用户输入、槽、机器动作等特征以及循环神经网络的输出。其中,用户输入和先前的循环神经网络输出(先前预测的机器动作嵌入向量)用于计算对记忆的注意力。
步骤三:将用户输入嵌入向量分别输入用户注意力模块和系统注意力模块,从而分别得到用户输入的用户注意力向量,和用户输入的系统注意力向量。用户注意力模块和系统注意力模块二者均包含有注意力机制、神经图灵机与记忆模块。注意力机制的计算采用了Bahdanau分数的插值;神经图灵机用于将记忆模块中的值切断,只使用前面时间步的信息。
步骤四:将用户输入的嵌入向量与用户输入的注意力向量相加,并将槽嵌入向量连接到前述相加的计算结果的尾端,最后所得的数据一起输入LSTM单元。循环嵌入对话管理模型可采用多种RNN单元,但在本实施例中,循环嵌入对话管理模型采用的是LSTM(长短时记忆)单元。LSTM单元的输入为用户输入的嵌入向量与用户输入的注意力向量相加,然后槽嵌入向量连接到前述计算结果的尾端。
即:LSTM单元的输入=(用户输入+用户输入的注意力向量)连接槽嵌入向量。
步骤五:计算对话状态向量。将LSTM单元的输出输入到另一个嵌入层来计算当前时间步的嵌入向量。将当前时间步的嵌入向量与用户输入的系统注意力向量相加来作为当前时间步的对话状态向量。该对话状态向量最终用于计算第六步的相似度。
即:当前时间步的对话状态向量=当前时间步的嵌入向量+系统注意力向量。
步骤六:计算相似度。每个时间步,都需要计算已有时间步的LSTM状态与二值化的系统注意力向量的哈达玛积,并将其作为下一时间步的输入。
每个时间步都需要计算当前预测的对话状态向量a(即步骤五中计算到的当前时间步的对话状态向量)与正确的目标机器动作嵌入向量的正确相似度b+,使用负采样的方法获得当前预测的对话状态向量a与错误的机器动作嵌入向量的错误相似度b-。损失函数则被定义为:
L=max(μ+-sim(a,b+))+max(μ-+max(sim(a,b-)),0)
将各相似度数值数值代入该损失函数中计算,并通过最小化该损失函数来保证与正确的目标标签(目标机器动作)之间的正确相似度尽可能高,并使与错误目标标签(目标机器动作)之间的错误相似度尽可能低。
实施例二:
本实施例公开一种语音交互系统,采用实施例一所述的语音交互方法。本实施例的语音交互系统包括语音识别模块、语句校正模块、语言理解模块以及对话管理模块;语音识别模块基于wav2letter++框架,采用全卷积神经网络;语句校正模块采用基于transformer的encoder-decoder模型;语言理解模块采用bert模型进行语句嵌入,利用DNN+softmax进行分类与识别;对话管理模块采用循环嵌入对话管理模型。采用本实施例语音交互系统的而进行的语音交互过程与实施例一相同。
实施例三:
本实施例公开一种对话设备,基于实施例一中的语音交互系统进行深度学习。附图2为本实施例所公开的一种对话设备所采用的硬件结构图。其中,本实施例的对话设备包括接口100、处理器200以及存储器300。但在其他实施例中,对话设备的硬件结构并不局限于本实施例,可以包括比附图2中本实施例更多或更少的部件,或者组合某些部件,或者不同的部件布置。
处理器200是本实施例对话设备的控制中心,处理器200利用各个接口和线路来连接整个对话设备的各个部分,并通过运行或执行存储在存储器300中的软件程序和/或模块,以及调用存储在存储器300中的数据,来执行对话设备的各种功能和处理数据,从而对对话设备进行整体的控制。具体的,对话设备在本实施例中采用CPU实现,但在其他实施例中,还可以通过图形处理器(英文Graphics Processing Unit,简写GPU)来实现。
存储器300用于存储软件程序以及各个模块。处理器200通过运行存储在存储器300中的软件程序以及模块来执行各项功能应用和数据处理。具体的,存储器300主要包括存储程序区和存储数据区。其中,存储程序区用于存储操作系统310、驱动程序320、语音识别模块330、语句校正模块340、语言理解模块350、对话管理模块360等;存储数据区用于存储根据对话设备的使用所创建的数据(如对话历史信息等数据)。本实施例的存储器300选择静态随机存取存储器,但在其他实施例中,存储器300的选择并不局限于本实施例,可以选择任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储(Erasable Programmable Read Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。此外,存储器300包括存储器控制器,用来提供处理器200对存储器300的访问。
其中,处理器200通过运行驱动程序模块来为整个软件系统的运行提供软件、硬件的驱动支持;处理器200通过运行语音识别模块330,将用户输入的语音转换为文字;处理器200通过运行语句校正模块340,将语音识别模块输出的文字进行领域校正;处理器200通过运行语言理解模块350,对语句校正模块输出的语句进行意图识别,并提取其中的实体;处理器200通过运行对话管理模块360,利用领域知识、语言理解模块350输出用户意图与实体、历史对话记录,控制对话流程,返回合适的动作,例如回答用户问题、返回搜索结果等。
具体的,本实施例的对话设备的应用场景如附图1所示,包括用户和对话设备。其中对话设备用于执行下述对话过程:获取用户的待回复语句,然后对该待回复语句进行回复,生成回复语句,并将回复语句呈现给该用户。其中,与对话设备的应用对象(即用户)可以是人或客户端。
当用户为人时,对话设备的主体是手机、电脑等终端设备。人与终端设备之间实现通过对话过程,这里的对话过程通过实施例一中公开的语音交互系统实现。例如,手机作为对话设备,则内置能进行人机对话的软件,人通过文字或者语音输入向软件提问(待回复语句),软件根据人的问题生成答案(回复语句)并显示出来,软件具有问答、信息自动回复、机器翻译等功能。
当用户为客户端时,对话设备的主体是服务器,客户端和服务器之间实现对话过程。其中,客户端包括但不限于手机、电脑等,服务器可以是能够提供各种不同服务的服务器,服务包括但不限于天气查询、业务咨询、智能客服(用于机票服务或餐馆服务等)等。
实施例四:
本实施例公开一种应用于订餐领域的语音交互系统,采用实施例一中的语音交互方法。其中,由于本实施例应用于订餐领域,故在实际的对话场景中基础领域知识被组织为:
其中,I为场景中用户可能的意图,在实施例中,用户意图包括“打招呼”、“询问”、“拒绝”、“停止”等类别。E为场景中涉及到的实体,在本实施例中,实体包括“人数”、“菜品”、“坐席”等对订餐来说的应当提取的现实情况的信息。S为对话过程中需要填充的语义槽,语义槽用于存储用户在对话中提供的关键信息,这些关键信息包括需要确认的“用餐种类”、“人数”、“坐席”、“时间”等。T为机器端向用户返回信息时所使用的模板,即对应于每种机器端向用户返回信息时的返回类型,都提供有几种相对应的具体形式,如模板中询问菜品“您想吃点什么”,模板中询问人数“请问您几个人”,模板中询问坐席要求“请问您需要包间吗”等。A为机器端可执行的动作,包括“返回对话”、“通知餐馆”、“询问菜品”、“询问人数”、“询问坐席要求”、“发送订单”等。F为任务型机器人为执行某种任务而要求用户填充的表单,在本实施例中,表单即为“订餐表单”,用户需要填充订餐所需的用餐种类、人数、地点等信息。
在本实施例的对话编写上,根据本实施例的订餐领域需求,本实施例需要模拟自然的对话过程并编写人机对话样板,将此样本用于模型训练。并且,进一步的,本实施例还需要利用交互式训练程序来实时进行人机对话,记录对话过程,形成对话故事,快速完成训练数据准备工作。在订餐环境下,常有特殊情况的发生,导致用户提早结束订餐或暂停订餐。因此,本实施例需要训练多种情况下的对话故事,包括:
乐观对话:用户“打招呼”,机器回复“打招呼”;用户选择“订餐”,机器要求客户填充订餐表单,并通过用户说出订餐内容,将订餐内容中的关键信息存储于语义槽中来进行确认;订餐成功,用户“致谢”,机器回复“不客气”。
悲观对话:用户“打招呼”,机器回复“打招呼”;用户“订餐”,机器要求客户填充订餐表单,并要求用户说出订餐内容,以便将订餐内容中的关键信息存储于语义槽中;但用户没有说出订餐内容,而开始进行“闲聊”,机器配合用户回复“闲聊”,最终填槽失败;用户“未订餐”,机器回复“再见”。
暂停对话:用户“打招呼”,机器回复“打招呼”;用户“订餐”,机器要求客户填充订餐表单,并要求用户说出订餐内容,以便将订餐内容中的关键信息存储于语义槽中;但用户选择“暂停”,订餐暂停;之后机器询问是否继续,用户选择“订餐”,订餐继续。
关于训练的对话故事内容,并不局限于上述所举例子,在其他实施例中,还有其他对话故事内容的训练可能,根据实际的应用场合而定。
在本实施例的语言理解数据上,本实施例有如下分配。将用户可能的输入语句,按照所代表的意图进行分类,并标注出语句中包含的实体。当用户表达“我想吃川菜”时,实体为“川菜”,而此实体种类为“菜品”;当用户表达“来个广州菜吧”时,实体为“广州菜”,而此实体种类为“菜品”。当用户表达“等一下”、“等等,马上回来”时,为用户意图“暂停”。当用户表达“我们4个人”时,实体为“4个人”,实体类型为“人数”;当用户表达“我自己”时,实体为“1个人”,实体类型为“人数”。除上述列举外,还有其他的用户表达,无法列举尽,故在本实施例中不作过多赘述。
本实施例的订餐领域语言模型,用于校正通用语音识别所得的用户语句。
本实施例对订餐领域的的音频文件进行语音标注,用于训练语音识别模型。如将一段音频文件内容为“我今天想吃杭帮菜”的语音数据进行语音标注,标注为“我今天想吃杭帮菜”。其中,本实施例的音频文件中的语音数据采用了16000hz采样频率、16位类型的pcm音频格式。
附图6即为本实施例的一次语音交互,即用户输入语音,该语音内容被语音识别模块识别为“我想吃坏央菜”;后由语句校正模块校正为“我想吃淮扬菜”;语言理解模块将该语句的意图分类为“选择菜品”,实体为“菜品种类”,最后得到的值为“淮扬菜”;对话管理模块接收从语句理解模块传递过来的消息后进行动作,动作1为询问人数,动作2为填槽,即填入“淮扬菜”;最后将以此语音交互的结果返回至用户界面,本实施例通过播放录音来进行对用户的回复。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
总之,以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所作的均等变化与修饰,皆应属本发明专利的涵盖范围。
Claims (9)
1.一种语音交互方法,其特征在于,包括以下步骤:
编写对话故事,模拟自然的对话过程,编写人机对话样板,用于模型训练;
准备语言理解数据,将用户可能的输入语句,按照所代表的意图进行分类,并标注出语句中包含的实体;
准备用于校正识别所得的用户语句的领域语言模型数据;
基于端到端模型训练语音识别模块的语音识别能力;
利用所述领域语言模型数据在语句校正模块中对语音识别模块识别出的语句进行校正;
利用所述语言理解数据在语言理解模块中对校正后语句进行分类与识别;
利用用户故事数据和领域知识,训练对话管理模块的对话管理模型;
所述对话管理模型采用基于嵌入机制的深度学习模型,并通过对所述基于嵌入机制的深度学习模型进行循环神经网络计算而得到循环嵌入对话管理模型,所述循环嵌入对话管理模型的建立步骤包括:
将用户输入、机器动作和槽进行向量化,形成能够用来训练深度学习模型的特征向量,所述特征向量包括用户输入特征向量、机器动作特征向量和槽特征向量;
将所述特征向量输入嵌入层来创建嵌入向量,所述嵌入向量包括用户输入嵌入向量、机器动作和槽嵌入向量;
将用户输入嵌入向量分别输入用户注意力模块和系统注意力模块,得到用户输入的用户注意力向量,和用户输入的系统注意力向量;
将用户输入嵌入向量与用户输入的注意力向量相加,并将槽嵌入向量连接到所述用户输入嵌入向量与用户输入的注意力向量相加的计算结果的尾端,最后所得的数据一起输入LSTM单元;
将LSTM单元的输出通过嵌入层计算到当前时间步的嵌入向量,并将所述当前时间步的嵌入向量与用户输入的系统注意力向量相加而得到当前时间步的对话状态向量;
计算所述当前时间步的对话状态向量与目标机器动作嵌入向量的正确相似度。
2.根据权利要求1所述的一种语音交互方法,其特征在于,所述循环嵌入对话管理模型的建立步骤还包括:
采用负采样的方法获得当前时间步的对话状态向量与错误的机器动作嵌入向量的错误相似度,将正确相似度与错误相似度均代入损失函数,通过使所述损失函数最小化来提高正确相似度,降低错误相似度。
3.根据权利要求2所述的一种语音交互方法,其特征在于,
在所述循环嵌入对话管理模型的建立步骤中,所述用户注意力模块包括注意力机制、神经图灵机与记忆模块,所述系统注意力模块也包括注意力机制、神经图灵机与记忆模块。
4.根据权利要求3所述的一种语音交互方法,其特征在于,所述注意力机制的计算采用Bahdanau分数的插值;所述神经图灵机用于将记忆模块中的值切断,而只使用当前时间步之前的时间步的信息。
5.根据权利要求4所述的一种语音交互方法,其特征在于,所述语句校正模块采用基于transformer的encoder-decoder模型;所述基于transformer的encoder-decoder模型的架构建立步骤包括:
利用word2vec对输入语句进行词嵌入训练,从而得到样本的嵌入矩阵;
利用正弦和余弦函数进行位置编码;
将所述位置编码所得的样本集输入多头注意力模型;
将所述多头注意力模型的输出送入前馈神经网络;
所述多头注意力模型与所述前馈神经网络构成encoder,将encoder输出的特征矩阵输入decoder;
获得输入语句的对应文字。
6.根据权利要求5所述的一种语音交互方法,其特征在于:
所述decoder包括两层堆叠的多头注意力模型和一层前馈神经网络;
第一层所述多头注意力模型采用输出标签作为输入;
第二层所述多头注意力模型采用所述encoder的输出作为输入;
第二层所述多头注意力模型的输出在经由前馈神经网络计算之后输入到softmax函数,所述softmax函数输出概率;
对所述softmax函数的输出概率通过贪心算法的计算,选择最大概率;对所述最大概率进行词典查找获得获得输入语句的对应文字。
7.根据权利要求6所述的一种语音交互方法,其特征在于:
所述语音识别模块基于DeepSpeech/wav2letter++/DFSMN的端到端模型训练语音识别能力;
所述语言理解模块采用bert进行语句进行嵌入,再利用DNN+softmax来对校正后语句进行分类与识别。
8.一种语音交互系统,采用权利要求1-7所述的语音交互方法,其特征在于:包括语音识别模块、语句校正模块、语言理解模块以及对话管理模块;
所述语音识别模块基于wav2letter++框架,采用全卷积神经网络;
所述语句校正模块采用基于transformer的encoder-decoder模型;
所述语言理解模块采用bert模型进行语句嵌入,利用DNN+softmax进行分类与识别;
所述对话管理模块采用循环嵌入对话管理模型。
9.一种对话设备,采用权利要求8所述的语音交互系统,其特征在于:包括接口、处理器以及存储器;
所述处理器利用各个接口和线路来连接整个对话设备硬件的各个部分,并通过运行或执行存储在存储器中的软件程序和/或模块,以及调用存储在存储器中的数据,来执行对话设备硬件的各种功能和处理数据,从而对对话设备硬件进行整体的控制。
所述存储器包括存储程序区和存储数据区;所述存储程序区存储有存储操作系统、驱动程序模块、语音识别模块、语句校正模块、语言理解模块和对话管理模块;所述存储数据区存储有所述对话设备硬件因使用所创建的数据;所述存储器还包括用于提供所述处理器对存储器访问的存储器控制器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911172944.6A CN110838288B (zh) | 2019-11-26 | 2019-11-26 | 一种语音交互方法及其系统和对话设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911172944.6A CN110838288B (zh) | 2019-11-26 | 2019-11-26 | 一种语音交互方法及其系统和对话设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110838288A CN110838288A (zh) | 2020-02-25 |
CN110838288B true CN110838288B (zh) | 2022-05-06 |
Family
ID=69577682
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911172944.6A Active CN110838288B (zh) | 2019-11-26 | 2019-11-26 | 一种语音交互方法及其系统和对话设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110838288B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111414466A (zh) * | 2020-03-17 | 2020-07-14 | 杭州博拉哲科技有限公司 | 一种基于深度模型融合的多轮对话建模方法 |
CN112185104B (zh) * | 2020-08-22 | 2021-12-10 | 南京理工大学 | 一种基于对抗自编码器的交通大数据修复方法 |
US11929062B2 (en) * | 2020-09-15 | 2024-03-12 | International Business Machines Corporation | End-to-end spoken language understanding without full transcripts |
CN112308370B (zh) * | 2020-09-16 | 2024-03-05 | 湘潭大学 | 一种基于Transformer的面向思政课程的主观题自动评分方法 |
CN112866370A (zh) * | 2020-09-24 | 2021-05-28 | 汉桑(南京)科技有限公司 | 一种基于宠物球的宠物互动方法、系统、装置及存储介质 |
CN112183062B (zh) * | 2020-09-28 | 2024-04-19 | 云知声智能科技股份有限公司 | 一种基于交替解码的口语理解方法、电子设备和存储介质 |
CN111933115B (zh) * | 2020-10-12 | 2021-02-09 | 腾讯科技(深圳)有限公司 | 语音识别方法、装置、设备以及存储介质 |
CN112131861B (zh) * | 2020-11-25 | 2021-03-16 | 中国科学院自动化研究所 | 基于层次化多头交互注意力的对话状态生成方法 |
CN112463956B (zh) * | 2020-11-26 | 2022-08-23 | 重庆邮电大学 | 基于对抗学习和分层神经网络的文本摘要生成系统和方法 |
CN112581964B (zh) * | 2020-12-04 | 2023-03-24 | 浙江大有实业有限公司杭州科技发展分公司 | 一种面向多领域的智能语音交互方法 |
CN112686058B (zh) * | 2020-12-24 | 2021-10-29 | 中国人民解放军战略支援部队信息工程大学 | Bert嵌入语音翻译模型训练方法、系统及语音翻译方法和设备 |
CN113160798B (zh) * | 2021-04-28 | 2024-04-16 | 厦门大学 | 一种中文民航空中交通管制语音识别方法及系统 |
CN113257239B (zh) * | 2021-06-15 | 2021-10-08 | 深圳市北科瑞声科技股份有限公司 | 语音识别方法、装置、电子设备及存储介质 |
CN113488057B (zh) * | 2021-08-18 | 2023-11-14 | 山东新一代信息产业技术研究院有限公司 | 面向康养的对话实现方法及系统 |
CN116705078B (zh) * | 2023-08-02 | 2023-11-28 | 清华大学 | 基于原始音频波形的端到端的语音伪装情绪检测方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100684160B1 (ko) * | 2005-12-08 | 2007-02-20 | 한국전자통신연구원 | 개체명 인식을 이용한 대화 분석 장치 및 방법 |
CN107122404A (zh) * | 2017-03-22 | 2017-09-01 | 北京晓数聚传媒科技有限公司 | 一种用户意图数据提取方法和装置 |
CN108091328A (zh) * | 2017-11-20 | 2018-05-29 | 北京百度网讯科技有限公司 | 基于人工智能的语音识别纠错方法、装置及可读介质 |
WO2019028261A1 (en) * | 2017-08-02 | 2019-02-07 | [24]7.ai, Inc. | METHOD AND APPARATUS FOR LEARNING CONVERSATIONAL AGENTS |
CN109522397A (zh) * | 2018-11-15 | 2019-03-26 | 平安科技(深圳)有限公司 | 基于语义解析的信息处理方法及装置 |
CN109741744A (zh) * | 2019-01-14 | 2019-05-10 | 博拉网络股份有限公司 | 基于大数据搜索的ai机器人对话控制方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190147858A1 (en) * | 2017-11-16 | 2019-05-16 | Honeywell International Inc. | Methods, systems and apparatuses for improving speech recognition using touch-based predictive modeling |
-
2019
- 2019-11-26 CN CN201911172944.6A patent/CN110838288B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100684160B1 (ko) * | 2005-12-08 | 2007-02-20 | 한국전자통신연구원 | 개체명 인식을 이용한 대화 분석 장치 및 방법 |
CN107122404A (zh) * | 2017-03-22 | 2017-09-01 | 北京晓数聚传媒科技有限公司 | 一种用户意图数据提取方法和装置 |
WO2019028261A1 (en) * | 2017-08-02 | 2019-02-07 | [24]7.ai, Inc. | METHOD AND APPARATUS FOR LEARNING CONVERSATIONAL AGENTS |
CN108091328A (zh) * | 2017-11-20 | 2018-05-29 | 北京百度网讯科技有限公司 | 基于人工智能的语音识别纠错方法、装置及可读介质 |
CN109522397A (zh) * | 2018-11-15 | 2019-03-26 | 平安科技(深圳)有限公司 | 基于语义解析的信息处理方法及装置 |
CN109741744A (zh) * | 2019-01-14 | 2019-05-10 | 博拉网络股份有限公司 | 基于大数据搜索的ai机器人对话控制方法和系统 |
Non-Patent Citations (4)
Title |
---|
A COMPARATIVE STUDY OF NEURAL NETWORK MODELS FOR LEXICAL INTENT CLASSIFICATION;Suman Ravuri et al;《ASRU 2015》;20160211;全文 * |
CONTEXT SENSITIVE CONVERSATIONAL AGENT USING DNN;Shreya Karve et al;《ICECA 2018》;20181001;全文 * |
基于强化学习的开放领域聊天机器人对话生成算法;曹东岩;《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》;20180215;全文 * |
基于深度学习的智能问答系统的研究与实现;卓越;《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》;20181215;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110838288A (zh) | 2020-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110838288B (zh) | 一种语音交互方法及其系统和对话设备 | |
US10679613B2 (en) | Spoken language understanding system and method using recurrent neural networks | |
CN109670035B (zh) | 一种文本摘要生成方法 | |
US11676067B2 (en) | System and method for creating data to train a conversational bot | |
CN111212190B (zh) | 一种基于话术策略管理的对话管理方法、装置和系统 | |
CN113505591A (zh) | 一种槽位识别方法及电子设备 | |
CN113051374B (zh) | 一种文本匹配优化方法及装置 | |
CN111191000A (zh) | 一种智能语音机器人的对话管理方法、装置和系统 | |
CN114830139A (zh) | 使用模型提供的候选动作训练模型 | |
EP3614297A1 (en) | Hybrid natural language understanding | |
CN112364147A (zh) | 一种基于知识图谱的跨领域多轮对话方法及实现系统 | |
CN112395887A (zh) | 对话应答方法、装置、计算机设备和存储介质 | |
CN115146124A (zh) | 问答系统应答方法及其装置、设备、介质、产品 | |
CN117573834B (zh) | 一种用于面向软件即服务平台的多机器人对话方法及系统 | |
US11449726B1 (en) | Tailored artificial intelligence | |
CN114239607A (zh) | 一种对话答复方法及装置 | |
CN111966805A (zh) | 用于辅助实现会话的方法、装置、介质以及电子设备 | |
CN114490974A (zh) | 信息自动回复方法、装置、系统、电子设备及可读介质 | |
CN113377943B (zh) | 多轮智能问答数据处理系统 | |
CN115617972A (zh) | 一种机器人对话方法、装置、电子设备及存储介质 | |
CN111782775B (zh) | 对话方法、装置、设备和介质 | |
CN114330701A (zh) | 模型训练方法、装置、计算机设备、存储介质及程序产品 | |
CN112035648A (zh) | 一种用户数据的处理方法、装置及电子设备 | |
CN111310847A (zh) | 训练要素分类模型的方法和装置 | |
WO2020151652A1 (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 |