首页 > 乐器声学 专利正文
用于语音处理的方法和设备与流程

时间:2022-02-24 阅读: 作者:专利查询

用于语音处理的方法和设备与流程
用于语音处理的方法和设备
1.本技术要求于2020年4月28日提交到韩国知识产权局的第10

2020

0051269号韩国专利申请的权益,所述韩国专利申请的全部公开出于所有目的通过引用包含于此。
技术领域
2.下面的描述涉及一种具有语音处理的方法和设备。


背景技术:

3.语音识别技术可用于识别用户的语音。识别的用户的语音可通过语音识别被转换为文本。随着语音识别技术的发展,用户越来越需要语音命令来控制装置或充当代理。然而,由于用于执行语音识别的模型的有限训练数据或语音信号中的环境噪声,难以保证最佳性能。


技术实现要素:

4.提供本发明内容以简化的形式介绍在以下具体实施方式中进一步描述的构思的选择。本发明内容既不意在标识要求保护的主题的关键特征或必要特征,也不意在用于帮助确定要求保护的主题的范围。
5.在一个总体方面,一种方法,所述方法包括:从语音信号确定目标段;通过对目标段进行解码来确定与目标段对应的目标字符序列;基于编辑距离来确认目标字符序列与先前字符序列之间的第一重叠部分;以及基于第一重叠部分对目标字符序列和先前字符序列进行合并。基于在编辑距离执行的操作的类型、将被操作的字符是否位于第一重叠部分中和将被操作的字符是否匹配中的任何一个或者任何两个或更多个的任何组合来确定应用于编辑距离的成本。
6.编辑距离的成本可被不同地应用于目标字符序列与先前字符序列之间的第一重叠部分和非重叠部分。
7.在目标字符序列与先前字符序列之间的非重叠部分中发生的编辑距离的插入成本可小于在第一重叠部分中发生的插入成本。
8.编辑距离的匹配成本可小于在目标字符序列与先前字符序列之间的非重叠部分中发生的编辑距离的插入成本。
9.在第一重叠部分中发生的编辑距离的插入成本、删除成本和替换成本可以是正数。
10.编辑距离的匹配成本可以是负数,并且在目标字符序列与先前字符序列之间的非重叠部分中发生的编辑距离的插入成本可以为零。
11.从语音信号确定目标段的步骤可包括:基于段长度和段之间的重叠长度从语音信号确定目标段。
12.可基于执行所述方法的设备的可用资源来确定段之间的重叠长度。
13.确认的步骤可包括:根据用户在段之间的重叠长度期间说出的最大字符长度来确
认目标字符序列与从先前字符序列提取的部分序列之间的第二重叠部分。
14.可基于对与语音信号中的目标段部分重叠的先前段进行解码的结果来确定先前字符序列。
15.确认的步骤可包括:确认目标段与包括在先前字符序列中的对先前段进行解码的结果之间的第三重叠部分。
16.目标段中的第一重叠部分可小于目标段的一半。
17.一种非暂时性计算机可读存储介质可存储指令,所述指令在被一个或多个处理器执行时配置所述一个或多个处理器以执行所述方法。
18.在另一整体方面,一种设备,包括:一个或多个处理器,被配置为:从语音信号确定目标段,通过对目标段进行解码来确定与目标段对应的目标字符序列,基于编辑距离来确认目标字符序列与先前字符序列之间的重叠部分,以及基于重叠部分对目标字符序列和先前字符序列进行合并。基于在编辑距离执行的操作的类型、将被操作的字符是否位于重叠部分中和将被操作的字符是否匹配中的任何一个或者任何两个或更多个的任何组合来确定应用于编辑距离的成本。
19.编辑距离的成本可被不同地应用于目标字符序列与先前字符序列之间的非重叠部分和重叠部分。
20.编辑距离的匹配成本可小于在目标字符序列与先前字符序列之间的非重叠部分中发生的编辑距离的插入成本。
21.在目标字符序列与先前字符序列之间的重叠部分中发生的编辑距离的插入成本、删除成本和替换成本可以是正数。
22.所述一个或多个处理器可被配置为:基于段长度和段之间的重叠长度从语音信号确定目标段。
23.可基于设备的可用资源来确定段之间的重叠长度。
24.可基于对与语音信号中的目标段部分重叠的先前段进行解码的结果来确定先前字符序列。
25.在另一总体方面,一种方法包括:从语音信号确定多个段;通过对所述多个段进行解码来分别确定所述多个段的多个字符序列;基于所述多个字符序列中的相邻字符序列的对应的编辑距离来确认所述多个字符序列中的相邻字符序列之间的重叠部分;以及基于重叠部分中的对应的重叠部分来对所述多个字符序列中的相邻字符序列进行合并。基于在编辑距离中的对应的编辑距离执行的操作的类型、将被操作的字符是否位于重叠部分中的对应的重叠部分中和将被操作的字符是否匹配中的任何一个或者任何两个或更多个的任何组合来确定应用于对应的编辑距离中的每个编辑距离的成本。
26.应用于对应的编辑距离中的每个编辑距离的成本可被不同地应用于所述多个字符序列中的相邻字符序列之间的重叠部分中的对应的重叠部分和非重叠部分中的对应的非重叠部分。
27.非重叠部分中的对应的非重叠部分中的对应的编辑距离的插入成本和重叠部分中的对应的重叠部分中的对应的编辑距离的插入成本可以是不同的。
28.在重叠部分中发生的编辑距离的插入成本、删除成本和替换成本可以是正数。
29.可基于各个段长度和相邻段之间的重叠长度从语音信号确定所述多个段。
30.可基于执行所述方法的设备的可用资源来确定相邻段之间的重叠长度。
31.从下面的具体实施方式、附图和权利要求,其他特征和方面将是清楚的。
附图说明
32.图1示出基于神经网络处理语音的示例。
33.图2和图3示出语音识别处理的示例。
34.图4至图6示出对字符序列进行整合的示例。
35.图7示出编辑距离的示例。
36.图8示出语音处理方法的示例。
37.图9示出语音处理设备的示例。
38.图10和图11示出语音处理设备的示例。
39.贯穿附图和具体实施方式,除非另有描述或提供,否则相同的附图参考标号将被理解为表示相同的元件、特征和结构。附图可不按比例,并且为了清楚、说明和方便,附图中的元件的相对尺寸、比例和描绘可被夸大。
具体实施方式
40.提供下面的具体实施方式以帮助读者获得对在此描述的方法、设备和/或系统的全面理解。然而,在理解本技术的公开之后,在此描述的方法、设备和/或系统的各种变化、修改和等同物将是清楚的。例如,在此描述的操作的顺序仅是示例,并且不限于在此阐述的那些顺序,而是除了必须以特定顺序发生的操作之外,可如在理解本技术的公开之后将清楚的那样变化。此外,为了更加清楚和简明,可省略对在理解本技术的公开之后已知的特征的描述。
41.在此描述的特征可以以不同形式实现,并且将不被解释为限于在此描述的示例。相反,在此描述的示例仅被提供以示出实现在此描述的方法、设备和/或系统的许多可行方式中的一些方式,这在理解本技术的公开之后将是清楚的。
42.贯穿说明书,当元件(诸如,层、区域或基底)被描述为“在”另一元件“上”、“连接到”或“结合到”另一元件时,它可直接“在”另一元件“上”,直接“连接到”或直接“结合到”所述另一元件,或者可存在介于其间的一个或多个其他元件。相反,当元件被描述为“直接在”另一元件“上”、“直接连接到”或“直接结合到”另一元件时,可不存在介于其间的其他元件。
43.如在此使用的,术语“和/或”包括相关联的所列项的中任何一个以及任何两个或更多个的任何组合。
44.虽然诸如“第一”、“第二”、“第三”的术语可在此用于描述各种构件、组件、区域、层或部分,但是这些构件、组件、区域、层或部分不被这些术语限制。相反,这些术语仅用于将一个构件、组件、区域、层或部分与另一个构件、组件、区域、层或部分区分开来。因此,在不脱离示例的教导的情况下,在此描述的示例中被称作的第一构件、组件、区域、层或部分也可被称作第二构件、组件、区域、层或部分。
45.为了易于描述,在此可使用诸如“在
……
上方”、“在
……
之上”、“在
……
下方”和“在
……
之下”的空间相对术语来描述如附图中示出的一个元件与另一元件的关系。除了附图中描绘的方位之外,这样的空间相对术语意在包含装置在使用或在操作中的不同方位。
例如,如果附图中的装置被翻转,则被描述为“在”另一元件“上方”或“之上”的元件然后将“在”所述另一元件“下方”或“之下”。因此,根据装置的空间方位,术语“在
……
上方”可包含上方和下方两种方位。装置可以以其他方式被定位(例如,旋转90度或在其他方位),在此使用的空间相对描述应被相应地解释。
46.在此使用的术语仅用于描述各种示例,而不用于限制本公开。除非上下文另外清楚地指示,否则单数形式也意在包括复数形式。术语“包括”、“包含”和“具有”指定存在叙述的特征、数量、操作、构件、元件和/或它们的组合,但不排除存在或添加一个或多个其他特征、数量、操作、构件、元件和/或它们的组合。
47.除非另有定义,否则在此使用的所有术语(包括技术术语和科学术语)在理解本技术之后将是清楚的。除非在此明确地如此定义,否则术语(诸如,在通用词典中定义的术语)将被解释为具有与它们在相关领域的上下文中的含义一致的含义,并且不应以理想化或过于形式化的含义进行解释。
48.如在理解本技术的公开内容之后将清楚的,在此描述的示例的特征可以以各种方式组合。此外,如在理解本技术的公开之后将清楚的,尽管在此描述的示例具有各种配置,但是其他配置是可行的。
49.图1示出基于神经网络处理语音的示例。
50.在图1中,用于处理语音的神经网络可包括编码器110和解码器120。语音处理设备可使用编码器110和解码器120识别用户的语音信号130,并且将字符序列140确定为结果。编码器110可通过对提供的语音信号130进行编码来生成语音信号130的上下文信息,解码器120可通过对上下文信息进行解码来输出逐渐识别的字符序列140作为识别结果。解码器120可通过提供预定时间点的先前词作为后续时间点的输入来迭代地执行推断期望的后续词的处理,直到识别终止。编码器110和解码器120可以是被训练为响应于用户的语音信号130的输入而输出对应的语音识别结果的语音识别模型。在此,注意针对示例或实施例术语“可”的使用(例如,关于示例或实施例可包括或实现什么)表示存在包括或实现这样的特征的至少一个示例或实施例,而所有的示例和实施例不限于此。
51.如上所述,语音处理包括基于编码器110和解码器120的语音识别。由于网络的有限的训练数据以及为了训练效率对训练数据的长度的限制,所以当语音信号长于训练数据时,识别准确度可降低。为了防止这种情况,将相对长语音信号划分为多个段(segment),使用编码器110和解码器120对每个段单独执行语音识别,并且并将得到的字符序列整合(integrate)为识别结果。在下文中,将参照以下附图提供详细描述。
52.图2和图3示出语音识别处理的示例。
53.在图2中,语音处理设备可通过将长语音信号210划分为多个段221至224,并对多个段221至224单独地执行语音识别来确定多个字符序列231至234。通过将多个字符序列231至234进行合并来获得长语音信号210的语音识别结果240。在此,为了便于描述,术语“段”也可被称为“块(chunk)”或“窗(window)”。长语音信号210包括多个段。
54.语音处理设备可将长语音信号210划分为多个段221至224。例如,语音处理设备可基于段长度a和段之间的重叠长度b将长语音信号210划分为多个段221至224。
55.在一个示例中,重叠长度b可被确定为小于段长度a的一半。由于对多个段221至224中的每个执行语音识别(这将在后面进一步详细描述),相邻段之间的重叠部分可被两
次解码。通过将重叠长度b设置为小于段长度a的一半,不是长语音信号210的所有部分将被解码两次,因此使计算开销最小化。在非限制性示例中,段长度a可被确定为“8”秒,并且段之间的重叠长度b可被确定为“2”秒。然而,可对其应用各种其他值。
56.语音处理设备可基于可用的资源动态地确定段之间的重叠长度b。由于根据预定标准(例如,段长度a和重叠长度b)从长语音信号210获得被执行语音识别的每个段,因此,在话语中间的段边界的语音识别的准确性可低于段中的话语之间的语音识别的准确性。为了补偿准确度的潜在降低,可期望将段之间的重叠长度b设置为相对长。然而,随着重叠长度b增加,长语音信号210中将被两次解码的部分的比例增加,从而增加计算开销。在资源充分可用并且即使计算开销增加也保证预定水平或更高水平的性能的示例中,语音处理设备可将重叠长度b设置为长于预设阈值长度。相反地,在资源不足的示例中,语音处理设备可将重叠长度b设置为短于预设阈值长度,从而防止由增加的计算开销引起的性能降低。
57.在语音处理设备是用于语音识别的服务器的示例中,如果服务器将执行少量语音识别操作,则重叠长度b可被设置为长于预设阈值长度。相反地,如果服务器将执行大量语音识别操作,则重叠长度b可被设置为短于预设阈值长度。在语音处理设备是用户终端(诸如,智能电话)的另一示例中,如果用户终端不执行除了语音识别操作之外的操作,则重叠长度b可被设置为长于预设阈值长度。相反地,如果用户终端正在同时执行语音识别操作和其他操作(例如,移动游戏),则重叠长度b可被设置为短于预设阈值长度。
58.语音处理设备可基于图1中描述的编码器

解码器对多个段221至224中的每个执行语音识别,并且将多个字符序列231至234确定为结果。更详细地,第一字符序列231可被确定为第一段221的语音识别结果,类似地,其他字符序列232至234可被分别确定为第二段222至第四段224的语音识别结果。
59.语音处理设备可通过对多个字符序列231至234进行合并来确定与长语音信号210对应的语音识别结果240。语音处理设备可基于编辑距离确认相邻字符序列之间的重叠部分,并且基于重叠部分对相邻字符序列进行合并。这里,编辑距离是用于通过计算将单个字符序列转换为另一字符序列所需的最小操作成本来量化两个字符序列之间的差异程度的技术。在这个示例中,可基于操作类型(例如,插入、改变和/或删除)、将被操作的字符的位置和将被操作的字符是否匹配中的任何一个或者任何两个或更多个的任何组合来确定编辑距离的成本。由于重叠部分是被两次解码的部分,因此,解码结果之一可被选择并被包括在语音识别结果240中。确认重叠部分和将字符序列进行合并的处理将在后面进一步详细描述。
60.图3是示出用于长语音信号的语音识别处理的示例的流程图。
61.在操作310中,在一个示例中,响应于语音信号被输入,语音处理设备可使将被执行语音识别的目标段的开始时间t_start初始化为零,并将累积了语音识别结果的历史(history)初始化为空值。虽然在这个示例中目标段的开始时间t_start被初始化为零,但是示例不限于此。
62.在操作320中,语音处理设备可验证语音信号是否包括从开始时间t_start到段长度a的时段内的语音话语,或者语音信号是否在此之前结束。由此,语音处理设备可通过提取从开始时间t_start到段长度a的语音信号的一部分来获得目标段。可选地,如果语音信号在从开始时间t_start到段长度a的一部分被提取之前结束,则语音处理设备可获得从开
始时间t_start到至今提取的部分作为目标段。
63.在操作330中,语音处理设备可获得目标字符序列d,目标字符序列d作为对提取的目标段进行解码的结果。
64.在操作340中,语音处理设备可对目标字符序列d和history进行合并,并将合并结果存储为history。首先,空值被存储在history中。因此,在操作330中获得的目标字符序列d可按原样被存储在history中。如果不是第一次,则先前的字符序列被存储在history中。因此,语音处理设备可确认目标字符序列d与history之间的重叠部分,基于确认的部分对目标字符序列d和history进行合并,并将合并结果存储为history。由于重叠部分是被两次解码的部分,因此,解码结果之一可被选择并被存储在history中。如上所述,对语音信号的段执行语音识别的结果可被顺序地累积在history中。稍后将参照图4至图6进一步描述对字符序列进行合并的处理的示例。
65.在操作350中,语音处理设备可验证语音信号是否结束。如果语音信号没有结束,则操作360可被执行。相反,如果语音信号结束,则操作370可被执行。
66.在操作360中,语音处理设备可将目标段的开始时间t_start增加移位时间c。移位时间c可被设置为大于段长度a的一半并小于段长度a,从而使计算开销最小化。移位时间c可基于语音处理设备的可用资源被动态地确定。例如,如果可用资源足够,则移位时间c可被设置为接近段长度a的一半,相反地,如果可用资源不足,则移位时间c可被设置为接近段长度a。
67.在操作370中,语音处理设备可返回在history中累积的字符序列作为识别语音信号的结果。
68.图4至图6示出对字符序列进行整合的示例。
69.在图4中,示出了对目标字符序列420与先前字符序列410进行合并的示例。图4示出语音处理方法中的初始操作的示例。先前字符序列410可以是从语音信号提取的第一段进行解码的结果,目标字符序列420可以是从语音信号提取的第一段之后的第二段进行解码的结果。
70.语音处理设备可基于编辑距离来确认先前字符序列410与目标字符序列420之间的重叠部分430。可基于将在编辑距离执行的操作的类型(例如,插入、改变或删除)、将被操作的字符是否位于两个字符序列之间的重叠部分中和将被操作的字符是否匹配中的至少一个来确定编辑距离的成本。将参照图7进一步描述编辑距离的成本。
71.如图4的示例中所示,可基于先前字符序列410与目标字符序列420之间的重叠部分430在字符级别对齐先前字符序列410和目标字符序列420。在这个示例中,先前字符序列410与目标字符序列420之间的编辑距离的成本是最低的。
72.如下面进一步所述,可将对齐的先前字符序列410和目标字符序列420进行合并。
73.首先,先前字符序列410和目标字符序列420的除了重叠部分430之外的剩余部分(即,非重叠部分)可被解码一次,因此,对应的解码结果可被原样利用。另一方面,重叠部分430被两次解码,并且对应的解码结果分别被包括在先前字符序列410和目标字符序列420中。因此,包括在先前字符序列410和目标字符序列420中的重叠部分430的解码结果之一需要被选择。
74.例如,语音处理设备可确认重叠部分430中的词边界。词边界可以是解码结果中的
词之间的空格(spacing)。此外,语音处理设备可将确认的词边界指定为转换候选,并且从指定的转换候选选择位于最靠近重叠部分430的中心的一个转换候选作为转换点。此外,语音处理设备可通过将先前字符序列410中的转换点之前的所有词连接到目标字符序列420中的转换点之后的所有词,来对先前字符序列410和目标字符序列420进行合并。由于每个段边界可对应于语音信号的切断(cut

off)部分,因此,每个段边界可具有比段的中心的识别准确度低的识别准确度,因此先前字符序列410和目标字符序列420可基于位于重叠部分430的中心的转换点被合并,以获得更高的识别准确度的合并结果。
75.在图4的示例中,重叠部分430中的词边界可在先前字符序列410中的“recognition”和“all”之间确定,并且可在目标字符序列420中的“recognition”和“algorithm”之间确定,并且对应的部分可被指定为转换候选。在这个示例中,单个转换候选位于重叠部分430的中心,因此,单个转换候选可被选择为转换点。然后,在先前字符序列410中的转换点之前的词“the end

