CN106796582A - 建议内容的动态呈现 - Google Patents

建议内容的动态呈现 Download PDF

Info

Publication number
CN106796582A
CN106796582A CN201580053331.4A CN201580053331A CN106796582A CN 106796582 A CN106796582 A CN 106796582A CN 201580053331 A CN201580053331 A CN 201580053331A CN 106796582 A CN106796582 A CN 106796582A
Authority
CN
China
Prior art keywords
content
data
user
layout
user interface
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201580053331.4A
Other languages
English (en)
Other versions
CN106796582B (zh
Inventor
A·伊利克
I·武伊奇
M·约瓦诺维克
A·奥布尔简
K·T·法鲁基
J·M·哈伯斯塔姆
K·莫里斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN106796582A publication Critical patent/CN106796582A/zh
Application granted granted Critical
Publication of CN106796582B publication Critical patent/CN106796582B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • G06F16/438Presentation of query results
    • G06F16/4387Presentation of query results by the use of playlists
    • G06F16/4393Multimedia presentations, e.g. slide shows, multimedia albums
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/106Display of layout of documents; Previewing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/131Fragmentation of text files, e.g. creating reusable text-blocks; Linking to fragments, e.g. using XInclude; Namespaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • G06F40/295Named entity recognition

Abstract

在创作体验期间上下文相关内容的动态呈现。当用户关于主题(112)写作时,分析创作的内容以识别可用于识别、检索建议内容并向用户呈现建议内容的一个或多个关键词。建议内容可接收自一个或多个资源(126),诸如搜索引擎、与用户相关联的数据存储、社交媒体资源或其它本地或远程文件。本文所描述的技术可能还基于光标位置来从所创作的内容中选择关键词。结果,建议内容可以随着光标移到所创作的内容中的新位置而变化。另外,本文所描述的技术提供了用户接口控件,该用户接口控件允许一个或多个关键词的选择和取消选择,这允许用户通过切换一个或多个控件来定制建议内容。

Description

建议内容的动态呈现
背景技术
内容作者在创建内容时遇到所有类型的阻碍。例如,在一些情况下,作者可以撰写被优化用于以竖排模式在移动电话上显示的文档,其可能不适合于当以横向模式使用设备时的呈现。除了格式化问题,作者可能经常发现他们自己处于他们可能在写关于特定主题有困难的情况,或者他们甚至可能在提出主题方面有困难。
正是针对这些和其它考虑,呈现了在此所做的公开。
发明内容
本文描述了用于在创作体验期间提供上下文相关内容的动态呈现的技术。在一些配置中,当用户关于主题写作时,分析创作的内容以识别可用于识别、检索并向用户呈现建议内容的一个或多个关键词。可以从诸如搜索引擎、与用户相关联的数据存储、社交媒体资源或其他本地或远程文件之类的一个或多个资源接收建议内容。本文描述的技术还可以基于光标位置来从所创作的内容中选择关键词。结果,建议内容可以随着光标移动到创作内容中的新位置而改变。另外,本文描述的技术提供允许选择和取消选择一个或多个关键词的用户接口控件,其允许用户通过切换一个或多个控件来定制建议内容。
根据另外的方面,还可以在生成布局时获得和利用其他信息,诸如描述显示设备的设备能力的数据和/或消费者偏好。然后可以使用所生成的布局来向作者或其他用户呈现内容数据。作者可以进一步提供反馈以请求调整或重新生成所生成的布局。反馈可以包括覆盖布局中使用的意图解释的覆盖反馈和/或改变或添加内容数据的更多意图数据的意图反馈。
应当意识到,上述主题可以实现为计算机控制的装置、计算机过程、计算系统或实现为例如计算机可读存储介质的制品。这些特征和其它各个特征将从以下的详细说明的阅读和相关联的附图的阅览中变得显而易见。
提供该发明内容以便以简化的形式来引入下面的具体实施方式中进一步描述的概念的选择。该发明内容不旨在确定所要求保护的主题的关键特征或主要特征,也不旨在该发明内容用于限定所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本公开的任意部分所提到的任意或全部缺点的实现方式。
附图说明
图1是提供本文所公开的一种用于提供基于用户意图生成内容数据的布局的内容创作服务的机制的概述描述的系统图。
图2是示出了用于基于作者意图的内容创作的本文所呈现的方法和技术的另外方面的框图。
图3是示出包含在核心内容数据模型中和布局就绪视图模型中的多个数据元素的数据结构图。
图4示出了可以用于生成内容数据的布局的示例世界方案。
图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对此进行详细讨论。
布置的中间级方案可以包括一组内容数据元素的布置和/或设计。为了示出中间级方案的各方面,考虑具有将内容数据组织成一个或多个部分的高级结构的示例宏级方案,其中每个部分包含一个或多个内容数据元素。在这样的示例中,安排的中间级方案可以包括用于每个部分的各种设计方面,诸如每个部分中的数据元素的布置,要应用于每个部分的颜色方案等等。关于中间级方案的进一步细节将在下面关于图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相关的其他内容或文档推断,诸如由作者102提供的文档,其中可以检索内容数据114,或者具有与作者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中示出了三种纸牌风扇(playing-card-fan)类型的模板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添加到文本“spring mountain”,表示应该向该文本添加少量强调。类似地,向图像916添加低强调920B。分配给文本“I like the most”的中等强调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通过对文本“spring mountain”加下划线作为解释的强调922A来实现,并且强调920C通过使文本“I like the most”为粗体和斜体作为解释的强调922C来实现。关于图像,强调920B已经被解释为对图像916调整大小以具有比图像924更大的大小,作为解释的强调922B。同样地,强调920D已经被解释为布置图像918以获取屏幕的整个底部,作为解释的强调922D。
图9C示出了显现视图900C,其中内容数据114在基于全景世界方案构建的布局304中呈现。如图9C所示,显现视图900C可以以列和子列布置内容数据114。添加到文本“springmountain”和图像916和918的强调以与图9B所示的类似的方式实现。然而,对于文本“Ilike the most”,图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,其被转换或可以被转换为意图数据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点的Arial Black字体。布局生成引擎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的高级反馈,指定使文本“spring mountain”为粗体的详细反馈,以及还有更加强调文本“I like the most!”的意图反馈。基于反馈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,诸如存储在本地设备中的文件或存储在基于服务器的存储服务(例如,GOOGLE DRIVE或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可以以陈述“Brad Pitt与他的孩子做许多活动”的句子的形式提供输入112。从这种类型的输入,系统可以处理输入112并识别特定的话题。例如,内容建议模块1302可以解释该样本输入并确定它与Brad Pitt的个人生活相关。内容建议模块1302然后可以基于Brad Pitt的个人生活(例如爱好,活动等)来呈现建议内容1304。这样的技术允许内容建议模块1302检索与作者内容上下文相关的建议内容1304。例如,通过使用本文所描述的技术,关于Brad Pitt的个人生活的样本输入可能不产生关于Brad Pitt的电影或职业的建议内容1304。
在另一个说明性的示例中,考虑其中作者正在写关于“在他们的新林肯中开车”的概要的输入112。当通过系统获得这样的输入时,本文描述的技术可以用于生成指示作者正在描述汽车而不是前总统的上下文数据。相反,如果输入112包括语句,例如“Lincoln出生于2月12日”,则系统可以分析该输入并生成指示作者正在写关于前总统的上下文数据。上下文数据可以用于构建检索与作者内容上下文相关的建议内容1304的查询。
如上所概述,用于检索建议内容1304的关键词可以基于光标位置。在一些配置中,除了使用光标位置之外,选择关键词的过程可以基于作者作为输入112提供的内容的结构。一般地描述,输入112可以包括一个或多个元素,诸如换行符、小节题名、标头或其他格式化特征。本文描述的技术可以解释输入的这些元素以选择用于获得建议内容1304的一个或多个关键词。
在一个说明性的示例中,考虑包括标头、小节标头和多个段落的输入。在本示例中。在该示例中,第一段落描述了巴黎的特定站点,第二段落描述了伦敦的特定站点。如果作者当前正在第二段落中输入文本,则基于诸如换行符的文档元素,系统可以确定第二段落中的关键词比第一段落中的关键词更相关。因此,在该示例中,用于检索建议内容1304的所选关键词可以更加集中于与伦敦和伦敦的站点相关的关键词。可以意识到,在一些实现方式中,这样的技术可以涉及生成输入的树结构。树结构可以基于输入的一个或多个元素,诸如标头、小节标头、换行符、格式化指示符或其他特性。使用光标的位置,或者甚至不使用光标的位置,可以基于树结构(例如,输入112的结构)来选择关键词。在不使用光标的位置的配置中,关键词可以是基于树的最近输入的元素、关键词之间的间隔或考虑树的结构的任何其它技术来选择。
如上所述,本文描述了用于基于用户输入来生成样本创作内容的技术。一般地描述,样本内容(例如主题的概要)可以从用户提供的一个或多个关键词的上下文解释中生成。使用一个或多个关键词,系统从一个或多个资源检索内容数据。内容数据被解析并用于生成内容数据的结构。然后该结构用于生成可以呈现给用户的样本内容。所呈现的信息可以提供一种用于跳转关于感兴趣的特定话题的创作项目的方式。
本文公开的技术和概念可以用于帮助用户(例如学生,业余博主)写出关于一个或多个感兴趣的话题。在一些说明性的示例中,本文所公开的技术可以解释诸如使用一个或两个关键词的最小输入来编译信息并且从一个或多个资源(诸如Wiki,来自YOUTUBE的视频,从BING NEWS的新闻文章或来自其他资源的其他内容)来构建结构化概要。传送给用户的输出可以包括建议内容的结构,诸如标头、小节标头和样本句子。输出的结构可以来自信号资源,诸如来自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中,其被处理以确定用于输出的结构,例如样本内容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)可以以网页的形式返回相关内容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返回的网页的形式。标签、定义数据类型的数据、格式化数据和/或网页的其他元数据可以用作确定样本内容1610的结构的基础。在该示例中,生成的样本内容1610可以将输入“内布拉斯加”布置作为标头。此外,在该示例中,假定相关内容1604包含粗体标题中的多个词:概要(Synopsis),关于内布拉斯加的新闻(News on Nebraska),地理(Geography)和经济(Economy)。另外,在该示例中,假定相关内容1604包含在每个加粗体标题之后的若干句子。给定相关内容1604的该示例结构,所生成的样本内容1610可以具有这样的结构:具有标头(内布拉斯加),小节标头(Synopsis,News on Nebraska,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可以生成附加内容,诸如小节题名、标头、样本句子或描述任何所识别的实体和/或相关实体的任何其它内容。
在一个说明性的示例中,如果用户输入包含字符串“Brad Pitt”的输入,则冷启动模块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内的元件之间传输信息的基本例程的基本输入/输出系统存储在ROM 1908中。计算机体系结构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中未示出)。
应当意识到,本文所描述的软件组件在加载到CPU 1902中且执行时可以将CPU1902和整个计算机体系结构1900从通用计算系统变换成经定制而促进本文呈现的功能的专用计算系统。CPU 1902可以由任意数量的晶体管或其它离散电路元件构成,这些晶体管和离散电路元件可以单独地或者统一地呈现任意数量的状态。更具体地,CPU 1902可以响应于包含在本文公开的软件模块内的可执行指令而作为有限状态机来操作。这些计算机可执行指令可以通过规定CPU 1902如何在状态之间转变而变换CPU 1902,从而变换构成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由其它可能或可能没有明确地表明为社交网络提供商的服务、站点和/或提供商来提供。例如,一些网站允许用户在各种活动和/或背景下经由电子邮件、聊天服务和/或其它手段彼此交互,例如,阅读出版物,评论商品或服务,发布,协作,游戏等。这些服务的示例包括但不限于来自华盛顿埃德蒙顿的微软公司的WINDOWS LIVE服务和XBOX LIVE服务。其它服务是可能的且可想到。
社交网络服务2022还可以包括评论、发博客和/或微博服务。这些服务的示例包括但不限于,YELP评论服务、KUDZU审阅服务、OFFICETALK企业微博服务、TWITTER消息传递服务、GOOGLE BUZZ服务和/或其它服务。应当意识到,上述服务列表不是穷尽的,而且为了简要起见在此没有提到过多的附加的和/或可替代的社交网络服务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中。例如,SoC可以包括处理器2102、GPU、一个或多个网络连接组件2106以及一个或多个传感器组件2108。在一些配置中,处理器2102部分地利用封装上封装“PoP”集成电路封装技术来制作。而且,处理器2102可以是单核或多核处理器。
处理器2102可以依照自英国剑桥的ARM HOLDINGS许可使用的ARM体系结构来产生。可替代地,处理器2102可依照x86体系结构来产生,例如可从加利福尼亚山景城以及其它的因特尔公司获得。在一些配置中,处理器2102是可从加利福尼亚的圣地牙哥的QUALCOMM得到的SNAPDRAGON SoC、可从加利福尼亚的圣塔克拉拉的NVIDIA得到的TEGRASoC、可从韩国首尔的三星公司得到的HUMMINGBIRD SoC、可从德克萨斯州的达拉斯的德州仪器得到的Open Multimedia Application Platform("OMAP")SoC、上述SoC中的任一个的定制版本或专有SoC。
存储器组件2104包括随机存取存储器(“RAM”)2114、只读存储器(“ROM”)2116、集成存储存储器(“集成存储”)2118和可移除存储存储器(“可移除存储”)2120。在一些配置中,RAM 2114或其部分、ROM 2118或其部分和/或RAM 2114和ROM 2118的某种组合集成到处理器2102中。在一些配置中,ROM 2118被配置成存储固件、操作系统或其部分(例如,操作系统核)和/或从集成存储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能够存储操作系统。根据各个配置,操作系统包括但不限于来自塞班公司的SYMBIAN OS、来自华盛顿雷德蒙顿的微软公司的WINDOWS MOBILE OS、来自微软公司的WINDOWS PHONE OS、来自微软公司的WINDOWS、来自加利福尼亚的帕罗奥图的惠普公司的PALM WEBOS、来自加拿大多伦多的Research in MotionLimited of Waterloo的BLACKBERRY OS、来自加利福尼亚的库比蒂诺的苹果公司的IOS以及来自加利福尼亚的山景城的谷歌公司的ANDROID OS。可想到其它操作系统。
网络连接组件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,诸如IEEE 802.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包括被配置成提供用于耳机或其它外部扬声器的连接的耳机插口。在一些配置中,音频I/O接口组件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组件与外部电力系统或充电装备相接。
本文呈现的公开可以从以下条款来考虑:
条款1:一种向用户建议内容数据的示例,所述方法包括:获得由用户提供的内容数据;分析所述内容数据以识别与所述内容数据相关联的一个或多个关键词,其中所述一个或多个关键词的选择基于光标的位置;基于所述一个或多个关键词从一个或多个内容资源检索附加内容数据;以及使得所检索的附加内容数据在用户接口中与所述一个或多个关键词相结合地显示,其中所述用户接口包括与所述一个或多个关键词中的至少一个关键词相对应的用户接口控件,所述用户接口控件被配置成使得基于所述用户接口控件的选择和取消选择来调整所述用户接口中所显示的检索到的附加内容数据。
条款2:如条款1的示例,其中在被选择时,所述用户接口控件将使得在所述用户接口中显示与所述至少一个关键词相对应的所述附加内容数据的内容数据元素,并且当被取消选择时,所述用户接口控件将使得不在所述用户接口中显示与所述至少一个关键词相对应的所述内容数据元素。
条款3:如条款1和2的示例,其中分析所述内容数据、检索所述附加内容数据以及使所检索到的附加内容数据显示基于所述内容数据的分析来执行。
条款4:如条款1-3的示例,其中分析所述内容数据、检索所述附加内容数据和使所检索到的附加内容数据显示响应于来自所述用户的请求而执行。
条款5:如条款1-4的示例,其中所述一个或多个内容资源包括所述用户基于所述用户的凭证能访问的内容档案。
条款6:如条款1-5的示例,其中所述一个或多个内容资源包括在所述用户本地的计算设备中所存储的内容档案。
条款7:如条款1-6的示例,其中所述一个或多个关键词的选择基于识别围绕所述光标定义的预定区域内的文本的窗口。
条款8:如条款1-7的示例,其中所获得的内容数据包括图像、视频剪辑或文本数据中的一个或多个。
条款9:如条款1-8的示例,其中所述附加内容数据包括图像、视频剪辑或文本数据中的一个或多个。
条款10:如条款1-9的示例,还包括:接收所述附加内容数据的一个或多个内容数据元素的选择;将所述一个或多个内容数据元素与从所述用户获得的内容数据组合;基于组合内容来生成布局;以及使得组合内容以所生成的布局来呈现。
条款11:一种用于向用户建议内容的示例,所述方法包括:获得由用户提供的内容数据;分析所述内容数据以识别与所述内容数据相关联的一个或多个关键词,其中所述一个或多个关键词的选择基于光标的位置;基于所述一个或多个关键词从一个或多个内容资源检索附加内容数据;以及使得所检索的附加内容数据在用户接口中与所述一个或多个关键词相结合地显示,其中所述用户接口包括与所述一个或多个关键词中的至少一个关键词相对应的用户接口控件,所述用户接口控件被配置成使得基于所述用户接口控件的选择和取消选择来调整所述用户接口中所显示的检索到的附加内容数据。
条款12:如条款11的示例,其中在被选择时,所述用户接口控件将使得在所述用户接口中显示与所述至少一个关键词相对应的所述附加内容数据的内容数据元素,并且当被取消选择时,所述用户接口控件将使得不在所述用户接口中显示与所述至少一个关键词相对应的所述内容数据元素。
条款13:如条款11-12的示例,其中分析所述内容数据、检索所述附加内容数据以及使所检索到的附加内容数据显示基于所述内容数据的分析来执行。
条款14:如条款11-13的示例,其中分析所述内容数据、检索所述附加内容数据和使所检索到的附加内容数据显示响应于来自所述用户的请求而执行。
条款15:如条款11-14的示例,其中所述一个或多个内容资源包括所述用户基于所述用户的凭证能访问的内容档案。
条款16:一种向用户建议内容数据的示例,所述方法包括:获得由用户提供的内容数据;分析所述内容数据以识别与所述内容数据相关联的一个或多个关键词,其中所述一个或多个关键词的选择基于光标的位置;基于所述一个或多个关键词从一个或多个内容资源检索附加内容数据;以及使得所检索的附加内容数据在用户接口中与所述一个或多个关键词相结合地显示。
条款17:如条款16的示例,其中所述一个或多个关键词的选择基于所述内容数据的结构。
条款18:如条款16-17的示例,其中所述一个或多个关键词的选择基于所述内容数据的上下文解释,并且其中从一个或多个内容资源检索附加内容数据基于所述内容数据的上下文解释。
条款19:如条款16-18的示例,其中所述一个或多个关键词的选择包括:确定所述输入的主题,确定与该主题有关的至少一个附加主题,以及基于该至少一个附加主题来生成附加关键词,其中基于附加关键词从一个或多个内容资源检索附加内容数据。
条款20:如条款16-19的示例,其中所述一个或多个关键词的选择基于识别光标周围所定义的预定区域内的文本的窗口。
基于上述,应当意识到在本文已经公开了用于提供基于用户意图的内容创作的概念和技术。虽然本文所呈现的主题是以特定于计算机结构特征、方法和变换动作、具体的计算机器和计算机可读介质的语言来描述,但是应当理解,在随附的权利要求中限定的本发明不必局限于本文所描述的具体的特征、动作或媒介。相反,具体的特征、动作和媒介被公开作为实现权利要求的示例形式。
上述的主题仅以示例说明的方式来提供,而不应当解释为限制。可以在不遵照所图示和描述的示例的配置和应用且不背离本发明的真正精神和范围的情况下对本文所描述的主题做出各种修改和改动,本发明的范围在下面的权利要求中进行了阐述。

Claims (15)

1.一种用于通过向用户建议内容数据来增强与计算设备的用户交互的计算机实现的方法,所述方法包括:
在所述计算设备处获得由用户提供的内容数据;
在所述计算设备处分析所述内容数据以识别与所述内容数据相关联的一个或多个关键词,其中所述一个或多个关键词的选择是基于光标的位置的;
在所述计算设备处基于所述一个或多个关键词从一个或多个内容资源检索附加内容数据;以及
使检索到的附加内容数据在用户接口中与所述一个或多个关键词相结合地进行显示,其中,所述用户接口包括与所述一个或多个关键词中的至少一个关键词相对应的用户接口控件,所述用户接口控件被配置成使得基于对所述用户接口控件的选择和取消选择来调整在所述用户接口中显示的所述检索到的附加内容数据。
2.如权利要求1所述的方法,其中,在被选择时,所述用户接口控件将使与所述至少一个关键词相对应的所述附加内容数据的内容数据元素在所述用户接口中进行显示,并且当被取消选择时,所述用户接口控件将使与所述至少一个关键词相对应的所述内容数据元素不在所述用户接口中进行显示。
3.如权利要求1所述的方法,其中,分析所述内容数据、检索所述附加内容数据以及使检索到的附加内容数据进行显示是基于对所述内容数据的分析来执行的。
4.如权利要求1所述的方法,其中,分析所述内容数据、检索所述附加内容数据和使检索到的附加内容数据进行显示是响应于来自所述用户的请求而执行的。
5.如权利要求1所述的方法,其中,所述一个或多个内容资源包括所述用户基于所述用户的凭证能访问的内容档案。
6.如权利要求1所述的方法,其中,所述一个或多个内容资源包括存储在所述用户本地的计算设备中的内容档案。
7.如权利要求1所述的方法,其中,所述一个或多个关键词的选择是基于识别预定区域内的文本的窗口的,所述预定区域是围绕所述光标进行定义的。
8.如权利要求1所述的方法,其中,获得的内容数据包括图像、视频剪辑或文本数据中的一个或多个。
9.如权利要求1所述的方法,其中,所述附加内容数据包括图像、视频剪辑或文本数据中的一个或多个。
10.如权利要求1所述的方法,还包括:
接收对所述附加内容数据的一个或多个内容数据元素的选择;
将所述一个或多个内容数据元素与从所述用户获得的内容数据进行组合;
基于组合的内容来生成布局;以及
使得所述组合的内容以所生成的布局来进行呈现。
11.一种计算机,包括:
处理器;以及
与所述处理器通信的计算机可读存储介质,所述计算机可读存储介质在其上存储有计算机可执行指令,当由所述处理器执行时,所述计算机可执行指令使所述计算机
获得由用户提供的内容数据;
分析所述内容数据以识别与所述内容数据相关联的一个或多个关键词,其中所述一个或多个关键词的选择是基于光标的位置的;
基于所述一个或多个关键词来从一个或多个内容资源检索附加内容数据;以及
使检索到的附加内容数据在用户接口中与所述一个或多个关键词相结合地进行显示,其中,所述用户接口包括与所述一个或多个关键词中的至少一个关键词相对应的用户接口控件,所述用户接口控件被配置成使得基于对所述用户接口控件的选择和取消选择来调整在所述用户接口中显示的所述检索到的附加内容数据。
12.如权利要求11所述的计算机,其中,在被选择时,所述用户接口控件将使与所述至少一个关键词相对应的所述附加内容数据的内容数据元素在所述用户接口中进行显示,并且当被取消选择时,将使与所述至少一个关键词相对应的所述内容数据元素不在所述用户接口中进行显示。
13.如权利要求11所述的计算机,其中,分析所述内容数据、检索所述附加内容数据以及使检索到的附加内容数据进行显示是基于对所述内容数据的分析来执行的。
14.如权利要求11所述的计算机,其中,分析所述内容数据、检索所述附加内容数据和使检索到的附加内容数据进行显示是响应于来自所述用户的请求而执行的。
15.如权利要求11所述的计算机,其中,所述一个或多个内容资源包括所述用户基于所述用户的凭证能访问的内容档案。
CN201580053331.4A 2014-09-30 2015-09-29 建议内容的动态呈现 Active CN106796582B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/503,174 US10282069B2 (en) 2014-09-30 2014-09-30 Dynamic presentation of suggested content
US14/503,174 2014-09-30
PCT/US2015/052764 WO2016053925A1 (en) 2014-09-30 2015-09-29 Dynamic presentation of suggested content

Publications (2)

Publication Number Publication Date
CN106796582A true CN106796582A (zh) 2017-05-31
CN106796582B CN106796582B (zh) 2020-06-19

Family

ID=54337366

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580053331.4A Active CN106796582B (zh) 2014-09-30 2015-09-29 建议内容的动态呈现

Country Status (4)

Country Link
US (1) US10282069B2 (zh)
EP (1) EP3201802A1 (zh)
CN (1) CN106796582B (zh)
WO (1) WO2016053925A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107368555A (zh) * 2017-07-03 2017-11-21 李洪海 影视剪辑制作协作方法、装置、服务器及系统

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9595298B2 (en) 2012-07-18 2017-03-14 Microsoft Technology Licensing, Llc Transforming data to create layouts
US9626768B2 (en) 2014-09-30 2017-04-18 Microsoft Technology Licensing, Llc Optimizing a visual perspective of media
US10146856B2 (en) * 2014-10-10 2018-12-04 Wriber Inc. Computer-implemented method and system for creating scalable content
US10268355B2 (en) 2015-01-30 2019-04-23 Target Brands Inc. User interface design system
US20160357712A1 (en) * 2015-06-07 2016-12-08 Apple Inc. Document Summary Feed Generation Method, Apparatus and System
JP6632864B2 (ja) * 2015-10-27 2020-01-22 シナプティクス・ジャパン合同会社 表示ドライバ及び表示装置
US10534748B2 (en) * 2015-11-13 2020-01-14 Microsoft Technology Licensing, Llc Content file suggestions
US20190028750A1 (en) * 2016-01-21 2019-01-24 Thomson Licensing Media asset recommendations and sorting based on rendering device properties
EP3477454A4 (en) * 2016-06-23 2020-01-15 KYOCERA Document Solutions Inc. PORTABLE TERMINAL DEVICE AND CONTROL METHOD FOR PORTABLE TERMINAL DEVICE
US10600220B2 (en) * 2016-08-01 2020-03-24 Facebook, Inc. Systems and methods for content interaction
CN108090057A (zh) 2016-11-21 2018-05-29 阿里巴巴集团控股有限公司 信息展示方法和装置
WO2018094313A1 (en) * 2016-11-21 2018-05-24 Alibaba Group Holding Limited Information displayed while information is scrolled on a terminal screen
US10783315B2 (en) * 2016-12-15 2020-09-22 Microsoft Technology Licensing, Llc Contextually sensitive summary
US10419376B2 (en) * 2016-12-19 2019-09-17 Google Llc Staggered notification by affinity to promote positive discussion
US10176889B2 (en) 2017-02-09 2019-01-08 International Business Machines Corporation Segmenting and interpreting a document, and relocating document fragments to corresponding sections
US10169325B2 (en) 2017-02-09 2019-01-01 International Business Machines Corporation Segmenting and interpreting a document, and relocating document fragments to corresponding sections
US10380228B2 (en) * 2017-02-10 2019-08-13 Microsoft Technology Licensing, Llc Output generation based on semantic expressions
US10671181B2 (en) 2017-04-03 2020-06-02 Microsoft Technology Licensing, Llc Text entry interface
US10628526B2 (en) 2017-05-26 2020-04-21 Microsoft Technology Licensing, Llc Providing suggested diagrammatic representations of user entered textual information
US10732937B2 (en) * 2017-10-31 2020-08-04 Fujitsu Limited Programming by voice
US11615233B2 (en) * 2017-11-13 2023-03-28 Wetransfer B.V. Semantic slide autolayouts
US10955999B2 (en) * 2017-11-29 2021-03-23 LearnZillion, Inc. Controlled content presentation of objects on a canvas in a browser according to a grid
USD852223S1 (en) * 2018-01-04 2019-06-25 Samsung Electronics Co., Ltd. Display screen or portion thereof with graphical user interface
USD852222S1 (en) * 2018-01-04 2019-06-25 Samsung Electronics Co., Ltd. Display screen or portion thereof with graphical user interface
US20200186623A1 (en) * 2018-12-11 2020-06-11 Microsoft Technology Licensing, Llc Performant retrieval and presentation of content
US11017179B2 (en) 2018-12-28 2021-05-25 Open Text Sa Ulc Real-time in-context smart summarizer
US11176315B2 (en) 2019-05-15 2021-11-16 Elsevier Inc. Comprehensive in-situ structured document annotations with simultaneous reinforcement and disambiguation
US11003840B2 (en) 2019-06-27 2021-05-11 Open Text Corporation System and method for in-context document composition using subject metadata queries
US11829723B2 (en) 2019-10-17 2023-11-28 Microsoft Technology Licensing, Llc System for predicting document reuse
US11423114B2 (en) * 2019-11-07 2022-08-23 Open Text Holdings, Inc. Content management systems for providing automated generation of content suggestions
US11620351B2 (en) 2019-11-07 2023-04-04 Open Text Holdings, Inc. Content management methods for providing automated generation of content summaries
US11216521B2 (en) 2019-11-07 2022-01-04 Open Text Holdings, Inc. Content management methods for providing automated generation of content suggestions
US11256735B2 (en) 2019-11-07 2022-02-22 Open Text Holdings, Inc. Content management systems providing automated generation of content summaries
US11295075B2 (en) * 2019-12-31 2022-04-05 Microsoft Technology Licensing, Llc Automatic generation of alternative content layouts
NL2024634B1 (en) * 2020-01-09 2021-09-07 Microsoft Technology Licensing Llc Presenting Intelligently Suggested Content Enhancements
KR20210105153A (ko) * 2020-02-18 2021-08-26 삼성전자주식회사 디바이스 및 그 제어 방법
US20230281258A1 (en) * 2020-09-23 2023-09-07 Google Llc Systems and Methods for Generating Contextual Dynamic Content
US11915348B2 (en) * 2020-11-17 2024-02-27 Bria Artificial Intelligence Ltd. Visual content optimization
CN112311661B (zh) * 2020-11-24 2023-09-26 腾讯科技(深圳)有限公司 消息处理方法、装置、设备及存储介质
US11790165B2 (en) * 2021-01-26 2023-10-17 Microsoft Technology Licensing, Llc Content element recommendation system
US20220414320A1 (en) * 2021-06-23 2022-12-29 Microsoft Technology Licensing, Llc Interactive content generation
US20230385363A1 (en) * 2022-05-24 2023-11-30 Microsoft Technology Licensing, Llc Web site preview generation based on web site type
US20230385525A1 (en) * 2022-05-24 2023-11-30 Microsoft Technology Licensing, Llc Web site preview generation with action control

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1731391A (zh) * 2004-08-06 2006-02-08 佳能株式会社 布局处理方法、信息处理装置
US20070156747A1 (en) * 2005-12-12 2007-07-05 Tegic Communications Llc Mobile Device Retrieval and Navigation
US7283992B2 (en) * 2001-11-30 2007-10-16 Microsoft Corporation Media agent to suggest contextually related media content
US20100046842A1 (en) * 2008-08-19 2010-02-25 Conwell William Y Methods and Systems for Content Processing
WO2013051218A1 (en) * 2011-10-03 2013-04-11 Sony Corporation Information processing apparatus, method, and program
US8577913B1 (en) * 2011-05-27 2013-11-05 Google Inc. Generating midstring query refinements
CN103389970A (zh) * 2012-05-08 2013-11-13 北京华宇软件股份有限公司 基于实时学习的word辅助编写系统和方法
WO2014069755A1 (ko) * 2012-10-30 2014-05-08 에스케이플래닛 주식회사 컨텐츠 추천 서비스 제공 시스템 및 방법
CN104063369A (zh) * 2014-06-26 2014-09-24 北京奇虎科技有限公司 交互式文本消息的处理方法、装置及系统

Family Cites Families (136)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63245556A (ja) 1987-03-31 1988-10-12 Toshiba Corp 図表データ割付け方法
JPH03177964A (ja) 1989-12-07 1991-08-01 Toshiba Corp 文書整形装置
US5911146A (en) 1996-05-03 1999-06-08 Mitsubishi Electric Information Technology Center America, Inc. (Ita) Apparatus and method for automatic yellow pages pagination and layout
US5956737A (en) 1996-09-09 1999-09-21 Design Intelligence, Inc. Design engine for fitting content to a medium
US7509572B1 (en) 1999-07-16 2009-03-24 Oracle International Corporation Automatic generation of document summaries through use of structured text
US6711291B1 (en) 1999-09-17 2004-03-23 Eastman Kodak Company Method for automatic text placement in digital images
US6694053B1 (en) 1999-12-02 2004-02-17 Hewlett-Packard Development, L.P. Method and apparatus for performing document structure analysis
WO2001050349A1 (en) 1999-12-30 2001-07-12 Rutgers, The State University Of New Jersey Electronic document customization and transformation utilizing user feedback
US20040205643A1 (en) 2000-06-22 2004-10-14 Harrington Steven J. Reproduction of documents using intent information
US6788308B2 (en) 2000-11-29 2004-09-07 Tvgateway,Llc System and method for improving the readability of text
GB2370438A (en) 2000-12-22 2002-06-26 Hewlett Packard Co Automated image cropping using selected compositional rules.
US7823057B1 (en) 2001-01-04 2010-10-26 Adobe Systems Incorporated Simplified document creation
US7124361B2 (en) 2001-03-21 2006-10-17 Hewlett-Packard Development Company, L.P. Apparatus and method for forming processed data
US20070028165A1 (en) 2001-04-10 2007-02-01 Lee Cole Dynamic layout system and processes
US7203900B2 (en) 2001-09-14 2007-04-10 Canon Kabushiki Kaisha Apparatus and method for inserting blank document pages in a print layout application
US20030080995A1 (en) 2001-10-12 2003-05-01 United Virtualities, Inc. Contextually adaptive web browser
US20040013302A1 (en) 2001-12-04 2004-01-22 Yue Ma Document classification and labeling using layout graph matching
US20070157080A1 (en) 2004-08-05 2007-07-05 Quark, Inc. Systems and methods for re-purposing content objects for media production
US7546382B2 (en) 2002-05-28 2009-06-09 International Business Machines Corporation Methods and systems for authoring of mixed-initiative multi-modal interactions and related browsing mechanisms
US7246312B2 (en) 2002-07-30 2007-07-17 Xerox Corporation System and method for fitness evaluation for optimization in document assembly
US20060104511A1 (en) 2002-08-20 2006-05-18 Guo Jinhong K Method, system and apparatus for generating structured document files
US7064759B1 (en) 2003-05-29 2006-06-20 Apple Computer, Inc. Methods and apparatus for displaying a frame with contrasting text
US7322007B2 (en) 2003-05-30 2008-01-22 Vistaprint Technologies Limited Electronic document modification
US7035438B2 (en) 2003-07-30 2006-04-25 Xerox Corporation System and method for measuring and quantizing document quality
US7325204B2 (en) 2003-08-29 2008-01-29 Yahoo! Inc. Slideout windows
US7290006B2 (en) 2003-09-30 2007-10-30 Microsoft Corporation Document representation for scalable structure
US20050125725A1 (en) 2003-12-05 2005-06-09 Gatt Jeffrey D. System and method for facilitating creation of a group activity publication
US7536048B2 (en) 2004-01-15 2009-05-19 Xerox Corporation Method and apparatus for automatically determining image foreground color
US7466875B1 (en) 2004-03-01 2008-12-16 Amazon Technologies, Inc. Method and system for determining the legibility of text in an image
US7184063B2 (en) 2004-09-01 2007-02-27 Microsoft Corporation Adaptive color schemes
US7609847B2 (en) 2004-11-23 2009-10-27 Hewlett-Packard Development Company, L.P. Methods and systems for determining object layouts
US20100036717A1 (en) 2004-12-29 2010-02-11 Bernard Trest Dynamic Information System
US20060200759A1 (en) 2005-03-04 2006-09-07 Microsoft Corporation Techniques for generating the layout of visual content
US20060248071A1 (en) 2005-04-28 2006-11-02 Xerox Corporation Automated document localization and layout method
US20070027830A1 (en) 2005-07-29 2007-02-01 Microsoft Corporation Dynamic content development based on user feedback
US7783971B2 (en) 2005-09-13 2010-08-24 Microsoft Corporation Graphic object themes
US7743323B1 (en) 2005-10-06 2010-06-22 Verisign, Inc. Method and apparatus to customize layout and presentation
US7561722B2 (en) 2005-12-14 2009-07-14 Xerox Corporation System and method for interactive document layout
US8036937B2 (en) 2005-12-21 2011-10-11 Ebay Inc. Computer-implemented method and system for enabling the automated selection of keywords for rapid keyword portfolio expansion
US9015578B2 (en) 2006-01-24 2015-04-21 Microsoft Technology Licensing, Llc Dynamic optimization of available display space
US20070204220A1 (en) 2006-02-27 2007-08-30 Microsoft Corporation Re-layout of network content
US20140032529A1 (en) 2006-02-28 2014-01-30 Adobe Systems Incorporated Information resource identification system
US8339411B2 (en) 2006-05-04 2012-12-25 Microsoft Corporation Assigning color values to pixels based on object structure
US7627600B2 (en) 2006-06-20 2009-12-01 Microsoft Corporation Automatic layout of unpredictable content from multiple sources
US20070299821A1 (en) 2006-06-23 2007-12-27 Mccully Eric Report specification system and method
US20070300185A1 (en) 2006-06-27 2007-12-27 Microsoft Corporation Activity-centric adaptive user interface
US20080019575A1 (en) 2006-07-20 2008-01-24 Anthony Scalise Digital image cropping using a blended map
JP2008257655A (ja) 2007-04-09 2008-10-23 Sony Corp 情報処理装置及び方法、並びにプログラム
US7895197B2 (en) 2007-04-30 2011-02-22 Sap Ag Hierarchical metadata generator for retrieval systems
US7917840B2 (en) 2007-06-05 2011-03-29 Aol Inc. Dynamic aggregation and display of contextually relevant content
US8700604B2 (en) 2007-10-17 2014-04-15 Evri, Inc. NLP-based content recommender
US20090119283A1 (en) * 2007-11-06 2009-05-07 Muehlbauer Donald J System and Method of Improving and Enhancing Electronic File Searching
US9324168B2 (en) 2008-01-31 2016-04-26 Microsoft Technology Licensing, Llc Constraint-based correction of shape positions in a diagram
US8762364B2 (en) 2008-03-18 2014-06-24 Yahoo! Inc. Personalizing sponsored search advertising layout using user behavior history
US20090287626A1 (en) * 2008-05-14 2009-11-19 Microsoft Corporation Multi-modal query generation
AU2008202672B2 (en) 2008-06-17 2011-04-28 Canon Kabushiki Kaisha Automatic layout based on visual context
US20100017704A1 (en) 2008-07-18 2010-01-21 Yahoo! Inc. Dynamic content layout
US8462394B2 (en) 2008-08-05 2013-06-11 Xerox Corporation Document type classification for scanned bitmaps
US9081765B2 (en) 2008-08-12 2015-07-14 Abbyy Infopoisk Llc Displaying examples from texts in dictionaries
US8538074B2 (en) 2008-09-08 2013-09-17 Sony Corporation Image processing apparatus and method, image capturing apparatus, and program
US8780131B2 (en) 2008-12-19 2014-07-15 Xerox Corporation Systems and methods for text-based personalization of images
US8473467B2 (en) 2009-01-02 2013-06-25 Apple Inc. Content profiling to dynamically configure content processing
US8819541B2 (en) 2009-02-13 2014-08-26 Language Technologies, Inc. System and method for converting the digital typesetting documents used in publishing to a device-specfic format for electronic publishing
US8041729B2 (en) 2009-02-20 2011-10-18 Yahoo! Inc. Categorizing queries and expanding keywords with a coreference graph
US8175376B2 (en) 2009-03-09 2012-05-08 Xerox Corporation Framework for image thumbnailing based on visual similarity
WO2010105245A2 (en) 2009-03-12 2010-09-16 Exbiblio B.V. Automatically providing content associated with captured information, such as information captured in real-time
JP4758491B2 (ja) 2009-03-19 2011-08-31 財団法人21あおもり産業総合支援センター 色順次表示方式液晶表示装置
US20100251086A1 (en) 2009-03-27 2010-09-30 Serge Rene Haumont Method and apparatus for providing hyperlinking in text editing
US8479092B1 (en) 2009-04-30 2013-07-02 Adobe Systems Incorporated Content layout for an electronic document
US20100318888A1 (en) 2009-06-10 2010-12-16 Firstpaper Llc System and method for providing sub-publication content in an electronic device
US8406515B2 (en) 2009-06-24 2013-03-26 Hewlett-Packard Development Company, L.P. Method for automatically cropping digital images
US8325367B2 (en) 2009-06-29 2012-12-04 Xerox Corporation System and method for a design with intent metadata
US20110016421A1 (en) 2009-07-20 2011-01-20 Microsoft Corporation Task oriented user interface platform
US20110029914A1 (en) 2009-07-30 2011-02-03 Whitby Laura R Apparatus for generating artistic image template designs
US20110029635A1 (en) 2009-07-30 2011-02-03 Shkurko Eugene I Image capture device with artistic template design
US20110029860A1 (en) 2009-07-30 2011-02-03 Ptucha Raymond W Artistic digital template for image display
US8849725B2 (en) 2009-08-10 2014-09-30 Yahoo! Inc. Automatic classification of segmented portions of web pages
AU2010286374B2 (en) * 2009-08-31 2015-09-17 Google Llc Framework for selecting and presenting answer boxes relevant to user input as query suggestions
JP5423379B2 (ja) 2009-08-31 2014-02-19 ソニー株式会社 画像処理装置および画像処理方法、並びにプログラム
US8479094B2 (en) 2009-09-08 2013-07-02 Kenneth Peyton Fouts Interactive writing aid to assist a user in finding information and incorporating information correctly into a written work
CA2722287A1 (en) 2009-11-23 2011-05-23 Hamid Hatami-Hanza Automatic content composition generation
US8156180B2 (en) 2009-11-25 2012-04-10 Go Daddy Operating Company, LLC Tools for redirecting to a book website
US8390648B2 (en) 2009-12-29 2013-03-05 Eastman Kodak Company Display system for personalized consumer goods
US9569541B2 (en) 2009-12-31 2017-02-14 Microsoft Technology Licensing, Llc Evaluating preferences of content on a webpage
US20110305397A1 (en) 2010-03-08 2011-12-15 Robinson Piramuthu Systems and methods for retargeting an image utilizing a saliency map
US20130036113A1 (en) 2010-04-28 2013-02-07 Niranjan Damera-Venkata System and Method for Automatically Providing a Graphical Layout Based on an Example Graphic Layout
US8363984B1 (en) 2010-07-13 2013-01-29 Google Inc. Method and system for automatically cropping images
US20120059838A1 (en) 2010-09-07 2012-03-08 Microsoft Corporation Providing entity-specific content in response to a search query
JP5892746B2 (ja) 2010-09-29 2016-03-23 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 個別化コンテンツ・レイアウトのための方法、システム、およびプログラム(個別化コンテンツ・レイアウトのためのシステムおよび方法)
CN102457643B (zh) 2010-10-25 2014-10-01 柯尼卡美能达商用科技株式会社 数据处理装置及数据处理方法
US20120159314A1 (en) 2010-12-16 2012-06-21 Microsoft Corporation Adaptive content layout
US9043360B2 (en) 2010-12-17 2015-05-26 Yahoo! Inc. Display entity relationship
US9123081B2 (en) 2011-02-14 2015-09-01 Neil Young Portable device for simultaneously providing text or image data to a plurality of different social media sites based on a topic associated with a downloaded media file
US9152616B2 (en) 2011-04-28 2015-10-06 Flipboard, Inc. Template-based page layout for web content
BR112014003925A2 (pt) 2011-08-19 2017-02-21 Apple Inc método de autoria de conteúdo para livro digital e sistema para autoria de conteúdo de livro digital
US9087396B2 (en) 2011-10-13 2015-07-21 Hewlett-Packard Development Company, L.P. Digital image text addition
EP2584509A1 (en) 2011-10-17 2013-04-24 Research In Motion Limited Note compiler interface
US8660351B2 (en) 2011-10-24 2014-02-25 Hewlett-Packard Development Company, L.P. Auto-cropping images using saliency maps
US9025836B2 (en) 2011-10-28 2015-05-05 Intellectual Ventures Fund 83 Llc Image recomposition from face detection and facial features
US20130108168A1 (en) 2011-10-28 2013-05-02 Raymond William Ptucha Image Recomposition From Face Detection And Facial Features
US10057369B2 (en) 2011-12-28 2018-08-21 Intel Corporation Layout for dynamic web content management
US20130212487A1 (en) 2012-01-09 2013-08-15 Visa International Service Association Dynamic Page Content and Layouts Apparatuses, Methods and Systems
US20130246926A1 (en) 2012-03-13 2013-09-19 International Business Machines Corporation Dynamic content updating based on user activity
US9015581B2 (en) 2012-03-26 2015-04-21 Vistaprint Schweiz Gmbh Self-adjusting document layouts using system optimization modeling
JP5568148B2 (ja) 2012-03-27 2014-08-06 富士フイルム株式会社 レイアウト装置、レイアウト方法およびプログラム
US20150127748A1 (en) 2012-04-13 2015-05-07 Google Inc. Recommendations for enhanced content in social posts
US20140208203A1 (en) 2013-01-23 2014-07-24 Steven Shu Hsiang Tang Key-Frame based Authoring and Generation of Highly Resizable Document Layout
US20130346843A1 (en) 2012-06-20 2013-12-26 Microsoft Corporation Displaying documents based on author preferences
US9218344B2 (en) 2012-06-29 2015-12-22 Thomson Reuters Global Resources Systems, methods, and software for processing, presenting, and recommending citations
US9595298B2 (en) 2012-07-18 2017-03-14 Microsoft Technology Licensing, Llc Transforming data to create layouts
US20140025650A1 (en) 2012-07-18 2014-01-23 Microsoft Corporation Abstract relational model for transforming data into consumable content
US9009092B2 (en) 2012-07-19 2015-04-14 Microsoft Technology Licensing, Llc Creating variations when transforming data into consumable content
US20140149845A1 (en) 2012-09-06 2014-05-29 Locu, Inc. Method for generating websites
US10061760B2 (en) 2012-09-12 2018-08-28 Flipboard, Inc. Adaptive layout of content in a digital magazine
US20140075280A1 (en) 2012-09-13 2014-03-13 Sw Development, Llc Systems and Methods for Transferring Data from an Accessible Database into Forms that Manipulate Databases
US9507757B2 (en) 2012-11-14 2016-11-29 Facebook, Inc. Generating multiple versions of a content item for multiple platforms
US20140164911A1 (en) 2012-12-11 2014-06-12 Microsoft Corporation Preserving layout of region of content during modification
US9405746B2 (en) 2012-12-28 2016-08-02 Yahoo! Inc. User behavior models based on source domain
US9864801B2 (en) 2013-01-28 2018-01-09 Red Hat, Inc. Responsive layout based on behavioral intent in a multi-tenant platform-as-a-service (PaaS) system
US20140281928A1 (en) 2013-03-12 2014-09-18 Sap Portals Israel Ltd. Content-driven layout
US9361278B2 (en) 2013-03-15 2016-06-07 Facebook, Inc. Overlaying photographs with text on a social networking system
US9251487B2 (en) 2013-06-06 2016-02-02 Safford T Black System and method for computing and overwriting the appearance of project tasks and milestones
US9489349B2 (en) 2013-07-09 2016-11-08 Flipboard, Inc. Page template selection for content presentation in a digital magazine
US9569501B2 (en) 2013-07-12 2017-02-14 Facebook, Inc. Optimizing electronic layouts for media content
US20150073922A1 (en) 2013-09-06 2015-03-12 MaxPoint Interactive, Inc. System and Method for Generating Customized Advertisement Creatives
US20150082159A1 (en) 2013-09-17 2015-03-19 International Business Machines Corporation Text resizing within an embedded image
US20150149371A1 (en) 2013-11-27 2015-05-28 Red Ball Express, LLC System And Method For Generating And Formatting Formally Correct Case Documents From Rendered Semantic Content
US9292595B2 (en) 2014-01-14 2016-03-22 International Business Machines Corporation Creating new documents based on global intent and local context
US9965567B2 (en) 2014-02-28 2018-05-08 Cbs Interactive Inc. Adaptive content management system for multiple platforms
US20160062960A1 (en) 2014-09-02 2016-03-03 Widespider, LLC Systems and methods of publishing content from one or more sources
US20160092406A1 (en) 2014-09-30 2016-03-31 Microsoft Technology Licensing, Llc Inferring Layout Intent
US20160093080A1 (en) 2014-09-30 2016-03-31 Microsoft Technology Licensing, Llc Optimizing the Legibility of Displayed Text
US20160092405A1 (en) 2014-09-30 2016-03-31 Microsoft Technology Licensing, Llc Intent Based Authoring
US20160092404A1 (en) 2014-09-30 2016-03-31 Microsoft Technology Licensing, Llc Intent Based Feedback
US20160092419A1 (en) 2014-09-30 2016-03-31 Microsoft Technology Licensing, Llc Structured Sample Authoring Content
US9626768B2 (en) 2014-09-30 2017-04-18 Microsoft Technology Licensing, Llc Optimizing a visual perspective of media

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7283992B2 (en) * 2001-11-30 2007-10-16 Microsoft Corporation Media agent to suggest contextually related media content
CN1731391A (zh) * 2004-08-06 2006-02-08 佳能株式会社 布局处理方法、信息处理装置
US20070156747A1 (en) * 2005-12-12 2007-07-05 Tegic Communications Llc Mobile Device Retrieval and Navigation
US20100046842A1 (en) * 2008-08-19 2010-02-25 Conwell William Y Methods and Systems for Content Processing
US8577913B1 (en) * 2011-05-27 2013-11-05 Google Inc. Generating midstring query refinements
WO2013051218A1 (en) * 2011-10-03 2013-04-11 Sony Corporation Information processing apparatus, method, and program
CN103389970A (zh) * 2012-05-08 2013-11-13 北京华宇软件股份有限公司 基于实时学习的word辅助编写系统和方法
WO2014069755A1 (ko) * 2012-10-30 2014-05-08 에스케이플래닛 주식회사 컨텐츠 추천 서비스 제공 시스템 및 방법
CN104063369A (zh) * 2014-06-26 2014-09-24 北京奇虎科技有限公司 交互式文本消息的处理方法、装置及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
PHILLIPS 等: "Cursor Orientation and Computer Screen Positioning Movements", 《HUMAN FACTORS THE JOURNAL OF THE HUMAN FACTORS AND ERGONOMICS SOCIETY》 *
卢耀华: "基于Word自动化的学位论文写作辅助系统", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107368555A (zh) * 2017-07-03 2017-11-21 李洪海 影视剪辑制作协作方法、装置、服务器及系统

Also Published As

Publication number Publication date
CN106796582B (zh) 2020-06-19
EP3201802A1 (en) 2017-08-09
US10282069B2 (en) 2019-05-07
US20160092428A1 (en) 2016-03-31
WO2016053925A1 (en) 2016-04-07

Similar Documents

Publication Publication Date Title
CN106796582A (zh) 建议内容的动态呈现
CN107077460A (zh) 结构化样本创作内容
CN106796581A (zh) 用于内容数据的布局的基于用户意图的生成
CN106796518A (zh) 基于意图的反馈
CN104471564B (zh) 在将数据变换成可消费内容时创建变型
TWI599898B (zh) 將資料轉換爲可消耗內容
CN104471565A (zh) 用于将数据变换成可消费内容的抽象关系模型
CN107077458A (zh) 推断布局意图
KR20170030529A (ko) 시각화 제안 기법
US20200065052A1 (en) Enhanced techniques for merging content from separate computing devices
US10796086B2 (en) Selectively controlling modification states for user-defined subsets of objects within a digital document

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant