CN115769220A - 经由自动化助理交互的文档创建和编辑 - Google Patents
经由自动化助理交互的文档创建和编辑 Download PDFInfo
- Publication number
- CN115769220A CN115769220A CN202080101564.8A CN202080101564A CN115769220A CN 115769220 A CN115769220 A CN 115769220A CN 202080101564 A CN202080101564 A CN 202080101564A CN 115769220 A CN115769220 A CN 115769220A
- Authority
- CN
- China
- Prior art keywords
- user
- document
- automated assistant
- computing device
- additional
- 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
- 230000003993 interaction Effects 0.000 title claims description 24
- 230000009471 action Effects 0.000 claims abstract description 64
- 238000000034 method Methods 0.000 claims description 89
- 230000004044 response Effects 0.000 claims description 45
- 238000012545 processing Methods 0.000 claims description 28
- 238000010801 machine learning Methods 0.000 claims description 17
- 238000009877 rendering Methods 0.000 claims description 12
- 238000012549 training Methods 0.000 claims description 9
- 230000015654 memory Effects 0.000 claims description 7
- 230000004048 modification Effects 0.000 claims description 6
- 238000012986 modification Methods 0.000 claims description 6
- 230000000977 initiatory effect Effects 0.000 claims description 4
- 230000000153 supplemental effect Effects 0.000 claims description 4
- 238000012553 document review Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 description 49
- 230000008569 process Effects 0.000 description 20
- 238000011160 research Methods 0.000 description 12
- 238000012552 review Methods 0.000 description 12
- 238000012423 maintenance Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 239000000463 material Substances 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 5
- 239000003795 chemical substances by application Substances 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 230000001755 vocal effect Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 108010007004 cathelin Proteins 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000011273 social behavior Effects 0.000 description 1
- 238000012358 sourcing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000013179 statistical model Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000013518 transcription Methods 0.000 description 1
- 230000035897 transcription Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
- G06F3/167—Audio in a user interface, e.g. using voice commands for navigating, audio feedback
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
- G10L13/02—Methods for producing synthetic speech; Speech synthesisers
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/1815—Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/48—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
- G10L25/51—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
- G10L25/54—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination for retrieval
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/223—Execution procedure of a spoken command
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Computational Linguistics (AREA)
- Acoustics & Sound (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Document Processing Apparatus (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本文阐述的实施方式涉及允许用户创建、编辑和/或共享文档而不直接与文档编辑应用对接的自动化助理。用户可以向自动化助理提供输入,以便使得自动化助理与文档编辑应用对接并且创建文档。为了识别关于文档执行的特定动作和/或识别用于指导动作的文档内的特定子部分,自动化助理可以依赖于语义注释。当用户继续与自动化助理交互以编辑文档时,可以根据文档正如何改变和/或用户如何指涉文档来更新语义注释。这可以允许自动化助理更容易地履行可能缺少表达细节的文档相关请求。
Description
背景技术
人类可以参与与交互软件应用的人机对话,该交互软件应用在本文中被称为“自动化助理”(也被称为“数字智能体”、“聊天机器人”、“交互个人助理”、“智能个人助理”、“对话智能体”等)。例如,人类(当他们与自动化助理交互时可以被称为“用户”)可以使用口头自然语言输入(即,话语)和/或通过提供文本(例如,键入)自然语言输入来提供命令和/或请求,该口头自然语言输入在一些情况下可以被转换成文本并且然后被处理。
在一些实例中,可以利用自动化助理来执行离散动作,诸如打开音乐应用、调整智能家庭设备的设置以及许多其它任务。然而,对内容丰富文档(例如,要发布的文章)的编辑通常仍然保留具有专用监视器以及诸如键盘和鼠标的常见外围设备的桌面环境。尽管许多平板样式设备已经启用了用于编辑文档的其它手段,诸如经由触摸屏接口,但是可能需要将其全部灵巧性专用于每个编辑会话,以便编辑内容丰富文档。例如,向存储在云驱动器上的特定文档添加文本的段落可能需要用户:经由平板设备的前台应用访问特定文档、滚动到要编辑的特定段落以及手动地键入以编辑该段落。这能够需要大量的用户输入和客户端设备资源的大量使用来处理输入,以便在延长的持续时间内渲染特定文档等。另外地,经由平板设备执行的任何其它任务可能被延迟,因为用户在这段时间内不能与任何其它应用接涉。
此外,作为云应用存在的各种文档编辑应用可以允许多个不同用户通过桌面样式接口同时编辑文档。这种应用可以允许多个审阅者经由桌面样式接口同时审阅文档。然而,只要编辑和评论被限制到某些应用接口,就可能过度地延迟审阅周期。例如,一个审阅者可以在他们的电话上获得另一个用户已经向文档添加了评论的电子邮件通知。不幸的是,用户可能直到该用户能访问具有适当图形用户接口的台式计算机或其它设备,才能完全处理评论。此外,结果,用户可能不会被告知评论的任何实质,因此不能在访问评论之前准备对评论的响应。这些限制可以导致各种用户检查来自可能不启用编辑功能的接口的文档评论更新。这可能导致诸如功率和处理带宽的计算资源的不必要消耗。
发明内容
本文阐述的实施方式涉及一种自动化助理,其可以作为用于完成用于内容丰富文档的各种文档相关动作的模态来操作。内容丰富文档可以指涉合并到单个文档中的任何数据集。该数据集可以包括但不限于多个不同部分、主题、子主题、样式、电子表格中的单元格、演示中的幻灯片、图形和/或可以并入文档中的特征的任何组合。自动化助理可以操作以允许用户通过自动化助理与用户之间的一个或多个交互来编辑、评论和/或共享现有文档,或创建新文档。换句话说,用户不必需要在图形用户接口(GUI)的前台(foreground)中观看文档编辑程序,以便执行这种操作。相反,自动化助理例如可以允许用户通过口头交互和/或任何其它类型的交互——可选地不需要用户在提供口头交互时查看文档——来执行各种文档相关任务。这种文档相关任务可以通过允许自动化助理生成用户可以请求自动化助理访问和/或修改的单个文档的相应部分的语义注释来实现。例如,可以鉴于文档的语义注释基于处理用户的口头话语的至少一部分来确定要执行的文档相关任务(例如,为了确定应该对文档的哪个部分执行文档相关任务)。以这种方式引用语义注释可以简化文档创建和/或文档审阅,否则这可能需要文档的延长图形渲染和/或指导与例如可经由桌面计算设备访问的文档编辑应用的用户交互。此外,当文档审阅用户能够通过提供对自动化助理的访问的任何设备快速审阅内容丰富文档时,可以减少文档的审阅时间和设备的功耗。这样的设备可以包括,但不限于,手表、蜂窝电话、平板计算机、家庭助理设备、和/或任何其它可以提供对自动化助理的访问的计算设备。
作为一个示例,用户可以是与一组研究者一起工作以审阅要提交以供发布的电子文档的研究者。在审阅过程期间,每个研究者可以根据不允许很多时间坐在计算设备前面审阅文档中的编辑和/或评论的休息的时间表来行进。为了对文档进行编辑和/或审阅评论,用户可以依靠自动化助理,该自动化助理可以通过用户设备的“生态系统”可访问。例如,当研究者正在审阅文档时,提供对文档的访问的文档应用可以向自动化助理发送与文档相关联的某些数据和从自动化助理接收与文档相关联的某些数据。
在某些实例中,文档可以是电子表格,并且当用户提供诸如“Assistant,add acolumn to my latest‘research’document and add a comment saying‘Could someoneadd this month’s data to this column?’(助理,将列添加到我的最新“研究”文档中并且添加“是否有人将本月的数据添加到该列?”的评论)”的口头话语时,可以致使对文档的特定编辑。用户可以向他们的手表的接口提供这种口头话语,该接口可以提供对自动化助理的访问,但是可以不包括用于编辑电子表格的本机文档编辑应用。响应于接收到口头话语,自动化助理可以处理对应于口头话语的音频数据并且确定要执行的一个或多个动作。
音频数据的处理可以涉及利用一个或多个经训练的机器学习模型、启发式过程、语义分析、和/或在处理来自用户的口头话语时可以采用的任何其它过程。作为处理的结果,自动化助理可以初始化经由口头话语由用户所指定的一个或多个动作的执行。在一些实施方式中,自动化助理可以使用应用编程接口(API),以便使特定文档应用执行一个或多个动作。例如,响应于上述口头话语,经由用户的手表可访问的自动化助理可以生成响应于来自用户的口头话语而执行的一个或多个函数。例如,自动化助理可以使得执行一个或多个函数,以便确定在特定文档中应当添加附加列的位置。用于确定放置附加列的位置的函数可以是total_columns(most_recent(‘research’)),其可以识别包括在具有带有词项“research(研究)”的语义注释的最近访问的文档中的非空白列的总数。在一些实施方式中,可以基于用户与文档编辑应用和/或自动化助理之间的一个或多个先前交互来识别“total_columns”函数。可替换地或另外地,可以使用一个或多个经训练的机器学习模型来识别“total_columns”函数,该经训练的机器学习模型可以用于对待执行的一个或多个函数进行排名和/或评分,以便识别在响应用户时使用的附加信息。
例如,total_columns(most_recent(‘research’))函数可以返回值“16”,其可以由自动化助理用来生成要执行的用于将列(例如,“16+1”)添加到特定文档的另一函数。例如,自动化助理可以初始化函数的执行,诸如:action:new_column((16+1),most_recent(‘research’))和action:comment(column(16+1),“Could someone add this month’sdata to this column?(是否有人将本月的数据添加到该列?)”,most_recent(‘research’))。在这个实例中,命令“most_recent(‘research’)”在被执行时可以导致对一个或多个文档的识别,这些文档最近已经被用户访问并且包括具有词项“research”的语义注释。当函数most_recent(‘research’)导致用户正在指涉的特定文档时,可以执行“new_column”和“comment”函数,以便根据用户的口头话语来编辑该特定文档。
上述函数的执行可以使得自动化助理的其它实例向每个研究者和/或具有查看电子表格的许可的每个用户通知对电子表格的改变。例如,另一用户可以从自动化助理接收指示用户编辑了电子表格并且并入评论的通知(例如,在一些实例中,用户可以经由桌面计算机GUI编辑而不必调用自动化助理)。自动化助理可以通过将电子表格的先前版本与电子表格的当前版本进行比较(例如,使用对文档应用的API调用),和/或通过处理来自用户的口头话语来生成通知。自动化助理可以经由在蜂窝电话的GUI的前台中渲染的推送通知可听地提供通知。推送通知可以包括诸如“The spreadsheet has been edited by Mary toinclude a new column and a new comment(玛丽已经编辑了电子表格以包括新列和新评论)”之类的内容。响应于接收到该通知,其他用户可以通过他们的蜂窝电话查看电子表格中的新列。可替换地或另外地,其他用户还可以通过提供另一口头话语经由他们的自动化助理来编辑电子表格——而不必在蜂窝电话的GUI的前台中打开特定文档应用。
作为一个示例,基于经由自动化助理所提供的推送通知,另一用户可以提供附加口头话语诸如“Assistant,what does the new comment say?(助理,新评论说了什么?)”。然而,因为其他用户可能没有明确地识别要访问的文档,所以自动化助理可以基于各种语义注释和/或其它场境数据来推断文档的标识。例如,自动化助理可以识别一个或多个最近被其他用户访问和/或修改的文档,并且确定任何最近访问的文档是否具有在口头话语中描述的特征。例如,一个或多个文档的每个文档可以包括表征相应文档的子部分的语义注释。基于这种分析,自动化助理可以将电子表格识别为服从该附加口头话语,因为电子表格包括最近添加的评论(即,“new comment(新评论)”)。此外,基于附加口头话语,自动化助理可以访问最近添加的评论的内容,并且为其他用户可听地渲染添加的评论的内容,而无需以图形方式渲染整个(或任何一个)电子表格(例如,“Mary’s new comment recites:‘Could someone add this month’s data to this column?’(Mary的新评论记载:“是否有人将本月的数据添加到该列?”)”)。
在一些实施方式中,其他用户可以使用自动化助理向电子表格补充来自单独文档的数据——而不直接与文档编辑应用的接口交互。例如,作为后端过程的一部分,并且在来自其他用户的先前许可的情况下,自动化助理可以分析与其他用户相关联地(例如,与用户的账户相关联,诸如自动化助理所利用的或与用户的自动化助理账户相链接的)存储的文档,以便自动化助理具有对这些文档的语义理解。这种语义理解可以以可以作为与每个文档相关联的元数据来存储的语义注释来体现。以这种方式,用户将能够经由他们的自动化助理使用针对文档的语义理解而不是文档的一部分的明确记载的助理命令来编辑和审阅文档。
作为示例,并且基于自动化助理可听地渲染所添加的评论,其他用户可以向他们的蜂窝电话提供口头话语,以便使自动化助理使用来自单独文档的数据来编辑电子表格。口头话语可以是“Assistant,please fill in that column using data from thismonth’s sensor data spreadsheet(助理,请使用本月的传感器数据电子表格中的数据填充该列)”。响应于口头话语,自动化助理和/或其它相关联的应用可以处理口头话语和/或一个或多个文档,以便识别要执行的一个或多个动作。例如,自动化助理可以使用一个或多个经训练的机器学习模型来确定与动词“fill(填充)”同义的动作。结果,自动化助理可以识别文档应用的“insert()”函数。在一些实施方式中,为了识别文档内的其他用户正指涉的数据,自动化助理可以识别最近创建的文档的列表,并且过滤掉不是“本月(thismonth)”创建的任何文档。结果,自动化助理可以留有减少的文档列表,自动化助理可以选择该文档列表来经受“insert()”函数。
在一些实施方式中,尽管其他用户提供了源文档的描述符(例如,“this month’s‘sensor data’spreadsheet(本月的“传感器数据”电子表格)”)而不是实际名称(例如,“August TL-9000(8月TL-9000)”),自动化助理仍然可以从减少的“this month’s(本月的)”文档列表中识别正确的源文档。例如,自动化助理可以采用一个或多个启发式过程和/或一个或多个经训练的机器学习模型,以便根据评论识别源文档和/或源文档内的“fill”到电子表格中的数据。在一些实施方式中,语义注释数据可以已经与源文档相关联地存储,并且可以指示被列出为源文档中的列的名称的设备标识符“TL-9000”与温度“sensor(传感器)”的类型同义。关于温度传感器的该信息可以在来自由自动化助理使用文档数据(例如,文档标题“August TL-9000”)执行的因特网搜索或其他知识库查找的搜索结果中被描述,从而提供列名称与自动化助理使用“sensor data(传感器数据)”的请求之间的对应关系。
当自动化助理已经识别了其他用户在口头话语中正指涉的特定源文档和数据列时,自动化助理可以使用该数据列来执行“insert()”函数。例如,自动化助理可以生成诸如“insert(column(“August_TL-9000”,11),column(“Research_Document”,17)”的命令,其中“11”是指包括“this month’s”数据的传感器数据电子表格的列,并且其中“17”是指由用户先前添加的“new(新)”列。
在一些实施方式中,可以在自动化助理的实例之间共享文档相关数据的实例,以便使自动化助理的每个实例根据用户指令更准确地编辑文档。例如,因为用户最初引起其自动化助理添加被识别为列“17”的新列,所以用于“new column(新列)”的标识符“17”可以与由其他用户调用的自动化助理的另一实例共享。可替换地或另外地,表征用户-助理交互的数据可以与文档和/或文档的一部分相关联地存储,以便使自动化助理的每个实例更准确地执行用户指令。例如,与电子表格相关联地存储的语义注释可以将列“17”表征为“thismonth’s data per Mary(依照玛丽的本月的数据)”。以此方式,接收与“Mary(玛丽)”或“this month’s data(本月的数据)”相关联的命令的自动化助理的任何其它实例可以指涉列“17”,因为命令与关联于列“17”的语义注释之间的相关性。这允许自动化助理在用户继续与自动化助理交互以编辑某些文档时更有效地执行对某些文档的自动化助理请求。
当自动化助理已经导致执行了“insert()”函数并且电子表格被修改以包括附加“sensor”数据时,自动化助理可以生成将被推送给每个研究者的通知。在一些实施方式中,基于修改而生成的推送通知可以表征由其他用户经由自动化助理做出的编辑。例如,可以为其他研究者渲染推送通知作为GUI元素,诸如具有由其他用户修改的电子表格的一部分的图形渲染的调出气泡。GUI元素可以由自动化助理使用API或与文档应用相关联的其它接口来生成,以便生成表征电子表格的其他用户做出修改的一部分的图形数据。
在一些实施方式中,当其他用户正向自动化助理说话时,自动化助理可以在口述和命令解释之间进行流畅地转换。例如,代替使自动化助理将数据从单独文档复制到电子表格,用户其他用户可以说出以下的组合:(i)要执行的指令和(ii)要合并到电子表格中的文本。例如,其他用户可以正在指涉打印的数据集并且提供口头话语,诸如“Assistant,inthe new column of the research document,add‘39degrees’to the first cell,‘42degrees’to the second cell,and‘40degrees’to the third cell(助理,在研究文档的新列中向第一单元格添加“39度”、向第二单元格添加“42度”并且向第三单元格添加“40度”)。响应于来自其他用户的这种口头话语,自动化助理可以识别最近被修改为包括新列的电子表格,并且选择新列中的一个或多个单元格。自动化助理可以确定来自其他用户的口头话语包括了一定量的口述,并且选择从口头话语转录的文本数据的部分以被并入到特定单元格中。可替换地或另外地,新列中每个单元格的格式可以被修改为对应于“degree(度)”值,以便新列将反映将被添加到新列中并且如在口头话语中所指定的数据的单位(例如,摄氏度)。自动化助理可以至少基于文本到语音的处理和对整个口语话语的自然语言理解,根据口语话语输入每个数值。在一些实施方式中,可以履行口头话语,而不需要其他用户访问提供对用于编辑电子表格的GUI的访问的文档应用,但是可以通过与自动化助理的口头交互来执行这些修改。
提供以上描述作为本公开的一些实施方式的概述。下面将更详细地描述这些实施方式和其它实施方式的进一步描述。
其它实施方式可以包括存储指令的非暂时性计算机可读存储介质,该指令可由一个或多个处理器(例如,中央处理单元(CPU)、图形处理单元(GPU)和/或张量处理单元(TPU))执行以执行方法(诸如上述和/或本文别处描述的一个或多个方法)。其它实施方式可以包括一个或多个计算机的系统,该一个或多个计算机包括一个或多个处理器,所述处理器可操作来执行所存储的指令,以执行方法,诸如上述和/或本文别处所述的一个或多个方法。
应当理解,本文更详细描述的上述概念和附加概念的所有组合被认为是在此公开的主题的一部分。例如,在本公开的末尾出现的所要求保护的主题的所有组合被认为是在此公开的主题的一部分。
附图说明
图1A、图1B和图1C图示了一个或多个用户与自动化助理交互以便创建和编辑文档而不必经由GUI接口直接编辑文档的视图。
图2A、图2B、图2C和图2D图示了用户使用自动化助理创建和编辑文档的视图。
图3图示了用于提供可以响应于用户输入来编辑、共享和/或创建各种类型的文档的自动化助理的系统。
图4图示了用于使得自动化助理与文档应用交互以便编辑文档而无需用户直接与文档应用的接口交互的方法。
图5是示例计算机系统的框图。
具体实施方式
图1A、图1B和图1C图示了一个或多个用户与自动化助理交互以便创建和编辑文档而不必经由GUI接口直接编辑文档的视图100、视图120和视图140。以这种方式,用户在创建和编辑文档时将不限于显示接口,而是可以依赖于可以从各种不同接口访问的自动化助理。例如,如图1A所示,当第一用户102碰巧具有关于他们想要生成的特定报告的想法时,第一用户102可以在外部慢跑。第一用户102可以通过提供诸如“Assistant,create a reportfrom my report template and share it with Howard(助理,从我的报告模板创建报告并且将其与霍德华共享)”的第一口头话语106来请求自动化助理创建报告。可以在可以是可佩戴计算设备的客户端计算设备104的接口处接收第一口头话语106。客户端计算设备104可以提供对自动化助理的实例的访问,该自动化助理可以与用于创建、共享和/或编辑文档的文档应用对接。
响应于接收到第一口头话语106,自动化助理可以初始化一个或多个函数的执行,以便使文档应用从“report template(报告模板)”创建新文档。在一些实施方式中,自动化助理可以使用自然语言理解来识别和/或生成用于执行的一个或多个函数。在一些实施方式中,当处理第一口头话语106和/或生成要由文档应用执行的一个或多个函数时,可以使用一个或多个经训练的机器学习模型。在来自用户102的先前许可的情况下,这种处理可以包括访问由文档应用最近已访问过的数据。例如,与文档应用相关联的历史数据可以指示用户102在向经由文档应用创建的某些文档提供编辑权限时先前已经识别了具有名称“Howard(霍德华)”的另一用户。以这种方式,自动化助理可以调用先前执行的函数,但是交换该函数的一个或多个槽值,以便满足体现在第一口头话语106中的任何请求。
作为执行由自动化助理所识别的一个或多个函数的结果,并且响应于第一口头话语106,文档应用可以创建新报告并且向另一名称为“Howard”的用户提供编辑许可。例如,可以在与用户102相关联地存储的联系人列表中识别用户“Howard”。此外,用户102可以提供诸如“In the intro section,add a paragraph and a comment(在引言部分,添加段落和评论)”的第二口头话语108,以及诸如“The comment should say:‘This is where youshould discuss the results(该评论应该说:“这是您应该讨论结果的地方)”的第三口头话语110。响应于接收到第二口头话语108和第三口头话语110,自动化助理可以生成要由文档应用执行的一个或多个附加函数。例如,在一些实施方式中,因为用户102仅使用自动化助理来执行文档相关任务,所以自动化助理可以选择适于理解文档相关查询的一种或多种自动语音辨识(ASR)技术。
在一些实施方式中,所选择的ASR技术可以采用特定训练机器学习模型,该模型使用文档相关数据来训练和/或基于与用户和文档应用之间的先前交互相关联的数据。在一些另外的或可替换的实施方式中,被选择的ASR技术可以向在文档相关查询中经常遇到的词项的辨识偏置特定训练机器学习模型(例如,一般模型)。可以利用各种偏置技术中的一种或多种来实现向某个或某些词项偏置语音辨识。作为一个示例,在一些ASR技术中使用的语言模型可以包括用于词项的权重,其中每个权重反映对应词项的对应偏置程度。作为另一示例,仅通过将词项包含在ASR中使用的语言模型中,就可以实现向词项的偏置。作为又一示例,可以在向某些词项偏置的同时对可选地在ASR中利用的解码图进行解码。作为另一示例,偏置可以用于生成除了由ASR模型生成的初始假设(或多个初始假设)之外的一个或多个附加假设,并且这些附加假设被认为是候选转录。例如,可以基于包括偏置词项来生成和/或选择附加假设。以这些和其它方式,由用户102在第一口头话语106的上下文中提供的任何口头话语可以由自动化助理更准确地解释。
响应于第二口头话语108,自动化助理可以生成使文档应用在刚响应于第一口头话语106而创建的新报告的部分中创建新段落的函数。在一些实施方式中,已新创建的报告文档可以与每个包括用于报告文档的特定部分的一个或多个对应语义解释的一个或多个语义注释相关联。这可以部分地是因为报告文档从模板创建,该模板可以包括现有语义注释。然而,在一些实施方式中,当请求自动化助理执行与特定文档相关联的操作时,自动化助理可以生成和/或访问与特定文档相关联的语义注释。这种语义注释可以允许自动化助理将来自用户的某些输入与用户可以访问的一个或多个文档的某些部分相关联。例如,由用户102所创建的报告文档可以包括语义注释,该语义注释将报告文档的第二页面中的段落表征为“introduction(引言)”(例如,<Paragraph-3>}==[“introduction,”“beginning,”“opening”])。因此,因为如在第二口头话语108中提到的“intro”与如语义注释所描述的“introduction”同义,所以自动化助理可以生成使文档应用在报告文档的第二页中创建新段落的函数。
此外,如用户102经由第二口头话语108所请求的,自动化助理可以生成使得评论与在第二页面上创建的新段落相关的另一函数。自动化助理还可以根据第三口头话语110生成另一函数,以在评论中包括文本“This is where you should discuss theresults”。当可以创建和执行每个生成的函数时,自动化助理可以可选地提供表征来自用户102的请求的进展的输出112。例如,输出112可以经由客户端计算设备104可听地渲染,并且包括自然语言内容,诸如“Ok,I’ve created the report and added the paragraphand the comment.I’ve also shared the report with Howard(好的,我已经创建了报告并且添加了段落和评论。我还已与Howard共享报告)”。
图1B图示了第二用户126响应于已经提供了指示第一用户102已经与其共享文档的通知128的自动化助理的视图120。在一些实施方式中,第二用户126可以具有提供对自动化助理的另一实例的访问的客户端计算设备124。与第二用户126相关联的自动化助理可以由同一实体或不同实体提供,该同一实体或不同实体提供对图1A中的第一用户102所访问的自动化助理的访问。在一些实施方式中,自动化助理的单独实例可以经由API和/或其它用于在应用之间进行通信的接口来通信。
由自动化助理经由客户端计算设备124所提供的通知128可以包括自然语言内容,诸如“Katherine has shared a document with you(凯瑟琳已经与您共享文档)”。通知128的自然语言内容可以可选地被可听地渲染给第二用户126和/或图形通知138可以在客户端计算设备124的GUI 136处被渲染。例如,在一些实施方式中,当第一用户102调用自动化助理来执行与第二用户126可以访问的文档相关联的动作时,自动化助理可以使得图形通知138在GUI 136处渲染。图形通知138可以包括渲染由第一用户102所创建的报告的一部分134,并且被渲染的特定部分134可以包括指向第二用户126的注释132。在一些实施方式中,为了生成图形通知138,与第一用户102和/或第二用户126相关联的自动化助理可以经由API调用或其它请求来请求文档应用提供与第二用户126相关的某些数据。例如,自动化助理可以请求文档应用以类似于文档应用将生成的GUI的形式提供文档的整体的子部分。
文档应用可以可选地提供对应于评论132的文档的特定部分134的图形渲染,从而允许第二用户126可视化评论132的上下文。在一些实施方式中,与第二用户126相关联的自动化助理可以请求文档应用根据经由客户端计算设备124可用的接口的类型来提供文档的特定部分134的渲染。在一些实施方式中,当文档应用提供图像文件、文本数据、音频数据、视频数据和/或表征文档的特定部分134的数据的任何组合时,可以履行该请求。以此方式,当显示接口当前对第二用户126不可用时,第二用户126可以接收评论132和/或与评论132相关联的文档的任何子部分的可听渲染。
当第二用户126已经从第一用户102确认评论132时,第二用户126可以向它们相应的自动化助理提供相应请求。例如,第二用户126可以提供口头话语130,诸如“Assistant,please add the following statement to that new paragraph:‘The results confirmour earliest predictions.’(助理,请向该新段落添加以下语句:“结果确认我们最早的预测”)”。作为响应,自动化助理可以生成一个或多个函数,当执行这些函数时,使得文档应用修改报告的对应于新段落的部分,以包括来自第二用户126的语句。在一些实施方式中,可以基于第一用户102与自动化助理和/或第二用户126与自动化助理之间的一个或多个先前交互来更有效地生成一个或多个函数。例如,自动化助理可以访问表征其中报告文档是一个或多个交互的主题的已经发生的一个或多个交互的数据。这样的数据可以由自动化助理使用,以便识别要执行的一个或多个函数的槽值,以便履行来自用户的请求。例如,响应于口头话语130,自动化助理可以确定第二用户126可访问的任何文档最近是否已被编辑为包括新段落。当报告文档被识别为最近被编辑以包括新段落时,自动化助理可以调用文档应用以根据来自第二用户126的口头话语130来编辑新段落。
在一些实施方式中,基于由第二用户126做出的编辑,自动化助理可以生成表征整个报告文档的一个或多个子部分的一个或多个附加语义注释。例如,附加语义注释可以将图1B中做出的编辑表征为“new paragraph by Howard;results(Howard的新段落;结果)”。此后,当选择报告文档和/或报告文档的子部分是否是来自第一用户102或第二用户126的另一口头话语的主题时,可以使用该语义注释的内容。作为示例,在图1C中,第一用户102可以向经由作为独立扬声器设备的客户端计算设备146可访问的自动化助理提供口头话语142。口头话语142可以是,例如,“Assistant,were anymore edits made by Howard?(助理,霍华德有再编辑吗?)”。口头话语142可以由第一用户102在包括关于图1A和图1B描述的交互的时间段之后的时间点提供。
响应于接收到口头话语142,自动化助理可以确定第一用户102指涉联系人“Howard”,并且识别报告文档。自动化助理可以基于当第一用户102请求自动化助理创建报告文档时第一用户102已经在与自动化助理的交互中识别了“Howard”来识别报告。这可以使得自动化助理相对于自动化助理可以访问的其它文档来对报告文档进行排名和/或以其他方式优先考虑报告文档,以便履行在口头话语142中的一个或多个请求。当自动化助理已经识别了报告文档时,自动化助理可以确定第一用户102正在请求自动化助理识别由联系人“Howard”做出的任何最近改变。作为响应,自动化助理可以生成用于使文档应用基于所识别的编辑的作者来提供关于某些编辑的信息的一个或多个函数。例如,一个或多个函数可以包括recent_edits(“report document”,“Howard”,most_recent()),其在被执行时可以返回对所识别的文档(例如,“report document(报告文档)”)做出的一个或多个最近修改的概要。例如,概要可以包括对报告文档做出的编辑的语义理解和/或对所识别的文档做出的一种或多种类型的编辑的指示(例如,文本的添加)。
结果,并且响应于口头话语142,自动化助理可以提供输出148,诸如“Howardadded text to the new paragraph(霍德华添加了文本到新段落)”。在一些实施方式中,自动化助理可以在文档被编辑时生成文档的语义注释。以这种方式,可以更容易地履行与文档相关的后续自动化助理输入,同时减轻在文档识别期间可能发生的时延。例如,当第一用户102提供诸如“Read the conclusion(阅读结论)”的另一口头话语150时,自动化助理可以将表征报告文档的一部分的语义注释识别为具有结论性语言——尽管报告文档在报告文档的内容中尚未具有单词“conclusion(结论)”。此后,自动化助理可以经由客户端计算设备146提供可听输出152和/或在电视计算设备144处提供可视输出。例如,客户端计算设备146可以渲染可听输出“Sure…(当然...)”,跟着自动化助理可听地渲染与结论性语义注释相对应的报告文档的段落。
图2A、图2B、图2C和图2D图示了用户202使用自动化助理创建和编辑文档的视图200、视图220、视图250和视图260。用户202可以通过首先调用自动化助理来确定某些文档源是否对自动化助理可用来初始化诸如电子表格的文档的创建。例如,用户202可以提供诸如“Do I have any notes related to solar cells?(我有与太阳能电池相关的任何笔记吗?)”的第一口头话语206到车辆208中的计算设备的接口,其可以提供对自动化助理的访问。作为响应,自动化助理可以执行针对包括和/或关联于词项“solar cells(太阳能电池)”的文档的一个或多个搜索。当自动化助理识别与由用户202所识别的词项相关的多个不同文档时,自动化助理可以提供输出204,诸如“Sure(当然)”。
当用户202确认来自自动化助理的输出204时,用户202可以提供诸如“Could youconsolidate those notes into a spreadsheet and read it to me?(你能将那些笔记合并到电子表格中并且将其阅读给我吗?)”的第二口头话语214。响应于接收到第二口头话语214,自动化助理可以生成要由文档应用执行的一个或多个函数,以便使文档应用将所识别的文档合并成单个文档。当合并的单个文档由文档应用创建时,自动化助理可以访问合并的文档,以便履行自动化助理向用户202阅读合并的文档的后一用户请求。例如,自动化助理可以用诸如“Ok…(好的...)”的另一输出216作出响应,并且然后向用户202阅读合并的文档(例如,新电子表格)。
在一些实施方式中,为了使自动化助理执行关于合并的文档的进一步操作,自动化助理可以使语义注释与合并的文档相关联地存储。例如,如图2B所提供的,自动化助理可以生成对要与合并的文档(例如,电子表格232)相关联的语义注释的请求。该请求可以在车辆计算设备和/或远程计算设备222(诸如远程服务器设备)处执行。在一些实施方式中,可以采用一种或多种用于为文档的特定子部分生成语义注释的技术。例如,可以利用一个或多个经训练的机器学习模型和/或一个或多个启发式方法,以便为电子表格232生成语义注释。为了生成特定语义注释而处理的数据可以包括:电子表格232的内容、表征用户202和自动化助理之间的交互的交互数据、电子表格232所基于的文档和/或任何其它可以与电子表格232和/或自动化助理相关联的数据源。例如,可以基于电子表格232的内容和/或用于创建电子表格232的每个对应行的各种设计文档(Design_1 238、Design_2 240、Design_3242和Design 244)来生成相应语义注释(224、226、228和230)中的每一个。可替换地或另外地,可以为整个电子表格232生成语义注释234,以便提供当自动化助理试图履行后续自动化助理请求时可以指涉的语义理解。
例如,如图2C中所提供,用户202可以提供另一口头话语252,诸如“Assistant,anytime wattage is mentioned,add a comment(助理,在提及瓦特数的任何时间,添加评论)”。作为响应,自动化助理可以生成要由文档应用执行的一个或多个函数,以便履行来自用户202的请求。当文档应用执行一个或多个函数时,文档应用和/或自动化助理可以识别电子表格232中的词项“wattage(瓦特数)”的实例,并且将相应的评论与词项wattage的每个实例相关。在完成后,文档应用可以可选地调用对自动化助理的API调用,以便使自动化助理提供所请求的动作已经履行的指示254(例如,“Sure”)。可替换地或另外地,可以利用最近编辑的梗概来生成指示254,该梗概诸如:跨文档执行的编辑的数量、所作出的改变的梗概、文档的最新版本的图形指示和/或可以表征对文档的改变的任何其它信息。
在一些实施方式中,用户202可以提供口头话语256,以便使自动化助理向另一用户通知已经对电子表格232做出的改变。例如,口头话语256可以是“Also,could you tagWilliam in each comment and ask him to confirm the wattage amounts?(同样,您可以在每个评论中标记威廉并且要求他确认瓦特数数量吗?)”。作为响应,自动化助理可以生成一个或多个函数,当执行这些函数时,使得文档应用修改对应于词项“wattage”的评论,并且还向联系人(例如,“William(威廉)”)提供关于每个评论的消息。为了对预期文档执行上述操作,自动化助理可以识别用户202和/或自动化助理最近访问的一个或多个文档。这可以允许自动化助理识别电子表格232,该电子表格232可能最近被修改为包括评论和/或某些语义注释。
例如,每个相应的语义注释(224、226、228和230)可以与电子表格232中的特定行相关联地存储,并且每个相应的语义注释可以包括与测量单位“Watts(瓦特)”同义的一个或多个词项。例如,每个相应的语义注释可以识别诸如“wattage”、“watts”、“power(功率)”的词项和/或与“Watts”同义的任何其它词项。因此,响应于口头话语256,自动化助理可以将电子表格232识别为与“wattage amounts(瓦特数数量)”最相关联,并且使得电子表格232中的每个瓦特数相关评论包括对“William”确认任何“wattage amounts”的请求。作为响应,自动化助理可以提供输出258,诸如“Ok,I’ve tagged William in each commentand asked him to confirm(好的,我已经在每个评论中标记了威廉并且要求他确认)”。
在一些实施方式中,第二用户276(例如,William)可以与自动化助理的实例交互,以便进一步编辑电子表格232。例如,第二用户276可访问的自动化助理可以经由客户端计算设备272提供输出262。输出262可以包括自然语言内容,诸如“You have been tagged incomments within a spreadsheet(您已经在电子表格内的评论中被标记了)”。作为响应,第二用户276可以提供第一口头话语264,诸如“What did they say?(他们说什么?)”。自动化助理可以处理第一口头话语264,并且确定第二用户276正指涉电子表格232中的评论,并且然后访问评论的文本。然后,自动化助理可以使客户端计算设备272或另一计算设备270(例如电视)渲染表征评论的文本的输出。例如,自动化助理可以使客户端计算设备272渲染另一可听输出266,诸如“Confirm the wattage amounts in the spreadsheet(确认电子表格中的瓦特数数量)”,并且还提供电子表格232将在附近显示接口274处渲染的指示(例如,“I will display the spreadsheet for you(我将为您显示电子表格)”)。然后,自动化助理可以使显示接口274渲染整个电子表格232的子部分。第二用户276可以通过提供诸如“Reply to each comment by saying:These all appear correct(通过说出:这些都看起来正确来回应每个评论)”的第二口头话语268经由文档应用继续编辑电子表格232。作为响应,自动化助理可以生成一个或多个函数,当执行这些函数时,使得文档应用编辑指向第二用户276(例如,William)的每个电子表格评论。以这种方式,第二用户276能够审阅并且编辑文档,而不需要使用它们的肢体来手动控制专用文档编辑设备的某些外围设备。
图3图示了用于提供自动化助理304的系统300,该自动化助理304可以响应于用户输入来编辑、共享和/或创建各种类型的文档。自动化助理304可以作为在诸如计算设备302和/或服务器设备的一个或多个计算设备处提供的助理应用的一部分来操作。用户可以经由助理接口320与自动化助理304交互,该助理接口320可以是麦克风、相机、触摸屏显示器、用户接口和/或能够提供在用户和应用之间的接口的任何其它装置。例如,用户可以通过向助理接口320提供口语、文本、手势和/或图形输入来初始化自动化助理304,以使自动化助理304初始化一个或多个动作(例如,提供数据、控制外围设备、访问智能体、生成输入和/或输出等)。或者,可以基于使用一个或多个经训练的机器学习模型对场境数据336进行处理来初始化自动化助理304。场境数据336可以表征其中自动化助理304可访问的环境的一个或多个特征,和/或被预测为旨在与自动化助理304交互的用户的一个或多个特征。计算设备302可以包括显示设备,该显示设备可以是显示面板,该显示面板包括用于接收触摸输入和/或手势的触摸接口以用于允许用户经由触摸接口控制计算设备302的应用334。在一些实施方式中,计算设备302可以缺少显示设备,从而提供可听用户接口输出,而不提供图形用户接口输出。此外,计算设备302可以提供诸如麦克风的用户接口,用于接收来自用户的口头自然语言输入。在一些实施方式中,计算设备302可以包括触摸接口并且可以没有相机,但是可选地可以包括一个或多个其他传感器。
计算设备302和/或其他第三方客户端设备可以通过诸如因特网的网络与服务器设备通信。此外,计算设备302和任何其它计算设备可以通过诸如Wi-Fi网络的局域网(LAN)彼此通信。计算设备302可以将计算任务卸载到服务器设备,以便节省计算设备302处的计算资源。例如,服务器设备可以托管自动化助理304,和/或计算设备302可以向服务器设备传送在一个或多个助理接口320处接收到的输入。然而,在一些实施方式中,自动化助理304可以被托管在计算设备302处,并且可以在计算设备302处执行可与自动化助理操作相关联的各种过程。
在各种实施方式中,自动化助理304的所有或少于所有方面可以被实现在计算设备302上。在这些实施方式中的一些中,自动化助理304的各方面经由计算设备302来实现,并且可以与服务器设备接合,该服务器设备可以实现自动化助理304的其它方面。服务器设备可以可选地经由多个线程服务多个用户及其相关联的助理应用。在经由计算设备302实现自动化助理304的所有或少于所有方面的实施方式中,自动化助理304可以是与计算设备302的操作系统分离的应用(例如,安装在操作系统的“顶部”)——或者可以可替代地由计算设备302的操作系统直接实现(例如,被认为是操作系统的应用但与操作系统集成)。
在一些实施方式中,自动化助理304可以包括输入处理引擎306,其可以采用多个不同模块来处理计算设备302和/或服务器设备的输入和/或输出。例如,输入处理引擎306可以包括语音处理引擎308,该语音处理引擎308可以处理在助理接口320处接收的音频数据,以识别在音频数据中体现的文本。音频数据可以从例如计算设备302传送到服务器设备,以便在计算设备302处保留计算资源。附加地或可替代地,音频数据可以排他地在计算设备302处处理。
用于将音频数据转换为文本的过程可以包括语音辨识算法,其可以采用神经网络和/或用于识别对应于单词或短语的音频数据组的统计模型。从音频数据转换的文本可以由数据解析引擎310解析,并且作为文本数据可用于自动化助理304,该文本数据可以用于生成和/或识别命令短语、意图、动作,槽值和/或由用户指定的任何其他内容。在一些实施方式中,由数据解析引擎310提供的输出数据可以被提供给参数引擎312,以确定用户是否提供了对应于特定意图,动作和/或能够由自动化助理304和/或能够经由自动化助理304访问的应用或智能体执行的例程的输入。例如,助理数据338可以存储在服务器设备和/或计算设备302处,并且可以包括定义能够由自动化助理304执行的一个或多个动作的数据,以及执行这些动作所必需的参数。参数引擎312可以生成用于意图、动作和/或槽值的一个或多个参数,并且将一个或多个参数提供给输出生成引擎314。输出生成引擎314可以使用一个或多个参数来与用于向用户提供输出的助理接口320通信,和/或与用于向一个或多个应用334提供输出的一个或多个应用334通信。
在一些实施方式中,自动化助理304可以是可以安装在计算设备302的操作系统“顶部上”和/或可以本身形成计算设备302的操作系统的一部分(或全部)的应用。自动化助理应用包括设备上语音辨识、设备上自然语言理解和设备上实现和/或能访问设备上语音辨识、设备上自然语言理解和设备上履行。例如,可以使用设备上语音辨识模块来执行设备上语音辨识,该设备上语音辨识模块使用本地存储在计算设备302处的端到端语音辨识机器学习模型来处理(由麦克风检测到的)音频数据。设备上语音辨识针对存在于音频数据中的口头话语(如果有的话)生成辨识的文本。此外,例如,可以使用设备上自然语言理解(NLU)模块来执行设备上NLU,该NLU模块处理使用设备上语音辨识生成的辨识文本,以及可选地处理场境数据,以生成NLU数据。
NLU数据可以包括对应于口头话语的意图以及可选地用于该意图的参数(例如,槽值)。可以使用利用(来自设备上NLU的)NLU数据和可选其它本地数据的设备上履行模块来执行设备上履行,以确定要采取的动作来消解口头话语的意图(以及可选用于该意图的参数)。这可以包括确定对口头话语的本地和/或远程响应(例如,答案)、与基于口头话语执行的本地安装的应用的交互、基于口头话语(直接或经由对应远程系统)向物联网(IoT)设备传送的命令、和/或基于口头话语执行的其他消解动作。然后,设备上履行可以发起所确定的动作的本地和/或远程执行/实现,以消解口头话语。
在各种实施方式中,可以至少选择性地利用远程语音处理、远程NLU和/或远程履行。例如,可以至少选择性地将所辨识的文本传送到用于远程NLU和/或远程履行的远程自动化助理部件。例如,所辨识的文本可以可选地与设备上执行并行地被传送用于远程执行,或者响应于设备上NLU和/或设备上履行的故障而被传送。然而,设备上语音处理、设备上NLU、设备上履行和/或设备上执行可以至少由于在消解口头话语时它们提供的时延减少(由于不需要客户端-服务器往返来消解口头话语)被优先考虑。此外,设备上功能可以是在没有网络连接性或限制网络连接性的情况下可用的唯一功能。
在一些实施方式中,计算设备302可以包括一个或多个应用334,其可以由与提供计算设备302和/或自动化助理304的实体不同的第三方实体来提供。自动化助理304的应用状态引擎和/或计算设备302可以访问应用数据330以确定能够由一个或多个应用334执行的一个或多个动作、以及一个或多个应用334中的每个应用的状态和/或与计算设备302相关联的相应设备的状态。自动化助理304的设备状态引擎和/或计算设备302可以访问设备数据332以确定能够由计算设备302和/或与计算设备302相关联的一个或多个设备执行的一个或多个动作。此外,应用数据330和/或任何其它数据(例如,设备数据332)可以由自动化助理304访问以生成场境数据336,该场境数据336可以表征特定应用334和/或设备正在其中执行的场境和/或其中特定用户正在其中访问计算设备302、访问应用334和/或任何其它设备或模块的场境。
当一个或多个应用334在计算设备302处执行时,设备数据332可以表征在计算设备302处执行的每个应用334的当前操作状态。此外,应用数据330可以表征执行应用334的一个或多个特征,诸如按照一个或多个应用334的命令渲染的一个或多个图形用户接口的内容。可替代地或附加地,应用数据330可以表征动作方案,其可以由相应应用和/或由自动化助理304基于相应应用的当前操作状态来更新。可替代地或附加地,用于一个或多个应用334的一个或多个动作方案可以保持静态,但是可以由应用状态引擎访问,以便确定通过自动化助理304进行初始化的适当动作。
计算设备302还可以包括助理调用引擎322,其可以使用一个或多个经过训练的机器学习模型来处理应用数据330、设备数据332、场境数据336和/或计算设备302可访问的任何其它数据。助理调用引擎322可以处理该数据,以便确定是否等待用户明确地说出调用短语来调用自动化助理304,或者认为该数据指示用户调用自动化助理的意图——而不是要求用户明确地说出调用短语。例如,可以使用训练数据的实例来训练一个或多个经训练的机器学习模型,该训练数据的实例基于场景,在所述场景中用户处于其中多个设备和/或应用正展现各种操作状态的环境中。可以生成训练数据的实例,以便捕获表征用户调用自动化助理的场境和用户不调用自动化助理的其他场境的训练数据。当根据训练数据的这些实例训练一个或多个经训练的机器学习模型时,助理调用引擎322可以使得自动化助理304基于场境和/或环境的特征来检测或限制检测来自用户的口头调用短语。附加地或可替代地,助理调用引擎322可以使得自动化助理器304基于场境和/或环境的特征来检测或限制检测来自用户的一个或多个助理命令。在一些实施方式中,可以基于计算设备302检测到抑制来自另一计算设备的输出的助理来禁用或限制助理调用引擎322。以这种方式,当计算设备302正检测到抑制输出的助理时,将不基于场境数据336调用自动化助理304——否则,如果没有检测到抑制输出的助理,则将使得自动化助理304被调用。
在一些实施方式中,系统300可以包括文档识别引擎316,该文档识别引擎316可以识别用户可以正请求自动化助理304访问、修改、编辑和/或共享的一个或多个文档。文档识别引擎316可以在处理诸如口头话语的用户输入的自然语言内容时使用。基于这样的处理,文档识别引擎316可以确定自动化助理304可访问的一个或多个文档的分数和/或概率。然后,具有最高分数和/或最高概率的特定文档可以被识别为用户正指涉的文档。在一些实例中,当两个或更多个文档具有相似分数和/或概率时,可以提示用户阐明它们所指涉的文档,并且该提示可以可选地具有两个或更多个文档的特征(例如,来自具有特定分数的文档的标题、内容、合作者、最近编辑等)。在一些实施方式中,影响特定文档是否由文档识别引擎316所识别的因素可以包括:用户输入的上下文、先前用户输入、用户输入是否识别另一用户、用户的时间表、用户输入的内容是否类似于一个或多个语义注释的内容、和/或任何其它可以与文档相关联的因素。
在一些实施方式中,系统300可以包括语义注释引擎318,其可以用于生成和/或识别用于一个或多个文档的语义注释。例如,当自动化助理304接收到某人正在与自动化助理304的经认证的用户共享文档的指示时,可以采用语义注释引擎318来生成用于文档的语义注释。语义注释可以包括自然语言内容和/或其它提供对整个文档的一个或多个子部分的解释的数据。以这种方式,当确定特定文档是来自用户的请求的主题时,自动化助理304可以依赖于用于各种不同文档的语义注释。
在一些实施方式中,可以基于一个或多个用户如何指涉特定文档来生成用于特定文档的语义注释。例如,特定文档可以包括语义注释以及文档主体中的其它内容。尽管文档的内容和语义注释可以包括各种描述性语言,但是文档的内容可以不包括用户在指涉文档时倾向于使用的任何词项。例如,用户可以将特定电子表格称为“home maintenance(家庭维护)”电子表格,即使该特定电子表格不包括词项“home(家庭)”或“maintenance(维护)”。然而,基于自动化助理304接收指涉“home maintenance”电子表格的用户输入以及自动化助理304使用文档识别引擎316识别“home maintenance”电子表格,语义注释引擎318可以生成语义注释。语义注释可以并入词项“home maintenance”,并且可以与“homemaintenance”电子表格相关联地存储。以这种方式,当识别用户可能指涉的文档时,自动化助理304可以保持处理带宽。另外地,这可以允许经由自动化助理304更有效地执行文档编辑,因为自动化助理304可以适应用户可以关于某些文档所具有的动态视角。
在一些实施方式中,系统300可以包括文档动作引擎326,该文档动作引擎326可以识别将针对特定文档执行的一个或多个动作。文档动作引擎326可以基于用户输入、过去交互数据、应用数据330、设备数据332、场境数据336和/或任何其它可以与文档相关联地存储的数据来识别要执行的一个或多个动作。在一些实施方式中,可以使用与一个或多个文档相关联的一个或多个语义注释来识别用户正在请求自动化助理304执行的特定动作。可替换地,或另外地,文档动作引擎326可以基于特定文档的内容和/或一个或多个其它文档的内容来识别对特定文档执行的一个或多个动作。
例如,用户可以提供输入,诸如“Assistant,add a new‘Date’row to my financespreadsheet(助理,将新的“日期”行添加到我的金融电子表格)”。作为响应,文档动作引擎326可以确定用户与包括在列下列出的各种日期的“finance(金融)”电子表格相关联,并且然后可以确定要执行的适当动作包括执行new_row()函数和insert_date()。这样,可以将新行添加到“finance”电子表格中,并且可以将当前日期条目添加到新行中。在一些实施方式中,对要执行的函数的选择可以基于使用一个或多个经训练的机器学习模型和/或一个或多个启发式过程来处理用户输入和/或其它场境数据。例如,可以使用训练数据来训练特定经训练的机器学习模型,该训练数据基于另一用户请求他们相应的自动化助理执行特定操作但是然后其它用户手动地执行该特定操作的实例。因此,该训练数据可以从用于教导自动化助理准确地响应来自指导他们的自动化助理执行与特定文档相关联的操作的各种用户的请求的众包技术中得出。
在一些实施方式中,系统300可以包括文档预览引擎324,其可以处理与一个或多个文档相关联的数据,以便允许自动化助理304提供特定文档的适当预览。例如,第一用户使自动化助理编辑特定文档,然后与第二用户共享该特定文档。作为响应,与第二用户相关联的自动化助理的实例可以利用文档预览引擎324来渲染特定文档的预览——而不必使文档应用占据计算设备的整个显示接口。例如,自动化助理可以利用API以便从文档应用检索图形预览数据,然后基于图形预览数据渲染第二用户的图形通知。可替换地或另外地,自动化助理可以包括用于渲染已经由用户编辑的文档的一部分而不必渲染整个文档的功能。例如,用户可以提供口头话语,诸如“Assistant,what is the latest slide added to myarchitecture presentation?(助理,添加到我的建筑演示的最新幻灯片是什么?)”。作为响应,自动化助理304可以调用文档识别引擎316来识别“architecture(建筑)”演示文档,并且还调用文档预览引擎324来捕获最近添加到文档的幻灯片的预览(例如,图像和/或文本)。然后,自动化助理304可以使计算设备302的显示接口渲染最近添加的幻灯片的图形,而不使整个演示应用被加载到计算设备302的存储器中。此后,用户可以查看幻灯片预览,并且向自动化助理304提供用于编辑幻灯片和/或向幻灯片添加评论的另一命令(例如,“Assistant,add a comment to this slide and tag William in the comment(助理,向该幻灯片添加评论并且在评论中标记威廉”))。
图4图示了用于使自动化助理与文档应用交互以便编辑文档而无需用户直接与专用于文档应用的接口交互的方法400。方法400可以由一个或多个计算设备、应用和/或任何其它可以与自动化助理相关联的装置或模块来执行。方法400可以包括确定自动化助理输入是否已被自动化助理接收的操作402。自动化助理输入可以是口头话语、输入手势、文本输入和/或任何其它可以用于控制自动化助理的输入。当接收到自动化助理输入时,方法400可以从操作402前进到操作404。否则,自动化助理可以前进到用于响应于自动化助理输入而使得执行一个或多个其它函数的操作416。
操作404可以包括确定自动化助理输入是否涉及特定文档,诸如可以经由文档应用所访问的文档。在一些实施方式中,文档应用可以是安装在客户端计算设备处和/或经由浏览器或其它web应用可访问的应用。可替换地或另外地,文档应用可以由与提供自动化助理的实体相同或不同的实体来提供。当自动化助理确定自动化助理输入涉及文档时,方法400可以前进到操作406。否则,自动化助理可以执行一个或多个操作,以促成履行体现在自动化助理输入中的任何请求并且返回到操作402。
操作406可以包括识别用户正在请求修改的特定文档。在一些实施方式中,可以使用表征用户和自动化助理之间的一个或多个先前交互的交互数据来识别特定文档。可替换地或另外地,自动化助理可以访问与一个或多个文档相关应用相关联的应用数据,以便识别可以与自动化助理输入相关的一个或多个文档。例如,自动化助理可以生成一个或多个函数,当由相应的文档应用执行时,这些函数可以使文档应用返回最近访问的文档的列表。自动化助理可以可选地并且在来自用户的先前许可的情况下,访问所列出的文档中的一个或多个文档,以便确定一个或多个所列出的文档中的特定文档是否是用户正在涉及的文档。自动化助理和/或另一应用可以生成和/或识别与所列出的文档中的每一个相关联的语义注释,并且可以使用语义注释来确定自动化助理输入是否与特定列出文档的内容相关。例如,当包括在特定文档的特定语义注释中的词项与包括在自动化助理输入中的词项相同或同义时,当选择将服从自动化助理输入的文档时,该特定文档可以相比于其它不太相关的文档优先考虑。
在一些实施方式中,方法400可以从操作406前进到操作408,该操作408可以包括确定是否已经与特定文档相关联地存储任何语义注释。当语义注释没有与特定文档相关联地存储时,方法400可以前进到操作410。然而,当与特定文档相关联地存储语义注释时,方法400可以前进到操作412。操作412可以包括基于自动化助理输入和/或语义注释来识别要执行的一个或多个函数。例如,当自动化助理输入指涉特定文档的子部分时,对应于该子部分的语义注释可以包括与自动化助理输入同义的词项。例如,当自动化助理输入包括向特定文档的“statistical data(统计数据)”部分添加评论的请求,但是特定文档不具有明确标记为“statistical data”的子部分时,自动化助理可以识别一个或多个语义注释中的统计词项。诸如“average(平均)”和“distribution(分布)”的词项可以被包括在特定子部分的特定语义注释中,从而向自动化助理提供特定子部分和自动化助理输入之间的相关性。结果,自动化助理可以生成指向特定文档的特定子部分的函数。该函数可以包括槽值或其它参数,其经由字数、行指涉、段号、页号和/或任何其它可以用于识别文档的子部分的标识符来识别特定主题中的文本的一部分。方法400可以从操作412前进到操作416,该操作416可以包括响应于自动化助理输入而使得执行一个或多个函数。
在当前没有与特定文档相关联地存储语义注释时,方法400可以从操作408前进到操作410。操作410可以包括基于自动化助理输入和/或特定文档的内容来识别要执行的一个或多个函数(即,动作)。方法400可以包括基于自动化助理输入和/或特定文档的内容来生成一个或多个语义注释的可选操作414。例如,当用户使用一个或多个词项来指涉特定文档的特定子部分时,自动化助理可以生成包括一个或多个词项的语义注释。然后,所生成的语义注释可以与特定文档相关联地,并且——特别地,与特定文档的特定子部分相关联地——被存储为元数据。方法400可以从操作410和/或操作414前进到操作416,在操作416中,响应于来自用户的自动化助理输入来执行一个或多个函数。
图5是示例计算机系统510的框图500。该计算机系统510通常包括至少一个处理器514,其经由总线子系统512与多个外围设备通信。这些外围设备可以包括存储子系统524,包括例如,存储器525和文件存储子系统526;接口输出设备520;用户接口输入设备522以及网络接口子系统516。输入和输出设备允许用户与计算机系统510交互。网络接口子系统516提供到外部网络的接口,并耦合到其他计算机系统中的相应接口设备。
用户接口输入设备522可以包括键盘;诸如鼠标、轨迹球、触摸板或图形输入板的定点设备;扫描仪;并入到显示器的触摸屏;诸如话音辨识系统的音频输入设备;麦克风;以及/或其他类型的输入设备。通常,术语“输入设备”的使用旨在包括所有可能类型的设备以及将信息输入到计算机系统510或通信网络中的方式。
用户接口输出设备520可以包括显示子系统、打印机、传真机或诸如音频输出设备的非可视显示器。显示子系统可以包括阴极射线管(CRT)、诸如液晶显示器(LCD)的平板设备、投影设备或一些其他用于创建可视图像的机制。显示子系统还可以诸如经由音频输出设备来提供非视觉显示。通常,术语“输出设备”的使用旨在包括所有可能类型的设备以及从计算机系统510向用户或另一机器或计算机系统输出信息的方式。
存储子系统524存储提供本文所述的一些或全部模块的功能的编程和数据构造。例如,存储子系统524可以包括执行方法400的选定方面和/或实现本文讨论的系统300、客户端计算设备104、客户端计算设备124、客户端计算设备146、车辆208、计算设备222、客户端计算设备264和/或任何其它应用、设备、装置和/或模块中的一个或多个的逻辑。
这些软件模块通常由处理器514单独或与其他处理器结合执行。存储子系统524中使用的存储器525可以包括多个存储器,包括用于在程序执行期间存储指令和数据的主随机存取存储器(RAM)530以及存储固定指令的只读存储器(ROM)532。文件存储子系统526可以提供用于程序和数据文件的持久存储,并且可以包括硬盘驱动器、软盘驱动器以及相关联的可移动介质、CD-ROM驱动器、光盘驱动器或可移动介质盒。实现特定实施方式的功能的模块可以由文件存储子系统526存储在存储子系统524中,或者存储在处理器514可访问的其他机器中。
总线子系统512提供一种机制,其用于使计算机系统510的各种组件和子系统按照预期相互通信。尽管总线子系统512被示意性地示出为单个总线,但是总线子系统的替代实施方式可以使用多个总线。
计算机系统510能够是各种类型,包括工作站、服务器、计算集群、刀片服务器、服务器群、或任何其他数据处理系统或计算设备。由于计算机和网络的不断变化的性质,图5中描绘的计算机系统510的描述仅旨在作为用于说明一些实施方式的目的的特定示例。计算机系统510的许多其他配置可能具有比图5中描绘的计算机系统更多或更少的组件。
在此处描述的系统收集关于用户(或者在此经常被称为“参与者”)的个人信息或可以使用个人信息的情况下,可以向用户提供机会来控制是否程序或者特征收集用户信息(例如,关于用户的社交网络、社会行为或者活动、职业、用户的偏好、或者用户的当前地理位置的信息),或者控制是否和/或如何从可能与用户更加相关的内容服务器接收内容。另外,特定数据在存储或使用之前可以用一种或多种方式处理,使得个人可识别信息被移除。例如,可以对待用户的身份,使得无法为该用户确定任何个人可识别信息,或者可以概括获得地理位置信息的用户的地理位置(诸如城市、邮政编码或州级别),使得无法确定用户的特定地理位置。因此,用户可以控制如何收集有关用户的信息和/或已使用的信息。
虽然本文已经描述和说明若干实施方式,但是可以利用用于执行功能和/或获得结果和/或本文描述的一个或多个优点的各种其他手段和/或结构,并且这些变化和/或修改中的每一个被认为是在本文描述的实施方式的范围内。更一般地,本文描述的所有参数、尺寸、材料和配置旨在是示例性的,并且实际参数、尺寸、材料和/或配置将取决于使用教导的特定应用或应用。本领域的技术人员将认识到或者能够使用不超过常规的实验确定本文所述具体实施方式的许多等同物。因此,要理解,前述实施方式仅作为示例渲染,并且在所附权利要求及其等同物的范围内,可以以不同于具体描述和要求保护的方式实施实施方式。本公开的实施方式涉及本文描述的每个单独的特征、系统、物品、材料、套件和/或方法。此外,如果这些特征、系统、物品、材料、套件和/或方法不相互矛盾,则两个或更多个这样的特征、系统、物品、材料、套件和/或方法的任何组合被包括在本公开的范围内。
在一些实施方式中,由一个或多个处理器实现的方法被阐述为包括诸如以下的操作:在计算设备的自动化助理接口处从用户接收指向自动化助理的用户输入,其中,所述用户输入包括对于所述自动化助理访问或修改文档的请求。所述方法可以进一步包括以下操作:响应于接收到所述用户输入,识别所述用户正在请求访问或修改的特定文档,其中,所述特定文档被存储在所述计算设备或另一计算设备处,其中,对所述特定文档的对应名称的明确口述从所述用户输入中省略,以及其中,识别所述特定文档包括处理包括所述用户输入的自然语言内容和经由所述计算设备能访问的多个不同文档中的每个文档的内容的数据。所述方法可以进一步包括以下操作:确定要对所述特定文档执行的一个或多个动作,其中,确定所述一个或多个动作是基于所述用户输入和与所述特定文档相关联地存储的所述特定文档的一个或多个语义注释,以及其中,所述一个或多个语义注释中的每个语义注释包括所述特定文档的整体中的相应子部分的语义解释。所述方法可以进一步包括以下操作:使得所述一个或多个动作被执行以根据所述用户输入来访问或修改所述特定文档。
在一些实施方式中,特定文档最初不是由用户创建,并且特定文档使用不同于自动化助理的文档应用来创建。在一些实施方式中,所述数据还包括附加语义注释,并且所述附加语义注释中的每个附加语义注释包括所述多个不同文档的相应附加文档的另一相应子部分的另一语义解释。在一些实施方式中,计算设备的自动化助理接口包括麦克风,并且所述用户输入在用于编辑所述特定文档的文档编辑程序在所述计算设备的图形用户接口的前台中不存在时被接收。在一些实施方式中,一个或多个语义注释包括特定语义注释,特定语义注释包括由附加用户所创建的文档评论的语义解释,并且所述一个或多个动作包括使得通知经由与所述附加用户相关联的单独计算设备的另一接口被提供给所述附加用户。
在一些实施方式中,该方法还可以包括以下操作:在计算设备的自动化助理接口处接收用户输入之前:接收另一用户输入,所述另一用户输入包括用于渲染由另一用户添加到所述特定文档的补充内容的描述的对于所述自动化助理的另一请求。在一些实施方式中,经由用户输入所提供的请求指导自动化助理访问或修改由另一用户添加到特定文档的补充内容。在一些实施方式中,使得所述一个或多个动作被执行包括:执行语音到文本处理以将用户输入的部分转换为文本数据,以及使得文本数据被并入到与一个或多个语义注释的特定语义注释相对应的特定文档的部分中。在一些实施方式中,该方法还可以包括使用经训练的机器学习模型来生成一个或多个语义注释,经训练的机器学习模型是使用基于用户与各种不同文档的其它部分之间的先前用户交互的训练数据来训练。
在其它实施方式中,由一个或多个处理器实现的方法被阐述为包括诸如以下的操作:在计算设备的自动化助理接口处接收对应于来自用户的口头话语的请求;其中,所述计算设备提供对自动化助理的访问。所述方法还可以包括以下操作:基于所述请求来从特定文档的部分中识别自然语言内容,其中,在所述用户提供所述口头话语时,所述特定文档的所述部分在所述计算设备的图形用户接口的前台中不存在。所述方法还可以包括以下操作:基于来自所述特定文档的部分的所述自然语言内容来确定所述用户正在请求所述自动化助理执行的一个或多个特定动作。所述方法还可以包括以下操作:基于所述请求来使得所述一个或多个动作中的动作的执行被初始化。
在一些实施方式中,使得执行动作包括:使得所述自动化助理可听地渲染来自所述特定文档的所述部分的自然语言内容。在一些实施方式中,该方法还可以包括以下操作:在初始化所述一个或多个动作中的动作的执行之后:在所述计算设备的所述自动化助理接口处接收与来自所述用户的附加口头话语相对应的附加请求,以及基于所述附加口头话语和来自特定文档的所述部分的所述自然语言内容来确定所述用户正在请求所述自动化助理编辑特定文档的所述部分。在一些实施方式中,该方法还可以包括以下操作:在初始化所述一个或多个动作中的动作的执行之后:在所述计算设备的所述自动化助理接口处接收与来自所述用户的附加口头话语相对应的附加请求,以及基于所述附加口头话语和来自特定文档的所述部分的所述自然语言内容来确定所述用户正在请求所述自动化助理与另一用户通信。在一些实施方式中,所述另一用户在所述用户提供所述附加请求之前将所述自然语言内容添加到所述特定文档。
在又一个实施方式中,由一个或多个处理器实现的方法被阐述为:在应用处接收来自自动化助理的请求,其中,所述请求由所述自动化助理响应于第一用户经由第一计算设备向所述自动化助理提供用户输入而提供,以及其中,所述自动化助理是响应于由所述第一用户向所述第一计算设备的接口提供的自然语言输入。所述方法还可以包括以下操作:响应于接收到来自所述自动化助理的请求而由所述应用修改文档,其中,所述文档能由所述第一用户经由所述第一计算设备编辑并且能由第二用户经由不同于所述第一计算设备的第二计算设备编辑。所述方法还可以包括以下操作:基于修改所述文档来生成指示所述文档已经被所述第一用户修改的通知数据。所述方法还可以包括以下操作:使用所述通知数据使得附加自动化助理经由所述第二计算设备为所述第二用户渲染通知,其中,所述附加自动化助理是响应于由所述第二用户向所述第二计算设备的单独接口提供的其它自然语言输入。
在一些实施方式中,所述请求包括文档的子部分的描述,并且修改文档包括:将描述与和文档相关联地存储的多个不同语义注释进行比较。在一些实施方式中,将描述与和文档相关联地存储的多个不同语义注释进行比较包括:向多个不同语义注释中的每一个语义注释指派相似性分数,其中相应语义注释的特定相似性分数指示相应语义注释与描述之间的相似性程度。在一些实施方式中,使得所述附加自动化助理为所述第二用户渲染所述通知包括:使得所述文档的子部分的图形渲染在所述第二计算设备的所述单独接口处被渲染。在一些实施方式中,应用由不同于提供自动化助理和附加自动化助理的一个或多个其它实体的实体提供。在一些实施方式中,自动化助理和附加自动化助理经由应用编程接口与应用通信。
Claims (22)
1.一种由一个或多个处理器实现的方法,所述方法包括:
在计算设备的自动化助理接口处从用户接收指向自动化助理的用户输入,
其中,所述用户输入包括对于所述自动化助理访问或修改文档的请求;
响应于接收到所述用户输入,识别所述用户正在请求访问或修改的特定文档,
其中,所述特定文档被存储在所述计算设备或另一计算设备处,
其中,所述特定文档的对应名称的明确口述是从所述用户输入中省略的,以及
其中,识别所述特定文档包括:处理数据,所述数据包括所述用户输入的自然语言内容和经由所述计算设备能访问的多个不同文档中的每个文档的内容;
确定要对所述特定文档执行的一个或多个动作,
其中,确定所述一个或多个动作是基于所述用户输入和与所述特定文档相关联地存储的所述特定文档的一个或多个语义注释,以及
其中,所述一个或多个语义注释中的每个语义注释包括所述特定文档的整体中的相应子部分的语义解释;以及
使得所述一个或多个动作被执行以根据所述用户输入来访问或修改所述特定文档。
2.根据权利要求1所述的方法,
其中,所述特定文档最初不是由所述用户创建,以及
其中,所述特定文档是使用不同于所述自动化助理的文档应用来创建。
3.根据权利要求1或权利要求2所述的方法,其中,所述数据还包括附加语义注释,并且所述附加语义注释中的每个附加语义注释包括所述多个不同文档的相应附加文档的另一相应子部分的另一语义解释。
4.根据前述权利要求中任一项所述的方法,
其中,所述计算设备的所述自动化助理接口包括麦克风,以及
其中,所述用户输入是在被用于编辑所述特定文档的文档编辑程序在所述计算设备的图形用户接口的前台中不存在时被接收。
5.根据前述权利要求中任一项所述的方法,
其中,所述一个或多个语义注释包括特定语义注释,所述特定语义注释包括由附加用户创建的文档评论的语义解释,以及
其中,所述一个或多个动作包括使得通知经由与所述附加用户相关联的单独计算设备的另一接口被提供给所述附加用户。
6.根据前述权利要求中任一项所述的方法,还包括:
在所述计算设备的所述自动化助理接口处接收所述用户输入之前:
接收另一用户输入,所述另一用户输入包括对于所述自动化助理渲染由另一用户添加到所述特定文档的补充内容的描述的另一请求。
7.根据权利要求6所述的方法,其中,经由所述用户输入提供的所述请求指导所述自动化助理访问或修改由所述另一用户添加到所述特定文档的所述补充内容。
8.根据前述权利要求中任一项所述的方法,其中,使得所述一个或多个动作被执行包括:
执行语音到文本处理以将所述用户输入的部分转换为文本数据,以及
使得所述文本数据被并入到与所述一个或多个语义注释中的特定语义注释相对应的所述特定文档的部分中。
9.根据前述权利要求中任一项所述的方法,还包括:
使用经训练的机器学习模型来生成所述一个或多个语义注释,所述经训练的机器学习模型是使用基于在所述用户与各种不同文档的其它部分之间的先前用户交互的训练数据来训练。
10.一种由一个或多个处理器实现的方法,所述方法包括:
在计算设备的自动化助理接口处接收与来自用户的口头话语相对应的请求;
其中,所述计算设备提供对自动化助理的访问;
基于所述请求来从特定文档的部分中识别自然语言内容,
其中,在所述用户提供所述口头话语时,所述特定文档的所述部分在所述计算设备的图形用户接口的前台中不存在;
基于来自所述特定文档的所述部分的所述自然语言内容来确定所述用户正在请求所述自动化助理执行的一个或多个特定动作;以及
基于所述请求来使得所述一个或多个动作中的动作的执行被初始化。
11.根据权利要求10所述的方法,其中,使得所述动作的执行包括:
使得所述自动化助理可听地渲染来自所述特定文档的所述部分的自然语言内容。
12.根据权利要求10或权利要求11所述的方法,还包括:
在初始化所述一个或多个动作中的动作的执行之后:
在所述计算设备的所述自动化助理接口处接收与来自所述用户的附加口头话语相对应的附加请求,以及
基于所述附加口头话语和来自特定文档的所述部分的所述自然语言内容来确定所述用户正在请求所述自动化助理编辑特定文档的所述部分。
13.根据权利要求10至12中任一项所述的方法,还包括:
在初始化所述一个或多个动作中的动作的执行之后:
在所述计算设备的所述自动化助理接口处接收与来自所述用户的附加口头话语相对应的附加请求,以及
基于所述附加口头话语和来自特定文档的所述部分的所述自然语言内容来确定所述用户正在请求所述自动化助理与另一用户通信。
14.根据权利要求13所述的方法,其中,在所述用户提供所述附加请求之前,所述另一用户将所述自然语言内容添加到所述特定文档。
15.一种由一个或多个处理器实现的方法,所述方法包括:
在应用处接收来自自动化助理的请求,
其中,所述请求是由所述自动化助理响应于第一用户经由第一计算设备向所述自动化助理提供用户输入而提供,以及
其中,所述自动化助理是响应于由所述第一用户向所述第一计算设备的接口提供的自然语言输入;
响应于接收到来自所述自动化助理的请求而由所述应用修改文档,
其中,所述文档能由所述第一用户经由所述第一计算设备编辑并且能由第二用户经由不同于所述第一计算设备的第二计算设备编辑;
基于修改所述文档来生成指示所述文档已经被所述第一用户修改的通知数据;以及
使用所述通知数据使得附加自动化助理经由所述第二计算设备为所述第二用户渲染通知,
其中,所述附加自动化助理是响应于由所述第二用户向所述第二计算设备的单独接口提供的其它自然语言输入。
16.根据权利要求15所述的方法,其中,所述请求包括所述文档的子部分的描述,并且修改所述文档包括:
将所述描述与和所述文档相关联地存储的多个不同语义注释进行比较。
17.根据权利要求16所述的方法,其中,将所述描述与和所述文档相关联地存储的多个不同语义注释进行比较包括:
向所述多个不同语义注释中的每一个语义注释指派相似性分数;
其中,相应语义注释的特定相似性分数指示在所述相应语义注释与所述描述之间的相似性程度。
18.根据权利要求15至17中任一项所述的方法,其中,使得所述附加自动化助理为所述第二用户渲染所述通知包括:
使得所述文档的子部分的图形渲染被渲染在所述第二计算设备的所述单独接口处。
19.根据权利要求15至18中任一项所述的方法,其中,所述应用由实体提供,所述实体不同于提供所述自动化助理和所述附加自动化助理的一个或多个其它实体。
20.根据权利要求19所述的方法,其中,所述自动化助理和所述附加自动化助理经由应用编程接口与所述应用通信。
21.一种系统,包括一个或多个处理器和可操作地与所述一个或多个处理器耦合的存储器,其中,所述存储器存储指令,所述指令响应于由一个或多个处理器执行所述指令而使得所述一个或多个处理器执行根据权利要求1至20中任一项所述的方法。
22.包括指令的至少一个非暂时性计算机可读介质,所述指令响应于由一个或多个处理器执行所述指令而使得所述一个或多个处理器执行根据权利要求1至20中任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/948,186 | 2020-09-08 | ||
US16/948,186 US11488597B2 (en) | 2020-09-08 | 2020-09-08 | Document creation and editing via automated assistant interactions |
PCT/US2020/064948 WO2022055533A1 (en) | 2020-09-08 | 2020-12-14 | Document creation and editing via automated assistant interactions |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115769220A true CN115769220A (zh) | 2023-03-07 |
Family
ID=74181333
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080101564.8A Pending CN115769220A (zh) | 2020-09-08 | 2020-12-14 | 经由自动化助理交互的文档创建和编辑 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11488597B2 (zh) |
EP (1) | EP4133401A1 (zh) |
CN (1) | CN115769220A (zh) |
WO (1) | WO2022055533A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220046964A (ko) * | 2020-10-08 | 2022-04-15 | 삼성전자주식회사 | 멀티 챗봇을 이용하여 질의에 응답하는 전자 장치 및 그 제어 방법 |
US11558546B2 (en) * | 2020-11-24 | 2023-01-17 | Google Llc | Conditional camera control via automated assistant commands |
US20220254337A1 (en) * | 2021-02-08 | 2022-08-11 | Seam Social Labs Inc | Systems and Methods for Providing a Sociolinguistic Virtual Assistant |
US20220366147A1 (en) * | 2021-05-17 | 2022-11-17 | International Business Machines Corporation | Authoring a conversation service module from relational data |
WO2023212524A1 (en) * | 2022-04-25 | 2023-11-02 | Gyan, Inc. (A Delaware Corporation) | An explainable natural language understanding platform |
US11995394B1 (en) * | 2023-02-07 | 2024-05-28 | Adobe Inc. | Language-guided document editing |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080004880A1 (en) * | 2006-06-15 | 2008-01-03 | Microsoft Corporation | Personalized speech services across a network |
US7937687B2 (en) * | 2006-09-01 | 2011-05-03 | Verizon Patent And Licensing Inc. | Generating voice extensible markup language (VXML) documents |
US20100153318A1 (en) * | 2008-11-19 | 2010-06-17 | Massachusetts Institute Of Technology | Methods and systems for automatically summarizing semantic properties from documents with freeform textual annotations |
US8386929B2 (en) * | 2010-06-22 | 2013-02-26 | Microsoft Corporation | Personal assistant for task utilization |
KR20130081503A (ko) * | 2012-01-09 | 2013-07-17 | 삼성전자주식회사 | 디스플레이장치 및 그 제어방법 |
US9390079B1 (en) * | 2013-05-10 | 2016-07-12 | D.R. Systems, Inc. | Voice commands for report editing |
US10698653B2 (en) * | 2014-10-24 | 2020-06-30 | Lenovo (Singapore) Pte Ltd | Selecting multimodal elements |
US10586535B2 (en) * | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
US11436417B2 (en) | 2017-05-15 | 2022-09-06 | Google Llc | Providing access to user-controlled resources by automated assistants |
US10552204B2 (en) | 2017-07-07 | 2020-02-04 | Google Llc | Invoking an automated assistant to perform multiple tasks through an individual command |
US11074911B2 (en) * | 2017-09-05 | 2021-07-27 | First Advantage Corporation | Digital assistant |
US11204950B2 (en) * | 2017-10-06 | 2021-12-21 | Optum, Inc. | Automated concepts for interrogating a document storage database |
US20190243669A1 (en) * | 2018-02-05 | 2019-08-08 | Microsoft Technology Licensing, Llc | Skill discovery and brokering framework |
EP3785134A4 (en) * | 2018-04-26 | 2022-01-19 | Reliance Jio Infocomm Limited | SYSTEM AND METHOD FOR PROVIDING A RESPONSE TO A USER INQUIRY USING A VISUAL ASSISTANT |
US11423073B2 (en) * | 2018-11-16 | 2022-08-23 | Microsoft Technology Licensing, Llc | System and management of semantic indicators during document presentations |
US11189280B2 (en) * | 2019-06-04 | 2021-11-30 | Vmware, Inc. | Securing voice assistant data |
WO2021033889A1 (en) * | 2019-08-20 | 2021-02-25 | Samsung Electronics Co., Ltd. | Electronic device and method for controlling the electronic device |
US20210173865A1 (en) * | 2019-12-09 | 2021-06-10 | Open Text Holdings, Inc. | System and Method for Multi-Media Search in a Content Management System |
US11398226B1 (en) * | 2020-07-30 | 2022-07-26 | Amazon Technologies, Inc. | Complex natural language processing |
-
2020
- 2020-09-08 US US16/948,186 patent/US11488597B2/en active Active
- 2020-12-14 EP EP20839476.7A patent/EP4133401A1/en active Pending
- 2020-12-14 CN CN202080101564.8A patent/CN115769220A/zh active Pending
- 2020-12-14 WO PCT/US2020/064948 patent/WO2022055533A1/en unknown
-
2022
- 2022-10-26 US US17/974,415 patent/US20230049562A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220076668A1 (en) | 2022-03-10 |
US20230049562A1 (en) | 2023-02-16 |
WO2022055533A1 (en) | 2022-03-17 |
EP4133401A1 (en) | 2023-02-15 |
US11488597B2 (en) | 2022-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6678764B1 (ja) | 多言語での自動化されたアシスタントを用いたエンドツーエンドコミュニケーションの促進 | |
KR102313473B1 (ko) | 자동 어시스턴트를 위한 명령 번들 제안 제공 | |
US11869506B2 (en) | Selectively generating expanded responses that guide continuance of a human-to-computer dialog | |
US11488597B2 (en) | Document creation and editing via automated assistant interactions | |
JP6667504B2 (ja) | オーファン発話検出システム及び方法 | |
US10713288B2 (en) | Natural language content generator | |
US9582498B2 (en) | Actions on digital document elements from voice | |
US11924149B2 (en) | Composition of complex content via user interaction with an automated assistant | |
US11604929B2 (en) | Guided text generation for task-oriented dialogue | |
US20220284049A1 (en) | Natural language understanding clarifications | |
US20220366910A1 (en) | Voice commands for an automated assistant utilized in smart dictation | |
EP3552114A1 (en) | Natural language content generator | |
US12019999B2 (en) | Providing a well-formed alternate phrase as a suggestion in lieu of a not well-formed phrase | |
US12033637B2 (en) | Arranging and/or clearing speech-to-text content without a user providing express instructions | |
US20220366911A1 (en) | Arranging and/or clearing speech-to-text content without a user providing express instructions | |
US20240038246A1 (en) | Non-wake word invocation of an automated assistant from certain utterances related to display content | |
WO2022104297A1 (en) | Multimodal input-based data selection and command execution | |
WO2022245396A1 (en) | Arranging and/or clearing speech-to-text content without a user providing express instructions | |
CN117636915A (zh) | 调整播放进度的方法、相关装置及计算机程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |