用于服务语音发音的高速缓存设备的制作方法

文档序号:11161276阅读:328来源:国知局
用于服务语音发音的高速缓存设备的制造方法与工艺

本专利申请要求2014年9月30日提交的名称为“CACHING APPARATUS FOR SERVING PHONETIC PRONUNCIATIONS”的美国临时申请序列号62/058,084,以及2015年8月25日提交的名称为“CACHING APPARATUS FOR SERVING PHONETIC PRONUNCIATIONS”的美国非临时申请序列号14/835,520的优先权,所述申请出于所有目的据此全文以引用方式并入。



背景技术:

该技术领域整体涉及自然语言处理,并且更具体地讲,涉及用于自然语言处理的发音词典。

背景技术

智能自动化助理(或虚拟助理)在用户和电子设备之间提供直观界面。这些助理可允许用户使用语音形式和/或文本形式的自然语言与设备或系统进行交互。例如,用户可通过以自然语言形式向与电子设备相关联的虚拟助理提供语音用户输入来访问电子设备的服务。虚拟助理可对语音用户输入执行自然语言处理以推断用户的意图并将用户的意图实施到任务中。然后,可通过执行电子设备的一个或多个功能来执行任务,并且可以自然语言形式将相关输出返回给用户。

常规虚拟助理使用发音词典来识别包含在语音用户输入中的字词。这些发音词典通常包括用于预定组的常用字词的一个或多个语音发音。因此,当接收到语音用户输入时,虚拟助理可将该输入与发音词典中的语音发音进行比较,以识别词典中与语音用户输入最紧密匹配的字词。

虽然常规发音词典可用于有效地识别虚拟助理遇到的字词中的许多,但是可能难以使用常规发音词典来识别命名实体,诸如人名、餐馆、城市、电影等。这是因为对于常规发音词典来说,包括所有可能的命名实体可能是不切实际的。例如,常规发音词典通常要求每个发音由语音学家手动输入。以这种方式输入所有可能的命名实体可能是过分耗时的。此外,即使将所有命名实体加入到常规发音词典,大量的发音也可能导致类似发音的字词之间的混淆。因此,虚拟助理可能常常不正确地识别用户的语音输入中的字词。

因此,需要用于生成、管理和使用发音词典的改进过程。



技术实现要素:

本发明提供了用于生成共享发音词典并且使用该共享发音词典来解释由虚拟助理接收的语音用户输入的系统和过程。在一个实施例中,该过程可包括从多个用户接收字词或命名实体的发音。发音可标记有上下文标签并存储在共享发音词典中。共享发音词典然后可用于通过以下方式来解释由用户设备接收的语音用户输入:基于与用户设备相关联的上下文信息来确定共享发音词典的相关子组,并且使用共享发音词典的确定子组对语音用户输入执行语音到文本转换。

附图说明

图1示出根据各种实施例的其中虚拟助理可操作的示例性环境。

图2示出根据各种实施例的示例性用户设备。

图3示出根据各种实施例的用于使用共享发音词典来操作虚拟助理的示例性过程。

图4示出根据各种实施例的用于生成共享发音词典的示例性过程。

图5示出根据各种实施例的用于使用共享发音词典来执行语音合成的示例性过程。

图6示出根据各种实施例的被配置为使用共享发音词典来操作虚拟助理的电子设备的功能框图。

具体实施方式

在以下对示例的描述中将引用附图,在附图中以例示的方式示出了可被实施的特定示例。应当理解,在不脱离各个示例的范围的情况下,可使用其他示例并且可作出结构性变更。

这涉及用于生成共享发音词典并且使用共享发音词典来解释由虚拟助理接收的语音用户输入的系统和过程。在一个实施例中,该过程可包括从多个用户接收字词或命名实体的发音。发音可标记有上下文标签并存储在共享发音词典中。共享发音词典然后可用于通过以下方式来解释由用户设备接收的语音用户输入:基于与用户设备相关联的上下文信息来确定共享发音词典的相关子组,并且使用共享发音词典的确定子组对语音用户输入执行语音到文本转换。

系统概述

图1示出根据各种实施例的用于实现虚拟助理的示例性系统100。术语“虚拟助理”、“数字助理”、“智能自动化助理”或“自动数字助理”可指解译语音和/或文本形式的自然语言输入以推断用户意图,并基于推断出的用户意图来执行动作的任何信息处理系统。例如,为了进行推断出的用户意图,系统可执行以下内容中的一个或多个:通过设计用以实现所推断出的用户意图的步骤和参数来识别任务流,将来自推断出的用户意图的具体要求输入到任务流中;通过调用程序、方法、服务、API等来执行任务流;以及生成对用户的听觉(例如,语音)和/或视觉形式的输出响应。

虚拟助理能够接受至少部分地为自然语言命令、请求、声明、讲述和/或询问的形式的用户请求。通常,用户请求要么寻求虚拟助理作出信息性回答,要么寻求虚拟助理执行任务。针对用户请求的令人满意的响应可包括提供所请求的信息性回答、执行所请求的任务、或这两者的组合。例如,用户可向虚拟助理提出诸如“我现在在哪里?”之类的问题。基于用户的当前位置,虚拟助理可回答“你在中央公园。”用户还可请求执行任务,例如“请提醒我今天下午4点打电话给妈妈。”作为响应,虚拟助理可确认请求,然后在用户的电子时间表中创建适当的提醒项目。在执行所请求的任务期间,虚拟助理有时可在延长的时间段内在涉及多次信息交换的持续对话中与用户进行交互。存在与虚拟助理进行交互以请求信息或执行各种任务的许多其他方法。除提供言语响应并采取经编程的动作之外,虚拟助理还可提供其他视频或音频形式(例如,作为文本、警报、音乐、视频、动画等)的响应。

虚拟助理的示例在2011年1月10日提交的名称为“Intelligent Automated Assistant”的申请人的美国实用新型专利申请序列号12/987,982中有所描述,其全部公开内容以引用方式并入本文。

如图1所示,在一些实施例中,虚拟助理可根据客户端-服务器模型来实施。虚拟助理可包括在一个或多个用户设备102或103上执行的客户端侧部分以及在服务器系统110上执行的服务器侧部分。用户设备102或103可包括任何电子设备,诸如移动电话、平板电脑、便携式媒体播放器、台式计算机、膝上型计算机、PDA、电视、电视机顶盒、可穿戴电子设备等,并且可通过一个或多个网络108与服务器系统110通信,所述一个或多个网络可包括因特网、内联网或任何其他有线或无线的公共或专用网络。在用户设备102或103上执行的客户端侧部分可提供客户端侧功能,诸如面向用户的输入和输出处理以及与服务器系统110的通信。服务器系统110可为驻留在相应用户设备102或103上的任何数量的客户端提供服务器侧功能。

服务器系统110可包括一个或多个虚拟助理服务器114,该虚拟助理服务器可包括面向客户端的I/O接口122、一个或多个处理模块118、数据和模型存储器120以及到外部服务的I/O接口116。面向客户端的I/O接口122可促进虚拟助理服务器114的面向客户端的输入和输出处理。一个或多个处理模块118可利用数据和模型存储器120基于自然语言输入来确定用户的意图,并基于推断出的用户意图来进行任务执行。在一些实施例中,虚拟助理服务器114可通过网络108与外部服务124,诸如电话服务、日历服务、信息服务、消息传送服务、导航服务等通信,以用于任务完成或信息获取。到外部服务的I/O接口116可促进此类通信。

服务器系统110可在计算机的一个或多个独立式数据处理设备或分布式网络上实施。在一些实施例中,服务器系统110可采用第三方服务提供方(例如,第三方云服务提供方)的各种虚拟设备和/或服务来提供服务器系统110的潜在计算资源和/或基础结构资源。

虽然虚拟助理的功能在图1中示为包括客户端侧部分和服务器侧部分,但在一些实施例中,助理的功能可实现为安装在用户设备上的独立应用程序。此外,虚拟助理的客户端部分与服务器部分之间的功能划分在不同的实施例中可变化。例如,在一些实施例中,在用户设备102上执行的客户端可为仅提供面向用户的输入和输出处理功能,并且将虚拟助理的所有其他功能委派给后端服务器的瘦客户端。

用户设备

图2为根据各种实施例的用户设备102的框图。如图所示,用户设备102可包括存储器接口202、一个或多个处理器204,以及外围设备接口206。用户设备102中的各种部件可由一条或多条通信总线或信号线耦接在一起。用户设备102还可包括各种传感器、子系统、以及耦接至外围设备接口206的外围设备。传感器、子系统、以及外围设备采集信息并且/或者促进用户设备102的各种功能。

例如,用户设备102可包括运动传感器210、光传感器212、以及耦接至外围设备接口206以促进取向、照明和接近感测功能的接近传感器214。一个或多个其他传感器216,诸如定位系统(例如,GPS接收器)、温度传感器、生物计量传感器、陀螺仪、指南针、加速度计等,也连接至外围设备接口206,以促进相关功能。

在一些实施例中,相机子系统220和光学传感器222可用于促进相机功能,诸如拍摄照片和记录视频剪辑。可通过一个或多个有线和/或无线通信子系统224来促进通信功能,所述有线和/或无线通信子系统可包括各种通信端口、射频接收器与发射器和/或光学(例如,红外)接收器与发射器。可将音频子系统226耦接到扬声器228和麦克风230以促进启用语音的功能,诸如语音识别、语音复制、数字记录和电话功能。

在一些实施例中,用户设备102还可包括耦接到外围设备接口206的I/O子系统240。I/O子系统240可包括触摸屏控制器242和/或其他输入控制器244。触摸屏控制器242可耦接到触摸屏246。触摸屏246和触摸屏控制器242例如可使用多种触摸灵敏度技术中的任一种来检测接触和移动或它们的间断,所述多种触摸灵敏度技术诸如电容技术、电阻技术、红外技术、和表面声波技术、接近传感器阵列等。可将其他输入控制器244耦接到其他输入/控制设备248,诸如一个或多个按钮、摇臂开关、拇指滚轮、红外端口、USB端口和/或指针设备诸如触笔。

在一些实施例中,用户设备102还可包括耦接到存储器250的存储器接口202。存储器250可包括任何电子、磁性、光学、电磁、红外或半导体系统、装置或设备,便携式计算机磁盘(磁性)、随机存取存储器(RAM)(磁性)、只读存储器(ROM)(磁性)、可擦除可编程只读存储器(EPROM)(磁性)、便携式光盘诸如CD、CD-R、CD-RW、DVD、DVD-R或DVD-RW,或闪存存储器诸如紧凑型闪存卡、安全数字卡、USB存储设备、记忆棒等。在一些实施例中,存储器250的非暂态计算机可读存储介质可用于存储指令(例如,用于执行下面描述的过程300、400和500中的一些或全部),以供指令执行系统、装置或设备诸如基于计算机的系统、包含处理器的系统或可从指令执行系统、装置或设备获取指令并执行指令的其他系统使用或与其结合。在其他实施例中,指令(例如,用于执行下面描述的过程300、400和500中的一些或全部)可存储在服务器系统110的非暂态计算机可读存储介质上,或者可在存储器250的非暂态计算机可读存储介质和服务器系统110的非暂态计算机可读存储介质之间划分。在本文的上下文中,“非暂态计算机可读存储介质”可以是可包含或存储程序以供指令执行系统、装置和设备使用或与其结合的任何介质。

在一些实施例中,存储器250可存储操作系统252、通信模块254、图形用户界面模块256、传感器处理模块258、电话模块260和应用程序262。操作系统252可包括用于处理基础系统服务以及用于执行硬件相关任务的指令。通信模块254可促进与一个或多个附加设备、一个或多个计算机和/或一个或多个服务器的通信。图形用户界面模块256可促进图形用户界面处理。传感器处理模块258可促进传感器相关的处理和功能。电话模块260可促进电话相关的过程和功能。应用程序模块262可促进用户应用程序的各种功能,诸如电子消息传送、网页浏览、媒体处理、导航、成像和/或其他过程和功能。

如本文所述,存储器250还可存储客户端侧虚拟助理指令(例如,在虚拟助理客户端模块264中)以及各种用户数据266(例如,特定于用户的词汇数据、偏好数据,和/或其他数据诸如用户的电子通讯录、待办事项列表、购物清单等)以提供虚拟助理的客户端侧功能。

在各种实施例中,虚拟助理客户端模块264能够通过用户设备102的各种用户界面(例如,I/O子系统240、音频子系统226等)接受声音输入(例如,语音输入)、文本输入、触摸输入和/或手势输入。虚拟助理客户端模块264还能够提供音频(例如,语音输出)、视频和/或触觉形式的输出。例如,可将输出提供为语音、声音、警报、文本消息、菜单、图形、视频、动画、振动、和/或以上两者或更多者的组合。在操作期间,虚拟助理客户端模块264可使用通信子系统224与虚拟助理服务器通信。

在一些实施例中,虚拟助理客户端模块264可利用各种传感器、子系统和外围设备来从用户设备102的周围环境采集附加信息以建立与用户、当前用户交互、和/或当前用户输入相关联的上下文。在一些实施例中,虚拟助理客户端模块264可将上下文信息或其子组与用户输入一起提供至虚拟助理服务器以帮助推断用户的意图。虚拟助理也可使用上下文信息来确定如何准备输出并将其传送至用户。

在一些实施例中,伴随用户输入的上下文信息可包括传感器信息,诸如照明、环境噪声、环境温度、周围环境的图像或视频、到另一对象的距离等。上下文信息还可包括与用户设备102的物理状态(例如,设备取向、设备位置、设备温度、功率电平、速度、加速度、运动模式,蜂窝信号强度等)或者用户设备102的软件状态(例如,运行过程、安装的程序、过去和当前的网络活动、后台服务、错误日志、资源使用等)相关联的信息。这些类型的上下文信息中的任一者可作为与用户输入相关联的上下文信息提供给虚拟助理服务器114。

在一些实施例中,虚拟助理客户端模块264可响应于来自虚拟助理服务器114的请求而选择性地提供存储在用户设备102上的信息(例如,用户数据266)。虚拟助理客户端模块264还可在虚拟助理服务器114请求时引出来自用户经由自然语言对话或其他用户界面的附加输入。虚拟助理客户端模块264可将附加输入传送至虚拟助理服务器114,以帮助虚拟助理服务器114进行意图推断和/或满足在用户请求中表达的用户意图。

在各种实施例中,存储器250可包括另外的指令或更少的指令。此外,可在硬件和/或固件中包括在一个或多个信号处理和/或专用集成电路中执行用户设备102的各种功能。

虽然未示出,但用户设备103可包括与图2所示的用户设备102类似或相同的部件。

共享发音词典

图3示出根据各种实施例的用于使用共享发音词典来操作虚拟助理的示例性过程300。在一些实施例中,过程300可由与系统100类似或相同的虚拟助理系统执行。

在框302处,一个或多个服务器(例如,服务器系统110)可生成共享发音词典。一般来讲,共享发音词典可为包含任何数量的字词或命名实体的任何数量的发音的动态词典。可以从一个或多个服务器所支持的用户(例如,用户设备102和103的用户)接收共享发音词典中的发音中的一些或全部。如下文更详细地讨论,共享发音词典可由一个或多个服务器使用来从支持的用户中的任一者识别包含在用户语音中的字词或名称。

图4示出示例性过程400,该过程可在框302处执行以生成共享发音词典。在框402处,一个或多个服务器(例如,服务器系统110)可接收命名实体的发音,诸如联系人列表中的名称、餐馆、城市、感兴趣的人等。在一些实施例中,在框402处接收的发音可包括由用户设备(例如,用户设备102或103)捕捉的用户说出命名实体的名称的音频记录。在这些实施例中,框402还可包括处理音频记录以生成表示命名实体的发音的声音模型。在其他实施例中,用户设备(例如,用户设备102或103)可捕获用户说出命名实体的名称的音频记录并且可生成表示命名实体的发音的声音模型。在这些实施例中,在框402处接收命名实体的发音可包括接收表示命名实体的发音的声音模型。

在框404处,一个或多个服务器可任选地确定在框402处接收的命名实体的发音的一个或多个上下文标签。上下文标签可包括关于命名实体的发音的适用性的文本或其他描述,诸如发音应用的位置、主题域、语言等。例如,名称的发音可标记有识别发音应当应用的国家或地区的位置标签。该标签可有利地用于正确地识别根据说话者的位置而变化的字词或命名实体的适当发音。在另一个实施例中,命名实体的发音可标记有识别发音应当应用的主题域(例如,运动、餐馆等)的域标签。该标签可有利地用于正确地识别根据主题域而变化的字词或命名实体的适当发音。例如,体育运动员的名称可与餐馆名称的发音不同,而拼写方式相同。在又一个实施例中,命名实体的发音可标记有识别发音应当应用的语言(例如,英语、法语、意大利语等)的语言标签。该标签可有利地用于正确地识别根据所说的语言而变化的字词或命名实体的适当发音。例如,名称“Jean”可用英语以一种方式发音,而用法语以另一种方式发音。

在一些实施例中,可至少部分地基于在框402处从提供发音的用户设备接收的上下文信息来确定一个或多个上下文标签。上下文信息可包括来自设备的任何类型的上下文信息,诸如传感器信息,诸如照明、环境噪声、环境温度、周围环境的图像或视频、到另一个对象的距离等。上下文信息还可包括与用户设备的物理状态(例如,设备取向、设备位置、设备温度、功率电平、速度、加速度、运动模式,蜂窝信号强度等)或者用户设备的软件状态(例如,运行过程、用户设置、用户偏好、安装的程序、过去和当前的网络活动、后台服务、错误日志、资源使用、先前接收的用户输入、最近生成/接收的文本或电子邮件消息等)相关联的信息。这些和其他类型的上下文信息可用于确定可能与在框402处接收的发音相关联的位置、域、语言等。例如,用户当前正在观看的信息、在用户设备上运行的应用程序的类型、用户的最近的电子邮件或SMS消息的内容等可用于确定用户可能认为当前是相关的主题域。在其他实施例中,用户设备的位置(例如,如使用GPS或其他定位传感器所确定)可用于确定用户可能认为当前是相关的位置。在又一个实施例中,用户的语言设置、在最近的电子邮件或SMS消息中使用的语言等可用于确定用户可能认为当前是相关的语言。

尽管上文提供了上下文信息用以确定上下文标签的特定用途,但是应当理解,可使用其他类型的上下文信息来确定任何类型的上下文标签。

在框406处,一个或多个服务器可存储在框402处接收的命名实体的发音,并且任选地存储在框404处在共享发音词典中确定的一个或多个上下文标签。在一些实施例中,共享发音词典可本地存储在一个或多个服务器处(例如,在数据和模型存储器120中),或者可从一个或多个服务器进行远程存储。过程400然后可返回到框402,其中可从相同或不同的用户和用户设备接收相同或不同的字词或命名实体的附加发音。

重新参照图3,在框302处生成共享发音词典之后,过程300可进行到框304。在框304处,一个或多个服务器可从用户设备(例如,用户设备102或103)接收表示用户设备和/或其用户的上下文的上下文信息。在一些实施例中,上下文信息可包括来自设备的任何类型的上下文信息,诸如传感器信息,诸如照明、环境噪声、环境温度、周围环境的图像或视频、到另一个对象的距离等。上下文信息还可包括与用户设备的物理状态(例如,设备取向、设备位置、设备温度、功率电平、速度、加速度、运动模式,蜂窝信号强度等)或者用户设备的软件状态(例如,运行过程、用户设置、用户偏好、安装的程序、过去和当前的网络活动、后台服务、错误日志、资源使用、先前接收的用户输入、最近生成/接收的文本或电子邮件消息等)相关联的信息。虽然上文提供了特定类型的上下文信息,但是应当理解,可以接收表示用户设备和/或其用户的上下文的任何其他类型的上下文信息。

在框306处,一个或多个服务器可基于在框304处接收的上下文信息来确定可能与用户相关的共享发音词典的子组。共享发音词典的子组通常可包括来自共享发音词典的基于用户设备的上下文可能从用户设备接收的字词或命名实体。例如,如果在框304处接收的上下文信息包括用户的联系人列表,则联系人列表中的名称中的一些或全部的发音可从共享发音词典中提取,并且包括在于框306处确定的子组中,因为用户可能会提供包含这些名称之一的语音输入。

在另一个实施例中,上下文信息可包括由用户在用户设备上生成或接收的最近的电子邮件或文本消息的内容或与其相关联的信息。在该实施例中,可以确定正在那些消息中讨论的主题域(例如,运动、餐馆、音乐等)并且将其用于搜索在共享发音词典中的与那些域相关联的字词或命名实体。这些字词或命名实体的发音可包括在共享发音词典的子组中。在一些实施例中,这可包括识别具有与所确定的域相关联的上下文标签的字词或命名实体,以及包括共享发音词典的子组中的那些字词或命名实体的发音。

在又一个实施例中,上下文信息可包括当前正在用户设备上显示的信息,诸如附近餐馆的搜索结果的列表。在该实施例中,列表中的餐馆名称中的一些或全部的发音可从共享发音词典中提取,并且包括在所确定的子组中,因为用户可能会提供包含这些名称之一的语音输入。

在另一个实施例中,上下文信息可包括由用户提供或由用户设备和/或一个或多个服务器推断的关于用户的用户偏好。例如,基于加载在用户设备中的应用程序、用户的因特网浏览历史以及用户的电子邮件和SMS消息的内容,可以确定用户对电影、音乐和食物感兴趣,但对运动不感兴趣。在该实施例中,与这些类型的上下文标签相关联的字词或命名实体中的一些或全部的发音可包括在在框306处确定的子组中,因为来自用户的语音输入可能会包括这些字词或命名实体之一。

在另一个实施例中,上下文信息可包括关于当前相关或感兴趣的话题的信息。该上下文信息可从用户设备以及由一个或多个服务器支持的其他用户设备(例如,基于在设备上执行的流行搜索查询)接收,或者可由一个或多个系统的操作者识别。这些话题可包括最近或即将上映的电影、最近或即将到来的体育赛事、或任何其他值得注意的本地或全球事件。在这些实施例中,与这些类型的上下文标签相关联的字词或命名实体中的一些或全部的发音可包括在在框306处确定的子组中,因为来自用户的语音输入可能会包括这些字词或命名实体之一。

虽然上文提供了上下文信息用以确定共享发音词典的相关子组的特定用途,但应当理解,指示特定字词或命名实体将与用户相关的可能性的任何其他类型的上下文信息可用于确定共享发音词典的子组。

在框308处,一个或多个服务器可接收表示包括来自用户设备的用户语音的音频输入的音频数据。例如,包括用户语音的音频输入可由用户设备接收。在一些实施例中,用户设备可经由麦克风(例如,麦克风230)接收包括用户语音的音频输入。麦克风可将音频输入转换为模拟或数字表示,并且将表示音频输入的音频数据提供给用户设备的一个或多个处理器(例如,处理器204)。用户设备然后可将音频数据(例如,经由网络108)传输到一个或多个服务器。

在框310处,一个或多个服务器可使用在框306处确定的共享发音词典的子组对表示音频输入的音频数据执行语音到文本转换。例如,一个或多个服务器可将所接收的音频数据与表示子组中的一个或多个字词的发音的一个或多个声音模型进行比较,以识别最紧密匹配音频输入的字词或名称。该过程可排除将所接收的音频数据与表示未包括在于框308处确定的子组中的字词和命名实体的发音的声音模型进行比较,以减少音频输入需要与其比较的模型的数量。在一些实施例中,框310还可包括使用普通词典来执行语音到文本转换,该普通词典与动态生成的共享发音词典分开并且包含常用字词和短语。作为执行框310的结果,一个或多个服务器可识别包含在音频输入的用户语音中的一个或多个字词并将这些字词转换为文本表示。

使用过程300,实现虚拟助理的一个或多个服务器可以动态地生成共享发音词典(例如,使用过程400)来创建具有用于任何数量的字词或短语的许多发音的词典。由于发音可由系统的用户提供,所以发音可有利地快速进行,并且可包括用户发出的所有字词和命名实体的所有可能的变化。在虚拟助理系统的多个(在一些实施例中,全部)用户之间使用共享发音词典提供了以下益处:每个用户可访问几乎任何字词或命名实体的所有可能的发音,而不必手动输入那些发音本身。另外,过程300提供允许虚拟助理系统仅选择整个共享发音词典的一部分以便基于用户或用户设备的上下文来处理用户输入的益处。这有利地允许虚拟助理系统减少在执行语音到文本转换时系统可以与音频输入进行比较的发音的总数,同时仍然使用最可能由用户发出的字词和命名实体的发音。这有利地减少进行比较所需的时间量,并且减小将在类似发音的字词或命名实体之间进行错误匹配的可能性。

虽然以特定顺序示出了过程300的框,但应当理解,可以任何顺序执行它们或者可同时执行它们。例如,可继续执行框302以利用从用户接收的发音来更新共享发音词典,同时可执行框304、306、308和310以对语音用户输入执行语音到文本转换。另外,应当理解,过程300的框可重复任何次数以对任何数量的语音用户输入执行语音到文本转换。在一些实施例中,当处理来自相同用户设备的多个语音用户输入时,框304和306可仅执行一次以最初确定共享发音词典的适当子组。随后接收的语音用户输入可通过重复框308和310来处理。然而,如果用户的上下文改变,则一个或多个服务器可请求更新的上下文信息并且/或者用户设备可将更新的上下文信息推送到一个或多个服务器,使得框304和306再次被执行。

在一些实施例中,另选地或除此之外,共享发音词典可由一个或多个服务器用来执行语音合成。图5示出用于执行这样的功能的示例性过程500。在一些实施例中,过程500可在过程300的框310之后执行。

在框502处,一个或多个服务器可确定对在过程300的框308处接收的音频输入的用户语音的响应。在一些实施例中,这可包括如上所述对在框310处生成的用户语音的文本表示执行自然语言处理以确定要以语音形式呈现给用户的信息(例如,搜索结果)或消息。例如,响应于请求附近意大利餐馆的名称的用户语音,一个或多个服务器可推断用户想要在用户的当前位置附近的意大利餐馆的名称的用户意图,可执行搜索查询以识别此类餐馆,并且确定包含一个或多个附近意大利餐馆的名称的对话串,该对话串以自然语言形式传达所请求的信息。

在框504处,一个或多个服务器可确定包括在于框502处确定的响应中的一个或多个字词或命名实体的发音。在一些实施例中,这可包括搜索在过程300的框306处确定的共享发音词典或共享发音词典的子组以用于所确定的响应中的字词或命名实体的文本表示。在一些实施例中,如果匹配字词或命名实体图标包括不止一个发音,则框504可包括选择最可能是该字词或命名实体的正确发音的发音之一。可至少部分地基于与在框502处确定的响应相关联的上下文信息来作出该确定。例如,与响应相关联的主题域(例如,餐馆域)可用于过滤与相关域无关的字词或命名实体的发音。位置、语言或其他标签可类似地用于识别字词或命名实体的适当发音。

在框506处,一个或多个服务器可将在框502处确定的响应和在框504处确定的响应中包含的一个或多个字词或命名实体的发音传输到用户设备。

使用过程500,实现虚拟助理的一个或多个服务器可使用共享发音词典来合成要提供回到用户的语音。由于共享发音词典可由来自虚拟助理系统的多个(例如,全部)用户的输入生成,所以一个或多个服务器可有利地访问几乎任何字词或命名实体的所有可能的发音。另外,过程500提供以下益处:允许虚拟助理系统仅使用整个共享发音词典的被确定为可能与从用户接收的输入相关的一部分以用于合成要作为响应提供回到用户的语音。这有利地允许虚拟助理系统使用最有可能被提供回到用户的字词和命名实体的发音来执行语音合成(由于响应可能与用户输入的内容相关),从而减少系统可从中选择的发音的总数。这有利地减少识别适当发音所需的时间量。

在一些实施例中,由于出于性能原因施加在共享发音词典上的存储约束和/或限制,共享发音词典的大小可能受到限制。在这些实施例中,可从共享发音词典中移除字词和命名实体(及其相关联的发音),以为新接收的字词和命名实体的发音提供空间。在一些实施例中,可基于字词或命名实体被访问的新近程度(例如,在框406处添加发音,在框306处包括在子组中,用于在框310处执行语音到文本转换,用于在框504处执行语音合成等)来选择字词和命名实体(及其相关联的发音)以便移除。在这些实施例中,可选择在最大时间量内未被访问的字词或命名实体以便移除。

应当理解,过程300、400和500的框可在用户设备102或103、服务器系统110或用户设备102或103和服务器系统110的组合上执行。例如,在一些实施例中,过程300、400和500的所有框可在用户设备102或103上执行。在其他实施例中,过程300、400和500的一些框可在用户设备102或103处执行,而过程300、400和500的其他框可在服务器系统110处执行。在又一个实施例中,过程300、400和500的所有框可在服务器系统110处执行。

电子设备

根据一些实施例,图6示出根据各种所述实施例的原理进行配置的电子设备600的功能框图。设备的功能框可由用以进行各种所述实施例的原理的硬件、软件或硬件和软件的组合来实现。本领域的技术人员应当理解,图6中所述的功能框可被组合或被分离为子框,以实现各种所述实施例的原理。因此,本文的描述任选地支持本文所述的功能框的任何可能的组合或分离或进一步限定。

如图6所示,电子设备600可包括被配置为显示用户界面并且接收触摸输入的触摸屏显示器单元602,以及被配置为接收声音输入的声音接收单元604。在一些实施例中,电子设备600可包括被配置为生成声音的扬声器单元606。电子设备600还可包括耦接到触摸屏显示器单元602和声音接收单元604(并且任选地耦接到扬声器单元606)的处理单元608。在一些实施例中,处理单元608可包括第一发音接收单元610、第一发音存储单元612、第二发音接收单元614、第二发音存储单元616、第三发音接收单元618、第三发音存储单元620、上下文接收单元622、子组确定单元624、音频数据接收单元626、语音到文本单元628、响应确定单元630、发音确定单元632、传输单元634和删除单元636。

处理单元608可被配置为从第一用户设备接收(例如,使用第一发音接收单元610)第一命名实体的发音。第一发音存储单元612可被配置为将第一命名实体的发音存储在共享发音词典中。第二发音接收单元614可被配置为从第二用户设备接收第二命名实体的发音。第二发音存储单元616可被配置为将第二命名实体的发音存储在共享发音词典中。

在一些实施例中,第一发音存储单元612可被配置为通过以下方式来将第一命名实体的发音存储在共享发音词典中:确定第一命名实体的发音的一个或多个上下文标签;以及存储与所确定的一个或多个上下文标签相关联的第一命名实体的发音。

在一些实施例中,一个或多个上下文标签包括识别与第一命名实体的发音相关联的位置的位置标签。

在一些实施例中,一个或多个上下文标签包括识别与第一命名实体的发音相关联的主题域的域标签。

在一些实施例中,一个或多个上下文标签包括识别与第一命名实体的发音相关联的语言的语言标签。

在一些实施例中,第三发音接收单元618可被配置为从第三用户设备接收第一命名实体的第二发音。在一些实施例中,第三发音存储单元620可被配置为将第一命名实体的第二发音存储在共享发音词典中。

在一些实施例中,上下文接收单元622可被配置为从第四用户设备接收第四用户设备的上下文。在一些实施例中,子组确定单元624可被配置为基于第四用户设备的上下文来确定共享发音词典的相关子组。在一些实施例中,音频数据接收单元626可被配置为从第四用户设备接收表示用户语音的音频数据。在一些实施例中,语音到文本单元628可被配置为使用共享发音词典的确定相关子组对音频数据执行语音到文本转换以生成用户语音的文本表示。

在一些实施例中,语音到文本单元628可被配置为使用共享发音词典的确定相关子组对音频数据执行语音到文本转换,而不使用共享发音词典的未包括在共享发音词典的确定相关子组中的部分。

在一些实施例中,子组确定单元624可被配置为基于第四用户设备的上下文,通过确定在共享发音词典的相关子组中包括在共享发音词典中的与跟第四用户设备的上下文相关的上下文标签相关联的命名实体的一个或多个发音来确定共享发音词典的相关子组。

在一些实施例中,第四用户设备的上下文包括存储在第四用户设备上的联系人列表。在这些实施例中,子组确定单元624可被配置为基于第四用户设备的上下文,通过确定在共享发音词典的相关子组中包括在联系人列表中、也在共享发音词典中的命名实体的一个或多个发音来确定共享发音词典的相关子组。

在一些实施例中,响应确定单元630可被配置为确定对用户语音的响应,其中该响应包括命名实体。在一些实施例中,发音确定单元632可被配置为使用共享发音词典的确定相关子组来确定命名实体的发音。在一些实施例中,传输单元634可被配置为将响应和命名实体的发音传输到第四用户设备。

在一些实施例中,删除单元636可被配置为删除在共享发音词典中的最近最少被访问的命名实体的一个或多个发音。

在一些实施例中,第一命名实体的发音包括与说出第一命名实体的第一用户设备相关联的用户的音频记录。在这些实施例中,第一发音存储单元612可被配置为通过以下方式将第一命名实体的发音存储在共享发音词典中:基于音频记录生成表示第一命名实体的发音的声音模型,并且将该声音模型存储在共享发音词典中。

在一些实施例中,第一命名实体的发音包括表示由第一用户设备生成的第一命名实体的发音的声音模型。

如上所述,本发明技术的一个方面在于采集和使用得自各种来源的数据,以改进向用户递送其可能感兴趣的启发内容或任何其他内容。本公开设想到,在一些实例中,这些所采集的数据可包括唯一地识别或可用于联系或定位特定人员的个人信息数据。此类个人信息数据可包括人口数据、基于位置的数据、电话号码、电子邮件地址、家庭地址或任何其他识别信息。

本公开认识到在本发明技术中使用此类个人信息数据可用于使用户受益。例如,该个人信息数据可用于递送用户较感兴趣的目标内容。因此,使用此类个人信息数据使得能够对所递送的内容进行有计划的控制。另外,本公开还设想到个人信息数据有益于用户的其他用途。

本公开还设想到负责此类个人信息数据的收集、分析、公开、传输、存储或其他用途的实体将遵守已确立的隐私政策和/或隐私实践。具体地讲,此类实体应当实行并坚持使用被公认为满足或超出对维护个人信息数据的隐私性和安全性的行业或政府要求的隐私政策和实践。例如,来自用户的个人信息应当被收集用于实体的合法且合理的用途,并且不在这些合法使用之外共享或出售。另外,此类收集应当仅在用户知情同意之后进行。另外,此类实体应采取任何所需的步骤,以保障和保护对此类个人信息数据的访问,并且确保能够访问个人信息数据的其他人遵守他们的隐私政策和程序。另外,这种实体可使其本身经受第三方评估以证明其对广泛接受的隐私政策和方法的坚持。

不管前述情况如何,本公开还设想到用户选择性地阻止使用或访问个人信息数据的实施例。也就是说,本公开设想到可提供硬件元件和/或软件元件,以防止或阻止对此类个人信息数据的访问。例如,就广告递送服务而言,本发明的技术可被配置为在注册服务期间允许用户选择“加入”或“退出”参与对个人信息数据的收集。在另一个实施例中,用户可选择不为目标内容递送服务提供位置信息。在又一个实施例中,用户可选择不提供精确的位置信息,但准许传输位置区域信息。

因此,虽然本公开广泛地覆盖了使用个人信息数据来实现一个或多个各种所公开的实施例,但本公开还预期各种实施例也可在无需访问此类个人信息数据的情况下被实现。也就是说,本发明技术的各种实施例不会由于缺少此类个人信息数据的全部或一部分而无法正常进行。例如,可通过基于非个人信息数据或绝对最低限度的个人信息诸如与用户相关联的设备所请求的内容、对内容递送服务可用的其他非个人信息或公开可用信息来推断偏好,从而选择内容并递送给用户。

虽然参照附图对示例进行了全面的描述,但应注意,各种变化和修改对于本领域内的技术人员而言将变得显而易见。应当理解,此类变化和修改被认为包括在由所附权利要求所限定的各种示例的范围内。

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