结构化样本创作内容的制作方法

文档序号:11530733阅读:479来源:国知局
结构化样本创作内容的制造方法与工艺



背景技术:

内容作者在创建内容时遇到所有类型的阻碍。例如,在一些场景中,作者可以撰写被优化用于以纵向模式在移动电话上显示的文档,其可能不适合于当以横向模式使用设备时的呈现。除了格式化问题,作者可能经常发现自己处于他们可能关于特定主题写作有困难的情形中,或者他们甚至可能在提出主题方面有困难。

正是针对这些和其它考虑,呈现了在此所做的公开。



技术实现要素:

本文描述了用于基于用户输入来生成结构化样本创作内容的技术。一般地描述,样本内容(例如主体的概要)可以从用户提供的一个或多个关键词的上下文解释生成。使用一个或多个关键词,系统从一个或多个资源取回内容数据。内容数据被解析并用于生成内容数据的结构。然后该结构用于生成可以呈现给用户的样本内容。所呈现的信息可以提供一种用于快速启动关于感兴趣的特定主题的创作项目的方式。

应当意识到,上述主题可以实现为计算机控制的装置、计算机过程、计算系统或实现为例如计算机可读存储介质的制品。这些特征和其它各个特征将从以下的具体实施方式的理解和相关联的附图的阅览中变得清楚。

提供该发明内容以便以简化的形式来引入下面的具体实施方式中进一步描述的概念的选择。该发明内容不旨在确定所要求保护的主题的关键特征或主要特征,也不旨在该发明内容用于限定所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本公开的任意部分所提到的任意或全部缺点的实现方式。

附图说明

图1是提供本文所公开的一种用于提供基于用户意图生成内容数据的布局的内容创作服务的机制的概述描述的系统图。

图2是示出了用于基于作者意图的内容创作的本文所呈现的方法和技术的另外方面的框图。

图3是示出包含在核心内容数据模型中和布局就绪视图模型中的多个数据元素的数据结构图。

图4示出了可以用于生成内容数据的布局的示例的世界(world)方案。

图5a和5b示出了两个示例布局和各个示例布局的组件。

图6是示出了用于内容创作的过程的各方面的流程图。

图7是示出了用于基于作者意图生成内容数据的布局的方法的各方面的流程图。

图8a示出了在生成布局期间所使用的模板的示例。

图8b示出了用于利用算法生成用于布局生成的模板的示例。

图9a示出了可由作者用来输入内容数据并指定作者意图的用户接口。

图9b示出了根据在此呈现的方法和技术的各方面的基于作者意图生成的布局中所呈现的内容数据的渲染视图。

图9c示出了根据本文所呈现的方法和技术的各方面的以基于作者意图生成的不同布局呈现的内容数据的另一渲染视图。

图10是示出了用于基于作者意图和作者反馈的内容创作的本文所呈现的方法和技术的各方面的框图。

图11是示出了用于处理关于基于作者意图生成的布局的用户反馈的方法的各方面的流程图。

图12示出了根据本文所提出的方法和技术的各方面,基于用户反馈生成的修改后布局中所呈现的内容数据的渲染视图。

图13是示出可用于实现在创作体验期间提供上下文相关内容的动态呈现的一个或多个配置的一个说明性操作环境的框图。

图14是示出在创作体验期间提供上下文相关内容的动态呈现的方法的各方面的流程图。

图15示出了用于接收创作内容并显示由图14的方法生成的建议内容的示例的用户接口。

图16是示出在此呈现的用于基于用户输入生成用于创作的样本内容的方法和技术的各方面的框图。

图17是示出了用于基于用户输入来生成用于创作的样本内容的方法的各方面的流程图。

图18示出了作者可以利用以输入内容数据的第一用户接口和接收基于输入的内容数据所生成的样本内容的第二用户接口。

图19是示出能够实现本文所提出的方法和技术的各方面的计算系统的说明性计算机硬件和软件架构的计算机架构图。

图20是示出能够实现本文给出的方法和技术的各方面的分布式计算环境的图。

图21是示出能够实现本文呈现的方法和技术的各方面的计算设备的计算设备架构的计算机架构图。

具体实施方式

以下详细描述涉及用于基于用户输入来生成结构化样本创作内容的概念和技术。一般地描述,样本内容(例如主体的概要)可以从用户提供的一个或多个关键词的上下文解释生成。使用一个或多个关键词,系统从一个或多个资源取回内容数据。内容数据被解析并用于生成内容数据的结构。然后该结构用于生成可以呈现给用户的样本内容。所呈现的信息可以提供一种用于快速启动关于感兴趣的特定主题的创作项目的方式。

虽然本文所描述的主题是在与计算机系统上的操作系统和应用程序的执行相结合而执行的程序模块的一般上下文中呈现的,本领域技术人员将认识到,可以与其它类型的程序模块相结合来执行其它实现方式。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其它类型的结构。而且,本领域技术人员将意识到,本文所描述的主题可以利用其它计算机系统配置来实现,包括手持式设备、多处理器系统、基于微处理器的或可编程的消费电子设备、微型计算机、大型计算机,等等。

在下面的详细说明中,参考了附图,附图构成其部分,并且其中通过示例显示出具体的配置或示例。现在参考附图,其中相似的标记在多幅图中表示相似的元件,示出了用于基于用户意图的内容创作的计算系统、计算机可读存储介质和计算机实现的方法的各方面。如参考图19-21在下面进一步详述的,存在能够实施本文所描述的功能和技术的多个应用和服务。

图1是提供本文所公开的一种用于提供基于用户意图生成内容数据的布局的内容创作服务的机制的概述描述的系统图。如图1所示,系统100可以包括支持内容创作的一个或多个服务器计算机104。服务器计算机104可以包括web服务器、应用服务器、网络工具、专用计算机硬件设备、个人计算机(“pc”)或这些的任何组合和/或本领域已知的其他计算设备。

服务器计算机104可以执行多个模块以便提供内容创作服务。例如,如图1所示,服务器计算机104可以包括用于收集和/或生成内容数据114的内容收集/生成模块106。作为示例而非限制,内容数据114可以包括各种内容数据元素,诸如文本、图像、视频、推特(tweet)、图表、图形、表格、不透明web数据和/或可以在内容创作中利用的任何数据元素。内容数据元素可以通过用户计算设备130从作者102处获得作为作者输入112。为了说明的目的,作者输入112在这里也可以被称为内容数据,其中从内容资源取回的内容数据包括对所识别实体的描述。用户计算设备130可以是个人计算机(“pc”),桌面工作站,膝上型设备或平板设备,笔记本,个人数字助理(“pda”),电子书阅读器,智能电话,游戏控制台,机顶盒,消费电子设备,服务器计算机或能够连接到网络124并与内容收集/生成模块106通信的任何其他计算设备。网络124可以是局域网(“lan”)、广域网(“wan”)、因特网或本领域已知的将用户计算设备130连接到内容收集/生成模块106的任何其它网络拓扑。

当提供内容数据元素时,作者102可以通过由内容收集/生成模块106呈现给作者102的用户接口来键入文本,上传图像或上传包含内容数据元素的现有文件。作者102还可以通过用户接口提供其他数据,例如用于内容数据元素的元数据。可替代地或者另外地,作者102可通过利用由布局生成服务暴露的应用编程接口(“api”),通过用户计算设备130提交内容元素和/或与其相关联的任何其它数据。

根据另外的方面,还可以从各种内容资源126获得内容数据元素。内容资源126可以包括用户计算设备130本地可访问的内容数据存储库128a和/或服务器计算机104本地可访问的内容数据存储库128b中的本地内容。内容资源126还可以包括通过网络124可访问的内容存储库128c-128n上的远程内容。例如,远程内容可以包括作者的社交媒体账户中的内容,诸如帖子,已经由作者写的博客,已经在作者账户下保存的图像和/或视频等。远程内容还可以包括公开可用的内容。

除了内容数据114之外,内容收集/生成模块106还可以获得作者102的关于应当如何向消费者呈现内容数据114的意图。例如,作者102可能想要比其周围内容数据更突出地呈现一个图像。作者102可以进一步想要比其他文本更显著地呈现某个文本块。作者102的意图可以作为描述内容数据114中的两个或更多个内容元素之间的关系的意图数据116来获得。意图数据116还可以指示内容数据114的预期用途,诸如被发布作为在线发布的博客文章、要在报纸上打印的文章、呈现给消费者的要发布的视频以及其它。应当注意,意图可以通过高级描述来传达,并且意图数据116可以不包含特定的格式化指令。关于内容数据114和意图数据116的附加细节将在下面关于图3来提供。

一旦获得内容数据114和意图数据116,服务器计算机104可以采用布局生成引擎108来基于意图数据116来生成内容数据114的布局。如上面简要讨论的,内容数据的布局可以包括用于呈现内容数据的宏级方案、用于内容数据的一组内容数据元素的布置的中间级方案,以及用于格式化每个内容数据元素的微级方案。用于呈现内容数据的宏级方案可以包括内容数据的高级结构、内容数据的整体颜色方案、高阶交互模型和/或可以在宏级应用于内容数据的其它设计元素。宏级方案的示例可以是世界方案,将参考图3-5对此进行详细讨论。

布置的中间级方案可以包括一组内容数据元素的布置和/或设计。为了示出中间级方案的各方面,考虑具有将内容数据组织成一个或多个小节(section)的高级结构的示例宏级方案,其中每个小节包含一个或多个内容数据元素。在这样的示例中,安排的中间级方案可以包括用于各个小节的各种设计方面,诸如每个小节中的数据元素的布置,要应用于每个小节的颜色方案等等。关于中间级方案的进一步细节将在下面关于图5进行讨论。

如上所概述,布局可以包括针对内容数据114中的每个内容数据元素的微级方案。在一些配置中,微级方案可以根据内容数据元素的类型而变化。例如,对于文本内容数据元素,微级方案可以包括用于文本的字体设计,诸如字体大小、字体颜色、字体等等。用于文本内容数据元素的微级方案还可以包括行和段落间距、文本对齐、项目符号或编号等。对于图像内容数据元素,微级方案可以包括图像的大小、位置、纵横比和/或图像的其他方面。将关于图5描述关于内容数据元素和微级方案的附加细节。应当理解,上述宏级方案、中间级方案和微级方案仅用于说明,并且不应被解释为限制。附加的布局方案可以包含在除了本文所描述的布局之外的布局中,并且并非所描述的每个方案都可用于生成的布局。

一旦生成布局,定义布局的数据和内容数据可以作为输出来传送,为了说明的目的,这里将其称为“内容和布局数据122”。关于布局生成引擎108以及内容和布局数据122的附加细节在下面关于图2-9提供。内容和布局数据122然后可以被发送到渲染设备110并且被呈现给内容的消费者132以供消费或呈现给作者102以用于测试和/或审阅目的。渲染设备110可以是pc、台式工作站、膝上型计算机或平板、笔记本、pda、电子书阅读器、智能电话、游戏控制台、机顶盒、消费电子设备、服务器计算机或具有与其相关联的显示器并且能够根据内容和布局数据122渲染内容的任何其他计算设备。如果内容数据114的输出格式是打印页面,则渲染设备110还可以包括打印机。

根据另外的方面,布局生成引擎108还能够获得用于生成布局的附加数据,诸如渲染设备的设备能力118、消费者偏好120和/或潜在的其他数据。设备能力118可以包括渲染设备110的各种规格,诸如分辨率、取向、存储器约束、图形能力、浏览器能力等。设备能力118还可以包括静态性/动态性,例如与使用数字显示器的通常动态体验不同的打印页面。消费者偏好120可以包括消费者132可以据此较喜欢呈现内容的各种特征和/或风格,诸如内容的整体结构、颜色方案、背景、动画风格和其它。消费者偏好120可以由消费者132通过渲染设备110或通过消费者132可访问的任何其他计算设备提供给布局生成引擎108。

当生成布局时,布局生成引擎108还可以考虑上述附加数据。然而,应当注意,在布局生成引擎108的各种类型的输入之间可能存在冲突。例如,意图数据116和消费者偏好120可能本质上是矛盾的。在这种场景中,需要根据各种规则和所涉及的具体情形解决冲突。例如,内容数据114可以包含作者可能想要确保所生成的布局匹配其公司风格和意图的优质内容/工作产品,并且因此给予消费者偏好120很小的权重。相反,当例如消费者具有与颜色选择、字体大小和动画样式有关的可访问性关注时,可以给消费者偏好120更高的权重。如下所述,在一些场景中,可以从包含相关内容数据而不是由作者102指定的现有格式化文档中推断出意图数据116,并且可以通过将更多权重分配给消费者偏好120而不是分配给意图数据116来生成场景中的布局。

应当理解,上述内容收集/生成模块106和布局生成引擎108的各种功能可以被实现为提供给作者102用于内容创作以及提供给消费者132用于内容消费的web服务。例如,作者102可以通过web浏览器访问这些功能以生成内容的布局。内容还可以是消费者132通过其中在所生成的布局中呈现内容的web浏览器可访问的。

应进一步理解,虽然上文描述了内容收集/生成模块106和布局生成引擎108在服务器计算机104上执行,但是这些模块中的任何模块或其一部分可以在用户计算设备130和/或渲染设备110上执行。例如,内容收集/生成模块106和布局生成引擎108的功能可以被实现为在作者102操作的用户计算设备130上运行的软件应用。在另一示例中,内容收集/生成模块106的一些功能(诸如从作者102获得作者输入112和/或从内容资源126取回内容)可以实现为在用户计算设备130上执行的客户端软件应用。客户端软件应用可以将所获得的内容数据114和意图数据116发送到布局生成引擎108以用于布局生成。

类似地,布局生成引擎108的一些功能可以被实现为可以在渲染设备110上执行的客户端软件应用。例如,客户端软件应用可以包括和实现诸如所生成的布局的简单调整的功能,而不联系服务器计算机104。该客户端软件应用可以被进一步配置为收集诸如设备能力118和消费者偏好120之类的数据,并且发送给布局生成引擎108以用于布局生成或主要布局修改。

现在转向图2,其中示出了说明本文呈现的用于基于用户意图的内容创作的方法和技术的另外方面的框图。如图2所示,内容收集/生成模块106可以包括内容/意图引入模块204,其可以用于从作者102获得内容数据114、他/她对内容数据114的意图数据116以及由作者102提供的其他数据。在一些方面,内容/意图引入模块204可以通过如上所述的用户接口从作者102获取数据,其中作者102可以键入文本,上传图像,提供用于内容数据114的元数据,指定他/她对内容数据114的意图,和/或执行其他操作以传达相关信息。

除了直接从作者102获得内容数据114和/或意图数据116之外,还可以从各种内容资源126获得内容数据114和/或意图数据116。内容收集模块206可以用于收集来自内容资源126的内容/意图。然后可以将收集的内容/意图发送到内容/意图引入模块204,以与由作者102直接提供的内容/意图组合。

根据另外的方面,内容收集/生成模块106还可以包括扩充模块208,用于提供附加功能以增强内容创作服务。例如,扩充模块208可以基于在创作过程期间由作者102提供的内容数据114向作者102提供内容建议。扩充模块208还可以生成样本内容作为作者102开始创作过程的起点。可以通过内容收集模块206收集建议内容和/或样本内容。可以通过内容/意图引入模块204将建议内容和/或所生成的样本数据呈现给作者102,其中作者102可以对建议内容和/或所生成的样本数据进行进一步选择。关于扩充模块208的附加细节将在下面关于图13-18给出。

然后可以将所收集和/或生成的内容数据114和意图数据116提供为输出,并且该输出可以由布局生成引擎108消费用于布局生成。在图2所示的示例中,内容数据114和意图数据116可以被组织为核心内容数据模型212并且存储在内容和类同数据存储库210中。关于核心内容数据模型212的细节将在下面结合图3提供。布局生成引擎108可以从内容和类同数据存储库210取回核心内容数据模型212,并且基于核心内容数据模型212生成布局。

根据一些方面,当生成布局时,布局生成引擎108还可以查阅用于各种布局资源的布局资源数据存储库214。布局资源数据存储库214可以包含用于宏级方案、中间级方案和/或微级方案的各种模板。例如,布局资源数据存储库214可以存储可以用作用于呈现内容数据的宏级方案的一个或多个世界方案。布局资源数据存储库214还可以包含可以用于生成中间级方案的模板的一个或多个对象,如将关于图8b详细讨论的。布局资源数据存储库214还可以包含对用户意图的各种解释。例如,对于在图像上添加强调的用户意图,解释可以包括将图像尺寸增大为大于其旁边的图像,将图像放置在页面或屏幕中使得其距周围内容有大的空间,调整图像大小以便当呈现时占据整个屏幕,和/或其他可能的解释。解释可以具有与其相关联的一个或多个规则。规则可以描述不同解释之间的关系,可以采用特定解释的条件,当采用解释时的建议格式化命令,等等。布局资源数据存储库214还可以包括可应用于内容数据114的其他资源,诸如颜色方案和动画方案。关于布局的生成的附加细节将在下面参照图6-8给出。

如图2所示,所生成的布局以及内容数据然后可以被输出为布局就绪视图模型216并且存储在布局就绪视图模型数据存储库218中。从布局就绪视图模型数据存储库218,渲染设备110可以获得并渲染布局就绪视图模型216以将生成的布局中的内容数据呈现给消费者132或作者102。关于布局就绪视图模型216的其他方面在下面参考图3来提供。

根据另外的方面,可以采用反馈模块220来从作者102获得关于所呈现的布局的反馈224。取决于反馈的性质,反馈可以被发送到布局生成引擎108以调整生成的布局,或者它可以被发送到内容收集/生成模块106以实现布局的重新生成。作为示例而非限制,作者102可以提供改变他/她最初提供的意图的意图反馈,并且这种意图反馈可以通过内容/意图引入模块204来获取,并且用于修改用于生成布局的核心内容数据模型212。可选地或另外地,作者102可以通过例如请求要呈现的替代布局,指出所生成的布局存在何种问题,提供对布局的不满意部分的示例解决方案或甚至提供要用于某些内容数据元素的特定格式化命令来提供用于细化所生成的布局的反馈。关于反馈处理的进一步细节将在下面关于图10-12给出。

图3示出了包含在核心内容数据模型212中的详细数据元素。如图3所示,内容和类同数据存储库210可以包含一个或多个核心内容数据模型212a-212n,这里可以单独地称为核心内容数据模型212或统称为核心内容数据模型212。每个核心内容数据模型212可以对应于作为一个输出呈现的创作内容。如图3所示,核心内容数据模型212可以包括规范化内容数据114、意图数据116,内容关联数据308、元数据310和潜在的其他数据。

规范化内容数据114可以包括不具有与其相关联的任何格式化的内容数据元素。例如,如果规范化内容数据114的内容数据元素包括文本块,则内容数据元素可以仅包括文本中所包括的字符的美国信息交换标准代码(“ascii”)码。

核心内容数据模型212还可以包括描述作者102关于应如何呈现内容数据114的意图的意图数据116。意图可以包括作者的显式或隐式意图,并且可以由作者102通过指示关系或选择内容数据114中所包含的内容数据元素的呈现选择来传达,而不是提供特定/直接的格式化命令。作者102的意图可以包括语义意图和呈现意图。语义意图的示例可以包括但不限于顺序、组、比较前/后、视觉堆栈、增加的强调和其它。呈现意图的示例可以包括诸如紧凑或松散的间隔、外观,诸如没有动画、适度动画或主动动画的现代、传统或专业的动画级别、定时和其他。定义意图的数据在本文中可被称为意图数据116。

通过利用意图,作者102可以避免提供特定格式化指令,并且因此允许内容数据114以适合于不同渲染设备的各种布置而动态呈现,而不偏离作者102的原始意图。为了便于作者102传达他/她的意图,可以设计和提供各种关系给作者102以供选择。例如,可以设计关系“强调”以允许作者102表达诸如“强调该文本”或“该元素比该其他元素更重要”的意图。基于这样的意图,可以例如通过调整大小、加下划线、改变颜色和/或可以将文本或元素与其他元素区分开的任何其他方式来适当地格式化相应的文本或元素。表i示出了可以被作者102用来描述他/她的意图的示例关系的列表。

表i

应当注意,作者102可能不需要提供上述所有不同类型的意图。相反,作者102可以从模板中预定义的意图数据116开始,然后在必要时细化和/或调整他/她的意图。如下面将更详细地描述的,意图数据116还可以从除作者102之外的其他来源获得。例如,意图数据116可以从从内容资源126取回的内容数据的结构或格式化信息导出。当从内容资源126取回文章时,文章的结构可以指示文章的标题,以及每个小节的标题应当比文章的其他部分被给予更加重视。类似地,意图数据116还可以从与内容数据114相关的其他内容或文档推断,诸如其中可以取回内容数据114的、由作者102提供的文档,或者具有与作者102想要的风格类似的风格的文档。基于所导出或推断的意图数据116,作者102可进一步进行调整或添加以传达他/她对内容数据114的意图。

根据另外的方面,核心内容数据模型212还可以包括描述内容数据114中的内容数据元素之间的关系和/或可以与内容数据114相关的其他内容的内容关联数据308。例如,规范化内容数据114可以包括具有2400×3200的原始分辨率的图像。当在具有低分辨率显示器的智能电话设备上呈现这种高分辨率图像时,可以不需要将原始图像发送到智能手机。相反,原始图像可以被下采样以生成具有较低分辨率的图像以被发送到智能手机。在这种场景中,内容关联数据308可以用于指示原始图像具有与其相关联的较低分辨率的图像,并且可以在适当时使用。

此外,如将关于图13-15详细讨论的,可以从内容资源126探索和取回与内容数据114相关的内容。内容关联数据308还可以用于描述所取回到的内容与内容数据114之间的关系。应当注意,在内容数据114的生命周期期间,可以连续地识别和/或取回相关内容,并且因此可以周期性地更新内容关联数据308以反映新识别的相关内容。

根据内容数据114,一些内容数据元素可以具有与其相关联的元数据。这样的元数据可以存储在核心内容数据模型212的元数据310中。例如,元数据310可以包括内容数据114中所包含的图片的元数据,诸如拍摄图片的位置、图片被拍摄的时间、和/或图片的大小。虽然元数据310可能不是由作者102直接指定的意图,但是它在导出或推断作者102的意图和/或在生成内容数据114的布局时可能是有用的。将意识到,除了这里描述的那些之外,附加数据元素可以包含在核心内容数据模型212中,并且不是描述的每个数据元素都可供创作的内容使用。

图3进一步示出了存储在布局就绪视图模型数据存储库218中的布局就绪视图模型216a-216n(其在本文中可以被单独地称为布局就绪视图模型216或统称为布局就绪视图模型216)和可以包含在布局就绪视图模型216中的数据元素。布局就绪视图模型216可以由布局生成引擎108基于内容和类同数据存储库210中的核心内容数据模型212生成。当生成布局就绪视图模型216时,布局生成引擎108可以将意图数据116变换成可以一起定义内容数据114的布局的各种格式化配置。这些格式化配置和内容数据114可以存储在布局就绪视图模型216中并且准备就绪以由渲染设备110渲染。

具体来说,图3中所示的布局就绪视图模型216包括要呈现的规范化内容数据114,以及内容数据114的布局304。如上所述,内容数据的布局可以包括用于呈现内容数据的宏级方案、用于内容数据的一组内容数据元素的中间级布置方案,以及用于每个内容数据元素的微级方案。图3中所示的布局304包括可以用作布局304的宏级方案的世界方案312。世界配置312可以指定布局304的总体结构,并且描述高阶交互假设、布局约束、和/或潜在的其他约束/假设。图4示出了可以在内容数据114的布局304中使用的若干示例的世界方案。在表ii中提供了图4所示的世界方案中的每一个的详细描述。应当理解,表ii中呈现的世界方案仅用于说明,并且不应被解释为限制。除了本文描述的那些之外,可以设计和利用附加的世界方案。

表ii

如图4所示,每个示例世界方案可以包括一个或多个小节404(其在本文中可以单独称为小节404或统称为小节404)。小节404可以用作中间级方案以将内容数据元素布置为组,其中每个组填充一个或几个页面或屏幕。一个示例小节可以包括缩放以填充整个屏幕的单个图像,其中一些标题文本和一些题目文本被叠加在图像的两个不同区域上。另一示例的小节可以包括分割成三列的大文本块,其围绕具有其中的视频缩略图的16×9纵横比视频回放微件。这些小节可以被设计为一般化和多用途的,使得在建立各种各样的世界方案期间,可以将整屏幕的内容的小节用作构建块。下面将参照图8a和8b详细讨论用于小节404的布置方案的生成。

如上所述,世界方案可以存储在布局资源数据存储库214中。另外或可选地,世界方案可以存储在布局生成引擎108可访问的任何数据存储设备中。应当进一步理解,第三方也可以构建可以并入系统中、存储在布局资源数据存储库214中和/或由布局生成引擎108利用的世界方案。

返回参考图3,布局304还可以包括小节布置314a-314c,其每一个可以描述世界配置312的对应小节404的布置或设计。由于每个小节404通常可以包括一个或多个内容数据元素,这些内容数据元素的格式化可以用作布局的微级方案。这样的微级方案可以在包含于布局304中的元素格式配置316a-316c中进行描述。

应当注意,布局就绪视图模型216的上述数据元素仅用于说明。除了本文所描述的那些之外,附加数据元素可以包含在核心内容数据模型212中,并且并非所描述的每个数据元素都可用于创作的内容。例如,包含在世界方案312中的小节404本身也可以包括世界方案312,并且因此得到嵌套世界方案或“世界内世界”方案。类似地,小节404可以嵌套在另一个小节中,从而创建嵌套小节布置。在这种场景中,布局就绪视图模型216中所包含的数据元素可以包含比图3所示的更多的信息。还应当注意,根据嵌套思想,大量的世界方案和/或小节布置可以被创建并用于生成内容数据114的布局304。

还应当意识到,世界方案、小节布置和元素格式配置到宏级方案、中间级方案和微级方案的映射仅是说明性的,并且不应被解释为限制。可以采用构建宏级方案、中间级方案和微级方案的各种其他方式。例如,在嵌套世界方案中,中间级方案可以被构建为包括嵌套在另一世界方案内的世界方案,其可以包括高级结构以及嵌套世界方案的小节布置。可替代地,嵌套世界方案可以被认为是宏级方案,并且嵌套世界的小节可以被认为是中间级方案。

可以利用图5a和5b中所示的示例布局进一步解释布局304、世界方案312、小节404以及该小节中所包含的内容数据元素。图5a示出了利用包含小节502的全景世界方案的示例布局。在小节502内,存在若干内容数据元素504:小节标题,文本块1,文本块2,图像1,题目1,图像2,题目2,图像3和题目3。这些内容数据元素504被布置在三列中:第一列是用于小节标题;第三列用于图像3及其题目3;并且第二列用于剩余的内容数据元素504。在第二列中,内容数据元素504还可以被布置成两个子列,每个子列保存文本块和图像以及图像题目。可以在对应于小节502的小节布置314中指定小节502的这种设计。此外,小节布置314还可以指定小节502的其他方面,诸如页边距、每个列/子列的宽度、每列内的内容数据元素504的相对位置,小节的动画等。此外,每个内容数据元素504可以具有其自己的格式配置,诸如大小、颜色、字体类型等。每个单独的内容数据元素504的格式配置可以存储在元素格式配置316中。

当选择不同的方案来呈现内容数据元素504时,小节布置314和元素格式配置316可以是不同的,并且可以适用于所选择的世界方案。图5b示出了在垂直世界方案中呈现图5a所示的内容数据元素504的布局。在图5b所示的布局中,内容数据元素504也被分组在一个小节512中,并且它们被布置成行而不是列。其他布置,诸如页边距、行间距、小节512的动画也可以不同于小节502的布置。类似地,在垂直世界方案中,每个元素504可以被不同地格式化,因此布局304中所包含的元素格式配置316也可以不同。

应当理解,图5a和图5b中所示的布局仅仅是说明性的,并且可以利用布置内容数据元素504的其他方式。例如,在图5a所示的全景世界方案的小节502中所包含的内容数据元素504可以布置在图5b所示的垂直世界方案中的不同小节512中。不是小节502和512中的每一个都可以有小节标题。在图5a中所示的小节502中所包含的内容数据元素504也可以被组织在一个列中,而不是多个列或子列中。另外,内容数据元素504可以利用各种其他世界方案和/或这些世界方案的组合来布置。

现在转到图6,下面示出和描述了用于内容创作的例程600的各方面。应当理解,本文公开的方法的操作不一定以任何特定顺序呈现,并且以替换顺序执行一些或全部操作是可能的并且是可预期的。为了便于描述和说明,以展示的顺序呈现操作。在不脱离所附权利要求的范围的情况下,可以添加、省略和/或同时执行操作。

还应当理解的是,所图示的方法可以在任何时候结束,而无需全部执行。方法的一些或全部的操作和/或基本上等同的操作,可以通过包含在计算机存储介质上的如下文所定义的计算机可读指令的执行来执行。如在说明书和权利要求书中所使用的术语“计算机可读指令”及其变体在此扩展地用来包含例程、应用、应用模块、程序模块、程序、组件、数据结构、算法等。计算机可读指令可以实现在各种系统配置中,包括单处理器或多处理器系统、微型计算机、大型计算机、个人计算机、手持式计算设备、基于微处理器的、可编程的消费电子设备、其组合以及类似物。

因此,应当意识到,本文所描述的逻辑操作可以实现为(1)运行于计算系统上的计算机实现的动作或程序模块的序列,和/或(2)实现为计算系统内的互连的机器逻辑电路或电路模块。实现方式是取决于计算系统的性能和其它要求的选择问题。因此,本文所描述的逻辑操作可以多样地称为状态、操作、结构设备、动作或模块。这些操作、结构设备、动作和模块可以利用软件、固件、专用数字逻辑及其任意组合来实现。

如下面将结合图19-21更详细地描述的,例程600的操作在此被描述为至少部分地由诸如内容收集/生成模块106和布局生成引擎108之类的应用来实现。尽管以下图示涉及内容收集/生成模块106和布局生成引擎108,但是可以理解,例程600的操作也可以以许多其他方式来实现。例如,例程600可以由实现内容收集/生成模块106和布局生成引擎108的功能的一个模块来实现。另外,例程600的一个或多个操作可以替代地或附加地至少部分地由图19中所示的web浏览器应用1910或结合图20的应用服务2024工作的另一应用来实现。

参考图6,例程600开始于操作602,其中获得内容数据114。如上面关于图1和图2所讨论的,内容数据114可以由作者102,例如通过用户接口或通过内容收集/生成模块106暴露的api来提供。另外,可以由内容收集/生成模块106从各种内容资源126取回内容数据114。

从操作602,例程600进行到操作604,其中可以获得内容数据114的意图数据116。如上所述,意图数据116描述了关于如何在不使用特定格式化指令的情况下将内容数据114呈现给消费者的作者102的意图。意图数据116可以通过描述内容数据114中的两个或更多个内容元素之间的关系和/或通过指定内容数据元素的呈现选择来描述意图。意图数据116还可以指示内容数据114的预期用途。与内容数据114类似,可以通过用户接口或通过内容收集/生成模块106所暴露的api从作者102获得意图数据116。另外或可替代地,意图数据116或意图数据116的至少一部分可从模板获得或从内容数据114导出,例如通过内容数据114的底层结构。

接下来,在操作606,确定是否已经接收到生成布局304的指令。如果未接收到生成布局304的指令,则例程600可返回到操作602以获得更多内容数据114或返回到操作604以获得更多意图数据116。如果在操作606确定已经接收到用于生成布局304的指令,则例程600进行到操作608,其中可以基于所获得的意图数据116生成内容数据114的布局304。

如上所述,布局304可以由布局生成引擎108基于包含内容数据114和意图数据116的核心内容数据模型212来生成。可以生成布局304以适合内容数据114并且还满足作者102的意图。布局304可以包括多级配置,其可以包含宏级方案、中间级方案和微级方案。根据一种机制,宏级方案可以是可以指定布局的总体结构、描述高阶交互假设、布局约束和/或潜在的其他约束/假设的世界方案。

世界方案可以包括将内容数据元素布置为组的一个或多个小节,其中每个组对应于一个小节并填充一个或几个页面或屏幕。世界方案的小节还可以包括其他世界方案,从而形成嵌套世界方案。应当理解,不同小节的布置在风格和配置方面可以是类似的,以形成内容的一致呈现。然而,这些布置也可以不同。例如,一个小节中的内容结构、页边距、颜色方案、样式、背景可以与另一小节不同。在嵌套世界方案中,嵌套在一个小节中的世界方案也可能不同于嵌套在另一个小节中的世界方案。如果存在嵌套世界方案,则可以将小节布置与嵌套世界方案一起用作布局的中间级方案。此外,每个内容数据元素可以具有其自己的格式配置,并且元素格式配置可以用作微级方案。

如上所述,布局生成引擎108可以访问在生成布局304时可以利用的其他信息。例如,可以从渲染设备110获得设备能力118,其描述渲染设备的各方面110,诸如分辨率、取向、存储器约束、图形能力、浏览器能力等。类似地,布局生成引擎108还可以被提供有消费者偏好120以指示消费者132可能较喜欢内容将按此呈现的特征和/或风格,诸如内容的整体结构、颜色方案、背景、动画样式和其他。附加信息可以便于布局生成引擎108以满足作者102和消费者132的意图/偏好并且适合于渲染设备110的方式生成内容数据114的布局304。所生成的布局304以及内容数据114可以作为布局就绪视图模型216输出。下面将参照图7提供关于本文公开的用于生成内容数据114的布局304的一个机制的附加细节。

从操作608,例程600进行到操作610,其中布局就绪视图模型216可以被发送到渲染设备,使得生成的布局304被呈现。从操作610,例程600进行到操作612,在操作612,例程结束。

图7示出了例示用于基于用户意图数据116生成内容数据114的布局304的方法的各方面的例程700。将结合图8a和图8b描述图7,其中图示出在生成布局304的过程中使用的模板的示例。在一些实现方式中,例程700可以由上面关于图1和图2描述的布局生成引擎108执行。然而,应当意识到,例程700也可能由图1和图2中所示的操作环境中的其他系统和/或模块来执行。

例程700开始于操作702处,其中可以选择可用于呈现内容数据114的多个内容模板。内容模板可以包括对应于宏级方案的模板,诸如用于世界方案的模板,和/或对应于中间级方案和微级方案的模板,诸如世界方案的小节的模板,以及包含在小节中的内容数据元素的模板。一些模板可以进一步包括多个子模板,其中每个子模板可以被认为是一个模板,并且可以被改变或替换为单个单元。这样,在操作702中选择的模板可以具有各种尺寸、比例和/或样式,并且取决于内容数据的量,所选模板的数量可以是数千、数万或甚至数百万量级。

内容模板的选择可以基于在布局生成引擎108处可用的数据(包括核心内容数据模型212)和/或任何附加信息(诸如设备能力118和消费者偏好120)。在一些实现方式中,在布局生成引擎108处可用的数据(例如意图数据116和/或设备能力118)可以被转换为一个或多个格式化约束,并且布局生成引擎108可以选择满足格式化约束的内容模板。例如,当呈现两个图像且第一图像比第二图像更强调时,如意图数据116所指示的,本文中的技术可以选择具有在比第二图像更大的观看区域中呈现第一图像的布置的模板。类似地,当设备能力118指示目标渲染设备110是具有小屏幕尺寸的智能电话时,可以选择适合于在较小屏幕中呈现内容的模板。

此外,对于一组内容数据元素,可以选择多于一个模板。图8a示出了可以被选择以呈现图像元素和文本块元素的示例模板802a-802c。如图8所示,所有三个模板802a-802c可以能够布置图像和文本块,但是在布局的图像和文本块的位置、取向和其他方面彼此不同。

所选择的模板可以例如由设计者或通过从现有资源取回而被预先生成,并且存储在布局资源数据存储库214中,其中布局生成引擎108可以选择并取回模板。根据模板的类型,还可以以编程方式生成模板。图8b示出了这种类型的模板。在图8b中示出了三种纸牌扇面型的模板802d-802f。虽然这三个模板在视觉上彼此不同,但它们都遵循某种算法表示。具体地,模板802d-802f可以被表示为α/n,其中α是扇面布局所跨越的度数,n是扇面布局中的元素的数量。对于模板802d,n=3;对于模板802e,n=7;而对于模板802f,n=11。基于该公式,可以在需要时生成任意数量n的模板,而不预先存储所有可能的模板,从而节省存储空间并增加布局生成方法的灵活性。也可以以类似的方式生成其他类型的模板,例如n元素的网格和对象的正弦波。

从操作702,例程700进行到操作704,其中可以通过在操作702中选择的模板来对内容数据114进行置换。例如,可以将图像和文本块放入每个模板802a,802b和802c。当需要时,可以稍微修改模板以适应内容数据元素。例如,模板中的一个或多个对象可以被调整大小、移位、旋转或以其他方式调整以适合其中包含的内容数据元素。用于内容数据114中的所有内容数据元素的模板可共同形成候选布局304。由于对于每组内容数据元素可存在多个所选模板,所以这些模板的组合可产生多个候选布局304。

从操作704,例程700进行到操作706,其中为候选布局304中的每一个计算分数。在候选布局304由多个模板组成的情况下,候选布局304的分数可以通过首先计算每个模板的分数,然后组合分数以生成候选布局304的最终分数来计算。

在一些实现方式中,根据一组启发式规则来计算模板的分数,所述启发式规则可以是一般规则、世界特定规则和样式特定规则的加权集合。作为示例而非限制,启发式规则可以包括可读性规则、拥挤/接近规则、适合纵横比规则、语义匹配规则和/或潜在的其他规则。可读性规则可以度量例如文本是否具有足够的对比度以在其背景的上下文中被读取。拥挤/接近规则可以度量对象是否如意图数据116、设备能力118或消费者偏好120所要求的那样彼此靠近或远离。适合纵横比规则可以度量图像或文本如何良好地适合于规定的布局。语义匹配规则可以度量模板的视觉结果是否表示语义表达并匹配内容数据114的元数据中的语义提示。

可以基于上述规则中的每一个来计算中间分数,然后对其进行归一化和加权以生成模板的分数。可以根据布局生成引擎108的各种输入(包括意图数据116,设备能力118,消费者偏好120和其他因素)的相对重要性将权重分配给相应的中间分数。例如,基于适合纵横比规则计算的分数可以指示模板将如何良好地满足设备能力118。这样,如果满足设备能力118比满足消费者偏好120更重要,则可以将较高的权重分配给基于适合纵横比规则计算的分数。

类似地,候选布局304中所包含的模板的分数也可在计算候选布局304的最终分数之前被归一化、加权或以其它方式处理。从操作706,例程700进行到操作708,其中具有最高分数的候选布局304可以被选择为内容数据114的布局304,并且与用于渲染的内容数据114一起存储在布局就绪视图模型216中。从操作708,例程700进行到操作710,在操作710中例程700终止。

应当意识到,在图7中描述的布局生成过程可以自动地执行并且没有人为干预。另外,可以在获得意图数据116之后选择在布局304中所包含的模板。将这样的数据驱动模板/布局选择机制与其中作者102填充内容数据116到预选模板中的方法相比较,前者可以提供更准确的模板/布局以呈现内容数据114。这是因为,作者102在预先选择模板时可能并且通常不具有可能适合内容数据114的所有潜在模板的知识。另外,内容数据114可以随着作者102继续创作过程而改变。预先选择的模板可能不适合于更新的内容数据114。另一方面,数据驱动模板/布局选择机制可以随着内容数据114通过利用布局生成引擎108可用的可能的所有模板资源而改变来动态地更新布局。这样的过程还可以对作者102透明,并且因此不需要来自作者102的布局设计的知识。此外,由于布局304是基于用户意图而不是特定格式化指令来选择的,由例程700生成的布局304可以能够动态地适应各种输出格式和渲染设备,同时仍然满足作者的意图。

图9a示出了创作用户接口900a,创作用户接口900a可以被作者102用来输入内容数据114,指定用户意图数据116和/或请求为输入内容数据114生成布局304。创作用户接口900a可以包括编辑字段902,其中作者102可以输入各种内容数据元素,诸如键入文本,上传图像等。在一些实现方式中,编辑字段902可以包括标题字段914,其中作者102可以指定内容数据114的标题,和/或内容数据114的一部分的标题。

创作用户接口900a还可以包括用户接口控件字段904,其中可以提供各种用户接口控件以促进内容数据114的布局生成。如图9a所示,用户接口控件字段904可以包括用于指定内容数据114的作者意图的一组用户接口控件906,诸如用于添加强调的用户接口控件,指定内容数据元素之间的序列的用户接口控件,用于指定内容数据元素之间的层级的用户接口控件,和/或其他用户接口控件。

例如,作者102可以通过添加强调来指定他/她的意图。图9a示出了添加到文本和图像的强调920a-920d。将低强调920a添加到文本“springmountain”,表示应该向该文本添加少量强调。类似地,向图像916添加低强调920b。分配给文本“ilikethemost”的中等强调920c表示应该将中等量强调添加到该文本,并且分配给图像918的高强调920d表示应当向图像918添加大量的强调。在一些实现方式中,具有与其相关联的意图的内容数据元素可以在编辑字段902中被不同地格式化,以便用信号通知所分配的意图。如图9a所示,星号、括号或其他符号可以附加到添加了强调的内容数据元素,并且星号的数量可以指示已经分配的强调量。

如下面在图9b和9c中将示出的,为了实现强调920a-920d,布局生成引擎108可以选择格式配置,诸如用于文本的粗体字体、加下划线、放大字体,以及选择格式配置,例如图像的放大的图像尺寸。应当注意,在创作用户接口900a中可以不使用这些格式配置来格式化相应的内容数据元素,以便避免作者102给出这些内容数据元素的格式将是在所生成的布局304中所使用的格式的印象。换句话说,具有与其相关联的意图的内容数据元素被格式化或呈现的方式可以不同于这些内容数据元素将在所生成的布局304中呈现的方式。然而,在其他实现中,可以以将在所生成的布局304中采用的方式在编辑字段902中格式化具有相关意图的内容数据元素。

用户接口控件字段904还可以包括用于指定内容数据114的布局304的宏级方案的一组用户接口控件908。如上所述,宏级方案可以包括世界方案,其可以由布局生成引擎108基于意图数据116和其他附加信息来选择。可替代地或者另外地,作者102可通过创作用户接口900a为布局304选择世界方案。类似地,创作用户接口900a可进一步提供允许作者102指定其他类型的宏级方案的用户接口控件,诸如风格、整体颜色方案等。

一旦作者102完成编辑,或者在编辑期间的任何时间,他/她可以选择用户接口控件912以请求为所提供的内容数据114生成布局304,并在所生成的布局304中预览所渲染的内容数据114。图9b和9c示出了两个不同布局304中的渲染的内容数据114。在预览期间的任何时间,作者102可以选择用户接口控件910以返回到编辑用户接口900a。

应当理解,图9a中所示的用户接口控件仅用于说明,并且不应被解释为限制。除了本文所示的那些以外,附加的用户接口控件/字段可以包括在创作用户接口900a中,并且不是所有示出的用户接口控件和/或字段都需要包括在创作用户接口中。此外,创作用户接口中的用户接口控件/字段可以以与所示的不同的方式来布置或设计。

现在参考图9b和图9c,其中示出了编辑字段902中示出的内容数据114的两个渲染视图。具体地,图9b示出了渲染的视图900b,其中内容数据114在基于垂直世界方案构建的布局304中呈现。在渲染的视图900b中,内容数据元素可以被组织为垂直世界方案的一个小节。可以使用大的字体大小来格式化标题字段914中的文本,以使得小节标题更突出。强调920a通过对文本“springmountain”加下划线作为解释的强调922a来实现,并且强调920c通过使文本“ilikethemost”为粗体和斜体作为解释的强调922c来实现。关于图像,强调920b已经被解释为对图像916调整尺寸以具有比图像924更大的尺寸,作为解释的强调922b。同样地,强调920d已经被解释为布置图像918以取屏幕的整个底部,作为解释的强调922d。

图9c示出了渲染的视图900c,其中内容数据114在基于全景世界方案构建的布局304中呈现。如图9c所示,渲染的视图900c可以以列和子列布置内容数据114。添加到文本“springmountain”和图像916和918的强调以与图9b所示的类似的方式实现。然而,对于文本“ilikethemost”,图9c中所示的布局304可将其放置在文本和图像918之间的空间中,作为解释的强调922c,并且进一步添加阴影效果以强调其重要性。可以看出,可以使用不同的布局304不同地呈现相同的内容数据114。在这些布局304中,可以选择或指定不同的世界方案312,并且小节布置314和元素格式配置316可以不同。此外,根据布局304的世界配置312、小节布置314和元素格式配置316,相同的意图数据116可以在不同的布局304中被变换为不同的格式配置。

图10示出了用于基于用户意图的内容创作的本文所呈现的方法和技术的另外方面。具体地,图10示出了提供关于处理作者反馈224的更多细节的框图。如上简要提及的,可以采用反馈模块220来从作者102获得关于生成的布局304的反馈224。反馈模块220可以包括用于处理反馈224的覆盖模块1004,其可以覆盖由作者102最初提供的意图数据116的解释。这种覆盖反馈224可以直接提供给布局生成引擎108并由布局生成引擎108利用,以生成新的布局304或调整已经生成的布局304。

由作者102提供的覆盖反馈224可以包括描述布局的不令人满意的部分和/或在不包括特定格式化指令的情况下应如何修改所述部分的高级反馈。例如,作者102可以在反馈224中指出所生成的布局304出了什么问题。使用图9b中所示的布局作为示例,作者102可以提供反馈224,指示该小节的标题应当更显著。在一些场景中,作者102可以进一步向布局的令人不满意的部分提供示例的解决方案。例如,内容数据114可以是公司文档,例如报告或演示文档,并且作者102可以提供反馈224,指示布局304应该具有与公司徽标中使用的颜色方案一致的颜色方案。作者102可以进一步提供公司标志图像的副本,其可以由布局生成引擎108用来生成或选择布局304的适当颜色方案。应当注意,作者102还可以提供高级反馈224以请求要生成和呈现的替代布局304。

在一些场景中,高级反馈可能不足以传达作者102想要递送的信息。在其他场景中,基于高级反馈224的调整或重新生成的布局304可能仍然不能令作者102满意。在任一种情况下,作者102可以提供详细反馈224,其可以包括所涉及的内容数据元素中的至少一些的特定格式化指令。例如,作者102可以在反馈224中指定某一字体大小和颜色应当用于文本块,或者在布局304中应当使用特定页边距。

应当意识到,上述示例仅以说明的方式而提供,并且不应被解释为限制。可以由作者102提供各种其他高级或详细反馈224以改进或调整所生成的布局304。还应当意识到,反馈224可以由作者102以多次迭代来提供。例如,如果在当前迭代中基于高级反馈224的调整布局304仍然不令人满意,则可以在下一次迭代中提供详细反馈224。

在一些实现方式中,反馈224可以由作者102通过由反馈模块1004呈现的用户接口来提供。用户接口可以提供各种用户接口控件,其可以允许作者102指定布局或渲染内容的在反馈中引用的一部分。例如,作者102可以在用户接口中绘制圆圈以指定布局304的不令人满意的部分。可替代地或者另外地,作者102可能仅需要轻敲或点击相关部分。此外,可以利用本领域中已知的允许作者102上传文件、指定格式化指令和/或执行其他操作的各种机制来促进作者102提供反馈224。应当理解,提供反馈224的用户接口可以是与创作用户接口分离的用户接口,诸如图9a所示的创作用户接口900a,或者可以被集成为创作用户接口的一部分。

反馈模块220还可以包括用于处理反馈224的意图改变模块1002,反馈224被转换或可以被转换为意图数据116。意图改变模块1002可以允许作者102提供修改他/她的初始指定意图或添加更多意图数据的意图反馈224。在一些场景中,高级反馈224也可以被转换或表达为意图反馈224。意图反馈224可以被提供给内容/意图引入模块204,以被包括在核心内容数据模型212的意图数据116中。意图反馈224可以由作者102通过创作用户接口提供,或者由覆盖模块1004提供给内容/意图引入模块204。

图11示出了说明用于处理关于基于用户意图数据116生成的布局304的用户反馈224的方法的方面的例程1100。在一些实现方式中,例程1100可以由上文关于图1、图2和图10所描述的反馈模块220执行。然而,应当意识到,例程1100也可以由在图1、图2和图10所示的操作环境中的其他系统和/或模块执行。

例程1100在操作1102开始,其中可以获得关于所生成的布局304的反馈224。例程1100然后进行到操作1104,其中可以确定反馈224是否是覆盖反馈,即覆盖用户意图的解释的反馈。例如,布局生成引擎108可以解释“词a比其周围的文本更重要”的用户意图,以将文本a格式化为粗体,将其周围的文本格式化为规则字体。关于文本a的覆盖反馈将请求布局生成引擎108不对文本a使用这样的格式。

这种覆盖反馈可以是高级反馈,其中作者102可以指示对文本a添加的强调是不够的。在这种场景中,布局生成引擎108可以利用该反馈来覆盖对用户意图的先前解释,并通过例如进一步放大字体大小、对文本a加下划线和/或使用不同的字体来改变文本a的格式。可替代地,覆盖反馈可以是详细反馈,其中作者102可以指定文本a的特定格式,诸如使用12点arialblack字体。布局生成引擎108可以利用详细反馈中提供的特定格式化指令来替换文本a的先前格式。

如果在操作1104确定反馈224是覆盖反馈224,则例程1100进行到操作1106,其中可以覆盖先前的意图解释。根据反馈224的性质,如果反馈224是高级反馈,则可以生成新的解释,或者可以利用反馈224中指定的特定格式。

接下来在操作1108中,可以确定反馈224是否在生成布局304时会引起任何冲突。例如,作者102可以提供详细反馈以请求用于图像a的特定尺寸。然而,这种指定的图像大小可以禁止图像a与另一图像b并排呈现,如先前由作者102提供的用户意图数据116中所指示的。如果存在冲突,则例程1100进行到操作1112,其中可以请求作者102修改反馈224或意图数据116。如果作者102愿意修改反馈224或意图数据116,则例程1100返回操作1102。

如果在操作1108中确定没有冲突,则例程1100进行到操作1110,其中可以基于覆盖反馈224来重新生成或调整布局304。在一些实现方式中,作者反馈224可以由布局生成引擎108进一步存储和分析。该分析可以便于布局生成引擎108改进未来创作过程中作者意图的解释。从操作1110或者从确定作者102没有提供修改的反馈224的操作1112,例程1110进行到操作1116,其中例程1110结束。

如果在操作1104中确定反馈224不是其中作者102可以修改或添加意图数据116的覆盖反馈,例如意图反馈,则例程1100进行到操作1114,其中布局生成引擎108可以基于反馈224来更新布局304,诸如通过根据上面关于图7描述的方法重新生成布局304。从操作1114,例程1100进行到操作1116,其中例程1110结束。

应当理解,图11中所示的方法仅仅是说明性的,并且不应被解释为限制性的。可以使用处理反馈224的其他各种方式。例如,当在操作1108中检测到冲突时,不是请求作者102修改反馈224时,布局生成引擎108可以尝试解决冲突并且在请求修改的反馈之前向作者102提供一个或多个解决方案。例如,可以通过稍微改变受影响的其他内容数据元素的意图数据116和/或通过略微修改作者102提供的反馈224来解决冲突。作者102可以选择所提出的解决方案之一或如果他/她对解决方案不满意,则提供修改的反馈224。

图12示出了作为渲染视图900b的修改版本的渲染视图1200。在该示例中,根据关于渲染视图900b中呈现的布局的用户反馈224进行修改。具体地,反馈224包括请求更加显著地呈现小节瓦片1204的高级反馈,指定使文本“springmountain”为粗体的详细反馈,以及还有更加强调文本“ilikethemost!”的意图反馈。基于反馈224,布局生成引擎108可以采用装饰字体(例如algerian字体)来呈现小节标题;文本1206已经按照反馈224中所请求的被设置为粗体;并且文本1208已经被加下划线并且在它所属的文本块和图像922d之间重新定位。如上所述,如果作者102对更新的渲染视图1200仍然不满意,他/她可以提供进一步的反馈224以请求对所生成的布局304的更多改变。

如上所概述,本文描述了用于在创作体验期间提供上下文相关内容的动态呈现的技术。一般来说,当用户关于主题写作时,分析从用户接收的创作内容以识别可用于识别、取回建议内容并向用户呈现建议内容的一个或多个关键词。可以从诸如搜索引擎、与用户相关联的数据存储库、社交媒体资源或其他本地或远程文件之类的一个或多个内容资源接收建议内容。本文所描述的技术还基于光标位置从创作的内容中选择关键词。结果,建议内容可以随着光标移动到创作内容中的新位置而改变。另外,本文描述的技术提供允许选择和取消选择一个或多个关键词的用户接口控件,其允许用户通过切换一个或多个控件来定制建议内容。本文公开的技术和概念可以用于帮助诸如博主的用户关于一个或多个感兴趣的主题进行写作。

图13是示出可用于实现用于在创作体验期间提供上下文相关内容的动态呈现的一个或多个配置的一个说明性操作环境的系统图。可以意识到,系统1300包括图1中描绘的系统100的多个组件。另外,图13示出了系统1300,其包括用于接收来自用户计算设备130的输入112的内容/意图引入模块204,这里也称为“作者输入112”或“内容数据”。系统1300还包括用于从输入112确定一个或多个关键词的内容建议模块1302。内容建议模块1302还被配置为识别并取回建议内容1304。为了说明的目的,建议内容1304在本文中也被称为“附加内容数据”。内容建议模块1302还被配置为在作者输入112被修改时识别并取回新的建议内容1304。内容收集模块206与一个或多个内容资源126、内容建议模块1302和内容/意图引入模块204通信,以将建议内容1304传送到用户计算设备130。如下面将详细描述的,这些模块协同操作以基于对输入112的改变来动态地识别和显示建议内容1304。

在一些配置中,输入112可从内容/意图引入模块204传送到内容建议模块1302,在内容建议模块1302中输入112被处理以识别一个或多个关键词。如下面将更详细地描述的,可以通过使用在文本输入字段的特定区域周围定义的窗口来选择一个或多个关键词。在一些配置中,窗口相对于文本输入应用的光标的位置定位在文本输入字段中。然后,内容建议模块1302将所选关键词传送到内容收集模块206,以从一个或多个内容资源126取回建议内容1304。在一些说明性示例中,内容资源126可以包括搜索引擎、与用户相关联的数据存储库、社交媒体资源或其他本地或远程文件。建议内容1304和所选关键词中的一个或多个可以从内容建议模块1302传送到内容/意图引入模块204。内容/意图引入模块204可以传送建议内容1304和所选择的关键词中的一个或多个到用户计算设备130以供显示给作者102。另外,可以将意图数据116、可以包括建议内容1304的内容数据114传送到布局引擎108以用于进一步处理。

现在转到图14,在下面示出和描述用于在创作体验期间提供上下文相关内容的动态呈现的例程1400的各方面。应当理解,本文公开的方法的操作不一定以任何特定顺序呈现,并且以替换顺序执行一些或全部操作是可能的并且是可预期的。为了便于描述和说明,以示出的顺序呈现操作。在不脱离所附权利要求的范围的情况下,可以添加、省略和/或同时执行操作。

如图14所示,例程1400开始于操作1402,其中内容/意图引入模块204获得输入112,这里也称为“输入数据”或“创作内容”。一般地描述,输入112可以包括诸如文本、图像、图形和/或可以用于创作材料的任何其他数据的任何内容。在一些配置中,当输入112被输入到编辑接口时,输入112可以被同时传送到内容/意图引入模块204。输入112还可以被传送到内容建议模块1302,在内容建议模块1302中输入112可以在从用户计算设备130接收到输入112时被分析。

在一些配置中,输入112还可以包括定义光标或指针的位置的数据。可以意识到,文本编辑应用可以利用光标来指示当前编辑点。光标可以重新定位到文本的不同位置以向一个或多个期望的编辑点提供添加或编辑。如下面更详细描述的,为了便于在此描述的技术,定义光标相对于其他输入数据(例如文本字符或图像)的位置的数据可以包括在输入112中。如下面将更详细地描述的,光标或指针相对于任何输入内容(诸如文本或图像)的位置可以用于识别输入112的特征,诸如关键词或上下文相关的元数据。

接下来,在操作1404,内容建议模块1302分析输入112以识别一个或多个特征。一般地描述,特征可以是可以用于从输入112得出上下文的任何类型的信息。在一些配置中,特征可以包括从输入112选择的一个或多个关键词。可以意识到,一个或多个关键词可以通过使用多种不同的算法和技术来识别。例如,如果输入112包括文本段落,则一种或多种技术可以确定某些类型的词具有比文本中的其他词更高的优先级。例如,名词或动词可以具有比连词更高的优先级。在其他示例中,可以与用户的配置文件或可用性历史相关联的词可以具有比其他词更高的优先级。诸如词类型的优先级的一个或多个因素可以用于选择一个或多个关键词。

操作1404还可以分析其他类型的输入数据,例如图像,以确定一个或多个特征。例如,可以分析图像的元数据以提取一个或多个关键词。另外,诸如面部或对象识别技术的其他技术可以用于识别图像的特征,并且这样的技术可以生成描述特征的一个或多个上下文相关关键词。可以意识到,包括在输入112中的其他形式的媒体,例如视频数据或定义3d环境的数据,也可以被分析以确定特征和/或关键词。

接下来,在操作1406中,内容建议模块1302可以分析光标位置以识别或强调一个或多个特征。可以意识到,编辑接口的光标可以指示当前编辑位置。例如,在用于编辑文本的接口中,光标的位置标识当接收到输入时将插入文本或其他对象的位置。还可以意识到,光标可以随着用户添加文本或其他内容而移动。通过使用光标位置来强调特征或关键词,可以在用户添加内容时选择新的特征或关键词。因此,从用户体验的角度来看,向用户显示的建议内容可以随着内容被添加或者随光标被移动而动态地更新。

可以意识到,操作1406可以与操作1404结合使用,其中光标位置用于强调所选择的关键词。可替代地,操作1406可用于代替操作1404,在操作1404中基于光标位置选择输入112的关键词和其他特征。还可以意识到,其他可视指示符的位置可以与光标一起使用或替代光标使用。例如,一个或多个关键词的选择或对所选关键词的强调可以基于指针的位置或任何其他用户控制的输入(例如触摸手势)的位置。操作1406的附加细节和示例在下面更详细地描述并且在图15中示出。

接下来,在操作1408中,系统1300基于所识别的特征和/或关键词从一个或多个内容资源126取回建议内容1304。如上所概述,可以从诸如搜索引擎、与用户相关联的数据存储库、社交媒体资源或其他本地或远程文件之类的一个或多个资源接收建议内容1304。在一些说明性示例中,可以从个人数据存储取回建议内容1304,诸如存储在本地设备中的文件或存储在基于服务器的存储服务(例如,googledrive或dropbox)中的文件。在其他说明性示例中,可以从诸如bing或google的搜索引擎和/或诸如facebook、linkedin的一个或多个社交网络和/或任何其他在线服务取回建议内容1304。本地或基于网络的数据库还可以用作内容资源126。可以意识到,用于利用关键词或特征的已知技术可以用于识别建议内容1304,对建议内容1304排序和取回建议内容1304。在一些配置中,特征可以包括图像数据。在这样的配置中,图像数据可以被传送到一个或多个资源以识别和取回建议内容1304。这样的配置可以利用已知的图像分析技术来识别和取回建议内容1304。

接下来,在操作1410中,系统1300可以呈现建议内容1304。可以意识到,建议内容1304的呈现可以利用用于显示建议内容1304或者将建议内容1304传送给另一计算设备或模块的一种或多种技术。例如,在一些配置中,建议内容1304可以从内容/意图引入模块204传送到用户计算设备130以显示给作者102。操作1410的附加细节和示例在下面更详细地描述且示出在图15中。

接下来,在操作1412中,系统1300可以接收选择或取消选择特征和/或关键词的命令。一般地描述,显示建议内容1304的用户接口还可以显示用于从一个或多个内容资源126取回建议内容1304的所选关键词或特征。在一些配置中,所选关键词或特征可以被布置在控件例如按钮中,其允许用户切换各个特征或各个关键词的使用。

例如,如果输入112包括通过使用上述技术描述到具有山和湖泊的风景的公园的旅行的文本,则所选择的关键词可以是“公园”,“湖泊”和“山”。假定所选择的关键词用于取回建议内容1304,在该说明性示例中,系统1300可以取回并呈现具有与所选关键词相关的元数据的用户的onedrive或另一网络可访问存储位置中的图像。在该说明性示例中,还假设呈现图像的用户接口可以包括“公园”按钮,“湖”按钮和“山”按钮。通过致动每个按钮,可以选择和取消选择各个关键词。因此,通过使用按钮,系统1300可以在每个关键词被选择或取消选择时修改建议内容1304的呈现。提供该示例仅用于说明目的,并且不被解释为限制,因为可以使用用于选择和取消选择特征和/或关键词的任何技术。操作1412的附加细节和示例在下面更详细地描述并且在图15中示出。

接下来,在操作1414中,系统1300可以从建议内容1304接收对一个或多个对象的选择,并且将所选内容与输入112组合。一般来说,建议内容1304可以包括多个对象,例如图像、文本的小节和/或其他类型的数据。在一个说明性示例中,建议内容1304可以包括可以在输入112例如创作内容的显示旁边的用户接口上显示的多个图像。通过使用一个或多个图形用户接口特征,用户可以从建议内容1304中选择图像中的一个并将所选择的图像插入创作内容中。在另一示例中,建议内容1304可以包括文本的小节,该文本的小节可以被选择并放置到创作内容中。操作1414的附加细节和示例在下面更详细地描述并且在图15中示出。

接下来,在操作1416中,系统1300可以获得作者的意图。上面提供了用于获得和处理意图数据116的技术的细节。操作1416可以以类似于图6中所示的例程600的一个或多个操作的方式来配置。如所描述的,存在多种用于处理和传达作者的意图的技术。

接下来,在操作1418中,可以包括建议内容1304的意图数据116和内容数据114从内容/意图引入模块204传送到布局引擎108,其中所传送的数据以如上所述的方式进行处理。一旦意图数据116和/或内容数据114被传送到布局引擎108,则例程1400在操作1420处终止。

现在参考图15,在下面示出和描述用于接收输入112并显示建议内容1304a-1304i(在本文统称为并且一般地称为“建议内容1304”)的输入接口1500。如图所示,接口1500包括用于显示建议内容1304的内容建议小节1504。此外,接口1500配置有用于接收和显示输入112的编辑小节1505。在一些配置中,由于创作内容通过用户输入编辑小节1505中,处理创作内容以识别一个或多个关键词以识别和显示建议内容1304。

如上所述,在一些配置中,诸如关键词的特征的选择可以基于光标1506的位置。在一些配置中,光标1506周围的预定义区域可以用于确定一个或多个所选关键词。为了说明的目的,光标1506周围的预定义区域在这里可以被称为“窗口1508”,其在图15中用虚线表示。因此,当用户输入创作内容时,窗口1508可以跟随光标,从而向当前编辑位置附近的词提供焦点。本文公开的技术和其他技术可以用于在窗口1508内选择关键词,并且所选择的关键词可以用于获得建议内容1304。

接口1500还允许用户从内容建议小节1504中选择一个或多个项目,并将所选择的项目插入到编辑小节1505中。图15中所示的示例示出了修改的示例,其中三个图像1304a、1304d和1304i被选择并被定位到编辑小节1505中。可以意识到,所选内容的选择和定位可以通过一种或多种已知技术来实现,包括用于允许用户拖放图像或其他内容到期望位置的用户接口特征。

也如上所概述,接口1500可以用建议内容1304来显示所选择的关键词,例如所选择的特征。参考上述说明性示例,图15示出示例的接口,示出“公园”按钮、“湖”按钮和“山”按钮。通过致动每个按钮,可以选择和取消选择各个关键词。因此,通过使用按钮,系统1300可以在每个关键词被选择或取消选择时修改建议内容1304的呈现。如果用户例如致动“山”按钮,则可以去除山的图像或用其他图像替换。

在一些配置中,上述技术可以利用从输入112得出的上下文数据来识别输入的主体,并且基于输入的主体,系统识别并取回关于与输入的主体相关的附加主体的内容。在这样的配置中,可以分析输入112,并且系统可以生成上下文数据。已知的技术可以用于分析输入112以识别诸如人、地点或事物的主体。描述所识别的主体的数据可以用于识别可以呈现给用户的一个或多个相关主体。通过在输入112的输入期间向作者提供附加主体,作者可以及时获得关于可能未被预期的内容的信息。

在一个说明性示例中,作者102可以提供描述伦敦和柏林的历史的输入。在处理这种类型的输入时,内容建议模块1302可以识别和/或生成指示作者102正在关于某个主体(例如,欧洲国家的首都)进行写作的上下文数据。使用上下文数据,系统然后可以进一步识别相关主体,诸如其他欧洲国家的首都,诸如罗马或贝尔格莱德。然后可以取回与相关主体相关联的建议内容,例如图片、文本或其他形式的媒体,并呈现给作者102。例如,可以在内容建议小节1504中呈现与罗马或贝尔格莱德相关的图片、文本或其他媒体。这样的技术可以通过在作者创作文档时提供上下文相关的主题来增强作者的用户体验。

除了识别相关主题,在一些配置中,上述技术可以利用从输入112得出的上下文数据来确定可用于取回建议内容1304的查询的类型。在这样的配置中,可以分析输入112,并且内容建议模块1302可以生成查询以从内容资源126取回上下文相关的数据。

在一个说明性的示例中,作者102可以以陈述“bradpitt与他的孩子做许多活动”的句子的形式提供输入112。从这种类型的输入,系统可以处理输入112并识别特定的主题。例如,内容建议模块1302可以解释该样本输入并确定它与bradpitt的个人生活相关。内容建议模块1302然后可以基于bradpitt的个人生活(例如爱好,活动等)来呈现建议内容1304。这样的技术允许内容建议模块1302取回与作者内容上下文相关的建议内容1304。例如,通过使用本文所描述的技术,关于bradpitt的个人生活的样本输入可能不产生关于bradpitt的电影或职业的建议内容1304。

在另一个说明性的示例中,考虑其中作者正在写关于“在他们的新林肯中开车”的概要的输入112。当通过系统获得这样的输入时,本文描述的技术可以用于生成指示作者正在描述汽车而不是前总统的上下文数据。相反,如果输入112包括语句,例如“lincoln出生于2月12日”,则系统可以分析该输入并生成指示作者正在写关于前总统的上下文数据。上下文数据可以用于构建取回与作者内容上下文相关的建议内容1304的查询。

如上所概述,用于取回建议内容1304的关键词可以基于光标位置。在一些配置中,除了使用光标位置之外,选择关键词的过程可以基于作者提供作为输入112的内容的结构。一般地描述,输入112可以包括一个或多个元素,诸如换行符、小节标头、标题或其他格式化特征。本文描述的技术可以解释输入的这些元素以选择用于获得建议内容1304的一个或多个关键词。

在一个说明性的示例中,考虑包括标题、小节标题和多个段落的输入。在本示例中,第一段落描述了巴黎的特定网站,第二段落描述了伦敦的特定网站。如果作者当前正在第二段落中输入文本,则基于诸如换行符的文档元素,系统可以确定第二段落中的关键词比第一段落中的关键词更相关。因此,在该示例中,用于取回建议内容1304的所选关键词可以更加集中于与伦敦和伦敦的网站相关的关键词。可以意识到,在一些实现方式中,这样的技术可以涉及生成输入的树结构。树结构可以基于输入的一个或多个元素,诸如标题、小节标题、换行符、格式化指示符或其他特性。使用光标的位置,或者甚至不使用光标的位置,可以基于树结构(例如,输入112的结构)来选择关键词。在不使用光标的位置的配置中,关键词可以是基于树的最近输入的元素、关键词之间的间隔或考虑树的结构的任何其它技术来选择。

如上所述,本文描述了用于基于用户输入来生成样本创作内容的技术。一般地描述,样本内容(例如主体的概要)可以从用户提供的一个或多个关键词的上下文解释中生成。使用一个或多个关键词,系统从一个或多个资源取回内容数据。内容数据被解析并用于生成内容数据的结构。然后该结构用于生成可以呈现给用户的样本内容。所呈现的信息可以提供一种用于快速启动关于感兴趣的特定主题的创作项目的方式。

本文公开的技术和概念可以用于帮助用户(例如学生,业余博主)关于一个或多个感兴趣的主题进行写作。在一些说明性的示例中,本文所公开的技术可以解释诸如使用一个或两个关键词的最小输入来编译信息并且从一个或多个资源(诸如wiki,来自youtube的视频,来自bingnews的新闻文章或来自其他资源的其他内容)来构建结构化概要。传送给用户的输出可以包括建议内容的结构,诸如标题、小节标题和样本句子。输出的结构可以来自信号资源,诸如来自维基百科(wikipedia)的文章,或者该结构可以是来自许多资源的信息的聚合,包括来自一个或多个用户的输入。另外,可以确定和处理描述关系类型的数据以创建结构。

图16是示出可用于实现用于基于用户输入生成样本创作内容的一个或多个配置的一个说明性操作环境的系统图。可以意识到,系统1600包括图1中描绘的系统100的多个组件,其细节在上面描述。另外,图16示出了系统1600包括用于将输入数据和样本内容与计算设备(例如用户计算设备130)通信的内容/意图引入模块204。系统1600还包括冷启动模块1606用于处理输入数据以确定一个或多个内容资源126并从内容资源126接收相关内容1604。此外,冷启动模块1606处理相关内容1604以确定样本内容1610的结构。如将详细说明的,这些模块协同操作以基于诸如一个或多个关键词1602的输入来生成样本内容1610并将样本内容1610递送到用户计算机设备130。

在一些配置中,用户计算设备130提供传送到内容/意图引入模块204的一个或多个关键词1602,并且内容/意图引入模块204将一个或多个关键词1602传送到冷启动模块1606。冷启动模块1606然后处理关键词1602以确定实体类型。冷启动模块1606然后利用关键词1602和/或定义实体类型的数据来选择一个或多个内容资源126。然后,内容收集模块206将一个或多个查询传递到所选择的内容资源126,以获得相关内容1604。如上所概述,所选内容资源126的示例可以包括wiki站点、文章数据库、视频数据库或包含可搜索信息的其他资源。一旦内容收集模块206获得相关内容1604,则将相关内容1604传送到冷启动模块1606,在冷启动模块1606中,相关内容1604被处理以确定用于输出的结构,例如样本内容1610。内容/意图引入模块204可以将样本内容1610传送到用户计算设备130以呈现给作者102。另外,内容/意图引入模块204可以将内容数据114和意图数据116传送到布局引擎108,用于进一步处理,这在上文进行了说明并在图6中示出。

现在转到图17,以下示出并描述了用于基于用户输入生成样本内容1610的例程1700的各方面。应当理解,本文公开的方法的操作不一定以任何特定顺序呈现,并且以替换顺序执行一些或全部操作是可能的并且是可预期的。为了便于描述和说明,以示出的顺序呈现操作。在不脱离所附权利要求的范围的情况下,可以添加、省略和/或同时执行操作。

如图17所示,例程1700开始于操作1702,其中内容/意图引入模块204获得输入,该输入可以是一个或多个关键词1602的形式。在一些配置中,一个或多个关键词1602由内容/意图引入模块204接收并传送到冷启动模块1606以用于进一步处理。在一个说明性的示例中,在操作1702,输入可以包括单个关键词,诸如“内布拉斯加(nebraska)”。可以理解,输入可以包括多于一个关键词。然而,本文呈现的技术可以基于一个或两个关键词提供相关内容数据114。还可以意识到,输入可以是其他形式。例如,用户可以提供一个或多个图像作为输入。可以分析一个或多个图像或任何其他接收到的数据以生成一个或多个关键词,或者图像或其他数据可以用作搜索标准。

接下来,在操作1704中,冷启动模块1606处理输入,例如一个或多个关键词1602,以检测一个或多个实体。一般来说,为了检测实体,冷启动模块1606解释输入并确定一个或多个关键词1602的上下文含义。在一些配置中,一个或多个关键词1606的解释可涉及识别实体类型的过程。实体类型例如可以是与人、地点、对象或主体相关联的州、城市、人或任何类别的信息。提供这些示例是为了说明的目的,而不应解释为限制。参考本示例,在输入是关键词“内布拉斯加”的情况下,冷启动模块1606可以在操作1704中确定关键词与被表征为“州”的实体类型相关联。在操作1704中识别一个或多个实体之后,如下所述,定义实体类型和一个或多个关键词1602的数据可以用于识别一个或多个内容资源。

在一些配置中,一个或多个内容资源126可以用于检测和标识实体类型和/或实体。在这样的配置中,关键词1602可以被传送到一个或多个内容资源126,例如bing,google,维基百科(wikipedia)或被配置为接收输入并基于输入生成内容的任何其他内容资源。可以意识到,从一个或多个内容资源126接收的任何内容可以被解释和处理以识别实体和/或实体类型。还可以意识到,来自一个资源的结果可以用于识别实体和/或实体类型。此外,可以意识到,可以聚合来自多个资源的结果以识别实体和/或实体类型。

接下来,在操作1706中,冷启动模块1606基于实体类型和/或一个或多个关键词1602来识别内容资源126。在一些配置中,冷启动模块1606可以存储将实体类型关联到一个或多个资源的数据。例如,如果实体类型是诸如城市或州的位置,则冷启动模块1606可以将该实体类型与诸如wikipedia、在线百科全书或另一内容资源的特定内容资源相关联。可以意识到,提供这些示例内容资源仅用于说明目的,而不应被解释为限制。在本示例中,实体类型“位置”可以用关键词“nebraska”标识,并且利用该实体类型,内容收集模块206可以将wikipedia识别为所选内容资源126之一。在识别一个或多个所选内容资源126时,描述所选内容资源126的身份的数据可以被传送到内容收集模块206。

接下来,在操作1708中,内容收集模块206使用所选内容资源126的标识从所选内容资源126获得相关内容1604。在操作1708中,例如,内容收集模块206可以引导查询到所选内容资源126以获得相关内容1604。为了说明的目的,相关内容1604在这里也被称为“内容数据”。在一个说明性示例中,针对所选内容资源126的查询可以包括描述实体类型和/或关键词1602的数据。可以意识到,传送到内容资源126的查询可以是任何形式,查询可以包括伴随或替换一个或多个关键词1602和/或实体类型的信息或数据。在一个说明性示例中,对内容资源126的查询可以是指向所选内容资源126的url。url可以包括一个或多个关键词1602和/或实体类型和/或与关键词1602相关的其他上下文信息。

响应于查询,所选内容资源126可以将相关内容1604返回到内容收集模块206。在当前示例中,基于关键词“nebraska”和实体类型,内容资源126(在该示例中是wikipedia)可以以web页面的形式返回相关内容1604。可以意识到,相关内容1604可以是任何格式,例如标记文档、word文档或数据库文件。一旦接收到相关内容1604,内容收集模块206可以将相关内容1604传送到冷启动模块1606,在冷启动模块1606中相关内容1604被进一步处理。

接下来,在操作1710中,冷启动模块1606可以通过分析相关内容1604的结构元素来生成样本内容1610的结构。一般地描述,可以从任何所接收内容的分析所导出的相关内容1604和/或其他上下文信息的结构被用于生成样本内容1610的结构。例如,相关内容1604中的标题或标头标签可以用于标识具有提高的优先级的文本,例如指示主题、子主题或需要小节标题的文本。这样的文本可以与样本内容1610中的一个或多个结构元素(例如,小节标题)相关联。在其他示例中,增加的字体大小或粗体文本可以用于标识具有提高的优先级的文本。可以意识到,任何接收到的内容(诸如相关内容1604)内的任何数据类型或格式化指示符可以用作识别样本内容1610的结构元素的基础。为了说明的目的,样本内容1610在本文中也称为“样本内容数据”。

除了诸如标题或小节标题的结构元素的识别之外,本文公开的技术可以识别和利用来自相关内容1604和/或任何接收内容的样本句子。一般来说,样本句子可用于通过提供一个或多个主题或小节的初始内容来帮助作者启动撰写。例如,在一些配置中,当识别出主题或子主题时,冷启动模块1606可以提取与主题或子主题相关的一个或两个简单句子,诸如在标头或标题之后的句子。结果,在操作1710中生成的样本内容1610和/或内容数据114可以包括具有标题、小节标题和样本句子的结构。

除了分析相关内容1604的结构元素以确定样本内容1610的结构的结构之外,内容可以由冷启动模块1606生成。生成的内容,例如标题、小节标题和/或样本句子可以用于补充从相关内容1604获得的上述结构元素和样本句子。可替代地,所生成的内容可以单独使用或与其他收集的信息结合使用。可以意识到,所生成的内容可以从搜索查询、存储的数据、历史使用信息或由系统1600获得的其他数据中导出。

参考涉及“内布拉斯加”查询的当前示例,相关内容1604可以是从wikipedia返回的web页面的形式。标签、定义数据类型的数据、格式化数据和/或web页面的其他元数据可以用作确定样本内容1610的结构的基础。在该示例中,生成的样本内容1610可以将输入“内布拉斯加”布置作为标题。此外,在该示例中,假定相关内容1604包含粗体标题中的多个词:概要(synopsis),关于内布拉斯加的新闻(newsonnebraska),地理(geography)和经济(economy)。另外,在该示例中,假定相关内容1604包含在每个加粗体标题之后的几个句子。给定相关内容1604的该示例结构,所生成的样本内容1610可以具有这样的结构:具有标题(内布拉斯加),小节标题(synopsis,newsonnebraska,geography和economy)和样本句子。本示例的其他细节和操作1710的其它细节在下面提供并且在图18中示出。

如可以意识到的,尽管结构元素(例如标签、数据类型和其他信息)可以用于确定样本内容1610的结构,但是可以使用用于识别结构和相关信息的任何方法。例如,如果相关内容1604是图像或视频的形式,则任何图形呈现的文本和使渲染的文本带有高亮的其他可视指示符的格式可以被解释为标识一个或多个结构元素。

再次返回到图17,例程1700在操作1712处进行,其中系统1700生成意图数据116。在上面的描述中提供了用于处理意图数据的技术的细节,意图数据也被称为“用户意图”。也如上所概述的,在一些配置中,在本文中也被称为“意图”或“指示意图的数据”的意图数据116可以强调或优先化文本的某些主题或小节。另外,意图数据116还可以指示内容的预期用途,诸如被发布为在线公布的博客文章,要在报纸中印出的文章,呈现给消费者的待发布视频以及其他用途。如上所述,意图可以影响由布局生成引擎108产生的输出的生成。还如上所述,意图可以从多个源中导出。例如,意图可以基于对样本内容1610和/或相关内容1604的结构的解释。

在一些配置中,一种类型的意图可以基于与一个或多个词或短语相关联的优先级。例如,参考涉及“内布拉斯加”查询的当前示例,与标题相关联的文本可以具有比与小节标题相关联的文本更高的优先级。类似地,在另一示例中,小节标题可以具有比样本句子更高的优先级。如上所概述,定义一个或多个优先级的数据(例如意图)可以由布局引擎108使用以用于进一步处理模型。

接下来,在操作1714中,意图数据116和内容数据114可以从内容/意图引入模块204传送到布局引擎108。如上所述,布局引擎108可以多种不同的方式处理意图数据116和/或内容数据114,其细节在上面提供。除了与布局引擎108进行数据通信之外,可以使用一个或多个接口在显示设备上向用户呈现内容数据114。一旦将意图数据116和/或内容数据114传送到布局引擎108,例程1700在操作1716处终止。

如上所概述,参考操作1710,本文描述的技术可以生成样本内容1610。在一些配置中,冷启动模块1606可以分析相关内容1604以导出与相关内容1604相关的上下文信息。在一个说明性的示例中,对相关内容1604的分析可以识别一个或多个实体,诸如人、地点或对象。另外,对相关内容1604的分析可以识别具有与所识别的实体的一个或多个关联的相关实体。例如,相关内容1604的上下文分析可以识别第一实体,诸如人,以及相关实体,诸如该人的配偶。根据该信息,冷启动模块1606可以生成附加内容,诸如小节标头、标题、样本句子或描述任何所识别的实体和/或相关实体的任何其它内容。

在一个说明性的示例中,如果用户输入包含字符串“bradpitt”的输入,则冷启动模块1606可以将演员(actor)识别为一个实体。此外,冷启动模块1606可以分析相关内容1604并识别相关实体,诸如家庭成员。基于导出的上下文信息,冷启动模块1606可以生成附加的小节标题,例如关于配偶、每个孩子或其他家庭成员的小节标题。另外,冷启动模块1606可以生成另外的样本句子。可以意识到,冷启动模块1606可以聚合和/或修改取回到的内容。因此,可以生成新的结构元素和/或内容。

在操作1710的一些配置中,冷启动模块1606可以被配置为对从相关内容1606导出的结构进行随机化。例如,参考涉及内布拉斯加查询的上述示例,涉及概要、城市&州的现有结构可能改变成不同的结构。例如,可以重新布置、重新编写或以其它方式修改小节标头,以在每次使用相同输入时不同地显现。可以意识到,考虑到输出将被用作创作工具,使输出的结构随机化的过程可能是有益的。这样的特征允许系统1700适应大量用户,而无需为每个用户创建具有相同结构的样本数据。

现在参考图18,下面示出和描述了用于接收输入的输入接口1800。如图18所示,输入接口1800配置有用于接收诸如文本输入的输入的字段1802。可以意识到,字段1802可以被配置为接收和编辑文本和其他形式的数据。另外,输入接口1800可以被配置为向内容/意图引入模块204传送文本和其他形式的数据。输入接口1800还可以配置有一个或多个控件,例如“生成”按钮1804。当生成按钮1804被调用时,来自字段1802的数据或文本可以从接口1800传送到内容/意图引入模块204以进行处理。

图18还示出了被配置为显示数据或信息(诸如样本内容1610)的显示接口1801。当应用于涉及“内布拉斯加”查询的当前示例时,显示接口1800被配置为显示在操作1710中生成的样本内容1610。如图所示,显示接口1801显示标题1806、小节标题(1808a-1808d)和相关样本句子(1810a-1810c)的列表。显示接口1801可以被配置为与内容/意图引入模块204进行文本和其他形式的数据通信。另外,显示接口1801可以被配置为显示图像1812,其可以由样本内容1610或任何其他资源或模块来提供。另外,显示接口1801可以被配置为允许用户编辑所显示的内容,诸如文本或图像。例如,用户可以编辑标题、一个或多个小节标题、一个或多个样本句子或一个或多个图像。

图19示出了能够执行如本文所描述的用于提供用于基于用户意图生成内容数据布局的内容创作服务的程序组件的计算机的示例性的计算机架构1900的附加的细节。因此,图19所示的计算机架构1900可以图示出服务器计算机、移动电话、pda、智能电话、台式计算机、上网本计算机、平板式计算机和/或膝上型计算机的架构。计算机架构1900可用于执行本文呈现的软件组件的任意方面。

图19所示的计算机架构1900包括中央处理单元1902(“cpu”)、包括随机存取存储器1906(“ram”)和只读存储器(“rom”)1908的系统存储器1904以及将存储器1904与cpu1902耦合的系统总线1910。包含了例如在启动期间帮助在计算机架构1900内的元件之间传输信息的基本例程的基本输入/输出系统存储在rom1908中。计算机架构1900还包括大容量存储设备1912,其用于存储操作系统1918,以及包括但不限于布局生成引擎108、内容收集/生成模块106和web浏览器应用1910的一个或多个应用程序。

大容量存储设备1912通过与总线1910连接的大容量存储控制器(未示出)来与cpu1902连接。大容量存储设备1912及其相关联的计算机可读介质提供了用于计算机架构1900的非易失性存储。虽然在本文所包含的计算机可读介质的描述是指大容量存储设备,如固态驱动器、硬盘或cd-rom驱动器,本领域技术人员应当意识到计算机可读介质可以是能够由计算机架构1900访问的任何可用的计算机存储介质或通信介质。

通信介质可包括计算机可读指令、数据结构、程序模块、或调制数据信号中的其它数据如载波或其他传输机制来具体实施,并且包括任何输送介质。术语“调制数据信号”是指其一个或多个特性以将信息编码到信号中的方式进行设定或改变的信号。通过示例而不是限制的方式,通信介质可以包括诸如有线网或直接连线连接的有线介质以及诸如声波、rf、红外和其他无线介质的无线介质。上述任意的组合也应当包含在计算机可读介质的范围内。

通过举例而不是限制的方式,计算机存储介质可以包括以用于诸如计算机可读指令、数据结构、程序模块或其它数据的信息的存储的任何方法或技术实现的易失性和非易失性的、可移动和非可移动的介质。例如,计算机介质包括但不限于ram、rom、eprom、eeprom、闪速存储器或其它固态存储器技术、cd-rom、数字多功能盘(“dvd”)、hd-dvd、blu-ray或其它光学存储、磁盒、磁带、磁盘存储或其它磁存储设备、或者能够用于存储所需的信息且能够由计算机架构1900访问的任何其它介质。为了权利要求的目的,“计算机存储介质”或“计算机可读存储介质”及其变化形式本身不包含波、信号和/或其它暂态的和/或无形的通信介质。

根据各个配置,计算机架构1900可以通过网络1056和/或另一网络(未示出)利用到远程计算机的逻辑连接而操作于网络环境中。计算机架构1900可以通过与总线1910连接的网络接口单元1914而连接到网络1056。应当意识到,网络接口单元1914可以用来连接到其它类型的网络以及远程计算机系统。计算机架构1900还可以包括用于接收和处理来自包括键盘、鼠标或电子指示笔(图8中未示出)的多个其它设备的输入的输入/输出控制器1916。类似地,输入/输出控制器1916可以提供输出给显示屏、打印机或其它类型的输出设备(图8中也未示出)。

应当意识到,本文所描述的软件组件在加载到cpu1902中且执行时可以将cpu1902和整个计算机架构1900从通用计算系统变换成经定制而促进本文呈现的功能的专用计算系统。cpu1902可以由任意数量的晶体管或其它离散电路元件构成,这些晶体管和离散电路元件可以单独地或者统一地呈现任意数量的状态。更具体地,cpu1902可以响应于包含在本文公开的软件模块内的可执行指令而作为有限状态机来操作。这些计算机可执行指令可以通过规定cpu1902如何在状态之间转变而变换cpu1902,从而变换构成cpu1902的晶体管或其它离散硬件元件。

对本文呈现的软件模块编码也可以变换本文呈现的计算机可读介质的物理结构。在本说明书的不同的实现方式中,物理结构的具体的变换可以取决于各种因素。这些因素的示例可以包括但不限于用来实现计算机可读介质的技术,计算机可读介质是表征为主存储还是辅存储,等等。例如,如果计算机可读介质实现为基于半导体的存储器,则本文公开的软件可以通过变换半导体存储器的物理状态而编码到计算机可读介质上。例如,软件可以变换构成半导体存储器的晶体管、电容器、或其它离散电路元件的状态。软件还可以变换这些组件的物理状态从而在其中存储数据。

作为另一示例,本文所公开的计算机可读介质可以利用磁或光技术来实现。在这些实现方式中,当软件编码到其中时,本文所呈现的软件可以变换磁或光介质的物理状态。这些变换可以包括改变在既定磁介质内的特定位置的磁特性。这些变换还可以包括改变在给定的光介质内的特定位置的物理特征或特性,以改变那些位置的光学特性。物理介质的其它变换是可能的,不偏离本说明书的范围和主旨,提供了上述示例仅为了利于该论述。

根据上述,应当意识到,许多类型的物理变换可以发生在计算机架构1900内从而存储和执行本文呈现的软件组件。还应当意识到,计算机架构1900可以包括其它类型的计算设备,包括手持式计算机、嵌入式计算机系统、个人数字助理以及本领域技术人员所知的其它类型的计算设备。还可想到,计算机架构1900可以不包括图19所示的全部组件,可以包括图19中未明确示出的其它组件,或者可以使用完全不同于图19所示的架构。

图20描绘了能够执行本文所述的用于基于用户输入生成结构化样本创作内容以及其它方面的软件组件的示例性的分布式计算环境2000。因此,图20所示的分布式计算环境2000能够用于执行本文呈现的软件组件的任意方面。因此,分布式计算环境2000可用于执行内容收集/生成模块106、布局生成引擎108和/或本文所述的其它软件组件的各方面。

根据各个实现方式,分布式计算环境2000包括操作于网络2004上、与网络2004通信或者作为网络2004的部分而操作的计算环境2002。网络2004可以是或者可以包括网络124,如上文参考图19所说明的。网络2004还可以包括各种接入网络。一个或多个客户端设备2006a-2006n(下文统一地和/或一般地称为“客户端2006”)能够经由网络2004和/或其它连接(图20中未示出)与计算环境2002通信。客户端2006可以包括用户计算设备130和/或渲染设备110。在一个图示的配置中,客户端2006包括计算设备2006a,诸如膝上型计算机、台式计算机或其它计算设备;片式或平板式计算设备(“平板计算设备”)2006b;移动计算设备2006c,如移动电话、智能手机或其它移动计算设备;服务器计算机2006d;和/或其它设备2006n。应当理解的是,任意数量的客户端2006能够与计算环境2002通信。本文参考图19和图21描述了和图示出客户端2006的两个示例的计算架构。应当理解的是,图示的客户端2006和本文所图示和描述的计算架构是示例性的,而不应解释为以任何方式限制。

