CN117957511A - 基于注视的听写 - Google Patents
基于注视的听写 Download PDFInfo
- Publication number
- CN117957511A CN117957511A CN202280059719.5A CN202280059719A CN117957511A CN 117957511 A CN117957511 A CN 117957511A CN 202280059719 A CN202280059719 A CN 202280059719A CN 117957511 A CN117957511 A CN 117957511A
- Authority
- CN
- China
- Prior art keywords
- user
- gaze
- word
- electronic device
- words
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 167
- 230000004044 response Effects 0.000 claims description 56
- 230000008859 change Effects 0.000 claims description 45
- 238000003860 storage Methods 0.000 claims description 31
- 238000010801 machine learning Methods 0.000 claims description 25
- 230000009471 action Effects 0.000 claims description 13
- 230000008569 process Effects 0.000 abstract description 74
- 238000012545 processing Methods 0.000 description 74
- 238000004891 communication Methods 0.000 description 57
- 230000033001 locomotion Effects 0.000 description 56
- 238000003058 natural language processing Methods 0.000 description 29
- 238000005111 flow chemistry technique Methods 0.000 description 28
- 241000282472 Canis lupus familiaris Species 0.000 description 27
- 238000001514 detection method Methods 0.000 description 27
- 238000013518 transcription Methods 0.000 description 23
- 230000035897 transcription Effects 0.000 description 23
- 230000006870 function Effects 0.000 description 21
- 230000003287 optical effect Effects 0.000 description 21
- 230000015572 biosynthetic process Effects 0.000 description 20
- 230000003993 interaction Effects 0.000 description 20
- 230000002093 peripheral effect Effects 0.000 description 20
- 238000003786 synthesis reaction Methods 0.000 description 20
- 238000005516 engineering process Methods 0.000 description 14
- 230000007246 mechanism Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 13
- 238000007726 management method Methods 0.000 description 13
- 241000699666 Mus <mouse, genus> Species 0.000 description 11
- 230000000007 visual effect Effects 0.000 description 11
- 238000012937 correction Methods 0.000 description 10
- 230000007423 decrease Effects 0.000 description 10
- 230000006835 compression Effects 0.000 description 8
- 238000007906 compression Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 8
- 230000036541 health Effects 0.000 description 8
- 238000009499 grossing Methods 0.000 description 7
- 238000012384 transportation and delivery Methods 0.000 description 6
- 230000001413 cellular effect Effects 0.000 description 5
- 238000006073 displacement reaction Methods 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 5
- 230000001960 triggered effect Effects 0.000 description 5
- 230000003213 activating effect Effects 0.000 description 4
- 239000003550 marker Substances 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000021317 sensory perception Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000001755 vocal effect Effects 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000003825 pressing Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 241000699670 Mus sp. Species 0.000 description 2
- 241001422033 Thestylus Species 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 239000005420 bog Substances 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013503 de-identification Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000004091 panning Methods 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000010079 rubber tapping Methods 0.000 description 2
- 230000035807 sensation Effects 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- MQJKPEGWNLWLTK-UHFFFAOYSA-N Dapsone Chemical compound C1=CC(N)=CC=C1S(=O)(=O)C1=CC=C(N)C=C1 MQJKPEGWNLWLTK-UHFFFAOYSA-N 0.000 description 1
- 241000590419 Polygonia interrogationis Species 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000881 depressing effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 229940079593 drug Drugs 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 229920001746 electroactive polymer Polymers 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000004424 eye movement Effects 0.000 description 1
- 235000013410 fast food Nutrition 0.000 description 1
- 235000013305 food Nutrition 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 235000003642 hunger Nutrition 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 235000012054 meals Nutrition 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 235000013550 pizza Nutrition 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 229920000642 polymer Polymers 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 238000013179 statistical model Methods 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 238000010408 sweeping Methods 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
- 238000009528 vital sign measurement Methods 0.000 description 1
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
提供了用于基于注视来操作智能听写系统的系统和过程。一种示例性方法包括:在具有一个或多个处理器以及存储器的电子设备处,检测用户的注视;基于该用户的被检测到的注视来确定是否进入听写模式;以及根据确定进入该听写模式:接收话语;基于该用户的被检测到的注视和该话语来确定是否进入编辑模式;以及根据确定不进入该编辑模式,在该电子设备的屏幕上显示该话语的文本表示。
Description
相关申请的交叉引用
本申请要求2021年9月3日提交的名称为“GAZE BASED DICTATION”的美国临时专利申请63/240,696、以及2022年4月27日提交的名称为“GAZE BASEDDICTATION”的美国临时专利申请63/335,649以及2022年8月31日提交的名称为“GAZE BASEDDICTATION”的美国专利申请17/900,666的优先权。这些专利申请中的每个专利申请的内容全文以引用方式并入本文。
技术领域
本发明整体涉及听写系统,并且更具体地,涉及利用用户注视来改进听写系统的听写和编辑。
背景技术
听写服务可以向不能访问或键入屏幕、键盘或电子设备的其他输入的用户提供益处。听写语音然后转录也可以比键入更快,并且向用户提供方便的交互以在执行动作时插入文本。然而,听写也可能在语音的识别和对用户是否正打算听写的确定中出现错误。因此,需要确定用户是否正在听写以及用户何时打算编辑听写语音的有效方式。
发明内容
本文公开了示例性方法。一种示例性方法包括:在具有一个或多个处理器以及存储器的电子设备处,检测用户的注视;基于该用户的被检测到的注视来确定是否进入听写模式;以及根据对进入该听写模式的确定:接收话语;基于该用户的被检测到的注视和该话语来确定是否进入编辑模式;以及根据对不进入该编辑模式的确定,在该电子设备的屏幕上显示该话语的文本表示。
本文公开了示例非暂态计算机可读介质。一种示例性非暂态计算机可读存储介质存储一个或多个程序。该一个或多个程序包括指令,这些指令用于:检测用户的注视;基于该用户的被检测到的注视来确定是否进入听写模式;以及根据对进入该听写模式的确定:接收话语;基于该用户的被检测到的注视和该话语来确定是否进入编辑模式;以及根据对不进入该编辑模式的确定,在该电子设备的屏幕上显示该话语的文本表示。
本文公开了示例电子设备。一种示例电子设备包括一个或多个处理器;存储器;以及一个或多个程序,其中该一个或多个程序被存储在该存储器中并且被配置为由该一个或多个处理器执行,该一个或多个程序包括指令,这些指令用于:检测用户的注视;基于该用户的被检测到的注视来确定是否进入听写模式;以及根据对进入该听写模式的确定:接收话语;基于该用户的被检测到的注视和该话语来确定是否进入编辑模式;以及根据对不进入该编辑模式的确定,在该电子设备的屏幕上显示该话语的文本表示。
一种示例性电子设备包括:用于检测用户的注视的装置;用于基于该用户的被检测到的注视来确定是否进入听写模式的装置;以及根据对进入该听写模式的确定:用于接收话语的装置;用于基于该用户的被检测到的注视和该话语来确定是否进入编辑模式的装置;以及根据对不进入该编辑模式的确定,用于在该电子设备的屏幕上显示该话语的文本表示的装置。
基于用户的被检测到的注视来确定是否进入听写模式允许转录系统基于用户正在看着哪里来准确地理解用户何时正打算向转录系统听写。具体地,转录系统可以确定用户正在看着屏幕上的哪里,并且因此确定用户是否正在尝试向转录系统听写或者请求执行某一其他任务。另外,基于用户的被检测到的注视和话语来确定是否进入编辑模式允许转录系统更准确地理解用户是否正打算编辑先前听写的字词或提供新的听写。具体地,转录系统可利用话语中的字词以及用户的注视来理解用户是聚焦于先前在电子设备的屏幕上显示的某些内容还是听写内容。这样,转录系统可通过确定用户的意图来更有效地操作,而不需要进一步对话或来自转录系统的其他输出,从而节省电子设备的电池。
一种示例性方法包括:在具有一个或多个处理器以及存储器的电子设备处,检测用户的注视;确定用户的注视的方向;以及根据对用户的注视的方向聚焦于在电子设备的屏幕上显示的第一元素的第一位置上的确定,在电子设备的屏幕上显示第二元素。
一种示例性非暂态计算机可读存储介质存储一个或多个程序。该一个或多个程序包括指令,这些指令用于:检测用户的注视;确定用户的注视的方向;以及根据对用户的注视的方向聚焦于在电子设备的屏幕上显示的第一元素的第一位置上的确定,在电子设备的屏幕上显示第二元素。
一种示例电子设备包括一个或多个处理器;存储器;以及一个或多个程序,其中该一个或多个程序被存储在该存储器中并且被配置为由该一个或多个处理器执行,该一个或多个程序包括指令,这些指令用于:检测用户的注视;确定用户的注视的方向;以及根据对用户的注视的方向聚焦于在电子设备的屏幕上显示的第一元素的第一位置上的确定,在电子设备的屏幕上显示第二元素。
一种示例性电子设备包括:用于检测用户的注视的装置;用于确定用户的注视的方向的装置;以及根据对用户的注视的方向聚焦于在电子设备的屏幕上显示的第一元素的第一位置上的确定,用于在电子设备的屏幕上显示第二元素的装置。
根据对用户的注视的方向聚焦于在电子设备的屏幕上显示的第一元素的第一位置上的确定,在电子设备的屏幕上显示第二元素允许转录系统与用户交互以有效地处理用户命令。具体地,转录系统基于用户的注视来理解用户的意图,并且可以在不向用户确认该意图的情况下向用户提供满足该意图的信息。这样,减少了完成任务所需的输出和输入的数量,从而减少了所需的处理量并且节省了电池。
一种示例性方法包括:在具有一个或多个处理器以及存储器的电子设备处,检测用户的注视;确定用户的注视所瞄向的一个或多个字词;基于该一个或多个字词以及用户的注视来确定该一个或多个字词中的字词是否不正确;以及根据对该一个或多个字词中的该字词不正确的确定,在电子设备的屏幕上显示与该字词相关的元素。
一种示例性非暂态计算机可读存储介质存储一个或多个程序。该一个或多个程序包括指令,这些指令用于检测用户的注视;确定用户的注视所瞄向的一个或多个字词;基于该一个或多个字词以及用户的注视来确定该一个或多个字词中的字词是否不正确;以及根据对该一个或多个字词中的该字词不正确的确定,在电子设备的屏幕上显示与该字词相关的元素。
一种示例电子设备包括一个或多个处理器;存储器;以及一个或多个程序,其中该一个或多个程序被存储在该存储器中并且被配置为由该一个或多个处理器执行,该一个或多个程序包括指令,这些指令用于检测用户的注视;确定用户的注视所瞄向的一个或多个字词;基于该一个或多个字词以及用户的注视来确定该一个或多个字词中的字词是否不正确;以及根据对该一个或多个字词中的该字词不正确的确定,在电子设备的屏幕上显示与该字词相关的元素。
一种示例性电子设备包括用于检测用户的注视的装置;用于确定用户的注视所瞄向的一个或多个字词的装置;用于基于该一个或多个字词以及用户的注视来确定该一个或多个字词中的字词是否不正确的装置;以及根据对该一个或多个字词中的该字词不正确的确定,用于在电子设备的屏幕上显示与该字词相关的元素的装置。
基于该一个或多个字词以及用户的注视来确定该一个或多个字词中的字词是否不正确允许有效地纠正已经被转录系统不正确地转录的字词。具体地,转录系统能够更好地理解用户正在尝试编辑哪个字词,并且因此以用户所需的较少输入来纠正任何错误。这样,用户可以在单个输入中提供对不正确字词的期望纠正,而不需要与一系列菜单交互或多个输入。这减少了转录系统与用户之间所需的总体交互,从而节约了电池。
附图说明
图1为示出了根据各种示例的用于实现数字助理的系统和环境的框图。
图2A为示出了根据各种示例的实现数字助理的客户端侧部分的便携式多功能设备的框图。
图2B为示出了根据各种示例的用于事件处理的示例性部件的框图。
图3示出了根据各种示例的实现数字助理的客户端侧部分的便携式多功能设备。
图4为根据各种示例的具有显示器和触敏表面的示例性多功能设备的框图。
图5A示出了根据各种示例的便携式多功能设备上的应用程序的菜单的示例性用户界面。
图5B示出了根据各种示例的具有与显示器分开的触敏表面的多功能设备的示例性用户界面。
图6A示出了根据各种示例的个人电子设备。
图6B为示出了根据各种示例的个人电子设备的框图。
图7A为示出了根据各种示例的数字助理系统或其服务器部分的框图。
图7B示出了根据各种示例的在图7A中所示的数字助理的功能。
图7C示出了根据各种示例的知识本体的一部分。
图8是示出根据各种示例的用于利用注视进行听写的系统的框图。
图9A至图9AM示出了根据各种示例的电子设备和用户注视。
图10示出了根据各种示例的用于利用注视进行听写的过程。
图11示出了根据各种示例的用于利用注视进行听写的过程。
图12示出了根据各种示例的用于利用注视进行听写的过程。
具体实施方式
在以下对示例的描述中将引用附图,在附图中以例示的方式示出了可被实施的特定示例。应当理解,在不脱离各个示例的范围的情况下,可使用其他示例并且可作出结构性改变。
基于语音识别和听写的转录对于用户来说是有利的,这在于它会提高用户能够书写或转录文档、笔记、电子邮件等的速度,同时还允许用户同时从事其他活动。然而,听写系统可能难以理解用户的意图,特别是当用户可能在一个时间主动地与电子设备互动并且然后在下一实例中对房间中的人说话时。另外,在听写期间错误的纠正可能成为障碍,因为许多听写服务在用户尝试纠正字词时无法理解,而是继续转录用户的语音。
因此,利用用户的注视可帮助管理和减轻这些缺点对基于听写的转录服务的影响,特别是当与数字助理一起使用时。当用户打算调用听写服务时,甚至在他们开始提供话语之前,他们通常会看向他们认为文本将会出现的地方。因此,通过监视用户的注视在设备的显示器上以及设备的显示器周围的移动,允许听写系统理解用户何时正打算听写以及用户何时正打算向系统或电子设备提供不同的命令。
此外,当字词被不正确地转录时,用户通常将其注视停留在那些字词上,同时提供期望的纠正或编辑。因此,通过监视用户的注视如何在先前转录的文本上移动,听写系统可以更好地理解用户何时识别出错误并希望纠正它。听写系统还可以利用拼写检查和其他错误检测系统来识别用户正在看着的字词是否不正确,以确保当一个字词不存在时,注视不会错误地与错误相关。
通过组合对用户注视的检测和传入语音,听写系统可以使用上述方法来提高听写和转录服务的效率和总体有效性,并且向用户提供更愉快和交互式的体验。这可以允许用户在执行其他活动的同时通过听写来处理多任务,并且还使得与听写系统更无缝地交互,从而减少确定用户意图所需的输出的数量并且由此减少电池使用。
尽管以下描述使用术语“第一”、“第二”等来描述各种元件,但这些元件不应受术语的限制。这些术语只是用于将一个元件与另一元件区分开。例如,在不脱离各种所述示例的范围的情况下,第一输入可被称为第二输入,并且类似地,第二输入可被称为第一输入。第一输入和第二输入均为输入,并且在一些情况下为独立且不同的输入。
在本文中对各种所述示例的描述中所使用的术语只是为了描述特定示例的目的,而并非旨在进行限制。如在对各种所述示例的描述和所附权利要求书中所用,单数形式“一个”、“一种”和“该”旨在也包括复数形式,除非上下文另外明确地指示。还将理解的是,本文中所使用的术语“和/或”是指并且涵盖相关联的所列出的项目中的一个或多个项目的任何和全部可能的组合。还将理解的是,术语“包括”和/或“包含”在本说明书中使用时是指定存在所陈述的特征、整数、步骤、操作、元件和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、部件和/或其分组。
根据上下文,术语“如果”可被解释为意指“当...时”或“在...时”或“响应于确定”或“响应于检测到”。类似地,根据上下文,短语“如果确定...”或“如果检测到[所陈述的条件或事件]”可被解释为意指“在确定...时”或“响应于确定...”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
1.系统和环境
图1示出了根据各种示例的系统100的框图。在一些示例中,系统100实现数字助理。术语“数字助理”、“虚拟助理”、“智能自动化助理”或“自动数字助理”是指解译口头形式和/或文本形式的自然语言输入来推断用户意图并且基于推断出的用户意图来执行动作的任何信息处理系统。例如,为了作用于推断出的用户意图,系统执行下述步骤中的一个或多个:识别具有设计用于实现推断出的用户意图的步骤和参数的任务流,根据推断出的用户意图将特定要求输入到任务流中;通过调用程序、方法、服务、API等执行任务流;以及以可听(例如,语音)和/或可视形式来生成对用户的输出响应。
具体地,数字助理能够接受至少部分地为自然语言命令、请求、声明、讲述和/或询问的形式的用户请求。通常,用户请求寻求数字助理作出信息性回答或执行任务。对用户请求的令人满意的响应包括提供所请求的信息性回答、执行所请求的任务或这两者的组合。例如,用户向数字助理提出问题,诸如“我现在在哪里?”。基于用户的当前位置,数字助理回答“你在中央公园西门附近。”用户还请求执行任务,例如“请邀请我的朋友们下周来参加我女朋友的生日聚会。”作为响应,数字助理可通过讲出“好的,马上”来确认请求,并且然后代表用户将合适的日历邀请发送到用户电子通讯录中列出的用户朋友中的每位朋友。在执行所请求的任务期间,数字助理有时在很长时间段内在涉及多次信息交换的持续对话中与用户进行交互。存在与数字助理进行交互以请求信息或执行各种任务的许多其他方法。除提供言语响应并采取经编程的动作之外,数字助理还提供其他视频或音频形式的响应,例如作为文本、警报、音乐、视频、动画等。
如图1所示,在一些示例中,数字助理根据客户端-服务器模型来实现。数字助理包括在用户设备104上执行的客户端侧部分102(后文称作“DA客户端102”)以及在服务器系统108上执行的服务器侧部分106(后文称作“DA服务器106”)。DA客户端102通过一个或多个网络110与DA服务器106通信。DA客户端102提供客户端侧功能,诸如面向用户的输入和输出处理,以及与DA服务器106通信。DA服务器106为各自位于相应用户设备104上的任意数量的DA客户端102提供服务器侧功能。
在一些示例中,DA服务器106包括面向客户端的I/O接口112、一个或多个处理模块114、数据与模型116,以及到外部服务的I/O接口118。面向客户端的I/O接口112有利于DA服务器106的面向客户端的输入和输出处理。一个或多个处理模块114利用数据与模型116来处理语音输入,并基于自然语言输入来确定用户意图。此外,一个或多个处理模块114基于推断出的用户意图来执行任务执行。在一些示例中,DA服务器106通过一个或多个网络110与外部服务120通信以完成任务或采集信息。到外部服务的I/O接口118有利于此类通信。
用户设备104可以是任何合适的电子设备。在一些示例中,用户设备104是便携式多功能设备(例如,下文参考图2A所述的设备200)、多功能设备(例如,下文参考图4所述的设备400)或个人电子设备(例如,下文参考图6A至图6B所述的设备600)。便携式多功能设备为例如还包含其他功能诸如PDA和/或音乐播放器功能的移动电话。便携式多功能设备的特定示例包括来自Apple Inc.(Cupertino,California)的Apple iPod和/>设备。便携式多功能设备的其他示例包括但不限于耳塞式耳机/头戴式耳机、扬声器以及膝上型电脑或平板电脑。此外,在一些示例中,用户设备104是非便携式多功能设备。具体地,用户设备104是台式计算机、游戏机、扬声器、电视或电视机顶盒。在一些示例中,用户设备104包括触敏表面(例如,触摸屏显示器和/或触控板)。此外,用户设备104任选地包括一个或多个其他物理用户接口设备,诸如物理键盘、鼠标和/或操纵杆。下文更详细地描述了电子设备诸如多功能设备的各种示例。
一个或多个通信网络110的示例包括局域网(LAN)和广域网(WAN),例如互联网。一个或多个通信网络110使用任何已知的网络协议来实现,包括各种有线或无线协议,诸如以太网、通用串行总线(USB)、FIREWIRE、全球移动通信系统(GSM)、增强型数据GSM环境(EDGE)、码分多址(CDMA)、时分多址(TDMA)、蓝牙、Wi-Fi、互联网协议语音(VoIP)、Wi-MAX或任何其他合适的通信协议。
服务器系统108在一个或多个独立式数据处理设备或分布式计算机网络上实现。在一些示例中,服务器系统108还采用第三方服务提供方(例如,第三方云服务提供方)的各种虚拟设备和/或服务来提供服务器系统108的潜在计算资源和/或基础结构资源。
在一些示例中,用户设备104经由第二用户设备122与DA服务器106通信。第二用户设备122与用户设备104相似或相同。例如,第二用户设备122类似于下文参考图2A、图4和图6A至图6B所述的设备200、400或600。用户设备104被配置为经由直接通信连接(诸如蓝牙、NFC、BTLE等)或者经由有线或无线网络(诸如局域Wi-Fi网络)而被通信地耦接到第二用户设备122。在一些示例中,第二用户设备122被配置为充当用户设备104与DA服务器106之间的代理。例如,用户设备104的DA客户端102被配置为经由第二用户设备122向DA服务器106传输信息(例如,在用户设备104处接收的用户请求)。DA服务器106处理该信息,并经由第二用户设备122将相关数据(例如,响应于用户请求的数据内容)返回到用户设备104。
在一些示例中,用户设备104被配置为将针对数据的缩略请求发送到第二用户设备122,以减少从用户设备104传输的信息量。第二用户设备122被配置为确定添加到缩略请求的补充信息,以生成完整的请求来传输到DA服务器106。该系统架构可有利地通过使用具有较强通信能力和/或电池电力的第二用户设备122(例如,移动电话、膝上型计算机、平板电脑等)作为到DA服务器106的代理,允许具有有限通信能力和/或有限电池电力的用户设备104(例如,手表或类似的紧凑型电子设备)访问DA服务器106提供的服务。虽然图1中仅示出两个用户设备104和122,但应当理解,在一些示例中,系统100可包括在此代理配置中被配置为与DA服务器系统106通信的任意数量和类型的用户设备。
虽然图1中所示的数字助理包括客户端侧部分(例如,DA客户端102)和服务器侧部分(例如,DA服务器106)两者,但在一些示例中,数字助理的功能被实现为被安装在用户设备上的独立式应用程序。此外,数字助理的客户端部分与服务器部分之间的功能划分在不同的具体实施中可变化。例如,在一些示例中,DA客户端为仅提供面向用户的输入和输出处理功能并将数字助理的所有其他功能委派给后端服务器的瘦客户端。
2.电子设备
现在将注意力转至用于实现数字助理的客户端侧部分的电子设备的实施方案。图2A是示出了根据一些实施方案的具有触敏显示器系统212的便携式多功能设备200的框图。触敏显示器212有时为了方便被叫做“触摸屏”,并且有时被称为或被叫做“触敏显示器系统”。设备200包括存储器202(其任选地包括一个或多个计算机可读存储介质)、存储器控制器222、一个或多个处理单元(CPU)220、外围设备接口218、RF电路208、音频电路210、扬声器211、麦克风213、输入/输出(I/O)子系统206、其他输入控制设备216和外部端口224。设备200任选地包括一个或多个光学传感器264。设备200任选地包括用于检测设备200(例如设备200的触敏表面诸如触敏显示器系统212)上的接触的强度的一个或多个接触强度传感器265。设备200任选地包括用于在设备200上生成触觉输出(例如,在触敏表面诸如设备200的触敏显示器系统212或设备400的触控板455上生成触觉输出)的一个或多个触觉输出发生器267。这些部件任选地通过一个或多个通信总线或信号线203进行通信。
如在本说明书和权利要求书中所使用的,术语触敏表面上的接触的“强度”是指触敏表面上的接触(例如,手指接触)的力或压力(每单位面积的力),或是指触敏表面上的接触的力或压力的替代物(代用物)。接触的强度具有值范围,该值范围包括至少四个不同的值并且更典型地包括上百个不同的值(例如,至少256个)。接触的强度任选地使用各种方法和各种传感器或传感器的组合来确定(或测量)。例如,在触敏表面下方或相邻于触敏表面的一个或多个力传感器任选地用于测量触敏表面上的不同点处的力。在一些具体实施中,来自多个力传感器的力测量值被组合(例如,加权平均)以确定所估计的接触力。类似地,触控笔的压敏顶端任选地用于确定触控笔在触敏表面上的压力。另选地,在触敏表面上检测到的接触区域的尺寸和/或其变化、接触附近的触敏表面的电容和/或其变化以及/或者接触附近的触敏表面的电阻和/或其变化任选地被用作触敏表面上的接触的力或压力的替代物。在一些具体实施中,接触力或压力的替代物测量直接用于确定是否已经超过强度阈值(例如,强度阈值以对应于替代物测量的单位来描述)。在一些具体实施中,接触力或压力的替代物测量被转换成估计的力或压力,并且估计的力或压力用于确定是否已超过强度阈值(例如,强度阈值是以压力的单位进行测量的压力阈值)。使用接触的强度作为用户输入的属性,从而允许用户访问用户在实地面积有限的尺寸更小的设备上本来不可访问的附加设备功能,该尺寸更小的设备用于(例如,在触敏显示器上)显示示能表示和/或接收用户输入(例如,经由触敏显示器、触敏表面或物理控件/机械控件,诸如旋钮或按钮)。
如本说明书和权利要求书中所使用的,术语“触觉输出”是指将由用户利用用户的触感检测到的设备相对于设备的先前位置的物理位移、设备的部件(例如,触敏表面)相对于设备的另一个部件(例如,外壳)的物理位移、或部件相对于设备的质心的位移。例如,在设备或设备的部件与用户对触摸敏感的表面(例如,手指、手掌或用户手部的其他部分)接触的情况下,通过物理位移生成的触觉输出将由用户解释为触感,该触感对应于设备或设备的部件的物理特征的所感知的变化。例如,触敏表面(例如,触敏显示器或触控板)的移动任选地由用户解释为对物理致动按钮的“按下点击”或“松开点击”。在一些情况下,用户将感觉到触感,诸如“按下点击”或“松开点击”,即使在通过用户的移动而物理地被按压(例如,被移位)的与触敏表面相关联的物理致动按钮没有移动时。作为另一个示例,即使在触敏表面的光滑度无变化时,触敏表面的移动也会任选地由用户解释或感测为触敏表面的“粗糙度”。虽然用户对触摸的此类解释将受到用户的个体化感官知觉的限制,但是对触摸的许多感官知觉是大多数用户共有的。因此,当触觉输出被描述为对应于用户的特定感官知觉(例如,“按下点击”、“松开点击”、“粗糙度”)时,除非另外陈述,否则所生成的触觉输出对应于设备或其部件的物理位移,该物理位移将会生成典型(或普通)用户的所述感官知觉。
应当理解,设备200仅是便携式多功能设备的一个示例,并且设备200任选地具有比所示出的更多或更少的部件,任选地组合两个或更多个部件,或者任选地具有这些部件的不同配置或布置。图2A中所示的各种部件以硬件、软件、或硬件与软件两者的组合来实现,包括一个或多个信号处理和/或专用集成电路。
存储器202包括一个或多个计算机可读存储介质。这些计算机可读存储介质例如为有形的和非暂态的。存储器202包括高速随机存取存储器,并且还包括非易失性存储器,诸如一个或多个磁盘存储设备、闪存存储器设备或其他非易失性固态存储器设备。存储器控制器222控制设备200的其他部件访问存储器202。
在一些示例中,存储器202的非暂态计算机可读存储介质用于存储指令(例如,用于执行下文描述的过程的各方面)以供指令执行系统、装置或设备诸如基于计算机的系统、包含处理器的系统或可从指令执行系统、装置或设备取出指令并执行指令的其他系统使用或与其结合使用。在其他示例中,指令(例如,用于执行下文描述的过程的各方面)存储在服务器系统108的非暂态计算机可读存储介质(未示出)上,或在存储器202的非暂态计算机可读存储介质与服务器系统108的非暂态计算机可读存储介质之间划分。
外围设备接口218用于将设备的输入和输出外围设备耦接到CPU 220和存储器202。一个或多个处理器220运行或执行存储器202中所存储的各种软件程序和/或指令集以执行设备200的各种功能并处理数据。在一些实施方案中,外围设备接口218、CPU 220和存储器控制器222在单个芯片诸如芯片204上实现。在一些其他实施方案中,它们在独立的芯片上实现。
RF(射频)电路208接收和发送也被称作电磁信号的RF信号。RF电路208将电信号转换为电磁信号/将电磁信号转换为电信号,并且经由电磁信号与通信网络及其他通信设备进行通信。RF电路208任选地包括用于执行这些功能的熟知的电路,包括但不限于天线系统、RF收发器、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、编解码(CODEC)芯片组、用户身份模块(SIM)卡、存储器等等。RF电路208任选地通过无线通信来与网络和其他设备进行通信,这些网络为诸如互联网(也被称为万维网(WWW))、内联网和/或无线网络(诸如,蜂窝电话网络、无线局域网(LAN)和/或城域网(MAN))。RF电路208任选地包括用于诸如通过近程通信无线电部件来检测近场通信(NFC)场的熟知的电路。无线通信任选地使用多种通信标准、协议和技术中的任一种,包括但不限于全球移动通信系统(GSM)、增强型数据GSM环境(EDGE)、高速下行链路分组接入(HSDPA)、高速上行链路分组接入(HSUPA)、演进、纯数据(EV-DO)、HSPA、HSPA+、双小区HSPA(DC-HSPDA)、长期演进(LTE)、近场通信(NFC)、宽带码分多址(W-CDMA)、码分多址(CDMA)、时分多址(TDMA)、蓝牙、蓝牙低功耗(BTLE)、无线保真(Wi-Fi)(例如,IEEE802.11a、IEEE 802.11b、IEEE 802.11g、IEEE802.11n和/或IEEE 802.11ac)、互联网协议语音(VoIP)、Wi-MAX、电子邮件协议(例如,互联网消息访问协议(IMAP)和/或邮局协议(POP))、即时消息(例如,可扩展消息处理和存在协议(XMPP)、用于即时消息和存在利用扩展的会话发起协议(SIMPLE)、即时消息和存在服务(IMPS))和/或短消息服务(SMS),或者任何其他适当的通信协议,包括在本文档提交日期时尚未开发出的通信协议。
音频电路210、扬声器211和麦克风213提供用户与设备200之间的音频接口。音频电路210从外围设备接口218接收音频数据,将音频数据转换为电信号,并将电信号传输到扬声器211。扬声器211将电信号转换为人类可听到的声波。音频电路210还接收由麦克风213从声波转换的电信号。音频电路210将电信号转换为音频数据,并且将音频数据传输到外围设备接口218以用于处理。音频数据通过外围设备接口218检索自和/或传输至存储器202和/或RF电路208。在一些实施方案中,音频电路210还包括耳麦插孔(例如,图3中的312)。该耳麦插孔提供音频电路210与可移除的音频输入/输出外围设备之间的接口,该可移除的音频输入/输出外围设备诸如仅输出的耳机或者具有输出(例如,单耳耳机或双耳耳机)和输入(例如,麦克风)两者的耳麦。
I/O子系统206将设备200上的输入/输出外围设备诸如触摸屏212和其他输入控制设备216耦接到外围设备接口218。I/O子系统206任选地包括显示控制器256、光学传感器控制器258、强度传感器控制器259、触觉反馈控制器261,以及用于其他输入或控制设备的一个或多个输入控制器260。一个或多个输入控制器260从其他输入控制设备216接收电信号/将电信号发送到其他输入控制设备。其他输入控制设备216任选地包括物理按钮(例如,下压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击轮等。在一些另选实施方案中,输入控制器260任选地耦接至以下各项中的任一者(或不耦接至以下各项中的任一者):键盘、红外线端口、USB端口以及指向设备诸如鼠标。一个或多个按钮(例如,图3中的308)任选地包括用于扬声器211和/或麦克风213的音量控制的增大/减小按钮。一个或多个按钮任选地包括下压按钮(例如,图3中的306)。
快速按下下压按钮会脱离触摸屏212的锁定或者开始使用触摸屏上的手势来对设备进行解锁的过程,如在2005年12月23日提交的名称为“Unlocking a Device byPerforming Gestures on an Unlock Image”的美国专利7,657,849号的美国专利申请11/322,549中所述,该美国专利申请据此全文以引用方式并入本文。较长地按下下压按钮(例如,306)使设备200开机或关机。用户能够自定义一个或多个按钮的功能。触摸屏212用于实现虚拟按钮或软按钮以及一个或多个软键盘。
触敏显示器212提供设备和用户之间的输入接口和输出接口。显示控制器256从触摸屏212接收电信号和/或将电信号发送至触摸屏212。触摸屏212向用户显示视觉输出。视觉输出包括图形、文本、图标、视频及其任何组合(统称为“图形”)。在一些实施方案中,一些视觉输出或全部视觉输出对应于用户界面对象。
触摸屏212具有基于触觉和/或触感接触来接受来自用户的输入的触敏表面、传感器或传感器组。触摸屏212和显示控制器256(与存储器202中的任何相关联的模块和/或指令集一起)检测触摸屏212上的接触(和该接触的任何移动或中断),并且将所检测到的接触转换为与被显示在触摸屏212上的用户界面对象(例如,一个或多个软键、图标、网页或图像)的交互。在示例性实施方案中,触摸屏212与用户之间的接触点对应于用户的手指。
触摸屏212使用LCD(液晶显示器)技术、LPD(发光聚合物显示器)技术或LED(发光二极管)技术,但在其他实施方案中可使用其他显示技术。触摸屏212和显示控制器256使用目前已知或以后将开发的多种触摸感测技术中的任何技术,以及其他接近传感器阵列或用于确定与触摸屏212接触的一个或多个点的其他元件来检测接触及其任何移动或中断,所述多种触摸感测技术包括但不限于电容式、电阻式、红外和表面声波技术。在示例性实施方案中,使用投射式互电容感测技术,诸如在来自Apple Inc.(Cupertino,California)的和iPod />中使用的技术。
在一些实施方案中,触摸屏212的触敏显示器类似于以下美国专利:6,323,846(Westerman等人)、6,570,557(Westerman等人)和/或6,677,932(Westerman)和/或美国专利公开2002/0015024A1中所述的多点触敏触控板,这些专利申请均据此全文以引用方式并入本文。然而,触摸屏212显示来自设备200的视觉输出,而触敏触控板不提供视觉输出。
触摸屏212的一些实施方案中的触敏显示器在以下申请中有所描述:(1)2006年5月2日提交的美国专利申请11/381,313,“Multipoint Touch Surface Controller”;(2)2004年5月6日提交的美国专利申请10/840,862,“Multipoint Touchscreen”;(3)2004年7月30日提交的美国专利申请10/903,964,“Gestures For Touch Sensitive InputDevices”;(4)2005年1月31日提交的美国专利申请11/048,264,“Gestures For TouchSensitive Input Devices”;(5)2005年1月18日提交的美国专利申请11/038,590,“Mode-Based Graphical User Interfaces For Touch Sensitive Input Devices”;(6)2005年9月16日提交的美国专利申请11/228,758,“Virtual Input Device Placement On A TouchScreen User Interface”;(7)2005年9月16日提交的美国专利申请11/228,700,“Operation Of A Computer With A Touch Screen Interface”;(8)2005年9月16日提交的美国专利申请11/228,737,“Activating Virtual Keys Of A Touch-Screen VirtualKeyboard”;以及(9)2006年3月3日提交的美国专利申请11/367,749,“Multi-FunctionalHand-Held Device”。所有这些申请全文以引用方式并入本文。
触摸屏212例如具有超过100dpi的视频分辨率。在一些实施方案中,触摸屏具有约160dpi的视频分辨率。用户使用任何合适的对象或附加物诸如触笔、手指等与触摸屏212进行接触。在一些实施方案中,将用户界面设计为主要通过基于手指的接触和手势来工作,由于手指在触摸屏上的接触区域较大,因此这可能不如基于触控笔的输入精确。在一些实施方案中,设备将基于手指的粗略输入转化为精确的指针/光标位置或命令以用于执行用户所期望的动作。
在一些实施方案中,除了触摸屏之外,设备200还包括用于激活或去激活特定功能的触控板(未示出)。在一些实施方案中,触摸板是设备的触敏区域,与触摸屏不同,该触敏区域不显示视觉输出。触控板是与触摸屏212分开的触敏表面,或者是由触摸屏形成的触敏表面的延伸。
设备200还包括用于为各种部件供电的电力系统262。电力系统262包括电力管理系统、一个或多个电源(例如,电池、交流电(AC))、再充电系统、电力故障检测电路、功率转换器或逆变器、电力状态指示器(例如,发光二极管(LED))和与便携式设备中电力的生成、管理和分配相关联的任何其他部件。
设备200还包括一个或多个光学传感器264。图2A示出了耦接到I/O子系统206中的光学传感器控制器258的光学传感器。光学传感器264包括电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)光电晶体管。光学传感器264从环境接收通过一个或多个透镜而投射的光,并且将光转换为表示图像的数据。结合成像模块243(也叫做相机模块),光学传感器264捕获静态图像或视频。在一些实施方案中,光学传感器位于设备200的后部,与设备前部的触摸屏显示器212相背对,使得触摸屏显示器被用作用于静态图像和/或视频图像采集的取景器。在一些实施方案中,光学传感器位于设备的前部,使得在用户在触摸屏显示器上查看其他视频会议参与者的同时获取该用户的图像以用于视频会议。在一些实施方案中,光学传感器264的位置可由用户改变(例如,通过旋转设备外壳中的透镜和传感器),使得单个光学传感器264与触摸屏显示器一起使用,以用于视频会议和静态图像和/或视频图像采集两者。
设备200任选地还包括一个或多个接触强度传感器265。图2A示出了耦接到I/O子系统206中的强度传感器控制器259的接触强度传感器。接触强度传感器265任选地包括一个或多个压阻应变仪、电容式力传感器、电气力传感器、压电力传感器、光学力传感器、电容式触敏表面或其他强度传感器(例如,用于测量触敏表面上的接触的力(或压力)的传感器)。接触强度传感器265从环境接收接触强度信息(例如,压力信息或压力信息的代用物)。在一些实施方案中,至少一个接触强度传感器与触敏表面(例如,触敏显示器系统212)并置排列或邻近。在一些实施方案中,至少一个接触强度传感器位于设备200的后部上,与位于设备200的前部上的触摸屏显示器212相背对。
设备200还包括一个或多个接近传感器266。图2A示出了耦接到外围设备接口218的接近传感器266。另选地,接近传感器266耦接到I/O子系统206中的输入控制器260。接近传感器266如以下美国专利申请中所述的那样执行:No.11/241,839,名称为“ProximityDetector In Handheld Device”;11/240,788,名称为“Proximity Detector In HandheldDevice”;11/620,702,名称为“Using Ambient Light Sensor To Augment ProximitySensor Output”;11/586,862,名称为“Automated Response To And Sensing Of UserActivity In Portable Devices”;以及11/638,251,名称为“Methods And Systems ForAutomatic Configuration Of Peripherals”,这些美国专利申请据此全文以引用方式并入本文。在一些实施方案中,当多功能设备被置于用户的耳朵附近时(例如,当用户正在进行电话呼叫时),接近传感器关闭并且禁用触摸屏212。
设备200任选地还包括一个或多个触觉输出发生器267。图2A示出了耦接到I/O子系统206中的触觉反馈控制器261的触觉输出发生器。触觉输出发生器267任选地包括一个或多个电声设备诸如扬声器或其他音频部件;和/或用于将能量转换成线性运动的机电设备诸如电机、螺线管、电活性聚合器、压电致动器、静电致动器或其他触觉输出生成部件(例如,用于将电信号转换成设备上的触觉输出的部件)。接触强度传感器265从触觉反馈模块233接收触觉反馈生成指令,并且在设备200上生成能够由设备200的用户感觉到的触觉输出。在一些实施方案中,至少一个触觉输出发生器与触敏表面(例如,触敏显示器系统212)并置排列或邻近,并且任选地通过竖直地(例如,向设备200的表面内/外)或侧向地(例如,在与设备200的表面相同的平面中向后和向前)移动触敏表面来生成触觉输出。在一些实施方案中,至少一个触觉输出发生器传感器位于设备200的后部上,与位于设备200的前部上的触摸屏显示器212相背对。
设备200还包括一个或多个加速度计268。图2A示出了耦接到外围设备接口218的加速度计268。另选地,加速度计268耦接至I/O子系统206中的输入控制器260。加速度计268如以下美国专利公开中所述那样执行:美国专利公开20050190059号,“Acceleration-based Theft Detection System for Portable Electronic Devices”和美国专利公开20060017692号,“Methods And Apparatuses For Operating A Portable Device BasedOn An Accelerometer”,这两个美国专利公开全文以引用方式并入本文。在一些实施方案中,基于对从一个或多个加速度计接收的数据的分析来在触摸屏显示器上以纵向视图或横向视图显示信息。设备200任选地除了一个或多个加速度计268之外还包括磁力仪(未示出)和GPS(或GLONASS或其他全球导航系统)接收器(未示出),以用于获取关于设备200的位置和取向(例如,纵向或横向)的信息。
在一些实施方案中,存储于存储器202中的软件部件包括操作系统226、通信模块(或指令集)228、接触/运动模块(或指令集)230、图形模块(或指令集)232、文本输入模块(或指令集)234、全球定位系统(GPS)模块(或指令集)235、数字助理客户端模块229以及应用程序(或指令集)236。此外,存储器202存储数据与模型,诸如用户数据与模型231。此外,在一些实施方案中,存储器202(图2A)或470(图4)存储设备/全局内部状态257,如图2A和图4中所示。设备/全局内部状态257包括以下中的一者或多者:活动应用程序状态,其指示哪些应用程序(如果有的话)当前是活动的;显示状态,指示什么应用、视图或其他信息占据了触摸屏显示器212的各个区域;传感器状态,包括从设备的各个传感器和输入控制设备216获得的信息;以及涉及设备位置和/或姿态的位置信息。
操作系统226(例如,Darwin、RTXC、LINUX、UNIX、OS X、iOS、WINDOWS、或嵌入式操作系统诸如VxWorks)包括用于控制和管理一般系统任务(例如,存储器管理、存储设备控制、电源管理等)的各种软件部件和/或驱动程序,并且促进各种硬件部件和软件部件之间的通信。
通信模块228便于通过一个或多个外部端口224来与其他设备进行通信,并且还包括用于处理由RF电路208和/或外部端口224所接收的数据的各种软件组件。外部端口224(例如,通用串行总线(USB)、火线等)适于直接耦接到其他设备,或间接地通过网络(例如,互联网、无线LAN等)进行耦接。在一些实施方案中,外部端口是与(Apple Inc.的商标)设备上所使用的30针连接器相同的或类似的和/或与其兼容的多针(例如,30针)连接器。
接触/运动模块230任选地检测与触摸屏212(结合显示控制器256)和其他触敏设备(例如,触控板或物理点击式转盘)的接触。接触/运动模块230包括各种软件部件以用于执行与接触检测相关的各种操作,诸如确定是否已发生接触(例如,检测手指按下事件)、确定接触强度(例如,接触的力或压力,或者接触的力或压力的替代物)、确定是否存在接触的移动并跟踪在触敏表面上的移动(例如,检测一个或多个手指拖动事件),以及确定接触是否已停止(例如,检测手指抬起事件或接触断开)。接触/运动模块230从触敏表面接收接触数据。确定接触点的移动任选地包括确定接触点的速率(量值)、速度(量值和方向)和/或加速度(量值和/或方向的改变),所述接触点的移动由一系列接触数据表示。这些操作任选地被应用于单点接触(例如,单指接触)或者多点同时接触(例如,“多点触摸”/多个手指接触)。在一些实施方案中,接触/运动模块230和显示控制器256检测触控板上的接触。
在一些实施方案中,接触/运动模块230使用一组一个或多个强度阈值来确定操作是否已由用户执行(例如,确定用户是否已“点击”图标)。在一些实施方案中,根据软件参数来确定强度阈值的至少一个子集(例如,强度阈值不是由具体物理致动器的激活阈值来确定的,并且可在不改变设备200的物理硬件的情况下被调节)。例如,在不改变触控板或触摸屏显示器硬件的情况下,触控板或触摸屏的鼠标“点击”阈值可被设定成预定义的阈值的大范围中的任一个阈值。另外,在一些具体实施中,向设备的用户提供用于调节一组强度阈值中的一个或多个强度阈值(例如,通过调节各个强度阈值和/或通过利用对“强度”参数的系统级点击来一次调节多个强度阈值)的软件设置。
接触/运动模块230任选地检测用户的手势输入。触敏表面上的不同手势具有不同的接触模式(例如,所检测到的接触的不同运动、计时和/或强度)。因此,任选地通过检测特定接触模式来检测手势。例如,检测手指轻击手势包括检测手指按下事件,然后在与手指按下事件相同的位置(或基本上相同的位置)处(例如,在图标的位置处)检测手指抬起(抬离)事件。作为另一个示例,在触敏表面上检测手指轻扫手势包括检测手指按下事件,然后检测一个或多个手指拖动事件,并且随后检测手指抬起(抬离)事件。
图形模块232包括用于在触摸屏212或其他显示器上呈现和显示图形的各种已知的软件部件,包括用于改变所显示的图形的视觉冲击(例如,亮度、透明度、饱和度、对比度或其他视觉特征)的部件。如本文所用,术语“图形”包括可被显示给用户的任何对象,非限制性地包括文本、网页、图标(诸如,包括软键的用户界面对象)、数字图像、视频、动画等。
在一些实施方案中,图形模块232存储表示待使用的图形的数据。每个图形任选地被分配有对应的代码。图形模块232从应用程序等接收指定待显示的图形的一个或多个代码,在必要的情况下还一起接收坐标数据和其他图形属性数据,并且然后生成屏幕图像数据,以输出至显示控制器256。
触觉反馈模块233包括用于生成指令的各种软件部件,该指令由一个或多个触觉输出发生器267使用,以便响应于用户与设备200的交互而在设备200上的一个或多个位置处产生触觉输出。
在一些示例中作为图形模块232的部件的文本输入模块234提供用于在各种应用程序(例如,联系人237、电子邮件240、IM 241、浏览器247和需要文本输入的任何其他应用程序)中输入文本的软键盘。
GPS模块235确定设备的位置,并提供该信息以供在各种应用程序中使用(例如提供给电话238以供在基于位置的拨号中使用;提供给相机243作为图片/视频元数据;以及提供给提供基于位置的服务的应用程序,诸如天气小组件、本地黄页小组件和地图/导航小组件)。
数字助理客户端模块229包括各种客户端侧数字助理指令,以提供数字助理的客户端侧功能。例如,数字助理客户端模块229能够通过便携式多功能设备200的各种用户接口(例如,麦克风213、一个或多个加速度计268、触敏显示器系统212、一个或多个光学传感器264、其他输入控制设备216等)接受声音输入(例如,语音输入)、文本输入、触摸输入和/或手势输入。数字助理客户端模块229还能够通过便携式多功能设备200的各种输出接口(例如,扬声器211、触敏显示器系统212、一个或多个触觉输出发生器267等)提供音频形式的输出(例如,语音输出)、视觉形式的输出和/或触觉形式的输出。例如,将输出提供为语音、声音、警报、文本消息、菜单、图形、视频、动画、振动和/或以上两者或更多者的组合。在操作期间,数字助理客户端模块229使用RF电路208与DA服务器106通信。
用户数据与模型231包括与用户相关联的各种数据(例如,用户特定的词汇数据、用户偏好数据、用户指定的名称发音、来自用户电子地址簿的数据、待办事项、购物清单等)以提供数字助理的客户端侧功能。此外,用户数据与模型231包括用于处理用户输入并且确定用户意图的各种模型(例如,语音识别模型、统计语言模型、自然语言处理模型、知识本体、任务流模型、服务模型等)。
在一些示例中,数字助理客户端模块229利用便携式多功能设备200的各种传感器、子系统和外围设备来从便携式多功能设备200的周围环境采集附加信息,以建立与用户、当前用户交互和/或当前用户输入相关联的上下文。在一些示例中,数字助理客户端模块229将上下文信息或其子集与用户输入一起提供至DA服务器106以帮助推断用户意图。在一些示例中,数字助理还使用上下文信息来确定如何准备输出并将其传送给用户。上下文信息被称为上下文数据。
在一些示例中,伴随用户输入的上下文信息包括传感器信息,例如照明、环境噪声、环境温度、周围环境的图像或视频等。在一些示例中,上下文信息还可包括设备的物理状态,例如设备取向、设备位置、设备温度、功率电平、速度、加速度、运动模式、蜂窝信号强度等。在一些示例中,将与DA服务器106的软件状态相关的信息,例如便携式多功能设备200的运行过程、已安装程序、过去和当前的网络活动、后台服务、错误日志、资源使用等,作为与用户输入相关联的上下文信息提供至DA服务器106。
在一些示例中,数字助理客户端模块229响应于来自DA服务器106的请求而选择性地提供存储在便携式多功能设备200上的信息(例如,用户数据231)。在一些示例中,数字助理客户端模块229还在DA服务器106请求时引出来自用户经由自然语言对话或其他用户接口的附加输入。数字助理客户端模块229将该附加输入传送至DA服务器106,以帮助DA服务器106进行意图推断和/或实现在用户请求中表达的用户意图。
下面参考图7A至图7C对数字助理进行更详细的描述。应当认识到,数字助理客户端模块229可包括下文所述的数字助理模块726的任意数量的子模块。
应用程序236包括以下模块(或指令集)或者其子集或超集:
·联系人模块237(有时称为通讯录或联系人列表);
·电话模块238;
·视频会议模块239;
·电子邮件客户端模块240;
·即时消息(IM)模块241;
·健身支持模块242;
·用于静态图像和/或视频图像的相机模块243;
·图像管理模块244;
·视频播放器模块;
·音乐播放器模块;
·浏览器模块247;
·日历模块248;
·小组件模块249,其在一些示例中包括以下各项中的一者或多者:天气小组件249-1、股票小组件249-2、计算器小组件249-3、闹钟小组件249-4、词典小组件249-5和用户获取的其他小组件以及用户创建的小组件249-6;
·用于形成用户创建的小组件249-6的小组件创建器模块250;
·搜索模块251;
·视频和音乐播放器模块252,其合并视频播放器模块和音乐播放器模块;
·记事本模块253;
·地图模块254;和/或
·在线视频模块255。
存储在存储器202中的其他应用程序236的示例包括其他字词处理应用程序、其他图像编辑应用程序、绘图应用程序、呈现应用程序、支持JAVA的应用程序、加密、数字权限管理、声音识别和声音复制。
结合触摸屏212、显示控制器256、接触/运动模块230、图形模块232、和文本输入模块234,联系人模块237用于管理通讯录或联系人列表(例如,存储在存储器202或存储器470中的联系人模块237的应用程序内部状态292中),包括:将一个或多个姓名添加到通讯录;从通讯录删除姓名;将电话号码、电子邮件地址、物理地址或其他信息与姓名关联;将图像与姓名关联;对姓名进行归类和分类;提供电话号码或电子邮件地址来发起和/或促进通过电话238、视频会议模块239、电子邮件240或IM 241进行的通信;等等。
结合RF电路208、音频电路210、扬声器211、麦克风213、触摸屏212、显示控制器256、接触/运动模块230、图形模块232和文本输入模块234,电话模块238用于输入对应于电话号码的字符序列、访问联系人模块237中的一个或多个电话号码、修改已经输入的电话号码、拨打相应的电话号码、进行会话以及当会话完成时断开或挂断。如上所述,无线通信使用多种通信标准、协议和技术中的任一种。
结合RF电路208、音频电路210、扬声器211、麦克风213、触摸屏212、显示控制器256、光学传感器264、光学传感器控制器258、接触/运动模块230、图形模块232、文本输入模块234、联系人模块237和电话模块238,视频会议模块239包括根据用户指令来发起、进行和终止用户与一个或多个其他参与方之间的视频会议的可执行指令。
结合RF电路208、触摸屏212、显示控制器256、接触/运动模块230、图形模块232和文本输入模块234,电子邮件客户端模块240包括响应于用户指令来创建、发送、接收和管理电子邮件的可执行指令。结合图像管理模块244,电子邮件客户端模块240使得非常容易创建和发送具有由相机模块243拍摄的静态图像或视频图像的电子邮件。
结合RF电路208、触摸屏212、显示控制器256、接触/运动模块230、图形模块232和文本输入模块234,即时消息模块241包括用于以下操作的可执行指令:输入与即时消息对应的字符序列、修改先前输入的字符、传输相应即时消息(例如,使用短消息服务(SMS)或多媒体消息服务(MMS)协议以用于基于电话的即时消息或者使用XMPP、SIMPLE、或IMPS以用于基于互联网的即时消息)、接收即时消息以及查看所接收的即时消息。在一些实施方案中,所传输和/或接收的即时消息包括图形、照片、音频文件、视频文件和/或如MMS和/或增强型消息服务(EMS)中支持的其他附件。如本文所用,“即时消息”是指基于电话的消息(例如,使用SMS或MMS发送的消息)和基于互联网的消息(例如,使用XMPP、SIMPLE或IMPS发送的消息)两者。
结合RF电路208、触摸屏212、显示控制器256、接触/运动模块230、图形模块232、文本输入模块234、GPS模块235、地图模块254和音乐播放器模块,健身支持模块242包括用于以下各项的可执行指令:创建健身(例如,具有时间、距离和/或卡路里燃烧目标);与健身传感器(运动设备)进行通信;接收健身传感器数据;校准用于监视健身的传感器;为健身选择和播放音乐;以及显示、存储和传输健身数据。
结合触摸屏212、显示控制器256、一个或多个光学传感器264、光学传感器控制器258、接触/运动模块230、图形模块232和图像管理模块244,相机模块243包括用于以下操作的可执行指令:捕获静态图像或视频(包括视频流)并且将它们存储到存储器202中、修改静态图像或视频的特征,或从存储器202删除静态图像或视频。
结合触摸屏212、显示控制器256、接触/运动模块230、图形模块232、文本输入模块234、和相机模块243,图像管理模块244包括用于排列、修改(例如,编辑)、或以其他方式操控、加标签、删除、呈现(例如,在数字幻灯片或相册中)、以及存储静态图像和/或视频图像的可执行指令。
结合RF电路208、触摸屏212、显示控制器256、接触/运动模块230、图形模块232和文本输入模块234,浏览器模块247包括用于根据用户指令来浏览互联网,包括搜索、链接至、接收和显示网页或其部分,以及链接至网页的附件和其他文件的可执行指令。
结合RF电路208、触摸屏212、显示控制器256、接触/运动模块230、图形模块232、文本输入模块234、电子邮件客户端模块240和浏览器模块247,日历模块248包括根据用户指令来创建、显示、修改和存储日历以及与日历相关联的数据(例如,日历条目、待办事项等)的可执行指令。
结合RF电路208、触摸屏212、显示控制器256、接触/运动模块230、图形模块232、文本输入模块234和浏览器模块247,小组件模块249是可由用户下载并使用的微型应用程序(例如,天气小组件249-1、股市小组件249-2、计算器小组件249-3、闹钟小组件249-4和词典小组件249-5)或由用户创建的微型应用程序(例如,用户创建的小组件249-6)。在一些实施方案中,小组件包括HTML(超文本标记语言)文件、CSS(层叠样式表)文件和JavaScript文件。在一些实施方案中,小组件包括XML(可扩展标记语言)文件和JavaScript文件(例如,Yahoo!小组件)。
结合RF电路208、触摸屏212、显示控制器256、接触/运动模块230、图形模块232、文本输入模块234和浏览器模块247,小组件创建器模块250被用户用于创建小组件(例如,使将网页的用户指定部分变成小组件)。
结合触摸屏212、显示控制器256、接触/运动模块230、图形模块232和文本输入模块234,搜索模块251包括用于根据用户指令来搜索存储器202中与一个或多个搜索条件(例如,一个或多个用户指定的搜索词)匹配的文本、音乐、声音、图像、视频和/或其他文件的可执行指令。
结合触摸屏212、显示控制器256、接触/运动模块230、图形模块232、音频电路210、扬声器211、RF电路208和浏览器模块247,视频和音乐播放器模块252包括允许用户下载和回放以一种或多种文件格式(诸如MP3或AAC文件)存储的所记录的音乐和其他声音文件的可执行指令,以及用于显示、呈现或以其他方式回放视频(例如,在触摸屏212上或在经由外部端口224连接的外部显示器上)的可执行指令。在一些实施方案中,设备200任选地包括MP3播放器诸如iPod(Apple Inc.的商标)的功能。
结合触摸屏212、显示控制器256、接触/运动模块230、图形模块232和文本输入模块234,记事本模块253包括根据用户指令来创建和管理记事本、待办事项等的可执行指令。
结合RF电路208、触摸屏212、显示控制器256、接触/运动模块230、图形模块232、文本输入模块234、GPS模块235和浏览器模块247,地图模块254用于根据用户指令接收、显示、修改和存储地图以及与地图相关联的数据(例如,驾驶方向、与特定位置处或附近的商店及其他兴趣点有关的数据,以及其他基于位置的数据)。
结合触摸屏212、显示控制器256、接触/运动模块230、图形模块232、音频电路210、扬声器211、RF电路208、文本输入模块234、电子邮件客户端模块240和浏览器模块247,在线视频模块255包括允许用户访问、浏览、接收(例如,通过流式传输和/或下载)、回放(例如,在触摸屏上或经由外部端口224在所连接的外部显示器上)、发送具有至特定在线视频的链接的电子邮件,以及以其他方式管理一种或多种文件格式(诸如,H.264)的在线视频的指令。在一些实施方案中,使用即时消息模块241而不是电子邮件客户端模块240来发送特定在线视频的链接。在线视频应用程序的其他描述可见于2007年6月20日提交的名称为“Portable Multifunction Device,Method,and Graphical User Interface forPlaying Online Videos”的美国临时专利申请号60/936,562和2007年12月31日提交的名称为“Portable Multifunction Device,Method,and Graphical User Interface forPlaying Online Videos”的美国专利申请号11/968,067,这两个专利申请的内容据此全文以引用方式并入本文。
上述每个模块和应用程序对应于用于执行上述一种或多种功能以及在本专利申请中所述的方法(例如,本文所述的计算机实现的方法和其他信息处理方法)的可执行指令集。这些模块(例如,指令集)不必被实现为独立的软件程序、过程或模块,并因此在各种实施方案中可组合或以其他方式重新布置这些模块的各种子集。例如,视频播放器模块可与音乐播放器模块组合成单个模块(例如,图2A中的视频和音乐播放器模块252)。在一些实施方案中,存储器202存储上述模块和数据结构的子集。此外,存储器202存储上文未描述的附加模块和数据结构。
在一些实施方案中,设备200是该设备上的预定义的一组功能的操作唯一地通过触摸屏和/或触控板来执行的设备。通过使用触摸屏和/或触控板作为用于设备200的操作的主要输入控制设备,减少设备200上的物理输入控制设备(诸如下压按钮、拨盘等)的数量。
唯一地通过触摸屏和/或触摸板来执行的预定义的一组功能任选地包括在用户界面之间的导航。在一些实施方案中,触控板在被用户触摸时将设备200从设备200上显示的任何用户界面导航到主菜单、home菜单或根菜单。在此类实施方案中,使用触摸板来实现“菜单按钮”。在一些其他实施方案中,菜单按钮是物理下压按钮或者其他物理输入控制设备,而不是触摸板。
图2B是示出了根据一些实施方案的用于事件处理的示例性部件的框图。在一些实施方案中,存储器202(图2A)或存储器470(图4)包括事件分类器270(例如,在操作系统226中)以及相应的应用程序236-1(例如,前述应用程序237至251、255、480至490中的任一个应用程序)。
事件分类器270接收事件信息并确定要将事件信息递送到的应用程序236-1和应用程序236-1的应用程序视图291。事件分类器270包括事件监视器271和事件分配器模块274。在一些实施方案中,应用程序236-1包括应用程序内部状态292,该应用程序内部状态指示当应用程序是活动的或正在执行时被显示在触敏显示器212上的一个或多个当前应用程序视图。在一些实施方案中,设备/全局内部状态257被事件分类器270用来确定哪个(哪些)应用程序当前是活动的,并且应用程序内部状态292被事件分类器270用来确定要将事件信息递送到的应用程序视图291。
在一些实施方案中,应用程序内部状态292包括附加信息,诸如以下各项中的一者或多者:当应用程序236-1恢复执行时将被使用的恢复信息、指示信息正被显示或准备好用于被应用程序236-1显示的用户界面状态信息、用于使得用户能够返回到应用程序236-1的前一状态或视图的状态队列,以及用户采取的先前动作的重复/撤销队列。
事件监视器271从外围设备接口218接收事件信息。事件信息包括关于子事件(例如,作为多点触摸手势一部分的触敏显示器212上的用户触摸)的信息。外围设备接口218传输其从I/O子系统206或传感器诸如接近传感器266、一个或多个加速度计268和/或麦克风213(通过音频电路210)接收的信息。外围设备接口218从I/O子系统206接收的信息包括来自触敏显示器212或触敏表面的信息。
在一些实施方案中,事件监视器271以预先确定的间隔将请求发送至外围设备接口218。作为响应,外围设备接口218传输事件信息。在其他实施方案中,外围设备接口218仅当存在显著事件(例如,接收到高于预先确定的噪声阈值的输入和/或接收到超过预先确定的持续时间的输入)时才传输事件信息。
在一些实施方案中,事件分类器270还包括命中视图确定模块272和/或活动事件识别器确定模块273。
当触敏显示器212显示多于一个视图时,命中视图确定模块272提供用于确定子事件已在一个或多个视图内的什么地方发生的软件过程。视图由用户能够在显示器上看到的控件和其他元素构成。
与应用程序相关联的用户界面的另一方面是一组视图,本文中有时也称为应用程序视图或用户界面窗口,在其中显示信息并且发生基于触摸的手势。在其中检测到触摸的(相应应用程序的)应用程序视图对应于应用程序的程序化分级结构或视图分级结构内的程序化水平。例如,在其中检测到触摸的最低水平视图被称为命中视图,并且被认为是正确输入的事件集至少部分地基于初始触摸的命中视图来确定,该初始触摸开始基于触摸的手势。
命中视图确定模块272接收与基于触摸的手势的子事件相关的信息。当应用程序具有以分级结构组织的多个视图时,命中视图确定模块272将命中视图识别为应当对子事件进行处理的分级结构中的最低视图。在大多数情况下,命中视图是发起子事件(例如,形成事件或潜在事件的子事件序列中的第一子事件)在其中发生的最低水平视图。一旦命中视图被命中视图确定模块272识别,命中视图便通常接收与其被识别为命中视图所针对的同一触摸或输入源相关的所有子事件。
活动事件识别器确定模块273确定视图分级结构内的哪个或哪些视图应接收特定子事件序列。在一些实施方案中,活动事件识别器确定模块273确定仅命中视图应接收特定子事件序列。在其他实施方案中,活动事件识别器确定模块273确定包括子事件的物理位置的所有视图是活跃参与的视图,并因此确定所有活跃参与的视图都应接收特定子事件序列。在其他实施方案中,即使触摸子事件完全被局限到与一个特定视图相关联的区域,分级结构中的较高视图将仍然保持为活跃参与的视图。
事件分配器模块274将事件信息分配到事件识别器(例如,事件识别器280)。在包括活动事件识别器确定模块273的实施方案中,事件分配器模块274将事件信息递送到由活动事件识别器确定模块273确定的事件识别器。在一些实施方案中,事件分配器模块274在事件队列中存储事件信息,该事件信息由相应事件接收器282进行检索。
在一些实施方案中,操作系统226包括事件分类器270。另选地,应用程序236-1包括事件分类器270。在又一个实施方案中,事件分类器270是独立模块,或者是存储在存储器202中的另一个模块(诸如,接触/运动模块230)的一部分。
在一些实施方案中,应用程序236-1包括多个事件处理程序290和一个或多个应用程序视图291,其中的每个应用程序视图包括用于处理发生在应用程序的用户界面的相应视图内的触摸事件的指令。应用程序236-1的每个应用程序视图291包括一个或多个事件识别器280。通常,相应应用程序视图291包括多个事件识别器280。在其他实施方案中,事件识别器280中的一个或多个事件识别器是独立模块的一部分,该独立模块为诸如用户界面工具包(未示出)或应用程序236-1从中继承方法和其他属性的较高级别的对象。在一些实施方案中,相应事件处理程序290包括以下各项中的一者或多者:数据更新器276、对象更新器277、GUI更新器278、和/或从事件分类器270接收的事件数据279。事件处理程序290利用或调用数据更新器276、对象更新器277或GUI更新器278来更新应用程序内部状态292。另选地,应用程序视图291中的一个或多个应用程序视图包括一个或多个相应事件处理程序290。另外,在一些实施方案中,数据更新器276、对象更新器277和GUI更新器278中的一者或多者包括在相应应用程序视图291中。
相应的事件识别器280从事件分类器270接收事件信息(例如,事件数据279),并且从事件信息识别事件。事件识别器280包括事件接收器282和事件比较器284。在一些实施方案中,事件识别器280还包括元数据283和事件传递指令288(其包括子事件传递指令)的至少一个子集。
事件接收器282接收来自事件分类器270的事件信息。事件信息包括关于子事件例如触摸或触摸移动的信息。根据子事件,事件信息还包括附加信息,诸如子事件的位置。当子事件涉及触摸的运动时,事件信息还包括子事件的速率和方向。在一些实施方案中,事件包括设备从一个取向旋转到另一取向(例如,从纵向取向旋转到横向取向,或反之亦然),并且事件信息包括关于设备的当前取向(也被称为设备姿态)的对应信息。
事件比较器284将事件信息与预定义的事件或子事件定义进行比较,并且基于该比较,确定事件或子事件,或者确定或更新事件或子事件的状态。在一些实施方案中,事件比较器284包括事件定义286。事件定义286包含事件的定义(例如,预定义的子事件序列),例如事件1(287-1)、事件2(287-2)、以及其他事件。在一些实施方案中,事件(287)中的子事件例如包括触摸开始、触摸结束、触摸移动、触摸取消和多点触摸。在一个示例中,事件1(287-1)的定义是被显示对象上的双击。例如,双击包括被显示对象上的预先确定时长的第一触摸(触摸开始)、预先确定时长的第一抬离(触摸结束)、被显示对象上的预先确定时长的第二触摸(触摸开始)以及预先确定时长的第二抬离(触摸结束)。在另一个示例中,事件2(287-2)的定义是被显示对象上的拖动。例如,拖动包括被显示对象上的预先确定时长的触摸(或接触)、触摸在触敏显示器212上的移动、以及触摸的抬离(触摸结束)。在一些实施方案中,事件还包括用于一个或多个相关联的事件处理程序290的信息。
在一些实施方案中,事件定义287包括对用于相应用户界面对象的事件的定义。在一些实施方案中,事件比较器284执行命中测试以确定哪个用户界面对象与子事件相关联。例如,在触敏显示器212上显示三个用户界面对象的应用程序视图中,当在触敏显示器212上检测到触摸时,事件比较器284执行命中测试以确定这三个用户界面对象中的哪一个用户界面对象与该触摸(子事件)相关联。如果每个所显示对象与相应事件处理程序290相关联,则事件比较器使用该命中测试的结果来确定哪个事件处理程序290应当被激活。例如,事件比较器284选择与子事件和触发该命中测试的对象相关联的事件处理程序。
在一些实施方案中,相应事件(287)的定义还包括延迟动作,该延迟动作延迟事件信息的递送,直到已确定子事件序列确实对应于或不对应于事件识别器的事件类型。
当相应事件识别器280确定子事件序列不与事件定义286中的任何事件匹配时,该相应事件识别器280进入事件不可能、事件失败或事件结束状态,在此之后忽略基于触摸的手势的后续子事件。在这种情况下,对于命中视图保持活动的其他事件识别器(如果有的话)继续跟踪并处理持续进行的基于触摸的手势的子事件。
在一些实施方案中,相应事件识别器280包括具有指示事件递送系统应当如何执行对活跃参与的事件识别器的子事件递送的可配置属性、标记和/或列表的元数据283。在一些实施方案中,元数据283包括指示事件识别器彼此如何交互或如何能够交互的可配置属性、标志和/或列表。在一些实施方案中,元数据283包括指示子事件是否递送到视图或程序化分级结构中的不同层级的可配置属性、标志和/或列表。
在一些实施方案中,当事件的一个或多个特定子事件被识别时,相应事件识别器280激活与事件相关联的事件处理程序290。在一些实施方案中,相应事件识别器280将与事件相关联的事件信息递送到事件处理程序290。激活事件处理程序290不同于将子事件发送(和延期发送)到相应命中视图。在一些实施方案中,事件识别器280抛出与所识别的事件相关联的标记,并且与该标记相关联的事件处理程序290获取该标记并执行预定义过程。
在一些实施方案中,事件递送指令288包括递送关于子事件的事件信息而不激活事件处理程序的子事件递送指令。相反,子事件递送指令将事件信息递送到与子事件序列相关联的事件处理程序或者递送到活跃参与的视图。与子事件序列或与活跃参与的视图相关联的事件处理程序接收事件信息并执行预先确定的进程。
在一些实施方案中,数据更新器276创建并更新在应用程序236-1中使用的数据。例如,数据更新器276对联系人模块237中所使用的电话号码进行更新,或者对视频播放器模块中所使用的视频文件进行存储。在一些实施方案中,对象更新器277创建和更新在应用程序236-1中使用的对象。例如,对象更新器277创建新的用户界面对象或更新用户界面对象的位置。GUI更新器278更新GUI。例如,GUI更新器278准备显示信息,并且将显示信息发送到图形模块232用以显示在触敏显示器上。
在一些实施方案中,事件处理程序290包括数据更新器276、对象更新器277和GUI更新器278或者具有对它们的访问权限。在一些实施方案中,数据更新器276、对象更新器277和GUI更新器278被包括在相应应用程序236-1或应用程序视图291的单个模块中。在其他实施方案中,它们被包括在两个或更多个软件模块中。
应当理解,关于触敏显示器上的用户触摸的事件处理的上述论述还适用于利用输入设备来操作多功能设备200的其他形式的用户输入,并不是所有用户输入都是在触摸屏上发起的。例如,任选地与单次或多次键盘按下或按住协作的鼠标移动和鼠标按钮按下;触摸板上的接触移动,诸如轻击、拖动、滚动等;触控笔输入;设备的移动;口头指令;检测到的眼睛移动;生物特征输入;和/或它们的任何组合任选地被用作对应于限定要辨别的事件的子事件的输入。
图3示出了根据一些实施方案的具有触摸屏212的便携式多功能设备200。触摸屏任选地在用户界面(UI)300内显示一个或多个图形。在本实施方案以及下文所述的其他实施方案中,用户能够通过例如利用一根或多根手指302(在图中未按比例绘制)或一支或多支触笔303(在图中未按比例绘制)在图形上作出手势来选择这些图形中的一个或多个图形。在一些实施方案中,当用户中断与一个或多个图形的接触时,将发生对一个或多个图形的选择。在一些实施方案中,手势任选地包括一次或多次轻击、一次或多次轻扫(从左向右、从右向左、向上和/或向下)和/或已与设备200发生接触的手指的滚动(从右向左、从左向右、向上和/或向下)。在一些具体实施中或在一些情况下,不经意地与图形接触不会选择图形。例如,当与选择对应的手势是轻击时,在应用程序图标上方扫动的轻扫手势任选地不会选择对应的应用程序。
设备200还包括一个或多个物理按钮,诸如“home”或菜单按钮304。如前所述,菜单按钮304用于导航到在设备200上执行的一组应用程序中的任何应用程序236。另选地,在一些实施方案中,菜单按钮被实现为被显示在触摸屏212上的GUI中的软键。
在一些实施方案中,设备200包括触摸屏212、菜单按钮304、用于使设备通电/断电和用于锁定设备的下压按钮306、一个或多个音量调节按钮308、用户身份模块(SIM)卡槽310、耳麦插孔312和对接/充电外部端口224。下压按钮306任选地用于通过压下该按钮并且将该按钮保持在压下状态持续预定义的时间间隔来对设备进行开/关机;通过压下该按钮并在该预定义的时间间隔过去之前释放该按钮来锁定设备;和/或对设备进行解锁或发起解锁进程。在另选实施方案中,设备200还通过麦克风213接受用于激活或去激活某些功能的言语输入。设备200还任选地包括用于检测触摸屏212上的接触的强度的一个或多个接触强度传感器265,和/或用于为设备200的用户生成触觉输出的一个或多个触觉输出发生器267。
图4是根据一些实施方案的具有显示器和触敏表面的示例性多功能设备的框图。设备400不必是便携式的。在一些实施方案中,设备400为膝上型计算机、台式计算机、平板电脑、多媒体播放器设备、导航设备、教育设备(诸如儿童学习玩具)、游戏系统或控制设备(例如,家用控制器或工业用控制器)。设备400通常包括一个或多个处理单元(CPU)410、一个或多个网络或其他通信接口460、存储器470和用于使这些部件互连的一个或多个通信总线420。通信总线420任选地包括使系统部件互连并且控制系统部件之间的通信的电路(有时称作芯片组)。设备400包括具有显示器440的输入/输出(I/O)接口430,该显示器通常是触摸屏显示器。I/O接口430还任选地包括键盘和/或鼠标(或其他指向设备)450和触控板455、用于在设备400上生成触觉输出的触觉输出发生器457(例如,类似于上文参考图2A所述的一个或多个触觉输出发生器267)、传感器459(例如,光学传感器、加速度传感器、接近传感器、触敏传感器和/或接触强度传感器(类似于上文参考图2A所述的一个或多个接触强度传感器265))。存储器470包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其他随机存取固态存储器设备;并且任选地包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存存储器设备或其他非易失性固态存储设备。存储器470任选地包括远离CPU 410定位的一个或多个存储设备。在一些实施方案中,存储器470存储与便携式多功能设备200(图2A)的存储器202中存储的程序、模块和数据结构类似的程序、模块和数据结构或其子集。此外,存储器470任选地存储在便携式多功能设备200的存储器202中不存在的附加程序、模块和数据结构。例如,设备400的存储器470任选地存储绘图模块480、呈现模块482、字词处理模块484、网站创建模块486、盘编辑模块488、和/或电子表格模块490,而便携式多功能设备200(图2A)的存储器202任选地不存储这些模块。
图4中的上述元件中的每一者在一些示例中存储在一个或多个先前提到的存储器设备中。上述模块中的每个模块对应于用于执行上述功能的指令集。上述模块或程序(例如,指令集)不必被实现为独立的软件程序、过程或模块,因此这些模块的各种子集在各种实施方案中组合或以其他方式重新布置。在一些实施方案中,存储器470存储上述模块和数据结构的子集。此外,存储器470存储上文未描述的附加模块和数据结构。
现在将注意力转到可在例如便携式多功能设备200上实现的用户界面的实施方案。
图5A示出了根据一些实施方案的便携式多功能设备200上的应用程序菜单的示例性用户界面。类似的用户界面在设备400上实现。在一些实施方案中,用户界面500包括以下元件或者其子集或超集:
一个或多个无线通信诸如蜂窝信号和Wi-Fi信号的一个或多个信号强度指示器502;
·时间504;
·蓝牙指示器505;
·电池状态指示符506;
·具有针对常用应用程序的图标的托盘508,该图标诸如:
ο电话模块238的被标记为“电话”的图标516,该图标任选地包括未接来电或语音留言的数量的指示符514;
ο电子邮件客户端模块240的被标记为“邮件”的图标518,该图标任选地包括未读电子邮件的数量的指示符510;
ο浏览器模块247的被标记为“浏览器”的图标520;以及
ο视频和音乐播放器模块252(也被称为iPod(Apple Inc.的商标)模块252)的被标记为“iPod”的图标522;以及
·其他应用程序的图标,诸如:
οIM模块241的被标记为“消息”的图标524;
ο日历模块248的被标记为“日历”的图标526;
ο图像管理模块244的被标记为“照片”的图标528;
ο相机模块243的被标记为“相机”的图标530;
ο在线视频模块255的被标记为“在线视频”的图标532;
ο股市小组件249-2的被标记为“股市”的图标534;
ο地图模块254的被标记为“地图”的图标536;
ο天气小组件249-1的被标记为“天气”的图标538;
ο闹钟小组件249-4的被标记为“时钟”的图标540;
ο健身支持模块242的被标记为“健身支持”的图标542;
ο记事本模块253的被标记为“记事本”的图标544;以及
ο用于设置应用程序或模块的被标记为“设置”的图标546,该图标提供对设备200及其各种应用程序236的设置的访问。
应当指出的是,图5A中示出的图标标签仅仅是示例性的。例如,视频和音乐播放器模块252的图标522任选地被标记为“音乐”或“音乐播放器”。对于各种应用程序图标任选地使用其他标签。在一些实施方案中,相应应用程序图标的标签包括与该相应应用程序图标对应的应用程序的名称。在一些实施方案中,特定应用程序图标的标签不同于与该特定应用程序图标对应的应用程序的名称。
图5B示出了具有与显示器550(例如,触摸屏显示器212)分开的触敏表面551(例如,图4的平板或触控板455)的设备(例如,图4的设备400)上的示例性用户界面。设备400还任选地包括用于检测触敏表面551上的接触的强度的一个或多个接触强度传感器(例如,传感器459中的一个或多个传感器)和/或用于为设备400的用户生成触觉输出的一个或多个触觉输出发生器457。
尽管将参考触摸屏显示器212(其中组合了触敏表面和显示器)上的输入给出随后的示例中的一些示例,但是在一些实施方案中,设备检测与显示器分开的触敏表面上的输入,如图5B中所示。在一些实施方案中,触敏表面(例如,图5B中的551)具有与显示器(例如,550)上的主轴(例如,图5B中的553)对应的主轴(例如,图5B中的552)。根据这些实施方案,设备检测在与显示器上的相应位置对应的位置(例如,在图5B中,560对应于568并且562对应于570)处的与触敏表面551的接触(例如,图5B中的560和562)。这样,在触敏表面(例如,图5B中的551)与多功能设备的显示器(例如,图5B中的550)分开时,由设备在触敏表面上检测到的用户输入(例如,接触560和562以及它们的移动)被该设备用于操纵显示器上的用户界面。应当理解,类似的方法任选地用于本文所述的其他用户界面。
另外,虽然主要是参考手指输入(例如,手指接触、单指轻击手势、手指轻扫手势)来给出下面的示例,但是应当理解的是,在一些实施方案中,这些手指输入中的一个或多个手指输入由来自另一输入设备的输入(例如,基于鼠标的输入或触控笔输入)替代。例如,轻扫手势任选地由鼠标点击(例如,而不是接触),之后是光标沿着轻扫的路径的移动(例如,而不是接触的移动)替代。作为另一个示例,轻击手势任选地由在光标位于轻击手势的位置上方时的鼠标点击(例如,代替对接触的检测,之后是停止检测接触)替代。类似地,当同时检测到多个用户输入时,应当理解的是,多个计算机鼠标任选地被同时使用,或鼠标和手指接触任选地被同时使用。
图6A示出了示例性个人电子设备600。设备600包括主体602。在一些实施方案中,设备600包括相对于设备200和400(例如,图2A-图4)所述的特征中的一些或全部特征。在一些实施方案中,设备600具有在下文中称为触摸屏604的触敏显示屏604。作为触摸屏604的替代或补充,设备600具有显示器和触敏表面。与设备200和400的情况一样,在一些实施方案中,触摸屏604(或触敏表面)具有用于检测正在施加的接触(例如,触摸)的强度的一个或多个强度传感器。触摸屏604(或触敏表面)的一个或多个强度传感器提供表示触摸的强度的输出数据。设备600的用户界面基于触摸强度来对触摸作出响应,这意味着不同强度的触摸可调用设备600上的不同的用户界面操作。
用于检测和处理触摸强度的技术可例如存在于相关申请中:2013年5月8日提交的名称为“Device,Method,and Graphical User Interface for Displaying UserInterface Objects Corresponding to an Application”的国际专利申请序列号PCT/US2013/040061,以及2013年11月11日提交的名称为“Device,Method,and Graphical UserInterface for Transitioning Between Touch Input to Display OutputRelationships”的国际专利申请序列号PCT/US2013/069483,这两个专利申请中的每个专利申请据此全文以引用方式并入本文。
在一些实施方案中,设备600具有一个或多个输入机构606和608。输入机构606和608(如果包括的话)是物理形式的。物理输入机构的示例包括下压按钮和可旋转机构。在一些实施方案中,设备600具有一个或多个附接机构。此类附接机构(如果包括的话)可允许将设备600与例如帽子、眼镜、耳环、项链、衬衣、夹克、手镯、表带、手链、裤子、皮带、鞋子、钱包、背包等附接。这些附接机构允许用户穿戴设备600。
图6B示出了示例性个人电子设备600。在一些实施方案中,设备600包括关于图2A、图2B和图4所述的部件中的一些或全部。设备600具有总线612,该总线将I/O部分614与一个或多个计算机处理器616和存储器618操作性地耦接。I/O部分614被连接到显示器604,该显示器可具有触敏部件622,并且任选地还具有触摸强度敏感部件624。此外,I/O部分614与通信单元630连接,以用于使用Wi-Fi、蓝牙、近场通信(NFC)、蜂窝和/或其他无线通信技术来接收应用程序和操作系统数据。设备600包括输入机构606和/或608。例如,输入机构606是可旋转输入设备或者可按压输入设备以及可旋转输入设备。在一些示例中,输入机构608是按钮。
在一些示例中,输入机构608是麦克风。个人电子设备600包括例如各种传感器,诸如GPS传感器632、加速度计634、定向传感器640(例如,罗盘)、陀螺仪636、运动传感器638和/或它们的组合,所有这些设备均可操作地连接到I/O部分614。
个人电子设备600的存储器618是用于存储计算机可执行指令的非暂态计算机可读存储介质,该指令当由一个或多个计算机处理器616执行时例如使得计算机处理器执行上述技术和过程。该计算机可执行指令也例如在任何非暂态计算机可读存储介质内进行存储和/或传送,以供指令执行系统、装置或设备诸如基于计算机的系统、包含处理器的系统或可从指令执行系统、装置或设备获取指令并执行指令的其他系统使用或与其结合。个人电子设备600不限于图6B的部件和配置,而是可包括多种配置中的其他部件或附加部件。
如本文所用,术语“示能表示”是指在设备200、设备400、设备600和设备900(图2A、图4、图6A至图6B、以及图9A至图9AJ)的显示屏上显示的用户交互式图形用户界面对象。例如,图像(例如,图标)、按钮和文本(例如,超链接)各自构成示能表示。
如本文所用,术语“焦点选择器”是指用于指示用户正与之进行交互的用户界面的当前部分的输入元素。在包括光标或其他位置标记的一些具体实施中,光标充当“焦点选择器”,使得当光标在特定用户界面元素(例如,按钮、窗口、滑块或其他用户界面元素)上方时在触敏表面(例如,图4中的触控板455或图5B中的触敏表面551)上检测到输入(例如,按压输入)的情况下,该特定用户界面元素根据所检测到的输入而被调节。在包括能够实现与触摸屏显示器上的用户界面元素的直接交互的触摸屏显示器(例如,图2A中的触敏显示器系统212或图5A中的触摸屏212)的一些具体实施中,在触摸屏上所检测到的接触充当“焦点选择器”,使得当在触摸屏显示器上在特定用户界面元素(例如,按钮、窗口、滑块或其他用户界面元素)的位置处检测到输入(例如,由接触进行的按压输入)时,该特定用户界面元素根据所检测到的输入而被调节。在一些具体实施中,焦点从用户界面的一个区域移动到用户界面的另一个区域,而无需光标的对应移动或触摸屏显示器上的接触的移动(例如,通过使用制表键或箭头键将焦点从一个按钮移动到另一个按钮);在这些具体实施中,焦点选择器根据焦点在用户界面的不同区域之间的移动来移动。不考虑焦点选择器所采取的具体形式,焦点选择器通常是由用户控制的以便递送与用户界面的用户预期的交互(例如,通过向设备指示用户界面的用户期望与其进行交互的元素)的用户界面元素(或触摸屏显示器上的接触)。例如,在触敏表面(例如,触摸板或触摸屏)上检测到按压输入时,焦点选择器(例如,光标、接触或选择框)在相应按钮上方的位置将指示用户期望激活相应按钮(而不是设备显示器上示出的其他用户界面元素)。
如说明书和权利要求中所使用的,接触的“特征强度”这一术语是指基于接触的一个或多个强度的接触的特征。在一些实施方案中,特征强度基于多个强度样本。特征强度任选地基于相对于预定义事件(例如,在检测到接触之后,在检测到接触抬离之前,在检测到接触开始移动之前或之后,在检测到接触结束之前,在检测到接触的强度增大之前或之后和/或在检测到接触的强度减小之前或之后)而言在预先确定的时间段(例如,0.05秒、0.1秒、0.2秒、0.5秒、1秒、2秒、5秒、10秒)期间采集的预定义数量的强度样本或一组强度样本。接触的特征强度任选地基于以下各项中的一者或多者:接触强度的最大值、接触强度的均值、接触强度的平均值、接触强度的前10%处的值、接触强度的半最大值、接触强度的90%最大值等。在一些实施方案中,在确定特征强度时使用接触的持续时间(例如,在特征强度是接触的强度在时间上的平均值时)。在一些实施方案中,将特征强度与一组一个或多个强度阈值进行比较,以确定用户是否已执行操作。例如,该组一个或多个强度阈值包括第一强度阈值和第二强度阈值。在该示例中,特征强度未超过第一阈值的接触导致第一操作,特征强度超过第一强度阈值但未超过第二强度阈值的接触导致第二操作,而特征强度超过第二阈值的接触导致第三操作。在一些实施方案中,使用特征强度与一个或多个阈值之间的比较来确定是否要执行一个或多个操作(例如,是执行相应操作还是放弃执行相应操作),而不是用于确定执行第一操作还是第二操作。
在一些实施方案中,识别手势的一部分以用于确定特征强度。例如,触敏表面接收连续的轻扫接触,该连续的轻扫接触从起始位置过渡并到达结束位置,在该结束位置处,接触的强度增加。在该示例中,接触在结束位置处的特征强度仅基于连续轻扫接触的一部分,而不是整个轻扫接触(例如,轻扫接触仅位于结束位置处的部分)。在一些实施方案中,在确定接触的特征强度之前向轻扫接触的强度应用平滑化算法。例如,平滑化算法任选地包括以下各项中的一种或多种:不加权滑动平均平滑化算法、三角平滑化算法、中值滤波器平滑化算法和/或指数平滑化算法。在一些情况下,这些平滑化算法消除了轻扫接触的强度中的窄的尖峰或凹陷,以实现确定特征强度的目的。
相对于一个或多个强度阈值诸如接触检测强度阈值、轻按压强度阈值、深按压强度阈值和/或一个或多个其他强度阈值来表征触敏表面上的接触的强度。在一些实施方案中,轻按压强度阈值对应于这样的强度:在该强度下设备将执行通常与点击物理鼠标或触控板的按钮相关联的操作。在一些实施方案中,深按压强度阈值对应于这样的强度:在该强度下设备将执行与通常与点击物理鼠标或触控板的按钮相关联的操作不同的操作。在一些实施方案中,当检测到特征强度低于轻按压强度阈值(例如,并且高于标称接触检测强度阈值,比标称接触检测强度阈值低的接触不再被检测到)的接触时,设备将根据接触在触敏表面上的移动来移动焦点选择器,而不执行与轻按压强度阈值或深按压强度阈值相关联的操作。一般来讲,除非另有陈述,否则这些强度阈值在不同组的用户界面附图之间是一致的。
接触特征强度从低于轻按压强度阈值的强度增大到介于轻按压强度阈值与深按压强度阈值之间的强度有时被称为“轻按压”输入。接触特征强度从低于深按压强度阈值的强度增大到高于深按压强度阈值的强度有时被称为“深按压”输入。接触特征强度从低于接触检测强度阈值的强度增大到介于接触检测强度阈值与轻按压强度阈值之间的强度有时被称为检测到触摸表面上的接触。接触特征强度从高于接触检测强度阈值的强度减小到低于接触检测强度阈值的强度有时被称为检测到接触从触摸表面抬离。在一些实施方案中,接触检测强度阈值为零。在一些实施方案中,接触检测强度阈值大于零。
在本文中所述的一些实施方案中,响应于检测到包括相应按压输入的手势或响应于检测到利用相应接触(或多个接触)执行的相应按压输入来执行一个或多个操作,其中至少部分地基于检测到该接触(或多个接触)的强度增大到高于按压输入强度阈值而检测到相应按压输入。在一些实施方案中,响应于检测到相应接触的强度增大到高于按压输入强度阈值(例如,相应按压输入的“向下冲程”)来执行相应操作。在一些实施方案中,按压输入包括相应接触的强度增大到高于按压输入强度阈值以及该接触的强度随后减小到低于按压输入强度阈值,并且响应于检测到相应接触的强度随后减小到低于按压输入阈值(例如,相应按压输入的“向上冲程”)来执行相应操作。
在一些实施方案中,设备采用强度滞后以避免有时被称为“抖动”的意外输入,其中设备限定或选择与按压输入强度阈值具有预定义关系的滞后强度阈值(例如,滞后强度阈值比按压输入强度阈值低X个强度单位,或滞后强度阈值是按压输入强度阈值的75%、90%或某个合理比例)。因此,在一些实施方案中,按压输入包括相应接触的强度增大到高于按压输入强度阈值以及该接触的强度随后减小到低于对应于按压输入强度阈值的滞后强度阈值,并且响应于检测到相应接触的强度随后减小到低于滞后强度阈值(例如,相应按压输入的“向上冲程”)来执行相应操作。类似地,在一些实施方案中,仅在设备检测到接触强度从等于或低于滞后强度阈值的强度增大到等于或高于按压输入强度阈值的强度并且任选地接触强度随后减小到等于或低于滞后强度的强度时才检测到按压输入,并且响应于检测到按压输入(例如,根据环境,接触强度增大或接触强度减小)来执行相应操作。
为了容易解释,任选地,响应于检测到以下各种情况中的任一种情况而触发对响应于与按压输入强度阈值相关联的按压输入或响应于包括按压输入的手势而执行的操作的描述:接触强度增大到高于按压输入强度阈值、接触强度从低于滞后强度阈值的强度增大到高于按压输入强度阈值的强度、接触强度减小到低于按压输入强度阈值、和/或接触强度减小到低于与按压输入强度阈值对应的滞后强度阈值。另外,在将操作描述为响应于检测到接触的强度减小到低于按压输入强度阈值而执行的示例中,任选地响应于检测到接触的强度减小到低于对应于并且小于按压输入强度阈值的滞后强度阈值来执行操作。
3.数字助理系统
图7A示出了根据各种示例的数字助理系统700的框图。在一些示例中,数字助理系统700在独立式计算机系统上实现。在一些示例中,数字助理系统700跨多个计算机分布。在一些示例中,数字助理的模块和功能中的一些被划分成服务器部分和客户端部分,其中客户端部分位于一个或多个用户设备(例如,设备104、122、200、400、600或900)上并通过一个或多个网络与服务器部分(例如,服务器系统108)通信,例如,如图1中所示。在一些示例中,数字助理系统700是图1中所示的服务器系统108(和/或DA服务器106)的具体实施。应当指出,数字助理系统700仅为数字助理系统的一个示例,且该数字助理系统700具有比所示更多或更少的部件、组合两个或更多个部件,或者可具有部件的不同配置或布局。图7A中所示的各种部件在硬件、用于在由一个或多个处理器执行的软件指令、固件(包括一个或多个信号处理集成电路和/或专用集成电路),或它们的组合中实现。
数字助理系统700包括存储器702、一个或多个处理器704、输入/输出(I/O)接口706、以及网络通信接口708。这些部件可通过一条或多条通信总线或信号线710彼此通信。
在一些示例中,存储器702包括非暂态计算机可读介质,诸如高速随机存取存储器和/或非易失性计算机可读存储介质(例如,一个或多个磁盘存储设备、闪存存储器设备或其他非易失性固态存储器设备)。
在一些示例中,I/O接口706将数字助理系统700的输入/输出设备716诸如显示器、键盘、触摸屏和麦克风耦接至用户界面模块722。I/O接口706与用户界面模块722一起接收用户输入(例如,语音输入、键盘输入、触摸输入等)并相应地对这些输入进行处理。在一些示例中,例如,当数字助理在独立式用户设备上实现时,数字助理系统700包括相对于图2A、图4、图6A至图6B和图9A至图9AJ中的设备200、设备400、设备600或设备900分别所述的部件和I/O通信接口中的任一者。在一些示例中,数字助理系统700表示数字助理具体实施的服务器部分,并且可通过位于用户设备(例如,设备104、设备200、设备400、设备600或设备900)上的客户端侧部分与用户进行交互。
在一些示例中,网络通信接口708包括一个或多个有线通信端口712和/或无线传输和接收电路714。一个或多个有线通信端口经由一个或多个有线接口例如以太网、通用串行总线(USB)、FIREWIRE等接收和发送通信信号。无线电路714从通信网络及其他通信设备接收RF信号和/或光学信号以及将RF信号和/或光学信号发送至通信网络及其他通信设备。无线通信使用多种通信标准、协议和技术中的任一种,诸如GSM、EDGE、CDMA、TDMA、蓝牙、Wi-Fi、VoIP、Wi-MAX、或任何其他合适的通信协议。网络通信接口708使数字助理系统700通过网络,诸如互联网、内联网和/或无线网络诸如蜂窝电话网络、无线局域网(LAN)和/或城域网(MAN),与其他设备之间的通信成为可能。
在一些示例中,存储器702或存储器702的计算机可读存储介质存储程序、模块、指令和数据结构,包括以下内容中的全部或其子集:操作系统718、通信模块720、用户界面模块722、一个或多个应用程序724和数字助理模块726。具体地,存储器702或存储器702的计算机可读存储介质存储用于执行上述过程的指令。一个或多个处理器704执行这些程序、模块和指令,并从数据结构读取数据或将数据写到数据结构。
操作系统718(例如,Darwin、RTXC、LINUX、UNIX、iOS、OS X、WINDOWS、或嵌入式操作系统诸如VxWorks)包括用于控制和管理一般系统任务(例如,存储器管理、存储设备控制、电源管理等)的各种软件部件和/或驱动器,并且有利于各种硬件、固件和软件部件之间的通信。
通信模块720有利于数字助理系统700与其他设备之间通过网络通信接口708进行的通信。例如,通信模块720与电子设备(诸如分别在图2A、图4、图6A至图6B中所示的设备200、400或600)的RF电路208通信。通信模块720还包括各种部件,用于处理由无线电路714和/或有线通信端口712所接收的数据。
用户界面模块722经由I/O接口706接收来自用户(例如,来自键盘、触摸屏、指向设备、控制器和/或麦克风)的命令和/或输入,并在显示器上生成用户界面对象。用户界面模块722还准备输出(例如,语音、声音、动画、文本、图标、振动、触觉反馈、光照等)并将其经由I/O接口706(例如,通过显示器、音频通道、扬声器、触控板等)传送给用户。
应用程序724包括被配置为由所述一个或多个处理器704执行的程序和/或模块。例如,如果数字助理系统在独立式用户设备上实施,则应用程序724包括用户应用程序,诸如游戏、日历应用程序、导航应用程序或邮件应用程序。如果数字助理系统700在服务器上实现,则应用程序724包括例如资源管理应用程序、诊断应用程序、或调度应用程序。
存储器702还存储数字助理模块726(或数字助理的服务器部分)。在一些示例中,数字助理模块726包括以下子模块或者其子集或超集:输入/输出处理模块728、语音转文本(STT)处理模块730、自然语言处理模块732、对话流处理模块734、任务流处理模块736、服务处理模块738和语音合成处理模块740。这些模块中的每一者均具有对以下数字助理模块726的系统或数据与模型中的一者或多者或者其子集或超集的访问权限:知识本体760、词汇索引744、用户数据748、任务流模型754、服务模型756和ASR系统758。
在一些示例中,使用在数字助理模块726中实现的处理模块、数据和模型,数字助理可执行以下中的至少一些:将语音输入转换成文本;识别在从用户接收的自然语言输入中表达的用户意图;主动引出并获得完全推断用户意图所需的信息(例如,通过消除字词、游戏、意图等的歧义);确定用于满足推断出的意图的任务流;以及执行该任务流以满足推断出的意图。
在一些示例中,如图7B中所示,I/O处理模块728可通过图7A中的I/O设备716与用户交互或通过图7A中的网络通信接口708与用户设备(例如,设备104、设备200、设备400或设备600)交互,以获取用户输入(例如,语音输入)并提供对用户输入的响应(例如,作为语音输出)。I/O处理模块728随同接收到用户输入一起或在接收到用户输入之后不久任选地获得与来自用户设备的用户输入相关联的上下文信息。上下文信息包括特定于用户的数据、词汇,和/或与用户输入相关的偏好。在一些示例中,该上下文信息还包括在接收到用户请求时的用户设备的软件状态和硬件状态,和/或在接收到用户请求时与用户的周围环境相关的信息。在一些示例中,I/O处理模块728还向用户发送与用户请求有关的跟进问题,并从用户接收回答。在用户请求被I/O处理模块728接收且用户请求包括语音输入时,I/O处理模块728将语音输入转发至STT处理模块730(或语音识别器)以进行语音文本转换。
STT处理模块730包括一个或多个ASR系统758。该一个或多个ASR系统758可处理通过I/O处理模块728接收到的语音输入,以产生识别结果。每个ASR系统758包括前端语音预处理器。前端语音预处理器从语音输入中提取代表性特征。例如,前端语音预处理器对语音输入执行傅里叶变换,以提取表征语音输入的频谱特征作为代表性多维向量的序列。另外,每个ASR系统758包括一个或多个语音识别模型(例如,声学模型和/或语言模型)并且实现一个或多个语音识别引擎。语音识别模型的示例包括隐马尔可夫模型、高斯混合模型、深层神经网络模型、n元语法语言模型以及其他统计模型。语音识别引擎的示例包括基于动态时间规整的引擎和基于加权有限状态变换器(WFST)的引擎。使用一个或多个语音识别模型和一个或多个语音识别引擎来处理前端语音预处理器的所提取的代表性特征以产生中间识别结果(例如,音素、音素串和子文字),并且最终产生文本识别结果(例如,字词、字词串、或符号序列)。在一些示例中,语音输入至少部分地由第三方服务处理或在用户的设备(例如,设备104、设备200、设备400或设备600)上处理,以产生识别结果。一旦STT处理模块730产生包含文本串(例如,字词,或字词的序列,或符号序列)的识别结果,识别结果即被传送至自然语言处理模块732以供意图推断。在一些示例中,STT处理模块730产生语音输入的多个候选文本表示。每个候选文本表示是与语音输入对应的字词或符号的序列。在一些示例中,每个候选文本表示与语音识别置信度分数相关联。基于语音识别置信度得分,STT处理模块730对候选文本表示进行排名并将n个最佳(例如,n个排名最高)候选文本表示提供给自然语言处理模块732以供意图推断,其中n为大于零的预先确定的整数。例如,在一个示例中,仅将排名最高的(n=1)候选文本表示递送至自然语言处理模块732以供意图推断。在另一个示例中,将五个排名最高的(n=5)候选文本表示传递给自然语言处理模块732以供意图推断。
有关语音转文本处理的更多细节在提交于2011年9月20日的名为“ConsolidatingSpeech Recognition Results”的美国实用新型专利申请序列号13/236,942中有所描述,其全部公开内容以引用方式并入本文。
在一些示例中,STT处理模块730包括可识别字词的词汇和/或经由语音字母转换模块731访问该词汇。每个词汇字词与语音识别语音字母表中表示的字词的一个或多个候选发音相关联。具体地,可识别字词的词汇包括与多个候选发音相关联的字词。例如,该词汇包括与和/>的候选发音相关联的字词“tomato”。另外,词汇字词与基于来自用户的先前语音输入的自定义候选发音相关联。此类自定义候选发音存储在STT处理模块730中,并且经由设备上的用户配置文件与特定用户相关联。在一些示例中,字词的候选发音基于字词的拼写以及一个或多个语言学和/或语音学规则确定。在一些示例中,候选发音手动生成,例如,基于已知的标准发音而手动生成。
在一些示例中,基于候选发音的普遍性来对候选发音进行排名。例如,候选发音的排名高于/>因为前者是更常用的发音(例如,在所有用户中,对于特定地理区域的用户而言,或者对于任何其他合适的用户子集而言)。在一些示例中,基于候选发音是否为与用户相关联的自定义候选发音来对候选发音进行排名。例如,自定义候选发音的排名高于标准候选发音。这可用于识别具有偏离规范发音的独特发音的专有名词。在一些示例中,候选发音与一个或多个语音特征诸如地理起源、国家或种族相关联。例如,候选发音/>与美国相关联,而候选发音/>与英国相关联。此外,候选发音的排名基于存储在设备上的用户配置文件中的用户的一个或多个特征(例如,地理起源、国家、种族等)。例如,可从用户配置文件确定该用户与美国相关联。基于用户与美国相关联,候选发音/>(与美国相关联)可比候选发音/>(与英国相关联)排名更高。在一些示例中,经排名的候选发音中的一个可被选作预测发音(例如,最可能的发音)。
接收到语音输入时,STT处理模块730被用来(例如,使用声音模型)确定对应于该语音输入的音素,然后尝试(例如,使用语言模型)确定匹配该音素的字词。例如,如果STT处理模块730首先识别对应于该语音输入的一部分的音素序列那么它随后可基于词汇索引744确定该序列对应于字词“tomato”。
在一些示例中,STT处理模块730使用模糊匹配技术来确定话语中的字词。因此,例如,STT处理模块730确定音素序列对应于字词“tomato”,即使该特定音素序列不是该字词的候选音素序列。
数字助理的自然语言处理模块732(“自然语言处理器”)获取由STT处理模块730生成的n个最佳候选文字表示(“字词序列”或“符号序列”),并尝试将每个候选文本表示与由数字助理所识别的一个或多个“可执行意图”相关联。“可执行意图”(或“用户意图”)表示可由数字助理执行并且可具有在任务流模型754中实现的相关联的任务流的任务。相关联的任务流是数字助理为了执行任务而采取的一系列经编程的动作和步骤。数字助理的能力范围取决于已在任务流模型754中实现并存储的任务流的数量和种类,或换言之,取决于数字助理所识别的“可执行意图”的数量和种类。然而,数字助理的有效性还取决于助理从以自然语言表达的用户请求中推断出正确的“一个或多个可执行意图”的能力。
在一些示例中,除从STT处理模块730获取的字词或符号的序列之外,自然语言处理模块732还例如,从I/O处理模块728接收与用户请求相关联的上下文信息。自然语言处理模块732任选地使用上下文信息来明确、补充和/或进一步限定在从STT处理模块730接收的候选文本表示中包含的信息。上下文信息包括例如用户偏好,用户设备的硬件和/或软件状态,在用户请求之前、期间或之后不久收集的传感器信息,数字助理与用户之间的先前交互(例如,对话),等等。如本文所述,在一些示例中,上下文信息是动态的,并且随对话的时间、位置、内容、以及其他因素而变化。
在一些示例中,自然语言处理基于例如知识本体760。知识本体760为包含许多节点的分级结构,每个节点表示“可执行意图”或与“可执行意图”或其他“属性”中的一者或多者相关的“属性”。如上所述,“可执行意图”表示数字助理能够执行的任务,即,该任务为“可执行的”或可被进行的。“属性”代表与可执行意图或另一属性的子方面相关联的参数。知识本体760中可执行意图节点与属性节点之间的连接限定由属性节点表示的参数如何从属于由可执行意图节点表示的任务。
在一些示例中,知识本体760由可执行意图节点和属性节点组成。在知识本体760内,每个可执行意图节点直接连接至或通过一个或多个中间属性节点连接至一个或多个属性节点。类似地,每个属性节点直接连接至或通过一个或多个中间属性节点连接至一个或多个可执行意图节点。例如,如图7C所示,知识本体760包括“餐厅预订”节点(即,可执行意图节点)。属性节点“餐厅”、“日期/时间”(针对预订)和“派对人数”均直接连接至可执行意图节点(即,“餐厅预订”节点)。
此外,属性节点“菜系”、“价格区间”、“电话号码”和“位置”是属性节点“餐厅”的子节点,并且均通过中间属性节点“餐厅”连接至“餐厅预订”节点(即,可执行意图节点)。又如,如图7C所示,知识本体760还包括“设定提醒”节点(即,另一个可执行意图节点)。属性节点“日期/时间”(针对设定提醒)和“主题”(针对提醒)均连接至“设定提醒”节点。由于属性“日期/时间”与进行餐厅预订的任务和设定提醒的任务二者相关,因此属性节点“日期/时间”连接至知识本体760中的“餐厅预订”节点和“设定提醒”节点二者。
可执行意图节点连同其链接的属性节点一起,被描述为“域”。在本讨论中,每个域与相应的可执行意图相关联,并是指与特定可执行意图相关联的一组节点(以及这些节点之间的关系)。例如,图7C中示出的知识本体760包括在知识本体760内的餐厅预订域762的示例和提醒域764的示例。餐厅预订域包括可执行意图节点“餐厅预订”、属性节点“餐厅”、“日期/时间”和“派对人数”以及子属性节点“菜系”、“价格范围”、“电话号码”和“位置”。提醒域764包括可执行意图节点“设定提醒”和属性节点“主题”和“日期/时间”。在一些示例中,知识本体760由多个域组成。每个域与一个或多个其他域共享一个或多个属性节点。例如,除了餐厅预订域762和提醒域764之外,“日期/时间”属性节点还与许多不同域(例如,行程安排域、旅行预订域、电影票域等)相关联。
尽管图7C示出知识本体760内的两个示例性域,但其他域包括例如“查找电影”、“发起电话呼叫”、“查找方向”、“安排会议”、“发送消息”以及“提供问题的回答”、“阅读列表”、“提供导航指令”、“提供针对任务的指令”等。“发送消息”域与“发送消息”可执行意图节点相关联,并且进一步包括属性节点诸如“一个或多个接收人”、“消息类型”和“消息正文”。属性节点“接收人”进一步例如由子属性节点诸如“接收人姓名”和“消息地址”来限定。
在一些示例中,知识本体760包括数字助理能够理解并对其起作用的所有域(以及因而可执行意图)。在一些示例中,知识本体760诸如通过添加或移除整个域或节点,或者通过修改知识本体760内的节点之间的关系进行修改。
在一些示例中,将与多个相关可执行意图相关联的节点群集在知识本体760中的“超级域”下。例如,“旅行”超级域包括与旅行相关的属性节点和可执行意图节点的群集。与旅行相关的可执行意图节点包括“机票预订”、“酒店预订”、“汽车租赁”、“路线规划”、“寻找感兴趣的点”,等等。同一超级域(例如,“旅行”超级域)下的可执行意图节点具有多个共用的属性节点。例如,针对“机票预订”、“酒店预订”、“汽车租赁”、“获取路线”和“寻找兴趣点”的可执行意图节点共享属性节点“起始位置”、“目的地”、“出发日期/时间”、“到达日期/时间”和“派对人数”中的一者或多者。
在一些示例中,知识本体760中的每个节点与跟由节点代表的属性或可执行意图有关的一组字词和/或短语相关联。与每个节点相关联的相应的一组字词和/或短语是所谓的与节点相关联的“词汇”。将与每个节点相关联的相应的一组字词和/或短语存储在与由节点所代表的属性或可执行意图相关联的词汇索引744中。例如,返回图7B,与“餐厅”属性的节点相关联的词汇包括字词诸如“美食”、“酒水”、“菜系”、“饥饿”、“吃”、“披萨”、“快餐”、“膳食”等。又如,与“发起电话呼叫”可执行意图的节点相关联的词汇包括字词和短语诸如“呼叫”、“打电话”、“拨打”、“与……通电话”、“呼叫该号码”、“打电话给”等。词汇索引744任选地包括不同语言的字词和短语。
自然语言处理模块732接收来自STT处理模块730的候选文本表示(例如,一个或多个文本串或一个或多个符号序列),并针对每个候选表示,确定候选文本表示中的字词涉及哪些节点。在一些示例中,如果发现候选文本表示中的字词或短语(经由词汇索引744)与知识本体760中的一个或多个节点相关联,则所述字词或短语“触发”或“激活”那些节点。基于已激活节点的数量和/或相对重要性,自然语言处理模块732选择可执行意图中的一个可执行意图作为用户打算使数字助理执行的任务。在一些示例中,选择具有最多“已触发”节点的域。在一些示例中,选择具有最高置信度(例如,基于其各个已触发节点的相对重要性)的域。在一些示例中,基于已触发节点的数量和重要性的组合来选择域。在一些示例中,在选择节点的过程中还考虑附加因素,诸如数字助理先前是否已正确解译来自用户的类似请求。
用户数据748包括特定于用户的信息,诸如特定于用户的词汇、用户偏好、用户地址、用户的默认第二语言、用户的联系人列表,以及每位用户的其他短期或长期信息。在一些示例中,自然语言处理模块732使用特定于用户的信息来补充用户输入中所包含的信息以进一步限定用户意图。例如,针对用户请求“邀请我的朋友参加我的生日派对”,自然语言处理模块732能够访问用户数据748以确定“朋友”是哪些人以及“生日派对”将于何时何地举行,而不需要用户在其请求中明确地提供此类信息。
应认识到,在一些示例中,利用一个或多个机器学习机构(例如,神经网络)来实现自然语言处理模块732。具体地,一个或多个机器学习机构被配置为接收候选文本表示和与候选文本表示相关联的上下文信息。基于候选文本表示和相关联的上下文信息,一个或多个机器学习机构被配置为基于一组候选可执行意图确定意图置信度得分。自然语言处理模块732可基于所确定的意图置信度得分从一组候选可执行意图中选择一个或多个候选可执行意图。在一些示例中,还利用知识本体(例如,知识本体760)从一组候选可执行意图中选择一个或多个候选可执行意图。
基于符号串搜索知识本体的其他细节在提交于2008年12月22日的名为“Methodand Apparatus for Searching Using An Active Ontology”的美国实用新型专利申请序列号12/341,743中有所描述,其全部公开内容以引用方式并入本文。
在一些示例中,一旦自然语言处理模块732基于用户请求识别出可执行意图(或域),自然语言处理模块732便生成结构化查询以表示所识别的可执行意图。在一些示例中,结构化查询包括针对可执行意图的域内的一个或多个节点的参数,并且所述参数中的至少一些参数填充有用户请求中指定的特定信息和要求。例如,用户说“帮我在寿司店预订晚上7点的座位。”在这种情况下,自然语言处理模块732能够基于用户输入将可执行意图正确地识别为“餐厅预订”。根据知识本体,“餐厅预订”域的结构化查询包括参数诸如{菜系}、{时间}、{日期}、{派对人数}等。在一些示例中,基于语音输入和使用STT处理模块730从语音输入得出的文本,自然语言处理模块732针对餐厅预订域生成部分结构化查询,其中部分结构化查询包括参数{菜系=“寿司类”}以及{时间=“晚上7点”}。然而,在该示例中,用户话语包含不足以完成与域相关联的结构化查询的信息。因此,基于当前可用信息,在结构化查询中未指定其他必要参数诸如{派对人数}和{日期}。在一些示例中,自然语言处理模块732用所接收的上下文信息来填充结构化查询的一些参数。例如,在一些示例中,如果用户请求“附近的”寿司店,自然语言处理模块732用来自用户设备的GPS坐标来填充结构化查询中的{位置}参数。
在一些示例中,自然语言处理模块732识别针对从STT处理模块730所接收的每个候选文本表示的多个候选可执行意图。另外,在一些示例中,针对每个所识别的候选可执行意图生成相应的结构化查询(部分地或全部地)。自然语言处理模块732确定针对每个候选可执行意图的意图置信度得分,并基于意图置信度得分对候选可执行意图进行排名。在一些示例中,自然语言处理模块732将所生成的一个或多个结构化查询(包括任何已完成的参数)传送至任务流处理模块736(“任务流处理器”)。在一些示例中,针对m个最佳(例如,m个排名最高的)候选可执行意图的一个或多个结构化查询被提供给任务流处理模块736,其中m为预先确定的大于零的整数。在一些示例中,将针对m个最佳候选可执行意图的一个或多个结构化查询连同对应的一个或多个候选文本表示提供给任务流处理模块736。
基于根据语音输入的多个候选文本表示所确定的多个候选可执行意图推断用户意图的其他细节在2014年6月6日提交的名称为“System and Method for Inferring UserIntent From Speech Inputs”的美国实用新型专利申请序列号14/298,725中有所描述,其全部公开内容以引用方式并入本文。
任务流处理模块736被配置为接收来自自然语言处理模块732的一个或多个结构化查询,(必要时)完成结构化查询,以及执行“完成”用户最终请求所需的动作。在一些示例中,完成这些任务所必需的各种过程在任务流模型754中提供。在一些示例中,任务流模型754包括用于获取来自用户的附加信息的过程,以及用于执行与可执行意图相关联的动作的任务流。
如上所述,为了完成结构化查询,任务流处理模块736需要发起与用户的附加对话,以便获取附加信息和/或弄清可能有歧义的话语。当有必要进行此类交互时,任务流处理模块736调用对话流处理模块734来参与同用户的对话。在一些示例中,对话流处理器模块734确定如何(和/或何时)向用户请求附加信息,并且接收和处理用户响应。通过I/O处理模块728将问题提供给用户并从用户接收回答。在一些示例中,对话流处理模块734经由可听输出和/或视觉输出向用户呈现对话输出,并经由口头或物理(例如,点击)响应接收来自用户的输入。继续上述示例,在任务流处理模块736调用对话流处理模块734来确定针对与域“餐厅预订”相关联的结构化查询的“派对人数”和“日期”信息时,对话流处理模块734生成诸如“一行几位?”和“预订哪天?”之类的问题传递给用户。一旦收到来自用户的回答,对话流处理模块734就用缺失信息填充结构化查询,或将信息传递给任务流处理模块736以根据结构化查询完成缺失信息。
一旦任务流处理模块736已针对可执行意图完成结构化查询,任务流处理模块736便开始执行与可执行意图相关联的最终任务。因此,任务流处理模块736根据结构化查询中包含的特定参数来执行任务流模型中的步骤和指令。例如,针对可执行意图“餐厅预订”的任务流模型包括用于联系餐厅并实际上请求在特定时间针对特定派对人数的预订的步骤和指令。例如,使用结构化查询诸如:{餐厅预订、餐厅=ABC咖啡馆、日期=3/12/2012、时间=7pm、派对人数=5},任务流处理模块736可执行以下步骤:(1)登录ABC咖啡馆的服务器或诸如的餐厅预订系统,(2)以网站上的形式输入日期、时间和派对人数信息,(3)提交表单,以及(4)在用户的日历中形成针对预订的日历条目。
在一些示例中,任务流处理模块736在服务处理模块738(“服务处理模块”)的辅助下完成用户输入中所请求的任务或者提供用户输入中所请求的信息性回答。例如,服务处理模块738代表任务流处理模块736发起电话呼叫、设定日历条目、调用地图搜索、调用用户设备上安装的其他用户应用程序或与所述其他应用程序进行交互,以及调用第三方服务(例如,餐厅预订门户网站、社交网站、银行门户网站等)或与第三方服务进行交互。在一些示例中,通过服务模型756中的相应服务模型指定每项服务所需的协议和应用程序编程接口(API)。服务处理模块738针对服务访问适当的服务模型,并依据服务模型根据该服务所需的协议和API生成针对该服务的请求。
例如,如果餐厅已启用在线预订服务,则餐厅提交服务模型,该服务模型指定进行预订的必要参数以及将必要参数的值传送至在线预订服务的API。在被任务流处理模块736请求时,服务处理模块738可使用存储在服务模型中的web地址来建立与在线预订服务的网络连接,并将预订的必要参数(例如,时间、日期、派对人数)以根据在线预订服务的API的格式发送至在线预订界面。
在一些示例中,自然语言处理模块732、对话流处理模块734以及任务流处理模块736被共同且反复地使用,以推断并限定用户的意图、获取信息以进一步明确并细化用户意图并最终生成响应(即,输出至用户,或完成任务)以满足用户的意图。所生成的响应是至少部分地满足用户意图的对语音输入的对话响应。另外,在一些示例中,所生成的响应被输出为语音输出。在这些示例中,所生成的响应被发送到语音合成处理模块740(例如,语音合成器),其中可处理所生成的响应以将对话响应以语音形式合成。在其他示例中,所生成的响应是与满足语音输入中的用户请求相关的数据内容。
在任务流处理模块736接收到来自自然语言处理模块732的多个结构化查询的示例中,任务流处理模块736首先处理所接收结构化查询的第一结构化查询以试图完成第一结构化查询和/或执行由第一结构化查询所表示的一个或多个任务或动作。在一些示例中,第一结构化查询对应于排名最高的可执行意图。在其他示例中,第一结构化查询选自基于对应的语音识别置信度得分和对应的意图置信度得分的组合而接收的结构化查询。在一些示例中,如果任务流处理模块736在第一结构化查询的处理期间(例如,由于无法确定必要的参数)遇到错误,任务流处理模块736可继续选择和处理所接收的结构化查询中与排名较低的可执行意图对应的第二结构化查询。例如基于对应候选文本表示的语音识别置信度得分、对应候选可执行意图的意图置信度得分、第一结构化查询中的缺失的必要参数或它们的任何组合来选择第二结构化查询。
语音合成处理模块740被配置为合成用于呈现给用户的语音输出。语音合成处理模块740基于数字助理提供的文本来合成语音输出。例如,所生成的对话响应是文本串的形式。语音合成处理模块740将文本串转换成可听语音输出。语音合成处理模块740使用任何适当语音合成技术,以便从文本生成语音输出,包括但不限于:拼接合成、单元选择合成、双音素合成、特定于域的合成、共振峰合成、发音合成、基于隐马尔可夫模型(HMM)的合成以及正弦波合成。在一些示例中,语音合成处理模块740被配置为基于对应于这些字词的音素串来合成各个字词。例如,音素串与所生成的对话响应中的字词相关联。音素串存储在与字词相关联的元数据中。语音合成处理模块740被配置为直接处理元数据中的音素串,以合成语音形式的字词。
在一些示例中,替代使用语音合成处理模块740(或除此之外),在远程设备(例如,服务器系统108)上执行语音合成,并且将合成的语音发送至用户设备以输出给用户。例如,这可发生在一些具体实施中,其中在服务器系统处生成数字助理的输出。而且由于服务器系统通常比用户设备具有更强的处理能力或更多的资源,其有可能获得比客户端侧合成将实现的质量更高的语音输出。
有关数字助理的附加细节可见于提交于2011年1月10日的名称为“IntelligentAutomated Assistant”的美国实用新型专利申请12/987,982号和提交于2011年9月30日的名称为“Generating and Processing Task Items That Represent Tasks to Perform”的美国实用新型专利申请13/251,088号中,其全部公开内容以引用方式并入本文。
4.用于利用注视进行听写的系统和过程
基于语音识别和听写的转录对于用户来说是有利的,这在于它会提高用户能够书写或转录文档、笔记、电子邮件等的速度,同时还允许用户同时从事其他活动。然而,听写系统可能难以理解用户的意图,特别是当用户可能在一个时间主动地与电子设备互动并且然后在下一实例中对房间中的人说话时。另外,在听写期间错误的纠正可能成为障碍,因为许多听写服务在用户尝试纠正字词时无法理解,而是继续转录用户的语音。
当用户打算调用听写服务时,甚至在他们开始提供话语之前,他们通常会看向他们认为文本将会出现的地方。因此,通过监视用户的注视在设备的显示器上以及设备的显示器周围的移动,允许听写系统理解用户何时正打算听写。此外,当字词被不正确地转录时,用户通常将其注视停留在那些字词上,同时提供期望的纠正或编辑。因此,通过监视用户的注视如何在先前转录的文本上移动,听写系统可以更好地理解用户何时识别出错误并希望纠正它。
通过组合对用户注视的检测和传入语音,听写系统可以使用上述方法来提高听写和转录服务的效率和总体有效性,并且向用户提供更愉快和交互式的体验。这可以允许用户在执行其他活动的同时通过听写来处理多任务,并且还使得与听写系统更无缝地交互,从而减少确定用户意图所需的输出的数量并且由此减少电池使用。
图8示出了根据各种示例的用于利用注视进行听写的系统800的框图。在一些示例中,系统800在一个或多个电子设备(例如,设备104、设备122、设备200、设备400、设备600或设备900)上实现,并且系统800的模块和功能可以任何方式分布在设备之间。在一些示例中,系统800的模块和功能中的一些被划分成服务器部分和客户端部分,其中客户端部分位于一个或多个用户设备(例如,设备104、设备122、设备200、设备400、设备600或设备900)上并通过一个或多个网络与服务器部分(例如,服务器系统108)通信,例如,如图1中所示。系统800使用硬件、软件或硬件和软件的组合来实现,以执行本文所讨论的原理。
在一些示例中,关于系统800描述的子模块或子模块的子集或超集可以包括上文所讨论的部件中的一个或多个部件,包括用于自动语音识别、自然语言处理或语音到文本能力的部件。
应当指出的是,系统800是示例性的,从而系统800可具有比图示的部件更多或更少的部件,可组合两个或更多个部件,或可具有不同的部件配置或布置。此外,尽管下面的讨论描述了在系统800的单个部件处执行的功能,但是应当理解,这些功能可以在系统800的其他部件处执行,并且这些功能可以在系统800的多于一个部件处执行。
图9A至图9AM示出了根据各种示例的示例性电子设备900和检测到的用户注视。图9A至图9AM中的每个图将与系统800一起讨论。
如图8所示,系统800包括调用分类器810、编辑意图检测器820、目标选择器830、有效载荷重识别器840和错误检测器850。在一些示例中,如下文进一步所讨论,调用分类器810、编辑意图检测器820、目标选择器830、有效载荷重识别器840和错误检测器850中的每一者被实现为被训练成基于不同信号来做出特定确定的独立机器学习模型。在一些示例中,调用分类器810、编辑意图检测器820、目标选择器830、有效载荷重识别器840和错误检测器850中的全部被实现为单个机器学习模型,该单个机器学习模型被训练成基于那些信号中的全部来做出下文进一步所讨论的确定。
系统800检测用户注视802和话语801。在一些示例中,利用电子设备(例如,电子设备900)的传感器(诸如能够跟踪用户的眼睛以确定用户正在看着什么的相机)来检测用户注视802。在一些示例中,检测用户注视802包括确定用户是否正在看着电子设备的屏幕。例如,如图9A所示,用户注视902指向在用户设备900的显示器901上显示的笔记记录应用程序中显示的文本字段的开始。因此,用户设备900的面向用户的相机检测用户注视902并且确定用户正在看着电子设备900。
在检测到用户注视802之后,系统800向调用分类器810提供表示用户注视802的数据。调用分类器810然后以若干不同方式处理表示用户注视802的数据以确定用户的意图(例如,进入听写模式、进入编辑模式等)。具体地,如下所述,调用分类器810确定是否进入听写模式,然后与系统800的其他部件相结合,确定是否进入编辑模式。
调用分类器810基于用户注视802来确定是否进入听写模式。具体地,调用分类器810确定用户注视802是否指向电子设备的屏幕上指示用户可能开始听写的一个或多个位置。在一些示例中,调用分类器810确定用户注视802是否指向在电子设备的屏幕上显示的文本字段(例如,元素)。例如,如图9A所示,调用分类器810接收表示用户注视902的数据,并且确定用户注视902指向在电子设备900的屏幕901上显示的文本字段。因此,调用分类器810确定进入听写模式以准备接收一个或多个用户话语。
在一些示例中,调用分类器810确定用户注视802是否指向在电子设备的屏幕上显示的元素上的特定位置。具体地,当用户注视802指向文本字段的开始或中间时,用户注视802指示用户正打算提供要听写的语音,并且因此系统800应当进入听写模式。因此,当调用分类器810确定用户注视902指向在屏幕901上显示的文本字段的开始时,调用分类器810可以确定进入听写模式。
在一些示例中,在电子设备的屏幕上显示的元素上的特定位置包括在元素中显示的文本的末尾。例如,如果文本先前被输入并且显示在屏幕的元素上,则用户注视802可以指向文本的末尾并且因此指示用户正打算提供要听写的语音并且因此系统800应当进入听写模式。因此,在一些示例中,当调用分类器810确定用户注视802指向正在显示的文本的末尾时,调用分类器810可以确定进入听写模式。
重要的是,如下文进一步所讨论,系统800考虑诸如用户注视802的方向、用户注视802与在电子设备的屏幕上显示的字词或元素的接近度、用户注视802的注视范围、用户注视802的停留时间、话语801、用户与系统800之间的先前交互以及在电子设备的屏幕上显示的字词的上下文等因素来确定用户听写或编辑文本的意图。这样,系统800不做出对是否转录文本的简单确定,而是可以整体地考虑语音输入来确定用户的实际意图并提供正确的输出。这利用用户的注视来更好地理解用户意图并且向用户提供更愉快和响应性的体验。
在一些示例中,调用分类器810确定用户注视802是否指向在电子设备的屏幕上显示的文本。例如,如图9O所示,用户注视902指向在电子设备900的屏幕901上显示的字词。因此,调用分类器810确定系统800应当进入听写模式以准备听写或编辑相关的话语。
在一些示例中,调用分类器810确定用户注视802指向正在屏幕上显示的该位置或元素的时间,并且确定该时间是否超过预先确定的阈值。例如,当调用分类器810确定用户注视902指向文本字段903的开始时,调用分类器810可以确定用户注视902在那里停留至少5秒。此外,调用分类器810确定停留时间5秒超过预先确定的阈值2秒。因此,调用分类器810确定系统800应该进入听写模式。
相似地,调用分类器810可以确定用户注视802指向整个文本字段的时间,即使用户注视802没有停留在文本字段的一个点上。因此,当用户注视902不是停留在文本字段903的开始处而是在文本字段903周围移动长于2秒阈值时,调用分类器810也可以确定用户可能开始听写,并且因此系统800应当进入听写模式。
在一些示例中,调用分类器810确定用户802的注视范围。例如,调用分类器810可以确定用户注视802大致指向文本字段903的开始,但范围遍及在文本字段903的开始附近的几个不同点。因此,即使用户注视802正在移动,调用分类器810也确定用户802的注视范围大致指向文本字段的开始,并且因此系统800应当进入听写模式。
因此,调用分类器810考虑包括用户注视802的方向、用户注视802与在电子设备的屏幕上显示的字词或元素的接近度、用户注视802的停留时间以及用户注视802的注视范围的因素来确定用户是否可能提供要听写的语音并且因此进入听写模式。
在确定这些因素中的一个或多个因素指示用户可能开始听写之后,调用分类器810确定进入听写模式并且提示系统800进入听写模式。系统800、调用分类器810和编辑意图检测器820然后处理话语801以确定是将话语801转录为听写内容还是进入编辑模式。
在一些示例中,调用分类器810包括机器学习模型,该机器学习模型被训练成基于诸如用户注视802的方向、用户注视802与在电子设备的屏幕上显示的字词或元素的接近度、用户注视802的停留时间、话语801、用户与系统800之间的先前交互以及在电子设备的屏幕上显示的字词的上下文等因素来确定是否进入听写模式。因此,调用分类器810将与用户注视802相关的各种输入与用户开始提供听写时的实例相关联。这产生了机器学习模型,该机器学习模型可接收这些因素并且向系统800提供对进入听写模式的确定。
在一些示例中,在确定进入听写模式后,系统800和调用分类器810确定用户注视方向802聚焦于电子设备的屏幕的第一位置上。例如,调用分类器810可以确定用户注视902的方向聚焦于文本字段903的中间,如图9B所示,而不是文本字段903的开始处。
因此,虽然用户注视802指示用户打算开始听写并且因此系统800应当进入听写模式,但用户注视802并不指向电子设备的屏幕的第二位置,并且具体地,指向当系统800转录用户语音时文本将出现在屏幕上的位置。因此,系统800在电子设备的屏幕上显示第二元素,其提供与听写模式和用户注视802相关的信息。例如,如图9B所示,系统800显示通知904,该通知指示用户应当将用户注视902指向文本字段的开始。这样,因为系统800已经确定用户打算开始听写,所以当开始转录字词时,系统800向用户提供将其注视指向哪里的通知。
在一些示例中,第二元素显示在第一元素上的第一位置处。例如,如图9B所示,系统800在位置905处显示用户注视902聚焦于文本字段903的中间的通知904。
在一些示例中,第二元素包括引导用户将用户注视802改变到第二位置的文本。例如,如图9B所示,通知904包括文本“当开始听写时,看着文本字段的开始处”,其指示当提供要听写的话语时用户应当看着文本字段903的开始处。
在一些示例中,系统800提供包括帮助用户将注视802指向正确位置的信息的音频输出。例如,系统800可以提供音频输出“当开始听写时,看着文本字段的开始处”。在一些示例中,除了元素或通知(例如,通知904)之外,还提供音频输出。在一些示例中,作为显示元素或通知的替代,提供音频输出。
在一些示例中,第二元素显示在第一元素上与第一位置不同的第二位置处。例如,如图9C所示,通知904显示在文本字段903的开始处,并且包括文本“当开始听写时,文本将在这里显示”,其指示当提供要听写的话语时用户应当看着文本字段903的开始处。
在一些示例中,第二元素包括引导用户将用户注视802改变到第二位置的图形。例如,如图9D所示,通知904包括指向位置905并且因此引导用户将用户注视902改变到文本字段903的开始的箭头。
在一些示例中,第二元素包括链接。例如,如图9E所示,通知904包括文本“希望开始听写模式?了解关于使用听写的更多信息点击这里”,其中字词“这里”是超链接。该链接可以向用户提供与听写模式相关的更多信息以及如何利用其注视来影响听写和编辑模式。因此,当系统800检测到对链接的选择时,在电子设备的屏幕上显示包括与听写模式相关的信息的第三元素。例如,如图9F所示,元素906被显示为窗口或覆盖在文本字段903上方的叠层,并且包括与听写模式以及用户如何与听写模式交互相关的信息。
在一些示例中,通过轻击、推动或类似的运动来选择链接,如图9G所示。具体地,系统800检测按压字词“这里”的用户输入907,其指示用户希望选择链接。在一些示例中,用户通过提供请求选择链接的话语来选择链接。例如,用户可以提供话语“向我显示关于听写模式的更多信息”,指示他们希望点击链接。因此,在检测到对链接的选择之后,显示元素906,如图9F所示并且如上文所讨论。
在一些示例中,通过检测来自用户的指向链接的手势来选择链接。可利用电子设备的一个或多个传感器来检测手势,该一个或多个传感器包括一个或多个相机(例如,前置相机或后置相机)、陀螺测试仪、陀螺仪、加速度计或能够检测用户移动的任何其他设备。例如,用户可通过挥动他们的手或用他们的手指指点来朝向在电子设备的屏幕上显示的链接做出手势。因此,系统800可检测对链接的选择并且作为响应提供信息,如下文进一步所讨论的。
在一些示例中,第二元素的内容是基于在其中显示第二元素的位置来确定的。例如,当通知904显示在文本字段903的中间的第一位置处时,通知904可包括引导用户将用户注视902改变到文本字段903的开始的箭头,如图9D所示。然而,当通知904显示在文本字段903的开始处的第二位置处时,通知904可包括文本,如图9C所示。
在一些示例中,除了第二元素之外,光标也显示在第二位置处。例如,如图9H所示,除了引导用户移动用户注视902的通知904之外,光标908也显示在文本字段的开始处。
在一些示例中,第二元素显示在第一元素上与第一位置和第二位置不同的第三位置处。在一些示例中,第三位置是已经在电子设备的显示器上显示的文本的末尾。例如,如图9I所示,当文本字段903已经包括文本并且在文本字段903的中间检测到用户注视902时,系统800在文本字段903中的文本的末尾处显示通知904以引导用户看着文本的末尾。系统800还可以在文本的末尾处显示光标,如以上关于图9H所讨论的。
在一些示例中,系统800和调用分类器810确定用户注视802指向在电子设备的屏幕上显示的第三元素上的第四位置。在一些示例中,第三元素是第二文本字段。例如,如图9J所示,除了文本字段903之外,文本字段909也显示在电子设备900的显示器901上。此外,调用分类器810确定用户注视902指向文本字段909的中间的位置910。
因此,系统800在第三位置处提供第四元素。在一些示例中,第四元素提供指示用户应当看着同一文本字段上的不同位置的文本或图形。例如,如图9J所示,系统800可以提供包括文本“当听写模式开始时,文本将出现在该字段的开始处”的通知904,以引导用户看着文本字段909的开始。
在一些示例中,第四元素提供指示用户应当看着不同文本字段(例如,第一元素)上的不同位置的文本或图形。例如,当用户注视902指向文本字段909的中间的位置910时,用户可能先前已经选择了文本字段903用于在下次进入听写模式时输入新文本。因此,系统800显示包括文本“当听写模式开始时,文本将出现在上述字段中”的通知904,以引导用户看着文本字段903,如图9K所示。
在一些示例中,第四元素包括用于确定用户希望在哪个文本字段中转录文本的消歧请求。例如,如图9L所示,通知904包括问题“你希望向该字段添加文本吗?”,从而请求用户选择是继续在用户注视902所指向的字段909中转录还是在文本字段903中转录。系统800还可检测由用户提供的响应。在一些示例中,响应是在文本字段903上的轻击911,其指示用户希望在文本字段903中继续转录。在一些示例中,响应是由用户提供的话语,诸如“是的,向该字段添加文本”。
在一些示例中,系统800检测到用户注视802已经将位置从第一位置改变到第二位置,并且响应于检测到用户注视802的位置的改变而转录(例如,显示)文本。例如,系统902可检测到用户注视902已经从文本字段909转移到文本字段903的开始,如图9M所示。因此,系统800将根据下文所述的其他处理步骤来处理话语801并且开始显示文本。
在一些示例中,系统800响应于检测到用户注视802的位置的改变而停止第二元素的显示。例如,如图9M所示,因为用户注视902已经转移到文本字段903的开始,所以通知904已经停止显示。
在一些示例中,当用户注视802不将位置从第一位置改变到第二位置时,系统800不转录(例如,显示)文本。例如,如图9N所示,用户注视902仍然位于文本字段909上,即使用户先前已经指示他们希望向文本字段903添加文本。因此,系统800不转录用户话语并且显示包括问题“你确定你想要在这里添加文本?”的通知904以便确认用户的选择。
当处于听写模式时,编辑意图检测器820基于话语801和用户注视802来进一步确定是否进入编辑模式。具体地,当接收包括话语801的用户语音时,系统800和编辑意图检测器820监视用户语音和用户注视802以确定用户是否已经决定停止听写并且相反正在尝试编辑先前已经作为文本在电子设备的屏幕上显示的一个或多个字词。
在一些示例中,编辑意图检测器820基于在电子设备的屏幕上显示的文本或文本不存在来确定是否进入编辑模式。例如,当文本显示在屏幕上时,如图9O所示,编辑意图检测器820确定用户更有可能正在尝试编辑字词,并且因此可以确定进入编辑模式。相比之下,当编辑意图检测器820确定在屏幕上不存在文本时,如图9A所示,编辑意图检测器820确定没有内容可供用户编辑,并且因此不进入编辑模式。
在一些示例中,编辑意图检测器820基于用户注视802的位置来确定是否进入编辑模式。例如,当用户注视902如图9O所示指向字词“I”上的位置912时,编辑意图检测器820确定用户可能正在尝试编辑字词“I”或该字词周围的其他字词中的一个字词,并且因此系统800应当进入编辑模式。
在一些示例中,编辑意图检测器820基于用户注视802的速度来确定是否进入编辑模式。例如,如图9P所示,当用户正在字词“dogs”、“I”和“definitely”上方缓慢地拖动用户注视902时,编辑意图检测器820确定用户正聚焦于那些字词上,并且因此用户可能想要编辑它们中的一个或多个字词。具体地,用户将其注视在字词“dogs”、“I”和“definitely”上移动,并且在单独的或成组的字词上逗留延长的时间段,从而指示用户对这些字词感兴趣并且希望编辑它们。因此,编辑意图检测器820确定系统800应当进入编辑模式。相比之下,当用户正在快速地扫视并且用户注视902在任何显著时间量内没有聚焦于任何特定字词或字词组上时,编辑意图检测器820将确定用户不太可能正在编辑字词。
在一些示例中,编辑意图检测器820基于由用户注视802覆盖的区域来确定是否进入编辑模式。例如,如图9P所示,当用户的用户注视902聚焦于包括字词“dogs Idefinitely”的区域913上时,编辑意图检测器820确定用户可能正在尝试编辑那些字词中的一个或多个字词并且因此进入编辑模式。相比之下,当用户注视902正在扫视在屏幕上显示的所有字词时,编辑意图检测器820确定不进入编辑模式。
在一些示例中,编辑意图检测器820基于用户注视802的注视范围来确定是否进入编辑模式。例如,如图9P所示,用户注视902指向成组字词“dogs I definitely”。基于此,编辑意图检测器820确定用户注视802的注视范围相对小并且指向离散区域。该注视范围指示用户感兴趣于并且可能希望编辑字词“dogs I definitely”中的一个或多个字词。具体地,当指示编辑意图时的注视范围通常比当打算提供听写时的注视范围更集中。这样,系统800可以基于用户注视802的注视范围结合包括用户注视802的位置、话语801等的其他因素来确定用户是否正打算编辑或听写。
在一些示例中,编辑意图检测器820基于对话语801包括预先确定的字词的确定来确定是否进入编辑模式。具体地,编辑意图检测器820可以处理话语801以确定其是否包括像“添加”、“删除”、“移动”、“替换”、“改变”、“编辑”、“去除”、“不是”、“错了”、“不,我是说”、“大写”等字词中的一个或多个字词。因此,编辑意图检测器820将寻找指示用户不满意或希望改变先前完成的某些内容的字词或短语。例如,如图9Q所示,当接收到“不,不是I”的话语914时,编辑意图检测器820确定用户可能想要编辑字词“I”并且因此应当进入编辑模式。
在一些示例中,编辑意图检测器820通过使用自然语言理解确定话语801的意图来确定是否进入编辑模式。因此,通过使用本文所述的本体系统和其他自然语言理解部件来处理话语801,编辑意图检测器820可以确定“不,不是I”的话语914指示用户正打算编辑字词“I”并且因此应当进入编辑模式。
在一些示例中,系统800是数字助理系统的一部分或连接到数字助理系统,诸如本文所述的数字助理系统(例如,数字助理系统100)。因此,系统800可利用数字助理来辅助自然语言理解和用户话语的处理以确定用户的意图。这样,听写系统800可以与数字助理合并或一起使用,以增加对用户的响应性并且向用户提供更完整的助理体验。
在一些示例中,编辑意图检测器820基于用户注视802的位置和话语801中包括的一个或多个字词来确定是否进入编辑模式。例如,如图9R所示,当系统800接收到“等待”的话语914并且用户注视902聚焦于字词“I”上时,编辑意图检测器820可以确定用户想要编辑字词,即使命令“等待”不清楚,因为用户注视902指示用户正聚焦于字词“I”上。
这样,可利用用户注视802以通过在接收到有歧义的命令时确定用户正聚焦于屏幕的哪个区域上来更好地理解用户意图。此外,用户注视802可以通过指示用户正在注视的区域并且因此通知系统800在该区域中存在用户感兴趣的某些内容(通常是错误)来帮助系统800理解用户意图,甚至是在接收到话语之前。这改善了系统的听写服务的功能,因为系统800可以响应用户并开始编辑过程,而不是转录字词像“等待”。
在一些示例中,编辑意图检测器820包括机器学习模型,该机器学习模型被训练成基于诸如用户注视802的方向、用户注视802与在电子设备的屏幕上显示的字词或元素的接近度、用户注视802的停留时间、话语801、用户与系统800之间的先前交互以及在电子设备的屏幕上显示的字词的上下文等因素来确定是否进入编辑模式。
因此,编辑意图检测器820将与用户注视802和话语801相关的各种输入与当用户打算编辑先前已经转录的字词时的实例相关联。这产生了机器学习模型,该机器学习模型可接收这些因素并且向系统800提供对进入编辑模式的确定。在一些示例中,编辑意图检测器820包括与用于调用分类器810的机器学习模型不同的机器学习模型。在一些示例中,编辑意图检测器820和调用分类器810两者以及任选地系统的其他部件在单个机器学习模型中实现。
当编辑意图检测器820基于上文所讨论的因素(包括用户注视802的位置和话语801的内容)来确定不进入编辑模式时,系统800使得话语801的文本表示在电子设备的屏幕上显示。因此,系统800转录话语801,因为系统800处于听写模式并且已经确定用户没有尝试编辑先前转录的字词。
在一些示例中,系统800基于用户注视802来确定在哪里显示文本表示。例如,如图9S所示,当接收到“golden retrievers”的话语916时,用户注视902指向位置915。因此,“golden retrievers”的文本表示被添加到电子设备900的显示器901的位置915处,该位置跟在先前在电子设备900的显示器901上转录的字词后面。
在一些示例中,系统800基于在电子设备的屏幕上显示的文本字段的末尾来确定在哪里显示文本表示。例如,如图9T所示,正被显示的文本的末尾在位置917处。因此,当接收到“golden retriever”的话语916时,“golden retrievers”的文本表示被添加到位置917处,即使用户注视902指向位置918。
在一些示例中,系统800基于在电子设备的屏幕上显示的文本字段的末尾和用户注视802的位置来确定在哪里显示文本表示。例如,如图9U所示,存在两个文本字段,即文本字段903和文本字段909,并且因此存在两个文本结束位置,即位置919和位置920。因为用户注视902指向文本字段903上的位置919,所以系统800确定在位置919处显示“goldenretriever”的文本表示。
该过程可以针对由系统800从用户接收的每个话语继续。即,系统800将检测用户注视802,并且如果用户注视802不再指示用户打算提供要转录的语音,则系统800将退出听写模式。然而,如果用户注视802继续指示用户打算提供要转录的语音(例如,通过跟随将在该处显示新文本的显示文本的末尾),则系统800将向编辑意图检测器820提供话语以及用户注视802以供分析,以确定是否进入编辑模式。因此,当用户注视802从所显示的文本的末尾转移以聚焦于在屏幕上显示的字词上时,编辑意图检测器820可以确定进入编辑模式。
当编辑意图检测器820确定进入编辑模式时,目标选择器830确定在电子设备的屏幕上显示的要编辑的字词,并且有效载荷重识别器840确定要对该字词做出的编辑(例如,改变)。
在一些示例中,目标选择器830基于用户注视802来确定在电子设备的屏幕上显示的要编辑的字词。例如,如图9O所示,当用户注视902聚焦于字词“I”上时,目标选择器830可以确定“I”是用户希望编辑的字词。
在一些示例中,目标选择器830基于用户注视802的位置与字词之间的距离来确定在电子设备的屏幕上显示的要编辑的字词。例如,当用户注视902聚焦于位置921上时,如图9V所示,目标选择器830确定用户注视902与字词“I”之间的距离低于用户注视902与任何其他字词(像“dogs”或“definitely”)之间的距离,并且因此选择字词“I”作为用户想要编辑的字词。
在一些示例中,目标选择器830基于用户的被检测到的注视的停留时间来确定在电子设备的屏幕上显示的要编辑的字词。例如,如图9P所示,当用户注视902聚焦于字词“I”上时,目标选择器830可以确定用户注视902聚焦于字词“I”上持续5秒。因此,目标选择器830可以确定停留时间5秒大于阈值停留时间2或3秒并且因此确定用户正打算编辑字词“I”。
在一些示例中,目标选择器830基于话语801来确定在电子设备的屏幕上显示的要编辑的字词。例如,如图9W所示,当接收到“是are不是I”的话语916时,目标选择器830基于话语916中“I”的使用来确定用户打算编辑字词“I”。在一些示例中,要编辑的多个字词是基于话语801来确定的。例如,当接收到“删除dogs I definitely”的话语时,目标选择器830确定用户打算编辑“dogs”、“I”和“definitely”并且选择所有三个字词。
在一些示例中,目标选择器830基于先前交互历史来确定要编辑的字词。例如,目标选择器830可以确定字词“I”先前从“our”被改变为“I”,并且因此确定如果要编辑字词,则可能需要再次编辑“I”。
在一些示例中,目标选择器830基于字词的语言特性来确定在电子设备的屏幕上显示的要编辑的字词。字词的语言特性包括词性、字词是否是短语的一部分、字词的语言、字词在句子中的位置等。例如,目标选择器830可以确定“I”是名词并且因此它在当前显示的句子的上下文中没有意义。因此,目标选择器830可以确定编辑字词“I”。
在一些示例中,目标选择器830在确定要编辑的字词时考虑用户注视802、用户注视802的位置与字词之间的距离、停留时间和话语801的组合。例如,如图9W所示,除了“是are不是I”的话语916之外,用户注视902也聚焦于字词“I”附近,并且因此用户注视902与字词“I”之间的距离小。因此,基于所有这些因素,目标选择器830确定要编辑的字词“I”。
在一些示例中,目标选择器830将权重指派给上文所讨论的因素中的每个因素(例如,用户注视802、用户注视802的位置与字词之间的距离、停留时间和话语801),并且基于所指派的权重来确定要编辑的字词。例如,用户注视902可以被更重地加权,因为用户注视902在很大程度上指示用户希望编辑哪个字词。因此,目标选择器830可基于用户注视902来将高权重指派给字词“I”并且即使在所接收的话语不包括“I”时也选择“I”。
相似地,有效载荷重识别器840在确定对字词做出的编辑(例如,改变)时考虑若干不同因素。有效载荷重识别器840基于所确定的字词之前和之后的字词来确定该字词的上下文,利用该上下文来确定用户将可能请求哪些编辑。例如,当要编辑的字词是“I”时,如图9P所示,有效载荷重识别器840将考虑“I”之前的字词是“dogs”并且“I”之后的字词是“definitely”。因此,有效载荷重识别器840将确定在句子的上下文中,可能的编辑包括改变“I”为“are”或改变“I”为“will”。
有效载荷重识别器840还考虑话语801以及用户与系统800之间的先前交互历史,特别是关于同一字词的先前交互历史。例如,有效载荷重识别器840可以确定字词“I”先前从“our”改变而来,并且因此可以确定可能的编辑将是改变“I”为“are”,因为“are”和“our”听起来相似。
在一些示例中,有效载荷重识别器840确定要对字词做出的多个编辑(或改变)。例如,如上文所讨论,基于句子的上下文,有效载荷重识别器确定可能的编辑包括改变“I”为“are”或改变“I”为“will”。
在一些示例中,有效载荷重识别器840确定编辑(或改变)包括插入字词。例如,当有效载荷重识别器840接收到话语“添加myself”同时用户注视802聚焦于字词或字词之间的空格上时,其可以确定用户打算向句子添加字词“myself”并且因此将“myself”插入到句子中。
在一些示例中,有效载荷重识别器840确定编辑(或改变)包括删除字词。例如,当有效载荷重识别器840接收到话语“删除I”同时用户注视801聚焦于字词I上时,其可以确定用户打算从句子中删除字词“I”并且因此移除“I”。
在一些示例中,在有效载荷重识别器840确定要对字词做出的一个或多个编辑之后,系统800在电子设备的显示器上的元素中显示该一个或多个编辑。例如,如图9X所示,系统800显示包括文本“改变I为are?”的通知922。
在一些示例中,除了在电子设备的显示器上示出元素之外,系统800还突出显示要编辑的字词。例如,如图9X所示,由于系统将字词“I”确定为要编辑的字词,因此突出显示该字词。
在一些示例中,该元素包括若干不同的建议改变。例如,如图9Y所示,通知922包括编辑“改变‘I’为‘are’”和“改变‘I’为‘will’”。然后,用户可以通过轻击(例如,推动)他们希望做出的编辑或者通过提供选择要做出的编辑中的一个编辑的话语来选择他们希望做出的编辑中的一个编辑。此外,在一些示例中,用户可以通过将用户注视902引导到期望的编辑来选择编辑中的一个编辑。对利用用户注视902的期望的编辑的选择可基于与本文所讨论的那些因素类似的因素来确定,包括停留时间、注视方向、注视方向与编辑之间的距离等。响应于检测到用户的输入,系统800将做出适当的编辑并且更新所显示的字词。
在一些示例中,该元素包括链接。例如,如图9Z所示,通知922包括文本“了解关于听写编辑的更多信息看着这里”,其中“这里”是超链接。当选择链接时,在电子设备的显示器上提供(例如,显示)与经由语音编辑相关的信息。例如,如图9AA所示,在对链接的选择之后,窗口923显示为覆盖在当前显示的文本字段之上的叠层。在该示例中,窗口923包括关于如何编辑字词的信息,包括用户可以提供的可能命令以及可以如何选择不同的字词。
在一些示例中,该元素包括关于如何编辑字词的信息,包括可被使用的可能命令。例如,如图9AB所示,通知922包括文本“为了删除字词,使用命令删除”,以向用户提供他们可以向系统800提供以编辑所选择的字词的可能命令。
在一些示例中,该元素包括关于可以如何调整用户注视802以帮助确定要编辑哪个字词的信息。例如,如图9AC所示,通知922包括文本“看着你希望编辑的字词”,以引导用户将用户注视902从屏幕的没有文本的一部分调整到用户希望编辑的正在显示的字词中的一个字词。
在一些示例中,在满足预先确定的条件之后显示包括关于编辑的信息的元素。预先确定的条件可以包括用户注视802在字词上的停留时间超过预先确定的阈值、在话语801中检测到编辑命令之后的时间延迟超过预先确定的阈值、或者指示用户希望编辑字词的任何其他类型的条件。
例如,如图9AB所示,用户注视902可聚焦于字词“I”上,但用户可能不提供任何话语。因此,系统800可以在几秒(例如,2、3、5、6)的停留时间之后确定用户希望编辑字词“I”,但是不确定如何做到这一点,并且因此提供通知922以向用户提供可以提供的可能命令。
作为另一个示例,如图9AC所示,用户注视902可不聚焦于任何特定字词上,但系统800接收“移除”的话语924。因此,在几秒(例如,2、3、5、6、10)的延迟之后,在用户注视902没有移动或没有接收到另一个命令的情况下,系统800可以提供通知922以引导用户看着要编辑的字词。
一旦已经确定该字词和对该字词的编辑,就通过对该字词应用改变并显示经更新的字词来编辑该字词。例如,如图9AD所示,字词“I”被字词“are”替换,并且因此被编辑为正确的。
在一些示例中,一旦确定编辑,就自动应用编辑。例如,一旦确定就可以将“I”改变为“are”而无需提示用户或提供任何种类的反馈。
在一些示例中,在检测到对在元素中显示的改变的选择之后应用编辑。在一些示例中,在检测到对在元素中显示的多个建议改变中的改变的选择之后应用编辑。例如,如上文所讨论,用户可以在通知922中提供的改变“I”为“are”的建议编辑上提供轻击925,如图9Y所示。因此,系统800将在所显示的文本中用“are”替换字词“I”,如图9AD所示。
在系统800如上所述确定是否进入听写模式和编辑模式的同时,错误检测器850分析先前转录的文本以确定文本是否包括任何错误。此外,错误检测器850利用用户注视802来辅助这种错误检测,即通过基于用户注视来确定哪些字词要检查错误。
具体地,当检测到用户注视802时,错误检测器850连同调用分类器810一起确定用户注视802的位置并且基于用户注视802的位置来确定用户注视802所瞄向的一个或多个字词。例如,如上文所讨论,当用户注视902指向字词“I”上的位置912时,如图9P所示,系统800和调用分类器810确定用户注视902指向字词“I”,并且因此错误检测器850可以选择字词“I”来检查错误。
在一些示例中,选择用户注视802所指向的字词周围的字词组来检查错误。例如,如图9AE所示,当用户注视902指向字词“I”时,错误检测器850已经选择了字词组“dogs Idefinitely”来检查错误。另外,字词组“dogs I definitely”已经用元素926突出显示,以将用户的注意力吸引到整个词组。这向用户指示错误检测器850已经检测到用户注视902并且正在检查所选择的区域以寻找用户可能正在尝试指出的错误。
在一些示例中,如上文所讨论,用户注视802所瞄向的该一个或多个字词是基于用户注视802的停留时间来确定的。因此,当用户注视802指向字词或字词组持续预先确定的时间(例如,2秒、3秒、5秒)时,则该字词或该字词组可被选择来检查错误。
在一些示例中,用户注视802所瞄向的该一个或多个字词是基于用户注视802的注视模式来确定的。例如,如以上关于图9P所讨论的,当用户注视902聚焦于包括字词“dogs Idefinitely”的区域913上(通过在这三个字词上方扫掠用户注视902)时,字词“dogs Idefinitely”中的所有字词被选择为要检查错误的字词。
在一些示例中,用户注视802所瞄向的该一个或多个字词是基于用户注视802的位置与由电子设备显示的字词之间的距离来确定的。具体地,当用户注视位置802与由电子设备显示的字词之间的距离低于预先确定的阈值时,选择该字词。例如,如图9AF所示,用户注视902指向不在任何特定字词上的位置927。系统800确定用户注视902与字词“I”之间的距离928是1mm或2mm。因此,系统800确定距离928低于预先确定的阈值3mm,从而指示用户正聚焦于该字词上,并且选择字词“I”来检查错误。相反,用户注视902与“definitely”之间的距离929高于预先确定的阈值,并且因此可不选择“definitely”来检查错误。
在一些示例中,系统800确定用户注视802与由电子设备显示的字词之间的像素数量,并且如果像素数量低于预先确定的阈值,则选择该字词。例如,如图9AF所示,用户注视902指向不在任何特定字词上的位置927。系统800确定用户注视902与字词“I”之间的距离928在4至7个像素之间。因此,系统800确定距离928低于预先确定的阈值10个像素,并且选择字词“I”来检查错误。
在一些示例中,基于用户注视802的位置与多个字词之间的距离来选择该多个字词。例如,如图9AG所示,用户注视902指向在字词“dogs”与“I”之间等距的位置927,因此,因为用户注视902与字词“dogs”和“I”之间的距离是相同的,所以“dogs”和“I”两者将被选择来检查错误。
作为另一个示例,如图9AH所示,用户注视902指向位置927,该位置在字词“I”正上方并且与字词“dogs”和“definitely”等距。因此,可以选择字词“I”、“dogs”和“definitely”中的所有三个字词,因为所有三个字词都低于距离阈值,并且位置927与这些字词中的每个字词之间的距离非常相似。因此,系统800可以提供字词“I”、“dogs”和“definitely”中的所有三个字词来检查错误。
在一些示例中,该一个或多个字词是基于字词的上下文以及用户注视802所指向的字词之前和之后的字词来确定的。例如,当用户注视902聚焦于字词“I”上时,系统800和错误检测器850可以自动选择“I”之前的字词和“I”之后的字词以更好地理解字词“I”的上下文。在一些示例中,当用户注视902所聚焦的字词看起来没有错误时,选择之前和之后的字词。因此,当单独选择“I”时,错误检测器850可以确定它不包括任何错误,并且可以扩展到处理“dogs”和“definitely”以及整个短语“dogs I definitely”,以确定是否存在错误。
在一些示例中,该一个或多个字词是基于与该字词的先前交互历史来确定的,包括该字词是否先前已被纠正或以其他方式被用户瞄向。例如,当字词“I”先前从“our”改变而来时,错误检测器850可以访问该交互历史以选择字词“I”并且还确定先前做出了哪些改变。通过访问先前做出了哪些改变,错误检测器850避免做出相同的改变,并且进一步地,可以在确定要向用户建议的新纠正时考虑该附加上下文。
然后,错误检测器850检查用户注视802所瞄向的该一个或多个字词中的错误,以确定该一个或多个字词是否不正确。具体地,错误检测器850可以通过使用错误检测方法诸如拼写检查、语法检查等来确定字词是否不正确。例如,错误检测器850可以孤立地评估字词“I”并且确定不存在拼写错误,但是也评估短语“dogs I definitely”并且识别出可能存在语法错误。然后,错误检测器850可以进一步扩展被认为包括字词“my favorite”的上下文,并且确定短语“dogs I definitely my favorite”包含至少一个语法错误。
在一些示例中,错误检测器850基于用户注视802来确定字词是否不正确。例如,如果错误检测器850实现对字词的改变,诸如改变“our”为“I”并且用户继续注视经纠正的字词,则错误检测器850可以确定该字词仍然不正确或者用户希望进一步改变它。因此,错误检测器850基于用户继续看着它来确定“I”是不正确的。
在一些示例中,错误检测器850基于该字词周围的字词的上下文来确定字词是否不正确。例如,如上文所讨论,错误检测器850可以确定单独字词“I”是正确的,但是在将考虑扩展到句子的更大部分之后,错误检测器850确定“I”是不正确的,因为它造成了语法错误。
在一些示例中,错误检测器850基于与该字词的先前交互历史以及该字词先前是否被纠正来确定该一个或多个字词是否不正确。例如,在“our”被改变为“I”的先前示例中,错误检测器850可以基于多个改变和由于那些改变而延续下来的语法错误来识别出“I”也不正确并且需要再次改变。
在一些示例中,错误检测器850包括机器学习模型,该机器学习模型被训练成基于诸如用户注视802的方向、用户注视802与在电子设备的屏幕上显示的字词或元素的接近度、用户注视802的停留时间、话语801、用户与系统800之间的先前交互以及在电子设备的屏幕上显示的字词的上下文等因素来识别不正确字词。例如,可以在一组训练数据上训练机器学习模型,该组训练数据包括各种不正确字词以及相对于那些不正确字词检测到的对应用户注视。因此,通过基于该训练数据来迭代地训练机器学习模型,该机器学习模型学习将用户注视对应于特定字词作为该字词不正确的指示,以及基于上述因素来识别不正确字词的其他相关性。
如果错误检测器850确定该一个或多个字词不正确,则在电子设备的显示器上提供与该字词相关的元素。例如,如图9Y所示,系统800显示包括文本“改变‘I’为‘are’?”的通知922。
在一些示例中,除了在电子设备的显示器上示出元素之外,系统800还突出显示要编辑的字词。例如,如图9X所示,由于系统将字词“I”确定为要编辑的字词,因此突出显示该字词。
在一些示例中,该元素包括若干不同的建议改变。例如,如图9Y所示,通知922包括编辑“改变‘I’为‘are’”和“改变‘I’为‘will’”。然后,用户可以通过轻击(例如,推动)他们希望做出的编辑或者通过提供选择要做出的编辑中的一个编辑的话语来选择他们希望做出的编辑中的一个编辑。响应于检测到用户的输入,系统800将做出适当的编辑并且更新所显示的字词。
在一些示例中,元素包括供用户输入纠正的界面。例如,当错误检测器850确定字词拼写不正确但不能提供纠正时,错误检测器850显示元素以及供用户提供正确拼写的字段。因此,当错误检测器850确定字词“halp”存在拼写错误但不能确定正确的拼写时,错误检测器850可以提供包括“请提供正确的拼写”的元素以及供用户键入的输入字段。
在一些示例中,该元素包括链接。例如,如图9AA所示,通知922包括文本“了解关于听写编辑的更多信息看着这里”,其中“这里”是超链接。当选择链接时,在电子设备的显示器上提供(例如,显示)与经由语音编辑相关的信息。例如,如图9AB所示,在对链接的选择之后,窗口923显示为覆盖在当前显示的文本字段之上的叠层。在该示例中,窗口923包括关于如何编辑字词的信息,包括用户可以提供的可能命令以及可以如何选择不同的字词。
在一些示例中,该元素包括关于如何编辑字词的信息,包括可被使用的可能命令。例如,如图9AB所示,通知922包括文本“为了删除字词,使用命令删除”,以向用户提供他们可以向系统800提供以编辑所选择的字词的可能命令。
在一些示例中,该元素包括关于可以如何调整用户注视802以帮助确定要编辑哪个字词的信息。例如,如图9AC所示,通知922包括文本“看着你希望编辑的字词”,以引导用户将用户注视902从屏幕的没有文本的一部分调整到用户希望编辑的正在显示的字词中的一个字词。
在一些示例中,元素显示在该一个或多个字词上方。例如,如图9AI所示,通知928显示在所选择的字词“dogs I definitely”上方。在一些示例中,元素显示在字词下方。例如,如图9AJ所示,通知928显示在所选择的字词“dogs I definitely”下方。
在一些示例中,建议编辑或改变是对字词执行的动作,诸如删除。例如,如上文所讨论,系统800可以向用户提供诸如“删除”、“添加”、“改变”、“交换”等命令,使得用户更好地理解可以由系统800解译的命令。
在一些示例中,建议编辑或改变是对字词中的字母的纠正。例如,如果系统800错误地转录了字词“bogs”而不是“dogs”,则建议编辑可以包括将字母b改变为d。这种纠正也可以作为建议替换字词来提供,包括删除字词“bogs”并且添加字词“dogs”。
在一些示例中,建议编辑是替换字词。例如,基于上述示例,系统800可以确定“I”应当被纠正为“are”。因此,建议编辑包括用字词“are”替换字词“I”。
在一些示例中,建议编辑是对标点符号的改变。例如,系统800可以推荐当一个逗号缺失时添加牛津逗号,将不在问句的末尾的问号改变为句号,或者向列表中添加分号。
在电子设备的显示器上显示该元素之后,系统800检测对该元素或该元素中提供的数据(诸如建议编辑)的选择。因此,响应于检测到对元素或建议编辑的选择,对该字词进行建议编辑并且显示经校正的字词(例如,替换不正确字词)。
在一些示例中,系统800接收包括一个或多个有歧义的字词或标引的话语801。相应地,系统800基于以上因素诸如用户注视802的方向、用户注视802与在电子设备的屏幕上显示的字词或元素的接近度、用户注视802的停留时间、话语801、用户与系统800之间的先前交互以及在电子设备的屏幕上显示的字词的上下文等来确定有歧义的字词或标引指向什么。例如,如图9K所示,当在用户注视902指向在电子设备900的显示器901上显示的字词“Monday”时接收到“把它改变为Tuesday evening”的话语929时,系统800确定用户正打算编辑“Monday”并且因此“that”是指“Monday”。
作为另一个示例,当接收到话语930“on Tuesday evening”时,如图9L所示,系统800可以确定用户注视902聚焦于哪里并且因此确定话语930是否与由电子设备900显示的任何内容相关。系统800确定用户注视902聚焦于在电子设备900的显示器901上显示的字词“Monday”上,并且因此话语930指示用户想要将字词“Monday”改变为“Tuesday”。
在一些示例中,当语音命令包括有歧义的字词或标引时,系统800与数字助理或电子设备的应用程序交互以确定用户意图。例如,如图9M所示,当用户打开日历应用程序时,电子设备900可以接收“把它改变为Tuesday evening”的话语931,并且利用系统800的能力来确定用户注视902聚焦于由日历应用程序显示的日期“M”(例如,周一)上。因此,系统800可以确定用户希望将安排在周一的晚餐改变到周二晚上。系统800然后可以与数字助理或日历应用程序一起工作以将晚餐从周一晚上移动到周二晚上。
如上文所讨论,系统800可在接收到多个话语801时继续监视用户注视802,并且相应地确定用户听写文本、编辑文本或以其他方式与系统交互的意图。这样,系统800可以为用户平滑地从听写转变到编辑再到执行任务,而不需要用户参与复杂的菜单或提供其他反馈。相反,用户可以以自然的方式对系统800说话并且基于其注视来向系统提供指示。
图10示出了根据各种示例的用于操作具有基于注视的听写的系统的过程1000。例如,使用实现系统的一个或多个电子设备来执行过程1000。在一些示例中,使用客户端-服务器系统(例如,系统100)来执行过程1000,并且在服务器(例如,DA服务器106)和客户端设备之间以任何方式来划分过程1000的框。在其他示例中,在服务器和多个客户端设备(例如,移动电话和智能手表)之间划分过程1000的框。因而,虽然过程1000的部分在本文中被描述为由客户端-服务器系统的特定设备执行,但应当理解,过程1000不限于此。在其他示例中,使用仅客户端设备(例如,用户设备104)或仅多个客户端设备来执行过程1000。在过程1000中,一些框被任选地组合,一些框的次序被任选地改变,并且一些框被任选地省略。在一些示例中,可结合过程1000来执行附加步骤。
在框1002处,检测用户的注视(例如,用户注视802、902)。
在框1004处,是否进入听写模式是基于用户的被检测到的注视(例如,用户注视802、902)来确定的。在一些示例中,确定是否进入听写模式是利用第一机器学习模型来确定的,并且确定是否进入编辑模式是利用与第一机器学习模型不同的第二机器学习模型来确定的。在一些示例中,确定是否进入听写模式以及确定是否进入编辑模式是利用第三机器学习模型来确定的。
在一些示例中,基于用户的被检测到的注视(例如,用户注视802、902)来确定是否进入听写模式还包括确定用户的被检测到的注视是否指向在电子设备(例如,电子设备900)的屏幕(例如,显示器901)上显示的文本字段(例如,文本字段903、909)。在一些示例中,基于所检测到的用户注视来确定是否进入听写模式还包括确定用户的被检测到的注视所指向的文本字段上的第一位置(例如,位置905、910、912、913、915、917、918、919、920、921、927)。
在一些示例中,确定用户的被检测到的注视是否指向在电子设备的屏幕上显示的文本字段还包括确定用户的被检测到的注视指向文本字段(例如,文本字段903、909)的时间,以及根据对该时间超过预先确定的阈值的确定来确定用户的被检测到的注视指向文本字段。
在框1006处,根据对进入听写模式的确定,接收话语(例如,话语801、914、916、924)。
在框1008处,是否进入编辑模式是基于用户的被检测到的注视(例如,用户注视802、902)和话语(例如,话语801、914、916、924)来确定的。
在一些示例中,基于用户的被检测到的注视(例如,用户注视802、902)和话语(例如,话语801、914、916、924)来确定是否进入编辑模式还包括确定用户的被检测到的注视所指向的文本字段(例如,文本字段903、909)上的第二位置(例如,位置905、910、912、913、915、917、918、919、920、921、927),以及根据对第二位置位于在文本字段中显示的文本的末尾处的确定来确定不进入编辑模式。在一些示例中,基于用户的被检测到的注视和话语来确定是否进入编辑模式还包括根据对第二位置位于在文本字段中显示的文本中的字词上的确定来确定进入编辑模式。
在一些示例中,基于用户的被检测到的注视(例如,用户注视802、902)和话语(例如,话语801、914、916、924)来确定是否进入编辑模式还包括确定话语(例如,话语801、914、916、924)是否包括一个或多个预先确定的字词,以及根据对话语包括一个或多个预先确定的字词的确定来确定进入编辑模式。
在框1010处,根据确定不进入编辑模式,在电子设备(例如,电子设备900)的屏幕(例如,显示器901)上显示话语(例如,话语801、914、916、924)的文本表示。在一些示例中,确定用于在电子设备的屏幕上显示话语的文本表示的第三位置(例如,位置905、910、912、913、915、917、918、919、920、921、927)。在一些示例中,用于在电子设备的屏幕上显示话语的文本表示的第三位置是基于用户的注视(例如,用户注视802、902)在屏幕上的位置来确定的。在一些示例中,用于在电子设备的屏幕上显示话语的文本表示的第三位置是基于在电子设备的屏幕上显示的文本的末尾来确定的。
在一些示例中,根据对进入编辑模式的确定,确定在电子设备(例如,电子设备900)的屏幕(例如,显示器901)上显示的要编辑的字词,并且确定要对该字词做出的改变。在一些示例中,通过将改变应用于该字词来编辑该字词。在一些示例中,基于用户的被检测到的注视(例如,用户注视802、902)、用户的被检测到的注视的位置(例如,位置905、910、912、913、915、917、918、919、920、921、927)与该字词之间的距离、用户的被检测到的注视的停留时间以及话语(例如,话语801、914、916、924)中的一者或多者来确定在电子设备的屏幕上显示的要编辑的字词。在一些示例中,确定要对在电子设备的屏幕上显示的字词做出的改变是基于话语和在电子设备的屏幕上显示的字词的上下文。在一些示例中,根据对用户的被检测到的注视的位置与第一字词之间的第一距离等于用户的被检测到的注视的位置与第二字词之间的第二距离的确定,编辑第一字词和第二字词两者。
以上参考图10描述的操作可选地由图1至图4、图6A至图6B、图7A至图7C、图8和图9A至图9AM中描绘的部件来实现。例如,过程1000的操作可由系统800和电子设备900来实现。本领域的普通技术人员会清楚地知道如何基于图1至图4、图6A至图6B、图7A至图7C、图8和图9A至图9AM中描绘的部件来实施其他过程。
图11示出了根据各种示例的用于操作具有基于注视的听写的系统的过程1100。例如,使用实现系统的一个或多个电子设备来执行过程1100。在一些示例中,使用客户端-服务器系统(例如,系统100)来执行过程1100,并且在服务器(例如,DA服务器106)和客户端设备之间以任何方式来划分过程1100的框。在其他示例中,在服务器和多个客户端设备(例如,移动电话和智能手表)之间划分过程1100的框。因此,虽然过程1100的部分在本文中被描述为由客户端-服务器系统的特定设备执行,但应当理解,过程1100不限于此。在其他示例中,使用仅客户端设备(例如,用户设备104)或仅多个客户端设备来执行过程1100。在过程1100中,一些框被任选地组合,一些框的次序被任选地改变,并且一些框被任选地省略。在一些示例中,可结合过程1100来执行附加步骤。
在框1102处,检测用户的注视(例如,用户注视802、902)。
在框1104处,确定用户的注视(例如,用户注视802、902)的方向。
在框1106处,根据对用户的注视(例如,用户注视802、902)的方向聚焦于在电子设备(例如,电子设备900)的屏幕(例如,显示器901)上显示的第一元素(例如,文本字段903、909、通知904、922)的第一位置(例如,位置905、910、912、913、915、917、918、919、920、921、927)上的确定,在电子设备的屏幕上显示第二元素(例如,文本字段903、909、通知904、922)。在一些示例中,第二元素显示在第一元素上的第一位置处。
在一些示例中,第二元素(例如,文本字段903、909、通知904、922)显示在第一元素(例如,文本字段903、909、通知904、922)上与第一位置(例如,位置905、910、912、913、915、917、918、919、920、921、927)不同的第二位置(例如,位置905、910、912、913、915、917、918、919、920、921、927)处。在一些示例中,第二元素包括引导用户将用户的注视(例如,用户注视802、902)改变到第二位置的图形。
在一些示例中,根据对用户的注视的方向聚焦于在电子设备(例如,电子设备900)的屏幕(例如,显示器901)上显示的第一元素(例如,文本字段903、909、通知904、922)的第二位置(例如,位置905、910、912、913、915、917、918、919、920、921、927)上的确定,在第二位置处显示第二元素(例如,文本字段903、909、通知904、922)。在一些示例中,第二元素包括链接。在一些示例中,响应于检测到对链接的选择,显示包括关于听写模式的信息的第三元素(例如,文本字段903、909、通知904、922)。
在一些示例中,根据对电子设备(例如,电子设备900)处于编辑模式的确定,在电子设备(例如,电子设备900)的屏幕(例如,显示器901)上在第一位置(例如,位置905、910、912、913、915、917、918、919、920、921、927)处显示第四元素(例如,文本字段903、909、通知904、922)。在一些示例中,第四元素包括对在第一位置处显示的字词的一个或多个可能改变。在一些示例中,对在第一位置处显示的字词的一个或多个可能改变包括用于替换在第一位置处显示的字词的一个或多个另选字词。在一些示例中,响应于检测到对该字词的该一个或多个可能改变中的可能改变的选择,通过将该可能改变应用于该字词来编辑该字词。在一些示例中,响应于确定满足预先确定的条件,显示第四元素,其中预先确定的条件包括用户的注视在第一位置处显示的字词上的停留时间超过预先确定的阈值。
以上参考图11描述的操作可选地由图1至图4、图6A至图6B、图7A至图7C、图8和图9A至图9AJ中描绘的部件来实现。例如,过程1100的操作可由系统800和电子设备900来实现。本领域的普通技术人员会清楚地知道如何基于图1至图4、图6A至图6B、图7A至图7C、图8和图9A至图9AJ中描绘的部件来实施其他过程。
图12示出了根据各种示例的用于操作具有基于注视的听写的系统的过程1200。例如,使用实现系统的一个或多个电子设备来执行过程1200。在一些示例中,使用客户端-服务器系统(例如,系统100)来执行过程1200,并且在服务器(例如,DA服务器106)和客户端设备之间以任何方式来划分过程1200的框。在其他示例中,在服务器和多个客户端设备(例如,移动电话和智能手表)之间划分过程1200的框。因此,虽然过程1200的部分在本文中被描述为由客户端-服务器系统的特定设备执行,但应当理解,过程1200不限于此。在其他示例中,使用仅客户端设备(例如,用户设备104)或仅多个客户端设备来执行过程1200。在过程1200中,一些框被任选地组合,一些框的次序被任选地改变,并且一些框被任选地省略。在一些示例中,可结合过程1000来执行附加步骤。
在框1202处,检测用户的注视(例如,用户注视802、902)。
在框1204处,确定用户的注视(例如,用户注视802、902)所瞄向的一个或多个字词。在一些示例中,确定用户的注视所瞄向的给一个或多个字词还包括根据对用户的注视停留在该一个或多个字词上的时间超过第一预先确定的阈值的确定,选择该一个或多个字词选择作为用户的注视所瞄向的该一个或多个字词。在一些示例中,确定用户的注视所瞄向的一个或多个字词还包括确定用户的注视的位置与该一个或多个字词之间的距离,以及根据对用户的注视的位置与该一个或多个字词之间的距离低于第二预先确定的阈值的确定来选择该一个或多个字词。
在一些示例中,确定用户的注视(例如,用户注视802、902)所瞄向的一个或多个字词还包括确定字词的上下文,以及基于上下文来选择该一个或多个字词。在一些示例中,确定用户的注视所瞄向的一个或多个字词还包括基于先前已被纠正的字词来选择一个或多个字词。
在框1206处,基于该一个或多个字词以及用户的注视(例如,用户注视802、902)来确定该一个或多个字词中的字词是否不正确。在一些示例中,该一个或多个字词中的字词是否不正确是利用机器学习模型来确定的,该机器学习模型被训练成基于用户的注视来识别不正确字词。在一些示例中,基于该一个或多个字词以及用户的注视来确定该一个或多个字词中的字词是否不正确还包括:根据对用户的注视停留在字词上的时间超过第三预先确定的阈值的确定来确定字词不正确。在一些示例中,确定字词是否不正确是基于该字词周围的字词的上下文以及该字词先前是否被纠正。
在框1208处,根据对该一个或多个字词中的字词不正确的确定,在电子设备(例如,电子设备900)的屏幕(例如,显示器901)上显示与该字词相关的元素(例如,文本字段903、909、通知904、922)。在一些示例中,元素显示在字词上方。在一些示例中,元素包括对字词的建议改变。在一些示例中,建议改变是对字词执行的动作。在一些示例中,建议改变是替换字词。在一些示例中,检测对该元素的选择,并且响应于检测到对该元素的选择,对字词做出建议改变。
以上参考图12描述的操作可选地由图1至图4、图6A至图6B、图7A至图7C、图8和图9A至图9AM中描绘的部件来实现。例如,过程1200的操作可由系统800和电子设备900来实现。本领域的普通技术人员会清楚地知道如何基于图1至图4、图6A至图6B、图7A至图7C、图8和图9A至图9AM中描绘的部件来实施其他过程。
根据一些具体实施,提供一种计算机可读存储介质(例如,非暂态计算机可读存储介质),该计算机可读存储介质存储供电子设备的一个或多个处理器执行的一个或多个程序,该一个或多个程序包括用于执行本文所述方法或过程中的任一个的指令。
根据一些具体实施,提供了一种电子设备(例如,便携式电子设备),该电子设备包括用于执行本文所述的方法和过程中的任一者的装置。
根据一些具体实施,提供了一种电子设备(例如,便携式电子设备),该电子设备包括处理单元,该处理单元被配置为执行本文所述的方法和过程中的任一者。
根据一些具体实施,提供了一种电子设备(例如,便携式电子设备),该电子设备包括一个或多个处理器和存储用以由一个或多个处理器执行的一个或多个程序的存储器,该一个或多个程序包括用于执行本文所描述的方法和过程中的任一者的指令。
出于解释的目的,前面的描述是通过参考具体实施方案来描述的。然而,上面的例示性论述并非旨在是穷尽的或将本发明限制为所公开的精确形式。根据以上教导内容,很多修改形式和变型形式都是可能的。选择并描述这些实施方案是为了最好地解释这些技术的原理及其实际应用程序。本领域的其他技术人员由此能够最好地利用这些技术以及具有适合于所预期的特定用途的各种修改的各种实施方案。
虽然参照附图对本公开以及示例进行了全面的描述,但应当注意,各种变化和修改对于本领域内的技术人员而言将变得显而易见。应当理解,此类变化和修改被认为被包括在由权利要求书所限定的本公开和示例的范围内。
如上所述,本发明技术的一个方面在于收集和使用得自各种来源的数据以改善基于听写的服务。本公开预期,在一些实例中,这些所采集的数据可包括唯一地识别或可用于联系或定位特定人员的个人信息数据。此类个人信息数据可以包括人口统计数据、基于位置的数据、电话号码、电子邮件地址、推特ID、家庭地址、与用户的健康或健身水平有关的数据或记录(例如,生命体征测量、药物信息、锻炼信息)、出生日期或任何其他识别或个人信息。
本公开认识到在本发明技术中使用此类个人信息数据可用于使用户受益。例如,个人信息数据可以用于向用户提供听写服务。因此,使用此类个人信息数据使得用户能够有计划的控制对语音输入的响应。此外,本公开还预期个人信息数据有益于用户的其他用途。例如,健康和健身数据可用于向用户的总体健康状况提供见解,或者可用作使用技术来追求健康目标的个人的积极反馈。
本公开设想负责采集、分析、公开、传输、存储或其他使用此类个人信息数据的实体将遵守既定的隐私政策和/或隐私实践。具体地,此类实体应当实行并坚持使用被公认为满足或超出对维护个人信息数据的隐私性和安全性的行业或政府要求的隐私政策和实践。此类政策应该能被用户方便地访问,并应随着数据的采集和/或使用变化而被更新。来自用户的个人信息应当被收集用于实体的合法且合理的用途,并且不在这些合法使用之外共享或出售。此外,应在收到用户知情同意后进行此类采集/共享。另外,此类实体应考虑采取任何必要步骤,保卫和保障对此类个人信息数据的访问,并确保有权访问个人信息数据的其他人遵守其隐私政策和流程。另外,这种实体可使其本身经受第三方评估以证明其遵守广泛接受的隐私政策和实践。另外,应当调整政策和实践,以便采集和/或访问的特定类型的个人信息数据,并适用于包括管辖范围的具体考虑的适用法律和标准。例如,在美国,对某些健康数据的收集或获取可能受联邦和/或州法律的管辖,诸如健康保险流通和责任法案(HIPAA);而其他国家的健康数据可能受到其他法规和政策的约束并应相应处理。因此,在每个国家应为不同的个人数据类型保持不同的隐私实践。
不管前述情况如何,本公开还预期用户选择性地阻止使用或访问个人信息数据的实施方案。即本公开预期可提供硬件元件和/或软件元件,以防止或阻止对此类个人信息数据的访问。例如,就基于注视的听写而言,本发明的技术可被配置为在注册服务期间或者其后的任何时间,允许用户选择“选择加入”或“选择退出”参与对个人信息数据的收集。在另一个示例中,用户可选择不提供个人数据用于听写。在另一个示例中,用户可选择限制保持听写数据的时间长度。除了提供“选择加入”和“选择退出”选项外,本公开还设想提供与访问或使用个人信息相关的通知。例如,可在下载应用时向用户通知其个人信息数据将被访问,然后就在个人信息数据被应用访问之前再次提醒用户。
此外,本公开的目的是应管理和处理个人信息数据以最小化无意或未经授权访问或使用的风险。一旦不再需要数据,通过限制数据收集和删除数据可最小化风险。此外,并且当适用时,包括在某些健康相关应用程序中,数据去标识可用于保护用户的隐私。在适当的情况下,可以通过移除特定标识符(例如,出生日期等)、控制存储的数据的量或特征(例如,在城市级而非地址级收集位置数据)、控制数据的存储方式(例如,在用户之间聚合数据)和/或其他方法来促进去标识。
因此,虽然本公开广泛地覆盖了使用个人信息数据来实现一个或多个各种所公开的实施方案,但本公开还预期各种实施方案也可在无需访问此类个人信息数据的情况下被实现。即,本发明技术的各种实施方案不会由于缺少此类个人信息数据的全部或一部分而无法正常进行。例如,可通过基于非个人信息数据或绝对最低数量的个人信息诸如与用户相关联的设备所请求的内容、对听写服务可用的其他非个人信息或公开可用的信息来推断偏好,从而将听写服务递送至用户。
Claims (66)
1.一种方法,包括:
在具有一个或多个处理器以及存储器的电子设备处:
检测用户的注视;
基于所述用户的被检测到的注视来确定是否进入听写模式;
根据确定进入所述听写模式:
接收话语;以及
根据确定不进入编辑模式,在所述电子设备的屏幕上显示所述话语的文本表示。
2.根据权利要求1所述的方法,其中确定是否进入所述听写模式是利用第一机器学习模型来确定的,并且确定是否进入所述编辑模式是利用与所述第一机器学习模型不同的第二机器学习模型来确定的。
3.根据权利要求1至2中任一项所述的方法,其中确定是否进入所述听写模式以及确定是否进入所述编辑模式是利用第三机器学习模型来确定的。
4.根据权利要求1至3中任一项所述的方法,其中基于所述用户的被检测到的注视来确定是否进入听写模式还包括:
确定所述用户的被检测到的注视是否指向在所述电子设备的屏幕上显示的文本字段。
5.根据权利要求4所述的方法,其中基于所述用户的被检测到的注视来确定是否进入听写模式还包括:
确定所述用户的被检测到的注视所指向的所述文本字段上的第一位置。
6.根据权利要求4所述的方法,其中确定所述用户的被检测到的注视是否指向在所述电子设备的屏幕上显示的所述文本字段还包括:
确定所述用户的被检测到的注视指向所述文本字段的时间;以及
根据确定所述时间超过阈值来确定所述用户的被检测到的注视指向所述文本字段。
7.根据权利要求1至6中任一项所述的方法,其中基于所述用户的被检测到的注视和所述话语来确定是否进入编辑模式还包括:
确定所述用户的被检测到的注视所指向的所述文本字段上的第二位置;以及
根据确定所述第二位置位于在所述文本字段中显示的文本的末尾处来确定不进入所述编辑模式。
8.根据权利要求7所述的方法,其中基于所述用户的被检测到的注视和所述话语来确定是否进入编辑模式还包括:
根据确定所述第二位置位于在所述文本字段中显示的文本中的字词上来确定进入所述编辑模式。
9.根据权利要求1至8中任一项所述的方法,其中基于所述用户的被检测到的注视和所述话语来确定是否进入编辑模式还包括:
根据确定被检测到的注视的注视范围低于范围阈值来确定进入所述编辑模式。
10.根据权利要求1至9中任一项所述的方法,其中基于所述用户的被检测到的注视和所述话语来确定是否进入编辑模式还包括:
确定所述话语是否包括一个或多个预先确定的字词;以及
根据确定所述话语包括一个或多个预先确定的字词来确定进入所述编辑模式。
11.根据权利要求1至10中任一项所述的方法,还包括:
确定用于在所述电子设备的所述屏幕上显示所述话语的所述文本表示的第三位置。
12.根据权利要求11所述的方法,其中用于在所述电子设备的所述屏幕上显示所述话语的所述文本表示的所述第三位置基于所述用户的注视在所述屏幕上的位置来确定。
13.根据权利要求11所述的方法,其中用于在所述电子设备的所述屏幕上显示所述话语的所述文本表示的所述第三位置基于在所述电子设备的所述屏幕上显示的文本的末尾来确定。
14.根据权利要求1至13中任一项所述的方法,还包括:
根据确定进入所述编辑模式:
确定在所述电子设备的所述屏幕上显示的要编辑的字词;确定对在所述电子设备的所述屏幕上显示的所述字词要做出的改变;以及
通过将所述改变应用于所述字词来编辑所述字词。
15.根据权利要求14所述的方法,其中基于所述用户的被检测到的注视、所述用户的被检测到的注视的位置与所述字词之间的距离、所述用户的被检测到的注视的停留时间以及所述话语中的一者或多者来确定在所述电子设备的所述屏幕上显示的要编辑的所述字词。
16.根据权利要求14所述的方法,其中确定对在所述电子设备的所述屏幕上显示的所述字词要做出的所述改变基于所述话语和在所述电子设备的所述屏幕上显示的所述字词的上下文。
17.根据权利要求14所述的方法,还包括:
根据确定所述用户的被检测到的注视的位置与第一字词之间的第一距离等于所述用户的被检测到的注视的位置与第二字词之间的第二距离来确定编辑所述第一字词和所述第二字词两者。
18.根据权利要求14所述的方法,其中确定在所述电子设备的所述屏幕上显示的要编辑的所述字词是基于所述字词的语言属性。
19.一种电子设备,包括:
一个或多个处理器;
存储器;以及
一个或多个程序,其中所述一个或多个程序存储在所述存储器中并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于以下操作的指令:
检测用户的注视;
基于所述用户的被检测到的注视来确定是否进入听写模式;
根据确定进入所述听写模式:
接收话语;以及
根据确定不进入编辑模式,在所述电子设备的屏幕上显示所述话语的文本表示。
20.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储被配置为由电子设备的一个或多个处理器执行的一个或多个程序,所述一个或多个程序包括用于以下操作的指令:
检测用户的注视;
基于所述用户的被检测到的注视来确定是否进入听写模式;
根据确定进入所述听写模式:
接收话语;以及
根据确定不进入编辑模式,在所述电子设备的屏幕上显示所述话语的文本表示。
21.一种电子设备,包括:
用于检测用户的注视的装置;
用于基于所述用户的被检测到的注视来确定是否进入听写模式的装置;
根据确定进入所述听写模式:
用于接收话语的装置;以及
根据确定不进入编辑模式,用于在所述电子设备的屏幕上显示所述话语的文本表示的装置。
22.一种电子设备,包括:
一个或多个处理器;
存储器;以及
一个或多个程序,其中所述一个或多个程序存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行根据权利要求1至18中任一项所述的方法的指令。
23.一种存储一个或多个程序的非暂态计算机可读存储介质,所述一个或多个程序包括指令,所述指令当由电子设备的一个或多个处理器执行时,使得所述电子设备执行根据权利要求1至18中任一项所述的方法。
24.一种电子设备,包括:
用于执行根据权利要求1至18中任一项所述的方法的装置。
25.一种系统,包括用于执行根据权利要求1至18所述的方法中的任一种方法的装置。
26.一种方法,包括:
在具有一个或多个处理器以及存储器的电子设备处:
检测用户的注视;
确定所述用户的所述注视的方向;
根据确定所述用户的所述注视的所述方向聚焦于在所述电子设备的屏幕上显示的第一元素的第一位置上:
在所述电子设备的所述屏幕上显示第二元素。
27.根据权利要求26所述的方法,其中所述第二元素显示在所述第一元素上的所述第一位置处。
28.根据权利要求26至27中任一项所述的方法,其中所述第二元素显示在所述第一元素上与所述第一位置不同的第二位置处。
29.根据权利要求26至28中任一项所述的方法,其中所述第二元素包括引导所述用户将所述用户的所述注视改变到所述第二位置的图形。
30.根据权利要求26至29中任一项所述的方法,还包括:
根据确定所述用户的所述注视的所述方向聚焦于在所述电子设备的所述屏幕上显示的所述第一元素的第二位置上,在所述第二位置处显示所述第二元素。
31.根据权利要求26至30中任一项所述的方法,其中所述第二元素包括链接。
32.根据权利要求31所述的方法,还包括:
响应于检测到对所述链接的选择,显示包括关于听写模式的信息的第三元素。
33.根据权利要求26至32中任一项所述的方法,还包括:
根据确定所述电子设备处于编辑模式,在所述电子设备的所述屏幕上在所述第一位置处显示第四元素。
34.根据权利要求33所述的方法,其中所述第四元素包括对在所述第一位置处显示的字词的一个或多个可能改变。
35.根据权利要求34所述的方法,其中对在所述第一位置处显示的所述字词的所述一个或多个可能改变包括用于替换在所述第一位置处显示的所述字词的一个或多个另选字词。
36.根据权利要求34所述的方法,还包括:
响应于检测到对所述字词的所述一个或多个可能改变中的可能改变的选择,通过将所述可能改变应用于所述字词来编辑所述字词。
37.根据权利要求34所述的方法,还包括:
响应于确定满足预先确定的条件,显示所述第四元素,其中所述预先确定的条件包括所述用户的所述注视在所述第一位置处显示的所述字词上的停留时间超过预先确定的阈值。
38.一种电子设备,包括:
一个或多个处理器;
存储器;以及
一个或多个程序,其中所述一个或多个程序存储在所述存储器中并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于以下操作的指令:
检测用户的注视;
确定所述用户的所述注视的方向;
根据确定所述用户的所述注视的所述方向聚焦于在所述电子设备的屏幕上显示的第一元素的第一位置上:
在所述电子设备的所述屏幕上显示第二元素。
39.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储被配置为由电子设备的一个或多个处理器执行的一个或多个程序,所述一个或多个程序包括用于以下操作的指令:
检测用户的注视;
确定所述用户的所述注视的方向;
根据确定所述用户的所述注视的所述方向聚焦于在所述电子设备的屏幕上显示的第一元素的第一位置上:
在所述电子设备的所述屏幕上显示第二元素。
40.一种电子设备,包括:
用于检测用户的注视的装置;
用于确定所述用户的所述注视的方向的装置;
根据确定所述用户的所述注视的所述方向聚焦于在所述电子设备的屏幕上显示的第一元素的第一位置上:
用于在所述电子设备的所述屏幕上显示第二元素的装置。
41.一种电子设备,包括:
一个或多个处理器;
存储器;以及
一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行根据权利要求26至37中任一项所述的方法的指令。
42.一种存储一个或多个程序的非暂态计算机可读存储介质,所述一个或多个程序包括指令,所述指令当由电子设备的一个或多个处理器执行时,使得所述电子设备执行根据权利要求26至37中任一项所述的方法。
43.一种电子设备,包括:
用于执行根据权利要求26至37中任一项所述的方法的装置。
44.一种系统,所述系统包括用于执行根据权利要求26至37所述的方法中的任一种方法的装置。
45.一种方法,包括:
在具有一个或多个处理器以及存储器的电子设备处:
检测用户的注视;
确定所述用户的所述注视的方向;
根据确定所述用户的所述注视的所述方向聚焦于在所述电子设备的屏幕上显示的第一元素的第一位置上:
在所述电子设备的所述屏幕上显示第二元素,所述第二元素将所述用户的所述注视引导到所述第一元素的第二位置。
46.一种方法,包括:
在具有一个或多个处理器以及存储器的电子设备处:
检测用户的注视;
确定所述用户的所述注视所瞄向的一个或多个字词;
基于所述一个或多个字词以及所述用户的所述注视来确定所述一个或多个字词中的字词是否不正确;以及
根据确定所述一个或多个字词中的所述字词不正确,在所述电子设备的屏幕上显示与所述字词相关的元素。
47.根据权利要求46所述的方法,其中所述一个或多个字词中的所述字词是否不正确是利用机器学习模型来确定的,所述机器学习模型被训练成基于所述用户的所述注视来识别不正确的字词。
48.根据权利要求46至47中任一项所述的方法,其中确定所述用户的所述注视所瞄向的一个或多个字词还包括:
根据确定所述用户的所述注视停留在所述一个或多个字词上的时间超过第一预先确定的阈值,选择所述一个或多个字词作为所述用户的所述注视所瞄向的所述一个或多个字词。
49.根据权利要求46至48中任一项所述的方法,其中确定所述用户的所述注视所瞄向的一个或多个字词还包括:
确定所述用户的所述注视的位置与所述一个或多个字词之间的距离;以及
根据确定所述用户的所述注视的所述位置与所述一个或多个字词之间的所述距离低于第二预先确定的阈值来选择所述一个或多个字词。
50.根据权利要求46至49中任一项所述的方法,其中确定所述用户的所述注视所瞄向的一个或多个字词还包括:
确定所述字词的上下文;以及
基于所述上下文来选择所述一个或多个字词。
51.根据权利要求46至50中任一项所述的方法,其中确定所述用户的所述注视所瞄向的一个或多个字词还包括:
基于先前已被纠正的字词来选择一个或多个字词。
52.根据权利要求46至51中任一项所述的方法,其中基于所述一个或多个字词以及所述用户的所述注视来确定所述一个或多个字词中的字词是否不正确还包括:
根据确定所述用户的所述注视停留在所述字词上的所述时间超过第三预先确定的阈值来确定所述字词不正确。
53.根据权利要求46至52中任一项所述的方法,其中确定所述字词是否不正确是基于所述字词周围的字词的上下文以及所述字词先前是否被纠正的。
54.根据权利要求46至53中任一项所述的方法,其中所述元素显示在所述字词上方。
55.根据权利要求46至54中任一项所述的方法,其中所述元素包括对所述字词的建议改变。
56.根据权利要求55所述的方法,其中所述建议改变是对所述字词执行的动作。
57.根据权利要求55所述的方法,其中所述建议改变是替换字词。
58.根据权利要求57所述的方法,其中所述替换字词基于在所述电子设备的所述屏幕上显示的所述字词的所述上下文来确定。
59.根据权利要求55所述的方法,还包括:
检测对所述元素的选择;以及
响应于检测到对所述元素的选择,对所述字词做出所述建议改变。
60.一种电子设备,包括:
一个或多个处理器;
存储器;以及
一个或多个程序,其中所述一个或多个程序存储在所述存储器中并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于以下操作的指令:
检测用户的注视;
确定所述用户的所述注视所瞄向的一个或多个字词;
基于所述一个或多个字词以及所述用户的所述注视来确定所述一个或多个字词中的字词是否不正确;以及
根据确定所述一个或多个字词中的所述字词不正确,在所述电子设备的屏幕上显示与所述字词相关的元素。
61.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储被配置为由电子设备的一个或多个处理器执行的一个或多个程序,所述一个或多个程序包括用于以下操作的指令:
检测用户的注视;
确定所述用户的所述注视所瞄向的一个或多个字词;
基于所述一个或多个字词以及所述用户的所述注视来确定所述一个或多个字词中的字词是否不正确;以及
根据确定所述一个或多个字词中的所述字词不正确,在所述电子设备的屏幕上显示与所述字词相关的元素。
62.一种电子设备,包括:
用于检测用户的注视的装置;
用于确定所述用户的所述注视所瞄向的一个或多个字词的装置;
用于基于所述一个或多个字词以及所述用户的所述注视来确定所述一个或多个字词中的字词是否不正确的装置;以及
根据确定所述一个或多个字词中的所述字词不正确,用于在所述电子设备的屏幕上显示与所述字词相关的元素的装置。
63.一种电子设备,包括:
一个或多个处理器;
存储器;以及
一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行根据权利要求46至59中任一项所述的方法的指令。
64.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储一个或多个程序,所述一个或多个程序包括指令,所述指令当由电子设备的一个或多个处理器执行时,使得所述电子设备执行根据权利要求46至59中任一项所述的方法。
65.一种电子设备,包括:
用于执行根据权利要求46至59中任一项所述的方法的装置。
66.一种系统,所述系统包括用于执行根据权利要求46至59所述的方法中的任一种方法的装置。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US63/240,696 | 2021-09-03 | ||
US63/335,649 | 2022-04-27 | ||
US202217900666A | 2022-08-31 | 2022-08-31 | |
US17/900,666 | 2022-08-31 | ||
PCT/US2022/042331 WO2023034497A2 (en) | 2021-09-03 | 2022-09-01 | Gaze based dictation |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410450289.0A Division CN118349113A (zh) | 2021-09-03 | 2022-09-01 | 基于注视的听写 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117957511A true CN117957511A (zh) | 2024-04-30 |
Family
ID=90792538
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280059719.5A Pending CN117957511A (zh) | 2021-09-03 | 2022-09-01 | 基于注视的听写 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117957511A (zh) |
-
2022
- 2022-09-01 CN CN202280059719.5A patent/CN117957511A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102593248B1 (ko) | 비디오 통신 세션 환경에서의 디지털 어시스턴트 상호작용 | |
CN111901481B (zh) | 计算机实现的方法、电子设备和存储介质 | |
CN111656439B (zh) | 基于延迟控制电子设备的方法、电子设备及存储介质 | |
CN111480134B (zh) | 注意力感知虚拟助理清除 | |
CN111418007B (zh) | 多轮预制对话 | |
CN110473538B (zh) | 检测数字助理的触发 | |
CN108604449B (zh) | 说话者识别 | |
CN109257941B (zh) | 用于数字助理的同步和任务委派的方法、电子设备和系统 | |
CN116312527A (zh) | 自然助理交互 | |
CN116414282A (zh) | 多模态界面 | |
CN116301492A (zh) | 用户活动快捷方式建议 | |
CN110637339B (zh) | 使用隐式反馈优化数字助理的对话策略决策 | |
CN115221295A (zh) | 个人请求的数字助理处理 | |
CN110603586B (zh) | 用于校正识别错误的用户界面 | |
CN118056172A (zh) | 用于提供免提通知管理的数字助理 | |
CN111524506B (zh) | 维护个人信息的隐私的自然语言输入的客户端服务器处理 | |
CN116486799A (zh) | 从用户话语生成emoji | |
CN115083414A (zh) | 用于连续对话的多状态数字助理 | |
CN112015873A (zh) | 通过设备内置目标定位和个性化实现语音助理可发现性 | |
CN110574023A (zh) | 脱机个人助理 | |
CN110651324B (zh) | 多模态界面 | |
US20240185856A1 (en) | Gaze based dictation | |
CN111243606B (zh) | 用户特定的声学模型 | |
CN117957511A (zh) | 基于注视的听写 | |
CN118349113A (zh) | 基于注视的听写 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |