一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

语言学风格匹配代理的制作方法

2021-09-29 03:17:00 来源:中国专利 TAG:语言学 匹配 风格 代理

语言学风格匹配代理


背景技术:

1.会话接口变得越来越流行。在语音(speech)识别、生成对话模型和语音合成中的最新进展使得基于嗓音的输入的实际应用成为可能。会话代理、虚拟代理、个人助理和以自然语言交互的“机器人”已经创建了用于人机交互的新平台。在美国,估计有近5000万(或五分之一)成年人能够访问嗓音(voice)控制的智能扬声器,其中嗓音是主要接口。多得多的人能够访问智能电话或智能手表上的助理。
2.然而,这些系统中的许多系统在它们能够如何沟通上受到约束,因为它们限于嗓音的交互,并且这些交互甚至不反映人类语音的自然嗓音特性。具化的(embodied)会话代理可以是改进,因为它们针对用户交谈提供了“面孔”,而不是无实质的嗓音。尽管会话接口普遍,但是被扩展的交互和开放式的会话仍然不太自然,并且经常不能满足用户的预期。一个限制是会话代理(仅嗓音的或具化的)的行为是单调的,并且依赖于脚本化对话和/或预先训练的规定的“意图”,从而限制了用于较少受约束的和更自然的交互的机会。
3.部分地因为这些接口具有嗓音,并且甚至具有面孔,用户越来越期待计算机系统展现出与人类相似的社交行为。然而,会话代理通常以机器人的并且不自然的方式进行交互。这种巨大的预期差距可能是会话代理仅被用于非常简单的任务并且经常令用户失望的部分原因。
4.关于这些和其他考虑,本文所做出的公开被呈现。


技术实现要素:

5.本公开呈现端到端的基于嗓音的会话代理,该会话代理能够从事自然的多轮对话并且与用户的会话风格和面部表情一致。该会话代理可以是仅音频的,利用合成嗓音响应于来自用户的口头(spoken)话语的音频。在其他一些实现中,会话代理可以被具化,意味着它具有看起来在说话的“面孔”。在任一实现中,代理可以使用机器学习技术,诸如生成的神经语言模型以生产开放式的多轮对话,并且以自然并且可理解的方式对来自用户的口头话语做出响应。
6.本公开的一个方面包括语言学风格匹配。语言学风格描述的是语音的“如何(how)”而不是“什么(what)”。相同的话题信息,“什么”,可以以不同的风格被提供。语言学风格或者会话风格可以包括韵律、词语选择和时机(timing)。韵律描述不是个体语音学片段(元音和辅音)而是音节和语音的更大单元的属性的语音元素。语音的韵律方面可以以听觉变量和声学变量的形式来描述。听觉变量描述了在听者脑海中形成的语音的印象,并且可以包括嗓音的音高、声音的长度、嗓音的响度或突出度以及音色。声学变量是声波的物理属性,并且可以包括基本频率(赫兹或每秒周期)、持续时间(毫秒或秒)以及强度或声压级(分贝)。词语选择可以包括所使用的词汇,诸如词语的形式、代词的使用、以及词语或短语的重复。时机可以包括语音速率和说话时的停顿。
7.在与会话代理的会话期间,用户的语言学风格被标识,并且基于用户的语言学风格,会话代理的合成语音可以被修改。用户的语言学风格是构成会话上下文的一个因素。在
一个实现中,会话代理的语言学风格可以被修改以匹配或类似于用户的语言学风格。因此,会话代理可以以与人类用户相同的方式说话。会话代理的语音的内容或“什么”可以由生成神经语言模型和/或基于用户的话语中所检测到的意图的脚本化响应来提供。
8.具化的代理也可以执行视觉风格匹配。用户的面部表情和头部运动可以在与具化的代理交互期间由相机捕获。具化的代理上的合成面部表情可以反映用户的面部表情。具化的代理的头部姿势也可以基于用户的头部定向和头部运动而被改变。当用户正在说话时,视觉风格匹配、做出相同或相似的头部运动可以被执行。当具化的代理说话时,它的话语可以是基于其话语的情绪(sentiment)而不是用户。
9.提供本发明内容以简化的形式介绍一些概念的选择,这些概念将在下文的具体实施方式中进一步被描述。本发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。此外,所要求保护的主题不限于解决本公开任何部分中指出的任何或所有缺点的实现。例如,术语“技术”可以指上述和贯穿文档的上下文所允许的(多个)系统和/或(多个)方法。
附图说明
10.参考附图阐述了具体实施方式。在附图中,附图标记的(多个)最左侧数字标识该附图标记第一次出现的附图。在不同的图中使用相同的附图标记的使用表示相似或相同的项。
11.图1示出了用户与对用户的语言学风格作出响应的计算设备交互。
12.图2示出了用于基于用户的语言学风格来生成语音响应的说明性架构。
13.图3示出了用户与显示具化的会话代理的计算设备交互,该具化的会话代理是基于用户的面部表情和语言学风格的。
14.图4示出了用于生成具化的会话代理的说明性架构,该具化的会话代理对用户面部表情和语言学风格作出响应。
15.图5是用于响应于用户的语音来生成合成语音的说明性过程的流程图。
16.图6是用于生成具化的会话代理的说明性过程的流程图。
17.图7是说明性计算设备的计算机架构。
具体实施方式
18.本公开描述了一种“感情智能的(emotionally

intelligent)”会话代理,它可以识别开放式会话期间的人类行为,并且自动使其响应与人类用户的视觉和会话风格对齐。用于创建会话代理的系统利用多模态输入(例如,音频、文本和视频)以产生丰富并且在感知上有效的响应,诸如在会话期间的嘴唇同步和合成面部表情。因此,会话代理可以鉴于更大的会话上下文来评估用户的视觉和言语(verbal)行为,并且对用户的会话风格和感情表达做出适当的响应,以提供比传统系统更自然的会话用户接口(ui)。
19.这种感情智能的会话代理的行为可以模拟风格匹配或夹带,这是主体采用其谈话对象的行为或特质的现象。这可以通过词语选择发生,如在词汇夹带中。它也可以发生在非言语行为中,例如语音的韵律元素、面部表情和头部姿势以及其他具化的形式。言语匹配和非言语匹配已经被观察到会影响人与人的交互。风格匹配有许多益处,它有助于人际交互
更流利地并且更高效地进行。该现象已经被链接到在会话期间提高信任度和亲和力。这提供了技术益处,包括更易于使用的ui,因为风格匹配提高了会话代理的可理解性,引起用户与计算机之间的信息流增加,而来自用户的工作量减少。
20.会话上下文可以包括音频、文本和/或视频输入以及由会话代理系统感测到或可获得的其他因素。例如,针对给定会话的会话上下文可以包括由系统中(例如,智能电话)的硬件感测的物理因素,诸如位置、运动、加速度、定向、周围光水平、网络连通性、温度、湿度等。会话上下文还可以包括与系统相关联的用户的使用行为(例如,智能手机或计算机上的活动账户的用户)。使用行为可以包括总使用时间、使用频率、一天中的使用时间、所启动的应用的身份、启动时间、待机时间。通信历史是另一类型的会话上下文。通信历史可以包括从与用户相关联的一个或多个账户所发送和/或接收的通信的体量和频率。通信的接收方和发送方也是通信历史的部分。通信历史还可以包括通信的模态(例如,电子邮件、文本、电话、特定的消息收发应用等)。
21.图1示出了会话代理系统100,其中用户102使用语音104来与本地计算设备106交互,诸如智能扬声器(例如,fugoo style

s便携式蓝牙扬声器)。本地计算设备106可以是任何类型的计算设备,诸如智能电话、智能手表、平板计算机、膝上型计算机、台式计算机、智能电视、机顶盒、游戏控制台、个人数字助理、车载计算系统、导航系统等。为了参与与用户102的基于音频的交互,本地计算设备106包括或者被连接到扬声器108和麦克风110。扬声器108生成音频输出,该音频输出可以是音乐、合成的嗓音或其他类型的输出。
22.本地计算设备106可以包括一个或多个处理器112、存储器114和一个或多个通信接口116。(多个)处理器112可以表示例如中央处理单元(cpu)类型的处理单元、图形处理单元(gpu)类型的处理单元、现场可编程门阵列(fpga)、另一类数字信号处理器(dsp)、或者在一些情况下可以由cpu驱动的其他硬件逻辑组件。存储器114可以包括内部存储装置、可移除存储装置和/或本地存储装置,诸如固态存储器、闪存驱动器、存储器卡、随机存取存储器(ram)、只读存储器(rom)等,以提供计算机可读指令、数据结构、程序模块和其他数据的存储和实现。通信接口116可以包括用于实现有线和无线通信技术(诸如以太网、和wi

fi
tm
)的硬件和软件。
23.麦克风110检测包括用户102的语音104和来自环境的潜在其他声音的音频输入,并且将所检测到的声音转换成表示语音的音频输入。麦克风110可以被包括在本地计算设备106的外壳中,通过诸如通用串行总线(usb)电缆的电缆被连接,或者通过诸如被无线地连接。存储器114可以存储用于实现嗓音活动检测、语音识别、副语言学的参数识别的指令,用于处理由麦克风110生成的表示所检测到的声音的音频信号。由扬声器108输出的合成嗓音可以由存储在存储器114中的、用于执行对话生成和语音合成的指令创建。扬声器108可以被集成到本地计算设备106的外壳中,经由诸如耳机电缆的电缆被连接,或者通过诸如或其他无线协议被无线地连接。在一个实现中,扬声器108和麦克风110中的一个或两者可以被包括在被配置为由用户102佩戴的听筒或耳机中。因此,用户102可以使用语音104来与本地计算设备106交互并且控制本地计算设备106,并且接收来自由扬声器108产生的声音的输出。
24.会话代理系统100还可以包括一个或多个远程计算设备120,该远程计算设备120
被实现为基于云的计算系统、服务器或物理上远离本地计算设备106的其他计算设备。(多个)远程计算设备120可以包括计算设备典型组件中的任何组件,诸如处理器、存储器、输入/输出设备等。本地计算设备106可以使用(多个)通信接口116经由直接连接或经由网络(诸如互联网)来与(多个)远程计算设备120通信。通常,(多个)远程计算设备120,如果存在,将具有比本地计算设备106的处理和存储器能力大的处理和存储器能力。因此,存储器114中的指令中的一些或全部指令、或者本地计算设备106的其他功能性可以由(多个)远程计算设备120执行。例如,更计算密集的操作(诸如语音识别)可以被卸载到(多个)远程计算设备120。
25.由会话代理系统100执行的操作,由本地计算设备106单独执行或者与远程计算设备120结合执行,如以下所更详细地描述的。
26.图2示出了用于实现图1的会话代理系统100的说明性架构200。处理以由麦克风110产生的麦克风输入202开始。麦克风输入202是响应于由麦克风110检测到的声波,由麦克风110产生的音频信号。麦克风110可以以任何速率(诸如48千赫(khz)、30khz、16khz或其他速率)对音频输入进行采样。在一些实现中,麦克风输入202是处理来自麦克风硬件的原始信号的数字信号处理器(dsp)的输出。麦克风输入202可以包括代表用户102的语音104的信号以及来自环境的其他声音。
27.嗓音活动识别器204处理麦克风输入202,以提取嗓音片段。嗓音活动检测(vad),也被称为语音活动检测或语音检测,是用于语音处理的技术,其中人类语音的存在与不存在被检测。vad的主要使用是在语音编码和语音识别中。多种vad算法和技术对本领域普通技术人员是已知的。在一个实现中,嗓音活动识别器204可以由来自微软公司的windows系统嗓音活动检测器来执行。
28.对应于嗓音活动的麦克风输入202被传递给语音识别器206。语音识别器206识别与用户102的语音104对应的电子信号中的词语。语音识别器206可以使用用于语音识别的任何合适的算法或技术,包括但不限于隐马尔可夫模型、动态时间规整(dtw)、神经网络、深度前馈神经网络(dnn)或递归神经网络。语音识别器206可以被实现为语音到文本(stt)系统,该系统生成用户102语音104的文本输出,以供进一步处理。合适的stt系统的示例包括从microsoft公司可获得的bing语音和语音服务两者。bing语音是基于云的平台,它使用可用于将口头音频转换为文本的算法。bing语音协议限定了客户端应用(诸如在本地计算设备106上呈现的应用)与可以在云上可用的服务之间的连接设置。因此,stt可以由(多个)远程计算设备120执行。
29.来自嗓音活动识别器204的输出还被提供给韵律识别器208,它对包含嗓音活动的音频片段执行副语言学的参数识别。使用数字信号处理方法,副语言学的参数可以被提取。由嗓音活动识别器204提取的副语言学的参数可以包括但不限于,语音速率、被耳朵感知为音高的基本频率(f0)、和反映语音104响度的均方根(rms)能量。语音速率指示用户102说话有多快。语音速率可以被测量为每分钟说出的词语的数目。这与话语长度有关。语音速率可以通过将由嗓音活动识别器204标识的话语除以由语音识别器206标识的话语中的词语的数目而被计算。音高可以在每话语的基础上被测量并且针对用户102的每个话语被存储。成年人嗓音的f0范围为100

300hz。响度以与音高的被测量方式类似的方式被测量,通过确定每个话语的检测到的rms能量。rms被定义为均方(一组数字的平方的算术平均值)的平方
根。
30.语音识别器206将用户102的已识别语音以文本或另一格式输出至神经对话生成器210、语言学风格提取器212和定制意图识别器214。
31.神经对话生成器210生成用于会话代理的话语内容。神经对话生成器210可以使用深度神经网络以根据无约束模型来生成响应。这些响应可以被用作“闲聊”或者被用作可以被包括在许多类型的会话中的非特化的响应。在一个实现中,用于神经对话生成器210的神经模型可以从实际人类会话的大规模无约束数据库被构建。例如,从社交媒体(例如等)所挖掘的会话或者文本聊天交互可以被用以训练神经模型。神经模型可以返回对用户102的话语的一个“最佳”响应,或者可以返回多个已排名的响应。
32.语言学风格提取器212标识用户会话风格的可以被称为“内容变量”的非韵律成分。内容变量可以包括但不限于代词使用、重复和话语长度。第一内容变量(人称代词使用),测量用户在他或她的语音104中对人称代词(例如,你、他、她等)的使用的比率。通过简单地获得人称代词的使用与每个话语中出现的其他词语(或其他非停止词)相比的比率,该测量可以被计算。
33.为了测量第二内容变量(重复),语言学风格提取器212使用两个变量,这两个变量都与术语的重复相关。在该上下文中的术语是不被认为是停止词(stop word)的词语。停止词通常指语言中最常见的词语,它们在处理自然语言输入之前或之后被过滤掉,诸如“一”、“该”、“是”、“在”等。具体的停止词列表可以是多变的,以改进结果。重复可以被视为对引入特定话题的持久性的测量。变量中的第一变量测量话语级别上重复术语的出现的比率。第二变量测量包含一个或多个重复术语的话语的比率。
34.第三内容变量(话语长度),是对每话语的词语的平均数目的测量,并且限定用户102每话语的说多长。
35.定制意图识别器214识别由语音识别器206标识的语音中的意图。如果语音识别器206输出文本,则定制意图识别器214对文本而不是对用户语音104的音频或另一表示采取动作。意图识别使用从经标记的数据集被训练的机器学习技术来标识自然语言中的一个或多个意图。意图可以是用户102的“目标”,诸如预订航班或找出包裹将何时被递送。经标记的数据集可以是被标记具有意图数据的文本的集合。意图识别器可以通过训练神经网络(深度或浅度)或使用任何其他机器学习技术(诸如朴素贝叶斯、支持向量机(svm)以及具有n元特征的最大熵)而被创建。
36.存在多种可商购的意图识别服务,这些服务中的任何一种服务可以被用作会话代理的部分。一种合适的意图识别服务是从microsoft公司可获得的语言理解和意图服务(luis)。luis是使用机器学习来理解并且响应自然语言输入以预测整体含义并且提取相关的详细信息的程序。
37.对话管理器216捕获来自语言学风格提取器212和定制意图识别器214的输入,以生成将由会话代理产生的对话。因此,对话管理器216可以组合由神经对话生成器210的神经模型生成的对话和来自定制意图识别器214的领域特定的脚本化对话。使用这两种来源允许对话管理器216对用户102的一些话语提供领域特定的响应,并且维持具有非特定“闲聊”的扩展会话。
38.对话管理器216以计算机可读形式生成话语的表示。这可以是表示将由会话代理

说出”的词语的文本形式。该表示可以是不具有任何关于韵律质量的记号(notation)的简单文本文件。备选地,来自对话管理器216的输出可以以更丰富的格式被提供,诸如可扩展标记语言(xml)、java语音标记语言(jsml)或者语音合成标记语言(ssml)。jsml是基于xml的标记语言,用于模仿对语音合成器的文本输入。jsml定义了限定文档结构、某些词语和短语的发音、语音的特征(诸如强调和语调)等的元素。ssml也是针对语音合成应用的基于xml的标记语言,其实际上覆盖了合成的所有方面。ssml包括针对韵律的标记,诸如音高、轮廓(contour)、音高率、讲话速率、持续时间和响度。
39.语言学风格匹配可以由对话管理器216基于内容变量(例如,名词使用、重复和话语长度)来执行。在一个实现中,对话管理器216试图调整话语的内容或选择话语,以便更紧密地匹配用户102的会话风格。因此,对话管理器216可以创建与用户102的话语具有类似类型的代词使用、重复和/或长度的话语。例如,对话管理器216可以添加或移除人称代词,插入重复短语,并且缩短或延长话语以更好地匹配用户102的会话风格。然而,对话管理器216也可以基于用户102的会话风格来修改会话代理的话语,而不匹配相同的会话风格。例如,如果用户102具有激进并且冗长的会话风格,则会话代理可以将它的会话风格修改为缓和并且简洁的。因此,会话代理可以以“类人”的方式对用户102的会话风格作出响应,这在一些情况下可以包括匹配或模仿。
40.在神经对话生成器210和/或定制意图识别器214产生针对会话代理的话语的多个可能选择的实现中,对话管理器216可以调整这些选择的排名。这可以通过计算前几个(例如,5、10、15个等)可能的响应的语言学风格变量(例如,词语选择和话语长度)来完成。可能的响应然后基于与用户102的语音104的内容变量的匹配紧密程度而被重新排名。排名最高的响应通常在含义上彼此非常相似,因此改变排名很少改变话语的含义,但确实以使会话代理的风格更接近用户102的会话风格的方式来影响风格。通常,重新排名后的最高排名响应将被选择作为会话代理的话语。
41.除了基于用户的包括内容变量的会话风格来修改其话语之外,会话代理还可以尝试基于用户102的语音104的声学变量来调整其话语。诸如语音速率、音高和响度的声学变量可以被编码在话语的表示中,诸如通过例如ssml的标记语言中的记号。ssml允许韵律质量中的每个韵律在话语级别上被指定。
42.韵律风格提取器218使用从用户102的语音104所标识的声学变量来修改会话代理的话语。韵律风格提取器218可以修改该ssml文件,以调整会话代理的话语的音高、响度和语音速率。例如,话语的表示可以包括针对音高和响度两者的五个不同级别(或更多或更少数目的变型)。语音速率可以由浮点数表示,其中1.0表示标准速度,2.0表示双倍速度,0.5表示半速,并且其他速度相应地被表示。
43.合成语音的调整可以旨在绝对地或相对地匹配用户102的特定风格。在绝对匹配的情况下,会话代理将声学变量调整为与用户102的声学变量相同或相似。例如,如果用户102的语音速率为每分钟160个词语,则会话代理将也具有以每分钟约160个词语的速率被生成的合成语音。
44.在相对匹配的情况下,会话代理匹配用户的语音104的声学变量中的变化。为了这样做,韵律风格提取器218可以跟踪用户102的最后几次话语(例如,在最后三次、五次、八次话语)之上的声学变量的值,并且对这些值求平均数以创建基线。在建立基线后,用户的语
音104的韵律特性的值中的任何检测到的增加或减少将通过会话代理的语音的韵律特性中的对应的增加或减少来匹配。例如,如果用户的语音104的音高增加,则会话代理的被合成语音的音高也将增加,但不必然与用户的语音104的频率匹配。
45.语音合成器220将由会话代理将生成的话语的符号语言学的表示(symbolic linguistic representation)转换成音频文件或电子信号,该音频文件或电子信号可以被提供给本地计算设备106,以供扬声器108输出。诸如通过使用声道(vocal tract)和其他人类嗓音特性的模型,语音合成器220可以创建完全合成的嗓音输出。附加地或备选地,语音合成器220可以通过串接存储在数据库中的已记录语音片来创建语音。数据库可以存储特定的语音单元(诸如音素或双音素),或者针对特定的域,可以存储整个词语或句子(诸如预定的脚本化响应)。
46.语音合成器220基于以下输入来生成响应对话:来自对话管理器216的包括话语的响应内容的输入,以及来自由韵律风格提取器218提供的声学变量的输入。因此,语音合成器220将生成合成语音,该合成语音不仅响应于用户102的话语而提供适当的响应内容,而且还基于在用户话语中所标识的内容变量和声学变量被修改。在一个实现中,语音合成器220被提供ssml文件,该ssml文件具有基于对话管理器216和韵律风格提取器218两者的文本内容和指示韵律特性的标记。该ssml文件或将被输出的语音的其他表示由语音合成器220解释,并且被用于使本地计算设备106生成合成语音。
47.图3示出了会话代理系统300,它类似于图1所示出的会话代理系统100,但是它还包括用于检测用户102的面部表情并且生成包括面部的具化的会话代理302的组件。在会话代理系统300中,用户102与本地计算设备304交互。本地计算设备304可以包括或被连接到相机306、麦克风308、键盘310和(多个)扬声器312。(多个)扬声器312生成音频输出,该音频输出可以是音乐、被合成的嗓音或其他类型的输出。
48.本地计算设备304还可以包括显示器316或用于生成面部表示的其他设备。例如,代替显示器316,具化的会话代理302的面部表示可以由投影仪、全息图、虚拟现实或增强现实头戴式耳机、或面部的机械致动模型(例如,电子动画的)来产生。本地计算设备304可以是任何类型的合适计算设备,诸如台式计算机、膝上型计算机、平板计算机、游戏控制台、智能电视、智能电话、智能手表等。
49.本地计算设备304可以包括一个或多个处理器316、存储器318和一个或多个通信接口320。(多个)处理器316可以表示例如中央处理单元(cpu)类型的处理单元、图形处理单元(gpu)类型的处理单元、现场可编程门阵列(fpga)、另一类数字信号处理器(dsp)或在某些实例中可以由cpu驱动的其他硬件逻辑组件。存储器318可以包括内部存储装置、可移除存储装置和/或本地存储装置,诸如固态存储器、闪存驱动器、存储器卡、随机存取存储器(ram)、只读存储器(rom)等,以提供计算机可读指令、数据结构、程序模块和其他数据的存储和实现。通信接口320可以包括用于实现有线和无线通信技术(诸如以太网、和wi

fi
tm
)的硬件和软件。
50.相机306从本地计算设备304附近捕获图像,诸如用户102的图像。相机306可以是静态相机或视频相机(诸如“网络摄像头”)。相机306可以被包括在本地计算设备304的外壳中,或经由诸如通用串行总线(usb)电缆的电缆连接,或者诸如通过被无线地连接。
麦克风308检测语音104和来自环境的其他声音。麦克风308可以被包括在本地计算设备304的外壳中,通过电缆连接或被无线地连接。在一个实现中,相机306还可以执行眼睛跟踪,该眼睛跟踪可以标识用户102正在看哪里。备选地,眼睛跟踪可以由单独的眼睛跟踪硬件来执行,诸如被包括在本地计算设备304中或者耦合到本地计算设备304的光学跟踪器(例如,使用红外光)。
51.存储器318可以存储用于实现由相机306捕获的面部表情的面部检测和分析的指令。根据存储在存储器318中的指令,用于具化的会话代理302的合成面部表情和嘴唇运动可以被生成,以供在显示器316上输出。
52.存储器318还可以存储用于检测嗓音活动、语音识别、副语言学的参数识别的指令,以及用于处理由麦克风308生成的、表示检测到的声音的音频信号的指令。由(多个)扬声器312输出的合成嗓音可以由存储在存储器318中、用于执行对话生成和语音合成的指令来创建。扬声器108可以被集成到本地计算设备304的外壳中,经由诸如耳机电缆的电缆被连接,或者诸如通过或其他无线协议被无线地连接。
53.会话代理系统300还可以包括一个或多个远程计算设备120,远程计算设备120被实现为基于云的计算系统、服务器或物理上远离本地计算设备304的其他计算设备。(多个)远程计算设备120可以包括计算设备的典型组件中的任何组件,诸如处理器、存储器、输入/输出设备等。本地计算设备304可以使用(多个)通信接口320经由直接连接或经由诸如互联网的网络与(多个)远程计算设备120通信。通常,(多个)远程计算设备120,如果存在,将具有比本地计算设备304的处理和存储器能力大的处理和存储器能力。因此,存储器318中的指令中的一些或全部指令、或者本地计算设备304的其他功能性可以由(多个)远程计算设备120执行。例如,诸如语音识别或面部表情识别等更计算密集的操作可被卸载到(多个)远程计算设备120。
54.由会话代理系统300执行的操作,由本地计算设备单独执行或与远程计算设备120结合执行,将在以下中更详细地描述。
55.图4示出了用于实现图3的具化的会话代理系统300的说明性架构400。架构400包括音频管道(类似于图2中所示出的架构200)和视觉管道。音频管道针对会话风格变量来分析用户102的语音104,并且合成用于具化的会话代理302的适应该风格的语音。视觉管道识别并且量化用户102的行为,并且合成具化的会话代理302的视觉响应。视觉管道基于当前会话状态来生成嘴唇同步和面部表情,以提供感知上有效的接口用于更有吸引力并且面对面的会话。这种类型的ui是更加用户友好的,并且因此提高了本地计算设备304的可用性。视觉管道的功能性可以被划分为两个单独的状态:当用户102正在说话时和当具化的会话代理302正在说话时。当用户102正在说话并且具化的会话代理302正在聆听时,视觉管道可以创建与用户102的那些表情相匹配的表情。当具化的会话代理302正在说话时,合成面部表情基于与话语的情绪同步的貌似真实的嘴唇。
56.音频管道始于表示用户102的语音104的音频输入,该音频输入由麦克风110、308响应于声波接触麦克风110、308上的感测元件而产生。麦克风输入202是由麦克风110、308响应于由麦克风110、308检测到的声波而产生的音频信号。麦克风110、308可以以任何速率采样音频,诸如48khz、30khz、16khz或其他速率。在一些实现中,麦克风输入202是处理来自麦克风硬件的原始信号的数字信号处理器(dsp)的输出。麦克风输入202可以包括代表用户
102的语音104的信号以及来自环境的其他声音。
57.嗓音活动识别器204处理麦克风输入202,以提取嗓音片段。嗓音活动检测(vad)也称为语音活动检测或语音检测,是用于语音处理的技术,其中人类语音的存在与不存在被检测。vad主要使用语音编码和语音识别。多种vad算法和技术对本领域普通技术人员是已知的。在一个实现中,嗓音活动识别器204可以由来自microsoft公司的windows系统嗓音活动检测器执行。
58.对应于嗓音活动的麦克风输入202被传递给语音识别器206。语音识别器206识别对应于用户102的语音104的音频信号中的词语。语音识别器206可以使用用于语音识别的任何合适的算法或技术,包括但不限于隐马尔可夫模型、动态时间规整(dtw)、神经网络、深度前馈神经网络(dnn)或递归神经网络。语音识别器206可以被实现为语音到文本(stt)系统,该系统生成用户102的语音104的文本输出,以供进一步处理。合适的stt系统的示例包括从microsoft公司可获得的bing语音和语音服务两者。bing语音是基于云的平台,它使用可用于将口头音频转换为文本的算法。bing语音协议限定了客户端应用(诸如在本地计算设备106、304上呈现的应用)与可以在云上可用的服务之间的连接设置。因此,stt可以由(多个)远程计算设备120执行。
59.来自嗓音活动识别器204的输出也被提供给韵律识别器208,该韵律识别器208对包含嗓音活动的音频片段执行副语言学的参数识别。使用数字信号处理方法,副语言学的参数可以被提取。由嗓音活动识别器204提取的副语言学的参数可以包括但不限于语音速率、被耳朵感知为音高的基本频率(f0)和反映语音104的响度的均方根(rms)能量。语音速率指示用户102说话有多快。语音速率可以被测量为每分钟说出的词语的数目。这与话语长度有关。语音速率可以通过将由嗓音活动识别器204标识的话语除以由语音识别器206标识的话语中的词语的数目来计算。音高可以在每话语的基础上被测量并且针对用户102的每个话语被存储。成年人嗓音的f0范围为100