在图示的配置中,计算环境2002包括应用服务器2008、数据存储设备2010以及一个或多个网络接口2012。根据各个实现方式,应用服务器2008的功能可以由作为网络2004的部分执行或者与网络2004通信的一个或多个服务器计算机来提供。应用服务器2008能够托管各种服务、虚拟机、入口和/或其它资源。在图示的配置中,应用服务器2008托管了用于托管应用或其它功能的一个或多个虚拟机2014。根据各个实现方式,虚拟机2014托管了用于基于用户意图的内容创作的一个或多个应用和/或软件模块。应当理解的是,该配置是示例性的,而不应解释为以任何方式限制。应用服务器2008还托管或提供对一个或多个入口、链接页面、web站点和/或其它信息(“web入口”)2016的接入。

根据各个实现方式,应用服务器2008还包括一个或多个邮箱服务2018和一个或多个消息传递服务2020。邮箱服务2018可以包括电子邮件(“email”)服务。邮箱服务2018还可以包括各种个人信息管理(“pim”)服务,包括但不限于日历服务、通讯录管理服务、协作服务和/或其它服务。消息传递服务2020可以包括但不限于即时消息传递服务、聊天服务、论坛服务和/或其它通信服务。

应用服务器2008还可以包括一个或多个社交联网服务2022。社交联网服务2022可以包括各种社交联网服务,包含但不限于用于共享或公布状态更新、即时消息、链接、照片、视频和/或其它信息的服务;用于评论或显示对文章、产品、博客或其它资源的兴趣的服务;和/或其它服务。在一些配置中,社交联网服务2022由如下提供或包含如下:facebook社交联网服务,linkedin专业联网服务,myspace社交联网服务,foursquare地理联网服务,yammer办公室同事联网服务,等等。在其它配置中,社交联网服务2022由其它可能或可能没有明确地表明为社交联网提供商的服务、站点和/或提供商来提供。例如,一些网站允许用户在各种活动和/或背景下经由电子邮件、聊天服务和/或其它手段彼此交互,例如,阅读出版物,评论商品或服务,发布,协作,游戏等。这些服务的示例包括但不限于来自华盛顿埃德蒙顿的微软公司的windowslive服务和xboxlive服务。其它服务是可能的且可想到。

社交联网服务2022还可以包括评论、发博客和/或微博服务。这些服务的示例包括但不限于,yelp评论服务、kudzu审阅服务、officetalk企业微博服务、twitter消息传递服务、googlebuzz服务和/或其它服务。应当意识到,上述服务列表不是穷尽的,而且为了简要起见在此没有提到过多的附加的和/或可替代的社交联网服务2022。因此,上述配置是示例性的,而不应解释为以任何方式进行限制。根据各个实现方式,社交联网服务2022可以托管用于提供本文所述的基于用户意图的内容创作的功能的一个或多个应用和/或软件模块。例如,任意一个应用服务器2008可以传送或利于本文所述的功能和特征。

如图20所示,应用服务器2008还能够托管其它服务、应用、入口和/或其它资源(“其它资源”)2024。其它资源2024可以包括但不限于内容创作功能。因此,应当意识到计算环境2002能够提供本文所提供的公开的概念和技术与各种邮箱、消息传递、社交联网和/或其它服务或资源的整合。

如上所述,计算环境2002可以包括数据存储设备2010。根据各个实现方式,数据存储设备2010的功能由操作于网络2004上或者与网络2004通信的一个或多个数据库来提供。数据存储设备2010的功能还能够由被配置成托管用于计算环境2002的数据的一个或多个服务器计算机来提供。数据存储设备2010可以包括、托管或提供一个或多个真实的或虚拟的数据存储库2026a-2026n(下文统一地和/或一般地称为“数据存储库2026”)。数据存储库2026被配置成托管由应用服务器2008所使用或创建的数据和/或其它数据。虽然图20中未示出,数据存储库2026还能够托管或存储核心内容数据模型212、布局就绪视图模型216、布局资源和/或布局生成引擎108或其它模块所使用的其它数据。数据存储库2026的方面可以与例如onedrive、dropbox或googledrive的服务相关联。

计算环境2002能够与网络接口2012通信或者由网络接口2012访问。网络接口2012可以包括用于支持包括但不限于客户端2006和应用服务器2008在内的两个或更多个计算设备之间的通信的各种类型的网络硬件和软件。应当意识到,网络接口2012还可以用来连接到其它类型的网络和/或计算机系统。

应当理解的是,本文所描述的分布式计算环境2000能够为本文所描述的软件元件的任意方面提供能够被配置成执行本文公开的软件组件的任意方面的任意数量的虚拟计算资源和/或其它分布式计算功能。根据本文公开的概念和技术的各个实现方式,分布式计算环境2000将在本文描述的软件功能作为服务提供给客户端2006。应当理解的是,客户端2006可以包括真实的或虚拟的机器,包括但不限于服务器计算机、web服务器、个人计算机、移动计算设备、智能电话和/或其它设备。因此,本文所公开的概念和技术的各种配置使得被配置成访问分布式计算环境2000的任何设备能够使用本文所描述的用于基于用户输入生成结构化样本创作内容以及其它方面的功能。在一个具体的示例中,如上文所概述的,本文所述的技术可以至少部分地通过与图20的应用服务器2008协作的图19的web浏览器应用1910来实现。

现在转到图21,能够执行本文所描述的用于基于用户输入生成结构化样本创作内容的各种软件组件的计算设备的示例性的计算设备架构2100。计算设备架构2100能应用于部分地由于形状因数、无线连接能力和/或电池供电操作而促进移动计算的计算设备。在一些配置中,计算设备包括但不限于移动电话、平板式设备、片式设备、便携式视频游戏设备等。而且,计算设备架构2100能应用于图20所示的任意客户端2006。此外,计算设备架构2100的方面可以能应用于传统的台式计算机、便携式计算机(例如,膝上型设备、笔记本设备、超级便携式设备和上网本)、服务器计算机和其它计算机系统,如本文参考图19所描述的。例如,下文所公开的单触摸和多触摸方面可应用使用触摸屏的台式计算机或某种其它触摸使能设备,诸如触摸使能跟踪垫或触摸使能鼠标。

图21所示的计算设备架构2100包括处理器2102、存储器组件2104、网络连接组件2106、传感器组件2108、输入/输出组件2110和电力组件2112。在图示的配置中,处理器2102与存储器组件2104、网络连接组件2106、传感器组件2108、输入/输出(“i/o”)组件2110和电力组件2112通信。虽然没有示出图21所示的各个组件之间的连接,所述组件能够交互而实施设备功能。在一些配置中,组件被配置成经由一个或多个总线(未示出)通信。

处理器2102包括中央处理单元(“cpu”),其被配置成处理数据,执行一个或多个应用程序的计算机可执行指令,并且与计算设备架构2100的其它组件通信从而实施本文所描述的各种功能。处理器2102可以用来执行本文所呈现的软件组件的方面,尤其是那些至少部分地使用触摸使能输入的方面。

在一些配置中,处理器2102包括图形处理单元(“gpu”),其被配置成加速cpu所执行的操作,包括但不限于,通过执行通用科学和/或工程计算应用所实施的操作,以及诸如高分辨率视频(例如,720p,1080p和更高分辨率)、视频游戏、三维(“3d”)建模应用等图形密集计算应用。在一些配置中,处理器2102被配置成与分立的gpu(未示出)通信。在任何情况下,cpu和gpu可以依照协同处理的cpu/gpu计算模型来配置,其中应用的顺序的部分在cpu上执行,计算密集部分由gpu来加速。

在一些配置中,处理器2102是、或被包括在片上系统(“soc”)连同下文所描述的其它组件中的一个或多个。例如,soc可以包括处理器2102、gpu、一个或多个网络连接组件2106以及一个或多个传感器组件2108。在一些配置中,处理器2102部分地利用封装上封装“pop”集成电路封装技术来制作。而且,处理器2102可以是单核或多核处理器。

处理器2102可以依照自英国剑桥的armholdings许可使用的arm架构来产生。可替代地,处理器2102可依照x86架构来产生,例如可从加利福尼亚山景城以及其它的因特尔公司获得。在一些配置中,处理器2102是可从加利福尼亚的圣地牙哥的qualcomm得到的snapdragonsoc、可从加利福尼亚的圣塔克拉拉的nvidia得到的tegrasoc、可从韩国首尔的三星公司得到的hummingbirdsoc、可从德克萨斯州的达拉斯的德州仪器得到的openmultimediaapplicationplatform(“omap”)soc、上述soc中的任一个的定制版本或专有soc。

存储器组件2104包括随机存取存储器(“ram”)2114、只读存储器(“rom”)2116、集成存储存储器(“集成存储”)2118和可移除存储存储器(“可移动存储”)2120。在一些配置中,ram2114或其部分、rom2118或其部分和/或ram2114和rom2118的某种组合集成到处理器2102中。在一些配置中,rom2118被配置成存储固件、操作系统或其部分(例如,操作系统核)和/或从集成存储2118或可移动存储2120加载操作系统核的引导加载程序。

集成存储2118可以包括固态存储器、硬盘或固态存储器和硬盘的组合。集成存储2118可以钎焊到或以其它方式连接到逻辑板上,处理器2102以及本文所描述的其它组件也可以连接到该逻辑板上。因此,集成存储2118集成到计算设备中。集成存储2118被配置成存储本文所描述的操作系统或其部分、应用程序、数据和其它软件组件。

可移动存储设备2120可以包括固态存储器、硬盘或固态存储器和硬盘的组合。在一些配置中,可移动存储设备2120被提供以取代集成存储2118。在其它配置中,可移动存储设备2120被提供作为附加的可选存储。在一些配置中,可移动存储设备2120与集成存储2118逻辑地组合而使得总可用存储可用作为总组合存储容量。在一些配置中,向用户显示集成存储2118和可移动存储2120的总组合容量,而不是集成存储2118和可移动存储设备2120的单独的存储容量。

可移动存储2120被配置成插入可移动存储存储器槽(未示出)或其它机构,可移动存储2120插入可移动存储存储器槽或其它机构且紧固到其上以利于可移动存储2120能够借以与诸如处理器2102的计算设备的其它组件通信的连接。可移动存储2120可以嵌入各种存储器卡形式中,包括但不限于,pc卡、compactflash卡、记忆棒、安全数字(“sd”)、迷你sd(minisd)、微型sd(microsd)、通用集成电路板(“uicc”)(例如,订阅者身份模块(“sim”)或通用sim(“usim”))、专有形式,等等。

可以理解的是,一个或多个存储器组件2104能够存储操作系统。根据各个配置,操作系统包括但不限于来自塞班公司的symbianos、来自华盛顿雷德蒙顿的微软公司的windowsmobileos、来自微软公司的windowsphoneos、来自微软公司的windows、来自加利福尼亚的帕罗奥图的惠普公司的palmwebos、来自加拿大多伦多的researchinmotionlimitedofwaterloo的blackberryos、来自加利福尼亚的库比蒂诺的苹果公司的ios以及来自加利福尼亚的山景城的谷歌公司的androidos。可想到其它操作系统。

网络连接组件2106包括无线广域网组件(“wwan组件”)2122、无线局域网组件(“wlan组件”)2124以及无线个域网组件(“wpan组件”)2126。网络连接组件2106利于与网络2156或另一网络之间的通信,网络可以是wwan、wlan或wpan。虽然仅示出了网络2156,但是网络连接组件1006可促进与多个网络的同时通信,包括图20的网络2004。例如,网络连接组件2106可以促进经由wwan、wlan或wpan中的一个或多个与多个网络同时通信。

网络2156可以是或者可以包括wwan,诸如使用一个或多个移动远程通信技术来经由wwan组件2122提供语音和/或数据服务给使用计算设备架构2100的计算设备的移动远程通信网络。移动远程通信技术可以包括但不限于全球移动通信系统(“gsm”)、码分多址(“cdma”)one、cdma2000、通用移动远程通信系统(“umts”)、长期演进(“lte”)和世界微波接入互操作(“wimax”)。而且,网络2156可以使用各种信道接入方法(其可以或者可以不由上述标准来使用),包括但不限于,时分多址(“tdma”)、频分多址(“fdma”)、cdma、宽带cdma(“w-cdma”)、正交频分多路复用(“ofdm”)、空分多址(“sdma”)和类似方法。数据通信可以利用如下来提供:通用分组无线电服务(“gprs”)、全局演进增强数据率(“edge”)、高速分组接入(“hspa”)协议系列(包括高速下行链路分组接入(“hsdpa”)、增强上行链路(“eul”)或另外称为高速上行链路分组接入(“hsupa”)、演进的hspa(“hspa+”))、lte、以及其它各种当前和未来的无线数据访问标准。网络2156可被配置成利用上述技术的任意组合来提供语音和/或数据通信。网络2156可被配置成或适于依照未来代的技术来提供语音和/或数据通信。

在一些配置中,wwan组件2122被配置成提供到网络2156的双重多模式连接。例如,wwan组件2122可以被配置成提供到网络2156的连接,其中网络2156经由gsm和umts技术来提供服务,或者经由技术的某种其它组合。可替代地,多个wwan组件2122可用来实施该功能,和/或提供附加功能来支持其它非兼容技术(即,不能得到单个wwan组件支持)。wwan组件2122可促进到多个网络(例如,umts网络和lte网络)的类似的连接。

网络2156可以是依照一个或多个电气与电子工程师协会(“ieee”)802.11标准而操作的wlan,诸如ieee802.11a、802.11b、802.11g、802.11n和/或未来的802.11标准(在本文统称为wi-fi)。还可以想到草稿802.11标准。在一些配置中,wlan利用一个或多个无线wi-fi接入点来实现。在一些配置中,一个或多个无线wi-fi接入点是能够与wwan连接的、充当wi-fi热点的另一计算设备。wlan组件2124被配置成经由wi-fi接入点与网络2156连接。这些连接可经由各种加密技术来确保,加密技术包括但不限于wi-fi保护接入(“wpa”)、wpa2、有线等价隐私(“wep”)和类似技术。

网络2156可以是依照红外数据联盟(“irda”)、bluetooth、无线通用串行总线(“usb”)、z-wave、zigbee或某其它短程无线技术来操作的wpan。在一些配置中,wpan组件2126被配置成促进与诸如外围设备、计算机或其它计算设备的其它设备经由wpan的通信。

传感器组件2108包括磁力计2128、环境光传感器2130、接近传感器2132、加速度计2134、陀螺仪2136和全球定位系统传感器(“gps传感器”)2138。可想到,诸如但不限于温度传感器或震动检测传感器的其它传感器也可以包含在计算设备架构2100中。

磁力计2128可以被配置成测量磁场的强度和方向。在一些配置中,磁力计2128提供测量给存储在一个存储器组件2104内的罗盘应用程序从而为用户提供参考系内的精确的方向,包括主要方向,北、南、东和西。可以对包括罗盘组件的导航应用程序提供类似的测量。可想到通过磁力计2128所获得的测量的其它用途。

环境光传感器2130被配置成测量环境光。在一些配置中,环境光传感器2130提供测量给存储在一个存储器组件2104内的应用程序从而自动地调节显示器(下面所述)的亮度从而补偿低光照环境和高光照环境。可想到通过环境光传感器2130所获得的测量的其它用途。

