CN107787487B - 将文档解构为成分块以用于在生产力应用中重新使用 - Google Patents

将文档解构为成分块以用于在生产力应用中重新使用 Download PDF

Info

Publication number
CN107787487B
CN107787487B CN201680036845.3A CN201680036845A CN107787487B CN 107787487 B CN107787487 B CN 107787487B CN 201680036845 A CN201680036845 A CN 201680036845A CN 107787487 B CN107787487 B CN 107787487B
Authority
CN
China
Prior art keywords
document
component
objects
user
receiving
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.)
Active
Application number
CN201680036845.3A
Other languages
English (en)
Other versions
CN107787487A (zh
Inventor
P·奇拉卡玛瑞
B·S·J·克赫尔米尔
B·奥尔斯塔
A·库普萨米
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 CN107787487A publication Critical patent/CN107787487A/zh
Application granted granted Critical
Publication of CN107787487B publication Critical patent/CN107787487B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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/93Document management systems
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computing Systems (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

文档可以使用文档粉碎器而被解构为成分块以用于在生产力应用中重新使用。所述文档粉碎器可以识别源文档内有可能被重新使用的具体对象,复制所述对象,并且将所述对象或成分块与所述源文档分开存储。所述生产力应用可以访问所述对象并且将这些对象呈现给所述生产力应用的用户以便易于插入到所述用户的文档中。所述成分块或所识别的相关对象可以来自于由与生产力应用的用户相同或不同的作者先前生成的内容的文档源。

Description

将文档解构为成分块以用于在生产力应用中重新使用
技术领域
本发明涉及用于促进内容创作的技术。
背景技术
生产力软件提供了创作和消费电子形式的内容的工具和平台,所述电子形式包括文档,例如但不限于文字处理文档、记事本文档、演示文档、电子表格文档和网页文档。经由生产力应用创作和消费内容的电子格式——以及在许多情况下使得能够通过有线和无线协议在设备之间进行通信的计算系统的网络通信接口——提供了关注于如何帮助用户更快地“写出”更好的内容的独特能力。
发明内容
呈现了用于促进内容创作的技术和系统。先前由与生产力应用的用户相同或不同的作者所生成的内容可以被重新使用。先前所生成的内容与生产力应用所消费或生成的内容相比可以是相同或不同的文件类型。为了促进内容创作,先前由用户或他人所写的文档的集合可以被转换为成分对象。接着可以使得这些对象可用于取回以及插入在生产力应用内,这允许作者重新使用这些对象而不必离开应用或打开分别的文件以及主动地复制一部分并粘贴到他们当前的文档中。
描述了一种将文档转换为成分对象的文档粉碎器。所述文档粉碎器可以作为服务由生产力应用来访问以便获得文档的成分对象。所述文档粉碎器响应于接收到来自生产力应用的请求而获得由所述请求所指示的文档并且应用解析器。所述解析器包括这样的逻辑,其理解对象如何以文档的文件格式来表示,识别所述对象的边界以及该对象在文档中的任何依赖实体,提取该对象及其依赖实体,并且利用所述对象及其依赖实体的表示来生成成分块文件。
提供了该发明内容而以用简化形式引入在下文的具体实施方式中进一步描述的概念的选择。该发明内容不旨在在标识所要求保护主题的关键特征或必要特征,也不旨在用来帮助确定所要求保护主题的范围。
附图说明
图1示出了促进内容重新使用的生产力应用的示例过程流程。
图2示出了可以由文档粉碎器实行的示例过程。
图3示出了示例操作环境。
图4A-4I示出了图形用户界面以及生产力应用为了促进内容重新使用所采取的对应的动作。
图5示出了能够支持图4A-4I的示例实现的操作环境。
图6示出了可以在本文所描述的某些实现中使用的计算设备的组件。
图7示出了可以用来实现在本文中所描述的某些方法和服务的计算系统的组件。
图8A示出了粉碎服务的简化工作流程。
图8B示出了一个实现中的粉碎器处的过程流程的更加详细的示例。
图9示出了示例粉碎器的工作流程。
图10示出了处理用于获得粉碎对象的请求的服务的工作流程。
具体实施方式
呈现了用于促进内容创作的技术和系统。
先前由与生产力应用的用户相同或不同的作者所生成的内容可以被重新使用。先前所生成的内容与生产力应用所消费或生成的内容相比可以是相同或不同的文件类型。为了促进内容创作,文档可以被转换为与生产力应用的文档格式相兼容的成分对象,并且可以在不打开相同或不同应用的另一个窗口的情况下被插入到用户的文档中。
在本文中所提及的“文档”是指包含可消费内容的文件,并且不应当被理解为限于.doc、.docx、和相关文件格式。也就是说,术语“文档”替代术语“内容文件”而被宽泛地使用并且可以是任何合适的文件格式。
文档的解构可以被称作“文档粉碎”。文档粉碎器(执行文档粉碎的模块或软件应用)的目标是识别文档中有可能在其他文档中被重新使用的具体对象(“可重新使用的对象”或“成分对象”)。这些具体对象的示例包括图像、可视化/图表(例如,如从某些电子表格应用可用的)、数据表、幻灯片等。在一些情况下,文档粉碎器通过寻找已知文件格式的文档(例如,Office文档)内的一组预先定义的对象类型而执行内容到相关对象的转换。一旦这些对象已经被识别,粉碎器则可以与源文档独立地复制和存储这些对象。这些对象的独立存储可以使得所述对象能够从客户端应用被快速访问而无需下载并打开整个原始源文件。应当理解的是,所述对象的独立存储将在管理隐私和同步的规范允许时被执行。例如,在一些情况下,对象可以在粉碎器的使用期间被存储,并且接着在发送至用于粉碎的请求的源之后被删除。
内容到相关对象的转换可以在请求重新使用来自特定文档的内容之前或之时已经被执行。文档粉碎器可以在远程服务器处执行。将内容转换为相关对象可以在远程服务器上在某些时间处执行以供随后使用(或重新使用)。接着,在客户端处,生产力应用可以响应于用户请求查看和/或插入可重新使用的内容而提取所述成分。
图1示出了促进内容重新使用的生产力应用的示例过程流程。所述生产力应用可以为用户提供沉浸式体验,以使得用户能够重新使用与他们的工作可能相关的文档部分而不需要离开所述生产力应用(以及他们自己的文档)。例如,参考图1所示的过程100,响应于接收到选择文档以在生产力应用内查看的指示(101),所述生产力应用可以获得所选择的文档的成分对象(102)。在这里,对文档的查看可以是指例如在窗格或菜单中预览来自所述文档的内容的可能插入,而不是使用生产力应用打开所述文档的情况,例如选择文件以用于从生产力应用内打开的情况。
获得所选择文档的成分对象的步骤102可以涉及到将所选择的相关文档内容转换为成分对象。在一些情况下,所述转换可以例如通过针对可识别的对象块来解析文档的内容来在客户端/生产力应用处完成。在一些情况下,获得所选择文档的成分对象的步骤102可以涉及从服务请求文档的成分对象以及从服务接收成分对象。所述服务可以包括文档粉碎器。所述文档粉碎器可以将文档转换为成分块(成分对象的实例的文件)。实际上,响应于客户端的请求或者在早些时候,文档粉碎器能够将源文档的内容转换为可以被插入到用户的文档之中的具体的成分对象。
图2示出了可以由文档粉碎器实行的示例过程。参考图2,文档粉碎器可以识别源文档内的预先定义的对象类型(201)。所述预先定义的对象类型可以取决于文档的类型、其内容、和/或格式。另外,预先定义的粒度可以根据实现而不同。针对一种类型的文档通常存在一些逻辑原子碎片。碎片的“原子”属性是指来自另一文档的内容中将会或可以被大规模重新使用而无需进一步划分的那些单元或对象。例如,演示文档可以包括指示幻灯片、标题、页脚、图像等的预先定义的对象类型。电子表格文档可以包括指示图形、数据表、和/或单元格分组的预先定义的对象类型。文字处理文档可以没有像文档所指示的那么多的明显结构;然而,可以存在诸如图形、段落、标题、图像、等式、和表格之类的多个对象。
在任何情况下,文档粉碎器可以包括用于使用关键词、关键短语、和/或主题检测来识别文本部分以识别文本中可以涉及用户文档的上下文的章节的额外功能。实际上,在一些情况下,可以提取为术语提供定义的文本块,例如,作者可能已经包括了文本“获得是一个商业实体包含另一个商业实体的过程(an acquisition is a process where onebusiness entity subsumes another)”,其可以被提取并且作为能够被他人轻松引用的术语定义的存储库的一部分来保存。这里的可重新使用的对象是文本,但是其不是经由任何简单的启发式方法所识别的。因此,不同于识别源文档内的预先定义的对象类型或者除此之外,文档粉碎器可以识别源文档的文本中的主题或定义并且将指向该主题的文本的副本保存为可识别对象块以供随后重新使用。
例如,可以分析文档的内容以识别实体、主题、和关键短语提取。关键短语提取可以关于公共和/或私有语料库而被训练。文档中的内容可以包含各种条目,例如文本、词语、字符串、数字、符号、图像等。所述条目能够基于各种特性而被辨识为实体。对文档的分析可以包括例如按照命名实体辨识器和词典查找来搜索可辨识的实体和/或域。域是一系列实体(或项目)的类别。例如,域可以是图书。实体是指文档(或其他文件)所讨论或描述的概念(人、组织、位置、服务、时间的、数字的、货币的等)。在图书域的示例中,它们的实体可以是具体的图书。多个方面是关于所述实体被提及并且用户可能对其感兴趣的实体的性质或属性。在图书作为实体的情况下,方面的示例是流派或者前提/情节。应当理解的是,术语“实体”并不应当限于具体命名的实体并且可以指代诸如“销售数据”或“融资演讲稿(pitchdeck)”之类的宽泛概念。
主题是词语的分布并且可以对应于实体的一个方面(并且有时对应于实体本身)。主题充当相关信息的主体或类别。表达的主题可以被用于实体消歧(例如,使用隐含狄利克雷分布(LDA)及其层级变量)。实体消歧指的是利用几个实体类型标签中的一个从文本及其标签中识别实体。在一些情况下,维基百科可以用作针对大规模实体消歧的综合参考文献。在其他情况下,其他公共的和/或私人的语料库可以用于促进实体消歧。
将文本的部分识别为成分对象可以通过识别文档中的某些对象(例如,段落或章节或字体改变)作为补充。
返回图2,在源文档中被识别的预先定义的对象类型可以被复制(202),以及独立于所述源文档而被存储为特定源文档的经粉碎的成分对象(203)。所述识别和复制可以由“解析器”来执行,所述解析器理解源文档的文件类型并且能够提取成分对象。解析器包括理解文档格式,并且特别地理解个体对象如何以该文档格式来表示的逻辑。此外,除了从文件中的数据识别对象的边界之外,所述解析器还识别可能位于文件的不同部分的对象的依赖实体。例如,在电子表格应用中,针对电子表格文件类型的解析器针对表格识别所述表格之外被所述表格引用的单元格的任意数据,并且将那些数据与表格一起提取以使得成分对象可以在不缺失内容的情况下被复制。
所述文档粉碎器可以生成成分块文件,所述成分块文件包括成分对象及其依赖实体(为了简单起见,成分对象及其依赖实体的组合在本文可以简单地被称为成分对象)。成分块文件可以是任何数量的文件格式。在一些情况下,可以生成图像文件以用作对象的预览和/或由不支持成分块文件的文件格式(或者成分块文件可以转换成的文件格式之一)的客户端来使用。
在一些情况下,(成分块中的)经粉碎的成分对象与源文档本身被存储在同一存储系统上。在其他情况下,经粉碎的成分对象被存储在单独的存储系统上。经粉碎的成分对象可以以该方式被存储以便随后响应于生产力应用或其他客户端的请求而取回。当然,文档粉碎器的某些实现可以涉及按需特征,其中源文档在用于获得成分对象的请求时被粉碎为成分对象。
有利地,因为生产力应用可以获得文档的成分对象(由于在客户端所提供的功能或者通过经由服务而被提供了成分对象),结果可以是文档类型和应用不可知论。也就是说,生产力应用使得用户能够重新使用来自多种内容和应用类型(文件类型)的内容。“文件类型”或“文件格式类型”是指可用于对信息进行编码以便存储在计算机文件中的不同的文件格式。“文档”的文件类型的示例包括发布文档文件格式、文字处理文档文件格式、图形文件格式、演示文档文件格式、电子表格文档文件格式、以及网页文档文件格式。
返回图1,一旦(例如,从由生产力应用所接收的清单)获得了成分对象,这些(以预览图像实例或对象格式实例为形式的)成分对象就可以在生产力应用内被显示(103)。在一些情况下,成分对象可以以表示被插入内容的形式来显示,例如以类似于在许多生产力应用中被描绘为用于经由“插入”菜单插入的多种可用对象的方式来显示。因此,所显示的对象也可以充当用于插入对象的命令的图形表示形式,以使得响应于接收到对所显示的成分对象中的一个或多个成分对象的选择(104),所述生产力应用可以将成分对象插入到文档中(105)。关于图10描述了生产力应用通过其获得所选择的所显示的成分对象的成分块文件的过程的示例。
在一些实现中,生产力应用可以包括促进将成分对象插入在现有布局之内的智能。例如,一旦生产力应用接收到将成分对象(或块)插入/输入到用户的文档中的命令,所述成分对象就可以被转换为现有格式和风格。例如,插入到Word文档可以将成分对象转换为活动的Word文档的格式。
图3示出了示例操作环境。参考图3,执行过程100的客户端301可以向服务器311发送请求302。响应于接收到请求302,服务器311可以从经粉碎的对象存储320取回由所述请求所标识的源文档中合适的可重新使用的对象并且将源文档322的可重新使用的对象发送至客户端301。服务器311可以在接收到请求302之后执行过程200。做一些情况下,服务器311可以在请求302之前的时间执行过程200,以使得来自源文档的内容可以被转换为合适的可重新使用的对象并且被存储在经粉碎的对象存储320中。源文档可以从源文档存储330获得。
源文档存储330可以位于服务器311上,位于连接的企业服务器上,作为云存储的一部分等。类似地,经粉碎的对象存储320可以位于服务器311上,位于连接的企业服务器上,作为云存储的一部分等。尽管源文档存储和经粉碎的对象存储被示出为是分离的,但是实现不限于此并且源文档和经粉碎的对象可以作为整体或部分地存储在相同的存储设备或系统中。此外,不是所有的源文档都被存储在同一存储位置。在一些情况下,源文档可以被存储在本地和远程位置的各种位置处(以及甚至被存储在客户端设备上)。在源文档处于客户端设备处的一种情况下,客户端301可以将文档与请求302一起发送至服务器311。
在一些情况下,服务器311首先发送在请求302中所指示的文档的可重新使用的对象的清单。所述清单可以包括可重新使用的对象的缩略图,并且接着响应于客户端301和服务器311之间包括从所述可重新使用的对象进行的一个或多个选择的指示的随后的通信,服务器311可以将可重新使用的对象文件提供至客户端301。所述清单可以提供可重新使用的对象的排名列表,其中所述对象基于多种目的中的任何目的来排名的,所述目的包括但不限于与上下文的相关性、与关键词的相关性、以及与用户的指定请求的相关性。
图4A-4I示出了图形用户界面以及生产力应用为了促进内容重新使用所采取的对应的动作。参考图4A,在演示生产力应用的图形用户界面400中,初始状态可以是空白或新的演示(例如,“新”文档的默认状态)。针对该说明性场景,演示生产力应用的用户C.B.401正在演示幻灯片上写新的Contoso公司销售备忘录。该演示生产力应用的图形用户界面可以包括搜索栏403,其为用户提供了向生产力应用进行请求或者表达用于使用所述生产力应用的某一形式的意图的输入字段。搜索栏403可以经由敲击键盘、触摸键盘或显示器、运动手势、触摸手势、触摸笔(例如,“墨迹”)、头部、眼部、和视线跟踪、脑部活动、或语音输入来接收用户的表达/请求。在一些情况下,输入字段可以被提供为菜单、工具栏、任务栏/窗格、或者位于与生产力应用的内容创作表面相同或不同的视觉显示上的其他图形用户界面元素的一部分。尽管关于图形用户界面描述了具体的实现,但是应当理解的是,除了或替代图形用户界面组件,可以使用自然用户界面(NUI)。
在该示例情况下,用户在搜索栏403的输入字段中输入“新的contoso销售备忘录(New contoso sales memo)”405。这样的短语的输入可以足够作为命令以获得相关文档,或者例如经由选择图标、语音输入、手势或触摸输入等的分别的命令可以发起由生产力应用进行的过程以获得相关文档。例如,下拉菜单420可以提供用户可用的多个动作,包括选择查看相关文档421,其可以如在图4B中所示的那样被选择(430)以便发起使生产力应用请求相关企业内容的命令。由于在演示文档中并没有要获得上下文的内容,所以对搜索栏403的术语输入(连同可能的一些其他上下文一起)可以用于生成对服务的请求。
在对文档的请求已经被发送至服务之后,生产力应用从服务接收经排名的相关文档并且这些结果可以例如在生产力应用图形用户界面400的信息窗格440中被呈现给用户。还应当理解的是,该过程可以在没有明确的用户查询的情况下被发起(例如,通过对搜索框进行表达输入或者从文档中的内容被突出显示)。例如,用户能够在处于他们的创作过程中的同时直接访问信息窗格440。该应用接着可以基于在用户访问信息窗格440时所述文档中的内容来生成相关结果的集合。
在图4C中所示出的示例中,信息窗格440指示结果的主题441并且列出由服务所返回的经标识的经排名的结果。在这里,示出了两个文档,一个是来自Pradeep 443的演示文档442,一个是来自Bernhard 445的电子表格文档444。这些结果已经由服务基于Pradeep和Bernhard与用户C.B.的关系以及所述文档与“Contoso sales memo”的相关度进行了选择。所述结果可以基于企业图。
从图4C的信息窗格440,用户可以选择(450)FY14 Contoso报告442。生产力应用接着提供用于插入相关内容的沉浸式体验。
例如,如在图4D中所示,在用户选择了报告442之后,不同于该打开文档的动作,生产力应用获得所述文档中可以经由选择字段460来选择的成分对象。在图4D中所示出的示例中,生产力应用可以将FY14 Contoso报告442的演示文档转换为、请求已经转换为、或者已经转换(通过远程文档粉碎器)为个体幻灯片的成分对象,并且甚至从报告442的主要部分452和附录453中识别幻灯片。用户可以容易地选择在选择字段460中呈现的成分对象,并且在不离开生产力应用的情况下在他们自己的文档中重新使用那些对象。例如,用户可以(分别利用操作A、B和C)选择幻灯片454、455和456,并且接着通过选择用于导入对象461的命令的操作D来指示这些幻灯片要被包括在他们自己的文档中。
将报告442转换为幻灯片的成分对象对于演示文档而言是一种有用的方法;然而,该类型的粒度(例如,整个幻灯片)可以根据实现以及文档的类型、其内容、和/或格式而不同。对于一种类型的文档通常存在一些逻辑原子碎片,并且这样的碎片可以以可选择成分对象的形式在选择字段460中呈现。例如,在电子表格文档中,成分对象可以包括图形、数据表、和/或单元分组。
在图4F-4H中示出了电子表格的示例。在对电子表格示例进行说明之前,在图4E中可以看到在幻灯片454、455和456被导入到用户的文档中之后,所述用户可以通过关闭选择字段460而从选择字段返回至信息窗格440,例如通过选择(463)图标464以退出选择字段460。当然,这仅仅是说明用于返回先前状态的一种示例图形用户界面特征并且不应当被理解为进行限制。
如在图4F中所示,选择窗格被关闭并且信息窗格被示出有Contoso报告442和销售概况度量444的经排名的结果。在这里,用户可以决定选择(470)销售概况度量444。
接着,如图4G中所示,生产力应用获得文档444的成分对象并且将信息窗格440转换为选择字段460。在图4G中所示出的示例中,生产力应用可以将销售指标概况444的演示文档转换、请求已经转换、或者已经转换(通过远程文档粉碎器)为电子表格444的可视化472和附录473的成分对象。用户可以容易地选择在选择字段460中呈现的成分对象,并且在不离开生产力应用的情况下在他们自己的文档中重新使用那些对象。例如,用户可以(利用操作X)选择可视化图形474,并且急着通过选择用于导入对象461的命令的操作Y来指示该对象要被包括在他们自己的文档中。
当用户完成时,如在图4H中所示,可以看到在图形474被导入到用户的文档中之后,所示用户可以通过关闭选择字段460来从选择字段返回至信息窗格440,例如通过选择(463)图标464以退出选择字段460。接着,如在图4I中所示,所述用户可以返回至信息窗格440(其可以接着被关闭)。
图5示出了可以支持图4A-4I的示例实现的操作环境。参考图5,操作环境500可以涉及具有应用平台501和服务平台511的服务架构。本地应用502是在应用平台501的上下文内执行的,而服务512是由服务平台511托管的并且在其上下文内运行。
本地应用502表示能够实现图形用户界面503(例如图形用户界面400(以及相对应的生产力应用))并且执行关于图4A-4I所描述的过程(包括过程100)的任何软件应用、模块、组件、或其组合。可以在其中提供所描述技术的应用的示例包括但不限于文字处理应用、电子表格应用、演示应用、网络浏览器、电子邮件应用、博客和微博客应用、社交网络应用、以及游戏应用。实际上,所描述的技术适用于多种的生产力应用。
生产力应用的示例包括来自微软公司的Microsoft
Figure GDA0003028255110000101
应用套件,包括Microsoft
Figure GDA0003028255110000104
Microsoft
Figure GDA0003028255110000103
Microsoft
Figure GDA0003028255110000102
以及它们的网络应用组件,它们全部都是微软公司的注册商标;Google Docs(以及Google DriveTM);可以从Apache软件基金会获得的Apache OpenOfficeTM;可以从作为The Document Foundation的注册商标的The Document Foundation获得的
Figure GDA0003028255110000105
应用套件;以及来自苹果公司的Apple
Figure GDA0003028255110000109
应用套件,包括Apple
Figure GDA0003028255110000106
Apple
Figure GDA0003028255110000107
和Apple
Figure GDA0003028255110000108
它们全部都是苹果公司的注册商标。
术语“生产力应用”在一些情况下可以与“内容创作应用”或“内容创作工具”是同义词。由于所描述的系统和技术关注于通过其创作内容的应用和工具,因此预期在这些术语之间没有差别并且这样的术语可以在本文中可交换地使用。
本地应用502可以是在浏览器应用的上下文中执行的基于浏览器的应用。在一些实现中,本地应用502可以在网页、网站、网络服务等的上下文中执行或者与它们相关联地执行。然而,本地应用502也可以是本地安装并执行的应用、流式传输应用、移动应用、或其任何组合或变型。本地应用502可以被实现为独立应用或者可以跨多个应用而分布。
具有本地应用502的应用平台501可以表示具有提供如在本文中所描述的创作体验的生产力应用的客户端计算设备。应用平台501表示能够托管本地应用502(并且能够采用关于图1所描述的过程100的)任何物理或虚拟计算系统、设备、或者其组合。示例包括但不限于智能电话、膝上型计算机、平板计算机、台式计算机、混合计算机、游戏机、智能电视、娱乐设备、互联网家电、虚拟机、可穿戴计算机(例如,手表、眼镜)、以及它们的任何变型或组合,在图6中所示的计算系统600对其进行表示。
具有服务512的服务平台511可以表示代表生产力应用实行图形查询以便响应于由应用平台501所传送至服务512的请求520而向生产力应用的用户提供相关文档(和/或成分对象)的服务。服务平台511还包括(可以实行过程200的)文档粉碎器513。
服务平台511可以托管企业资源522(包括基于云的资源523),与企业资源522集成或者通信,所述企业资源522例如联系人数据库、活动目录数据库、文件存储等。示例资源包括但不限于Microsoft SharePoint、Microsoft OneDrive、和Dropbox。服务512和/或文档粉碎器513还能够实行应用平台501本地的资源的搜索和/或从其取回内容。在一些情况下,服务平台511还可以与诸如通过搜索服务527可获得的资源525、526和527之类的互联网资源524进行通信,其例如包含网站、网页、联系人数据库、活动目录数据库、列表、地图、帐户等。
服务512可以实行过程以基于用户以及从活动应用(以及日期)所提供的(具有可识别实体和主题的)内容针对相关文档(以及一些情况下的其他内容)搜索可用资源,并且将结果530提供至本地应用502。服务512能够(在许可的情况下)搜索包含用户可能想要重新使用的内容的任何数据库。类似地,文档粉碎器513可以针对服务512和/或本地应用502所识别的文档来执行文档粉碎过程,并且将结果530提供至本地应用502。
服务平台511表示能够托管服务512的全部或部分的任何物理或虚拟计算系统、设备、或者其组合。服务平台511的示例包括但不限于网络服务器、应用服务器、机架服务器、刀片式服务器、虚拟机服务器、或塔式服务器,以及图7的计算系统700所表示的任何其他类型的计算系统。在一些情况下,服务平台511可以在数据通信、虚拟数据中心或者一些其他合适的设施中实现。在一些情况下,服务平台511可以类似于计算系统600来实现。
在一些情况下,本地应用502可以被认为远离各自在分别的计算平台上实现的服务512和/或文档粉碎器513。在这样的情况下,本地应用502和服务512和/或文档粉碎器513可以利用在应用平台501与服务平台511之间通过一个或多个合适的通信链路(未示出)交换的数据或信息来进行通信。在其他情况下,由本地应用502和服务512和/或文档粉碎器513所提供的特征和功能可以位于同一位置或者甚至被集成为单个应用。
图6示出了可以在本文中所描述的某些实现中使用的计算设备的组件;而图7示出了可以用来实现在本文中所描述的某些方法和服务的计算系统的组件。
参考图6,系统600可以表示计算设备,例如但不限于个人计算机、阅读器、移动设备、个人数字助理、可穿戴计算机、智能电话、平板计算机、膝上型计算机(笔记本或上网本)、游戏设备或控制台、娱乐设备、混合计算机、台式计算机、或智能电视。由此,关于系统600所描述的更多或更少的元件可以被包含以实现特定的计算设备。
系统600包括用于根据存储在存储系统615上的软件610的指令来转换或操纵数据的一个或多个处理器的处理系统605。处理系统605的处理器的示例包括通用中央处理单元、专用处理器、和逻辑器件、以及任何其他类型的处理设备、其组合或变型。处理系统605可以连同例如网络连通性组件、传感器、视频显示组件的一个或多个其他组件一起作为片上系统(SoC)或者被包括在其中。
软件610可以包括操作系统以及应用程序,例如提供诸如本文中所描述的创作体验的生产力应用620。设备操作系统通常控制和协调计算设备中的各种组件的功能,为应用提供更为容易的方式来与如网络接口的较低层接口连接。操作系统的非限制性示例包括来自微软公司的
Figure GDA0003028255110000121
来自苹果公司的
Figure GDA0003028255110000123
iOSTM、来自谷歌公司的
Figure GDA0003028255110000122
OS、以及来自Canonica的多种Linux OS的Ubuntu。
应当注意的是,操作系统可以在计算设备上本机地实现并且在本机设备操作系统(OS)的顶端运行的软件虚拟层上实现。尽管图6中并没有描绘,但是虚拟OS层可以被认为是操作系统空间内额外的、嵌套的分组,它们每个包含OS、应用程序、和应用程序接口。
存储系统612可以包括可以由处理系统605读取并且能够存储包括生产力应用620在内的软件610的任何计算机可读存储介质。
存储系统615可以包括以用于存储信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动的介质,所述信息例如计算机可读指令、数据结构、程序模块、或其他数据。存储系统615的存储介质的示例包括随机存取存储器、只读存储器、磁盘、光盘、CD、DVD、闪速存储器、盒式磁带、磁带、磁盘存储或其他磁性存储设备、或者任意其他合适的存储介质。传播信号或载波在任何情况下都不是存储介质,并且本文中所提及的“计算机可读存储介质”和“计算机可读存储介质”不应当被解释为传播信号。
存储系统615可以被实现为单个存储设备,但是也可以跨处于同一位置或相对于彼此而分布的多个存储设备或子系统来实现。存储系统615可以包括额外的元件,例如能够与处理系统605进行通信的控制器。
软件610可以以程序指令来实现并且当一般地由系统600或特别地由处理系统605执行时,可以引导系统600或者处理系统605中的一个或多个处理器如在本文中所描述的那样操作。
通常而言,当被加载到处理系统605中并且被执行时,软件可以将计算系统600整体上从通用计算系统转换为被定制以获取和处理信息以促进如本文中针对每个实现所描述的内容创作的专用计算系统。实际上,将软件编码在存储系统615上可以转换存储系统615的物理结构。所述物理结构的具体转换可以取决于该说明书中不同的实现的各种因素。这样的因素的示例可以包括但不限于用于实现存储系统615的存储介质的技术并且无论计算机存储介质被表征为主存储还是辅存储。
所述系统可以还包括用户接口系统630,所述用户接口系统630包括使得在用户与系统600之间能够进行通信的输入/输出(I/O)设备和组件。用户接口系统630可以包括输入设备,例如鼠标631、轨迹板(未示出)、键盘632、用于接收来自于用户的触摸手势的触摸设备633、用于检测用户的非触摸手势和其他运动的运动输入设备634、用于检测话音(未示出)的麦克风、以及可以接收用户输入的其他类型的输入设备以及它们相关联的处理元件。
用户接口系统630还可以包括输出设备,例如显示屏(635)、扬声器(未示出)、针对触觉反馈的触觉设备(未示出)、以及其他类型的输出设备。在某些情况下,输入和输出设备可以组合在单个设备中,例如描绘图像并且接收来自用户的触摸手势输入的触摸屏显示器。触摸屏(其可以与显示器相关联或者形成显示器的一部分)是被配置为检测触摸的存在和位置的输入设备。触摸屏可以是电阻式触摸屏、电容式触摸屏、表面声波触摸屏、红外触摸屏、光学成像触摸屏、分散信号触摸屏、声学脉冲识别触摸屏,或者可以利用任何其他触摸屏技术。在一些实施例中,触摸屏是作为透明层被包含在显示器顶层的,以使得用户能够使用一个或多个触摸来与呈现在所述显示器上的对象或其他信息进行交互。
视觉输出可以以多种方式在显示器635上描绘,成像图形用户界面元素、文本、图像、视频、通知、虚拟按钮、虚拟键盘、或者可以以视觉形式描绘的任何其他类型的信息。
用户接口系统630还可以包括在各种用户输入和输出设备的支持下由OS所执行的用户接口软件和相关联的软件(例如,针对图形芯片和输入设备的)。相关联的软件在使用所定义机制将用户接口硬件事件传输至应用程序时对OS进行辅助。包括用户接口软件的用户接口系统630可以支持图形用户界面、自然用户界面,或者任意其他类型的用户界面。例如,在本文中所描述的用于辅助内容创作(和对应的功能)的生产力应用和/或生产力工具的界面可以通过用户接口系统630来呈现。
通信接口640可以包括允许通过一个或多个通信网络(未示出)与其他计算系统进行通信的通信连接和设备。共同允许系统间通信的连接和设备的示例可以包括网络接口卡、天线、功率放大器、RF电路、收发器、以及其他通信电路。所述连接和设备可以通过通信介质(例如金属、玻璃、空气,或者任何其他合适的通信介质)进行通信以与其他计算系统或系统的网络交换通信。来往于通信接口的传输是由OS控制的,其在必要时向应用通知通信事件。
计算系统600通常旨在表示软件利用其被采用和执行以便实现如在本文中所描述的针对生产力工具的应用、组件、或服务的计算系统。在一些情况下,计算系统600的方面还可以表示软件可以驻留于其上并且可以从中分配、传输、下载、或者以其他方式提供至另一个计算系统以供部署、执行、或者进一步分配的计算系统。
在本文中所描述的诸如在服务平台511处执行的那些的某些方面可以在例如在图7中所示出的系统上执行。参考图7,系统700可以在单个计算设备内实现或者跨在执行程序指令时协作的多个计算设备或子系统分布。系统700可以包括一个或多个刀片服务器设备、独立服务器设备、个人计算机、路由器、集线器、交换机、桥接器、防火墙设备、入侵检测设备、大型计算机、网络附接存储设备、以及其他类型的计算设备。系统硬件可以根据诸如对称多处理(SMP)架构或非均匀存储器访问(NUMA)架构之类的任何合适的计算机架构来配置。
系统700可以包括处理系统710,所述处理系统710可以包括从存储系统730取回并执行软件720的一个或多个处理器和/或其他电路。处理系统710可以在单个处理设备内实现,但是也可以跨在执行程序指令时协作的多个处理设备或子系统分布。
存储系统730可以包括可以由处理系统710读取并且可以存储软件720的任何计算机可读存储介质。存储系统730可以被实现为单个存储设备,但是也可以跨位于同一位置或者相对于彼此而分布的多个存储设备来实现。存储系统730可以包括额外的元件,例如能够与处理系统710进行通信的控制器。如在上文中所提及的,本文中所提及的任何“计算机可读存储媒体”和“计算机可读存储介质”都不应当被解释为传播信号。
软件720可以以程序指令来实现并且当一般地由系统700或特别地由处理系统710执行时,可以引导系统700或者处理系统710如在本文中针对文档粉碎器745所描述的那样操作。
在一些情况下,可以提供应用程序接口(API),其使得文档粉碎器的方面对其他系统、服务、和/或客户端可用。
API是通过程序代码组件或硬件组件(此后称作“API实现组件”)所实现的接口,其允许不同程序代码组件或硬件组件(此后称作“API调用组件”)访问并使用由API实现组件所提供的一种或多种功能、方法、过程、数据结构、类、和/或其他服务。API可以定义在API调用组件和API实现组件之间传递的一个或多个参数。API可以用来访问API实现组件所提供的服务或数据,或者促进API实现组件所提供的操作或计算的执行。作为示例,API实现组件和API调用组件每个都可以是操作系统、库、设备驱动器、API、应用程序、或其他模块中的任何一个(应当理解的是,API实现组件和API调用组件可以是相同类型或者彼此不同的类型)。API实现组件在一些情况下可以至少部分以固件、微代码、或其他硬件逻辑来实施。
API调用组件可以是本地组件(即,与API实现组件在相同的数据处理系统上)或者是经由网络通过API与API实现组件进行通信的远程组件(即,在与API实现组件不同的数据处理系统上)。API一般通过互联网来实现,以使得其由超文本传输协议(HTTP)请求消息以及根据REST(表述性状态转移)或SOAP(简单对象访问协议)架构的响应消息的指定格式或结构所组成。在这里,生产力应用(例如,620)可以使用利用REST或SOAP协议构建的API通过互联网连接至文档粉碎器服务(例如,745)。
系统700可以表示软件720可以驻留于其上并且可以从中分配、传输、下载或以其他方式被提供至另一个计算系统以供部署、执行、或者进一步分配的任何计算系统。
在系统700包括多个计算设备的实施例中,服务器可以包括促进计算设备间的通信的一个或多个通信网络。例如,所述一个或多个通信网络可以包括促进计算设备间的通信的局域网和广域网。在计算设备之间可以包括一个或多个直接通信链路。另外,在一些情况下,计算设备可以在地理上分布的位置处安装。在其他情况下,多个计算设备可以被安装在诸如服务器群或办公室的单个地理位置处。
可以包括通信接口750,所述通信接口750提供允许系统700与其他计算系统(未示出)之间通过通信网络或网络集合(未示出)或空气进行通信的通信连接和设备。
关于图8-10提供了实现用于将文档解构为成分块以用于在生产力应用中重新使用的文档粉碎器的一些示例。在将文档解构为成分块以用于在生产力应用中重新使用的服务的示例实现中,网络API控制器为客户端请求提供进入点。在这里,网络API控制器可以处理“粉碎文档”请求和“获得经粉碎的文档”请求两者。
经粉碎的对象是从文档中提取的对象。针对文档中的每个经提取的对象,还可以生成预览图像。原始提取对象和预览图像两者可以被存储在独立于文档存储的粉碎器的瞬时高速缓存中或者被返回至文档存储,文档从所述文档存储处被取回以用于具有整合粉碎器的文档管理系统,因此在其他用户对同一文档进行请求时,粉碎操作可以被避免并且高速缓存中(或文档存储处)的数据可以被直接供应。
经粉碎的对象可以作为一个或多个实例而被存储(例如,存储在瞬时高速缓存中)。例如,一个实例可以是文档的原始格式(例如,针对Word文档而言,所述格式可以是OpenXML格式)。另一个实例例如可以是图像格式。图像格式实例可以用来预览经粉碎的对象,或者在一些情况下可以用于在文档的原始格式与用户的生产力应用不兼容时进行导入。例如,为了将来自Word文档的表格导入到PorwerPoint中,可以在PorwerPoint无法识别所述表格的OpenXML模式时使用图像实例。
在图8A中示出了粉碎服务特别是粉碎文档请求的简化工作流程。参考图8A,客户端800向粉碎服务810发送请求(802)以粉碎文档。粉碎服务810可以包括服务处理程序812(网络API控制器)以及粉碎器814。该文档可以本地地存储在客户端处、经共享的存储库处、云存储中的用户帐户中、或者其他存储位置。来自客户端800的请求可以包括使得粉碎服务(例如,经由网络API控制器)能够代表用户访问文档并且取回所述文档的令牌。在示例实现中,所述文档被存储在由文档管理系统(例如,从Amazon Web Services、MicrosoftSharePoint、Citrix ShareFile等可获得的)管理的内容数据库(文档存储)中。从客户端到API的请求可以包括以下参数:文档路径(例如,URL)或者文档关键字(其可以在来自客户端针对相同文档的随后请求中使用)、目标应用(例如,将消费粉碎结果的应用)、以及候选类型和格式(例如,客户端将会接受的对象类型以及文件的格式)。
在接收到来自客户端的请求之后,网络API控制器812可以调用粉碎器(822)。粉碎器814通过从文档提取经粉碎的对象并且生成每个经粉碎的对象的对象文件实例来粉碎文档数据(824)。在粉碎期间,粉碎器814可以调用预览器来针对每个所提取的对象(其还不是图像)生成预览图像(826)。预览器用来针对每个经粉碎的对象生成图像实例。粉碎器可以存储对象文件实例和图像实例(828)。网络API控制器812将有关经粉碎的对象和预览图像的信息发送回客户端800(830)(例如,作为清单)。
来自粉碎服务810的响应(例如,在操作830中)可以包括当项目被粉碎时所述文档的粉碎清单。例如,所述响应可以包括文档关键字和经粉碎的对象的阵列(其中针对每个对象,包括对象类型和对象实例)。对象实例Id可以是从服务到客户端的清单的一部分并且由客户端用来取回对象实例的数据。在一个实现中,粉碎清单可以被定义了一种结构,该结构具有文档的令牌(出于安全而随机生成的GUID)、文档的经粉碎的对象、经粉碎的对象类型、经粉碎的对象的实例、经粉碎的对象实例的Id、经粉碎的对象实例的格式、以及甚至指示是否存在更多数据的字段。客户端800可以提供预览图像以供显示(832)。在用户接口一侧,用户可以在对象变为可见(并且在一些实施例中,连续弹出)时看到它们,同时用户仍然能够对图形用户界面中的现有对象进行操作。以该方式,用户在图形用户界面中看到任何东西之前都不必等待整个文档被处理。
在粉碎器814处,瞬时高速缓存组件可以用来对经粉碎的对象和预览图像进行缓存。下一次,当同一文档被请求时,数据将直接从高速缓存中被取回。所述瞬时高速缓存具有根据兼容性要求的有效期,因此保存在高速缓存中的任何数据都根据所述有效期规则而被删除。在一些情况下,在粉碎器与文档存储集成而不是分别的实体的情况下,高速缓存可以利用与文档存储相关联的存储来实现(并且清单可以独立于经粉碎的对象的流以及他们的预览/图像而存储)。因此,瞬时高速缓存组件的使用是基于粉碎器是由文档存储来实现的(例如,作为部署在文件管理服务器内部的自定义HTTP处理程序)还是作为独立服务来实现的。在存在高速缓存的情况下,高速缓存会在不存在针对文档的更多活动时到期(并且内容被删除)。
图8B示出了一个实现中的粉碎器处的过程流程的更加详细的示例。诸如粉碎器814之类的粉碎器可以在操作824期间执行过程840。参考图8B,过程840可以以接收(842)具有文档信息和对象类型的请求开始。所述文档信息可以被用来标识文档,例如作为文档Id或URL。粉碎器可以检查(844)文档的数据是否存在于内容存储库(例如,瞬时高速缓存或者存储经粉碎的对象的其他存储位置)中。可以关于数据是否存在而进行确定(845)。如果数据并不存在于内容存储库中,则粉碎器可以从由文档Id或URL所标识的文档位置取回(846)文档并且从所述文档提取(848)对象。粉碎器可以将所述对象保存回内容存储库。
一旦在数据存在于存储库中的情况下(如在操作845中所确定的)从所述库提取或取回对象,就确定(849)所述对象是否具有合适的对象类型格式。如果所述对象不与所请求的对象类型相匹配,则粉碎器调用(850)转换器以将所述对象转换为所请求的对象类型。例如,如果请求了HTML格式,则粉碎器可以调用转换器以将对象转换为HTML格式。作为另一个示例,当在两个Microsoft Office应用之间转换时,粉碎器可以调用转换器(或指定转换器)以将经粉碎的对象的原始OpenXML数据转换为目标应用的OpenXML数据。
在一些情况下,粉碎器可以调用(852)排名器以针对客户端所提供的任意关键字来将对象进行排名。所述排名可以由与企业图相关联的服务来执行。排名器的调用可以在调用转换器以转换不与所请求的对象类型相匹配的任何对象之前进行、与之并行进行、或者在之后进行。在排名和转换(如果需要)之后,粉碎器可以以排名的顺序返回对象信息,并且每个对象的信息可以包括客户端请求的所有格式。
例如在上文中所描述的粉碎方法创建了粉碎任务并且返回。所述粉碎任务从原始文档中提取每个经粉碎的对象,并且基于对象类型将会进行不同的操作。结果被存储到粉碎高速缓存(例如,与文档存储相关联的瞬时高速缓存或存储)中。图9示出了示例粉碎器的工作流程。参考图9,该工作流程以粉碎器进行解析以提取文件的每个对象(901)作为开始900。在每个对象被粉碎(提取)时,其被存储在粉碎高速缓存910中直至没有来自解析器的更多对象并且粉碎结束920为止。针对所提取的对象,如果所提取对象是图像对象,则将图像实例添加(902)至高速缓存910。如果所提取对象不是图像对象,则调用合适的预览器以生成图像实例(903)。所述预览器能够渲染所提取对象的文件格式并且因此可以存在针对粉碎器服务的多个预览器,以使得可以针对文档和/或对象的特定文件格式而找到合适的预览器。预览器所生成的图像实例以及对象格式实例两者被添加(904)至高速缓存910。所述对象格式实例可以是以原始文档的格式的或者是以某一其他可消费格式的。例如,OpenXML可以用于从Word或PowerPoint文件所提取的对象。在该过程流程中没有示出的是从服务到客户端的响应。
客户端可以经由获得经粉碎的对象API来取回特定的经粉碎的对象实例的数据。在示例实现中,请求参数可以包括文档关键字、作为粉碎文档请求的响应的经粉碎的对象实例的对象实例Id、以及目标应用。成功请求的响应是对象实例的数据流。图10示出了处理用于得到经粉碎的对象的请求的服务的工作流程。参考图10,过程流程1000以接收到请求作为开始,所述请求可以包括文档关键字、对象实例Id、和目标应用。服务可以使用该信息以从高速缓存910取回(1001)经标识的经粉碎的对象,并且接着调用封装器(1002)来生成文件以用于将数据流或图像流发送至客户端。封装器可以从经粉碎的对象实例生成合适的文件/文档以用于提供给客户端。在一些情况下,封装器可以生成具有能够由目标应用消费的对象的文件(1003),并且针对对象文件格式不能够由目标应用消费的情况而生成具有对象图像的HTML文档(1004)。所述HTML解决方案对于渲染和导入跨应用和跨平台内容是有用的。HTML可以提供基线,因此不被客户端所支持的文件格式仍然可以被粉碎并且它们经粉碎的对象被提供至客户端。
支持在图4A-4I中所示出的生产力应用体验的示例实现利用企业图来将经粉碎的对象进行排名(和/或识别所要粉碎的文档)。例如,生产力应用客户端可以查询文档存储的搜索API以获得文档列表。所述搜索API可以与企业图进行协作以取回最为相关的文档。当用户选择文档时,客户端可以查询粉碎服务以获得文档的经粉碎的对象。在该情况下,粉碎器的工作流程可以如下。
从文档存储取回文档数据,并且如果针对所述文档不存在清单或者清单指示粉碎结果不是最新的,则:粉碎所述文档;将经粉碎的对象和文档粉碎清单保存回文档存储处的内容数据库;请求企业图(例如,与企业图相关联的服务)以基于用户上下文来将经粉碎的对象进行排名,并且将经粉碎的对象的排名的列表发送至客户端。在需要的情况下,传送至企业图关于已经创建了对象(或者在先前的经粉碎的对象不再存在时,传送经粉碎的对象应当被删除);以及将经粉碎的对象的列表发送至客户端。如果在粉碎器从文档存储取回文档数据时清单存在并且为最新,则粉碎器可以从(文档存储的)内容数据库取回经粉碎的对象;请求企业图(例如,与企业图相关联的服务)以基于用户上下文将经粉碎的对象进行排名,并且接着将经粉碎的对象的排名的列表发送至客户端。
在客户端处,所述客户端可以渲染经粉碎的对象以供用户预览,并且在用户选择经粉碎的对象时,客户端可以将所述对象插入到当前文档中。客户端可以向企业图发送信号以指示所述对象被插入。
在本文中所阐述的某些技术可以在计算机可执行指令的一般上下文中进行描述,所述计算机可执行指令例如由一个或多个计算设备所执行的程序模块。通常而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。
可替代地或另外地,可以至少部分地由一个或多个硬件模块(或逻辑组件)来实现本文中所描述的功能、方法、和过程。例如,硬件模块可以包括但不限于,专用集成电路(ASIC)芯片、现场可编程门阵列(FPGA)、片上系统(SoC)系统、复杂可编程逻辑器件(CPLD)、以及已知的或后来开发的其他可编程逻辑器件。当硬件模块被激活时,硬件模块执行在硬件模块内包括的功能、方法、和过程。
实施例可以被实现为计算机过程、计算系统、或者被实现为制品,例如计算机程序产品或计算机可读介质。在本文中所描述的某些方法和过程可以被实现为可以存储在一个或多个存储介质上的软件、代码、和/或数据。本发明的某些实施例预期使用计算机系统为形式的机器,其中当执行一组指令时,可以使得系统执行在上文中所讨论的方法中的任何一个或多个方法。某些计算机程序产品可以是可以由计算机系统读取的并对用于执行计算机过程的指令的计算机程序进行编码的一个或多个计算机可读存储介质。
应当理解的是,在本文中所描述的示例和实施例仅仅是出于说明的目的,并且据此的各种修改和改变将被建议给本领域技术人员并且要被包括在该申请的精神和范围之内。
尽管已经以特定于结构特征和/或动作的语言对主题进行了描述,但是应当理解的是,在所附权利要求中所定义的主题不一定限于在上文中所描述的具体特征或动作。相反,在上文中所描述的具体特征和动作被公开为实施权利要求的示例并且其他的等同特征和动作旨在处于权利要求的范围之内。

Claims (14)

1.一种用于解构文档以便于在生产力应用中创作内容的系统,包括:
处理系统;
存储在一个或多个计算机可读存储介质上的文档粉碎器,所述文档粉碎器引导所述处理系统:
接收针对源文档的可重新使用的成分的请求,其中,所述源文档是由第一用户创作的并且是由第二用户选择的;
响应于接收到针对所述源文档的可重新使用的成分的所述请求:
获得所述源文档;
应用解析器以将所述源文档的内容转换为可重新使用的成分块,
其中,所述解析器包括这样的逻辑,所述逻辑理解对象如何以所述源文档的文件格式来表示,识别所述对象的边界和所述对象在所述源文档中的任何依赖实体,提取所述对象及其依赖实体,并且利用所述对象及其依赖实体的表示来生成所述可重新使用的成分块的成分块文件;
复制所述可重新使用的成分块;
将所述可重新使用的成分块与所述源文档分离地存储;
与企业图通信以将所述可重新使用的成分块添加到所述企业图以指示所述源文档与所述可重新使用的成分块之间的关系,其中,所述企业图指示所述第一用户与所述第二用户之间的关系;并且
将所述可重新使用的成分块中的至少一个提供至所述请求的源。
2.根据权利要求1所述的系统,其中,所述文档粉碎器还引导所述处理系统响应于接收到针对所述源文档的可重新使用的成分的所述请求而将成分块文件提供至针对所述源文档的可重新使用的成分的所述请求的源。
3.根据权利要求1所述的系统,其中,所述文档粉碎器还引导所述处理系统:
响应于接收到针对所述源文档的可重新使用的成分的所述请求,生成包括所述可重新使用的成分块的列表的清单;并且将所述清单提供至所述请求的源;以及
响应于接收到对从在所述清单中所提供的所述可重新使用的成分块的所述列表中所选择的成分块的指示,将成分块文件提供至所述请求的所述源。
4.根据权利要求1所述的系统,其中,所述文档粉碎器还引导所述处理系统识别所述源文档内针对特定主题的文本块;复制所识别的任何文本块;并且将所识别的文本块独立于所述源文档来存储。
5.一种用于促进生产力应用中的内容创作的方法,所述方法包括:
接收对由第一用户创作并且由第二用户从提供至生产力应用的可重新使用的内容的一组经排名的结果中选择的所选择的文档的指示,其中,所述一组经排名的结果是基于企业图的;
响应于接收到对所述所选择的文档的所述指示,获得来源于所述所选择的文档的成分对象并且将所述成分对象显示在所述生产力应用内的选择字段中;
响应于经由所述选择字段接收到对所选择的一个或多个成分对象的指示,将所述所选择的一个或多个成分对象插入到所述第二用户的文档中;以及
将所述所选择的一个或多个成分对象被插入到所述文档中的指示发送至所述企业图,所述指示用于更新所述企业图以指示所述第二用户与所述所选择的文档或所述所选择的一个或多个成分对象之间的关系,其中,所述企业图指示所述第一用户与所述第二用户之间的关系。
6.根据权利要求5所述的方法,其中,所述一组经排名的结果包括至少两种文件类型的文档。
7.根据权利要求5所述的方法,其中,获得来源于所述所选择的文档的成分对象包括:
通过应用解析器将所述所选择的文档的内容转换为成分对象,其中,所述解析器包括这样的逻辑,所述逻辑理解对象如何以所述所选择的文档的文件格式来表示,识别所述对象的边界和所述对象在所述所选择的文档中的任何依赖实体,提取所述对象及其依赖实体,并且从所述对象及其依赖实体的表示来生成所述成分对象。
8.根据权利要求5所述的方法,其中,获得来源于所述所选择的文档的成分对象包括:
向提供文档粉碎器的服务请求所述所选择的文档的成分对象;以及
从所述服务接收具有图像格式的所述成分对象。
9.根据权利要求8所述的方法,其中,响应于经由所述选择字段接收到对所述所选择的一个或多个成分对象的所述指示,所述方法还包括:
向提供所述文档粉碎器的所述服务请求所述所选择的一个或多个成分对象的对象格式实例;以及
从所述文档粉碎器接收以所述对象格式实例的所述所选择的一个或多个成分对象。
10.根据权利要求9所述的方法,其中,所述对象格式实例的文件格式不同于所选择的文档的文件类型的文件格式。
11.根据权利要求8所述的方法,其中,将所述所选择的一个或多个成分对象插入到所述第二用户的所述文档中包括将所述所选择的一个或多个成分对象中的至少一个成分对象以图像格式插入到所述文档中。
12.具有存储在其上的指令的一个或多个计算机可读存储介质,所述指令当被处理系统执行时引导所述处理系统:
显示生产力应用的图形用户界面;
传送对用于重新使用的相关文档的请求;
接收标识用于重新使用的所述相关文档的经排名的结果;
响应于接收到标识用于重新使用的所述相关文档的所述经排名的结果,将所述相关文档中的一个或多个相关文档的表示显示在所述图形用户界面的信息窗格中,其中,所述经排名的结果是基于企业图的;
响应于经由所述图形用户界面的所述信息窗格而接收到对由第二用户针对所述相关文档中的一个或多个相关文档中的一个的选择的指示,自动粉碎所述相关文档中的一个或多个相关文档中的所述一个,从而获得来源于所述相关文档中的一个或多个相关文档中的所述一个的成分对象,并且将所述成分对象显示在所述图形用户界面的选择窗格中,所述相关文档中的一个或多个相关文档中的所述一个是由第一用户创作的;
复制所述成分对象;
将所述成分对象与所述相关文档中的一个或多个相关文档中的所述一个分离地存储;并且
与所述企业图通信以将所述成分对象添加至所述企业图以指示所述相关文档中的一个或多个相关文档中的所述一个与所述成分对象之间的关系,其中,所述企业图指示所述第一用户与所述第二用户之间的关系。
13.根据权利要求12所述的介质,其中,引导所述处理系统自动粉碎所述相关文档中的一个或多个相关文档中的所述一个,从而获得来源于所述相关文档中的一个或多个相关文档中的所述一个的所述成分对象的指令引导所述处理系统以通过应用解析器来将所述相关文档中的一个或多个相关文档中的所述一个的内容转换为成分对象,其中,所述解析器包括以下逻辑,所述逻辑理解对象如何以所述相关文档中的一个或多个相关文档中的所述一个的文件格式来表示,识别所述对象的边界和所述对象在所述相关文档中的一个或多个相关文档中的所述一个中的任何依赖实体,提取所述对象及其依赖实体,并且从所述对象及其依赖实体的表示来生成所述成分对象。
14.根据权利要求12所述的介质,还包括存储于其上的指令,所述指令当被所述处理系统执行时引导所述处理系统:
响应于接收到用于导入所述图形用户界面的所述选择窗格中的所述成分对象中所选择的一个或多个成分对象的指示:
向提供文档粉碎器的服务请求所述成分对象中的所述所选择的一个或多个成分对象的对象格式实例;
从所述文档粉碎器接收以所述对象格式实例的所述成分对象中的所述所选择的一个或多个成分对象;以及
将所述成分对象中的所述所选择的一个或多个成分对象插入到利用所述生产力应用打开的文档中,所述成分对象中的所述所选择的一个或多个成分对象以所述对象格式被插入到所述文档中。
CN201680036845.3A 2015-06-22 2016-06-22 将文档解构为成分块以用于在生产力应用中重新使用 Active CN107787487B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562182990P 2015-06-22 2015-06-22
US62/182,990 2015-06-22
US15/087,355 US10394949B2 (en) 2015-06-22 2016-03-31 Deconstructing documents into component blocks for reuse in productivity applications
US15/087,355 2016-03-31
PCT/US2016/038590 WO2016209851A1 (en) 2015-06-22 2016-06-22 Deconstructing documents into component blocks for reuse in productivity applications

Publications (2)

Publication Number Publication Date
CN107787487A CN107787487A (zh) 2018-03-09
CN107787487B true CN107787487B (zh) 2021-08-24

Family

ID=56345241

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680036845.3A Active CN107787487B (zh) 2015-06-22 2016-06-22 将文档解构为成分块以用于在生产力应用中重新使用

Country Status (4)

Country Link
US (1) US10394949B2 (zh)
EP (1) EP3311308A1 (zh)
CN (1) CN107787487B (zh)
WO (1) WO2016209851A1 (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10740349B2 (en) * 2015-06-22 2020-08-11 Microsoft Technology Licensing, Llc Document storage for reuse of content within documents
US10339183B2 (en) 2015-06-22 2019-07-02 Microsoft Technology Licensing, Llc Document storage for reuse of content within documents
US9760627B1 (en) * 2016-05-13 2017-09-12 International Business Machines Corporation Private-public context analysis for natural language content disambiguation
EP3559820A4 (en) * 2016-12-21 2020-08-26 Open Text Corporation SYSTEMS AND METHODS FOR CONVERTING WEB CONTENT INTO REUSABLE TEMPLATES AND COMPONENTS
US10558950B2 (en) 2017-05-15 2020-02-11 Google Llc Automatic context passing between applications
US11017165B2 (en) 2017-07-10 2021-05-25 Adaptam Inc. Methods and systems for connecting a spreadsheet to external data sources with temporal replication of cell blocks
US10521278B2 (en) 2017-09-26 2019-12-31 Google Llc Format-specific data object passing between applications
EP3495968A1 (en) * 2017-12-11 2019-06-12 Tata Consultancy Services Limited Method and system for extraction of relevant sections from plurality of documents
US10664332B2 (en) * 2018-05-25 2020-05-26 Microsoft Technology Licensing, Llc Application programming interfaces for identifying, using, and managing trusted sources in online and networked content
US11115486B2 (en) * 2018-08-08 2021-09-07 Microsoft Technology Licensing, Llc Data re-use across documents
CN109753620B (zh) * 2018-12-27 2021-02-12 永中软件股份有限公司 网页文档处理方法和系统
US11829723B2 (en) * 2019-10-17 2023-11-28 Microsoft Technology Licensing, Llc System for predicting document reuse
US11657217B2 (en) 2020-06-26 2023-05-23 Adaptam Inc. Methods and systems for presenting drop-down, pop-up or other presentation of a multi-value data set in a spreadsheet cell
CN112149391B (zh) * 2020-09-28 2023-06-09 平安证券股份有限公司 信息处理方法、信息处理装置、终端设备及存储介质
EP4285241A1 (en) 2021-01-26 2023-12-06 Microsoft Technology Licensing, LLC Collaborative content recommendation platform
US11790165B2 (en) 2021-01-26 2023-10-17 Microsoft Technology Licensing, Llc Content element recommendation system
US11977835B2 (en) 2021-05-24 2024-05-07 Adaptam Inc. Method and system for spreadsheet error identification and avoidance
CN115756670A (zh) * 2021-09-01 2023-03-07 北京字跳网络技术有限公司 组件处理方法、装置、电子设备、存储介质和产品
US11868319B2 (en) * 2021-12-08 2024-01-09 International Business Machines Corporation File storage system based on attributes of file components
US11977841B2 (en) 2021-12-22 2024-05-07 Bank Of America Corporation Classification of documents

Family Cites Families (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5956736A (en) * 1996-09-27 1999-09-21 Apple Computer, Inc. Object-oriented editor for creating world wide web documents
US6088707A (en) 1997-10-06 2000-07-11 International Business Machines Corporation Computer system and method of displaying update status of linked hypertext documents
US7594166B1 (en) * 1999-05-20 2009-09-22 Microsoft Corporation Dynamic web page behaviors
US7346492B2 (en) * 2001-01-24 2008-03-18 Shaw Stroz Llc System and method for computerized psychological content analysis of computer and media generated communications to produce communications management support, indications, and warnings of dangerous behavior, assessment of media images, and personnel selection support
US6847974B2 (en) * 2001-03-26 2005-01-25 Us Search.Com Inc Method and apparatus for intelligent data assimilation
US20040093559A1 (en) 2001-05-25 2004-05-13 Ruth Amaru Web client for viewing and interrogating enterprise data semantically
US20030097640A1 (en) 2001-07-25 2003-05-22 International Business Machines Corporation System and method for creating and editing documents
US10282765B2 (en) 2001-09-27 2019-05-07 Jda Software Group, Inc. Order acceleration through user document storage and reuse
EP1481346B1 (en) 2002-02-04 2012-10-10 Cataphora, Inc. A method and apparatus to visually present discussions for data mining purposes
US6946715B2 (en) 2003-02-19 2005-09-20 Micron Technology, Inc. CMOS image sensor and method of fabrication
US7425679B2 (en) * 2002-08-05 2008-09-16 Lifespan Healthcare, Llc Open medical system
EP1623338A2 (en) * 2003-05-05 2006-02-08 Arbortext, Inc. System and method for defining specifications for outputting content in multiple formats
US7681112B1 (en) * 2003-05-30 2010-03-16 Adobe Systems Incorporated Embedded reuse meta information
US8050906B1 (en) * 2003-06-01 2011-11-01 Sajan, Inc. Systems and methods for translating text
US20050010896A1 (en) * 2003-07-07 2005-01-13 International Business Machines Corporation Universal format transformation between relational database management systems and extensible markup language using XML relational transformation
US7502812B2 (en) * 2003-08-21 2009-03-10 Microsoft Corporation Electronic ink processing
ITVI20030170A1 (it) * 2003-09-11 2005-03-12 Franco Stocchiero Piano di trattamento per impianto di formazione di batterie
US7434160B2 (en) * 2003-12-03 2008-10-07 Hewlett-Packard Development Company, L.P. PDF document to PPML template translation
US7464330B2 (en) * 2003-12-09 2008-12-09 Microsoft Corporation Context-free document portions with alternate formats
US7568184B1 (en) * 2004-04-14 2009-07-28 Sun Microsystems, Inc. Software documentation generator
US7774378B2 (en) 2004-06-04 2010-08-10 Icentera Corporation System and method for providing intelligence centers
US7831601B2 (en) 2004-08-04 2010-11-09 International Business Machines Corporation Method for automatically searching for documents related to calendar and email entries
US7617229B2 (en) * 2004-12-20 2009-11-10 Microsoft Corporation Management and use of data in a computer-generated document
US7617451B2 (en) * 2004-12-20 2009-11-10 Microsoft Corporation Structuring data for word processing documents
US8219907B2 (en) 2005-03-08 2012-07-10 Microsoft Corporation Resource authoring with re-usability score and suggested re-usable data
US8239757B2 (en) * 2005-06-16 2012-08-07 Zoot Enterprises, Inc. System and method for creating and modifying test data files
US7590939B2 (en) * 2005-06-24 2009-09-15 Microsoft Corporation Storage and utilization of slide presentation slides
CA2614233A1 (en) 2005-07-05 2007-01-11 Dictaphone Corporation System and method for auto-reuse of document text
US20070100829A1 (en) 2005-10-26 2007-05-03 Allen J V Content manager system and method
US7783967B1 (en) * 2005-10-28 2010-08-24 Aol Inc. Packaging web content for reuse
US7870478B1 (en) * 2005-10-31 2011-01-11 Adobe Systems Incorporated Repurposing subsections and/or objects
US20070239761A1 (en) 2006-03-28 2007-10-11 Andrew Baio Associating user-defined tags with event records in an events repository
US8745583B2 (en) * 2006-03-31 2014-06-03 Sap Ag Method and system for managing development components
US20070266309A1 (en) * 2006-05-12 2007-11-15 Royston Sellman Document transfer between document editing software applications
US20070300054A1 (en) * 2006-06-21 2007-12-27 Shi-Wu Lo Universal BSP tool for porting on embedded systems and an application thereof
CN101165682A (zh) * 2006-10-20 2008-04-23 北京北大方正电子有限公司 一种文档文件的处理方法及系统
US8176466B2 (en) * 2007-10-01 2012-05-08 Adobe Systems Incorporated System and method for generating an application fragment
EP2270724A3 (en) 2007-10-22 2013-01-16 Open Text S.A. Method and system for managing enterprise content
US7984035B2 (en) 2007-12-28 2011-07-19 Microsoft Corporation Context-based document search
US8225204B2 (en) 2008-03-27 2012-07-17 Kai Kei Cheng System and method of document reuse
CA2634020A1 (en) 2008-05-30 2009-11-30 Biao Wang System and method for multi-level online learning
WO2009152499A2 (en) 2008-06-13 2009-12-17 Skribel, Inc. Methods and systems for handling annotations and using calculation of addresses in tree-based structures
US8452769B2 (en) 2008-09-19 2013-05-28 International Business Machines Corporation Context aware search document
US8856641B2 (en) 2008-09-24 2014-10-07 Yahoo! Inc. Time-tagged metainformation and content display method and system
CN101477517B (zh) * 2009-01-21 2011-03-16 传神联合(北京)信息技术有限公司 一种office文档编辑多点远程同步的方法
US8914720B2 (en) 2009-07-31 2014-12-16 Xerox Corporation Method and system for constructing a document redundancy graph
US8583673B2 (en) 2009-08-17 2013-11-12 Microsoft Corporation Progressive filtering of search results
US8352397B2 (en) 2009-09-10 2013-01-08 Microsoft Corporation Dependency graph in data-driven model
US8312385B2 (en) 2009-09-30 2012-11-13 Palo Alto Research Center Incorporated System and method for providing context-sensitive sidebar window display on an electronic desktop
US9659265B2 (en) 2009-10-12 2017-05-23 Oracle International Corporation Methods and systems for collecting and analyzing enterprise activities
US20110167332A1 (en) * 2010-01-07 2011-07-07 Neopost Technologies System and Method for Generating Web Pages
US20110179045A1 (en) 2010-01-19 2011-07-21 Microsoft Corporation Template-Based Management and Organization of Events and Projects
AU2011240674B2 (en) 2010-04-12 2015-04-02 Google Inc. Collaborative cursors in a hosted word processor
JP5467643B2 (ja) 2010-04-28 2014-04-09 インターナショナル・ビジネス・マシーンズ・コーポレーション 文書の類似度を判定する方法、装置及びプログラム。
US8442998B2 (en) * 2011-01-18 2013-05-14 Apple Inc. Storage of a document using multiple representations
US8682989B2 (en) 2011-04-28 2014-03-25 Microsoft Corporation Making document changes by replying to electronic messages
US20120290926A1 (en) * 2011-05-12 2012-11-15 Infinote Corporation Efficient document management and search
GB201108709D0 (en) 2011-05-24 2011-07-06 Corethree Ltd Core engine
US20130036348A1 (en) 2011-06-27 2013-02-07 Hazard James G Systems and Methods for Identifying a Standard Document Component in a Community and Generating a Document Containing the Standard Document Component
US20130185252A1 (en) 2012-01-17 2013-07-18 Jeffrey J. Palmucci Document Revision Manager
US10853826B2 (en) 2012-02-07 2020-12-01 Yeast, LLC System and method for evaluating and optimizing media content
US20140143250A1 (en) 2012-03-30 2014-05-22 Xen, Inc. Centralized Tracking of User Interest Information from Distributed Information Sources
US8825711B2 (en) 2012-08-13 2014-09-02 Magnet Systems, Inc. Managing cross-correlated data
US20150161079A1 (en) 2013-01-30 2015-06-11 David GROSFELD File formats and methods for representing documents
WO2014152865A1 (en) 2013-03-14 2014-09-25 Citta LLC System and method of content stream utilization
US9779063B1 (en) * 2013-03-15 2017-10-03 Not Invented Here LLC Document processor program having document-type dependent interface
US9195673B2 (en) 2013-03-15 2015-11-24 International Business Machines Corporation Scalable graph modeling of metadata for deduplicated storage systems
US9256341B2 (en) 2013-03-20 2016-02-09 Microsoft Technology Licensing, Llc Tracking changes in collaborative authoring environment
US11238056B2 (en) 2013-10-28 2022-02-01 Microsoft Technology Licensing, Llc Enhancing search results with social labels
WO2015065374A1 (en) 2013-10-30 2015-05-07 Hewlett-Packard Development Company, L.P. Management of the lifecycle of a cloud service modeled as a topology
US9542440B2 (en) 2013-11-04 2017-01-10 Microsoft Technology Licensing, Llc Enterprise graph search based on object and actor relationships
US8954441B1 (en) 2014-01-02 2015-02-10 Linkedin Corporation Graph-based system and method of information storage and retrieval
US9953060B2 (en) 2014-03-31 2018-04-24 Maruthi Siva P Cherukuri Personalized activity data gathering based on multi-variable user input and multi-dimensional schema
US20150379092A1 (en) 2014-06-26 2015-12-31 Hapara Inc. Recommending literacy activities in view of document revisions
US9247021B1 (en) 2014-11-07 2016-01-26 Open Text S.A. System, method and architecture for a document as a node on a social graph
US20160134667A1 (en) 2014-11-12 2016-05-12 Tata Consultancy Services Limited Content collaboration
US9703762B1 (en) * 2014-12-30 2017-07-11 Open Text Corporation Method and system for processing a style sheet defining a reusable theme for a web page and specifying a relative location of content
US9881345B2 (en) 2015-04-11 2018-01-30 International Business Machines Corporation Evaluating an impact of a user's content utilized in a social network
US10740349B2 (en) 2015-06-22 2020-08-11 Microsoft Technology Licensing, Llc Document storage for reuse of content within documents
US10339183B2 (en) 2015-06-22 2019-07-02 Microsoft Technology Licensing, Llc Document storage for reuse of content within documents

Also Published As

Publication number Publication date
EP3311308A1 (en) 2018-04-25
US10394949B2 (en) 2019-08-27
US20160371249A1 (en) 2016-12-22
CN107787487A (zh) 2018-03-09
WO2016209851A1 (en) 2016-12-29

Similar Documents

Publication Publication Date Title
CN107787487B (zh) 将文档解构为成分块以用于在生产力应用中重新使用
US10528597B2 (en) Graph-driven authoring in productivity tools
CN106796602B (zh) 用于内容创作的生产力工具
CN107787491B (zh) 用于重新使用文档中的内容的文档存储
KR102355212B1 (ko) 마이닝된 하이퍼링크 텍스트 스니펫을 통한 이미지 브라우징
US9754034B2 (en) Contextual information lookup and navigation
US20140115439A1 (en) Methods and systems for annotating web pages and managing annotations and annotated web pages
US8700594B2 (en) Enabling multidimensional search on non-PC devices
EP3030984A1 (en) Access and management of entity-augmented content
WO2016049615A1 (en) Productivity tools for content authoring
US20140324835A1 (en) Methods And Systems For Information Search
US11874882B2 (en) Extracting key phrase candidates from documents and producing topical authority ranking
US20200183884A1 (en) Content-aware search suggestions
US11887011B2 (en) Schema augmentation system for exploratory research
US10269080B2 (en) Method and apparatus for providing a response to an input post on a social page of a brand
EP3008591A1 (en) Embeddable media content search widget
Dessi et al. Supporting semantic web search and structured queries on mobile devices
JP2016045552A (ja) 特徴抽出プログラム、特徴抽出方法、および特徴抽出装置
US20190220537A1 (en) Context-sensitive methods of surfacing comprehensive knowledge in and between applications
Kusumure et al. Dynamic optimization for web page based on user's estimated browsing intention
WO2016007391A1 (en) Methods and systems for information search

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