基于捕捉到的笔画信息来与助理组件交互的制作方法

文档序号:14394525阅读:243来源:国知局



背景技术:

计算行业提供促成记笔记的各种应用。许多这样的应用专用于简单地捕捉并且稍后检索手写内容的核心任务。虽然这些应用是有用的,但在该技术领域中存在相当大的改进空间。

概述

本文描述了接收在用户使用输入捕捉设备输入手写笔记时捕捉到的笔画信息的计算机实现的技术。该技术然后自动地对捕捉到的笔画信息执行分析以产生输出分析信息,而不是被用户提示这样做。基于该输出分析信息,该技术使用助理组件来标识将要呈现给用户的对捕捉到的笔画信息的响应和/或标识要执行的动作。在一些场景中,响应可以是基于输出分析信息选择的包含更多内容的对话的一部分。该技术然后显示捕捉到的笔画信息。该技术还呈现所标识的响应(如果有)和/或执行所标识的动作。在一些实现中,该技术可以按自由形式的手写样式制定响应以给予虚拟助理正在以自由形式手写的形式响应该用户的印象。

例如,考虑其中用户输入以下笔记的情形:包含实体项“jill”和“tuesday(周二)”的“calljillontuesday(周二打电话给jill)”。该技术可使用语言分析来识别该笔记中的实体项。该技术还可标识笔记的总体意图,例如对应于在一周中的特定日子打电话给名为jill的人的期望。该技术然后可使用助理组件来基于所选对话制定对该笔记的响应,所选对话基于已经对该笔记执行的分析而被认为是恰当的。例如,响应可出于设置涉及笔记的提醒的最终目标来要求用户提供未解决的提醒信息的片段。例如,响应可要求用户确认名为“jill”的人的身份。在另一场景中,该技术可调用对话,这具有执行虚拟助理和用户之间的交互式娱乐活动(诸如游戏)的效果。

以上概述的计算机实现的技术由此不仅是用于存储和检索手写笔记的机制,而且还提供了自动地使用户参与涉及笔记的对话和/或自动执行与笔记相关联的动作的方式。总之,该技术允许用户以高效的方式执行任务,例如通过消除用户原本需要以单独且手动的方式执行的操作。该能力进而高效地使用被用来实现该技术的计算设备的计算资源,例如通过消除原本将消耗这些资源的步骤。

另外,该技术是非介入式的,因为它允许用户以他或她已经习惯的方式写笔记。换言之,该技术不需要用户学习不同于使用笔和纸来捕捉笔记的普通实践的特殊记笔记协议。该技术而是在用户不作为的情况下自动地在该用户以传统方式创建的笔记之“上”添加补充信息和控制能力层。该技术的这一特性使用户更容易地学习和使用该技术。

以上技术可体现在各种类型的系统、设备、组件、方法、计算机可读存储介质、数据结构、图形用户界面呈现、制品等中。

提供本概述以便以简化的形式介绍一些概念;这些概念将在以下的详细描述中作进一步描述。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。

附图简述

图1示出了用于处理在用户使用输入捕捉设备来输入徒手墨水笔画时产生的捕捉到的笔画信息的系统。

图2示出了作为图1的系统的一部分的墨水分析组件的一个实现。

图3示出了作为图1的系统的另一部分的画布呈现组件的一个实现。

图4示出了墨水分析组件(图2)可解释捕捉到的笔画信息以产生识别出的笔画信息的一种方式。

图5示出了实现标识组件的一种方式;(图2的)墨水分析组件可采用这些类型的标识组件中的一者或多者。

图6示出了实现标识组件的另一种方式。

图7示出了可由图1的系统基于用户的笔记书写来生成的信息。

图8示出了使用图1的系统来突出显示捕捉到的笔画信息中的实体项的示例。该突出显示传达这些实体项的可操作状态。图8还示出了用户与突出显示的实体项的后续交互。

图9示出了使用图1的系统来产生可操作列表项的示例。图9还示出了用户与可操作列表项交互以扣除(checkoff)用户已经完成的列表成员项。

图10示出了使用图1的系统来产生可操作列表项的另一示例。图10还示出了用户与可操作列表项交互以将列表成员项移至列表项内的新位置。

图11示出了使用图1的系统来产生可操作列表项的又一示例。在该情形中,列表项中的每一列表成员项表达复杂意图。

图12示出了使用图1的系统来检索补充信息项并且将补充信息项附加到捕捉到的笔画信息的示例。

图13示出了使用该系统来将补充信息项附加到捕捉到的笔画信息的(相比于图12)更复杂的示例。

图14示出了使用图1的系统来基于用户产生的手写绘图检索补充信息项的示例。

图15示出了使用图1的系统来使用户基于捕捉到的笔画信息来参与对话的示例。在该情形中,对话的目的是收集用于设置提醒的信息。

图16示出了使用图1的系统来使用户参与对话的另一示例。在此,对话的目的是在虚拟助理和用户之间进行游戏。

图17示出了用于将捕捉到的笔画信息变换成可操作形式的说明性过程。

图18示出了用于用一个或多个补充信息项来注释捕捉到的笔画信息的说明性过程。

图19示出了用于基于捕捉到的笔画信息来与助理组件交互的说明性过程。

图20示出了可被用来实现图1的系统的说明性计算装备。

图21示出了可被用来实现前面的附图中所示出的各特征的任何方面的说明性计算功能。

贯穿本公开和各附图,相同的附图标记被用来指代相同的组件和特征。100系列附图标记指代最初在图1中找到的特征,200系列附图标记指代最初在图2中找到的特征,300系列附图标记指代最初在图3中找到的特征,依此类推。

详细描述

本公开是按如下方式来组织的。章节a描述了用于处理和增强捕捉到的笔画信息的计算机实现的系统。章节b提出了解释章节a的系统的操作的说明性方法。并且,章节c描述了可被用来实现章节a和b中所描述的特征的任何方面的说明性计算功能。

作为预备,一些附图在被不同地称为功能、模块、特征、元素等的一个或多个结构组件的上下文中描述概念。附图中示出的各组件可以由任何物理和有形的机制(例如,由在计算机装备上运行的软件、硬件(例如芯片实现的逻辑功能)等和/或其任意组合)以各种方式来实现。在一种情况下,附图中所例示的将各种组件分离成有区别的单元可反映对应的有区别的物理及有形组件在实际实现中的使用。替代地或附加地,附图中所例示的任何单个组件均可由多个实际物理组件来实现。替代地或附加地,对附图中任何两个或更多个分开的组件的描绘可反映单个实际物理组件所执行的不同功能。章节c提供了关于附图中所示的功能的一个说明性物理实现的附加细节。

其他附图以流程图形式描述了概念。以此形式,某些操作被描述为构成按某一顺序被执行的有区别的框。这样的实现是说明性的而非限制性的。本文所描述的某些框可被分组在一起并在单个操作中被执行,某些框可被分解成多个组件框,并且某些框可按与本文所例示的不同的顺序来被执行(包括以并行方式执行这些框)。流程图中示出的各个框可以由任何物理和有形的机制(例如,由在计算机装备上运行的软件、硬件(例如芯片实现的逻辑功能)等和/或其任意组合)以各种方式来实现。

至于术语,短语“被配置成”包含任何类型的物理和有形的功能可以被构建来执行已标识的操作的任何方式。该功能可被配置成使用例如运行在计算机装备上的软件、硬件(例如,芯片实现的逻辑功能)等和/或其任何组合来执行操作。

术语“逻辑”包含用于执行任务的任何物理和有形的功能。例如,流程图中所例示的每个操作均对应于用于执行该操作的逻辑组件。操作可使用例如在计算机装备上运行的软件、硬件(例如,芯片实现的逻辑功能)等和/或其任何组合来执行。在由计算装备实现时,逻辑组件表示作为计算系统的物理部分、而不管如何实现的电子组件。

本文所描述的任何存储资源或存储资源的任何组合都可被视作计算机可读介质。在多种情况下,计算机可读介质表示某种形式的物理及有形实体。术语计算机可读介质还涵盖例如经由物理管道和/或空气或其他无线介质等传送或接收的传播信号。然而,特定术语“计算机可读存储介质”和“计算机可读存储介质设备”明显地排除了传播信号本身,同时包括所有其他形式的计算机可读介质。

以下解释可将一个或多个特征标识为“任选的”。该类型的陈述不应被解读为可以被视作任选的特征的穷尽性指示;也就是说,虽然在文本中没有被明确地标识,但是其他特征也可被视作任选。此外,对单个实体的任何描述并不旨在排除对多个这样的实体的使用;类似地,对多个实体的描述不旨在排除对单个实体的使用。此外,尽管本描述可将某些特征解释为执行所标识的功能或实现所标识的机制的替代方式,但是这些特征也可以以任何组合来被组合在一起。最后,术语“示例性”或“说明性”指的是潜在的许多实现中的一个实现。

a.说明性系统

a.1.概览

图1示出了用于处理捕捉到的笔画信息的系统102。系统102一般将在下文中以从上到下的方式描述。

在一个实现中,一个或多个输入捕捉设备104在用户在输入捕捉设备104的输入表面106上做出徒手墨水笔画时产生捕捉到的笔画信息。例如,用户可使用任何工具(诸如指示笔、数字笔、手指等)来产生徒手墨水笔画。捕捉到的笔画信息对应于用户的徒手墨水笔画的数字图像。同时地或近乎同时地,系统102在一个或多个画布显示设备108的显示表面(未示出)上显示用户的书写。输入捕捉设备104和画布显示设备108各自在下文中被单数引用以促进解释。

在一种情形中,输入捕捉设备104和画布显示设备108对应于集成用户设备110。即,在该情形中,输入捕捉设备104的输入表面106与画布显示设备108的显示表面是相同的。例如,用户设备110可对应于具有用户通过其输入徒手笔记(例如,使用指示笔、手指等)的触敏屏幕的任何手持式或驻定式用户设备;该相同的屏幕显示徒手笔记和其它信息。除了画布显示设备108之外,系统102还可包括其它输出设备(未在图1中示出),诸如扬声器、触觉输出设备、其它显示设备等。

在另一情形中,输入捕捉设备104可对应于物理上与画布显示设备108分开的装备。例如,输入捕捉设备104可对应于用户通过其输入徒手笔记的数字化输入板。该数字化输入板具有不与画布显示设备108的显示表面共享的输入表面。在又一情形中,用户可通过在自由空间中做出书写手势来输入徒手笔记,而不一定物理地接触输入捕捉设备104的输入表面106。在此,系统102可通过分析输入捕捉设备104所提供的一个或多个摄像机捕捉到的视频信息来捕捉用户手势。

图1还指示系统102可以从与输入捕捉设备104分开的其它源接收输入信息。这些源可包括但不限于:提供静态图像信息的图像捕捉源;提供动态视频信息的视频捕捉设备;提供深度图像的深度捕捉系统(诸如由华盛顿州雷蒙德市的微软公司生产的kinect设备);提供位置信息的位置确定设备;捕捉声音信息的话筒,等等。

例如,位置确定设备(诸如全球定位系统机构等)可提供揭示用户位置的位置信息。替换地或附加地,相机可以拍摄反映用户的当前外部环境在任何给定时间的特质的数字照片。系统102可使用这种类型的上下文数据来更高效地标识在当前时间对用户可能是有意义的信息,例如通过重现涉及用户的当前上下文情境的先前捕捉到的笔记。

解释组件112可解释由输入捕捉设备104提供的输入信息的性质。例如,用户可以在至少两个不同的上下文中与输入表面106交互。在第一上下文中,用户可以与输入表面106交互以产生笔记,例如通过使用指示笔、手指或某一其它工具来生成徒手笔画。在第二上下文中,用户可以与正被显示在显示表面106上的控制特征交互。例如,用户可以与输入表面106交互以激活已由系统102变换成可操作形式(以下文描述的方式)的实体项。

在前一情形(其中用户创建徒手笔记)中,解释组件112将输入捕捉设备104所产生的捕捉到的笔画信息转发至数据存储114以供存储在其中。在后一情形(其中用户激活命令特征)中,解释组件112将所得激活信息转发至一个或多个动作采取组件(将在下文中描述)。

墨水分析组件116解释捕捉到的笔画信息以产生被存储在数据存储118中的输出分析信息。更具体地,如将在下文中参照图2描述的,墨水分析组件116可执行不同种类的分析。在第一阶段中,墨水分析组件116将捕捉到的笔画信息转换成识别出的笔画信息。例如,墨水分析组件116可使用手写至文本分析(用于手写内容)来产生识别出的文本信息。墨水分析组件116可使用绘图至形状分析(用于绘图内容)来提供识别出的形状信息。墨水分析组件116可使用手写至符号分析(用于数学记号)来提供识别出的符号信息,等等。

墨水分析组件116之后可以对识别出的笔画信息执行附加的高级分析。高级分析的目的是找到可能(或可能不)存在于识别出的笔画信息中的一种或多种类型的感兴趣的内容项。例如,墨水分析组件116可使用实体提取分析来确定识别出的文本信息是否具有一个或多个实体项。实体项指的是涉及特定实体的信息。实体进而可对应于感兴趣的特定“事物”,诸如特定地点、人、物体、时间、网站、地址等。作为其处理的另一部分,墨水分析组件116可使用意图确定分析来确定与识别出的笔画信息相关联的意图(或多个意图)。在一些情形中,意图表达用户创建笔记的目标。例如,短语“calljilltonight(今晚给jill打电话)”的意图反映用户在晚上给名为“jill”的人打电话的意图。

作为其处理的另一部分,墨水分析组件116可以对识别出的文本信息执行分析以确定其是否包含列表项。列表项对应于列表成员项的集合。例如,一个特定列表项可提供食物项的集合或者待办任务的集合,等等。

在执行其操作时,墨水分析组件116可依靠一个或多个分析资源120。分析资源120可位于相对于用户是本地和/或相对于用户是远程的一个或多个站点。至少一个这样的分析资源可提供反映在任何给定时间正与该系统102交互的特定用户的人物特性的用户信息。例如,用户信息可反映用户的人口统计特性和/或用户的先前行为。系统102可以按各种方式收集用户信息。例如,用户可以显式地向系统102提供某些用户信息(例如,在配置例程等中)。附加地或替换地,系统102可以通过在一时间跨度内监视和存储用户行为来自动收集用户信息,诸如通过记录用户的购物相关动作、浏览相关动作、移动相关动作等。如以下在章节c中描述的,系统102给予用户对系统102收集任何用户信息的能力的完全控制;在一些情形中,例如用户可决定完全禁止收集此类用户信息。另外,系统102给予用户对系统102保留和使用用户信息(一旦收集到用户信息)的方式的完全控制。

墨水分析组件116可以按数据结构的形式表达它针对笔记产生的输出分析信息。该数据结构可指定馈送到墨水分析组件116(并且尚未被解释)的捕捉到的原始笔画信息以及在捕捉到的笔画信息的基础上生成的任何分析结果。分析结果例如可指定以下任一者:捕捉到的笔画信息中的识别出的单词和形状;捕捉到的笔画信息中的标识出的实体项(如果有);捕捉到的笔画信息中的标识出的一个或多个意图,等等。

在一些情形(但不一定是所有情形)中,补充信息检索组件(sirc)122在输出分析信息的基础上执行检索操作。例如,sirc122可以在输出分析信息的基础上制定搜索查询。sirc122然后可使用搜索查询来从一个或多个补充信息资源124中检索一个或多个补充信息项。补充信息资源124可对应于相对于用户是本地和/或远程的数据存储;此外,某些数据存储可由用户他或她自己来维护或者可以按其它方式与用户相关联。sirc122然后可将检索到的补充信息项添加到数据存储118中提供的信息。数据存储118一并提供已经收集到的与用户在输入表面106上做出的笔记有关的所有信息。

更具体地,在操作中,sirc122可生成包括出现在识别出的笔画信息中的一个或多个单词的搜索查询。sirc122还可任选地向由墨水分析组件116标识的查询添加任何高级知识。例如,sirc122可构造标识捕捉到的笔画信息中的实体项(如果有)和/或用户笔记的总体意图和/或墨水分析组件116传授的任何其他知识的查询。另外,墨水分析组件116可以从手写绘图中提取特征信息,并且sirc122可任选地将该特征信息添加到查询。在其它情形中,sirc122可任选地向查询添加基于上下文的项,诸如用户的当前位置等。

在一种情形中,sirc122然后可将搜索查询提交给商业搜索引擎,诸如由微软公司提供的必应搜索引擎。搜索引擎可使用搜索索引来检索被认为是与搜索查询在语义上相关(或以其它方式相关联)的一个或多个补充信息项(如果有)。例如,假定搜索查询涉及特定主题,诸如生物学领域中的某一主题。搜索引擎可检索与所标识的主题相关的一个或多个文本文档、图像文档、视频、音频文件等。

在另一情形中,搜索引擎(也被称为检索引擎)可使用搜索查询来从与特定用户相关联并且可能由该用户维护的一个或多个数据存储中检索一个或多个补充项。例如,sirc122可使用搜索查询来检索(a)与考虑中的笔记的主题相关并且(b)与用户相关联的补充信息项。例如,sirc122可使用搜索查询来从用户联系人数据存储中检索联系人卡片,其中该联系人卡片可以与已经在识别出的笔画信息中标识出的实体项有关。在另一情形中,sirc122可使用搜索查询来检索与考虑中的笔记的主题有关的电子邮件讨论(thread),其中用户是该电子邮件讨论的参与者。

画布呈现组件126在数据存储118中的收集到的信息的基础上生成供呈现在画布显示设备108(和/或某一其它输出设备)上的显示信息。如将在下文中参照图3阐明的,画布呈现组件126可使用执行不同的相应子任务的多个子组件来执行该任务。例如,画布呈现组件126可至少包括实体呈现组件和列表呈现组件。

实体呈现组件生成捕捉到的笔画信息中的每一个标识出的实体项的经修改表示以产生经修改实体项。例如,实体呈现组件可通过可任选地产生出现在捕捉到的原始笔画信息中的实体名称的突出显示的对应物来生成经修改实体项。实体呈现组件还通过将每一个标识出的实体项变换成可操作形式来产生经修改实体项。经修改实体项的可操作形式使用户能够与经修改实体项交互以执行功能(以将在下文中描述的方式)。

类似地,列表呈现组件生成捕捉到的笔画信息中的每一个标识出的列表项的经修改表示以产生经修改列表项。例如,列表呈现组件可产生标识出的列表项的美化版本,可任选地将复选框添加到相应的标识出的列表成员项的开头。这产生了具有经修改列表成员项的经修改列表项。实体呈现组件还通过将每一个标识出的列表项变换成可操作形式来产生经修改列表项。例如,列表呈现组件可将命令特征添加到标识出的列表项的相应的标识出的列表成员项。用户可以与同相应的经修改列表成员项相关联的命令特征交互以登记该列表成员项的完成(或未完成)。

在一些情形(但不一定所有情形)中,助理组件128也在系统102的操作中起作用。在一些情形中,助理组件128实现向用户提供一个或多个响应和/或响应于与用户的交互来发起任何动作的虚拟助理人员。在其它情形中,助理组件表示与用户交互但不以其它方式采取不同人员的任何服务。

在一些实现中,助理组件128在数据存储130中提供的一个或多个对话的基础上与用户交换。每一个对话提供指定虚拟助理与用户之间的交互流的模板。该对话可涵盖一个或多个响应。在其它情形中,助理组件128可在参照或不参照预先存储的模板的情况下基于对话构造规则集来以更自由且动态的方式构造对话。

在一种操作模式中,助理组件128检索(或生成)被确定为与系统102所提供的输出分析信息最相关的对话。例如,假设输出分析信息指示用户正参考将来事件。该结论可由墨水分析组件116所标识的意图来专门表达。作为响应,助理组件128可检索(或以其他方式提供)服务于收集信息以设置将来事件的提醒的目的的对话。例如,对话可呈现邀请用户提供未解决的提醒信息的一个或多个片段的一个或多个查询。例如,如果尚未在收集到的信息中明确地(且毫无疑义地)陈述,则对话可要求用户提供或阐明将来事件将发生的时间。在收集到所有必需信息项之际,助理组件128然后可执行设置提醒的动作。

更具体地,在一个实现中,助理组件128可使用多条规则来将输出分析信息映射到特定对话。每一规则可以按如果-则格式表达。例如,一般而言,规则可指定如果与笔记相关联的意图是“x”,则对话“y”应被检索。一旦检索到对话,助理组件128可开始向用户递送其响应,在对话流中开始于第一响应。在其它情形中,助理组件128可以在对话中省略不需要的任何响应。例如,假设对话的目的是设置提醒。助理组件128可省略被设计成收集已经在用户笔记中毫无疑义地指定或者能够以其它方式在没有来自用户的输入的情况下被确定的信息项的任何响应。换言之,用户的笔记可用于预先填充提醒消息中的某些值,其中这些值可以从用户笔记中毫无疑义地提取。

在其他情形中,助理组件128可通过应用一系列对话构造规则来在不参照首要对话的情况下递送响应。例如,对话构造规则可以按如果-则方式构造;该规则假定将在用户笔记包含特定内容项(例如,特定关键字和/或特定意图)的情况下提供特定响应。

在其它情形中,助理组件128可以在不向用户提供任何响应的情况下执行动作(诸如设置提醒)。例如,助理组件128可以在用户毫无疑义地指定所有必需信息项时自动设置提醒。

作为最终结果,助理组件128可任选地在任何给定时间向画布呈现组件126提供响应。响应对应于总对话的一部分。在一个实现中,画布呈现组件126将该响应集成到它呈现给用户的显示信息中。在一些情形中,系统102还可将响应转换成自由形式的手写样式,以使其看上去是由具有一致的书写样式和“个性”的虚拟助理书写的。在其它情形中,画布呈现组件126可以按说话形式呈现响应或者在另一显示设备上显示响应,等等。图1还指示可通过其它模态(除了手写文本之外)(诸如语音、自由空间手势、基于键入文本的输入(例如,经由键盘输入设备)等)与助理组件128交互。

总而言之,被呈现在画布显示设备108的显示表面上的显示信息可包括捕捉到的原始笔画信息以及由系统102提供的对该信息的任何增强,同时以其它方式保留捕捉到的笔画信息的原始手写外观。例如,显示信息可呈现用户写的手写笔记;但如果该笔记包含实体项,则显示信息可任选地在该笔记内以突出显示的方式显示该项以指示该笔记与一实体有关,同时以其它方式保留实体名称的原始手写外观。类似地,显示信息可以按美化形式呈现每一列表项,包括复选框等。显示信息还可呈现由sirc122提供的一个或多个补充信息项。最终,如上所述,显示信息还可呈现助理组件128提供的任何响应。

然而,注意画布呈现组件126可以按时间上交错的方式在不同信息项变得可供显示时显示这些信息项;无需在相同的时间将这些信息项全部呈现。例如,画布呈现组件126可通过在用户正在创建原始手写笔记时显示已由该用户创建的该笔记来开始。画布呈现组件126然后可以在上述增强变得可供显示时修改该笔记。例如,在画布呈现组件126呈现它使用sirc122检索到的补充信息项之前可能存在数秒(或更长)的延迟。

显示信息中的至少某些内容项以可操作形式呈现以提供可操作内容项。当内容项能够被用户激活(这进而导致系统102调用特定动作)时该内容项被认为是可操作的。例如,显示信息中的每一个经修改实体项可对应于可操作内容项。经修改列表项的每一个经修改列表成员项可对应于另一可操作内容项。当用户与这些可操作内容项交互时,系统102产生激活信息,并且然后将激活信息转发到一个或多个合适的动作采取组件。动作采取组件通过执行特定动作来响应激活信息。

更具体地,在一些情形中,解释组件112可将用户与可操作内容项的交互与用户对手写笔记的创建区分开。解释组件112然后可立即将所得激活信息路由到合适的动作采取组件。例如,画布呈现组件126可将每一个经修改实体项与命中测试区域相关联。解释组件122可检测用户何时做出影响这些命中测试区域之一的激活。作为响应,解释组件112可将所得激活信息路由到合适的动作采取组件。

在另一情形中,用户可通过他或她在输入捕捉设备104的输入表面106上做出的墨水笔画来执行命令。在此,解释组件122可将墨水笔画路由到墨水分析组件116,如同任何其它手写内容。墨水分析组件116然后可将墨水笔画解释为命令,在此之际该组件将所得激活信息路由到合适的动作采取组件。例如,用户可通过绘制通过列表成员项的线(换言之通过将该列表成员项从列表中划去)来指示列表成员项的完成。墨水分析组件116可识别该手势并且作为响应将激活信息转发至合适的动作采取组件。

系统102的各部分可实现动作采取组件。例如,画布呈现组件126可提供一些动作采取组件。补充组件的集合132可提供其它动作采取组件。每一个动作采取组件基于馈送到它的激活信息来执行特定动作。

例如,列表呈现组件(其是将在下文中描述的画布呈现组件126的组件)在用户执行涉及经修改列表项的动作时操纵该经修改列表项。例如,假定用户激活与经修改列表项中的经修改列表成员项相关联的控制特征以指示该列表成员项已被完成。作为响应,列表呈现组件可以在画布显示设备108上产生反映该列表成员项的完成的可视指示,诸如通过向复选框添加复选标记和/或将列表成员项移至经修改列表项的底部,等等。在另一场景中,列表呈现组件管理经修改列表成员项的移动,例如响应于被解释组件112检测到的由用户执行的拖拽手势。在另一场景中,列表呈现组件管理经修改列表成员项的层次的收缩和扩展,例如响应于被解释组件112检测到的由用户发出的缩放命令。

关于补充组件132,联系人管理组件136可以在某些情况下对与用户相关联的联系人信息进行操作。例如,如果用户激活涉及一个人的姓名的经修改实体项,则联系人管理组件136可检索与这个人相关联的联系人信息或者存储与这个人相关联的新联系人信息。与助理组件128处于可任选的协作中的日历组件138可响应于被确定为涉及将来事件的笔记的创建而存储提醒信息。消息收发组件140可以在用户激活与特定电话号码或地址相关联的经修改实体项时发起某种形式的通信(诸如电话呼叫、电子邮件消息、sms消息等)。地图组件142可以在用户激活地点相关经修改实体项时检索与该经修改实体项相关联的地图信息,等等。这些动作采取组件及相关联的动作是作为示例而非限制引用的;系统102的其它实现可提供执行其它相应动作的附加组件。

其它补充组件执行不一定响应于用户对可操作内容项的激活而触发的其它相应动作。例如,基于上下文的重现组件144可检索和显示涉及特定现行上下文的笔记。例如,重现组件144可确定用户处在携带特定种类的商品的特定零售设施中。作为响应,重现组件144可检索涉及用户的现行上下文的任何笔记,诸如通过检索涉及该零售设施的先前捕捉到的列表项。在另一情形中,重现组件144可确定用户位于另一特定用户附近。作为响应,重现组件144可检索与该另一个人相关的任何笔记,诸如通过检索提及该另一个人或者以其它方式与该另一个人相关的笔记。

重现组件144可使用任何位置确定机构(例如,全球定位系统机构)来在任何给定时间确定用户位置。重现组件144可通过以下操作来确定用户在另一用户附近:确定这两个用户的各自位置并且然后确定这两个位置之间的距离或者使用近场通信机构等来确定这两个相应用户所携带的两个用户设备的邻近度。

墨水分析组件116可通过对笔记的标题和/或正文执行语言分析(例如,实体分析和/或意图分析)以产生识别出的列表含义信息来确定笔记(诸如列表项)的含义。与画布呈现组件126协作的重现组件114然后在遇到与笔记的识别出的列表含义信息相关联的上下文时向用户提醒该笔记。

笔记存储和检索组件146可执行存储笔记并且然后检索该笔记的请求。笔记存储和检索组件146还可允许用户删除笔记、管理笔记的组织等。

上述补充组件132是作为示例而非限制引用的。系统102的其它实现可采用补充组件的其它集合。

图2示出了以上参照图1介绍的墨水分析组件116的一个实现。如上所述,墨水分析组件116的目的是分析如从输入捕捉设备104检索到的捕捉到的原始笔画信息。墨水分析组件116在其分析的基础上生成输出分析信息。

墨水分析组件116包括多个子组件。第一,墨水笔画解释组件202对捕捉到的笔画信息(由输入捕捉设备104提供)执行处理以生成识别出的笔画信息。暂时向前跳转至图4,假定用户使用指示笔402来创建三个笔记(404、406、408)以及涂鸦410。墨水笔画解释组件202应用聚类分析来确定是否存在出现在输入表面106上的笔画的任何局部编组。在图4的仅仅是说明性的情形中,墨水笔画形成四个局部编组,包括短语“calljillj.tonight(今晚打电话给jillj.)”、“lunchjim,wed.(周三与jim吃午饭)”以及“leaguenight!(联赛之夜!)”以及笑脸涂鸦410。响应于该确定,墨水笔画解释组件202定义四个相应的分析域。

对于每一分析域,墨水笔画解释组件202确定该域中所包含的书写的性质-主要通过确定书写是否涉及手写文本或手写绘图内容。此后,墨水笔画解释组件202使用手写至文本分析来将文本相关捕捉到的笔画信息转换成识别出的文本信息。墨水笔画解释组件202使用绘图至形状分析来将绘图相关捕捉到的笔画信息转换成识别出的形状信息。结果,例如墨水笔画解释组件202可将最上面的笔记转换成单词“call”、“jill”、“j.”、“tonight”。墨水笔画解释组件202可将最下面的涂鸦410分解成其分量形状,例如通过指示该涂鸦包括包围两个更小的圆圈和弧形的最外面的圆圈。

墨水笔画解释组件202可使用已知技术来执行以上任务。在一个这样的已知技术中,墨水笔画解释组件202可通过以下操作来处理捕捉到的笔画信息:(1)对捕捉到的笔画信息进行预处理(例如,通过规范化捕捉到的笔画信息、从捕捉到的笔画信息中移除噪声、平滑捕捉到的笔画信息等);(2)提取描述捕捉到的笔画信息中的墨水笔画的墨水特征;以及然后(3)使用所提取的特征来对墨水笔画进行分类。墨水笔画解释组件202可使用任何技术来执行分类任务,诸如使用模板匹配技术、统计技术(诸如隐马尔可夫模型技术)、神经网络技术等。在商业领域中,微软公司提供墨水分析api(应用编程接口)以供应用开发者使用,这些api在手写文本与手写绘图之间进行区分并且然后执行手写至文本分析以生成识别出的文本并且执行绘图至形状分析以生成识别出的形状。

作为其处理的结果,墨水笔画解释组件202可产生图4所示的识别出的笔画信息412。更具体地,墨水笔画解释组件202将捕捉到的笔画信息解析成单独的线条,前三条线涉及基于文本的手写笔记(404、406、408),而第四条线涉及涂鸦410。墨水笔画解释组件202还将每一条线分解成其构成分量。例如,墨水笔画解释组件202将第一条线分解成识别出的单词:“call”、“jill”、“j.”和“tonight”。墨水笔画解释组件202还保留识别出的笔画与原始墨水笔画之间的关联。在此,当用户与被呈现在画布显示设备108上的特定墨水笔画交互时,系统102可将该选择与特定单词或绘图分量相关联。最后,墨水笔画解释组件202保留关于识别出的笔画信息的不同部分之间的位置关系的信息。

返回至图2,墨水分析组件116还可包括执行对由墨水笔画解释组件202产生的识别出的笔画信息的更高级处理的一个或多个其它组件。例如,实体标识组件202分析识别出的笔画信息以确定其是否包括一个或多个实体项。每一个实体项指的是特定实体,诸如特定人、地点、物体、网站、事件、时间等。

实体标识组件204可使用已知技术来执行以上实体识别任务。在一种这样的技术中,实体标识组件204可使用机器训练模型来确定识别出的笔画信息是否包含实体项。为了引用仅仅一个特定实现,实体标识组件204可使用条件随机场(crf)模型来向识别出的笔画信息中的单词和短语指派标记。标记提供该模型的关于每一个单词或短语是否对应于实体项的假设。在另一情形中,实体标识组件204可使用基于规则的引擎来确定识别出的笔画信息中的单词或短语是否涉及实体项。例如,一条这样的规则可咨询字典以确定文本串是否映射到字典已知的特定地点、人或事物;如果是,则该规则将该文本串标记为实体项。另一条规则可指定包含“@”符号的文本串指代与电子邮件地址相关联的实体项。另一条规则可指定包含后缀“.com”的文本串涉及网站,等等。在商业领域中,微软公司提供命名实体识别(ner)模块,该模块可经由微软的azure云计算平台来访问以供开发者使用;该模块标识所提交的文本串中的实体名称的存在。

意图标识组件206分析与识别出的笔画信息相关联的潜在意图。例如,意图标识组件206可确定(图4的)第一笔记404的潜在意图对应于笔记记录者的在晚上打电话给名为“jillj.”的人的期望。

同样地,意图标识组件206能使用已知技术来执行以上任务。在一种这样的技术中,意图标识组件206可使用机器训练模型来确定识别出的笔画信息中的潜在意图。为了引用仅仅一个特定实现,实体标识组件204可使用深度学习模型(诸如深度神经网络模型)来确定识别出的笔画信息的潜在意图。在另一情形中,实体标识组件204可使用基于规则的引擎来确定捕捉到的笔画信息片段的意图。例如,一条这样的规则可指定包含电话号码的短语反映笔记记录者的打电话给与该号码相关联的特定人的期望。另一条规则可指定特定地点的名称与确定该地点在地图上的位置的期望相关。另一条这样的规则可指定包含关于一个人的多个信息片段的笔记与向用户的联系人信息添加新联系人的期望相关。在执行这些功能时,意图标识组件206可利用实体标识组件204提供的分类结果,例如这使得意图标识组件206能够将出现在笔记中的特定文本串解释为实体项。

列表标识组件208确定识别出的笔画信息是否展示暗示它可包含列表项的一个或多个指示性(telltale)特性。例如,列表标识组件208可以在以下情况下得出识别出的笔画信息包含列表的结论:(a)识别出的笔画信息包含之前是如同项目符号的符号(诸如破折号、点等)的一系列文本承载行;和/或(b)识别出的笔画信息包含沿着一个或多个特定参考边缘大致对齐的一系列文本承载行;和/或(c)识别出的笔画信息包含终止于相应换行符而不是横跨整个显示空间的一系列文本承载行;和/或(d)识别出的笔画信息包含主要映射到名词的一系列单词或短语(例如,如在提供要购买的物品列表的购物列表中),等等。以上规则集是作为示例而非限制引用的;其它实现可采用其它规则来确定列表项的存在。根据此处所使用的术语,列表项包括被称为列表成员项的两个或更多个条目。

另外,列表标识组件208可记录由特定用户提供的关于列表标识组件208是否已经正确地将识别出的文本信息片段标识为列表项的反馈。列表标识组件208可以在其对用户笔记的后续分析中计及每一个用户的反馈。例如,用户可以重复地指定只在一系列行在相应破折号之后的情况下这些行才被恰当地解释为列表项。列表标识组件208可通过随后只在识别出的文本信息包含必需的破折号的情况下才将该识别出的文本信息标识为列表项来计及用户反馈。实体标识组件204和意图标识组件206可使用类似的学习机制来定制其执行以供相应的特定用户使用。

手势标识组件210确定用户的墨水笔画是否构成调用命令的手势。例如,用户可通过绘制通过列表项中的列表成员项的线来做出一个这样的手势。手势标识组件210可检测该指示性动作,并且作为响应将激活信息转发至恰当的动作采取组件。手势标识组件210可通过将用户的墨水笔画与同已知手势相关联的预定手势模式信息相比较来检测手势的性质。例如,模式信息的一个这样的实例可描述与单词中的所有或大多数字符相交的手绘线的特性。解释组件112和手势标识组件210可被共同认为是命令检测功能,因为这两个组件都将用户的命令动作与用户的手写内容创建动作区分开。

最后,墨水分析组件116还可包括生成供sirc122用来构造查询的信息的搜索准备组件212。例如,搜索准备组件212可汇集出现在识别出的文本信息中的关键字以供用于构造查询。附加地或替换地,搜索准备组件212可汇集实体信息、意图信息等以供用于构造查询。附加地或替换地,搜索准备组件212可提取与绘图相关联的特征以供用于构造查询,等等。在一些实现中,搜索准备组件212还可使用模型来抽象出手写内容的含义,诸如通过使用机器学习式深度学习神经网络模型。sirc122可依靠这样的更高级分析的输出作为构造其查询中的附加特征。附加地或替换地,搜索准备组件212可提取可能对搜索有影响的用户信息,例如通过从用户的联系人信息中提取与出现在识别出的笔画信息中的识别出的实体名称类似的姓名。所提取的姓名帮助sirc122消除用户的手写笔记的歧义。以上搜索相关准备任务是作为示例而非限制引用的;其他实现可添加附加准备任务。

尽管未示出,墨水分析组件116还可包括助理准备组件,该助理准备组件的角色是生成可由助理组件128稍后在执行其任务时挖掘的初步分析。

图3示出了作为图1的系统102的另一部分的画布呈现组件126的一个实现。如上所述,候选呈现组件126通过生成由画布显示设备108呈现的显示信息来操作。

画布呈现组件126可包括用于处理显示信息的不同部分的呈现以及还用于管控用户与这些不同部分的交互的不同子组件。为了开始,实体呈现组件302通过修改标识出的实体项来产生经修改实体项。在产生经修改实体项时,实体呈现组件302可任选地改变标识出的实体项的视觉外观并将标识出的实体项变换成可操作形式。

更具体地,在一个实现中,实体呈现组件302产生经修改实体项以使得在被显示时该经修改实体项相对于捕捉到的笔画信息的其他部分被可任选地突出显示。作为示例而非限制,实体呈现组件302可将经修改实体项呈现为加下划线文本、加粗文本、彩色文本(用特定色彩呈现)、边界包围文本(例如,围框文本)等。另外,实体呈现组件302可通过将命令特征(诸如输入命中测试区域)与标识出的每一实体项相关联来产生经修改实体项。实体呈现组件302然后可管理用户与该命令特征的交互。

在一种操作方式中,解释组件112可检测用户何时激活与经修改实体项相关联的控制特征。作为响应,解释组件112可将所得激活信息转发至实体呈现组件302。此后,实体呈现组件302可触发另一下游动作采取组件。例如,假定用户激活与电话号码相关联的命令特征。作为响应,实体呈现组件302可将用户的激活信息路由至电话应用。在另一情形中,假定用户激活与电子邮件地址相关联的命令特征。作为响应,实体呈现组件302可将用户的激活信息路由至电子邮件应用,等等。更一般地,因环境而异的规则确定实体呈现组件302处理用户对不同种类的经修改实体项的激活的方式。

列表呈现组件304通过修改标识出的列表项来产生经修改列表项。标识出的列表项具有标识出的列表成员项的集合,而经修改列表项具有对应的经修改列表成员项的集合。在产生经修改列表项时,列表呈现组件304可任选地改变标识出的列表项的视觉外观并将标识出的列表项变换成可操作形式。

更具体地,列表呈现组件304产生经修改列表项以使得(标识出的列表项的)标识出的列表成员项被对齐到一个或多个参考边缘,例如通过相对于单个参考边缘左对齐标识出的列表成员项。另外,列表呈现组件304可使得标识出的列表成员项变直以使其在相同的方向上彼此平行。另外,列表呈现组件304可使得相邻的标识出的列表成员项之间的间隔均等。另外,列表呈现组件304可将复选框(或类似元素)添加到每一个标识出的列表成员项的开头。在一些情形中,列表呈现组件304可通过用复选框等来替换在每一个标识出的列表成员项(如果有)之前的无论什么手写符号(诸如破折号或项目符号点)来执行最近提及的任务。

列表呈现组件304还可将允许用户登记每一个标识出的列表成员项的完成的命令特征与该列表成员项相关联。在操作中,解释组件112可通知列表呈现组件304用户何时激活这些命令特征之一。作为响应,列表呈现组件304向用户提供关于他或她的动作的反馈,诸如通过向复选框添加检讫记号、绘制通过已激活的列表成员项的线、使已激活列表成员项的文本变灰、将已激活的列表成员项移至经修改列表项的底部,等等。在其他情形中,手势标识组件210可检测用户与经修改列表成员项的交互,例如检测为用户何时划掉列表成员项。

列表呈现组件304还可将标识出的列表项变换成使用户能够在经修改列表项内移动列表成员项的可操作形式。列表呈现组件304还可将标识出的列表项变换成使用户能够响应于缩放命令等来折叠和展开列表成员项的层次的可操作形式。列表呈现组件304通过将经修改列表项的各部分表示为可由用户操纵的可修改数据结构的分量来执行这些任务。列表呈现组件304可启用其他列表操纵操作。以下在小节a.2中描述的示例将阐明列表呈现组件304的操作。

助理响应呈现组件(arpc)306呈现由助理组件128生成以供呈现在画布显示设备108和/或任何其他输出设备上的响应。例如,arpc306可以按手写样式格式表达响应的文本,并且然后以该形式呈现该响应。在一种情形中,arpc306可使用预定手写样式字体来执行该任务,或者可以从预格式化单词的字典中拉取单词,等等。附加地或替换地,arpc306可以按时间上交错的方式递送响应以模拟人类在一时间跨度内书写消息的方式。在还有一些其他情形中,arpc306诸如在助理组件128调用游戏(诸如井字游戏(tic-tac-toe))时呈现非文本内容。

最后,主布局组件308将上述各子组件(实体呈现组件302、列表呈现组件304和arpc306)的输出集成到单个呈现中。例如,主布局组件308确定显示空间中的将经修改列表项作为中心的位置。主布局组件可基于标识出的列表项(如由用户绘制)的原始位置以及画布显示设备108的显示表面的可用屏幕空间来做出该判定。主布局组件308还可应用一条或多条规则以确定sirc122所生成的补充信息项或者由助理组件128生成的响应的布置。在一些情形中,主布局组件308可选择在已经触发该项的呈现的用户的无论什么手写笔记下显示这一项。最后,如上所述,画布呈现组件126无需同时显示以上标识出的所有显示项;该组件可以在这些项变得可供显示时将对其的呈现错开。

图8-16将提供画布呈现组件126的一种操作方式的附加示例。

前进至图5,该附图示出了对(数据存储504中的)训练示例的语料库进行操作以产生经训练模型506的机器学习组件502。对应于图2的墨水分析组件116的任何组件的标识组件508使用经训练模型506来分析识别出的笔画信息以提供输出分析信息(例如,识别出的实体项、识别出的意图、识别出的列表项等)。机器学习组件502可使用任何机器学习技术来产生任何对应的机器学习模型,诸如通过应用以下任一者(不限制):回归技术(诸如逻辑回归技术);支持向量机技术;最近邻居技术;决策树技术;聚类技术;神经网络技术;贝叶斯网络技术;等等。

图6示出了用于实现与标识组件606相关联的逻辑的规则应用引擎602及相关联的规则集(在数据存储604中)。标识组件606同样对应于图2的墨水分析组件116的任何子模块。规则应用引擎602可使用任何基于规则的技术来实现,诸如应用如果-则规则集的引擎、人工智能引擎等。如果-则规则将特定输入条件(诸如特定关键字的出现)映射到特定分析结果。

图7概述了(图1的)系统102可以在处理说明性笔记:“calljilljtonight”的过程中产生的不同信息项。首先,输入捕捉设备104产生捕捉到的笔画信息702,该信息提供组成该笔记的墨水笔画的图像。墨水分析组件116然后在捕捉到的笔画信息702的基础上生成输出分析信息704。墨水分析组件116可以按对应于可被传递给系统102中的其它组件的单独信息包的可修改数据结构的形式组织输出分析信息。在一个实现中,该数据结构可包括捕捉到的笔画信息702本身、识别出的笔画信息(例如,对应于识别出的文本信息)、任何识别出的实体信息(例如,对应于识别出的实体项“jillj.”和“tonight”)以及任何识别出的意图信息(例如,对应于在晚上打电话给名为“jillj”的人的识别出的意图)。

sirc122可提供任何补充信息项706。例如,这些补充信息项可包括关于名为“jillj”的人的联系人信息和/或涉及该笔记的电子邮件讨论。输出分析信息704和补充信息项706共同对应于系统102所提供的所有收集到的信息708。

助理组件128可访问涉及该笔记的对话710。例如,助理组件128可确定意图信息映射到用于设置提醒消息的特定对话710。提醒消息的目的是提醒用户在适当的时间打电话给所标识的人。对话710可包括被设计成收集设置提醒所必需的提醒信息片段的预定短语。例如,对话710可包括要求用户阐明他或她所指的人的身份的一个响应。对话710包括邀请用户指定进行呼叫的具体时间的另一响应,等等。

章节a中的其余小节描述了涉及系统102的三个相应使用场景。小节a.2描述了使用系统102来将捕捉到的笔画信息变换成可操作形式。小节a.3描述了使用系统102来在输出分析信息的基础上检索补充信息项。小节a.4描述了使用系统102来基于输出分析信息启用用户与助理组件128之间的交互。

a.2.将捕捉到的笔画信息变换成可操作形式

图8示出了其中使用系统102来突出显示捕捉到的笔画信息中的实体项的示例。该突出显示传达这些实体项的可操作状态。图8还示出了用户与突出显示的实体项的后续交互。在其它情形中,系统102可将实体项转换成可操作形式,而不在视觉上修改这些实体项(例如,不突出显示捕捉到的笔画信息内的实体项)。

更具体地,在状态a中,假定用户已经例如用指示笔802、手指或其它工具写了两个笔记。第一笔记804草草地记下人名和营业场所:“jilljohnsonatacmecorporation(jilljohnson在acme公司)”。第二笔记806写下一任务:“needtodiscussxyz123.composting(需要讨论xyz123.com发布)”。假设用户出于提醒他或她自己就特定主题(关于向特定网站syz123.com发布信息的讨论)打电话给在特定营业场所(acme公司)工作的特定人(jilljohnson)的意图写了这些笔记(804、806)。

在状态b中,墨水分析组件116已经分析了与该笔记相关联的捕捉到的笔画信息。结果,实体标识组件214标识分别对应于“jilljohnson”、“acmecorporation”和“xyz123.com”的三个实体项(808、810、812)。另外,意图标识组件206可标识与捕捉到的笔记信息相关联的总体意图。在执行这些识别任务时,墨水分析组件116还可咨询与写下笔记(804、806)的用户相关联的用户信息,包括例如用户的联系人信息、用户的先前地图选择、用户的先前旅行历史(例如,如由任何位置确定机构捕捉到的)、用户的先前浏览动作、用户的所指定的收藏站点信息,等等。例如,实体标识组件204可咨询用户的联系人信息以确定任何联系人是否具有类似于写下的姓名“jilljohnson”的姓名;如果是,则实体标识组件204将挑选该姓名,而不是从通用和用户不可知源获取的任何类似拼写的姓名。

在分析后,画布呈现组件126产生捕捉到的笔画信息的经修改表示。该经修改表示包括经修改实体项。例如,实体呈现组件302提供对应于捕捉到的笔画信息中的三个标识出的实体项的加粗和加下划线表示的三个经修改实体项(808、810、812)。使用加粗和加下划线仅仅是说明性的;其它实现可使用其它显示策略来传达这些经修改实体项(808、810、812)的可操作状态。注意,虽然画布呈现组件126修改标识出的实体项,但它以其它方式保留原始墨水笔画的总体外观。例如,在加粗标识出的实体项时,画布呈现组件126保留用户提供的手写实体名称的总体外观。在其它情形中,画布呈现组件126不以任何方式可视地突出显示实体项。

另外,实体呈现组件302将每一个标识出的实体项与控制特征(诸如命中测试区域)相关联。控制特征允许用户激活对应的经修改实体项,这进而调用特定功能。如在小节a.1中描述的,画布呈现组件126可提供定义控制特征与在激活这些控制特征之际调用的动作之间的映射的因环境而异和因应用而异的规则。例如,实体呈现组件302可将对一个人的姓名的激活与检索这个人的联系人卡片的动作相关联。实体呈现组件302可将对一个人的电话号码的激活与调用电话应用的动作相关联。实体呈现组件302可将对地点名称的激活与检索显示该地点的位置的地图信息的动作相关联。在其他情形中,用户可提供关于特定人的多个信息片段;在此,实体呈现组件302可将该信息项组合与将这个人的信息项存储在联系人存储中的动作相关联,等等。在一些实现中,系统102还可允许用户定制不同种类的控制特征与将在激活这些控制特征之际执行的所得动作之间的映射。

在状态c中,假设用户使用手指(或其它工具)通过触摸画布显示设备108的触敏显示表面上的第一经修改实体项808(jilljohnson)来激活该经修改实体项808。作为响应,解释组件112检测到该控制动作并将所得激活信息转发至联系人管理组件136。在状态d中,联系人管理组件136通过显示与相关联的人jilljohnson相关联的联系人卡片814来进行响应。接着,假设用户激活联系人卡片814内的电子邮件地址。在状态e中,电子元件消息收发组件140通过设立将被发送到这个人jilljohnson的电子邮件消息816来进行响应。总之,注意用户的笔记提供该用户可通过其执行所有这些动作的入口或跳板。

在其它情形中,系统102可以在解释用户的手写之际自动执行某些动作,而无需用户的显式触发动作。例如,假设系统102以高置信度得出用户旨在设置提醒的结论。助理组件128可通过自动地例如与日历组件138协同设置提醒来响应该结论。可任选地,助理组件128可将它已经设置的提醒通知给用户,从而给予该用户以任何方式修改提醒或者完全取消提醒的选项。

尽管未示出,但假设在状态b中,用户替换地决定用指示笔802或某一其它工具来修改笔记(804、806)。作为响应,在短暂停顿后,墨水分析组件116将重复其对新捕捉到的笔画信息的分析。并且然后画布呈现组件126将重复其对经更新的显示信息的生成和呈现。

图9示出了其中使用系统102来产生可操作列表项的示例。图9还示出了用户与可操作列表项交互以划掉列表成员项以指示相关联的任务已被用户完成。

更具体地,在状态a中,假设用户已写下列表项902。列表项902包括对应于可以在杂货店中购买的四种食品的四个列表成员项。列表项902还可任选地包括携带名称“tom’squick-stop”的标题904。假设用户已经添加该标题以标识列表项902的主题,例如通过指示他或她在特定商店(tom’squick-stop)购买标识出的杂货品的意图。

列表标识组件208可确定捕捉到的笔画信息包含列表项,因为它包含开始于破折号且终止于换行符的一系列名词。更一般地,列表标识组件208基于以下一者或多者来检测到存在列表:列表项中的列表成员项的空间排列;和/或存在居于相应的列表成员项之前的符号(如果有);和/或列表项中的列表成员项的语义特性,等等。

另外,实体标识组件204和意图标识组件206可执行其对捕捉到的笔画信息的分析。实体标识组件204可确定列表项902的标题904包括对应于特定商业设施(tom’squick-stop)的实体项。意图标识组件206还可确定用户从特定设施购买杂货品的意图;该结论可基于标题904和/或列表项902的正文中的列表成员项的性质来搜集。基于这些结论,系统102可将列表项902与tom’squick-stop(以及可任选的所有杂货店)相关联。在缺少标题的情况下,系统102可以例如基于列表项902中的列表成员项的性质来将列表项902与所有杂货店相关联。

在状态b中,列表呈现组件304呈现经修改列表项906,其表示标识出的列表项902的经修改版本。列表呈现组件304通过相对于参考边缘对齐(标识出的列表项902中的)标识出的列表成员项来产生经修改列表项906。列表呈现组件304还可任选地规范化标识出的列表成员项的倾斜以使其全都在相同的方向上并由此对于用户看上去是平行的。列表呈现组件304还可任选地使相邻的标识出的列表成员项之间的间隔均等。列表呈现组件304还可任选地将复选框908(或类似元素)添加到相应的标识出的列表成员项的开头。在此,复选框908替代用户的破折号。列表呈现组件304还可以向标识出的列表成员项添加命令特征以使其能够被用户激活和操纵。注意,在做出以上修改时,列表呈现组件304保留用户的原始手写笔画的大致外观。

最后,实体呈现组件302可任选地突出显示标题中的名称“tom’squick-stop”,因为该文本对应于标识出的实体项。这产生了经修改实体项。如在图8的情形中,实体呈现组件302还可将控制特征与标识出的实体项相关联。在一种情形中,地图组件142可以在用户激活经修改的实体项tom’squick-stop时呈现显示tom’squick-stop的位置的地图。

在状态c中,假设用户现在与列表呈现组件304交互以操纵经修改列表项906。更具体地,假设用户使用手指来触摸对应于杂货品“eggs(鸡蛋)”的经修改列表项910的复选框。该用户动作指示该杂货品已被购买或者由于某种原因不再需要。作为响应,列表呈现组件304产生状态d中示出的显示信息。用户可通过再次触摸经修改列表项910的复选框来取消选择该经修改列表项910。(注意,用户可替换地通过用指示笔或其它工具来绘制通过经修改列表成员项910的线来登记他或她对经修改列表项910的完成。手势标识组件210然后将用户的手势解释为登记对项目910的完成的命令。)

在状态d中,假设列表呈现组件304向经修改列表成员项910添加复选标记并将经修改列表成员项910移至经修改列表项906的底部。列表呈现组件304可以按任何其它方式提供关于用户与经修改列表成员项910的交互的反馈,诸如通过使与该列表成员项910相关联的文本变灰、用不同的色彩显示该列表成员项910、用删除线标记来显示该列表成员项910、以缩小的大小显示该列表成员项910、将该列表成员项910折叠到不被显示(但可以在命令下被重新激活)的已完成项的集合中、完全删除该列表成员项910,等等。

尽管未示出,但在用户批准的情况下,基于上下文的重现组件144还可监视用户在已知零售设施的地图内的移动。假设基于上下文的重现组件144确定用户存在于该商店tom’squick-shop中或者至少在该商店附近。如果经修改列表项906此时包含任何未完成列表成员项,则基于上下文的重现组件144可指令画布呈现组件126显示经修改列表项906。经修改列表项906的这一重现用作对用户完成与经修改列表项906相关联的动作项的提醒。(重现组件144可替换地在用户在任何杂货店内或附近(不一定是tom’squick-shop)时执行相同的动作。)

图10示出了其中用户创建具有列表成员项的两个或更多个层次的列表项1002的更复杂的示例。例如,如在状态a中示出的,处于其原始状态中的列表项1002包括与将在早餐时消费的食品有关的第一系列的列表成员项1004。列表项1002包括与将在野餐时消费的物品有关的第二系列的列表成员项1006。除了总标题(tom’squick-stop)之外,列表项1002可任选地包括与列表成员项的各个子集相关联的副标题。这些标题表示相对于其各自的子列表中的条目的父节点。

在状态b中,墨水分析组件116得出捕捉到的笔画信息包含标识出的列表项1002的结论。如前,墨水分析组件116还可执行实体分析和意图分析以确定与列表项1002相关联的任何实体项和意图。画布呈现组件126然后呈现经修改列表项1008。经修改列表项1008对应于标识出的列表项1002的美化版本,例如通过将标识出的列表成员项对齐到参考边缘并使得标识出的列表成员项的方向变直来产生。经修改列表项1008还向各个标识出的列表成员项添加复选框。说明性复选框1010是一个这样的复选框。

在状态c中,假设用户决定将特定经修改列表成员项1012从第一系列的经修改列表成员项移至第二系列的经修改列表成员项。用户可通过用手指或其它工具将经修改列表成员项1012拖拽到显示表面上的期望位置来执行该任务。(该手势可涉及用于指令系统102调用拖拽模式的预设(prefatory)的触摸并按住手势。)解释组件112检测到用户正在执行拖拽手势,而不是在输入表面106上绘图。然后,列表呈现组件304通过将经修改列表成员项1012移至期望位置来响应用户动作。状态d示出在状态c中执行的动作的最终结果。用户可替换地执行其它列表编辑操作,诸如剪切并粘贴手势。使用剪切并粘贴手势,用户可以在经修改列表项内移动经修改列表成员项或者将列表成员项从该列表中删除。用户还可使用剪切并粘贴手势来将经修改列表成员项从一个列表复制到另一个列表。

最后,在状态e中,接着假设用户执行用于缩小的缩放命令,由此显示显示表面的更多内容呈现。作为响应,列表呈现组件304将经修改列表项1008折叠到其两个主要副标题中,这两个副标题对应于经修改列表项1008中的两个相应父节点。如果用户放大回来,则列表呈现组件将经修改列表项1008还原到其在状态d中示出的更详细的状态。

一般而言,系统102容适图9和10所示的列表操纵操作的类型,因为列表项(902、1002)已经被恰当地解释为列表并且然后变得可操作以产生经修改列表项(906、1008)。换言之,经修改列表项(906、1008)并非仅仅是用户产生的静态墨水笔画,而是具有与其相关联的控制能力的有意义的可操作内容项。这些经修改列表项是可触摸的(以激活它们)、可移动的、可折叠的,等等。

在另一场景中,假设用户创建包括与不同类别相关联的列表成员项的列表项,但用户未将这些列表成员项分组到图10所示的子列表中。然而,墨水分析组件116可以对列表成员项执行语义聚类以自动地将列表成员项分组到不同的类别中。列表呈现组件304然后可自动地创建与各类别相关联的不同子列表,并且在画布显示设备108上显示这些子列表。换言之,列表呈现组件304可自动地对用户所写的原始列表项中的列表成员项进行重排序。

最后,图11在状态a中示出了其中原始列表项1102包含相比于图9和10中的列表成员项更复杂的列表成员项的示例。更具体地,列表项1102中的每一个列表成员项使用两个或更多个单词来指定复杂意图。例如,第一列表成员项1104指定对用户就特定主题(例如,获取密钥的主题)打电话给名为sally的人的提醒。

系统102可产生状态b中示出的经修改列表项1106。该经修改列表项1106包括列表成员项的美化组织。经修改列表项1106还可产生每一实体项的经修改表示(如在图8的情形中),例如通过产生经修改实体项。例如,在第一列表成员项1104中,实体呈现组件302产生对应于标识出的实体项“sally”的加粗和加下划线表示的经修改实体项1008。尽管未示出,但用户可以按以上参照图8描述的相同的方式与经修改列表项1106中的任何经修改实体项交互以产生图8所示类型的所得行为。

总之,小节a.2已经提供了其中系统102将捕捉到的笔画信息转换成可操作形式的两个主要示例。第一示例涉及对实体项应用系统102,而第二示例涉及对列表项应用系统102。更一般地,相同的原理可被扩展至可存在于捕捉到的笔画信息内的其他种类的感兴趣的内容项。例如,在其它情形中,系统102可将某些种类的识别出的绘图内容变换成可操作形式或者将数学符号变换成可操作形式,等等。

上述计算机实现的技术产生技术性质的各种有用效果。例如,该技术不仅是用于存储和检索笔记的机制,而且还提供了允许用户快速且高效地执行笔记所指代或以其它方式牵涉的补充任务的跳板。该能力进而节省与实现该技术的计算设备交互的用户时间,例如通过消除用户原本需要以手动方式执行的一个或多个操作(诸如通过消除对用户手动激活用户的联系人存储并从中提取有用信息的需求)。作为进一步的结果,该能力高效地使用计算设备的计算资源。即,通过减少所执行的动作量以及用户需要与计算设备交互的时间量,系统102可减少计算资源的消耗,诸如通过减少电池消耗、cpu使用、存储器使用等。

另外,该技术是非介入式的,因为它允许用户以他或她已经习惯的方式写笔记。换言之,在一个实现中,该技术不需要用户学习不同于使用笔和纸来捕捉笔记的普通实践的特殊记笔记协议。该技术而是在用户不作为的情况下自动地在该用户以传统方式创建的笔记之“上”添加补充信息和控制能力层。该技术的这一特性使用户更容易地学习和使用该技术。

作为一相关点,系统102还可以在没有来自用户的引导的情况下以自动化的方式将捕捉到的笔画信息变换成可操作形式。该能力进一步提高用户与系统102的交互的效率,例如通过消除对用户专门标记供附加分析的手写笔记的各部分的需求。

另外,系统102还可利用与用户相关联的个人信息。该置备(provision)通过更准确地解释用户的手写笔记(这进而可减少用户纠正已被不正确地解释的笔记的需求)来进一步提高用户的效率。

另外,系统102可以在上下文合适的情形中自动显现(检索并呈现)用户的笔记,如在其中系统102在用户存在于tom'squick-stop中时或者在用户在该设施附近时回想起杂货品的列表的情形中。该能力还提高用户的效率,因为该能力移除了用户独立记住列表项存在的需求。该能力还消除了用户手动检索列表项的需求。

a.3.检索并呈现补充信息

图12示出了其中系统102被用来检索一个或多个补充信息项并且自动将这些补充信息项附加到捕捉到的笔画信息的示例。

更具体地,在状态a中,用户已经写了三个笔记(1202、1204、1206)。第一笔记1202标识名为jilljohnson的在特定雇佣场所(acme公司)工作的人。第二笔记1204指定航线航班,即通过指定航空公司(西南航空)和航班号(#1549)。第三笔记1206标识要执行的任务,即“remembertomentiontravelreimbursementissue(记得提出旅行偿付问题)”。总之,用户可能已经写下这些笔记(1202、1204、1206)以提醒他或她自己名为jilljohnson的在acme公司工作并且将乘特定航班到达的人的到达;用户还希望在她到达时与jill讨论旅行偿付的主题。

响应于该输入,墨水分析组件116在捕捉到的笔画信息的基础上来执行以上在小节a.2中描述的相同种类的分析。即,墨水分析组件116使用其实体标识组件204来确定捕捉到的笔画信息包含三个实体项,第一个实体项对应于姓名“jilljohnson”,第二个实体项对应于营业场所的名称“acme公司”,第三个实体项标识航班“西南航空#1549”。意图标识组件206还可分析捕捉到的笔画信息以标识笔记(1202、1204、1206)中潜在的上述意图。搜索准备组件212可将识别出的单词、符号、形状、实体信息、意图信息、所提取的用户信息等汇集到单个包中。搜索准备组件212还可对识别出的笔画信息执行附加的更高级的分析以产生输出结果。所有这些信息都有助于由墨水分析组件116提供的输出分析信息。

sirc122然后使用上述输出分析信息中的全部(或部分)来构造搜索查询。更具体地,sirc122可构造包含笔记(1202、1204、1206)中的任何或全部识别出的单词的查询。sirc122还可向查询添加标识已被标识为实体项的文本串的标签信息。sirc122还可向查询添加与任何识别出的意图有关的信息。搜索准备组件212还可挖掘与用户相关的任何数据存储,并且作为响应sirc122向搜索查询添加任何相关的个人信息。例如,用户的个人信息可帮助解析如在笔记(2002、2004、2006)中指定的人“jilljohnson”的身份以及公司“acme公司”。另外,sirc122可以向查询添加任何相关的上下文信息。一个这样的上下文信息片段是用户在当前时间的位置等。sirc122然后可以向搜索引擎呈现查询,搜索引擎随后基于该查询来执行搜索。

在状态b中,实体呈现组件302提供对应于上述三个标识出的实体项的三个经修改实体项(1208、1210、1212)。sirc122还基于已被执行的搜索来自动检索并呈现三个补充信息项(1214、1216、1218)。第一补充信息项1214提供与个人jilljohnson相关的联系人卡片。第二补充信息项1216与标识出的航班的航班细节有关。第三补充信息项1218与涉及旅行偿付的主题有关的电子邮件讨论相关。电子邮件讨论还可以与创建笔记(1202、1204、1206)的用户和/或笔记(1202、1204、1206)中指定的人(即,jilljohnson)相关联。将领会,补充项的这一子集是作为说明而非限制示出的;系统102的其他实现可提供任何其它相关的信息片段。

注意,第一和第三补充信息项(1214、1218)可以从由用户维护或以其他方式与用户相关联的一个或多个数据存储中检索。还注意,第二补充信息项1216包含可动态改变的信息,包括到达时间信息、登机口信息、航班状态信息和天气信息。这些更新可以在推送和/或拉取的基础上执行。在推送递送的情形中,该信息的源(例如,提供旅行细节的网站)可以在周期性和/或事件驱动的基础上提供更新。在拉取递送的情形中,系统102可以在周期性和/或事件驱动的基础上向源要求更新。

主布局组件308可基于任何因环境而异或因应用而异的规则来相对于笔记(1202、1204、1206)布置补充信息项(1214、1216、1218)。在图12所示的说明性场景中,画布呈现组件126在笔记(1202、1204、1206)下面显示补充信息项(1214、1216、1218)。同样注意,笔记(1202、1204、1206)已由实体呈现组件302修改。在另一情形中,画布呈现组件126能够以可被激活以检索完整的补充信息项(1214、1216、1218)的链接、图标等形式呈现初始补充信息项。

用户可以按小节a.2中描述的方式与补充信息项(1214、1216、1218)中的任一者交互以执行恰当的任务。例如,用户可激活jilljohnson的联系人卡片以激活电话应用。用户可激活电子邮件讨论以查看该电子邮件讨论,等等。

系统102可基于任何定时将补充信息项(1214、1216、1218)添加到捕捉到的笔画信息。例如,在一些情形中,一检索到补充信息项(1214、1216、1218)并且在任何情况下在其中用户已经创建原始笔记(1202、1204、1206)的相同会话内,系统102就将这些补充信息项(1214、1216、1218)添加到捕捉到的笔画信息。在另一情形中,系统102可以例如在跟随在其中用户创建原始笔记(1202、1204、1206)的会话之后的会话中以延迟方式将至少某些补充信息添加到捕捉到的笔画信息。系统102可提供延迟的补充信息,因为该信息在用户创建笔记时可能尚不可用。另外,如将在下文中描述的,在一些情形中,sirc122可以周期性地重新制定并重新提交其查询以获取经更新的补充信息项。

总之,系统102可操作用于自动分析捕捉到的笔画信息并呈现补充信息项,而不是被用户提示这样做。用户仅仅以普通方式生成笔记,在此之际他或她在相同的会话中和/或在后续会话中被呈现补充信息项。系统102还可给予用户关闭这一自动搜索行为的能力。

前进至图13,该附图示出了其中系统102用补充信息来注释原始输入笔画信息的另一示例;然而,在此,原始笔画信息是相比于图12的情形更复杂的。

更具体地,如状态a中所示,假设用户是选修与生物学有关的课程的学生,并且当前正在学习动物细胞的组成。用户因此已经在涉及细胞组成主题的一个或多个课程会话内记笔记。即,第一笔记1302涉及细胞膜的副主题,第二笔记1304涉及细胞核的副主题,第三笔记1306涉及细胞线粒体的副主题,以此类推。墨水分析组件116(具体而言是搜索准备组件212)可基于输入表面106上的墨水笔画的空间群聚和/或通过执行对与笔记相关联的概念的语义聚类来标识不同的笔记部分。与笔记相关联的概念进而可基于笔记中的关键字和/或其某一更高层面的抽象(例如,使用潜在语义分析(lsa)等来产生)来确定。

用户还已创建传达动作项的笔记1308。例如,用户已经草草写下为测验学习并从名为emma的人那里获得缺失的笔记的提醒。一般而言,这些单独笔记全都涉及相同的大致话题(在生物学课程的上下文中是细胞组成),但每一个笔记还具有该大致话题内的特定焦点。

sirc122可基于上述笔记中所指定的信息来执行不同类型的搜索。例如,sirc122可制定并提交与笔记中所呈现的所有信息相关的第一类型的查询。换言之,sirc122可制定并提交反映细胞生物学的大致主题的查询。sirc122可通过集成(由搜索准备组件212)从笔记的所有不同部分收集到的查询项来产生这一一般化查询。另外,sirc122可呈现与笔记的各个部分相关的一个或多个具体聚焦的查询。例如,sirc122可基于笔记部分中的与该副主题(即,对应于笔记1302)相关的关键字(如由搜索准备组件212标识)来提交涉及细胞膜的第一具体定制查询。

sirc122(与搜索准备组件212协作)还可采用更复杂的搜索策略来检索相关文档。例如,sirc122(和/或搜索准备组件212)可使用潜在语义分析(lsa)等来将笔记转换成更高抽象的语义空间。sirc122然后可使用该更高抽象表示来在数据存储中查找相关文档,每一相关文档都已被类似地转换成更高维度的语义空间。更高抽象表示具有提取信息片段的含义、捕捉基于笔记中的表层单词本身可能不是显而易见的知识的效果。

状态b示出了由画布呈现组件126提供的显示信息。首先,显示信息可包含上述可操作内容项的类型。例如,列表呈现组件304已经将笔记1308变换成具有两个经修改列表成员项的经修改列表项。第一经修改列表成员项指定为周二的考试学习的任务,而第二经修改列表成员项指定从emma获取缺失的笔记的任务。注意,系统102已经将附加信息添加到用户的经修改列表项,例如通过指定考试将在周二进行。系统102已经通过咨询课程的课程大纲来获取该信息。另外,实体呈现组件302已经产生分别对应于“tuesday(周二)”和“emma”的经修改实体项(1310、1312)。

另外,画布呈现组件126可呈现它已经从合适的数据存储中检索到的对应于动物细胞的示图1314的图像。画布呈现组件126还可呈现已从其获取示图1314的源的指示1316,诸如通过提供url或者提供可以从广域网(诸如因特网)检索到该示图1314的位置的其它地址。在一个实现中,sirc122可基于计及所有笔记(1302、1304、1306……)的内容(而不是笔记中的任一个单独副主题)的一般查询来检索示图1314。即,sirc122可基于如由搜索准备组件212标识的笔记(1302、1304、1306……)中的单词来构造查询,并且然后将这些单词与同相应图像(和/或其它内容项)相关联的文本元数据相比较。

另外,画布呈现组件126可以用补充信息项来注释笔记中的每一个副主题。例如,画布呈现组件126能够:用第一补充信息项1318来注释涉及细胞膜的笔记1302;用第二补充信息项1320来注释涉及细胞核的笔记1304;用第三补充信息项1322来注释涉及细胞线粒体的笔记1306,等等。注释特定笔记的每一补充信息项涉及该笔记的副主题。例如,补充信息项1318涉及细胞膜的副主题。一般而言,所提供的补充信息项可对应于任何性质的图像内容(照片、示图等)、基于文本的内容、音频信息、视频信息等。

在图13的示例中,补充信息项(1318、1320、1322)采取可操作图标的形式。用户可激活任何图标(例如,通过触摸该图标)以检索关于特定副主题的补充信息。在一些实现中,一旦图标被激活,画布呈现组件126就可在与原始笔画信息相同的显示表面上表示其相关联的补充信息。或者画布呈现组件126可以在弹出窗口等上呈现补充信息,这些补充信息稍后可被用户停用。在另一实现(未示出)中,画布呈现组件126可自动地将补充信息项集成到显示信息中,而不首先呈现图标。

如参照图12描述的,系统102可自动呈现补充信息项,而并非被用户提示这样做。另外,系统102可基于任何因环境而异和因应用而异的定时考虑事项来检索并呈现补充项。在一些情形中,系统102在用户创建笔记时以实时或近乎实时的方式检索并呈现补充信息项。在其他情形中,系统102可以在稍后会话(意指并非是其中用户创建笔记的同一会话的会话)中呈现一些补充信息项。系统102还可以在确定它呈现补充信息项的定时以及它呈现补充信息项的方式时计及用户的先前反馈。

如还参照图12描述的,系统102(具体而言是搜索准备组件212)可利用关于用户的个人特性的任何信息来增强由sirc122制定的查询的相关性,并由此提高sirc122检索到的补充信息项的质量。例如,基于搜索准备组件212的分析,sirc122可以在制定查询时计及用户的先前表达的兴趣。例如,基于搜索准备组件212的分析,sirc122可计及:用户在先前几天在同一课程中做出的笔记;用户在其它课程中做出的笔记;用户执行的先前手动搜索的性质,等等。

另外,在图12和13两者中,搜索准备组件212可检测用户在一时间跨度内创建笔记的动态方式和/或用户向笔记添加补充修饰的方式。例如在一些情形中,用户可花费相对较大量的时间来从事他或她的笔记的特定部分。例如,用户可相对于其它部分缓慢地创建一笔记部分。替换地或附加地,用户可重复地返回到一部分以详细说明呈现在那里的信息或者纠正呈现在那里的信息。替换地或附加地,用户可决定对一部分中的某些单词和基于示图的内容加下划线、划圈或以其它方式进行突出显示。替换地或附加地,用户可以用问号等来注释笔记。sirc122可将上述行为中的全部或任一者用作检索关于特定部分的相对于其它部分更多数量的补充信息项的线索。sirc122基于以下前提来以此方式操作:用户献给特定部分的关注量与该部分对该用户的重要性相关,这进而与用户可发现对该部分有用的补充信息量有关。为了以上述方式来工作,搜索准备组件212可分析如由输入捕捉设备104捕捉到的与由用户做出的墨水笔画相关联的时间信息,这允许该组件确定用户创建笔记的时间方式。搜索准备组件212还可使用模式识别来标识用户何时输入特定突出显示标记(诸如加下划线、加星号等),例如通过将用户的标记与同已知的突出显示标记相关联的模式进行对比。

在其它情形中,sirc122(与由搜索准备组件212执行的时间分析协同)可计及用户创建不同笔记的次序,因为该时间信息可能对用户在该给定时间的信息需求有影响。仅仅列举该特征的一个应用,相比于较老的笔记,sirc122可赋予用户最近添加的笔记的重要性更大的权重。该行为基于以下前提:用户可能对接收关于他或她最当前的笔记的主题的帮助更感兴趣。

作为另一特征,sirc122可以在周期性的基础上和/或在事件驱动的基础上重新制定并重新提交其查询。例如,sirc122可重新制定并重新提交查询以计及添加到笔记的新内容和/或计及可由正被搜索的源主存的新内容。因此,注释用户笔记的补充项可以因见解而异。用户可以诸如通过控制其中重新提交查询(如果完全被准许)的情形来控制该行为的任何方面。

图14示出了其中用户的原始墨水笔画包含基于文本的笔记1402和手写示图1404两者的情形。例如,继续图13中阐述的场景的主题,手写示图可对应于用户对动物细胞的草绘。在一些情形中,手写示图1404可对应于考虑中的目标主题的相对更粗略且更不正式的再现。例如,细胞的示图1404可以是不完整或不准确的。

响应于用户输入,搜索准备组件212可将捕捉到的笔画信息转换成识别出的文本信息(使用手写至文本分析)和识别出的形状信息(使用绘图至形状分析)。sirc122然后可以只对识别出的文本信息、只对识别出的形状信息或者对识别出的文本信息和识别出的形状信息两者执行其搜索。

假设sirc122基于仅仅识别出的形状信息来执行搜索。为此,sirc122依靠搜索准备组件212来从捕捉到的原始笔画信息和/或识别出的形状信息中提取基于绘图的特征。将要搜索的相关数据存储中的每一个图像可由其特性特征来类似地表示。sirc122然后可通过将所提取的特征与数据存储中的图像的特征相比较来查找相关图像。系统102可使用基于内容的图像检索(cbir)技术来执行以上标识的图像搜索任务。例如,一些技术通过比较与两个相应图像相关联的两个特征集之间的距离来确定两个图像之间的相似性;每一特征集可包含形状相关特征、色彩相关特征、纹理相关特征等。

在图14的场景中,假设sirc122从数据存储中检索图像1406。该图像1406可包含由用户创建的手写示图1404的更正式的对应示图。画布呈现组件126可以毗邻手写示图1404呈现图像1406。替换地,尽管未被示出,但画布呈现组件126可以用图像1406来替代手写示图1404。画布呈现组件126还可任选地显示揭示图像1406的源的指示1408。

上述计算机实现的技术具有与以上在小节a.2中阐述的那些技术类似的技术效果。即,系统102不仅提供用于存储并检索笔记的机制,而且提供自动将语义上相关的信息附加到笔记的方式。该技术节省用户时间,因为用户原本需要单独地(且手动地)检索补充信息。更具体地,该技术消除了用户手动分析笔记、手动构造一个或多个查询、手动选择恰当的数据存储并且然后使用所制定的查询来手动地从数据存储中检索合适的信息的需求。该用户效率收益还有助于高效地使用实现该技术的计算设备的计算资源,例如通过消除原本将消耗这些资源的步骤。该技术还是非介入式的,因为它不需要用户背离他或她的正常的记笔记实践。

a.4.与助理组件交互

图15示出了其中系统102允许用户基于捕捉到的笔画信息来与助理组件128交互的示例。在图15的具体情形中,该交互采取由助理组件128选择的对话的形式。该对话的目的是收集用于设置提醒的信息。助理组件128然后基于已经收集到的信息来执行设置提醒的动作。在其它情形(未示出)中,助理组件128可以在不参与到与用户的对话的情况下执行动作。

更具体地,在状态a中,用户输入笔记1502:“meetjillat8–thegrill(8点在thegrill与jill会面)”。假设用户在做出该笔记时的意图是创建在特定时间(晚上8:00)、在特定设施(thegrill餐馆)与朋友(jill)会面的提醒。

在状态b中,墨水分析组件116已经解释用户笔记1402并且确定该笔记包含两个实体项,即人名(“jill”)和餐馆名称(“thegrill”)。作为响应,画布呈现组件126呈现捕捉到的原始笔画信息的经修改表示1504。经修改表示1504包括“jill”和“thegrill”的经修改实体项。假设意图标识组件206也已经成功地将捕捉到的原始笔画信息映射到揭示用户想要在特定地点、在特定时间与某个人会面的意图。例如,意图标识组件206可将单词“meet(会面)”视作用户想要设置会面的指示性指示。

还假设助理组件128还接收由墨水分析组件116提供的输出分析信息。作为响应,助理组件128使用标识出的意图信息来查找和检索补充意图信息的对话,例如通过咨询将标识出的意图映射到相应对话的一条或多条规则。例如,因为意图信息指示用户想要在将来与某个人会面,所以助理组件128通过利用特定规则来检索被设计成设置对该事件的提醒的对话。该对话向用户呈现被设计成收集设置该提醒所需要的所有信息项的一个或多个提示。

更具体地,在状态b中,助理组件呈现读作“jilljohnsonorjillsmith(jilljohnson还是jillsmith)?”的初始响应1506。在此,助理组件128(或输出分析组件116)已经咨询用户的联系人信息以确定其指定了名为jill的两个人。响应1506的目的是确定用户指的是哪一个jill。在一种情形中,arpc306能够以与虚拟助理的“个性”相关联的手写样式(由助理组件128提供)制定该响应。指示性手写向用户警告响应1506源自助理组件128的事实。用户还可将响应1506的手写样式感知为有美感,因为该样式与用户正在创建的笔记的总体外观和感觉相称。然而,注意,arpc306可使用任何类型的字体来显示该响应1506。作为另一特征,arpc306可任选地以时间上错开的方式显示该响应以模拟人类书写的方式。即,arpc306可通过从左到右按顺序写出各字符来显示姓名“jilljohnson”。

最后,注意系统102以自动化方式显示响应1506,而不必由用户提示这样做。用户简单地正常地创建笔记,在此之际响应1506出现。如在先前示例中,用户可替换地停用助理组件128以使得响应1506不被提供。

在状态c中,假设用户为响应1506中的姓名“jilljohnson”加下划线(如下划线标记1508所示)。通过这样做,用户传达他或她指代jilljohnson,而不是jillsmith。替换地,用户可通过书写姓“johnson”(或者通过说出姓johnson等)来提供回答。替换地,响应1506可具有与其相关联的例如对应于两个姓名下面的命中测试区域的控制特征。用户然后可通过触摸该区域或以其它方式激活它来激活其中的一个姓名。

在状态d中,假设助理组件128提供另一响应1510,这次询问用户想要将会面安排在晚上8:00还是早上8:00。在状态e中,用户已经向响应1510添加指示他或她想要在晚上8:00与jill会面的下划线标记1512。

在生成响应时,助理组件128(和/或墨水分析组件116)还可利用任何补充资源,诸如关于用户的先前行为的用户信息。例如,假设用户频繁地与jilljohnson会面,但很少与jillsmith会面。助理组件128可通过省略状态b中示出的响应1506或者以任何合适的方式重新措辞(诸如通过陈述“weassumeyoumeanjilljohnson;ifnot,taphere(我们假设您意指jilljohnson;如果不是,轻击这里)”)来计及该信息。助理组件128(和/或墨水分析组件116)还可以从用户提供的先前回复中学习。例如,如果用户一直选择jilljohnson而不是jillsmith,则助理组件128最终可自动假定用户想要指定jilljohnson。用户保留纠正这些假设中的任一假设的自由。

在状态f中,助理组件128执行设置提醒的动作(假设系统102现在已经具有足够的信息来设置该提醒)。助理组件128可任选地提供用于向用户警告提醒已被设置的最后响应1514。响应1514还给予用户在提醒消息不正确的情况下改变该提醒消息的任一部分的机会。

在状态g中,日历组件138在合适的时间(例如,在所谈论的事件之前的规定时间量)提供合适的提醒1516。在一些实现中,系统102可以向提醒给予从笔记中提取的标题,诸如标题:“appointmentwithjill(与jill的约会)”。

在一替代场景中,假设用户的原始笔记指定了助理组件128设置提醒所需的所有信息项。在此,助理组件128可以在用户不参与图15所示的对话的情况下设置提醒。换言之,助理组件128无需向用户发送任何响应。

前进至图16,状态a示出其中用户输入读作“atthegrill,waitingforjill.bored(在thegrill等jill,无聊)”的笔记1602的情形。还设想用户然后在相对较长的时间段(例如,大于5分钟等)内避免书写附加内容。基于该用户行为,墨水分析组件116得出以下结论:用户未有意义地参与执行任何任务并因此该用户可能对愉快的消遣感兴趣。例如,墨水分析组件116可响应于以下情况来得出上述结论:(a)用户使用触发关键字“bored(无聊)”;(b)用户已经停止记笔记的事实;(c)用户的日历当前为空闲的事实;(d)用户的个人脾性(如用户的先前行为中所反映的),等等。替换地或附加地,用户可能已经使用皱眉脸或困倦脸的手写绘图来传达他或她的无聊。墨水分析组件116可将该手写内容转换成识别出的形状信息,并且然后墨水分析组件116可通过将识别出的形状信息与同不同情绪相关联的已知图案相比较来识别出用户的涂鸦的含义。

在状态b中,在得出用户无聊的结论后,助理组件128生成问用户他或她是否希望与虚拟助理一起玩游戏的响应1604。(重复一遍,虚拟助理对应于由助理组件128维护的人员。)如在状态c中反映的,假设用户通过经由笔记1606书写“ok”来响应该邀请。在状态d中,助理组件128通过绘制网格1608以供在玩井字游戏时使用来进行响应。助理组件128还例如通过在网格的一单元格中呈现标记1610来做出初始步。替换地,助理组件128可等待用户做出初始步。在状态e中,用户使用指示笔1612、手指或某一其它工具来在另一单元格中添加标记1614。游戏继续直到一个参与者获胜或达到某一其它终止条件。

井字游戏仅仅是说明性的。更一般地,助理组件128可呈现任何其它交互式娱乐活动,其中这一活动涉及虚拟助理与用户之间的交互。其它示例可包括猜字游戏、智力问答游戏等。在其他情形中,助理组件128可邀请用户从事该用户可能已经在过去的某个时间开始但未完成的任何性质的一个或多个任务。

在又一场景中,用户可通过绘制井字网格(而不是依靠助理组件128来识别出用户的情绪并且然后自己绘制网格)来发起图16所示的井字游戏。墨水分析组件116可参照预定模式信息来识别出该网格。助理组件128然后加入用户一起玩井字游戏。

上述计算机实现的技术具有与以上在小节a.2和a.3中描述的那些技术类似的技术优点。例如,该技术不仅仅是用于存储并检索笔记的机制,而且还提供自动地使用户参与涉及笔记的对话的方式。总之,该技术允许用户以高效的方式执行任务,例如通过消除用户原本需要以单独且手动的方式调用的操作。例如,为了手动设置提醒,用户将需要激活日历应用并且然后从头开始手动提供所有必需的信息字段的值。在图15和16的情形中,系统102以无缝的方式将该信息的收集与用户对笔记的创建集成在一起。该用户效率收益进而高效地使用实现该技术的计算设备的计算资源,例如通过消除原本将消耗这些资源的步骤。该技术还是非介入式的,因为它不需要用户背离他或她的正常的记笔记实践。

b.说明性过程

图17-19以流程图形式示出了解释章节a中的系统102的操作的过程。由于在章节a中已经描述了系统102的操作之下的原理,在此章节将以概述的方式提出某些操作。如详细描述的前言部分所述,流程图被表达为以特定顺序执行的一系列操作。但是,这些操作的顺序仅仅是代表性的,并且可以以任何方式来被改变。

b.1.将捕捉到的笔画信息变换成可操作形式

图17示出了用于将捕捉到的输入信息变换成可操作形式的说明性过程1702。在框1704中,系统102从输入捕捉设备104接收捕捉到的笔画信息。输入捕捉设备104响应于捕捉到由用户在与输入捕捉设备104相关联的输入表面106上做出的徒手墨水笔画来产生捕捉到的笔画信息。在框1706中,系统102使用任何类型的分析来将捕捉到的笔画信息变换成识别出的笔画信息。在框1708中,系统102取决于识别出的文本信息中的感兴趣的内容项的数量来自动标识识别出的笔画信息中的零个、一个或更多个感兴趣的内容项;该操作产生输出分析信息。在框1710中,系统102为每一个感兴趣的内容项生成通过在视觉上修改每一个感兴趣的内容项并且通过将每一个感兴趣的内容项变换成可操作形式来产生的经修改内容项。在框1712中,系统102在画布显示设备108上显示捕捉到的笔画信息以及每一个经修改内容项。在框1714中,系统102接收用户对已激活的经修改内容项(例如,实体项、列表项等)的激活以提供激活信息。并且在框1716中,系统102将激活信息转发到至少一个动作采取组件以由该动作采取组件在执行动作时操作。

b.2.检索并呈现补充信息

图18示出了用于用一个或多个补充信息项来补充捕捉到的笔画信息的说明性过程1802。在框1804中,系统102从输入捕捉设备104接收捕捉到的笔画信息。同样,输入捕捉设备104响应于捕捉到由用户在与输入捕捉设备104相关联的输入表面106上做出的徒手墨水笔画来产生捕捉到的笔画信息。在框1806中,系统102将捕捉到的笔画信息变换成识别出的笔画信息。在框1808中,系统102自动对识别出的笔画信息执行任何类型的分析以生成输出分析信息,而不由用户提示这样做。在框1810中,系统102基于输出分析信息来检索至少一个补充信息项;该补充信息项在语义上与识别出的笔画信息相关联。并且在框1812中,系统102在画布显示设备108上显示捕捉到的笔画信息以及补充信息项。补充信息项的显示具有用语义上有意义的附加信息来注释捕捉到的笔画信息的效果。

b.3.与助理组件交互

图19示出了用于使用户基于捕捉到的笔画信息来参与对话的说明性过程1902。在框1904中,系统102从输入捕捉设备104接收捕捉到的笔画信息。同样,输入捕捉设备104响应于捕捉到由用户在与输入捕捉设备104相关联的输入表面106上做出的徒手墨水笔画来产生捕捉到的笔画信息。在框1906中,系统102将捕捉到的笔画信息变换成识别出的笔画信息。在框1908中,系统102自动对识别出的笔画信息执行任何类型的分析以生成输出分析信息,而不由用户提示这样做。在框1910中,系统102基于输出分析信息来自动标识对捕捉到的笔画信息的响应,和/或基于输出分析信息来标识将要执行的动作。在一些实现中,该响应可以是鉴于识别出的笔画信息而被认为是合适的所选对话的一部分。在框1912中,系统102可任选地以自由形式的手写样式表达响应以提供所表达的响应。在框1914中,系统102在画布显示设备108上显示捕捉到的笔画信息。系统102还在画布显示设备108(和/或某一其它输出设备)上呈现所表达的响应和/或执行动作。

c.代表性计算功能

图20示出了可被用来实现图1的系统102的计算装备2002。在第一情形中,用户与用户计算设备2004交互并且该用户计算设备2004实现系统102的所有方面。在第二情形中,用户计算设备2004经由一个或多个网络2008耦合到远程计算功能2006。在此,系统102的功能能够以任何因环境而异的方式分布在本地计算设备2004和远程计算功能2006之间。例如,远程计算功能2006可用于执行墨水分析组件116所需的某些数据密集分析;否则系统102的所有其它功能都由本地计算设备2004执行。

本地计算设备2004可由任何类型的计算装备实现。例如,在示例a中,计算设备2004由任何大小的手持式计算设备(诸如智能电话或平板型设备)实现。在示例b中,计算设备2004由任何大小的书本型计算设备实现。在示例c中,计算设备2004由膝上型计算设备实现。在示例d中,计算设备2004由任何类型的传统上驻定的计算功能(诸如计算机工作站、游戏控制台设备、机顶盒设备等)实现。在示例e中,计算设备2004可对应于使用单独的数字化输入板2010的任何类型的计算功能。在示例f中,计算设备2004对应于在演示墙等上显示其输出信息的任何计算功能。该情形中的计算功能还可经由用户与同演示墙集成或以其它方式与其相关联的输入机构的交互来接收输入。类似地,在示例g中,计算设备2004对应于在演示桌面上显示其输出信息并且还可任选地经由演示桌面接收其输入的任何计算功能。

远程计算功能2006在被使用时可使用一个或多个服务器以及其它计算装备(例如,负载平衡器、路由器等)来实现。网络2008可对应于任何局域网和/或任何广域网(例如,因特网)。

图21示出了可被用来实现在上述附图中阐述的系统102的任何方面的计算功能2102。例如,图21所示类型的计算功能2102可被用来实现图20的本地计算设备2004和/或远程计算功能2006。在所有情况下,计算功能2102表示一个或多个物理且有形的处理机制。

计算功能2102可包括一个或多个硬件处理器2104,诸如一个或多个中央处理单元(cpu)、和/或一个或多个图形处理单元(gpu)等。计算功能2102还可包括用于储存诸如机器可读指令、设置、数据等的任何种类的信息的任何存储资源(也称为计算机可读存储介质或计算机可读存储介质设备)2106。不作为限制,例如,存储资源2106可包括任意(诸)类型的ram、任意类型的rom、闪存设备、硬盘、光盘等中的任何一者。更一般而言,任何存储资源都可使用用于储存信息的任何技术。此外,任何存储资源都可提供信息的易失性或非易失性保留。此外,任何存储资源都可表示计算功能2102的固定或可移除组件。当(诸)硬件处理器2104执行被储存在任何存储资源或存储资源的组合中的计算机可读指令时,计算功能2102可执行上述功能中的任何功能。计算功能2102还包括用于与诸如硬盘驱动机构、光盘驱动机构等的任何存储资源进行交互的一个或多个驱动机构2108。

计算功能2102还包括用于(经由输入设备2112)接收各种输入以及用于(经由输出设备2114)提供各种输出的输入/输出组件2110。说明性输入设备包括键盘设备、鼠标输入设备、触摸屏输入设备、数字化垫、一个或多个相机、一个或多个深度相机、自由空间姿势识别机构、一个或多个麦克风、语音识别机构、任何移动检测机构(例如,加速度计、陀螺仪等),等等。一种特定输出机制可包括呈现设备2116及相关联的图形用户界面呈现(gui)2118。呈现设备2116可对应于物理监视器(例如,电荷耦合显示设备、阴极射线管设备、投影机构等)。其他输出设备包括打印机、模型生成机构、触觉输出机构、档案机构(用于储存输出信息)等。计算功能2102还可包括用于经由一个或多个通信管道2122与其他设备交换数据的一个或多个网络接口2120。一条或多条通信总线2124将上述组件通信地耦合在一起。

通信管道2122可以按任何方式来实现,例如,通过局域网、广域网(例如,因特网)、点对点连接等等,或其任何组合。通信管道2122可包括由任何协议或协议的组合管控的硬连线的链路、无线链路、路由器、网关功能、名称服务器等的任何组合。

替代地或附加地,前述各章节中所描述的任何功能可至少部分地由一个或多个硬件逻辑组件来执行。作为示例而非限制,计算功能2102(及其硬件处理器)可使用以下各项中的一者或多者来被实现:现场可编程门阵列(fpga);专用集成电路(asic);应用专用标准产品(assp);片上系统的系统(soc);复杂可编程逻辑器件(cpld)等。在这种情况下,机器可执行指令体现在硬件逻辑本身中。

下面的概述提供了本文中阐述的技术的说明性方面的非穷尽列表。

根据第一方面,本文描述了一种用于存储计算机可读指令的计算机可读存储介质。计算机可读指令在由一个或多个处理设备执行时执行一种方法,包括:从输入捕捉设备接收捕捉到的笔画信息,所述输入捕捉设备响应于捕捉到由用户在与所述输入捕捉设备相关联的输入表面上做出的徒手墨水笔画来产生所述捕捉到的笔画信息;将所述捕捉到的笔画信息变换成识别出的笔画信息;自动对所述识别出的笔画信息执行分析以生成输出分析信息;基于所述输出分析信息来标识对所述捕捉到的笔画信息的响应,和/或基于所述输出分析信息来标识将要执行的动作,而不由用户提示这样做;在画布显示设备上显示所述捕捉到的笔画信息;以及向用户呈现所述响应和/或执行所述动作。

根据第二方面,上述执行分析包括确定所述识别出的笔画信息是否指定一个或多个实体项。

根据第三方面,上述执行分析包括确定与所述识别出的笔画信息相关联的至少一个意图。

根据第四方面,上述执行分析包括通过参考与用户相关联的用户信息来生成所述输出分析信息。

根据第五方面,所述响应是涵盖一个或多个响应的对话的一部分,并且其中所述方法进一步包括基于所述输出分析信息来从对话集合中选择所述对话。

根据第六方面,所述对话出于设置提醒的目的而收集信息。

根据第七方面,所述对话执行在虚拟助理与用户之间进行交互式娱乐活动的任务。

根据第八方面,所述方法进一步包括:以自由形式的手写样式表达所述响应以提供所表达的响应;以及在所述画布显示设备上显示所表达的响应。

根据第九方面,本文描述了一种由一个或多个计算设备实现的用于基于捕捉到的笔画信息使用户参与对话的系统。所述系统包括墨水分析组件,所述墨水分析组件被配置成:从输入捕捉设备接收捕捉到的笔画信息,所述输入捕捉设备响应于捕捉到由用户在与所述输入捕捉设备相关联的输入表面上做出的徒手墨水笔画来产生所述捕捉到的笔画信息;将所述捕捉到的笔画信息变换成识别出的笔画信息;以及自动对所述识别出的笔画信息执行分析以生成输出分析信息。所述系统还包括助理组件,所述助理组件被配置成:基于所述输出分析信息来标识用户将参与的合适对话,而不由用户提示这样做,所述对话涵盖一个或多个响应;以及基于所述对话以及所述输出分析信息来制定对所述捕捉到的笔画信息的响应。所述系统还包括被配置成在画布显示设备上显示所述捕捉到的笔画信息并且还被配置成呈现所述响应的画布呈现组件。

根据第十方面,所述墨水分析组件被配置成通过确定所述识别出的笔画信息是否指定一个或多个实体项来生成所述输出分析信息。

根据第十一方面,所述墨水分析组件被配置成通过确定与所述识别出的笔画信息相关联的至少一个意图来生成所述输出分析信息。

根据第十二方面,所述墨水分析组件被配置成通过参考与用户相关联的用户信息来提供所述输出分析信息。

根据第十三方面,由所述助理组件选择的所述对话出于设置提醒的目的而收集信息。

根据第十四方面,所述响应要求用户指定未解决的提醒信息项。

根据第十五方面,由所述助理组件选择的所述对话具有在所述助理组件和用户之间进行交互式娱乐活动的目的。

根据第十六方面,所述交互式娱乐活动是游戏。

根据第十七方面,所述系统被配置成在用户在对所述响应的回复中生成新徒手墨水笔画时接收新捕捉到的输入信息。

根据第十八方面,所述画布呈现组件被配置成以自由形式的手写样式表达所述响应。

根据第十九方面,所述画布呈现组件被配置成以模拟人类在一时间跨度内对所述响应的书写的方式显示所述响应。

根据第二十方面,本文描述了一种由一个或多个计算设备实现的用于基于捕捉到的笔画信息来使用户参与的方法。所述方法包括:从输入捕捉设备接收捕捉到的笔画信息,所述输入捕捉设备响应于捕捉到由用户在与所述输入捕捉设备相关联的输入表面上做出的徒手墨水笔画来产生所述捕捉到的笔画信息;将所述捕捉到的笔画信息变换成识别出的笔画信息;自动对所述识别出的笔画信息执行分析以生成输出分析信息;基于所述输出分析信息来标识对所述捕捉到的笔画信息的响应,和/或基于所述输出分析信息来标识将要执行的动作,而不由用户提示这样做;在画布显示设备上显示所述捕捉到的笔画信息;以及向用户呈现所述响应和/或执行所述动作。

第二十一方面对应于以上提到的第一至第二十方面的任何组合(例如,任何排列或子集)。

第二十二方面对应于与第一至第二十一方面相关联的任何方法对应物、设备对应物、系统对应物、装置加功能对应物、计算机可读存储介质对应物、数据结构对应物、制品对应物、图形用户界面呈现对应物等。

最后,本文所描述的功能可采用各种机制来确保以符合适用法律、社会规范以及个体用户的期望和偏好的方式处理任何用户数据。例如,该功能可允许用户明确地选择进入(并且随后明确地选择退出)功能的供应。功能还可提供适当的安全机制来确保用户数据的私密性(诸如数据净化机制、加密机制、口令保护机制等)。

更一般地,尽管用特定于结构特征和/或方法动作的语言描述了主题,但是应当理解,在后附权利要求书中限定的主题并不一定局限于上述特定的特征或动作。更确切而言,上述具体特征和动作是作为实现权利要求的示例形式公开的。

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