代表对话中的人参与者生成的合成语音音频数据的制作方法

文档序号:31589201发布日期:2022-09-21 02:42阅读:129来源:国知局
代表对话中的人参与者生成的合成语音音频数据的制作方法
代表对话中的人参与者生成的合成语音音频数据


背景技术:

1.基于话音的用户界面正越来越多地用于控制计算机和其它电子设备。许多基于话音的用户界面对口头输入执行语音识别(例如,使用语音到文本模型)以生成对应文本,执行文本的语义分析以尝试确定口头输入的含义,并且基于所确定的含义采取一个或多个动作。所采取的动作可以包括控制智能设备、控制客户端设备和/或确定和/或提供自动响应。在一些情况下,动作包括生成合成语音,该合成语音传达自动响应和/或指示智能设备和/或客户端设备已经被控制。


技术实现要素:

2.本文公开的实现方式涉及代表对话中的给定用户(即,人参与者)生成合成语音音频数据,该对话诸如涉及给定用户和附加参与者(即,其它人参与者)的对话。例如,对话可以在给定用户和处于具有给定用户的环境中的附加参与者之间。此外,合成语音音频数据可以经由环境中的客户端设备的硬件扬声器被可听地呈现,从而能够使附加参与者可听地感知。合成语音音频数据包括并入文本段的合成语音,其中文本段基于给定用户的用户界面输入来确定。
3.在一些实现方式中,其上确定文本段的用户界面输入可以包括给定用户口头输入(或给定用户的口头输入),并且文本段可以基于其是从使用语音识别模型处理口头输入得到的识别文本来确定。在这些实现方式中的一些中,可以使用语音识别模型来处理口头输入,以生成准确地反映口头输入的(给定用户)识别文本。虽然口头输入的全部或部分使用语音识别模型是能够识别的,但是该口头输入的全部或部分可能由于口头输入本身的某些特点(例如,由于给定用户的永久或临时语音受损)和/或由于不利的环境条件(例如,过量的背景噪声、与口头输入重叠的其它口头输入等)而不能被一个或多个附加人参与者确认。另一方面,并入文本段的合成语音可以基于准确识别的文本段来生成,并且将不体现口头输入的某些特点和/或防止口头输入的确认的不利环境条件。因此,当被呈现时,合成语音将能够由附加参与者确定。以这些和其它方式,可以组合地使用语音识别和语音合成,以促进给定用户和附加参与者之间的高效对话。这对于具有语音受损的用户来说特别有利。
4.在用户界面输入包括口头输入的一些实现方式中,给定用户具有语音受损,并且语音识别模型可以可选地是已被训练用于识别具有这些语音受损的用户的语音的定制语音识别模型。例如,定制语音识别模型可以基于训练实例来训练,每个训练实例包括表征受损的口头输入的对应训练实例输入(例如,mel-频率倒谱系数或对应音频数据的其它特征)和表征与受损的口头输入相对应的地面实况文本段的训练实例输出。例如,每个受损的口头输入可能是由于构音障碍、流畅性障碍和/或话音障碍而受损。以这些和其它方式,语音识别模型可以用于生成受损的口头输入的识别文本段。此外,可以生成包括并入识别文本段的合成语音的合成语音音频数据,并且可以可听地呈现合成语音音频数据,使得其能够被附加参与者可听地感知。因此,本文公开的那些和其它实现方式可以促进语音受损用户的对话。
5.在一些附加的或替代的实现方式中,文本段所基于的用户界面输入可以包括对传达文本段的所呈现的建议的选择(例如,单次“敲击”或其它单次选择)。例如,可以基于确定文本段是对附加参与者的最近口头输入的候选响应,从而在给定用户的客户端设备处呈现传达文本段的建议。例如,可以对最近口头输入执行语音识别以生成对应文本段,并且可以将文本段确定为对所生成的对应文本段的候选响应。确定文本段是候选响应可以基于给定用户与附加参与者之间的关系的属性中的至少一个。在一些示例中,这可以包括基于附加参与者文本段(从附加参与者的口头输入识别的文本段)生成初始候选响应的超集(或多个可能候选响应),并且基于关系的属性从初始候选响应的超集选择文本段作为候选响应。建议可以可选地与其它建议一起作为图形元素在客户端设备处呈现,其中其它建议各自传达也被确定为对附加参与者的最近口头输入的候选响应的对应替选文本段(即,与超集的其它候选响应并排)。以这些和其它方式,给定用户可以提供针对文本段的高效用户界面输入(例如,单个选择),以使得对应合成语音被可听地呈现给附加参与者。这可以使得能够绕过给定用户的口头输入的语音识别处理,从而使得能够更快速地提供给定用户的可听合成响应,并且从而缩短对话的总持续时间和客户端设备资源被用于促进对话的总持续时间。因此,可以在不显著增加计算和/或网络资源的情况下改进语音受损用户的对话。
6.在各种实现方式中,响应于标识出最近口头输入由不是给定用户的附加参与者提供,可以在给定用户的客户端设备处确定和/或以所呈现的建议来传达(或提供)基于与附加参与者的该最近口头输入相对应的所生成的文本段而确定的候选响应。换言之,确定候选响应和/或呈现候选响应可以响应于检测到口头输入并且标识出口头输入来自除了给定用户之外的附加参与者(并且可选地,该附加参与者是客户端设备已知的所识别的用户)而发生。在那些实现方式的一些版本中,可以执行或利用说话者标识来区分给定用户的口头输入和参与了与给定用户的对话的附加参与者的口头输入(并且可选地在附加参与者之间进行区分)。例如,可以使用说话者标识模型来处理检测到的口头输入,以生成对应说话者嵌入(或口头输入嵌入,即,口头输入的嵌入)。该说话者嵌入可以与针对给定用户的预存储(说话者)嵌入和/或针对附加用户的预存储(说话者)嵌入进行比较,以确定该口头输入是由给定用户还是由附加用户提供的。在一些附加或替代版本中,可以利用面部识别技术,可选地与嘴部运动检测技术相结合,以在给定用户的口头输入和参与了与给定用户的对话的附加参与者的口头输入之间进行区分。
7.当确定为给定用户的口头输入时,对应的识别文本可以用于生成和呈现对应的合成音频数据。当确定为附加参与者的口头输入时,对应的识别文本可以用于确定对应的候选响应并且呈现传达候选响应的对应建议。可选地,可以基于在生成代表给定用户的合成语音时使用的文本段,从而在也包括附加参与者的过去对话中,确定和/或选择对应的候选响应以用于呈现。例如,可以基于确定候选响应匹配(软的或确切的)先前在涉及附加参与者的对话期间代表给定用户并入合成语音中的文本段,来选择候选响应以用于(例如,在对应的建议中)呈现。可选地,当给定用户是语音受损用户并且定制语音识别模型用于处理来自给定用户的口头输入时,来自附加参与者的最近口头输入的语音识别可以使用未被定制用于受损语音的语音识别的附加语音识别模型来执行。
8.本文公开的一些实现方式涉及动态地确定一个或多个韵律特性以用于给定用户的文本段的语音合成,以及用所确定的一个或多个韵律特性来生成合成语音。韵律特性可
以包括例如音节和较大语音单位的一个或多个特性,包括语言学功能,诸如语调、音调、重音、节奏和停顿。文本段的合成语音的一个或多个韵律特性可以组合地反映例如:情绪状态;形式(例如,陈述、问题或命令);反话;讽刺;和/或强调。因此,可以在正常语音的韵律特性中传达信息,在使用话音合成的方法中可能缺少这些信息;合成语音中的韵律特性的这种缺乏可能导致语音受损用户的受挫和/或隔离。作为一个非限制性示例,利用第一组韵律特性可以产生在音调上更正式并且在节奏上更慢的合成语音,而利用第二组韵律特性可以产生在音调上不太正式并且在节奏上更快的合成语音。因此,哪些韵律特性被用于语音合成将影响合成语音本身的各种特征,但是单独地调整韵律特性将不会改变合成语音的底层“话音”。换句话说,调整模仿著名演员1的话音的合成语音的韵律特性(例如,通过将著名演员1的话音嵌入应用于语音合成模型;或者仅仅针对著名演员1训练语音合成模型)仍将产生听起来与著名演员1相似的合成语音,但是它将包括调整的韵律特性。
9.各种技术可以用于生成具有所确定的韵律特性的合成语音。作为一个示例,可以执行对初始生成的合成语音音频数据的后处理,以并入韵律特性中的一个或多个。例如,初始生成的音频数据的频率、持续时间、强度和/或频谱特点可以以某种方式被调整以实现某些韵律特性,或者以替代方式被调整以实现某些替代韵律特性。作为另一示例,可以使用语音合成模型来处理韵律特性的指示,以生成并入所指示的韵律特性的初始合成语音音频数据。换句话说,可以训练语音合成模型以与文本段的音素(多个音素)以及可选地话音嵌入一起来处理韵律特性的指示,并且生成取决于被处理的所指示的韵律特性的合成语音音频数据。因此,可以改善话音合成,这对于具有语音受损的用户来说特别有益。
10.在动态确定一个或多个韵律特性的实现方式中,哪些韵律特性用于对话中的文本段可以基于:例如文本段本身和/或对应于附加参与者的最近口头输入的生成的文本段;对话中的给定用户和附加参与者之间的关系的属性;和/或对话的当前位置的分类或其它特征。
11.作为一个示例,假设给定用户和单个附加参与者之间的对话。可以使用诸如说话者标识(例如,基于处理附加参与者的口头输入以标识说话者)和/或面部标识(例如,基于处理附加参与者的图像和/或其它视觉数据)之类的一种或多种技术来标识附加参与者。例如,可以基于指示针对口头输入生成的说话者嵌入未能充分匹配(例如,未能达到或满足相对于任何存储的说话者嵌入的距离阈值)任何存储的说话者嵌入的说话者标识和/或指示针对捕获图像生成的视觉嵌入未能充分匹配任何存储的视觉嵌入的面部标识,从而将附加参与者标识为“未知”用户。当附加参与者未知时,给定用户和附加参与者之间的关系的“未知”属性可以用于选择第一组韵律特性(例如,明确地映射到具有“未知”属性的关系的那些韵律特性)。例如,第一组韵律特性可以产生在音调上是正式的并且具有相对较慢的节奏的合成语音。
12.此外,例如,可以基于指示针对口头输入生成的说话者嵌入与针对附加参与者存储的说话者嵌入(例如,在具有来自附加用户的显式许可的情况下本地存储在客户端设备上)充分匹配的说话者标识来将该附加参与者标识为特定已知用户。其它属性可以包括例如给定用户与附加参与者之间的交互(例如,对话交互)的数量、给定用户与附加参与者之间的交互的频率、和/或给定用户与附加参与者之间的关系的语义指示(例如,诸如老板、朋友、密友、同事、家庭成员的语义指示、和/或其它语义指示)。使用基于这种关系确定的韵律
特性可以为具有语音受损的用户提供传达正常语音可能具有的情感和细微差别的范围的能力,以及取决于任何关系的亲密度来调整韵律特性的能力;因此可以提高沟通质量。
13.属性的不同分组可以被映射到一个或多个韵律特性的不同分组。例如,老板属性可以被映射到第二组韵律特性,其可以产生在音调上更正式并且避免讽刺的合成语音。此外,例如,密友属性和/或频繁交互属性可以被映射到第三组韵律特性,其可以产生在音调上是随意的并且具有相对快的节奏的合成语音。更快的节奏可以使得合成语音能够被更快地呈现,并且所得到的对话能够被更快地结束。尽管较快的节奏可能潜在地使得合成语音更难以理解,但是鉴于密友和/或频繁交互属性指示了给定用户的合成语音的熟悉度,响应于确定密友和/或频率交互属性来利用较快的节奏可以减轻这种风险。以这些和其它方式,可以选择性地利用导致合成语音的更快呈现(以及相关联的计算资源的较短的利用持续时间)的韵律属性,从而使这样的效率与关系属性相平衡,其中所述关系属性指示如果合成语音未被理解则需要重复呈现的风险。
14.更一般地,取决于关系的属性、对话的当前位置的特征、要合成的文本段(和/或最近文本段)和/或其它因素动态地确定韵律特性可以产生并入鉴于这些因素而确定的所确定的韵律特性的合成语音。结果,合成语音在被呈现时可以更容易地被对话中的附加参与者理解,因为它鉴于这些因素而被特别适配。这可以减轻附加参与者对合成语音的理解的缺乏的发生,这将产生再次呈现合成语音(或用于文本段的重新表达的替代合成语音)。因此,可以减轻在再次呈现合成语音或替代合成语音时对资源的利用。此外,对话的总持续时间可以通过减轻合成语音的附加呈现的发生来缩短,由此节省了原本将用于促进更延长的对话的各种计算资源。
15.如上所述,韵律特性可以附加地和/或可选地基于对话的当前位置的分类或其它特征来动态地确定。例如,可以在具有家庭分类(即,相对于给定用户的家庭分类,即,给定用户的家庭)的位置处确定和利用第一组韵律特性,可以在具有工作分类(即,相对于给定用户的工作分类,即,给定用户的工作地点)的位置处确定和利用第二组韵律特性,可以在具有咖啡店分类(对于所有用户是共同的)的位置处确定和利用第三组韵律特性,并且可以在具有酒吧分类(对于所有用户是共同的)的位置处确定和利用第四组韵律特性。这种基于位置的方法可以通过减少或减轻由语音受损引起的沟通问题而促进语音受损用户在日常生活中的参与度提高。
16.不管用于确定一个或多个韵律特性的技术如何,在一些实现方式中,所确定的韵律特性组可以响应于接收到口头输入而被自动确定,包括合成语音的合成语音音频数据可以被自动合成,其中该合成语音合成有所确定的韵律特性并且该合成语音音频数据包括在所接收的口头输入中包括的文本段,并且该合成语音可以响应于从给定用户接收到口头输入而在客户端设备处可听地呈现。在一些其它实现方式中,可以响应于接收到口头输入而自动确定所确定的韵律特性组,可以自动生成包含合成语音的合成语音音频数据,其中该合成语音合成有所确定的韵律特性并且该合成语音音频数据包括所接收的口头输入中所包含的文本段,但可以抑制合成语音的可听呈现,直至暂停时段结束(例如,三秒、五秒等)。在该暂停时段期间,给定用户可以手动调整所确定的韵律特性组。在又一些实现方式中,所确定的韵律特性组可以响应于接收到口头输入而被自动确定,可以自动生成包括合成语音的合成语音音频数据,其中该合成语音合成有所确定的韵律特性并且该合成语音音频数据
包括在所接收的口头输入中包括的文本段,但是可以抑制合成语音的可听呈现,直至在客户端设备处检测到来自给定用户的进一步用户界面输入,才确认该合成语音应当与所确定的韵律特性组一起被可听呈现。这不仅允许给定用户手动调整所确定的韵律特性,而且给定用户还可以在呈现合成语音之前修改包括在合成语音中的所确定的文本段的文字转录。
17.此外,在各种实现方式中,附加用户界面输入可以包括参与了与给定用户的对话的附加参与者的附加用户口头输入(即,附加用户界面输入可以包括来自对话中的附加参与者的口头输入)。此外,对应文本段可以基于该对应文本段是从使用语音识别模型处理附加用户口头输入得到的识别文本来确定。在这些实现方式中的一些中,可以使用语音识别模型将附加用户口头输入处理成对应文本段,并且对应文本段可以在给定用户的客户端设备处的用户界面上被视觉地呈现为文字转录。此外,在那些实现方式的一些其它版本中,标识附加参与者中的说出附加用户口头输入的给定一个附加参与者的图形元素可以与对应段的文字转录一起被视觉地呈现。图形元素可以是可选择的,并且在从给定用户接收到针对图形元素的用户界面输入时,客户端设备可以使得韵律特性用户界面在客户端设备处被视觉地呈现。可选择的图形元素对于具有语音受损的用户可能是有益的,因为选择这样的元素减轻了误解进一步的语音输入以选择文字转录的任何风险。
18.在各种实现方式中,韵律特性用户界面使得客户端设备的给定用户能够修改由图形元素所标识的附加参与者中的给定一个附加参与者的所确定的一个或多个韵律特性。在这些实现方式中的一些中,客户端设备的给定用户可以与韵律特性用户界面交互,以对所确定的一个或多个韵律特性进行“全局”修改。例如,韵律特性用户界面可以包括指示将用所确定的一个或多个韵律特性合成的合成语音的“正式”或“随意”的程度的标尺,并且给定用户可以与标尺上的指示符交互,以修改所确定的一个或多个韵律特性,从而反映更正式的合成语音或更随意的合成语音。在这些实现方式中的一些中,客户端设备的给定用户可以与韵律特性用户界面交互,以对所确定的韵律特性中的一个或多个进行“单独”修改。例如,韵律特性用户界面可以包括所确定的一个或多个韵律特性和用于所确定的一个或多个韵律特性中的每一个的对应字段的列表,并且用户可以与对应字段交互以修改所确定的韵律特性中的给定一个韵律特性(例如,从作为对应字段的下拉框选择“中等”或“缓慢”节奏,在对应字段中指定50%或30%的节奏,启用或禁用所确定的韵律特性中的给定一个所确定的韵律特性,和/或用于修改韵律特性中的给定一个韵律特性的其它字段)。因此,对于附加参与者中的给定一个附加参与者,所确定的一个或多个韵律特性也可以由客户端设备的给定用户基于与韵律特性用户界面的交互来手动地调整。
19.以上描述仅作为本文所公开的一些实现方式的概述来提供。本文更详细地描述这些实现方式和其它实现方式。
20.应当理解,本文公开的技术可以在客户端设备上本地实现、由经由一个或多个网络连接到客户端设备的服务器远程实现、和/或以上述两者实现。
21.各种实现方式可以包括存储指令的非暂时性计算机可读存储介质,其中该指令能够由处理器执行以执行诸如本文描述的方法中的一个或多个的方法。其它各种实现方式可以包括一种系统,该系统包括存储器和一个或多个硬件处理器,该一个或多个硬件处理器能够操作用于执行存储在存储器中的指令以执行诸如本文描述的方法中的一个或多个的方法。
附图说明
22.图1描绘示范本公开的各个方面并且其中可以实现本文公开的实现方式的示例环境的框图。
23.图2a和图2b描绘图示根据各种实现方式的生成合成有一个或多个韵律特性的合成语音的示例方法的流程图。
24.图3描绘根据各种实现方式的示范本公开的各个方面的示例环境中的场景。
25.图4a、图4b、图4c、图4d、图4e和图4f描绘根据各种实现方式的在建立用于给定用户的语音嵌入以及生成合成有一个或多个韵律特性的合成语音时使用的用户界面的各种非限制性示例。
26.图5描绘根据各种实现方式的计算设备的示例架构。
具体实施方式
27.图1图示示范本公开的各个方面的示例环境的框图。客户端设备110在图1中图示并且在各种实现方式中包括用户界面输入引擎111、标识引擎112、语音识别引擎120a1、语音合成引擎130a1和呈现引擎113。
28.用户界面输入引擎111可以检测客户端设备110处的用户界面输入。在客户端设备110处检测到的用户界面输入可以包括经由客户端设备110的一个或多个麦克风检测到的口头输入和/或经由客户端设备110的用户界面检测到的触摸输入。如本文所述,客户端设备110可以处理检测到的用户界面输入以确定要在对话中传达的与检测到的用户界面输入相对应的文本段。例如,用户界面输入引擎111可以检测客户端设备110的给定用户的口头输入和/或参与了与客户端设备110的给定用户的对话的附加参与者的口头输入(即,可以检测附加参与者口头输入)。客户端设备110可以使用一个或多个语音识别模型120a来确定与给定用户和/或附加参与者的口头输入相对应的文本段(即,可以确定附加参与者文本段)。作为另一示例,用户界面输入引擎111可以检测对要被并入(例如,使用图1的语音合成模型130a生成的)合成语音的候选文本段的选择(例如,使用图1的自动建议引擎150确定的)。
29.在一些实现方式中,标识引擎112可以基于捕获口头输入的音频数据来标识说出该口头输入的用户(例如,客户端设备110的给定用户或参与了与给定用户的对话的附加参与者)。标识引擎112可以使用说话者标识模型来处理捕获由用户界面输入引擎111检测到的口头输入的音频数据,以生成输出。此外,标识引擎112可以基于所生成的输出来生成说话者嵌入(例如,该输出可以是说话者嵌入)。所生成的说话者嵌入可以是低维说话者嵌入空间中的低维(相对于音频数据)表示,或者更具体地,是说话者嵌入空间的特定部分。说话者嵌入空间的特定部分可以与用户的标识符相关联,该用户的标识符与映射到说话者嵌入空间的特定部分的所生成的说话者嵌入相关联。此外,标识引擎112可以将所生成的说话者嵌入与在说话者嵌入数据库112a中的本地存储在客户端设备110上的多个说话者嵌入进行比较,以标识在说话者嵌入空间中的匹配说话者嵌入。例如,如果在说话者嵌入空间中,在所生成的说话者嵌入和所述多个说话者嵌入中的给定一个说话者嵌入之间的距离度量满足阈值(例如,匹配说话者嵌入),则与关联于匹配说话者嵌入的标识符相关联的用户可以被标识为说出口头话语的用户。例如,基于bob先前与说话者嵌入空间的第一部分相关联
(例如,基于在客户端设备110处检测到的用户界面输入),用于附加参与者“bob”的说话者嵌入可以被映射到说话者嵌入空间的与“bob”的标识符相关联的第一部分,并且基于jane先前与说话者嵌入空间的第二部分相关联(例如,基于在客户端设备110处检测到的用户界面输入),用于附加参与者“jane”的说话者嵌入可以被映射到说话者嵌入空间的与“jane”的标识符相关联的第二部分。因此,随后生成的说话者嵌入可以被映射到说话者嵌入空间的这些或其它部分,以标识对话中的用户。
30.可以基于以对捕获来自用户的口头输入的音频数据的一个或多个实例的处理而生成的说话者嵌入为基础生成的说话者嵌入来生成用于用户的说话者嵌入。例如,说话者嵌入可以基于多个不同嵌入的平均值(或其它组合),其中每个嵌入基于对捕获来自用户的对应口头输入的音频数据的对应实例的处理而生成。一旦建立,用户的说话人嵌入可以被存储在说话人嵌入数据库112a中。在那些实现方式的一些版本中,客户端设备110的给定用户可以与至少部分地在客户端设备上执行的自动化助理交互,以建立客户端设备110的给定用户的说话者嵌入(例如,如关于图4a所述的那样),并且可以将针对给定用户所建立的说话者嵌入与给定用户相关联地存储在说话者嵌入数据库112a中。针对客户端设备110的给定用户所建立的说话者嵌入可以由语音合成引擎130a1和/或130a2使用以生成表示客户端设备110的给定用户的语音的合成语音音频数据。在那些实现方式的一些版本中,在确定口头输入不是源自客户端设备110的给定用户时(例如,基于针对口头输入所生成的说话者嵌入不匹配本地存储在说话者嵌入数据库112a中的任何说话者嵌入),客户端设备110可以从附加参与者生成提示请求授权,以将所生成的说话者嵌入本地存储在客户端设备110上(例如,如关于图4d所述的那样)。此外,响应于从附加参与者接收到存储所生成的说话者嵌入的授权,所生成的说话者嵌入可以与该附加参与者相关联地存储在说话者嵌入数据库112a中。否则,所生成的说话者嵌入可以被客户端设备110丢弃。通过将说话者嵌入本地存储客户端设备110上在说话者嵌入数据库112a中,说话者嵌入空间可以填充有附加参与者,使得客户端设备110可以在附加参与者参与了与客户端设备110的给定用户的未来对话时使用对应说话者嵌入来标识附加参与者。
31.在一些附加和/或替代实现方式中,标识引擎112可以基于视觉数据(例如,由客户端设备110的一个或多个视觉传感器捕获的图像,这些图像包括客户端设备110的环境中的多个人(例如,客户端设备110的给定用户和/或参与了与给定用户的对话的附加参与者))来标识参与对话的用户。客户端设备的环境或客户端设备的周围环境可以包括任何空间或地理区域(无论是室内还是室外);如果另一参与者足够靠近客户端设备以使其对于客户端设备来说是可听的和/或检测来自客户端设备的可听输出,则可认为该另一参与者在该环境中。在这些实现方式的某些版本中,标识引擎112可以利用一种或多种面部检测技术来从视觉数据中自动标识客户端设备110的给定用户和/或对话中的至少一个附加参与者。在这些实现方式的其它版本中,用户界面输入引擎111可以检测来自客户端设备110的给定用户的输入(例如触摸或者口头),该输入指定所捕获的图像的包括对话中的至少一个附加参与者的区域(和与其相关联的视觉数据)。标识引擎112可以使用视觉标识模型来处理视觉数据以生成输出。此外,标识引擎112可以基于所生成的输出来生成视觉嵌入(例如,其中该输出可以是视觉嵌入)。所生成的视觉嵌入可以是低维视觉嵌入空间中的低维(相对于视觉数据)表示,或者更具体地,是说话者嵌入空间的特定部分。嵌入空间的特定部分可以与用户
的标识符相关联,该用户的标识符与映射到说话者嵌入空间的特定部分的所生成的说话者嵌入相关联。此外,标识引擎112可以将所生成的视觉嵌入与本地存储在客户端设备110上的在视觉嵌入数据库112b中的多个视觉嵌入进行比较,以标识视觉嵌入空间中的匹配视觉嵌入。例如,如果在视觉嵌入空间中,所生成的视觉嵌入和所述多个视觉嵌入中的给定一个视觉嵌入之间的距离度量满足阈值(例如,匹配的视觉嵌入),则与关联于匹配的视觉嵌入的标识符相关联的用户(例如,客户端设备110的给定用户和/或对话中的至少一个附加参与者)可以被标识为该对话中的参与者。例如,基于bob先前与视觉嵌入空间的第一部分相关联(例如,基于在客户端设备110处检测到的用户界面输入),用于附加参与者“bob”的视觉嵌入可以被映射到视觉嵌入空间的与“bob”的标识符相关联的第一部分,并且基于jane先前与视觉嵌入空间的第二部分相关联(例如,基于在客户端设备110处检测到的用户界面输入),用于附加参与者“jane”的视觉嵌入可以被映射到视觉嵌入空间的与“jane”的标识符相关联的第二部分。因此,随后生成的视觉嵌入可以被映射到视觉嵌入空间的这些或其它部分,以标识对话中的用户。
32.用于用户的视觉嵌入可以基于视觉嵌入来生成,该视觉嵌入基于对由客户端设备110捕获的一个或多个图像的处理而生成。例如,视觉嵌入可以基于多个不同视觉嵌入的平均值(或其它组合),每个视觉嵌入基于至少捕获用户(例如,客户端设备110的给定用户和/或对话中的至少一个附加参与者)的对应视觉数据的处理而生成。一旦建立,用户的视觉嵌入可以被存储在视觉嵌入数据库112b中。在一些实现方式中,客户端设备110的给定用户可以与至少部分地在客户端设备上执行的自动化助理交互,以建立用于客户端设备110的给定用户的视觉嵌入(例如,如关于图4a所述的那样),并且可以将针对给定用户所建立的视觉嵌入与给定用户相关联地存储在视觉嵌入数据库112b中。在一些实现方式中,在确定未知用户在客户端设备110的环境中参与了与客户端设备110的给定用户的对话时(例如,基于针对口头输入所生成的说话者嵌入不匹配本地存储在说话者嵌入数据库112a中的任何说话者嵌入和/或基于所生成的视觉嵌入不匹配本地存储在视觉嵌入数据库112b中的任何视觉嵌入),客户端设备110可以从与未知视觉嵌入相关联的附加参与者生成提示请求授权,以将所生成的视觉嵌入本地存储在客户端设备110上(例如,如关于图4d所述的那样)。此外,响应于从附加参与者接收到存储所生成的视觉嵌入的授权,所生成的视觉嵌入可以与附加参与者相关联地存储在视觉嵌入数据库112b中。否则,所生成的视觉嵌入可以被客户端设备110丢弃。通过将视觉嵌入本地存储在客户端设备110上在视觉嵌入数据库112b中,客户端设备110可以在附加参与者参与了与客户端设备110的给定用户的未来对话时使用附加参与者的对应视觉嵌入来标识附加参与者。
33.在一些实现方式中,用户(例如,客户端设备110的给定用户和/或参与了与给定用户的对话的附加参与者)的说话者嵌入可以跨说话者嵌入空间和视觉嵌入空间被映射到用户的对应视觉嵌入。因此,当标识出用户的说话者嵌入时,即使客户端设备110没有捕获包括用户的视觉数据,也可以标识用户的对应视觉嵌入。此外,当标识出用户的视觉嵌入时,即使客户端设备110没有检测到包括用户的口头输入的音频数据,也可以标识用户的对应说话者嵌入。例如,基于bob先前与说话者嵌入空间的第一部分相关联(例如,基于在客户端设备110处检测到的用户界面输入),针对附加参与者“bob”的说话者嵌入可以被映射到说话者嵌入空间的与“bob”的标识符相关联的第一部分,并且基于bob先前与说话者嵌入空间
的第一部分相关联(例如,基于在客户端设备110处检测到的用户界面输入),针对bob的视觉嵌入可以被映射到说话者嵌入空间的与bob的标识符相关联的第一部分。可以将说话者嵌入空间的第一部分映射到视觉嵌入空间的第一部分,这是基于它们都与标识符bob相关联。通过将用户的说话者嵌入映射到用户的对应视觉嵌入,当标识引擎112仅标识出用户的说话者嵌入和用户的视觉嵌入时,可以标识它们两者。
34.此外,在一些实现方式中,标识引擎112可以利用捕获口头输入的音频数据结合捕获至少一个用户(例如,客户端设备110的给定用户和/或参与了与给定用户的对话的附加参与者)的视觉数据来标识谁说出在音频数据中捕获的口头输入。客户端设备110可以处理捕获用户的口头输入的音频数据,同时还处理捕获所述至少一个用户的视觉数据,并且可以基于音频数据和视觉数据的处理来确定所述至少一个用户说出音频数据。例如,如果客户端设备110的给定用户正在参与与三个附加参与者的对话并且客户端设备110捕获包括口头输入的音频数据,则客户端设备110还可以捕获包括给定用户和所述三个附加参与者的视觉数据。此外,标识引擎112可以标识所述三个附加参与者中的给定一个附加参与者的嘴部运动,并且基于与捕获音频数据的时间重叠的嘴部运动的实例来确定音频数据包括来自所述三个附加参与者中的给定一个附加参与者的口头输入。当客户端设备110的给定用户正在参与与多个附加参与者的对话时,这些实现方式可以是有利的。
35.在一些附加和/或替代实现方式中,标识引擎112可以处理捕获参与对话的用户(例如,客户端设备110的给定用户和/或参与了与给定用户的对话的附加参与者)的视觉数据以确定参与对话的用户的身体姿势和/或头部姿势。此外,标识引擎112可以基于用户的身体姿势和/或头部姿势来确定用户中的提供了在客户端设备110处检测到的口头输入的用户和/或该口头输入的用户中的预期目标。以这种方式,即使在客户端设备110处未检测到来自用户中的一个或多个用户的口头输入,标识引擎112也可以标识参与对话的用户。例如,假设客户端设备110的给定用户正在参与与第一附加参与者“bob”和第二附加参与者“jane”的对话。进一步假设标识引擎112处理由客户端设备所捕获的视觉数据,并且基于该视觉数据来确定bob的身体姿势和/或头部姿势指示由客户端设备110检测到的语音输入来源于bob并且其指向jane(例如,bob正面向jane,并且jane正面向bob),即使bob和jane均不面向客户端设备110的给定用户或客户端设备110本身。
36.在那些实现方式的一些版本中,客户端设备110可以基于确定在视觉数据中捕获的附加参与者的身体姿势和/或头部姿势指示客户端设备110的给定用户是在客户端设备110处检测到的语音输入的预期目标来在客户端设备110上呈现对应于所标识的参与者中的每一个的一个或多个图形元素。例如,如果客户端设备110确定来自bob的口头输入仅指向jane(例如,如bob的身体姿势和/或头部姿势所指示的),则客户端设备110的给定用户可能不是来自bob的口头输入的预期目标,并且对应于bob和/或jane的图形元素可能不被呈现在客户端设备110处,从而指示客户端设备110的给定用户不是bob和jane之间的对话的参与者。相反,如果客户端设备110确定来自bob的口头输入指向到jane和客户端设备110的给定用户两者(例如,如bob的身体姿势和/或头部姿势所指示的),则客户端设备110的给定用户可以是来自bob的口头输入的预期目标,并且可以在客户端设备110处呈现与bob和/或jane相对应的图形元素,从而指示客户端设备110的给定用户是bob和jane之间的对话的参与者。在那些实现方式的一些版本中,客户端设备110可以响应于确定客户端设备110的给
定用户是在客户端设备110处检测到的语音输入的预期目标而(例如,使用自动建议引擎150)在客户端设备110上呈现建议。例如,如果客户端设备110确定来自bob的口头输入仅指向jane(例如,如bob的身体姿势和/或头部姿势所指示的),则客户端设备110的给定用户可能不是来自bob的口头输入的预期目标,并且建议可能不被呈现在客户端设备110处。相反,如果客户端设备110确定来自bob的口头输入指向jane和客户端设备110的给定用户两者(例如,如bob的身体姿势和/或头部姿势所指示的),则客户端设备110的给定用户可以是来自bob的口头输入的预期目标,并且可以在客户端设备110处呈现响应于来自bob的口头输入的建议。此外,在那些实现方式的一些另外的版本中,包括在建议中的内容可以基于对话中的所标识的附加参与者而变化。
37.在各种实现方式中,语音辅助系统160可以包括语音识别引擎120a2、语音合成引擎130a2、韵律特性引擎140和自动建议引擎150。在一些实现方式中,语音辅助系统160可以由客户端设备110在本地实现。在附加和/或替代实现方式中,语音辅助系统160可以由服务器实现,并且通过网络190(例如,wi-fi、蓝牙、近场通信、局域网、广域网和/或其它网络)向客户端设备110传送数据和/或从其接收数据。数据可以包括例如捕获口头输入的音频数据、对话中的所标识的用户的指示、由客户端设备110的传感器所生成的传感器数据(例如,由视觉传感器所生成的视觉数据、由gps传感器所生成的位置数据、由加速度计所生成的加速度计数据、由陀螺仪所生成的陀螺仪数据和/或其它传感器数据)、韵律特性、合成语音音频数据、客户端设备110的给定用户的说话者嵌入、与在客户端设备110处检测到的用户界面输入相对应的文本段、包括在一个或多个建议中的候选文本段、由客户端设备110检测到的对话的语义数据、通过机器学习模型生成的预测输出和/或本文描述的任何其它数据。尽管图1的语音辅助系统160在本文中被描述为由服务器实现,但是应当理解,语音辅助系统160的各种引擎和/或由语音辅助系统160执行的操作可以位于客户端设备110处和/或由其执行。
38.在一些实现方式中,语音识别引擎120a1可以处理捕获由用户界面输入引擎111检测到的口头输入的音频数据,以生成预测输出(例如,识别文本)。在一些附加和/或替代实现方式中,客户端设备110可以向语音辅助系统160并且通过一个或多个网络190(例如,wi-fi、蓝牙、近场通信、局域网、广域网和/或其它网络)传送捕获由用户界面输入引擎111检测到的口头输入的音频数据。语音识别引擎120a1和/或120a2可以使用语音识别模型120a来处理捕获口头输入的音频数据以生成识别文本。此外,语音识别引擎120a1和/或120a2可以基于已处理的输出来生成文本段,该文本段对应于将在对话中传达的口头输入。在一些实现方式中,语音识别模型120a包括单个语音识别模型,该单个语音识别模型被训练以处理捕获口头输入的音频数据,而不管说出口头输入的用户。在一些其它实现方式中,语音识别模型120a包括多个语音识别模型,每个语音识别模型以不同的方式被训练。例如,语音识别模型120a可以包括第一语音识别模型和第二语音识别模型,其中该第一语音识别模型被训练以处理捕获由语音受损用户说出的口头输入的音频数据,该第二语音识别模型被训练以处理捕获由非语音受损用户说出的口头输入的所有其它音频数据。在这些实现方式的一些版本中,捕获口头输入的音频数据可以作为输入跨第一语音识别模型和第二语音识别模型两者来应用以生成第一识别文本和第二识别文本。语音识别引擎120a1和/或120a2然后可以基于与第一识别文本和第二识别文本相关联的置信度度量,来选择第一识别文本或第二
识别文本作为对应于口头输入。在这些实现方式的一些其它版本中,捕获口头输入的音频数据可以包括与口头输入相关联的所标识的用户的指示,并且如果所标识的用户是语音受损用户,则与口头输入相关联的音频数据可以作为输入跨第一语音识别模型来应用,并且捕获非语音受损用户的口头输入的任何音频数据可以作为输入跨第二语音识别模型来应用。
39.在一些实现方式中,语音识别模型120a是端到端语音识别模型,使得语音识别引擎120a1和/或120a2可以直接使用该模型来生成与口头输入相对应的文本段。例如,语音识别模型120a可以是用于在逐个字符的基础上(或在其它逐个语言符号的基础上)生成文本段的端到端模型。用于在逐个字符的基础上生成文本段的这种端到端模型的一个非限制性示例是循环神经网络换能器(rnn-t)模型。rnn-t模型是一种不使用注意力机制的序列到序列模型形式。与通常需要处理整个输入序列(例如,音频数据波形或mel倒谱系数(mfcc)或其它表示)以生成预测输出的大多数序列到序列模型不同,rnn-t模型可以用于连续处理输入样本并且流送输出符号(例如,字母表的字符)。此外,例如,当语音识别模型不是端到端语音识别模型时,语音识别引擎120a1和/或120a2可以改为生成预测音素(和/或其它表示)。例如,利用这样的模型,预测音素(和/或其它表示)然后被语音识别引擎120a1和/或120a2用于确定符合预测音素的文本段。在这样做时,语音识别引擎120a1和/或120a2可以可选地采用解码图、词典和/或其它资源。
40.在一些实现方式中,与来自客户端设备110的给定用户的口头输入相对应的文本段可以由语音合成引擎130a1和/或130a2(例如,除了针对客户端设备110的给定用户的说话者嵌入之外)用于生成表示客户端设备110的给定用户的语音的合成语音音频数据。在那些实现方式的一些版本中,可以使用呈现引擎113并且通过客户端设备110的用户界面来视觉地呈现文本段。在一些实现方式中,也可以使用呈现引擎113并且通过客户端设备110的用户界面视觉地呈现与来自参与了与客户端设备110的给定用户的对话的附加参与者的口头输入相对应的文本段。以这种方式,可以在客户端设备110上视觉地呈现与客户端设备110的给定用户和对话中的附加参与者的对话的文字转录。
41.韵律特性引擎140可以包括例如关系引擎141、环境引擎142和语义引擎143。如本文所述,韵律特性引擎140可以确定在为客户端设备110的给定用户合成语音时要使用的一个或多个韵律特性。如本文所用,“韵律特性”可以包括例如音节和较大语音单元的一个或多个特性,包括语言学功能,诸如语调、音调、重音、节奏、音高和停顿。此外,通过在生成用于文本段的合成语音时使用韵律特性,可以组合地反映例如:情绪状态;形式(例如,陈述、问题或命令);反话;讽刺;和/或强调。换句话说,韵律特性是语音的特征,其独立于给定用户的个体话音特点,并且可以在对话期间动态地调整以改变合成语音的基线“话音”和/或改变包括在合成语音中的文本段的含义。
42.如本文所述,韵律特性引擎140可以基于以下来确定韵律特性:由关系引擎141确定的、在客户端设备110的给定用户和参与了与该给定用户的对话的附加参与者之间的关系的属性;由环境引擎142确定的在发生给定用户和对话的附加参与者之间的对话的位置的分类;和/或由语义引擎143确定的在给定用户和对话的附加参与者之间的对话的语义。在一些实现方式中,韵律特性引擎140可以响应于从客户端设备110的给定用户接收到口头输入而自动确定韵律特性,自动生成合成语音音频数据,该合成语音音频数据包括合成有
所确定的韵律特性的合成语音并且包括在从给定用户接收到的口头输入中包括的文本段,并且响应于从给定用户接收到口头输入而可听地呈现合成语音。在一些其它实现方式中,韵律特性引擎140可以响应于从客户端设备110的给定用户接收到口头输入,自动确定韵律特性并且自动生成合成语音音频数据,该合成语音音频数据包括合成有所确定的韵律特性的合成语音并且包括在从给定用户接收到的口头输入中包括的文本段,但是抑制合成语音的可听呈现,直至暂停时段结束(例如,三秒、五秒等)。在该暂停时段期间,给定用户可以手动调整所确定的韵律特性(例如,如关于图4b至图4d所述的那样)。在又一些实现方式中,韵律特性引擎140可以响应于从客户端设备110的给定用户接收到口头输入,自动确定韵律特性并且自动生成合成语音音频数据,该合成语音音频数据包括合成有所确定的韵律特性的合成语音并且包括在从给定用户接收到的口头输入中包括的文本段,但是抑制合成语音的可听呈现,直至由用户界面输入引擎111检测到来自给定用户的进一步用户界面输入,从而确认合成语音应当被可听地呈现。这不仅允许给定用户手动调整所确定的韵律特性(例如,如参考图4b至图4d所述的那样),而且给定用户还可以修改所确定的文本段的文字转录(例如,如参考图4f所述的那样)。
43.韵律特性可以基于在客户端设备110的给定用户和参与了与该给定用户的对话的附加参与者之间的关系的属性来动态地确定。在一些实现方式中,关系引擎141可以基于附加参与者是未知用户还是已知用户(例如,如由标识引擎112所确定的)来确定在客户端设备110的给定用户和参与了与给定用户的对话的附加参与者之间的关系的属性。在那些实现方式的一些版本中,当附加参与者中的给定一个附加参与者是未知用户(例如,基于没有说话者嵌入和没有视觉嵌入被本地存储在客户端设备110上来确定)时,关系引擎141可以向未知用户指派“未知”属性。此外,可以将韵律特性数据库140a中存储的一组默认韵律特性映射到未知属性。例如,未知属性可以与一组默认韵律特性相关联,该一组默认韵律特性产生在音调上是正式的并且具有相对慢的节奏和/或节律的合成语音。合成语音可以包括正式音调和相对较慢的节奏和/或节律,因为未知用户可能不熟悉给定用户的合成语音。在那些实现方式的一些其它版本中,当附加参与者中的给定一个附加参与者是未知用户时,可以在客户端设备110处呈现请求授权在客户端设备110处本地存储未知用户的说话者嵌入和/或视觉嵌入的提示,使得未知用户可以成为已知用户并且在与客户端设备110的给定用户的将来对话中被识别。
44.在那些实现方式的一些版本中,当附加参与者中的给定一个附加参与者是特定已知用户(例如,基于本地存储在客户端设备110上的说话者嵌入和/或视觉嵌入来标识)时,关系引擎141可以确定客户端设备的给定用户与特定已知用户之间的关系的属性。属性可以包括例如给定用户与特定已知用户之间的交互(例如,对话交互、电话呼叫、文本消息交互、sms消息交互、电子邮件交互和/或其它交互)的数量、给定用户与特定已知用户之间的交互的频率和/或给定用户与特定已知用户之间的关系的语义标识符或指示(例如,诸如老板、朋友、密友、同事、家庭成员的语义指示和/或其它语义指示)。在这些实现方式的一些进一步的版本中,与特定已知用户相关联的属性可以被存储在关系属性数据库141a中。在一些示例中,图形指示或元素可以被显示或呈现在客户端设备上,并且图形指示或元素包括附加用户或参与者的语义标识符或指示。
45.在那些实现方式的一些进一步的版本中,可以将韵律特性数据库140a中存储的韵
律特性的不同分组映射到不同属性。例如,老板属性可以被映射到第一组韵律特性,该第一组韵律特性可以产生在音调上更正式并且避免讽刺的合成语音。此外,例如,密友属性和/或频繁交互属性可以被映射到第二组韵律特性,该第二组韵律特性可以产生在音调上是随意的并且具有相对快的节奏的合成语音。更快的节奏可以使得合成语音能够在客户端设备110处更快地呈现,并且使得所得到的对话能够更快地结束。尽管较快的节奏可能潜在地使得合成语音更难理解,但是鉴于密友和/或频繁交互属性指示了合成语音熟悉度,因此响应于确定密友和/或频繁交互属性来利用较快的节奏可以减轻这种风险。以这些和其它方式,可以选择性地利用导致合成语音的更快呈现(以及相关联的计算资源的较短的利用持续时间)的韵律特性,从而使这样的效率与关系属性相平衡,所述关系属性指示如果合成语音未被理解则需要重复呈现的风险。此外,关系属性可以随客户端设备110的给定用户和特定已知用户随时间推移的交互而更新。
46.在一些实现方式中,如果对话包括多个附加参与者,则韵律特性引擎140可以利用对话中的每个附加参与者的韵律特性的平均值作为要在生成客户端设备110的给定用户的合成语音时使用的所确定的韵律特性。例如,如果客户端设备110的给定用户参与了与给定用户的老板(例如,与第一组韵律特性相关联,该第一组韵律特性可以产生在音调上更正式并且避免讽刺的合成语音,如上所述)和密友(例如,与第二组韵律特性相关联,该第二组韵律特性可以产生在音调上是随意的并且具有相对快节奏的合成语音)的对话,则所确定的韵律特性组可以产生包括一些讽刺和中等节奏的合成语音,以包括比给定用户单独地简单地与老板或密友进行对话的情况下更慢的语音。在一些其它实现方式中,如果对话包括多个附加参与者,则韵律特性引擎140可以利用从针对每个附加参与者确定的韵律特性中的韵律特性,其对应于作为要在生成客户端设备110的给定用户的合成语音中使用的所确定的韵律特性的更正式的语音。以这种方式,响应于确定给定用户与附加参与者之间的关系比给定用户与另外的附加参与者之间的附加关系更正式,一个或多个韵律特性可以基于给定用户与该附加参与者之间的关系的属性,代替(或而不是)使用给定用户与该另外的附加参与者之间的附加关系的一个或多个附加属性。例如,如果客户端设备110的给定用户参与了与给定用户的老板(例如,与第一组韵律特性相关联,该第一组韵律特性可以产生在音调上是更正式的并且避免讽刺的合成语音,如上所述)和密友(例如,与第二组韵律特性相关联,该第二组韵律特性可以产生在音调上是随意的并且具有相对快的节奏的合成语音)的对话,则所确定的韵律特性组可以是第一组韵律特性,因为其与更正式的语音相关联。
47.韵律特性可以附加地和/或可选地基于在客户端设备110的给定用户和参与了与该给定用户的对话的附加参与者之间发生的对话的位置的分类和/或其它特征来动态地确定。在一些实现方式中,环境引擎142可以基于由客户端设备110生成的并且通过网络190传送到语音辅助系统160的传感器数据(例如,由客户端设备110的gps传感器所生成的位置数据)来确定对话的位置。该位置可以与已知位置(例如,给定用户的家、给定用户的工作地点)进行比较,和/或与地图进行比较以标识其它位置。在那些实现方式的一些版本中,可以将韵律特性数据库140a中存储的韵律特性的不同分组映射到对话的位置的不同分类。例如,可以在具有家庭分类(即,相对于给定用户的家分类,即,给定用户的家)的位置处确定和利用第一组韵律特性,可以在具有工作分类(即,相对于给定用户的工作分类,即,给定用户的工作地点)的位置处确定和利用第二组韵律特性,可以在具有咖啡店分类(对于所有用
户是共同的)的位置处确定和利用第三组韵律特性,可以在具有酒吧分类(对于所有用户是共同的)的位置处确定和利用第四组韵律特性,并且可以在具有餐馆分类(对于所有用户是共同的)的位置处确定和利用第五组韵律特性。
48.韵律特性可以附加地和/或可选地基于客户端设备110的给定用户和参与了与该给定用户的对话的附加参与者之间的对话的语义来动态地确定。在一些实现方式中,语义引擎143可以处理先前口头输入的特征和/或与来自对话中的附加参与者的先前口头输入相对应的先前文本段的特征。此外,语义引擎143还可以处理对应的响应口头输入的特征和/或对应于来自给定用户的响应口头输入的响应文本段的特征,其中来自给定用户的响应口头输入响应于来自附加参与者的先前口头输入。基于处理先前文本段和/或文本段,语义引擎143可以确定反映对话的上下文中的语义特征的韵律特性组。例如,假设客户端设备110的给定用户正在作证(being deposed),并且响应于证言中的来自附加参与者的“why did you say she stole your money(为什么你说她偷了你的钱)?”,给定用户响应“i never said she stole my money(我从未说过她偷我的钱)”。在这种情况下,如果第一组韵律特性产生了包括在单词“stole(偷)”上的重音的合成语音,则合成语音可以指示钱可能被偷或可能未被偷,但是提供该口头输入的给定用户先前从未指示钱是否实际上被偷。相反,如果第二组韵律特性产生包括单词“never(从未)”上的重音的合成语音,则合成语音可以指示钱实际上没有被偷,并且提供该口头输入的给定用户确保关于钱的任何先前陈述不会被不正确地解释。此外,如果第三组韵律特性产生合成语音,该合成语音包括用于整个短语“i never said she stole my money(我从未说过她偷我的钱)”的刺耳或坚定的音调和快速的节律,则合成语音可以指示给定用户因问题而愤怒和/或给定用户具有该给定用户先前从未指示她偷了钱的强烈信念。然而,如果合成语音简单地合成有给定用户的基线“话音”,而没有基于韵律特性的任何调整,则合成短语“i never said she stole my money”的实际含义可能丢失。
49.因此,在确定用于为客户端设备110的给定用户生成合成语音的所确定的韵律特性组时,韵律特性引擎140可以考虑由关系引擎141所确定的第一组韵律特性、由环境引擎142所确定的第二组韵律特性、和/或由语义引擎143所确定的第三组韵律特性。例如,如果给定用户在给定用户的家中参与了与密友的对话,则韵律特性引擎140可以基于第一组韵律特性和第二组韵律特性来确定第四组韵律特性,因为给定用户的家是给定用户可以自由讲话的私人位置,使得对话包括快速节奏和随意音调。然而,如果给定用户和密友参与激烈争论,则韵律特性引擎140可以基于第三组韵律特性和第四组韵律特性来确定第五组韵律特性,以在特定单词或短语上包括更多的情绪和/或更多的强调或重音。作为另一示例,如果给定用户在酒吧处参与了与密友的对话,则韵律特性引擎140可以基于第一组韵律特性和第二组韵律特性来确定第四组韵律特性,作为所确定的韵律特性组,该所确定的韵律特性组保持随意音调但包括较慢的节奏,以与如由先前示例指示的在给定用户的家中使用的快速节奏相比在酒吧环境中考虑更大环境噪声。作为又一示例,如果给定用户在咖啡店参与了与密友的对话,则韵律特性引擎140可以基于第一组韵律特性和第二组韵律特性来确定第四组韵律特性,作为所确定的韵律特性组,该作为所确定的韵律特性组包括更快的节奏但是包括更正式的音调,以与在更随意的酒吧处相比在咖啡店环境中考虑更柔和的环境噪声。因此,韵律特性引擎140可以基于关系属性、对话位置的分类、对话的语义和/或其它
因素,来确定用于为客户端设备110的给定用户生成合成语音的韵律特性组。
50.如本文所述,可以生成合成语音音频语音,并且该合成语音音频语音可以包括使用客户端设备110的给定用户的说话者嵌入来合成的、合成有所确定的韵律特性、并且包括基于在客户端设备110处检测到的用户界面所确定的文本段的合成语音。当使用客户端设备110的给定用户的说话者嵌入来合成语音时,该合成语音可以表示客户端设备110的给定用户的合成语音的基线“话音”。然而,当合成语音也合成有所确定的韵律特性时,可以调整用于客户端设备110的给定用户的合成语音的基线话音。如上所述,所确定的韵律特性可以用于改变给定用户的合成语音的基线话音和/或改变合成语音中包括的文本段的含义。因此,所确定的韵律特性不用于生成第一男性合成话音相对于第二男性合成话音、男性合成话音相对于女性合成话音、或第一语言的合成话音相对于第二语言的合成话音。相反,本文描述的合成语音可以利用所确定的韵律特性来改变合成语音的基线话音和/或合成语音的含义。例如,相同的基线语音可以是使用相同的说话者嵌入来生成合成语音的函数,并且韵律特性可以改变合成语音的基线语音和/或合成语音的含义。在这些示例中的一些示例中,语音合成模型可以利用不同的说话者嵌入来生成合成语音,并且韵律特性可以针对每个语音合成模型改变合成语音的基线话音和/或合成语音的含义。因此,基于所确定的韵律特性,响应于从客户端设备的给定用户接收到相同的口头输入,所生成的合成语音可以不同。
51.在一些实现方式中,语音辅助系统160可以向客户端设备110并且通过网络190传送在为客户端设备110的给定用户合成语音中使用的所确定的韵律特性,并且语音合成引擎130a1可以使用语音合成模型130a来生成合成语音音频数据。在一些其它实现方式中,语音辅助系统160可以从客户端设备110并且通过网络190接收与客户端设备110的给定用户相关联的说话者嵌入和与客户端设备110的给定用户的口头输入相对应的文本段。语音合成引擎130a1和/或130a2可以使用语音合成模型130a、使用与客户端设备110的给定用户相关联的说话者嵌入来生成合成语音音频数据,该合成语音音频数据包括合成有所确定的韵律特性的合成语音并且包括与客户端设备110的给定用户的口头输入相对应的文本段。例如,语音合成引擎130a1和/或130a2可以确定被确定为对应于与客户端设备110的给定用户的口头输入相对应的文本段的音素序列,并且使用语音合成模型130a来处理该音素序列,以生成合成语音音频数据。合成语音音频数据可以是例如音频波形的形式。在确定与对应于客户端设备110的给定用户的口头输入的文本段相对应的音素序列时,语音合成引擎130a1和/或130a2可以访问在客户端设备110处本地存储的语言符号到音素映射。
52.在一些实现方式中,语音合成引擎130a1和/或130a2可以使用语音合成模型130a,通过应用与客户端设备110的给定用户相关联的说话者嵌入、所确定的韵律特性、以及与客户端设备110的给定用户的口头输入相对应的文本段作为跨语音合成模型130a的输入,来生成合成语音音频数据。因此,包括在合成语音音频数据中的合成语音不仅表示客户端设备110的给定用户的口头输入的内容(例如,经由文本段),而且合成语音还表示针对接收到口头输入的不同场景的变化韵律特性(例如,如关于图3和4a至图4f所述的那样)。在一些其它实现方式中,语音合成引擎130a1和/或130a2可以使用语音合成模型130a通过应用与客户端设备110的给定用户相关联的说话者嵌入,以及与客户端设备110的给定用户的口头输入相对应的文本段作为语音合成模型130a的输入来生成合成语音音频数据。在那些实现方式的一些版本中,在生成合成语音音频数据之后,语音合成引擎130a1和/或130a2可以使用
各种音频处理技术来进一步处理(例如,后处理)合成语音音频数据以并入所确定的韵律特性。因此,包括在合成语音音频数据中的合成语音表示客户端设备110的给定用户的口头输入的基线合成语音内容(例如,经由文本段),并且进一步处理调整合成语音以还表示针对接收到口头输入的不同场景的变化韵律特性(例如,如关于图3和4a至图4f所述的那样)。在又一些实现方式中,语音合成引擎130a1和/或130a2可以使用语音合成模型130a,通过应用与客户端设备110的给定用户的口头输入相对应的文本段作为跨语音合成模型130a的输入来生成合成语音音频数据。在那些实现方式的一些版本中,语音合成模型利用与语音合成模型130a相关联的说话者嵌入来生成合成语音。在那些实现方式的一些版本中,韵律特性也可以与如上所述的文本段一起作为跨语音合成模型130a的输入被应用,或者韵律特性可以使用如上所述的后处理而被并入到合成语音中。
53.在一些实现方式中,客户端设备110可以使用呈现引擎113并且通过客户端设备和/或附加客户端设备的扬声器可听地呈现包括在合成语音音频数据中的合成语音,该合成语音表示来自客户端设备110的给定用户的口头输入。合成语音合成有所确定的韵律特性并且包括与客户端设备110的给定用户的口头输入相对应的文本段,并且可以用作给定用户的实际语音的代理,以用于在对话中传达或提供信息。在一些其它实现方式中,语音辅助引擎160可以向客户端设备110并且通过网络190传送合成语音音频数据。在那些实现方式的一些版本中,响应于在客户端设备110处接收到合成语音音频数据,可以使用呈现引擎113并且通过客户端设备和/或附加客户端设备的扬声器可听地呈现包括在该合成语音音频数据中的合成语音。当客户端设备110的给定用户是语音受损的用户时,本文描述的技术可以是有利的,因为合成语音可以用作给定用户的实际语音的代理,并且动态地适于接收客户端设备110的给定用户的口头输入的各种不同场景(例如,如参考图3和4a至图4f所述的那样)。值得注意的是,在一些实现方式中,由用户界面输入引擎111检测到的口头输入是第一语言,并且与由用户界面输入引擎111检测到的口头输入相对应的所生成的合成语音也是第一语言。
54.自动建议引擎150可以确定要在对话中传达的候选文本段,并且可以将候选文本段呈现为包括在针对客户端设备110的给定用户的合成语音中的建议。在一些实现方式中,候选文本段可以通过网络190传送到客户端设备110。此外,使用呈现引擎113并且通过客户端设备110的用户界面将候选文本段视觉地呈现为建议,以用于呈现给客户端设备110的给定用户。在那些实现方式的一些版本中,建议可以是可选择的,使得当用户界面输入指向建议(例如,如由用户界面输入引擎111确定的)时,所选择的建议可以并入到由客户端设备110可听地呈现的合成语音中。以这种方式,客户端设备110的给定用户可以选择建议中的给定一个建议,并且可以生成针对客户端设备110的给定用户的合成语音,该合成语音包括所选择的建议的候选文本段。值得注意的是,即使给定用户没有提供对应于所选择的候选文本段的任何口头输入,也可以生成表示客户端设备110的给定用户的语音并且包括所选择的候选文本段的合成语音。因此,用于客户端设备110的给定用户的合成语音仍然可以表示给定用户的语音,因为合成语音是使用客户端设备110的给定用户的说话者嵌入来合成的(例如,对应于给定用户的实际语音的合成语音,或者不对应于给定用户的实际语音但是基于来自用户的反馈而选择的合成语音)。
55.自动建议引擎150可以基于客户端设备110的给定用户和参与了与该给定用户的
对话的附加参与者之间的对话的上下文来生成候选文本段。在一些实现方式中,自动建议引擎150可以在客户端设备110处检测到任何口头输入之前生成候选文本段,该候选文本段包括在由客户端设备110的给定用户发起对话的上下文中的内容。在那些实现方式的一些版本中,自动建议引擎150可以生成候选文本段,该候选文本段包括响应于启动一个或多个软件应用而发起对话的内容。例如,如果客户端设备110的给定用户启动自动化助理应用并且客户端设备未检测到不属于该用户的语音输入,则可以视觉地呈现发起对话(例如,“hello,how are you doing(喂,你好吗)?”、“hi,how has your day been(嗨,你今天过得怎么样)?”、“what’s up(怎么了)?”等)的候选文本段以用于通过客户端设备110的用户界面呈现给给定用户。此外,如果附加参与者是已知用户,则包括候选文本段的内容也可以标识对话中的附加参与者(例如,“hi,jim(嗨,吉姆)”、“what’s up,jim(怎么了,吉姆)?”等)。在那些实现方式的一些其它版本中,自动建议引擎150可以响应于确定在客户端设备110处检测到提供口头输入的用户界面输入但是在接收用户界面输入的阈值时间量内(例如,在三秒、四秒、五秒等内)在客户端设备110处没有接收到口头输入,从而生成包括用于发起对话的内容的候选文本段。例如,如果客户端设备110的给定用户将用户界面输入指向到图形元素,其中该图形元素在被选择时使得给定用户能够提供口头输入,但是在选择该图形元素的四秒内没有接收到口头输入,则可以视觉地呈现发起对话的候选文本段以便通过客户端设备110的用户界面呈现给给定用户。
56.在一些实现方式中,自动建议引擎150可以生成候选文本段,该候选文本段包括在对参与了与客户端设备110的给定用户的对话的附加参与者的口头输入进行响应的上下文中的内容(例如,对与附加参与者的口头输入相对应的文本段进行响应的候选文本段)。在那些实现方式的一些版本中,自动建议引擎150可以使用预测模型基于应用与附加参与者的口头输入相对应的文本段的特征作为跨预测模型的输入,来生成候选文本段。预测模型可以包括例如lstm神经网络模型和/或基于大语料库的文本段和来自多个用户的响应于该文本段的对应文本段而训练的其它机器学习模型。文本段的特征可以包括来自文本段的语言符号(例如,文本语言符号和/或图形语言符号),并且自动建议引擎150应用语言符号作为跨预测模型中的一个或多个的输入以生成指示候选文本段的输出。来自文本段的所应用的语言符号可以包括所有语言符号或者语言符号的一个或多个子集(例如,包括在文本段中的第一句和/或最后一句、省略了停用词的文本段)。自动建议引擎150然后使用该输出来确定候选文本段。例如,自动建议引擎150可以在顺序逐个语言符号的基础上应用语言符号作为跨预测模型的输入,以在模型上生成一个或多个输出,其中每个输出指示单词的概率分布。
57.自动建议引擎150利用预测模型的输出来确定候选文本段集合并且向候选文本段指派分值(或以其它方式对其进行排名)。在一些实现方式中,从候选文本段的白名单(诸如共同响应的策划列表)标识候选文本段。在一些实现方式中,候选文本段中的一个或多个可以附加地或可选地以不受限逐个语言符号方式(即,不从公共响应的白名单中标识)生成。不管所利用的技术如何,自动建议引擎150可以标识多个候选文本段(例如,3、5、10或更多),并且可以可选地基于例如基于通过预测模型生成的输出而指派给候选文本段的分值来对所标识的候选文本段进行排名。候选文本段的排名可以作为候选文本段的分值、候选文本段的排序(例如,第一候选文本段排名最高、第二候选文本段排名次高等等的列表)等
等来传达。
58.可以视觉地呈现候选文本段以将其作为要被并入在针对给定用户的合成语音中的建议而呈现给客户端设备110的给定用户。在一些实现方式中,自动建议引擎150可以仅将多达x个候选文本段标识为建议(其中x是大于或等于一的正整数)和/或使用阈值处理来仅将候选文本段标识为与通过预测模型生成的输出具有至少阈值一致程度的建议。在那些一些实现方式的一些版本中,建议中的一个或多个可以比其它建议中的一个或多个更显著地被视觉呈现(例如,如本文参考图4b、图4c和图4f更详细描述的)。在那些实现方式的一些版本中,在客户端设备110处视觉地呈现的建议可以仅包括语义上不同的候选文本段。自动建议引擎150可以基于在编码器模型上生成多个候选文本段嵌入来确定候选文本段在语义上是多样的,其中每个候选文本段嵌入基于所述多个候选文本段中的一个。所生成的候选文本段嵌入可以是将候选文本段映射到低维候选文本段嵌入空间的低维表示。可以将候选文本段中的给定一个候选文本段的嵌入与已经被选择为建议中的一个的候选文本段的嵌入进行比较,并且仅在该比较指示满足差异度量时,才可以将候选文本段中的该给定一个候选文本段标识为建议。例如,差异度量可以满足指示给定候选文本段与已经选择的候选文本段之间的语义差异的足够程度的阈值。确定并且提供语义上不同的候选文本段作为建议可以增加候选文本段中的一个足以传达用户的预期响应的本质的可能性。结果,用户将选择候选文本段中的一个以包括在合成语音中的可能性可以增加。此外,选择建议中的一个将减少用户必须进行的用户输入的数量,这可以减少各种客户端设备计算资源的使用和/或这对于具有低灵活性的用户(或者以其它方式难以对客户端设备110进行用户输入的用户)特别有益。
59.此外,在一些实现方式中,候选文本段可以基于客户端设备的给定用户与对话中的附加参与者之间的对话的环境和/或客户端设备的给定用户与对话中的附加参与者之间的关系来确定。例如,如果该对话发生在给定用户的家中并且发生在给定用户与给定用户的女儿之间,则所确定的候选文本段可以包括更多快乐的和心情愉快的文本段。作为另一示例,如果对话发生在用户的家中并且发生在给定用户和给定用户的朋友之间,则所确定的候选文本段可以包括更多俚语的和讽刺的文本段。相反,如果对话发生在咖啡店并且发生在给定用户和给定用户的朋友之间,则所确定的候选文本段可以在文本段中包括较少的俚语,但是仍然可以包括讽刺的文本段。在一些实现方式中,确定文本段快乐的、心情愉快的或者具有其它类型可以基于文本段的嵌入。例如,可以如先前段落中所述的那样确定文本段的嵌入。此外,该嵌入或其中包含该嵌入的嵌入空间的区域可以用一个或多个类型(例如,心情愉快的)来标记,从而指示嵌入(以及因此文本段)具有类型。因此,心情愉快的文本段可以基于确定文本段的嵌入被映射到心情愉快的标签而从多个候选响应中选择。
60.当确定候选文本段时,候选文本段可以存储在候选文本段数据库150a中,以快速且有效地访问先前确定的候选文本段。此外,存储在候选文本段数据库150a中的候选文本段可以按照特定候选文本段的使用类型和/或频率来索引。候选文本段的类型可以包括例如发起对话的候选文本段、包括笑声的候选文本段、与家庭环境相关联的候选文本段、与工作环境相关联的候选文本段、与公共环境相关联的候选文本段、与餐馆服务相关联的候选文本段(例如,“water,please(请来点水)”、“i’ll have the cheeseburger(我吃芝士汉堡)”等)、与朋友相关联的候选文本段、与家庭相关联的候选文本段和/或用于索引候选文
本段的其它类型。通过使用语音辅助系统160,自动建议引擎150可以学习公共术语、短语、响应、俚语和/或客户端设备110的给定用户通常使用的其它语音,并且候选文本段数据库150a或其索引可以被更新以包括这些文本段。以这种方式,语音辅助系统160可以提供对客户端设备的用户更有用的建议,并且因此,可以在客户端设备110处减少口头用户输入,并且可以减少用于处理口头用户输入的对应计算资源(和/或用于其传输的网络资源)。
61.图2a和图2b描绘图示根据各种实现方式的生成合成有一个或多个韵律特性的合成语音的示例方法200a和200b的流程图。为了方便起见,方法200a和200b的操作参考执行这些操作的系统来描述。方法200a和200b的该系统包括计算设备(例如,图1的客户端设备110、图3和4a至图4f的客户端设备410、图5的计算设备510、一个或多个服务器、和/或其它计算设备)的一个或多个处理器和/或其它组件。此外,虽然方法200a和200b的操作以特定顺序示出,但这并不意味着限制。可以重新排序、省略或添加一个或多个操作。
62.尽管方法200a的操作在本文中被描述为在方法200b的操作之前发生,这仅是为了便于解释而不是意味着限制。应当注意,方法200a的操作可以在方法200b的操作之前执行,方法200b的操作可以在方法200a的操作之前执行,或者方法200a和200b的操作可以并行执行。在各种实现方式中,方法200a和200b的操作顺序可以基于给定用户与对话中的一个或多个附加参与者之间的对话流。作为一个非限制性示例,如果给定用户发起对话,则可以在方法200b的操作之前执行方法200a的操作,以通过生成合成有一个或多个韵律特性的合成语音来为给定用户提供语音辅助。作为另一非限制性示例,如果给定用户正在对对话中的一个或多个附加参与者作出响应,则可以在方法200a的操作之前执行方法200b的操作,以通过生成合成有一个或多个韵律特性的合成语音来为给定用户提供语音辅助。然而,给定用户之间的对话的动态性质,方法200a和200b的操作也可以在给定用户和一个或多个附加参与者参与对话时并行地执行。
63.首先转到图2a和图2b,在图2a的框252a处,系统监视在给定用户的客户端设备处的用户界面输入。在给定用户的客户端设备处的用户界面输入可以包括给定用户的口头输入和/或对传达文本段的图形元素的选择。在用户界面输入是给定用户的口头输入的实现方式中,口头输入可以经由客户端设备的一个或多个麦克风来检测,并且可以响应于检测到口头输入中包括的特定热词或短语(例如,响应于检测到“ok,assistant(好的,助理)”、“assistant(助理)”和/或其它特定热词或短语),响应于使用一种或多种无热词技术检测到没有任何特定热词或短语的口头输入(例如,响应于检测到给定用户的嘴部或唇部移动、给定用户指向客户端设备的注视、给定用户指向客户端设备的姿势和/或其它无热词技术),或者响应于接收到提供口头输入的指示(例如,选择客户端设备的硬件或软件按钮、客户端设备的挤压和/或用于提供口头输入的其它指示)来检测口头输入。此外,可以使用一个或多个语音识别模型(例如,图1的语音识别模型120a)来处理口头输入。在用户界面输入是对传达文本段的图形元素的选择的实现方式中,图形元素可以是在客户端设备的用户界面上显示的多个图形元素中的一个,并且文本段可以是发起与对话中的一个或多个附加参与者的对话的文本段或者是响应于对话中的一个或多个附加参与者的附加用户口头输入的文本段。
64.如果在图2a的框252a的迭代处,系统确定在给定用户的客户端设备处未检测到用户界面输入,则系统可以前进到图2b的框252b。图2a的框252a和图2b的框252b也可以并行
地执行。在图2b的框252b处,系统监视客户端设备处的一个或多个其它用户(例如,对话中的附加参与者)的话音活动。值得注意的是,可以经由客户端设备的一个或多个麦克风在给定用户的客户端设备的环境中检测到话音活动,但是其不是来自客户端设备的给定用户。基于说话者标识确定存在不是来自给定用户的话音活动可以包括:在客户端设备处基于处理附加用户口头输入来生成口头输入嵌入;以及确定该口头输入嵌入与针对给定用户的预先存储的嵌入不匹配。相反,话音活动源自处于给定用户的客户端设备的环境中的附加用户。在一些实现方式中,话音活动包括指向客户端设备的给定用户的附加用户口头输入,并且话音活动可以使用一个或多个语音识别模型(例如,图1的语音识别模型120a)来处理。
65.如果在图2b的框252b的迭代处,系统确定在给定用户的客户端设备处检测到一个或多个其它用户的用户话音活动,则系统可以前进到图2b的框254b。然而,如果在图2b的框252b的迭代处,系统确定在给定用户的客户端设备处未检测到一个或多个其它用户的用户话音活动,则系统可以返回到图2a的框252a。以此方式,系统可以至少选择性地(例如,当基于用户输入而被激活时)在图2a的框252a处连续地监视给定用户在客户端设备处的用户界面输入和/或在图2b的框252b处监视给定用户的客户端设备的环境中的其它用户的话音活动。通过在图2a的框252a处连续地监视给定用户的用户界面输入以及在图2b的框252b处连续地监视其它用户的话音活动,本文描述的技术为给定用户提供了语音辅助,该语音辅助可以在给定用户与一个或多个其它用户之间的对话中动态地适配。
66.现在转向图2a,如果在框252a的迭代处,系统确定在给定用户的客户端设备处检测到用户界面输入,则系统可以前进到框254a。在框254a处,系统基于在给定用户的客户端设备处的用户界面输入来确定用于在对话中传达的文本段。在一些实现方式中,框254a可以包括一个或多个子框。如果用户界面输入包括给定用户的口头输入,则在子框254a1处,系统可以基于使用语音识别模型(例如,图1的语音识别模型120a)处理给定用户的口头输入来确定文本段。在包括子框254a1的实现方式中,给定用户的客户端设备可以使用一个或多个麦克风来检测给定用户的口头输入。如果用户界面输入包括图形元素的选择,则在子框254a2处,系统可以基于对传达文本段的图形元素的选择来确定文本段。在包括子框254a2的实现方式中,可以响应于给定用户提供发起对话的指示和/或响应于检测到对话中的一个或多个其它用户的话音活动来呈现图形元素。此外,图形元素可以是多个图形元素中的一个,并且图形元素中的每一个可以包括候选文本段的不同建议,其中候选文本段代表给定用户发起对话和/或响应于对话中的其它用户中的一个或多个的话音活动。对候选文本段的建议及其选择在本文中更详细地描述(例如,参考图1和图4b、图4c和图4f)。应当注意,在一些实现方式中,建议可以基于给定用户与对话中的其它用户中的一个或多个之间的关系而变化。
67.在框256a处,系统标识对话中的一个或多个附加参与者。对话中的该一个或多个附加参与者可以包括其话音活动在给定用户的客户端设备的环境中被检测到的一个或多个其它用户。值得注意的是,如上所述,通过监视客户端设备处的用户界面输入和/或监视客户端设备的环境中的一个或多个其它用户的话音活动,对话中的所述一个或多个附加参与者可能已经基于对话中的先前轮次而被标识。在一些实现方式中,框256a可以包括一个或多个子框。如果系统已经检测到一个或多个其它用户的话音活动,则在子框256a1处,系统通过对经由给定用户的客户端设备的一个或多个麦克风检测到的附加用户口头输入执
行说话者标识,而将该一个或多个其它用户标识为附加参与者。在包括子框256a1的实现方式中,可以使用一个或多个语音识别模型(例如,图1的语音识别模型120a)来处理附加用户口头输入,以生成提供附加用户口头输入的附加参与者中的对应一个的说话者嵌入(或口头输入嵌入)。如本文(例如,参考图1和图2b)中所述,可以将说话者嵌入与本地存储在客户端设备上的多个(预存储的)说话者嵌入进行比较,以标识附加参与者中的对应一个的匹配说话者嵌入是否本地存储在客户端设备上。换言之,可以基于处理附加用户口头输入来生成口头输入嵌入,并且可以确定口头输入嵌入是否与用于附加用户或参与者的预先存储的嵌入相匹配;因此可以标识附加参与者。可选地,响应于附加用户的授权,用于附加用户的预存储嵌入被先前本地存储在客户端设备处。在一些示例中,附加用户的语义标识符可以被存储或以其它方式与预存储嵌入相关联。
68.在子框256a2处,系统可以通过处理捕获多个人的(包括附加的参与者的)图像来附加地或可选地标识一个或多个附加参与者。例如,如果在子框256a2处没有检测到一个或多个其它用户的话音活动,则系统可以执行子框256a2。图像可以由给定用户的客户端设备的一个或多个视觉传感器(例如,相机)捕获。相机可以包括可调整视口,并且图像(或多个图像)可以在可调整视口的调整之后被捕获。该调整可以响应于在客户端设备处的用户界面输入;例如,用户可以使视口倾斜,或者在一个或多个参与者上放大。在包括子框256a1的实现方式中,可以在给定客户端设备的用户界面上呈现图像,给定用户可以指定包括附加参与者中的对应一个的图像的区域(例如,选择面部、在面部周围绘制边界框和/或用于指定图像的区域的其它技术),并且可以使用一种或多种图像处理技术来处理图像的区域,以生成附加用户中的对应一个的视觉嵌入;用户因此可以指定从处理中排除图像内的其它参与者或人,这可以节省计算资源,否则将不必要地消耗这些计算资源。如本文(例如,参考图1和图2b)所述,视觉嵌入可以与本地存储在客户端设备上的多个视觉嵌入相比较,以标识用于附加参与者的对应一个的匹配视觉嵌入是否本地存储在客户端设备上。在一些附加和/或替代实现方式中,系统还可以基于处理视觉数据来标识对话中的附加参与者以确定在视觉数据中捕获的用户的身体姿势和/或头部姿势(例如,如关于图1所述的那样)。以这种方式,系统可以基于对应说话者嵌入和/或视觉嵌入来标识附加参与者中的每个参与者。
69.在框258a,系统确定一个或多个韵律特性。如本文(例如,参考图3和4a至图4f)所述,在框258a处确定的一个或多个韵律特性可以基于在框256a处所标识的对话中的一个或多个附加参与者而变化。在一些实现方式中,框258a可以包括一个或多个子框。在子框258a1处,系统可以基于给定用户和对话中的附加参与者之间的关系的一个或多个属性来确定一个或多个韵律特性。在子框258a2处,系统可以基于给定用户参与了与附加参与者的对话的客户端设备的位置的分类(例如家庭环境、工作环境、公共环境等)来确定韵律特性中的一个或多个。应当注意,一个或多个韵律特性可以基于在子框258a1、子框258a2处的确定和/或其它确定。韵律特性和韵律特性如何基于这些确定而变化的示例在本文(例如,参考图1、图3和4a至图4f)中更详细地描述。
70.在框260a处,系统生成包括合成语音的合成语音音频数据,该合成语音并入在框254a处所确定的文本段并且合成有在框258a处所确定的所述一个或多个韵律特性。在一些实现方式中,生成合成语音音频数据包括应用给定用户的说话者嵌入、文本段(或其音素)以及该一个或多个韵律特性作为跨语音合成模型(例如,图1的语音合成模型130a)的输入
来合成合成语音。在一些其它实现方式中,生成合成语音音频数据包括应用给定用户的说话者嵌入和文本段(或其音素)作为跨语音合成模型(例如,图1的语音合成模型130a)的输入来合成语音。在这些实现方式的一些进一步的版本中,所述一个或多个韵律特性可以在合成语音音频数据的后处理中使用,以在合成语音音频数据被生成之后修改合成语音音频数据,使得合成语音合成有所述一个或多个韵律特性。在任何实现方式中,所得到的合成语音音频数据和合成语音表示合成话音,该合成话音对于给定用户是特定的且唯一的,并且可以基于在框258a处确定的韵律特性而变化。注意,在各种实现方式中,可以省略框258,并且框260可以包括生成将具有韵律特性的合成语音,但是那些韵律特性将不是基于框258而确定的韵律特性(例如,它们可以是固定的)。
71.在框262a处,系统使得合成语音经由客户端设备和/或附加客户端设备的一个或多个扬声器来呈现。通过经由客户端设备和/或附加客户端设备的扬声器中的一个或多个呈现合成语音,该合成语音能够被对话中的附加参与者可听地感知。在用户界面输入是给定用户的口头输入的实现方式中,可以在给定用户提供口头输入之后呈现合成语音。在用户界面输入是给定用户的口头输入的一些其它实现方式中,可以在给定用户提供口头输入的同时呈现合成语音。此外,在一些实现方式中,可以在客户端设备的用户界面上转录和显示合成语音的文字转录。在这些实现方式的一些版本中,合成语音的文字转录可以是可选择的,并且当被选择时,系统使得合成语音经由客户端设备和/或附加客户端设备的扬声器中的一个或多个被再次呈现,从而允许给定用户重复合成语音而不必提供任何附加口头输入。
72.在框264a处,与上述图2b的块252b类似,系统监视客户端设备处的一个或多个其它用户的话音活动(即,除给定用户的话音之外的话音)。如果在框264a的迭代处,系统未检测到客户端设备处的其它用户(例如,至少包括对话中的附加参与者)的任何话音活动,则系统可以返回到框252a,并且以上述方式连续地监视给定用户的客户端设备处的附加用户界面输入和/或客户端设备处的一个或多个其它用户的话音活动。如果在框264a的迭代处,系统检测到客户端设备处的其它用户的话音活动,则系统可以绕过框252b并且前进到框254b。
73.现在转向图2b,在框254b处,系统标识对话中的附加参与者。系统可以以与关于图2a的框256a所描述的相同的方式来标识对话中的附加参与者。值得注意的是,并且如关于图2a的框256a所述,系统可以生成对话中的附加参与者的语音嵌入和/或视觉嵌入。在一些实现方式中(例如,如虚线所指示的),如果其它用户未被标识为对话中的附加参与者,诸如当在图2a的框264a处或图2b的框252b处检测到的话音活动是环境话音活动(例如,在客户端设备处检测到的话音活动,但未指向给定用户或来自给定用户和/或未指向或来自对话中的任何其它附加参与者)时,则系统可以返回到图2a的框252a或图2b的框252b,并且以上述方式连续地监视给定用户的客户端设备处的附加用户界面输入和/或客户端设备处的一个或多个其它用户的话音活动。以这种方式,系统可以标识检测到的话音活动的错误肯定,但是未指向给定用户或用户与附加参与者之间的对话的一部分。
74.在框256b处,系统转录其它用户的话音活动,并且在客户端设备的用户界面上显示文字转录作为话音活动的图形指示,该图形指示可以包括其它用户的语义指示或标识符。在一些实现方式中,仅当其它用户是对话中的附加参与者和/或其它用户是已知用户
时,系统才转录其它用户的话音活动(例如,如本文关于图2b的框258b所述的那样)。在这些实现方式的一些版本中,给定用户的客户端设备提供在客户端设备处检测到话音活动的指示,并且响应于接收到指向在客户端设备处检测到话音活动的指示的用户输入来呈现文字转录(例如,如关于图4e和图4f所述的那样)。在其它实现方式中,即使其它用户不是已知用户,系统也转录其它用户的话音活动。
75.在框258b,系统确定对话中的附加参与者是否是已知用户。如本文(例如,关于图2a的框256a和图2b的框254b)所述,系统可以基于在给定客户端设备处检测到的话音活动来生成附加参与者中的对应一个的说话者嵌入,并且系统可以生成附加用户中的对应一个在客户端设备处捕获的图像中的视觉嵌入。在一些实现方式中,系统可以通过将所生成的说话者嵌入与本地存储在给定用户的客户端设备(例如,图1的说话者嵌入数据库112a)上的多个说话者嵌入进行比较来确定对话中的附加参与者是已知用户。如果所生成的说话者嵌入在嵌入空间中在到所述多个说话者嵌入中的给定一个说话者嵌入的阈值距离内,则系统可以确定所生成的说话者嵌入与所述多个说话者嵌入中的给定一个说话者嵌入相匹配。基于确定所生成的说话者嵌入与所述多个说话者嵌入中的给定一个说话者嵌入相匹配,系统可以确定源自与所述多个说话者嵌入中的给定一个说话者嵌入相关联的对话中的对应附加参与者的话音活动。在一些附加和/或替代实现方式中,系统可以通过将所生成的视觉嵌入与本地存储在给定用户的客户端设备上的多个视觉嵌入进行比较来确定对话中的附加参与者是已知用户。如果所生成的视觉嵌入或其特征与所述多个视觉嵌入中的给定一个视觉嵌入相匹配(例如,如使用一个或多个图像处理技术所确定的),则系统可以确定所生成的视觉嵌入与所述多个视觉嵌入中的给定一个视觉嵌入相匹配。基于确定所生成的视觉嵌入与所述多个视觉嵌入中的给定一个视觉嵌入相匹配,系统可以确定源自与所述多个视觉嵌入中的给定一个视觉嵌入相关联的对话中的对应附加参与者的话音活动。
76.如果在框258b的迭代处,系统确定附加参与者中的给定一个附加参与者是未知用户,则系统可以前进到框260b。在框260b处,系统提示附加参与者中的给定一个附加参与者进行授权以存储所生成的语音嵌入和/或所生成的视觉嵌入。在一些实现方式中,可以在给定用户的客户端设备处视觉地和/或听觉地呈现提示,并且附加参与者中的给定一个附加参与者可以提供口头输入或触摸输入以授权在客户端设备处本地存储语音嵌入和/或视觉嵌入。在其它实现方式中,可以在附加参与者中的给定一个附加参与者的附加客户端设备处呈现提示。在这些实现方式的一些版本中,响应于经由一个或多个网络(例如,局域网、广域网、蓝牙、近场通信和/或其它网络)将提示从给定用户的客户端设备传送到附加参与者中的给定一个附加参与者的附加客户端设备,可以在附加客户端设备处呈现提示,作为弹出通知、文本消息、sms消息和/或其它通信信道。
77.在框262b处,系统确定附加参与者是否响应于在框260b呈现的提示而提供授权。如果在框262b的迭代处,系统确定附加参与者提供了授权,则系统可以前进到框264b。在框264b处,系统可以将所生成的语音嵌入和/或所生成的视觉嵌入与附加参与者相关联地本地存储在给定用户的客户端设备上。附加参与者的语音嵌入和/或视觉嵌入可以用于在与给定用户的未来对话中识别附加参与者。如果在框262b的迭代处,系统确定附加参与者没有提供授权,则系统可以前进到框266b。在框266b处,系统可以丢弃所生成的语音嵌入和/或所生成的视觉嵌入。从框264b和266b,系统可以前进到框268b。此外,如果在框258b的迭
代处,系统基于标识匹配语音嵌入和/或匹配视觉嵌入来确定附加参与者是已知用户,则系统也可以前进到框268b。
78.在框268b处,系统基于在给定用户的客户端设备处的附加用户界面输入来确定用于在对话中传达或提供的文本段。系统可以以与关于图2a的框254a描述的相同方式确定用于在对话中传达的文本段。值得注意的是,用于在框268b处的对话中传达的文本段响应于在图2a的框264a或图2b的框252b处检测到的附加参与者的话音活动,并且更具体地,响应于包括在话音活动中的附加口头用户输入。在框270b处,系统确定一个或多个韵律特性。系统可以以与关于图2a的框258a描述的相同方式确定一个或多个韵律特性。在框272b处,系统生成包括合成语音的合成语音音频数据,该合成语音并入文本段并且合成有韵律特性。系统可以以与关于图2a的框260a描述的相同方式生成包括合成语音的合成语音音频数据。在图2的框274b处,系统使得合成语音经由客户端设备和/或附加客户端设备的一个或多个扬声器来呈现。系统可以使得合成语音以与关于图2a的框262a所描述的相同方式呈现。
79.在框276b处,类似于上述图2a的框252a,系统监视给定用户在给定用户的客户端设备处的进一步用户界面输入。如果在框276b的迭代处,系统没有在给定用户的客户端设备处检测到给定用户的任何进一步的用户界面输入,则系统可以返回到框252b,并且以上述方式连续地监视给定用户的客户端设备处的附加用户界面输入和/或客户端设备处的一个或多个其它用户的话音活动。如果在框276b的迭代处,系统在给定用户的客户端设备处检测到给定用户的进一步的用户界面输入,则系统可以绕过框252a,并且前进到框254a。
80.因此,方法200a和200b允许给定用户在与一个或多个附加参与者的对话中动态地使用语音辅助。此外,通过基于给定用户和对话中的附加参与者之间的关系和/或基于给定用户的客户端设备的位置的分类来确定一个或多个韵律特性,从而可以针对给定用户将使用方法200a和200b的语音辅助生成的合成语音定制给对话中的附加参与者。因此,合成语音可以对于给定用户是特定的并且是唯一的,并且适于对话中的不同附加参与者和/或对话的不同环境。
81.图3描绘根据各种实现方式的示范本公开的各个方面的示例环境300中的场景。环境300包括参与了与附加参与者302的对话的给定用户301。尽管给定用户301和附加参与者302被描绘为都存在于环境300中,但是应当理解,这仅仅是为了便于解释,而不是要进行限制。例如,给定用户301可以存在于图3的环境中,而对话中的附加参与者302可以位于与图3的环境300在位置上不同的远程环境中。在该示例中,给定用户301可以经由电话呼叫、voip呼叫、视频聊天和/或包括音频数据的传输的其它形式的远程通信来参与与附加参与者302的对话。值得注意的是,在附加参与者302位于与图3的环境300中的给定用户301在位置上不同的环境中的实现方式中,语音辅助系统160仍可以促进给定用户301和对话中的附加参与者302之间的对话。
82.如本文(例如,参考图4a至图4f)更详细地描述的,给定用户301可以利用计算设备310a和/或给定用户301的客户端设备410来与语音辅助系统160交互。在一些实现方式中,语音辅助系统160可以在计算设备310a和/或给定用户301的客户端设备410上本地执行,以促进给定用户301和对话中的附加参与者302之间的对话。在其它实现方式中,语音辅助系统160可以在一个或多个服务器处远程执行,并且数据可以由计算设备310a和/或给定用户301的客户端设备410通过网络(例如,图1的网络190)传送到一个或多个服务器,和/或可以
在计算设备310a和/或给定用户301的客户端设备410处通过网络从一个或多个服务器接收。在那些实现方式的一些版本中,通过网络发送和/或接收的数据可以包括例如要被包括在合成语音中的文本段、针对给定用户301的说话者嵌入、针对合成语音的一个或多个韵律特性、合成语音音频数据和/或其它数据。
83.语音辅助系统160可以生成包括表示给定用户301的语音的合成语音的合成语音音频数据,并且该合成语音可以由计算设备310a如声波376所指示地可听地呈现,和/或由给定用户301的客户端设备410如声波476所指示地可听地呈现,和/或视觉地呈现在计算设备310a的用户界面380a上和/或给定用户301的客户端设备410的用户界面480上。合成语音可以包括基于在计算设备310a处检测到的和/或在给定用户301的客户端设备410处检测到的用户界面输入而确定的文本段。此外,合成语音可以使用本地存储在计算设备310a和/或给定用户301的客户端设备410上的给定用户301的说话者嵌入来生成,并且可以合成有由语音辅助系统160所确定的一个或多个韵律特性。如本文(例如,参考图4a至图4f)更详细描述的,所述一个或多个韵律特性可以基于环境300的位置的分类、给定用户301和对话中的附加参与者302之间的关系的至少一个属性、和/或给定用户301和对话中的附加参与者302之间的对话的语义来确定。因此,基于给定用户301的说话者嵌入,合成语音对于给定用户301是唯一的,并且所述一个或多个韵律特性基于环境300的位置的分类、给定用户301和对话中的附加参与者302之间的关系、以及给定用户301和对话中的附加参与者302之间的对话的语义而变化。当给定用户301是语音受损用户时,本文描述的技术可以是有利的。
84.参考图4a至图4f,根据各种实现方式,在建立用于给定用户的语音嵌入以及生成合成有一个或多个韵律特性的合成语音时所利用的用户界面的各种非限制性示例。图3的给定用户301的客户端设备410被描绘并且包括用户界面480。尽管图4a至图4f的技术被描绘为由图3的给定用户301的客户端设备410来实现,但是应当理解,这仅仅是为了便于解释,而不是意味着限制。例如,图4a至图4f的技术可可以附加地和/或可选地由一个或多个其它设备(例如,图3的计算设备310a、图5的计算设备510、其它用户的计算设备、和/或其它计算设备)来实现。客户端设备410的用户界面480包括可以由给定用户301交互以使得客户端设备410执行一个或多个动作的各种系统界面元素491、492和493(例如,硬件和/或软件界面元素)。此外,客户端设备410的用户界面480使得给定用户301能够通过触摸输入(例如,通过将用户输入引导到用户界面480或其部分)和/或通过口头输入(例如,通过选择麦克风界面元素494或仅通过讲话而不必选择麦克风界面元素494)与在用户界面480上呈现的内容交互(即,至少部分地在客户端设备410上执行的自动化助理可以在客户端设备410处监视一个或多个术语或短语、手势注视、嘴部移动、唇部移动和/或其它条件以激活口头输入)。
85.在一些实现方式中,客户端设备410的用户界面480可以包括标识对话中的每个参与者的图形元素。对话中的参与者可以以各种方式例如本文描述的任何方式(例如,说话者嵌入、视觉嵌入、身体姿势和/或头部姿势、和/或其它方式)来标识。如贯穿图4a至图4f所描绘的,图形元素462a对应于自动化助理,图形元素462t对应于tim,图形元素462r对应于randy,图形元素462j对应于jim,图形元素462u对应于未知用户,而图形元素462s对应于stan。在那些实现方式的一些版本中,标识对话中的参与者的这些图形元素可以与来自自动化助理的对应提示(例如,如图4a中所描绘的)、和/或来自客户端设备410的给定用户301
的用户界面输入的文字转录和对话中的附加参与者的附加用户口头输入的文字转录(例如,如图4b至图4f中所描绘的)一起被视觉地呈现。在那些实现方式的一些附加和/或替代版本中,标识对话中的参与者的这些图形元素可以在客户端设备410的用户界面480的顶部部分处视觉地呈现。尽管这些图形元素被描绘为在客户端设备410的用户界面480的顶部部分处视觉地呈现,但是应当注意,这不意味着是限制性的,并且这些图形元素可以在用户界面480的侧部部分或用户界面480的底部部分上呈现。此外,在那些附加和/或替代实现方式的一些版本中,图形元素462也可以与标识对话的参与者的这些图形元素一起被呈现在用户界面480的顶部处。图形元素462在被选择时可以使得客户端设备410的给定用户301能够向对话添加附加参与者。例如,当选择图形元素462时,给定用户301的联系人列表可以在用户界面480上呈现,并且联系人中的一个或多个可以被添加到对话,已知用户列表可以在用户界面480上呈现,并且已知用户中的一个或多个可以被添加到对话,和/或用于手动地向对话添加附加参与者的其它技术。
86.首先参考图4a,可以建立客户端设备410的给定用户301的说话者嵌入。在一些实现方式中,给定用户301的说话者嵌入可以如本文(例如,关于图1的标识引擎112)所述来生成,并且可以在生成表示给定用户301的语音的合成语音时使用。在那些实现方式的一些版本中,至少部分地在客户端设备410上执行的自动化助理可以使得多个提示经由客户端设备410和/或附加计算设备(例如,图3的计算设备310a)的扬声器可听地和/或经由客户端设备410的用户界面480视觉地呈现。所述多个提示可以是给定用户301与自动化助理之间的对话的一部分,并且这些提示中的每一个可以请求来自客户端设备410的给定用户301的口头输入。此外,可以经由客户端设备410的一个或多个麦克风检测来自给定用户301的响应于所述提示中的每一个的口头输入。在一些实现方式中,给定用户301可以通过将用户界面输入引导到图形元素499而循环通过提示中的每一个,其中该图形元素在被选择时使得自动化助理呈现后续提示。在一些实现方式中,自动化助理可以连续地使得在客户端设备410处呈现提示,直至建立客户端设备410的给定用户301的说话者嵌入为止。在一些其它实现方式中,自动化助理可以连续使得在客户端设备410处呈现提示,直至已呈现阈值数量的提示为止。
87.例如,自动化助理可以使得在客户端设备410处呈现“could you introduce yourself(你是否能介绍你自己)?”的提示,并且客户端设备可以响应于呈现提示452a1而检测来自给定用户301的“hello,i’m tim,nice to meet you(您好,我是蒂姆,很高兴见到您)”的口头输入454a1。为了简单起见,在图4a至图4f中,客户端设备410的给定用户301通常被称为“tim(蒂姆)”。此外,自动化助理还可以使得在客户端设备410处呈现“nice to meet you as well.where are you from(很高兴见到您。你从哪里来)?”的另一提示。当客户端设备410检测到来自tim的进一步的口头输入时,“i was born in denver,co,but i moved to louisville,ky when i was...(我出生在科罗拉多州丹佛,但当我
……
时我搬到肯塔基州路易斯维尔)”的进一步的口头输入的文字转录470可以由客户端设备410显示。值得注意的是,该进一步的口头输入的文字转录470是不完整的(例如,如省略号472和光标474所指示的),并且tim可以通过在该进一步的口头输入完成的任何指示(例如,端点指示和/或用于检测口头输入完成的其它技术)之前提供指向文本段用户界面481的触摸输入和/或口头输入来编辑文字转录470的任何部分。自动化助理可以使得在客户端设备410处
呈现进一步的提示,直至建立tim的说话者嵌入。例如,自动化助理还可以使得客户端设备410呈现笑话,并且可以将响应于该笑话的tim的笑声并入到tim的语音嵌入中。
88.此外,在一些实现方式中,自动化助理可以在客户端设备410的用户界面480上呈现对应于候选说话者嵌入的多个表示,给定用户可以收听与候选说话者嵌入中的每一个相关联的合成语音,并且客户端设备410可以接收候选说话者嵌入中的给定一个候选说话者嵌入的选择。然后,所选择的候选说话者嵌入可以与客户端设备110的给定用户相关联地存储,可以用于生成表示客户端设备的给定用户的语音的合成语音。例如,假设客户端设备410呈现与深沉男声相关联的第一表示、与具有南方口音的男声相关联的第二表示、以及与具有中西部口音的男声相关联的第三表示。进一步假设tim收听与每个表示相关联的合成语音,并且选择第三表示。然后,与第三表示相关联的说话者嵌入可以与tim相关联地存储,并且用于生成表示语音tim的语音的合成语音。因此,在这些实现方式中,tim可以通过用户界面输入来指定代表tim的用于语音合成的期望话音,其中期望话音不符合tim的实际话音。在一些附加和/或替代实现方式中,自动化助理可以响应于提示基于客户端设备410的用户界面480来确定客户端设备410的给定用户的说话者嵌入。自动化助理可以经由客户端设备410的用户界面480来呈现请求确认所确定的说话者嵌入的附加提示,所确定的说话者嵌入可以与客户端设备410的给定用户相关联地存储,并且可以用于生成表示客户端设备410的给定用户的语音的合成语音。例如,基于指示tim当前生活在中西部(例如,肯塔基州路易斯维尔)中的文字转录470,自动化助理可以确定与中西部口音相关联的说话者嵌入应当被指派给tim,并且可以提示tim确认与中西部口音相关联的说话者嵌入。响应于接收到对tim的确认,可以与tim相关联地存储说话者嵌入。此外,在存储说话者嵌入之前,客户端设备410的给定用户可以通过在嵌入空间中四处移动说话者以生成说话者嵌入的各种修改来编辑说话者嵌入。通过建立tim的说话者嵌入,客户端设备410可以通过基于tim的说话者嵌入来生成表示tim的语音的合成语音来对tim的话音进行建模。
89.如本文所述,合成语音可以合成有一个或多个韵律特性。例如,参考图4b,假设图3的附加参与者302是randy,randy是tim的老板(例如,使用图1的关系引擎141和/或基于存储在图1的关系属性数据库中的属性来确定),并且环境300被分类为工作环境(例如,使用环境引擎142基于客户端设备410的指示tim正处于与其工作相关联的位置的传感器数据(例如gps传感器数据)来确定)。进一步假设客户端设备410确定与在客户端设备410处检测到的附加用户口头输入相对应的文本段452b1“how was the meeting today(今天的会议怎么样)?”,并且经由用户界面480呈现文本段452b1。在一些实现方式中,客户端设备410可以通过基于附加用户口头输入生成说话者嵌入并且通过将所生成的说话者嵌入与本地存储在客户端设备410(例如,图1的语音嵌入数据库112a)上的多个说话者嵌入进行比较来标识与randy相关联的匹配说话者嵌入,从而确定与文本段452b1相对应的附加用户口头输入是源自randy的。在一些附加和/或替代实现方式中,客户端设备可以通过使用客户端设备410的一个或多个视觉传感器捕获包括randy的图像来确定randy是对话中的附加参与者,并且该图像是响应于指向图形元素495的用户界面输入而捕获的。客户端设备410可以处理图像以生成与randy相关联的视觉嵌入,并且通过将所生成的视觉嵌入与本地存储在客户端设备410(例如,图1的视觉嵌入数据库112b)上的多个视觉嵌入进行比较来标识与randy相关联的匹配视觉嵌入。
90.此外,客户端设备410可以检测来自tim的“it went very well,we are back on track to finish the project by the 17
th
(运行良好,我们又回到了17号完成这项工程的轨道上)”的用户界面输入。假设用户界面输入是来自tim的口头输入,则客户端设备410可以使用一个或多个语音识别模型(例如,图1的语音识别模型120a)来处理该用户界面输入,以确定与来自tim的用户界面输入相对应的“it went very well,we are back on track to finish the project by the 17
th”。此外,客户端设备410可以基于附加参与者为randy(例如,tim的老板),基于将tim和randy之间的对话的环境分类为工作环境,并且基于对话的语义(例如,tim的老板询问工作会议),来确定第一组韵律特性454b1b。因此,客户端设备410可以响应于在客户端设备410处从tim接收到用户界面输入,生成并且可听地呈现(例如,如声波476所指示的,并且使用客户端设备410和/或附加计算设备(例如,图3的计算设备310a)的扬声器)合成语音,该合成语音包括文本段454b1a并且合成有第一组韵律特性454b1b。此外,指向文本段454b1a的用户界面输入可以使得合成语音被再次可听地呈现,而不需要tim提供任何附加口头输入。
91.相反,并且参考图4c,假设图3的附加参与者302是jim,jim是tim的朋友(例如,使用图1的关系引擎141和/或基于存储在图1的关系属性数据库中的属性来确定),并且环境300被分类为家庭环境(例如,使用环境引擎142基于客户端设备410的指示tim正处于与他的家庭相关联的位置的传感器数据(例如gps传感器数据)来确定)。进一步假设客户端设备410确定与客户端设备410处检测到的附加用户口头输入相对应的文本段452c1“how was the meeting today?”,并且经由用户界面480呈现文本段452c1。在一些实现方式中,客户端设备410可以通过基于附加用户口头输入生成说话者嵌入并且通过将所生成的说话者嵌入与本地存储在客户端设备410(例如,图1的语音嵌入数据库112a)上的多个说话者嵌入进行比较来标识与jim相关联的匹配说话者嵌入,从而确定与文本段452c1相对应的附加用户口头输入是源自jim的。在一些附加和/或替代实现方式中,客户端设备可以通过使用客户端设备410的一个或多个视觉传感器捕获包括jim的图像来确定jim是对话中的附加参与者,其中该图像是响应于指向图形元素495的用户界面输入而捕获的。客户端设备410可以处理图像以生成与jim相关联的视觉嵌入,并且通过将所生成的视觉嵌入与本地存储在客户端设备410(例如,图1的视觉嵌入数据库112b)上的多个视觉嵌入进行比较来标识与jim相关联的匹配视觉嵌入。
92.此外,客户端设备410可以检测来自tim的“it went very well,we are back on track to finish the project by the 17th”的用户界面输入。假设用户界面输入是口头输入,则客户端设备410可以使用一个或多个语音识别模型(例如,图1的语音识别模型120a)来处理用户界面输入以确定与来自tim的用户界面输入相对应的“it went very well,we are back on track to finish the project by the 17th”的文本段454c1a。此外,客户端设备410可以基于附加参与者为jim(例如,tim的朋友)、基于tim和jim之间的对话环境被分类为家庭环境、并且基于对话的语义(例如,tim的朋友询问工作会议)来确定第二组韵律特性454c1b。因此,客户端设备410可以基于图4a中建立的tim的语音嵌入(例如,使用图1的语音合成模型130a)来生成合成语音音频数据,该合成语音音频数据包括文本段454c1a并且合成有第二组韵律特性454c1b。客户端设备410可以响应于在客户端设备410处接收到用户界面输入而可听地呈现(例如,如声波476所指示的并且使用客户端设备410和/
或附加计算设备(例如,图3的计算设备310a)的扬声器)包括在合成语音音频数据中的合成语音。此外,指向文本段454c1a的用户界面输入可以使得合成语音被再次可听地呈现,而不需要tim提供任何附加口头输入。
93.值得注意的是,对应于来自randy的文本段452b1的附加用户口头输入和对应于来自jim的文本段452c1的附加用户口头输入都询问“how was the meeting today?”,并且基于来自tim的用户界面输入的文本段454b1a和454c1a是相同的。然而,使用不同组韵律特性(例如,图4b中的第一组韵律特性和图4c中的第二组韵律特性)生成图4b和4c中的合成语音。韵律特性的这种差异可以基于不同关系(例如,老板相对于朋友)、不同环境(例如,家庭环境相对于工作环境)和/或对话的语义(例如,老板提问问题相对于朋友提问问题),并且这种差异指示第一组韵律特性454b1b中的至少一个韵律特性不同于第二组韵律特性454c1b。例如,图4b的第一组韵律特性可以包括单调的音调、没有情绪、一致的节奏、和/或其它韵律特性,以反映在tim与他的老板randy说话时更专业的语音(例如,也如以句号结束的文本段454b1b所示)。相反,图4c的第二组韵律特性可以包括激动的音调、更多的情绪、变化的节奏、和/或其它的韵律特性,以反映在tim与他的朋友jim一起说话时更随意的语音(例如,也如以感叹号结束的文本段454c1b所示)。
94.在一些实现方式中,当在客户端设备410处检测到附加用户口头输入时,韵律特性用户界面482可以可选地经由客户端设备410的用户界面480视觉地呈现(例如,如图4b至图4d中虚线所示)。在其它实现方式中,响应于检测到分别指向图4b和4c中的图形元素462r和462j的用户界面输入(例如,触摸输入或口头输入),韵律特性用户界面482可以经由客户端设备410的用户界面480视觉地呈现。韵律特性用户界面482可以包括例如具有指示符444的标尺442,该指示符指示由客户端设备410生成的任何合成语音相对于附加参与者“非正式的”、“中性的”或“正式的”的程度如何。例如,图4b中的指示符444指示由客户端设备410生成的指向randy的任何合成语音都将是更正式的。相反,图4c中的指示符444指示由客户端设备410生成的指向jim的任何合成语音将是更非正式的。在那些实现方式的一些版本中,指示符444可以响应于指向指示符444的用户界面输入而能够沿着标尺442滑动。当指示符444沿着标尺442调整时,韵律特性组中的至少一个韵律特性被调整以反映该调整。例如,如果指示符444在标尺442上被调整以反映更非正式的语音,则随后由客户端设备410生成的指向randy的任何合成语音包括更激动的音调(与单调音调相比),但是仍然不包括与由客户端设备410生成的指向jim的合成语音一样多的情绪。因此,可以在标尺442上调整指示符444,以相对于对话中的给定附加参与者修改韵律特性组中的至少韵律特性。尽管图4b至图4d被描绘为具有标尺442和指示由客户端设备410生成的任何合成语音如何“非正式的”、“中性的”或“正式的”的指示符444,但是应当理解,这仅是为了便于解释而不意味着是限制性的。例如,标尺442和指示符444可以指示合成语音将会“专业的”或“随意的”的程度如何,合成语音将会“友好的”或“敌对的”的程度如何等。
95.此外,在那些实现方式的一些版本中,韵律特性用户界面482可以包括“more...(更多......)”可选元素446,当被选择时,使得多个韵律特性被呈现在韵律特性用户界面482上。韵律特性可以与对应标尺和指示符(例如,像标尺442和指示符444)、用于输入每个韵律特性的值的字段、用于启用或禁用某些韵律特性的字段、和/或用于允许单独地调整韵律特性的其它技术一起呈现。例如当选择“more...”可选元素446时,则可以经由韵律特性
用户界面482在客户端设备410上视觉地呈现“语调”、“音调”、“重音”、“节律”、“节奏”、“音高”、“停顿”和/或其它韵律特性中的每一个的指示以及对应的标尺和指示符。作为另一示例,当选择“more...”可选元素446时,则可以经由韵律特性用户界面482在客户端设备410上视觉地呈现“语调”、“音调”、“重音”、“节律”、“节奏”、“音高”、“停顿”和/或其它韵律特性中的每一个的指示以及允许启用或禁用对应韵律特性的每个韵律特性的对应字段。
96.具体参考图4b,进一步假设客户端设备确定与来自randy的进一步附加用户口头输入相对应的“good work,thanks for covering for me while i was sick(干得好,谢谢你在我生病的时候帮我带班)”的文本段452b2,并且经由用户界面480呈现文本段452b2。如本文所述,在一些实现方式中,响应于在客户端设备410处检测到的附加参与者的口头输入的建议可以仅响应于确定客户端设备410的给定用户是口头输入的预期目标而被呈现。在一些实现方式中,客户端设备410可以生成一个或多个建议456b1-456b4,其中每个建议包括响应于来自randy的进一步附加用户口头输入的对应候选文本段。所述一个或多个建议456b1-456b4可以经由文本段用户界面481在客户端设备410上被视觉地呈现。客户端设备410可以使用如本文更详细描述的自动建议引擎(例如,关于图1的自动建议引擎150)来生成所述一个或多个建议。在这些实现方式的一些版本中,建议456b1-456b4中的一个或多个可以比其它建议456b1-456b4更显著地视觉呈现。建议456b1-456b4中的给定一个建议可以基于建议456b1-456b4的排名而被更显著地呈现,其中排名可以由自动建议引擎(例如,图1的自动建议引擎150)来确定。例如,图4b中的建议456b1-456b4被描绘为气泡,并且第一建议456b1被描绘为最大气泡,第二建议456b2被描绘为第二大气泡,以此类推。当在客户端设备410处接收到指向建议456b1-456b4中的一个的进一步用户界面输入时,客户端设备410可以使用图4a中建立的tim的语音嵌入来生成合成语音,该合成语音包括所选择的建议的候选文本段并且合成有韵律特性组。值得注意的是,在响应于进一步附加用户口头输入而生成合成语音时所使用的韵律特性组可以不同于第一组韵律特性454b1b。例如,韵律特性组可以包括比第一组韵律特性454b1b更多的情绪和更多的强调,以反映tim的向从疾病恢复的randy的同感。因此,即使附加参与者(例如,randy)和环境(例如,工作环境)保持相同,韵律特性也可以在给定对话内变化。应注意,除了或代替选择建议456b1-456b4中的一个,还提供了进一步的口头输入,并且建议456b1-456b4仅是为了便于解释而提供的,而不是限制性的。
97.具体参考图4c,进一步假设客户端设备410确定与来自jim的进一步附加用户口头输入相对应的文本段452c2“great to hear!we should celebrate when the project is done(好极了!项目完成时我们应该庆祝)”,并且经由用户界面480呈现文本段452c2。如本文所述,在一些实现方式中,响应于在客户端设备410处检测到的附加参与者的口头输入的建议可以仅响应于确定客户端设备410的给定用户是口头输入的预期目标而被呈现。在一些实现方式中,客户端设备410可以生成一个或多个建议456c1-456c4,每个建议包括响应于来自jim的进一步附加用户口头输入的对应候选文本段。所述一个或多个建议456c1-456c4可以经由文本段用户界面481在客户端设备410上被视觉地呈现。客户端设备410可以使用如本文更详细描述的自动建议引擎(例如,关于图1的自动建议引擎150)来生成所述一个或多个建议。在这些实现方式的一些版本中,建议456c1-456c4中的一个或多个可以比其它建议456c1-456c4更显著地视觉地被呈现。建议456c1-456c4中的给定建议可以基于建议
456c1-456c4的排名而被更显著地呈现,其中排名可以由自动建议引擎(例如,图1的自动建议引擎150)来确定。例如,图4c中的建议456c1-456c4被描绘为气泡,并且第一建议456c1被描绘为最大气泡,第二建议456c2被描绘为第二大气泡,以此类推。当在客户端设备410处接收到指向建议456c1-456c4中的一个的进一步用户界面输入时,客户端设备410可以使用图4a中建立的tim的语音嵌入来生成合成语音,该合成语音包括所选择的建议的候选文本段并且合成有韵律特性组。值得注意的是,在响应于进一步附加用户口头输入而生成合成语音中所使用的韵律特性组可以不同于第二组韵律特性454c1b。例如,该韵律特性组可以包括比第二组韵律特性454c1b更重的强调和更大的响度,以反映tim的完成项目的兴奋和与他的朋友jim一起度过时间的期望。因此,即使附加参与者(例如,jim)和环境(例如,家庭环境)保持相同,韵律特性也可以在给定对话内变化。应注意,除了或代替选择建议456c1-456c4中的一个,还提供了进一步口头输入,并且建议456c1-456c4仅是为了便于解释而提供的,而不是限制性的。
98.现在转到图4d,在客户端设备410处检测未知用户的附加用户口头输入,并且提示未知用户授权存储未知用户的说话者嵌入和/或视觉嵌入。通过存储未知用户的说话者嵌入和/或视觉嵌入,该未知用户可以成为已知用户,并且将来当在客户端设备410处检测到与该说话者嵌入匹配的话音活动时和/或当在客户端设备410处的图像中捕获与该视觉嵌入匹配的视觉嵌入时,该未知用户会被识别。在一些实现方式中,自动化助理可以提示未知用户授权在客户端设备410处存储对应话音嵌入和/或视觉嵌入(例如,如关于图2b所述的那样)。在一些附加和/或替代实现方式中,自动化助理可以提示未知用户授权在附加客户端设备处存储对应话音嵌入和/或视觉嵌入。在那些实现方式的一些版本中,提示可以通过网络(例如,图1的网络190)从客户端设备410传送到附加客户端设备,并且(例如,经由图3中的附加参与者302的附加客户端设备310b的用户界面380b)在附加客户端设备的用户界面上呈现。客户端设备410可以响应于提示而从未知用户接收指示说话者嵌入和/或视觉嵌入是否可以本地存储在客户端设备410上的输入(例如,触摸输入或口头输入)。如果客户端设备接收到指示可以存储说话者嵌入和/或视觉嵌入的输入,则未知用户成为已知用户,并且说话者嵌入和/或视觉嵌入可以与该已知用户相关联地本地存储在客户端设备410处。如果客户端设备接收到指示说话者嵌入和/或视觉嵌入不能被存储的输入,则未知用户仍然是未知用户并且说话者嵌入和/或视觉嵌入可以被丢弃。
99.例如,如图4d所示,假设客户端设备410确定与在客户端设备410处检测到的来自tim的朋友jim的附加用户口头输入相对应的“hey tim,i want you to meet my friend stan(嘿,蒂姆,我相要你见我的朋友斯坦)”的文本段452d1,并且经由用户界面480呈现文本段452d1。客户端设备410可以基于来自jim的附加用户口头输入来生成说话者嵌入,并且可以基于如本文(例如,参考图2b、图4b和图4c)所述标识本地存储在客户端设备410上的匹配说话者嵌入来确定与源自jim的文本段452d1相对应的附加用户口头输入。进一步假设客户端设备410确定与在客户端设备410处检测到的来自jim的朋友stan的附加用户口头输入相对应的“nice to meet you,tim(很高兴见到你,蒂姆)”的文本段454d1,并且经由用户界面480呈现文本段454d1。客户端设备410可以基于来自stan的附加用户口头输入来生成说话者嵌入,并且可以基于标识出不存在本地存储在客户端设备410上的匹配说话者嵌入来确定与源自未知用户的文本段452d2相对应的附加用户口头输入,如本文(例如,参考图2b、
图4b和图4c)所述。尽管图4d在本文中关于使用说话者嵌入来标识对话中的附加参与者来描述,但是应当理解,该附加参与者也可以基于视觉嵌入来标识(例如,当响应于如本文所述的指向图形元素495的用户界面输入来捕获附加参与者的图像时)。此外,在一些实现方式中,如果客户端设备410接收到存储未知用户的对应说话者嵌入的授权,则客户端设备410还可以呈现请求未知用户的图像的提示,使得除了未知用户的说话者嵌入之外,还可以建立未知用户的视觉嵌入。
100.此外,基于确定对应于源自未知用户的文本段452d2的附加用户口头输入,自动化助理可以生成“hi stan,can i store your speaker embedding locally on this device to recognize you in the future(嗨,斯坦,我可以把你的说话者嵌入存储在该设备上以在未来识别你吗)?”的提示,并且可以由客户端设备410或未知用户的附加客户端设备(例如,图3的附加客户端设备310b)可听地和/或视觉地呈现提示456d1。进一步假设客户端设备410确定与在客户端设备410处检测到的来自stan的进一步附加用户口头输入相对应的“yes(是)”的文本段454d2,并且经由用户界面480呈现文本段454d2。因此,基于客户端设备410从stan接收授权,如文本段454d2所指示的,客户端设备410可以将stan的说话人嵌入与stan相关联地本地存储在客户端设备(例如,图1的说话人嵌入数据库112a)处,并且stan可以成为客户端设备410的已知用户。此外,客户端设备410可以利用stan的说话者嵌入来标识未来源自stan的任何附加用户口头输入。
101.此外,客户端设备410可以检测来自tim的“very nice to meet you,stan(很高兴见到你,斯坦)”的用户界面输入。假设该用户界面输入是口头输入,则客户端设备410可以使用一个或多个语音识别模型(例如,图1的语音识别模型120a)来处理用户界面输入以确定与来自tim的口头输出相对应的“very nice to meet you,stan!”的文本段458d1a。此外,客户端设备410可以至少基于附加参与者为jim(例如,tim的朋友)以及stan(例如,jim的朋友)两者而确定第三组韵律特性458d1b。因此,客户端设备410可以响应于在客户端设备410处接收到用户界面输入而生成并且可听地呈现(例如,如声波476所指示的,并且使用客户端设备410和/或附加计算设备(例如,图3的计算设备310a)的扬声器)合成语音,该合成语音包括文本段458d1a并且合成有第三组韵律特性458d1b。此外,指向文本段458d1a的用户界面输入可以使得合成语音再次可听地呈现,而不需要tim提供任何附加口头输入。
102.此外,在一些实现方式中,当在对话中存在多个附加参与者时,客户端设备410可以在生成合成语音时利用来自所述多个附加参与者中的每一个的不同组韵律特性之中的更“正式的”的韵律特性组。例如,即使图4d中描述的对话包括tim的朋友jim,第三组韵律特性458d1b比当tim仅与tim进行对话时所使用的第二组韵律特性454c1b更“正式”(例如,如通过比较图4c和图4d的指示符444所指示的)。在该示例中,即使stan是jim的朋友,tim和stan也刚认识,并且客户端设备410可以对未知用户和/或客户端设备410最近刚认识的用户利用更“正式”的一组默认韵律特性(例如,第三组韵律特性458d1b)。在一些其它实现方式中,当在对话中存在多个附加参与者时,客户端设备410可以在生成合成语音时从针对该多个附加参与者中的每一个的不同组韵律特性中对韵律特性组进行平均。例如,假设第二组韵律特性454c1b与jim相关联,并且假设第一组韵律特性454b1b与stan相关联,其中该第一组韵律特性454b1b作为用于未知用户和/或客户端设备410最近刚认识的用户的一组默认韵律特性。在该示例中,图4d的指示符444指示第三组韵律特性458d1b是第一组韵律特性
454b1b(例如,如图4b的指示符444所示)和第二组韵律特性454c1b(例如,如图4c的指示符444所示)的平均值。
103.此外,在一些实现方式中,可以随着时间调整与对话中的给定附加参与者相关联的韵律特性。例如,假设tim亲自或经由电话呼叫、文本消息收发、sms消息收发、电子邮件和/或其它形式的通信来参与了与stan的进一步对话。随着tim参与了与stan的这些进一步对话,与stan相关联的韵律特性可以被调整为更随意和/或非正式,以反映它们的关系随时间的变化。以这种方式,在生成合成语音中使用的韵律特性组可以在整个给定对话中基于给定对话中的多个附加参与者中的每一个来调整,并且还可以基于关系随时间的演变来调整。
104.现在转到图4e和图4f,在客户端设备410的用户界面480上描绘了锁定屏幕(例如,如由客户端设备410的用户界面480上的时间和日期信息所指示的)。在一些实现方式中,当客户端设备410被锁定时,客户端设备410仍然可以检测附加用户口头输入。在那些实现方式的一些版本中,如果附加用户是已知用户,诸如tim的朋友jim,则附加用户的指示可以被呈现在锁定屏幕上,诸如图4e中的图形元素462j。此外,图形元素464可以被呈现在客户端设备410的用户界面480上。当选择图形元素464时,客户端设备410可以使得附加用户口头输入的文字转录被显示在客户端设备410的锁定屏幕上(例如,如图4f中所描绘的),或者使得客户端设备410被解锁并且经由用户界面480显示文字转录(例如,如图4a至图4d中所描绘的)。
105.例如,假设客户端设备410检测到指向图形元素464的用户界面输入,确定与在客户端设备410处检测到来自jim的附加用户口头输入相对应的“what did you think of the new acme movie(你觉得这部新acme电影怎么样)?”的文本段452f1,并且经由用户界面480呈现文本段452f1。如图4f所描述的,客户端设备410确定与响应于来自jim的附加用户口头输入的来自tim的口头输入相对应的文字转录470,并且经由文本段用户界面481来呈现该文字转录。值得注意的是,该进一步口头输入的文字转录470是不完整的(例如,如省略号472和光标474所指示的),并且可以通过在该进一步口头输入完成的任何指示(例如,端点指示和/或用于检测口头输入完成的其它技术)之前提供指向文本段用户界面481的触摸输入和/或口头输入来编辑文字转录470的任何部分。此外,包括候选文本段的第一建议454f1可以与文字转录470一起被视觉地呈现。客户端设备410可以使用如本文更详细描述的自动建议引擎(例如,关于图1的自动建议引擎150)来生成第一建议454f1。此外,建议454f2还可以与文字转录470和第一建议454f2一起被视觉地呈现,并且当被选择时,可以使得附加建议经由文本段用户界面481被视觉地呈现。当在客户端设备410处接收到指向第一建议454f1的进一步用户界面输入时,客户端设备410可以将第一建议454f2(例如,“it was really good(它确实是好的)!”)的候选文本段包括到文字转录470中,或者客户端设备410可以使用图4a中建立的tim的话音嵌入来生成合成语音,该合成语音包括候选文本段(例如,代替文字转录470中包括的文本段)并且合成有如本文所述的韵律特性组。在客户端设备410在客户端设备被锁定时在用户界面480上呈现文本段452f1和文字转录470的实现方式中,用户界面输入可以在指向图形元素499时使客户端设备410返回到图4e中所示的锁定屏幕。
106.图5是可以可选地被利用来执行本文描述的技术的一个或多个方面的示例计算设
备510的框图。在一些实现方式中,客户端设备、基于云的自动化助理组件和/或其它组件中的一个或多个可以包括示例计算设备510的一个或多个组件。
107.计算设备510通常包括经由总线子系统512与许多外围设备进行通信的至少一个处理器514。这些外围设备可以包括存储子系统524(包括例如存储器子系统525和文件存储子系统526)、用户界面输出设备520、用户界面输入设备522和网络接口子系统516。输入和输出设备允许用户与计算设备510交互。网络接口子系统516提供到外部网络的接口并且耦合到其它计算设备中的对应的接口设备。
108.用户界面输入设备522可以包括键盘、指点设备(诸如鼠标、轨迹球、触摸板或图形平板)、扫描器、并入到显示器中的触摸屏、音频输入设备(诸如话音辨识系统、麦克风)和/或其它类型的输入设备。通常,术语“输入设备”的使用旨在包括所有可能类型的设备以及用于将信息输入到计算设备510中或者通信网络上的方式。
109.用户界面输出设备520可以包括显示子系统、打印机、传真机或非视觉显示器(诸如音频输出设备)。显示子系统可以包括阴极射线管(crt)、平板设备(诸如液晶显示器(lcd))、投影设备或用于创建可见图像的某种其它机制。显示子系统还可以例如经由音频输出设备提供非视觉显示。通常,术语“输出设备”的使用旨在包括所有可能类型的设备以及用于从计算设备510向用户或者向另一机器或计算设备输出信息的方式。
110.存储子系统524存储提供本文描述的模块中的一些或全部的功能的编程和数据构造。例如,存储子系统524可以包括用于执行本文公开的方法的所选方面以及用于实现图1中描绘的各种组件的逻辑。
111.这些软件模块通常由处理器514单独或者与其它处理器相结合地执行。存储子系统524中使用的存储器525可以包括许多存储器,包括用于在程序执行期间存储指令和数据的主随机存取存储器(ram)530以及存储有固定指令的只读存储器(rom)532。文件存储子系统526可以为程序和数据文件提供持久存储,并且可以包括硬盘驱动器、软盘驱动器以及相关联的可移动介质、cd-rom驱动器、光驱或可移动介质盒。实现某些实现方式的功能性的模块可以由文件存储子系统526存储在存储子系统524中,或者存储在能够由处理器514访问的其它机器中。
112.总线子系统512提供用于让计算设备510的各个组件和子系统按预期彼此通信的机制。尽管总线子系统512被示意性地示出为单条总线,但是总线子系统512的替代实现方式可以使用多条总线。
113.计算设备510可以是各种类型,包括工作站、服务器、计算集群、刀片服务器、服务器场或任何其它数据处理系统或计算设备。由于计算机和网络的不断变化的性质,对图5中描绘的计算设备510的描述仅作为具体示例意在用于图示一些实现方式的目的。计算设备510的许多其它配置可能具有比图5中描绘的计算设备更多或更少的组件。
114.在本文描述的系统收集或以其它方式监视关于用户的个人信息或可以利用个人和/或监视的信息的情况下,可以向用户提供机会来控制程序或特征是否收集用户信息(例如,关于用户的社交网络、社交动作或活动、职业、用户的偏好或用户的当前地理位置的信息),或控制是否和/或如何从内容服务器接收可能与用户更相关的内容。此外,某些数据可以在它存储或使用之前以一种或多种方式处理,从而移除个人可识别信息。例如,可以处理用户的身份以使得不能为用户确定个人可识别信息,或者可以概括用户的地理位置,其中
获得地理位置信息(例如到城市、邮政编码或州级),使得不能确定用户的特定地理位置。因此,用户可以控制如何收集关于用户的信息和/或使用信息。
115.在一些实现方式中,一种由一个或多个处理器实现的方法被提供并且包括:基于在给定用户的客户端设备处的至少一个用户界面输入,来确定用于在所述给定用户是参与者的对话中传达的文本段,标识所述对话中的附加参与者,所述附加参与者是除了所述给定用户之外的参与者,基于所述给定用户和所述附加参与者之间的关系的至少一个属性来确定一个或多个韵律特性,以及生成包括合成语音的合成语音音频数据,所述合成语音包括所述文本段并且所述合成语音音频数据合成有所述一个或多个韵律特性。生成所述合成语音音频数据包括响应于基于所述给定用户和所述附加参与者之间的关系的所述属性来确定所述韵律特性从而合成具有所述一个或多个韵律特性的所述合成语音。该方法还包括使得所述合成语音经由所述客户端设备和/或附加客户端设备的一个或多个扬声器被呈现。所呈现的合成语音能够被所述附加参与者以可听方式感知。
116.本文公开的技术的这些和其它实现方式可以可选地包括以下特征中的一个或多个。
117.在一些实现方式中,所述至少一个用户界面输入可以包括经由所述客户端设备的一个或多个麦克风检测到的所述给定用户的口头输入,并且基于所述客户端设备处的所述至少一个用户界面输入确定所述文本段可以包括使用语音识别模型处理所述口头输入以生成所述文本段。在这些实现方式的一些版本中,所述语音识别模型可以是设备上语音识别模型和/或被训练用于识别语音受损用户的语音。
118.在一些实现方式中,所述至少一个用户界面输入可以包括对传达所述文本段的图形元素的选择,并且传达所述文本段的所述图形元素可以与传达替代文本段的至少一个替代可选图形元素一起被显示在所述客户端设备的显示器处。在这些实现方式的一些版本中,该方法还可以在所述客户端设备处的所述用户界面输入之前包括经由所述客户端设备的一个或多个麦克风检测所述附加参与者的附加参与者口头输入,使用语音识别模型处理所述附加参与者口头输入以生成作为所述附加参与者口头输入的识别的附加参与者文本段,确定所述文本段是对所述附加参与者文本段的候选响应,以及响应于确定所述文本段是对所述附加参与者文本段的候选响应而确定显示传达所述文本段的所述图形元素。
119.在这些实现方式的一些其它版本中,标识所述对话中的所述附加参与者还可以包括使用所述附加参与者口头输入来执行说话者标识,以及基于所述说话者标识来标识所述附加参与者。在这些实现方式的又一些版本中,执行所述说话者标识可以包括在所述客户端设备处基于使用说话者标识模型来处理所述附加参与者口头输入从而生成口头输入嵌入,以及在所述客户端设备处将所述口头输入嵌入与用于所述附加参与者的预存储嵌入进行比较,所述预存储嵌入响应于被所述附加参与者授权而被先前本地存储在所述客户端设备处。
120.在这些实现方式的一些其它版本中,确定所述文本段是对所述附加参与者文本段的所述候选响应还可以基于所述给定用户和所述附加参与者之间的关系的所述属性中的至少一个属性。在这些实现方式的又一些版本中,确定所述文本段是对所述附加参与者文本段的所述候选响应还基于所述给定用户和所述附加参与者之间的关系的所述属性中的所述至少一个属性可以包括基于所述附加参与者文本段生成初始候选响应的超集,所述超
集包括所述文本段,以及基于所述给定用户和所述附加参与者之间的关系的所述属性中的所述至少一个属性,从所述初始候选响应的超集选择所述文本段作为所述候选响应。
121.在这些实现方式的一些其它版本中,该方法还可以包括确定所述客户端设备的位置的至少一个分类。确定所述文本段是对所述附加参与者文本段的所述候选响应还可以基于所述位置的所述至少一个分类。
122.在一些实现方式中,该方法还可以包括标识所述对话中的进一步附加参与者,所述进一步附加参与者是除了所述给定用户之外并且是除了所述附加参与者之外的参与者,并且基于以下两者来确定所述一个或多个韵律特性:(a)所述给定用户和所述附加参与者之间的关系的属性,以及(b)所述给定用户和所述进一步附加参与者之间的附加关系的一个或多个附加属性。
123.在一些实现方式中,该方法还可以包括标识所述对话中的进一步附加参与者,所述进一步附加参与者是除了所述给定用户之外并且是除了所述附加参与者之外的参与者,响应于以下,基于所述给定用户和所述附加参与者之间的关系的属性而不是所述给定用户和所述进一步附加参与者之间的附加关系的一个或多个附加属性,来确定所述一个或多个韵律特性:确定所述给定用户和所述附加参与者之间的关系比所述给定用户和所述进一步附加参与者之间的附加关系更正式。
124.在一些实现方式中,标识所述对话中的所述附加参与者还可以包括基于由所述客户端设备的相机捕获的一个或多个图像来标识所述附加参与者。在那些实现方式的一些版本中,所述相机可以包括可调整视口,并且可以响应于所述给定用户的所述客户端设备处的其它用户界面输入,在所述可调整视口的调整之后捕获所述一个或多个图像。在这些实现方式的一些版本中,基于由所述客户端设备的所述相机所捕获的图像来标识所述附加参与者可以包括在所述客户端设备的显示器上呈现所述一个或多个图像中的图像,所述图像捕获包括所述附加参与者的多个人,在所述给定用户的所述客户端设备处接收其它用户界面输入,所述其它用户界面输入指定所述图像中的捕获所述附加参与者并且排除所述多个人中的所有其它人的区域,以及基于对所述图像的所述区域的处理来标识所述附加参与者。
125.在一些实现方式中,该方法还可以包括确定所述客户端设备的位置的至少一个分类。确定所述韵律特性还可以基于所述客户端设备的位置的分类。
126.在一些实现方式中,所述一个或多个韵律特性可以包括语调、音调、重音和节律中的一个或多个。
127.在一些实现方式中,一种由一个或多个处理器实现的方法被提供并且包括,处理经由给定用户的客户端设备的一个或多个麦克风检测到的附加用户口头输入,以确定在所述客户端设备的环境中存在不是来自所述给定用户的话音活动,所述附加用户口头输入属于在具有所述客户端设备和所述给定用户的环境中的附加用户。该方法还包括响应于确定存在不是来自所述给定用户的话音活动,使得所述话音活动的图形指示被呈现在所述客户端设备的显示器处,以及接收对所述图形指示的选择。该方法还包括,响应于接收到所述选择:使用语音识别模型处理给定用户口头输入以生成给定用户识别文本,所述给定用户口头输入经由所述客户端设备的所述一个或多个麦克风来检测,并且所述给定用户口头输入属于所述给定用户并且在所述附加用户口头输入之后被提供,生成包括合成语音的合成语
音音频数据,所述合成语音并入所述给定用户识别文本,以及使得所述合成语音经由所述客户端设备和/或附加客户端设备的一个或多个扬声器被呈现。所呈现的合成语音能够被所述附加用户以可听方式感知。
128.本文公开的技术的这些和其它实现方式可以可选地包括以下特征中的一个或多个。
129.在一些实现方式中,处理所述附加用户口头输入以确定存在不是来自所述给定用户的话音活动可以包括使用所述附加用户口头输入来执行说话者标识,以及基于所述说话者标识来确定存在不是来自所述给定用户的话音活动。在这些实现方式的一些版本中,基于所述说话者标识来确定存在不是来自所述给定用户的话音活动可以包括在所述客户端设备处基于处理所述附加用户口头输入来生成口头输入嵌入,以及确定所述口头输入嵌入与用于所述给定用户的预存储嵌入不匹配。
130.在这些实现方式的一些版本中,基于所述说话者标识来确定存在不是来自所述给定用户的话音活动可以包括在所述客户端设备处基于处理所述附加用户口头输入来生成口头输入嵌入,以及确定所述口头输入嵌入与用于所述附加用户的预存储嵌入相匹配,用于所述附加用户的预存储嵌入响应于被所述附加用户授权而被先前本地存储在所述客户端设备处。在这些实现方式的一些其它版本中,所述话音活动的图形指示可以包括所述附加用户的语义标识符,所述语义标识符先前与所述预存储嵌入相关联。
131.在一些实现方式中,该方法还可以包括自动选择一个或多个合成语音属性。生成合成语音音频数据可以包括合成具有自动选择的一个或多个合成语音属性的合成语音。在这些实现方式的一些版本中,自动选择所述一个或多个合成语音属性可以包括确定所述客户端设备的位置的至少一个分类,以及基于所述客户端设备的位置的分类来自动选择所述一个或多个合成语音属性。在那些实现方式的一些版本中,自动选择所述一个或多个合成语音属性可以包括确定进一步用户是否在具有所述客户端设备和所述给定用户的环境中,以及基于除了所述给定用户之外以及除了所述附加用户之外的进一步用户是否在具有所述客户端设备和所述给定用户的环境中,自动选择所述一个或多个合成语音特性。在这些实现方式的一些版本中,自动选择所述一个或多个合成语音属性可以包括标识所述附加用户,并且基于所述给定用户和所述附加用户之间的关系的一个或多个属性来自动选择所述一个或多个合成语音特性。
132.在一些实现方式中,所述一个或多个合成语音属性包括韵律特性。
133.在一些实现方式中,一种由一个或多个处理器实现的方法被提供并且包括:在给定用户的客户端设备处接收指示给定用户在具有给定用户和客户端设备的环境中与附加用户进行交互的期望的用户输入。该方法还包括:在接收用户输入之后:使用语音识别模型处理附加用户口头输入以生成附加用户识别文本,所述附加用户口头输入经由客户端设备的一个或多个麦克风检测到,基于接收用户输入并且基于确定文本段是候选响应来确定文本段是对所述附加用户识别文本的候选响应,显示传达文本段的图形元素,并且接收对图形元素的选择。该方法还包括:响应于接收到所述选择:生成包括合成语音的合成语音音频数据,所述合成语音并入所述文本段,并且使得所述合成语音经由所述客户端设备和/或附加客户端设备的一个或多个扬声器被呈现。所呈现的合成语音被附加用户可听地感知。
134.此外,一些实现方式包括一个或多个计算设备的一个或多个处理器(例如,中央处
理单元(cpu))、图形处理单元(gpu)和/或张量处理单元(tpu),其中所述一个或多个处理器能够操作以执行存储在相关联存储器中的指令并且其中所述指令被配置成使得执行上述方法中的任一个。一些实现方式还包括一个或多个非暂时性计算机可读存储介质,所述一个或多个非暂时性计算机可读存储介质存储能够由一个或多个处理器执行以执行上述方法中的任一个的计算机指令。一些实现方式还包括计算机程序产品,该计算机程序产品包括能够由一个或多个处理器执行以执行上述方法中的任一个的指令。
135.应当理解,本文更详细地描述的前述概念和附加概念的所有组合被预期为本文公开的主题的一部分。例如,本公开所附的所要求保护的主题的所有组合被认为是本文公开的主题的一部分。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1