CN104471565A - 用于将数据变换成可消费内容的抽象关系模型 - Google Patents

用于将数据变换成可消费内容的抽象关系模型 Download PDF

Info

Publication number
CN104471565A
CN104471565A CN201380038452.2A CN201380038452A CN104471565A CN 104471565 A CN104471565 A CN 104471565A CN 201380038452 A CN201380038452 A CN 201380038452A CN 104471565 A CN104471565 A CN 104471565A
Authority
CN
China
Prior art keywords
data
computing equipment
world
output
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201380038452.2A
Other languages
English (en)
Inventor
D·B·李
J·麦克尔斯汀
K·莫里斯
S·R·霍拉斯趣
S·福尔克纳
N·G·弗利尔
H·刘
C·G·沃尔德曼
D·J·费雪
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 Corp
Original Assignee
Microsoft Corp
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 Corp filed Critical Microsoft Corp
Publication of CN104471565A publication Critical patent/CN104471565A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • 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
    • 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/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • 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/151Transformation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Processing Or Creating Images (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本文描述了针对用于将数据变换成可消费内容的抽象关系模型的概念和技术。根据本文中公开的概念和技术,计算设备可执行用于数据变换成可消费内容的变换引擎。该计算设备可被配置成从数据生产抽象关系模型来分析该数据以及标识该数据的各数据元素或其他部分内的关系。计算设备还可确定要应用于该数据的可视化模型并基于所确定的可视化模型来选定世界。计算设备可获得与所选择或所选定的世界相关联的规则,并可将这些规则应用于该数据以生成输出。在一些实施例中,计算设备可被配置成获得反馈并将反馈应用于输出。

Description

用于将数据变换成可消费内容的抽象关系模型
背景
可用于创建内容的软件的可用性和多样性增加了,因为可用于发布内容的场所的数量增加了。类似地,经由各种实况消息收发和/或社交联网站点对信息的即时发布已通过极大地加速用户可发布数据的速度和频率而使数据共享发生了变革。由于在创建、生成、共享和/或发布数据的各种方式方面的这些和其他改变,创建、共享和/或发布内容的用户的数量和多样性已连同这些内容创建者、共享者和/或发布者的观众的规模一起增加了。
由于几乎任何技术用户当今创建、生成、共享和/或发布内容,创建、生成、共享或发布该内容的一些用户或其他实体可能不会在设计原理方面被培训。结果,这些实体中的一些可能不能够以可消费、有用或视觉上吸引人的格式来产生视觉内容。因此,由这些或其他实体创建、生成、共享或发布的一些内容的实用性可通过应用更好的设计来增强。
在一些实例中,用户可生成文档、演示、视频、音频和/或具有该用户期望发布的信息的其他输出。用户所选择的信息可以是或可以不是有用的,或者可以不按允许消费者容易地访问文档或演示内的重要信息的方式来格式化。类似地,对设计原理缺少熟悉度可导致使消费者从演示或文档内呈现的底层数据或事实的有用性或重要性分心的演示或文档。
然而,下载到这些各种文档中的数据可能难以组织成考虑周到并有用的组织。类似地,用户可能无法以查看者可消费的基于设计的格式来呈现该数据。一些用户因此可委托其他实体来生成并组织内容,这是一种可导致发布内容方面的延迟并可导致时间和资源的花费的方法,而这些时间和资源原本可专用于快速散布信息。
本文所做出的本公开正是关于这些和其他考虑事项而提出的。
概述
本文描述了用于将数据变换成可消费内容的抽象关系模型的概念和技术。如本文中所使用的,术语“可消费”可用于指代可被用户、查看者或其他实体容易地查看、解释或访问的内容。在一些实例中,该内容或其部分可根据分层关系或逻辑关系和/或根据所应用的设计规则来安排。根据本文中公开的概念和技术,数据可被计算设备获得。在一些实例中,数据可包括文本文件、网页、文档、演示文件、电子表格、视频、照片或其他图像、或其他类型的数据。数据可按各种格式被获得,并且可被分析以标识该数据的各数据元素和/或各部分之间的关系。这些关系可用于标识该数据的分层结构、重点、群集和/或以其他方式获得对该数据的了解。
该计算设备可标识数据类型、源、文件名、文件名扩展和/或数据的定义数据类型的其他方面,并生成与所确定的数据类型相关联的抽象关系模型和/或与数据相关联的关系。抽象关系模型可用于表示该数据,使得由变换引擎对该数据执行的任何操作都可基于对该数据的一致理解,而无需理解源***的方案和交互。在一些实施例中,用户、查看者和/或第三方可生成针对各种数据的抽象关系模型,由此允许变换引擎对来自第三方和/或其他***的抽象关系模型进行操作。因此,变换引擎的用于与抽象关系模型进行交互的功能可以是可扩展的。
该计算设备还可被配置成确定如何将差异或变型引入该数据。这些变型可包括动画、效果、布局、色彩方案或其他设计变型方面的差异。计算设备还可选择用于呈现该数据的世界。如本文中所使用的,术语“世界”可用于指代用于呈现数据的方法、模型或主题。计算设备可选择用于呈现该数据的世界,并可使用定义如何将该数据转换成该世界的一个或多个规则集来将该数据应用于世界。在一些实施例中,这些规则可针对每一世界定制,并可定义例如特定类型的数据在所选择或所选定的世界中将如何表示。
通过应用抽象关系模型、变型、可视化模型、世界和/或规则,计算设备可生成包括可消费内容的输出。该输出可包括演示、文档、视频、交互式数据输出或其他数据。在一些实施例中,计算设备将该输出呈现给用户或其他实体,且该用户或其他实体表达与该输出的各个方面有关的偏好。因此,例如,用户可表达是喜欢还是不喜欢输出的特定方面,并且计算设备可被配置成将所表达的喜欢或不喜欢应用于输出。由此,计算设备可被配置成根据用户偏好来修改输出。计算设备还可被配置成存储这些偏好以供将来使用。
根据一个方面,计算设备获得数据。数据可从本地或远程存储设备(诸如,因特网、或服务器等)中获得。计算设备可被配置成执行用于确定与所获得的数据的数据类型或其他方面相关联的抽象关系模型的变换引擎,并将该抽象关系模型应用于数据以分析数据、标识数据内的关系并输出指示数据内的关系的信息。该输出可被格式化成与抽象关系模型的结构类似的树结构。计算设备还可被配置成确定可视化模型、选择世界、将与世界相关联的规则(诸如设计规则)应用于该数据并生成输出。在一些实施例中,变换引擎可包括多个模块,或者可被多个模块代替。这些模块可包括剖析和理解模块、变型模块和世界选择器模块。变换引擎还可包括对用于基于所选定或选择的世界以及一个或多个抽象关系模型或其库来转换数据的规则的表示。变换引擎可被配置成将这些规则应用于数据以生成输出。
根据另一方面,变换引擎可包括创作模块。创作模块可被配置成获得并应用关于输出的用户输入或反馈。该反馈可从用户或其他实体直接获得。该反馈可响应于可由计算设备生成的一个或多个提示而被获得。由此,计算设备可被配置成生成输出,并基于用户偏好来修改输出。计算设备还可被配置成存储这些偏好以供将来使用和/或应用于其他数据。
应当理解,上述主题可被实现为计算机控制的装置、计算机进程、计算***或诸如计算机可读存储介质等制品。通过阅读下面的详细描述并审阅相关联的附图,这些及各种其他特征将变得显而易见。
提供本概述是为了以简化的形式介绍将在以下具体实施方式中进一步描述的概念选择。本概述并不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在将本概述用来限制所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本公开的任一部分中所提及的任何或所有缺点的实现。
附图说明
图1是示出用于本文所公开的各实施例的说明性操作环境的***图。
图2是示出根据说明性实施例的变换引擎的附加方面的框图。
图3是示出根据说明性实施例的用于将数据变换成可消费内容的方法的各方面的流程图。
图4是示出根据说明性实施例的用于将抽象关系模型应用于数据的方法的各方面的流程图。
图5是示出根据说明性实施例的抽象关系模型的附加方面的框图。
图6是示出根据说明性实施例的将抽象关系模型应用于数据的附加方面的线条画。
图7是示出能够实现本文中所呈现的各实施例的各方面的计算***的说明性计算机硬件和软件体系架构的计算机体系架构图。
图8是示出能够实现本文呈现的各实施例的各方面的分布式计算环境的图示。
图9是示出能够实现本文所呈现实施例的多个方面的计算设备体系结构的计算机体系结构图。
详细描述
以下详细描述涉及用于将数据变换成可消费内容的抽象关系模型的概念和技术。根据本文中描述的概念和技术,计算设备可执行用于将数据变换成可消费内容的变换引擎。在一些实施例中,计算设备从本地或远程存储设备(诸如,存储器或服务器、或因特网等)获得数据。在一些其他实施例中,该数据是在计算设备处使用在该计算设备处执行的应用程序来生成的。计算设备可被配置成执行变换引擎以确定数据的数据类型或其他方面,并确定与所确定的该数据的数据类型或其他方面相关联的抽象关系模型。计算设备可将抽象关系模型应用于该数据以标识该数据的各数据元素或其他部分内的关系,并输出与所确定的关系相对应的信息。该输出可被格式化成树结构或链表,该树结构或链表包括各节点、这些节点内的元素以及在这些节点之间的定义和/或描述这些节点和/或其中的元素之间的关系的连接符。
计算设备还可执行变换引擎以确定要应用于该数据的各变型并选择要应用于该数据的可视化模型和/或世界,获得与所选择或选定的世界相关联的规则,并将这些规则应用于该数据以生成输出。计算设备还可被配置成从用户或其他实体获得输入或反馈并应用该输入或反馈。反馈可被计算设备解释以理解用户或其他实体对输出的偏好。输入或反馈可从用户或其他实体直接获得,和/或可响应于可由计算设备生成的一个或多个提示而获得。
基于该输入或反馈,计算设备可被配置成修改该输出和/或所应用的抽象关系模型。计算设备还可确定输出和/或抽象关系模型未被修改。计算设备还可被配置成存储这些偏好以供将来使用和/或供应用于其他数据。计算设备所存储的偏好可不仅包括针对特定用户的偏好,还可附加地或替换地包括针对多个或所有用户的偏好。附加地或替换地,这些偏好可涉及特定内容或输出以及一个或多个用户。因此,这些偏好还可例如指示特定数据元素、数据元素群集、演示方面、演示或设计方案、或规则等与其他数据元素、数据元素群集、演示方面、演示或设计方案、或规则等相比更重要或更不重要。
尽管在结合计算机***上的操作***和应用程序的执行而执行的程序模块的一般上下文中提出了本文描述的主题,但是本领域技术人员将认识到,其他实现可以结合其他类型的程序模块来执行。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其他类型的结构。此外,本领域技术人员将明白,可以利用其他计算机***配置来实施本文描述的主题,这些计算机***配置包括手持式设备、多处理器***、基于微处理器的或可编程消费电子产品、小型计算机、大型计算机等等。
在以下详细描述中,参考了构成详细描述的一部分并作为说明示出了各具体实施方式或示例的附图。现在参考附图(在全部若干附图中相同的标号表示相同的元素),将提出针对用于将数据变换成可消费内容的抽象关系模型的计算***、计算机可读存储介质和计算机实现的方法的各方面。
现在参考图1,将描述用于本文所提出的各实施例的一个操作环境100的各方面。图1中所示的操作环境100包括计算设备102。根据各实施例,计算设备102的功能可由诸如台式计算机、平板计算机或膝上型计算机***的个人计算机(“PC”)来提供。计算设备102的功能还可以由能够执行本文中详细描述的各个软件元件的其他类型的计算***(包括但不限于,服务器计算机、手持式计算机、上网本计算机、嵌入式计算机***、个人数字助理、移动电话、智能电话或其他设备或***)来提供。出于描述本文中公开的概念和技术的目的,计算设备102在本文中被描述为包括PC。应当理解,本实施例是说明性的,并且不应被解释为以任何方式进行限制。
根据各一些实施例,计算设备102被配置成与通信网络(“网络”)104进行通信,或作为通信网络(“网络”)104的一部分来操作。在一些其他实施例中,计算设备102不用于与网络104进行通信。计算设备102可被配置成执行操作***106以及一个或多个应用程序、模块、软件元件、或其他计算机可执行或计算机可读指令,诸如作为示例变换引擎108。
操作***106是用于控制计算设备102的操作的计算机程序。变换引擎108可包括被配置成在操作***106的顶部执行以提供本文中描述的用于将信息变换成可消费内容的功能的可执行程序。虽然变换引擎108被示为计算设备102的组件,但应理解,变换引擎108可实现为作为网络104和/或计算设备102的一部分来操作或者与网络104和/或计算设备102进行通信的独立设备或其组件,或在该独立设备或其组件中实现。变换引擎108还可以是在计算设备102上和/或在其他实际或虚拟设备上执行的虚拟化服务或技术层。因此,所示实施例是说明性的,且不应该被解释为以任何方式进行限制。
如以下将更详细解释的,尤其参考图2-6,变换引擎108可被配置成获得数据110,确定数据110内的各部分、对象或元素(“数据元素”)之间的关系,并将数据110变换成可消费内容,该可消费内容可包括由计算设备102生成的输出112,或可被包括在该输出112中。如本文中所使用中,术语“可消费”可用于指代可被用户或查看者容易地或不费力地查看、解释或访问的输出(诸如输出112)。更具体地,如以下更详细解释地,输出112可包括数据110的各数据元素或其他部分,这些数据元素或其他部分由变换引擎108根据本文中公开的各概念和技术来安排。
在一些实施例中,变换引擎108被配置成获得数据110并分析数据110以确定数据110中包括的各数据元素之间的关系。如以下将更详细解释的,变换引擎108可被配置成从数据110中提取或构造抽象关系模型,以剖析和/或理解数据110。变换引擎108可应用各种类型的数据和/或介质,并可从数据及数据之间的关系中构造抽象关系模型。抽象关系模型可表示各种格式的数据间的内容和关系,并可被各实体用来通过仅与抽象关系模型(不是底层数据110)的交互来与数据110进行交互。因此,可为变换引擎108被配置成与其进行交互的每一数据110和/或每种类型的数据110提取抽象关系模型。变换引擎108还可被配置成与由各种实体生成的抽象关系模型进行交互。由此,如果期望的话,第三方(与数据110和/或变化引擎108不直接关联的各方)可将抽象关系模型提交给变换引擎108。
根据各个实施例,变换引擎108所使用的抽象关系模型可包括树结构、链表、或其他数据或列表,以及用于遍历树结构、或链表等的规则。根据各实现,树结构可包括一个或多个节点。这些节点可包含各种元素,诸如文本、图像、视频、或其他内容片(诸如数据110)。抽象关系模型还可包括用于将来自数据110的数据元素置于各节点中的规则。例如,抽象关系模型可包括标题框将被置于特定节点中的规则。应当理解,本实施例是说明性的,并且不应被解释为以任何方式进行限制。
如果抽象关系模型包括多个节点,则这些节点可包括与节点树的开始或结束相关联的锚节点。抽象关系模型还可包括在这些节点之间的连接符。这些连接符可定义和/或描述这些节点之间的关系和/或这些节点间的分层结构,和/或可用作标识各节点的标记,作为规范类型的实例,诸如例如为“章节名”、“标题”、“描述”、或“作者”等。因此,变换引擎108可从数据110创建抽象关系模型以完善对可用于生成输出112的数据110的理解。以下尤其参考图4-5更详细描述了抽象关系模型。
变换引擎108还可被配置成使用抽象关系模型来基于经由对数据110的深度分析而完善的理解将数据110转换成或安排成基于关系的设计,该基于关系的设计对应于输出112和/或被包括在输出112中。该基于关系的设计可包括数据110中所包括的各数据元素,这些数据元素可但不一定按逻辑和/或分层方式安排,和/或可根据用于安排和/或布置数据的各种基于设计器的演示规则来安排。因此,如本文中使用的短语“可消费内容”可但不一定用于指代视觉上吸引人和/或逻辑地安排的数据。然而,应该理解,如本文中所描述的输出112无需是视觉上吸引人的,和/或视觉吸引力可以是主观的,诸如例如本质上是实用的、或针对可读性进行了优化的等等。由此,输出112可包括数据110的被转换成输出112的各个数据元素或其他部分,如本文中所描述的。
根据各实施例,计算设备102被配置成接收或存储数据110。例如,数据110可被存储在计算设备102处的存储器、硬盘驱动器或其他数据存储元件中。在一些其他实施例(诸如,图1中示出的实施例)中,数据110可从数据源114处获得,该数据源114可被配置成作为网络104的一部分来操作或与网络104进行通信。数据源114的功能可由网络驱动器、在网络104上操作或与网络104进行通信的服务器计算机、数据库或另一实际或虚拟数据存储元件和/或其他数据存储设备提供。应当理解,这些实施例是说明性的,而不应被解释为以任何方式构成限制。
根据本文中公开的概念和技术的各方面,变换引擎108可包括一个或多个应用、程序、软件、计算机可执行指令和/或其他数据。以下参考图2更详细地示出并描绘了可包括为变换引擎108的一部分的数据的一些示例。简言之,这些计算机可执行指令可包括用于使用抽象关系模型来剖析并理解数据110内所包括的内容的指令,该抽象关系模型对应于与被分析的数据110相关联的类型或格式,诸如为文件格式、文件名扩展、或与数据110相关联的源等。抽象关系模型可包括用于组织数据110内的各数据元素的树结构、或链表等。变换引擎108还可包括:用于生成和/或建议在将数据110作为输出112的一部分来呈现时要采用的各变型的指令,用于选定在生成输出112时要采用的主题、样式、色彩方案、动画、布局和/或其他方面(“世界”)的指令、用于定制所选择或所选定的世界的规则、和/或用于基于来自用户或其他实体的输入来修改输出的指令。
变换引擎108的这些或其他方面可由单个或多个应用或模块提供。因此,计算设备102通过执行变换引擎108可接收数据110、剖析数据110以理解数据110中所包括的各数据元素之间的关系和/或各数据元素间的分层结构、确定将如何呈现数据110、生成用于按确定的格式、方案、或主题等来呈现该数据的输出112、以及呈现该输出112。本文中公开的概念和技术的各实施例也适应。
在呈现输出112之前、期间或之后,计算设备102还可被配置成从用户或其他实体获得关于输出112的输入或反馈(“反馈”)。在一些实施例中,计算设备102可被配置成提示用户来得到反馈。在一些其他实施例中,计算设备102可被配置成从各个用户或其他实体中接收反馈而无需进行提示来得到反馈。
基于计算设备102所接收到的反馈,与计算设备102相关联的输出112可被定制为反映与用户或其他实体相关联的偏好、喜欢、或不喜欢等。替换地或另选地,计算设备102可基于该反馈来修改应用于数据110的一个或多个抽象关系模型。由此,计算设备102可被配置成不仅以计算设备102所确定的格式来呈现数据110,此外还以由用户或其他用户通过提供反馈来定制和/或修改的格式来呈现数据110。应当理解,本实施例是说明性的,并且不应被解释为以任何方式进行限制。
在一些实施例中,计算设备102检索、接收或以其他方式获得数据110。数据110可从本地数据存储设备获得,或者可从远程数据存储设备或实体(诸如数据源114)获得。数据110可包括几乎任何类型的信息,包括但不限于文档、文本、图像、演示、电子表格、网页、视频、媒体或其他信息。由于数据110可包括其他类型的信息或内容,所以应该理解,这些实施例是说明性的,而不应被解释成以任何方式进行限制。
计算设备102可被配置成分析数据110以标识数据110内的分层结构和/或关系。尤其地,计算设备102可被配置成使用与数据110的类型、源或格式相关联的抽象关系模型来标识数据110内所包括的一个或多个数据元素或数据部分之间的关系。例如,如果数据110包括演示文档,则数据元素可包括该演示的各幻灯片、该演示的各幻灯片内的各对象、和/或包括在该演示中的其他数据部分,诸如各个文本字符、图像、图像的各部分(诸如,脸、所识别的对象、视觉上有趣的区域、或可覆盖文本的均匀着色区域等)、句子、单词、项目符号列表、标号列表、文本框、背景、标题框、或媒体对象等。计算设备102可被配置成使用与演示格式相关联的抽象关系模型来分析数据110的各个元素或部分(“数据元素”)以标识出各数据元素之间的关系和/或标识出数据110内的分层结构。类似地,计算设备102可被配置成识别数据110的一个或多个实例之间的关系。例如,来自FLICKR或其他相册软件的图像可与诸如FACKBOOK或TWITTER更新、地理位置信息、和/或时戳信息之类的状态更新或消息相关联,以标识出这些图像之间的关系。由于其他类型的数据和/或数据源可用于标识数据110的各元素之间的关系,因此这些示例应被理解为是说明性的,而不应被解释为以任何方式进行限制。
计算设备102还可被配置成确定要被用于生成输出112的可视化模型。尤其地,计算设备102可确定在生成输出112时可包括的各变型,以提供区别化输出来作为输出112。例如,计算设备102可将动画、图像尺寸、文本效果、布局、色彩方案、主题或其他可视化方面的变型应用于被包括为输出112的数据,以提供高度区别化的输出。由此,计算设备102的用户可使用计算设备102来生成唯一的产品,即使其他用户提供了基本上类似或甚至相同的输入。此外,输出112除了是唯一的外,仍可与原始数据110一致,因为分层结构、关系、强调等可被保留。
计算设备102还可被配置成选定将用于生成输出112的世界。如本文中所使用的术语“世界”可用于指代可应用于数据110并可用于生成输出112的可视化和/或主题的类型或类别。各世界可包括用于以二维(“2D”)或三维(“3D”)可视化来可视化数据110的指令,从而指定输出112的字体和字体格式、图像和图像格式、动画、背景、文本框尺寸和布局、文档布局、或其他方面。然而,应理解,“世界”不必限于为模板。相反,在本文中描述的各实施例中,世界不是模板,而改为定义可应用于数据110以获得输出112的各可视化的事实或方面,如本文中所描述的。例如,在一些实施例中,“世界”包括指导将如何处理和显示数据110的可视化、样式和调谐规则的聚集。本文中公开的世界的附加方面在以下参考图2另外详细描述。
世界中的一些或全部可与规则集相关联。以下参考图2也更详细地描述了这些规则的附加方面。简言之,这些规则可定义世界的各个方面如何被应用于数据(诸如数据110)。计算设备102可被配置成获得与所选定的世界相关联的规则(如果可用的话),并将那些规则应用于数据110以获得输出112。计算设备102可因此生成输出112并将输出112呈现给用户或其他实体。输出112还可按需被保存到数据存储设备。
根据本文中公开的概念和技术的一些实施例,计算设备102还被配置成获得用户反馈并将用户反馈应用于输出112。在一些实施例中,用户反馈包括对各种提示或问题的用户响应。例如,计算设备102可将问题呈现给用户或其他实体来评估输出112的各个方面。在一些实施例中,计算设备102要求或提示用户或其他实体通过表达是喜欢还是不喜欢特定方面来得到关于色彩、色彩方案、字体、布局、元素位置、图像尺寸、重要性、重点、数据安排或输出112的其他方面的反馈。除了提示来得到反馈外或作为其替换,计算设备102还可被配置成为用户生成关于输出112的各个方面的问题。例如,计算设备可询问特定方面是被喜欢还是不被喜欢、或是好还是不好等。
应理解,反馈、问题、或提示等可被格式化为具有二态的是/否、喜欢/不喜欢或真/假回答的问题。这些问题或提示还可请求各个范围的排名,诸如例如为诸如一到十的数值范围、诸如“A”到“F”的字母等级、或星数等。用户可提供关于输出112的完整性的这种和/或其他类型的反馈,和/或计算设备102可被配置成要求用户表达关于输出112的个别部分或成份的反馈。例如,计算设备102可被配置成询问喜欢还是不喜欢输出112,或者询问喜欢还是不喜欢特定字体、色彩方案、和/或输出112的其他方面或成份。应当理解,这些实施例是说明性的,而不应被解释为以任何方式构成限制。
计算设备102可被配置成评估来自用户的反馈,并基于该反馈来确定是否要修改输出112和/或分析数据110时使用的抽象关系模型。例如,如果从用户或另一实体接收到的反馈指示色彩方案“不被喜欢”,则计算设备102可改变色彩方案。类似地,“喜欢”可用于修改输出112,使得输出112的被用户或其他实体喜欢的各方面可在输出112中被重复,和/或可在将来被用于生成其他输出112。另选地或作为替换,如果数据组织的各方面和/或确定关系或分层结构被喜欢或不喜欢,计算设备102可修改抽象关系模型以供将来使用。由此,可领会,可基于反馈来修改输出112的各方面。应当理解,这些实施例是说明性的,而不应被解释为以任何方式构成限制。
图1示出一个计算设备102、一个网络104、以及一个数据源114。然而,应该理解,操作环境100的一些实现包括多个计算设备102、多个网络104、零个或多个数据源114和/或另外的或替换的硬件元件。因此,所示实施例应该被理解为说明性的,并且不应该被解释为以任何方式构成限制。
现在转向图2,将根据说明性实施例详细描述变换引擎108的附加方面。如以上参考图1所解释的,变换引擎108可被配置成将数据110变换成输出112。在一些实施例(诸如图2中示出的实施例)中,变换引擎108包括用于提供本文中描述的关于变换引擎108和/或计算设备102的功能的多个模块、应用、程序、软件、或其他计算机可执行指令。另外地或替换地,变换模块108还可包括如将在本文中更详细描述的其他数据。
在所示的实施例中,变换引擎108包括剖析和理解模块200、变型模块202、世界选择器模块204、规则206、创作模块208、世界210、抽象关系模型212和其他数据或指令(未示出)。虽然图2中未示出,但变换引擎108还可包括用于创作、创建和/或保存规则206的设计规则模块。由此,变换引擎108可被配置成通过执行计算机可执行代码或指令的一个或多个部分来将数据110变换成输出112。应理解,本文中描述的关于图2中示出的各个模块和其他数据的各个功能可由单个应用、模块、程序或其他软件或数据等来提供,所示的实施例是说明性的,而不应以任何方式被解释为构成限制。
剖析和理解模块200可被配置成分析数据110。如以上所解释的,对数据110的分析可被完成以理解数据110的各个数据元素或其他部分之间的关系。更具体地,在一些实施例中,数据110是以基于流的格式来安排的和/或不是以任何特定格式来安排的。剖析和理解模块200可应用用于解释数据110的各种规则以标识各数据之间的关系。在一些实施例中,这些规则可作为抽象关系模型212中的一个或多个的部分来包括。抽象关系模型212可以是为特定类型的数据和/或特定格式的数据定制的。例如,如果数据110对应于演示文件,则与该演示文件相关联的抽象关系模型212可包括指定如何理解数据110的各部分之间的关系的规则。例如,演示或其他文档的多个页面可包括类似或相同的标题。剖析和理解模块200所应用的抽象关系模型可被配置成确定多个页面是彼此相关的。类似地,如果一个页面上的标题与第二页面上的标题相似,但还包括文字“继续的”或诸如“cont’d(继续的)”的缩写,则可由剖析和理解模块200应用的抽象关系模型可包括用于确定这些页面是否相关的一个或多个规则。应当理解,这些实施例是说明性的,而不应被解释为以任何方式构成限制。
在一些实施例中,可由剖析和理解模块200应用的抽象关系模型可包括用于确定项目符号列表或标号列表中的各元素彼此相关和/或与这些列表的导标相关的一个或多个规则。在一些其他实施例中,可由剖析和理解模块200应用的抽象关系模型可包括用于确定相同或相似图像周围的文本是相关的、具有相似或相同引用或脚注的文本是相关的、和/或数据110的其他元素或部分是彼此相关的一个或多个规则。
在一些其他实施例中,剖析和理解模块200可被配置成进行图像分析。例如,图像可被分析以检测面部、突出区域、(其上可放置文本的)不变区域、成份分析、或图像的其他方面。解释数据110的各种规则可被剖析和理解模块200应用。以下参考图4-6更详细地示出并描绘了剖析和理解模块200的附加方面及其功能中的一些。因为构想了用于标识关系的其他过程或规则,所以应当理解这些实施例是说明性的,而不应被解释为以任何方式构成限制。
变型模块202可被配置成为用户或其他实体生成区别化输出112。具体地,变型模块202可应用动画、视觉效果、设计、主题或其他变型方面的变型。这些变型可被应用于数据110以创建可用于使得计算设备102的每一输出112看上去唯一的区别。如以下参考图3更详细描述的,这些变型可被应用于数据110。
世界选择器模块204可被配置成评估并选定要应用于数据110的世界。如以上所解释的,“世界”可包括用于呈现可被存储、选择和/或应用于数据110以获得输出112的数据的主题、模型、方案或其他方法。在一些实施例中,世界是可扩展的。具体地,第三方或其他实体可创建新的或附加的世界210并可定义数据110可如何被应用于世界210。世界选择器模块204可被配置成考虑数据110的各方面,并基于所确定的最适合数据110的世界210来确定要将什么视觉化模型和/或区别应用于数据110。在一些实施例中,世界210由变换引擎108来存储,如图2所示。世界选择器模块204可考虑例如数据110的形状、所标识出的数据110内的分层结构、和数据110的其他方面。
如上所述,数据110可包括各种数据元素214。因此,尽管本文中描述了对数据110的各种操作和/或分析,但应理解,可对数据元素214采取这些和/或其他操作。因此,世界选择器模块204可例如考虑各数据元素214之间的关系和/或各数据元素212中的分层结构以选择世界210。选择世界210的这些或其他方面在以下参考图3进一步详细地阐述。
规则206可包括被配置成转换数据110的自适应规则,其可基于所选定的变型和世界210将任意内容包括在输出112中。换言之,规则206可包括可被应用于数据110以获得输出112的转换类别。因此,在一些实施例中,规则206包括针对每一世界210的一个或多个规则集,并且规则206由计算设备102基于哪个世界210被选定来选择。由此,规则206可以是用于将数据110变换或转换为输出112的定制操作、步骤或规则。应理解,数据110可能并非总是为到输出112的直接转换。具体地,数据110的内容或布局可在数据110到输出112的转换期间***纵。应当理解,本实施例是说明性的,并且不应被解释为以任何方式进行限制。
规则206可用于选择数据110的部分(例如以下更详细描述的数据元素214),这些部分将被包括在输出112的布局或其他形式中。具体地,规则206可用于为输出112中的每一视图选择信息或数据元素214,并定义在与所选定的世界相关联的布局、视图或其他输出112内的任何给定位置处,什么类型的信息和/或什么数据元素214被需要、期望或是适合的。开发者或其他实体可通过规则206来指定在每一视图或布局中将呈现什么信息。
规则206还可用于确定为输出112选择的数据元素214或其他信息的流动、进展和/或布局。具体地,计算设备102可在变换引擎110生成与输出112相关联的布局时应用规则206来提供决策制定能力。布局可定义在屏幕上的什么网格单元中使用什么类型的信息或数据元素214(或使用用于将数据元素214放置在屏幕上的其他方法来定义数据元素214的位置),而规则206可定义一旦信息被放置在布局中后信息如何流动或如何被修改(在风格上或其他方面例如尺寸、形状、或信息的其他方面)。在一些情况下,规则206还可处理在信息流超过预定的默认布局时如何调整布局
规则206还可被应用于数据110以升级或以其他方式修改数据元素214中的一个或多个或要被包括在输出112中的其他信息。因此,可领会,世界针对任何类型的数据110的流处理行为可通过修改与世界相关联的规则206来改变。具体地,规则206可用于改进、升级或以其他方式修改数据110的数据元素214或其他部分。例如,如果数据元素214包括低分辨率图像,则升级图像元素214可包括用具有较高分辨率的图像来替换该低分辨率图像、或将图像处理(诸如模糊等)应用于该图像以创建艺术表示等。类似地,如果数据元素214包括数据表,则更新或改善数据元素214可包括用图形来替换该数据表。这些和/或其他类型的升级、改善和/或其他修改可通过规则206来控制。因此,可给予设计者表达将如何使用可用的工具集来升级或以其他方式来修改特定类型信息的能力,诸如,升级图像、转换为图形等。在一些实施例中,设计者可在应用各种规则206之前表达各种规则206,如本文中所描述的。由此,应当理解,对规则206的表达可在几乎任何时间发生,并且对规则206的利用可在几乎任何时间发生,包括规则206已被表达了很长时间后。应当理解,这些实施例是说明性的,而不应被解释为以任何方式构成限制。
规则206还可被应用于数据110以对输出112的一个或多个布局或其他形式进行评分。具体地,规则206可用于通过提供关于给定布局的信息如何被处理以及质量条是否被满足的反馈来促成对布局的选择。可获得世界内的每一布局的精确分数并可通过规则集206调整这些分数,而无需重新编译代码库。
规则还可用于对变换引擎108所考虑的各个世界进行评分,并且这些分数可被传递给世界选择器模块208来对所考虑的世界进行评分。具体地,规则206可用于通过生成与各世界中正放置的信息的适合质量有关的反馈来促进对世界之一的选择。规则206可不作出关于世界排名的最终决策,但可作为提供有助于作出该决策的信息的分量。每一世界的描述该世界对信息集的适合的精确得分可被获得,并且这些得分可使用规则集206来进行调整,而无需重新编译代码库。
根据变换引擎108的各种实现,规则206可由设计者、用户或其他实体来创建、修改和/或删除。由此,规则206可以是设计者可访问的,以便按适合于该设计者的工作流的方式来表达这些规则206。在一些实施例中,为用于允许设计者理想地用视觉方式来在这个列表中表达所有的必要信息以提出先前目标的工具。此外,本文中描述了规则206的附加方面,并且由此规则206的以上用途应当被理解为是说明性的,而不应被解释为以任何方式进行限制。
因此,规则206可被应用来调整通过应用特定世界来呈现数据110的方式。例如,规则206可被应用于数据110以调整文本的可读性。这些调整可基于例如:当字符被布置在单词、句子和段落中时,字样可被读出的相对容易性;长文本框需要为可读以保持读者和/或提升理解的假设;列中的设置文本可提供可改善可读性的短行长的假设;假设与“被强迫调整”或操纵以在左边距和右边距上对齐的文本相比,具有“右边未对”对齐的文本集更可读的规则;引入空白空间、副标题和/或用于分割文本以给予读者的眼睛休息空间以有助于防止疲劳的其他元素的规则;通过基于文本行数来调整前导;通过基于内容量和布局来调整行长;通过基于设备用于查看内容的能力(例如,屏幕尺寸、分辨率、或输入设备等)来调整内容;通过基于内容量来调整字体大小;和/或通过对数据应用其他调整或修改。应当理解,本实施例是说明性的,并且不应被解释为以任何方式进行限制。
规则206还可用于改善输出112的清晰度。例如,规则206可用于评估一个字母可多容易地与另一字母区分开,或者与字样相关联的清楚性。规则206还可用于将文本置于图像的位置以使得文本清晰可读、将置于图像上面或上方的文本覆盖在该文本后面的半透明域上以使得该文本是清晰可读、覆盖文本后面的半透明背景使得该本文与没有半透明背景相比更清晰可读、应用用于使图像和/或其部分变暗和/或变亮的规则、调整字体大小以改善和/或确保清晰度、添加阴影以使得文本更清晰可读、通过将图像重置和/或缩放成置于布局的各区域中来使得保留文本空间来改善文本的清晰度、在文本后面添加细微的透明性、应用相片变暗以变换图像、或应用其他调整等。
规则206还可用于改善输出112的质量。例如,规则206可用于通过基于文本的行数来调整前导,通过应用文本字距调整、文本前导、各种大小的文本的基线对齐等,使文本在网格线上对齐和/或调整文本的放置使得文本在网格上视觉地对齐,以定义文本大小关系,使得覆盖在图像上的正文副本和标题副本的文本是最优的。规则206还可用于标识相片的结构,使得覆盖内容的相片与相片中的底层结构相关。类似地,规则206可用于确保文本框彼此对齐和/或与其他文本对齐,使得文本框一起流动以确保取决于可变串的合适的放置、对齐。应当理解,这些实施例是说明性的,而不应被解释为以任何方式构成限制。
规则206也可用于调整图像。例如,规则206可用于基于一个或多个突出区域来提供对图像的裁剪,升级图像、在一个或多个方向上裁剪和/或避免裁剪图像和/或为此图像定向。
规则206还可用于搜索和/或生成数据110的汇总。规则206还可用于例如通过使用全球定位***(“GPS”)或地图数据来升级数据110和/或数据元素214,以获得关于数据110中所引用的场所/位置的附加信息,添加当前统计数据和/或其他类型的实况内容,添加诸如评论数、内容已被链接到的次数、内容已被下载的次数等相关信息。规则206还可用于调整数据110和/或数据元素214的大小。这些实施例是说明性的,而不应被解释为以任何方式构成限制。
规则206还可用于影响每一数据元素214如何相对于其他数据元素214移动。例如,在与一些文本进行交互和/或悬停在这些文本上时这些文本可作出反应,移动或动画可受移动速度或正与数据110进行交互的用户的影响,环境运动可被应用直到检测到点击或触摸姿势等。数据元素214的这些和其他移动和/或相对定位可由规则206确定。规则206还可用于确定数据元素214的次序、内容如何被导航到(例如,多次点击、滑动、或导航经过屏幕等)。
如上所述,规则206还可用于在数据110的数据元素214和/或其他部分中创建变型。规则206可基于什么数据110或数据元素214围绕特定数据部分或数据元素214来应用一些变型。变型还可基于内容。例如,如果数据110对应于基于时间线的数据,则世界或布局可基于很少图像被包括的假设或识别来选定。应当理解,本实施例是说明性的,并且不应被解释为以任何方式进行限制。
规则206还可用于选择、调整大小和/或以其他方式格式化字样和/或与文本相关联的其他设置。例如,规则206可用于为文本或附近的域选择突出显示的色彩和/或互补色。规则206还可用于基于内容的源来定义色彩调色板。例如,色彩方案可基于与特定品牌相关联的色彩方案、或数据110中包括的色彩方案等来选择。运动还可基于规则206来改变和/或选择。应当理解,这些实施例是说明性的,而不应被解释为以任何方式构成限制。
创作模块208可被配置成分析来自用户或其他实体的有关输出112的反馈216。反馈216可被创作模块208获得,和/或可被变换引擎108获得并被传递给创作模块208。创作模块208可被配置成将反馈216应用于输出112以修改输出112。如上所述,如果期望的话,反馈216还可被用于修改一个或多个抽象关系模型212。创作模块208还可被配置成存储反馈216以供变换引擎108将来使用。
因此,虽然图1-2中没有示出,但应理解,用户偏好可由变换引擎108来开发,并可由变换引擎108按需存储和应用。如以上关于基于反馈216来修改输出112所解释的,创作模块208可被配置成进行提示以得到反馈216,或可被配置成从用户或其他实体接收反馈216。可通过推断各简单动作(诸如,选择或重排序等)来提供有关喜欢或不喜欢的反馈216,如对问题的是/否或真/假回答,如诸如星数、范围内的数目、字母等级等排名信息。反馈216可由创作模块208来解释。
如以上所述,除了基于不喜欢来改变输出112外,创作模块208还可被配置成基于喜欢来修改输出112。具体地,变换引擎108可重复和/或更频繁地使用输出112被用户所喜欢的各个方面。应当理解,用户的喜欢或不喜欢还可被变换引擎108针对其他用户来使用。具体地,变换引擎108可被配置成基于偏好、基于社交联网信息和/或基于其他信息来在各个用户之间识别相似性,并且变换引擎108可将特定用户的偏好应用于被认为或被指示为与该用户相似的另一用户。应当理解,这些实施例是说明性的,而不应被解释为以任何方式构成限制。
鉴于图2的以上描述,应理解,本文中描述的计算设备102可通过执行任何数目的应用、软件组件、模块或其他指令来提供变换引擎108的功能和/或变换引擎108的各个模块的功能。由此,当本说明书提及“计算设备”的功能时,应理解,所描述的功能可包括由本文中描述的软件模块、数据和/或硬件元件中的任一个所提供的功能。此外,应理解,变换引擎108可用作被计算设备102处执行的各个程序调用或访问的技术层。类似地,变换引擎108可用作可被各种应用或设备调用的服务。由此,所描述的各个实施例是说明性的,并且不应该被解释为以任何方式构成限制。
现在转到图3,将详细描述用于将数据变换为可消费内容的方法300的各方面。应该理解,不一定按任何特定次序来呈现此处公开的方法的操作,并且用替换次序来执行部分或全部操作是可能的且可构想的。为了易于描述和说明,按所示次序来呈现各操作。可以添加、省略和/或同时执行操作,而不脱离所附权利要求书的范围。
还应当理解,所示方法可在任何时间结束且不必被完整地执行。所述方法的部分或全部操作和/或基本上等价的操作可以通过执行计算机存储介质上所包括的计算机可读指令来执行,如本文所定义的。如在说明书和权利要求书中使用的术语计算机可读指令摂及其变型,在本文是用来广泛地包括例程、应用、应用模块、程序模块、程序、组件、数据结构、算法等等。计算机可读指令可以在各种***配置上实现,包括单处理器或多处理器***、小型计算机、大型计算机、个人计算机、手持式计算设备、基于微处理器的可编程消费电子产品、其组合等等。
因此,应该理解,本文所述的逻辑操作被实现为:(1)一系列计算机实现的动作或运行于计算***上的程序模块;和/或(2)计算***内的互连的机器逻辑电路或电路模块。该实现是取决于计算***的性能及其他要求的选择问题。因此,此处描述的逻辑操作被不同地称为状态、操作、结构设备、动作或模块。这些操作、结构设备、动作和模块可以用软件、固件、专用数字逻辑及其任何组合来实现。
出于示出并描述本公开的概念的目的,本文中公开的方法300被描述为由计算设备102通过执行计算机可执行指令(诸如例如,变换引擎108)来执行。如以上结合图2来解释的,变换引擎108可包括可被计算设备102执行和/或使用来提供本文中描述的功能的若干模块和/或其他数据。应理解,附加或替换设备可通过执行除变换引擎108以外或作为其补充的指令来提供本文中描述的功能。由此,应当理解,这些实施例是说明性的,而不应被视为以任何方式进行限制。
方法300开始于操作302,在操作302,计算设备102获得数据110。如上所述,数据110可包括各种类型的信息或内容,诸如例如:媒体文件,包括但不限于视频文件、动画文件、幻灯片显示文件、图像文件、音频文件、其他媒体文件等;文本文档;纯文本;网页、web内容、或富文本等;和/或其他类型的信息。在所构想的一个实施例中,数据110对应于演示文件,诸如由来自华盛顿州雷蒙德市的微软公司的演示软件产品的MICROSOFT POWERPOINT家族成员所生成的文件。鉴于各种类型的信息可被提供为数据110,应该理解,这个实施例是说明性的,而不应被解释成以任何方式构成限制。
根据各种实现,数据110是从与计算设备102相关联的数据存储设备或组件中获得的。以下参考图4-6更详细地描述数据存储设备的一些示例。在一些其他实施例中,数据110可被存储在诸如数据资源114的远程存储设备或资源中,如本文中所描述的。因此,数据110可由计算设备102通过与数据源114进行通信来获得。由此,应当理解,数据110可通过直接连接、通过一个或多个网络、和/或通过其他节点、设备和/或设备组件从任何实际或虚拟设备处获得。
方法300从操作302行进到操作304,在操作304,计算设备102可从数据110生成抽象关系模型212。以下参考图4来更加详细地描述从数据110生成抽象关系模型212。简言之,计算设备102可执行对数据110的深度分析以标识数据110的各数据元素214或其他部分之间的关系。
一些类型的信息以及数据110的一些实施例可以按基于流的安排来安排或组织,和/或可以其他方式不按逻辑和/或分层安排来安排。例如,诸如文字处理文档或演示的文档的每一幻灯片或页面可包括数据元素214,诸如标题、文本的一个或多个段落、一个或多个句子、一个或多个单词、一个或多个项目符号点、一个或多个标号列表、一个或多个表格、一个或多个图像和/或其他对象。在一些实例中,每一幻灯片或页面可涉及或提出不同的主题或子主题。在一些其他实例中,每一幻灯片或页面可涉及相同或相似的主题。因此,操作304可包括通过应用抽象关系模型212来确定和标识数据110的各个数据元素214或其他部分之间的关系。在一些实施例中,计算设备102通过执行剖析和理解模块200来提供本文中描述的与操作304有关的功能。应当理解,本实施例是说明性的,并且不应被解释为以任何方式进行限制。
在所构想的一个示例中,有十页的文档可在每一页上包括标题。该标题可由标有“标题”的框或域来指示,和/或可基于信息的位置、格式、尺寸、色彩、内容或其他方面而被确定为包括标题。由此,如果十页中的三页包括相同或相似的标题信息,则这三页可被认为是相关的,并且这三页上的信息可被确定为共享与标题的关系。在另一示例中,计算设备102可被配置为将导标下面的标号列表或项目符号列表认为与该导标相关。类似地,计算设备102可被配置为将列表内的标号项或项目符号项认为是彼此相关的。
因此,可领会,在操作304中,可使用文本、图像或其他数据的位置、尺寸、格式、内容和/或其他方面以及该数据相对于文档中的其他数据的相对定位、位置、格式、尺寸、内容或其他方面来确定数据之间的关系。由于构想了用于标识数据110的各个数据元素或其他部分之间的关系的许多其他方法,应当理解,这些实施例是说明性的,而不应被解释为以任何方式构成限制。以下参考图4来更加详细地示出和描述操作304的附加方面。
方法300从操作304行进至操作306,在操作306,计算设备102确定要应用于数据110的各变型。在操作306,计算设备102可检查在操作304确定的各关系以确定要如何呈现数据110。具体地,计算设备102可检查与数据110相关联的各个因素并确定如何将各变型添加到数据110。因此,例如,计算设备102可确定可被应用于数据110的视觉效果、设计和/或其他变型,以按各种方式来呈现在操作304确定的各关系。在所构想的一个实施例中,计算设备102通过执行变型模块204来提供本文中结合操作306来描述的功能。应当理解,本实施例是说明性的,并且不应被解释为以任何方式进行限制。
方法300从操作306行进到操作308,在操作308,计算设备102选定用于呈现数据110的世界210。如上所述,本文中使用的术语“世界”可包括可应用于数据110并用于生成输出112的可视化和/或主题的类型。在操作308,计算设备102可基于数据110的各个方面、在操作306标识出的变型、各数据元素214之间的关系和/或基于其他考虑来选择世界210。例如,计算设备102可被配置成检查:数据110的形状,诸如例如数据110的覆盖状态或品质;诸如演示或文档的数据110的长度;数据110中的文本图像比;数据110中的图像或其他媒体对象的数量;数据110中的文本字符、文字、句子、或段落等的总数;输出112的预期观众;用于查看输出112的预期地点;预期用于查看输出112的预期显示媒体(诸如显示设备);可查看输出112的位置;数据110内和/或各数据元素112之间的分层结构;在查看输出112或与输出112进行交互时可使用的输入机制;视觉对象或其他数据元素214(诸如,文本、或图像等)的相对尺寸;和/或数据110的其他方面。
在选择世界210时,计算设备102可考虑多个世界214,或可标识适合数据110和/或所确定的数据110和/或数据元素214的关系、分层结构、样式、形状和/或其他方面的单个世界210。因此,操作308可包括:从多个可用世界210中选择最高排名的世界210、基于各变型标识出单个世界210或接收指定特定世界210的输入。在所构想的一个实施例中,计算设备102通过执行世界选择器模块208来提供本文中结合操作308来描述的功能。应当理解,本实施例是说明性的,并且不应被解释为以任何方式进行限制。
方法300从操作308行进到操作310,在操作310,计算机设备102获得与所选定的世界210相关联的规则206。在操作310,计算设备102可将与所选择的世界210相关联的规则206应用于数据110。通过将规则206应用于数据110,计算设备102可被配置成按所设计的方式来呈现数据110。具体地,规则206可指定在特定世界210中将如何呈现数据110。因此,操作310可包括至少部分地基于在操作308所选定的世界210来获得规则206。
方法300从操作310行进到操作312,在操作312,计算机设备102应用在操作310获得的规则206。如上所述,计算设备102可将规则206应用于数据110以用与在操作308所选定的世界210相关联的格式或形式来格式化数据110。例如,规则206可定义文本将被呈现的字体、所显示的图像的尺寸或用于修改数据110以获得输出112的其他指令。应当理解,本实施例是说明性的,并且不应被解释为以任何方式进行限制。
方法300从操作312行进至操作314,在操作314,计算机设备102生成输出112。在操作314,计算设备102可将在操作306-312标识出的变型、世界210、和规则206应用于数据110。方法300从操作314行进至操作316,在操作316,计算机设备102呈现输出112。输出112可被呈现在例如与计算设备102和/或另一设备相关联的显示设备上。在一些实施例中,计算设备102可被配置成将输出112保存到数据存储设备以供稍后查看或演示,但是图3中没有示出这样的操作。出于描述本文中公开的概念和技术的各个实施例的目的,方法300是结合输出112被显示在与计算设备102相关联的显示设备上的实施例来描述的。应当理解,本实施例是说明性的,并且不应被解释为以任何方式进行限制。
方法300从操作316行进到操作318,在操作318,计算设备102确定是否将基于在计算设备102处接收到的反馈216来修改输出112。因此,尽管图3中没有示出,但方法300可包括用于在计算设备102处接收反馈216和/或用于提示用户或其他实体以得到关于输出112的反馈的操作。在一些实施例中,例如,输出112被呈现并且用户被提示以获得关于输出112的反馈216。例如,可向用户询问输出112是否是视觉上吸引人的、喜欢还是不喜欢特定色彩、喜欢还是不喜欢这些元素的布局、和/或其他问题。在一些实施例中,计算设备102接收关于输出112的几乎任何方面的反馈214和/或评论。
响应于在计算设备102处接收到的反馈216,计算设备102可确定输出112将被修改。另选地或替换地,计算设备102可基于反馈216来确定要修改应用于数据110的抽象关系模型212。例如,计算设备102可响应于反馈216来确定要修改输出112的色彩、布局、色彩方案、主题、样式或其他方面。计算设备102还可基于反馈216来确定要修改抽象关系模型212的节点、元素、连接符或其他方面。应当理解,在确定要修改抽象关系模型212或输出112时,计算设备102可确定抽象关系模型212和/或在操作306确定的变型和/或在操作308选定的世界210可分别被改变。由于输出112和/或抽象关系模型212的几乎任何方面都可被改变,所以应该理解,这些实施例是说明性的,而不应被解释成以任何方式构成限制。
如果计算设备102在操作318确定输出112将被修改,则方法300行进到操作320,在操作320,计算设备102修改输出112。如上所述,对输出112的修改可包括重新调整文本的大小、重新调整图像的大小、改变文本或图像的格式、改变文本字体、尺寸或色彩、改变世界210、改变可视化样式、改变变型或变型类型、和/或以其他方式修改输出112。由于可对输出112作出另外的或替换的修改,所以应该理解,这些实施例是说明性的,而不应被解释成以任何方式构成限制。
该方法从操作320返回操作312,在操作312,规则206可再次被应用以生成输出112。由此,可领会,方法300的操作312-320可被重复,直到在操作318的任何迭代中,计算设备102确定输出112不将被修改。如果计算设备102确定输出112不将被修改,则方法300行进到操作322。方法300在操作322处结束。
现转至图4,将详细讨论将抽象关系模型212应用于数据110的附加方面。具体地,图4示出了根据一些说明性实施例的用于使用抽象关系模型212来分析数据110和/或数据元素214的方法400的各方面。应该理解,图4中示出的方法400可但不一定由计算设备102在图3所示的方法300的操作304中执行。因此,所示出的实施例应当被理解为是说明性的,并且不应被解释为以任何方式构成限制。
方法400始于操作402,在操作402,计算设备102可被配置成确定抽象关系模型的内容元素,和/或从数据110确定用于构造抽象关系模型212的模式。因此,虽然在操作402没有显式地提到,但计算设备102可在操作402中执行对数据110的深度分析,以标识可用于从数据110构造抽象关系模型212的内容元素和/或模式。根据各实施例,计算设备102可被配置成至少部分地基于诸如以下的各种考虑来从数据110构造抽象关系模型212:例如与数据110相关联的文件类型、数据110的源、数据110的文件名或文件名扩展、要应用于数据110的抽象关系模型212的显式标识、配置、设置或偏好等。计算设备102还可被配置成基于用于确定抽象关系模型212的对数据110的分析来确定抽象关系模型212。由于对用于构造抽象关系模型212的模式的标识可按多种方式作出,应当理解,这些实施例是说明性的,并且不应被解释为以任何方式构成限制。
方法400从操作402前进到操作404,在操作404,计算设备102可应用抽象关系模型212来分析与数据110和/或数据元素214相关联的元数据和数据。针对特定类型或格式的数据110的抽象关系模型212可被定制成或以其他方式被配置成识别与数据110和/或数据元素214相关联的各种类型的元数据,并将这些元数据理解为指示各种类型的信息。例如,抽象关系模型212可被配置成识别元数据,诸如例如,文件名、创建日期、修改日期、作者信息、组织信息、位置信息、时间或数据信息、和/或可作为元数据与数据110和/或数据元素214存储在一起的其他信息。通过应用抽象关系模型212,如提供可能或可能未被显式地表示在数据110和/或数据元素214内的、用于理解数据110和/或数据元素214的信息,这些元数据可被理解。因此,计算设备102可被配置成通过应用抽象关系模型212来分析数据110的隐式方面。
计算设备102还可被配置成应用抽象关系模型212来分析数据110和/或数据元素214的显式方面。因此,计算设备102可分析数据110的显式方面,诸如文本中使用的实际单词;数据110中所包括的视频、图像或其他内容;或数据110中所包括的列表或列表内容等。尽管本文中参考操作404描述了对数据110和/或数据元素214进行的各种类型的分析,但应当理解,在操作404中可执行其他类型的分析。因此,所描述的示例是说明性的,并且不应当被认为是以任何方式构成限制。
数据可被分析来例如标识指示关系的单词。例如冒号(:)可被理解为指示该冒号之前和/或之后的各单词之间的关系。例如,冒号可被与该冒号之前的单词相关的项列表跟随。类似地,分号或其他标点标记指示关系。
类似地,文本的上下文可被理解为分层结构和/或关系。例如,计算设备102可被配置成基于对特定抽象关系模型212的应用来确定数据110和/或数据元素214内的标题和/或导标。文本的定位、大小和/或其他方面可被检测以标识标题和/或导标。因此,计算设备102可基于各种考虑(诸如例如,字体、字体大小、字体样式、放置、格式化、文本的实际内容和/或其他考虑)来标识标题和/或导标。由于文本的其他方面可用于标识标题和/或导标,所以应当理解,这些实施例是说明性的,而不应被解释成以任何方式构成限制。
其他数据(诸如图像、视频、文档、音频、背景、色彩、或色彩方案等)可被分析以指示关系和/或分层结构。由此,对数据110的以上类型的分析应当被理解为说明了某种构想的分析。因此,这些示例不应当被解释成以任何方式构成限制。
方法400从操作404行进到操作406,在操作406,计算设备102可应用抽象关系模型212来分析数据元素214的定位和/或放置。各个数据元素214的绝对和/或相对位置可被解释或可被分析以推断数据元素214之间的各种关系。例如,在幻灯片、页面、段落或其他数据元素214中心的文本部分可推断分层结构或关系(诸如标题、导标、副导标等),并由此推断与该文本部分下面的其他文本的关系。类似地,文本、图像、视频或其他数据的放置可推断或揭示各种关系。因此,在操作406,计算设备102可确定数据元素214的绝对或相对定位,并至少部分地基于该定位来确定这些数据元素214之间的关系。应当理解,本实施例是说明性的,并且不应被解释为以任何方式进行限制。
方法400从操作406行进到操作408,在操作408,计算设备102可应用抽象关系模型212以分析数据110和/或数据元素214的格式化。。文本、单词、句子、段落、列表、页面、图像、视频、嵌入的文件、背景、或色彩方案等的格式化可被分析以理解数据110和/或数据元素214。在各个实施例中,数据110/或数据元素214可包括经格式化的文本。因此,计算设备102可被配置成分析文本的格式化。
计算设备102可分析例如文本的字体大小以确定各文本元素之间的分层结构和/或其他关系。例如,计算设备102可被配置成认识到以某字体大小格式化的文本(即该文本以特定字体大小或更大的字体大小格式化、或该文本相对于数据110中的其他文本而言以更大的字体大小格式化)可指示文本元素之间的重要性、分层结构和/或另一关系。由此,以与其他文本相比有更大大小的文本部分可指示导标或标题,并因此可指示其他文本元素之间的关系(其中标题或导标可指示各文本元素之间的准确关系)。如上所述,除了相对字体大小以外或者替代相对字体大小,字体大小还可包括绝对字体大小。因此,例如,具有大于例如12点大小的字体的文本可被认为提供关于关系或分层结构的信息。由此,变换引擎108可被配置成基于相对或绝对文本大小来识别文本元素之间的关系。
此外,文本和/或文本字体可被分析以得到强调指示符,诸如例如大写化、斜体、下划线、加粗、闪烁、缩进、或特殊字符等。文本强调可指示数据110中的被强调的文本和其他文本之间的分层结构或其他关系。可被考虑的文本的其他方面包括但不限于大小、定位、或格式化等。强调还可基于文本的上下文来确定。例如,一些单词可指示强调。这样的单词可包括例如“重要的”、“提醒”、“笔记”、或“关键词”等。由于任何数目的设计方面和/或上下文线索都可用于确定强调,所以应该理解,这些实施例是说明性的,而不应被解释成以任何方式构成限制。
方法400从操作408行进到操作410,在操作410,计算设备102可应用抽象关系模型212来分析数据110和/或数据元素214内的群集。如本文中所使用的,术语“群集”可用于指代被确定为彼此相关和/或被确定为与其他数据或数据元素214共享关系的数据元素和/或数据元素的各部分的组、分组和/或其他集合。群集可包括但不限于图像、视频、文本框、或列表项的组。群集还可包括但不限于与单个标题、导标、或副导标或者相关的标题、导标、或副导标等相关的文本或其他对象。因此,群集可包括任何相关对象。应当理解,这些实施例是说明性的,而不应被解释为以任何方式构成限制。
方法400从操作410行进到操作412,在操作412中,计算设备102可应用抽象关系模型212来标识并分析与数据110和/或数据元素214相关联的概要或摘要。计算设备102可通过标识作为数据110和/或数据元素214的概要或摘要的内容的显式文本或标识符来标识概要或摘要。另选地或作为替换,计算设备102可基于数据110和/或数据元素214中所包括的隐式信息来标识概要或摘要。例如,计算设备102可被配置成将演示的提纲或议程标识为该演示的概要或摘要。在另一示例中,计算设备102可被配置成搜索标识如对应于概要或摘要的内容的元数据或标签。由于计算设备102可被配置成以另选地或替换方式来标识概要或摘要,所以应该理解,这些实施例是说明性的,而不应被解释成以任何方式构成限制。
方法400从操作412行进至操作414,在操作414,计算机设备102可输出抽象关系模型212。因此,在操作414,计算设备102可输出指示与数据110和/或数据元素214相关联的关系、强调和/或分层结构的数据,并且这些和/或其他信息可被体现为抽象关系模型212。输出关系和/或分层结构可至少部分地基于以上参考操作402-412描述的分析来生成。输出关系和/或分层结构可按与被应用于数据110和/或数据元素214的抽象关系模型相对应的树结构和链表的形式输出。因此,输出关系和/或分层结构可包括多个节点或群集或数据元素214。这些节点或群集可通过可定义或描述这些节点之间的关系、可描述或定义这些节点间的分层结构、可定义或描述强调、或者可标识、定义或描述规范标记等的分支或连接符联接在一起。因此,输出信息可被格式化成树结构或链表,其中这些节点及其关联的连接符可对应于树的各分支。以下参考图5示出并描绘了抽象关系模型和/或输出关系和/或分层结构的示意说明。
方法400从操作414行进至操作416。该方法可在操作416处结束。在其中本文中参考图4描述的功能由计算设备102与方法300的操作304相关联地执行的一些实施例中,计算设备102在执行了方法400后可在操作306恢复对方法300的执行。由于方法400可以与或可以不与方法300的执行相关联,所以应该理解,这个实施例是说明性的,不应被解释成以任何方式构成限制。
现在转向图5,将详细描述抽象关系模型212的附加方面。具体地,图5示意性地示出了根据本文中公开的概念和技术的一个说明性实施例的对应于说明性抽象关系模型212和/或使用抽象关系模型212来生成的输出关系和/或分层结构的树结构500。如图5中所显示的,树结构500可包括多个分组、集合、群集或节点(统称“节点”)502A-502E(此后统一地和/或一般地称为“节点502”)。
节点502可包括任何数目的元素504。各个节点502中所包括的元素504可定义要被安排在特定节点502中的数据元素214的类型和/或数据元素分组或其他对象的类型。如上所解释的,抽象关系模型212可定义用于剖析和/或理解数据110的规则并由此可定义将如何将数据110安排在各节点502中。类似地,由于输出关系和/或分层结构可被安排在与所应用的抽象关系模型212的树结构相对应的树结构中,元素504也可与以上详细描述的数据110的数据元素214和/或其他部分或元素相对应。例如,元素504可包括文本、文本框、单词、短语、句子、段落、图像、视频、列表、演示幻灯片、音频文件、或其他数据等。所示的节点502和所示的元素504仅说明一个实施例,并且因此节点502和/或元素504的数目和/或分组不应以任何方式被解释为构成限制。
树结构500可包括节点502及其相应的元素504,以及在这些节点502之间的将这些节点502联接在一起的连接符或分支(统称“连接符”)506。连接符506可指示、描述、定义和/或解释节点502和/或节点502内的元素504之间的关系。因此,例如,节点502B和节点502C-502D之间的连接符506可指示节点502B-502D之间的关系(诸如父/子关系)。应当理解,本实施例是说明性的,并且不应被解释为以任何方式进行限制。
在树结构500的一些实施例中,节点502之一可对应于锚节点。锚节点可对应于节点树(诸如树结构500)的开始或结束。在所示的实施例中,节点502A可对应于树结构500的锚节点,并因此可与树结构500中的其他节点502中的每一个相关。应当理解,本实施例是说明性的,并且不应被解释为以任何方式进行限制。
如以上所解释的,抽象关系模型212可被结构化成树,并可具有用于遍历与其相关联的树的规则。因此,树结构500可被非线性地遍历以允许用户以自定义次序导航通过与该抽象关系模型500相关联的树结构500。在一些实施例中,变换引擎108可被配置成生成树结构500和/或该树结构500的节点502中所包括的数据的概要。该概要可包括:树结构内的多个层级,每层级的单词计数,树结构的节点502和/或层级之间的关系,树结构内的多个图片、视频、音频和/或其他媒体,列表中文本的比例,和/或树结构500的其他统计和/或方面。
概要(图5中未示出)可被变换引擎108在引导世界选择器模块204在选定世界210时、在引导选择规则206以应用于数据110和/或世界210时和/或在将数据110变换成输出112的其他方面中使用。因此,可理解,本文中描述的树结构500可被变换引擎108用来提供本文中描述的用于将数据变换成可消费内容的功能。应当理解,本实施例是说明性的,并且不应被解释为以任何方式进行限制。
转至图6,将详细描绘从数据110生成抽象关系模型212的示例。如图6所示,根据一说明性实施例示出了示例演示幻灯片(“幻灯片”)600。虽然在图6中将幻灯片600示为数据110的示例,但通过以上的描述应当理解,根据本文中公开的概念和技术可分析各种类型的数据110。由此,所示出的示例应当被理解为是说明性的,并且不应被解释为以任何方式构成限制。
所示的幻灯片600包括标题602和副标题604。标题602和/或副标题604可对应于以上参考图4描述的导标和/或副导标。如以上所解释的,标题、副标题、导标或副导标等可提供可用于关联数据或数据元素的信息。在所示的实施例中,标题602可用于确定幻灯片600内的所有数据都涉及.net framework(.net框架)。类似地,副标题604可用于确定幻灯片600内的所有数据均涉及developing rich applications(开发富应用)。由此,标题602和副标题604可提供在幻灯片600的数据和/或数据元素之间的第一连接。应当理解,本实施例是说明性的,并且不应被解释为以任何方式进行限制。
幻灯片600还可包括列表606,诸如项目符号列表或标号列表。在所示的实施例中,列表606包括列表导标608,该列表导标608可用于确定幻灯片600中的各文本对象之间的关系。在所示的实施例中,列表导标608可被确定为描述列表606中的每一标号项目之间的关系。因此,文本“How.NET Provides CrossPlatform Support(.NET如何提供交叉平台支持)”可被计算设备102确定为在题为“roadmap for the presentation(演示的路标)”的组或群集内。如以上相对概要和/或摘要解释的,计算设备102还可被配置成确定“roadmap for thepresentation”对应于概要或摘要。由此,可理解,数据元素214的群集、组或节点可用于一个以上的目的,例如用作元素节点、用作概要或摘要和/或用于其他目的。
幻灯片600还包括演示信息610。由于本文中公开的概念和技术可用于分析任何类型的数据,所以应该理解,这个实施例是说明性的,不应被解释成以任何方式构成限制。在该说明性幻灯片600中,演示信息610包括作者或演讲者的名称、作出该演示的日期和该演示的位置。代替所示的演示信息610或除所示的演示信息610以外,该信息还可由元数据或其他数据来表示。演示信息610可用于进一步组织幻灯片600中所包括的数据元素214和/或多个幻灯片(未示出)。因此,如果期望的话,例如共享作者、位置或日期信息的多个文档或幻灯片可被认为是相关的。应当理解,本实施例是说明性的,并且不应被解释为以任何方式进行限制。
针对演示文件的抽象关系模型212可指定例如数据110的字体大小、定位、强调、项目符号列表、标号列表、列表导标、标题、副标题、图像、作者信息、位置信息、数据信息、背景、色彩、色彩方案、元数据内容、数据内容和/或其他方面如何影响对数据110的理解。在所示实施例中,标题602和/或副标题604可被表示为锚节点502中的元素504。因此,根据一些实施例,与锚节点502连接的任何节点502均可被理解为与锚节点502相关。应当理解,本实施例是说明性的,并且不应被解释为以任何方式进行限制。
列表606中的项可被表示为可连接到锚节点502的另一节点502的元素504,由此指示列表606与标题602相关。在其他节点502中,可根据计算设备102所应用的特定抽象关系模型212来组织幻灯片600中所包括的元数据和/或其他数据。应当理解,将抽象关系模型212应用于幻灯片600的这些实施例是说明性的,而不应被解释为以任何方式构成限制。
图7示出能够执行本文所描述的使用抽象关系模型将数据变换成可消费内容的软件组件的设备的说明性计算机体系架构700。由此,图7所示的计算机体系结构700示出服务器计算机、移动电话、PDA、智能电话、台式计算机、上网本计算机、平板计算机、和/或膝上型计算机的体系结构。计算机体系结构700可用于执行本文所呈现的软件组件的任何方面。
图7所示的计算机体系结构700包括中央处理单元702(“CPU”)、包括随机存取存储器704(“RAM”)和只读存储器(“ROM”)706的***存储器708、以及将存储器704耦合至CPU 702的***总线710。基本输入/输出***被存储在ROM 708中,该***包含帮助诸如在启动期间计算机体系结构700中的元件之间传递信息的基本例程。计算机体系结构700还包括用于存储操作***106以及一个或多个应用程序的大容量存储设备712,这些应用程序包括但不限于变换引擎108。尽管图7中未示出,但大容量存储设备712还可被配置成存储数据110、输出112、规则206、世界210、数据元素214、反馈216和/或其他应用、模块或本文中描述的其他信息。
大容量存储设备712通过连接至总线710的大容量存储控制器(未示出)连接至CPU 702。大容量存储设备712及其相关联的计算机可读介质为计算机体系结构700提供非易失性存储。虽然对此处包含的计算机可读介质的描述引用了诸如硬盘或CD-ROM驱动器之类的大容量存储设备,但是本领域的技术人员应该明白,计算机可读介质可以是可由计算机体系结构700访问的任何可用计算机存储介质或通信介质。
通信介质包括诸如载波或其它传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其它数据,且包含任何传递介质。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被更改或设定的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其他无线介质之类的无线介质。上述的任意组合也应包括在计算机可读介质的范围之内。
作为示例而非限制,计算机存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。例如,计算机介质包括但不限于,RAM、ROM、EPROM、EEPROM、闪存或其他固态存储器技术、CD-ROM、数字多功能盘(“DVD”)、HD-DVD、蓝光(BLU-RAY)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备、或能用于存储所需信息且可以由计算机体系结构700访问的任何其他介质。为了权利要求书的目的,短语“计算机存储介质”及其变型不包括波、信号和/或其他瞬态和/或无形通信介质本身。
根据各实施例,计算机体系架构700可以使用通过诸如网络104之类的网络到远程计算机的逻辑连接来在联网环境中操作。计算机体系结构700可以通过连接至总线710的网络接口单元714来连接到网络104。应当明白,网络接口单元714还可以被用来连接到其它类型的网络和远程计算机***,例如,数据源114。计算机体系结构700还可包括用于接收和处理来自多个其他设备的输入的输入/输出控制器716,这些设备包括键盘、鼠标、或电子指示笔(在图7中未示出)。类似地,输入/输出控制器716可提供到显示屏、打印机、或者其他类型的输出设备(在图7中也未示出)的输出。
应当理解,本文所描述的软件组件在被加载到CPU 702中并被执行时可以将CPU 702和总体计算机体系结构700从通用计算***变换成为方便本文所提出的功能而定制的专用计算***。CPU 702可以用任意数量的晶体管或其他分立的电路元件(它们可以分别地或共同地呈现任意数量的状态)构建。更具体地,CPU 702可以响应于包含在本文所公开的软件模块中的可执行指令来作为有限状态机进行操作。这些计算机可执行指令可以通过指定CPU 702如何在各状态之间转换来变换CPU 702,由此变换了构成CPU 702的晶体管或其它分立硬件元件。
对本文所提出的软件模块的编码也可变换本文所提出的计算机可读介质的物理结构。在本说明书的不同实现中,物理结构的具体转换可取决于各种因素。这样的因素的示例可以包括,但不仅限于:用于实现计算机可读介质的技术、计算机可读介质被表征为主存储器还是辅存储器等等。例如,如果计算机可读介质被实现为基于半导体的存储器,则本文所公开的软件可以通过变换半导体存储器的物理状态而在计算机可读介质上编码。例如,软件可以变换构成半导体存储器的晶体管、电容器或其它分立电路元件的状态。软件还可变换这些组件的物理状态以在其上存储数据。
作为另一示例,本文所公开的计算机可读介质可以使用磁或光技术来实现。在这些实现中,本文所提出的软件可以在磁或光介质中编码了软件时变换所述磁或光介质的物理状态。这些变换可包括更改给定磁性介质内的特定位置的磁性特征。这些变换还可以包括改变给定光学介质内的特定位置的物理特征或特性,以改变这些位置的光学特性。在没有偏离本说明书的范围和精神的情况下,物理介质的其他变换也是可以的,前面提供的示例只是为了便于此讨论。
鉴于以上内容,应当理解,在计算机体系结构700中发生许多类型的物理变换以便存储并执行本文所提出的软件组件。还应当理解,计算机体系结构700可包括其它类型的计算设备,包括手持式计算机、嵌入式计算机***、个人数字助理、以及本领域技术人员已知的其它类型的计算设备。还可以构想的是,计算机架构700可以不包括图7所示的全部组件,可以包括未在图7中明确示出的其它组件,或者可利用完全不同于图7所示的架构。
图8示出能够执行本文所描述的使用抽象关系模型将数据变换成可消费内容的软件组件的说明性分布式计算环境800。因而,图8所示的分布式计算环境800可被用来提供本文结合计算设备102描述的功能。分布式计算环境800由此可用于执行本文所呈现的软件组件的任何方面。
根据各种实现,分布式计算环境800包括在网络802上操作、与该网络通信、或者作为该网络的一部分的计算环境804。网络804还可包括各种接入网络。根据各种实现,网络804的功能由图1和4所示的网络104提供。一个或多个客户端设备806A-806N(在下文中统称和/或通称为“客户端806”)可经由网络804和/或其他连接(在图8中未示出)与计算环境802通信。在所示的实施例中,客户机806包括:诸如膝上型计算机、台式计算机、或其他计算设备之类的计算设备806A;板式或平板计算设备(“平板计算设备”)806B;诸如移动电话、智能电话、或其他移动计算设备之类的移动计算设备806C;服务器计算机806D;和/或其他设备806N。应当理解,任意数量的客户端806可与计算环境802通信。本文参照图4、6示出并描述客户端806的两个示例计算体系结构。应当理解,所示客户端806以及本文中示出和描述的计算体系结构是说明性的,并且不应被解释为以任何方式进行限制。
在所示的实施例中,计算环境802包括应用服务器808、数据存储810、以及一个或多个网络接口812。根据各种实现,应用服务器808的功能可由作为网络804一部分执行或者与该网络通信的一个或多个服务器计算机提供。应用服务器808可主存各种服务、虚拟机、门户、和/或其他资源。在所示的实施例中,应用服务器808主存一个或多个虚拟机814以供主存应用或其他功能。根据各个实现,虚拟机814主存用于提供本文描述的使用抽象关系模型将数据变换成可消费内容的功能的一个或多个应用和/或软件模块。应当理解,本实施例是说明性的,并且不应被解释为以任何方式进行限制。应用服务器808还主存或提供对一个或多个web门户、链接页面、网站、和/或其他信息(“web门户”)816的访问。
根据各种实现,应用服务器808还包括一个或多个邮箱服务818以及一个或多个消息收发服务820。邮箱服务818可包括电子邮件(“email”)服务。邮箱服务818还可包括各种个人信息管理(“PIM”)服务,包括但不限于日历服务、联系人管理服务、协作服务、和/或其他服务。消息收发服务820可包括但不限于即时消息收发服务、聊天服务、论坛服务、和/或其他通信服务。
应用服务器808还可包括一个或多个社交网络服务822。社交网络服务822可包括各种社交网络服务,包括但不限于用于共享或张贴状态更新、即时消息、链接、照片、视频、和/或其他信息的服务,用于评论或显示对文章、产品、博客、或其他资源的兴趣的服务,和/或其他服务。在一些实施例中,社交网络服务822可包括脸谱(FACEBOOK)社交网络服务、LINKEDIN专业人士网络服务、MYSPACE社交网络服务、FOURSQUARE地理网络服务、YAMMER办公同事网络服务等,或者可由这些服务提供。在其他实施例中,社交网络服务822可由其他服务、站点、和/或可明确或可不明确地称为社交网络供应商的供应商提供。例如,一些网站允许用户在各种活动和/或情境(诸如阅读已发表的文章、评论商品或服务、发表、协作、游戏等)期间经由电子邮件、聊天服务、和/或其他手段彼此交互。这些服务的示例包括但不限于来自美国华盛顿州雷蒙德市微软公司的WINDOWS LIVE服务和XBOX LIVE服务。其他服务也是可能的且是可构想的。
社交网络服务822还可以包括评论、博客、和/或微博服务。这种服务的示例包括但不限于YELP评论服务、KUDZU查看服务、OFFICETALK企业微博服务、TWITTER消息服务、GOOGLE BUZZ服务、和/或其他服务。应当理解,以上服务列表并非穷尽性的,并且为了简洁起见在本文中未提及多种附加和/或替换社交网络服务822。由此,以上实施例是说明性的,并且不应被解释为以任何方式进行限制。
如图8所示,应用服务器808还可主存其他服务、应用、门户、和/或其他资源(“其他资源”)824。因此应该明白,计算环境802可以提供本文公开并提供的概念和技术的集成,以通过各种邮箱、消息、社交网络、和/或其他服务或资源来使用抽象关系模型将数据变换成可消费内容。例如,本文中公开的概念和技术可用于应用与社交联网数据或邮箱数据相关联的抽象关系模型来生成体现那个数据的可消费内容。。类似地,本文中公开的概念和技术可用于使用于消息资源相关联的抽象关系模型来将消息或其他资源变换成可消费的视觉内容。应当理解,这些实施例是说明性的,而不应被解释为以任何方式构成限制。
如以上所提及的,计算环境802可包括数据存储810。根据各种实现,数据存储810的功能由在网络804上操作的或者与该网络通信的一个或多个数据库提供。数据存储810的功能也可由被配置成主存用于计算环境802的数据的一个或多个服务器计算机提供。数据存储810可包括、主存、或提供一个或多个实际或虚拟数据存储826A-826N(在下文中统称和/或通称为“数据存储826”)。数据存储826被配置成主存由应用服务器808使用或创建的数据和/或其他数据。虽然图8中未示出,但数据存储826还可主存或存储本文中描述的数据110、输出112、规则206、世界210、数据元素214、反馈216和/或其他数据、计算机可执行指令、或其他信息。
计算环境802可与网络接口812通信或由该网络接口访问。网络接口812可以包括用于支持包括但不限于客户端806和应用服务器808之类的两个或更多个计算设备之间的通信的各种类型的网络硬件和软件。应当理解,网络接口单元812还可用于连接到其他类型的网络和计算机***。
应当理解,本文中所描述的分布式计算环境800可向本文中所描述的软件元件的任何方面提供可被配置成执行本文中所公开的软件组件的任何方面的任意数量的虚拟计算资源和/或其他分布式计算功能。根据本文所公开概念和技术的多个实现,分布式计算环境800将本文中所述的软件功能作为服务提供给客户端806。应该理解,客户端806可以包括实际或虚拟机,包括但不限于服务器计算机、web服务器、个人计算机、移动计算设备、智能电话和/或其他设备。由此,本文公开的概念和技术的各个实施例使被配置成访问分布式计算环境800的任何设备能够使用本文中所述的功能来使用抽象关系模型将数据变换成可消费内容。
现在转到图9,示出能够执行本文所述的使用抽象关系模型将数据变换成可消费内容的各个软件组件的计算设备的计算设备体系架构900。计算设备体系架构900可适用于部分地由于形状因数、无线连接、和/或电池供电操作而便于移动计算的计算设备。在一些实施例中,计算设备包括但不限于移动电话、平板设备、板状设备、便携式视频游戏设备等。此外,计算设备体系架构900可用于图8所示的客户端906中的任一个。此外,计算设备体系架构900的多个方面可适用于传统的台式计算机、便携式计算机(例如,膝上型计算机、笔记本计算机、超便携计算机、以及上网本计算机)、服务器计算机、以及诸如参考图7所描述的其他计算机***。例如,本文中在以下所公开的单点触摸和多点触摸方面可应用于利用触摸屏或一些其他启用触摸的设备(诸如启用触摸的跟踪板或者启用触摸的鼠标)的台式计算机。
图9所示的计算设备体系架构900包括处理器902、存储器组件904、网络连接组件906、传感器组件908、输入/输出组件910、以及功率组件912。在所示的实施例中,处理器902与存储器组件904、网络连接组件906、传感器组件908、输入/输出(“I/O”)组件910、以及功率组件912通信。虽然在图9所示的单独的组件之间未示出连接,但是这些组件可交互以实现设备功能。在一些实施例中,这些组件被安排成经由一条或多条总线(未示出)通信。
处理器902包括中央处理单元(“CPU”),该CPU被配置成处理数据、执行一个或多个应用程序的计算机可执行指令、并且与计算设备体系结构900的其他组件通信以执行本文中所描述的各种功能。处理器902可用于执行本文中所描述的软件组件的多个方面,特别是至少部分地利用启用触摸的输入的那些方面。
在一些实施例中,处理器902包括被配置成加速由CPU执行的操作的图形处理单元(GPU),包括但不限于通过执行通用科学和工程计算应用以及图形密集的计算应用(诸如高分辨率视频(例如720P、1080P以及更高)、视频游戏、3D建模应用)等等而执行的操作。在一些实施例中,处理器902被配置成与分立的GPU(未示出)通信。在任一情况下,CPU和GPU可根据共同处理CPU/GPU计算模型来配置,其中应用的顺序部分在CPU上执行而计算密集部分由GPU加速。
在一些实施例中,处理器902连同在下文中所描述的其他组件中的一个或多个为片上***(“SoC”)或者包括在该SoC中。例如,Soc可包括处理器902、GPU、网络连接组件906中的一个或多个、以及传感器组件908中的一个或多个。在一些实施例中,可部分地利用层叠封装(“PoP”)集成电路封装技术来制造处理器902。此外,处理器902可以是单核或多核处理器。
处理器902可根据可从英国剑桥市ARM HOLDINGS许可购得的ARM体系结构来创建。替换地,处理器902可根据诸如可从美国加利福尼亚州芒廷维尤市英特尔公司购得的x86体系结构以及其他体系结构来创建。在一些实施例中,处理器902是可从美国加利福尼亚州圣地亚哥市高通公司购得的SNAPDRAGON SoC、可从美国加利福尼亚州圣巴巴拉市的NVIDIA购得的TEGRASoC、可从韩国首尔市三星公司购得的HUMMINGBIRD SoC、可从美国德克萨斯州达拉斯市德州仪器公司购得的开放式多媒体应用平台(“OMAP”)SoC、以上SoC中的任一个的定制版、或者专有SoC。
存储器组件904包括随机存取存储器(“RAM”)914、只读存储器(“ROM”)916、集成存储器(“集成存储”)918、以及可移动存储存储器(“可移动存储”)920。在一些实施例中,RAM 914或其一部分、ROM 916或其一部分、和/或RAM 914和ROM 916的某一组合可集成在处理器902中。在一些实施例中,ROM 916被配置成存储固件、操作***或其一部分(例如,操作***内核)、和/或从集成存储918或可移动存储920加载操作***内核的引导装入器(bootloader)。
集成存储918可包括固态存储器、硬盘、或者固态存储器和硬盘的组合。集成存储918可焊接或以其他方式连接到逻辑板,该逻辑板还可连接有处理器902以及本文中所描述的其他组件。由此,集成存储918集成在计算设备中。集成存储918被配置成存储操作***或其多个部分、应用程序、数据、以及本文中所描述的其他软件组件。
可移动存储920可包括固态存储器、硬盘、或者固态存储器和硬盘的组合。在一些实施例中,提供可移动存储920来代替集成存储918。在其他实施例中,提供可移动存储920作为附加的任选存储。在一些实施例中,可移动存储920在逻辑上与集成存储918组合,以使全部可用的存储变得可用且示出给用户作为集成存储918和可移动存储920的总组合容量。
可移动存储920被配置成***通过其***和紧固可移动存储920以便于连接的可移动存储存储器槽(未示出)或其他机构,通过该连接可移动存储920可与诸如处理器902之类的计算设备其他组件通信。可移动存储920可以具体化为各种存储器卡格式,包括但不限于PC卡、CompactFlash卡、存储器棒、安全数字(“SD”)、小型SD(miniSD)、微型SD(microSD)、通用集成电路卡(“UICC”)(例如,订户身份模块(“SIM”)或通用SIM(“USIM))、私有格式等。”
可以理解,存储器组件904的一个或多个可存储操作***。根据各个实施例,操作***包括但不限于来自SYMBIAN有限公司的SYMBIAN OS、来自美国华盛顿州雷蒙德市微软公司的WINDOWS MOBILE OS、来自微软公司的WINDOWS PHONE OS、来自微软公司的WINDOWS、来自美国加利福尼亚州帕洛阿尔托市惠普(Hewlett-Packard)公司的PALM WEBOS、来自加拿大安大略省沃特卢市的运动研究有限公司(Research IN Motion Limited)的BLACKBERRY OS、来自美国加利福尼亚州库珀蒂诺市苹果公司的IOS、以及来自美国加利福尼亚州芒廷维尤市谷歌公司的ANDROID OS。可构想其他操作***。
网络连接组件906包括无线广域网组件(“WWAN组件”)922、无线局域网组件(“WLAN组件”)924、以及无线个域网组件(“WPAN组件”)926。网络连接组件906便于与网络928的往返通信,该网络可以是WWAN、WLAN、或WPAN。虽然示出单个网络928,但是网络连接组件906可便于与多个网络的同时通信。例如,网络连接组件906可便于经由WWAN、WLAN、或WPAN中的一个或多个与多个网络的同时通信。
在一些实施例中,网络928的功能由网络104、804中的一个或多个提供。在一些实施例中,网络928包括网络104、804中的一个或多个。在一些其他实施例中,网络928提供对网络104、804中的一个或多个的访问。
网络928可以是WWAN,诸如利用一种或多种移动电信技术经由WWAN组件922向利用计算设备体系架构900的计算设备提供语音和/或数据服务的移动电信网络。移动电信技术可包括但不限于全球移动通信***(“GSM”)、码分多址(“CDMA”)***、CDMA2000、通用移动电信***(“UMTS”)、长期演进(“LTE”)、以及微波接入全球互通(“WiMax)。”此外,网络928可利用各种信道接入方法(它们可被或可不被上述标准使用),这些信道接入方法包括但不限于时分多址(“TDMA”)、频分多址(“FDMA”)、CDMA、宽带CDMA(“W-CDMA”)、正交频分多路复用(“OFDM”)、空分多址(“SDMA)等。”可使用通用分组无线电业务(“GPRS”)、全球演进的增强型数据速率(“EDGE”)、包括高速下行链路分组接入(“HSDPA”)、增强型上行链路(“EUL”)或者称为高速上行链路分组接入(“HSUPA”)的高速分组接入(“HSPA”)协议系列、演进HSPA(“HSPA+”)、LTE、以及各种其他当前和未来的无线数据接入标准来提供数据通信。网络928可被配置成通过以上技术的任意组合提供语音和/或数据通信。网络928可被配置成调适成根据未来的生成技术提供语音和/或数据通信。
在一些实施例中,WWAN组件922被配置成提供到网络928的双模、多模连接。例如,WWAN组件922可被配置成提供到网络928的连接,其中网络928经由GSM和UMTS技术、或者经由技术的一些其他组合提供服务。替换地,多个WWAN组件922可用于执行这种功能和/或提供附加功能以支持其他非兼容技术(即,无法被单个WWAN组件支持)。WWAN组件922可便于与多个网络(例如,UMTS网络和LTE网络)的类似连接。
网络928可以是根据一个或多个电气和电子工程师学会(“IEEE”)802.11标准(诸如IEEE 802.11a、802.11b、802.11g、802.11n、和/或未来的802.11标准(在此被称为WI-FI))而操作的WLAN。还可构想802.11标准草案。在一些实施例中,利用一个或多个无线WI-FI接入点来实现WLAN。在一些实施例中,用作WI-FI热点的一个或多个无线WI-FI接入点是与WWAN连接的另一计算设备。WLAN组件924被配置成经由WI-FI接入点连接到网络928。可经由加密技术来确保这些连接,这些加密技术包括但不限于WI-FI保护接入(“WPA”)、WPA2、有线等效加密(“WEP)等。”
网络928可以是根据红外数据协会(“IrDA”)、BLUETOOTH、无线通用串行总线(“USB”)、Z-波、ZIGBEE、或者一些其他近程无线技术操作的WPAN。在一些实施例中,WPAN组件926被配置成便于经由WPAN与诸如***设备、计算机、或者其他计算设备之类的其他设备的通信。
传感器组件908包括磁力计930、环境光传感器932、邻近传感器934、加速度计936、陀螺仪938、以及全球定位***传感器(“GPS传感器”)940。可构想其他传感器(诸如但不限于温度传感器或震动检测传感器)也可结合到计算设备体系结构900中。
磁力计930被配置成测量磁场的强度和方向。在一些实施例中,磁力计930提供对存储在存储器组件904之一内的罗盘应用程序的测量以向用户提供包括基本方向、北、南、东和西的基准帧中的准确方向。可将类似的测量值提供给包括罗盘组件的导航应用程序。可构想磁力计930所获取的测量值的其他用途。
环境光传感器932被配置成测量环境光。在一些实施例中,环境光传感器932提供对存储在一个存储器组件904内的应用程序的测量,从而自动地调整显示器的亮度(在下文中描述)以补偿低光和高光环境。可构想环境光传感器932所获取的测量值的其他用途。
邻近传感器934被配置成检测邻近计算设备而不直接接触的对象或物体的存在。在一些实施例中,邻近传感器934检测用户身体(例如,用户的脸部)的存在性,并且将该信息提供给存储在存储器组件904之一内的应用程序,该存储器组件利用邻近信息来启用或禁用计算设备的一些功能。例如,电话应用程序可响应于接收到邻近信息自动地禁用触摸屏(在下文中描述),以使用户的脸部在呼叫期间不会无意地结束呼叫或者启用/禁用电话应用程序内的其他功能。可构想如邻近传感器934检测到的接近度的其他用途。
加速度计936被配置成测量准确的加速。在一些实施例中,来自加速度计936的输出被应用程序作为输入机制以控制应用程序的一些功能。例如,应用程序可以是视频游戏,其中响应于经由加速度计936接收到的输入移动或以其他方式操纵字符、其一部分、或者对象。在一些实施例中,将来自加速度计936的输出被提供给应用程序以供在横向和纵向模式之间切换时使用,从而计算坐标加速或检测下降。可构想加速度计936的其他用途。
陀螺仪938被配置成测量和维持定向。在一些实施例中,来自陀螺仪938的输出被应用程序作为输入机制以控制应用程序的一些功能。例如,陀螺仪938可用于准确地识别在视频游戏应用或一些其他应用的3D环境内的移动。在一些实施例中,应用程序利用来自陀螺仪938和加速度计936的输出来增强对应用程序的一些功能的控制。可构想陀螺仪938的其他用途。
GPS传感器940被配置成接收来自GPS卫星的信号,以供在计算位置时使用。GPS传感器940计算的位置可被需要位置信息或者受益于该位置信息的任何应用程序使用。例如,GPS传感器940计算的位置可与导航应用程序一起使用,以提供从该位置到目的地的方向、或者从目的地到该位置的方向。此外,GPS传感器940可用于将位置信息提供给基于外部位置的服务,诸如E911服务。GPS传感器940可在获取位置方位时利用网络连接组件906中的一个或多个来辅助GPS传感器940获取经由WI-FI、WIMAX、和/或蜂窝三角测量技术而生成的位置信息。GPS传感器940还可用于辅助GPS(“A-GPS”)***中。
I/O组件910包括显示器942、触摸屏944、数据I/O接口组件(“数据I/O”)946、音频I/O接口组件(“音频I/O”)948、视频I/O接口组件(“视频I/O”)950、以及相机952。在一些实施例中,显示器942和触摸屏944组合。在一些实施例中,数据I/O组件946、音频I/O组件948、以及视频I/O组件950中的两个或更多个组合。I/O组件910可包括被配置成支持在下文中所描述的各种接口的分立处理器,或者可包括构建到处理器902中的处理功能。
显示器942是被配置成呈现视觉形式的信息的输出设备。具体而言,显示器942可呈现图形用户界面(“GUI”)元素、文本、图像、视频、通知、虚拟按钮、虚拟键盘、消息收发数据、因特网内容、设备状态、时间、日期、日历数据、偏好、地图信息、位置信息、以及能够以视觉形式呈现的任何其他信息。在一些实施例中,显示器942是利用任何有源或无源矩阵技术以及任何背光技术(如果使用的话)的液晶显示器件(“LCD”)。在一些实施例中,显示器942是有机发光二极管(“OLED”)显示器。可构想其他显示器类型。
触摸屏944是被配置成检测触摸的存在和位置的输入设备。触摸屏944可以是电阻触摸屏、电容触摸屏、表面声波触摸屏、红外触摸屏、光学成像触摸屏、色散信号触摸屏、声音脉冲识别触摸屏,或者可利用任何其他触摸屏技术。在一些实施例中,触摸屏944结合到显示器942的顶部作为透明层,以使用户能够使用一个或多个触摸与显示器942上所呈现的对象或其他信息交互。在其他实施例中,触摸屏944是结合到不包括显示器942的计算设备的表面上的触摸垫。例如,计算设备可具有结合到显示器942的顶部的触摸屏以及与显示器942相对的表面上的触摸垫。
在一些实施例中,触摸屏944是单点触摸触摸屏。在其他实施例中,触摸屏944是多点触摸触摸屏。在一些实施例中,触摸屏944被配置成检测分立触摸、单点触摸姿势、和/或多点触摸姿势。为了方便起见,这些在此处被统称为姿势。现在将描述若干姿势。应当理解,这些姿势是说明性的,并且不旨在限制所附权利要求书的范围。此外,所描述的姿势、附加姿势、和/或替换姿势可在软件中实现以与触摸屏944一起使用。由此,开发者可创建特定应用程序专用的姿势。
在一些实施例中,触摸屏944支持轻叩姿势,其中用户在显示器942上所呈现的项目上轻叩触摸屏944一次。出于各种原因,可使用轻叩姿势,这些原因包括但不限于打开或启动用户轻叩的任何事物。在一些实施例中,触摸屏944支持双轻叩姿势,其中用户在显示器942上所呈现的项目上轻叩触摸屏944两次。出于各种原因,可使用双轻叩姿势,这些原因包括但不限于分多级放大或缩小。在一些实施例中,触摸屏944支持轻叩并保持姿势,其中用户轻叩触摸屏944并维持接触达至少预定义时间。出于各种原因,可使用轻叩并保持姿势,这些原因包括但不限于打开上下文特定的菜单。
在一些实施例中,触摸屏944支持平移姿势,其中用户将手指放置在触摸屏944上并维持与触摸屏944的接触,同时在触摸屏944上移动手指。出于各种原因,可使用平移姿势,这些原因包括但不限于以受控速率移动通过屏幕、图像、或菜单。还可构想多手指平移姿势。在一些实施例中,触摸屏944支持轻拂姿势,其中用户在用户想要屏幕移动的方向上划动(swipe)手指。出于各种原因,可使用轻拂姿势,这些原因包括但不限于水平或垂直滚动通过菜单和页面。在一些实施例中,触摸屏944支持收窄和张开姿势,其中用户在触摸屏944上用两个手指(例如,拇指和食指)进行收窄运动或者将两个手指张开。出于各种原因,可使用收窄和张开姿势,这些原因包括但不限于逐步地放大或缩小网站、地图、或图片。
虽然已参考将一个或多个手指用于执行姿势来描述了以上姿势,但是诸如脚趾之类的其他附属体以及诸如指示笔之类的物体可用于与触摸屏944交互。如此,以上姿势应当被理解为说明性的,并且不应被解释为以任何方式进行限制。
数据I/O接口组件946被配置成便于数据输入到计算设备以及从计算设备输出数据。在一些实施例中,例如出于同步操作的目的,数据I/O接口组件946包括被配置成提供计算设备和计算机***之间的有线连接的连接器。连接器可以是专有连接器或标准化连接器,诸如USB、微型USB、小型USB等。在一些实施例中,连接器是用于将计算设备与诸如对接站、音频设备(例如,数字音乐播放器)、或视频设备之类的另一设备对接的对接连接器。
音频I/O接口组件948被配置成向计算设备提供音频输入和/或输出能力。在一些实施例中,音频I/O接口组件946包括被配置成收集音频信号的话筒。在一些实施例中,音频I/O接口组件946包括被配置成向耳机或其他外部扬声器提供连接的耳机插孔。在一些实施例中,音频接口组件948包括用于输出音频信号的扬声器。在一些实施例中,音频I/O接口组件946包括光学音频电缆输出。
视频I/O接口组件950被配置成向计算设备提供视频输入和/或输出能力。在一些实施例中,视频I/O接口组件950包括被配置成接收视频作为来自另一设备(例如,诸如DVD或蓝光播放器之类的视频媒体播放器)的输入或者将视频作为输出发送到另一设备(例如,监视器、电视、或者一些其他外部显示器)的视频连接器。在一些实施例中,视频I/O接口组件950包括高清晰度多媒体接口(“HDMI”)、小型HDMI、微型HDMI、显示器端口、或者到输入/输出视频内容的专有连接器。在一些实施例中,视频I/O接口组件950或其一部分与音频I/O接口组件948或其一部分组合。
相机952可被配置成捕捉静止图像和/或视频。相机952可利用电荷耦合设备(“CCD”)或互补金属氧化物半导体(“CMOS)图像传感器来捕捉图像。”在一些实施例中,相机952包括在低光环境中辅助拍摄图片的闪光灯。相机952的设置可被实现为硬件或软件按钮。
虽然未示出,但是还可在计算设备体系结构900中包括一个或多个硬件按钮。硬件按钮可用于控制计算设备的一些操作方面。硬件按钮可以是专用按钮或多用途按钮。硬件按钮可以是基于机械或传感器的。
所示的功率组件912包括可连接到电池量表(gauge)956的一个或多个电池954。电池954可以是再充电的或者一次性的。再充电的电池类型包括但不限于锂聚合物、锂电池、镍镉、以及镍金属氢化物。每一电池954可由一个或多个电池单元制成。
电池量表956可被配置成测量电池参数,诸如电流、电压、以及温度。在一些实施例中,电池量表956被配置成测量电池的放电速率、温度、使用年限、以及其他因素的影响以在特定百分比误差内预测剩余寿命。在一些实施例中,电池量表956向应用程序提供测量值,该应用程序被配置成利用这些测量值将有用的功率管理数据呈现给用户。功率管理数据可包括所使用电池的百分比、剩余电池的百分比、电池状况、剩余时间、剩余电容量(例如,瓦时)、电流消耗、以及电压中的一个或多个。
功率组件912还可包括功率连接器,该功率连接器可与上述I/O组件910中的一个或多个组合。电源组件912可经由功率I/O组件944与外部功率***或充电装备对接。
基于上述内容,应当领会,本文已经公开了针对用于将数据变换成可消费内容的抽象关系模型的技术。虽然用计算机结构特征、方法和变换动作、特定计算机器、以及计算机可读介质专用的语言描述了本文中所描述的主题,但是应当理解,所附权利要求书中所定义的本发明不必限于本文中所描述的具体特征、动作、或介质。相反,这些具体特征、动作以及介质是作为实现权利要求的示例形式而公开的。
以上所述的主题仅作为说明提供,并且不应被解释为限制。可对本文中所描述的主题作出各种修改和改变,而不必遵循示出和描述的示例实施例和应用且不背离所附权利要求书中所阐述的本发明的真正精神和范围。

Claims (10)

1.一种用于变换数据的计算机实现的方法,所述计算机实现的方法包括执行计算机的实现的操作以用于:
在计算设备处获得包括多个数据元素的数据;
分析所述数据以标识所述多个数据元素之间的关系;
至少部分地基于所述关系来生成对应于所述数据的抽象关系模型;以及
输出所述抽象关系模型。
2.如权利要求1所述的方法,其特征在于,进一步包括:
至少部分地基于所述关系来确定世界,所述世界定义要应用于所述多个数据元素的可视化模型;
获得用于将所述世界应用于所述数据的规则;以及
将所述规则应用于所述数据以生成输出,所述输出包括根据所述世界来安排的所述多个数据元素中的至少一个。
3.如权利要求2所述的方法,其特征在于,进一步包括:
在与所述计算设备相关联的显示设备处呈现所述输出;以及
从所述计算设备的用户处获得反馈。
4.如权利要求3所述的方法,其特征在于,进一步包括:
至少部分地基于所述反馈来确定是否要修改所述抽象关系模型;以及
响应于确定要修改所述抽象关系模型,根据所述反馈来修改所述抽象关系模型。
5.如权利要求1所述的方法,其特征在于,所述抽象关系模型是至少部分地基于与所述数据相关联的数据类型来生成的。
6.如权利要求1所述的方法,其特征在于,所述抽象关系模型包括多个节点以及在所述多个节点中的至少两个节点之间的连接符,所述节点中的每一个都具有至少一个元素。
7.一种其上存储有计算机可读指令的计算机存储介质,所述指令在由计算机执行时致使所述计算机:
获得包括多个数据元素的数据;
分析所述数据以标识所述多个数据元素之间的关系;
基于所述关系来生成对应于所述数据的抽象关系模型;
输出所述抽象关系模型;
至少部分地基于所述关系来确定世界,所述世界定义要应用于所述多个数据元素的可视化模型;
获得用于将所述数据应用于所述世界的规则;以及
将所述规则应用于所述数据以生成输出,所述输出包括根据所述世界来安排的所述多个数据元素。
8.如权利要求7所述的计算机存储介质,其特征在于,进一步包括在由所述计算机执行时将使得所述计算机执行以下动作的计算机可读指令:
在与所述计算机相关联的显示设备处呈现所述输出;
从所述计算机的用户处获得反馈;以及
基于所述反馈确定是否要修改所述抽象关系模型。
9.如权利要求8所述的计算机存储介质,其特征在于,所述计算机执行变换引擎,所述变换引擎包括:
被配置成生成所述抽象关系模型的剖析和理解模块,
用于确定所述数据元素的变型的变型模块,
用于确定所述世界的世界选择器模块,以及
用于获得所述反馈并确定是否要修改所述输出或所述抽象关系模型中的至少一个的创作模块。
10.如权利要求9所述的计算机存储介质,其特征在于,所述关系包括所述多个数据元素之间的分层结构。
CN201380038452.2A 2012-07-18 2013-07-17 用于将数据变换成可消费内容的抽象关系模型 Pending CN104471565A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/551,638 US20140025650A1 (en) 2012-07-18 2012-07-18 Abstract relational model for transforming data into consumable content
US13/551,638 2012-07-18
PCT/US2013/050961 WO2014015081A2 (en) 2012-07-18 2013-07-17 Abstract relational model for transforming data into consumable content

Publications (1)

Publication Number Publication Date
CN104471565A true CN104471565A (zh) 2015-03-25

Family

ID=48948488

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380038452.2A Pending CN104471565A (zh) 2012-07-18 2013-07-17 用于将数据变换成可消费内容的抽象关系模型

Country Status (4)

Country Link
US (1) US20140025650A1 (zh)
EP (1) EP2875448A2 (zh)
CN (1) CN104471565A (zh)
WO (1) WO2014015081A2 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109817325A (zh) * 2017-11-20 2019-05-28 皇家飞利浦有限公司 对象进展的统计学分析以及影响数字内容的响应生成
CN109964255A (zh) * 2016-08-12 2019-07-02 微软技术许可有限责任公司 使用3d视频数据的3d打印
CN111738250A (zh) * 2020-08-26 2020-10-02 北京易真学思教育科技有限公司 文本检测方法、装置、电子设备及计算机存储介质

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8504568B2 (en) * 2009-01-08 2013-08-06 Fluid Operations Gmbh Collaborative workbench for managing data from heterogeneous sources
WO2012092407A2 (en) * 2011-01-01 2012-07-05 Borovyk Valeriy Wireless ad-hoc network facilitating social interactions among plurality of users
US8990140B2 (en) 2012-06-08 2015-03-24 Microsoft Technology Licensing, Llc Transforming data into consumable content
US9183163B2 (en) 2012-06-27 2015-11-10 Ubiquiti Networks, Inc. Method and apparatus for distributed control of an interfacing-device network
US9595298B2 (en) 2012-07-18 2017-03-14 Microsoft Technology Licensing, Llc Transforming data to create layouts
US9009092B2 (en) 2012-07-19 2015-04-14 Microsoft Technology Licensing, Llc Creating variations when transforming data into consumable content
WO2014027999A1 (en) * 2012-08-14 2014-02-20 Empire Technology Development Llc Dynamic content preview
JP6008695B2 (ja) * 2012-11-01 2016-10-19 株式会社日立製作所 電力系統設備データモデル変換方法、電力系統設備データモデル変換装置及び電力系統設備データモデル変換プログラム
US10282075B2 (en) 2013-06-24 2019-05-07 Microsoft Technology Licensing, Llc Automatic presentation of slide design suggestions
DE102013110571A1 (de) * 2013-09-24 2015-03-26 Iqser Ip Ag Automatische Datenharmonisierung
US11790154B2 (en) 2013-10-09 2023-10-17 Interactive Solutions Corp. Mobile terminal device, slide information managing system, and a control method of mobile terminal
JP6465372B2 (ja) * 2013-10-09 2019-02-06 株式会社インタラクティブソリューションズ 携帯端末装置、スライド情報管理システム及び携帯端末の制御方法
US20150127505A1 (en) * 2013-10-11 2015-05-07 Capital One Financial Corporation System and method for generating and transforming data presentation
US20150154279A1 (en) * 2013-12-04 2015-06-04 Electronics And Telecommunications Research Institute Apparatus and method for building relation model based on resource management architecture
EP2921970B1 (en) * 2014-03-18 2017-04-26 smartwork solutions GmbH Method and system for editing virtual documents
WO2015164408A1 (en) 2014-04-21 2015-10-29 Gaco Western, LLC Foam compositions
US9356913B2 (en) 2014-06-30 2016-05-31 Microsoft Technology Licensing, Llc Authorization of joining of transformation chain instances
US9659394B2 (en) * 2014-06-30 2017-05-23 Microsoft Technology Licensing, Llc Cinematization of output in compound device environment
US9396698B2 (en) 2014-06-30 2016-07-19 Microsoft Technology Licensing, Llc Compound application presentation across multiple devices
US9773070B2 (en) 2014-06-30 2017-09-26 Microsoft Technology Licensing, Llc Compound transformation chain application across multiple devices
US9626768B2 (en) 2014-09-30 2017-04-18 Microsoft Technology Licensing, Llc Optimizing a visual perspective of media
US10282069B2 (en) 2014-09-30 2019-05-07 Microsoft Technology Licensing, Llc Dynamic presentation of suggested content
US20160092419A1 (en) * 2014-09-30 2016-03-31 Microsoft Technology Licensing, Llc Structured Sample Authoring Content
WO2016099318A2 (ru) * 2014-12-19 2016-06-23 Сергей Анатольевич ГОРИШНИЙ Система и способ управления функционально связанными данными
CN106030570B (zh) * 2014-12-23 2020-09-29 微软技术许可有限责任公司 显现数据集间的关系
US9514205B1 (en) * 2015-09-04 2016-12-06 Palantir Technologies Inc. Systems and methods for importing data from electronic data files
US10534748B2 (en) 2015-11-13 2020-01-14 Microsoft Technology Licensing, Llc Content file suggestions
US9824291B2 (en) 2015-11-13 2017-11-21 Microsoft Technology Licensing, Llc Image analysis based color suggestions
US10528547B2 (en) 2015-11-13 2020-01-07 Microsoft Technology Licensing, Llc Transferring files
US11049161B2 (en) * 2016-06-20 2021-06-29 Mimeo.Com, Inc. Brand-based product management with branding analysis
US10380228B2 (en) 2017-02-10 2019-08-13 Microsoft Technology Licensing, Llc Output generation based on semantic expressions
US11263263B2 (en) 2018-05-30 2022-03-01 Palantir Technologies Inc. Data propagation and mapping system
US11386112B2 (en) 2018-08-08 2022-07-12 Microsoft Technology Licensing, Llc Visualization platform for reusable data chunks
EP3782711B1 (en) 2019-08-19 2022-04-27 Alfa Laval Moatti Filtering unit with improved cover assembly
US11717756B2 (en) * 2020-09-11 2023-08-08 Sony Group Corporation Content, orchestration, management and programming system
CN113743082B (zh) * 2021-09-16 2024-04-05 京东科技信息技术有限公司 一种数据处理方法、***、存储介质及电子设备
CN116263802B (zh) * 2022-03-14 2023-08-29 横琴人寿保险有限公司 一种基于金融领域的计算引擎***

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120095863A1 (en) * 2010-10-15 2012-04-19 Ness Computing, Inc. Computer system and method for analyzing data sets and providing personalized recommendations
CN102663010A (zh) * 2012-03-20 2012-09-12 复旦大学 基于标注语义的个性化图像浏览与推荐方法及***

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6392671B1 (en) * 1998-10-27 2002-05-21 Lawrence F. Glaser Computer pointing device having theme identification means
US7076737B2 (en) * 1998-12-18 2006-07-11 Tangis Corporation Thematic response to a computer user's context, such as by a wearable personal computer
US20060048042A1 (en) * 2004-08-30 2006-03-02 Xerox Corporation Individually personalized customized report document system with user feedback
US9262385B2 (en) * 2012-05-16 2016-02-16 Sap Portals Israel Ltd Automatic retrieval of themes and other digital assets from an organizational website

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120095863A1 (en) * 2010-10-15 2012-04-19 Ness Computing, Inc. Computer system and method for analyzing data sets and providing personalized recommendations
CN102663010A (zh) * 2012-03-20 2012-09-12 复旦大学 基于标注语义的个性化图像浏览与推荐方法及***

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
JELENA JOVANOVIć ET AL: "Automating Semantic Annotation to Enable Learning Content Adaptation", 《ADAPTIVE HYPERMEDIA AND ADAPTIVE WEB-BASED SYSTEMS》 *
JELENA JOVANOVIć ET AL: "Ontology-Based Automatic Annotation of Learning Content", 《INT’L JOURNAL ON SEMANTIC WEB & INFORMATION SYSTEMS》 *
SYED SIBTE RAZA ABIDI: "Intelligent Information Personalization: From Issues to Strategies", 《INTELLIGENT USER INTERFACES: ADAPTATION AND PERSONALIZATION SYSTEMS AND TECHNOLOGIES》 *
戚欣 等: "基于本体知识库的自动语义标注", 《计算机应用研究》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109964255A (zh) * 2016-08-12 2019-07-02 微软技术许可有限责任公司 使用3d视频数据的3d打印
CN109817325A (zh) * 2017-11-20 2019-05-28 皇家飞利浦有限公司 对象进展的统计学分析以及影响数字内容的响应生成
CN111738250A (zh) * 2020-08-26 2020-10-02 北京易真学思教育科技有限公司 文本检测方法、装置、电子设备及计算机存储介质
CN111738250B (zh) * 2020-08-26 2020-12-01 北京易真学思教育科技有限公司 文本检测方法、装置、电子设备及计算机存储介质

Also Published As

Publication number Publication date
WO2014015081A2 (en) 2014-01-23
WO2014015081A3 (en) 2014-03-20
EP2875448A2 (en) 2015-05-27
US20140025650A1 (en) 2014-01-23

Similar Documents

Publication Publication Date Title
CN104471565A (zh) 用于将数据变换成可消费内容的抽象关系模型
CN104350493B (zh) 将数据变换成可消费的内容
CN104471564B (zh) 在将数据变换成可消费内容时创建变型
CN107077460A (zh) 结构化样本创作内容
CN106796582A (zh) 建议内容的动态呈现
CN106796581A (zh) 用于内容数据的布局的基于用户意图的生成
CN106796518A (zh) 基于意图的反馈
CN106537371B (zh) 可视化建议
CN104520852A (zh) 在电子表格应用中生成场景和巡演
CN107077458A (zh) 推断布局意图
CN106663091B (zh) 摘要数据自动填充
US11314408B2 (en) Computationally efficient human-computer interface for collaborative modification of content
US10839148B2 (en) Coordination of storyline content composed in multiple productivity applications

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20150325

WD01 Invention patent application deemed withdrawn after publication