语音交互设备唤醒词生成方法及装置与流程

文档序号:16092298发布日期:2018-11-27 23:09阅读:175来源:国知局

本公开涉及语音识别技术领域,具体涉及一种语音交互设备唤醒词生成方法,以及一种语音交互设备唤醒词生成装置。



背景技术:

语音识别技术,也被称为自动语音识别(Automatic Speech Recognition,ASR),其目标是将人类发出的语音中的词汇内容转换为计算机可读的输入信息,例如按键、二进制编码或者字符序列。

随着语音识别技术的快速发展,语音交互设备已大规模投入商用。

语音交互逐渐成为了新一代广泛应用的交互模式。

目前,语音交互设备的交互模式通常为通过唤醒词来开启与用户之间的交流。

然而,发明人发现,现有的语音交互技术方案通常为通过固定的唤醒词来开启语音交互服务。个别的也有通过识别交互设备场景从而生成固定唤醒词的方案。但由于用户间存在很大的差异性,人与人的需求不同,所需交互的内容也不尽相同,固定的唤醒词往往导致用户的体验不佳。

因此,如何生成符合用户习惯的唤醒词成为本领域亟待解决的技术问题,并对提高用户体验,加快语音交互的发展起着关键性作用。



技术实现要素:

为了至少部分解决现有技术中存在的技术问题而完成了本公开。

解决本公开技术问题所采用的技术方案是:

本公开提供一种语音交互设备唤醒词生成方法,其包括如下步骤:

获取预设时间段内用户的语音交互数据;

采用机器学习算法对所述语音交互数据进行聚类,以得到多个类;

选取所述多个类中的至少一个类,分别将各个已选类的语音交互数据作为输入,采用聚类算法输出每个所述已选类对应的唤醒词;

向所述用户推送所述唤醒词。

可选地,在所述获取预设时间段内用户的语音交互数据的步骤之后,所述唤醒词生成方法还包括如下步骤:

去掉所述语音交互数据中的无意义词汇并进行分词处理;

则所述采用机器学习算法对所述语音交互数据进行聚类的步骤相应为:

采用机器学习算法对分词后的所述语音交互数据进行聚类。

可选地,所述采用机器学习算法对分词后的所述语音交互数据进行聚类,以得到多个类的步骤具体包括:

根据分词后的所述语音交互数据,生成用户词典;

根据所述用户词典,将分词后的所述语音交互数据转换为向量;

采用聚类算法对转换后的所述向量进行聚类,以得到M个类,其中M为大于2的整数。

可选地,在所述采用聚类算法对转换后的所述向量进行聚类,以得到M个类的步骤之后,所述唤醒词生成方法还包括如下步骤:

根据聚类后得到的M个类的大小进行排序,选取排名前N位的类,其中,N为大于1的整数;

则所述选取所述多个类中的至少一个类的步骤具体为:

在所述排名前N位的类中选取排名靠前的至少一个类。

可选地,在所述向所述用户推送所述唤醒词的步骤之后,所述唤醒词生成方法还包括如下步骤:

接收所述用户输出的唤醒词反馈信息,所述唤醒词反馈信息包括唤醒词确认信息和唤醒词修正信息;

若接收到所述唤醒词确认信息,则保持所述唤醒词不变;

若接收到所述唤醒词修正信息,则继续接收所述用户提供的新唤醒词,并将其对应的原唤醒词替换为所述新唤醒词。

本公开还提供一种语音交互设备唤醒词生成装置,其包括:

语音交互数据获取模块,用于获取预设时间段内用户的语音交互数据;

语音交互数据处理模块,用于采用机器学习算法对所述语音交互数据进行聚类,以得到多个类;

唤醒词生成模块,用于选取所述多个类中的至少一个类;分别将各个已选类的语音交互数据作为输入,采用聚类算法输出每个所述已选类对应的唤醒词;

唤醒词推送模块,用于向所述用户推送所述唤醒词。

可选地,所述唤醒词生成装置还包括:

语音交互数据预处理模块,用于去掉所述语音交互数据中的无意义词汇并进行分词处理;

则所述语音交互数据处理模块相应用于,采用机器学习算法对分词后的所述语音交互数据进行聚类,以得到多个类。

可选地,所述语音交互数据处理模块具体用于,

根据分词后的所述语音交互数据,生成用户词典;

根据所述用户词典,将分词后的所述语音交互数据转换为向量;

采用聚类算法对转换后的所述向量进行聚类,以得到M个类,其中M为大于2的整数。

可选地,所述语音交互数据处理模块还用于,根据聚类后得到的M个类的大小进行排序,选取排名前N位的类,其中,N为大于1的整数;

则所述唤醒词生成模块相应用于,在所述排名前N位的类中选取排名靠前的至少一个类。

可选地,所述唤醒词生成装置还包括:

唤醒词更新模块,用于接收所述用户输出的唤醒词反馈信息,所述唤醒词反馈信息包括唤醒词确认信息和唤醒词修正信息;

若接收到所述唤醒词确认信息,则保持所述唤醒词不变;

若接收到所述唤醒词修正信息,则继续接收所述用户提供的新唤醒词,并将其对应的原唤醒词替换为所述新唤醒词。

有益效果:

本公开所述语音交互设备唤醒词生成方法和装置通过统计用户习惯,并对用户上传的语音交互数据采用聚类算法进行聚类分析,以生成符合该用户行为习惯的语音唤醒词,从而能为不同用户提供差异化的语音唤醒服务。

附图说明

图1为本公开实施例1提供的语音交互设备唤醒词生成方法的流程图;

图2为本公开实施例2提供的语音交互设备唤醒词生成方法的流程图;

图3为本公开实施例3提供的语音交互设备唤醒词生成装置的结构框图。

图中:100-语音交互数据获取模块;200-语音交互数据预处理模块;300-语音交互数据处理模块;400-唤醒词生成模块;500-唤醒词推送模块;600-唤醒词更新模块。

具体实施方式

为使本领域技术人员更好地理解本公开的技术方案,下面结合附图和实施例对本公开作进一步详细描述。

实施例1:

如图1所示,本实施例提供一种语音交互设备唤醒词生成方法,包括如下步骤S101至S104。

S101.获取预设时间段内用户的语音交互数据。

本步骤具体为,识别并存储用户上传的预设时间段内的语音交互数据。

S102.采用机器学习算法对所述语音交互数据进行聚类,以得到多个类。

其中,聚类是指将物理或抽象对象的集合分成由类似的对象组成的多个类的过程。

S103.选取所述多个类中的至少一个类,分别将各个已选类的语音交互数据作为输入,采用聚类算法输出每个已选类对应的唤醒词。

其中,聚类算法(clustering algorithm)可包括划分聚类法、层次聚类法、基于密度的聚类法和基于网格的聚类法等。本领域技术人员可根据实际情况来选择具体的聚类算法。

本步骤中,在从所述多个类中选取至少一个类时,可根据用户习惯或实际应用情况进行选取。当然,也可以选取所述多个类的全部。

S104.向所述用户推送所述唤醒词。

本实施例中,提前获取预设时间段内用户的语音交互数据以统计用户习惯,然后采用机器学习算法对该用户的语音交互数据进行聚类分析,以生成符合该用户习惯的语音唤醒词并推送给该用户,即为不同用户生成有差异且有针对性的唤醒词,从而能为不同用户提供差异化的语音唤醒服务,极大地提升了用户体验,还能加快语音交互技术的发展。

为了实现更快速、更准确的聚类,可对步骤S101获取的语音交互数据进行预处理:去掉无意义词汇(如的、嗯)并进行分词处理,然后在步骤S102中再对分词后的语音交互数据进行聚类。

因此在步骤S101和步骤S102之间,所述唤醒词生成方法还可包括如下步骤:

去掉所述语音交互数据中的无意义词汇并进行分词处理。

则所述步骤S102相应为:

采用机器学习算法对分词后的语音交互数据进行聚类,以得到多个类。

本实施例中,无意义的词汇指的是不涉及唤醒功能的词汇,可包括语气词、具有个人色彩的口头禅等。

所述分词处理的具体方法包括基于字符串匹配的分词方法、基于理解的分词方法和基于统计的分词方法等。

其中,基于字符串匹配的分词方法包括:正向最大匹配法,即把一句话从左至右来分词;反向最大匹配法,即把一句话从右至左来分词;最短路径分词法,即把一句话分成数量最少的词;双向最大匹配法,即正反向同时对一句话进行分词匹配。

基于理解的分词方法指的是,利用句法信息和语义信息来分词。

基于统计的分词方法指的是,基于字和词的统计信息,如把相邻字间的信息、词频及相应的共现信息等应用于分词。

具体地,所述步骤S102可包括如下步骤S1021至S1023。

S1021.根据分词后的语音交互数据,生成用户词典;

S1022.根据所述用户词典,将分词后的语音交互数据转换为向量;

S1023.采用聚类算法对转换后的向量进行聚类,以得到M个类,其中M为大于2的整数。

在步骤S1023中,采用的聚类算法可包括K-Means算法(K均值算法)、GMM(Gaussian Mixture Model,高斯混合模型)算法和均值漂移算法等。

其中,当采用K-Means算法对转换后的向量进行聚类时,具体包括如下步骤:

a1)从转换后的向量中,选取K个向量作为质心;

b1)对于剩余的每个向量,分别测量其到每个质心的距离,并把其归到最近的质心的类;

c1)重新计算已经得到的各个类的质心;

d1)迭代X步直至新的质心与原质心相等或小于指定阈值,算法结束。

若步骤S1023采用K-Means算法对转换后的向量进行聚类,则在步骤S103中,采用聚类算法输出每个已选类对应的唤醒词具体为:采用K-Means算法输出每个已选类的质心,并将每个已选类的质心作为该已选类对应的唤醒词。

当采用GMM算法对转换后的向量进行聚类时,具体包括如下步骤:

a2)初始化每个类别的GMM参数均值Φ、协方差矩阵Σ和混合系数μ;

b2)基于参数初始化值算计算样本属于每一类的概率(后验概率):

b2)根据该概率,重新计算GMM的各参数均值Φ、协方差矩阵Σ、混合系数μ;

d2)迭代计算,直到参数稳定为止。

当采用均值漂移算法对转换后的向量进行聚类时,具体包括如下步骤:

a3)采用圆形滑动窗口(初始化中心点C、半径为r)在需要聚类的样本上进行滑动;

b3)计算滑动窗口内样本的均值、样本的密度(滑动窗口内的点的数量);

c3)窗口会向密度更高的区域移动窗口、并计算新的窗口内的样本的均值、样本的密度;

d3)重复上一步骤,直到没有方向在窗口内可以容纳更多的点为止。

e3)当多个滑动窗口重叠时,保留包含最多点的窗口,然后根据数据点所在的滑动窗口进行聚类。

本实施例中,在得到M个类后,就可以根据用户习惯或实际应用情况从所述M个类中选取至少一个类,并采用聚类算法得出每个已选类对应的唤醒词。

在从所述M个类中选取类时,为了减少不常用类的数量,所述步骤S102还可包括位于步骤S1023之后的如下步骤S1024。

S1024.根据聚类后得到的M个类的大小(即句子数量的多少)进行排序,选取排名前N位的类,其中,N为大于1的整数。

则所述步骤S103相应为:

在所述排名前N位的类中选取排名靠前的至少一个类,分别将各个已选类的语音交互数据作为输入,采用聚类算法输出每个所述已选类对应的唤醒词。

本实施例中,在得到每个已选类对应的唤醒词,并推送给对应的用户后,有可能会出现推送的个别唤醒词与用户习惯不匹配的情况,从而降低用户体验。

为了解决这一问题,可以使用户确认或修正唤醒词,将修正后的唤醒词作为新的唤醒词来替代原唤醒词,从而在交互设备下次收到该新的唤醒词时,开启与用户交互模式。

因此在步骤S104后,还可包括如下步骤S105至S107。

S105.接收所述用户输出的唤醒词反馈信息,所述唤醒词反馈信息包括唤醒词确认信息和唤醒词修正信息;

S106.若接收到唤醒词确认信息,则保持所述唤醒词不变;

S107.若接收到唤醒词修正信息,则继续接收所述用户提供的新唤醒词,并将其对应的原唤醒词替换为所述新唤醒词。

本实施例中,通过统计用户习惯,并对用户上传的语音交互数据采用机器学习算法进行聚类分析,以生成符合该用户行为习惯的语音唤醒词,从而能为不同用户提供差异化的语音唤醒服务。

实施例2:

如图2所示,本实施例提供一种更为具体的语音交互设备唤醒词生成方法,包括如下步骤S201至S212。

S201.获取预设时间段内用户的语音交互数据;

S202.去掉所述语音交互数据中的无意义词汇并进行分词处理;

S203.根据分词后的语音交互数据,生成用户词典;

S204.根据所述用户词典,将分词后的语音交互数据转换为向量;

S205.采用K-Means算法对转换后的向量进行聚类,以得到M个类,其中M为大于2的整数;

S206.根据聚类后得到的M个类的大小(即句子数量的多少)进行排序,选取排名前N位的类,其中,N为大于1的整数;

S207.在所述排名前N位的类中选取排名靠前的至少一个类,分别将各个已选类的语音交互数据作为输入,采用K-Means算法输出每个已选类的质心,并将每个已选类的质心作为该已选类对应的唤醒词;

S208.向所述用户推送所述唤醒词;

S209.接收所述用户输出的唤醒词反馈信息,所述唤醒词反馈信息包括唤醒词确认信息和唤醒词修正信息;

S210.判断唤醒词反馈信息的类型,若所述唤醒词反馈信息为唤醒词确认信息,则执行步骤S211,若所述唤醒词反馈信息为唤醒词修正信息,则执行步骤S212;

S211.保持所述唤醒词不变;

S212.继续接收所述用户提供的新唤醒词,并将其对应的原唤醒词替换为所述新唤醒词。

本实施例中,通过统计用户习惯,并对用户上传的语音交互数据采用K-Means算法进行聚类分析,以生成符合该用户行为习惯的语音唤醒词,从而能为不同用户提供差异化的语音唤醒服务。

实施例3:

如图3所示,本实施例提供一种语音交互设备唤醒词生成装置,包括:

语音交互数据获取模块100,用于获取预设时间段内用户的语音交互数据,具体用于识别并存储用户上传的预设时间段内的语音交互数据;

语音交互数据处理模块300,用于采用机器学习算法对所述语音交互数据进行聚类,以得到多个类;

唤醒词生成模块400,用于选取所述多个类中的至少一个类;分别将各个已选类的语音交互数据作为输入,采用聚类算法输出每个已选类对应的唤醒词;

唤醒词推送模块500,用于向所述用户推送所述唤醒词。

本实施例中,通过语音交互数据获取模块100提前获取预设时间段内用户的语音交互数据以统计用户习惯,然后通过语音交互数据处理模块300采用机器学习算法对该用户的语音交互数据进行聚类分析,再通过唤醒词生成模块400生成符合该用户习惯的语音唤醒词,并通过唤醒词推送模块500推送给该用户,即为不同用户生成有差异且有针对性的唤醒词,从而能为不同用户提供差异化的语音唤醒服务,极大地提升了用户体验,还能加快语音交互技术的发展。

为了实现更快速、更准确的聚类,如图3所示,所述唤醒词生成装置还包括:语音交互数据预处理模块200,用于去掉所述语音交互数据中的无意义词汇并进行分词处理。

则语音交互数据处理模块300相应用于,采用机器学习算法对分词后的语音交互数据进行聚类,以得到多个类。

其中,语音交互数据处理模块300具体用于:

根据分词后的所述语音交互数据,生成用户词典;

根据所述用户词典,将分词后的所述语音交互数据转换为向量;

采用聚类算法对转换后的所述向量进行聚类,以得到M个类,其中M为大于2的整数。

在语音交互数据处理模块300从所述M个类中选取类时,为了减少不常用类的数量,语音交互数据处理模块300还可用于,根据聚类后得到的M个类的大小进行排序,选取排名前N位的类,其中,N为大于1的整数。

则唤醒词生成模块400相应用于,在所述排名前N位的类中选取排名靠前的至少一个类,分别将各个已选类的语音交互数据作为输入,采用聚类算法输出每个已选类对应的唤醒词。

本实施例中,在得到每个已选类对应的唤醒词,并推送给对应的用户后,有可能会出现推送的个别唤醒词与用户习惯不匹配的情况,从而降低用户体验。

为了解决这一问题,如图3所示,所述唤醒词生成装置还包括:唤醒词更新模块600,用于接收所述用户输出的唤醒词反馈信息,所述唤醒词反馈信息包括唤醒词确认信息和唤醒词修正信息;若接收到唤醒词确认信息,则保持所述唤醒词不变;若接收到唤醒词修正信息,则继续接收所述用户提供的新唤醒词,并将其对应的原唤醒词替换为所述新唤醒词。

可以理解的是,本实施例所述装置与实施例1所述方法中的相关特征可以相互参考。

本实施例中,通过语音交互数据获取模块提前获取预设时间段内用户的语音交互数据以统计用户习惯,然后通过语音交互数据处理模块采用机器学习算法对该用户的语音交互数据进行聚类分析,再通过唤醒词生成模块生成符合该用户习惯的语音唤醒词,即为不同用户生成有差异且有针对性的唤醒词,从而能为不同用户提供差异化的语音唤醒服务,极大地提升了用户体验。

可以理解的是,以上实施方式仅仅是为了说明本公开的原理而采用的示例性实施方式,然而本公开并不局限于此。对于本领域内的普通技术人员而言,在不脱离本公开的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本公开的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1