CN108292302A - 重复内容自动呈现 - Google Patents

重复内容自动呈现 Download PDF

Info

Publication number
CN108292302A
CN108292302A CN201780004210.XA CN201780004210A CN108292302A CN 108292302 A CN108292302 A CN 108292302A CN 201780004210 A CN201780004210 A CN 201780004210A CN 108292302 A CN108292302 A CN 108292302A
Authority
CN
China
Prior art keywords
current document
user
duplicate contents
content
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201780004210.XA
Other languages
English (en)
Other versions
CN108292302B (zh
Inventor
J·S·马森
S·D·德塞
T·A·埃斯特拉达
M·E·凯斯林
R·基金-伊尔
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 CN108292302A publication Critical patent/CN108292302A/zh
Application granted granted Critical
Publication of CN108292302B publication Critical patent/CN108292302B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/93Document management systems
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24564Applying rules; Deductive queries
    • G06F16/24565Triggers; Constraints
    • 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/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/106Display of layout of documents; Previewing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/131Fragmentation of text files, e.g. creating reusable text-blocks; Linking to fragments, e.g. using XInclude; Namespaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/174Form filling; Merging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/274Converting codes to words; Guess-ahead of partial word inputs

Abstract

本文提供了重复内容的自动呈现。使用历史文档创建重复使用的内容块的索引。当用户创作当前文档时,创作应用程序与触发分析器进行通信,该触发分析器接收来自用户的编辑和创作命令。触发分析器将编辑和创作命令与编入索引的内容块进行比较,并根据提供给用户的重复内容的索引创建潜在匹配的预览。根据用户偏好和应用程序设置,这些预览在图形用户界面中作为可选控件呈现给用户。如果用户选择预览,则与预览相关联的内容块被发送到当前文档以插入其中。本公开改善了用户体验,减少了在文档之间重用内容的带宽、存储器和处理能力的使用。

Description

重复内容自动呈现
背景技术
诸如文字处理器应用程序、电子表格应用程序、幻灯片演示应用程序、电子邮件应用程序、笔记记录应用程序等的电子文档创作应用程序的用户经常发现他们自己在多个电子文档中使用相同的内容。为了在多个文档中重用内容块,许多用户会打开较旧的文档,选择所需的内容块,复制它,然后将该内容块粘贴到当前文档中。该过程要求用户打开多个文档并且花费相关的处理资源来打开和维护活动存储器中的多个电子文档。此外,此过程要求用户知道哪个文档包含所需的内容块(或打开多个文档以搜索所需的内容块),并且不考虑版本控制;用户可以选择可能已被取代(例如,在用户未搜索的较新文档中)的内容块的较旧版本(例如,来自较旧文档)。此外,如果内容在不同应用程序之间传输(例如,从电子表格应用程序到文字处理器应用程序),则可能需要花费额外的处理资源来实现内容传输。
发明内容
提供本发明内容是为了以简化的形式介绍将在以下详细描述部分中进一步描述的一些概念。本发明内容不旨在确定所要求保护的主题的所有关键或基本特征,也并非旨在帮助确定所要求保护的主题的范围。
本文提供重复内容的自动呈现。使用用户或组织设置中的用户的同事的历史文档,创建重复使用的内容块的索引。在各个方面中,索引参考内容块所在的历史文档内的位置,而在其他方面,索引存储重复的内容块。内容块包括但不限于句子、段落、页面、幻灯片、图像、图表、图形、表格、视频和音频文件。
当用户在应用程序中创作当前文档时,该应用程序与触发分析器进行通信。在各个方面,触发分析器是云存储解决方案的一部分,其接收来自用户的编辑和创作命令以作为云存储的电子文档的一部分进行存储。触发分析器将编辑和创作命令与编入索引的内容块进行比较,并根据提供给用户的重复内容的索引创建潜在匹配的预览。根据用户偏好和应用程序设置,这些预览会作为图形用户界面中的可选控件呈现给用户。如果用户选择预览,则与预览相关联的内容块被发送到当前文档以插入到文档中。
因此,本公开因此减少了用于查找用户希望在当前文档中重用的来自较旧文档的内容块的、到存储设备(远程或本地)的通信量,减少了重用内容块所需的处理资源,以及提高了从手动查询复制粘贴过程插入重复内容的用户体验。
示例被实现为计算机过程、计算系统或者诸如设备、计算机程序产品或计算机可读介质的制造品。根据一个方面,该计算机程序产品是计算机系统可读的并且对包括用于执行计算机过程的指令的计算机程序进行编码的计算机存储介质。
在下面的附图和说明中阐述了一个或多个方面的细节。通过阅读以下详细描述和审阅相关附图,其他特征和优点将显而易见。应该理解,下面的详细描述只是解释性的,并不限制权利要求。
附图说明
并入并构成本公开的一部分的附图示出了各个方面。在附图中:
图1是示出可以实施重复内容自动呈现的创作环境的框图;
图2A-F是内嵌呈现的示例用户界面;
图3A-C是平板呈现的示例用户界面;
图4A-C是移动呈现的示例用户界面;
图5是示出用于服务器提供重复内容自动呈现的示例方法中涉及的一般阶段的流程图;
图6是示出用于用户参与重复内容自动呈现的示例方法中涉及的一般阶段的流程图;
图7是示出计算设备的示例物理组件的框图;
图8A和图8B是移动计算设备的框图;以及
图9是分布式计算系统的框图。
具体实施方式
以下详细描述参考了附图。只要可能,在附图中使用相同的附图标记,并且以下描述涉及相同或相似的元件。尽管可以描述示例,但是修改、改动和其他实现方式是可能的。例如,可以对附图中示出的元件进行替换、添加或修改,并且可以通过对所公开的方法进行替代、重新排序或添加阶段来修改这里描述的方法。因此,以下详细描述不是限制性的,而是适当的范围由所附权利要求限定。示例可以采取硬件实现方式的形式,或者完全软件实现方式的形式,或者结合软件和硬件方面的实现方式。因此,下面的详细描述不应被认为是限制性的。
图1是示出其中可以实施重复内容自动呈现的创作环境100的框图。如图所示,用户设备110用于创作当前文档120。对当前文档120的改变和编辑通过网络130传送到触发分析器140。在各个方面中,触发分析器140是运行在服务器150上的计算机程序,并且被优化以在创作文档时向用户提供先前输入的内容块。服务器150与数据库160进行通信,数据库160存储与用户相关联的历史文档,触发分析器140将从该历史文档建立内容块的索引170,从该内容块的索引170选择重复内容以呈现给用户。
用户设备110、服务器150和数据库160是多个计算系统的示例,包括但不限于台式计算机系统、有线和无线计算系统、移动计算系统(例如,移动电话、上网本、平板电脑或平板型计算机、笔记本计算机和膝上型计算机)、手持设备、多处理器系统、基于微处理器或可编程消费电子产品、小型计算机和大型计算机。这些计算系统的硬件关于图7、图8A和图8B更详细地讨论。可以理解的是,服务器150和数据库160可以是分布式系统的一部分,并且由多个单独的计算系统组成,并且多个用户设备110可以与触发分析器140通信以在创作当前文档120时呈现重复的内容块。
在各个方面中,数据库160远离用户设备110,而在其它方面,数据库160还包括用户设备110本地的存储设备。例如,当在云计算环境中创作当前文档120时,例如经由web界面或瘦客户端,触发分析器140将根据位于云中的历史文档(例如,存储在由服务器150管理的数据库160或存储器存储设备中、位于用户本地的历史文档(例如,存储在由用户设备110管理的数据库160或存储器存储设备中),以及位于与用户设备110通信的本地或企业网络的设备部分上的历史文档(例如,存储在由不同用户设备110或本地或企业服务器(例如文档管理系统)管理的数据库160或存储器存储设备中)来建立内容块的索引170。
用户或触发分析器140可以指定可以从其中得到历史文档的数据库160或数据库160的部分,并且还可以指定特定历史文档。例如,用户可以指定相关联的或GOOGLE DRIVETM云存储解决方案(可从华盛顿州雷德蒙德的微软公司、美国加利福尼亚州旧金山市的DROPBOX公司、加利福尼亚州库比蒂诺的苹果公司以及加利福尼亚州山景城的阿尔比贝特公司)作为数据库160。用户还可以指定用户设备110本地或连接到网络130的硬盘驱动器、文件夹或文件作为数据库160。触发分析器140还可以将与用户或该用户的同事相关联的云或本地存储指定为数据库160。例如,触发分析器140可以经由DELVETM或DOCURATEDTM管理工具(可从华盛顿州雷蒙德的微软公司获得,以及纽约州纽约的DOCURATED LLC公司)定位用户的同事的文件、文件夹和驱动器,以发现组织中人员之间的联系,以便自动共享可以包含用户可能想要在当前文档120中重用的内容块的历史文档(或提示用户接受其共享)。
例如,在编辑组织(例如,杂志、报纸、书籍出版商)的上下文中,用户可以将具有特定短语、署名报道和介绍的样式表文件指定为数据库160,并将草稿文件排除出数据库160。在另一个示例中,在物理治疗师办公室的上下文中,治疗师可以彼此指定(或由触发分析器140指定)为同事,使得存储在文件管理系统中的他们的锻炼指示可以在彼此对病人的指示中重复使用。在又一个示例中,家庭用户可以将本地“我的文档”文件夹、电子邮件账户和云存储解决方案指定为数据库160,使得个人文档中的重复内容块(例如,私人信件、作业)在创作当前文档120时可用于自动呈现。在又一示例中,教师可以将保存先前作业和考试的文件夹设置为数据库160,以将包含表单字段的旧问题设置为重复内容,其中,表单字段中的数据可以在各因历史文档之间不同,而包含表单字段的内容块仍被视为重复内容。
服务器150可位于远离用户设备110的本地网络的位置处,例如作为云服务器,在这种情况下,网络130代表互联网或虚拟专用网络(VPN)或其他直接数据链路。服务器150也可以作为用户设备110的本地网络的一部分来定位,在这种情况下,网络130代表用于实体(例如公司、大学、政府机关)的局域网(LAN)或私有分布式网络。触发分析器140由服务器150提供给授权用户并通过网络130接收通信以建立索引170并向那些授权用户的当前文档120提供内容块。
当前文档120是由用户设备110的用户创作或编辑的电子文档。电子文档包括可由用于文字处理、电子表格管理、幻灯片演示文稿构建、电子邮件编写和笔记记录的应用程序访问的文件。当前文档120可以本地存储在用户设备110上,存储在作为本地或企业网络的一部分的数据库160中(例如,文档管理系统、共享驱动器、通过远程桌面访问访问的远程计算机),或存储在云中。历史文档是用户或用户的同事已经创作的那些文档。应该意识到,历史文档可以以未完成状态存储(例如,需要对文档进行进一步的工作)并且可以作为当前文档120打开。在各个方面,当前文档120的保存版本可以是作为另一个用户(例如,同事)的历史文档来处理,但是对于该文档的任何未保存或未终定的改变对于触发分析器140将不可用以呈现为重复内容块。
触发分析器140从历史文档中识别出现在多个历史文档中的内容块。触发分析器140可以包括重复内容块的历史文档的最小数量的阈值,以考虑将内容块“重复”以出于自动呈现给用户的目的。例如,必须在2个、3个、87个等历史文档中找到内容块,然后才能在创作当前文档120时认为它是值得呈现给用户的重复块。
通过触发分析器140中的偏好来设置和调整内容块的最小尺寸。例如,尽管单词“the(该)”可能出现在数千个历史文档中,但八个词的阈值将防止“the”被分类为内容块。相反,如果短语“the quick brown for jumps over the lazy dog(敏捷的棕色狐狸从懒惰的狗的身上跳了过去)”(有九个词,按空格划定)将出现在多个历史文档中,并且阈值设定为八,则它将被视为在历史文件中重复的内容块,并可以在未来的文件中重复。触发分析器140因此将内容块包括在索引170中(作为对历史文档的关联部分的引用或者作为内容本身),并将触发与该内容块相关联。例如,可以将词语“the quick brown(敏捷的棕色)”设置为触发器,或者将历史文档的文本中的内容块之前的单词设置为触发器。
类似地,还可以通过触发分析器140中的偏好来设置和调整内容块的最大尺寸。例如,如果多个文字处理文件包括若干页的相同文本,则段落或页面的最大阈值会将相同的文本分别分割成段落描述或页面描述的内容块,每个内容块都有自己的触发器(或使用先前的内容块作为其触发器)。类似地,如果多个笔记记录文件包括几个相同数据的画布(例如,文本、图像和表格),则最大阈值500千字节(kb)将防止一次提供超过500kb的内容块给创作当前文档120的用户。在使用剪贴板插入内容块的各个方面中,操作系统或创作应用程序的剪贴板功能可以设置内容块的最大尺寸。
应该理解,内容块可以包括文本数据以及非文本数据,例如图形、表格、图像、视频、声音文件等,并且触发器包括文本数据和非文本数据。文本数据包括明文、超文本(例如,链接文本)和文本表单字段。内容块可以包括多种类型的数据,并且包括非文本数据的内容块可以具有与纯粹的文本内容块不同的大小要求(或没有大小要求)和触发器。例如,图像内容块(例如,图像文件或一系列图像文件)可以不具有最小尺寸,最大尺寸为50kb,并且使用“the quick brown for jumps over the lazy dog”的文本串作为其触发器。在另一示例中,“the quick brown for jumps over the lazy dog”的文本内容块可以使用跳过狗的狐狸的图像内容块(例如,图像文件)的插入作为其触发器。在又一示例中,上述文本和图像的混合媒体内容块可以使用“quick brown”的初始文本作为其触发器。
类似于内容块,触发器可具有最小和最大尺寸要求。例如,三字短语可以是触发器的确切要求(最小和最大)。在另一个示例中,至少七个字符的单个词可以是最低要求,并且五个词或八十个字符可以是最大要求。对于文本触发器,可以启用或禁用区分大小写,并且在将内容与触发器进行比较时,也可以包括或排除标点符号(例如逗号、连字符、分号、引号)。本领域的普通技术人员将从本公开中意识到触发器的较大和较小尺寸要求的相对益处和折衷。
在各个方面中,索引170可以包括重复的内容块或对从其可以取回重复内容块的历史文档内的位置的引用。索引170可以存储在触发分析器140本地的数据库160或存储器存储设备、提供启用云的文档创作的服务器150或用户设备110上。在一些方面,缩小尺寸索引170可以存储在用户本地,使得如果用户失去对网络130的访问,则可以继续向用户提供重复内容块的自动呈现。
在各个方面中,触发分析器140接收对当前文档120的创作命令(例如,键入、插入、替换(包括自动更正)、删除、撤销和重做),并将这些命令存储在寄存器中以用于确定是否收到触发器。寄存器的大小将根据触发器的大小要求确定。例如,当用户键入“the quickbrown for jumps over the lazy dog”时,由触发分析器140将包括每个组成单词的字符馈送到服务器150上维护的寄存器中。随着寄存器填充,将旧的内容从寄存器中删除,例如,通过在新数据到达时将寄存器中的数据块进行移位。该寄存器允许触发分析器140在用户键入或输入内容时近乎实时地查找触发器,并且当搜索潜在的触发器时可以使用不完整的词。例如,如果用户已经键入或输入了“the quick”并正在键入“brown”,则触发分析器140可操作以当用户正在键入触发器的最后一个词时将用户输入的内容与触发器“the quickbrown”相匹配。
可以意识的是,寄存器中的数据的顺序可以用于增加额外的精确度来搜索相关的触发器,但是在使用寄存器时非顺序的数据输入、数据的删除以及撤消/重做命令必须由触发分析器140特别处理。例如,如果用户按顺序键入“the quick brown”,则可以使用寄存器中的单词的顺序来帮助匹配或排列触发器以呈现给用户。然而,如果用户键入“thebrown”,并且稍后在它们之间插入“quick”,则寄存器中的词的顺序可能与当前文档120中的词的顺序不匹配。因此,寄存器可能超过触发器的要求的大小,使得当用户将内容输入到当前文档中时,可以在寄存器中保存和重新排列额外的数据以进行实时分析。
在其它方面,触发分析器140从当前文档120中的用户的当前位置(例如,如图形用户界面(GUI)中的光标所指示的)反向地分析对当前文档120的提交的改变。触发分析器140分析的当前文档120中的回退长度由触发器的大小要求确定。例如,当用户重新定位光标(或者当内容被添加到文档时光标被自动重新定位)时,基于光标位置的当前文档120中的最后n个词将被触发分析器140检查,用于根据索引170匹配触发器。
在其他方面,触发分析器140分析通过查询发送给它的内容。例如,用户可以输入文本字符串或将非文本内容粘贴到数据字段中,并将数据字段的内容发送到触发分析器140。
触发分析器140的上述两个方面可以被同时提供,可以仅提供上述方面中的一个,或者可以提供上述方面中的任何一个作为用户偏好,并且这由网络130、用户设备110和服务器150状态决定。例如,用户可以通过偏好来启用或禁用寄存器和/或提交的改变方面。如果网络130的可用带宽、用户设备110的处理资源或存储器或者用于创作当前文档120的应用程序的响应时间下降到设定的阈值以下,则用户设备110可以自动禁用一个或多个方面(由用户启用)。类似地,如果网络130的可用带宽、服务器150的处理资源或存储器或触发分析器140或用于创作当前文档120的应用程序的响应时间下降到设定的阈值以下,则服务器150可禁用多个方面中的一个方面(由用户启用)。
当触发分析器140确定当前文档120中存在重复内容块的触发器时,根据索引170取回关联的内容块。如将意识到的,多个内容块可以共享相同的触发器,并且多个潜在触发器可以存在于寄存器或触发分析器140分析的当前文档120的内容中。因此,触发分析器140可操作以将它返回的任何内容块排列为与索引170的潜在匹配。例如,如果寄存器包含五个词“quick brown fox jumps over”,并且已知的触发器包括“the quick brown,”和“jumpsquick over,”,所有重复的内容块可以从索引170返回到触发分析器140,触发分析器140将对结果进行排序(如果返回多于一个)并且发送重复内容块可以用于包含在当前文件中的通知。
在各个方面中,触发分析器140通过以下操作对来自索引170的结果内容块进行排序:内容块的触发器相对于寄存器内容的精确度,当前文档120的分析部分,或者查询的内容;内容块的使用的近期性(例如,最新的,最近未出现在当前文档120中,最不近期,最近被认为是重复内容块);内容块的使用频率(例如,最频繁,最不频繁出现在当前文档120中,最不频繁);用户偏好;以及它们的组合。
然后,通过网络130将重复内容可用于包括在当前文档中的通知从触发分析器140传输到用户设备110。在各个方面中,诸如关于图2A-F和在图4A-C中所示的,在当前文档的内容中向用户提供内嵌通知。在诸如关于图3A-C所示的其他方面中,作为用于创作当前文档120的应用的一部分的窗口或面板提供该通知。该通知可以是用于插入由触发分析器140确定的排名最高的重复内容块的控件,或者可以提供供用户选择的内容块的预览。
图2A-F、图3A-C和图4A-C示出了在创作具有用于制作硬果巧克力(Brownie)配方的作为其内容的当前文档120的上下文中的各种用户界面(UI)及其元素,作为展示创作文档时的用户体验的示例。创作当前文档120的用户可以访问用作历史文档的多个先前创作的配方,由于配方之间的相似性,因此多个配方包含重复内容块。触发分析器140将使得用户能够重用来自那些历史文档的重复内容,而不必寻找具有期望内容的文件,打开文件,找到期望的内容块,复制期望的内容块,并将其粘贴到当前文档120中。相反,取决于图2A-F、图3A-C和图4A-C中的每一个的特定的使用上下文,触发分析器140将基于当前文档120的状态找到可重用的潜在内容块。
图2A-F、图3A-C和图4A-C中的每一个的几个共同特征包括文档显示210(其包括页面、画布、幻灯片等等,在其中当前文档120的内容经由应用程序显示),用于创建当前文档120的应用程序的菜单栏220(其可以包括功能区界面、下拉菜单界面或可折叠界面)以及文本光标230(当当前文档120中的文本被选定时)。本领域的普通技术人员将认识到,UI元件的排列、形状、颜色、尺寸和图像可以在各个方面不同,所讨论的方面的组合是可能的,并且这里讨论的示例是为了说明的目的而提供的,并且本公开不限于在此说明和讨论的方面,而是本发明的适当范围由权利要求确定。
图2A-F是用于内嵌呈现200a-f的UI的示例。当用户创作当前文档120并且被自动呈现并选择使用重复内容的内容块时,每个内嵌呈现200a-f(通常称为内嵌呈现200)依次图示出UI。在图2A-F中,用户正在使用文字处理应用程序的桌面实现方式,但是其他应用程序也可以利用本公开,诸如例如电子表格应用程序、幻灯片演示应用程序、电子邮件应用程序、笔记记录应用程序等。
在图2A中,示出了初始内嵌呈现200a。用户已经开始创作与配方有关的文档,并且触发分析器140已经将短语“烤箱预热(Preheat the oven)”识别为触发器。触发分析器140向应用程序通知存在匹配触发器的重复内容块,其经由通知图标240在GUI中向用户指示。在内嵌呈现200中,内嵌显示通知图标;它被显示为靠近文本光标230的文档显示210的覆盖层,用户可以与之交互以将重复内容块输入到当前文档120中。取决于文档显示210内的文本光标230相对于显示当前文档120的屏幕的位置(例如,在屏幕的顶部,在屏幕的底部,在屏幕的左边或右边,在屏幕的中间),通知图标240的位置可以变化,使得其显示在文档显示210内(例如,在文本光标230的上方,下方,右侧和/或左侧)。
在图2B中,示出了第二内嵌呈现200b,其从初始内嵌呈现200a继续。在第二内嵌呈现200b中,用户已经选择了通知图标240的可致动子控件(在图2A-F中用具有向下箭头的灰色框表示)以呈现包括第一预览控件260a和第二预览控件260b(通称为预览控件260)的上下文菜单250。类似于通知图标240的上下文菜单250覆盖文档显示210并且可以在文档显示210内相对于显示当前文档120的屏幕发生位置变化。在各个方面,存在于通知图标240的子控件中的箭头将在它指向的哪个方向上变化,以指示相对于通知图标240而言上下文菜单250将被显示的总体方向。
在上下文菜单250内,显示多个预览控件260。由触发分析器140从重复内容块生成并排序(即,为了呈现而排序)预览控件260,并且将该内容块的至少一部分显示给用户。当重复内容包括文本时,所有文本中的一些文本可以从其得出的历史文档中以相关样式(例如,字体、大小、粗体、斜体、删除线)显示。当重复内容包括非文本数据时,可以生成缩略图、降低质量版本(例如,具有较低的每秒比特率(BPS)速率、较高的压缩率、减小的尺寸(裁剪或调整大小))以用于预览。取决于上下文菜单250的大小和预览控件260的大小,可以改变预览的内容块的量,并且可以在上下文菜单250内提供用于查看额外预览控件260(例如,滚动条、导航按钮)的控件。在各种方面中,触发分析器140使用用户偏好来产生多达预设数量的预览(例如,多达三,四,五等),并且如果用户期望更多预览,并且触发分析器140知道更多潜在内容块,则将生成额外预览并将其显示为上下文菜单250中的预览控件260。
在预览控件260中示为预览的内容块由触发分析器140选择,并基于当前文档120中的触发器来选择,例如用户输入的最后n个内容项(例如,词、字母、图像、段落)或从文本光标230向后延伸的最后n个内容项目(其中向后是在右到左书写系统中向左,在左到右书写系统向右,并且在上到下书写系统中向上)。将选择的文本内容块与用于触发器的索引170以及与当前文档120的内容相关的历史文档中存在的重复内容块进行比较。重复内容块用于生成预览,该预览是发送到用户设备110以供用户从中选择并且用信号通知触发分析器140将关联的内容块发送到当前文档120(在用户设备110、服务器150或云上,这取决于当前文档120托管在何处)。在图2B所示的示例中,基于“烤箱预热”的触发器,触发分析器140将从其他配方的历史文件中取得的用于将烤箱预热到设定温度并准备烘焙容器文本的重复内容块(例如来自数据库160中的先前配方)返回。如果整个内容块足够短以用于显示在预览控件260中,则可以被提供给用户以进行选择,或者如果整个内容块超过预览控件260的显示属性(即,太大),则预览控件260的大小可以被调整,或者触发分析器140将基于内容块来生成将适合预览控件260的显示属性的预览。
预览控件260被呈现为上下文菜单250内的用户可以选择插入关联的内容块的控件。用户可以选择预览控件260(例如,通过鼠标点击,鼠标悬停,滚轮,键盘选择(例如,通过使用“1”键来选择第一预览控件260a,“2”键选择第二预览控件260b,制表符选择期望的控件),触摸屏按压或触摸)以相对于与预览控件260相关联的内容块执行动作。例如,如图2C中的第三内嵌呈现200c中所示,当鼠标光标270悬停在预览控件260上时,将在其中将插入内容块的文档显示210中显示幻影预览280。幻影预览280示出了在文档显示210中以指示还没有被提交给文档的样式(例如,“变灰”,具有蚂蚁行进效果,淡入淡出显示的脉动效果,以用户定义的样式)选择的内容,并且如果其插入将移动现有内容,则可以临时移动文档显示210中的现有内容。
在另一示例中,如图2D中的第四内嵌呈现200d所示,当用户在预览控件260上左键点击时,相关联的内容块将被插入当前文档120中,通知图标240和上下文菜单250(以及任何包括预览控件260)将被从文档显示210中移除,并且文本光标230将被移动到插入的内容块的末尾,使得用户可以从内容块的末尾继续输入文本。在一些方面中,用户还可以致动通知图标240的主要部分(即,用双箭头示出的部分)以插入排名第一的内容块(即,与第一预览控件260a相关联的内容块)而无需呈现上下文菜单。应该意识到,上面给出的示例控件和动作可以被重新映射到不同的动作、键绑定、快捷方式等。
在各个方面中,用户偏好可以设置内容块将以在其中重复的历史文档的格式(如果历史文档共享相同格式)插入,或者使用文本光标230的位置处当前文档120的格式。
当在执行重复内容块的插入之后使用撤销命令时,在各个方面中,通知图标240可以被重新呈现或者不被重新呈现,并且在各个方面中,上下文菜单将被打开或者不被打开,这取决于在重复内容块撤销命令之前被插入时它是否被打开。当使用重做命令(撤消一个撤销命令)时,通知图标240和上下文菜单250将不会在重做命令完成时显示,类似于当最初插入内容块时如何移除那些UI元素。
在图2E中,示出了从第四内嵌呈现200d继续的第五内嵌呈现200e。在第五内嵌呈现200e中,用户已经选择了通知图标240的可致动子控件,通知图标240呈现包括用于非文本数据的重复内容的预览控件260的上下文菜单250。非文本数据包括历史文档中重复使用的图像、图表、图形、声音文件、视频等。类似于图2A-D中所讨论的文本内容块的插入,可以选择非文本内容块以由用户直接通过通知图标240或通过经由上下文菜单250访问的预览控件260插入到当前文档120中。如果预览控件260中的非文本内容包括视频或音频元素(例如,动画图像文件、视频文件、音频文件),则可以经由预览控件260预览那些元素作为原始内容块的质量降低的、缩短长度的或质量和长度降低的版本。
在图2E所示的示例中,文档显示210包括预览控件260,其用于蛋清的干性发泡看起来是什么样子的图像或如何在蛋清中形成干性发泡的视频的非文本内容。触发分析器140使用文本光标230所在的当前文档120或其部分(段落、行、句子、子句、最后n个词)的内容(部分地叙述“然后搅拌蛋清以形成干性发泡”)以与历史文档中存在的与当前文档120的内容有关的触发器和重复内容块的索引进行比较。重复内容块被用于生成预览,其被发送到用户设备110以供用户从中进行选择并且用信号通知触发分析器140以将关联的内容块发送到当前文档120(在用户设备110、服务器150或云上,取决于当前文档120托管的地方)。
在选择非文本内容时,并且如图2F对于内嵌呈现200f所示,将重复的非文本内容块插入当前文档120中,并且将通知图标240从文档显示210中移除,并且相应地调整文档显示210中的文本光标230的位置。在各个方面中,用户偏好可以设置内容块将被插入在其中重复的历史文档的格式(如果历史文档共享相同格式),或者使用在文本光标230的位置处的当前文档120的格式。
图3A-C是用于窗格呈现300a-c的UI的示例。当用户创作当前文档120并被自动呈现并选择使用重复内容的内容块时,每个窗格呈现300a-c(通常称为窗格呈现300)依次图示出UI。在图3A-C中,用户正在使用文字处理应用程序的桌面实现方式,但是其他应用程序也可以利用本公开,诸如例如电子表格应用程序、幻灯片演示应用程序、电子邮件应用程序、笔记记录应用程序等。
在图3A中,图示了初始的窗格呈现300a。用户已经开始创作与配方有关的文档,并且触发分析器140已经将短语“烤箱预热”识别为触发器。与内嵌呈现200不同的是,其中由触发分析器140接收的创作命令包括向当前文档120添加(或删除)内容或定位文本光标230并分析从新定位的文本光标230向回延伸的内容,在窗格呈现300中,创作命令包括将潜在的触发器输入到窗格310中的搜索框320中。
在各个方面中,窗格310可以是应用程序显示内的文档显示210外部的对接窗口或面板,覆盖文档显示210的模式解除对接窗口(或者当应用程序在小于用户设备110可用的总屏幕区域上操作时显示应用程序窗口之外),或覆盖文档显示210的非模式解除对接窗口(或者当应用程序在小于用户设备110可用的总屏幕区域上操作时显示在应用程序窗口之外)。
在各个方面中,搜索框320由用户手动填充或由应用程序自动填充。例如,搜索框320可以自动用从文本光标230向回的最后n个词、突出显示的文本填充,或者在窗格310打开时填充为空白。可选地或附加地,用户可以将内容粘贴或输入到搜索框320中。类似地,搜索用于包括在当前文档120中的潜在重复内容块的创作命令可以被自动地发送(即,当内容被输入搜索框320时)或者经由用户命令(诸如击中与搜索框320相关联的“搜索”,“去往”或“确定”按钮或返回键)。
在图3A所示的示例中,在搜索框320中示出短语“烤箱预热”,并且与该短语有关的若干预览控件260已经由触发分析器140返回,因为已经在历史文档中重复的,并且因为具有基于索引170将其包括在当前文档120中的潜在兴趣。例如,预览控件260a-c中示出的每个内容块可以以短语“烤箱预热”开始,并且被排列用于由触发分析器140呈现,按上面讨论的各种方案。也如上所述,用户选择预览控件260以预览相关联的内容块或将相关联的内容块插入到当前文档120中。
如针对上下文菜单250所讨论的,替代地或除了滚动条之外,所示的窗格310包括一更多按钮330,如果可用的话,其将使触发分析器140提供额外的预览。在一些方面,额外的预览将替换预览控件260中的先前预览,而在其他方面中,额外的预览被添加到窗格310,并且可以减少先前存在于窗格310中的预览控件260的大小,或滚动条或导航控件可被添加到窗格310以导航呈现给用户的多个预览控件260。
在图3B中,示出了第二窗格呈现300b,用户已经将与第一预览控件260a相关联的内容块从初始窗格呈现300a插入到当前文档120中,并且继续创作当前文档120,在新段落中输入文本“将蛋黄和蛋清分离”。也如图所示,搜索框320还包含文本“将蛋黄和蛋清分离”,并且窗格310包括用于重复的内容块(包括第一预览控件260a和第二预览控件260b中的文本内容以及第三预览控件260c中的非文本内容)的预览控件260。
在图3C中,示出了第三窗格呈现300c,示出了与在第二窗格呈现300b中示出的三个预览控件260a-c相关联的每个内容块的插入。如图所示,在将内容块插入当前文档120之后,面板310保持打开,但是在一些方面,可以在插入内容块时关闭面板310。在第三窗格呈现300c中,预览控件310的顺序在插入前和插入后保持不变,但是在其他方面,选择进行插入的预览控件260从面板310移除或按照顺序在面板310降级。通过在内容块已经插入当前文档120中之后将窗格保持打开状态,用户可以选择多个内容块以插入当前文档120并控制插入这些块的顺序。
图4A-C是用于移动呈现400a-c的UI的示例。当用户创作当前文档120并被自动呈现并选择使用重复内容的内容块时,移动呈现400a-c(通常称为移动呈现400)中的每一个依次图示出UI。在图4A-C中,用户正在使用文字处理应用程序的移动实现方式(例如,在智能电话、平板电脑或其他小形状因数设备上),但是其他应用程序也可以利用本公开,诸如例如电子表格应用程序、幻灯片演示应用程序、电子邮件应用程序、笔记记录应用程序等。
在图4A中,示出了初始移动呈现400a。用户已经开始使用创作面板410创作与配方有关的文档,创作面板410包括创作控件,例如为触摸屏或一系列相关命令控件生成的软键盘。触发分析器140已经将短语“烤箱预热”识别为触发器,并且已经通知应用程序经由通知图标240向GUI中的用户指示了存在与触发器匹配的重复内容块。
当用户例如通过使用触摸屏、语音命令或外部指点设备来选择通知图标240来确认通知图标240时,例如图4B中所示的第二移动呈现400b将取代初始的移动呈现400a。在图4B中,创作面板410的内容被替换为预览控件260,以供用户选择用于插入当前文档120中的内容块,以及回放控件420,供用户切换是否期望对由预览控件260表示的内容块的回放,例如通过文本到语音音频回放、幻影文本、在新窗口中打开非文本内容等。
当用户例如通过使用触摸屏、语音命令或外部指点设备从创作面板410中选择预览控件260时,诸如图4C中所示的第三移动呈现400c将取代第二移动呈现400b。在图4C中,与选定的预览控件260相关联的内容块被插入到当前文档120中,文本光标230被自动地移动到内容块的末尾,创作面板410的先前状态被恢复,并且以及通知图标240从文档显示210移除。
当用户选择解除控件(未示出)或者在查看第二移动呈现300b时重新选择文档显示210时,初始移动呈现400a可以替换第二移动呈现400b。
图5是示出用于服务器提供重复内容自动呈现的示例方法500中涉及的一般阶段的流程图。方法500在操作510处开始,其中创作命令由触发分析器140接收。在各个方面,创作命令包括内容的插入、内容的删除、重新定位文本光标230或传输查询。创作命令向触发分析器140指示当前文档120的内容已经改变或者用户潜在地计划改变当前文档120的内容。
在操作520处,触发分析器140使用接收创作命令之后的当前文档120的新状态,以将潜在触发器与链接触发器和来自历史文档的重复内容块的索引170进行比较。在各个方面中,触发分析器140使用最近接收到的创作命令(例如,键入的字符)的寄存器来与索引170进行比较。在其他方面,触发分析器140在当前文档120的内容中从文本光标230的位置向回查找当前文档120的内容以与索引170进行比较。在其他方面,查询被发送到触发分析器140以与索引170进行比较以返回与查询有关的重复内容块。
方法500然后前进到判定530,在判定530中确定来自当前文档120的潜在触发器与索引170中的触发器之间是否存在匹配。如果没有来自索引170的触发器被确定为匹配来自当前文档120的潜在触发器,用户可以在没有触发分析器140的介入的情况下继续创作当前文档120,并且方法500返回到操作510。如果在判定530处发现多于一个潜在匹配,则方法500进行到可选操作535,否则方法500进行到操作540。
在可选操作535处,对多于一个匹配进行排名以供呈现给用户。在一些方面,触发分析器140按内容块的触发器对于当前文档120的内容的精确性、具有与当前文档的内容匹配的触发器的重复内容块的使用的近期性(例如,最近,最近没有出现在当前文档120中,最不近期,最近被认为是重复内容块)、内容块的使用频率(例如,最频繁,最不频繁出现在当前文档120中,最不频繁)、用户偏好以及它们的组合对结果进行排序。
在操作540处,触发分析器140向用户发送以下通知:与当前文档120的内容匹配的重复内容块可用于插入到当前文档120中。在一些方面中,用户经由用于编辑当前文档120的应用程序的文档显示210内显示的通知图标240接收通知,而在其他方面,用户接收该通知作为预览控件260,例如显示在用于编辑当前文件120的应用程序的窗格310中。
在判定550处,确定是否从用户接收到响应。如果没有收到响应,并且用户继续编辑当前文档120,则通知可以在应用程序中保留或从应用程序中移除,但是方法500返回到操作510。如果接收到请求插入内容块的响应,例如通过用户选择通知图标240来插入排名靠前的重复内容块或者选择预览控件260以插入相关联的内容块,则方法500进行到操作590。如果接收到请求预览的响应(或另外的预览),例如通过用户选择通知图标240的子控件或更多按钮330,则方法500进行到操作560。
当方法500进行到操作560时,触发分析器140生成重复内容的关联块的预览以显示给用户。在各个方面中,预览被截断,质量降低或者被压缩以减少传输给用户的数据量并且适合应用程序和预览控件260的显示能力(和偏好)。内容块的压缩根据关于如何在GUI中显示预览内容的各种规则和用户偏好来完成,并且当索引170包括内容块或其预览时,触发分析器140可以从其中发现它们的历史文档中提取部分或全部内容块,而不必利用创作应用程序或从索引170打开历史文档。
在操作570处,在操作560中生成的预览被发送给用户,使得用户可以例如经由关联的预览控件260选择用于插入到当前文档120中的预览。
进行到判定580,确定是否已经从用户接收到对预览的选择,例如经由预览控件260。当确定用户已经选择了特定预览时,方法500进行到操作590,其中与特定预览相关联的重复内容块将被发送以集成到当前文档120中。否则,方法500结束。
在操作590,内容块被发送到当前文档120。在各个方面中,内容块被发送到存储当前文档120的计算机设备,计算机设备可以包括用户设备110、联网设备或者云设备或云服务器。当还没有当前文档120的永久副本存在时(例如,当前文档120是存在于计算机设备的短期或易失性存储器中的只读或未保存副本)时,内容块被发送到其上正在运行用于编辑当前文档120的应用程序的计算机设备,这可能与最终保存当前文档120的计算机设备不同(如果它被保存的话)。在各个方面,从历史文档中提取重复内容块,而不需要创作应用程序来打开历史文档,而在其他方面,从索引170提取重复内容块。在重复内容块发送到当前文档120后,方法500然后结束。
图6是示出用于用户参与重复内容自动呈现的示例方法600中涉及的一般阶段的流程图。方法600在操作610处开始,其中用户创作当前文档120。用户可以创建新文档(空白或经由模板)或者打开历史文档以用作当前文档120来创作。
当用户例如通过键入,插入内容,删除内容,运行宏,格式化内容等来创作当前文档120时,方法600将前进到操作620,其中用户接收到由触发分析器140确定可用的重复内容块与当前文档120的当前状态相关的通知。例如,用户可能已经输入了与由索引170保存的触发器匹配的内容,用户可能已经将文本光标230移动到当前文档120内的包括匹配索引170所保持的触发器的内容的位置,或者用户可能已经发送了对于与索引170中与搜索框320中的内容相匹配的触发器相关联的重复内容块的查询。
方法600然后进行到操作630,其中用户例如经由通知图标240或预览控件260选择要插入到当前文档120中的内容块。当做出选择时,发送该选择到触发分析器140,例如,作为在呈现给用户的内容块的排序列表中的所选内容块的位置的标识符。触发分析器140将重复内容块发送到当前文档120,该重复内容块在操作640中由当前文档120接收。
在操作650处,所选择的重复内容块被集成到当前文档120中。在各个方面中,通过其正在创作当前文档120的应用程序将通过合并操作(例如邮件合并)、经由粘贴操作(例如,将该块临时添加到剪贴板)或者通过将输入命令直接馈送到当前文档120来集成所选择的块。在各种方面中,所选择的重复内容块的样式或格式可以是源历史文档或目的地当前文档120的样式或格式。方法600然后结束。
虽然已经在与在计算机上的操作系统上运行的应用程序一起执行的程序模块的一般上下文中描述了实现方式,但是本领域技术人员将认识到各方面也可以与其他程序模块结合地实现。通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其他类型的结构。
本文所描述的方面和功能可以通过许多计算系统来操作,包括但不限于台式计算机系统、有线和无线计算系统、移动计算系统(例如,移动电话、上网本、平板或平板式计算机、笔记本计算机和膝上型计算机)、手持设备、多处理器系统、基于微处理器或可编程的消费电子产品、小型计算机和大型计算机。
此外,根据一个方面,本文描述的方面和功能可以在分布式系统(例如,基于云的计算系统)上操作,其中应用功能、存储器、数据存储和取回以及各种处理功能通过分布式计算网络(如因特网或内联网)相互远程地操作。根据一个方面,通过板载计算设备显示器或通过与一个或多个计算设备相关联的远程显示单元来显示各种类型的用户界面和信息。例如,各种类型的用户界面和信息被显示在壁面上并且在壁面上进行交互,在壁面上投影有各种类型的用户界面和信息。与实践实现方式的多个计算系统的交互包括:按键输入,触摸屏输入,语音或其他音频输入,其中相关联的计算设备配备有用于捕获和解释用户手势以用于控制计算设备的功能的检测(例如,照相机)功能的手势输入,等等。
图7-9和相关描述提供了对实践示例的各种操作环境的讨论。然而,关于图7-9所图示和讨论的设备和系统是用于示例和说明的目的,并不限制用于实践本文所述的方面的大量计算设备配置。
图7是示出可以实施本公开的示例的计算设备700的物理组件(即,硬件)的框图。在基本配置中,计算设备700包括至少一个处理单元702和系统存储器704。根据一个方面,取决于计算设备的配置和类型,系统存储器704包括但不限于易失性存储装置(例如随机存取存储器)、非易失性存储装置(例如,只读存储器)、闪存或这些存储器的任何组合。根据一个方面,系统存储器704包括操作系统705和适用于运行软件应用程序750的一个或多个程序模块706。根据一个方面,系统存储器704包括触发分析器140。操作系统705例如适合于控制计算设备700的操作。此外,方面结合图形库、其他操作系统或任何其他应用程序来实践,并且不限于任何特定应用程序或系统。该基本配置在图7中由虚线708内的那些组件示出。根据一个方面,计算设备700具有附加特征或功能。例如,根据一个方面,计算设备700包括额外的数据存储设备(可移动和/或不可移动),例如磁盘、光盘或磁带。图7中通过可移动存储设备709和不可移动存储设备710来说明这种附加存储。
如上所述,根据一个方面,多个程序模块和数据文件被存储在系统存储器704中。当在处理单元702上执行时,程序模块706(例如,触发分析器140)执行包括但不限于分别在图5和6中所示的方法500和600的一个或多个阶段的过程。根据一个方面,根据示例使用其他程序模块并且包括诸如电子邮件和联系人应用程序、文字处理应用程序、电子表格应用程序、数据库应用程序、幻灯片演示应用程序、绘图或计算机辅助应用程序等的应用程序。
根据一个方面,各方面在包括分立电子元件的电路、包含逻辑门的封装或集成电子芯片、利用微处理器的电路或包含电子元件或微处理器的单个芯片上实现。例如,通过片上系统(SOC)实现各方面,其中图7中所示的每个或许多组件集成到单个集成电路上。根据一个方面,这种SOC设备包括一个或多个处理单元、图形单元、通信单元、系统虚拟化单元和各种应用功能,它们都作为单个集成电路集成(或“烧录”)到芯片基板上。当通过SOC操作时,本文描述的功能通过与计算设备500的其他组件集成到单个集成电路(芯片)上的专用逻辑来操作。根据一个方面,本公开的方面使用能够执行诸如与(AND)、或(OR)和非(NOT)的逻辑操作的其他技术来实施,包括但不限于机械、光学、流体和量子技术。此外,各方面在通用计算机或任何其他电路或系统中实施。
根据一个方面,计算设备700具有一个或多个输入设备712,诸如键盘、鼠标、笔、声音输入设备、触摸输入设备等。根据一个方面,还包括输出设备714,如显示器、扬声器、打印机等。上述设备是示例,并且可以使用其他设备。根据一方面,计算设备700包括允许与其他计算设备718进行通信的一个或多个通信连接716。合适的通信连接716的示例包括但不限于:射频(RF)发射器、接收器和/或收发器电路;通用串行总线(USB),并行和/或串行端口。
本文使用的术语计算机可读介质包括计算机存储介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构或程序模块的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。系统存储器704、可移动存储设备709和非可移动存储设备710都是计算机存储介质示例(即,存储器存储)。根据一个方面,计算机存储介质包括RAM、ROM、电可擦除可编程只读存储器(EEPROM)、闪速存储器或其他存储器技术,CD-ROM,数字通用盘(DVD)或其他光存储器、磁带盒、磁带、磁盘存储或其他磁存储设备,或任何其他可以用于存储信息并且可以由计算设备700访问的制品。根据一个方面,任何这样的计算机存储介质是计算设备700的一部分。计算机存储介质不包括载波或其他传播的数据信号。
根据一个方面,通信介质由计算机可读指令、数据结构、程序模块或诸如载波或其他传输机制的调制数据信号中的其他数据来实现,并且包括任何信息传递介质。根据一个方面,术语“调制数据信号”描述了以对信号中的信息进行编码的方式设置或改变一个或多个特性的信号。作为示例而非限制,通信介质包括诸如有线网络或直接有线连接的有线介质,以及诸如声学、射频(RF)、红外和其它无线介质的无线介质。
图8A和图8B示出了可以实践各方面的移动计算设备800,例如移动电话、智能电话、平板个人计算机、膝上型计算机等。参考图8A,示出了用于实现各方面的移动计算设备800的示例。在基本配置中,移动计算设备800是具有输入元件和输出元件的手持式计算机。移动计算设备800通常包括显示器805和允许用户将信息输入到移动计算设备800中的一个或多个输入按钮810。根据一个方面,移动计算设备800的显示器805用作输入设备(例如,触摸屏显示器)。如果包括,可选的侧面输入元件815允许进一步的用户输入。根据一方面,侧面输入元件815是旋转开关、按钮或任何其它类型的手动输入元件。在替代示例中,移动计算设备800包含更多或更少的输入元件。例如,在一些示例中,显示器805可以不是触摸屏。在替代示例中,移动计算设备800是诸如蜂窝电话的便携式电话系统。根据一个方面,移动计算设备800包括可选的小键盘835。根据一个方面,可选的小键盘835是物理小键盘。根据另一方面,可选的小键盘835是在触摸屏显示器上产生的“软”小键盘。在各个方面,输出元件包括用于显示图形用户界面(GUI)、视觉指示器820(例如,发光二极管)和/或音频换能器825(例如扬声器)的显示器805。在一些示例中,移动计算设备800包括用于向用户提供触觉反馈的振动换能器。在又一示例中,移动计算设备800包输入和/或输出端口,诸如音频输入(例如,麦克风插孔)、音频输出(例如,耳机插孔)和视频输出(例如,HDMI端口)用于向外部设备发送信号或从外部设备接收信号。在又一示例中,移动计算设备800包含外围设备端口840,诸如音频输入(例如,麦克风插孔)、音频输出(例如,耳机插孔)和视频输出(例如,HDMI端口)用于向外部设备发送信号或从外部设备接收信号。
图8B是示出移动计算设备的一个示例的体系结构的框图。也就是说,移动计算设备800包括实现一些示例的系统(即,体系结构)802。在一个示例中,系统802被实现为能够运行一个或多个应用(例如浏览器、电子邮件、日历、通讯录管理器、消息传递客户端、游戏和媒体客户端/播放器)的“智能电话”。在一些示例中,系统802被集成为诸如集成个人数字助理(PDA)和无线电话之类的计算设备。
根据一个方面,将一个或多个应用程序850加载到存储器862中并在操作系统864上或与操作系统864相关联地运行。应用程序的示例包括电话拨号程序、电子邮件程序、个人信息管理(PIM)程序、文字处理程序、电子表格程序、因特网浏览器程序、消息传递程序等。根据一个方面,触发分析器140被加载到存储器862中。系统802还包括存储器862内的非易失性存储区域868。非易失性存储区域868用于存储持久信息,如果系统802断电,则持久信息不会丢失。应用程序850可以使用信息且将信息存储在非易失性存储区域868中,诸如电子邮件或由电子邮件应用使用的其它消息等。同步应用(未示出)也驻留在系统802上,并且被编程为与驻留在主计算机上的对应的同步应用进行交互,以将存储在非易失性存储区域868中的信息与存储在主计算机上的对应信息同步。应当意识到,其他应用程序可以被加载到存储器862中并在移动计算设备800上运行。
根据一个方面,系统802具有电源870,电源870被实现为一个或多个电池。根据一方面,电源870还包括外部电源,例如AC适配器或用于补充或对电池再充电的电源对接支架。
根据一个方面,系统802包括执行发送和接收射频通信的功能的无线电872。无线电872促进通过通信运营商或服务提供商在系统802和“外界”之间的无线连接。发送到无线电872以及自无线电872发送是在操作系统864的控制下进行的。换句话说,无线电872接收到的通信可以经由操作系统864传播到应用程序850,反之亦然。
根据一个方面,视觉指示器820用于提供视觉通知和/或音频接口874用于经由音频换能器825产生可听的通知。在所示示例中,视觉指示器820是发光二极管(LED),音频换能器825是扬声器。这些设备可以直接耦合到电源870,使得当被激活时,即使处理器860和其他组件可能关闭以保持电池电力,它们也在由通知机制规定的持续时间内保持接通。LED可能被编程为无限期地接通,直到用户采取动作来指示设备的加电状态。音频接口874用于向用户提供可听见的信号并从其接收可听见的信号。例如,除了耦合到音频换能器825之外,音频接口874还可以耦合到麦克风以接收可听的输入,诸如促进电话对话。根据一个方面,系统802还包括视频接口876,其使得板载照相机830的操作能够记录静止图像、视频流等。
根据一个方面,实现系统802的移动计算设备800具有附加的特征或功能。例如,移动计算设备800包括诸如磁盘、光盘或磁带的附加数据存储设备(可移动和/或不可移动)。这种附加存储在图8B中由非易失性存储区868示出。
根据一个方面,由移动计算设备800生成或捕获且经由系统802存储的数据/信息被本地存储在移动计算设备800上,如上所述。根据另一方面,数据可以存储在可由设备经由无线电872或者经由移动计算设备800与关联移动计算设备800的单独的计算设备(例如,诸如因特网的分布式计算网络中的服务器计算机)之间的有线连接访问的任意数量的存储介质上。应当理解的是,这些数据/信息可以通过移动计算设备800经由无线电872或者经由分布式计算网络来访问。类似地,根据一个方面,根据公知的数据/信息传输和存储手段,包括电子邮件和协作数据/信息共享系统,这些数据/信息可轻易地在计算设备之间传输以便存储和使用。
图9是示出用于如上所述重复内容块的自动呈现的系统的体系结构的一个示例。与触发分析器140关联地开发的内容、交互的内容或编辑的内容可以存储在不同的通信信道上或其它存储类型。例如,可利用目录服务922、门户网站924、邮箱服务926、即时消息传递存储库928或社交网站930来存储各个文档。触发分析器140可使用这些类型的系统等中的任一种用于如本文所述的在当前文档120中自动呈现历史文档的重复内容块。根据一个方面,服务器920可以为客户端905a,b,c提供触发分析器140。作为一个示例,服务器920可以是通过web提供触发分析器140的web服务器。服务器920可以通过网络940在web上将触发分析器140提供给客户端705。通过示例的方式,客户端计算设备可以实现且体现在个人计算机905a、平板计算设备905b和/或移动计算设备905c(例如,智能手机)或其它计算设备中。客户端计算设备的这些示例中的任一个均可以从储存库716获得内容。
根据各方面,上面参照方法、系统和计算机程序产品的框图和/或操作说明来描述例如实现方式。框中记载的功能/动作可能按照任何流程图所示的顺序发生。例如,取决于所涉及的功能/动作,连续示出的两个框实际上可以基本同时执行,或者有时可以以相反的顺序执行框。
在本申请中提供的一个或多个示例的描述和说明不旨在以任何方式限制或限缩所要求保护的本发明的范围。在该申请中提供的方面、示例和细节被视为足以传达所有权以及使得其他技术人员能够实现和使用所要求保护的发明的最佳方式。实现方式不应被解释为限于本申请中提供的任何方面、示例或细节。无论是组合地或者单独地显示和描述,各个特征(结构上的和方法上的)都意在被选择性地包含或省去以产生具有特定特征集合的示例。已经提供了本申请的描述和说明,本领域技术人员可以设想落入在本申请体现的总的发明构思的较宽方面的精神内的、没有脱离本公开的该较宽范围的变型例、修改例和可选的示例。

Claims (15)

1.一种用于提高用于创作当前文档的计算机设备中的效率的方法,包括:
由服务器从所述当前文档接收创作命令;
响应于接收到所述创作命令,由所述服务器将所述当前文档的内容与索引进行比较,其中,所述索引包括与在历史文档中找到的重复内容块相关的触发器;
当确定所述创作命令与来自所述索引的至少一个触发器匹配时,从所述服务器向所述计算机设备发送所述至少一个重复内容块能够用于插入到所述当前文档中的通知;以及
当从所述计算机设备接收到指示从所述至少一个重复内容块选择给定重复内容块的响应时,将所述给定重复内容块发送到所述当前文档以供插入所述当前文档中。
2.如权利要求1所述的方法,其中,所述历史文档是从用户指定的位置识别的。
3.如权利要求1所述的方法,其中,所述触发器包括在所述历史文档中的所述重复内容块之前的内容。
4.如权利要求1所述的方法,其中,所述至少一个重复内容块是在用户定义数量的历史文档中找到的。
5.如权利要求1所述的方法,其中,所述创作命令包括最后输入到所述当前文档中的用户定义数量的字符构成的文本内容输入。
6.如权利要求5所述的方法,其中,所述创作命令包括响应于用户在所述当前文档中重定位文本光标,在所述当前文档中从所述当前文档中的文本光标位置向回选择的用户定义量的内容。
7.一种用于提高用于创作当前文档的计算机设备中的效率的系统,包括:
数据库,其存储多个历史文档;
索引,其存储多个触发器,其中,所述多个触发器中的每个触发器与重复内容块相关联,其中,每个重复内容块被包括在所述多个历史文档中的至少两个历史文档中;以及
触发分析器,其可操作用于分析来自所述当前文档的内容以确定存储在索引中的所述多个触发器中的哪些给定触发器匹配来自所述当前文档的内容,在所述当前文档中生成与所述给定触发器相关联的重复内容块的预览以供用户从中选择,并且响应于从所述用户接收到对特定预览的选择,将与所述特定预览相关联的重复内容块返回到所述当前文档以供插入到所述当前文档中。
8.如权利要求7所述的系统,其中,当来自所述当前文档的内容与所述给定触发器中的多个相关联时,生成所述预览还包括基于以下中的至少一个对所述预览进行排序:
所述给定触发器相对于相关联的重复内容块的精确性;
所述历史文档中的相关联的重复内容块的频率;以及
其中包含有所述相关联的重复内容块的所述历史文档的近期性。
9.如权利要求7所述的系统,其中,所述触发器包括文本内容,并且所述相关联的重复内容块包括非文本内容。
10.如权利要求7所述的系统,其中,所述重复内容块的预览是所述重复内容块的减小尺寸版本,其中,减小所述重复内容块的尺寸包括以下之一:
减少文本内容的量;
降低视频内容的每秒比特率;
增加图像内容的压缩;或者
裁剪图像内容。
11.如权利要求7所述的系统,其中,所述预览将来自所述当前文档的格式应用到所述重复内容块以替代来自所述历史文档的格式。
12.如权利要求7所述的系统,其中,根据所述当前文档分析的内容是从由以下组成的组中选择的:
最近输入到所述当前文档中的用户定义量的内容;
在所述当前文档中从文本光标位置向回的、位于所述当前文档中的用户定义量的内容;以及
用户发起的查询。
13.一种用于提高用于创作当前文档的计算机设备中的效率的方法,包括:
在所述计算机设备处在所述当前文档中执行创作命令,其中,所述计算机设备与触发分析器通信;
在所述计算机设备处从所述触发分析器接收多个建议的重复内容块,其中,包括所述多个建议的重复内容块的建议的重复内容块是基于所述创作命令从历史文档中识别的;
在所述计算机设备处提供对所述多个建议的重复内容块的显示,其中,所述显示提供针对包括所述多个建议的重复内容块的建议的重复内容块中的每个建议的重复内容块的可致动控件和预览;
在所述计算机设备处从所述显示中选择一个建议的重复内容块;以及
将所述一个建议的重复内容块合并到所述当前文档中。
14.如权利要求13所述的方法,其中,所述当前文档由访问用于创作所述当前文档的计算设备的远程计算设备提供,其中,将所述一个建议的重复内容块合并到所述当前文档中包括所述计算设备请求所述远程计算设备将所述一个建议的重复内容块插入到所述当前文档中。
15.如权利要求13所述的方法,还包括:
响应于鼠标悬停于在所述显示中的给定建议的重复内容块的预览之上,在所述当前文档中以幻影格式显示所述给定建议的重复内容块,而不将所述给定建议的重复内容块合并到所述当前文档中。
CN201780004210.XA 2016-02-01 2017-01-30 用于重复内容的自动呈现的方法和系统 Active CN108292302B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662289503P 2016-02-01 2016-02-01
US62/289,503 2016-02-01
US15/183,460 2016-06-15
US15/183,460 US10108615B2 (en) 2016-02-01 2016-06-15 Comparing entered content or text to triggers, triggers linked to repeated content blocks found in a minimum number of historic documents, content blocks having a minimum size defined by a user
PCT/US2017/015535 WO2017136248A1 (en) 2016-02-01 2017-01-30 Automated repeated content presentation

Publications (2)

Publication Number Publication Date
CN108292302A true CN108292302A (zh) 2018-07-17
CN108292302B CN108292302B (zh) 2022-06-24

Family

ID=59385568

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780004210.XA Active CN108292302B (zh) 2016-02-01 2017-01-30 用于重复内容的自动呈现的方法和系统

Country Status (4)

Country Link
US (1) US10108615B2 (zh)
EP (1) EP3411805A1 (zh)
CN (1) CN108292302B (zh)
WO (1) WO2017136248A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020057378A1 (zh) * 2018-09-19 2020-03-26 北京金山办公软件股份有限公司 一种预览待插入图形的方法、装置、电子设备及存储介质
CN112001161A (zh) * 2020-08-25 2020-11-27 上海新炬网络信息技术股份有限公司 一种文本查重方法
CN113377550A (zh) * 2020-02-25 2021-09-10 西安诺瓦星云科技股份有限公司 用于内容复用的引擎工具、引擎系统及编辑工具
CN114997115A (zh) * 2021-03-01 2022-09-02 北京字跳网络技术有限公司 文档处理方法、装置、设备和介质
WO2022184012A1 (zh) * 2021-03-01 2022-09-09 北京字跳网络技术有限公司 一种文档创建方法、装置、设备及存储介质

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10754441B2 (en) * 2017-04-26 2020-08-25 Microsoft Technology Licensing, Llc Text input system using evidence from corrections
US20190018827A1 (en) * 2017-07-12 2019-01-17 Google Inc. Electronic content insertion systems and methods
US10613748B2 (en) 2017-10-03 2020-04-07 Google Llc Stylus assist
US11308282B2 (en) 2018-12-21 2022-04-19 Capital One Services, Llc Systems and methods for determining document compatibility
US20200202274A1 (en) * 2018-12-21 2020-06-25 Capital One Services, Llc Systems and methods for maintaining contract adherence
JP7363069B2 (ja) * 2019-03-20 2023-10-18 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
US11693676B2 (en) 2019-10-11 2023-07-04 Kahana Group Inc. Computer based unitary workspace leveraging multiple file-type toggling for dynamic content creation
US11397844B2 (en) * 2019-10-11 2022-07-26 Kahana Group Inc. Computer based unitary workspace leveraging multiple file-type toggling for dynamic content creation
US11829723B2 (en) * 2019-10-17 2023-11-28 Microsoft Technology Licensing, Llc System for predicting document reuse
CN112597107B (zh) * 2020-11-30 2023-09-12 煤炭科学技术研究院有限公司 检查报告生成方法、装置、电子设备和存储介质
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
KR102410253B1 (ko) * 2021-12-21 2022-06-22 (주)웅진씽크빅 개인 맞춤형 도서 제공 시스템 및 방법

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008031625A2 (en) * 2006-09-15 2008-03-20 Exbiblio B.V. Capture and display of annotations in paper and electronic documents
CN101529419A (zh) * 2006-10-17 2009-09-09 慷孚系统公司 用于对内容进行离线索引和对存储的数据进行分类的方法和系统
CN101546341A (zh) * 2008-03-28 2009-09-30 株式会社东芝 信息推荐装置和信息推荐方法
CN101925899A (zh) * 2008-01-23 2010-12-22 微软公司 对文件内容进行分布式索引
CN102023871A (zh) * 2011-01-07 2011-04-20 中国农业银行股份有限公司 一种xml信息获取方法和系统
CN102224497A (zh) * 2008-11-24 2011-10-19 微软公司 在共享文档上的由用户创作的注释
US20120324350A1 (en) * 2011-06-20 2012-12-20 Lev Rosenblum Document assembly systems and methods
US20140164890A1 (en) * 2012-12-10 2014-06-12 Microsoft Corporation Insertion and playback of video in documents
US20140244622A1 (en) * 2013-02-27 2014-08-28 Facebook, Inc. Determining phrase objects based on received user input context information
CN104025084A (zh) * 2011-09-27 2014-09-03 亚马逊技术有限公司 历史浏览会话管理
US20150154660A1 (en) * 2013-12-03 2015-06-04 Sharethrough Inc. Dynamic native advertisment insertion

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6216122B1 (en) * 1997-11-19 2001-04-10 Netscape Communications Corporation Electronic mail indexing folder having a search scope and interval
US6820075B2 (en) 2001-08-13 2004-11-16 Xerox Corporation Document-centric system with auto-completion
US7480861B2 (en) * 2002-10-09 2009-01-20 Microsoft Corporation System and method for converting between text format and outline format
WO2004034282A1 (ja) 2002-10-10 2004-04-22 Fujitsu Limited コンテンツ再利用管理装置およびコンテンツ再利用支援装置
US7391529B2 (en) 2003-01-15 2008-06-24 Xerox Corporation Apparatus and method for managing and using reusable document components during the process of dynamic document construction
US8290958B2 (en) 2003-05-30 2012-10-16 Dictaphone Corporation Method, system, and apparatus for data reuse
US20050149496A1 (en) * 2003-12-22 2005-07-07 Verity, Inc. System and method for dynamic context-sensitive federated search of multiple information repositories
CA2614233A1 (en) 2005-07-05 2007-01-11 Dictaphone Corporation System and method for auto-reuse of document text
US7587385B2 (en) 2005-08-30 2009-09-08 Sap Ag Autocompletion for unordered lists
US20080126983A1 (en) 2006-11-29 2008-05-29 Keohane Susann M Content-based ordering of a list of selectable entries for an auto-complete box
US8352469B2 (en) * 2009-07-02 2013-01-08 Battelle Memorial Institute Automatic generation of stop word lists for information retrieval and analysis
US8510649B2 (en) 2009-08-26 2013-08-13 Eustace Prince Isidore Advanced editing and interfacing in user applications
US20120290926A1 (en) * 2011-05-12 2012-11-15 Infinote Corporation Efficient document management and search
US8645825B1 (en) 2011-08-31 2014-02-04 Google Inc. Providing autocomplete suggestions
CN103379217B (zh) 2012-04-28 2015-09-09 阿里巴巴集团控股有限公司 一种手持设备中输入内容自动补全的方法、装置和服务器
US9208460B2 (en) * 2012-10-19 2015-12-08 Lexisnexis, A Division Of Reed Elsevier Inc. System and methods to facilitate analytics with a tagged corpus
US9195736B2 (en) 2013-08-07 2015-11-24 Red Hat, Inc. System and method for content storage

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008031625A2 (en) * 2006-09-15 2008-03-20 Exbiblio B.V. Capture and display of annotations in paper and electronic documents
CN101765840A (zh) * 2006-09-15 2010-06-30 埃克斯比布里奥公司 纸质与电子文档中的注释的捕获及显示
CN101529419A (zh) * 2006-10-17 2009-09-09 慷孚系统公司 用于对内容进行离线索引和对存储的数据进行分类的方法和系统
CN101925899A (zh) * 2008-01-23 2010-12-22 微软公司 对文件内容进行分布式索引
CN101546341A (zh) * 2008-03-28 2009-09-30 株式会社东芝 信息推荐装置和信息推荐方法
CN102224497A (zh) * 2008-11-24 2011-10-19 微软公司 在共享文档上的由用户创作的注释
CN102023871A (zh) * 2011-01-07 2011-04-20 中国农业银行股份有限公司 一种xml信息获取方法和系统
US20120324350A1 (en) * 2011-06-20 2012-12-20 Lev Rosenblum Document assembly systems and methods
CN104025084A (zh) * 2011-09-27 2014-09-03 亚马逊技术有限公司 历史浏览会话管理
US20140164890A1 (en) * 2012-12-10 2014-06-12 Microsoft Corporation Insertion and playback of video in documents
US20140244622A1 (en) * 2013-02-27 2014-08-28 Facebook, Inc. Determining phrase objects based on received user input context information
US20150154660A1 (en) * 2013-12-03 2015-06-04 Sharethrough Inc. Dynamic native advertisment insertion

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020057378A1 (zh) * 2018-09-19 2020-03-26 北京金山办公软件股份有限公司 一种预览待插入图形的方法、装置、电子设备及存储介质
CN110929473A (zh) * 2018-09-19 2020-03-27 珠海金山办公软件有限公司 一种预览待插入图形的方法、装置、电子设备及存储介质
CN113377550A (zh) * 2020-02-25 2021-09-10 西安诺瓦星云科技股份有限公司 用于内容复用的引擎工具、引擎系统及编辑工具
CN112001161A (zh) * 2020-08-25 2020-11-27 上海新炬网络信息技术股份有限公司 一种文本查重方法
CN112001161B (zh) * 2020-08-25 2024-01-19 上海新炬网络信息技术股份有限公司 一种文本查重方法
CN114997115A (zh) * 2021-03-01 2022-09-02 北京字跳网络技术有限公司 文档处理方法、装置、设备和介质
WO2022184012A1 (zh) * 2021-03-01 2022-09-09 北京字跳网络技术有限公司 一种文档创建方法、装置、设备及存储介质

Also Published As

Publication number Publication date
US20170220567A1 (en) 2017-08-03
EP3411805A1 (en) 2018-12-12
WO2017136248A1 (en) 2017-08-10
US10108615B2 (en) 2018-10-23
CN108292302B (zh) 2022-06-24

Similar Documents

Publication Publication Date Title
CN108292302A (zh) 重复内容自动呈现
CN109219824B (zh) 利用用户访问权限来自动共享文档
EP3084582B1 (en) Touch/gesture-enabled interaction with electronic spreadsheets
EP3411804B1 (en) Automatic template generation based on previous documents
US10114531B2 (en) Application of multiple content items and functionality to an electronic content item
US20190196670A1 (en) Navigating content hierarchies and persisting content item collections
CA2913548C (en) Automated system for organizing presentation slides
US10409779B2 (en) Document sharing via logical tagging
EP3084634B1 (en) Interaction with spreadsheet application function tokens
CN108292324A (zh) 内容创作内联命令
US10915501B2 (en) Inline content file item attachment
TW201539218A (zh) 與外部內容項目之間的編碼的關聯性
US20180173377A1 (en) Condensed communication chain control surfacing

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