to

end speech recognition”和在目标字符序列420中的转换点之后的词“algorithm has been widely studied”可被连接,并且“the end

to

end speech recognition algorithm has been widely studied”可被确定为合并结果。当语音信号被切断时,先前字符序列410中的最后一个词“all”通过将“algorithm”错误地识别为“all”而获得。通过上述方法,可有效地防止错误识别的词被包括在合并结果中。
76.图4中确定的合并结果可与对后续目标段进行解码的结果合并,这将在后面参照图5描述。
77.在图5中,示出了对目标字符序列520与先前字符序列510进行合并的示例。这里,先前字符序列510是在图4的示例中获得的合并结果,并且目标字符序列520是对从语音信号提取的第三段进行解码的结果。
78.语音处理设备可基于编辑距离来确认先前字符序列510与目标字符序列520之间的重叠部分。如在图5的示例中,先前字符序列510与目标字符序列520之间可以不存在重叠部分,因此,先前字符序列510和目标字符序列520可被对齐以彼此不重叠。如上所述,通过原样利用先前解码结果,非重叠部分可被包括在合并结果中。因此,先前字符序列510和目标字符序列520可原样连接,使得“the end

to

end speech recognition algorithm has been widely studied and showed competitive performance to conventional speech”可被确定为合并结果。图5中确定的合并结果可与对后续目标段进行解码的结果合并,这将在后面参照图6描述。
79.在图6中,示出了对目标字符序列620与先前字符序列610进行合并的示例。这里,先前字符序列610是在图5的示例中获得的合并结果,并且目标字符序列620是对从语音信号提取的第四段进行解码的结果。
80.语音处理设备可基于编辑距离来确认先前字符序列610与目标字符序列620之间的重叠部分630。如在图6的示例中,可基于重叠部分630在字符级别对齐先前字符序列610和目标字符序列620。在这个示例中,先前字符序列610与目标字符序列620之间的编辑距离的成本是最低的。
81.当基于编辑距离确认重叠部分630时,整个先前字符序列610可被考虑。然而,在一些示例中,仅先前字符序列610的一部分可被考虑。例如,由于用户可在段之间的重叠长度期间说出有限的字符长度,因此,可从先前字符序列610提取与用户可说出的最大字符长度
对应的部分序列640。通过计算部分序列640与目标字符序列620之间的编辑距离,即使使用相对小的操作量也可确认重叠部分630。在另一示例中,通过对第一段至第三段解码的结果进行合并来获得先前字符序列610,其中,与最后一段对应的第三段的解码结果650可与目标字符序列620重叠。因此,通过计算第三段的解码结果650与目标字符序列620之间的编辑距离,即使使用相对小的操作量也可确认重叠部分630。在这个示例中,第三段是紧接在目标段之前的段,并且为了便于描述将被称为先前段。
82.基于重叠部分630对齐的先前字符序列610和目标字符序列620可根据上述方法被合并,并且“the end

to

end speech recognition algorithm has been widely studied and showed competitive performance to conventional speech recognition methods”可被确定为合并结果。在图6的示例中,先前字符序列610中的重叠部分630的第一个词“conventional”与目标字符序列620中的重叠部分630的第一个词“convolutional”不同。然而,基于被指定为“conventional speech”之间的空格和“convolutional speech”之间的空格的转换点,“conventional”可被包括在合并结果中。
83.图7示出编辑距离的示例。
84.在图7中,示出了计算目标字符序列与先前字符序列之间的编辑距离的示例。在图7的表中示出的示例中,第一列中的“proposed convolution”是先前字符序列,第一行的“conventional algorithm”是目标字符序列,并且包括在第一行和第一列中的”表示空格。
85.编辑距离是用于通过计算将单个字符序列转换为另一字符序列所需的最小操作成本来量化两个字符序列之间的差异程度的技术。为了便于描述,计算最小操作成本的处理可由如图7中所示的表来表示。
86.基于将在编辑距离执行的操作的类型(例如,插入、改变或删除)、将被操作的字符(例如,先前字符序列和目标字符序列)是否位于重叠部分中和将被操作的字符是否匹配(例如,先前字符序列与目标字符序列在重叠部分中是否匹配)中的至少一个来确定编辑距离的成本。
87.编辑距离的成本可被不同地应用于目标字符序列与先前字符序列之间的重叠部分和非重叠部分。换句话说,在非重叠部分中发生的编辑距离的插入成本可小于在重叠部分中发生的插入成本。例如,在非重叠部分中发生的编辑距离的插入成本可以是“0”,并且在重叠部分中发生的编辑距离的插入成本可以是“2”。在图7的示例中,先前字符序列的前部710可以是非重叠部分,并且具有保持相同的成本,而不会随着沿表下移而增加(即,即使插入了先前字符序列的字符)。此外,目标字符序列的后部720也可以是非重叠部分,并且具有保持相同的成本,而不会随着移到表的右侧而增加(即,即使插入了目标字符序列的字符)。相反,字符每次被插入重叠部分(即,先前字符序列的后部或目标字符序列的前部)中时,成本可增加“2”。
88.此外,在重叠部分中发生的编辑距离的插入成本、删除成本和替换成本可以是正数。在这个示例中,可通过调整(tunning)语音处理技术来确定每个成本。例如,在重叠部分中发生的编辑距离的插入成本和/或删除成本可大于编辑距离的替换成本。详细地,在重叠部分中发生的编辑距离的插入成本和/或删除成本可以是“2”,并且在重叠部分中发生的编辑距离的替换成本可以是“1”。这是为了将预定字符从识别结果被省略的情况识别为比在语音识别处理中由于噪声预定字符被识别为另一字符的情况更大的错误。
89.此外,编辑距离的匹配成本可小于在非重叠部分中发生的编辑距离的插入成本。换句话说,编辑距离的匹配成本可被设置为小于“0”的负数(例如,
“‑
1”),“0”是在非重叠部分中发生的编辑距离的插入成本。在图7的示例中,每次在重叠部分730中发生匹配时,成本可降低。换句话说,编辑距离的成本继续减小的区段和从编辑距离的成本开始减小的点到成本降低停止的点的区段中的任何一个或两者的组合可被确认为重叠部分730。此外,在先前字符序列的后部的重叠部分730以高概率被检测出的特性以及在目标字符序列的前部的重叠部分730以高概率被检测出的特性可用于确认重叠部分730。
90.当如上所述通过应用成本来计算编辑距离时,可在图7的表中连接在左上端的起始点和在右下端的结束点的整体方面中计算最小操作成本。在图7的示例中,“convolution”可被确认为先前字符序列“proposed convolution”中的重叠部分,并且“conventional”可被确认为目标字符序列“传统算法conventional algorithm”中的重叠部分。因此,即使目标字符序列的前部和先前字符序列的后部不完全匹配,也可基于编辑距离的最小操作成本来确认重叠部分。如上所述,编辑距离以字符为单位来计算,因此,编辑距离可适用于用于通用目的的任何语言。
91.编辑距离的成本被不同地应用于目标字符序列与先前字符序列之间的重叠部分和非重叠部分。此外,可基于编辑距离来确认重叠部分。例如,基于动态规划,重叠部分可被确认,并且不同的成本可被应用于重叠部分和非重叠部分。可选地,目标字符序列与先前字符序列之间的重叠部分被不同地假设。在计算各种假设的示例的编辑距离的成本之后,成本最小的假设的重叠部分可被确定为目标字符序列与先前字符序列之间的重叠部分。
92.图8示出语音处理方法的示例。
93.在图8中,示出了通过在语音处理设备中设置的处理器执行的语音处理方法的示例。
94.在操作810中,语音处理设备从语音信号获得或确定目标段。语音处理设备可基于段长度和段之间的重叠长度从语音信号获得目标段。可基于语音处理设备的可用资源来确定段之间的重叠长度。
95.在操作820中,语音处理设备通过对目标段进行解码来获得与目标段对应的目标字符序列。
96.在操作830中,语音处理设备基于编辑距离来确认目标字符序列与先前字符序列之间的重叠部分。基于在编辑距离执行的操作的类型、将被操作的字符是否位于重叠部分中和将被操作的字符是否匹配中的至少一个来确定编辑距离的成本。编辑距离的成本可被不同地应用于目标字符序列与先前字符序列之间的重叠部分和非重叠部分。编辑距离的匹配成本可以是负数,在非重叠部分中发生的编辑距离的插入成本可以是“0”,并且在重叠部分中发生的编辑距离的替换成本和在重叠部分中发生的编辑距离的插入成本可以是正数。
97.在操作840中,语音处理设备基于重叠部分对目标字符序列和先前字符序列进行合并。
98.参照图1至图7提供的描述也适用于图8的描述,因此,为了简明将省略详细描述。
99.图9示出语音处理设备的示例。
100.在图9中,语音处理设备900可包括存储器910、处理器920和输入/输出接口930。存储器910、处理器920和输入/输出(i/o)接口930可通过总线940彼此通信。
101.存储器910可包括计算机可读指令。当存储在存储器910中的指令被处理器920执行时,处理器920可执行上述操作。存储器910可包括易失性存储器或非易失性存储器。
102.处理器920是执行指令或程序或者控制语音处理设备900的一个或多个装置,并且可包括例如中央处理器(cpu)、图形处理器(gpu)等。语音处理设备900可通过输入/输出接口930连接到另一装置(例如,麦克风或被配置为获得用户的语音信号的外部装置)以与所述另一装置交换数据。此外,语音处理设备900可处理上述操作。
103.用户终端可包括各种计算装置(诸如,智能电话、平板电脑、膝上型计算机和个人计算机)、各种可穿戴装置(诸如,智能手表和智能眼镜)、各种家用电器(诸如,智能扬声器、智能tv和智能冰箱)、智能汽车、智能自助服务终端和物联网(iot)装置。
104.图10和图11示出语音处理设备的示例。
105.在图10中,语音处理设备可被实现为服务器1000。
106.服务器1000是与由用户控制的用户终端不同的单独装置,并且可通过有线和/或无线网络与用户终端通信。用户的语音信号可由用户终端收集并通过网络发送到服务器1000,服务器1000可根据上述语音处理方法使用语音识别模型1010来识别语音信号。在这个示例中,可使用语音识别模型1010。然后,服务器1000可将语音识别结果返回到用户终端。例如,用户终端可包括:各种计算装置(诸如,智能电话、平板电脑、膝上型计算机和个人计算机)、各种可穿戴装置(诸如,智能手表和智能眼镜)、各种家用电器(诸如,智能扬声器、智能tv和智能冰箱)、智能汽车、智能自助服务终端和物联网(iot)装置。
107.用户终端可简单地向用户提供从服务器1000接收的识别结果,或者基于识别结果执行后续操作。例如,后续操作可包括但不限于:输出关于来自用户的询问天气的问题的答复信息、执行来自用户的播放音乐的指令、将文本输入到显示在用户终端上的输入框中、或者将语音识别结果解释或翻译成另一种语言。
108.在图11中,语音处理设备可被实现为用户终端1100。在图11中,为了便于描述,用户终端1100被示出为智能电话。然而,用户控制的任何设备可以不受限制地适用于此。用户终端1100可直接从用户获得语音信号,并且根据上述语音处理方法使用语音识别模型1110来识别语音信号。然后,用户终端可简单地向用户提供识别结果,或者基于识别结果执行后续操作。
109.通过硬件组件来实现执行本技术中描述的操作的图1至图11中的编码器110、解码器120、语音信号130、字符序列140、语音处理设备900、存储器910、处理器920、输入/输出接口930、服务器1000、语音识别模型1010、1110和用户终端1100,硬件组件被配置为执行由硬件组件执行的本技术中描述的操作。可用于执行在本技术中描述的操作的硬件组件的示例在适当的情况下包括:控制器、传感器、生成器、驱动器、存储器、比较器、算术逻辑单元、加法器、减法器、乘法器、除法器、积分器以及被配置为执行在本技术中描述的操作的任何其他电子组件。在其他示例中,通过计算硬件(例如,通过一个或多个处理器或计算机)来实现执行在本技术中描述的操作的硬件组件中的一个或多个硬件组件。可通过一个或多个处理元件(诸如,逻辑门阵列、控制器和算术逻辑单元、数字信号处理器、微型计算机、可编程逻辑控制器、现场可编程门阵列、可编程逻辑阵列、微处理器或被配置为以限定的方式响应并执行指令以实现期望的结果的任何其他装置或装置的组合)来实现处理器或计算机。在一个示例中,处理器或计算机包括或连接到存储由处理器或计算机执行的指令或软件的一个
或多个存储器。由处理器或计算机实现的硬件组件可执行用于执行在本技术中描述的操作的指令或软件(诸如,操作系统(os)和在os上运行的一个或多个软件应用)。硬件组件还可响应于指令或软件的执行来访问、操控、处理、创建和存储数据。为了简明,单数术语“处理器”或“计算机”可用于本技术中描述的示例的描述,但是在其他的示例中,多个处理器或计算机可被使用,或者处理器或计算机可包括多个处理元件或多种类型的处理元件或二者。例如,单个硬件组件或者两个或更多个硬件组件可通过单个处理器、或者两个或更多个处理器、或者处理器和控制器来实现。一个或多个硬件组件可通过一个或多个处理器、或者处理器和控制器来实现,一个或多个其他硬件组件可通过一个或多个其他处理器,或者另外的处理器和另外的控制器来实现。一个或多个处理器、或者处理器和控制器可实现单个硬件组件或者两个或更多个硬件组件。硬件组件可具有不同的处理配置中的任何一个或多个,不同的处理配置的示例包括:单个处理器、独立处理器、并行处理器、单指令单数据(sisd)多处理、单指令多数据(simd)多处理、多指令单数据(misd)多处理以及多指令多数据(mimd)多处理。
110.图1至图11中示出的执行本技术中描述的操作的方法通过计算硬件(例如,通过一个或多个处理器或计算机)来执行,计算硬件被实现为如上所述地执行指令或软件,以执行在本技术中描述的通过该方法执行的操作。例如,单个操作或者两个或更多个操作可通过单个处理器或者两个或更多个处理器、或者处理器和控制器来执行。一个或多个操作可通过一个或多个处理器、或者处理器和控制器来执行,并且一个或多个其他操作可通过一个或多个其他处理器、或者另外的处理器和另外的控制器来执行。一个或多个处理器、或者处理器和控制器可执行单个操作或者两个或更多个操作。
111.用于控制计算硬件(例如,一个或多个处理器或计算机)实现硬件组件并执行如上所述的方法的指令或软件可被编写为计算机程序、代码段、指令或它们的任何组合,以单独地或共同地指示或配置一个或多个处理器或者计算机如机器或专用计算机那样进行操作,以执行由如上所述的硬件组件和方法执行的操作。在一个示例中,指令或软件包括由一个或多个处理器或者计算机直接执行的机器代码(诸如,由编译器产生的机器代码)。在另一示例中,指令或软件包括由一个或多个处理器或者计算机使用解释器执行的高级代码。可基于附图中所示的框图和流程图以及在说明书中使用的对应描述使用任何编程语言编写指令或软件,附图中所示的框图和流程图以及在此使用的对应描述公开了用于执行由如上所述的硬件组件和方法执行的操作的算法。
112.用于控制计算硬件(例如,一个或多个处理器或计算机)实现硬件组件并执行如上所述的方法的指令或软件以及任何相关联的数据、数据文件和数据结构可被记录、存储或固定在一个或多个非暂时性计算机可读存储介质中,或者被记录、存储或固定在一个或多个非暂时性计算机可读存储介质上。非暂时性计算机可读存储介质的示例包括:只读存储器(rom)、随机存取存储器(ram)、闪存、cd

rom、cd

r、cd+r、cd

rw、cd+rw、dvd

rom、dvd

r、dvd+r、dvd

rw、dvd+rw、dvd

ram、bd

rom、bd

r、bd

r lth、bd

re、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘以及任何其他装置,任何其他装置被配置为以非暂时性方式存储指令或软件以及任何相关联的数据、数据文件和数据结构并将所述指令或软件以及任何相关联的数据、数据文件和数据结构提供给一个或多个处理器或计算机,使得一个或多个处理器或计算机能执行指令。在一个示例中,指令或软件以及任何相关联的数
据、数据文件和数据结构分布在联网的计算机系统中,使得指令和软件以及任何相关联的数据、数据文件和数据结构通过一个或多个处理器或计算机以分布式方式存储、访问和执行。
113.虽然本公开包括特定的示例,但是在理解本技术的公开之后将清楚,在不脱离权利要求及其等同物的精神和范围的情况下,可在这些示例中进行形式和细节上的各种改变。在此描述的示例仅被认为是描述性的,而不是出于限制的目的。每个示例中的特征或方面的描述将被认为可适用于其他示例中的类似特征或方面。如果描述的技术以不同的顺序被执行,和/或如果描述的系统、架构、装置或电路中的组件以不同的方式被组合,和/或由其他组件或它们的等同物替换或补充,则可实现合适的结果。因此,公开的范围不是由具体实施方式限定,而是由权利要求及其等同物限定,并且在权利要求及其等同物的范围内的所有变化应被解释为包括在本公开中。