CN106095738B - 推荐表单片段 - Google Patents
推荐表单片段 Download PDFInfo
- Publication number
- CN106095738B CN106095738B CN201610105844.1A CN201610105844A CN106095738B CN 106095738 B CN106095738 B CN 106095738B CN 201610105844 A CN201610105844 A CN 201610105844A CN 106095738 B CN106095738 B CN 106095738B
- Authority
- CN
- China
- Prior art keywords
- fragments
- fragment
- matching
- search
- repository
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
- G06F40/18—Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/131—Fragmentation of text files, e.g. creating reusable text-blocks; Linking to fragments, e.g. using XInclude; Namespaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/174—Form filling; Merging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/907—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Human Computer Interaction (AREA)
Abstract
本发明提供了向表单设计者推荐得分最高的表单片段。多个表单片段可以被存储在表单储存库中,每个表单片段包括用户定义的表单片段属性,并且可以收集在一段时间内针对表单片段的分析数据以计算针对每个表单片段的性能得分。当作者搜索表单片段时,可以使用自然语言处理(NLP)基于由作者输入的搜索查询或标准从表单储存库中获得至少一个匹配表单片段。可以基于性能得分对匹配表单片段进行排序,其中,首先列出性能更高的表单片段。所排序的表单片段可以在与作者相关联的设备上显示,以使当编写表单时,表单片段可以由作者使用。
Description
背景技术
电子表单(在本文中通常被称为“表单(form)”)允许用户迅速以有组织的方式输入信息。典型地,表单作者将设计该表单以通过提供表单字段(field)捕捉信息,以接收必要信息。用户将信息录入到表单字段中,从而允许捕捉所期望的信息。表单经常捕捉与其它表单类似的信息(例如,名称、地址等)。因此,表单作者可能希望表单包括与预先存在的表单类似的字段。然而,为了创建所期望的表单,作者可能需要从头开始创建字段或者使用预先存在的表单。然而,从头开始创建字段可能乏味并且使用预先存在的表单可能无法捕捉所有所期望的信息或者对新表单进行格式化。另外,尽管创建单个表单可能相对简单,但是如果作者创建许多表单,则要从头开始创建新字段或者使用预先存在的表单可能不切实际。
表单设计工具可以用来更迅速地设计表单。当前,表单设计工具允许作者手动或通过拖放功能来放置表单字段或现有表单片段(fragment)。作者还可以使用现有表单作为起点,并且对现有表单做出所期望的改变。然而,在这样的场景下,作者仍然必须从现有表单中选择有用的表单字段和片段或者手动创建新表单字段和片段。
发明内容
提供本发明内容以便以简化的形式介绍概念的选择,该概念在具体实施方式中进一步描述如下。该发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用来帮助确定所要求保护的主题的范围。
本发明的实施例涉及向表单作者或设计者推荐得分最高的表单字段或片段。在本文中所描述的一些实施例中,收集针对存储在表单储存库中的表单中的表单字段和片段的分析数据。当表单作者或设计者搜索表单字段或片段时,基于所收集的分析数据,显示得分最高的表单字段和片段。因此,表单作者或设计者可以选择得分最高的表单字段或片段的其中一个用于它们的表单中。
附图说明
参照附图,下文对本发明进行详细描述,其中:
图1图示了根据本公开的实现方式的用于推荐表单片段的用户界面;
图2图示了根据本公开的实现方式的用于推荐表单片段的另一用户界面;
图3图示了根据本公开的实现方式的用于推荐表单片段的示例性系统的框图;
图4图示了根据本公开的实现方式的用于推荐表单片段的方法的流程图;
图5图示了根据本公开的实现方式的用于推荐表单片段的另一方法的流程图;和
图6图示了适用于本公开的实现方式的示例性计算环境的框图。
具体实施方式
本文中具体描述本发明的主题以满足法定要求。然而,该描述本身并非旨在限制本专利的范围。相反,本发明人设想所要求保护的主题还可以结合其它目前的或将来的技术以其它方式体现,以包括不同的步骤或类似于在本文献中所描述的步骤的步骤的组合。而且,尽管术语“步骤”和/或“方框”可以在本文中用来表示所采用的方法的不同元素,但是除非并且仅当明确描述了各个步骤的顺序时,该术语不应被解释为意味着本文中所公开的各种步骤之中或之间的任何特定顺序。
当前,表单设计工具允许表单作者通过将表单片段手动或者通过拖放功能放置在表单中来创建新表单。“表单片段”是指可以在表单中使用的元素的逻辑集合(collection)。例如,表单片段可以是表单字段、具有字段集(set)的面板、或其它内容数据结构。“表单字段”或“字段”是指其中用户可以录入信息(例如,文本框)的用户可录入字段。“具有字段集的面板”是指包含多于一个的字段的容器(container)。例如,用于名、中间名和姓的文本框可以包含在“个人信息”面板中。因此,面板允许表单字段的逻辑集包含在单个表单片段中。表单片段可以具有表单片段属性(诸如验证规则、格式化规则、帮助内容、可访问性内容、或描述或定义表单片段的其它元数据)。例如,用于表单片段的验证规则可能仅允许将号码录入表单片段中。在一些实施例中,表单片段属性可以特定于表单片段,并且不能被其它片段共享。应当理解的是,面板中的表单字段由于它们被包含在相同的表单片段中,所以可能共享表单片段属性。表单片段属性可以是作者定义的(诸如针对用于收集特定信息项(例如,名称)的表单片段),或者可以由系统指定或隐含定义(诸如用于文本框或单选按钮集的规则)。例如,用于一类字段的表单片段属性可以具有针对该类(诸如尺寸)成员定义的隐含数据。如本文中所使用的,“用户”是指将数据录入到表单中的人,并且“作者”或“设计者”是指创建和/或修改表单本身的人。应当理解的是,“作者”和“设计者”可以互换使用。
在常规的实现方式中,当作者创建新表单并且希望使用已知的表单片段时,作者必须通过现有表单手动搜索来找到所期望的片段,然后将它们放到新表单中。作者可以可替换地开始使用现有表单作为模板,并且对表单做出所期望的改变(例如,添加、修改或移除表单片段;修改表片段属性;等等)来创建新表单。然而,在任一场景下,作者必须开始使用预先存在的表单,并且尝试确定要使用哪些表单片段。在有许多预先存在的表单的情况下,这由于例如表单可以通常共享表单片段的名称(例如,名称、社会安全号码(SSN)、邮政编码等),但是具有不同的帮助内容和格式化规则而呈现挑战。因此,想要具有特定表单片段属性的表单片段的作者必须要么在多个预先存在的表单片段之中找到具有所期望的表单片段属性(例如,规则)的表单片段,要么修改用于现有表单片段的表单片段属性。通常,由于作者必须定义当前未与表单片段相关联的或者需要被改变的用于表单片段的所有表单片段属性,所以这个任务很重要。更进一步地,无法单独从不同表单中简单挑选并且选择具有所期望的表单片段元素的表单片段。
作者还可以创建新字段或使用现有片段,其中,作者已经明确定义一个或多个字段作为片段,并且使其可以用作可重用部件用于编写。然而,只有由作者定义的那些片段变得可用于编写表单。
本发明的实施例提供以下机制:其中表单上的每个字段作为隐含片段被维护并跟踪以使当创建新表单的作者查找字段(例如,通过名称、描述等搜索)时,该作者将呈现所有相关的(即,匹配的)片段。在一些实施例中,这包括所有显式创建的片段以及隐含片段。因此,在任何表单中使用的每个表单字段成为可重用伪影,并且可以用以下进行维护:(a)用于搜索字段的元数据,(b)来自其用于评分字段的用途的跟踪数据。在一些实施例中,字段还将包括表单片段属性(诸如约束、规则、帮助等)。
就此而言,本发明的实施例有助于基于性能得分提供预先存在的表单片段以供作者使用。例如,当表单片段在表单中使用时,它们可以被自动地存储在表单片段储存库中。随着时间的推移收集用于表单片段储存库中的表单片段的每个表单片段的分析数据。例如,分析数据可以包括针对表单片段帮助被访问的次数、所接收的验证误差的次数、或花费在表单片段上的时间。作者可以在储存库中搜索表单片段。储存库可以检索与搜索匹配的表单片段,并且基于从分析数据计算出的性能得分对结果进行排序。因此,实施例提供了以下机制:由于所检索的表单片段基于它们的性能进行排序,所以作者容易使用预先存在的表单片段,而不必创建或修改表单片段。
一些实施例提供了一种用于在储存库中搜索表单片段以包括附加的上下文因素的机制。包括附加的上下文因素的搜索可以允许作者不仅基于用于表单片段的元数据而且还基于用于表单片段的上下文信息来搜索表单。例如,如果使用来自预先存在的表单的表单片段A,则由于作者当前正在使用表单片段A,所以当执行搜索时,来自同一表单的表单片段B和C可以给予更高的权重。在上述示例中,上下文信息是表单片段是否在与正在使用的其它表单片段相同的表单上(即,表单片段与其它表单片段的关系)。在一些实施例中,如果使用来自同一表单的多个表单片段,则还可以检索到片段间(inter-fragment)规则和验证,从而允许表单作者不仅保留特定于表单片段的表单片段属性,而且还保留用于表单片段组的那些表单片段属性。一些实施例还可以提供一种逻辑地连接表单片段或离开(dismiss from)表单片段的机制。例如,“邮政编码”表单片段可以降低与美国地址不相关的用于表单片段的性能得分。其它上下文搜索因素可以包括表单的创建日期、表单上次使用的时间、表单片段上次使用的时间、包含表单片段的表单的数量等。
示例性用户界面
图1和图2图示了根据本公开的实现方式的用于推荐性能最佳的表单片段的用户界面。图1描绘了根据一些实施例的表单设计工具的示例用户界面100。用户界面100包括推荐区域110,其中,作者可以从表单储存库(未示出)中搜索表单片段,并且其中,显示匹配表单片段。表单储存库可以返回得分最高的表单片段以在用户界面100中由作者查看。例如,如将进一步详细解释的,表单片段可以使用分析数据进行评分,并且性能最好的(即,得分最高的)表单片段可以依序返回。比如,如推荐区域110中所示,当搜索唯一的用户标识号(uuid)时,作者可以在搜索字段112中录入术语“uuid”。搜索储存库可以产生当与搜索“uuid”匹配时所返回的与个人账号(PAN)、退伍军人事务部(VA)文件号码、和社会安全号码对应的表单片段,并且推荐区域110可以显示作为“PAN”114、“VA文件号码”116和“社会安全号码”118的结果。进一步地,所返回的表单片段可以通过它们的性能得分进行排序,其中,“PAN”114是得分最高的表单片段,并且在顶部上显示。作者可以将任何所返回的结果(例如,“PAN”114)拖拽到表单中,以将表单片段插入到表单中。该表单片段可以保留来自其最初使用的表单的表单片段属性。因此,作者可以使用表单片段,而不必定义新表单片段属性(例如,由于表单片段包含预先存在的表单片段属性,诸如描述、帮助、格式化、标签、规则和内容)。这由于可以迅速找到表单元素并且已经包括用于表单片段的表单片段属性,所以允许作者将表单片段迅速添加到表单,从而由于作者不必定义所有相关的属性,所以节省时间。
在一些实施例中,推荐区域110可以包括片段名称、从其中找到表单片段的表单、性能得分和预览按钮。在本文中所描述的实施例的范围内,设想备选或附加的内容以呈现在推荐区域110中。通常,作者将选择具有最佳性能的表单片段。如此,可以首先列出指示该特定表单片段具有基于分析数据的最高性能的与搜索标准匹配的具有最高性能得分的表单片段。图2描绘了表单设计工具的示例用户界面200,其中,已经根据一些实施例选择了表单片段的预览按钮(诸如预览按钮219)。用户界面200包括片段预览窗口210,其中,显示与推荐区域210中的所选择的表单片段对应的表单。例如,如果作者从推荐区域210中选择用于“社会安全号码”218的片段预览按钮219,则用于“社会安全号码”218的片段预览窗口220在用户界面200中显示。在一些实施例中,片段预览窗口220显示所选择的表单片段222和在其中找到表单片段224的表单的名称。因此,作者可以看到表单片段如何在创建它的原始表单中使用并且如果被放置在当前编写的表单中,则表单片段是否用于正确的上下文中。进一步地,从片段预览窗口220,作者可以看到使用与所选择的表单片段222相关的哪些其它表单片段。如果作者确定所选择的表单片段222是他们想要的,则作者可以将表单片段222添加到它们的表单中,例如,经由拖放功能。如果表单片段不是所期望的表单片段,则作者可以从推荐区域210中选择另一表单片段或从头开始创建新表单片段。
示例性推荐系统
图3图示了根据本公开的实现方式的用于推荐表单片段的示例性系统300的框图。该系统300包括表单设计部件310、表单储存库320、搜索引擎330、分析部件340和评分部件350。应当理解的是,系统300不局限于前述部件,并且可以包括更多或更少的部件。进一步地,图3中所图示的部件可以被组合或分散在分布式系统的部件之中。例如,尽管分析部件340和评分部件350被示为单独的部件,但是还可以有执行分析和评分的单个部件。
在一些实施例中,表单设计部件310可以在与作者相关联的计算设备上操作,而其它部件在可通过网络访问的系统中操作。在一些实施例中,表单储存库320可以在服务器上操作,并且其它部件可以在与作者相关联的计算设备上操作,其中,通过网络执行表单储存库320和其它部件之间的通信。在其它实施例中,所有部件可以驻留在与作者相关联的计算设备上。这些部件单独或组合地可以经由在图6中所描述的计算设备而被采用。
表单设计部件310可以由作者用来创建表单。表单设计部件310可以包括如图1和图2所描述的用户界面。作者可以从表单设计部件310中搜索表单片段。例如,如果作者希望搜索社会安全号码,则作者可以将“社会安全号码”或“SSN”录入到表单设计部件310中。作者还可以录入“uuid”或社会安全号码的另一关键字指标。一旦表单设计部件310(例如,从搜索引擎330)接收搜索结果,表单设计部件310就可以提供一种将表单片段放置在表单中的机制。例如,表单设计部件310可以使得显示与搜索对应的表单片段,该表单片段可以通过性能进行排序。表单设计部件310还可以提供一种预览如在现有表单的其中一个中所使用的表单片段的机制。
在作者标识所期望的表单片段或表单片段集时,表单设计部件310可以有助于生成或者修改表单。例如,表单设计部件310可以为表单片段提供拖放功能。应当理解的是,拖放功能是将表单片段录入到表单中的一种方式,并且还有录入表单片段的其它方式。例如,表单设计部件310可以在用于待录入的表单片段的表单中设置锚件(anchor),并且表单片段可以默认锚件的位置。还可以预期将表单片段放置到表单中的其它方式。
搜索引擎330可以接收经由表单设计部件310录入的搜索项。在接收到搜索项或搜索项集时,搜索引擎330可以搜索表单储存库320以寻找与搜索项匹配的、对应的和相关的表单片段。搜索引擎330可以在储存库320中对表单片段的名称进行搜索或可以基于元数据搜索表单片段。表单片段可能具有与表单片段相关联的一些元数据或属性。例如,元数据可以包括表单片段的标签、名称、帮助内容等。这样的元数据可以用来搜索相关的表单片段。例如,邮政编码、邮递编码、和邮递索引号码(PIN)代码可以具有“区域代码”标签。因此,当作者搜索“区域代码”时,可以返回用于邮政编码、邮递编码、和PIN代码的表单片段。作为另一示例,在SSN表单片段作为元数据的情况下,可以包括搜索项“uuid”,以使搜索“uuid”还可能返回SSN表单片段。
在一些实施例中,搜索引擎330还可以执行自然语言处理。例如,搜索“SSN”或者“社会安全号码”均可以检索SSN表单片段。作为另一示例,搜索“名称”可以检索用于名、姓、完整姓名等的表单片段。在一些实施例中,搜索引擎330可以查找与搜索项相关的项,并且检索与相关项对应的表单片段。在一些实施例中,表单片段可以基于上下文进行标识。例如,如果在当前编写的表单中使用的多个表单片段从同一表单中上拉,则可以推断的是,还可以期望与表单相关的其它表单片段,并且因此,搜索引擎330可以从同一源表单中标识相关的表单片段(如果有的话),并且给予那些表单片段更高的性能得分(下文将进一步描述)。
表单储存库320可以存储由作者创建的表单或其部分。当作者创建新表单时,新表单和其所有的片段表单(包括表单字段)可以被存储在表单储存库320中。表单储存库320可以存储表单和对表单的表单片段的引用。因此,在通过搜索引擎330执行搜索时,可以搜索表单片段。在一些实施例中,由作者创建的所有表单都自动地存储在表单储存库320中。在其它实施例中,只有作者指定的那些表单可以被存储在表单储存库320中。进一步地,表单储存库不必存储表单并且可以是维护对在表单上出现的每个表单片段的引用的虚拟储存库。在一些实施例中,参照在其上找到表单片段的表单(或仅显式地创建的片段),表单储存库320仅可以存储表单片段。因此,当检索表单片段时,还可以检索在其上找到片段的表单。在一些实施例中,表单储存库320对于作者组或组织来说可以是全局的。在其它实施例中,表单储存库320仅可以存储用于单个作者的表单。
分析部件340可以随着时间的推移收集用于表单储存库320中的表单片段的分析数据。例如,如果表单储存库中的表单包含用于SSN的表单片段,则分析部件340可以跟踪针对表单片段帮助被访问的次数、所接收的验证误差的数目(例如,由于其响应的格式误差,所以用户必须重新键入它们的响应多长时间)、和花费在表单片段上的时间等。在一些实施例时,当用户与表单交互时,可以在运行时经由JavaScript库收集分析数据。所收集的每项分析数据可以是一事件。在一些实施例中,JavaScript事件逻辑可能包括实现分批向分析部件340发送事件(可配置的批次尺寸/延迟,在此之后,发送一批次)以优化网络使用的队列的指令。可以定期执行或连续执行该收集和/或分析。例如,当用户使用表单时,可以收集关于表单片段的事件发生时的表单片段的分析数据。例如,如果用户在特定表单片段上花费大量时间,则这可能是表单片段具有误差或难以使用的指示。可以收集用于表单的所有用户的信息,以使表单片段的性能可以与类似的表单片段的性能比较。尽管描述了针对表单片段帮助被访问的次数、所接收的验证误差的数量、和花费在表单片段上的时间,但是可以收集用于表单片段的其它分析数据。例如,可以收集所键入的不正确的字符的数量。更进一步地,可以仅收集用于一些用户的分析数据。例如,分析数据可以基于属于特定人口统计(例如,年龄)的用户进行分组,并且在该上下文中使用。分析数据可以被存储在表单储存库320上或与表单储存库320上的表单片段分开存储。例如,分析部件340可以收集并存储用于表单片段的分析数据。
评分部件350引用(例如,接收、检索、访问等)用于表单片段的分析数据,该表单片段与搜索项匹配并且计算用于表单片段的得分。在一些实施例中,当从表单储存库320中检索到表单片段时,评分部件350计算针对该表单片段的得分。在其它实施例中,评分部件350以固定间隔计算用于表单片段的得分并且存储得分以供稍后检索。例如,表单储存库340还可以存储由评分部件350计算出的针对每个表单片段的得分。为了提供得分最高的片段的推荐,可以标识与搜索标准最有可能匹配或相关的片段。例如,当表单作者将搜索项录入到搜索片段字段(诸如图1的搜索字段112)中时,以某种顺序返回与搜索项匹配或相关的片段,以使表单作者可以找到所期望的片段并将其应用到表单。在一些实施例中,可以计算针对每个表单片段的得分。
在一些情况下,为了生成针对表单片段的得分,计算针对各种性能度量的度量得分。该性能度量通常是指表单片段的每个表单片段的性能测量。针对每个表单片段所收集的分析数据包含这些性能度量。例如,表单片段的性能可以通过花费在字段上的时间量来测量。收集关于花费在字段上的时间的分析数据,度量可以被测量并且用来确定字段的性能。如本文中所使用的,“分析数据”和“度量”可以互换使用。在一些实施例中,表单片段i对于给定度量j的得分可以通过以下等式来表达:
s(i,j)=[(sd(j)–k(i,j))/sd(j)*100]
其中,sd(j)是针对度量j的所有标识的表单片段的值的标准偏差并且k(i)是针对表单片段i的度量j的值。例如,对于花费在表单片段(例如,名称)上的时间,假设针对所有表单片段的标准偏差为50并且针对度量的值为25。因此,s(名称,所花费的时间)=(50-25)/50×100=50。因此,在度量“所花费的时间”下针对表单片段“名称”的得分可能为50。根据所测量的度量,较高的得分可以指示较好的性能。例如,对于用于填写字段的人数的度量,较高的得分可以指示更好的性能。对于其它度量,较低的得分是优选的。例如,对于所花费的时间或者误差数量的度量,较低的得分是优选的。在上述示例中,使用用于所有所标识的表单片段的值的标准偏差。然而,在一些实施例中,仅可以使用被认为是类似的表单片段的值。例如,用于表单片段“邮政编码”的得分可能使用邮政编码、邮递编码和区域代码来计算标准偏差,但不包括名称。上述等式图示了可以用来计算用于给定度量的表单片段的得分的等式。然而,应当理解的是,其它等式可以用来计算得分并且得分不局限于上述等式。
此后,用于表单片段的总体得分可以被确定为每个度量的得分总和。例如,总体得分可以由以下等式表达:
s(i)=[∑w(j)*s(i,j)/∑w(j)]
其中w(j)是针对度量j所定义的权重并且s(i,j)是针对给定度量的表单片段的得分。当计算用于给定表单片段的得分时,作者可以给予度量不同权重。在一些实施例中,可以给予由系统提供的默认值或值的权重。作为计算总体得分的示例,各种度量的权重针对帮助被访问的次数可以是25,针对所接收的验证误差的数目可以是25,并且针对花费在表单片段上的时间可以是50。因此,如果表单片段“名称”的度量的度量得分针对帮助被访问的的次数是50,针对所接收的验证误差的数目是30,并且针对花费在表单片段上的时间是40,则总体得分s(名称)=(25*50+25*30+50*40)/(25+25+50)=60。因此,用于表单片段“名称”的得分将是60。在前述示例中,权重被添加到100。然而,这不必是这种情况。权重可以添加到任意值。更进一步地,在上述示例中,提供单个权重集。然而,应当理解的是,权重可以在表单之间变化。更进一步地,应当理解的是,权重可以通过作者变化。例如,作者可以修改权重,以使例如给予验证误差更多权重。在一些实施例中,用于总体得分的度量可以包括其中较低的得分是优选的度量以及其中较高的得分是优选的度量。因此,为了获得总体得分,其中较低的得分是优选的度量可以是负的,以使当负度量减少时,总体得分增加。应当理解的是,其中较低的得分是优选的度量可以通过其它方法进行计算,并且不局限于上述描述。例如,可以计算用于其中较低的得分是优选的度量以及其中较高的得分是优选的度量的单独得分并且可以从两个得分来计算总体得分。
在一些实施例中,当提供所推荐的表单片段时,该系统还可以使用上下文考虑,以提供表单片段的推荐。例如,如果表单作者已经在当前所编写的表单中使用来自所存储的表单的多个片段,则搜索表单片段可以考虑到来自同一表单的多个片段已经用于在当前所编写的表单中,并且将附加的权重放置在来自所保存的表单的表单片段上。例如,如果使用来自现有表单的用于城市和国家的表单片段,则搜索邮政编码可以返回来自现有表单的邮政编码作为性能最高的表单片段或性能最高的表单片段的其中一个。因此,评分部件350可以自动给予相关表单片段最高性能得分或给予相关表单片段附加的权重。更进一步地,可以将权重给予与搜索项更紧密地匹配的表单片段。例如,如果作者搜索“蜂窝号码”并且返回三个片段,以及表单片段的其中一个来自作者已经使用来自其中的五个其它表单片段的表单,则由于更可能的是,“蜂窝号码”片段可能与表单上的其它表单片段整合,所以来自使用来自其中的其它表单片段的表单的“蜂窝号码”片段的相对权重可能增加。因此,一些权重可能来自于其中正在使用字段的上下文。然而,如果需要,作者可以推翻(override)该标准(例如,如果作者喜好来自不同表单而不是使用来自其中的其它表单片段的表单的表单片段)。
用于推荐表单片段的示例性方法
图4图示了根据本公开的实现方式的用于推荐表单片段的方法的流程图。
在410,多个表单片段被存储在表单储存库中。一个或多个表单片段可以是表单的一部分。表单片段的每个表单片段可以包含用户定义的表单片段属性(诸如验证规则、格式化规则、帮助内容、可访问性内容、标签、描述、或用于表单片段的其它元数据)。例如,参照图2,“请求艰难确定”的表单可以具有表单片段“名称”、“社会安全号码”、“家庭电话号码”和“蜂窝电话号码”。表单储存库可以存储用于表单“请求艰难确定”的表单片段。针对表单,保留用于表单片段的表单片段属性。如此,如果存在用于表单片段“名称”的任何格式化规则,则格式化规则将保留在表单“请求艰难确定”中。例如,针对表单片段,可以保留名称以大写字母开始的规则。如在表单上使用的每个片段被存储在表单储存库中。如果作者修改表单上的表单片段,则表单储存库可以存储用于所修改的表单片段的表单片段属性。在一些实施例中,不同版本的表单片段(例如,如果表单片段在表单中得以修改)可以被保留在表单储存库中。更进一步地,尽管同一表单片段可以用于不同的表单,但是表单储存库可以用其上可以找到该表单片段的表单来存储表单片段的每个表单片段。
作者可以创建很多表单,其中,表单的每个表单片段被存储在表单储存库中。在一些实施例中,表单储存库可以是存储对表单片段的引用的虚拟储存库。当创建表单时,可以标识表单的一个或多个表单片段。这可以自动地执行或者可以由作者来实现,例如,作者可以指示表单中的表单片段。在一些实施例中,一个或多个表单片段可以用标识符标记。例如,表单片段可以具有标签。因此,当执行搜索时,可以通过标签来搜索表单片段。在一些实施例中,标记可以手动实现。例如,所标记的标识符可以由作者提供,例如,作者可以提供标签名称。作者还可以提供关键字、相关字段、或可以用来搜索表单片段的其它标识符。在一些实施例中,标记被自动执行。例如,基于表单片段上的元数据和其它上下文信息,所标记的标识符可以与表单片段相关联。
在420,在一段时间内收集用于存储在表单储存库中的表单的表单片段的分析数据。分析数据可以包括验证误差、帮助访问和所花费的时间。随着时间的推移收集分析数据,以使可以测量片段的性能,即,以使可以计算用于表单片段的每个表单片段的性能得分。因此,参照上述示例中的表单“请求艰难确定”,收集用于表单片段“名称”、“社会安全号码”、“家庭电话号码”和“蜂窝电话号码”的分析数据。例如,如果在两个验证误差和对帮助的一个访问的情况下,用户在字段上花费2分钟,则分析数据可以被收集并且用来计算针对该字段的性能得分。
在430,可以基于搜索查询或标准从表单储存库获得至少一个匹配表单片段。例如,参照图1,用户可以在搜索字段中键入“uuid”。用户可能不知道搜索哪种类型的用户标识或可能希望搜索与uuid相关的所有表单片段。因此,用户可以搜索任何项并且可以找到与该搜索项匹配或者相关的表单片段。
在440,基于表单片段的性能得分对至少一个匹配表单片段进行排序。例如,可以搜索表单储存库。基于所计算的性能得分对与搜索标准匹配的表单片段进行排序,其中,更高的性能得分指示性能更好的表单片段。性能得分可以基于分析数据。例如,由于用户可以花费时间试图了解如何填写字段,所以如果度量的其中一个度量是花费在字段上的时间,则较少时间量可以指示性能更好的字段。
在一些实施例中,可以搜索一个或多个表单片段的元数据用于指示表单片段。在一些实施例中,可以对表单片段的指示(例如,搜索查询或标准)执行上下文搜索。例如,对于搜索项“uuid”,可以检索表单片段“PAN”、“VA文件号码”和“社会安全号码”。尽管没有找到具有名称“uuid”的表单片段,但是基于上下文和元数据,可以返回相关片段。因此,执行上下文搜索使用表单片段关系。在一些实施例中,对搜索查询或标准执行自然语言处理。
在一些实施例中,性能得分可以使用值的标准偏差来计算。例如,如果用于表单片段的验证误差的数量是衡量性能的度量,则可以计算用于匹配表单片段的每个匹配表单片段的验证误差的数量的值的标准偏差。这向用于表单片段的总体得分提供了验证误差部件。可以向用于验证误差的数量的值的标准偏差分配权重,并且可以使用权重和用于验证误差的数量的值的标准偏差来计算用于匹配表单片段的每个匹配表单片段的总体得分。这提供了用于表单片段的性能得分。与搜索标准对应的匹配表单片段可以通过总体得分(即,性能得分)进行排序。在一些实施例中,可以执行备用计算。例如,可以基于表单的现有表单片段来确定用于匹配表单片段的上下文得分,其中,来自同一表单的表单片段更大地被加权。因此,如果已经使用来自表单储存库中的现有表单的一个或多个表单片段,则在该文献上找到的其它表单片段将被给予附加的权重。逻辑是,在表单上分组在一起的表单片段可能在其它表单上具有相同的分组。例如,如果表单包含用于“名称”、“地址”和“电话号码”的表单片段,则该表单上的用于“电子邮件地址”的表单片段可以被给予比来自另一表单的“电子邮件地址”表格片段更高的权重,即使其它表单片段具有较高的未加权的性能得分。上下文得分可以与分析得分组合以确定总体得分并且可以通过总体得分对匹配表单片段进行排序。
在450,使得至少一个匹配表单片段被显示。例如,参照图1,当搜索项“uuid”被录入到搜索字段时,用户界面显示表单片段“PAN”、“VA文件号码”和“社会安全号码”。在一些实施例中,性能得分和其中还可以显示表单片段的表单。基于性能得分对表单片段进行排序,其中,具有最高的性能得分的表单片段首先显示。在一些实施例中,针对最高性能表单片段,可以提供附加的突显部分(highlights)。例如,性能最高的表单片段可以被显示与其它表单片段不同的颜色。这可以提供性能最高的表单片段是推荐的表单片段的视觉提示。在其它实施例中,其中表单片段当前用于现有的表单的表单可以进一步突出显示,以指示表单片段可以与其它所选择的表单片段相关。
图5图示了根据本公开的实现方式的用于推荐表单片段的另一方法的流程图。
在510,多个表单被存储在表单储存库中。每个表单可以具有一个或多个表单片段。表单片段的每个表单片段可以包含表单片段属性(诸如验证规则、格式化规则、帮助内容、可访问性内容、或用于表单片段的其它元数据)。例如,参照图2,用于“请求艰难确定”的表单可以具有表单片段“名称”、“社会安全号码”、“家庭电话号码”和“蜂窝电话号码”。表单储存库可以存储表单“请求艰难确定”。针对表单,保留用于表单片段的表单片段属性。如此,如果存在用于表单片段“名称”的任何格式化规则,则格式化规则将保留在表单“请求艰难确定”中。例如,针对表单片段,可以保留名称以大写字母开始的规则。如在表单上使用的每个片段被存储在表单储存库中。如果作者修改表单上的表单片段,则表单储存库可以存储用于所修改的表单片段的表单片段属性。在一些实施例中,不同版本的表单片段(例如,如果表单片段在表单中得以修改)可以被保留在表单储存库中。更进一步地,尽管相同的表单片段可以用于不同的表单,但是表单储存库可以用该表单片段在其上的表单存储表单片段中的每个表单片段。
在520,收集用于存储在表单储存库中的表单的一个或多个表单片段的分析数据。分析数据可以包括验证误差、帮助访问和花费在表单片段上的时间。随着时间的推移收集分析数据,以使可以测量片段的性能,即,以使可以计算用于表单片段的每个表单片段的性能得分。因此,参照上述示例中的表单“请求艰难确定”,收集用于表单片段“名称”、“社会安全号码”、“家庭电话号码”和“蜂窝电话号码”的分析数据。例如,如果在两个验证误差和对帮助的一个访问的情况下,用户在字段上花费2分钟,则分析数据可以被收集并且用来计算用于该字段的性能得分。
在530,基于搜索查询或标准的上下文文本匹配从表单储存库中获得至少一个匹配表单片段。例如,可以对与表单片段的搜索查询或标准对应的储存库执行搜索,并且可以从表单储存库中检索至少一个匹配表单片段。例如,搜索“uuid”可以检索与“uuid”对应的多个表单片段(例如,SSN、PAN、VA文件号码等)。尽管具有标签“uuid”的表单片段可能不存在于表单储存库中,但是表单储存库和/或搜索引擎可以返回与“uuid”相关的字段。
在540,基于分析数据对至少一个匹配表单片段进行排序。在一些实施例中,可以搜索一个或多个表单片段的元数据以确定表单片段是否与搜索查询或标准对应。在一些实施例中,可以对表单片段的指示执行上下文搜索。在一些实施例中,可以基于表单的现有表单片段来确定用于匹配表单片段的上下文得分。例如,来自相同表单的表单片段可以给予更高的权重。
在550,可以使得所排序的至少一个匹配表单片段被显示。随着时间的推移,当创建新表单片段并且收集分析数据时,性能较差的表单片段可以替换为性能良好的表单片段(例如,性能良好的表单片段可以具有更高的性能得分,使得它们比具有较低得分的表单片段排序更高,从而使它们更可能被作者选择)。最终,随着时间的推移,由于它们的性能得分,所以性能较差的表单片段可能不被提供作为推荐的表单片段。因此,设计表单可以变得更加容易,并且对于设计表单的作者,使用表单片段可以变得更为有效。
示例性操作环境
已经对本公开的实现方式进行了描述,下文描述其中可以实现本发明的实施例的示例性操作环境,以便为本公开的各方面提供一般上下文。首先参照图6,特别地,用于实现本发明的实施例的示例性操作环境被示出并通常被指定为计算设备600。计算设备600只是合适的计算环境的一个示例,并不旨在暗示对本发明的用途或功能的范围的任何限制。也不应该将计算设备600解释为具有与所图示的部件的任何一个或组合相关的任何依赖性或要求。
本发明可以在由计算机或其它机器(诸如个人数据助理或其它手持式设备)执行的包括计算机可执行指令(诸如程序模块)在内的计算机代码或机器可使用指令的一般上下文中进行描述。通常,包括例程、程序、对象、部件、数据结构等在内的程序模块是指执行特定任务或实现特定抽象数据类型的代码。本发明可以在包括手持式设备、消费电子产品、通用计算机、更专用计算设备等在内的多种系统配置中实施。本发明还可以在分布式计算环境中实施,其中,任务由通过通信网络链接的远程处理设备执行。
参照图6,计算设备600包括直接或间接耦合以下设备的总线610:存储器612、一个或多个处理器614、一个或多个呈现部件616、输入/输出(I/O)端口618、输入/输出部件620和说明性电源622。总线610表示可以是一条或多条总线(诸如地址总线、数据总线或其组合)的东西。尽管为了清楚起见,图6的各种框用线条示出,但是在现实中,各部件的轮廓并不是那样清楚,并且比喻性地来说,线条更精确地是灰色的和模糊的。例如,我们可以将呈现部件(诸如显示设备)视为I/O部件。还有,处理器具有存储器。本发明人认识到这是本领域的性质,并且重申图6的示图仅仅例示可以与本发明的一个或多个实施例结合使用的示例性计算设备。当所有涵盖在图6的范围内时并且参照“计算设备”,没有在诸如“工作站”、“服务器”、“膝上型电脑”、“手持式设备”等之类的类别之间作出区分。
计算设备600典型地包括多种计算机可读介质。计算机可读存储介质可以是能够由计算设备600访问的任何可用介质并且包括易失性和非易失性介质、可移除和不可移除介质。作为示例而非限制,计算机可读存储介质可以包括计算机存储介质和通信介质。计算机存储介质包括在用于存储诸如计算机可读指令、数据结构、程序模块或其它数据之类的信息的任何方法或技术中实现的易失性和非易失性介质、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光学存储装置、盒式磁带、磁带、磁盘存储装置或其它磁性存储设备、或可以用来存储所期望的信息并且可以由计算设备600访问的任何其它介质。计算机存储介质不包括信号本身。通信介质典型地体现计算机可读指令、数据结构、程序模块或诸如载波或其它传送机制之类的已调制的数据信号中的其它数据,并且包括任何信息递送介质。术语“已调制的数据信号”意味着具有以对信号中的信息进行编码这样的方式设定或更改的其特点中的一个或多个的信号。作为示例而非限制,通信介质包括有线介质(诸如有线网络或直接接线连接)和无线介质(诸如声学、RF、红外和其它无线介质)。上述的任何组合还应当包括在计算机可读介质的范围内。
存储器612包括易失性和/或非易失性存储器形式的计算机存储介质。存储器可以是可移除的、不可移除的、或其组合。示例性硬件设备包括固态存储器、硬盘驱动器、光盘驱动器等。计算设备600包括从各种实体(诸如存储器612或I/O部件620)中读取数据的一个或多个处理器。(多个)呈现部件616向用户或其它设备呈现数据指示。示例性呈现部件包括显示设备、扬声器、打印部件、振动部件等。
I/O端口618允许计算设备600逻辑耦合到包括I/O部件620在内的其它设备,其中的一些可以是内置的。说明性部件包括麦克风、操纵杆、游戏垫、卫星天线、扫描仪、打印机、无线设备等。I/O部件620可以提供处理由用户生成的空中手势(air gesture)、话音、或其它生理输入的自然用户界面(NUI)。在一些情形下,输入可以被传送到合适的网络元素用于进一步处理。NUI可以实现以下各项中的任意组合:语音识别、触摸和手写笔识别、面部识别、生物特征识别、屏幕上和邻近屏幕处的手势标识、空中手势、头部和眼部跟踪、以及与计算设备600上的显示相关联的触摸标识。计算设备600可以配备有深度照相机(诸如立体照相机系统、红外照相机系统、RGB照相机系统、以及这些的组合)用于手势检测与识别。附加地,计算设备600可以配备有使得能够检测运动的加速计或陀螺仪。加速度计或陀螺仪的输出可以被提供给计算设备600的显示器来渲染浸入式增强现实或虚拟现实。
实施例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,根据实施例1-10中的任一项的介质,其中,该方法还包括:用标识符标记一个或多个表单片段;并且所述获得至少一个匹配表单片段包括:搜索所标记的标识符。
实施例12,本发明的另一实施例涉及一种用于向表单设计者推荐表单片段的方法。该方法包括:将多个表单存储在表单储存库中,多个表单的每个表单包括一个或多个表单片段;收集在一段时间内针对一个或多个表单片段的分析数据;基于搜索查询或标准的上下文文本匹配从表单储存库中获得至少一个匹配表单片段;基于分析数据对至少一个匹配表单片段进行排序;和提供所排序的至少一个匹配表单片段。
实施例13,根据实施例12的方法,其中,所述获得至少一个匹配表单片段包括:基于搜索查询或标准对储存库执行搜索;和基于上下文文本从表单储存库中检索至少一个匹配表单片段,其中,上下文文本匹配考虑在本表单中使用的其它表单片段。
实施例14,根据实施例12或13的方法,其中,所述对至少一个匹配表单片段进行排序包括:计算针对匹配表单片段的每个匹配表单片段的分析数据的一部分的值的标准偏差;为针对分析数据的部分的值的标准偏差分配权重;使用权重和针对分析数据的部分的值的标准偏差来计算针对匹配表单片段的每个匹配表单片段的总体得分;和通过总体得分对匹配表单片段进行排序。
实施例15,根据实施例12-14中的任一项的方法,其中,所述基于分析数据对至少一个匹配表单片段进行排序包括:基于表单的现有表单片段来确定针对匹配表单片段的上下文得分,其中,来自同一表单的表单片段被给予更高的权重;将上下文得分与分析得分组合以确定总体得分;和通过总体得分对匹配表单片段进行排序。
实施例16,根据实施例12-15中的任一项的方法,其中,所述一个或多个表单片段的每个表单片段包括以下各项中的至少一项:验证规则、格式化规则、帮助内容、以及可访问性内容。
实施例17,本发明的另一实施例涉及一种系统,包括:表单储存库,其被配置成存储包括一个或多个表单片段的多个表单,一个或多个表单片段中的每个表单片段包括以下各项中的至少一项:标签、验证规则、格式化规则、帮助内容、以及可访问性内容;搜索引擎,其配置成基于搜索标准从表单储存库中搜索表单片段;分析部件,其被配置成收集在一段时间内针对一个或多个表单片段的分析数据,分析部件收集以下各项中的至少一项:验证误差、帮助访问、和花费在表单片段上的时间;和评分部件,其被配置成计算由搜索引擎返回的表单片段的得分。
实施例18,根据实施例17的系统,还包括表单设计部件,其被配置成:在搜索字段中输入针对表单片段的搜索项,以及检索由搜索引擎返回的得分最高的表单片段。
实施例19,根据实施例17或18的系统,其中,搜索引擎还被配置成:接收针对表单片段的搜索项;从与搜索项匹配的储存库中检索表单片段,其中,所述匹配是关于片段名称或片段元数据的;和返回所检索的表单片段。
实施例20,根据实施例17-19中的任一项的系统,其中,评分部件还被配置成:计算针对来自搜索引擎的匹配表单片段的每个匹配表单片段的验证误差的值的标准偏差;为对于验证误差的值的标准偏差分配权重;使用权重和对于验证误差的值的标准偏差来计算针对匹配表单片段中的每个匹配表单片段的总体得分;和通过总体得分对匹配表单片段进行排序。
如上文所描述的,本公开的实现方式提供向表单设计者推荐表单片段。本发明已经关于特定实施例进行了描述,其在所有方面旨在是说明性的而非限制性的。对于本领域普通技术人员而言,在没有背离本发明的范围的情况下,本发明所涉及的备选实施例将是显而易见的。
从前述内容看出,本发明很好地适用于实现上文所陈述的所有目的和目标,以及本系统和方法的明显的和固有的其它优点。应当理解的是,某些特征和子组合具有效用并且可以在不参照其它特征和子组合的情况下采用。这些都是能够预见的并且包括在权利要求的范围内。
Claims (20)
1.一种或多种计算机存储介质,所述一种或多种计算机存储介质存储计算机可读指令,所述计算机可读指令当由具有处理器的计算设备执行时使得所述计算设备执行用于向表单设计者推荐表单片段的方法,所述方法包括:
将多个表单片段存储在表单储存库中,每个表单片段包括预先定义的表单片段属性;
收集在一段时间内的针对所述多个表单片段的分析数据;
基于搜索查询或标准从所述表单储存库中获得至少一个匹配表单片段;
计算针对与匹配表单片段中的每个匹配表单片段相关联的所述分析数据的部分的标准偏差值;
为针对所述分析数据的所述部分的所述标准偏差值分配权重;
使用所述权重和针对所述分析数据的所述部分的所述标准偏差值来计算针对所述匹配表单片段中的每个匹配表单片段的总体得分;
通过总体得分对所述匹配表单片段进行排序;以及
使得所排序的至少一个匹配表单片段被显示。
2.根据权利要求1所述的一种或多种计算机存储介质,其中,所述表单片段属性包括以下各项中的至少一项:验证规则、格式化规则、描述、元数据、以及可访问性内容;并且所述表单片段属性是用户定义的或隐含定义的表单片段属性。
3.根据权利要求1所述的一种或多种计算机存储介质,其中,所述收集分析数据包括针对每个表单片段,收集以下各项中的至少一项:针对所述表单片段帮助被访问的次数、针对所述表单片段所接收的验证误差的数目、或者花费在表单片段上的时间。
4.根据权利要求1所述的一种或多种计算机存储介质,其中,所述获得至少一个匹配表单片段包括:在所述搜索查询或标准中针对搜索项搜索所述多个表单片段的元数据。
5.根据权利要求1所述的一种或多种计算机存储介质,其中,所述获得至少一个匹配表单片段包括:对所述表单片段执行上下文搜索,其中所述上下文搜索使用表单片段关系来对以下各项中的至少一项执行所述上下文搜索:名称、描述、元数据、以及帮助。
6.根据权利要求1所述的一种或多种计算机存储介质,其中,所述获得至少一个匹配表单片段包括:对关于所述表单片段属性的至少一个表单片段属性的所述搜索查询或标准执行自然语言处理。
7.根据权利要求1所述的一种或多种计算机存储介质,其中,所述分析数据的所述部分包括与所述匹配表单片段中的每个匹配表单片段相关联的多个验证误差。
8.根据权利要求1所述的一种或多种计算机存储介质,其中,所述方法还包括:
基于所述表单储存库中的现有表单的表单片段来确定针对所述匹配表单片段的上下文得分,其中,来自同一表单的表单片段具有比来自不同表单的片段更高的权重;
将所述上下文得分与分析得分组合以确定总体得分;以及
通过总体得分对所述匹配表单片段进行排序。
9.根据权利要求1所述的一种或多种计算机存储介质,其中,所述表单储存库是存储对所述多个表单片段的引用的虚拟储存库。
10.根据权利要求1所述的一种或多种计算机存储介质,其中,所述使得所排序的至少一个匹配表单片段被显示包括:针对所述至少一个匹配表单片段中的每个表单片段,使得以下各项被显示:表单片段名称、性能得分、以及现有表单的预览,在所述现有表单上能够找到所述至少一个匹配表单片段中的每个表单片段。
11.根据权利要求1所述的一种或多种计算机存储介质,其中,所述方法还包括:用标识符标记所述多个表单片段;并且所述获得至少一个匹配表单片段包括:搜索所标记的标识符。
12.一种用于向表单设计者推荐表单片段的方法,所述方法包括:
将多个表单存储在表单储存库中,所述多个表单的每个表单包括一个或多个表单片段;
收集在一段时间内的针对所述一个或多个表单片段的分析数据;
基于搜索查询或标准的上下文文本匹配从所述表单储存库中获得至少一个匹配表单片段;
计算针对与匹配表单片段中的每个匹配表单片段相关联的所述分析数据的部分的标准偏差值;
为针对所述分析数据的所述部分的所述标准偏差值分配权重;
使用所述权重和针对所述分析数据的所述部分的所述标准偏差值来计算针对所述匹配表单片段中的每个匹配表单片段的总体得分;
通过总体得分对所述匹配表单片段进行排序;以及
提供所排序的至少一个匹配表单片段以用于呈现。
13.根据权利要求12所述的方法,其中,所述获得至少一个匹配表单片段包括:
基于所述搜索查询或标准对所述表单储存库执行搜索;以及
基于所述上下文文本匹配从所述表单储存库中检索至少一个匹配表单片段,其中,所述上下文文本匹配考虑在所述表单储存库中的现有表单中使用的其它表单片段。
14.根据权利要求12所述的方法,其中,所述分析数据的所述部分包括与所述匹配表单片段中的每个匹配表单片段相关联的多个验证误差。
15.根据权利要求12所述的方法,其中,所述基于所述分析数据对所述至少一个匹配表单片段进行排序包括:
基于所述表单储存库中的现有表单的表单片段来确定针对所述匹配表单片段的上下文得分,其中,来自同一表单的表单片段具有比来自不同表单的片段更高的权重;
将所述上下文得分与分析得分组合以确定总体得分;以及
通过所述总体得分对所述匹配表单片段进行排序。
16.根据权利要求12所述的方法,其中,所述一个或多个表单片段的每个表单片段包括以下各项中的至少一项:验证规则、格式化规则、以及可访问性内容。
17.一种推荐表单片段的系统,包括:
表单储存库,被配置成存储包括一个或多个表单片段的多个表单,所述一个或多个表单片段中的每个表单片段包括以下各项中的至少一项:标签、验证规则、格式化规则、以及可访问性内容;
搜索引擎,被配置成基于搜索标准来针对表单片段搜索所述表单储存库;
分析部件,被配置成收集在一段时间内的针对所述一个或多个表单片段的分析数据,所述分析部件收集以下各项中的至少一项:验证误差、帮助访问、以及花费在表单片段上的时间;以及
评分部件,被配置成计算由所述搜索引擎返回的针对所述表单片段的得分,其中所述评分部件还被配置为:
计算针对与来自所述搜索引擎的匹配表单片段中的每个匹配表单片段相关联的所述分析数据的部分的标准偏差值;
为针对所述分析数据的所述部分的所述标准偏差值分配权重;
使用所述权重和针对所述分析数据的所述部分的所述标准偏差值来计算针对所述匹配表单片段中的每个匹配表单片段的总体得分;
通过总体得分对所述匹配表单片段进行排序;以及
提供所排序的至少一个匹配表单片段以用于呈现。
18.根据权利要求17所述的系统,还包括:
表单设计部件,被配置成在搜索字段中输入针对表单片段的搜索项并且检索由所述搜索引擎返回的得分最高的表单片段。
19.根据权利要求17所述的系统,其中,所述搜索引擎还被配置成:
接收针对表单片段的搜索项;
从所述储存库中检索与所述搜索项匹配的表单片段,其中,所述匹配是关于片段名称或片段元数据的;以及
返回所检索的表单片段。
20.根据权利要求17所述的系统,其中,所述分析数据的所述部分包括与所述匹配表单片段中的每个匹配表单片段相关联的多个验证误差。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/697,395 | 2015-04-27 | ||
US14/697,395 US10482169B2 (en) | 2015-04-27 | 2015-04-27 | Recommending form fragments |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106095738A CN106095738A (zh) | 2016-11-09 |
CN106095738B true CN106095738B (zh) | 2021-02-05 |
Family
ID=55806921
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610105844.1A Active CN106095738B (zh) | 2015-04-27 | 2016-02-25 | 推荐表单片段 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10482169B2 (zh) |
CN (1) | CN106095738B (zh) |
AU (1) | AU2016201273B2 (zh) |
DE (1) | DE102016003850A1 (zh) |
GB (1) | GB2537965A (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10482169B2 (en) | 2015-04-27 | 2019-11-19 | Adobe Inc. | Recommending form fragments |
US10445419B2 (en) * | 2016-01-05 | 2019-10-15 | Adobe Inc. | Form filling engine to populate fields of an electronic form |
US10657200B2 (en) | 2016-01-05 | 2020-05-19 | Adobe Inc. | Proactive form guidance for interacting with electronic forms |
CN107688959B (zh) * | 2017-07-24 | 2020-12-29 | 平安科技(深圳)有限公司 | 断点名单的处理方法、存储介质和服务器 |
US10599760B2 (en) * | 2017-08-31 | 2020-03-24 | Adobe Inc. | Intelligent form creation |
US11182547B2 (en) | 2017-11-17 | 2021-11-23 | Adobe Inc. | Automated form generation system |
CN111968022B (zh) * | 2020-08-12 | 2021-10-26 | 武汉易瑞信息技术股份有限公司 | 一种基于json配置方式的业务编号生成系统及方法 |
US11947904B2 (en) * | 2021-02-05 | 2024-04-02 | Quick Click E-Forms, LLC | System and method for completing multiple electronic forms |
US12039301B2 (en) * | 2022-07-29 | 2024-07-16 | Royal Bank Of Canada | Development and implementation of containerized applications |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110131479A1 (en) * | 2009-12-02 | 2011-06-02 | International Business Machines Corporation | Automated form layout based upon usage patterns |
CN102236669A (zh) * | 2010-04-30 | 2011-11-09 | 腾讯科技(深圳)有限公司 | 推荐列表的生成方法和装置、媒体服务器、客户端及方法 |
US20130268510A1 (en) * | 2012-04-06 | 2013-10-10 | Edgore L. Milberg | Special form of presentation of search results |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6589290B1 (en) * | 1999-10-29 | 2003-07-08 | America Online, Inc. | Method and apparatus for populating a form with data |
US8676853B2 (en) * | 2003-02-27 | 2014-03-18 | Hewlett-Packard Development Company, L.P. | System and method for software reuse |
US7747559B2 (en) * | 2003-06-13 | 2010-06-29 | Equifax, Inc. | Systems and processes for automated criteria and attribute generation, searching, auditing and reporting of data |
US20050198026A1 (en) * | 2004-02-03 | 2005-09-08 | Dehlinger Peter J. | Code, system, and method for generating concepts |
US7941744B2 (en) * | 2005-04-25 | 2011-05-10 | Adp, Inc. | System and method for electronic document generation and delivery |
WO2007117334A2 (en) * | 2006-01-03 | 2007-10-18 | Kyos Systems Inc. | Document analysis system for integration of paper records into a searchable electronic database |
US20070156622A1 (en) * | 2006-01-05 | 2007-07-05 | Akkiraju Rama K | Method and system to compose software applications by combining planning with semantic reasoning |
US8037402B2 (en) * | 2006-02-13 | 2011-10-11 | Oracle International Corporation | Method and system for flexible creation and publication of forms |
US8190988B2 (en) * | 2006-09-15 | 2012-05-29 | Efficient Forms, Llc | Form bundling |
US8060818B2 (en) * | 2007-12-14 | 2011-11-15 | Sap Ag | Method and apparatus for form adaptation |
US20130212507A1 (en) * | 2010-10-11 | 2013-08-15 | Teachscape, Inc. | Methods and systems for aligning items of evidence to an evaluation framework |
US10573408B2 (en) * | 2011-08-12 | 2020-02-25 | drchrono inc. | Dynamic forms |
US9916538B2 (en) * | 2012-09-15 | 2018-03-13 | Z Advanced Computing, Inc. | Method and system for feature detection |
WO2013058846A1 (en) * | 2011-10-18 | 2013-04-25 | Dotloop, Llc | Systems, methods and apparatus for form building |
US9495462B2 (en) * | 2012-01-27 | 2016-11-15 | Microsoft Technology Licensing, Llc | Re-ranking search results |
US10482169B2 (en) | 2015-04-27 | 2019-11-19 | Adobe Inc. | Recommending form fragments |
-
2015
- 2015-04-27 US US14/697,395 patent/US10482169B2/en active Active
-
2016
- 2016-02-25 GB GB1603279.9A patent/GB2537965A/en not_active Withdrawn
- 2016-02-25 CN CN201610105844.1A patent/CN106095738B/zh active Active
- 2016-02-29 AU AU2016201273A patent/AU2016201273B2/en active Active
- 2016-03-31 DE DE102016003850.0A patent/DE102016003850A1/de active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110131479A1 (en) * | 2009-12-02 | 2011-06-02 | International Business Machines Corporation | Automated form layout based upon usage patterns |
CN102236669A (zh) * | 2010-04-30 | 2011-11-09 | 腾讯科技(深圳)有限公司 | 推荐列表的生成方法和装置、媒体服务器、客户端及方法 |
US20130268510A1 (en) * | 2012-04-06 | 2013-10-10 | Edgore L. Milberg | Special form of presentation of search results |
Non-Patent Citations (2)
Title |
---|
Dynamic Query Forms for Database Queries;Liang Tang et al.;《IEEE Transactions on Knowledge and Data Engineering》;20140930;第26卷(第9期);第2166-2178页 * |
基于高级搜索页面的动态表单搜索;李海滨 等;《计算机系统应用》;20111031;第20卷(第10期);第180-183页 * |
Also Published As
Publication number | Publication date |
---|---|
AU2016201273B2 (en) | 2020-09-17 |
GB201603279D0 (en) | 2016-04-13 |
US20160314109A1 (en) | 2016-10-27 |
CN106095738A (zh) | 2016-11-09 |
AU2016201273A1 (en) | 2016-11-10 |
DE102016003850A1 (de) | 2016-10-27 |
GB2537965A (en) | 2016-11-02 |
US10482169B2 (en) | 2019-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106095738B (zh) | 推荐表单片段 | |
KR102422977B1 (ko) | 자연어 이미지 검색 기법 | |
US7769771B2 (en) | Searching a document using relevance feedback | |
US10599643B2 (en) | Template-driven structured query generation | |
US8150859B2 (en) | Semantic table of contents for search results | |
RU2701110C2 (ru) | Изучение и использование контекстных правил извлечения контента для устранения неоднозначности запросов | |
US9767144B2 (en) | Search system with query refinement | |
US10838985B2 (en) | Item recommendation method, device, and system | |
CN103136228A (zh) | 一种图片搜索方法以及图片搜索装置 | |
CN107085583B (zh) | 一种基于内容的电子文档管理方法及装置 | |
CA2935272A1 (en) | Coherent question answering in search results | |
US20100257177A1 (en) | Document rating calculation system, document rating calculation method and program | |
EP3807784B1 (en) | Providing query recommendations | |
US20160283564A1 (en) | Predictive visual search enginge | |
JP2020135891A (ja) | 検索提案を提供する方法、装置、機器及び媒体 | |
JP6390139B2 (ja) | 文書検索装置、文書検索方法、プログラム、及び、文書検索システム | |
US9552415B2 (en) | Category classification processing device and method | |
JP5121872B2 (ja) | 画像検索装置 | |
US11645312B2 (en) | Attribute extraction apparatus and attribute extraction method | |
TWI547888B (zh) | A method of recording user information and a search method and a server | |
JP5368900B2 (ja) | 情報提示装置、情報提示方法およびプログラム | |
US20080235192A1 (en) | Information retrieval system and information retrieval method | |
Shen et al. | The evolution of research on multimedia travel guide search and recommender systems | |
KR101449994B1 (ko) | 사용자 성향에 따른 검색 서비스 제공 방법 | |
US10474714B2 (en) | Method and component for classifying resources of a database |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |