掌桥专利:专业的专利平台
掌桥专利
首页

基于端到端的人-机器人语音交互系统

文献发布时间:2024-04-18 20:01:23


基于端到端的人-机器人语音交互系统

技术领域

本发明涉及语音交互技术领域,尤其涉及一种基于端到端的人-机器人语音交互系统。

背景技术

随着人工智能技术的发展,具备语音交互能力的机器人在行动指挥、警卫警戒、巡逻等任务场景越来越发挥着重要的作用,目前语音交互的方案大多数是采用卷积神经网络(convolutional neural network,CNN)、循环神经网络(recurrent neural network,RNN)等常见网络为基础的混合识别系统来进行语音识别,采用自然语言理解技术来进行语音理解,采用文本分析+声学模型+声码器的组合方式来进行语音合成。

然而,现有的语音交互技术有着一些缺点。例如,语音识别误差大,难以正确理解上下文和语义等,这都会影响到机器人在一些任务场景下的表现。

发明内容

针对现有技术存在的问题,本发明提供一种基于端到端的人-机器人语音交互系统。

第一方面,本发明提供一种基于端到端的人-机器人语音交互系统,包括:

语音采集模块,用于采集用户的音频信号;

语音识别模块,用于基于端到端的语音识别模型,得到所述音频信号的文本结果;

自然语言理解模块,用于基于语义向量之间的距离识别出所述文本结果的相似语句,所述相似语句作为所述文本结果的语义理解结果;

对话管理模块,用于根据所述相似语句从数据库中选择相应的回复语句或者执行相应的动作指令;

自然语言生成模块,用于根据所述回复语句生成回复文本;

语音合成模块,用于将所述回复文本转换成语音进行输出。

在一些实施例中,所述基于语义向量之间的距离识别出所述文本结果的相似语句,包括:

将所述文本结果输入语义编码模型,得到所述文本结果的相似语句;

其中,所述语义编码模型用于对输入的所述文本结果进行分词处理和向量表示,得到所述文本结果对应的语义向量,然后基于语义向量之间的距离,从语句数据集中选择与所述文本结果对应的语义向量具有最高相似度且满足相似度阈值条件的目标语义向量所对应的语句,输出为所述文本结果的相似语句。

在一些实施例中,所述语义向量之间的距离基于语义向量之间的余弦相似度进行表征。

在一些实施例中,所述相似度阈值条件包括语义向量之间的余弦相似度大于第一阈值,所述第一阈值的取值范围为0.7~0.8。

在一些实施例中,所述基于端到端的语音识别模型,得到所述音频信号的文本结果,包括:

通过预训练模型提取所述音频信号的语音特征,然后通过所述端到端的语音识别模型对所述语音特征进行识别,得到所述音频信号的文本结果。

在一些实施例中,所述预训练模型支持多语种音频信号的语音特征提取。

在一些实施例中,所述端到端的语音识别模型为卷积神经网络模型。

在一些实施例中,所述采集用户的音频信号,包括:

通过设于所述机器人中的同心双环麦克风阵列采集用户的音频信号。

在一些实施例中,所述同心双环麦克风阵列的内环和外环上都均匀分布6个麦克风。

在一些实施例中,所述语音识别模块支持本地离线语音识别。

本发明提供的基于端到端的人-机器人语音交互系统,通过端到端的机器学习模型进行语音识别,并通过语义向量空间距离的相似语句识别方法进行语义理解,不仅提升了语音识别的准确率,而且提升了语义理解的准确度,从而能够大大提升该系统在相应任务场景下的表现。

附图说明

为了更清楚地说明本发明或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的基于端到端的人-机器人语音交互系统的结构示意图;

图2为本发明提供的语音交互过程示意图;

图3为本发明提供的同心双环麦克风阵列示例图;

图4为本发明提供的语音识别流程图;

图5为本发明提供的语音编码过程示意图;

图6为本发明提供的语音解码过程示意图;

图7为本发明提供的NLG的过程示例图;

图8为本发明提供的语音交互系统实施示例图。

具体实施方式

本发明中术语“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

本发明中术语“多个”是指两个或两个以上,其它量词与之类似。

本发明中术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,以便本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”所区别的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明提供的基于端到端的人-机器人语音交互系统的结构示意图,如图1所示,该系统包括:

语音采集模块100,用于采集用户的音频信号;

语音识别模块110,用于基于端到端的语音识别模型,得到音频信号的文本结果;

自然语言理解模块120,用于基于语义向量之间的距离识别出文本结果的相似语句,相似语句作为文本结果的语义理解结果;

对话管理模块130,用于根据相似语句从数据库中选择相应的回复语句或者执行相应的动作指令;

自然语言生成模块140,用于根据回复语句生成回复文本;

语音合成模块150,用于将回复文本转换成语音进行输出。

具体地,机器人是否具备语音交互能力是衡量其人性化的一个重要特征。当人和机器人准备交互的时候,首先需要语音唤醒机器人,让机器人能够进行语音识别,唤醒之后的对话环节是语音交互设计过程的核心。根据不同的使用场景,对话设计可分为任务式对话设计和闲聊式对话设计。用户进行任务式对话是为了尽快得到答案,此时的对话具有比较清晰的意图,以完成特定操作为目标;闲聊式对话则是面向开放领域,针对问题进行网络检索。由于目前自然语言处理技术的限制,试图让机器理解所有的语料信息是不可能的。受限于技术边界,当下智能警卫机器人还是以传统的问答式逻辑反馈为主。进行任务式对话设计时,如果经过多轮对话后,目标的潜台词或背后意图缺少对应的实体词槽覆盖,智能警卫机器人就要开始追问行为,所以根据当前场景进行任务式对话设计,帮助机器人达成相符的期望,这也是本发明要尽力达到的目标。

图2为本发明提供的语音交互过程示意图,如图2所示,其语音交互(VUI)过程主要包括:语音采集、自动语音识别(ASR)、自然语言理解(NLU)、对话管理(DM)、自然语言生成(NLG)和语音合成(TTS)。通过应用自动语音识别技术听到用户说的话,然后应用自然语言理解来分析语句的含义,通过历史语音数据的对话管理选择合适的回复语句,随后用自然语言生成对话结果,最后应用文字转语音技术将结果播放给用户,完成与用户的语音交互,或者根据用户的语音指令执行相应的动作。

对于语音采集模块,其主要通过声学传感器(一般为麦克风)采集用户的音频信号。

在一些实施例中,采集用户的音频信号,包括:通过设于机器人中的同心双环麦克风阵列采集用户的音频信号。即,语音采集模块可以采用同心双环麦克风阵列布局的硬件设备,可以根据机器人外壳进行对应的出音孔设计,该麦克风阵列是由一定数目的麦克风组成2个同心圆环的结构,通过麦克风阵列对声场的空间特性进行采样并处理,其主要作用有声源定位,抑制背景噪声、干扰、混响、回声,信号提取与分离等。

通过使用两个麦克风阵列,并且将它们估计的信号源方向相交叉,就可以确定声源位置。基于声源定位算法引入了两步架构的处理方法。在第一步中,阵列中任意两个麦克风之间的相对到达时间差异(time difference of arrival,TDOA)被计算并形成当前时刻的TDOA集合。在第二步中,结合TDOA集合,利用已知的麦克风阵列的几何分布定位声源的位置。基于声源定位算法具有较高的计算效率,并可通过改变采样率和麦克风阵列的规格来调整定位精度,在应用中具有较大的灵活性。

通过语音引擎中的回声消除、抑制混响、空域滤波等处理技术,将杂乱声音过滤掉,实现对清晰语音的获取。在用户和机器人交互的过程中,如果环境中出现了一些杂音,那么通过这些处理技术就能够使机器人最大程度上获取清晰的语音,从而做出正确的回应。

在一些实施例中,同心双环麦克风阵列的内环和外环上都均匀分布6个麦克风。

图3为本发明提供的同心双环麦克风阵列示例图,如图3所示,该麦克风阵列采用平面式分布结构,每个单环阵列包含6个麦克风,可实现360度等效拾音,唤醒分辨率为1度。可以使用麦克风阵列获取原始和降噪音频,获取唤醒角度,主麦编号;也可以设置主麦编号,灯光点亮和关闭等。通信模块可以使用搭载Linux系统的主机进行通信和算法处理,主机与麦克风阵列之间的通信方式为基于通用串行总线(Universal Serial Bus,USB)的自定义通信协议。基于这些协议用户可以在主机端进行诸如麦克风板开机、获取音频、设置主麦方向、获取唤醒角度等操作。麦克风阵列配备软件开发工具包(Software DevelopmentKit,SDK),对一些协议进行应用程序编程接口(Application Programming Interface,API)的封装,便于用户利用麦克风阵列进行离线命令词识别和人机交互。

在一些实施例中,本发明设计的同心双环麦克风阵列最远可实现4米语音识别,识别率在95%以上,此外还可以配备一个智能扩音器,同时受自身和外界杂音干扰小。

对于语音识别模块,本发明实施例主要基于端到端的机器学习方法,直接通过原始音频数据学习特征并且输出识别的文本结果,减少了误识别的几率。

自动语音识别(ASR)技术是将声音的音频格式转化成文字的一种技术,类似于人类的耳朵,听见他人的说话内容。语音识别只能将声音转化为文字,不能识别说话人是谁。图4为本发明提供的语音识别流程图,如图4所示,使用自动语音识别技术首先将用户所说的话录制为音频,录制完成之后再将用户说话的内容从音频转换为文字格式,语音识别流程主要有输入-编码-解码-输出。

由于语音识别的输入是声音,属于计算机无法直接处理的信号,所以需要编码过程将其转变为数字信息,并提取其中的特征进行处理。图5为本发明提供的语音编码过程示意图,如图5所示,编码时一般会将声音信号按照很短的时间间隔,切成小段,成为帧。对于每一帧,可以通过某种规则(例如梅尔倒谱系数(Mel-scaleFrequency CepstralCoefficients,MFCC))提取信号中的特征,将其变成一个多维向量。向量中的每个维度都是这帧信号的一个特征。

解码过程则是将编码得到的向量变成文字的过程,需要经过两个模型的处理,一个模型是声学模型,一个模型是语言模型。图6为本发明提供的语音解码过程示意图,如图6所示,声学模型通过处理编码得到的向量,将相邻的帧组合起来变成音素,如中文拼音中的声母和韵母,再组合起来变成单个单词或汉字。语言模型用来调整声学模型所得到的不合逻辑的字词,使识别结果变得通顺。

本发明提供的语音识别模块采用端到端的机器学习模块,直接从输入端到输出端进行端到端的训练和预测,不需要人为定义中间步骤或者手动设计特征。端到端的语音识别模型可以直接将传统语音识别中的特征提取、声学模型、发音模型和语言模型等多个组件合并成一个整体,直接从原始音频数据中学习特征并输出最终的识别结果。

在一些实施例中,端到端的语音识别模型可以为卷积神经网络模型CNN。即端到端学习中采用卷积神经网络(CNN)进行序列建模,将输入特征序列映射到输出文本序列。

在一些实施例中,端到端的语音识别模型还可采用人工神经网络算法、隐马尔可夫模型、深度神经网络(Deep Neural Networks,DNN)模型等。

在一些实施例中,基于端到端的语音识别模型,得到音频信号的文本结果,包括:通过预训练模型提取音频信号的语音特征,然后通过端到端的语音识别模型对语音特征进行识别,得到音频信号的文本结果。

具体来说,可以将预训练模型作为前段模块来提取表征,将提取到的表征输入到端到端的语音识别模型进行模型训练。该预训练模型可以使用已有的用于语音特征提取的模型,具体在此不做限制。在一些实施例中,预训练模型支持多语种音频信号的语音特征提取。

预训练模型用于自动提取语音特征,这些特征通常更丰富和更有代表性,可以帮助语音识别系统更好地理解和识别语音信号,提高识别的准确性,降低误识别的几率。而且预训练模型可以是多语种的,这意味着它们可以适应多种语音,从而使语音识别系统更具有通用性。预训练模型还能够减少端到端的语音识别模型训练中所需的语音数据量,它能提供更好地特征表示,从而在较小的训练数据集上表现良好。

通过将端到端的机器学习方法与预训练模型相结合简化了传统语音识别系统的复杂性,减少了人工设计特征和组件的工作量,并且能够直接录入工作人员的原始声音数据进行大规模的训练,从而提高识别性能,而且正因为预训练模型和端到端的机器学习方法直接使用原始数据进行训练,所以能够使语音识别系统更加的灵活和通用,可以十分轻松的适应不同的口音和环境条件等,能够很大程度上避免普通话不标准、口音重等带来的识别错误,提高识别准确率。

自然语言理解(NLU)技术就是希望机器人像人一样,具备正常人的语言理解能力,能够理解用户说的是什么意思。自然语言理解这个技能完善后,可以让机器从各种自然语言的表达中区分出来,哪些话归属于这个意图,而哪些表达不是归于这一类的,不再依赖那么死板的关键词。在本发明中,将语音转变为文字格式之后再利用自然语言理解技术使机器人能够理解到用户说话内容的含义,以此来做出对应的回答。

传统的自然语言理解技术中,首先是模仿人类理解语言的基本方式,即对文本进行断句、分词等处理,将文本切割为一系列具有语义、语法的单元。当然也有一些切分方式不符合人类的直觉,比如ngram、字节对编码等subword切分方法,生成的文本单元不是词语。为此,通常用“token”这个单词来表示文本切分得到的单元。

然后,再基于token序列,使用词向量空间模型、分布式表示模型等等文本表示模型,得到一个数值向量或者矩阵。这个矩阵就是文本的数值化表示。

接下来,再基于文本表示数据,使用分类算法、序列标注方法等等,计算得到文本中的“关键信息”,比如实体、三元组、意图、事件等等。有了这些信息,机器就可以理解用户的语言、判断他们的需求。

如何保证时效性和深度语义理解是传统自然语言理解技术所面临的最大问题。本发明实施例提出基于语义向量空间距离的相似语句识别方法,基于语义向量之间的距离,来识别出语音识别模块输出的文本结果的相似语句,该相似语句即可作为文本结果的语义理解结果,从而更加高效且准确的得到语义理解结果。

在一些实施例中,基于语义向量之间的距离识别出文本结果的相似语句,包括:

将文本结果输入语义编码模型,得到文本结果的相似语句;

其中,语义编码模型用于对输入的文本结果进行分词处理和向量表示,得到文本结果对应的语义向量,然后基于语义向量之间的距离,从语句数据集中选择与文本结果对应的语义向量具有最高相似度且满足相似度阈值条件的目标语义向量所对应的语句,输出为文本结果的相似语句。

具体来说,可以先通过语义空间距离法训练得到语义编码模型。该方法利用多个损失函数来训练语义编码模型,以使相似语句在语义空间中更加聚合,而不相似语句在语义空间中更加分散。这样一来,相似语句的识别问题就转化为了在语义空间中计算距离的识别问题。通过在训练过程中优化损失函数,可以使得语义编码模型学习到更具有区分性和表达力的语义表示。这些语义表示可以将相似语句映射到相近的语义向量,而不相似语句则映射到较远的语义向量。因此,可以通过计算语义向量之间的距离来衡量句子的相似度。这种方法的优势在于它可以捕捉到句子之间的语义关系,而不仅仅局限于表面的词汇相似性。通过将相似语句聚集在语义空间中的某个区域,可以更好地识别和分类这些相似句子。相反,不相似的句子在语义空间中分散开来,使得它们更容易被区分开来。总的来说,基于语义向量空间距离的相似语句识别方法利用多类别数据进行多分类学习,通过多个损失函数优化语义编码模型,使得语义空间中的距离能够有效地表示句子之间的相似度。其中,语义编码模型可以使用已有的模型结构,具体在此不做限制。例如,可以采用条件随机场模型、隐马尔可夫模型、最大熵模型、最大熵马尔可夫模型或贝叶斯模型等。

在一些实施例中,语义向量之间的距离可以基于语义向量之间的余弦相似度进行表征。

通过语义空间距离法训练得到语义编码模型后,在测试时可以预先处理测试数据集,将大规模问句进行语义编码投射到语义空间向量进行存储,当测试语句进行相似语句识别时,只需要一次语义编码,再进行常数时间复杂度的余弦距离计算与排序就可以得到相似语句。模型应用时同测试语句的识别过程,即模型先对输入的文本结果进行分词处理和向量表示,得到文本结果对应的语义向量,然后基于语义向量之间的距离,从语句数据集中选择与文本结果对应的语义向量具有最高相似度且满足相似度阈值条件的目标语义向量所对应的语句,输出为文本结果的相似语句。在时效性上,语义空间距离法优于二元语句匹配识别方法;在性能上,实验结果表明,语义空间距离法性能优于多个基准方法。

在一些实施例中,相似度阈值条件可以包括语义向量之间的余弦相似度大于第一阈值,第一阈值的取值范围为0.7~0.8。通过大量实验表明,将阈值设置为0.7~0.8之间的数值,具有最佳的识别效果。

对于对话管理模块,可以预先设置好数据库,数据库中每个语句都关联相应的回复语句或者动作指令,从而在得到语义理解结果(即相似语句)后,便可以根据相似语句从数据库中选择相应的回复语句或者执行相应的动作指令。

如果需要向用户回复语句,则接下来需要将回复语句输入自然语言生成模块。

自然语言生成(NLG)是一种语言技术,其主要目的是构建能够“写”的软件系统的技术,即能够用汉语、英语等其他人类语言生成解释、摘要、叙述等。具体来说就是计算机的“编写语言”,它将结构化数据转换为文本,以人类语言表达。即能够根据一些关键信息及其在机器内部的表达形式,经过一个规划过程,来自动生成一段高质量的自然语言文本。在本项目中,我们利用自然语言生成技术使机器人将听到并且理解到的语音生成对应的文本,然后将机器人的对应回复也生成相应的文本显示出来。

NLG主要能够做的是根据之前处理的信息,在有组织结构的数据上创建,通过将结构良好的数据放置在精心配置的模板中,NLG可以自动输出并提供可记录的数据形式,例如分析报告、产品描述、以数据为中心的博客文章等。在语音交互的角度,自然语言生成依靠算法编程的机器可以以内容开发者所希望的格式创建内容。自然语言生成主要的好处在于它能够将数据集转换为人类理解的清晰叙述。图7为本发明提供的NLG的过程示例图,如图7所示,其主要包括内容确定、文本结构、句子聚合、语法化、参考表达式生成、语言实现等6大步骤。

自然语言生成主要的好处在于它能够将数据集转换为人类理解的清晰叙述,能够使用户在和机器人进行交互的时候更加方便快捷的理解到机器人所发出的信息,提升用户的体验感受。

自然语言生成模块根据回复语句生成回复文本之后,便可以通过语音合成模块,将回复文本转换成语音进行输出。

文字转语音(TTS)是即“从文本到语音”,通过神经网络的设计,把文字智能地转化为自然语音流。TTS文语转换用途很广,包括电子邮件的阅读、互动式语音应答(IVR)系统的语音提示等等,能够在语音交互的过程中发挥巨大的作用。在本发明中,利用文字转语音的技术使机器人在听到并理解相应的语音后,将对应的文本回答通过语音的方式表达出来,形成一个完整的交互过程。

TTS技术主要包括文本分析、语音合成和合成音质三部分。

文本分析是对输入文本进行语言学分析,逐句进行词汇的、语法的和语义的分析,以确定句子的低层结构和每个字的音素的组成,包括文本的断句、字词切分、多音字的处理、数字的处理、缩略语的处理等。

语音合成是把处理好的文本所对应的单字或短语从语音合成库中提取,把语言学描述转化成言语波形。狭义上这一步专指根据音素序列(以及标注好的起止时间、频率变化等信息)生成语音,广义上它也可以包括文本处理的步骤。

合成音质是指语音合成系统所输出的语音的质量,一般从清晰度(或可懂度)、自然度和连贯性等方面进行主观评价。清晰度是正确听辨有意义词语的百分率;自然度用来评价合成语音音质是否接近人说话的声音,合成词语的语调是否自然;连贯性用来评价合成语句是否流畅。

本发明实施例中,语音交互系统的实现采用自下到上的实现方法,首先分别实现每个模块的功能,然后再把各个模块实现的功能整合到一起进行调试实现。图8为本发明提供的语音交互系统实施示例图,如图8所示,在警卫机器人语音交互系统中,语音识别模块采用预训练模型+端到端的语音识别模型相结合,端到端的语音识别模型是将声学模型、语言模型等多个组件合并成一个整体采用端到端的机器学习方法训练得到的。

传统的语音交互系统通常需要将用户的语音数据发送到云端进行处理和分析,这引发了隐私和安全的顾虑,用户的语音数据可能被滥用或泄露,如图8所示,在本发明一些实施例中,语音识别模块可以支持本地离线语音识别,直接杜绝了云端泄露用户信息的可能性,也避免了因网络延迟等原因造成的语音交互不及时的问题。

本发明提供的基于端到端的人-机器人语音交互系统,通过端到端的机器学习模型进行语音识别,并通过语义向量空间距离的相似语句识别方法进行语义理解,不仅提升了语音识别的准确率,而且提升了语义理解的准确度,从而能够大大提升该系统在相应任务场景下的表现。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

相关技术
  • 一种基于多源词嵌入和知识图谱的漏洞利用风险评估方法
  • 一种基于词嵌入和生成式神经网络的主题挖掘方法
  • 一种基于词共现图和锚词抽取的短文本主题层次挖掘方法
技术分类

06120116548302