推断布局意图的制作方法

文档序号:11530731阅读:215来源:国知局
推断布局意图的制造方法与工艺



背景技术:

当今电子文档中的大多数类型的内容已经使用明确格式化信息而不是格式意图信息来定义。例如,演示文档可以包括已被明确格式化为粗体或斜体的文本,而不是被定义为强调的文本。作为另一示例,文字处理文档可以包括明确地指示两个图像应当被放置在页面上的特定位置中的数据而不是指示图像意在作为前后比较而并排呈现的数据。

当尝试改变意图或重新布局已经使用明确格式化信息而不是格式意图信息定义的文档内容时,可能难以在具有显著不同的显示大小、能力和/或宽高比的设备上最佳地呈现文档内容。例如,使用明确格式化信息来定义以在纵向方向上适合8.5"×11"打印页面的文档中的内容可能难以以横向打印模式呈现在智能手机或平板设备上。当试图呈现使用明确格式化信息而不是格式意图信息来定义的文档内容时,也可能存在其他挑战。

关于这些考虑和其他考虑,提出了本文做出的公开内容。



技术实现要素:

本文描述了推断布局意图的技术。通过实现本文所公开的技术,可以从明确格式化的文档元素中推断文档作者的布局意图(本文中其也可以被称为“表达意图”或“作者的格式化意图”)。然后可以使用针对文档中的明确格式化的文档元素的推断的布局意图来生成基于意图的文档。然后可以利用该基于意图的文档来以保留文档作者的原始布局意图的方式有效地呈现文档。此外,因为基于意图的文档是根据布局意图而不是通过使用明确格式化来定义的,所以可以以各种尺寸和方向,并且可以在不同类型的具有不同屏幕类型和高宽比的设备上有效地呈现文档。此外,在一些配置中,文档中的内容元素的意境(mood)和/或样式可以被修改,同时仍然保留文档作者的原始格式化意图。

为了从具有明确格式化的文档元素的文档中生成基于意图的文档,在一些配置中首先确定文档的布局类型。例如,但不限于此,启发式算法和/或机器学习分类器可以用于确定文档的布局是否为“纸状的”或“演示状的”。机器学习分类器可以是基于人类对训练文档构成的语料库中的文档布局的分类来训练。

一般而言,纸状的文档布局是意在以从上到下的方式(例如,以英语语言)被线性消费的布局。演示状的文档布局通常包括意在按顺序示出的离散“幻灯片”。演示状的文档布局还通常具有以与纸状的文档布局中重复内容不同的方式从幻灯片到幻灯片重复的内容。还可以在其他配置中识别除了纸状的和演示状的布局之外的文档布局类型。

一旦文档的布局类型已经确定,就可以确定文档中明确格式化的文档元素的布局意图。例如但不限于此,文本(包括格式化属性)可以被区分和聚类。另外,可以利用频率和/或统计知识来将意图分配给不同的聚类。还可以确定文档中的明确格式化的粗体或斜体文本旨在提供对文本的强调。例如,文档可能具有除了是非斜体格式的语块或单词外其所有文本为斜体。在这种情况下,斜体文本可能被认为是非强调的,并且太频繁的非斜体文本可能被认为是强调。可替代地,可以确定明确格式化的粗体或斜体文本旨在建立节主题、文档的标题或指定直接引用。

在一些配置中,文档元素之间的二维(“2d”)和/或三维(“3d”)空间关系可以用于推断文档作者关于那些元素或其他元素的布局意图。同样地,例如,演示状的文档中的文档元素之间的时间关系可以用于推断文档作者关于那些文档元素或其他文档元素的布局意图。还可以以其他方式确定文档作者关于明确格式化的文档元素的各种其他类型的布局意图。

在一些配置中,一个或多个启发式算法和/或一个或多个机器学习分类器确定文档中明确格式化的文档元素的布局意图。例如,但不限于此,启发式算法可以检查文档中的文档元素的模式或配置,以确定针对包含在其中的明确格式化的文档元素的推断的布局意图。

用于推断布局意图的启发式算法和/或机器学习分类器可以基于包含明确格式化的文档元素的文档的所确定的布局类型来选择和/或配置。以这种方式,用于推断该明确格式化的文档元素的布局意图的软件部件可以基于确定的文档布局类型来进行定制。用于确定布局意图的机器学习分类器还可以基于人类对训练文档语料库中的文档中的明确格式化文档元素的布局意图的分类进行训练。

在一些配置中,使用针对文档中的部分或全部明确格式化的文档元素的推断的布局意图来创建基于意图的文档。在一个配置中,基于意图的文档包括标记,该标记根据推断的生成基于意图的文档所依据的文档的作者的布局意图来定义基于意图的文档的内容。在上文给出的示例中,确定了粗体或斜体文本的作者的布局意图是为了对文本的强调,例如,基于意图的文档可以包括文本以及相关联的标记,其指示文本在呈现时将被强调。以类似的方式,如果确定了非格式化文本的作者的布局要提供强调,还如上文给出的示例,标记可以与非格式化的文本相关联,其指示该文本在呈现时要被强调。在上文给出的示例中,确定了粗体或斜体文本的作者的布局意图要定义节主题,基于意图的文档可以包括文本和相关的标记,其指示该文本要在呈现时被用作节主题。其他类型的标记也可以在基于意图的文档中使用,以便定义文档元素及其相关联的布局意图。

在一些配置中,还为每个推断的布局意图生成一个或多个确定性分数。确定性分数是针对明确格式化的文档元素的推断的布局意图为文档作者的真实的布局意图的确定性的度量。确定性分数在呈现基于意图的文档并且潜在地出于其他目的时可以被利用。例如,但不限于此,具有最高确定性分数的布局意图可以用于在基于意图的文档中初始地呈现文档元素。然后,用户可以指示用于特定文档元素的布局是不正确的(例如,文本被显示为被强调而不是作为期望的节主题)。在这种情况下,具有下一个最高确定性分数的明确格式化的文档元素的布局意图然后可以用于呈现文档元素。在其他配置中,还可以以其他方式使用确定性分数。

应当理解,上文描述的主题还可以被实现为计算机控制的装置、计算机过程、计算系统或作为诸如计算机可读介质的制品。通过阅读以下具体实施方式和对相关的附图的综述,这些和各种其它特征将是显而易见的。

提供本发明内容来以简化形式介绍一系列概念,这些概念在下文的具体实施方式中进一步描述。本发明内容不旨在确定所要求保护的主题的主要特征或基本特征,也不旨在将本发明内容用于限制所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本公开内容的任何部分中指出的任何或所有缺点的实现。

附图说明

图1是示出了例示本文描述的一种机制的方面的例程的流程图,该种机制用于使用推断的布局意图从其中文档元素已经使用明确格式化信息来定义的文档中生成基于意图的文档;

图2是示出了文档布局分类服务的配置和操作的方面的软件架构图,该文档布局分类服务可以用于对将被转换为基于意图的文档的文档的布局进行分类;

图3是示出了例示文档布局分类服务的操作的方面的例程的流程图,该文档布局类型服务用于对将被转换为基于意图的文档的文档的布局进行分类;

图4是示出了文档转换服务的配置和操作的方面的软件架构图,该文档转换服务用于从包括明确格式化的文档元素的文档生成基于意图的文档;

图5是示出了例示文档转换服务的操作的方面的例程的流程图,该文档转换服务用于从包括明确格式化的文档元素的文档生成基于意图的文档;

图6是例示了能够实现本文给出的技术的方面的计算系统的说明性计算机硬件和软件架构的计算机架构图;

图7是例示了能够实现本文给出的技术的方面的分布式计算环境的图;以及

图8是例示了能够实现本文给出的技术的方面的计算设备架构的计算机架构图。

具体实施方式

以下详细描述涉及用于推断布局意图的技术。尽管在结合计算机系统上的操作系统和应用程序的执行而执行的程序模块的一般上下文中呈现了本文所描述的主题,但本领域技术人员将认识到,可以结合其他类型的程序模块来执行其他实现方式。通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其他类型的结构。此外,本领域技术人员将理解,本文描述的主题可以用其他计算机系统配置(包括手持式设备、多处理器系统、基于微处理器的或可编程的消费电子设备、小型计算机、大型计算机等)来实施。

在以下的详细描述中,参考形成其一部分的附图,并且其通过图示的具体配置或示例来示出。现在参考附图,其中贯穿几个图中相同的附图标记表示相同的元件,将描述用于推断布局意图的各种技术的方面。具体而言,图1是示出了例示本文描述的一种机制的方面的例程100的流程图,该种机制用于使用推断的布局意图来从其中文档元素已经使用明确格式化信息来定义的文档生成基于意图的文档。

应当理解,本文关于图1和其他附图描述的逻辑操作被实现为(1)计算机实现的动作序列或在计算系统上运行的程序模块和/或实现为(2)计算系统内的互连的机器逻辑电路或电路模块。该实现方式是取决于计算系统的性能和其他要求的选择问题。因此,本文所描述的逻辑操作被不同地称为状态操作、结构设备、动作或模块。这些操作、结构设备、动作和模块可以在软件、固件、专用数字逻辑及其任何组合中实现。还应当理解,可以执行比图中所示和本文描述的更多或更少的操作。这些操作也可以以与本文所描述的顺序不同的顺序来执行。

例程100开始于操作102,其中,接收包括已使用明确格式化信息(其在本文中可被称为“明确格式化的文档元素”)定义的文档元素并且将被转换为基于意图的文档的文档。明确格式化的文档元素是文档作者明确指定了格式化属性和/或其他属性的文档中的元素。文档作者可以例如定义文本并对文本应用粗体、斜体、颜色或其他类型的格式化。作为另一个示例,文档作者可以关于相关的文本块指定图像在文档中的确切位置。

例如,响应于接收到在基于意图的呈现/创作应用中打开文档的请求,可以接收包含明确格式化的文档元素的文档。基于意图的呈现/创作应用利用文档作者的格式化意图以便于呈现基于意图的文档。基于意图的呈现/创作应用还可以允许用户创作和/或修改基于意图的文档和/或执行关于基于意图的文档或其中使用明确格式化来表达格式化的其他文档类型的其他类型的功能。

为了打开包括已经在基于意图的呈现/创作应用中使用明确格式化信息定义的文档元素的文档,可能有必要将文档转换为基于意图的文档。如上文简要讨论的,基于意图的文档包括标记,该标记根据推断的生成基于意图的文档所依据的文档的作者的布局意图而不是通过使用明确格式化的信息来定义基于意图的文档内容。

在操作102处接收的文档也可以与呈现文档的请求一起被接收以展示给用户。例如,但不限于此,用户可以提交在智能手机或平板计算设备上查看文档的请求。如上文简要讨论的,最初使用明确格式化信息定义以在纵向方向上适合8.5"×11"打印页面的文档中的内容可能难以以横向模式呈现在智能手机或平板设备上。然而,因为基于意图的文档是根据布局意图而不是通过使用明确格式化来定义的,所以可以以各种尺寸和方向并且可以在具有不同屏幕类型和宽高比的各种类型的设备上有效地呈现文档。下文将提供关于该过程的其它细节。

应当理解,在操作102处接收的文档可以是文字处理文档、演示文档、电子表格文档、超文本标记语言(“html”)文档、视频、便携式文档格式(“pdf”)文档或包括已经使用明确格式化信息定义的文档元素的任何其他类型的文档。另外,还应当理解,文档可以包括已经使用明确格式化信息定义的一些文档元素和根据作者的意图定义的其他文档元素。这样做的一个例子是利用定义作者将文本用作主题的意图的主题样式。在该示例中,已经使用明确格式化信息定义的文档元素可能会使用下文描述的过程来进行转换,而根据作者意图定义的那些文档元素不会被转换。

从操作102,例程100进行到操作104,其中,确定在操作102处接收的并具有明确格式化的文档元素的文档的布局类型。例如但不限于此,可以利用启发式算法和/或机器学习分类器来确定具有明确格式化的元素的文档的布局是“纸状的”(paper-like)还是“演示状的”(presentation-like)。如上文简要讨论的,纸状的文档布局是旨在以从上到下的方式(例如,以英语语言)被线性消费的布局。演示状的文档布局通常包括意在按顺序示出的离散“幻灯片”。演示状的文档布局还可以具有以与在纸状的文档布局中的内容不同的方式从幻灯片到幻灯片(slide-to-slide)重复的内容。也可以在其它配置中识别除纸状和演示状的之外的文档布局类型。下文将参照图2和图3提供关于本文公开的用于对文档的布局类型进行分类的一种机制的额外的细节。

一旦已经确定在操作102处接收的文档的布局类型,则例程100从操作104前进到操作106,在操作106中生成文档的基于意图的版本。为了生成文档的基于意图的版本,可以确定文档中明确格式化的文档元素的布局意图。例如,但不限于此,可以确定文档中明确地格式化的粗体或斜体文本旨在提供对文本的强调。替代地,可以确定明确地格式化的粗体或斜体文本旨在建立文档的节主题或标题。类似地,可以利用文档元素之间的2d和/或3d空间关系来推断文档的作者的布局意图。同样地,例如,可以利用演示状的文档中的文档元素之间的时间关系来推断文档作者的布局意图。文档作者关于各种其他类型的明确格式化的文档元素的布局意图也可以以其他方式来确定。

如下文将更详细地描述的,可以利用一个或多个启发式算法和/或一个或多个机器学习分类器来确定文档中明确格式化的文档元素的布局意图。例如,但不限于此,启发式算法可以检查文档中的文档元素的模式或配置,以确定其中包含的明确格式化的文档元素的推断的布局意图。可以基于所确定的包含明确格式化的文档元素的文档的布局类型来选择和/或配置用于推断布局意图的启发式算法和/或机器学习分类器。用于确定布局意图的机器学习分类器可以基于人类对训练文档语料库中的文档中明确格式化的文档元素的布局意图的分类来训练。

在一些配置中,使用针对文档中的部分或全部明确格式化的文档元素的推断的布局意图来创建基于意图的文档。在一种配置中,基于意图的文档包括标记,该标记根据推断的生成基于意图的文档所依据的文档的作者的布局意图来定义基于意图的文档的内容。另外,在一些配置中,还为每个推断的布局意图生成一个或多个确定性分数,并且将其包括在基于意图的文档中。如上文简要提及和下文更详细地描述的,确定性分数定义了针对明确格式化的文档元素的推断布局意图是文档作者的实际布局意图的确定性。当呈现基于意图的文档时,并且潜在地出于其他目的,可以利用确定性分数。下文将参照图4和图5提供关于上文描述的用于生成文档的基于意图的版本的机制的额外的细节。

从操作106,例程100进行到操作108,其中在操作104和操作106处生成的基于意图的文档可以被提供给基于意图的呈现/创作应用。如上文简要讨论的,基于意图的呈现/创作应用可以以适合于它将被呈现在上面的计算设备的方式呈现基于意图的文档。基于意图的文档的呈现以保留文档作者的布局意图的方式执行。另外,基于意图的呈现/创作应用还可以以保留文档作者的原始意图的方式美化基于意图的文档的呈现。下文还将提供关于该过程的其它细节。例程100随后从操作108进行到操作110,在操作110处结束。

图2是示出文档布局分类服务202的配置和操作的方面的软件架构图,文档布局分类服务202可以用于对将被转换为基于意图的文档的文档204的布局进行分类。如图2所示,文档布局分类服务202接收包括明确格式化的文档元素的文档204。文档布局分类服务202随后可以分析所接收的文档204的布局,以便对其布局进行分类。具体地,可以生成定义文档204的所识别的布局类型的文档布局分类210。

在图2所示的配置中,文档布局分类服务202利用一个或多个启发式文档布局分类模块206,并且潜在地利用一个或多个基于机器学习的文档布局分类器208,以便生成文档布局分类210。启发式文档布局分类模块206是实现用于确定文档的布局类型的启发式文档布局算法的软件模块。基于机器学习的文档布局分类器208是已经被训练以识别文档204的布局类型的机器学习分类器。基于机器学习的文档布局分类器208可以基于人类对训练文档的语料库(图2中未示出)中的文档布局的分类来训练。

在一个特定配置中,启发式文档布局分类模块206和基于机器学习的文档布局分类器208被配置为将文档204分类为具有纸状布局或演示状的布局。如上文所讨论的,纸状文档布局是意在以从上到下的方式(例如,以英语语言)被线性消费的布局。还如上文所讨论的,演示状的文档布局通常包括意在按顺序示出的离散“幻灯片”。应当理解,启发式文档布局分类模块206和基于机器学习的文档布局分类器208也可以被配置为在其他配置中识别除了纸状的和演示状的布局之外的文档布局类型。

还应当理解,在一些配置中,关于基于文档的文件类型对文档204的布局没有做出假设。例如,不会假设字处理文档204具有纸状布局类型。类似地,演示文档204也不会被自动假设为具有演示类型布局。这是因为文字处理文档可能具有演示状的布局。类似地,演示文档可能具有纸状布局。因此,在各种配置中利用文档204的实际布局而不是文档204的文件类型来确定文档布局分类210。然而,应当理解,文档布局分类服务202可以给出一些在文档布局分类210的确定期间对文档204的文件类型的权重。

在图2所示的示例中,文档布局分类服务202被实现为web服务。在该实现方式中,文档布局分类服务202可以暴露各种类型的web服务应用编程接口(“api”)以便访问其功能的方面。然而,应当理解,该配置仅仅是说明性的并且可以以其他方式提供由文档布局分类服务202实现的功能。例如,但不限于此,该功能可以直接包括在计算设备(诸如智能电话、平板电脑、台式或膝上型计算机)上本地执行的基于意图的呈现/创作应用中。替代地,该功能可以通过基于意图的呈现/创作应用来提供,该基于意图的呈现/创作应用作为基于web的应用提供并且通过web浏览器或其他适当的应用来访问。在其他配置中,该功能也可以以其他方式提供。

在图2所示的示例性配置中,启发式文档布局分类模块206和基于机器学习的文档布局分类器208被显示在文档布局分类服务202外部。然而,应当理解,这些部件可能在其他配置中与文档布局分类服务202集成。另外,应当理解,除了启发法和机器学习之外的机制可以用于其他配置中以对文档204的布局进行分类。

如下文将更详细地描述的,可以利用所确定的文档204的文档布局分类210来定制本文公开的用于将文档204转换为基于意图的文档的机制。下文将参照图3和图4提供关于该方面的额外的细节。

图3是示出了例示文档布局分类服务202的操作的方面的例程300的流程图,文档布局分类服务202用于对包含明确格式化的文档元素的文档204的布局进行分类。例程300开始于操作302,其中,包括明确格式化的文档元素的文档204在文档布局分类服务202处被接收。如上文所讨论的,文档204可以响应于在基于意图的呈现/创作应用中呈现文档204的请求或响应于其他类型的刺激而被提供给文档布局分类服务202。从操作302,例程300进行到操作303。

在操作303处,执行文档的分解和分析以识别文档中的格式。对于文本,这将包括如文本的字体、磅值、重量和/或颜色之类的东西。这些数据点中的一些也可以从原始文档204计算。例如,htmlweb文档可以利用嵌套的css样式,其需要被计算以确定例如实际的颜色或字体。还可以分析html结构以理解图像相对于文本的相对定位。

例程300随后从操作303进行到操作304,其中,文档布局分类服务202执行启发式文档布局分类模块206,以便执行一个或多个基于启发法的文档布局分类算法。如上文所讨论的,启发式文档布局分类模块206利用启发法尝试对文档204的布局进行分类。例如,但不限于此,可以利用各种启发法来确定文档204的布局是纸状的或演示状的。

从操作304,例程300进行到操作306,其中,文档布局分类服务202可以执行基于机器学习的文档布局分类器208,以便对文档204的布局类型进行分类。如上文所讨论的,基于机器学习的文档布局分类器208可以基于人类对训练文档语料库中的文档布局的分类来训练。基于该训练的结果,基于机器学习的文档布局分类器208能够将文档204的布局分类为纸状或演示状。如上文所讨论的,在其他配置中基于机器学习的文档布局分类器208还可以将文档204的布局分类为另一类型的分类。

从操作306,例程300进行到操作308,其中,文档布局分类服务202基于由启发式文档布局分类模块206和/或基于机器学习的文档布局分类器208执行的处理的结果来生成文档布局分类210。如上所描述,文档布局分类210包括指示为文档204确定的布局类型的数据。例如,但不限于此,文档布局分类210可以指示文档204是否具有纸状布局或演示状的布局。其他布局类型也可以在其他配置中指示。

从操作308,例程300进行到操作310,其中,文档布局分类服务202输出文档204的文档布局分类210。例如,但不限于此,文档布局分类服务202可以将文档布局分类210输出到用于将文档204转换为基于意图的文档的文档转换服务。下文将参照图4和图5描述关于在文档204的转换期间文档布局分类210的使用的额外的细节。从操作310,例程300进行到操作312,在操作312处结束。

应当理解,上文描述的用于对文档204的布局进行分类的机制仅仅是说明性的,并且也可以利用其他机制。例如,但不限于此,在一些配置中,在对文档204的布局类型进行分类时,可以考虑各种文化因素,诸如文档是从右到左还是从左到右读取。还应当理解,可以确定某些类型的文档204的布局类型而不实际呈现文档204。对于诸如pdf文档的其他类型的文档204,可以在存储器中呈现文档204,以便对文档的布局类型进行分类。

图4是示出文档转换服务402的配置和操作的方面的软件架构图,文档转换服务402用于从包括明确格式化的文档元素的文档204生成基于意图的文档408。如图4所示,文档转换服务402在一种配置中提供用于将包含明确格式化的文档元素的文档204转换为基于意图的文档408的功能。

在图4所示的配置中,文档转换服务402被实现为web服务。在该实现方式中,文档转换服务402可以暴露各种类型的web服务api以便访问其功能的方面。然而,应当理解,该配置仅仅是说明性的,并且可以以其他方式提供由文档转换服务402实现的功能。例如,但不限于此,所公开的功能可以直接包括在计算设备(诸如智能电话、平板电脑、台式或膝上型计算机)上本地执行的基于意图的呈现/创作应用中。替代地,可以通过基于意图的呈现/创作应用来提供该功能,该应用作为基于web的应用提供并且通过web浏览器或其他适当的应用来访问。在其他配置中,该功能也可以以其他方式提供。

如图4所示,文档转换服务402将包括明确格式化的文档元素的文档204和用于文档204的文档布局分类210作为输入。文档204的文档布局分类210可以参照图2和图3以上文描述的方式生成。如上文提及的,也可以利用其他机制来对包含明确格式化的文档元素的文档204的布局进行分类。

在一种配置中,文档转换服务402利用一个或多个启发式文档元素布局意图模块404a-404n(其在本文中可统称为“模块404”),以便确定与文档204中的明确格式化的文档元素相关联的布局意图。模块404可以实现启发式算法,其被设计为从文档204中的明确格式化的文档元素推断布局意图。例如但不限于此,模块404可以检查文档204中的文档元素的模式或配置,以确定对本文中包含的明确格式化的文档元素的推断的布局意图。类似地,这些模块可以参考文档元素在文档402内的位置、这些文档元素与其他文档元素的空间位置和时间关系、这些文档元素在文档中的位置和和/或类似的文档元素与不同的文档元素之间的其他关系来分析这些文档元素,以便推断布局意图。

在一些实现方式中,文档转换服务402基于文档布局分类210来选择和/或配置模块404。例如但不限于此,文档转换服务402可以选择和/或配置模块404,以确定具有纸状的布局的文档中的明确格式化的文件元素的布局意图。类似地,文档转换服务402可以选择和/或配置模块404,以确定具有演示状的布局的文档中的明确格式化的文档元素的布局意图。以这种方式,模块404的操作可以被配置为最佳地确定具有不同布局类型的文档204中的文档元素的布局意图。

模块404中的一些模块可以被配置为基于文档204内的标题的格式化来推断布局意图。例如,在具有演示状的布局的文档204中,如果若干幻灯片具有相同(或几乎与差异的白名单相同)的标题,则所有幻灯片可以被推断为具有单个标题的同一节的一部分。在另一个示例中,如果在具有演示状的布局的文档204中的若干连续幻灯片上重复图像或文本,则该材料可以被推断为导航或侧边栏内容并且可以仅被包括在基于意图的文档408中一次。

在具有纸状的布局的文档204中,如果短行文本(包括空白)不同于周围文本并且不是与文档204中的标题和/或主题匹配的格式,则文本可以被推断为醒目引文(pull-quote)。如本领域技术人员已知的,醒目引文是来自通常以某种方式强调的同一页面的引用。如果文本被引号包围,则该推断的布局意图的确定性分数412将增加。如果文本的格式与被引号包围的另一个识别的醒目引文相匹配,则该推断的布局意图的确定性分数412也将增加。

应当理解,上文描述的说明性启发式算法仅仅是说明性的。启发式算法的其他类型也可以由模块404实现,以在其他配置中推断其他类型的明确格式化的文档元素的布局意图。

如图4所示,文档转换服务402还可以或者替代地利用一个或多个基于机器学习的文档元素布局意图分类器406a-406n(其可以统称为“分类器406”)。分类器406是机器学习分类器,其已经被训练为分辨出关于文档204中的明确格式化的文档元素的作者的意图。为了提供该功能,分类器406可以基于人类对训练文档语料库(图4中未示出)中的文档中明确格式化的文档元素的布局意图的分类来训练。

在一些实现方式中,文档转换服务402基于文档布局分类210来选择和/或配置分类器406。例如但不限于此,文档转换服务402可以选择和/或配置分类器406,以确定具有纸状的布局的文档中的明确格式化的文档元素的布局意图。类似地,文档转换服务402可以选择和/或配置分类器406,以确定具有演示状的布局的文档中的明确格式化的文档元素的布局意图。以这种方式,分类器406的操作可以被配置为最佳地确定具有不同布局类型的文档204中的文档元素的布局意图。

在各种实施例中,模块404和/或分类器406被配置为推断文档作者意图强调一个或多个明确格式化的文档元素。例如,某些以粗体或斜体显示的文本可能被未加粗或强调的段落中的其他文本所包围。在该示例中,模块404或分类器406可以推断出作者意图强调该文本。还可以推断特定斜体的使用以识别参考工作、船的名称、新术语、用户提及、外来字或符号(例如,希腊语或拉丁语符号)、代数符号和/或数学常数。文本还可以被推断为如上文陈述的示例中所描述的醒目引文。还如上文所讨论的,文档204中缺乏明确格式化也可以是用于强调的信号。在一些配置中这可以在格式化聚类中根据相对熵(entropy)来确定。每个格式化聚类是确定文本跨度格式化的所有属性的独特集。可以从与文档204相关联的css或直接从文档204的内容计算聚类。

模块404和/或分类器406还可以被配置为根据文档204中的文本的大小、缩进、间隔、格式和/或其他属性来推断定义标题和/或层级的文本。层级的示例可以包括但不限于章、子章、子子章等。以这种方式,文档作者创建大纲或其他类型的结构的意图可以从明确格式化的文本推断出并被用于创建定义了作者的意图的基于意图的文档408。

模块404和/或分类器406还可以被配置为评估文档204中的2d或3d空间或非空间以推断作者的表达意图。还可以分析彼此重叠的文档元素以确定作者的表达意图。还可以以类似的方式分析文档元素之间的时间关系,以确定相关联的表达意图。例如,在具有演示状的布局的文档中,元素可能随着时间的推移在幻灯片上累积。在该示例中,文档元素的时间顺序可能是从中可以推断出表达的意图的相关的信息。在这方面,可能有必要呈现内存中的一些文档类型,以便于识别文档元素之间的空间和/或时间关系。

在图4所示的示例性配置中,模块404和分类器406被示出在文档转换服务402的外部。然而,应当理解,在其他配置中,这些部件可以与文档转换服务402集成。另外,应当理解,除了启发法和机器学习之外的机制可以在其他配置中被用于对文档204中的明确格式化的文档元素的布局意图进行分类。

还如图4所示,文档转换服务402可以利用模块404和分类器406的输出,以便生成基于意图的文档408。基于意图的文档408包括来自文档204的内容(例如,文本、图像、视频等)或对内容的位置的引用,以及描述对文档204中的部分或全部明确格式化的文档元素的推断的布局意图的数据。例如,在一种配置中,基于意图的文档408包括标记410,标记410根据生成基于意图的文档408所依据的文档204的作者的推断的布局意图定义其中包含的文档元素。作为具体示例,如果模块404或分类器406确定文档204中的粗体或斜体文本的作者的布局意图是提供对文本的强调,则基于意图的文档410包括标记410,其识别文本并指示文本在呈现时将被强调。根据基于意图的文档408将被呈现的方向、目标设备的能力和/或其他考虑或因素,可以在呈现时间确定文本实际被强调的方式。还可以修改呈现文本的方式,以便增加或修改文档204的样式和/或美学。

作为另一示例,如果模块404或分类器406确定粗体或斜体文本的布局意图将定义节主题,则基于意图的文档408可以包括标记410,其定义文本并指示文本在呈现时将被用作节主题。根据基于意图的文档408将被呈现的方向、目标设备的能力和/或其他考虑或因素,可以在呈现时间确定节主题实际呈现的方式。还可以在基于意图的文档408中指定其他类型的标记410,以便定义其他类型的文档元素及其相关联的布局意图。

如图4所示,一旦转换过程完成,文档转换服务402可以将基于意图的文档408提供给基于意图的呈现/创作应用414。继而,基于意图的呈现/创作应用414可以呈现基于意图的文档408。如上文简要讨论的,基于意图的呈现/创作应用414可以利用基于意图的标记410,以便以适合于目标呈现平台的方式呈现基于意图的文档408。例如但不限于此,基于意图的呈现/创作应用414可以呈现基于意图的文档,以用作网站416上的网页消费,用于以纵向或横向方向在智能手机418上消费,或者用于以纵向或横向方向在平板设备420上的消费。

在一些配置中,文档转换服务402还被配置为针对每个推断的布局意图生成一个或多个确定性分数412。如上文简要提及的,确定性分数是明确格式化的文档元素的推断的布局意图是文档作者的实际布局意图的确定性的度量。确定性分数412可以是0与1之间的数字,例如,其中,0是推断的布局意图正确的最低概率且1推断的布局意图正确的最高概率。

应当理解,在一些配置中,一个文档元素的置信度分数412可能受到其他文档元素的影响。例如,可以针对第一文档元素计算置信分数412。但是,如果在文档204中找到其他类似元素,那些元素的配置及其相关联的置信分数412可以针对第一文档元素改变所计算的置信分数412。在一些配置中,文档402中内容的语义含义也可以影响置信分数412。

当呈现基于意图的文档408并且潜在地出于其他目的时,基于意图的呈现/创作应用414可以利用确定性分数412。例如但不限于此,基于意图的呈现/创作应用414可以利用具有最高相关联的确定性分数412的布局意图,以便在基于意图的文档408中初始地呈现文档元素。然后,用户可以指示特定文档元素的布局是不正确的(例如,文本被显示为强调而不是作为期望的节主题)。在这种情况下,基于意图的呈现/创作应用414可以使用具有下一个最高确定性分数412的明确格式化的文档元素的布局意图,以便重新呈现文档元素。替代地,可以通过选择下一个最高分数中的几个来向用户显示最可能的替代选项。在其他配置中,基于意图的呈现/创作应用414还可以以其他方式利用确定性分数412。

在另一种配置中,基于意图的呈现/创作应用414还可以向文档转换服务402提供对推断的布局意图做出的任何校正422,以用于优化文档转换服务402的操作的方面。例如,如果用户指示针对基于意图的文档中的文档元素的特定推断的布局意图不正确,则该信息可以被提供给文档转换服务402,并且被用于在未来转换期间推断相同或相似的文档元素的布局意图时改进文档转换服务402的性能。

图5是示出了例示文档转换服务402的操作的方面的例程500的流程图,该文档转换服务402用于从包括明确格式化的文档元素的文档204中生成基于意图的文档408。例程500开始于操作502,其中,文档转换服务402接收文档204和相关的文档布局分类210。例程500然后从操作502进行到操作503,其中,执行对文档的分解和分析以与上文关于操作303所描述的类似的方式识别文档中的格式化。例程500然后进行到操作504,在操作504处,文档转换服务基于文档布局分类210指定的分布类型来选择和/或配置模块404。如上文所讨论的,可以使用具有在文档布局分类210中指定的类型的布局类型的文档204来选择和/或配置模块404以用于最佳操作。

从操作504,例程500进行到操作506,在操作506处,文档转换服务402基于文档布局分类210中指定的布局类型来选择和/或配置分类器406。如上文所讨论的,还可以使用具有文档布局分类210中指定的类型的布局类型的文档204来选择和/或配置分类器406以用于最佳操作。

从操作506,例程500进行到操作508,在操作508处,执行模块404和/或分类器406。如上文所讨论的,模块404和分类器406操作以推断文档204中的明确格式化的文档元素的布局意图。模块404可以利用启发式算法来推断文档204中的文档元素的布局意图,而分类器406可以利用机器学习技术。如上文所提及的,模块404和分类器406还可以针对每个推断的布局意图生成一个或多个确定性分数412。

从操作508,例程500进行到操作510,在操作510处,文档转换服务402基于模块404和/或分类器406的执行结果来生成基于意图的文档408。如上文所讨论的,基于意图的文档408包括基于意图的标记410,其定义文档元素以及与文档元素相关联的推断的布局意图(如果有的话)。基于意图的文档408还可以包括对应于每个推断的布局意图的确定性分数412。如上文所讨论的,文档转换服务402还可以将基于意图的文档408提供给基于意图的呈现/创作应用414或用于呈现和/或修改的另一软件部件。从操作510,例程500进行到操作512,在操作512处例程500结束。

图6是示出能够执行本文所描述的用于推断布局意图的软件部件的计算机600的架构的计算机架构图。图6中所例示的架构是用于服务器计算机、移动电话、电子阅读器、智能电话、台式计算机、上网本计算机、平板计算机、膝上型计算机或适用于执行本文提出的软件部件的另一类型的计算设备的架构。在这方面,应当理解,图6中所示的计算机600可以用于实现能够执行本文所提出的任何软件部件的计算设备。

图6中所例示的计算机600包括中央处理单元602(“cpu”)、包括随机存取存储器606(“ram”)和只读存储器(“rom”)608的系统存储器604以及将存储器604耦合到cpu602的系统总线610。包含例如在启动期间帮助在计算机600内的元件之间传送信息的基本例程的基本输入/输出系统被存储在rom608中。计算机600还包括用于存储操作系统614的大容量存储设备612和一个或多个应用程序,该一个或多个应用程序包括但不限于文档分类布局服务202、文档转换服务402和/或基于意图的呈现/创作应用414。虽然在图6中未示出,但是大容量存储设备612还可以被配置为存储文档204、基于意图的文档408和/或其他数据。

大容量存储设备612通过连接到总线610的大容量存储控制器(未示出)连接到cpu602。大容量存储设备612及其相关联的计算机可读介质为计算机600提供非易失性存储。虽然本文包含的对计算机可读介质的描述指的是诸如硬盘或cd-rom驱动器的大容量存储设备,但是本领域技术人员应当理解,计算机可读介质可以是任何可用的计算机存储介质或通信介质,其可以由计算机600访问。

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

举例来说而非限制,计算机存储介质可以包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。例如,计算机介质包括但不限于ram、rom、eprom、eeprom、闪存或其他固态存储器技术、cd-rom、数字多功能盘(“dvd”)、hd-dvd、蓝光、或其它光存储、磁带盒、磁带、磁盘存储或其它磁存储设备或可用于存储所期望信息并可由计算机600访问的任何其它介质。为了权利要求的目的,短语“计算机存储介质”及其变形不包括波或信号本身和/或通信介质。

根据各种配置,计算机600可以使用通过诸如网络618的网络到远程计算机的逻辑连接在联网环境中操作。计算机600可以通过连接到总线610的网络接口单元620连接到网络618。应当理解,网络接口单元620还可以用于连接到其他类型的网络和远程计算机系统。计算机600还可以包括输入/输出控制器616,其用于接收和处理来自包括键盘、鼠标或电子触笔(未在图6中示出)的多个其他设备的输入。类似地,输入/输出控制器616可以向显示屏、打印机或其它类型的输出设备(也未在图6中示出)提供输出。

应当理解,本文所描述的软件部件可以在加载到cpu602中并执行时将cpu602和整个计算机600从通用计算系统转变成为促进本文提供的功能而定制的专用计算系统。cpu602可以由任何数量的晶体管或其他分立电路元件构成,其可以单独地或共同地采取任何数量的状态。更具体地,cpu602可以响应于包含在本文公开的软件模块内的可执行指令而作为有限状态机操作。这些计算机可执行指令可以通过指定cpu602如何在状态之间转换来转变cpu602,从而转变构成cpu602的晶体管或其他分立硬件元件。

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

作为另一示例,本文公开的计算机可读介质可以使用磁或光技术来实现。在这些实现方式中,当软件在其中被编码时,本文提出的软件可以转变磁介质或光介质的物理状态。这些转变可以包括改变给定磁介质内的特定位置的磁特性。这些转变还可以包括改变给定光介质内的特定位置的物理特征或特性,以改变这些位置的光学特性。在不脱离本说明书的范围和精神的情况下,物理介质的其它转变是可能的,提供前述示例仅用于促进该讨论。

鉴于上文描述,应当理解,许多类型的物理转变在计算机600中发生,以便存储和执行本文提出的软件部件。还应当理解,计算机600可以包括其他类型的计算设备(包括手持式计算机、嵌入式计算机系统、诸如智能电话和表格的移动设备以及本领域技术人员已知的其他类型的计算设备)。还可以考虑到,计算机600可以不包括图6所示的所有部件,可以包括图6中未明确示出的其他部件,或者可以利用与图6所示完全不同的架构。

图7例示了能够执行本文所描述的用于推断布局意图的软件部件的说明性分布式计算环境700。因此,可以使用图7所例示的分布式计算环境700来提供本文所描述的关于文档布局分类服务202、文档转换服务402和/或本文所描述的任何其他软件部件的功能。

根据各种实现方式,分布式计算环境700包括在网络704上、与网络704通信或作为网络704的一部分操作的计算环境702。一个或多个客户端设备706a-706n(以下统称为和/或一般地称为“客户端706”)可以经由网络704和/或其他连接(图7中未例示)与计算环境702通信。在所例示配置中,客户端706包括诸如膝上型计算机、台式计算机或其他计算设备的计算设备706a;板状或平板计算设备(“平板计算设备”)706b;诸如移动电话、智能电话或其它移动计算设备的移动计算设备706c;服务器计算机706d;和/或其他设备706n。应当理解,任何数量的客户端706可以与计算环境702通信。本文参照图6和图8例示和描述了客户端706的两个示例性计算架构。应当理解,本文所例示和描述的图示的客户端706和计算架构是说明性的,并且不应被解释为以任何方式受到限制。

在所例示的配置中,计算环境702包括应用服务器708、数据存储710和一个或多个网络接口712。根据各种实现方式,应用服务器708的功能可以由作为网络704的一部分或与网络704通信的一个或多个服务器计算机提供。应用服务器708可以托管各种服务、虚拟机、门户和/或其他资源。在所例示的配置中,应用服务器708托管一个或多个虚拟机714,该一个或多个虚拟机714用于托管应用或其他功能。根据各种实现方式,虚拟机714托管一个或多个应用和/或软件模块(诸如文档布局分类服务202和文档转换服务402)。应当理解,该配置是说明性的,并且不应当被解释为以任何方式限制。应用服务器708还可以托管或提供对一个或多个门户网站、链接页面、网站和/或其他信息(“门户网站”)716的访问。

根据各种实现方式,应用服务器708还包括一个或多个邮箱服务718和一个或多个消息传送服务720。邮箱服务718可以包括电子邮件(“电子邮件”)服务,邮箱服务718还可以包括各种个人信息管理(“pim”)服务,其包括但不限于日历服务、联系人管理服务、协作服务和/或其他服务。消息传送服务720可以包括但不限于即时消息传送(“im”)服务、聊天服务、论坛服务和/或其他通信服务。

应用服务器708还可以包括一个或多个社交网络服务722。社交网络服务722可以包括各种社交网络服务,其包括但不限于用于共享或发布状态更新、即时消息、链接、照片、视频和/或其他信息的服务;用于评论或展示对文章、产品、博客或其他资源的兴趣的服务;和/或其他服务。在一些配置中,社交网络服务722由facebook社交网络服务、linkedin职业网络服务、myspace社交网络服务、foursquare地理网络服务、yammer办公室同事网络服务等提供或包括这些服务。在其他配置中,社交网络服务722由其他服务、站点和/或可能或可能不被明确称为社交网络提供商的提供商提供。例如,一些网站允许用户在诸如阅读发表的文章、评论商品或服务、发布、协作、游戏等的各种活动和/或环境期间通过电子邮件、聊天服务和/或其他方式彼此交互。其他服务是可能的并且是预期的。

社交网络服务722还可以包括评论、博客和/或微博服务。这些服务的示例包括但不限于yelp评论服务、kudzu审查服务、yammer企业微博服务、twitter消息传送服务、googlebuzz服务和/或其他服务。应当理解,上文的服务列表并不详尽,并且为了简洁起见,本文中没有提及许多额外的和/或替代的社交网络服务722。因此,上文描述的配置是说明性的,并且不应当被解释为以任何方式受到限制。

如图7所示,应用服务器708还可以托管其他服务、应用、门户和/或其他资源(“其他资源”)724。其他资源724可以包括但不限于文档布局分类服务202、文档转换服务402和/或本文所描述的任何其他软件部件。因此可以理解,计算环境702可以提供本文提供的用于利用各种邮箱、消息传送、社交网络、生产力和/或其他服务或资源来推断布局意图的本文公开的概念和技术的集成。例如,利用本文公开的概念和技术可以提供桌面或移动网站以用于将文档204转换为基于意图的文档408并且用于查看和潜在地编辑基于意图的文档408。使用本文描述的技术,包括明确格式化的元素的文档204可以以适合于设备的屏幕、方向和/或其他功能的方式呈现在各种客户端设备706上。作为具体示例,本文公开的功能可以与提供基于web的文字处理应用、基于web的演示应用结合使用或与另一种类型的基于web的内容消费或创建应用结合使用。

如上文所提及的,计算环境702可以包括数据存储710。根据各种实现方式,数据存储710的功能由在网络704上操作或与网络704通信的一个或多个数据库提供。该数据存储710的功能还可以由被配置为托管计算环境702的数据的一个或多个服务器计算机提供。数据存储710可以包括主机或提供一个或多个实际或虚拟数据存储726a-726n(以下统称为和/或一般地称为“数据存储726”)。数据存储726被配置为托管由应用服务器708和/或其他数据使用或创建的数据。例如,数据存储726可以用于存储文档204、基于意图的文档408以及任何相关联的内容。

计算环境702可以与网络接口712通信或由其进行访问。网络接口712可以包括用于支持两个或更多个计算设备(包括但不限于客户端706和应用服务器708)之间的通信的各种类型的网络硬件和软件。应当理解,网络接口712还可以用于连接到其他类型的网络和/或计算机系统。

应当理解,本文所描述的分布式计算环境700可以利用任何数量的虚拟计算资源和/或其他分布式计算功能来实现本文描述的软件元件的任何方面,该虚拟计算资源和/或其他分布式计算功能可以被配置为执行本文公开的软件部件的任何方面。根据本文公开的概念和技术的各种实现方式,分布式计算环境700将本文描述的软件功能作为服务提供给客户端706。应当理解,客户端706可以包括实机或虚拟机,其包括但不限于服务器计算机、网络服务器、个人计算机、移动计算设备、智能电话和/或其他设备。因此,本文公开的概念和技术的各种实现方式使得配置成访问分布式计算环境700的任何设备能够利用本文所述的用于推断布局意图的功能。

现在转到图8,图8是用于计算设备的说明性计算设备架构800,其能够执行本文所描述的用于推断布局意图的各种软件部件。计算设备架构800适用于部分由于形成因素、无线连接性和/或电池供电的操作而促进移动计算的计算设备。在一些配置中,计算设备包括但不限于移动电话、平板电脑设备、板状设备、便携式视频游戏设备等。此外,计算设备架构800适用于图7所示的任何客户端706。此外,计算设备架构800的方面适用于例如本文参照图6所描述的传统台式计算机、便携式计算机(例如膝上型计算机、笔记本电脑、超便携式计算机和上网本)、服务器计算机和其他计算机系统。例如,本文下面公开的单触摸和多点触摸方面可以适用于利用触摸屏或诸如启用触摸的轨迹板或启用触摸鼠标的一些其他启用触摸设备的桌面计算机。

图8所例示的计算设备架构800包括处理器802、存储器部件804、网络连接部件806、传感器部件808、输入/输出部件810和电源部件812。在所例示配置中,处理器802与存储器部件804、网络连接部件806、传感器部件808、输入/输出(“i/o”)部件810和电源部件812通信。尽管在图8中例示的各个部件之间没有显示连接,但是部件可以相互作用以执行设备功能。在一些配置中,部件被布置成通过一个或多个总线(未示出)进行通信。

处理器802包括中央处理单元(“cpu”),其被配置为处理数据、执行一个或多个应用程序的计算机可执行指令并与计算设备架构800的其他部件进行通信,以便执行本文描述的各种功能。处理器802可以用于执行本文呈现的软件部件的方面,并且特别地,执行至少部分地利用启用触摸的输入的那些方面。

在一些配置中,处理器802包括被配置为加速由cpu执行的操作的图形处理单元(“gpu”),该操作包括但不限于执行通用科学和工程计算应用以及诸如高分辨率视频(例如,720p、1080p、4k及更高版本)、视频游戏、3d建模应用等的图形密集型计算应用所执行的操作。在一些配置中,处理器802被配置为与分立的gpu(未示出)进行通信。在任何情况下,可以根据协处理cpu/gpu计算模型来配置cpu和gpu,其中,应用的顺序部分在cpu执行并且计算密集部分由gpu加速。

在一些配置中,处理器802是片上系统(“soc”)以及本文下面描述的一个或多个其他部件或者包括在片上系统(“soc”)以及本文下面描述的一个或多个其他部件中。例如,soc可以包括处理器802、gpu、网络连接部件806中的一个或多个网络连接部件以及传感器部件808中的一个或多个传感器部件。在一些配置中,处理器802部分地利用封装堆迭(“pop”)集成电路封装技术来装配。此外,处理器802可以是单核或多核处理器。

处理器802可以根据arm架构创建,可从英国剑桥的armholdings获得许可。替代地,可以根据诸如可从加利福尼亚州山景城的英特尔公司获得的x86架构以及其他来创建处理器802。在一些配置中,处理器802是可从加利福尼亚州圣地亚哥的高通公司获得的snapdragonsoc、可从加利福尼亚州圣克拉拉的nvidia公司获得的tegrasoc、可从韩国首尔的三星samsung公司获得的hummingbirdsoc、可从德克萨斯州达拉斯的德州仪器公司获得的开放多媒体应用平台(“omap”)soc,上面soc中的任一个的定制版本或专用soc。

存储器部件804包括ram814、rom816、集成存储存储器(“集成存储”)818和可移动存储存储器(“可移动存储”)820。在一些配置中,ram814或其一部分、rom816或其一部分和/或ram814和rom816的某种组合集成在处理器802中。在一些配置中,rom816被配置为存储固件、操作系统或其一部分(例如操作系统内核)和/或引导加载器以从集成存储818或可移动存储820加载操作系统内核。

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

可移动存储820可以包括固态存储器、硬盘或固态存储器和硬盘的组合。在一些配置中,提供可移动存储820来代替集成存储818。在其他配置中,可移除存储820被提供为额外的可选存储。在一些配置中,可移除存储820与集成存储818逻辑地组合,使得总可用存储可以作为集成存储818和可移除存储820的总组合容量提供给用户并向用户显示。

可移除存储820被配置为插入到可移动存储存储器插槽(未示出)或其他机构中,通过该机构可移动存储器820被插入和固定,以促进可移除存储820可以在其上与诸如处理器802的计算设备的其他部件通信的连接。可移动存储820可以以各种存储卡格式实现,该各种存储卡格式包括但不限于pc卡、压缩闪速(compactflash)卡、记忆棒、安全数字(“sd”)、minisd、microsd、通用集成电路卡(“uicc”)(例如,用户标识模块(“sim”)或通用sim(“usim”))、专用格式等。

可以理解,一个或多个存储器部件804可以存储操作系统。根据各种配置,操作系统包括但不限于来自微软公司的windowsmobile操作系统、windowsphone操作系统或windows操作系统、来自加拿大安大略省的滑铁卢的行动研究公司(researchinmotion)的blackberry操作系统、来自加利福尼亚州库比蒂诺的苹果公司的ios以及来自加利福尼亚州山景城的谷歌公司的android操作系统。可预期其他操作系统。

网络连接部件806包括无线广域网部件(“wwan部件”)822、无线局域网部件(“wlan部件”)824以及无线个人局域网部件(“wpan部件”)826。网络连接部件806促进到网络828的通信和来自网络828的通信,网络828可以是wwan、wlan或wpan。尽管例示了单个网络828,但网络连接部件806可以促进与多个网络的同时通信。例如,网络连接部件806可以通过wwan、wlan或wpan中的一个或多个来促进与多个网络的同时通信。

网络828可以是例如利用一种或多种移动电信技术的移动电信网络的wwan,其用于通过wwan部件822利用计算设备架构800向计算设备提供语音和/或数据服务。移动电信技术可以包括但不限于全球移动通信系统(“gsm”)、码分多址(“cdma”)one、cdma2000、通用移动电信系统(“umts”)、长期演进(“lte”)和全球微波接入互操作性(“wimax”)。此外,网络828可以利用各种信道接入方法(其可以或可以不被前述的标准使用),其包括但不限于时分多址(“tdma”)、频分多址(“fdma”)、cdma、宽带cdma(“w-cdma”)、正交频分多路复用(“ofdm”)、空分多址(“sdma”)等。数据通信可以使用通用分组无线业务(“gprs”)、全球演进的增强型数据速率(“edge”)、包括高速下行链路分组接入(“hsdpa”)、增强型上行链路(“eul”)或其他称为高速上行链路分组接入(“hsupa”)、演进hspa(“hspa+”)、lte的高速分组接入(“hspa”)协议族以及各种其他当前和未来的无线数据接入标准来提供。网络828可以被配置为提供具有上述技术的任何组合的语音和/或数据通信。网络828可以被配置为或适于根据下一代技术来提供语音和/或数据通信。

在一些配置中,wwan部件822被配置为向网络828提供双重多模式连接。例如,wwan部件822可以被配置为向网络828提供连接,其中,网络828通过gsm和umts技术或通过其他技术组合来提供服务。替代地,可以使用多个wwan部件822来执行这样的功能,和/或提供额外的功能来支持其他不兼容的技术(即,不能被单个wwan部件支持)。wwan部件822可以促进与多个网络(例如,umts网络和lte网络)的类似连接。

网络828可以是根据一个或多个电气和电子工程师协会(“ieee”)802.11标准操作的wlan,诸如ieee802.11a、802.11b、802.11g、802.11n和/或未来的802.11标准(在本文中统称为wi-fi)。还考虑了802.11标准草案。在一些配置中,利用一个或多个无线wi-fi接入点来实现wlan。在一些配置中,一个或多个无线wi-fi接入点是与作为wi-fi热点的wwan连接的另一个计算设备。wlan部件824被配置为经由wi-fi接入点连接到网络828。这样的连接可以通过各种加密技术确保安全,这些加密技术包括但不限于wi-fi受保护访问(“wpa”)、wpa2、有线等效保密(“wep”)等。

网络828可以是根据红外数据协会(“irda”)、蓝牙、无线通用串行总线(“usb”)、z波、zigbee或一些其他短距离无线技术操作的wpan。在一些配置中,wpan部件826被配置为促进经由wpan与诸如外围设备、计算机或其他计算设备的其它设备进行通信。

传感器部件808包括磁力计830、环境光传感器832、接近度传感器834、加速度计836、陀螺仪838和全球定位系统传感器(“gps传感器”)840。可预期的是,诸如但不限于温度传感器或震动检测传感器的其它传感器也可以并入计算设备架构800中。

磁力计830被配置成测量磁场的强度和方向。在一些配置中,磁力计830向存储在存储器部件804中的一个存储器部件内的指南针应用程序提供测量结果,以便向用户提供包括基本方向(北、南、东、西)的参考系中的精确方向。可以向包括指南针部件的导航应用程序提供类似的测量结果。可以预期由磁力计830获得的测量结果的其它用途。

环境光传感器832被配置成测量环境光。在一些配置中,环境光传感器832向存储在一个存储器部件804内的应用程序提供测量结果,以便自动调节显示器的亮度(如下文所描述)以补偿低光和高光环境。可以预期由环境光传感器832获得的测量结果的其它用途。

接近度传感器834被配置为在没有直接接触的情况下检测靠近计算设备的对象或物体的存在。在一些配置中,接近度传感器834检测用户身体(例如,用户面部)的存在,并将该信息提供给存储在存储器部件804中的一个存储器部件内的应用程序,存储器部件804利用接近度信息来启用或禁用计算设备的某些功能。例如,电话应用程序可以响应于接收到接近度信息而自动禁用触摸屏(下文描述的),使得在通话期间,用户的脸部不会无意中结束呼叫或启用/禁用电话应用程序内的其他功能。可以预期由接近度传感器834检测到的接近度的其它用途。

加速度计836被配置为测量适当的加速度。在一些配置中,来自加速度计836的输出由应用程序用作控制应用程序的某些功能的输入机制。例如,应用程序可以是视频游戏,其中,字符、其一部分或对象被移动或以其他方式被操纵以响应于通过加速度计836接收的输入。在一些配置中,来自加速度计836的输出被提供给用于在横向模式与纵向模式之间切换、计算坐标加速度或检测下降的应用程序。可以预期加速度计836的其它用途。

陀螺仪838被配置为测量和保持方向。在一些配置中,来自陀螺仪838的输出由应用程序用作控制应用程序的某些功能的输入机制。例如,陀螺仪838可用于精确地识别视频游戏应用或某些其他应用的3d环境内的移动。在一些配置中,应用程序利用来自陀螺仪838和加速度计836的输出来增强对应用程序的某些功能的控制。可以预期陀螺仪838的其它用途。

gps传感器840被配置为从gps卫星接收信号以用于计算位置。由gps传感器840计算的位置可以由需要或受益于位置信息的任何应用程序使用。例如,由gps传感器840计算的位置可以与导航应用程序一起使用,以提供从位置到目的地的方向或从目的地到位置的方向。此外,gps传感器840可以用于向诸如e911服务的外部基于位置的服务提供位置信息。gps传感器840可以获得通过wi-fi、wimax和/或蜂窝三角测量技术(其利用一个或多个网络连接部件806来帮助gps传感器840获得定位)来生成的位置信息。gps传感器840还可以用在辅助gps(“a-gps”)系统中。

i/o部件810包括显示器842、触摸屏844、数据i/o接口部件(“数据i/o”)846、音频i/o接口部件(“音频i/o”)848、视频i/o接口部件(“视频i/o”)850和相机852。在一些配置中,显示器842和触摸屏844被组合在一起。在一些配置中,数据i/o部件846、音频i/o部件848和视频i/o部件850中的两个或多个被组合在一起。i/o部件810可以包括被配置为支持下文描述的各种接口的分立处理器,或者可以包括处理器802内置的处理功能。

显示器842是被配置为以视觉形式呈现信息的输出设备。特别地,显示器842可以呈现图形用户界面(“gui”)元素、文本、图像、视频、通知、虚拟按钮、虚拟键盘、消息传送数据、互联网内容、设备状态、时间、日期、日历数据、偏好、地图信息、位置信息和能够以视觉形式呈现的任何其他信息。在一些配置中,显示器842是利用任何有源或无源矩阵技术和任何背光技术(如果使用的话)的液晶显示器(“lcd”)。在一些配置中,显示器842是有机发光二极管(“oled”)显示器。可以预期其他显示器类型。

触摸屏844是被配置为检测触摸的存在和位置的输入设备。触摸屏844可以是电阻式触摸屏、电容式触摸屏、表面声波触摸屏、红外触摸屏、光学成像触摸屏、分散信号触摸屏、声学脉冲识别触摸屏,或者可以利用任何其他触摸屏技术。在一些配置中,触摸屏844被作为透明层包含在显示器842的顶部上,以使用户能够使用一个或多个触摸来与呈现在显示器842上的对象或其他信息进行交互。在其他配置中,触摸屏844是包括在计算设备的表面上的触摸板,该计算设备不包括显示器842。例如,计算设备可以具有包含在显示器842的顶部上的触摸屏和与显示器842相对的表面上的触摸板。

在一些配置中,触摸屏844是单触摸的触摸屏。在其他配置中,触摸屏844是多点触摸的触摸屏。在一些配置中,触摸屏844被配置为检测离散触摸、单触摸手势和/或多点触摸手势。为方便起见,本文统称为“手势”。现在将描述几个手势。应当理解,这些手势是说明性的,并不意图限制所附权利要求的范围。此外,所描述的手势、额外的手势和/或替代手势可以在与触摸屏844一起使用的软件中实现。因此,开发者可以创建特定于特定应用程序的手势。

在一些配置中,触摸屏844支持轻敲手势,其中,用户在显示器842上呈现的项目上轻敲触摸屏844一次。由于各种原因可以使用轻敲手势,其包括但不限于打开或启动用户轻敲的任何事物。在一些配置中,触摸屏844支持双击手势,其中,用户在显示器842上呈现的项目上轻敲触摸屏844两次。由于各种原因可以使用双击手势,其包括但不限于分阶段放大或缩小。在一些配置中,触摸屏844支持轻敲和保持手势,其中,用户轻敲触摸屏844并保持接触持续至少预定义的时间。由于各种原因可以使用轻敲和保持手势,其包括但不限于打开特定上下文的菜单。

在一些配置中,触摸屏844支持平移手势,其中,用户将手指放置在触摸屏844上,并且在触摸屏844上移动手指的同时保持与触摸屏844的接触。平移手势可以用于各种原因包括但不限于以受控的速率移动通过屏幕、图像或菜单。也可以考虑多个手指平移手势。在一些配置中,触摸屏844支持轻弹手势,其中,用户在用户希望屏幕移动的方向上滑动手指。可以由于各种原因使用轻弹手势,其包括但不限于水平或垂直滚动通过菜单或页面。在一些配置中,触摸屏844支持捏合和拉伸手势,其中,用户使用触摸屏844上用两个手指(例如,拇指和食指)进行捏合运动或将两个手指分开。可以由于各种原因使用捏合和拉伸手势,其包括但不限于逐渐地放大或缩小网站、地图或图片。

虽然已经参考使用一个或多个手指来执行手势而呈现上文描述的手势,但是可以使用诸如脚趾的其他附件或诸如触笔的对象等来与触摸屏844进行交互。因此,上文的手势应当被理解为是说明性的,并且不应当被解释为以任何方式限制。

数据i/o接口部件846被配置为促进将数据输入到计算设备并从计算设备输出数据。在一些配置中,例如出于同步操作的目的,数据i/o接口部件846包括被配置为在计算设备与计算机系统之间提供有线连接的连接器。连接器可以是诸如usb、微型usb、迷你usb等的专用连接器或标准连接器。在一些配置中,连接器是用于使计算设备与诸如插接站、音频设备(例如,数字音乐播放器)或视频设备的另一设备对接的插接连接器。

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

视频i/o接口部件850被配置为向计算设备提供视频输入和/或输出能力。在一些配置中,视频i/o接口部件850包括被配置为从另一设备(例如,诸如dvd或蓝光播放器的视频媒体播放器)接收视频作为输入或者将视频作为输出发送到另一设备(例如,监视器、电视机或其他外部显示器)的视频连接器。在一些配置中,视频i/o接口部件850包括用于输入/输出视频内容的高清多媒体接口(“hdmi”)、迷你hdmi、微型hdmi、显示端口或专用连接器。在一些配置中,视频i/o接口部件850或其部分与音频i/o接口部件848或其部分组合在一起。

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

虽然未例示,但还可以在计算设备架构800中包括一个或多个硬件按钮。硬件按钮可用于控制计算设备的某些操作方面。硬件按钮可以是专用按钮或多用途按钮。硬件按钮可以是机械的或基于传感器的。

所示的电源部件812包括一个或多个电池854,其可以连接到电池量表856。电池854可以是可再充电的或一次性的。可充电电池类型包括但不限于锂聚合物、锂离子、镍镉和镍金属氢化物。每个电池854可以由一个或多个单元制成。

电池量表856可被配置为测量诸如电流、电压和温度的电池参数。在一些配置中,电池量表856被配置为测量电池放电速率、温度、年龄和其他因素的影响,以在一定百分比的误差内预测剩余寿命。在一些配置中,电池量表856向应用程序提供测量结果,该应用程序被配置为利用测量结果向用户呈现有用的电源管理数据。电源管理数据可以包括使用的电池的百分比、剩余电池的百分比、电池状况、剩余时间、剩余容量(例如,瓦特小时)、电流消耗和电压中的一个或多个。

电源部件812还可以包括电源连接器,其可以与前述i/o部件810中的一个或多个i/o部件组合在一起。电源部件812可以经由电源i/o部件844与外部电源系统或充电设备相接。

本文提供的公开内容还可以被认为包括以下条款中阐述的主题:

条款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的系统,其中,基于将文档的布局分类为纸状的布局或演示状的布局来选择或配置一个或多个启发式算法或一个或多个机器学习分类器。

第21条:一种系统,包括:

用于将文档的布局分类为多个布局类型中的一个布局类型的模块,该文档具有包含在其中的一个或多个明确格式化的文档元素;

用于确定对文档中的一个或多个明确格式化的文档元素的推断布局意图的模块,至少部分地基于对文档的布局的分类来确定推断的布局意图;以及

用于通过计算机使用所确定的对文档中的一个或多个明确格式化的文档元素的推断的布局意图来从文档生成基于意图的文档的模块。

条款22:根据条款21所述的系统,其中,通过以下方式来将文档的布局分类为多个布局类型中的一个布局类型:

一个或多个启发式文档布局分类算法;或

一个或多个基于机器学习的文档布局分类器,其已经使用人类对训练文档语料库的布局的分类来训练。

条款23:根据条款21-22所述的系统,其中,对文档中一个或多个明确格式化的文档元素的推断的布局意图由以下方式确定:

一种或多种启发式算法,其检查或配置文档中的文档元素,以确定对文档中一个或多个明确格式化的文档元素的推断的布局意图;或

一个或多个机器学习分类器,其利用机器学习来确定对文档中一个或多个明确格式化的文档元素的推断的布局意图,该机器学习分类器已经基于人类对训练文档语料库中的明确格式化的文档元素的布局意图的分类来训练。

条款24:根据条款21-23所述的系统,其中,基于对文档的布局的分类来选择或配置一个或多个启发式算法或一个或多个机器学习分类器。

条款25:根据条款21-24所述的系统,包括用于生成与文档中的一个或多个明确格式化的文档元素的推断的布局意图相关联的确定性分数的模块。

基于前述内容,应当理解,本文已经公开了用于推断布局意图的技术。尽管已经以特定于计算机结构特征、方法学和变革行为、特定计算机器和计算机可读介质的语言描述了本文提出的主题,但是应当理解,在所附权利要求中限定的本发明不一定限于本文所描述的具体特征、动作或介质。相反,具体特征、动作和介质被公开为实现权利要求的示例性形式。

上文描述的主题仅通过说明的方式提供,而不应被解释为限制性的。在不脱离所附权利要求中阐述的本发明的真实精神和范围的情况下,可以对本文所描述的主题进行各种修改和改变,而无需遵循所例示和所描述的示例性配置和应用。

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