数字助理的语音触发器的制造方法_2

文档序号:9252474阅读:来源:国知局
122-3、日历服务122-4、电话服务122-5、一种或多种照片服务122-6等)进行通信以完成任务或采集信息。到外部服务的I/O接口 118促成此类通信。
[0046]用户设备104的例子包括但不限于手持式计算机、个人数字助理(PDA)、平板电脑、膝上型计算机、台式计算机、蜂窝电话、智能电话、增强型通用分组无线业务(EGPRS)移动电话、媒体播放器、导航设备、游戏控制器、电视机、遥控器、或者这些数据处理设备中任意两种或更多种的组合或任何其他合适的数据处理设备。有关用户设备104的更多细节参照图2中示出的示例性用户设备104提供。
[0047]一个或多个通信网络110的例子包括局域网(LAN)和广域网(WAN)例如互联网。一个或多个通信网络110可使用任何已知的网络协议来实施,包括各种有线或无线协议,诸如以太网、通用串行总线(USB)、火线(FIREWIRE)、全球移动通信系统(GSM)、增强型数据GSM环境(EDGE)、码分多址(CDMA)、时分多址(TDMA)、蓝牙、Wi_F1、互联网电话协议(VoIP)、W1-MAX、或任何其他合适的通信协议。
[0048]服务器系统108可在计算机的至少一个数据处理装置和/或分布式网络上实施。在一些具体实施中,服务器系统108还采用第三方服务提供方(例如,第三方云服务提供方)的各种虚拟设备和/或服务来提供服务器系统108的潜在计算资源和/或基础结构资源。
[0049]尽管图1中示出的数字助理系统包括客户端侧部分(例如,DA客户端102)和服务器侧部分(例如,DA服务器106)两者,但在一些具体实施中,数字助理系统仅指服务器侧部分(例如,DA服务器106)。在一些具体实施中,数字助理的功能可以实现为安装在用户设备上的独立式应用。此外,数字助理的客户端部分与服务器部分之间的功能划分在不同的具体实施中可变化。例如,在一些具体实施中,DA客户端102为仅提供面向用户的输入和输出处理功能并且将数字助理的所有其他功能委派给DA服务器106的瘦客户端。在一些其他具体实施中,DA客户端102被配置为执行或协助DA服务器106的一个或多个功能。
[0050]图2为根据一些具体实施的用户设备104的框图。用户设备104包括存储器接口202、一个或多个处理器204以及外围设备接口 206。用户设备104中的各种部件通过一条或多条通信总线或信号线耦接。用户设备104包括各种传感器、子系统、以及耦接至外围设备接口 206的外围设备。传感器、子系统、以及外围设备采集信息并且/或者促成用户设备104的各种功能。
[0051]例如,在一些具体实施中,运动传感器210(例如,加速度计)、光传感器212、GPS接收器213、温度传感器和接近传感器214耦接至外围设备接口 206以方便取向、照明和接近感测功能。在一些具体实施中,其他传感器216,诸如生物传感器、气压计等,连接至外围设备接口 206,以促成相关功能。
[0052]在一些具体实施中,用户设备104包括耦接至外围设备接口 206的相机子系统220。在一些具体实施中,相机子系统220的光学传感器222促成相机功能,诸如拍摄照片和记录视频剪辑。在一些具体实施中,用户设备104包括提供通信功能的一个或多个有线和/或无线通信子系统224。通信子系统224通常包括各种通信端口、射频接收器和发射器、和/或光(例如,红外)接收器和发射器。在一些具体实施中,用户设备104包括音频子系统226,该音频子系统耦接至一个或多个扬声器228及一个或多个麦克风230以促成启用语音的功能,诸如语音识别、语音复制、数字录制和电话功能。在一些具体实施中,音频子系统226耦接至语音触发系统400。在一些具体实施中,语音触发系统400和/或音频子系统226包括用于接收和/或分析声音输入的低功率音频电路和/或程序(即,包括硬件和/或软件),包括例如一个或多个模数转换器、数字信号处理器(DSP)、检声器、存储缓冲器、编解码器等。在一些具体实施中,低功率音频电路(单独地或连同用户设备104的其他部件)提供用户设备104的一个或多个方面的语音(或声音)触发功能,诸如基于语音的数字助理或其他基于语音的服务。在一些具体实施中,低功率音频电路即使在用户设备104的其他部件诸如一个或多个处理器204、I/O子系统240、存储器250等关闭和/或处于待机模式时提供语音触发功能。参考图4对语音触发系统400作进一步详细描述。
[0053]在一些具体实施中,I/O子系统240还耦接至外围设备接口 206。在一些具体实施中,用户设备104包括触摸屏246,并且I/O子系统240包括耦接至触摸屏246的触摸屏控制器242。当用户设备104包括触摸屏246和触摸屏控制器242时,触摸屏246和触摸屏控制器242通常被配置为,例如,使用多种触摸灵敏度技术中的任一种来检测它们的接触和移动或断开,该多种触摸灵敏度技术诸如电容技术、电阻技术、红外技术、表面声波技术、接近传感器阵列等。在一些具体实施中,用户设备104包括不具有触敏表面的显示器。在一些具体实施中,用户设备104包括独立的触敏表面。在一些具体实施中,用户设备104包括一个或多个其他输入控制器244。当用户设备104包括一个或多个其他输入控制器244时,该一个或多个其他输入控制器244通常耦接至其他输入/控制设备248,诸如一个或多个按钮、摇臂开关、拇指旋轮、红外线端口、USB端口、和/或指针设备诸如触笔。
[0054]存储器接口 202耦接至存储器250。在一些具体实施中,存储器250包括非暂态计算机可读介质,诸如高速随机存取存储器和/或非易失性存储器(例如,一个或多个磁盘存储设备、一个或多个闪存存储器设备、一个或多个光学存储设备,和/或其他非易失性固态存储器设备)。在一些具体实施中,存储器250存储操作系统252、通信模块254、图形用户界面模块256、传感器处理模块258、电话模块260和应用程序262以及它们的子集或超集。操作系统252包括用于处理基础系统服务以及用于执行硬件相关任务的指令。通信模块254促成与一个或多个附加设置、一个或多个计算机和/或一个或多个服务器的通信。图形用户界面模块256促成图形用户界面处理。传感器处理模块258促成与传感器有关的处理和功能(例如,处理用一个或多个麦克风228接收的语音输入)。电话模块260促成与电话有关的过程和功能。应用程序模块262促成用户应用程序的各种功能,诸如电子消息传送、网页浏览、媒体处理、导航、成像和/或其他过程和功能。在一些具体实施中,用户设备104将每个与外部服务提供方中的至少一个相关联的一个或多个软件应用程序270-1和270-2存储在存储器250中。
[0055]如上所述,在一些具体实施中,存储器250还存储客户端-侧数字助理指令(例如,在数字助理客户端模块264中)以及各种用户数据266 (例如,特定于用户的词汇数据、偏好数据,和/或其他数据诸如用户的电子通讯录或联系人列表、待办事项列表、购物清单等)以提供数字助理的客户端侧功能。
[0056]在各种具体实施中,数字助理客户端模块264能够通过用户设备104的各种用户界面(例如,I/O子系统244)接受语音输入、文本输入、触摸输入和/或手势输入。数字助理客户端模块264还能够提供音频、视觉和/或触觉形式的输出。例如,可将输出提供为语音、声音、警报、文本消息、菜单、图形、视频、动画、振动、和/或以上两者或更多者的组合。在操作期间,数字助理客户端模块264使用通信子系统224来与数字助理服务器(例如,数字助理服务器106,图1)进行通信。
[0057]在一些具体实施中,数字助理客户端模块264利用各种传感器、子系统和外围设备来从用户设备104的周围环境采集附加信息以建立与用户输入相关联的上下文。在一些具体实施中,数字助理客户端模块264将上下文信息或其子集与用户输入一起提供至数字助理服务器(例如,数字助理服务器106,图1)以帮助推断用户的意图。
[0058]在一些具体实施中,可伴随用户输入的上下文信息包括传感器信息,例如,照明、环境噪声、环境温度、周围环境的图像或视频等。在一些具体实施中,上下文信息还包括设备的物理状态,例如,设备取向、设备位置、设备温度、功率电平、速度、加速度、运动模式、蜂窝信号强度等。在一些具体实施中,还将与用户设备106的软件状态相关的信息,例如,用户设备104的运行过程、已安装程序、过去和当前的网络活动、后台服务、错误日志、资源使用等,作为与用户输入相关联的上下文信息提供至数字助理服务器(例如,数字助理服务器 106,图 l)o
[0059]在一些具体实施中,DA客户端模块264响应于来自数字助理服务器的请求而选择性地提供存储在用户设备104上的信息(例如,用户数据266的至少一部分)。在一些具体实施中,数字助理客户端模块264还在数字助理服务器106(图1)请求时引出来自用户经由自然语言对话或其他用户界面的附加输入。数字助理客户端模块264将附加输入传送至数字助理服务器106以帮助数字助理服务器106进行意图推断和/或满足在用户请求中表达的用户意图。
[0060]在一些具体实施中,存储器250可包括附加指令或更少的指令。此外,用户设备104的各种功能可在硬件和/或在固件(包括在一个或多个信号处理集成电路和/或特定于应用的集成电路)中实施,因此,用户设备104不需要包括图2中示出的所有模块和应用程序。
[0061]图3A为根据一些具体实施的示例性数字助理系统300 (也称为数字助理)的框图。在一些具体实施中,数字助理系统300在独立式计算机系统上实施。在一些具体实施中,数字助理系统300跨多个计算机分布。在一些具体实施中,数字助理的模块和功能中的一些被划分成服务器部分和客户端部分,其中客户端部分位于用户设备(例如,用户设备104)上并通过一个或多个网络与服务器部分(例如,服务器系统108)通信,例如如图1中所示。在一些具体实施中,数字助理系统300为图1中所示的服务器系统108(和/或数字助理服务器106)的实施例。在一些具体实施中,数字助理系统300在用户设备(例如,用户设备104,图1)中实施,从而消除了对客户端-服务器系统的需求。应当指出,数字助理系统300仅为数字助理系统的一个实例,并且该数字助理系统300可具有比示出的更多或更少的部件、可组合两个或更多个部件、或可具有部件的不同配置或布局。图3A中所示的各种部件可在硬件、软件、固件(包括一个或多个信号处理集成电路和/或特定于应用的集成电路),或它们的组合中实现。
[0062]数字助理系统300包括存储器302、一个或多个处理器304、输入/输出(I/O)接口306,以及网络通信接口 308。这些部件通过一条或多条通信总线或信号线310彼此通信。
[0063]在一些具体实施中,存储器302包括非暂态计算机可读介质诸如高速随机存取存储器和/或非易失性计算机可读存储介质(例如,一个或多个磁盘存储设备、一个或多个闪存存储器设备、一个或多个光学存储设备、和/或其他非易失性固态存储器设备)。
[0064]I/O接口 306将数字助理系统300的输入/输出设备316诸如显示器、键盘、触摸屏和麦克风耦接至用户界面模块322。I/O接口 306与用户界面模块322结合接收用户输入(例如,语音输入、键盘输入、触摸输入等)并相应地对这些输入进行处理。在一些具体实施中,当数字助理在独立式用户设备上实施时,数字助理系统300包括关于图2中的用户设备104所描述的部件和I/O接口及通信接口中的任一者(例如,一个或多个麦克风230)。在一些具体实施中,数字助理系统300代表数字助理具体实施的服务器部分,并且通过位于用户设备(例如,图2中所示的用户设备104)上的客户端侧部分与用户进行交互。
[0065]在一些具体实施中,网络通信接口 308包括一个或多个有线通信端口 312和/或无线发射和接收电路314。一个或多个有线通信端口经由一个或多个有线接口例如以太网、通用串行总线(USB)、火线等接收和发送通信信号。无线电路314通常从通信网络及其他通信设备接收RF信号和/或光学信号以及将RF信号和/或光学信号发送至通信网络及其他通信设备。无线通信可使用多种通信标准、协议和技术中的任一种,诸如GSM、EDGE、CDMA,TDMA、蓝牙、W1-F1、VoIP, Wi_MAX、或任何其他合适的通信协议。网络通信接口 308使数字助理系统300能够通过网络,诸如互联网、内联网和/或无线网络诸如蜂窝电话网络、无线局域网(LAN)和/或城域网(MAN),与其他设备进行通信。
[0066]在一些具体实施中,存储器302的非暂态计算机可读存储介质存储程序、模块、指令和数据结构,这些程序、模块、指令和数据结构包括以下中的全部或子集:操作系统318、通信模块320、用户界面模块322、一个或多个应用程序324、以及数字助理模块326。一个或多个处理器304执行这些程序、模块和指令,并从数据结构读取数据或将数据写到数据结构。
[0067]操作系统318 (例如,Darwin、RTXC, LINUX、UNIX、OS X、1S、WINDOWS、或嵌入式操作系统诸如VxWorks)包括用于控制和管理一般系统任务(例如,存储器管理、存储设备控制、电力管理等)的各种软件部件和/或驱动器,并促成各种硬件、固件与软件部件之间的通信。
[0068]通信模块320促成数字助理系统300与其他设备之间通过网络通信接口 308进行的通信。例如,通信模块320可与图2中所示的设备104的通信模块254通信。通信模块320还包括各种软件部件,该各种软件部件用于处理由无线电路314和/或有线通信端口312所接收的数据。
[0069]在一些具体实施中,用户界面模块322经由I/O接口 306 (例如,从键盘、触摸屏,和/或麦克风)接收来自用户的命令和/或输入,并将用户界面对象提供在显示器上。
[0070]应用程序324包括被配置为由一个或多个处理器304执行的程序和/或模块。例如,如果数字助理系统在独立式用户设备上实施,则应用程序324可包括用户应用程序,诸如游戏、日历应用程序、导航应用程序或邮件应用程序。如果数字助理系统300在服务器场上实施,则应用程序324可包括例如资源管理应用程序、诊断应用程序、或调度应用程序。
[0071]存储器302还存储数字助理模块(或数字助理的服务器部分)326。在一些具体实施中,数字助理模块326包括以下子模块、或者它们的子集或超集:输入/输出处理模块328、语音转文本(STT)处理模块330、自然语言处理模块332、对话流处理模块334、任务流处理模块336、服务处理模块338以及照片模块132。这些处理模块中的每一个处理模块均具有对数字助理326的以下数据与模型中的一者或多者、或者它们的子集或超集的访问权限:知识本体360、词汇索引344、用户数据348、分类模块349,消歧模块350、任务流模型354、服务模型356、照片标签模块358、搜索模块360,以及本地标签/照片存储装置362。
[0072]在一些具体实施中,使用处理模块(例如,输入/输出处理模块328、STT处理模块330、自然语言处理模块332、对话流处理模块334、任务流处理模块336、和/或服务处理模块338)、数据以及在数字助理模块326中实施的模型,数字助理系统300执行以下操作中的至少一些操作:识别从用户接收的自然语言输入中所表达的用户的意图;积极地引出并获得用于充分推断用户的意图所需的信息(例如,通过消除字词、名称、意向等的歧义);确定用于实现推断出的意图的任务流;以及执行任务流以实现推断出的意图。在一些具体实施中,当由于各种原因而未向或不能向用户提供令人满意的响应时,数字助理也采取适当的行动。
[0073]在一些具体实施中,如下所述,数字助理系统300从自然语言输入中识别出标记数字照片的用户意图,并且对自然语言输入进行处理以便用适当的信息来标记数字照片。在一些具体实施中,数字助理系统300也执行与照片相关的其他任务,诸如使用自然语言输入搜索数字照片、自动标记照片等。如图3B所示,在一些具体实施中,I/O处理模块328通过图3A中的I/O设备316与用户交互或通过图3A中的网络通信接口 308与用户设备(例如,图1中的用户设备104)交互以获得用户输入(例如,语音输入)并提供对用户输入的响应。I/O处理模块328随同接收到用户输入一起或在接收到用户输入之后不久任选地获得与来自用户设备的用户输入相关联的上下文信息。上下文信息包括特定于用户的数据、词汇,和/或与用户输入相关的偏好。在一些具体实施中,上下文信息还包括在接收到用户请求时设备(例如,图1中的用户设备104)的软件和硬件状态,和/或与在接收到用户请求时用户的周围环境相关的信息。在一些具体实施中,I/O处理模块328还向用户发送与用户请求有关的跟进问题,并从用户接收回答。在一些具体实施中,当用户请求被I/O处理模块328接收到且用户请求包含语音输入时,I/O处理模块328将语音输入转发至语音转文本(STT)处理模块330以进行语音文本转换。
[0074]在一些具体实施中,语音转文本处理模块330通过I/O处理模块328接收语音输入(例如,在语音录制中捕捉的用户话语)。在一些具体实施中,语音转文本处理模块330使用各种声音和语言模型来将语音输入识别为音素的序列,并最终将其识别为以一种或多种语言书写的字词或符号的序列。语音转文本处理模块330使用任何合适的语音识别技术、声音模型以及语言模型,诸如隐马尔可夫模型、基于动态时间规整(DTW)的语音识别以及其他统计和/或分析技术,来加以实施。在一些具体实施中,语音转文本处理可至少部分地由第三方服务执行或在用户的设备上执行。一旦语音转文本处理模块330获得语音转文本处理的结果(例如,字词或符号的序列),它便将结果传送至自然语言处理模块332以进行意图推断。数字助理326的自然语言处理模块332 ( “自然语言处理器”)取得由语音转文本处理模块330生成的字词或符号的序列(“符号序列”),并尝试将该符号序列与由数字助理所识别的一个或多个“可执行意图”相关联。如本文所用,“可执行意图”表示可由数字助理326和/或数字助理系统300 (图3A)执行的任务并且具有在任务流模型354中实施的相关联任务流。相关联任务流是数字助理系统300为了执行任务而采取的一系列经编程的动作和步骤。数字助理系统的能力范围取决于已在任务流模型354中实施并存储的任务流的数量和种类,或换言之,取决于数字助理系统300所识别的“可执行意图”的数量和种类。然而,数字助理系统300的有效性还取决于数字助理系统从以自然语言表达的用户请求中推断出正确的“一个或多个可执行意图”的能力。
[0075]在一些具体实施中,除从语音转文本处理模块330获得的字词或符号的序列之夕卜,自然语言处理器332还接收与用户请求相关联的上下文信息(例如,来自I/O处理模块328)。自然语言处理器332任选地使用上下文信息来明确、补充和/或进一步定义在从语音转文本处理模块330接收的符号序列中包含的信息。上下文信息包括例如用户偏好、用户设备的硬件和/或软件状态,在用户请求之前、期间或之后不久收集的传感器信息,数字助理与用户之间的先前交互(例如,对话),等等。
[0076]在一些具体实施中,自然语言处理基于知识本体360。知识本体360为包含多个节点的分级结构,每个节点表示与“可执行意图”或其他“属性”中的一者或多者相关的“可执行意图”或“属性”。如上所述,“可执行意图”表示数字助理系统300能够执行的任务(例如,“可执行”或可被进行的任务)。“属性”代表与可执行意图或另一属性的子方面相关联的参数。在知识本体360中的可执行意图节点与属性节点之间的连接定义由属性节点代表的参数如何从属于由可执行意图节点代表的任务。在一些具体实施中,知识本体360由可执行意图节点和属性节点组成。在知识本体360内,每个可执行意图
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1