接近传感器2132被配置成在不直接接触的情况下检测靠近计算设备的物体或事物的存在。在一些配置中,接近传感器2132检测用户的身体(例如,用户的面部)的存在且提供该信息给存储在存储器组件2104中之一内的、使用接近信息来使能或禁用计算设备的某功能的应用程序。例如,电话应用程序可以响应于接收到接近信息而自动禁用触摸屏(下面说明),使得用户的面部不会在通话期间不利地结束通话或使能/禁用电话应用程序内的其它功能。接近传感器2132所检测到的接近的其它用途可被想到。

加速度计2134被配置成测量正确的加速度。在一些配置中,来自加速度计2134的输出由应用程序用作控制应用程序的某功能的输入机制。例如,应用程序可以是视频游戏,其中人物、其部分或对象响应于经由加速度计2134接收到的输入而移动或以其它方式被操纵。在一些配置中,来自加速度计2134的输出提供给应用程序以便用于在横向模式与纵向模式之间切换,计算坐标加速度,或者检测落差。可以想到加速度计2134的其它用途。

陀螺仪2136被配置成测量和维持方位。在一些配置中,来自陀螺仪2136的输出由应用程序用作控制应用程序的某功能的输入机制。例如,陀螺仪2136能够用于视频游戏应用或某其它应用的3d环境内的移动的精确识别。在一些配置中,应用程序使用来自陀螺仪2136和加速度计2134的输出来增强应用程序的某种功能的控制。可想到陀螺仪2136的其它用途。

gps传感器2138被配置成接收来自gps卫星的信号以用于计算位置。通过gps传感器2138计算的位置可由需要或受益于位置信息的任何应用程序使用。例如,通过gps传感器2138计算的位置可用于导航应用程序以提供从该位置到目的地的方向或者从目的地到该位置的方向。而且,gps传感器2138可以用于将位置信息提供给的基于外部位置的服务,诸如e911服务。gps传感器2138可以使用一个或多个网络连接组件2106获得经由wi-fi、wimax和/或蜂窝三角测量技术所生成的位置信息以辅助gps传感器2138获得位置锁定。gps传感器2138还可用于辅助gps(“a-gps”)系统。

i/o组件2110包括显示器2140、触摸屏2142、数据i/o接口组件(“数据i/o”)2144、音频i/o接口组件(“音频i/o”)2146、视频i/o接口组件(“视频i/o”)2148和照相机2150。在一些配置中,显示器2140和触摸屏2142组合。在一些配置中,数据i/o组件2144、音频i/o组件2146和视频i/o组件2148中的两个或更多个被组合。i/o组件2110可以包括被配置为支持下面所描述的各种接口的分立的处理器,或者可以包括内置于处理器2102中的处理功能。

显示器2140是被配置成以视觉形式呈现信息的输出设备。特别地,显示器2140可以呈现图形用户接口(“gui”)元件、文本、图像、视频、通知、虚拟按钮、虚拟键盘、消息传递数据、因特网内容、设备状况、时间、日期、日历数据、偏好、地图信息、位置信息以及任何其它能够以视觉形式呈现的信息。在一些配置中,显示器2140是使用了任何有源或无源矩阵技术以及任何背光技术(如果使用)的液晶显示器(“lcd”)。在一些配置中,显示器2140是有机发光二极管(“oled”)显示器。可想到其它显示器类型。

触摸屏2142,在本文中称为“触摸使能屏幕”,是被配置成检测触摸的存在和位置的输入设备。触摸屏2142可以是电阻触摸屏、电容触摸屏、表面声波触摸屏、红外触摸屏、光学成像触摸屏、分散信号触摸屏、声脉冲识别触摸屏,或者可以使用任何其它触摸屏技术。在一些配置中,触摸屏2142作为透明层包含到显示器2140之上以使用户能够使用一个或多个触摸来与呈现在显示器2140上的对象或其它信息交互。在其它配置中,触摸屏2142是并入未包含显示器2140的计算设备的表面上的触摸板。例如,计算设备可以具有并入显示器2140之上的触摸屏和与显示器2140相对的表面上的触摸板。

在一些配置中,触摸屏2142是单触摸式触摸屏。在其它配置中,触摸屏2142是多触摸式触摸屏。在一些配置中,触摸屏2142被配置成检测离散的触摸、单触摸手势和/或多触摸手势。为方便,这些在本文统称为手势。现在将描述多个手势。应当理解的是,这些手势是示例性的,而不旨在限制随附权利要求的范围。而且,所描述的手势、附加手势和/或可替代手势以软件来实现而与触摸屏2142一起使用。因此,开发者可以创建特定于特定的应用程序的手势。

在一些配置中,触摸屏2142支持轻敲手势,其中用户对呈现在显示器2140上的项轻敲触摸屏2142一次。轻敲手势可由于各种原因而使用,包括但不限于,打开或发动用户所轻敲的无论什么。在一些配置中,触摸屏2142支持双轻敲手势,其中用户对呈现在显示器2140上的项轻敲触摸屏2142两次。双轻敲手势可由于各种原因而使用,包括但不限于在阶段中缩小或放大。在一些配置中,触摸屏2142支持轻敲且保持手势,其中用户轻敲触摸屏2142且保持接触至少预定义时间。轻敲且保持手势可由于各种原因而使用,包括但不限于,打开上下文特定菜单。

在一些配置中,触摸屏2142支持平移手势,其中用户将手指放在触摸屏2142上且在触摸屏2142上移动手指的同时保持与触摸屏2142接触。平移手势可由于各种原因而使用,包括但不限于,在受控速率下移过屏幕、图像或菜单。还可以设想多手指平移手势。在一些配置中,触摸屏2142支持轻弹手势,其中用户沿用户想要屏幕移动的方向划动手指。轻弹手势可由于各种原因而使用,包括但不限于,水平地或者垂直地滚动通过菜单或页。在一些配置中,触摸屏2142支持捏合与伸展手势,其中用户在触摸屏2142上用两个手指(例如,拇指和食指)做出捏合运动或者移动使两个手指分开。捏合与伸展手势可由于各种原因而使用,包括但不限于,逐渐地缩小或放大网站、地图或图片。

虽然已经参考用于执行手势的一个或多个手指的使用描述了上述手势,诸如足趾或诸如指示笔的对象的其它附件也可用于与触摸屏2142交互。因此,上述手势应当理解为示例性的,而不应解释为以任何方式限制。

数据i/o接口组件2144被配置成利于向计算设备输入数据以及从计算设备输出数据。在一些配置中,数据i/o接口组件2144包括连接器,该连接器被配置成提供计算设备与计算机系统之间的有线连接,例如用于同步操作的目的。连接器可以是专用连接器或标准化的连接器,如usb、微型usb、迷你型usb或类似物。在一些配置中,连接器是用于将计算设备与诸如对接站的另一设备、音频设备(例如,数字音乐播放器)或视频设备对接的对接连接器。

音频i/o接口组件2146被配置成提供音频输入和/或输出能力给计算设备。在一些配置中,音频i/o接口组件2144包括被配置成采集音频信号的麦克风。在一些配置中,音频i/o接口组件2144包括被配置成提供用于耳机或其它外部扬声器的连接的耳机插口。在一些配置中,音频接口组件2146包括用于音频信号的输出的扬声器。在一些配置中,音频i/o接口组件2144包括光缆音频出口。

视频i/o接口组件2148被配置成提供视频输入和/或输出能力给计算设备。在一些配置中,视频i/o接口组件2148包括视频连接器,该视频连接器被配置成接收来自另一设备(例如,诸如dvd或bluray播放器的视频媒体播放器)的视频作为输入)或者将视频作为输出发送到另一设备(例如,监控器、电视机或某其它外部显示器)。在一些配置中,视频i/o接口组件2148包括高清多媒体接口(“hdmi”)、迷你型hdmi、微型hdmi、displayport或到输入/输出视频内容的专用连接器。在一些配置中,视频i/o接口组件2148或其部分与音频i/o接口组件2146或其部分组合。

照相机2150可以被配置成捕获静像和/或视频。照相机2150可以使用电荷耦合器件(“ccd”)或互补金属氧化物半导体(“cmos”)图像传感器来捕获图像。在一些配置中,照相机2150包括辅助在低光照环境下拍摄图片的闪光灯。用于照相机2150的设置可实现为硬件或软件按钮。

虽然没有示出,一个或多个硬件按钮也可以包含在计算设备架构2100中。硬件按钮可用于控制计算设备的某操作方面。硬件按钮可以是专用按钮或多用途按钮。硬件按钮可以是机械或基于传感器的。

图示的电力组件2112包括一个或多个电池2152,电池能够连接到电池计量仪2154。电池2152可以是可再充电的或一次性的。可再充电电池类型包括但不限于锂聚合物、锂离子、镍镉和镍金属氢化物。各个电池2152可以由一个或多个单元制成。

电池计量仪2154可以被配置成测量诸如电流、电压和温度的电池参数。在一些配置中,电池计量仪2154被配置成测量电池的放电速率、温度、寿命和其它因素的效应以在一定误差百分比内预测剩余寿命。在一些配置中,电池计量仪2154提供测量给应用程序,应用程序被配置成使用测量来向用户呈现有用的电力管理数据。电力管理数据可以包括所使用的电池百分比、电池剩余百分比、电池状态、剩余时间、剩余容量(例如,以瓦特小时数计)、消耗的电流和电压的中的一项或多项。

电力组件2112还可以包括电力连接器,电力连接器可以与上述i/o组件2110中的一个或多个组合。电力组件2112可以经由电力i/o组件2142与外部电力系统或充电装备相接。

本文呈现的公开可以从以下条款来考虑:

条款1:一种基于用户输入来生成用于创作的样本内容的计算机实现的方法,所述方法包括:获得一个或多个关键词;从内容资源取回与所述一个或多个关键词相关的内容数据;解析所取回的内容数据以识别取回的内容数据的结构;至少部分地根据所识别的结构来生成样本内容数据;以及输出所生成的样本内容数据。

条款2:如条款1的示例,其中取回的内容数据的结构包括多个小节,并且其中生成所述样本内容数据包括对于所述结构的所述多个小节中的至少一个生成样本小节内容数据。

条款3:如条款1和2的示例,其中所述内容资源是通过以下操作来确定的:分析所述一个或多个关键词以识别与所述一个或多个关键词相关联的实体;以及基于所识别的实体的类型来确定所述内容资源,所述内容资源包含与所识别的实体相关的内容数据。

条款4:如条款1-3的示例,其中从所述内容资源取回的内容数据包括所识别的实体的描述。

条款5:如条款1-4的示例,其中从所述内容资源取回的内容数据包括不同于所识别的实体并且具有与所识别的实体的类型类似的类型的实体的描述。

条款6:如条款1-5的示例,还包括:生成针对所生成的样本内容数据的布局;以及使得根据所生成的布局来呈现所生成的样本内容数据。

条款7:如条款1-6的示例,还包括:获得对所述样本内容数据的修改以生成创作的内容数据;生成针对创作的内容数据的布局;以及使得根据所生成的布局来呈现所创作的内容数据。

条款8:如条款1-7的示例,其中所述内容资源包括公开可用的内容数据存储库、基于用户的凭证提供用户输入的用户能访问的内容档案或在所述用户本地的计算设备中存储的内容档案中的一个或多个。

条款9:一种其中存储有计算机可执行指令的计算机可读存储介质,所述计算机可执行指令当通过计算机执行时使所述计算机:获得用户提供的一个或多个关键词;分析所述一个或多个关键词以识别与一个或多个关键词相关联的实体;从根据所识别的实体确定的内容资源取回与所识别的实体相关的内容数据;解析所取回的内容数据以识别取回的内容数据的结构;根据所识别的结构来生成样本内容数据;以及输出所生成的样本内容数据。

条款10:如条款9的计算机可读存储介质,其中所述计算机可读存储介质具有存储于其中的另外的计算机可执行指令,所述另外的计算机可执行指令使所述计算机:分析一个或多个关键词以识别与所识别的实体相关联的相关实体;从至少一个内容资源取回与相关实体相关的内容数据,其中生成样本内容数据包括描述相关实体的信息。

条款11:如条款9-10的计算机可读存储介质,其中所述计算机可读存储介质具有存储于其中的另外的计算机可执行指令,所述另外的计算机可执行指令使所述计算机随机化所述样本内容的结构。

条款12:如条款9-11的计算机可读存储介质,其中取回的内容数据的结构包括多个小节,并且其中生成所述样本内容数据包括对于所述结构的所述多个小节中的至少一个生成样本小节内容数据。

条款13:如条款9-12的计算机可读存储介质,其中从所述内容资源取回的内容数据包括所识别的实体的描述。

条款14:如条款9-13的计算机可读存储介质,其中从所述内容资源取回的内容数据包括不同于所识别的实体的实体的描述,并且具有与所识别的实体的类型类似的类型。

条款15:如条款9-14的计算机可读存储介质,其中所述计算机可读存储介质包括存储于其中的另外的计算机可执行指令,所述另外的计算机可执行指令使所述计算机:生成针对所生成的样本内容数据的布局;并且使得根据所生成的布局来呈现所生成的样本内容数据。

条款16:一种计算机,包括:处理器;以及与所述处理器通信的计算机可读存储介质,所述计算机可读存储介质具有存储在其上的计算机可执行指令,所述计算机可执行指令当由所述处理器执行时使所述计算机:通过解析用户提供的输入来获得一个或多个关键词,识别与所述一个或多个关键词相关联的实体,从基于所识别的实体的类型确定的内容资源中取回与所识别的实体相关的内容数据,解析所取回的内容数据以识别所取回的内容数据的结构,根据所识别的结构生成样本内容数据,以及输出所生成的样本内容数据。

条款17:如条款16的系统,其中所述计算机可读存储介质具有存储在其上的另外的计算机可执行指令,所述另外的计算机可执行指令当由所述处理器执行时使所述计算机:生成针对所生成的样本内容数据的布局;以及使得根据所生成的布局来呈现所生成的样本内容数据。

条款18:如条款16-18的系统,其中所述计算机可读存储介质具有存储在其上的另外的计算机可执行指令,所述另外的计算机可执行指令当由所述处理器执行时使所述计算机随机化所述样本内容的结构。

条款19:如条款16-18的系统,其中随机化所述样本内容的结构包括修改一个或多个小节标题或样本句子。

条款20:如条款16-19的系统,其中从所述内容资源取回的内容数据包括所识别的实体的描述,并且其中所述样本内容数据包括描述所述样本内容数据的样本句子。

基于上述,应当意识到在本文已经公开了用于基于用户输入生成结构化样本创作内容的概念和技术。虽然本文所呈现的主题是以特定于计算机结构特征的语言、方法和变换动作、具体的计算机器和计算机可读介质来描述,但是应当理解,在随附的权利要求中限定的本发明不必局限于本文所描述的具体的特征、动作或媒介。相反,具体的特征、动作和媒介被公开作为实现权利要求的示例形式。

上述的主题仅以示例说明的方式来提供,而不应当解释为限制。可以在不遵照所图示和描述的示例的配置和应用且不背离本发明的真实精神和范围的情况下对本文所描述的主题做出各种修改和改动,所述主题在下面的权利要求中进行了阐述。

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