300hz。响度以与音高的被测量方式类似的方式被测量,通过确定每个话语的检测到的rms能量。rms被定义为均方(一组数字的平方的算术平均值)的平方根。
60.韵律风格提取器218使用从用户102的语音104所标识的声学变量来修改具化的会话代理302的话语。韵律风格提取器218可以修改ssml文件,以调整会话代理的话语的音高、响度和语音速率。例如,话语的表示可以包括针对音高和响度两者的五个不同级别(或更多或更少数目的变型)。语音速率可以由浮点数表示,其中1.0表示标准速度,2.0表示双倍速度,0.5表示半速,并且其他速度相应地被表示。如果用户102的输入以除语音104之外的形式被提供,诸如被键入的文本,则可能不存在输入的任何韵律特性供韵律风格提取器218分析。
61.语音识别器206将已识别的用户102的语音以文本或其他格式输出到神经对话生成210、会话风格管理器402和文本情绪识别器404。
62.神经对话生成器210生成用于会话代理的话语内容。神经对话生成器210可以使用深度神经网络以根据无约束模型来生成响应。这些响应可以被用作“闲聊”或者被用作可以被包括在许多类型的会话中的非特化的响应。在一个实现中,用于神经对话生成器210的神经模型可以从实际非结构化人类会话的大规模无约束数据库被构建。例如,从社交媒体(例如等)所挖掘的会话或者文本聊天交互可以被用以训练神经模
型。神经模型可以返回对用户102的话语的一个“最佳”响应,或者可以返回多个已排名的响应。
63.会话风格管理器402从语音识别器206接收已识别的语音,并且从神经对话生成器210接收话语的内容(例如,将由具化的会话代理302说出的文本)。会话风格管理器402可以从由语音识别器206识别的语音提取语言学风格变量,并且以会话风格管理器402被训练以识别的特定意图和/或脚本话响应来补充由神经会话生成器210生成的对话。在一个实现中,会话风格管理器402可以包括与图2所示出的语言学风格提取器212、定制意图识别器214和对话管理器216的功能性相同或相似的功能性。
64.会话风格管理器402还可以基于行为模型来确定用于会话代理的响应对话。行为模型可以指示会话代理应当如何响应用户102的语音104和面部表情。会话代理的“感情状态”可以通过行为模型来表示。例如,行为模块可以使会话代理在会话期间更愉快或更激进。如果会话代理被部署为客户服务角色,则行为模型可以使神经对话生成器210偏向于使用礼貌语言。备选地,如果谈话代理被用于训练或角色扮演,则它被创建具有再现愤怒客户特性的行为模型。
65.文本情绪识别器404识别由用户102输入的内容中的情绪。文本情绪识别器404所标识的情绪可以是会话上下文的部分。输入不限于用户102的语音104,但是可以包括诸如文本的输入形式(例如,在键盘310上键入或使用任何其他类型的输入设备录入)。由语音识别器206输出的文本或者作为文本录入的文本由文本情绪识别器404根据任何合适的情绪分析技术来处理。情绪分析利用自然语言处理、文本分析和计算语言学来系统地标识、提取和量化情感状态和主观信息。可以使用在大量经标记的话语上训练的分类器模型来标识文本的情绪。情绪可以被映射到诸如积极、中立和消极的类别。备选地,用于情绪分析的模型可以包括更大数目的分类,诸如特定的感情(emotion),例如愤怒、厌恶、恐惧、快乐、悲伤、惊讶和中性。文本情绪识别器404是从音频管道到视觉管道的交叉点,并且将在下文中进一步讨论。
66.语音合成器220将从会话风格管理器402所接收的话语的符号语言学的表示转换成音频文件或电子信号,该音频文件或电子信号可以被提供给本地计算设备304,以供由扬声器312输出。诸如通过使用声道和其他人类嗓音特性的模型,语音合成器220可以创建完全合成的嗓音输出。附加地或备选地,语音合成器220可以通过串接存储在数据库中的已记录语音片来创建语音。数据库可以存储特定的语音单元(诸如音素或双音素),或者针对特定的域,可以存储整个词语或句子(诸如预定的脚本化响应)。
67.语音合成器220基于来自会话风格管理器402的输入生成响应对话,该响应会话包括话语的内容和由韵律风格提取器218提供的声学变量。因此,语音合成器220将生成合成语音,该合成语音不仅提供响应于用户102的话语的适当的内容,而且还基于在用户话语中所标识的内容变量和声学变量被修改。在一个实现中,语音合成器220被提供ssml文件,该ssml文件具有基于会话风格管理器402和韵律风格提取器218两者的文本内容和指示韵律特性的标记。该ssml文件或将被输出的语音的其他表示由语音合成器220解释,并且被用于使本地计算设备304生成合成语音。
68.现在转到视觉管道,音位识别器406接收来自语音合成器220的已合成的语音输出,并且输出音位的视觉组或视位的对应序列。音位是在特定语言中区分一个词语和另一
词语的声音的单位中的一个单位。音位通常被认为是语音声音(音素)的集合(或等价类)的抽象,这些语音声音在给定语言中被认为是彼此等价的。视位是任何的看起来相同的几个语音声音,例如在嘴唇读时。视位和音位不共享一一对应。通常几个音位与单个视位对应,因为几个音位在产生时在面部上看起来是相同的。
69.音位识别器406可以对来自音频管道的音频样本的连续流进采取动作,以标识音位或视位,用于动画化具化的会话代理302的嘴唇。因此,音位识别器406是音频管道与视觉管道之间的另一连接点。音位识别器406可以被配置为标识任何数目的视位,诸如,例如20个不同的视位。对来自语音合成器220的输出的分析可以返回针对多个不同音位(例如,39个音素和无声)的概率,该概率使用音位到视位映射技术被映射到视位。在一个实现中,音位识别可以由来自卡耐基梅隆大学的pocketsphinx提供。
70.嘴唇同步生成器408使用来自音位识别器406的视位输入和来自韵律风格提取器218的韵律特性(例如,响度)。响度可以被表征为响度的多个不同级别中的一个级别。在一个实现中,响度可以被设置为五个级别中的一个级别:超柔和、柔和、中等、响亮和超响亮。响度级别可以从麦克风输入202被计算。嘴唇同步强度可以被表示为浮点数,其中,例如,0.2表示超柔和,0.4表示柔和,0.6表示中等,0.8表示响亮,并且1对应于超响亮的响度变化。
71.来自音位识别器406的视位序列被用于控制对应视位面部预设,用于合成可信的嘴唇同步。在一些实现中,针对至少两个帧,给定的视位被示出。为了实现该约束,嘴唇同步生成器408可以通过不允许视位在单个帧之后改变来平滑视位输出。
72.如上所述,当用户102正在说话并且具化的会话代理302正在聆听时,具化的会话代理302可以“模仿”用户102的面部表情和头部姿势。对用户102的面部表情和头部姿势的理解开始于由相机306捕获的视频输入410。
73.视频输入410可以比示出仅用户102的面部示出得更多,诸如用户的躯干和背景。面部检测器412可以使用任何已知的面部检测算法或技术以标识视频输入410中的面部。面部检测可以被实现为对象类检测的特定情况。由面部检测器412使用的面部检测算法可以被设计用于正面人类脸部的检测。一种合适的面部检测方法可以使用遗传算法和特征脸技术。
74.面部地标跟踪器414从由面部检测器412检测到的面部提取关键面部特征。面部地标可以通过提取面部的几何特征并且产生每个面部运动的临时轮廓(profile)而被检测。许多用于标识面部地标的技术对本领域普通技术人员是已知的。例如,5点面部地标检测器标识针对左眼的两点、针对右眼的两点和针对鼻子的一点。跟踪更大数目的点的地标检测器,诸如27点面部检测器或68点面部检测器,两者都定位包括眼睛、眉毛、鼻子、嘴巴的区域,并且下颌线也适合。可以使用面部动作编码系统(facs)来表示面部特征。facs是通过面部运动在面部上的外观来分类人类面部运动的系统。个体面部肌肉的运动由facs从面部外观的瞬间变化中的微小差异来编码。
75.面部表情识别器416将面部地标解释为指示面部表情和感情。面部表情和相关联的感情两者都可以被包括在会话上下文中。使用感情检测算法,感兴趣的面部区域被分析,以标识与面部表情相关联的感情。面部表情识别器416可以返回针对每个或几种可能的感情的概率,诸如愤怒、厌恶、恐惧、快乐、悲伤、惊讶和中性。最高概率的情绪被标识为由用户
102表达的情绪。在一个实现中,来自微软公司的面部应用编程接口(api)可以被用于识别用户102面部的表情和感情。
76.由面部表情识别器416标识的感情可以被提供给会话风格管理器402,以修改具化的会话代理302的话语。因此,由具化的会话代理302说出的词语和话语的韵律特性不仅可以基于用户102说了什么,还可以基于他或她在说话时的面部表情而改变。这是从视觉管道到音频管道的交叉。用户102的面部表情对被合成的语音的韵律特性的这种影响可以被呈现在包括相机306但不绘制具化的会话代理302的实现中。例如,智能电话上的前置相机可以提供用户102面部的视频输入410,但是智能电话上的会话代理应用可以提供仅音频输出,而不显示具化的会话代理302(例如,在“驾驶模式”下,该模式被设计为最小化对正在驾驶交通工具的用户102的视觉干扰)。
77.面部表情识别器416还可以包括眼睛跟踪功能性,其标识用户102正在看的注视点。眼睛跟踪可以估计显示器314上的用户102正在看哪里,诸如用户102是正在看显示器314上具化的会话代理302还是正在看其他内容。眼睛跟踪可以确定“用户聚焦”的位置,该位置可以影响具化的会话代理302的响应。贯穿整个会话的用户聚焦的位置可以是会话上下文的部分。
78.面部地标还被提供给跟踪用户102头部运动的头部姿势估计器418。头部姿势估计器418可以提供对用户102头部的头部姿势或定向的实时跟踪。
79.感情和头部姿势合成器420从面部表情识别器416接收被标识的面部表情,并且从头部姿势估计器418接收头部姿势。感情和头部姿势合成器420可以使用该信息来在被合成的输出422中模仿用户102的感情表达和头部姿势,被合成的输出422表示具化的会话代理302的面部。被合成的输出422也可以是基于用户聚焦的位置的。例如,被合成的输出422的头部定向可以改变,使得具化的会话代理看起来与用户看向同一地点。
80.感情和头部姿势合成器420还可以从文本情绪识别器404接收情绪输出,以修改被合成的输出422的上面部的感情可表达性。由文本情绪识别器404标识的情绪可以被用以在没有视觉管道的实现中影响被合成的输出422。例如,智能手表可以显示被合成的输出422,但是缺少用于捕获用户102的面部的相机。在这种类型的实现中,被合成的输出422可以基于来自音频管道的输入,而没有来自视觉管道的任何输入。附加地,针对具化的会话代理302的行为模型可以影响由感情和头部姿势合成器420产生的被合成的输出422。例如,行为模型可以防止在具化的会话代理302的面部上显示愤怒,即使这是在用户102的面部上示出的表情。
81.被合成的输出422上的表情可以由面部动作单元(au)来控制。au是个体肌肉或肌肉组的基本动作。针对被合成的输出422的au可以由根据感情面部动作编码系统(emfacs)的预设来指定。emfacs是facs针对可能具有感情意义的面部表情的选择性应用。预设可以包括与特定感情相关联的面部运动的特定组合。
82.被合成的输出422因此由嘴唇同步生成器408在嘴唇同步时生成的嘴唇运动和来自感情和头部姿势合成器420的上面部表情两者组成。基于上面部表情,嘴唇运动可以修改,以创造更自然的外观。例如,嘴唇运动和靠近嘴唇的面部部分可以被融合,以创建平滑过渡。通过利用头部姿势估计器418跟踪用户102的头部定向并且将偏航(yaw)值和翻滚(roll)值与具化会话代理302匹配,针对具话的会话代理302的被合成的输出422的头部运
动可以被生成。
83.具化的会话代理302可以使用任何类型的计算机生成的图形来实现,例如,二维(2d)显示、虚拟现实、或三维(3d)全息图或机械实现(诸如电子动画面部)。在一个实现中,具化的会话代理302被实现为在2d显示器上被绘制的3d头部或躯干。可以使用用于3d游戏开发的平台(诸如从epic games可获得的虚幻引擎4)来创建用于具化的会话代理302的3d装备。为了建模真实面部运动,3d装备可以包括用于骨关节控制的面部呈现。例如,可以存在38个控制关节以实现来自20个音位的语音学的口型控制。具化的会话代理302的面部表情可以使用多个面部地标点(在一个实现中为27个)来被实现,每个面部地标点具有多个自由度(例如,四个或六个)。
84.使用从微软公司可获得的航空信息和机器人模拟(airsim)开源机器人模拟平台,具化的会话代理302的3d装备可以在利用虚幻引擎4所创建的环境中被模拟。airsim作为虚幻引擎4编辑器的插件工作,提供对构建环境的控制并且模拟难以再现的真实世界事件,诸如面部表情和头部运动。从微软公司可获得的情境交互平台(psi)可以被用于构建具化的会话代理302的内部架构。psi是开放的、可扩展的框架,它支持情境化的综合人工智能系统的开发、部署和研究。psi框架可以被集成到虚幻引擎4中,以支持通过airsim api与由虚幻引擎4创建的世界交互。
85.图5示出了说明性过程500,说明性过程500用于生成能够进行与用户102进行开放式对话、并且匹配(或者至少响应)用户102的会话风格的“感情智能的”会话代理。
86.在502处,会话输入(诸如表示用户102的语音104的音频输入)被接收。音频输入可以是由麦克风110、308响应于来自用户102的语音104的声波接触麦克风而生成的音频信号。因此,表示语音的音频输入不是语音104本身,而是该语音104在其被诸如麦克风110、308的感测设备捕获时的表示。
87.在504处,嗓音活动在音频输入中被检测。音频输入可以包括除了用户102的语音104外的声音的表示。例如,音频输入可以包括背景噪声或无声的时段。使用信号分析算法,与嗓音活动对应的音频输入的部分被检测,该信号分析算法被配置为区分由人类嗓音创建的声音和其他类型的音频输入。
88.在506处,用户102的语音104的内容被识别。语音104的识别可以包括标识用户102正在说的语言并且识别语音104中的特定词语。任何合适的语音识别技术可以被利用,包括使用语音到文本(stt)系统将语音的音频表示转换成文本的技术。在一个实现中,对用户102的语音104的内容的识别可以引起能够被进一步分析的文本文件的生成。
89.在508处,语音104的语言学风格被确定。语言学风格可以包括语音104的内容变量和声学变量。内容变量可以包括诸如在语音104中使用的特定词语的内容,诸如代词使用、词语和短语的重复、以及可以以每话语的词语数量被测量的话语长度。声学变量包括语音104的声音的成分,它们在口头词语文本的表示中没有被可操作地捕获。被认为标识语言学风格的声学变量包括但不限于语音速率、音高和响度。声学变量可以被称为韵律质量。
90.在510处,来自用户102的会话输入的替代来源,文本输入,可以被接收。文本输入可以通过用户102在(硬件或虚拟)键盘310上打字、诸如利用触笔徒手写而被生成,或者通过任何其他输入技术被生成。会话输入当被提供为文本时不需要stt处理。用户102可以能够在嗓音输入与文本输入之间自由切换。例如,可能存在用户102希望与会话代理进行交互
但是不能说话或说话不舒适的时候。
91.在512处,用户102的情绪(即,语音104或文本)可以被标识。例如,可以对在506处所生成的文本或在510处所接收的文本执行情绪分析。通过使用自然语言处理,情绪分析可以被执行,以标识针对给定话语的最可能的情绪。
92.在514处,基于用户102的语音104的内容,响应对话被生成。响应对话包括响应内容,该响应内容包括会话代理将向用户102“回话”的词语。响应内容可以包括稍后被提供给语音合成器的词语的文本表示。响应内容可以由在非结构化会话上被训练的神经网络生成。非结构化会话是两个或更多个人类参与者之间没有固定的结构或目标的、自由形式的会话。非结构化会话的示例包括闲聊、短信交流、聊天等。附加地或备选地,响应内容也可以基于用户102的语音104中所标识的意图和基于该意图的脚本化响应而被生成。
93.响应对话还可以包括附加于响应内容的韵律质量。因此,响应对话可以被理解为包括会话代理的合成语音的“什么”和可选地“如何”。韵律质量可以以标记语言(例如,ssml)被注解,该韵律质量在生成响应对话的音频表示时改变由语音合成器发出的声音。响应对话的韵律质量也可以基于用户102的面部表情被修改,如果该数据可用的话。例如,如果用户102正在做出悲伤的表情,则响应对话的音调可以被降低,以使会话代理听起来也很悲伤。用户102的面部表情可以在下文所描述的图6中的608处被标识。响应对话的韵律质量可以被选择以模仿在508处所标识的用户102的语言学风格的韵律质量。备选地,响应对话的韵律质量可以基于在508处所标识的语言学风格被修改(即,修改为与用户102的语言学风格更类似),而不模仿用户102的语音104的韵律质量或与用户102的语音104的韵律质量相同。
94.在516处,针对响应对话的语音被合成。语音的合成包括创建将由扬声器108、312生成的声音的电子表示,以产生合成语音。语音合成可以通过处理文件(诸如标记语言文档)而被执行,该文件包括将被说出的词语和语音的韵律质量两者。语音的合成可以在第一计算设备(诸如(多个)远程计算设备120)上被执行,并且文件或流中的电子信息以被发送至第二计算设备,该第二计算设备致动扬声器108、312以创建被感知为合成语音的声音。
95.在518处,利用扬声器108、312,合成语音被生成。由扬声器108、312生成的、表示合成语音的音频是来自计算设备的输出,该输出可以被用户102可以听到并且响应。
96.在520处,响应内容的情绪可以被标识。使用在512处被应用于标识用户102的语音104的情绪的相同或类似技术,对会话代理的响应内容的文本的情绪分析可以被执行。如下所述,会话代理的语音的情绪可以被用于创建具化的会话代理302。
97.图6示出了用于生成具化的会话代理302的过程600,该具化的会话代理302响应于用户102的面部表情展现真实面部表情,并且基于由具化的会话代理302生成的话语进行嘴唇同步。
98.在602处,包括用户102的面部的视频输入被接收。视频输入可以从相机306被接收,相机306是本地计算设备304的部分或者连接到本地计算设备304。视频输入可以由运动图像或一个或多个静止图像。
99.在604处,面部在602处所接收的视频中被检测。面部检测算法可以被用以标识视频输入中对应于人类面部的部分,例如特定像素。
100.在606处,在604处所标识的面部中的面部特征的地标位置可以被提取。面部特征
的地标位置可以是诸如眼睛的位置、嘴角的位置、眉毛和发际线之间的距离、露出的牙齿等。
101.在608处,面部表情从面部特征的位置被确定。面部表情可以是诸如微笑、皱眉头、皱眉毛、睁大眼睛等。基于面部表情与情绪之间的已知相关性(例如,微笑的嘴表示幸福),面部表情的分析可以被做出以标识用户102的感情表达。从面部表情所标识的用户102的感情表达可以是诸如中性、愤怒、厌恶、恐惧、快乐、悲伤、惊讶或另一感情的感情。
102.在610处,在相机306生成的图像中用户102的头部定向被标识。头部定向可以通过任何已知技术被标识,诸如标识在606处所提取的面部特征地标相对于水平线或基线(诸如相机306的定向)的相对位置。头部定向可以随着时间的推移间歇地或连续地被确定来提供对头部运动的指示。
103.在612,确定会话代理正在说话。用于生成具化的会话代理302的合成面部表情的技术可以取决于会话代理说话或不说话的状态而不同。如果会话代理因为没有人在说话或者用户102正在说话而没有说话,则过程600进行到614,但是如果具化的会话代理302正在说话,则过程600进行到620。如果在针对会话代理的合成语音正在被生成的同时检测到用户的语音,则响应对话的输出可以停止,使得会话代理变得安静并且“聆听”用户。如果用户102或会话代理都没有说话,则会话代理可以在一个时间延迟后开始说话。时间延迟的长度可以基于会话代理与用户之间过去的会话历史。
104.在614处,具化的会话代理被生成。具化的会话代理302的生成可以通过使用3d视频绘制技术生成具化的会话代理302的面部的物理模型而被实现。
105.在616处,用于具化的会话代理302的合成面部表情被生成。因为用户102正在说话,并且具化的会话代理302在会话的这些部分期间通常不说话,所以合成面部表情将不包括单独的嘴唇同步运动,而是将具有与面部的其余部分的面部表情对应的嘴的形状和运动。
106.合成面部表情可以基于在608处所标识的用户102的面部表情,并且也可以基于在610所标识的用户102的头部定向。具化的会话代理302可以尝试匹配用户102的面部表情,或者可以将它的面部表情改变为与用户102的面部表情更类似但不完全匹配。在一个实现中,匹配用户102的面部表情可以通过以下被执行:基于在用户102面部中所观察到的emfacs来标识au,并且在具化的会话代理302的合成面部表情上建模相同的au。
107.在一个实现中,在图5中的512处所标识的用户102的语音104的情绪也可以用于确定用于具化的会话代理302的合成面部表情。因此,用户102的词语以及他或她的面部表情可以影响具化的会话代理302的面部表情。例如,如果用户102的语音104的情绪被标识为对代理生气,则具化的会话代理302的合成面部表情可以不反映生气,而是表示不同的情绪,诸如遗憾或悲伤。
108.在618处,在614处所生成的具化的会话代理302被绘制。在614处具化的会话代理的生成可以包括标识面部表情、特定au、3d模型等,它们将被用于创建在616处所生成的合成面部表情。在618处的绘制引起该面部表情在显示器、全息图、模型等上的表现。因此,在一个实现中,从614和616的生成可以由第一计算设备(诸如(多个)远程计算设备120)来执行,并且在618处的绘制可以由第二计算设备(诸如本地计算设备304)来执行。
109.如果在612处,具化的会话代理302被标识为说话方,则在620处,具化的会话代理
302根据与如果用户102说话时的参数不同的参数被生成。
110.在622处,具化的会话代理302的合成面部表情被生成。除了反映用户102的面部表情之外,当具化的会话代理302说话时,具化的会话代理302可以具有基于在图5中520处所标识的其响应内容的情绪的合成面部表情。因此,具化的会话代理302的“面部”的表情可以匹配其词语的情绪。
111.在624处,用于具化的会话代理302的嘴唇运动被生成。嘴唇运动基于针对图5中516处所生成的响应对话的被合成的语音。嘴唇运动可以通过基于被合成的词语将嘴唇运动建模的任何嘴唇同步技术来被生成,并且还可以基于韵律特性来修改该嘴唇运动。例如,被合成的嘴唇运动的程度、所示出的牙齿量、口腔张开大小等,可以对应于已合成的语音的响度。因此,窃窃私语或吼叫将引起针对相同的词语的不同的嘴唇运动。嘴唇运动可以与具化的会话代理302的合成面部表情的剩余部分分开生成。
112.在618处,根据在620处所生成的合成面部表情和嘴唇运动,具化的会话代理302被绘制。
113.说明性的计算设备
114.图7示出了说明性计算设备700的计算机架构。计算设备700可以表示位于单个位置或跨多个物理位置分布的一个或多个物理或逻辑计算设备。例如,计算设备700可以表示图1和3所示出的本地计算设备106、304或(多个)远程计算设备。然而,计算设备700的组件中的部分或全部组件可以位于除图1和图3所示出的设备之外的单独设备上。计算机设备700能够实现本公开中讨论的技术或方法中的任何技术或方法。
115.计算设备700包括一个或多个处理器702、一个或多个存储器704、(多个)通信接口706和输入/输出设备708。尽管在图7所示的个体组件之间未示出连接,但是这些部件可以电连接、光学连接、机械连接或其他方式连接,以便交互并执行设备功能。在一些配置中,组件被布置为以便经由一个或多个总线通信,该一个或多个总线可以包括以下一个或多个总线:系统总线、数据总线、地址总线、外围组件互连(pci)总线、微型pci总线和任何种类的本地、外围和/或独立总线。
116.(多个)处理器702可以表示例如中央处理单元(cpu)类型的处理单元、图形处理单元(gpu)类型的处理单元、现场可编程门阵列(fpga)、另一类数字信号处理器(dsp)、或者在某些情况下可以由cpu驱动的其他硬件逻辑组件。例如但不限于,可以被使用的硬件逻辑组件的说明类型包括专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑器件(cpld)等。
117.存储器704可以包括内部存储装置、可移除存储装置、本地存储装置、远程存储装置和/或其他存储设备,以提供计算机可读指令、数据结构、程序模块和其他数据的存储。存储器704可以被实现为计算机可读介质。计算机可读介质包括至少两种类型的介质:计算机可读存储介质和通信介质。计算机可读存储介质包括以任何方法或技术实现的易失性和非易失性、可移除和不可移除介质,用于存储信息,诸如计算机可读指令、数据结构、程序模块或其他数据。计算机可读存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、光盘只读存储器(cd

rom)、数字通用盘(dvd)或其他光学存储、磁盒、磁带、磁盘存储装置或其他磁存储设备、穿孔卡或其他机械存储器、化学存储器、或者可用于存储信息以供计算设备访问的任何其他非传输介质。
118.相反,通信介质可以将计算机可读指令、数据结构、程序模块或其他数据包含在调制数据信号中,诸如载波或其他传输机制。如本文所限定的,计算机可读存储介质和通信介质是相互排斥的。
119.计算机可读介质还可以存储由外部处理单元(诸如外部cpu、外部gpu)可执行的指令,和/或由外部加速器(诸如fpga型加速器、dsp型加速器或任何其他内部或外部加速器)可执行的指令。在各种示例中,计算设备中包含至少一个cpu、gpu和/或加速器,而在一些示例中,cpu、gpu和/或加速器中的一个或多个cpu、gpu和/或加速器位于计算设备外部。
120.(多个)通信接口706可以包括用于支持两个或更多个计算设备(包括但不限于本地计算设备106、304和一个或多个远程计算设备120)之间的通信的各种类型的网络硬件和软件。应当理解,(多个)通信接口706也可以被利用以连接到其他类型的网络和/或计算机系统。(多个)通信接口706可以包括用于实现有线和无线通信技术(诸如以太网、和wi

fi
tm
)的硬件(例如,网卡或网络控制器、无线电天线等)和软件。
121.输入/输出设备708可以包括诸如键盘、指点设备、触摸屏、麦克风110、麦克风308、相机306、键盘310、显示器316、一个或多个扬声器108、一个或多个扬声器312、打印机等设备,以及一个或多个接口组件,诸如数据输入/输出接口组件(“数据i/o”)。
122.计算设备700包括多个模块,这些模块可被实现为存储在存储器704中用于由(多个)处理器702执行的指令,和/或全部或部分由一个或多个硬件逻辑组件或固件实现。所图示的模块的数目仅是示例,在任何特定实现中,该数目可以更高或更低。即,本文中与所图示的模块相关联的所描述的功能性可以由一个设备上的更少数目的模块或更大数目的模块执行,或者跨多个设备散布。
123.语音检测模块710处理麦克风输入,以提取嗓音的片段。语音检测,也称为嗓音活动检测(vad),是用于语音处理的技术,其中人类语音的存在或不存在被检测。vad主要用于语音编码和语音识别。多种vad算法和技术对本领域普通技术人员是已知的。在一个实现中,语音检测模块710可以由来自微软公司的windows系统嗓音活动检测器来执行。
124.语音识别模块712识别对应于人类语音的音频信号中的词语。语音识别模块712可以使用用于语音识别的任何合适的算法或技术,包括但不限于隐马尔可夫模型、动态时间规整(dtw)、神经网络、深度前馈神经网络(dnn)或递归神经网络。语音识别模块712可以被实现为语音到文本(stt)系统,其生成所识别语音的文本输出以供进一步处理。
125.语言学风格检测模块714检测可以被称为“内容变量”的用户会话风格的非韵律成分。内容变量可以包括但不限于代词使用、重复和话语长度。第一内容变量(人称代词的使用)测量用户在他或她的语音中使用人称代词(例如,你、他、她等)的比率。通过简单地获得人称代词的使用与每个话语中出现的其他词语(或其他非停止词)相比的比率,该测量可以被计算。
126.为了测量第二内容变量(重复),语言学风格检测模块714使用两个变量,这两个变量都与术语重复相关。在该上下文中的术语是不被认为是停止词的词语。停止词通常指语言中最常见的词语,它们在处理自然语言输入之前或之后被过滤掉,诸如“一”、“该”、“是”、“在”等。具体的停止词列表可以是多变的,以改进结果。重复可以被视为对引入特定话题的持久性的测量。变量中的第一变量测量话语级别上重复术语的出现的比率。第二变量测量包含一个或多个重复术语的话语的比率。
127.第三内容变量(话语长度),是对每话语的词语的平均数目的测量,并且限定用户102每话语的说多长。
128.情绪分析模块716识别来自用户的会话输入的内容中的情绪。会话输入可以是用户的语音或文本输入(诸如针对会话代理的查询框中所键入的问题)。由语音识别模块712输出的文本由情绪分析模块716根据任何合适的情绪分析技术来处理。情绪分析利用自然语言处理、文本分析和计算语言学来系统地标识、提取和量化情感状态和主观信息。文本的情绪可以使用在大量经标记的话语上被训练的分类器模型来被标识。情绪可被映射到诸如积极、中立和消极的类别。备选地,用于情绪分析的模型可以包括更大数目的分类,诸如特定的情绪,例如愤怒、厌恶、恐惧、快乐、悲伤、惊讶和中性。
129.意图识别模块718识别会话输入(诸如由语音识别模块712标识的语音)中的意图。如果语音识别模块712输出文本,则意图识别模块718随后对文本而不是用户语音的音频或用户语音的另一表示采取动作。意图识别使用从经标记的数据集被训练的机器学习技术来标识自然语言中的一个或多个意图。意图可以是用户的“目标”,诸如预订航班或找出包裹将何时被递送。经标记的数据集可以是被标记具有意图数据的文本的集合。意图识别器可以通过训练神经网络(深度或浅度)或使用任何其他机器学习技术(诸如朴素贝叶斯、支持向量机(svm)以及具有n元特征的最大熵)而被创建。
130.存在多个可商购的意图识别服务,这些意图识别服务中的任何一种意图识别服务可以被用作会话代理的部分。一种合适的意图识别服务是从微软公司可获得的语言理解和意图服务(luis)。luis是使用机器学习理解和响应自然语言输入以预测整体含义并且提取相关的详细信息的程序。
131.对话生成模块720捕获来自语言学风格检测模块714和意图识别模块718的输入,以生成将由会话代理产生的对话。因此,对话生成模块720可以响应于检测到的用户意图,将由神经对话生成器的神经模型生成的对话与领域特定的脚本化对话组合。使用这两种源允许对话生成模块720对用户的一些话语提供领域特定的响应,并且维持具有非特定“闲聊”的扩展对话。
132.对话生成模块720生成计算机可读形式的话语表示。这可以是表示将由会话代理“说出”的词语的文本形式。该表示可以是不具有任何关于韵律质量的记号的简单文本文件。备选地,来自对话管理器216的输出可以以更丰富的格式被提供,诸如可扩展标记语言(xml)、java语音标记语言(jsml)或者语音合成标记语言(ssml)。jsml是基于xml的标记语言,用于模仿对语音合成器的文本输入。jsml定义了限定文档结构、某些词语和短语的发音、语音的特征(诸如强调和语调)等的元素。ssml也是针对语音合成应用的基于xml的标记语言,其实际上覆盖了合成的所有方面。ssml包括针对韵律的标记,诸如音高、轮廓(contour)、音高率、讲话速率、持续时间和响度。
133.语言学风格匹配可以由对话生成模块720基于内容变量(例如,名词使用、重复和话语长度)来执行。对话生成模块720试图调整话语的内容或选择话语,以便更紧密地匹配用户的会话风格。因此,对话生成模块720可以创建与用户的话语具有类似类型的代词使用、重复和/或长度的话语。例如,对话生成模块720可以添加或移除人称代词,插入重复短语,并且缩短或延长话语以更好地匹配用户的会话风格。
134.在其中神经对话生成器和/或意图识别模块718针对会话代理的话语产生多个可
能选择的实现中,对话生成模块720可以调整这些选择的排名。这可以通过计算前几名(例如,5、10、15等)可能的响应的语言学风格变量(例如,词语选择和话语长度)来完成。可能的响应然后基于与用户语音的内容变量的匹配紧密程度而被重新排名。排名最高的响应通常在含义上彼此非常相似,因此改变排名很少改变话语的含义,但确实以使会话代理的风格更接近用户的会话风格的方式来影响风格。通常,重新排名后的最高排名响应将被选择作为会话代理的话语。
135.语音合成器722将由会话代理将生成的话语的符号语言学的表示转换成音频文件或电子信号,该音频文件或电子信号可以被提供给计算设备,以创建通过扬声器的音频输出。语音合成器722可以创建完全合成的语音输出,诸如通过声道和其他人类嗓音特性的模型的使用。附加地或备选地,语音合成器722可以通过串接存储在数据库中的已记录语音片来创建语音。数据库可以存储特定的语音单元,例如音素或双音素,或者针对特定的域,可以存储完整的词语或句子,诸如预先确定的脚本化响应。
136.语音合成器722基于来自以下的输入来生成响应对话:来自对话生成模块720的包括话语内容的输入,和来自由语言学风格提取器714提供的声学变量的输入。附加地,语音合成器722可以基于会话上下文来生成响应对话。例如,如果对话上下文表明用户展现出特定心情,则该心情可以被视为标识用户的感情状态,并且响应对话可以是基于用户所感知的感情状态。因此,语音合成器722将生成合成的语音,该合成的语音不仅响应于用户的话语而提供适当的响应内容,而且还基于用户话语中所标识的内容变量和声学变量而被修改。在一个实现中,语音合成器722被提供ssml文件,该ssml文件具有基于对话生成器720和语言学风格检测模块714两者的文本内容和指示韵律特性的标记。该ssml文件或将被输出的语音的其他表示由语音合成器722解释,并且被用于使计算设备生成合成语音的声音。
137.面部检测模块724可以使用任何已知的面部检测算法或技术以标识视频或静止图像输入中的面部。面部检测可以被实现为对象类检测的特定情况。由面部检测模块724使用的面部检测算法可以被设计用于正面人面部的检测。一种合适的面部检测方法可以使用遗传算法和特征脸技术。
138.面部地标跟踪器726从由面部检测器724检测到的面部提取关键面部特征。面部地标可以通过提取面部的几何特征并且产生每个面部运动的临时轮廓来检测。许多用于标识面部地标的技术对本领域普通技术人员是已知的。例如,5点面部地标检测器标识针对左眼的两点、针对右眼的两点和针对鼻子的一点。跟踪更大数目的点的地标检测器,诸如27点面部检测器或68点面部检测器,两者都定位包括眼睛、眉毛、鼻子、嘴巴的区域,并且下颌线也适合。可以使用面部动作编码系统(facs)来表示面部特征。facs是通过面部运动在面部上的外观来分类人类面部运动的系统。个体面部肌肉的运动由facs从面部外观的瞬间变化中的微小差异来编码。
139.表情识别模块728将面部地标解释为指示面部表情和感情。使用感情检测算法,感兴趣的面部区域被分析,以标识与面部表情相关联的感情。表情识别模块728可以返回针对每个或几种可能的情绪的概率,诸如愤怒、厌恶、恐惧、快乐、悲伤、惊讶和中性。最高概率的感情被标识为由用户在相机视野中表达的感情。在一个实现中,来自微软公司的face api可以被用于识别用户面部的表情和感情。
140.由表情识别模块728标识的感情可以被提供给对话生成模块720,以修改具化的会
话代理的话语。因此,由具化的会话代理说出的词语和话语的韵律特性不仅可以基于用户说了什么,还可以基于他或她在说话时的面部表情而改变。
141.头部定向检测模块730部分基于由面部地标跟踪模块726标识的面部地标的位置来跟踪用户的头部的运动。头部定向检测模块730可以提供对用户头部姿势或定向的实时跟踪。
142.音位识别模块732可以对来自音频输入设备的音频样本的连续流采取动作,以标识音位或视位,用于动画化具化的会话代理的嘴唇。音位识别模块732可以被配置为标识任何数目的视位,诸如20个不同的视位。对来自语音合成器722的输出的分析可以返回针对多个不同音位(例如,39个音素和无声)的概率,该概率使用音位到视位映射技术被映射到视位。
143.嘴唇运动模块734使用来自音位识别模块732的视位输入和来自语言学风格检测模块714的韵律特性(例如,响度)。响度可以被表征为响度的多个不同级别中的一个级别。在一个实现中,响度可以被设置为五个级别中的一个级别:超柔和、柔和、中等、响亮和超响亮。响度级别可以从麦克风输入来被计算。嘴唇同步强度可以被表示为浮点数,其中,例如,0.2表示超柔和,0.4表示柔和,0.6表示中等,0.8表示响亮,并且1对应于超响亮的响度变化。
144.来自音位识别模块732的视位的序列被用于控制对应的视位面部预设,用于合成可信的嘴唇同步。在一些实现中,针对至少两个帧,给定视位被示出。为了实现该约束,嘴唇运动模块734可以通过不允许视位在单个帧之后改变来平滑视位输出。
145.具化的代理面部合成器736从表情识别模块728接收所标识的面部表情,并且从头部定向检测模块730接收头部定向。另外,具化的代理面部合成器736可以接收会话上下文信息。具化的代理面部合成器736可以使用该信息在表示具化的会话代理的面部的被合成的输出中模拟用户的感情表达和头部定向及运动。具化的代理面部合成器736还可以从情绪分析模块716接收情绪输出,以修改被合成的输出的上面部(即,除了嘴唇)的感情表达性。
146.表示具化的会话代理的面部的被合成的输出可以基于附加于或代替用户的面部表情的其他因素。例如,计算设备700的处理状态可以确定会话代理的面部的表情和头部定向。例如,如果计算设备700正在处理并且不能立即生成响应,则表情可以看起来在沉思,并且头部方向可以被运动以向上看。这传达了具化的会话代理正在“思考”的感觉,指示用户应当等待会话代理回复。另外,针对会话代理的行为模型可以影响或推翻确定会话代理的合成面部表情的其他因素。
147.被合成的面部上的表情可以由面部au控制。au是单个肌肉或肌肉组的基本动作。针对被合成的面部的au可以由根据感情面部动作编码系统(emfacs)的预设来指定。emfacs是facs针对可能具有感情意义的面部表情的选择性应用。预设可以包括与特定感情相关联的面部运动的特定组合。
148.因此,被合成的面部是当具化的会话代理正在说话时由嘴唇运动模块734生成的嘴唇运动和来自具化的代理面部合成器736的上面部表情两者组成。通过利用头部定向检测模块730来跟踪用户的头部定向、并且将偏航值和翻滚值与具化的会话代理的面部和头部匹配,针对具化的会话代理的被合成的面部的头部运动可以被生成。头部运动可以备选
地或附加地基于其他因素,诸如计算设备700的处理状态。
149.说明性的实施例
150.以下条款描述了用于实现本公开中所描述的特征的多个可能实施例。本文中所描述的各种实施例不是限制性的,也不是来自任何给定实施例的每个特征都必须呈现在另一实施例中。除非上下文另有明确指示,否则实施例中的任何两个或多个实施例可以被组合在一起。如在本文档中所使用的本文的“或”意味着和/或。例如,“a或b”意味着不包括b的a、不包括a的b、或者a和b。如本文中所使用的,“包含”意味着包括所有列出的特征,并且可能包括没有被列出的其他特征的添加。“实质上由

组成”意味着包括所列出的特征以及那些不会对所列出特征的基本和新颖特性产生实质影响的附加特征。“由

组成”意味着仅列出的特征,不包括任何未列出的特征。
151.条款1。一种方法,包括:接收表示用户的语音的音频输入;识别语音的内容;确定语音的语言学风格;基于语音的内容来生成响应对话;以及基于语音的语言学风格来修改响应对话。
152.条款2。条款1的方法,其中语音的语言学风格包括内容变量和声学变量。
153.条款3。条款2的方法,其中内容变量包括以下项中的至少一项:代词使用、重复或话语长度。
154.条款4。条款2至3中的任何条款的方法,其中声学变量包括以下至少一项:语音速率、音高或响度。
155.条款5。条款1至4中的任何条款的方法,还包括:基于从响应对话所标识的情绪,生成用于具化的会话代理的合成面部表情。
156.条款6。条款1至5中的任何条款的方法,还包括:标识用户的面部表情;以及基于用户的面部表情,生成用于具化的会话代理的合成面部表情。
157.条款7。一种系统,包括一个或多个处理器和存储指令的存储器,该指令当由一个或多个处理器执行时,使一个或多个处理器执行条款1至6中的任何条款的方法。
158.条款8。一种其上存储有计算机可执行指令的计算机可读存储介质,该计算机可执行指令当由计算系统的一个或多个处理器执行时,使计算系统执行条款1至6中的任何条款的方法。
159.条款9。一种系统,包括:麦克风,被配置为生成表示声音的音频信号;扬声器,被配置为生成音频输出;一个或多个处理器;以及存储指令的存储器,当指令由一个或多个处理器执行时使一个或多个处理器:检测音频信号中的语音;识别语音的内容;确定与语音相关联的会话上下文;以及生成响应对话,响应对话具有基于语音的内容的响应内容和基于与语音相关联的会话上下文的韵律质量。
160.条款10。条款9的系统,其中,韵律质量包括以下至少一项:语音速率、音高或响度。
161.条款11。条款9至10中的任何条款的系统,其中会话上下文包括:语音的语言学风格、系统的设备使用模式、或者与系统相关联的用户的通信历史。
162.条款12。条款9至11中的任何条款的系统,还包括显示器,并且其中指令使一个或多个处理器在显示器上生成具化的会话代理,并且其中具化的会话代理具有基于与语音相关联的会话上下文的合成面部表情。
163.条款13。条款12的系统,其中会话上下文包括从响应对话所标识的情绪。
164.条款14。条款12至13中的任何条款的系统,还包括相机,其中指令使一个或多个处理器在由相机生成的图像中标识用户的面部表情,并且在会话上下文上包括用户的面部表情。
165.条款15。条款12至14中任何条款的系统,还包括相机,其中指令使一个或多个处理器在由相机生成的图像中标识用户的头部定向,并且其中具化的会话代理具有基于用户的头部定向的头部姿势。
166.条款16。一种系统,包括:用于生成表示声音的音频信号的装置;用于生成音频输出的装置;一个或多个处理器装置;用于存储指令的装置;用于检测音频信号中的语音的装置;用于识别语音的内容的装置;用于确定与语音相关联的会话上下文的装置;以及用于生成响应对话的装置,响应对话具有基于语音的内容的响应内容和基于与语音相关联的会话上下文的韵律质量。
167.条款17。一种计算机可读存储介质,其上存储有计算机可执行指令,该指令当由计算系统的一个或多个处理器执行时,使计算系统:接收来自用户的会话输入;接收包括用户面部的视频输入;确定用户的会话输入的语言学风格;确定用户的面部表情;基于语言学风格来生成响应对话;以及生成具化的会话代理,该会话代理具有基于响应对话的嘴唇运动和基于用户的面部表情的合成面部表情。
168.条款18。条款17的计算机可读存储介质,其中会话输入包括用户的文本输入或语音。
169.条款19。条款17至18中的任何条款的计算机可读存储介质,其中会话输入包括用户的语音,并且其中语言学风格包括内容变量和声学变量。
170.条款20。条款17至19中的任何条款的计算机可读存储介质,其中确定用户的面部表情包括标识用户的感情表达。
171.条款21。条款17至20中的任何条款的计算机可读存储介质,其中还使计算系统:标识用户的头部定向;并且使具化的会话代理具有基于用户的头部定向的头部姿势。
172.条款22。条款17至21中的任何条款的计算机可读存储介质,其中响应对话的韵律质量基于用户的面部表情。
173.条款23。条款17至22中的任何条款的计算机可读存储介质,其中,合成面部表情基于用户的语音中所标识的情绪。
174.条款24。一种包括一个或多个处理器的系统,该一个或多个处理器被配置为执行存储在条款17至23中的任何条款的计算机可读存储介质上的指令。
175.结论
176.为便于理解,本公开中所讨论的过程被描述为表示为独立块的单独的操作。然而,这些单独描述的操作不应当被解释为必然依赖于它们执行的顺序。过程被描述的顺序不旨在被解释为限制,并且任意数目的所描述的过程块可以以任何顺序组合以实现过程或备选过程。此外,所提供的操作中的一个或多个操作还可以被修改或被省略。
177.尽管主题已经以特定于结构特征和/或方法动作的语言被描述,但是应当理解,所附权利要求中所限定的主题不必然限于上述特定特征或动作。确切地说,特定特征和行为作为实现权利要求的示例形式被公开。
178.在描述本发明的上下文中所使用的术语“一”、“一个”、“该”和类似的指示物(尤其
是在所附权利要求的上下文中)应当被解释为覆盖单数和复数两者,除非本文中另有指示或与上下文明显矛盾。术语“基于”、“基于在”和类似的指示物将被解释为意味着“至少部分基于”,其包括“部分基于”和“整体基于”,除非上下文另有指示或明显矛盾。
179.某些实施例在本文中被描述,包括发明人已知的用于实施本发明的最佳模式。当然,对于本领域普通技术人员,在阅读前述描述后,上述实施例的变型将变得明显。熟练的技术人员将知道如何适当地采用这样的变型,并且除了具体描述之外,本文所公开的实施例也可以其他方式被实践。因此,所附权利要求中所述主题的所有修改和等效物被包括在本公开的范围内。此外,在其所有可能变型中的上述元素的任何组合由本发明所涵盖,除非本文中另有指示或与上下文明显矛盾。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文章

  • 日榜
  • 周榜
  • 月榜